skip to main content
research-article

Median Filters on FPGAs for Infinite Data and Large, Rectangular Windows

Authors Info & Claims
Published:24 November 2022Publication History
Skip Abstract Section

Abstract

Efficient architectures and implementations of median filters have been well investigated in the past. In this article, we focus on median filters for very big scientific applications with very large windows and an infinite stream of data, inspired by big data needs in the Square Kilometre Array (SKA) pulsar search engine, but transferable to other big data domains. We propose a novel approach for very large rectangular windows on an FPGA accelerator device able to support the processing of infinite streams of data. OpenCL is used for rapid parameter sweeping and design space exploration based on a pipelined model of the system. Evaluation on a host/accelerator system with an Arria 10 device surpassed 64 million values processed per second considered for the SKA real time requirement, achieving 83.4M value/s while reading from/writing to disk. These results are compared with a state-of-the-art software implementation only achieving 41M value/s for over twice the total system energy cost.

REFERENCES

  1. [1] Aldinucci M., Spampinato C., Drocco M., Torquati M., and Palazzo S.. 2012. A parallel edge preserving algorithm for salt and pepper image denoising. In Proceedings of the 2012 3rd International Conference on Image Processing Theory, Tools and Applications. 97104. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  2. [2] Bates G. L. and Nooshabadi S.. 1997. FPGA implementation of a median filter. In Proceedings of the IEEE Region 10 Annual Conference on Speech and Image Technologies for Computing and Telecommunications. Vol. 2, 437440. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  3. [3] Castano-Diez D., Moser D., Schoenegger A., Pruggnaller S., and Frangakis A. S.. 2008. Performance evaluation of image processing algorithms on the GPU. Journal of Structural Biology 164, 1 (2008), 153160. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  4. [4] Cormen T. H.. 2009. Introduction to Algorithms. The MIT Press.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. [5] Czajkowski T. S., Neto D., Kinsner M., Aydonat U., Wong J., D. Denisenko, P. Yiannacouras, J. Freeman, D. P. Singh, and S. D. Brown. 2012. OpenCL for FPGAs: Prototyping a compiler. In Proceedings of the International Conference on Engineering of Reconfigurable Systems and Algorithms. WorldComp, 1.Google ScholarGoogle Scholar
  6. [6] Dewdney P.. 2013. SKA1 System Baseline Design. Technical Report. SKA Office.Google ScholarGoogle Scholar
  7. [7] Fahmy S. A., Cheung P. Y. K., and Luk W.. 2009. High-throughput one-dimensional median and weighted median filters on FPGA. IET Computers & Digital Techniques 3, 4 (2009), 384394. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  8. [8] Gil J. and Werman M.. 1993. Computing 2-D min, median, and max filters. IEEE Transactions on Pattern Analysis and Machine Intelligence 15, 5 (May1993), 504507. DOI:DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. [9] Goel Anish, Ahmad M. Omair, and Swamy M. N. S.. 2019. Design of a 2D median filter with a high throughput FPGA implementation. In Proceedings of the 2019 IEEE 62nd International Midwest Symposium on Circuits and Systems. 10731076. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  10. [10] Huang T., Yang G., and Tang G.. 1979. A fast two-dimensional median filtering algorithm. IEEE Transactions on Acoustics, Speech, and Signal Processing 27, 1 (Feb.1979), 1318. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  11. [11] Levin L., Armour W., Baffa C., Barr E., Cooper S., R. Eatough, A. Ensor, E. Giani, A. Karastergiou, R. Karuppusamy, and M. Keith. 2017. Pulsar searches with the SKA. Proceedings of the International Astronomical Union 13, S337 (2017), 171–174. DOI:Google ScholarGoogle ScholarCross RefCross Ref
  12. [12] Offringa A. R., Bruyn A. G. de, Biehl M., Zaroubi S., Bernardi G., and Pandey V. N.. 2010. Post-correlation radio frequency interference classification methods. Monthly Notices of the Royal Astronomical Society 405, 1 (2010), 155167. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  13. [13] Pang Yalong, Jiang Shuai, Cheng Bowen, Liu Weiwei, and Wu Yuhang. 2021. Design and implement of median filter toward remote sensing images based on FPGA. In Proceedings of the 2021 IEEE 14th International Conference on ASIC. 14. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  14. [14] Perreault S. and Hebert P.. 2007. Median filtering in constant time. IEEE Transactions on Image Processing 16, 9 (Sept.2007), 23892394. DOI:DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. [15] Perrot G., Domas S., and Couturier R.. 2014. Fine-tuned high-speed implementation of a GPU-based median filter. Journal of Signal Processing Systems 75, 3 (1 June2014), 185190. DOI:DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. [16] Rabiner L., Sambur M., and Schmidt C.. 1975. Applications of a nonlinear smoothing algorithm to speech processing. IEEE Transactions on Acoustics, Speech, and Signal Processing 23, 6 (Dec.1975), 552557. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  17. [17] Rahnama Oscar, Golodetz Stuart, Cavallari Tommaso, and Torr Philip H. S.. 2021. Scalable FPGA median filtering via a directional median cascade. In Proceedings of the 2021 IEEE 29th Annual International Symposium on Field-Programmable Custom Computing Machines. 273273. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  18. [18] Rauh A. and Arce G. R.. 2010. A fast weighted median algorithm based on quickselect. In Proceedings of the 2010 IEEE International Conference on Image Processing. 105108. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  19. [19] Sanny Andrea and Prasanna Viktor K.. 2013. Energy-efficient median filter on FPGA. In Proceedings of the 2013 International Conference on Reconfigurable Computing and FPGAs. 18. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  20. [20] Sherwin T., Wang K. I., Thiagaraj P., and Sinnen O.. 2018. Median filtering with very large windows: SKA algorithms for FPGAs. In Proceedings of the 28th International Conference on Field Programmable Logic & Applications. IEEE. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  21. [21] SKA. 2019. Frequently Asked Questions about the SKA. Retrieved 8 June, 2022 from https://www.skatelescope.org/frequently-asked-questions/.Google ScholarGoogle Scholar
  22. [22] Stone J. E., Gohara D., and Shi G.. 2010. OpenCL: A parallel programming standard for heterogeneous computing systems. Computing in Science Engineering 12, 3 (May2010), 6673. DOI:DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. [23] Szántó P. and Fehér B.. 2018. Hierarchical histogram-based median filter for GPUs. Acta Polytechnica Hungarica 15, 2 (2018), 4968.Google ScholarGoogle Scholar
  24. [24] Heide P. van der, Xu X.-P., Marsh B. J., Hanein D., and Volkmann N.. 2007. Efficient automatic noise reduction of electron tomographic reconstructions based on iterative median filtering. Journal of Structural Biology 158, 2 (2007), 196204.Google ScholarGoogle ScholarCross RefCross Ref
  25. [25] Wang H., Gante J., Zhang M., Falcao G., Sousa L., and Sinnen O.. 2016. High-level designs of complex FIR filters on FPGAs for the SKA. In Proceedings of the 2016 IEEE 18th International Conference on High Performance Computing and Communications. 797804. DOI:DOI:Google ScholarGoogle ScholarCross RefCross Ref
  26. [26] Weiss B.. 2006. Fast median and bilateral filtering. In Proceedings of the ACM SIGGRAPH 2006 Papers. ACM, New York, NY, 519526. DOI:DOI:Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Median Filters on FPGAs for Infinite Data and Large, Rectangular Windows

          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 Reconfigurable Technology and Systems
            ACM Transactions on Reconfigurable Technology and Systems  Volume 15, Issue 4
            December 2022
            476 pages
            ISSN:1936-7406
            EISSN:1936-7414
            DOI:10.1145/3540252
            • Editor:
            • Deming Chen
            Issue’s Table of Contents

            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 ACM 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: 24 November 2022
            • Online AM: 5 May 2022
            • Accepted: 3 April 2022
            • Revised: 10 January 2022
            • Received: 30 July 2021
            Published in trets Volume 15, Issue 4

            Permissions

            Request permissions about this article.

            Request Permissions

            Check for updates

            Qualifiers

            • research-article
            • Refereed
          • Article Metrics

            • Downloads (Last 12 months)80
            • Downloads (Last 6 weeks)7

            Other Metrics

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader

          Full Text

          View this article in Full Text.

          View Full Text

          HTML Format

          View this article in HTML Format .

          View HTML Format
          About Cookies On This Site

          We use cookies to ensure that we give you the best experience on our website.

          Learn more

          Got it!