# US 9,519,999 B1 · Methods and systems for providing a preloader animation for image viewers

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,519,999 B1
- Document ID: US9519999B1
- Status: Granted
- Kind: B1
- Application number: 14/101,439
- Filed: 2013-12-10
- Granted: 2016-12-13
- Earliest claimed: 2013-12-10
- Assignees: Google Inc.
- Applicants: Google Inc.
- Inventors: Chaitanya Gharpure; Thor Lewis
- Web page: https://patentgrep.com/patent/US9519999B1

## CPC

- G06T 17/20: Finite element generation, e.g. wire-frame surface description, {tesselation}
- G06T 7/00: Image analysis
- G06T 13/20: Three-dimensional [3D] animation
- G06T 15/04: Texture mapping
- G06T 15/60: Shadow generation
- G06T 15/80: Shading
- G06T 17/00: Three-dimensional [3D] modelling for computer graphics
- G06T 17/205: {Re-meshing}
- G06T 2210/08: Bandwidth reduction
- G06T 2210/16: Cloth
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Methods and systems for providing a preloader animation for image viewers is provided. An example method includes receiving an image of an object, determining an edge gradient value for pixels of the image, and selecting pixels representative of the object that have a respective edge gradient value above a threshold. The example method also includes determining a model of the object including an approximate outline of the object and structures internal to the outline that are oriented based on the selected pixels being coupling points between the structures, and providing instructions to display the model in an incremental manner so as to render given structures of the model over time.

## Claims

### Claim 1

A method comprising:
downloading a three-dimensional (3D) object data model of an object;
selecting a given frame of the 3D object data model as an image of the object;
determining an edge gradient value for pixels of the image;
selecting pixels representative of the object that have a respective edge gradient value above a threshold;
determining, by a computing device, a model of the object including an approximate outline of the object and structures internal to the outline that are oriented based on the selected pixels being coupling points between the structures; and
providing instructions to display the model in an incremental manner during the downloading of the 3D object data model so as to render given structures of the model over time during the downloading of the 3D object data model, wherein a duration of display of the model is about an amount of time to download the 3D object data model and a portion of the model displayed is indicative of a progress of the download of the 3D object data model.

### Claim 2 (depends on 1)

The method of claim 1, wherein the structures internal to the outline include triangles, and wherein determining the model of the object comprises determining a Delaunay triangulation of the object based on the selected pixels being vertices of the triangles.

### Claim 3 (depends on 1)

The method of claim 1, wherein the structures internal to the outline include one or more of circles, cylinders, or polygons.

### Claim 4 (depends on 1)

The method of claim 1, wherein the instructions to display the model include one or more of a time to display the coupling points, a time to display given structures, a time to fill the given structures, a time to reveal a representation of the image of the object, and a time to fade the representation of the image of the object.

### Claim 5 (depends on 1)

The method of claim 1, wherein the instructions to display the model include a speed to render the given structures of the model.

### Claim 6 (depends on 1)

The method of claim 1, wherein the image includes the object and a processed background, and wherein the processed background has pixels of a common color, and the method further comprises:
determining pixels having the common color;
sampling pixels in the image other than the pixels having the common color; and
determining the edge gradient value for the sampled pixels of the image.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
receiving the model of the object; and
displaying the model of the object based on the instructions so as to render the given structures of the model over time when receiving the 3D object data model of the object, wherein the 3D object data model includes geometry and texture information of the object.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
sorting the pixels in an order based on vertical position of the pixels in the image; and
providing instructions to display the model in the incremental manner so as to render the given structures of the model over time based on the vertical position from a bottom to a top of the model.

### Claim 9 (depends on 1)

The method of claim 1, further comprising determining a color of the structures based on a color of the selected pixels of coupling points between the structures or based on a combination of respective colors of the selected pixels of coupling points between the structures.

### Claim 10 (depends on 1)

The method of claim 1, further comprising determining a size of given structures based on an apparent distance of a portion of the object represented by the selected pixel to a viewing location.

### Claim 11 (depends on 1)

The method of claim 1, further comprising:
providing instructions to display the model in an incremental manner so as to render the given structures of the model in focus based on an apparent distance of a portion of the object represented by the selected pixel to a viewing location.

### Claim 12 (depends on 1)

The method of claim 1, further comprising:
revealing, in the incremental manner, a portion of the image of the object corresponding to a given structure associated with one or more pixels of the portion of the image so as to display the image of the object.

### Claim 13 (depends on 1)

The method of claim 1, further comprising:
selecting a first frame of the 3D object data model as the image of the object so as to render a display resembling the object of the 3D object data model being received and provide a preview of the 3D object data model.

### Claim 14 (depends on 13)

The method of claim 13, wherein determining the model of the object comprises determining the model of the object while receiving the 3D object data model, and the method further comprises:
providing instructions to display the model of the object in the incremental manner during the receiving of the 3D object data model so as to provide a representation of the object being constructed over time.

### Claim 15

A non-transitory computer readable medium having stored therein instructions, that when executed by a computing device, cause the computing device to perform functions comprising:
downloading a three-dimensional (3D) object data model of an object;
selecting a given frame of the 3D object data model as an image of the object;
determining an edge gradient value for pixels of the image;
selecting pixels representative of the object that have a respective edge gradient value above a threshold;
determining a model of the object including an approximate outline of the object and structures internal to the outline that are oriented based on the selected pixels being coupling points between the structures; and
providing instructions to display the model in an incremental manner during the downloading of the 3D object data model so as to render given structures of the model over time during the downloading of the 3D object data model, wherein a duration of display of the model is about an amount of time to download the 3D object data model and a portion of the model displayed is indicative of a progress of the downloading of the 3D object data model.

### Claim 16 (depends on 15)

The non-transitory computer readable medium of claim 15, further comprising:
providing instructions to display the model that resembles the object of the 3D object data model being received so as to provide a preview of the 3D object data model; and
revealing, in the incremental manner, a portion of the image of the object corresponding to a given structure associated with one or more pixels of the portion of the image so as to display the image of the object.

### Claim 17

A device comprising:
one or more processors; and
data storage configured to store instructions executable by the one or more processors to cause the device to:
download a three-dimensional (3D) object data model of an object;
select a given frame of the 3D object data model as an image of the object;
determine an edge gradient value for pixels of the image;
select pixels representative of the object that have a respective edge gradient value above a threshold;
determine a model of the object including an approximate outline of the object and structures internal to the outline that are oriented based on the selected pixels being coupling points between the structures; and
provide instructions to display the model in an incremental manner during the downloading of the 3D object data model so as to render given structures of the model over time during the downloading of the 3D object data model, wherein a duration of display of the model is about an amount of time to download the 3D object data model and a portion of the model displayed is indicative of a progress of the downloading of the 3D object data model.
