An Architecture for Asymmetric Numeral Systems Entropy Decoder - A Comparison with a Canonical Huffman Decoder

Abstract

This paper proposes two decoder hardware architectures for the tabled asymmetric numeral systems (tANS) compression algorithm, a software implementation of which is used by Apple and Facebook due to its efficiency. To the best of our knowledge, hardware architectures for the highly efficient tANs algorithm are investigated by the authors so far uniquely. The tANS decoder hardware architectures have been compared to a novel Huffman decoder hardware architecture because the Huffman coding is known as one of the fastest coding techniques in hardware and software. For the proposed architectures, the decoding throughput is highly dependent on the compression ratio of data. Experimental results show that the proposed tANS architecture outperforms the tANS software decoder and can achieve the throughput up to 200MB/s using current FPGA technology. Compared to canonical Huffman decoder the proposed hardware architecture provides up to four times higher decoding throughput.

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

Figure 1
Figure 2
Figure 3
Figure 4
Figure 5
Figure 6
Figure 7
Figure 8
Figure 9
Figure 10

References

  1. 1.

    Witten, I. H., Moffat, A., Bell, T. C. (1999). Managing gigabytes: compressing and indexing documents and images. Morgan Kaufmann.

  2. 2.

    Duda, J., Tahboub, K., Gadgil, N. J., Delp, E. J. (2015). The use of asymmetric numeral systems as an accurate replacement for huffman coding. In 31st picture coding symposium.

  3. 3.

    Mahapatra, S., & Singh, K. (2007). An fpga-based implementation of multi-alphabet arithmetic coding. IEEE Transactions on Circuits and Systems I: Regular Papers, 54(8), 1678–1686.

    Article  Google Scholar 

  4. 4.

    Said, A. (2004). Comparative analysis of arithmetic coding computational complexity. In Proceedings of data compression conference, 2004. DCC 2004 (p. 562).

  5. 5.

    Supol, J., & Melichar, B. (2004). Arithmetic coding in parallel. In Stringology. Department of Computer Science and Engineering, Faculty of electrical engineering, Czech Technical University.

  6. 6.

    Lee, H. -Y., Lan, L. -S., Hwa Sheu, M., Wu, C. -H. (1996). A parallel architecture for arithmetic coding and its vlsi implementation. In IEEE 39th midwest symposium on circuits and systems, 1996 (Vol. 3, pp. 1309–1312).

  7. 7.

    Rigler, S., Bishop, W., Kennings, A. (2007). Fpga-based lossless data compression using huffman and lz77 algorithms. In 2007 Canadian conference on electrical and computer engineering (pp. 1235–1238).

  8. 8.

    Bonny, T., & Henkel, J. (2007). Efficient code density through look-up table compression. In 2007 Design, automation test in europe conference exhibition (pp. 1–6).

  9. 9.

    Aspar, Z., Yusof, Z. M., Suleiman, I. (2000). Parallel huffman decoder with an optimized look up table option on fpga. In 2000 TENCON proceedings of intelligent systems and technologies for the new millennium (Cat. no. 00CH37119) (Vol. 1, pp. 73–76).

  10. 10.

    Duda, J. (2009). Asymmetric numeral systems. arXiv:0902.0271.

  11. 11.

    Duda, J. (2014). Asymmetric numeral systems: entropy coding combining speed of huffman coding with compression rate of arithmetic coding. arXiv:1311.2540.

  12. 12.

    Collet, Y. https://github.com/Cyan4973/FiniteStateEntropy.

  13. 13.

    Collet, Y., & Turner, C. (2016). Smaller and faster data compression with zstandard. [Online]. Available: https://code.facebook.com/posts/1658392934479273/smaller-and-faster-data-compression-with-zstandard/.

  14. 14.

    Bainville, E. Lzfse. [Online]. Available: https://developer.apple.com/reference/compression/data_compression.

  15. 15.

    Najmabadi, S. M., Offenhäuser, P., Hamann, M., Jajnabalkya, G., Hempert, F., Glass, C. W., Simon, S. (2017). Analyzing the effect and performance of lossy compression on aeroacoustic simulation of gas injector. Computation, 5, 2.

    Article  Google Scholar 

  16. 16.

    Najmabadi, S. M., Wang, Z., Baroud, Y., Simon, S. (2015). High throughput hardware architectures for asymmetric numeral systems entropy coding. In 2015 9th international symposium on image and signal processing and analysis (ISPA) (pp. 256– 259).

  17. 17.

    Najmabadi, S. M., Tungal, H. S., Tran, T., Simon, S. (2017). Hardware-based architecture for asymmetric numeral systems entropy decoder. In 2017 conference on design and architectures for signal and image processing, DASIP 2017 (pp. 1–6). Dresden, Germany.

  18. 18.

    Yusof, Z. M., Aspar, Z., Suleiman, I. (2000). Field programmable gate array (fpga) based baseline jpeg decoder. In TENCON 2000. Proceedings (Vol. 3, pp. 218–220). IEEE.

  19. 19.

    Nekritch, Y. (2000). Byte-oriented decoding of canonical huffman codes. In 2000 Proceedings of IEEE international symposium on information theory (p. 371). IEEE.

  20. 20.

    Buro, M. (1993). On the maximum length of huffman codes. Information Processing Letters, 45, 219–223.

    MathSciNet  Article  MATH  Google Scholar 

  21. 21.

    Fowers, J., Brown, G., Cooke, P., Stitt, G. (2012). A performance and energy comparison of fpgas, gpus, and multicores for sliding-window applications. In Proceedings of the ACM/SIGDA international symposium on field programmable gate arrays (pp. 47–56). ACM.

  22. 22.

    Abdelfattah, M. S., Hagiescu, A., Singh, D. (2014). Gzip on a chip: High performance lossless data compression on fpgas using opencl. In Proceedings of the international workshop on openCL 2013 & 2014 (p. 4). AC.

Download references

Acknowledgment

The authors would like to thank the German Research Foundation (DFG) and the SimTech Cluster of the University of Stuttgart for the financial support of this project PN 2-6.

Author information

Affiliations

Authors

Corresponding author

Correspondence to Seyyed Mahdi Najmabadi.

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

Verify currency and authenticity via CrossMark

Cite this article

Najmabadi, S.M., Tran, T., Eissa, S. et al. An Architecture for Asymmetric Numeral Systems Entropy Decoder - A Comparison with a Canonical Huffman Decoder. J Sign Process Syst 91, 805–817 (2019). https://doi.org/10.1007/s11265-018-1421-4

Download citation

Keywords

  • Data compression
  • Reconfigurable hardware architecture
  • Asymmetric numeral systems
  • Canonical huffman decoder