Abstract:
The present invention relates to a method for adjusting the saturation levels of the pixels of a time varying image being represented by RGB color sample vectors {right arrow over (C)} in an RGB color system. The method does not require the RGB color sample vectors {right arrow over (C)} to be converted into YUV samples in order to subsequently perform saturation adjustment. The method includes steps of: decomposing an RGB color sample vector {right arrow over (C)} into a white vector {right arrow over (w)} and a color tone vector {right arrow over (C)} T ; obtaining a saturation adjusted color tone vector {right arrow over (C T   o )} by multiplying the color tone vector {right arrow over (C)} T  by a saturation adjustment parameter; obtaining a saturation adjusted RGB color sample vector {right arrow over (C)} o  by adding the white vector {right arrow over (w)} and the saturation adjusted color tone vector {right arrow over (C T   o )}; and using the saturation adjusted RGB color sample vector {right arrow over (C)} o  to represent a color pixel of an output image.

Description:
BACKGROUND OF THE INVENTION  
     Field of the Invention  
       [0001]     The present invention relates to a method for adjusting the saturation levels of the pixels of a time varying image being represented using RGB signals in an RGB color system. The method does not require the RGB signals to be converted into YUV signals in order to subsequently perform saturation adjustment. Hence, the associated H/W complexity required to perform the inventive method is low when compared to that required to perform the typical saturation level adjusting method.  
         [0002]     The luminance and chromatic component Y, U, V color system, also known as the luminance and color difference color system (Y, R−Y,B−Y) is the color system that is most widely used in video systems. For example, in a digital TV system, the Y, U, and V signals of a video are compressed and transmitted. In such a system, since the color information is embedded in the chroma signals U and V, the color saturation level is simply adjusted by multiplying the chroma signals U and V by a color saturation adjusting gain a as expressed by the following equations: 
 
 U   o   =α·U  and  V   o   =α·V.  
 
 U o  and V o  now represent color adjusted chroma signals.  FIG. 1  is a block diagram of a prior art color saturation adjusting circuit  10  that can be used to multiply the sample values of the chroma signals U and V by the color saturation adjusting gain α. Note that if the color saturation adjusting gain α=0, the resulting sample value will have no color. If the color saturation adjusting gain α&gt;1, then the color of the resulting sample value will be enriched. 
 
         [0003]     In a prior art RGB color system, color saturation adjustment is performed using the color saturation adjustment circuit  12  shown in  FIG. 2 . Each RGB input sample vector is converted to a YUV sample value, and the color saturation adjusting method shown in  FIG. 1  is performed on each YUV sample value. The output color saturation adjusted RGB sample vectors are then obtained by converting the Y 0 ,U 0 ,V color sample values to RGB color sample vectors. As can be seen, considerable computation is required for the conversions.  
       SUMMARY OF THE INVENTION  
       [0004]     It is accordingly an object of the invention to provide a method for color saturation adjustment in an RGB color system which does not require the RGB color sample vectors to be converted into luminance and chroma samples in order to adjust the saturation levels of the RGB color sample vectors.  
         [0005]     With the foregoing and other objects in view there is provided, in accordance with the invention, a method for adjusting a color saturation level of at least one color pixel of an input image obtained from a time varying RGB video signal. The method includes steps of: obtaining an RGB color sample vector {right arrow over (C)} representing the color pixel of the input image obtained from the time varying RGB video signal; decomposing the RGB color sample vector {right arrow over (C)} into a white vector {right arrow over (w)} and a color tone vector {right arrow over (C)} T ; obtaining a saturation adjusted color tone vector {right arrow over (C T   o )} by multiplying the color tone vector {right arrow over (C)} T  by a saturation adjustment parameter; obtaining a saturation adjusted RGB color sample vector {right arrow over (C)} o  by adding the white vector {right arrow over (w)} and the saturation adjusted color tone vector {right arrow over (C T   o )}; and using the saturation adjusted RGB color sample vector {right arrow over (C)} o  to represent a color pixel of an output image.  
         [0006]     In accordance with an added feature of the invention, the saturation adjustment parameter is constructed such that the saturation level of the saturation adjusted color tone vector {right arrow over (C T   o )} will not exceed a predetermined limit value.  
         [0007]     In accordance with an additional feature of the invention, the saturation adjustment parameter is constructed as a color saturation adjusting gain α, and it is ensured that when the color saturation adjusting gain α equals zero, the saturation adjusted RGB color sample vector {right arrow over (C)} o  becomes a gray value. This is accomplished by performing the following additional steps: a luminance vector {right arrow over (Y)} is defined where each component of the luminance vector {right arrow over (Y)} is a luminance value obtained from the RGB color sample vector {right arrow over (C)}; the saturation adjustment parameter is configured to include at least a color saturation adjusting gain α; a gray mixing ratio α g  is obtained by selecting a minimum value from the group consisting of one and the color saturation adjusting gain α; and a gray level adjusted vector is obtained by multiplying the luminance vector {right arrow over (Y)} by a quantity obtained by subtracting the gray mixing ratio α g  from one. In addition, the step of obtaining the saturation adjusted RGB color sample vector {right arrow over (C)} o  is performed by: before adding the white vector {right arrow over (w)} and the saturation adjusted color tone vector {right arrow over (C T   o )}, multiplying the white vector {right arrow over (w)} by the gray mixing ratio α g ; and when adding the white vector {right arrow over (w)}, which has been multiplied by the gray mixing ratio α g , and the saturation adjusted color tone vector {right arrow over (C T   o )}, also adding thereto, the gray level adjusted vector to obtain the saturation adjusted RGB color sample vector {right arrow over (C)} o . The color saturation adjusting gain a can be manually obtained from an adjustment by a user of the color system, or can be automatically set by an appropriate circuit. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0008]      FIG. 1  is a block diagram of a prior art color saturation adjusting circuit;  
         [0009]      FIG. 2  is a block diagram of a prior art color saturation adjusting circuit that is used in an RGB color system;  
         [0010]      FIG. 3  shows a graphical representation of the decomposition of an RGB color sample vector into a white vector and a color tone vector;  
         [0011]      FIG. 4  is a block diagram of a circuit for performing an example of a first embodiment of the method for color saturation adjustment;  
         [0012]      FIG. 5  is a block diagram of a circuit for performing another example of the first embodiment of the method for color saturation adjustment;  
         [0013]      FIG. 6  is a block diagram of a circuit for performing an example of a second embodiment of the method for color saturation adjustment;  
         [0014]      FIG. 7  is a block diagram of a circuit for performing another example of the second embodiment of the method for color saturation adjustment;  
         [0015]      FIG. 8  is a block diagram of two multipliers;  
         [0016]      FIG. 9  is a block diagram of a circuit for performing a first embodiment of a method of calculating a saturation adjusted color tone vector {right arrow over (C T   o )};  
         [0017]      FIG. 10  is a block diagram of a circuit for performing a second embodiment of the method of calculating the saturation adjusted color tone vector {right arrow over (C T   o )};  
         [0018]      FIGS. 11-13  are graphs of mathematical functions;  
         [0019]      FIG. 14  is a block diagram of a circuit for performing a third embodiment of the method of calculating the saturation adjusted color tone vector {right arrow over (C T   o )}; and  
         [0020]      FIG. 15  is a flowchart showing the steps performed in a fourth embodiment of the method of calculating the saturation adjusted color tone vector {right arrow over (C T   o )}. 
     
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS  
       [0021]     The following text uses a single digital RGB color sample vector {right arrow over (C)}=(R,G,B) to explain the invention. It should be readily apparent, however, that in a practical application, the inventive method will be applied to a plurality of digital RGB color sample vectors {right arrow over (C)} representing the images obtained from the time varying RGB video signals of an RGB color system.  
         [0022]     The invention begins with decomposing a given digital RGB color input sample vector {right arrow over (C)}=(R,G,B) into two components according to the following equation: 
 
 {right arrow over (C)}={right arrow over (w)}+{right arrow over (C)}   T .  (1) 
 
 Here, {right arrow over (w)} represents a white vector and {right arrow over (C)} T =(R T ,G T ,B T ) represents a color tone vector associated with the color input sample vector. The white vector {right arrow over (w)} presumably contains the lightness quantity and the color tone vector {right arrow over (C)} T =(R T ,G T ,B T ) contains the color information.  FIG. 3  shows a graphical representation of this decomposition. The range of the color samples is assumed to be 0≦R,G,B≦255, however, the invention can be used with color samples having any range. Note that the direction of the color tone vector {right arrow over (C)} T  is associated with the “hue”, while the magnitude of the color tone vector {right arrow over (C)} T  is associated with the “saturation”. 
 
         [0023]     A first embodiment of the method for color saturation adjustment is based on applying the following equation: 
 
 {right arrow over (C)}   o   ={right arrow over (w)}+P·{right arrow over (C)}   T   ={right arrow over (w)}+{right arrow over (C   T   o )}.  (2a) 
 
 Here, P is a saturation adjustment parameter, which when multiplied against the color tone vector {right arrow over (C)} T , works to adjust the saturation of the color tone vector {right arrow over (C)} T . The vector P·{right arrow over (C)} T  represents a saturation adjusted color tone vector {right arrow over (C T   o )}. The vector {right arrow over (C)} o  is a saturation adjusted RGB color sample vector, which can be output to represent a pixel of an output image. 
 
         [0024]     Subsequently, in this text, four specific examples of methods are provided that can be used to obtain the saturation adjusted color tone vector {right arrow over (C T   o )}. These methods differ in the specific form of the saturation adjustment parameter P that is used. The saturation adjustment parameter P can take the form of a color saturation adjusting gain α. This color saturation adjusting gain a can be obtained from the actions of a user of the system or from a circuit constructed to set the color saturation adjusting gain α. The saturation adjustment parameter P can alternatively include two factors, namely a color saturation adjusting gain a and a saturation limiting parameter β, which are multiplied together. In an additional alternative, the saturation adjustment parameter P can be a variable denoted by r. The saturation adjustment parameter P can also take the form of a real color adjusting gain x. The specific forms of the saturation adjustment parameter P will become clear with regard to further explanations provided later on in this text.  
         [0025]     An example of the first embodiment of the method for color saturation adjustment will be further explained in a version in which the saturation adjustment parameter P takes the form of a color saturation adjusting gain α, where (α≧0). This example of the first embodiment of the method for color saturation adjustment will then be based on applying the following equation: 
 
 {right arrow over (C)}   o   ={right arrow over (w)}+α·{right arrow over (C)}   T   ={right arrow over (w)}+{right arrow over (C   T   o )}.  (2b) 
 
 In equation (2b), it can be seen that the saturation adjusted color tone vector {right arrow over (C T   o )} equals α·{right arrow over (C)} T . Note that {right arrow over (C)} o ={right arrow over (w)} if α=0 (no color), {right arrow over (C)} o ={right arrow over (C)} when α=1, and the color saturation level is increased if α&gt;1. 
 
         [0026]      FIG. 4  shows a block diagram of a circuit  20  for performing the example of the first embodiment of the method for color saturation adjustment in which the saturation adjustment parameter P takes the form of a color saturation adjusting gain α. The white and color tone separator  22  decomposes the input color vector {right arrow over (C)}=(R,G,B) into a white vector {right arrow over (w)} and a color tone vector {right arrow over (C)} T =(R T ,G T ,B T ) as described by equation (1). The saturation adjusted color tone vector {right arrow over (C)} T   o  is obtained using the multiplier  24 , which performs the operation {right arrow over (C)} T   o =α·{right arrow over (C)} T . The saturation adjusted RGB color sample vector {right arrow over (C)} o  is obtained from the vector summer  26 , which adds the white vector {right arrow over (w)} and the saturation adjusted color tone vector {right arrow over (C T   o )}.  
         [0027]     The input color vector {right arrow over (C)}=(R,G,B) can be decomposed into a white vector {right arrow over (w)} and a color tone vector {right arrow over (C)} T =(R T ,G T ,B T ) using any of a number of different decompositions. Although, the invention is not meant to be limited to any specific decomposition, the decomposition can be performed, for example, by using any of the following decompositions: 
 
 {right arrow over (C)}   T =( R−Y,G−Y,B−Y ) and  {right arrow over (w)} =( Y,Y,Y ), 
        where Y is a luminance value; (3)  
                   C   →     T     =         (       R   -   X     ,     G   -   X     ,     B   -   X       )     ⁢           ⁢   and   ⁢           ⁢     w   →       =     (     X   ,   X   ,   X     )         ,     
     ⁢         where   ⁢           ⁢   X     =       R   +   G   +   B     3       ;   and             (   4   )                     C   →     T     =       (       R   -       G   +   B     2       ,     G   -       R   +   B     2       ,     B   -       R   +   G     2         )     ⁢           ⁢   and       ⁢     
     ⁢           ⁢       w   →     =       (         G   +   B     2     ,       R   +   B     2     ,       R   +   G     2       )     .               (   5   )             
 
  FIG. 5  shows a block diagram of a circuit  30  for performing the first embodiment of the method in which the decomposition described in equation (3) is performed. The white vector calculation circuit  32  calculates a luminance value Y from the RGB color sample vector {right arrow over (C)} and constructs a white vector {right arrow over (w)}. Each component of the white vector {right arrow over (w)} is equal to the luminance value Y. The vector summer  34  subtracts the white vector {right arrow over (w)} from the RGB color sample vector {right arrow over (C)} to obtain the color tone vector {right arrow over (C T )}. The multiplier  36  multiplies the color tone vector {right arrow over (C T )} by the color saturation adjusting gain a to obtain the saturation adjusted color tone vector {right arrow over (C T   o )}. The vector summer  38  adds the saturation adjusted color tone vector {right arrow over (C T   o )} and the white vector {right arrow over (w)} to obtain the saturation adjusted RGB color sample vector {right arrow over (C)} o . It is assumed that the color saturation adjusting gain α is equal to or greater than zero. 
       
 
         [0029]     Turning our attention to the case when the color saturation adjusting gain α=0 in equation (2b), note that the saturation adjusted RGB color sample vector {right arrow over (C)} o  may not be a gray value depending on the choice of the color tone vector {right arrow over (C T )} or equivalently on the choice of the white vector {right arrow over (w)}. For instance, if we choose to use equation (3) for the decomposition, the saturation adjusted RGB color sample vector {right arrow over (C)} o  will be (Y,Y,Y) when the color saturation adjusting gain α=0. This implies that the saturation adjusted RGB color sample vector {right arrow over (C)} o  is a gray value. However, if we choose to use equation (4) for the decomposition, the saturation adjusted RGB color sample vector {right arrow over (C)} o  will be (X,X,X) when α=0. In this case, the saturation adjusted RGB color sample vector {right arrow over (C)} o  becomes a gray value, but it is somewhat different from the typical gray value denoted as Y. Furthermore, if we choose to use equation (4) for the decomposition, the saturation adjusted RGB color sample vector {right arrow over (C)} o  will be  
       (         G   +   B     2     ,       R   +   B     2     ,       R   +   G     2       )       
 
 when α=0, which is not a gray value, in general. In most cases, it is desirable to ensure that the saturation adjusted RGB color sample vector {right arrow over (C)} o  becomes a gray value whose gradation level is associated with the luminance value of the input signal {right arrow over (C)}=(R,G,B) when α=0. For this purpose, a gray mixing ratio is defined as: 
 
α g =min(1.0,α). 
 
         [0030]     A second embodiment of the method for color saturation adjustment is based on applying the following equation: 
 
 {right arrow over (C)}   o   =Y ·(1−α g )+ {right arrow over (w)}·α   g   +P·{right arrow over (C)}   T ; or 
 
 {right arrow over (C)}   o   =Y ·(1−α g )+ {right arrow over (w)}·α   g   +{right arrow over (C     T           o     )}; where    {right arrow over (Y)} =( Y,Y,Y ).  (6a) 
 
 As with the first embodiment, P is the saturation adjustment parameter and {right arrow over (C T   o )} is a saturation adjusted color tone vector. It should be clear that the second embodiment of the method for color saturation adjustment is equivalent to the first embodiment except for the fact that additional steps are performed. In particular, the gray mixing ratio α g  is multiplied with the white vector {right arrow over (w)} before the summation is performed, and the term {right arrow over (Y)}·(1−α g ) is included in the summation. The term {right arrow over (Y)}·(1−α g ) is defined as a gray level adjusted vector. 
 
         [0031]     An example of the second embodiment of the method for color saturation adjustment will be further explained in a version in which the saturation adjustment parameter P takes the form of a color saturation adjusting gain α, where (α≧0). This example of the second embodiment of the method for color saturation adjustment will then be based on applying the following equation: 
 
 {right arrow over (C)}   o   ={right arrow over (Y)} ·(1−α g )+ {right arrow over (w)}·α   g   +α·{right arrow over (C)}   T ; where  {right arrow over (Y)} =( Y,Y,Y ).  (6b) 
 
 The saturation adjusted RGB color sample vector {right arrow over (C)} o  approaches (Y,Y,Y) as a approaches 0. Therefore, the saturation adjusted RGB color sample vector {right arrow over (C)} o  becomes a gray value whose gradation level is Y. Note that the saturation adjusted RGB color sample vector {right arrow over (C)} o  in equation (6b) is equivalent to that in equation (2b) when α≧1. 
 
         [0032]      FIG. 6  shows a block diagram of a circuit  40  for performing this example of the second embodiment of the method for color saturation adjustment. The white and color tone separator  42  decomposes the input color vector {right arrow over (C)}=(R,G,B) into a white vector {right arrow over (w)} and a color tone vector {right arrow over (C)} T =(R T ,G T ,B T ) as described by equation (1). The saturation adjusted color tone vector {right arrow over (C T   o )} is obtained using the multiplier  44 , which performs the operation {right arrow over (C)} T   o =α·{right arrow over (C)} T . The minimum value selection circuit  46  obtains the minimum value selected from one and the color saturation adjusting gain α, and provides the result as the gray mixing ratio α g . The output signal of the mixer  48  is {right arrow over (Y)}·(1−α g )+{right arrow over (w)}·α g . The saturation adjusted RGB color sample vector {right arrow over (C)} o  is obtained from the adder  50 , which adds the saturation adjusted color tone vector {right arrow over (C T   o )} and the term {right arrow over (Y)}·(1−α g )+{right arrow over (w)}·α g  obtained from the mixer  48 .  
         [0033]      FIG. 7  shows a block diagram of a particular implementation of the circuit  50  for performing the second embodiment of the method for color saturation adjustment. The circuit  50  implements equation (3) to perform the decomposition. The white vector calculation circuit  52  calculates a luminance value Y from the RGB color sample vector {right arrow over (C)} and constructs a white vector {right arrow over (w)}. Each component of the white vector {right arrow over (w)} is equal to the luminance value Y. The vector summer  54  subtracts the white vector {right arrow over (w)} from the RGB color sample vector {right arrow over (C)} to obtain the color tone vector {right arrow over (C T )}. The multiplier  56  multiplies the color tone vector {right arrow over (C T )} by the color saturation adjusting gain α to obtain the saturation adjusted color tone vector {right arrow over (C T   o )}. The minimum value selection circuit  58  chooses a minimum value from one and the color saturation adjusting gain α, and provides the result as the gray mixing ratio α g . The output signal of the mixer  60  is {right arrow over (Y)}·(1−α g )+{right arrow over (w)}·α g . The saturation adjusted RGB color sample vector {right arrow over (C)} o  is obtained from the adder  62 , which adds the saturation adjusted color tone vector {right arrow over (C T   o )} and the term {right arrow over (Y)}·(1−α g )+{right arrow over (w)}·α g  that is obtained from the mixer  60 .  
         [0034]     One common drawback of the first and second embodiments of the method for color saturation adjustment is that a color can be saturated. That is, depending on the degree of the color saturation level of the input sample and the requested value of the color saturation adjusting gain α, the resulting saturation adjusted RGB color vector {right arrow over (C)} o =(R o ,G o ,B o ) can be mapped to outside the color gamut of the R,G,B signals (i.e., R&gt;255, G&gt;255, and/or B&gt;255). In other words, the saturation adjusted RGB color vector {right arrow over (C)} T   o =α·{right arrow over (C T )} can be saturated depending on the saturation level of {right arrow over (C T )} and α. Hence, an optionally provided feature of the invention is the development of color saturation limiting functions that can be incorporated into the method for color saturation adjustment in an RGB color system.  
         [0035]     We will calculate the magnitude of the color tone vector {right arrow over (C T )} and associate this magnitude with the saturation level of the color tone vector {right arrow over (C T )}. Remember that the color tone vector {right arrow over (C T )} has the components (R T ,G T ,B T ). We can calculate the magnitude, which we have associated with the saturation level of the color tone vector {right arrow over (C T )}, using the following equation: 
 
 S ( {right arrow over (C     T     )})=√{square root over (   R   T   2   +G   T   2   +B   T   2 )}.  (7) 
 
 We can alternatively approximate the saturation level using the following equation: 
 
 S ( {right arrow over (C)}   T )=| R   T   |+|G   T   |+|B   T |.  (8a) 
 
 Depending upon the application, various different forms of calculating the saturation level can be defined and the invention should not be limited to any one particular way of calculating this saturation level. For example, some additional ways of calculating the saturation level include:  
                 S   ⁡     (       C   T     →     )       =     max   ⁡     (       R   T   2     ,     G   T   2     ,     B   T   2       )         ;           (     8   ⁢   b     )                   S   ⁡     (       C   T     →     )       =     max   ⁡     (            R   T          ,          G   T          ,          B   T            )         ;           (     8   ⁢   c     )                       S   ⁡     (       C   T     →     )       =         (       R   T   2     +     G   T   2     +     B   T   2       )     +       (       R   T     -     G   T       )     2     +       (       G   T     -     B   T       )     2     +       (       B   T     -     R   T       )     2           ;     ⁢     
     ⁢   and     ⁢                   (     8   ⁢   d     )                 S   ⁡     (       C   T     →     )       =            R   T          +          G   T          +          B   T          +            R   T     -     G   T            +            G   T     -     B   T            +              B   T     -     R   T            .               (     8   ⁢   e     )             
 
         [0036]     Thus far, we have disclosed, two embodiments of the method for color saturation adjustment. Examples have been given in equations (3)-(5) of how to decompose the digital RGB color input sample vector {right arrow over (C)}=(R,G,B) into a white vector {right arrow over (w)} and a color tone vector C T , however, the invention should not be construed as being limited to these examples of the decomposition. Examples have been given in equations (7) and (8a)-(8e) of how to calculate the saturation level of the color tone vector {right arrow over (C T )}, however, as already discussed, the invention should not be construed as being limited to these examples of calculating the saturation level.  
         [0037]     In the following text, four embodiments of a method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} will be disclosed. These embodiments of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} use different forms of the saturation adjustment parameter P. Any one of these embodiments for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} can be used together with the first and second embodiments of the method for color saturation adjustment.  
         [0038]     The first embodiment of the method of calculating the saturation adjusted color tone vector {right arrow over (C T   o )} includes developing a saturation limiting parameter β that will be multiplied together with α·{right arrow over (C T )} in order to limit the saturation level to a certain level. That is, the saturation adjusted color tone vector {right arrow over (C T   o )} is given as: 
 
 {right arrow over (C)}   T   o   =β·α·{right arrow over (C)}   T .  (9) 
 
  FIG. 8  shows two multipliers  60  and  62  connected to perform the operation described in equation (9). Accordingly, when using the first embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} in conjunction with the first embodiment of the method for color saturation adjustment as expressed in equation (2a), we define the saturation adjustment parameter P as being β·α. Similarly, when using the first embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} in conjunction with the second embodiment of the method for color saturation adjustment as expressed in equation (6a), we define the saturation adjustment parameter P as being β·α. 
 
         [0039]     Now the question is how to formulate the saturation limiting parameter β. Note that the purpose of multiplying the saturation limiting parameter β with α·{right arrow over (C T )} as expressed in equation (9) is to prevent the saturation level of α·{right arrow over (C T )} from exceeding a certain saturation level.  
         [0040]     If the saturation level S(α·{right arrow over (C)} T ) is less than a certain level, which implies that α·{right arrow over (C T )} is “not saturated”, then it is obvious from the purpose of introducing the saturation limiting parameter β that β should be equal to one. Hence, it can be stated that: 
 
β=1 if  S (α· {right arrow over (C)}   T )≦ L,   (10) 
 
 where L denotes a pre-determined saturation level to which we want to limit the color saturation level of the adjusted color samples. Hereinafter, L will be referred to as a predetermined limit value. It can be stated that: 
 
 {right arrow over (C)}   T   o   =α·{right arrow over (C)}   T ,   (11) 
 
 when S(α·{right arrow over (C)} T )≦L. 
 
         [0041]     Now in the case when S(α·{right arrow over (C)} T )&gt;L, we need to multiply α·{right arrow over (C T )} and the saturation limiting parameter β together so that the color saturation level of the resulting saturation adjusted color tone vector {right arrow over (C T   o )} can be adjusted as a factor of β in order to prevent a possible saturation. The following constraint is imposed: 
 
 S ( {right arrow over (C)}   T   o )= L.  
 
 From the definition given in (7) or (8a), for example, it is noted that: 
 
 S ( {right arrow over (C)}   T   o )= S (β·α {right arrow over (C)}   T )=β· S (α· {right arrow over (C)}   T ). 
 
 We then obtain the following saturation limiting parameter:  
             β   =       L     S   ⁡     (     α   ·       C   →     T       )         .             (   12   )             
 
         [0042]     In summary, the saturation adjustment parameter P is chosen to be the color saturation adjusting gain α multiplied by the saturation limiting parameter β. The saturation adjusted color tone vector {right arrow over (C T   o )} is then calculated according to the following equation:  
                   C   →     T   o     =     β   ·   α   ·       C   →     T         ,     
     ⁢   where           (   13   )               β   =     {         1       if           S   ⁡     (     α   ·       C   →     T       )       ≤   L               L     S   ⁡     (     α   ·       C   →     T       )             else                               (   14   )             
 
         [0043]      FIG. 9  shows a block diagram of a circuit  70  for performing the first embodiment of the method of calculating the saturation adjusted color tone vector {right arrow over (C T   o )}. The multiplier  72  multiplies the color tone vector {right arrow over (C T )} by the color saturation adjusting gain α. The saturation calculation circuit  74  calculates the saturation level S(α·{right arrow over (C)} T ) and the β-selection circuit  76  chooses the value of the saturation limiting parameter β in accordance with equation (14). The saturation adjusted color tone vector {right arrow over (C T   o )} is obtained from the multiplier  78 , which multiplies β and α·{right arrow over (C)} T .  
         [0044]     A second embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} will now be developed. If we note that S(α·{right arrow over (C)} T )=α·S({right arrow over (C)} T ) and combine it with equations (13) and (14), we obtain:  
                   C   →     T   o     =     r   ·       C   →     T         ⁢     
     ⁢     where   :             (   15   )               r   =     {         α       if           S   ⁡     (       C   →     T     )       ≤     L   α                 L     S   ⁡     (       C   →     T     )             else                               (   16   )             
 
 The result obtained when using equations (15) and (16) to calculate the saturation adjusted color tone vector {right arrow over (C T   o )} is equivalent to the result obtained when using equations (13) and (14). Note, however, when equations (15) and (16) are used to calculate the saturation adjusted color tone vector {right arrow over (C T   o )}, less computation is required than when using equations (13) and (14). Accordingly, when using the second embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} in conjunction with the first embodiment of the method for color saturation adjustment as expressed in equation (2a), or the second embodiment of the method for color saturation adjustment as expressed in equation (6a), we define the saturation adjustment parameter P as being r. 
 
         [0045]      FIG. 10  shows a block diagram of a circuit  80  for performing the second method of calculating the saturation adjusted color tone vector {right arrow over (C T   o )}. The saturation calculation circuit  82  calculates the saturation level S({right arrow over (C)} T ) and the r-selection circuit  84  chooses the value of r in accordance with equation (16). The saturation adjusted color tone vector {right arrow over (C T   o )} is obtained from the multiplier  86 , which multiplies r and {right arrow over (C)} T .  
         [0046]     A third embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} will now be developed. The saturation adjusted color tone vector {right arrow over (C T   o )} can be expressed according to the following equation: 
 
 {right arrow over (C)}   T   o   =x·{right arrow over (C)}   T ,  (17) 
 
 where x denotes a real color adjusting gain defined by:  
             x   =     {         α       if         0   ≤   α   ≤   1               f   ⁡     (     S   ⁡     (       C   →     T     )       )           if         α   &gt;   1                     (   18   )             
 
 The mathematical function ƒ(S({right arrow over (C)} T )) can be any function that satisfies the following conditions: 
        ƒ(S({right arrow over (C)} T )) is a monotonically decreasing function with respect to S({right arrow over (C)} T ) for 0≦S({right arrow over (C)} T )≦L where L is a predetermined constant limit value;     ƒ(0)=α; and     ƒ(S({right arrow over (C)} T ))=1 for S({right arrow over (C)} T )≧L. 
 
 Note that the last condition ensures no change is made in the color saturation level of the input sample when its color saturation level exceeds a certain level even though the color saturation adjusting gain is large (α&gt;1). Examples of ƒ(S({right arrow over (C)} T )) are shown in  FIGS. 11, 12 , and  13 . For instance, in  FIG. 11 , x=ƒ(S({right arrow over (C)} T )) for 0≦S({right arrow over (C)} T )≦L can be expressed as:  
       x   =     1   +       (     α   -   1     )     ·           (     L   -     S   ⁡     (       C   →     T     )         )     ·     (     L   +     S   ⁡     (       C   →     T     )         )         L   2       .             
 
 Because of the constraints on ƒ(S({right arrow over (C)} T )), when S({right arrow over (C)} T )≧L, the real color adjusting gain x becomes:  
       x   =     {         α       if         0   ≤   α   ≤   1             1       if         α   &gt;   1                 
 
 When using the third embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} in conjunction with the first embodiment of the method for color saturation adjustment as expressed in equation (2a) or with the second embodiment of the method for color saturation adjustment as expressed in equation (6a), we define the saturation adjustment parameter P as being the real color adjusting gain x. 
       
 
         [0050]      FIG. 14  shows a block diagram of a circuit  90  for performing the third embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )}. The saturation calculation circuit  92  calculates the saturation level S({right arrow over (C)} T ). The circuit  94  for calculating ƒ(S({right arrow over (C)} T )) evaluates ƒ(S({right arrow over (C)} T )) at the saturation level S({right arrow over (C)} T ). The real color adjusting gain circuit  96  chooses the value of x in accordance with equation (18). The saturation adjusted color tone vector {right arrow over (C T   o )} is obtained from the multiplier  98 , which multiplies x and {right arrow over (C)} T .  
         [0051]     A fourth embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} will now be developed. We will limit the saturation level of the saturation adjusted color tone vector {right arrow over (C)} T   o =x·{right arrow over (C T )} such that: 
 
 S ( {right arrow over (C)}   T   o )= x·S ( {right arrow over (C)}   T )≦ L.  
 
 When S({right arrow over (C)} T )≦L and α&gt;1, the following condition is obtained:  
             x   ≤     L     S   ⁡     (       C   →     T     )                 (   19   )             
 
 By combining equations (18) and (19), we obtain the following relationship for the real color adjusting gain:  
             x   =     {           α           if   ⁢           ⁢   0     ≤   α   ≤   1               min   ⁡     (       f   ⁡     (     S   ⁡     (       C   →     T     )       )       ,     L     S   ⁡     (       C   ⇀     T     )           )               if   ⁢           ⁢   α     &gt;     1   ⁢           ⁢   and   ⁢           ⁢     S   ⁡     (       C   →     T     )         ≤   L             1           if   ⁢           ⁢   α     &gt;     1   ⁢           ⁢   and   ⁢           ⁢     S   ⁡     (       C   →     T     )         &gt;   L           .               (   20   )             
 
 When using the fourth embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} in conjunction with the first embodiment of the method for color saturation adjustment as expressed in equation (2a) or with the second embodiment of the method for color saturation adjustment as expressed in equation (6a), we define the saturation adjustment parameter P as being the real color adjusting gain x. 
 
         [0052]      FIG. 15  is a flowchart illustrating the steps used to implement the fourth embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} in accordance with equations (17) and (20). In step  1 , the color saturation adjusting gain α and the color tone vector {right arrow over (C T )} are acquired. In step  2 , it is determined whether the color saturation adjusting gain α is equal to or less than 1. If so, the real color adjusting gain x is set equal to α in step  9 . If the color saturation adjusting gain α is not equal to or less than 1, then in step  3 , the saturation level of the color tone vector {right arrow over (C T )} is determined. In step  4 , it is determined whether the saturation level of the color tone vector {right arrow over (C T )} is greater than the predetermined limit L. If the saturation level of the color tone vector {right arrow over (C T )} is greater than the predetermined limit L, then in step  5 , the real color adjusting gain x is set equal to 1. If the saturation level of the color tone vector {right arrow over (C T )} is not greater than the predetermined limit L, then in step  6 , a first value is obtained by evaluating the mathematical function ƒ at the value of the saturation level of the color tone vector {right arrow over (C)} T , and a second value is obtained by dividing the predetermined limit L by the saturation level of the color tone vector {right arrow over (C)} T . Additionally in step  6 , a minimum value is selected from the first value and the second value and the real color adjusting gain x is set equal to this minimum value. As can be seen in  FIG. 15 , step  7  can follow either step  9 ,  5 , or  6 . In step  7 , a saturation adjusted color tone vector {right arrow over (C T   o )} is obtained by multiplying the real color adjusting gain x with the color tone vector {right arrow over (C T )}. The saturation adjusted color tone vector {right arrow over (C T   o )} can then be used in equation (2a) to perform the first embodiment of the method for color saturation adjustment, or in equation (6a) to perform the second embodiment. Step  8  causes the procedure to loop back to step  1  to obtain the next color tone vector {right arrow over (C)} T , which may represent another pixel of the same input image, or which may possibly represent the first pixel of a subsequent input image.  
         [0053]     A circuit for performing the fourth embodiment of the method for calculating the saturation adjusted color tone vector {right arrow over (C T   o )} can be constructed similarly to the circuit  90  shown in FIG.  14 . The difference will be that the real color adjusting gain circuit  96  will choose the value of x in accordance with equation (20).