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. PDF version also available.
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”. 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, in order to enable colour management. Main components:
1. The colour space of the device
2. The white point
3. The tone curve (often called a “gamma curve”)
The format of a profile is defined by the ICC (International Color Consortium), and a profile can be in a “.icm” or “.icc” 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: profiles embedded in an image file are usually 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.
A slight gotcha: cameras often don’t embed a profile in jpegs created by the camera. They rely on an old naming convention: files with names starting DSC_... contain jpegs in sRGB colour space, files with names starting _DSC… contain jpegs in Adobe RGB colour space. Sometimes they also set a “ColorSpace” Exif metadata tag inside the image. A further gotcha: Windows does not correctly report the colour space of images. If you right-click an image file and examine the image properties, it will sometimes show a “Color representation”, which appears to be based on the “ColorSpace” metadata tag, and is very often wrong. It does not report the presence or identity of any embedded profile.
A profile is a measurement of a colour space, but profiles for a monitor may also contain calibration information. 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, because it depends on the colour of the three red, green and blue primaries that create colour, and these are manufactured into the screen. However, some newer especially high-end monitors such as the NEC PA241W and others from NEC and the Eizo ColorEdge range 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 altered as well as white point and tone curve. Some other monitors (e.g. Dell 2410, 2413 and 2711) have switchable colour space: the monitors have their native space (normally wide gamut) and can be switched to narrower colour spaces (usually Adobe RGB and sRGB). You can’t calibrate the Dell 2410, 2413 or 2711 colour space, but you can switch between several built-in pre-set colour spaces. From my experience and in the tests I’ve seen, the Adobe RGB and sRGB factory-calibrated pre-set modes of wide-gamut monitors aren’t as accurate as user calibrations.
Strictly, the calibration information 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?
· 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 ColorMunki Display, i1 Display Pro or the Spyder 4. They cost from £70 / $100 upwards. Many modern monitors come with a factory calibration and a corresponding profile, and this may be an alternative to calibrating/profiling yourself. However, monitor colour spaces drift a bit over time, so it’s best to repeat the calibration and profile every few months.
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 benefit fully from the colour management. This includes Elements, Photoshop, Lightroom, Aperture, PaintShop Pro, Qimage, Nikon Capture NX2 and other decent photo programs. The “Windows Photo Viewer” supplied with Windows 7, 8 and 10 is colour managed, but not earlier ones. Perversely, Windows 10 comes with a new “Photos” app which is not colour managed, but the Windows Photo Viewer is also supplied in Windows 10.
Most Windows-supplied programs and most web browsers are not colour-managed. As of February 2016, Firefox, Safari and Chrome colour manage; Internet Explorer and Edge do not do it properly. Furthermore, even Firefox, Safari and Chrome 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 “see” a monitor with the calibrated colour space. But only colour managed programs correctly manage colour.)
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 onwards 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 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!)
· 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.
You can create profiles for cameras, but these are usually not icc profiles. For example, using a ColorChecker Passport or similar, you can create “DNG profiles” that can be used with raw files by Adobe raw software (Lightroom and ACR).
As mentioned above, generally only colour-managed programs (photo editors etc.) can do full colour management. 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 onwards (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 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 (less “posterisation”) in sRGB than Adobe RGB. The tonal gradations are finer with sRGB.
· Even without colour management, most things default approximately to sRGB, most normal monitors have a colour space close to sRGB, and most printers default to emulating sRGB. You probably won’t get accurate colours without colour management, but sRGB will give the best approximation.
· By working in one colour space (sRGB), and using devices that approximate to sRGB, you avoid the need for colour management, as no conversion from one colour space to another is needed. It won’t be as consistent or as accurate as using colour management.
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 in your pictures (especially cyans, greens and yellows).
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.
Further, if you have a wide-gamut monitor, the only fully colour-managed browser is Firefox, and you have to alter setting “gfx.color management.mode” to 1. (Google for how to do it.) This is because other browsers don’t colour manage images unless they have an embedded profile. As most web images do not have embedded profiles and are sRGB, they will look wrong on wide-gamut monitors unless colour-managed.
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 and then convert to 8-bit (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, Dell U2410, U2413, U2711, Eizo ColorEdge etc. Should I still calibrate/profile my monitor, or just set the monitor profile to sRGB?”
· The pre-calibrated sRGB modes are not normally as accurate as profiling/calibrating these monitors in their native modes. In any event, many monitors’ colours change slightly with age.
· However, for non-photographic work with non-managed software, sRGB modes may make the display look better.
“I put my pictures on the web. Most users of the web don’t use colour management (that is, don’t use colour-managed browsers, or don’t have calibrated and profiled monitors), so I’m better off not using colour-management myself, so that I see the picture as others do.”
· Alas, no! It’s quite true that most people don’t use colour management. But that doesn’t mean pictures look the same on all unmanaged systems. In fact, pictures will look different on every one! If you don’t use colour management, it doesn’t increase the likelihood that your browser will look like anyone else’s (in fact it probably reduces it).
· However, most monitors (except “wide-gamut” monitors) have a colour space that approximates to sRGB. So uploading sRGB images to the web means colours will be very roughly right on unmanaged monitors. Colours won’t generally be exactly right, but if your own monitor is unmanaged too then you’re generally increasing the chance of other people getting different colours on their browsers, compared with the colours on yours.
· People with that don’t use colour management don’t see the right colours, but they get used to how colours look on their monitor. If your system is colour managed, and your images on the web have correct colour, they are likely to look “right” on non-managed monitors – because they will look the way other correct colour looks on that monitor.
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, greens and yellows) 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.
The process of adjusting or correcting a device’s characteristics to defined values (as opposed to “profiling”)
The set of colours within a colour space
The process of converting RGB values in an image from one colour profile to another.
A mathematical model for representing colours in 3 (or 4) numbers, such as RGB, CIE xyY, LAB, CMYK. Note: RGB is not a colour space!
Adobe RGB, sRGB, and ProPhoto RGB are all RGB colour spaces. That is, they all use an RGB model.
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.
A range of colours; typically, the range of colours that a device can display or capture. Note that the term “colour space” is often used more broadly to include also the white point and tone curve as well as the range of colours. Normally a definition of a colour space includes the colour model (e.g. RGB) and the co-ordinate system used to represent colours – in other words, how the RGB values are defined.
See tone curve
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 monitor driver at system boot time, and the driver then corrects the white point and tone curve to the required values.
The process of measuring a device colour characteristics (as opposed to “calibration”)
A very wide gamut colour space used internally by some photo editor programs.
The format of image data from a camera sensor before it’s been converted to a standard profile such as 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, greens and yellows) – but these are not very common in nature.
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. Altering the tone curve alters the contrast of the image. 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.
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, or a standard such as D65 (similar to, but not the same as 6500K).
The colour space used internally by a program (e.g. a photo editor). When photo editing programs open an image, they often convert the image to a specific colour space, rather than editing them in the image’s original colour space. This specific colour space is referred to as the “Working Space”, and is almost invariably one of the standard ones such as sRGB, Adobe RGB or ProPhoto RGB. In Photoshop you can set the working space to a device-specific colour space: generally not a good idea.
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 Color Theory
o and various links from these
· http://dpbestflow.org/links/31 - a good set of introductory articles and “how to do it” guides.
· 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.techmind.org/colour/index.html - rather theoretical
· 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):
· “Color Management for Photographers” (paperback book, Focal Press) by Andrew Rodney (aka “digitaldog” on many forums). Dates to 2005, but still the best book I’ve seen on colour management from a photographer’s perspective.
Various other sources of information:
· http://www.drycreekphoto.com/index.html especially http://www.drycreekphoto.com/Learn/Calibration/MonitorCalibrationHardware.html for reviews of calibration kit
· 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
· Note that there are many test sites to test if your browser is colour-managed. Many say that IE and Edge are colour-managed. Trust me, they’re not, but you can’t easily test this from a web page. You can show the deficiencies in IE and Edge if you are using a wide-gamut monitor here: http://cameratico.com/tools/web-browser-color-management-test/ . Scroll down to a section “How far from sRGB is your display color gamut?”, and the following block should show two distinct bands of red, green and blue. If it shows only one section of each colour, and you’re using a wide-gamut monitor, then the browser is not correctly using monitor profiles.
Updated: 18th February 2016