1 / 10

A Parallel Implementation of the Discrete Wavelet Transform for Image Compression

A Parallel Implementation of the Discrete Wavelet Transform for Image Compression. Andria Dyess Proposal for EE 691/2. Presentation Overview. What is the Discrete Wavelet Transform (DWT)? Applications in Image Compression Sequential DWT Algorithm Possible Parallel Approaches

aderyn
Télécharger la présentation

A Parallel Implementation of the Discrete Wavelet Transform for Image Compression

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. A Parallel Implementation of the Discrete Wavelet Transform for Image Compression Andria Dyess Proposal for EE 691/2

  2. Presentation Overview • What is the Discrete Wavelet Transform (DWT)? • Applications in Image Compression • Sequential DWT Algorithm • Possible Parallel Approaches • Expected Results

  3. What is a Wavelet? • A signal that is non-zero over a finite range, and zero elsewhere • Haar Wavelet • Daubechies Wavelet

  4. Discrete Wavelet Transform • Fourier analysis expresses a signal as the sum of sinusoids • Wavelet Analysis expresses the signal as the sum of scaled and shifted versions of the mother wavelet • Discrete Wavelet Transform finds the wavelet coefficients for an NxN input matrix

  5. Image Processing Applications • In JPEG2000, DWT replaces the traditional DCT for transforming image data before encoding. • Why DWT? • Low resolution data first – progressive transmission • Wavelets are better suited for sharp edges

  6. 1-D Wavelet Example Original pixels: 64 48 16 32 56 56 48 24 Iteration #1: 56 24 56 368 -8 0 12 Iteration #2: 40 4616 10 8 -8 0 12 Iteration #3: 43-3 16 10 8 -8 0 12 averagedifference

  7. 2-D Wavelet Transform • First step is to perform row transformation: 18 14 12 4 12 4 2 4 10 6 8 8 8 0 2 0 16 4 8 0 7 3 6 4 12 0 4 4 5 1 6 0 • Next step is to transform the columns: 12 4 2 4 8 2 4 2 8 0 2 0 2 0 -2 0 7 3 6 4 2 2 0 2 5 1 6 0 1 1 0 2

  8. Parallel Approach #1 • Each row can be transformed independently of the others • Data partitioning – assign a number of rows to each available processor • When row transformation is complete, divide the columns among available processors • Shared memory approach using OpenMP

  9. Approach #2 - Pipelining • Two-stage pipeline (suggested by Sava et al) • First stage: perform the first iteration • n operations • Second stage: perform the remaining iterations • n/2 + n/4 + n/8 + … < n operations • Hybrid solution: • Use MPI Tasks for each stage • Use parallel OpenMP threads within each stage

  10. Expected Results • Measure execution times for the sequential algorithm and both parallel approaches on bragg.eng.uah.edu • Do parallel algorithms significantly improve performance? • How does the data size of the input matrix impact performance?

More Related