📄 spihtdecode.1.html
字号:
<!-- manual page source format generated by PolyglotMan v3.0.4, -->
<!-- available via anonymous ftp from ftp.cs.berkeley.edu:/ucb/people/phelps/tcltk/rman.tar.Z -->
<HTML>
<HEAD>
<TITLE>spihtdecode.1</TITLE>
</HEAD>
<BODY>
<A HREF="#toc">Table of Contents</A><P>
<H2><A NAME="sect0" HREF="#toc0">NAME </A></H2>
spihtencode, spihtdecode - encode/decode an image using the SPIHT
algorithm
<H2><A NAME="sect1" HREF="#toc1">SYNOPSIS </A></H2>
<P>
<B>spihtencode</B> [<B>-w</B> <I>wavelet</I>] [<B>-b</B> <I>boundary</I>] [<B>-pw</B> <I>pcpfile</I>]
[<B>-nl</B> <I>levels</I>] [<B>-noac</B>] [<B>-m</B> <I>mask</I>] [<B>-vo</B>] <I>rate</I> <I>imgfile</I> <I>bitstream</I> <P>
<B>spihtdecode</B> [<B>-w</B>
<I>wavelet</I>] [<B>-b</B> <I>boundary</I>] [<B>-pw</B> <I>pcpfile</I>] [<B>-m</B> <I>mask</I>] <I>bitstream</I> <I>imgfile</I>
<H2><A NAME="sect2" HREF="#toc2">OPTIONS
</A></H2>
<DL>
<DT><B>-w</B><I> wavelet</I> </DT>
<DD>String. Name of the wavelet file (<B>FBK</B> or <B>LFT</B> format); default
= "CohenDaubechiesFeauveau.9-7.lft" </DD>
<DT><B>-b</B><I> boundary</I> </DT>
<DD>String. Type of boundary extension;
default = "symmetric". </DD>
<DT><B>-pw</B><I> pcpfile</I> </DT>
<DD>String. Name of file containing perceptual
weights. </DD>
<DT><B>-nl</B><I> levels</I> </DT>
<DD>Integer. Number of levels of dyadic decomposition; default
value is 3 levels. </DD>
<DT><B>-noac</B> </DT>
<DD>Do not use arithmetic coding during encoding;
i.e., produce "binary-uncoded" output. Default is to use arithmetic coding.
</DD>
<DT><B>-m</B><I> mask</I> </DT>
<DD>String. Name of file containing the transparency mask for shape-adaptive
coding. </DD>
<DT><B>-vo</B> </DT>
<DD>Print only the value of the rate to stdout (terse output);
default is verbose output. </DD>
</DL>
<H2><A NAME="sect3" HREF="#toc3">DESCRIPTION </A></H2>
<P>
<B>spihtencode</B> codes an image, <I>imgfile</I>,
using the Set Partitioning In Hierarchical Trees (SPIHT) algorithm by
Said and Pearlman. The SPIHT algorithm involves a 2D DWT followed by a
progressive "bit-plane" coding of the wavelet coefficients using a zerotree-like
quantization structure. <P>
The transform is either the usual discrete wavelet
transform (DWT) or a shape-adaptive DWT (SA-DWT); see <B><A HREF="imgdwt.1.html">imgdwt</B>(1)</A>
for complete
details. Option <B>-w</B> specifies the wavelet, option <B>-b</B> specifies the boundary
extension, and option <B>-pw</B> indicates whether perceptual weighting is to
be used. The <B>-m</B> option gives the image file to be used as a transparency
mask for the SA-DWT. <I>mask</I> must be a grayscale image in which black in this
image indicates transparency, white indicates full opacity, and gray tones
are degrees of translucence. If the <B>-m</B> option is not given, the usual DWT
is used. <P>
The desired bitrate of the output <I>bitstream</I> is specified by <I>rate</I>,
which is expressed in bits per pixel of the original image. <B>spihtencode</B>
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 <B>-vo</B> (value-only) option is given,
all printed output is suppressed except for the actual bitrate. <P>
The SPIHT
algorithm normally uses arithmetic coding of symbols as a final output
step to improve coding efficiency. Alternatively, arithmetic coding can
be suppressed, producing what is called "binary-uncoded" output. <B>spihtencode</B>
supports both arithmetic-coded and binary-uncoded output modes. If option
<B>-noac</B> is specified, no arithmetic coding is used (i.e., binary-uncoded output).
Otherwise, the output is arithmetic-coded. <P>
Note: the SPIHT algorithm as
described originally by Said and Pearlman in their ITCSVT paper does not
employ perceptual weighting as allowed by <B>spihtencode</B> (the <B>-pw</B> option).
Refer to <B><A HREF="imgdwt.1.html">imgdwt</B>(1)</A>
and <B><A HREF="QccWAVPerceptualWeights.3.html">QccWAVPerceptualWeights</B>(3)</A>
for details on the
implementation of perceptual weighting. Additionally, note that the concept
of shape-adaptive coding arose in the recent MPEG-4 standard and was not
considered in the original work by Said and Pearlman. <P>
<B>spihtdecode</B> performs
the corresponding decoding using the SPIHT algorithm, decoding the <I>bitstream</I>
made by <B>spihtencode</B> and producing a reconstructed image, <I>imgfile</I>. For sane
results, <I>wavelet</I>, <I>boundary</I>, and <I>pcpfile</I> should be the same as they were
for <B>spihtencode</B>, and <I>mask</I> should be the same if an SA-DWT was used as the
transform. <B>spihtdecode</B> automatically determines whether arithmetic decoding
is needed or not. <P>
<B>spihtencode</B> and <B>spihtdecode</B> call <B><A HREF="QccSPIHTEncode.3.html">QccSPIHTEncode</B>(3)</A>
and
<B><A HREF="QccSPIHTDecode.3.html">QccSPIHTDecode</B>(3)</A>
, respectively, to perform SPIHT encoding and decoding.
Refer to the man pages for these functions for more information on the
details of the QccPack implementation of the SPIHT algorithm and how it
compares to the original SPIHT coder developed by Said and Pearlman for
their results.
<H2><A NAME="sect4" HREF="#toc4">SEE ALSO </A></H2>
<B><A HREF="QccSPIHTEncode.3.html">QccSPIHTEncode</B>(3)</A>
, <B><A HREF="QccSPIHTDecode.3.html">QccSPIHTDecode</B>(3)</A>
, <B><A HREF="imgdwt.1.html">imgdwt</B>(1)</A>
,
<B><A HREF="squniform.1.html">squniform</B>(1)</A>
, <B><A HREF="QccWAVPerceptualWeights.3.html">QccWAVPerceptualWeights</B>(3)</A>
, <B><A HREF="QccWAVSubbandPyramid.3.html">QccWAVSubbandPyramid</B>(3)</A>
, <B><A HREF="QccPackWAV.3.html">QccPackWAV</B>(3)</A>
,
<B><A HREF="QccPackIMG.3.html">QccPackIMG</B>(3)</A>
, <B><A HREF="QccPack.3.html">QccPack</B>(3)</A>
<P>
A. Said and W. A. Pearlman, "A New, Fast, and
Efficient Image Codec Based on Set Partitioning in Hierarchical Trees,"
<I>IEEE Transactions on Circuits and Systems for Video Technology</I>, vol. 6,
no. 3, pp. 243-250, June 1996. <P>
<H2><A NAME="sect5" HREF="#toc5">AUTHOR </A></H2>
Copyright (C) 1997-2001 James E. Fowler
<P>
<H2><A NAME="sect6" HREF="#toc6">LICENSE </A></H2>
The Set Partitioning In Hierarchical Trees (SPIHT) algorithm
is protected by US Patent #5,764,807 (issued June 9, 1998) and other international
patents and patents pending. An implementation of the SPIHT algorithm is
included herein (utility programs spihtencode and spihtdecode, and spiht.c
in the QccPackSPIHT module of the QccPack library) with the permission
of PrimaComp, Inc., exclusive holder of patent rights. PrimaComp has graciously
granted a license with certain restrictions governing the terms and conditions
for use, copying, distribution, and modification of the SPIHT algorithm
implementation contained herein. Specifically, only use in academic and
non-commercial research is permitted, while all commercial use is prohibited.
Refer to the file LICENSE-SPIHT for more details. <P>
<P>
<P>
<HR><P>
<A NAME="toc"><B>Table of Contents</B></A><P>
<UL>
<LI><A NAME="toc0" HREF="#sect0">NAME</A></LI>
<LI><A NAME="toc1" HREF="#sect1">SYNOPSIS</A></LI>
<LI><A NAME="toc2" HREF="#sect2">OPTIONS</A></LI>
<LI><A NAME="toc3" HREF="#sect3">DESCRIPTION</A></LI>
<LI><A NAME="toc4" HREF="#sect4">SEE ALSO</A></LI>
<LI><A NAME="toc5" HREF="#sect5">AUTHOR</A></LI>
<LI><A NAME="toc6" HREF="#sect6">LICENSE</A></LI>
</UL>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -