Code

An Implementation of Quadtree, Adaptive Huffman and Lossless Compression Engine

Where to find

For the following two projects, you can find them on github:

This doc also discusses the implementation of different lossless compression techniques (by me) in multimedia; RLE (compression and decompression for any data type; specific technique is used for images.) RLE Quad Tree compresses images according to their color bulks. The engine implements also the lossless techniques based on adaptive dictionaries; i.e. LZ77(for text and images, using windows and lookahead buffers) and LZW (for text and images, using a dictionary). Arithmetic coding algorithm is also implemented (by Hasan Sarhan.) An implementation of Quadtree (by me) in C# is also used for images compression/decompression (with different techniques and different models.) An implementation of Adaptive Huffman for data encryption (by Ismaeel Abu-Abdalla) is also in the documentation. Adaptive Huffman is used for video encryption to pass it on a stream and synchronously be played in the other end other stream. VLC Player API has been used for this (by Mehdi Zonji.) All the user interface work on these parts are developed in C# and WPF (by me.)

User Interface

[Lossless Engine] The following interface will be shown to the user for Text and Image compression/decompression.

mult1

[Lossless Engine] The user can input the text (or upload an image) and ask the system to compress it. Different statistics (regarding processing time and compression ratio will be shown to the user.)

mult3

[Quadtree app] The user can choose an image from his local HDD.

mult2

[Quadtree app] Then he can choose the compression/decompression specs and press execute. The user will know the compression/decompression before and after compression.

mult01

 

The performance and the time taken to achieve the comp/decomp is also shown. The user can also re-size the images in the canvas (a component I implemented in WPF.)

mult02

[Quadtree app] A simple interface showing the image color map can also be shown for any image.

mult03

Documentation, Implementation and Source Code

You can download the full documentation for Adaptive Huffman and Lossless Compression Engine [in Arabic – بالعربية] here and the implementation of Quadtree [in Arabic – بالعربية] here. You can also download the sources code [C# and WPF] here.

0 comments on “An Implementation of Quadtree, Adaptive Huffman and Lossless Compression Engine

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: