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