19
Color Management Lecture 12 Device independent Color Representation ICC Profiles Gamut Mapping DFE Press Digital Printers Proofer Page Layout Image retouching Digital Camera Scanner Mobile Phone Graphic Arts Workflow Color Management Images look different on each device. Original Image Printer Image Scanner Image Images look different on each device.

Color Management - University of Haifacs.haifa.ac.il/hagit/courses/ist/Lectures/IST12_ColorManagementx4.pdfColor Management Images look ... Agfa-Gevaert N.V. Apple Computer, Inc. Eastman

  • Upload
    ngotram

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

Color ManagementLecture 12

Device independent Color RepresentationICC ProfilesGamut Mapping

DFE

PressDigital PrintersProofer

Page LayoutImage retouching

Digital CameraScanner Mobile Phone

Graphic Arts Workflow

Color Management

Images look different on each device.

Original Image Printer ImageScanner Image

Images look different on each device.

Variations are due to:• Spectral distribution of the device components

(phosphors, filters, sensors)’• Viewing conditions

(dark/light, indoor/outdoors, illumination spectra)• media

(projected/reflected light or print).

Color Management

Solution:Define a transform to map colors from colorspace of one device (source) to color spaceof another device (destination).

Printers 300-1200 dpi 1-4 intensity bits

CRT Pitch 0.27 µ, 72 ppi,

TV 480 lines (analog)

LCD 100 ppi, 8 intensity bits

Camera 2 Megapixel, 10 intensity bits

Scanner 600 dpi, 12 intensity bits

Device Differences

Difference in Spatial Resolutions

Device Differences

Difference in Contrast and Brightness Range

Genoacolor

Device Differences

QImaging NikonKodak

Difference in White Point

Monitor Gamut Printer Gamut

Device DifferencesDifference in Gamut

Device Differences

Difference in Gamut

MonitorFilm

Device DifferencesDifference in Gamut

ScannerScanner

MonitorMonitor

printerprinter

Gamut Mismatch

0 0.2 0.4 0.6 0.80

0.2

0.4

0.6

0.8

x

y

printerdisplay

How does one print this color?

This color never needed?

0 0.2 0.4 0.6 0.80

0.2

0.4

0.6

0.8

x

y

printerdisplay

How does one print this color?

How does one display this color?

Gamut Mismatch Gamut Mismatch

The problem is twofold:

1) Differences in device representation

2) Differences in Gamut Size and Shape

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.

Gamut Mapping

Monitor Gamut Printer Gamut

Gamut Mapping - Example

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.

XYZ

Gamut Mapping - Example

Source toPerceptual

Destinationto/from

Perceptual

Inter-Perceptual

Hue angleWhite

display max saturated green = 540nm

printer max saturated green = 510nm

Hue angle error:

Gamut Mapping

most accurate (hue)

most accurate(brightness)

brightness

Source GamutDest Gamut

MacDonald & Morovic (1995)

Gamut Mapping

Laihanen (1987) Ito & Katoh (1995)

Gamut Mapping

Marcu & Abe (1996)

3D Mapping

Tetrahedral Mapping

Gamut Mapping

Assume mapping with no Hue angle error:

Gamut Mapping

Where do these colors map to?

2 Basic Approaches:Clipping Compression

Gamut Mapping

Clipping - Map all the values that are in the Map all the values that are in the source Gamut but outside the destination Gamut source Gamut but outside the destination Gamut onto the closest colors on the boundary of the onto the closest colors on the boundary of the destination Gamut. destination Gamut.

Compression – Map all colors in source Gamut Map all colors in source Gamut onto all colors in the destination Gamut using a onto all colors in the destination Gamut using a monotonic mapping. monotonic mapping.

Clipping Compression

Clipping Compression

Original

Gamut mapping - Side EffectsMapping Red Hue only

Clipping Compression

Original

Gamut mapping - Side Effects

Monitor Gamut Printer Gamut

Device to Device Gamut Mapping

Device Dependent Device Independent

StandardColorSpace

0.80.40.0

0.5

0.9

y

0.0

Device Independent

StandardColorSpace

ICC Profiles

ICC = International Color ConsortiumEstablished in 1993 by 8 vendors, now over 70 members.

Goal: to define and create representations for inter-device color communication. Called ICC Profile.

Adobe Systems Incorporated Agfa-Gevaert N.V.Apple Computer, Inc.Eastman Kodak CompanyFOGRA-Institute Microsoft CorporationSilicon Graphics Inc.Sun Microsystems, Inc. Taligent, Inc.

http://www.color.org/

http://www.rlg.org/visguides/visguide3.html

Profiling and Calibration

Profile Connection Space (PCS) –CIEXYZ or CIELAB.

http://www.rlg.org/visguides/visguide3.html

Profiling and Calibration

Profile Connection Space (PCS) –Independent Color Space

CIEXYZ or CIELAB.

Independent Color space (Lab)Independent Color space (Lab)

Scanner ICCProfile

Scanner ICCProfile

Monitor ICCProfile

Monitor ICCProfile

DigCam ICCProfile

DigCam ICCProfile

Printer ICCProfile

Printer ICCProfile

scannar Digital Camera

PrinterMonitor

rgb rgb rgb cmyk

Lab Lab Lab Lab

ICC Profile Types

Input Profile – Scanner or Digital CameraDisplay Profile – Monitor (CRT/LCD), DLPOutput Profile – Printer or Film Recorder

Each profile has a transformation: source-to-standard colour space or destination-to-standard colour space.

Additional Profiles:

Device Link - device-to-deviceColour space - sRGB, CIEXYZ, L*a*b*, etc.Abstract - effects, PCS-to-PCS, etcNamed Colour -Pantone®, Truematch®, etc.

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.

• 128 byte header• Tag-based• Public required tags• Public optional tags• Private tags

ProfileHeader 128 bytes

TaggedElementData

Various sizes

TagTable

4 bytes12 bytes foreach tag

Tag CountSig Size

ICC Profile File

StandardColorSpace

StandardColorSpace

Scanner Profile

Monitor Profile

Monitor Profile

Printer Profile

ICC Based Work Flow

A2BTag – device to PCS multidimensional tablesRequires Measuring the gamut.

ICC Color Profile - A2BTag

StandardColorSpace

Kodak's IT8.7/2calibrated color test target

PatchXYZ

ScannedValue

Profile

Scanner Profiling Scanner ProfilingBuild a LUT or Matrix conversion from scanned values to XYZ.

Example:

(1,1,1)(100,120,95)

(125,70,80)

(1.25,0.5,0.75)

(0.5, 0.75,1)

(55,100,95)

XYZ Scanned Value

0 0.2 0.4 0.6 0.80

0.2

0.4

0.6

0.8

ICC Color Profile - A2BTag

Build interpolation RGB LAB

RGB

LAB

Pinv ( )1 1.25 0.51 0.5 0.751 0.75 1

100 125 55120 70 10095 80 95

Scanner ProfilingBuild a LUT or Matrix conversion from scanned values to XYZ.

Example:

(1,1,1)(100,120,95)

(125,70,80)

(1.25,0.5,0.75)

(0.5, 0.75,1)

(55,100,95)

XYZ Scanned Value

1 1.25 0.51 0.5 0.751 0.75 1

M100 125 55120 70 10095 80 95

= *

M = *

(100,100,100) M100 100100

* =0.970.751.01

XYZ

Scanned Value

ICC Color Profile - B2ATag

Requires Mapping

Out of Gamut colors – the colors that the device can not reproduce.

B2ATag - PCS to device multidimensional tables.For every point in the full LAB (PCS) space assign an RGB (device) value.

Rendering intents.

Swatches for printer profiling

Printer Profiling

PatchXYZ

PrintedXYZ

Profile

Printer Profiling

Build a LUT or Matrix conversion from XYZ to printed values.

SO, if want to print certain XYZ on output,must use conversion Matrix or LUT to mapdesired XYZ to the XYZ to be sent to the printerso that desired XYZ comes out.

100 125 55120 70 10095 80 95

XYZ input

20 25 35190 100 100100 70 95

XYZ output

M * P2=

P1 = P2 =

P1

M = P1 * pinv(P2)

Given p, a desired XYZ output, the profilermaps p to new input value to the printer:

M * p = input_p

Monitor Profiling

PixelXYZ

EmittedXYZ

Profile

Build a LUT or Matrix conversion from XYZ to frame-buffer values RGB that emit XYZ.

SO, if want to display certain XYZ on monitor,must use conversion Matrix or LUT to mapdesired XYZ to the frame buffer RGB so thatdesired XYZ comes out.

Monitor Profiling

RGBFrame Buffer

MeasuredXYZ

RG

B

Use Color Ramps

Monitor Profiling

Simple profiling uses test swatches and comparisonis visual.

Accurate profiling requires colorimetric measurementsof display set to various frame buffer values.

ICC Rendering IntentsDifferent Gamut Mapping algorithms for dealingwith out-of-gamut colors.

Absolute Colorimetric (Match/Preserve Identical Colors)Colors in-gamut will look the same even if destinationwhite is not the same (e.g. tinted paper). Preserves white pointi.e. compensates for color adaptation. Not reversible.

Relative Colorimetric (Proof / Preserve Identical Colorand White Point)Maps color in-gamut but clips out-of-gamut colors toclosest color in destination gamut. Does not preservewhite 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 primary colors in the destination, neglecting differences in hue, saturation, or lightness. Not reversible. For graphic images.

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

Problems 1 :

Our eyes are much better in evaluating color relationships then they are evaluating absolute colors. In Absolute Colorimetric rendering, the relationship between the in-gamut and out-gamut colors is affected. (Clipping)

Rendering Intents - Absolute Colorimetric

Original Clipping

Problem 2 :

Our eyes adapt to different “colors” of white –chromatic adaptation. Our eyes judge colors in relation to white.

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.

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

Devicewhite point

Rendering Intents - Absolute Colorimetric Rendering Intents - Absolute Colorimetric

Printer small gamut - abs

1) Discontinuities (blue) 2) Gray scale shift

Full spectrumRendering Intents - Absolute Colorimetric Rendering Intents - Relative Colorimetric

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.

Gamut Mapping

Devicewhite point

Relative Colorimetric

Printer small gamut - relative

1) Loss of details 2) Poor color balance.

Full spectrumRendering Intents - Relative Colorimetric

Rendering Intents - Perceptual

Perceptual: 1. Compresses the full LAB Color space into

the

Destination gamut.

2. Maintains (more or less) the overall

relationship between colors.

CompressionPrinter small gamut - Perceptual

1) Maintains details 2) Loss of Saturation

Full spectrumRendering Intents - Perceptual

Rendering Intents - Saturation

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.

Full spectrumRendering Intents - Saturation

RGB Original

CMYK - Perceptual

CMYK - Saturated

CMYK – RelativeColorimetric

CMYK – AbsoluteColorimetric

Rendering Intents - Comparison

Device Dependent

StandardColorSpace

Device Independent

Gamut Mapping - Can we do Better ?

Gamut Mapping - Can we do Better ?

1. In most images, all colors are in or withinthe output gamut.

2. Spatial variations can be taken into account.

Following the ICC framework, Gamut Mappings map Following the ICC framework, Gamut Mappings map from the full PCS color space to a destination gamutfrom the full PCS color space to a destination gamut(no assumptions on the input colors of an image).(no assumptions on the input colors of an image).

A priori knowledge of the colors in the PCS that willA priori knowledge of the colors in the PCS that willnever be used can be exploited to define an effectivenever be used can be exploited to define an effectivesource gamut and produce a more efficient mapping .source gamut and produce a more efficient mapping .

a

b

a

b

Two possibilities for Gamut Mapping betweenTwo possibilities for Gamut Mapping betweentwo two GamutsGamuts: :

1. The mapping is a function of the input and1. The mapping is a function of the input andoutput device output device GamutsGamuts alone, i.e. mapping is alone, i.e. mapping is independent of the colors in the input image.independent of the colors in the input image.

2. The mapping is a function of the colors within2. The mapping is a function of the colors withinthe input image and the output device Gamut, the input image and the output device Gamut, i.ei.e. mapping is image dependent.. mapping is image dependent.

Image Independent vs Image DependentGamut Mapping

Image Independent - time efficient but poorer rendered image quality.

Image Dependent - better rendered image qualitybut time consuming.

Originals

Lightness attenuating GM

Saturation attenuating GM

Compromise : Image Guided Gamut Mapping

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.

During the rendering process, the selected imagecharacteristics are used to determine the Gamut Mapping from the possible set, which bestsuites the input image.

(A. Golan & H.Hel-Or 2007)

Input Image Data Perceptual Color Space Output Image Data

Input Device Profile Output Device Profile

rgb lab lab rgb

ICC profile

Independent Color spaceICC profile

Color Management Module (CMM):

Current Workflow

Input Image Data Perceptual Color Space Output Image Data

Input Device Profile Chosen GM from Output Device Profile

Characteristic Extractor

Decision tool GM1 GM2 GM3

GM4 GM5 GM6

Output Device Profile

and

Image Guided Gamut Mapping Workflow

• Basic statistical measuresBasic statistical measures::–– Mean value.Mean value.–– Standard deviation.Standard deviation.–– Minimum Value.Minimum Value.–– Maximum Value.Maximum Value.–– The 25The 25--percentile.percentile.–– The 50The 50--percentile.percentile.–– The 75The 75--percentile.percentile.

•• Image contentImage content ::–– Shadow Strength .Shadow Strength .–– Highlight Strength.Highlight Strength.–– Global contrast.Global contrast.

•• Local SpatialLocal Spatial::–– Local Contrast strength.Local Contrast strength.

•• GeneralGeneral::–– Destination device Out of Gamut Pixels Ratio.Destination device Out of Gamut Pixels Ratio.

Image Characteristics Image Characteristics can determine Gamut Mappings

Images with large Highlight (or Shadow) regions containing fine details are sensitive to Lightness assumptions. Using a Gamut Mapping that assumes the input image does not contain very dark or bright pixels results in loss of details in the Highlight (or Shadow) regions.

Example 1:

Images that are highly saturated, i.e. contain large colorful regions, are sensitive to strong compression in the Saturation coordinate. Such a mapping will cause the image to look desaturated and less ’natural’.

Image Characteristics can determine Gamut Mappings

Example 2:

Medium Low Luminance.Local contrast in the image20

Local contrast in the imageMean of Luminance.19

Medium High Saturation.Medium Low Luminance18

Out of Gamut Pixels Ratio -Shadows of Luminance.17

Minimum luminance.Standard deviation of Saturation.16

Contrast using Highlights and Shadows Minimum luminance.15

Global contrast in imageStandard deviation of Luminance.14

Minimum saturation.Maximum saturation.13

Mean of Saturation.Global contrast in image12

Standard deviation of Saturation.Minimum saturation.11

Maximum luminance.Medium Saturation.10

Medium Saturation. Maximum luminance. 9

Maximum saturation.Medium Low Saturation. 8

Medium Low Saturation.Medium Luminance.7

Mean of Luminance.Contrast using Highlights and Shadows6

Shadows of Luminance.Medium High Luminance.5

Standard deviation of Luminance.Highlights of Luminance.4

Medium Luminance.Out of Gamut Pixels Ratio3

Medium High Luminance.Mean of Saturation.2

Highlights of Luminance.Medium High Saturation.1

Lightness CompressingSaturation Compressing

Ranking of the informativeness ofimage characteristics.

Bad Gamut Mapping.