Journal of Real-Time Image Processing

, Volume 15, Issue 4, pp 775–786 | Cite as

Morphological co-processing unit for embedded devices

  • Jan Bartovský
  • Petr DokládalEmail author
  • Matthieu Faessel
  • Eva Dokladalova
  • Michel Bilodeau
Original Research Paper


This paper focuses on the development of a fully programmable morphological coprocessor for embedded devices. It is a well-known fact that the majority of morphological processing operations are composed of a (potentially large) number of sequential elementary operators. At the same time, the industrial context induces a high demand on robustness and decision liability that makes the application even more demanding. Recent stationary platforms (PC, GPU, clusters) no more represent a computational bottleneck in real-time vision or image processing applications. However, in embedded solutions such applications still hit computational limits. The morphological co-processing unit (MCPU) replies to this demand. It assembles the previously published efficient dilation/erosion units with geodesic units and ALUs to support a larger collection of morphological operations, from a simple dilation to serial filters involving a geodesic reconstruction step. The coprocessor has been integrated into an FPGA platform running a server that is able to respond to client’s requests over the ethernet. The experimental performance of the MCPU measured on a wide set of operations brings as results in orders of magnitude better than another embedded platform, built around an ARM A9 quad-core processor.


Mathematical morphology Hardware implementation Pattern spectrum Reconstruction Parallel computation 



The authors thank the reviewers for their valuable suggestions allowing to improve the quality of the paper.

Conflict of interest

The authors declare that they have no conflict of interest.


  1. 1.
    Bartovský, J., Dokládal, P., Dokládalová, E., Bilodeau, M., Akil, M.: Real-time implementation of morphological filters with polygonal structuring elements. J. Real Time Image Process. 10(1), 175–187 (2012)CrossRefGoogle Scholar
  2. 2.
    Bartovský, J., Dokládal, P., Dokládalová, E., Georgiev, V.: Parallel implementation of sequential morphological filters. J. Real Time Image Process. 9(2), 315–327 (2014)CrossRefGoogle Scholar
  3. 3.
    Chien, S.-Y., Ma, S.-Y.: Partial-result-reuse architecture and its design technique for morphological operations with flat structuring elements. IEEE Trans. Circuits Syst. Video Technol. 15(9), 1156–1169 (2005)CrossRefGoogle Scholar
  4. 4.
    Clienti, C., Beucher, S., Bilodeau, M.: A system on chip dedicated to pipeline neighborhood processing for mathematical morphology. In: EURASIP (ed) EUSIPCO 2008, Lausanne, August (2008)Google Scholar
  5. 5.
    Clienti, C., Bilodeau, M., Beucher, S.: An efficient hardware architecture without line memories for morphological image processing. In: ACIVS ’08, pp. 147–156, Springer, Berlin, Heidelberg (2008)Google Scholar
  6. 6.
    Coltuc, D., Pitas, I.: On fast running max-min filtering. IEEE Trans. Circuits Syst. II 44(8), 660–663 (1997)zbMATHCrossRefGoogle Scholar
  7. 7.
    Cord, A., Bach, F., Jeulin, D.: Texture classification by statistical learning from morphological image processing: application to metallic surfaces. J. Microsc. 239, 159–166 (2010)MathSciNetGoogle Scholar
  8. 8.
    Déforges, O., Normand, N., Babel, M.: Fast recursive grayscale morphology operators: from the algorithm to the pipeline architecture. J. Real Time Image Process. (2010).  10.1007/s11554-010-0171-8
  9. 9.
    Dokládal, P., Dokládalová, E.: Computationally efficient, one-pass algorithm for morphological filters. J. Vis. Commun. Image Represent. 22(5), 411–420 (2011)CrossRefGoogle Scholar
  10. 10.
    Faessel M.: Smil simple morphological image library. (2014)
  11. 11.
    Freescale. i.MX 6Dual/6Quad Power Consumption Measurement, Rev. 0, 10/2012.
  12. 12.
    Freescale. SABRE reference designs (2014).
  13. 13.
    Gibson, R.M., Ahmadinia, A., McMeekin, S.G., Strang, N.C., Morison, G.: A reconfigurable real-time morphological system for augmented vision. EURASIP J. Adv. Signal Process. 1, 2013 (2013)Google Scholar
  14. 14.
    Gil, J., Kimmel, R.: Efficient dilation, erosion, opening, and closing algorithms. IEEE Trans. Pattern Anal. Mach. Intell. 24(12), 1606–1617 (2002)zbMATHCrossRefGoogle Scholar
  15. 15.
    Gil, J., Werman, M.: Computing 2-D min, median, and max filters. IEEE Trans. Pattern Anal. Mach. Intell. 15(5), 504–507 (1993)CrossRefGoogle Scholar
  16. 16.
    Holzer, M., Schumacher, F., Greiner, T., Rosenstiel, W.: Optimized hardware architecture of a smart camera with novel cyclic image line storage structures for morphological raster scan image processing. In: IEEE International Conference on Emerging Signal Processing Applications (ESPA), pp. 83–86 (2012)Google Scholar
  17. 17.
    Intel. Intel Xeon Processor E5620 (12M Cache, 2.40 GHz, 5.86 GT/s Intel QPI).
  18. 18.
    Klein, J.-C., Serra, J.: The texture analyser. J. Microsc. 95, 349–356 (1972)CrossRefGoogle Scholar
  19. 19.
    Lemire, D.: Streaming maximum-minimum filter using no more than three comparisons per element. CoRR, abs/cs/0610046 (2006)Google Scholar
  20. 20.
    Lemonnier, F., Klein, J.-C.: Fast dilation by large 1D structuring elements. In: Proceedings of the IEEE Workshop Nonlinear Signal and Image Processing, pp. 479–482, Greece (1995)Google Scholar
  21. 21.
    Matheron, G.: Random Sets and Integral Geometry. Wiley, New York (1975)zbMATHGoogle Scholar
  22. 22.
    Morph-M.: Morph-M documentation. (2012)
  23. 23.
    Normand, N.: Convex structuring element decomposition for single scan binary mathematical morphology. In: Discrete Geometry for Computer Imagery. vol. 2886 of LNCS, pp. 154–163. Springer, Berlin, Heidelberg (2003)Google Scholar
  24. 24.
    OpenCV.: OpenCV documentation. (2014)
  25. 25.
    Pecht, J.: Speeding-up successive minkowski operations with bit-plane computers. Pattern Recognit. Lett. 3(2), 113–117 (1985)zbMATHCrossRefGoogle Scholar
  26. 26.
    Pitas, I.: Fast algorithms for running ordering and max/min calculation. IEEE Trans. Circuits Syst. 36(6), 795–804 (1989)CrossRefGoogle Scholar
  27. 27.
    Serra, J.: Image Analysis and Mathematical Morphology, vol. 1. Academic Press, New York (1982)zbMATHGoogle Scholar
  28. 28.
    Serra, J.: Image Analysis and Mathematical Morphology. Theoretical Advances, vol. 2. Academic Press, London (1988)Google Scholar
  29. 29.
    Serra, J., Vincent, L.: An overview of morphological filtering. Circuits Syst. Signal Process. 11(1), 47–108 (1992)MathSciNetzbMATHCrossRefGoogle Scholar
  30. 30.
    Soille, P.: Morphological Image Analysis: Principles and Applications. Springer, New York (2003)zbMATHGoogle Scholar
  31. 31.
    Soille, P., Breen, E.J., Jones, R.: Recursive implementation of erosions and dilations along discrete lines at arbitrary angles. IEEE Trans. Pattern Anal. Mach. Intell. 18(5), 562–567 (1996)CrossRefGoogle Scholar
  32. 32.
    Torres-Huitzil, C.: FPGA-based fast computation of gray-level morphological granulometries. J. Real Time Image Process. (2013).  10.1007/s11554-013-0355-0
  33. 33.
    Urbach, E.R., Wilkinson, M.H.F.: Efficient 2-D grayscale morphological transformations with arbitrary flat structuring elements. IEEE Trans. Image Process. 17(1), 1–8 (2008)MathSciNetCrossRefGoogle Scholar
  34. 34.
    van Herk, M.: A fast algorithm for local minimum and maximum filters on rectangular and octagonal kernels. Pattern Recognit. Lett. 13(7), 517–521 (1992)CrossRefGoogle Scholar
  35. 35.
    Velten, J., Kummert, A.: Implementation of a high-performance hardware architecture for binary morphological image processing operations. In: The 2004 47th Midwest Symposium on Circuits and Systems, 2004. MWSCAS ’04., vol. 2, pp. II-241–II-244 (2004)Google Scholar
  36. 36.
    Vincent, L.: Morphological grayscale reconstruction in image analysis: applications and efficient algorithms. IEEE Trans. Image Process. 2(2), 176–201 (1993)CrossRefGoogle Scholar
  37. 37.
  38. 38.
    Xilinx. Video Frame Buffer Controller v1.0. October 29 (2007)
  39. 39.
    Xilinx. Virtex-5 family overview. February 6 (2009)
  40. 40.
    Xilinx. LogiCORE IP Multi-Port Memory Controller (MPMC) (v6.03.a). March 1 (2011)
  41. 41.
    Xu, J.: Decomposition of convex polygonal morphological structuring elements into neighborhood subsets. IEEE Trans. Pattern Anal. Mach. Intell. 13(2), 153–162 (1991)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Jan Bartovský
    • 1
    • 2
  • Petr Dokládal
    • 1
    Email author
  • Matthieu Faessel
    • 1
  • Eva Dokladalova
    • 3
  • Michel Bilodeau
    • 1
  1. 1.Centre for Mathematical MorphologyMINES ParisTech, PSL Research UniversityFontainebleauFrance
  2. 2.Faculty of Electrical EngineeringUniversity of West BohemiaPilsenCzech Republic
  3. 3.Computer Science Laboratory Gaspard Monge, ESIEE ParisParis-Est UniversityNoisy-le-GrandFrance

Personalised recommendations