Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Chapter 2: Color Basics 1 What is light? EM wave, radiation Visible light has a spectrum wavelength from 400 – 780 nm. Light can be composed of radiation of various wavelengths. Light can be described by a spectral power distribution (SPD). power wavelength B G R 2 Spectrum 3 SPD Taken from Adobe 4 What is color? Human retina has 3 types of color photoreceptor cone cells rod cells (only effective at extremely low light levels, or night-vision). When light falls on the retina, the 3 types of cone cells respond (at different levels) to create the sensation of color. CIE (Commission Internationale de L’Eclairage) specifies how an SPD can be transformed into tristimulus values (XYZ) that specify a color. 5 Sensitivity 6 For your interest Mantis shrimps have 16 photoreceptors, about 4 of them are in the ultraviolet region While human beings can distinguish some 10,000 colors, mantis shrimps can distinguish 110,000 colors. 7 What is color? Given 3 primary lights: red, green, and blue, most colors can be described by a triplet RGB. Each value is (linearly) proportional to the physical power (radiance) of a component light. We call these linear RGB values. R=0.81 G=0.52 B=0.56 R=0.36 G=0.69 B=0.74 R=0.0 G=0.0 B=0.69 R=0.0 G=0.0 B=0.91 R=0.69 G=0.69 B=0.69 R=0.91 G=0.91 B=0.91 8 Gamma A color CRT has 3 types of phosphors that emit differentcolored (RGB) light. Intensity measures the power of a radiating light source. A typical CRT has a non-linear transfer function. That is, the amount of power (intensity) emitted is approximately proportional to the applied voltage (scaled to the range [0,1]) raised to a constant power, commonly called gamma, . Intensity Voltage Typical CRTs have gamma values close to 2.5. 9 Gamma intensity 1 gamma < 1 gamma = 1 gamma > 1 0 1 voltage 10 Gamma intensity 1 gamma = 1 gamma > 1 0.176 0 0.5 voltage 1 11 Gamma intensity 1 0.77 gamma = 1 gamma > 1 0.031 0 0.25 voltage 0.9 1 12 Gamma correction A camera records the intensity (i.e., radiance) of an object. If the recorded values are translated into a voltage signal, and applied directly to a CRT, the reproduced image will have a distorted intensity. A typical camera, therefore, applies a gamma correction transfer function. That is, it applies a 1/gamma power function to the recorded RGB values: R’ = R1/gamma (likewise for G and B) Note: the RGB values used in the formula are all normalized to the [0,1] range. 13 Gamma correction 1.0 0.5 1.0 0.176 14 Gamma (example) original as displayed on a CRT without gamma correction Gamma correction The gamma corrected values R’G’B’ are distinguished from the original RGB values by the prime notation. They are called non-linear (or gamma corrected) RGB. When we are processing digital images, the pixel values we are dealing with are usually the nonlinear (R’G’B’) values. 16 Gamma correction RGB camera x gamma R’G’B’ R’G’B’ computer correction x1/ RGB eye CRT (x1/) 17 Lightness Human vision system has a non-linear perceptual response to intensity e.g., a source having a luminance (power) of 18% of another source appears about half as bright. The perceptual response to intensity is called lightness. The transfer function of human perceptual response to intensity resembles (very roughly) a 0.4 power curve, i.e., Lightness Intensity0.4 18 Lightness computer R’G’B’ y pixel value RGB CRT y (y)0.4 intensity lightness 19 Lightness 0.4 * 2.5 = 1.0. Hence, amazingly, the human transfer function is roughly the inverse of that of a CRT. Recall that the nonlinear R’G’B’ values are (usually) used in a computer as pixel values. The nonlinear values are used to drive a CRT’s voltage for controlling the brightness of phosphors. The intensity emitted by a CRT is a 2.5 power curve. The human vision system has a transfer function of a 0.4 power curve. Hence, the nonlinear R’G’B’ values are approximately proportional to lightness (a perceptual value). 20 Luminance efficiency If one looks at 3 light sources: red, green, and blue, each at the same power, then the green source appears the brightest, followed by the red source and then by the blue source. Human vision system is more sensitive to luminance than to color. A video system usually encodes RGB as 1 luminance component Y’ (or luma) and 2 chrominance components (or chroma). The chrominance components are usually given lower bandwidth (or data capacity) than the luminance component. 22 Spectral sensitivity Taken from Adobe 23 Cone cell distribution 24 Color differences Luma (Y’) can be computed as a weighted sum of non-linear R’G’B’ components: ITU-R Recommendation BT. 601, formerly known as CCIR 601 Y’ = 0.299R’ + 0.587G’ + 0.114B’ Color differences refer to color components where (informally) “brightness” is “removed”. The standard is to subtract luma from non-linear blue and from non-linear red: B’-Y’ and R’-Y’ (these are called chroma). 25 Scaling chroma Various scaling factors are applied to the chroma values (B’-Y’, R’-Y’) for different applications: Y’PBPR – for component analog video Y’UV – for composite analog video (PAL) Y’IQ – ditto (NTSC) Y’CBCR – for digital images and video 27 Chromatic sub-sampling The CB, CR chroma components are usually sub-sampled to reduce the data requirement in digital images and video. 4:2:2 sub-sample chroma horizontally by a factor of 2 (Rec. 601). a row of pixels take these chroma values 28 Perceptual uniformity I Human vision responds to about a hundred-to-one contrast ratio. That is, if the difference in intensity of two light sources is less than 1%, our eyes won’t detect the difference. decreasing I Can you see the I+I circle? 36 Contrast ratio Contrast ratio refers to the ratio of intensity between the brightest spot and that of the darkest spot of a particular display device and environment. Example: 30:1 (TV, home with mild lighting) 37 Why 8 bits per sample Let L be the intensity level of the darkest spot. With a contrast ratio of 20, the brightest spot has an intensity of 20L. We need: 1 code to represent dark (i.e., L) 1 code to represent 1.01 dark (i.e., 1.01L) 1 code to represent (1.01)2 L … 1 code to represent 20L Hence, we need about 300 codes (or quantization levels) 8 bits are used because they can be conveniently packed into a byte. 38 Why 8 bits per sample intensity 30L (1.01)3L (1.01)2L 1.01L L Intensities within this region are indistinguishable from 1.01L Intensities within this region are indistinguishable from L 39 00000000 00000001 …. 11111111 256 codes Perceptual uniformity If we use an 8-bit linear coding system to represent luminance (i.e., intensity), we may not be making good use of the 256 codes. 25 0 26 100 200 101 Y 201 255 40 Perceptual uniformity If we use an 8-bit linear coding system to represent luminance (i.e., intensity), we may not be making good use of the 256 codes. 25 0 ? 100 26 200 101 Y 201 255 ? 41 Contouring Luminance codes above 100 suffer no artifacts due to visibility of the jumps between codes. Some codes are not useful. Also, successive codes that are near black has poor luminance resolution. This leads to contouring. 42 Contouring A 25 26 B 27 Intensity Intensity 27 27 26 26 25 25 A B A B 43 Contouring 5 bits 32 gray levels 8 bits 256 gray levels 44 Perceptual uniformity If we code the non-linear gamma corrected value (i.e., luma) instead, contouring is ameliorated. 25 100 200 0 255 0.098 Y 26 101 0.391 201 0 1 0.102 0.395 0.394 Y’ 0.781 0.785 0.539 0.687 0.906 0 1 0.401 101 0.689 175 0 0.908 232 255 103 176 45 Gamma Correction Gamma correction thus helps: to compensate the non-linearity of a typical CRT; to allow a more perceptually uniform coding. 46 True color A true color system (or a 24-bit system) represents a pixel by its RGB (or R’G’B’) values with 8 bits for each component. A 24-bit system allows us to describe 224 = 16,777,216 different colors. In many cases, such a high color resolution is not needed. Example: How many different colors can you see in a 640 480 image? your window desktop? 47 Pseudocolor/indexed color/ colormapped system To save storage space, we can analyze an image to find out all the distinct colors that are present in the image. Let n be the number of distinct colors found (usually n << 16.7M). We assign a code to each distinct color. We keep a Color Lookup Table (CLUT, or colormap, or palette) that translates a code to its corresponding RGB values. Each color is thus represented by log2n bits. 48 CLUT Using the CLUT approach, We waste space for storing the CLUT. We save space by using fewer bits for each pixel. Usually the latter factor outweighs the first. 49 CLUT 640 x 238 How much storage space is needed for a true color system? For a CLUT system? 248 distinct colors 50 51