Table of Contents

NAME

wdrencode, wdrdecode - encode/decode image from/to PGM/PPM format using the original Wavelet Difference Reduction (WDR) algorithm

SYNOPSIS

wdrencode [-w wavelet] [-b boundary] [-pw pcpfile] [-nl levels] [-m mask] [-vo] rate imgfile bitstream

wdrdecode [-w wavelet] [-b boundary] [-pw pcpfile] [-m mask] [-r rate] bitstream imgfile

DESCRIPTION

-w wavelet
String. Name of the wavelet file (FBK or LFT for mat); default = "CohenDaubechiesFeauveau.9-7.lft".
-b boundary
String. Type of boundary extension; default = "symmetric".
-pw pcpfile
String. Name of file containing perceptual weights.
-nl levels
Integer. Number of levels of dyadic decomposition; default value is 5.
-m mask
String. Name of file containing the transperancy mask for shape-adaptive coding.
-r rate
Float. Rate at which to stop decoding. Default is to decode until end of input bitstream is reached.
-vo
Print only the values of the rate to stdout (terse output); default is verbose output.

DESCRIPTION

wdrencode encodes an image, imgfile, using the Wavelet Difference Reduction (WDR) algorithm by Tian and Wells.

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 -pw indicates whether perceptual weighting is to be used. 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. wdrencode 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.

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

wdrencode and wdrdecode call QccWAVwdrEncode(3) and QccWAVwdrDecode(3) , respectively, to perform WDR encoding and decoding. Refer to the man pages of these functions for more information.

SEE ALSO

QccWAVwdrEncode(3) , QccWAVwdrDecode(3) , imgdwt(1) , imgdist(1) , QccBitBuffer(3) , QccENTArithmeticEncode(3) , QccENTArithmeticDecode(3) , QccWAVPerceptualWeights(3) , QccWAVSubbandPyramid(3) , QccPackWAV(3) , QccPackIMG(3) , QccPack(3)

J. Tian and R. O. Wells, Jr., "Embedded Image Coding Using Wavelet Difference Reduction", in Wavelet Image and Video Compression, P. N. Topiwala, Ed., pp. 289-302, Kluwer Academic Publishers, Norwell, MA, 1998.

AUTHOR

Written by Yufei Yuan <yuanyufei@hotmail.com>

Copyright (C) 1997-2021 James E. Fowler


Table of Contents



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