Data Compression and Coding techniques

with Integration into Communication Model Simulator

 

Data compression and coding techniques are widely used in communication and computer science. Data compression aims to reduce the size of data as much as possible using some coding techniques. The compressed data can be then stored in a minimum storage or can be transmitted through some channel to a certain destination in an efficient way.

In this project students will be requested to study and implement some coding and compression algorithms such as:

1- Images coding: JPEG, etc.
2- Audio coding: MP3, etc.
3- Video coding: MPEG, etc.
4- And more algorithms can be considered.

Desirable prerequisites:

It is desirable if students have the following abilities

1. Students are able to (willing to learn how to) write programs in Java
2. Students had completed (willing to complete) a course in Information Theory  

 

Here are some images of the completed part of the project during the past years.


Welcome You To Visual Information Theory






Communication Model Simulator




Image Compression




Communication Model Simulator



Main window has following functions:

Control Panel



Control Panel has following functions:

Coding Techniques



There are five coding techniques Arithmetic, Huffman, Fano, Shannon and T.P.Huffman.
You have to select the one of coding techniques before you start setup.

Show Options



There are four show options Transition, Entropy, Process and List.
You can select the one of the show options after you finish to setup.

Test



You can select a test option you want to test.
You can confirm whether your answer is correct.

Setup

Setup of four coding techniques except Two Pass Huffman.
(T.P.Huffman coding doesn't need process 1 and 2.)

1. Input number of symbols in alphabet


2. Input symbols and probabilities of these symbols.
notice!! All symbols are different. Sum of probabilities must be 1.


3. Input message using the inputted symbols.


4. Input noise percent.


5. That's all.


Message


If you want to change the message, you could change the message by this button.

Send / Stop

You can control text's motion using this button.

Re-send

If you want to re-send text, you should use this button.

Image Compression



This application can convert the image file to some other format.

Supported format
lead
BMP, JPG, PNG, GIF image files

write
BMP, JPG, PNG, image files

Main Window



explanation
1, The loaded image is displayed here.


2, Button panel

load
load image file
(supported file formats : bmp, jpg, png, gif)

bmp
Show BMP window

jpg
The image file is converted and output by the JPG format.
Sorry, this method is incomplete.

png
The image file is converted and output by the PNG format.
Sorry, this method is incomplete.

help
This help window is displayed.


3, Information of the input image filet

name
name of input image file

path
path of input image file

size
size of input image file


BMP Window



explanation
1, Input file information.
file name
name of the input image file

height, width
height and width data of the input file

file type
file type of the input file (ex. 24bit BMP....)

input file size
The size information of the input image file

output file size
The size information of the output image file


2, Image data
left text area
Data of the input image written in hexadecimal number

right text area
Data of the output image written in hexadecimal number

3, Button panel
Please choose the button you want to output.

8bit
8bit BMP file is outputted.
This type BMP file can store only 256 colors.
The name of output file is input file08bit.bmp

16bit
16bit BMP file is outputted.
This type BMP file can store 65,536 colors.

The name of output file is input file16bit.bmp

24bit
24bit BMP file is outputted.
This type BMP file can store 16,777,216 colors.

The name of output file is input file24bit.bmp


JPG Window

This method is incomplete. To be completed in GT2006

The name of output file is input file_out.jpg


PNG Window

This method is incomplete. To be completed in GT2006

The name of output file is input file_out.png