IP Library Granted Patent US 9,049,454
Granted Patent B2
US 9,049,454 · App. 13/354,201 · Granted Jun 2, 2015

High efficiency low complexity interpolation filters

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,049,454
App. No.
13/354,201
Granted
Jun 2, 2015
Kind
B2
Abstract

Embodiments for high efficiency low complexity interpolation filters for High Efficiency Video Coding (HEVC) are disclosed herein, specifically novel techniques for a video compression system. In order to estimate and compensate sub-pel displacements, the image signal on these sub-pel positions is generated by an interpolation process. In HEVC, sub-pel pixel interpolation is performed using filters. As described herein, the filter may have, for example, eight taps to determine the sub-pel pixel values for sub-pel pixel positions, such as half-pel and quarter-pel positions. The taps weight the integer pixels with coefficient values to generate the sub-pel signals. Different coefficients may produce different compression performance in signal distortion and noise.

Claims (45)

1. A method for encoding video content, the method comprising:

receiving a plurality of full-pel pixel values corresponding to each line of a plurality of lines of full-pel pixels;

for each line of the plurality of lines, determining an interpolated sub-pel pixel value for each of three sub-pel pixels between two adjacent full-pel pixels, the three sub-pel pixels being a half-pel pixel, a first quarter-pel pixel and a second quarter-pel pixel between the two adjacent full-pel pixels, by:

determining a set of coefficients for an interpolation filter;

assigning a first coefficient to weight a first full full-pel pixel value in the plurality of full-pel pixel values to a first operation in the interpolation filter;

assigning a second coefficient to weight a second full-pel pixel value in the plurality of full-pel pixel values in a second operation in the interpolation filter;

assigning a third coefficient to weight a third full-pel value in the plurality of full-pel pixel values in a third operation in the interpolation filter;

assigning a fourth coefficient to weight a fourth full-pel pixel value in the plurality of full-pel pixel values in a fourth operation in the interpolation filter; and

determining the interpolated sub-pel pixel value from the first operation, the second operation, the third operation, and the fourth operation, by:

adding a first integer to a sum of outputs of the first operation, the second operation, the third operation and the fourth operation to obtain a first value; and

right-shifting the first value by a second integer to obtain the interpolated sub-pixel value; and

outputting each interpolated sub-pel pixel value for use in a motion compensation operation, wherein the set of coefficients used to determine an interpolated sub-pel pixel value for the half-pel pixel is different from the set of coefficients used to determine an interpolated sub-pel pixel value for the first quarter-pel pixel and from the set of coefficients used to determine an interpolated sub-pel pixel value for the second quarter-pel pixel.

2. The method of claim 1 wherein the set of coefficients used to determine an interpolated sub-pel pixel value for the first quarter-pel pixel is different from the set of coefficients used to determine an interpolated sub-pel pixel value for the second quarter-pel pixel.

3. The method of claim 1 wherein the set of coefficients used to determine an interpolated sub-pixel value for the half-pel pixel comprises the first coefficient having a value of −7, the second coefficient having a value of 39, the third coefficient having a value of 39, and the fourth coefficient having a value of −7.

4. The method of claim 3 wherein the set of coefficients used to determine an interpolated sub-pixel value for the first quarter-pel pixel comprises the first coefficient having a value of −5, the second coefficient having a value of 59, the third coefficient having a value of 13, and the fourth coefficient having a value of −3; and wherein the set of coefficients used to determine an interpolated sub-pixel value for the second quarter-pel pixel comprises the first coefficient having a value of −3, the second coefficient having a value of 13, the third coefficient having a value of 59, and the fourth coefficient having a value of −5.

5. The method of claim 1 wherein the first integer is 32 and the second integer is 6.

6. The method of claim 1 wherein the first integer is 128 and the second integer is 8.

7. The method of claim 1 wherein each set of coefficients for the interpolation filter comprises at least ten coefficients, a coefficient of the set of coefficients used to determine an interpolated sub-pel pixel value for the first quarter-pel pixel is equal to zero, and a coefficient of the set of coefficients used to determine an interpolated sub-pel pixel value for the second quarter-pel pixel is equal to zero.

8. A method for decoding video content, the method comprising:

receiving a plurality of full-pel pixel values corresponding to a line of a plurality of lines of full-pel pixels;

determining a first set of coefficients for an interpolation filter to interpolate a sub-pel pixel value corresponding to a half-pel position between two adjacent full-pel pixels in the line;

assigning each coefficient of the first set of coefficients to weight a respective full-pel pixel value in the plurality of full-pel pixel values in a first operation in the interpolation filter to generate an interpolated sub-pel pixel value corresponding to the half-pel position;

determining a second set of coefficients for the interpolation filter to interpolate a sub-pel pixel value corresponding to a first quarter-pel position between the two adjacent full-pel pixels in the line;

assigning each coefficient of the second set of coefficients to weight a respective full-pel pixel value in the plurality of full-pel pixel values in a second operation in the interpolation filter to generate an interpolated sub-pel pixel value corresponding to the first quarter-pel position;

determining a third set of coefficients for the interpolation filter to interpolate a sub-pel pixel value corresponding to a second quarter-pel position between the two adjacent full-pel pixels in the line;

assigning each coefficient of the third set of coefficients to weight a respective full-pel pixel value in the plurality of full-pel pixel values in a third operation in the interpolation filter to generate an interpolated sub-pel pixel value corresponding to the second quarter-pel position;

determining the interpolated sub-pel pixel value from the first operation, the second operation, the third operation, and the fourth operation, by:

adding a first integer to a sum of outputs of the first operation, the second operation, the third operation and the fourth operation to obtain a first value; and

right-shifting the first value by a second integer to obtain the interpolated sub-pixel value; and

outputting the interpolated sub-pel pixel values corresponding to the half-pel position, the first quarter-pel position and the second quarter-pel position for use in a motion compensation operation.

9. An apparatus for decoding video content, the apparatus comprising:

one or more computer processors; and

a computer-readable storage medium comprising instructions for controlling the one or more computer processors to:

receive a plurality of full-pel pixel values corresponding to a plurality of full-pel pixels of a line of in an image;

determine an interpolated sub-pel pixel value for each sub-pel pixel of at least three sub-pel pixels between two adjacent full-pel pixels by:

determining a set of coefficients for an interpolation;

assigning a first coefficient to weight a first full-pel pixel value in the plurality of full-pel pixel values in a first operation in the interpolation filter;

assigning a second coefficient to weight a second full-pel pixel value in the plurality of full-pel pixel values in a second operation in the interpolation filter;

assigning a third coefficient to weight a third full-pel pixel value in the plurality of full-pel pixel values in a third operation in the interpolation filter;

assigning a fourth coefficient to weight a fourth full-pel pixel value in the plurality of full-pel pixel values in a fourth operation in the interpolation filter; and

determining the interpolated sub-pel pixel value from the first operation, the second operation, the third operation, and the fourth operation, by:

adding a first integer to a sum of outputs of the first operation, the second operation, the third operation and the fourth operation to obtain a first value; and

right-shifting the first value by a second integer to obtain the interpolated sub-pixel value; and

output each interpolated sub-pel pixel value for use in a motion compensation operation.

10. The apparatus of claim 9 wherein the at least three sub-pel pixels comprises a quarter-pel pixel, a half-pel pixel and a three quarter-pel pixel, the set of coefficients used to determine an interpolated sub-pel pixel value for the half-pel pixel is different from the set of coefficients used to determine an interpolated sub-pel pixel value for the quarter-pel pixel and from the set of coefficients used to determine an interpolated sub-pel pixel value for the three quarter-pel pixel, and the set of coefficients used to determine the interpolated sub-pel pixel value for the quarter-pel pixel is different from the set of coefficients used to determine the interpolated sub-pel pixel value for the three quarter-pel pixel.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 17, 2014
From: MOTOROLA MOBILITY LLC
To: GOOGLE TECHNOLOGY HOLDINGS LLC
Reel/Frame 034280/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 19, 2014
From: GENERAL INSTRUMENT HOLDINGS, INC.
To: MOTOROLA MOBILITY LLC
Reel/Frame 033777/0842 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 9, 2013
From: GENERAL INSTRUMENT CORPORATION
To: GENERAL INSTRUMENT HOLDINGS, INC.
Reel/Frame 030764/0575 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2012
From: LOU, JIAN; WANG, LIMIN
To: GENERAL INSTRUMENT CORPORATION
Reel/Frame 027975/0639 →