# US 2019/0320177 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 2019/0320177 A1
- Document ID: US20190320177A1
- Status: Published application
- Kind: A1
- Application number: 16/453,525
- Filed: 2019-06-26
- Published: 2019-10-17
- 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/US20190320177A1

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

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 entropy 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 four most significant bits of an 8-bit initialization value associated with the at least one context, and
the offset value is computed by applying a second arithmetic operation on four least significant bits of the 8-bit initialization value; and
a reconstructor configured to reconstruct the video based on entropy-decoded syntax elements.

### Claim 2 (depends on 1)

The decoder according to claim 1, wherein the data stream comprises encoded binarizations of the syntax elements,
the entropy decoder is configured to decode the binarizations based on the binary entropy 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 3 (depends on 1)

The decoder according to claim 1, wherein the entropy decoder is configured to decode the syntax elements based on binary arithmetic decoding.

### Claim 4 (depends on 1)

The decoder according to claim 1, 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 5 (depends on 1)

The decoder according to claim 1, 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 6 (depends on 1)

The decoder according to claim 1, 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 7 (depends on 6)

The decoder according to claim 6, 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 8 (depends on 6)

The decoder according to claim 6, 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 9 (depends on 1)

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

### Claim 10 (depends on 1)

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

### Claim 11 (depends on 1)

The decoder according to claim 1, wherein the slope value is determined based on a first arithmetic operation using four most significant bits of the 8-bit initialization value, and the offset value is determined based on a second arithmetic operation using four least significant bits of the 8-bit initialization value.

### Claim 12 (depends on 1)

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

### Claim 13 (depends on 1)

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

### Claim 14

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 entropy 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 four most significant bits of an 8-bit initialization value associated with the at least one context, and
the offset value is computed by applying a second arithmetic operation on four least significant bits of the 8-bit initialization value.

### Claim 15 (depends on 14)

The encoder according to claim 14, 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 entropy decoding.

### Claim 16 (depends on 14)

The encoder according to claim 14, wherein the entropy encoder is configured to encode the syntax elements based on binary arithmetic encoding.

### Claim 17 (depends on 14)

The encoder according to claim 14 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 18 (depends on 14)

The encoder according to claim 14, 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 19 (depends on 14)

The encoder according to claim 14, wherein the entropy encoder is configured to binary arithmetic encode a bin of a syntax element being currently encoded 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 20

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 entropy 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 four most significant bits of an 8-bit initialization value associated with the at least one context, and
the offset value is computed by applying a second arithmetic operation on four least significant bits of the 8-bit initialization value.
