Table of Contents
Fetching ...

RAGE for the Machine: Image Compression with Low-Cost Random Access for Embedded Applications

Christian D. Rask, Daniel E. Lucani

TL;DR

The paper addresses the need for efficient image compression on resource-constrained embedded devices that still supports fast pixel-level random access. It introduces Randomly Accessible Graphics Encoding (RAGE), which blends generalized deduplication (GD) with a novel Run Length Encoding (RLE) scheme and a BaseTree-based base selection to achieve lossless compression with fast random access, plus a lossy variant (RAGE-Q) guided by PSNR-based pruning. The authors demonstrate competitive lossless performance against standard codecs, substantial random-access speedups on an ARM Cortex-M33, and superior distortion-for-bitrate performance for discrete-tone graphics in the lossy setting. These results suggest practical impact for GUI rendering and embedded graphics tasks, with future work targeting animated graphics, TinyML workflows, and accelerators.

Abstract

We introduce RAGE, an image compression framework that achieves four generally conflicting objectives: 1) good compression for a wide variety of color images, 2) computationally efficient, fast decompression, 3) fast random access of images with pixel-level granularity without the need to decompress the entire image, 4) support for both lossless and lossy compression. To achieve these, we rely on the recent concept of generalized deduplication (GD), which is known to provide efficient lossless (de)compression and fast random access in time-series data, and deliver key expansions suitable for image compression, both lossless and lossy. Using nine different datasets, incl. graphics, logos, natural images, we show that RAGE has similar or better compression ratios to state-of-the-art lossless image compressors, while delivering pixel-level random access capabilities. Tests in an ARM Cortex-M33 platform show seek times between 9.9 and 40.6~ns and average decoding time per pixel between 274 and 1226~ns. Our measurements also show that RAGE's lossy variant, RAGE-Q, outperforms JPEG by several fold in terms of distortion in embedded graphics and has reasonable compression and distortion for natural images.

RAGE for the Machine: Image Compression with Low-Cost Random Access for Embedded Applications

TL;DR

The paper addresses the need for efficient image compression on resource-constrained embedded devices that still supports fast pixel-level random access. It introduces Randomly Accessible Graphics Encoding (RAGE), which blends generalized deduplication (GD) with a novel Run Length Encoding (RLE) scheme and a BaseTree-based base selection to achieve lossless compression with fast random access, plus a lossy variant (RAGE-Q) guided by PSNR-based pruning. The authors demonstrate competitive lossless performance against standard codecs, substantial random-access speedups on an ARM Cortex-M33, and superior distortion-for-bitrate performance for discrete-tone graphics in the lossy setting. These results suggest practical impact for GUI rendering and embedded graphics tasks, with future work targeting animated graphics, TinyML workflows, and accelerators.

Abstract

We introduce RAGE, an image compression framework that achieves four generally conflicting objectives: 1) good compression for a wide variety of color images, 2) computationally efficient, fast decompression, 3) fast random access of images with pixel-level granularity without the need to decompress the entire image, 4) support for both lossless and lossy compression. To achieve these, we rely on the recent concept of generalized deduplication (GD), which is known to provide efficient lossless (de)compression and fast random access in time-series data, and deliver key expansions suitable for image compression, both lossless and lossy. Using nine different datasets, incl. graphics, logos, natural images, we show that RAGE has similar or better compression ratios to state-of-the-art lossless image compressors, while delivering pixel-level random access capabilities. Tests in an ARM Cortex-M33 platform show seek times between 9.9 and 40.6~ns and average decoding time per pixel between 274 and 1226~ns. Our measurements also show that RAGE's lossy variant, RAGE-Q, outperforms JPEG by several fold in terms of distortion in embedded graphics and has reasonable compression and distortion for natural images.
Paper Structure (13 sections, 10 equations, 10 figures, 3 tables, 1 algorithm)

This paper contains 13 sections, 10 equations, 10 figures, 3 tables, 1 algorithm.

Figures (10)

  • Figure 1: RAGE performance benefits in different dimensions
  • Figure 2: GD applied to 8-bit data chunks. Bits in blue are allocated to the bases and deduplicated. The remaining bits are deviations stored alongside an associated base ID.
  • Figure 3: RAGE data flow. An image, $I$, is split into $n$ chunks. Chunks are transformed and bases are deduplicated. Each row of $(\text{id},\bm{d})$-pairs are collected into $h$ blocks. RLE is applied to each block independently. The compressed image consists of several compressed assets needed to recreate the original image.
  • Figure 4: Modified BaseTree applied to the data chunks in Fig. \ref{['fig:gd_example']}. Level 4 is highlighted as the optimal set of base bits $B$, which corresponds to the base and deviation bits in Fig. \ref{['fig:gd_example']}.
  • Figure 5: BTP applied to BaseTree from Fig. \ref{['fig:basetree']}. Flipped bits are marked yellow. $\text{PSNR}_{thr} = 30$.
  • ...and 5 more figures