390 likes | 565 Views
A novel scheme for color-correction using 2-D Tone Response Curves (TRCs) . Vishal Monga ESPL Group Meeting, Nov. 14, 2003. Outline. Device Calibration & Characterization One-dimensional Calibration Typical Approaches Merits and Limitations Two-dimensional Color-Correction
E N D
A novel scheme for color-correction using 2-D Tone Response Curves (TRCs) Vishal Monga ESPL Group Meeting, Nov. 14, 2003
Outline • Device Calibration & Characterization • One-dimensional Calibration • Typical Approaches • Merits and Limitations • Two-dimensional Color-Correction • Basic Concept • Applications • calibration • stability control • device emulation
Why characterization & calibration? • Different devices capture and produce color differently
Why characterization & calibration? • Produce consistent color on different devices
Printer 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
Device-correction-function “Calibrated”CMYK Device CMYK Device Independent Color Calibration Characterization Output Device “Calibrated Device” Alternate CMYK (fast emulation) Calib.CMYK Archival/ Fast Re-print Path Partitioning 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
One-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
Channel wise linearization ………. Device Raw Response One-dimensional TRCs
Channel wise Linearization …. Testing CMYK sweeps Calibrated Printer response
Gray-balance Calibration • Goal: C=M=Y must produce gray/neutral • search for CMY combinations producing a*= b*=0 • Also capable of handling user-specified aim curves
One-Dimensional Calibration : Analysis • Very efficient for real-time color processing • For 8 bit processing just 256 bytes/channel • Very fast 1-D lookup • So what’s the problem? • Device gamut is 3-dimensional (excluding K) • We only shape the response along a one-dimensional locus i.e. very limited control
1-D Calibration : Analysis …….. • Example: 1-D TRCs can achieve gray-balance or channel-wise linearity but not both
1-D Calibration : Analysis …….. Gray-balance lost with channelwise linearization a* vs C=M=Y=d b* vs C=M=Y=d
Alternatives • Use acomplete 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
Calibration Transform C’ vi1(C,M,Y) 2D TRC C M’ M vi2(C,M,Y) Y 2D TRC Y’ vi3(C,M,Y) 2D TRC Fixed Transforms Calibration determined 2D TRCs Two-Dimensional Color Correction • 2-D TRCs instead of 1-D TRCs
Control along device secondary axis (e.g. C = M, Y = 0) x Control along device Gray (C = M = Y) Control along primary Control along device secondary to black Control along primary to black Example of 2-D Color Correction • Cyan 2-D LUT: 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
Calibration Transform C C’ vi1(C,M,Y) M + Y M C M’ M vi2(C,M,Y) Y C + Y Y Y’ vi3(C,M,Y) C + M Fixed Transforms Calibration determined 2D TRCs Example of 2-D Color Correction K Linearization 1-D TRC K’
Application 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 C=C0 maps to same output C’ • 2-D: A line in 3-D space (intersection of planes C=C0, M+Y = S0) maps to same output C’
Results • Hardcopy Prints • Fig. 1, 1D linearization TRC (deltaE from paper) • Fig. 2, 1D gray-balance TRC • Fig. 3, 2-D TRCs
LAB target within device gamut Characterization (static) Calibration (updated) Print & measure CMYK LAB Values Error metric calculation E Experiment • Build calibration & characterization at time T0 • Print & measure a CIELAB target, compute E between input and measured CIELAB values • Repeat at time T1 (>> T0 ) for different calibrations (e.g. 1-D deltaE, gray-balance, 2-D)
Correction Derived at Measured at Average DE94 error 95% DE94 error 1-D gray-balance + characterization T0 T0 2.21 4.08 1-D channel independent T1 T1 5.78 7.51 1-D gray-balance T1 T1 4.73 8.02 2-D T1 T1 2.66 4.59 No recalibration T0 T1 6.83 10.67 Results • Printer : Phaser 7700 • Times: T0 = Aug 1st T1 = Aug 20th
Device Emulation • Make a target device ``emulate” a reference • Reference could be another device – printer/display • Or a mathematical idealization (SWOP)
SWOP 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?
Partial 2-D Emulation • Use 4-D emulation as “ground truth” to derive 2-D TRCs • 2-D Emulation LUTs are: C vs. M+Y M vs. C+Y Y vs. C+M 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
Emulation : Results 1D 2D 4D
Conclusions • 2-D color correction • Enables significantly greater control than 1-D • Implementation cost > 1-D but << 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/IS&T Conf. On Color Imaging, Jan. 18-22, 2004
SWOP 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
SWOP 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 C=M=Y (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, M+Y) as well as K
SWOP Emulation on iGen G,B black 255 2 C 1 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 C=M=Y=i (3) increase M from i … 255 & (4) increase Y from i … 255, • add K in sweeps according to a SWOP like GCR
SWOP Emulation on iGen - the K channel 255 K K’ = f (K, min(C,M,Y) ) 0 255 min(C,M,Y)
Implementation • 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