# US 2021/0243446 A1 · Context initialization in entropy coding

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

- Number: US 2021/0243446 A1
- Document ID: US20210243446A1
- Status: Published application
- Kind: A1
- Application number: 17/232,811
- Filed: 2021-04-16
- Published: 2021-08-05
- Earliest claimed: 2011-06-16
- Assignees: Ge Video Compression, LLC
- Applicants: Ge Video Compression, LLC
- Inventors: Valeri GEORGE; Benjamin BROSS; Heiner KIRCHHOFFER; Detlev MARPE; Tung NGUYEN; Matthias PREISS; Mischa SIEKMANN; Jan STEGEMANN; Thomas WIEGAND
- Web page: https://patentgrep.com/patent/US20210243446A1

## CPC

- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H03M 7/3064: {Segmenting}
- H03M 7/42: using table look-up for the coding or decoding process, e.g. using read-only memory {(H03M7/4006 takes precedence)}
- H04N 19/124: Quantisation
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N 19/50: using predictive coding (H04N19/61 takes precedence)
- H04N 19/513: Processing of motion vectors
- H04N 19/52: by predictive encoding
- H04N 19/61: in combination with predictive coding
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- 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)

## Abstract

A decoder includes an entropy decoder configured to derive a number of bins of the binarizations from the data stream using binary entropy decoding by selecting a context among different contexts and updating probability states associated with the different contexts, dependent on previously decoded portions of the data stream; a desymbolizer configured to debinarize the binarizations of the syntax elements to obtain integer values of the syntax elements; a reconstructor configured to reconstruct the video based on the integer values of the syntax elements using a quantization parameter, wherein the entropy decoder is configured to distinguish between 126 probability states and to initialize the probability states associated with the different contexts according to a linear equation of the quantization parameter, wherein the entropy decoder is configured to, for each of the different contexts, derive a slope and an offset of the linear equation from first and second four bit parts of a respective 8 bit initialization value.

## Claims

### Claim at position 1

1-23. (canceled)

### Claim 24

A decoder for decoding a video encoded in a data stream comprising syntax elements encoded therein, the decoder comprising:
an entropy decoder configured to decode the syntax elements based on one or more of a plurality of contexts used in binary arithmetic decoding, wherein the entropy decoder is configured to:
initialize at least one of the plurality of contexts based on a slope value of an initialization equation and an offset value of the initialization equation, wherein:
the slope value is computed by applying a first arithmetic operation on a first set of four bits of an 8-bit initialization value associated with the at least one context,
the offset value is computed by applying a second arithmetic operation on a second set of four bits of the 8-bit initialization value, and
update a probability state associated with the at least one context by transitioning from a current probability state associated to a new probability state; and
a reconstructor configured to reconstruct the video based on entropy-decoded syntax elements.

### Claim 25 (depends on 24)

The decoder according to claim 24, wherein the data stream comprises encoded binarizations of the syntax elements,
the entropy decoder is configured to decode the binarizations based on the binary arithmetic decoding, the decoder further comprises a desymbolizer configured to debinarize the binarizations of the syntax elements to obtain integer values of the syntax elements, and
the reconstructor is configured to reconstruct the video based on the integer values of the syntax elements.

### Claim 26 (depends on 24)

The decoder according to claim 24, wherein the entropy decoder is configured to decode the syntax elements based on context-adaptive binary arithmetic decoding (CABAC).

### Claim 27 (depends on 24)

The decoder according to claim 24, wherein the entropy decoder is configured to select a context from the plurality of contexts to decode a syntax element based on one or more of:
a bin position of a bin of the syntax element,
a syntax element type of the syntax element, and
a value associated with a syntax element previously decoded.

### Claim 28 (depends on 24)

The decoder according to claim 24, wherein the entropy decoder is configured to update probability states associated with each of the plurality of contexts by transitioning from a current probability state associated with the context to a new probability state among 126 probability sates based on a portion of a syntax element being currently decoded.

### Claim 29 (depends on 24)

The decoder according to claim 24, wherein the entropy decoder is configured to binary arithmetic decode a bin of a syntax element being currently decoded by quantizing a current probability interval width value representing a current probability interval to acquire a probability interval index, and performing an interval subdivision by indexing a table entry among tables entries using the probability interval index and a probability state index depending on a current probability state associated with the context selected for the bin, to acquire a sub-division of the current probability interval into two partial intervals.

### Claim 30 (depends on 29)

The decoder according to claim 29, wherein the entropy decoder is configured to use an 8-bit representation for the current probability interval width value and to obtain 2 or 3 most significant bits of the 8-bit representation in quantizing the current probability interval width value.

### Claim 31 (depends on 29)

The decoder according to claim 29, wherein the entropy decoder is configured to:
select one of the two partial intervals based on an offset state value from an interior of the current probability interval;
update the probability interval width value and the offset state value;
infer a value of the bin using the selected partial interval; and
perform a renormalization of the updated probability interval width value and the offset state value comprising a continuation of reading bits from the data stream.

### Claim 32 (depends on 24)

The decoder according to claim 24, wherein the entropy decoder is configured to initialize state and value variables of each of the plurality of contexts at the beginning of each slice of the video.

### Claim 33 (depends on 24)

The decoder according to claim 24, wherein the slope value and the offset value are determined based on the first and second sets of 4 bits of the 8-bit initialization value using a look-up table.

### Claim 34 (depends on 24)

The decoder according to claim 24, wherein the data stream comprises at least a portion associated with color samples related to the video.

### Claim 35 (depends on 24)

The decoder according to claim 24, wherein the data stream comprises at least a portion associated with depth values related to a depth map related to the video.

### Claim 36

An encoder for encoding a video into a data stream, comprising:
an entropy encoder configured to encode syntax elements related to the video into the data stream based on one or more of a plurality of contexts used in binary arithmetic encoding, wherein the entropy encoder is configured to:
initialize at least one of the plurality of contexts based on a slope value of an initialization equation and an offset value of the initialization equation, wherein:
the slope value is computed by applying a first arithmetic operation on a first set of four bits of an 8-bit initialization value associated with the at least one context,
the offset value is computed by applying a second arithmetic operation on a second set of four bits of the 8-bit initialization value, and
update a probability state associated with the at least one context by transitioning from a current probability state associated to a new probability state.

### Claim 37 (depends on 36)

The encoder according to claim 36, further comprising a symbolizer configured to binarize the syntax elements to obtain binarizations of the syntax elements, wherein the entropy encoder is configured to encode the binarizations based on the binary arithmetic encoding.

### Claim 38 (depends on 36)

The encoder according to claim 36, wherein the entropy encoder is configured to encode the syntax elements based on context-adaptive binary arithmetic encoding (CABAC).

### Claim 39 (depends on 36)

The encoder according to claim 36, wherein the entropy encoder is configured to select a context from the plurality of contexts to encode a syntax element based on one or more of:
a bin position of a bin of the syntax element,
a syntax element type of the syntax element, and
a value associated with a syntax element previously encoded.

### Claim 40 (depends on 36)

The encoder according to claim 36, wherein the entropy encoder is configured to update probability states associated with each of the plurality of contexts by transitioning from a current probability state associated with the context to a new probability state among 126 probability sates based on a portion of a syntax element being currently encoded.

### Claim 41 (depends on 36)

The encoder according to claim 36, wherein the data stream comprises at least a portion associated with color samples related to the video.

### Claim 42 (depends on 36)

The encoder according to claim 36, wherein the data stream comprises at least a portion associated with depth values related to a depth map related to the video.

### Claim 43

A non-transitory computer-readable medium for storing data associated with a video, comprising:
a data stream stored in the non-transitory computer-readable medium, the data stream comprising encoded syntax elements associated with the video, wherein the syntax elements are entropy encoded based on one or more of a plurality of contexts used in binary arithmetic encoding, wherein, in encoding data of the video, at least one of the plurality of contexts is initialized based on a slope value of an initialization equation and an offset value of the initialization equation, wherein:
the slope value is computed by applying a first arithmetic operation on a first set of four bits of an 8-bit initialization value associated with the at least one context,
the offset value is computed by applying a second arithmetic operation on a second set of four bits of the 8-bit initialization value, and
a probability state associated with the at least one context is updated by transitioning from a current probability state associated to a new probability state.
