Skip to content

ibrahimhamada/JPEG-Compression

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

JPEG-Compression

My Project of the Information Theory and Coding Course Offered in Fall 2022 @ Zewail City.

In this project, I implemented the JPEG Compression Algorithm (Both Encoder and Decoder) using 2 different Quantization Tables (High and Low Tables).

Implementation Steps:

A) JPEG Encoding

        1) Reading the image and check that it can be divided to an integer number of 8x8 blocks 
        2) Divide the image into 8x8 Blocks on which DCT is applied 
        3) DCT 8x8 Blocks are divided by a Low Quantization Table 
        4) 8x8 Blocks are converted to 1-D vector (1x64)  
        5) Run Length Code is applied on the 1-D vectors 
        6) Huffman Ecoding is applied on the Run Length Encoded Vectors
        7) Compression Ratio is Calculated  

B) JPEG Decoding

        1) Huffman Decoding is applied on the recieved vector   
        2) Run Length Decoding is applied on the restored symbols 
        3) Decoded Vector is divided into (1x64) blocks and then each bloch is converted from 1-D to 2-D (8x8) 
        4) Each 8x8 Block is multiplied by the Low Quantization Table 
        5) IDCT is applied on the 8x8 Blocks 
        6) Restoring the Image     
        7) Image Quality and Compression Ratio  

Original Image

image

LOW Compressed Image

image

HIGH Compressed Image

image

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages