A Shift-Resisting Public Watermark System for Protecting Image Processing Software Ding-Yun Chen 1 , Ming Ouhyoung 1 , Ja-Ling Wu 1,2 1 Communication and Multimedia Lab Department of Computer Science and Information Engineering National Taiwan University, Taipei, Taiwan 2 CyberLink Inc., Taiwan {dynamic, ming, wjl }@cmlab.csie.ntu.edu.tw Abstract Digital watermark is a technique used to protect the ownership of images and their associated software. A useful watermark scheme should be visually imperceptible and must be robust to resist various attacks: such as JPEG compression, pixel-shifting, cropping, blurring, etc. In this paper, we propose a public watermarking system to protect image processing software and images. We embed a binary image as watermark in DCT domain, and the watermarked image is imperceptible by human visual system and robust to image shifting or cropping. We use feature-based approach to synchronize the watermark positions during embedding and extracting. For better image quality, the more complex in a block, the more bits can be embedded. Our approach doesn’t need the original image for watermark extraction, which is a useful feature in protecting software applications such as real-time generated panorama images. 1. Introduction All watermarking methods share the same generic building blocks: a watermark embedding system and a watermark extraction system [2]. Fig. 1 shows the generic watermark embedding process for protecting images. The input to the scheme is the watermark (W), the original image (I) and an optional secret key (K). The watermark can be a number, text, or an image. The secret key may be used to enforce security. The output to the scheme is the watermarked image (I). Fig. 2 shows the generic watermark extracting process. The input to the scheme is the test image (I’), the secret key, and, depending on the method, the original image and/or the original watermark. The output is either the extracted watermark (W’) or some kind of confidence measure indicating how likely it is for a given watermark at the input to be present in the test image. Fig. 1 Generic watermark embedding process Fig. 2 Generic watermark extracting process There are three types of watermarking systems, and their difference is in the combination of input and output [3]: 1. Private watermarking (non-blind watermarking) system requires at least the original image (I’×I×K×W ? {0,1}). 2. Semi-private watermarking (semi-blind watermarking) system does not use the original image for detection but answers the question (I’×K×W ? {0,1}). 3. Public watermarking (blind watermarking) system remains the most challenging problem since it requires neither the original image (I) nor the embedded watermark (W) (I’×K ? W’). Depending on the watermarking application and purpose, different requirements arise resulting in various design issues. The purpose of our watermarking system is to protect the ownership of image processing software, which was initially intended to be put on the Internet for personal use, but not for commercial use. Traditional software uses CD-keys to be protected, but was forced to have two versions, one for limited-function trial use, the other complete-function one for legal use. Our blind watermark approach encourages full-feature software to be put on the Internet for trial use, but with a copyright for personal only. Commercial use of the software is protected by the inherent blind watermark, thus copyright protection can be guaranteed. When we design our watermarking system, the following issues have to be taken into account: l Content of watermark : Watermarks, which are semantic meaningful patterns (such as binary images) that can be directly recognized by naked eyes, are important for Oriental culture. There are more and more papers [1,12,13,14] that choose semantic meaningful patterns instead of a serial number. Thus every one can identify the owner of image by seeing the extracted pattern. So, we choose a binary image as our watermark content. l Type of watermarking system : Watermarking methods using the original data set in the extracting process usually feature increased robustness not only towards noise-like distortions, but also distortions in the data geometry since it allows the detection and inversion of geometrical distortions [2]. In many applications, access to the original data is not possible. The purpose of our watermarking system is to protect the ownership of image processing software and images. For an image processing software, such as VideoVR [4], which is a panorama construction tool, it is impractical to use the original image for watermark extracting, because the panoramic images Watermark embedding system Original image (I) Optional secret key (K) Watermark (W) Watermarked image (I) Watermark (W) Watermark extracting system Test image (I’) Optional secret key (K) Extracted watermark (W’) )