📄 manual.lyx
字号:
#LyX 1.1 created this file. For more info see http://www.lyx.org/\lyxformat 218\textclass paper\language english\inputencoding auto\fontscheme default\graphics default\paperfontsize default\spacing single \papersize Default\paperpackage a4\use_geometry 0\use_amsmath 0\paperorientation portrait\secnumdepth 3\tocdepth 3\paragraph_separation skip\defskip smallskip\quotes_language english\quotes_times 2\papercolumns 1\papersides 1\paperpagestyle default\layout TitleWatermarking Source Code\layout SubTitleversion 0.4\layout AuthorPeter Meerwald\layout AddressDept. of Scientific Computing, University of Salzburg\newline Jakob-Haringer-Str. 2, A-5020 Salzburg, Austria\newline \begin_inset LatexCommand \url{mailto:pmeerw@cosy.sbg.ac.at}\end_inset \newline \begin_inset LatexCommand \url{http://www.cosy.sbg.ac.at/~pmeerw/Watermarking}\end_inset \layout AbstractThis package provides source code for some watermarking algorithms in hopefully portable C code. The programs can be used to study watermarking techniques, perform comparative robustness tests and develop new attacks against embedded watermarks.\layout AbstractHowever, the provided programs are by no means suitable for real-world application (i.e. copyright protection) and the code solely serves some educational purpose.\layout Standard\begin_inset LatexCommand \tableofcontents{}\end_inset \layout SectionIntroduction\layout StandardAcademic research in the watermarking field has grown dramatically since approximately 1995. But surprisingly, source code for the proposed watermarking schemes has not been made available. The reason is most likely the security of many watermarking systems lies at least to some extent in the embedding and detection algorithm itself, and not in the keys used -- violating the Kerckhoff principle \begin_inset LatexCommand \cite{Kerckhoff1883a}\end_inset .\layout StandardWith the availability of public robustness test for watermarking algorithms, StirMark \begin_inset LatexCommand \cite{Petitcolas99c, Petitcolas98b, Petitcolas98a}\end_inset , Unzign\begin_float footnote \layout Standard\begin_inset LatexCommand \url{http://www.altern.org/watermark}\end_inset \end_float and very recently Checkmark\begin_inset LatexCommand \cite{Pereira01b}\end_inset , the situation begins to improve. Now it is possible to measure the performance of watermarking systems. \layout StandardIn order the compare and evaluate new embedding and detection techniques, it is also necessary to have some reference implementations of the older, now often called classical schemes. In this work, we provide some implementations of watermarking schemes, some of which can be considered 'classical'.\layout StandardIt was the goal to capture the main ideas of the proposed algorithms, as layed out in the respective papers. This is clearly not an easy task as some papers do not disclose all details or state which particular parameters were used to obtain the results outlined in the communications.\layout StandardI am very interested in hearing your comments, complaints and suggestions regarding this software. Moreover, if you have source code for a watermarking scheme not yet covered or some useful utility I would be happy to include your code in this distribution. Please see the contact information at the top of this document.\layout StandardIf you use the accompanying code, please cite my thesis:\layout QuotationPeter Meerwald, Digital Image Watermarking in the Wavelet Transform Domain, Master's Thesis, Department of Scientific Computing, University of Salzburg, Austria, January 2001.\layout SectionSoftware\layout StandardMost of the software provided herein was written by myself, as part of my Master thesis. Some contributions were made by Vassilis Fotopoulos\begin_float footnote \layout Standard\begin_inset LatexCommand \url{mailto:vfotop1@physics.upatras.gr}\end_inset \end_float . The software in the archive is organized in the following sub-directories:\layout DescriptionFotopoulos/ contains contributions by Vassilis Fotopoulos\layout DescriptionMeerwald/ contains my work\layout Descriptionimages/ contains the Lena image in PGM format; the default parameters of most algorithms are tuned to work best with that image\layout Descriptionlinux_bin/ the place where the Linux executables are stored in the binary distribution\layout Descriptionwin32_bin/ the place where Windows 32-bit executables are distributed; tested with Windows NT 4.0 only\layout Descriptionmake/ contains the \family typewriter \size small Makefile\family default \size default options to build the code on supported platforms\layout StandardFor the purpose of this software package, a watermarking system comprises four parts, namely: signature generation, watermark embedding, watermark extraction and signature comparison or detection -- with the exception of Vassilis's code; there are only cast and test programs (corresponds to watermark embedding and detection). Signature is used more less as a synonym for mark and can be thought of as the payload (at least for some schemes :-).\layout StandardAll programs only accept the image in NetPBM format and will also produce only NetPBM-format files (see section \begin_inset LatexCommand \ref{sec:prereq}\end_inset ). Unfortunately, most programs have only been tested with 8-bit gray-scale images of size \begin_inset Formula \( 512\times 512. \)\end_inset \layout StandardIn order to simplify batch testing, the programs allow to read either from a file, e.g.\layout Standard\family typewriter \size small wm_cox_e -s cox.sig \series bold image.pgm\layout Standardor from standard input, i.e.\layout Standardwm_cox_e -s cox.sig \series bold < image.pgm\layout StandardThe output is usually written to standard output, i.e. \layout Standard\family typewriter \size small wm_cox_e -s cox.sig image.pgm \series bold > wm_image.pgm\layout Standardunless redirected to a file, e.g.\layout Standard\family typewriter \size small wm_cox_e -s cox.sig \series bold -o wm_image.pgm\series default image.pgm\layout SubsectionFeatured algorithms\layout StandardCurrently it includes the following watermarking algorithms\layout ItemizeBruyndonckx [bruyn], refer to\layout QuotationO. Bruyndonckx, Jean-Jacques Quisquater, and Benoit M. Macq. Spatial method for copyright labeling of digital images. In IEEE Workshop on Nonlinear Signal and Image Processing '95, Thessaloniki, Greece, pages 456 - 459, 1995.\layout ItemizeCorvi, refer to\layout QuotationMarco Corvi and Gianluca Nicchiotti. Wavelet-based image watermarking for copyright protection. In Scandinavian Conference on Image Analysis SCIA '97, Lappeenranta, Finland, June 1997.\layout ItemizeCox, refer to\layout QuotationIngemar J. Cox, Joe Kilian, Tom Leighton, and Talal G. Shamoon. Secure spread spectrum watermarking for multimedia. In Proceedings of the IEEE ICIP '97, volume 6, pages 1673 - 1687, Santa Barbara, California, USA, 1997.\layout ItemizeDugad, refer to\layout QuotationRakesh Dugad, Krishna Ratakonda, and Narendra Ahuja. A new wavelet-based scheme for watermarking images. In Proceedings of the IEEE International Conference on Image Processing, ICIP '98, Chicago, IL, USA, October 1998. \layout ItemizeFridrich (2. scheme), refer to\layout QuotationJiri Fridrich. Combining low-frequency and spread spectrum watermarking. In Proceedings of the SPIE Symposium on Optical Science, Engineering and Instrumentation, San Diego, USA, July 1998. \layout ItemizeKim, refer to \layout QuotationJong Ryul Kim and Young Shik Moon. A robust wavelet-based digital watermark using level-adaptive thresholding. In Proceedings of the 6th IEEE International Conference on Image Processing ICIP '99, page 202, Kobe, Japan, October 1999.\layout ItemizeKoch, refer to\layout QuotationEckhard Koch and Jian Zhao. Towards robust and hidden image copyright labeling. In Proceedings of the IEEE International Workshop on Nonlinear Signal and Image Processing, pages 452 - 455, Halkidiki, Marmaras, Greece, June 1995.\layout ItemizeWang, refer to\layout QuotationHoung-Jyh Wang, Po-Chyi Su, and C.-C. Jay Kuo. Wavelet-based digital image watermarking. Optics Express, volume 3, pp. 497, December 1998. \layout ItemizeXia, refer to\layout QuotationXiang-Gen Xia, Charles G. Boncelet, and Gonzalo R. Arce. Wavelet transform based watermark for digital images. Optics Express, volume 3, pp. 497, December 1998.\layout ItemizeXie, refer to\layout QuotationLiehua Xie and Gonzalo R. Arce. Joint wavelet compression and authentication watermarking. In Proceedings of the IEEE International Conference on Image Processing, ICIP '98, Chicago, IL, USA, 1998.\layout ItemizeZhu, refer to\layout QuotationWenwu Zhu, Zixiang Xiong, and Ya-Qin Zhang. Multiresolution watermarking for images and video: a unified approach. In Proceedings of the IEEE International Conference on Image Processing, ICIP '98, Chicago, IL, USA, October 1998. \layout ItemizePiva/Fotopoulos [cast|test-pv,hart,sub], contribution by Vassilis Fotopoulos, refer to\layout QuotationM.Barni, F. Bartolini, V. Cappellini, A. Piva. A DCT-Domain System for Robust Image Watermarking, Signal Processing, vol. 66, pp 357 - 372, 1998.\begin_deeper \layout Standard\added_space_top smallskip \added_space_bottom smallskip and\end_deeper \layout QuotationV. Fotopoulos, A. N. Skodras, A Subband DCT approach to image watermarking, X European Signal Processing Conference, September 4 - 8, 2000, Tampere, Finland.\layout StandardMore algorithms will be added over time, I have implemented about 13 watermarking algorithms in the spatial-, DCT-, and wavelet domain so far.\layout Subsection\begin_inset LatexCommand \label{sec:utility_programs}\end_inset Utility programs\layout StandardA good way to check the effect of a watermarking algorithm is computing the difference image, i.e. subtracting the original image from the watermarked image. Alternatively, one can also have a look at the modified coefficients in the transform domain. The following programs facilitate these tasks:\layout Descriptioncmp_pgm compute difference image, PSNR, ...\layout Descriptioncmp_dct compute full-frame DCT domain difference image\layout Descriptioncmp_dct8x8 compute 8x8 block-based DCT difference image\layout Descriptioncmp_dwt compute DWT domain difference image\layout StandardFor example, to produce the difference image of two PGM files and compute the PSNR along with some other measures, the following command can be used:\layout Standard\family typewriter \size small cmp_pgm -p -i original.pgm -o diff.pgm watermarked.pgm\layout SectionUsage\layout StandardNote, almost all programs will output usage information if called with the \family typewriter \size small -h\family default \size default argument.\layout SubsectionGenerating a mark\layout StandardFirst, you have to generate an appropriate signature file for the corresponding embedding/detection algorithm; e.g. if you are going to use Cox' scheme, then you would run\layout Standard\family typewriter \size small gen_cox_sig\layout StandardThe programs outputs some parameters and a sequence of Gaussian distributed random numbers (which is the watermark sequence). You want to save that into a signature file, so you run\layout Standard\family typewriter \size small
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -