Active stream format for holding multiple media streams
First Claim
1. A method comprising:
- providing a stream format for encapsulating multiple streams of data, wherein said streams of data are stored in packets;
including a field in a logical structure that adopts the stream format for specifying a packet size for holding samples of the multiple streams of data, wherein the logical structure that adopts the stream format holds a field for a maximum packet size and a field for a minimum packet size;
storing a value in the field that corresponds with a desired packet size;
storing packets of the desired size within the logical structure that adopts the stream format;
storing clock licenses that dictate advancement of a clock in multiple ones of the packets;
transmitting the logical structure over a transport medium to a 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.
112 Citations
43 Claims
-
1. A method comprising:
-
providing a stream format for encapsulating multiple streams of data, wherein said streams of data are stored in packets; including a field in a logical structure that adopts the stream format for specifying a packet size for holding samples of the multiple streams of data, wherein the logical structure that adopts the stream format holds a field for a maximum packet size and a field for a minimum packet size; storing a value in the field that corresponds with a desired packet size; storing packets of the desired size within the logical structure that adopts the stream format; storing clock licenses that dictate advancement of a clock in multiple ones of the packets; transmitting the logical structure over a transport medium to a 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, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A method comprising:
-
providing a stream format for encapsulating multiple streams of data, wherein said streams of data are stored in packets; including a field in a logical structure that adopts the stream format for holding a value that specifies a maximum bit rate at which the multiple streams of data is rendered at the destination; storing a value in the field; storing clock licenses that dictate advancement of a clock in multiple ones of the packets; transmitting the logical structure over a transport medium to a 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, 29, 30, 31)
-
-
32. In a computer system that is coupled to a destination computer via a transport mechanism, a computer-readable storage medium holding a logical structure comprising:
-
multiple streams of data; a value in a field that specifies a maximum bit rate at which the multiple streams of data are rendered at the destination computer; samples of data from multiple data streams in the packets; replicas of information in at least some of the packets; error correcting data in the at least some of the packets that identifies an error correcting method for the at least some of the packets; a flag in the packets that hold the replicas to indicate that the packets hold replicas, wherein; the packets are encapsulated into the logical structure; and at least some of the packets hold the replicas; multiple ones of the packets have stored therein clock licenses that dictate advancement of a clock; and the clock regulates timing of activities at a computer that is to receive the packets. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
Specification