IP Library Granted Patent US 11,451,813
Granted Patent B2
US 11,451,813 · App. 17/350,510 · Granted Sep 20, 2022

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,451,813
App. No.
17/350,510
Granted
Sep 20, 2022
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 (54)

1. A computing device comprising:

a video encoder configured to perform operations to encode video for a video sequence, the operations including:

setting a coded picture buffer removal delay (“CPBRD”) delta value for a given access unit for a current picture 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; and

a buffer configured to store the encoded video for output.

2. The computing device 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 computing device of claim 1 , wherein the second preceding picture immediately precedes the current picture in decoding order.

4. The computing device 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 computing device 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 computing device 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 computing device 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 computing device 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. In a computing device, a method comprising:

receiving encoded video for a video sequence, including:

receiving a coded picture buffer removal delay (“CPBRD”) delta value for a given access unit for a current picture 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 method 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 method of claim 9 , wherein the current picture is a random access picture.

12. The method 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 method of claim 12 , further comprising:

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 method 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 method of claim 9 , further comprising:

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 method 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 method 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 method 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 a first set of syntax elements associated with a current picture 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 first set of syntax elements comprising:

a coded picture buffer removal delay (“CPBRD”) delta value for a given access unit for the current picture; and

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.

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 Jul 30, 2021
From: SULLIVAN, GARY J.; ZHU, LIHUA
To: MICROSOFT CORPORATION
Reel/Frame 057040/0892 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 30, 2021
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 057040/0919 →
Continuity (5)
Continuation 16430087 · Jun 3, 2019
Continuation 15601615 · May 22, 2017
Continuation 14109670 · Dec 17, 2013
Provisional Application 61749909 · Jan 7, 2013
Related Publication 20210314594A1 · Oct 7, 2021
Cited By (1)
US 12,348,756