Dcp and Icc Camera Profiles
Icc profiling is supremely qualified to correct images from a scanner or any other input device with a well defined range of possible values. It "fits" the requirements perfectly having an input curve correction and no "extras" that a scanner don't really need.
Dcp is in many cases more suited for the real-world requirements of a camera, with varying light conditions and a need for "perceptual" corrections.
Both are possible to "cross-use", with good enough results - but it could be a good idea to consider the best tool for the work to be done.
Lets start with the similarities
Both dcp and icc have a "translation mechanism" that should transform an image (with pixels represented by a binary code) from a [scene referred] white balance and [scene referred] coordinates into a standardized format that a computer can recognize as an image. They can both do this with a straight, linear matrix type of transform - where the input image as represented by the channels [c1, c2, c3] and the output is either the base color format CIE XYZ or a standardized RGB profile like Adobe RGB..
We shouldn't really refer to the input image as "R, G, B" right now (!), since we don't know what colors they really represent. If you take a Canon digital camera for instance, they are more like [red-orange, warm green, blue] - and so is the human eye by the way...
The "Matrix transform" works exactly like the "color mixer" in Adobe Photoshop. Each output channel [X,Y or Z] or [R,G or B] are "mixed" from a combination of the input channels. This mix can also contain "subtraction", which is used to increase output channel color difference - increase saturation - as well as "addition", which will lower saturation. Add one neighbor and subtract the other, and you move the base color in the "add" direction.
If you mix [+0.1*c1 +0.8*c2 +0.1*c3] to make the Green channel, you lower the saturation of "Green".
If you mix [-0.1*c1 +1.2*c2 -0.1*c3] to make the Green channel, you increase the saturation of "Green".
The numbers in front of the channel "mix" are part of the matrix. To get a 3-channel output from a 3-channel input you need a 3x3=9 size matrix - three mix input constants for each output color.
If the camera (plus the light conditions) or the scanner (plus the paper background and light) is well constructed, and behaves like the human eye, then the matrix part should get the "output" very close to the intended result. Unfortunately that isn't always the case, since production technicalities may vary. Filters can only be made from a few certain materials, light changes, papers change and so on.
That's why we might need...
The "Lookup Table" or "LUT" transform.
This is basically a grid that you place over the available colorspace. Each gridpoint has a "correction value" that should be applied to input colors falling within this point's area of relevance. And hence the name "Lookup" - the software calculates a position for the "in" value, "looks up" the closest correction value, applies it and ouputs an "out" value.
We (can) get a very much more finegrained correction from a LUT correction table, since we can single out very small portions of the color space to make a correction in. We might increase the saturation for orange-yellow, and lower it for green-yellow - this we cannot do with a "Matrix" type correction, that is limited to large sweeping areas of correction.
Main differences between icc and dcp
An icc profile (for a scanner or a camera - our two basic three-channel "inputs") can be made up of four parts:
• Curve correction (to compensate for non-linearities in the measurement system)
• Input coordinates (basically a matrix transform)
• LUT in either XYZ or Lab space
• Output curve
This is a system mostly constructed (and optimized) for scanners. In a scanner, the input may be non-linear (it may have a gamma curve, you might scan something that has dot-gain, or a print that's already been subjected to curve processing). In a scanner you can almost always know that the paper (the background, the whitebalance) falls within a certain quite small range of values. The icc profile is very well suited to take care of those deviations, and perform a good accuracy transform from input to output. The PCS, "profile connection space" is either Lab or XYZ, a standard that can easily be transformed into any other standard color profile (like Adobe RGB or sRGB). A scanner (input) profile takes the input and translates it into the PCS. An output profile (Adobe RGB?) takes PCS input and translates that into output values
A dcp profile has several more options and contains up to seven parts:
• One (or two) input matrices
• One "reduction" or "correction" matrix
• One (or two) input LUT corrections
• One output curve
• One output LUT correction
This system is better suited for the more comprehensive demands a camera-captured image puts on the color management input system. A camera has to work with the light in the scene, it doesn't always bring its own light (like a scanner!). A camera (at least in the raw file) is always a linear measurement system, twice the amount of light means a measured value that's twice as high. That means that you don't really need an input curve correction. Then the Matrix + LUT correction takes care of the [scene referred] color and white balance, and translates it into a specified PCS (profile connection space) which in the case of Adobe Camera Raw is ProPhoto RGB. The reason for the option of using two sets of input matrices/LUTs is that we have to adapt the translation differently depending on the scene input whitebalance.
When the first part (scene to PCS transform) is finished, the dcp applies (optional) output curves or "exposure curves", and after this another LUT transform.
A curve affects color - a steeper curve increases saturation and vice versa. The final LUT transform can be seen as a "perceptual" adaptation, where stuff that "just looks right" can be added. You usually don't want a photograph to be "just a copy of reality", and you might also want to compensate for the way human eyes react to color in bright, mid and dark tones (see "Munsell lines" or "Munsell correction").
Colors as seen by the camera
An important fact to remember when you talk about "color" and "camera measurement" is what the camera "sees":
[light spectrum (whitebalance)] x [reflection properties (surface color)]
the resulting spectrum THEN gets filtered through the cameras color filters into three (or four) discrete spectrum sample points.
As you can see, there are several variable parameters involved here. And as with any equation with more than one unknown parameter there are often quite a lot of "plausible" solutions, and the true solution can often not be 100% statistically secured from just looking at the equation... Working around this limitation is part of the human touch and what maybe could be called "intelligence" in profiling software.


