# US 12,764,323 B2 · Method and apparatus for inter prediction 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 12,764,323 B2
- Document ID: US12764323B2
- Status: Granted
- Kind: B2
- Application number: 18/916,891
- Filed: 2024-10-16
- Published: 2025-01-30
- Granted: 2026-10-13
- Earliest claimed: 2016-03-24
- Assignees: Nokia Technologies Oy
- Applicants: Nokia Technologies Oy
- Inventors: Naeri Park; Jaehyun Lim; Junghak Nam
- Web page: https://patentgrep.com/patent/US12764323B2

## CPC

- H04N 19/513: Processing of motion vectors
- H04N 19/103: Selection of coding mode or of prediction mode
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/44: Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
- H04N 19/537: Motion estimation other than block-based
- H04N 21/235: Processing of additional data, e.g. scrambling of additional data or processing content descriptors
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A video decoding method performed by a decoding apparatus comprises deriving control points (CPs) for the current block; obtaining motion vectors for the CPs; deriving a motion vector of a sub-block or a sample unit in the current block on the basis of the obtained motion vectors; deriving a prediction sample for the current block on the basis of the derived motion vector; and generating a reconstruction sample on the basis of the prediction sample. The method enables effective performance of inter prediction through the motion vectors (transformation prediction), not only when an image in the current block is moved in a plane, but also when the image in the current block is rotated, zoomed in, zoomed out, or transformed into a parallelogram. Accordingly, the amount of data for the residual signal for the current block can be eliminated or reduced, and the overall coding efficiency can be improved.

## Claims

### Claim 1

A decoding apparatus for image decoding, the decoding apparatus comprising:
a memory; and
at least one processor connected to the memory, the at least one processor configured to:
derive control points (CPs) for a current block;
acquire motion vectors for the CPs;
derive motion vectors sub-blocks in the current block based on the acquired motion vectors;
derive a prediction sample for the current block based on the derived motion vectors; and
generate a reconstructed sample based on the prediction sample,
wherein based on a number of CPs being 3, and a coordinate of CP0 among the CPs is (0, 0), a coordinate of CP1 is (S, 0) and a coordinate of CP2 is (0, S),
wherein a coordinate of a top-left sample position of the current block is (0, 0) and a height and a width of the current block are S,
wherein the acquiring of the motion vectors for the CPs comprises:
deriving motion vector 0 for CP0 based on neighboring block group 0 including an upper left neighboring block, a first left neighboring block and a first upper neighboring block;
deriving motion vector 1 for CP1 based on neighboring block group 1 including an upper right neighboring block and a second upper neighboring block; and
deriving motion vector 2 for CP2 based on neighboring block group 2 including a lower left neighboring block and a second left neighboring block,
wherein it is sequentially determined whether the upper left neighboring block, the first left neighboring block and the first upper neighboring block are available according to a predefined first priority, it is sequentially determined whether the upper right neighboring block and the second upper neighboring block are available according to a predefined second priority, and it is sequentially determined whether the lower left neighboring block and the second left neighboring block are available according to a predefined third priority, and
wherein the first left neighboring block is the uppermost block among left neighboring blocks adjacent to the left boundary of the current block, the first upper neighboring block is the leftmost block among upper neighboring blocks adjacent to the upper boundary of the current block, the second upper neighboring block is the rightmost block among upper neighboring blocks adjacent to the upper boundary of the current block, and the second left neighboring block is the lowermost block among the left neighboring blocks adjacent to the left boundary of the current block.

### Claim 2 (depends on 1)

The decoding apparatus of claim 1, wherein a sub-block has a size of n×n and n is a positive integer.

### Claim 3 (depends on 2)

The decoding apparatus of claim 2, wherein n is 4.

### Claim 4 (depends on 1)

The decoding apparatus of claim 1, wherein the motion vectors in units of a sub-block or a sample in the current block are derived based on the following equation
E
⁢
1
,
v
x
=
v
x
⁢
1
-
v
x
⁢
0
s
⁢
x
+
v
x
⁢
2
-
v
x
⁢
0
s
⁢
y
+
v
x
⁢
0
⁢
v
y
=
v
y
⁢
1
-
v
y
⁢
0
s
⁢
x
+
v
y
⁢
2
-
v
y
⁢
0
s
⁢
y
+
v
y
⁢
0
(E1) wherein vx and xy represent an x-component and a y-component, respectively, of a motion vector with respect to coordinates (x, y) in the current block, vx0 and vy0 represent an x-component and a y-component, respectively, of a motion vector of CP0, vx1 and vy1 represent an x-component and a y-component, respectively, of a motion vector of CP1, and vx2 and vy2 represent an x-component and a y-component, respectively, of a motion vector of CP2.

### Claim 5 (depends on 1)

The decoding apparatus of claim 1, wherein a motion vector corresponding to a lower right sample position of the center of the sub-block is used as a motion vector for the sub-block.

### Claim 6 (depends on 1)

The decoding apparatus of claim 1, wherein motion vectors for the CPs are acquired based on motion information of a neighboring block of the current block.

### Claim 7 (depends on 1)

The decoding apparatus of claim 1, wherein the prediction sample for the current block is derived based on the derived motion vectors and a reference picture index of the current block, and the reference picture index of the current block is derived based on a reference picture index of a neighboring block of the current block.

### Claim 8 (depends on 1)

The decoding apparatus of claim 1, wherein a motion vector corresponding to a top-left sample position of the sub-block is used as a motion vector for the sub-block.

### Claim 9 (depends on 1)

The decoding apparatus of claim 1, the at least one processor is further configured to derive neighboring candidate blocks for the current block, wherein the neighboring candidate blocks include an upper left neighboring block, an upper right neighboring block and a lower left neighboring block, the coordinates of a top-left sample position or a central lower right sample position of the upper left neighboring block are reset to (0, 0), and motion vectors for the CPs are acquired based on the reset coordinates and motion vectors of the neighboring candidate blocks.

### Claim 10

An encoding apparatus for image encoding, the encoding apparatus comprising:
a memory; and
at least one processor connected to the memory, the at least one processor configured to:
derive control points (CPs) for a current block;
acquire motion vectors for the CPs;
derive motion vectors of sub-blocks in the current block based on the acquired motion vectors;
generate a prediction sample for the current block based on the derived motion vectors; and
encode prediction mode information for the current block and information for the derived motion vector and output the encoded information,
wherein based on a number of CPs being 3, and a coordinate of CP0 among the CPs is (0, 0), a coordinate of CP1 is (S, 0) and a coordinate of CP2 is (0, S),
wherein a coordinate of a top-left sample position of the current block is (0, 0) and a height and a width of the current block are S,
wherein the acquiring of the motion vectors for the CPs comprises:
deriving motion vector 0 for CP0 based on neighboring block group 0 including an upper left neighboring block, a first left neighboring block and a first upper neighboring block;
deriving motion vector 1 for CP1 based on neighboring block group 1 including an upper right neighboring block and a second upper neighboring block; and
deriving motion vector 2 for CP2 based on neighboring block group 2 including a lower left neighboring block and a second left neighboring block,
wherein it is sequentially determined whether the upper left neighboring block, the first left neighboring block and the first upper neighboring block are available according to a predefined first priority, it is sequentially determined whether the upper right neighboring block and the second upper neighboring block are available according to a predefined second priority, and it is sequentially determined whether the lower left neighboring block and the second left neighboring block are available according to a predefined third priority, and
wherein the first left neighboring block is the uppermost block among left neighboring blocks adjacent to the left boundary of the current block, the first upper neighboring block is the leftmost block among upper neighboring blocks adjacent to the upper boundary of the current block, the second upper neighboring block is the rightmost block among upper neighboring blocks adjacent to the upper boundary of the current block, and the second left neighboring block is the lowermost block among the left neighboring blocks adjacent to the left boundary of the current block.

### Claim 11 (depends on 10)

The encoding apparatus of claim 10, wherein motion vectors for the CPs are acquired based on motion information of a neighboring block of the current block.

### Claim 12

An apparatus for transmitting data for an image, the apparatus comprising:
at least one processor configured to obtain a bitstream for the video signal, wherein the bitstream is generated based on deriving control points (CPs) for a current block, acquiring motion vectors for the CPs, deriving motion vectors sub-blocks in the current block based on the acquired motion vectors, deriving a prediction sample for the current block based on the derived motion vectors, and generating a reconstructed sample based on the prediction sample and
a transmitter configured to transmit the data comprising the bitstream,
wherein based on a number of CPs being 3, and a coordinate of CP0 among the CPs is (0, 0), a coordinate of CP1 is (S, 0) and a coordinate of CP2 is (0, S),
wherein a coordinate of a top-left sample position of the current block is (0, 0) and a height and a width of the current block are S,
wherein the acquiring of the motion vectors for the CPs comprises:
deriving motion vector 0 for CP0 based on neighboring block group 0 including an upper left neighboring block, a first left neighboring block and a first upper neighboring block;
deriving motion vector 1 for CP1 based on neighboring block group 1 including an upper right neighboring block and a second upper neighboring block; and
deriving motion vector 2 for CP2 based on neighboring block group 2 including a lower left neighboring block and a second left neighboring block,
wherein it is sequentially determined whether the upper left neighboring block, the first left neighboring block and the first upper neighboring block are available according to a predefined first priority, it is sequentially determined whether the upper right neighboring block and the second upper neighboring block are available according to a predefined second priority, and it is sequentially determined whether the lower left neighboring block and the second left neighboring block are available according to a predefined third priority, and
wherein the first left neighboring block is the uppermost block among left neighboring blocks adjacent to the left boundary of the current block, the first upper neighboring block is the leftmost block among upper neighboring blocks adjacent to the upper boundary of the current block, the second upper neighboring block is the rightmost block among upper neighboring blocks adjacent to the upper boundary of the current block, and the second left neighboring block is the lowermost block among the left neighboring blocks adjacent to the left boundary of the current block.

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein a sub-block has a size of n×n and n is a positive integer.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein n is 4.

### Claim 15 (depends on 12)

The apparatus of claim 12, wherein the motion vectors in units of a sub-block or a sample in the current block are derived based on the following equation
E
⁢
1
,
v
x
=
v
x
⁢
1
-
v
x
⁢
0
s
⁢
x
+
v
x
⁢
2
-
v
x
⁢
0
s
⁢
y
+
v
x
⁢
0
⁢
v
y
=
v
y
⁢
1
-
v
y
⁢
0
s
⁢
x
+
v
y
⁢
2
-
v
y
⁢
0
s
⁢
y
+
v
y
⁢
0
(E1) wherein vx and vy represent an x-component and a y-component, respectively, of a motion vector with respect to coordinates (x, y) in the current block, vx0 and vy0 represent an x-component and a y-component, respectively, of a motion vector of CP0, vx1 and vy1 represent an x-component and a y-component, respectively, of a motion vector of CP1, and vx2 and vy2 represent an x-component and a y-component, respectively, of a motion vector of CP2.

### Claim 16 (depends on 12)

The apparatus of claim 12, wherein a motion vector corresponding to a lower right sample position of the center of the sub-block is used as a motion vector for the sub-block.

### Claim 17 (depends on 12)

The apparatus of claim 12, wherein motion vectors for the CPs are acquired based on motion information of a neighboring block of the current block.

### Claim 18 (depends on 12)

The apparatus of claim 12, wherein the prediction sample for the current block is derived based on the derived motion vectors and a reference picture index of the current block, and the reference picture index of the current block is derived based on a reference picture index of a neighboring block of the current block.

### Claim 19 (depends on 12)

The apparatus of claim 12, wherein a motion vector corresponding to a top-left sample position of the sub-block is used as a motion vector for the sub-block.
