# US 11,451,840 B2 · Trellis coded quantization coefficient coding

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

- Number: US 11,451,840 B2
- Document ID: US11451840B2
- Status: Granted
- Kind: B2
- Application number: 16/416,815
- Filed: 2019-05-20
- Published: 2019-12-19
- Granted: 2022-09-20
- Earliest claimed: 2018-06-18
- Assignees: QUALCOMM Incorporated
- Applicants: QUALCOMM Incorporated
- Inventors: Muhammed Zeyd Coban; Marta Karczewicz; Jie Dong
- Web page: https://patentgrep.com/patent/US11451840B2

## CPC

- H04N 19/124: Quantisation
- H04N 21/2383: Channel coding {or modulation} of digital bit-stream, e.g. QPSK modulation (arrangements for detecting or preventing errors in the information received by adapting the channel coding H04L1/0009; analogue front ends or means for connecting modulators, demodulators or transceivers to a transmission line H04L27/0002)
- H03M 13/256: {with trellis coding, e.g. with convolutional codes and TCM}
- H04L 1/006: {Trellis-coded modulation}
- H04L 1/0063: {Single parity check}
- H04N 19/18: the unit being a set of transform coefficients
- H04N 19/184: the unit being bits, e.g. of the compressed video stream
- H04N 19/147: according to rate distortion criteria (rate-distortion as a criterion for motion estimation H04N19/567)
- H04N 19/34: Scalability techniques involving progressive bit-plane based encoding of the enhancement layer, e.g. fine granular scalability [FGS]
- 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)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

An example device includes processing circuitry configured to determine a first state of a data structure, the first state representing a first quantizer applied to a previously quantized or inverse quantized value of a previous transform coefficient of residual data for a block of the video data and update the data structure to a second state according to the first state and a parity of a partial set of syntax elements representing a partial set of a plurality of coefficient levels for the previous transform coefficient. The processing circuitry is further configured to determine a second quantizer to be used to quantize or inverse quantize a current value of a current transform coefficient according to the second state of the data structure and quantize or inverse quantize the current value of the current transform coefficient using the second quantizer.

## Claims

### Claim 1

A method of quantizing or inverse quantizing for processing video data, the method comprising:
coding a value for a first greater than zero syntax element for a first quantized transform coefficient of a residual block of video data;
after coding the value for the first greater than zero syntax element, coding a first parity bit representing a parity for the first quantized transform coefficient;
after coding the first parity bit, coding one or more values for one or more syntax elements representing a remaining level value for the first quantized transform coefficient;
determining a first state of a data structure, the first state representing a first quantizer applied when quantizing or inverse quantizing the first quantized transform coefficient;
updating the data structure to a second state according to the first state and the parity for the first quantized transform coefficient;
after coding the value for the first greater than zero syntax element and the first parity bit, coding a value for a second greater than zero syntax element for a second quantized transform coefficient of the residual block of video data;
after coding the value for the second greater than zero syntax element, coding a second parity bit representing a parity for the second quantized transform coefficient;
after coding the second parity bit, coding one or more values for one or more syntax elements representing a remaining level value for the second quantized transform coefficient;
determining a second quantizer to be applied when quantizing or inverse quantizing the second quantized transform coefficient according to the second state of the data structure; and
quantizing or inverse quantizing the second quantized transform coefficient using the second quantizer.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
determining the parity for the first quantized transform coefficient from the first parity bit after coding the first greater than zero syntax element for the first quantized transform coefficient and before coding a full set of syntax elements representing an entire level for the first quantized transform coefficient, the full set of syntax elements including the one or more values for one or more syntax elements representing the remaining level value for the first quantized transform coefficient; and
determining the parity for the second quantized transform coefficient from the second parity bit after coding the second greater than zero syntax element for the second quantized transform coefficient and before coding a full set of syntax elements representing an entire level for the second quantized transform coefficient, the full set of syntax elements including the one or more values for the one or more syntax elements representing the remaining level value for the second quantized transform coefficient.

### Claim 3 (depends on 2)

The method of claim 2, further comprising:
after determining the second quantizer, coding the full set of syntax elements representing the entire level for the first quantized transform coefficient.

### Claim 4 (depends on 3)

The method of claim 3, wherein a first set of syntax elements for the first quantized transform coefficient includes the first greater than zero syntax element and the first parity bit, the method further comprising:
after coding the first set of syntax elements, coding a second set of syntax elements for the first quantized transform coefficient, the second set of syntax elements representing a certain partially coded level for the first quantized transform coefficient that is less than a full set of syntax elements representing the entire level for the first quantized transform coefficient.

### Claim 5 (depends on 4)

The method of claim 4, further comprising, after coding the second set of syntax elements:
bypass encoding or bypass decoding a first set of syntax elements representing a remaining level for the first quantized transform coefficient and a second set of syntax elements representing a remaining level for the second quantized transform coefficient.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
forming a prediction block for the block;
calculating a residual block for the block, the residual block representing pixel by pixel differences between the block and the prediction block; and
transforming the residual block to produce the previous transform coefficient and the current transform coefficient,
wherein quantizing or inverse quantizing comprises quantizing a transform coefficient to form the second quantized transform coefficient.

### Claim 7 (depends on 1)

The method of claim 1, wherein quantizing or inverse quantizing comprises inverse quantizing the second quantized transform coefficient to form a second transform coefficient, the method further comprising:
inverse quantizing the first quantized transform coefficient to form a first transform coefficient;
forming a prediction block for the block;
inverse transforming a transform block including the first transform coefficient and the second transform coefficient to produce a residual block for the block; and
combining the prediction block and the residual block to reconstruct the block.

### Claim 8 (depends on 1)

The method of claim 1, wherein the data structure comprises a state machine.

### Claim 9 (depends on 8)

The method of claim 8, wherein the state machine has a possible set of states of 0, 1, 2, 3, and has transitions from:
state 0 to state 0, state 1 to state 2, state 2 to state 1, and state 3 to state 3 when the parity equals 0; and
state 0 to state 2, state 1 to state 0, state 2 to state 3, and state 3 to state 1 when the parity equals 1.

### Claim 10 (depends on 9)

The method of claim 9, wherein determining the second quantizer comprises:
determining a quantizer Q0 when the second state comprises state 0 or state 1; or
determining a quantizer Q1 when the second state comprises state 2 or state 3.

### Claim 11

A device for quantizing or inverse quantizing for processing video data, the device comprising processing circuitry configured to:
code a value for a first greater than zero syntax element for a first quantized transform coefficient of a residual block of video data;
after coding the value for the first greater than zero syntax element, code a first parity bit representing a parity for the first quantized transform coefficient;
after coding the first parity bit, code one or more values for one or more syntax elements representing a remaining level value for the first quantized transform coefficient;
determine a first state of a data structure, the first state representing a first quantizer applied when quantizing or inverse quantizing the first quantized transform coefficient;
update the data structure to a second state according to the first state and the parity for the first quantized transform coefficient;
after coding the value for the first greater than zero syntax element and the first parity bit, code a value for a second greater than zero syntax element for a second quantized transform coefficient of the residual block of video data;
after coding the value for the second greater than zero syntax element, code a second parity bit representing a parity for the second quantized transform coefficient;
after coding the second parity bit, code one or more values for one or more syntax elements representing a remaining level value for the second quantized transform coefficient;
determine a second quantizer to be applied when quantizing or inverse quantizing the second quantized transform coefficient according to the second state of the data structure; and
quantize or inverse quantize the second quantized transform coefficient using the second quantizer.

### Claim 12 (depends on 11)

The device of claim 11, wherein the processing circuitry is configured to:
determine the parity for the first quantized transform coefficient from the first parity bit after coding the first greater than zero syntax element for the first quantized transform coefficient and before coding a full set of syntax elements representing an entire level for the first quantized transform coefficient, the full set of syntax elements including the one or more values for the one or more syntax elements representing the remaining level value for the first quantized transform coefficient; and
determine the parity for the second quantized transform coefficient from the second parity bit after coding the second greater than zero syntax element for the second quantized transform coefficient and before coding the one or more values for the one or more syntax elements representing the remaining level value for the second quantized transform coefficient.

### Claim 13 (depends on 12)

The device of claim 12, wherein the processing circuitry is configured to:
after determining the second quantizer, code the full set of syntax elements representing the entire level for the first quantized transform coefficient.

### Claim 14 (depends on 13)

The device of claim 13, wherein a first set of syntax elements for the first quantized transform coefficient includes the first greater than zero syntax element and the first parity bit, and wherein the processing circuitry is configured to:
after coding the first set of syntax elements, code a second set of syntax elements for the first quantized transform coefficient, the second set of syntax elements representing a certain partially coded level for the first quantized transform coefficient that is less than a full set of syntax elements representing the entire level for the first quantized transform coefficient.

### Claim 15 (depends on 14)

The device of claim 14, wherein the processing circuitry is configured to, after coding the second set of syntax elements:
bypass code or bypass decode a set of syntax elements representing a remaining level for the first quantized transform coefficient and a second set of syntax elements representing a remaining level for the second quantized transform coefficient.

### Claim 16 (depends on 11)

The device of claim 11, wherein the processing circuitry is configured to:
form a prediction block for the block;
calculate a residual block for the block, the residual block representing pixel by pixel differences between the block and the prediction block; and
transform the residual block to produce the previous transform coefficient and the current transform coefficient,
wherein, to quantize or inverse quantize, the processing circuitry is configured to quantize a transform coefficient to form the second quantized transform coefficient.

### Claim 17 (depends on 11)

The device of claim 11, wherein the processing circuitry is configured to:
form a prediction block for the block;
inverse transform a transform block including the previous transform coefficient and the current transform coefficient to produce a residual block for the block; and
combine the prediction block and the residual block to reconstruct the block,
wherein, to quantize or inverse quantize, the processing circuitry is configured to inverse quantize.

### Claim 18 (depends on 11)

The device of claim 11, wherein the data structure comprises a state machine.

### Claim 19 (depends on 11)

The device of claim 11, wherein the state machine has a possible set of states of 0, 1, 2, 3, and has transitions from:
state 0 to state 0, state 1 to state 2, state 2 to state 1, and state 3 to state 3 when the parity equals 0; and
state 0 to state 2, state 1 to state 0, state 2 to state 3, and state 3 to state 1 when the parity equals 1.

### Claim 20 (depends on 19)

The device of claim 19, wherein, to determine the second quantizer, the processing circuitry is configured to:
determine a quantizer Q0 when the second state comprises state 0 or state 1; or
determine a quantizer Q1 when the second state comprises state 2 or state 3.

### Claim 21 (depends on 11)

The device of claim 11, further comprising a camera configured to capture the video data.

### Claim 22 (depends on 11)

The device of claim 11, further comprising a display configured to display decoded video data.

### Claim 23 (depends on 11)

The device of claim 11, wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

### Claim 24 (depends on 11)

The device of claim 11, further comprising a memory configured to store the video data.

### Claim 25 (depends on 11)

The device of claim 11, wherein the device comprises at least one of:
an integrated circuit;
a microprocessor; or
a wireless communication device.

### Claim 26

A device for quantizing or inverse quantizing for processing video data, the device comprising:
means for coding a value for a first greater than zero syntax element for a first quantized transform coefficient of a residual block of video data;
means for coding a first parity bit representing a parity for the first quantized transform coefficient after coding the value for the first greater than zero syntax element;
means for coding one or more values for one or more syntax elements representing a remaining level value for the first quantized transform coefficient after coding the first parity bit;
means determining a first state of a data structure, the first state representing a first quantizer applied when quantizing or inverse quantizing the first quantized transform coefficient;
means for coding a value for a second greater than zero syntax element for a second quantized transform coefficient of the residual block of video data after coding the value for the first greater than zero syntax element and the first parity bit;
means for coding a second parity bit representing a parity for the second quantized transform coefficient after coding the value for the second greater than zero syntax element;
means for coding one or more values for one or more syntax elements representing a remaining level value for the second quantized transform coefficient after coding the second parity bit;
means for updating the data structure to a second state according to the first state and the parity for the first quantized transform coefficient;
means for determining a second quantizer to be applied when quantizing or inverse quantizing the second quantized transform coefficient according to the second state of the data structure; and
means for quantizing or inverse quantizing the second quantized transform coefficient using the second quantizer.

### Claim 27

A computer-readable storage medium having stored thereon instructions that, when executed, cause a processor to:
code a value for a first greater than zero syntax element for a first quantized transform coefficient of a residual block of video data;
after coding the value for the first greater than zero syntax element, code a first parity bit representing a parity for the first quantized transform coefficient;
after coding the first parity bit, code one or more values for one or more syntax elements representing a remaining level value for the first quantized transform coefficient;
determine a first state of a data structure, the first state representing a first quantizer applied when quantizing or inverse quantizing the first quantized transform coefficient;
update the data structure to a second state according to the first state and the parity for the first quantized transform coefficient;
after coding the value for the first greater than zero syntax element and the first parity bit, code a value for a second greater than zero syntax element for a second quantized transform coefficient of the residual block of video data;
after coding the value for the second greater than zero syntax element, code a second parity bit representing a parity for the second quantized transform coefficient;
after coding the second parity bit, code one or more values for one or more syntax elements representing a remaining level value for the second quantized transform coefficient;
determine a second quantizer to be applied when quantizing or inverse quantizing the second quantized transform coefficient according to the second state of the data structure; and
quantize or inverse quantize the second quantized transform coefficient using the second quantizer.
