Digital Media Dr. Jim Rowan ITEC 2110 Color COLOR • Is a mess • It’s a subjective sensation PRODUCED in the brain • Color differs for light and paint/ink • Printing is different than viewing a monitor – a monitor EMITS light of a specific wavelength (or a combination of them) – print is like paint... it absorbs all the colors EXCEPT the color that you see which is reflected by the paint – a ball that is painted yellow and is viewed in a room that is lit by a light that is completely blue will look black... Why? Light • Is electromagnetic radiation (just like microwaves and radio signals... just different wavelengths) • Visible light has a wavelength that is between 400 and 700 nanoMeters • A nanoMeter is 1 billionth of a meter... – HINT: It’s a very short wave http://en.wikipedia.org /wiki/Electromagnetic_ spectrum Light • Visible light is a mix of different wavelengths of light at different intensities • Light is composed of different intensities of different frequencies – Spectral Power Distribution Color • We need to reproduce it electronically and manipulate it digitally • So… we need a way to model color. • i.e. we need a way to convert a subjective sensation to a reproducible physical phenomenon But first… Bird eye trivia • Eagles have 600,000 cones per square mm of retina, humans have 150,000 • The chestral (a bird) has cones that can see UV light (we don’t) • Owls “see” with their ears – they have flaps that are offset in front of the ear openings to detect vertical positioning One model of color: roughly based on the eye • Rods(night vision, B&W) • Cones (3 kinds, one for red, one for blue and one for green) ==> RGB tri-stimulus theory: the theory that states any color can be completely specified with just 3 values RGB • Color is captured as 3 numbers – one for red – one for green – one for blue • Color is displayed on a monitor by generating 3 different colors – one for red – one for green – one for blue The 3 colored things • Phosphor for a CRT and some Flat panel displays • Pockets of fluorescent gas for Plasma panel • …plus a bunch of other varieties... • All of them have the ability to adjust the intensity of each of the three colored things resulting in the display of most (Not All!) of the visible colors • Why not all colors ==> http://en.wikipedia.org/wiki/Computer_display RGB... Good but not all visible colors • In truth, the 3 different cones in the eye are cross connected in very complex ways – The firing of one receptor can inhibit or accentuate the firing of another • The model we use assumes (wrongly) that each receptor is strictly sensing R or G or B • ==> RGB cannot completely reproduce the visual stimulus Gamut: The complete range or scope of something RGB • Pure red – (100%, 0%, 0%) – (255,0,0) • Pure green – (0%, 100%, ,0%) – (0,255,0) • Pure blue – (0%, 0%, 100%) – (0,0,255) • Gray? R = G = B – (25,25,25) – (150,150,150) Mixing the Color of Light • …is an additive process – monitors emit light • …is not like mixing paint – mixing paint is a subtractive process – paint absorbs light How many colors? • Different cultures have different ideas about when 2 colors differ • People individually differ in their ability to distinguish between two colors • With the range of 0-255 – which can be encoded in 1 byte (8 bits) • The combinations of Red, Green and Blue results in 16.8 million possibilities 16**24 = 16,777,216 Color Depth • Usually expressed in bits • One byte for each of the RGB => 24 bits • Back to binary... – – – – 1 bit => 21 => 2 choices 2 bits => 22 => 4 choices 4 bits => 24 => 16 choices 8 bits => 28 => 256 choices Black, White and Grey • RGB (0, 0, 0) is black – Macs and PCs are opposite… go figure! • RGB (255, 255, 255) is white • When R = G = B you get grey – RGB (25, 25, 25) is dark grey – RGB (200, 200, 200) is light grey Color at 16 bit Color Depth 16 bits total to represent a color • RGB with 24 bit color depth – 24 bits => 3 bytes – 3 bytes, 3 colors => one byte per color • RGB with 16 bit color depth – – – – – 16 bits => 2 bytes 2 bytes, 3 colors... 16/3 = 5 bits with one left over... HMMMmmmm... What to do? …16 bit color depth • 16/3 = 5 bits with one bit left over... • What to do with the extra bit? • Go back to human perception – Humans do not discriminate Blue as well as they do Green – Evolutionary roots? • Our environment is green • Lots of green to discriminate • Assign 5 bits to R & B, and 6 bits to G – allows twice (how?) as many greens as blues Why would you want more than 16.8 million? • 24 bits color depth is plenty for human vision... • 30 and 48 bit color are WAY more than needed for human vision... • If you scan at 48 bit color there is a lot of information buried in the image than we can see BUT... • This information can be used by the program to make extremely fine distinctions during image manipulation (edge finding for example) – (Failed rocket engine example) Why worry about color depth? • One reason: file size • A 100X100 RGB image – at 24 bit color => 30,000 bytes uncompressed – at 16 bit color => 20,000 bytes uncompressed – 1 byte => 1/3 reduction of size Why is big bad? • All that data needs to be shuttled around • It wastes valuable computer resources – hard drive disk space – vram space – data transit time internet monitor main memory VRAM hard drive FYI • Indexed color… – Same as a color table representation – Same as a dictionary table representation • The color table is aka the color palate Indexed (indirect) color vs. 8 bit (direct) color • 8 bit (direct) color defines only 256 colors – red through blue – 256 choices, whether they are used or not • Indexed color allows 256 different colors – colors that actually exist in the image Indexed color vs. 8 bit direct color • But images in nature have a narrower range of colors... a palate – 8 bit direct color only allows 256 choices • With indirect color you can store 256 different colors that are actually found in the image – results in an image that more closely mimics the image Indexed (indirect) color with 256 colors in palate • Even though it allows for a closer-toreal-life image natural images will have more than 256 different colors… • What to do about this? – use the nearest color – optical mixing... dithering Nearest color • Loss of some detail • Distorted color • Generates artifacts – Banding or posterization – Example ===> Optical mixing: Dithering • Dithering uses a group of colors to approximate the desired color • Works well for high resolution images – (why?) • Works poorly for low resolution images – (why?) Questions?