Active stream format for holding multiple media streams
First Claim
1. One or more computer readable media comprising computer executable instructions that, when executed on a computer, cause the computer to perform the steps of:
- providing a logical structure for encapsulating multiple streams of data;
wherein;
said streams of data are stored in packets; and
the logical structure holds a field for a maximum packet size and a field for a minimum packet size;
storing clock licenses that dictate advancement of a clock in multiple ones of the packets;
transmitting the logical structure from the source computer to the destination computer; and
for each packet that holds a clock license, advancing the clock at the destination computer as dictated by the clock license in response to receiving the packet at the 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
49 Claims
-
1. One or more computer readable media comprising computer executable instructions that, when executed on a computer, cause the computer to perform the steps of:
-
providing a logical structure for encapsulating multiple streams of data;
wherein;
said streams of data are stored in packets; and
the logical structure holds a field for a maximum packet size and a field for a minimum packet size;
storing clock licenses that dictate advancement of a clock in multiple ones of the packets;
transmitting the logical structure from the source computer to the destination computer; and
for each packet that holds a clock license, advancing the clock at the destination computer as dictated by the clock license in response to receiving the packet at the destination computer. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system comprising a logical structure that encapsulates:
-
multiple streams of data wherein the streams of data are stored in packets;
clock licenses that each dictate advancement of a clock that regulates rendering of the data in the packets; and
a field in the logical structure for holding a value that specifies a maximum bit rate at which the multiple streams of data may be rendered. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer comprising:
-
storage; and
a logical structure stored in the storage for encapsulating multiple data streams, data from said data streams being incorporated in packets, wherein;
the data stored in the packets are of a new media type;
the logical structure stores an identifier for the new media type; and
the identifier can be used to determine a renderer to use to render data of the new media type; and
a clock license being encapsulated into at least one packet for advancing a clock at a destination when processed at the destination. - View Dependent Claims (14, 15, 16)
-
-
17. A system comprising:
means for providing a logical structure for encapsulating multiple streams of data, said streams of data being stored in packets, by;
storing samples of data from multiple data streams in the packets;
storing replicas of information in at least some of the packets;
storing error correcting data in the at least some of the packets, wherein the error correcting data identifies an error correcting method for the at least some of the packets;
setting a flag in the packets that hold the replicas;
storing in the logical structure a field for a maximum packet size and a field for a minimum packet size; and
encapsulating the packets into the logical structure, wherein at least some of the packets hold the replicas;
storing clock licenses that dictate advancement of a clock in multiple ones of the packets;
transmitting the packets of the logical structure on a packet-by-packet basis over a packet switched network from the source computer to the destination computer; and
for each packet that holds a clock license, advancing the clock at the destination computer as dictated by the clock license in response to receiving the packet at the destination computer. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
28. A computer-readable storage medium comprising a logical structure that encapsulates components that include:
-
multiple streams of data wherein the streams of data are stored in packets;
a field in the logical structure that holds a value that specifies a maximum bit rate at which the multiple streams of data may be rendered; and
clock licenses that each dictate advancement of a clock that regulates rendering of the data in the packets, wherein;
the streams of data stored in the packets are samples of data from multiple data streams in packets for transmission on a packet-by-packet basis over a packet switched network;
replicas of information are stored in at least some of the packets;
error correcting data is stored in the at least some of the packets;
the error correcting data identifies an error correcting method for the at least some of the packets; and
a flag is stored in each said packet that holds the replicas. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A computer comprising:
-
storage; and
a logical structure stored in the storage for encapsulating multiple data streams, data from said data streams being of a new media type and incorporated in packets, wherein the logical structure includes an identifier of the new media type from which a renderer can be determined to render the data of the new media type; and
a clock license being encapsulated into at least one packet for advancing a clock at a destination when processed at the destination, wherein;
the streams of data stored in the packets are samples of data from multiple data streams in the packets for transmission on a packet-by-packet basis over a packet switched network;
replicas of information are stored in at least some of the packets;
error correcting data is stored in the at least some of the packets;
the error correcting data identifies an error correcting method for the at least some of the packets; and
a flag is stored in each said packet that holds the replicas.
-
-
40. A computer comprising:
-
storage;
a logical structure stored in the storage for encapsulating multiple data streams, wherein;
the data from said data streams is incorporated in packets; and
the multiple streams of data in the logical structure are Active Stream Format (ASF) data streams; and
a clock license being encapsulated into at least one packet for advancing a clock at a destination when processed at the destination, wherein portions of a sample are stored in selected packets and a replica of property information regarding the sample is stored in each packet in which a portion of the sample is stored. - View Dependent Claims (41, 42, 43, 44, 45, 46, 47, 48, 49)
-
Specification