Principles of matching with displays

• CRT displays • Linear equations for matching • The nonlinearity (gamma) curve Color matching with displays CRT signal path Displays mimic the color-matching experiment at each point

CRT LCD-1 LCD-2

Trinitron Tri-dot Shadow mask geometry associates each neam with a single phosphor In CRTs, the beam spreads across a few locations, but the local rays are nearly parallel and preserve color association Superposition of Phosphor SPDs CRT Emission Equations Display matching

1.8 1.4 1 0.6 Monitor linear 0.2 400 500 600 700 ⎛⎞intensities ⎜⎟ ⎛⎞⎛Xe ⎞ ⎛⎞r XYZ functions ⎜⎟ ⎜⎟⎜ ⎟Monitor ⎜⎟ Ye⎜⎟primaries ⎜⎟⎜= ⎟ ⎜⎟g ⎜⎟⎜Ze ⎟⎜⎟ ⎜⎟ ⎝⎠⎝ ⎠⎜⎟ ⎝⎠b ⎜⎟ ⎝⎠ When two different look the same

Create a metamer 1.8 1.4 3 Display Primary Image contains a 1 primary SPDs intensities target value 0.6 ⎛⎞ 0.2 Xr400 500 600 700 ⎜⎟ ⎛⎞⎛ ⎞⎜⎟ ⎛⎞ ⎜⎟⎜Yg ⎟⎜⎟ ⎜⎟ ⎜⎟⎜= ⎟ ⎜⎟ ⎜⎟⎜ ⎟⎜⎟ ⎜⎟ ⎝⎠⎝Zb ⎠⎜⎟ ⎝⎠ ⎜⎟ ⎝⎠ (CMF * Display)

When two different lights look the same

Create a metamer

Primary Image intensities contains a target value ⎛ r ⎞ ⎛ ⎞ ⎛ X ⎞

⎜ ⎟ −1 g = ⎜ (CMF * Display) ⎟ ⎜ ⎟ ⎜ ⎟ Y ⎜ ⎟ ⎜ ⎟ ⎝⎜ b ⎠⎟ ⎝ ⎠ ⎝ Z ⎠ 3x3 A word about the display transduction function

Often called the display gamma

LD=+αβγ Some Comments About Display Gamma Levels of 2.0

Linear spacing 1 2

3 Steps are 4 Bunched too big in 5 appearance in 6 dark bright region 7

regions 8

9

10 2 4 6 8 10 12 14 16

Uniform appearance Equal L* spacing 1 2

3

4 Board work to 5 6

explain relationship 7 to transduction 8 9

10 2 4 6 8 10 12 14 16 Camera-Display Matching

Camera measures RGB and we convert Estimate monitor linear to a value related to intensities that match CIE-XYZ CIE-XYZ related value XYZ functions ⎛⎞ Xe⎜⎟ ⎛⎞⎛ ⎞⎜⎟ ⎛⎞r ⎜⎟⎜ ⎟ ⎜⎟ Ye= ⎜⎟Monitor g ⎜⎟⎜ ⎟primaries ⎜⎟ ⎜⎟⎜Ze ⎟⎜⎟ ⎜⎟ ⎝⎠⎝ ⎠⎜⎟ ⎝⎠b ⎜⎟ ⎝⎠ ⎛⎞⎛Xe ⎞⎛⎞r ⎜⎟⎜YXMe ⎟⎜⎟ ⎜⎟⎜= ⎟⎜⎟g ⎜⎟⎜ ⎟⎜⎟ ⎝⎠⎝Ze ⎠⎝⎠b Camera-Display Matching

Camera measures Estimate monitor linear something that we intensities that match convert to a CIE- CIE-XYZ related value XYZ value

⎛⎞⎛Xe ⎞⎛⎞r ⎜⎟⎜YXMe ⎟⎜⎟ ⎜⎟⎜= ⎟⎜⎟g ⎜⎟⎜ ⎟⎜⎟ ⎝⎠⎝Ze ⎠⎝⎠b

⎛⎞⎛eXr ⎞⎛⎞ ⎛⎞R Correct for 1 display gamma ⎜⎟⎜eXMY()− ⎟⎜⎟ ⎜⎟G g = ⎜⎟ ⎜⎟⎜ ⎟⎜⎟ ⎜⎟ ⎜⎟⎜ ⎟⎜⎟ ⎝⎠B ⎝⎠⎝eZb ⎠⎝⎠ ⎛⎞ ⎜⎟ ⎜⎟ ⎜⎟ ⎜⎟ Camera estimates ⎜⎟ ⎜⎟ Image calibrated values ⎝⎠ ⎛⎞ X ⎜⎟ processing ⎛⎞⎛ ⎞⎜⎟ ⎜⎟⎜Y ⎟⎜⎟ ⎜⎟⎜= ⎟ ⎜⎟⎜ ⎟⎜⎟ ⎝⎠⎝Z ⎠⎜⎟ pipeline ⎜⎟ Encoded for ⎝⎠ transmission or NTSC, PAL, storage JPEG, etc.

⎛⎞er ⎜⎟e ⎜⎟g Produce ⎜⎟ ⎝⎠eb (linear RGB) ⎛⎞ Xe⎜⎟ color matches ⎛⎞⎛ ⎞⎜⎟ ⎛⎞r ⎜⎟⎜Ye ⎟⎜⎟ ⎜⎟ ⎜⎟⎜= ⎟ ⎜⎟g ⎜⎟⎜Ze ⎟⎜⎟ ⎜⎟ ⎝⎠⎝ ⎠⎜⎟ ⎝⎠b ⎜⎟ ⎝⎠

Encode for Gamma curve device RGB gamma Photometry: Radiance and Luminance

• Video tutorial for spectral radiance • Luminance • Flicker photometry Spectral radiance function 2 • Source Radiance

– Symbol: L /nm/m

– Units: W/(sr nm m2) sr

watts/ Luminance from spectral radiance

• Source Radiance • Source Luminance

– Symbol: L – Symbol: Lv – Units: W/(sr nm m2) – Units: candelas/m2

Photopic luminosity function 1 127.4 cd/m2 0.8

0.6

0.4

y()λ 0.2

0 V ()λ 300 400 500 600 700 800 Wavelength (nm) Luminance from spectral radiance

LKV=()λ ⋅ Lλdλ vm∫ ( )

• Conversion Photopic luminosity function – Peak luminosity: 1 unity at 555 nm 0.8 V ()λ y()λ – Km = 683 lm/W 0.6

0.4

0.2

0 300 400 500 600 700 800 Wavelength (nm) Luminance: Empirical basis Time slow

Photopic luminosity function 1

0.8 V ()λ y()λ

0.6

0.4 fast 0.2

0 300 400 500 600 700 800 Wavelength (nm) Typical luminance levels

Outdoors (cd/m2) Indoors (cd/m2)

Sun 6x108 Interior room (fluorescent Visual saturation 49,000 ) Just below saturation 25,000 floor/walls 90 Outdoor building façade 10,000 in shadow 10 sky (morning) 4,600 Concrete sidewalk in sun 3,200 Interior room (no lighting) in shadow 570 floor/walls 30 in deep shadow 290 in shadow 5 Source in closet door 1 Luminance

Surface Spectral radiance and irradiance units

Defining Term Application SI Unit Equation ΔQ Radiant F = emitted from a t watt Flux Δ point Q= energy (joules) F = Q/sec (watt) F Light emitted from a Radiant Δ t = time (sec) I = point in a given solid watt / sr Intensity Δω angle ω = solid angle (steradian) A = area (meter2 ) θ= angle incident to plane ΔI Light from an Radiance L = extended source in a watt /sr/m2 ΔAs cos(θ ) given direction

ΔF Light density incident E watt /m2 Irradiance = on a plane ΔAr Corresponding photometric units

Term Defining Equation Application SI Unit

Luminous Light emitted FKF= ()()λλλ V d lumen Flux vme∫ from a point Q= energy (joules) Light emitted F = Q/sec (watt) Luminous ΔFv from a point in I = candela (cd) t = time (sec) Intensity v Δω a given solid angle ω = solid angle (steradian) A = area (meter2 ) Light from an θ= angle incident to plane ΔI extended source lumens/m2 Luminance L = v A cos( ) in a given (lux) Δ s θ direction

Illuminance Light density 2 ΔLv incident on a cd/m Ev = plane ΔAr CIE

Geometry of chromaticity Applications Chromaticity coordinates

Projective transform

X Y x = y = XYZ++ XYZ++

When two lights differ in intensity, say K*(X,Y,Z) and (X,Y,Z), their chromaticity coordinates are the same Chromaticity diagram

Looking down at the triangle Z

X Y

Square up the axes Chromaticity Diagram Chromaticity Demo (Stanford)

Applet: Katie Dektar Text: Marc Levoy Technical assistance: Andrew Adams

https://graphics.stanford.edu/courses/cs178-10/applets/threedgamut.html Blackbody radiators

(blackbody.m)

3000K

3500K

Energy units: W/(m2 nm sr) nm W/(m2 units: Energy 9000K

Wavelength (nm) Blackbody Radiators Complementary Monitor gamut Signal lights Main points

• Matching predicts matches, not appearance

• Color matching is understood profoundly

• XYZ are color-matching standards

1 0.8 • Radiance and Luminance universes are 0.6 l y 0.4

0.2 parallel, connected via the photopic luminosity

0 300 400 500 600 700 800 l [nm] function Vy(),()λλ

• xy chromaticity coordinates are useful for some color specifications Color engineering

• CIELAB metric

Human color metric space: CIELAB (ΔE)

• Manufacturing has much experience with product color (paints, textiles)

− Consistency over time

− Tolerance for contracts

• Early experience for uniform patches, not images; digital imaging requires additional thought Why not use distance in XYZ (or cones) for metrics?

• Experiments show that distance in any frame that is linear with absorptions is wrong • This is invariant of linear transformation Example

2

1.5

1

0.5

0

-0.5

-1

-1.5

-2 2 -2 0 1 -1 0 -1 1 2 -2 Human color metric space: Why not use distance in XYZ (or cones) for metrics?

• The discriminability of two lights, x and x+Δ depends on x

• The distance in XYZ space depends on only Δ 2

1.5 • Experiments show that distance in 1 any frame that is linear with 0.5 absorptions is wrong 0

-0.5

-1 • This argument is invariant of linear -1.5 transformation -2 2 -2 0 1 -1 0 -1 1 2 -2 Human color metric space

• Solution: CIE defines a nonlinear transform on XYZ and a corresponding distance metric in this new representation (ΔE-2000)

• Principles of the nonlinear transformation (CIELAB space) Sensitivity: Weber-Fechner Law

Percentage, not absolute difference, predicts discriminability Color matching variance

• Repeated setting variability • Unequal variance in different directions

• Macadam used variance as metric

Variance clouds are ellipsoidal

(Poirson and Wandell, 1990, Vision Research) Macadam’s Ellipses/Ellipsoids

• Ellipses shown at x10 threshold • Kodak made 3D measurements • Circularizing the ellipses is one of several metric constraints Threshold discrimination

• The variance in color- matching settings is consistent with thresholds • Ellipsoid shape depends on space-time of stimulus • No single formula for all patterns or mean levels • Note the remarkable cancellation of L and M signals

(Wandell, JOSA, 1986) Other behavioral testing methods

D(s0,s2) • Similarity judgments of color pairs D(s1,s2) • Build a distance matrix • Check for consistency s0 s1 • Derive a perceptually uniform representation • Numerical scaling • Provide a numerical judgment S0 S1 S2 D01 D02 • Steven’s Power Law S0 _ S1 _ D12 s0 S2 _

CIELAB metric

ISET: t_Metrics

• CIE Lightness (1976) • CIELAB

Metrics were designed for • Large (2 deg) targets • Simple (uniform) backgrounds • Static display CIE Lightness

Cube-root of the 1/3 relative luminance * ⎛⎞YY L=116⎜⎟− 16, if > .00856 ⎝⎠YYww

* ⎛⎞Y L= 903.3⎜⎟ , otherwise ⎝⎠Yw

Y = CIE luminance

Yn = CIE luminance of a surface in the same viewing conditions CIELAB

1/3 1/3 ⎪⎪⎧⎫⎛⎞⎛⎞XY a*= 500⎨⎬− ⎜⎟⎜⎟XY ⎩⎭⎪⎪⎝⎠⎝⎠ww

1/3 1/3 ⎪⎪⎧⎫⎛⎞YZ ⎛ ⎞ b*= 200⎨⎬− ⎜⎟YZ ⎜ ⎟ ⎩⎭⎪⎪⎝⎠ww ⎝ ⎠ - and blue- chrominance representations CIELAB color solid CIELAB derived quantities

• Distance between two colors designed to predict visibility 1/2 2 2 2 ΔE = ΔL* + Δa * + Δb* ab (( ) ( ) ( ) )

• CIE 2000 replaces this formula with a computer program

Chromaa*

Hue and chroma terms

hab = arctan(b* /a*) 1 C* = (a*2 + b*2 ) 2 ab Opponent colors

Karl Ewald Hering Red/Green examples Opponent colors

Color opponency Red, green, yellow, blue

20 20 40 40 60 60 80 80 100 100 120 120 50 100 150 200 250 50 100 150 200 250

20 20 40 40 60 60 80 80 100 100 120 120 50 100 150 200 250 50 100 150 200 250 Hue cancellation experiment Hue cancellation experiment Hue cancellation curves

Looks yellow Cancel with blue 0.8

0 Relative energy energy Relative

1 400 500 600 700 Wavelength (nm) Looks blue Cancel with yellow Hue cancellation curves from two observers

Opponent-colors organization is widespread in technology; next lecture Color and pattern

• Color appearance depends on spatial pattern

• A metric for spatial pattern and – The next frontier

Color is not invariant as we change pattern Spatial and temporal variations in color sensitivity are significant

Reduced Reduced luminance Original blue-yellow contrast contrast End Tutorial: Imaging Lab Values

Red-green nChips = size(grayLAB,2); aRamp = scale(1:nChips,-30,30); varyAstar(1,:) = 70*ones(1,nChips); % L is set to 70 varyAstar(2,:) = aRamp; % a star varies varyAstar(3,:) = zeros(1,nChips); % b star is set ot zero - a* +

% Assuming a white point and convert from Lab to XYZ varyXYZ = lab2xyz(varyAstar,whiteXYZ)

- + b* Blue-yellow Tutorial: Imaging Lab Values

% You should understand these from basic color matching rgb2xyz = XYZ'*phosphors; xyz2rgb = inv(rgb2xyz); Red-green whiteRGB = (xyz2rgb*whiteXYZ)' whiteMax = max(whiteRGB) varyRGB = (xyz2rgb*varyXYZ); varyRGB = varyRGB/whiteMax; - a* +

% Use these routines to correct for gamma invGamTable = mkInvGammaTable(monitorGam,1000); fbRGB = round(dac2rgb(varyRGB',invGamTable)) - + b* % Display fbRGB values (see right) Blue-yellow CIE XYZ and xy units Large area XYZ measurements Reflective measurements Color appearance space: Munsell

Albert Munsell Munsell Color Notation

"rational way to describe color"

Not all colors are realized

• Munsell Book of Colors (A.H. Munsell) • Hue, Value, Chroma (2.5YR 5/10) • Cylindrical geometry and radial sampling (cf. OSA/UCS) • Unique notation was calibrated to CIE standards in ‘Munsell renotation system”

Outer circle are various (color circle) Up and down are values (lightness) Center to edge is saturation Munsell Color Notation

"rational way to describe color"

http://en.wikipedia.org/wiki/Munsell

• Munsell Book of Colors (A.H. Munsell) • Hue, Value, Chroma (2.5YR 5/10) • Cylindrical geometry and radial sampling (cf. OSA/UCS) • Unique notation was calibrated to CIE standards in ‘Munsell renotation system”

Outer circle are various hues (color circle) Up and down are values (lightness) Center to edge is saturation Munsell Color Notation

Hue "rational way to describe color"

Value Saturated

Neutral

• Munsell Book of Colors (A.H. Munsell) • Hue, Value, Chroma (2.5YR 5/10) • Cylindrical geometry and radial sampling (cf. OSA/UCS) • Unique notation was calibrated to CIE standards in ‘Munsell renotation system”

Outer circle are various hues (color circle) Up and down are values (lightness) Center to edge is saturation CIELAB captures Munsell hue and saturation reasonably, but not perfectly

Munsell iso-hue and iso-saturation curves