Low GPU Occupancy Approach to Fast Arithmetic Coding in JPEG2000

  • Jiří Matela
  • Martin Šrom
  • Petr Holub
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7119)


Arithmetic coding, and especially adaptive MQ-Coding of JPEG2000, is a serial process, which does not match specifics of GPUs as massively parallel processors well. In this paper we study and evaluate several approaches to acceleration of the MQ-Coding using commodity GPU hardware, including our proposal of a new enhanced renormalization procedure. We conclude with a “low occupancy approach” and 5.6–16× average speedup when compared to the state of the art multi-threaded CPU implementations.


Discrete Wavelet Transform Lookup Table JPEG2000 Compression Thread Block Arithmetic Code 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Taubman, D.S., Marcellin, M.W.: JPEG2000: Image Compression Fundamentals, Standards, and Practice. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  2. 2.
    ISO/IEC 15444-1: JPEG2000 image coding system—part 1: Core coding system (2004)Google Scholar
  3. 3.
    Daubechies, I., Sweldens, W.: Factoring wavelet transforms into lifting steps. J. Fourier Anal. Appl. 4, 247–269 (1998)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Marcellin, M.W., Lepley, M.A., Bilgin, A., Flohr, T.J., Chinen, T.T., Kasner, J.H.: An overview of quantization in JPEG2000. Signal Processing: Image Communication 17(1), 73–84 (2002)Google Scholar
  5. 5.
    Taubman, D.: High performance scalable image compression with EBCOT. IEEE Trans. Image Process. 9(7), 1158–1170 (2000)CrossRefGoogle Scholar
  6. 6.
    Rabbani, M., Joshi, R.: An overview of the JPEG2000 still image compression standard. Signal Processing: Image Communication 17(1), 3–48 (2002)Google Scholar
  7. 7.
    Lian, C.J., Chen, K.F., Chen, H.H., Chen, L.G.: Analysis and architecture design of block-coding engine for EBCOT in JPEG2000. IEEE Trans. Circuits Syst. Video Technol. 13(3), 219–230 (2003)CrossRefGoogle Scholar
  8. 8.
    Matela, J., Rusňák, V., Holub, P.: GPU-based sample-parallel context modeling for EBCOT in JPEG2000. In: MEMICS 2010 – Selected Papers. OpenAccess Series in Informatics (OASIcs), vol. 16, pp. 77–84. Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl (2011)Google Scholar
  9. 9.
    NVIDIA: NVIDIA CUDA C Programming Guide 4.0. NVIDIA (2011)Google Scholar
  10. 10.
    Le, R., Bahar, I.R., Mundy, J.L.: A novel parallel Tier-1 coder for JPEG2000 using GPUs. In: IEEE SASP 2011, pp. 129–136 (2011)Google Scholar
  11. 11.
    Matela, J., Rusňák, V., Holub, P.: Efficient JPEG2000 EBCOT Context Modeling for Massively Parallel Architectures. In: Data Compression Conference (DCC 2011), Snowbird, USA, pp. 423–432 (2011)Google Scholar
  12. 12.
    Weiß, A., Heide, M., Papandreou, S., Fürst, N., Balevic, A.: CUJ2K: a JPEG2000 encoder in CUDA. Technical report, IPVS, Universität Stuttgart (2009)Google Scholar
  13. 13.
    Min, B., Yoon, S., Ra, J., Park, D.S.: Enhanced renormalization algorithm in MQ-coder of JPEG2000. In: IEEE ISITC 2007, pp. 213–216 (2007)Google Scholar
  14. 14.
    Dyer, M., Taubman, D., Nooshabadi, S., Gupta, A.: Concurrency techniques for arithmetic coding in JPEG2000. IEEE Trans. Circuits Syst. I 53(6), 1203–1213 (2006)CrossRefGoogle Scholar
  15. 15.
    Liu, K., Zhou, Y., Song Li, Y., Ma, J.F.: A high performance MQ encoder architecture in JPEG2000. Integration, the VLSI Journal 43(3), 305–317 (2010)CrossRefGoogle Scholar
  16. 16.
    Rhu, M., Member, S., Park, I.C., Member, S.: Optimization of Arithmetic Coding for JPEG2000. IEEE Transactions on Circuits and Systems 20(3), 446–451 (2010)Google Scholar
  17. 17.
    NVIDIA: NVIDIA’s Next Generation CUDA Compute Architecture: Fermi. NVIDIA (2009)Google Scholar
  18. 18.
    Acharya, T., Tsai, P.S.: JPEG2000 Standard for Image Compression: Concepts, algorithms and VLSI architectures. Wiley Interscience, New York (2004)CrossRefGoogle Scholar
  19. 19.
    Christopoulos, C., Skodras, A., Ebrahimi, T.: The JPEG2000 still image coding system: An overview. IEEE Trans. Consum. Electron. 46(4), 1103–1127 (2000)CrossRefGoogle Scholar
  20. 20.
    DCI: Digital Cinema System Specification v. 1.2, (2008)
  21. 21.
    Balevic, A.: Parallel Variable-Length Encoding on GPGPUs. In: Lin, H.-X., Alexander, M., Forsell, M., Knüpfer, A., Prodan, R., Sousa, L., Streit, A. (eds.) Euro-Par 2009. LNCS, vol. 6043, pp. 26–35. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  22. 22.
    Feygin, G., Gulak, P., Chow, P.: Architectural advances in the VLSI implementation of arithmetic coding for binary image compression. In: DCC 1994, pp. 254–263 (1994)Google Scholar
  23. 23.
    Volkov, V.: Better Performance at Lower Occupancy. In: GPU Technology Conference (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Jiří Matela
  • Martin Šrom
  • Petr Holub
    • 1
  1. 1.CESNET z.s.p.o.PragueCzech Republic

Personalised recommendations