B. Tech. Project Report
Source Coding and Digital Watermarking in Wavelet Domain
Submitted in partial fulfilment of the requirements for the degree of
Bachelor of Technology
By Chaitanya S. Ghone 02007028
Under the guidance of Prof. Vikram M. Gadre
Department of Electrical Engineering Indian Institute of Technology – Bombay May 2006
Acknowledgment With great pleasure, I am presenting my B.Tech Project report, entitled “Source Coding and Digital Watermarking in Wavelet Domain”, to the Department of Electrical Engineering of Indian Institute of Technology Bombay. I would like to express my sincere gratitude to Prof. V. M. Gadre for his invaluable guidance and motivation during my project work without which completion of this work would not have been possible. I would also like to thank all the members of the TI-DSP lab, Dept. of Electrical Engineering, IIT Bombay for the fruitful discussions which I had with them regarding the project. Chaitanya S. Ghone
2
Contents Abstract 1. Introduction 1.1. Source Coding 1.2. Watermarking 2. Source Coding Techniques 2.1. Introduction 2.2. DCT 2.3. DWT 2.4. DWT vs. DCT 3. DWT 3.1. 2-dimensional DWT 3.2. Filter Bank scheme 3.3. Lifting Scheme 3.4. Common transforms 3.4.1. Haar Transform 3.4.2. LeGall 5/3 filter 3.4.3. Daubechies’ 9/7 filter 4. Source Coding in wavelet domain 4.1. EZW coder 4.1.1. Theory 4.1.2. Terminology 4.1.3. Algorithm 4.2. SPIHT 4.2.1. Theory 4.2.2. Terminology 4.2.3. Algorithm 5. Watermarking techniques in wavelet domain 5.1. Introduction 5.2. Some Existing Techniques 5.2.1. Embedding a two-valued image into a gray image 5.2.2. Watermarking with error correction 5.2.3. Watermarking based on SPIHT coding 5.3. Techniques Implemented 5.3.1. Watermarking using significant coefficients 5.3.2. Watermarking using smoothness analysis
6 7 7 7 8 8 8 8 8 10 10 11 11 12 12 13 13 15 15 15 15 16 16 16 16 17 18 18 18 18 18 19 20 20 20
3
6. Experimental Results 6.1. Method 5.3.1 6.2. Method 5.3.1 7. Conclusion and Future Work References
21 21 23 25 26
4
Abstract With advances in the digital technology, there has been a large growth in the volume of information. Multimedia information forms a major chunk of this. Uncompressed Audio-Video data transfer is completely impractical. Newer and faster data compression techniques have been the driving force in the multimedia revolution. At the same time, this has led to unlimited copying and distribution leading to increased intellectual property right violations. Watermarking is embedding information in the original copyrighted material so as to prove its genuineness. We shall be considering source coding and watermarking techniques in the wavelet domain. We shall be discussing the DWT – advantages over DCT, implementation schemes and common compression algorithms. We shall also discuss some watermarking techniques in the wavelet domain. Two methods – an existing blind watermarking technique and a new non-blind watermarking technique derived from an existing technique – have been implemented and discussed in this report. Simulation results have also been given.
5
1. Introduction 1.1 Source Coding Source coding or data compression is one of the important enabling technologies aiding the ongoing multimedia revolution. Without compression, it would be impractical for audio and video data transfer. Cellular phones wouldn’t be able to provide communication with increasing clarity without compression. Voicechat over the internet wouldn’t be possible without compression standards like G.723 and others. Even static images on websites would be impractical without compression. Consider a 1024x768 image (24 bpp.) – without compression it would take (1024x768x3/1024/1024 ≈) 2.25 MB, but we can use latest codecs to compress it to around 100-500kB with almost negligible loss in quality. We shall be mainly concerned with image coding in this report.
1.2 Watermarking Digital watermarking is to embed information into digital data – either visibly or imperceptibly. Primarily, this is used to identify the copyright holder. Visible watermarks are usually graphical logos which belong to the copyright holder. These can be easily applied but are hard to erase. Many are even considering using this technique for advertising. However, in many cases an invisible watermark is preferred. We shall be concerned with invisible watermarks. Watermarking can be done before, after or during compression. Watermarking done before compression has to be robust against common compression and image processing techniques. To establish as a proof of ownership, they should be withstand intentional malicious attacks. For this purpose, some schemes use encryption techniques like using a special digital ‘key’ while watermarking which is also used while retrieving the watermark. Depending on the correlation between the original and the retrieved watermark, the source of the data can be confirmed. Watermarking techniques can be non-blind or blind depending on whether they require or don’t require the original image during retrieval.
6
2. Source coding techniques 2.1 Introduction Source coding can be broadly classified into two categories: 1) Spatial domain techniques and 2) Transform domain techniques. In spatial domain techniques, compression is achieved by exploiting interpixel correlation. As pixel values are directly modified in this case, small errors cause much visual degradation. The human eye filters image into a number of frequency bands and respond differently to each band. Transform domain techniques exploit this. Eyes are more sensitive to lower frequency components than the high frequency components and hence larger quantization steps can be used for high frequency components and can even be discarded completely in case of lossy coding. Thus, in transform domain we can achieve higher correlation in the data and thus achieve much greater compression with minimal visual degradation. Direct Cosine Transform (DCT) and Discrete Wavelet Transform (DWT) are two popular transforms used for image compression.
2.2 DCT Here, the image is broken up into blocks of usually 8x8 pixels. An 8x8 DCT is performed on each block, followed by quantization and finally entropy coding. Quantization is the main cause for high compression.
2.3 DWT Here, the main difference is that DWT is applied to the entire image rather than small blocks. However, large images embedded applications use ‘tiling’ to compensate for limited memory and complexity. In this case the image is broken up into ‘tiles’ which can be as large as 256x256 pixels depending on the memory available.
2.4 DWT vs. DCT In DCT techniques, spatial correlation inside an 8x8 block is alone used for correlation. As neighbouring blocks cannot be de-correlated completely, ‘blocking’ artifacts appear. Further, as information about edges tends to disperse into all 7
frequency bands many higher frequency coefficients are needed for the edges to appear with good fidelity. Hence, at lower bit-rates visual quality degradation is considerable. However, in DWT domain the problems due to ‘blocking’ are automatically eliminated. A DWT breaks up an image into an approximate and a detail part. The approximate part accounts for most of the high valued transform coefficients. The detail part is included in the compressed bitstream as allowed by the bit-budget. This also allows for scalability for the compression method.
8
3. Discrete Wavelet Transform 3.1 2-dimensional DWT M
M/2
M/2 N
N/2
N H0
↓2
LL
H1
↓2
LH
H0
↓2
HL
H1
↓2
HH
↓2
H0
Rows
Columns
↓2
H1
Fig. 3.1 2 dimensional DWT Figure 3.1 shows how a 2D-DWT of an M x N image is obtained. H0 and H1 denote, respectively, the low-pass and high-pass filters (also denoted by H and G). In first stage, rows are filtered followed by down-sampling to obtain two M/2 x N images. This is followed by filtering of columns and down-sampling of these images to obtain four M/2 x N/2 images labelled LL, LH, HL and HH corresponding to the type of filtering done on the rows and columns. The LL image contains most information and therefore a DWT is performed on it. The forward transform filters are called analysis filters and the inverse transform filters are called synthesis filters.
MxN
MxN LL2 HL2 HL1 2scale 2D–DWT
LH2 HH2 LH1
HH1
Fig. 3.2 A 2 scale 2 dimensional DWT Two main algorithms are used to compute the DWT of a discrete signal – the filter bank scheme and the lifting scheme.
9
3.2 Filter bank scheme The algorithm computes the DWT in steps shown in Fig. 1. The lowpass branch (LL) can be further decomposed by iteratively applying the algorithm. The inverse transform is computed by a similar sequence of filtering and upsampling.
3.3 Lifting scheme
Fig. 3.3 Block Diagram of LS [1] As well known [2], a discrete-time filter can be represented by its polyphase matrix, which is built from the Z transforms of the even and odd samples of its impulse response. The LS stems from the observation that the polyphase matrix can be factorized, leading to the implementation of one step of the filter bank scheme as a cascade of shorter filters, which act on the even and odd signal samples, followed by a normalization. In particular, the LS performs a sequence of primal and dual lifting steps, as described in the following and reported in the block diagram of Figure 3.3. The inverse transform is achieved performing the same steps in reversed order. An IWT, mapping integers onto integers, can be very simply achieved rounding off the output of the si(z) and ti(z) filters right before adding or subtracting. Filter
Standard algorithm
Lifting scheme
LEG(5, 3)
4(N +M) + 2
2(N +M + 2)
DB(9, 7)
4(N +M) + 2
2(N +M + 2)
Table 3.1 Computational cost (number of multiplications plus additions) of lifting versus filter banks [1] 2N = Length of filter H; 2M = Length of filter G As per Table 1, the cost of the lifting algorithm for computing the wavelet transform is one half of the cost of the standard algorithm.
10
3.4 Common transforms 3.4.1 Haar transform The 2-dimensional normalized Haar transform of a 2x2 matrix x is TxTT, where, T =
1 ⎛1 1 ⎞ ⎜ ⎟ 2 ⎜⎝1 − 1⎟⎠
The first column is the low pass filter H and the second column is the high pass filter G. T is an orthonormal matrix. Hence, the inverse transform of a 2x2 matrix y is TTyT. To apply this transform to a complete image, we group the pixels into 2x2 blocks and apply the transform to each block. The coefficients below are reorganized – all top left coefficients grouped together in top-left part Fig. 3.4a. Similarly other components are also grouped.
Fig. 3.4 a) Original Image
b) Haar Transformed image [3]
We see that the top-left part of Fig. 3.4b is just an average of the pixels – the LL part of the transform and appears equivalent to the original image. In the top-right HL part, we can make out vertical edges in the image prominently and similarly the horizontal edges in the LH (lower-left) part. The HH part gives the diagonal curvature.
11
3.4.2 LeGall 5/3 filter This is the integer to integer transform used in lossless JPEG2000 compression [4] as it can be implemented on a fixed-point architecture. Analysis Filter:
⎛ −1 1 3 1 −1 ⎞ Low pass filter: ⎜ , , , , ⎟ ⎝ 4 2 2 2 4 ⎠
⎛ 1 −1 1 ⎞ High pass filter: ⎜ , , ⎟ ⎝4 2 4⎠
Analysis Filter:
⎛1 1 1⎞ Low pass filter: ⎜ , , ⎟ ⎝4 2 4⎠
⎛1 1 −3 1 1⎞ High pass filter: ⎜ , , , , ⎟ ⎝4 2 2 2 4⎠
Lifting Scheme implementation:
Fig. 3.5 Lifting Scheme for LEG (5,3) [5] The 1-dimensional filtering equations are as follows: ⎢ X (2n) + X (2n + 2) ⎥ Y (2n + 1) = X (2n + 1) − ⎢ ⎥⎦ 2 ⎣ ⎢ Y (2n − 1) + Y (2n + 1) + 2 ⎥ Y ( 2n) = X ( 2n) + ⎢ ⎥⎦ 4 ⎣
3.4.3 Daubechies’ 9/7 filter
This is the irreversible integer to integer transform used in lossy JPEG2000 compression [4]. Taps
LP Filter
Taps
HP Filter
4
0.6029490183263579
3
1.1115087052456994
3,5
0.2668641184428723
2,4
-0.5912717631142470
2,6
-0.07822326652898785
1,5
-0.05754352622849957
1,7
-0.01686411844287495
0,6
0.09127176311424948
0,8
0.02674875741080976 Table 3.2 DB (9,7) filter coefficients
12
The lifting scheme implementation of this transform used in JPEG2000 is as follows: Y(2n + 1)
← X(2n + 1)+(α×[X(2n)+ X(2n + 2)])
Y(2n)
← X(2n)+(β×[Y(2n – 1)+ Y(2n + 1)])
Y(2n + 1)
←Y(2n + 1)+(γ×[Y(2n)+ Y(2n + 2)])
Y(2n)
←Y(2n)+(δ×[Y(2n – 1)+ Y(2n + 1)])
Y(2n + 1)
← –K × Y(2n + 1)
Y(2n)
← (1/K) × Y(2n)
where α
= –1.586134342
β
= –0.052980118
γ
= 0.882911075
δ
= 0.443506852
K
= 1.230174105
13
4. Source Coding in wavelet domain 4.1 EZW coder 4.1.1 Theory
The embedded zerotree wavelet (EZW) coder was developed by Shapiro [6]. It is a quantization and coding strategy which exploits some of the basic characteristics of the wavelet decomposition as described above. The particular characteristic of interest, here, is that there are coefficients in different subbands that represent the same location in the image. In case of subbands with different sizes, a single coefficient in the smaller subband represents multiple coefficients in the other subbands.
Fig. 4.1
A 10 – band wavelet decomposition
The single coefficient in the LL3 band is called the ‘root’ of the ‘tree’ representing that location in the image. In natural images, most energy is concentrated in the lower frequencies and therefore, coefficients closer to the root will have higher magnitudes.
4.1.2 Terminology
Given a threshold T, a coefficient greater than T is called significant at level T. If a coefficient is not significant with respect to T and all its descendants are also lesser than T, the coefficient is called a zerotree root. If the descendants of a nonsignificant coefficient are greater than the threshold, the coefficient is called an isolated zero.
14
4.1.3 Algorithm
It consists of two steps: significance map encoding or the dominant pass, and the refinement or the subordinate pass. The initial value of threshold T0 is given 2 ⎣log 2 cmax ⎦ , where cmax is the value of the largest coefficient. The coefficients are scanned as shown in Fig. 4.2.
Fig. 4.2 Scanning order in EZW algorithm Coefficients are labelled as significant positive (sp), significant negative (sn), zerotree root (zr) and isolated zero. Thus, we can label each coefficient using two bits. The descendants of zr need not be labelled. During reconstruction, significant coefficients are assigned values ±Ti. In the subsequent refinement passes, the threshold is halved and the procedure is carried on the insignificant coefficients. In these passes, correction terms are transmitted for the significant coefficients. In practice, this is further followed by arithmetic coding to achieve more compression.
4.2 SPIHT 4.2.1 Theory
This is a generalization of EZW developed by Amir Said and William Pearlman [6]. In this algorithm, the partitioning of trees (spatial orientation trees), in a manner so as to group insignificant coefficients together and thus be able to send more information at a slow cost.
4.2.2 Terminology
O(i,j)= Immediate offsprings of location (i, j), has size zero or four. D(i,j)= Descendents of location (i, j), has size zero or sums of powers of four. H
= Set of all root nodes – the lowest band
LIP = list of insignificant pixels LSP = list of significant pixels 15
LIS = list of insignificant sets Descendants or offsprings here imply the coefficients or groups of coefficients in each band representative of the same physical location in the image.
4.2.3 Algorithm
LIP is initialized to H. The initial threshold T0 = 2 ⎣log2 cmax ⎦ . Elements in H
having descendants are placed in LIS as D type entries. In each pass, we first process the members of the LIP and then the LIS and fill LSP as we go on. We transmit ‘1’ followed by a sign bit for a significant pixel in the LIP. In case of insignificant pixels, ‘0’ is transmitted. If all elements of the D type entry are insignificant, a single ‘0’ is transmitted for the entry. This grouping into large groups is the reason for higher compression than EZW. If some of elements of a D type entry in the LIS are significant, we send a ‘1’ and the elements of this entry are again transmitted if significant in same manner as before. The insignificant elements of this entry are added to the LIP. All coefficients deemed significant are added to the LSP. If an entry existed in the LSP before, another bit is transmitted as a correction. Here, arithmetic coding doesn’t provide much improvement.
16
5. Watermarking techniques in wavelet domain 5.1 Introduction For simplicity we shall mainly discuss only grayscale images (8bpp). There are some general strategies used for watermarking in the wavelet domain. The watermark is not embedded in the LL part or the low-frequency bands as this leads to considerable visual distortion. Further, embedding is also avoided in the HH part for lack of robustness as this part is usually attacked strongly in usual compression techniques due to smaller values of the coefficients. Thus, embedding is done mainly in the HL and LH parts for optimum combination invisibility and robustness.
5.2 Some Existing Techniques 5.2.1 Embedding a two-valued image into a gray image:
This scheme [7] uses redundancy in embedding for robustness. The image is divided into smaller ‘tiles’ as in JPEG2000 and a two-layer wavelet decomposition is carried on each block. The two valued image to be used as a watermark is converted into a 1-dimensional sequence W composed of 1 and –1. The watermark is embedded in the most significant coefficients in each ‘tile’
5.2.2 Watermarking with error correction:
This technique [8] has been developed for colour images. The processing of images is done in YUV domain rather than the RGB domain. For each of the YUV components, a 4-layer Daubechies-4 wavelet transform is computed. A smoothness region overlay is calculated using the variances in 4×4 blocks in the intensity band. The overlay is divided in five different classes each of which given a pseudo colour. Watermarking is done on basis of smoothness. Smooth regions are watermarked with lower strengths to avoid visual distortion. The watermark is embedded in form (8, 4) extended Hamming code. The watermark is 32-bit long and the parity data is also 32bit long. It is embedded one byte at a time. The entire wavelet transform of each component is partitioned into 10×10 blocks. The lower bits in block borders are altered to code ‘0’ to assist in decoding. With 8×8 matrix entries within each block, we are able to hide a 64-bit Hamming encoded watermark code. We can simply encode each entry in the transformation matrices with one bit of the watermark code. The retrieval procedure is exactly the
17
inverse of the encoding algorithm. This technique has been observed to be more robust to image alterations such as compression, additive noise and even some intentional disturbances.
5.2.3 Watermarking based on SPIHT coding
In this technique [9], a binary pseudo-random sequence {w(i), i = 1, 2, …, n} of length n bits is generated by a shift register of length k (n = 2k – 1) is used as the watermark. The pseudo-random sequence possesses good autocorrelation property that relates to the watermarking capacity of the system. We carefully choose some of the output bits in the refinement pass of SPIHT for watermark embedding. The rest of the SPIHT coding, including the DWT, the sorting pass, and the possible arithmetic coding, remains unchanged. Once the embedding location is decided, we replace the original coded output bits with {w(i)}. These embedding locations are also stored as a secure key used for detection. The watermarked image can be obtained by a normal SPIHT decoding process. Some of the important parameters determine the performance of our watermarking system, which include •
Watermark locations: The watermark signals should be inserted in perceptually
important
symbols
to
ensure
sufficient
robustness.
Consequently, we embed the watermark in wavelet coefficients that are found significant in the early iterations of the SPIHT sorting pass. •
Watermarking strength: The watermark can be thought of as a distortion added to the host image. We need to choose appropriate watermarking energy for balancing the requirements of transparency and robustness. In our scheme the watermark is added after quantization, so the effects of quantization upon watermarks can easily be controlled. We can intelligently avoid embedding watermarks into the coefficients that are vulnerable to attacks.
•
Length of the binary watermark (n): In general, the security of the system increases with n, while the similarity of the extracted watermark under attacks with the original one may decrease with n since the coded bits are ordered according to their relative importance.
18
5.3 Techniques Implemented Two techniques characterised by distinct methods of identifying the locations for embedding the watermark have been implemented in C++. In both cases, EZW algorithm has been used for compression.
5.3.1 Watermarking using significant coefficients
This blind watermarking technique [12] was proposed by Hisashi Inoue, Akio Miyazaki, Akihiro Yamamoto and Takashi Katsura. The watermark is embedded in the subbands at the coarsest scale except for the lowest frequency subband (LLn). The algorithm is as follows: Embedding: Step 1: Take two thresholds T1 and T2 where T2 > T1 > αCmax (Cmax = maximum amplitude of coefficient in the band and α < 1. Step 2: Coefficient Ck is modified as follows: If (W(k) = 1) and Ck > 0, then Ck = T2 If (W(k) = 0) and Ck > 0, then Ck = T1 If (W(k) = 1) and Ck < 0, then Ck = –T2 If (W(k) = 0) and Ck < 0, then Ck = –T1 Embedded Locations, subbands and thresholds are stored. Retrieval: If ( | Ck | < (T 2+T1)/2 ), W(k) = 0 Else W(k) = 1. During implementation embedding was also tried in higher frequency subbands.
5.3.2 Watermarking using smoothness analysis
This non-blind technique is derived from [8]. Instead of variances in blocks in spatial domain, smoothness is measured in terms of the power in blocks in higher frequency subbands. The watermark is therefore, embedded in regions with edges and similar variations making it less perceptible to human eye. Embedding was done in HH bands at all levels.
19
6. Experimental Results 6.1 Method 5.3.1
Fig 6.1: (Left) Original DWT (Right) Locations where watermark is to be embedded (Labeled White) For different values of thresholds T1, T2 following results were observed. Subband
Bits Decoded Bits Encoded
Bits Embedded
Bits Correctly Retrieved
{T1,T2}
{T1,T2}
{21,43} {14,28} {35,71} {21,43} {14,28} {35,71} HL4
-
57
51
-
57
51
LH4
-
57
22
-
57
22
HH4
-
47
53
-
47
53
HL3
154
216
97
154
216
97
LH3
108
139
62
108
139
62
136
143
103
136
143
103
497
578
311
497
578
311
LH2
302
407
162
302
407
162
HH2
380
459
243
380
459
243
HL1
1115
1628
567
1115
1628
567
LH1
683
1136
297
683
1136
297
HH1
998
1412
512
998
1412
512
33.68
34.25
29.39
HH3 HL2
PSNR(db)
1
Table 6.1 a): Correlation between embedded and extracted watermark for different selection of thresholds and varying coding bitrate.
20
Subband
Bits Decoded Bits Encoded
Bits Embedded
Bits Correctly Retrieved
{T1,T2}
{T1,T2}
{21,43} {14,28} {35,71} {21,43} {14,28} {35,71} HL4
-
57
51
-
57
51
LH4
-
57
22
-
57
22
HH4
-
47
53
-
47
53
HL3
154
216
97
154
173
97
LH3
108
139
62
108
87
62
136
143
103
136
90
103
497
578
311
497
336
311
LH2
302
407
162
302
235
162
HH2
380
459
243
380
264
243
HL1
1115
1628
567
1115
941
567
LH1
683
1136
297
683
661
297
HH1
576
1412
512
576
811
512
23.68
24.69
23.16
HH3 HL2
1/10
PSNR(dB)
Table 6.1 b): Correlation between embedded and extracted watermark for different selection of thresholds and varying coding bitrate.
Subband
Bits Decoded Bits Encoded 1/20
Bits Embedded
Bits Correctly Retrieved
{T1,T2}
{T1,T2}
{21,43} {14,28} {35,71} {21,43} {14,28} {35,71}
HL4
-
57
51
-
35
51
LH4
-
57
22
-
35
22
HH4
-
47
53
-
30
53
HL3
154
216
97
154
137
97
LH3
108
139
62
108
87
62
HH3
136
143
103
136
90
103
HL2
497
578
311
497
336
311
LH2
180
407
162
180
235
162
HH2
283
459
243
223
264
243
21
HL1
624
1628
567
654
941
567
LH1
406
1136
297
406
661
297
HH1
576
1412
512
576
811
512
22.04
22.24
20.6
PSNR(dB)
Table 6.1 c): Correlation between embedded and extracted watermark for different selection of thresholds and varying coding bitrate.
6.2 Method 5.3.2 Data is compressed using EZW algorithm and variable numbers of bits are used during decoding. Entropy coding is not done. Maximum blocksize used was 8 for the highest frequency subband for calculating smoothness. This was reduced to half at lower frequency subband. Minimum Blocksize was 2 and maximum bits in each subband were limited to a quarter of the number of pixels in that subband. PSNR values are for the image. In this case, a three level wavelet decomposition is used.
Maximum Correlation
Actual
PSNR
Expected
Correlation
(dB)
88050
88050
21700
21700
HH3
5100
5100
HH1
88050
7177
21700
20997
HH3
5100
4928
HH1
88050
7177
21700
3621
HH3
5100
4928
HH1
88050
7689
21700
3621
5100
1760
Subband
Bits Decoded Bits Encoded
HH1 HH2
HH2
HH2
HH2 HH3
1
1/10
1/15
1/20
30.14
23.33
22.57
19.42
Table 6.2: Correlation between embedded and extracted watermark for given level of decomposition for varying coding bitrates.
22
Thus, bitrates upto 0.53 bpp the watermark in the lowest subband can be extracted. We can go upto 0.4 bpp if we use a four level decomposition. The following are results for same coding bitrate but different levels of wavelet decomposition. Maximum Correlation
Actual
PSNR
Expected
Correlation
(dB)
88050
7689
21700
3621
HH3
5100
1760
HH1
88050
7177
21700
3621
5100
4928
Subband
Level of DWT
HH1 3
HH2
4
HH2 HH3
19.42
21.72
Table 6.3: Watermark retrieval rates for given coding bitrate (1/20th of encoded bits were used) Locations where watermark is embedded is indicated by the white blocks in the Fig.6.2 (b)
(a)
(b) Fig 6.1: (a) Original DWT
(b) Locations where watermark is to be embedded (Labeled White)
23
7. Conclusion and Future Work In both methods we observe that watermark bits embedded in the coarsest level are least affected for lower bitrates which is expected. Therefore, depending on the compression the image is going to be subjected to we can know which subbands won’t be affected and embed the watermark in the unaffected subband with highest frequency to minimise perceptual degradation. But, for scalable applications we must embed at the coarsest scale for robustness. Among the implemented methods, method 5.3.1 is not a general one as the thresholds {T1, T2} are image dependent. Also the number of embedded bits is less. Method 5.3.2 gives relatively more visual degradation but is not image dependent and also embeds more data increasing robustness. Also the excess degradation is quite acceptable. As future work, one can improve Method 5.3.2 by finding the blocks where watermark is to be embedded for higher subbands from calculating locations in the lower subbands only. This would reduce the computations for identifying significant coefficients significantly.
24
References: [1] Stefano Gnavi, Barbara Penna, Marco Grangetto, Enrico Magli, Gabriella Olmo, “Wavelet Kernels on a DSP: A Comparison Between Lifting and Filter Banks for Image Coding”, EURASIP Journal on Applied Signal Processing 2002:9, 981– 989 [2] I. Daubechies and W. Sweldens, “Factoring wavelet transforms into lifting steps,” J. Fourier Anal. Appl., vol. 4, no. 3, pp. 247–269, 1998. [3] Nick
Kingsbury,
“The
Haar
Transform”,
http://cnx.rice.edu/content/m11087/latest/ [4] Martin Boliek, Charilaos Christopoulos and Eric Majani, “JPEG 2000 Part I Final Committee Draft Version 1.0 – Information Technology, JPEG 2000 Image Coding System”, ISO/IEC JTC1/SC29 WG1, March 2000 [5] Bernd Girod, “EE398A Image Communication I – Multi-resolution & Wavelets”, Stanford University, Stanford, CA, USA [6] Khalid Sayood, “Introduction to Data Compression”, Morgan Kaufmann, 1996 [7] J. L. Zhang, X. Z. Liang, “A Watermarking Algorithm Of Embedding A TwoValued Image Into A Still Gray Image Based On Wavelet”, Proceedings of the International Computer Congress 2004 on Wavelet Analysis and its Applications, and Active Media Technology – Volume 1, pp. 248–254, 2004 [8] James Ze Wang and Gio Wiederhold, “WaveMark: Digital Image Watermarking Using Daubechies' Wavelets and Error Correcting Coding”, Stanford University, Stanford, CA, USA [9] Shih-Hsuan Yang, Yi-Lan Chang, and Hsin-Chang Chen, “A Digital Watermarking Scheme Based On SPIHT Coding”, Institute of Computer, Communication and Control, Taiwan [10] Gupta Chirag S., “Source Coding and Digital Watermarking’, IIT Bombay, January 2004 [11] R. C. Calderbank, I. Daubechies, W. Sweldens, and B. Yeo, “Wavelet transforms that map integers to integers”, Applied and Computational Harmonic Analysis, vol. 5, no. 3, pp. 332–369, 1998. [12] Hisashi Inoue , Akio Miyazaki , Akihiro Yamamoto and Takashi Katsura, “A Digital Watermark Based on the Wavelet Transform and its Robustness on Image Compression”, Kyushu Multimedia System Research Laboratory – Japan.
25