Lossless Compression Using LFSRs

: While lossy compression techniques are used for images, sound. where feature reproduction is more important than the actual data, it is necessary to use lossless compression for certain files containing data, programmes. Lossless compression techniques are not as effective as lossy ones and usually require a lot of computation for both compression and decompression. We presented a novel lossless compression techniques based on linear feedback shift registers. The advantage of this technique is that decompression is fairly simple and can be implemented without extensive computations. The decompression algorithm is also useful for implementation in hardware. In this paper we presented the details of the LFSR based algorithm. The results on various types of data such as images, sound files and text files presented and the results compared against existing lossless compression techniques.


INTRODUCTION
In today's world of multimedia and internet, image compression [1, 2, 3, and 6] poses a great challenge to both academic community and the industry people. The huge amount of data with limited storage capacity and restricted communication bandwidth makes compression an absolute necessity. Although standard compression like DCT [8] performs well at low compression ratio, at low bit rates it has been found to introduce blocking artifacts, which tend to be visually disturbing. On the other hand sub band based coding techniques line DWT has been found to be free from shortcoming. At low bit rates DWT leads to a uniform degradation of the sequence. This paper focuses on lossless data compression without the use of the dictionary based algorithm [7] ; rather it makes use of the Berlekamp algorithm and gets the image data encoded and the reproduction of the image data using the LFSR. The new architecture enables the use of a seed for a variable, number of tester cycles, such that each seed covers the maximum number of bits specified, resulting in a significant compression ratio. The compression technique is very easy to implement and the hardware overhead is very easy to implement than the conventional one.
Lossy data compression is named for what it does. One applies lossy data compression to a message; the message can never be recovered exactly as it was before it was compressed. When the compressed message is decoded it does not give back the original message. Data is lost. Because lossy compression can not be decoded to yield the exact original message, it is not a good method of compression for critical data, such as textual data. It is not useful for digitally sampled analog data [5]. In lossless data compression file the original message can be exactly decoded. Lossless data compression works by finding repeated patterns in a message and encoding those patterns in an efficient manner. For this reason, lossless data compression is also referred as redundancy reduction.
Many of the lossy compression use the discrete Fourier transforms [5], the disadvantage of this approach are computationally expensive. Hardware implementation is also complicated and expensive. This process is proving to rounding errors. For all critical application like bio-medical application we go for lossless image compression , as accurate reproduction of the compressed data is needed in the receiver side else it could be fatal. For other non critical application like video communications, voice communications etc., we go for lossy compression as even if we loose few bits out of many while decompressing the compressed data, still we can retrieve the original data and it will not cause anything fatal, but it is not the same when it is bio-medical application and hence we prefer lossless compression technique for such critical application.
Lossless algorithms are those which reproduce the original image after compression. WinZip, RAR, TAR are some of the well known lossless algorithms used for compression. Win Zip Algorithm is file archive for Microsoft windows. It uses the PKZIP format and can also handle a number of other archive formats. WinZip uses the dictionary encoding technique for its compression it is similar to the LZ77 [7], where the repeated sequences of input file are encoded and stored in a dictionary, later if these sequence are repeated in the input file its checked from the dictionary and encodes the incoming data sequences.
High compression ratio can be achieved by increasing the size of the dictionary and also the input file size. RAR and TAR are also some lossless compressions that are used in UNIX environments and they are also adopted to use for windows environment.
The use of the BerleKamp algorithm [4] is to compute the linear complexity of a given sequence and find the length of the shortest LFSR, which can be produce that sequence. The measure therefore speaks to the difficulty of generating, a particular sequence. We denote Lk({si}>0) to be the L.C of the sequence s0,s1………………sk-1 and C(k)(x) to be the characteristic polynomial of an Lk stage LFSR that generates si,0<i<sk-1. In general c (k) (x) is not unique for a give Lk-stage LFSR. We define the L.C of all zero vector by length k to be 0 and c (k) (x) =1. Example: Using the Berlekamp Massey Algorithm, find the characteristic polynomial of the lowest possible degree that will generate the sequence 1, 1,0,1,0,0,1,0.
Step (8) s 7 = 0. Verify c (8) (x) c (7) (x). Then L 8 = max {L 7 , 8 -L 7 } = 5 implies our feedback polynomial c (8) (x) is of degree 5. We have c (m) (x) = c (4) (x) = 1 + x + x 2 . Then c (8) (x) = x 2 c (7) (x) + c (4) (x) = x 2 (1 + x 2 + x 3 ) + (1 + x + x 2 ) = 1 + x + x 4 + x 5 . LFSR's [3] are commonly used in application where pseudo-random bit streams are required. An LFSR is a mechanism for generating a sequence of binary bits. The register consists of series y cells that are set by an initialization vector that b, most often, the secret key. The behavior of the register is regulated by a clock and at each clocking instant, the counters of the cells of the register are shifted left by one position, and the cursor of a subject of the call contacts is placed in the right most cells. Proposed Algorithm: This paper presents the LFSR based algorithm which is a non-dictionary based algorithm [2]. In this algorithm, we use the Run length coding and berlekamp algorithm [4]. The continuous sequences of repeated binary sequences are coded using the run-length technique. The other sequence i.e., the discrete sequence or scrambled sequences of words are taken as one continuous sequence and it is given to the berlekamp algorithm to compute the polynomial and linear complexity of the sequence. The obtained linear complexity is the minimal number of LFSR [3] required to compute or generate the sequence at the receiver end, based on the polynomial and linear complexity the minimum required number of bits is taken from the original sequence and it is given the LFSR at the receiver side and hence the original data can be retrieved.

RESULTS AND DISCUSSION
This study presents the LFSR based algorithm, which is non-dictionary based algorithm. When compare to exiting scheme like WinZip and TAR method files, it is plus or minus 5 % to 8% less compression ratio because of fixed length , while we increasing the length we can get the excellent compression ratio and also it is easy to realize in the hardware when compare to WinZip and TAR files. Further Improvements: This paper presents the compression using the fixed length of data. The compression can be achieved more by increasing the length of the sequence. The future work will be testing for the compression ration by increasing the length of the scheme.

CONCLUSION
This non-library based compression technique has an advantage of easy hardware realization. This technique uses only the library bit streams to encode the data and does not use any other codes for the encoding purpose. More enhancements have to be brought out in this kind of technique which is going to be the future image compression method.