20
\$\begingroup\$

How many distinct colors, shades, hues, and tints can the average person distinguish in a single scene? In other words, what's the theoretical bit-depth required to be sure of recording a photograph with all of the visual information a human would perceive?

I've seen answers ranging from 200,000 to 20,000,000, and it's hard to sort out authority. And the term "color" is ambiguous — is just hue meant, or are differences in saturation and lightness also included?

\$\endgroup\$
1
  • \$\begingroup\$ I'm sure there's been statistics collected for the "Farnsworth Munsell 100 Hue Test." Here's a crappy online version which I am sure is affected by monitor calibration: xrite.com/custom_page.aspx?PageID=77&Lang=en \$\endgroup\$
    – eruditass
    Commented Mar 30, 2011 at 1:48

4 Answers 4

26
+100
\$\begingroup\$

When discussing the number of colors perceptible to the human eye, I tend to refer to the 2.4 million colors of the CIE 1931 XYZ color space. It is a fairly solid, scientifically founded number, although I do admit it may be limited in context. I think it may be possible for the human eye to be sensitive to 10-100 million distinct "colors" when referring to both chromaticity and luminosity.


I'll base my answer on the work done by CIE, which began in the 1930's, and progressed again in the 1960's, with some algorithmic and accuracy improvements to formula over the last couple decades. When it comes to the arts, including photography and print, I think that the work done by the CIE is particularly relevant, as it is the basis of color correction and modern mathematical color models and color space conversion.

The CIE, or Commission internationale de l'éclairage, in 1931 established the "CIE 1931 XYZ color space". This color space was a plot of full purity color, mapped from 700nm (near-infrared red) through 380nm (near-UV), and progressed through all the wavelengths of "visible" light. This color space is based on human vision, which is a tri-stimulus created by the three types of cones in our eyes: short, medium and long wavelength cones, which map to 420-440nm, 530-540nm, and 560-580nm wavelengths. These wavelengths correspond to blue, green, and yellow-red (or orangish-red) primary colors. (The red cones are a bit unique, in that their sensitivity has two peaks, the primary one in the 560-580nm range, and also a second one in the 410-440nm range. This double peaked sensitivity indicates that our "red" cones may actually be "magenta" cones in terms of actual sensitivity.) The tristimulus response curves are derived from a 2° field of view of the fovea, where our cones are most concentrated and our color vision, under medium to high lighting intensity, is at its greatest.

The actual CIE 1931 color space is mapped from XYZ tristimulus values, which are generated from red, green, and blue derivatives, which are based on actual red, green, and blue color values (additive model.) The XYZ tristimulus values are adjusted for a "standard illuminant", which is normally a sunlight balanced white of 6500K (although the original CIE 1931 color space was created for three standardized illuminants A 2856K, B 4874K and C 6774K), and weighted according to a "standard observer" (based on that 2° foveal field of view.) The standard CIE 1931 XYZ color plot is horshoe-shaped and filled with a "chromaticity" diagram of pure 'colors', covering the hue range from 700nm through 380nm, and ranging in saturation from 0% centered at the white point to 100% along the periphery. This is a "chromaticity" plot, or color without regard to intensity (or color at maximum intensity, to be most accurate.) This color plot, according to some studies (references pending), represents about 2.38 million colors that the human eye can detect under moderately high intensity lighting approximately the same color temperature and brightness of daylight (not sunlight, which is closer to 5000k, but sunlight + blue sky light, about 6500k.)


So, can the human eye detect only 2.4 million colors? According to the work done by the CIE in the 1930's, under a specific illuminant that equates to the intensity and color temperature of daylight, when factoring in only the 2° of cones concentrated in the fovea of our eyes, then it seems we can indeed see 2.4 million colors.

The CIE specifications are limited in scope, however. They do not account for varying levels of illumination, illuminants of differing intensity or color temperature, or the fact that we have more cones spread across at least a 10° area of our retinas around the fovea. They also do not account for the fact that peripheral cones seem to be more sensitive to blues than the cones concentrated in the fovea (which are primarily red and green cones).

Refinements to the CIE chromaticity plots were made in the '60's and again in 1976, which refined the "standard observer" to include a full 10° color sensitive spot in our retinas. These refinements to CIE's standards have never come into much use, and the extensive color sensitivity research that has been done in relation to CIE's work has been largely limited to the original CIE 1931 XYZ color space and chromaticity plot.

Given the limitation of color sensitivity to only a 2° spot in the fovea, there is a strong likelihood that we can see more than 2.4 million colors, particularly extending into the blues and violets. This is corroborated by the 1960's refinements to CIE color spaces.


Tone, perhaps better labeled luminosity (the brightness or intensity of a color), is another aspect of our vision. Some models blend chromaticity and luminosity together, while others distinctly separate the two. The human eye contains a retina composed of both cones..."color" sensitive devices, as well as rods, which are color-agnostic but sensitive to changes in luminosity. The human eye has about 20 times as many rods (94 million) as it does cones (4.5 million). Rods are also about 100 times as sensitive to light as cones, capable of detecting a single photon. Rods seem to be most sensitive to the blueish-green wavelengths of light (around 500nm), and have lower sensitivities to reddish and near-UV wavelengths. It should be noted that a rods sensitivity is cumulative, so the longer one observes a static scene, the clearer the levels of luminosity in that scene will be perceived by the mind. Rapid changes in a scene, or panning motion, will reduce the ability to differentiate fine tonal gradation.

Given the rod's far greater sensitivity to light, it seems logical to conclude that humans have a finer, and distinct, sensitivity to variations in light intensity than they do to changes in hue and saturation when one observes a static scene for a time. Exactly how this factors into our perception of color and how it affects the number of colors we can see, I can't exactly say. A simple test of tonal sensitivity can be done on a clear day's evening, just as the sun sets. The blue sky can range from near white-blue to deep dark midnight blue. While the hue of such a sky covers a very small range, the tonal grade is immense and very fine. Observing such a sky, one can see an infinitely smooth change from bright white-blue to sky blue to dark midnight blue.


Studies unrelated to CIE work have indicated a wide range of "maximum colors" that the human eye can perceive. Some have an upper limit of 1 million colors, while others have an upper limit of 10 million colors. More recent studies have shown that some women have a unique fourth cone type, an "orange" cone, that could possibly extend their sensitivity to 100 million, however that study counted both chromaticity and luminosity in their calculation of "color".

That ultimately begs the question, can we separate chromaticity from luminosity when determining "color"? Do we prefer to define the term "color" to mean the hue, saturation, and luminosity of the light we perceive? Or is it better to separate the two, keep chromaticity distinct from luminosity? How many levels of intensity can the eye really see, vs. how many distinct differences in chromaticity? I am not sure these questions have actually been answered in a scientific way yet.


Another aspect of color perception involves contrast. It is easy to perceive a difference in two things when they contrast well with each other. When trying to visually determine how many "colors" one sees when looking at varying shades of red, it can be rather difficult to tell if two similar shades are different or not. However, compare a shade of red with a shade of green, and the difference is very clear. Compare that shade of green in sequence with each shade of red, and the eye can more easily pick up the differences in the red shades in peripheral relation to each other as well as in contrast with the green. These factors are all facets of the vision of our mind, which is a far more subjective device than the eye itself (which makes it hard to scientifically gauge color perception beyond the scope of the eye itself.) Given a setting with appropriate contrast, one may be able to detect far more distinct colors in context than a setting without any contrast at all.

\$\endgroup\$
11
  • 1
    \$\begingroup\$ Anyway: 10-100 million distinct colors = 24-27 bits, of which 22 are hue and saturation. \$\endgroup\$
    – mattdm
    Commented Mar 31, 2011 at 1:29
  • \$\begingroup\$ The sad thing about the RGB color model is it mixes chromaticity and luminosity. You can't simply change luminosity independent of chromaticity, you have to change chromaticity at the same time...they are intrinsically linked. That link inherently limits how much fineness we can extract from RGB until we reach higher bit depths beyond 8bpc...16bpc is pretty adequate, but still not ideal. A real bummer about a lot of vision testing is...its done with computers and computer screens, USING the RGB color model. I think that has limited our measurement of human vision in some ways. \$\endgroup\$
    – jrista
    Commented Mar 31, 2011 at 2:04
  • \$\begingroup\$ @jrista: how does Bezold–Brücke shift related to that? \$\endgroup\$
    – mattdm
    Commented Apr 1, 2011 at 19:41
  • \$\begingroup\$ I believe Bezold–Brücke is based only on extrafoveal perceptual tests, or tests that involve the outer 10° color sensitive spot, but ignoring (or under-weighting) the 2° foveal spot (which has more red and green cones). The greater concentration of blue cones in the extrafoveal area could account for the blue/yellow weighted shift. I don't know that much about their studies, though, so I can't say anything definitively. \$\endgroup\$
    – jrista
    Commented Apr 2, 2011 at 3:06
  • \$\begingroup\$ @jrista: how are tests like that conducted? The papers I see reference studies on human subjects giving subjective responses, rather than measurements or anything. Right now I am too tired to understand anything I'm reading, but I'm developing the sneaking suspicion that a model which separates color into hue, saturation, and value also has limitations. Not that that necessarily relates directly to my question here. :) \$\endgroup\$
    – mattdm
    Commented Apr 5, 2011 at 3:21
3
\$\begingroup\$

150: the number of hues that the eye can discriminate in the spectrum.

1,000,000: the number of colors (combinations of hue, saturation and brightness) that the eye can discriminate under optimal laboratory conditions.

From visualexpert.com

However, this seems to be a controversial subject.

\$\endgroup\$
4
  • \$\begingroup\$ Interestingly, after giving the number one million, that site continues: "This is only an estimate, since it would be impossible to actually test all possible combinations. A few even believe the number to be as high as 7,000,000." \$\endgroup\$
    – mattdm
    Commented Mar 28, 2011 at 12:40
  • \$\begingroup\$ The particular angle of that site — distinguishing between colors for legal reasons — is also interesting. This topic has quite wide applications. :) \$\endgroup\$
    – mattdm
    Commented Mar 28, 2011 at 12:41
  • \$\begingroup\$ So, this site suggests 20 bits, 22 if we take the higher number. 8 of the bits devoted to hue. \$\endgroup\$
    – mattdm
    Commented Mar 30, 2011 at 0:31
  • \$\begingroup\$ I'd say they got it pretty right when they decided 24 bits was enough accuracy for monitors. I know I can see 18-bit TN panel colour, but 24-bit is as smooth as I can practically see. \$\endgroup\$ Commented Mar 30, 2011 at 2:29
2
\$\begingroup\$

A couple of points.

  1. The one million discriminable colors, even if true, at best applies to ideal laboratory conditions. In the real world, the number is doubtless going to be much, much smaller. You can safely ignore all this talk about millions of colors.

  2. In photography, the dynamic range is a tiny fraction of the scene dynamic range, so you can’t produce many of the colors anyway. All technology lists the range of color production drastically. Especially prints.

  3. The number of bits needed depends on much more than the number of colors. Color space is not linear (see Weber’s Law, Fechner’s Law, McAdam ellipses, etc) , so you can’t simply break color space up into a series of equal size steps based on the number of bits. You will always need many more bits than the number of colors suggests. 24 bits produces 16 million colors, but it still doesn’t produce good images. You need at least 10 or 12 bits per color to create smooth gradients of without banding.

\$\endgroup\$
5
  • \$\begingroup\$ #3 is a matter of encoding. You never need more bits than the size of the data. \$\endgroup\$
    – mattdm
    Commented Apr 3, 2011 at 12:18
  • \$\begingroup\$ "#3 is a matter of encoding. You never need more bits than the size of the data." For practical purposes, you are incorrect. The nonlinear response of the eye and of most display devices ensures that most of the levels at the high and low end will be wasted. Many of the color levels will produce indistinguishable colors. There some ways around this with specialized equipment that maps high resolution data on top 8 bits, but having done it, I found that it is not worth the trouble. \$\endgroup\$
    – user4574
    Commented Apr 5, 2011 at 12:39
  • \$\begingroup\$ @mattdm: I think your misunderstanding what he is saying. Art is correct in his statement that color space is not linear (if you look at the CIE 1931 XYZ color plot, you'll see it has a curved shape with more area dedicated to green hues.) I think what Art is getting at is you should allocate more bits to green than blues or reds to fully realize the potential of a color space. Using 10 or 12 bits per channel helps achieve this, although it is still not an ideal distribution of bits per color. I would disagree with #1...but, thats a discussion for another day. \$\endgroup\$
    – jrista
    Commented Apr 5, 2011 at 16:54
  • 1
    \$\begingroup\$ The key is "equal sized steps". Just because you can't do that doesn't mean that you need more precision than there is data. You just need the right encoding. But I absolutely agree that there may be practical reasons for using more bits and a less space-efficient encoding. (See our previous long discussion on the very-inefficient scRGB working space.) \$\endgroup\$
    – mattdm
    Commented Apr 5, 2011 at 18:16
  • \$\begingroup\$ @mattdm do you have a link to that discussion? Is the common gamma correction insufficient for aligning the bit values with the eye's response? \$\endgroup\$ Commented Feb 15, 2019 at 7:05
1
\$\begingroup\$

To give you an idea: Most monitors claim to be able to display roughly 16 million colors. Cheaper panels are actually 6 bits/channel only, and use dithering to mix out the 16 million. This is actually noticeable! (some use animated dithering, there you might see it as a slight flickering effect) True 24 bits (8/channel) is in my opinion really needed for nice smooth color transitions.

"Which in turn raises the question: are formats which use 48 bits, 16 per channel, actually way bigger than necessary?"

  • It depends on what you want to use it for. Just for displaying on the screen, yes. But if you want to work with the image or as an input format, no.
\$\endgroup\$
1
  • \$\begingroup\$ I have yet to find a monitor that doesn't show the banding on this specially constructed image: marksblog.com/gradient-noise. Those bands differ by a single bit in the 8-bit color space. As for 16 bits per channel, those generally use a linear color space rather than a gamma-corrected one so in the lower range those bits aren't as wasted as they look. \$\endgroup\$ Commented Feb 15, 2019 at 7:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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