Communication protocol for synchronizing animation systems
First Claim
1. An animation rendering system, comprising:
- a high-level animation subsystem that handles interaction functions for the system;
a low-level animation subsystem that handles display functions for the system;
at least one high-level clock that is referenced by high-level animation operations;
at least one low-level clock that is referenced by low-level animation operations;
a communications channel for sending messages between the high-level animation subsystem and the low-level animation subsystem according to a communications protocol; and
wherein the communications protocol includes information provided to the low-level animation subsystem by the high-level animation subsystem that designates an animation and specifies how the animation is to change over a specified period of time, thereby ensuring that the low-level animation system has information to process several frames of the animation.
2 Assignments
0 Petitions
Accused Products
Abstract
A communications protocol is described that governs asynchronous exchange of data between a high level animation system and a low level animation system. The high level animation system has a variable, medium-frequency frame rate and is optimized for interactivity. The low level animation system has a constant, high frequency frame rate and is optimized for high refresh frame rate. The communications protocol includes messages that can be sent by the high-level animation system to the low-level animation system to designate an animation and how the animation is to change over a specified period of time. As a result, the low-level system can display the animation at the high refresh rate even if animation data is not received from the high-level system for every frame.
-
Citations
26 Claims
-
1. An animation rendering system, comprising:
-
a high-level animation subsystem that handles interaction functions for the system;
a low-level animation subsystem that handles display functions for the system;
at least one high-level clock that is referenced by high-level animation operations;
at least one low-level clock that is referenced by low-level animation operations;
a communications channel for sending messages between the high-level animation subsystem and the low-level animation subsystem according to a communications protocol; and
wherein the communications protocol includes information provided to the low-level animation subsystem by the high-level animation subsystem that designates an animation and specifies how the animation is to change over a specified period of time, thereby ensuring that the low-level animation system has information to process several frames of the animation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method for processing an animation application, comprising:
-
receiving animation data from the animation application into a high-level animation subsystem;
transmitting animation information from the high-level animation subsystem to a low-level animation subsystem according to a communication protocol over a communications channel so that the low-level animation subsystem can display an animation associated with the animation data;
wherein the communication protocol provides for designating an animation and for instructions regarding how the animation should change over a particular time period so that the low-level animation subsystem can process several frames of the animation at a constant display frame refresh rate while the high-level animation subsystem executes at a variable refresh rate. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A system, comprising:
-
a high-level animation subsystem configured to receive animation information from an application;
a low-level animation subsystem configured to render one or more animations according to the animation information;
a low-level timing engine configured to monitor one or more low-level clocks in the low-level animation subsystem and to synchronize the low-level clocks with one or more high-level clocks;
a high-level timing engine configured to monitor one or more high-level clocks in the high-level animation subsystem according to one or more high-level animation objects and to transmit animation messages to the low-level timing engine, the animation messages conforming to a communication protocol; and
wherein the animation messages that are transmitted from the high-level timing engine to the low-level timing engine designate one or more animation objects and how the animation objects are to change over a specified period of time. - View Dependent Claims (15, 16, 17, 18, 19, 20)
-
-
21. A high-level animation subsystem in an animation rendering system, comprising:
-
one or more high-level clocks;
a high-level timing engine configured to track the one or more high-level clocks;
one or more animation objects that identify at least a portion of an animation;
means for transmitting animation data to a low-level animation subsystem according to messages included in a communication protocol; and
wherein the communication protocol messages transmitted to the low-level animation subsystem identifies at least one of the animation objects in the low-level animation subsystem and provides data regarding how the identified animation objects are to change over a specified period of time. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A low-level animation subsystem in an animation rendering system, comprising:
-
one or more low-level clocks;
one or more low-level animation objects that identify at least a portion of an animation;
a low-level timing engine configured to track the one or more low-level clocks with regard to the one or more low-level animation objects;
wherein the low-level clocks and the low-level animation objects are created and updated through communication protocol messages received at a variable rate from a high-level animation subsystem in a manner that provides the low-level animation subsystem with several frames of animation data that can be displayed at a high, constant display frame refresh rate.
-
Specification