1 / 17

Parallelizing an Image Compression Toolbox

Parallelizing an Image Compression Toolbox. MSE Project Final Presentation Hadassa Baker. Topics of Discussion. Introduction Action Items Design Review Test Setting Test Results Project Evaluation Conclusion. Introduction. Objective

Download Presentation

Parallelizing an Image Compression Toolbox

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Parallelizing an Image Compression Toolbox MSE Project Final Presentation Hadassa Baker

  2. Topics of Discussion • Introduction • Action Items • Design Review • Test Setting • Test Results • Project Evaluation • Conclusion

  3. Introduction • Objective • To rewrite a sequential wavelet image compression program into a parallel program in an effort to improve execution speed • The Image compression toolbox • Console program • Compresses a RAW or a grayscale Tiff image file and writes out a compressed file • Decompresses a compressed file and writes out a RAW or grayscale Tiff image file

  4. Introduction • Both the sequential program and the parallel program are written in C++ • The Zthread library is used for multithreading the parallel program

  5. Action Items • Add LTL properties to the formal specification • Vertical transformation can start on a section before horizontal transformation in all sections is complete • [] ( q U r) • #define q (V[1] == 0) • #define r (H[1] == WIDTH)

  6. Action Item • Add a discussion in the Test Plan document why the planned test is sufficient.

  7. Design Review • The following four processes take place in the compression process • Wavelet Transformation • Optimal bit allocation • Quantization • Entropy encoding • File I/O and the entropy encoding processes are not parallelized

  8. Test Setting • Test Environment • Linux shared memory multiprocessor machine • A quad PII-450 Linux machine located in the CIS department was used • Test Image files • Lena.raw (Width = 512, Height = 512) • 1920x1080.raw (Width = 1920, Height =1080)

  9. Test Setting • Execution time was measured for compressing the test images • The same test was performed on the parallel and sequential programs

  10. Test Results • Unexpected Results • The execution time for the sequential program was shorter than the execution time for the parallel program • As the number of threads/workers was increased in the parallel program the execution time became longer

  11. Test Results for Lena.raw

  12. Test Results for 1920x1080.raw

  13. Test Results • Test was repeated without the wavelet transformation process, which yielded the expected results. • In the wavelet transformation process data is shared between threads, which operation must be garded with mutex. That may have resulted in unexpected delays.

  14. Test ResultsLena.raw without wavelet transformation

  15. Test Results1920x1080.raw without wavelet transform

  16. Project Evaluation • Lesson Learnt • Formal verification of the architecture design using a tool like spin is beneficial to help prevent implementation errors that are difficult to debug • If the goal is improving execution speed, avoid much data sharing between threads

  17. Conclusion • The objective of improving execution speed using parallel programming has been achieved • The Zthread library makes multithreaded program easier to write in C++ • A great learning experience for me.

More Related