This is sort of an experimental post.
First we’ll try to understand what happens when you raise the color bit depth and/or color space before color correction or grading. The goal, of course, is to find out when it’s useful to raise the bit depth and color space, and when it’s not.
For the purposes of this article, I’m going to be using Adobe After Effects. There’s nothing special about this particular choice, just that I happen to know it better than Resolve. And I think it’s the best color grading application on the planet!
The tale of two camera workflows
There are two general ways you get your footage:
- 8-bit Rec. 709
- RAW (12-bit to 16-bit)
Sure, you also get 10-bit Rec. 709 but that’s covered in the second option above. Simply speaking, it’s 8-bit on the one hand, and everything else on the other.
First, let’s start with 8-bit, which is what 90% of the world is probably shooting.
Creating an 8-bit test subject
There are 256 tones or shades per channel in an 8-bit image. If I created an image 256 pixels wide, and applied a gradient from 0 (black) to 255 (R, G or B), each pixel should have one additional value. The end result should be a smooth gradient – both to our eyes and to our monitor (viewed 1:1).
I’ve used blue, but you can use any color. It’s actually a good stress test for your monitor, too! Here’s my image:
Some browsers can’t display a TIFF image. If you are having trouble seeing it, right-click and Save to view it on your computer.
I’ve exported it as an 8-bit uncompressed TIFF in Rec. 709. Usually you’d have a lossy codec but I wanted to start with a strong image where the initial codec isn’t a factor.
What are we going to do? First, we create a composition in After Effects. I’ll add a keyframe position transformation to it so we can see the gradient problems clearly (when they’re static they tend to be hidden). Nothing fancy, just adding some motion so After Effects can do some motion calculations. After all, moving masks (power windows) simulate this behavior.
I’ll also add a layer of Curves (a hard S-curve) and some Exposure compensation.
The output color space for all the tests is Rec. 709, so you can directly compare it with our test image.
We’re going to change two parameters, in every permutation and combination:
- Bit depth – 8, 16 and 32-bit float
- Working Color Space – Rec. 709 and ProPhoto RGB (All in linear space)
Why ProPhoto RGB? It’s a huge color space, quite close to ACES, and it serves well for our purposes. Other spaces like DCI P3 are too similar to Rec. 709.
Anyway, we have six combinations. Each combination is exported as an H.264 8-bit Quicktime movie at 50 kbps (Keeping with the data rate per pixel observations made here).
In short, we start with a high-quality 8-bit image that we should be able to study perfectly on a calibrated 8-bit Rec. 709 (or sRGB, if you’re using a computer monitor) monitor. We’ll take it through the rabbit hole into Wonderland, were we’ll dazzle it with a high bit depth and color space, while also applying motion and color corrections, and finally send it back as an 8-bit file destined for web viewing.
A note on linear-mode: Adobe After Effects does not recommend linear mode in 8-bit depth. I’ve only used it to keep the math constant. In the real world, don’t use linear mode with 8-bit!
A note on chroma subsampling: There will obviously be some variances between going from RGB (TIFF) to H.264 4:2:0, though in my experience it shouldn’t affect the outcome by any tangible margin.
Observations and results
I’m only going to show you frame 1 and frame 49, two frames from the entire exported sequence. They are typical.
Here’s what each frame exported as TIFF (from the composition directly) looks like:
And here are the frames from the H.264 export (This clearly shows what compression does):
Remember, compression always happens at the end, after all effects and color corrections have been processed.
What can we observe? First, regarding changing the color bit depth in Rec. 709:
- Moving 8-bit to 16-bit or 32-bit helps a lot. Banding artifacts completely disappear, and effects and corrections are processed better. Even a straight export benefits.
- The difference between 16-bit and 32-bit are negligible.
- When these compositions are compressed via export to H.264, they are forced to go back to 8-bit. Even then, the advantages of having raised the color bit depth are clearly visible in frame 1. By frame 49, all of them look like mush (very similar-looking mush I must add!).
- After a certain point, compression destroys everything. All the good work can be undone with poor compression. That’s a scary thought.
What about scaling up to ProPhoto RGB?
- It doesn’t work for 8-bit or 16-bit (what are those pink bands doing there?)! Obviously, when you push colors in a larger color space, there is more space to move. Where these colors move to, though, might be totally not what you’re after.
- ProPhoto RGB does brilliantly with 32-bit float. It is markedly different than 32-bit float without ProPhoto RGB. You can see the difference even in the small thumbnails above.
- Even more surprisingly, heavy compression in ProPhoto RGB to Rec. 709 (which must happen when you export to 8-bit H.264) still maintains the quality, in both frame 1 and frame 49. This is great news.
What can we conclude? Does our 8-bit test image deserve five star treatment or not?
Of course it does. Based on the above test, we can say:
- If you’re only working in Rec. 709, move up to 16-bit.
- If you’re working in 32-bit float, move to ProPhoto RGB (or ACES).
In Part Two, we’ll look at video that starts from 10-bit or more.