3 ms·
8 bit per channel is already enough to avoid banding. However, if you are editing content with 8 bits per channel its pretty easy to reach a situation when mixi
by anfilt 6y ago
8 bit per channel is already enough to avoid banding. However, if you are editing content with 8 bits per channel its pretty easy to reach a situation when mixing colors or applying numerous effects will create banding. So ideally you convert to a much higher bit per channel or floating point. Then perform all editing in that that higher precision format and then once you have applied everything to the channel finally convert it back to 8 bit.
TLDR; If you display something and thats it, 8 bits is enough (generally). Start feeding it through mathematical functions you need more precision otherwise error compounds.
- the8472 6y agoWithout dithering 8bpc is not sufficient to avoid banding, especially on very shallow gradients or those covering large areas. The color steps may be subtle but the step-like way in which bands change is still visually distinguishable.
- jacobolus 6y agoFor output of SDR content in a typical context on recent displays with small pixels (e.g. "retina" displays), a high-quality-dithered 8-bit image is visually indistinguishable from a dithered 12-bit image. But for image editing, 16-bit integers or single-precision floats are certainly helpful. And for HDR and wide-gamut images, 8 bits gets a bit limiting.
- anfilt 6y agoGradients in photographs or video rarely have a perfect linear progression like you can generate in an image editor. (Sensor noise and other natural phenomena) There basically already is some natural dithering. If your software is not dithering extremely gradual gradients that's the problem. Still in that case if you wanting to dither you gradient you better be working in a higher precision format. Anyways, please notice I said: "8 bits is enough (generally)". There is a reason I said generally, I did not say always. -Edit- Although, lossy compression may effectively linearize gradients from video or photographs. Consider an extremely simple example: A compression algorithm that detects/fits to a gradual gradients to much smaller delta encoding. Such as increase the channel value by 1 every pixel for a 100 pixels. While this might be rather simple example. It's obvious to see how that would remove noise and make that section of an image highly linear.