IP Library Granted Patent US 12713059
Granted Patent B2
US 12713059 · App. 18/950,458 · Granted Aug 18, 2026

Apparatus and method for encoding and decoding motion information by using neighboring motion information

Inventors: Seungsoo Jeong (Suwon-si, KR); Minwoo Park (Suwon-si, KR); Minsoo Park (Suwon-si, KR); Kiho Choi (Suwon-si, KR); Narae Choi (Suwon-si, KR); Woongil Choi (Suwon-si, KR); Anish Tamse (Suwon-si, KR); Yinji Piao (Suwon-si, KR)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
H04N19/573H04N19/105H04N19/139H04N19/176H04N19/117H04N19/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 12713059
App. No.
18/950,458
Granted
Aug 18, 2026
Kind
B2
Abstract

A method of decoding motion information may include: obtaining, from a bitstream, change information indicating whether to change motion information of a neighboring block; when the change information indicates a change of the motion information and a higher block is able to use one reference picture list, identifying the number of pictures included in the reference picture list of the current block; selecting, as a reference picture of the current block, a reference picture of the neighboring block based on the number of pictures; when the reference picture of the neighboring block is selected as the reference picture of the current block, obtaining a motion vector of the current block by applying an offset to a motion vector of the neighboring block; and reconstructing the current block by using a reference block indicated by the motion vector of the current block in the reference picture of the current block.

Claims (51)

1 . A method, performed by a decoding apparatus, of decoding motion information, the method comprising:

obtaining, from a bitstream, information indicating whether motion information of a neighboring block is changed for obtaining a motion vector of a current block, the information representing index information indicating one of a first value, a second value or a third value;

when the information does not indicate a change of the motion information of the neighboring block, obtaining the motion vector of the current block using a motion vector of the neighboring block and a differential motion vector;

when the information indicates the change of the motion information of the neighboring block, obtaining the motion vector of the current block using the motion vector of the neighboring block, a pre-defined offset for at least one of a x-component or a y-component of the motion vector of the neighboring block, and the differential motion vector; and

reconstructing the current block by using a reference block indicated by the motion vector of the current block in a reference picture of the current block,

wherein, when the information indicates the third value, it is determined not to change the motion information of the neighboring block, and when the information indicates the first value or the second value, it is determined to change the motion information of the neighboring block,

wherein, when the information indicates the first value, the offset has a + sign, and when the information indicates the second value, the offset has a − sign,

wherein the differential motion vector is derived from variation distance information and variation direction information included in the bitstream, and

wherein the variation distance information indicates a variation distance of 2 n , wherein n is an integer equal to or greater than 0.

2 . An apparatus for decoding motion information, the apparatus comprising:

a bitstream obtainer configured to obtain, from a bitstream, information indicating whether motion information of a neighboring block is changed for obtaining a motion vector of a current block, the information representing index information indicating one of a first value, a second value or a third value;

a motion information obtainer configured to:

when the information does not indicate a change of the motion information of the neighboring block, obtain the motion vector of the current block using a motion vector of the neighboring block and a differential motion vector; and

when the information indicates the change of the motion information of the neighboring block, obtain the motion vector of the current block using the motion vector of the neighboring block, a pre-defined offset for at least one of a x-component or a y-component of the motion vector of the neighboring block, and the differential motion vector; and

a prediction decoder configured to reconstruct the current block by using a reference block indicated by the motion vector of the current block in a reference picture of the current block,

wherein, when the information indicates the third value, it is determined not to change the motion information of the neighboring block, and when the information indicates the first value or the second value, it is determined to change the motion information of the neighboring block,

wherein, when the information indicates the first value, the offset has a + sign, and when the information indicates the second value, the offset has a − sign,

wherein the differential motion vector is derived from variation distance information and variation direction information included in the bitstream, and

wherein the variation distance information indicates a variation distance of 2 n , wherein n is an integer equal to or greater than 0.

3 . A method, performed by an encoding apparatus, of encoding motion information, the method comprising:

determining whether to change motion information of a neighboring block for obtaining a differential motion vector of a current block;

when it is determined not to change the motion information of the neighboring block, obtaining the differential motion vector using a motion vector of the neighboring block and a motion vector of the current block;

when it is determined to change the motion information of the neighboring block, obtaining the differential motion vector using the motion vector of the neighboring block, a pre-defined offset for at least one of a x-component or a y-component of the motion vector of the neighboring block, and the motion vector of the current block; and

generating a bitstream comprising first information indicating whether the motion information of the neighboring block is changed, and second information indicating the differential motion vector,

wherein the first information represents index information indicating one of a first value, a second value or a third value,

wherein, when it is determined not to change the motion information of the neighboring block, the first information indicates the third value, and when it is determined to change the motion information of the neighboring block, the first information indicates the first value or the second value,

wherein, when the offset has a + sign, the first information indicates the first value, and when the offset has a − sign, the first information indicates the second value,

wherein the second information includes variation distance information and variation direction information, and

wherein the variation distance information indicates a variation distance of 2 n , wherein n is an integer equal to or greater than 0.

4 . An apparatus for encoding motion information, the apparatus comprising:

a prediction encoder configured to:

determine whether to change motion information of a neighboring block for obtaining a differential motion vector of a current block;

when it is determined not to change the motion information of the neighboring block, obtain the differential motion vector using a motion vector of the neighboring block and a motion vector of the current block; and

when it is determined to change the motion information of the neighboring block, obtain the differential motion vector using the motion vector of the neighboring block, a pre-defined offset for at least one of a x-component or a y-component of the motion vector of the neighboring block, and the motion vector of the current block; and

a bitstream generator configured to generate a bitstream comprising first information indicating whether the motion information of the neighboring block is changed, and second information indicating the differential motion vector,

wherein the first information represents index information indicating one of a first value, a second value or a third value,

wherein, when it is determined not to change the motion information of the neighboring block, the first information indicates the third value, and when it is determined to change the motion information of the neighboring block, the first information indicates the first value or the second value,

wherein, when the offset has a + sign, the first information indicates the first value, and when the offset has a − sign, the first information indicates the second value,

wherein the second information includes variation distance information and variation direction information, and

wherein the variation distance information indicates a variation distance of 2 n , wherein n is an integer equal to or greater than 0.

5 . A method of transmitting a bitstream generated by an image encoding apparatus, the image encoding apparatus comprising:

a prediction encoder configured to:

determine whether to change motion information of a neighboring block for obtaining a differential motion vector of a current block;

when it is determined not to change the motion information of the neighboring block, obtain a differential motion vector using a motion vector of the neighboring block and a motion vector of the current block; and

when it is determined to change the motion information of the neighboring block, obtain a differential motion vector using the motion vector of the neighboring block, a pre-defined offset for at least one of a x-component or a y-component of the motion vector of the neighboring block, and the motion vector of the current block; and

a bitstream generator configured to generate the bitstream comprising first information indicating whether the motion information of the neighboring block is changed, and second information indicating the differential motion vector,

wherein the first information represents index information indicating one of a first value, a second value or a third value,

wherein, when it is determined not to change the motion information of the neighboring block, the first information indicates the third value, and when it is determined to change the motion information of the neighboring block, the first information indicates the first value or the second value,

wherein, when the offset has a + sign, the first information indicates the first value, and when the offset has a − sign, the first information indicates the second value,

wherein the second information includes variation distance information and variation direction information, and

wherein the variation distance information indicates a variation distance of 2 n , wherein n is an integer equal to or greater than 0.