Animation curve reduction for mobile application user interface objects
AssigneeAmazon Technologies, Inc.
InventorsPeter John Cardwell, Paul J. Furio, Richard Steven Harding, Stephen Wallace Johnson, Valere Joseph Vanderschaegen
Life of this patent
Estimating the term…
Abstract
Techniques are described by which the data associated with a 3D animation may be reduced in a manner that does not result in perceptible visual artifacts when the animation is rendered on the display of a target device. Animation curve reduction is achieved by the removal of redundant animation curve samples, and is independently guided for different object attributes or animation channels by the nature of the attribute and one or more display parameters of the target device for which the animation is intended.
Claims25
A computer-implemented method, comprising:
- receiving animation data representing a three-dimensional (3D) animation including a 3D user interface object having a plurality of animation curves associated therewith representing behavior of the 3D user interface object in the 3D animation, each of the animation curves corresponding to an attribute of the 3D user interface object, each of the animation curves representing how the corresponding attribute changes over time;
- and
- for each of the animation curves:
- sampling the animation curve to generate a sequence of animation curve samples, each of the animation curve samples having a corresponding sample value;
- selecting a selected animation curve sample from the sequence of animation curve samples;
- comparing the sample value of the selected animation curve sample to an interpolation value derived from the sample value of a preceding animation curve sample and the sample value of a subsequent animation curve sample, the preceding animation curve sample preceding the selected animation curve sample in the sequence, and the subsequent animation curve sample following the selected animation curve sample in the sequence;
- and
- where the sample value of the selected animation curve sample differs from the interpolation value by less than a threshold amount, deleting the selected animation curve sample;
- wherein the threshold amount is used for at least one additional animation curve sample selected from the sequence of animation curve samples;
- wherein the threshold amount is independently specified for different subsets of the animation curves, the threshold amount for a first animation curve being based on a relationship between a unit of a first attribute of the 3D user interface object to which the first animation curve corresponds and a unit of a display parameter of a mobile handheld device, and wherein the display parameter relates to a spatial resolution of the display or a color resolution of the display.
A computer-implemented method, comprising:
- for an animation curve of a plurality of animation curves:
- selecting a selected animation curve sample from a sequence of animation curve samples of the animation curve, each of the animation curve samples having a corresponding sample value;
- comparing the sample value of the selected animation curve sample to an interpolation value derived from the sample value of a preceding animation curve sample and the sample value of a subsequent animation curve sample, the preceding animation curve sample preceding the selected animation curve sample in the sequence, and the subsequent animation curve sample following the selected animation curve sample in the sequence;
- and
- where the sample value of the selected animation curve sample differs from the interpolation value by less than a threshold amount, deleting the selected animation curve sample;
- wherein the animation curve represents a corresponding attribute of a user interface object, wherein the threshold amount is independently specified for the animation curve based on a relationship between a unit of the attribute to which the animation curve corresponds and a unit of a display parameter of a target device, and wherein the threshold amount is used for at least one additional animation curve sample selected from the sequence of animation curve samples.
A computing system, comprising:
- one or more memories having stored therein an animation curve of a plurality of animation curves, the animation curve representing a corresponding attribute of a user interface object;
- and
- one or more processors configured to:
- select a selected animation curve sample from a sequence of animation curve samples of the animation curve, each of the animation curve samples having a corresponding sample value;
- compare the sample value of the selected animation curve sample to an interpolation value derived from the sample value of a preceding animation curve sample and the sample value of a subsequent animation curve sample, the preceding animation curve sample preceding the selected animation curve sample in the sequence, and the subsequent animation curve sample following the selected animation curve sample in the sequence;
- and
- where the sample value of the selected animation curve sample differs from the interpolation value by less than a threshold amount, delete the selected animation curve sample;
- wherein the threshold amount is independently specified for the animation curve based on a relationship between a unit of the attribute to which the animation curve corresponds and a unit of a display parameter of a target device, and wherein the threshold amount is used for at least one additional animation curve sample selected from the sequence of animation curve samples.
Dependencies are inferred from the claim text.