Advertisement

Light Loss-Less Data Compression, with GPU Implementation

  • Shunji Funasaka
  • Koji NakanoEmail author
  • Yasuaki Ito
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10048)

Abstract

There is no doubt that data compression is very important in computer engineering. However, most lossless data compression and decompression algorithms are very hard to parallelize, because they use dictionaries updated sequentially. The main contribution of this paper is to present a new lossless data compression method that we call Light Loss-Less (LLL) compression. It is designed so that decompression can be highly parallelized and run very efficiently on the GPU. This makes sense for many applications in which compressed data is read and decompressed many times and decompression performed more frequently than compression. We show optimal sequential and parallel algorithms for LLL decompression and implement them to run on Core i7-4790 CPU and GeForce GTX 1080 GPU, respectively. To show the potentiality of LLL compression method, we have evaluated the running time using five images and compared with well-known compression methods LZW and LZSS. Our GPU implementation of LLL decompression runs 91.1–176 times faster than the CPU implementation. Also, the running time on the GPU of our experiments show that LLL decompression is 2.49–9.13 times faster than LZW decompression and 4.30–14.1 times faster that LZSS decompression, although their compression ratios are comparable.

Keywords

Data compression Parallel algorithms GPGPU 

References

  1. 1.
    Adobe Developers Association: TIFF Revision 6.0, http://partners.adobe.com/public/developer/en/tiff/TIFF6.pdf
  2. 2.
    Funasaka, S., Nakano, K., Ito, Y.: Fast LZW compression using a GPU. In: Proceedings of International Symposium on Computing and Networking, pp. 303–308, December 2015Google Scholar
  3. 3.
    Funasaka, S., Nakano, K., Ito, Y.: A parallel algorithm for LZW decompression, with GPU implementation. In: Wyrzykowski, R., Deelman, E., Dongarra, J., Karczewski, K., Kitowski, J., Wiatr, K. (eds.) PPAM 2015. LNCS, vol. 9573, pp. 228–237. Springer, Heidelberg (2016). doi: 10.1007/978-3-319-32149-3_22 CrossRefGoogle Scholar
  4. 4.
    Gibbons, A., Rytter, W.: Efficient Parallel Algorithms. Cambridge University Press, Cambridge (1988)Google Scholar
  5. 5.
    Harris, M., Sengupta, S., Owens, J.D.: Chapter 39. Parallel prefix sum (scan) with CUDA. In: GPU Gems 3. Addison-Wesley (2007)Google Scholar
  6. 6.
    Hwu, W.W.: GPU Computing Gems Emerald Edition. Morgan Kaufmann (2011)Google Scholar
  7. 7.
    Kasagi, A., Nakano, K., Ito, Y.: Parallel algorithms for the summed area table on the asynchronous hierarchical memory machine, with GPU implementations. In: Proceedings of International Conference on Parallel Processing (ICPP), pp. 251–250, September 2014Google Scholar
  8. 8.
    Klein, S.T., Wiseman, Y.: Parallel lempel ziv coding. Discrete Appl. Math. 146, 180–191 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Lok, U.W., Fan, G.W., Li, P.C.: Lossless compression with parallel decoder for improving performance of a GPU-based beamformer. In: Proceedings of International Ultrasonics Symposium, pp. 561–564, July 2014Google Scholar
  10. 10.
    Man, D., Uda, K., Ueyama, H., Ito, Y., Nakano, K.: Implementations of a parallel algorithm for computing Euclidean distance map in multicore processors and GPUs. Int. J. Netw. Comput. 1(2), 260–276 (2011)Google Scholar
  11. 11.
    Nishida, K., Ito, Y., Nakano, K.: Accelerating the dynamic programming for the matrix chain product on the GPU. In: Proceedings of International Conference on Networking and Computing, pp. 320–326, December 2011Google Scholar
  12. 12.
    Corporation, N.: NVIDIA CUDA C programming guide version 7.0., March 2015Google Scholar
  13. 13.
    Ozsoy, A., Swany, M.: Culzss: Lzss lossless data compression on cuda. In: Proceedings of International Conference on Cluster Computing, pp. 403–41, September 2011Google Scholar
  14. 14.
    Patel, R.A., Zhang, Y., Mak, J., Davidson, A.: Parallel lossless data compression on the GPU. In: Proceedings of Innovative Parallel Computing (InPar), pp. 1–9, May 2012Google Scholar
  15. 15.
    Sayood, K.: Introduction to Data Compression, 4th edn. Morgan Kaufmann (2012)Google Scholar
  16. 16.
    Storer, J.A., Szymanski, T.G.: Data compression via textual substitution. J. ACM 29(4), 928–951 (1982)MathSciNetCrossRefzbMATHGoogle Scholar
  17. 17.
    Welch, T.: High speed data compression and decompression apparatus and method. US patent 4558302, December 1985Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.Department of Information EngineeringHiroshima UniversityHigashihiroshimaJapan

Personalised recommendations