IP Library Granted Patent US 8,625,921
Granted Patent B1
US 8,625,921 · App. 12/566,782 · Granted Jan 7, 2014

Method for image processing using local statistics convolution

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,625,921
App. No.
12/566,782
Granted
Jan 7, 2014
Kind
B1
Abstract

A method for filtering a digital image, comprising segmenting the digital image into a plurality of tiles; computing tile histograms corresponding to each of the plurality of tiles; deriving a plurality of tile transfer functions from the tile histograms preferably using 1D convolutions; interpolating a tile transfer function from the plurality of tile transfer functions; and filtering the digital image with the interpolated tile transfer function. Many filters otherwise difficult to conceive or to implement are possible with this method, including an edge-preserving smoothing filter, HDR tone mapping, edge invariant gradient or entropy detection, image upsampling, and mapping coarse data to fine data.

Claims (39)

1. A method for filtering a digital image comprising a first plurality of pixels, the method comprising:

segmenting the first plurality of pixels into a first plurality of regions;

computing a first plurality of regional histograms by calculating a regional histogram corresponding to each region in the first plurality of regions;

computing a first plurality of regional transfer functions by calculating for each region in the first plurality of regions a regional transfer function comprising a convolution of the corresponding regional histogram with a first convolution kernel;

deriving an image transfer function by interpolation of two or more of the first plurality of regional transfer functions; and

filtering the digital image by applying the image transfer function to each of the first plurality of pixels.

2. The method of claim 1 , where the first plurality of pixels comprises the entire digital image.

3. The method of claim 2 , where the regions are non-overlapping, and each pixel of the first plurality of pixels is contained within a region.

4. The method of claim 1 , where the interpolation of the regional transfer functions comprises:

selecting a pixel having a luminosity value from a first region of the first plurality of regions;

computing a plurality of single value results by inputting the selected pixel's luminosity value into each of a second plurality of regional transfer functions, said second plurality including regional transfer functions corresponding to regions not comprising the selected pixel; and

interpolating a resulting value for the selected pixel as a function of the plurality of single value results.

5. The method of claim 1 , where the first convolution kernel is a Gaussian function.

6. The method of claim 1 , where the first convolution kernel is one-dimensional.

7. The method of claim 1 , where the regional transfer function is also a function of a second convolution comprising the convolution of the corresponding regional histogram with a second convolution kernel.

8. The method of claim 7 , where the first convolution kernel is a Gaussian function, and the second convolution kernel is a product of a Gaussian function and a step function.

9. The method of claim 7 , where the second convolution is weighted by pixel luminosity.

10. The method of claim 1 , where the plurality of regional histograms are a function of luminosity, of pixel difference, of color, of depth along a z-axis, or of saturation.

11. A method for filtering a digital image comprising a first plurality of pixels, each pixel having a luminosity value and being within a neighborhood comprising a second plurality of pixels, the neighborhood having an extent, the method comprising:

selecting, using one or more processors programmed to perform the method, a pixel from the first plurality of pixels;

calculating, using the one or more processors, a new luminosity value for the selected pixel as a function of the ratio of the number of pixels in the neighborhood that fulfill a given condition to the total number of pixels in the neighborhood, the condition comprising a luminance comparison against said pixel;

storing, using the one or more processors, the new luminosity value for the selected pixel; and

repeating the calculating step and the storing step until a new luminosity value for each of the first plurality of pixels has been calculated.

12. The method of claims 11 , where the first plurality of pixels comprises the entire digital image.

13. The method of claims 11 , where the extent of the neighborhood is defined by a distance function.

14. The method of claim 13 , where the distance function comprises one or more of a spatial distance, a vector difference, or a colormetrical distance.

15. The method of claim 13 , where said pixel numbers in the ratio are weighted, pixels with a low distance to the selected pixel receiving a high weight and pixels with a high distance to the selected pixel receiving a low weight.

16. A program storage device readable by a machine, tangibly embodying a program of instructions executable by the machine to perform method steps to transform a digital image comprising a first plurality of pixels, said method steps comprising:

segmenting the first plurality of pixels into a first plurality of regions;

computing a first plurality of regional histograms by calculating a regional histogram corresponding to each region in the first plurality of regions;

computing a first plurality of regional transfer functions by calculating for each region in the first plurality of regions a regional transfer function comprising a convolution of the corresponding regional histogram with a first convolution kernel;

deriving an image transfer function by interpolation of two or more of the first plurality of regional transfer functions; and

filtering the digital image by applying the image transfer function to each of the first plurality of pixels.

17. A method for filtering a digital image comprising steps for:

segmenting the digital image into a plurality of tiles;

computing tile histograms corresponding to each of the plurality of tiles;

deriving a plurality of tile transfer functions from the tile histograms;

interpolating a tile transfer function from the plurality of tile transfer functions; and

filtering the digital image with the interpolated tile transfer function.

Assignments (2)
CHANGE OF NAME Recorded Oct 2, 2017
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 044101/0299 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 7, 2013
From: NIK SOFTWARE, INC.
To: GOOGLE INC.
Reel/Frame 031372/0256 →