Compound motion-compensated prediction
First Claim
1. A method for encoding a current block of a video frame, the method comprising:
- determining a first compound motion block by;
determining a pair of quantized weighting coefficients based on a ratio of a first distance and a second distance, the first distance representing a distance from a first reference frame to the video frame, the second distance representing a distance from a second reference frame to the video frame, the pair of quantized weighting coefficients including a first quantized weighting coefficient and a second quantized weighting coefficient;
determining a first value by applying the first quantized weighting coefficient to pixel values from a video block of the first reference frame;
determining a second value by applying the second quantized weighting coefficient to pixel values from a video block of the second reference frame; and
determining the first compound motion block by dividing a sum of the first value and the second value by a sum of the first quantized weighting coefficient and the second quantized weighting coefficient;
determining a second compound motion block based on an average of the pixel values from the video block of the first reference frame and the pixel values from the video block of the second reference frame;
selecting one of the first compound motion block or the second compound motion block;
generating a prediction block using the selected one of the first compound motion block or the second compound motion block; and
encoding the current block using the prediction block.
2 Assignments
0 Petitions
Accused Products
Abstract
A prediction scheme is selected for encoding or decoding a video block. A first compound motion block can be determined by weighting distances from a first reference frame to the video frame and from a second reference frame to the video frame using one or more quantized weighting coefficients. A second compound motion block can be determined based on an average of pixel values a video block of the first reference frame and pixel values from a video block of the second reference frame. One of the first compound motion block or the second compound motion block is selected and used to generate a prediction block. Alternatively, data encoded to a bitstream including the video frame can be used to determine which compound motion block to use to generate the prediction block. The current block of the video frame is then encoded or decoded using the prediction block.
13 Citations
20 Claims
-
1. A method for encoding a current block of a video frame, the method comprising:
-
determining a first compound motion block by; determining a pair of quantized weighting coefficients based on a ratio of a first distance and a second distance, the first distance representing a distance from a first reference frame to the video frame, the second distance representing a distance from a second reference frame to the video frame, the pair of quantized weighting coefficients including a first quantized weighting coefficient and a second quantized weighting coefficient; determining a first value by applying the first quantized weighting coefficient to pixel values from a video block of the first reference frame; determining a second value by applying the second quantized weighting coefficient to pixel values from a video block of the second reference frame; and determining the first compound motion block by dividing a sum of the first value and the second value by a sum of the first quantized weighting coefficient and the second quantized weighting coefficient; determining a second compound motion block based on an average of the pixel values from the video block of the first reference frame and the pixel values from the video block of the second reference frame; selecting one of the first compound motion block or the second compound motion block; generating a prediction block using the selected one of the first compound motion block or the second compound motion block; and encoding the current block using the prediction block. - View Dependent Claims (2, 3, 4, 16, 17)
-
-
5. A method for decoding an encoded block of an encoded video frame, the method comprising:
-
determining, based on one or more syntax elements encoded to a bitstream including the encoded video frame, whether the encoded block was encoded by weighting distances from each of a plurality of reference frames to the encoded video frame; responsive to determining that the encoded block was encoded by weighting the distances from each of the plurality of reference frames to the encoded video frame, determining a compound motion block by; determining a pair of quantized weighting coefficients based on a ratio of a first distance and a second distance, the first distance representing a distance from a first reference frame of the plurality of reference frames to the encoded video frame, the second distance representing a distance from a second reference frame of the plurality of reference frames to the encoded video frame, the pair of quantized weighting coefficients including a first quantized weighting coefficient and a second quantized weighting coefficient; determining a first value by applying the first quantized weighting coefficient to pixel values from a video block of the first reference frame; determining a second value by applying the second quantized weighting coefficient to pixel values from a video block of the second reference frame; and determining the first compound motion block by dividing a sum of the first value and the second value by a sum of the first quantized weighting coefficient and the second quantized weighting coefficient; generating a prediction block using the compound motion block; and decoding the encoded block using the prediction block. - View Dependent Claims (6, 7, 8, 9, 18, 19)
-
-
10. An apparatus for decoding an encoded block of an encoded video frame, the apparatus comprising:
a processor configured to execute instructions stored in a non-transitory memory to; determine, based on one or more syntax elements encoded to a bitstream including the encoded video frame, whether the encoded block was encoded by weighting distances from each of a plurality of reference frames to the encoded video frame; responsive to a determination that the encoded block was encoded by weighting the distances from each of the plurality of reference frames to the encoded video frame, determine a compound motion block by applying a first quantized weighting coefficient to pixel values from a video block of a first reference frame of the plurality of reference frames and by applying a second quantized weighting coefficient to pixel values from a video block of a second reference frame of the plurality of reference frames, the first quantized weighting coefficient and the second quantized weighting coefficient determined based on a ratio of a first distance and a second distance, the first distance representing a distance from the first reference frame to the encoded video frame, the second distance representing a distance from the second reference frame to the encoded video frame; generate a prediction block using the compound motion block; and decode the encoded block using the prediction block. - View Dependent Claims (11, 12, 13, 14, 15, 20)
Specification