skip to main content
research-article

Parallel recursive filtering of infinite input extensions

Published:05 December 2016Publication History
Skip Abstract Section

Abstract

Filters with slowly decaying impulse responses have many uses in computer graphics. Recursive filters are often the fastest option for such cases. In this paper, we derive closed-form formulas for computing the exact initial feedbacks needed for recursive filtering infinite input extensions. We provide formulas for the constant-padding (e.g. clamp-to-edge), periodic (repeat) and even-periodic (mirror or reflect) extensions. These formulas were designed for easy integration into modern block-parallel recursive filtering algorithms. Our new modified algorithms are state-of-the-art, filtering images faster even than previous methods that ignore boundary conditions.

Skip Supplemental Material Section

Supplemental Material

References

  1. Appleton, B. and Talbot, H. 2003. Efficient and consistent recursive filtering of images with reflective extension. In Scale Space'03, Springer-Verlag, LNCS 2695, 699--712. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Blelloch, G. E. 1990. Prefix sums and their applications. Technical Report CMU-CS-90-190, Carnegie Mellon University.Google ScholarGoogle Scholar
  3. Blu, T., Thévenaz, P., and Unser, M. 2001. MOMS: Maximalorder interpolation of minimal support. IEEE Transactions on Image Processing, 10(7):1069--1080. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Catmull, E. and Rom, R. 1974. A class of local interpolating splines. In Computer Aided Geometric Design, 317--326.Google ScholarGoogle Scholar
  5. Chaurasia, G., Ragan-Kelley, J., Paris, S., Drettakis, G., and Durand, F. 2015. Compiling high performance recursive filters. In High Performance Graphics, 85--94. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Condat, L., Blu, T., and Unser, M. 2005. Beyond interpolation: optimal reconstruction by quasi-interpolation. In IEEE International Conference on Image Processing, volume 1, 33--36.Google ScholarGoogle Scholar
  7. Condat, L. and Möller, T. 2011. Quantitative error analysis for the reconstruction of derivatives. IEEE Transactions on Image Processing, 59(6):2965--2969. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. cuFFT library. 2007. URL http://developer.nvidia.com/cuda-toolkit. NVIDIA Corporation.Google ScholarGoogle Scholar
  9. Dotsenko, Y., Govindaraju, N. K., Sloan, P.-P., Boyd, C., and Manferdelli, J. 2008. Fast scan algorithms on graphics processors. In Proceedings of the International Conference on Supercomputing, 205--213. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Duchon, C. E. 1979. Lanczos filtering in one and two dimensions. Journal of Applied Meteorology, 18(8):1016--1022.Google ScholarGoogle ScholarCross RefCross Ref
  11. Gastal, E. S. L. and Oliveira, M. M. 2011. Domain transform for edge-aware image and video processing. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2011), 30(4):69. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Gastal, E. S. L. and Oliveira, M. M. 2015. High-order recursive filtering of non-uniformly sampled signals for image and video processing. Computer Graphics Forum, 34(2):81--93. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. Govindaraju, N. K., Lloyd, B., Dotsenko, Y., Smith, B., and Manferdelli, J. 2008. High performance discrete fourier transforms on graphics processors. In Proceedings of the IEEE International Conference for High Performance Computing, Networking, Storage, and Analysis, IEEE. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Hummel, R. 1983. Sampling for spline reconstruction. SIAM Journal on Applied Mathematics, 43(2):278--288.Google ScholarGoogle ScholarCross RefCross Ref
  15. Iverson, K. E. 1962. A Programming Language. Wiley. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Kajiya, J. and Ullner, M. 1981. Filtering high quality text for display on raster scan devices. Computer Graphics (Proceedings of ACM SIGGRAPH 1981), 15(3):7--15. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Kooge, P. M. and Stone, H. S. 1973. A parallel algorithm for the efficient solution of a general class of recurrence equations. IEEE Transactions on Computers, C-22(8):786--793. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. Malcolm, M. A. and Palmer, J. 1974. A fast method for solving a class of tridiagonal linear systems. Communications of the ACM, 17(1):14--17. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Martucci, S. A. 1994. Symmetric convolution and the discrete sine and cosine transforms. IEEE Transactions on Signal Processing, 42(5):1038--1051. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Maximo, A. 2015. Efficient finite impulse response filters in massively-parallel recursive systems. Journal of Real-Time Image Processing, 1--9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. McCool, M. D. 1995. Analytic antialiasing with prism splines. In Proceedings of ACM SIGGRAPH 1995, 429--436. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Merrill, D. and Grimshaw, A. 2009. Parallel scan for stream architectures. Technical Report CS2009-14, University of Virginia.Google ScholarGoogle Scholar
  23. Meyer, C. D. 2000. Matrix Analysis and Applied Linear Algebra. SIAM, Philadelphia, PA, USA. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. Mitchell, D. P. and Netravali, A. N. 1988. Reconstruction filters in computer graphics. Computer Graphics (Proceedings of ACM SIGGRAPH 1988), 22(4):221--228. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. Nehab, D. and Hoppe, H. 2014. A fresh look at generalized sampling. Foundations and Trends in Computer Graphics and Vision, 8(1):1--84. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Nehab, D., Maximo, A., Lima, R. S., and Hoppe, H. 2011. GPU-efficient recursive filtering and summed-area tables. ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH Asia 2011), 30(6):176. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. Oppenheim, A. V. and Schafer, R. W. 2010. Discrete-Time Signal Processing. Prentice Hall, 3rd edition. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. Podlozhnyuk, V. 2007. Image convolution with CUDA. NVIDIA whitepaper.Google ScholarGoogle Scholar
  29. Sacht, L. and Nehab, D. 2015. Optimized quasi-interpolators for image reconstruction. IEEE Transactions on Image Processing, 24(12):5249--5259.Google ScholarGoogle ScholarCross RefCross Ref
  30. Sengupta, S., Harris, M., Zhang, Y., and Owens, J. D. 2007. Scan primitives for GPU computing. In Proceedings of Graphics Hardware, 97--106. Google ScholarGoogle ScholarDigital LibraryDigital Library
  31. Stone, H. S. 1971. Parallel processing with the perfect shuffle. IEEE Transactions on Computers, C-20(2):153--161. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. Stone, H. S. 1973. An efficient parallel algorithm for the solution of a tridiagonal linear system of equations. Journal of the ACM, 20(1):27--38. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. Sun, X., Mei, X., Jiao, S., Zhou, M., Liu, Z., and Wang, H. 2014. Real-time local stereo via edge-aware disparity propagation. Pattern Recognition Letters, 49:201--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  34. Sung, W. and Mitra, S. 1986. Efficient multi-processor implementation of recursive digital filters. In IEEE International Conference on Acoustics, Speech and Signal Processing, 257--260.Google ScholarGoogle Scholar
  35. Sung, W. and Mitra, S. 1992. Multiprocessor implementation of digital filtering algorithms using a parallel block processing method. IEEE Transactions on Parallel and Distributed Systems, 3(1):110--120. Google ScholarGoogle ScholarDigital LibraryDigital Library
  36. Triggs, B. and Sdika, M. 2006. Boundary conditions for Young-van Vliet recursive filtering. IEEE Transactions on Signal Processing, 54(5):2365--2367. Google ScholarGoogle ScholarCross RefCross Ref
  37. Unser, M. and Aldroubi, A. 1994. A general sampling theory for nonideal acquisition devices. IEEE Transactions on Signal Processing, 42(11):2915--2925. Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Unser, M., Aldroubi, A., and Eden, M. 1991. Fast B-spline transforms for continuous image representation and interpolation. IEEE Transactions on Pattern Analysis and Machine Intelligence, 13(3):277--285. Google ScholarGoogle ScholarDigital LibraryDigital Library
  39. Unser, M., Aldroubi, A., and Eden, M. 1993. The L2-polynomial spline pyramid. IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(4):364--379. Google ScholarGoogle ScholarDigital LibraryDigital Library
  40. Unser, M., Aldroubi, A., and Eden, M. 1995. Enlargement or reduction of digital images with minimum loss of information. IEEE Transactions on Image Processing, 4(3):247--258. Google ScholarGoogle ScholarDigital LibraryDigital Library
  41. Unser, M., Thénevaz, P., and Yaroslavsky, L. 1995. Convolution-based interpolation for fast, high-quality rotation of images. IEEE Transactions on Image Processing, 4(10):1371--1381. Google ScholarGoogle ScholarDigital LibraryDigital Library
  42. van Vliet, L. J., Young, I. T., and Verbeek, P. W. 1998. Recursive Gaussian derivative filters. In Proceedings of the 14th International Conference on Pattern Recognition, 509--514 (v. 1). Google ScholarGoogle ScholarDigital LibraryDigital Library
  43. Weickert, J., ter Haar Romeny, B. M., and Viergever, M. A. 1998. Efficient and reliable schemes for nonlinear diffusion filtering. IEEE Transactions on Image Processing, 7(3):398--410. Google ScholarGoogle ScholarDigital LibraryDigital Library
  44. Zhou, M., Liu, Z., Hong, T., Wang, X., Wang, H., and Sun, X. 2015. Efficient O(1) edge-aware filter. In IEEE International Conference on Image Processing, 1295--1299.Google ScholarGoogle Scholar

Index Terms

  1. Parallel recursive filtering of infinite input extensions

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image ACM Transactions on Graphics
      ACM Transactions on Graphics  Volume 35, Issue 6
      November 2016
      1045 pages
      ISSN:0730-0301
      EISSN:1557-7368
      DOI:10.1145/2980179
      Issue’s Table of Contents

      Copyright © 2016 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 5 December 2016
      Published in tog Volume 35, Issue 6

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader