Method and apparatus for synchronizing graphical presentations
First Claim
1. A computer system for synchronizing multimedia graphic presentations, the system comprising:
- (a) a storage;
(b) a display;
(c) a clock object in the storage and including means for providing a current time value,(d) a graphical sequence object in the storage containing a plurality of graphic objects, each of the plurality of graphic objects having image data and a duration attribute;
(e) a presentation object in the storage and having means, cooperating with the graphic sequence object and responsive to the current time value, for selecting one of the plurality of a graphic objects and means, responsive to the selected graphic object, for presenting the image data of the selected graphic object on the display;
(f) means, responsive to the selected graphic object, for blocking the selection means for a time period equal to the duration attribute of the selected graphic object;
(g) a master clock object in the storage and having means for generating a master current time value; and
wherein the clock object includes means responsive to the master time value for determining the current time value as a function of the master time so that the master clock object and the clock object operate in synchronism;
wherein the clock object further includes;
means for storing a rate value and an offset value, andmeans, responsive to the master time signal, for computing the current time value as a predetermined function of the master time signal, the rate value, and the offset value; and
(h) clock synchronizing means, responsive to a synchronization request, for synchronizing the clock object to the master time signal to keep the current time value of the clock object unchanged, while changing the rate value of the clock object, the clock synchronizing means comprising;
means for receiving a new rate value;
means for computing a new offset value based on the master time signal and the new rate value such that the predetermined function yields a current time value that is unchanged with the new rate value and the new offset value; and
means for providing the new rate value and the new offset value to the clock object.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for providing synchronization of the timing of various multimedia events, including a visual event is disclosed. Clock objects are defined in the storage and associated with an internal or external source of current time. The clock objects are able to be displayed on the display, but can be hidden once their linkages are defined. One or more multimedia objects representative of audio, visual or other multimedia events, including an audio object, are defined and linked to a particular clock object or clock objects. Then, a processor synchronizes the multimedia objects, including a visual object, with the associated clock object or objects. Finally, the various multimedia events are performed in synchronization with their associated clocks. The multimedia objects, including the visual object, may include external multimedia sources managed by the computer system.
-
Citations
11 Claims
-
1. A computer system for synchronizing multimedia graphic presentations, the system comprising:
-
(a) a storage; (b) a display; (c) a clock object in the storage and including means for providing a current time value, (d) a graphical sequence object in the storage containing a plurality of graphic objects, each of the plurality of graphic objects having image data and a duration attribute; (e) a presentation object in the storage and having means, cooperating with the graphic sequence object and responsive to the current time value, for selecting one of the plurality of a graphic objects and means, responsive to the selected graphic object, for presenting the image data of the selected graphic object on the display; (f) means, responsive to the selected graphic object, for blocking the selection means for a time period equal to the duration attribute of the selected graphic object; (g) a master clock object in the storage and having means for generating a master current time value; and
wherein the clock object includes means responsive to the master time value for determining the current time value as a function of the master time so that the master clock object and the clock object operate in synchronism;wherein the clock object further includes; means for storing a rate value and an offset value, and means, responsive to the master time signal, for computing the current time value as a predetermined function of the master time signal, the rate value, and the offset value; and (h) clock synchronizing means, responsive to a synchronization request, for synchronizing the clock object to the master time signal to keep the current time value of the clock object unchanged, while changing the rate value of the clock object, the clock synchronizing means comprising; means for receiving a new rate value; means for computing a new offset value based on the master time signal and the new rate value such that the predetermined function yields a current time value that is unchanged with the new rate value and the new offset value; and means for providing the new rate value and the new offset value to the clock object. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A computer-implemented method for synchronizing multimedia graphic presentations on a computer having a storage and a display, the method comprising the steps of:
-
(a) creating a clock object in the storage, which clock object includes a means for providing a current time value including creating a master clock object having means for computing a master time value as a predetermined function of the master time value, a rate value and an offset value; and
creating a clock object having a mechanism for computing the current time value as a .predetermined function of the master time value;(b) creating a a graphical sequence object in the storage, containing a plurality of graphic objects, each of the plurality of graphic objects having image data and a duration attribute; (c) obtaining the current time value from the clock object; (d) providing the current time value to the graphical sequence object to select one of the plurality of graphic objects; (e) presenting the image data of the selected graphic object on the display, (f) blocking re-execution off steps (c) through (e) for a time duration equal to the duration attribute of the selected graphic object; (g) re-executing steps (c) through (f) to present the image data in graphic objects in the graphical sequence object; and (h) in response to a synchronization request, synchronizing the clock object to the master time value to keep the current time value of the clock object unchanged, while changing the rate value of the clock object. - View Dependent Claims (7, 8, 9)
-
-
10. A synchronization framework for controlling time relationships in a graphic presentations application operating on a computer system with a storage and a presentation device, the synchronization framework comprising:
-
(a) data defining a time source class stored in the storage, the time source class having a master time value attribute for storing a master time signal value and a get member function for retrieving the master time signal value; (b) data defining an application-subclassable clock class stored in the storage, the clock class having a current time attribute, an offset value attribute, a rate value attribute, a member function for calculating the current time attribute value of a clock object as a predetermined function of a master time signal value, a member function for handling a wakeup request having a wakeup time, by firing a wakeup message, when the wakeup request is late in comparison to the current time value and a member function for synchronizing the clock object to the master time signal value to keep the current time value of the clock object unchanged, while changing the rate value of the clock object, the clock synchronizing member function including an attribute for receiving a new rate value, a member function for computing a new offset value based on the master time signal and the new rate value such that the predetermined function yields a current time value that is unchanged with the new rate value and the new offset value; and
a member function for providing the new rate value and the new offset value to the clock object;(c) data identifying a graphic sequence class stored in the storage, the graphic sequence class comprising a member function for selecting a corresponding graphic object from a plurality of graphic objects on the basis of a received time value, each graphic object having image data and a duration attribute; (d) data defining a presentation object class in the storage, the presentation object class comprising a member function for obtaining the current time value from a clock object created from the clock class, a member function for providing the obtained current time value to a graphical sequence object, created from the graphic sequence class, to select a corresponding graphic object, a member function for presenting the image data of the selected graphic object on the presentation device, a member function for issuing a wakeup request having a desired wakeup time set to the obtained current time plus the duration attribute of the selected graphic object, and a member function for blocking the presentation object from further execution until a wakeup message has been fired to the presentation object.
-
-
11. Apparatus for synchronizing multimedia graphic presentations, the apparatus being operable in a computer system having a storage and a display and comprising:
-
(a) a time source clock object in the storage and including means for generating a master current time value, and wakeup handling means, responsive to a wakeup request having a wakeup time and a target, for firing a wakeup message to the target, when the wakeup request is late in comparison to the master current time value; (b) a graphic clock object in the storage and including means, responsive to the master current time value, for providing a graphic clock current time value, wakeup request issuing means, responsive to a wakeup request having a desired wakeup time, for issuing to the time source clock object a wakeup request having the desired wakeup time set as the wakeup time and the presentation object set as the target, means for synchronizing the clock object to the master time signal value to keep the current time value of the clock object uncharged, while changing the rate value of the clock object, the clock synchronizing means including means for receiving a new rate value, means for computing a new offset value based on the master time signal and the new rate value such that the predetermined function yields a current time value that is unchanged with the new rate value and the new offset value; and
means for providing the new rate value and the new offset value to the clock object;(c) a graphical sequence object in the storage and including a plurality of graphic objects, each graphic object having image data and a duration attribute, and the graphical sequence object including means, responsive to a time value, for selecting a corresponding graphic object from the plurality of graphic objects; and (d) a presentation object for presenting a graphical sequence on the display, the presentation object including clock value obtaining means for obtaining the graphic clock current time value, graphic object obtaining means, responsive to the clock value obtaining means, for providing the graphic clock current time value to the graphical sequence object to select a corresponding graphic object, presentation means, responsive to the selected graphic object, for presenting the image data of the selected graphic object on the display, means, responsive to the presentation means, for issuing to the graphic clock object a wakeup request having a desired wakeup time set to the graphic clock current time plus the duration attribute of the selected graphic object, blocking means, responsive to the means for issuing, for blocking the presentation object from further execution until a wakeup message has been fired to the presentation object.
-
Specification