2. 2
Background
Principal objective:
To minimize the number of bits required to represent an image.
Applications
Transmission:
Broadcast TV via satellite, military communications via aircraft,
teleconferencing, computer communications etc.
Storage:
Educational and business documents, medical images (CT, MRI and
digital radiology), motion pictures, satellite images, weather maps,
geological surveys, ...
3. 3
Overview
Image data compression methods fall into two common
categories:
I. Information preserving compression
Especial for image archiving (storage of legal or medical records)
Compress and decompress images without losing information
II. Lossy image compression
Provide higher levels of data reduction
Result in a less than perfect reproduction of the original image
Applications: –broadcast television, videoconferencing
5. 5
Data vs. information
• Data is not the same thing as information
• Data are the means to convey information; various
amounts of data may be used to represent the same
amount of information Part of data may provide no
relevant information: data redundancy
• The amount of data can be much larger expressed
than the amount of information.
6. 6
Data Redundancy
• Data that provide no relevant information=redundant data or
redundancy.
• Image compression techniques can be designed by
reducing or eliminating the Data Redundancy
• Image coding or compression has a goal to reduce the amount of
data by reducing the amount of redundancy.
8. 8
Data Redundancy
Three basic data redundancies
Coding Redundancy
Interpixel Redundancy
Psychovisual Redundancy
9. 9
Coding Redundancy
A natural m-bit coding method assigns m-bit to each gray
level without considering the probability that gray level occurs
with: Very likely to contain coding redundancy
Basic concept:
Utilize the probability of occurrence of each gray level
(histogram) to determine length of code representing that
particular gray level: variable-length coding.
Assign shorter code words to the gray levels that occur most
frequently or vice versa.
14. 14
Interpixel Redundancy
Caused by High Interpixel Correlations within an image, i.e.,
gray level of any given pixel can be reasonably predicted from
the value of its neighbors (information carried by individual
pixels is relatively small) spatial redundancy, geometric
redundancy, interframe redundancy (in general, interpixel
redundancy )
To reduce the interpixel redundancy, mapping is used. The
mapping scheme can be selected according to the properties of
redundancy.
An example of mapping can be to map pixels of an image: f(x,y)
to a sequence of pairs: (g1,r1), (g2,r2), ..., (gi,ri), ..
gi: ith gray level ri: run length of the ith run
16. 16
Psychovisual Redundancy
The eye does not respond with equal sensitivity to all visual
information.
Certain information has less relative importance than other
information in normal visual processing psychovisually
redundant (which can be eliminated without significantly
impairing the quality of image perception).
The elimination of psychovisually redundant data results in a loss
of quantitative information lossy data compression method.
Image compression methods based on the elimination of
psychovisually redundant data (usually called quantization) are
usually applied to commercial broadcast TV and similar
applications for human visualization.
23. 23
Image Compression Models
The encoder creates a set of symbols (compressed) from the input
data.
The data is transmitted over the channel and is fed to decoder.
The decoder reconstructs the output signal from the coded symbols.
The source encoder removes the input redundancies, and the
channel encoder increases the noise immunity.
30. Mapping
30
•There is often correlation between adjacent pixels, i.e. the value
of the neighbors of an observed pixel can often be predicted from
the value of the observed pixel. (Interpixel Redundancy).
•Mapping is used to remove Interpixel Redundancy.
•Two mapping techniques are:
Run length coding
Difference coding.
40. 41
Bitplane Coding (1/2)
• It reduces the images interpixel redundancies by
processing the image’s bit planes individually.
• The multilevel images are decomposed into a series of
binary images and then compressing the binary
images using one of the several well-known binary
compression methods.
• The images are often first gray coded before the bit
plane decomposition is carried out to avoid too many
0 to 1 transitions across bit planes for pixel values that
are close to each other.
45. Arithmetic Coding
• There is no one to one correspondence between source
symbols and code words.
• An entire sequence of source symbols is assigned a single
code word.
• Each source symbol is represented by an interval in [0,1).
As the number of symbols increases the size of the
interval reduces in accordance with the probability of
occurrence of symbols.
47. Arithmetic Coding
• Inaccurate probability models can lead to non-optimal results
• Solution: use an adaptive, context dependent probability model
• Adaptive: symbols probabilities are updated as the symbols are
coded.
• Context dependent: probabilities are based on a predefined
neighbourhood of pixels around the symbol being coded.
48. 49
Constant Area Coding (1/2)
• A simple method to compress binary or bit
plane images is to use special code words to
denote large areas of continuous 0’s or 1’s.
• The image is divided into blocks of p x q pixels,
which are classified as all black, all white or
mixed.
• The most probable or frequently occurring
category is assigned the 1-bit code word 0, and
the other two categories are assigned 2 bit code
words 10 and 11.
49. CAC-Algorithm
• Special codeword's are used to identify large areas of contiguous 1's or 0's
• The whole image (M*N Pixels) is divided into blocks of size (P*Q Pixels)
• Blocks are classified as
• White (W) Blocks: having only white pixels
• Black (B) Blocks: having only black pixels
• Mixed (M) Blocks: having mixed intensity.
• The most frequent occurring category is assigned with 1-bit codeword 0
• If image contain only two categories, the other category is assigned with 1-bit
codeword 1
• Else the remaining other two categories are assigned with 2-bit codes 10 and 11
• The codeword assigned to the Mixed (M) Block category is used as a prefix,
which is followed by the P*Q-bit pattern of the block.
• Compression is achieved because the P*Q bits that are normally used to represent
each constant area (block) are replaced by a 1-bit or 2-bit codeword for White and
Black Blocks
• Compression Ratio (CR) = (N1 / N2)
50
53. Lossy Compression
• A lossy compression method is one where compressing data and
then decompressing it retrieves data that may well be different
from the original, but is close enough to be useful in some way.
• Lossy compression is most commonly used to compress
multimedia data (audio, video, still images), especially in
applications such as streaming media and internet telephony.
54.
55. JPEG
• Lossy Compression Technique based on use
of Discrete Cosine Transform (DCT)
• A DCT is similar to a Fourier transform in
the sense that it produces a kind of spatial
frequency spectrum
56. STEPS IN JPEG COMPRESSION
• Divide Each plane into 8x8 size blocks.
• Transform the pixel information from the spatial domain
to the frequency domain with the Discrete Cosine
Transform. (Compute DCT of each block)
• Quantize the resulting values by dividing each coefficient
by an integer value and rounding off to the nearest integer.
• Arrange the resulting coefficients in a zigzag order. so
that the coefficients are in order of increasing frequency.
The higher frequency coefficients are more likely to be 0
after quantization. This improves the compression of run-
length encoding.
• Do a run-length encoding of the coefficients ordered in
this manner. Follow by Huffman coding. (Separately
encode DC components and transmit data.)
57. Forward DCT
For an N X N pixel image
the DCT is an array of coefficients
where
N
v
y
N
u
x
p
C
C
N
DCT
N
y xy
N
x
v
u
uv
2
)
1
2
(
cos
2
)
1
2
(
cos
2
1 1
0
1
0
where
otherwise
C
C
v
u
for
C
C
v
u
v
u
1
0
,
2
1
N
v
N
u
puv
0
,
0
,
N
v
N
u
DCTuv
0
,
0
,
59. JPEG COMPRESSION
•The most important values to our eyes will be placed in the
upper left corner of the matrix.
•The least important values will be mostly in the lower right
corner of the matrix.
Semi-
Important
Most
Important
Least
Important