Coordinating animations and media in computer display output
First Claim
1. In a computing system for processing of graphical or other audiovisual information for display to a user of the computing system, a method of coordinating various timing for different animation properties of one or more objects to be animated using a single timeline to coordinate the various timing of the different animation properties instead of defining the change of each animation over time individually, thus enabling creation of animations that are synchronized with one another in a more straightforward manner, the method comprising:
- generating at a high-level composition and animation engine a hierarchical element tree that represents a graphics scene provided by an application program or other high-level program, each node of the tree representing one or more animation components for an object to be animated in the graphics scene;
generating at the high-level composition and animation engine a hierarchical clock tree that represents the coordinated timing and synchronization for the different animation properties of the one or more objects to be animated in the graphics scene, each node of the hierarchical clock tree representing timing for certain animation properties of an object, and each level of the hierarchical clock tree remaining in synchronization with one another;
integrating at the high-level composition and animation engine the element and clock trees by linking at least some of the nodes of the element tree representing animation components for an object to be animated in the graphics scene with at least some of the nodes of the clock tree representing timing for the linked animation components of the element tree, thus providing coordination of otherwise independent timelines affecting a variety of animation components so that the timing for different properties of different animation components is controlled and synchronized by the timing provided at the different levels and nodes of the clock tree, and which is ultimately synchronized by the timing provided at the top most level in the clock tree;
using a state machine in the form of an event list generator at the high-level composition and animation engine, generating an event list from the clock tree once it is integrated with the element tree, the event list grouping events that were initially scheduled by the linked animation components and timing clocks of the two trees so that there is an event list corresponding to each independent animation or animation set;
using an interval generator at the high-level composition and animation engine, preparing for each animation or animation set of the event list a corresponding interval that is compiled into an interval list; and
receiving the interval list at a low-level composition and animation engine and inputting the interval list to a low-level computation engine which in turn generates an output that is then used by a graphics subsystem to render and display the animated scene.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a method and system in which storyboard objects coordinate the animation of multiple elements and/or media displayed on a computer graphics display. Storyboards relate properties of elements in an element tree to a timeline, such that the properties associated with a storyboard are animated/play together as a group by starting, stopping, seeking or pausing the storyboard. Triggers, such as controlled by user interaction with the displayed information, including property triggers that change values in response to a state change, and event triggers that fire events, may cause the storyboard to start, stop, pause and seek. Storyboards may be used in XAML-based programs, and may be directly associated with elements, or indirectly associated with elements via styles. Complex properties and changeables are supported. Media playback may be controlled via storyboards, and thereby coordinated with other media playback and/or animations.
-
Citations
13 Claims
-
1. In a computing system for processing of graphical or other audiovisual information for display to a user of the computing system, a method of coordinating various timing for different animation properties of one or more objects to be animated using a single timeline to coordinate the various timing of the different animation properties instead of defining the change of each animation over time individually, thus enabling creation of animations that are synchronized with one another in a more straightforward manner, the method comprising:
-
generating at a high-level composition and animation engine a hierarchical element tree that represents a graphics scene provided by an application program or other high-level program, each node of the tree representing one or more animation components for an object to be animated in the graphics scene; generating at the high-level composition and animation engine a hierarchical clock tree that represents the coordinated timing and synchronization for the different animation properties of the one or more objects to be animated in the graphics scene, each node of the hierarchical clock tree representing timing for certain animation properties of an object, and each level of the hierarchical clock tree remaining in synchronization with one another; integrating at the high-level composition and animation engine the element and clock trees by linking at least some of the nodes of the element tree representing animation components for an object to be animated in the graphics scene with at least some of the nodes of the clock tree representing timing for the linked animation components of the element tree, thus providing coordination of otherwise independent timelines affecting a variety of animation components so that the timing for different properties of different animation components is controlled and synchronized by the timing provided at the different levels and nodes of the clock tree, and which is ultimately synchronized by the timing provided at the top most level in the clock tree; using a state machine in the form of an event list generator at the high-level composition and animation engine, generating an event list from the clock tree once it is integrated with the element tree, the event list grouping events that were initially scheduled by the linked animation components and timing clocks of the two trees so that there is an event list corresponding to each independent animation or animation set; using an interval generator at the high-level composition and animation engine, preparing for each animation or animation set of the event list a corresponding interval that is compiled into an interval list; and receiving the interval list at a low-level composition and animation engine and inputting the interval list to a low-level computation engine which in turn generates an output that is then used by a graphics subsystem to render and display the animated scene. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
2. In a computing system for processing of graphical or other audiovisual information for display to a user of the computing system, a computer program product comprising a computer storage medium containing computer-executable instructions for causing the computing system to implement a method of coordinating various timing for different animation properties of one or more objects to be animated using a single timeline to coordinate the various timing of the different animation properties instead of defining the change of each animation over time individually, thus enabling creation of animations that are synchronized with one another in a more straightforward manner, and wherein the method is comprised of:
-
generating at a high-level composition and animation engine a hierarchical element tree that represents a graphics scene provided by an application program or other high-level program, each node of the tree representing one or more animation components for an object to be animated in the graphics scene; generating at the high-level composition and animation engine a hierarchical clock tree that represents the coordinated timing and synchronization for the different animation properties of the one or more objects to be animated in the graphics scene, each node of the hierarchical clock tree representing timing for certain animation properties of an object, and each level of the hierarchical clock tree remaining in synchronization with one another; integrating at the high-level composition and animation engine the element and clock trees by linking at least some of the nodes of the element tree representing animation components for an object to be animated in the graphics scene with at least some of the nodes of the clock tree representing timing for the linked animation components of the element tree, thus providing coordination of otherwise independent timelines affecting a variety of animation components so that the timing for different properties of different animation components is controlled and synchronized by the timing provided at the different levels and nodes of the clock tree, and which is ultimately synchronized by the timing provided at the top most level in the clock tree; using a state machine in the form of an event list generator at the high-level composition and animation engine, generating an event list from the clock tree once it is integrated with the element tree, the event list grouping events that were initially scheduled by the linked animation components and timing clocks of the two trees so that there is an event list corresponding to each independent animation or animation set; using an interval generator at the high-level composition and animation engine, preparing for each animation or animation set of the event list a corresponding interval that is compiled into an interval list; and receiving the interval list at a low-level composition and animation engine and inputting the interval list to a low-level computation engine which in turn generates an output that is then used by a graphics subsystem to render and display the animated scene.
-
Specification