IP Library Granted Patent US 11,785,247
Granted Patent B2
US 11,785,247 · App. 17/868,953 · Granted Oct 10, 2023

Method and apparatus for encoding and decoding video using inter-prediction

Inventors: Je Won Kang (Seoul, KR); Seung Wook Park (Gyeonggi-do, KR); Wha Pyeong Lim (Gyeonggi-do, KR)
Assignees: Hyundai Motor Company; Kia Corporation; Ewha University-Industry Collaboration Foundation
H04N19/52H04N19/132H04N19/176H04N19/70
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,785,247
App. No.
17/868,953
Granted
Oct 10, 2023
Kind
B2
Abstract

A video decoding apparatus is provided for decoding pictures using inter-prediction. The video decoding apparatus includes a predictor that generates affine prediction samples for respective subblocks in a target block in a current picture to be decoded by performing affine motion prediction on a subblock-by-subblock basis using control point motion vectors which respectively correspond to corners of the target block. The predictor also modifies sample values of the affine prediction samples by executing a first coding tool, the first coding tool compensating for motion according to sample positions in each of the subblocks using the control point motion vectors.

Claims (45)

1. A video decoding apparatus for decoding a video data, comprising:

a decoder configured to obtain sample values of residual samples,

a predictor configured to generate affine prediction samples for respective subblocks in a target block in a current picture to be decoded, by performing affine motion prediction on a subblock-by-subblock basis using a plurality of control point motion vectors of the target block; and

modify sample values of the affine prediction samples by executing a first coding tool, the first coding tool compensating for motion according to sample positions in each of the subblocks using the control point motion vectors,

an adder configured to decode the target block based on the sample values of the residual samples and the modified sample values of the affine prediction samples,

wherein the predictor is configured to determine whether to execute the first coding tool based on at least one of values of the control point motion vectors or an angle between the control point motion vectors,

wherein, when the values of the control point motion vectors are equal to each other, the predictor is configured to skip executing the first coding tool.

2. The apparatus of claim 1 , wherein, when the first coding tool is executed, the predictor is configured to:

generate, using the control point motion vectors of the target block, a motion offset resulting from a difference between a sample position in a target subblock to be corrected and a center of the target subblock;

generate horizontal and vertical gradients for the sample position in the target subblock;

generate a sample offset for an affine prediction sample corresponding to the sample position in the target subblock using the horizontal and vertical gradients and the motion offset; and

adding the sample offset to a sample value of the affine prediction sample corresponding to the sample position.

3. The apparatus of claim 1 , wherein, when a dot product of the control point motion vectors yields a negative value, the predictor is configured to skip executing the first coding tool.

4. The apparatus of claim 2 , wherein, when horizontal and vertical components of the motion offset are less than a predefined threshold, the predictor is configured to stop execution of the first coding tool.

5. The apparatus of claim 1 , wherein the predictor includes a second coding tool configured to:

generate an inter-predicted block by inter-predicting the target block,

generate an intra-predicted block by intra-predicting the target block, and

generate prediction samples of the target block by weighted-averaging the inter-predicted block and the intra-predicted block.

6. The apparatus of claim 5 , wherein execution of one of the first coding tool and the second coding tool restricts execution of the other coding tool.

7. A video encoding apparatus for encoding a video data, comprising:

a predictor configured to determine a plurality of control point motion vectors of a target block split from a current picture to be encoded and generate affine prediction samples for respective subblocks in the target block by performing affine motion prediction on a subblock-by-subblock basis using the control point motion vectors; and

modify sample values of the affine prediction samples by executing a first coding tool, the first coding tool compensating for motion according to sample positions in each of the subblocks using the control point motion vectors,

a subtractor configured to generate sample values of residual samples based on the target block and the modified sample values of the affine prediction samples,

an encoder configured to encode the sample values of the residual samples,

wherein the predictor is configured to determine whether to execute the first coding tool based on at least one of values of the control point motion vectors or an angle between the control point motion vectors,

wherein, when values of the control point motion vectors are equal to each other, the predictor is configured to skip executing the first coding tool.

8. The apparatus of claim 7 , wherein, when the first coding tool is executed, the predictor is configured to:

generate, using the control point motion vectors of the target block, a motion offset resulting from a difference between a sample position in a target subblock to be corrected and a center of the target subblock;

generate horizontal and vertical gradients for the sample position in the target subblock;

generate a sample offset for an affine prediction sample corresponding to the sample position in the target subblock using the horizontal and vertical gradients and the motion offset; and

add the sample offset to a sample value of the affine prediction sample corresponding to the sample position.

9. The apparatus of claim 7 , wherein, when a dot product of the control point motion vectors yields a negative value, the predictor is configured to skip executing the first coding tool.

10. The apparatus of claim 8 , wherein, when horizontal and vertical components of the motion offset are less than a predefined threshold, execution of the first coding tool is stopped.

11. The apparatus of claim 7 , wherein the predictor includes a second coding tool configured to:

generate an inter-predicted block by inter-predicting the target block,

generate an intra-predicted block by intra-predicting the target block, and

generate prediction samples of the target block by weighted-averaging the inter-predicted block and the intra-predicted block.

12. The apparatus of claim 11 , wherein execution of one of the first coding tool and the second coding tool restricts execution of the other coding tool.

13. A non-transitory computer readable medium storing a bitstream containing an encoded video data, the encoded video data being decoded from the bitstream by processes of:

generating affine prediction samples for respective subblocks in a target block in a current picture to be decoded, by performing affine motion prediction on a subblock-by-subblock basis using a plurality of control point motion vectors of the target block;

determining whether to execute a first coding tool based on at least one of values of the control point motion vectors or an angle between the control point motion vectors;

in response to determining that the first coding tool is executed, modifying sample values of the affine prediction samples by executing a first coding tool, the first coding tool compensating for motion according to sample positions in each of the subblocks using the control point motion vectors,

obtaining sample values of residual samples; and

decoding the target block based on the sample values of the residual samples and the modified sample values of the affine prediction samples,

wherein, when the values of the control point motion vectors are equal to each other, executing the first coding tool is skipped.

Assignments (1)
CHANGE OF NAME Recorded Nov 14, 2022
From: KIA MOTORS CORPORATION
To: KIA CORPORATION
Reel/Frame 061934/0867 →
Priority Claims (2)
KR 10-2019-0081925 · Jul 8, 2019 · national
KR 10-2020-0083980 · Jul 8, 2020 · national
Continuity (2)
Continuation 17263597
Related Publication 20220377366A1 · Nov 24, 2022