Claims
- 1. A processor-readable medium comprising processor-executable instructions for:
evaluating data transmission conditions; selecting, based on the evaluation of the data transmission conditions, data transfer rates; selecting buffer size values for transmission to a receiver, wherein each of the buffer size values is based on one of the selected data transfer rates; and selecting initial buffer fullness requirements, based on the selected data transfer rates and the selected buffer size values.
- 2. A processor-readable medium as recited in claim 1, additionally comprising instructions for:
transmitting data to a plurality of clients at one of the selected data rates; and configuring the data transmitted to include information, in lower transmission layers of a channel, which indicates to the plurality of clients a degree of robustness.
- 3. A processor-readable medium as recited in claim 1, additionally comprising instructions for:
generating a descriptor, comprising the selected data transfer rates, the buffer size values, and the initial buffer fullness requirements; and multiplexing the descriptor with audio and video data.
- 4. A processor-readable medium as recited in claim 1, additionally comprising instructions for generating a descriptor comprising multiple sets of (R, B, F)-tuplets.
- 5. A processor-readable medium as recited in claim 1, additionally comprising instructions for:
generating a descriptor, comprising a set of selected data transfer rates, buffer size values, and initial buffer fullness requirements; and transmitting the descriptor to a client.
- 6. A processor-readable medium as recited in claim 5, additionally comprising instructions for:
transferring the descriptor to the client as part of a request-response protocol over a bi-directional channel.
- 7. A processor-readable medium as recited in claim 5, wherein:
the descriptor is configured for MPEG compatibility; and the descriptor is multiplexed with the audio and video data at regular intervals.
- 8. A processor-readable medium as recited in claim 5, additionally comprising instructions for configuring syntax for the descriptor according to:
- 9. A processor-readable medium as recited in claim 1, wherein selecting data transfer rates comprises additional instructions for:
reducing an overall bit-rate of a transmission when increasing robustness of a portion a communications channel; and increasing the overall bit-rate of the transmission when decreasing robustness of the portion the communications channel.
- 10. A processor-readable medium as recited in claim 1, wherein evaluating data transmission conditions comprises instructions for evaluating environmental impediments to RF transmission.
- 11. A processor-readable medium comprising processor-executable instructions for transmitting robust data from a transmitter to a receiver, the processor-executable instructions comprising instructions for:
establishing a rate of data transmission and a level of redundancy; specifying parameters, including the rate, for operation of a buffer on the receiver; and transmitting the parameters at intervals to the receiver.
- 12. A processor-readable medium as recited in claim 11, wherein establishing the rate of data transmission comprises further instructions for:
evaluating environmental conditions as an input to establishing the rate of data transmission; and selecting between discrete rates of data transmission based on the environmental conditions.
- 13. A processor-readable medium as recited in claim 11, wherein specifying parameters comprises instructions for:
specifying a minimal buffer size for the buffer on the receiver; and specifying a value for initial buffer fullness prior to data removal for the buffer on the receiver.
- 14. A processor-readable medium as recited in claim 11, wherein specifying parameters comprises instructions for:
specifying a value for initial buffer fullness prior to data removal for the buffer on the receiver based on size of the buffer on the receiver and on the rate of data transmission.
- 15. A processor-readable medium as recited in claim 11, wherein establishing the rate of data transmission and the level of redundancy comprises:
making a bit stream available to a first portion of a communications channel to have greater robustness; and making the bit stream available to a second portion of the communications channel to have lesser robustness.
- 16. A processor-readable medium comprising processor-executable instructions for configuring a receiver to receive data, the processor-executable instructions comprising instructions for:
obtaining a descriptor comprising values for rate, buffer size and initial buffer fullness; configuring a buffer within the receiver according to the descriptor; and removing data from the buffer when the buffer reaches the initial buffer fullness.
- 17. A processor-readable medium as recited in claim 16, additionally comprising instructions for obtaining the descriptor from a request-response protocol over a bi-directional channel.
- 18. A processor-readable medium as recited in claim 16, additionally comprising instructions for obtaining the descriptor from a broadcast signal transmitting the descriptor repeatedly at intervals.
- 19. A processor-readable medium as recited in claim 16, additionally comprising instructions for:
measuring signal quantities; selecting between a main portion of a channel or a robust portion of the channel depending on the signal quantities.
- 20. A processor-readable medium as recited in claim 19, wherein measuring signal quantities comprises instructions, selected from a group of instructions, for:
measuring a signal-to-noise ratio; measuring a carrier-to-noise ratio; measuring an average signal energy level; measuring a number of corrupted data packets in a given time window; measuring peak energy; measuring run-length of corrupted data packets; and measuring residual energy in an equalizing filter.
- 21. A processor-readable medium as recited in claim 16, additionally comprising instructions for:
using a main portion of a channel, having conventional robustness, when acquisition conditions are acceptable; and switching to a robust portion of the channel when quantities calculated to indicate signal conditions indicate deterioration.
- 22. A processor-readable medium as recited in claim 21, wherein switching to a robust portion comprises instructions for:
using buffer parameters contained within the descriptor to adjust the buffer according to a rate of the robust portion of the channel; and moving data from the robust portion of the channel into the buffer.
- 23. A transmitter, comprising:
a robust transmission selection module to select a rate of data transmission based on a review of environmental conditions; video and audio encoders to encode data at the selected rate of data transmission; a descriptor generator to generate a descriptor reflecting buffer parameters associated with the selected rate for use by a receiver; and a multiplexer to multiplex the descriptor with the encoded data.
- 24. The transmitter of claim 23, wherein the descriptor generator generates a descriptor, comprising:
the selected rate; a buffer size to be configured by the receiver; and an initial buffer fullness value.
- 25. The transmitter of claim 23, wherein the descriptor generator is configured to generate multiple sets of (R, B, F)-tuplets.
- 26. The transmitter of claim 23, wherein the descriptor generator is configured to generate the descriptor according to the syntax:
- 27. The transmitter of claim 23, additionally comprising a system information inserter to pass the descriptor to the multiplexer at intervals.
- 28. A receiver, comprising:
logic configured for detecting a descriptor; logic configured for obtaining (R, B, F) values from the descriptor; and logic configured for setting a receiver buffer according to the (R, B, F) values.
- 29. The receiver of claim 28, wherein the logic configured for detecting the descriptor comprises logic configured for obtaining the descriptor from a bi-directional channel.
- 30. The receiver of claim 28, wherein the logic configured for setting the receiver buffer comprises logic configured for reconfiguring the receiver buffer in response to new or updated (R, B, F) values.
- 31. A method of moving data from a transmitter to a receiver, comprising:
detecting conditions requiring redundancy; selecting from among available discrete rates by which data can be transmitted, wherein the selected rate provides redundancy sufficient for the conditions detected; generating a descriptor comprising the selected rate, a minimum required buffer size and a required initial buffer fullness; multiplexing the descriptor and the data; and transmitting the multiplexed data to the receiver.
- 32. The method of claim 31, additionally comprising:
inserting the descriptor into the multiplexed data at least one time per second.
- 33. The method of claim 31, additionally comprising configuring, using the descriptor, a buffer within the receiver to receive the multiplexed data.
- 34. A receiver, comprising:
detecting a descriptor within data transmitted by a transmitter; monitoring reception characteristics and statistics, to select between conventional and robust channels within the transmitted data to reliably receive data; obtaining data transmission rate information and identifying a corresponding set of buffer parameters from the descriptor; configuring memory resources and flow control logic to provide elementary stream acquisition according to guidelines embodied by buffer parameters associated with the selected transmission channel; and buffering the received data until a buffer contains more than an initial buffer fullness value included within the buffer parameters.
- 35. The receiver of claim 34, additionally comprising instructions for reconfiguring the memory resources and the flow control logic upon receipt of a descriptor having updated data.
- 36. A transmitter, comprising:
means for evaluating data transmission conditions; means for specifying (R, B, F) parameter values comprising rate, buffer size and an initial buffer fullness in response to the evaluated data transmission conditions; means for creating a compressed bit stream using an encoder; and means for combining the (R, B, F) parameter values with the compressed bit stream in a multiplexer.
- 37. The transmitter of claim 36, additionally comprising:
means for generating a descriptor comprising multiple sets of (R, B, F)-tuplets; and means for transmitting the compressed bit stream and the descriptor to a plurality of clients a selected data rate.
- 38. The transmitter of claim 36, additionally comprising:
means for generating a descriptor, comprising the specified data transfer rates, the buffer size values, and the initial buffer fullness requirements; and means for multiplexing the descriptor with audio and video data.
- 39. A receiver, comprising:
means for detecting a descriptor within transmitted data; means for deciding, by monitoring reception characteristics and statistics, which conventional and robust channels within the transmitted data to select to reliably receive audio, video and data elementary streams; means for determining a data transmission rate and for identifying a corresponding set of buffer parameters from the descriptor; means for configuring memory resources and flow control logic to provide elementary stream acquisition according to guidelines embodied by buffer parameters associated with the selected transmission channel; and means for decoding the transmitted data when a buffer contains greater than an initial buffer fullness value found within the buffer parameters.
- 40. The receiver of claim 39, wherein the means for configuring memory resources and flow control logic reconfigures the buffer upon receipt of a descriptor having updated data.
- 41. The transmitter of claim 27, wherein the system information inserter passes the descriptor to the multiplexer approximately twice per second.
- 42. The transmitter of claim 23, wherein the robust transmission selection module configures a portion of a communication channel for increased robustness and configures another portion of the same communication channel for a typical level of robustness.
RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 60/478,731, filed Jun. 13, 2003, entitled “Robust Delivery of Video Data”, which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60478731 |
Jun 2003 |
US |