When going into an edit process there is much confusion about what color depth should one use. Some pieces of knowledge are more relevant than others and some are not relevant at all. Either way, the selection of color depth in which you edit will have a huge impact on the final editing result.
The purpose of this article is to try and clear up the confusion about bit depth and give you advice on what bit depth to choose when you edit and output your images.
’Bit depth’ and ‘Bit size’
A ‘bit’ is a computer term for data storage. It can only contain two values, typically 0 or 1. 8-bit simply means the data chunk is 8 bits in total (or 2 to the power of 8, as each bit can be either ‘1’ or ‘0’). This allows for numeric values ranging from 0 to 255.
Similarly 16-bit means the data size is 16 bits in total. (or 2 to the power of 16) This allows for numeric values ranging from 0 to 65535.
Sidenote: Photoshop does not seem to be using the full range of those 16-bits. If you look at the built in information panel it allows you to swap to 16-bit view and it then shows 0-32768 values. Meaning it would in fact be 15-bits +1. For the purpose of this article this is not that big of a deal though, so I am going to show the difference to 16-bits to keep things simple.
To give you a general idea, a comparison 16 bits can contain 256 times more numerical values then 8 bits. If you were to put it on a graph, this is what it would look like:
Bits Per Pixel
Bits per channel are pretty easy to understand, it is the number of bit used to represent one of the color channels (Red, Green, Blue). But to complicate things the ‘bit depth’ setting when editing images, specifies the number of bits used for each color channel – bits per channel (BPC).
This means that the 8-bit setting (BPC) is in fact 24-bits per pixel (BPP). Meaning that each pixel can have values ranging from 0 to 16,777,215, representing about 16 million colors.
As the human eye can only discern about 10 million different colors, this sounds like a lot. But if you consider that a neutral (single color) gradient can only have 256 different values, you will quickly understand why similar tones in an 8-bit image can cause artifacts. Those artifacts are called posterization.
Similarly the 16-bit setting (BPC) would result in 48-bits per pixel (BPP). The available number of pixel values here is mind boggling (2^48). More than 16 million times more numerical values then the 8-bit setting. Again, this may seem like an overkill, but if you consider the neutral color gradient again, the maximum amount of tonal values is ‘only’ 65,536.
Note: Photoshop will often show a color value between 0 to 255 per channel regardless of what bit depth you edit in. This is purely to simplify things for the user. Behind the scenes it utilizes the full value range. So, pure green, for example, in 8-bit is {0,255,0} and in 16-bit it is {0,32768,0}.
Tonal Graduation
To get a smooth graduation between to tones, you need the space in between those tones to have enough width to hide the graduation. Like so:
If your colors are limited you are going to see a banding effect, like so:
The lower the bit depth, and the closer the start and end tonal values are to each other, the bigger risk of getting banding. If we take this to extreme, imagine that if you only had a bit depth of one bit the gradient you have at your disposal is really limited: either black or white. If you have 2 bits, you can add 66% black and 33% black, but still it will not be a smooth transition.
An example:
If you want to go between tonal value 50 and 100, there are only 50 possible steps. If you stretch that out over a larger distance you are definitely going to see banding.
This is what would happen if we were working in 8 bit (BPC) setting – just 50 steps. Now let’s try that in 16 bit setting (BPC), now we have 6,400 steps and can render a much smoother image!
Tonal Range
When you look at a histogram of an image you are looking at its tonal range. At the far left the tonal value is 0 and at the far right the tonal value is 255, giving you a range of 8 bits. (As I explained earlier, this histogram actually represents a larger range in 16-bit mode; 0 to 32768)
The risk of editing in 8-bit is that you could lose information if you were to push and pull on your edits. Meaning if you go one direction with your color then decide to go back, you will risk losing some of the original data, and ending up with ‘gaps in the histogram’.
If you get gaps such as the histogram above, then you don’t have a smooth tonal spread. Which in turn could lead to banding and unwanted color variations.
Limitations
Output Devices
Unfortunately most typical desktop displays only support 8 bits of color data per channel. This means that even if you chose to edit in 16-bit, the tonal values you see, are going to be limited by your computer and display.
Some professional grade displays have support for 10 bits of color data per channel. To use those, however, you must also make sure that your graphic card, cables, and operating system supports a deeper-than-8 color depth as well.
If you are a MAC user, unfortunately, there is no support for deeper bit-depths in the operating system. As far as I know, there is nothing in Yosemite to indicate that this has changed.
Similarly to computer displays there are wide gamut printers that make use of the 16 bit data. But most printers do not. This is something you should be aware of as well, if you are planning to print in 16 bits range.
Size
The file size of a 16-bit image is twice the size of a 8-bit image. This affects processing speed, memory usage, and hard drive storage.
Conny’s tip: When you have layers as smart objects, Photoshop allows you to set a different bit depth for the individual objects than the one of the source document. This means you are allowed to mix bit depths inside the same document to some extent.
RAW Image Data
Camera sensors typically store data in 12 or 14 bits per channel. So logically speaking, as most of you already know, you are throwing away a good chunk of information when you convert your image to 8 bits per channel.
But this is not the whole truth, as the data size used does not mean the sensor can capture the whole range of those variances. In fact Dx0 Mark has the leading score for color depth listed just above 25 bits per pixel. If you remember from earlier a 8-bit image (bpc) has a color depth of 24 bits per pixel (bpp).
This is because the data captured in RAW files is not linear. Groups of values may sometimes be represented by a single number.
Of course RAW has a lot of other advantages as well, because it is the actual unprocessed data. So you are able to tweak all the develop settings yourself, and all those tweaks will result in even more fine-tuned result.
Dithering
To break up posterization, imaging software will often add something called ‘dither’. In the image below, there are three different methods of dithering. The first image (#1) is the original full color version. The second image (#2) is converted to 256 colors with dithering turned off. Images #3-5 are only 256 colors also – but with different methods of dithering applied.
I chose only 256 colors to show the effect more clearly. But as you can see, a little bit of variation can go a long way in breaking up the abrupt changes of tone.
If you convert an 16-bit image to 8-bit inside Photoshop, it will automatically dither the graduations!
Conny’s note: You can further improve all your graduations by introducing some noise or texture yourself. I do this to some degree on all my images.
Settings
This is probably the part that you want to read, it shows how to incorporate all this theoretical information in your workflow. I am going to show the steps in the Adobe Suite, but other programs have similar controls.
Inside of Photoshop you can set bit depth when you create a new document. If you want to change bit depth on an already opened document you go to menu Image>Mode.
Quick Tip: You can easily tell what bit depth you are using by looking at the document title. It will say */8 or */16.
To access the setting when opening an image from Adobe Camera Raw, simply click on the blue link at the bottom of the window:
Inside of Adobe Lightroom, you can set bit depth under program preferences, or in export settings:
Should I always edit in 16 bits?
With all the topics of this article you could easily think that editing in 16-bit is always best, and it is definitely not. Very much like shooting in RAW is not always best. It depends on the situation.
8-bit is best when you do minor editing, and computer resources is a concern.
16-bit is best when you do major editing, on few images, and have the latest computer hardware.
If you still not sure what to chose, then answer these questions:
Does your computer run slow when you edit your images?
Are your hard drives full all the time?
Is the difference between your unedited and edited images minor?
Is your main output the web?
Do you edit a large number of images per day?
If you answered ‘Yes’ to any of the questions above, you are most likely better off editing in 8-bit.
Still not sure?
Do you use the gradient tool when editing your images?
Do you paint with large soft brushes on your image?
Is your images of similar tonality and color?
Does your histogram display gaps in the tonal range?
If you answered ‘Yes’ now, you are actually making use of the extra bit depth, and should consider using the 16-bit color depth setting.
I personally would have liked to see Photoshop support for 10 or 12 bit. I feel 16-bit is overkill for most images.
Q&A
Q. My source image is in 8-bit. Should I convert it to 16-bit while editing it?A. Probably not. The conversion will not help with your existing tonal graduations and color tones. Though if you are doing any editing that introduce new graduations, or very subtle color variations, you might benefit from converting.
Q. I edit in 16-bit and I still see posterization/banding on my screen?A. This is most likely because of your display and/or color profiles. Check the section above on limitations.
Q. What about color space?A. To put it simply, color space determines how the available tonal values are distributed. My quick recommendation is to use Adobe RGB for everything except when exporting for web. You need to convert to sRGB on web images or they will not display correctly for the vast majority of users.