Volumetric image compression with JPEG2000

A 3D extension of the standard will support cuboid volumetric data sets with no time component.
19 June 2007
Tim Bruylants, Adrian Munteanu, Alin Alecu, Rudi Deklerck, and Peter Schelkens

Medical and scientific imaging equipment generate a significant amount of volumetric data. Because such data sets tend to be very large, powerful compression technology is crucial for efficient storage and transmission, random access, region of interest (ROI) support, and resolution/quality scalability.


JPEG2000, the current standard devised by the Joint Photographic Expert Group (JPEG), provides this functionality for 2D data sets through Part 1 (Core Coding Systems)1 and Part 2 (Extensions).2 Although the latter indirectly supports a 3D wavelet transform by means of the extended multiple component transform, a complete volumetric coding scheme is still essential to functionality, optimal rate-distortion performance, and isotropic behavior for all dimensions.


Volumetric image compression with JP3D

Part 10 of JPEG20003 (JP3D), which is concerned with volumetric imaging, aims to provide the same functionality and efficiency for 3D data sets as for its 2D counterparts. The JP3D specification is currently at the stage of Final Disclosure of International Standard (FDIS), which means that all features have been defined and finalized and it has only to pass a balloting process. It is designed as a pure extension of Part 1 and Part 2. Thus, JP3D supports existing capabilities of Part 1, extended to three dimensions. It also respects syntax and capabilities of Part 2 multi-component images, although it does not extend them all. Features relevant to encoding volumetric data set, such as the arbitrary transformation kernels (ATK) and ROI coding, are extended, while less relevant features are not adopted.


An important goal of JP3D is to provide maximally isotropic specification by supporting identical processing capabilities in all dimensions, even though Part 1 and Part 2 code-stream syntax differentiates between the two spatial axes and the cross-component axis. It is obvious that typical features such as quality and resolution scalability, and ROI coding, should also be supported by JP3D in an isotropic manner.


Furthermore, JP3D packet syntax is compatible with the interactive protocols defined in JPIP4 (Part 9) for client-server interaction. This protocol enables applications to randomly access remote code streams, thus exploiting the full scalability potentials of JPEG2000.


In order to reduce cost of implementation and to keep the codec design relatively simple, JP3D specifications do not introduce new coding concepts, but reuse the one defined in Part 1 and Part 2, that is, embedded block coding by optimized truncation5 (EBCOT), based on the principles of layered zero coding (LZC), which is the core element of the JPEG2000 image compression standard.


Inside the JP3D codec

Similar to JPEG2000 Part 1, the JP3D codec first tiles the volumetric data set. Tiles in this case are cuboid subvolumes that are then independently encoded. In addition, all components are encoded as separate grayscale data sets. Thus, encoding an image data set is in effect encoding tile components.



Figure 1. Subband partitioning into dyadic-sized code-blocks.

Next, a discrete wavelet transform (DWT) filters all tile sample coefficients using the Mallat decomposition pattern. The number of decomposition levels in each of the three dimensions can be freely chosen. Thereafter, the codec partitions the resulting subbands into small dyadically-sized cubes, called code blocks, which the EBCOT coder then independently encodes (see Figure 1). The 3D code-block coefficients are processed in a bitplane-per-bitplane and slice-by-slice order, as shown in Figure 2. Within the bitplane of a slice, the scanning pattern is identical to that of a JPEG2000 Part 1 pattern, in which the bits are scanned in groups of four vertically aligned bits (stripe-based scanning). Once a bitplane of a slice is completely processed, the algorithm continues with next slice in the code-block.



Figure 2. Three-dimensional code-block scanning pattern.

Figure 3. Compression performance graph, showing the peak signal-to-noise ratios vs the obtained bitrates, for a computerized tomography (CT) and an magnetic resonance image (MRI). Work in progress

Currently, the arithmetic encoder of the 3D EBCOT coder still uses the 2D context model of Part 1. This can be explained by the fact that the definition of a generic 3D context model proves unexpectedly difficult, as a result of the anisotropic behavior of most volumetric data sets and the high degree of complexity associated with the modeling process. Nonetheless, the current JP3D standard specification has been defined such that improved context models can be easily specified for this part. In this sense, past6 and ongoing research7,8 on 3D context modeling and design bringing about significant gains — up to 10% — in compression performance compared to the 2D context models used in Part 1 of the standard. Examples of such gains are shown in Figure 3 for two medical images.


Conclusion

JP3D is a new component of the JPEG2000 suite, with the standardization process is in its final phase. It is a straightforward extension of JPEG2000 Parts 1 and 2, delivering promising coding technology for volumetric encoding to support lossy-to-lossless coding functionality (quality scalability), resolution scalability, and region-of-interest coding.



Tim Bruylants, Adrian Munteanu, Alin Alecu, Rudi Deklerck, Peter Schelkens 
Department of Electronics and Informatics (ETRO)
Vrije Universiteit Brussel, IBBT
Brussels, Belgium

Recent News
PREMIUM CONTENT
Sign in to read the full article
Create a free SPIE account to get access to
premium articles and original research