Therefore, in predicting the value of pixel P of the current block in the current picture, using the values of two reference pixels A and B enables more accurate prediction than using reference pixels P0 and P1 indicated by the bidirectional motion vectors MV0 and MV1. The concept of changing the reference pixels used to predict one pixel of the current block in consideration of pixel-level motion specified by the optical flow (vx, vy) as described above may be extended to a concept of considering subblock-level motion in units of subblocks split from the current block.
Hereinafter, a theoretical method of generating a prediction value for a pixel in a current block according to the BIO technique will be described. For simplicity, it is assumed that BIO-based bidirectional motion compensation is performed on a pixel basis.
It is assumed that bidirectional motion vectors MV0 and MV1 pointing to corresponding regions (i.e., reference blocks) most similar to the current block encoded in the current picture have been determined in the reference pictures Ref0 and Ref1 by (normal) bidirectional motion prediction for the current block. The decoding apparatus may determine the bidirectional motion vectors MV0 and MV1 from the motion vector information included in the bitstream. In addition, the luminance value of a pixel in the reference picture Ref0 indicated by the motion vectors MV0 and corresponding to the pixel (i, j) in the current block is defined as I(0)(i, j), and the luminance value of a pixel in the reference picture Ref1 indicated by the motion vectors MV1 and corresponding to the pixel (i, j) in the current block is defined as I(1)(i, j).