IP Library Granted Patent US 12,348,756
Granted Patent B2
US 12,348,756 · App. 18/647,431 · Granted Jul 1, 2025

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 12,348,756
App. No.
18/647,431
Granted
Jul 1, 2025
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 CPBRD value for the current picture.

Claims (40)

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

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

a first set of syntax elements associated with a current picture among the pictures of the video sequence, the first set of syntax elements including a coded picture buffer removal delay (“CPBRD”) value for the current picture, the CPBRD value for the current picture 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 second set of syntax elements associated with the first preceding picture; and

a second set of syntax elements associated with the current picture, the second set of syntax elements associated with the current picture including a concatenation flag and a CPBRD delta value, wherein the concatenation flag has a given value, and wherein the CPBRD delta value indicates a difference between the CPBRD value for the current picture and a CPBRD value for a second preceding picture in decoding order, the second preceding picture lacking a second set of syntax elements associated with the second preceding picture; and

decoding the encoded data, including parsing the first set of syntax elements associated with the current picture and parsing the second set of syntax elements associated with the current picture, wherein the CPBRD delta value enables the video decoder, using the CPBRD delta value and based on the concatenation flag having the given value, to detect loss of encoded data for the second preceding picture.

2. The method of claim 1 , wherein the CPBRD delta value is signaled in the second 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 CPBRD value for the current picture is signaled in the first set of syntax elements associated with the current picture as a syntax element representing the CPBRD value for the current picture minus 1.

4. The method of claim 1 , wherein the current picture is a random access picture.

5. The method of claim 1 , further comprising:

determining, based on a check indicating (a) the CPBRD value for the current picture is equal to (b) a sum based on the CPBRD value for the second preceding picture and the CPBRD delta value for the current picture, that the encoded data for the second preceding picture has not been lost.

6. The method of claim 1 , further comprising:

determining, based on a check indicating (a) the CPBRD value for the current picture is not equal to (b) a sum based on the CPBRD value for the second preceding picture and the CPBRD delta value for the current picture, that the encoded data for the second preceding picture has been lost.

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

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

9. 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 being organized to facilitate decoding, by a video decoder, with operations comprising:

receiving the encoded data, the encoded data including:

a first set of syntax elements associated with a current picture among the pictures of the video sequence, the first set of syntax elements including a coded picture buffer removal delay (“CPBRD”) value for the current picture, the CPBRD value for the current picture 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 second set of syntax elements associated with the first preceding picture; and

a second set of syntax elements associated with the current picture, the second set of syntax elements associated with the current picture including a concatenation flag and a CPBRD delta value, wherein the concatenation flag has a given value, and wherein the CPBRD delta value indicates a difference between the CPBRD value for the current picture and a CPBRD value for a second preceding picture in decoding order, the second preceding picture lacking a second set of syntax elements associated with the second preceding picture; and

decoding the encoded data, including parsing the first set of syntax elements associated with the current picture and parsing the second set of syntax elements associated with the current picture, wherein the CPBRD delta value enables the video decoder, using the CPBRD delta value and based on the concatenation flag having the given value, to detect loss of encoded data for the second preceding picture.

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

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

13. The one or more computer-readable media of claim 9 , wherein the second preceding picture immediately precedes the current picture in decoding order.

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

15. A computer system comprising:

a video encoder configured to encode pictures of a video sequence by performing operations, thereby producing encoded data, the operations comprising:

encoding a first set of syntax elements associated with a current picture among the pictures of the video sequence, the first set of syntax elements including a coded picture buffer removal delay (“CPBRD”) value for the current picture, the CPBRD value for the current picture 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 second set of syntax elements associated with the first preceding picture; and

encoding a second set of syntax elements associated with the current picture, the second set of syntax elements associated with the current picture including a concatenation flag and a CPBRD delta value, wherein the concatenation flag has a given value, and wherein the CPBRD delta value indicates a difference between the CPBRD value for the current picture and a CPBRD value for a second preceding picture in decoding order, the second preceding picture lacking a second set of syntax elements associated with the second preceding picture; and

a buffer configured to store the encoded data for output in a bitstream, the encoded data including the first set of syntax elements associated with the current picture and the second set of syntax elements associated with the current picture, thereby enabling a video decoder, using the CPBRD delta value and so long as the concatenation flag has the given value, to detect loss of encoded data for the second preceding picture.

16. The computer system of claim 15 , wherein the CPBRD delta value is signaled in the second set of syntax elements associated with the current picture as a syntax element representing the CPBRD delta value minus 1.

17. The computer system of claim 15 , wherein the CPBRD value for the current picture is signaled in the first set of syntax elements associated with the current picture as a syntax element representing the CPBRD value for the current picture minus 1.

18. The computer system of claim 15 , wherein the current picture is a random access picture.

19. The computer system of claim 15 , wherein the second preceding picture immediately precedes the current picture in decoding order.

20. The computer system of claim 15 , 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.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2024
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 067348/0893 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 8, 2024
From: SULLIVAN, GARY J.; ZHU, LIHUA
To: MICROSOFT CORPORATION
Reel/Frame 067348/0929 →
Continuity (9)
Continuation 18442948 · Feb 15, 2024
Continuation 18135853 · Apr 18, 2023
Continuation 17946149 · Sep 16, 2022
Continuation 17350510 · Jun 17, 2021
Continuation 16430087 · Jun 3, 2019
Continuation 15601615 · May 22, 2017
Continuation 14109670 · Dec 17, 2013
Provisional Application 61749909 · Jan 7, 2013
Related Publication 20240283961A1 · Aug 22, 2024
References Cited (39)
US 8406292B2 · Shimada · 2013 [cited by examiner]
US 8699581B2 · Koyabu · 2014 [cited by examiner]
US 8761266B2 · Rodriguez · 2014 [cited by examiner]
US 8886022B2 · Rodriguez · 2014 [cited by examiner]
US 8989508B2 · Deshpande · 2015 [cited by applicant]
US 9049427B2 · Hattori · 2015 [cited by applicant]
US 9319703B2 · Wang · 2016 [cited by applicant]
US 9661341B2 · Sullivan et al. · 2017 [cited by applicant]
US 9969299B2 · Murase et al. · 2018 [cited by applicant]
US 10313698B2 · Sullivan et al. · 2019 [cited by applicant]
US 10623753B2 · Skupin et al. · 2020 [cited by applicant]
US 11070832B2 · Sullivan et al. · 2021 [cited by applicant]
US 11451813B2 · Sullivan et al. · 2022 [cited by applicant]
US 11665361B2 · Sullivan et al. · 2023 [cited by applicant]
US 11665362B2 · Sullivan et al. · 2023 [cited by applicant]
US 11700390B2 · Wang · 2023 [cited by applicant]
US 11743505B2 · Wang · 2023 [cited by applicant]
US 11765394B2 · Wang et al. · 2023 [cited by applicant]
US 11812062B2 · Wang · 2023 [cited by applicant]
US 11943463B2 · Sullivan et al. · 2024 [cited by applicant]
US 11943464B2 · Sullivan et al. · 2024 [cited by applicant]
US 12022122B2 · Deshpande · 2024 [cited by applicant]
US 12034927B2 · Okawa et al. · 2024 [cited by applicant]
US 20100074340A1 · Luo · 2010 [cited by examiner]
US 20100130136A1 · Sepehri-Nik · 2010 [cited by examiner]
US 20100167689A1 · Sepehri-Nik · 2010 [cited by examiner]
US 20130272430A1 · Sullivan · 2013 [cited by examiner]
US 20140086336A1 · Wang · 2014 [cited by applicant]
US 20240276001A1 · Sullivan et al. · 2024 [cited by applicant]
US 20240283962A1 · Sullivan et al. · 2024 [cited by applicant]
US 20240373052A1 · Sullivan et al. · 2024 [cited by applicant]
Office Action dated Oct. 10, 2024, from U.S. Appl. No. 18/442,948, 58 pp. [cited by applicant]
Office Action dated Nov. 21, 2024, from U.S. Appl. No. 18/647,524, 58 pp. [cited by applicant]
Notice of Allowance dated Jan. 16, 2025, from U.S. Appl. No. 18/647,524, 5 pp. [cited by applicant]
Notice of Allowance dated Jan. 23, 2025, from U.S. Appl. No. 18/442,948, 5 pp. [cited by applicant]
U.S. Appl. No. 19/026,937, filed Jan. 17, 2025. [cited by applicant]
U.S. Appl. No. 19/026,979, filed Jan. 17, 2025. [cited by applicant]
U.S. Appl. No. 19/027,058, filed Jan. 17, 2025. [cited by applicant]
U.S. Appl. No. 19/027,105, filed Jan. 17, 2025. [cited by applicant]