IP Library Granted Patent US 8,712,183
Granted Patent B2
US 8,712,183 · App. 12/753,775 · Granted Apr 29, 2014

System and method for performing image correction

Inventors: Brian Cabral (San Jose, CA); Hu He (Santa Clara, CA); Elena Ing (Santa Clara, CA); Sohei Takemoto (Fremont, CA)
Assignee: Nvidia Corporation
H04N5/3572G06T17/30
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 8,712,183
App. No.
12/753,775
Granted
Apr 29, 2014
Kind
B2
Abstract

A system and method for correcting image data. Embodiments of the present invention provide image correction to overcome various lens effects, optical crosstalk, and electrical crosstalk. In one embodiment, the method includes accessing, within an electronic system, a plurality of control points for a patch of a spline surface and calculating a plurality of intermediate control points corresponding to a row of pixels of the patch. The method further includes receiving a pixel of an image and correcting the pixel based on the plurality of intermediate control points in streaming scanline column-wise or row-wise order.

Claims (40)

1. A method for image signal processing, said method comprising:

accessing, within an electronic system, a plurality of control points for a first patch of a spline surface, wherein said spline surface corresponds to an optical sensor;

calculating a plurality of intermediate control points corresponding to a row of pixels of said first patch;

receiving a first pixel of an image; and

correcting said first pixel based on said plurality of intermediate control points, wherein said first pixel is located in said row of pixels of said first patch.

2. A method as described in claim 1 further comprising:

receiving a second pixel of said image wherein said second pixel is horizontally adjacent to said first pixel;

incrementing a counter corresponding to a pixel location within said first patch of spline surface; and

correcting second pixel based on said plurality of intermediate control points, wherein said second pixel is located in said row of pixels of said first patch.

3. A method as described in claim 1 further comprising

prefetching a plurality of control points for a second patch of said spline surface.

4. A method as described in claim 1 wherein said correcting compensates for lens shading effects.

5. A method as described in claim 1 wherein said correcting compensates for optical crosstalk.

6. A method as described in claim 1 wherein said correcting compensates for electrical crosstalk.

7. A method as described in claim 1 wherein said calculating of intermediate control points is performed via linear interpolation based on the plurality of control points.

8. A method as described in claim 1 wherein said correcting is based on fixed precision.

9. A method as described in claim 1 wherein said correcting is based on floating precision.

10. An image signal processing system comprising:

a pixel receiving module operable to receive a plurality of pixels from an optical sensor;

a control points access module operable to access control points of a spline surface, wherein said spline surface corresponds to an optical sensor;

an intermediate control points module operable to determine a plurality of intermediate control points for a plurality of pixels corresponding to a first patch of said spline surface; and

a pixel correction module operable to correct pixels based on said plurality of intermediate control points.

11. A system as described in claim 10 further comprising:

an illuminate detector operable to detect an illuminate and select a plurality control points based on said illuminate for each color channel.

12. A system as described in claim 10 further comprising:

a prefetching module operable to prefetch a plurality of control points of a second patch of said spline surface.

13. A system as described in claim 10 further comprising:

a tracking module operable to track the location of a pixel received within said first patch of said spline surface and operable to signal said prefetching module when a pixel is received is within a predetermined range of the end of a row of pixels of said first patch.

14. A system as described in claim 10 further comprising:

a pixel color module operable to select a plurality of intermediate control points based on a color of pixel received.

15. A method for image signal processing comprising:

accessing, within an electronic system, a plurality of control points for a patch of a spline surface, wherein said spline corresponds to an optical sensor;

calculating a plurality of intermediate control points corresponding to a row of pixels for each color channel of an image;

receiving a plurality of pixels wherein said plurality of pixels comprises pixels located on a row of pixels corresponding to said patch of said spline surface and wherein said plurality of pixels comprises a plurality of color channels of an image; and

adjusting said plurality of pixels based on said plurality of intermediate control points and respective horizontal locations of said plurality of pixels.

16. A method as described in claim 15 wherein said intermediate control points define a spline curve corresponding to said row of pixels.

17. A method as described in claim 15 wherein said adjusting said plurality of pixels is performed sequentially.

18. A method as described in claim 15 wherein said adjusting said plurality of pixels is performed in parallel.

19. A method as described in claim 15 wherein said adjusting compensates for lens shading.

20. A method as described in claim 15 wherein said adjusting comprises linear interpolation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 2, 2010
From: CABRAL, BRIAN; HE, HU; ING, ELENA; TAKEMOTO, SOHEI
To: NVIDIA CORPORATION
Reel/Frame 024182/0296 →
Continuity (2)
Provisional Application 61170014 · Apr 16, 2009
Related Publication 20100266201A1 · Oct 21, 2010