System for merging plurality of atomic data elements into single synchronized file by assigning ouput rate to each channel in response to presentation time duration
First Claim
1. Apparatus for dynamically interleaving multiple streams of multimedia data into a single, integrated data file, said apparatus comprising:
- a plurality of sources of visual or audio data collectively representative of a presentation having a temporal flow pattern, the data from each of said plurality of sources originating as an ordered series of atomic data elements, each representative of a visual or audio presentation time segment, wherein atomic data elements from each diverse source of visual or audio data comprise different amounts of data;
at least one memory buffer associated with each data source for accumulating presentation data in a manner that preserves the temporal flow pattern;
handler means for obtaining data from each data source and storing the data in said at least one memory buffer associated with each data source and for extracting data from said at least one buffer as a separate data stream when a specified number of buffers for that data source have been filled, said specified number relating to an amount of data within each atomic data element from that data source;
synchronization means for temporally aligning the data streams, said synchronization means comprising;
multi-channel input means for accepting a data stream for each data source from said handler means;
means for determining, for each data stream, a presentation time duration associated with each atomic data element;
variable-rate, multi-channel output means for transmitting each accepted data stream at a streaming rate; and
control means for assigning an output rate to each output channel in response to a determined presentation time duration such that the streaming rates correspond to equivalent output rates of presentation time segments; and
means for merging the synchronized data into a single integrated data file.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are apparatus and methods for synchronized interleaving of multimedia data arriving from distinct sources. The invention independently buffers the incoming data streams and determines the amount of presentation time associated with each data element or byte of each data stream. The invention then draws data from the buffers at varying rates that reflect these differences, continuously presenting the withdrawn data to an interleaving module at data-streaming rates that reflect equivalent presentation-time rates. The invention also includes means for disabling synchronization when one type of data is streamed at a particularly high or low rate, resulting in buffer overload (with either the high-rate data or all data other than that transferred at the low rate).
109 Citations
16 Claims
-
1. Apparatus for dynamically interleaving multiple streams of multimedia data into a single, integrated data file, said apparatus comprising:
-
a plurality of sources of visual or audio data collectively representative of a presentation having a temporal flow pattern, the data from each of said plurality of sources originating as an ordered series of atomic data elements, each representative of a visual or audio presentation time segment, wherein atomic data elements from each diverse source of visual or audio data comprise different amounts of data; at least one memory buffer associated with each data source for accumulating presentation data in a manner that preserves the temporal flow pattern; handler means for obtaining data from each data source and storing the data in said at least one memory buffer associated with each data source and for extracting data from said at least one buffer as a separate data stream when a specified number of buffers for that data source have been filled, said specified number relating to an amount of data within each atomic data element from that data source; synchronization means for temporally aligning the data streams, said synchronization means comprising; multi-channel input means for accepting a data stream for each data source from said handler means; means for determining, for each data stream, a presentation time duration associated with each atomic data element; variable-rate, multi-channel output means for transmitting each accepted data stream at a streaming rate; and control means for assigning an output rate to each output channel in response to a determined presentation time duration such that the streaming rates correspond to equivalent output rates of presentation time segments; and means for merging the synchronized data into a single integrated data file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of dynamically interleaving multiple streams of multimedia data into a single, integrated data file, said method comprising the steps of:
-
providing a plurality of sources of visual or audio data collectively representative of a presentation having a temporal flow pattern, said data originating as an ordered series of atomic data elements, each representative of a visual or audio presentation time segment wherein atomic data elements from each diverse source of visual or audio data comprise different amounts of data; buffering said data associated with each data source in at least one buffer associated with said data source; extracting data from said at least one buffer as a separate data stream when a specified number of buffers for each source have been filled, said specified number relating to an amount of data within each atomic data element from each data source; synchronizing said extracted data according to steps comprising; determining, for each data stream, a presentation time associated with each atomic data element; coordinating said data streams such that the streaming rates corresponding equivalent output rates of presentation time segments, including specifying said specified number of buffers for each source; and merging said synchronized data into a single integrated data file. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification