Table of Contents

NAME

QccWAVSubbandPyramid3DShapeAdaptiveDWT, QccWAVSubbandPyramid3DInverseShapeAdaptiveDWT - separable 3D shape-adaptive discrete wavelet transform and inverse transform for subband-pyramid data

SYNOPSIS

#include "libQccPack.h"

int QccWAVSubbandPyramid3DShapeAdaptiveDWT(QccWAVSubbandPyramid3D *subband_pyramid, QccWAVSubbandPyramid3D *mask, int transform_type, int temporal_num_levels, int spatial_num_levels, const QccWAVWavelet *wavelet);
int QccWAVSubbandPyramid3DInverseShapeAdaptiveDWT(QccWAVSubbandPyramid3D *subband_pyramid, QccWAVSubbandPyramid3D *mask, const QccWAVWavelet *wavelet);

DESCRIPTION

QccWAVSubbandPyramid3DShapeAdaptiveDWT() 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 QCCWAVSUBBANDPYRAMID3D_DYADIC; for a wavelet-packet decomposition, transform_type should be QCCWAVSUBBANDPYRAMID3D_PACKET. QccWAVSubbandPyramid3DShapeAdaptiveDWT() implements the wavelet transform with a call to QccWAVWaveletShapeAdaptiveDyadicDWT3D(3) or QccWAVWaveletShapeAdaptivePacketDWT3D(3) as appropriate

If a dyadic decomposition is chosen (transform_type equal to QCCWAVSUBBANDPYRAMID3D_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 QCCWAVSUBBANDPYRAMID3D_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 QccWAVWaveletShapeAdaptiveDyadicDWT3D(3) or QccWAVWaveletShapeAdaptivePacketDWT3D(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 QccWAVWaveletSubbandPyramid3DShapeAdaptiveDWT().

QccWAVSubbandPyramid3DInverseShapeAdaptiveDWT() calls QccWAVWaveletInverseShapeAdaptiveDyadicDWT3D(3) or QccWAVWaveletInverseShapeAdaptivePacketDWT3D(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 QccWAVSubbandPyramid3DInverseShapeAdaptiveDWT(). mask should be the Lazy-wavelet transformed mask that was output by QccWAVWaveletSubbandPyramid3DShapeAdaptiveDWT(). Upon return from QccWAVSubbandPyramid3DInverseShapeAdaptiveDWT(), 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

QccWAVWaveletShapeAdaptiveDyadicDWT3D(3) , QccWAVWaveletInversShapeAdaptiveDyadicDWT3D(3) , QccWAVWaveletShapeAdaptivePacketDWT3D(3) , QccWAVWaveletInversShapeAdaptivePacketDWT3D(3) , QccWAVWavelet(3) , QccPackWAV(3) , QccPack(3)

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