Abstract
We present ATC, a C++ library for advanced Tucker-based lossy compression of dense multidimensional numerical data in a shared-memory parallel setting, based on the sequentially truncated higher-order singular value decomposition (ST-HOSVD) and bit plane truncation. Several techniques are proposed to improve speed, memory usage, error control and compression rate. First, a hybrid truncation scheme is described which combines Tucker rank truncation and TTHRESH quantization. We derive a novel expression to approximate the error of truncated Tucker decompositions in the case of core and factor perturbations. We parallelize the quantization and encoding scheme and adjust this phase to improve error control. Implementation aspects are described, such as an ST-HOSVD procedure using only a single transposition. We also discuss several usability features of ATC, including the presence of multiple interfaces, extensive data type support, and integrated downsampling of the decompressed data. Numerical results show that ATC maintains state-of-the-art Tucker compression rates while providing average speed-up factors of 2.2 to 3.5 and halving memory usage. Our compressor provides precise error control, deviating only 1.4% from the requested error on average. Finally, ATC often achieves higher compression than non-Tucker-based compressors in the high-error domain.
Publisher
Association for Computing Machinery (ACM)
Subject
Applied Mathematics,Software
Reference54 articles.
1. Discrete Cosine Transform
2. Alliance for Open Media. [n.d.]. AV1 Features. Retrieved March 12 2023 from https://aomedia.org/av1-features/.
3. AVIRIS. [n.d.]. Free Data. Retrieved March 12 2023 from https://aviris.jpl.nasa.gov/data/free_data.html.
4. TuckerMPI
5. TTHRESH: Tensor Compression for Multidimensional Visual Data