Australian Journal of Basic and Applied Sciences

Similar documents
OPTIMIZATION OF LZW (LEMPEL-ZIV-WELCH) ALGORITHM TO REDUCE TIME COMPLEXITY FOR DICTIONARY CREATION IN ENCODING AND DECODING

International Journal of Advanced Research in Computer Science and Software Engineering

CHAPTER II LITERATURE REVIEW

An Efficient Implementation of LZW Compression in the FPGA

LOSSLESS DATA COMPRESSION AND DECOMPRESSION ALGORITHM AND ITS HARDWARE ARCHITECTURE

HARDWARE IMPLEMENTATION OF LOSSLESS LZMA DATA COMPRESSION ALGORITHM

EE-575 INFORMATION THEORY - SEM 092

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

CHAPTER VII INDEXED K TWIN NEIGHBOUR CLUSTERING ALGORITHM 7.1 INTRODUCTION

THE RELATIVE EFFICIENCY OF DATA COMPRESSION BY LZW AND LZSS

An Effective Approach to Improve Storage Efficiency Using Variable bit Representation

A Hybrid Approach to CAM-Based Longest Prefix Matching for IP Route Lookup

Highly Secure Invertible Data Embedding Scheme Using Histogram Shifting Method

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

Lempel-Ziv-Welch (LZW) Compression Algorithm

EE67I Multimedia Communication Systems Lecture 4

Resource Efficient Multi Ported Sram Based Ternary Content Addressable Memory

Design of a High Speed CAVLC Encoder and Decoder with Parallel Data Path

Image Compression for Mobile Devices using Prediction and Direct Coding Approach

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

Analysis of Parallelization Effects on Textual Data Compression

Design and Implementation of Lossless Data Compression Coprocessor using FPGA

A Methodology to Detect Most Effective Compression Technique Based on Time Complexity Cloud Migration for High Image Data Load

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

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

An Efficient Implementation of LZW Decompression Using Block RAMs in the FPGA (Preliminary Version)

Implementation of SCN Based Content Addressable Memory

DESIGN OF PARAMETER EXTRACTOR IN LOW POWER PRECOMPUTATION BASED CONTENT ADDRESSABLE MEMORY

IMAGE COMPRESSION TECHNIQUES

INTERNATIONAL JOURNAL OF PURE AND APPLIED RESEARCH IN ENGINEERING AND TECHNOLOGY

SIGNAL COMPRESSION Lecture Lempel-Ziv Coding

Optimization of Bit Rate in Medical Image Compression

ITCT Lecture 8.2: Dictionary Codes and Lempel-Ziv Coding

Study on LZW algorithm for Embedded Instruction Memory.

Low Power using Match-Line Sensing in Content Addressable Memory S. Nachimuthu, S. Ramesh 1 Department of Electrical and Electronics Engineering,

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

Lossless Compression Algorithms

Implementation and Optimization of LZW Compression Algorithm Based on Bridge Vibration Data

A Compression Method for PML Document based on Internet of Things

Content Addressable Memory Architecture based on Sparse Clustered Networks

A NOVEL APPROACH FOR A HIGH PERFORMANCE LOSSLESS CACHE COMPRESSION ALGORITHM

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

Implementation of Adaptive Buffer in Video Receivers Using Network Processor IXP 2400

Generating All Solutions of Minesweeper Problem Using Degree Constrained Subgraph Model

A QUAD-TREE DECOMPOSITION APPROACH TO CARTOON IMAGE COMPRESSION. Yi-Chen Tsai, Ming-Sui Lee, Meiyin Shen and C.-C. Jay Kuo

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

International Journal of Trend in Research and Development, Volume 3(2), ISSN: A Review of Coding Techniques in the Frequency

A DEDUPLICATION-INSPIRED FAST DELTA COMPRESSION APPROACH W EN XIA, HONG JIANG, DA N FENG, LEI T I A N, M I N FU, YUKUN Z HOU

FPGA based Data Compression using Dictionary based LZW Algorithm

RECENTLY, researches on gigabit wireless personal area

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

Parallelizing Inline Data Reduction Operations for Primary Storage Systems

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

Matrix Manipulation Using High Computing Field Programmable Gate Arrays

Multimedia Systems. Part 20. Mahdi Vasighi

Reconstruction Improvements on Compressive Sensing

CS 493: Algorithms for Massive Data Sets Dictionary-based compression February 14, 2002 Scribe: Tony Wirth LZ77

System-on-Chip Test Data Compression Based on Split-Data Variable Length (SDV) Code

A Level-wise Priority Based Task Scheduling for Heterogeneous Systems

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

A Scalable Approach for Packet Classification Using Rule-Base Partition

Compression of the Stream Array Data Structure

University of Waterloo CS240 Spring 2018 Help Session Problems

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

VLSI ARCHITECTURE FOR NANO WIRE BASED ADVANCED ENCRYPTION STANDARD (AES) WITH THE EFFICIENT MULTIPLICATIVE INVERSE UNIT

A MULTI ALPHABET ARITHMETIC CODING HARDWARE IMPLEMENTATION FOR SMALL FPGA DEVICES

NOISE ELIMINATION USING A BIT CAMS

Study of LZ77 and LZ78 Data Compression Techniques

Content Addressable Memory with Efficient Power Consumption and Throughput

LZW Compression. Ramana Kumar Kundella. Indiana State University December 13, 2014

Removing Spatial Redundancy from Image by Using Variable Vertex Chain Code

Keywords - DWT, Lifting Scheme, DWT Processor.

Digital Image Processing

A Novel Image Compression Technique using Simple Arithmetic Addition

Data Structure. IBPS SO (IT- Officer) Exam 2017

stack Two-dimensional logical addresses Fixed Allocation Binary Page Table

Compressing Data. Konstantin Tretyakov

Unique Journal of Engineering and Advanced Sciences Available online: Research Article

Single Pass Connected Components Analysis

ISSN Vol.05,Issue.09, September-2017, Pages:


COSC 122 Computer Fluency. Computer Organization. Dr. Ramon Lawrence University of British Columbia Okanagan

Novel Design of Dual Core RISC Architecture Implementation

DEFLATE COMPRESSION ALGORITHM

I. INTRODUCTION FACTORS RELATED TO PERFORMANCE ANALYSIS

Power Optimized Programmable Truncated Multiplier and Accumulator Using Reversible Adder

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

University of Waterloo CS240R Winter 2018 Help Session Problems

ISSCC 2006 / SESSION 22 / LOW POWER MULTIMEDIA / 22.1

ISSN (ONLINE): , VOLUME-3, ISSUE-1,

Lempel-Ziv-Welch Compression

Optimized Compression and Decompression Software

Design, Analysis and Processing of Efficient RISC Processor

Ch. 2: Compression Basics Multimedia Systems

Double Threshold Based Load Balancing Approach by Using VM Migration for the Cloud Computing Environment

Design of a Pipelined 32 Bit MIPS Processor with Floating Point Unit

I. Introduction. India; 2 Assistant Professor, Department of Electronics & Communication Engineering, SRIT, Jabalpur (M.P.

Experimental Observations of Construction Methods for Double Array Structures Using Linear Functions

A Simple Lossless Compression Heuristic for Grey Scale Images

Delay Optimised 16 Bit Twin Precision Baugh Wooley Multiplier

Transcription:

Australian Journal of Basic and Applied Sciences, 8() January 204, Pages: -9 AENSI Journals Australian Journal of Basic and Applied Sciences Journal home page: www.ajbasweb.com Computational Complexity of Multiple Dictionary Lempel Ziv Welch (MDLZW) Algorithm and its Data Structure Implementations Nishad, P.M. and 2 Dr. R. Manicka Chezian Ph.D scholar, Dr. Mahalingam for Research and Development, Department of Computer Science, NGM College Bharathiar University, Pollachi, India-64200 2 Associate Professor Dr. Mahalingam for Research and Development, Department of Computer Science, NGM College Bharathiar University, Pollachi, India-64200. ARTICLE INFO Article history: Received 20 November 203 Received in revised form 24 January 204 Accepted 29 January 204 Available online 25 February 204 Keywords: LZW, MDLZW, Computational Cost, BST, Linear array, Chained hash table ABSTRACT LZW is a universal lossless data compression algorithm which takes linear time in encoding and decoding. In order to reduce the computational cost, a simplified LZW architecture is designed which is called as MDLZW (Multiple dictionaries LZW) architecture. LZW dictionary constructions with any data structure take huge time. This architecture reduces the computational cost of LZW algorithm. This paper propose and experiments various data structures in use with MDLZW such as linear array with Linear Search, Binary Search Tree (BST), and Chained Hash table algorithms in MDLZW architecture. The mathematical as well as practical nature of the proposed MDLZW is examined in this paper. The enhanced architecture of LZW shows less computational complexity than the traditional LZW with any existing data structures. Linear array with linear search on MDLZW achieves 23% improvement, BST MDLZW achieves 38.24% improvement when comparing with traditional LZW BST implementation, and Chained hash table implementation of MDLZW achieves 27.36% improvements Conclusion: the experimental result shows that the MDLZW give better performance when comparing with traditional LZW implementation, and the performance Data structure employed with the MDLZW is also optimized. 204 AENSI Publisher All rights reserved. To Cite This Article: Nishad, P.M. and Dr. R. Manicka Chezian., Computational Complexity of Multiple Dictionary Lempel Ziv Welch (MDLZW) Algorithm and its Data Structure Implementations. Aust. J. Basic & Appl. Sci., 8(): -9, 204 INTRODUCTION The major feature of conventional implementations of the LZW data compression algorithms is that they usually use only single dictionary, a quite lot of compression time is wasted in searching the large-address-space dictionary instead of using a unique single dictionary a multiple dictionary set containing several small address space dictionaries with increasing the pattern widths is used for the compression algorithm. The results show that the new architecture not only can be easily implemented in, also has reduced computation cost since it no longer needs to search the dictionary recursively as the conventional implementations do. In order to reduce the computational cost, a simplified LZW architecture is designed is called MDLZW (5) (Multiple dictionary LZW) architecture. This architecture improves and modifies the features of both LZW algorithms in the following ways. First, calculate the width of each pattern to be lookup from the dictionary and select the dictionary based on the length of the pattern. For example if the width of the pattern is two then the second dictionary is opted for the search, if the width is three then the third dictionary. In case if the dictionary does not have such pattern then the pattern is updated in the same dictionary. Finally each single dictionary has uniform size of patterns. For example the dictionary used in MDLZW compression algorithm is one that consists of m small variable-pattern width dictionaries, numbered from to m, with each of which increases its pattern width by one byte. That is to say, dictionary one has one only single width pattern, dictionary two has only dual width pattern, and so on. These dictionaries: constitute a dictionary set. In general, different address space distributions of the dictionary set will present significantly distinct performance of the MDLZW compression algorithm. However, the optimal distribution is strongly dependent on the actual input data files. This paper is mainly focus on how the important data structures and algorithm like Linear array, Binary search tree, Hash table and Binary insertion sort can play important role in the implementation of MDLZW approach, and how MD implementation of LZW can give optimal reduction of computational cost using the above data structure or algorithms. All four types of MDLZW implementation is done and both theoretically and practical evaluation is done. Corresponding Author: Nishad, P.M., Ph.D scholar, Dr. Mahalingam for research and development, Department of Computer Science, NGM College Bharathiar University, Pollachi, India-64200. Ph: (+9 9495262832) E-mail: nishadpalakka@yahoo.co.in

2 Nishad, P.M. and Manicka Chezian, 204 Australian Journal of Basic and Applied Sciences, 8() January 204, Pages: -9 Preface: In order to improve the performance of dictionary based algorithm, two methods are suggested (S. Kwong 20). i). studding how to choose the minimum dictionary size to minimize the time taken and maximize compression. ii). Modifying the dictionary building process in order to reduce the ultimate dictionary size. The performance of LZW improved using three modifications. The first two enhancements eliminates the frequent flushing of the dictionary, this removes the computational complexity of LZW. The third enhancement improves the compression ratio. Two pass LZW (Nan Zhang 2004) offline algorithm uses separate static dictionary is used for each file. Tire is constructed in the first phase. Actual Encoding carried in the second phase. The tire is attached to the compressed file. The tire like implementation leads to reduce the computational cost. A unique dictionary is partitioned into hierarchical variable word-width dictionaries. This allows us to search through dictionaries in parallel. Moreover, the barrel shifter (Perapong Vichitkraivin 2009) is adopted for loading a new input string into the shift register in order to achieve a faster speed. However, the original PDLZW uses a simple FIFO update strategy, which is replaced with a new window based updating technique is implemented to better classify the difference in how often each particular address in the window is referred. The freezing policy is applied to the address most often referred, which would not be updated until all the other addresses in the window have the same priority. This guarantees that the more often referred addresses would not be updated until their time comes; this leads to an improvement on the compression efficiency and low complexity. A new Two-Stage architecture that combines the features of both Parallel- dictionary LZW (PDLZW) (Ming-Bo 2006) and an approximated adaptive algorithm. Another two stage compression algorithm combines the features of PDLZW and Arithmetic Coding (Nirali Thakkar 202) (NiraliThakkar 202). In this architecture order list instead of tree based structure is used. The approach replace the hardware cost in addition the compression ratio and time cost is reduced. A multi processor based algorithm is called Bi Directory LZW (BDLZW) (Liu Feng 2009). The implementation is approximately like PDLZW. The algorithm runs on multi processor system such as CELL, so this can minimize the computation time. The algorithm reads string from both the ends and loading two threads fairly and easily. Comparing the running time is ten percentages is improved then the conventional PDLZW when there are two threads running on CELL architecture. The parallel dictionary of LZW is implemented with the parallel VLSI architecture (CUI Wei 2008) can improve the throughput; the compression ratio and it reduce the time complexity because of the parallel search using the VLSI architecture. The algorithm combines the features of both parallel dictionary LZW (PDLZW) and an approximated Adaptive Huffman (AH) algorithm). The algorithm achieves compression ratio but cost computation little high than PDLZW. High speed Low-complexity register transfer logic (RTL) design and implementation (Saud NAQVI 20) of LZW algorithm on Xilinx vertex in device family for high bandwidth applications. This offers high throughput and lower power requirements. Another hardware implementation using the enhanced content-addressable-memory (CAM) (Pagiamtzis 2004) cells to accelerate the implementation of LZW (Rupak Samanta 2007). Definitions: Let us assume that XX = {xx, xx 2 xx NN } the input sequence. The sequence length is denoted XX. D is the dictionary; number of dictionaries is denoted by m i.e., to m. the length of each dictionary DD ii = where ii =,2,, and = NN or DD ii = NN. φφ Indicate empty or null dictionary initially each DD ii = φφ, and m is the number of non empty dictionary SSSSSSSSSSSS = gggggg iiiiiiiiii cchaaaaaaaaaaaaaa WWWWWWWWWW ttheeeeee aaaaaa ssssssssss iiiiiiiiii cchaaaaaaaaaaaaaaaa { CCCCCCCC = gggggg iiiiiiiiii cchaaaaaaaaaaaaaa L= Length (SSSSSSSSSSSS + CCCCCCCCCCCCCCCCCC) AAAAAA = SEARCH (SSSSSSSSSSSS + CCCCCCCCCCCCCCCCCC, LL ); // using appropriate data structure and search in the L th dictionary IIII AAAAAA eeeeeeeeee tttt tttttttt ttheeee { SSSSSSSSSSSS = SSSSSSSSSSSS + CCCCCCCC } EEEEEEEE { OOOOOOOOOOOO tthee cccccccc ffffff SSSSSSSSSSSS AAAAAA SSSSSSSSSSSS + CCCCCCCC tttt tthee ssssssssssss tttt L th dictionary// use appropriate data structure SSSSSSSSSSSS = CCCCCCCC } } Fig. : Multiple Dictionaries LZW (MDLZW) Algorithm.

3 Nishad, P.M. and Manicka Chezian, 204 Australian Journal of Basic and Applied Sciences, 8() January 204, Pages: -9 The MDLZW algorithm has two phases i) Switching and coding phase and ii) searching and updating phase. For encoding initially the initial dictionary or dictionary zero DD 0 contains all the possible patterns in ascending order (0 to 255), this dictionary is a virtual directory so no insertion is made in the initial dictionary while encoding (compression) this dictionary is shown in the figure-2, fugure-3 and figure-4 using dashed lines, this dictionary is called virtual dictionary ( no data structure operation is made in such dictionaries or in other words no data structure operation are made in the virtual directory or its imaginary). The first phase of the encoding algorithm uses three variables STRING, CHAR and L and also single dictionary is replaced with multiple dictionaries. The L has an integer value to identify the dictionary to be searched based on the pattern STRING+CHAR, CHAR variable holds only a single character. The variable STRING is a variable length string (i.e.) it may have a group of one or more character with each character being a single byte. Initially the encoding algorithm initializes the variable L is 2 and then taking the first byte from the input file, and placing it in the variable, STRING. This is followed by the algorithm looping for each additional byte in the input file. Each time a byte is read from the input file it is stored in the variable, CHAR. Each time after storing byte to CHAR the switching is processed based on the L to determine if the concatenation of the two variables, STRING+CHAR, has already been assigned a code for example initially L is 2 and STRING is A and CHAR is B so the search for the pattern STRING+CHAR is made only w ithin the dictionary - DD and the comparison required is zero (shown in figure-2) because initially the length of all dictionary is zero or DD ii = φφ where ii = tttt and φφ indicates the dictionary is empty. If the pattern STRING+CHAR is ABBB the number of comparison required is zero, but the algorithm use single dictionary the comparison required using single dictionary is five. So using the multiple dictionaries and the linear array with search the computation cost is reduced so this directly leads to reduce the time complexity. If the pattern STRING+CHAR search result is true then the STRING+CHAR is assign to STRING and the L variable is incremented by one and CHAR is the next character in the input sequence of X the Length of the pattern increases then based on the L the search process again continues in the very next dictionary, this process continues the search fails or until the longest mach found if the longest mach found then the index is given as the output string. After the unsuccessful search CHAR is stored in to the STRING and the L is reset to two and the looping is continued. For the searching and updating the dictionary is the second phase of the algorithm is used each time after switching the dictionary is selected for the search base on the L. Linear search is used for searching if the pattern STRING+CHAR is reported in the corresponding dictionary then the function return true else the pattern is updated as the last element in which the search failed. The algorithm is shown in the figure-. Mdlzw Linear Array Implementation: The length of the input stream X is X, initially the number of dictionaries is M. where M is rebuild based on the length of the pattern and in the beginning all dictionary s are empty, i.e, DD ii = Φ where ii iiii tttt, except virtual dictionary, but during the computational cost evaluation this dictionary is not considered because of no search or comparison is made in the virtual dictionary DD 0. After each unsuccessful search each dictionary is updated with STRING+CHAR, the dictionary is represented using the linear array shown in the Figure -2 and for the lookup operations the linear search is used, so by performing the update in the dictionary that corresponding dictionary length is incremented by one, after the last update in the dictionary the length of the dictionary is represented by DD ii = where ii iiii tttt, m indicates non empty dictionaries in DD DD, during the complexity study only up to m is considered. NN =, i.e., the total number of elements in all dictionaries DD DD. For switching search between the dictionaries the STRING+CHAR length L is used. Fig. 2: MDLZW Linear array with linear search implementation for the input sequence ABCABBABBBCABABBBD

4 Nishad, P.M. and Manicka Chezian, 204 Australian Journal of Basic and Applied Sciences, 8() January 204, Pages: -9 Theorem : The Linear array with linear search implementation of MDLZW compression algorithm takes. = XX DD + 3 tttttttt DD 4 Proof: The computational cost per dictionaries is calculated by comparison required for the input sequence is calculated as follows. Where nn ii+ 2, so the average number of XX DD ii + nn 2 + ii + 2 + ii + 2 + Then equation () is simplified as Where Then the equation (2) is simplified as nn nn + ii + nn 2 () ii + 2 = + 3 4 = XX DD + 3 (2) 4 = DD = XX DD + ( 3) DD 4 + ( 3) = XX DD (3) ( DD ) 4 By simplifying the above equation., DD + ( 3) = XX DD 4 DD + ( 3) = XX DD 4 Mdlzw with Binary Search Tree Implementation: The length of the input stream X is X, initially the number of dictionaries is M. where M is rebuild based on the length of the pattern and in the beginning all dictionary s are empty, i.e., DD ii = Φ where ii iiii tttt, except virtual dictionary, but during the computational cost evaluation this dictionary is not considered because of no search or comparison is made in the virtual BST (dictionary DD 0 ). After each unsuccessful search in the dictionary constructed using separate BST shown in the figure -5, the BST insertion operation is made with a new element or STRING+CHAR, so by performing the insertion, that corresponding dictionary the number of nodes is incremented by one (each BST represents the unique dictionary), after the last insertion in the BST the total number of elements in each BST represented by DD ii = where ii iiii tttt, m indicates number of non empty trees in DD DD, during the complexity study only up to m is considered. NN =, i.e., the total number of elements in all dictionaries DD DD. For each STRING+CHAR insertion or a search or both will take please in the corresponding BST. For switching search between the dictionaries the STRING+CHAR length L is used.

5 Nishad, P.M. and Manicka Chezian, 204 Australian Journal of Basic and Applied Sciences, 8() January 204, Pages: -9 Fig. 4: Binary Search Tree MDLZW implementation for the input sequence ABCABBABBBCABABBBD Theorem 2: The Binary search tree implementation of MDLZW compression algorithm takes = OO XX llllll! ( DD ) nn Proof: The computational cost per dictionaries is calculated by log ii nn. so the average number of comparison required for the input sequence is calculated as follows. nn = OO XX DD log ii nn + log ii nn nn = OO XX ( DD ) log ii nn nn + log ii nn + log ii nn + log ii tttttttt + = OO XX log jj ( DD ) jj = log ii + log ii + +

6 Nishad, P.M. and Manicka Chezian, 204 Australian Journal of Basic and Applied Sciences, 8() January 204, Pages: -9 Where Then the equation (4) is simplified as = OO XX log jj jj = jj =! jj = = OO XX llllll! ( DD ) (4) ( DD ) Mdlzw with Chained Hash Table Implementation: The length of the input stream X is X, initially the number of dictionaries is M. where M is rebuild based on the length of the pattern and in the beginning all dictionary s are empty, i.e., DD ii = Φ where ii iiii tttt, except virtual dictionary, but during the computational cost evaluation this dictionary is not considered because of no search or comparison is made in the virtual Chained hash table (dictionary DD 0 ). After each unsuccessful search in the dictionary constructed using chained hash table shown in the figure -5, the chained hash table is updated with a new element or STRING+CHAR, so by performing the insertion, that corresponding dictionary the number of nodes is incremented by one (each Hash table represents the unique dictionary), after the last insertion in the hash table the total number of elements in each hash table represented by DD ii = where ii iiii tttt, m indicates number of non empty trees in DD DD, during the complexity study only up to m is considered. NN =, i.e., the total number of elements in all dictionaries DD DD. For switching search between the dictionaries the STRING+CHAR length L is used. Fig. 4: Chained Hash Table MDLZW implementation for the input sequence ABCABBABBBCABABBBD Theorem 3: The Chained hash table implementation of MDLZW compression algorithm takes OO + AAAA{αα jj } jj = (NN ) Proof: The computational cost per dictionaries is calculated by nn+ required for the input sequence is calculated as follows. tttttttt nn nn so the average number of comparison

7 Nishad, P.M. and Manicka Chezian, 204 Australian Journal of Basic and Applied Sciences, 8() January 204, Pages: -9 NN nn + nn nn + + + + + + nn + nn nn By simplifying the above equation we get Where Where AM is arithmetic mean Then the equitation (5) is simplified as nn jj = NN nn jj + αα ii nn jj jj = = (NN ) nn jj + nn jj jj = nn jj = nn jj + αα ii nn jj jj = nn nn + (NN ) nn jj αα ii (5) = + AAAAαα jj ttheeee OO + AAAA{αα jj } jj = (NN ) Graph : Comparative analysis of LZW and MDLZW with various data structures.

8 Nishad, P.M. and Manicka Chezian, 204 Australian Journal of Basic and Applied Sciences, 8() January 204, Pages: -9 Graph 2: Comparative analysis of various Data structure implementation of MBLZW using famous bench mark text. Experimental Result: Experimental Setup: All experiments done on a 2.20 GHz Intel (R) Celeron (R) 900 CPU equipped with 3072KB L2 cache and 2GB of main memory. The machine had no other significant CPU tasks running and only a single thread of execution was used. The OS was Windows XP SP3 (32 bit). All programs were compiled using java version jdk.6.0_3. The times were recorded in nanoseconds. The time taken of each algorithm is calculated using the tool compression time complexity evaluator; graphs are plotted with MS Excel. All data structures reside in main memory during computation. By evaluating the experimental result and the above graphs the MDLZW is reduced computational cost when comparing to the traditional LZW and its data structure implementation. Among the MDLZW data structure experimentation Chained hash table implementation shows best result. The time taken per byte is calculated using the formula given below. TTTTTTTT tttttttttt pppppp bbbbbbbb = tttttttttt tttttttt tttttttt tttt cccccccccccccccc oooo dddd cccccccccccccccc tthee ssssssss oooo tthee ffffffff Based on the above formula the graph-2 is plotted. When comprising the performance of data structures employed in MDLZW and traditional LZW data structures the MDLZW achieves best result, linear array with linear search on MDLZW achieves 23%, linear array with BST MDLZW achieves 38.24% and Chained hash table implementation of MDLZW achieves 27.36% ( the comparative analysis with various data chart-) improvements when comparing to the traditional LZW, so the MDLZW approach is best when comparing with the original LZW data compression algorithm, for the experimentation various bench mark text files are used. Theorem -, Theorem -2 and Theorem -3 shows the computational cost of MDLZW with linear array with linear search, BST and Chained hash table respectively. Conclusion and Future Enhancement: The major feature of conventional implementations of the LZW data compression algorithms is that they usually use only single dictionary. This takes linear time in encoding. The MDLZW architecture improves and reduces the computational cost of LZW algorithm. This paper experiments various data structures and algorithms used with the MDLZW architecture, namely the data structures used for the experimentation is Linear array with Linear Search, Binary Search Tree (BST), and Chained Hash table. The experimental results show the MDLZW architecture is best with any data structure and algorithm when comparing to the simple LZW architecture. Linear array with linear search on MDLZW achieves 23%, linear array with BST MDLZW achieves 38.24% and Chained hash table implementation of MDLZW achieves 27.36% improvements. This work can be further enhanced and expanded for the authentication of compression techniques to obtain optimum accuracy in time.

9 Nishad, P.M. and Manicka Chezian, 204 Australian Journal of Basic and Applied Sciences, 8() January 204, Pages: -9 REFERENCE CUI Wei and W.U. Silling, 2008. An improved LZW data Compression Algorithm and its VLSI implementation Chinese Journal of Electronics, 7(2): 320-324. Kwong, S. and Y.F. Ho, 200. A statistical Lempel-Ziv compression algorithm for personal digital assistant(pda) IEEE Transactions on Consumer Electronics, 47(): 54-6. Liu Feng and Gao Dong-Mei, 2009. DNA Algorithm of Verifiable Secret Sharing ETP International Conference on Future Computer and Counication, pp: 244-246. Ming-Bo Lin Jang-Feng Lee and Gene Eu, 2006. "A Lossless Data Compression and Decompression Algorithm and Its Hardware Architecture" IEEE transactions on very large scale integration (vlsi) systems, 4(9): 925-936. Nan Zhang, Tao Tao, Ravi Vijaya Satya and Amar Mukherjee, 2004. "Modified LZW Algorithm for Efficient Compressed Text Retrieval" Proceedings of the International Conference on Information Technology: Coding and Computing. Nirali Thakkar and Malay Bhatt, 202. Two-Stage Algorithm for Data Compression Proc. of the Intl. Conf. on Advances in Computer, Electronics and Electrical Engineering, pp: 350-354. Nirali Thakkar and Malay Bhatt, 202. Cascading of the PDLZW Compression Algorithm with Arithmetic Coding International Journal of Computer Applications, 46(6): 2-24. Nishad, P.M. and R. Manicka Chezian, 202. Enhanced LZW (Lempel-Ziv-Welch) Algorithm by Binary Search with Multiple Dictionary to Reduce Time Complexity for Dictionary Creation in Encoding and Decoding - International Journal of Advanced Research in Computer Science and Software Engineering, 2(3): 92-98. Pagiamtzis, K. Sheikholeslami, 2004. A low-power content-addressable memory (CAM) using pipelined hierarchical search scheme Solid-State Circuits, IEEE Journal of 39(9): 52-59. Perapong Vichitkraivin and Orachat Chitsobhuk, 2009. An Improvement of PDLZW implementation with a Modified WSC Updating Technique on FPGA World Academy of Science, Engineering and Technology, 36: 6-65. Rupak Samanta and Rabi N. Mahapatra, 2007. "An Enhanced CAM Architecture to Accelerate LZW Compression Algorithm" 20th International Conference on VLSI Design. Saud Naqvi, Rameez Naqvi, Raja Ali Riaz and Faisal Siddiqui, 20. Optimized RTL design and implementation of LZW algorithm for high bandwidth applications przegląd elektrotechniczny (Electrical Review), R. 87 NR pp: 279-285.