CPC H04N 19/176 (2014.11) [H04N 19/105 (2014.11); H04N 19/577 (2014.11)] | 6 Claims |
1. A method for encoding video data, comprising:
determining a first motion vector indicating a first region corresponding to a current block in a first reference picture, and a second motion vector indicating a second region corresponding to the current block in a second reference picture;
generating a prediction block for the current block by applying a bidirectional optical flow (BIO) process in a subblock basis;
determining a residual block for the current block using the prediction block; and
encoding the first motion vector, the second motion vector and the residual block for the current block in a bitstream,
wherein the generating of the prediction block comprises:
determining a BIO motion vector for each subblock constituting the current block; and
generating a prediction value for each of pixels constituting a corresponding subblock based on the determined BIO motion vector,
wherein the BIO motion vector is determined based on flow differences obtained for pixels within a square block surrounding the corresponding subblock,
wherein the flow difference for a given pixel within the square block is calculated between a first point on the first reference picture and a second point on the second reference picture which correspond to the given pixel within the square block,
wherein the prediction value for each of pixels is generated based on (1) an original prediction value derived by using the first motion vector and the second motion vector and (2) an offset value derived by using the BIO motion vector,
wherein the BIO motion vector is determined as a vector that minimizes a weighted sum of squares of flow differences obtained for respective pixels within the square block surrounding the corresponding subblock, and
wherein a higher weight is assigned to a flow difference obtained for a pixel located further inside the square block surrounding the corresponding subblock.
|