GPU Implementation of JPEG2000 for Hyperspectral Image Compression
Total Page:16
File Type:pdf, Size:1020Kb
GPU Implementation of JPEG2000 for Hyperspectral Image Compression Milosz Ciznickia, Krzysztof Kurowskia and bAntonio Plaza aPoznan Supercomputing and Networking Center Noskowskiego 10, 61-704 Poznan, Poland. bHyperspectral Computing Laboratory, Department of Technology of Computers and Communications, University of Extremadura, Avda. de la Universidad s/n. 10071 C´aceres, Spain ABSTRACT Hyperspectral image compression has received considerable interest in recent years due to the enormous data volumes collected by imaging spectrometers for Earth Observation. JPEG2000 is an important technique for data compression which has been successfully used in the context of hyperspectral image compression, either in lossless and lossy fashion. Due to the increasing spatial, spectral and temporal resolution of remotely sensed hyperspectral data sets, fast (onboard) compression of hyperspectral data is becoming a very important and challenging objective, with the potential to reduce the limitations in the downlink connection between the Earth Observation platform and the receiving ground stations on Earth. For this purpose, implementation of hyperspectral image compression algorithms on specialized hardware devices are currently being investigated. In this paper, we develop an implementation of the JPEG2000 compression standard in commodity graphics processing units (GPUs). These hardware accelerators are characterized by their low cost and weight, and can bridge the gap towards on-board processing of remotely sensed hyperspectral data. Specifically, we develop GPU implementations of the lossless and lossy modes of JPEG2000. For the lossy mode, we investigate the utility of the compressed hyperspectral images for different compression ratios, using a standard technique for hyperspectral data exploitation such as spectral unmixing. In all cases, we investigate the speedups that can be gained by using the GPU implementations with regards to the serial implementations. Our study reveals that GPUs represent a source of computational power that is both accessible and applicable to obtaining compression results in valid response times in information extraction applications from remotely sensed hyperspectral imagery. Keywords: Hyperspectral image compression, JPEG2000, commodity graphics processing units (GPUs). 1. INTRODUCTION Hyperspectral imaging instruments are capable of collecting hundreds of images, corresponding to different wavelength channels, for the same area on the surface of the Earth.1 For instance, NASA is continuously gathering imagery data with instruments such as the Jet Propulsion Laboratory’s Airborne Visible-Infrared Imaging Spectrometer (AVIRIS), which is able to record the visible and near-infrared spectrum (wavelength region from 0.4 to 2.5 micrometers) of reflected light in an area 2 to 12 kilometers wide and several kilometers long, using 224 spectral bands.2 One of the main problems in hyperspectral data exploitation is that, during the collection of hyperspectral data, several GBs of multidimensional data volume is generated and set to the ground stations on Earth.3 The downlink connection between the observation stations and receiving ground stations is limited, so different compression methods are employed.4 Up to date, lossless compression techniques are the tool of choice, but the best lossless compression ratio reported in hyperspectral image analysis is around 3:1.4 Due to the increasing spatial, spectral and temporal resolution of remotely sensed hyperspectral data sets, techniques with better Send correspondence to Antonio J. Plaza: E-mail: [email protected]; Telephone: +34 927 257000 (Ext. 51662); URL: http://www.umbc.edu/rssipl/people/aplaza High-Performance Computing in Remote Sensing, edited by Bormin Huang, Antonio J. Plaza, Proc. of SPIE Vol. 8183, 81830H · © 2011 SPIE · CCC code: 0277-786X/11/$18 · doi: 10.1117/12.897386 Proc. of SPIE Vol. 8183 81830H-1 Figure 1. The mixture problem in hyperspectral data analysis. compression ratios are needed and lossy compression becomes a reasonable alternative.5 It turns out that JPEG20006 has been successfully used in the context of hyperspectral image compression, either in lossless and lossy fashion. Hence, it can be used to evaluate the impact of lossy compression on different techniques for hyperspectral data exploitation. An important issue that has not been widely investigated in the past is the impact of lossy compression on spectral unmixing applications,7 which are the tool of choice in order to deal with the phenomenon of mixed pixels,8 i.e. pixels containing different macroscopically pure spectral substances, as illustrated in Fig. 1. In hyperspectral images, mixed spectral signatures may be collected due to several reasons. First, if the spatial resolution of the sensor is not fine enough to separate different pure signature classes at a macroscopic level, these can jointly occupy a single pixel, and the resulting spectral measurement will be a composite of the individual pure spectra, often called endmembers in hyperspectral analysis terminology.9 Second, mixed pixels can also result when distinct materials are combined into a homogeneous or intimate mixture, and this circumstance occurs independently of the spatial resolution of the sensor.7 Although the unmixing chain maps nicely to high performance computing systems such as commodity clus- ters,10 these systems are difficult to adapt to on-board processing requirements introduced by applications with real-time constraints such as wild land fire tracking, biological threat detection, monitoring of oil spills and other types of chemical contamination. In those cases, low-weight integrated components such as commodity graph- ics processing units (GPUs)11 are essential to reduce mission payload. In this regard, the emergence of GPUs now offers a tremendous potential to bridge the gap towards real-time analysis of remotely sensed hyperspectral data.12–18 In this paper we develop an implementation of the JPEG2000 compression standard in commodity graphics processing units (GPUs) for hyperspectral data exploitation. Specifically, we develop GPU implementations of the lossless and lossy modes of JPEG2000. For the lossy mode, we investigate the utility of the compressed hyperspectral images for different compression ratios, using spectral unmixing as a case study. We also investigate the speedups that can be gained by using the GPU implementations with regards to the serial implementations in both the lossless and lossy modes. The remainder of the paper is organized as follows. Section 2 presents the JPEG2000 compression framework. Section 3 presents its GPU implementation. Section 4 first presents the hyperspectral data sets used for evaluation purposes, then briefly introduces the considered hyperspectral unmixing chain, and finally analyzes the proposed GPU implementation of JPEG2000 in terms of both unmixing accuracy (in the lossy mode) and computational performance (in both modes). Section 5 concludes with some remarks and hints at plausible future research. Proc. of SPIE Vol. 8183 81830H-2 tile i tile codeblock i packet codestream image 4 component header I tile stream components precinct CT1 2D DWTI EBCOT I PCRDopt Iorganization Figure 2. JPEG2000 data partitioning, coding and code-stream organization. Original II1Ia.ge CT appIid CT and 2D-DWT airplird Figure 3. The hybrid scheme for 3D decorrelation. 4 levels for the CT and 2 levels for the ST. 2. OVERVIEW OF JPEG2000 The JPEG2000 standard is divided into several and incremental parts. Part 119 defines the core coding system and two basic image file formats. Part 220 specifies a set of extensions to the core coding system, such as spectral (inter-component) decorrelation and the use of different wavelet kernels, as well as a more extensible file format. These two first parts are the ones that are going to focus on along this paper. The rest of parts introduce some extensions for different applications. For example, Part 10 (named also JP3D)21 is concerned with the coding of three-dimensional (3D) data. Figure 2 shows an overview of the data partitioning made by the core coding system of JPEG2000, and how the elements of a three-component image (such as a color RGB image) are encoded and distributed. The first step in the JPEG200 algorithm, not shown in the figure, is a level offset to guarantee that all the samples are signed. This is a requirement of the transform machinery that is going to be applied. After that, a CT (Component Transform, for example, a RGB to a YUV color transform) removes the inter-component redundancy that could be found in the image. The result of this stage is a new image in other domain, with the same number of components and samples per component. Next, as can be observed in the figure, each component of the image is divided into rectangular areas called tiles. Tiling is useful for compound images because the encoding parameters of each tile can be selected taking into account its characteristics. However, the tiling is rarely used in natural images due to the artifacts produced around the edges of the tiles, having commonly only one tile per component. JPEG2000 allows the use of different decomposition patterns in the component domain, although the default one is the hybrid scheme (see Fig. 3). In the hybrid decomposition, a dyadic 1D-DWT (Discrete Wavelet Transform) is first applied to the component domain, and then a dyadic 2D-DWT, denoted by ST (Spatial Transform) in the rest of this paper, is applied to each tile-component. Currently, the dyadic