HARDWARE IMPLEMENTATION OF LOSSLESS LZMA DATA COMPRESSION ALGORITHM

Similar documents
A Comprehensive Review of Data Compression Techniques

A Research Paper on Lossless Data Compression Techniques

Keywords Data compression, Lossless data compression technique, Huffman Coding, Arithmetic coding etc.

WIRE/WIRELESS SENSOR NETWORKS USING K-RLE ALGORITHM FOR A LOW POWER DATA COMPRESSION

FPGA based Data Compression using Dictionary based LZW Algorithm

Design and Implementation of Lossless Data Compression Coprocessor using FPGA

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

Information Technology Department, PCCOE-Pimpri Chinchwad, College of Engineering, Pune, Maharashtra, India 2

IMAGE COMPRESSION TECHNIQUES

Analysis of Parallelization Effects on Textual Data Compression

Data Compression. Media Signal Processing, Presentation 2. Presented By: Jahanzeb Farooq Michael Osadebey

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

Journal of Computer Engineering and Technology (IJCET), ISSN (Print), International Journal of Computer Engineering

LOSSLESS DATA COMPRESSION AND DECOMPRESSION ALGORITHM AND ITS HARDWARE ARCHITECTURE

Text Based Image Compression Using Hexadecimal Conversion

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

Simple variant of coding with a variable number of symbols and fixlength codewords.

Design and Implementation of FPGA- based Systolic Array for LZ Data Compression

PACKET LEVEL DATA COMPRESSION TECHNIQUES FOR WIRELESS SENSOR NETWORKS

A Compression Technique Based On Optimality Of LZW Code (OLZW)

Data Encryption on FPGA using Huffman Coding

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

Text Data Compression and Decompression Using Modified Deflate Algorithm

Engineering Mathematics II Lecture 16 Compression

An Efficient Implementation of LZW Compression in the FPGA

Efficient VLSI Huffman encoder implementation and its application in high rate serial data encoding

Data Compression Algorithm for Wireless Sensor Network

DEFLATE COMPRESSION ALGORITHM

A High-Performance FPGA-Based Implementation of the LZSS Compression Algorithm

An Effective Approach to Improve Storage Efficiency Using Variable bit Representation

Entropy Coding. - to shorten the average code length by assigning shorter codes to more probable symbols => Morse-, Huffman-, Arithmetic Code

Improving the Performance of Spatial Reusability Aware Routing in Multi-Hop Wireless Networks

A New Compression Method Strictly for English Textual Data

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

Optimized Compression and Decompression Software

Hardware Parallel Decoder of Compressed HTTP Traffic on Service-oriented Router

ITCT Lecture 8.2: Dictionary Codes and Lempel-Ziv Coding

Lossless Compression Algorithms

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

Implementation of Robust Compression Technique using LZ77 Algorithm on Tensilica s Xtensa Processor

Lempel-Ziv-Welch (LZW) Compression Algorithm

ASIC Implementation and FPGA Validation of IMA ADPCM Encoder and Decoder Cores using Verilog HDL

Golomb Coding Implementation in FPGA

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

Encoding. A thesis submitted to the Graduate School of University of Cincinnati in

Textual Data Compression Speedup by Parallelization

IMAGE PROCESSING (RRY025) LECTURE 13 IMAGE COMPRESSION - I

Image coding and compression

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

Comparison of Text Data Compression Using Run Length Encoding, Arithmetic Encoding, Punctured Elias Code and Goldbach Code

So, what is data compression, and why do we need it?

A Novel Image Compression Technique using Simple Arithmetic Addition

A COMPRESSION TECHNIQUES IN DIGITAL IMAGE PROCESSING - REVIEW

STUDY OF VARIOUS DATA COMPRESSION TOOLS

Lossless Compression using Efficient Encoding of Bitmasks

Comparative Study of Dictionary based Compression Algorithms on Text Data

A SIMPLE DATA COMPRESSION ALGORITHM FOR ANOMALY DETECTION IN WIRELESS SENSOR NETWORKS

A Novel Approach for Parallel CRC generation for high speed application

Ch. 2: Compression Basics Multimedia Systems

FPGA Provides Speedy Data Compression for Hyperspectral Imagery

Comparison of EBCOT Technique Using HAAR Wavelet and Hadamard Transform

Ch. 2: Compression Basics Multimedia Systems

University of Mustansiriyah, Baghdad, Iraq

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

EE-575 INFORMATION THEORY - SEM 092

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

Dictionary techniques

Multimedia Systems. Part 20. Mahdi Vasighi

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

CHAPTER II LITERATURE REVIEW

S 1. Evaluation of Fast-LZ Compressors for Compacting High-Bandwidth but Redundant Streams from FPGA Data Sources

Design and Implementation of a Data Compression Scheme: A Partial Matching Approach

Abdullah-Al Mamun. CSE 5095 Yufeng Wu Spring 2013

Design and Implementation of Hamming Code on FPGA using Verilog

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

Multimedia Networking ECE 599

Volume 2, Issue 9, September 2014 ISSN

Image Compression Algorithm and JPEG Standard

IJSRD - International Journal for Scientific Research & Development Vol. 3, Issue 10, 2015 ISSN (online):

CS 335 Graphics and Multimedia. Image Compression

Federal University of Pelotas UFPel Group of Architectures and Integrated Circuits Pelotas Brasil

Pipelined Quadratic Equation based Novel Multiplication Method for Cryptographic Applications

Cost Minimization by QR Code Compression

FPGA IMPLEMENTATION OF HIGH SPEED DCT COMPUTATION OF JPEG USING VEDIC MULTIPLIER

ENTROPY ENCODERS: HUFFMAN CODING AND ARITHMETIC CODING 1

On Data Latency and Compression

Optimized architectures of CABAC codec for IA-32-, DSP- and FPGAbased

Error Resilient LZ 77 Data Compression

Runlength Compression Techniques for FPGA Configurations

Data compression with Huffman and LZW

Unified VLSI Systolic Array Design for LZ Data Compression

A SIMPLE LOSSLESS COMPRESSION ALGORITHM IN WIRELESS SENSOR NETWORKS: AN APPLICATION OF SEISMIC DATA

Fault Tolerant Parallel Filters Based On Bch Codes

International Journal of Advanced Research in Computer Science and Software Engineering

Source Coding Basics and Speech Coding. Yao Wang Polytechnic University, Brooklyn, NY11201

Data Compression Scheme of Dynamic Huffman Code for Different Languages

Design of Convolution Encoder and Reconfigurable Viterbi Decoder

2 Asst Prof, Kottam College of Engineering, Chinnatekur, Kurnool, AP-INDIA,

Visualizing Lempel-Ziv-Welch

Australian Journal of Basic and Applied Sciences

Transcription:

HARDWARE IMPLEMENTATION OF LOSSLESS LZMA DATA COMPRESSION ALGORITHM Parekar P. M. 1, Thakare S. S. 2 1,2 Department of Electronics and Telecommunication Engineering, Amravati University Government College of Engineering, Amravati (M.S.), India Abstract: Data compression is the science and skill of representing information in a compact form. Storage, transmission and processing of data are the vital component of information system. Enormous data demands additional resources hence resource optimization is required. For improving transmission speed, implementation of lossless data compression algorithm over hardware platform is an alternative. Among various lossless data compression algorithms, LZMA (Lampel Ziv Markow Chain Algorithm) is found to be better suitable for real time data compression. In this paper, hardware description of LZMA algorithm is given by VHDL and it is simulated and synthesized on modelsim and quartus II software respectively. Keywords: Lossless Data Compression, LZ77, LZMA, VHDL. I. INTRODUCTION Data is a combination of alphanumeric characters which in unison called as message. Data compression is nothing but the encoding of data which takes less storage space as that of originally required. Hence, compression is the only enviable resolution for data storage and transmission application. Smaller files are desirable for data communication as it can be transferred with high speed, less power and bandwidth. There are two types of compression techniques based on the recovery of data, lossless compression and lossy compression. But as we deal with the data, lossless compression technique is more preferable. There are various methods available to Corresponding Author: Ms. Parekar P. M., Department of Electronics and Telecommunication Engineering, Amravati University Government College of Engineering, Amravati (M.S.), India Email Id: priyankaparekar28@gmail.com achieve lossless compression namely RLE, Lossless predictive coding, Entropy coding and Arithmetic coding [1]. Field Programmable Gate Array (FPGA) technology has become a reasonable platform for the implementation of various data compression algorithm [12]. In a distributed environment, large data files remain a major bottleneck. Data compression is an only solution available for creating file sizes of manageable and transmittable dimensions without loss of any important information. When high-speed media or channels are used, highspeed data compression is desired. Software implementations are often not fast enough [11]. For real time data compression execution speed needed must be very high, but while implementing compression algorithm over computer systems speed becomes processor specific. Therefore, in real time compression, a fast compressor with low hardware complexity is required [2]. Use of LZMA algorithm reduces the maximum redundancy and able to achieve maximum compression ratio as compare to dynamic dictionary compression [3]. Here, the LZMA data compression algorithm is described in VHDL language. The individual blocks of compression algorithm is verified and analysed by using ModelSim and Quartus-II software respectively and it is implemented over the Altera DE-2 development board. Any type of data files are needs to be converted into binary file format before applying them to the hardware. Hence, for converting any data files into binary format we need specific codec and vice a versa.

There are various entropy based methods available for lossless data compressions are: Huffman Encoding: Huffman coding is based on the concept of mapping an alphabet. Probabilities of symbols are calculated on fly and the symbols with a high probability of occurrence have assigned smaller representation than those that occur less often [4], [5], [6]. Fig. 1: System Development Generated binary file is given to the hardware. Hardware is configured with the proposed LZMA algorithm which will output the data in compressed and reconstructed data in binary file format. Here, Section II describes the related technologies available. Section III describes the detailed LZMA algorithm. Section IV shows an experimental setup. Section V describes the project results and discussion. Section VI concludes the paper. II. RELATED TECHNOLOGIES AVAILABLE There are two techniques available for data compression namely, lossy compression and lossless compression. In lossy compression technique data loss occurs means it is impossible to recover exact original data. Such method of compression is not good for critical data, such as text file data, spreadsheet data. Lossless compression technique is free from loss of data means original message can be exactly decoded. Lossless data compression technique is ideal for text compression. By using this compression technique we achieve better compression ratio but it is less as compared to lossy technique. LZ77: LZ77 encoding algorithm is the first simple compression algorithm described by Lempel and Ziv in 1977. Here, the search window act as a dictionary consists of all processed input string. When new groups of symbols are being read in, the algorithm searches for matches with strings found in the previous data already read in. Then the matches are encoded as pointers and sent as the output. LZ77 encoding is simple and faster. LZ77 is effective only when the input data is highly redundant or repetitive [5], [6]. LZ78: LZ78 builds its dictionary with of all of the previously seen symbols in the input text rather than having a limited-size window into the preceding text. But instead of having access to all the symbol strings in the preceding text, a dictionary of strings is built a single character at a time [3]. LZW: LZW is a dictionary based data compression that compresses content character by character. These characters are combined to form a string. A special code is assigned to new strings and strings are added to the dictionary [7], [8], [9], [10]. LZMA: LZMA is the recent variant of LZ coding. The LZMA was proved to be effective for unknown byte stream compression for reliable lossless data compression. It is based on LZ77 and uses a delta filter and a sliding dictionary algorithm to achieve high compression ratio [3].

III. LAMPEL ZIV MARKOW CHAIN ALGORITHM (LZMA) LZMA algorithm uses delta encoder and sliding dictionary encoder along with the concept of LZ77 dynamic dictionary encoding. The output of LZMA encoder is represented in the form of tuple (offset, length, new symbol). Delta Encoder and Decoder The Delta Filter shapes the input data stream for effective compression by the sliding window. It stores or transmits data in the form of differences between sequential data. The output of the first byte delta encoding is the data stream itself. The subsequent bytes are stored as the difference between the current and its previous byte. While, the output of delta decoder keeping first data stream as it is and subsequent byte are stored as the addition between current and previous data byte. For a continuously varying real time data, delta encoding makes the sliding dictionary more efficient. Example of Delta Decoder Sample input sequence: 2, 1, 1, 2, 1, 2,-1,-1,-2,- 2, 1 Output sequence encoded: 2,3,4,6,7,9,8,7,5,3,4 Number of symbols in input: 4 Number of symbols in output: 8 Sliding Dictionary Algorithm There are two types of dictionaries namely static dictionary and adaptive dictionary. In static dictionaries the entries are predefined and constant according to the application of the text whereas in adaptive dictionaries, the entries are taken from the text itself and created onthe-fly. A search buffer is used as dictionary and the sizes of these buffers depend on the size of data set and parameters of the implementation. Patterns in text are assumed to occur within range of the search buffer. The offset and length is encoded separately, and a bit-mask is also encoded. Use of suitable data structure for the buffers will reduce the search time for longest matches. Sliding Dictionary encoding is more difficult than decoding as it needs to find the longest match. Fig. 2: Encoder and Decoder Block of LZMA Algorithm Example of Delta Encoder Sample input sequence: 2,3,4,6,7,9,8,7,5,3,4 Output sequence encoded: 2, 1, 1, 2, 1, 2,-1,-1,- 2,-2, 1 Number of symbols in input: 8 Number of symbols in output: 4 Fig. 3: Example of sliding dictionary Encoder Fig. 4: Example of Sliding Dictionary Decoder

Experimental Setup The experimental set up for the proposed hardware architecture for LZMA is shown in Figure 5. The proposed architecture is tested on Altera DE-2 development board with Quartus II 9.1i. The real data input is given from PC through serial communication to the FPGA development board. The FPGA is programmed using USB programmer. The Compressed and decompressed data are displayed on LCD. Fig. 6: Simulated Waveforms of Compression Fig. 7: Simulated Waveforms of Decompression Fig. 5: Experimental Setup IV.RESULT DISCUSSION The HDL synthesis Summary and the device utilization details for encoder and decoder are given in Table 1. Here we taken input as a different string of 16 byte data size with different redundancies and calculate its compression ratios. The LZMA gives better compression ratio over a range of input data sizes and the average compression ratio in percentage achieved by using proposed algorithm is 71.57% which is comparably high as compare to the existing dynamic dictionary encoding method (60%). Therefore, the average amount of storage space saved is 10.55% which is less than 7zip algorithm implemented on software which is 12.25% for the similar dataset. But, the storage space required can be reduced if size of the dataset will increased and dataset having maximum redundancy. The compression ratio (CR) and Storage space are calculated as follows. CR = (Output Data Size/Input Data Size) * 100 Storage Space = (1 - (Compressed Data/ uncompressed Data)* 100 TABLE I: Analysis and Synthesis Results of Compression/ Decompression Total logical elements Clock Setup Total Thermal Power Dissipation Compression 385/33216 7.942ns 128.13mW Decompressi 703/33216 5.787ns 128.05mW on Overall System 959/33216 9.460ns 141.05mW V.CONCLUSION Among the various lossless data compression algorithm LZMA proves to be an effective for getting higher compression ratio. Data compression optimize the resources such as power, bandwidth, memory required for transmission and storage of data. Implementation of LZMA algorithm on hardware improves the execution speed and it is compatible with the arrival of real time

data. High performance FPGA with parallel architecture and inbuilt embedded multipliers maximizes system performance Further this architecture can be extended to application specific integrated circuits (ASIC) so as to design a specific hardware chip for the LZMA compression algorithm so as to get more robustness in data compression and decompression. REFERENCES [1] P.Yellamma and Dr.NarasimhamChalla Performance Analysis Of Different Data Compression Techniques On Text File, International Journal of Engineering Research & Technology (IJERT) ISSN: 2278-0181 Vol. 1 Issue 8, October 2012. [2] Armein Z. R. Langi An FPGA Implementation of a Simple Lossless Data Compression Coprocessor, 2011 International Conference on Electrical Engineering and Informatics 17-19 July 2011, Bandung, Indonesia. [3] E.JebamalarLeavline, D.Asir Antony Gnana Singh Hardware Implementation of LZMA Data Compression Algorithm International Journal of Applied Information Systems (IJAIS) ISSN : 2249-0868 Foundation of Computer Science FCS, New York, USA Volume 5 No.4, March 2013 [4] Satish Kannale, KavitaKhare, Deepak Andore and MallikarjunMugli FPGA implementation of selective Huffman coding for high speed data compression and decompression, World Journal of Science and Technology 2011, 1(8): 89-93 ISSN: 2231 2587 [5] Suzanne Rigler, William Bishop, Andrew Kennings FPGA- Based Lossless Data Compression using Huffman and LZ77 Algorithms, 2007 IEEE. [6] S. Renugadevi, P.S. NithyaDarisini Huffman and Lempel-Ziv based Data Compression Algorithms for Wireless Sensor Networks, 2013 International Conference on Pattern Recognition, Informatics and Mobile Engineering (PRIME) February 21-22. [7] AlirezaYazdanpanah, Mahmoud Reza Hashemi A New Compression Ratio Prediction Algorithm for Hardware Implementations of LZW Data Compression, 2010 IEEE. [8] Md. Mamun, Md. ArifSobhan, Ahmad Ashrif, A. Bakar and Hafizah Hussain Hardware Approach of Lempel-Ziv-Welch Algorithm for Binary Data Compression, World Applied Sciences Journal 22 (1): 133-139, 2013 ISSN 1818-4952 IDOSI Publications, 2013. [9] Ming-Bo Lin, Jang-Feng Lee and Gene Eu Jan A Lossless Data Compression and Decompression Algorithm and Its Hardware Architecture, IEEE TRANSACTIONS ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS, VOL. 14, NO. 9, SEPTEMBER 2006. [10] Francesco Marcelloni, Massimo Vecchio A Simple Algorithm for Data Compression in Wireless Sensor Networks, IEEE communications letters, vol. 12, no. 6, June 2008. [11] C. Suneetha, V. S. Ramachandram Design of Test Data Compressor/Decompressor Using Xmatchpro Method, International Journal Of Computational Engineering Research (ijceronline.com) Vol. 2 Issue. 5, September 2012. [12] Bharat Sukhwani Bulent Abali Bernard Brezzo Sameh Asaad High-Throughput, Lossless Data Compression on FPGAs IEEE International Symposium on Field-Programmable Custom Computing Machines, 2011. [13] Ms. Agrawal Arohi K, Prof. V. S. Kulkarni, FPGA Based Implementation of Data Compression using Dictionary based LZW Algorithm, International Journal Of Innovative Research In Electrical, Electronics, Instrumentation And Control Engineering Vol. 2, Issue 4, April 2014.