In the previous post, I described histogram depopulation in images encoded with eight bits per color plane, as was the standard until about ten years ago. Nowadays serious photographers use image codings with 16 bits per color plane, which makes an immense difference.
Here, in compact form, is what happens when we darken our test image in the eight-bit representation:
And here’s what we get if we lighten it:
Now, let’s look at what we get if we perform the same operations to 16-bit—per-color-plane images. First, darkening:
And next, lightening:
It looks like there’s no histogram depopulation! But didn’t the argument of the preceding post say that histogram depopulation will occur at any bit depth? It did indeed, and I stand by that reasoning. We can’t see the histogram depopulation in 16-bit images because the Photoshop (and Lightroom) histogram tool only has 8 bit horizontal resolution. It’s too coarse an instrument to see the histogram depopulation in the 16-bit examples above.
Let’s consider passing an eight bit image through a curve that sets a quarter of its histogram values to zero. We started out with 256 non-zero histogram values, and now we have 196. If we passed a 16-bit image through the same curve, we’d have a quarter of the histogram values set to zero, so the original 65,536 non-zero values would have been reduced to 49152. If we had a histogram tool with 65,536 “buckets” we’d see the gaps.
However, the Photoshop and Lightroom histogram tools only have 256 counters along the horizontal axis. For eight bit images, that’s enough resolution for every possible value in each color plane to have its own counter. For sixteen-bit images, every pixel with a value between 0000 and 0100 (both numbers in hexadecimal) get thrown into the 0 bucket of the histogram, every pixel with a value between 0010 and 0200 (both numbers in hexadecimal) get thrown into the 1 bucket of the histogram, and so forth. (Actually, I suspect that, in the interest of speedy computation, Adobe does its histogram calculations on a subsampled version of the image, but that’s another story.)
Is this coarse histogram computation a problem when we’re not looking for microscopic amounts of histogram depopulation? Not really; 256 buckets is plenty for every photographic need that I can think of.