A matlab playground for jpeg l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 11

A Matlab Playground for JPEG PowerPoint PPT Presentation

  • Uploaded on
  • Presentation posted in: General

A Matlab Playground for JPEG. Andy Pekarske Nikolay Kolev. What is JPEG. We explored the information flow during transformation of images from their basic bitmap format to compressed coefficients streams.

Download Presentation

A Matlab Playground for JPEG

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript

A matlab playground for jpeg l.jpg

A Matlab Playground for JPEG

Andy Pekarske

Nikolay Kolev

What is jpeg l.jpg

What is JPEG

  • We explored the information flow during transformation of images from their basic bitmap format to compressed coefficients streams.

  • We also undertook the task to construct a JPEG decoder which uses the compressed binary coefficient sequences and converts them back into viewable images.

  • This allowed us to analyze better the complete cycle of image compression and at the same time to be able to understand and explore the complete process which is undertaken when compressing, storing, transmitting and rebuilding an image with JPEG.

Improvement possibilities l.jpg

Improvement Possibilities

  • Adhering to the standard’s original scheme, we wanted to explore and implement various self-contained techniques that could lead to better image quality and higher compression ratio.

    • We wanted to verify that DCT (Discrete Cosine Transform) is the best choice for image energy/frequency compaction transform. Theoretically FFT (Fast Fourier Transform) is also an acceptable (actually the first) method for frequency analysis of time and space signals, although our conclusion was that DCT is a better choice.

    • The lossy compression portion of JPEG achieved through block coefficient quantization could be made less “lossy” and more efficient at the same time by choosing in a more sophisticated way which coefficients should be stripped of precision and which retained with high precision at this stage of the overall image compression.

    • Theoretically it could be shown that Arithmetic Encoding could be a better and more efficient technique for lossless compression than Huffman Encoding.

Designing the huffman decoder l.jpg

Designing the Huffman Decoder

  • Having a JPEG encoder initially, we had to design a decoder in order to make the process useful.

  • It was interesting to learn that the reverse process (decoding) of Huffman coding is quite more computationally intensive than the encoding portion of this lossless compression technique.

Dct vs fft l.jpg


  • At first sight FFT should be a good substitute for DCT, as both take as input nxn blocks and produce nxn coefficient blocks and both feature perfect reconstruction.

  • We could not prove that assumption in our project. FFT gives a very blurry result for any image processed with FFT.

Optimizing quantization l.jpg

Optimizing Quantization

  • We believe that the lossless portion of JPEG could be less lossy if a more sophisticated method for coefficient quantization is utilized.

  • Our test program allows for experimenting with this parameter of JPEG and we implemented portion of selective algorithm that allows for compression level choice.

Implementing arithmetic encoding l.jpg

Implementing Arithmetic Encoding

  • We had to construct a complementary coding pair: Arithmetic Encoder/Decoder in order to be able to compare Arithmetic with Huffman coding.

  • We utilized two Matlab functions arithmenco( ) and artithmdeco( ) to implement this feature.

  • We realized that is quite challenging to come up with a good encoding scheme and to design an efficient interface so that there is a robust coupling between encoder and decoder

Visual results l.jpg

Visual Results…

Here default quantization is used

Visual results9 l.jpg

… Visual Results

Here adaptive (higher in the case) quantization is used

Conclusions l.jpg


  • Switching an image encoder/decoder to use different types of Frequency Domain transforms is not a trivial task

  • Quantization matrix choice is very important for achieving good compression ratio without loss of quality

  • As expected, images processed by Arithmetic encoding are identical to images undergone Huffman lossless compression

  • Arithmetic encoding could be a better scheme for lossless compression but requires a much more sophisticated algorithm than that in Huffman method in order to make this hold in practice.

Demonstration and questions l.jpg

Demonstration and Questions

  • Demonstration of Matlab code and conducted experiments

  • Audience chance to experiment with Matlab program

  • Questions

  • Login