IP Library Granted Patent US 9,729,898
Granted Patent B2
US 9,729,898 · App. 15/201,160 · Granted Aug 8, 2017

Reducing latency in video encoding and decoding

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 9,729,898
App. No.
15/201,160
Granted
Aug 8, 2017
Kind
B2
Abstract

Techniques and tools for reducing latency in video encoding and decoding by constraining latency due to reordering of video frames, and by indicating the constraint on frame reordering latency with one or more syntax elements that accompany encoded data for the video frames. For example, a real-time communication tool with a video encoder sets a syntax element that indicates a constraint on frame reordering latency, which is consistent with inter-frame dependencies between multiple frames of a video sequence, then outputs the syntax element. A corresponding real-time communication tool with a video decoder receives the syntax element that indicates the constraint on frame reordering latency, determines the constraint on frame reordering latency based on the syntax element, and uses the constraint on frame reordering latency to determine when a reconstructed frame is ready for output (in terms of output order).

Claims (41)

1. One or more computer-readable media storing computer-executable instructions for causing a computing system, when programmed thereby, to perform operations, the one or more computer-readable media being selected only from the group consisting of non-volatile memory and storage device, the operations comprising:

receiving and parsing one or more syntax elements that indicate a constraint on frame reordering latency, wherein the constraint on frame reordering latency is expressed in terms of a maximum count of frames that can precede any frame of a video sequence in output order but follow that frame in coded order;

determining the constraint on frame reordering latency based upon the one or more syntax elements;

receiving encoded data for plural frames of the video sequence;

with a video decoder, decoding at least some of the encoded data to reconstruct one of the plural frames; and

outputting the reconstructed frame, wherein the constraint is used to determine when the reconstructed frame is ready for output.

2. The one or more computer-readable media of claim 1 wherein the plural frames of the video sequence are organized according to a temporal hierarchy, wherein different syntax elements indicate different constraints on frame reordering latencies for different temporal layers of the temporal hierarchy, the operations further comprising selecting one of the different constraints on frame reordering latencies depending on temporal resolution of the output.

3. The one or more computer-readable media of claim 1 wherein the operations further comprise:

receiving and parsing one or more syntax elements that indicate a maximum size of frame memory for reordering, wherein the maximum size of frame memory for reordering is expressed in terms of a maximum count of frames that can precede any frame of the video sequence in coded order but follow that frame in output order.

4. The one or more computer-readable media of claim 1 wherein the one or more syntax elements and the encoded data are signaled as part of syntax for a coded video bitstream, the operations further comprising:

receiving and parsing a buffer size syntax element that indicates maximum size of a decoded picture buffer, wherein the buffer size syntax element is different than the one or more syntax elements that indicate the constraint on frame reordering latency.

5. The one or more computer-readable media of claim 1 wherein the one or more syntax elements are signaled as part of a sequence parameter set, a picture parameter set, syntax for a media storage file that also includes the encoded data, syntax for a media transmission stream that also includes the encoded data, a media properties negotiation protocol, media system information multiplexed with the encoded data or media metadata relating to the encoded data.

6. The one or more computer-readable media of claim 1 wherein one possible value of the one or more syntax elements indicates the constraint on frame reordering latency is undefined or has a default value, and wherein other possible values of the one or more syntax elements indicate an integer count for the constraint on frame reordering latency.

7. The one or more computer-readable media of claim 1 wherein a value of the one or more syntax elements indicates an integer count for the constraint on frame reordering latency relative to a maximum size of frame memory for reordering, the maximum size of frame memory for reordering being indicated with a different syntax element.

8. The one or more computer-readable media of claim 7 wherein the constraint on frame reordering latency can be determined as a maximum count for the maximum size of frame memory for reordering plus the integer count for the constraint on frame reordering latency minus 1.

9. One or more computer-readable media storing encoded data produced by operations, the one or more computer-readable media being selected only from the group consisting of non-volatile memory and storage device, the operations comprising:

setting one or more syntax elements that indicate a constraint on frame reordering latency consistent with inter-frame dependencies between plural frames of a video sequence, wherein the constraint on frame reordering latency is expressed in terms of a maximum count of frames that can precede any frame of the video sequence in output order but follow that frame in coded order;

with a video encoder, encoding the plural frames to produce at least some of the encoded data, wherein the encoding uses the inter-frame dependencies that are consistent with the constraint on frame reordering latency; and

outputting the one or more syntax elements as part of the encoded data, thereby facilitating determination of when reconstructed frames are ready for output in terms of output order of the plural frames.

10. The one or more computer-readable media of claim 9 wherein the operations further comprise:

before the encoding, receiving the plural frames of the video sequence; and

after the encoding, outputting the encoded data.

11. The one or more computer-readable media of claim 9 wherein the operations further comprise:

setting one or more syntax elements that indicate a maximum size of frame memory for reordering, wherein the maximum size of frame memory for reordering is expressed in terms of a maximum count of frames that can precede any frame of the video sequence in coded order but follow that frame in output order; and

outputting the one or more syntax elements that indicate the maximum size of frame memory for reordering as part of the encoded data.

12. The one or more computer-readable media of claim 9 wherein the one or more syntax elements and the encoded data are output as part of syntax for a coded video bitstream, and wherein the operations further comprise:

outputting a buffer size syntax element that indicates maximum size of a decoded picture buffer, wherein the buffer size syntax element is different than the one or more syntax elements that indicate the constraint on frame reordering latency.

13. The one or more computer-readable media of claim 9 wherein the one or more syntax elements are output as part of a sequence parameter set, a picture parameter set, or media metadata relating to the encoded data.

14. The one or more computer-readable media of claim 9 wherein one possible value of the one or more syntax elements indicates the constraint on frame reordering latency is undefined or has a default value, and wherein other possible values of the one or more syntax elements indicate an integer count for the constraint on frame reordering latency.

15. The one or more computer-readable media of claim 9 wherein a value of the one or more syntax elements indicate an integer count for the constraint on frame reordering latency relative to a maximum size of frame memory for reordering, the maximum size of frame memory for reordering being indicated with a different syntax element.

16. The one or more computer-readable media of claim 15 wherein the constraint on frame reordering latency can be determined as a maximum count for the maximum size of frame memory for reordering plus the integer count for the constraint on frame reordering latency minus 1.

17. One or more computer-readable media storing encoded data, the one or more computer-readable media being selected only from the group consisting of non-volatile memory and storage device, wherein the encoded data is organized to facilitate processing by operations comprising:

receiving and parsing one or more syntax elements, as part of the encoded data, that indicate a constraint on frame reordering latency, wherein the constraint on frame reordering latency is expressed in terms of a maximum count of frames that can precede any frame of a video sequence in output order but follow that frame in coded order;

determining the constraint on frame reordering latency based upon the one or more syntax elements;

receiving at least some of the encoded data for plural frames of the video sequence;

with a video decoder, decoding the at least some of the encoded data to reconstruct one of the plural frames; and

outputting the reconstructed frame, wherein the constraint is used to determine when the reconstructed frame is ready for output.

18. The one or more computer-readable media of claim 17 wherein the operations further comprise:

receiving and parsing one or more syntax elements that indicate a maximum size of frame memory for reordering, wherein the maximum size of frame memory for reordering is expressed in terms of a maximum count of frames that can precede any frame of the video sequence in coded order but follow that frame in output order.

19. The one or more computer-readable media of claim 17 wherein a value of the one or more syntax elements indicates an integer count for the constraint on frame reordering latency relative to a maximum size of frame memory for reordering, the maximum size of frame memory for reordering being indicated with a different syntax element.

20. The one or more computer-readable media of claim 19 wherein the constraint on frame reordering latency can be determined as a maximum count for the maximum size of frame memory for reordering plus the integer count for the constraint on frame reordering latency minus 1.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2016
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 039084/0123 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2016
From: SULLIVAN, GARY J.
To: MICROSOFT CORPORATION
Reel/Frame 039084/0132 →