Pixel interpolation filters for video decompression processor
First Claim
1. A method for interpolating pixel data provided in multi-pixel words arranged in rows of a video frame, comprising the steps of:
- (a) selecting a first set of at least one of said words to be interpolated from a row of said video frame;
(b) interpolating the pixel data for each word in said set in an interpolation direction defined by said row;
(c) temporarily storing the interpolated pixel data for said first set of words in a memory;
(d) selecting a subsequent set of at least one of said words to be interpolated from a next successive row of said video frame, said subsequent set of words being located adjacent said first set of words such that each word of said subsequent set has a counterpart word in said first set;
(e) interpolating the pixel data for a word in said subsequent set in said interpolation direction;
(f) reading from said memory the interpolated pixel data for the word in said first set that is the counterpart of the interpolated word from said subsequent set; and
(g) averaging the interpolated pixel data read from said memory with its counterpart interpolated pixel data from said subsequent set while concurrently storing the latter in said memory in place of the former.
11 Assignments
0 Petitions
Accused Products
Abstract
A method and apparatus are disclosed for interpolating pixels to obtain subpels for use by a video decompression processor. A prediction area is defined from which subpels are necessary to decompress a portion of a video image. Instead of reading all of the pixels from the prediction area and then processing them together to perform the necessary interpolation, portions of the pixel data are read and simultaneously averaged using in-place computation in order to reduce hardware requirements. Rounding of subpixel results is achieved using the carry input of conventional adders to add a binary "1" to the averaged pixels, which are subsequently truncated to provide the interpolated subpels.
431 Citations
20 Claims
-
1. A method for interpolating pixel data provided in multi-pixel words arranged in rows of a video frame, comprising the steps of:
-
(a) selecting a first set of at least one of said words to be interpolated from a row of said video frame; (b) interpolating the pixel data for each word in said set in an interpolation direction defined by said row; (c) temporarily storing the interpolated pixel data for said first set of words in a memory; (d) selecting a subsequent set of at least one of said words to be interpolated from a next successive row of said video frame, said subsequent set of words being located adjacent said first set of words such that each word of said subsequent set has a counterpart word in said first set; (e) interpolating the pixel data for a word in said subsequent set in said interpolation direction; (f) reading from said memory the interpolated pixel data for the word in said first set that is the counterpart of the interpolated word from said subsequent set; and (g) averaging the interpolated pixel data read from said memory with its counterpart interpolated pixel data from said subsequent set while concurrently storing the latter in said memory in place of the former. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A subpixel interpolation filter for a video motion estimation processor comprising:
-
means for generating a first set of N subpels by averaging adjacent pixels contained in a first vector of (N+1) pixels within a row of a prediction area; means for temporarily storing said first set of subpels; means for generating a second set of N subpels by averaging adjacent pixels contained in a second vector of (N+1) pixels from a subsequent row of said prediction area, said second vector in said subsequent row being the counterpart of said first vector in said first row; and means for averaging each subpel from said stored first set of subpels with a counterpart subpel from said second set as the counterpart subpels in said second set are being generated, to obtain a third set of subpels representative of said pixel data interpolated in two dimensions. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A horizontal pixel interpolation filter for a video decompression processor comprising:
-
an input for receiving consecutive words each containing N pixels from a prediction area of a video prediction frame, said consecutive words being received during successive clock cycles; means for delaying said consecutive words of pixel data by one clock cycle; means for holding; a first pixel from each consecutive word received at said input, and the immediately preceding word from said delay means; and means coupled to receive and average the adjacent pixels held in said holding means each clock cycle to provide successive sets of horizontally interpolated subpels for use by said video decompression processor. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification