Abstract:
Dynamic range equalization by histogram modification. A histogram is analyzed to determine locations of peaks. A mapping function is formed which relates to the locations of the peaks in a histogram. That mapping function may have areas of highest slope near the peaks. The mapping function is used to form a compressed histogram, which has the required number of levels to display on a display device.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application claims benefit of U.S. Provisional Application No. 60/179,308, filed Jan. 31, 2000. 
    
    
     BACKGROUND 
     Images can be represented as electronic versions of the scene being viewed. The electronic image may represent a scene to that has a very high dynamic range, e.g. 18 bits or more of dynamic range. However, conventional display devices typically only display 8-bit-images. Therefore, it is often necessary to display a higher dynamic range scene on a lower dynamic range viewing device. 
     If the same quantization step is used in an attempt to make this display operation, then either the brightest part of the image or the darkest part of the image is often lost. 
     SUMMARY 
     The present application teaches nonlinearly mapping an image with higher number of bits to an image with a smaller number of bits, while preserving at least part of the local contrast. 
     According to the present system, this is done by using a local transformation that can rapidly change characteristics of the image. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       These and other aspects will now be described in detail with reference to the accompanying drawings, wherein: 
         FIG. 1  shows a block diagram of an imaging system using the present system; 
         FIG. 2  shows an example histogram: 
         FIG. 3  shows a mapping curve for the histogram of  FIG. 2 ; 
         FIG. 4  shows a histogram of the final compressed image; and 
         FIG. 5  shows a flowchart of operation of the processor. 
     
    
    
     DETAILED DESCRIPTION 
     An embodiment is shown in FIG.  1 . In the  FIG. 1  embodiment, an imaging system, generally shown as  100 , obtains an image of the scene  110 . The image may be obtained by an image acquisition device  120 , which may include an active pixel sensor  122  receiving light indicative of the image of the scene  110 , and converting that light into a signal  124  indicative of pixel-level received signals. A processor  130  may process this image in a specified way as described herein, to reduce the number of bits of signal dynamic range. The output of the processor may be displayed on the display  140 . For this purpose, the processor  130  may also include a display driver. 
     In this embodiment, the image  124 , which is produced by the image sensor  122 , may have a higher dynamic range that is capable of being displayed on display  140 . Accordingly, the operation of the present system modifies the histogram of the mage. The processor does this by carrying out the flowchart of FIG.  5 . 
     At  500 , an initial operation calculates an image histogram. The histogram is shown as  200  in FIG.  2 . 
     The histogram is analyzed at  510 . On typical analysis, 90 percent of the pixel values will often gather around several gray levels. Other gray levels typically have very few pixels falling on them. 
       FIG. 2  shows the situation where most of the pixels fall within two areas. This can be applied to an image by selecting the two largest peaks, or by using multiple peaks. 
     In  FIG. 2 , the peaks are shown as  210  having a width WI and  220  having a width w2. The centerline of the first area is labeled as loc1, and the centerline of the second area is labeled as loc2. 
     The present system compresses the image in a way such that the areas which have more common values are allocated to receive more gray levels. Fewer numbers of gray levels are allocated to other values which have fewer pixels falling on them. An attempt is also made to preserve the relative brightness. 
     At  520 , the histogram is mapped, using the centerline locations loc1, loc2, and the widths of the peaks w1 and w2. A monotonous increasing mapping curve path m(g) is formed. This curve path is monotonic, in the sense that it is continually increasing. However, it is non-linear, in the sense that its slope is changing. 
     The slope of the histogram mapping curve is highest in the areas of the peaks of the actual image histogram.  FIG. 3  shows the mapping curve used for the example histograms in FIG.  2 . The slopes are increased in the areas of Loc1 and Loc2. 
     The mapping curve uses the sigmoid functions for each of the peaks: 
         f   ⁢           ⁢     (   g   )       =           -   1     +     exp   ⁢           ⁢       g   -   loc1     w1           1   +     exp   ⁢           ⁢       g   -   loc1     w1           +         -   1     +     exp   ⁢           ⁢       g   -   loc2     w2           1   +     exp   ⁢           ⁢       g   -   loc2     w2                 
         where g is the gray level. If more than two peaks are present, then more terms can be added. In general, all points are scaled based on their relationship with the position of the maximum (g−loc x ), weighted by the width of the peak (w x ).       

     The mapping curve is then scaled at  530  to scale the mapping curve between zero and 2 8 −1=255 according to: 
         m   ⁢           ⁢     (   g   )       =     255   ×         f   ⁢           ⁢     (   g   )       -     f   ⁢           ⁢     (     min   ⁢           ⁢     (   g   )       )             f   ⁢           ⁢     (     max   ⁢           ⁢     (   g   )       )       -     f   ⁢           ⁢     (     min   ⁢           ⁢     (   g   )       )                 
 
     Where g is the original gray value, and m(g) is the compressed gray value. This mapping technique maintains the image after mapping to keep both the local and global constraints of the original image. 
     The scaled image forms a new histogram at  540 . The new histogram is shown in FIG.  4 . In this histogram, the basic shape of the histogram space is the same. That is, the heights of the peaks in the new histogram may be in new compressed locations, but the heights of the peaks keep the same relationship as in the original histogram. However, the number of levels are compressed to the required number of bits, to allow the image to be displayed on a lower dynamic range display. 
     The above has described how to map the image to an 8-bit image. However, more generally, the image can be mapped to 2 n  gray levels, by using the more general scaling equation shown below. 
         m   ⁢           ⁢     (   g   )       =       (       2   n     -   1     )     ×         f   ⁢           ⁢     (   g   )       -     f   ⁢           ⁢     (     min   ⁢           ⁢     (   g   )       )             f   ⁢           ⁢     (     max   ⁢           ⁢     (   g   )       )       -     f   ⁢           ⁢     (     min   ⁢           ⁢     (   g   )       )                 
 
     Although only a few embodiments have been disclosed on detail above, other modifications are possible. For example, this system can of course be used with other kinds of images besides the image from an active pixel sensor. In addition, different numbers of bits can be used. While this shows using only the most prominent two histogram peaks, more than two histogram peaks may be used. While this describes being used if for gray levels, it more generally can be used with any kind of dynamic range levels, such as number of colors and the like. 
     All such modifications are intended to be encompassed within the following claims, in which: