# US 12,120,300 B2 · Restriction on number of context coded bins

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

- Number: US 12,120,300 B2
- Document ID: US12120300B2
- Status: Granted
- Kind: B2
- Application number: 17/554,696
- Filed: 2021-12-17
- Published: 2022-04-07
- Granted: 2024-10-15
- Earliest claimed: 2019-06-21
- Assignees: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Applicants: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Inventors: Li Zhang; Jizheng Xu; Kai Zhang; Hongbin Liu; Weijia Zhu
- Web page: https://patentgrep.com/patent/US12120300B2

## CPC

- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Restrictions on number of context coded bins are described. A method for video processing includes applying, for a conversion between a video and a bitstream representation of the video, control on maximum number of context coded bins per predetermined unit which is associated with the video; and performing the conversion based on the control.

## Claims

### Claim 1

A method of processing video data, comprising:
dividing, for a conversion between a block of a video and a bitstream of the block, contexts used for residual coding associated with the block into different groups of contexts;
applying controls on the different groups of contexts separately; and
performing the conversion based on the controls,
wherein the contexts used for residual coding are divided into the different groups of contexts based on an initial state of the contexts and/or a probability of the contexts, and
wherein each of the different groups of contexts has a threshold to control whether a context coded method can be applied.

### Claim 2 (depends on 1)

The method of claim 1, wherein different control strategies are applied to the different groups of contexts.

### Claim 3 (depends on 1)

The method of claim 1, wherein, for one group of the different groups of contexts, a corresponding counter is maintained to control a number of context coded bins that can be coded with the contexts in the one group,
wherein, when the number of context coded bins is larger than a corresponding threshold, context coded methods with contexts in the one group are disallowed, and
wherein the threshold depends on the initial state and/or the probability of the contexts in the one group and is signaled at at least one of a sequence picture set (SPS) level, a picture parameter set (PPS) level, a slice level, a picture level, or a tile group level.

### Claim 4 (depends on 1)

The method of claim 1, wherein grouping the contexts is changed dynamically, and wherein, when a state for a context is updated to be within a predefined state set, the context is assigned to a certain group.

### Claim 5 (depends on 4)

The method of claim 4, wherein regrouping is allowed based on the state and/or the probability of each context.

### Claim 6 (depends on 5)

The method of claim 5, wherein the regrouping is allowed in one of the following cases:
a number of samples have been coded since a last regrouping;
a given number of bits have been generated to the bitstream since the last regrouping;
a given number of coding groups have been processed since the last regrouping;
a probability difference in a group exceeds a first threshold;
a number of context coded bin exceeds a second threshold; or
the context and/or the probability is re-initialized.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
dividing syntax elements associated with the block into different groups of syntax elements; and
applying the controls on the different groups of syntax elements separately.

### Claim 8 (depends on 7)

The method of claim 7, wherein different control strategies are applied to the different groups of syntax elements.

### Claim 9 (depends on 8)

The method of claim 8, wherein the syntax elements include context coded syntax elements for residual coding, wherein the context coded syntax elements are classified into N groups, wherein each group has a threshold to control whether context coded method can be applied, and wherein N is an integer.

### Claim 10 (depends on 9)

The method of claim 9, wherein, for one group of the N groups, a corresponding counter is maintained to control a number of context coded bins that can be coded with Context-based Adaptive Binary Arithmetic Coding (CABAC) methods,
wherein, when the number of context coded bins is larger than a threshold, context coded methods are disallowed, and
wherein the threshold depends on an initial context and/or a probability of syntax elements in a group and is signaled at at least one of a sequence parameter set (SPS) level, a picture parameter set (PPS) level, a slice level, a picture level, or a tile group level.

### Claim 11 (depends on 7)

The method of claim 7, wherein the syntax elements are divided into different groups based on an initial context and/or a probability of a syntax element.

### Claim 12 (depends on 7)

The method of claim 7, wherein the syntax elements are divided into different groups based on where a syntax element is coded, and wherein the syntax element is coded in a partitioning level, a coding unit (CU) level, a prediction unit (PU) level, a transform unit (TU) level, or a residual coding level.

### Claim 13 (depends on 7)

The method of claim 7, wherein grouping the syntax elements is changed dynamically, and wherein, when a context for a syntax element is updated to be within a predefined context set, the syntax element is assigned to a certain group.

### Claim 14 (depends on 13)

The method of claim 13, wherein regrouping is allowed based on the context and/or the probability of each syntax element, and wherein the regrouping is allowed in one of the following cases:
a number of samples have been coded since a last regrouping;
a given number of bits have been generated to the bitstream since the last regrouping;
a given number of coding groups have been processed since the last regrouping;
a probability difference in a group exceeds a first threshold;
a number of context coded bin exceeds a second threshold; or
the context and/or the probability is re-initialized.

### Claim 15 (depends on 1)

The method of claim 1, wherein the conversion includes encoding the block into the bitstream.

### Claim 16 (depends on 1)

The method of claim 1, wherein the conversion includes decoding the block from the bitstream.

### Claim 17

An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:
divide, for a conversion between a block of a video and a bitstream of the block, contexts used for residual coding associated with the block into different groups of contexts, wherein the contexts used for residual coding are divided into the different groups of contexts based on an initial state of the contexts and/or a probability of the contexts;
apply controls on the different groups of contexts separately; and
perform the conversion based on the controls,
wherein each of the different groups of contexts has a threshold to control whether a context coded method can be applied.

### Claim 18

A non-transitory computer-readable recording medium storing a bitstream of a video which is generated by a method performed by a video processing apparatus, wherein the method comprises:
dividing contexts used for residual coding associated with a block of the video into different groups of contexts;
applying controls on the different groups of contexts separately; and
generating the bitstream based on the controls,
wherein the contexts used for residual coding are divided into the different groups of contexts based on an initial state of the contexts and/or a probability of the contexts, and
wherein each of the different groups of contexts has a threshold to control whether a context coded method can be applied.

### Claim 19 (depends on 17)

The apparatus of claim 17,
wherein, for one group of the different groups of contexts, a corresponding counter is maintained to control a number of context coded bins that can be coded with the contexts in the one group,
wherein, when the number of context coded bins is larger than the threshold, context coded methods with the contexts in the one group are disallowed,
wherein the threshold depends on the initial state and/or the probability of the contexts in the one group and is signaled at at least one of a sequence picture set (SPS) level, a picture parameter set (PPS) level, a slice level, a picture level, or a tile group level.

### Claim 20 (depends on 18)

The non-transitory computer-readable recording medium of claim 18,
wherein, for one group of the different groups of contexts, a corresponding counter is maintained to control a number of context coded bins that can be coded with the contexts in the one group,
wherein, when the number of context coded bins is larger than the threshold, context coded methods with the contexts in the one group are disallowed,
wherein the threshold depends on the initial state and/or the probability of the contexts in the one group and is signaled at at least one of a sequence picture set (SPS) level, a picture parameter set (PPS) level, a slice level, a picture level, or a tile group level.
