Color Management: Color Models, Color Spaces and Color Profiles
Last week we started on our adventure in making sense of color management, a topic that is of increasing importance as the world of photography transitions from film to digital. If you ever want to be able to print out what you captured in your camera, or even just what you see on your monitor screen, there's no escaping color management.
Let's start with a few basic definitions that may seem somewhat interchangeable at first. This way we'll have a basis for understanding what we are talking about going forward.
A rainbow is generally described as having bands of red, orange, yellow, green, blue, indigo and violet, but the actual number of hues is infinite between ultraviolet and infrared. Not only that, by combining various amounts of white, black and any single given hue we can get an infinite variety of tints and tones of that color. That's a lot of different colors. Since computers, scanners and digital cameras all store information digitally, we need a system of describing colors by means of numbers to do anything with color in the digital darkroom.
There are many different ways of approaching this problem though and each of these different ways is known as a color model. The earliest digital devices that had to deal with color were computer monitors which produce color by adding various amounts of red, green and blue light from electron guns inside the monitor. Such a system is known generally as the RGB color model In RGB, if you combine pure red, green and blue together you get white; a complete absence of all three primary colors leaves you with black. RGB doesn't work too well though for printers though since they have to combine various inks to get what they want. On a printer, a complete absence of any ink would leave you with white, the color of your paper. If you combine a bunch of colors of ink, you get a muddy dark brown. In a perfect world you should get black, but it is not possible to produce inks that are sufficiently pure in color so we generally add black ink as a fourth color to remedy this situation. Printers therefore work opposite the way monitors do to produce color and we most often use printer inks with colors opposite the primary colors used by monitors. The CMYK color model uses cyan, magenta, yellow and black inks combined to produce the various shades of possible color. Other color models include such alphabet soup designations as CIE LAB, LUV and XYZ.
Let's restrict ourselves to just RGB for the rest of this article, but everything said applies equally to CMYK and other color models. A typical color in RGB is represented by three numbers between 0 and 255, one for each of the red, green and blue components of the color. This gives us 256 different possible values for each primary color which works well with the way computers store numbers. 256 times 256 times 256 gives us a total of 16.7 million different total possibilities which, while not infinite, is close enough since the human eye/brain can't distinguish between adjacent colors. So, if zero represents the complete absence of, say, red, and 255 represents pure red, the question is, what is pure red?
Not all monitors or other RGB devices can produce the same range of colors. The term gamut is used to describe the universe of colors a given device or other range of colors can produce or describe. A better monitor for instance probably has a wider gamut than a cheaper one does. Older monitors will have a harder time than newer ones since their phosphors are starting to wear out. With today's technology, a CRT monitor has a wider gamut than an LCD one does. If we feed 255,0,0 (pure red in RGB) to one monitor then we might get a more saturated red than another monitor is capable of. Each is doing their best to put out pure red, and neither can do a perfect job of it, but one may do better than the other. A color space is a particular instance of a color model that describes the specific colors you will get for each combination of numbers (red, green and blue in this case). Thus, a color space differs from a color model in that it maps specific values to specific colors while a color model only determines that the values will be the red, green and blue components (or whatever) without saying how much of any given component is needed to get what specific result.
Every RGB device (scanner, monitor, et cetera) will have its own unique color space even though they all share the same RGB color model. There are also color spaces that are designed to match some particular standard or reference. The sRGB (or "standard" RGB) color space is one such example that was developed by Microsoft, Hewlett-Packard and others to be a reference color space that monitor and video card manufactures should work towards. Most desktop inkjet printers are actually RGB devices even though they print with CMYK inks and are capable of printing colors that lie outside the gamut of the sRGB color space. Adobe RGB 1998 helps solve that problem by being a standard color space that has a gamut which includes most everything you will likely need for most monitors and printers. As such, it makes an ideal working space in Photoshop.
A color profile is a file that your computer uses to understand what it needs to know about any given color space. It does this by mapping colors in the color space it represents to colors in an internal color space (usually CIE LAB or CIE XYZ but this is beyond the scope of this article) used by the Color Management System (CMS) embedded in your operating system or other software. This internal color space is known as the Profile Connection Space and serves only as a way to map colors in one space to those in another. You can never see it directly, nor can you change it. It's the unseen constant behind the otherwise hard-to-nail-down world of color on computers. Profiles don't change the way devices reproduce color nor do they limit them or expand them. All they do is describe the color space of that device. These profiles are defined to a specification developed by the International Color Consortium (ICC), a body grew out of Apple Computer's pioneering efforts with ColorSync. In the early days, only Apple computers could benefit from ColorSync, but these days, ICC compliant Color Management Systems are built into Windows and major Unix variants as well so everybody is on the same playing field in terms of color accuracy.
Enough for this week. Next week we'll look at what a Color Management System does with these profiles and address the fascinating topic of Rendering Intent.