11 September 2012 Parallel design of JPEG-LS encoder on graphics processing units
Author Affiliations +
Abstract
With recent technical advances in graphic processing units (GPUs), GPUs have outperformed CPUs in terms of compute capability and memory bandwidth. Many successful GPU applications to high performance computing have been reported. JPEG-LS is an ISO/IEC standard for lossless image compression which utilizes adaptive context modeling and run-length coding to improve compression ratio. However, adaptive context modeling causes data dependency among adjacent pixels and the run-length coding has to be performed in a sequential way. Hence, using JPEG-LS to compress large-volume hyperspectral image data is quite time-consuming. We implement an efficient parallel JPEG-LS encoder for lossless hyperspectral compression on a NVIDIA GPU using the computer unified device architecture (CUDA) programming technology. We use the block parallel strategy, as well as such CUDA techniques as coalesced global memory access, parallel prefix sum, and asynchronous data transfer. We also show the relation between GPU speedup and AVIRIS block size, as well as the relation between compression ratio and AVIRIS block size. When AVIRIS images are divided into blocks, each with 64×64 pixels, we gain the best GPU performance with 26.3x speedup over its original CPU code.
© 2012 Society of Photo-Optical Instrumentation Engineers (SPIE)
Hao Duan, Hao Duan, Yong Fang, Yong Fang, Bormin Huang, Bormin Huang, } "Parallel design of JPEG-LS encoder on graphics processing units," Journal of Applied Remote Sensing 6(1), 061508 (11 September 2012). https://doi.org/10.1117/1.JRS.6.061508 . Submission:
JOURNAL ARTICLE
13 PAGES


SHARE
RELATED CONTENT

Accelerating arithmetic coding on a graphic processing unit
Proceedings of SPIE (November 01 2011)
Compressed-domain reverse play of MPEG video streams
Proceedings of SPIE (January 21 1999)
GPU implementation of JPEG XR
Proceedings of SPIE (January 18 2010)

Back to Top