Tuesday, March 25, 2014

Color Fidelity is Bullshit

The title, obviously, is hyperbole. The pursuit of color fidelity is a thankless, often impossible, job. The amount of time and effort spent on it is probably wildly out of proportion to the actual usefulness. That said, if you need it, you probably know enough to know where the limits are, and you probably know what a thankless job seeking it is.

This essay is for everyone else.

You probably know that we "see" three colors, more or less, and there's something about Red, Green, and Blue.

In the real world things have colors. Light sources, or objects reflecting light, or whatever. These are all, essentially, things from which light comes to our eye. That light has an intensity for every wavelength of light. Let's consider only the visual spectrum here, that still means that the light we perceive as colored has an intensity for every possible wavelength between 390 nanometers and 700 nanometers. Every single one. 307nm? Yes. 519.97234nm? Yes, that one too. All of them. This spectrum is a physical color.

Our eyes have three types of color receptors, each of which responds to every wavelength, but to varying degrees. You can think of them as "mainly red", "mainly blue" and "mainly green", but these are really just the humps in a graph of sensitivity. The "mainly green" ones are highly stimulated by green light, and less stimulated by blue light of the same intensity, and so on. We may think of these things are producing a number, a quantity, which represents how stimulated it is. It's actually slightly worse than that, but this is close enough.

The "mainly green" cones in the eye will produce the same output for a very intense blue light as they do for a much less intense green light. The "mainly blue" ones, though, would produce a much greater response to the intense blue light, which is how we distinguish colors.

Anyways. What it boils down to is that there are lots and lots and lots of (infinitely many) physical colors that will cause the same overall visual response. Different physical colors will produce the same perceived color.

So what? As long as we all perceive the same color, who cares?

Well, of course, we don't. Very close, but not quite.

What we actually do in imaging (analog, digital, it doesn't matter) is we use a small set of fixed physical colors, which we can combine to vary the amounts of red, green, and blue light hitting the eye. We are, emphatically not, generating a full gamut of physical colors. Nothing like that. We are generating a very very very small set of physical colors which happen to cover quite a lot of the perceived colors. To get quite specific: we are mixing this small family of colors up in varying ratios to produce a wide range of visual color responses, of physical and neurological responses, which we identify as "colors" in our minds.

There are two problems with this.

The first problem, which everyone who's looked into it in any depth knows about, is that we can't actually generate all of the perceived colors. This is the "out of gamut" problem that every display or rendering medium has. There are colors that we can see -- there are mental constructs of "color" -- that the medium cannot produce. Every medium is surprisingly limited in what it can produce, and no two media even produce the same gamut of colors.

The second problem is that we perceive colors differently. It is in fact that case that we can have two people who, when presented with the same synthesized perceptual color (the same mixture of red, green, blue, let's say) will assert that it precisely matches two different swatches representing two different physical colors. In the absence of color blindness, the colors will be very close, but still each subject will see the other's swatch as "slightly wrong", given the very same mixture of red, green, and blue.

What does this mean?

Suppose you're photographing an apple. The sunlight -- which is some spectrum or another, some physical color -- bounces off the apple, which absorbs some wavelengths more than others. The reflected light has a physical color, a spectrum, based on the combination of the two. Our eyes would chunk that into three quantities, and we'd see it as "red". The camera likewise chunks that light into three numbers, R, G, and B, which numerical "color" drops into our color managed workflow.

If we're lucky, the perceived color of the apple falls into the available gamut for our computer monitor and our printer, so we can in theory make a print that "looks the same" as the apple did. How we would know what, exactly, the original perceived (or physical) color of the apple was I am, I confess, not sure. By which I mean "we don't, and pretending we do is a fool's game."

Even if everything is in our favor, and all the colors are in-gamut, and even if we could get that very apple in that very same sunlight and show it to people next to our print, some people would say that the match was perfect and other people would say that it is not. This is because the physical color of the apple, and the synthesized perceptual color, are in fact quite different physical colors. Two different people will respond to the same physical color slightly differently, so there is no way with our limited set of inks, to mix the inks in such a way to to produce the same visual response as the apple in these two different people.

The point of the synthesized perceptual color, made by mixing a few colors of ink, is not that it is the same color as the apple. It is not. The point is that it induces, in the human eye and visual cortex, the same perception of color as the apple. People are amazingly similar in how they perceive color, but they are not identical.

I haven't even touched on the way that viewing light color affects the physical colors of a print, and therefore the perceived colors. I haven't even touched on the emotional impact of one color balance over another. I have barely touched on the problem of knowing what the original physical color was. I have left out entirely any discussion of how plastic perceived colors are, and how we will tend to see an apple as the same value of "red" because we know it is a red apple, under a wide variety of lighting conditions -- which translate to a wide range of physical colors.

The point here is that when you get your little ColorMunki(tm) out and calibrate your monitor, and get a custom profile built for your printer, and all that crap, your colors are still wrong. Having a "color managed workflow" isn't a magical system which guarantees that you're right. You can't even get the perceptual colors better than "pretty close" in the most scientific and technical sense.

My favorite example here, by the way, is landscape photographers who go on about this stuff. You're taking pictures of stuff under a light source of wildly varying spectra (i.e. the sun) and you're fussing about hyper-accurate color? Pull the other one, it's got bells on!

Should you give up? No. But you should definitely stop worrying about the technical details, and start worrying about making a good picture. Some of you need more accuracy than a "follow your nose and fiddle with it" process will produce, but not very many, and you already know all this stuff.

If you're the kind of person who harangues other people about calibrating their monitor, and having a color managed workflow, you should knock that off. The people who actually know what they're talking about tend to be pretty vague about this stuff, "well, if you really need accuracy.. ", it's the half-ignorant amateurs who really get excited about it.