3.3 Proposed Approach
3.3.1 MC Watermarking of MPEG-2 Streams
The underlying idea behind the proposed MC watermarking scheme for MPEG-2 coded sequences is to exploit the drift signal, which is cancelled in the existing compressed domain watermarking tech- niques. We argue that instead of cancelling the drift signal, the proper usage of it will generate MC watermarks. In this scheme, the watermark needs to be embedded only in the I-frame of each GOP.
In the intra-coded frames, MC watermarks are automatically added during decompression. This drift- aided MC watermarking scheme is first explained for three frames of a sequence and then extended for the complete sequence.
Consider three frames {xi, i = 1,2,3}of a host sequence. Let these frames be MPEG-2 coded as I, B and P-frames respectively. For simplifying the analysis, we make the following assumptions about the coding process:
1. The motion-estimation is done with integer-pixel accuracy 2. The effect of quantization is negligible.
The I, B and P-frames obtained by partial decoding can be now represented in the spatial-domain as I[n] =x1[n]
P[n] =x3[n]−x1[M1→3(n)]
B[n] =x2[n]− 1
2 x1[M1→2(n)] +x3[M3→2(n)]
whereMi→j is a motion-compensated mapping from frameito framej. Let a spread-spectrum water- markwbe added to the I-frame in the spatial-domain and given by
ˆI[n] =I[n] +w[n]
whereˆIis the watermarked I-frame. When the sequence is decompressed, the watermarked framey1 corresponding to the framex1, under the above assumptions, is given by
y1[n] = ˆI[n] =x1[n] +w[n] . (3.3.1) For the frame x3 which is coded as a P-frame, the corresponding decompressed frame y3 can be ex- pressed as
y3[n] =P[n] +y1[M1→3(n)] . (3.3.2)
3.3. PROPOSED APPROACH 47 Substituting the value ofy1from Equation (3.3.1), we obtain
y3[n] = P[n] +x1[M1→3(n)] +w[M1→3(n)]
= x3[n] +w[M1→3(n)] (3.3.3)
wherew[M1→3(n)]is the drift signal. If we consider a macro-block inx3, the drift signal added to it is the watermark corresponding to the best-matching block in framex1. In other words, the addition of the drift signal during the decompression is equivalent to adding an MC watermark to framex3.
The situation is slightly different for frame x2 which is coded as a B-frame. The corresponding decompressed framey2 is given by
y2[n] =B[n] +1
2 y1[M1→2(n)] +y3[M3→2(n)]
=B[n] +1
2 x1[M1→2(n)] +w[M1→2(n)]
+1
2 x3[M3→2(n)] +w[M1→3(M3→2(n))]
=x2[n] +1
2 w[M1→2(n)] +w[M1→3(M3→2(n))]
(3.3.4) where the drift signal 12 w[M1→2(n)] +w[M1→3(M3→2(n))]
is the watermark for framex2. For a given macro block inx2, the watermark is the average of the watermarks in two matching blocks: one in framex1 and the other inx3. If the motion-composition property
M1→3(M3→2(n)) = M1→2(n)
holds for all points in the macro block, Equation (3.3.4) can be simplified as
y2[n] = x2[n] +w[M1→2(n)] . (3.3.5) In this case, the watermarks embedded in the macro block and its matching blocks are the same. From Equation(3.3.4) it is clear that, even if the motion-composition property does not hold, the watermark embedded in the macro block is correlated with those in the matching blocks.
Thus MC watermarks are generated for the P and B-frames from the embedded watermark in the I-frame during decompression.
Watermarking of complete sequence
Consider a typical MPEG-2 GOP structureIBBPBBPBBPBBPBBI· · ·, with each GOP consist- ing of12frames. Continuing in the similar manner as above, we can show that the watermark embedded
3.3. PROPOSED APPROACH 48
I
GOP boundary B
B B
B B
B B
B P P P I
Figure 3.2: Propagation of the watermark in a GOP
in the I-frame of the first GOP will propagate till the last P-frame of the GOP. The watermarks in the last two B-frames of the GOP depend also on that embedded in the I-frame of next GOP. Now a wa- termark needs to be chosen for embedding in this I-frame. A simple way is to choose the watermark either as the same as or uncorrelated with that embedded in the previous I-frame. However this simple technique will make it vulnerable to inter-frame collusion, thereby defeating the very purpose of the watermarking scheme. An attacker with the knowledge of the embedding algorithm can obtain all the I-frames form the partially decoded stream, subject them to inter-frame collusion and finally replace the watermarked I-frames with the attacked ones. If the inter-frame collusion of the I-frames is suc- cessful, it will remove the watermark from all the frames. Moreover, such an embedding strategy will not maintain motion-coherency in the watermark across the GOP boundary.
Considering the above factors, we choose the motion-compensated prediction from the watermark in the last P-frame of the first GOP for embedding in the I-frame of the second GOP. In this way, the propagation of the watermark inside a GOP is extended across the GOP boundary. However, there are some difficulties associated with this approach. One difficulty is that the watermark of the P-frame is not available during embedding; it is generated only when the sequence is decompressed. This can be solved by exploiting the available motion vectors. From Equation (3.3.2), it is clear that the watermark in a P-frame can be calculated using the watermark in its reference frame and the corresponding motion vectors. So all we need to calculate the watermark in the last P-frame in a GOP are (1) the watermark in the I-frame and (2) the motion-vectors corresponding to the P-frames, which are readily available. An- other difficulty is in obtaining the motion-compensated mapping between the last P-frame and the next I-frame since these motion trajectories are not estimated during the encoding process. This problem
3.3. PROPOSED APPROACH 49 can be solved by using the motion-inversion technique as shown by the dotted arrow in Figure 3.3. As
GOP boundary B
B
P I
Figure 3.3: Propagation of watermark across GOP boundary
the motion vectors of the B-frame with respect to the I-frame is available, motion-inversion will give the motion vectors of the I-frame with respect to the B-frame. Now the motion composition property among the P-, B-, and I-frames could have been exploited to find the motion vectors of the I-frame with respect to the P-frame. However, due to motion-inversion, some points in the I-frame may not have correspondence with any point in the P-frame whereas some points may have multiple correspondence.
The multiple correspondence problem can be handled by considering only one correspondence during the inversion process. The unconnected points correspond to the newly-entered areas in the I-frame.
We add the watermark derived from the P-frame to the points where the correspondence exist and to the remaining unconnected points, the corresponding watermark in the same location in the first I-frame is added. Note that it is possible to add new watermark samples to the newly-entered areas. However, we choose the above strategy for simplicity.
The proposed watermarking scheme is performed in the following steps:
1 Partially decode the sequence to obtain the I-frame and the motion vectors in the first GOP 2 Add a watermark to the I-frame
3 Calculate the watermark that will propagate to the last P frame of the current GOP 4 Decode the I-frame and the motion vectors in the next GOP
5 Calculate the motion vectors of the I frame with respect to the last P-frame of the previous GOP
3.3. PROPOSED APPROACH 50 6 Derive the watermark for the I-frame from that obtained in step3and add to the I-frame. In the unconnected points, add the watermark corresponding to the same location in the I-frame of first GOP
7 Continue steps3−6until the scene boundary is reached