Abstract:
An image processing system receives image input terminal information and image output terminal information. Based on the content of the image input terminal information and the image output terminal information a new system tone reproduction curve is determined. This device independent methodology allows system tone reproduction curves to be generated as needed, and allows the additional flexibility for changes in the image input terminal or the image output terminal.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of Invention 
     This invention is related to image processing systems. In particular, this invention is directed towards systems and method that automatically determine an image processing system tone reproduction curve. 
     2. Description of Related Art 
     An image processing system tone reproduction curve (TRC) represents what the image processing portion of the system should output in gray level given a particular gray level input. The tone reproduction curve is derived from combining the characteristics of other portions of the system. In particular, the tone reproduction curve is based on characteristics of the image input terminal (IIT), image output terminal (IOT) and system tone reproduction curves. The resulting image processing system tone reproduction curve compensates for the image input terminal and image output terminal characteristics to arrive at the desired system output. In particular, image processing system tone reproduction curves are created during the product development phase and stored in data files on the actual device, or, for example, in the accompanying driver or software files. Therefore, each possible mode and each possible combination of image adjustment, such as contrast and brightness, has an associated image processing system tone reproduction curve stored in a data file. The data file corresponding to the image input terminal information and the image output terminal information was then referenced and applied by the image processing sub-system to the input image information. 
     SUMMARY OF THE INVENTION 
     By calculating all of the different permutations to account for image input terminal information and image output terminal information a great number of calculations were needed to derive the adjusted system tone reproduction curves. Furthermore, a tremendous amount of storage space is required to store all of the dedicated tone reproduction curves. For example, if the image processing system had three modes of processing with 7 contrast and 7 brightness levels for each mode, a total of 147 tone reproduction curves would need to be created. If each tone reproduction curve then had 256 points, and these points were stored as unsigned integers having 2 bytes per value, the total storage space needed would be approximately 75 kb. As more modes and more adjustments are needed, the storage space required and the time spent on creating all of the different combinations increases exponentially. 
     Accordingly, the systems and methods of this invention determine the image processing system tone reproduction curve automatically. In particular, upon a user selecting a particular mode of processing for the image processing device, such as photo, fine halftone, text, line art, or the like, a nominal system tone reproduction curve is referenced. Adjustments can be made to this nominal tone reproduction curve, such as contrast or brightness, as detailed in co-pending U.S. patent application Ser. No. 09/512,888, filed Feb. 25, 2000, now U.S. Pat. No. 6,753,987 B1 to Farnung et al. and incorporated herein by reference in its entirety. After any adjustments are made to the nominal tone reproduction curve, for example, using the systems and methods of co-pending U.S. patent application Ser. No. 09/512,769, filed Feb. 25, 2000 now U.S. Pat. No. 6,538,661 B1 to Farnung et al. and incorporated herein by reference in its entirety, the adjusted system tone reproduction curve is cascaded with the other tone reproduction curves which represent the image output terminal tone reproduction curve and the image input terminal tone reproduction curve. For example, the image output terminal tone reproduction curve can be selected by a user to correspond to a scanner, but may be fixed if the image processing system is, for example, a photocopier. 
     The result is that an image processing system tone reproduction curve is determined which can be used by an image processing sub-system therefore eliminating the time required to generate all of the possible combinations of tone reproduction during the product development phase, and also eliminating the need for storage space to store all of the dedicated tone reproduction curves. Furthermore, since the systems and methods of this invention use a device independent methodology, there is no need to predetermine all of the possible tone reproduction curve combinations if there is a change in the input or the output device. 
     This invention provides systems and methods that determine an image processing system tone reproduction curve. 
     This invention separately provides systems and methods that automatically determine a tone reproduction curve based on at least one of current image input terminal information and image output terminal information. 
     This invention additionally provides systems and methods that determine a gain, a black point, and an “L value” that represents a finite set of points which represent the desired input and output relationship for the system. 
     These and other features and advantages of this invention are described in, or apparent from, the following detailed description of the preferred embodiments. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The preferred embodiments of this invention will be described in detail, with reference to the following figures, wherein: 
         FIG. 1  is a functional block diagram showing an exemplary image processing system according to this invention; and 
         FIG. 2  is a flow chart outlining one exemplary embodiment of a method for determining an image processing system tone reproduction curve according to this invention. 
     
    
    
     DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS 
     An image processing system receives image input data from an image source. Additionally, the image processing system retrieves information pertaining to the image source. A nominal system tone reproduction curve is then retrieved and converted to reflectance. The system reflectance values are then cascaded with the image source (IIT) tone reproduction curve to obtain the image processing system gray level values. If a system reflectance value is equal to an image source curve reflectance value, then the corresponding gray level out is used. Alternatively, if the system reflectance value is in between two image source curved reflectance values, then a new gray level out is calculated. 
     Next, the resulting system gray level is adjusted by a gain and an offset. The gain represents the inherent gain associated with the system tone reproduction curve and is calculated from a nominal system tone reproduction curve. The offset is calculated from the system tone reproduction curve and represents the theoretical output gray value when the input gray value is zero. The results of the calculation represent the new image processing system tone reproduction gray level. 
     Next, the image processing system tone reproduction curve gray level out is calculated. In particular, the image sink information is retrieved. Then, the system tone reproduction curve gray level out is determined. If the determined system value is equal to the image sink (IOT) value, then the corresponding gray level is used. Alternatively, if the system value is in between two image sink (IOT) values, then a new gray level is calculated. 
     The final image processing system tone reproduction curve is determined by combining the results of the system gray level determination and the system gray level out determination. This data file is then used by the image processing sub-system to adjust the image data to match the input and output relationship specified by the system tone reproduction curve for the mode of processing. 
       FIG. 1  illustrates an exemplary flow chart of an image processing system according to this invention. In particular, the image processing system  100  comprises an I/O device  110 , a controller  120 , a memory  130 , a reflectance determination device  140 , a gray level determination device  150 , and an image processing sub-system  160  all interconnected by link  105 . Additionally, the image processing system  100  is connected to one or more image sources  200  and one or more image sinks  300 . 
     The image source  200  can be any device that stores and/or generates an electronic version of an image. 
     Thus, the image can be a printed hard-copy version of the image, and the image source  200  can be a scanner that scans and outputs an electronic version of the image over the link  105  to the image processing system  100 . Furthermore, the image source  200  and image processing system  100  can be elements integrated into a digital photocopier. 
     Similarly, the image source  200  can be a server or other node on a local area network, a wide area network, an intranet, the Internet, or any other distributing network. In this case, the image is already stored on the network in electronic form. 
     The image sink  300  receives the output of the image processing system  100 . Thus, the resulting image received by the image sink  300  can be a printed or hard-copy version of the input image, and the image sink  300  can be a printer. Similarly, the image sink  300  can be a monitor which is capable of displaying an electronic version of the resulting image for viewing. Furthermore, the image source  200 , the image processing system  100  and the image sink  300  can be elements integrated into a single device, such as a photocopier. 
     Similarly, the image sink  300  can be a server or other node on a local area network, a wide area network, an intranet, the Internet, or any other distributing network. In this case, the resulting image is transferred and stored on the network in electronic form. 
     The link  105  can be any wired or wireless link, or combination thereof, that supply image information between the connected elements. Thus, the image source  200  and the link  105  can be any known or later developed element(s) that is (are) capable of supplying an electronic image to the image processing system  100 . Furthermore, the image sink  300  and the link  105  can be any known or later developed element(s) that is (are) capable of receiving an outputting or storing the resulting electronic image from the image processing system  100 . 
     The image processing system  100  receives electronic image data from the image source  200 , via link  105 . Additionally, the image processing system  100  receives information about the image source  200 , such as an identification of the type of image source. Having received electronic image information, and knowing the image source  200 , the image processing system  100 , in cooperation with controller  120  and memory  130  retrieves the stored system tone reproduction curve data. This system tone reproduction curve can be a contrast or a brightness adjusted tone reproduction curve, such as those described in U.S. Pat. No. 6,753,987 B1. This system tone reproduction curve data file contains a finite set of points that represent the desired input and output relationship for the image processing system  100 . In the following description of the image processing system according to this invention, this relationship is represented as L* in  and L* out . 
     Next, the reflectance determination device  140  determines reflectance values based on the tone reproduction curve L* in  values. In particular, the reflectance in is determined in accordance with a bounded-domain piecewise-continuous relation: 
                   R   in     =         L   in   *     903.3     ⁢           ⁢   for   ⁢           ⁢     L   in   *     ⁢           ⁢   values   ⁢           ⁢   less   ⁢           ⁢   than   ⁢           ⁢   8       ,   and     ⁢     
     ⁢       R   in     =         (         L   in   *     +   16     116     )     3     ⁢           ⁢   for   ⁢           ⁢     L   in   *     ⁢           ⁢   values   ⁢           ⁢   greater   ⁢           ⁢   than   ⁢           ⁢   8               (   1   )             
 
where
         L* in  is the system TRC L* in , values, and   R in  is the system reflectance in R in  values.       

     While the relation is a piecewise continuous function of R in  in L* in , the first derivative of the function is not necessarily continuous. The determined reflectance values are then cascaded by the controller  120  with the image source tone reproduction curve to obtain the system gray (or grey) level values g. The image source tone reproduction curve is represented as reflectance in versus gray level out. The image source reproduction curve can be stored in a data file representing the nominal input and output relationship for the image source. 
     Alternatively, the image source tone reproduction curve could possibly be provided by a real-time measurement or be selected from a stored bank of tone reproduction curves representing the possible image sources. Cascading is achieved by comparing each system reflectance value to the image source curve reflectance values. If a system reflectance value is equal to an image source curve reflectance value, then the corresponding gray level out is used. Alternatively, if the system reflectance value is in between two image source curve reflectance values, then a new gray level out g′ is determined through linear interpolation as follows: 
               g   ′     =     (         (       g   h     -     g   1       )     ×     (     R   -     R   1       )         (       R   h     -     R   1       )       )             (   2   )             
         where:   g′ is the system gray level out,   R is the system reflectance value,   R l  and R h  are the lower and higher reflectance values on the IIT TRC, respectively, and   g l  and g h  are the lower and higher gray level values on the IIT TRC, respectively.       

     This new gray level out is then adjusted by a gain and an offset to align the new gray level out value with the system tone reproduction curve gain value. In particular, the gray level is adjusted in accordance with:
 
 g ″=gain× g ′+offset  (3) 
 
where:
         g″ is the adjusted system gray level out,   gain is the coefficient calculated from the system curve, and   offset is the bias calculated from the system curve.       

     The gain represents the inherent coefficient associated with the system tone reproduction curve and is determined from the nominal system tone reproduction curve by: 
             gain   =     255     (     wp   -   bp     )               (   4   )             
         where:   wp is the computed white point (the “darkest white”, in other words, the lowest input gray level for which the output gray level is 255), and   bp is the computed black point, or the highest input level for which the output level is zero. This black point can then be adjusted to effect background suppression as detailed in co-pending U.S. patent application Ser. No. 09/512,887, filed Feb. 25, 2000, now U.S. Pat. No. 6,618,171 B1 to Tse et al. incorporate herein by reference in its entirety.       

     The wp is obtained from the system curve by converting the second highest L* input point from the system curve to a gray value g using Equations 1 and 5. 
             wp   =       (     255   0.92     )     ×     R   in               (   5   )             
         where:   R in  is the computed reflectance in value from Equation 1 for the point in question.       

     The bp is obtained from the system curve by converting the second lowest L* input point from the system curve to a gray value using Equations 1 and 5. 
     Then, the offset is determined by:
         offset=−gain×bp  (6)
 
The point determined from Equation 3 represents the new image processing system tone reproduction curve gray level in values.
       

     Next, the image processing system tone reproduction curve gray level out values are determined. In particular, the system tone reproduction curve L* out  values are cascaded through the image sink  300  tone reproduction curve. The image sink tone reproduction curve is represented as the gray level out g′ versus the L* out . Therefore, each system L* out  is compared to an image sink L* out  value. If a system value is equal to an image sink value, then a corresponding gray level is used. However, if the system value is in between two image sink values, then a new gray level is determined through linear interpolation. In particular, the new gray level g′ is defined by: 
               g   ′     =       g   l     ⁡     (         (       g   h     -     g   l       )     ×     (       L   *     -     L     10   ⁢   Tl     *       )         (       L     10   ⁢   Th     *     -     L     10   ⁢   Tl     *       )       )               (   7   )             
     where:
       g′ is the new system gray level,   L* is the system L* out  value,   L* IOTl  and L* IOTh  are the lower and higher L* out  values on the IOT TRC, respectively, and   g l  and g h  are the lower and higher gray level values on the IOT TRC, respectively.   
       

     The final image processing system tone reproduction curve data file is then created by combining the system gray level in values and the system gray level out values. This data file is then stored in memory  130  and can be used by the image processing sub-system  160  to adjust the image data to match the input and output relationship specified by the system tone reproduction curve for the mode of processing, e.g., image source and image sink. 
     In addition to the image processing system tone reproduction curve, the image processing system  100  can output a gain, a black point, and an open “L value”. The gain and black point can be used, for example, as default input image adjustments and the L value can be used, in conjunction with the black point to determine the amount of background suppression as discussed in U.S. Pat. No. 6,198,845 to Tse et al., and U.S. patent application Ser. No. 09/159,038 filed Sep. 23, 1998, now abandoned both of which are incorporated herein by reference in their entirety. 
       FIG. 2  illustrates the operation of the image processing system according to this invention. Specifically, control begins in step S 100  and continues to step S 110 . In step S 110 , the image input data are received. Next, in step S 120 , the image source information is retrieved. Then, in step S 130 , the system tone reproduction curve data are retrieved. Control then continues to step S 140 . 
     In step S 140 , the reflectance values are determined for the system tone reproduction curve input values. Next, in step S 150 , the system grade level values are determined. Then, in step S 160 , a determination is made whether the system reflectance value is equal to the image source (IIT) curve reflectance values. 
     If the system reflectance value is equal to the image source curve reflectance value, control continues to step S 170  where the corresponding gray level output the system reflectance value is used. Control then jumps to step S 190 . Otherwise, control continues to step S 180  where a new gray level output value is determined. Control then continues to step S 190 . 
     In step S 190 , the gray level is adjusted by a gain and an offset. Next, in step S 200 , the image sink (IOT) information is retrieved. Next, in step S 210 , the tone reproduction curve gray level out value is determined. Then, in step S 220 , a determination is made whether the system value is equal to the image sink value. If the system value is equal to the image sink value, control continues to step S 230  where the corresponding gray level is used. Otherwise, control jumps to step S 240  where a new gray level is determined. Control then continues to step S 250 . 
     In step S 250 , system gray level value is combined with the system gray level out value to obtain the final image processing system total reproduction curve data. Control then continues to step S 260  where the control sequence ends. 
     As shown in  FIG. 1 , the image processing system is preferably implemented either on a single program general purpose computer or separate programmed general purpose computer, with associated image source and image sink devices. However, the image processing system can also be implemented on a special purpose computer, a programmed micro-processor or micro-controller and peripheral integrated circuit element, and ASIC or other integrated circuit, a digital signal processor, a hard-wired electronic or logic circuit such as a discrete element circuit, a programmable logic device such as a PLD, PLA, FPGA, PLA or the like. In general, any device capable of implementing a finite state machine that is in turn capable of implementing the flowchart shown in  FIG. 2  can be used to implement the image processing system according to this invention. 
     Furthermore, the disclosed method may be readily implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation hardware platforms. Alternatively, it disclosed image processing system may be implemented partially or fully in hardware using standard logic circuits or a VLSI design. Whether software or hardware is used to implement the systems in accordance with this invention is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software or hardware systems or microprocessor or microcomputer systems being utilized. The image processing systems and methods described above, however, can be readily implemented in hardware or software using any systems or structures, devices and/or software by those skilled in the applicable art without undo experimentation from the function of the described provided herein together with a general knowledge of the computer arts. 
     Moreover, the disclosed method may be readily implemented as software executed on a programmed general purpose computer, a special purpose computer, a micro-processor or the like. In this case, the methods and systems of this invention can be implemented as a routine embedded on a personal computer or as a resource residing on a server or graphics work station, such as a routine imbedded in a photocopier printer driver, or the like. The image processing system can also be implemented by physically incorporating the systems and methods into a software and/or hardware system, such as the hardware and software system of a personal computer, a photocopier, or a dedicated information processing system. 
     It is, therefore, apparent that there has been provided in accordance with the present invention, systems and methods for determining an image processing system tone reproduction curve. While this invention has been described in conjunction with the preferred embodiments thereof, it is evident that many alternatives, modifications and variations would be apparent to those skilled in the art. Accordingly, all such alternatives, modifications and variations that follow in the spirit and scope of this invention are embraced.