Abstract:
A method includes analyzing an input image at least to determine locations of human skin in the input image and processing the input image at least to improve, on a per pixel basis, the areas of human skin of the input image. Another method included in the present invention includes measuring blurriness levels in an input image; and processing the input image with the blurriness levels at least to sharpen the input image. A third method includes identifying areas of at least bright light in an input image and changing the sharpness of the input image as a function of exposure level of different areas of the input image.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to still images generally and to their improvement in particular.  
       BACKGROUND OF THE INVENTION  
       [0002]     Digital images are well known and are generated in many ways, such as from a digital camera or video camera (whether operated automatically or by a human photographer), or scanning of a photograph into digital format. The digital images vary in their quality, depending on the abilities of the photographer as well as on the selected exposure, the selected focal length and the lighting conditions at the time the image is taken.  
         [0003]     Digital images may be edited in various ways to improve them. For example, the image may be sent through a processor which may enhance the sharpness of the image by increasing the strength of the high frequency components. However, the resultant image may have an increased level of noise, spurious oscillations known as “ringing” which are caused by overshooting or undershooting of signals and image independent sharpness enhancement that results in an incorrect change in sharpness.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0004]     The subject matter regarded as the invention is particularly pointed out and distinctly claimed in the concluding portion of the specification. The invention, however, both as to organization and method of operation, together with objects, features, and advantages thereof, may best be understood by reference to the following detailed description when read with the accompanying drawings in which:  
         [0005]      FIG. 1  is a block diagram illustration of an adaptive image improvement system, constructed and operative in accordance with the present invention;  
         [0006]      FIG. 2  is a block diagram illustration of an image analyzer forming part of the system of  FIG. 1 ;  
         [0007]      FIG. 3  is a block diagram illustration of a controller forming part of the system of  FIG. 1 ;  
         [0008]      FIG. 4  is a block diagram illustration of a human skin processing unit forming part of the system of  FIG. 1 ;  
         [0009]      FIG. 5  is a block diagram illustration of a combined noise reducer and visual resolution enhancer, forming part of the system of  FIG. 1 ;  
         [0010]      FIG. 6  is a graphical illustration of the response of low and high pass filters, useful in the system of  FIG. 1 ;  
         [0011]      FIG. 7  is a graphical illustration of the response of a limiter useful in the combined noise reducer and visual resolution enhancer of  FIG. 5 . 
     
    
       [0012]     It will be appreciated that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.  
       DETAILED DESCRIPTION OF THE INVENTION  
       [0013]     In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described in detail so as not to obscure the present invention.  
         [0014]     Reference is now made to  FIG. 1 , which illustrates an adaptive image improvement system, constructed and operative in accordance with the present invention. The system of the present invention may compensate for the differences between how an image sensor, such as a video camera, views an object and how the human visual system views the same object, producing an image that generally is pleasing to people. The present invention may be operative to improve on the output of digital still cameras, printers, internet video, etc.  
         [0015]     In particular, the system of  FIG. 1 , which may comprise an image analyzer  10 , a controller  12 , a human skin processing unit  14 , a noise reducer  16  and a visual resolution enhancer  18 , may operate, at least in part, to improve images, indicated by (YCCb), as well as to minimize the undesired effects of common processing operations.  
         [0016]     For example, Applicants have realized that the details of human skin generally should be sharpened less than other details. Moreover, for low light exposures, image sensors typically generate human skin areas which are significantly redder than as seen by the human visual system. To handle both of these issues, image analyzer  10  may detect areas of human skin in the input image. Human skin processing unit  14  may reduce the saturation of the detected areas of human skin in the image, thereby to reduce the redness of the skin, and visual resolution enhancer  18  may change the high frequency components of areas of the detected human skin to attempt to reduce the sharpness of those areas in the final image.  
         [0017]     Applicants have further realized that the ‘ringing’ effect may occur because the processing may change the intensities of objects or details in the input image so much that they ‘overshoot’ or ‘undershoot’ the intensities that originally were in the object. Applicants have realized that the overshooting and undershooting may be reduced by diminishing the intensity levels of those high frequency components whose intensity levels are above, respectively, a threshold.  
         [0018]     Furthermore, Applicants have realized that the amount of texture on the details of the image is an important parameter for the sharpness of low contrast, small details. Therefore, in accordance with a preferred embodiment of the present invention, image analyzer  10  may determine the texture level in the details of the image and visual resolution enhancer  18  may operate to increase them if necessary.  
         [0019]     Image analyzer  10  may detect areas of human skin in the input image, and may estimate the amount of low contrast, small details (texture) in the image. Image analyzer  10  may generate an indication of duration of edges at each pixel. In addition, analyzer  10  may determine the locations of details of high brightness and of low brightness, since noise is generally more noticeable in blacker areas, which have low light. Controller  12  may use the analysis to determine a set of parameters to control units  14 ,  16  and  18 . Some of these parameters are global, others are per pixel parameters.  
         [0020]     Using the parameters produced by controller  12 , skin processing unit  14  may process the areas of the input image which have skin in them. For low light exposures, areas of human skin may be oversaturated (i.e. the chrominance of such areas may be too high relative to the luminance components). Accordingly, skin processing unit  14  may reduce the chrominance values of such areas. It will be appreciated that an image with no human features in it would pass through unit  14  unedited.  
         [0021]     Once the skin details have been processed, noise reducer  16  may reduce the noise in the high frequency components to provide sharpness enhancement without an increase in the visibility of the noise. Finally, visual resolution enhancer  18  may sharpen the output of noise reducer  16  and may operate to increase the spatial depth of the image, as well as its field of view, producing the processed image, indicated by (Y p C rp C bp ).  
         [0022]     Reference is now made to  FIG. 2 , which illustrates an exemplary embodiment of image analyzer  10 , constructed and operative in accordance with the present invention. In this embodiment, analyzer  10  may comprise a skin analyzer  30 , a texture analyzer  32 , a sharpness analyzer  34  and a brightness analyzer  36 .  
         [0023]     Skin analyzer  30  may determine the presence of human skin in the image and may generate a mask SK(i,j) marking the locations of the skin. Skin analyzer  30  may comprise a skin detector  40 , a  2 D low pass filter  42  and a skin mask generator  44 .  
         [0024]     Applicants have discovered empirically that most skin, except those with very high pigment levels, have chrominance levels within specific dynamic ranges. Thus, skin detector  40  may analyze the chrominance signals C r (i,j) and C b (i,j) as follows to determine the location h s (i,j) of not very dark human skin:  
           h   s     ⁡     (     i   ,   j     )       =     {         1             ⁢       if   ⁢           ⁢         C   b     ⁡     (     i   ,   j     )           C   s     ⁡     (     i   ,   j     )           ∈       D   s     ⁢           ⁢   and   ⁢           ⁢       C   r     ⁡     (     i   ,   j     )         ∈       D   rs     ⁢           ⁢   and   ⁢           ⁢       C   b     ⁡     (     i   ,   j     )         ∈     D   bs                 0             ⁢   otherwise                 
 
 where D s , D rs  and D bs  are the dynamic ranges for most human skin for  
           C   b       C   r       ,       
 
 respectively. Applicants have determined empirically that, for many images: 
        D s ={0.49, . . . 0.91}    D rs ={89, . . . , 131}     D bs ={144, . . . 181}       
 
         [0028]     2D low pass filter  42  may be any suitable low pass filter and may filter the signal h s  to remove noise and any random pixels, such as may come from non-skin areas that happen to meet the criteria but are not skin. An exemplary response for low pass filter  42  may be seen in  FIG. 6 , to which reference is now briefly made.  FIG. 6  also shows an exemplary response for high pass filters which may be used in the present invention.  
         [0029]     Finally, skin mask generator  44  may generate skin mask SK(i,j) to have a 1 in those locations where the filtered skin signal h s ′ is above a predetermined threshold SKIN (e.g. 3-5 quant (8 bit/pel)).  
         [0030]     Since texture components are high frequency components of the luminance signal Y, texture analyzer  32  may comprise a high pass filter  50 . An exemplary high pass filter may be that shown in  FIG. 6 . Analyzer  32  may also comprise a comparator  52  and a texture estimator  54 . Comparator  52  may compare the high frequency signal V HF  to a base threshold level THD 0 . In one embodiment, base texture threshold level THD 0  is 3 σ, where σ is a noise dispersion level. For example, σ may be 1-2 quant (8 bit/pel).  
         [0031]     For each pixel (i,j) whose V HF  is below base texture threshold level THD 0 , a variable n i,j  may receive the value 1. The remaining pixels may receive a 0 value.  
         [0032]     Texture estimator  54  may generate a global texture level θ defined as the percentage of pixels in the image below the texture threshold THD 0 :  
       θ   =         ∑   i             ⁢       ∑   j             ⁢     n     i   ,   j             N   *   M           
 
 where N and M are the number of pixels in the horizontal and vertical directions, respectively. 
 
         [0033]     Sharpness analyzer  34  may comprise four concatenated delays  60 , four associated adders  62  and a sharpness estimator  64 . A sharp image has edges of detail that change sharply from one pixel to the next. However, the edges in a blurry image occur over many pixels. Delays  60  and adders  62  may generate signals indicating how quickly changes occur.  
         [0034]     Each delay  60  may shift the incoming luminance signal Y by one pixel (thus, the output of the fourth adder may be shifted by four pixels) and each adder  62  may subtract the delayed signal produced by its associated delay  60  from the incoming luminance signal Y. The resultant signals D 1 , D 2 , D 3  and D 4  may indicate how similar the signal is to its neighbors.  
         [0035]     Sharpness estimator  64  may take the four similarity signals D 1 , D 2 , D 3  and D 4  and may determine a maximum value Dmax of all the signals D 1 , D 2 , D 3  and D 4 , and may determine four per pixel signals SH 1 ( i ,j), SH 2 ( i ,j), SH 3 ( i ,j) and SH 4 ( i ,j) indicating that the edge duration at that pixel is 1, 2, 3 or 4 pixels, respectively, as follows: 
        SH 1 ( i ,j)=1 if D 1 ( i ,j)=Dmax     SH 2 ( i ,j)=1 if D 2 ( i ,j)=Dmax     SH 3 ( i ,j)=1 if D 3 ( i ,j)=Dmax     SH 4 ( i ,j)=1 if D 4 ( i ,j)=Dmax        
 
         [0040]     Finally, brightness analyzer  36  may determine the locations of low and bright light and may comprise a low pass filter  70 , a low light mask generator  72 , a bright light mask generator  74  and a bright light coefficient definer  76 . Low pass filter  70  may be any suitable low pass filter, such as that shown in  FIG. 6 , and may generate a low frequency signal V LF . Low light mask generator  72  may review low frequency signal V LF  to determine the pixels therein which have an intensity below a low light threshold LL. For example, LL might be 0.3Y max , where Y max  is the maximum allowable intensity value, such as 255. Generator  72  may then generate a mask MASK LL  with a positive value, such as 255, for each of the resultant pixels.  
         [0041]     Bright light mask generator  74  may operate similarly to low light mask generator  72  except that the comparison is to a bright light threshold HL above which the intensities should be and the mask may be MASK HL . For example, threshold HL might be 0.7Y max . Bright light coefficient generator  76  may generate a per pixel coefficient K HL (i,j) as follows:  
           K   HL     ⁡     (     i   ,   j     )       =       [     1   +       Y   ⁡     (     i   ,   j     )         Y   max         ]     ⁢       MASK   HL     ⁡     (     i   ,   j     )             
 
 Per pixel coefficient K HL (i,j) may be utilized to increase sharpness for bright light pixels. 
 
         [0042]     Reference is now made to  FIG. 3 , which illustrates the operation of controller  12 . Controller  12  may convert the parameters of analyzer  10  into control parameters for human skin processing unit  14 , noise reducer  16  and visual resolution enhancer  18 .  
         [0043]     Controller  12  may generate a low light skin mask FSK(i,j) which combines both skin mask SK and low light mask MASK LL . In the present invention, only those pixels which both relate to skin and are in low light may be processed differently. Thus, low light skin mask FSK(i,j) may be generated as: 
 
 FSK ( i,j )= SK ( i,j )* MASK   LL ( i,j ) 
 
         [0044]     Controller  12  may generate a visual perception threshold THD above which the human visual system may be able to distinguish details. In this embodiment, the details are texture details or contrast small details. Since this threshold is a function of the amount θ of texture in the image, the threshold may be generated from base threshold THDo as follows: 
 
 THD=THD   0 (1+θ) 
 
         [0045]     Controller  12  may determine a per pixel, visual resolution enhancement, texture coefficient K t (i,j). This coefficient affects the high frequency components of the image which may be affected by the amount of texture θ as well as the brightness level K HL  and may operate to increase the spatial depth and field of view of the image.  
           K   t     ⁡     (     i   ,   j     )       =               K   t0     ⁡     (     1   -     θ   2       )       ⁢       K   HL     ⁡     (     i   ,   j     )                 if   ⁢           ⁢       MASK   HL     ⁡     (     i   ,   j     )         =   1                   K   t0     ⁡     (     1   -     θ   2       )       ⁢                     if   ⁢           ⁢       MASK   HL     ⁡     (     i   ,   j     )         =   0               
 
 where K t0  may be a minimum coefficient level defined from a pre-defined, low noise image. For example, K t0  may be 2-3. 
 
         [0046]     Another per pixel, visual resolution enhancement coefficient, K sh (i,j), may operate to improve sharpness. Through sharpness coefficient K sh , the high frequency components of blurry edge pixels may be increased, thereby sharpening them. The sharpening level is higher for blurry edges and lower for already sharp edges. Controller  12  may generate a preliminary matrix K s (i,j) from the sharpness estimates SH 1 , SH 2 , SH 3  and SH 4 , as follows:  
           K   s     ⁡     (     i   ,   j     )       =     {             C   4     ⁢     K   sh0               if   ⁢           ⁢     SH4   ⁡     (     i   ,   j     )         =   1                 C   3     ⁢     K   sh0               if   ⁢           ⁢     SH3   ⁡     (     i   ,   j     )         =   1                 C   2     ⁢     K   sh0               if   ⁢           ⁢     SH2   ⁡     (     i   ,   j     )         =   1                 C   1     ⁢     K   sh0               if   ⁢           ⁢     SH1   ⁡     (     i   ,   j     )         =   1               C   0         otherwise               
 
 where K sh0  may be a maximum coefficient level defined from a pre-defined, low noise image. For example, K sh0  may be 2 . . . 4. The C i  may be higher for blurry edges (e.g. SH 4 =1) and lower for sharper edges (e.g. SH 1 =1). For example: 
        C, ={0,0.25,0.5,0.75,1},i=0 . . . 4        
 
         [0048]     Controller  12  may produce the final coefficient K sh (i,j) by including the effects of brightness (in matrix K HL (i,j)) to preliminary coefficient K s (i,j):  
           K   sh     ⁡     (     i   ,   j     )       =               K   s     ⁡     (     i   ,   j     )       *       K   HL     ⁡     (     i   ,   j     )                 if   ⁢           ⁢     MASK   HL       =   1                   K   s     ⁡     (     i   ,   j     )       ⁢                     if   ⁢           ⁢     MASK   HL       =   0               
 
         [0049]     Controller  12  may generate a skin blurring mask K sk  for visual resolution enhancer  18 . Wherever skin mask SK(i,j) indicates that the current pixel has skin in it, skin blurring mask K sk (i,j) may have a reduction coefficient, as follows:  
           K   sk     ⁡     (     i   ,   j     )       =             K   sk0     ⁢     SK   ⁡     (     i   ,   j     )                 if   ⁢           ⁢     SK   ⁡     (     i   ,   j     )         =   1             1           if   ⁢           ⁢     SK   ⁡     (     i   ,   j     )         =   0               
 
 where K sk0  may be a desired sharpness reduction coefficient for human skin, such as 0.5. 
 
         [0050]     With the control parameters FSK, THD, K sh , K t  and K sk , controller  12  may control the operation of skin processing unit  14 , noise reducer  16  and visual resolution enhancer  18 .  FIGS. 4 and 5  illustrate the operations of units  14 ,  16  and  18 .  
         [0051]     Reference is now made to  FIG. 4 , which illustrates the operation of skin processing unit  14 . Unit  14  may operate to lower the saturation levels of areas of human skin. Since chrominance levels C r  and C b  represent the saturation in the input image, unit  14  may operate on them. However, in many systems, such as digital video broadcast systems, chrominance levels C r  and C b  have an offset value, such as of  128 , which must be removed before processing. To that end, unit  14  may comprise an offset remover  106  to remove the offset, creating signals C r0  and C b0 , and an offset restorer  108  to restore it. The improved chrominance signals may be noted as C rp  and C bp .  
         [0052]     In addition, unit  14  may comprise a coefficient generator  100 , a switch  102  and two multipliers  104 A and  104 B. Coefficient generator  100  may generate a color saturation coefficient K cs  to change the saturation of skin pixels, as follows:  
             K   cs     ⁡     (     i   ,   j     )       =         K   cs0     ⁡     (     1   -       Y   ⁡     (     i   ,   j     )         0.3   ⁢           ⁢     Y   max           )       +       Y   ⁡     (     i   ,   j     )         0.3   ⁢           ⁢     Y   max             ,     0   ≤     Y   ⁡     (     i   ,   j     )       ≤     0.3   ⁢           ⁢     Y   max             
 
 where K cs0  is a minimum human skin saturation level, such as 0.7. 
 
         [0053]     Switch  102  may select the amplification for multipliers  104  for the current pixel (i,j). When low light skin mask FSK(i,j) indicates that the current pixel has both a low light level and skin in it (i.e. FSK(i,j)=1), then switch  102  may provide the color saturation coefficient K cs (i,j) for the current pixel. Otherwise, switch  102  may provide a unity value (e.g. 1) to multipliers  104 . Thus, when the current pixel (i,j) has skin in it, skin processing unit  14  may change its saturation level by changing the intensity levels of chrominance signals C r0  and C b0 .  
         [0054]     Reference is now made to  FIG. 5 , which illustrates a combined noise reducer and visual resolution enhancer, labeled  110 , which operates on the luminance signal Y. Unit  110  does not affect chrominance signals C rp  and C bp  produced by skin processing unit  14  since, as is well-known, image sharpness may be defined by the luminance signal Y.  
         [0055]     Unit  110  may divide luminance signal Y into three channels, a low frequency channel (using a 2D low pass filter  112 , such as that of  FIG. 6 ) and two high frequency channels, one for the vertical direction (using a high pass filter  114 V, such as that of  FIG. 6 ) and one for the horizontal direction (using a high pass filter  114 H, such as that of  FIG. 6 ).  
         [0056]     For each high frequency channel, there is a limiter  116 , two multipliers  118  and  119 , a low pass filter  120 , two adders  122  and  123  and a non-linear operator  124 .  
         [0057]     Each limiter  116  may have any suitable amplitude response. An exemplary amplitude response may be that shown in  FIG. 7 , to which reference is now briefly made, in which the output is linear until the threshold level THD (where threshold THD is an input from controller  12 ) at which point the output is null (e.g. 0).  
         [0058]     Since threshold level THD is a texture threshold, each limiter  116  may select those texture details, which are low contrast, small details found in the high frequency signal V HF , which the human eye may only detect. Adders  122  may subtract the limited signal from the high frequency signal V HF  to generate signals with contrasting small details that may also be distinguished by the human eye.  
         [0059]     Non-linear operators  124  may operate on the signals with the distinguishable small details, output from adders  122 , to reduce their intensity levels so as to reduce the possibility of over/undershooting after sharpness enhancement. Non-linear operators  124  may more strongly reduce high levels of the signal than lower levels of the signals. For example, the multiplication coefficients may be defined as follows:  
           K   NL     ⁡     (     i   ,   j     )       =     1   -       (     1   -     K   NL0       )     ⁢         V   in     ⁡     (     i   ,   j     )         V     in   ,   max                 
 
 where V in (i,j) may be the input signal to operators  124 , V in,max  may be the maximum possible value of V in , such as  255 , and, K NL0  may be a user defined value to provide protection against ringing. In one embodiment, K NL0  might be 0. 
 
         [0060]     Multipliers  119  may change values per pixel, as per the information provided by parameter K sh (i,j), and may provide sharpness enhancement to the output of non-linear operators  124 .  
         [0061]     The texture signals generated by limiters  116  may be further processed by multiplier  118 , using per pixel, enhancement coefficient K t (i,j). Since such amplification may increase the noise level, the output of multipliers  118  may then be processed through low pass filters  120  to reduce the noise level. It is noted that low pass filter  120 H of the horizontal channel is a vertical low pass filter and low pass filter  120 V of the vertical channel is a horizontal low pass filter.  
         [0062]     Unit  110  may then add the processed texture signals with the sharpened distinguished signals in adders  123  to produce the high frequency horizontal and vertical components. Unit  110  may then add these high frequency components together in an adder  126 . The resultant high frequency signal may be processed, in a multiplier  128 , to reduce the sharpened high frequency signals for those pixels with skin in them. The reduction coefficient for multiplier  128  may be skin blurring mask K SK (i,j).  
         [0063]     An adder  130  may add the processed high frequency components to the low frequency components (output of low pass filter  112 ) together to provide an improved luminance signal Y p .  
         [0064]     It will be appreciated that the improved signals (Y p , C rp , C bp ) may provide a sharpened image which is more pleasant to the human eye than those of the prior art. The output of the present invention may be sharpened but it may have little or no ringing, little or no overly sharpened skin details and reduced noise.  
         [0065]     While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those of ordinary skill in the art. It is, therefore, to be understood that the appended claims are intended to cover all such modifications and changes as fall within the true spirit of the invention.