Table of Contents

NAME

speckencode3d, speckdecode3d - encode/decode an image cube using the 3D-SPECK algorithm

SYNOPSIS

speckencode3d [-w wavelet] [-b boundary] [-nl num_levels] [-sl spatial_num_levels] [-tl temporal_num_levels] [-m mask] [-vo] rate icbfile bitstream

speckdecode3d [-w wavelet] [-b boundary] [-m mask] [-r rate] bitstream icbfile

OPTIONS

-w wavelet
String. Name of the wavelet file (FBK or LFT format); default = "CohenDaubechiesFeauveau.9-7.lft"
-b boundary
String. Type of boundary extension; default = "symmetric".
-nl num_levels
Integer. Number of levels of dyadic decomposition; default value is 5 levels.
-sl spatial_num_levels
Integer. Number of levels of dyadic decomposition; no default value.
-tl temporal_num_levels
Integer. Number of levels of dyadic decomposition; no default value.
-m mask
String. Name of file containing the transparency mask for shape-adaptive coding. Default is to not use a mask.
-r rate
Float. Rate at which to stop decoding. Default is to decode until end of input bitstream is reached.
-vo
Print only the value of the rate to stdout (terse output); default is verbose output.

DESCRIPTION

speckencode3d codes an image cube, icbfile, using the 3D-SPECK algorithm by Tang et al. The 3D-SPECK algorithm involves a 3D DWT followed by a progressive "bitplane" coding of the wavelet coefficients using a cube-splitting quantization structure based on octtrees.

The transform is either the usual discrete wavelet transform (DWT) or a shape-adaptive DWT (SA-DWT) and can be either a dyadic or wavelet-packet decomposition; see QccWAVspeck3DEncode(3) for complete details. Option -w specifies the wavelet, option -b specifies the boundary extension. The -m option gives the image-cube file to be used as a transparency mask for the SA-DWT. mask must be a grayscale image cube in which black in this image cube indicates transparency, white indicates full opacity, and gray tones are degrees of translucence (see QccAlpha(3) ). If the -m option is not given, the usual, full-volume DWT is used.

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. speckencode3d 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.

speckdecode3d performs the corresponding decoding using the 3D-SPECK algorithm, decoding the bitstream made by speckencode3d and producing a reconstructed image cube, icbfile. For sane results, wavelet and boundary should be the same as they were for speckencode3d, and mask should be the same if an SA-DWT was used as the transform. If a decoding rate is specified with the -r option, then speckdecode3d 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.

speckencode3d and speckdecode3d call QccWAVspeck3DEncode(3) and QccWAVspeck3DDecode(3) , respectively, to perform 3D-SPECK encoding and decoding. Refer to the man pages for these functions for more information on the details of the QccPack implementation of the 3D-SPECK algorithm.

SEE ALSO

QccWAVspeck3DEncode(3) , QccWAVspeck3DDecode(3) , QccWAVSubbandPyramid3D(3) , QccPackWAV(3) , QccPackIMG(3) , QccPack(3)

X. Tang, W. A. Pearlman, and J. W. Modestino, "Hyperspectral Image Compression Using Three-Dimensional Wavelet Coding," in Image and Video Communications and Processing, Santa Clara, CA, January 2003, Proc. SPIE 5022, pp. 1037-1047.

W. A. Pearlman, A. Islam, N. Nagaraj, and A. Said, "Efficient, Low-Complexity Image Coding with a Set-Partitioning Embedded Block Coder," IEEE Transactions on Circuits and Systems for Video Technology, to appear, 2003.

A. Islam and W. A. Pearlman, "An Embedded and Efficient Low-Complexity Hierarchical Image Coder," in Visual Communications and Image Processing, K. Aizawa, R. L. Stevenson, and Y.-Q. Zhang, Eds., San Jose, CA, January 1999, Proc. SPIE 3653, pp. 294-305.

Z. Lu and W. A. Pearlman, "Wavelet Video Coding of Video Object by Object-Based SPECK Algorithm," in Proceedings of the Picture Coding Symposium, Seoul, Korea, April 2001, pp. 413-416.

AUTHOR

Copyright (C) 1997-2021 James E. Fowler


Table of Contents



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