Intel® Integrated Performance Primitives
Community support and discussions relating to developing high-performance vision, signal, security, and storage applications.
Announcements
The Intel sign-in experience is changing in February to support enhanced security controls. If you sign in, click here for more information.

2D Wavelet Transform (IPPI)

codedeveloper
Beginner
171 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
171 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
Vladimir_Dudnik
Employee
171 Views

Hi Thomas,

thanks for sharing your findings here

Regards,
Vladimir

Reply