Color management
186108
222579941
2008-06-30T02:39:47Z
70.71.206.23
'testers/users' no longer valid, Firefox 3 is now publically released
In digital imaging systems, '''color management''' is the controlled conversion between the [[color]] representations of various devices, such as [[image scanner]]s, [[digital camera]]s, monitors, TV screens, film printers, [[computer printer]]s, 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|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 [[ICC profile|color profiles]] for the devices and ''working space'' (color space the user edits in).
There are other approaches to color management besides using [[ICC profile]]s. 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 LUT]]s ([[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.<ref>{{cite web
| first = Mark
| last = Fairchild
| title = A Color Scientist Looks at Video
| url = http://www.cis.rit.edu/fairchild/PDFs/PRO29.pdf
| accessdate = 2008-05-09
}}</ref>
==Hardware==
=== 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 [[colorimeter]]s and [[spectrophotometer]]s. 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''.
===Calibration===
{{main|Color 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.
==Color profiles==
=== Embedding ===
Image formats themselves (such as [[TIFF]], [[JPEG]], [[Portable Network Graphics|PNG]], [[Encapsulated PostScript|EPS]], [[Portable Document Format|PDF]], and [[Scalable Vector Graphics|SVG]]) may contain embedded [[ICC Profile|color profiles]], but are not required to do so by the image format. The [[ICC|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.
=== Working spaces ===
Working spaces, such as [[sRGB]] or [[Adobe RGB color space|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 (photography)|clipping]].<ref>{{cite web|first=Andrew|last=Rodney|title=The role of working spaces in Adobe applications|url=http://www.adobe.com/digitalimag/pdfs/phscs2ip_colspace.pdf|publisher=Adobe|series=Technical Paper|accessdate=2008-05-09}}</ref> This trade-off is a consideration for the critical image editor.
==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.
=== Profile Connection Space ===<!-- yes, it's upper case -->
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.<ref name=rodney>{{citation|first=Andrew|last=Rodney|title=Color Management for Photographers|year=2005|publisher=[[Focal Press]]|isbn=0240806492|pages=32–33}}</ref>
=== 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.
===Rendering intent===
When the gamut of source color space exceeds that of the destination's, saturated colors are liable to become [[clipping (photography)|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.<ref name=rodney/>
; 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.
== Implementation ==
===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]], [http://www.adobe.com/support/downloads/detail.jsp?ftpID=3618 Adobe CMM], [[LittleCMS]], and [http://www.argyllcms.com/ ArgyllCMS].
===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]].<ref>Upton, Steve (February 2008). [http://www.colorwiki.com/wiki/Vista%27s_New_Color_Management_System_-_WCS Vista's New Color Management System: WCS].</ref> WCS supplements the ''Image Color Management'' (ICM) system in Windows 2000 and Windows XP, originally written by [[Heidelberger Druckmaschinen|Heidelberg]].<ref>{{cite web|title=Microsoft Licenses LinoColorCMM Technology To Improve Color Management in Windows|url=http://www.microsoft.com/presspass/press/1997/apr97/linopr.mspx|date=1997-04-23|accessdate=2008-05-08|author=Microsoft}}</ref><ref>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".</ref>
[[Apple Inc.|Apple's]] [[Mac OS X]] and the classic [[Mac OS]] have long had a color management module, [[ColorSync]].
The [[Linux]] operating system uses [[ICC profile]]s, but support for [[Linux color management|color management on this platform]] is still quite nascent, with only a handful of applications supporting, some through [[LittleCMS]].
===Application level===
Most web browsers ignore color profiles.<ref>{{cite book |author=Smith, Colin; Kabili, Jan |title=How to Wow: Photoshop CS2 for the Web|publisher=Peachpit Press |location=Berkeley, CA |year=2005 |pages=13 |isbn=0-321-39394-5 |url=http://books.google.com/books?id=I1H0fNcAPHcC&pg=PT17&dq=web+browsers+ignore+%22icc+profiles%22&ei=FXsjSIKHBae-ygSmmJjGDQ&client=firefox-a&sig=xr_yp7U_lzTv6M3KeChpRgAkTX8 |doi= |accessdate=2008-05-08|quote=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.}}</ref> Notable exceptions are Safari, starting with version 2.0, and Firefox starting with version 3.0. Although disabled by default in Firefox 3.0, users can enable color management by using an add-on,<ref>[https://addons.mozilla.org/en-US/firefox/addon/6891 Color Management add-on] by Sean Hayes.</ref> or setting the value 'gfx.color_management.enabled' to 'true' in Firefox 3's '[[about: URI scheme|about:config]]' file.<ref>[http://www.dria.org/wordpress/archives/2008/04/29/633/ Firefox 3: Color profile support (oh the pretty, pretty colors)], Deb Richardson, Mozilla Corporation.</ref>
==See also==
* [[Color chart]]
==References==
<references/>
==Further reading==
* {{cite book
| author = Fraser, Bruce
| coauthors = Bunting, Fred; Murphy, Chris
| year = 2004
| title = Real World Color Management
| publisher = Peachpit Press
| location = Berkeley, CA, USA
| isbn = 0-201-77340-6
}}
* {{cite book
| last = Schwartz
| first= Charles S.
| year = 2004
| title = Understanding Digital Cinema: A Professional Handbook
| publisher = Focal Press
| isbn = 978-0240806174
}}
* {{cite book
| last = Morovic
| first= Jan
| year = 2008
| title = Color Gamut Mapping
| publisher = Wiley
| isbn = 978-0470030325
}}
==External links==
* [http://www.normankoren.com/color_management.html Color management and color science: Introduction] by Norman Koren.
* [http://www.colorwiki.com ColorWiki] by Steve Upton.
[[Category:Color]]
[[Category:Computer graphics]]
[[de:Farbmanagement]]
[[ja:カラーマネージメントシステム]]
[[it:Gestione digitale del colore]]
[[no:Fargestyring]]
[[tr:Renk Yönetimi]]