Adaptive interpolation filters for video coding
Abstract
In digital video image encoding and decoding, a filter type is selected based on symmetrical properties of the images and coefficient values of an interpolation filter are calculated based on the selected filter type. Coefficient values, filter tap-length and selected filter-type are provided in the encoded video data. Coefficient values are also calculated based on a prediction signal representative of the different between a video frame and a reference image. The prediction signal is calculated from the reference image based on a predefined base filter and motion estimation performed on the video frame. The predefined base filter has fixed coefficient values. Coefficient values are selected from interpolation of pixel values in a selected image segment in the video frame. Symmetry properties of images can be a vertical symmetry, a horizontal symmetry and a combination thereof, so that only a portion of the filter coefficients are coded.
Claims
exact text as granted — not AI-modified1 . (canceled)
2 . A method for decoding images of a digital video sequence communicated over a communication facility, comprising:
receiving an encoded data stream comprising, for each of one or more video frames of the digital video sequence, motion information, an indication of a tap length of an interpolation filter, filter coefficient values for the interpolation filter, and an indication of one of a plurality of interpolation filter types corresponds to the interpolation filter; reconstructing an interpolation filter of the indicated interpolation filter type and of the indicated tap length using the filter coefficient values; retrieving pixel values of a reference frame from a frame memory; interpolating the pixel values of the reference frame according to the received motion information and using the reconstructed interpolation filter to produce a prediction for the video frame; wherein the plurality of interpolation filter types is selected, based on symmetry of statistical properties of the images in the digital video sequence, from the group consisting of:
a first filter type in which the same filter coefficients are used for the same distances of full-pixel positions to sub-pixel positions in both the horizontal and vertical directions;
a second filter type in which the same filter coefficients are used for the same distances of full-pixel positions to sub-pixel positions in the horizontal direction;
a third filter type in which the same filter coefficients are used for the same distances of full-pixel positions to sub-pixel positions in the vertical direction;
a fourth filter type in which the same filter coefficients are used for the same distances of full-pixel positions to sub-pixel positions in the horizontal direction, and in which the same filter coefficients are used for the same distances of full-pixel positions to sub-pixel positions in the vertical direction; and
a non-symmetrical filter type.
3 . The method of claim 2 , wherein the filter coefficient values for the interpolation filter received in the encoded data stream comprise filter coefficient difference values;
and wherein the reconstructing step comprises:
adding the received filter coefficient difference values to coefficients of a predefined base filter corresponding to the interpolation filter of the indicated type.
4 . The method of claim 2 , wherein the received encoded data stream comprises motion information, an indication of a tap length of an interpolation filter, filter coefficient values for the interpolation filter, and an indication of one of a plurality of interpolation filter types corresponds to the interpolation filter, for each of a plurality of macroblocks within each of the one or more inter-coded video frames;
and wherein the reconstructing, retrieving, and interpolating steps are performed for each of the plurality of macroblocks within each of the one or more inter-coded video frames.
5 . The method of claim 2 , wherein the received encoded data stream further comprises prediction error data;
and further comprising:
demultiplexing the prediction error information for the video frame from the received encoded data stream; and
combining the prediction error information with the prediction for the video frame.
6 . An apparatus for decoding images in a digital video sequence, the apparatus comprising:
at least one processor; and at least one memory comprising a frame memory, and memory storing computer program code configured to, when executed by the at least one processor, cause the apparatus at least to:
receive an encoded data stream comprising, for each of one or more video frames of the digital video sequence, motion information, an indication of a tap length of an interpolation filter, filter coefficient values for the interpolation filter, and an indication of one of a plurality of interpolation filter types corresponds to the interpolation filter;
reconstruct an interpolation filter of the indicated interpolation filter type and of the indicated tap length using the filter coefficient values;
retrieve pixel values of a reference frame from the frame memory; and
interpolate the pixel values of the reference frame according to the received motion information and using the reconstructed interpolation filter to produce a prediction for the video frame;
wherein the plurality of interpolation filter types is selected, based on symmetry of statistical properties of the images in the digital video sequence, from the group consisting of:
a first filter type in which the same filter coefficients are used for the same distances of full-pixel positions to sub-pixel positions in both the horizontal and vertical directions;
a second filter type in which the same filter coefficients are used for the same distances of full-pixel positions to sub-pixel positions in the horizontal direction;
a third filter type in which the same filter coefficients are used for the same distances of full-pixel positions to sub-pixel positions in the vertical direction;
a fourth filter type in which the same filter coefficients are used for the same distances of full-pixel positions to sub-pixel positions in the horizontal direction, and in which the same filter coefficients are used for the same distances of full-pixel positions to sub-pixel positions in the vertical direction; and
a non-symmetrical filter type.
7 . The apparatus of claim 6 , wherein the filter coefficient values for the interpolation filter received in the encoded data stream comprise filter coefficient difference values;
and wherein the computer program code is configured to cause the apparatus to reconstruct the interpolation filter by:
adding the received filter coefficient difference values to coefficients of a predefined base filter corresponding to the interpolation filter of the indicated type.
8 . The apparatus of claim 6 , wherein the received encoded data stream comprises motion information, an indication of a tap length of an interpolation filter, filter coefficient values for the interpolation filter, and an indication of one of a plurality of interpolation filter types corresponds to the interpolation filter, for each of a plurality of macroblocks within each of the one or more inter-coded video frames;
and wherein the computer program code is configured to cause the apparatus to reconstruct the interpolation filter, retrieve the pixel values, and interpolate the pixel values for each of the plurality of macroblocks within each of the one or more inter-coded video frames.
9 . The apparatus of claim 6 , wherein the received encoded data stream further comprises prediction error data;
and wherein the computer program code is configured to cause the apparatus to also:
demultiplex the prediction error information for the video frame from the received encoded data stream; and
combine the prediction error information with the prediction for the video frame.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.