ZCAM for Nuke

I’ve been wondering if using a CAM can help us deal with some of the perceived colourfulness effects of higher brightness levels.

The image below is from the Ed Giorgianni ACES background design document posted by @Alexander_Forsythe here: ACES background document

8.1. Why is Rendering Needed?
Figure 8.1 above illustrates the effects of display- image rendering. The upper image represents original scene colorimetry, and the lower image represents the results of rendering that colorimetry for output.

The images demonstrate that although scene-space images may be colorimetrically accurate, when displayed directly they are perceived as “flat” and “lifeless”. The fundamental reason rendering is needed, then, is to translate original-scene colorimetric values to output colorimetric values that produce images having a preferred color appearance.

Currently, both @matthias.scharfenber and I have mapped 1.0 in ACES scene linear to 100nits as our entry point into the ZCAM model. But that doesn’t need to be case, and may not be a particularly sane starting point for daylight scenes. Could the ZCAM model be used to help simulate the appearance of high intensity daylight colours on low brightness displays?

I made a slightly modified version of @matthias.scharfenber’s DRT_ZCAM_IzMh_v07 node, with an additional control to change the scaling of the input data before it get’s transformed into it’s ZCAM components, whilst leaving the parameters of the target display as is (100nits)

Almost all of the existing sample images I’ve been using have been either full CG, or nighttime images, so I dug out some old D600 RAW .NEF images and debayered them to ACES in dcraw (metadata inferred IDT only).

To come up with a new nit value to peg 1.0 to, I’ve used the following logic.

  • Through some slightly handwavy experimentation, I believe 100nits maps to 1.0 at an EV of around 8.5
  • These images are all taken in the full blazing Australian sun, which should be an EV of around 15
  • A value of 100 exposed up by 6.5 stops (15 - 8.5) gives a value of 9050.96680 (which I’m rounding off)

So I’m mapping 1.0 to 9000nits
(Yes, there is a bunch of fudge in here, but I think it should be ballpark ok for now)

The frames below all show:
Left | DRT_ZCAM_IzMh_v07 with ACES input 1.0 mapped to 100nits
Left | DRT_ZCAM_IzMh_v07 with ACES input 1.0 mapped to 9000nits










So which feels more like a bright sunny day in Australia?
Do the skintones explode to red?
Does the ZCAM model still map to perceived reality at these sorts of levels?
And what would be the point of going down this road?

In my head there is a sort of idealized scenario where camera metadata seamlessly makes it through to the display transform, and feeds in the absolute brightness of the scene. But realistically I think there are two more plausible options.

  1. It could help lead to a different standard value for mapping 1.0 into the model (Real scenes are unlikely on average to have 1.0 sitting at 100nits)
  2. Maybe you could have a sensible default, but leave the input EV open as parameter.
3 Likes