In a color printing pipeline, the overall properties of a printed pattern depend on how the available inks are used to reproduce a given color. These choices are typically made in ink-space and therefore concern only how much of each ink to use, with halftoning then determining how those ink amounts interact with each other. For a HANS (Halftone Area Neugebauer Separation) pipeline, it is already the color separation the recipes of how inks are used for a given color that determines not only ink amounts but also how to combine them, while halftoning only provides their spatial distribution. Hence, with HANS, halftone properties are to a larger extent determined already by the color separation. This is an important change from traditional pipelines and requires different methods of control. This paper describes an approach to achieving new levels of image quality performance, without incurring complexity in the pipeline. It is based on the realization that certain strategies of halftone composition result in less grainy prints, e.g., when minimizing the amount of blank substrate, and more generally minimizing contrast among constituent, at-pixel drop-states (ink combinations). This is achieved through the mathematical technique of convex optimization, where such strategies can be formulated and efficiently computed. Results are shown for node-by-node LUT optimization; calibrating LUTs from ink-channel ratio data; transforming LUTs to take into account changes in drop-sequences, sets of admissible NPs or the number of possible NPs to use in an on-line pipeline and generating color samples that match in color but vary in grain. This approach is deeply embedded in the first HANS commercial product, the HP DesignJet Z6 and Z9+ series, a portfolio of pro-photo/graphics printers.
1 of 12
More Related Content
Halftone structure optimization using convex programming
2. INHERENT ASYMMETRY BETWEEN INK-VECTORS AND NPACS: PROBLEM OR OPPORTUNITY?
MOTIVATION
One ink-vector can result in many
different NPacs (NP area coverages)
Which do we chose? Can we use this
asymmetry for sampling NPacs?
Can we define metrics over NPacs that
result in a desired property?
Once weve chosen NPacs of a given
structure (i.e. NP composition), how do
we make sure interpolated ones follow?
What if we want to calibrate using ink-
factors and want to compute new NPacs?
Is there a way to do this (and more)?
0% blank
(C, M, CM)
30% blank
(CM only)
20% blank
(C, M, CM)
10% blank
(C, M, CM)
3. DECIDING HALFTONE STATISTICS BEFORE HALFTONING
HANS PIPELINE CHOICES
Contone Input
(RGB)
NPacs
Halftone
(NPs)
Tetrahedral
interpolation
PARAWACS
Contone Input
(RGB)
Ink-vectors
Halftone
(NPs)
Tetrahedral
interpolation
Error Diffusion
or Matrix
HALFTONE
CONTENTS
HALFTONE
CONTENTS &
SPATIAL
DISTRIBUTION
SPATIAL
DISTRIBUTION
4. CONSTRAINED MAPPING OF INK-VECTORS TO NPACS
CONVEX OPTIMIZATION
Y:0.143, YY:0.143,
KY:0.143, kY:0.143,
kK:0.143, K:0.143, k:0.143
Input NPac
kK:0.43, kY:0.57
Output NPacMetric
Constraints
Convex
Optimization
Ink-vector change
Min || H(NPac) + f(NPac) ||
Sum(NPac) == 1, 0 <= NPac <= 1
All NPs from Global_NP Set
InkVec(NPac) == InkVec(NPac)*factors
HANS pipeline controls pixel types (NPs) HP Pixel Control
Given an ink-vector (or an NPac), LP allows us to penalize/reward NP types (QP can take it further)
Every NPac can be optimized, given such metric, resulting in consistent NPacs
5. SIMPLE EXAMPLE
CONVEX OPTIMIZATION
INK-VECTOR:
50% CYAN INK
50% MAGENTA INK
NPS:
[BLANK, C, M, CM]
OBJECTIVE FUNCTION
F1 = [100, 0, 0, 0]
OBJECTIVE FUNCTION
F2 = [0, 100, 100, 0]
NPac:
50% C
50% M
NPac:
50% CM
50% Blank
6. OF COURSE, OTHERWISE IT WOULDNT MATTER
YES, BUT DOES THIS CHANGE COLOR?
-80 -60 -40 -20 0 20 40 60 80
a*
-80
-60
-40
-20
0
20
40
60
80
100
b*
Default vs W-MAX
Yes! Different NPacs, even if they
have a constant ink-vector, change
in color
Simple example case:
854 NPacs processed using a blank
space maximization vs blank space
minimization:
mean 1
95th %tile 2
max 4 E00
Your mileage may vary depending on
the system, but expect differences!
7. MINIMIZE NP CONTRAST FOR ALL NPACS OF A LUT IMPACT ON GRAIN
EXAMPLE: IQ OPTIMIZATION
LUT USING 200 NPS VIA OPTIMISATION
FAVOURING OVERPRINTING AND PENALISING BLANK SPACE
LUT USING 31 NPS VIA AN NP REDUCTION
AND SIDE-BY-SIDE OPTIMIZATION HIGH SPEED HIGH QUALITY
8. REPURPOSE IMPORTED INK-VECTOR LUT TO IMPROVE IQ
EXAMPLE: LUT IMPORTING
Native (TDFED, ink-channels) HANS (PARAWACS, NPacs)
~.5 cm
SMOOTHNESS
COMPARISON
(APPROXIMATELY
AT 100% ZOOM)
GRAIN COMPARISON
(CROP APPROX.
0.5 CM WIDTH)
9. SAME INK-VECTOR, DIFFERENT NPACS, DIFFERENT GRAIN
EXAMPLE: GRAIN SAMPLES
MINIMIZING OVERPRINTING
(SINGLE-INK NPS OR LOW DROP
STATES MOST COMMON)
GIVEN AN INK-VECTOR, COMPUTE
DIFFERENT ALTERNATIVE NPACS
THAT VARY IN GRAIN (MORE OR
LESS OVERPRINTING, MORE OR LESS
BLANK SPACE, ETC.).
MAXIMIZING OVERPRINTING
(MULTI-INK NPS OR HIGHER DROP
STATES MOST COMMON)
11. CONCLUSIONS
Convex optimization provides a
powerful and flexible framework for
algorithmically dealing with the
relationship of ink-vectors and NPacs
It allows us to introduce NPac
structure that directly affects print
attributes
We successfully applied this
approach to: ink-vector sampling,
LUT node optimization, local grain
sampling, ink-factor based color
calibration
HP Pixel Control
HP Pixel Control
HP Pixel Control
Photos 息 Lee Jeffries