VIDEO DECODING IN A RECEIVER

Abstract
The disclosure is directed to a receiver. The receiver includes a video decoder and a frame throttle configured to receive a video sequence comprising a plurality of video frames. The frame throttle is further configured to drop one or more of the video frames from the video sequence before providing the video sequence to the video decoder.
Description

BRIEF DESCRIPTION OF THE DRAWINGS

Various aspects of a wireless communications system are illustrated by way of example, and not by way of limitation, in the accompanying drawings, wherein:



FIG. 1 is a conceptual block diagram illustrating an example of a multimedia broadcast system;



FIG. 2 is a conceptual block diagram illustrating an example of a transmitter and receiver in a multimedia broadcast system;



FIG. 3A is a conceptual block diagram illustrating an example of a video decoder;



FIG. 3B is a conceptual block diagram illustrating an example of a video decoder with a frame throttle;



FIG. 4 is a block diagram illustrating an example of a hardware implementation of a receiver;



FIG. 5 is a flow chart illustrating an example of a frame dropping policy implemented by a frame throttle in a video decoder; and



FIG. 6 is a functional block diagram illustrating an example of a receiver.


Claims
  • 1. A receiver, comprising: a video decoder; anda frame throttle configured to receive a video sequence comprising a plurality of video frames, the frame throttle being further configured to drop one or more of the video frames from the video sequence before providing the video sequence to the video decoder.
  • 2. The receiver of claim 1 wherein the frame throttle is further configured to adjust the rate of the video frames dropped from the video sequence to meet a target frame rate for a display.
  • 3. The receiver of claim 2 wherein the video frames comprises I-frames, P-frames, and B-frames, the frame throttle being further configured to drop the P-frames and B-frames before dropping the I-frames to meet the target frame rate.
  • 4. The receiver of claim 1 wherein the number of video frames dropped by the frame throttle is a function of the decoding time of the video decoder.
  • 5. The receiver of claim 1 wherein the number of video frames dropped by the frame throttle is a function of feedback from the video decoder.
  • 6. The receiver of claim 5 wherein the feedback indicates the time to decode each of the video frames in the video sequence provided to the video decoder.
  • 7. The receiver of claim 6 wherein the frame throttle is further configured to use the feedback to predict the time required to decode one or more of the video frames in the video sequence received by the frame throttle, the frame throttle being further configured to use the time prediction to determine which frames in the video sequence to drop.
  • 8. The receiver of claim 1 wherein at least a portion of the video decoder is implemented on a processor configured to support other receiver functions.
  • 9. The receiver of claim 1 further comprising a video renderer, the video decoder being further configured to provide to the video renderer the video sequence having a plurality of decoded video frames, and wherein the video renderer is configured to drop one or more of the decoded video frames before presenting the video sequence to a display.
  • 10. The receiver of claim 9 wherein the number of video frames dropped by the frame throttle is a function of the number of decoded video frames dropped by the video renderer.
  • 11. The receiver of claim 10 wherein the number of video frames dropped by the frame throttle is also a function of the decoding time of the video decoder.
  • 12. The receiver of claim 9 wherein the number of video frames dropped by the frame throttle is a function of feedback from the video renderer.
  • 13. The receiver of claim 12 wherein the number of video frames dropped by the frame throttle is also a function of feedback from the video decoder.
  • 14. The receiver of claim 1 wherein the video frames in the video sequence received by the frame throttle have different amounts of informational content, the frame throttle being further configured to determine which of the one or more video frames to drop as a function of the amount of informational content in the video frames.
  • 15. A method of decoding video frames, comprising: receiving a video sequence comprising a plurality of video frames;decoding the video sequence; anddropping one or more of the video frames from the video sequence before decoding the video sequence.
  • 16. The method of claim 15 further comprising adjusting the rate of the video frames dropped in the video sequence to meet a target frame rate for a display.
  • 17. The method of claim 16 wherein the video frames comprises I-frames, P-frames, and B-frames, and wherein the P-frames and B-frames are dropped before the I-frames are dropped to meet the target frame rate.
  • 18. The method of claim 15 wherein the number of video frames dropped from the video sequence is a function of the decoding time.
  • 19. The method of claim 18 further comprising using the decoding time to predict the time required to decode one or more of the video frames in the video sequence, and using the time prediction to determine which frames in the video sequence to drop.
  • 20. The method of claim 15 wherein the decoding of the video sequence comprises producing a plurality of decoded video frames, the method further comprising dropping one or more of the decoded video frames before presenting the video sequence to a display, and wherein the number of video frames dropped from the video sequence before decoding the video sequence is a function of the number of decoded video frames dropped.
  • 21. The method of claim 20 wherein the number of video frames dropped from the video sequence before decoding the video sequence is also a function of the decoding time.
  • 22. The method of claim 15 wherein the video frames in the video sequence have different amounts of informational content, the method further comprising determining which of the one or more video frames to drop from the video sequence as a function of the amount of informational content in the video frames.
  • 23. A receiver, comprising: means for receiving a video sequence comprising a plurality of video frames;means for decoding the video sequence; andmeans for dropping one or more of the video frames from the video sequence before providing the video sequence to the decoding means.
  • 24. The receiver of claim 23 further comprising means for adjusting the rate of the video frames dropped from the video sequence to meet a target frame rate for a display.
  • 25. The receiver of claim 24 wherein the video frames comprises I-frames, P-frames, and B-frames, and wherein the means for dropping one or more of the video frames comprises means for dropping the P-frames and B-frames before dropping the I-frames to meet the target frame rate.
  • 26. The receiver of claim 23 wherein the number of video frames dropped is a function of the decoding time of the decoding means.
  • 27. The receiver of claim 23 wherein the number of video frames dropped is a function of feedback from the decoding.
  • 28. The receiver of claim 27 wherein the feedback indicates the time to decode each of the video frames in the video sequence provided to the decoding means.
  • 29. The receiver of claim 28 wherein the means for dropping the one or more video frames uses the feedback to predict the time required to decode one or more of the video frames in the video sequence, and uses the time prediction to determine which frames in the video sequence to drop.
  • 30. The receiver of claim 23 wherein at least a portion of the decoding means is implemented on a processor configured to support other receiver functions.
  • 31. The receiver of claim 23 further comprising means for presenting to a display the video sequence having a plurality of decoded video frames, and means for dropping one or more of the decoded video frames before the video sequence is presented to the display.
  • 32. The receiver of claim 31 wherein the number of video frames dropped is a function of the number of decoded video frames dropped.
  • 33. The receiver of claim 32 wherein the number of video frames dropped is also a function of the decoding time of the decoding means.
  • 34. The receiver of claim 31 wherein the number of video frames dropped is a function of feedback from the means for dropping one or more of the decoded video frames.
  • 35. The receiver of claim 34 wherein the number of video frames dropped by the frame throttle is also a function of feedback from the decoding means.
  • 36. The receiver of claim 23 wherein the video frames in the video sequence have different amounts of informational content, the receiver further comprising means for determining which of the one or more video frames to drop as a function of the amount of informational content in the video frames.
Provisional Applications (1)
Number Date Country
60789456 Apr 2006 US