Upload
amelia-brook-heath
View
214
Download
0
Embed Size (px)
Citation preview
1
Chapter 2: Color Basics
2
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).
wavelengthB G R
power
3
Spectrum
4
SPD
Taken fromAdobe
5
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 tri-stimulus values (XYZ) that specify a color.
6
Sensitivity
7
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.
8
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.81G=0.52B=0.56
R=0.36G=0.69B=0.74
R=0.0G=0.0B=0.69
R=0.0G=0.0B=0.91
R=0.91G=0.91B=0.91
R=0.69G=0.69B=0.69
9
Gamma
A color CRT has 3 types of phosphors that emit different-colored (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.
10
Gamma
gamma = 1
gamma > 1
gamma < 1
voltage
intensity
0 1
1
11
Gamma
gamma = 1
gamma > 1
voltage
intensity
01
1
0.5
0.176
12
Gamma
gamma = 1
gamma > 1
voltage
intensity
01
1
0.25
0.031
0.9
0.77
13
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.
14
Gamma correction
1.0 0.5 1.0 0.176
Gamma (example)
original as displayed on a CRTwithout gamma correction
16
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 non-linear (R’G’B’) values.
17
Gamma correction
cameraRGB
gammacorrection
computerR’G’B’ CRTR’G’B’RGB
eye
x x1/ (x1/)
18
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
19
Lightness
computer CRTR’G’B’RGB
y y (y)0.4
lightnessintensitypixelvalue
20
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).
22
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.
23
Spectral sensitivity
TakenfromAdobe
24
Cone cell distribution
25
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).
27
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
28
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
36
Perceptual uniformity
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.
I I+I
decreasing I Can yousee the circle?
37
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)
38
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.
39
Why 8 bits per sample
intensity
L1.01L
Intensities within this region areindistinguishable from L
Intensities within this region areindistinguishable from 1.01L
(1.01)2L
(1.01)3L
30L
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.
0
25
26
100 200
255101 201
Y
0000000000000001 ….11111111
256codes
41
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.
0
25
26
100 200
255101 201
Y
? ?
42
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.
43
Contouring
A B
Intensity
25
26
27
A B
Intensity
25
26
27
B
25
2627
A
44
Contouring
8 bits256graylevels
5 bits32 graylevels
45
Perceptual uniformity
If we code the non-linear gamma corrected value (i.e., luma) instead, contouring is ameliorated.
025
26
100 200255
101 201
Y 0 10.098
0.102
0.391
0.395 0.785
0.781
0 10.394
0.401
0.687 0.906
0.689
0.539
Y’
0 255101
103
175
176
232
0.908
46
Gamma Correction
Gamma correction thus helps: to compensate the non-linearity of a typical
CRT; to allow a more perceptually uniform coding.
47
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?
48
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.
49
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.
50
CLUT
248distinctcolors
640 x 238
How much storage space is neededfor a true color system? For a CLUT system?
51