Claims Analysis
Total Claims: 13
Claim 1
Independent Claim
382 words
Apparatus for synchronizing multiple sources of multimedia data for presentation on an output device, the apparatus comprising; a. a group of sources of data collectively representative of an event having a temporal flow pattern, wherein the data associated with at least one of the sources is streaming data and the data associated with at least one other source is non-streaming data and, wherein the at least one non-streaming data source has a controllable play speed and the control means associated therewith comprises means for controlling the play speed so as to correct a synchronization mismatch in response to a synchronization signal; b. at least one output device driver; c. data-handling means associated with each data source, each data-handling means comprising: i. means for transferring data to the output device; and ii. control means associated with each transfer means for controlling the rate at which data is transferred and for reporting, at a characteristic frequency, a current temporal data location; wherein the data-handling means associated with the at least one streaming-data source comprises: i. at least one memory buffer; ii. first transfer means for loading the data from the storage device into the buffer as a first data stream that preserves the temporal flow pattern; and iii. second transfer means for extracting the event from the buffer as a second data stream in accordance with and at a rate representative of the temporal flow pattern and transferring the data to the output device driver, the first and second transfer means interoperating to ensure a continuous queue of data in the buffer; d. a synchronizer associated with all said control means for causing data to be transferred from the sources to the at least one output device driver in a temporally aligned manner, the synchronizer comprising: i. means for designating one of the control means as a master; ii. means for receiving synchronization pulses from the master control means; iii. means for periodically comparing the current temporal data location of each non-master control means against that of the master to derive a synchronization-mismatch value; and iv. means for sending a synchronization signal to selected ones of the control means based on the synchronization-mismatch values, the signals being indicative of said values, said synchronization signal causing a selected control means to correct the synchronization mismatch.
Claim 2
Dependent Claim
382 words
Apparatus for synchronizing multiple sources of multimedia data for presentation on an output device, the apparatus comprising; a. a group of sources of data collectively representative of an event having a temporal flow pattern, wherein the data associated with at least one of the sources is streaming data and the data associated with at least one other source is non-streaming data and, wherein the at least one non-streaming data source has a controllable play speed and the control means associated therewith comprises means for controlling the play speed so as to correct a synchronization mismatch in response to a synchronization signal; b. at least one output device driver; c. data-handling means associated with each data source, each data-handling means comprising: i. means for transferring data to the output device; and ii. control means associated with each transfer means for controlling the rate at which data is transferred and for reporting, at a characteristic frequency, a current temporal data location; wherein the data-handling means associated with the at least one streaming-data source comprises: i. at least one memory buffer; ii. first transfer means for loading the data from the storage device into the buffer as a first data stream that preserves the temporal flow pattern; and iii. second transfer means for extracting the event from the buffer as a second data stream in accordance with and at a rate representative of the temporal flow pattern and transferring the data to the output device driver, the first and second transfer means interoperating to ensure a continuous queue of data in the buffer; d. a synchronizer associated with all said control means for causing data to be transferred from the sources to the at least one output device driver in a temporally aligned manner, the synchronizer comprising: i. means for designating one of the control means as a master; ii. means for receiving synchronization pulses from the master control means; iii. means for periodically comparing the current temporal data location of each non-master control means against that of the master to derive a synchronization-mismatch value; and iv. means for sending a synchronization signal to selected ones of the control means based on the synchronization-mismatch values, the signals being indicative of said values, said synchronization signal causing a selected control means to correct the synchronization mismatch.
Claim 3
Dependent Claim
49 words
The apparatus of claim 1 further comprising: a. application interface means for accepting commands from a multimedia application program; and b. means coupled to the interface and responsive to the commands for enabling the application program to designate the group of sources from among a larger set of sources.
Claim 4
Dependent Claim
31 words
The apparatus of claim 1 wherein the designating means analyzes the reporting frequencies of all of the control means and designates one of the control means as a master based thereon.
Claim 5
Dependent Claim
23 words
The apparatus of claim 3 wherein the analyzing means selects, as the master control means, the control means having the highest reporting frequency.
Claim 6
Dependent Claim
39 words
The apparatus of claim 1 further comprising an attribute database associated with all of the control means, and wherein the analyzing means selects the master control means based on the attributes and the reporting frequencies of the control means.
Claim 7
Dependent Claim
17 words
The apparatus of claim 1 wherein the current temporal data location is specified by an absolute time.
Claim 8
Dependent Claim
20 words
The apparatus of claim 1 wherein the current temporal data location is specified by the cumulative amount of transferred data.
Claim 9
Dependent Claim
21 words
The apparatus of claim 1 wherein at least one of the control means corrects synchronization mismatches by skipping or repeating data.
Claim 10
Dependent Claim
25 words
The apparatus of claim 1 wherein at least one of the control means corrects synchronization mismatches by altering the rate at which data is transferred.
Claim 11
Dependent Claim
123 words
The apparatus of claim 1 wherein the at least one memory buffer comprises: a. at least one source memory buffer associated with the first transfer means; b. at least one destination memory buffer associated with the second transfer means; and further wherein c. the first transfer means comprises means for conveying data from a source to the source buffer as a data stream that preserves the temporal flow pattern; and d. the second transfer means comprises means for conveying data extracted from the source buffer to the output device driver for presentation at a rate corresponding to the temporal flow pattern and for storing, in the destination memory buffer, data conveyed by the first transfer means at a rate exceeding the presentation rate.
Claim 12
Dependent Claim
435 words
A computer program product for use with a computer system having at least one output device and a group of data sources collectively representative of an event having a temporal flow pattern, wherein the data associated with at least one of the sources is streaming data and the data associated with at least one other source is non-streaming data, the computer program product comprising: a computer usable medium having computer readable program code means embodied in said medium for causing a computer to synchronize the group of data sources of multimedia data for presentation on the at least one output device, the computer readable program code means comprising: first program code means, associated with each data source, comprising: means for causing the computer system to transfer data to the output device; and control means associated with each computer transfer means for controlling the rate at which data is transferred by the computer and for reporting, at a characteristic frequency, a current temporal data location; and second program code means, associated with all said control means, for causing the computer system to transfer data from the data sources to the at least one output device in a temporally aligned manner, the second program code means comprising: means for designating one of the control means as a master; means for receiving synchronization pulses from the master control means; means for periodically comparing the current temporal data location of each non-master control means against that of the master to derive a synchronization-mismatch value; means for sending synchronization signals to selected ones of the control means based upon the synchronization mismatch values, the signals being indicative of said mismatch values, said synchronization signal causing the selected control means to cause the computer to correct the synchronization mismatch; and wherein the data-handling means associated with the at least one streaming-data source comprises: i. at least one memory buffer; ii. first transfer means for loading the data from the storage device into the buffer as a first data stream that preserves the temporal flow pattern; and iii. second transfer means for extracting the event from the buffer as a second data stream in accordance with and at a rate representative of the temporal flow pattern and transferring the data to the output device driver, the first and second transfer means interoperating to ensure a continuous queue of data in the buffer; and wherein the at least one non-streaming data source has a controllable play speed and the control means associated therewith comprises means for controlling the play speed so as to correct a synchronization mismatch in response to a synchronization signal.
Claim 13
Dependent Claim
435 words
A computer program product for use with a computer system having at least one output device and a group of data sources collectively representative of an event having a temporal flow pattern, wherein the data associated with at least one of the sources is streaming data and the data associated with at least one other source is non-streaming data, the computer program product comprising: a computer usable medium having computer readable program code means embodied in said medium for causing a computer to synchronize the group of data sources of multimedia data for presentation on the at least one output device, the computer readable program code means comprising: first program code means, associated with each data source, comprising: means for causing the computer system to transfer data to the output device; and control means associated with each computer transfer means for controlling the rate at which data is transferred by the computer and for reporting, at a characteristic frequency, a current temporal data location; and second program code means, associated with all said control means, for causing the computer system to transfer data from the data sources to the at least one output device in a temporally aligned manner, the second program code means comprising: means for designating one of the control means as a master; means for receiving synchronization pulses from the master control means; means for periodically comparing the current temporal data location of each non-master control means against that of the master to derive a synchronization-mismatch value; means for sending synchronization signals to selected ones of the control means based upon the synchronization mismatch values, the signals being indicative of said mismatch values, said synchronization signal causing the selected control means to cause the computer to correct the synchronization mismatch; and wherein the data-handling means associated with the at least one streaming-data source comprises: i. at least one memory buffer; ii. first transfer means for loading the data from the storage device into the buffer as a first data stream that preserves the temporal flow pattern; and iii. second transfer means for extracting the event from the buffer as a second data stream in accordance with and at a rate representative of the temporal flow pattern and transferring the data to the output device driver, the first and second transfer means interoperating to ensure a continuous queue of data in the buffer; and wherein the at least one non-streaming data source has a controllable play speed and the control means associated therewith comprises means for controlling the play speed so as to correct a synchronization mismatch in response to a synchronization signal.