IP Library › Granted Patent US 10,750,135
Granted Patent B2
US 10,750,135 · App. 16/165,881 · Granted Aug 18, 2020

Hardware-friendly model-based filtering system for image restoration

Inventors: Hasib Siddiqui (San Diego, CA); Kalin Atanassov (San Diego, CA); Magdi Mohamed (San Diego, CA)
Assignee: Qualcomm Incorporated
H04N9/04515G06T5/20H04N9/04551H04N9/646G06T5/002G06T5/003G06T5/006G06T2207/20024G06T2207/20084H04N2209/046
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 10,750,135
App. No.
16/165,881
Granted
Aug 18, 2020
Kind
B2
Abstract

A device (e.g., an image sensor, camera, etc.) may identify a camera lens and color filter array (CFA) sensor used to capture an image, and may determine filter parameters (e.g., a convolutional operator) based on the identified camera lens and CFA sensor. For example, a set of kernels (e.g., including a set of horizontal filters and a set of vertical filters) may be determined based on properties of a given lens and/or q-channel CFA sensor. Each kernel or filter may correspond to a row of a convolutional operator (e.g., of a restoration bit matrix) used by an image signal processor (ISP) of the device for non-linear filtering of the captured image. The corresponding outputs from the horizontal and vertical filters (e.g., two outputs of the horizontal and vertical filters corresponding to an input channel associated with the CFA sensor) may then be combined using a non-linear classification operation.

Claims (61)

1. A method for image processing, comprising:

identifying a camera lens and a color filter array (CFA) sensor;

determining a convolutional operator based at least in part on the camera lens and the CFA sensor;

sampling a local patch of a pixel array representing an image using the CFA sensor;

filtering the sampled local patch of the pixel array using a set of horizontal filters and a set of vertical filters based at least in part on the convolutional operator;

combining at least two results of the filtering based at least in part on a non-linear classification operation; and

outputting a restored image based at least in part on the combining.

2. The method of claim 1 , wherein filtering the sampled local patch of the pixel array comprises:

filtering a set of red, green, blue values through the set of horizontal filters to produce a first red value, a first green value, and a first blue value; and

filtering the set of red, green, blue values through the set of vertical filters to produce a second red value, a second green value, and a second blue value.

3. The method of claim 2 , wherein combining the at least two results of the filtering further comprises:

combining the first red value and the second red value based at least in part on the non-linear classification operation;

combining the first green value and the second green value based at least in part on the non-linear classification operation; and

combining the first blue value and the second blue value based at least in part on the non-linear classification operation.

4. The method of claim 3 , wherein the non-linear classification operation is based at least in part on an edge orientation associated with the sampled local patch.

5. The method of claim 1 , further comprising:

identifying a second camera lens, a second CFA sensor, or both; and

modifying the convolutional operator based at least in part on the second camera lens, the second CFA sensor, or both.

6. The method of claim 5 , wherein:

modifying the convolutional operator comprises updating hardware registers in an image signal processor (ISP).

7. The method of claim 5 , wherein the filtering is based at least in part on the modified convolutional operator.

8. The method of claim 1 , wherein determining the convolutional operator further comprises:

identifying a tuning parameter for each filter of the set of horizontal filters and the set of vertical filters based at least in part on one or more properties associated with the camera lens or the CFA sensor, wherein the one or more properties comprise one or more of: a lens point spread function (PSF), a lens chromatic aberration parameter, a sensor pixel PSF, a sensor crosstalk parameter, a sensor spectral overlap parameter, or some combination thereof.

9. The method of claim 1 , wherein:

determining the convolutional operator is based at least in part on a correction comprising one or more of: a chromatic aberration correction, a blurring correction, a cross talk correction, or some combination thereof; wherein the correction is associated with the camera lens or the CFA sensor.

10. An apparatus for image processing, comprising:

a processor,

memory in electronic communication with the processor; and

instructions stored in the memory and executable by the processor to cause the apparatus to:

identify a camera lens and a color filter array (CFA) sensor;

determine a convolutional operator based at least in part on the camera lens and the CFA sensor;

sample a local patch of a pixel array representing an image using the CFA sensor;

filter the sampled local patch of the pixel array using a set of horizontal filters and a set of vertical filters based at least in part on the convolutional operator;

combine at least two results of the filtering based at least in part on a non-linear classification operation; and

output a restored image based at least in part on the combining.

11. The apparatus of claim 10 , wherein the instructions to filter the sampled local patch of the pixel array are executable by the processor to cause the apparatus to:

filter a set of red, green, blue values through the set of horizontal filters to produce a first red value, a first green value, and a first blue value; and

filter the set of red, green, blue values through the set of vertical filters to produce a second red value, a second green value, and a second blue value.

12. The apparatus of claim 11 , wherein the instructions to combine the at least two results of the filtering further are executable by the processor to cause the apparatus to:

combine the first red value and the second red value based at least in part on the non-linear classification operation;

combine the first green value and the second green value based at least in part on the non-linear classification operation; and

combine the first blue value and the second blue value based at least in part on the non-linear classification operation.

13. The apparatus of claim 12 , wherein the non-linear classification operation is based at least in part on an edge orientation associated with the sampled local patch.

14. The apparatus of claim 10 , wherein the instructions are further executable by the processor to cause the apparatus to:

identify a second camera lens, a second CFA sensor, or both; and

modify the convolutional operator based at least in part on the second camera lens, the second CFA sensor, or both.

15. The apparatus of claim 14 , wherein the instructions to modify the convolutional operator are executable by the processor to cause the apparatus to update hardware registers in an image signal processor (ISP).

16. The apparatus of claim 14 , wherein the filtering is based at least in part on the modified convolutional operator.

17. The apparatus of claim 10 , wherein the instructions to determine the convolutional operator further are executable by the processor to cause the apparatus to:

identify a tuning parameter for each filter of the set of horizontal filters and the set of vertical filters based at least in part on one or more properties associated with the camera lens or the CFA sensor, wherein the one or more properties comprise one or more of: a lens point spread function (PSF), a lens chromatic aberration parameter, a sensor pixel PSF, a sensor crosstalk parameter, a sensor spectral overlap parameter, or some combination thereof.

18. The apparatus of claim 10 , wherein determining the convolutional operator is based at least in part on a correction comprising one or more of: a chromatic aberration correction, a blurring correction, a cross talk correction, or some combination thereof; wherein the correction is associated with the camera lens or the CFA sensor.

19. An apparatus for image processing, comprising:

means for identifying a camera lens and a color filter array (CFA) sensor;

means for determining a convolutional operator based at least in part on the camera lens and the CFA sensor;

means for sampling a local patch of a pixel array representing an image using the CFA sensor;

means for filtering the sampled local patch of the pixel array using a set of horizontal filters and a set of vertical filters based at least in part on the convolutional operator;

means for combining at least two results of the filtering based at least in part on a non-linear classification operation; and

means for outputting a restored image based at least in part on the combining.

20. The apparatus of claim 19 , wherein the means for filtering the sampled local patch of the pixel array comprises:

means for filtering a set of red, green, blue values through the set of horizontal filters to produce a first red value, a first green value, and a first blue value; and

means for filtering the set of red, green, blue values through the set of vertical filters to produce a second red value, a second green value, and a second blue value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 30, 2019
From: SIDDIQUI, HASIB; ATANASSOV, KALIN; MOHAMED, MAGDI
To: QUALCOMM INCORPORATED
Reel/Frame 048190/0095 →
Continuity (1)
Related Publication 20200128216A1 · Apr 23, 2020