Sophie

Sophie

distrib > Mageia > 3 > x86_64 > by-pkgid > c698e139692cc2bb6cb3f9a3874803a9 > files > 112

argyllcms-1.4.0-4.mga3.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
    <title>Color Management</title>
    <meta content="Graeme W. Gill" name="author">
  </head>
  <body>
    <h2 style="text-decoration: underline;">A Concise Introduction to
      Color
      Management and ICC profiles<br>
    </h2>
    [Note that there are many other, perhaps more comprehensive
    and expansive "introduction to Color Management" resources on the
    web. Google is
    your friend...]<br>
    <br>
    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 links
    in the chain to communicate with each other about what they mean by
    color.<br>
    <br>
    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. Ideally it also allows some influence of the human
    purposes behind the color, in dealing with the tradeoffs involved in
    practical devices.<br>
    <br>
    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.<br>
    <br>
    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 3
    components and hence may be interpreted as a point in a 3
    dimensional
    space. Such a representation is referred
    to as a <span style="font-weight: bold;">Color Space</span>. <br>
    <br>
    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 <span style="font-weight:
      bold;">Red
      Green</span> and <span style="font-weight: bold;">Blue</span> (<span
      style="font-weight: bold;">RGB</span>) wavelengths, as these are
    particularly efficient at independently stimulating the human eye's
    receptors, and for capture devices R,G &amp; B are roughly similar
    to
    the type of spectral sensitivity the eyes receptors have. Devices
    that
    work by taking a white background or illumination and filtering out
    (or
    <span style="font-weight: bold;">subtracting</span>) colors often
    use <span style="font-weight: bold;">Cyan</span>, <span
      style="font-weight: bold;">Magenta</span>, and <span
      style="font-weight: bold;">Yellow</span> (<span
      style="font-weight: bold;">CMY</span>) filters or colorants to
    manipulate the color, often augmented by a <span
      style="font-weight: bold;">Black</span> channel (<span
      style="font-weight: bold;">CMYK</span>). This is because a Cyan
    filter filters out Red wavelengths, Magenta filters out Green
    wavelengths, and Yellow filters out Blue wavelengths. 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. <br>
    <br>
    Many color devices have mechanisms for changing the way they respond
    to
    or reproduce color, and such features are called <span
      style="font-weight: bold;">Adjustments</span>, or <span
      style="font-weight: bold;">Calibration</span>.
    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. ]<br>
    <br>
    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 <span
      style="font-weight: bold;">XYZ</span> 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 <span style="font-weight: bold;">Device Independent</span>
    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 <span
      style="font-weight: bold;">L* a* b*</span> space which is a more
    perceptually uniform device independent colorspace.<br>
    <br>
    As mentioined 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 <span style="font-weight: bold;">Color Profile</span>. 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 <span
      style="font-weight: bold;">ICC</span> profile format standardized
    by
    the <b>International Color Consortium</b> is today's most widely
    supported color profile format.<br>
    <br>
    The ICC profile format refers to it's common color space as the <span
      style="font-weight: bold;">Profile Connection Space</span> (<span
      style="font-weight: bold;">PCS</span>), 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.<br>
    <br>
    There are several fundamental types of ICC profiles:<br>
    <br>
    <span style="font-weight: bold;">Device</span><br>
    <br>
    &nbsp;&nbsp;&nbsp; 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 are discussed in more
    detail
    below.<br>
    <br>
    <span style="font-weight: bold;">Device Link</span><br>
    <br>
    &nbsp;&nbsp;&nbsp; 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 -&gt; PCS -&gt; Device B, resulting in
    a
    Device A -&gt; Device B transformation.<br>
    <br>
    <span style="font-weight: bold;">Abstract</span><br>
    <br>
    &nbsp;&nbsp;&nbsp; An abstract profile contains a transformation
    define
    in PCS space, and typically represents some sort of adjustment in a
    device independent manner.<br>
    <br>
    <span style="font-weight: bold;">Named</span><br>
    <br>
    &nbsp;&nbsp;&nbsp; A Named profile is analogous to a device Profile,
    but contains a list of named colors, and the equivalent PCS values.<br>
    <br>
    Most of the time when people talk about "ICC profiles" they mean <span
      style="font-weight: bold;">Device Profiles</span>. Profiles rely
    on a
    set of mathematical models to define a transformation 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 transformation.
    Profiles
    are typically used by <span style="font-weight: bold;">CMM</span>s
    (Color Management Modules), which is a piece of software (and
    possibly hardware) that knows how
    to read and interpret an ICC profile, and perform the transformation
    it
    contains.<br>
    <br>
    Two basic models can be used by ICC profiles, a <span
      style="font-weight: bold;">Matrix/shaper</span> model and a <span
      style="font-weight: bold;">cLUT</span> (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. <br>
    <br>
    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 or discretely
    represented curve (Lut). The matrix step can
    only transform between 3 dimensional to 3 dimensional color spaces.<br>
    <br>
    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.<br>
    <br>
    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.<br>
    <br>
    For a one dimensional Lookup table, the number of points needed to
    define it is equal to its resolution.<br>
    <br>
    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 <span class="st"><em></em></span>climbs
    rapidly with
    resolution, and typical limited resolution tables are used to
    constrain
    profile file size and processing time.<br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
    <br>
  </body>
</html>