Table of Contents

NAME

speckencode, speckdecode - encode/decode an image using the SPECK algorithm

SYNOPSIS

speckencode [-w wavelet] [-b boundary] [-nl levels] [-m mask] [-vo] rate imgfile bitstream

speckdecode [-w wavelet] [-b boundary] [-m mask] [-r rate] bitstream imgfile

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 levels
Integer. Number of levels of dyadic decomposition; default value is 5 levels.
-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

speckencode codes an image, imgfile, using the Set-Partitioning Embedded Block (SPECK) algorithm by Pearlman et al. The SPECK algorithm involves a 2D DWT followed by a progressive "bitplane" coding of the wavelet coefficients using a block-splitting quantization structure based on quadtrees.

The transform is either the usual discrete wavelet transform (DWT) or a shape-adaptive DWT (SA-DWT); see imgdwt(1) for complete details. Option -w specifies the wavelet, and option -b specifies the boundary extension. The -m option gives the image file to be used as a transparency mask for the SA-DWT. mask must be a grayscale image in which black in this image 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 DWT is used.

The desired bitrate of the output bitstream is specified by rate, which is expressed in bits per pixel of the original image. speckencode 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.

speckdecode performs the corresponding decoding using the SPECK algorithm, decoding the bitstream made by speckencode and producing a reconstructed image, imgfile. For sane results, wavelet and boundary should be the same as they were for speckencode, 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 speckdecode stops decoding when rate bits per pixel from the input bitstream have been decoded. Otherwise, decoding stops when the end of the input bitstream is reached.

speckencode and speckdecode call QccWAVspeckEncode(3) and QccWAVspeckDecode(3) , respectively, to perform SPECK encoding and decoding. Refer to the man pages for these functions for more information on the details of the QccPack implementation of the SPECK algorithm and how its performance compares to that described by Pearlman et al. in their original description.

SEE ALSO

QccWAVspeckEncode(3) , QccWAVspeckDecode(3) , imgdwt(1) , QccWAVSubbandPyramid(3) , QccPackWAV(3) , QccPackIMG(3) , QccPack(3)

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