Title: A novel scheme for color-correction using 2-D Tone Response Curves (TRCs)
1A novel scheme for color-correction using 2-D
Tone Response Curves (TRCs)
- Vishal Monga
- ESPL Group Meeting,
- Nov. 14, 2003
2Outline
- Device Calibration Characterization
- One-dimensional Calibration
- Typical Approaches
- Merits and Limitations
- Two-dimensional Color-Correction
- Basic Concept
- Applications
- calibration
- stability control
- device emulation
3Why characterization calibration?
- Different devices capture and produce color
differently
4Why characterization calibration?
- Produce consistent color on different devices
5Device Independent Paradigm
6Printer Calibration and Characterization
- Calibration
- Tune device to a desired color characteristic
- Typically done with 1-D TRCs
- Characterization
- Derive relationship between device dependent and
device independent color - Forward characterization given CMYK, predict
CIELAB response (based on a printer model) - Inverse characterization given an input CIELAB
response, determine CMYK required to produce it
7Partitioning the device-correction
- Motivation
- Some effects e.g. device drift may be addressed
- (almost) completely via calibration
- Calibration requires significantly lower
measurement - and computational effort
8One-Dimensional Calibration
- Two major approaches
- Channel Independent
- Gray-Balanced Calibration
- Channel Independent
- Each of C, M, Y and K separately linearized to a
metric e.g. Optical density or ?E from paper - Ensures a visually linear response along the
individual channels
9Channel wise linearization .
Device Raw Response
One-dimensional TRCs
10Channel wise Linearization . Testing
CMYK sweeps
Calibrated Printer response
11Gray-balance Calibration
- Goal CMY must produce gray/neutral
- search for CMY combinations producing a b0
- Also capable of handling user-specified aim
curves
12One-Dimensional Calibration Analysis
- Very efficient for real-time color processing
- For 8 bit processing just 256 bytes/channel
- Very fast 1-D lookup
- So whats the problem?
- Device gamut is 3-dimensional (excluding K)
- We only shape the response along a
one-dimensional locus i.e. very limited control
131-D Calibration Analysis ..
- Example 1-D TRCs can achieve gray-balance or
channel-wise linearity but not both
141-D Calibration Analysis ..
- Gray-balance lost with channelwise linearization
a vs CMYd
b vs CMYd
15Alternatives
- Use a complete characterization
- 3-D (or 4-D) look-up tables (LUTs) involve no
compromises - Expensive w.r.t storage and/or computation
- Require more measurement effort
- Explore an intermediate dimensionality
- 2-D color correction
- Requirements Must be relatively inexpensive
w.r.t computation, storage measurement effort
16Two-Dimensional Color Correction
- 2-D TRCs instead of 1-D TRCs
-
17Example of 2-D Color Correction
255
C
510
0
M Y
- Specify desired response along certain 1-D loci
- Interpolate to fill in the rest of the table
- LUT size 256 x 511 128 kB/channel
18Example of 2-D Color Correction
Linearization 1-D TRC
K
K
19Application to Device Calibration
20Application to Device Calibration
- Enables greater control in calibration
- e.g. linearization and gray-balance
simultaneously - More generally, arbitrary loci in 2-D space can
be controlled to arbitrary aims - A geometric comparison with 1-D
- 1-D An entire plane CC0 maps to same output C
- 2-D A line in 3-D space (intersection of planes
CC0, MY S0) maps to same output C
21Visualization of 1-D Vs 2-D calibration
22Results
- Hardcopy Prints
- Fig. 1, 1D linearization TRC (deltaE from paper)
- Fig. 2, 1D gray-balance TRC
- Fig. 3, 2-D TRCs
23Application to Stability Control
24Experiment
- Build calibration characterization at time T0
- Print measure a CIELAB target, compute ?E
between input and measured CIELAB values - Repeat at time T1 (gtgt T0 ) for different
calibrations (e.g. 1-D deltaE, gray-balance, 2-D)
25Results
- Printer Phaser 7700
- Times T0 Aug 1st T1 Aug 20th
-
26Application to Device Emulation
27Device Emulation
- Make a target device emulate a reference
- Reference could be another device
printer/display - Or a mathematical idealization (SWOP)
28SWOP emulation on Xerox CMYK
- Problem
- SWOP rich black requires high C,M,Y
- Xerox CMYK rich black requires low C,M,Y
- 1-D TRCs for emulation
- Monotonic ? cannot preserve rich black
- 4-D SWOP CMYK ? Xerox CMYK
- Accurate, but costly for high speed printing
- 2-D emulation
- A good tradeoff?
29Partial 2-D Emulation
- Use 4-D emulation as ground truth to derive 2-D
TRCs - 2-D Emulation LUTs are
- C vs. MY M vs. CY
- Y vs. CM K vs. min(C,M,Y)
SWOP CMYK
Xerox CMYK
K addition
4? 4 emulation LUT
CMY control point
Fill in C value
SWOP GCR
2D TRC for Cyan
C
M Y
30Visualization of emulation transform
31Emulation Results
1D 2D 4D
32Conclusions
- 2-D color correction
- Enables significantly greater control than 1-D
- Implementation cost gt 1-D but ltlt 3/4-D
- Addresses a variety of problems
- Calibration
- Stability Control
- Device Emulation
- References
- V. Monga, R. Bala and G. Sharma,
Two-dimensional transforms for device color
calibration'', Proc. SPIE/IST Conf. On Color
Imaging, Jan. 18-22, 2004
33Back Up Slides
342-D Calibration Response Shaping
35SWOP Emulation on iGen
- How to populate the 2-D table(s) ?
- Specify 1-D swop2igen type corrections along
various axis (wherever possible) and interpolate? - Experiments show interpolating gives a poor
approximation to the response
Example
K
K is substantial
Almost no K
min(C,M,Y)
Interpolating between 1-D loci does not capture
this behavior
36SWOP Emulation on iGen
- Instead populate by brute force mimicking of
the 4-dimensional response - For the K table, treat min(C,M,Y) axis as CMY
(approximately a measure of input black) - Run equal CMY sweeps for each K through 4-D
corrections fill the K table with the results - C, M, Y tables are trickier
- Need to fold GCR into the table as well
- C (corrected Cyan) must be a function of (C,
MY) as well as K
37SWOP Emulation on iGen
G,B
black
255
2
1
C
3
4
510
0
white
M,Y
Red
M Y
For each C i, i 0, 1, 255 (1) increase M
up to i, Y 0 (2) increase Y up to CMYi (3)
increase M from i 255 (4) increase Y from i
255, add K in sweeps according to a SWOP like
GCR
38SWOP Emulation on iGen - the K channel
255
K
K f (K, min(C,M,Y) )
0
255
min(C,M,Y)
39Implementation
- ALI scripts to derive 2-D TRCs
- Calibration
- Core routine get2DTRCs.ali
- Support routines stretchTRCs.ali,
tuneGrayTRCs.ali, fittrc2maxgray.ali - 2-D TRCs written as an ELFLIST of ELFOBJECTS (in
this case CTK LUT objects) - Emulation
- 2Demuln.ali, make2DTRCK.ali