Utilising the pipeline framework and state-based non-linear Gauss-Seidel for large satellite image denoising based on CPU-GPU cores. (2015) - Dolwithayakul, Banpot; Chantrapornchai, Chantana; Chumchob, Noppadol
Satellite images are usually large and are contaminated with noises during the acquisition process. Typically, they are composed of both additive noises and multiplicative noises. Denoising such images requires numerical processes that are time-consuming. In this paper, we propose a framework for denoising both multiplicative and additive noises at the same time based on the modern denoising technique in Chumchob et al. (2013). Our framework is able to fully utilise all available computing units (both CPU cores and GPU cores) effectively. We carefully divide the computation into stages which allows the computing units to work on each data partition in a pipeline fashion and tested our framework with different chunk sizes from 256 × 256 to 1024 × 1024. The experiments show that the speedup for the chunk size of 2048 × 2048 can be up to 70.98 times comparing with the normal denoising algorithm. Moreover, we also made the modification of stated-based Gauss-Seidel from Dolwithayakul et al. (2012) be suitable for GPU. We also change data structure to avoid usage of pointer and implement the memory hierarchy to reduce the single point of synchronisation and guarantee mutual exclusion on the job table.