IP Library Granted Patent US 11,503,334
Granted Patent B2
US 11,503,334 · App. 17/348,204 · Granted Nov 15, 2022

Inter prediction method and apparatus in video coding system

Inventors: Hyeongmoon Jang (Seoul, KR); Eunyong Son (Seoul, KR); Moonmo Koo (Seoul, KR); Seungwook Park (Seoul, KR); Yongjoon Jeon (Seoul, KR)
Assignee: LG ELECTRONICS INC.
H04N19/56H04N19/105H04N19/124H04N19/176H04N19/182H04N19/503H04N19/513H04N19/66H04N19/70H04N19/91
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,503,334
App. No.
17/348,204
Granted
Nov 15, 2022
Kind
B2
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 (96)

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 based on a size of the 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

generating a reconstructed block for the current block based on a result of 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 based on one of 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 based on one of 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 based on one of 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,

wherein the size of the current block is determined based on a width of the current block and a height of the current block, and

wherein the height of the current block is equal to the width of the current block divided by 2.

2. The video decoding method of claim 1 , wherein the motion vector related to the sample position is derived based on the following equations,

Vx =( Vx 1− Vx 0)* x/W +( Vx 2− Vx 0)* y/H+Vx 0, Vy =( Vy 1− Vy 0)* x/W +( Vy 2− Vy 0)* y/H+Vy 0, 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, the Vy2 represents a y component of the third motion vector for the third CP, and W and H are the width and the height of the current block respectively.

3. 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.

4. The video decoding method of claim 1 ,

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 bock to the second left neighboring block.

5. The video decoding method of claim 1 ,

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.

6. The video decoding method of claim 1 , wherein:

the motion vector related to the sample position is derived based on the following equations,

Vx =( Vx 1− Vx 0)* x/W +( Vx 2− Vx 0)* y /( W/ 2)+ Vx 0,

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, the Vy2 represents a y component of the third motion vector for the third CP, and W and H are the width and the height of the current block respectively.

7. 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 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).

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 based on a size of the 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 based on one of 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 based on one of 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 based on one of 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,

wherein the size of the current block is determined based on a width of the current block and a height of the current block, and

wherein the height of the current block is equal to the width of the current block divided by 2.

9. The video encoding method of claim 8 , wherein the motion vector related to the sample position is derived based on the following equations,

Vx =( Vx 1− Vx 0)* x/W +( Vx 2− Vx 0)* y/H+Vx 0, Vy =( Vy 1− Vy 0)* x/W +( Vy 2− Vy 0)* y/H+Vy 0, 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, the Vy2 represents a y component of the third motion vector for the third CP, and W and H are the width and the height of the current block respectively.

10. 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).

11. 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.

12. The video encoding method of claim 8 ,

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.

13. The video encoding method of claim 8 , wherein:

the motion vector related to the sample position is derived based on the following equations,

Vx =( Vx 1− Vx 0)* x/W +( Vx 2− Vx 0)* y /( W/ 2)+ Vx 0,

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, the Vy2 represents a y component of the third motion vector for the third CP, and W and H are the width and the height of the current block respectively.

14. 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 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).

15. A non-transitory computer-readable digital storage medium storing a bitstream generated by a video decoding method, the method comprising:

deriving motion vectors for control points (CPs) for a current block based on a size of the 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 to output the bitstream,

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 based on one of 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 based on one of 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 based on one of 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,

wherein the size of the current block is determined based on a width of the current block and a height of the current block, and

wherein the height of the current block is equal to the width of the current block divided by 2.

16. A transmission method of data for a video, the method comprising:

obtaining a bitstream for the video, wherein the bitstream is generated based on deriving motion vectors for control points (CPs) for a current block based on a size of the 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; and

transmitting the data comprising the bitstream,

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 based on one of 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 based on one of 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 based on one of 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,

wherein the size of the current block is determined based on a width of the current block and a height of the current block, and

wherein the height of the current block is equal to the width of the current block divided by 2.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2025
From: LG ELECTRONICS INC.
To: NOKIA TECHNOLOGIES OY
Reel/Frame 072859/0365 →
CORRECTIVE ASSIGNMENT TO CORRECT THE THE ASSIGNEE COUNTRY PREVIOUSLY RECORDED AT REEL: 056590 FRAME: 0203. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 18, 2021
From: JANG, HYEONGMOON; SON, EUNYONG; KOO, MOONMO; PARK, SEUNGWOOK; JEON, YONGJOON
To: LG ELECTRONICS INC.
Reel/Frame 058181/0633 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 18, 2021
From: JANG, HYEONGMOON; SON, EUNYONG; KOO, MOONMO; PARK, SEUNGWOOK; JEON, YONGJOON
To: LG ELECTRONICS INC.
Reel/Frame 056590/0203 →
Continuity (4)
Continuation 16773958 · Jan 27, 2020
Continuation 15751077
Provisional Application 62202182 · Aug 7, 2015
Related Publication 20210314603A1 · Oct 7, 2021