Using iccMAX for HDR color management
Presenter: Max Derhak (Onyx Graphics)
Duration: 8 min
Slides: download
Slides & video
Hi, it's Max Derhak.
I'm a co-chair of the International Color Consortium.
And today I'm going to talk about wide gamut and HDR with iccMax color management.
Start off with, I'd like to compare basically the differences between how the ITU goes about color management and the International Color Consortium.
With the ITU, it basically uses a method that defines what a pixel is.
The ITU defines the explicit definition of a pixel encoding which continues and contains the number of bits, the number of samples, the sampling order, and bit formatting, and it has applied transforms.
And basically any system that wants to be wants to use this has to understand the encoding values and then has to understand do the right thing to make the conversions that are needed.
The changes in identifiers will potentially require changes in the system itself.
And each system needs to implement the same transform to get interoperable results.
Contrasting that to the way ICC approaches things is ICC uses a appearance of a pixel.
And ICC profiles abstract away from the pixel encoding a pixel encoding a separate part of the CMM programming interface.
And integer samples are mapped for a range of zero to one by the CMM and floating point values that get passed right into the profile.
And a significant difference is is that ICC defines transforms from the device to the colorimetry using a profile connection space and PCS to device.
The PCS defines the appearance: an HDR-based PCS is needed to do HDR color management and the CMM it simply applies the transforms to find the profile.
And what this really means is is that if you really want to have different kinds of transforms you basically put what you need into the transform and it doesn't require CMM or system changes.
The ICC is in the process of putting putting a proposal together to put ITU coding identifiers into a CICP tag.
Now, as I mentioned before a HDR-friendly profile connection space is needed.
Now the ICC use of color management uses relative colorimetry for relative, perceptual and saturation intents.
What this really means is the white points mapped to one another, provide interoperability, taking advantage of the adaptation of the human visual system.
With HDR, we need to have the idea of kind of a relative HDR and the idea there would be to have a media white point colorimetry that corresponds to HDR graphics white while the peak white maps to colorimetric values that are above the media white.
This would result in a relative SDR white point mapping to HDR graphics white.
So this would be interoperable with existing legacy called ICC color management.
And this is suitable for HDL encoding.
However, in some instances luminance based HDR would desirable and IccMax profiles that contain or assume the luminance for the media white point.
And therefore media luminance matching is performed in the CMM by scaling the luminance points to the connected profiles.
And this would be required for something something like PQ encoding.
Note that when were connecting profiles together, tone mapping and gamut mapping can conceptually be done in abstract profiles within an HDR friendly PCS.
This is something that the ICC is currently working on.
Benefits of IccMax People that understand ICC color management but for wide gamut and HDR management.
I see that there's three specific areas where it can be benefit.
First of all, all transforms are based on floating point.
The PCS and coding uses the entire floating point range.
Floating point device values can be you can utilize the entire floating-point range as well.
An example would be that you could have a floating point based SRG profile that could map to a wide gamut And HDR PCS were devised in zero one corresponds to normal sRGB And values that go outside, that range would map to HDR PCS' values to go outside that range.
Second of all, IccMax provides a flexible definition of PCS colorimetry you have an arbitrary choice of illuminant, observer with plug-able transforms to get to the standard PCS colorimetry.
This means that the PCS can be D65, which is what's used in the displays.
Additional custom observer color matching function can be supported for people who are deviant or even slightly different.
This is especially important when the primaries on displays become very narrow.
Lastly, IccMax provides flexible transport encoding with arbitrary sequences of various processing elements with curves, matrices, look up tables, et cetera and also potentially has a stack based calculator element where you can basically directly encode arbitrary functions and have CM environment variables that provide parameters for functions.
This would provide means of actually putting things in like the ambient luminance or other factors that may actually want to configure how profile works without necessarily having to have a custom system.
With IccMax the ISO 20677 which is the standard defines IccMax.
It encompasses an extremely large set of color management possibilities, and an inter-operability conformance specification document provides the means of defining limited subsets of IccMax specific workloads and use cases.
This provides for our basis for standardizing narrow color management workflows using IccMax, basically an ICS defines or provides header contents, card elements, their contents optional elements, or contents and workflow description including connections to color spaces and other profiles and example profiles that conform the ICS.
Core ICS documents have recently been approved by the ICC being colorimetrics, spectral reflectance, extended output and expect extended range and the website link there gives where you can get to those documents.
Other organizations can define ICS and register them with the ICC.
Lastly, those three areas that I see as advantages of IccMax and are applicable in the ExtendedRange Display and ColorSpace ICS that was recently approved.
This provides a multi-set part of specifications that are potentially useful for wide gamut and HDR color management.
And these three parts really basically align with those things.
First of all, part one gives basic encoding.
This limits, the pro transforms to curves, matrices and n-D look-up processing elements with a floating point encoding using an HDR PCS with D50 colorimetry for the standard two degree observer.
This is basically it guarantees the ability to get into a an HDR PCS without necessarily having a large overhead over what can be done with legacy version four profiles.
In addition to that, part two allows for custom PCS to define with the same processing elements, however the PCS can support arbitrary illuminant and observer color matching.
And the third part, basically takes into account the fuller rich set of the processing elements with the ability to respect remodeling of displays and a calculator element for functional modeling and the HDR PCS with arbitrary observer and illuminant observer and illuminant is possible for that.
That's all I have.
Thank you very much.