LOW COMPLEXITY INTERPOLATION FILTERING WITH ADAPTIVE TAP SIZE
First Claim
1. A method of coding blocks of video data, the method comprising:
- obtaining a block of pixels comprising integer pixel values corresponding to integer pixel positions within the block;
computing sub-pixel values corresponding to sub-pixel positions associated with the block, wherein computing the sub-pixel values comprises;
computing a first sub-pixel value by applying a first interpolation filter defining a first one-dimensional array of filter coefficients corresponding to a first set of filter support positions within the block; and
computing a second sub-pixel value by applying a second interpolation filter defining a second one-dimensional array of filter coefficients corresponding to a second set of filter support positions within the block,wherein the first one-dimensional array is selected to comprise more filter coefficients than the second one-dimensional array based on a scanning order associated with the block, andgenerating a prediction block of pixels based on one or more of the computed sub-pixel values.
1 Assignment
0 Petitions
Accused Products
Abstract
During a prediction stage of video coding, a video coder may use relatively longer interpolation filters to generate predictive sub-pixel values using values of reference integer pixels of a reference block of video data positioned in parallel relative to a scanning order associated with the block and may use relatively shorter interpolation filters to generate predictive sub-pixel values using values of reference integer pixels of the block positioned perpendicular relative to the scanning order, wherein a longer interpolation filter generally refers to a filter with relatively more filter coefficients, or “taps,” and a shorter filter generally refers to a filter with relatively fewer taps.
52 Citations
65 Claims
-
1. A method of coding blocks of video data, the method comprising:
-
obtaining a block of pixels comprising integer pixel values corresponding to integer pixel positions within the block; computing sub-pixel values corresponding to sub-pixel positions associated with the block, wherein computing the sub-pixel values comprises; computing a first sub-pixel value by applying a first interpolation filter defining a first one-dimensional array of filter coefficients corresponding to a first set of filter support positions within the block; and computing a second sub-pixel value by applying a second interpolation filter defining a second one-dimensional array of filter coefficients corresponding to a second set of filter support positions within the block, wherein the first one-dimensional array is selected to comprise more filter coefficients than the second one-dimensional array based on a scanning order associated with the block, and generating a prediction block of pixels based on one or more of the computed sub-pixel values. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. An apparatus for coding blocks of video data, the apparatus comprising a video coder configured to:
-
obtain a block of pixels comprising integer pixel values corresponding to integer pixel positions within the block; compute sub-pixel values corresponding to sub-pixel positions associated with the block, wherein to compute the sub-pixel values, the video coder is configured to; compute a first sub-pixel value by applying a first interpolation filter defining a first one-dimensional array of filter coefficients corresponding to a first set of filter support positions within the block; and compute a second sub-pixel value by applying a second interpolation filter defining a second one-dimensional array of filter coefficients corresponding to a second set of filter support positions within the block, wherein the first one-dimensional array is selected to comprise more filter coefficients than the second one-dimensional array based on a scanning order associated with the block, and generate a prediction block of pixels based on one or more of the computed sub-pixel values. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A device for coding blocks of video data, the device comprising:
-
means for obtaining a block of pixels comprising integer pixel values corresponding to integer pixel positions within the block; means for computing sub-pixel values corresponding to sub-pixel positions associated with the block, wherein the means for computing the sub-pixel values comprises; means for computing a first sub-pixel value by applying a first interpolation filter defining a first one-dimensional array of filter coefficients corresponding to a first set of filter support positions within the block; and means for computing a second sub-pixel value by applying a second interpolation filter defining a second one-dimensional array of filter coefficients corresponding to a second set of filter support positions within the block, wherein the first one-dimensional array is selected to comprise more filter coefficients than the second one-dimensional array based on a scanning order associated with the block, and means for generating a prediction block of pixels based on one or more of the computed sub-pixel values. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 54)
-
-
50. A computer-readable storage medium comprising instructions that, when executed, cause a processor to code blocks of video data, wherein the instructions cause the processor to:
-
obtain a block of pixels comprising integer pixel values corresponding to integer pixel positions within the block; compute sub-pixel values corresponding to sub-pixel positions associated with the block, wherein the instructions that cause the processor to compute the sub-pixel values comprise instructions that cause the processor to; compute a first sub-pixel value by applying a first interpolation filter defining a first one-dimensional array of filter coefficients corresponding to a first set of filter support positions within the block; and compute a second sub-pixel value by applying a second interpolation filter defining a second one-dimensional array of filter coefficients corresponding to a second set of filter support positions within the block, wherein the first one-dimensional array is selected to comprise more filter coefficients than the second one-dimensional array based on a scanning order associated with the block, and generate a prediction block of pixels based on one or more of the computed sub-pixel values. - View Dependent Claims (51, 52, 53, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65)
-
Specification