Table of Contents

NAME

biskencode, biskdecode - encode/decode an image using the BISK algorithm

SYNOPSIS

biskencode [-w wavelet] [-b boundary] [-nl levels] [-m mask] [-rd rd_file] [-vo] rate imgfile bitstream

biskdecode [-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.
-rd rd_file
String. Name of file to which to output the rate-distortion profile. Default is to not output the rate-distortion profile.
-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

biskencode codes an image, imgfile, using the BISK algorithm by Fowler. An embedded wavelet-based image coder based on the popular bitplane-coding paradigm, BISK is designed specifically for the coding of image objects with arbitrary shape. While other similar algorithms (e.g., SPECK) employ quadtree-based set partitioning to code significance-map information, BISK uses a simpler, and more flexible, binary decomposition via k-d trees. Additionally, aggressive discarding of transparent regions is implemented by shrinking sets to the bounding box of their constituent opaque coefficients before further partitioning. See QccWAVbiskEncode(3) for more detail on the algorithm.

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, option -b specifies the boundary extension, and option 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. biskencode 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.

The -rd option is used to provide the name of the file to which to output the rate-distortion profile. Briefly, the rate-distortion profile is a collection of numerous points on the rate-distortion curve that is estimated during encoding from distortion calculations in the wavelet-domain; see QccWAVbiskEncode(3) for more details on the calculations involved. If the -rd option is not given, no rate-distortion profile is output.

biskdecode performs the corresponding decoding using the BISK algorithm, decoding the bitstream made by biskencode and producing a reconstructed image, imgfile. For sane results, wavelet, and boundary should be the same as they were for biskencode, 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 biskdecode 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.

biskencode and biskdecode call QccWAVbiskEncode(3) and QccWAVbiskDecode(3) , respectively, to perform BISK encoding and decoding. Refer to the man pages for these functions for more information on the details of the QccPack implementation of the BISK algorithm.

SEE ALSO

QccWAVbiskEncode(3) , QccWAVbiskDecode(3) , imgdwt(1) , QccWAVSubbandPyramid(3) , QccPackWAV(3) , QccPackIMG(3) , QccPack(3)

J. E. Fowler, "Shape-Adaptive Coding Using Binary Set Splitting with k-d Trees," submitted to the 2004 International Conference on Image Processing, Singapore, December 2003.

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.

J. L. Bentley, "Multidimensional Binary Search Trees Used for Associative Searching," Communications of the ACM, vol. 18, no. 9, pp. 509-517, September 1975.

AUTHOR

Copyright (C) 1997-2021 James E. Fowler


Table of Contents



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