# US 11,451,823 B2 · Method and apparatus for video 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,823 B2
- Document ID: US11451823B2
- Status: Granted
- Kind: B2
- Application number: 17/409,938
- Filed: 2021-08-24
- Published: 2021-12-09
- Granted: 2022-09-20
- Earliest claimed: 2019-05-23
- Assignees: Tencent America LLC
- Applicants: Tencent America LLC
- Inventors: Guichun Li; Xiaozhong Xu; Xiang Li; Shan Liu
- Web page: https://patentgrep.com/patent/US11451823B2

## CPC

- H04N 19/105: Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
- H04N 19/54: using feature points or meshes
- 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/517: by encoding
- H04N 19/61: in combination with predictive coding
- H04N 19/82: involving filtering within a prediction loop
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Prediction information of a current block is decoded. The prediction information indicates an affine merge model, and the current block includes control points. A first candidate control point motion vector (CPMV) for a first control point of the control points is determined based on one of at least two CPMVs of a first neighboring block of the first control point and a translational motion vector of a second neighboring block of the first control point. Affine merge candidates for the current block are derived based on candidate CPMVs for the control points of the current block. The candidate CPMVs of the control points includes the first candidate CPMV. Parameters of the affine merge model are determined based on one of the affine merge candidates that is defined according to the prediction information. At least a sample of the current block is reconstructed according to the affine merge model.

## Claims

### Claim 1

A method for video decoding in a decoder, comprising:
decoding prediction information of a current block in a current picture from a coded video bitstream, the prediction information being indicative of an affine merge model, the current block including control points that are derived from at least two of four candidate control points of the current block;
determining a first candidate control point motion vector (CPMV) of the first control point of the control points from at least two CPMVs of a first neighboring block of the first control point;
determining a second candidate CPMV of a second control point of the control points by copying a translational motion vector (MV) of a temporal motion vector predictor;
deriving affine merge candidates for the current block based on candidate CPMVs for the control points of the current block, the candidate CPMVs of the control points including the first candidate CPMV and the second candidate CPMV;
determining parameters of the affine merge model based on one of the affine merge candidates, the one of the affine merge candidates being defined according to the prediction information, the parameters of the affine merge model being used to transform between the current block and a reference block in a reference picture that has been reconstructed; and
reconstructing at least a sample of the current block according to the affine merge model.

### Claim 2 (depends on 1)

The method of claim 1, wherein:
the prediction information indicates a selection of the affine merge candidates, and
the method further includes defining the one of the affine merge candidates in accordance with the prediction information.

### Claim 3 (depends on 2)

The method of claim 2, wherein the determining the first candidate CPMV for the first control point further comprises one of:
determining the first candidate CPMV for the first control point based on at least two CPMVs of a first affine coded block among neighboring blocks of the first control point according to a checking order; and
determining the first candidate CPMV for the first control point based on a translational MV of a first available block among the neighboring blocks of the first control point according to the checking order, responsive to none of the neighboring blocks of the first control point being affine coded.

### Claim 4 (depends on 1)

The method of claim 1, wherein
the control points of the current block are derived from at least three candidate control points of the current block, and the candidate CPMVs for at least two of the control points of the current block are derived from CPMVs of neighboring blocks of the at least two of the control points.

### Claim 5 (depends on 1)

The method of claim 1, wherein each of the candidate CPMVs of the control points of the current block refers to the reference picture.

### Claim 6 (depends on 1)

The method of claim 1, wherein
the first neighboring block of the first control point is a largest affine coded block of neighboring affine coded blocks of the first control point, and
the determining the first candidate CPMV for the first control point further comprises determining the first candidate CPMV for the first control point based on the at least two CPMVs of the largest affine coded block of the neighboring affine coded blocks of the first control point.

### Claim 7

An apparatus for video decoding, comprising:
processing circuitry configured to:
decode prediction information of a current block in a current picture from a coded video bitstream, the prediction information being indicative of an affine merge model, the current block including control points that are derived from at least two of four candidate control points of the current block;
determine a first candidate control point motion vector (CPMV) of the first control point of the control points from at least two CPMVs of a first neighboring block of the first control point;
determine a second candidate CPMV of a second control point of the control points by copying a translational motion vector (MV) of a temporal motion vector predictor;
derive affine merge candidates for the current block based on candidate CPMVs for the control points of the current block, the candidate CPMVs of the control points including the first candidate CPMV and the second candidate CPMV;
determine parameters of the affine merge model based on one of the affine merge candidates, the one of the affine merge candidates being defined according to the prediction information, the parameters of the affine merge model being used to transform between the current block and a reference block in a reference picture that has been reconstructed; and
reconstruct at least a sample of the current block according to the affine merge model.

### Claim 8 (depends on 7)

The apparatus of claim 7, wherein:
the prediction information indicates a selection of the affine merge candidates, and
the processing circuitry is further configured to define the one of the affine merge candidates in accordance with the prediction information.

### Claim 9 (depends on 8)

The apparatus of claim 8, wherein the processing circuitry is further configured to perform one of:
determine the first candidate CPMV for the first control point based on at least two CPMVs of a first affine coded block among neighboring blocks of the first control point according to a checking order; and
determine the first candidate CPMV for the first control point based on a translational MV of a first available block among the neighboring blocks of the first control point according to the checking order, responsive to none of the neighboring blocks of the first control point being affine coded.

### Claim 10 (depends on 7)

The apparatus of claim 7, wherein
the control points of the current block are derived from at least three candidate control points of the current block, and the candidate CPMVs for at least two of the control points of the current block are derived from CPMVs of neighboring blocks of the at least two of the control points.

### Claim 11 (depends on 7)

The apparatus of claim 7, wherein each of the candidate CPMVs of the control points of the current block refers to the reference picture.

### Claim 12 (depends on 7)

The apparatus of claim 7, wherein
the first neighboring block of the first control point is a largest affine coded block of neighboring affine coded blocks of the first control point, and
the processing circuitry is configured to determine the first candidate CPMV for the first control point by determining the first candidate CPMV for the first control point based on the at least two CPMVs of the largest affine coded block of the neighboring affine coded blocks of the first control point.

### Claim 13

A non-transitory computer-readable medium storing instructions which when executed by a computer for video decoding cause the computer to perform:
decoding prediction information of a current block in a current picture from a coded video bitstream, the prediction information being indicative of an affine merge model, the current block including control points that are derived from at least two of four candidate control points of the current block;
determining a first candidate control point motion vector (CPMV) of the first control point of the control points from at least two CPMVs of a first neighboring block of the first control point;
determining a second candidate CPMV of a second control point of the control points by copying a translational motion vector (MV) of a temporal motion vector predictor;
deriving affine merge candidates for the current block based on candidate CPMVs for the control points of the current block, the candidate CPMVs of the control points including the first candidate CPMV and the second candidate CPMV;
determining parameters of the affine merge model based on one of the affine merge candidates, the one of the affine merge candidates being defined according to the prediction information, the parameters of the affine merge model being used to transform between the current block and a reference block in a reference picture that has been reconstructed; and
reconstructing at least a sample of the current block according to the affine merge model.
