Chapter 2 - Color Basics
Download
Report
Transcript Chapter 2 - Color Basics
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