From 22f703cab05b7cd368f4de9e03991b7664dc5022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rg=20Frings-F=C3=BCrst?= Date: Mon, 1 Sep 2014 13:56:46 +0200 Subject: Initial import of argyll version 1.5.1-8 --- doc/ColorManagement.html | 271 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 271 insertions(+) create mode 100644 doc/ColorManagement.html (limited to 'doc/ColorManagement.html') diff --git a/doc/ColorManagement.html b/doc/ColorManagement.html new file mode 100644 index 0000000..fa7b656 --- /dev/null +++ b/doc/ColorManagement.html @@ -0,0 +1,271 @@ + + + + + Color Management + + + +

A Concise Introduction to + Color Management and ICC profiles
+

+ [Note that there are many other, perhaps more comprehensive and + expansive "introduction to Color Management" resources on the web. + Google is your friend...]
+
+ Color management is a means of dealing with the fact that color + capture and output devices such as Cameras, Scanners, Displays and + Printers etc., all have different color capabilities and different + native ways of communicating color. In the modern world each device + is typically just part of a chain of devices and applications that + deal with color, so it is essential that there be some means for + each of these devices to communicate with each other about what they + mean by color.
+
+ Successful color management allows colors to be captured, + interchanged and reproduced by different devices in a consistent + manner, and in such a way as to minimize the impact of any technical + limitation each device has in relation to color. It must also deal + with the interaction of human vision and devices, allowing for such + fundamental vision characteristics as white point adaptation and + other phenomena. It should also allow the human end purposes to + influence the choice between  tradeoffs in dealing with + practical device limitations.
+
+ The key means of implementing color management is to have a way of + relating what we see, to the numbers that each device uses to + represent color.
+
+ The human eye is known to have 3 type of receptors responsible for + color vision, the long, medium and short wavelength receptors. + Because there are 3 receptors, human color perception is a 3 + dimensional phenomena, and therefore at least 3 channels are + necessary when communicating color information. Any device capable + of sensing or reproducing color must therefore have at least 3 + channels, and any numerical representation of a full range of colors + must have at least 3 components and hence may be interpreted as a + point in a 3 dimensional space. Such a representation is referred to + as a Color Space.
+
+ Typically color capture and output devices expose their native color + spaces in their hardware interfaces. The native color space is + usually related to the particular technology they employ to capture + or reproduce color. Devices that emit light often choose Red Green and Blue (RGB) wavelengths, as these are particularly + efficient at independently stimulating the human eye's receptors, + and for capture devices R,G & B are roughly similar to the type + of spectral sensitivity of our eyes receptors. Devices that work by + taking a white background or illumination and filtering out (or subtracting) colors tend to use + Cyan, Magenta, and Yellow (CMY) filters or colorants to + manipulate the color, often augmented by a Black channel (CMYK). This is because a Cyan + filters out Red wavelengths, Magenta filters out Green wavelengths, + and Yellow filters out Blue wavelengths, allowing these colorants to + independently control how much RGB is emitted. Because it's + impossible to make filters that perfectly block C, M or Y + wavelengths without overlapping each other, C+M+Y filters together + tend to let some light through, making for an imperfect black. + Augmenting with an additional Black filter allows improving Black, + but the extra channel greatly complicates the choice of values to + create any particular color.
+
+ Many color devices have mechanisms for changing the way they respond + to or reproduce color, and such features are called Adjustments, or Calibration. Such features can + be very useful in adapting the device for use in a particular + situation, or for matching different instances of the device, or for + keeping its behavior constant in the face of component or + environmental changes. Sometimes there may be internal + transformations going on in the device so that it presents a more or + less expected type of color space in its hardware interface. [ Some + sophisticated devices have built in means of emulating the behavior + of other devices, but we won't go into such details here, as this is + really just a specialized implementation of color management. ]
+
+ To be able to communicate the way we see color, a common "language" + is needed, and the scientific basis for such a language was laid + down by the International Commission on Illumination (CIE) in 1931 + with the establishment of the CIE 1931 XYZ color space. This provides a means of predicting + what light spectra will match in color for a Standard Observer, who + represents the typical response of the Human eye under given viewing + conditions. Such a color space is said to be Device Independent since it is + not related to a particular technological capture or reproduction + device. There are also closely related color-spaces which are direct + transformations of the XYZ space, such as the L* a* b* space which is a more + perceptually uniform device independent colorspace.
+
+ As mentioned above, the key to managing color is to be able to + relate different color spaces so that they can be compares and + transformed between. The most practical approach to doing this is to + relate all color spaces back to one common colorspace, and the CIE + XYZ colorspace is the logical choice for this. A description of the + relationship between a devices native color space and an XYZ based + colorspace is commonly referred to as a Color Profile. As a practical issue when dealing + with computers, it's important to have a common and widely + understood means to communicate such profiles, and the ICC profile format standardized + by the International Color Consortium is today's most widely + supported color profile format.
+
+ The ICC profile format refers to it's common color space as the Profile Connection Space (PCS), which is closely based on + the CIE XYZ space. ICC profile are based on a Tagged format, so they + are very flexible, and may contain a variety of ways to represent + profile information, and may also contain a lot of other optional + information.
+
+ There are several fundamental types of ICC profiles. Device and Named profiles represent color anchor points. Device Link and Abstract profiles represent journeys between anchor + points.
+
+ Device
+
+     These primarily provide a translation between + device space and PCS. They also typically provide a translation in + the reverse direction, from PCS to device space. They provide an + "color anchor" with which we are able to navigate our way around + device color. The mechanisms they use to do this are discussed in + more detail below.
+
+ Device Link
+
+     A Device Link profile provides a transformation + from one Device space to another. It is typically the result of + linking two device profiles, ie. Device A -> PCS -> Device B, + resulting in a direct Device A -> Device B transformation.
+
+ Abstract
+
+     An abstract profile contains a transformation + define in PCS space, and typically represents some sort of color + adjustment in a device independent manner.
+
+ Named
+
+     A Named profile is analogous to a device Profile, + but contains a list of named colors, and the equivalent PCS and + possibly Device values.
+
+ Most of the time when people talk about "ICC profiles" they mean Device Profiles. Profiles rely + on a set of mathematical models to define the translation from one + colorspace to another. The models represent a general framework, + while a specific profile will define the scope of the model as well + as it's specific parameters, resulting an a concrete translation. + Profiles are typically used by CMMs + (Color Management Modules), which are a piece of software (and + possibly hardware) that knows how to read and interpret an ICC + profile, and perform the translation it contains.
+
+ Often the function of a CMM will be to take two device profiles, one + representing the starting point and the other representing the + destination, and create a transformation between the two and + applying it to image pixel values.
+
+ Two basic models can be used in ICC profiles, a Matrix/shaper model and a cLUT (Color Lookup Table) model. + Models often contain several optional processing elements that are + applied one after the other in order to provide an overall + transformation.
+
+ The Matrix/Shaper model consists of a set of per channel lookup + curves followed by a 3x3 matrix. The curves may be defined as a + single power value, or as a one dimensional lookup table which + encodes a discretely represented curve (Lut). The matrix step can + only transform between 3 dimensional to 3 dimensional color spaces.
+
+ The cLUT model consists of an optional 3x3 matrix, a set of per + channel one dimensional LUTs, an N dimensional lookup table (cLUT) + and a set of per channel one dimensional LUTs. It can transform from + any dimension input to any dimension output.
+
+ All Lookup Tables are interpolated, so while they are defined by a + specific set of point values, in-between values are filled in using + (typically linear) interpolation.
+
+ For a one dimensional Lookup table, the number of points needed to + define it is equal to its resolution.
+
+ For an n-dimensional cLUT, the number of points needed to define it + is equal to it's resolution taken to the power of the number of + input channels. Because of this, the number of entries climbs rapidly with resolution, and + typical limited resolution tables are used to constrain profile file + size and processing time. cLUT's permit detailed, independent + control over the the transformation throughout the colorspace.
+
+ Limitations of CIE XYZ
+
+ Although CIE XYZ colorspace forms an excellent basis for connecting + what we can measure with what we see in regard to color, it has its + limitations. The primary limitation is that the visual match between + two colors with the same XYZ values assumes identical viewing + conditions. Our eyes are marvelously adaptable, automatically + adjusting to different viewing conditions so that we are able to + extract the maximum amount of useful visual information. There are + many practical situations in which the viewing conditions are not + identical - e.g. when evaluating an image against our memory of an + image seen in a different location, or in viewing images side by + side under mixed viewing conditions. One of the primary things that + can change is our adaptation to the white point of what we are + looking at. This can be accounted for in XYZ space by applying a + chromatic adaptation, which mimics the adaptation of the eye. The + ICC profile format PCS space by default adapts the XYZ values to a + common white point (D50), to facilitate ease of matching colors + amongst devices with different white points. Other viewing condition + effects (ie. image luminance level, viewing surround luminance and + flare) can be modeled using (for example) using CIECAM02 to modify + XYZ values.
+
+ Another limitation relates to spectral assumptions. CIE XYZ uses a + standard observer to convert spectral light values into XYZ values, + but in practice every observer may have slightly different spectral + sensitivities due to biological differences, including aging. + (People with color deficient vision may have radically different + spectral sensitivities.) Our eyes also have a fourth receptor + responsible for low light level vision, and in the eye's periphery + or at very low light levels it too comes to play a role in the color + we perceive, and is the source of a difference in the eye's spectral + sensitivity under these conditions.
+
+ Another spectral effect is in the practice of separating the color + of reflective prints from the light source used to view them, by + characterizing a prints color by it's reflectance. This is very + convenient, since a print will probably be taken into many different + lighting situations, but if the color is reduced to XYZ reflectance + the effect of the detailed interaction between the spectra of the + light source and print will lead to inaccuracies.
+
+
+
+
+
+
+
+
+
+
+
+
+ + -- cgit v1.2.3