Digital Image Processing Image Compression
Email:: alijaved@uettaxila.edu.pk Office Room #:: 7 Lecturer SOFTWARE ENGINEERING DEPARTMENT U.E.T TAXILA Email:: alijaved@uettaxila.edu.pk Office Room #:: 7
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, ...
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
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
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.
Data Redundancy
Data Redundancy Three basic data redundancies Coding Redundancy Interpixel Redundancy Psychovisual Redundancy
Coding Redundancy Basic concept: 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.
Coding Redundancy
Coding Redundancy (Example)
Coding Redundancy (Example)
Coding Redundancy (Example) 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
Interpixel Redundancy (Example)
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.
Psychovisual Redundancy
Psychovisual Redundancy 19
Psychovisual Redundancy
Fidelity Criteria
Fidelity Criteria
Fidelity Criteria
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.
Source Encoder and Decoder
Error-Free Compression 26
Variable-length Coding Methods: Huffman Coding 27
Variable-length Coding Methods: Huffman Coding 28
29
Mapping 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. 30
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
LZW Coding 40
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 where
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 COMPRESSION The 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 98 27 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 matrix Value 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 components Value 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 Results…
Some Common Image Formats
Some Common Image Formats