IP Library Granted Patent US 7,483,595
Granted Patent B2
US 7,483,595 · App. 10/941,859 · Granted Jan 27, 2009

Image processing method and device

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,483,595
App. No.
10/941,859
Granted
Jan 27, 2009
Kind
B2
Abstract

An image processing method and device for processing multiple rows of pixels of an image simultaneously with a single instruction. The processing includes selecting a pixel window having a plurality of pixels of an image spanning across multiple rows and columns, building vertical and horizontal load registers to include the plurality of pixels of the selected pixel window, and simultaneously processing selected pixels of the plurality of pixels included in the vertical and horizontal load registers using a single instruction, wherein the vertical and horizontal load registers are shifted when the selected pixels are processed. Accordingly, a method and device for efficient processing of an image is provided.

Claims (40)

1. A method, comprising:

processing multiple rows of pixels of an image simultaneously with a single instruction, wherein the processing includes building the multiple rows of pixels of the image in a plurality of horizontal load registers and a plurality of vertical load registers that are arranged with respect to each other to correspond with the image;

shifting pixels from a first vertical load register of the plurality of vertical load registers into a second vertical load register of the plurality of vertical load registers; and

shifting at least one pixel from each of the plurality of horizontal load registers into the first vertical load register.

2. The method according to claim 1 , wherein the processing includes processing of multiple rows of pixels that are stored in non-sequential locations in a memory.

3. The method according to claim 1 , wherein each of the pixels represents one bit.

4. The method according to claim 1 , wherein shifting pixels into the second vertical load register and into the first vertical load register further comprises:

simultaneously shifting the pixels from the first vertical load register into the second vertical load register and shifting the at least one pixel from each of the plurality of horizontal load registers into the first vertical load register.

5. The method according to claim 1 , wherein shifting the at least one pixel from each of the plurality of horizontal load registers into the first vertical load register further comprises:

shifting one pixel corresponding to a most significant bit from each of the plurality of horizontal load registers into the first vertical load register.

6. The method according to claim 1 , wherein a number of the horizontal and vertical load registers provided is based on an imaging algorithm used.

7. A method, comprising:

selecting pixel windows having a plurality of pixels of an image spanning across multiple rows and columns;

building a plurality of vertical and horizontal load registers to include the plurality of pixels of the selected pixel windows; and

simultaneously processing selected pixels of the plurality of pixels included in the plurality of vertical and horizontal load registers using a single instruction;

shifting pixels from a first vertical load register of the plurality of vertical load registers into a second vertical load register of the plurality of vertical load registers; and

shifting at least one pixel from each of the plurality of horizontal load registers into the first vertical load register.

8. The method according to claim 7 , wherein the shifting of at least one pixel from each of the plurality of horizontal load registers into the first vertical load register further comprises:

shifting one pixel corresponding to a most significant bit from each of the plurality of horizontal load registers into the first vertical load registers.

9. The method according to claim 7 , wherein the processing includes processing the plurality of pixels in the selected pixel window that are stored in non-sequential locations in a memory.

10. The method according to claim 7 , wherein the processing includes changing the plurality of pixels in the selected pixel windows each time the selected pixels are processed.

11. The method according to claim 7 , wherein each of the pixels correspond to a bit, and the shifted pixel in each of the horizontal load registers correspond to most significant bits of the horizontal load registers.

12. An image processing device, comprising:

a processor for processing multiple rows of pixels of an image simultaneously with a single instruction;

a plurality of horizontal load registers; and

a plurality of vertical load registers, including a first vertical load register and a second vertical load register;

wherein the multiple rows of pixels of the image are arranged in the plurality of vertical and horizontal load registers;

wherein the processor is configured to shift pixels from the first vertical load register to the second vertical load register; and

wherein the processor is further configured to shift pixels corresponding to the most significant bit of each of the plurality of horizontal load registers into the first vertical load register.

13. The image processing device according to claim 12 , wherein the processing includes processing of the multiple rows of pixels of the image that are stored in non-sequential locations in a memory.

14. The image processing device according to claim 12 , wherein the multiple rows of pixels of the image are included in a pixel window having pixel columns, and a content of the pixel window changes each time the multiple rows of pixels are processed.

15. The image processing device according to claim 12 , wherein a number of the horizontal and vertical load registers provided is based on an imaging algorithm used.

16. A method, comprising:

building a plurality of vertical and horizontal load registers to include a plurality of pixels of an image spanning across multiple rows and columns; and

simultaneously processing selected pixels of the plurality of pixels spanning across the multiple rows using a single instruction;

shifting pixels from a first vertical load register of the plurality of vertical load registers into a second vertical load register of the plurality of vertical load registers; and

shifting pixels corresponding to most significant bits of each of the plurality of horizontal load registers into the first vertical load register.

17. The image processing device according to claim 12 , wherein the number of horizontal load registers is equal to the number of pixels stored in the first vertical load register.

18. The method according to claim 1 , wherein said shifting pixels of the first vertical load register into the second vertical load register further comprises:

shifting each of the pixels of the first vertical load register into a corresponding position in the second vertical load register.

Assignments (11)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2020
From: CAVIUM INTERNATIONAL
To: MARVELL ASIA PTE, LTD.
Reel/Frame 053475/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: MARVELL INTERNATIONAL LTD.
To: CAVIUM INTERNATIONAL
Reel/Frame 052918/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2020
From: MARVELL INTERNATIONAL TECHNOLOGY LTD.
To: MARVELL INTERNATIONAL LTD.
Reel/Frame 051735/0882 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE NAME PREVIOUSLY RECORDED AT REEL: 017206 FRAME: 0666. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 6, 2016
From: AGILENT TECHNOLOGIES, INC.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 038632/0662 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2007
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: MARVELL INTERNATIONAL TECHNOLOGY LTD.
Reel/Frame 020000/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2006
From: AVAGO TECHNOLOGIES SENSOR IP PTE. LTD.
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 018545/0413 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2006
From: AVAGO TECHNOLOGIES IMAGING IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES SENSOR IP PTE. LTD.
Reel/Frame 017675/0691 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2006
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES IMAGING IP (SINGAPORE) PTE. LTD.
Reel/Frame 017675/0738 →
SECURITY AGREEMENT Recorded Feb 24, 2006
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: CITICORP NORTH AMERICA, INC.
Reel/Frame 017207/0882 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 22, 2006
From: AGILENT TECHNOLOGIES, INC.
To: AVAGO TECHNOLOGIES GENERAL IP PTE. LTD.
Reel/Frame 017206/0666 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2005
From: KEITHLEY, DOUGLAS GENE; MOSS, ROY GIDEON
To: AGILENT TECHNOLOGIES INC
Reel/Frame 015738/0344 →