IP Library › Granted Patent US 12,273,550
Granted Patent B2
US 12,273,550 · App. 18/442,948 · Granted Apr 8, 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,273,550
App. No.
18/442,948
Granted
Apr 8, 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. A computer system comprising:

a buffer configured to receive encoded data for pictures of a video sequence, the encoded data including:

a picture timing supplemental enhancement information (“SEI”) message associated with a current picture among the pictures of the video sequence, the picture timing SEI message 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 buffering period SEI message associated with the first preceding picture; and

a buffering period SEI message associated with the current picture, the buffering period SEI message 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 buffering period SEI message associated with the second preceding picture; and

a video decoder configured to decode the encoded data by performing operations that include parsing the picture timing SEI message associated with the current picture and parsing the buffering period SEI message associated with the current picture, wherein the CPBRD delta value enables a 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 computer system of claim 1 , wherein the CPBRD delta value is signaled in the buffering period SEI message associated with the current picture as a syntax element representing the CPBRD delta value minus 1.

3. The computer system of claim 1 , wherein the CPBRD value for the current picture is signaled in the picture timing SEI message associated with the current picture as a syntax element representing the CPBRD value for the current picture minus 1.

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

5. The computer system of claim 1 , wherein the operations further comprise:

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 computer system of claim 1 , wherein the operations further comprise:

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

8. The computer system 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. In a computer system, a method comprising:

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

a picture timing supplemental enhancement information (“SEI”) message associated with a current picture among the pictures of the video sequence, the picture timing SEI message 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 buffering period SEI message associated with the first preceding picture; and

a buffering period SEI message associated with the current picture, the buffering period SEI message 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 buffering period SEI message associated with the second preceding picture; and

storing, in memory or storage, the encoded data, the encoded data being organized to facilitate decoding by operations that include parsing the picture timing SEI message associated with the current picture and parsing the buffering period SEI message associated with the current picture, wherein the CPBRD delta value enables a 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 method of claim 9 , wherein the CPBRD delta value is signaled in the buffering period SEI message associated with the current picture as a syntax element representing the CPBRD delta value minus 1.

11. The method of claim 9 , wherein the CPBRD value for the current picture is signaled in the picture timing SEI message associated with the current picture as a syntax element representing the CPBRD value for the current picture minus 1.

12. The method of claim 9 , wherein the current picture is a random access picture.

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

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

15. 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, and storage, the operations comprising:

encoding pictures of a video sequence, thereby producing encoded data, wherein the encoding the pictures includes:

encoding a picture timing supplemental enhancement information (“SEI”) message associated with a current picture among the pictures of the video sequence, the picture timing SEI message 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 buffering period SEI message associated with the first preceding picture; and

encoding a buffering period SEI message associated with the current picture, the buffering period SEI message 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 buffering period SEI message associated with the second preceding picture; and

outputting the encoded data as part of a bitstream, the encoded data including the picture timing SEI message associated with the current picture and the buffering period SEI message 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 one or more computer-readable media of claim 15 , wherein the CPBRD delta value is signaled in the buffering period SEI message associated with the current picture as a syntax element representing the CPBRD delta value minus 1.

17. The one or more computer-readable media of claim 15 , wherein the CPBRD value for the current picture is signaled in the picture timing SEI message associated with the current picture as a syntax element representing the CPBRD value for the current picture minus 1.

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

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

20. The one or more computer-readable media 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 (8)
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 20240276001A1 · Aug 15, 2024
References Cited (38)
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 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 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 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 20240283961A1 · 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 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]
Office Action dated Jan. 30, 2025, from U.S. Appl. No. 18/647,431, 88 pp. [cited by applicant]
U.S. Pat. No. 9,661,341, filed May 23, 2017. [cited by applicant]
U.S. Pat. No. 10,313,698, filed Jun. 4, 2019. [cited by applicant]
U.S. Pat. No. 11,070,832, filed Jul. 20, 2021. [cited by applicant]
U.S. Pat. No. 11,451,813, filed Sep. 20, 2022. [cited by applicant]
U.S. Pat. No. 11,665,361, filed May 30, 2023. [cited by applicant]
U.S. Pat. No. 11,665,362, filed May 30, 2023. [cited by applicant]
U.S. Pat. No. 11,943,463, filed Mar. 26, 2024. [cited by applicant]
U.S. Pat. No. 11,943,464, filed Mar. 26, 2024. [cited by applicant]
U.S. Pat. App. Pub. No. 2024/0283961, filed Aug. 22, 2024. [cited by applicant]
U.S. Pat. App. Pub. No. 2024/0283962, filed Aug. 22, 2024. [cited by applicant]
U.S. Pat. App. Pub. No. 2024/0373052, filed Nov. 7, 2024. [cited by applicant]