# US 12,192,472 B2 · Support of multiple chroma format in VVC

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

- Number: US 12,192,472 B2
- Document ID: US12192472B2
- Status: Granted
- Kind: B2
- Application number: 17/674,539
- Filed: 2022-02-17
- Published: 2022-07-14
- Granted: 2025-01-07
- Earliest claimed: 2019-03-12
- Assignees: Tencent America LLC
- Applicants: Tencent America LLC
- Inventors: Xin Zhao; Xiaozhong Xu; Xiang Li; Shan Liu
- Web page: https://patentgrep.com/patent/US12192472B2

## CPC

- H04N 19/137: Motion inside a coding unit, e.g. average field, frame or block difference
- H04N 19/513: Processing of motion vectors
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- 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/54: using feature points or meshes
- H04N 19/80: Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation (H04N19/635, H04N19/86 take precedence)
- H04N 19/96: Tree coding, e.g. quad-tree coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method and apparatus for encoding or decoding a video sequence includes encoding or decoding the video sequence using a 4:4:4 chroma format, or encoding or decoding the video sequence using a 4:2:2 chroma format, wherein when encoding or decoding the video sequence using the 4:4:4 chroma format, copying an affine motion vector of one 4×4 luma block using an operation other than an averaging operation and associating the affine motion vector to a co-located 4×4 chroma block, and when encoding or decoding the video sequence using the 4:2:2 chroma format, associating each 4×4 chroma block with two 4×4 co-located luma blocks such that an affine motion vector of one 4×4 chroma block is an average of the motion vectors of the two co-located luma blocks.

## Claims

### Claim 1

A method for decoding a video sequence, the method comprising:
decoding the video sequence using one of a 4:4:4 chroma format and a 4:2:2 chroma format;
when the video sequence is decoded using the 4:4:4 chroma format, copying an affine motion vector of one 4×4 luma block using an operation other than an averaging operation and associating the affine motion vector to a co-located 4×4 chroma block; and
when the video sequence is decoded using the 4:2:2 chroma format, associating each 4×4 chroma block with two 4×4 co-located luma blocks such that an affine motion vector of one 4×4 chroma block is an average of the motion vectors of the two co-located luma blocks, wherein a maximum vertical transform size is the same among different color components, and wherein a maximum horizontal transform size for color components is half of a maximum horizontal transform size for luma components.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
regardless of the chroma format, dividing a current 4×4 chroma block into four 2×2 sub-blocks;
deriving a first affine motion vector of a co-located luma block for a top-left 2×2 chroma sub-block;
deriving a second affine motion vector of the co-located luma block for a bottom-right 2×2 chroma block; and
deriving an affine motion vector of the current 4×4 chroma block using the average of the first affine motion vector and the second affine motion vector.

### Claim 3 (depends on 1)

The method of claim 1, further comprising aligning an interpolation filter used for motion compensation between luma and chroma components.

### Claim 4 (depends on 3)

The method of claim 3, wherein when the video sequence is input using a 4:2:0 chroma format, applying an 8-tap interpolation filter for luma components and chroma components.

### Claim 5 (depends on 1)

The method of claim 1, further comprising decoding as three separate trees, components Y, Cb, and Cr, wherein each tree of the three separate trees decodes one component of the components Y, Cb, and Cr.

### Claim 6 (depends on 5)

The method of claim 5, wherein the decoding as three separate trees is performed for an I slice or an I tile group.

### Claim 7 (depends on 1)

The method of claim 1, wherein at least one of a Position-Dependent Predictor combination (PDPC), a Multiple Transform Selection (MTS), a Non-Separable Secondary Transform (NSST), an Intra-Sub Partitioning (ISP), and a Multiple reference line (MRL) intra prediction is applied to both a luma component and a chroma component.

### Claim 8 (depends on 7)

The method of claim 7, wherein:
when the Multiple reference line (MRL) intra prediction is applied to both the luma component and the chroma component, and when decoding the video sequence is performed using the 4:4:4 chroma format, the method further comprises selecting an Nth reference for intra prediction, and using a same reference line without explicit signaling for chroma components;
when the Intra-Sub Partitioning (ISP) is applied to both the luma component and the chroma component, the method further comprises applying the Intra-Sub Partitioning (ISP) at a block level for a current block for components Y, Cb, and Cr; and
when different trees are used for different color components, the method further comprises implicitly deriving coding parameters for U and V components from collocated Y components without signaling.

### Claim 9

A method for encoding a video sequence, the method comprising:
encoding the video sequence using one of a 4:4:4 chroma format and a 4:2:2 chroma format;
when the video sequence is being encoded using the 4:4:4 chroma format, copying an affine motion vector of one 4×4 luma block using an operation other than an averaging operation and associating the affine motion vector to a co-located 4×4 chroma block, and
when the video sequence is being encoded using the 4:2:2 chroma format; associating each 4×4 chroma block with two 4×4 co-located luma blocks such that an affine motion vector of one 4×4 chroma block is an average of the motion vectors of the two co-located luma blocks, wherein a maximum vertical transform size is the same among different color components, and wherein a maximum horizontal transform size for color components is half of a maximum horizontal transform size for luma components.

### Claim 10 (depends on 9)

The method of claim 9, further comprising:
regardless of the chroma format, dividing a current 4×4 chroma block into four 2×2 sub-blocks;
deriving a first affine motion vector of a co-located luma block for a top-left 2×2 chroma sub-block;
deriving a second affine motion vector of the co-located luma block for a bottom-right 2×2 chroma block; and
deriving an affine motion vector of the current 4×4 chroma block using the average of the first affine motion vector and the second affine motion vector.

### Claim 11 (depends on 9)

The method of claim 9, further comprising aligning an interpolation filter used for motion compensation between luma and chroma components.

### Claim 12

A method of processing visual media data, comprising:
obtaining a visual media file; and
performing a conversion between the visual media file and a bitstream of a visual media data, wherein the bitstream comprises an encoded video sequence with a 4:4:4 chroma format and a 4:2:2 chroma format, and wherein performing the conversion comprises:
using, in the 4:4:4 chroma format, an affine motion vector copied from a 4×4 luma block via an operation other than an averaging operation for a co-located 4×4 chroma block, and
using, in the 4:2:2 chroma format, an affine motion vector for a 4×4 chroma block that is an average of motion vectors of two co-located luma blocks, wherein a maximum vertical transform size is the same among different color components, and wherein a maximum horizontal transform size for color components is half of a maximum horizontal transform size for luma components.

### Claim 13 (depends on 12)

The method of claim 12, wherein performing the conversion further includes:
dividing a current 4×4 chroma block into four 2×2 sub-blocks;
deriving a first affine motion vector of a co-located luma block for a top-left 2×2 chroma sub-block;
deriving a second affine motion vector of the co-located luma block for a bottom-right 2×2 chroma block; and
deriving an affine motion vector of the current 4×4 chroma block using the average of the first affine motion vector and the second affine motion vector.

### Claim 14 (depends on 12)

The method of claim 12, wherein performing the conversion further includes aligning an interpolation filter used for motion compensation between luma and chroma components.
