Active stream format for holding multiple media streams
First Claim
1. A computer-readable storage medium holding instructions for:
- determining a packet size for a transport medium;
storing, on a storage device, at least one packet containing information about an aggregated data stream to form a header section in a logical structure that defines the aggregated data stream;
storing packets containing samples of data from the multiple data streams to form a data section in the logical structure;
designating a portion of at least one packet in the data section for holding error correcting data; and
storing error correcting data in the designated portion of the at least one packet in the data section, wherein the error correcting data identifies a corresponding error correcting method for each of the encapsulated data streams, and further wherein the aggregated data stream is stored prior to receiving a request for transmission of the aggregated data stream on the transport medium from a destination computer.
1 Assignment
0 Petitions
Accused Products
Abstract
An active stream format is defined and adopted for a logical structure that encapsulates multiple data streams. The data streams may be of different media. The data of the data streams is partitioned into packets that are suitable for transmission over a transport medium. The packets may include error correcting information. The packets may also include clock licenses for dictating the advancement of a clock when the data streams are rendered. The format of ASF facilitates flexibility and choice of packet size and in specifying maximum bit rate at which data may be rendered. Error concealment strategies may be employed in the packetization of data to distribute portions of samples to multiple packets. Property information may be replicated and stored in separate packets to enhance its error tolerance. The format facilitates dynamic definition of media types and the packetization of data in such dynamically defined data types within the format.
-
Citations
21 Claims
-
1. A computer-readable storage medium holding instructions for:
-
determining a packet size for a transport medium; storing, on a storage device, at least one packet containing information about an aggregated data stream to form a header section in a logical structure that defines the aggregated data stream; storing packets containing samples of data from the multiple data streams to form a data section in the logical structure; designating a portion of at least one packet in the data section for holding error correcting data; and storing error correcting data in the designated portion of the at least one packet in the data section, wherein the error correcting data identifies a corresponding error correcting method for each of the encapsulated data streams, and further wherein the aggregated data stream is stored prior to receiving a request for transmission of the aggregated data stream on the transport medium from a destination computer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
means for determining a packet size for the transport medium; means for storing data from multiple streams of data into packets; means for storing error correcting data in at least some of the packets; means for encapsulating the packets into a logical structure for an aggregated data stream; and means for storing information regarding a plurality of error correcting methods that are employed for the packets in the aggregated data stream into the logical structure, wherein the aggregated data stream is built prior to receiving a request for transmission of the aggregated data stream on the transport medium from a destination computer. - View Dependent Claims (10, 11, 12)
-
-
13. A computer-readable storage medium holding instructions for:
-
determining a packet size for a transport medium; storing, on a storage device, at least one packet containing information about an aggregated data stream to form a header section in a logical structure that defines the aggregated data stream; storing packets containing samples of data from the multiple data streams to form a data section in the logical structure; designating a portion of at least one packet in the data section for holding error correcting data; and storing error correcting data in the designated portion of the at least one packet in the data section, wherein the error correcting data identifies a corresponding error correcting method for each of the encapsulated data streams, and further wherein the instructions are executed prior to receiving a request for transmission of the aggregated data stream on the transport medium from a destination computer. - View Dependent Claims (14, 15)
-
-
16. A computer-readable storage medium holding a logical structure that encapsulates multiple streams of data, the logical structure comprising:
-
packets of data from the multiple streams of data forming a data section of the logical structure and stored on mass storage for subsequent transmission over a transport medium when requested by a destination computer; and error correcting data within at least some of the packets at designated locations, wherein the error correcting data identifies a plurality of error correcting methods. - View Dependent Claims (17, 18, 19)
-
-
20. A computer-readable storage medium holding instructions for:
-
receiving a logical structure that holds multiple streams of data, wherein the streams of data include samples that are stored in packets in the logical structure and wherein at least some of the packets include error correcting data that was stored in the packets prior to a request being transmitted by the computer system that caused the logical structure to be received, wherein the error correcting data identifies a plurality of error correcting methods; and extracting the error correcting data from at least some of the packets as needed to correct errors according to the identified error correcting methods.
-
-
21. A computer comprising:
-
a logical structure stored in storage for encapsulating multiple data streams into an aggregated data stream defined by the logical structure, data from the data streams being incorporated in packets prior to a request being received by the source computer to transmit the aggregated data stream to a destination computer; and error correcting data encapsulated in the packets, wherein the error correcting data identifies a corresponding error correcting method for each of the encapsulated data streams.
-
Specification