Although it is usually well hidden, a watermark in the physical world can always be seen either with bare eyes or by the help of special equipments. In contrast, the Dct-based and wavelet-based digital watermarking technique we discussed before CANNOT be seen. The watermark itself is actually a sequence of random numbers and can only be perceived by computing the correlation. Some researcher proposed methods that can hide real images, especially logos into the originals to declare the ownership. One major advantage of such technique is that the logo might still be readable for human eyes even if it is severely damaged by intentional attack.
Wu and Hsieh [6] proposed to use zerotree[7] of DCT coefficients to hide the image. In consideration of the capacity, the logo used is a very simple binary image. Each 8x8 block of the original hides only one bit of the logo. The algorithm can be summarized as below:
The authors proposed a modified algorithm based on Wu and Hsieh's ideas.
Goal: Hide one bit information in an 8x8 block.

| 16 | 11 | 10 | 16 | 24 | 40 | 51 | 61 |
| 12 | 12 | 14 | 19 | 26 | 58 | 60 | 55 |
| 14 | 13 | 16 | 24 | 40 | 57 | 69 | 56 |
| 14 | 17 | 22 | 29 | 51 | 87 | 80 | 62 |
| 18 | 22 | 37 | 56 | 68 | 109 | 103 | 77 |
| 24 | 35 | 55 | 64 | 81 | 104 | 113 | 92 |
| 49 | 64 | 78 | 87 | 103 | 121 | 120 | 101 |
| 72 | 92 | 95 | 98 | 112 | 100 | 103 | 99 |
The table compares the original, watermark embedded image, the JPEG compressed watermark embedded image and the corresponding extracted logo images. The extracted logo images is measured by BER (Bit Error Rate)
| Original | Watermarked | JPEG compressed |
|---|---|---|
![]() |
![]() |
![]() |
![]() |
![]() BER=0 |
![]() BER=0.002 |
To further verify the robustness of this algorithm, We applied the same common image processings to see if the watermark still exists after these processing.
|
|
The results are listed in the table.
| Low Pass Filter 3x3 | High Pass Filter 3x3 | Median Filter 3x3 |
|---|---|---|
![]() |
![]() |
![]() |
![]() BER=0.1763 |
![]() BER=0.1972 |
![]() BER=0.1318 |
| LL Wavelet coefficients | Noise Power=10 | Noise Power=50 |
![]() |
![]() |
![]() |
![]() BER=0.0181 |
![]() BER=0.0166 |
![]() BER=0.2538 |
The images and extracted logo images show this algorithm works perfectly for JPEG compresssion. For the Lowpass, Highpass filter, and Median filter, the extracted image is damaged, but we can still see part of the logo. The performance is seriously damaged for higher noise. We can see from the above that when applied noise power is higher than 50, the noise is clearly perceivable but the quality of the is still ok. However the logo is almost completely removed. The effect is the shortage of the proposed algorithm. Because we strictly rely on the odd/even of the quantized coefficients, it can't be immune to strong randomness. That's why strong random noise can destroy most of the embedded images.
Some reader might worry the embedded image is too easy to extract. The authors think the images can be encrypted before entering the system. Like the binary image can be encrypted by XORing with a randomly generated 0/1 sequence. Some researcher define the watermarking as some information that can hardly be removed and might think the proposed algorithm CANNOT be classified as the digital watermark. The authors know this and regard the algorithm as a method of data hiding. Although this is not a digital watermarking technique, there is much similarity and is interesting to compare the both.
Apparently, the proposed algorithm is not robust enough so its application may be limited. However the authors think to embed only 1 bit in a 8x8 block should be a possible task. This research could be a nice start.