Lossless Volume Compression

James E. Fowler, Roni Yagel

The following describes an algorithm for the lossless compression of volume data and represents work done in conjunction with Roni Yagel of the Computer Science Department's Volume Graphics Research Group

For more information, contact Jim Fowler or see our paper, FY94

Index:


Introduction

Compression for efficient storage and transmission of digital data has become routine as the application of such data has grown. Several common data-compression programs are readily available on many computers to fight the burgeoning demand for storage space. These programs are typically generic; that is, they can compress data regardless of its nature. It is common that a single program is used to compress not only English text, but also source code, executable binaries, and raw data. Although generic programs have some advantages, such as greater portability, it may be worthwhile, in cases in which the demand for storage space is particularly high, to consider compression algorithms that have been tailored specifically for a single application.

One such application is volume graphics, the extension of computer graphics that addresses rendering directly from volume data. Since volume size grows as the cube of the resolution, even a moderate-resolution volume requires a great amount of storage space. We are currently working on a data-compression algorithm which, being oriented specifically for volume data, will alleviate some of the storage-space problems associated with volume graphics.

Proposed Approach

The algorithm we propose for volume compression is a combination of differential pulse-code modulation (DPCM) and Huffman coding. Both techniques have been used extensively in compression of 2D images. DPCM belongs to a family of compression algorithms known as predictive techniques. In a volume, adjacent voxels usually possess a high degree of spatial coherence; that is, adjacent voxel values are highly correlated. Predictive techniques exploit this spatial coherence and encode only the new information between successive voxels. Predictive techniques feature a predictor that calculates a value from previously encoded voxels. This predicted value is subtracted from the current voxel, yielding a difference value. The resulting difference value is then Huffman coded. Thus, only the new information provided by the current voxel is encoded.

Results

The following table compares the compression performance of our volume compression algorithm, compvox, with compress, a lossless, generic compression program found on many UNIX systems. Using compvox on the entire collection of the volumes saves 9 megabytes over compress.

Percentage Compression of Several Data-Compression
Programs on Volume Data
Volume Original Data compress compvox
Resolution Size (Mb) % Comp. % Comp.
3dknee 256×256×127 15.9 17.2 40.1
CThead 256×256×113 14.1 46.0 53.3
MRbrain 256×256×109 13.6 40.2 52.7
3dhead 256×256×109 13.6 29.9 48.5
sod.30 97×97×116 1.0 65.3 63.7
hipiph 64×64×64 0.5 26.8 41.9
rna 100×120×16 0.2 33.1 55.4

FTP Site

The source code for the compvox algorithm is available via anonymous ftp to ftp://eeftp.eng.ohio-state.edu/pub/IPS/volume/compvox1.1.tar.Z.


Last update: 25-oct-96
Tansu A. Demirbilek / demirbit@ece.osu.edu