Skip to main content
Log in

A novel pipelined architecture of entropy filter

  • Research
  • Published:
Journal of Real-Time Image Processing Aims and scope Submit manuscript

Abstract

In computer vision, entropy is a measure adopted to characterize the texture information of a grayscale image, and an entropy filter is a fundamental operation used to calculate local entropy. However, this filter is computationally intensive and demands an efficient means of implementation. Additionally, with the foreseeable end of Moore’s law, there is a growing trend towards hardware offloading to increase computing power. In line with this trend, we propose a novel method for the calculation of local entropy and introduce a corresponding pipelined architecture. Under the proposed method, a sliding window of pixels undergoes three steps: sorting, adjacent difference calculation, and pipelined entropy calculation. Compared with a conventional design, implementation results on a Zynq UltraScale+ XCZU7EV-2FFVC1156 MPSoC device demonstrate that our pipelined architecture can reach a maximum throughput of handling 764.526 megapixels per second while achieving \(2.4\times\) and \(2.9\times\) reductions in resource utilization and \(1.1\times\) reduction in power consumption.

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

Access this article

Subscribe and save

Springer+
from €37.37 /Month
  • Starting from 10 chapters or articles per month
  • Access and download chapters and articles from more than 300k books and 2,500 journals
  • Cancel anytime
View plans

Buy Now

Price includes VAT (Netherlands)

Instant access to the full article PDF.

Fig. 1
The alternative text for this image may have been generated using AI.
Fig. 2
The alternative text for this image may have been generated using AI.
Fig. 3
The alternative text for this image may have been generated using AI.
Fig. 4
The alternative text for this image may have been generated using AI.
Fig. 5
The alternative text for this image may have been generated using AI.

Similar content being viewed by others

Data Availability

No datasets were generated or analysed during the current study.

References

  1. (2006) IEEE standard for verilog hardware description language. IEEE Std 1364-2005 (Revision of IEEE Std 1374-2001), pp. 1–590. https://doi.org/10.1109/IEEESTD.2006.99495

  2. Ahuja, D., Fang, I.T., Jiang, B., Sharma, A.: Inventors; Qualcomm Inc, assignee. Entropy based image separation. US patent US20120075440A1 (2012)

  3. Beckmann, B.M., Wood, D.A. Managing Wire Delay in Large Chip-Multiprocessor Caches. In: Proceedings of the 37th International Symposium on Microarchitecture (MICRO-37’04), pp. 319–330 (2004). https://doi.org/10.1109/MICRO.2004.21

  4. Chen, W.T., Chen, P.Y., Hsiao, Y.C., Lin, S.H.: A low-cost design of 2D median filter. IEEE Access 7, 150623–150629 (2019). https://doi.org/10.1109/ACCESS.2019.2948020

    Article  Google Scholar 

  5. Chen, C., da Silva, B., Chen, R., Li, S., Li, J., Liu, C.: Evaluation of fast sample entropy algorithms on fpgas: from performance to energy efficiency. Entropy 24, 1177 (2022). https://doi.org/10.3390/e24091177

    Article  MathSciNet  Google Scholar 

  6. Choi, L.K., You, J., Bovik, A.C.: Referenceless prediction of perceptual fog density and perceptual image defogging. IEEE Trans. Image Process. 24(11), 3888–3901 (2015). https://doi.org/10.1109/TIP.2015.2456502

    Article  MathSciNet  Google Scholar 

  7. Crandall, R.E., Klivington, J.A., Merwe, R.vd. inventors; Apple Inc, assignee. Automatic Image Sharpening. US patent US20130084019A1 (2013)

  8. Fahmy, S.A., Cheung, P.Y.K., Luk, W.: Novel FPGA-based implementation of median and weighted median filters for image processing. In: Proceedings of the International Conference on Field Programmable Logic and Applications, pp. 142–147 (2005). https://doi.org/10.1109/FPL.2005.1515713

  9. ISO (2008) Quantities and units—Part 13: Information science and technology (IEC 80000-13:2008). https://www.iso.org/standard/31898.html. Accessed 31 July 2023

  10. Kang, U.J., Kang, B.: Salient Object Detection (SOD) Algorithm based on Bayes Classifier. J. Korean Inst. Inf. Technol. 20(8), 91–97 (2022). https://doi.org/10.14801/jkiit.2022.20.8.91

    Article  Google Scholar 

  11. Knuth, D.E.: Networks for sorting. In: The Art of Computer Programming, pp. 219–247. Addison-Wesley, Boston (1998)

    Google Scholar 

  12. Kwan, E., Nunez-Yanez, J.: Entropy-driven adaptive filtering for high-accuracy and resource-efficient fpga-based neural network systems. Electronics 9, 1765 (2020). https://doi.org/10.3390/electronics9111765

    Article  Google Scholar 

  13. Lai, Y.K., Wellem, T., You, H.P.: Hardware-assisted estimation of entropy norm for high-speed network traffic. Electron. Lett. 50(24), 1845–1847 (2014). https://doi.org/10.1049/el.2014.2377

    Article  Google Scholar 

  14. Lakshmi, K.R., Padmaja, M.: Efficient and enhanced high throughput image denoising using chronical fuzzy set. In: Proceedings of the 4th International Conference on Electronics, Communication and Aerospace Technology (ICECA), pp. 924–930 (2020). https://doi.org/10.1109/ICECA49313.2020.9297429

  15. Netronome: Agilio CX 2x40Gbe (2017). https://www.netronome.com/products/agilio-cx/. Accessed 31 July 2023

  16. Ngo, D., Lee, S., Lee, G., Kang, B.: Single-image visibility restoration: a machine learning approach and its 4k-capable hardware accelerator. Sensors 20, 5795 (2020). https://doi.org/10.3390/s20205795

    Article  Google Scholar 

  17. Pooya, S.A., Farhad, R.: A novel median based image impulse noise suppression system using spiking neurons on FPGA. Comput. Methods Biomech. Biomed. Eng. Imaging Vis. 8(6), 631–640 (2020). https://doi.org/10.1080/21681163.2020.1777464

    Article  Google Scholar 

  18. Sim, H., Kang, B.: Hardware architecture for entropy filter implementation. J. IKEEE 26(2), 226–231 (2022). https://doi.org/10.7471/ikeee.2022.26.2.226

    Article  Google Scholar 

  19. Soto, J.E., Ubisse, P., Hernández, C., Figueroa, M.: A hardware accelerator for entropy estimation using the top-k most frequent elements. In: Proceedings of the 2020 23rd Euromicro Conference on Digital System Design (DSD), pp. 141–148 (2020). https://doi.org/10.1109/DSD51259.2020.00032

  20. Subramaniam, J., Kannan, R.J., Ebenezer, D.: Parallel and pipelined 2-D median filter architecture. IEEE Embed. Syst. Lett. 10(3), 69–72 (2018). https://doi.org/10.1109/LES.2017.2771453

    Article  Google Scholar 

  21. Wellem, T., Lai, Y.K., Huang, C.Y., Chung, W.Y.: A flexible sketch-based network traffic monitoring infrastructure. IEEE Access 7, 92476–92498 (2019). https://doi.org/10.1109/ACCESS.2019.2927863

    Article  Google Scholar 

  22. Xilinx: Zynq UltraScale+ MPSoC data sheet: overview (2022). https://docs.xilinx.com/v/u/en-US/ds891-zynq-ultrascale-plus-overview. Accessed 1 Aug 2023

Download references

Acknowledgements

This work was supported by the National Research Foundation of Korea (NRF) grant funded by the Korea government (MSIT) (NRF-2023R1A2C1004592).

Author information

Authors and Affiliations

Authors

Contributions

BK conceptualized and supervised this study. DN wrote the software and the original manuscript. All authors reviewed the manuscript.

Corresponding author

Correspondence to Bongsoon Kang.

Ethics declarations

Conflict of interest

The authors declare that they have no Conflict of interest.

Additional information

Publisher's Note

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

Appendix: conventional hardware architecture

Appendix: conventional hardware architecture

Figure 6 illustrates the block diagram of the conventional hardware architecture for the entropy filter. The design is based on the sliding mechanism (described in Sect. 4.2) and the cumulative histogram [8].

Given n, representing a set of discrete intensities assigned to a pixel, this conventional design requires n registers, corresponding to \(\textrm{Bin}\ 0,\ \textrm{Bin}\ 1,\ \ldots ,\ \textrm{Bin}\ (n-1)\) in Fig. 6, to store the number of occurrences of each pixel intensity. Each bin can increase or decrease by a specific amount based on whether the associated pixel intensity is about to enter or leave the sliding window. As shown in Fig. 6, when the window moves to an adjacent location, it will exclude pixels in the red column from its coverage while including pixels in the blue column. To handle these two groups of pixels, the conventional design utilizes register banks, as shown Fig. 6.

The next block determines the quantity to increase or decrease each histogram bin according to input pixel intensities. To implement this block, [18] proposed using barrel shifters, which were more memory-efficient than ROMs in [8]. Specifically, a barrel shifter decodes a \(\lceil \textrm{log}n\rceil\)-bit input into an n-bit signal, with each bit indicating an increment or decrement of a bin associated with the input intensity. For example, an 8-bit input of \(11111110_2\) (\(=254_{10}\)) causes the barrel shifter to produce a 256-bit output of \(4000\ldots 00_{16}\), signifying an increment or decrement of \(\textrm{Bin}\ 254\). Table 3 demonstrates the input–output relationship of the barrel shifter.

Fig. 6
Fig. 6The alternative text for this image may have been generated using AI.
Full size image

Block diagram of the conventional hardware architecture. We illustrate the sliding mechanism using a \(3\times 3\) window

Fig. 7
Fig. 7The alternative text for this image may have been generated using AI.
Full size image

Block diagram of the barrel shifter. Input and output are \(\lceil \textrm{log}n\rceil\)-bit and n-bit data, respectively. We adopt the square bracket to access individual bits of the input

Given an \(S\times S\) window, S pixels are about to leave, and another S pixels are about to enter the window’s coverage every time the window slides. Accordingly, the conventional design requires 2S barrel shifters (details of the barrel shifter are available in Fig. 7). Half of these shifters signify bin decrease events (BDEs), and the other half signifies bin increase events (BIEs). The conventional design then converts every bit of BDE outputs to two’s complement representation and performs negation. Meanwhile, it solely converts every bit of BIE outputs to two’s complement representation. Afterward, it adds these negative and positive two’s complement numbers together using n adder trees to determine the quantity for increasing or decreasing each histogram bin.

Table 3 Input–output relationship of the barrel shifter

After updating histogram bins, the final block is to calculate the summation in (1). In this block, [18] utilized n LUTs to calculate summation terms corresponding to n bins. The content of each LUT is identical to that of the LUT described in Sect. 4.3. The outputs of these LUTs then undergo a large adder tree to compute the entropy value.

From the above description, it becomes evident that the conventional design is resource-consuming because it requires n registers for histogram bins and substantial quantities of resources for the resultant adder trees. Moreover, its space complexity is dependent on n and thus increases exponentially with n. Hence, it is inefficient compared to our proposed hardware architecture.

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ngo, D., Kang, B. A novel pipelined architecture of entropy filter. J Real-Time Image Proc 21, 118 (2024). https://doi.org/10.1007/s11554-024-01498-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Version of record:

  • DOI: https://doi.org/10.1007/s11554-024-01498-6

Keywords

Profiles

  1. Bongsoon Kang