# US 10,873,744 B2 · Method and device for processing video signal by means of affine prediction

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

- Number: US 10,873,744 B2
- Document ID: US10873744B2
- Status: Granted
- Kind: B2
- Application number: 16/475,538
- Filed: 2018-01-03
- Published: 2019-11-07
- Granted: 2020-12-22
- Earliest claimed: 2017-01-03
- Assignees: LG Electronics Inc.
- Applicants: LG Electronics Inc.
- Inventors: Jaeho Lee; Seunghwan Kim; Jaehyun Lim
- Web page: https://patentgrep.com/patent/US10873744B2

## 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/109: among a plurality of temporal predictive coding modes
- H04N 19/139: Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability
- H04N 19/147: according to rate distortion criteria (rate-distortion as a criterion for motion estimation H04N19/567)
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/52: by predictive encoding
- H04N 19/54: using feature points or meshes
- H04N 19/547: Motion estimation performed in a transform domain
- H04N 19/96: Tree coding, e.g. quad-tree coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A method of processing a video signal including a current block using an affine prediction mode includes generating a candidate list of motion vector pairs using the motion vector of a pixel or block neighboring at least two control points of the current block, determining a final candidate list of a predetermined number of motion vector pairs based on a divergence value of the motion vector pair, where the final candidate list is determined in order of smaller divergence value, and the divergence value is a value indicating similarity in the direction of motion vectors, determining the control point motion vector of the current block based on a rate-distortion cost from the final candidate list, and generating the motion vector predictor of the current block based on the control point motion vector.

## Claims

### Claim 1

A method of processing a video signal comprising a current block using an affine prediction mode by an apparatus, the method comprising:
generating a candidate list of motion vector pairs using a motion vector of a pixel or block neighboring at least two control points of the current block, wherein the control point comprises at least two of a top left corner pixel, a top right corner pixel, a bottom left corner pixel or a bottom right corner pixel of the current block, the motion vector pair indicates motion vectors of the top left corner pixel and the top right corner pixel or the top left corner pixel, the top right corner pixel and the bottom left corner pixel of the current block, and the candidate list is configured with motion vectors of pixels or blocks neighboring the top left corner pixel, the top right corner pixel, and the bottom left corner pixel;
determining a final candidate list of a predetermined number of motion vector pairs based on a divergence value of the motion vector pair, wherein the final candidate list is determined in order of smaller divergence value, and the divergence value is calculated based on a difference of x component between the motion vectors, a difference of y component between the motion vectors, and height and width of the current block and becomes smaller when the motion vectors have similar directions;
determining a control point motion vector of the current block based on a rate-distortion cost from the final candidate list; and
generating a motion vector predictor of the current block based on the control point motion vector.

### Claim 2 (depends on 1)

The method of claim 1,
wherein the candidate list is generated based on motion vectors of a diagonal neighbor pixel A, top neighbor pixel B, and left neighbor pixel C of the top left corner pixel, motion vectors of a top neighbor pixel D and diagonal neighbor pixel E of the top right corner pixel, and motion vectors of a left neighbor pixel F and diagonal neighbor pixel G of the bottom left corner pixel.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
adding an Advanced Motion Vector Prediction (AMVP) candidate list to the candidate list when the motion vector pairs of the candidate list are smaller than 2 in number.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
signaling a prediction mode or flag information indicating whether the affine prediction mode is performed,
wherein the affine prediction mode indicates a mode in which a motion vector is derived in a pixel or subblock unit using the control point motion vector of the current block.

### Claim 5 (depends on 1)

The method of claim 1,
wherein when the current block is an N×4 size, the control point motion vector of the current block is determined as a motion vector derived based on a center position of a left subblock and right subblock within the current block, and
wherein when the current block is a 4×N size, the control point motion vector of the current block is determined as a motion vector derived based on a center position of a top subblock and bottom subblock within the current block.

### Claim 6 (depends on 1)

The method of claim 1,
wherein when the current block is an N×4 size, a control point motion vector of a left subblock within the current block is determined by an average value of a first control point motion vector and a third control point motion vector, and a control point motion vector of a right subblock is determined by an average value of a second control point motion vector and a fourth control point motion vector, and
wherein when the current block is a 4×N size, a control point motion vector of a top subblock within the current block is determined by an average value of a first control point motion vector and a second control point motion vector, and a control point motion vector of a bottom subblock is determined by an average value of a third control point motion vector and a fourth control point motion vector.

### Claim 7

An apparatus for processing a video signal comprising a current block using an affine prediction mode, the apparatus comprising:
a memory; and
an inter prediction unit configured to generate a candidate list of motion vector pairs using a motion vector of a pixel or block neighboring at least two control points of the current block, determine a final candidate list of a predetermined number of motion vector pairs based on a divergence value of the motion vector pair, determine a control point motion vector of the current block based on a rate-distortion cost from the final candidate list, and generate a motion vector predictor of the current block based on the control point motion vector,
wherein the control point comprises at least two of a top left corner pixel, a top right corner pixel, a bottom left corner pixel or a bottom right corner pixel of the current block,
wherein the motion vector pair indicates motion vectors of the top left corner pixel and the top right corner pixel or the top left corner pixel, the top right corner pixel and the bottom left corner pixel of the current block,
wherein the candidate list is configured with motion vectors of pixels or blocks neighboring the top left corner pixel, the top right corner pixel, and the bottom left corner pixel, and
wherein the final candidate list is determined in order of smaller divergence value, and the divergence value is calculated based on a difference of x component between the motion vectors, a difference of y component between the motion vectors, and height and width of the current block and becomes smaller when the motion vectors have similar directions.

### Claim 8 (depends on 6)

The apparatus of claim 6,
wherein the candidate list is generated based on motion vectors of a diagonal neighbor pixel A, top neighbor pixel B, and left neighbor pixel C of the top left corner pixel, motion vectors of a top neighbor pixel D and diagonal neighbor pixel E of the top right corner pixel, and motion vectors of a left neighbor pixel F and diagonal neighbor pixel G of the bottom left corner pixel.

### Claim 9 (depends on 7)

The apparatus of claim 7,
wherein the inter prediction unit is configured to add an Advanced Motion Vector Prediction (AMVP) candidate list to the candidate list when the motion vector pairs of the candidate list are smaller than 2 in number.

### Claim 10 (depends on 7)

The apparatus of claim 7,
wherein the apparatus signals a prediction mode or flag information indicating whether the affine prediction mode is performed, and
wherein the affine prediction mode indicates a mode in which a motion vector is derived in a pixel or subblock unit using the control point motion vector of the current block.

### Claim 11 (depends on 7)

The apparatus of claim 7,
wherein when the current block is an N×4 size, the control point motion vector of the current block is determined as a motion vector derived based on a center position of a left subblock and right subblock within the current block, and
wherein when the current block is a 4×N size, the control point motion vector of the current block is determined as a motion vector derived based on a center position of a top subblock and bottom subblock within the current block.

### Claim 12 (depends on 7)

The apparatus of claim 7,
wherein when the current block is an N×4 size, a control point motion vector of a left subblock within the current block is determined by an average value of a first control point motion vector and a third control point motion vector, and a control point motion vector of a right subblock is determined by an average value of a second control point motion vector and a fourth control point motion vector, and
wherein when the current block is a 4×N size, a control point motion vector of a top subblock within the current block is determined by an average value of a first control point motion vector and a second control point motion vector, and a control point motion vector of a bottom subblock is determined by an average value of a third control point motion vector and a fourth control point motion vector.
