System and method for sharpening image data
First Claim
1. A method for processing an image, comprising:
- using an image processor;
obtaining a luma image based upon image data acquired using an image sensor;
for each luma pixel of the luma image, applying a multi-scale unsharp mask filter to a current luma pixel to determine one or more unsharp values, wherein each of the one or more unsharp values is associated with a respective gain and a respective threshold;
determining a base value, wherein the base value is selected as either a value of the current luma pixel or as a value of an output of the multi-scale unsharp mask filter based at least partially upon a noise variance of the image data;
comparing each of the one or more unsharp values to the respective threshold;
for each of the one or more unsharp values that is greater than the respective threshold, applying the respective gain to determine corresponding gained unsharp values; and
adding each gained unsharp value to the base value to produce a sharpened pixel corresponding to the current luma pixel.
1 Assignment
0 Petitions
Accused Products
Abstract
Various techniques relating to image sharpening are provided. In one embodiment, a luminance image is obtained based upon image data acquired by an image sensor. A multi-scale unsharp mask, which may include at least two Gaussian filters of difference radii, is applied to the luminance image to determine a plurality of unsharp values. Each of the unsharp values may be compared to a corresponding threshold and, for the unsharp values that exceed their respective thresholds, the unsharp value is multiplied by a corresponding gain and added to a base image, which may be selected as the luminance image or the output of one of the Gaussian filters. Each gained unsharp value may be summed with the base image to produce a final sharpened output. In some embodiments, an attenuated gain may be applied to unsharp values that do not exceed their respective thresholds.
-
Citations
26 Claims
-
1. A method for processing an image, comprising:
-
using an image processor; obtaining a luma image based upon image data acquired using an image sensor; for each luma pixel of the luma image, applying a multi-scale unsharp mask filter to a current luma pixel to determine one or more unsharp values, wherein each of the one or more unsharp values is associated with a respective gain and a respective threshold; determining a base value, wherein the base value is selected as either a value of the current luma pixel or as a value of an output of the multi-scale unsharp mask filter based at least partially upon a noise variance of the image data; comparing each of the one or more unsharp values to the respective threshold; for each of the one or more unsharp values that is greater than the respective threshold, applying the respective gain to determine corresponding gained unsharp values; and adding each gained unsharp value to the base value to produce a sharpened pixel corresponding to the current luma pixel. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method for applying sharpening to an image, comprising:
-
obtaining a luma image based upon image data acquired using an image sensor; for each luma pixel of the luma image, identifying a current luma pixel and applying a multi-scale unsharp mask filter to the current luma pixel to determine one or more unsharp values, wherein each of the one or more unsharp values is associated with a respective gain and a respective threshold; comparing each of the one or more unsharp values to the respective threshold; for each of the one or more unsharp values that is greater than the respective threshold, applying the respective gain to determine a first set of corresponding gained unsharp values; for each of the one or more unsharp values that is less than its respective threshold, applying an attenuated gain based upon its respective gain to determine a second set of corresponding gained unsharp values; and adding the gained unsharp values from the first and second sets to a base value to produce a sharpened pixel corresponding to the current luma pixel. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An image processing method, comprising:
-
using an image processor; obtaining a luma image based upon image data acquired using an image sensor; for each luma pixel of the luma image, identifying a current luma pixel and applying a multi-scale unsharp mask filter to the current luma pixel, wherein the multi-scale unsharp mask filter comprises a first low pass filter and a second low pass filter, wherein the second low pass filter is larger in size compared to the first low pass filter; determining a set of unsharp values comprising a first unsharp value determined by subtracting a second low pass filter output from a first low pass filter output, a second unsharp value determined by subtracting the second low pass filter output from a current luma pixel value, and a third unsharp value determined by subtracting the first low pass filter output from the current luma pixel value; performing a first comparison comprising selecting the first unsharp value, comparing a first threshold to the selected first unsharp value selected during the first comparison and, if the selected first unsharp value is greater than the first threshold, applying a first gain to the first unsharp value to compute a first sharpening component; performing a second comparison comprising selecting one of either the second unsharp value or the first unsharp value, comparing a second threshold to the selected second or first unsharp value selected during the second comparison, and applying a second gain to the second unsharp value to compute a second sharpening component if the selected unsharp value is greater than the second threshold; performing a third comparison comprising selecting one of either the third unsharp value or the first unsharp value, comparing a third threshold to the selected third or first unsharp value selected during the third comparison, and applying a third gain to the third unsharp value to compute a third sharpening component if the selected third or first unsharp value is greater than the third threshold; and for each of the first, second, or third comparisons in which a respective selected unsharp value is greater than the respective first, second, or third thresholds, adding the respective first, second, or third sharpening components to a base value. - View Dependent Claims (17, 18, 19, 20)
-
-
21. An image processing circuit comprising:
-
an interface configured to receive image data from an image sensor; and image sharpening logic configured to sharpen a luma image derived from the image data, the image sharpening logic comprising; an input configured to receive luma pixels corresponding to the luma image; a multi-scale unsharp mask filter comprising a first low pass filter having a first size and a second low pass filter having a second size, wherein the multi-scale unsharp mask filter is configured to apply the first and the second low pass filters to a current luma pixel, and wherein the image sharpening logic is configured to determine a first unsharp value by subtracting a second low pass filter output from a first low pass filter output, a second unsharp value by subtracting the second low pass filter output from a current luma pixel value, and a third unsharp value by subtracting the first low pass filter output from the current luma pixel value; and adaptive coring logic comprising; a first selection circuit configured to receive the first unsharp value and the second unsharp value and to output either the first unsharp value or the second unsharp value based upon the state of a first control signal; a second selection circuit configured to receive the first unsharp value and the third unsharp value and to output either the first unsharp value or the third unsharp value based upon the state of a second control signal; a first comparator block configured to compare a first threshold against the first unsharp value; a second comparator block configured to compare a second threshold against the output of the first selection circuit; and a third comparator block configured to compare a third threshold against the output of the second selection circuit; wherein a sharpened luma pixel corresponding to the current luma pixel is determined by adding the first unsharp value multiplied by a first gain to a base value if the output of the first comparator block indicates that the first unsharp value is greater than the first threshold, adding the second unsharp value multiplied by a second gain to the base value if the output of the second comparator block indicates that the output of the first selection circuit is greater than the second threshold, and adding the third unsharp value multiplied by a third gain to the base value if the output of the third comparator block indicates that the output of the second selection circuit is greater than the third threshold. - View Dependent Claims (22, 23, 24, 25, 26)
-
Specification