Transcript Document

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).
wavelength
B
G
R
2
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 response (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 that specify a color.
3
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
4
Gamma
 A color CRT has 3 types of phosphors that emit
different-colored (RGB) light.
 A typical CRT has a non-linear transfer function.
That is, the amount of power (luminance) emitted is
approximately proportional to the applied voltage
(scaled to the range [0,1]) raised to a constant
power, commonly called gamma, .

Luminance  Voltage
 Typical CRTs have gamma values close to 2.5.
5
Gamma
luminance
1
gamma < 1
gamma = 1
gamma > 1
0
1 voltage
6
Gamma
luminance
1
gamma < 1
gamma = 1
0.176
gamma > 1
0
0.5
voltage
1
7
Gamma
luminance
1
gamma < 1
gamma = 1
gamma > 1
0.031
0
0.25
voltage
1
8
Gamma correction
 A camera records the luminance (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 luminance.
 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.
9
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.
11
Gamma correction
RGB
camera
x
gamma R’G’B’
R’G’B’
computer
correction
x1/
RGB
eye
CRT
(x1/) 
12
Lightness
 Human vision has a non-linear perceptual response
to luminance

e.g., a source having a luminance (power) of 18% of
another source appears about half as bright.
 The perceptual response to luminance is called
lightness.
 The transfer function of human perceptual response
to luminance resembles (very roughly) a 0.4 power
curve, i.e.,

Lightness  Luminance0.4
13
Lightness
computer
R’G’B’
y
pixel
value
RGB
CRT
y
(y)0.4
intensity
lightness
14
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 luminance 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).
15
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.
 The chrominance components are usually given
lower bandwidth (or data capacity) than the
luminance component.
17
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).
18
Scaling chroma
 Various scaling factors are applied to the
chroma (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
21
Y’CBCR
 Rec. 601 specifies a range of [16, 235] for Y’ and
[16, 240] for CB and CR.
 To obtain Y’CBCR from 8-bit R’G’B’ values (i.e., in
the range [0, 255]), use the transformation:
 Y '   16 
 65.738 129.057 25.064   R'
C   128  1  37.945  74.494 112.439   G '
 B    256 
  
CR  128
 112.439  94.154  18.285  B'
22
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
23
Perceptual uniformity
I
 Human vision responds to about a hundred-to-one contrast
ratio. That is, if the difference in brightness of two dots is
less than 1%, our eyes won’t detect the difference.
decreasing I
Can you
see the
I+I
circle?
31
Contrast ratio
 Contrast ratio refers to the ratio of luminance
between the brightest spot and that of the darkest
spot of a particular device and environment.

Example: 30:1 (TV, home with mild lighting)
32
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.
33
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
34
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
?
35
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.
25
26
27
36
Contouring
5 bits
32 gray
levels
8 bits
256
gray
levels
37
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
38
Gamma Correction
 Gamma correction thus helps:


to compensate the non-linearity of a typical CRT;
to allow perceptually uniform coding.
39
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?
40
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.
41
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.
42
CLUT
248
distinct
colors
43