| CPC H04N 19/577 (2014.11) [H04N 19/154 (2014.11); H04N 19/172 (2014.11); H04N 19/176 (2014.11); H04N 19/52 (2014.11)] | 9 Claims |

|
1. A video encoding method comprising:
receiving raw pixel data for a block of pixels to be encoded as a current block of a current picture of a video into a bitstream;
identifying a plurality of candidate bi-prediction positions comprising a center position, a first set of offset positions, and a second set of offset positions;
computing distortion values for each of the plurality candidate bi-prediction positions based on a plurality of possible weighting parameter values, wherein: (i) the distortion values computed for the center position are computed based on each of the plurality of possible weighting parameter values, (ii) the distortion values computed for the first set of offset positions are computed based on a first subset of the plurality of possible weighting parameter values, and (iii) the distortion values computed for the second set of offset positions are computed based on a second subset of the plurality of possible weighting parameter values, wherein the first subset of the plurality of possible weighting parameter values is different from the second subset of the plurality of possible weighting parameter values;
selecting a weighting parameter value for a candidate bi-prediction position based on the computed distortion values of the plurality of candidate bi-prediction positions for the current block; and
encoding the current block using bi-prediction based on the selected weighting parameter value,
wherein computing a distortion value for coding the current block based on a weighting parameter value at a candidate bi-prediction position comprises using the weighting parameter value to compute a bi-prediction that is a weighted average of a first prediction based on a first motion vector and a second prediction based on a second motion vector, and
wherein the first and second motion vectors are identified based on the candidate bi-prediction position.
|