man-pages/man1/pnmtofiasco.1.html
2021-03-31 01:06:50 +01:00

398 lines
12 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML><HEAD><TITLE>Man page of pnmmtofiasco</TITLE>
</HEAD><BODY>
<H1>pnmmtofiasco</H1>
Section: User Commands (1)<BR>Updated: July 12, 2000<BR><A HREF="#index">Index</A>
<A HREF="/cgi-bin/man/man2html">Return to Main Contents</A><HR>
<P>
<A NAME="lbAB">&nbsp;</A>
<H2>NAME</H2>
pnmtofiasco - Convert a portable anymap to FIASCO compressed file
<P>
<A NAME="lbAC">&nbsp;</A>
<H2>SYNOPSIS</H2>
<B>pnmtofiasco</B>
[<I>option</I>]...
[<I>filename</I>]...
<P>
<A NAME="lbAD">&nbsp;</A>
<H2>DESCRIPTION</H2>
<B>pnmtofiasco </B>
compresses the named pbm, pgm, or ppm image files, or Standard Input
if no file is named, and produces a FIASCO file on Standard Output.
<P>
<A NAME="lbAE">&nbsp;</A>
<H2>OPTIONS</H2>
All option names may be abbreviated; for example, --optimize may be
written --optim or --opt. For most options a one letter short option
is provided. Mandatory or optional arguments to long options are
mandatory or optional for short options, too. Both short and long
options are case sensitive.
<P>
The basic options are:
<P>
<DL COMPACT>
<DT id="1"><B>-i</B> <I>name</I>, <B>--input-name=</B><I>name</I><DD>
Compress the named images, not Standard Input.
If
<I>name</I>
is
<B>-</B>,
read Standard Input.
<I>name</I>
has to be either an image filename or a template of the form:
<P>
<CENTER>
prefix[start-end{+,-}step]suffix<BR>
</CENTER>
<P>
Templates are useful when compressing video streams: e.g., if you specify
the template
<B>img0[12-01-2].pgm</B>,
then
<B>pnmtofiasco</B>
compresses the images img012.pgm, img010.pgm, ..., img002.pgm.
<P>
If
<I>name</I>
is a relative path,
<B>pnmtofiasco </B>
searches for the image files in the current directory and in the
(colon-separated) list of directories given by the environment
variable
<B>FIASCO_IMAGES</B>.
<P>
<DT id="2"><B>-o</B> <I>output-file</I>, <B>--output-name=</B><I>name</I><DD>
Write FIASCO output to the named file, not to Standard Output.
<P>
If
<I>name</I>
is a relative path and the environment variable
<B>FIASCO_DATA</B>
is a (colon-separated) list of directories, then
<B>pnmtofiasco</B>
writes the output file to the first (writable) directory of this
list. Otherwise,
<B>pnmtofiasco</B>
write it to the current directory.
<P>
<DT id="3"><B>-q</B> <I>N</I>, <B>--quality=</B><I>N</I><DD>
Set quality of compression to
<I>N</I>.
Quality is 1 (worst) to 100 (best); default is 20.
<P>
<DT id="4"><B>-v</B>, <B>--version<DD>
Print
pnmtofiasco</B>
version number, then exit.
<P>
<DT id="5"><B>-V</B> <I>N</I>, <B>--verbose </B><I>N</I><DD>
Set level of verbosity to
<I>N</I>.
Level is 0 (no output at all), 1 (show progress meter), or 2 (show
detailed compression statistics); default is 1.
<P>
<DT id="6"><B>-B</B> <I>N</I>, <B>--progress-meter </B><I>N</I><DD>
Set type of progress-meter to
<I>N</I>.
The following types are available; default is 1:
<P>
<B>0</B>:
no progress meter
<P>
<B>1</B>:
RPM style progress bar using 50 hash marks
<P>
<B>2</B>:
percentage meter
<P>
<DT id="7"><B>-f</B> <I>name</I>, <B>--config=</B><I>name</I><DD>
Load parameter file
<I>name </I>
to initialize the options of
<B>pnmtofiasco</B>.
See file
<B>system.fiascorc</B>
for an example of the syntax. Options of
<B>pnmtofiasco</B>
are set by any of the following methods (in the specified order):
<P>
1) Global ressource file
<B>/etc/system.fiascorc</B>
<P>
2) $HOME/.fiascorc
<P>
3) command line
<P>
4) --config=<I>name</I>
<P>
<DT id="8"><B>-h</B>, <B>--info<DD>
Print brief help, then exit.
<P>
<DT id="9">-H</B>, <B>--help<DD>
Print detailed help, then exit.
<P>
<DT id="10">The options for advanced users are:<DD>
<P>
<DT id="11">-b</B> <I>name</I>, <B>--basis-name=</B><I>name</I><DD>
Preload compression basis <I>name</I> into FIASCO. The basis <I>name</I>
provides the initial compression dictionary. Either use one of the
files &quot;small.fco&quot;, &quot;medium.fco&quot;, or &quot;large.fco&quot; that come with
<B>pnmtofiasco </B>
or create a new ASCII basis file.
<BR>&nbsp;&nbsp;&nbsp;
<DT id="12"><B>-z</B> <I>N</I>, <B>--optimize=</B><I>N</I> Set optimization level to<DD>
<I>N</I>. Level is 0 (fastes) to 3 (slowest); default is 1. Be warned,
the encoding time dramatically increased when <I>N</I>=<B>2</B> or
<I>N</I>=<B>3</B> while the compression performance only slightly
improves.
<P>
<DT id="13"><B>-P</B>, <B>--prediction<DD>
Use additional predictive coding. If this optimization is enabled then
the image is compressed in two steps. In the first step, a coarse
approximation of the image is computed using large unichrome
blocks. Finally, the delta image is computed and the prediction error
is approximated using the standard FIASCO algorithm.
<P>
<DT id="14">-D</B> <I>N</I>, <B>--dictionary-size=</B><I>N</I><DD>
Set size of dictionary that is used when coding the luminance
band to <I>N</I>; default is 10000, i.e., the dictionary is not
restricted.
<P>
<DT id="15"><B>-C</B> <I>N</I>, <B>--chroma-dictionary=</B><I>N</I><DD>
Set size of dictionary that is used when coding chroma bands to
<I>N</I>; default is 40.
<P>
<DT id="16"><B>-Q</B> <I>N</I>, <B>--chroma-qfactor=</B><I>N</I><DD>
Reduce the quality of chroma band compression <I>N</I>-times with
respect to the user defined quality <I>q</I> of the luminance
band compression (<B>--quality</B>=<I>q</I>); default is 2.
<P>
<DT id="17"><B>-t</B> <I>N</I>, <B>--tiling-exponent=</B><I>N</I><DD>
Subdivide the image into 2^<I>N</I> tiles prior coding; default is 4,
i.e. the image is subdivided into 16 tiles. The processing order of
the individual tiles is defined by the option
<B>--tiling-method=</B><I>name</I>.
<P>
<DT id="18"><B>-T</B> <I>name</I>, <B>--tiling-method=</B><I>name</I><DD>
Order the individual image tiles (the image is subdivided into; see
option <B>--tiling-exponent=</B><I>N</I>) by method <I>name</I>; default
is &quot;desc-variance&quot;.
<P>
<B>desc-variance</B>: Tiles with small variances are processed first.
<P>
<B>asc-variance</B>: Tiles with large variances are processed first.
<P>
<B>desc-spiral</B>: Tiles are process in spiral order starting in the
middle.
<P>
<B>asc-spiral</B>: Tiles are process in spiral order starting at the
border.
<P>
<DT id="19"><B>--rpf-mantissa=</B><I>N</I><DD>
Use <I>N</I> mantissa bits for quantized coefficients.
<P>
<DT id="20"><B>--dc-rpf-mantissa=</B><I>N</I><DD>
Use <I>N</I> mantissa bits for quantized DC coefficients.
<P>
<DT id="21"><B>--rpf-range=</B><I>N</I><DD>
Coefficients outside the quantization interval [-<I>N</I>,+<I>N</I>] are
set to zero.
<P>
<DT id="22"><B>--dc-rpf-range=</B><I>N</I><DD>
DC coefficients outside the quantization interval [-<I>N</I>,+<I>N</I>] are
set to zero.
<P>
<DT id="23">Additional options for video compression are:<DD>
<P>
<DT id="24"><B>-s</B> <I>N</I>, <B>--smooth=</B><I>N</I><DD>
Smooth decompressed reference frames along the partitioning borders by
the given amount <I>N</I>. <I>N</I> is 0 (no smoothing) to 100; default
is 70. This factor is stored in the FIASCO file.
<P>
<DT id="25"><B>-m</B> <I>N</I>, <B>--min-level=</B><I>N</I><DD>
Start prediction (motion compensated prediction or additional prediction) on
block level <I>N</I>; default is level 6. I.e., motion compensation is
applied to all image blocks of at least 8x8 pixels (binary tree level
<I>N</I>=6), 16x8 (<I>N</I>=7), 16x16 (<I>N</I>=8), etc.
<P>
<DT id="26"><B>-M</B> <I>N</I>, <B>--max-level=</B><I>N</I><DD>
Stop prediction (motion compensated prediction or additional prediction) on
block level <I>N</I>; default is level 10. I.e., motion compensation is
applied to all image blocks of at most 16x16 pixels (<I>N</I>=8),
32x16 (<I>N</I>=9), 32x32 (<I>N</I>=10), etc.
<P>
<DT id="27"><B>-2</B>, <B>--half-pixel<DD>
Use half pixel precise motion compensation.
<P>
<DT id="28">-F</B> <I>N</I>, <B>--fps=</B><I>N</I><DD>
Set number of frames per second to <I>N</I>. This value is stored in
the FIASCO output file and is used in the decoder <A HREF="/cgi-bin/man/man2html?1+dfiasco">dfiasco</A>(1) to control the
framerate.
<P>
<DT id="29"><B>-p</B> <I>type</I>, <B>--pattern=</B><I>type</I><DD>
Defines the type of inter frame compression which should be applied to
individual frames of a video stream. <I>type</I> is a sequence of
characters; default is &quot;IPPPPPPPPP&quot;. Element <B>N</B> defines the type
of predicting which should be used for frame <B>N</B>; the frame type
pattern is periodically extended. Valid characters are:
<P>
<B>I</B>: intra frame, i.e., no motion compensated prediction is used at
all.
<P>
<B>P</B>: predicted frame, i.e., a previously encoded frame is used for
prediction (forward prediction).
<P>
<B>B</B>: bidirectional predicted frame, i.e., not only a previously
shown frame but also a frame of the future is used for prediction
(forward, backward or interpolated prediction).
<P>
<DT id="30"><B>--cross-B-search<DD>
Instead of using exhaustive search the &quot;Cross-B-Search&quot; algorithm
is used to find the best interpolated prediction of B-frames.
<P>
<DT id="31">--B-as-past-ref<DD>
Also use previously encoded B-frames when prediction the current
frame. If this option is not set, only I- and P-frames are used to
predict the current frame.
<P>
</DL>
</B><A NAME="lbAF">&nbsp;</A>
<H2>EXAMPLES</H2>
<DL COMPACT>
<DT id="32">pnmtofiasco &lt; foo.ppm &gt;foo.wfa<DD>
Compress the still image &quot;foo.ppm&quot; to the FIASCO file &quot;foo.wfa&quot; using
the default options.
<P>
<DT id="33">pnmtofiasco -2 -p &quot;IBBPBBPBB&quot; -fps 15 -o video.wfa foo0*.ppm <DD>
Compress the video frames &quot;foo0*.ppm&quot; to the FIASCO file &quot;video.wfa&quot; using
half pixel precise motion compensation at a frame rate of 15 frames
per second. Intra frame 1 is used to predict P-frame 4, frames 1 and 4
are used to predict B-frames 2 and 3, and so on. Frame 10 is again an
intra-frame.
<P>
</DL>
<A NAME="lbAG">&nbsp;</A>
<H2>FILES</H2>
<DL COMPACT>
<DT id="34"><B>/etc/system.fiascorc</B>
<DD>
The systemwide initialization file.
<DT id="35">$HOME<B>/.fiascorc</B>
<DD>
The personal initialization file.
<P>
</DL>
<A NAME="lbAH">&nbsp;</A>
<H2>ENVIRONMENT</H2>
<DL COMPACT>
<DT id="36"><B>FIASCO_IMAGES</B>
<DD>
Search path for image files. Default is &quot;./&quot;.
<DT id="37"><B>FIASCO_DATA</B>
<DD>
Search and save path for FIASCO files. Default is &quot;./&quot;.
<P>
</DL>
<A NAME="lbAI">&nbsp;</A>
<H2>SEE ALSO</H2>
<BR>
<B><A HREF="/cgi-bin/man/man2html?1+fiascotopnm">fiascotopnm</A></B>(1),
<B><A HREF="/cgi-bin/man/man2html?1+ppmtojpeg">ppmtojpeg</A></B>(1),
<B><A HREF="/cgi-bin/man/man2html?1+pnmtojbig">pnmtojbig</A></B>(1),
<B><A HREF="/cgi-bin/man/man2html?1+ppmtogif">ppmtogif</A></B>(1),
<B><A HREF="/cgi-bin/man/man2html?5+pnm">pnm</A></B>(5)
<BR>
<P>
Ullrich Hafner, Juergen Albert, Stefan Frank, and Michael Unger.
<B>Weighted Finite Automata for Video Compression</B>, IEEE Journal on
Selected Areas In Communications, January 1998
<BR>
Ullrich Hafner. <B>Low Bit-Rate Image and Video Coding with Weighted
Finite Automata</B>, Ph.D. thesis, Mensch &amp; Buch Verlag, ISBN
3-89820-002-7, October 1999.
<P>
<A NAME="lbAJ">&nbsp;</A>
<H2>AUTHOR</H2>
Ullrich Hafner &lt;<A HREF="mailto:hafner@bigfoot.de">hafner@bigfoot.de</A>&gt;
<P>
<HR>
<A NAME="index">&nbsp;</A><H2>Index</H2>
<DL>
<DT id="38"><A HREF="#lbAB">NAME</A><DD>
<DT id="39"><A HREF="#lbAC">SYNOPSIS</A><DD>
<DT id="40"><A HREF="#lbAD">DESCRIPTION</A><DD>
<DT id="41"><A HREF="#lbAE">OPTIONS</A><DD>
<DT id="42"><A HREF="#lbAF">EXAMPLES</A><DD>
<DT id="43"><A HREF="#lbAG">FILES</A><DD>
<DT id="44"><A HREF="#lbAH">ENVIRONMENT</A><DD>
<DT id="45"><A HREF="#lbAI">SEE ALSO</A><DD>
<DT id="46"><A HREF="#lbAJ">AUTHOR</A><DD>
</DL>
<HR>
This document was created by
<A HREF="/cgi-bin/man/man2html">man2html</A>,
using the manual pages.<BR>
Time: 00:05:24 GMT, March 31, 2021
</BODY>
</HTML>