[Openicc] ALL YOU NEED IS A PROFILE, THE MYTH. (WAS CC Profiles In X Specification and dispwin)
Robert Krawitz
rlk at alum.mit.edu
Wed Jan 16 19:26:11 PST 2008
Date: Thu, 17 Jan 2008 03:13:14 +0100
From: Gerhard Fuernkranz <nospam456 at gmx.de>
Robert Krawitz wrote:
> Yes, but we need to handle these cases. The simple channel splitting
> model for light channels has some limitations; I suspect, for example,
> that the hue and saturation doesn't perfectly match.
Does it really matter if hue/saturation don't match, as long as they are
smoothly blended? But I agree that a simple channel splitting may likely
result in a smaller gamut than the optimal utilization of all inks.
Nevertheless I guess that it is still frequently done in this way,
because it is simple. Possibly even by commercial RIPs.
That's probably fair enough.
> Then there's the whole issue of ink limiting.
Per channel ink limiting can be done by the per-channel
linearization curves, and the total ink limit will be established
by the ICC profile.
I'm not so certain about this. The purpose of using light inks is to
reduce the grain; I don't believe that it actually increases gamut.
However, too much light ink simply saturates the page and after a
point doesn't increase the selective absorption of light, so we have
to switch over (gradually) to using darker ink. The saturation is
partially based on the particular channel, and partly on the total ink
load (hence the total ink limit). So if we adaptively bias toward
using dark ink when the total ink load is high we might get better
results. The ICC profile can compensate to some extent, but the
problem is that if we use too much light ink we get a leveling off
followed by a steep curve as we cut in the dark ink -- i. e. we lose
linearity.
A while back I did some thinking about how to adjust the light/dark
ink tradeoff depending upon the total ink load, but I never got very
far...
> You also missed the drop size issue.
I see the drop size issue rather as an issue of the halftoning process.
In part, yes, but if the drop sizes are wrong it's going to be very
hard to linearize very well. I've experimented with a 3 value dither
(as opposed to the usual 2 value dither), and the change in
distribution of drop sizes does affect the result. So finding a way
to get the drop sizes right is important, I think.
> The way we do CMYKRB (it extends to additional inks) is to convert to
> HSL, and pick the right combination of color inks from the hue (we
> don't use the auxiliary inks in gray/black generation). It's not all
> that scientific; it kindasorta works, but I'd like to do better.
Possibly multicolor profiles could be used here, in conjunction with
simple 1D linearization curves for each ink channel. I just don't have
experience how well multicolor profiles actually work. I think for
instance ProfileMaker supports the creation of such profiles. Argyll
currently does not support multicolor ICC profiles, it does support a
multicolor model called "mpp", though. But again, I have no experience
with this model yet either.
This is an issue we're eventually going to have to solve. The way
Gutenprint currently does this is rather ad hoc, and I doubt it
extracts anywhere near the maximum gamut possible.
CcMmYKk devices could possibly be treated as multicolor devices too
(instead of channel splitting) in order to utilize their full gamut.
> Well, OK, but the question of handling the different physical printer
> setups is very important for modern printers...
But each printer setup will need different tables/profiles as long
as a non-parametric device characterization is used. I do not see a
reasonable solution to overcome this. Otherwise one would need not
ICC profiles, but rather a mathematical model which predicts the
colors based on the physical printing process, and then things are
getting very complicated, and possibly still not as accurate as
desired...
Well, negative feedback -- and ICC profiles are a form of that -- is a
perfectly legitimate technique. The problem is that negative feedback
works best if the basic response is reasonably linear to begin with,
which is why we need good linearization. I guess the point I'm trying
to make is "how do we want to handle things like variable drops,
multi-toned inks, and extra ink colors?".
--
Robert Krawitz <rlk at alum.mit.edu>
Tall Clubs International -- http://www.tall.org/ or 1-888-IM-TALL-2
Member of the League for Programming Freedom -- mail lpf at uunet.uu.net
Project lead for Gutenprint -- http://gimp-print.sourceforge.net
"Linux doesn't dictate how I work, I dictate how Linux works."
--Eric Crampton
More information about the openicc
mailing list