- -i name, --input-name=name
- Compress the named images, not Standard Input. If name is -, read Standard
Input. name has to be either an image filename or a template of the form:
prefix[start-end{+,-}step]suffix
Templates are useful when compressing
video streams: e.g., if you specify the template img0[12-01-2].pgm, then pnmtofiasco
compresses the images img012.pgm, img010.pgm, ..., img002.pgm.
If name is a
relative path, pnmtofiasco searches for the image files in the current
directory and in the (colon-separated) list of directories given by the
environment variable FIASCO_IMAGES.
- -o output-file, --output-name=name
- Write
FIASCO output to the named file, not to Standard Output.
If name is a
relative path and the environment variable FIASCO_DATA is a (colon-separated)
list of directories, then pnmtofiasco writes the output file to the first
(writable) directory of this list. Otherwise, pnmtofiasco write it to the
current directory.
- -q N, --quality=N
- Set quality of compression to N. Quality
is 1 (worst) to 100 (best); default is 20.
- -v, --version
- Print pnmtofiasco
version number, then exit.
- -V N, --verbose N
- Set level of verbosity to N.
Level is 0 (no output at all), 1 (show progress meter), or 2 (show detailed
compression statistics); default is 1.
- -B N, --progress-meter N
- Set type of
progress-meter to N. The following types are available; default is 1:
0:
no progress meter
1: RPM style progress bar using 50 hash marks
2: percentage
meter
- -f name, --config=name
- Load parameter file name to initialize the
options of pnmtofiasco. See file system.fiascorc for an example of the syntax.
Options of pnmtofiasco are set by any of the following methods (in the
specified order):
1) Global ressource file /etc/system.fiascorc
2) $HOME/.fiascorc
3) command line
4) --config=name
- -h, --info
- Print brief help, then exit.
- -H, --help
- Print detailed help, then exit.
- The options for advanced users
are:
- -b name, --basis-name=name
- Preload compression basis name into FIASCO.
The basis name provides the initial compression dictionary. Either use
one of the files "small.fco", "medium.fco", or "large.fco" that come with
pnmtofiasco or create a new ASCII basis file.
- -z N, --optimize=N Set optimization level to
- N. Level is 0 (fastes) to 3 (slowest);
default is 1. Be warned, the encoding time dramatically increased when N=2
or N=3 while the compression performance only slightly improves.
- -P, --prediction
- 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.
- -D N, --dictionary-size=N
- Set size of dictionary that is
used when coding the luminance band to N; default is 10000, i.e., the dictionary
is not restricted.
- -C N, --chroma-dictionary=N
- Set size of dictionary that
is used when coding chroma bands to N; default is 40.
- -Q N, --chroma-qfactor=N
- Reduce the quality of chroma band compression N-times with respect to the
user defined quality q of the luminance band compression (--quality=q); default
is 2.
- -t N, --tiling-exponent=N
- Subdivide the image into 2^N 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 --tiling-method=name.
- -T
name, --tiling-method=name
- Order the individual image tiles (the image is
subdivided into; see option --tiling-exponent=N) by method name; default is
"desc-variance".
desc-variance: Tiles with small variances are processed
first.
asc-variance: Tiles with large variances are processed first.
desc-spiral:
Tiles are process in spiral order starting in the middle.
asc-spiral: Tiles
are process in spiral order starting at the border.
- --rpf-mantissa=N
- Use N
mantissa bits for quantized coefficients.
- --dc-rpf-mantissa=N
- Use N mantissa
bits for quantized DC coefficients.
- --rpf-range=N
- Coefficients outside the
quantization interval [-N,+N] are set to zero.
- --dc-rpf-range=N
- DC coefficients
outside the quantization interval [-N,+N] are set to zero.
- Additional options
for video compression are:
- -s N, --smooth=N
- Smooth decompressed reference
frames along the partitioning borders by the given amount N. N is 0 (no
smoothing) to 100; default is 70. This factor is stored in the FIASCO file.
- -m N, --min-level=N
- Start prediction (motion compensated prediction or additional
prediction) on block level N; default is level 6. I.e., motion compensation
is applied to all image blocks of at least 8x8 pixels (binary tree level
N=6), 16x8 (N=7), 16x16 (N=8), etc.
- -M N, --max-level=N
- Stop prediction (motion
compensated prediction or additional prediction) on block level N; default
is level 10. I.e., motion compensation is applied to all image blocks of at
most 16x16 pixels (N=8), 32x16 (N=9), 32x32 (N=10), etc.
- -2, --half-pixel
- Use
half pixel precise motion compensation.
- -F N, --fps=N
- Set number of frames
per second to N. This value is stored in the FIASCO output file and is used
in the decoder dfiasco(1)
to control the framerate.
- -p type, --pattern=type
- Defines the type of inter frame compression which should be applied to
individual frames of a video stream. type is a sequence of characters; default
is "IPPPPPPPPP". Element N defines the type of predicting which should be
used for frame N; the frame type pattern is periodically extended. Valid
characters are:
I: intra frame, i.e., no motion compensated prediction is
used at all.
P: predicted frame, i.e., a previously encoded frame is used
for prediction (forward prediction).
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).
- --cross-B-search
- Instead of using exhaustive search the "Cross-B-Search" algorithm is used
to find the best interpolated prediction of B-frames.
- --B-as-past-ref
- 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.
Ullrich Hafner, Juergen Albert, Stefan Frank, and Michael Unger. Weighted
Finite Automata for Video Compression, IEEE Journal on Selected Areas In
Communications, January 1998
Ullrich Hafner. Low Bit-Rate Image and Video Coding with Weighted Finite
Automata, Ph.D. thesis, Mensch & Buch Verlag, ISBN 3-89820-002-7, October 1999.