Active stream format for holding multiple media streams
First Claim
1. In a computer system having a source computer and a destination computer having a clock that regulates timing of activities at the destination computer, a method comprising the steps of:
- providing a logical structure for encapsulating multiple streams of data;
wherein;
said streams of data are being 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.
90 Citations
54 Claims
-
1. In a computer system having a source computer and a destination computer having a clock that regulates timing of activities at the destination computer, a method comprising the steps of:
-
providing a logical structure for encapsulating multiple streams of data;
wherein;
said streams of data are being 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)
the logical structure holds a field for a new media type; and
the method further comprises;
accessing the field that identifies the new media type, upon receipt of the logical structure by the destination computer to determine a renderer to use to render data of new media type.
-
-
5. In a computer system, a computer-readable storage medium holding a logical structure that encapsulates components comprising:
-
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 (6, 7, 8)
the streams of data stored in packets are of a new media type; and
the new media type can be used to determine a renderer to use to render data of new media type.
-
-
9. A data processing system comprising:
-
a source computer with a storage;
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 new media type;
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 (10, 11, 12)
-
-
13. In a computer system having a source computer and a destination computer having a clock that regulates timing of activities at the destination computer, a method comprising the steps of:
-
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 (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
the logical structure includes a header section and a data section; and
the error correcting data is stored in multiple packets in the data section.
-
-
21. The method of claim 20, wherein information in the header section of the logical structure indicates what error correcting methodology is used with the error correcting data stored in the multiple packets in the data section.
-
22. The method of claim 20, wherein the header section holds information regarding multiple error correcting methods.
-
23. The method of claim 13, wherein the error correcting data identifies one of a plurality of error correcting methods.
-
24. The method of claim 13, wherein the error correcting data holds parity bits.
-
25. The method as defined in claim 13, wherein the multiple streams of data in the logical structure are Active Stream Format (ASF) data streams.
-
26. The method as defined in claim 13, further comprising including 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 at the destination computer.
-
27. The method as defined in claim 13, wherein further comprising:
-
dynamically defining a new media type for a stream format of the multiple streams of data;
storing in the logical structure an identifier of the new media type that adopts the stream format; and
accessing, at the destination computer, the identifier of the new media type to identify a renderer to use to render data of new media type.
-
-
28. The method as defined in claim 13, wherein:
-
the multiple streams of data in the logical structure are Active Stream Format (ASF) data streams; and
the method further comprising;
including 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 at the destination computer;
dynamically defining a new media type for a stream format of the multiple streams of data;
storing in the logical structure an identifier of the new media type that adopts the stream format; and
accessing, at the destination computer, the identifier of the new media type to identify a renderer to use to render data of new media type.
-
-
29. In a computer system, a computer-readable storage medium holding a logical structure that encapsulates components comprising:
-
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 (30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41)
the logical structure includes a header section and a data section, and the error correcting data is stored in multiple packets in the data section.
-
-
34. The computer-readable storage medium as defined in claim 33, wherein the information in the header section of the logical structure indicates what error correcting methodology is used with the error correcting data stored in the multiple packets in the data section.
-
35. The computer-readable storage medium as defined in claim 34, wherein the header section holds information regarding multiple error correcting methods.
-
36. The computer-readable storage medium as defined in claim 29, wherein the error correcting data identifies a plurality of error correcting methods.
-
37. The computer-readable storage medium as defined in claim 29, wherein the error correcting data holds parity bits.
-
38. The computer-readable storage medium as defined in claim 29, wherein the logical structure that encapsulates components further comprises a field for a maximum packet size and a field for a minimum packet size.
-
39. The computer-readable storage medium as defined in claim 29, wherein the multiple streams of data in the logical structure are Active Stream Format (ASF) data streams.
-
40. The computer-readable storage medium as defined in claim 29, wherein:
-
the logical structure that encapsulates components further comprises a field for a new media type for the streams of data stored in the packets; and
the new media type identifies a renderer to use to render data of new media type.
-
-
41. The computer-readable storage medium as defined in claim 29, wherein:
-
the logical structure that encapsulates components further comprises;
a field for a maximum packet size and a field for a minimum packet size; and
a field for a new media type for the streams of data stored in the packets the multiple streams of data in the logical structure are Active Stream Format (ASF) data streams; and
the new media type identifies a renderer to use to render data of new media type.
-
-
42. A data processing system comprising:
-
a source computer with a storage;
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. - View Dependent Claims (43, 44, 45, 46, 47, 48, 49, 50)
the logical structure includes a header section and a data section, and the error correcting data is stored in multiple packets in the data section.
-
-
44. The data processing system as defined in claim 43, wherein information in the header section of the logical structure indicates what error correcting methodology is used with the error correcting data stored in the multiple packets in the data section.
-
45. The data processing system as defined in claim 44, wherein the header section holds information regarding multiple error correcting methods.
-
46. The data processing system as defined in claim 42, wherein the error correcting data identifies a plurality of error correcting methods.
-
47. The data processing system as defined in claim 42, wherein the error correcting data holds parity bits.
-
48. The data processing system as defined in claim 42, wherein the logical structure includes a field for a maximum packet size and a field for a minimum packet size.
-
49. The data processing system as defined in claim 42, wherein the multiple streams of data in the logical structure are Active Stream Format (ASF) data streams.
-
50. The data processing system as defined in claim 42, wherein the logical structure includes a field for holding a value that specifies a maximum bit rate at which the multiple streams of data may be rendered.
-
51. A data processing system comprising:
-
a source computer with a 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 (52, 53, 54)
-
Specification