SYSTEM AND METHOD FOR DEMOSAICING IMAGE DATA USING WEIGHTED GRADIENTS
First Claim
1. A method for processing image data, comprising:
- using an image processor;
receiving a raw image pattern acquired using an image sensor, the raw image pattern comprising a plurality of green, red, and blue pixels arranged in accordance with a color filter array;
interpolating a green value for each non-green pixel in the image pattern to obtain a full set of green values for the image data, wherein interpolating the green value for each non-green pixel comprises;
receiving a current non-green pixel;
determining a horizontal energy component and a vertical energy component for the current non-green pixel;
applying horizontal filtering to determine a horizontal component of the interpolated green value for the current non-green pixel;
applying vertical filtering to determine a vertical component of the interpolated green value for the current non-green pixel;
applying a first weighting factor to the horizontal component and a second weighting factor to the vertical component, wherein the first weighting factor is based at least partially upon the ratio of the vertical energy component to the sum of the horizontal and vertical energy components, and wherein the second weighting factor is based at least partially upon the ratio of the horizontal energy component to the sum of the horizontal and vertical energy components; and
summing the weighted vertical and horizontal components to determine the interpolated green value for the current non-green pixel;
interpolating a red value for each blue and green pixel of the raw image pattern to obtain a full set of red values for the image data;
interpolating a blue value for each red and green pixel of the raw image pattern to obtain a full set of blue values for the image data; and
using the full sets of green, red, and blue values to generate a full color image.
1 Assignment
0 Petitions
Accused Products
Abstract
Various techniques are provided herein for the demosaicing of images acquired and processed by an imaging system. The imaging system includes an image signal processor and image sensors utilizing color filter arrays (CFA) for acquiring red, green, and blue color data using one pixel array. In one embodiment, the CFA may include a Bayer pattern. During image signal processing, demosaicing may be applied to interpolate missing color samples from the raw image pattern. In one embodiment, interpolation for the green color channel may include employing edge-adaptive filters with weighted gradients of horizontal and vertical filtered values. The red and blue color channels may be interpolated using color difference samples with co-located interpolated values of the green color channel. In another embodiment, interpolation of the red and blue color channels may be performed using color ratios (e.g., versus color difference data).
-
Citations
30 Claims
-
1. A method for processing image data, comprising:
-
using an image processor; receiving a raw image pattern acquired using an image sensor, the raw image pattern comprising a plurality of green, red, and blue pixels arranged in accordance with a color filter array; interpolating a green value for each non-green pixel in the image pattern to obtain a full set of green values for the image data, wherein interpolating the green value for each non-green pixel comprises; receiving a current non-green pixel; determining a horizontal energy component and a vertical energy component for the current non-green pixel; applying horizontal filtering to determine a horizontal component of the interpolated green value for the current non-green pixel; applying vertical filtering to determine a vertical component of the interpolated green value for the current non-green pixel; applying a first weighting factor to the horizontal component and a second weighting factor to the vertical component, wherein the first weighting factor is based at least partially upon the ratio of the vertical energy component to the sum of the horizontal and vertical energy components, and wherein the second weighting factor is based at least partially upon the ratio of the horizontal energy component to the sum of the horizontal and vertical energy components; and summing the weighted vertical and horizontal components to determine the interpolated green value for the current non-green pixel; interpolating a red value for each blue and green pixel of the raw image pattern to obtain a full set of red values for the image data; interpolating a blue value for each red and green pixel of the raw image pattern to obtain a full set of blue values for the image data; and using the full sets of green, red, and blue values to generate a full color image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. An image signal processing circuit, comprising:
-
an interface configured to receive a raw image pattern based upon image data acquired using an image sensor having a color filter array; and an image processing pipeline configured to perform a set of processing operations on the image data, wherein one of the set of processing operations is a demosaicing operation, and wherein the image processing pipeline comprises demosaicing logic configured to; interpolate a green value for each missing green sample in the image pattern to obtain a full set of green values for the image data, wherein the interpolation the missing green samples comprises; determining horizontal and vertical components of an interpolated green value for a current non-green pixel; applying edge adaptive filtering to a set of pixels neighboring the current non-green pixel to determine one or more weighting coefficients; and applying the one or more weighting coefficients to the horizontal and vertical components and summing the weighted horizontal and vertical components to determine the interpolated green value; interpolate a red value for each missing red sample in the image pattern to obtain a full set of red values for the image data, wherein the interpolation of the missing red samples is based at least partially upon color differences calculated using interpolated green values co-located with red pixels neighboring a current non-red pixel within a 3×
3 pixel array in which the current non-red pixel is located at the center; andinterpolate a blue value for each missing blue sample in the image pattern to obtain a full set of blue values for the image data, wherein the interpolation of the missing blue samples is based at least partially upon color differences calculated using interpolated green values co-located with blue pixels neighboring a current non-blue pixel within a 3×
3 pixel array in which the current non-blue pixel is located at the center. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A system, comprising:
-
an imaging device comprising an image sensor, wherein the image sensor comprises a color filter array defining a color pattern comprising a first-color component, a second-color component, and a third-color component, wherein the color pattern is arranged such that the distribution of the first-color component within the color pattern is twice as great as the distribution of each of the second-color component and the third-color component; and image processing circuitry configured to process an image pattern acquired using the image sensor, wherein the image processing circuitry comprises; demosaicing logic configured to interpolate a first-color value for each missing first-color sample in the image pattern in order to obtain a full set of first-color values for the image data, interpolate a second-color value for each missing second-color sample in the image pattern in order to obtain a full set of second-color values for the image data, and interpolate a third-color value for each missing third-color sample in the image pattern in order to obtain a full set of third-color values for the image data; wherein the interpolation of the missing first-color samples comprises; for a current non-first-color pixel, determining horizontal and vertical components of the interpolated first-color value corresponding to the current non-first-color pixel; applying edge adaptive filtering to a 5×
5 array of pixels to determine horizontal and vertical energy components corresponding to the current non-first-color pixel, wherein the current non-first-color pixel is located at the center of the 5×
5 array;weighting the horizontal component using a ratio of the vertical energy component to the sum of the vertical and horizontal energy components and weighting the vertical component using a ratio of the horizontal energy component to the sum of the vertical and horizontal energy components; and determining the interpolated first-color value for the current non-first-color pixel by summing the weighted horizontal and vertical components. - View Dependent Claims (22, 23, 24, 25)
-
-
26. A method for processing image data, comprising:
-
using an image processor; receiving a raw image pattern based upon image data acquired using an image sensor, the raw image pattern comprising a plurality of green, red, and blue pixels arranged in accordance with a color filter array; and interpolating a green value for each non-green pixel in the image pattern to obtain a full set of green values for the image data, wherein interpolating the green value comprises; using edge adaptive filtering to determine a horizontal energy component, a vertical energy component, a diagonal-positive energy component, and a diagonal negative energy component for a current non-green pixel; determining a horizontal component, a vertical component, a diagonal-positive component, and a diagonal-negative component of an interpolated green value that correspond to the horizontal energy component, the vertical energy component, the diagonal-positive energy component, and the diagonal negative energy component, respectively, for the current non-green pixel; and applying the one or more weighting coefficients to at least two of the horizontal, vertical, diagonal-positive, and diagonal-negative components; and summing the weighted at least two components to determine the interpolated green value for the current non-green pixel; - View Dependent Claims (29, 30)
-
-
27. The method of claim 27, comprising:
-
interpolating a red value for each blue and green pixel of the raw image pattern to obtain a full set of red values for the image data, wherein interpolating the red value is based at least partially on the average of the ratios of the values of at least two red pixels neighboring a current non-red pixel to at least two co-located interpolated green values within a 3×
3 pixel array in which the current non-red pixel is located at the center; andinterpolating a blue value for each red and green pixel of the raw image pattern to obtain a full set of blue values for the image data, wherein interpolating the blue value is based at least partially on the average of the ratios of the values of at least two blue pixels neighboring a current non-blue pixel to at least two co-located interpolated green values within a 3×
3 pixel array in which the current non-blue pixel is located at the center. - View Dependent Claims (28)
-
Specification