# US 11,113,846 B2 · Coefficient context modeling in video coding

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

- Number: US 11,113,846 B2
- Document ID: US11113846B2
- Status: Granted
- Kind: B2
- Application number: 16/555,895
- Filed: 2019-08-29
- Published: 2020-03-05
- Granted: 2021-09-07
- Earliest claimed: 2018-08-31
- Assignees: Hulu, LLC
- Applicants: Hulu, LLC
- Inventors: Wenhao Zhang; Deliang Fu; Juncheng Ma; Chen Liu
- Web page: https://patentgrep.com/patent/US11113846B2

## CPC

- G06T 9/001: {Model-based coding, e.g. wire frame}
- H03M 7/40: Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- G06T 3/40: Scaling of whole images or parts thereof, e.g. expanding or contracting
- H03M 7/3075: {Space}
- H03M 7/3079: {Context modeling}
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/18: the unit being a set of transform coefficients
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

In some embodiments, a method determines a plurality of classes of bins that are used to determine a context model for entropy coding of a current block in a video. The method calculates a first value for a first class of bins in the plurality of classes of bins and calculates a second value for a second class of bins in the plurality of classes of bins. The first value for the first class of bins is weighted by a first weight to generate a weighted first value and the second value for the second class of bins is weighted by a second weight to generate a weighted second value. The method then selects a context model based on the first weighted value and the second weighted value.

## Claims

### Claim 1

A method comprising:
determining, by a computing device, a plurality of classes of bins that are used to determine a context model for entropy coding of a current block in a video;
calculating, by the computing device, a first value for a first class of bins in the plurality of classes of bins for a first bin plane;
calculating, by the computing device, a second value for a second class of bins in the plurality of classes of bins for the first bin plane;
weighting, by the computing device, the first value for the first class of bins by a first weight to generate a weighted first value and weighting the second value for the second class of bins by a second weight to generate a weighted second value;
selecting, by the computing device, a third value for a second bin plane; and
selecting, by the computing device, a context model based on the first weighted value, the second weighted value, and the third value.

### Claim 2 (depends on 1)

The method of claim 1, wherein a first center point in a first bin in the first class of bins is closer in distance to the current block compared to a second center point in a second bin in the second class of bins.

### Claim 3 (depends on 1)

The method of claim 1, wherein center points in bins in the first class of bins are closer in distance to the current block compared to center points in bins in the second class of bins.

### Claim 4 (depends on 1)

The method of claim 1, wherein bins in the first class of bins are positioned in a first line and bins in the second class of bins are positioned in a second line.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first class of bins and the second class of bins are in a local template for the current block.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first weight weights the first class of bins higher than the second weight for the second class of bins.

### Claim 7 (depends on 1)

The method of claim 1, wherein selecting the context model comprises:
selecting a content index based on the first weighted value, the second weighted value, and the third value, wherein the content index points to the context model.

### Claim 8 (depends on 1)

The method of claim 1, wherein:
calculating the first value for a first class of bins in the plurality of classes of bins comprises calculating a first sum based on coefficient values for bins in the first class of bins; and
calculating the second value for the second class of bins in the plurality of classes of bins comprises calculating a second sum based on coefficient values for bins in the second class of bins.

### Claim 9 (depends on 8)

The method of claim 8, wherein:
the first sum is a first number of bins with non-zero coefficient values in the first class of bins, and
the second sum is a second number of bins with non-zero coefficient values in the second class of bins.

### Claim 10 (depends on 8)

The method of claim 8, wherein:
weighting the first value for the first class of bins comprises weighting the first sum by the first weight to generate a first weighted sum, and
weighting the second value for the second class of bins comprises weighting the second sum by the second weigh to generate a second weighted sum.

### Claim 11 (depends on 10)

The method of claim 10, wherein selecting the context model comprises using the first weighted sum, the second weighted sum, and the third value to determine the context model.

### Claim 12 (depends on 1)

The method of claim 1, wherein determining the plurality of classes of bins comprises adaptively determining a number of the plurality of classes based on characteristics of the video.

### Claim 13 (depends on 12)

The method of claim 12, wherein the characteristics comprise one or more of a resolution of the video, a quantization parameter, and a number of non-zero coefficients in a template of bins for the current block.

### Claim 14 (depends on 1)

The method of claim 1, wherein determining the plurality of classes of bins comprises adaptively determining a number of the context models based on characteristics of the video.

### Claim 15

A non-transitory computer-readable storage medium containing instructions, that when executed, control a computer system to be operable for:
determining a plurality of classes of bins that are used to determine a context model for entropy coding of a current block in a video;
calculating a first value for a first class of bins in the plurality of classes of bins for a first bin plane;
calculating a second value for a second class of bins in the plurality of classes of bins for the first bin plane;
weighting the first value for the first class of bins by a first weight to generate a weighted first value and weighting the second value for the second class of bins by a second weight to generate a weighted second value;
selecting a third value for a second bin plane; and
selecting a context model based on the first weighted value, the second weighted value, and the third value.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein a first center point in a first bin in the first class of bins is closer in distance to the current block compared to a second center point in a second bin in the second class of bins.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein center points in bins in the first class of bins are closer in distance to the current block compared to center points in bins in the second class of bins.

### Claim 18 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein bins in the first class of bins are positioned in a first line and bins in the second class of bins are positioned in a second line.

### Claim 19 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein:
calculating the first value for a first class of bins in the plurality of classes of bins comprises calculating a first sum based on coefficient values for bins in the first class of bins; and
calculating the second value for the second class of bins in the plurality of classes of bins comprises calculating a second sum based on coefficient values for bins in the second class of bins.

### Claim 20

An apparatus comprising:
one or more computer processors; and
a non-transitory computer-readable storage medium comprising instructions, that when executed, control the one or more computer processors to be operable for:
determining a plurality of classes of bins that are used to determine a context model for entropy coding of a current block in a video;
calculating a first value for a first class of bins in the plurality of classes of bins for a first bin plane;
calculating a second value for a second class of bins in the plurality of classes of bins for the first bin plane;
weighting the first value for the first class of bins by a first weight to generate a weighted first value and weighting the second value for the second class of bins by a second weight to generate a weighted second value;
selecting a third value for a second bin plane; and
selecting a context model based on the first weighted value, the second weighted value, and the third value.
