Journal for Research| Volume 01| Issue 09 | November 2015 ISSN: 2395-7549
Fast and Efficient Image Compression based on Parallel Computing using MatLab Prakash M. Tech Student Department of Electronics & Communication Engineering MSEC
Venkateshappa Associate Professor Department of Electronics & Communication Engineering MSEC
Abstract Image compression technique is used in many applications for example, satellite imaging, medical imaging, video where the size of the iamge requires more space to store, in such application image compression effectively can be used. There are two types in image compression techniques Lossy and Lossless comression. Both these techniques are used for compression of images, but these techniques are not fast. The image compression techniques both lossy and lossless image compression techniques are not fast, they take more time for compression and decompression. For fast and efficient image compression a parallel computing technique is used in matlab. Matlab is used in this project for parallel computing of images. In this paper we will discuss Regular image compression technique, three alternatives of parallel computing using matlab, comparison of image compression with and without parallel computing. Keywords: Lossy and Lossless compression, DWT, IDWT, Huffman coding, parallel computing, PCT _______________________________________________________________________________________________________
I. INTRODUCTION Image compression technique is used in many applications for example, satellite imaging, medical imaging, video where the size of the iamge requires more space to store, in such application image compression effectively can be used. There are two types in image compression techniques Lossy and Lossless comression. ď€ Lossy image compression ď€ Lossless image compression 1) Lossy image compression In lossy data compression original data is not exactly restored after decompression and accuracy of re-construction is traded with efficiency of compression. Lossy data compression algorithms are transform coding (for example, discrete cosine tranform), Karhunen-Loeve Transform (KLT) and wavelet based coding(for example, continuous wavelet transform-CWT and Discrete wavelet transform(DWT). 2) Lossless Image Compression As the name implies, lossless image compression schemes exploit redundancies without incurring any loss of data. Thus, the data stream prior to encoding and after decoding is exactly the same and no distortion in the reconstruction quality is observed. Lossless image compression is therefore exactly reversible.
II. BLOCK DIAGRAM OF IMAGE COMPRESSION SYSTEM The figure 1 describes the image compression system; this block diagram explains the Encoding and Decoding of image compression technique with Huffman coding technique.
Fig. 1: Block diagram of Image compression system
All rights reserved by www.journalforresearch.org
6
Fast and Efficient Image Compression based on Parallel Computing using MatLab (J4R/ Volume 01 / Issue 09 / 002)
A. Discrete Wavelet Transform (DWT) The DWT can be taken at as the multi resolution decomposition of a sequence. It takes a sequence z (n) of length N and produces ayield of length N. The output can be seen and analyzed as the multi resolution representation of the sequence z (n), and has N/2 qualities at the highest resolution and N/4 values at the next resolution and etc. That is the frequency resolution is low at the higher frequencies and high at the lower frequencies, while the time resolution is high at the higher frequencies and low at the lower frequencies. It principally comprises of multiplying the input sequence by translates and dilates of the wavelet DWT (Discrete wavelet Transform) module comprising of a HPF(High pass filter) and LPF(low pass filter) followed by down sampling unit to compute the approximation and detailed coefficients of the input. The input sequence X (n) is utilizing high pass and low pass filters to produce the output Yd(n) and Ya(n) representing the approximation and detail samples of the input signal X (n). B. Inverse Discrete Wavelet Transform (IDWT) The IDWT (Inverse Discrete Wavelet Transform) can be dissected as the multi resolution decomposition of a sequence. It takes a Ya(n),Yb(n) as input and up sample these input, and then convolute them with HPF and LPF to produce the output. The output can be seen as the multi resolution representation of X (n). C. Quantization Encoding Assume I is an M × N gray image, its pixels can be described as follows. I = {xij| 1 ≤ i ≤ M, 1 ≤ j ≤ N, xij {0, 1, 2… 255} } (1) After performing DWT on I, we obtain four sub-bands LL, HL, LH, and HH of size M/2× N /2. Conventionally, JPEG2000 performs the uniform quantization on the resulting DWT. Coefficients sub-bands. For most images, after subtracting the average of maximum and minimum, the distribution of coefficients is similar to a zero-mean Laplacian and hence uniform quantization adopts value 0 as the center of quantization [8]. D. Quantization Decoding The de quantization formula is shown below. (Q(i, j −) + r)∆b + ω, Q(i, j) > 0 Rq(i, j) =
(Q(i, j −) + r)∆b + ω, Q(i, j) < 0 0, others
{ Where Rq(i,j) and Q(i, j) stand for the reconstructed coefficient and the quantized value 0 r 1 is an optional parameter for controlling the recovering position within quantization interval. Finally, perform the IDWT (Inverse Discrete Wavelet Transform) on the recovered coefficients in all 4 sub-bands to obtain the reconstructed image I [8]. E. Huffman Coding Steps 1) First 1) With decreasing probability sort the gray levels. 2) Two smallest probabilities have to add. 3) Then the new values into the list have to sort. 4) Then repeat 1st and 3rd step until only two probabilities remains. 2) Second 1) For the highest probability give the code 0, and code 1 for the lowest probability in the summed pair. 2) Then have go backwards through the tree one node and repeat from 1 until all gray levels have a unique code.
III. PARALLEL COMPUTING USING MATLAB(PCT) Parallel computing has been considered to be "the high end of computing", and has been used to model difficult scientific and engineering problems found in the real world. Parallel computing can be used in image compression for fast result of compression and decompression process. In this project Parallel computing Toolbox (PCT) is used for parallel computing in Matlab. There are three alternatives are there for parallel computing in Matlab, those are bcMPI, Star-P, Parallel computing toolbox (PCT). A. BcMPI bcMPI is an open source software library that is an alternative to MatlabMPI and is geared towards large, shared supercomputer centers. The bcMPI library was developed at the Ohio Supercomputer Center (OSC) to provide an efficient, scalable communication mechanism for parallel computing in MATLAB while maintaining compatibility with the MatlabMPI API (Hudak et al., 2007) [7].
All rights reserved by www.journalforresearch.org
7
Fast and Efficient Image Compression based on Parallel Computing using MatLab (J4R/ Volume 01 / Issue 09 / 002)
B. Star-P Star-P is a client-server parallel computing platform for MATLAB available from Interactive Supercomputing. Star-P supports fine grained parallel as well as embarrassingly parallel modes of operation. The biggest advantage offered by Star-P is that it eliminates the need for the developer to use explicit Message Passing Interface (MPI) message passing calls for communicating between the back-end processes. By using the â&#x20AC;&#x153;*pâ&#x20AC;? construct, users can simply indicate the variables or data that are meant to be distributed over the back-end processes [7]. C. Parallel Computing Toolbox The Parallel Computing Toolbox (PCT) along with the MATLAB Distributed Computing Server (MDCS) are commercial products offered by The MathWorks Inc. The PCT provides functions for parallel for-loop execution, creation/manipulation of distributed arrays as well as message passing functions for implementing fine grained parallel algorithms.The MATLAB Distributed Computing Server (MDCS) gives the ability to scale parallel algorithms to larger cluster sizes. The MDCS consists of the MATLAB Worker processes that run on a cluster and is responsible for parallel code execution and process control. The PCT also allows users to run up to 8 MATLAB Labs or Workers on a single machine. This enables interactive development and debugging of parallel code from the desktop. After parallel code has been developed, it can be scaled up to much larger number of Worker or Labs in conjunction with the MDCS [7].
IV. EXPERIMENTAL RESULT In this project fast and efficient image compression technique based on parallel computing is proposed and developed using MatLab Parallel Computing Toolbox. A set of images are taken to experiment the effectiveness of the algorithm. The figure 2 sows the various images used in the experiment. The experimental result with proposed compression method has been arranged in the Table1. Table 1 show that compression and de compression without parallel computing is not fast as compared to our proposed algorithm.
Fig. 2: Original images used in this project Table - 1 Experimental Result
Image
Width
Height
1
512
467
54.122925
29.487857
32.500330
55.368042
Encoding With parallel computing (seconds) 3.502272
2
512
467
54.457092
28.641213
32.273664
55.926514
1.978338
4.829220
3
450
356
54.280853
28.640774
32.334073
59.237671
2.002130
4.448639
4
307
230
43.379211
28.769231
33.677322
46.842957
1.980165
5.909391
5
1419
1001
44.053650
28.744912
33.408402
45.030975
1.962430
6.285207
Compression Ratio
Encoding without parallel (seconds)
Decoding without parallel (seconds)
Parallel computing CR
Decoding With parallel computing (seconds) 4.958386
V. CONCLUSION The design of fast and efficient image compression using parallel computing is presented in this work. Matlab coding is used to design the proposed architecture. Then the design is simulated on Matlab. The proposed architecture is able to perform fast
All rights reserved by www.journalforresearch.org
8
Fast and Efficient Image Compression based on Parallel Computing using MatLab (J4R/ Volume 01 / Issue 09 / 002)
compression of images with acceptable compression ratio. Finally, the proposed system is very fast and efficient in compression of all types of images such as nature images, medical images, satellite images etc.
REFERENCES [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14]
B.C Vemuri, S.Sahni, F.chen, C.Leonard, and J.Fitzsimmons, “Lossless Image compression”, Dept of CISE, Univ. of Florida, Gainsvelle,F1.32611 Ronald A. Devore, Bjorn Jawerth, and Bradley J. Lucier, “Image compression Through wavelet Transform Coding”, IEEE Transactions on information theory,Vol.38,No.2 March 1992. Dipalee Gupta, Siddhartha Choubey, “Discrete Wavlet Transform for Image Pocessing, International Journal of Emerging Technology and Advanced Engineering, ISSN 2250-2459, Volume 4, Issue 3, March 201.5. Jagdish H. Pujar, Lohit M. Kadlaskar, “A NEW LOSSLESS METHOD OF IMAGE COMPRESSION AND DECOMPRESSION USING HUFFMAN CODING TECHNIQUESFPGA”, Journal of Theoretical and Applied Information Technology. Diya Chudasama, Khushboo Parmar, Dipali Patel, Kruti J. Dangarwala, Shaishav Shah, “Survey of Image Compression Method Lossless Approach”, International Journal of Engineering Research & Technology (IJERT), ISSN: 2278-0181, Vol. 4 Issue 03, March-2015. Tejas S. Patel, Ravindra Modi, Keyur J. Patel, “Image Compression Using DWT and Vector Quantization”, International Journal of Innovative Research in Computer and Communication Engineering,Vol. 1, Issue 3, May 2013 Ashok Krishnamurthy, Siddharth Samsi and Vijay Gadepally, “Parallel MatLab Techniques”, Ohio Supercomputer Center and Ohio State University U.S.A. Pro-Yueh Chen and Jia-Yu Chang, “An Adaptive Quantization Scheme for 2-D DWT Coefficients”, International Journal of Applied Science and Engineering 2013. Rajesh K. Yadav, S.P. Gangwar and Harsh V. Singh Preetam Bhosle and Hari Krishna Moorthy, “Study and analysis of wavelet based image compression techniques”, International Journal of Engineering, Science and Technology, Vol. 4, No. 1, 2012, pp. 1-7, 2012 M. Mozammel Hoque Chowdhury and Amina Khatun, “Image Compression Using Discrete Wavelet Transform”, IJCSI International Journal of Computer Science Issues, Vol. 9, Issue 4, No 1, July 2012 Ramandeep Kaur Grewal M.Tech (I.T.), Navneet randhawa Neenu Joseph, “IMAGE COMPRESSION USING DISCRETE COSINE TRANSFORM & DISCRETE WAVELET TRANSFORM”, International Journal of Computing & Business Research ISSN (Online): 2229-6166,2012. Priyadarshini K S, Dr. G S Sharvani, “A Survey on Parallel Computing of Image Compression Algorithms”,International journal of innovative technology and research, ISSN 2320-5547, April 2015. Bhavesh Vekariya1, Chhaya Patel, “A Review on Image Compression in Parallel using CUDA”, International Journal of Engineering Research and Development e-ISSN: 2278-067X, p-ISSN: 2278-800X, www.ijerd.com Volume 11, Issue 02 February 2015. Arnold Meijster, “Efficient Sequential and Parallel Algorithms for Image Processing”, Second International Conference on Computer and Electrical Engineering,IEEE, pp:765-771777,2011.
All rights reserved by www.journalforresearch.org
9