# US 12,003,737 B2 · Coding of transform coefficients 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 12,003,737 B2
- Document ID: US12003737B2
- Status: Granted
- Kind: B2
- Application number: 17/468,434
- Filed: 2021-09-07
- Published: 2021-12-30
- Granted: 2024-06-04
- Earliest claimed: 2019-03-11
- Assignees: Beijing Dajia Internet Information Technology Co., Ltd.
- Applicants: Beijing Dajia Internet Information Technology Co., Ltd.
- Inventors: Yi-Wen Chen; Xiaoyu Xiu; Tsung-Chuan Ma; Xianglin Wang
- Web page: https://patentgrep.com/patent/US12003737B2

## CPC

- H04N 19/18: the unit being a set of transform coefficients
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/13: Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
- H04N 19/157: Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
- H04N 19/159: Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/186: the unit being a colour or a chrominance component
- H04N 19/593: involving spatial prediction techniques
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Methods and devices for video coding are provided. In the method, the device determines, for a current luma transform block in a coding unit, whether an intra subpartition (ISP) split type is an ISP mode. In response to determining that the intra subpartition split type is not the ISP mode, the device determines a first context index for a Coded Block Flag (CBF) flag of the current luma transform block as being equal to zero or one, where the CBF flag specifies whether the current luma transform block comprises one or more transform coefficient levels not equal to zero. In response to determining that the intra subpartition split type is the ISP mode, the device determines the first context index based on a CBF variable of a previous luma transform unit in the coding unit.

## Claims

### Claim 1

A method for video coding, comprising:
determining, for a current luma transform block in a coding unit, whether a first variable indicating an intra subpartition (ISP) split type is equal to ISP_NO_SPLIT;
in response to determining that the first variable is equal to ISP_NO_SPLIT, determining a luma block flag context index for a luma block flag of the current luma transform block as being equal to zero or one without determining whether the current luma transform block is smaller than the coding unit, wherein the luma block flag of the current luma transform block specifies whether the current luma transform block contains one or more transform coefficient levels not equal to zero; and
in response to determining that the first variable is not equal to ISP_NO_SPLIT, determining the luma block flag context index based on a second variable of a previous luma transform unit in the coding unit.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
in response to determining that a current transform unit is a first one to be parsed in the coding unit, deriving the second variable as being equal to zero.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
in response to determining that a current transform unit is not a first one to be parsed in the coding unit, deriving the second variable as being equal to a value of a luma block flag of the previous luma transform unit.

### Claim 4 (depends on 1)

The method of claim 1, wherein determining the luma block flag context index based on the second variable comprises:
deriving the luma block flag context index as being equal to the second variable plus two.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
deriving a Cb block flag context index for a Cb block flag of a Cb transform block in the coding unit specifying whether the Cb transform block contains one or more transform coefficient levels not equal to zero.

### Claim 6 (depends on 5)

The method of claim 5, wherein there is only one context-adaptive binary arithmetic coding (CABAC) context available for coding the Cb block flag of the Cb transform block.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
deriving a Cr block flag context index for a Cr block flag of a Cr transform block in the coding unit specifying whether the Cr transform block contains one or more transform coefficient levels not equal to zero.

### Claim 8 (depends on 7)

The method of claim 7, wherein there are two CABAC contexts, either one of which is indicated by the Cr block flag context index, available for coding the Cr block flag of the Cr transform block.

### Claim 9 (depends on 7)

The method of claim 7, wherein deriving the Cr block flag context index comprises:
deriving the Cr block flag context index as being equal to a value of a Cb block flag of a Cb transform block in the coding unit, wherein the Cb block flag of the Cb transform block specifies whether the Cb transform block contains one or more transform coefficient levels not equal to zero.

### Claim 10

A computing device comprising:
one or more processors;
a non-transitory storage coupled to the one or more processors; and
a plurality of programs stored in the non-transitory storage that, when executed by the one or more processors, cause the computing device to perform acts comprising:
determining, for a current luma transform block in a coding unit, whether a first variable indicating an intra subpartition (ISP) split type is equal to ISP_NO_SPLIT;
in response to determining that the first variable is equal to ISP_NO_SPLIT, determining a luma block flag context index for a luma block flag of the current luma transform block as being equal to zero or one without determining whether the current luma transform block is smaller than the coding unit, wherein the luma block flag of the current luma transform block specifies whether the current luma transform block comprises one or more transform coefficient levels not equal to zero; and
in response to determining that the first variable is not equal to ISP_NO_SPLIT, determining the luma block flag context index based on a second variable of a previous luma transform unit in the coding unit.

### Claim 11 (depends on 10)

The computing device of claim 10, wherein the acts further comprise:
in response to determining that a current transform unit is a first one to be parsed in the coding unit, deriving the second variable as being equal to zero.

### Claim 12 (depends on 10)

The computing device of claim 10, wherein the acts further comprise:
in response to determining that a current transform unit is not a first one to be parsed in the coding unit, deriving the second variable as being equal to a value of a luma block flag of the previous luma transform unit.

### Claim 13 (depends on 10)

The computing device of claim 10, wherein determining the luma block flag context index based on the second variable comprises:
deriving the luma block flag context index as being equal to the second variable plus two.

### Claim 14 (depends on 10)

The computing device of claim 10, wherein the acts further comprise:
deriving a Cb block flag context index for a Cb block flag of a Cb transform block in the coding unit specifying whether the Cb transform block comprises one or more transform coefficient levels not equal to zero.

### Claim 15 (depends on 14)

The computing device of claim 14, wherein there is only one context-adaptive binary arithmetic coding (CABAC) context available for coding the Cb block flag of the Cb transform block.

### Claim 16 (depends on 10)

The computing device of claim 10, wherein the acts further comprise:
deriving a Cr block flag context index for a Cr block flag of a Cr transform block in the coding unit specifying whether the Cr transform block comprises one or more transform coefficient levels not equal to zero.

### Claim 17 (depends on 16)

The computing device of claim 16, wherein there are two CABAC contexts, either one of which is indicated by the Cr block flag context index, available for coding the Cr block flag of the Cr transform block.

### Claim 18 (depends on 16)

The computing device of claim 16, wherein deriving the Cr block flag context index comprises:
deriving the Cr block flag context index as being equal to a value of a Cb block flag of a Cb transform block in the coding unit, wherein the Cb block flag of the Cb transform block specifies whether the Cb transform block comprises one or more transform coefficient levels not equal to zero.

### Claim 19

A non-transitory computer readable storage medium storing a bitstream to be decoded by a method for video coding comprising:
determining, for a current luma transform block in a coding unit, whether a first variable indicating an intra subpartition (ISP) split type is equal to ISP_NO_SPLIT;
in response to determining that the first variable is equal to ISP_NO_SPLIT, determining a luma block flag context index for a luma block flag of the current luma transform block as being equal to zero or one without determining whether the current luma transform block is smaller than the coding unit, wherein the luma block flag of the current luma transform block specifies whether the current luma transform block comprises one or more transform coefficient levels not equal to zero; and
in response to determining that the first variable is not equal to ISP_NO_SPLIT, determining the luma block flag context index based on a second variable of a previous luma transform unit in the coding unit.

### Claim 20 (depends on 19)

The non-transitory computer readable storage medium of claim 19, wherein the method further comprises:
in response to determining that a current transform unit is a first one to be parsed in the coding unit, deriving the second variable as being equal to zero.
