Re: some thoughts on CIELAB was Dry Time for UltraChromeinks/Calibration
Re: some thoughts on CIELAB was Dry Time for UltraChromeinks/Calibration
- Subject: Re: some thoughts on CIELAB was Dry Time for UltraChromeinks/Calibration
- From: Graeme Gill <email@hidden>
- Date: Fri, 07 Feb 2003 14:09:52 +1100
Robin Myers wrote:
>
You can easily discover this "hooking" encoding effect by taking values
>
for constant hue and lightness (I used Munsell values) and plot them on
>
an a*b* diagram.
What difference does it make if they "hook" when projected
into the a*b* plane ? Any 3D curve can be made to look like a hook if you
project it in the right direction into 2D. There's only a problem if
the 3D space folds back on itself, and since the mapping from XYZ
to/from L*a*b* is monotonic, the L*a*b* itself doesn't cause this
problem.
>
As for XYZ being a worse choice I disagree. It is linear in color
>
mixing,
Only true when mixing light. Most colorant mixing models
are based on XYZ or spectral reflectance values, but the
useful ones aren't linear. L*a*b* isn't used in
profiles that assume an underlying mixing model, they
are used in formats that are general purpose, and
make no assumptions about the devices behaviour (ie. CLUT
based profiles).
>
all the coordinate values are positive, when projected onto xy
>
diagrams, lines of constant hue exhibit much less curvature.
Constant hue in what terms ? Perceptual ?
I didn't think there were any "golden" standards on what
defines a perceptually constant hue. Munsell values are
often used as a guide, but there are several other test
sets being used in Color Appearance Model development.
L*a*b* is bad in the blue region, which is why it's
not a good choice for large scale color modifications needed
for things like Gamut mapping, but this isn't relevant
as a means of representing color. Because L*a*b* is more
nearly perceptual than XYZ, it is a much better choice
when quantization is taking place. There is a reason you
can't use 8 bit XYZ Lut ICC representation !
Having compared quite a few profiles made for the same
device in XYZ and L*a*b* PCS, the L*a*b* CLUT version
seems to almost always has the lowest errors (ie. highest
correspondence to the measured data points).
>
The only
>
objection I have heard that has some merit is that it is more difficult
>
to develop simple perceptual models for XYZ. However, I have
>
successfully used gamut compression/expansion, selective colorant
>
adjustment and other techniques used in perceptual transformations in
>
XYZ space. It requires using 3D XYZ vector calculations rather than
>
simple 2D a*b* calculations. Also, since many color matching
>
computations require conversion to and from XYZ space as an intermediary
>
(e.g. RGB to L*a*b* usually requires RGB to XYZ to L*a*b*), then there
>
are computational benefits to using XYZ as the PCS.
You can use almost any space you like for gamut mapping if you
twist the gamut mapping itself appropriately. The whole point
about choosing a particular space for doing gamut mapping
is to make the mapping itself as simple as possible.
One starting point criteria might be that the shortest
distance in the colorspace correspond to the perceptual
closest distance, on both a small and large scale.
L*a*b* isn't terribly suitable under this criteria,
but XYZ is many times worse. Most work currently
seems to be going on using CIECAM97 or similar,
since a successful color appearance space will
tend to meet this criteria. I've certainly had satisfactory
results using a "shortest distance" weighted algorithm
in a modified CIECAM97 colorspace.
In practice I haven't found the computational cost to be
an issue (conversion to/from CIECAM97 is several times
slower than L*a*b*). The conversion of colorspaces is only a
small proportion of the costs involved in the gamut mapping
itself, creating a profile or inverting a profile.
>
For a really interesting weird view of L*a*b* space and how it distorts
>
things, take a look at the spectral locus, including the purple line,
>
converted into L*a*b*. Do not use the diagram in Wyczecki and Stiles
>
since it is a monochrome image and difficult to visualize the effect.
Agreed, but as a way of representing color values, so what ? The thing L*a*b*
has going for it is that it is a well known, standard, roughly perceptual
space. It's generally regarded as having a 3:1 variation from actual perceptual
uniformity. While using a linear interpolation algorithm to interpolate
between CLUT values may not make much sense from a color mixing model
point of view, it makes good sense in the context of performing an
interpolation between relatively closely spaced sample points.
Graeme Gill.
_______________________________________________
colorsync-users mailing list | email@hidden
Help/Unsubscribe/Archives:
http://www.lists.apple.com/mailman/listinfo/colorsync-users
Do not post admin requests to the list. They will be ignored.