Table of Contents

NAME

QccWAVSubbandPyramid3DIntShapeAdaptiveDWT, QccWAVSubbandPyramid3DIntInverseShapeAdaptiveDWT - separable 3D shape-adaptive discrete wavelet transform and inverse transform for integer-valued subband-pyramid data

SYNOPSIS

#include "libQccPack.h"

int QccWAVSubbandPyramid3DIntShapeAdaptiveDWT(QccWAVSubbandPyramid3DInt *subband_pyramid, QccWAVSubbandPyramid3DInt *mask, int transform_type, int temporal_num_levels, int spatial_num_levels, const QccWAVWavelet *wavelet);
int QccWAVSubbandPyramid3DIntInverseShapeAdaptiveDWT(QccWAVSubbandPyramid3DInt *subband_pyramid, QccWAVSubbandPyramid3DInt *mask, const QccWAVWavelet *wavelet);

DESCRIPTION

QccWAVSubbandPyramid3DIntShapeAdaptiveDWT() performs a separable 3D shape-adaptive discrete wavelet transform (SA-DWT) on the volume field of subband_pyramid. transform_type determines whether the transform is a dyadic or wavelet-packet decomposition. For a dyadic decomposition, transform_type should be QCCWAVSUBBANDPYRAMID3DINT_DYADIC; for a wavelet-packet decomposition, transform_type should be QCCWAVSUBBANDPYRAMID3DINT_PACKET. QccWAVSubbandPyramid3DIntShapeAdaptiveDWT() implements the wavelet transform with a call to QccWAVWaveletShapeAdaptiveDyadicDWT3DInt(3) or QccWAVWaveletShapeAdaptivePacketDWT3DInt(3) as appropriate

If a dyadic decomposition is chosen (transform_type equal to QCCWAVSUBBANDPYRAMID3DINT_DYADIC), spatial_num_levels and temporal_num_levels must be set to the same value which indicates the number of levels (scales) of dyadic decomposition to perform. In this case, both the spatial_num_levels and temporal_num_levels fields of subband_pyramid are set to this value. Alternatively, if a wavelet-packet decomposition is chosen (transform_type equal to QCCWAVSUBBANDPYRAMID3DINT_PACKET), then spatial_num_levels and temporal_num_levels may be different and indicate the number of spatial decompositions and temporal decompositions, respectively, performed when calculating the wavelet-packet transform.

mask is the transparency mask defining the shape of the data to be transformed; the volume field of mask is passed as the transparency mask to QccWAVWaveletShapeAdaptiveDyadicDWT3DInt(3) or QccWAVWaveletShapeAdaptivePacketDWT3DInt(3) . During the process of performing the 3D SA-DWT, the mask is transformed with a Lazy wavelet transform so as to correctly indicate where valid coefficients reside in the wavelet domain in the transformed subband_pyramid. The transformed mask is return in mask upon completion of QccWAVWaveletSubbandPyramid3DIntShapeAdaptiveDWT().

QccWAVSubbandPyramid3DIntInverseShapeAdaptiveDWT() calls QccWAVWaveletInverseShapeAdaptiveDyadicDWT3DInt(3) or QccWAVWaveletInverseShapeAdaptivePacketDWT3DInt(3) to perform a separable 3D inverse SA-DWT on the volume field of subband_pyramid. The transform_type field of subband_pyramid indicates the type (dyadic or wavelet-packet) of transform, while the numbers of levels of the inverse transform is retrieved from the spatial_num_levels and temporal_num_levels fields of subband_pyramid. Both spatial_num_levels and temporal_num_levels are set to 0 upon return of QccWAVSubbandPyramid3DIntInverseShapeAdaptiveDWT(). mask should be the Lazy-wavelet transformed mask that was output by QccWAVWaveletSubbandPyramid3DIntShapeAdaptiveDWT(). Upon return from QccWAVSubbandPyramid3DIntInverseShapeAdaptiveDWT(), mask is the original transparency mask; i.e., the mask that indicates where valid data resides in the original spatial domain.

RETURN VALUES

These routines return 0 on success and 1 on error.

SEE ALSO

QccWAVWaveletShapeAdaptiveDyadicDWT3DInt(3) , QccWAVWaveletInversShapeAdaptiveDyadicDWT3DInt(3) , QccWAVWaveletShapeAdaptivePacketDWT3DInt(3) , QccWAVWaveletInversShapeAdaptivePacketDWT3DInt(3) , QccWAVWavelet(3) , QccPackWAV(3) , QccPack(3)

A. R. Calderbank, I. Daubechies, W. Sweldens, B.-L. Yeo, "Lossless Image Compression Using Integer to Integer Wavelet Transforms", in Proceedings of the International Conference on Image Processing, Lausanne, Switzerland, pp. 596-599, September 1997.

Z. Xiong, X. Wu, S. Cheng, J. Hua, "Lossy-to-Lossless Compression of Medical Volumetric Data Using Three-Dimensional Integer Wavelet Transforms," IEEE Transactions on Medical Imaging, vol. 22, pp. 459-470, March 2003.

S. Li and W. Li, "Shape-Adaptive Discrete Wavelet Transforms for Arbitrarily Shaped Visual Object Coding," IEEE Transactions on Circuits and Systems for Video Coding, vol. 10, pp. 725-743, August 2000.

ISO/IEC 14496-2, "Information Technology -- Coding of audio-visual objects -- Part 2: Visual," MPEG-4 Standard, Amendment 1, July 2000.

B.-J. Kim, Z. Xiong, and W. A. Pearlman, "Low Bit-Rate Scalable Video Coding with 3-D Set Partitioning in Hierarchical Trees (3-D SPIHT)," IEEE Transactions on Circuits and Systems for Video Technology, vol. 10, no. 8, pp. 1374-1387, December 2000.

AUTHOR

Copyright (C) 1997-2021 James E. Fowler


Table of Contents



Get QccPack at SourceForge.net. Fast, secure and Free Open Source software downloads