Version: 1.0

Posted: 2003-01-14

Build Requirements: N/A

Runtime Requirements: Carbon G4

View Source Code:

Download Sample (“VelEng_Wavelet.zip”, 593.4K)
Download Sample (“VelEng_Wavelet.dmg”, 706.3K)



Description

There are various approaches to wavelet processing of color images, and machine architecture dictates in large measure which algorithm is optimal. This sample is a Velocity Engine (G4) implementation in which pixels are processed as four-dimensional (RGBA) vector entities. In this mode the vector machinery performs the (Daubechies D4) wavelet algebra in only three vector operations per pixel. We also implemented a more standard, channel-correlation scenario, with YUV-decomposed RGB images (with UV sub-sampling) and a biorthogonal (Burt 5/7) wavelet transform applied thrice. A key to these fast vector implementations is the adoption of certain rational approximations-we call "shift-rational" forms-to the true wavelet coefficients, allowing for efficient Velocity Engine arithmetic. Other Velocity Engine enhancements include very fast subsampling for the UV channels, via vector-average instructions. Timing experiments show a Velocity Engine speedup of 5x or more over corresponding scalar (G3) implementation in the RGBA approach. For the YUV approach, the speedup is likewise impressive, with a complete inverse-wavelet-YUV image reconstruction on a 320-by-240 full color image taking less than 0.005 second on 300 MHz. G4. Requirements: G4 Keywords: Velocity Engine, AlitVec, Wavelet, Daubechies,

Document Revision History

Date Notes
2003-01-14This demonstrates a Velocity Engine (G4) implementation of wavelet processing of color images

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.