Raster Graphics and Color Aaron Bloomfield CS 445: Introduction to Graphics Fall 2006 Overview Display hardware Raster graphics systems How are imaging systems organized? Color models How are images displayed? How can we describe and represent colors? All non-credited images in this slide set are from Wikipedia 2 Overview Display hardware Raster graphics systems How are images displayed? How are imaging systems organized? Color models How can we describe and represent colors? 3 Display Hardware Video display devices Cathode Ray Tube (CRT) Liquid Crystal Display (LCD) Plasma panels Thin-film electroluminescent displays Light-emitting diodes (LED) Hard-copy devices Ink-jet printer Laser printer Film recorder Electrostatic printer Pen plotter 4 Cathode Ray Tube (CRT) 1. 2. 3. 4. Electron guns Electron beams Focusing coils Deflection coils 5. 6. 7. 8. Image via Wikipedia: http://en.wikipedia.org/wiki/Cathode_ray_tube Anode connection Mask for separating beams for RGB part of displayed image Phosphor layer with RGB zones Close-up of the phosphor-coated inner side of the screen 5 Liquid Crystal Display (LCD) Figure 2.16 from H&B6 Display Hardware Video display devices » » Cathode Ray Tube (CRT) Liquid Crystal Display (LCD) Plasma panels Thin-film electroluminescent displays Light-emitting diodes (LED) Hard-copy devices Ink-jet printer Laser printer Film recorder Electrostatic printer Pen plotter 7 Overview Display hardware Raster graphics systems How are images displayed? How are imaging systems organized? Color models How can we describe and represent colors? 8 Raster Graphics Systems I/O Devices System Bus Display Processor CPU System Memory Frame Buffer Video Controller Monitor Figure 2.29 from H&B9 Frame Buffer Frame Buffer Figure 1.2 from FvDFH10 Frame Buffer Refresh Refresh rate is usually 60-120 Hz for CRTs Figure 1.3 from FvDFH11 Direct Color Framebuffer Store the actual intensities of R, G, and B individually in the framebuffer 24 bits per pixel = 8 bits red, 8 bits green, 8 bits blue DAC 12 Red component vs. monochromatic The red component only has the red components of each pixel (duh!) Monochromatic is a grayscale image that uses another color instead of white 13 Color Lookup Framebuffer Store indices (usually 8 bits) in framebuffer Display controller looks up the R,G,B values before triggering the electron guns DAC Color indices 14 Color CRT Figure 2.8 from H&B15 Overview Display hardware Raster graphics systems » How are images displayed? How are imaging systems organized? Color models How can we describe and represent colors? 16 Specifying Color Color perception usually involves three quantities: Hue: Distinguishes between colors like red, green, blue, etc Saturation: How far the color is from a gray of equal intensity Lightness: The perceived intensity of a reflecting object Sometimes lightness is called brightness if the object is emitting light instead of reflecting it. In order to use color precisely in computer graphics, we need to be able to specify and measure colors. 17 How Do Artists Do It? Artists often specify color as tints, shades, and tones of saturated (pure) pigments Tint: Adding white to a pure pigment, decreasing saturation Shade: Adding black to a pure pigment, decreasing lightness Tone: Adding white and black to a pure pigment White Tints Pure Color Tones Grays Black Shades 18 Additive color vs. Subtractive color Additive colors models are used in light Subtractive color models are used with paint Start with black, and add colored light to make your desired shade Start with white, and add colors A given color – red – subtracts away (from the reflected light) any wavelength that is not red Additive color mixing: Subtractive color mixing: 19 HSV Color Model H 0 120 240 * * * 60 270 270 S 1.0 1.0 1.0 0.0 0.0 * 1.0 0.5 0.0 V 1.0 1.0 1.0 1.0 0.5 0.0 1.0 1.0 0.7 Color Red Green Blue White Gray Black ? ? ? Figure 15.16&15.17 from H&B 20 Intuitive Color Spaces HSV is an intuitive color space Corresponds to our perceptual notions of tint, shade, and tone Hue (H) is the angle around the vertical axis Saturation (S) is a value from 0 to 1 indicating how far from the vertical axis the color lies Value (V) is the height of the “hexcone” 21 Precise Color Specifications Pigment-mixing is subjective --- depends on human observer, surrounding colors, lighting of the environment, etc We need an objective color specification Light is electromagnetic energy in the 400 to 700 nm wavelength range Dominant wavelength is the wavelength of the color we “see” Excitation purity is the proportion of pure colored light to white light Luminance is the amount (or intensity) of the light 22 Electromagnetic Spectrum Visible light frequencies range between ... Red = 4.3 x 1014 hertz (700nm) Violet = 7.5 x 1014 hertz (400nm) Figures 15.1 from H&B 23 Visible Light Hue = dominant frequency (highest peak) Saturation = excitation purity (ratio of highest to rest) Lightness = luminance (area under curve) White Light Orange Light Figures 15.3-4 from H&B 24 Color Matching In order to match a color, we can adjust the brightness of 3 overlapping primaries until the two colors look the same. C = color to be matched RGB = laser sources (R=700nm, G=546nm, B=435nm) C R B G C=R+G+B C R G B C+R=G+B Humans have trichromatic color vision 25 Linear Color Matching Grassman’s Laws: 1. Scaling the color and the primaries by the same factor preserves the match: 2C = 2R + 2G + 2B 2. To match a color formed by adding two colors, add the primaries for each color C1 + C2 = (R1 + R2) + (G1 + G2) + (B1 + B2) 26 RGB Spectral Colors Match each pure color in the visible spectrum (rainbow) Record the color coordinates as a function of wavelength ? 27 Perception of color intensities Which shade of gray is half-way between white and black? It’s the second one Humans perceive color intensity (and sound, etc.) on a logarithmic scale The first one is (about) 3/4 lit The second one is 1/2 lit We perceive it as 1/2 lit We perceive it as 1/4 lit That exponent is called gamma () 2.0 is a sample value for a CRT or LCD monitor 28 Human Color Vision Humans have 3 light sensitive pigments in their cones, called L, M, and S The cones respond to different lights: L to red M to green S to blue This leads to metamerism “Tristimulus” color theory 29 Just Noticeable Differences The human eye can distinguish hundreds of thousands of different colors When two colors differ only in hue, the wavelength between just noticeably different colors varies with the wavelength! More than 10 nm at the extremes of the spectrum Less than 2 nm around blue and yellow Most JND hues are within 4 nm. Altogether, the eye can distinguish about 128 fully saturated hues Human eyes are less sensitive to hue changes in less saturated light (not a surprise) 30 Luminance Compare color source to a gray source Luminance Y = .30R + .59G + .11B Color signal on a black and white TV 31 Chromaticity and the CIE Negative spectral matching functions? Some colors cannot be represented by RGB Enter the CIE Three new standard primaries called X, Y, and Z Y has a spectral matching function exactly equal to the human response to luminance 32 XYZ Matching Functions Match all visible colors with only positive weights Y matches luminance These functions are defined tabularly at 1nm intervals Linear combinations of the R,G,B matching functions 33 CIE Color Space 34 Spectral Locus Human perceptual gamut The cone keeps going towards the right Brightness (not whiteness!) keeps increasing From http://pages.infinit.net/graxx/Theorie4.html 35 Chromaticity Diagram Converting from RGB to XYZ is a snap: X 2.77 1.75 1.13 R Y 1.00 4.59 0.06 G Z 0.00 0.57 5.59 B X X Y Z Y y X Y Z x Given x, y, and Y, we can recover the X,Y,Z coordinates 36 Measuring Color Colorimeters measure the X, Y, and Z values for any color A line between the “white point” of the chromaticity diagram and the measured color intersects the horseshoe curve at exactly the dominant wavelength of the measured color A ratio of lengths will give the excitation purity of the color Complementary colors are two colors that mix to produce pure white Some colors are non-spectral --- their dominant wavelength is defined as the same as their complimentary color, with a “c” on the end 37 Gamuts 38 Gamut problems Monitor gamuts are RGB Printer gamuts are CMYK Each can display colors the other cannot 39 A Problem With XYZ Colors If we have two colors C1 and C2, and we add C to both of them, the differences between the original and new colors will not be perceived to be equal C1: add green C2: add green This is due to the variation of the just noticeable differences in saturated hues XYZ space is not perceptually uniform LUV space was created to address this problem 40 The RGB Color Model This is the model used in color CRT monitors RGB are additive primaries We can represent this space as a unit cube: From http://ian-albert.com/graphics/rgb.php 41 More on RGB The color gamut covered by the RGB model is determined by the chromaticites of the three phosphors To convert a color from the gamut of one monitor to the gamut of another, we first measure the chromaticities of the phosphors Then, convert the color to XYZ space, and finally to the gamut of the second monitor We can do this all with a single matrix multiply 42 The CMY Color Model Cyan, magenta, and yellow are complements of red, green, and blue the We can use them as filters to subtract from white The space is the same as RGB except the origin is white instead of black This is useful for hardcopy devices like laser printers If you put cyan ink on the page, no red light is reflected C 1 R M 1 G Y 1 B 43 CMYK Most printers actually add a fourth color, black Use black in place of equal amounts of C, M, and Y K min C , M , Y C CK M M K Y Y K Why? Black ink is darker than mixing C, M, and Y Black ink is cheaper than colored ink 44 CMY vs CMYK You can create (more or less) any color with each gamut Colored printer ink is more expensive Notice how much less CMY is needed in the CMYK version One of the reasons printers use CMYK And color mixing… 45 The YIQ Color Model YIQ is used to encode television signals Y is the CIE Y primary, not yellow Y is luminance, so I and Q encode the chromaticity of the color If we just throw I and Q away, we have black and white TV 0.114 R Y 0.299 0.587 I 0.596 0.275 0.321 G Q 0.212 0.528 0.311 B This assumes known chromaticities for your monitor Backwards compatibility with black and white TV More bandwidth can be assigned to Y 46 HSV color space aside Consider a HSV picture space: Let’s call the blue axis Cb Blue and red are at right angles to each other Thus, with 2 coordinates, you can define any saturation/hue combination It defines the blue/yellow combination And the red axis Cr It defines the red/cyan combination 47 The YCbCr Color Model Y is luma (similar to luminance) Cb and Cr define the chrominance The brightness of a pixel Meaning they each define saturation and hue Cb is the blue chroma, Cr is the red From the last slide Notice the murkiness of the Cr and Cb components The human eye does not notice differences in them nearly as much 48 JPEG Image Compression Take an image in the (r,g,b) color space Convert it to YCbCr Let’s say 4 bits (24 = 16) So it can have values 0, 15, 31, 47, … 255 Each pixel now takes up 16 bits Also 8 bits per image Downsample Cb and Cr to fewer bits Assume it’s 8 bits per image (24 bits total) 8 for Y, 4 for Cb and 4 for Cr Then do some other magic (including zip-like compression) And you have a (lossy) compressed image 49 Future of color displays Future color displays may have more pixels Will allow much more vivid color RGB plus yellow, cyan, etc. A greater gamut of color possibilities Note that both the pictures on the right are being displayed by an RGB output device… 50 Photo printers Photo printers use many ink colors for rich, vivid color Also a scam to sell you more ink (the razor business model) 51