System and method for enhanced motion compensation using adaptive filtering
View Patent ↗Video coding systems and methods are described using an enhanced motion compensated picture. In exemplary embodiments, an enhanced motion compensated picture is generated by applying at least one high-pass filter to the motion compensated picture and adding the output of the filter to the motion compensated picture. Coefficients of the high-pass filter are selected by comparing the enhanced motion compensated picture to an original picture. The selected coefficients may be quantized and entropy coded into a bit stream. The high-pass filter may be a cross-plane filter, in which a luma component, which may be an enhanced luma component, is high-pass filtered and the output of the filter is added to at least one of the chroma components to generate an enhanced chroma component.
1. A video decoding method comprising:
generating a motion-compensated signal comprising at least a motion-compensated luma component and at least a first motion-compensated chroma component;
applying a first high-pass filter to the motion-compensated luma component to generate a first filtered output;
prior to applying the first high-pass filter to the motion-compensated luma component, modifying the motion-compensated luma component by a method comprising:
applying a second high-pass filter to the motion-compensated luma component to generate a second filtered output; and
modifying the luma component by adding the second filtered output to the motion-compensated luma component, where the first high-pass filter is applied to modified luma component to generate the first filtered output;
modifying the motion-compensated signal by adding the first filtered output to the first motion-compensated chroma component;
decoding a prediction residual from a bitstream; and
after applying the first high-pass filter, reconstructing the video signal by adding the prediction residual to the modified motion-compensated signal.
2. The method of claim 1 , wherein generating the motion-compensated signal comprises generating the motion-compensated signal through bi-prediction by averaging a first motion-compensated signal from a first reference picture and a second reference picture from a second reference picture.
3. The method of claim 1 , wherein the motion-compensated signal further comprises a second motion-compensated chroma component, the method further comprising:
applying a third high-pass filter to the motion-compensated luma component to generate a third filtered output; and
further modifying the motion-compensated signal by adding the third filtered output to the second motion-compensated chroma component, wherein the further-modified motion-compensated signal is used for reconstructing the video signal.
4. The method of claim 1 , wherein the first high-pass filter is defined by a set of filter coefficients, further comprising decoding the filter coefficients from the bitstream.
5. The method of claim 1 , wherein the first high-pass filter is defined by a plurality of coefficients subject to a symmetry constraint.
6. The method of claim 1 , wherein the first high-pass filter is defined by a plurality of coefficients subject to a zero summation constraint.
7. The method of claim 1 , further comprising extracting filter coefficients from the bitstream, wherein the first high-pass filter is a filter defined by the extracted filter coefficients.
8. The method of claim 1 , further comprising deriving filter coefficients for a current block based on previously-reconstructed samples in a neighboring region, wherein the first high-pass filter is a filter defined by the derived filter coefficients.
9. A video decoder comprising a processor configured to perform at least:
generating a motion-compensated signal comprising at least a motion-compensated luma component and at least a first motion-compensated chroma component;
applying a first high-pass filter to the motion-compensated luma component to generate a first filtered output;
prior to applying the first high-pass filter to the motion-compensated luma component, modifying the motion-compensated luma component by a method comprising:
applying a second high-pass filter to the motion-compensated luma component to generate a second filtered output; and
modifying the luma component by adding the second filtered output to the motion-compensated luma component, where the first high-pass filter is applied to modified luma component to generate the first filtered output; and
modifying the motion-compensated signal by adding the first filtered output to the first motion-compensated chroma component; and
after applying the first high-pass filter, reconstructing the video signal by adding, to the modified motion-compensated signal, a prediction residual decoded from a bitstream.
10. The decoder of claim 9 , wherein the first high-pass filter is defined by a set of filter coefficients, and wherein the processor is further configured to decode the filter coefficients from the bitstream.
11. The decoder of claim 9 , wherein generating the motion-compensated signal comprises generating the motion-compensated signal through bi-prediction by averaging a first motion-compensated signal from a first reference picture and a second reference picture from a second reference picture.
12. A video encoding method comprising:
generating a motion-compensated signal comprising at least a motion-compensated luma component and at least a first motion-compensated chroma component;
applying a first high-pass filter to the motion-compensated luma component to generate a first filtered output;
prior to applying the first high-pass filter to the motion-compensated luma component, modifying the motion-compensated luma component by a method comprising:
applying a second high-pass filter to the motion-compensated luma component to generate a second filtered output; and
modifying the luma component by adding the second filtered output to the motion-compensated luma component, where the first high-pass filter is applied to modified luma component to generate the first filtered output; and
modifying the motion-compensated signal by adding the first filtered output to the first motion-compensated chroma component;
after applying the first high-pass filter, determining a prediction residual representing a difference between the modified motion-compensated signal and an input video signal; and
encoding the prediction residual in a bitstream.
13. The method of claim 12 , wherein the first high-pass filter is defined by a set of filter coefficients, further comprising encoding the filter coefficients in the bitstream.
14. The method of claim 12 , wherein generating the motion-compensated signal comprises generating the motion-compensated signal through bi-prediction by averaging a first motion-compensated signal from a first reference picture and a second reference picture from a second reference picture.