A color management system (CMS) is a set of software tools that attempts to maintain the appearance of colors as they're reproduced by different devices. We stress the word "appearance" because it's simply impossible to reproduce many of the colors found in the world in print, or even on a color monitor.
Color management often gets dressed up in much fancier clothing, but it really does only two things.
The options may sometimes appear more complex, but if you break them down, you'll find that they always do some combination of the above two tasks.
All CMSs employ three basic components:
The key point is that profiles define the actual color appearancethe color that we seethat any given set of RGB or CMYK numbers produce on the device (a monitor, a desktop printer, a proofing system, a printing press) whose behavior the profile describes.
Conveying Color Meaning
The key concept in using a CMS is conveying color meaningmaking those ambiguous RGB and CMYK values unambiguous. If the system is going to keep the color consistent among different devices, it needs to know what color appearance each device in the process represents using RGB or CMYK numbers. If a CMS knows what RGB values a scanner produces when it scans specific colors, and knows what colors a display produces when we send it specific RGB numbers, it can calculate the new RGB numbers it needs to send to the display to make it reproduce the colors represented by the scanner RGB numbers.
When you embed a profile in an image, you aren't changing the image. You're simply providing a definition of what the numbers in the file mean in terms of actual colors you can seeyou're assigning a specific color appearance to the RGB or CMYK numbers. If you don't embed profiles in your images, the numbers in the file are ambiguous and open to many different interpretations. Embedding a profile simply tells color-management-savvy applications which interpretation you want to place on the numbers. Profile embedding is the easiest way to convey the color meaningthe intended color appearanceof the numbers in the digital image.
Source and target profiles
When you ask the color management system to make a conversionto change the numbers in the filethe CMS needs to know where the RGB or CMYK color values came from and where you want to send them. Whenever you open or create an image, you have to give the CMS this information by specifying a source profile and a target profile.
The source profile (which is sometimes already embedded in the file) says, "This RGB data is from such-and-such a scanner," or "This RGB data is from such-and-such a monitor." This tells the CMS what actual colors RGB or CMYK numbers represent. The target profile tells the CMS where the image is going, so that it can calculate the new RGB or CMYK numbers that will maintain the color in the image on the target device.
For example, imagine that color management systems work with words rather than colors. The purpose of the word-CMS is to translate words from one language to another. If you just feed it a bunch of words, it can't do anything. But if you give it the words and tell it that they were written by a French person (the source), it all of a sudden can understand what the words are saying. If you then tell it that you speak German (the target), it can translate the meaning faithfully for you.
Back to pictures: When you scan some artwork, you end up with a lot of RGB data. But for Photoshop to know what specific colors those RGB values are meant to represent, you have to tell it that the RGB data came from this particular scanner. When you choose your scanner's device profile as the source profile, you're telling Photoshop that this isn't just any old RGB data; it's the RGB data carefully defined by the scanner's device profile.
To make the image on your printer match the original, you choose your printer profile as the target profile. The CMS takes the RGB values in the image and uses the scanner profile as the secret decoder ring that tells it what colors (in the reference color space) the RGB values represent. Then it calculates new RGB or CMYK values based on the printer profile, to produce the same colors when they're printed on your printer.
This is really the only thing CMSs do. They convert color data from one device's color space (one "language") to another. Pretty much everything you do with a CMS involves asking it to make the colors match between a source and a target profile, and this same two-step is integral to the way Photoshop CS handles color.
There's one more wrinkle. Each device has a fixed range of color that it can reproduce, dictated by the laws of physics. Your monitor can't reproduce a more saturated red than the red produced by the monitor's red phosphor. Your printer can't reproduce a cyan more saturated than the printer's cyan ink, or a white brighter than the white of the paper. The range of color a device can reproduce is called the color gamut. Colors present in the source space that aren't reproducible in the destination space are called out-of-gamut colors. Since you can't reproduce those colors in the destination space, you have to replace them with some other colors.
The ICC profile specification includes four different methods of handling out-of-gamut colors, called rendering intents. (In Photoshop CS2, they're simply called intents.) The four rendering intents act as follows:
When you use a CMS to convert data from one color space to another, you need to tell it three pieces of information: the source profile, the target profile, and the rendering intent. You can think of these three elements as where the color comes from, where the color is going, and how you want the color to get there. But before you go hog-wild, converting images willy-nilly from one space to another, a cautionary note is needed.
Space conversions and data loss
Bear in mind that even the best CMS degrades your image when you convert it from one color space to another. Even though the conversions may be very accurate, you still want to limit their number (any color space conversion involves some loss, due to rounding and quantization errors). That's why Photoshop has taken a somewhat different approach to color management than most other applications. Rather than make you transform images continually from one device's color space to another's, thus degrading the image, Photoshop offers a reasonable place for images to live: a device-independent RGB working space.