IP Library Granted Patent US 11,825,114
Granted Patent B2
US 11,825,114 · App. 17/875,049 · Granted Nov 21, 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/521H04N19/105H04N19/132H04N19/139H04N19/176H04N19/577H04N19/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,825,114
App. No.
17/875,049
Granted
Nov 21, 2023
Kind
B2
Abstract

A coding tool is provided to improve the compression performance of inter prediction and is used at the encoder/decoder side to adjust the correction of a motion vector based on a high level syntax. In addition, a method is provided for simply performing an integer sample search step of searching for an integer offset and a fractional sample refinement step of searching for a sub-pixel offset in relation to motion vector refinement among coding tools.

Claims (44)

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

decoding, from a bitstream, at least one first high level syntax element indicating whether each of at least one coding tool is allowed, the at least one coding tool including a motion vector refinement;

decoding, from the bitstream, a second high level syntax element corresponding to each of the at least one coding tool depending on the at least one first high level syntax element, and setting, at a picture level, whether each of the at least one coding tool is allowed;

in response to identifying that the motion vector refinement is allowed for a current picture including a target block based on the setting at the picture level, generating a refined motion vector for the target block, by calculating, for pairs of two candidate blocks which are within a preset offset range from initial motion vectors in bi-directional reference pictures of the target block, metrics between the two candidate blocks and searching for a motion vector candidate having a minimum metric;

generating inter-predicted samples for the target block using the bi-directional reference pictures and the refined motion vector;

obtaining residual samples for the target block; and

decoding the target block based on the residual samples and the inter-predicted samples,

wherein the generating of the refined motion vector includes:

an integer sample search operation of searching for an integer offset corresponding to a position having the minimum metric by calculating the metrics for pairs of the two candidate blocks which correspond to a pair of initial positions indicated by the initial motion vectors and pairs of two neighboring positions displaced from the initial positions in integer sample units, wherein the neighboring positions in the integer sample units have a square distribution around each of the initial positions;

a fractional sample refinement operation of, when the integer offset is not positioned at an outermost side of the square distribution, searching for an optimal sub-pixel offset by solving a parametric error surface equation using the position with the minimum metric and top, bottom, left, and right neighboring positions of the position with the minimum metric; and

generating an offset between the initial motion vector and the refined motion vector by adding the sub-pixel offset to the integer offset.

2. The method of claim 1 , wherein the decoding of the second high level syntax element includes:

when the first high level syntax element indicates that the motion vector refinement is allowed, decoding, from a picture header of each of the pictures belonging to a sequence, a picture level flag indicating whether the motion vector refinement is allowed.

3. The method of claim 2 , wherein, when the first high level syntax element indicates that the motion vector refinement is not allowed, the picture level flag is set to a value indicating that the motion vector refinement is not allowed without being decoded from the picture header.

4. The method of claim 1 , wherein, when the first high level syntax element indicates that the motion vector refinement is not allowed, a coding tool for the motion vector refinement is not allowed for any of the pictures in the sequence.

5. The method of claim 1 , wherein, when the metric between the two candidate blocks corresponding to the initial motion vectors is less than a preset first threshold, both the integer sample search operation and the fractional sample refinement operation are skipped.

6. The method of claim 1 , wherein, when the integer offset is zero, the fractional sample refinement operation is skipped.

7. The method of claim 1 , wherein when each of differences between the minimum metric and metrics which are acquired at integer coordinates of two or more positions in the integer sample search operation is less than a preset second threshold, the fractional sample refinement operation is skipped.

8. The method of claim 1 , wherein, when the initial motion vectors for the target block are generated by a merge mode, whether to execute the integer sample search operation or the fractional sample refinement operation is determined depending on magnitudes of motion vectors of neighboring blocks considered as merge candidates or a coding mode applied to the neighboring blocks.

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

encoding at least one first high level syntax element indicating whether each of at least one coding tool is allowed, the at least one coding tool including motion vector refinement;

encoding a second high level syntax element of a picture level related to whether each of the at least one coding tool is allowed depending on the at least one first high level syntax element;

in response to identifying that the motion vector refinement is allowed for a current picture including a target block based on setting of the picture level, generating a refined motion vector for the target block, by calculating, for pairs of two candidate blocks which are within a preset offset range from initial motion vectors in bi-directional reference pictures of the target block, metrics between the two candidate blocks and searching for a motion vector candidate having a minimum metric;

generating inter-prediction samples for the target block using the bi-directional reference pictures and the refined motion vector;

generating residual samples based on the target block and the inter-prediction samples; and

encoding the residual samples,

wherein the generating of the refined motion vector includes:

an integer sample search operation of searching for an integer offset corresponding to a position having the minimum metric by calculating the metrics for pairs of the two candidate blocks which correspond to a pair of initial positions indicated by the initial motion vectors and pairs of two neighboring positions displaced from the initial positions in integer sample units, wherein the neighboring positions in the integer sample units have a square distribution around each of the initial positions;

a fractional sample refinement operation of, when the integer offset is not positioned at an outermost side of the square distribution, searching for an optimal sub-pixel offset by solving a parametric error surface equation using the position with the minimum metric and top, bottom, left, and right neighboring positions of the position with the minimum metric; and

generating an offset between the initial motion vector and the refined motion vector by adding the sub-pixel offset to the integer offset.

10. The method of claim 9 , wherein the encoding of the second high level syntax element includes:

when the first high level syntax element indicates that the motion vector refinement is allowed, encoding, in a picture header of each of the pictures belonging to a sequence, a picture level flag indicating whether the motion vector refinement is allowed.

11. The method of claim 9 , wherein, when the metric between the two candidate blocks corresponding to the initial motion vectors is less than a preset first threshold, both the integer sample search operation and the fractional sample refinement operation are skipped.

12. A non-transitory recording medium storing a bitstream generated by a video encoding method, the method comprising:

encoding at least one first high level syntax element indicating whether each of at least one coding tool is allowed, the at least one coding tool including motion vector refinement;

encoding a second high level syntax element of a picture level related to whether each of the at least one coding tool is allowed depending on the at least one first high level syntax element;

in response to identifying that the motion vector refinement is allowed for a current picture including a target block based on setting of the picture level, generating a refined motion vector for the target block, by calculating, for pairs of two candidate blocks which are within a preset offset range from initial motion vectors in bi-directional reference pictures of the target block, metrics between the two candidate blocks and searching for a motion vector candidate having a minimum metric;

generating inter-prediction samples for the target block using the bi-directional reference pictures and the refined motion vector;

generating residual samples based on the target block and the inter-prediction samples; and

encoding the residual samples,

wherein the generating of the refined motion vector includes:

an integer sample search operation of searching for an integer offset corresponding to a position having the minimum metric by calculating the metrics for pairs of the two candidate blocks which correspond to a pair of initial positions indicated by the initial motion vectors and pairs of two neighboring positions displaced from the initial positions in integer sample units, wherein the neighboring positions in the integer sample units have a square distribution around each of the initial positions;

a fractional sample refinement operation of, when the integer offset is not positioned at an outermost side of the square distribution, searching for an optimal sub-pixel offset by solving a parametric error surface equation using the position with the minimum metric and top, bottom, left, and right neighboring positions of the position with the minimum metric; and

generating an offset between the initial motion vector and the refined motion vector by adding the sub-pixel offset to the integer offset.

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-0081926 · Jul 8, 2019 · national
KR 10-2019-0170099 · Dec 18, 2019 · national
KR 10-2020-0083978 · Jul 8, 2020 · national
Continuity (2)
Continuation 17270243
Related Publication 20220368939A1 · Nov 17, 2022