[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] 10 bits per color



On Thu, Oct 1, 2009 at 8:50 AM, James Paige <Bob@xxxxxxxxxxxxxxxxxxx> wrote:
Regarding the limitations on the human eye: I am no expert on this, but
from what I have read, the average human eye can distinguish somewhere
from 7 to 10 million different colors.

RGB888 is 24 bit color, which is enough for over 16 million colors.

So by that measure, average human eyes should not be able to tell the
difference between RGB888 and RGB101010

Your facts are all basically correct, but some things you are missing is the fact that human vision is both dynamic in terms of it's ability to perceive ranges of intensity and color and able to support a very wide contrast ratio (around 1,000,000 to 1) compared to what contrast ratio monitors are currently pumping out (somewhere between 350:1 to 1000:1) (btw, our perception is basically decibel based, so it's more like the best monitors are 1/4th of what we can do rather than 1/1000th)
 
What that means is our monitors are pretty much crap when it comes to maxing out our eyes contrast-wise, and that even though our eyes have limited color perception, the limits and use of that limited color perception depend on what we are looking at - or to put another way, which 7-10 million colors the average person is distinguishing depends largely on what colors and intensities there are to look at. (btw, this is why contrast ratio doesn't matter so much for home or movie theatres with paltry contrast ratios of 1:500 but the environment is blacked out - our vision readjusts very well to just using the range provided)

The big thing about all this new monitor stuff is the new high-contrast displays, as Pierre said "new TV with
retro light using LEDs has higher contrast (up to 2000000:1 wich is about 126 DB dynamic range)". People who have seen those new monitors have told me the pictures looked like real life, that it was like looking out a window, not at a monitor.

With those new high contrasts though, if you aren't using the full contrast range for a particular scene, RGB888 can be way too small. So more range is needed if you wanna do something like go from a cave to the out of doors - if the cave is half as bright with RGB888, you dropped half your range, to RGB777, and your eyes can start seeing bands and such better.


Of course, I am no expert on this, and I know that the way the rods and
cones in an eye encode color is very different from the way digital
color is encoded in pixels, so there may possibly be other reasons why
RGB888 might be less that mathematically perfect for human color vision.

RGB is designed to be close to our rods and cones, which for most people see an R with very good color range, a G with good color range, and a B with mostly OK color range (relatively speaking). That's why many restricted bit color schemes with uneven bit allocation put the extra bits in the R or G but never the B. But there are actually some people (I've heard they are mostly if not all women) with an extra cone (I think) that is pretty close to the B, and those people have amazing color perception much much better than RGB888, and usually work in color and print related fields cause they can do things like match paint samples and colors at a level beyond what us normal people can.