Skip to main content
Log in

An FPGA-Oriented Algorithm for Real-Time Filtering of Poisson Noise in Video Streams, with Application to X-Ray Fluoroscopy

  • Published:
Circuits, Systems, and Signal Processing Aims and scope Submit manuscript

Abstract

In this paper we propose a new algorithm for real-time filtering of video sequences corrupted by Poisson noise. The algorithm provides effective denoising (in some cases overcoming the filtering performances of state-of-the-art techniques), is ideally suited for hardware implementation, and can be implemented on a small field-programmable gate array using limited hardware resources. The paper describes the proposed algorithm, using X-ray fluoroscopy as a case study. We use IIR filters for time filtering, which largely simplifies hardware cost with respect to previous FIR filter-based implementations. A conditional reset is implemented in the IIR filter, to minimize motion blur, with the help of an adaptive thresholding approach. Spatial filtering performs a conditional mean to further reduce noise and to remove isolated noisy pixels. IIR filter hardware implementation is optimized by using a novel technique, based on Steiglitz–McBride iterative method, to calculate fixed-point filter coefficients with minimal number of nonzero elements. Implementation results using the smallest StratixIV FPGA show that the system uses only, at most, the 22% of the resources of the device, while performing real-time filtering of 1024 × 1024@49fps video stream. For comparison, a previous FIR filter-based implementation, on the same FPGA, in the same conditions and constraints (1024 × 1024@49fps), requires the 80% of the logic resources of the FPGA.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11

Similar content being viewed by others

References

  1. R. Aufrichtig, D.L. Wilson, X-ray fluoroscopy spatio-temporal filtering with object detection. IEEE Trans. Med. Imaging 14(4), 733–746 (1995)

    Article  Google Scholar 

  2. S.P. Awate, R.T. Whitaker, Higher-order image statistics for unsupervised, information-theoretic, adaptive, image filtering. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05), vol. 2, pp. 44–51 (2005)

  3. E.J. Balster, Y.F. Zheng, R.L. Ewing, Combined spatial and temporal domain wavelet shrinkage algorithm for video denoising. IEEE Trans. Circuits Syst. Video Technol. 16(2), 220–230 (2006)

    Article  Google Scholar 

  4. A.A. Bindilatti, N.D.A. Mascarenhas, A non local Poisson denoising algorithm based on stochastic distances. IEEE Signal Process. Lett. 20(11), 1010–1013 (2013)

    Article  Google Scholar 

  5. D. Bhonsle, V. Chandra, G.R. Sinha, Medical image denoising using bilateral filter. Int. J. Image Graph. Signal Process. 4(6), 36–43 (2012)

    Article  Google Scholar 

  6. S. Bonettini, V. Ruggiero, An alternating extra gradient method for total variation-based image restoration from Poisson data. Inverse Probl. 27(9), 1–28 (2011)

    Article  MATH  Google Scholar 

  7. A. Buades, B. Coll, J.M. Morel, A non-local algorithm for image denoising. In IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05), vol. 2, pp. 60–65 (2005)

  8. J. Cai, B. Dong, S. Osher, Z. Shen, Image restoration: total variation, wavelet frames, and beyond. J. Am. Math. Soc. 25, 1033–1089 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  9. T. Cerciello, P. Bifulco, M. Cesarelli, L. Paura, G. Pasquariello, R. Allen, Noise reduction in fluoroscopic image sequences for joint kinematics analysis. In Proceedings of 22nd Mediterranean Conference on Medical and Biological Engineering and Computing, vol. 29, pp. 323–326 (2010)

  10. T. Cerciello, M. Romano, P. Bifulco, M. Cesarelli, R. Allen, Advanced template matching method for estimation of intervertebral kinematics of lumbar spine. Med. Eng. Phys. 33(10), 1293–1302 (2011)

    Article  Google Scholar 

  11. T. Cerciello, P. Bifulco, M. Cesarelli, A. Fratini, A comparison of denoising methods for X-ray fluoroscopic images. Biomed. Signal Process. Control 7(6), 550–559 (2012)

    Article  Google Scholar 

  12. M. Cesarelli, P. Bifulco, T. Cerciello, M. Romano, L. Paura, X-ray fluoroscopy noise modeling for filter design. Int. J. Comput. Assist. Radiol. Surg. 8(2), 269–278 (2013)

    Article  Google Scholar 

  13. C.L. Chan, A.K. Katsaggelos, A.V. Sahakian, Image sequence filtering in quantum-limited noise with applications to low-dose fluoroscopy. IEEE Trans. Med. Imaging 12(3), 610–621 (1993)

    Article  Google Scholar 

  14. K. Dabov, A. Foi, V. Katkovnik, K. Egiazarian, Image denoising by sparse 3D transform-domain collaborative filtering. IEEE Trans. Image Process. 16(8), 2080–2095 (2007)

    Article  MathSciNet  Google Scholar 

  15. K. Dabov, A. Foi, K. Egiazarian, Video denoising by sparse 3D transform-domain collaborative filtering. In Proceedings of European Signal Processing Conference (EUSIPCO), Poznań, Poland, Sept. 3–7 (2007)

  16. M. Elad, M. Aharon, Image denoising via sparse and redundant representations over learned dictionaries. IEEE Trans. Image Process. 15(12), 3736–3745 (2006)

    Article  MathSciNet  Google Scholar 

  17. M.A.T. Figueiredo, J.M. Bioucas-Dias, Restoration of Poissonian images using alternating direction optimization. IEEE Trans. Image Process. 19(12), 3133–3145 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  18. A. Foi, Clipped noisy images: heteroskedastic modeling and practical denoising. Signal Process. 89(12), 2609–2629 (2009)

    Article  MATH  Google Scholar 

  19. M. Genovese, P. Bifulco, D. De Caro, E. Napoli, N. Petra, M. Romano, M. Cesarelli, A.G.M. Strollo, Hardware implementation of a spatio-temporal average filter for real-time denoising of fluoroscopic images. Integr. VLSI J. 49, 114–124 (2015)

    Article  Google Scholar 

  20. M. Ghazal, A. Amer, A. Ghrayeb, Structure-oriented multidirectional Wiener filter for denoising of image and video signals. IEEE Trans. Circuits Syst. Video Technol. 18(12), 1797–1802 (2008)

    Article  Google Scholar 

  21. R.M. Harrison, C.J. Kotre, Noise and threshold contrast characteristics of a digital fluoroscopic system. Phys. Med. Biol. 31(5), 512–586 (1986)

    Article  Google Scholar 

  22. V.M. Hubbard, The approximation of a Poisson distribution by a Gaussian distribution. Proc. IEEE 58(9), 1374–1375 (1970)

    Article  Google Scholar 

  23. A. Jiang, H.K. Kwan, Minimax design of IIR digital filters using iterative SOCP. IEEE Trans. Circuits Syst. I Reg. Pap. 57(6), 1326–1337 (2010)

    Article  MathSciNet  Google Scholar 

  24. S.M. Kuo, B.H. Lee, Real-time digital signal processing (Wiley, New York, 2001)

    Book  Google Scholar 

  25. M.C. Lang, Least-squares design of IIR filters with prescribed magnitude and phase responses and a pole radius constraint. IEEE Trans. Signal Process. 48(11), 3109–3121 (2000)

    Article  Google Scholar 

  26. C.M. Lo, A.A. Sawchuk, Nonlinear restoration of filtered images with Poisson noise. Proc. SPIE 207, 84–95 (1979)

    Article  Google Scholar 

  27. F. Luisier, T. Blu, M. Unser, Image denoising in mixed Poisson–Gaussian noise. IEEE Trans. Image Process. 20(3), 696–708 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  28. M. Mäkitalo, A. Foi, Optimal inversion of the Anscombe transformation in low-count Poisson image denoising. IEEE Trans. Image Process. 20(1), 99–109 (2011)

    Article  MathSciNet  MATH  Google Scholar 

  29. M. Mäkitalo, A. Foi, Optimal inversion of the generalized Anscombe transformation for Poisson–Gaussian noise. IEEE Trans. Image Process. 22(1), 91–103 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  30. S. Mishra, P.D. Swami, Spatio-temporal video denoising by block-based motion detection. Int. J. Eng. Trends Technol. 4(8), 3371–3382 (2013)

    Google Scholar 

  31. M. Moradi, S.S. Mahdavi, E. Dehghan, J.R. Lobo, S. Deshmukh, W.J. Morris, G. Fichtinger, S.E. Salcudean, Seed localization in ultrasound and registration to C-arm fluoroscopy using matched needle tracks for prostate brachy therapy. IEEE Trans. Biomed. Eng. 59(9), 2558–2567 (2012)

    Article  Google Scholar 

  32. R.B. Paranjape, Fundamental enhanced techniques, in Handbook of Medical Imaging, ed. by I.N. Bankman (Academic Press, London, 2000)

    Google Scholar 

  33. T.W. Parks, C.S. Burrus, Digital Filter Design (Wiley, New York, 1987), pp. 226–228

    MATH  Google Scholar 

  34. J.G. Proakis, D.G. Manolakis, Digital Signal Processing Principles, Algorithms, and Applications, 3rd edn. (Prentice-Hall, Englewood Cliffs, 1996)

    Google Scholar 

  35. G. Steidl, J. Weickert, T. Brox, P. Mrzek, M. Welk, On the equivalence of soft wavelet shrinkage, total variation diffusion, total variation regularization, and sides. SIAM J. Numer. Anal. 42(2), 686–713 (2004)

    Article  MathSciNet  MATH  Google Scholar 

  36. K. Steiglitz, L.E. McBride, A technique for the identification of linear system. IEEE Trans. Autom. Control AC-10, 461–464 (1965)

    Article  Google Scholar 

  37. M.J. Tapiovaara, SNR and noise measurements for medical imaging: II. Application to fluoroscopic X-ray equipment. Phys. Med. Biol. 38(12), 1761–1788 (1993)

    Article  Google Scholar 

  38. M. Tomic, S. Loncaric, D. Sersic, Adaptive spatio-temporal denoising of fluoroscopic X-ray sequences. Biomed. Signal Process. Control 7(2), 173–179 (2012)

    Article  Google Scholar 

  39. G. Varghese, Z. Wang, Video denoising based on a spatiotemporal Gaussian scale mixture model. IEEE Trans. Circuits Syst. Video Technol. 20(7), 1032–1040 (2010)

    Article  Google Scholar 

  40. J. Wang, T.J. Blackburn, The AAPM/RSNA physics tutorial for residents: X-ray image intensifiers for fluoroscopy. Radiographics 20(5), 1471–1477 (2000)

    Article  Google Scholar 

  41. Z. Wang, A.C. Bovik, H.R. Sheikh, E.P. Simoncelli, Image quality assessment: from error visibility to structural similarity. IEEE Trans. Image Process. 13(4), 600–612 (2004)

    Article  Google Scholar 

  42. T. Yamazaki, T. Watanabe, Y. Nakajima, K. Sugamoto, T. Tomita, H. Yoshikawa, S. Tamura, Improvement of depth position in 2-D/3-D registration of knee implants using single-plane fluoroscopy. IEEE Trans. Med. Imaging 23(5), 602–612 (2004)

    Article  Google Scholar 

  43. Y.-L. You, M. Kaveh, Fourth-order partial differential equations for noise removal. IEEE Trans. Image Process. 9(10), 1723–1730 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  44. B. Zhang, J.M. Fadili, J.-L. Starck, Wavelets, ridgelets, and curvelets for Poisson noise removal. IEEE Trans. Image Process. 17(7), 1093–1108 (2008)

    Article  MathSciNet  Google Scholar 

  45. V. Zlokolica, A. Pizurica, W. Philips, Wavelet-domain video denoising based on reliability measures. IEEE Trans. Circuits Syst. Video Technol. 16(8), 993–1007 (2006)

    Article  Google Scholar 

  46. V. Zlokolica, A. Pižurica, W. Philips, S. Schulte, E. Kerre, Fuzzy logic recursive motion detection and denoising of video sequences. J. Electron. Imaging 15(2), 1–13 (2006)

    Article  Google Scholar 

  47. C. Zuo, Y. Liu, X. Tan, W. Wang, M. Zhang, Video denoising based on a spatiotemporal Kalman-bilateral mixture model. Sci. World J. 2013, 438147 (2013)

  48. Video Sequence Database [Online] (2000). https://media.xiph.org/video/derf/. Accessed July 2016

  49. Gurobi Optimizer Reference Manual (2000). www.gurobi.com. Accessed Nov 2014

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to D. Esposito.

Additional information

Publisher's Note

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

Appendix

Appendix

1.1 Derivation of Temporal Threshold

As stated in Sect. 2, p(i, j, n) ~ N[µ(i, j, n), σ2(i, j, n)], where, according to (1), σ2(i, j, n) is a function of µ(i, j, n). In order to identify whether p(i, j, n) belongs to a different moving object we can compare p(i, j, n) with the previous output of the T-filter, pT(i, j, n − 1), which represents the most accurate information about the state of pixels at position (i, j) in previous frames. pT(i, j, n − 1) is a weighted sum of p(i, j, n′), independent of each other, and belongs to the same object; therefore, pT(i, j, n − 1) ~ N(µT(i, j, n − 1), σ 2 T (i, j, n − 1)). The problem of defining whether p(i, j, n) belongs to the same object of pT(i, j, n − 1) is the statistical hypothesis testing problem:

$$ {\mathbf{H}}_{{\mathbf{0}}} :\;\mu \left( {i,j,n} \right) = \mu_{T} \left( {i,j,n - 1} \right) $$
(37)

The problem is solved by defining a threshold TT(i, j, n):

$$ P\left[ {\left| {p(i,j,n) - p_{T} (i,j,n - 1)} \right| > T_{T} (i,j,n)\;\;|\;\;{\mathbf{H}}_{{\mathbf{0}}} } \right] = \alpha $$
(38)

where 1 − α represents the confidence level of the test. The two quantities p(i, j, n) and pT(i, j, n − 1) are independent of each other; therefore, under hypothesis H0 we have:

$$ p\left( {i,j,n} \right) - p_{T} \left( {i,j,n - 1} \right)\; \sim \;N\left[ {0,\;\sigma_{D}^{2} (i,j,n - 1)} \right] $$
(39)

where

$$ \sigma_{D}^{2} (i,j,n - 1) = \sigma^{2} (i,j,n) + \sigma_{T}^{2} (i,j,n - 1) $$
(40)

The variance σ 2 T (i, j, n − 1) of the IIR filter response is computed approximating the filter impulse response with a rectangular window of length M:

$$ p_{T} (i,j,n - 1) = \sum\limits_{k = 1}^{\infty } {h_{m} (k - 1)p^{\prime}(i,j,n - k)} \cong \frac{1}{M}\sum\limits_{k = 1}^{M} {p^{\prime}(i,j,n - k)} $$
(41)

Let us now name m(i, j, n − 1) ∈ [1, M] the number of frames from which the pixel pT(i, j, n − 1) can be considered static (i.e., m(i, j, n − 1) = k in the case in which the last filter reset was at frame n − k). In this hypothesis, we have:

$$ p^{\prime}\left( {i,j,n - k} \right) = \left\{ {\begin{array}{*{20}l} {p(i,j,n - k)} \hfill & {k \le m(i,j,n - 1)} \hfill \\ {p(i,j,n - m(i,j,n - 1))} \hfill & {k > m(i,j,n - 1)} \hfill \\ \end{array} } \right. $$
(42)

In (42) p(i, j, n − k) are independent of each other. In addition, under hypothesis H0, p(i, j, n − k) ~ N(µ(i, j, n), σ2(i, j, n)). From (41), (42) we obtain:

$$ \sigma_{T}^{2} (i,j,n - 1) = \sigma^{2} (i,j,n) \cdot \left( {\frac{{m(i,j,n - 1)^{2} }}{{M^{2} }} - \frac{m(i,j,n - 1)}{M}\left( {2 + \frac{1}{M}} \right) + \left( {1 + \frac{2}{M}} \right)} \right) $$
(43)

Substituting (43) into (40) we have:

$$ \sigma_{D}^{2} (i,j,n - 1) = \sigma^{2} (i,j,n) \cdot g\left( {m(i,j,n - 1)} \right) $$
(44)
$$ g\left( m \right) = \frac{{m^{2} }}{{M^{2} }} - \frac{m}{M}\left( {2 + \frac{1}{M}} \right) + \left( {2 + \frac{2}{M}} \right) $$
(45)

From (39), the solution of (38) is:

$$ T_{T} (i,j,n) = \text{CDF}_{N}^{ - 1} \left( {1 - \frac{\alpha }{2}} \right) \cdot \sqrt {\sigma^{2} (i,j,n) \cdot g\left( {m(i,j,n - 1)} \right)} $$
(46)

where CDF −1N (p) is the inverse normal cumulative distribution function.

1.2 Derivation of Spatial Threshold

By following the same approach used for T-filters, the generic pixel pT(i′, j′, n) is considered in the mean operation only if we statistically infer that the pixel belongs to the same object of pixel pT(i, j, n). We therefore impose another statistical hypothesis testing problem:

$$ {\mathbf{H}}_{{\mathbf{0}}} :\;\;\;\mu_{T} \left( {i^{\prime},j^{\prime},n} \right) = \mu_{T} \left( {i,j,n} \right) $$
(47)

The problem is solved defining a threshold TS(i, j, i′, j′, n):

$$ P\left[ {\left| {p_{T} (i^{\prime},j^{\prime},n) - p_{T} (i,j,n)} \right| > T_{S} (i,j,i^{\prime},j^{\prime},n)\;\;|\;\;{\mathbf{H}}_{{\mathbf{0}}} } \right] = \alpha $$
(48)

Note that, according to (48), the threshold TS is a function not only of (i, j), but also of (i′, j′). The variance of variable pT(i, j, n) − pT(i′, j′, n), in fact, depends on the variance of both pT(i, j, n) and pT(i′, j′, n), and these variances depend on m(i, j, n) and m(i′, j′, n), respectively (see (43)). However, with the help of a large number of simulations, we have verified that it is possible to use the same threshold for all pixels pT(i′, j′, n) considered by S-filter(i, j) by assuming σ 2 T (i′, j′, n) = σ 2 T (i, j, n). We will therefore use a threshold TS(i, j, n) defined as:

$$ T_{S} \left( {i,j,n} \right) \triangleq \;\left. {T_{S} \left( {i,j,i^{\prime},j^{\prime},n} \right)} \right|_{{\sigma_{T}^{2} \left( {i^{\prime},j^{\prime},n} \right) = \sigma_{T}^{2} \left( {i,j,n} \right)}} $$
(49)

In this case, we have:

$$ T_{S} \left( {i,j,n} \right) = {\text{CDF}}_{\text{N}}^{ - 1} \left( {1 - \frac{\alpha }{2}} \right) \cdot \sqrt {2 \cdot \sigma_{T}^{2} \left( {i,j,n)} \right)} $$
(50)

where σ 2 T (i, j, n) is given by (43). By considering also (44) and (40), we also have:

$$ T_{S} \left( {i,j,n} \right) = {\text{CDF}}_{\text{N}}^{ - 1} \left( {1 - \frac{\alpha }{2}} \right) \cdot \sqrt {2 \cdot \sigma^{2} (i,j,n) \cdot \left( {g\left( {m(i,j,n)} \right) - 1} \right)} . $$
(51)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Castellano, G., De Caro, D., Esposito, D. et al. An FPGA-Oriented Algorithm for Real-Time Filtering of Poisson Noise in Video Streams, with Application to X-Ray Fluoroscopy. Circuits Syst Signal Process 38, 3269–3294 (2019). https://doi.org/10.1007/s00034-018-01020-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00034-018-01020-x

Keywords

Navigation