Published as: R. Bala, V. Monga, G. Sharma, J. P. VandeCapelle, "Two-dimensional transforms for
device color calibration", Proc. SPIE: Color Imaging: Processing, Hard Copy, and Applications IX, vol.
5293, San Jose, 19-22, Jan 2004, pp. 250-261.
Two-dimensional transforms for device color calibration
Raja Bala1, Vishal Monga2, Gaurav Sharma3, Jean-Pierre Van de Capelle4
1, 4
Xerox Corporation
800, Phillips Road, Webster, NY – 14580
1
[email protected],
[email protected]
2
Dept. of Electrical and Computer Engineering
The University of Texas at Austin, Austin, TX – 78712-1084
[email protected]
3
Dept. of Electrical and Computer Engineering
University of Rochester, Rochester, NY– 14627
[email protected]
ABSTRACT
Color device calibration is traditionally performed using one-dimensional per-channel tone-response
corrections (TRCs). While one-dimensional TRCs are attractive in view of their low implementation
complexity and efficient real-time processing of color images, their use severely restricts the degree of
control that can be exercised along various device axes. A typical example is that 1-D TRCs in a printer
can be used to either ensure gray balance along the C = M = Y axis or to provide a linear response in ∆E
units along each of the individual (C, M and Y) axis but not both. This paper proposes a novel twodimensional calibration architecture for color device calibration that enables significantly more control over
the device color gamut with a modest increase in implementation cost. Results show significant
improvement in calibration accuracy and stability when compared to traditional 1-D calibration.
1.
INTRODUCTION
Achieving consistent and high quality color reproduction in a color imaging system necessitates a
comprehensive understanding of the color characteristics of the various devices in the system. This is done
through a process of device calibration and characterization1. Device calibration is the process of
maintaining the device with a fixed known characteristic color response and acts as a precursor to
characterization. The characterization process establishes the relationship between device dependent signals
and a device independent representation for the calibrated device. Calibration and characterization are key
components in a color management system, enabling images to be communicated and exchanged in a
device-independent color space and then transformed to device dependent signals prior to rendering2. In
general, device independent color spaces are chosen based on the characteristics of human vision. To this
end, color spaces such as CIELAB and CIEXYZ are popular choices for the device independent
representation.3 ,4,5
This paper focuses on the calibration function. The process of calibrating the device to a specific
color characteristic typically requires making color measurements and deriving correction functions to
ensure that the device maintains that desired characteristic.1 E.g. for a 3-color (CMY) printer, the goal of
calibration is to determine a calibration transform from CMY (device values as determined by the
characterization) to C’M’Y’ (device values actually given to the printer) that maintains a desired printer
response in selected regions of color space. Traditionally, the calibration transform that achieves this
response is applied in the form of one-dimensional TRC correction to the individual channels of the device.
Mathematically, the TRC mapping can be defined as C’ = f1(C), M’ = f2(M), Y’ = f3(Y). A significant
benefit in using 1-D TRCs is that these are very efficient for real-time processing of color images.
Examples of responses specified for 1-D calibration include: i) linearization of each channel to ∆E
from paper; ii) linearization and gray-balance so that C=M=Y maps to the L* axis in CIELAB space. The
device characteristics in those regions of CMY space outside of these controlled axes are an outcome of the
calibration function, and hence cannot be controlled. For example, all input points with the same C value
(an M-Y plane perpendicular to the C axis) will map to the same C’ value. The result is that the response in
a large part of color space is potentially compromised to achieve a desired response along a 1-D locus. If,
for example, the TRCs are gray-balanced, this can sometimes result in undesirable hue shifts in the
reproductions of sweeps from white to secondary device colors (for instance those lying along the blue axis
where C=M, and C = K = 0). Conversely, if the TRCs are independently linearized, this will generally not
yield gray balance for C = M = Y. As an alternative to control of each individual channel for calibration,
the calibration may be performed as a full 3-D function from input C, M, Y to output C’, M’, Y’.
Mathematically stated, C’ = f1(C, M, Y), M’ = f2(C, M, Y), Y’ = f3(C, M, Y). With 3-D corrections, the
desired response can be specified at any point in three-dimensional CMY space. Thus it is possible to
derive unique one-to-one calibration functions without any compromise in the desired response. The
implementation of the calibration transform would require 3-dimensional (3-D) look-up tables (LUTs). A
full resolution 3-D LUT with direct lookup is prohibitively large. For 8 bit processing for instance, a full 3D LUT would require 3*(256)3 bytes = 48MB of storage. Alternatively, sparse 3-D LUTs can be used in
conjunction with some form of 3D interpolation.6,7,8,9 In this case, the interpolation operation can be too
computationally intensive for high speed printing applications. The number of measurements required to
derive 3-D calibration would also be much larger than that required for 1-D calibration. The problem
becomes even more involved with a 4-color CMYK printer.
In this paper, we propose a novel alternative, namely the use of two-dimensional (2-D) fullresolution lookup tables for device calibration.10 The 2-D LUTs are expected to offer a compromise
between 1-D and 3-D calibration both in terms of control and complexity. The additional dimension
afforded by a 2-D LUT offers additional control, and hence significant improvements over what can be
achieved with 1-D TRCs. At the same time, the memory and computational requirements for 2-D
calibration, while higher than those for 1-D TRCs, are still low enough for incorporation into real-time
high-speed printing applications. In addition, the required measurements for deriving the 2-D LUTs are
also of the same order as traditional one-dimensional methods. The concepts developed for calibration can
also be applied for device emulation, where the goal is to mimic the response of one device with another.
2.
BACKGROUND
As mentioned earlier, the device independent color paradigm commonly adopted by color management
systems requires the derivation of color transformations that map between device dependent color and
device independent color. For output devices, this is normally accomplished with the following steps:
1) A set of color patches with pre-determined device control values is sent to the device and the color of
each patch is measured in device-independent color coordinates.
2) The data from step (1) is used to derive a forward device-response function that maps device control
values to the device independent values produced by the device in response to the control values.
Techniques for estimating the forward function can be either model-based,11, 12, 13 or empirical,1 or a
hybrid between the two.14
3) The forward device-response function is inverted to obtain a device-correction-function, which maps
each device-independent color to the device control values that produce the specified deviceindependent color value on the output device. The device-correction-function is typically precomputed and stored.
4) In order to produce a given color on the output device, the corresponding device-independent color
values are mapped through the device correction-function to obtain control values. When the device is
driven with these control values, the desired color is produced.
The rest of this discussion will focus on the specific case of printers. It is common practice to separate the
device correction-function into two parts: a calibration function that immediately precedes the device; and a
characterization function, which addresses the device through the calibration function. This separation is
illustrated in Fig. 1 for the case of a CMYK printer. There are several advantages to this partitioning. First,
the calibration function can be viewed as a preconditioning function that ensures that the device
characteristics meet certain constraints, e.g. smoothness, monotonicity, etc. prior to derivation of the
characterization. Secondly, temporal variations in the device’s response, and variations within a fleet of
devices can often be addressed in the calibration function. The concatenation of the calibration function and
the device can be viewed as a “calibrated output device” that is stable in time and across the fleet and a
single characterization can be used for the entire fleet and over time instead of requiring characterization of
each device in the fleet over time.
Device-correction-function
Device
Independent
Color
Calibrated
CMYK
Device
CMYK
Calibration
Characterization
Alternate
CMYK (fast
emulation)
Output
Device
Calibrated Device
Calib.CMYK
Archival/ Fast
Re-print Path
Figure 1. Schematic representation of the partitioning of the device-correction function into
characterization and calibration.
Third, other settings that impact the device color response, for example the choice of the halftone scheme in
a binary printer, may be compensated for to some extent in the calibration process. This allows for a
common characterization function to be used for the different device settings; thus saving time, effort, and
memory as the measurement intensive characterization does not need to be repeated for each setting. In
addition to halftones, other examples of device settings include output print media and viewing illuminant.
Some of these may be compensated for in the calibration process.15
Finally, there is another important benefit to the partitioning in Fig. 1. Recall that calibration
involves specifying and maintaining a desired device response within selected regions of device color
space. Examples of desired responses that have thus far been cited are channel-wise linearization and graybalance. One can generalize this notion and specify the desired response as that of a reference output
device. This is referred to as device emulation. The reference device to be emulated may be i) an actual
device; ii) an industry standard device (e.g. SWOP offset press16 or sRGB display17); or iii) an idealized
device (e.g. a device that exhibits channel-wise linearity or perfect gray-balance). Some background on
device emulation is in order, and will be presented next.
The goal in device emulation is to transform a set of device control values corresponding to the
emulated device into the final control values for the emulating device such that the emulating device’s
response to these final control values is the same as the emulated device’s response to the original device
control values. This transformation is referred to herein as the emulation transform. The latter can be
conceptually achieved by concatenating the emulated device’s forward device-response function with the
emulating device’s device-correction function, as illustrated in Fig. 2. In general, the emulation transform is
a computation and memory intensive multi-dimensional function. E.g. if the emulated and emulating
devices are both CMYK printers, the emulation transform is a 4-D (CMYK to CMYK) transform. It is
however possible to use the calibration transformation as a simpler alternative for providing approximate,
or partial emulation. This is typically achieved by deriving the calibration transformation to coincide with
the full emulation transform within one or more selected regions. These regions are typically the ones that
are critical to color reproduction. Essentially, the problem of calibrating a device to achieve specific color
characteristics can be restated as the problem of emulating a reference device that possesses those
characteristics. For the rest of the paper, the following notation will be adopted:
1.) vs - a vector of control values in the device space of the emulated device (e.g. CMY/CMYK)
2.) Ss - the complete set of control values in the device space of the emulated device (e.g. CMYK cube)
3.)
4.)
5.)
6.)
g( ) - forward device response function for the emulated device (e.g. CMY Æ CIELAB mapping)
ve - a vector of control values in the device space of the emulating device (e.g. CMY/CMYK)
y( ) - forward device response function for the emulating device (e.g. CMYÆ CIELAB mapping)
rs - a vector of response values (e.g. CIELAB, or delta E from paper)
Control Values
vs
forward response
g( vs ) of
emulated device
Response
Values
rs
correction function
h( rs ) of
emulating device
Emulation Control
Values
ve
Complete
Emulation Transform
fe( vs )=h(g(vs))
Partial Emulation
Control Values
Vc
Calibration
Transform
fc( vs )
(Partial Emulation)
Figure 2. Emulation of one device on another through concatenation of emulated device’s forward response
and emulating device’s device correction function.
7.) h( ) - the emulating device’s correction function (e.g. mapping from CIELAB to printer CMY/CMYK)
8.) fe( ) - full emulation transform from emulated device’s control values to emulating device’s values
9.) fc( ) - calibration transformation
10.) Se - the region in device space wherein calibration coincides with full emulation. This can be
described mathematically as:
Se = {vs ∈ Ss: fc(vs) = fe(vs)}; Se ⊂ Ss
(1)
From the aforementioned discussion, it should be clear that the purpose of the calibration transformation is
to facilitate a trade-off. Unlike the full device-correction function, the calibration transform provides
control of the output device only in a limited fashion. However, in comparison to the full device-correction
function it offers significant advantages in terms of reduced measurement effort and computational
simplicity. The latter enables calibration to be executed in high-speed real-time printing applications.
3.
One-Dimensional Calibration
Calibration traditionally involves one-dimensional correction applied to the individual channels for
the device. For instance for a CMYK printer, the calibration is applied as tone-response corrections (TRCs)
for each of the C, M, Y, and K channels. Typically, the specification of the response to be emulated
consists of two parts. The first part is a 1-D response such as density or ∆E from paper for the K axis (C =
M = Y = 0) and is realized by independent calibration of the K-axis. The second part of the specification
specifies the desired response for the “CMY printer” obtained when the K-channel is turned off (K=0). The
following discussion refers to the case of 3 color CMY calibration. The calibration architecture for a CMY
printer is shown in Fig. 3. The two most common examples of 1-D calibration are described next.
3.1. Channelwise linearization to ∆E from paper
In this type of calibration, each channel is independently linearized to the ∆Eab (deltaE) color difference
between the ith (i = C, M, Y etc.) channel and medium (paper) white. Described in the context of our
emulation framework, the calibration process is attempting to emulate an ideal device whose channel-wise
response is linear to ∆Eab from paper. This response may be defined as
vs
max
rs = g ( v s ) = ∆ E ab ( c medium , c ( v s )) =
∆ E ab ( c medium , c ( v s ))
(3)
max
vs
{
}
vs = input control value for one of C, M, Y channels
vsmax = maximum input control value (e.g. 255 for 8 bit inputs)
cmedium = CIELAB measurement of the medium
c (vs) = CIELAB response corresponding to input value vs
Calibration Transform
vc =fc(vs )
C
C’
C-TRC
Control
Values
vs
M
M’
M-TRC
Calibrated
Control
Values
Vc
Y’
Y
Y-TRC
Figure 3. Traditional 3-Color 1-dimensional Calibration Transformation
Note, the emulated region Se comprises the C, M, and Y axes, and a 1-D response is specified for each axis.
3.2. Gray-balanced calibration
For 3-color gray-balanced linear response, the response in CIELAB is specified along the device gray axis
(C = M = Y), as the combined requirement that C = M = Y map to the L* axis in CIELAB and that equal
steps along the C = M = Y axis correspond to equal steps in L*. (This can be readily generalized to an
arbitrary response curve in L*.) In our emulation framework, the device being emulated is an ideal device
that exhibits the characteristic that vs = C = M = Y maps to the neutral (L*) axis. Determining the
calibration functions fc(vs) that engender this gray-balanced response involves searching for device C, M, Y
that produce the desired neutral color on the emulating device. Many search techniques exist that can
suitably address this problem.1
There are two major motivations for gray-balance calibration. First the human visual system is
particularly sensitive to color differences near neutrals. Secondly, gray-balancing considers, to a first order,
interactions between C, M and Y that are not taken into account in channel-wise calibration. Note that in
practice, most printers cannot be gray-balanced beyond a level vsmaxgray < vsmax where the TRC output vc
corresponding to one of the C, M, Y channels saturates prematurely to its maximum value. We may still
require vc for each channel to span the full range [0, vcmax]. This implies that in the dark region the gray
balance has to be compromised to allow each of the TRCs to go to its maximum control value (i.e. 255 in
an 8 bit system). Furthermore this compromise must be arrived at smoothly in order to avoid discontinuities
near the printer black point. Details can be found in Ref [1].
3.3. Performance analysis
As stated earlier, 1-D TRCs are very efficient for real-time image processing both in terms of computation
and storage and memory requirements. E.g. for 8-bit processing, 256 bytes of memory are required for each
channel of the TRC. For CMY printers, this amounts to 768 bytes of storage.
1-D TRCs however, offer severely limit the amount of control that can be exercised. Note that the
specification of a desired response along the C = M = Y (device-gray axis) produces an uncontrolled
response along the individual axes. Both cannot be independently specified with 1-D calibration. One
example of an undesirable effect due to this coupling is sometimes seen as “hue” variations in secondary
device-colors when the TRCs are determined for gray balance, for example e.g. a red ramp corresponding
to C=M, Y=K=0 may undergo undesirable shifts with TRCs determined for gray balance along the
C=M=Y axis. In general, one can see that a change in the “Cyan TRC” influences not only the
corresponding point along the C=M=Y axis but also all other points in input CMY space having the same
Cyan value. This idea is illustrated in Fig. 4. The specified response to be emulated for the point C0=M0=Y0
on the device-gray axis determines the corresponding values for all three of the C, M and Y 1-D
LUTs/TRCs shown in Fig. 3. However, the value of the Cyan TRC for the point C0 influences the entire
C=C0 plane, the value of the Magenta TRC for the point M0 influences the entire M=M0 plane, and the
value of the Yellow TRC for the point Y0 influences the entire Y=Y0 plane.
M=M0
C=C0 plane
C0=M0=Y0
(point under
consideration)
Y
Y=Y0 plane
C=M=Y
M
Figure 4. Illustration of influence of calibration controls outside the emulation set for 1-D TRCs
If the desired response for the “CMY 3-color printer” over the emulation set Se is specified in 3-D CIELAB
coordinates, the restrictions on the emulation set Se imply for the specific case of the 1-D calibration that
each point in the emulation set Se map to distinct C values, distinct M values, and distinct Y values. In other
words, each point where the response to be emulated is specified must differ from all other points in all
three of the Cyan, Magenta, and Yellow control values (for the device to be emulated). By allowing
compromises and by virtue of smoothness this requirement may be slightly relaxed in practice. The
practical implication is that the 3-D response to be emulated may only be specified along a curve in CMY
space that is monotonic in all three of the coordinates C, M and Y. This restriction is a result of the limited
control offered by the traditional 1-D calibration.
4.
TWO-DIMENSIONAL CALIBRATION
4.1. Basic Idea
Mathematically, the concept of 2-D LUTs for mapping input CMY to output C’M’Y’ may be expressed as
a cascade of two stages. In the first stage, two intermediate variables are computed from the input CMY
control values for each output control value. In the second stage, 2-D LUTs are used to obtain the output
C’, M’, and Y’ control values as a function of the two corresponding intermediate variables. The 2-D LUT
mapping is depicted in Fig. 5, and described mathematically below:
Stage 1: (s1, t1) = vi1( C, M, Y)
(s2, t2) = vi2( C, M, Y)
(s3, t3) = vi3( C, M, Y)
4(a)
4(b)
4(c)
Stage 2: C’ = f1(s1, t1)
M’ = f2(s2, t2)
4(d)
4(e)
Y’ = f3(s3, t3)
4(f)
where sk, tk are intermediate variables that depend on the input CMY. Together, functions vij and fi define
the overall 2D calibration function fc(vs) defined in Section 2.
4.2. Proposed Implementation
There are numerous choices for the functions vij that determine the two indices to the LUT. We adopted
two main criteria for selecting these functions:
i)
low computational complexity (since these functions are calculated for each image pixel);
ii)
the functions should offer independent control along certain critical axes of interest, including
individual channels, gray (C=M=Y), and secondary color mixtures.
We describe two different approaches for 1.) Printer calibration and 2.) CMYK Device emulation.
Calibration Transform
vc =fc(vs )
s1
vi1(C,M,Y
C’
t1
2DLUT f1(s1,
s2
C
M
vi2(C,M,Y
Y
M’
Calibrated
Control
Values
Vc
t2
2DLUT f2(s2,
s3
vi3(C,M,Y
Y’
t3
2DLUT f3(s3, t3)
Fixed
Transforms
Calibration
determined
2D LUTs
Figure 5. 2-D Calibration Transformation Architecture
4.2.1. Printer Calibration
For the calibration application, we define the intermediate variables for the LUTs as si, ti as follows:
s1 = M + Y;
s2 = C + Y;
s3 = C + M;
t1 = C
t2 = M
t3 = Y
5(a)
5(b)
5(c)
In other words, the LUT f1 in Fig. 5 for the cyan mapping is a function of two variables: i) input C and ii)
sum of M and Y. Analogous relationships hold for f2, f3, the LUTs for Magenta and Yellow mapping.
Fig. 6 shows a conceptual representation of the 2-D domain of LUT f1 (2-D LUT for Cyan), along
with examples of certain critical axes along which the desired response characteristics can be maintained.
The latter is done via the usual calibration process; namely printing, measuring (or modeling) the printer
response along the chosen axes, and correcting to the desired response. The LUTs f2 and f3 are analogous.
The greater control offered by a 2-D LUT when compared to 1D TRCs is now readily apparent. We can
specify, for example, both a 1-D linearized response to ∆E from paper along the pure C axis, as well as a
neutral 3D response in CIELAB along the C = M = Y axis (which maps to the line M + Y = 2C in Fig. 6).
It is also possible with this scheme to simultaneously accomplish some level of control along devicesecondary axes (i.e. along device-blue C = M, Y = 0; device green C = Y, M = 0; and device Red M = Y, C
= 0 axes respectively). On specifying the response along certain 1-D loci, the rest of the 2-D LUT may be
filled in by interpolation. In our implementation we used linear interpolation along the (M+Y) direction.
Note also that for the 2-D calibration transforms in Fig. 5, the intermediate control variables (si, ti)
are only conceptually 2-D. For purposes of implementation, however, the 2-D LUT could be implemented
by unraveling into a single 1-D table. For example the 2-D LUT f1 could be replaced by a 1-D LUT
addressed by (for example) C + 256 * (M + Y) for 8-bit input CMY values. For 8 bit CMY values the
transformation C + 256 * (M + Y) maps different (C, M + Y) pairs to distinct values, so the proposed 1-D
LUT version is only an equivalent of the 2-D version. Note also that a hybrid scheme may be adopted,
where some device channels are handled by 2-D calibration transforms and others by traditional 1-D
calibration transforms. Specifically, a one-dimensional TRC (e.g. ∆E from paper) may be used for the K
channel in combination with the 2-D LUTs for C, M and Y as described above.
Control along device secondary axis (e.g. C = M, Y = 0)
255
C
Control along device
Gray (C = M = Y)
Control along primary
x
0
Control along device
secondary to black (e.g.
C = M, Y = 255)
M+Y
51
Control along
primaries to black
to blac
Figure 6. Conceptual Representation of the 2-D space of the Cyan LUT
4.2.2. CMYK Device emulation
In Section 2 we described calibration the process of “calibrating” or tuning a target device to
emulate the color response of a reference device that may be an actual device, an industry standard or a
mathematical idealization. While the three modes of specifying reference devices fall under the same
conceptual umbrella, in practice the design of the calibration transform depends to a very large extent on
the relationship between the reference device being emulated and the emulating device. We now describe a
general procedure for the design of 2-D LUTs for CMYK device emulation.
The 2-dimensional emulation LUTs for C, M and Y are similar to those described before in Eqn.
(5). In addition we choose a 2-D LUT f4 for the K channel as well. For the K channel LUT, we have:
(s4, t4) = vi4( C, M, Y, K)
K’ = f4(s4, t4)
s4 = min(C, M, Y)
t4 = K
6(a)
6(b)
6(c)
6(d)
This is a reasonable choice as min(C, M, Y) is an approximate measure of the “black component” in the
input. The technique for populating the LUTs for C, M, Y and K are however different in flavor from those
used for calibration. We fill up these LUTs to mimic the response of the 4-dimensional (CMYK to CMYK)
emulation transform. This is illustrated in Fig. 7 for the case of emulating a SWOP offset CMYK press on a
Xerox digital CMYK printer. Note that, the mapping from the 4-dimensional space of emulated CMYK to
the 2-D space of the emulation LUTs is not unique. The mapping is hence selected so that the 2-D
transform agrees with the 4-D response in regions critical to color reproduction.
4.3. Performance Analysis
For 8 bit input CMY images, the proposed strategy requires three 2-D LUTs, each LUT is of size 256 x 511
= 128 Kbytes. Hence the overall size is just under 400 Kbytes, still likely an acceptable requirement in
high-end systems. The computational processing comprises 3 additions to compute the si’s and 3 2-D table
look-ups per pixel. This is substantially cheaper than tetrahedral interpolation typically used in 3-D LUTs.6
As argued in the previous sub-section, the traditional trade-off between achieving linear responses
along the individual separations or gray-balance (along the C = M =Y axis) is resolved by appropriately
populating the corresponding axes in the 2-D table. More generally, note that any given input point (p1, p2)
in the 2-D LUT of Fig. 5 corresponds to a line in CMY space formed by the intersection of the two planes
C=p1, M+Y = p2. All points along this line will thus map to the same C’. This compromise is significantly
CMY
control point
K addition
SWOP
CMYK
Xerox CMYK
4-D (4Æ 4)
emulation LUT
Fill in C
alue
SWOP GCR
2D TRC for Cyan
C
M+Y
Figure 7. Derivation of 2-D emulation LUTs from 4-D corrections, Cyan 2-D LUT
less severe than the one encountered in 1D calibration, where an entire plane maps to the same output C’.
The additional control may be used to overcome other device color problems. Often the hue along the
printer’s native blue axis (C = M) is purple and not really blue – and it may be desirable to use the
calibration to produce a blue hue along the C = M axis. This can be achieved with the proposed architecture
by appropriately populating the “white to secondaries” axis (M + Y = C axis in Fig. 6) in the Cyan and
Magenta 2-D LUTs. (Note, several lines in the 3-D CMY space alias down to this axis including the C = M,
Y = 0 axis) With the 2-D approach, this control on device blue does not compromise linearity along the
individual separations or gray-balance. In general, responses may also be specified along arbitrary curves in
the 2-dimensional space of the LUT (not necessarily lines, in Fig. 6) and the rest of the 2-D table can still
be easily be filled via interpolation.
As a final comment, 2-D calibration necessitates certain constraints on the preprocessing functions
vi1, vi2, vi3. Essentially, these functions must be monotonic with respect to input C, M, Y. Besides these,
other constraints (e.g. smoothness) may be required in practice. These constraints however, are clearly less
restrictive than those imposed by traditional one-dimensional calibration and also explain the greater
flexibility offered by the 2-dimensional framework.
5.
RESULTS
5.1. Device Calibration
An experiment was conducted with a Xerox Phaser 7000 CMYK laser printer. The 2D LUTs for C, M and
Y were filled in as described in Section 4.2.1. A pure Cyan sweep with 16 levels of C = 0, 17, 34 … 255, M
= 0, Y = 0 was processed via the two 1-D TRCs (∆E from paper and gray-balance) and the 2-dimensional
LUTs/TRCs. Subsequently, the processed sweep was printed and CIELAB values measured. The CIELAB
difference from paper white was then computed and plotted (Fig. 8) against increasing value of digital
count. By observing the plots we can see that a linear response is obtained for the 1-D ∆E from paper TRCs
(as they were tuned for the same) as well as the 2-D corrections. In fact, the responses overlap (ignoring
measurement noise). This is expected because the pure C, M and Y axes in the two-dimensional space
spanned by the 2-D LUTs were filled with the respective one-dimensional channel independent corrections.
The gray-balanced 1-D TRCs however do not give a linear response along the individual separations.
Similar results can be observed along the Magenta and Yellow channels.
To evaluate gray-balance we process an equal CMY (C = M =Y) sweep via the three corrections,
and print and measure the CIELAB values. Note, that a true neutral sweep would mean a* = b* = 0 in
CIELAB co-ordinates. Hence, we define a metric similar to the ∆Eab difference as
GB ( d ) =
a * ( d ) 2 + b * ( d ) 2 , 0 ≤ d ≤ d max
(7)
where a*(d) and b*(d) are the a* and b* components of the CIELAB measurements of an equal CMY
patch with digital value d (as before d = 0, 17, 34 … 255). The metric is hence defined to quantify the
deviations from the true neutral. The average value of the metric for equally CMY sweeps processed via
the three calibrations are tabulated in Table 1. The deviation is significantly lesser for the case of graybalance TRCs as opposed to channel independent ∆E from paper. Hence, a linear response along the
individual separations does not ensure gray-balance. The deviation for the gray-balanced TRCs and the 2-D
corrections are identical. This is again an expected result of populating the C = M = Y axis in the 2-D C, M
and Y LUTs with 1-D gray-balanced TRCs.
Figure 8. Channel-wise linearity vs gray-balance illustration for 1-D TRCs
Calibration Type
Average GB(d)
1-D channel independent
7.4055
1-D gray-balanced
1.1723
2-D
1.1723
Table 1. Deviations from true neutral for the three calibration methods
5.2. Stability control
The previous section investigated the ability to calibrate the device to a known state at a fixed instance in
time. An equally important consideration is stability of this calibration over time. To examine this, the
following experiment was performed. A calibration and characterization for the Phaser 7700 printer were
derived at a given time T0. The accuracy of the device correction-function was then evaluated by running a
CIELAB target well within the printer gamut through the inverse characterization function to compute the
CMYK needed to produce the device independent response. The subsequent calibration was applied to
generate the C’M’Y’K’ actually sent to the device. The target was then printed and CIELAB values
measured. The CIELAB difference between the measured and actual specified CIELAB values provides a
measure of the accuracy of the characterization/calibration. The same exercise as repeated for calibrations
(1-D ∆E from paper, gray-balance and 2-D) derived at time T1 >> T0, while maintaining the same
characterization derived at time T0. The stability experiment is illustrated in Fig. 9.
Table 2. shows the results of the experiment in the form of CIELAB errors computed between the
“specified” and measured CIELAB values for the various calibrations derived at T1. In our experiment T1
was twenty days after T0. In addition, Table 2. also shows CIELAB errors for calibration derived and
measured at T0 and calibration derived at T0 but measured at T1. (Note that, all throughout the same
characterization derived at T0 was used.) The latter indicates the device drift over the period T1 - T0 and
provides an upper bound on the errors while the former indicates the initial state of the device (i.e. how
well was the printer characterized/calibrated to begin with) and hence forms a lower bound. The CIELAB
errors for the new calibrations (at T1) must hence be considered relative to these bounds. For the new
calibrations (1-D gray-balance, ∆E from paper and 2-D) derived and measured at T1, the lowest errors were
recorded for 2-D calibration. Intuitively, this is expected because the 2-D calibration process pins-down the
desired response at more locations.
LAB target
within device gamut
Characterization
(static)
Calibration
(updated)
CMYK
Print & measure
LAB Values
Error metric
calculation
∆E
Figure 9. Stability experiment for evaluating 1-D Vs 2-D calibrations
Correction
1-D graybalance +
characterization
1-D channel
independent
1-D graybalance
2-D
No recalibration
Average ∆E94 error
95% ∆E94 error
2.21
4.08
T1
5.78
7.51
T1
T1
T1
4.73
2.66
6.83
8.02
4.59
10.67
Derived at
T0
Measured at
T0
T1
T1
T1
T0
Table 2. Stability: CIELAB errors measured for various calibrations
5.3. CMYK Device emulation
We now compare 1-D vs 2-D transforms for device emulation. We consider the emulation of the industry
standard SWOP offset CMYK16 on a Xerox laser CMYK printer.
The 1-D emulation transforms are derived as channel independent TRCs from SWOP CMYK to
Xerox CMYK, where in each channel is derived to mimic the channelwise response (∆E from paper) of
SWOP on the Xerox device. The 2-D emulation LUTs for C, M, Y and K are derived from the 4-D
transform as described in Section 4.2.2. The 1-D and 2-D techniques are then compared against the 4-D
emulation transform, the latter being treated as ground truth. We generate a set of SWOP CMYK values
uniformly distributed over the SWOP gamut. These values are generated from an N x N x N (N = 32) grid
of CMY values processed through a typical SWOP GCR strategy. The 1-D, 2-D and 4-D emulation
transforms are then used convert from SWOP CMYK to Xerox CMYK. A Neugebauer printer model for
the Xerox digital printer11 is used to predict the device independent CIELAB values for the three cases. The
CIELAB difference between 1-D (or 2-D) and the 4-D LAB values gives a measure of deviation from the
ideal (4-D) emulated response. Table 3. shows the average, 95% and maximum CIE94 errors for the 1-D
and 2-D cases. Clearly, the errors are lower for 2-D emulation. In particular, the 95% point and maximum
errors for 2-D are much lower than 1-D emulation.
Emulation Type
Average ∆E94 error
95 % ∆E94 error
Max. ∆E94 error
1-D emulation
4.7825
14.5568
16.5688
2-D emulation
2.2783
9.83
12.374
Table 3. Quantitative evaluation of 2-D Vs 1-D emulation using printer model.
6.
CONCLUSIONS
A novel two-dimensional calibration technique for output devices is described. This technique enables
significantly greater control and stability over regions of the color space that cannot be controlled
simultaneously by 1-D calibration transforms. The 2-D scheme can also be used for effectively emulating
one device with another. In terms of calibration, stability control, and device emulation, the 2-D scheme
offers far superior quality compared to the 1-D equivalent, while incurring a relatively modest
computational overhead that is likely to be acceptable for real-time processing of color images. While the
ideas and results have been presented for printers, the concepts can be readily applied to additive color
devices, e.g. CRT displays or LCDs.
7. REFERENCES
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
R Bala, Device Characterization - Digital Color Imaging Handbook, Chapter 5. CRC Press, 2003.
E. J. Giorgianni, T. E. Madden and K. E. Splauding, Color Management for digital imaging systems - Digital
Color Imaging Handbook, Chapter 4. CRC Press, 2003
G. Sharma, Color Fundamentals for Digital Imaging - Digital Color Imaging Handbook, Chapter1. CRC Press,
2003
R. W. G. Hunt, Measuring Colour. Prentice Hall, 1991
“International Color Consortium”, www.color.org
R. Bala and R.V. Klassen, Efficient color transformation implementation – Digital Color Imaging Handbook,
Chapter 11. CRC Press, 2003
J.Z. Chan, J.P. Allebach and C.A. Bouman, “Sequential Linear Interpolation of Multidimensional Functions,”
IEEE Transactions on Image Processing, vol. 6, 1231-1245, Sept. 1997
H.R. Kang, Color Technology for Electronic Imaging Devices, SPIE, Bellingham, WA, 1997
P.C.Hung, “Colorimetric calibration in electronic imaging devices using a look-up table model and
interpolations”, Journ. Electronic Imaging, vol 2, no. 1, pp. 53-61, 1993
GSharma, RBala, MMaltz, LKMestha, J.P. Van de Capelle, “Two-Dimensional Cailbration
architectures,” US patent filed May ’03.
R. Bala, “Optimization of the Spectral Neugebauer model for printer characterization”, J. Electronic Imaging,
8(2), 156-166, 1999
M. Xia, E. Saber, G. Sharma, and A. M. Tekalp, ``End-to-end color printer calibration by total least squares
regression ,'' IEEE Trans. Image Proc., vol. 8, no. 5, pp. 700-716, May 1999.
A. Artusi, and A. Wilkie, “Novel color printer characterization model,” J. Electronic Imaging, vol. 12, 448-459,
July 2003
R. Balasubramanian, “Refinement of printer transformations using weighted regression”, Proc. SPIE, Color
Imaging: Device-Independent Color, Color Hardcopy, and Graphic Arts, vol. 2658, 1996
R. Balasubramanian, S. Wang, “Color balanced TRC correction to compensate for illuminant changes in printer
characterization”, US patent DA0441, filed May 15, 2000
“Specifications Web Offset Publications”, www.swop.org
“What is sRGB – Introduction to the standard default RGB color space developed by Hewlett-Packard and
Microsoft,” http://www.srgb.com/aboutsrgb.html