Color Management Scanner Digital Camera Mobile Phone
Total Page:16
File Type:pdf, Size:1020Kb
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.