During the last couple of weeks, I've come to discover that a lot of "facts" I thought I knew are a tad less correct than one might hope. When I was at school, for example, I was taught that the human eye had three different color receptors for red, green and blue light, and that we perceived other colors as different mixes of those three color components. Thus, I was told, this explained why each pixel on an electronic color display (such as a television or computer display) was formed from a red, green and blue element.
I now find that things are much more complex. Although the majority of us do indeed have three color receptors, one responds best to blue-violet, while the other two are most sensitive to greens (one peaks at a bluish green and the other peaks at a yellowish green). We now know that our visual systems are designed to detect differences between the responses of the different cones. Thus, we perceive the color yellow when our yellowish-green cones are stimulated slightly more than our bluish-green cones; similarly, we perceive the color red when our yellowish-green cones are stimulated significantly more than our bluish-green cones. (If you are interested in learning more, including folks who have four color receptors, bounce over to www.diycalcu lator.com/sp-cvision.shtml).
One interesting point about all of this is that we have an order of magnitude fewer bluish-violet cone cells than the other two types. And as the other two types are both sensitive to greens, the human eye is particularly sensitive to variations in the green portion of the spectrum.
All of this leads us to consider the number of bits used to represent a pixel in a color display. Once again, much of what I thought I knew turns out to be less than accurate. When memory was much more expensive than it is today, designers tried to minimize the number of bits used to code each pixel. In the case of 15-bit color, for example, a 5-5-5 scheme used 5 bits each for the red, green and blue color components forming the pixel, thereby offering 215 = 32,768 colors
The next level up was 16-bit color, in which a 5-6-5 scheme was used to provide 216 = 65,536 different colors. In this case, 5 bits were used to represent red, 6 bits for green and 5 for blue (the reason for devoting more bits to green is that the human eye is more sensitive to variations in green, as discussed above).
However, I was informed that to achieve photo-realistic images, one had to use 24-bit color (known as "true color"), in which the red, green and blue color components are each represented by eight bits, thereby providing 224 = 16,777,216 different colors.
This all seems to make sense when you say it quickly, but is it true? Do we really need 24 bits per pixel, or can we get by with less? Now this may not matter so much for large systems, but it can be important for embedded systems in which using fewer pixels equates to less silicon real estate, a reduction in computational requirements and lower power consumption.
The reason I've come to question "conventional wisdom" is that I just read a paper written by IBM fellow Mike Cowlishaw (www.cary.demon.co.uk/buss/ cowlishaw1985-fundamental.pdf). Dated from 1985, and titled "Fundamental Requirements for Picture Presentation," this paper demonstrates that it should never be necessary to use more than 17 bits to reproduce optimal color (5 red, 7 green and 5 blue), but that a 12-bit scheme (4 red, 5 green, 3 blue) does almost as well. And the paper even shows a photograph of a person looking very realistic using only an 8-bit scheme (2 red, 4 green and 2 blue).
I'm still mulling over everything I learned in this paper, which I firmly believe should be required reading for anyone poised to create an electronic imaging or display system.
Clive (Max) Maxfield is editor of Programmable Logic DesignLine, an EE Times sister Web site (www.pldesignline.com), and author of How Computers Do Math (www.DIYCalculator.com)