CPC H04N 19/176 (2014.11) [H04N 19/105 (2014.11); H04N 19/577 (2014.11)] | 3 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, and
wherein a size of the subblock is 4×4,
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.
|