Abstract:
A method for correcting for exposure in a digital image, including the steps of providing a rendered digital image suitable for display and displaying such digital image; using an adjustable exposure setting to nonlinearly modify the rendered digital image to effect an exposure change and displaying the exposure modified rendered digital image; and iteratively changing the adjustable exposure setting in accordance with the nonlinear function to continuously change the exposure setting and display modified digital images until a desired exposure modified rendered digital image is displayed.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     Reference is made to commonly assigned U.S. patent application Ser. No. 09/057,903, filed Apr. 9, 1998, entitled “Transforms for Digital Images” by Hamilton et al, U.S. patent application Ser. No. 09/215,733, filed Dec. 18, 1998, entitled “Correcting Exposure and Tone Scale of Digital Images Captured by an Image Capture Device” by Gilman et al, U.S. patent application Ser. No. 09/315,646 filed May 20, 1999, entitled “System for Printing Correct Exposure in a Rendered Digital Image” by Gilman et al, and U.S. patent application Ser. No. 09/315,278 filed May 20, 1999, entitled “Nonlinearly Modifying a Rendered Digital Image” by Gilman et al, the disclosures of which are incorporated herein by reference. 
    
    
     FIELD OF THE INVENTION 
     The present invention relates to a method for correcting for exposure in rendered digital images captured by a digital camera or the like, which corrected images are particularly suitable for printing. 
     BACKGROUND OF THE INVENTION 
     Digital images which can be captured by scanners or digital cameras, or produced by a computing process, have to be rendered so that they can be properly viewed on a display. The resulting digital images are often referred to as being in a “rendered” image space, such as sRGB, where the relationship between the image code values and the scene luminance values is very non-linear, as depicted in FIG.  8 . Digital images, whether obtained from scanned film or from digital cameras, often contain exposure errors, where the key subjects of the picture are lighter or darker than desired by the user, due to imperfect exposure determination algorithms in the digital camera or film scanner which created the digital image. Many imaging applications, such as Adobe Photoshop or Kodak PictureEasy, permit the user to adjust the “brightness”, “contrast”, and/or “gamma” of the image by sliding using one or more “sliders” controlled by a mouse. Each control adjusts one of the slope, x-intercept, or exponential function applied to the image, typically using a look-up table, in order to modify the tone reproduction of the image when it is displayed or printed. However, because they do not directly adjust the scene exposure, they do not properly compensate for camera exposure errors. While it is possible to somewhat improve the image using such controls, it is extremely difficult for unskilled users to determine how to best set these multiple controls. 
     Some applications, such as Adobe Photoshop, also permit the user to modify a “lookup table” by inputting a curve of any arbitrary shape. However, only a skilled user is able to determine what curve shape provides the best image, and only then using a tedious trial-and-error process. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a method that properly compensates for camera exposure errors which is extremely simple for a non-expert to understand and use. 
     This object is achieved in a method for correcting for exposure in a digital image, comprising the steps of: 
     (a) providing a rendered digital image suitable for display and displaying such digital image; 
     (b) using an adjustable exposure setting to nonlinearly modify the rendered digital image to effect an exposure change and displaying the exposure modified rendered digital image; and 
     (c) iteratively changing the adjustable exposure setting in accordance with the nonlinear function to change the exposure setting and display modified digital images until a desired exposure modified rendered digital image is displayed. 
     It is an advantage of the present invention that exposure problems can be properly compensated with a minimum of user intervention. 
     Another advantage of the present invention is that it is extremely simple for a non-expert user to understand and use. 
     A feature of the invention is that it is particularly suitable for adjusting rendered digital images captured by an image capture device and for causing a printer to make aesthetically pleasing prints of images. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of a system that can use the method of the present invention; 
     FIG. 2 is a flow diagram of a process for practicing the present invention; 
     FIG. 3 depicts a thumbnail screen that forms part of the graphical user interface used in the process of FIG. 2; 
     FIG. 4 shows the exposure adjustment screen, incorporating an adjustable exposure setting control, that forms part of the graphical user interface used in the process of FIG. 2; 
     FIG. 5 depicts a screen for selecting printing parameters for a printer; 
     FIGS. 6 a - 6   c  depict correction curve shapes produced by different positions of the adjustable exposure setting depicted in FIG. 4; 
     FIGS. 7 a - 7   b  depict two tone correction curve shapes for use with two different types of printers and print media combinations; 
     FIG. 8 depicts a possible rendering curve for a rendered digital image; and 
     FIG. 9 shows an alternate embodiment of the exposure adjustment screen, incorporating an adjustable exposure setting control and a scene contrast setting control. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     FIG. 1 is a block diagram of a system that can use the method of the present invention. The system includes a digital image source, such as a digital camera  10  or a film scanning system and digital writing system (not shown) that records digitized film image files on a recordable compact disc (CD-R)  32  or a floppy disk  34 . The system also includes a host computer  40  and a networked printing service  70 . An imaging application running on the host computer  40  permits a rendered-space image, such as an sRGB color space Exif version 2.1 image file, to be manipulated by a user. The Exif image format is defined in “Digital Still Camera Image File Format Standard, Exchangeable image file format for Digital Still Camera: Exif, JEIDA-49-1998, June 1998 by the Japan Electronics Industries Development Association (JEIDA) and the sRGB color space is described in ” A standard default color space for the internet—sRGB by Michael Stokes, et. al., available at http://www.color.org/sRGB.html. 
     The digital camera  10  produces digital images that are stored on a removable memory card  30 . The digital camera  10  includes a lens  12  having an adjustable aperture and shutter (not shown) for focusing light from a scene (not shown) on an image sensor  14 , for example a single-chip color CCD image sensor, using the well-known Bayer color filter pattern. The analog output signal from the image sensor  14  is converted to digital data by the A/D converter  16 . The digital data is processed by a processor  18 , and the processed digital image file is provided to a memory card interface  20  which stores the digital image file on the removable memory card  30 . Removable memory cards  30  are know to those skilled in the art. For example, removable memory card  30  can include memory cards adapted to the PCMCIA card interface standard, as described in the  PC Card Standard, Release  2.0, published by the Personal Computer Memory Card International Association, Sunnyvale, Calif., September 1991. Removable memory card  30  can also be adapted to the Compact Flash interface standard, such as described in the  CompactFlash Specification Version  1.3, published by the CompactFlash Association, Palo Alto, Calif., Aug. 5, 1998. 
     The processor performs color interpolation followed by color and tone correction, in order to produce rendered sRGB image data. The rendered sRGB image data is then JPEG compressed and stored as an Exif version 2.1 file on the removable memory card  30 . The processor also provides “thumbnail” size image data to a color LCD image display  22 , which displays the captured image for the user to review. The camera is controlled by a series of user buttons  24 . 
     After a series of images have been taken and stored on the removable memory card  30 , the removable memory card  30  may be inserted into a memory card reader  48  in the computer. Alternately, an interface cable  36  may be used to connect between host interface  26  in the digital camera  10  and the camera interface  42  in the computer  40 . The interface cable may conform to, for example, the well-know universal serial bus (USB) interface specification. 
     The images from the digital camera  10  are processed by the computer  40  using enabling software provided on a digital media, such as a CD-R disc  32  or floppy disc  34 . Alternately, the enabling software may be downloaded to the computer from a networked printing service  70  via modem  60  and stored on hard drive  56 . A CPU  50  uses the software in accordance with the present invention to provide exposure modified rendered digital images, as will be described in more detail in FIGS. 2-6. The CPU  50  is directly coupled to a display monitor  52  and a keyboard  54 . A mouse  55  permits the user to readily communicate with the CPU  50 . The CPU  50  is in direct communication with a local printer  58 , such as an Epson Stylus Photo 700 printer, which produces hard copy prints of the exposure modified rendered digital images. 
     Alternately, prints may be made at a networked printing service  70  which receives exposure modified rendered digital image files from the host computer  40  using modem  72  and stores the images on local hard drive  76 . A computer  74  controls printer(s)  78 , which may include, for example, silver halide or dye sublimation printers to print the digital image files, which are then mailed to the user of the host computer  40 . The exposure modified rendered digital images may also be e-mailed to other computers (not shown) using modem  60 . 
     FIG. 2 depicts a block diagram of a process in accordance with the present invention. In step  100 , the user of host computer  40  launches the enabling software application. In step  102 , the application displays an introduction screen on display monitor  52 , which asks the user to select the source of the images. In step  104 , the user selects the image source. The image source can be for example the removable memory card  30  in memory card reader  48 , digital camera  10  using camera interface  42  (with the camera  10  serving as the memory card reader for removable memory card  30  ), the floppy disk  34  in floppy disk drive  46 , or the CD-R disc  32  in CD-ROM drive  44 . In step  106 , images from the image source selected in step  104  are displayed using the thumbnail screen shown in FIG.  3 . 
     FIG. 3, which depicts a thumbnail screen that forms part of the graphical user interface displayed on display monitor  52 , includes a two-dimensional array of thumbnail images  302  obtained from the image source, such as the removable memory card  30  from digital camera  10 . The thumbnail images  302  preferably have a lower resolution than the full size images stored on removable memory card  30 . In step  108 , the user can select one or more images (e.g. four images) by clicking the mouse  55  on any number of thumbnail images  302 . FIG. 3 shows that four thumbnail images  302   a ,  302   b ,  302   c , and  302   d  (which are outlined) have been selected. If the removable memory card  30  contains a large number of thumbnail images  302 , arrow controls  304  on the right portion of the “preview picture screen”  300  enable the user to scroll through the larger number of thumbnail images  302  to view a group of the thumbnail images  302  (e.g., 15 thumbnail images) at a time. 
     Adjacent the thumbnail screen  300  is a set of function icons including a “print” icon  308 , a “slide show” icon  310 , and an “improve image icon”  312 . After one or more thumbnail images  302  have been selected in step  108 , the user can choose to compensate for camera exposure errors in the selected images  302  by selecting the “improve image” icon  312  in step  110 . In step  112 , the CPU  50  displays the exposure adjustment screen shown in FIG.  4 . 
     FIG. 4 depicts the exposure adjustment screen  340  that forms part of the graphical user interface displayed on display monitor  52 . The screen includes a “before” correction picture  350 , an “after” correction picture  352 , and a user adjustable exposure setting interface  354  having a control bar  356  with a user adjustable control position setting  358 . When the image to be improved (e.g. image  302   a  in FIG. 3) is first displayed, the CPU  50  displays the uncorrected image as both the “before” correction image  350  and the “after” correction image  352 , and sets the control setting  358  to the middle (e.g. no correction) position. 
     As the user moves the control setting  358  to the left (towards darken) the image data used to display the “after” correction image is modified using a lookup table implementing a non-linear function that nonlinearly modifies the rendered digital image to effect an exposure change. The non-linear function modifies the digital image to cause the brightness of the highlights, mid-tones, and shadows of the modified digital image look the same as if the camera had provided a lower exposure level to the image sensor when the image was captured by the digital camera  10  or the film camera (not shown), as will be described later in reference to FIGS. 6 a - 6   c . Moving the control setting  358  to the right (towards lighten) causes the image data to be modified using a lookup table that causes the modified digital image to appear as if the camera had provided a correspondingly higher exposure level. 
     Instead of a control bar  356 , the user adjustable exposure setting interface  354  could use one of many other well-known user interface techniques, such as up/down arrows, a box for entering a numeric value, or a radio button selector. 
     The exposure setting provided by exposure setting interface  354  is immediately applied to the low resolution data that provides the “after” correction image  352  on the computer screen. The user views the uncorrected image in the “before” correction image  350  and the “after” correction image  352 , and iteratively adjusts control setting  358  until “after” correction image  352  appears to have the proper brightness level for the scene. When the user is satisfied with the setting, the “OK” icon  360  is selected, and control setting  358  is stored in step  114 . In step  116 , if there are more images, the CPU  50  displays the next image selected by the user (e.g. image  302   b  in FIG. 3) as both the “before” correction image  350  and the “after” correction image  352 , and returns the control setting  358  to the middle (e.g. no correction) position. If the user instead selects the “Cancel” button  362 , the exposure control setting is not stored, and the display  52  returns to the thumbnail screen shown in FIG.  3 . Once the last selected image has been exposure corrected, the thumbnail screen shown in FIG. 3 is displayed, using the stored exposure correction settings to modify the thumbnail image data for each of the exposure corrected images (e.g.  302   a ,  302   b ,  302   c , and  302   d ). 
     In step  120 , the user selects images to be printed from the thumbnail screen in FIG. 3 by clicking the mouse  55  on any number of thumbnail images  302  or by using the select all images icon  306  and then selects the print icon  308 . CPU  50  then displays the printing screen  400  shown in FIG. 5, which forms part of the graphical user interface displayed on display monitor  52 . The user then chooses a type of layout using one of several predefined “layout” icons  402  on the periphery of the “print function display screen”  400 . The selection determines how many pictures appear on each page by selecting, for example, 1, 2, 4, 9, or 16 images to be printed per page. Once a predefined layout is chosen, the images to be printed appear in a print preview area  422  on the “print function display screen”  400 . Based on the number of selected pictures to be printed on a page, the program automatically selects the orientation of the images to best fill up the page. FIG. 5 shows, as an example, four images  420   a ,  420   b ,  420   c , and  420   d , which correspond to the selected thumbnail images  302   a ,  302   b ,  302   c , and  302   d , respectively, shown in FIG.  3 . 
     The user then selects number of sets of images to print, for example, three copies of each laid out page. The selection is made by typing in the number of desired sets in a text field on the left portion of the “number of sets” control box  408 , or by using the up and down arrow keys on the right portion of control box  408 . 
     If a user desires to print the images on a local printer  58 , the user selects the media type (e.g. plain paper, Kodak photo paper, or Epson photo paper)  404  in step  122 . Finally, the user selects the “local print” icon  410 . The user can then walk away from the host computer  40 , while each of the selected images is corrected and printed automatically on the local printer  58 , without further user interaction. To perform the correction, the type of printer (e.g. Epson Stylus Photo 700) can be automatically determined from the print driver. The printer calibration table for the particular combination of printer and print media selected by the user, provided with the enablement software, is retrieved from the hard drive  56 , CD-R disc  32 , or floppy disk  34 . In step  128 , the exposure adjustment and printer/media calibration is performed on the image data to be printed as part of the printing process, as will be described later in reference to FIGS. 6 a - 6   c  and FIGS. 7 a - 7   b . In step  130 , this corrected data is used by the local printer  58  to produce exposure corrected prints. 
     Alternately, in step  120  the user may select the internet printing service (e.g. “print at Kodak”) icon  412 . In step  140 , the user enters their credit card number and shipping address using a screen (not shown). In step  142 , the images and the associated exposure adjustment values for any exposure corrected images are sent using modem  60  in the host computer  40  to modem  72  at the printing service provider  70  where they are stored together on hard drive  76 . In step  144 , the exposure adjustment is performed on the image data to be printed, as part of the printing process, as will be described later in reference to FIGS. 6 a - 6   c . In step  146 , exposure corrected prints are mailed to the user. 
     A camera&#39;s exposure setting is determined by the lens f/number and shutter exposure time used when capturing an image. For some types of scenes, for example a picture of a person with the sun or bright sky in the background, the camera may provide too little exposure to the image sensor, as a result of an exposure determination error. The exposure adjustment screen  340 , described earlier in reference to FIG. 3, permits a non-expert user to interactively adjust an image to appear lighter or darker. This compensates for exposure determination errors which occurred when the original image was taken with a digital camera  10  or when film was exposed and scanned to create digital images on a CD-R disc  32  or floppy disk  34 . The resulting exposure corrected digital image is aesthetically pleasing, and has the same tone reproduction as would have been provided had the proper exposure level been used when the image was captured or digitized. 
     FIG. 8 depicts an example of the relationship between the logarithm of the scene luminance values and the output code values for a typical digital camera or digitized film source, such as PictureCD. This demonstrates one possible rendering curve for a rendered (e.g. sRGB) digital image. This curve can be defined as a rendering transform: 
     
       
           CV=T   log (Log  L )  equation 1 
       
     
     where CV is the rendered code value, L is the scene luminance, and T log  is the rendering transform. 
     Due to the non-linear nature of the rendering transform T log , it is not possible to correct for exposure errors in such a rendered digital image by simply adjusting the rendered code values using a function of the form: 
     
       
         CV′=255*(A+B* (CV/255) D )  equation 2 
       
     
     where CV is the uncorrected sRGB code value, CV′ is the corrected sRGB code value, A is an offset (e.g. brightness) correction value, B is a gain (e.g. contrast) correction value, and D is a exponential (e.g. gamma) value. 
     To properly correct for exposure errors, it is desirable to determine what the original relative scene luminance or scene log luminance values were. 
     This can be done, for example, by: 
     (1) Converting the rendered code values back to scene log luminance values using an equation of the form: 
     
       
         Log  E=T   log   −1 ( CV )  equation 3 
       
     
     where T −1 () is the inverse of the rendering transform T 
     (2) Adding an exposure Offset to the scene log luminance values 
     
       
         Log  E′= Log  E+ Offset  equation 4 
       
     
     where Offset is the exposure correction offset 
     (3) Re-rendering the corrected Log E′ value using the rendering transform 
     
       
           CV′=T   log (Log  E ′)= T   log ( T   log   −1 ( CV )+Offset)  equation 5 
       
     
     Alternately, similar equations could be formulated for a rendering function T lin  having as input linear scene luminance values rather than log scene luminance values. In this case, the exposure correction is accomplished by multiplying the linear scene luminance values by a Gain correction value, as shown by: 
     
       
           CV′=T   lin ( T   lin   −1 ( CV )*Gain)  equation 6 
       
     
     Steps (1) through (3) can be combined into a single equation or implemented using a single lookup table derived for a particular exposure correction setting. 
     FIGS. 6 a - 6   c  depict three different exposure modification curve shapes corresponding to three different exposure setting values. FIG. 6 a , shows an exposure setting value of 0, corresponding to no correction. In this case, since the Offset value=0 in equation 5, the output code values are equal to the input code values. The 0 setting is the initial setting for the adjustable control position setting  358  in FIG. 4, and causes the initial “after” correction picture  352  be identical with the “before” correction picture  350 , before the user adjusts the user adjustable control position setting  358 . 
     FIG. 6 b  shows the exposure correction curve shape for an exposure shift of +2 stops. When this lookup table is applied to the image data used for the “before” correction image  350 , it causes the “after” correction image  352  to appear as if the camera used to capture the image (e.g. digital camera  10  ) had provided 2 stops more exposure (e.g. a 4×increase in exposure time) to the image sensor  14  when the image was captured. FIG. 6 c  shows the exposure correction curve shape for an exposure shift of −2 stops. When this lookup table is applied to the image data used for the “before” correction image  350 , it causes the “after” correction image  352  to appear as if, for example, the digital camera  10  had provided 2 stops less exposure (e.g. ¼ the actual exposure time) to the image sensor  14  when this image was captured. 
     For example, the table below shows an example of rendered code values for three different camera exposure levels for a gray scale test chart with 6 neutral patches corresponding to the example rendering transform depicted in FIG.  8 . The column labeled “density” provides the density values of each test patch, where: 
      Density=−log (reflectance)  equation 7 
     The column labeled “CV normal exposure” provides the rendered code values when the sensor was properly exposed when the image was captured. In this case, no exposure correction is required. The column labeled “CV −2 stops exposure” provides the rendered code values when the sensor was underexposed by 2 stops when the image was captured. In this case, the exposure correction curve shape shown in FIG. 6 b  can be used to modify the rendered code values, in order to perform exposure correction to obtain corrected code values similar to those shown in the “CV normal exposure” column. The curve depicted in FIG. 6 b  was calculated using equation 5 with an offset value of +0.6 log luminance units, in order to correct for the −2 stops exposure error. 
     The column labeled “CV +2 stops exposure” provides the rendered code values when the sensor was overexposed by 2 stops when the image was captured. In this case, the exposure correction curve shape shown in FIG. 6 c  can used to modify the rendered code values, in order to perform exposure correction to obtain corrected code values similar to those shown in the “CV normal exposure” column. However, since the upper code values (e.g. the White and Neutral 8 patches) are clipped to the maximum 255 code value, it will be impossible to recover proper code values for these low density patches. The curve depicted in FIG. 6 c  was calculated using equation 5 with an offset value of −0.6 log luminance units, in order to correct for the +2 stops exposure error. 
     
       
         
               
               
               
               
               
             
               
               
               
               
               
             
           
               
                   
               
               
                   
                   
                 CV normal 
                 CV −2 stops 
                 CV +2 stops 
               
               
                 Patch 
                 Density 
                 exposure 
                 exposure 
                 exposure 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                 White 
                 0.05 
                 244 
                 147 
                 255 
               
               
                 Neutral 8 
                 0.23 
                 224 
                 112 
                 255 
               
               
                 Neutral 6.5 
                 0.44 
                 186 
                 79 
                 253 
               
               
                 Neutral 5 
                 0.70 
                 136 
                 50 
                 239 
               
               
                 Neutral 3.5 
                 1.05 
                 79 
                 27 
                 186 
               
               
                 Black 
                 1.50 
                 33 
                 4 
                 97 
               
               
                   
               
             
          
         
       
     
     FIGS. 7 a - 7   b  depict two different printing correction curve shapes which are customized for the combination of print media selected in step  122  and printer determined in step  124 . FIG. 7 a , shows the printing correction curve shape for an Epson color photo stylus 700 printer with Canon ink jet media. FIG. 7 b  shows the printing correction curveshape for an Epson color photo stylus 700 printer with Kodak ink jet printer. The curve shape compensates for the differences in code value to density response of the printers onto the different media. 
     The exposure correction described in relation to FIGS. 6 a - 6   c  and the printing correction described in relation to FIGS. 7 a - 7   b  can be implemented as part of the printing process (e.g. step  128  ) by first applying the exposure correction to the uncorrected full resolution sRGB image using a first lookup table, and then using the output of this first lookup table as the input to a second lookup table which performs the printing correction. Preferably, these two lookup tables are combined into a single lookup table by mapping each input code value through table 1 to the corresponding output of table 2. Using a single lookup table to perform both functions reduces the time required to process the full resolution image data. 
     In an alternate embodiment, exposure adjustment is immediately applied to the full resolution image data, rather than being stored (as in step  114  ) and applied at a later step in the processing (step  128  ). In this embodiment, the exposure correction is immediately applied to compensate for imperfect exposure in the original scene, and the exposure-corrected image is stored. This full resolution exposure-corrected image can later be displayed, e-mailed, or printed. When the image is printed, a custom tone reproduction correction curve shape is used to compensate for the combination of the printer and media, in order to improve the quality of the prints provided by the printer. 
     In another alternate embodiment, the user interface includes, in addition to the exposure setting adjustment, a scene contrast adjustment, as depicted in FIG.  9 . The scene contrast adjustment is useful to provide a preferred contrast setting for certain types of scenes (e.g. flat-looking scenes). In this embodiment, the exposure adjustment screen  340  provides a user adjustable exposure setting interface  354  including both an exposure level control bar  356  with a user adjustable exposure level control setting  358 , and a contrast level control bar  364  with a user adjustable contrast level control setting  366 . When the image to be improved (e.g. image  302   a  in FIG. 3) is first displayed, the CPU  50  displays the uncorrected image as both the “before” correction image  350  and the “after” correction image  352 , and sets both exposure level control setting  358  and contrast level control setting  366  to the middle (e.g. no correction) position. 
     As the user moves the contrast level control setting  366  to the left (towards flatten) the image data used to display the “after” correction image is modified using a lookup table implementing a non-linear function that nonlinearly modifies the rendered digital image to effect an exposure-space decrease in contrast. Moving the contrast level control setting  366  to the right (towards expand) causes the image data to be modified using a lookup table that nonlinearly modifies the rendered digital image to effect an exposure-space increase in contrast. The exposure level control setting  358  provides the same exposure adjustments described earlier in relation to FIG.  4 . Instead of control bars  356  and  364 , the user adjustable exposure setting interface  354  could use one of many other well-known user interface techniques, such as up/down arrows, a box for entering a numeric value, or a radio button selector. 
     To provide the scene contrast adjustment, an additional step is inserted after step 4: 
     
       
         Log  E ″=Log  Ep+M (Log  E ′−Log  Ep )  equation 8 
       
     
     where Ep is the pivot point (for example a middle grey corresponding to a 20% scene luminance value) and M is the contrast multiplier. 
     The exposure corrected and contrast adjusted code values are therefore equal to 
     
       
           CV″=T   log (Log  E ″)  equation 9 
       
     
     The contrast function in equation 7 can be replaced by other types of contrast functions, for example the contrast function described in above-cited commonly-assigned U.S. patent application Ser. No. 09/057,903, incorporated by reference herein. 
     The invention has been described in detail with particular reference to certain preferred embodiments thereof, but it will be understood that variations and modifications can be effected within the spirit and scope of the invention. 
     
       
         
               
             
               
               
               
             
           
               
                   
               
               
                 PARTS LIST 
               
               
                   
               
             
             
               
                   
               
             
          
           
               
                   
                  10 
                 digital camera 
               
               
                   
                  12 
                 lens 
               
               
                   
                  14 
                 image sensor 
               
               
                   
                  16 
                 A/D converter 
               
               
                   
                  18 
                 processor 
               
               
                   
                  20 
                 memory card interface 
               
               
                   
                  22 
                 color LCD image display 
               
               
                   
                  24 
                 user buttons 
               
               
                   
                  26 
                 host interface 
               
               
                   
                  30 
                 removable memory card 
               
               
                   
                  32 
                 CD-R disc 
               
               
                   
                  34 
                 floppy disc 
               
               
                   
                  36 
                 interface cable 
               
               
                   
                  40 
                 host computer 
               
               
                   
                  42 
                 camera interface 
               
               
                   
                  44 
                 CD-ROM drive 
               
               
                   
                  46 
                 floppy disc drive 
               
               
                   
                  48 
                 memory card reader 
               
               
                   
                  50 
                 CPU 
               
               
                   
                  52 
                 display monitor\screen 
               
               
                   
                  54 
                 keyboard 
               
               
                   
                  55 
                 mouse 
               
               
                   
                  56 
                 hard drive 
               
               
                   
                  58 
                 local printer 
               
               
                   
                  60 
                 modem 
               
               
                   
                  70 
                 network printing service provider 
               
               
                   
                  72 
                 modem 
               
               
                   
                  74 
                 computer 
               
               
                   
                  76 
                 hard drive 
               
               
                   
                  78 
                 printers 
               
               
                   
                 100 
                 launch 
               
               
                   
                 102 
                 intro screen 
               
               
                   
                 104 
                 select image source 
               
               
                   
                 106 
                 display thumbnail screen 
               
               
                   
                 108 
                 select images 
               
               
                   
                 110 
                 select image icon 
               
               
                   
                 112 
                 display selected image 
               
               
                   
                 114 
                 user adjusts control 
               
               
                   
                 116 
                 more images 
               
               
                   
                 120 
                 select printing options 
               
               
                   
                 122 
                 select media type 
               
               
                   
                 124 
                 determine printer type 
               
               
                   
                 126 
                 retrieve calibration data 
               
               
                   
                 128 
                 apply exposure adjustment 
               
               
                   
                 130 
                 print images 
               
               
                   
                 140 
                 enter shipping info 
               
               
                   
                 142 
                 transfer images 
               
               
                   
                 144 
                 apply exposure adjustment 
               
               
                   
                 146 
                 mail images 
               
               
                   
                 300 
                 preview picture screen 
               
               
                   
                 302 
                 thumbnail images 
               
               
                   
                 302a 
                 first selected thumbnail image 
               
               
                   
                 302b 
                 second selected thumbnail image 
               
               
                   
                 302c 
                 third selected thumbnail image 
               
               
                   
                 302d 
                 fourth selected thumbnail image 
               
               
                   
                 304 
                 arrow controls 
               
               
                   
                 306 
                 select all icon 
               
               
                   
                 308 
                 print icon 
               
               
                   
                 310 
                 slide show icon 
               
               
                   
                 312 
                 improve image icon 
               
               
                   
                 340 
                 exposure adjustment screen 
               
               
                   
                 350 
                 “before” correction picture 
               
               
                   
                 352 
                 “after” correction picture 
               
               
                   
                 354 
                 exposure setting interface 
               
               
                   
                 356 
                 exposure level control bar 
               
               
                   
                 358 
                 exposure level control setting 
               
               
                   
                 360 
                 OK icon 
               
               
                   
                 362 
                 Cancel icon 
               
               
                   
                 364 
                 contrast level control bar 
               
               
                   
                 366 
                 contrast level control setting 
               
               
                   
                 400 
                 print function display screen 
               
               
                   
                 402 
                 layout icons 
               
               
                   
                 404 
                 media selection menu 
               
               
                   
                 408 
                 copies selection menu 
               
               
                   
                 410 
                 local printing icon 
               
               
                   
                 412 
                 network printing icon 
               
               
                   
                 420a 
                 image 
               
               
                   
                 420b 
                 image 
               
               
                   
                 420c 
                 image 
               
               
                   
                 420d 
                 image 
               
               
                   
                 422 
                 print preview area