Abstract:
A method for correcting faded colors in aged photographs or film. The method automatically restores the color of the image by analyzing the color variance in the image and determining tonal curve for each channel. First, the interior of the image is selected and the image is portioned into sub-images. The variance of each sub-image is calculated, and the parameters are evaluated for correcting the entire image during scanning. This method will provide good color quality and preserve good density of the image.

Description:
BACKGROUND OF INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to a color restoration method, and more specifically, to a method for restoring faded pictures or film.  
         [0003]     2. Description of the Prior Art  
         [0004]     Almost everyone has old photographs of their parents, their grandparents, or of their childhood. When it comes to aging, photos fade in many different ways. In general, the aged photos often take a yellowish color, and the negatives also tend to have a reddish tone with time. As there are various considerable causes of fading, precious color photographic originals should be kept under safe conditions whenever possible. Keeping photographs and film in dark places with a low temperature and low moisture can help slow the effects of aging, but cannot entirely prevent them.  
       SUMMARY OF INVENTION  
       [0005]     It is therefore a primary objective of the claimed invention to provide a method for restoring aged photographs and film in order to solve the above-mentioned problems.  
         [0006]     According to the claimed invention, a method for restoring color of an image includes reading an original image and performing a white point balancing process on the original image. The method also includes segmenting the white point balanced image into a plurality of sub-images, sampling each sub-image to obtain color channel data for each sub-image, selecting sub-images with a highest standard deviation of color channel data, and analyzing the selected sub-images to calculate a composite color channel mean for each color channel of the white point balanced image. For correcting the color of the image, the method also includes selecting a first color channel with a highest composite color channel mean, a second color channel with an intermediate composite color channel mean, and a third color channel with a lowest composite color channel mean, applying a power function on the first and third color channels of the white point balanced image to approximately equalize the color channel means of the first, second, and third color channels, and outputting a restored image.  
         [0007]     It is an advantage of the claimed invention that the means of all color channels are approximately equalized for balancing colors of the image, providing good color quality, and preserving good density of the image.  
         [0008]     These and other objectives of the claimed invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment, which is illustrated in the various figures and drawings. 
     
    
     BRIEF DESCRIPTION OF DRAWINGS  
       [0009]      FIG. 1  is a flowchart summarizing the present invention method of restoring color of an image.  
         [0010]      FIG. 2  shows an original image to be restored.  
         [0011]      FIG. 3  is a histogram of color channel data for the present invention.  
         [0012]      FIG. 4  illustrates an algorithm for calculating the lower bound and upper bound for each color channel.  
         [0013]      FIG. 5  illustrates the effects of a white point balancing process.  
         [0014]      FIG. 6  is a diagram of an image being segmented into sub-images according to the present invention.  
         [0015]      FIG. 7  is a flowchart illustrating the color correction method of the present invention. 
     
    
     DETAILED DESCRIPTION  
       [0016]     Please refer to  FIG. 1  and  FIG. 2 .  FIG. 1  is a flowchart summarizing the present invention method of restoring color of an image.  FIG. 2  shows an original image I orig  to be restored. In step  100  of the flowchart shown in  FIG. 1 , the original image I orig  is read. The original image I orig  may be a photograph or film. First, an outside border of the original image I orig  is ignored in step  102  since the border may not contain any image data. Therefore, only an interior image I orig  is used in the color restoration process of the present invention. Next, a white point balancing process is performed in step  104 . The interior image I is then split into a plurality of sub-images in step  106 . Sub-images with greatest color variance are selected in step  108 , and are referred to as a region of interest. A mean for each color channel (such as red, green, and blue) is then calculated, and the means for respective color channels are compared with each other. The three color channels are sorted according to the value of their means. A proper power function is then determined in step  110  for correcting the color channels with the highest and lowest means. In step  112 , the power function is then applied to the entire image, thereby causing all three color channels to have an approximately equal mean and restoring the color quality of the original image I orig .  
         [0017]     A detailed description of the present invention method will now be described. First of all, the size of the original image I orig  is calculated, and I orig  has rows and columns. Next, as shown in  FIG. 2 , a frame size FS is calculated around a border of the original image I orig , such that  
       FS   =     [       min   ⁡     (       ∫   m   orig     ⁢     ,     ∫   n   orig         )       /   IFR     ]         
 
 where IFR is the Image-Frame Ratio. The interior section of the original image I orig  is referred to as an interior image I, which is formed by removing FS pixels from each side of the image I orig . The interior image I has I m  rows and I n  columns. Then a histogram of each channel of I is calculated. The histogram H R  for the R channel, for example, is computed such that, 
 
H R ={h i },
 
 where 
 
 h   i =#{{ p|p=i,p  is the pixel value in R channel}},
 
 and #(•) is the counting measure from set to          
 
         [0021]     If I m I n  is too large, sample pixels can be taken from the interior image I instead. A histogram will be calculated for each channel R, G, and B. Since the histogram H is computed in the same way for each channel, it will only be explained once.  
         [0022]     Please refer to  FIG. 3 .  FIG. 3  is a histogram of color channel data for the present invention. The histogram in  FIG. 3  shows the number of pixels in the image I having a certain color value. As an example, the histogram shown in  FIG. 3  assumes 8-bit color is used, and the color values can range from 0 to 255. Next, a lower bound IL and an upper bound IU are calculated for the interior image I. The lower and upper bounds IL and IU are calculated according to a predetermined fraction c of pixels in the image I (for example, the fraction c may have a value of 0.05). For each channel,  
       IL   =     sup   ⁢     {     n   ❘         ∑     i   =   0     n     ⁢     h   i       &lt;     c   ⁢           ⁢     I   m     ⁢     I   n           }           
 
 and  
       IU   =     inf   ⁢     {     n   ❘         ∑     i   =   0     n     ⁢     h   i       &gt;       (     1   -   c     )     ⁢     I   m     ⁢     I   n           }           
 
 where c is a fixed number between 0 and 1, and h i  is the number of pixels for a given color value. 
 
         [0025]     Please refer to  FIG. 4 .  FIG. 4  illustrates an algorithm for calculating the lower bound IL and upper bound IU for each color channel. The algorithm begins in step  140 , and variables are initialized in step  142 . The variable HSum is used to calculate a total sum of pixels in the histogram, and i is a counter variable for indicating the color value. In steps  144  and  146 , the i counter is incremented and the value of h(i) is added to HSum. According to step  148 , steps  144  and  146  are repeated until HSum is greater than or equal to c*I m *I n . Once HSum is greater than or equal to c*I m *I n , the value of the lower bound IL is set equal to the current value of i in step  150 . To calculate the upper bound IU, the i counter is incremented and the value of h(i) is added to HSum in steps  152  and  154 . According to step  156 , steps  152  and  154  are repeated until HSum is greater than or equal to (1−c)*I m *I n . Once HSum is greater than or equal to (1−c)*I m *I n , the value of the upper bound IU is set equal to the current value of i−1 in step  158 . Once the lower bound IL and the upper bound IU are calculated, the algorithm is ended in step  160 .  
         [0026]     After the lower bound IL and the upper bound IU have been calculated, a white point balancing process is performed. In this process, the color value of each pixel pix of the considered channel will be replaced by:  
       pix   =     {               ⁢       OU   ⁢           ⁢   if   ⁢           ⁢   pix     ≥   IU                   OL   +       (     OU   -   OL     )     ⁢       (     pix   -   IL     )     /     (     IU   -   IL     )       ⁢           ⁢   if   ⁢           ⁢   IL       ≤   pix   ≤   IU                   ⁢       OU   ⁢           ⁢   if   ⁢           ⁢   pix     ≥   IL                   
 
         [0027]     The effects of the white point balancing process are illustrated in  FIG. 5 . The output lower bound OL and output upper bound OU are defined in terms of the input lower bound IL and the input upper bound IU. After the white point balancing process has been performed, the image I is segmented into mn sub-images. Each of the sub-images is referred to as sub-image I ij , where 0≦i&lt;m and 0≦j&lt;n. Please refer to  FIG. 6 .  FIG. 6  is a diagram of image I being segmented into sub-images l ij  according to the present invention. The center of each sub-image l ij  has a center indicated by point  20  on  FIG. 6 , which has the coordinates (idx m ,idx n ). A top-left corner of each sub-image I is located at the point 
 
(idx m −radius m ,idx n −radius n )
 
 and a lower-right corner is located at the point 
 
(idx m +radius m ,idx n +radius n ),
 
 where 
 
 idx   m =[( i− 1) I   m   /m] 
 
 and idx n =[(j−1)l n /n]. 
 
         [0031]     Please refer to  FIG. 7 .  FIG. 7  is a flowchart illustrating the color correction method of the present invention. After generating the sub-images 
 
I y ,
 
 a histogram 
 
H y 
 
 is calculated for each generated for each sub-image 
 
I y .
 
 Utilizing the histograms 
 
H y ,
 
 a mean M ij  and standard deviation S ij  are calculated. Alternatively, the means M ij  and standard deviations S ij  also be calculated directly from I ij . Once the standard deviations S ij  are calculated, the standard deviations S ij  are rearranged as a decreasing sequence S k , thereby forming set 
 
 T ={( i,j,k )| S   k+1   ≦S   k   ,S   k   =S   y  for all i,j}.
 
 Then, a cutoff point ρ is defined as ρ=[cl·#(T)] with 0&lt;.cl,1 The elements in the decreasing sequence S k  greater than the cutoff point ρ are then selected to be in a set 
 
 ROI =( I   y |( i,j,k ) in  T,S   k &gt;ρ)
 
 That is, the set ROI contains the higher standard deviation S ij , and is referred to as the region of interest in step  170  of the flowchart in  FIG. 7 . Using the set ROI, the mean of 
 
(I y |I y  in ROI)
 
 is computed for each channel, which will respectively be referred to as R m ,G m ,B m  for the red, green, and blue channels (step  172 ). Next, the means R m ,G m ,B m  will be sorted in increasing order in step  174 , and labeled as values (s,m,l), without loss of generality, we assume s=R m ,m=G m , l=B m . In step  176 , exponents g s ,g m , and g 1  corresponding to the labels s, m, and l are all initialized to a value of 1. For the R channel, the mean R m  is less than the mean G m . To equalize the means R m  and G m , a power function f(x)=x 1/Gs  is applied to the corresponding ROI set of the R channel in step  178 , where g s &gt;1. The value of g s  is repeatedly incremented by a small fixed amount k (such as 0.1 or less) in step  182  until the relationship abs(mdan(f(I ij  in ROI)−m)&lt;tolerance is satisfied in step  180 . Once this relationship is satisfied, the means R m  and G m  are approximately equalized. In steps,  184 ,  186 , and  188 , the same process is repeated for equalizing means B m  and G m . The only difference is the value of g 1  is repeatedly decremented by the small fixed amount k so that g 1 &lt;1. After these values of g s  and g 1  have been calculated using the set ROI, the power function f(x)=x 1/G  is applied to the R, G, and B color channels of the entire image I for equalizing the R, G, and B color channels. 
 
         [0039]     In contrast to the prior art, the present invention method equalizes color channel levels to provide good color quality and preserve good density of the image. If a photograph is being restored, the corrected image will no longer have a yellowish tint. If film is being restored, the corrected image will no longer have a reddish tint. Therefore, the present invention method provides a way to restore aged photographs and film through a simple mathematical algorithm.  
         [0040]     Those skilled in the art will readily observe that numerous modifications and alterations of the device may be made while retaining the teachings of the invention. Accordingly, the above disclosure should be construed as limited only by the metes and bounds of the appended claims.