Abstract
Fractal image compression is a lossy compression technique based on the iterative function system, which can be used to reduce the storage space and increase the speed of data transmission. The main disadvantage of fractal image compression is the high computational cost of the encoding step, compared with the popular image compression based on discrete cosine transform. The aim of this paper is the development of parallel implementations of fractal image compression using quadtree partition. We develop two parallel implementations: the first one uses task parallelism over a multi-core system and the second uses dynamic parallelism over a GPU architecture. We show performance comparisons of the parallel implementations using standard images to compare the capabilities of these parallel architectures. The proposed parallel implementations achieve speedups over the serial implementation of approximately \(15 \times\) using the multi-core CPU and \(25 \times\) using the GPU.
Similar content being viewed by others
References
Uthayakumar, J., Vengattaraman, T., Ponnurangam, D.: A survey on data compression techniques: from the perspective of data quality, coding schemes, data type and applications. J. King Saud Univ. Comput. Inf. Sci. 33, 119–140 (2021)
Chauhan, Munesh Singh, Negi, Ashish, Rana, Prashant Singh: Fractal image compression using dynamically pipelined GPU clusters. In: Proceedings of the Second International Conference on Soft Computing for Problem Solving (SocProS 2012), December 28-30, 2012, pp. 575–581. Springer (2014)
Zhang, Yan, Yutao, ZHAO, Guangxu, LI: Document image compression with application to digital preservation in digital libraries. In: 2018 IEEE International Conference on Signal Processing, Communications and Computing (ICSPCC), pp. 1–4. IEEE (2018)
Sonka, Milan, Hlavac, Vaclav, Boyle, Roger: Image processing, analysis, and machine vision. Cengage Learning, Stamford (2014)
Jacquin, Arnaud E., et al.: Image coding based on a fractal theory of iterated contractive image transformations. IEEE Trans. Image Process. 1(1), 18–30 (1992)
Gupta, Richa, Mehrotra, Deepti, Tyagi, Rajesh Kumar: Computational complexity of fractal image compression algorithm. IET Image Process. 14(17), 4425–4434 (2021)
Liu, Dan, Jimack, Peter K.: A survey of parallel algorithms for fractal image compression. J. Algorithms Comput. Technol. 1(2), 171–186 (2007)
HY Saad, A.M., Abdullah, Mohd Z.: High-speed implementation of fractal image compression in low cost FPGA. Microprocess. Microsyst. 47, 429–440 (2016)
Al Sideiri, Abir, Alzeidi, Nasser, Al Hammoshi, Mayyada, Chauhan, Munesh Singh, AlFarsi, Ghaliya: CUDA implementation of fractal image compression. J. Real-Time Image Process. 17(5), 1375–1387 (2020)
Chitra, A., Krishnaswamy, Aravind, Sivanandam, S..N.: A parallel algorithm for fractal image coding. IFAC Procd. Vol. 30(25), 307–312 (1997). (IFAC Symposium on Artificial Intelligence in Real Time Control (AIRTC’97), Kuala Lumpur, Malaysia, 22-25 September 1997)
Cao, Hua, Gu, Xi-jin: OpenMP parallelization of jacquin fractal image encoding. In: 2010 International Conference on E-Product E-Service and E-Entertainment, pp. 1–4. IEEE (2010)
Khan, Shazeb Nawaz, Akhtar, Nadeem: Parallelization of fractal image compression over CUDA. In: Proceedings of the Third International Conference on Trends in Information, Telecommunication and Computing, pp. 375–382. Springer (2013)
Fisher, Yuval: Fractal image compression: theory and application. Springer-Verlag, Berlin, Heidelberg (1995)
Jacobs, E.W., Boss, R.D.: Fisher, Yuval: fractal-based image compression, II, Technical report. Naval ocean systems center, San Diego (1990)
Mehta, Dinesh P., Sahni, Sartaj: Handbook of data structures and applications. Chapman & Hall/CRC, Boca Raton, Florida (2004)
Itseez. OpenCV. Website, (2020). http://opencv.org//. Accessed 24 Sept 2020
Intel Corporation. Intel C++ Compiler Classic Developer Guide and Reference, Using Automatic Vectorization. Website, (2021). https://www.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top.html. Accessed 19 Nov 2021
Pacheco, Peter: An introduction to parallel programming, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco (2011)
Chapman, Barbara, Jost, Gabriele, Van Der Pas, Ruud: Using OpenMP: portable shared memory parallel programming, vol. 10. MIT press, Cambridge (2008)
Barlas, Gerassimos: Multicore and GPU programming: an integrated approach. Morgan Kaufmann Publishers Inc., San Francisco (2014)
Ayguadé, Eduard, Copty, Nawal, Duran, Alejandro, Hoeflinger, Jay, Lin, Yuan, Massaioli, Federico, Teruel, Xavier, Unnikrishnan, Priya, Zhang, Guansong: The design of OpenMP tasks. IEEE Trans. Parallel Distrib. Syst. 20(3), 404–418 (2009)
Cook, Shane: CUDA programming: a developer’s guide to parallel computing with GPUs, 1st edn. Morgan Kaufmann Publishers Inc., San Francisco (2012)
Cheng, J., Grossman, M., McKercher, T.: Professional CUDA C programming. Wiley, Indianapolis (2014)
NVIDIA Corporation. CUDA C++ Programming Guide. Website (2020). https://docs.nvidia.com/cuda/cuda-c-programming-guide/index.html. Accessed 24 Sept 2020
Kirk, David B., Hwu, Wen-mei W.: Programming massively parallel processors, third edition: a hands-on approach, 3rd edn. Morgan Kaufmann Publishers Inc., San Francisco (2016)
Gonzalez, Rafael C., Woods, Richard E., Eddins, Steven L.: Image processing place. Website (2021). http://imageprocessingplace.com/root_files_V3/image_databases.htm. Accessed 08 Aug 2021
Weber, Allan G.: The USC-SIPI image database. Website (2021). http://sipi.usc.edu/database/database.php. Accessed 08 Aug 2021
Wang, Zhou, Bovik, Alan C., Sheikh, Hamid R., Simoncelli, Eero P., et al.: Image quality assessment: from error visibility to structural similarity. IEEE Trans. Image Process 13(4), 600–612 (2004)
Nandi, Utpal: Fractal image compression using a fast affine transform and hierarchical classification scheme. The Visual Computer, pp. 1–14 (2021)
Sorensen, Tyler, Donaldson, Alastair F.: The hitchhiker’s guide to cross-platform OpenCL application development. In: Proceedings of the 4th International Workshop on OpenCL, IWOCL ’16, New York, NY, USA (2016). Association for Computing Machinery
Acknowledgements
The authors acknowledge the support from “Laboratorio de Supercómputo del Bajío” through grant number 300832 from CONACyT. The research of the second author has been partially supported by SEP-CONACyT Grant A1-S-53349.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Rights and permissions
About this article
Cite this article
Hernandez-Lopez, F.J., Muñiz-Pérez, O. Parallel fractal image compression using quadtree partition with task and dynamic parallelism. J Real-Time Image Proc 19, 391–402 (2022). https://doi.org/10.1007/s11554-021-01193-w
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11554-021-01193-w