Compression and Decompression

Post on 21-Apr-2015

227 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

Transcript

LOSSLESS HIGH SPEED COMPRESSION AND DECOMPRESSION OF

DATABy:

Bhunavya.T

N.Kalyan Chakravarthy

D.Sirish

R.Govind Raju

under the guidence of:

Mr.M.RAMA KRISHNA M.Tech

Contents• Introduction• Scope of the project• Basic communication system• Why do we use digital instead of analog• Compression• Compression techniques• Decompression

Contents(cntd..)• Block diagram• Compressor block• XMatch pro algorithm• Content addressable memory• Decompressor block• Feature scope• conclusion

Introduction• With the current reliance on

telecommunications, a way to shrink data and save on bandwidth is essential.

• DATA compression is nearly an ubiquitous occurrence in modern computing.

• Data compression is one of the enabling technologies of each of the multimedia revolution.

Scope of the project• The objective of the project is to design a lossless

data compression system which operates in high-speed to achieve high compression rate.

• By using the architecture of compressors, the data compression rates are significantly improved.

• Also inherent scalability of architecture is possible.

Basic communication system

Every communication system has 5 basic requirements• Data Source (where the data originates)• Transmitter (device used to transmit data)• Transmission Medium (cables or non cable)• Receiver (device used to receive data)• Destination (where the data will be placed)

Why do we use digital instead of analog

1) Resistance to noise/robustness

2) Error Correction and Detection

3) Easily Programmable

4) Cheap Electronic Circuits

5) Information storage is easy.

6) Accuracy and precision are greater.

7) More digital circuitry can be fabricated on IC chips.

Compression • The compression is the process that is

required either to reduce the volume of information to be transmitted – text, fax and images or reduce the bandwidth that is required for its transmission – speech, audio and video.

• The compression technique is first applied to the source information prior to its transmission.

Compression techniques

Compression algorithms can be classified in to

two types, namely

Lossless Compression

Lossy Compression

Lossless compression

• Lossless compression allows for the total recall of the original data set after compression.

• The aim is to reduce the amount of source information to be transmitted in such a way that, when the compressed information is decompressed, there is no loss of information.

Lossless compression techniques

The Various lossless Compression Techniques are,

Pack bits encoding Lempel-Ziv and Welch algorithm LZW Huffman Arithmetic

Lossy compressionLossy compression occurs when the original

data set cannot be fully constructed from the compressed data set.

The aim of the Lossy compression algorithms is normally not to reproduce an exact copy of the source information after decompression but rather a version of it that is perceived by the recipient as a true copy.

DecompressionDecompression is the reverse process of

compression.

Reconversion of compressed data into its  original (nearly original) form so that it can be heard, read, and/or seen as normal.

Block diagram

Compressor block32BIT COMPRESSION SYSTEM

CLK ADD OUT

RST

add out

DATA

(32 BITS)

MATCH HIT

START

DATA

OUT

(32 BIT)

COMPRESSOR

CAMCOMPARATOR

COMPARATORARRAY

Compressor block(contd..)

The block diagram gives the details about the components of a single 32 bit Compressor.

There are three components namely, COMPARATOR ARRAY CAMCOMPARATOR

Compressor block(contd..)

The COMPARATOR is used to compare two 32-bit data and to set or reset the output bit as 1 for equal and 0 for unequal.

ARRAY is of length of 64X32 bit locations. This is used to store the unmatched incoming data and when a new data comes, the incoming data is compared with all the data stored in this array.

The CAM COMPARATOR searches the CAM dictionary entries for a full match of the input data given.

XMatchPro algorithm

The XMatchPro algorithm uses a fixed-width dictionary

of previously seen data and attempts to match the

current data element with a match in the dictionary.

It works by taking a 4-byte word and trying to match or

partially match this word with past data. This past data is

stored in a dictionary, which is constructed from a

content addressable Memory.

 

XMatchPro algorithm(contd..)

The coding function for a match is required to code several

fields as follows:

A zero followed by:

1). Match location: It uses the binary code associated to

the matching location.

2). Match type: Indicates which bytes of the incoming tuple

have matched.

3). Characters that did not match transmitted in literal form.

 

Features High-speed lossless data compressor supports

compression and decompression in a single FPGA. 

Throughput up to 200 Mbytes/second compression or

decompression with low latency clocking at 50 MHz on a

APEX FPGA.

Full-duplex operation enables simultaneous compression

or decompression for a combined performance of 400

Mbytes/s. 

Features (cntd...) Full-duplex architecture enables self-checking test

mode using CRC (Cyclic Redundancy Check) codes.

32-bit high-performance coprocessor-style interface. 

Fully contained 32-bit architecture does not require

any external components and supports operation on

blocked data. 

  

Applications of XMatchPro algorithm

• Computer systems. 

• Networking products. 

• High performance storage devices. 

• Data logging equipment. 

• Remote sensing applications.

Content Addressable Memory

• .

Content Addressable Memory

The compression architecture is based around a block of CAM to realize the dictionary.

This is necessary since the search operation must be done in parallel in all the entries in the dictionary to allow high and data-independent throughput

Decompressor block The decompressor has the following

components

Array

Processing Unit.

Decompressor block(contd..)

• Array has the same function as that of the array unit which is used in the Compressor. It is also of the same length.

• Processing unit checks the incoming match hit data.

if it is 0, it indicates that the data is not present in the Array, so it stores the data in the Array.

if the match hit data is 1, it indicates the data is present in the Array, then it instructs to find the data from the Array with the help of the address input and sends as output to the data out.

Conclusion• The Improved Compression ratio is achieved in

Compression architecture with least increase in latency. The High speed throughput is achieved. The architecture provides inherent scalability in future.

• The total time required to transmit compressed data is less than that of transmitting uncompressed data. This can lead to a performance benefit, as the bandwidth of a link appears greater when transmitting compressed data and hence more data can be transmitted in a given amount of time . 

Future scope• There is a potential of doubling the

performance of storage / communication system by increasing the available txion bandwidth and data capacity with minimum investment.

• It can be applied in Computer systems, High performance storage devices.

Implementation of this project

• The software implementation of this project is done with XILINX ISE 8.2i.

• The code of this project implemented in VHDL.

• The hardware can be implimented using 32bit FPGA .

Resultscompression

RTL Schematic

decompression

QUIRIES

top related