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
 
    - Calculator - helps you
 
    - Help - this window
 
    - Global Controls - has many functions
 
   
   Control Panel
   
   
   Control Panel has following functions:
   
    - Coding Techs - You can select the one of coding techniques.
 
    - Show - You can select the one of show options.
 
    - Test - You can test.
 
    - Setup - You can start setup.
 
    - Message - You can input message.
 
    - Send/Stop - You can send or stop message.
 
    - Re-send - You can re-sand message.
 
   
  
   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