Towards an HDR-capable ICC PCS

Chris Lilley
World Wide Web Consortium (W3C)

This paper is an early draft presented for discussion by the HDR Working Group at the July 2020 International Color Consortium (ICC) meeting. It is incomplete, has not tested HDR gamut mapping in any depth, and does not yet draw any conclusions. It has not been peer-reviewed by the ICC.


Traditional color management, with a focus on the reproduction of printed imagery, has concerned itself with a restricted dynamic range; it is constrained by the deepest multi-ink black, on the one hand, and paper white seen under a not especially bright illuminant (2000 lux for critical viewing, per [ISO 3664:2009] on the other.

For example, the deepest black in the [FOGRA51] characterisation data (CMYK 100 100 100 100) has an Lab value of 12.71 0.53 4.89, giving a dynamic range of 65.95.

For on-screen presentation, developments in Standard Dynamic Range (SDR) display technology increased this dynamic range, but it was still bounded by display flare (at the dark end) and modest peak luminances of 200 cd/m² or so at the high end, giving a linear dynamic range of 1000:1 or so.

For example, the lowest conformance level of the VESA [DisplayHDR] specification gives a minimum luminance for peak white of 400 cd/m² and a maximum luminance for black (at maximum scene luminance, i.e. no backlight dimming) of 0.4 cd/m²; the simultaneous contrast is thus 1000:1.

Fairchild has experimentaly extended CIE Lightness to a level of 400 (corresponding to a luminance of 46x media white) with HDR-Lab and HDR-IPT [HDR-Lab].

Meanwhile the TV and movie industry, and the related field of 3D computer graphics, has advanced and is generating, manipulating and distributing to consumers, HDR content with dynamic ranges of 4000:1 or higher. [Netflix ODS], [YouTube-HDR]

HDR luminance levels

Current HDR video broadcasts conform to [BT.2100] which supports two transfer functions: one is scene referred, with relative luminance and suitable for variable viewing conditions (Hybrid Log Gamma, HLG), originally published as [ARIB_STD-B67] and the other is display-referred, with absolute luminance and suitable for fixed, dark viewing conditions (Perceptual Quantizer, PQ), originally published as [SMPTE-ST-2084]; the latter requires re-rendering for other viewing environments [HDR-VVC].

Rec.2100 supports (peak, small-area) luminances up to 12x media white (HLG) or 71.4x media white (PQ). Dark colors significantly below those suported by Standard Dynamic Range (SDR) once viewing flare is taken into account, are also supported.

The various conformance levels of the VESA Certified DisplayHDR conformance specification [Certified DisplayHDR] require Minimum Peak Luminance ranging from 500 to 1400 cd/m², and corresponding Maximum Black luminance ranging from 0.1 to 0.02 cd/m²; the simultaneous dynamic range is thus greater than 70,000. Meanwhile the highest “True Black” conformance levels require a Maximum Black Level Luminance of 0.0005 cd/m² (although so far, only with a minimum peak of 500).

For HLG, diffuse white is placed at a code value of 0.75 (75 “IRE”), which allocates three quarters of the code space for commonly occuring, SDR colors; and leaves 3.5 stops (12x diffuse white) for highlights. The absolute luminance of the diffuse white in HLG thus varies with display brightness, which can be adapted to suit viewing conditions.

For PQ, diffuse white depends on the absolute luminance and varies, although recommendations are emerging for indoor and outdoor scenes [Dolby-PQ-levels], [BT.2048]. Around 5.5 stops are reserved for specular highlights (calculations vary depending on the assumptions made). The difference beweeen the live-broadcast focussed HLG and the movie oriented PQ has been summed up [Borer & Cotton] as Brighter displays for brighter environments vs. Brighter displays for more highlights

Transcoding of PQ to HLG is possible, for a given set of viewing conditions and a given peak luminance [PQ-HLG Transcoding].

Besides HDR video, there is interest in distributing HDR still-image content, either stills from video content, or HDR graphic arts content.

Neflix are using the AVIF format for HDR imagery [Netflix-AVIF]. (Note: Unlike traditional photograhic images used for gamut mapping studies, these images combine HDR still photograhic content with hard-edged graphic arts and typography). Netflix are using an ICC workflow for these still images [Netflix-HDR-UI] but note problems with much ICC software ignoring absolute luminance value. They also point out that the effect of alpha blending in a non linear-light colorspace is even worse for PQ than for SDR, where it is unfortunately common.

The ICC Profile Connection Space

ICC (4.3 and Max) currently allows either CIE XYZ or CIE Lab as Profile Connection Space.

CIE XYZ is unbounded, and used for HDR by ACES and OpenEXR (see appendix); while CIE Lab is bounded to L=100 at media white (perfect diffuse reflector).

Arbitrarily placing the HDR peak intensity white at L=100 grossly distorts the Lightness curve, and would not be a good Lightness predictor.

Fairchild has shown that L can be extended to 400, [HDR-Lab] but this would constitute an additional PCS rather than a revision of the existing one. The idea of adding an additional ICC PCS is not new; Tastl et al have explored using CIECAM02 as an ICC PCS [ICC CIECAM02].

Safdar et al have proposed Jzazbz, an HDR-capable uniform colorspace [Safdar-PUCS]. Jzazbz uses (a modified) PQ transfer function, claims to correct the CIE Lab hue non-linearity, is computationally less complex than CIECAM02 or CIECAM16, and has an associated deltaE metric which is (compared to deltaE 2000) computationally simple and could be used for gamut mapping operations. Unlike CIECAM02 [ICC CIECAM02], it is invertible.

This paper therefore examines Jzazbz as a potential HDR ICC PCS.


The input to Jzazbz is absolute CIE XYZ, with a D65 whitepoint. Since ICC uses CIE XYZ as a PCS, and since ICCMax allows non-D50 whitepoints, it seems feasible that a future version of the ICC specification could add Jzazbz as an additional PCS for processing of HDR data.

The present author implemented Jzazbz and JzCzhz as part of a JavaScript color library. The implementation was checked against published Matlab code, but is as yet unreleased as it needs more testing to be certain of correctness.

Transfer curve

The Jz component, termed Brightness, is the perceptually uniform correlate of Luminance in the Jzazbz model. The transfer curve is strongly influenced by, but not identical to, the Dolby PQ curve used in Rec.2100; like PQ, the luminance range is absolute and ranges from 0 to 10,000 cd/m².

The authors of Jzazbz do not specifically address where in this range the media white should be placed, although this is a critical item both for viewer comfort and for the integration of SDR and HDR content in a single program. Dolby conducted a histogram analysis of HDR and SDR graded indoor scenes from cinematic content for home distribution. Their Reference Level Guidelines for PQ [Dolby-PQ-levels] give the encoded PQ values of 0.34 for an 18% gray card (17 cd/m²) and go on to deduce the corresponding level of 0.54 for a media 'diffuse white' (100% reflectance) illuminated at 140 cd/m². Their analysis found outdoor scenes to be 1.7 stops higher in exposure, placing an 18% grey card at 57 cd/m² and a PQ value of 0.45, with diffuse white at 425 cd/m² and a PQ value of 0.66.

In contrast, [BT.2048] lists higher “nominal” values, placing an 18% grey card at a luminance of 26 cd/m² (PQ 0.38, HLG 0.38) and diffuse white at 203 cd/m² (PQ 0.58, HLG 0.75). They caution that:

However, for both types of content the spread around this mean value is significant, indicating that in practice the measured white levels can be expected to vary significantly around this target value

The implementation by the present author therefore places the media whitepoint for all SDR RGB colorspaces at PQ of 0.58, corresponding to 203 cd/m².

Chroma and Hue

Like the equations for deltaE2000, Jzazbz introduces a correction term for the deep blue to purple non-linearity of Lab and CIECAM02

After transformation to an LMS cone domain, PQ compression is used for the chromatic axes, as well as for the lightness axis.

Rec.2020 primaries and secondaries, plotted on the CIE CH plane. For comparison, the sRGB primaries and secondaries are shown by the dashed lines.
Rec.2020 primaries and secondaries, plotted on the CIE CH plane. For comparison, the sRGB primaries and secondaries are shown by the dashed lines.

A shift in hue angle of the blue primaries (relative to cyan and magenta) is readily apparent. There are altered hue angle relationships between the sRGB and Rec.2020 values. Coordinate values are very small: for example, Rec.2020 yellow has a CIE LCH Chroma of 132 but a JzCzhz Chroma of 0.156.


Because many of the limitations of CIE Lab are claimed to be corrected in the computation of Jzazbz, then unlike the relatively complicated ΔE2000 metric, the ΔEJz metric uses a simple root sum of squares in JzCzhz:

ΔEJz = √(ΔJz² + ΔCz² + ΔHz²)

where, as with CIE LCH, ΔHz is the length of the chord:

ΔHz = 2 × √(Cz1 × Cz2) × sin(Δh), Δh in radians

This metric was implemented and tested against ΔE76, ΔECMC(2:1) and ΔE2000. In the table below, after range-setting pairs of sRGB white against white and black respectively, the next four rows are the “large color difference” color pairs from [Sharma-DeltaE2000] and the final three rows are published results with small ΔECMC(2:1) for “Brilliant Yellow” pairs by BYK-Gardner GmbH. The Lab input data for ΔEJz was adapted from D50 to D65 with a linear Bradford CAT. The final column is simply the ΔEJz multiplied by 400, to allow easier comparison.

Reference Sample ΔE76 ΔECMC(2:1) ΔE2000 ΔEJz ΔEJz × 400
white black 100 33.7401 100 0.193556 77.4225
white white 0 0 0 0 0
lab(50 2.5 0) lab(73 25 -18) 36.8680 37.9233 27.1492 0.070663 28.2651
lab(50 2.5 0) lab(61 -5 29) 31.9100 34.4758 22.8977 0.054039 21.6158
lab(50 2.5 0) lab(56 -27 -3) 30.2531 38.0618 31.9030 0.054381 21.7524
lab(50 2.5 0) lab(58 24 15) 27.4089 33.3342 19.4535 0.048484 19.3936
lab(84.25 5.74 96.00) lab(84.46 8.88 96.49) 3.1849 1.6364 1.6743 0.007603 3.0412
lab(84.25 5.74 96.00) lab(84.52 5.75 93.09) 2.9225 0.8770 0.5887 0.002040 0.8160
lab(84.25 5.74 96.00) lab(84.37 5.86 99.42) 3.4242 1.0221 0.6395 0.002199 0.8796
Comparison of ΔE metrics

It is immediately apparent that the ΔEJz metric has a very different range. As expected, ΔE76 over-estimates for high-chroma pairs, while ΔECMC(2:1) and ΔE2000 are at least comparable in magnitude. The scaled values, however, are at least broadly comparable with ΔE2000

While not necessarily an issue for automated tasks such as gamut mapping, the very small values for the ΔEJz distance metric might prove a barrier to acceptability or perceptibility use, or to client-vendor communication.

Input data: colors and images

Rousselot et. al. [Quality Assesment HDR] examined HDR image quality metrics using ICtCp, Jzazbz, and HDR-Lab. 12 SDR metrics were extended to HDR, and two new HDR metrics were proposed. Among their conclusions, they cited lack of clarity in the white point used for color grading and suggested use of the HLG transfer function. They suggest the blue hue deviation correction makes the Jzazbz color space more sensitive to gamut mismatch distortions. They also cite [BT.2408] for a diffuse white point luminance of 203 cd/m² for ICTCP suggest a white point for Jzazbz of 997 cd/m², and repeatedly stress the diffuse white luminance values used in image preparation as a critical foctor in determining which of the tested UCS will perform best.

Kuang have proposed a "refined image appearance model" for HDR image rendering [iCAM06].

Extended SDR metrics tend to suffer from only considering the luminance aspect (Rousselot describes these as “color blind” metrics). Many existing test images are contained within the BT.709 gamut, and even those using BT.2020 or BT.2100 are lacking in non-neutral, let alone high-chroma samples above media white.

Similar limitations apply to the experiments leading to HDR-Lab and HDR-IPT [HDR-Lab]; the data were obtained from observer evaluation of monochrome patches with a diffuse white of 997 cd/m² and luminance levels up to 2x diffuse white. The transfer function matches CIE L up to 1x diffuse white, and uses the Michaelis-Menten equation up to 4x diffuse white. For evaluation of Chroma, hue linearity, and hue spacing the Munsell Renotation values were used, which clearly are an SDR data set.

A set of HDR images is publicly available for the investigation of HDR image rendering [HDR Photo Survey] although existing gamut mapping studies mostly concentrate on more established and widely published WCG SDR images such as the Kodak PhotoCD images.

Gamut mapping

Gamut compression from an SDR, WCG display to a SCG display has been investigated by Xu et al [CGM-Vividness], [Gamut Compression] who compared CIE Lab, CAM02-UCS and Jzazbz. Six global and two local (spatial) GMAs were tested. Their algorithms included Vividness Preserving (distance from the blackpoint) and Depth Preserving (distance from media white); the latter did not perform well. Their conclusions included the statement that Jzazbz is a promising UCS for gamut mapping. However, only the WCG aspect of Jzazbz was investigated, not the HDR aspect.

Masaoka have claimed [UHDTV Gamut Mapping] that the CIE Lab hue non-linearity has minimal effect on UHDTV to HDTV (BT.2020 to BT.709) gamut mapping because the blue hues of the two systems are closely aligned. Their GMA, operating in CIE Lab because of the computational difficulties of CIECAM02, preserves metric hues except for yellow and cyan highlights, whose hue is altered to preserve lightness.

To simulate a constant-lightness, hue preserving GMA, the present author implemented Jzazbz, JzCzhz, and the Jz distance metric; then plotted the progressive Chroma reduction of two blues (sRGB primary blue and Rec.2020 primary blue) in two UCS: CIE LCH and Jzazbz. Blue was chosen to investigate the hue linearity, which is known to be problematic for CIE Lab.

Above: sRGB blue, with progressive reduction of CIE LCH Chroma to the neutral axis.
Below, linear-light sRGB primary intensities.
Above: sRGB blue, with progressive reduction of JzCzhz Chroma to the neutral axis.
Below, linear-light sRGB primary intensities.

For the LCH chroma reduction, a shift towards purple is easily seen and the RGB levels clearly indicate that the red component is rising faster than the green.

For the JzCzhz chroma reduction, the objectionable purple shift is replaced by a worrying cyan shift, and the green component is rising faster than the red. In addition, the three components do not fully converge to the neutral axis.

Having examined a SCG mapping, as a WCG colorspace Rec.2020 blue was tested. The color ramps are converted to sRGB for display; salmon indicates out-of-gamut colors.

Above: Rec.2020 blue, with progressive reduction of CIE LCH Chroma to the neutral axis.
Below, linear-light Rec.2020 primary intensities.
Above: Rec.2020 blue, with progressive reduction of JzCzhz Chroma to the neutral axis.
Below, linear-light Rec.2020 primary intensities.

The same tendencies (an excess of red in LCH, and of green in JzCzhz) were noted, although only a portion of the generated color ramp could be visualized due to display gamut limitations.

It is hypothesized that the shift from blue to purple, which crosses a color name boundary, is visualy more noticeable than the shift from deep blue to cyan blue, which does not.

Tentative Conclusions, & Further Work

Tastl et. al. concluded [ICC CIECAM02]:

Trying to use CIECAM02 within an ICC framework is not as simple as switching from XYZ to CIELAB. It requires careful thought about the goals that one hopes to achieve, careful selection of the CIECAM02 input parameters and management of the expectations. It is not the answer to all the problems and it also produces new problems that have to be dealt with in an appropriate way.

The same caveats apply to the use of Jzazbz within an ICC framework. Having said which:

The PQ transfer curve is specific to a reference display in a dim viewing environment. The positioning of diffuse, media white is subject to debate and the re-rendering required for non-dim viewing environments is poorly defined.

It is possible that a UCS with the HLG transfer curve might be more widely applicable to a range of viewing environments and allocate more of the code space to commonly occurring colors.

The hue linearity of Jzazbz needs to be further investigated.

Performance of Jzazbzwith non-neutral, high chroma colors is inadequately explored.

The values for JzCzhz brightness and chroma, and the values for deltaE, are too small for easy comprehension or comparison with other systems.

Beyond that, no conclusions are presented at this stage.

Much further work remains to be done to even understand the goals of HDR-capable ICC manipulation of color. In addition to merely progressing from colorimetry to color appearance models: spatial effects and image appearance models, tone mapping/color re-rendering, user expectations and applicability to a range of viewing environments are increasingly important for satisfactory rendering of still, let alone moving, HDR content.