Software Research Image Compression Mohamed N. Ahmed, Ph.D.
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 2D array Of pixels Statistically Uncorrelated data
Software Research Day4 : Image Compression Outline: 1.Fundamentals Coding Redundancy Interpixel Redundancy Psychovisual Redundancy Fidelity Criteria 2.Error-Free Compression Variable-length Coding LZW Coding Predictive Coding 3.Lossy Compression Transform Coding Wavelet Coding 4.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 Some Images are adopted from R. C. Gonzalez & R. E. Woods
Software Research Data Redundancy Let n 1 and n 2 denote the number of information carrying units in two data sets that represent the same information The relative redundancy R D is define as : where C R, commonly called the compression ratio, is
Software Research Data Redundancy If n 1 = n 2, C R =1 and R D =0no redundancy If n 1 >> n 2, C R and R D high redundancy If n 1 << n 2, C R and R D 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(r k ) is the probability of a pixel to have a certain value r k If the number of bits used to represent r k is l(r k ), 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 C R = 2 Right picture: Improved gray level quantization (IGS) C R = 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..) C R =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: – –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 can be assigned to entry 256, the address following the locations reserved for gray levels 0 to 255.
Software Research LZW Coding Example Consider the following 4 x 4 8 bit image Dictionary Location Entry Initial Dictionary
Software Research LZW Coding Is 39 in the dictionary……..Yes What about 39-39………….No Then add in entry 256 And output the last recognized symbol…39 Dictionary Location Entry
Software Research Workshop Code the following image using LZW codes * 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 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 Transform Coding
Software Research Transform Coding
Software Research Energy packing –2D transforms pack most of the energy into small number of coefficients located at the upper left corner of the 2D array 2D Transforms Energy Packing
Software Research 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 2D Transforms
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 Quantization
Software Research Bit allocation and Zig Zag Ordering
Software Research DCT and Quantization Right Column
Software Research Wavelet Coding
Software Research Wavelet Transform Put a pixel in each quadrant- No size change
Software Research Now let »a = (x1+x2+x3+x4)/4 »b =(x1+x2-x3-x4)/4 »c =(x1+x3-x2-x4)/4 »d =(x1+x4-x2-x3)/4 Wavelet Transform a b c d
Software Research Wavelet Transform
Software Research Wavelet Transform
Software Research Wavelet Transform
Software Research Wavelet Coding High Frequency coefficients tend to be very small --- 0 They can be quantized very effectively without distorting the results
Software Research Wavelet Transform Wavelet DCT
Software Research Wavelet Transform
Software Research Image Compression Standards Binary Compression Standards CCITT G3 -> 1D Run Length Encoding CCITT G4 -> 2D Run Length encoding JBIG1 -> Lossless adaptive binary compression JBIG2 -> Lossy/Lossless adaptive binary compression
Software Research JBIG/JBIG2
Software Research Continuous Tone Still Image Compression Standards JPEG JPEG 2000 Mixed Raster Content (MRC) Image Compression Standards
Software Research MRC
Software Research Video Compression