# US 2015/0147005 A1 · Methods and apparatus for image processing at pixel rate

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2015/0147005 A1
- Document ID: US20150147005A1
- Status: Published application
- Kind: A1
- Application number: 14/611,735
- Filed: 2015-02-02
- Published: 2015-05-28
- Earliest claimed: 2009-11-17
- Assignees: Analog Devices Global
- Applicants: Analog Devices Global
- Inventors: Boris Lerner; Michael Meyer-Pundsack; Gopal Gudhdur Karanam; Pradip Thaker
- Web page: https://patentgrep.com/patent/US20150147005A1

## CPC

- G06T 1/20: Processor architectures; Processor configuration, e.g. pipelining
- G06T 1/60: Memory management
- G06T 2200/28: involving image processing hardware
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## 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

### Claim 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.

### Claim 2 (depends on 1)

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.

### Claim 3 (depends on 1)

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.

### Claim 4 (depends on 1)

The method of claim 1, wherein the predetermined values are duplicated from other values in the pixel block.

### Claim 5 (depends on 1)

The method of claim 1, wherein the predetermined values are zeroes.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 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.

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 8)

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.

### Claim 11 (depends on 8)

The medium of claim 8, wherein the predetermined values are duplicated from other values in the pixel block.

### Claim 12 (depends on 8)

The medium of claim 8, wherein the predetermined values are zeroes.

### Claim 13 (depends on 8)

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.

### Claim 14 (depends on 8)

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.

### Claim 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.

### Claim 16 (depends on 15)

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.

### Claim 17 (depends on 15)

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.

### Claim 18 (depends on 15)

The apparatus of claim 15, wherein the predetermined values are duplicated from other values in the pixel block.

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 15)

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.
