Abstract:
A rapid white balance method for color digital image is disclosed. This method is applied to RGB color regions in an image. First, the image is divided into several blocks to obtain the G parameter, then the averaged R and B parameters of each block, thereby obtaining the R and B parameters of the whole image. Using the R and B parameters, the method obtains an R gain and a B gain. Finally, the image is adjusted. The method only uses one RGB value for each pixel. The processing time is reduced, while the quality of the image is increased.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of Invention  
         [0002]     The invention relates to a white balance method and, in particular, to a white balance process for color digital images.  
         [0003]     2. Related Art  
         [0004]     Nowadays, there are more and better digital products and coding technologies introduced to the world. The demand of a digital life has become the new driving force for the digital technology to develop toward a wider space. Digital products such as computers, cell phones, video cameras, digital cameras, PDA&#39;s are changing our daily life. It is believed that more new digital products will be developed and affect our life in the future. The developments in basic structures and functioning principles of the digital image technology are also subjects that scientists are after.  
         [0005]     White balance is a basic function in color digital image equipment. This function defines “white” as “white” no matter how the environmental light changes. When the colors on a real object are recorded using a color sensor, there might be deviations existing between the recorded colors and the actual colors. Only when an appropriate light source with a specific color spectrum exists can the actual colors on the real object be captured. For many sensors, the sunlight is the most appropriate illuminant. When the sunlight shines on a white object, the image captured by the sensor will manifest the actual white color. However, when the same object is in the light produced by artificial white light, the image captured by the sensor tends to be slightly red. This is because the spectrum of the artificial white light has a strong red light component. When using a digital camera without the white balance function, one will discover that the white object under the artificial white light, the image is actually bluish. The image shown in  FIG. 1   a  is obviously bluish. The reason human eyes detect the color as white is because they correct the color. The image after the white balance process will produce a satisfactory effect like  FIG. 1   b . The conventional AWB algorithm is used in the process by obtaining simulation results by processing a huge amount of test color images. All areas in an image have to be white balance processed. Therefore, it takes a longer processing time. It is based upon the assumption that the composite color of the whole image is white. However, this method cannot process correctly for big monochromic object or background.  
       SUMMARY OF THE INVENTION  
       [0006]     In view of the foregoing, the invention provides a rapid white balance method for color digital images. It reduces the processing while increase the quality of the processed images.  
         [0007]     The disclosed method is used for RGB color space in a image. First, the image is divided into a plurality of blocks in order to obtain a reference G parameter, G ref . According to the actual division, compute the averaged R valve and the averaged B value, R savg  and B savg , are extracted to compute the reference R parameter and B parameter, R ref  and B ref , of the whole image. The reference R parameter and B parameter are then used to compute the R gain, R gain , and B gain, B gain . A tuning value is obtained from these gain factors. If the tuning value is greater than a threshold, the method starts all over from the beginning to re-divide the image into several blocks. This process repeats until the tuning value falls within a reasonable range.  
         [0008]     The disclosed method only processes data in the RGB color space. Other color space are not adjusted. It only uses one RGB value and the processing time is thus reduced. The image quality of the method is superior to most existing AWB algorithms. The invention utilizes dynamical image divisions to avoid the problem associated with monochromic image. It also abandons the unreasonable assumption that the composite color of the whole image should be white. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0009]     The patent or application file contains at least one drawing executed in color. Copies of this patent or patent application publication with color drawing(s) will be provide by the Office upon request and payment of the necessary fee.  
         [0010]     The invention will become more fully understood from the detailed description given hereinbelow illustration only, and thus are not limitative of the present invention, and wherein:  
         [0011]      FIG. 1   a  is an image that is before white balance adjustment;  
         [0012]      FIG. 1   b  is an image that has achieved white balance;  
         [0013]      FIG. 2  is a flowchart of the disclosed rapid white balance method for color digital image;  
         [0014]      FIG. 3  is a flowchart of dividing an image according to the invention;  
         [0015]      FIG. 4  is a 2D diagram on the R-B plane; and  
         [0016]      FIGS. 5   a  and  5   b  are 2D diagrams showing the idealization distributing of white color. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0017]     The action of white balance is similar to the color temperature filters added to the conventional cameras in order to accurately recovering the original colors.  
         [0018]     RGB is a color mode of colors. They correspond to the three basic colors, red, green and blue perceived by human vision. R means red, G means green and B means blue. Since each of the three colors has 256 brightness levels, therefore, there are 16.7 million combinations of them. It is thus very natural to use the R, G, and B components to represent colors. Most image-taking devices use the CCD technology to directly detect the R, G, and B components of a color. This makes the three basic color model an important basis of image captures, displays and printing.  
         [0019]     The flowchart of the disclosed method is shown in  FIG. 2 . First, a image is divided into a plurality of blocks to obtain the reference G parameter (step  210 ). According to the division, the averaged R and B parameters of each block are obtained (step  220 ). The averaged R value and averaged B value are used to compute the reference R and B parameters of the image (step  230 ). An R gain and a B gain are calculated from the reference R parameter and the reference B parameter, respectively (step  240 ). Finally, the image is adjusted according to the R gain and the B gain (step  250 ).  
         [0020]     In the RGB color space, the G parameter has the largest brightness contribution to the image. When R and B parameters are 0, the image is still visible. Therefore, we use the G parameter, G ref , as a reference parameter to divide the image ( FIG. 3 ). First, a set of initial row and column numbers is determined to divide the image into blocks. The initial column number is 40 and the initial row number is 30 (step  310 ). In other words the image is divided into 40*30 blocks of equal size. We know that the sensor can obtain the R, G, and B values in each pixel. With this information, the averaged R (R savg ), G (G savg ), and B (B savg ) values in each block can be computed. The R value, B value and G value of the whole image is respectively named R reference, B reference and G reference. In order to obtain a reasonable division, the averaged G value, G savg , in each block is computed (step  320 ). Several characteristic blocks are selected according to the averaged G values of all the blocks (step  330 ). The characteristic blocks refer to those representative ones. The objective is to obtain the G parameter from these characteristic blocks. Here we choose the blocks with the top 10% averaged G values to be the characteristic blocks and the averaged G value of each block is denoted by G save . The averaged G of all the characteristic blocks, G tave , is the average of the G value of each pixel in all the characteristic blocks. The averaged G value of each characteristic block is used to compute the averaged G value of all the characteristic blocks. The reference G parameter is then determined by computing the mean square difference, σ ave   2 , from the averaged G value of all the characteristic blocks, G tave , and the averaged G value of each characteristic block, G save .  
         [0021]     The formula for computing the mean square difference is  
           σ   ave   2     =       ∑     i   =   1     K     ⁢         (       G     save   ⁢           ,   i       -     G   tave       )     2     /   K         ,       
 
 where K is the number of blocks with the top 10% averaged G parameters. According to the mean square difference, σ ave   2  and the averaged G value of the characteristic blocks, G tave , one can make sure of the reference G parameter. 
        (a) If G tave &gt;=170 and σ ave   2 &lt;=170, then G ref =G tave ;     (b) if G tave &lt;170, then G ref =max G save ; and     (c) if G tave &gt;170 and σ ave   2 &gt;170, then G ref  is the averaged value of the top 5% G save .        
 
         [0026]     From these conditions, we obtain the value of the reference G parameter (step  340 ). If the reference G parameter G ref  is greater than a G parameter threshold, the numbers of row and columns are reduced and the division process starts all over again. The threshold range is set to be between 232 and 252. Any number falling within this range is allowed. The threshold in the current embodiment is set to be 242. The system determines whether the reference G parameter is greater than 242 (step  350 ). From many experiments, we learn that if the reference G parameter is smaller than 242, the division on the image is more appropriate and one does not need to redo the division (step  360 ). If the reference G parameter is greater than 242, the image has to be divided in another way to obtain a satisfactory reference G parameter. In the current embodiment, the re-division is done by reducing the number of columns by 2 and the number of row by 1 (step  370 ). This process repeats until the obtained reference G parameter is smaller than 242.  
         [0027]     After the image is divided, the division result is used to obtain the R, G, and B values, from which the reference R and B parameters are computed. We know that each pixel corresponds to a set of particular R, G, and B values. These three colors constitute a three-dimensional RBG vector. In the two-dimensional subspace of R and B, the straight line L in  FIG. 4  has a slope equal to 1 and subtends with the horizontal axis a 45° angle. We see that the points on the straight line L have the largest probability of being white pixel. Points farther away from the origin also have the highest probability to be white pixel. That is, among all spherical surfaces that intersect with the coordinate system, the points on the surfaces with larger radii are far from the origin and therefore more likely to be white pixel. In summary, the probability of being white pixel is larger for bigger values of X={square root}{square root over (R 2 +B 2 )} 
         [0028]     Through the above analysis, we obtain two weights. With reference to  FIGS. 5A and 5B , which show idealization distributing of white pixel. In the coordinate system shown in  FIG. 5A , the horizontal axis X={square root over (R 2 +B 2 )} is and the vertical axis is the weight. From the plot, one sees that the larger X is, the more likely it is a white pixel. From the plot, we also obtain the weight  
         W     1   ⁢   i       =       1     1   -     exp   ⁡     (     -   1     )           ⁢       (     1   -     exp   ⁡     (     -     x   i   4       )         )     .           
 
 Inserting X={square root}{square root over (R 2 +B 2 )} into the formula for weights, one can obtain the value of the weight W 1i . At the same time, the closer X=R/B is to 1, the likelihood of being white pixel is also higher. In the coordinate system shown in  FIG. 5B , the horizontal axis is X=R/B and the vertical axis is the weight. From this we obtain the weight W 2i =1/exp((x i −1) 2 /x i ). Inserting X=R/B into the weight formula, one can obtain the value of the weight W 2i . Since  
           R   ref     =       (       ∑     i   =   1     K     ⁢       W     1   ⁢   i       *     W     2   ⁢   i       *     R   save         )     /     (       ∑     i   =   1     K     ⁢       W     1   ⁢   i       *     W     2   ⁢   i           )         ,       
 
 the reference R parameter R ref  can be computed. Likewise, the reference B parameter can be computed using  
         B   ref     =       (       ∑     i   =   1     K     ⁢       W     1   ⁢   i       *     W     2   ⁢   i       *     B   save         )     /       (       ∑     i   =   1     K     ⁢       W     1   ⁢   i       *     W     2   ⁢   i           )     .           
 
 Finally, the reference R and B parameters are used to compute an R gain, R gain , and a B gain, B gain , respectively. 
 
         [0032]     Since R gain =1.2+γ*(x−1.2) and x=G ref /B ref  with the reference G parameter and the reference B parameter being known, we can compute the R gain: 
        (a) if x≦0.8, then R gain =0 8;     (b) if 0.8&lt;x&lt;1.2, then γ=1 (i.e. R gain =x);     (c) if 1.8&gt;x≧1.2, then γ=e (x−1.2) ; and     (d) if x≧1.8, then R gain =1.8.        
 
         [0037]     Likewise, B gain =1.2+γ*(x−1.2) and x=G ref /R ref  with the reference G parameter and the reference B parameter being known, we can compute the B gain: 
        (a) if x≦0.8, then B gain =0.8;     (b) if 0.8&lt;x&lt;1.2, then γ=1 (i.e. R gain =x);     (c) if 1.8&gt;x≧1.2, then γ= 1=e   −(x−1.2) ; and     (d) if x≧1.8, then B gain =1.8.        
 
         [0042]     After computing the G gain and the B gain, we can perform white balance for the image. An explicit method is to multiply the R and B of each pixel by the corresponding gains. Usually one adjustment is not enough. One needs to check the R gain, Rg k-1  and B gain, Bg k-1  before the adjustment and those (Rg k  and Bg k ) after the adjustment and computes an adjustment parameter. The adjustment parameter is further analyzed to see if it is greater than an adjustment threshold. If it is greater than the adjustment threshold, the image has to be divided all over again in order to compute a new reference G parameter. The threshold is set to be between 0.0015 and 0.0025. If the adjustment parameter falls within the reasonable range, then the disclosed method finishes; otherwise, the image has to be adjusted again. The preferred ending condition is (Rg k −Rg k-1 ) 2 +(Bg k −Bg k-1 ) 2 &lt;0.002, where Rg k , Bg k  are the current adjusting R gain and B gain, while Rg k-1 , Bg k-1  are the previous adjusting R gain and B gain.  
         [0043]     Certain variations would be apparent to those skilled in the art, which variations are considered within the spirit and scope of the claimed invention.