Why is the media white point of a display profile always D50?In ICC v4, the requirement was introduced that the media white point of a Display class profile shall be equal to D50 (i.e. [96.42, 100, 82.49]). This is in fact implied in v2, but many profile creators did not grasp the rationale for it and as a result some incorrect profiles were created and distributed. Today CMMs anticipate such errors and have implemented strategies to avoid the potential problems.
Why is the white point D50?
A full account of the rationale for the D50 media white point is provided in ICC White Paper 6 Differences between v2 and v4 display profiles, but this page provides a summary at a more introductory level.
First, the ICC.1 architecture is based on a D50 profile connection space (PCS). The PCS provides an unambiguous colour space in which profiles can be connected, but both source and destination data can have any colorimetry provided that it is transformed to D50 by chromatic adaptation. The transform used to convert the colorimetry of the measured white point to D50 is included in the profile as the 'chad' tag.
A property of a stimulus which is considered to be an illuminant is that the Y tristimulus value is equal to 100. Hence the result of chromatically adapting any illuminant (such as D65) to D50 is of course D50. A tristimulus Y measurement corresponds to the luminance in candelas per sq. metre when using absolute colorimetry as defined by CIE. This is different from the colorimetry implied by the ICC-Absolute Colorimetric rendering intent, in which the CIE tristimulus X, Y and Z values are first scaled so that Y is equal to 100 for the 'reference white' that the observer can be assumed to be adapted to.
If a display is measured with a telespectroradiometer, the peak white will usually have a luminance different from 100 cd/m2. However, in this situation there must still be a reference white which represents the luminance that the visual system is adapted to. For surface colours such as prints, we take the reflectance of a perfectly reflecting diffuser as the reference (since it is the best estimate of the adapting white point in the absence of additional information), and set the Y to be 100. The actual luminance of the reflecting media white point will of course depend on the intensity of the illumination, but we use 100 as the reference in order to be able to compare such colours regardless of the illumination.
In the case of the display, our best estimate of the adapting white point in most viewing situations is the display peak white itself. Hence we scale the XYZ values of the display measurement so that Y=100; in effect we are considering the display peak white as the illuminant.
The result of these two steps (scaling the display white to 100 and chromatically adapting it to D50) always gives the D50 illuminant values, and hence the requirement to specify D50 in the white point tag of Display class profiles.
Why can't I have an 'Absolute Colorimetric' transform that matches the measured display colorimetry exactly?
Superficially this operation might appear to be the display equivalent of the ICC-Absolute Colorimetric rendering intent. However, in the absence of a common adapting white point, it would be more akin to attempting to match the absolute CIE XYZ values measured with a telespectroradiometer, regardless of the viewing condition and observer adaptation. This would be highly undesirable in almost all cases, as the following example shows: imagine a photographic print viewed under 500 lux illumination, and then reproduced on a print which is assessed under 2000 lux illumination (following the recommendations of ISO 3664:2009 ). In the 500 lux condition the print will have a Y tristimulus value measured by the TSR of approximately 150. The TSR will measure the same media white in the 2000 lux condition as having a Y of approximately 600, while the 'exact match' of 150 will appear much darker by comparison, with an L* of 56. Alternatively, when going the other way, from a print under the 2000 lux condition to one under the 500 lux condition, L*=56 on 2000 lux print is now mapped to the media white on the 500 lux print and everything above is clipped. Because both results will look completely wrong, in practice we never do this but instead scale the XYZ values linearly so that a perfect white diffuser has a Y of 100 in both conditions, and then choose media-relative or ICC-absolute colorimetric rendering intents depending on which is appropriate.
What this tells us is that it is the ratios of the absolute XYZ values that we need to match, not the absolute values. In the case of displays, all the display industries including broadcast and motion picture industries are well aware of this and specify display white points and primaries primarily in terms of these ratios (i.e. CIE x,y coordinates or 'chromaticity') and not the tristimulus values.
Matching XYZ ratios rather than exact colorimetry is important even on displays with similar white points. A recent experiment demonstrates this result: 20 observers were asked to match a series of colour patches between two displays in which the white points were calibrated to be almost identical. When the matches made by the different observers were measured and compared, they differed considerably in their XYZ values. When the XYZ values were converted to CIELAB using the display white as reference, the variation was very large; but when compared in terms of chromaticity coordinates (i.e. XYZ ratios) they were a close match.
What if I still want to match absolute XYZ values between my displays?
In most practical situations, an exact XYZ match between displays is best achieved by first calibrating the displays to the same white point, in terms of luminance and chromaticity. Then an ICC.1 v4 profile will enable colours to be matched in terms of both colorimetry and appearance (to the extent possible when the colour gamut is taken into consideration).
What if I still want to match absolute XYZ values between displays with different white points?
Because this use case almost never occurs in any practical workflow, ICC.1 does not support it in the current profile version. If despite the points above you have a need to match absolute XYZ values, and not the appearance of the colour, on a display, there are solutions available. While it is possible to enter the unscaled XYZ values of the display in an ICC.1 v2 profile, this is not a good method as many CMMs will assume this is an error and try to fix it. One solution is to apply the TSR measurements of a display to model it and subsequently calculate the RGB values required to match the absolute colorimetry on a different display. Alternatively, the new iccMAX enables any display colorimetry to be matched through the use of the Profile Connection Conditions, and the iccMAX Reference Implementation provides tools that support generating and applying iccMAX profiles.