Is mid gray nit setting in ST2084 based on 0.18 in scene linear, not 18% mid gray?

Tags: #<Tag:0x00007f632b352c68> #<Tag:0x00007f632b352b78>

I assume that 18% reflectance mid gray is 0.2 in scene linear and 90% is 1.0. Is this correct? If it is, could you please explain me this:

I added a solid white in Resolve and multiplied it by 0.2 to get 18% reflectance equivalent. After that I added Color Space Transform effect to convert from linear to ST.2084 (not ACES), and get a 10 bit value 365. This perfectly matches new Resolve ST2084 nits waveform analyzer scale. And if I multiply by 0.15 instead of 0.2, I get 10 bit value 340 and 15 nit on analyzer. Everything works as expected.

Then I turned off Color Space Transform effect and added ACES 1.1 Transform effect to convert from ACES AP0 Linear to ST2084 ODT with mid gray setting exposed to the user and set to 15 nit. But in this case I got 10 bit value 352 instead of 340.

I thought I did something wrong or maybe Resolve has something wrong with its ACES, so I checked it with Paul Dore OFX ACES 1.2 and get similar results.

After that I changed multiplication of solid white from 0.2 to 0.18. And this time I got perfect match with Resolve analyzer showing 15 nit and 10 bit value 340. Then I changed ODT mid gray from 15 to 20 nit and get 10 bit value 365 and again perfect match with Resolve nits scale in analyzer showing 20 nit.

Looks like in ACES mid gray is 0.18 in scene linear instead of 0.2. Could you please tell me, what is the reason for that, or am I wrong and missed something?
And thank you all for ACES! It’s incredible!

No, this is not a correct assumption.

Generally speaking - 18% is 0.18 and 100% is 1.0.

In the ACES specification (SMPTE ST 2065-1), an 18% scene reflectance maps to a value of 0.18. However, technically speaking according to the ACES specification, a nominal 100% scene reflectance value actually does not map to an ACES value of 1.0, but instead to an ACES value of 0.97297. This is because ACES is defined via a Reference Image Capture Device that has a nominal camera flare value of 0.005 and ACES is normalized to 0.18. Hence, 1.0x(0.18/0.185) = 0.97297.

And yes, 0.18 should map to 15 nits by default through the HDR ACES Output Transforms.


Thank you for your answer! This is really helpful!
I checked LogC white paper. There 18% mid gray is full scale 10 bit value 400. Which actually maps to 0.18 in linear gamma. I was sure it will show 0.2, to be honest.

My assumption was based on lutcalc
Screenshot 2021-01-30 193920

Is this something about full vs legal thing? I always thought Linear encoding can only be in full scale.

I think that the confusion may come from the fact that Sony refer to something they “linear IRE” in their white papers, where 20% linear IRE is equivalent to 18% reflectance.

This is further confused by some of the Sony S-Log papers giving conversion equations to reflectance, and some to linear IRE. So sometimes a compensation factor of 0.9 is needed, and sometimes it isn’t.

As far as I know, only Sony do this.

It looks like your plot comes from LUTCalc by Ben Turley. Since Ben (I believe) owns Sony cameras, and built the app originally for his own use, he incorporates the Sony linear IRE calculation in the app.

1 Like

Hi All,

I’m the Ben that Nick mentioned. I don’t have much useful to add, but my understanding of the linear IRE thing is down to the conventional reference white in the real world being a 90% reflectance card . The knee in conventional cameras tended to make 90% reflectance = 90% recording, but without the knee activated 90% reflectance would notionally be 100% recording at nominal exposure, and with conventional gamma 100% linear → 100% gamma corrected.

Now we have cameras capable of huge dynamic ranges and curves deliberately intended to have lots of headroom so that camera midtone exposures can be consistent even when highlights are challenging. We also have ACES designed to bring disparate cameras into a consistent frame of reference, and to get to that frame of reference and keep the maths sensible a well (sensibly) defined scene linear is the way to go, and 90% reflectance is, like 18% grey, a reference point rather than a limit.

I have no idea why Sony (and if I remember correctly Canon with the first C-Log white paper) went with ‘linear IRE’ in their log technical documentation, but I can say that in writing my app it was a headache double checking when the 0.9x factor is needed.

As a fun side experiment, if you have LUTCalc, you can try comparing DJI D-Log gamma to Sony S-Log3 with ‘slope’ set to 0.9 in the ASC-CDL customisation. This is the same as multiplying by 0.9 in linear space (ie 18/20). I got the parameters for both of those curves from the respective manufacturers published documentation,


1 Like