1. Field of the Invention
The present invention relates to an imaging apparatus, and, more particularly, to a method for mapping a source gamut to a destination gamut.
2. Description of the related art.
In recent years, the use of computers for home and business purposes has increased significantly. Most computer systems incorporate the use of a computer monitor and a printer. Users frequently display images on the computer monitor, including scanned images, photos downloaded from the internet, or from a digital camera, as well as images created or modified by the user with various application software products that are available to businesses and consumers alike. Users of ten wish to reproduce such images on a printer. However, the reproduced image may not satisfactorily represent the image as displayed on the computer monitor. This is because the color gamut of one system, such as a computer monitor or a scanner, is different than the color gamut of another system, such as a printer. For example, a computer monitor generally can produce a much larger gamut than a printer. To effectively reproduce computer monitor colors with a printer, gamut mapping must be performed, in which the out-of-gamut colors of the computer monitor are mapped into the printer gamut boundary. Various gamut-mapping methods have been proposed. However, because these methods do not provide an efficient control for changes of colors during gamut mapping, some printed colors experience “wash-out” due to over-compression of the gamut, and other colors will not transition smoothly, but rather will experience “blocking.”
What is needed in the art is a gamut mapping method that effectively controls the change of colors from the source gamut to the destination gamut so as to reduce the wash-out and blocking of colors in the printed output.
The present invention provides an efficient gamut mapping method that controls the color changes during mapping so as to reduce the wash-out and blocking of colors in the printed output.
The invention comprises, in one form thereof, a method of mapping a first color gamut to a second color gamut, including the steps of defining a mapping function establishing a continuous first derivative of change of at least one color space component from the first color gamut to the second color gamut, and applying the function to first color gamut data for the at least one color space component.
The invention comprises, in another form thereof, an imaging system that employs a color reproduction table, wherein the color reproduction table effects a continuous first derivative of change of at least one color space component from a first color gamut to a second color gamut.
The invention comprises, in yet another form thereof, a method of mapping a first color gamut to a second color gamut, including the steps of determining an initial boundary mapping from a first gamut boundary of the first color gamut to a second gamut boundary of the second color gamut, and modifying the initial boundary mapping based on a general color change control scheme that maintains a continuous first derivative of change of lightness and chroma between the first color gamut and the second color gamut. The method also includes determining an internal lightness mapping of a lightness component of the first color gamut to a lightness component of the second color gamut based on the general color change control scheme that maintains a continuous first derivative of change of lightness and chroma between the first color gamut and the second color gamut, and determining an internal chroma mapping of a chroma component of the first color gamut to a chroma component of the second color gamut based on the general color change control scheme that maintains a continuous first derivative of change of lightness and chroma between the first color gamut and the second color gamut.
An advantage of the present invention is the ability to provide a smooth transition in mapping between a source gamut and a destination gamut.
The above-mentioned and other features and advantages of this invention, and the manner of attaining them, will become more apparent and the invention will be better understood by reference to the following description of an embodiment of the invention taken in conjunction with the accompanying drawings, wherein:
Corresponding reference characters indicate corresponding parts throughout the several views. The exemplifications set out herein illustrates one preferred embodiment of the invention, in one form, and such exemplifications are not to be construed as limiting the scope of the invention in any manner.
Referring now to the drawings, and particularly to
Imaging apparatus 12 can be, for example, an ink jet printer and/or copier, or an electrophotographic printer and/or copier. Imaging apparatus 12 includes a controller 18, a print engine 20 and a user interface 22.
Controller 18 includes a processor unit and associated memory, and may be formed as an Application Specific Integrated Circuit (ASIC). Controller 18 communicates with print engine 20 via a communications link 24. Controller 18 communicates with user interface 22 via a communications link 26.
In the context of the examples for imaging apparatus 12 given above, print engine 20 can be, for example, an ink jet print engine or a color electrophotographic print engine, configured for forming an image on a print medium 28, such as a sheet of paper, transparency or fabric.
Host 14 may be, for example, a personal computer including an input device 30, such as a keyboard, and a display monitor 32. A peripheral device 34, such as a scanner or a digital camera, is coupled to host 14 via a communication link 35. Host 14 further includes a processor, input/output (I/O) interfaces, memory, such as RAM, ROM, NVRAM, and a mass data storage device, such as a hard drive, CD-ROM and/or DVD units. During operation, host 14 includes in its memory a software program including program instructions that function as an imaging driver 36, e.g., printer driver software, for imaging apparatus 12. Imaging driver 36 is in communication with controller 18 of imaging apparatus 12 via communications link 16. Imaging driver 36 facilitates communication between imaging apparatus 12 and host 14, and may provide formatted print data to imaging apparatus 12, and more particularly, to print engine 20. Alternatively, however, all or a portion of imaging driver 36 may be located in controller 18 of imaging apparatus 12.
Communications link 16 may be established by a direct cable connection, wireless connection or by a network connection, such as, for example, an Ethernet local area network (LAN). Communications links 24, 26 and 35 may be established, for example, by using standard electrical cabling or bus structures, or by wireless connection.
Referring now to
Coupled to colorspace converter 38 is a color reproduction table 40. Colorspace converter 38 is used for converting color signals from a first colorspace, such as an RGB colorspace, to a second colorspace, for example, CMYK. Color reproduction table 40 includes CMYK values and RGB values, wherein each CMYK value corresponds to an RGB value. As shown in
Referring now to
At step S100, a color change function is defined establishing a continuous first derivative of change of at least one color space component from the first color gamut to the second color gamut. The continuous first derivative may be, for example, a linear first derivative, although the continuous first derivative may be a constant first derivative, or a first derivative defined by any continuous function.
The function is further defined by a minimum first derivative of change of the at least one color space component from the first color gamut to the second color gamut, and a maximum first derivative of change of the at least one color space component from the first color gamut to the second color gamut. The at least one color space component includes a lightness L* component and a chroma C* component, such as those color components used in the CIELAB L*C*h* colorspace. In defining the function, for example, a first function is defined for mapping the lightness component from the first color gamut to the second color gamut, and a second function is defined for mapping the chroma component from the first color gamut to the second color gamut.
At step S102, the function is applied to first color gamut data for the color space component, such as by applying the first function to first color gamut lightness data, and by applying the second function to first color gamut chroma data. The steps of applying the first function and the second function include first determining an initial boundary mapping from a first gamut boundary of the first color gamut to a second gamut boundary of the second color gamut, and modifying the initial boundary mapping based on the function.
In determining the initial boundary mapping, a first color gamut lightness range is mapped to a second color gamut lightness range to generate a linear-lightness-scaled source gamut. The linear-lightness-scaled source gamut is then divided into a first plurality of hue-leafs. The second color gamut is divided into a second plurality of hue-leafs. Minimum error mapping is then performed from the linear-lightness-scaled source gamut to the second color gamut by mapping between each hue-leaf of the first plurality of hue-leafs and each of corresponding hue-leafs of the second plurality of hue leafs. The step of performing minimum error mapping is applied to both linear-lightness-scaled source gamut lightness data and linear-lightness-scaled source gamut chroma data.
Also, an internal lightness mapping of an internal lightness component of the first color gamut to an internal lightness component of the second color gamut is determined, for example, based on the first function established in step S100, and an internal chroma mapping of an internal chroma component of the first color gamut to an internal chroma component of the second color gamut is determined based on the second function established in step S100.
At step S104, a color reproduction table, such as color reproduction table 40, is generated. In generating the color reproduction table, the results of steps S100 and S102 are stored for access by colorspace converter 38 in converting color signals, for example, from RGB data to, for example, CMYK printer data, in order that an image displayed on display monitor 32 may be appropriately reproduced by imaging apparatus 12.
Steps S100 through S104 are explained in greater detail with reference to the flowchart of
In performing gamut mapping according to the present invention, the destination gamut remains unchanged, and the out-of-gamut colors in the source gamut, i.e., display monitor 32, are mapped into the destination gamut, i.e., the color gamut of imaging apparatus 12. The method may be broken into several steps, as follows: step S200, define a general color change control function; step S202, determine source and destination gamut boundaries; step S204, determine an initial boundary mapping; step S206 modify the initial boundary mapping; step S208, determine an internal lightness mapping; step S210, determine an internal chroma mapping; and step S212, generate color reproduction table 40 based on the various mappings of steps S204, S206, S208 and S210.
Each of the above steps is explained in detail below with respect to
Referring to
Referring back to
Referring now to
In order to ensure that the output changes smoothly, the function y=f(x) will have a continuous first derivative.
Let
The output changing rate varies linearly from x1 to x2, that is,
where a and b are constants. Using the boundary values at x1 and x2 for Equation 5 yields:
Integrating Equation 6 yields Equation 7, as follows:
where c is a constant. Since y=y1 when x=x1, Equation 8 becomes:
c=y1-λ1x1 Equation 8
Substituting Equation 8 into Equation 7 yields Equation 9, as follows:
Equation 9 provides a function that establishes a continuous first derivative of change of at least one color space component from source gamut 42 to destination gamut 44, and will be used in subsequent steps S206, S208, and S210 in mapping source gamut 42 to destination gamut 44.
In the method of the present invention the function embodied in Equation 9 is further defined by a minimum first derivative of change of the at least one color space component from source gamut 42 to destination gamut 44, and by a maximum first derivative of change of the at least one color space component from source gamut 42 to destination gamut 44. The maximum and minimum first derivatives of change are derived below.
Since y=y2 when x=x2, we also have from Equation 7,
Because the constant c in Equation 7 must satisfy both conditions at x1 and x2, c=c′. Therefore, Equation 11 is obtained from Equations 8 and 10, as follows:
The right side of Equation 11 is the average output changing rate, λa, from input x1 to x2 (Equation 4). Comparing Equations 4 & 11, Equations 12 and 13 are given as follows:
λ1=2λa−λ2 Equation 12
or
λ2=2a−λ1 Equation 13
Because the output changing rate is proposed to change linearly from input x1 to x2, one of the changing rates, λ1, λ2, will be the minimum changing rate, λmin, and the other will be the maximum changing rate, λmax. That is,
λmin=min(λ1, λ2) in domain [x1, x2] Equation 14
and
λmax=max(λ1, λ2) in domain [x1, x2]. Equation 15
Thus, according to Equations 12-15, Equation 16 is determined as follows:
λmin=2λa−λmax Equation 16
In applying Equation 16, the average changing rate (λa) is calculated using Equation 4. The maximum changing rate, λmax, is then determined. The output, y, should be monotonically changed with the input, that is, λa, λmin, and λmax should have the same sign, i.e., either negative or positive. Thus, the maximum changing rate will be controlled to be in the range from λa to 2λa. The minimum changing rate, λmin, is then calculated using Equation 16. In addition, a determination must be made as to which of the two points, (x1, x2) should have a maximum changing rate so that λmin and λmax can be assigned to λ1 and λ2 in Equation 9. The output color values for destination gamut 44 are then calculated using Equation 9 for each color point in source gamut 42.
At step S202, the source and destination gamut boundaries are determined. Referring again to
Then, destination gamut boundary 56 is then determined empirically as follows: for each of the cyan, magenta, and yellow axes of the CMYK destination gamut 44, 17 equally-spaced points across the entire range are selected, and a cube is formed with a total of 4913 (17×17×17) grids. Each grid is then appropriately mixed with black using a black mixing method. The C, M, Y, and K values of each grid are then sent to a printer to print out a color patch. Each patch is measured for CIELAB L*C*h* values with a spectrophotometer. The L*C*h* values of the surface grids on the 6 faces of the cube will contribute to the printer gamut boundary.
Although more than four inks may be used in imaging apparatus 12, the present embodiment uses four inks. If more than four inks are to be used, then each of the grids should be appropriately mixed with other inks to send to the printer for the L*C*h* calibration.
Each of the L*C*h* spaces is then divided into grid points in the same increments, i.e., ΔL*=1.0, Δh*=2.0°. For each point (L*, h*), the maximum chroma is selected as the boundary chroma (C*b). Thus, the gamut boundary may be described by a two-variable function: C*b=f(L*, h*). For those gamut boundary points without empirical data, interpolation will be used to find their boundary chroma values.
At step S204, initial boundary mapping is determined. The boundary mapping affects the subsequent internal lightness and chroma mapping steps, and must therefore be performed appropriately. For example, if the source gamut boundary 46 were mapped destination gamut boundary 56 simply by linear scaling, the light colors in an image printed by imaging apparatus 12 might exhibit wash-out, because the destination gamut 44 chroma range is typically much smaller than that of the source gamut 42 toward the white end of the lightness L* axis. The linear mapping would thus result in the source gamut 42 chroma range being over-compressed. Accordingly, the method of the present invention employs a two-step boundary mapping method. Initially, a minimum error method is used to find the initial lightness and chroma mapping for the gamut boundary points. Then, Equation 9 is employed to ensure a continuous first derivative of change in modifying the initial lightness mapping.
Referring now to
At step S300, the source color gamut lightness range is mapped to the destination color gamut lightness range. Because the color gamut of a monitor, such as display monitor 32, is typically larger than the color gamut of a printer, this step essentially reduces the size of source gamut 42 along the L* axis to have the same range of lightness as destination gamut 44. This initial mapping is performed by linearly scaling the lightness of all color points within source gamut 42, in which the black and white points in source gamut 42 are changed to be the same as the black and white points of destination gamut 44. By performing the initial mapping, source gamut 42 is now a linear-lightness-scaled source gamut. All subsequent mapping operations will be performed using the linear-lightness-scaled source gamut, rather than the original source gamut 42.
Referring now to
Referring back to
Referring now to
Referring back to
Referring back to
Referring now to
Step S206 is described in greater detail with reference to
Referring now to
At step S400, each hue leaf is divided into lightness regions. Experience has shown that mapping the dark and light regions differently provides better image quality from imaging apparatus 12.
Referring again to
Referring back to
λa≦λmax≦1.75λa. Equation 17
Then, the minimum lightness changing rate, λmin, is determined with Equation 16. The maximum changing rate, λmax, is then assigned to the start or ending point, whichever is closer to the λmax point in the region, and the minimum changing rate (λmin) is assigned to the remaining point. For example, in the dark region KB of
At step S404, the lightness transition between the dark regions and the light regions is smoothed.
Referring again to
Referring now to
Referring back to
Referring back to
Referring now to
Referring now to
Step S208 is described in greater detail with respect to
Referring now to
λmax=1.5λa. Equation 18
At step S504, the minimum changing rate λmin is determined with equation 16.
At step S506, internal lightness L* is mapped from linear-lightness-scaled source gamut 66 to internal destination gamut 58. The maximum changing rate, λmax, is assigned to the ending point at x2, and the minimum changing rate, λmin, is assigned to the starting point at x1, because changing the lightness at a lower rate, such as λmin, near the neutral line would preserve more of the original colors in an image displayed on display monitor 32. Then, the final lightness, y, of point P, i.e., with x=C*P, the chroma at point P, is determined with Equation 9.
Referring now
Referring back to
Internal chroma mapping is performed in order to map the chroma of each point in the internal source gamut 48 to the chroma of each corresponding point in the internal destination gamut 58.
Referring now to
Here, the input x represents chroma in the linear-lightness-scaled source gamut 66, and the output y is the final mapped chroma for destination gamut 44. When x changes from x1=C*1 to x2=C*Q′ (chroma at point Q′), the mapped chroma y will change from y1=C*1 to y2=C*Q (final mapped boundary chroma). The final chroma of point P, i.e., with x=C*P, the chroma at point P in the linear-lightness-scaled source gamut, is determined according to the flowchart of
Referring now to
At step S602, the average chroma changing rate, λa, is determined with Equation 4.
At step S604, the maximum chroma changing rate, λmax, between two neighboring points is set as follows:
λmax=1.5λa. Equation 19
At step S606, the minimum changing rate, λmin, is determined with Equation 16.
At step S608, internal chroma C* is mapped from linear-lightness-scaled source gamut 66 to internal destination gamut 58. The maximum changing rate, λmax, is assigned to the starting point at x1 if the output boundary chroma, C*Q′, is smaller than the input boundary chroma, C*Q′. Conversely, if the output boundary chroma, C*Q, is larger than the input boundary chroma, C*Q′, the maximum changing rate is assigned to the ending point at x2. Accordingly, the smaller chroma values will be mapped closer to the input, i.e., the smaller chroma values will be similar to the input chroma values. Then, the final chroma, y, is determined with Equation 9.
Referring now to
Referring back to
While this invention has been described as having a preferred design, the present invention can be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the invention using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this invention pertains and which fall within the limits of the appended claims.