Multimedia control system
First Claim
1. A computer system for presenting a first multimedia time-based media sequence synchronized with a second multimedia time-based media sequence in response to a presentation request, comprising:
- (a) a storage;
(b) a presentation mechanism;
(c) first and second control objects, each of the first and second control objects being resident in the storage and including methods for receiving an input value and methods responsive to the input value for calculating a current time value as a direct function of the input value determined from an offset value, a rate value and an input time value resident in the storage;
(d) first and second multimedia objects resident in the storage, the first multimedia object including methods responsive to the current time value of the first control object for presenting the first multimedia time-based media sequence at a first playback position on the presentation mechanism, the second multimedia object including methods responsive to the current time value of the second control object for presenting the second multimedia time-based media sequence at a second playback position on the presentation mechanism;
(e) means responsive to a connection request for providing the current time value of the first control object as an input value to the second control object so that the second playback position is a direct function of the first playback position; and
(f) a time source for providing a sequence of input values to the first control object to cause the first multimedia time-based media sequence to be presented in lockstep with the second multimedia time-based media sequence.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for controlling various multimedia objects throughout the course of a multimedia presentation on a computer with a storage and a display utilizes a control object defined in the storage and associated with each multimedia object. The control objects each contain an internal current time value which is used to control presentation of multimedia data by the associated multimedia object. The internal current time value is calculated as a function of an input time value and control objects can be connected together so that the internal current time value of one clock object serves as the input time value of another clock object so that multimedia objects can be synchronized. Each control object can also be directly manipulated via a mouse or other pointing device to directly control the associated multimedia object to position the object to a particular position in time, or adjust the playback rate.
157 Citations
28 Claims
-
1. A computer system for presenting a first multimedia time-based media sequence synchronized with a second multimedia time-based media sequence in response to a presentation request, comprising:
-
(a) a storage; (b) a presentation mechanism; (c) first and second control objects, each of the first and second control objects being resident in the storage and including methods for receiving an input value and methods responsive to the input value for calculating a current time value as a direct function of the input value determined from an offset value, a rate value and an input time value resident in the storage; (d) first and second multimedia objects resident in the storage, the first multimedia object including methods responsive to the current time value of the first control object for presenting the first multimedia time-based media sequence at a first playback position on the presentation mechanism, the second multimedia object including methods responsive to the current time value of the second control object for presenting the second multimedia time-based media sequence at a second playback position on the presentation mechanism; (e) means responsive to a connection request for providing the current time value of the first control object as an input value to the second control object so that the second playback position is a direct function of the first playback position; and (f) a time source for providing a sequence of input values to the first control object to cause the first multimedia time-based media sequence to be presented in lockstep with the second multimedia time-based media sequence. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for synchronizing a first multimedia presentation of a first multimedia time-based media sequence to a second multimedia presentation of a second multimedia time-based media sequence on a computer having a storage and a presentation mechanism, the method comprising the steps of:
-
(a) creating a first control object in the storage, the first control object having methods for receiving a first input time value, for calculating a current time value as a direct function of the first input time value; (b) creating a second control object in the storage, the second control object having methods for receiving a second input time value and for calculating a current time value as a direct function of the second input time value; (c) creating a first multimedia object resident in the storage, the first multimedia object including methods for presenting the first multimedia time-based media sequence at a first playback position on the presentation mechanism determined by the current time value of the first control object (d) creating a second multimedia object resident in the storage, the second multimedia object including methods for presenting the second multimedia time-based media sequence at a second playback position on the presentation mechanism determined by the current time value of the second control object; (e) providing the current time value of the first control object as the second input value to the second control object so that the second playback position is a direct function of the first playback position; and (f) providing a sequence of input values to the first control object to cause the first multimedia time-based media sequence to be presented in lockstep with the second multimedia time-based media sequence. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A control framework for controlling time relationships in a multimedia application comprised of a first multimedia object for presenting first multimedia data and a second multimedia object for presenting second multimedia data, the control framework comprising:
-
a storage; data defining an application-subclassable clock class stored in the storage, the clock class having an input time value attribute, a current time attribute, an offset value attribute and a rate value attribute and at least one virtual member function for calculating a value for the current time attribute from the input time value attribute, the offset value attribute and the rate value attribute; means controlled by the multimedia application for instantiating a first clock object from the clock class; means controlled by the multimedia application for instantiating a second clock object from the clock class; means controlled by the multimedia application for associating the first multimedia object to the first clock object so that the first multimedia object presents the first multimedia data in response to changes in the current time attribute of the first clock object; means controlled by the multimedia application for associating the second multimedia object to the second clock object so that the second multimedia object presents the second multimedia data in response to changes in the current time attribute of the second clock object; means controlled by the multimedia application for setting the value of the input time value attribute in the second clock object to the value of the current time attribute in the first clock object so that presentation of the second multimedia data is synchronized to presentation of the first multimedia data. - View Dependent Claims (22, 23, 24, 25, 26, 27)
-
-
28. A computer program product operable on a computer system having a storage and a presentation mechanism for presenting a first multimedia time-based media sequence synchronized with a second multimedia time-based media sequence in response to a presentation request, comprising a computer usable medium having computer readable program code thereon, the computer readable program code including:
-
(a) program code for creating first and second control objects in the storage, each of the first and second control objects including methods for receiving an input value and methods responsive to the input value for calculating a current time value as a direct function of the input time value determined from an offset value, a rate value and an input time value resident in the storage; (b) program code for creating first and second multimedia objects in the storage, the first multimedia object including methods responsive to the current time value of the first control object for presenting the first multimedia time-based media sequence at a first playback position on the presentation mechanism, the second multimedia object including methods responsive to the current time value of the second control object for presenting the second multimedia time-based media sequence at a second playback position on the presentation mechanism; (c) program code responsive to the connection request for providing the current time value of the first control object as an input value to the second control object so that the second playback position is a direct function of the first playback position; and (d) program code for creating a time source in the storage, the time source providing a sequence of input values to the first control object to cause the first multimedia time-based media sequence to be presented in lockstep with the second multimedia time-based media sequence.
-
Specification