4.4 Wavelet Transform Based Approach
4.4.2 Region-Based Watermarking Technique
Applying the wavelet transform to a signal f results in T (f ) which is a transformed version of the signal. The original signal can then be reconstructed by applying the inverse wavelet transform (see Fig. 4.15). However, when the transformed signal is modified during the wa- termarking, which yieldsT (f ), a new signald f can result upon inverse transform appliance.b
HL1 HH1 LH1 HL 2 HH2 LH2 LL 2
Figure 4.16: The original image (left) is wavelet transformed using a 2-level decomposi- tion (center). The transformation results in low-, middle-, and high-frequency subbands (LL, HL, LH, and HH).
(cover image) andf (watermarked image), while, at the same time, a considerable amountb
of data is encoded.
Typically, a subset of the series of wavelet coefficients is considered for watermark insertion. High-frequency coefficients, for example, provide information about prominent features in an image (e. g., edges), which makes them particularly applicable for watermarking. But in case of Illustration Watermarking, a fixed amount of data is to be inserted, limited to certain image regions. Selecting solely the most significant coefficients may hence not suffice to embed the whole data amount, which requires to include other coefficients, as well. Also, due to the fact that watermarks are embedded only into certain regions which were selected according to content instead of determinable features, it is necessary to mark those regions. In other words, it must be possible to determine for each pixel whether it stores a portion of the watermark stream.
Another important aspect to be considered is that the valid range of RGB color channel values is between 0 and 255. Transforming the signal f into a wavelet representation, modifying a selection of coefficients, and applying the inverse transform can yield invalid RGB color values, which is to be prevented.
Algorithm description
After the image has been decomposed, watermark insertion proceeds in three steps: 1. For each subband to be coded, a Capacity Map (comparable to the Capacity Map
introduced in Sect. 4.3.3) is generated which indicates how many bits of a coeffi- cient can be replaced by watermark stream bits. In these maps, all positions of coefficients Cmin which correspond to the region to be watermarked are marked. In
4.4. Wavelet Transform Based Approach 87
Figure 4.17: Left: The original image has a certain region which is associated with data to be coded. This region is highlighted in each subband image. Right: Capacity Maps are overlayed on their corresponding subband images. Dark values indicate lower codable data rates than brighter values within the region.
a specified threshold are specifically marked. These latter coefficients are those which indicate abrupt changes (edges) in the image. The threshold has to be carefully cho- sen so that a coefficient does not change its state after watermarking (e. g., from Cmin
to Cmax). This is done by setting the threshold to the maximum value which can be
expressed by those bits to be coded. For example, in case of a maximum of 4 bits to be encoded into a coefficient, the threshold would be 15.
Figure 4.17(right) shows the Capacity Maps overlayed on their corresponding subband images. Capacity values are provided for each individual coefficient. The brighter a value in the Capacity Map which is here confined to the region to be watermarked, the more bits can be embedded.
2. For data insertion, the absolute values of coefficients that are marked in the Capacity Map are modified. Embedding data into those coefficients is then equal to embedding data into RGB color channel values by replacing their bits with watermark bits. During the data insertion, coefficients marked as Cmax are modified stronger than
those marked as Cmin, which yields variations between the amounts of encoded data.
In Figure 4.18, the encoding of the character ’a’ is illustrated using a constant ca- pacity level of 2 bits per coefficient. Assuming that the coefficients crk, cgk, and cbk correspond to the red, green, and blue color channels, respectively, the two LSBs of crk and cgk, and the second bit of cbk are replaced by character bits. Note that the LSB of a coefficient that corresponds to the blue color channel is reserved for region identification so that it cannot store watermark data.
‘a’
0
0 0 0 0
c
1rc
1g0
8 7 6 5 4 3 2 1 7 6 5 4c
2bc
2r 3 26 bits left unchanged
c
1b0
8 LSB reserved for region identification0
0
10
(ascii: 97)Figure 4.18: Example of how the character ’a’ can be encoded into five coefficients.
3. After watermarking a particular coefficient at a certain position in each of the three subbands, the inverse wavelet transform is emulated to verify that the modified RGB color channel is still valid (i. e., between 0 and 255). If it exceeds its limits, the according original color channel value has to be adapted, i. e., it is increased or reduced accordingly. Thereafter, the corresponding coefficients and Capacity Map values have to be recalculated and watermarking is repeated.
Watermark retrieval
Just as the other techniques described in the previous sections, the wavelet domain tech- nique is a blind technique. After decomposing the watermarked image, the coefficients that represent the four subband images are equal to those coefficients the watermarking procedure yielded. The subsequent step is to generate the Capacity Map. Even though the watermarked coefficients differ from the original (unmodified) coefficients which were used to generate the Capacity Map during data insertion, both computed Capacity Maps are equal. The reason is no coefficient changed its state (Cmin or Cmax) during data insertion
since the threshold was appropriately chosen. Once the Capacity Map has been generated, watermarked regions can be identified and the encoded data can be extracted.