Color management
From Wikipedia, the free encyclopedia
In digital imaging systems, color management is the controlled conversion between the color representations of various devices, such as image scanners, digital cameras, monitors, TV screens, film printers, computer printers, offset presses, and corresponding media.
The primary goal of color management is to obtain a good match across color devices; for example, a video which should appear the same color on a computer LCD monitor, a plasma TV screen, and on a printed frame of video. Color management helps to achieve the same appearance on all of these devices, provided the devices are capable of delivering the needed color intensities.
Parts of this technology are implemented in the operating system (OS), helper libraries, the application, and devices. A cross-platform view of color management is the use of an ICC-compatible color management system. The International Color Consortium (ICC) is an industry consortium which has defined an open standard for a Color Matching Module (CMM) at the OS level, and color profiles for the devices and working space (color space the user edits in).
There are other approaches to color management besides using ICC profiles. This is partly due to history and partly because of other needs than the ICC standard covers.The film and broadcasting industries make use of many of the same concepts, but they more frequently rely on boutique solutions. The film industry, for instance, uses 3D LUTs (lookup table) to characterize color. At the consumer level, color management currently applies more to images than video, in which color management is still in its infancy.[1]
Contents |
[edit] Hardware
[edit] Characterization
In order to describe the behavior of the various output devices, they must be compared (measured) in relation to a standard color space. Often a step called linearization is performed first, in order to undo the effect of gamma correction that was done to get the most out of limited 8-bit color paths. Instruments used for measuring device colors include colorimeters and spectrophotometers. As an intermediate result, the device gamut is described in the form of scattered measurement data. The transformation of the scattered measurement data into a more regular form, usable by the application, is called profiling. Profiling is a complex process involving mathematics, intense computation, judgement, testing, and iteration. After the profiling is finished, an idealized color description of the device is created. This description is called a profile.
[edit] Calibration
Calibration is like characterization, except that it can include the adjustment of the device, as opposed to just the measurement of the device. Color management is sometimes sidestepped by calibrating devices to a common standard color space such as sRGB; when such calibration is done well enough, no color translations are needed to get all devices to handle colors consistently. This avoidance of the complexity of color management was one of the goals in the development of sRGB.
[edit] Color profiles
[edit] Embedding
Image formats themselves (such as TIFF, JPEG, PNG, EPS, PDF, and SVG) may contain embedded color profiles, but are not required to do so by the image format. The International Color Consortium standard was created to bring various developers and manufacturers together. The ICC standard permits the exchange of output device characteristics and color spaces in the form of metadata. This allows the embedding of color profiles into images as well as storing them in a database or a profile directory.
[edit] Working spaces
Working spaces, such as sRGB or Adobe RGB, are color spaces that facilitate good results while editing. For instance, pixels with equal values of R,G,B should appear neutral. Using a large (gamut) working space will lead to posterization, while using a small working space will lead to clipping.[2] This trade-off is a consideration for the critical image editor.
[edit] Color translation
Color translation, or color space conversion, is the translation of the representation of a color from one color space to another. This calculation is required whenever data is exchanged inside a color-managed chain. Transforming profiled color information to different output devices is achieved by referencing the profile data into a standard color space. It is easy to convert colors from one device to a selected standard, and from that color space to the colors of another device. By ensuring that the reference color space covers the many possible colors that humans can see, this concept allows one to exchange colors between many different color output devices.
[edit] Profile Connection Space
In the terminology of the International Color Consortium, a translation between two color spaces can go through a Profile Connection Space (PCS): Color Space 1 → PCS (CIELAB or CIEXYZ) → Color space 2; conversions into and out of the PCS are each specified by a profile.[3]
[edit] Gamut mapping
Since different devices don't have the same gamut, they need some rearrangement near the borders of the gamut. Some colors need to be shifted to the inside of the gamut as they otherwise cannot be represented on the output device and would simply be clipped. For instance to print a mostly saturated blue from a monitor to paper with a typical CMYK printer will surely fail. The paper blue will not be that saturated. Conversely, the bright cyan of an inkjet printer cannot be easily presented on an average computer monitor. The color management system can utilize various methods to achieve desired results and give experienced users control of the gamut mapping behavior.
[edit] Rendering intent
When the gamut of source color space exceeds that of the destination's, saturated colors are liable to become clipped — inaccurately represented. The color management module can deal with this problem in several ways. The ICC specification includes four different rendering intents: perceptual, relative colorimetric, absolute colorimetric, and saturation.[3]
- Perceptual
- Primarily used when converting photographic images. When an image is converted, the relative distance in the color space is maintained. Colors outside of a device's color space are moved as well, in order to maintain the relative color difference.
- Absolute colorimetric
- Primarily used when simulating prints with a proof print system. The colors outside of the proof print system's possible color space are moved inside it, while those already within are not changed.
- Saturation
- Primarily used for graphics such as charts, in which colors need not be precise. Colors which are maximally saturated in the input space are guaranteed to be maximally saturated in the output space, at the expense of color accuracy.
[edit] Implementation
[edit] Color management module
Color matching module (also -method, or -system) is a software algorithm that adjusts the numerical values that get sent to, or received from, different devices so that the perceived color they produce remains consistent. The key issue here is how to deal with a color that cannot be reproduced on a certain device in order to show it through a different device as if it were visually the same color, just as when the reproducible color range between color transparencies and printed matters are different. There is no common method for this process, and the performance depends on the capability of each color matching method.
Some well-known CMMs are: ColorSync, Adobe CMM, LittleCMS, and ArgyllCMS.
[edit] Operating system level
Beginning with Windows Vista, color management in Windows is handled at the OS level through an ICC V4-compatible color management standard and API known as Windows Color System.[4] WCS supplements the Image Color Management (ICM) system in Windows 2000 and Windows XP, originally written by Heidelberg.[5][6]
Apple's Mac OS X and the classic Mac OS have long had a color management module, ColorSync.
The Linux operating system uses ICC profiles, but support for color management on this platform is still quite nascent, with only a handful of applications supporting, some through LittleCMS.
[edit] Application level
Most web browsers ignore color profiles.[7] Notable exceptions are Safari, starting with version 2.0, and Firefox starting with version 3.0. Although disabled by default in Firefox 3.0 at this beta stage, testers/users can enable color management by using an add-on,[8] or setting the value 'gfx.color_management.enabled' to 'true' in Firefox 3's 'about:config' file.[9]
[edit] See also
[edit] References
- ^ Fairchild, Mark. A Color Scientist Looks at Video. Retrieved on 2008-05-09.
- ^ Rodney, Andrew. The role of working spaces in Adobe applications. Adobe. Retrieved on 2008-05-09.
- ^ a b Rodney, Andrew (2005), Color Management for Photographers, Focal Press, pp. 32–33, ISBN 0240806492
- ^ Upton, Steve (February 2008). Vista's New Color Management System: WCS.
- ^ Microsoft (1997-04-23). Microsoft Licenses LinoColorCMM Technology To Improve Color Management in Windows. Retrieved on 2008-05-08.
- ^ The reader may verify this by examining the Properties of any ICM profile. The Profile Information tab should contain the entry "LinoColorCMM © by Heidelberger Druckmaschinen AG".
- ^ Smith, Colin; Kabili, Jan (2005). How to Wow: Photoshop CS2 for the Web. Berkeley, CA: Peachpit Press, 13. ISBN 0-321-39394-5. Retrieved on 2008-05-08. “Many designers choose not to include ICC Profiles with Web files because most Web browsers can't read them and they increase the size of a file.”
- ^ Color Management add-on by Sean Hayes.
- ^ Firefox 3: Color profile support (oh the pretty, pretty colors), Deb Richardson, Mozilla Corporation.
[edit] Further reading
- Fraser, Bruce; Bunting, Fred; Murphy, Chris (2004). Real World Color Management. Berkeley, CA, USA: Peachpit Press. ISBN 0-201-77340-6.
- Schwartz, Charles S. (2004). Understanding Digital Cinema: A Professional Handbook. Focal Press. ISBN 978-0240806174.
- Morovic, Jan (2008). Color Gamut Mapping. Wiley. ISBN 978-0470030325.
[edit] External links
- Color management and color science: Introduction by Norman Koren.
- ColorWiki by Steve Upton.

