In color management, an ICC profile is a set of data that characterizes a color input or output device, or a color space, according to standards promulgated by the ICC. Profiles describe the color attributes of a particular device or viewing requirement by defining a mapping between the device source or target color space and a profile connection space (PCS). This PCS is either CIELAB (L*a*b*) or CIEXYZ. Mappings may be specified using tables, to which interpolation is applied, or through a series of parameters for transformations.
Every device that captures or displays color can be profiled. Some manufacturers provide profiles for their products, and there are several products that allow an end-user to generate their own color profiles, typically through the use of a tristimulus colorimeter or a spectrophotometer (sometimes called a spectrocolorimeter).
The ICC defines the format precisely but does not define algorithms or processing details. This means there is room for variation between different applications and systems that work with ICC profiles. Two main generations are used: the legacy ICCv2 and the December 2001 ICCv4. Since late 2010, the current version of the format specification (ICC.1) is 4.3.
ICC has also published a preliminary specification for iccMAX (ICC.2) or ICCv5, a next-generation color management architecture with significantly expanded functionality and a choice of colorimetric, spectral or material connection space.
To see how this works in practice, suppose we have a particular RGB and CMYK color space and want to convert from this RGB to that CMYK. The first step is to obtain the two ICC profiles concerned. To perform the conversion, each RGB triplet is first converted to the Profile connection space (PCS) using the RGB profile. If necessary the PCS is converted between CIELAB and CIEXYZ, a well-defined transformation. Then the PCS is converted to the four values of C, M, Y, and K required using the second profile.
So a profile is essentially a mapping from a color space to the PCS, and from the PCS to the color space. The profile might do this using tables of color values to be interpolated (separate tables will be needed for the conversion in each direction) or using a series of mathematical formulae.
A profile might define several mappings, according to rendering intent. These mappings allow a choice between the closest possible color matching and remapping the entire color range to allow for different gamuts.
The reference illuminant of the Profile connection space (PCS) is a 16-bit fractional approximation of D50; its white point is XYZ=(0.9642, 1.000, 0.8249). Different source/destination white points are adapted using the Bradford transformation.
Another kind of profile is the device link profile. Instead of mapping between a device color space and a PCS, it maps between two specific device spaces. While this is less flexible, it allows for more accurate or purposeful conversion of color between devices. For example, a conversion between two CMYK devices could ensure that colors using only black ink convert to target colors using only black ink.