1Pnmtofiasco User Manual(0) Pnmtofiasco User Manual(0)
2
3
4
6 pnmtofiasco - Convert PNM file to FIASCO compressed file
7
8
10 pnmtofiasco [option]... [filename]...
11
12
14 This program is part of Netpbm(1).
15
16 pnmtofiasco compresses the named pbm, pgm, or ppm image files, or Stan‐
17 dard Input if no file is named, and produces a FIASCO file on Standard
18 Output.
19
20
22 All option names may be abbreviated; for example, --optimize may be
23 written --optim or --opt. For most options a one letter short option is
24 provided. Mandatory or optional arguments to long options are manda‐
25 tory or optional for short options, too. Both short and long options
26 are case sensitive.
27
28 The basic options are:
29
30
31
32 -i name, --input-name=name
33 Compress the named images, not Standard Input. If name is -,
34 read Standard Input. name has to be either an image filename or
35 a template of the form:
36
37 prefix[start-end{+,-}step]suffix
38
39 Templates are useful when compressing video streams: e.g., if
40 you specify the template img0[12-01-2].pgm, then pnmtofiasco
41 compresses the images img012.pgm, img010.pgm, ..., img002.pgm.
42
43 If name is a relative path, pnmtofiasco searches for the image
44 files in the current directory and in the (colon-separated) list
45 of directories given by the environment variable FIASCO_IMAGES.
46
47
48 -o output-file, --output-name=name
49 Write FIASCO output to the named file, not to Standard Output.
50
51 If name is a relative path and the environment variable
52 FIASCO_DATA is a (colon-separated) list of directories, then
53 pnmtofiasco writes the output file to the first (writable)
54 directory of this list. Otherwise, pnmtofiasco write it to the
55 current directory.
56
57
58 -q N, --quality=N
59 Set quality of compression to N. Quality is 1 (worst) to 100
60 (best); default is 20.
61
62
63 -v, --version
64 Print pnmtofiasco version number, then exit.
65
66
67 -V N, --verbose N
68 Set level of verbosity to N. Level is 0 (no output at all), 1
69 (show progress meter), or 2 (show detailed compression statis‐
70 tics); default is 1.
71
72
73 -B N, --progress-meter N
74 Set type of progress-meter to N. The following types are avail‐
75 able; default is 1:
76
77
78
79 0 no progress meter
80
81
82 1 RPM style progress bar using 50 hash marks
83
84
85 2 percentage meter
86
87
88
89
90 -f name, --config=name
91 Load parameter file name to initialize the options of pnmtofi‐
92 asco. See file system.fiascorc for an example of the syntax.
93 Options of pnmtofiasco are set by any of the following methods
94 (in the specified order):
95
96
97
98 · Global resource file /etc/system.fiascorc
99
100 · $HOME/.fiascorc
101
102 · command line
103
104 · --config=name
105
106
107
108 -h, --info
109 Print brief help, then exit.
110
111
112 -H, --help
113 Print detailed help, then exit.
114
115
116
117 The options for advanced users are:
118
119
120
121 -b name, --basis-name=name
122 Preload compression basis name into FIASCO. The basis name pro‐
123 vides the initial compression dictionary. Either use one of the
124 files 'small.fco', 'medium.fco', or 'large.fco' that come with
125 pnmtofiasco or create a new ASCII basis file.
126
127
128 -z N, --optimize=N
129 Set optimization level to N. Level is 0 (fastest) to 3 (slow‐
130 est); default is 1. Be warned, the encoding time dramatically
131 increased when N=2 or N=3 while the compression performance only
132 slightly improves.
133
134
135 -P, --prediction
136 Use additional predictive coding. If this optimization is
137 enabled then the image is compressed in two steps. In the first
138 step, a coarse approximation of the image is computed using
139 large unichrome blocks. Finally, the delta image is computed
140 and the prediction error is approximated using the standard
141 FIASCO algorithm.
142
143
144 -D N, --dictionary-size=N
145 Set size of dictionary that is used when coding the luminance
146 band to N; default is 10000, i.e., the dictionary is not
147 restricted.
148
149
150 -C N, --chroma-dictionary=N
151 Set size of dictionary that is used when coding chroma bands to
152 N; default is 40.
153
154
155 -Q N, --chroma-qfactor=N
156 Reduce the quality of chroma band compression N-times with
157 respect to the user defined quality q of the luminance band com‐
158 pression (--quality=q); default is 2.
159
160
161 -t N, --tiling-exponent=N
162 Subdivide the image into 2^N tiles prior coding; default is 4,
163 i.e. the image is subdivided into 16 tiles. The processing order
164 of the individual tiles is defined by the option --tiling-
165 method=name.
166
167
168 -T name, --tiling-method=name
169 Order the individual image tiles (the image is subdivided into;
170 see option --tiling-exponent=N) by method name; default is desc-
171 variance.
172
173
174
175 desc-variance
176 Tiles with small variances are processed first.
177
178
179 asc-variance
180 Tiles with large variances are processed first.
181
182
183 desc-spiral
184 Tiles are process in spiral order starting in the middle.
185
186
187 asc-spiral
188 Tiles are process in spiral order starting at the border.
189
190
191
192
193 --rpf-mantissa=N
194 Use N mantissa bits for quantized coefficients.
195
196
197 --dc-rpf-mantissa=N
198 Use N mantissa bits for quantized DC coefficients.
199
200
201 --rpf-range=N
202 Coefficients outside the quantization interval [-N,+N] are set
203 to zero.
204
205
206 --dc-rpf-range=N
207 DC coefficients outside the quantization interval [-N,+N] are
208 set to zero.
209
210
211
212 Additional options for video compression are
213
214
215
216 -s N, --smooth=N
217 Smooth decompressed reference frames along the partitioning bor‐
218 ders by the given amount N. N is 0 (no smoothing) to 100;
219 default is 70. This factor is stored in the FIASCO file.
220
221
222 -m N, --min-level=N
223 Start prediction (motion compensated prediction or additional
224 prediction) on block level N; default is level 6. I.e., motion
225 compensation is applied to all image blocks of at least 8x8 pix‐
226 els (binary tree level N=6), 16x8 (N=7), 16x16 (N=8), etc.
227
228
229 -M N, --max-level=N
230 Stop prediction (motion compensated prediction or additional
231 prediction) on block level N; default is level 10. I.e., motion
232 compensation is applied to all image blocks of at most 16x16
233 pixels (N=8), 32x16 (N=9), 32x32 (N=10), etc.
234
235
236 -2, --half-pixel
237 Use half pixel precise motion compensation.
238
239
240 -F N, --fps=N
241 Set number of frames per second to N. This value is stored in
242 the FIASCO output file and is used in the decoder fiasco‐
243 topnm(1)tocontroltheframerate.
244
245
246 -p type, --pattern=type
247 Defines the type of inter frame compression which should be
248 applied to individual frames of a video stream. type is a
249 sequence of characters; default is 'IPPPPPPPPP'. Element N
250 defines the type of predicting which should be used for frame N;
251 the frame type pattern is periodically extended. Valid charac‐
252 ters are:
253
254
255
256 I intra frame, i.e., no motion compensated prediction is used at
257 all.
258
259
260 P predicted frame, i.e., a previously encoded frame is used for
261 prediction (forward prediction).
262
263
264 B bidirectional predicted frame, i.e., not only a previously shown
265 frame but also a frame of the future is used for prediction
266 (forward, backward or interpolated prediction).
267
268
269
270
271 --cross-B-search
272 Instead of using exhaustive search the 'Cross-B-Search' algo‐
273 rithm is used to find the best interpolated prediction of B-
274 frames.
275
276
277 --B-as-past-ref
278 Also use previously encoded B-frames when prediction the current
279 frame. If this option is not set, only I- and P-frames are used
280 to predict the current frame.
281
282
283
284
285
287 Compress the still image 'foo.ppm' to the FIASCO file 'foo.wfa' using
288 the default options:
289
290 pnmtofiasco < foo.ppm >foo.wfa
291
292 Compress the video frames 'foo0*.ppm' to the FIASCO file 'video.wfa'
293 using half pixel precise motion compensation at a frame rate of 15
294 frames per second. Intra frame 1 is used to predict P-frame 4, frames
295 1 and 4 are used to predict B-frames 2 and 3, and so on. Frame 10 is
296 again an intra-frame.
297
298 pnmtofiasco -2 -p 'IBBPBBPBB' -fps 15 -o video.wfa foo0*.ppm
299
300
302 /etc/system.fiascorc
303 The systemwide initialization file.
304
305
306 $HOME/.fiascorc
307 The personal initialization file.
308
309
310
311
313 FIASCO_IMAGES
314 Search path for image files. Default is './'.
315
316
317 FIASCO_DATA
318 Search and save path for FIASCO files. Default is './'.
319
320
321
322
324 fiascotopnm(1), ppmtojpeg(1), pnmtojbig(1), pamtogif(1), pnm(1)
325
326 Ullrich Hafner, Juergen Albert, Stefan Frank, and Michael Unger.
327 Weighted Finite Automata for Video Compression, IEEE Journal on
328 Selected Areas In Communications, January 1998
329
330 Ullrich Hafner. Low Bit-Rate Image and Video Coding with Weighted
331 Finite Automata, Ph.D. thesis, Mensch & Buch Verlag, ISBN
332 3-89820-002-7, October 1999.
333
334 FIASCO: An Open-Source Fractal Image and Sequence Codec
335 ⟨http://www.linuxjournal.com/node/4367/print⟩ , Linux Journal, January
336 2001.
337
338
340 Ullrich Hafner <hafner@bigfoot.de>
341
342
343
344netpbm documentation July 12, 2000 Pnmtofiasco User Manual(0)