Optimizing HANS Color Separation:Meet the CMY Metamers
Peter Morovič, Ján Morovič, Juan Manuel García–ReyeroHewlett Packard Company
Barcelona, Spain
Outline
•Trichromatic color reproduction
•HANS refresher
•Optimization framework
•Metamer examples
•Ink-use results
•Conclusions
Trichromatic color reproduction
• Trichromatic color reproduction is the use of one colorant/light-source per cone type
• additive: RGB light sources, varying in intensity of output, control intensity of response from LMS cones
• subtractive: CMY filters, varying in level of absorption, control intensity of response from LMS cones
• For each color that can be matched, there is one and only one RGB / CMY combination that matches it
• Alternatives (metamers) are only available when more than three colorants/light-sources are available (e.g., adding K to CMY, adding W to RGB)
From print anatomy to HANS Side view
70% W13% C10% K 6% M 1% CMSubtractive
Additive
70% W13% C 6% M 1% CM10% CMY
Rela
tive
area
cov
erag
es Neugebauer prim
aries
A simple HANS separation
Print & measure Neugebauer primary
(NP) CIE XYZs
Compute convex hull &
tetrahedralize hull NPs
Find printable color’s
enclosing tetrahedron
Printable color
20% W30% C25% M 0% Y25% CM 0% CY 0% MY 0% CMY
Barycentric coordinates
are vertex NP areas
Select one NP per pixel &
diffuse NPac-NP error
Due to linearity in XYZ/XYZN
W
C
CMM
Closed-Form Solution• All NPacs that match a single XYZ = metamer set
• A half-plane intersection with a convex hull problem:
• Let Y be an Nx3 matrix of NP XYZs and X an XYZ to optimize, the set of all possible convex weights α that when applied to Y match X is the solution to:
αTY = X[plane – X dependent]
subject to: Iα ≥ 0 ⋀ Iα ≤ 1 ⋀ ∑α = 1[convex hull – X independent]
• However N can be very large,e.g. for CMYK @ 2 dpp 34 = 81 dim
• Infeasible to compute ND convex hull in general
Set of all convex α
(half-plane intersection)
Plane of αTY = X
metamers
TessellationsPoints (NP colorimetries) Convex Hull Example Tessellations
[triangular/rectangular/...]
42 possible polygons if we allow overlapping
• Tessellating NPs can be done in different ways - not a unique solution
• A given XYZ (within the convex hull) is contained in many tessella
• Each tessella gives rise to a new NP area coverage vector – NPac – a new metamer
NP1
NP2
NP3
NP4
NP5
NP6
NP7
?
Combinatorial Solution• Given a set N NPs and their measured XYZs there are
• In the case of CMY, there are 70 tetrahedra, 56 pentahedra, 28 hexahedra, etc... = 163 polyhedra
Tetrahedra All polyhedra
CMYK@1dpp 1,820 64,839
CMYK@2dpp 1,663,740 ~1024
CMYKcm@2dpp A lot!A lot!
NX
p=4
✓N
p
◆
Barycentric CoordinatesGiven a polyhedron, how do we determine if an XYZ is
inside and what convex weights correspond?
b1b2b3b4
!
"
#####
$
%
&&&&&
T
=
SXSYSZ1
!
"
#####
$
%
&&&&&
T
×
V1X V2X V3X V4XV1Y V2Y V3Y V4YV1Z V2Z V3Z V4Z1 1 1 1
!
"
#####
$
%
&&&&&
T!
"
######
$
%
&&&&&&
−1 b1b2b3b4bp
!
"
#########
$
%
&&&&&&&&&
T
=
SXSYSZ1
!
"
#####
$
%
&&&&&
T
×
V1X V2X V3X V4XV1Y V2Y V3Y V4YV1Z V2Z V3Z V4Z1 1 1 1
VpX
VpY
VpZ
1
!
"
#####
$
%
&&&&&
T!
"
######
$
%
&&&&&&
−1
Tetrahedron(direct inverse)
General p-vertex polyhedron(via pseudo inverse)
If S is in Polyhedron defined by [V1 … Vp] then(b1, b2, b3, ..., bp) are convex: bi∈[0,1] ⋀ ∑bi = 1
+
Optimization
• For a given XYZ (sampling printable gamut)
• check all possible polyhedra that contain it
• compute the resulting NPac
• evaluate each NPac for optimality (e.g. ink-use)
• Conceptually: compute the metamer set and choose the best candidate from within
• Challenging: large number of tetrahedra; large metamer sets (still only sampling)
The CMY pipeline
• Not all NPs can be printed and measured, we create a base NPac set: [within ink-limit NPs; out-of-ink-limit NPs mapped to ink-limit; convex hull of ink-limit]
• # base NPacs ≥ # NPs
• HP DesignJet Z3200 using CMY inks only (ink/no-ink) on Plain Paper:
• 14 base NPacs (8 NPs + convex hull of ink-limit)
• 15,914 possible polyhedra
• Their colorimetries:
+W +W +W +W
W Y M MY C CY CM CMY ...
115 mid-gray metamersEach column represents an NPac that matches a mid-gray, the color of the
segments corresponds to NPs and their length to the relative area coverages
12% W35% C 0% M29% Y24% CM 0% CY 0% MY 0% CMY
12% W51% C 3% M32% Y 2% CM 2% CY10% MY 0% CMY
Two examples halftoned
Two out of 115 metamers: left patch uses 11 base NPacs (out of 14) – right patch uses 5 base NPacs [shown in pseudo-color]
Target LAB
Ink use
• Print and measure 544 uniform LAB samples spanning the whole CMY color gamut
• Perform tetrahedral search for each sample over extended base NPac set (244 samples)
• 14,4 x106 tetrahedra evaluated
• Min vs Max ink-use over all 544 samples = 12.66% ink use range
−60 −40 −20 0 20 40 60
−40
−20
0
20
40
60
80
a*
b*
Printed and Measured LABs
Ink use – typical ink set
CMYKcm @ 2dpp = 729 NPs
!60
!40
!20
0
20
40
60
!40 !20 0 20 40 60 80
b*
a*
!60
!40
!20
0
20
40
60
!40 !20 0 20 40 60 80
b*
a*
Light ink use: current vs HANS
Conclusions
•A 3 ink system no longer means there is no choice in color separation – not a 3D (XYZ) to 3D (CMY) mapping, but a 3D to k3D (CMY NPs) mapping
•HANS has a vast amount of choice for each colorimetry
•Even in the CMY case we can find 2 color separations that differ in >12% of ink used to print same content
•All of this applies directly to spectral printing…
Acknowledgements
Lluis Abello, Jordi Arnabat, Carlos Amselem, Xavier Bruch, Patrick Chase, Gary Dispoto, Michel Encrenaz, Eduard Garcia, Rafael Gimenez, Josep Giralt, Johan Lammens, Lahav Langboim, I-Jong Lin, Alan Lobban, Shay Maoz, Óscar Martinez, Scott Norum, Aleix Oriol, Ramon Pastor, John Recker, Yvan Richard, Marc Rossinyol, Albert Serra, Jep Tarradas, Ingeborg Tastl, Jordi Vilar and Igor Yakubov.
Thank you!