US 12,143,629 B2
Image decoding device, image encoding device, image processing system, and program
Kyohei Unno, Fujimino (JP); Kei Kawamura, Fujimino (JP); and Sei Naito, Fujimino (JP)
Assigned to KDDI Corporation, Tokyo (JP)
Filed by KDDI CORPORATION, Tokyo (JP)
Filed on Dec. 15, 2023, as Appl. No. 18/541,515.
Application 18/541,515 is a continuation of application No. 18/179,900, filed on Mar. 7, 2023, granted, now 11,882,308.
Application 18/179,900 is a continuation of application No. 17/860,485, filed on Jul. 8, 2022, granted, now 11,627,336, issued on Apr. 11, 2023.
Application 17/860,485 is a continuation of application No. 16/981,744, granted, now 11,438,625, issued on Sep. 6, 2022, previously published as PCT/JP2019/034012, filed on Aug. 29, 2019.
Claims priority of application No. 2018-178101 (JP), filed on Sep. 21, 2018.
Prior Publication US 2024/0114165 A1, Apr. 4, 2024
Int. Cl. H04N 19/57 (2014.01); H04N 19/105 (2014.01); H04N 19/176 (2014.01); H04N 19/182 (2014.01); H04N 19/513 (2014.01); H04N 19/52 (2014.01)
CPC H04N 19/57 (2014.11) [H04N 19/105 (2014.11); H04N 19/176 (2014.11); H04N 19/182 (2014.11); H04N 19/513 (2014.11); H04N 19/52 (2014.11)] 5 Claims
OG exemplary drawing
 
1. An image decoding device comprising:
a prediction unit configured to generate a prediction signal included in a prediction block based on a motion vector, wherein
the prediction unit is configured to perform refinement processing of setting a search range based on a reference position specified by the motion vector, specifying a corrected reference position having the smallest predetermined cost from the search range, and correcting the motion vector based on the corrected reference position, when a predetermined condition is satisfied;
wherein, in the refinement processing, the prediction unit is configured to:
select first candidate positions from the search range;
select at least one second candidate position from the first candidate positions and the reference position;
select only the reference position as the second candidate position when the smallest predetermined cost of the reference position is smaller than a certain percentage of a minimum value of the first candidate positions, the certain percentage being a percentage other than 100% of the minimum value of the first candidate positions;
specify pixels adjacent to the second candidate position as third candidate positions, the third candidate position including half pixels having values interpolated by integer pixels; and
specify a position having the smallest predetermined cost from the first candidate positions, the second candidate position, the third candidate positions as the corrected reference position;
the predetermined condition including a condition that the prediction block is a block that performs bidirectional prediction, one reference frame is a frame that is temporally earlier than a target frame, and the other reference frame is a frame that is temporally future than the target frame;
a sign of a displacement between the first candidate position and the reference position in the one reference frame is opposite to a sign of a displacement between the first candidate position and the reference position in the other reference frame;
a sign of a displacement between the second candidate position and the reference position in the one reference frame is opposite to a sign of a displacement between the second candidate position and the reference position in the other reference frame;
a sign of a displacement between the third candidate position and the reference position in the one reference frame is opposite to a sign of a displacement between the third candidate position and the reference position in the other reference frame;
the predetermined cost is a sum of absolute differences between a pixel in a reference block in the one reference frame and a pixel in a reference block in the other reference frame; and
when a block size of the prediction block is larger than a predetermined block size, the prediction unit is configured to divide the prediction block into sub-block groups and perform the refinement processing for each sub-block.