Color Support for XYZ PQ (Dolby Cinema)
Hi Adobe and Community,
I'm writing on behalf of Deluxe. As a post production facility, we work with XYZ color material for cinema content. Currently, working with DFX graphics in XYZ PQ (Dolby cinema) requires many work-around solutions, usually rendering to P3. This is time-consuming, because it involves additional render steps, and also dangerous, because it clips the gamut and alters source material.
It would be really helpful to have color transform options available for XYZ using E white with the PQ transfer function. This would also require a non-DCI XYZ color space with E white (that is, linear white should be a float value of 1.0 instead of the DCI value 0.917). This would allow for DFX graphic creation in an XYZ linear space from XYZ PQ source material and render to XYZ PQ for delivery.
This could be achieved using ICC profiles or by creating color transform tools that perform the necessary conversion math on XYZ pixel values. It would be be necessary to add an input for the brightness of source material and output material at render. All PQ imaging is contained within an encoding range of 10,000 nits but cinema uses different formats with different peak luminance values. It would work best to have custom control over the brightness.
If using ICC profiles, I imagine the XYZ PQ profile and brightness would be input from the usual Interpret menu. With 100-nit imaging, the peak float value will be 100 nits out of a possible 10,000 nits (100/10,000 = a linear float value of 0.01). At a brightness of 1%, 100 nit imaging would appear too dark to serve any practical purpose. Therefore, the 100-nit input value would be used to scale the image brightness by 100 times (100 x 0.01 = a float value of 1.0). The order of operation would be:
- Apply PQ EOTF to the source image
- Each XYZ value is multiplied by 10,000/100 (100)
Similarly, an input brightness of 48 nits (48/10,000 = a float value of 0.0048) would need to be scaled by 208.3 (0.0048 x 208.3 = a float values of 1.0). So, the XYZ PQ ICC profile would provide a number input for the source peak luminance and the XYZ linear space would assume 10,000 nits as a float value of 1.0.
At render, a similar strategy would be needed for correct brightness encoding. When selecting the XYZ PQ ICC profile for render, a number input would be available to set the peak luminance for rendered content. If the XYZ linear spaces assumes 10,000 nits, the output could be set to 100 nits to maintain the source brightness. This means the render order of operation woudl be:
- Linear XYZ values are multiplied by 100/10,000 (0.01)
- Apply the PQ OETF to encode the delivered image
Is there a way to provide these necessary tools for post production companies working with XYZ PQ?
