US20070035637A1 - Method for color filter array demosaicking - Google Patents

Method for color filter array demosaicking Download PDF

Info

Publication number
US20070035637A1
US20070035637A1 US11/501,674 US50167406A US2007035637A1 US 20070035637 A1 US20070035637 A1 US 20070035637A1 US 50167406 A US50167406 A US 50167406A US 2007035637 A1 US2007035637 A1 US 2007035637A1
Authority
US
United States
Prior art keywords
pixel
value
formula
green
interpolating
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US11/501,674
Inventor
Xiaoguang Feng
Benhao Zhang
Jing Hu
Fu-Huei Lin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Spreadtrum Communications Inc
Original Assignee
Spreadtrum Communications Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Spreadtrum Communications Corp filed Critical Spreadtrum Communications Corp
Assigned to SPREADTRUM COMMUNICATIONS CORPORATION reassignment SPREADTRUM COMMUNICATIONS CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: LIN, FU-HUEI, FENG, XIAOGUANG, HU, JING, ZHANG, BENHAO
Publication of US20070035637A1 publication Critical patent/US20070035637A1/en
Assigned to SPREADTRUM COMMUNICATIONS INC. reassignment SPREADTRUM COMMUNICATIONS INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SPREADTRUM COMMUNICATIONS CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4015Image demosaicing, e.g. colour filter arrays [CFA] or Bayer patterns
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2209/00Details of colour television systems
    • H04N2209/04Picture signal generators
    • H04N2209/041Picture signal generators using solid-state devices
    • H04N2209/042Picture signal generators using solid-state devices having a single pick-up sensor
    • H04N2209/045Picture signal generators using solid-state devices having a single pick-up sensor using mosaic colour filter
    • H04N2209/046Colour interpolation to calculate the missing colour values

Definitions

  • This invention is concerned with image creation in digital cameras, and in particular, with a color filter array (CFA) interpolation method.
  • CFA color filter array
  • CFA color filter array
  • One interpolation method based on edge detection, requires that interpolation proceed along the direction of the edge, rather than perpendicular to the edge direction, in order to ensure that the interpolation result edge is clear.
  • this interpolation method often produces obvious color artifacts at the high frequency image details.
  • This invention is to provide an interpolation method for CFA demosaicking. This method combines the advantages of the interpolation method based on edge detection and the interpolation method which utilizes the original color of CFA pixel as reference, in order to ensure that edges in the output image are clear and that there are no obvious color artifacts in the output color image.
  • the Bayer CFA is referred to as the CFA pattern.
  • CFA pattern may also be used within the principle of this invention and therefore should fall into the category of this invention.
  • References to the Bayer CFA herein should be understood to be merely an example.
  • this invention provides a method for interpolating color values in a CFA pattern.
  • the method for interpolating the green value at red or blue pixels comprises the steps described below.
  • I i is the pixel value of each neighboring pixel and G 13 is the green value of the central pixel.
  • the green value at the central pixel is interpolated by the five neighboring pixels which have this pixel as the center in the horizontal direction.
  • G 13 - I 11 + 2 ⁇ I 12 + 2 ⁇ I 13 + 2 ⁇ I 14 - I 15 4
  • I i is the pixel value of each neighboring pixel and G 13 is the green value of the central pixel.
  • the green value at the central pixel is interpolated by the nine neighboring pixels which have this pixel as the center both in the vertical direction and in the horizontal direction.
  • G 13 - I 3 + 2 ⁇ I 8 + 2 ⁇ I 12 + 2 ⁇ I 14 - I 15 - I 11 + 2 ⁇ I 18 + 4 ⁇ I 13 - I 23 4
  • I i is the pixel value of each neighboring pixel and G 13 is the green value of the central pixel 13.
  • the interpolation method in this invention will produce high-quality output images with clear edges and no color artifacts. It is computationally efficient and appropriate for real-time applications, in that only a 5 ⁇ 5 linear interpolation template is calculated and applied for each pixel.
  • FIG. 1 is a 5 ⁇ 5 original Bayer CFA image in which the center is a red pixel.
  • FIG. 2 is the green value interpolation template in the vertical direction.
  • FIG. 3 is the green value interpolation template in the horizontal direction.
  • FIG. 4 is the green value interpolation template in both vertical and horizontal directions.
  • FIG. 5 is the “#”-shaped blue value interpolation template.
  • FIG. 6 is a 5 ⁇ 5 original Bayer CFA image in which the center is a green pixel.
  • FIG. 7 is the double-cross-shaped blue value interpolation template when the center is a green pixel.
  • FIG. 8 is the double-cross-shaped red value interpolation template when the center is a green pixel.
  • FIG. 1 shows a 5 ⁇ 5 Bayer CRA image in which the center is a red pixel. The method is implemented differently depending on whether the center is a red, blue or green pixel. The following will describe the method for each situation.
  • Step 1 interpolate the green value at the central pixel 13.
  • I i is the pixel value at each pixel in FIG. 1
  • ⁇ h is the second order gradient value in the horizontal direction
  • ⁇ v is the second order gradient value in the vertical direction.
  • edge direction estimation method described herein is provided merely as an example and should not be construed as limiting the scope of the invention. Other edge direction estimation methods can also be applied to this invention and therefore should fall into the category of this invention.
  • R 8 and R 18 are unknown, they can be estimated by the mean of the red values of the upper and lower neighbor pixels.
  • R 8 R 3 + R 13 2
  • R 18 R 13 + R 23 2
  • the green value of the central pixel 13 can be interpolated by the five neighboring pixels 3, 8, 13, 18, 23, which have pixel 13 as the center at the vertical direction.
  • I i is the pixel value at each pixel in FIG. 1
  • G 13 is the green value at the central pixel 13.
  • the formula [3] can be represented as the linear interpolation template in FIG. 2 .
  • Each value on the template multiplied by 1 ⁇ 4 is the interpolation coefficient of the corresponding pixel in formula [3] (e.g. the coefficient of the pixel 3 in the formula [3] is ⁇ 1 ⁇ 4, while that of the pixel 8 is 2/4).
  • I i is the pixel value at each pixel in FIG. 1
  • G 13 is the green value at the central pixel 13.
  • the formula [4] can be represented as the linear interpolation template in FIG. 3 .
  • Each value on the template multiplied by 1 ⁇ 4 is the interpolation coefficient of the corresponding pixel in formula [4] (e.g. the coefficient of the pixel 11 in the formula [4] is ⁇ 1 ⁇ 4, while that of the pixel 12 is 2/4).
  • I i is the pixel value at each pixel in FIG. 1
  • G 13 is the green value at the central pixel 13.
  • the formula [5] can be represented as the linear interpolation template in FIG. 4 .
  • the value at each pixel on the template multiplied by 1 ⁇ 4 is the interpolation coefficient of the corresponding pixel in formula [4] (e.g. the coefficient of the pixel 11 in the formula [5] is ⁇ 1 ⁇ 4, while that of the pixel 12 is 2/4).
  • Step 2 interpolate the blue value at the central pixel 13.
  • the blue value may then be calculated in a similar fashion.
  • the original CFA color reference the second method described in the background section.
  • the color difference of its blue value and green value should be equal to the mean of the blue value and the green value differences of its four neighboring pixels.
  • G 7 , G 9 , G 17 , and G 19 can be estimated by its own neighboring pixel (using the same “color difference mean” method.)
  • G 7 B 7 + ( G 2 - B 7 ) + ( G 6 - B 7 ) + ( G 8 - B 7 + B 9 2 ) + ( G 12 - B 7 + B 17 2 ) 4
  • G 9 B 9 + ( G 4 - B 9 ) + ( G 10 - B 9 ) + ( G 8 - B 7 + B 9 2 ) + ( G 14 - B 9 + B 19 2 ) 4
  • G 17 B 17 + ( G 22 - B 17 ) + ( G 16 - B 17 ) + ( G 18 - B 17 + B 19 2 ) + ( G 12 - B 7 + B 17 2 ) 4
  • G 19 B 19 + ( G 24 - B 19 ) + ( G 20 - B 19 ) + ( G 18 - B 17 + B 19 2 ) + ( G 14 - B 9 + B 19 2
  • B 13 G 13 + 1 16 ⁇ ( - ( I 2 + I 4 + I 4 + I 10 + I 16 + I 20 + I 22 + I 24 ) - 2 * ( I 8 + I 12 + I 14 + I 18 ) + 4 * ( I 7 + I 9 + I 17 + I 19 ) ) [ 6 ]
  • the formula [6] can be represented as the “#”-shaped interpolation template in FIG. 5 .
  • Each value on the template multiplied by 1/16 is the interpolation coefficient of the pixel in formula [6] respectively (e.g. the coefficient of the pixel 7 in the formula [6] is 4/16, while that of the pixel 8 is ⁇ 2/16).
  • the method of interpolating the green value at the blue pixel is the same as that of interpolating the green value at the red pixel and therefore will not be repeated herein.
  • the method of interpolating the red value at a blue pixel is the same as that of interpolating the blue value at a red pixel:
  • R 13 G 13 +A, where R 13 is the red value at the pixel 13 to be calculated, G 13 is the already interpolated green value at the pixel 13, and A is interpolated by the 16 neighboring pixels 2, 4, 6, 7, 8, 9, 10, 12, 14, 16, 17, 18, 19, 20, 22, 24, which represent a “#” shape centered at the pixel 13.
  • A 1 16 ⁇ ( - ( I 2 + I 4 + I 6 + I 10 + I 16 + I 20 + I 22 + I 24 ) - 2 * ( I 8 + I 12 + I 14 + I 18 ) + 4 * ( I 7 + I 9 + I 17 + I 19 + ) )
  • I i is the value at the each pixel.
  • G 8 and G 18 can be estimated by its own neighboring pixel (the same “color mean idea”).
  • G 8 B 8 + ( G 3 - B 8 ) + ( G 7 - B 6 + B 8 2 ) + ( G 9 - B 8 + B 10 2 ) + ( G 13 - B 8 + B 18 2 ) 4
  • G 18 B 18 + ( G 23 - B 18 ) + ( G 17 - B 16 + B 18 2 ) + ( G 19 - B 18 + B 20 2 ) + ( G 13 - B 8 + B 18 2 ) 4
  • B 13 G 13 + 1 8 ⁇ ( - ( I 3 + I 7 + I 9 + I 17 + I 19 + I 23 ) + 1 2 * ( I 6 + I 10 + I 16 + I 20 ) + 3 * ( I 8 + I 18 ) - 2 * I 13 ) [ 7 ]
  • B 13 G 13 +A
  • B 13 is the blue value at the central pixel 13 which is to be calculated
  • G 13 is the green value at this pixel
  • A is interpolated from the neighboring 13 pixels 3, 6, 7, 8, 9, 10, 13, 16, 17, 18, 19, 20, 23, which represent a double cross shape centered at the pixel 13.
  • the formula [7] can be represented as the double cross shaped interpolation template in FIG. 7 .
  • Each value on the template multiplied by 1 ⁇ 8 is the interpolation coefficient of the corresponding pixel in formula [7] (e.g. the coefficient of the pixel 7 in the formula [7] is ⁇ 1 ⁇ 8, while that of the pixel 8 is 3 ⁇ 8).
  • R 13 G 13 +A
  • R 13 the red value at the central pixel 13 which is to be calculated
  • G 13 the green value at this pixel
  • A is interpolated from the neighboring 13 pixels 2, 4, 7, 9, 11, 12, 13, 14, 15, 17, 19, 22, 24, which represent a double cross shape centered at the pixel 13.
  • A 1 8 ⁇ ( - ( I 7 + I 9 + I 11 + I 15 + I 17 + I 19 ) + 1 2 * ( I 2 + I 4 + I 22 + I 24 ) + 3 * ( I 12 + I 14 ) - 2 * I 13 ) [ 8 ]
  • the formula [8] can be represented as the double cross shaped interpolation template in FIG. 8 .
  • the value at each pixel on the template multiplied by 1 ⁇ 8 is the interpolation coefficient of the corresponding pixel in formula [8] (e.g. the coefficient of the pixel 7 in the formula [7] is ⁇ 1 ⁇ 8, while that of the pixel 12 is 3 ⁇ 8).

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Color Television Image Signal Generators (AREA)
  • Image Processing (AREA)

Abstract

This invention provides a method of interpolating a color filter array (CFA), which combines the advantages of the interpolation method based on edge detection and the interpolation method which utilizes the original color of each CFA pixel as reference, in order to ensure that the edges of the output image are clear and there are no obvious color artifacts. The interpolation method in this invention is computationally efficient and appropriate for real-time applications, in that only a 5x5 linear interpolation template is calculated and applied for each pixel.

Description

    FIELD OF THE INVENTION
  • This invention is concerned with image creation in digital cameras, and in particular, with a color filter array (CFA) interpolation method.
  • BACKGROUND
  • Most digital cameras utilize a structure of single image sensors fitted with a color filter array (CFA), in which there is only one color value at each pixel to capture a color representation of a scene using a single sensor. One such CFA is described in U.S. Pat. No. 3,971,065 to Bayer, which is hereby incorporated by reference. In the Bayer CFA, each pixel only captures one color: red, green or blue. To render a full-color image, an interpolation process is required. The efficacy of the interpolation algorithm determines the quality of the output image.
  • One interpolation method, based on edge detection, requires that interpolation proceed along the direction of the edge, rather than perpendicular to the edge direction, in order to ensure that the interpolation result edge is clear. However, this interpolation method often produces obvious color artifacts at the high frequency image details.
  • Under another interpolation method, which utilizes the original color of each CFA pixel as reference, the CFA color values corresponding to the original pixels before the interpolation process are considered to be correct, and therefore are used as the reference for the interpolation. However, this method often produces obvious zigzag effects at the image edges.
  • SUMMARY OF THE INVENTION
  • This invention is to provide an interpolation method for CFA demosaicking. This method combines the advantages of the interpolation method based on edge detection and the interpolation method which utilizes the original color of CFA pixel as reference, in order to ensure that edges in the output image are clear and that there are no obvious color artifacts in the output color image.
  • In one embodiment as presented in the following part of this invention, the Bayer CFA is referred to as the CFA pattern. However, as a person skilled in the art will recognize, other CFA patterns may also be used within the principle of this invention and therefore should fall into the category of this invention. References to the Bayer CFA herein should be understood to be merely an example.
  • In order to solve the above problem, this invention provides a method for interpolating color values in a CFA pattern. The method for interpolating the green value at red or blue pixels comprises the steps described below.
  • First, use edge detection methods to decide the direction of green value interpolation at red or blue pixels.
  • If the interpolation should be applied in the vertical direction, the green value at the center pixel can be interpolated by 5 neighboring pixels which have this pixel as the center in the vertical direction: G 13 = - I 3 + 2 I 8 + 2 I 13 + 2 I 18 - I 23 4
  • where Ii is the pixel value of each neighboring pixel and G13 is the green value of the central pixel.
  • If the interpolation should be applied in the horizontal direction, the green value at the central pixel is interpolated by the five neighboring pixels which have this pixel as the center in the horizontal direction. G 13 = - I 11 + 2 I 12 + 2 I 13 + 2 I 14 - I 15 4
  • where Ii is the pixel value of each neighboring pixel and G13 is the green value of the central pixel.
  • If the interpolation should be applied in both vertical and horizontal directions, the green value at the central pixel is interpolated by the nine neighboring pixels which have this pixel as the center both in the vertical direction and in the horizontal direction. G 13 = - I 3 + 2 I 8 + 2 I 12 + 2 I 14 - I 15 - I 11 + 2 I 18 + 4 I 13 - I 23 4
  • where Ii is the pixel value of each neighboring pixel and G13 is the green value of the central pixel 13.
  • The interpolation method in this invention will produce high-quality output images with clear edges and no color artifacts. It is computationally efficient and appropriate for real-time applications, in that only a 5×5 linear interpolation template is calculated and applied for each pixel.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a 5×5 original Bayer CFA image in which the center is a red pixel.
  • FIG. 2 is the green value interpolation template in the vertical direction.
  • FIG. 3 is the green value interpolation template in the horizontal direction.
  • FIG. 4 is the green value interpolation template in both vertical and horizontal directions.
  • FIG. 5 is the “#”-shaped blue value interpolation template.
  • FIG. 6 is a 5×5 original Bayer CFA image in which the center is a green pixel.
  • FIG. 7 is the double-cross-shaped blue value interpolation template when the center is a green pixel.
  • FIG. 8 is the double-cross-shaped red value interpolation template when the center is a green pixel.
  • DESCRIPTION OF THE PREFERRED EMBODIMENT
  • FIG. 1 shows a 5×5 Bayer CRA image in which the center is a red pixel. The method is implemented differently depending on whether the center is a red, blue or green pixel. The following will describe the method for each situation.
  • 1. Interpolate the green value and blue value at the red pixel (e.g. The central pixel 13, as shown on FIG. 1)
  • 1) Step 1, interpolate the green value at the central pixel 13.
  • First, determine the direction of green value interpolation of the central pixel 13 (horizontal, vertical or both) by determining whether there is an edge present. First, gradients near the pixel are calculated according to:
    Δh=|2×I 13 −I 11 −I 15 |+|I 12 −I 14|  [1]
    Δv=|2×I 13 −I 3 −I 23 |+|I 8 −I 18|  [2]
  • where Ii is the pixel value at each pixel in FIG. 1, Δh is the second order gradient value in the horizontal direction, and Δv is the second order gradient value in the vertical direction.
  • If Δh−Δv is larger than a positive threshold T, interpolate in the vertical direction;
  • If Δh−Δv is smaller than a negative threshold −T, interpolate in the horizontal direction;
  • In other cases, interpolate in both directions.
  • The edge direction estimation method described herein is provided merely as an example and should not be construed as limiting the scope of the invention. Other edge direction estimation methods can also be applied to this invention and therefore should fall into the category of this invention.
  • 1.1) If Δh−Δv>T
  • Based on the “original CFA color reference” interpolation method (the second method described in the background section), we use the original red value at the center as a reference. The color difference of the green value and red value should be equal to the mean of the green value and the red value differences of the upper and lower neighbor pixels. G 13 - R 13 = ( G 8 - R 8 ) + ( G 18 - R 18 ) 2
  • Simplifying the formula yields: G 13 = R 13 + ( G 8 - R 8 ) + ( G 18 - R 18 ) 2
  • Where R8 and R18 and are unknown, they can be estimated by the mean of the red values of the upper and lower neighbor pixels. R 8 = R 3 + R 13 2 R 18 = R 13 + R 23 2
  • Simplifying the formula, we get: G 13 = - I 3 + 2 I 8 + 2 I 13 + 2 I 18 - I 23 4 [ 3 ]
  • Therefore, it can be seen that the green value of the central pixel 13 can be interpolated by the five neighboring pixels 3, 8, 13, 18, 23, which have pixel 13 as the center at the vertical direction. Herein Ii is the pixel value at each pixel in FIG. 1, and G13 is the green value at the central pixel 13.
  • The formula [3] can be represented as the linear interpolation template in FIG. 2. Each value on the template multiplied by ¼ is the interpolation coefficient of the corresponding pixel in formula [3] (e.g. the coefficient of the pixel 3 in the formula [3] is −¼, while that of the pixel 8 is 2/4).
  • 1.2) Similarly, if Δh−Δv<−T, the green value of the central pixel 13 should be interpolated by the five neighboring pixels 11, 12, 13, 14, 15 which have pixel 13 as the center in the horizontal direction. G 13 = - I 11 + 2 I 12 + 2 I 13 + 2 I 14 - I 15 4 [ 4 ]
  • Herein Ii is the pixel value at each pixel in FIG. 1, and G13 is the green value at the central pixel 13.
  • The formula [4] can be represented as the linear interpolation template in FIG. 3. Each value on the template multiplied by ¼ is the interpolation coefficient of the corresponding pixel in formula [4] (e.g. the coefficient of the pixel 11 in the formula [4] is −¼, while that of the pixel 12 is 2/4).
  • 1.3) Similarly, if |Δh−Δv|<T, the green value of the central pixel 13 should be interpolated by nine pixels 3, 8, 11, 12, 13, 14, 15, 18, 23 which have pixel 13 as the center in both directions. G 13 = - I 3 + 2 I 8 + 2 I 12 + 2 I 14 - I 15 - I 11 + 2 I 18 + 4 I 13 - I 23 4 [ 5 ]
  • Herein Ii is the pixel value at each pixel in FIG. 1, and G13 is the green value at the central pixel 13.
  • The formula [5] can be represented as the linear interpolation template in FIG. 4. The value at each pixel on the template multiplied by ¼ is the interpolation coefficient of the corresponding pixel in formula [4] (e.g. the coefficient of the pixel 11 in the formula [5] is −¼, while that of the pixel 12 is 2/4).
  • 2) Step 2: interpolate the blue value at the central pixel 13.
  • The blue value may then be calculated in a similar fashion. Based on the “original CFA color reference” interpolation method (the second method described in the background section), we use the original green value at the center as a reference. The color difference of its blue value and green value should be equal to the mean of the blue value and the green value differences of its four neighboring pixels. B 13 - G 13 = i = 7 , 9 , 17 , 19 ( B i - G i ) 4
  • Simplifying the formula, we get: B 13 - G 13 + i = 7 , 9 , 17 , 19 ( B i - G i ) 4
  • Herein G7, G9, G17, and G19 can be estimated by its own neighboring pixel (using the same “color difference mean” method.) G 7 = B 7 + ( G 2 - B 7 ) + ( G 6 - B 7 ) + ( G 8 - B 7 + B 9 2 ) + ( G 12 - B 7 + B 17 2 ) 4 G 9 = B 9 + ( G 4 - B 9 ) + ( G 10 - B 9 ) + ( G 8 - B 7 + B 9 2 ) + ( G 14 - B 9 + B 19 2 ) 4 G 17 = B 17 + ( G 22 - B 17 ) + ( G 16 - B 17 ) + ( G 18 - B 17 + B 19 2 ) + ( G 12 - B 7 + B 17 2 ) 4 G 19 = B 19 + ( G 24 - B 19 ) + ( G 20 - B 19 ) + ( G 18 - B 17 + B 19 2 ) + ( G 14 - B 9 + B 19 2 ) 4
  • The formula can be simplified as: B 13 = G 13 + 1 16 ( - ( I 2 + I 4 + I 4 + I 10 + I 16 + I 20 + I 22 + I 24 ) - 2 * ( I 8 + I 12 + I 14 + I 18 ) + 4 * ( I 7 + I 9 + I 17 + I 19 ) ) [ 6 ]
  • Formula [6] can then be simplified as B13=G13+A, where B13 is the blue value of the central pixel 13 which is to be calculated and A can be interpolated from the 16 pixels 2, 4, 6, 7, 8, 9, 10, 12, 14, 16, 17, 18, 19, 20, 22, 24, which represent a “#” shape centered at the pixel 13.
  • The formula [6] can be represented as the “#”-shaped interpolation template in FIG. 5. Each value on the template multiplied by 1/16 is the interpolation coefficient of the pixel in formula [6] respectively (e.g. the coefficient of the pixel 7 in the formula [6] is 4/16, while that of the pixel 8 is − 2/16).
  • 2. Interpolate the green value and red value at the blue pixel:
  • The method of interpolating the green value at the blue pixel is the same as that of interpolating the green value at the red pixel and therefore will not be repeated herein.
  • The method of interpolating the red value at a blue pixel is the same as that of interpolating the blue value at a red pixel:
  • R13=G13+A, where R13 is the red value at the pixel 13 to be calculated, G13 is the already interpolated green value at the pixel 13, and A is interpolated by the 16 neighboring pixels 2, 4, 6, 7, 8, 9, 10, 12, 14, 16, 17, 18, 19, 20, 22, 24, which represent a “#” shape centered at the pixel 13. A = 1 16 ( - ( I 2 + I 4 + I 6 + I 10 + I 16 + I 20 + I 22 + I 24 ) - 2 * ( I 8 + I 12 + I 14 + I 18 ) + 4 * ( I 7 + I 9 + I 17 + I 19 + ) )
  • where Ii is the value at the each pixel.
  • 3. To interpolate Red and Blue values at G pixel (in G R G R line), as the center pixel in FIG. 6.
  • 3.1 To interpolate the blue value at pixel 13.
  • Based on the “original CFA color reference” interpolation method (the second method described in the background section), we use the original green value at the center pixel as a reference. The color difference of the blue value and green value should be equal to the mean of the blue value and the green value differences of the two neighboring pixels. B 13 = G 13 + i = 8 , 18 ( B i - G i ) 2
  • Herein G8 and G18 can be estimated by its own neighboring pixel (the same “color mean idea”). G 8 = B 8 + ( G 3 - B 8 ) + ( G 7 - B 6 + B 8 2 ) + ( G 9 - B 8 + B 10 2 ) + ( G 13 - B 8 + B 18 2 ) 4 G 18 = B 18 + ( G 23 - B 18 ) + ( G 17 - B 16 + B 18 2 ) + ( G 19 - B 18 + B 20 2 ) + ( G 13 - B 8 + B 18 2 ) 4
  • The above formula can be simplified as: B 13 = G 13 + 1 8 ( - ( I 3 + I 7 + I 9 + I 17 + I 19 + I 23 ) + 1 2 * ( I 6 + I 10 + I 16 + I 20 ) + 3 * ( I 8 + I 18 ) - 2 * I 13 ) [ 7 ]
  • Herein B13=G13+A, where B13 is the blue value at the central pixel 13 which is to be calculated, G13 is the green value at this pixel, and A is interpolated from the neighboring 13 pixels 3, 6, 7, 8, 9, 10, 13, 16, 17, 18, 19, 20, 23, which represent a double cross shape centered at the pixel 13.
  • The formula [7] can be represented as the double cross shaped interpolation template in FIG. 7. Each value on the template multiplied by ⅛ is the interpolation coefficient of the corresponding pixel in formula [7] (e.g. the coefficient of the pixel 7 in the formula [7] is −⅛, while that of the pixel 8 is ⅜).
  • 3.2) Similarly, interpolate the red value at the central pixel 13.
  • Herein R13=G13+A, where R13 is the red value at the central pixel 13 which is to be calculated, G13 is the green value at this pixel, and A is interpolated from the neighboring 13 pixels 2, 4, 7, 9, 11, 12, 13, 14, 15, 17, 19, 22, 24, which represent a double cross shape centered at the pixel 13. A = 1 8 ( - ( I 7 + I 9 + I 11 + I 15 + I 17 + I 19 ) + 1 2 * ( I 2 + I 4 + I 22 + I 24 ) + 3 * ( I 12 + I 14 ) - 2 * I 13 ) [ 8 ]
  • The formula [8] can be represented as the double cross shaped interpolation template in FIG. 8. The value at each pixel on the template multiplied by ⅛ is the interpolation coefficient of the corresponding pixel in formula [8] (e.g. the coefficient of the pixel 7 in the formula [7] is −⅛, while that of the pixel 12 is ⅜).
  • 4. To interpolate Red and Blue values at green pixel in B G B G line is the same as to interpolate red and blue values in G R G R line.
  • The exemplary embodiments described herein are provided merely to illustrate the principles of the invention and should not be construed as limiting the scope of the invention. Any improvement or modification of this invention by a person skilled in the art based on the principle of this invention should fall into the category of this invention.

Claims (6)

1. A method for interpolating pixel values during CFA demosaicking comprising:
determining a direction of green value interpolation;
if interpolating vertically, interpolating the green value according to the formula
G 13 = - I 3 + 2 × I 8 + 2 × I 13 + 2 × I 18 - I 23 4
where Ii is the pixel value of each neighboring pixel and G13 is the green value of the central pixel;
if interpolating horizontally, interpolating the green value according to the formula
G 13 = - I 11 + 2 × I 12 + 2 × I 13 + 2 × I 14 - I 15 4
where Ii is the pixel value of each neighboring pixel and G13 is the green value of the central pixel; and
if interpolating both horizontally and vertically, interpolating the green value according to the formula
G 13 = - I 3 + 2 × I 8 + 2 × I 12 + 2 × I 14 - I 15 - I 11 + 2 × I 18 + 4 × I 13 - I 23 4
where Ii is the pixel value of each neighboring pixel and G13 is the green value of the central pixel.
2. The method of claim 1, wherein the step of determining a direction of green value interpolation comprises the steps of:
determining a second order gradient value in the horizontal direction according to the formula

Δh=|2×I 13 −I 11 I 15 |+|I 12 −I 14|;
determining a second order gradient value in the vertical direction according to the formula

Δv=|2×I 13 −I 3 −I 23 |+|I 8 −I 18|;
interpolating vertically if Δh−Δv is larger than a positive threshold;
interpolating horizontally if Δh−Δv is smaller than a negative threshold; and
interpolating horizontally and vertically in all other cases.
3. The method of claim 1, further comprising the step of:
interpolating the blue value at a red pixel according to the formula

B 13 =G 13 +A,
where B13 is the blue value of the central pixel 13 which is to be calculated, G13 is the green value of the central pixel 13 and A is calculated according to the formula
A = 1 16 ( - ( I 2 + I 4 + I 6 + I 10 + I 16 + I 20 + I 22 + I 24 ) - 2 × ( I 8 + I 12 + I 14 + I 18 ) + 4 × ( I 7 + I 9 + I 17 + I 19 ) )
where Ii is the value at the each pixel.
4. The method of claim 1, further comprising the step of:
interpolating the red value at a blue pixel according to the formula

R 13 =G 13 +A,
where R13 is the red value of the central pixel 13 which is to be calculated, G13 is the green value of the central pixel 13 and A is calculated according to the formula
A = 1 16 ( - ( I 2 + I 4 + I 6 + I 10 + I 16 + I 20 + I 22 + I 24 ) - 2 × ( I 8 + I 12 + I 14 + I 18 ) + 4 × ( I 7 + I 9 + I 17 + I 19 ) )
where Ii is the value at the each pixel.
5. The method of claim 1, further comprising the steps of:
interpolating the red value at a green pixel according to the formula

R 13 =G 13 +A,
where R13 is the red value of the central pixel 13 which is to be calculated, G13 is the green value of the central pixel 13 and A is calculated according to the formula
A = 1 8 ( - ( I 7 + I 9 + I 11 + I 15 + I 17 + I 19 ) + 1 2 * ( I 2 + I 4 + I 22 + I 24 ) + 3 * ( I 12 + I 14 ) - 2 * I 13 )
where Ii is the value at the each pixel.
6. The method of claim 1, further comprising the steps of:
interpolating the blue value at a green pixel according to the formula

B 13 =G 13 +A,
where B13 is the blue value of the central pixel 13 which is to be calculated, G13 is the green value of the central pixel 13 and A is calculated according to the formula
A = 1 8 ( - ( I 3 + I 7 + I 9 + I 17 + I 19 + I 23 ) + 1 2 * ( I 6 + I 10 + I 16 + I 20 ) + 3 * ( I 8 + I 18 ) - 2 * I 13 )
where Ii is the value at the each pixel.
US11/501,674 2005-08-10 2006-08-08 Method for color filter array demosaicking Abandoned US20070035637A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNB2005100286635A CN100414964C (en) 2005-08-10 2005-08-10 Color filter lens array interpolation method
CN200510028663.5 2005-08-10

Publications (1)

Publication Number Publication Date
US20070035637A1 true US20070035637A1 (en) 2007-02-15

Family

ID=37722338

Family Applications (1)

Application Number Title Priority Date Filing Date
US11/501,674 Abandoned US20070035637A1 (en) 2005-08-10 2006-08-08 Method for color filter array demosaicking

Country Status (2)

Country Link
US (1) US20070035637A1 (en)
CN (1) CN100414964C (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100104178A1 (en) * 2008-10-23 2010-04-29 Daniel Tamburrino Methods and Systems for Demosaicing
US20100104214A1 (en) * 2008-10-24 2010-04-29 Daniel Tamburrino Methods and Systems for Demosaicing
US20100182464A1 (en) * 2009-01-21 2010-07-22 Rastislav Lukac Joint Automatic Demosaicking And White Balancing
US20100321543A1 (en) * 2008-02-07 2010-12-23 Nxp B.V. Method and device for reconstructing a color image
US20110032269A1 (en) * 2009-08-05 2011-02-10 Rastislav Lukac Automatically Resizing Demosaicked Full-Color Images Using Edge-Orientation Maps Formed In The Demosaicking Process
CN101674490B (en) * 2009-09-23 2011-06-01 电子科技大学 Color image color constant method based on retina vision mechanism
CN102262777A (en) * 2011-08-08 2011-11-30 格科微电子(上海)有限公司 Image edge enhancement method
US20160284053A1 (en) * 2015-03-27 2016-09-29 Intel Corporation Edge sensing measure for raw image processing

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5053654B2 (en) * 2007-02-09 2012-10-17 オリンパスイメージング株式会社 Image processing apparatus and method and electronic camera
CN101399996B (en) * 2007-09-27 2010-09-29 比亚迪股份有限公司 Color filter lens array interpolation method
CN101452573B (en) * 2007-12-04 2013-01-30 比亚迪股份有限公司 Image edge enhancing method
CN101827273B (en) * 2009-03-02 2013-03-20 华晶科技股份有限公司 A color rendition method of image
CN102170572A (en) * 2010-06-22 2011-08-31 上海盈方微电子有限公司 Novel edge adaptive color filter array (CFA) color image interpolation method
CN104159091B (en) * 2014-07-30 2016-08-24 广东顺德中山大学卡内基梅隆大学国际联合研究院 A kind of color interpolation method based on rim detection
CN104537625A (en) * 2015-01-05 2015-04-22 中国科学院光电技术研究所 Bayer color image interpolation method based on direction flag bits
CN107517367B (en) * 2017-07-28 2019-11-01 建荣半导体(深圳)有限公司 Baeyer area image interpolation method, device, picture processing chip and storage device
CN113259635B (en) * 2021-06-15 2021-10-01 珠海亿智电子科技有限公司 Demosaicing method, demosaicing device, demosaicing equipment and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020047907A1 (en) * 2000-08-30 2002-04-25 Nikon Corporation Image processing apparatus and storage medium for storing image processing program
US20040218073A1 (en) * 2003-04-30 2004-11-04 Nokia Corporation Color filter array interpolation
US20050146629A1 (en) * 2004-01-05 2005-07-07 Darian Muresan Fast edge directed demosaicing
US20050200733A1 (en) * 2004-03-15 2005-09-15 Microsoft Corporation System and method for adaptive interpolation of images from patterned sensors

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6836289B2 (en) * 1999-12-20 2004-12-28 Texas Instruments Incorporated Digital still camera architecture with red and blue interpolation using green as weighting factors
US6917381B2 (en) * 2000-11-30 2005-07-12 Intel Corporation Color filter array and color interpolation algorithm

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020047907A1 (en) * 2000-08-30 2002-04-25 Nikon Corporation Image processing apparatus and storage medium for storing image processing program
US20040218073A1 (en) * 2003-04-30 2004-11-04 Nokia Corporation Color filter array interpolation
US20050146629A1 (en) * 2004-01-05 2005-07-07 Darian Muresan Fast edge directed demosaicing
US20050200733A1 (en) * 2004-03-15 2005-09-15 Microsoft Corporation System and method for adaptive interpolation of images from patterned sensors

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100321543A1 (en) * 2008-02-07 2010-12-23 Nxp B.V. Method and device for reconstructing a color image
US8363135B2 (en) 2008-02-07 2013-01-29 Nxp B.V. Method and device for reconstructing a color image
US20100104178A1 (en) * 2008-10-23 2010-04-29 Daniel Tamburrino Methods and Systems for Demosaicing
US20100104214A1 (en) * 2008-10-24 2010-04-29 Daniel Tamburrino Methods and Systems for Demosaicing
US8422771B2 (en) 2008-10-24 2013-04-16 Sharp Laboratories Of America, Inc. Methods and systems for demosaicing
US20100182464A1 (en) * 2009-01-21 2010-07-22 Rastislav Lukac Joint Automatic Demosaicking And White Balancing
US8035698B2 (en) 2009-01-21 2011-10-11 Seiko Epson Corporation Joint automatic demosaicking and white balancing
US20110032269A1 (en) * 2009-08-05 2011-02-10 Rastislav Lukac Automatically Resizing Demosaicked Full-Color Images Using Edge-Orientation Maps Formed In The Demosaicking Process
CN101674490B (en) * 2009-09-23 2011-06-01 电子科技大学 Color image color constant method based on retina vision mechanism
CN102262777A (en) * 2011-08-08 2011-11-30 格科微电子(上海)有限公司 Image edge enhancement method
US20160284053A1 (en) * 2015-03-27 2016-09-29 Intel Corporation Edge sensing measure for raw image processing
US9990695B2 (en) * 2015-03-27 2018-06-05 Intel Corporation Edge sensing measure for raw image processing

Also Published As

Publication number Publication date
CN100414964C (en) 2008-08-27
CN1913576A (en) 2007-02-14

Similar Documents

Publication Publication Date Title
US20070035637A1 (en) Method for color filter array demosaicking
US8229212B2 (en) Interpolation system and method
US8571312B2 (en) Image interpolation method and apparatus using pattern characteristics of color filter array
US20060133697A1 (en) Method and apparatus for processing image data of a color filter array
US7961232B2 (en) Calculating interpolation errors for interpolation edge detection
US7835573B2 (en) Method and apparatus for edge adaptive color interpolation
US7376288B2 (en) Edge adaptive demosaic system and method
US7825965B2 (en) Method and apparatus for interpolating missing colors in a color filter array
US7499089B2 (en) Color interpolation method in bayer array
US8406557B2 (en) Method and apparatus for correcting lens shading
US20090160992A1 (en) Image pickup apparatus, color noise reduction method, and color noise reduction program
US9111365B2 (en) Edge-adaptive interpolation and noise filtering method, computer-readable recording medium, and portable terminal
US7855741B2 (en) Apparatus and method for processing image
US7333678B1 (en) Edge adaptive demosaic system and method
WO2006137419A1 (en) Image processing device and method, imaging device, and computer program
JP2004208336A (en) Full color image adaptive interpolation arrangement using luminance gradients
US20060291746A1 (en) Method of and apparatus for removing color noise based on correlation between color channels
US8712191B2 (en) Method for detecting directions of regularity in a two-dimensional image
US20030117507A1 (en) Color filter array interpolation
US8773556B2 (en) Signal processing device, imaging device, and signal processing method for color interpolation
US20090060389A1 (en) Image processing apparatus
CN113068011B (en) Image sensor, image processing method and system
US20100134661A1 (en) Image processing apparatus, image processing method and program
US6904166B2 (en) Color interpolation processor and the color interpolation calculation method thereof
KR20180118432A (en) Image Processing Apparatus and Method for Improving Sensitivity

Legal Events

Date Code Title Description
AS Assignment

Owner name: SPREADTRUM COMMUNICATIONS CORPORATION, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:FENG, XIAOGUANG;ZHANG, BENHAO;HU, JING;AND OTHERS;REEL/FRAME:018373/0868;SIGNING DATES FROM 20060922 TO 20060925

AS Assignment

Owner name: SPREADTRUM COMMUNICATIONS INC., CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPREADTRUM COMMUNICATIONS CORPORATION;REEL/FRAME:022042/0920

Effective date: 20081217

Owner name: SPREADTRUM COMMUNICATIONS INC.,CAYMAN ISLANDS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPREADTRUM COMMUNICATIONS CORPORATION;REEL/FRAME:022042/0920

Effective date: 20081217

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION