pnmtofiasco
Updated: July 12, 2000
Table Of Contents
NAME
pnmtofiasco - Convert PNM file to FIASCO compressed file
SYNOPSIS
pnmtofiasco [option]... [filename]...
DESCRIPTION
This program is part of Netpbm. pnmtofiasco 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.
OPTIONS
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.
The basic options are:
-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 pnmtofias-
co 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 FIAS-
CO_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 pn-
mtofiasco writes
the output file to the first (writable) directory of
this list.
Otherwise, pnmtofiasco write it to the current directo-
ry.
-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 resource 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 (fastest) 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 lu-
minance band to
N; default is 10000, i.e., the dictionary is not re-
stricted.
-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; de-
fault 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 subdi-
vided 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 parti-
tioning 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 fiasco-
topnm 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 se-
quence 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 predic-
tion 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.
EXAMPLES
Compress the still image "foo.ppm" to the FIASCO file
"foo.wfa" using the
default options:
pnmtofiasco < foo.ppm >foo.wfa
Compress the video frames "foo0*.ppm" to the FIASCO file
"video.wfa" 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.
pnmtofiasco -2 -p "IBBPBBPBB" -fps 15 -o video.wfa
foo0*.ppm
FILES
/etc/system.fiascorc
The systemwide initialization file.
$HOME/.fiascorc
The personal initialization file.
ENVIRONMENT
FIASCO_IMAGES
Search path for image files. Default is "./".
FIASCO_DATA
Search and save path for FIASCO files. Default is "./".
SEE ALSO
fiascotopnm, ppmtojpeg, pnmtojbig, ppmtogif, pnm
Ullrich Hafner, Juergen Albert, Stefan Frank, and Michael
Unger. Weighted
Finite Automata for Video Compression, IEEE Journal on Select-
ed 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.
AUTHOR
Ullrich Hafner
_________________________________________________________________
Table Of Contents
* NAME
* SYNOPSIS
* DESCRIPTION
* OPTIONS
* EXAMPLES
* FILES
* ENVIRONMENT
* SEE ALSO
* AUTHOR
UNIX/Linux commands referenced on this page:
- file
- write
- users
- time
- size
- at
- factor
- which
- find
- fiascotopnm
- ppmtojpeg
- ppmtogif