Chroma Compression Explained

We’re not doing this, as far as I understand it. I would not get hung up on Hunt or anything like that when it comes to scaling the M (colorfulness). I consider doing that, and creating the appearance match, a purely technical step.

The first post of this thread tries to explain how the current compression works and behaves, including how the tonescale changing J over J (J_t/J) is currently used to do the scaling of M, but it also references older versions of the compression that have used entirely different method, not based on pre/post tonescaled ratios. There has been many many different versions, including using the derivative of the tonescale, but the current one works and is the simplest one, even with the extra tweaks needed to get the compression to a similar starting point for different displays (different tonescales) that can create a reasonable appearance match. It doesn’t matter much to me how the scaling of M is done, as long as it is simple enough and affords the necessary control I believe is needed to create the appearance match, and to get the behavior we currently have. I absolutely do not believe there is “one correct” curve to do it.

The discussion me and Nick are having is about trying to make a simpler version of what’s explained in the first post of this thread that would not need the extra colorfulness/saturation boost step. I’ve got that working quite well, but not necessarily any simpler… The scaling is the part that sets the overall base colorfulness level with each tonescale for the match.

If you have an alternative idea, tonescale based or not, that we could use, I would be very happy to hear about it.

Thanks for that link, I will keep that in mind. Personally I spend a long time comparing the images, especially in situation like this where I’m changing the appearance match. I favor doing A/B comparison with Rec.709 sim and Rec.2100, but I do side by side comparisons on same screen as well. My personal benchmark for the quality and performance of the appearance match is ARRI Reveal. Can’t be a bad match if we can get close to performance like that…

From earlier discussion:

How would you approach using M as the modulator and do it in a way that’s invertible? We are using M as the modulator and the current approach is invertible, but I am on the look out for any other way or technique that could be used to achieve it. There’s plenty of ways I can think of that aren’t invertible (we obviously don’t have the original M available in the inverse). Any tips and help would be highly appreciated.