Upload
dana-hudson
View
215
Download
1
Embed Size (px)
Citation preview
Digital Image Digital Image ProcessingProcessing
Image CompressionImage Compression
ALI JAVED Lecturer SOFTWARE ENGINEERING DEPARTMENTU.E.T TAXILAEmail:: [email protected] Room #:: 7
3
Background
Principal objective:To minimize the number of bits required to represent an image.ApplicationsTransmission: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, ...
4
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
6
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.
7
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
Data Redundancy
9
Data RedundancyThree basic data redundancies
Coding Redundancy Interpixel Redundancy Psychovisual Redundancy
10
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.
11
Coding Redundancy
12
Coding Redundancy (Example)
13
Coding Redundancy (Example)
14
Coding Redundancy (Example)
15
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
Interpixel Redundancy (Example)
17
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.
18
Psychovisual Redundancy
19
Psychovisual Redundancy
20
Psychovisual Redundancy
21
Fidelity Criteria
22
Fidelity Criteria
23
Fidelity Criteria
24
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.
25
Source Encoder and Decoder
Error-Free Compression
26
Variable-length Coding Methods: Huffman Coding
27
Variable-length Coding Methods: Huffman Coding
28
29
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.
31
32
33
34
35
Other Variable-length Coding Methods
LZW Coding
Lempel-Ziv-Welch (LZW) coding assigns fixed length code words to variable length sequences of source symbols.
37
Example
38
39
Bit-Plane Coding
Bit-Plane Coding
Bit-Plane Decomposition (Example)
Bit-Plane Decomposition (Example)
Bit-Plane Decomposition (Example)
Binary Image Compression
Binary Image Compression: Constant Area Coding (CAC)
Binary Image Compression: 1-D Run-Length Coding (1D RLC):
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.
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
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.)
Forward DCT
For an N X N pixel image
the DCT is an array of coefficients where
N
vy
N
uxpCC
NDCT
N
y xy
N
xvuuv 2
)12(cos
2
)12(cos
2
1 1
0
1
0
where
otherwiseCC
vuforCC
vu
vu
1
0,2
1
NvNupuv 0,0,
NvNuDCTuv 0,0,
JPEG COMPRESSION
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
JPEG COMPRESSIONThe example image 8*8 matrix before DCT transformation.
JPEG COMPRESSION
Gray-Scale Example:Value Range 0 (black) --- 255 (white)
63 33 36 28 63 81 86 9827 18 17 11 22 48 104 108 72 52 28 15 17 16 47 77 132 100 56 19 10 9 21 55 187 186 166 88 13 34 43 51 184 203 199 177 82 44 97 73 211 214 208 198 134 52 78 83 211 210 203 191 133 79 74 86
JPEG COMPRESSION
2D-DCT of matrixValue Range 0 (Gray) --- -355 (Black)
-304 210 104 -69 10 20 -12 7-327 -260 67 70 -10 -15 21 8 93 -84 -66 16 24 -2 -5 9 89 33 -19 -20 -26 21 -3 0 -9 42 18 27 -7 -17 29 -7 -5 15 -10 17 32 -15 -4 7 10 3 -12 -1 2 3 -2 -3 12 30 0 -3 -3 -6 12 -1
JPEG COMPRESSION
Cut the least significant componentsValue Range 0 (Gray) --- -355 (Black)
-304 210 104 -69 10 20 -12 0-327 -260 67 70 -10 -15 0 0 93 -84 -66 16 24 0 0 0 89 33 -19 -20 0 0 0 0 -9 42 18 0 0 0 0 0 -5 15 0 0 0 0 0 0 10 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
JPEG COMPRESSION
Original Compressed
RReessuulltts…s…
Some Common Image Formats
Some Common Image Formats