Issues‎ > ‎vol19n1‎ > ‎

New Image Compression/Decompression Technique Using Arithmetic Coding Algorithm


Nassir H. Salman

Faculty of science- Computer Science Dept.- Cihan University-100 street, Erbil, IRAQ

DOI: https://doi.org/10.17656/jzs.10604

Abstract

Arithmetic coding is a form of entropy encoding used in lossless data compression. In this article, new technique for image compression/decompression based on arithmetic coding decoding was used. The input image is divided into blocks, each block is 32 x 32 , 64 x 64, and 128 x 128 pixels. If the image is not multiple of the block size , the size of what remains of the image is calculated and columns and rows of zero values are added(padding) up to be all the blocks are 32 x 32,64 x 64..etc . The blocks are separated first as a stream for processing. The result is a stream of compressed tables after do arithmetic coding process and the store bytes are calculated during this process. Then compression ratio is calculated. Finally the stream of the compressed tables is recollected for decompressing (reconstruction image after decoding process) and this is done for each block. The algorithm is tested on different images and the results show a high space saving (88-90%), the process is fast, and it is easy to decode the binary bits to recover the original image exactly without any lose.

Key Words: arithmetic coding, image compression, lossless compression technique, decoding



References


[1] Khalid Sayood. "Introduction to Data Compression" , 3rd edition Ch4-P/81. Elsevier Inc.( 2006).

[2] Atef Masmoudi, William Puech, Afif Masmoudi. "An improved lossless image compression based arithmetic coding using mixture of non-parametric distributions", Multimedia Tools and Applications, Vol. 74, Issue 23, pp. 10605-10619. (2015).

[3] Subarna Dutta etal. "An efficient image compression algorithm based on histogram based block optimization and arithmetic coding". International journal of computer theory and engineering, Vol.4, No.6, (2012).

[4] Mohammed Siddeq. "Arithmetic Coding and Decoding". Sept. 2011 Math works file exchange. See website: http://mamadmmx76.wix.com/mohammedsiddeq

[5] http://www.mathworks.com/matlabcentral/fileexchange/36377-arithmetic-encoding---decoding

[6] Yu-Yun Chang, "Tutorial: Arithmetic Coding". National Taiwan University, Taipei, Taiwan, ROC

[7] Ian H. Willen, Radford M. Neal, and John G. Cleary. "Arithmetic Coding For Data Compression". Communications of the ACM. Vol. 30, No. 6. (1987).

[8] David Salomon. "Data Compression The Complete Reference". Third Edition-Ch2. P-106 , Springer-Verlag New York, Inc. (2004).

[9] David Salomon. "A Concise Introduction to Data Compression", Ch4, p-123. Springer-Verlag London Limited (2008).

[10] David Salomon, Giovanni Motta, D. Bryant . "Handbook of Data Compression". 5th edition .Ch5, p264. Springer-Verlag London Limited (2010).

[11] Ida Mengyi Pu . "Fundamental Data Compression" . Ch6.p-101. Elsevier Inc. (2006).

[12] Adam Drozdek . "Elements of data compression", Brooks/Cole, Thomson learning, Inc.(2002).