Method and apparatus for time-multiplexed processing of multiple digital video programs
First Claim
1. A method for processing a plurality of digital streams, wherein each digital stream includes packets sequenced for continuous presentation, said method comprising:
- receiving packets for each of said plurality of digital streams and storing said packets in a buffer;
associating each of said packets with a respective stream of said plurality of digital streams;
assigning a priority to each packet, said priority being determined according to a delivery deadline for each of said packets;
assigning a tag to each to each packet identifying the assigned priority for the packet and an address of the packet in the buffer;
storing each tag in memory corresponding to the respective digital stream associated with each packet;
continuously monitoring the tags positioned at the memory output to identify the digital stream having the highest priority;
retrieving the packet identified by the tag at the output of the memory corresponding to the identified highest priority stream from the buffer according to said address;
determining when a new tag is present at the output of the memory after a gap in said tags for a particular one of the digital streams;
establishing the priority of the digital stream corresponding to said new tag with respect to the priority of the other digital streams; and
processing the packets from the plurality of data streams in order of priority.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention relates generally to the processing of multiple data streams with common resources. More particularly, this invention relates to a technique for time-multiplexed processing of, for example, multiple digital video programs. In one embodiment, an exemplary method provides for time-multiplexed processing of a set of digital streams includes storing each received packet in a random access memory. For each stream, the deadline for the arrival of the next packet at the receiver is determined and a priority based on the deadline is assigned. The stream with the highest assigned priority is identified as an identified stream. In some embodiments, the processing state of the identified stream is then restored. One or more packets of data corresponding to the identified stream are retrieved from random access memory to produce retrieved packets. The processing state is saved after the retrieved packets have been processed.
-
Citations
32 Claims
-
1. A method for processing a plurality of digital streams, wherein each digital stream includes packets sequenced for continuous presentation, said method comprising:
-
receiving packets for each of said plurality of digital streams and storing said packets in a buffer; associating each of said packets with a respective stream of said plurality of digital streams; assigning a priority to each packet, said priority being determined according to a delivery deadline for each of said packets; assigning a tag to each to each packet identifying the assigned priority for the packet and an address of the packet in the buffer; storing each tag in memory corresponding to the respective digital stream associated with each packet; continuously monitoring the tags positioned at the memory output to identify the digital stream having the highest priority; retrieving the packet identified by the tag at the output of the memory corresponding to the identified highest priority stream from the buffer according to said address; determining when a new tag is present at the output of the memory after a gap in said tags for a particular one of the digital streams; establishing the priority of the digital stream corresponding to said new tag with respect to the priority of the other digital streams; and processing the packets from the plurality of data streams in order of priority. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17)
-
-
18. Apparatus for processing a plurality of digital streams, wherein each digital stream includes packets sequenced for continuous presentation, said apparatus comprising:
-
means for receiving packets for each of said plurality of digital streams and storing said packets in a buffer; means for associating each of said packets with a respective stream of said plurality of digital streams; means for assigning a priority to each packet, said priority being determined according to a delivery deadline for each of said packets; means for assigning a tag to each to each packet identifying the assigned priority for the packet and an address of the packet in the buffer; means for storing each tag in memory corresponding to the respective digital stream associated with each packet; means for continuously monitoring the tags positioned at the memory output to identify the digital stream having the highest priority; means for retrieving the packet identified by the tag at the output of the memory corresponding to the identified highest priority stream from the buffer according to said address; means for determining when a new tag is present at the output of the memory after a gap in said tags for a particular one of the digital streams; means for establishing the priority of the digital stream corresponding to said new tag with respect to the priority of the other digital streams; and means for processing the packets from the plurality of digital streams in order of priority. - View Dependent Claims (19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
Specification