Is it possible to get better results from Levels / Curves adjustments by converting 8 Bits/Channel photography to 32 Bits/Channel?

Just by example, Photoshop's Info panel shows the following information: enter image description here

If I understand correctly, "8bpc" = 8 Bits/Channel.

But what if I convert the photography to 32 Bits/Channel:

enter image description here

Would that reduce the "combing" effects in some situations or help getting better results in any other way?


Switching to 16 or 32 bits will indeed reduce combing (or posterization, quantization whatever you call it) after multiple edit operations.

Every time you use a multiplicative operation (such as levels, contrast adjustments, curves, colour balance etc. etc.) you'll likely end up with values that are not whole numbers. Apply a long sequence of such operations and you compound the errors until you start to see a visible degradation in image quality.

For example if you apply a levels adjustment and take the 255 level down to 127, you effectively half the brightness value of every pixel. So 133 becomes 67 (it's actually 66.5 but 8 bits can only store 66 or 67). Now later on you apply a levels adjustment that doubles the brightness value of every pixel, 67 becomes 134 - an error of 1. You've lost information, after the two adjustments there can only be 128 possible brightness values in the image instead of 256! If you look at the histogram you see gaps for every odd number, and the graph will resemble a comb (hence the term combing).

If you convert your image to 16 bit by padding on the right with zeros, 133 becomes 34048. Divide by 2 and you get 17024, multiply that by 2 and you get 34048, which converted back to 8 bit (by shifting right) and you get 133! No loss of precision has occurred.

By doing your operations in a higher precision space you effectively store fractions, which retain more information and are then rounded only once when you've finished manipulating the image (as most output devices still only support 8 bits per channel).

If you take an 8 bit image and apply only one operation and convert back to 8 bits you wont see any benefit, however after several operations you will.

Here are some examples:

Original 8bit per channel image

Here it is after I've crushed the levels down to 13, and then back up to 255. Posterization is visible in the sky as we've lost the intermediate values. This is clearly visible in the histogram which features only a few spikes.

Here I tool the original image, converted to 16bit, and then crushed the levels all the way down to 2 and back (effectively dividing by 128). This would have complete destroyed the 8 bit image (it would be reduced from 16 million to about 27 colours!) however the manipulation is not visible in the image, and only just detectable from the histogram.

I edit all my images in 16 bit mode, this provides very good protection against rounding errors. 32bit is probably overkill, you'd have to a huge number of operations to see the benefit of the extra precision.

| improve this answer | |
  • Thank you for the detailed answer! Would that be the correct assumption that if my output device only supports 8 bits per channel there is no reason to keep the originals in 16 bits? As I can always convert it on-the-fly just for post-processing before sending it to the destination? – user9292 Apr 5 '12 at 17:32
  • I store my originals in 16bit as they come off the camera as 14bit files. If you ever plan to go back and perform more edits on your files you should keep them at 16bit, otherwise you can convert to 8bit when you've finished editing for good. – Matt Grum Apr 5 '12 at 18:00
  • 1
    I've only ever seen 32bit being used in HDR situations myself where you need to manipulate a huge dynamic range without losing details. I think Matt makes a great point about editing in 16 bit and then saving at 8bit. – huzzah Apr 5 '12 at 21:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy