Colour Management Cheat Sheet
Simon Garrett
Some notes on colour management. This is a simplified overview. Terminology is defined in the Glossary below, and there is a Bibliography for more reading. For some quick recommendations on workflow, see Quick Recommendations below.
Roughly: the process of mapping the colours in an image to the colour space, white point and tone curve required for a particular physical device. A colour space is the range of colours that a device can display or capture. (See the Glossary below for more detailed definitions of “colour space” and other terms used.)
Every device (camera, monitor, printer…) has its own colour characteristics, including colour space, white point and tone (gamma) curve. Almost every device is different. If you take an image from one device and send the RGB data to another device, the colour, white point, and tone curve will almost certainly be wrong for the receiving device. Colour management is the process of mapping RGB data from one device so as to get the right colours on another device.
Another way of putting that: an RGB image will have RGB data appropriate for the colour space etc. of one particular device, and the image will look right only on that one device, or other devices with identical colour characteristics. To get the colours right on any other device, the RGB data in the image has to be mapped (colour-managed) to the characteristics of the device.
For storage, images are usually converted to standard colour spaces such as sRGB and Adobe RGB. You can think of these standard colour spaces as representing standard “virtual devices”. But remember that few real devices will exactly match any of these standards, so if you don’t colour manage (convert to the actual device characteristics) then colours are likely to be inaccurate.
sRGB was designed to match typical monitors, so sending sRGB images direct to a monitor (without colour management) will usually result in very roughly the right colours. Similarly, without colour management, most printers will assume the image is sRGB, but will often try to “improve” the colour (usually by increasing the colour saturation or vibrance and contrast to get “nice” colours). Printer manufacturers know that most people prefer pretty colours to accurate colours; more serious photographers might prefer accuracy!
The only way to get
accurate and (more importantly) consistent colour is to use colour
management. To do this, you need a
“colour profile” for each device you are going to use (typically for the
monitor and printer), and you need software that understands how to use them.
The previous paragraph is the most important in this document. Without colour management you have no idea whether your camera, editor, monitor, printer etc. are producing correct colour, or whether you have just compensated in one place for errors somewhere else.
Contains the measurements of the characteristics of a device to enable colour management. Main components:
1. The colour space of the device
2. The white point
3. The tone curve (also called a “gamma curve”)
A profile may also contain calibration information as well as the profile information above. Profile information simply describes the characteristics of a device, but calibration information is used to bring the device to a predefined state. The calibration information is usually in the form of an LUT (Look Up Table), and is normally used only for monitors.
Normally only white point and tone curve can be calibrated. That is, you can “correct” the white point and tone curve of a monitor by suitable calibration, but you can’t change the colour space. The monitor’s colour space is what it is. However, some newer especially high-end monitors such as the NEC PA241W have “3D LUTs”, which allow the monitor to emulate a colour space, provided the emulated colour space is smaller than the monitor’s native colour space. In this case colour space can be calibrated (altered) as well as white point and tone curve.
The format of a profile is defined by the ICC (International Color Consortium), and a profile can be in a “.icc” or “.icm” file, or it may be embedded in an image. When it’s embedded in an image (e.g. a jpeg) then it tells you what physical device the image is intended for.
NB: the most common profiles embedded in a file are standard profiles such as sRGB and Adobe RGB. These standard profiles are not profiles of real devices, but of “virtual devices”. sRGB is designed to represent a typical computer monitor, but it’s important to note that few if any monitors will exactly match sRGB.
Strictly, the calibration information mentioned above isn’t part of the ICC specification for a profile, but is an add-on devised by Adobe and others, usually in a “vcgt tag” in the profile.
In summary, a profile contains:
1. Profile information describing the colour characteristics of a device
2. Often for monitors it also includes calibration information used to alter the characteristics of the device
Confusing, isn’t it?
You need:
· a profile for the monitor, usually created by calibrating and profiling the monitor
· to get full benefit, the program displaying the image must be colour-managed; it must know about colour management
Each sample of each type of monitor is different, and they change with time, so you need to create a profile with a hardware colorimeter such as the Eye One Display 2, Color Munki or the Spyder 3. They cost from £100 upwards.
What you need to do: once you’ve got the profile, simply use colour-managed software.
Once you have associated a profile with the monitor (the colorimeter software does this for you), then colour management is automatic. Note that only colour-managed programs (like Photoshop, Lightroom, Aperture, PaintShop Pro, Qimage, Nikon Capture NX2 and other decent photo programs) benefit fully from the colour management. Most Windows-supplied programs and most web browsers don’t. As of December 2011, Firefox and Safari colour manage; Chrome and Internet Explorer – even IE9 – don’t do it properly. Furthermore, even Firefox and Safari colour manage only the primary monitor. If you have two or more monitors, they use the profile for the primary monitor for all the others. This is for simplicity: they render the image only once when the page is first downloaded and assembled.
The colour management of a monitor works in two parts:
1. Tone curve and white point calibration information is automatically loaded into the monitor driver at boot up. Virtually all programs (except some video programs such as DVD players and some games) will benefit, and get a corrected white point and tone curve. This uses the calibration information from the profile.
2. Colour space mapping is done only by colour-managed programs such as those listed above. Other programs won’t get the right colours (just as when the monitor isn’t calibrated and profiled). Colour space mapping uses the profile information from the profile.
Note this distinction: when a profile is associated with a monitor, most programs get the corrected white point and tone curve when they write to the monitor, but only colour-managed programs get the right colour space. (The exception is newer high-end monitors where you can calibrate the colour space too. For those, colour space calibration gets loaded with tone curve and white point at boot up, and all programs benefit.)
You can also create a basic calibration-only profile with software (without a hardware colorimeter), but this won’t provide colour space mapping – only white point and tone curve calibration. Windows 7 includes a tool to do this, and Adobe used to supply a Gamma profiler and loader. Software like this creates calibration data, as in (1) above. It helps you get roughly the right white point and tone curve in a monitor, but won’t provide colour space mapping (so the colours won’t be quite right). You need a hardware colorimeter to create colour space mapping info, as in (2) above, and a colorimeter will also result in much more accurate calibration data.
People often use the terms “calibrating” and “profiling” a monitor interchangeably, but they’re not really the same thing. The software that comes with hardware colorimeters does both, and the resulting profile contains both profile and calibration information, as described above. Software-only tools generally just do calibration – not profiling.
Note that some software-only calibration programs do a bit better. An example is “calibrize” (www.calibrize.com). Modern monitors can supply “EDID” information, which sometimes includes information about the chromaticity (colour space) of the monitor. Calibrize uses this to create colour space info in a profile, but it won’t be as accurate as measuring it with a hardware colorimeter. In fact, it may be misleading as EDID chromaticity information sometimes appears to be wrong. On most of the monitors I’ve checked (not just cheap ones) the EDID chromaticity values returned are simply the values for sRGB rather than measured values. These are unlikely to be the actual monitor chromaticity co-ordinates except for monitors with an accurate “sRGB mode”. (Hint: most “sRGB modes” are not accurate!)
You need:
· A profile for the printer (probably a specific profile for the combination of printer and paper)
· The program that is printing must know about colour management
Most photo printers come with profiles, or you can create your own with a colorimeter (the more up-market colorimeters for calibrating monitors can usually also calibrate printers). For many purposes, profiles supplied with the printer will be OK. If you’re using paper not supplied by the printer maker, the paper manufacturer may provide profiles for your printer (e.g. Harman and Ilford provide profiles for their paper for use with a variety of printers).
Colour management can usually be done by the print program or by the printer driver, but you must make sure only one does it.
What you need to do: make sure either:
1. The print program does colour management (generally better)
a. You will probably have to tell the program which printer profile to use
b. Remember to go into the printer driver settings and tell it that colour management is being used, but the program (not the printer driver) is doing it. This is probably not the default printer setting. You will have to specifically tell it that colour management is in use, but by the program (not the driver).
2. The printer does colour management
a. Turn on colour management in the printer driver. You may have to tell it the profile, or it may figure it out from the paper you are using, and you may have to tell it the colour space of the image you’re printing.
b. In the print program, remember to tell it not to do colour management, as the printer is doing it.
Remember: do 1 or 2, not both.
This happens automatically (normally). A camera sensor has its own colour characteristics, but cameras have profiles built-in, and normally convert images to sRGB unless you specify otherwise. If you shoot raw then it’s the raw convertor (rather than the camera) that does any conversion to sRGB or some other colour space.
As mentioned above, generally only colour-managed programs (photo editors etc.) can do full colour management. But why isn’t this function built in to Windows, so all programs get the right colours?
The main reason is that in general Windows doesn’t (usually can’t) know what to do. It may not know the colour space of the image data, and may not always know the profile of the device being written to. For data other than a photo image (e.g. text and graphics) colour management may be inappropriate, but Windows may not know when the image is a photo. There are other features of colour management (such as rendering intent) that Windows won’t know. Generally there are decisions on colour rendition that have to be made by the program. Windows can’t know for sure when and how to colour-manage. It has to be left to each program.
Microsoft describe Windows 7 (and Vista to some extent) as having colour management built in. Yes, it will do colour management, but only for colour-managed programs that ask it to, and tell it what to do! There’s a common myth that Windows 7 does colour management automatically for all programs. This is not the case. See for example http://msdn.microsoft.com/en-us/library/ms536554%28VS.85%29.aspx, where it says:
On a fundamental level, almost any application should be able to adjust color automatically so that its output looks the same on different monitors and printers. WCS 1.0 provides a set of functions to deliver this kind of color management that is transparent to a user and requires little overhead in the application.
WCS (Windows Color System) provides routines to implement colour management, but only those programs that invoke WCS benefit. It can be transparent to the user, but it’s not a transparent function for any program.
The Mac has had some colour management built in for many years, but again in general only colour-managed programs benefit.
If the workflow is not colour-managed (profiled and calibrated monitor, colour-managed software, profiles for the printer), then stick to sRGB. Why?
· sRGB includes nearly all the colours in nearly all images – you’re missing little with sRGB. Most naturally-occurring colours are within sRGB.
· Few monitors show more than sRGB, and if you try to display Adobe RGB images, ALL colours on the screen will be wrong on most monitors unless they’re profiled.
· If you’re using jpeg (8-bit), you get more accurate editing in sRGB than Adobe RGB. The tonal gradations are finer with sRGB.
· Even without colour management, most things default approximately to sRGB, and most normal monitors have a colour space close to sRGB. You probably won’t get accurate colours without colour management, but sRGB will give the best approximation.
If uploading to the web, use sRGB.
· Most monitors can handle only sRGB, and have a colour space of approximately sRGB.
· Most browsers aren’t colour managed
· If you put Adobe RGB images on the web, the colours will be wrong on 99.9% of browsers.
If you shoot jpeg, probably stick to sRGB, even with a colour-managed workflow:
· The data is 8 bits, so sRGB gives most precision
· Sticking to sRGB avoids conversions in 8 bit (which leads to inaccuracies)
· If you photograph in jpeg, might as well start in sRGB and stay there
If you shoot jpeg, you may benefit from using Adobe RGB if all of these apply:
· You mainly print on a quality printer (>4 ink), and the printer understands Adobe RGB.
· Either you have a profiled monitor, or you don’t edit colours (as the colour will almost certainly be wrong on unprofiled monitors with Adobe RGB images, so it’s dangerous to try to edit)
· You have a lot of highly saturated colours (especially blues and greens) in your pictures.
Note that if you photograph in sRGB, there is no point converting to Adobe RGB. You can’t add colours that weren’t in the original sRGB image.
If you have a wide-gamut monitor, you really must have a colour-managed workflow (profiled and calibrated monitor, colour-managed software), and bear in mind that unmanaged software (i.e. most non-photographic software) will display the wrong colours. Why?
· Most colours displayed on a PC screen are assumed to be sRGB.
· Most software is unmanaged, including the Windows desktop and most Windows software.
o The result: the colours will be as expected only on an sRGB monitor (most monitors except so-called wide-gamut monitors approximate to sRGB).
o A wide-gamut monitor will display over-saturated colours unless it is profiled (NB, software calibration is not enough) and even then it will display correct colour only with colour-managed software.
If you shoot raw:
· Do as much editing as possible in 16 bit or more (which implies editing the raw file or converting to something like 16 bit TIF or PSD format). Convert to jpeg (if necessary) only as a last step.
· While in 16 bit, keep a wide colour space (Adobe RGB or ProPhoto RGB), and if you need to convert to another colour space, do it in 16 bits.
· If you need to export to jpeg, convert to sRGB (before converting to jpeg) unless it’s to send the file to a printer that can make use of Adobe RGB, or are preparing the image for a print service or publisher that needs a specific colour space (in which case convert to the appropriate colour space).
· And you need a colour-managed workflow: calibrated and profiled monitor, colour-managed software, profile(s) for the printer. If you don’t have a colour-managed workflow, you might as well convert the raw files to sRGB as the first step (and lose some of the benefits of raw).
“I have a monitor with a factory-calibrated sRGB mode, such as the NEC PA241W. Should I still calibrate/profile my monitor, or just set the monitor profile to sRGB?”
· The reviews I’ve read suggest that pre-calibrated sRGB modes are not quite as accurate as profiling/calibrating these monitors in their native modes.
· However, for non-photographic work with non-managed software, sRGB modes may make the display look better.
|
Adobe RGB |
A colour space like sRGB, but with a wider gamut (more colours). In theory the gamut is about 40% larger than sRGB, but the extra colours (mainly cyans and greens) occur in few (if any) pixels in most photos. Some photo printers have colour spaces approximating to Adobe RGB, but few monitors can display colours much outside the sRGB colour space. |
|
Calibration |
The process of adjusting or correcting a device’s characteristics to defined values (as opposed to “profiling”) |
|
Colour gamut |
The set of colours within a colour space |
|
Colour management |
The process of converting RGB values in an image from one colour profile to another. |
|
Colour profile |
Information describing the colour characteristics of a device, including colour space, white point and tone (gamma) curve. Typically contained in an .icc or .icm file, and can be embedded in an image file (e.g. jpeg). May also contain calibration information, although this isn’t strictly “profile” information. |
|
Colour space |
A range of colours; typically, the range of colours that a device can display or capture. Note that the term “colour space” is sometimes used more broadly to include also the white point and tone curve as well as the range of colours. |
|
Gamma Curve |
See tone curve |
|
LUT |
Look Up Table. Calibration information to correct a monitor’s white point and tone curve is normally stored in an LUT. The LUT is loaded into the printer driver at system boot time, and the driver then corrects the white point and tone curve to the required values. |
|
Profiling |
The process of measuring a device colour characteristics (as opposed to “calibration”) |
|
ProPhoto RGB |
A very wide gamut colour space used internally by some photo editor programs. |
|
Raw format |
The format of image data from a camera sensor before it’s been converted to a standard profile such as sRGB. |
|
sRGB |
A standard colour space, tone curve and white point designed to be typical of low and medium priced monitors. Although it has the smallest colour gamut (range of colours) of any of the standard colour spaces, it contains all the colours found in most photos. It lacks some very highly saturated colours (mainly cyans and greens but some bright reds) – but these are not very common in nature. |
|
Tone curve |
The light output for a device (or light input for a sensor) is not usually proportional to R, G and B values. In other words, the graph of light input or output against R, G and B value is not linear (not a straight line). The tone curve defines the shape of the line. One common type of curve is a “gamma curve”, where the output is related to RGB value raised to the power n (where n is typically 2.2 or occasionally 1.8). There are also advantages in a non-linear tone curve with 8-bit data (e.g. jpeg files) in reducing quantisation noise; the sRGB standard uses a tone curve similar to 2.2 gamma. |
|
White point |
The colour of “white”. That is, the colour obtained when R, G and B values are all 255. This is often stated as a “colour temperature” such as 6500K. |
For more information see:
· http://en.wikipedia.org/ - Wikipedia – a good place to start. Try looking up:
o Color management (note US spelling)
o Color space
o sRGB
o Color Theory
o and various links from these
· http://www.colorwiki.com/wiki/ColorWiki_Home - another good source.
· http://www.color.org/index.xalter - the ICC web site – some useful white papers, but not a very complete set.
· http://regex.info/blog/photo-tech/color-spaces-page0 See especially page 3, which gives an entertaining view of colour (mis)management by many programs.
· http://www.lagom.nl/lcd-test/ - some test pages
· http://www.gballard.net/psd/go_live_page_profile/embeddedJPEGprofiles.html# more test pages
· http://www.techmind.org/colour/index.html - rather theoretical
· http://www.jiscdigitalmedia.ac.uk/stillimages/advice/colour-theory-understanding-and-modelling-colour/ - more theory
· http://www.jiscdigitalmedia.ac.uk/stillimages/advice/colour-management-in-practice/ - more of the same.
· http://www.malch.com/nikon/color.html - Malcolm Hoar’s case against Adobe RGB (I agree!)
· http://www.naturescapes.net/docs/index.php/articles/379 - How Windows Color System does colour management – but only for colour-managed programs.
· More info on Windows Color System (WCS):
o http://msdn.microsoft.com/en-us/windows/hardware/gg487409
o http://msdn.microsoft.com/en-us/library/ms536554%28VS.85%29.aspx
Various other sources of information:
· http://www.josephholmes.com/profiles.html
· http://www.drycreekphoto.com/index.html especially http://www.drycreekphoto.com/Learn/Calibration/MonitorCalibrationHardware.html for reviews of calibration kit
· http://www.normankoren.com/color_management_2.html
· http://www.booksmartstudio.com/color_tutorial/
· http://www.bythom.com/qadcolor.htm
· http://www.cambridgeincolour.com/tutorials.htm
· http://www.outbackphoto.com/color_management/
· http://www.northlight-images.co.uk/features.html especially http://www.northlight-images.co.uk/article_pages/colour_management/prints_too_dark.html (explaining common reasons why prints come out too dark)
· http://www.tftcentral.co.uk - Good reviews of monitors, including calibration tests
· http://www.prad.de/en/index.html - Another good site for monitor reviews
Simon Garrett
Updated: 15th
February 2012