IP Library › Granted Patent US 8,897,371
Granted Patent B2
US 8,897,371 · App. 11/556,907 · Granted Nov 25, 2014

Video decoding in a receiver

Inventor: Brian William Orr (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N7/26335H04N7/26111H04N7/26202H04N7/26271
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,897,371
App. No.
11/556,907
Granted
Nov 25, 2014
Kind
B2
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.

Claims (41)

1. A receiver, comprising:

a video decoder configured to decode a video sequence comprising a plurality of video frames, thereby producing a plurality of decoded video frames;

a video renderer configured to drop one or more of the decoded video frames before presenting decoded video frames to a display; and

a frame throttle configured to receive the video sequence, 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, 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,

wherein the plurality of video frames comprise I-frames, P-frames, and B-frames in a base layer and an enhancement layer, the frame throttle being further configured to drop B-frames in the enhancement layer before dropping B-frames in the base layer, and configured to drop B-frames in both the base layer and the enhancement layer before dropping P-frames or I-frames in the enhancement layer.

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 1 wherein the number of video frames dropped by the frame throttle is a function of the decoding time of the video decoder.

4. 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.

5. The receiver of claim 4 wherein the feedback indicates the time to decode each of the video frames in the video sequence provided to the video decoder.

6. The receiver of claim 5 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.

7. 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.

8. 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.

9. A method of decoding video frames, comprising:

receiving a video sequence comprising a plurality of video frames;

decoding the video sequence, thereby producing a plurality of decoded video frames;

dropping one or more of the decoded video frames before presenting decoded video frames to a display; and

dropping one or more of the video frames from the video sequence before decoding the video sequence, wherein the number of video frames dropped before decoding the video sequence is a function of the number of decoded video frames dropped before presenting decoded video frames to the display,

wherein the plurality of video frames comprise I-frames, P-frames, and B-frames in a base layer and an enhancement layer, the method further comprising dropping B-frames in the enhancement layer before dropping B-frames in the base layer, and dropping B-frames in both the base layer and the enhancement layer before dropping P-frames or I-frames in the enhancement layer.

10. The method of claim 9 further comprising adjusting the rate of the video frames dropped in the video sequence to meet a target frame rate for a display.

11. The method of claim 9 wherein the number of video frames dropped from the video sequence is a function of the decoding time.

12. The method of claim 11 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.

13. The method of claim 9 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.

14. A receiver, comprising:

means for receiving a video sequence comprising a plurality of video frames;

means for decoding the video sequence, thereby producing a plurality of decoded video frames;

means for dropping one or more of the decoded video frames before presenting decoded video frames to a display; and

means for dropping one or more of the video frames from the video sequence before providing the video sequence to the decoding means, wherein the number of video frames dropped before decoding the video sequence is a function of the number of decoded video frames dropped before presenting decoded video frames to the display,

wherein the plurality of video frames comprise I-frames, P-frames, and B-frames in a base layer and an enhancement layer, the means for dropping further comprising means for dropping B-frames in the enhancement layer before dropping B-frames in the base layer, and means for dropping B-frames in both the base layer and the enhancement layer before dropping P-frames or I-frames in the enhancement layer.

15. The receiver of claim 14 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.

16. The receiver of claim 14 wherein the number of video frames dropped is a function of the decoding time of the decoding means.

17. The receiver of claim 14 wherein the number of video frames dropped is a function of feedback from the decoding means.

18. The receiver of claim 17 wherein the feedback indicates the time to decode each of the video frames in the video sequence provided to the decoding means.

19. The receiver of claim 18 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.

20. The receiver of claim 14 wherein at least a portion of the decoding means is implemented on a processor configured to support other receiver functions.

21. The receiver of claim 14 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.

22. A non-transitory computer-readable storage medium storing instructions that, when executed, cause a processor of a device for video coding to:

receive a video sequence comprising a plurality of video frames;

decode the video sequence, thereby producing a plurality of decoded video frames;

drop one or more of the decoded video frames before presenting decoded video frames to a display; and

drop one or more of the video frames from the video sequence before decoding the video sequence, wherein the number of video frames dropped before decoding the video sequence is a function of the number of decoded video frames dropped before presenting decoded video frames to the display,

wherein the plurality of video frames comprise I-frames, P-frames, and B-frames in a base layer and an enhancement layer, and the instructions, when executed, further cause the processor of the device for video coding to drop B-frames in the enhancement layer before dropping B-frames in the base layer, and to drop B-frames in both the base layer and the enhancement layer before dropping P-frames or I-frames in the enhancement layer.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2007
From: ORR, BRIAN WILLIAM
To: QUALCOMM INCORPORATED
Reel/Frame 019101/0825 →
Continuity (2)
Provisional Application 60789456 · Apr 4, 2006
Related Publication 20070230581A1 · Oct 4, 2007