Abstract:
A color signal interpolation system and method, which performs a green sample interpolation on a signal with a cross color sample. The method includes: (A) providing neighboring color samples on an interpolation sample; (B) computing a luminance respectively of the interpolation sample and the neighboring color samples; (C) computing an edge value of the interpolation sample based on the luminance computed; (D) determining if the edge value is smaller than a predetermined threshold; (E) computing an average of the neighboring color samples that have the same color with the interpolation sample when the edge value is smaller than the predetermined threshold, and using the average as a first color output of the interpolation sample.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The invention relates to the technical field of color signal interpolation and, more particularly, to a color signal interpolation system and method for reconstructing green color.  
         [0003]     2. Description of Related Art  
         [0004]     A color image processing system essentially includes an image capture unit, an image reconstruction and processing unit, an image display and an image compression unit. The image capture unit includes an image sensor and a color filter array (CFA).  FIG. 1  is a schematic diagram of a Bayer CFA and associated interpolation operations. As shown in  FIG. 1 , the frame is arranged in a form of interlaced GR-contained row and BG-contained row, where R, G and B are the three primary colors: green, red and blue (RGB). Each photosite in the CFA can have only one of RGB. The image reconstruction and processing unit thus uses an interpolation to reconstruct missing colors for each photosite, which fills up the respective green, red and blue planes.  
         [0005]     In addition, the image sensor has the pixel crosstalk effect in which, when a pixel is illuminated by a light, charge generation and signal transmission will diffuse to the neighboring pixels due to the semiconductor process in pixel layout and production. In accordance with the observations and experiences, the horizontal crosstalk effect is stronger than the vertical crosstalk effect. For the example of Bayer color filter array, red and blue pixels present the crosstalk on the respective left and right green pixels. Due to the pixel crosstalk effect, the left and right green pixels relative to a red pixel have different outputs from those relative to a blue one. In this case, the pixel value of a green photosite presents an error component. Thus, the pixel crosstalk effect can be seen obviously in a flat area when an interpolation is used to reconstruct each pixel&#39;s red, green and blue values because of the result of error component.  
         [0006]     To overcome this problem, U.S. Pat. No. 6,727,945 granted to Jaspers for a “Color signal interpolation” has disclosed that a difference of green photosites at different rows is compared to a threshold to accordingly determine if a corresponding photosite locates on an edge area, thereby selecting one from an original green value of the photosite, a interpolation value, or an average value for the corresponding photosite. However, the threshold is computed with pixels (on the RGB domain) captured by the image sensor, which encounters the problems of lower representative, easy to cause a resolution reduction, and hard to improve the crosstalk effect caused by a green error. Therefore, it is desirable to provide an improved color signal interpolation system and method to mitigate and/or obviate the aforementioned problems.  
       SUMMARY OF THE INVENTION  
       [0007]     The object of the invention is to provide a color signal interpolation system and method, which can avoid the resolution reduction and reduce the crosstalk effect caused by the green error.  
         [0008]     In accordance with one aspect of the present invention, there is provided a color signal interpolation method. The method performs a first color sample interpolation on a signal with a cross-color sample. The method includes the steps of: (A) providing neighboring color samples on an interpolation sample; (B) computing a luminance respectively of the interpolation sample and the neighboring color samples; (C) computing an edge value of the interpolation sample in accordance with the luminance computed; (D) determining if the edge value is smaller than a predetermined threshold; (E) computing an average of the neighboring color samples that have the same color with the interpolation sample when the edge value is smaller than the predetermined threshold, and using the average as a first color output of the interpolation sample.  
         [0009]     In accordance with another aspect of the present invention, there is provided a color signal interpolation method, which performs a first color sample interpolation on a signal with a cross-color sample. The method includes the steps of: (A) providing neighboring color samples on an interpolation sample; (B) computing a flat value of the interpolation sample; (C) determining if the flat value is smaller than a predetermined threshold; (D) computing an average of the neighboring color samples that have the same color with the interpolation sample when the flat value is smaller than the predetermined threshold, and using the average as a first color output of the interpolation sample.  
         [0010]     In accordance with a further aspect of the present invention, there is provided a color signal interpolation system, which performs a first color sample interpolation on a signal with a cross-color sample. The system includes a sensor, a line buffer, a luminance compute device, an edge determinator, a reconstruction filter, an average device and a selector. The sensor provides the signal with the cross-color sample. The line buffer is connected to the sensor in order to store color samples of the signal. The luminance compute device is connected to the line buffer in order to compute a luminance respectively of an interpolation sample and neighboring color samples that neighbor with the interpolation sample. The edge determinator is connected to the luminance compute device in order to compute an edge value of the interpolation sample in accordance with the luminance computed, and determine if the edge value is smaller than a predetermined threshold. The reconstruction filter is connected to the line buffer in order to perform an interpolation computation on the interpolation sample to thus produce a first color interpolation value. The average device is connected to the line buffer in order to compute an average of the neighboring color samples that have the same color with the interpolation sample. The selector is connected to the line buffer, the edge determinator, the average device and the reconstruction filter in order to select one of the interpolation sample, the first color interpolation value and the average as a first color output. When the edge value is smaller than the predetermined threshold, the average is selected as the first color output of the interpolation sample.  
         [0011]     Other objects, advantages, and novel features of the invention will become more apparent from the following detailed description when taken in conjunction with the accompanying drawings.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0012]      FIG. 1  is a schematic diagram of a Bayer color filter array and associated interpolation operations;  
         [0013]      FIG. 2  is a block diagram of a color signal interpolation system in accordance with the invention;  
         [0014]      FIG. 3A  is a schematic diagram of a green photosite and its neighboring green pixels in accordance with the invention;  
         [0015]      FIG. 3B  is a schematic diagram of a non-green photosite and its neighboring green pixels in accordance with the invention;  
         [0016]      FIG. 4  is a schematic diagram of a line buffer storing data in accordance with the invention;  
         [0017]      FIG. 5  is a schematic view of pseudo codes implemented in a selector in accordance with the invention; and  
         [0018]      FIG. 6  is a schematic diagram of a color filter array of a Fuji film micro device color filter array in accordance with the invention. 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT  
       [0019]      FIG. 2  is a block diagram of a color signal interpolation system in accordance with the invention, which performs a first color (green) sample interpolation on a signal with a cross-color sample. The system first converts pixels from the RGB domain to a luminance domain, and then computes the edges of the pixels. Because the edges are estimated on the luminance domain, it is determined accurately that a pixel to be interpolated locates in a flat area or edge area. In  FIG. 2 , the system includes a sensor  210 , a line buffer  220 , a luminance compute device  230 , an edge determinator  240 , a reconstruction filter  250 , an average device  260  and a selector  270 .  
         [0020]     The sensor  210  has the Bayer color filter array to provide the signal with the cross-color sample. In the  FIG. 1 , the photosites of the sensor  210  are arranged in a Bayer pattern.  FIG. 3A  is a schematic diagram of a green photosite and its neighboring green pixels in accordance with the invention.  FIG. 3B  is a schematic diagram of a non-green photosite and its neighboring green pixels in accordance with the invention.  
         [0021]     The line buffer  220  is connected to the sensor  210  in order to store color samples of the signal. In this case, the line buffer  220  includes three lines to store data shown in  FIG. 4 .  
         [0022]     The luminance compute device  230 , which is connected to the line buffer  220 , computes a luminance on an interpolation sample and luminance of color samples neighboring the interpolation sample. In order to cooperate with the line buffer  220 , the luminance compute device  230  can be a 3×3 filter with coefficients of [1 2 1, 2 4 2, 1 2 1]. In this case, the luminance, for example, of G 6  in the  FIG. 4  can be computed as (1*G 1 +2*R 2 +1*G 3 +2*B 5 +4*G 6 +2*B 7 +1*G 9 +2*R 10 +1*G 11 ). Similarly, the luminance of B 7  in  FIG. 4  can be computed as (1*R 2 +2*G 3 +1*R 4 +2*G 6 +4*B 7 +2*G 8 +1*R 10 +2*G 11 +1*R 12 ).  
         [0023]     The edge determinator  240 , which is connected to the luminance compute device  230 , computes an edge value of the interpolation sample in accordance with the luminance computed, and determine if the edge value is smaller than a predetermined threshold Th. The edge determinator  240  includes a horizontal edge compute device  241 , a vertical edge compute device  242 , an adder  243  and a comparator  244 .  
         [0024]     The horizontal edge compute device  241  can be a 3×3 filter with coefficients of [1 2 1, 0 0 0, −1 −2 −1] to computes a horizontal edge value Eh. When the luminance compute device  230  outputs the luminance of [Y 1  Y 2  Y 3 , Y 4  Y 5  Y 6 , Y 7  Y 8  Y 9 ], the horizontal edge value Eh is a value of (1*Y 1 +2*Y 2 +1*Y 3 −(1*Y 7 +2*Y 8 +1*Y 9 )). The smaller a value Eh is, the more flatness on the corresponding interpolation sample is. The vertical edge compute device  242  can be a 3×3 filter with coefficients of [−1 0 1, −2 0 2, −1 0 1] to compute a vertical edge value Ev. When the luminance compute device  230  outputs the luminance of [Y 1  Y 2  Y 3 , Y 4  Y 5  Y 6 , Y 7  Y 8  Y 9 ], the vertical edge value Ev is a value of (−1*Y 1 +1*Y 3 −2*Y 4 +2*Y 6 −1*Y 7 +1*Y 9 ). The smaller a value Ev is, the more flatness on the corresponding interpolation sample is.  
         [0025]     The adder  243  adds the values Eh and Ev to thus obtain an edge value E (or flat value). When the edge value E is smaller in comparison with the threshold Th, it indicates the corresponding interpolation sample locates on a flat area.  
         [0026]     The reconstruction filter  250 , which is connected to the line buffer  220 , performs an interpolation computation for the interpolation sample Gc or Gc′ to thus produce a green interpolation value Gres. The green interpolation value Gres of an interpolation sample is obtained by computing an averaged gradient in a direction with a smaller gradient. For example, the gradients on the interpolation sample Gc of  FIG. 3A  are |G 1 −G 4 | and |G 2 −G 3 |, and accordingly the green interpolation value Gres can be (G 1 +G 4 )/2 or (G 2 +G 3 )/2. Similarly, the gradients on the interpolation sample Gc′ of  FIG. 3B  are |G 2 −G 4 | and |G 1 −G 3 |, and accordingly the green interpolation value Gres can be (G 2 +G 4 )/2 or (G 1 +G 3 )/2.  
         [0027]     The average device  260  is connected to the line buffer  220  in order to compute an average avG of same color samples adjacent to the interpolation sample Gc or Gc′. Accordingly, either of the sample Gc of  FIG. 3A  and the sample Gc′ of  FIG. 3B  can have the average avG of (G 1 +G 2 +G 3 +G 4 )/4. Therefore, due to the average operation, the neighboring red and blue pixels have reduced affection on a green pixel, and the crosstalk effect can be reduced.  
         [0028]     The selector  270  is connected to the line buffer, the edge determinator, the average device and the reconstruction filter in order to select one of the interpolation sample Gc, the green interpolation value Gres and the average avG as a green output (Go) of the sample Gc or Gc′. For the sample Gc′ of  FIG. 3B , when the edge value E is smaller than the predetermined threshold Th, it indicates the sample Gc′ locates on a flat area, and the average avG is selected as the green output (Go). Conversely, when the edge value E is not smaller than the predetermined threshold Th, it indicates the sample Gc′ does not locate on a flat area, and the value Gres is selected as the green output (Go).  
         [0029]     For the sample Gc of  FIG. 3A , when the edge value E is smaller than the predetermined threshold Th, it indicates the sample Gc locates on a flat area, and the green value of the sample Gc is close to those of the neighboring green pixels. Thus, the average avG is selected as the green output (Go). Conversely, when the edge value E is not smaller than the predetermined threshold Th, it indicates the sample Gc′ does not locate on a flat area, and the sample Gc is selected as the green output (Go).  FIG. 5  is the schematic view of the pseudo codes implemented in the selector  270 , which can be converted easily as a hardware description language such as Verilog, VHDL or SystemC.  
         [0030]     In this embodiment, the sensor  210  is implemented by the Bayer color filter array, but not limited to it. As shown in  FIG. 6 , a color filter array of the Fuji film micro device can also be used to implement the sensor  210 , which can be easily achieved by those persons skilled in the art, and thus a detailed description is deemed unnecessary.  
         [0031]     As compared with a red pixel and a blue pixel, the color value of a green pixel has a greater luminance, and accordingly the noise reduction on the green color value is relatively important. The invention first converts the pixels from the RGB domain to a luminance domain and then computes the edges of the pixels. Because the edges are estimated on the luminance domain, it is determined accurately that a pixel to be interpolated locates on a flat or edge area. Therefore, the invention can avoid the resolution reduction and reduce the crosstalk effect caused by the error of green color value.  
         [0032]     Although the present invention has been explained in relation to its preferred embodiment, it is to be understood that many other possible modifications and variations can be made without departing from the spirit and scope of the invention as hereinafter claimed.