Claims
- 1. A method of combining a plurality of streams into a digital multiplex, wherein one or more of said streams includes packets sequenced and timed for continuous real-time presentation, said method comprising:
determining that a next packet of a real-time stream is to be transmitted before other next packets of said plurality of streams based on a deadline; determining whether a buffer has capacity to accept said next packet; selecting said next packet for transmission as a portion of said digital multiplex if said buffer has capacity; and selecting one of said other next packets for transmission as a portion of said digital multiplex if said buffer has no capacity.
- 2. The method of claim 1, wherein determining that said next packet is to be transmitted comprises converting said deadline to a first priority for said real-time stream, wherein said first priority is the highest priority.
- 3. The method of claim 2, wherein said first priority for said real-time stream is updated each time another next packet is determined to be the first packet of a new access unit.
- 4. The method of claim 1, wherein said deadline is derived from a time stamp.
- 5. The method of claim 4, wherein said time stamp is associated with a next access unit.
- 6. The method of claim 1, wherein said real-time stream is partitioned into access units, each access unit being comprised of one or more packets.
- 7. The method of claim 6, further comprising determining if said next packet of said real-time stream is a first packet of a new access unit.
- 8. The method of claim 6 wherein each of said access units is a representation of a video frame.
- 9. The method of claim 6 wherein each of said access units is a representation of an audio frame.
- 10. The method of claim 2 wherein said one of said other next packets is of a particular stream.
- 11. The method of claim 10 wherein selecting said one of said other next packets comprises assigning a second priority to said particular stream, wherein said second priority is other than the highest priority.
- 12. The method of claim 11, wherein said second priority is representative of a waiting time associated with said one of said other next packets, wherein said particular stream is a non real-time stream.
- 13. The method of claim 11, wherein said second priority is representative of a preexisting quality of service (“QOS”) constraint associated with said one of said other next packets, wherein said particular stream is a non real-time stream.
- 14. The method of claim 11, wherein said second priority is representative of both a waiting time and a preexisting QOS constraint associated with said one of said other next packets, wherein said particular stream is a non real-time stream.
- 15. A method of combining a plurality of streams into a plurality of digital multiplexes, wherein each of said digital multiplexes is transmitted over a corresponding communication channel to a plurality of receiving devices, said method comprising:
identifying a first digital multiplex of said plurality of digital multiplexes having a first amount of data that is being transmitted over a first communication channel, where said first amount exceeds a first threshold for said first communication channel; identifying a second digital multiplex of said plurality of digital multiplexes having a second amount of data that is being transmitted over a second communication channel, where said second amount does not exceed a second threshold for said second communication channel; selecting a subset of said plurality of streams being transmitted over said first digital multiplex; and reassigning said subset to said second digital multiplex.
- 16. The method of claim 15 further comprising notifying at least one receiving device of said plurality of receiving devices to retune from said first communication channel to said second communication channel.
- 17. The method of claim 15 wherein said first threshold and said second threshold are set to control data loss associated with said first communication channel and said second communication channels, respectively.
- 18. The method of claim 15 wherein said reassigning step includes:
causing said subset to no longer be included in said first digital multiplex; delaying transmission of the streams in said subset; and causing said subset to be included in said second digital multiplex.
- 19. The method of claim 18 wherein said delaying step comprises delaying said subset for an interval that is at least as long as an interval during which said at least one receiving device retunes from said first communication channel to said second communication channel.
- 20. The method of claim 19 further comprising:
prioritizing each of said plurality of streams; for each digital multiplex, choosing a stream that has the highest priority relative to other streams of said digital multiplex; and transmitting a next packet of each chosen stream corresponding to each of said digital multiplexes.
- 21. The method of claim 15 further comprising determining a deadline for a next packet for each of said subset of streams that are to be reassigned from said first digital multiplex to said second digital multiplex.
- 22. The method of claim 21, wherein a relatively higher priority is assigned to said subset of streams until a time remaining before said deadline is at least as long as an interval needed for retuning said at least one receiving device from said first communication channel to said second communication channel.
- 23. The method of claim 15 wherein said first and said second communication channels are radio frequency channels, each having different center frequencies.
- 24. A method of transmitting a plurality of streams of data, the method comprising:
determining a first subset of data associated with a first stream includes real-time data; classifying said first subset of data to distinguish said first subset of data from a second subset of data associated with a second stream based on determining that said first subset includes real-time data; and selecting said first subset for transmission through a first channel rather than through a second channel.
- 25. The method of claim 24, further comprising transmitting said first subset through said first channel by switching the transmission from said second channel to said first channel.
- 26. The method of claim 24, wherein said first channel and said second channel are radio-frequency (“RF”) channels.
- 27. The method of claim 24, wherein classifying said first subset comprises:
prioritizing said first subset; and tagging said first subset with a first priority.
- 28. The method of claim 27, wherein prioritizing said first subset comprises:
determining whether said first subset includes a time indicator; and forming said first priority as a function of said time indicator if said time indicator is included in said first subset.
- 29. The method of claim 28, wherein prioritizing said first subset further comprises:
determining whether another subset of said first stream subset includes a time indicator; and forming said first priority as a function of a priority associated with said another subset if said time indicator is not included in said first subset.
- 30. The method of claim 29, wherein said time indicator is a time stamp.
- 31. The method of claim 27, further comprising:
determining whether said second subset of data includes real-time data; and classifying said second subset based on determining that said second subset does not include real-time data.
- 32. The method of claim 31, wherein classifying said second subset comprises:
prioritizing said second subset; and tagging said second subset with a second priority.
- 33. The method of claim 32, wherein prioritizing said second subset comprises:
determining that said second subset is associated with a parameter indicative of said second subset; normalizing said parameter; and forming said second priority as a function of the normalized parameter.
- 34. The method of claim 33, wherein said parameter is a quality of service (“QOS”) constraint.
- 35. The method of claim 27, wherein selecting said first subset for transmission comprises:
determining that said first subset is suitable for transmission; and choosing said first channel for transmission when a threshold associated with said second channel is at or about a threshold limit.
- 36. The method of claim 35, wherein determining that said first subset is suitable comprises:
prioritizing said first subset and a third subset of data associated with a third stream such that said third subset and said first subset are assigned a third and a first priority, respectively, wherein said third priority is higher than said first priority; determining a buffer is unable to receive said third subset; and determining another buffer is able to receive said first subset.
- 37. The method of claim 35, wherein choosing said first channel for transmission comprises:
determining said second channel is at or about said threshold limit; and reclassifying said first subset so as to effectuate said selection of said first channel.
- 38. The method of claim 37, wherein reclassifying said first subset includes forming a converted first priority as a function of a modified priority difference.
- 39. An apparatus for transmitting each stream of a plurality streams, the apparatus comprising:
a classifier module configured to assign a tag indicating a priority to data of each packet for each of said plurality of streams, wherein said tag is indicative as to whether each of said streams includes time-sensitive data; and a packet scheduler module configured to select each said packet for transmission if a receiving buffer can store each said packet of a particular stream.
- 40. The apparatus of claim 39, further comprising a buffer associated with each of said plurality of streams and configured to store a subset of tags.
- 41. The apparatus of claim 39, further comprising a priority queue module configured to store the relative priorities associated with one or more streams.
- 42. The apparatus of claim 39, further comprising a priority converter configured to modify said priority to select a communication channel for transmitting said each packet for said particular stream if said particular stream is available for selection.
PRIORITY CLAIM
[0001] This application claims the benefit of U.S. Provisional Application No. 60/429,727, entitled “Dynamic Channel Mapping and Optimized Scheduling of Video, Audio, and Data Packets,” having Attorney Docket No. RGBM-002/00US and filed Nov. 27, 2002.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60429727 |
Nov 2002 |
US |