740 likes | 1.1k Views
Image Compression. Mohamed N. Ahmed, Ph.D. Steve Weed. Image Compression. Everyday an enormous amount of information is stored, processed, and transmitted Financial data Reports Inventory Cable TV Online Ordering and tracking. Image Compression.
E N D
Image Compression Mohamed N. Ahmed, Ph.D. Steve Weed Software Research
Image Compression • Everyday an enormous amount of information is stored, processed, and transmitted • Financial data • Reports • Inventory • Cable TV • Online Ordering and tracking Software Research
Image Compression • Because much of this information is graphical or pictorial in nature, the storage and communications requirements are immense. • Image compression addresses the problem of reducing the amount of data requirements to represent a digital image. • Image Compression is becoming an enabling technology: HDTV. • Also it plays an important role in Video Conferencing, remote sensing, satellite TV, FAX, document and medical imaging. Software Research
Image Compression • We want to remove redundancy from the data • Mathematically Transformation Statistically Uncorrelated data 2D array Of pixels Software Research
Day4 : Image Compression • Outline: • Fundamentals • Coding Redundancy • Interpixel Redundancy • Psychovisual Redundancy • Fidelity Criteria • Error-Free Compression • Variable-length Coding • LZW Coding • Predictive Coding • Lossy Compression • Transform Coding • Wavelet Coding • Image Compression Standards Software Research
Fundamentals • The term data compression refers to the process of reducing the amount of data required to represent a given quantity of information • Data Information • Various amount of data can be used to represent the same information • Data might contain elements that provide no relevant information : data redundancy • Data redundancy is a central issue in image compression. It is not an abstract concept but mathematically quantifiable entity Software Research Some Images are adopted from R. C. Gonzalez & R. E. Woods
Data Redundancy • Let n1and n2 denote the number of information carrying units in two data sets that represent the same information • The relative redundancy RD is define as : where CR, commonly called the compression ratio, is Software Research
Data Redundancy • If n1= n2 , CR=1 and RD=0 no redundancy • If n1>> n2 , CRand RD high redundancy • If n1<< n2 , CRand RD undesirable • A compression ration of 10 (10:1) means that the first data set has 10 information carrying units (say, bits) for every 1 unit in the second (compressed) data set. • In Image compression , 3 basic redundancy can be identified • Coding Redundancy • Interpixel Redundancy • Psychovisual Redundancy Software Research
Coding Redundancy • Recall from the histogram calculations where p(rk) is the probability of a pixel to have a certain value rk If the number of bits used to represent rk is l(rk), then Software Research
Coding Redundancy • Example: Software Research
Coding Redundancy Variable-Length Coding Software Research
Inter-pixel Redundancy Here the two pictures have Approximately the same Histogram. We must exploit Pixel Dependencies. Each pixel can be estimated From its neighbors. Software Research
Run-Length Encoding Example of Inter-pixel Redundancy removal Software Research
Psycho-visual Redundancy The human visual system is more sensitive to edges Middle Picture: Uniform quantization from 256 to 16 gray levels CR= 2 Right picture: Improved gray level quantization (IGS) CR= 2 Software Research
Fidelity Criteria The error between two functions is given by: So, the total error between the two images is The root-mean-square error averaged over the whole image is Software Research
Fidelity Criteria • A closely related objective fidelity criterion is the mean square signal to noise ratio of the compressed-decompressed image Software Research
Fidelity Criteria Software Research
Compression Model The source encoder is responsible for removing redundancy (coding, inter-pixel, psycho-visual) The channel encoder ensures robustness against channel noise. Software Research
Compression Types Compression Error-Free Compression (Loss-less) Lossy Compression Software Research
Error-Free Compression • Some applications require no error in compression (medical, business documents, etc..) • CR=2 to 10 can be expected. • Make use of coding redundancy and inter-pixel redundancy. • Ex: Huffman codes, LZW, Arithmetic coding, 1D and 2D run-length encoding, Loss-less Predictive Coding, and Bit-Plane Coding. Software Research
Huffman Coding • The most popular technique for removing coding redundancy is due to Huffman (1952) • Huffman Coding yields the smallest number of code symbols per source symbol • The resulting code is optimal Software Research
Huffman Codes Software Research
Huffman Codes Software Research
Workshop Obtain the Huffman codes for the following sequence: • 5 5 5 5 8 8 4 2 7 7 7 2 2 2 2 4 4 7 7 7 7 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 4 4 • What is the average code length with and without compression ? Software Research
Fixed Length: LZW Coding • Error Free Compression Technique • Remove Inter-pixel redundancy • Requires no priori knowledge of probability distribution of pixels • Assigns fixed length code words to variable length sequences • Patented Algorithm US 4,558,302 • Included in GIF and TIFF and PDF file formats Software Research
LZW Coding • Coding Technique • A codebook or a dictionary has to be constructed • For an 8-bit monochrome image, the first 256 entries are assigned to the gray levels 0,1,2,..,255. • As the encoder examines image pixels, gray level sequences that are not in the dictionary are assigned to a new entry. • For instance sequence 255-255 can be assigned to entry 256, the address following the locations reserved for gray levels 0 to 255. Software Research
Dictionary Location Entry • 0 0 • 1 1 • . . • 255 255 • 256 - • 511 - LZW Coding • Example Consider the following 4 x 4 8 bit image 39 39 126 126 39 39 126 126 39 39 126 126 39 39 126 126 Initial Dictionary Software Research
Dictionary Location Entry • 0 0 • 1 1 • . . • 255 255 • 256 - • 511 - LZW Coding 39 39 126 126 39 39 126 126 39 39 126 126 39 39 126 126 • Is 39 in the dictionary……..Yes • What about 39-39………….No • Then add 39-39 in entry 256 • And output the last recognized symbol…39 39-39 Software Research
Workshop • Code the following image using LZW codes 39 39 126 126 39 39 126 126 39 39 126 126 39 39 126 126 * How can we decode the compressed sequence to obtain the original image ? Software Research
LZW Coding Software Research
Bit-Plane Coding • An effective technique to reduce inter pixel redundancy is to process each bit plane individually • The image is decomposed into a series of binary images. • Each binary image is compressed using one of well known binary compression techniques. Software Research
Bit-Plane Decomposition Software Research
Bit-Plane Encoding Constant Area Coding One Dimensional Run Length coding Two Dimensional Run Length coding 1b 2w 1b 3w 4b 1w 12 w Software Research
Loss-less Predictive Encoding Software Research
Loss-less Predictive Encoding Software Research
Lossy Compression Quantizer Software Research
Lossy Compression Software Research
DPCM Software Research
DPCM Software Research
Transform Coding • A reversible linear transform (such as Fourier Transform) is used to map the image into a set of transform coefficients • These coefficients are then quantized and coded. • The goal of transform coding is to decorrelate pixels and pack as much information into small number of transform coefficients. • Compression is achieved during quantization not during the transform step Software Research
Transform Coding Software Research
2D Transforms • Energy packing • 2D transforms pack most of the energy into small number of coefficients located at the upper left corner of the 2D array Energy Packing Software Research
2D Transforms • Consider an image f(x,y) of size N x N Forward transform g(x,y,u,v) is the forward transformation kernel or basis functions Software Research
2D Transforms • Inverse transform h(x,y,u,v) is the inverse transformation kernel or basis functions Software Research
Discrete Cosine Transform • One of the most frequently used transformations for image compression is the DCT. for u=0 for u=1, 2, …, N-1 Software Research
Discrete Cosine Transform Software Research
2D Transforms Software Research
Effect of Window Size Software Research
Quantization Quantizer Software Research
Quantization • Each transformed coefficient is quantized Software Research