IP Library Granted Patent US 10,582,215
Granted Patent B2
US 10,582,215 · App. 15/751,077 · Granted Mar 3, 2020

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 10,582,215
App. No.
15/751,077
Granted
Mar 3, 2020
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 (61)

1. A video decoding method performed by a decoding device, the video decoding method comprising:

deriving control points (CPs) for a current block;

obtaining motion vectors for the CPs;

deriving a sample unit motion vector in the current block based on the obtained motion vectors for the CPs;

deriving a prediction sample for the current block based on the sample unit motion vector; and

generating a reconstructed block for the current block based on the derived prediction sample for the current block,

wherein, when a coordinate of a top-left sample position of the current block is (xc, yc), the CPs comprise CP0 located on a coordinate of (xc, yc), CP1 located on a coordinate of (xc+W, yc), and CP2 located on a coordinate of (xc, yc+H),

wherein the obtained motion vectors for the CPs comprise a motion vector 0 for the CP0, a motion vector 1 for the CP1 and a motion vector 2 for the CP2,

wherein the motion vector 0, the motion vector 1, and the motion vector 2 are derived based on at least one of a sample located on a coordinate of (xc−1, yc−1), a sample located on a coordinate of (xc, yc−1), a sample located on a coordinate of (xc−1, yc), a sample located on a coordinate of (xc+W, yc−1), a sample located on a coordinate of (xc+W−1, yc−1), a sample located on a coordinate of (xc−1, yc+H−1), and a sample located on a coordinate of (xc−1, yc+H), and

wherein the W represents a width of the current block and the H represents a height of the current block.

2. The video decoding method of claim 1 ,

wherein the W is not equal to the H.

3. The video decoding method of claim 2 , wherein

the sample unit motion vector 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,

wherein the Vx represents a x component of the sample unit motion vector for a sample located on a coordinate of (x, v), the Vy represents a y component of the sample unit motion vector for the sample located on the coordinate of (x, y), the Vx0 represents a x component of the motion vector 0 for the CP0, the Vy0 represents a y component of the motion vector 0 for the CP0, the Vx1 represents a x component of the motion vector 1 for the CP1, the Vy1 represents a y component of the motion vector 1 for the CP1, the Vx2 represents a x component of the motion vector 2 for the CP2, and the Vy2 represents a y component of the motion vector 2 for the CP2.

4. The video decoding method of claim 2 , wherein

the motion vector 0 is derived based on at least one of the sample located on the coordinate of (xc−1, yc−1), the sample located on the coordinate of (xc, yc−1), and the sample located on the coordinate of (xc−1, yc) coordinates;

the motion vector 1 is derived based on at least one of the sample located on the coordinate of (xc+W, yc−1) and the sample located on the coordinate of (xc+W−1, yc−1); and

the motion vector 2 is derived based on at least one of the sample located on the coordinate of (xc−1, yc+H) and the sample located on the coordinate of (xc−1, yc+H−1).

5. The video decoding method of claim 4 , wherein

availability for the CP0 is determined by checking the sample located on the coordinate of (xc−1, yc−1), and the sample located on the coordinate of (xc, yc−1) and the sample located on the coordinate of (xc−1, yc) based on a first predefined priority order,

availability for the CP1 is determined by checking the sample located on the coordinate of (xc+W, yc−1) and the sample located on the coordinate of (xc+W−1, yc−1) based on a second predefined priority order, and

availability for the CP2 is determined by checking the sample located on the coordinate of (xc−1, yc+H) and the sample located on the coordinate of the (xc−1, yc+H−1) based on a third predefined priority order.

6. The video decoding method of claim 2 ,

wherein the H is W/2, and

wherein the CP1 is located on a coordinate of (xc+W, yc) and the CP2 is located on a coordinate of (xc, yc+W/2).

7. The video decoding method of claim 6 , wherein

the sample unit motion vector is derived based on the following equation,

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 sample unit motion vector for a sample located on a coordinate of (x, y), the Vy represents a y component of the sample unit motion vector for the sample located on the coordinate of (x, y), the Vx0 represents a x component of the motion vector 0 for the CP0, the Vy0 represents a y component of the motion vector 0 for the CP0, the Vx1 represents a x component of the motion vector 1 for the CP1, the Vy1 represents a y component of the motion vector 1 for the CP1, the Vx2 represents a x component of the motion vector 2 for the CP2 and the Vy2 represents a y component of the motion vector 2 for the CP2.

8. The video decoding method of claim 6 , wherein

the motion vector 0 is derived based on at least one of the sample located on the coordinate of (xc−1, yc−1), the sample located on the coordinate of (xc, yc−1), and the sample located on the coordinate of (xc−1, yc),

the motion vector 1 is derived based on at least one of the sample located on the coordinate of (xc+W, yc−1) and the sample located on the coordinate of (xc+W−1, yc−1), and

the motion vector 2 is derived based on at least one of a sample located on a coordinate of (xc−1, yc+W/2) and a sample located on a coordinate of (xc−1, yc+W/2−1).

9. The video decoding method of claim 8 , wherein

availability for the CP0 is determined by checking the sample located on the coordinate of (xc−1, yc−1), and the sample located on the coordinate of (xc, yc−1) and the sample located on the coordinate of (xc−1, yc) based on a first predefined priority order,

availability for the CP1 is determined by checking the sample located on the coordinate of (xc+W, yc−1) and the sample located on the coordinate of (xc+W−1, yc−1) based on a second predefined priority order, and

availability for the CP2 is determined by checking the sample located on the coordinate of (xc−1, yc+W/2) and the sample located on the coordinate of (xc−1, yc+W/2-1) based on a third predefined priority order.

10. The video decoding method of claim 1 , wherein

a motion vector regarding a CP having a same position as that of a CP of a neighboring block decoded before the current block, among the CPs, is derived based on a motion vector regarding the CP of the neighboring block.

11. A video encoding method performed by an encoding device, the video encoding method comprising:

deriving control points (CPs) for a current block;

obtaining motion vectors for the CPs;

deriving a sample unit motion vector in the current block based on the obtained motion vectors for the CPs;

performing a prediction for the current block based on the sample unit motion vector; and

encoding video information on the prediction for the current block,

wherein, when a coordinate of a top-left sample position of the current block is (xc, yc), the CPs comprise CP0 located on a coordinate of (xc, yc), CP1 located on a coordinate of (xc+W, yc), and CP2 located on a coordinate of (xc, yc+H),

wherein the obtained motion vectors for the CPs comprise a motion vector 0 for the CP0, a motion vector 1 for the CP1, and a motion vector 2 for the CP2,

wherein the motion vector 0, the motion vector 1, and the motion vector 2 are derived based on at least one of a sample located on a coordinate of (xc−1, yc−1), a sample located on a coordinate of (xc, yc−1), a sample located on a coordinate of (xc−1, yc), a sample located on a coordinate of (xc+W, yc−1), a sample located on a coordinate of (xc+W−1, yc−1), a sample located on a coordinate of (xc−1, yc+H−1), and a sample located on a coordinate of (xc−1, yc+H), and

wherein the W represents a width of the current block and the H represents a height of the current block.

12. A non-transitory decoder-readable storage medium storing an encoded video information generated by an encoding process comprising:

deriving control points (CPs) for a current block;

obtaining motion vectors for the CPs;

deriving a sample unit motion vector in the current block based on the obtained motion vectors for the CPs;

performing a prediction for the current block based on the sample unit motion vector; and

encoding video information on the prediction for the current block,

wherein, when a coordinate of a top-left sample position of the current block is (xc, yc), the CPs comprise CP0 located on a coordinate of (xc, yc), CP1 located on a coordinate of (xc+W, yc), and CP2 located on a coordinate of (xc, yc+H),

wherein the obtained motion vectors for the CPs comprise a motion vector 0 for the CP0, a motion vector 1 for the CP1, and a motion vector 2 for the CP2,

wherein the motion vector 0, the motion vector 1, and the motion vector 2 are derived based on at least one of a sample located on a coordinate of (xc−1, yc−1), a sample located on a coordinate of (xc, yc−1), a sample located on a coordinate of (xc−1, yc), a sample located on a coordinate of (xc+W, yc−1), a sample located on a coordinate of (xc+W−1, yc−1), a sample located on a coordinate of (xc−1, yc+H−1), and a sample located on a coordinate of (xc−1, yc+H), and

wherein the W represents a width of the current block and the H represents a height of the current block.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 9, 2025
From: LG ELECTRONICS INC.
To: NOKIA TECHNOLOGIES OY
Reel/Frame 072859/0365 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 6, 2019
From: JANG, HYEONGMOON; SON, EUNYONG; KOO, MOONMO; PARK, SEUNGWOOK; JEON, YONGJOON
To: LG ELECTRONICS INC.
Reel/Frame 047910/0560 →
Continuity (2)
Provisional Application 62202182 · Aug 7, 2015
Related Publication 20180234697A1 · Aug 16, 2018
Cited By (2)
US 12,382,063 US 12,615,369