Graphic Arts Workflow Lecture 12
Color Management Scanner Digital Camera Mobile Phone
Device independent Color Representation ICC Profiles Gamut Mapping
Image retouching Page Layout
DFE
Proofer Digital Printers Press
Color Management Images look different on each device.
Original Image Scanner Image Printer Image
Images look different on each device. Color Management Device Differences
Variations are due to: • Spectral distribution of the device components Difference in Spatial Resolutions (phosphors, filters, sensors)’ • Viewing conditions (dark/light, indoor/outdoors, illumination spectra) Printers 300-1200 dpi 1-4 intensity bits • media CRT Pitch 0.27 µ, 72 ppi, (projected/reflected light or print). TV 480 lines (analog) LCD 100 ppi, 8 intensity bits Camera 2 Megapixel, 10 intensity bits Scanner 600 dpi, 12 intensity bits
Solution: Define a transform to map colors from color space of one device (source) to color space of another device (destination).
Device Differences Device Differences
Difference in Contrast and Brightness Range Difference in White Point
QImagingKodak Nikon
Genoacolor Device Differences Device Differences
Difference in Gamut Difference in Gamut
Monitor Gamut Printer Gamut Film Monitor
Device Differences Gamut Mismatch Difference in Gamut How does one print this color?
0.8 display printer
Scanner 0.6 y 0.4
0.2
Monitor 0 0 0.2 0.4 0.6 0.8 x This color never needed?
printer Gamut Mismatch Gamut Mismatch
How does one print this color?
0.8 display printer 0.6 y 0.4
0.2
0 0 0.2 0.4 0.6 0.8 x How does one display this color? The problem is twofold: 1) Differences in device representation 2) Differences in Gamut Size and Shape
Gamut Mapping Gamut Mapping - Example
In order to transfer color information between a source device and a destination device, one must define a mapping between the source Gamut to destination the destination Gamut.
This mapping is called Gamut Mapping.
Monitor Gamut Printer Gamut
Gamut Mapping maps RGB = (12, 120, 25) on Monitor A to RGB = (22, 255, 31) on monitor B.
This mapping actually maps XYZ representation of RGB = (12, 120, 25) of Monitor A to the most “similar” XYZ representation reproducible by Monitor B. Gamut Mapping - Example Gamut Mapping
brightness
most accurate (brightness) most accurate (hue)
Destination Source to to/from Perceptual Perceptual Hue angle error:
printer display max saturated XYZ max saturated green = 510nm green = 540nm
Inter- Perceptual
White Hue angle
Source Gamut Dest Gamut
Gamut Mapping Gamut Mapping MacDonald & Morovic (1995) Marcu & Abe (1996)
Laihanen (1987) Ito & Katoh (1995) Gamut Mapping Gamut Mapping
Assume mapping with no Hue angle error:
3D Mapping
Where do these colors map to?
2 Basic Approaches: Clipping Compression
Tetrahedral Mapping
Gamut Mapping Gamut mapping - Side Effects Mapping Red Hue only Clipping Compression Original
Clipping - Map all the values that are in the source Gamut but outside the destination Gamut onto the closest colors on the boundary of the destination Gamut.
Compression – Map all colors in source Gamut onto all colors in the destination Gamut using a Clipping Compression monotonic mapping. Gamut mapping - Side Effects Device to Device Gamut Mapping
Original
Monitor Gamut Printer Gamut
Clipping Compression
Device Dependent Device Independent
Standard Color Space Device Independent ICC Profiles
Standard ICC = International Color Consortium 0.9 Color Established in 1993 by 8 vendors, now over 70 members. Space Goal: to define and create representations for inter-device color communication. Called ICC Profile. y
0.5 Adobe Systems Incorporated Agfa-Gevaert N.V. Apple Computer, Inc. Eastman Kodak Company FOGRA-Institute Microsoft Corporation 0.0 Silicon Graphics Inc. 0.0 0.4 0.8 Sun Microsystems, Inc. Taligent, Inc.
http://www.color.org/
Profiling and Calibration Profiling and Calibration
IndependentIndependent ColorColor spacespace (Lab)(Lab)
Lab Lab Lab Lab
ScannerScanner ICC ICC MonitorMonitor ICC ICC DigCamDigCam ICC ICC PrinterPrinter ICC ICC ProfileProfile ProfileProfile ProfileProfile ProfileProfile
rgb rgb rgb cmyk
scannar Monitor Digital Printer Camera Profile Connection Space (PCS) – CIEXYZ or CIELAB.
Profile Connection Space (PCS) – Independent Color Space CIEXYZ or CIELAB.
http://www.rlg.org/visguides/visguide3.html http://www.rlg.org/visguides/visguide3.html ICC Profile Types ICC Profile File
Profile Input Profile – Scanner or Digital Camera Header 128 bytes Display Profile – Monitor (CRT/LCD), DLP Tag Count 4 bytes Output Profile – Printer or Film Recorder Tag Sig Size 12 bytes for Table each tag
Each profile has a transformation: source-to-standard colour space or Tagged Various sizes Element destination-to-standard colour space. Data
Additional Profiles:
Device Link - device-to-device • 128 byte header Colour space - sRGB, CIEXYZ, L*a*b*, etc. • Tag-based Abstract - effects, PCS-to-PCS, etc • Public required tags Named Colour -Pantone®, Truematch®, etc. • Public optional tags • Private tags
Header contains : profile's size, date/time of creation, version number, device's manufacturer and model, primary platform on which the profile was created, profile connection space selected, the input or output data color space, and the rendering intent.
ICC Based Work Flow ICC Color Profile - A2BTag
Scanner Profile Standard Color Space Standard Color Space
Monitor Profile
Monitor Profile
Standard Color Space A2BTag – device to PCS multidimensional tables Requires Measuring the gamut. Printer Profile Scanner Profiling Scanner Profiling Build a LUT or Matrix conversion from scanned values Kodak's IT8.7/2 to XYZ. calibrated color test target Example: XYZ Scanned Value
(100,120,95) (1,1,1)
(125,70,80)
(1.25,0.5,0.75)
(55,100,95) (0.5, 0.75,1)
0.8
0.6 Patch Scanned XYZ Value 0.4
0.2 Profile 0 0 0.2 0.4 0.6 0.8
Scanner Profiling ICC Color Profile - A2BTag Build a LUT or Matrix conversion from scanned values to XYZ. Build interpolation RGB Æ LAB Example: XYZ Scanned Value
RGB (100,120,95) (1,1,1)
(125,70,80)
(1.25,0.5,0.75)
(55,100,95) (0.5, 0.75,1)
1 1.25 0.5 100 125 55 1 0.5 0.75 = M 120 70 100 LAB 1 0.75 1 * 95 80 95
100 125 55 1 1.25 0.5 M = 120 70 100 *Pinv ( 1 0.5 0.75 ) 95 80 95 1 0.75 1
XYZ Scanned Value 100 0.97 (100,100,100) M* 100 = 0.75 100 1.01 ICC Color Profile - B2ATag Printer Profiling
B2ATag - PCS to device multidimensional tables. For every point in the full LAB (PCS) space Swatches for printer profiling assign an RGB (device) value.
Patch Printed Out of Gamut colors – the colors that the XYZ XYZ device can not reproduce.
Requires Mapping Rendering intents. Profile
Printer Profiling
Build a LUT or Matrix conversion from XYZ to printed values.
XYZ input XYZ output
100 125 55 20 25 35 120 70 100 190 100 100 P1 = P2 = 95 80 95 100 70 95
P1 = M * P2
M = P1 * pinv(P2)
SO, if want to print certain XYZ on output, Given p, a desired XYZ output, the profiler must use conversion Matrix or LUT to map maps p to new input value to the printer: desired XYZ to the XYZ to be sent to the printer so that desired XYZ comes out. M * p = input_p Monitor Profiling Monitor Profiling
Pixel Emitted RGB Measured XYZ XYZ Frame Buffer XYZ
Profile
Use Color Ramps R Build a LUT or Matrix conversion from XYZ to G frame-buffer values RGB that emit XYZ. B
SO, if want to display certain XYZ on monitor, must use conversion Matrix or LUT to map desired XYZ to the frame buffer RGB so that desired XYZ comes out.
Monitor Profiling ICC Rendering Intents Different Gamut Mapping algorithms for dealing with out-of-gamut colors.
Absolute Colorimetric (Match/Preserve Identical Colors) Simple profiling uses test swatches and comparison Colors in-gamut will look the same even if destination is visual. white is not the same (e.g. tinted paper). Preserves white point i.e. compensates for color adaptation. Not reversible.
Relative Colorimetric (Proof / Preserve Identical Color and White Point) Maps color in-gamut but clips out-of-gamut colors to closest color in destination gamut. Does not preserve white point in destination. Not reversible.
Perceptual, (Picture / Maintain Full Gamut) Scales full source gamut into destination gamut. Affects all colors but gradients are smooth (no plugging-up). Is reversible.
Saturation (Graphic/Preserve Saturation) Maps the saturated primary colors in the source to saturated Accurate profiling requires colorimetric measurements primary colors in the destination, neglecting differences in hue, of display set to various frame buffer values. saturation, or lightness. Not reversible. For graphic images. Rendering Intents - Absolute Colorimetric Rendering Intents - Absolute Colorimetric
Absolute colorimetric: 1. Reproduces in-gamut colors exactly. 2. Clips out-of gamut colors to the nearest reproducible hue sacrificing saturation and possibly lightness. 3. Mostly use for proofing ( source > destination)
Clipping
Rendering Intents - Absolute Colorimetric Rendering Intents - Absolute Colorimetric
Problems 1 : Problem 2 :
Our eyes are much better in evaluating color Our eyes adapt to different “colors” of white – relationships then they are evaluating absolute chromatic adaptation. Our eyes judge colors in colors. In Absolute Colorimetric rendering, the relation to white. relationship between the in-gamut and out-gamut colors is affected. (Clipping) This RI maintains the source white exactly. If destination Device has a different white point then a color cast will be seen in the output. Original Clipping Example: When printing there is often a visible paper-white border. Since white areas in an image will almost always have some color tint, an absolute colorimetric print will have a color cast because our eyes adapt to the paper-white surround and not the image white. Rendering Intents - Absolute Colorimetric Rendering Intents - Absolute Colorimetric
Device white point
Rendering Intents - Absolute Colorimetric Rendering Intents - Relative Colorimetric Full spectrum Relative Colorimetric: Translate the white of the source to the white of the output and shift all colors accordingly.
Reproduces in-gamut colors exactly. Clips out-of gamut colors to the nearest reproducible hue. Printer small gamut - abs
1) Discontinuities (blue) 2) Gray scale shift Gamut Mapping Rendering Intents - Relative Colorimetric Full spectrum
Device white point
Printer small gamut - relative
Relative Colorimetric
1) Loss of details 2) Poor color balance.
Rendering Intents - Perceptual Rendering Intents - Perceptual Full spectrum Perceptual: 1. Compresses the full LAB Color space into the Destination gamut. 2. Maintains (more or less) the overall relationship between colors.
Compression Printer small gamut - Perceptual
1) Maintains details 2) Loss of Saturation Rendering Intents - Saturation Rendering Intents - Saturation Full spectrum
Saturation: 1. Preserves the saturation as much as possible. Sacrifices the hue and lightness. 2. Generally: pleasing colors, saturated colors, but poor color balance.
Hue Printer small gamut - Saturation
1) Loss of details 2) Poor color balance.
Rendering Intents - Comparison Gamut Mapping - Can we do Better ? Device Dependent
RGB Original
CMYK - Perceptual
CMYK - Saturated
CMYK – Relative Colorimetric
CMYK – Absolute Colorimetric Device Independent
Standard Color Space Gamut Mapping - Can we do Better ? Image Independent vs Image Dependent Gamut Mapping 1. In most images, all colors are in or within the output gamut. Two possibilities for Gamut Mapping between 2. Spatial variations can be taken into account. two Gamuts:
1. The mapping is a function of the input and output device Gamuts alone, i.e. mapping is independent of the colors in the input image. a a 2. The mapping is a function of the colors within the input image and the output device Gamut,
b b i.e. mapping is image dependent.
Following the ICC framework, Gamut Mappings map Image Independent - time efficient but poorer from the full PCS color space to a destination gamut rendered image quality. (no assumptions on the input colors of an image). Image Dependent - better rendered image quality A priori knowledge of the colors in the PCS that will but time consuming. never be used can be exploited to define an effective source gamut and produce a more efficient mapping .
Compromise : Image Guided Gamut Mapping Originals Rather than calculating the Gamut Mapping Tables on the fly for each image (image dependent), a set of possible Gamut Mappings are allowed.
Rather than computing the exact input image Gamut, only a few, easy to compute image characteristics are determined. Lightness attenuating During the rendering process, the selected image GM characteristics are used to determine the Gamut Mapping from the possible set, which best suites the input image.
Saturation attenuating GM
(A. Golan & H.Hel-Or 2007) Current Workflow Image Guided Gamut Mapping Workflow
Input Device Profile Output Device Profile
Input Device Profile Chosen GM from Output Device Profile Input Image Data Perceptual Color Space Output Image Data
rgb lab Input Image Data Perceptual Color Space and Output Image Data lab rgb
Independent Color ICC profile space ICC profile Characteristic Extractor Output Device Profile
Decision tool GM1 GM2 GM3
GM4 GM5 GM6
Color Management Module (CMM):
Image Characteristics Image Characteristics can determine Gamut Mappings
• Basic statistical measures: Example 1: – Mean value. – Standard deviation. – Minimum Value. – Maximum Value. – The 25-percentile. – The 50-percentile. – The 75-percentile. • Image content : – Shadow Strength . – Highlight Strength. – Global contrast. Images with large Highlight (or Shadow) regions • Local Spatial: containing fine details are sensitive to Lightness – Local Contrast strength. assumptions. Using a Gamut Mapping that assumes the input image does not contain very dark or bright • General: pixels results in loss of details in the Highlight (or – Destination device Out of Gamut Pixels Ratio. Shadow) regions. Image Characteristics can Ranking of the informativeness of determine Gamut Mappings image characteristics.
Example 2:
Saturation Compressing Lightness Compressing
1 Medium High Saturation. Highlights of Luminance. 2 Mean of Saturation. Medium High Luminance. 3 Out of Gamut Pixels Ratio Medium Luminance. 4 Highlights of Luminance. Standard deviation of Luminance. 5 Medium High Luminance. Shadows of Luminance. 6 Contrast using Highlights and Shadows Mean of Luminance. 7 Medium Luminance. Medium Low Saturation. 8 Medium Low Saturation. Maximum saturation. 9 Maximum luminance. Medium Saturation. 10 Medium Saturation. Maximum luminance. Images that are highly saturated, i.e. contain large 11 Minimum saturation. Standard deviation of Saturation. colorful regions, are sensitive to strong compression 12 Global contrast in image Mean of Saturation. in the Saturation coordinate. Such a mapping will 13 Maximum saturation. Minimum saturation. 14 Standard deviation of Luminance. Global contrast in image cause the image to look desaturated and less 15 Minimum luminance. Contrast using Highlights and Shadows ’natural’. 16 Standard deviation of Saturation. Minimum luminance. 17 Shadows of Luminance. Out of Gamut Pixels Ratio - 18 Medium Low Luminance Medium High Saturation. 19 Mean of Luminance. Local contrast in the image 20 Local contrast in the image Medium Low Luminance.
Bad Gamut Mapping.