Knowledge base

15. Bit Depth and File Formats


Bit Depth

As a student, you will have done most of your work in 8-bit. Photoshop and After Effects start in 8-bit by default. The most common output formats such as MP4 h.264 videos, JPEG and TGA images are all 8-bit

So what is bit depth and why should I care?

Bit depth can be described as the number of tonal steps or the levels of grey between black and white, which can be displayed or stored

8bit_gradient

8-bit Gradient

The steps are visible, not good

Gradients in 8-bit get worse when color correction is applied

Higher bit depth means more tonal steps and more accurate colors, which is very desirable when working with gradients and color correction

 

What does bit mean?

1 bit can store 2 values, 1 or 0, on or off

8 bits can store 256 values in each channel, giving us thousands of colors

16 bits allow 65,536 values per channel, giving us trillions of colors

 

Why are not all files in highest bit depth?

Higher bit depth creates larger file size and most output devices like computer monitors and TV sets display 8 bit. We want to work in higher bit depth as intermediate format, but will eventually create an 8-bit version of the final. This is about to change, new TV sets are ‘HDR’, which is 10-bit.

Dedicated monitors for color grading are capable of displaying higher bit depth

 

Who is using which bit depth?

Visual Effects projects work with OpenEXR format, which can store High Dynamic Range images in 32-bit and the more efficient 16-bit half-precision

TV Productions work with QuickTime ProRes 12-bit files, some still with 8-bit

Color Grading work in 10 and 12-bit

Professional Photo processing is 16-bit

Web Design is still 8-bit

 

Is working in 8-bit bad?

Yes and no. It depends on the source image and the intended use

Color correcting an 8-bit snapshot of your cat to post online, there is certainly little need for high bit depth

Color correcting a professional raw photo, yes you want to work in 16-bit, quality would be lost in 8-bit

Creating a digital painting or animation in 8-bit is not a good idea, as you are limiting yourself to 256 luminance steps per channel, which is not a lot. Using 16-bit will already give you 65 thousand (32 thousand in Photoshop), which is quite a lot more. The difference is noticeable when working with fine details and gradients

If the source was captured with higher bit depth, i.e. QuickTime ProRes 12-bit, you want to stay in at least the recording bit depth throughout all intermediate stages to not loose quality. Converting down to 8-bit will lose quality which can’t be brought back

 

Which bit depth should I work in?

Depends on your tools and workflow, not all tools can handle 32-bit well

In Photoshop and After Effects you can change bit depth at any time but it’s smarter to define before starting. Adobe is not fully 32-bit compatible, many filters still do not work in 32, therefore the most common professional work format in Adobe is 16-bit

Nuke works always in 32-bit, no need to define a working bit depth, only the output file format determines the bits

In Maya, it depends on the output render format, too, and setting the color space to linear

If the next stage is Nuke, use OpenEXR 16-bit half-precision, called RGBA (Half) 4×16 in Maya

If your next stop is AE, you could use OpenEXR as well, but more common is an integer format such as TIF 16-bit

 

Please also refer to Formats for Intermediate Stages in the Project Workflow Guide

 

High Dynamic Range

Images with 32 bits are referred to as High Dynamic Range. A true HDR image has to be 32-bit. The term HDR will be watered down now with consumer TV sets branded as “HDR capable” for the next big thing with 10-bit H.265 video


Common Bit Depth Formats

Bits (bps)

Luminance steps 
in 1 channel

Total possible colors
with 3 RGB channels

 

8

256 = 28

16 thousand

 

10

1,024 = 210

1 billion

 

12

4,096 = 212

68 billion

 

16

65,536 = 216

281 trillion

 

32

4,294,967,296 = 232
4 billion

 

80 octillion (8 x 1028)

 


File formats

Not every file format allows to store all bit depth, most formats are limited

Except JPEG, all formats below support lossless compression and could be used as intermediate formats


Format

Supported Bith Depth 

Use in Animation and VFX


JPEG

8 bit sRGB

Preview renders. Use 100% quality. Small file size, fast to load in player. Also as background in 3D or plate for Matchmove. Never as intermediate format


TARGA (tga)

8 bit sRGB

Very old, but still used in TVC post as intermediate


TIFF

8 and 16 bit sRGB
32 bit linear float

Standard if intermediate 16-bit integer is required


PNG

8 and 16 bit sRGB
8 bit Palette-based

Standard Web format. Supports lossless, therefore useful


Cineon (dpx, cin)

8, 10, 12, 16 sRGB and logarithmic

Used as delivery, intermediate and output format
Standard for telecine and DI grading


Photoshop (psd)

8 and 16 bit sRGB
32 bit linear float

Photoshop work default. Can be used as intermediate delivering layers to next stage


Radiance (hdr)

32 bit linear float

Standard format to store HDR images used in Image Based Lighting


OpenEXR (exr)

16 bit linear float
32 bit linear float

The standard for rendering and intermediate in VFX


All sRGB formats store integer values, all linear colorspace formats store floating point values

More about integer and floating point in Floating Point vs Integer


Confusing Export Settings

targa_24bits
TARGA Export Settings

Targa is 8-bit only, these settings are confusing

The meaning here is 3 times 8 per channel = 24

24 bits/pixel is 8-bit RGB without alpha
32 bits/pixel is 8-bit RGBA with alpha

tif_trillions
TIFF Export Settings

Millions of Colors is 8-bit
Trillions of Colors is 16-bit
Floating Point is 32-bit (Why not Octillions of Colors then?)

+ is with alpha channel, else without