US 12,439,080 B2
Method and apparatus for encoding and decoding video using inter-prediction
Je Won Kang, Seoul (KR); Seung Wook Park, Yongin-si (KR); and Wha Pyeong Lim, Hwaseong-si (KR)
Assigned to HYUNDAI MOTOR COMPANY, Seoul (KR); KIA CORPORATION, Seoul (KR); and EWHA UNIVERSITY—INDUSTRY COLLABORATION FOUNDATION, Seoul (KR)
Filed by HYUNDAI MOTOR COMPANY, Seoul (KR); KIA CORPORATION, Seoul (KR); and EWHA UNIVERSITY—INDUSTRY COLLABORATION FOUNDATION, Seoul (KR)
Filed on Aug. 1, 2024, as Appl. No. 18/792,349.
Application 18/792,349 is a continuation of application No. 17/767,013, granted, now 12,088,839, previously published as PCT/KR2020/012976, filed on Sep. 24, 2020.
Claims priority of application No. 10-2019-0123491 (KR), filed on Oct. 6, 2019; application No. 10-2019-0158564 (KR), filed on Dec. 2, 2019; and application No. 10-2020-0123619 (KR), filed on Sep. 24, 2020.
Prior Publication US 2024/0397083 A1, Nov. 28, 2024
This patent is subject to a terminal disclaimer.
Int. Cl. H04N 19/577 (2014.01); H04N 19/105 (2014.01); H04N 19/139 (2014.01); H04N 19/176 (2014.01)
CPC H04N 19/577 (2014.11) [H04N 19/105 (2014.11); H04N 19/139 (2014.11); H04N 19/176 (2014.11)] 11 Claims
OG exemplary drawing
 
1. A video decoding apparatus for predicting a target block in a current picture to be decoded, the video decoding apparatus comprising at least one processor configured to:
determine first and second reference pictures and first and second motion vectors for bi-prediction by decoding a bitstream;
generate a first reference block from the first reference picture referenced by the first motion vector and generate a second reference block from the second reference picture referenced by the second motion vector;
generate a prediction block of the target block using the first and second reference blocks;
generate a residual block of the target block based on a residual signal decoded from the bitstream; and
reconstruct the target block based on the prediction block of the target block and the residual block of the target block,
wherein the prediction block of the target block is generated by performing a bi-directional optical flow process using the first and second reference blocks,
wherein the bi-directional optical flow process is not executed when luma weights assigned to each of the first and second reference pictures for prediction of a luma component of the target block are different from each other,
wherein the bi-directional optical flow process is not executed when chroma weights assigned to each of the first and second reference pictures for prediction of a chroma component of the target block are different from each other,
wherein, when the bi-directional optical flow process is executed, the at least one processor is configured to generate the prediction block, for a subblock split from the target block, by
generating first horizontal gradients and first vertical gradients for respective luma samples of a subblock in the first reference block corresponding to the subblock of the target block,
generating second horizontal gradients and second vertical gradients for respective luma samples of a subblock in the second reference block corresponding to the subblock of the target block
calculating a motion offset corresponding to the subblock of the target block using the first and second horizontal gradients and the first and second vertical gradients for the luma samples, and
predicting luma samples in the subblock of the target block using luma sample values of the subblock of the first reference block, luma sample values of the subblock of the second reference block, and the motion offset, and
wherein the at least one processor is configured to predict the luma samples in the subblock of the target block by
calculating a sample offset of a luma sample position in the subblock of the target block using a difference between first and second horizontal gradients corresponding to the luma sample position, a difference between first and second vertical gradients corresponding to the luma sample position, and the motion offset corresponding to the subblock of the target block, and
predicting a luma sample of the luma sample position using luma sample values in the first and second reference blocks corresponding to the luma sample position and the sample offset of the luma sample position.