In Part One we looked at how we can improve results from 8-bit video, regardless of where it came from. In this part we’ll look at higher bit depth videos, namely 10-bit Rec. 709, 12-bit or 16-bit RAW.
The difference between 10-bit and 16-bit
10-bit images can have 1024 shades per channel, which translates into a billion colors. Kodak engineers found out long ago that you could put all the information from 35mm film into 10-bit log DPX or Cineon. The key word is log.
In the real world, color (light) behaves in a linear fashion, and so does a lot of the math. VFX and color correction applications have both kinds of math, log and linear. Sometimes, one is more helpful than the other. It is impossible for anyone to say that linear or log is a winner in absolute terms. That shows ignorance.
All right, what is the linear-equivalent of 10-bit log? Hard to say, but if I had to guess based on my experiences I’d say 16-bit. With 16-bit, you have 65,536 shades per channel, or trillions of colors. What’s the point of a camera having 16-bit colors?
Cameras are not eyes, nor are they theoretical color spaces. They are physical things that react uniquely to light. Each sensor has its own color gamut (which dictates its color space). The camera manufacturer decides to either:
- Map that into a standard color space like Rec. 709 (which happens on most consumer and prosumer cameras), or
- Give it to us RAW.
RAW files don’t have a color space attached to them, though their gamut is restricted to the sensor’s. You could theoretically map these RAW files to any color space, but in practicality, some RAW formats don’t work well with certain color spaces! E.g., this is why Red cameras have RedColor color spaces, or Sony F65 RAW has its own gamut mapped, etc. Similarly, it’s why the Arri Alexa is more ‘friendly’ towards log (Log C) – they come from film so they prefer to not rock the boat. Okay, all this doesn’t concern us much. We can’t dictate terms with camera manufacturers, just live with what they offer.
In practice, you normally record 10-bit Rec. 709. Sometimes, 10-bit DPX (linear or log) files are created in post or by an external recorder. Or, you record 12-bit (BMCC, Red, Alexa, etc.) or 16-bit (Sony F5, F55, F65, etc.) RAW. The future points towards 16-bit sensors, so we’ll look at 16-bit images. If the tests are helpful to 16-bit linear images, then anything else will benefit, too.
Therefore, our test subject is a 16-bit uncompressed TIFF image gradient, in Adobe RGB (1998). I’m going with 1920×1080. Here’s the image (it’s only Rec. 709 JPEG, the Adobe RGB TIFF is 12.5 MB):
Why Adobe RGB? Well, camera sensor gamuts are higher than sRGB or Rec. 709, but aren’t close to ProPhoto RGB or DCI X’Y’Z’ by any stretch of the imagination. Adobe RGB is close though, which is why it is included in DSLRs for stills. It’s an educated guess, and could be totally wrong. If you want to do similar tests, but know your camera exactly, you should specifically test that color space.
Please don’t blindly assume I’m right.
Just for fun, here’s the difference between Adobe RGB (smaller gamut) and ProPhoto RGB (larger grey gamut):
The tests are similar to what we did in Part One. One major difference is that the H.264 Quicktime video will be rendered out at 1,000 kbps (about 1 Mbps). We’ll be looking at:
- Bit depth – 8, 16 and 32-bit float
- Working Color Space – Rec. 709, Adobe RGB and ProPhoto RGB (All in linear space)
That’s nine combinations. RAW footage is sometimes brought down to Rec. 709. Sometimes, you have the luxury of working in the camera’s native space. And sometimes, you trade up to ACES. The output color space is Rec. 709.
Very important: 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!
We cannot see the full effect of a 16-bit image on an 8-bit or 10-bit monitor, so you’ll have to judge the results from the 8-bit videos and stills exported from Adobe After Effects.
A note on chroma subsampling: There will obviously be some variances between going from RGB (TIFF) to H.264 4:2:0. Unlike the 8-bit case, here, the differences might not be negligible. There’s simply more color to lose. Whether or not you’d notice it, is a different matter!
Observations and results
What happens in Adobe RGB color space? Here are the results (Click to enlarge):
As you can see, going to a higher bit depth certainly helps. What about Rec. 709? Here are the results:
The results are similar. Let’s look at ProPhoto RGB:
As we saw in Part One, ProPhoto RGB and high gamut color spaces really need 32-bit float to come into their own. Except for that, there is no difference between 16-bit and 32-bit visually. It remains to be seen how they perform on compression.
Differences after H.264 compression
Compression always works better with higher resolution material, because the artifacts tend to be smaller and less visible. These images are from 1080p H.264 material with a data rate of 1 Mbps. The smaller view does not hide anything. (First rows – 8-bit and 16-bit, second row – 32-bit. Click to enlarge):
Adobe RGB (Frame 1)
Adobe RGB (Frame 49)
ProPhoto RGB (Frame 1)
ProPhoto RGB (Frame 49)
Rec. 709 (Frame 1)
We can discount ProPhoto RGB, obviously. It has to be in 32-bit.
But what about Adobe RGB vs Rec. 709? You can clearly see that Adobe RGB has better colors than Rec. 709, though compression is equally fair to them both. The surprise is ProPhoto RGB at 32-bit, which looks the best.
The difference between 16-bit and 32-bit is negligible, which is similar to what we saw in Part One. My analysis:
- When you’re shooting in greater than 8-bit, always go to an equivalent or higher bit depth, but 16-bit should be perfect for 90% of any workflow.
- Never go to a lower color space for post production. Maintain the highest color space until the last moment. If you’re shooting RAW, work natively in the manufacturer’s specified color space or go to ACES or ProPhoto RGB, etc.
What do we learn from this and Part One? I could summarize my findings into two rules, if image quality is your main concern:
- Always work in 16-bit or higher.
- Never lower your color space for post production (e.g., moving from RAW or camera gamut to Rec. 709 is not a good idea).
Enough said. What do you think?