# US 12,120,318 B2 · Encoding and decoding method, bitstream, encoder, decoder, and computer storage medium

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

- Number: US 12,120,318 B2
- Document ID: US12120318B2
- Status: Granted
- Kind: B2
- Application number: 18/513,932
- Filed: 2023-11-20
- Published: 2024-03-14
- Granted: 2024-10-15
- Earliest claimed: 2021-06-29
- Assignees: Guangdong Oppo Mobile Telecommunications Corp., Ltd.
- Applicants: Guangdong Oppo Mobile Telecommunications Corp., Ltd.
- Inventors: Fan Wang; Zhihuang Xie
- Web page: https://patentgrep.com/patent/US12120318B2

## CPC

- H04N 19/167: Position within a video image, e.g. region of interest [ROI]
- H04N 19/129: Scanning of coding units, e.g. zig-zag scan of transform coefficients or flexible macroblock ordering [FMO]
- H04N 19/136: Incoming video signal characteristics or properties
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/176: the region being a block, e.g. a macroblock
- 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/186: the unit being a colour or a chrominance component
- H04N 19/48: using compressed domain processing techniques other than decoding, e.g. modification of transform coefficients, variable length coding [VLC] data or run-length data (motion estimation in a transform domain H04N19/547; processing of decoded motion vectors H04N19/513)
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A decoding method, an encoding method, an encoder, and a decoder are provided. The decoding method includes that: determining, by parsing a bitstream, last significant coefficient location reverse identification information of a current slice, and coordinate information of a last significant coefficient of a current block of blocks in the current slice; in response to the last significant coefficient location reverse identification information indicating that last significant coefficient location reverse is applied to the blocks in the current slice, obtaining a location of the last significant coefficient of the current block by performing calculation on the coordinate information of the last significant coefficient; and determining coefficients of the current block by decoding coefficients located above the location of the last significant coefficient in a preset scanning order.

## Claims

### Claim 1

A decoding method, performed by a decoder, the method comprising:
determining, by parsing a bitstream, last significant coefficient location reverse identification information of a current slice, and coordinate information of a last significant coefficient of a current block of blocks in the current slice;
in response to the last significant coefficient location reverse identification information indicating that last significant coefficient location reverse is applied to the blocks in the current slice, obtaining a location of the last significant coefficient of the current block by performing calculation on the coordinate information of the last significant coefficient; and
determining coefficients of the current block by decoding coefficients located above the location of the last significant coefficient in a preset scanning order,
wherein the method further comprises:
in response to the last significant coefficient location reverse identification information indicating that the last significant coefficient location reverse is applied to the blocks in the current slice, determining the coordinate information of the last significant coefficient of the current block to be a horizontal distance and a vertical distance between the location of the last significant coefficient and a bottom right corner of the current block.

### Claim 2 (depends on 1)

The decoding method of claim 1, further comprising:
determining first syntax element identification information by parsing the bitstream; and
performing the operation of determining the last significant coefficient location reverse identification information of the current slice by parsing the bitstream, in response to the first syntax element identification information indicating that the last significant coefficient location reverse is enabled for a current sequence, wherein the current sequence comprises the current slice.

### Claim 3 (depends on 2)

The decoding method of claim 2, further comprising:
determining second syntax element identification information by parsing the bitstream;
determining third syntax element identification information by parsing the bitstream, in response to the second syntax element identification information indicating that a standard extension release is applied to the current sequence; and
performing the operation of determining the first syntax element identification information by parsing the bitstream, in response to the third syntax element identification information indicating that range extension is applied to the current sequence.

### Claim 4 (depends on 3)

The decoding method of claim 3, wherein the range extension is applied to the current sequence, which comprises: the current sequence is of at least one of a high bit depth, high quality, a high bit rate, a high frame rate, or lossless compression.

### Claim 5 (depends on 1)

The decoding method of claim 1, further comprising:
in response to the last significant coefficient location reverse identification information indicating that the last significant coefficient location reverse is not applied to the blocks in the current slice, determining the location of the last significant coefficient of the current block directly according to the coordinate information of the last significant coefficient; and
determining the coefficients of the current block by decoding the coefficients located above the location of the last significant coefficient in the preset scanning order.

### Claim 6 (depends on 1)

The decoding method of claim 1, wherein a component of the current slice comprises at least one of a first colour component, a second colour component, or a third colour component,
wherein the first colour component is a luma component, the second colour component is a first chroma component, and the second colour component is a second chroma component, or
wherein the first colour component is a red component, the second colour component is a green component, and the third colour component is a blue component,
wherein determining the last significant coefficient location reverse identification information of the current slice by parsing the bitstream comprises: determining first last significant coefficient location reverse identification information of the current slice by parsing the bitstream,
wherein the method further comprises:
in response to a value of the first last significant coefficient location reverse identification information being a first value, determining that the last significant coefficient location reverse is applied to each of the first colour component, the second colour component, and the third colour component of the current slice.

### Claim 7 (depends on 1)

The decoding method of claim 1,
wherein obtaining the location of the last significant coefficient of the current block by performing calculation on the coordinate information of the last significant coefficient comprises:
determining a width and a height of the current block;
obtaining a horizontal coordinate of the last significant coefficient by subtracting the horizontal distance between the location of the last significant coefficient and the bottom right corner of the current block from the width of the current block;
obtaining a vertical coordinate of the last significant coefficient by subtracting the vertical distance between the location of the last significant coefficient and the bottom right corner of the current block from the height of the current block; and
determining the location of the last significant coefficient of the current block according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient.

### Claim 8 (depends on 1)

The decoding method of claim 1, further comprising:
in response to the last significant coefficient location reverse identification information indicating that the last significant coefficient location reverse is not applied to the blocks in the current slice, determining the coordinate information of the last significant coefficient of the current block to be a horizontal distance and a vertical distance between the location of the last significant coefficient and a top left corner of the current block; and
determining the location of the last significant coefficient of the current block according to the horizontal distance and the vertical distance between the location of the last significant coefficient and the top left corner of the current block.

### Claim 9 (depends on 3)

The decoding method of claim 3, further comprising: in response to the third syntax element identification information indicating that the range extension is applied to the current sequence,
determining last coefficient enabled identification information of the current block by parsing the bitstream; and
in response to the last coefficient enabled identification information indicating that a last coefficient location is applied to the current block, determining the coefficients of the current block by decoding coefficients located above the last coefficient location in the preset scanning order, and
the method further comprising:
determining a width and a height of a transform block obtained by performing a preset operation on the current block, wherein the preset operation comprises at least a zero-out operation;
calculating coordinate information of a bottom right corner of the transform block according to the width and the height of the transform block; and
determining the last coefficient location according to the coordinate information of the bottom right corner of the transform block.

### Claim 10

An encoding method, performed by an encoder, the method comprising:
determining last significant coefficient location reverse identification information of a current slice, and a location of a last significant coefficient of a current block of blocks in the current slice;
determining coordinate information of the last significant coefficient of the current block according to the last significant coefficient location reverse identification information and the location of the last significant coefficient; and
encoding coefficients located above the location of the last significant coefficient in a preset scanning order, and signalling, into a bitstream, bit information obtained through the encoding, the last significant coefficient location reverse identification information, and the coordinate information of the last significant coefficient,
wherein the location of the last significant coefficient comprises an initial horizontal coordinate and an initial vertical coordinate of the last significant coefficient, the initial horizontal coordinate and the initial vertical coordinate being a horizontal distance and a vertical distance between the location of the last significant coefficient and a top left corner of the current block, respectively,
wherein determining the coordinate information of the last significant coefficient of the current block according to the last significant coefficient location reverse identification information and the location of the last significant coefficient comprises:
in response to a value of the last significant coefficient location reverse identification information being a first value, determining the coordinate information of the last significant coefficient by performing calculation on the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient,
wherein the method further comprises:
in response to the value of the last significant coefficient location reverse identification information being the first value, determining the coordinate information of the last significant coefficient to be a horizontal distance and a vertical distance between the location of the last significant coefficient and a bottom right corner of the current block.

### Claim 11 (depends on 10)

The encoding method of claim 10, further comprises: before determining the last significant coefficient location reverse identification information of the current slice,
determining first syntax element identification information; and
performing the operation of determining the last significant coefficient location reverse identification information of the current slice in response to the first syntax element identification information indicating that the last significant coefficient location reverse is enabled for a current sequence, wherein the current sequence comprises the current slice.

### Claim 12 (depends on 11)

The encoding method of claim 11, further comprises: before determining the first syntax element identification information,
determining second syntax element identification information;
determining third syntax element identification information in response to the second syntax element identification information indicating that a standard extension release is applied to the current sequence; and
performing the operation of determining the first syntax element identification information in response to the third syntax element identification information indicating that range extension is applied to the current sequence.

### Claim 13 (depends on 12)

The encoding method of claim 12, wherein the range extension being applied to the current sequence comprises: the current sequence is of at least one of a high bit depth, high quality, a high bit rate, a high frame rate, or lossless compression.

### Claim 14 (depends on 10)

The encoding method of claim 10, wherein the component of the current slice comprises at least one of a first colour component, a second colour component, or a third colour component,
wherein the first colour component is a luma component, the second colour component is a first chroma component, and the second colour component is a second chroma component, or
wherein the first colour component is a red component, the second colour component is a green component, and the third colour component is a blue component,
wherein determining the last significant coefficient location reverse identification information of the current slice comprises: determining first last significant coefficient location reverse identification information of the current slice,
wherein the method further comprises:
determining a value of the first last significant coefficient location reverse identification information to be a first value in response to that the last significant coefficient location reverse is applied to each of the first colour component, the second colour component, and the third colour component of the current slice.

### Claim 15 (depends on 10)

The encoding method of claim 10,
wherein determining the coordinate information of the last significant coefficient of the current block according to the last significant coefficient location reverse identification information and the location of the last significant coefficient further comprises:
in response to a value of the last significant coefficient location reverse identification information being a second value, determining the coordinate information of the last significant coefficient directly according to the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient.

### Claim 16 (depends on 15)

The encoding method of claim 15, wherein determining the coordinate information of the last significant coefficient by performing calculation on the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient comprises:
determining a width and a height of the current block;
obtaining a horizontal coordinate of the last significant coefficient by subtracting the initial horizontal coordinate of the last significant coefficient from the width of the current block;
obtaining a vertical coordinate of the last significant coefficient by subtracting the initial vertical coordinate of the last significant coefficient from the height of the current block; and
determining the coordinate information of the last significant coefficient according to the horizontal coordinate of the last significant coefficient and the vertical coordinate of the last significant coefficient.

### Claim 17 (depends on 15)

The encoding method of claim 15, further comprising:
in response to the value of the last significant coefficient location reverse identification information being the second value, determining the coordinate information of the last significant coefficient to be the horizontal distance and the vertical distance between the location of the last significant coefficient and the top left corner of the current block.

### Claim 18 (depends on 12)

The encoding method of claim 12, further comprising: in response to the third syntax element identification information indicating that the range extension is applied to the current sequence,
determining last coefficient enabled identification information of the current block; and
in response to the last coefficient enabled identification information indicating that a last coefficient location is applied to the current block, encoding coefficients located above the last coefficient location in the preset scanning order, and signalling bit information obtained through the encoding and the last coefficient enabled identification information into the bitstream, and
the method further comprising:
determining a width and a height of a transform block obtained by performing a preset operation on the current block, wherein the preset operation comprises at least a zero-out operation;
calculating coordinate information of a bottom right corner of the transform block according to the width and the height of the transform block; and
determining the last coefficient location according to the coordinate information of the bottom right corner of the transform block.

### Claim 19

An encoder, comprising a first memory and a first processor, wherein
the first memory is configured to store thereon a computer program executable on the first processor; and
the first processor is configured to execute the computer program to perform:
determining last significant coefficient location reverse identification information of a current slice, and a location of a last significant coefficient of a current block of blocks in the current slice;
determining coordinate information of the last significant coefficient of the current block according to the last significant coefficient location reverse identification information and the location of the last significant coefficient; and
encoding coefficients located above the location of the last significant coefficient in a preset scanning order, and signalling, into a bitstream, bit information obtained through the encoding, the last significant coefficient location reverse identification information, and the coordinate information of the last significant coefficient,
wherein the location of the last significant coefficient comprises an initial horizontal coordinate and an initial vertical coordinate of the last significant coefficient, the initial horizontal coordinate and the initial vertical coordinate being a horizontal distance and a vertical distance between the location of the last significant coefficient and a top left corner of the current block, respectively,
wherein determining the coordinate information of the last significant coefficient of the current block according to the last significant coefficient location reverse identification information and the location of the last significant coefficient comprises:
in response to a value of the last significant coefficient location reverse identification information being a first value, determining the coordinate information of the last significant coefficient by performing calculation on the initial horizontal coordinate and the initial vertical coordinate of the last significant coefficient,
the first processor is further configured to execute the computer program to perform:
in response to the value of the last significant coefficient location reverse identification information being the first value, determining the coordinate information of the last significant coefficient to be a horizontal distance and a vertical distance between the location of the last significant coefficient and a bottom right corner of the current block.

### Claim 20

A decoder, comprising a memory and a processor, wherein
the memory is configured to store thereon a computer program executable on the processor; and
the processor is configured to execute the computer program to perform:
determining, by parsing a bitstream, last significant coefficient location reverse identification information of a current slice, and coordinate information of a last significant coefficient of a current block of blocks in the current slice;
in response to the last significant coefficient location reverse identification information indicating that last significant coefficient location reverse is applied to the blocks in the current slice, obtaining a location of the last significant coefficient of the current block by performing calculation on the coordinate information of the last significant coefficient; and
determining coefficients of the current block by decoding coefficients located above the location of the last significant coefficient in a preset scanning order,
wherein the processor is further configured to execute the computer program to perform:
in response to the last significant coefficient location reverse identification information indicating that the last significant coefficient location reverse is applied to the blocks in the current slice, determining the coordinate information of the last significant coefficient of the current block to be a horizontal distance and a vertical distance between the location of the last significant coefficient and a bottom right corner of the current block.
