Adaptive weighting of reference pictures in video encoding
View Patent ↗A video decoder, encoder, and corresponding methods for processing video signal data for an image block and a particular reference picture index to predict the image block are disclosed that utilize adaptive weighting of reference pictures to enhance video compression, where a decoder includes a reference picture weighting factor unit for determining a weighting factor corresponding to the particular reference picture index; an encoder includes a reference picture weighting factor assignor for assigning a weighting factor corresponding to the particular reference picture index; and a method for decoding includes receiving a reference picture index with the data that corresponds to the image block, determining a weighting factor for each received reference picture index, retrieving a reference picture for each index, motion compensating the retrieved reference picture, and multiplying the motion compensated reference picture by the corresponding weighting factor to form a weighted motion compensated reference picture.
1. A video encoder for encoding video signal data for an image block, the encoder comprising a reference picture weighting factor assignor for assigning a weighting factor for the image block, the weighting factor being associated with a particular reference picture index, wherein the particular reference picture index is for independently indicating, without use of another index, a reference picture from which the image block is predicted and the weighting factor from a set of weighting factors.
2. A video encoder as defined in claim 1 , further comprising a reference picture store in signal communication with the reference picture weighting factor assignor for providing the reference picture corresponding to the particular reference picture index.
3. A video encoder as defined in claim 1 , further comprising a variable length coder in signal communication with the reference picture weighting factor assignor for providing the particular reference picture weighting factor to the variable length coder.
4. A video encoder as defined in claim 1 , further comprising a motion compensation unit in signal communication with the reference picture weighting factor assignor for providing motion compensated reference pictures responsive to the reference picture weighting factor assignor.
5. A video encoder as defined in claim 4 , further comprising a multiplier in signal communication with the motion compensation unit and the reference picture weighting factor assignor for applying a weighting factor to a motion compensated reference picture.
6. A video encoder as defined in claim 5 usable with bi-predictive picture predictors, the encoder further comprising prediction means for forming first and second predictors from two different reference pictures.
7. A video encoder as defined in claim 6 wherein the two different reference pictures are both from the same direction relative to the image block.
8. A method for encoding video signal data for an image block, the method comprising:
receiving an uncompressed image block;
assigning a weighting factor for the image block, the weighting factor being associated with a particular reference picture index, wherein the particular reference picture index is for independently indicating, without use of another index, a particular reference picture from which the image block is predicted and the weighting factor from a set of weighting factors;
computing motion vectors corresponding to the difference between the image block and the particular reference picture;
motion compensating the particular reference picture in correspondence with the motion vectors;
modifying the motion compensated reference picture by the assigned weighting factor to form a weighted motion compensated reference picture;
comparing the weighted motion compensated reference picture to the uncompressed image block; and
encoding a signal indicative of the difference between the uncompressed image block and the weighted motion compensated reference picture along with the reference picture index of the particular reference picture.
9. A method as defined in claim 8 wherein computing motion vectors comprises:
testing within a search region for every displacement within a pre-determined range of offsets relative to the image block;
calculating at least one of the sum of the absolute difference and the mean squared error of each pixel in the image block with a motion compensated reference picture; and
selecting the offset with the lowest sum of the absolute difference and mean squared error as the motion vector.
10. A method as defined in claim 8 wherein bi-predictive picture predictors are used, the method further comprising:
assigning a second weighting factor for the image block corresponding to a second reference picture index corresponding to a second reference picture;
computing motion vectors corresponding to the difference between the image block and the second reference picture;
motion compensating the second reference picture in correspondence with the motion vectors;
multiplying the motion compensated second reference picture by the assigned second weighting factor to form a weighted motion compensated second reference picture;
subtracting the weighted motion compensated second reference picture from the substantially uncompressed image block; and
encoding a signal indicative of the difference between the substantially uncompressed image block and the weighted motion compensated second reference picture along with the corresponding second reference picture index.
11. A method as defined in claim 10 wherein the two different reference pictures are both from the same direction relative to the image block.
12. A method as defined in claim 10 wherein computing motion vectors comprises:
testing within a search region for every displacement within a pre-determined range of offsets relative to the image block;
calculating at least one of the sum of the absolute difference and the mean squared error of each pixel in the image block with a first motion compensated reference picture corresponding to the first predictor;
selecting an offset with the lowest sum of the absolute difference and mean squared error as the motion vector for the first predictor;
calculating at least one of the sum of the absolute difference and the mean squared error of each pixel in the image block with a second motion compensated reference picture corresponding to the second predictor; and
selecting an offset with the lowest sum of the absolute difference and mean squared error as the motion vector for the second predictor.