Unformatted text preview:

A Matlab Playground for JPEGWhat is JPEGImprovement PossibilitiesDesigning the Huffman DecoderDCT vs. FFTOptimizing QuantizationImplementing Arithmetic EncodingVisual Results…… Visual ResultsConclusionsDemonstration and QuestionsA Matlab Playground for JPEGAndy PekarskeNikolay KolevWhat 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•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.1. 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.2. 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.3. 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•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•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•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•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 decoderVisual Results…Original64x64 128x128DCT, HuffmanDCT, ArithmeticHere default quantization is usedHere adaptive (higher in the case) quantization is used… Visual ResultsOriginal64x64 128x128DCT, HuffmanDCT, ArithmeticConclusions•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•Demonstration of Matlab code and conducted experiments•Audience chance to experiment with Matlab


View Full Document

UW-Madison ECE 533 - A Matlab Playground for JPEG

Documents in this Course
Load more
Download A Matlab Playground for JPEG
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view A Matlab Playground for JPEG and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view A Matlab Playground for JPEG 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?