IP Library Granted Patent US 11,683,481
Granted Patent B2
US 11,683,481 · App. 17/473,247 · Granted Jun 20, 2023

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

Inventors: Je Won Kang (Seoul, KR); Sang Hyo Park (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/107H04N19/176H04N19/184H04N19/513H04N19/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,683,481
App. No.
17/473,247
Granted
Jun 20, 2023
Kind
B2
Abstract

Image decoding of decoding a sequence of coded pictures on a block-by-block basis is provided. The image decoding incudes decoding a first high-level syntax element from a bitstream to determine, at a sequence level, whether affine motion prediction is allowed. A second high-level syntax element is extracted for each of at least one coding tool from the bitstream depending on the first high-level syntax element. At a picture level, the method determines whether each of the at least one coding tool is allowed. The coding tool includes sample-by-sample adjustment of affine motion prediction samples.

Claims (39)

1. A video decoding apparatus for decoding a sequence of coded pictures on a block-by-block basis, comprising:

a decoder configured to:

set, at a sequence level, whether affine motion prediction is allowed by decoding a first high-level syntax element from a bitstream; and

set, at a picture level, whether each of at least one coding tool is allowed by decoding one or more second high-level syntax elements for each of the at least one coding tool from the bitstream depending on the first high-level syntax element, the at least one coding tool including sample-by-sample adjustment of affine motion prediction samples; and

a predictor configured to determine, when the setting at the sequence level indicates that the affine motion prediction is allowed, two or three control point motion vectors of a target block encoded using the affine motion prediction, and generate affine prediction samples for each of subblocks in the target block by performing affine motion prediction in the unit of the subblocks using the control point motion vectors,

wherein, when it is identified, based on the setting at the picture level, that the sample-by-sample adjustment of the affine motion prediction samples is allowed for a current picture containing the target block, the predictor is configured to modify sample values of the affine prediction samples by compensating for motion according to a sample position in each of the subblocks based on the control point motion vectors of the target block.

2. The apparatus of claim 1 , wherein the first high-level syntax element is decoded from a header of the sequence.

3. The apparatus of claim 1 , wherein the decoder decodes the one or more second high-level syntax elements for the sample-by-sample adjustment of the affine motion prediction samples by:

when the first high-level syntax element indicates that the affine motion prediction is allowed, decoding a sequence level flag indicating whether the sample-by-sample adjustment of the affine motion prediction samples is allowed from the header of the sequence; and

depending on the sequence level flag, decoding a picture level flag indicating whether the sample-by-sample adjustment of the affine motion prediction samples is allowed from a picture header of each of the pictures belonging to the sequence.

4. The apparatus of claim 3 , wherein, when the first high-level syntax element indicates that the affine motion prediction is not allowed or the sequence level flag indicates that the sample-by-sample adjustment is not allowed, the decoder is configured to set the picture level flag to a value indicating that the sample-by-sample adjustment is not allowed, without being decoded from the picture header.

5. The apparatus for claim 1 , wherein, when the first high-level syntax element indicates that the affine motion prediction is not allowed, any of the affine motion prediction and the at least one coding tool is not allowed for all the pictures in the sequence.

6. The apparatus of claim 1 , wherein the predictor is configured to modify the sample values of the affine prediction samples by:

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

generating horizontal and vertical gradients with respect to 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 the sample value of the affine prediction sample corresponding to the sample position.

7. The apparatus of claim 6 , wherein the motion offset generated for the sample position in the target subblock is reused as a motion offset for the same sample position in another subblock of the target block.

8. A video encoding apparatus for encoding a sequence of coded pictures on a block-by-block basis, comprising:

an encoder configured to:

encode, in a header of the sequence, a sequence-level first high-level syntax element to indicate whether both affine motion prediction and at least one coding tool are disabled, the at least one coding tool including sample-by-sample adjustment of affine motion prediction samples;

depending on the first high-level syntax element, encode one or more second high-level syntax elements indicating a setting of a sequence level or a picture level as to whether each of the at least one coding tool is allowed; and

a predictor configured to, when the first high-level syntax element indicates that both the affine motion prediction and the at least one coding tool are not disabled, determine two or three control point motion vectors for a target block to be encoded by the affine motion prediction, and generate affine prediction samples for each of subblocks by performing subblock-by-subblock affine motion prediction using the control point motion vectors; and

wherein, when the sample-by-sample adjustment of the affine motion prediction samples is allowed for a current picture containing the target block, the predictor is configured to modify sample values of the affine prediction samples by compensating for motion according to a sample position in each of the subblocks based on the control point motion vectors of the target block.

9. The apparatus for claim 8 , wherein the encoder is configured to encode the one or more second high-level syntax elements for the sample-by-sample adjustment of the affine motion prediction samples by:

when the first high-level syntax element indicates that the affine motion prediction is allowed, encoding a sequence level flag indicating whether the sample-by-sample adjustment of the affine motion prediction samples is allowed in the header of the sequence; and

depending on the sequence level flag, encoding a picture level flag indicating whether the sample-by-sample adjustment is allowed in a picture header of each of the pictures belonging to the sequence.

10. The apparatus of claim 9 , wherein, when the first high-level syntax element indicates that the affine motion prediction is not allowed or the sequence level flag indicates that the sample-by-sample adjustment is not allowed, the encoder is configured not to encode the picture level flag.

11. The apparatus for claim 8 , wherein the predictor is configured to modify the sample values of the affine prediction samples by:

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

generating horizontal and vertical gradients with respect to 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 the sample value of the affine prediction sample corresponding to the sample position.

12. The apparatus of claim 11 , wherein the motion offset generated for the sample position in the target subblock is reused as a motion offset for the same sample position in another subblock of the target block.

13. A non-transitory computer readable medium storing a bitstream generated by a video encoding method, the method comprising:

encoding, in a header of the sequence, a sequence-level first high-level syntax element to indicate whether both affine motion prediction and at least one coding tool are disabled, the at least one coding tool including sample-by-sample adjustment of affine motion prediction samples;

depending on the first high-level syntax element, encoding one or more second high-level syntax elements indicating a setting of a sequence level or a picture level as to whether each of the at least one coding tool is allowed;

when the first high-level syntax element indicates that both the affine motion prediction and the at least one coding tool are not disabled, determining two or three control point motion vectors for a target block to be encoded by the affine motion prediction, and generating affine prediction samples for each of subblocks by performing subblock-by-subblock affine motion prediction using the control point motion vectors; and

when the sample-by-sample adjustment of the affine motion prediction samples is allowed for a current picture containing the target block, modifying sample values of the affine prediction samples by compensating for motion according to a sample position in each of the subblocks based on the control point motion vectors of the target block.

Assignments (1)
CHANGE OF NAME Recorded Nov 14, 2022
From: KIA MOTORS CORPORATION
To: KIA CORPORATION
Reel/Frame 061934/0867 →
Priority Claims (3)
KR 10-2019-0070633 · Jun 14, 2019 · national
KR 10-2019-0082010 · Jul 8, 2019 · national
KR 10-2020-0072332 · Jun 15, 2020 · national
Continuity (2)
Continuation 17267182
Related Publication 20210409693A1 · Dec 30, 2021