IP Library Granted Patent US 7,505,636
Granted Patent B2
US 7,505,636 · App. 10/984,147 · Granted Mar 17, 2009

System and method for two-pass interpolation for quarter-pel motion compensation

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 7,505,636
App. No.
10/984,147
Granted
Mar 17, 2009
Kind
B2
Abstract

Methods and systems for processing a video signal are disclosed herein. Pixels may be interpolated utilizing at most two passes. During a first of the two passes, an aligned sub-pixel value may be interpolated utilizing a plurality of integer pixel values, if the aligned sub-pixel value is horizontally or vertically aligned with the plurality of integer pixel values. During a second of the two passes, a non-aligned sub-pixel value may be interpolated utilizing the interpolated aligned sub-pixel value, if the non-aligned sub-pixel value is not horizontally or vertically aligned with the plurality of integer pixel values. The aligned sub-pixel value may be interpolated utilizing 4-tap filtering of the integer pixel values.

Claims (67)

1. A method for processing a video signal, the method comprising: using a processor to perform the following steps:

interpolating pixels utilizing at most two passes, wherein,

during a first of the two passes,

interpolating at least one aligned sub-pixel value utilizing a plurality of integer pixel values, if the at least one aligned sub-pixel value is horizontally or vertically aligned with the plurality of integer pixel values; and

during a second of the two passes,

interpolating at least one non-aligned sub-pixel value utilizing the interpolated at least one aligned sub-pixel value, if the at least one non-aligned sub-pixel value is not horizontally or vertically aligned with the plurality of integer pixel values.

2. The method according to claim 1 , comprising interpolating the at least one aligned sub-pixel value utilizing 4-tap filtering of the integer pixel values.

3. The method according to claim 1 , comprising interpolating the at least one aligned sub-pixel value utilizing 4-tap filtering of the integer pixel values, wherein the 4-tap filtering of the integer pixel values comprises performing at least one of the following filtering operations:

f 1( x, y, z, w )=(−5 x +56 y +15 z −2 w +32)>>6;

f 2( x, y, z, w )=(−5 x +37 y +37 z −5 w +32)>>6; and

f 3( x, y, z, w )=(−2 x +15 y +56 z −5 w +32)>>6.

4. The method according to claim 1 , comprising interpolating the at least one non-aligned sub-pixel value utilizing 4-tap filtering of the interpolated at least one aligned sub-pixel value.

5. The method according to claim 1 , comprising interpolating the at least one non-aligned sub-pixel value utilizing 4-tap filtering of the interpolated at least one aligned sub-pixel value, wherein the 4-tap filtering of the interpolated at least one aligned sub-pixel value comprises performing at least one of the following filtering operations:

f 1( x, y, z, w )=(−5 x +56 y +15 z −2 w +32)>>6;

f 2( x, y, z, w )=(−5 x +37 y +37 z −5 w +32)>>6; and

f 3( x, y, z, w )=(−2 x +15 y +56 z −5 w +32)>>6.

6. The method according to claim 1 , comprising interpolating the at least one aligned sub-pixel value utilizing at least one of a plurality of polyphase filters to filter the integer pixel values.

7. The method according to claim 6 , comprising interpolating the at least one non-aligned sub-pixel value utilizing at least one of a plurality of polyphase filters to filter the interpolated at least one aligned sub-pixel value.

8. A computer-readable storage medium having stored thereon, a computer program having at least one code section for processing a video signal, the at least one code section being executable by a computer for causing the computer to perform steps comprising:

interpolating pixels utilizing at most two passes, wherein,

during a first of the two passes,

interpolating at least one aligned sub-pixel value utilizing a plurality of integer pixel values, if the at least one aligned sub-pixel value is horizontally or vertically aligned with the plurality of integer pixel values; and

during a second of the two passes,

interpolating at least one non-aligned sub-pixel value utilizing the interpolated at least one aligned sub-pixel value, if the at least one non-aligned sub-pixel value is not horizontally or vertically aligned with the plurality of integer pixel values.

9. The computer-readable storage medium according to claim 8 , comprising code for interpolating the at least one aligned sub-pixel value utilizing 4-tap filtering of the integer pixel values.

10. The computer-readable storage medium according to claim 8 , comprising code for interpolating the at least one aligned sub-pixel value utilizing 4-tap filtering of the integer pixel values, wherein the 4-tap filtering of the integer pixel values comprises performing at least one of the following filtering operations:

f 1( x, y, z, w )=(−5 x +56 y +15 z −2 w +32)>>6;

f 2( x, y, z, w )=(−5 x +37 y +37 z −5 w +32)>>6; and

f 3( x, y, z, w )=(−2 x +15 y +56 z −5 w +32)>>6.

11. The computer-readable storage medium according to claim 8 , comprising code for interpolating the at least one non-aligned sub-pixel value utilizing 4-tap filtering of the interpolated at least one aligned sub-pixel value.

12. The computer-readable storage medium according to claim 8 , comprising code for interpolating the at least one non-aligned sub-pixel value utilizing 4-tap filtering of the interpolated at least one aligned sub-pixel value, wherein the 4-tap filtering of the interpolated at least one aligned sub-pixel value comprises performing at least one of the following filtering operations:

f 1( x, y, z, w )=(−5 x +56 y +15 z −2 w +32)>>6;

f 2( x, y, z, w )=(−5 x +37 y +37 z −5 w +32)>>6; and

f 3( x, y, z, w )=(−2 x +15 y +56 z −5 w +32)>>6.

13. The computer-readable storage medium according to claim 8 , comprising code for interpolating the at least one aligned sub-pixel value utilizing at least one of a plurality of polyphase filters to filter the integer pixel values.

14. The computer-readable storage medium according to claim 13 , comprising code for interpolating the at least one non-aligned sub-pixel value utilizing at least one of a plurality of polyphase filters to filter the interpolated at least one aligned sub-pixel value.

15. A system for processing a video signal, the system comprising:

A computer comprising: an interpolator, said interpolator interpolates pixels utilizing at most two passes, wherein,

during a first of the two passes,

the interpolator interpolates at least one aligned sub-pixel value utilizing a plurality of integer pixel values, if the at least one aligned sub-pixel value is horizontally or vertically aligned with the plurality of integer pixel values; and

during a second of the two passes,

the interpolator interpolates at least one non-aligned sub-pixel value utilizing the interpolated at least one aligned sub-pixel value, if the at least one non-aligned sub-pixel value is not horizontally or vertically aligned with the plurality of integer pixel values.

16. The system according to claim 15 , comprising a 4-tap filter for filtering the integer pixel values during interpolation of the at least one aligned sub-pixel value.

17. The system according to claim 15 , comprising a 4-tap filter for filtering the integer pixel values during interpolation of the at least one aligned sub-pixel value, wherein the 4-tap filter utilizes at least one of the following filtering operations:

f 1( x, y, z, w )=(−5 x +56 y +15 z −2 w +32)>>6;

f 2( x, y, z, w )=(−5 x +37 y +37 z −5 w +32)>>6; and

f 3( x, y, z, w )=(−2 x +15 y +56 z −5 w +32)>>6.

18. The system according to claim 15 , comprising a 4-tap filter for filtering the interpolated at least one aligned sub-pixel value during interpolation of the at least one non-aligned sub-pixel value.

19. The system according to claim 15 , comprising a 4-tap filter for filtering the interpolated at least one aligned sub-pixel value during interpolation of the at least one non-aligned sub-pixel value, wherein the 4-tap filter utilizes at least one of the following filtering operations:

f 1( x, y, z, w )=(−5 x +56 y +15 z −2 w +32)>>6;

f 2( x, y, z, w )=(−5 x +37 y +37 z −5 w +32)>>6; and

f 3( x, y, z, w )=(−2 x +15 y +56 z −5 w +32)>>6.

20. The system according to claim 15 , wherein the interpolator interpolates the at least one aligned sub-pixel value utilizing at least one of a plurality of polyphase filters to filter the integer pixel values.

21. The system according to claim 20 , wherein the interpolator interpolates the at least one non-aligned sub-pixel value utilizing at least one of a plurality of polyphase filters to filter the interpolated at least one aligned sub-pixel value.

22. A method for processing a video signal, the method comprising: using processor to perform the following steps:

receiving video encoded in accordance with a digital video compression format; and

interpolating pixels of the video utilizing at most two passes of filtering wherein,

during a first pass of the two passes,

interpolating at least one aligned sub-pixel value utilizing a plurality of integer pixel values, if the at least one aligned sub-pixel value is horizontally or vertically aligned with the plurality of integer pixel values; and

during a second of the two passes,

interpolating at least one non-aligned sub-pixel value utilizing the interpolated at least one aligned sub-pixel value, if the at least one non-aligned sub-pixel value is not horizontally or vertically aligned with the plurality of integer pixel values.

23. A system for processing a video signal comprising:

A computer comprising: an interpolator, said interpolator interpolates pixels of digital video data utilizing at most two passes of filtering, wherein,

during a first of the two passes,

the interpolator interpolates at least one aligned sub-pixel value utilizing a plurality of integer pixel values, if the at least one aligned sub-pixel value is horizontally or vertically aligned with the plurality of integer pixel values; and

during a second of the two passes,

the interpolator interpolates at least one non-aligned sub-pixel value utilizing the interpolated at least one aligned sub-pixel value, if the at least one non-aligned sub-pixel value is not horizontally or vertically aligned with the plurality of integer pixel values.

Assignments (3)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →