Abstract:
A method of adaptively controlling saturation of an input image according to characteristics of the input image includes a saturation calculating unit to sequentially calculate saturation values of each pixel composing an input image, and to output the calculated saturation values, a histogram analysis unit to accumulate interval values, each interval value corresponding to the saturation value of pixel and being allocated to at least one of two intervals, to calculate a gain corresponding to a cumulative value of each interval, and to output the gain, and a total gain calculating unit to calculate a total gain from the transferred gains of the respective intervals.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims benefit under 35 U.S.C. § 119 from Korean Patent Application No. 2004-41352, filed on Jun. 7, 2004, the entire content of which is incorporated herein by reference.  
       BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     The present general inventive concept relates to an apparatus and method of controlling saturation of a color image, and more specifically, to an apparatus and method of controlling saturation of an input color image, thereby providing an improved image quality.  
         [0004]     2. Description of the Related Art  
         [0005]     Generally, a conventional image processing apparatus has a problem in that color saturation is increased regardless of characteristics of an input image. For instance, if a user increases saturation of a background image of a scene displayed on a TV screen, a skin color of a character looks oversaturated and unnatural.  
         [0006]      FIG. 1  is a schematic block diagram of a conventional color saturation control apparatus. The color saturation control apparatus includes a saturation calculating unit  100 , a histogram calculating unit  102 , a peak saturation calculating unit  104 , a mean saturation calculating unit  106 , a peak gain calculating unit  108 , a mean gain calculating unit  110 , a pattern gain calculating unit  112 , an ultimate gain calculating unit  114 , a color gain calculating unit  116 , and a saturation control unit  118 .  
         [0007]     The saturation calculating unit  100  calculates saturation data S (x,y) of each pixel of an input image signal YCbCr. The histogram calculating unit  102  calculates a saturation histogram for all or part of pixels of the input image signal YCbCr according to the saturation data S (x,y) of each pixel provided from the saturation calculating unit  100 . The peak saturation calculating unit  104  calculates a peak saturation value using the saturation histogram provided from the histogram calculating unit  102 . The peak gain calculating unit  108  calculates a peak gain g peak  from the peak saturation value. The mean saturation calculating unit  106  calculates a mean saturation value using the saturation histogram provided from the histogram calculating unit  102 . The mean gain calculating unit  110  calculates a mean gain g mean  from the mean saturation value.  
         [0008]     The pattern gain calculating unit  112  detects a test pattern image and a monotone image such as a bird flying in blue sky or sunset from the input image signal YCbCr. Therefore, the pattern gain calculating unit  112  calculates a gain g p  for the test pattern image or the monotone image. The gain g p  from the pattern gain calculating unit  112  is then transferred to the ultimate gain calculating unit  114 .  
         [0009]     The color gain calculating unit  116  calculates a color gain g c  from the input image YCbCr depending on whether individual input pixel belongs to a skin color region. The color gain g c  from the color gain calculating unit  116  is transferred to the ultimate gain calculating unit  114 . In addition, a gain g local  for each pixel from the saturation calculating unit  100  is transferred to the ultimate gain calculating unit  114 .  
         [0010]     Then the ultimate gain calculating unit  114  calculates an ultimate gain according to the received gains, such as the color gain g c , the peak gain g peak , the mean gain g mean , the gain g p , and the gain g local  and transfers the ultimate gain g (x,y) to the saturation control unit  118 . The saturation control unit  118  controls the saturation of the input image YCbCr using the ultimate gain g (x,y) transferred.  
         [0011]      FIGS. 2A, 2B ,  3 A, and  3 B illustrate hypothetical problems caused when peak saturation and mean saturation for the input image signal YCbCr in the color saturation control apparatus of  FIG. 1  are applied to the saturation control of the input image signal YCbCr. Referring to  FIGS. 2A and 2B , the hypothetical problem occurs when the mean saturation for the input image is used for the saturation control of the input image. Referring to  FIGS. 3A and 3B , the hypothetical problem occurs when the peak saturation for the input image is used for the saturation control of the input image.  FIGS. 2A through 3B  illustrate images having a mean gain and a peak gain, respectively, according to pixel counts with respect to an image parameter S, e.g., saturation.  
         [0012]     The mean saturation of images having the histograms shown in  FIGS. 2A and 2B  is uniform. However, a first image having the histogram shown in  FIG. 2A  has more values distributed around a mid saturation, and a second image having the histogram shown in  FIG. 2B  has more values distributed around a high and a low saturation. Therefore, the saturation for the first and second images with this histogram is controlled using the same gain.  
         [0013]     The second image having the histogram shown in  FIG. 2B  has both high saturation and low saturation values. Thus, if a low saturation image in a grey tone is enhanced, the second image is severely distorted, and the same phenomenon occurs to a high saturation image. On the other hand, the first image having the histogram shown in  FIG. 2A  has mid saturation values. The image in the mid saturation is emphasized through a high gain in order to increase a saturation efficiency. That is, compared with the second image in low and high saturation, the first image in the mid saturation is more emphasized due to the high gain.  
         [0014]     Third and fourth images having the histograms shown in  FIGS. 3A and 3B  tend to have the mid saturation values, but obtain a high gain from the peak saturation calculating unit  104  and the peak gain calculating unit  108  of  FIG. 1  due to some of high saturation pixels. Although the first and third images having the histograms shown in  FIGS. 2A through 3B  seem to have similar mid saturation values, a relatively smaller gain is applied to the first or third image of  FIG. 2A  or  3 A than the second or fourth image of  FIG. 2B  or  3 B. Therefore, sharp and vivid color images cannot be obtained.  
       SUMMARY OF THE INVENTION  
       [0015]     The present general inventive concept provides an apparatus and method of controlling saturation of a color image according to characteristics of an input image signal in order to adaptively control the saturation of the input image signal.  
         [0016]     Additional aspects and advantages of the present general inventive concept will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the general inventive concept.  
         [0017]     The foregoing and/or other aspects and advantages of the present general inventive concept may be achieved by providing a gain calculating apparatus including a saturation calculating unit to sequentially calculate saturation values of each pixel composing an input image, a histogram analysis unit to accumulate interval values, each interval value corresponding to the saturation value of pixel transferred from the saturation calculating unit and being allocated to a plurality of intervals, and to calculate a gain corresponding to a cumulative value of each interval, and a total gain calculating unit to calculate a total gain from the gains of the respective intervals that are transferred from the histogram analysis unit.  
         [0018]     The foregoing and/or other aspects and advantages of the present general inventive concept may also be achieved by providing a method of calculating a gain, the method including sequentially calculating saturation values of each pixel composing an input image signal, accumulating interval values, each interval value corresponding to the saturation value of pixel transferred from the saturation calculating unit and being allocated to a plurality of intervals, calculating a gain corresponding to a cumulative value of each interval, and transferring the cumulative value, and calculating the total gain from the transferred gains of the respective intervals. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0019]     These and/or other aspects and advantages of the present general inventive concept will become apparent and more readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings of which:  
         [0020]      FIG. 1  is a schematic block diagram of a related art saturation control apparatus;  
         [0021]      FIGS. 2A and 2B  are views illustrating images having an equal mean gain;  
         [0022]      FIGS. 3A and 3B  are views illustrating images having a peak gain;  
         [0023]      FIG. 4  is a schematic block diagram illustrating a saturation control apparatus according to an embodiment of the present general inventive concept;  
         [0024]      FIG. 5  is a view illustrating values transferred to a histogram analysis unit and a total gain calculating unit in the saturation control apparatus of  FIG. 4 ;  
         [0025]      FIG. 6  is a detailed view illustrating a histogram analysis unit and a total gain calculating unit in the saturation control apparatus of  FIG. 4 ;  
         [0026]      FIG. 7  is a graph illustrating input values output from the histogram analysis unit and allocated to one of a plurality of intervals in the saturation control apparatus of  FIG. 4 ; and  
         [0027]      FIG. 8  is a view illustrating a pattern function of a pattern gain calculating unit in the saturation control apparatus of  FIG. 4 . 
     
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0028]     Reference will now be made in detail to the embodiments of the present general inventive concept, examples of which are illustrated in the accompanying drawings, wherein like reference numerals refer to the like elements throughout. The embodiments are described below in order to explain the present general inventive concept while referring to the figures.  
         [0029]      FIG. 4  is a schematic block diagram illustrating a saturation control apparatus according to an embodiment of the present general inventive concept. The saturation control apparatus includes a saturation calculating unit  100 , a histogram calculating unit  102 , a histogram analysis unit  400 , a total gain calculating unit  402 , a pattern gain calculating unit  112 , an ultimate gain calculating unit  114 , a color gain calculating unit  116 , and a saturation control unit  118 . Although the saturation control apparatus can include other constitutions besides the above-described units, for convenience&#39;s sake only the constitution shown in  FIG. 4  and operations thereof will be discussed hereinafter.  
         [0030]     The saturation calculating unit  100  calculates a saturation value S (x,y) of each input pixel signal, for example, an input pixel signal YCbCr of an image signal. The saturation calculating unit  100  converts the input pixel signal YCbCr into an RGB signal as shown in &lt;Equation 1&gt; below. 
 
( R,G,B )=( Y+a·Cr,Y+b·Cr+c·Cb,Y+d·Cb ),   &lt;Equation 1&gt;
 
 wherein a, b, c and d are conversion coefficients. The saturation value S (x,y) is obtained by substituting the RGB signal into &lt;Equation 2&gt;]below.  
               S   =         Max   ⁡     [     R   ,   G   ,   B     ]       -     min   ⁡     [     R   ,   G   ,   B     ]             Max   ⁡     [     R   ,   G   ,   B     ]       +     min   ⁡     [     R   ,   G   ,   B     ]             ,           &lt;     Equation   ⁢           ⁢   2     &gt;             
 
 wherein S is a normalized saturation value between 0 and 1. The saturation value S (x,y) calculated in the saturation calculating unit  100  is transferred to the histogram calculating unit  102 . 
 
         [0031]     The histogram calculating unit  102  obtains a saturation histogram for all or part of pixels from the saturation value S (x,y) for each individual pixel provided from the saturation calculating unit  100 .  
         [0032]      FIG. 5  illustrates a case where saturation values that are transferable from the histogram calculating unit  102  are allocated into a plurality of first intervals, for example, ten intervals (histograms). For example, a frame or field unit of the image signal can be divided into the ten intervals according to an image parameter, and the saturation values are allocated into corresponding ones of the ten intervals. The ten intervals are HIS 0 _IN through HIS 9 _IN. That is, the histogram calculating unit  102  allocates a saturation value to a corresponding one of the ten intervals. An output value from the histogram calculating unit  102  is transferred to the histogram analysis unit  400 .  
         [0033]     The histogram analysis unit  400  accumulates the transferred values in frame unit so that the transferred values forming the frame unit are allocated into the corresponding ones of the ten intervals. The histogram analysis unit  400  allocates the transferred values of the ten intervals into a plurality of second intervals each including at least one of the ten intervals. For example, since the number of the plurality of the second intervals is smaller than that of the first intervals, i.e., ten intervals, the transferred value of one of the ten intervals can be allocated into adjacent second intervals. That is, the transferred value of one of the ten intervals can be accumulated or counted in the adjacent second intervals. The histogram analysis unit  400  calculates a gain for each interval according to the number of the counted transferred values. For instance, in  FIG. 5 , the histogram analysis unit  400  allocates the transferred values into four intervals when the number of the plurality of second intervals is four, and outputs a gain for each interval. The gains for the respective second intervals are GAIN_ 0  through GAIN_ 3 .  
         [0034]     Each of the gains outputted from the histogram analysis unit  400  is transferred to the total gain calculating unit  402 . Then, the total gain calculating unit  402  calculates a total gain from the gains transferred.  
         [0035]      FIG. 6  illustrates the histogram analysis unit  400  and the total gain calculating unit  402  in detail. The histogram analysis unit  400  includes a histogram dividing part  600 , and saturation gain calculating parts  602  through  608 . The total gain calculating unit  402  includes a saturation gain calculating part  610  and a mean cumulative calculating part  612 . More details on each constitution will be provided below.  
         [0036]     The histogram analysis unit  400  accumulates values transferred from the histogram calculating unit  102 .  
         [0037]      FIG. 7  graphically illustrates that the histogram analysis unit  400  accumulates the transferred values for one frame. According to  FIG. 7 , the histogram analysis unit  400  received a value corresponding to the 5 th  interval HIS 4 _IN most, and a value corresponding to the 8 th  interval HIS 7 _IN least.  
         [0038]     The histogram dividing part  600  divides the transferred values into a plurality of intervals, and accumulates them in each interval. &lt;Table 1&gt; below illustrates that the histogram dividing part  600  accumulates the transferred values in each second interval.  
                   TABLE 1                           Interval I (low saturation interval)   HIS0_IN through HIS2_IN       Interval II (1 st  mid saturation interval)   HIS2_IN through HIS5_IN       Interval III (2 nd  mid saturation interval)   HIS4_IN through HIS7_IN       Interval IV (high saturation interval)   HIS7_IN through HIS9_IN                  
 
         [0039]     To remove a boundary effect, the histogram dividing part  600  sets the second intervals in such a manner that they overlap each other. The histogram dividing part  600  transfers the cumulative values in each interval to corresponding ones of the saturation gain calculating parts  602  through  608 . For instance, the cumulative value in the interval IV is transferred to the high saturation gain calculating part  602 , and the cumulative value in the interval III is transferred to the 2 nd  mid saturation gain calculating part  604 . Likewise, the cumulative value in the interval II is transferred to the 1 st  mid saturation gain calculating part  606 , and the cumulative value in the interval I is transferred to the low saturation gain calculating part  608 .  
         [0040]     Each of the saturation gain calculating parts  602  through  608  calculates a saturation gain of each interval using the transferred cumulative value. &lt;Equation 3&gt; below formulates the operation performed in each of the saturation gain calculating parts  602  through  608 . 
 
Distribution of frequency ( i )=(Cumulative value of interval ( i ))/(Total cumulative value) where 0 ≦i ≦3.   [Equation 3]
 
         [0041]     Each of the saturation gain calculating parts  602  through  608  stores a gain for the distribution of frequency. &lt;Table 2&gt; below shows the gains for the distribution of frequency that are stored in the saturation gain calculating parts  602  through  608 , respectively.  
                                                                           TABLE 2                                       Distribution of frequency                ≧75%   ≧50%   ≧25%   ≧12.5%   ≦12.5%                        Low satu-   32   96   160   224   225       ration gain       1 st  mid satu-   255   192   128   64   0       ration gain       2 nd  mid satu-   224   192   96   48   0       ration gain       High satu-   32   96   160   224   225       ration gain                  
 
         [0042]     As shown in the &lt;Table 2&gt;, saturation enhancement is supposed to be low in a case of either high or low saturation images, or images having high and low saturation. Therefore, the lower the distribution of frequency is, the higher the gain value is. In a case of an image having mid saturation, on the other hand, the saturation enhancement should be relatively high. Thus, the higher the distribution of frequency is, the higher the gain value is. The low saturation gain is denoted as GAIN_ 1 , and the high saturation gain is denoted as GAIN_ 3 . The 1 st  mid saturation gain is denoted as GAIN_ 1 , and the 2 nd  mid saturation gain is denoted as GAIN_ 2 .  
         [0043]     The gains that are calculated in the saturation gain calculating parts  602  through  608  are transferred to the saturation gain calculating part  610 . Then, the saturation gain calculating part  610  calculates a total gain from the transferred gains. &lt;Equation 4&gt; below formulates the operation performed in the saturation gain calculating part  610 .  
                   g   total     ⁡     (     x   ,   y     )       =               min   ⁢     (       GAIN_   ⁢   0     ,     GAIN_   ⁢   3       )       +               max   ⁡     (       GAIN_   ⁢   1     ,     GAIN_   ⁢   2       )             2       ,           [     Equation   ⁢           ⁢   4     ]             
 
 wherein g total (x,y) indicates a total gain outputted from the saturation gain calculating part  610 . The total gain outputted from the saturation gain calculating part  610  is transferred to the mean cumulative calculating part  612 . 
 
         [0044]     The mean cumulative calculating part  612  accumulates the total gains g total (x,y) from the saturation gain calculating part  610  for several frames, and outputs a mean thereof. In this manner, the mean cumulative calculating part  612  is able to accumulate many frames, given that there are only small changes in the image screen. The output g global (x,y) from the mean cumulative calculating part  612  is then transferred to the ultimate gain calculating unit  114 .  
         [0045]     In fact, there are other gain values that are transferred to the ultimate gain calculating unit  114 . According to  FIG. 4 , the ultimate gain calculating unit  114  receives gain values not only from the total gain calculating unit  402  but also from the saturation calculating unit  100 , the color gain calculating unit  116 , and the pattern gain calculating unit  112 .  
         [0046]     The saturation calculation unit  100  calculates a local gain g local  (x,y) for each individual pixel using the saturation value of each pixel and a gain function. According to the gain function, a pixel having a high saturation has a small gain value. As such, gamut mapping can be minimized, a gamut mapping block (this often causes a problem in color image processing) can be avoided, and a color change due to the gamut mapping can be prevented. If there is no restriction for a memory, the local gains g local  (x,y) for each pixel from the saturation calculating unit  100  can be stored in a separate memory.  
         [0047]     The pattern gain calculating unit  112  detects a text image or a monotone image from the input pixel signal YCbCr or the RGB signal, and reflects the detected image to the gain. The test image or the monotone image exhibits a relatively high saturation component, compared to natural images. As shown in &lt;Equation 5&gt; below, the pattern gain calculating unit  112  calculates an absolute value of a difference between the number of pixels of two neighboring saturation values in a histogram interval, and averages the absolute value to output an average value P. 
 
 P =1 /N|H ( i )− H ( i +1)|  [Equation 5]
 
 where H(i) indicates the number of pixels of the i-th saturation. 
 
         [0048]     The pattern gain calculating unit  112  calculates a pattern gain g p (x,y) using the average value P from the &lt;Equation 5&gt; and the pattern gain function of  FIG. 8 . If the average value P is less than TH Low  it corresponds to the natural image, and if the average value P is greater than TH High  it corresponds to the test image. If the average value P corresponds to the natural image, the pattern gain calculating unit  112  designates the pattern gain g p (x,y) to 1, and if the average value P corresponds to the test image, the pattern gain calculating unit  112  designates the pattern gain g p (x,y) to 0. In this manner, the saturation control is not actually performed on the original input image.  
         [0049]     Further, if an input image has the average value P between TH Low  and TH High , the image corresponds to the monotone image. Since an excessive increase in chroma deteriorates the image quality, the pattern gain calculating unit  112  calculates the pattern gain g p (x,y) inversely proportional to the P. The pattern gain g p (x,y) from the pattern gain calculating unit  112  is then transferred to the ultimate gain calculating unit  114 .  
         [0050]     The color gain calculating unit  116  calculates a color gain g c (x,y) depending on whether each individual pixel of an input image belongs to a skin color region. To decide whether an input pixel belongs to the skin color region, the color gain calculating unit  116  may determine whether a YCbCr color space is located in the skin color region. A process of determining whether the YCbCr color space is located in the skin color region will be omitted here since the determining process is well known. The color gain g p (x,y) from the color gain calculating unit  116  is transferred to the ultimate gain calculating unit  114 .  
         [0051]     The ultimate gain calculating unit  114  calculates an ultimate gain g(x, y) using the transferred gains. &lt;Equation 6&gt; below formulates the operation performed in the ultimate gain calculating unit  114 . 
 
 g ( x,y )=1 +g   gloval ( x,y )· g   p ( x,y )· g   local ( x,y )· g   c ( x,y ),   [Equation 6]
 
 wherein g(x, y) indicates the ultimate gain calculated in the ultimate gain calculating unit  114 . According to  FIG. 4 , a total of four gains are transferred to the ultimate gain calculating unit  114 , but this can be changed any time depending on how the user sets up. For instance, it can be set up that at least one of the four gains is transferred to the ultimate gain calculating unit  114 . In this case, the user should make sure that the g global (x, y) is always transferred to the ultimate gain calculating unit  114 . 
 
         [0052]     The ultimate gain g(x, y) from the ultimate gain calculating unit  114  is transferred to the saturation control unit  118 . Then, the saturation control unit  118  controls the saturating of an input image using the ultimate gain g(x, y) provided from the ultimate gain calculating unit  114 . &lt;Equation 7&gt; below formulates the operation performed on the saturation control unit  118 . 
 
 YCbCr   EnH ( x,y )=( Y ( x,y ),  g ( x,y )· Cb ( x,y ),  g ( x,y )· Cr ( x,y ))   [Equation 7]
 
         [0053]     As described above, a problem occurring when a mean gain and a peak gain of an existing image are applied to a conventional saturation control process can be solved by dividing the input image according to saturations and allocating different gains to the saturations. As a result, sharp and vivid color images can be obtained.  
         [0054]     Although a few embodiments of the present general inventive concept have been shown and described, it will be appreciated by those skilled in the art that changes may be made in these embodiments without departing from the principles and spirit of the general inventive concept, the scope of which is defined in the appended claims and their equivalents.