A Shift-Resisting Public Watermark System for Protecting Image Processing Software


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.

Experiment results

For a public watermarking system, it can't refer original watermark. In order to measure the correct ratio of extracted watermark, we define NCEW and NCAW to compare extracted with original watermark using in experiment result. The NCEW value compares extracted watermark bits with original watermark bits in the extracted watermark position. That is, NCEW value measures percentage of correct within extracted watermark bits. The NCAW value compare extracted watermark bits with all original watermark bits. That is, the NCAW measures quality of extracted watermark.

Our approach has already combined with our own VideoVR system, which is a panorama construction tool from live video of surrounding environment. Other commercial products can also use our system to protect their copyright. Why not just use a serial number (CD-key) to protect a software? Since this is an Internet society, and many software were put on web sites for non-commercial use, both for trial use and for advertisement. However, there is a need to avoid the software being used commercially without proper licensing. Therefore, a public watermarking system is proposed.

(a)(b)(c)
Fig. 15 some watermark images which we embed.

Fig. 15 shows some 64x64 binary images that we use as watermarks. Fig. 16, Fig. 17 and Fig. 18 are three examples for panoramic image and cropped part of them. In all three examples, (a) of them are images which have embedded watermark and compressed to JPEG, and (b) of them are cropped some part from (a), as shown a block line rectangle in (a). The PSNR of Fig. 16 is only 30.061, this is because the image has many complicated block. Thus, we can embed more watermark bits, and it's still hard to detect artifacts, as compared to Fig. 16 (f)(h) and (g)(i). On the other hand, the more bits are embedded, the more watermark quality is extracted, as shown in Fig. 16 (d), the NCEW value is 0.993, the highest among examples.

Fig. 16, Fig. 17 and Fig. 18 (c)(d)(e) are extracted watermark, which have very high NCEW values; it means that the images have been embedded with our watermark. The NCAW value of Fig. 18 (e) is only 0.577, this is because the cropped image has many similar block characteristics, so that embedded watermark bits canˇ¦t distribute across all image. But the NCEW value is 0.936, which is still high enough, and we easily can recognize the extracted watermark pattern.

(a)
(b)(c)(d)(e)
(f)(g)(h)(i)
Fig. 16 (a) is a panoramic image of a central courtyard; the image size is 2729x217, which is embedded a watermark using Fig. 15 (a), and then compressed to JPEG. The PSNR of (a) is 30.061 after embedding watermark. (b) is cropped from (1651,10) to (2149,209) of (a) as shown a block line rectangle in (a); the image size is 500x200. (c) is the extracted watermark from (a) before JPEG compression. (d) is the extracted watermark from (a). The (Normalized Correlation) NCEW of (e) is 0.997, and NCAW is 0.993. (e) is the extracted watermark from (b). The NCEW of (f) is 0.971, and NCAW is 0.845. (f),(h) show some part of (b). (g),(i) show the same part of original image, which doesnˇ¦t embed watermark.

(a)
(b)(c)(d)(e)
(f)(g)(h)(i)
Fig. 17 (a) is a panoramic image of an outdoor scene; the image size is 2620x287, which is embedded a watermark using Fig. 15 (a), and then compressed to JPEG. The PSNR of (a) is 36.088 after embedding watermark. (b) is cropped from (9,11) to (708,260) of (a) as shown a block line rectangle in (a); the image size is 700x250. (c) is the extracted watermark from (a) before JPEG compression. (d) is the extracted watermark from (a). The NCEW of (e) is 0.980, and NCAW is 0.961. (e) is the extracted watermark from (b). The NCEW of (f) is 0.918, and NCAW is 0.779. (f),(h) show some part of (b). (g),(i) show the same part of original image, which doesnˇ¦t embed watermark.

(a)
(b)(c)(d)(e)
(f)(g)(h)(i)
Fig. 18 (a) is a panoramic image of an outdoor scene; the image size is 2596x296, which is embedded a watermark using Fig. 15 (a), and then compressed to JPEG. The PSNR of (a) is 37.953 after embedding watermark. (b) is cropped from (1731,14) to (2430,263) of (a) as shown a block line rectangle in (a); the image size is 700x250. (c) is the extracted watermark from (a) before JPEG compression. (d) is the extracted watermark from (a). The NCEW of (e) is 0.964, and NCAW is 0.875. (e) is the extracted watermark from (b). The NCEW of (f) is 0.936, and NCAW is 0.577. (f),(h) show some part of (b). (g),(i) show the same part of original image, which doesnˇ¦t embed watermark.

Fig. 19 (a) shows 512x512 original Lena image. Fig. 19 (b) shows Lena image, which are embedded watermark and compress to JPEG. Fig. 19 (c)~(h) show some image processing from (b), including shifting, cropping, blurring, sharpening, Gaussian noise adding and brightness. Note that the image processing and JPEG compression operate by other software, which is one popular commercial image processing software. Fig. 20 (b)~(h) shows the watermark extracted from Fig. 19 (b)~(h). Those NCEW value is also high, except Fig. 20 (h). This is because we use image intensity as one of our characteristics to decide watermark position. When brightness arises, the watermark position will arise, too. Thus, we will see the watermark shift in y-axis, even so, we can recognize the meaning of extracted watermark.

(a)(b)(c)(d)
(a) Original image (b) JPEG compressed (c) Shifted (d) Cropped
(e)(f)(g)(h)
(e) Blurred (low pass) (f) Sharpened (high pass) (g) Gassuian noise added (h) Brightness increased
Fig. 19 (a) is original Lena image; whose size is 512x512. (b) is 512x512 Lena image, which has embedded watermark, and compress to JPEG. The PSNR is 40.390 after embedding watermark. (c) is shifted (52,17) from (b), and compressed to JPEG again. The gray line denotes the image boundary. (d) is cropped from (71,45) to (438,402) of (b), and compress to JPEG again; the image size is 368x358. (e) generated by processing blur from (a), and compressed to JPEG again. (f) generated by image sharpening from (b) , and compressed to JPEG again. (g) generated by adding Gaussian noise to (b) , and compressed to JPEG again. (h) Brightness value increased by 30 from (b), and compress to JPEG again. Where the extract watermarks from (b) to (h) are shown from (b) to (h) in Fig. 20. Note that the image processing and JPEG compression are operated by one popular commercial image processing software: PhotoShop.

(a)(b)(c)(d) (e)(f)(g)(h)
(a) 0.983/0.854 (b)0.972/0.846 (c) 0.913/0.765 (d) 0.946/0.677 (e) 0.920/0.747 (f) 0.864/0.734 (g) 0.832/0.670 (h) 0.634/0.511
Fig. 20 (a) is the extracted watermark from Fig. 19 (b) before JPEG compression. Extracted watermarks from (b) to (h) are extracted from (b) to (h) in Fig. 19. Where the first number is NCEW and the second number is NCAW.

We also test some images of different resolution, as shown in Fig. 21, and different watermarks, as shown in Fig. 15. We can still recognize every extracted watermark by naked eyes. Our approach can also resist mosaic attack. The attack chops a watermarked image into smaller images, which are stuck back together when the browser renders the page, as shown in Fig 22.

Test image
Image size 512x512 256x256 512x512 256x256 512x512 256x256
PSNR 42.214 38.620 30.595 32.709 38.873 35.004
NCEW 0.925 0.927 0.988 0.972 0.970 0.946
NCAW 0.726 0.563 0.860 0.586 0.853 0.586
Extract image
Fig. 21 test some images of different resolution and different watermarks


Fig. 22 Mosaic attack

Execution time is also important. Table 2 and Table 3 show the execution time of embedding and extracting watermark in our public watermarking system. Execution time of embedding watermark includes forward DCT embedding, watermark and inverse DCT back to RGB domain. Execution time of extracting watermark includes finding out original 8x8 DCT block and extracting watermark.

Execution time of embedding watermark Fig. 16 (a)2729x217 Fig. 17 (a)2620x287 Fig. 18 (a)2596x296 Fig. 19 (b)512x512 Fig. 16 (c)500x200 Lena 128x128
Time (sec) 1.79 2.27 2.22 0.78 0.31 0.20
Table 2 Execution time of embedding phase using a Pentium III 533 MHz PC

Execution time of extracting watermark Fig. 16 (a)2729x217 Fig. 17 (a)2620x287 Fig. 18 (a)2596x296 Fig. 16 (b)500x200 Fig. 17 (b)700x250 Fig. 18 (b)700x250 Fig. 19 (b)512x512
Time (sec) 1.32 1.68 1.61 0.26 0.41 0.42 0.61
Execution time of extracting watermark Fig. 19 (c)512x512 Fig. 19 (d)368x358 Fig. 19 (e)512x512 Fig. 19 (f)512x512 Fig. 19 (g)512x512 Fig. 19 (h)512x512 Lena128x128
Time (sec) 0.60 0.33 0.72 0.71 0.72 0.61 0.20
Table 3 Execution time of extracting phase using a Pentium III 533 MHz PC

For software protection, we want to know whether an image has been embedded watermark or not before visually inspecting the extracted watermark pattern. Therefore, we define 0.8 as the threshold of NCEW in our watermarking system. When the NCEW of test image is larger then 0.8, the system extract watermark to recognize the copyright. This is useful to search the protected image from a large image database.


Back