IMAGE COMPRESSION TECHNIQUES

Similar documents
Volume 2, Issue 9, September 2014 ISSN

IMAGE COMPRESSION. Image Compression. Why? Reducing transportation times Reducing file size. A two way event - compression and decompression

Lossless Compression Algorithms

IMAGE COMPRESSION- I. Week VIII Feb /25/2003 Image Compression-I 1

Topic 5 Image Compression

Analysis of Huffman and Run-length encoding Compression Algorithms on Different Image Files

Image compression. Stefano Ferrari. Università degli Studi di Milano Methods for Image Processing. academic year

Multimedia Networking ECE 599

IMAGE PROCESSING (RRY025) LECTURE 13 IMAGE COMPRESSION - I

Image coding and compression

Image Coding and Data Compression

Image Compression Algorithm and JPEG Standard

CHAPTER 6. 6 Huffman Coding Based Image Compression Using Complex Wavelet Transform. 6.3 Wavelet Transform based compression technique 106

IMAGE COMPRESSION USING HYBRID QUANTIZATION METHOD IN JPEG

CMPT 365 Multimedia Systems. Media Compression - Image

Ch. 2: Compression Basics Multimedia Systems

A Image Comparative Study using DCT, Fast Fourier, Wavelet Transforms and Huffman Algorithm

Image Compression for Mobile Devices using Prediction and Direct Coding Approach

Welcome Back to Fundamentals of Multimedia (MR412) Fall, 2012 Lecture 10 (Chapter 7) ZHU Yongxin, Winson

Digital Image Processing

Image coding and compression

Optimization of Bit Rate in Medical Image Compression

Highly Secure Invertible Data Embedding Scheme Using Histogram Shifting Method

DIGITAL IMAGE PROCESSING WRITTEN REPORT ADAPTIVE IMAGE COMPRESSION TECHNIQUES FOR WIRELESS MULTIMEDIA APPLICATIONS

Research Article Does an Arithmetic Coding Followed by Run-length Coding Enhance the Compression Ratio?

ENTROPY ENCODERS: HUFFMAN CODING AND ARITHMETIC CODING 1

EE67I Multimedia Communication Systems Lecture 4

IMAGE COMPRESSION. Chapter - 5 : (Basic)

Data Compression Scheme of Dynamic Huffman Code for Different Languages

Image Compression - An Overview Jagroop Singh 1

International Journal of Emerging Technology and Advanced Engineering Website: (ISSN , Volume 2, Issue 4, April 2012)

Chapter 7 Lossless Compression Algorithms

A Comparative Study of Entropy Encoding Techniques for Lossless Text Data Compression

Removing Spatial Redundancy from Image by Using Variable Vertex Chain Code

A COMPRESSION TECHNIQUES IN DIGITAL IMAGE PROCESSING - REVIEW

CHAPTER 4 REVERSIBLE IMAGE WATERMARKING USING BIT PLANE CODING AND LIFTING WAVELET TRANSFORM

University of Mustansiriyah, Baghdad, Iraq

Fingerprint Image Compression

Fundamentals of Multimedia. Lecture 5 Lossless Data Compression Variable Length Coding

A Parallel Reconfigurable Architecture for DCT of Lengths N=32/16/8

Chapter 1. Digital Data Representation and Communication. Part 2

Data Compression. An overview of Compression. Multimedia Systems and Applications. Binary Image Compression. Binary Image Compression

Lossless Image Compression with Lossy Image Using Adaptive Prediction and Arithmetic Coding

Wavelet Based Image Compression Using ROI SPIHT Coding

Rate Distortion Optimization in Video Compression

CS 335 Graphics and Multimedia. Image Compression

Scalable Compression and Transmission of Large, Three- Dimensional Materials Microstructures

Enhancing the Image Compression Rate Using Steganography

Enhanced Hybrid Compound Image Compression Algorithm Combining Block and Layer-based Segmentation

Three Dimensional Motion Vectorless Compression

JPEG Compression Using MATLAB

VC 12/13 T16 Video Compression

Wireless Communication

A Research Paper on Lossless Data Compression Techniques

Visually Improved Image Compression by using Embedded Zero-tree Wavelet Coding

Data Compression Algorithm for Wireless Sensor Network

SIGNAL COMPRESSION. 9. Lossy image compression: SPIHT and S+P

A Novel Image Compression Technique using Simple Arithmetic Addition

An Advanced Text Encryption & Compression System Based on ASCII Values & Arithmetic Encoding to Improve Data Security

Digital Image Processing

Compression. storage medium/ communications network. For the purpose of this lecture, we observe the following constraints:

Image Coding and Compression

Reflected Number Systems

IMAGE COMPRESSION USING TWO DIMENTIONAL DUAL TREE COMPLEX WAVELET TRANSFORM

JPEG: An Image Compression System. Nimrod Peleg update: Nov. 2003

Professor Laurence S. Dooley. School of Computing and Communications Milton Keynes, UK

Errors. Chapter Extension of System Model

Part 1 of 4. MARCH

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

A Comparative Study of DCT, DWT & Hybrid (DCT-DWT) Transform

Department of electronics and telecommunication, J.D.I.E.T.Yavatmal, India 2

ISSN V. Bhagya Raju 1, Dr K. Jaya Sankar 2, Dr C.D. Naidu 3

Keywords : FAX (Fascimile), GIF, CCITT, ITU, MH (Modified haffman, MR (Modified read), MMR (Modified Modified read).

Digital Image Processing

ISSN Vol.06,Issue.10, November-2014, Pages:

Compression of Stereo Images using a Huffman-Zip Scheme

Lecture Information Multimedia Video Coding & Architectures

FPGA Implementation of Huffman Encoder and Decoder for High Performance Data Transmission

A LOW-COMPLEXITY AND LOSSLESS REFERENCE FRAME ENCODER ALGORITHM FOR VIDEO CODING

CSE COMPUTER USE: Fundamentals Test 1 Version D

Lossless Audio Coding based on Burrows Wheeler Transform and Run Length Encoding Algorithm

Design and Implementation of Lossless Data Compression Coprocessor using FPGA

Comparative Study between DCT and Wavelet Transform Based Image Compression Algorithm

Video Compression An Introduction

JPEG 2000 Still Image Data Compression

A NEW ENTROPY ENCODING ALGORITHM FOR IMAGE COMPRESSION USING DCT

Data and information. Image Codning and Compression. Image compression and decompression. Definitions. Images can contain three types of redundancy

Golomb Coding Implementation in FPGA

FRACTAL IMAGE COMPRESSION OF GRAYSCALE AND RGB IMAGES USING DCT WITH QUADTREE DECOMPOSITION AND HUFFMAN CODING. Moheb R. Girgis and Mohammed M.

Improved Image Compression by Set Partitioning Block Coding by Modifying SPIHT

Lecture 4 Image Enhancement in Spatial Domain

A HYBRID DPCM-DCT AND RLE CODING FOR SATELLITE IMAGE COMPRESSION

AN ANALYTICAL STUDY OF LOSSY COMPRESSION TECHINIQUES ON CONTINUOUS TONE GRAPHICAL IMAGES

FPGA Implementation of Image Compression Using SPIHT Algorithm

REVIEW ON IMAGE COMPRESSION TECHNIQUES AND ADVANTAGES OF IMAGE COMPRESSION

Fundamentals of Video Compression. Video Compression

IMAGE COMPRESSION TECHNIQUES

Module 6 STILL IMAGE COMPRESSION STANDARDS

In the first part of our project report, published

Lecture 8 JPEG Compression (Part 3)

Transcription:

International Journal of Information Technology and Knowledge Management July-December 2010, Volume 2, No. 2, pp. 265-269 Uchale Bhagwat Shankar The use of digital images has increased at a rapid pace over the past decade. Computer generated (synthetic) images are becoming an additional source of digital data, particularly for special effects in advertising and entertainments. Image compression is the art/science of efficiently coding digital images to reduce the number of bits required in the representing an image. The purpose of doing so is to reduce the storage and transmission costs while maintaining good quality. Image compression is achieved by exploiting redundancies in the image. These redundancies could be spatial, spectral, or temporal redundancy. The techniques for image compression are Huffman coding & Run length encoding. Keywords: Image Compression Techniques, RLE, HUFFMAN. INTRODUCTION Many recent imaging modalities in medicine, such as magnetic resonance imaging (MRI) and computed tomography (CT), also generate images directly in digital form. Computer generated (synthetic) images are becoming an additional source of digital data, particularly for special effects in advertising and entertainments. The downside to representing images in digital form is that a large number of bits is required to represent even a single digital image, and with a rapid advances in sensor technology and digital electronics, this number grow larger with each new generation of products. Further more the total number of digital images produced each day increases as more applications are found as a result, it becomes necessary to find efficient representation for digital images in order to Reduce the memory required for storage; Improve the data access rate from storage device and; Reduce the bandwidth and/or the time required for transfer across communication channels. The branch of digital image processing that deals with the problem is called image compression. Image compression is the art/science of efficiently coding digital images to reduce the number of bits required in the representing an image. The purpose of doing so is to reduce the storage and transmission costs while maintaining good quality. Image compression is achieved by exploiting redundancies in the image. These redundancies could be spatial, spectral, or temporal redundancy. Department of Computer Science and Engineering. Karmaveer Bhaurao Patil College of Engineering and Polytechnic, Shivaji University, Satara, India. Email: bhashu_654@rediffmail.com Spatial redundancy is due to the correlation between neighboring pixels. Spectral redundancy is due to correlation between different color planes. Temporal redundancy is due to correlation between different frames in a sequence of images such as in videoconferencing applications in broadcast images [1]. CLASSIFICATION OF Classification of image compression, namely whether the compression is lossless or lossy. In lossless compression (also known as bit preserving or reversible compression), the reconstructed image after compression is numerically identical to the original image on the pixel-by-pixel basis [1]. In lossy compression (known as irreversible compression), the reconstructed image contains degradations relative to the original image. However under certain conditions, this degradation may not be visually apparent (sometimes called visually lossless compression) [1]. 3. HISTOGRAM The histogram of gray levels in an image is defined by Eq. (1): n (i ) Eq. (1) n Where n(i) = sum of gray levels in the image having the value i and n = total number of gray levels in the image. The distribution p (i) or n (i) can provide the appearance of the mage [1]. h (i) = 4. SELECTING COMPRESSION TECHNIQUES Sensitivity to input image types. Operational bit rate.

266 UCHALE BHAGWAT SHANKAR Constant bit rate v/s constant quality. Implementation issues. Encoder/decoder asymmetry. 5. RUN-LENGTH CODING Run-length coding (RLC) is scheme for image compression that exploits spatial redundancies. For one-dimensional run length coding, a run length is defined as the number of successive pixel elements having the same values. The image can be coded using the pair: (run-length, gray code) [Fig.]. A program based on this basic definition would not necessarily reduce the size of the image, particularly if there were not that many successive pixels having same value. Such a condition might occur in a crowded picture. Run-length encoding is a data compression algorithm that is supported by most bitmap file formats, such as TIFF, BMP, and PCX. RLE is suited for compressing any type of data regardless of its information content, but the content of the data will affect the compression ratio achieved by RLE. [4]. 5. Implementation of RLC The basic definition of RLC can be utilized in a welldesigned algorithm that overcomes the problem arising from that possibility as follows: A run-length is identified by having all of its last three most significant bits set to Its lower 5 bits provide a repeat count from 1 to 31 for the byte that follows. If a pixel value has zero run-length, then it can be coded as follows: a) If its last 3 bits are all set to 1, i.e., >=224, then it is coded as (11100000, pixel value), i.e., zero length followed by pixel value. b) Otherwise, it is coded just as pixel value. The above steps assume that in normal busy picture runlengths greater than 31 would be rare [1]. 6. HUFFMAN CODING The images we have dealt with so far have been coding and saved in the natural code. That is, a gray level of value g is coded with its 8-bit binary equivalent. A gray level of value 6, for example, is coded as 00000110. An alternate coding arrangement is to utilize the gray code. If we were to develop a code such that fewer bits are assigned to code words representing gray levels having higher probability of occurrences and vice versa, such that the average code world length is minimum, then that we have developed is basically a minimum redundancy code. Such coding is known as variable length coding or sometimes entropy coding. The questions now that should be posed are: What is minimum average word length possible that can be used that can be correctly decoded? How do we generate such a code? The answer to the first question can be found in information theory. Suppose a gray level g of probability of occurrence p (g) is given the word length L (g) bits. Then the average code word length, in an 8-bit gray level image, is given by Eq. (2): L= P( g ) L( g ) bit/pixel (2) A reasonable assumption that can be made is that the occurrence of a less probable event should provide more information than the occurrence of a more probable event. This assumption leads to the relationship Eq. (3): 1 (3) Log 2 p( g ) The base 2 is used since L(g) is to be expressed in binary units or bits. The minimum word length that can be used is given by Eq. (4). L (g) = Lmin = p( g ) log 2 p ( g ) bit/pixel (4) This lower bound is called the entropy of the signal. Entropy is never negative since p(g) lies in the range [0,1]. Note that for a 256 gray-level image in which each level has equal probability of occurrence we get, using above equation, the following Eq. (5): Lmin = 1/ 256 log (1/ 256) = 8 bit/pixel (5) 2 This would mean that an equal length code could be used on an image that has a uniform probability density function. The answer to the second question regarding the minimum redundancy code was answered by Huffman. This coding scheme is known as Huffman (HC) and is widely utilized in hardware as well as software coders for commercial application. We shall now examine the Huffman coding scheme[1]. 7. ALGORITHMS FOR COMPRESSING DIGITAL IMAGES 7. Algorithms for Coding a Digital Image A lookup table that relates a gray level value to the Huffman code. This LUT can be developed using the relationship: table_code [gray[i]] = code[i]. Where code[i] is the Huffman code.

267 A lookup table that relates gray level value to the code length of the equivalent Huffman code. This LUT can also be generated using the relationship: table_length [gray[i]] = L[i]. equivalent length L[i], using the to LUTs generated initially. 5) Shift aux to left by L[i] bits. 6) Logically OR code[i] with aux. Coding can than proceed as follow: 7) Update Len = Len + L[i]. 1) Open an output file to save coded image. 2) Set Len=0 and aux = 0. aux is a 4 byte register used for transferring code. Len contains the number of bits left in aux. 3) Read a pixel value. 4) Determine its Huffman code, code[i], and its 8) If Len >= 8 then move the last 8 bits to the output file and decrement Len by 8. 9) If end-of-file has not been reached go to step 3. 10) Transmit the remaining bits in the aux register to the output file.[1] 7. Algorithms for Decoding Digital Images Fig.1: Flow Chart for RLC [4]. The decoding of a file code using the Huffman code can be carried out using the following steps: Set Len=0, flength=0, aux=0. Len is a counter for the number of bits to be decoded. flength is a counter to compare against the true length of the file. aux is a 4-byte register that contains bits to be decoded.

268 UCHALE BHAGWAT SHANKAR Repeat the following flength>true_length steps until 6. Increment Len 7. Increment flength by 8. Move 1 byte from the file to register ch. Check aux against all Huffman codes having length = Len. Repeat the following steps eight times: If a match is found: { a) Copy the equivalent gray level to the output file. 3. Shift aux register to the left 1 bit. b) Set aux to zero. 4. Move the most significant bit of the least significant bit position of aux. c) Set Len to zero. 5. Shift to the left by 1 bit ch. { } (i.e., go to 3). } (i.e., go to 2) [1]. Fig. a: Image after Decoding using HC (Loss Less). Fig.b: Image after Decoding using RLC (Loss Less)

269 Fig.2c: Original Image Fig.3: Analysis of Fig.2, a, b Compression ratios for fig 2: 1) Using RLC is 10.76% minimum redundancy and optimal code. Compression ratio is higher than RLC [Fig.3]. Huffman coding can provide optimal compression and error free decompression. 2) Using HC is 20.00% REFERENCES 8. CONCLUSION [1] Run-length coding is a scheme for image compression that exploits special redundancies. It is very easy to implement, but would not necessarily reduce the size of image [Fig.b & 3]. Greater compression ratio is achieved in crowded image using RLC. M. A. Sid. Ahmed, Image Processing Theory Algorithms and Architectures, McGraw-hill, International Edition, 1995. [2] Paul G. Howard, Text Image Compression Using Soft Pattern Matching, the Computer Journal, 40, No 2/3, 1997. [3] http://homepages.inf.ed.ac.uk/rbf/cvonline/ LOCAL_COPIES/MARBLE/medium/segment/ medial.htm. [4] http://netghost.narod.ru/gff/graphics/book/ch09_03.htm Huffman coding is widely utilized in hardware as well as software coders for commercial application. This is