Digital Image Processing
Digital Image Processing
Image Compression
2 of 56
Contents
Today we will begin looking at image Compression:
Fundamentals Data Redundancies Image Compression Models Lossless Image Compression Lossy Image Compression
3 of 56
Fundamentals
Motivation Much of the on-line information is graphical or pictorial, storage and communications requirements are immense. The spatial resolutions of todays imaging sensors and the standard of broadcast television are greatly developed. Methods of compressing the data prior to storage and/or transmission are of practical and commercial interest.
4 of 56
Fundamentals
Image compression addresses the problem of reducing the amount of data required to represent a digital image.
The removal of redundant data. Statistically uncorrelated data set.
The transformation is applied prior to storage or transmission of the image. Decompressed to reconstruct the original image or an approximation of it.
5 of 56
Fundamentals
Applications Increased spatial resolutions
Image sensors Broadcast television standards.
Tele-video-conferencing Remote sensing Document and medical imaging, fax An ever-expanding number of applications depend on the efficient manipulation, storage, and transmission of binary, grayscale, and color images.
6 of 56
Classification
Lossless compression
Also called information preserving compression or error-free compression. Lossless compression for legal and medical documents, remote sensing.
Lossy compression
Provide higher levels of data reduction Useful in broadcast television, video conference, internet image transmission. Where some errors or loss can be tolerated
7 of 56
Fundamentals
Data and Information Data Compression:
The process of reducing the amount of data required to represent a given quantity of information.
8 of 56
Fundamentals
Example: Story Story is information Word is data Data Redundancy
If the two individuals use a different number of words to tell the same basic story. At least one includes nonessential data. It is thus said to contain data redundancy.
9 of 56
Fundamentals
10 of 56
Data Redundancy
Data Redundancy: it is not an abstract concept, but a mathematically quantifiable entity If n1 and n2 denote the number of information-carrying units in two data sets that represent the same information The relative data redundancy RD of the first data set can be defined as: RD = 1 1/CR where compression ratio CR is CR =n1/n2
11 of 56
Data Redundancy
CR and RD: RD = 1 1/CR When n2=n1, CR=1 and RD=0 When n2 n1 , CR , and RD 1 When n1 n2 , CR 0, and RD ,not hoped situation. CR and RD lie in the open intervals [0, ) and (,1). Example:
Compression ratio is 10:1 Redundancy is 0.9 It implies that 90% of the data in the first data set is redundant.
12 of 56
Data Redundancy
In image processing, there are three basic data redundancies can be identified and exploited: Coding Redundancy Interpixel Redundancy Psychovisual Redundancy Data compression is achieved when one or more of these redundancies are reduced or eliminated.
13 of 56
Coding Redundancy
A discrete random variable rk in the interval [0,1], represents the gray levels Each rk occurs with probability pr(rk):
nk pr (rk ) , k 0,1,2, n n
If the number of bits used to represent each value of rk is l(k), then the average number of bits required to represent each pixel is:
L 1
14 of 56
Coding Redundancy
For example, the gray levels of an image with a
15 of 56
Coding Redundancy
Example of Variable-length Coding: 8-level image
16 of 56
Coding Redundancy
For code 2, the average number of bits required to code the image is reduced to:
lavg l (rk ) pr (rk )
k 0 7
17 of 56
Coding Redundancy
18 of 56
Coding Redundancy
Variable-length coding: Assigning fewer bits to the more probable gray-levels Having coding Redundancy: When not take full advantage of the probabilities of the events It is almost always present by using natural binary code. Underlying basis: Certain gray levels are more probable than others
19 of 56
Interpixel Redundancy
20 of 56
Interpixel Redundancy
Remark The gray levels in these images are not equally probable, variable-length coding can be used to reduce the coding redundancy. The coding process would not alter the level of correlation between the pixels within the images. The correlations come from the structural or geometric relationships between the objects in the image. These reflect another important data redundancy interpixel redundancy: one directly related to the interpixel correlations within an image.
21 of 56
Interpixel Redundancy
Properties of Interpixel Redundancy The value of any given pixel can be predicted from the value of its neighbors. The information carried by individual pixels is relatively small. Much of the visual contribution of a single pixel is
redundant to an image.
Other nomenclatures: Spatial Redundancy
Geometric redundancy
Interframe redundancy.
22 of 56
Interpixel Redundancy
Reduced Approaches Transform into a more efficient (but usually nonvisual) format. Example The difference between adjacent pixels. Mapping: transformations of the types that remove interpixel redundancy. Reversible Mappings: Can be reconstructed.
23 of 56
Interpixel Redundancy
Run-length Coding Mapping the pixels along each scan line f(x, 0), f(x,
1), , f(x, N 1) Into a sequence of pairs (g1,w1), (g2,w2), gi denotes the ith gray level encountered along the line. wi the run length of the ith run. aabbbcddddd, can be represented as a2b3c1d5. 1111102555555557788888888888888, can be represented as: (1, 5)(0, 1)(2, 1)(5, 8)(7, 2)(8, 14).
24 of 56
Interpixel Redundancy
25 of 56
Interpixel Redundancy
Computational Results Only 88 bits are needed to represent the 1024 bits of binary data. The entire 1024343 section can be reduced to 12,166 runs. The Compression ratio is:
26 of 56
Psychovisual Redundancy
Eye does not respond with equal sensitivity to all visual information.
27 of 56
Psychovisual Redundancy
Basic Cognitive Procedure Human perception of the information in an image normally does not involve quantitative analysis of every pixel value in the image.
knowledge
Complete the image interpretation process
28 of 56
Psychovisual Redundancy
Lead to a loss of quantitative information
(quantization)
Mapping a broad range of input values
29 of 56
256 grey levels (8 bits per pixel)
Psychovisual Redundancy
128 grey levels (7 bpp)
64 grey levels (6 bpp) 32 grey levels (5 bpp)
30 of 56
Psychovisual Redundancy
31 of 56
Psychovisual Redundancy
Example: Compression by quantization
a) Original image with 256 gray levels b) Uniform quantization to 16 gray levels c) Improved GrayScale (IGS) quantization The compression are 2:1, but IGS is more complicated.
32 of 56
Psychovisual Redundancy
Improved Gray-Scale (IGS) quantization A sum: initially set to zero. Add the four least significant bits of a previously generated sum with current 8-bit gray level. If the four most significant bits of the current value are 11112, however, 00002 is added instead. The four most significant bits of the resulting sum are used as the coded pixel value.
33 of 56
Fidelity Criteria
Compression may lead to loss information Quantifying the nature and extent of information loss Objective fidelity criteria When the level of information loss can be expressed as a function of the original or input image, the compressed and output image. Easy to operate (automatic) Often requires the original copy as the reference Subjective fidelity criteria Evaluated by human observers Do not require the original copy as a reference Most decompressed images ultimately are view by human.
34 of 56
Fidelity Criteria
Objective Fidelity Criterion Root-Mean-Square (rms) Error: Let f(x, y) represent an input image Let f ( x, y ) be an estimate or approximation of f(x, y).
35 of 56
Fidelity Criteria
Mean-Square Signal-to-Noise Ratio:
Assuming that f ( x, y ) is the sum of the original image f(x, y) and a noise signal e(x, y).
The mean-square signal-to-noise ratios of the output
36 of 56
Fidelity Criteria
Subjective fidelity Criterion
Most decompressed images are viewed by
humans. Measuring image quality by the subjective evaluations is more appropriate. Example: ensemble or voting.
37 of 56
Fidelity Criteria
38 of 56
Fidelity Criteria
39 of 56
Compression Models
Three general techniques are always combined to form practical image compression systems. The overall characteristics of such a system and develop a general model to represent it.
A compression system consists of two distinct structural blocks: an encoder and a decoder. Channel encoder: Increases the noise immunity of the source encoders output. If noise free, can be omitted.
40 of 56
Compression Models
The Source Encoder and Decoder Source Encoder: Remove input redundancies Each operation is designed to reduce or eliminating one of the three redundancies. Interpixel redundancy(Mapper, reversible) Psychovisual redundancy(Quantizer, irreversible) Coding redundancy (Symbol Encoder, reversible)
41 of 56
Compression Models
Three steps for source encoder: First, the mapper transforms the input data into a format designed to reduce interpixel redundancies in the input image (run-length coding), this operation generally is reversible. Second, quantizer block reduces the accuracy of the mappers output in accordance with some preestablished fidelity criterion. This stage reduces the psychovisual redundancies of the input image. It is irreversible. Third, symbol coder creates a fixed or variable length code to represent the quantizer output. It can reduce coding redundancy, and it is reversible.
42 of 56
Compression Models
Remark The quantizer must be omitted when error-free compression is desired. Some compression techniques normally are modeled by merging blocks that are physically separate in above figure. The source decoder only contains two blocks: symbol decoder and an inverse mapper. Because quantization results in irreversible information loss, an inverse quantizer block is not included in the general source decoder model.
43 of 56
Compression Models
The Channel Encoder and Decoder They play an important role in the overall encodingdecoding process when the channel is noisy or prone to error.
44 of 56
Also called Error-Free compression The need for error-free compression is motivated by the intended use or nature of the images. In some applications, it is the only acceptable means of data reduction.
Archival of medical or business documents, where lossy compression usually is prohibited for legal reasons. Other is the processing of satellite imagery, where both the use and cost of collecting the data makes any loss undesirable. Another is digital radiography, where the loss of information can compromise diagnostic accuracy.
45 of 56
46 of 56
Variable-Length Coding
Reducing coding redundancy: assign the shortest possible code words to the most probable gray levels. Huffman Coding Arithmetic Coding
47 of 56
Huffman Coding
Huffman coding, 1952
Coding Procedures for an N-symbol source, two steps: Source reduction
List all probabilities in a descending order Merge the two symbols with smallest probabilities into a new compound symbol Repeat the above two steps until a reduced source with two symbols
Codeword assignment
Start from the smallest source and work back to the original source Each merging point corresponds to a node in binary codeword tree
48 of 56
Example-I
For a string: SENSSNSW Step 1: Source reduction symbol x S N E p(x) 0.5 0.25 0.125
0.5 0.25
0.25 (EW)
0.5
0.5 (NEW) compound symbols
0.125
49 of 56
Example-I
symbol x S N E W
p(x) 0.5
0.5
0.5
codeword 0 0
10 110
111
50 of 56
Example-I
1
NEW 0 1 0 S EW 10 N 1 0 110 W E
The codeword assignment is not unique. In fact, at each merging point (node), we can arbitrarily assign 0 and 1 to the two branches (average code length is the same).
51 of 56
Example-II
symbol x e a i o u
p(x) 0.4
0.4
0.2 0.2
0.2 (ou)
0.4
compound symbols
52 of 56
Example-II
symbol x e a i o u
0.6 0 0 (aiou) 0.2 0.2 0.4 0 (iou) 0.4 1 1 0.2 0.2 0.2 1 0.1 0 0.2 0.1 (ou) 1 0.4 0.4 compound symbols
p(x) 0.4
0011
53 of 56
Example-II
symbol x e a i o u
5 i 1
54 of 56
Example-III
Step 1: Source reduction
compound symbol
55 of 56
Example-III
compound symbol
The average length of the code is: Lavg = (0.4)(1) + (0.3)(2) + (0.1)(3) + (0.1)(4)+(0.06)(5) + (0.04)(5) = 2.2 bits/symbol
56 of 56
Huffman Coding
After the code has been created, coding and/or decoding is accomplished in a simple lookup table manner. Example: 01010 011 1 1 00 Answer: a3a1a2a2a6