Except that the PCS is not always L*a*b*. It can also
be XYZ. So I don't
see how it can be true that it should "ideally" be L* based. Case in
point, ECI-RGB, both v1 and v2 have defined the PCS as XYZ, not LAB.
The PCS is Lab atleast for all CMYK output profiles I know (there might
be exceptions). RGB input/working space profiles mostly have XYZ as PCS
(which has mathematical efficiency reasons afaik). Both colorspaces (XYZ
and Lab) can be converted into the other. As far as the PCS is
concerned, one needs to consider the PCS of the output profile.
Also, the data does not actually get converted to the
PCS, ever. The PCS
is just a means to an end. It allows a colorworld to be created between
a source and destination space. Image data is converted directly from
source to destination. It does not actually get passed through LAB or
XYZ as an intermediary color space.
True. The values are directly looked up through the profiles matrix or LUT.
Further the PCS and the colorworld
in practice are always 16bpc of precision or greater to prevent even
greater quantization errors than will already be the case as result of
TRC differences between source and destination.
True. Even when converting 8bpc data, the conversion is usually done
with 16 bits of precision internally by the CMM.
Any loss is not on the conversion to or from the PCS.
The loss is at the output side.
The major loss is at the output side, but not exclusively. Let's take
the following RGB image, which contains all ~16.7 million colors
possible in any 8-bit three component colorspace:
http://hoech.net/files/rgb16mio.tif.zip
Now, lets assign different source profiles, then convert to the same
CMYK profile and count the number of resulting colors (all conversions
done in Photoshop CS3, CMM Adobe ACE, no dithering, actual counting of
color values via python script
http://hoech.net/files/image_countcolors.py.zip):
ECI-RGB v2 -> ISO Coated v2 (perceptual) = 6367638
Adobe-RGB -> ISO Coated v2 (perceptual) = 6045017
ECI-RGB v1 -> ISO Coated v2 (perceptual) = 5829371
ECI-RGB v2 -> ISO Coated v2 (rel. col. + black point comp.) = 5668910
Adobe-RGB -> ISO Coated v2 (rel. col. + black point comp.) = 5172835
ECI-RGB v1 -> ISO Coated v2 (rel. col. + black point comp.) = 4855199
So, of the three RGB profiles the least levels are lost with the ECI-RGB
v2 profile. I have tested other input/output profile combinations with
similar results. The image is synthethic, but in real-world images the
correlations are the same. I chose the synthetic image because it
illustrates the point really good (real-world differences are not as
large, because real-world images contain less colors).
If its TRC is mismatched from the source, you will
have
loss of levels.
I have to disagree, because of the reasons I already mentioned and also
the examples above. The optimal TRC on the input side depends on the PCS
of the output profile.
So it's not correct to suggest that output device
TRC is not relevant to
loss when we are talking about 8bpc data.
It's the entire reason why we have any TRC instead of just pushing
unencoded (linear) data throughout our entire workflow.
I agree partly, output device TRC is of course not irrelevant. But the
notion that input profile TRC has to correspond in the best possible way
to output profile TRC to minimze loss, is a misconception (when
converting from RGB to CMYK or vice versa. Direct RGB-RGB conversions
are another matter, there the said correlation of input and output TRC
is given).
Best regards,
Florian Höch