Skip to main content
Log in

Modeling and Analysis of FPGA Accelerators for Real-Time Streaming Video Processing in the Healthcare Domain

  • Published:
Journal of Signal Processing Systems Aims and scope Submit manuscript

Abstract

Complex real-time video processing applications with strict throughput constraints are commonly found in a typical healthcare application. The video processing chain is implemented as Field-Programmable Gate Array (FPGA) accelerators (processing blocks) communicating through a number of First-In First-Out (FIFO) buffers. The FIFO buffers are made out of Block RAM (BRAM) and limited in availability. Therefore, a key design question is the optimal sizes of the FIFO buffers with respect to the throughput constraint. In this paper, we use model-driven analysis and detailed hardware level simulation to address the question of buffer dimensioning in an efficient way. Using a Cyclo-Static Dataflow (CSDF) model and an optimization method, we identify and optimize the FIFO buffers. The results are confirmed using a detailed hardware level simulation and validated by comparison with VHDL simulations. The technique is illustrated on a use case from Philips Healthcare Image Guided Therapy (IGT) on the imaging pipeline of an Interventional X-Ray (i XR) system.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10
Listing 1
Figure 11
Listing 2
Listing 3
Figure 12
Figure 13
Figure 14
Figure 15

Similar content being viewed by others

Notes

  1. Throughput is measured as 1/FILO with FILO the First pixel In to Last pixel Out latency.

References

  1. ALMARVI. (2017). ALMARVI project website. http://www.almarvi.eu/.

  2. Altera. (2017). Intel FPGA SDK for OpenCL. https://www.altera.com/products/design-software/embedded-software-developers/opencl/overview.html.

  3. Altera. (2017). Intel SoC device overview. https://www.altera.com/products/fpga/overview.html.

  4. Andrade, H., Correll, J., Ekbal, A., Ghosal, A., Kim, D., Kornerup, J., Limaye, R., Prasad, A., Ravindran, K., Tran, T., et al. (2012). From streaming models to fpga implementations. In Proceedings of the Conference on Engineering of Reconfigurable Systems and Algorithms (ERSA).

  5. Ara, H.A., Behrouzian, A., Geilen, M., Hendriks, M., Goswami, D., Basten, T. (2016). Analysis and visualization of execution traces of dataflow applications. In 2016 2nd international workshop on Integrating Dataflow, Embedded computing and Architecture (IDEA), ESR-2017-01, IEEE (pp. 1–8).

  6. Bhattacharyya, S.S., Murthy, P.K., Lee, E.A. (1999). Synthesis of embedded software from synchronous dataflow specifications. Journal of VLSI signal processing systems for signal, image and video technology, 21(2), 151–166.

    Article  Google Scholar 

  7. (2001). Describing Synthesizable R, Systemc. Synopsys, May.

  8. Falk, J, Haubelt, C., Zebelein, C., Teich, J. (2013). Integrated modeling using finite state machines and dataflow graphs. In Handbook of signal processing systems, Springer (pp. 975–1013).

  9. Geilen, M., & Stuijk, S. (2010). Worst-case performance analysis of synchronous dataflow scenarios. In Proceedings of the eighth IEEE/ACM/IFIP international conference on Hardware/software codesign and system synthesis, ACM (pp. 125–134).

  10. Hendriks, M., Alizadeh Ara, H., Geilen, M., Basten, T., Guerra Marin, R., De Jong, R., Van der Vlugt, S. (2017). Monotonic optimization of dataflow buffer sizes. Submitted to Journal of Signal Processing Systems.

  11. Janneck, J.W., Miller, I.D., Parlour, D.B., Roquier, G., Wipliez, M., Raulet, M. (2011). Synthesizing hardware from dataflow programs. Journal of Signal Processing Systems, 63(2), 241–249.

    Article  Google Scholar 

  12. Keinert, J., Dutta, H., Hannig, F., Haubelt, C., Teich, J. (2009). Model-based synthesis and optimization of static multi-rate image processing algorithms. In Proceedings of the conference on design, automation and test in Europe, European design and automation association (pp. 135–140).

  13. MathWorks. (2017). Mathworks Embedded Coder. https://mathworks.com/products/embedded-coder.html.

  14. MathWorks. (2017). Mathworks HDL Coder. https://mathworks.com/products/hdl-coder.html.

  15. MathWorks. (2017). Mathworks Simulink. https://www.mathworks.com/products/simulink.html.

  16. Philips. (2017). Philips iXR Azurion 7 with 12 inch detector. http://www.usa.philips.com/healthcare/product/HCNCVD003/azurion-7-with-12-inch-detector.

  17. Salunkhe, H., Moreira, O., van Berkel, K. (2014). Buffer allocation for real-time streaming on a multi-processor without back- pressure. In 2014 IEEE 12th symposium on Embedded Systems for Real-time Multimedia (ESTIMedia), IEEE (pp. 20–29).

  18. Salunkhe, H., Moreira, O., van Berkel, K. (2014). Mode-controlled dataflow based modeling & analysis of a 4g-lte receiver. In Proceedings of the conference on design, automation & test in Europe, European design and automation association (p. 212).

  19. Stuijk, S. (2007). Predictable mapping of streaming applications on multiprocessors. PhD Thesis, Eindhoven University of Technology.

  20. Stuijk, S., Basten, T., Geilen, M., Corporaal, H. (2007). Multiprocessor resource allocation for throughput-constrained synchronous dataflow graphs. In Proceedings of the 44th annual design automation conference, ACM (pp. 777–782).

  21. Stuijk, S., Geilen, M., Basten, T. (2008). Throughput-buffering trade-off exploration for cyclo-static and synchronous dataflow graphs. IEEE Transactions on Computers, 57(10), 1331–1345.

    Article  MathSciNet  Google Scholar 

  22. TOPIC. (2017). DYnamic Process LOader. https://topicembeddedproducts.com/products/dyplo/.

  23. TRACE. (1999). Embedded Systems Innovation by TNO. http://trace.esi.nl.

  24. Xilinx, Inc. (2017). Xilinx Partial Reconfiguration design tool. https://www.xilinx.com/products/design-tools/vivado/implementation/partial-reconfiguration.html.

  25. Xilinx, Inc. (2017). Xilinx SDAccel design tool. https://www.xilinx.com/products/design-tools/software-zone/sdaccel.html.

  26. Xilinx, Inc. (2017). Xilinx SDSoC design tool. https://www.xilinx.com/products/design-tools/software-zone/sdsoc.html.

  27. Xilinx, Inc. (2017). Xilinx SoC device overview. https://www.xilinx.com/products/silicon-devices/soc.html.

Download references

Acknowledgements

This work has been supported by the ALMARVI European Artemis project nr. 621439.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Steven van der Vlugt.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

van der Vlugt, S., Alizadeh Ara, H., de Jong, R. et al. Modeling and Analysis of FPGA Accelerators for Real-Time Streaming Video Processing in the Healthcare Domain. J Sign Process Syst 91, 75–91 (2019). https://doi.org/10.1007/s11265-018-1414-3

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11265-018-1414-3

Keywords

Navigation