Photoshop's handling of 8- and 16-bit images
Photoshop's handling of 8- and 16-bit images
- Subject: Photoshop's handling of 8- and 16-bit images
- From: "Bruce J. Lindbloom" <email@hidden>
- Date: Thu, 23 Aug 2001 15:45:46 -0500
I have recently been studying various aspects of 8-bit vs. 16-bit images.
In the course of investigation, I have discovered a few interesting things
about how Photoshop handles these two types of images, as well as how it
converts between them. I thought maybe others might find this interesting
also.
For those who don't know:
8-bit images may contain 256 different tones, in the range[0, 255].
16-bit images may contain 65536 different tones, in the range [0, 65535].
What happens to images as they pass through Photoshop?
1) Open 8-bit, Save as 8-bit -- All original values remain intact.
2) Open 16-bit, Save as 16-bit -- Half the tones are lost.
All input values are subjected to the following two operations:
a) scale by factor 32768/65535 and round to nearest integer.
b) scale above result by 65535/32768 and round to nearest integer.
The net result of this is that half of the original tone values are lost,
specifically from 65536 possible tones in the original down to 32769
possible tones in the output. The output has no odd pixel values for tones
less than or equal to 32768, and has no even pixels for tones greater than
32768. You cannot discover this within Photoshop because Photoshop never
displays the underlying 16-bit pixel values. The output covers the full
16-bit range, but the histograms are "combed" (i.e. every other value is
missing). So just opening and saving a 16-bit image in Photoshop
essentially discards one bit of data.
3) Open 16-bit, Save as 8-bit -- This operation is performed with a
noise-driven dither during conversion down to 8-bits. This dithering
technique helps "hide" banding or posterization effects that may result if
the low 8-bits were simply discarded.
4) Open 8-bit, Save as 16-bit -- each 8-bit value is copied into both halves
of the 16-bit value. This 16-bit value is then subjected to the two steps
described above (2a and 2b). So the low 8-bits of the output are not empty
as you might think.
(Also posted to Dan Margulis' Color Theory list).
--
Bruce J. Lindbloom, Pictographics Intl. Corp.