I am wondering why does Photoshop use tonal values in range 0 - 255 while i'm working on an image of 16 bit bit depth, because in this case each color channel doesn't use 256 tonal values but 65536.

Thanks in advance.

enter image description here


16-bit is only used for internal calculations. What you actually see on your monitor is in 8-bit. Since an 8-bit monitor can only display 256 levels (0-255) and is unable to display the difference between two 16-bit values that are both converted to the same 8-bit value, the GUI uses the 8-bit values. (Even if you are using a 10-bit monitor and graphics card, Photoshop only uses 8-bits per channel to display colors.)

If your monitor could differentiate all 65,536 levels, it still couldn't draw a curve that detailed on your screen with only 1080 (FHD), 1440 (2K), or even 2,880 (8K) lines of vertical resolution to work with. Not to mention that your input device would also be limited to far less than that amount of detail, and even if it weren't, your hands or fingers operating a mouse, stylus, wheel, etc. do not have precise enough movement to take advantage of anywhere near that many different unique positions.

The main purpose of using 16-bit values internally is to reduce the effect of rounding errors as multiple operations are performed on the raw data. This reduces things such as banding and posterization when response curves are stretched or compressed. The actual output is always going to wind up with much lower bit depth because our display systems are nowhere near capable of making such fine distinctions between colors.

The two highest voted answers to What's the point of capturing 14 bit images and editing on 8 bit monitors? go into the underlying principles in greater detail as to why it makes sense to preserve the finer increments until the image is rendered on a screen. There's no need to rewrite all of that here.

| improve this answer | |

Habits (or compatibility with a legacy of thousands of Youtube tutorials out there...). Actually what would make sense is a 0.0->1.0 scale or percent values (with fractional part). These values are the same with all data representations (8-16-32 bit integer, and 16-32 bit floating-point).

Which, by the way, is what Gimp has switched to since it started supporting high-bit-depth images.

| improve this answer | |

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.