Introduction to Color Spaces Author: Chik-Yau Foo E-mail: r89922082@ms89.ntu.edu.tw Mobile phone: 0920-767-580 v030305 Presenter: Wei-Cheng Lin E-mail: r97944028@ntu.edu.tw Mobile Phone: 0912-808-362 1 106 Long-wave radio 103 Short-wave radio 109 Microwave TV 100 Wavelength (m) Only a small part of the EM* spectrum is visible to us. This part is known as the visible spectrum. Wavelength in the region of 380 nm to 750 nm. Frequency (Hz) The EM Spectrum 10-3 1012 Infrared 1015 1018 Visible spectrum Ultraviolet X-rays Gamma rays 1021 *Electro-Magnetic 10-6 10-9 10-12 Cosmic rays 2 Light and the Human Eye When we focus on an image, light from the image enters the eye through the cornea and the pupil. The light is focused by the lens onto the retina. Fovea Lens Retina Pupil Cornea Optic nerve Iris 3 Rods and Cones When light reaches the retina, one of two kinds of light sensitive cells are activated. These cells, called rods and cones, translate the image into electrical signals. Rod Cone Retina light The electrical signals are transmitted through the optical nerve, and to the brain, where we will perceive the image. 4 Rods: Twilight Vision 130 million rod cells per eye. Most to green light (about 550-555 nm), but with a broad range of response throughout the visible spectrum. Produces relatively blurred images, and in shades of gray. Relative response 1000 times more sensitive to light than cone cells. 1.00 0.75 0.50 0.25 0.00 400 500 600 Wavelength (nm) 700 Relative neural response of rods as a function of light wavelength. Pure rod vision is also called twilight vision. 5 Cones: Color Vision 7 million cone cells per eye. S : 430 nm (blue) (2%) M: 535 nm (green) (33%) L : 590 nm (red) (65%) Produces sharp, color images. Pure cone vision is called photopic or color vision. S Relative absorbtion Three types of cones* (S, M, L), each "tuned" to different maximum responses at:- 1.00 M L 0.75 0.50 0.25 0.00 400 500 600 Wavelength (nm) 700 Spectral absorption of light by the three cone types *S = Short wavelength cone M = Medium wavelength cone L = Long wavelength cone 6 Photopic vs Twilight Vision There are about 20x more rods than cones in the eyes, but rod vision is poorer than cone vision. Rod vision Cone vision This is because rods are distributed all over the retina, while cones are concentrated in the fovea. Rod vision Cone vision 130 million rods 7 million cones 7 Eye Color Sensitivity 1.00 1.00 Relative sensitivity Relative absorbtion Although cone response is similar for the L, M, and S cones, the number of the different types of cones vary. L:M:S = 40:20:1 Cone responses typically overlap for any given stimulus, especially for the M-L cones. The human eye is most sensitive to green light. 0.75 0.1 S M M L L S 0.50 0.01 0.25 0.001 0.00 0.0001400 400 500 600 500 600 Wavelength (nm) Wavelength (nm) 700 700 Spectral by Effectiveabsorption sensitivityof of light cones the three (logcone plot) types S, M, and L cone distribution in the fovea 8 Theory of Trichromatic Vision The principle that the color you see depends on signals from the three types of cones (L, M, S). The principle that visible color can be mapped in terms of the three colors (R, G, B) is called trichromacy. The three numbers used to represent the different intensities of red, green, and blue needed are called tristimulus values. = r g b Tristimulus values 9 Seeing Colors The colors we perceive depends on:- Illumination source x Illumination source Object reflectance factor Object reflectance x Observer response The product of these three factors will produce the sensation of color. Observer spectral sensitivity = r g Tristimulus values (Viewer response) b Observer response 10 Additive Colors Start with Black – absence of any colors. The more colors added, the brighter it gets. Color formation by the addition of Red, Green, and Blue, the three primary colors Examples of additive color usage: Human eye Lighting Color monitors Color video cameras Additive color wheel 11 Subtractive Colors Starts with a white background (usually paper). Use Cyan, Magenta, and/or Yellow dyes to subtract from light reflected by paper, to produce all colors. Examples of Subtractive color use: Color printers Paints Subtractive color wheel 12 Using Subtractive Colors on Film Color absorbing pigments are layered on each other. As white light passes through each layer, different wavelengths are absorbed. The resulting color is produced by subtracting unwanted colors from white. W M B C K G R Y White light Green Pigment layers Red Blue Cyan Yellow Magenta Yellow Magenta Cyan Black White Black Reflecting layer (white paper) 13 Color Matching Experiment 1. Observer views a split screen of pure white (100% reflectance). 2. On one half, a test lamp casts a pure spectral color on the screen. 3. On the other, three lamps emitting variable amounts of red, green, and blue light are adjusted to match the color of the test light. 4. The amounts of red, green and blue light used to match the pure colors were recorded when an identical match was obtained. 5. The RGB tristimulus values for each distinct color was obtained this way. Color matching experimental setup Test Light Primary Mixture Tristimulus values 14 Metamerism Spectrally different lights that simulate cones identically appear identical. This phenomena is called metamerism. Almost all the colors that we see on computer monitors are metamers. 9 Relative power Such colors are called color metamers. 0 380 480 580 680 Wavelength (nm) 780 The dashed line represents daylight reflected from sunflower, while the solid line represents the light emitted from the color monitor adjusted to match the color of the sunflower. 15 Under trichromacy, any color stimulus can be matched by a mixture of three primary stimuli. Relative power The Mechanics of Metamerism 0 380 G 780 B 780 380 380 380 S r d S g d S b d 9 0 380 Relative power R 480 580 680 780 Wavelength (nm) Relative power Metamers are colors having the same tristimulus values R, G, and B; they will match color stimulus C and will appear to be the same color. 780 9 480 580 680 780 Wavelength (nm) 9 0 380 480 580 680 780 Wavelength (nm) The two metamers look the same because they have similar tristimulus values. 16 Human vision gamut Gamut A gamut is the range of colors that a device can render, or detect. Photographi c film gamut 0.8 0.6 The larger the gamut, the more colors can be rendered or detected. A large gamut implies a large color space. y 0.4 0.2 Monitor gamut 0 0 0.2 0.4 x 0.6 0.8 17 Color Spaces A Color Space is a method by which colors are specified, created, and visualized. Colors are usually specified by using three attributes, or coordinates, which represent its position within a specific color space. These coordinates do not tell us what the color looks like, only where it is located within a particular color space. Color models are 3D coordinate systems, and a subspace within that system, where each color is represented by a single point. 18 Color Spaces Color Spaces are often geared towards specific applications or hardware. Several types:HSI (Hue, Saturation, Intensity) based RGB (Red, Green, Blue) based CMY(K) (Cyan, Magenta, Yellow, Black) based CIE based Luminance - Chrominance based CIE: International Commission on Illumination 19 RGB* One of the simplest color models. Cartesian coordinates for each color; an axis is each assigned to the three primary colors red (R), green (G), and blue (B). Cyan (0,1,1) Blue (0,0,1) Magenta (1,0,1) White (1,1,1) Green (0,1,0) Black (0,0,0) Corresponds to the principles of additive colors. Red (1,0,0) Other colors are represented as an additive mix of R, G, and B. Yellow (1,1,0) RGB Color Space Ideal for use in computers. *Red, Green, and Blue 20 RGB Image Data Full Color Image Red Channel Green Channel Blue Channel 21 CMY(K)* Main color model used in the printing industry. Related to RGB. White Corresponds to the principle of subtractive colors, using the three secondary colors Cyan, Magenta, and Yellow. Magenta Red Blue Black Theoretically, a uniform mix of cyan, magenta, and yellow produces black (center of picture). In practice, the result is usually a dirty brown-gray tone. So black is often used as a fourth color. *Cyan, Magenta, Yellow, (and blacK) Cyan Green Yellow Producing other colors from subtractive colors. 22 CMY Image Data Full Color Image Cyan Image (1-R) Magenta Image (1-G) Yellow Image (1-B) 23 CMY – RBG Transformation The following matrices will perform transformations between RGB and CMY color spaces. Note that: R = Red G = Green B = Blue C = Cyan M = Magenta Y = Yellow All values for R, G, B and C, M, Y must first be normalized. 24 CMY – CMYK Transformations The following matrices will perform transformations between CMY and CMYK color spaces. Note that: C = Cyan M = Magenta Y = Yellow K = blacK All values for R, G, B and C, M, Y, K must first be normalized. 25 RGB – CMYK Transformations The following matrices perform transformations between RGB and CMYK color spaces. Note that: R = Red G = Green B = Blue C = Cyan M = Magenta Y = Yellow All values for R, G, B and C, M, Y must first be normalized. 26 RGB – Gray Scale Transformations The luminancy component, Y, of each color is summed to create the gray scale value. ITU-R Rec. 601-1* Gray scale: Y = 0.299R + 0.587G + 0.114B ITU-R Rec. 709 D65 Gray scale Y = 0.2126R + 0.7152G + 0.0722B ITU standard D65 Gray scale (Very close to Rec 709!) Y = 0.222R + 0.707G + 0.071B *601-1: Based on an old television (NTSC: National Television System Committee) standard 709 : Based on High Definition TV colorimetry (Contemporary CRT phosphors) ITU : International Telecommunication Union 27 RGB and CMYK Deficiencies RGB and CMY color models 0.8 limited to brightest available primaries (R, G, and B) and secondaries (CYM). 0.6 Not intuitive. We think of light in terms of color, intensity of color, y and brightness. 0.4 Colors changed by changing R, G, B ratios. Brightness changed by 0.2 changing R, G, and B, while maintaining their ratios. Intensity changed by 0 projecting RGB vector toward largest valued primary color (R, G, or B). Photographi c film gamut 6 color CMY printer gamut Monitor RGB gamut 0 0.2 0.4 x 0.6 0.8 Hexachrome: Cyan, Magenta, Yellow, Black, Orange, Green 28 HSI / HSL / HSV* Very similar to the way human visions see color. Works well for natural illumination, where hue changes with brightness. Used in machine color vision to identify the color of different objects. Image processing applications like histogram operations, intensity transformations, and convolutions operate on only an image's intensity and are performed much easier on an image in the HSI color space. *H=Hue, S = Saturation, I (Intensity) = B (Brightness), L = Lightness, V = Value 29 HSI Color Space Hue What we describe as the color of the object. Hues based on RGB color space. The hue of a color is defined by its counterclockwise angle from Red (0°); e.g. Green = 120 °, Blue = 240 °. Saturation Degree to which hue differs from neutral gray. 100% = Fully saturated, high contrast between other colors. 0% = Shade of gray, low contrast. Measured radially from intensity axis. Blue 240º Red 0º Green 120º RGB viewed Color Space RGB cube from gray-scale axis, and HSI Color Wheel RGB cube viewed rotated 30° from gray-scale axis 0% Saturation 100% 30 HSI Color Space Intensity Intensity 100% Brightness of each Hue, defined by its height along the vertical axis. Max saturation at 50% Intensity. As Intensity increases or decreases from 50%, Saturation decreases. Mimics the eye response in nature; As things become brighter they look more pastel until they become washed out. Hue Pure white at 100% Intensity. Hue and Saturation undefined. Pure black at 0% Intensity. Hue and Saturation undefined. 100% 0% Saturation 0% 31 HSI Image Data Full Image Hue Channel Saturation Channel Intensity Channel 32 HSI - RGB For a given RGB color of (R, G, B), the same color in the HSI Model is C(x,y) = (H, S, I), where Hue where Saturation Intensity 33 RGB to HSI Example Consider the RGB color defined by (215, 97,198) R = 215, G = 97, B = 198 Blue (0,0,255) Green (0,255,0) Red (255,0,0) Red 0º Blue 240º Green 120º Therefore, HSI coordinates = (308.64°, 0.843, 0.67) 34 HSI to RBG Dependent on which sector H lies in. Blue 240º Red 0º For 240º H 360 º H H 240 1 g 1 S 3 1 S cos H b 1 3 cos(60 H ) r 1 ( g b) Green 120º For 0º H 120 º 1 b 1 S 3 1 S cos H r 1 3 cos(60 H ) g 1 ( r b) For 120º H 240 º H H 120 1 r (1 S ) 3 1 S cos( H ) g 1 3 cos(60 H ) b 1 (r g ) 35 HSV Color Space Hue and Saturation similar to that of HSI color model. 100% Value V: Value; defined as the height along the central vertical axis. Like Intensity in HSI, color intensity increases as Value increases. Hue 0% 100% HSV: Hue, Saturation, and Value Saturation 0% 36 HSV Color Space Hue and Saturation similar to that of HSI color model. V: Value; defined as the height along the central vertical axis. Value Intensity Smax at V100 Like Intensity in HSI, color intensity increases as Value increases. Smax at I50 As Value increases, hues become more saturated. Hues do not progress through the pastels to white, just as fluorescent images never change colors even though its intensity may increase. HSV is good for working with fluorescent colors. HSV: Hue, Saturation, and Value 37 Intensity Operations in HSI To change the individual color of any region in the RGB image, change the value of the corresponding region in the Hue image. Then convert the new H image with the original S and I images to get the transformed RGB image. Saturation and Intensity components can likewise be manipulated. Original Image Hue Saturation Intensity 38 Disadvantages of HSI Color Model There are many disadvantages to the HS color model. For example: Cannot perform addition of colors expressed in polar coordinates. Transformations are very difficult because Hue is expressed as an angle. For color machine vision, the hues of low-saturation may be difficult to determine accurately. Systems which must be able to differentiate all colors, saturated and unsaturated, will have significant problems using the HSI representation. When saturation is zero, hue is undefined. Transforming between HSI and RGB is complicated. 39 1931 CIE* Standard Observer (r, g, b) The following color matching functions were obtained. 0.4 0.3 r There were problems with the r, g, b color matching functions. Negative values meant that the color had to be added to the test light before the two halves could be balanced. *Commission Internationale de L’Éclairage Tristimulus values b g 0.2 0.1 0.0 -0.1 380 480 580 Wavelength (nm) 680 780 Color-matching functions for 1931 Standard Observer, the average of 17 color-normal observers having matched each wavelength of the equal energy spectrum with primaries of 435.8nm, 546.1 nm, and 700 nm, on a bipartite 2° field, surrounded by darkness. 40 1931 CIE Standard Observer (x, y, z) Special properties of X, Y, Z:- 2.0 z Tristimulus values CIE adopted another set of primary stimuli, designated as X, Y, and Z. Imaginary (non-physical) primary. All luminance information is contributed by Y. Linearly related to R, G, B. Non-negative values for all tristimulus values. 1.5 y x 1.0 0.5 0.0 380 480 580 Wavelength (nm) 680 780 1931 standard observer (2° observer). 41 CIE 1931 xy Chromaticity Diagram 2D projection of 3D CIE XYZ color space onto X+Y+Z=1 plane. x and y calculated as follows:- The chromaticity of a color is determined by (x,y). 42 CIE 1931 xy Chromaticity Diagram For color C, where C 0.5 X + 0.4 Y + 0.1 Z (0.5, 0.4) Color C is represented as (0.5, 0.4) on the Chromaticity diagram. 43 CIE 1931 xyY Chromaticity Diagram Each point on xy corresponds to many points in the original 3D CIE XYZ space. Color is usually described by xyY coordinates, where Y is the luminance, or lightness component of color. Y starts at 0 from the white spot (D65) on the xy plane, and extends perpendicularly to 100. As the Y increases, the colors become lighter, and the range of colors, or gamut, decreases. 44 CIE XYZD65 to sRGB* The following transformations allow transformations between CIE XYZD65 and the sRGB color models. *sRGB = Standard RGB, the standard for Internet use. 45 CIE XYZ Rec. 609-1 - RGB The following are the transformations needed to convert between CIE XYZRec.609-1 and RGB. 46 CIE XYZ - RGBRec. 709 Use the following matrices to transform between CIE XYZ and Rec. 709 RGB (with its D65 white). R709 3.240479 1.537150 0.498535 X G 0.969256 1.875992 Y 0.041556 709 B709 0.055648 0.0204043 1.057311 Z X 0.412453 0.357580 0.180423 R709 Y 0.212671 0.715160 0.072169 G 709 Z 0.019334 0.119193 0.950227 B709 47 XYZ D65 - XYZ D50 Transformations If the illuminant is changed from D50 to D65, the observed color will also change. The following matrices enable transformations between XYZD65 and XYZD50. X 0.9555 0.0231 0.0633 X Y 0.0283 1.0100 0.0211 Y Z D 65 0.0123 0.0206 1.3303 Z D 50 48 Inadequacies in the 1931 xy Chromaticity Diagram Each line in the diagram represents a color difference of equal proportion. The lines vary in length, sometimes greatly, depending on what part of the diagram they're in. The differences in line length indicates the amount of distortion between parts of the diagram. 49 CIE 1960 u,v Chromaticity Diagram To correct for the deformities in the 1931 xy diagram, a number of uniform chromaticity scale (UCS) diagrams were proposed. The following formula transforms the XYZ values or x,y coordinates to a set of u,v values, which present a visually more accurate 2D model. 50 CIE 1976 u', v' Chromaticity Diagram But the 1960 uv diagram was still unsatisfactory. In 1975, CIE modified the u,v diagram and by supplying new (u',v') values. This was done by multiplying the v values by 1.5. Thus in the new diagram u' = u and v' = 1.5v. The following formulas allow transformation between u’v’ and xy coordinates. 51 CIE 1976 u', v' Chromaticity Diagram Each line in the diagram represents a color difference of equal proportion. While the representation is not perfect (it can never be), the u',v' diagram offers a much better visual uniformity than the xy diagram. 52 CIE L*u*v* Color Space/ CIELUV Replaces uniform lightness scale Y with L*, an visually linear scale. Equations are as follows:- where un’ and vn’ refer the the reference white light or light source. 53 CIE L*a*b* Color Space / CIELAB Second of two systems adopted by CIE in 1976 as models that better showed uniform color spacing in their values. Based on the earlier (1942) color opposition system by Richard Hunter called L, a, b. Very important for desktop color. Basic color model in Adobe PostScript (level 2 and level 3) CIE L*a*b* color axes Used for color management as the device independent model of the ICC* device profiles. *International Color Consortium 54 CIE L*a*b* (cont’d) Central vertical axis : Lightness (L*), runs from 0 (black) to 100 (white). a-a' axis: +a values indicate amounts of red, -a values indicate amounts of green. b-b' axis, +b indicates amounts of yellow; -b values indicates amounts of blue. For both axes, zero is neutral gray. Only values for two color axes (a*, b*) and the lightness or grayscale axis (L*) are required to specify a color. CIELAB Color difference, E*ab, is between two points is given by: 100 L* -a +b -b +a (L1*, a1*, b1*) (L2*, a2*, b2*) 0 CIE L*a*b* color axes E *ab (L*) 2 (a*) 2 (b*) 2 55 CIELAB Image Data Full Color Image L data L-a channel L-b channel 56 XYZ to CIELAB Given Xn, Yn, and Zn, which are the tristimulus values for the reference white, for a point X, Y, Z:- 57 CIELAB to XYZ Reverse transformation to XYZ, given L*a*b* values. For 58 CIE L*C*h* (LCh) Often referred to simply as LCh. Same system is the same as the CIELab color space, except that it describes the location of a color in space by use of polar coordinates rather than rectangular coordinates. L* is a measure of the lightness of a sample, ranging from 0 (black) to 100 (white). C* is a measure of chroma (saturation), and represents distance from the neutral axis. h is a measure of hue and is represented as an angle ranging from 0° to 360. L* (Lightness) 100% H (Hue) 0% 100% C* (Chroma) 0% 59 Y’U’V’1 (EBU2) Color Space Red: xR = 0.630 yR = 0.340 Green: xG = 0.310 yG = 0.595 Blue: xB = 0.155 yB = 0.070 White xW= 0.312713 yW = 0.329016 Standard color space used for analogue television transmissions in European TVs (PAL3 and SECAM4). Y is the luminance (or luma) or black and white component U and V represent the color differences: U = B - Y; V = R - Y U represents the Blue - Yellow axis; V, the Red - Green axis. Gamma for PAL is assumed to be 2.8 1 Y = Luminance, U and V are chrominance components European Broadcasting Union 3 Phase Alternation Line video standard for Europe; U = 0.492(B-Y); V = 0.877(R-Y) 4 Sequential Couleur avec Mémoire, video standard for France, the Middle East and most of Eastern Europe 2 60 Y'UV Channels Full Color Image Y U (Blue - Yellow) V (Red - Green) 61 Nonlinear Y’U’V’ Transformations The following matrices allow transformations of nonlinear signals between Y’U’V’ and R’G’B. 62 Linear Y’U’V’ Transformations The following matrices allow transformations of linear signals between YUV RGB and XYZ. 63 Y’I’Q’1 Color Space Red: xR = 0.67 yR = 0.33 Green: xG = 0.21 yG = 0.71 Blue: xB = 0.14 yB = 0.08 White xW= 0.310063 yW = 0.316158 Used in NTSC2 color broadcasting in USA; compatible with black and white television, which only uses Y. U and V defines colors clearly, but do not align with desired human perceptual sensitivities. Y [0..1] is the luminance (or luma) component. I [-0.523 .. 0.523] represents the Orange-Blue axis. Q [-0.596 .. 0.596] represents the Purple-Green axis. 1Y’I’Q’ = Luminance, In-phase, and Quadrature phase. Television Standards Committee video standard for North America 2National 64 YIQ Channels Full Color Image Y Channel I (Orange - Blue) Q (Purple - Green) 65 Y’I’Q’ – R’G’B’ Use the following matrices to transform linear signals between Y’I’Q’ and gamma-corrected RGB values. 66 YIQ - YUV YIQ - YUV transformation is simply a color rotation of 33º. The following matrices can be used to transform between NTSC based YIQ and PAL based YUV. YYUV 1.000 0.000 0.000 YYIQ U 0.000 1.270 1.8050 I V 0.000 0.9489 0.6561 Q 0.000 0.000 YYUV YYIQ 1.000 I 0.000 0.2676 0.7361 U Q 0.000 0.3869 0.4596 V 67 Y’CbCr* Color Space Independent of scanning standard and system primaries, therefore: No chromaticity coordinates. No CIE XYZ matrices. No assumptions about white point. No assumptions about CRT gamma. Y’ is luminance, Cb is the chromaticity component for blue, and Cr is the chromaticity component for red. Very closely related to the YUV, it is a scaled and shifted YUV. Cb = (B - Y) / 1.772 + 0.5 Cr = (R - Y) / 1.402 + 0.5 Chrominance values Cb and Cr are [ 0..1 ]. Deals only with digital representation of R’G’B’ signals in Y’CbCr form. Color format for JPEG1 and MPEG2. 1JPEG = Joint Photography Experts Group = Motion Pictures Experts Group 2MPEG 68 Y'CbCr - RGB[0..+1] Use the following matrices to convert between YCbCr and RGB ranging from [0 .. +1] ' Y601 16 65.481 128.553 24.996 R ' G ' C 128 37.797 74.203 112.000 B CR 128 112.000 93.786 18.214 B ' ' 16 0 0.00625893 Y601 R ' 0.00456621 G ' 0.00456621 0.00153632 0.00318811 C 128 B B ' 0.00456621 0.00791071 CR 128 0 69 ITU-R.601 YCbCr - R’G’B’219 ITU-R.601 defines 16 =< Y >= 235, and 16 =< Cb and Cr >= 240, with 128 corresponding to 0. These BT.601 equations are used by many video ICs to convert between digital R’G’B’ and BT.601 YCbCr data. R ' 1.000 0.000 1.371 Y 16 G ' 1.000 0.336 0.698 C 128 b B ' 1.000 1.732 0.000 Cr 128 Y 0.301 0.586 0.113 R ' 0 C 0.172 0.340 0.512 G ' 128 b Cr 0.512 0.430 0.082 B ' 128 The R’G’B’ values produced have a nominal range of 16 - 235. ITU-R.601 = International Telecommunication Union – Radio communications Recommendation 601 RGB219 = A restricted color space used to match YUV standard transmission values 70 ITU-R.601 YCbCr - R’G’B’0-255 If 24 bit R’G’B’ data needs to have a range of 0-255, the following equation should be used. The R’, G’, and B’ values must be saturated at the 0 and 255 values. R ' 1.164 0.000 1.596 Y 16 G ' 1.164 0.392 0.813 C 128 b B ' 1.164 2.017 0.000 Cr 128 Y 0.257 0.504 0.098 R ' 16 C 0.148 0.291 0.439 G ' 128 b Cr 0.439 0.368 0.071 B ' 128 71 YCbCr 4:4:4 Full resolution YCbCr 4:4:4 is in uncompressed data format. Each pixel has all Y, Cb and Cr values. Chrominance data can be subsampled without significant degradation in image quality. Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr YCbCr 4:4:4 72 YCbCr 4:2:2 Obtained by a 2:1 horizontal subsampling of YCbCr 4:4:4 values. Often used digital cameras, and many video ICs. Restore original colors by interpolating missing Cb and Cr values from the values present. Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr YCbCr 4:2:2 4:4:4 73 YCbCr 4:2:0 YCbCr 4:2:0 obtained by a 2:1 horizontal and vertical subsampling of YCbCr 4:4:4 values. YCbCr (or, often called “YUV”) values are often subsampled to 4:2:0 before JPEG compression. Restore original colors by interpolating missing Cb and Cr values from available values. Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr YCbCr 4:2:0 4:4:4 74 YCbCr 4:1:1 YCbCr 4:1:1 obtained by a 4:1 horizontal subsampling of YCbCr 4:4:4 values. VHS* quality color. Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr Y Y Y Y Cb C r Cb Cr Cb Cr Cb Cr YCbCr 4:1:1 4:4:4 VHS: Video Home System 75 YCbCr 4:2:2 - RGB 1. Convert YCbCr 4:2:2 to YCbCr 4:4:4, through interpolation. Y Cb Cr Y Y Cb Cr Y Y Y Y Cb Cr Cb Cr Cb Cr Cb Cr Y Cb Cr Y Y Y Cb Cr Y Y Cb Cr Y Y Cb Cr Y Y Y Y Y Cb Cr Cb Cr Cb Cr Cb Cr Y Cb Cr Y Y Cb Cr Y Y Y Y Y Cb Cr Cb Cr Cb Cr Cb Cr YCbCr 4:2:2 Interpolation of Cb and Cr values Y Y Y Y Cb Cr Cb Cr Cb Cr Cb Cr YCbCr 4:4:4 76 YCbCr 4:2:2 - RGB 1. Convert YCbCr 4:2:2 to YCbCr 4:4:4, through interpolation. 2. Convert YCbCr 4:4:4 to nonlinear R’G’B’. 77 YCbCr 4:2:2 - RGB 1. Convert YCbCr 4:2:2 to YCbCr 4:4:4, through interpolation. 2. Convert YCbCr 4:4:4 to nonlinear R’G’B’. 3. If necessary, convert nonlinear R’G’B’ to linear RGB by removing gamma information. For (R’, G’, B’) < 21 R' 255 255 R 4.5 G' 255 255 G 4.5 B' 255 255 B 4.5 For (R’, G’, B’) 21 R' 0.099 255 R 255 1.099 2.2 R' 0.099 255 G 255 1.099 R' 0.099 255 B 255 1.099 2.2 2.2 78 SMPTE*-C RGB Color Space Red: xR = 0.630 yR = 0.340 Green: xG = 0.310 yG = 0.595 Blue: xB = 0.155 yB = 0.070 White xW= 0.312713 yW = 0.329016 Current color standard for broadcasting in America, replacing older NTSC standard. Reason for standard change: original set of (YIQ) primaries being slowly changed to YUV primaries. CRT gamma assumed to be 2.2 with NTSC, 2.8 with PAL. *Society of Motion Picture and Television Engineers 79 Linear SMPTE-C RGB Transformations The following matrices allow transformations of linear signals between SMPTE-C RGB and XYZ. 80 Nonlinear SMPTE-C RGB Transformation The transformation matrices for non-linear signals are the same as that of the older YIQ (NTSC) standard. 81 ITU.BT-709 in Y'CbCr Red: xR = 0.64 yR = 0.33 Green: xG = 0.30 yG = 0.60 Blue: xB = 0.15 yB = 0.06 White (D65): xW= 0.312713 yW = 0.329016 Recent standard, defined only as an interim standard for HDTV studio production. Defined by the CCIR (now the ITU-R) in 1988, but is not yet recommended for use in broadcasting. The primaries are the R and B from the EBU, and a G which is midway between SMPTE-C and EBU. CRT gamma is assumed to be 2.2. ITU: International Telecommunication Union CCIR: Comite Consultatif International des Radiocommunications 82 Linear XYZ Rec.709 – RGBD65 The following matrices allow transformation between linear signals of Rec.709 XYZ values and RGBD65. X 709 0.412 0.358 0.180 RD 65 Y 0.213 0.715 0.072 G 709 D 65 Z 709 0.019 0.119 0.950 BD 65 RD 65 3.241 1.537 0.499 X 709 G 0.969 1.876 Y 0.042 D 65 709 BD 65 0.056 0.204 1.057 Z 709 83 RGBEBU – RGB709 The following matrices allow transformation between linear Rec. 709 RGB signals and EBU* RGB signals. R709 1.0440 0.0440 0.0000 REBU G 0.0000 1.0000 0.0000 G 709 EBU B709 0.0000 0.0119 1.0119 BEBU European Broadcasting Union 84 Nonlinear Y’CbCr 709– R’G’B’ The following matrices allow transformation between nonlinear Rec.709 Y’CbCr signals and R’G’B’. Scaling optimized for digital video. R ' 1.0000 0.0000 1.5701 Y ' G ' 1.0000 0.1870 0.4664 C b B ' 1.000 1.8556 0.0000 Cr 0.0721 R ' Y ' 0.2215 0.7154 C 0.1145 0.3855 0.5000 G ' b Cr 0.5016 0.4556 0.0459 B ' 85 SMPTE-240M Y’PbPr (HDTV*) Red: xR = 0.67 yR = 0.33 Green: xG = 0.21 yG = 0.71 Blue: xB = 0.15 yB = 0.06 White xW= 0.312713 yW = 0.329016 This one of the developments of NTSC component coding, in which the B primary and white point were changed. With this space color, all three components Y’, Pb, and Pr are linked to luminance. Standard for coding High Definition TV broadcasts in the USA. The CRT gamma law is assumed to be 2.2. *High Definition TeleVision 86 RGB 240M - RGB 709 The following transforms between SMPTE* 240M (SMPTE RP 145 or Y'PbPr) RGB to Rec. 709 RGB. R 1.065364 0.055391 0.009974 R G 0.019635 1.036361 0.016725 G B 240 M 0.001632 0.004414 0.993954 B 709 R 0.939555 0.050173 0.010272 R G 0.017775 0.965795 0.016430 G B 709 0.001622 0.004371 1.005993 B 240 M *Society of Motion Picture and Television Engineers 240M = Recommended Standard for USA’s HDTV 87 RGB 240M - RGB EBU The following transforms from SMPTE 240M (SMPTE RP 145, or YPbPr) RGB into to Rec. 709 RGB. REBU 1.3481 0.3481 0.0000 R240 G 0.0257 1.0257 0.0000 G EBU 240 BEBU 0.0254 0.0568 1.0822 B240 R240 0.7466 0.2534 0.0000 REBU G 0.0187 0.9813 0.0000 G 240 EBU B240 0.0185 0.0575 0.9240 BEBU 88 Linear SMPTE-240M XYZ - RGB The following matrices allow linear transformations between SMPTE-240M XYZ and RGB. R 2.041 0.564 0.345 X G 0.893 1.816 0.032 Y B 0.064 0.130 0.982 Z 89 Nonlinear SMPTE-240M Y’PbPr Transformations The following matrices allow nonlinear transformations between Y’PbPr and R’G’B’. Scaling suited for component analogue video. 90 Xerox Corporation Y’E’S’1 Standard proposed by Xerox Corporation. YES has three components: Y, or luminancy, E, or chrominancy of the red-green axis, and S, chrominancy of the yellow-blue axis. The following examples assume a CRT gamma of 2.2. 1YES = Luminance, E = red-green chromaticity, S = blue-yellow chromaticity 91 Y’E’S’ to XYZD50 Transformation If you start with non-linear Y’E’S’ values, apply a gamma correction to convert to linear YES values first:- Next, apply the following transformation to the linear YES. 92 XYZD50 to YES Transformation First, apply the following transformation matrix to obtain linear YES from XYZD50. For non-linear Y’E’S’ values, apply a gamma correction. 93 YES to XYZD65 Transformation As before, if you start with non-linear Y’E’S’ values, apply a gamma correction to convert to linear YES values first:- Next, apply the following transformation to the linear YES. 94 XYZD65 to YES Transformation First, apply the following transformation matrix to obtain linear YES from XYZD50. If required, apply a gamma correction to obtain Y’E’S’. 95 Kodak Photo CD YCC (YC1C2) Color Space Based on Rec. 709 and 601-1, the YCC color space has color gamut defined by the Rec. 709 primaries and a luminance chrominance representation of color like ITU 601-1's YCbCr. YCC provides a color gamut that is greater than that which can currently be displayed, and is therefore suitable not only for both additive and subtractive (RGB and CMY(K)) reproduction. Extended color gamut obtainable by the PhotoCD system is achieved by allowing both positive and negative values for each primary, allowing YCC to store more colors than current display devices, such as CRT monitors and dye-sublimation printers, can produce. 96 Transformations to Encode Kodak YC1C2 Data First, apply a gamma correction: For R709, G709, B709 0.018 For R709, G709, B709 0.018 Next, transform the R’G’B’ data into YC1C2 data. Scaling is optimized for films. 97 Transformations to Encode YC1C2 Data (cont’d) Finally, store the floating point values as 8-bit integers. The unbalanced scale difference between Chroma1 and Chroma2 is designed, according to Kodak, to follow the typical distribution of colors in real scenes. 98 Transforming YC1C2 Data to 24-bit RGB Kodak YCC can store more information than current display devices can cope with (it allows negative RGB values), so the transforms from YCC to RGB are not simply the inverse of RGB to YCC, they depend on the target display system. First, recover normal Luma (Y) and Chroma (C1 and C2) data. Second, if the display primaries match Rec. 709 primaries in their chromaticity, then 99 YC1C2 – RGB Signal Voltages First, recover normal Luma (Y) and Chroma (C1 and C2). Then, calculate the RGB display voltages as follows; VR ' 1.000 0.000 1.000 Y V 1 1.000 0.194 0.509 C G ' 353.2 1 VB ' 1.000 1.000 0.000 C2 100 PhotoYCC - YCbCr Transform PhotoYCC color space into YCbCr values as follows:- YYCbCr 1.402YYCC Cb 1.291C1 73.400 Cr 1.340C2 55.638 As the PhotoYCC color space is larger than the YCbCr color space, the produced image may be poorer than the original. Transform YCbCr data into PhotoYCC color space as follows:- YYCC 0.713YYCbCr C1 0.775Cb 56.855 C2 0.746Cr 41.521 The image produced may not match an image that was one encoded directly in PhotoYCC color space. 101 sRGB specs CIE chromaticities for ITU-R BT.709 reference primaries and CIE standard illuminant x y z Red 0.6400 0.3300 0.0300 Green 0.3000 0.6000 0.1000 Blue 0.1500 0.0600 0.7900 D65 White Point 0.3127 0.3290 0.3583 sRGB Viewing Environment Summary Condition sRGB Display Luminance level 80 cd/m2 Display White Point x = 0.3127, y = 0.3290 (D65) Display model offset (R, G and B) 0.0 Display input/output characteristic 2.2 Reference ambient illuminance level 64 lux Reference Ambient White Point x = 0.3457, y = 0.3585 (D50) Reference Veiling Glare 0.2 cd m-2 102 Glossary of Color Models Color Space Primaries White pt Gamma Rx Ry Gx Gy Bx By Wx Wy Std name Apple RGB Trinitron D65 1.8 0.63 0.34 0.28 0.6 0.16 0.07 0.31271 0.32902 Trinitron D65 2.2 0.63 0.34 0.31 0.6 0.16 0.07 0.31271 0.32902 ? D65 2.2 0.64 0.33 0.3 0.6 0.15 0.06 0.31271 0.32902 CCIR 709 0.32902 CIE_XYZitu SMPTE-C sRGB SMPTE-C (CCIR 601-1) HDTV (CCIR 709) Pal/Secam EBU/ITU D65 2.2 0.64 0.33 0.29 0.6 0.15 0.06 0.31271 Color Match RGB P22-EBU D50 1.8 0.63 0.34 0.3 0.61 0.16 0.08 0.3457 0.3585 P22-EBU Adobe RGB Adobe RGB (1998) D65 2.2 0.64 0.33 0.21 0.71 0.15 0.06 0.31271 0.32902 Adobe RGB (1998) NTSC (1953) NTSC (1953) Std Illmnt C 2.2 0.67 0.33 0.21 0.71 0.14 0.08 0.31006 0.31616 CCIR 601-1 CIE RGB CIE RGB Std Illmnt E 2.2 0.74 0.27 0.27 0.72 0.17 0.01 0.3333 brightness lightness luma chroma saturation 0.3333 CIE RGB - the human sensation by which an area exhibits more or less light. - the sensation of an area's brightness relative to a reference white in the scene. - Luminance component corrected by a gamma function and often noted Y'. - the colorfulness of an area relative to the brightness of a reference white. - the colorfulness of an area relative to its brightness. CCIR: Comite Consultatif International des Radiocommunications 103 Glossary of Illuminants and Their Reference Whites Illuminant A B C D5500 D6500 D7500 E wx 0.488 0.348 0.310 0.332 0.313 0.299 0.333 wy 0.407 0.352 0.316 0.348 0.329 0.315 0.333 104 2D Color Spaces ITU Color Space RGB Color Space NTSC Color Space HLS Color Space SMPTE Color Space HSV Color Space Rec.709 Color Space 105 References BARCO Introduction to Color Theory, Monitor Calibration and Color Management, http://www.barco.com/display_systems/support/colorthe/colorthe.htm R. S. Berns, Principles of Color Technology (3rd Ed)., 2000 S. M. Boker, The Representation of Color Metrics and Mappings in Perceptual Color Space, http://kiptron.psyc.virginia.edu/steve_boker/ColorVision2/ColorVision2.h tml D. Bourgin, Color spaces FAQ, http://www.inforamp.net/~poynton/notes/Timo/colorspace-faq, 1996, R. Buckley, Xerox Corp., G. Bretta, Hewlett-Packard Laboratories, Color Imaging on the Internet, http://www.inventoland.net/imaging/cii/nip01.pdf, 2001 Color Representation, http://203.162.7.85/unescocourse/computervision/comp_frm.htm 106 References (cont’d) A. Ford and A. Roberts, Color Space Conversions, www.inforamp.net/~poynton/PDFs/coloureq.pdf, 1998 Gonzales, Woods, Digital Image Processing, 2000 A. Kankaanpaa, Color Formats, www.physics.utu.fi/ett/kurssi/sfys3066/arto_tiivis.pdf, 2000. M. Nielsen and M. Stokes, Hewlett-Packard Company, The Creation of the sRGB ICC Profile, http://www.srgb.com/c55.pdf C. Poynton, Frequently Asked Questions about Color, http://www.inforamp.net/~poynton/ColorFAQ.html, 1999 C. Poynton, Frequently Asked Questions about Gamma, http://www.inforamp.net/~poynton/GammaFAQ.html, 1999 G. Starkweather, Colorspace interchange using sRGB, http://www.microsoft.com/hwdev/tech/color/sRGB.asp, 2001 107 The End - Question and Answer Session - 108