Sub-pixel Interpolation and its Application in Motion Compensated Encoding of a Video Signal
First Claim
1. A method of generating a plurality of sub-pixels from a plurality of integer pixels, said method comprising:
- receiving said plurality of integer pixels;
computing a first set of half pixels by applying a first filter with a first complexity on said plurality of integer pixels; and
computing a diagonal pixel by applying a second filter with a second complexity, wherein said second complexity is less than said first complexity, wherein said diagonal pixel is diagonally half distance from a pair of said plurality of integer pixels.
1 Assignment
0 Petitions
Accused Products
Abstract
Reducing computational complexity when generating sub-pixel values for sub-pixel motion estimation from integer pixels. In an embodiment, half pixels in vertical and horizontal directions are computed by a applying a filter of first complexity on integer pixels, and a half pixel in diagonal direction is computed using a filter of lower complexity as compared to the filter of first complexity. Quarter (and other lower resolution pixels) pixels may also be generated using the half pixel in the diagonal direction. Thus, overall computational complexity is reduced in generating sub-pixels for sub-pixel motion estimation.
118 Citations
17 Claims
-
1. A method of generating a plurality of sub-pixels from a plurality of integer pixels, said method comprising:
-
receiving said plurality of integer pixels; computing a first set of half pixels by applying a first filter with a first complexity on said plurality of integer pixels; and computing a diagonal pixel by applying a second filter with a second complexity, wherein said second complexity is less than said first complexity, wherein said diagonal pixel is diagonally half distance from a pair of said plurality of integer pixels. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. An article of manufacture to process a sequence of video frames, said article of manufacture comprising:
-
a motion estimation block to receive a plurality of integer pixels representing a reconstructed frame and computing a first set of half pixels by applying a first filter with a first complexity on said plurality of integer pixels, said motion estimation block then computing a diagonal pixel by applying a second filter with a second complexity, wherein said second complexity is less than said first complexity, wherein said diagonal pixel is diagonally half distance from a pair of said plurality of integer pixels, said motion estimation block computing a motion vector by examining said plurality of integer pixels, said diagonal pixel and said first set of half pixels; a motion compensation block receiving said motion vector and generating a second plurality of diagonal pixels using a third filter, wherein said third filter has higher complexity compared to said second filter, said motion compensation block forming a predicted block from said reconstructed frame; and an error block generating a residue block as a difference of a source block presently being encoded and said predicted block, wherein said residue block is transmitted to a receiving system. - View Dependent Claims (8, 9, 10)
-
-
11. A computer readable medium carrying one or more sequences of instructions for causing a system to process a sequence of video frames, wherein execution of said one or more sequences of instructions by one or more processors contained in said receiver system causes said one or more processors to perform the actions of:
-
receiving a plurality of integer pixels; computing a first set of half pixels by applying a first filter with a first complexity on said plurality of integer pixels; and computing a diagonal pixel by applying a second filter with a second complexity, wherein said second complexity is less than said first complexity, wherein said diagonal pixel is diagonally half distance from a pair of said plurality of integer pixels. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification