pnmtofiasco - Convert PNM file to FIASCO compressed file
SYNOPSIS
pnmtofiasco [option]... [filename]...
DESCRIPTION
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, --opti
mize 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 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 Stan
dard 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 cur
rent directory.
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 speci
fied 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:
Preload compression basis name into FIASCO. The
basis name provides the initial compression dictio
nary. 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 optimiza
tion 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 pre
diction 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 sub
divided into; see option --tiling-exponent=N) by
method name; default is "desc-variance".
cessed first.
asc-variance: Tiles with large variances are pro
cessed 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 par
titioning 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),
-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 pre
dicting which should be used for frame N; the frame
type pattern is periodically extended. Valid char
acters 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 interpo
lated prediction of B-frames.
--B-as-past-ref
Also use previously encoded B-frames when predic
tion the current frame. If this option is not set,
only I- and P-frames are used to predict the cur
rent frame.
EXAMPLES
pnmtofiasco < foo.ppm >foo.wfa
Compress the still image "foo.ppm" to the FIASCO
file "foo.wfa" using the default options.
foo0*.ppm
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 sec
ond. 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.
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(1), ppmtojpeg(1), pnmtojbig(1), ppmtogif(1),
pnm(5)
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 Ver
lag, ISBN 3-89820-002-7, October 1999.
AUTHOR
Ullrich Hafner <hafner@bigfoot.de>
Man(1) output converted with
man2html