11 September 2012 Parallel design of JPEG-LS encoder on graphics processing units
Author Affiliations +
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, Yong Fang, 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:

Back to Top