Methods and apparatus for image processing at pixel rate
Abstract
Embodiments of the present invention provide for improved timing control in 2-D image processing to maintain a constant rate of fetches and pixel outputs even when the processing operations transition to a new line or frame of pixels. A one-to-one relationship between incoming pixel rate and outgoing pixel rate is maintained without additional clock cycles or memory bandwidth as an improved timing control according to the present invention takes advantage of idle memory bandwidth by pre-fetching a new column of pixel data in a first pixel block of a next line or frame while a new column of an edge pixel block on a current line is duplicated or zeroed out. As the edge pixel block(s) on the current line are processed, the data in the first pixel block of the next line or frame become ready for computation without extra clock cycles or extra memory bandwidth.
Claims
exact text as granted — not AI-modifiedWhat is claimed:
1 . A method used in scanning an image in raster mode, the method comprising:
filling a vector in a pixel block with predetermined values, in response to a determination that the vector of the pixel block is located beyond an edge of the image; performing an image processing on the pixel block with the predetermined values; and fetching a vector of a next pixel block of the image, in response to the determination that the vector of the pixel block is located beyond the edge of the image.
2 . The method of claim 1 , wherein the pixel block is centered around a pixel on a line, and the next pixel block is centered around a pixel on an adjacent line to the line on an opposing edge of the edge of the image.
3 . The method of claim 1 , wherein the pixel block is centered around a pixel on a line, and the next pixel block is centered around a pixel two lines away from the line.
4 . The method of claim 1 , wherein the predetermined values are duplicated from other values in the pixel block.
5 . The method of claim 1 , wherein the predetermined values are zeroes.
6 . The method of claim 1 , wherein the image processing includes a convolution operation applied to the pixel block or a correlation operation applied to the pixel block.
7 . The method of claim 1 , wherein the fetching is performed in a same clock unit as the filling is performed, thereby maintaining a constant rate of pixel outputs.
8 . A non-transitory, computer-readable medium encoded with instructions that, when executed by a processor, cause the processor to perform a method that scans an image in raster mode, the method comprising:
filling a vector in a pixel block with predetermined values, in response to a determination that the vector of the pixel block is located beyond an edge of the image; performing an image processing on the pixel block with the predetermined values; and fetching a vector of a next pixel block of the image, in response to the determination that the vector of the pixel block is located beyond the edge of the image.
9 . The medium of claim 8 , wherein the pixel block is centered around a pixel on a line, and the next pixel block is centered around a pixel on an adjacent line to the line on an opposing edge of the edge of the image.
10 . The medium of claim 8 , wherein the pixel block is centered around a pixel on a line, and the next pixel block is centered around a pixel two lines away from the line.
11 . The medium of claim 8 , wherein the predetermined values are duplicated from other values in the pixel block.
12 . The medium of claim 8 , wherein the predetermined values are zeroes.
13 . The medium of claim 8 , wherein the image processing includes a convolution operation applied to the pixel block or a correlation operation applied to the pixel block.
14 . The medium of claim 8 , wherein the fetching is performed in a same clock unit as the filling is performed, thereby maintaining a constant rate of pixel outputs.
15 . An apparatus that scans an image in raster mode, the apparatus comprising:
a processor configured to fill a vector in a pixel block with predetermined values, in response to a determination that the vector of the pixel block is located beyond an edge of the image, wherein the processor performs an image processing on the pixel block with the predetermined value, and the processor is further configured to fetch a vector of a next pixel block of the image, in response to the determination that the vector of the pixel block is located beyond the edge of the image.
16 . The apparatus of claim 15 , wherein the pixel block is centered around a pixel on a line, and the next pixel block is centered around a pixel on an adjacent line to the line on an opposing edge of the edge of the image.
17 . The apparatus of claim 15 , wherein the pixel block is centered around a pixel on a line, and the next pixel block is centered around a pixel two lines away from the line.
18 . The apparatus of claim 15 , wherein the predetermined values are duplicated from other values in the pixel block.
19 . The apparatus of claim 15 , wherein the image processing includes a convolution operation applied to the pixel block or a correlation operation applied to the pixel block.
20 . The apparatus of claim 15 , wherein the processor is configured to fetch the vector of the next pixel block in a same clock unit as the processor fills the vector in the pixel block, thereby maintaining a constant rate of pixel outputs.Join the waitlist — get patent alerts
Track US2015147005A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.