Intel® Integrated Performance Primitives
Deliberate problems developing high-performance vision, signal, security, and storage applications.

2D Wavelet Transform (IPPI)

codedeveloper
Beginner
311 Views
Hello,

I tried to use ippi 2d wavelet transform. Following the example it works generally very good for different wavelets (Db2, Db4, Db6, etc.).
However, my problem is, when I change the values for anchorLow and anchorHigh in forward and inverse wavelet transformation then I cannot reconstruct the image correctly.

To explain the problem, first the original values from the example for Db4 (Pseudocode):
fwd_lenLow = 4, anchorLow = 2
fwd_lenHigh = 4, anchorHigh = 2
inv_lenLow = 4, anchorLow = 1
inv_lenHigh = 4, achorHigh = 1
I used the db4 wavelet values from the example!

In contrast to the example, often wavelet transform is performed with the following values:
fwd_lenLow = 4, anchorLow = 1
fwd_lenHigh = 4, anchorHigh = 1
inv_lenLow = 4, anchorLow = 0
inv_lenHigh = 4, achorHigh = 0
using the same db4 wavelet. In my opinion correct wavelet reconstruction should be still possible in this case. However, it fails in my implementation. What is the reason for this?
(Border pixel were calculated using BorderWraping and size of image border were calculated according to the ippi manual)

Thanx in advance
Thomas
0 Kudos
2 Replies
codedeveloper
Beginner
311 Views
Okay I found the solution.

AnchorLow/anchorHigh for forward and inverse wavelet transformation are related, which seems generally to be clear, however in my case inv_anchorLow has to be fwd_lenLow - 1 - fwd_anchorLow. (Same for inv_anchorHigh).

Maybe somebody find this helpful.

Kind regards,
Thomas
0 Kudos
Vladimir_Dudnik
Employee
311 Views

Hi Thomas,

thanks for sharing your findings here

Regards,
Vladimir

0 Kudos
Reply