comparison manual.lyx @ 3:acb6967ee76d

update to 0.5
author Peter Meerwald <pmeerw@cosy.sbg.ac.at>
date Tue, 14 Aug 2007 21:11:21 +0200
parents be303a3f5ea8
children
comparison
equal deleted inserted replaced
2:b92f06d9a967 3:acb6967ee76d
1 #LyX 1.1 created this file. For more info see http://www.lyx.org/ 1 #LyX 1.5.0rc2 created this file. For more info see http://www.lyx.org/
2 \lyxformat 218 2 \lyxformat 276
3 \begin_document
4 \begin_header
3 \textclass paper 5 \textclass paper
4 \language english 6 \language english
5 \inputencoding auto 7 \inputencoding auto
6 \fontscheme default 8 \font_roman default
9 \font_sans default
10 \font_typewriter default
11 \font_default_family default
12 \font_sc false
13 \font_osf false
14 \font_sf_scale 100
15 \font_tt_scale 100
7 \graphics default 16 \graphics default
8 \paperfontsize default 17 \paperfontsize default
9 \spacing single 18 \spacing single
10 \papersize Default 19 \papersize default
11 \paperpackage a4 20 \use_geometry false
12 \use_geometry 0 21 \use_amsmath 1
13 \use_amsmath 0 22 \use_esint 0
23 \cite_engine basic
24 \use_bibtopic false
14 \paperorientation portrait 25 \paperorientation portrait
15 \secnumdepth 3 26 \secnumdepth 3
16 \tocdepth 3 27 \tocdepth 3
17 \paragraph_separation skip 28 \paragraph_separation skip
18 \defskip smallskip 29 \defskip smallskip
19 \quotes_language english 30 \quotes_language english
20 \quotes_times 2
21 \papercolumns 1 31 \papercolumns 1
22 \papersides 1 32 \papersides 1
23 \paperpagestyle default 33 \paperpagestyle default
24 34 \tracking_changes false
25 \layout Title 35 \output_changes false
26 36 \author "Anonymous"
37 \end_header
38
39 \begin_body
40
41 \begin_layout Title
27 Watermarking Source Code 42 Watermarking Source Code
28 \layout SubTitle 43 \end_layout
29 44
30 version 0.4 45 \begin_layout SubTitle
31 \layout Author 46 version 0.5
32 47 \end_layout
48
49 \begin_layout Author
33 Peter Meerwald 50 Peter Meerwald
34 \layout Address 51 \end_layout
35 52
53 \begin_layout Address
36 Dept. 54 Dept.
37 of Scientific Computing, University of Salzburg 55 of Computer Sciences, University of Salzburg
38 \newline 56 \newline
39 Jakob-Haringer-Str. 57 Jakob-Haringer-Str.
40 2, A-5020 Salzburg, Austria 58 2, A-5020 Salzburg, Austria
41 \newline 59 \newline
42 60
43 \begin_inset LatexCommand \url{mailto:pmeerw@cosy.sbg.ac.at} 61 \begin_inset LatexCommand url
44 62 target "mailto:pmeerw@cosy.sbg.ac.at"
45 \end_inset 63
46 64 \end_inset
47 65
48 \newline 66
49 67 \newline
50 \begin_inset LatexCommand \url{http://www.cosy.sbg.ac.at/~pmeerw/Watermarking} 68
51 69 \begin_inset LatexCommand url
52 \end_inset 70 target "http://www.cosy.sbg.ac.at/~pmeerw/Watermarking"
53 71
54 72 \end_inset
55 \layout Abstract 73
56 74
75 \end_layout
76
77 \begin_layout Abstract
57 This package provides source code for some watermarking algorithms in hopefully 78 This package provides source code for some watermarking algorithms in hopefully
58 portable C code. 79 portable C code.
59 The programs can be used to study watermarking techniques, perform comparative 80 The programs can be used to study watermarking techniques, perform comparative
60 robustness tests and develop new attacks against embedded watermarks. 81 robustness tests and develop new attacks against embedded watermarks.
61 \layout Abstract 82 \end_layout
62 83
84 \begin_layout Abstract
63 However, the provided programs are by no means suitable for real-world applicati 85 However, the provided programs are by no means suitable for real-world applicati
64 on (i.e. 86 on (i.e.
65 copyright protection) and the code solely serves some educational purpose. 87 copyright protection) and the code solely serves some educational purpose.
66 \layout Standard 88 \end_layout
67 89
68 90 \begin_layout Standard
69 \begin_inset LatexCommand \tableofcontents{} 91 \begin_inset LatexCommand tableofcontents
70 92
71 \end_inset 93 \end_inset
72 94
73 95
74 \layout Section 96 \end_layout
75 97
98 \begin_layout Section
76 Introduction 99 Introduction
77 \layout Standard 100 \end_layout
78 101
102 \begin_layout Standard
79 Academic research in the watermarking field has grown dramatically since 103 Academic research in the watermarking field has grown dramatically since
80 approximately 1995. 104 approximately 1995.
81 But surprisingly, source code for the proposed watermarking schemes has 105 But surprisingly, source code for the proposed watermarking schemes has
82 not been made available. 106 not been made available.
83 The reason is most likely the security of many watermarking systems lies 107 The reason is most likely the security of many watermarking systems lies
84 at least to some extent in the embedding and detection algorithm itself, 108 at least to some extent in the embedding and detection algorithm itself,
85 and not in the keys used -- violating the Kerckhoff principle 109 and not in the keys used -- violating the Kerckhoff principle
86 \begin_inset LatexCommand \cite{Kerckhoff1883a} 110 \begin_inset LatexCommand cite
87 111 key "Kerckhoff1883a"
88 \end_inset 112
113 \end_inset
89 114
90 . 115 .
91 \layout Standard 116 \end_layout
92 117
118 \begin_layout Standard
93 With the availability of public robustness test for watermarking algorithms, 119 With the availability of public robustness test for watermarking algorithms,
94 StirMark 120 StirMark
95 \begin_inset LatexCommand \cite{Petitcolas99c, Petitcolas98b, Petitcolas98a} 121 \begin_inset LatexCommand cite
96 122 key "Petitcolas99c, Petitcolas98b, Petitcolas98a"
97 \end_inset 123
124 \end_inset
98 125
99 , Unzign 126 , Unzign
100 \begin_float footnote 127 \begin_inset Foot
101 \layout Standard 128 status collapsed
102 129
103 130 \begin_layout Standard
104 \begin_inset LatexCommand \url{http://www.altern.org/watermark} 131 \begin_inset LatexCommand url
105 132 target "http://www.altern.org/watermark"
106 \end_inset 133
107 134 \end_inset
108 135
109 \end_float 136
137 \end_layout
138
139 \end_inset
140
110 and very recently Checkmark 141 and very recently Checkmark
111 \begin_inset LatexCommand \cite{Pereira01b} 142 \begin_inset LatexCommand cite
112 143 key "Pereira01b"
113 \end_inset 144
145 \end_inset
114 146
115 , the situation begins to improve. 147 , the situation begins to improve.
116 Now it is possible to measure the performance of watermarking systems. 148 Now it is possible to measure the performance of watermarking systems.
117 149
118 \layout Standard 150 \end_layout
119 151
152 \begin_layout Standard
120 In order the compare and evaluate new embedding and detection techniques, 153 In order the compare and evaluate new embedding and detection techniques,
121 it is also necessary to have some reference implementations of the older, 154 it is also necessary to have some reference implementations of the older,
122 now often called classical schemes. 155 now often called classical schemes.
123 In this work, we provide some implementations of watermarking schemes, 156 In this work, we provide some implementations of watermarking schemes,
124 some of which can be considered 'classical'. 157 some of which can be considered 'classical'.
125 \layout Standard 158 \end_layout
126 159
160 \begin_layout Standard
127 It was the goal to capture the main ideas of the proposed algorithms, as 161 It was the goal to capture the main ideas of the proposed algorithms, as
128 layed out in the respective papers. 162 layed out in the respective papers.
129 This is clearly not an easy task as some papers do not disclose all details 163 This is clearly not an easy task as some papers do not disclose all details
130 or state which particular parameters were used to obtain the results outlined 164 or state which particular parameters were used to obtain the results outlined
131 in the communications. 165 in the communications.
132 \layout Standard 166 \end_layout
133 167
168 \begin_layout Standard
134 I am very interested in hearing your comments, complaints and suggestions 169 I am very interested in hearing your comments, complaints and suggestions
135 regarding this software. 170 regarding this software.
136 Moreover, if you have source code for a watermarking scheme not yet covered 171 Moreover, if you have source code for a watermarking scheme not yet covered
137 or some useful utility I would be happy to include your code in this distributi 172 or some useful utility I would be happy to include your code in this distributi
138 on. 173 on.
139 Please see the contact information at the top of this document. 174 Please see the contact information at the top of this document.
140 \layout Standard 175 \end_layout
141 176
177 \begin_layout Standard
142 If you use the accompanying code, please cite my thesis: 178 If you use the accompanying code, please cite my thesis:
143 \layout Quotation 179 \end_layout
144 180
181 \begin_layout Quotation
145 Peter Meerwald, Digital Image Watermarking in the Wavelet Transform Domain, 182 Peter Meerwald, Digital Image Watermarking in the Wavelet Transform Domain,
146 Master's Thesis, Department of Scientific Computing, University of Salzburg, 183 Master's Thesis, Department of Scientific Computing, University of Salzburg,
147 Austria, January 2001. 184 Austria, January 2001.
148 \layout Section 185 \end_layout
149 186
187 \begin_layout Section
150 Software 188 Software
151 \layout Standard 189 \end_layout
152 190
191 \begin_layout Standard
153 Most of the software provided herein was written by myself, as part of my 192 Most of the software provided herein was written by myself, as part of my
154 Master thesis. 193 Master thesis.
155 Some contributions were made by Vassilis Fotopoulos 194 Some contributions were made by Vassilis Fotopoulos
156 \begin_float footnote 195 \begin_inset Foot
157 \layout Standard 196 status collapsed
158 197
159 198 \begin_layout Standard
160 \begin_inset LatexCommand \url{mailto:vfotop1@physics.upatras.gr} 199 \begin_inset LatexCommand url
161 200 target "mailto:vfotop1@physics.upatras.gr"
162 \end_inset 201
163 202 \end_inset
164 203
165 \end_float 204
205 \end_layout
206
207 \end_inset
208
166 . 209 .
167 The software in the archive is organized in the following sub-directories: 210 The software in the archive is organized in the following sub-directories:
168 \layout Description 211 \end_layout
169 212
213 \begin_layout Description
170 Fotopoulos/ contains contributions by Vassilis Fotopoulos 214 Fotopoulos/ contains contributions by Vassilis Fotopoulos
171 \layout Description 215 \end_layout
172 216
217 \begin_layout Description
173 Meerwald/ contains my work 218 Meerwald/ contains my work
174 \layout Description 219 \end_layout
175 220
221 \begin_layout Description
176 images/ contains the Lena image in PGM format; the default parameters of 222 images/ contains the Lena image in PGM format; the default parameters of
177 most algorithms are tuned to work best with that image 223 most algorithms are tuned to work best with that image
178 \layout Description 224 \end_layout
179 225
226 \begin_layout Description
180 linux_bin/ the place where the Linux executables are stored in the binary 227 linux_bin/ the place where the Linux executables are stored in the binary
181 distribution 228 distribution
182 \layout Description 229 \end_layout
183 230
231 \begin_layout Description
184 win32_bin/ the place where Windows 32-bit executables are distributed; tested 232 win32_bin/ the place where Windows 32-bit executables are distributed; tested
185 with Windows NT 4.0 only 233 with Windows NT 4.0 only
186 \layout Description 234 \end_layout
187 235
236 \begin_layout Description
188 make/ contains the 237 make/ contains the
189 \family typewriter 238 \family typewriter
190 \size small 239 \size small
191 Makefile 240 Makefile
192 \family default 241 \family default
193 \size default 242 \size default
194 options to build the code on supported platforms 243 options to build the code on supported platforms
195 \layout Standard 244 \end_layout
196 245
246 \begin_layout Standard
197 For the purpose of this software package, a watermarking system comprises 247 For the purpose of this software package, a watermarking system comprises
198 four parts, namely: signature generation, watermark embedding, watermark 248 four parts, namely: signature generation, watermark embedding, watermark
199 extraction and signature comparison or detection -- with the exception 249 extraction and signature comparison or detection -- with the exception
200 of Vassilis's code; there are only cast and test programs (corresponds 250 of Vassilis's code; there are only cast and test programs (corresponds
201 to watermark embedding and detection). 251 to watermark embedding and detection).
202 Signature is used more less as a synonym for mark and can be thought of 252 Signature is used more less as a synonym for mark and can be thought of
203 as the payload (at least for some schemes :-). 253 as the payload (at least for some schemes :-).
204 \layout Standard 254 \end_layout
205 255
256 \begin_layout Standard
206 All programs only accept the image in NetPBM format and will also produce 257 All programs only accept the image in NetPBM format and will also produce
207 only NetPBM-format files (see section 258 only NetPBM-format files (see section
208 \begin_inset LatexCommand \ref{sec:prereq} 259 \begin_inset LatexCommand ref
209 260 reference "sec:prereq"
210 \end_inset 261
262 \end_inset
211 263
212 ). 264 ).
213 Unfortunately, most programs have only been tested with 8-bit gray-scale 265 Unfortunately, most programs have only been tested with 8-bit gray-scale
214 images of size 266 images of size
215 \begin_inset Formula \( 512\times 512. \) 267 \begin_inset Formula $512\times512.$
216 \end_inset 268 \end_inset
217 269
218 270
219 \layout Standard 271 \end_layout
220 272
273 \begin_layout Standard
221 In order to simplify batch testing, the programs allow to read either from 274 In order to simplify batch testing, the programs allow to read either from
222 a file, e.g. 275 a file, e.g.
223 \layout Standard 276 \end_layout
224 277
225 278 \begin_layout Standard
226 \family typewriter 279
227 \size small 280 \family typewriter
281 \size small
282 wm_cox_e -s cox.sig
283 \family default
284
285 \family typewriter
286 \series bold
287 image.pgm
288 \end_layout
289
290 \begin_layout Standard
291 or from standard input, i.e.
292 \end_layout
293
294 \begin_layout Standard
228 wm_cox_e -s cox.sig 295 wm_cox_e -s cox.sig
229 \series bold 296 \series bold
297 < image.pgm
298 \end_layout
299
300 \begin_layout Standard
301 The output is usually written to standard output, i.e.
302
303 \end_layout
304
305 \begin_layout Standard
306
307 \family typewriter
308 \size small
309 wm_cox_e -s cox.sig image.pgm
310 \family default
311
312 \family typewriter
313 \series bold
314 > wm_image.pgm
315 \end_layout
316
317 \begin_layout Standard
318 unless redirected to a file, e.g.
319 \end_layout
320
321 \begin_layout Standard
322
323 \family typewriter
324 \size small
325 wm_cox_e -s cox.sig
326 \family default
327
328 \family typewriter
329 \series bold
330 -o wm_image.pgm
331 \family default
332 \series default
333
334 \family typewriter
230 image.pgm 335 image.pgm
231 \layout Standard 336 \end_layout
232 337
233 or from standard input, i.e. 338 \begin_layout Subsection
234 \layout Standard
235
236 wm_cox_e -s cox.sig
237 \series bold
238 < image.pgm
239 \layout Standard
240
241 The output is usually written to standard output, i.e.
242
243 \layout Standard
244
245
246 \family typewriter
247 \size small
248 wm_cox_e -s cox.sig image.pgm
249 \series bold
250 > wm_image.pgm
251 \layout Standard
252
253 unless redirected to a file, e.g.
254 \layout Standard
255
256
257 \family typewriter
258 \size small
259 wm_cox_e -s cox.sig
260 \series bold
261 -o wm_image.pgm
262 \series default
263 image.pgm
264 \layout Subsection
265
266 Featured algorithms 339 Featured algorithms
267 \layout Standard 340 \end_layout
268 341
342 \begin_layout Standard
269 Currently it includes the following watermarking algorithms 343 Currently it includes the following watermarking algorithms
270 \layout Itemize 344 \end_layout
271 345
346 \begin_layout Itemize
272 Bruyndonckx [bruyn], refer to 347 Bruyndonckx [bruyn], refer to
273 \layout Quotation 348 \end_layout
274 349
350 \begin_layout Quotation
275 O. 351 O.
276 Bruyndonckx, Jean-Jacques Quisquater, and Benoit M. 352 Bruyndonckx, Jean-Jacques Quisquater, and Benoit M.
277 Macq. 353 Macq.
278 Spatial method for copyright labeling of digital images. 354 Spatial method for copyright labeling of digital images.
279 In IEEE Workshop on Nonlinear Signal and Image Processing '95, Thessaloniki, 355 In IEEE Workshop on Nonlinear Signal and Image Processing '95, Thessaloniki,
280 Greece, pages 456 - 459, 1995. 356 Greece, pages 456 - 459, 1995.
281 \layout Itemize 357 \end_layout
282 358
359 \begin_layout Itemize
283 Corvi, refer to 360 Corvi, refer to
284 \layout Quotation 361 \end_layout
285 362
363 \begin_layout Quotation
286 Marco Corvi and Gianluca Nicchiotti. 364 Marco Corvi and Gianluca Nicchiotti.
287 Wavelet-based image watermarking for copyright protection. 365 Wavelet-based image watermarking for copyright protection.
288 In Scandinavian Conference on Image Analysis SCIA '97, Lappeenranta, Finland, 366 In Scandinavian Conference on Image Analysis SCIA '97, Lappeenranta, Finland,
289 June 1997. 367 June 1997.
290 \layout Itemize 368 \end_layout
291 369
370 \begin_layout Itemize
292 Cox, refer to 371 Cox, refer to
293 \layout Quotation 372 \end_layout
294 373
374 \begin_layout Quotation
295 Ingemar J. 375 Ingemar J.
296 Cox, Joe Kilian, Tom Leighton, and Talal G. 376 Cox, Joe Kilian, Tom Leighton, and Talal G.
297 Shamoon. 377 Shamoon.
298 Secure spread spectrum watermarking for multimedia. 378 Secure spread spectrum watermarking for multimedia.
299 In Proceedings of the IEEE ICIP '97, volume 6, pages 1673 - 1687, Santa 379 In Proceedings of the IEEE ICIP '97, volume 6, pages 1673 - 1687, Santa
300 Barbara, California, USA, 1997. 380 Barbara, California, USA, 1997.
301 \layout Itemize 381 \end_layout
302 382
383 \begin_layout Itemize
303 Dugad, refer to 384 Dugad, refer to
304 \layout Quotation 385 \end_layout
305 386
387 \begin_layout Quotation
306 Rakesh Dugad, Krishna Ratakonda, and Narendra Ahuja. 388 Rakesh Dugad, Krishna Ratakonda, and Narendra Ahuja.
307 A new wavelet-based scheme for watermarking images. 389 A new wavelet-based scheme for watermarking images.
308 In Proceedings of the IEEE International Conference on Image Processing, 390 In Proceedings of the IEEE International Conference on Image Processing,
309 ICIP '98, Chicago, IL, USA, October 1998. 391 ICIP '98, Chicago, IL, USA, October 1998.
310 392
311 \layout Itemize 393 \end_layout
312 394
395 \begin_layout Itemize
313 Fridrich (2. 396 Fridrich (2.
314 scheme), refer to 397 scheme), refer to
315 \layout Quotation 398 \end_layout
316 399
400 \begin_layout Quotation
317 Jiri Fridrich. 401 Jiri Fridrich.
318 Combining low-frequency and spread spectrum watermarking. 402 Combining low-frequency and spread spectrum watermarking.
319 In Proceedings of the SPIE Symposium on Optical Science, Engineering and 403 In Proceedings of the SPIE Symposium on Optical Science, Engineering and
320 Instrumentation, San Diego, USA, July 1998. 404 Instrumentation, San Diego, USA, July 1998.
321 405
322 \layout Itemize 406 \end_layout
323 407
408 \begin_layout Itemize
324 Kim, refer to 409 Kim, refer to
325 \layout Quotation 410 \end_layout
326 411
412 \begin_layout Quotation
327 Jong Ryul Kim and Young Shik Moon. 413 Jong Ryul Kim and Young Shik Moon.
328 A robust wavelet-based digital watermark using level-adaptive thresholding. 414 A robust wavelet-based digital watermark using level-adaptive thresholding.
329 In Proceedings of the 6th IEEE International Conference on Image Processing 415 In Proceedings of the 6th IEEE International Conference on Image Processing
330 ICIP '99, page 202, Kobe, Japan, October 1999. 416 ICIP '99, page 202, Kobe, Japan, October 1999.
331 \layout Itemize 417 \end_layout
332 418
419 \begin_layout Itemize
333 Koch, refer to 420 Koch, refer to
334 \layout Quotation 421 \end_layout
335 422
423 \begin_layout Quotation
336 Eckhard Koch and Jian Zhao. 424 Eckhard Koch and Jian Zhao.
337 Towards robust and hidden image copyright labeling. 425 Towards robust and hidden image copyright labeling.
338 In Proceedings of the IEEE International Workshop on Nonlinear Signal and 426 In Proceedings of the IEEE International Workshop on Nonlinear Signal and
339 Image Processing, pages 452 - 455, Halkidiki, Marmaras, Greece, June 1995. 427 Image Processing, pages 452 - 455, Halkidiki, Marmaras, Greece, June 1995.
340 \layout Itemize 428 \end_layout
341 429
430 \begin_layout Itemize
431 Kundur, refer to
432 \end_layout
433
434 \begin_layout Quotation
435 Deepa Kundur and Dimitrios Hatzinakos.
436 Digital watermarking using multiresolution wavelet decomposition.
437 In Proceedings of IEEE ICASSP '98, volume 5, pages 2969-2972, Seattle,
438 WA, USA, May 1998.
439
440 \end_layout
441
442 \begin_deeper
443 \begin_layout Standard
444 and
445 \end_layout
446
447 \end_deeper
448 \begin_layout Quotation
449 Deepa Kundur and D.
450 Hatzinakos.
451 Diversity and attack characterization for improved robust watermarking.
452 IEEE Transactions on Signal Processing, 29(10):2383-2396, October 2001.
453 \end_layout
454
455 \begin_layout Itemize
342 Wang, refer to 456 Wang, refer to
343 \layout Quotation 457 \end_layout
344 458
459 \begin_layout Quotation
345 Houng-Jyh Wang, Po-Chyi Su, and C.-C. 460 Houng-Jyh Wang, Po-Chyi Su, and C.-C.
346 Jay Kuo. 461 Jay Kuo.
347 Wavelet-based digital image watermarking. 462 Wavelet-based digital image watermarking.
348 Optics Express, volume 3, pp. 463 Optics Express, volume 3, pp.
349 497, December 1998. 464 497, December 1998.
350 465
351 \layout Itemize 466 \end_layout
352 467
468 \begin_layout Itemize
353 Xia, refer to 469 Xia, refer to
354 \layout Quotation 470 \end_layout
355 471
472 \begin_layout Quotation
356 Xiang-Gen Xia, Charles G. 473 Xiang-Gen Xia, Charles G.
357 Boncelet, and Gonzalo R. 474 Boncelet, and Gonzalo R.
358 Arce. 475 Arce.
359 Wavelet transform based watermark for digital images. 476 Wavelet transform based watermark for digital images.
360 Optics Express, volume 3, pp. 477 Optics Express, volume 3, pp.
361 497, December 1998. 478 497, December 1998.
362 \layout Itemize 479 \end_layout
363 480
481 \begin_layout Itemize
364 Xie, refer to 482 Xie, refer to
365 \layout Quotation 483 \end_layout
366 484
485 \begin_layout Quotation
367 Liehua Xie and Gonzalo R. 486 Liehua Xie and Gonzalo R.
368 Arce. 487 Arce.
369 Joint wavelet compression and authentication watermarking. 488 Joint wavelet compression and authentication watermarking.
370 In Proceedings of the IEEE International Conference on Image Processing, 489 In Proceedings of the IEEE International Conference on Image Processing,
371 ICIP '98, Chicago, IL, USA, 1998. 490 ICIP '98, Chicago, IL, USA, 1998.
372 \layout Itemize 491 \end_layout
373 492
493 \begin_layout Itemize
374 Zhu, refer to 494 Zhu, refer to
375 \layout Quotation 495 \end_layout
376 496
497 \begin_layout Quotation
377 Wenwu Zhu, Zixiang Xiong, and Ya-Qin Zhang. 498 Wenwu Zhu, Zixiang Xiong, and Ya-Qin Zhang.
378 Multiresolution watermarking for images and video: a unified approach. 499 Multiresolution watermarking for images and video: a unified approach.
379 In Proceedings of the IEEE International Conference on Image Processing, 500 In Proceedings of the IEEE International Conference on Image Processing,
380 ICIP '98, Chicago, IL, USA, October 1998. 501 ICIP '98, Chicago, IL, USA, October 1998.
381 502
382 \layout Itemize 503 \end_layout
383 504
505 \begin_layout Itemize
384 Piva/Fotopoulos [cast|test-pv,hart,sub], contribution by Vassilis Fotopoulos, 506 Piva/Fotopoulos [cast|test-pv,hart,sub], contribution by Vassilis Fotopoulos,
385 refer to 507 refer to
386 \layout Quotation 508 \end_layout
387 509
510 \begin_layout Quotation
388 M.Barni, F. 511 M.Barni, F.
389 Bartolini, V. 512 Bartolini, V.
390 Cappellini, A. 513 Cappellini, A.
391 Piva. 514 Piva.
392 A DCT-Domain System for Robust Image Watermarking, Signal Processing, vol. 515 A DCT-Domain System for Robust Image Watermarking, Signal Processing, vol.
393 66, pp 357 - 372, 1998. 516 66, pp 357 - 372, 1998.
394 \begin_deeper 517 \end_layout
395 \layout Standard 518
396 \added_space_top smallskip \added_space_bottom smallskip 519 \begin_deeper
520 \begin_layout Standard
521 \begin_inset VSpace smallskip
522 \end_inset
523
397 and 524 and
398 \end_deeper 525 \begin_inset VSpace smallskip
399 \layout Quotation 526 \end_inset
400 527
528
529 \end_layout
530
531 \end_deeper
532 \begin_layout Quotation
401 V. 533 V.
402 Fotopoulos, A. 534 Fotopoulos, A.
403 N. 535 N.
404 Skodras, A Subband DCT approach to image watermarking, X European Signal 536 Skodras, A Subband DCT approach to image watermarking, X European Signal
405 Processing Conference, September 4 - 8, 2000, Tampere, Finland. 537 Processing Conference, September 4 - 8, 2000, Tampere, Finland.
406 \layout Standard 538 \end_layout
407 539
540 \begin_layout Standard
408 More algorithms will be added over time, I have implemented about 13 watermarkin 541 More algorithms will be added over time, I have implemented about 13 watermarkin
409 g algorithms in the spatial-, DCT-, and wavelet domain so far. 542 g algorithms in the spatial-, DCT-, and wavelet domain so far.
410 \layout Subsection 543 \end_layout
411 544
412 545 \begin_layout Subsection
413 \begin_inset LatexCommand \label{sec:utility_programs} 546 \begin_inset LatexCommand label
414 547 name "sec:utility_programs"
415 \end_inset 548
549 \end_inset
416 550
417 Utility programs 551 Utility programs
418 \layout Standard 552 \end_layout
419 553
554 \begin_layout Standard
420 A good way to check the effect of a watermarking algorithm is computing 555 A good way to check the effect of a watermarking algorithm is computing
421 the difference image, i.e. 556 the difference image, i.e.
422 subtracting the original image from the watermarked image. 557 subtracting the original image from the watermarked image.
423 Alternatively, one can also have a look at the modified coefficients in 558 Alternatively, one can also have a look at the modified coefficients in
424 the transform domain. 559 the transform domain.
425 The following programs facilitate these tasks: 560 The following programs facilitate these tasks:
426 \layout Description 561 \end_layout
427 562
563 \begin_layout Description
428 cmp_pgm compute difference image, PSNR, ... 564 cmp_pgm compute difference image, PSNR, ...
429 \layout Description 565 \end_layout
430 566
567 \begin_layout Description
431 cmp_dct compute full-frame DCT domain difference image 568 cmp_dct compute full-frame DCT domain difference image
432 \layout Description 569 \end_layout
433 570
571 \begin_layout Description
434 cmp_dct8x8 compute 8x8 block-based DCT difference image 572 cmp_dct8x8 compute 8x8 block-based DCT difference image
435 \layout Description 573 \end_layout
436 574
575 \begin_layout Description
437 cmp_dwt compute DWT domain difference image 576 cmp_dwt compute DWT domain difference image
438 \layout Standard 577 \end_layout
439 578
579 \begin_layout Standard
440 For example, to produce the difference image of two PGM files and compute 580 For example, to produce the difference image of two PGM files and compute
441 the PSNR along with some other measures, the following command can be used: 581 the PSNR along with some other measures, the following command can be used:
442 \layout Standard 582 \end_layout
443 583
444 584 \begin_layout Standard
445 \family typewriter 585
446 \size small 586 \family typewriter
587 \size small
447 cmp_pgm -p -i original.pgm -o diff.pgm watermarked.pgm 588 cmp_pgm -p -i original.pgm -o diff.pgm watermarked.pgm
448 \layout Section 589 \end_layout
449 590
591 \begin_layout Section
450 Usage 592 Usage
451 \layout Standard 593 \end_layout
452 594
595 \begin_layout Standard
453 Note, almost all programs will output usage information if called with the 596 Note, almost all programs will output usage information if called with the
454 597
455 \family typewriter 598 \family typewriter
456 \size small 599 \size small
457 -h 600 -h
458 \family default 601 \family default
459 \size default 602 \size default
460 argument. 603 argument.
461 \layout Subsection 604 \end_layout
462 605
606 \begin_layout Subsection
463 Generating a mark 607 Generating a mark
464 \layout Standard 608 \end_layout
465 609
610 \begin_layout Standard
466 First, you have to generate an appropriate signature file for the corresponding 611 First, you have to generate an appropriate signature file for the corresponding
467 embedding/detection algorithm; e.g. 612 embedding/detection algorithm; e.g.
468 if you are going to use Cox' scheme, then you would run 613 if you are going to use Cox' scheme, then you would run
469 \layout Standard 614 \end_layout
470 615
471 616 \begin_layout Standard
472 \family typewriter 617
473 \size small 618 \family typewriter
619 \size small
474 gen_cox_sig 620 gen_cox_sig
475 \layout Standard 621 \end_layout
476 622
623 \begin_layout Standard
477 The programs outputs some parameters and a sequence of Gaussian distributed 624 The programs outputs some parameters and a sequence of Gaussian distributed
478 random numbers (which is the watermark sequence). 625 random numbers (which is the watermark sequence).
479 You want to save that into a signature file, so you run 626 You want to save that into a signature file, so you run
480 \layout Standard 627 \end_layout
481 628
482 629 \begin_layout Standard
483 \family typewriter 630
484 \size small 631 \family typewriter
632 \size small
485 gen_cox_sig > cox.sig or 633 gen_cox_sig > cox.sig or
486 \layout Standard 634 \end_layout
487 635
488 636 \begin_layout Standard
489 \family typewriter 637
490 \size small 638 \family typewriter
639 \size small
491 gen_cox_sig -o cox.sig 640 gen_cox_sig -o cox.sig
492 \layout Standard 641 \end_layout
493 642
643 \begin_layout Standard
494 You can influence e.g. 644 You can influence e.g.
495 the embedding strength that will be used in the embedding step by running 645 the embedding strength that will be used in the embedding step by running
496 \layout Standard 646 \end_layout
497 647
498 648 \begin_layout Standard
499 \family typewriter 649
500 \size small 650 \family typewriter
651 \size small
501 gen_cox_sig -a 0.5 > too_strong_cox.sig 652 gen_cox_sig -a 0.5 > too_strong_cox.sig
502 \layout Standard 653 \end_layout
503 654
655 \begin_layout Standard
504 Usually, the programs for generating a signature will supply reasonable 656 Usually, the programs for generating a signature will supply reasonable
505 default values for marking a 8-bit gray-scale image of size 657 default values for marking a 8-bit gray-scale image of size
506 \begin_inset Formula \( 512\times 512. \) 658 \begin_inset Formula $512\times512.$
507 \end_inset 659 \end_inset
508 660
509 661
510 \layout Subsection 662 \end_layout
511 663
664 \begin_layout Subsection
512 Watermark embedding 665 Watermark embedding
513 \layout Standard 666 \end_layout
514 667
668 \begin_layout Standard
515 Watermark embedding is performed with the following command (for our example, 669 Watermark embedding is performed with the following command (for our example,
516 we are using Cox' scheme): 670 we are using Cox' scheme):
517 \layout Standard 671 \end_layout
518 672
519 673 \begin_layout Standard
520 \family typewriter 674
521 \size small 675 \family typewriter
676 \size small
522 wm_cox_e -s cox.sig -o cox_lena.pgm lena.pgm 677 wm_cox_e -s cox.sig -o cox_lena.pgm lena.pgm
523 \layout Standard 678 \end_layout
524 679
680 \begin_layout Standard
525 The signature file is parsed to obtain the particular watermark sequence 681 The signature file is parsed to obtain the particular watermark sequence
526 and the embedding strength. 682 and the embedding strength.
527 The watermarked image is written to the file 683 The watermarked image is written to the file
528 \family typewriter 684 \family typewriter
529 \size small 685 \size small
530 cox_lena.pgm 686 cox_lena.pgm
531 \family default 687 \family default
532 \size default 688 \size default
533 . 689 .
534 Now it the time to check the perceptual quality of the produced image and 690 Now it the time to check the perceptual quality of the produced image and
535 also have a look at the difference image (see section 691 also have a look at the difference image (see section
536 \begin_inset LatexCommand \ref{sec:utility_programs} 692 \begin_inset LatexCommand ref
537 693 reference "sec:utility_programs"
538 \end_inset 694
695 \end_inset
539 696
540 ). 697 ).
541 \layout Subsection 698 \end_layout
542 699
700 \begin_layout Subsection
543 Watermark extraction 701 Watermark extraction
544 \layout Standard 702 \end_layout
545 703
704 \begin_layout Standard
546 To extract the embedded signature, we execute the command 705 To extract the embedded signature, we execute the command
547 \layout Standard 706 \end_layout
548 707
549 708 \begin_layout Standard
550 \family typewriter 709
551 \size small 710 \family typewriter
711 \size small
552 wm_cox_d -s cox.sig -i lena.pgm -o cox.wm cox_lena.pgm 712 wm_cox_d -s cox.sig -i lena.pgm -o cox.wm cox_lena.pgm
553 \layout Standard 713 \end_layout
554 714
715 \begin_layout Standard
555 Since Cox' algorithm is not blind, the original image is needed as a reference 716 Since Cox' algorithm is not blind, the original image is needed as a reference
556 to extract the embedded mark. 717 to extract the embedded mark.
557 The embedded mark will be stored in 718 The embedded mark will be stored in
558 \family typewriter 719 \family typewriter
559 \size small 720 \size small
560 cox.wm 721 cox.wm
561 \family default 722 \family default
562 \size default 723 \size default
563 . 724 .
564 The original signature, 725 The original signature,
565 \family typewriter 726 \family typewriter
566 \size small 727 \size small
567 cox.sig 728 cox.sig
568 \family default 729 \family default
569 \size default 730 \size default
570 , is used to get the auxiliary embedding parameter correct (e.g. 731 , is used to get the auxiliary embedding parameter correct (e.g.
571 embedding strength). 732 embedding strength).
572 733
573 \layout Subsection 734 \end_layout
574 735
736 \begin_layout Subsection
575 Comparing the mark 737 Comparing the mark
576 \layout Standard 738 \end_layout
577 739
740 \begin_layout Standard
578 The final step is comparing the original signature against the extracted 741 The final step is comparing the original signature against the extracted
579 signature. 742 signature.
580 The result here is usually a correlation factor. 743 The result here is usually a correlation factor.
581 Values around 0 indicate that the mark has not been found, values around 744 Values around 0 indicate that the mark has not been found, values around
582 1 745 1.
583 \layout Standard 746 \end_layout
584 747
748 \begin_layout Standard
585 In most programs a analytical detection threshold for some detection probability 749 In most programs a analytical detection threshold for some detection probability
586 is not used. 750 is not used.
587 Hence, one has to observe the output of the detector for many different 751 Hence, one has to observe the output of the detector for many different
588 keys (around 1000 I'd suggest) to establish a reasonable threshold for 752 keys (around 1000 I'd suggest) to establish a reasonable threshold for
589 detection. 753 detection.
590 A good value to go with initially might be 0.2 which means we claim the 754 A good value to go with initially might be 0.2 which means we claim the
591 watermark detected if the correlation factor is > 0.2. 755 watermark detected if the correlation factor is > 0.2.
592 \layout Standard 756 \end_layout
593 757
758 \begin_layout Standard
594 The appropriate command for comparing the mark is 759 The appropriate command for comparing the mark is
595 \layout Standard 760 \end_layout
596 761
597 762 \begin_layout Standard
598 \family typewriter 763
599 \size small 764 \family typewriter
765 \size small
600 cmp_cox_sig -s cox.sig cox.wm 766 cmp_cox_sig -s cox.sig cox.wm
601 \layout Subsection 767 \end_layout
602 768
769 \begin_layout Subsection
603 Batch testing - benchmarking 770 Batch testing - benchmarking
604 \layout Standard 771 \end_layout
605 772
773 \begin_layout Standard
606 If you want to run many test you can pipe the images to be do be watermarked 774 If you want to run many test you can pipe the images to be do be watermarked
607 (and tested) through the embedder and detector. 775 (and tested) through the embedder and detector.
608 The programs then act like a filter. 776 The programs then act like a filter.
609 Try something like the following in a Unix shell script: 777 Try something like the following in a Unix shell script:
610 \layout Standard 778 \end_layout
611 779
612 780 \begin_layout Standard
613 \family typewriter 781
614 \size small 782 \family typewriter
783 \size small
615 gen_cox_sig > cox.sig 784 gen_cox_sig > cox.sig
616 \layout Standard 785 \end_layout
617 786
618 787 \begin_layout Standard
619 \family typewriter 788
620 \size small 789 \family typewriter
790 \size small
621 for i in *.pgm 791 for i in *.pgm
622 \layout Standard 792 \end_layout
623 793
624 794 \begin_layout Standard
625 \family typewriter 795
626 \size small 796 \family typewriter
797 \size small
627 do 798 do
628 \layout Standard 799 \end_layout
629 800
630 801 \begin_layout Standard
631 \family typewriter 802
632 \size small 803 \family typewriter
633 \SpecialChar ~ 804 \size small
634 \SpecialChar ~ 805 \InsetSpace ~
806 \InsetSpace ~
635 wm_cox_e -s cox.sig $i | 807 wm_cox_e -s cox.sig $i |
636 \backslash 808 \backslash
637 809
638 \layout Standard 810 \end_layout
639 811
640 812 \begin_layout Standard
641 \family typewriter 813
642 \size small 814 \family typewriter
643 \SpecialChar ~ 815 \size small
644 \SpecialChar ~ 816 \InsetSpace ~
817 \InsetSpace ~
645 wm_cox_d -s cox.sig -i $i | 818 wm_cox_d -s cox.sig -i $i |
646 \backslash 819 \backslash
647 820
648 \layout Standard 821 \end_layout
649 822
650 823 \begin_layout Standard
651 \family typewriter 824
652 \size small 825 \family typewriter
653 \SpecialChar ~ 826 \size small
654 \SpecialChar ~ 827 \InsetSpace ~
828 \InsetSpace ~
655 cmp_cox_sig -s cox.sig 829 cmp_cox_sig -s cox.sig
656 \layout Standard 830 \end_layout
657 831
658 832 \begin_layout Standard
659 \family typewriter 833
660 \size small 834 \family typewriter
835 \size small
661 done 836 done
662 \layout Section 837 \end_layout
663 838
664 839 \begin_layout Section
665 \begin_inset LatexCommand \label{sec:recompile} 840 \begin_inset LatexCommand label
666 841 name "sec:recompile"
667 \end_inset 842
843 \end_inset
668 844
669 Recompiling 845 Recompiling
670 \layout Standard 846 \end_layout
671 847
848 \begin_layout Standard
672 Note, that most watermark embedding/extraction programs use the built-in 849 Note, that most watermark embedding/extraction programs use the built-in
673 random number generator of the C library, i.e. 850 random number generator of the C library, i.e.
674 851
675 \family typewriter 852 \family typewriter
676 \size small 853 \size small
677 srandom() 854 srandom()
678 \family default 855 \family default
679 \size default 856 \size default
680 and 857 and
681 \family typewriter 858 \family typewriter
682 \size small 859 \size small
683 random(). 860 random().
684 861
685 \family default 862 \family default
686 \size default 863
864 \size default
687 Therefore, if you recompile, chances are that you won't be able to use your 865 Therefore, if you recompile, chances are that you won't be able to use your
688 images watermarked with the previous version. 866 images watermarked with the previous version.
689 \layout Standard 867 \end_layout
690 868
869 \begin_layout Standard
691 The Makefile options for compiling on the different platforms can be found 870 The Makefile options for compiling on the different platforms can be found
692 in the 871 in the
693 \family typewriter 872 \family typewriter
694 \size small 873 \size small
695 make/ 874 make/
696 \family default 875 \family default
697 \size default 876 \size default
698 sub-directory of the archive. 877 sub-directory of the archive.
699 \layout Subsection 878 \end_layout
700 879
701 880 \begin_layout Subsection
702 \begin_inset LatexCommand \label{sec:prereq} 881 \begin_inset LatexCommand label
703 882 name "sec:prereq"
704 \end_inset 883
884 \end_inset
705 885
706 Prerequisites 886 Prerequisites
707 \layout Subsubsection 887 \end_layout
708 888
889 \begin_layout Subsubsection
709 NetPBM 890 NetPBM
710 \layout Standard 891 \end_layout
711 892
893 \begin_layout Standard
712 NetPBM is responsible for image file I/O and provides a definition of a 894 NetPBM is responsible for image file I/O and provides a definition of a
713 simple image file format along with many image file format filters that 895 simple image file format along with many image file format filters that
714 allow to convert images to and from NetPBM format. 896 allow to convert images to and from NetPBM format.
715 897
716 \layout Standard 898 \end_layout
717 899
900 \begin_layout Standard
718 You need to get and install the NetPBM library at 901 You need to get and install the NetPBM library at
719 \begin_inset LatexCommand \url{http://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/} 902 \begin_inset LatexCommand url
720 903 target "http://wuarchive.wustl.edu/graphics/graphics/packages/NetPBM/"
721 \end_inset 904
905 \end_inset
722 906
723 or 907 or
724 \begin_inset LatexCommand \url{http://netpbm.sourceforge.net} 908 \begin_inset LatexCommand url
725 909 target "http://netpbm.sourceforge.net"
726 \end_inset 910
911 \end_inset
727 912
728 . 913 .
729 The library provides 914 The library provides
730 \family typewriter 915 \family typewriter
731 \size small 916 \size small
732 pgm.h 917 pgm.h
733 \family default 918 \family default
734 \size default 919 \size default
735 and the appropriate implementation. 920 and the appropriate implementation.
736 \layout Subsection 921 \end_layout
737 922
923 \begin_layout Subsubsection
924 getopt
925 \end_layout
926
927 \begin_layout Standard
928 When compiling on Windows, the getopt() function call required.
929 An implementation of getopt() can be found in the NetPBM package.
930
931 \end_layout
932
933 \begin_layout Subsection
738 Unix/Linux platform 934 Unix/Linux platform
739 \layout Standard 935 \end_layout
740 936
937 \begin_layout Standard
741 All programs were developed using Linux and GNU C. 938 All programs were developed using Linux and GNU C.
742 The programs should compile and work with all recent versions of Linux 939 The programs should compile and work with all recent versions of Linux
743 and GNU C. 940 and GNU C.
744 941
745 \layout Subsection 942 \end_layout
746 943
747 944 \begin_layout Subsection
748 \begin_inset LatexCommand \label{sec:win32_compile} 945 \begin_inset LatexCommand label
749 946 name "sec:win32_compile"
750 \end_inset 947
948 \end_inset
751 949
752 Win32 platform 950 Win32 platform
753 \layout Standard 951 \end_layout
754 952
953 \begin_layout Standard
755 The programs were ported to the Windows platform using the Cygwin 954 The programs were ported to the Windows platform using the Cygwin
756 \begin_float footnote 955 \begin_inset Foot
757 \layout Standard 956 status collapsed
758 957
759 958 \begin_layout Standard
760 \begin_inset LatexCommand \url{http://www.cygwin.com} 959 \begin_inset LatexCommand url
761 960 target "http://www.cygwin.com"
762 \end_inset 961
763 962 \end_inset
764 963
765 \end_float 964
965 \end_layout
966
967 \end_inset
968
766 and Mingw 969 and Mingw
767 \begin_float footnote 970 \begin_inset Foot
768 \layout Standard 971 status collapsed
769 972
770 973 \begin_layout Standard
771 \begin_inset LatexCommand \url{http://www.mingw.org} 974 \begin_inset LatexCommand url
772 975 target "http://www.mingw.org"
773 \end_inset 976
774 977 \end_inset
775 978
776 \end_float 979
980 \end_layout
981
982 \end_inset
983
777 environment. 984 environment.
778 Most notable, the file mode for standard input and standard output has 985 Most notable, the file mode for standard input and standard output has
779 to be set to binary mode. 986 to be set to binary mode.
780 This is accomplished with the 987 This is accomplished with the
781 \family typewriter 988 \family typewriter
782 \size small 989 \size small
783 setmode() 990 setmode()
784 \family default 991 \family default
785 \size default 992 \size default
786 or 993 or
787 \family typewriter 994 \family typewriter
788 \size small 995 \size small
789 _fsetmode() 996 _fsetmode()
790 \family default 997 \family default
791 \size default 998 \size default
792 commands. 999 commands.
793 \layout Section 1000 \end_layout
794 1001
1002 \begin_layout Section
795 FAQ 1003 FAQ
796 \layout Standard 1004 \end_layout
797 1005
1006 \begin_layout Standard
798 Q: How can I report problems? 1007 Q: How can I report problems?
799 \layout Standard 1008 \end_layout
800 1009
1010 \begin_layout Standard
801 A: See the contact information at the beginning of this document. 1011 A: See the contact information at the beginning of this document.
802 \layout Standard 1012 \end_layout
803 1013
1014 \begin_layout Standard
804 Q: The compiler complains about 1015 Q: The compiler complains about
805 \family typewriter 1016 \family typewriter
806 \size small 1017 \size small
807 pgm.h 1018 pgm.h
808 \family default 1019 \family default
809 \size default 1020 \size default
810 ? 1021 ?
811 \layout Standard 1022 \end_layout
812 1023
1024 \begin_layout Standard
813 A: You need to get and install the NetPBM library, see section 1025 A: You need to get and install the NetPBM library, see section
814 \begin_inset LatexCommand \ref{sec:prereq} 1026 \begin_inset LatexCommand ref
815 1027 reference "sec:prereq"
816 \end_inset 1028
1029 \end_inset
817 1030
818 . 1031 .
819 \layout Standard 1032 \end_layout
820 1033
1034 \begin_layout Standard
821 Q: What is the best algorithm? 1035 Q: What is the best algorithm?
822 \layout Standard 1036 \end_layout
823 1037
1038 \begin_layout Standard
824 A: Depends on your application. 1039 A: Depends on your application.
825 \layout Standard 1040 \end_layout
826 1041
1042 \begin_layout Standard
827 Q: What is the most robust algorithm? 1043 Q: What is the most robust algorithm?
828 \layout Standard 1044 \end_layout
829 1045
1046 \begin_layout Standard
830 A: Depends on the attack. 1047 A: Depends on the attack.
831 See some results on 1048 See some results on
832 \begin_inset LatexCommand \url{http://www.cosy.sbg.ac.at/~pmeerw/Watermarking} 1049 \begin_inset LatexCommand url
833 1050 target "http://www.cosy.sbg.ac.at/~pmeerw/Watermarking"
834 \end_inset 1051
1052 \end_inset
835 1053
836 . 1054 .
837 \layout Standard 1055 \end_layout
838 1056
1057 \begin_layout Standard
839 Q: I need code for a full-frame DCT? 1058 Q: I need code for a full-frame DCT?
840 \layout Standard 1059 \end_layout
841 1060
1061 \begin_layout Standard
842 A: See the files Meerwald/dct.* in the archive. 1062 A: See the files Meerwald/dct.* in the archive.
843 \layout Standard 1063 \end_layout
844 1064
1065 \begin_layout Standard
845 Q: I need code for a 8x8 block DCT? 1066 Q: I need code for a 8x8 block DCT?
846 \layout Standard 1067 \end_layout
847 1068
1069 \begin_layout Standard
848 A: See the files 1070 A: See the files
849 \family typewriter 1071 \family typewriter
850 \size small 1072 \size small
851 Meerwald/dct.* 1073 Meerwald/dct.*
852 \family default 1074 \family default
853 \size default 1075 \size default
854 in the archive. 1076 in the archive.
855 \layout Standard 1077 \end_layout
856 1078
1079 \begin_layout Standard
857 Q: I need code for the wavelet transform (DWT)? 1080 Q: I need code for the wavelet transform (DWT)?
858 \layout Standard 1081 \end_layout
859 1082
1083 \begin_layout Standard
860 A: See the files 1084 A: See the files
861 \family typewriter 1085 \family typewriter
862 \size small 1086 \size small
863 Meerwald/wavelet.* 1087 Meerwald/wavelet.*
864 \family default 1088 \family default
865 \size default 1089 \size default
866 in the archive. 1090 in the archive.
867 \layout Standard 1091 \end_layout
868 1092
1093 \begin_layout Standard
869 Q: I get the message 'unable to open filter.dat' - what to do? 1094 Q: I get the message 'unable to open filter.dat' - what to do?
870 \layout Standard 1095 \end_layout
871 1096
1097 \begin_layout Standard
872 A: Make sure the file filter.dat is in the current directory or accessible 1098 A: Make sure the file filter.dat is in the current directory or accessible
873 via path/filename specified in the signature file. 1099 via path/filename specified in the signature file.
874 Use the signature generation command to specify an absolute path if necessary. 1100 Use the signature generation command to specify an absolute path if necessary.
875 \layout Standard 1101 \end_layout
876 1102
1103 \begin_layout Standard
877 Q: I can't compile the code using some Microsoft product? 1104 Q: I can't compile the code using some Microsoft product?
878 \layout Standard 1105 \end_layout
879 1106
1107 \begin_layout Standard
880 A: Make your life easier, install GNU software! See section 1108 A: Make your life easier, install GNU software! See section
881 \begin_inset LatexCommand \ref{sec:recompile} 1109 \begin_inset LatexCommand ref
882 1110 reference "sec:recompile"
883 \end_inset 1111
1112 \end_inset
884 1113
885 . 1114 .
886 \layout Section 1115 \end_layout
887 1116
1117 \begin_layout Section
888 Revision history 1118 Revision history
889 \layout Standard 1119 \end_layout
890 1120
1121 \begin_layout Standard
1122 version 0.5 (December, 2005)
1123 \end_layout
1124
1125 \begin_layout Itemize
1126 added algorithm kund3, kund2 and xie2
1127 \end_layout
1128
1129 \begin_layout Standard
891 version 0.4 (June 21, 2001) 1130 version 0.4 (June 21, 2001)
892 \layout Itemize 1131 \end_layout
893 1132
1133 \begin_layout Itemize
894 bug fixes 1134 bug fixes
895 \begin_deeper 1135 \end_layout
896 \layout Itemize 1136
897 1137 \begin_deeper
1138 \begin_layout Itemize
898 wm_xia_{e|d}.c variable level uninitialized 1139 wm_xia_{e|d}.c variable level uninitialized
899 \layout Itemize 1140 \end_layout
900 1141
1142 \begin_layout Itemize
901 wm_zhu_{e|d}.c variable level uninitialized 1143 wm_zhu_{e|d}.c variable level uninitialized
902 \layout Itemize 1144 \end_layout
903 1145
1146 \begin_layout Itemize
904 issue with random() vs. 1147 issue with random() vs.
905 rand() and RAND_MAX in frid2_common.c 1148 rand() and RAND_MAX in frid2_common.c
906 \end_deeper 1149 \end_layout
907 \layout Itemize 1150
908 1151 \end_deeper
1152 \begin_layout Itemize
909 added option to bruyn algorithm to disable block skipping 1153 added option to bruyn algorithm to disable block skipping
910 \layout Itemize 1154 \end_layout
911 1155
1156 \begin_layout Itemize
912 added algorithm kim 1157 added algorithm kim
913 \layout Standard 1158 \end_layout
914 1159
1160 \begin_layout Standard
915 version 0.3 (June 18, 2001) 1161 version 0.3 (June 18, 2001)
916 \layout Itemize 1162 \end_layout
917 1163
1164 \begin_layout Itemize
918 created a nice (?) manual/documentation 1165 created a nice (?) manual/documentation
919 \layout Itemize 1166 \end_layout
920 1167
1168 \begin_layout Itemize
921 added algorithms by Dugad, Wang, Zhu, Fridrich 1169 added algorithms by Dugad, Wang, Zhu, Fridrich
922 \layout Itemize 1170 \end_layout
923 1171
1172 \begin_layout Itemize
924 added Makefiles for Win32 platform (mingw32) 1173 added Makefiles for Win32 platform (mingw32)
925 \layout Standard 1174 \end_layout
926 1175
1176 \begin_layout Standard
927 version 0.2 (February 22, 2001) 1177 version 0.2 (February 22, 2001)
928 \layout Itemize 1178 \end_layout
929 1179
1180 \begin_layout Itemize
930 added contribution by Vassilis Fotopoulos (Piva's algorithm, 1181 added contribution by Vassilis Fotopoulos (Piva's algorithm,
931 \layout Itemize 1182 \end_layout
932 1183
1184 \begin_layout Itemize
933 DCT, Hartley and subband domain) - see Fotopoulos/ subdirectory 1185 DCT, Hartley and subband domain) - see Fotopoulos/ subdirectory
934 \layout Itemize 1186 \end_layout
935 1187
1188 \begin_layout Itemize
936 stuff moved to Meerwald/ subdirectory 1189 stuff moved to Meerwald/ subdirectory
937 \layout Itemize 1190 \end_layout
938 1191
1192 \begin_layout Itemize
939 added Bruyndonckx, Corvi, Koch, Xia, Xie algorithms 1193 added Bruyndonckx, Corvi, Koch, Xia, Xie algorithms
940 \layout Standard 1194 \end_layout
941 1195
1196 \begin_layout Standard
942 version 0.1 (February 18, 2001) 1197 version 0.1 (February 18, 2001)
943 \layout Itemize 1198 \end_layout
944 1199
1200 \begin_layout Itemize
945 initial release 1201 initial release
946 \layout Section 1202 \end_layout
947 1203
1204 \begin_layout Section
948 Legal statement 1205 Legal statement
949 \layout Standard 1206 \end_layout
950 1207
1208 \begin_layout Standard
951 My license is called "I-don't-care" license: (1) You can do with the accompanyin 1209 My license is called "I-don't-care" license: (1) You can do with the accompanyin
952 g software whatever you want, but don't blame me if it doesn't work or it 1210 g software whatever you want, but don't blame me if it doesn't work or it
953 causes damage. 1211 causes damage.
954 (2) If you think my work is useful, tell me and tell others, but you are 1212 (2) If you think my work is useful, tell me and tell others, but you are
955 not obliged to do so. 1213 not obliged to do so.
956 I suggest not to remove information contained in this other documentation 1214 I suggest not to remove information contained in this other documentation
957 file. 1215 file.
958 \layout Standard 1216 \end_layout
959 1217
960 1218 \begin_layout Standard
961 \begin_inset LatexCommand \BibTeX[plain]{watermarking} 1219 \begin_inset LatexCommand bibtex
962 1220 options "plain"
963 \end_inset 1221 bibfiles "watermarking"
964 1222
965 1223 \end_inset
966 \the_end 1224
1225
1226 \end_layout
1227
1228 \end_body
1229 \end_document

Repositories maintained by Peter Meerwald, pmeerw@pmeerw.net.