IP Library Granted Patent US 8,582,890
Granted Patent B2
US 8,582,890 · App. 12/987,759 · Granted Nov 12, 2013

Image sharpening via gradient environment detection

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,582,890
App. No.
12/987,759
Granted
Nov 12, 2013
Kind
B2
Abstract

In an embodiment, a device comprises a plurality of elements, including logical elements, wherein the elements are configured to perform the operations of: in a neighborhood of pixels surrounding and including a particular pixel, applying a filter to multiple groups of pixels in the neighborhood to generate a set of filtered values; generating, based at least in part upon the set of filtered values, one or more sets of gradient values; based at least in part upon the one or more sets of gradient values, computing a first metric for an image environment in which the particular pixel is situated; determining a second metric for the image environment in which the particular pixel is situated, wherein the second metric distinguishes between a detail environment; and based at least in part upon the first metric and the second metric, computing a gradient improvement (GI) metric for the particular pixel.

Claims (84)

1. A device comprising a plurality of elements, including logical elements, wherein the elements are configured to perform the operations of:

in a neighborhood of pixels surrounding and including a particular pixel, applying a filter to multiple groups of pixels in the neighborhood to generate a set of filtered values;

generating, based at least in part upon the set of filtered values, two or more sets of gradient values, wherein each set of gradient values reflects changes in the set of filtered values in a particular direction;

based at least in part upon the two or more sets of gradient values, computing a first metric for an image environment in which the particular pixel is situated, wherein the first metric distinguishes between an edge environment, in which changes in filtered values are steep, and a gradient environment, in which changes in filtered values are gradual;

based at least in part upon the two or more sets of gradient values, determining a second metric for the image environment in which the particular pixel is situated, wherein the second metric distinguishes between a detail environment, in which changes in gradient values are chaotic, and a gradient environment, in which changes in gradient values are monotonic;

wherein changes in gradient values are chaotic if there is a large number of directional changes in the gradient values; and

wherein changes in gradient values are monotonic if there is a small number of directional changes in the gradient values; and

based at least in part upon the first metric and the second metric, computing a gradient improvement (GI) metric for the particular pixel, wherein the GI metric indicates whether the particular pixel is situated in a gradient environment in which changes in filtered values are gradual and changes in gradient values are monotonic.

2. The device of claim 1 , wherein computing the first metric comprises:

based at least in part upon the two or more sets of gradient values, computing an overall maximum difference value, which represents a difference between a maximum gradient value and a minimum gradient value;

normalizing the overall maximum difference value by a signal level value to derive a normalized difference value; and

based at least in part upon the normalized difference value, deriving the first metric.

3. The device of claim 1 , wherein generating two or more sets of gradient values comprises:

generating a first set of gradient values reflecting changes in the set of filtered values in a first direction; and

generating a second set of gradient values reflecting changes in the set of filtered values in a second and different direction.

4. The device of claim 3 , wherein computing the first metric comprises:

based at least in part upon the first set of gradient values, determining a first minimum gradient value and a first maximum gradient value;

based at least in part upon the second set of gradient values, determining a second minimum gradient value and a second maximum gradient value; and

based at least in part upon the first minimum gradient value, the first maximum gradient value, the second minimum gradient value, and the second maximum gradient value, determining an overall maximum difference value.

5. The device of claim 4 , wherein:

determining the first minimum gradient value and the first maximum gradient value comprises:

obtaining from the first set of gradient values a first plurality of minimum gradient values;

based at least in part upon the first plurality of minimum gradient values, computing the first minimum gradient value;

obtaining from the first set of gradient values a first plurality of maximum gradient values; and

based at least in part upon the first plurality of maximum gradient values, computing the first maximum gradient value; and

determining the second minimum gradient value and the second maximum gradient value comprises:

obtaining from the second set of gradient values a second plurality of minimum gradient values;

based at least in part upon the second plurality of minimum gradient values, computing the second minimum gradient value;

obtaining from the second set of gradient values a second plurality of maximum gradient values; and

based at least in part upon the second plurality of maximum gradient values, computing the second maximum gradient value.

6. The device of claim 4 , wherein determining the overall maximum difference value comprises:

based at least in part upon the first minimum gradient value and the first maximum gradient value, determining a first maximum difference value for the first direction;

based at least in part upon the second minimum gradient value and the second maximum gradient value, determining a second maximum difference value for the second direction; and

selecting the greater of the first maximum difference value and the second maximum difference value to be the overall maximum difference value.

7. The device of claim 4 , wherein computing the first metric further comprises:

normalizing the overall maximum difference value by a signal level value to derive a normalized difference value; and

based at least in part upon the normalized difference value, deriving the first metric.

8. A device comprising a plurality of elements, including logical elements, wherein the elements are configured to perform the operations of:

in a neighborhood of pixels surrounding and including a particular pixel, applying a filter to multiple groups of pixels in the neighborhood to generate a set of filtered values;

generating, based at least in part upon the set of filtered values, one or more sets of gradient values, wherein each set of gradient values reflects changes in the set of filtered values in a particular direction;

based at least in part upon the one or more sets of gradient values, computing a first metric for an image environment in which the particular pixel is situated, wherein the first metric distinguishes between an edge environment, in which changes in filtered values are steep, and a gradient environment, in which changes in filtered values are gradual;

based at least in part upon the one or more sets of gradient values, determining a second metric for the image environment in which the particular pixel is situated, wherein the second metric distinguishes between a detail environment, in which changes in gradient values are chaotic, and a gradient environment, in which changes in gradient values are monotonic;

based at least in part upon the first metric and the second metric, computing a gradient improvement (GI) metric for the particular pixel, wherein the GI metric indicates whether the particular pixel is situated in a gradient environment in which changes in filtered values are gradual and changes in gradient values are monotonic; and

wherein computing the GI metric comprises: multiplying the first metric by the second metric to derive the GI metric.

9. A method comprising:

in a neighborhood of pixels surrounding and including a particular pixel, applying a filter to multiple groups of pixels in the neighborhood to generate a set of filtered values;

generating, based at least in part upon the set of filtered values, two or more sets of gradient values, wherein each set of gradient values reflects changes in the set of filtered values in a particular direction;

based at least in part upon the two or more sets of gradient values, computing a first metric for an image environment in which the particular pixel is situated, wherein the first metric distinguishes between an edge environment, in which changes in filtered values are steep, and a gradient environment, in which changes in filtered values are gradual;

based at least in part upon the two or more sets of gradient values, determining a second metric for the image environment in which the particular pixel is situated, wherein the second metric distinguishes between a detail environment, in which changes in gradient values are chaotic, and a gradient environment, in which changes in gradient values are monotonic;

wherein changes in gradient values are chaotic if there is a large number of directional changes in the gradient values; and

wherein changes in gradient values are monotonic if there is a small number of directional changes in the gradient values; and

based at least in part upon the first metric and the second metric, computing a gradient improvement (GI) metric for the particular pixel, wherein the GI metric indicates whether the particular pixel is situated in a gradient environment in which changes in filtered values are gradual and changes in gradient values are monotonic;

wherein the method is performed by one or more computing devices.

10. The method of claim 9 , further comprising:

based at least in part upon the two or more sets of gradient values, computing an overall maximum difference value, which represents a difference between a maximum gradient value and a minimum gradient value;

normalizing the overall maximum difference value by a signal level value to derive a normalized difference value; and

based at least in part upon the normalized difference value, deriving the first metric.

11. The method of claim 9 , wherein generating two or more sets of gradient values comprises:

generating a first set of gradient values reflecting changes in the set of filtered values in a first direction; and

generating a second set of gradient values reflecting changes in the set of filtered values in a second and different direction.

12. The method of claim 11 , wherein computing the first metric comprises:

based at least in part upon the first set of gradient values, determining a first minimum gradient value and a first maximum gradient value;

based at least in part upon the second set of gradient values, determining a second minimum gradient value and a second maximum gradient value; and

based at least in part upon the first minimum gradient value, the first maximum gradient value, the second minimum gradient value, and the second maximum gradient value, determining an overall maximum difference value.

13. The method of claim 12 , wherein:

determining the first minimum gradient value and the first maximum gradient value comprises:

obtaining from the first set of gradient values a first plurality of minimum gradient values;

based at least in part upon the first plurality of minimum gradient values, computing the first minimum gradient value;

obtaining from the first set of gradient values a first plurality of maximum gradient values; and

based at least in part upon the first plurality of maximum gradient values, computing the first maximum gradient value; and

determining the second minimum gradient value and the second maximum gradient value comprises:

obtaining from the second set of gradient values a second plurality of minimum gradient values;

based at least in part upon the second plurality of minimum gradient values, computing the second minimum gradient value;

obtaining from the second set of gradient values a second plurality of maximum gradient values; and

based at least in part upon the second plurality of maximum gradient values, computing the second maximum gradient value.

14. The method of claim 12 , wherein determining the overall maximum difference value comprises:

based at least in part upon the first minimum gradient value and the first maximum gradient value, determining a first maximum difference value for the first direction;

based at least in part upon the second minimum gradient value and the second maximum gradient value, determining a second maximum difference value for the second direction; and

selecting the greater of the first maximum difference value and the second maximum difference value to be the overall maximum difference value.

15. The method of claim 12 , wherein computing the first metric further comprises:

normalizing the overall maximum difference value by a signal level value to derive a normalized difference value; and

based at least in part upon the normalized difference value, deriving the first metric.

16. The method of claim 12 ,

wherein computing the GI metric comprises: multiplying the first metric by the second metric to derive the GI metric.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 22, 2025
From: FOTONATION LIMITED
To: ADEIA IMAGING LLC
Reel/Frame 069986/0597 →
CHANGE OF NAME Recorded Dec 2, 2014
From: DIGITALOPTICS CORPORATION EUROPE LIMITED
To: FOTONATION LIMITED
Reel/Frame 034512/0972 →
CHANGE OF NAME Recorded Aug 11, 2011
From: TESSERA TECHNOLOGIES IRELAND LIMITED
To: DIGITALOPTICS CORPORATION EUROPE LIMITED
Reel/Frame 026738/0151 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2011
From: LIBA, ORLY
To: TESSERA TECHNOLOGIES IRELAND, LTD.
Reel/Frame 025618/0134 →