Abstract:
The invention relates to a system for dividing a color image in at least three, preferably four separation colors. The inventive system allows to enter the separation colors in a free and location dependent manner. Further for each separation color a location dependent boundary value can be specified. Corresponding separation values are deduced therefrom. In addition, variations of the generated image relatively to the color image are calculated. This allows to perform a color separation into arbitrary colors, which is particularly useful in the field of security printing.

Description:
REFERENCE TO RELATED APPLICATIONS  
       [0001]     This application claims the priority of the European patent application 00110318.3, filed May 13, 2000, the disclosure of which is incorporated herein by reference in its entirety.  
       BACKGROUND ART  
       [0002]     The invention relates to a method and a computer program for color separation according to the preamble of the independent claims.  
       STATE OF THE ART  
       [0003]     Methods or programs of this kind serve as a pre-stage to the printing process. They allow to divide a color image into printing colors, i.e. separation colors. Normally thereby a color image in the RGB-space is divided into its CMYK-components for then being printed with corresponding colors, i.e. Cyan, Magenta, Yellow and Black. However, existing solutions are only conditionally suitable for security and specialty printing, where other kinds of colors are applied.  
       DESCRIPTION OF THE INVENTION  
       [0004]     A problem to be solved by the present invention lies therefore in providing a computer program or a method of the kind mentioned at the outset that-allows a flexible color separation. This problem is solved by the subject of the independent claims.  
         [0005]     According to the invention it is thus possible to specify at least one, preferably all of the separation colors variably, i.e. the user can specify the desired color value for this/these separation color(s), e.g. in form of their RGB-components, and is not bound to a predefined value. Moreover he enters a color image. Than it is calculated how the color image is to be represented best in the desired separation colors. For this the corresponding separation values are determined. These indicate the degree of coverage or the color quantity for the particular separation color.  
         [0006]     Preferably at least one of the separation colors can be specified location dependently. This allows to generate color separations for printing processes where the individual separation colors change depending on the location, which in particular is applicable in security printing. For this, the separation color can e.g. be specified for each image pixel separately. For example the separation color can be specified as a two dimensional arrangement of different color pixels.  
         [0007]     It is also possible to specify for at least one of the separation colors a location dependent range mask. Such a mask can impose an upper or a lower limit to the component of the separation color, which e.g. allows to limit the maximum coverage or to achieve security engineering effects.  
         [0008]     The resulting picture is preferably calculated according to the color components of the separation colors. From the resulting image the deviation to the color image can then be determined, which allows an examination of the quality of the color separation. In particular for this purpose this deviation can be represented location dependently, e.g. by comparing it with a boundary value and marking those areas where the deviation is bigger than the boundary value.  
         [0009]     For the implementation of the method a computer program can be provided, wherein this is to be understood to be an entire application executable under a suitable operating system or a plug-in, i.e. a module, for such an application. Such a program must be able to read a user defined color value for at least one of the separation colors.  
         [0010]     A design as a plug-in for an image processing program, which provides several image layers for two dimensional pixel data, is preferred. In such an environment the input and output data can be provided in a simple way. In particular the color image can be retrievable in one of the image layers. Also the separation colors can be saved location dependently in image layers. As output, the color components can be saved in layer masks, wherein the separation colors are saved in the respective image layers. This allows, in a simple way to generate data for the printing process and/or to visualize the components and effects of the individual separation colors. 
     
    
     SHORT DESCRIPTION OF THE DRAWINGS  
       [0011]     Further embodiments, advantages and applications of the invention are described in the dependent claims as well as in the following description, which makes reference to the enclosed figures. These figures show:  
         [0012]      FIG. 1  an implementation of the method according to the invention and  
         [0013]      FIG. 2 a  flow diagram at the execution of a program. 
     
    
     MODES FOR CARRYING OUT THE INVENTION  
       [0014]     The method or the computer program according to the present invention starts from a color image C T , which is e.g. given as an arrangement of image pixels in a color space. Normally this is a three dimensional color space, such as the RGB-space or an other CIE-XYZ space.  
         [0015]     Preferably four (possibly also only three or more than four) separation colors C 1 , C 2 , C 3  and C 4  are given, and, where applicable, one background color C 0 . The separation colors C 1 , C 2 , C 3  and C 4  correspond to the printing colors, in which the given color image is to be printed.  
         [0016]     In particular in security printing it is possible that the separation colors are location dependent, i.e. that they have different values for different image pixels.  
         [0017]     During printing, the separations colors C 1 , C 2 , C 3  and C 4  are applied according to their so called separation values α 1 , α 2 , α 3 , and α 4  (half tone method), such that an optically recognizable color C(α 1 , α 2 , α 3 , α 4 ) results. The separation values describe how intensely each separation color is to be employed.  
         [0018]     To be found are those separation values α 1 , α 2 , α 3 , and α 4  that result in a as realistic as possible representation of the color image C T . Under “as realistic as possible” for a color C T , the particular printing color C is to be understood for which e.g. |C T −C| 2  (or a different, suitable measure) is minimal.  
         [0019]     In the appendix a method is described how, for a given color C T  and for given separation colors C 1 , C 2 , C 3  and C 4 , suitable separation values α 1 , α 2 , α 3  and α 4  can be found for obtaining a representation C of the color C T  that is as realistic as possible.  
         [0020]     A specific implementation of the method in the form of a plug-in  1  for an image processing program  2  is represented in  FIG. 1 . The image processing program  2  may be e.g. the product “Photoshop” of the firm Adobe Systems Incorporated. Such image processing programs allow to integrate extensions as so called “Plug-ins”. These techniques are known to persons skilled in the art.  
         [0021]     The program code of the plug-in  1  performs, when it is called, the steps described in the following.  
         [0022]     When the plug-in is executed, it firstly asks the user for the input parameters. Then it accesses a file “In” for determining the color image and the separation colors. It then calculates the separation values α 1 , α 2 , α 3  and α 4  and saves them in a file “Out”.  
         [0023]     Both files are managed and displayed by the image processing program  2 . Each file has several image layers  3   a - 3   e  or  4   a - 4   e . Each image layer saves pixel data as well as a layer mask. The pixel data are a two dimensional array of color values, e.g. in RGB-format. The layer mask is a two dimensional array of the same size of mask values, wherein each mask value e.g. is a number between 0 and 255.  
         [0024]     The flow during execution of the plug-in  2  is shown in  FIG. 2 :  
         [0025]     In a first step  10  the user is asked for input parameters. For this he specifies four different image layers of the file “In”.  
         [0026]     The layer of the color image to be separated:  
         [0027]     In this layer the color image for which a color separation is to be performed is stored.  
         [0028]     Four layers for the separation colors C 1 , C 2 , C 3  and C 4 : In the pixel data of these layers the particular separation color is stored. This allows the user, using the tools of the image processing program  2 , to define each separation variably and individually. He is not bound to predefined separation colors. Each separation color can also be location dependent, i.e. in a left part of the image, e.g. different RGB-values can be used for the separation color than in a right part of the image. Moreover, in the layer mask of each of these layers a range mask can be saved. This indicates, for each pixel of the separation color C i , a boundary value for the separation value α 1 , for example an upper boundary value.  
         [0029]     Use of the boundary values: Here the user can indicate if the boundary values saved in the layer masks of the layers of C 1 , C 2 , C 3 , C 4  are to be taken into account.  
         [0030]     In step  11  the results are calculated. These are the separation values α 1 , α 2 , α 3  and α 4  and there deviation C T −C. This is done pixel by pixel. For each pixel of the color image the separation colors C 1 , C 2 , C 3 , C 4  from the respective layers  3   b - 3   e  are loaded, as well as, where applicable, the respective boundary values. Then the separation values α 1 , α 2 , α 3  and α 4  for the respective pixel are calculated, e.g. with the algorithm indicated in the appendix.  
         [0031]     In step  12  these results are saved in the file “Out”, wherein this is created if necessary. The file “Out” contains the layers  4   a ,  4   b ,  4   c ,  4   d , whose pixel data correspond to those of the layers  3   b ,  3   c ,  3   d ,  3   e  of the file “In”, i.e. contain the separation colors C 1 , C 2 , C 3 , C 4 . The layer masks of these layers contain the separation values α 1 , α 2 , α 3  and α 4 . Finally in a layer  4   e  of the file “Out” the deviation is saved.  
         [0032]     The resulting image C is determined computationally from the values of the C k  and α k , namely from:  
       C   =     255   ·       ∏     k   =   1     4     ⁢           ⁢     (     1   -       α   k     ·     (     1   -       C   k     /   255       )         )             
 
         [0033]     The level  4   e  of the file “out”, which indicates the deviation C T −C, can, as pixel data, e.g. contain the color image from level  3   a  of the file “In”, and namely for all those pixels where the deviation |C T −C| is above a predefined boundary value. The other pixels are white or transparent. In the layer mask of layer  4   e  the deviation |C T −C| scaled from 0 to 255 for the respective pixel is saved.  
         [0034]     This allows to represent the deviation, and in particular the ranges of the color image with large deviation, location dependently. They can also be blended over the resulting image.  
         [0035]     The possibility to indicate a boundary value for each separation color allows, e.g., to use two colors that are substantially identical, but have different optical properties in other spectral ranges, e.g. a different fluorescence at UV-irradiation. In a region where the first of the two colors is to be used, the upper boundary value of the second color is set to 0 and vice versa.  
         [0036]     It is also thinkable to specify more than four separation colors. In this case too, with the methods indicated in the appendix, respective separation values α k  can be determined. On the other hand, only three separation colors can be used, which, however, can result in losses in the image quality.  
         [0037]     In the example above the method according to the invention is implemented as a plug-in for an image processing program. It is also possible to implement the method as a stand alone application with its own user interface, which loads and saves its data directly using the particular operating system.  
         [heading-0038]     Appendix:  
         [0039]     If a picture is printed in four separation colors C 1 , C 2 , C 3 , C 4  on a background with color C 0  with four half tone rasters, 16 different colors can result. These are: 
        C 0 : background color     C 1 : fundamental color 1     C 2 : fundamental color 2     C 3 : fundamental color 3     C 4 : fundamental color 4     C 12 : combination of C 1  and C 2       C 13 : combination of C 1  and C 3       C 14 : combination of C 1  and C 4       C 23 : combination of C 2  and C 3       C 24 : combination of C 2  and C 4       C 34 : combination of C 3  and C 4       C 123 : combination of C 1 , C 2  and C 3       C 124 : combination of C 1 , C 2  and C 4       C 234 : combination of C 2 , C 3  and C 4       C 1234 : combination of C 1 , C 2 , C 3  and C 4          
 
         [0055]     For the calculation of the separation values the above mentioned color combinations are identified by their tristimulus-values in a 3D-color space (e.g. RGB or CIE-XYZ space), i.e. it is C*∈IR 3 .  
         [0056]     The Neugebauer-equation now models the resulting color C as a linear function of the color C* and its respective spatial components a*.  
       C   =         a   0     ⁢     C   0       +       a   1     ⁢     C   1       +       a   2     ⁢     C   2       +       a   3     ⁢     C   3       +       a   4     ⁢     C   4       +       a   12     ⁢     C   12       +       a   13     ⁢     C   13       +       a   14     ⁢     C   14       +       a   23     ⁢     C   23       +       a   24     ⁢     C   24       +       a   34     ⁢     C   34       +       a   123     ⁢     C   123       +       a   124     ⁢     C   124       +       a   134     ⁢     C   134       +       a   234     ⁢     C   234       +       a   1234     ⁢     C   1234             
 
         [0057]     If one assumes that the coefficients a* behave according to the overlapping model of Demichel, i.e. that they can be expressed as a function of half tone intensities or separation values α 1 , α 2 , α 3  and α 4  (independent rasters), the Neugebauer-Equation is written as C: IR 4 →IR 3 , or written in detail:  
         C   ⁡     (       α   1     ,     α   2     ,     α   3     ,     α   4       )       =         (     1   -     α   1       )     ⁢     (     1   -     α   2       )     ⁢     (     1   -     α   3       )     ⁢     (     1   -     α   4       )     ⁢     C   0       +         α   1     ⁡     (     1   -     α   2       )       ⁢     (     1   -     α   3       )     ⁢     (     1   -     α   4       )     ⁢     C   1       +       (     1   -     α   1       )     ⁢       α   2     ⁡     (     1   -     α   3       )       ⁢     (     1   -     α   4       )     ⁢     C   2       +       (     1   -     α   1       )     ⁢     (     1   -     α   2       )     ⁢       α   3     ⁡     (     1   -     α   4       )       ⁢     C   3       +       (     1   -     α   1       )     ⁢     (     1   -     α   2       )     ⁢     (     1   -     α   3       )     ⁢     α   4     ⁢     C   4       +       α   1     ⁢       α   2     ⁡     (     1   -     α   3       )       ⁢     (     1   -     α   4       )     ⁢     C   12       +         α   1     ⁡     (     1   -     α   2       )       ⁢       α   3     ⁡     (     1   -     α   4       )       ⁢     C   13       +         α   1     ⁡     (     1   -     α   2       )       ⁢     (     1   -     α   3       )     ⁢     α   4     ⁢     C   14       +       (     1   -     α   1       )     ⁢     α   2     ⁢       α   3     ⁡     (     1   -     α   4       )       ⁢     C   23       +       (     1   -     α   1       )     ⁢       α   2     ⁡     (     1   -     α   3       )       ⁢     α   4     ⁢     C   24       +       (     1   -     α   1       )     ⁢     (     1   -     α   2       )     ⁢     α   3     ⁢     α   4     ⁢     C   34       +       α   1     ⁢     α   2     ⁢       α   3     ⁡     (     1   -     α   4       )       ⁢     C   123       +       α   1     ⁢       α   2     ⁡     (     1   -     α   3       )       ⁢     α   4     ⁢     C   124       +         α   1     ⁡     (     1   -     α   2       )       ⁢     α   3     ⁢     α   4     ⁢     C   134       +       (     1   -     α   1       )     ⁢     α   2     ⁢     α   3     ⁢     α   4     ⁢     C   234       +       α   1     ⁢     α   2     ⁢     α   3     ⁢     α   4     ⁢     C   1234             
 
         [0058]     For a given color C T  the calculation of the separation values α 1 , α 2 , α 3  and α 4  in respect to the separation colors C 1 , C 2 , C 3 , C 4  results by inverting the equation system 
 
 C (α 1 , α 2 , α 3 , α 4 )= C   T   (1) 
 
         [0059]     This equation system with three equations and 4 unknowns is under-determined and there exist in general infinitely many solutions. For unique solvability, a limitation 
 
 g (α)=∥− p∥   2  minimal  (2) 
 
 is introduced, wherein α=(α 1 , α 2 , α 3 , α 4 ) and p∈IR 4  can be chosen arbitrarily, e.g. p=0. 
 
         [0061]     The problem can now be regarded as an extremal value problem (2) with boundary conditions (1). The corresponding Lagrange&#39;s principal function Φ: IR 7 →IR is 
 
Φ(α, λ)= g (α)+         λ,  C (α)−C T           , 
 
 wherein λ∈IR 3  and          .,.          designates the scalar product in IR 3 . The corresponding theorem of Lagrange says that the solutions of the equation system 
 
∇(α, λ)=0  (3) 
 
 coincide with the solutions of systems (1) and (2). Here ∇ designates the gradient in respect to α and λ. The equation system (3) consist of 7 unknowns and 7 equations and can be solved with standard methods as they are known from numerics. 
 
         [0064]     If the equation (1) cannot be solved, the deviation |C(α 1 , α 2 , α 3 , α 4 )−C T | is minimized.  
         [0065]     This formalism can also be generalized for calculations with more than four separation colors. For getting unique solutions, further boundary conditions of the kind of formula (2) can be provided if necessary.  
         [0066]     The formalism above is based on the assumption that the printing rasters are independent for the particular separation colors. If the rasters are not independent from each other, the calculation of C(α 1 , α 2 , α 3 , α 4 ) is to be adapted accordingly. In general the present method is suitable for the use with arbitrary rasters, also non standard rasters.  
       REFERENCES  
       [0067]    
       
          [1] H. E. J. Neugebauer, “Die theoretischen Grundlagen des Mehrfarbendruckes”,  Zeitschrift für wissenschaftliche Photographie, Photophysik und Photochemie  36, p. 73-89 (1937).  
          [2] E. Demichel,  Procede  26, p. 17-21, p. 26-27 (1924).  
          [3] H. R. Kang, “Color Technology for Electronic Imaging Devices”, SPIE Optical Engineering Press (1997).  
          [4] K. J. Heuberger, Z. M. Jing, “Farbtransformation von RGB zu CMY”,  UGRA Bericht  105/1, St. Gallen 1991.  
          [5] H. Heuser, “Lehrbuch der Analysis”, B. G. Teubner Stuttgart.  
          [6] W. H. Press, B. P. Flannery, S. A. Teukolsky, W. T. Vetterling, “Numerical Recipes”, Cambridge University Press (1992).  
       
     
         [0073]     While in the present application preferred embodiments of the invention are described, it is to be clearly pointed out, that the invention is not limited to these and can be embodied also in a different way within the scope of the following claims.