Journal of Real-Time Image Processing

, Volume 15, Issue 2, pp 349–361 | Cite as

Vectorization and parallelization of 2-D wavelet lifting

  • David BarinaEmail author
  • Pavel Zemcik
Original Research Paper


With the start of the widespread use of discrete wavelet transform in image processing, the need for its efficient implementation is becoming increasingly more important. This work presents several novel SIMD-vectorized algorithms of 2-D discrete wavelet transform, using a lifting scheme. At the beginning, a stand-alone core of an already known single-loop approach is extracted. This core is further simplified by an appropriate reorganization of operations. Furthermore, the influence of the CPU cache on a 2-D processing order is examined. Finally, SIMD-vectorizations and parallelizations of the proposed approaches are evaluated. The best of the proposed algorithms scale almost linearly with the number of threads. For all of the platforms used in the tests, these algorithms are significantly faster than other known methods, as shown in the experimental sections of the paper.


Discrete wavelet transforms Image processing 



This work has been supported by the EU FP7-ARTEMIS project IMPART (Grant No. 316564), the national TAČR project RODOS (no. TE01020155) and the IT4Innovations Centre of Excellence (no. CZ.1.05/1.1.00/02.0070).


  1. 1.
    Barina, D., Zemcik, P.: Minimum memory vectorisation of wavelet lifting. In: Advanced Concepts for Intelligent Vision Systems (ACIVS), Springer, London, Lecture Notes in Computer Science (LNCS) 8192, pp. 91–101 (2013).
  2. 2.
    Barina, D., Zemcik, P.: Diagonal vectorisation of 2-D wavelet lifting. IEEE Int. Conf. Image Process. 2014 (ICIP 2014), pp. 2978–2982. France, Paris (2014). Google Scholar
  3. 3.
    Chatterjee, S., Brooks, C.D.: Cache-efficient wavelet lifting in JPEG 2000. In: Proceedings of the IEEE International Conference on Multimedia and Expo (ICME), vol 1, pp. 797–800 (2002). doi: 10.1109/ICME.2002.1035902
  4. 4.
    Chaver, D., Tenllado, C., Pinuel, L., Prieto, M., Tirado, F.: 2-D wavelet transform enhancement on general-purpose microprocessors: memory hierarchy and SIMD parallelism exploitation. In: Sahni, S., Prasanna, V.K., Shukla, U. (eds) High Performance Computing HiPC 2002, Lecture Notes in Computer Science, vol 2552, Springer, Berlin, pp. 9–21 (2002). doi: 10.1007/3-540-36265-7_2
  5. 5.
    Chaver, D., Tenllado, C., Pinuel, L., Prieto, M., Tirado, F.: Vectorization of the 2D wavelet lifting transform using SIMD extensions. In: Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS), p. 8 (2003a). doi: 10.1109/IPDPS.2003.1213416
  6. 6.
    Chaver, D., Tenllado, C., Pinuel, L., Prieto, M., Tirado, F.: Wavelet transform for large scale image processing on modern microprocessors. In: Palma, J.M.L.M., Sousa, A.A., Dongarra, J., Hernández, V. (eds) High Performance Computing for Computational Science VECPAR 2002, Lecture Notes in Computer Science, vol. 2565, Springer, Berlin, pp. 549–562 (2003b). doi: 10.1007/3-540-36569-9_37
  7. 7.
    Chrysafis, C., Ortega, A.: Minimum memory implementations of the lifting scheme. Proceedings of SPIE, Wavelet Applications in Signal and Image Processing VIII, SPIE 4119, 313–324 (2000). doi: 10.1117/12.408615 Google Scholar
  8. 8.
    Cohen, A., Daubechies, I., Feauveau, J.C.: Biorthogonal bases of compactly supported wavelets. Commun. Pure App. Math. 45(5), 485–560 (1992). doi: 10.1002/cpa.3160450502 MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Daubechies, I., Sweldens, W.: Factoring wavelet transforms into lifting steps. J. Fourier Anal. Appl. 4(3), 247–269 (1998). doi: 10.1007/BF02476026 MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Drepper, U.: What every programmer should know about memory (2007).
  11. 11.
    Kutil, R.: A single-loop approach to SIMD parallelization of 2-D wavelet lifting. In: Proceedings of the 14th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing (PDP), pp. 413–420 (2006). doi:  10.1109/PDP.2006.14
  12. 12.
    Mallat, S.G.: A theory for multiresolution signal decomposition: the wavelet representation. IEEE Trans. Pattern Anal. Mach. Intell. 11(7), 674–693 (1989). doi: 10.1109/34.192463 CrossRefzbMATHGoogle Scholar
  13. 13.
    Mallat, S.: A Wavelet Tour of Signal Processing The Sparse Way With contributions from Gabriel Peyre, 3rd edn. Academic Press, London (2009)zbMATHGoogle Scholar
  14. 14.
    Meerwald, P., Norcen, R., Uhl, A.: Cache issues with JPEG2000 wavelet lifting. In: Visual Communications and Image Processing (VCIP), SPIE, vol 4671, pp. 626–634 (2002)Google Scholar
  15. 15.
    Shahbahrami, A., Juurlink, B., Vassiliadis, S.: Improving the memory behavior of vertical filtering in the discrete wavelet transform. In: Proceedings of the 3rd conference on Computing frontiers (CF), ACM, pp. 253–260, (2006). doi: 10.1145/1128022.1128056
  16. 16.
    Sweldens, W.: The lifting scheme: a custom-design construction of biorthogonal wavelets. Appl. Comput. Harmon. Anal. 3(2), 186–200 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Tenllado, C., Setoain, J., Prieto, M., Pinuel, L., Tirado, F.: Parallel implementation of the 2D discrete wavelet transform on graphics processing units: filter bank versus lifting. IEEE Trans. Parallel Distrib.Syst. 19(3), 299–310 (2008). doi: 10.1109/TPDS.2007.70716 CrossRefGoogle Scholar
  18. 18.
    van der Laan, W.J., Jalba, A.C., Roerdink, J.B.T.M.: Accelerating wavelet lifting on graphics hardware using CUDA. IEEE Trans. Parallel Distrib. Syst. 22(1), 132–146 (2011). doi: 10.1109/TPDS.2010.143 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.Department of Computer Graphics and Multimedia, Faculty of Information TechnologyBrno University of TechnologyBrnoCzech Republic

Personalised recommendations