There is validity to that approach, but I'm not sure how it applies for different kinds of Argyl/Coca generated profiles. It might not help a measurement-based 3D look-up table type of profile, but it could help a matrix-shaper profile. See the discussion in the Hardeberg thesis: Acquisition and reproduction of colour images, Chapter 3 (3.2.3.5), where he reduced perceptual error by using an exponent of 1/3 on the scanner values.
Cliff: if you keep giving me articles to read, I'll never finish testing. The Hardeberg thesis is very informative. He modified the linear RGB values from the scanner by applying an exponent of 0.33, trying to approximate the relationship between L* and Y/Yn which has the same exponent. But a closer correlation comes at ~0.4 (gamma = 2.5) if the curves I have generated are correct (see attachment). Maybe there are good reasons why he chose 3.0 instead of 2.4.
For my own reference I have summarised Hardeberg's Chapter 3, in which he explains how he went about generating a profile from an IT8 target. Page references are to Hardeberg, but in what follows there are no quotations.
SummaryHardeberg found the most accurate method of generating a profile by the methods he tested was to:
1. Linearise the RGB scanner values;
2. Apply gamma correction of 1/3 to the RGB values; and
3. Transform via a third-order polynomial to Lab space. [p51]
That mouthful means:
1 – Before the real processing begins, it is best to ensure the RGB data from the scanner is linear in case of non-linearities caused by stray light, sensor "dark" current, gamma correction of unknown amount applied by the scanning software, and other non-linearities. However, for the two devices tested by Hardeberg, no linearisation was required by one, and only "a correction for the black offset" was required by the other. It seems doubtful to me that any software could attempt to linearise raw RGB output without damaging the data – unless for a very simple case like "black offset". In practice, linearising the RGB data is of no concern (and is not feasible for most users anyway).
It seems to me the main reason Hardeberg includes this step is to make sure that gamma correction hasn't already been applied. i.e. you don't want to use gamma corrected RGB values as input for steps 2 and 3, because his step 2 applies gamma correction. So with his method of profiling, the data must start as linear as possible, otherwise you'll end up with gamma correction upon gamma correction.
I wonder if this is where the idea started that profilers should have linear input data? Yes, profilers do require linear RGB data – if your next step is to apply gamma of 1/3 (as does Hardeberg), to ensure the most accurate profiles in Lab space. But if the profiling software does not apply gamma correction to the RGB data, then Hardeberg's results clearly show that for the most accurate profiles, the RGB data should be gamma corrected before it enters the profiler.
2&3 – If you are transforming from one data set to another, you will get the most accurate results if the two sets start off as close as possible. That means, if your RGB data is linear, you should use the XYZ colour space for your transformation when profiling, because the Y component of XYZ is linear. The problem is that, as Hardeberg explains, the XYZ colour space is not linear with respect to colour, but only with respect to luminance (if I understand him correctly). So although it might appear to be best to use linear RGB values as input to an XYZ profiler, because of the way humans see colour, such profiling (according to Herdeberg's results) won't be as good as transforming to an Lab space – which is reasonably linear with respect to colour.
But… the Lab colour space is not linear with respect to absolute luminance, so it is not linear with respect to scanner RGB values. And transforming between the two will result in errors. Let's put some values into this discussion, in particular, some of the Grayscale values GS0-GS23 (first figure is relative luminance as measured by a linear RGB scanner, the second the L* value of the IT8 target):
73 –> 88
65 –> 84
59 –> 81
3 –> 20
1.2 –> 10
0.3 –> 2.8
The transformer has to work out an equation that relates the two sets of figures. If it is expecting a cubic relationship, or models the relationship cubicly, the fit will be quite good. The fit will be even better if the profiler is presented with this set of numbers (I just made them up) which are derived from the first set by gamma correcting:
89 –> 88
83 –> 84
81 –> 81
21 –> 20
9.8 –> 10
2.4 –> 2.8
Transforming the second set will result in better accuracy than the first. This is what Hardeberg has shown.
So, if you know your profiler works in Lab space and applies gamma correction before profiling – then it is best to present it with linear data. However, if it works in Lab space and does not apply gamma correction, then the profile will be more accurate if you massage the RGB figures so that they are close to the Lab numbers to start with. But how does a user know how the internals of their profiler works?
This is all in theory. I haven't seen much colour difference between any of the dozens of targets I scanned, then profiled using the four settings in Coca. But I have seen luminance differences in the deepest blacks of a profiled slide. And that just happens to be one of the areas in which I want the best rendition of my slides - the deep, moody blacks.
Gamma correction has been shown by Hardeberg to theoretically give better results for his test conditions (though there is not much difference between Methods 1 and 3, see
Results below). And I've seen an improvement in some of my slides when I gamma correct a target, but I'm not convinced yet how real the improvement is.
Profile Methods tested by HardebergTo generate profiles, Hardeberg used different IT8 charts, with and without preliminary gamma correction of scanner RGB values, and three polynomial orders (linear, square and cubic) for the RGB/XYZ and RGB/Lab transform. He tried three general methods:
1. Transforms (first, second and third order) to XYZ space
2. Transforms (first, second and third order) to Lab space
3. Gamma correction of RGB data, followed by polynomial transforms to Lab space.
The main drawback with method 1 is that the XYZ colour space is very poorly correlated to visual colour differences. A transform directly to Lab values (method 2), instead of XYZ values, should give better results since distance in CIELAB space corresponds quite well to perceptual colour differences.
Method 3 involved an exponent of 1/3 (identical to a gamma correction of 1/3) being applied to the scanner RGB values before the transformation to Lab space. The use of cubic root was motivated from considering the Lab transformations, which involves cubic-root functions on the linear XYZ tristimulus values. [p44-46]
ResultsTable 3.1 shows that method 3 is the best solution for generating a profile with minimum errors, as measured by the mean colour differences. Figures below show first, second and third order results:
Method 1… 5.1, 2.1, 1.6
Method 2… 19.4, 7.3, 4.6
Method 3… 5.5, 1.4, 1.0
From the testing results, transforming directly from linear RGB values to Lab is not a good solution, whereas applying a gamma correction of 1/3 gives very good results, especially when third-order polynomials are used. [p46-47].