Rec709 ODT Blackclipping

Hello everyone,
this topic has become a quite long discussion with my compositing colleagues, but I would like to break it down to the fundamental question:

Why is the Rec709 ODT clipping ACES values between 0 and 0.02?

If you need more information, examples or anything. Please let me know. I thought it might be a good idea to start this topic clean and simple.

Thanks in advance,
Sönke

1 Like

What implementation are you seeing this in? The RRT + Rec.709 ODT maps an ACES value of about 0.002 (approximately 6.5 stops below 18% grey) to black.

ACES 0.02 ends up at about 0.09 (i.e. 9% 'IRE). If values below this were clipped it would be very noticeable and problematic. 0.02 is only 3.17 stops below grey, so you would lose a lot of shadow detail, and have very milky blacks.

I think the question is pointing at the Y_2_linCV function in the ODT and why does it have a CINEMA_BLACK = 0.02. This is after the tone scale and effectively is clipping small output values (the bottom clip number winds up in a slightly different place after all the transforms in the ODT are done). This scaling of the tone curve is done even in the Rec709 ODT. This step is taking the output of the RRT tone curve and normalizing it to a device scale of 0…1.

I may not have the full answer here about why, but in general, the goal was to have the Rec709 match the results of a Cinema grade so scaling the tone curve output into the device was seen as a quick way to do that. It is done the same way in multiple ODTs. The next step ,gamma adjustment, actually does the clamping. I do not think it is optimal, it is a legacy of us starting from a digital cinema master… a good question to raise for ACESnext.

2 Likes