Parallelization Of CCSDS Hyperspectral Image Compression Using C++ - Tan, Lit Chez (Universiti Sains Malaysia, 2018)
The advent of space technologies eases the collection information from earth surface through remote sensing. However, the bandwidth and storage limitation impose on spaceborne devices have increased the need for data compression technique. As the response, Consultative Committee for Space Data System (CCSDS) have released Lossless Multispectral and Hyperspectral Image Compression standard (CCSDS-MHC) as the standard to losslessly compress the hyperspectral image taken by spaceborne devices. Currently, most implementation of the CCSDS-MHC algorithm utilizessingle processor core for the compression process. However, CCSDS-MHC has the potential to operate on multi-core system with the use of parallelization. With the introduction of multi-core processing system on spaceborne satellite, the execution time of the system can be further decreased. In this research, the aim is to design a parallelization algorithm on CCSDS-MHC using Open Multi-Processing (OpenMP), an open-source C++ application programming interface (API). The first step of the research is converting the CCSDS-MHC algorithm into a full program in C++, with both compression and decompression features. Next, the parallelizable section of the algorithm is identified and coded using OpenMP. The algorithm has been parallelized by dividing the bands of the hyperspectral image into several continuous chunks and running them concurrently. The program is then tested in several systems with different number of threads. The execution of parallelized CCSDS-MHC algorithm shows significant speedup for all the system and hyperspectral image tested.