current state of producing photos for HDR display?

Started Oct 1, 2022 | Discussions thread
robgendreau Forum Pro • Posts: 11,704
Re: current state of producing photos for HDR display?

spider-mario wrote:

Brian Kimball wrote:

So it seems the PQ & HLG tone curves are the key points here. Now how in the world do we incorporate them into photos?

Indeed, they are.

Until recently (see below), ICC profiles were unable to signal the use of PQ or HLG, because the way that ICC color management fundamentally works assumes that output light scales linearly with “media white”. But that is not how PQ and HLG work.

PQ works by representing absolute display light in the 0-10000 cd/m² range. So, regardless of the output display’s peak luminance, the RGB triplet (1, 1, 1) always represents 10 000 cd/m², (0.5081, 0.5081, 0.5081) always represents 100 cd/m², and so on. In a typical PQ workflow, you would adjust the image to look good on the mastering display that you are using, and then encode the absolute light that comes out of it as a PQ signal.

HLG is slightly closer to (but still different from) ICC-based color management in that it is relative instead of absolute like PQ, but unlike in ICC, the way that output light scales with the peak luminance of the display is non-linear. Instead, the HLG signal is interpreted as representing relative “scene light” to which a further transform (the “opto-optical transfer function” or “OOTF”) is supposed to be applied to produce display light. For HLG, that transform takes the form of a gamma curve applied to the luminance channel, with the value of the exponent varying according to the peak display luminance and the surround luminance. This video by an author of HLG explains it very well.

Traditionally, the focus of HLG has been on live broadcast (it was, after all, developed by the BBC and NHK), and therefore, one way to produce an HLG signal is to encode the linear camera output directly to HLG (with the convention being to place diffuse white ~2 stops below the maximum) and count on the OOTF to make it look subjectively similar regardless of the viewing device/environment. But it is also possible to adopt a workflow closer to that associated with PQ, in which you make the image look good on a given device, then apply the appropriate inverse OOTF to what is displayed on-screen (to go “back” to scene light) and encode the result to HLG.

Now, back to the question of how to signal the use of PQ or HLG in an image file. The solution adopted by AVIF comes from the video world and consists in transmitting four numbers (“coding-independent code points” or “CICP”) indicating which color primaries, transfer function, matrix coefficients and range (“full” vs. “limited” or “narrow”) are used. The values that those numbers can take are described in H.273. PQ is transfer function 16 and HLG is 18. The Rec. 2020 primaries are 9, and storing the signal as RGB without transforming it to Y′CbCr or similar is with “matrix coefficients” = 0 (identity matrix). So, full-range RGB Rec. 2020 + PQ would be represented by CICP values 9/16/0/1.

Support for transmitting CICP values has recently been added to the PNG specification and current versions of Chrome support the new chunk. And while JPEG does not support CICP directly, ICC v4.4 has also added support for a CICP tag, and the current development version (108) of Chrome can read that tag.

This version, an update to ICC.1:2010. The main technical changes to ICC.1:2010 are:

  • cicpTag has been added to enable HDR metadata to be carried in the profile

I hope that my comment was at least somewhat clear. 😁

Very clear! Thanks for the explanation.

One of those scenarios where video is ahead of the stills curve.

I've viewed a few .exr HDR stills on my HDR capable display, and it is very nice. Sunsets are amazing If one is on macOS, here's a tool for comparison and viewing, tev:

 robgendreau's gear list:robgendreau's gear list
Pentax 645Z
Keyboard shortcuts:
FForum PPrevious NNext WNext unread UUpvote SSubscribe RReply QQuote BBookmark MMy threads
Color scheme? Blue / Yellow