Abstract:
Color compensation is performed in color images for use in an image processing field which is employed for three-dimensional computer graphics and the like by making a luminance value of texture data coincide with an intensity derived by an intensity calculation. Also, lightness compensation is performed for a color image according to a display scene. From measurements of color changes of plural colors in a uniform color space, a color change of arbitrary texture data under a chromatic color light source is represented and compensated. The generated image is very natural because compensation is achieved between a lightness of a texture itself representing a pattern on the surface of an object and an intensity of the surface of the object derived by an intensity calculation when an image is generated.

Description:
This application is a continuation of application Ser. No 07/597,360, filed Oct. 10, 1990 (abandoned). 
    
    
     BACKGROUND OF THE INVENTION 
     This invention relates to a method and an apparatus for compensating for color in color images in the image processing field. Conventionally, in the three-dimension computer graphics field, no compensation has heretofore been made between a luminance of a texture itself representing a pattern on the surface of an object and an intensity of the surface of the object derived by an intensity calculation when an image is generated. For this reason, a generated image has a lightness different from that of the original object and therefore appears awkward or unnatural. Also, the display characteristics of a display apparatus have not been considered with respect to generation of images, which results in displaying unnatural images having a changed hue. Further, when a colored light source is used, there has not been heretofore provided a method for representing a change in color of a texture, so that natural images have not been generated under such colored light source. 
     SUMMARY OF THE INVENTION 
     It is an object of the present invention to provide a definite formula representing a relationship between an intensity of an object derived by an intensity calculation and a lightness or a luminance of a texture by the use of a uniform color space, to thereby generate an image quality close to that of a photograph. 
     To achieve the above object, the present invention employs the following methods. In the discussion below, the luminance and lightness are assumed to be interchangeable with each other by a color-space conversion. 
     Color image data is converted to a uniform color space, and a luminance of an object is calculated from a ratio of an intensity on the surface of the object derived by an intensity calculation to a maximal intensity, the reflectance of the object and the luminance of a standard white. 
     When a lightness of a surface irradiated with a chromatic color reference light is calculated from a lightness of the surface irradiated with an achromatic color reference light, such lightness is calculated by a standard white irradiated with the achromatic and chromatic color reference lights and a mapping representing a displacement amount of an arbitrary color in a color space which is calculated based on chromaticity coordinates of a standard color patch. 
     When the lightness of color image data is to be changed, a saturation is changed in proportion to a changing rate of the lightness within a range which does not exceed the lightness of the standard white irradiated with the chromatic color reference light, or the saturation is decreased in proportion to the changing rate of the lightness. 
     When a range of a display luminance of output images to be displayed is to be compensated for, the display luminance of an image output apparatus is calculated from a median display luminance and a maximal display luminance and a minimal display luminance and a luminance of color image data. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram schematically showing an embodiment of a method and an apparatus for compensating for color in color image according to the present invention; 
     FIG. 2 is a diagram showing how an intensity is calculated by a mutual reflection; 
     FIGS. 3A and 3B are diagrams showing the coordinates of a standard color patch in a color space irradiated with an achromatic color reference light and a chromatic color reference light; 
     FIG. 4 is a diagram showing an example of measuring a lightness, a saturation and a hue of a standard color patch having a lightness of 70 when irradiated with a chromatic color reference light Tc; and 
     FIG. 5 is a diagram representing an example of handling a saturation which may be needed by a change in lightness. 
    
    
     DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     An embodiment of a method and an apparatus for compensating for color in color images according to the present invention will hereinafter be explained with reference to the accompanying drawings. FIG. 1 shows an embodiment of a method and an apparatus for compensating color in color images according to the present invention. FIG. 2 shows how an intensity is calculated by a mutual reflection. FIGS. 3A and 3B are diagrams showing the coordinates of a standard color patch in a color space irradiated with an achromatic color reference light and a chromatic color reference light. FIG. 4 is a diagram showing an example of measuring a lightness, a saturation and a hue of a standard color patch having a lightness of 70 when irradiated with a chromatic color reference light Tc. FIG. 5 is a diagram representing an example of handling a saturation which may be needed by a change in lightness. 
     A color conversion unit 1 converts the coordinates of each pixel of texture data previously inputted by an image inputting apparatus such as a scanner to a uniform color space. The uniform color space is defined as a space in which a difference between every two chromaticity points is all equivalent. In this embodiment, a CIELAB uniform color space is given as an example of the uniform color space and the texture data is assumed to be represented by an RGB color system, wherein R, G and B designate coordinates respectively representing red, green and blue components of respective pixels of an image. 
     The color conversion unit 1 converts data in the RGB color system through an XYZ color system to L* a* and b* which is one of the uniform color spaces. A series of these conversions are given by the following formulae (1) and (2), wherein L* represents a lightness, and a* and b* together represent a hue and a saturation. The hue is given by tan -1  (b*/a*), and the saturation by (a*·a*+b*·b*) 1/2 . Further, X, Y and Z represent tristimulus values represented by the XYZ color system, wherein Y corresponds to the luminance. ##EQU1## 
     
         L*=116(Y/Y.sub.0).sup.1/3 -16 
    
     
         a*=500[(X/X.sub.0).sup.1/3 -(Y/Y.sub.0).sup.1/3 ] 
    
     
         b*=200[(Y/Y.sub.0).sup.1/3 -(Z/Z.sub.0).sup.1/3 ]          (2) 
    
     where X 0 , Y 0  and Z 0  represents values X, Y and Z for the standard white. 
     Next, an intensity processing unit 2 calculates an intensity by the use of data indicative of the shape of an object, the reflectance of the surface of the object, which is one of attribute data representing optical characteristics, and light source data. One of the methods for calculating the intensity may be effected by mutual reflection. 
     The intensity calculation by mutual reflection calculates an intensity of the surface of an object from the position, shape and light emitting characteristics of light sources, the position and area of the object which are included in shape data of the object, and optical characteristics representing a condition of the surface which is an attribute of the object. Such calculation of an intensity of the surface of an object is achieved by first calculating an intensity by directly emitted light defined by light sources and thereafter calculating an intensity by mutual reflections between objects which is an indirect light. 
     FIG. 2 shows an intensity calculation by mutual reflection. In FIG. 2, a shape of an object is represented by a rectangle. The unit of the intensity calculation is called &#34;a patch&#34;. It is assumed that a patch 22 is provided with an intensity by a direct light emitted from a light source 21. Also, an intensity by an indirect light is mutually given between the patch 22 and a patch 23. The intensity by the direct light is determined by the magnitude of the light source 21 and the distance between the light source 21 and the patch 22. For example, assuming that the magnitude of the light source 21 is represented by G, and the distance between the light source 21 and the patch 22 by r 21 ,22, when the magnitude of the light source is inversely proportional to the square of a distance, a direct light intensity is given by the following formula (3): 
     
         I.sub.direct =G/(r.sub.21,22 ·r.sub.21,22)        (3) 
    
     An intensity I 23 ,23 by the indirect light from the patch 23 to the patch 22 is determined by an intensity I 23  of the patch 23, a reflectance ρ23 of the surface of the patch 23, an area A23, an angle φ formed by a line 26 and the normal of the patch 23, an angle ψ formed by the line 26 and the normal of the patch 22, and a distance r 22 ,23, as given by the following formula (4): 
     
         I.sub.23,22 =I.sub.23 ·ρ.sub.23 ·A.sub.23 cosψ·cosφ/(r.sub.22,23 ·r.sub.22,23)(4) 
    
     An intensity to the patch 22 is determined by the sum of an intensity by the direct light and an intensity by indirect light from all patches. Since the indirect light is generated by mutual reflections, an intensity calculation for the indirect light is performed by iterative calculations until a convergency is obtained. 
     As the result of the intensity calculations, it is assumed that a maximum intensity value is expressed by I max , an intensity of a patch i by Ii, and a reflectance is assumed that a maximum intensity value is expressed by of the surface of the patch i by ρi. If the value Y for the maximal intensity value is replaced by a value Y 0  which is the value Y for the standard white, a value Y in  for a light incident to the patch i is given by the following formula (5): 
     
         Y.sub.in =(Ii/I.sub.max)·Y.sub.0                  (5) 
    
     A value Yi, which is a value Y for a light reflected by the patch i, is equal to the product of the value Y for the incident light and the reflectance ρi of the patch i, as shown by the following formula (6): 
     
         Y.sub.i =ρi·Y.sub.in 
    
     
         =ρi·(Ii/I.sub.max)·Y.sub.0           (6) 
    
     Next, reference is made to a color space mapping unit 4. In this embodiment, chromatic and achromatic color reference lights, the standard white and standard color patches are employed to calculate a mapping which represents a displacement amount of an arbitrary color in the color space. For the standard color patches, a plurality of color patches are employed which are uniformly distributed in the uniform color space. In this embodiment, a standard color patch having a lightness of 70 selected from these standard color patches, is given as an example. Image data generated when the standard white patch is irradiated with an achromatic color reference light Tn and a chromatic color reference light Tc is represented by the CIELAB uniform color space as (L* max , 0, 0) and (L* w , a* w , b* w ) respectively. Also, image data generated when the standard color patch having a lightness of 70 is irradiated with an achromatic color reference light Tn and a chromatic color reference light Tc is represented by the chromaticity coordinates as (L* n , a* n , b* n ) and (L* c , a* c , b* c ) respectively. FIGS. 3A and 3B show the coordinates of the standard color patch in the color space irradiated with the achromatic and chromatic color reference lights. Also, FIG. 4 shows an example of measuring a lightness, a saturation and a hue when the standard color patch having a lightness of 70 is irradiated with the chromatic color reference light Tc. 
     In the color space mapping unit 4, a mapping s(θ) is defined such that (L* max , 0, 0) (L* w , a* w , b* w ), (L* n , a* n , b* n ) and (L* c , a* c , b* c ) satisfy the formula (7). Assuming that θ is an angle extending over the both sides of a reference plane which links the chromaticity coordinates of the chromatic color light on the standard color patch irradiated with the chromatic color light and an achromatic color axis, as shown in FIG. 3B, the mapping s(θ) can be approximated, for example, as expressed by the following formula (8), due to a distortion of the color space caused by an irradiation with the chromatic color light. References θ 0  and m designate values representing the color purity of the chromatic color light source Tc which are constants determined by experimental results. 
     
         L*.sub.c =(L*.sub.w /L*.sub.max)·L*.sub.n 
    
     
         a*.sub.c =(L*.sub.w /L*.sub.max)·a*.sub.n +s(θ)·(L*.sub.n /L*.sub.max)·a*.sub.w 
    
     
         b*.sub.c =(L*.sub.w /L*.sub.max)·b*.sub.n +s(θ)·(L*.sub.n /L*.sub.max)·b*.sub.w(7) ##STR1## 
    
     Further, in the color space mapping unit 4, (L* t , a* t , b* t ) on the surface, which is irradiated with the chromatic color reference light Tc, is calculated by the following formula (9) based on (L*, a*, b*) converted by the color conversion unit 1: 
     
         L*.sub.t =(L*.sub.w /L*.sub.max)·L* 
    
     
         a*.sub.t =(L*.sub.w /L*.sub.max)·a*+s(θ)·(L*/L*.sub.max)·a*.sub.w 
    
     
         b*.sub.t =(L*.sub.w /L*.sub.max)·b*+s(θ)·(L*/L*.sub.max)·b*.sub.w                                                       (9) 
    
     In a color compensation unit 5, (L* t , a* t , b* t ) calculated in the color space mapping unit 4 is compensated for the lightness by the use of a lightness compensation coefficient β which is determined according to an intensity distribution of the surface of an object. Since the actual luminance of an image is varied depending upon image output characteristics of a display (7), the coefficient β is given by the following formula (10), with a coefficient representing a change in luminance being designated by α. As shown in the formula (10), the coefficient β is multiplied with Y 0 . 
     (L* new , a* new , b* new ) after the lightness compensation is calculated by the formulae (11), with the saturation being proportional to a lightness changing rate such that (L* new , a* new , b* new ) will not exceed the lightness value L* w  of the standard white patch irradiated with the reference light: ##EQU2## 
     
         B=α·ρi·(Ii/I.sub.max) 
    
     
         L*.sub.new =min(β.sup.1/3 ·(L*.sub.t +16)-16, L*.sub.w) 
    
     
         a*.sub.new =k·a*.sub.t 
    
     
         b*.sub.new =k·b*.sub.t                            (11) 
    
     The lightness compensation coefficient β in the formula (10) should have a value more than one for increasing the lightness and a value less than one for decreasing the lightness. Also, min () is a function for returning the fewer one of two arguments, and the coefficient k in the formula (11) is defined by the following formula (12): 
     
         k=L*.sub.new /L*.sub.t                                     (12) 
    
     Alternatively, the coefficient k may be defined by the formula (13). In either case of defining the coefficient k by the formula (12) or (13), it is possible to solely change the saturation and the lightness without changing the hue, wherein the saturation is changed in proportion to a lightness change. A saturation S new  is calculated by a formula (14) according to a saturation compensation. FIG. 5 shows an example of a saturation handling which may be needed in consequence of a change in lightness. 
     
         k=L*.sub.new /L*.sub.t (L*.sub.new ≦L*.sub.t) 
    
     
         (100-L*.sub.new)/(100-L*.sub.t)(L*.sub.new ≧L*.sub.t)(13) 
    
     
         S.sub.new =(a*.sub.new 2+b*.sub.new 2).sup.1/2             (14) 
    
     In FIG. 5, (L* new1 , a* new1 , b* new1 ) represents a compensation for increasing the lightness of the original (L* t , a* t , b* t ), and (L* new , a* new , b* new ) a compensation for decreasing the lightness of the same. 
     A display luminance conversion unit 6 performs a color compensation in accordance with characteristics of a display 7. Such color compensation is achieved by the coefficient α employed in the formula (10). To determine α in the formula (10), display characteristics of the display 7 are used. The intensity of a patch is designated by Ii. Also, as the display characteristics, a maximum display luminance value of the display 7 is designated by V disp , max, a minimum display luminance value of the same by V disp , min, a maximum intensity of a display scene by I scene , max, and a minimum intensity of the same by I scene , min. Then, the maximum and minimum intensities of the display scene are determined, for example, by a formula (15), as a method of matching them with the maximum and minimum luminance of the display 7. Alternatively, there is also a method of determining the maximum and minimum intensities of the display scene so as to make a median value I scene , mean of the intensity of the display scene equal correspond to a median display luminance V.sub. disp, mean of the display 7. The latter method is determined as shown in the formula (16). ##EQU3## 
     
         α=(I.sub.i /I.sub.scene,mean)·(V.sub.disp,mean /V.sub.disp,max)                                          (16) 
    
     As explained above, the present embodiment can produce effects as described below: 
     A lightness of texture data can be compensated for in accordance with the result of an intensity calculation with respect to the surface of an object, based on a ratio of an intensity to a maximum intensity, a reflectance of the object and the luminance of the standard white. 
     A lightness on a surface irradiated with a chromatic color reference light can be derived from a lightness on the surface irradiated with an achromatic color reference light by the use of a mapping representing a displacement amount of an arbitrary color in the color space which is calculated on the basis of the chromaticity coordinates of a standard color patch which is being irradiated with the chromatic and achromatic color reference lights. 
     Further, for changing a lightness of data representing a color image, an image processing method is provided which changes a saturation in proportion to a lightness changing rate, whereby a discrepancy in hue can be suppressed when a lightness of color image data inputted from an image inputting apparatus such as a color scanner is to be changed. 
     Furthermore, a natural image can be displayed on an image output unit by providing display characteristics of the image output unit. 
     The present invention is not limited to the above described embodiment, and a variety of modifications can be made based on the spirit of the present invention. Therefore, these modifications will not be excluded from the scope of the present invention.