# US 11,122,290 B2 · Inter prediction method and apparatus in video coding system

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

- Number: US 11,122,290 B2
- Document ID: US11122290B2
- Status: Granted
- Kind: B2
- Application number: 16/773,958
- Filed: 2020-01-27
- Published: 2020-07-23
- Granted: 2021-09-14
- Earliest claimed: 2015-08-07
- Assignees: LG Electronics Inc.
- Applicants: LG Electronics Inc.
- Inventors: Hyeongmoon Jang; Eunyong Son; Moonmo Koo; Seungwook Park; Yongjoon Jeon
- Web page: https://patentgrep.com/patent/US11122290B2

## CPC

- H04N 19/56: Motion estimation with initialisation of the vector search, e.g. estimating a good candidate to initiate a search
- 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/124: Quantisation
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/182: the unit being a pixel
- H04N 19/503: involving temporal prediction (adaptive coding with adaptive selection between spatial and temporal predictive coding H04N19/107; adaptive coding with adaptive selection among a plurality of temporal predictive coding modes H04N19/109)
- H04N 19/513: Processing of motion vectors
- H04N 19/66: involving data partitioning, i.e. separation of data into packets or partitions according to importance
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/91: Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A video decoding method performed by a decoding apparatus includes the steps of: deriving control points (CP) for a current block; acquiring movement vectors for the CPs; deriving a sample unit movement vector in the current block on the basis of the acquired movement vectors; and deriving a prediction sample for the current block on the basis of the sample unit movement vector. According to the present invention, it is possible to effectively perform, through sample unit motion vectors, inter-prediction not only in a case where an image in the current block is plane-shifted but also in a case where there are various image distortions.

## Claims

### Claim 1

A video decoding method performed by a decoding device, the video decoding method including:
deriving motion vectors for control points (CPs) for a current block;
deriving a motion vector related to a sample position in the current block based on the obtained motion vectors for the CPs;
deriving a prediction sample for the current block based on the motion vector related to the sample position; and
generating a reconstructed block for the current block based on the derived prediction sample for the current block,
wherein the CPs includes a first CP, a second CP and a third CP, wherein the first CP is for a top-left corner of the current block, the second CP is for a top-right corner of the current block and the third CP is for bottom-left corner of the current block,
wherein the motion vectors for the CPs include a first motion vector for the first CP, a second motion vector for the second CP and a third motion vector for the third CP,
wherein the first motion vector is derived from a first block group comprising a top-left corner neighboring block of the current block, a first top neighboring block adjacent to a right side of the top-left corner neighboring block and a first left neighboring block adjacent to a bottom side of the top-left corner neighboring block,
wherein the second motion vector is derived from a second block group comprising a top-right corner neighboring block of the current block and a second top neighboring block adjacent to a left side of the top-right corner neighboring block,
wherein the third motion vector is derived from a third block group comprising a bottom-left corner neighboring block of the current block and a second left neighboring block adjacent to a top side of the bottom-left corner neighboring block, and
wherein a width of the current block is different from a height of the current block.

### Claim 2 (depends on 1)

The video decoding method of claim 1, wherein the motion vector related to the sample position is derived based on the following equations,
Vx=(Vx1−Vx0)*x/W+(Vx2−Vx0)*y/H+Vx0,Vy=(Vy1−Vy0)*x/W+(Vy2−Vy0)*y/H+Vy0, and
wherein the Vx represents a x component of the motion vector related to the sample position at a coordinate of (x, y), the Vy represents a y component of the motion vector related to the sample position at the coordinate of (x, y), the Vx0 represents a x component of the first motion vector for the first CP, the Vy0 represents a y component of the first motion vector for the second CP, the Vx1 represents a x component of the second motion vector for the second CP, the Vy1 represents a y component of the second motion vector for the second CP, the Vx2 represents a x component of the third motion vector for the third CP and the Vy2 represents a y component of the third motion vector for the third CP.

### Claim 3 (depends on 1)

The video decoding method of claim 1, wherein:
the top-left corner neighboring block is located on the coordinate of (xc−1, yc−1), the first top neighboring block is located on the coordinate of (xc, yc−1), and the first left neighboring block is located on the coordinate of (xc−1, yc),
the top-right corner neighboring block is located on the coordinate of (xc+W, yc−1) and the second top neighboring block is located on the coordinate of (xc+W−1, yc−1), and
the bottom-left corner neighboring block is located on the coordinate of (xc−1, yc+H) and the second left neighboring block is located on the coordinate of (xc−1, yc+H−1), and
wherein (xc, yc) is a top-left sample position of the current block, and W and H are the width and the height of the current block respectively.

### Claim 4 (depends on 1)

The video decoding method of claim 1, wherein:
wherein the first motion vector for the first CP is derived from the first block group comprising the top-left corner neighboring block, the first top neighboring block and the first left neighboring block based on a first predefined priority order,
wherein the second motion vector for the second CP is derived from the second block group comprising the top-right corner neighboring block and the second top neighboring block based on a second predefined priority order,
wherein the third motion vector for the third CP is derived from the third block group comprising the bottom-left corner neighboring block and the second left neighboring block based on a third predefined priority order,
wherein the first predefined priority order is from the top-left corner neighboring block to the first top neighboring block to the first left neighboring block,
wherein the second predefined priority order is from the top-right corner neighboring block to the second top neighboring block, and
wherein the third predefined priority order is from the bottom-left corner neighboring back to the second left neighboring block.

### Claim 5 (depends on 1)

The video decoding method of claim 1,
wherein the H is equal to W/2, and
wherein the second CP is located on a coordinate of (xc+W, yc) and the third CP is located on a coordinate of (xc, yc+W/2), and
wherein (xc, yc) is a top-left sample position of the current block, and W and H are the width and the height of the current block respectively.

### Claim 6 (depends on 5)

The video decoding method of claim 5, wherein:
the motion vector related to the sample position is derived based on the following equations,
Vx=(Vx1−Vx0)*x/W+(Vx2−Vx0)*y/(W/2)+Vx0,
wherein the Vx represents a x component of the motion vector related to the sample position at a coordinate of (x, y), the Vy represents a y component of the motion vector related to the sample position at the coordinate of (x, y), the Vx0 represents a x component of the first motion vector for the first CP, the Vy0 represents a y component of the first motion vector for the first CP, the Vx1 represents a x component of the second motion vector for the second CP, the Vy1 represents a y component of the second motion vector 1 for the second CP, the Vx2 represents a x component of the third motion vector for the third CP and the Vy2 represents a y component of the third motion vector for the third CP.

### Claim 7 (depends on 5)

The video decoding method of claim 5, wherein:
the top-left corner neighboring block is located on the coordinate of (xc−1, yc−1), the first top neighboring block is located on the coordinate of (xc, yc−1), and the first left neighboring block is located on the coordinate of (xc−1, yc),
the top-right corner neighboring block is located on the coordinate of (xc+W, yc−1) and the second top neighboring block is located on the coordinate of (xc+W−1, yc−1), and
the bottom-left corner neighboring block is located on a coordinate of (xc−1, yc+W/2) and the second left neighboring block is located on a coordinate of (xc−1, yc+W/2−1).

### Claim 8

A video encoding method performed by an encoding device, the video encoding method including:
deriving motion vectors for control points (CPs) for a current block;
deriving a motion vector related to a sample position in the current block based on the obtained motion vectors for the CPs;
performing a prediction for the current block based on the motion vector related to the sample position; and
encoding video information on the prediction for the current block,
wherein the CPs includes a first CP, a second CP and a third CP, wherein the first CP is for a top-left corner of the current block, the second CP is for a top-right corner of the current block and the third CP is for bottom-left corner of the current block,
wherein the motion vectors for the CPs include a first motion vector for the first CP, a second motion vector for the second CP and a third motion vector for the third CP,
wherein the first motion vector is derived from a first block group comprising a top-left corner neighboring block of the current block, a first top neighboring block adjacent to a right side of the top-left corner neighboring block and a first left neighboring block adjacent to a bottom side of the top-left corner neighboring block,
wherein the second motion vector is derived from a second block group comprising a top-right corner neighboring block of the current block and a second top neighboring block adjacent to a left side of the top-right corner neighboring block,
wherein the third motion vector is derived from a third block group comprising a bottom-left corner neighboring block of the current block and a second left neighboring block adjacent to a top side of the bottom-left corner neighboring block, and
wherein a width of the current block is different from a height of the current block.

### Claim 9 (depends on 8)

The video encoding method of claim 8, wherein the motion vector related to the sample position is derived based on the following equations,
Vx=(Vx1−Vx0)*x/W+(Vx2−Vx0)*y/H+Vx0,Vy=(Vy1−Vy0)*x/W+(Vy2−Vy0)*y/H+Vy0, and
wherein the Vx represents a x component of the motion vector related to the sample position at a coordinate of (x, y), the Vy represents a y component of the motion vector related to the sample position at the coordinate of (x, y), the Vx0 represents a x component of the first motion vector for the first CP, the Vy0 represents a y component of first the motion vector for the first CP, the Vx1 represents a x component of the second motion vector for the second CP, the Vy1 represents a y component of the second motion vector for the second CP, the Vx2 represents a x component of the third motion vector for the third CP and the Vy2 represents a y component of the third motion vector for the third CP.

### Claim 10 (depends on 8)

The video encoding method of claim 8, wherein:
the top-left corner neighboring block is located on the coordinate of (xc−1, yc−1), the first top neighboring block is located on the coordinate of (xc, yc−1), and the first left neighboring block is located on the coordinate of (xc−1, yc),
the top-right corner neighboring block is located on the coordinate of (xc+W, yc−1) and the second top neighboring block is located on the coordinate of (xc+W−1, yc−1), and
the bottom-left corner neighboring block is located on the coordinate of (xc−1, yc+H) and the second left neighboring block is located on the coordinate of (xc−1, yc+H−1).

### Claim 11 (depends on 8)

The video encoding method of claim 8,
wherein the first motion vector for the first CP is derived from the first block group comprising the top-left corner neighboring block, the first top neighboring block and the first left neighboring block based on a first predefined priority order,
wherein the second motion vector for the second CP is derived from the second block group comprising the top-right corner neighboring block and the second top neighboring block based on a second predefined priority order, and
wherein the third motion vector for the third CP is derived from the third block group comprising the bottom-left corner neighboring block and the second left neighboring block based on a third predefined priority order,
wherein the first predefined priority order is from the top-left corner neighboring block to the first top neighboring block to the first left neighboring block,
wherein the second predefined priority order is from the top-right corner neighboring block to the second top neighboring block, and
wherein the third predefined priority order is from the bottom-left corner neighboring bock to the second left neighboring block.

### Claim 12 (depends on 8)

The video encoding method of claim 8,
wherein the H is equal to W/2,
wherein the second CP is located on a coordinate of (xc+W, yc) and the third CP is located on a coordinate of (xc, yc+W/2),
wherein (xc, yc) is a top-left sample position of the current block, and W and H are the width and the height of the current block respectively.

### Claim 13 (depends on 12)

The video encoding method of claim 12, wherein:
the motion vector related to the sample position is derived based on the following equations,
Vx=(Vx1−Vx0)*x/W+(Vx2−Vx0)*y/(W/2)+Vx0,
wherein the Vx represents a x component of the motion vector related to the sample position at a coordinate of (x, y), the Vy represents a y component of the motion vector related to the sample position at the coordinate of (x, y), the Vx0 represents a x component of the first motion vector for the first CP, the Vy0 represents a y component of the first motion vector for the first CP, the Vx1 represents a x component of the second motion vector for the second CP, the Vy1 represents a y component of the second motion vector for the second CP, the Vx2 represents a x component of the third motion vector for the third CP and the Vy2 represents a y component of the third motion vector for the third CP.

### Claim 14 (depends on 12)

The video encoding method of claim 12, wherein:
the top-left corner neighboring block is located on the coordinate of (xc−1, yc−1), the first top neighboring block is located on the coordinate of (xc, yc−1), and the first left neighboring block is located on the coordinate of (xc−1, yc),
the top-right corner neighboring block is located on the coordinate of (xc+W, yc−1) and the second top neighboring block is located on the coordinate of (xc+W−1, yc−1), and
the bottom-left corner neighboring block is located on a coordinate of (xc−1, yc+W/2) and the second left neighboring block is located on a coordinate of (xc−1, yc+W/2−1).

### Claim 15

A non-transitory computer-readable digital storage medium storing encoded information causing a decoding apparatus to perform a video decoding method, the method comprising:
deriving motion vectors for control points (CPs) for a current block;
deriving a motion vector related to a sample position in the current block based on the obtained motion vectors for the CPs;
deriving a prediction sample for the current block based on the motion vector related to the sample position; and
generating a reconstructed block for the current block based on the derived prediction sample for the current block,
wherein the CPs includes a first CP, a second CP and a third CP, wherein the first CP is for a top-left corner of the current block, the second CP is for a top-right corner of the current block and the third CP is for bottom-left corner of the current block,
wherein the motion vectors for the CPs include a first motion vector for the first CP, a second motion vector for the second CP and a third motion vector for the third CP,
wherein the first motion vector is derived from a first block group comprising a top-left corner neighboring block of the current block, a first top neighboring block adjacent to a right side of the top-left corner neighboring block and a first left neighboring block adjacent to a bottom side of the top-left corner neighboring block,
wherein the second motion vector is derived from a second block group comprising a top-right corner neighboring block of the current block and a second top neighboring block adjacent to a left side of the top-right corner neighboring block,
wherein the third motion vector is derived from a third block group comprising a bottom-left corner neighboring block of the current block and a second left neighboring block adjacent to a top side of the bottom-left corner neighboring block, and
wherein a width of the current block is different from a height of the current block.
