IP Library Granted Patent US 11,849,140
Granted Patent B2
US 11,849,140 · App. 17/868,990 · Granted Dec 19, 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,849,140
App. No.
17/868,990
Granted
Dec 19, 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 (35)

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

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 two or three 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; and

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

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

2. The method of claim 1 , when the first coding tool is executed, further comprising:

generating, 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;

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

generating 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 method of claim 1 , wherein, when a dot product of the control point motion vectors yields a negative value, executing the first coding tool is skipped.

4. The method of claim 1 , further comprising:

decoding, from a header of each picture in a bitstream, a picture level flag indicating whether the first coding tool is allowed for a picture related to the header; and

determining whether to execute the first coding tool for the target block based on a value of the picture level flag extracted from the header of the current picture containing the target block.

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

6. A video encoding method for encoding a video data by a video encoding apparatus, comprising:

generating affine prediction samples for respective subblocks in a target block to be decoded, by performing affine motion prediction on a subblock-by-subblock basis using two or three 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; and

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

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

7. The method of claim 6 , wherein, when the first coding tool is executed, further comprising:

generating, 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;

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

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

8. The method of claim 6 , wherein, when a dot product of the control point motion vectors yields a negative value, executing the first coding tool is skipped.

9. The method of claim 6 , further comprising:

encoding, in a header of each of the pictures, a picture level flag indicating whether the first coding tool is allowed; and

determining whether to execute the first coding tool for the target block based on a value of the picture level flag contained in the header of the current picture containing the target block.

10. The method of claim 7 , 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. 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 two or three 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; and

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

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 20220368937A1 · Nov 17, 2022