Related subjects →  Tutorial , Colour , ICC profile , Colour management , Colorimetry .


What is a colour profile

A colour profile is a digital document that describes the data that make up the set of colour sensations that a person or device are able to recognize.

Two ICC colour profiles compared.

This ensemble is a "colour space". We can display it using a metaphor of a three-dimensional volume, as  shown in the image above. Beyond the limits of that 3D volume, there is no colour perception for that person or device.

However, a colour profile is not the same as a colour space. It is a document that describes a colour space in a structured way, so that specialised colour processing devices and programmes know how to interpret that data colorimetrically.

In other words, a colour profile contains and describes a colour space by translating the colorants of the original data into general colour terms.

A picture with and without a colour profile.

By unambiguously identifying the colour perceptions these data cause in whoever captured, modified or transmitted them, colour profiles enable the establishment of a systematic, reliable and consistent colour transmission chain.

The secondary mission of colour profiles is eliminate uncertainties in colour conversions with this unambiguous description. This is dealt with in their structure, which is described below.

Warning: The value of the colour profiles always depends heavily on the quality of the device and the knowledge of its user. That is: If it is a low quality device that does not behave in a constant and sustained way, the profile (which is static), cannot describe a situation that is arbitrarily changing in time and space.

And if users do not understand how a colour management system works, profiles will be used randomly and the result is likely to be irregular with a tendency to add up errors.

ICC colour profiles

Nowadays, when talking about colour profiles, we always refer to those that follow the internal structures defined by the specifications of the International Colour Consortium (ICC), which is an organization formed by companies related to colour treatment in some industrial sectors.

The logo of the ICC.

The ICC publishes from time to time revisions of its specifications. Although the most widely used is version 2, there is a version 4 which theoretically corrects many inconsistencies and shortcomings of version 2 (which are not a few).

The trouble is that many of the features defined in version 4 have not been implemented by many manufacturers and mixing profiles from both versions in the same working system does not always give the best results. That is why some experts recommend not only not to mix them, but even to avoid using version 4 profiles. They state that any possible theoretical gain does not outweigh the disadvantages that their use can cause.

That's why here deal mainly with the characteristics version 2 ICC colour profiles but some aspects that belong to version 4 may be mentioned.

There are three versions of of colour profiles.

Note: ICC and ISO are developing a new specification called iccMAX, which can be understood as a new approach to colour management systems and profiles, extending the colour management specifications (including a version 5 of the colour profiles and the recognition of colour data in CxF format) while continuing to work with all of the above. For now, it is a work in progress, so we mention it only for the record.

The colour management module

Being as they are passive information vessels (they do nothing by themselves), colour profiles require the existence of a software component to interpret them: The colour management module (CMM). Its task is to take the colour profile data and apply them to the manipulation, transformation and presentation of the image data.

As the ICC colour profile structures are public specifications, any software company can develop a colour engine. Among them, there are Adobe CMM, Little CMS, Apple CMM, Microsoft ICM, ArgyllCMS or Heidelberg CMM. They are not sold separately, but as components part of other programmes.

The quality of the colour module, and the profiling devices and software

Colour profiles cannot contain all possible data to describe the colour space of a device. They can only incorporate a very small part of them. So, the colour engine must deduce the missing data by interpolating the existing ones.

Colour management is a chain of elements.

Therefore, the quality of a colour profile depends a lot on knowing which and how many data incorporate  inside it, which software use to build it and how to adjust it. The quality of the profile has a direct impact on the performance of the colour engine, and the quality of this software module, in turn, affects the calculations made on profile and image data.

The weakest link in this chain defines the overall quality of a complex process where adding more data does not necessarily mean defining a better profile.

To comply their aim, colour profiles must include information such as the definition of the original colorants, their order of use, the white point, the black point, the illuminant used, the dot gain, the default rendering intent and similar parametres. The amount of information included in a profile depends on its type and quality.

Warning: The quality of a colour profile is not defined by the quality of the device or medium described, but by the accuracy of the profile in describing that quality. A profile of a mediocre or very limited device is good if it describes that mediocrity accurately.

Source and destination profiles

Source and destination colour profiles.

Colour profiles are divided into two classes conceptually: Source and destination profiles. The former describe the data at the beginning of a transformation, the latter describe the final destination at which a transformation should end. A profile can be either a source profile, or a source and destination profile.

For example, a scanner profile is a source profile (it describes the colour of the device that captured the colour data); a monitor profile is an output profile (it describes the colours of the device on which the colour data are displayed), a printer profile is a destination profile (it represents the colour of the device on which the final data are reproduced) and, at the same time, it can be a source profile (for example, when modifying a ready-to-print image repurposed for another job).

General structure of ICC colour profiles

Without going into technical details, all colour profiles are composed of a header, a tag table and tagged data, which are interlinked through the tag table that establishes an information structure consisting of points, tables and matrixes.

The general structure of an ICC colour profile.

Depending on the type of profile, some labels and tables are mandatory, some are optional, and some are proprietary to a particular profile (that is, the maker adds them at his own discretion).

Profile data can be described with 8 bits or 16 bits. The latter are much more precise and therefore 16-bit profiles are preferable.

The Profile Connection Space (PCS)

What is the Profile Connection Space (PCS).

ICC colour profiles use an element to unambiguously define device colours. It is the so-called "Profile Connection Space" (PCS). This PCS is a device-independent colour space that serves to store the referenced colours in an unambiguous encoding that does not depend on the specific colorants of a device.

  • In the input area of a source profile, the PCS is the format which the device (device-dependent) colour data are translated into their equivalents in the PCS colour space.
  • In the output area of a destination profile, the PCS is the format from which the (device-independent) colour data are translated into their equivalents in the colour space of the device.

In both cases, metaphorically speaking, the PCS is the common language into and from which the data from the devices are translated.

At present, only two colour spaces are used as PCS. They are CIE XYZ 1931 and CIELAB 1976. This limitation is likely to change in the future.

Matrix and table profiles

Matrix and table ICC colour profiles.

Colour profiles can store and interlink data about colorants and other elements in two ways: As matrixes (arrays) and as tables. In both types, missing data must be interpolated from existing data.

Matrix profiles

The first and simplest way to build a profile is storing the colorant information in a 3 × 3 square matrix and  modify colour data by means of tone reproduction curves (one for each colorant).

Matrix ICC colour profiles.

These curves can be defined as a gamma value (e.g. 1,8) or by a succession of points drawing the curves (let's say: With 1,024 points). Matrix profiles always use the CIE XYZ 1931 space as PCS.

These profiles work quite well to describe uniform colour spaces and are more compact than table profiles.

Profiles that define RGB devices or editing spaces (such as the well-known Adobe RGB, sRGB, ProPhoto, CIE RGB or Wide Gamut RGB) are usually matrix profiles.

Matrix profiles are mainly used to describe devices that work by mixing lights (such as scanners, digital cameras or monitors), as the additive mixing of three luminous colorants lends itself very well to this.

Note: The difference in size between table and matrix profiles in a workflow that processes a lot of images can be significant. For example: The ISO Coated v2 (table) profile file is almost 1.8 Mb, while the Adobe RGB (matrix) profile is only 1 Kb.

Table profiles

The second kind of profiles, which is more complex, stores and relates the colorants' data in lookup tables. It also incorporates curves at different points of its structure to modify the colour data.

The number of elements in each table is a decision of the profile creator: The more points the table has, the higher the accuracy of the profile (and the larger its size). Table profiles always use the CIELAB 1976 space as PCS (if the illuminant used is not D50, this must be indicated in the chromaticAdaptation label).

In theory, well-made table profiles should be more accurate and flexible than matrix profiles.

Table profiles can be used for any type of device, but they are particularly useful as output profiles, which work by mixing pigments.

A CMYK table ICC colour profile.

Note: Curves in both types of profiles are particularly useful to avoid errors that may be caused by any interpolation that does not take into account the irregularities of the devices. Their usefulness depends on their accuracy (basically, the number of points describing it).

Profiles and rendering intents

In matrix profiles, the rendering intent between spaces is always relative colorimetric or, in other words,  the profiles do not contain different set of instructions about how to deal with out-of-gamut colours.

Tables profiles support more than one conversion or rendering intent and they do so by means of two groups of tables going from the device to the PCS (group AtoB, that allows the profile to function as a source profile) and from the PCS to the device (group BtoA, which allows the profile to function as a destination profile).

Not all profiles include all these tables. For example, it does not make much sense for scanner profiles to have BtoA tables, as they will not function as output profiles. Input and their equivalent output tables may differ in shape or size.

The tag table of a CMYK table ICC colour profile.

In each group there are three possible tables, depending on the rendering intent applied: (0) Perceptual, (1) colorimetric and (2) Saturation. The parametres of the relative colorimetric rendering intent are obtained  deriving them from those of the colorimetric tables and the value of the white point (which must always be indicated in the mandatory mediaWhitePoint label).

Thus, the following tables are possible:

  • AtoB0: Perceptual rendering intent from the device to the PCS. In DeviceLink type profiles, it is the only existing table and it connects the source device to the destination one.
  • AtoB1: Colorimetric rendering intent (absolute and relative) from the device to the PCS.
  • AtoB2: Saturation rendering intent from the device to the PCS.
  • BtoA0: Perceptual rendering intent from the PCS to the device.
  • BtoA1: Colorimetric rendering intent (absolute and relative) from the PCS to the device.
  • BtoA2: Saturation rendering intent from the PCS to the device.

How a colour conversion works

Source and destination profiles in a colour conversion.

When two profiles are linked in the CMM to make a colour conversion (for example, to display a CMYK document on an RGB monitor), the CMM takes the first profile, reads the data from the device and looks up the matches in the PCS. It then takes the second profile and looks for the same values in its PCS. When it gets them, it finds the corresponding values in the colorants of the second device and delivers them to the system.

The seven classes of ICC colour profiles

ICC defines seven classes of colour profiles. Three are device profiles and four are special transformations. (of which three are rarely used, so we mention them only for the record).

Warning: The ICC talks about monochrome, three-components, CMYK and N-components profiles.  This may be understood as one-colour, three-colour and four-colour or more. however, a four-colour N-component profile and a CMYK profile are not the exactly same, since in the latter one it is assumed that the colorants are cyan, magenta, yellow and black, whereas in the former they are not necessarily such. The same stands true for an RGB and three-component profiles.

Device profiles

These are three kinds of profiles that describe how some device (real or ideal) represents or captures colour. They do this by relating their values to absolute colour spaces (the PCS mentioned above). They all define the value of their white point in the CIE XYZ 1931 space.

1. Input

The canned RGB ICC colour profile of a cheap scanner.

They describe colour spaces of devices that capture colour data: Cameras and scanners. They are identified by the internal tag "scnr" (scanner). They are basically source profiles (although they can be used as destination ones).

They are usually monochrome or RGB. They can be either matrix or table profiles.

Warning: In some more professional models of scanners (almost disappeared nowadays) we can find scanners with CMYK profiles (they are RGB devices really, but their firmware translate their data into CMYK. leaving no choice to the user).

2. Display

These profiles describe devices that display colour data with light: Monitors or projectors. They are identified by the internal tag "mntr" (monitor). They are also used to describe image and graphics editing spaces such as sRGB, Adobe RGB, ProPhoto RGB and similar, which are uniform colour spaces.

A RGB matrix ICC colour profile.

Note: A uniform colour space is one whose distances between hue variations are intended to be equal and in which neutral tones are achieved with equal values of the component colorants. This absence of irregularities makes them suitable to process and correct colour data.

Display profiles serve as source and destination profiles (although in the case of specific devices, such as monitors, it is not a good idea to use them as a destination, as they are the opposite of a uniform colour space).

They are monochrome or RGB. Many of them are matrix profiles, but they can also be table-like.

3. Output

They describe devices that reproduce colour data with pigments, such as printers, printing presses, etc..

A CMYK table ICC colour profile for newsprint paper.

This profile class is identified by the tag 'prtr' (printer).

A RGB table ICC colour profile for a printer..

The devices described by these profiles print their colorants with one (monochrome), two, three, four (CMYK), or five or more inks (multi-tone or multi-channel). There are even some that define their data in RGB.

A multitone ICC colour profile for a printer..

Warning: Multi-tone, multi-channel or extended gamut profiles are a type of N-component profiles in their colorants (mentioned above). They are still unusual but the popularisation of CMYKOGV printing systems is likely to make them more frequent.

Due to the way they mix their colorants to obtain the hues, they are always table profiles.

Warning: Unlike input or display profiles, an output profile does not only describe the device used for the printed output. It also describes the set formed by the device, the printing medium (newsprint, coated paper, etc.), the ink and even the chosen lineature. If one of the elements changes, the profile no longer describes the set, and thus becomes invalid.

Output profiles serve as source and destination profiles.

Warning: In output profiles the presence of the six conversion purpose tables mentioned above is mandatory, but it is not unusual that some of them have the same data (especially perceptual and saturation tables), that's why the application of these rendering intents may give sometimes exactly the same results.

Colour profiles for special transformations

ICC specifications include four classes of specialised profiles to define encapsulated colour conversions (i.e. once the conversion parameters are set, they cannot be changed and the profile always performs the same conversion).

Warning: In print the relevant ones are the DeviceLink profiles, the other classes are mentioned merely to indicate their existence, as they are quite unusual.

1. DeviceLink

These are special colour profiles that encapsulate a conversion between the colour profiles of two devices (hence the name).

A DeviceLink ICC colour profile.

This kind of profile, oriented to colour conversions in printing, allows repurposing jobs prepared for one type of printing to a different one (with the consequent changes of inks, paper, etc.), reducing the TAC of jobs already in CMYK, etc.

This type of profile is identified by the internal tag "link".

Due to the importance of their use, DeviceLink profiles are discussed in more detail on another page.

2. Abstract

An abstract ICC colour profile.

They are used for abstract transformations, that is: Between colour spaces that do not represent devices and are performed between PCS and PCS (two types of Lab, for example, or between two instances of the same RGB to perform a toning). They cannot be embedded in documents and they are rarely used.

This kind of profiles is identified by the tag "abst" (abstract).

3. Named color

They are used for the conversion of named colours (such as Pantone 300 C) to PCS colour spaces (CIELAB 1976, for example). They are unusual.

This class of profiles is identified by the tag "nmcl" (named colour).

4. Color-space

These profiles are used to make conversions between colour spaces that do not define devices (from LCH to CIELAB 1976, for example). They are very unusual.

This class of profiles is identified by the internal tag "spc" (space).

Colour profiles from a practical point of view

The ICC classification of profiles is not the only one. From the point of view of its use, colour profiles can be divided into four types: (1) device-specific profiles, (2) generic profiles, (3) editing colour spaces and (4) standardised profiles.

1. Colour profiles of specific devices

These are device profiles that describe specific machines at a given point in time, such as a company monitor calibrated this week, a press calibrated two months ago, a printer from a group of devices, and so on.

These types of profiles, when well done, make the best possible use of the characteristics of the device they describe, squeezing the most out of its colour spaces. Their problem is that they capture all the unevenness and peculiarities of the device.

2. Generic colour profiles

They are similar to the previous ones but for the important detail that they are intended to serve as a general profile for any device of the type they describe. They are often provided by manufacturers of machines such as monitors, cameras, scanners or consumer printers for customers who do not have calibration and profiling tools (this is why sometimes they are called "canned" profiles).

Although their value is questionable, they may be better than no profiling at all. They depend very much on how much quality the described device has or how much the user alters its expected behaviour by touching buttons here and there. Here applies the universal principle that "two wrongs do not make a right but a wrong greater than the sum of both".

3. 'Ideal' profiles (colour editing spaces)

These colour profiles do not describe specific devices. They try to describe uniform colour spaces in which neutral colours are obtained as much as possible with an equal amount of all colorants. They are designed  thus because they are intended to be used to process, modify and archive images with as little deterioration as possible.

Some of them aim to portrait the average behaviour of consumer devices (for example, all versions of the sRGB space); there are those which seek a balance between a reasonable colour range and a good editing behaviour (AdobeRGB and ECI RGB); there are those that try to be as wide as possible (WideRGB or ProPhoto), etc.

Most of them are matrix profiles and their colour space is RGB. Some of them have more than one version (which may explain some differences in the results when we use them).

4. Standardized colour profiles

This group of profiles reflects the maturity of the use of colour management with profiles. They are based on the idea of bringing devices and system components to known and predictable behavioural situations that are reflected in publicly available colour profiles created by reputed organisations in this field.

This means that instead of making a device to behave in its best possible stable way and then calibrating it to create the profile (which will get the most out of this device), we adjust it to conform its behaviour to objective parameters (corresponding to known conditions) that can be measured.

Once a device reaches this parametres, we characterize and profile it. Then we check that its behaviour meets the desired standard by comparing the results with the theoretical values of the standard and of the printing conditions (all of which are public in detail).

With this aim achieved, the device is said to conform to the standard and so, the standardised profile represents it. This standard profile, which is available worldwide, is free for public use.

This system of working with known standards, supported by organisations such as ISO, ECI and others, was a huge advance in graphic arts and the printing world.

A standard CMYK ICC colour profile.

Standardized colour profiles can be of various types, but they are especially important as output profiles because they bring order to an otherwise chaotic field. An example of this type of profiles is ISONewspaper26v4, a profile for newsprint on web presses (meaning newspapers with a sizeable print run).

Standardized printing conditions and colour profiles

Standardized colour profiles correspond to standardised printing conditions, which have a name (such as FOGRA 39, FOGRA 27 or CGATS TR 006, for example) and whose data are publicly available. This correspondence does not mean that a printing condition results in a single profile, which is the only one that  can reflect it.

It is possible (and rather common), that one single printing condition corresponds to several profiles that cover different needs (such as different TAC or black generation parametres). For example: there are two  well-known standardized profiles for FOGRA 39 printing conditions: One with a maximum TAC of 300% and another one with 260%.

In fact, those organisations that publish standardised profiles quite often release improved revisions of their profiles without changing the printing conditions referred in them or the needs they meet (such as maximum TAC).