CILLIC: Context Interpolation Lossless and Lossy Image Compressor
Tuesday, September 22, 2020 |
2:50 PM - 3:15 PM |
Speaker
Attendee33
DAPCOM Data Services S.L.
CILLIC: Context Interpolation Lossless and Lossy Image Compressor
Abstract Submission
Image data compression requires a spatial decorrelation algorithm and, in case of multi/hyperspectral images, a spectral decorrelator. In satellite payloads, spatial decorrelation is often based on transforms such as DWT [1]. Spectral decorrelators can use transforms like POT [2,3], although prediction-based algorithms can be faster and compress even better [4]. Many of these solutions are often designed with hardware implementations in mind, which can make their software equivalents difficult and with high computing and memory requirements.
We have designed CILLIC, a new image data compression algorithm. This block-based spatial and spectral decorrelator has been designed with software implementations in mind, aiming at an efficient use of CPU caches, minimizing loops and conditions, and reducing memory requirements. It is inspired by HPA [5], also working on the spatial domain and using simple integer operations without any transform.
CILLIC works in blocks of 15x15 pixels and uses different decorrelators: spatial, spectral and mixed. The spatial decorrelator defines different pixel types within the block, allowing to predict most of the pixels from the interpolation of their neighbours. More than half of the pixels are predicted from the interpolation of four neighbours and one eighth from two neighbours. We use this spatial approach in single-band images and in the first band of multi/hyperspectral images. The spectral decorrelator predicts each pixel from the co-located pixel of the previous spectral band plus an average inter-band difference. Finally, the mixed decorrelator, based on the multi-band predictor of FAPEC [6], uses a linear combination of spatial and spectral neighbours to predict each pixel.
In multi-band images, from the second band onwards, CILLIC performs a quick trial of each decorrelator on a small subset of each block and selects the one leading to the smallest residuals. The option chosen is explicitly flagged, allowing to fine-tune the algorithm (or increase the size of the testing subset) without requiring changes in the decompressor. This approach allows for a better adaptation to artefacts in uncalibrated multi/hyperspectral images, either in the spatial or spectral domain, such as streaks, overexposed or underexposed bands.
Near-lossless operation (fixed-quality) is implemented by using different quantization levels on the residuals. Some reference pixels on each block use conservative quantization levels, whereas the rest use more aggressive quantization. Owing to the spatial interpolation algorithm, this approach keeps most of the sharp image features even at moderate loss levels. The average variation in brightness due to losses is determined for each block and explicitly flagged, allowing for an unbiased reconstruction even at high loss levels. Each pixel is reconstructed during compression before being used in subsequent calculations, avoiding the propagation of losses through blocks or bands.
Lossy operation (fixed-rate) has also been implemented. The actual compression ratio is periodically estimated and compared against the target ratio. Then, the loss level is updated, if necessary, to converge towards the target ratio.
CILLIC is implemented as a new pre-processing stage of FAPEC, taking advantage of its highly optimized and versatile software framework, as well as of its efficient and outlier-resilient entropy coding core. Our tests reveal that CILLIC offers ratios and PSNR levels very similar (sometimes better) than DWT, whereas its execution speed can be much faster (more than twice in some cases, specially in lossless). The overall design of FAPEC and CILLIC makes them suitable even for low-end computing platforms, such as on-board computers or cubesats. The versatility of this solution makes it applicable to demanding applications such as real-time in-orbit video compression on high-end computing platforms.
In this work we present this new algorithm and we compare its lossless, near-lossless and lossy performances against other solutions, such as DWT and HPA of FAPEC, CCSDS 122.1-B-1 and CCSDS 123.0-B-2.
[1] Image Data Compression (2017), https://public.ccsds.org/Pubs/122x0b2.pdf
[2] I. Blanes, J. Serra-Sagristà (2011) "Pairwise Orthogonal Transform for Spectral Image Coding," IEEE TGRS 49:3 961-972, 10.1109/TGRS.2010.2071880
[3] Spectral Pre-processing Transform for Multispectral and Hyperspectral Image Compression (2017), https://public.ccsds.org/Pubs/122x1b1.pdf
[4] Low-Complexity Lossless and Near-Lossless Multispectral and Hyperspectral Image Compression (2019), https://public.ccsds.org/Pubs/123x0b2c1.pdf
[5] R. Iudica, J. Portell, E. García-Berro (2014) Hierarchical Pixel Averaging: A New Image Compression Approach, in OBPDC IV, ESA/CNES.
[6] J. Portell, R. Iudica, E. García-Berro et al. (2017) FAPEC, a versatile and efficient data compressor for space missions, IJRS 39:7, 2022-2042, 10.1080/01431161.2017.1399478
We have designed CILLIC, a new image data compression algorithm. This block-based spatial and spectral decorrelator has been designed with software implementations in mind, aiming at an efficient use of CPU caches, minimizing loops and conditions, and reducing memory requirements. It is inspired by HPA [5], also working on the spatial domain and using simple integer operations without any transform.
CILLIC works in blocks of 15x15 pixels and uses different decorrelators: spatial, spectral and mixed. The spatial decorrelator defines different pixel types within the block, allowing to predict most of the pixels from the interpolation of their neighbours. More than half of the pixels are predicted from the interpolation of four neighbours and one eighth from two neighbours. We use this spatial approach in single-band images and in the first band of multi/hyperspectral images. The spectral decorrelator predicts each pixel from the co-located pixel of the previous spectral band plus an average inter-band difference. Finally, the mixed decorrelator, based on the multi-band predictor of FAPEC [6], uses a linear combination of spatial and spectral neighbours to predict each pixel.
In multi-band images, from the second band onwards, CILLIC performs a quick trial of each decorrelator on a small subset of each block and selects the one leading to the smallest residuals. The option chosen is explicitly flagged, allowing to fine-tune the algorithm (or increase the size of the testing subset) without requiring changes in the decompressor. This approach allows for a better adaptation to artefacts in uncalibrated multi/hyperspectral images, either in the spatial or spectral domain, such as streaks, overexposed or underexposed bands.
Near-lossless operation (fixed-quality) is implemented by using different quantization levels on the residuals. Some reference pixels on each block use conservative quantization levels, whereas the rest use more aggressive quantization. Owing to the spatial interpolation algorithm, this approach keeps most of the sharp image features even at moderate loss levels. The average variation in brightness due to losses is determined for each block and explicitly flagged, allowing for an unbiased reconstruction even at high loss levels. Each pixel is reconstructed during compression before being used in subsequent calculations, avoiding the propagation of losses through blocks or bands.
Lossy operation (fixed-rate) has also been implemented. The actual compression ratio is periodically estimated and compared against the target ratio. Then, the loss level is updated, if necessary, to converge towards the target ratio.
CILLIC is implemented as a new pre-processing stage of FAPEC, taking advantage of its highly optimized and versatile software framework, as well as of its efficient and outlier-resilient entropy coding core. Our tests reveal that CILLIC offers ratios and PSNR levels very similar (sometimes better) than DWT, whereas its execution speed can be much faster (more than twice in some cases, specially in lossless). The overall design of FAPEC and CILLIC makes them suitable even for low-end computing platforms, such as on-board computers or cubesats. The versatility of this solution makes it applicable to demanding applications such as real-time in-orbit video compression on high-end computing platforms.
In this work we present this new algorithm and we compare its lossless, near-lossless and lossy performances against other solutions, such as DWT and HPA of FAPEC, CCSDS 122.1-B-1 and CCSDS 123.0-B-2.
[1] Image Data Compression (2017), https://public.ccsds.org/Pubs/122x0b2.pdf
[2] I. Blanes, J. Serra-Sagristà (2011) "Pairwise Orthogonal Transform for Spectral Image Coding," IEEE TGRS 49:3 961-972, 10.1109/TGRS.2010.2071880
[3] Spectral Pre-processing Transform for Multispectral and Hyperspectral Image Compression (2017), https://public.ccsds.org/Pubs/122x1b1.pdf
[4] Low-Complexity Lossless and Near-Lossless Multispectral and Hyperspectral Image Compression (2019), https://public.ccsds.org/Pubs/123x0b2c1.pdf
[5] R. Iudica, J. Portell, E. García-Berro (2014) Hierarchical Pixel Averaging: A New Image Compression Approach, in OBPDC IV, ESA/CNES.
[6] J. Portell, R. Iudica, E. García-Berro et al. (2017) FAPEC, a versatile and efficient data compressor for space missions, IJRS 39:7, 2022-2042, 10.1080/01431161.2017.1399478