tceencode3d [-w wavelet] [-b boundary] [-nl num_levels] [-sl spatial_num_levels] [-tl temporal_num_levels] [-a alpha] [-vo] rate icbfile bitstream
tcedecode3d [-w wavelet] [-b boundary] [-r rate] bitstream icbfile
tceencode3d codes an image cube, icbfile, using the 3D-TCE algorithm. The original TCE algorithm was developed for 2D images by Tian and Hemami; it was latter extended to 3D by Zhang et al. The TCE (tarp coding using classification to achieve embedding) algorithm is based on the tarp algorithm (see QccWAVTarpEncode(3) ), but is designed to provide better rate-distortion performance when used in an embedded fashion; i.e., when decoding is performed at a rate less than that at which the bitstream was produced. See QccWAVtce3DEncode(3) for more detail on the TCE algorithm.
The transform is the usual discrete wavelet transform (DWT), with the -w option specifying the wavelet, and the -b option specifying the boundary extension.
The 3D-TCE algorithm performance is determined in part through the parameter alpha, a value that gives the learning rate of the density-estimation process implemented by the tarp filter used in one of the coding passes of the TCE algorithm.
The -nl, -sl, and -tl options determine whether a dyadic or wavelet-packet transform is used. If -nl is specified, a dyadic transform is used. In this case, num_levels is the number of decompositions in all three directions. If either -sl or -tl, or both, is specified, a wavelet-packet transform is used. In this case, spatial_num_levels and temporal_num_levels give the number of decompositions spatially and temporally, respectively, of the packet transform. If only one of -sl and -tl is given, then the same number of decompositions is used spatially and temporally. In the case that none of -nl, -sl, and -tl is specified, then a dyadic decomposition with the default value of num_levels is used.
The desired bitrate of the output bitstream is specified by rate, which is expressed in bits per voxel of the original image. tceencode3d normally prints to stdout a small amount of information concerning this target bitrate and the actual bitrate achieved. Usually these rates are identical, but may differ slightly. If the -vo (value-only) option is given, all printed output is suppressed except for the actual bitrate.
tcedecode3d performs the corresponding decoding using the 3D-TCE algorithm, decoding the bitstream made by tceencode3d and producing a reconstructed image cube, icbfile. For sane results, wavelet and boundary should be the same as they were for tceencode3d. If a decoding rate is specified with the -r option, then tcedecode3d stops decoding when rate bits per voxel from the input bitstream have been decoded. Otherwise, decoding stops when the end of the input bitstream is reached.
tceencode3d and tcedecode3d call QccWAVtce3DEncode(3) and QccWAVtce3DDecode(3) , respectively, to perform 3D-TCE encoding and decoding. Refer to the man pages for these functions for more information on the details of the QccPack implementation of the 3D-TCE algorithm.
C. Tian and S. S. Hemami, "An Embedded Image Coding System Based on Tarp Filter with Classification," in Proceedings of the International Conference on Acoustics, Speech, and Signal Processing, Montreal, Quebec, Canada, May 2004, vol. 3, pp. 49-52.
J. Zhang, J. E. Fowler, and G. Liu, "Lossy-to-Lossless Compression of Hyperspectral Imagery Using 3D-TCE and an Integer KLT," IEEE Geoscience and Remote Sensing Letters, April 2008, submitted.
E. Ordentlich, M. Weinberger, and G. Seroussi, "A Low-Complexity Modeling Approach for Embedded Coding of Wavelet Coefficients," in Proceedings of the IEEE Data Compression Conference, Snowbird, UT, March 2002, pp. 23-32.