IMAGE COMPRESSION Image Compression • Why? • Reducing transportation times • Reducing file size • A two way event - compression and decompression Compression categories • Compression = Image coding • Still-image compression • Compression of moving image INTERFRAME and INTRAFRAME PROCESSING Interframe Processing Point to Point Predictive Encoding Line to Line Intraframe Processing Image compression meters • Compress ratio = Original image size Compressed image size • The larger the compression ratio, the smaller the result image Image compression • Compression method is not same as the image file- interchange format. • Example TIFF -file format supports several compression methods Why Can We Compress? • Spatial redundancy • Neighboring pixels are not independent but correlated • Temporal redundancy Information vs Data REDUNDANT DATA INFORMATION DATA = INFORMATION + REDUNDANT DATA Image compression fundamentals • Same compression method is not to be used more than once. • But you can use different methods at the same time, especially different lossless methods like LZW and PKZIP Image compression: symmetry Color image compression • RGB - apply the same compression scheme to the three color component images • Convert the image from the RGB color space to a less redundant space, because RGB components carries a lot of same information. • RGB --> HSB, when Hue and Saturation components are well compressed Color image compression RED GREEN BLUE BRIGHTNESS SATURATION H U E Lossless image compression • Image can be decompressed back to original • Used when image’s future purpose of use is not known, example space exploration imagery is often studied for years following its origination Run-Length Coding y 78| 1 76| 5 x 76 76 76 76 Run-Length Codes (Brightness | Run-length) 76 78 79| 2 79 79 80| 3 80 80 98| 2 80 98 98 Run-length coding • Codes the nearby pixels which has same brightness values in two values - Run-Length, RLE and brightness value • Error sensitive • Data explosion • Data errors Huffman or Entropy Coding Converting the pixel brightness values in the original image to new variable-length codes, based on their frequency of occurrence in the image Brightness Histogram Raw Image Data 98,100,103, 87,86,95... Arrange values in descending frequency of occurrence Assign Huffman variable-length codes Huffman Code Image Data Substitute Huffman codes The flow of the Huffman coding operation. Append code list 0,10,0,1100 1111,11011 Lossless or Lossy Compression • Lossless compression • There is no information loss, and the image can be reconstructed exactly the same as the original • Applications: Medical imagery, Archiving • Lossy compression • Information loss is tolerable • Many-to-1 mapping in compression eg. quantization • Applications: commercial distribution (DVD) and rate constrained environment where lossless methods can not provide enough compression ratio Predictive Coding • Based on the assumption that pixel’s brightness can be predicted based on the brightness of the preceding pixel • Codes only the brightness value of the pixel next to each other • DPCM (Differential Pulse Code Modulation) DPCM (Differential Pulse Code Modulation) Block Coding • Searching for repeated patterns (mostly in rows) • Pixel patterns are put in Codebook • Original image’s pixel pattern is replaced by codebook index in compressed image Block Coding • LZW- compression (Lempel-Ziv-Welch) • Compression ratio 2:1 - 3:1 • Starting with a 256 single-pixel long codebook -> adding until it reaches its maximum length • LZW+Huffmann, where most common pixel patterns get shortest codes TRANSFORM CODING • Transform Coding - transform image - code the coefficients of the transform - transmit them - reconstruct by inverse transform • Benefits - transform coeff. relatively uncorrelated - energy is highly compacted - reasonable robust relative to channel errors Transform Coding – A form of lossy block coding, but it does not use codebook – Frequency domain – Frequency transformation finds the essential data in the image and coding is accurate – 8*8 pixel blocks – Discrete Cosine Transform (DCT) Why Do We Need International Standards? • International standardization is conducted to achieve inter-operability . • Only syntax and decoder are specified. • Encoder is not standardized and its optimization is left to the manufacturer. • Standards provide state-of-the-art technology that is developed by a group of experts in the field. • Not only solve current problems, but also anticipate the future application requirements. Compression standards: JPEG Joint Photographic Experts Group (JPEG) • One of the most important image data compression standards • Developed for highly detailed gray-scale and color images / photographs • Most commonly used as a lossy image compression method, but lossless modes exist as well • JPEG uses several cascaded compression modes • Adjustable compression scheme number of retained frequency components can be changed to achieve different compression ratios • DCT > Remove rare frequency components > DPCM/RLE > Huffman JPEG (Intraframe coding) • First generation JPEG uses DCT+Run length Huffman entropy coding. • Second generation JPEG (JPEG2000) uses wavelet transform + bit plane coding + Arithmetic entropy coding. Why DCT Not DFT? • DCT is similar to DFT, but can provide a better approximation with fewer coefficients • The coefficients of DCT are real valued instead of complex valued in DFT. The 64 (8 X 8) DCT Basis Functions • Each 8x8 block can be looked at as a weighted sum of these basis functions. • The process of 2D DCT is also the process of finding those weights. Zig-zag Scan DCT Blocks • Why? -- To group low frequency coefficients in top of vector. • Maps 8 x 8 to a 1 x 64 vector. Original JPEG 27:1 JPEG2000 27:1 Motion compression standards Moving Picture Experts Group (MPEG) • Intended for the mass distribution of motion video sequences • Compression-asymmetric = compression techniques require more processing time and computing power than the decompression ones • In addition to coding techniques used with JPEG, MPEG utilizes interframe coding methods MPEG-1 use CD-ROM and Internet MPEG-2 use DVD and Digi-TV MPEG-4 most advanced technology