Avoiding oscillation in interactive animation
First Claim
1. A method of operating a system that includes:
- a display;
memory;
the memory storing scenes data defining a set of scenes; and
a processor connected for accessing the scenes data in the memory and also connected for controlling the display to present images;
the method comprising a sequence of rendering steps, each rendering step comprising substeps of;
using the scenes data to produce respective image defining data defining a respective image;
controlling the display to present the respective image as defined by the respective image defining data;
obtaining respective rendering speed data indicating a speed with which the substep of using the scenes data is performed; and
using the respective rendering speed data to obtain respective detail control data for use in controlling image detail to avoid oscillation of detail;
the substep of using the respective rendering speed data comparing the rendering speed with a threshold speed;
the threshold speed being a speed above which display features in an image are perceptible as continuations of display features in a next preceding image;
the method further comprising two or more communicating steps, each communicating step communicating data between a respective preceding one of the rendering steps and a respective following one of the rendering steps;
each communicating step comprising a substep of storing the respective detail control data of its preceding rendering step in the memory for access during its following rendering step;
each preceding rendering step'"'"'s detail control data including;
respective detail information indicating detail with which to present an image; and
respective maintenance information that the processor can use to determine whether to maintain presentation of images with the indicated detail to avoid oscillation of detail;
the respective following step'"'"'s substep of using the scenes data comprising a substep of using the preceding rendering step'"'"'s detail information in producing the respective image defining data;
the respective following step'"'"'s substep of using the respective rendering speed data comprising a substep of using the preceding rendering step'"'"'s maintenance information in obtaining the respective detail control data;
the sequence of rendering steps together presenting a sequence of images in which display features are perceptible as continuing from a first image of the sequence to a last image of the sequence;
the sequence of images including a subsequence of two or more images during which presentation of images with the same detail is maintained so that oscillation of detail does not occur during the subsequence.
4 Assignments
0 Petitions
Accused Products
Abstract
Interactive animation is performed in cycles, between which detail control data is communicated so that oscillation of detail can be avoided by maintaining detail. A cycle obtains data indicating the speed with which it renders an image and stores detail control data that depends on the rendering speed. The detail control data indicates a level of detail at which an image is presented in a following cycle. The level of detail can be used in rendering the image by producing data defining the image from data defining a scene. The data defining the scene can include level defining data indicating a rendering at each of a set of levels. The detail control data also includes maintenance information for use in determining whether to maintain detail. In one approach, the maintenance information indicates whether a level of detail is being maintained and a hold speed; the current rendering speed is compared with the hold speed and with a threshold speed in deciding whether to maintain detail. In another approach, the maintenance information also indicates a level of detail being maintained, so that if the current cycle has the same level of detail and rendering speed, the level and speed are continued. In this approach, the level of detail and rendering speed can be values on a detail/speed scale to permit direct comparison, and decisions about increasing and decreasing detail can be based on the relation between detail and speed, with the objective of providing a level of detail at which the designer'"'"'s preferred rendering speed can be achieved.
-
Citations
18 Claims
-
1. A method of operating a system that includes:
-
a display; memory;
the memory storing scenes data defining a set of scenes; anda processor connected for accessing the scenes data in the memory and also connected for controlling the display to present images; the method comprising a sequence of rendering steps, each rendering step comprising substeps of; using the scenes data to produce respective image defining data defining a respective image; controlling the display to present the respective image as defined by the respective image defining data; obtaining respective rendering speed data indicating a speed with which the substep of using the scenes data is performed; and using the respective rendering speed data to obtain respective detail control data for use in controlling image detail to avoid oscillation of detail; the substep of using the respective rendering speed data comparing the rendering speed with a threshold speed;
the threshold speed being a speed above which display features in an image are perceptible as continuations of display features in a next preceding image;the method further comprising two or more communicating steps, each communicating step communicating data between a respective preceding one of the rendering steps and a respective following one of the rendering steps;
each communicating step comprising a substep of storing the respective detail control data of its preceding rendering step in the memory for access during its following rendering step;each preceding rendering step'"'"'s detail control data including; respective detail information indicating detail with which to present an image; and respective maintenance information that the processor can use to determine whether to maintain presentation of images with the indicated detail to avoid oscillation of detail; the respective following step'"'"'s substep of using the scenes data comprising a substep of using the preceding rendering step'"'"'s detail information in producing the respective image defining data;
the respective following step'"'"'s substep of using the respective rendering speed data comprising a substep of using the preceding rendering step'"'"'s maintenance information in obtaining the respective detail control data;the sequence of rendering steps together presenting a sequence of images in which display features are perceptible as continuing from a first image of the sequence to a last image of the sequence; the sequence of images including a subsequence of two or more images during which presentation of images with the same detail is maintained so that oscillation of detail does not occur during the subsequence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A machine comprising:
-
a display; memory;
the memory storing scenes data defining a set of scenes, instruction data indicating instructions, and detail control data for use in controlling image detail to avoid oscillation of detail;
the detail control data including detail information indicating detail with which to present an image on the display and maintenance information for use in determining whether to maintain presentation of images with the indicated detail to avoid oscillation of detail; anda processor connected for accessing the scenes data, the instruction data, and the detail control data in the memory and also connected for controlling the display to present images; the instruction data comprising; rendering instruction data indicating rendering instructions that the processor executes;
the processor, in executing the rendering instructions, performing operations;that use the scenes data to produce image defining data defining an image; that control the display to present the image as defined by the image defining data; that obtain rendering speed data indicating a speed with which the image defining data is produced; and that compare the rendering speed with a threshold speed above which display features in an image are perceptible as continuations of display features in a next preceding image; and detail control instruction data indicating detail control instructions that the processor executes;
the processor, in executing the detail control instructions, performing operations that access the detail control data;to obtain detail data indicating detail with which to present an image; to obtain maintenance data indicating whether to maintain presentation of images with the indicated detail to avoid oscillation of detail; and to use the rendering speed data to update the detail control data so that the detail information indicates detail with which to present a subsequent image and the maintenance information can be used in determining whether to maintain presentation of images with the detail indicated after the subsequent image to avoid oscillation of detail; the processor, in executing the rendering instructions and the detail control instructions, presenting a sequence of images in which display features are perceptible as continuing from a first image of the sequence to a last image of the sequence;
the sequence of images including a subsequence of two or more images during which the processor maintains presentation of images with the same detail so that oscillation of detail does not occur during the subsequence. - View Dependent Claims (15, 16)
-
-
17. A method of operating a system that includes:
-
a display; memory;
the memory storing scenes data defining a set of scenes; anda processor connected for accessing the scenes data in the memory and also connected for controlling the display to present images; the method comprising a sequence of rendering steps, each rendering step comprising substeps of; using the scenes data to produce respective image defining data defining a respective image; controlling the display to present the respective image as defined by the respective image defining data; obtaining respective rendering speed data indicating a speed with which the substep of using the scenes data is performed; and using the respective rendering speed data to obtain respective detail control data for use in controlling image detail to avoid oscillation of detail; the method further comprising two or more communicating steps, each communicating step communicating data between a respective preceding one of the rendering steps and a respective following one of the rendering steps;
each communicating step comprising a substep of storing the respective detail control data of its preceding rendering step in the memory for access during its following rendering step;each preceding rendering step'"'"'s detail control data including respective detail information indicating detail with which to present an image and respective maintenance information that the processor can use to determine whether to maintain presentation of images with the indicated detail to avoid oscillation of detail; the respective following step'"'"'s substep of using the scenes data comprising a substep of using the preceding rendering step'"'"'s detail information in producing the respective image defining data;
the respective following step'"'"'s substep of using the respective rendering speed data comprising a substep of using the preceding rendering step'"'"'s maintenance information in obtaining the respective detail control data;each preceding rendering step further comprising a substep of; obtaining action data indicating whether a previous rendering step reduced detail; the substep of using the respective rendering speed data comprising; using the action data and the rendering speed data to determine whether the previous rendering step reduced detail and whether the rendering speed is slower than a threshold speed; and when the previous rendering step reduced detail and the rendering speed is not slower than the threshold speed, producing the respective detail control data so that its detail information indicates the detail with which the preceding rendering step'"'"'s image is presented and so that its maintenance information indicates the rendering speed.
-
-
18. A method of operating a system that includes:
-
a display; memory;
the memory storing scenes data defining a set of scenes; anda processor connected for accessing the scenes data in the memory and also connected for controlling the display to present images; the method comprising a sequence of rendering steps, each rendering step comprising substeps of; using the scenes data to produce respective image defining data defining a respective image; controlling the display to present the respective image as defined by the respective image defining data; obtaining respective rendering speed data indicating a speed with which the substep of using the scenes data is performed; and using the respective rendering speed data to obtain respective detail control data for use in controlling image detail to avoid oscillation of detail; the method further comprising two or more communicating steps, each communicating step communicating data between a respective preceding one of the rendering steps and a respective following one of the rendering steps;
each communicating step comprising a substep of storing the respective detail control data of its preceding rendering step in the memory for access during its following rendering step;each preceding rendering step'"'"'s detail control data including; respective detail information indicating detail with which to present an image; and respective maintenance information that the processor can use to determine whether to maintain presentation of images with the indicated detail to avoid oscillation of detail; the respective following step'"'"'s substep of using the scenes data comprising a substep of using the preceding rendering step'"'"'s detail information in producing the respective image defining data;
the respective following step'"'"'s substep of using the respective rendering speed data comprising a substep of using the preceding rendering step'"'"'s maintenance information in obtaining the respective detail control data;each preceding rendering step further comprising substeps of; obtaining detail data indicating detail with which the preceding rendering step'"'"'s image is presented; and obtaining first hold data indicating detail with which a first previous image was presented and a first previous rendering speed at which the scenes data were used to produce data defining the first previous image; the substep of using the respective rendering speed data comprising; using the detail data, the first hold data, and the rendering speed data to determine whether the detail with which the preceding rendering step'"'"'s image is presented is the same as the detail with which the first previous image was presented and whether the first previous rendering speed is approximately the same as the rendering speed; and when the detail is the same and the speeds are approximately the same, producing the respective detail control data so that its detail information indicates the detail with which the preceding rendering step'"'"'s image is presented and so that its maintenance information indicates that the detail is maintained to avoid oscillation of detail.
-
Specification