2 ms·
Doesn't that happen anyway, no matter which way we're doing it? Currently, if 180 out of 256 is half then we have considerably fewer values representing the hi
by yason 16y ago
Doesn't that happen anyway, no matter which way we're doing it?
Currently, if 180 out of 256 is half then we have considerably fewer values representing the highest intensities than the darkest intensities. So, in effect we currently "waste" values by allocating lots of them for darker values that mostly seem all the same on the screen. If we could program on the linear scale, it would depend on the hardware that how accurately the linear scale would be mapped to the voltages that would give linear intensity levels in reality.
You can add bits per channel if you want more precision, that's what we do already.
- jacobolus 16y agoNo. Intensity varies (roughly) proportionally with voltage, and where it doesn’t displays have built-in lookup tables which correct for any nonlinearity. Human lightness response though is a complex non-linear response that depends on the viewing conditions and the particular observer. There’s a not great description at http://en.wikipedia.org/wiki/Lightness_(color) http://en.wikipedia.org/wiki/Lightness_(color)
- ssp 16y agoHuman lightness response though is a complex non-linear response that depends on the viewing conditions and the particular observer. This is why I'm not convinced that the right solution is simply filtering in linear intensity. Consider a black and white checker board where the individual squares are big enough that you can easily see them. If you scale this image down such that the squares disappear, the resulting gray should be the one that minimizes the perceptual error. But since sRGB is roughly perceptually uniform and the squares are mostly low frequency information, that gray would be 0x80 and not the 0xba you would get from the supposedly correct algorithm.