IP Library Granted Patent US 11,665,361
Granted Patent B2
US 11,665,361 · App. 17/890,425 · Granted May 30, 2023

Syntax and semantics for buffering information to simplify video splicing

Inventors: Gary J. Sullivan (Bellevue, WA); Lihua Zhu (Mountain View, CA)
Assignee: Microsoft Technology Licensing, LLC
H04N19/46H04N19/70H04N21/23424H04N21/44016H04N7/147H04N7/15H04N7/18H04N19/573H04N19/58
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 11,665,361
App. No.
17/890,425
Granted
May 30, 2023
Kind
B2
Abstract

Innovations in syntax and semantics of coded picture buffer removal delay (“CPBRD”) values potentially simplify splicing operations. For example, a video encoder sets a CPBRD value for a current picture that indicates an increment value relative to a nominal coded picture buffer removal time of a preceding picture in decoding order, regardless of whether the preceding picture has a buffering period SEI message. The encoder can signal the CPBRD value according to a single-value approach in which a flag indicates how to interpret the CPBRD value, according to a two-value approach in which another CPBRD value (having a different interpretation) is also signaled, or according to a two-value approach that uses a flag and a delta value. A corresponding video decoder receives and parses the CPBRD value for the current picture. A splicing tool can perform simple concatenation operations to splice bitstreams using the CPBRD value for the current picture.

Claims (55)

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

receiving pictures of a video sequence; and

encoding the pictures of the video sequence, thereby producing encoded video, including:

setting a coded picture buffer removal delay (“CPBRD”) delta value for a given access unit for a current picture among the pictures of the video sequence, the current picture having a first set of syntax elements associated with the current picture;

setting a value of a flag for the given access unit, wherein:

if the value of the flag is a first value, a CPBRD value in a second set of syntax elements for the given access unit indicates an increment value specifying a nominal coded picture buffer (“CPB”) removal time of the current picture relative to a nominal CPB removal time of a first preceding picture in decoding order, the first preceding picture having a first set of syntax elements associated with the first preceding picture; and

if the value of the flag is a second value, the nominal CPB removal time of the current picture is indicated, by the CPBRD delta value, as an increment value relative to a nominal CPB removal time of a second preceding picture in decoding order; and

signaling the CPBRD delta value and the value of the flag for the given access unit in the first set of syntax elements associated with the current picture.

2. The method of claim 1 , wherein the CPBRD delta value is signaled in the first set of syntax elements associated with the current picture as a syntax element representing the CPBRD delta value minus 1.

3. The method of claim 1 , wherein the second preceding picture immediately precedes the current picture in decoding order.

4. The method of claim 1 , wherein the current picture is a random access picture, and wherein the signaling the CPBRD delta value and the value of the flag facilitates splicing that starts at the random access picture through a change to the value of the flag.

5. The method of claim 1 , wherein the encoding further comprises:

setting the CPBRD value for the given access unit; and

signaling the CPBRD value for the given access unit in the second set of syntax elements as a syntax element representing the CPBRD value minus 1.

6. The method of claim 1 , wherein, if the value of the flag is the first value:

if the second preceding picture lacks a first set of syntax elements associated with the second preceding picture, the CPBRD delta value indicates a difference between the CPBRD value for the given access unit and a CPBRD value for the second preceding picture; and

if the second preceding picture has a first set of syntax elements associated with the second preceding picture, the CPBRD delta value equals the CPBRD value for the given access unit.

7. The method of claim 1 , wherein:

the current picture is part of a temporal layer, and the second preceding picture immediately precedes the current picture in decoding order in the temporal layer of the current picture or a lower temporal layer; or

the second preceding picture, among pictures having a temporal identifier of zero, immediately precedes the current picture in decoding order.

8. The method of claim 1 , wherein:

the second preceding picture lacks a first set of syntax elements associated with the second preceding picture, and the first preceding picture and the second preceding picture are different pictures; or

the second preceding picture has a first set of syntax elements associated with the second preceding picture, and the first preceding picture is the second preceding picture.

9. One or more computer-readable media having stored thereon computer-executable instructions for causing one or more processing units, when programmed thereby, to perform operations, the one or more computer-readable media being selected from the group consisting of volatile memory, non-volatile memory, magnetic disk, CD-ROM, and DVD, the operations comprising:

receiving encoded video for pictures of a video sequence, including:

receiving a coded picture buffer removal delay (“CPBRD”) delta value for a given access unit for a current picture among the pictures of the video sequence, the current picture having a first set of syntax elements associated with the current picture; and

receiving a value of a flag for the given access unit, wherein:

if the value of the flag is a first value, a CPBRD value in a second set of syntax elements for the given access unit indicates an increment value specifying a nominal coded picture buffer (“CPB”) removal time of the current picture relative to a nominal CPB removal time of a first preceding picture in decoding order, the first preceding picture having a first set of syntax elements associated with the first preceding picture; and

if the value of the flag is a second value, the nominal CPB removal time of the current picture is indicated, by the CPBRD delta value, as an increment value relative to a nominal CPB removal time of a second preceding picture in decoding order; and

decoding the encoded video, including parsing the CPBRD delta value and the value of the flag for the given access unit from the first set of syntax elements associated with the current picture.

10. The one or more computer-readable media of claim 9 , wherein the CPBRD delta value is signaled in the first set of syntax elements associated with the current picture as a syntax element representing the CPBRD delta value minus 1.

11. The one or more computer-readable media of claim 9 , wherein the current picture is a random access picture.

12. The one or more computer-readable media of claim 9 , wherein the receiving the encoded video further comprises:

receiving the CPBRD value for the given access unit, signaled in the second set of syntax elements for the given access unit as a syntax element representing the CPBRD value minus 1.

13. The one or more computer-readable media of claim 12 , wherein the operations further comprise:

detecting loss of data by comparing the CPBRD value for the given access unit to a sum based on a CPBRD value for the second preceding picture and the CPBRD delta value for the given access unit.

14. The one or more computer-readable media of claim 9 , wherein, for a spliced bitstream, the nominal CPB removal time of the current picture can be computed as a sum of (a) the nominal CPB removal time of the second preceding picture and (b) a product of a clock tick value and the CPBRD delta value for the given access unit, constrained by a constraint that ensures that delay is at least as long as it would be if decoding started at the given access unit.

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

based at least in part on the CPBRD delta value for the given access unit, computing the nominal CPB removal time of the current picture.

16. The one or more computer-readable media of claim 9 , wherein, if the value of the flag is the first value:

if the second preceding picture lacks a first set of syntax elements associated with the second preceding picture, the CPBRD delta value indicates a difference between the CPBRD value for the given access unit and a CPBRD value for the second preceding picture; and

if the second preceding picture has a first set of syntax elements associated with the second preceding picture, the CPBRD delta value equals the CPBRD value for the given access unit.

17. The one or more computer-readable media of claim 9 , wherein:

the current picture is part of a temporal layer, and the second preceding picture immediately precedes the current picture in decoding order in the temporal layer of the current picture or a lower temporal layer; or

the second preceding picture, among pictures having a temporal identifier of zero, immediately precedes the current picture in decoding order.

18. The one or more computer-readable media of claim 9 , wherein:

the second preceding picture lacks a first set of syntax elements associated with the second preceding picture, and the first preceding picture and the second preceding picture are different pictures; or

the second preceding picture has a first set of syntax elements associated with the second preceding picture, and the first preceding picture is the second preceding picture.

19. One or more computer-readable media having stored thereon encoded data in a bitstream for pictures of a video sequence, the one or more computer-readable media being selected from the group consisting of volatile memory, non-volatile memory, magnetic disk, CD-ROM, and DVD, the encoded data having been produced by encoding of the pictures of the video sequence with operations comprising:

setting a coded picture buffer removal delay (“CPBRD”) delta value for a given access unit for a current picture among the pictures of the video sequence, the current picture having a first set of syntax elements associated with the current picture;

setting a value of a flag for the given access unit, wherein:

if the value of the flag is a first value, a CPBRD value in a second set of syntax elements for the given access unit indicates an increment value specifying a nominal coded picture buffer (“CPB”) removal time of the current picture relative to a nominal CPB removal time of a first preceding picture in decoding order, the first preceding picture having a first set of syntax elements associated with the first preceding picture; and

if the value of the flag is a second value, the nominal CPB removal time of the current picture is indicated, by the CPBRD delta value, as an increment value relative to a nominal CPB removal time of a second preceding picture in decoding order; and

signaling the CPBRD delta value and the value of the flag for the given access unit in the first set of syntax elements associated with the current picture.

20. The one or more computer-readable media of claim 19 , wherein the CPBRD delta value is signaled in the first set of syntax elements associated with the current picture as a syntax element representing the CPBRD delta value minus 1.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2022
From: SULLIVAN, GARY J.; ZHU, LIHUA
To: MICROSOFT CORPORATION
Reel/Frame 062074/0097 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2022
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 062074/0125 →
Cited By (1)
US 12,348,756