SPATIAL FILTERING FOR IMAGE SIGNAL PROCESSING
First Claim
1. A method comprisingreceiving an image frame comprising raw pixels, wherein the image frame is acquired using an image sensor, and wherein the raw pixels comprise multi-color raw pixel data;
- applying spatial noise filtering to each raw pixel of the image frame using a spatial noise filter, wherein applying spatial noise filtering comprises;
identifying a first set of pixels from the image frame, the set of pixels comprising a current input pixel and a plurality of same-colored neighboring pixels, wherein the current input pixel has a first spatial location within the image frame and a pixel value, and wherein the neighboring pixels are spatially located about the current input pixel;
identifying a set of filtering coefficients for each filter tap of the spatial noise filter, wherein the set of filtering coefficients comprise a respective filtering coefficient for the each of the first set of pixels;
determining a pixel difference value between the current input pixel and each neighboring pixel of the first set of pixels;
determining an attenuation factor for each filtering coefficient of the spatial noise filter using the pixel difference values;
applying a respective attenuation factor to each filtering coefficient to determine a set of attenuated filtering coefficients;
applying the attenuated filtering coefficients to the first set of pixels to obtain a set of filtered pixel values; and
providing a spatially filtered output value corresponding to the current input pixel by normalizing the sum of the filtered pixel values using the sum of the set of attenuated filtering coefficients.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems and methods are disclosed for applying spatial filtering to raw image data. In one embodiment, a spatial filter may identify an n×n block of pixels from the current image frame, the n×n block including a plurality of neighboring pixels being centered about a current input pixel and being of the same color component as the current input pixel. The spatial filter may include a plurality of filter taps, with one filter tap corresponding to each of the pixels within the n×n block. A set of filtering coefficients for each filter tap, which may be based on a Gaussian function, may be determined. A pixel difference value between the current input pixel and each of the plurality of neighboring pixels in the n×n block are determined, and the pixel differences may be used to determine an attenuation factor for each filter tap. In one embodiment, the attenuation factor is based upon the pixel difference value between the raw input pixel and the neighboring pixel at the filter tap and brightness of the current input pixel. An attenuated set of filtering coefficients may be obtained thereafter by applying the attenuation factors to their respective filtering taps. Subsequently, the attenuated filtering coefficients may be applied to obtain a set of filtered pixel values. By normalizing the sum of the filtered pixel values using the sum of the attenuated filtering coefficients, a spatially filtered output value corresponding to the current input pixel (e.g., located at the center of the n×n block) may be determined.
64 Citations
30 Claims
-
1. A method comprising
receiving an image frame comprising raw pixels, wherein the image frame is acquired using an image sensor, and wherein the raw pixels comprise multi-color raw pixel data; applying spatial noise filtering to each raw pixel of the image frame using a spatial noise filter, wherein applying spatial noise filtering comprises; identifying a first set of pixels from the image frame, the set of pixels comprising a current input pixel and a plurality of same-colored neighboring pixels, wherein the current input pixel has a first spatial location within the image frame and a pixel value, and wherein the neighboring pixels are spatially located about the current input pixel; identifying a set of filtering coefficients for each filter tap of the spatial noise filter, wherein the set of filtering coefficients comprise a respective filtering coefficient for the each of the first set of pixels; determining a pixel difference value between the current input pixel and each neighboring pixel of the first set of pixels; determining an attenuation factor for each filtering coefficient of the spatial noise filter using the pixel difference values; applying a respective attenuation factor to each filtering coefficient to determine a set of attenuated filtering coefficients; applying the attenuated filtering coefficients to the first set of pixels to obtain a set of filtered pixel values; and providing a spatially filtered output value corresponding to the current input pixel by normalizing the sum of the filtered pixel values using the sum of the set of attenuated filtering coefficients. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
12. An image signal processing system comprising
a spatial noise filter for spatially filtering multi-color raw image data acquired using an image sensor, wherein the spatial noise filter is configured to: -
receive a current pixel from a current frame of raw image data, the current pixel being of a first color and having a first value and a spatial location within the current frame; identify a group of neighboring pixels of the first color that are centered about the current pixel, wherein the identified group of neighboring pixels and the current pixel form an n×
n block of pixels of the first color, wherein each pixel of the n×
n block is associated with a respective filter tap of the spatial noise filter;determine an absolute difference value between the current pixel and each neighboring pixel of the n×
n block;determine an inverse noise standard deviation parameter for the current pixel based on a brightness level corresponding to the first value and a radial gain based on the distance between the spatial location of the current pixel and a center point of the current frame; for each neighboring pixel of the n×
n block, determine an attenuation factor based on the inverse noise standard deviation parameter for the current pixel and the absolute difference value between the current pixel and the neighboring pixel, apply the attenuation factor to a filter coefficient at the filter tap associated with the neighboring pixel to obtain an attenuated filter coefficient at the filter tap;apply the attenuated filter coefficients to the pixels within the n×
n block to obtain a filtered pixel value for each pixel of the n×
n block;obtain a sum of the attenuated filter coefficients at each filter tap and a sum of the filtered pixel values; and providing a spatially filtered output value by dividing the sum of the filtered pixel values by the sum of the attenuated filter coefficients. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A spatial filtering method comprising:
-
receiving image frames comprising multi-colored raw pixels, wherein the image frames are acquired using an image sensor; using a spatial noise filter to apply three-dimensional spatial noise filter an input pixel from a current image frame from a first time, wherein applying three-dimensional spatial noise filtering comprises; determining a first spatially filtered value corresponding to the input pixel using pixels from the current image frame from the first time; determining a second spatially filtered value corresponding to the input pixel using pixels from a previous image frame from the second time; and determining a spatially filtered output value for the input pixel based upon an average of the first and second spatially filtered values. - View Dependent Claims (21, 22, 23, 24, 25)
-
-
26. An electronic device comprising:
-
an image sensor configured to acquire raw image data comprising a plurality of raw pixels representative of an image scene; an image signal processing sub-system; and a memory device configured to store the raw image data; a sensor interface configured to provide the raw pixels from the image sensor at least one of the memory or the image signal processing sub-system, wherein the image signal processing sub-system comprises a front-end processing unit comprising; a spatial noise filter comprising a plurality of filter taps and configured to apply spatial filtering to a raw input pixel a current image frame by identifying an n×
n block of pixels from the current image frame, the n×
n block including a plurality of neighboring pixels being centered about the raw input pixel and being of the same color component as the raw input pixel, wherein each pixel of the n×
n block corresponds to a respective one of the plurality of filter taps of the spatial noise filter, identifying a set of filtering coefficients for each filter tap of the spatial noise filter, determining a pixel difference value between the raw input pixel and each of the plurality of neighboring pixels in the n×
n block, attenuating each of the filtering components by determining an attenuation factor for each filter tap, wherein the attenuation factor is based at least partially upon the pixel difference value between the raw input pixel and the neighboring pixel at the filter tap, applying a respective attenuation factor to each filtering coefficient of the spatial noise filter to determine a set of attenuated filtering coefficients, applying the attenuated filtering coefficients to the pixels of the n×
n block to obtain a set of filtered pixel values, and outputting a spatially filtered value by normalizing the sum of the filtered pixel values based upon the sum of the set of attenuated filtering coefficients. - View Dependent Claims (27, 28, 29, 30)
-
Specification