Skip to main content

A Tutorial on the Implementations of Linear Image Filters in CPU and GPU

  • Conference paper
  • First Online:
Computer Science – CACIC 2017 (CACIC 2017)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 790))

Included in the following conference series:

  • 512 Accesses

Abstract

This article presents an overview of the implementation of linear image filters in CPU and GPU. The main goal is to present a self contained discussion of different implementations and their background using tools from digital signal processing. First, using signal processing tools, we discuss different algorithms and estimate their computational cost. Then, we discuss the implementation of these filters in CPU and GPU. It is very common to find in the literature that GPUs can easily reduce computational times in many algorithms (straightforward implementations). In this work we show that GPU implementations not always reduce the computational time but also not all algorithms are suited for GPUs. We believe this is a review that can help researchers and students working in this area. Although the experimental results are not meant to show which is the best implementation (in terms of running time), the main results can be extrapolated to CPUs and GPUs of different capabilities.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    The filter impulse response h is sometimes referred as filter kernel.

  2. 2.

    In  https://blog.kevinlin.info/nvidia-cuda-gpu-computing-and-computer-vision/ there is a detailed analysis of the separable implementation.

References

  1. Oppenheim, A.V., Schafer, R.W., John, R.B.: Discrete-Time Signal Processing. Prentice Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  2. Bilgic, B., Horn, B.K.P., Masaki, I.: Efficient integral image computation on the GPU. In: Intelligent Vehicles Symposium (IV), pp. 528–533. IEEE (2010)

    Google Scholar 

  3. Krig, S.: Computer Vision Metrics. Textbook Edition. Springer, Cham (2016)

    Book  Google Scholar 

  4. Milanfar, P.: A tour of modern image filtering: new insights and methods, both practical and theoretical. IEEE Sig. Process. Mag. 30(1), 106–128 (2013)

    Article  MathSciNet  Google Scholar 

  5. Nehab, D., Maximo, A., Lima, R.S., Hoppe, H.: GPU-efficient recursive filtering and summed-area tables. ACM Trans. Graph. (TOG) 30(6), 176 (2011)

    Article  Google Scholar 

  6. nVidia: Cuda c programming guide (2017)

    Google Scholar 

  7. Podlozhnyuk, V.: Image convolution with CUDA. NVIDIA Corporation white paper, June 2097(3) (2007)

    Google Scholar 

  8. Sanders, J., Kandrot, E.: CUDA by Example: An Introduction to General-Purpose GPU Programming, Portable Documents. Addison-Wesley Professional, Upper Saddle River (2010)

    Google Scholar 

  9. Smith, S.W., et al.: The Scientist and Engineer’s Guide to Digital Signal Processing. California Technical Pub, San Diego (1997)

    Google Scholar 

  10. Viola, P., Jones, M.: Rapid object detection using a boosted cascade of simple features. In: Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, CVPR 2001, vol. 1, pp. I-511–I-518. IEEE (2001)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alvaro Pardo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Pardo, A. (2018). A Tutorial on the Implementations of Linear Image Filters in CPU and GPU. In: De Giusti, A. (eds) Computer Science – CACIC 2017. CACIC 2017. Communications in Computer and Information Science, vol 790. Springer, Cham. https://doi.org/10.1007/978-3-319-75214-3_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-75214-3_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-75213-6

  • Online ISBN: 978-3-319-75214-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics