# US 11,451,813 B2 · Syntax and semantics for buffering information to simplify video splicing

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,451,813 B2
- Document ID: US11451813B2
- Status: Granted
- Kind: B2
- Application number: 17/350,510
- Filed: 2021-06-17
- Published: 2021-10-07
- Granted: 2022-09-20
- Earliest claimed: 2013-01-07
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Gary J. Sullivan; Lihua Zhu
- Web page: https://patentgrep.com/patent/US11451813B2

## CPC

- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 21/23424: {involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement}
- H04N 21/44016: {involving splicing one content stream with another content stream, e.g. for substituting a video clip}
- H04N 7/147: {Communication arrangements, e.g. identifying the communication as a video-communication, intermediate storage of the signals (selecting H04Q)}
- H04N 7/15: Conference systems
- H04N 7/18: Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N 19/573: Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction
- H04N 19/58: Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one (H04N19/23 takes precedence)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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

### Claim 4 (depends on 1)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 1)

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.

### Claim 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.

### Claim 10 (depends on 9)

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.

### Claim 11 (depends on 9)

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

### Claim 12 (depends on 9)

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.

### Claim 13 (depends on 12)

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.

### Claim 14 (depends on 9)

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.

### Claim 15 (depends on 9)

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.

### Claim 16 (depends on 9)

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.

### Claim 17 (depends on 9)

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.

### Claim 18 (depends on 9)

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.

### Claim 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.

### Claim 20 (depends on 19)

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.
