IP Library Granted Patent US 12,513,340
Granted Patent B2
US 12,513,340 · App. 18/768,492 · Granted Dec 30, 2025

Reducing latency in video encoding and decoding

Inventor: Gary J. Sullivan (Bellevue, WA)
Assignee: Microsoft Technology Licensing, LLC
H04N19/70H04N19/103H04N19/15H04N19/172H04N19/31H04N19/44H04N19/46H04N19/88H04N19/184
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 12,513,340
App. No.
18/768,492
Granted
Dec 30, 2025
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 (43)

1 . One or more non-transitory computer-readable media having stored thereon computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations comprising:

receiving syntax elements that indicate different constraints on frame reordering latency for different temporal layers of a temporal hierarchy;

determining, as temporal resolution for output, one of the different temporal layers of the temporal hierarchy;

for the determined layer, selecting one of the different constraints on frame reordering latency, the selected constraint on frame reordering latency being determined, relative to a maximum size of frame memory for reordering, using a given one of the syntax elements that indicate the different constraints on frame reordering latency;

receiving encoded data for a given frame;

decoding the encoded data for the given frame to reconstruct the given frame; and

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

2 . The one or more non-transitory computer-readable media of claim 1 , wherein the given one of the syntax elements indicates an integer count for the selected constraint on frame reordering latency relative to the maximum size of frame memory for reordering.

3 . The one or more non-transitory computer-readable media of claim 2 , wherein the selected constraint on frame reordering latency is determined as the maximum size of frame memory for reordering plus the integer count for the selected constraint on frame reordering latency minus 1.

4 . The one or more non-transitory computer-readable media of claim 1 , wherein the operations further comprise:

receiving a syntax element that indicates the maximum size of frame memory for reordering, the syntax element that indicates the maximum size of frame memory for reordering being different than the syntax elements that indicate the different constraints on frame reordering latency.

5 . The one or more non-transitory computer-readable media of claim 1 , wherein the operations further comprise:

receiving a syntax element that indicates a maximum size of a decoded picture buffer, the syntax element that indicates the maximum size of the decoded picture buffer being different than the syntax elements that indicate the different constraints on frame reordering latency.

6 . The one or more non-transitory computer-readable media of claim 1 , wherein the syntax elements that indicate the different constraints on frame reordering latency are signaled as part of a sequence parameter set.

7 . The one or more non-transitory computer-readable media of claim 1 , wherein the operations further comprise:

receiving a flag that indicates presence or absence of the syntax elements that indicate the different constraints on frame reordering latency.

8 . The one or more non-transitory computer-readable media of claim 1 , wherein the different temporal layers of the temporal hierarchy include a first layer, a second layer, and a third layer, wherein the second layer doubles temporal resolution of the first layer, and wherein the third layer doubles temporal resolution of the second layer.

9 . In a computer system that implements a video encoder, a method comprising:

setting syntax elements that indicate different constraints on frame reordering latency for different temporal layers of a temporal hierarchy;

outputting the syntax elements that indicate the different constraints on frame reordering latency, thereby facilitating determination of when a reconstructed frame is ready for output according to a selected constraint on frame reordering latency that is determined, relative to a maximum size of frame memory for reordering, using a given one of the syntax elements that indicate the different constraints on frame reordering latency;

encoding a given frame, thereby producing encoded data for the given frame, wherein the encoding uses inter-frame dependencies that are consistent with the different constraints on frame reordering latency; and

outputting the encoded data for the given frame.

10 . The method of claim 9 , wherein the given one of the syntax elements indicates an integer count for a given one of the different constraints on frame reordering relative to the maximum size of frame memory for reordering.

11 . The method of claim 10 , wherein the given one of the different constraints on frame reordering latency is determined as the maximum size of frame memory for reordering plus the integer count for the given one of the different constraints on frame reordering latency minus 1.

12 . The method of claim 9 , further comprising:

setting a syntax element that indicates the maximum size of frame memory for reordering, the syntax element that indicates the maximum size of frame memory for reordering being different than the syntax elements that indicate the different constraints on frame reordering latency; and

outputting the syntax element that indicates the maximum size of frame memory for reordering.

13 . The method of claim 9 , further comprising:

setting a syntax element that indicates a maximum size of a decoded picture buffer, the syntax element that indicates the maximum size of the decoded picture buffer being different than the syntax elements that indicate the different constraints on frame reordering latency; and

outputting the syntax element that indicates maximum size of the decoded picture buffer.

14 . The method of claim 9 , wherein the syntax elements that indicate the different constraints on frame reordering latency are signaled as part of a sequence parameter set.

15 . The method of claim 9 , further comprising:

setting a flag that indicates presence or absence of the syntax elements that indicate the different constraints on frame reordering latency; and

outputting the flag that indicates presence or absence of the syntax elements that indicate the different constraints on frame reordering latency.

16 . The method of claim 9 , wherein the different temporal layers of the temporal hierarchy include a first layer, a second layer, and a third layer, wherein the second layer doubles temporal resolution of the first layer, and wherein the third layer doubles temporal resolution of the second layer.

17 . One or more non-transitory computer-readable media having programmed thereon a flag that at least in part indicates presence or absence of syntax elements that indicate different constraints on frame reordering latency for different temporal layers of a temporal hierarchy, the one or more computer-readable media further having programmed thereon the syntax elements that indicate the different constraints on frame reordering latency as well as encoded data for a given frame, the flag, the syntax elements, and the encoded data being usable to cause a video decoder, when processing the flag, the syntax elements, and the encoded data in a computer system having one or more processing units and memory, to perform operations that include:

based at least in part on the flag, determining that the syntax elements that indicate the different constraints on frame reordering latency are present;

determining, as temporal resolution for output, one of the different temporal layers of the temporal hierarchy;

for the determined layer, selecting one of the different constraints on frame reordering latency, selected constraint on frame reordering latency being determined, relative to a maximum size of frame memory for reordering, using a given one of the syntax elements that indicate the different constraints on frame reordering latency;

based on the encoded data for the given frame, decoding the encoded data for the given frame to reconstruct the given frame; and

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

18 . The one or more non-transitory computer-readable media of claim 17 , further having stored thereon a syntax element that indicates the maximum size of frame memory for reordering, the syntax element that indicates the maximum size of frame memory for reordering being different than the syntax elements that indicate the different constraints on frame reordering latency.

19 . The one or more non-transitory computer-readable media of claim 17 , further having stored thereon a syntax element that indicates a maximum size of a decoded picture buffer, the syntax element that indicates the maximum size of the decoded picture buffer being different than the syntax elements that indicate the different constraints on frame reordering latency.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2024
From: SULLIVAN, GARY J.
To: MICROSOFT CORPORATION
Reel/Frame 068346/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 20, 2024
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 068724/0686 →
Continuity (13)
Continuation 18386524 · Nov 2, 2023
Continuation 18124517 · Mar 21, 2023
Continuation 17949025 · Sep 20, 2022
Continuation 17890398 · Aug 18, 2022
Continuation 17143782 · Jan 7, 2021
Continuation 17009918 · Sep 2, 2020
Continuation 15963899 · Apr 26, 2018
Continuation 15647962 · Jul 12, 2017
Continuation 15201160 · Jul 1, 2016
Continuation 14458997 · Aug 13, 2014
Continuation 13270969 · Oct 11, 2011
Provisional Application 61571553 · Jun 30, 2011
Related Publication 20240364935A1 · Oct 31, 2024
References Cited (17)
US 8200164B2 · Trainin · 2012 [cited by examiner]
US 8295363B2 · Seet · 2012 [cited by examiner]
US 8295393B2 · Watanabe et al. · 2012 [cited by applicant]
US 9426495B2 · Sullivan · 2016 [cited by applicant]
US 20110002397A1 · Wang · 2011 [cited by examiner]
US 20110200104A1 · Korodi et al. · 2011 [cited by applicant]
US 20120147973A1 · Wu et al. · 2012 [cited by applicant]
US 20120230181A1 · Dame · 2012 [cited by examiner]
EP 2727341 · 2015 [cited by applicant]
Notice of Allowance dated Jul. 24, 2024, from Malaysian Patent Application No. PI2021007810, 2 pp. [cited by applicant]
Notification to Grant dated Aug. 27, 2015, from Chinese Patent Application No. 201110414227.7, 3 pp. [cited by applicant]
Office Action dated Nov. 11, 2024, from Thailand Patent Application No. 1301007332, 15 pp. [cited by applicant]
Office Action dated Jul. 15, 2025, from U.S. Appl. No. 18/768,380, 15 pp. [cited by applicant]
Office Action dated Jul. 21, 2025, from U.S. Appl. No. 18/768,380, 17 pp. [cited by applicant]
Second Office action dated Aug. 4, 2014, from Chinese Patent Application No. 201110414227.7, 8 pp. [cited by applicant]
Notice of Allowance dated Aug. 19, 2025, from U.S. Appl. No. 18/768,380, 14 pp. [cited by applicant]
Office Action dated Jul. 29, 2025, from U.S. Appl. No. 18/768,430, 15 pp. [cited by applicant]