# US 10,373,364 B2 · Termination of animation

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

- Number: US 10,373,364 B2
- Document ID: US10373364B2
- Status: Granted
- Kind: B2
- Application number: 15/976,965
- Filed: 2018-05-11
- Published: 2018-11-22
- Granted: 2019-08-06
- Earliest claimed: 2017-05-17
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Tian Liu; George Mount
- Web page: https://patentgrep.com/patent/US10373364B2

## CPC

- G06T 13/80: Two-dimensional [2D] animation, e.g. using sprites
- G06F 3/0481: based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F 9/451: Execution arrangements for user interfaces
- G06T 13/00: Animation
- G06F 3/04883: for inputting data by handwriting, e.g. gesture or text
- G06T 7/20: Analysis of motion (motion estimation for coding, decoding, compressing or decompressing digital video signals H04N19/43, H04N19/51)
- G06T 7/70: Determining position or orientation of objects or cameras (camera calibration G06T7/80)
- G06T 2200/24: involving graphical user interfaces [GUIs]
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for obtaining a minimum visible change value for a particular animation comprising multiple frames, the minimum visible change value corresponding to a condition at which change to the particular animation is not visible; determining, based on the minimum visible change value, a termination threshold distance from an animation endpoint and a termination threshold velocity for the particular animation; for each frame of the particular animation, determining whether a current distance from the animation endpoint satisfies the termination threshold distance from the animation endpoint and a current velocity satisfies the termination threshold velocity; and in response to determining that the current distance from the animation endpoint satisfies the termination threshold distance from the animation endpoint and the current velocity satisfies the termination threshold velocity, initiating termination of the animation.

## Claims

### Claim 1

A computer implemented method, comprising:
obtaining, for a particular animation comprising multiple frames, a minimum visible change value that indicates a condition at which change to the particular animation is not visible;
determining, based on the minimum visible change value, a termination threshold distance that indicates a distance from an animation endpoint at which to terminate the particular animation;
determining, based on the minimum visible change value, a termination threshold velocity that indicates a velocity at which to terminate the particular animation;
for each of the multiple frames of the particular animation:
determining whether: (i) a current distance from the animation endpoint satisfies the termination threshold distance from the animation endpoint and (ii) a current velocity satisfies the termination threshold velocity; and
in response to determining that (i) the current distance from the animation endpoint satisfies the termination threshold distance from the animation endpoint and (ii) the current velocity satisfies the termination threshold velocity, initiating termination of the animation.

### Claim 2 (depends on 1)

The computer implemented method of claim 1, comprising:
obtaining data associated with a display screen density of a user device on which the particular animation is displayed; and
modifying, based on the data associated with the display screen density of the user device, at least one of the termination threshold distance and the termination threshold velocity for the particular animation.

### Claim 3 (depends on 1)

The computer implemented method of claim 1, wherein initiating termination of the animation comprises setting animation property values to animation endpoint values for the particular animation.

### Claim 4 (depends on 3)

The computer implemented method of claim 3, wherein setting animation property values to animation endpoint values for the particular animation comprises setting a position value to the animation endpoint for the particular animation.

### Claim 5 (depends on 1)

The computer implemented method of claim 1, wherein, for each of the multiple frames of the particular animation, a redraw operation is performed, and wherein initiating termination of the animation comprises preventing an additional redraw operation from being performed for the particular animation.

### Claim 6 (depends on 1)

The computer implemented method of claim 1, wherein the minimum visible change value for the particular animation is obtained based on animation property values associated with the particular animation.

### Claim 7 (depends on 1)

The computer implemented method of claim 1, wherein the minimum visible change value is obtained from an application developer.

### Claim 8

A system comprising:
one or more computers; and
one or more storage devices storing instructions that are operable, when executed by the one or more computers, to cause the one or more computers to perform operations comprising:
obtaining, for a particular animation comprising multiple frames, a minimum visible change value that indicates a condition at which change to the particular animation is not visible;
determining, based on the minimum visible change value, a termination threshold distance that indicates a distance from an animation endpoint at which to terminate the particular animation;
determining, based on the minimum visible change value, a termination threshold velocity that indicates a velocity at which to terminate the particular animation;
for each of the multiple frames of the particular animation:
determining whether: (i) a current distance from the animation endpoint satisfies the termination threshold distance from the animation endpoint and (ii) a current velocity satisfies the termination threshold velocity; and
in response to determining that (i) the current distance from the animation endpoint satisfies the termination threshold distance from the animation endpoint and (ii) the current velocity satisfies the termination threshold velocity, initiating termination of the animation.

### Claim 9 (depends on 8)

The system of claim 8, comprising:
obtaining data associated with a display screen density of a user device on which the particular animation is displayed; and
modifying, based on the data associated with the display screen density of the user device, at least one of the termination threshold distance and the termination threshold velocity for the particular animation.

### Claim 10 (depends on 8)

The system of claim 8, wherein termination of the animation comprises setting animation property values to animation endpoint values for the particular animation.

### Claim 11 (depends on 10)

The system of claim 10, wherein setting animation property values to animation endpoint values for the particular animation comprises setting a position value to the animation endpoint for the particular animation.

### Claim 12 (depends on 8)

The system of claim 8, wherein, for each of the multiple frames of the particular animation, a redraw operation is performed, and wherein termination of the animation comprises preventing an additional redraw operation to be performed for the particular animation.

### Claim 13 (depends on 8)

The system of claim 8, wherein the minimum visible change value for the particular animation is obtained based on animation property values associated with the particular animation.

### Claim 14 (depends on 8)

The system of claim 8, wherein the minimum visible change value is obtained from an application developer.

### Claim 15

A non-transitory computer-readable storage device storing instructions executable by one or more computers which, upon such execution, cause the one or more computers to perform operations comprising:
obtaining, for a particular animation comprising multiple frames, a minimum visible change value that indicates a condition at which change to the particular animation is not visible;
determining, based on the minimum visible change value, a termination threshold distance that indicates a distance from an animation endpoint at which to terminate the particular animation;
determining, based on the minimum visible change value, a termination threshold velocity that indicates a velocity at which to terminate the particular animation;
for each of the multiple frames of the particular animation:
determining whether: (i) a current distance from the animation endpoint satisfies the termination threshold distance from the animation endpoint and (ii) a current velocity satisfies the termination threshold velocity; and
in response to determining that (i) the current distance from the animation endpoint satisfies the termination threshold distance from the animation endpoint and (ii) the current velocity satisfies the termination threshold velocity, initiating termination of the animation.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage device of claim 15, comprising:
obtaining data associated with a display screen density of a user device on which the particular animation is displayed; and
modifying, based on the data associated with the display screen density of the user device, at least one of the termination threshold distance and the termination threshold velocity for the particular animation.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage device of claim 15, wherein termination of the animation comprises setting animation property values to animation endpoint values for the particular animation.

### Claim 18 (depends on 17)

The non-transitory computer-readable storage device of claim 17, wherein setting animation property values to animation endpoint values for the particular animation comprises setting a position value to the animation endpoint for the particular animation.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage device of claim 15, wherein, for each of the multiple frames of the particular animation, a redraw operation is performed, and wherein termination of the animation comprises preventing an additional redraw operation to be performed for the particular animation.

### Claim 20 (depends on 15)

The non-transitory computer-readable storage device of claim 15, wherein the minimum visible change value for the particular animation is obtained based on animation property values associated with the particular animation.
