[argyllcms] Correct working of BTOA0 table

  • From: John Weissberg <jw@xxxxxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Mon, 28 Jan 2008 11:11:23 +0100

I would like to ask about how they feel the BTOA0 table should correctly be used for driving ink-jet printers. In particular, do people think the Lab values referred to by the BtoA should be "absolute" or "relative".


Here is the debate I have been having with a colleague:

We have a paper with an Lab whitepoint of approximately 95,0,-4 and we are using a BtoA0 table that is 33 x 33 x 33 elements.

One way to use a BtoA0 table is to work exclusively in a relative space where "white" corresponds to the point 100,0,0 and CMYK ink values of 0,0,0,0. In this case, before requesting a look-up of the ink values corresponding to a certain Lab value, the Lab value should be converted from absolute to relative (using a "wrong Von Kries transform" or other). This relative Lab value is looked up in the BtoA table to find the ink values. When printed on paper, the color will be modified by the background color of the paper and will appear "absolute" again.


For example, if you wanted to print the color 95,0,-4, before the color is looked up in the BtoA table, it is first converted to "relative" which would yield 100,0,0. The lookup table yields the corresponding ink values for this point: 0,0,0,0. When printed on paper, the actual color seen will be the background paper white of 95,0,-4.


Another way to work, and the way it appears Argyll works, is to skip the stage of converting colors from absolute to relative. The BtoA0 table and the pre-linearization table are adjusted so as to store absolute values. In this case, the pre-linearization matrix is adjusted so that the whitepoint of 95,0,-4 falls onto a matrix point in the 33x33x33 BtoA0 matrix. This white point is filled with ink data 0,0,0,0. When performing a look-up in the BtoA table, the absolute Lab color is searched for.

In this case, if you wanted to print the color 95,0,-4, you can directly look-up this absolute Lab color in the BtoA table. As before, the lookup table yields the corresponding ink values for this point: 0,0,0,0. When printed on paper, the actual color seen will be the background paper white of 95,0,-4.

Both of these approaches can be used to get the same correct result. I am wondering if people feel either if these is the correct approach to used as defined by the ICC spec.

Finally, I would love to hear how people believe RIPs that use these ICC profiles behave in practice concerning this issue.




--
John Weissberg
PerfectProof - Accuracy Made Easy
jw@xxxxxxxxxxxxxxxx

Other related posts: