Professional Documents
Culture Documents
htm
1. Introduction
As digital video-based application technologies grow, such as Internet video, wireless video, videophones, and video conferencing, the problem of unauthorized copying and distribution of digital video rises more and more, thus creating copyright dilemma for the multimedia industry in general, and to the audio-video industry in particular. Many researches and technologies were proposed to provide methods to solve the problem of illegal copying and manipulations of digital video. An attractive method that has been proposed a decade ago to implement copyright information in multimedia documents is digital watermarking [1,2,3].
390
Digital watermarking refers to embedding watermarks in a multimedia documents and files in order to protect them from illegal copying and identifying manipulations [4,5]. This promising technology received a considerable attention for embedding copyright information in a broad range of multimedia applications. In particular, video proposed watermarking techniques embed small copyright information, called a watermark, in the digital video such that the watermark is imperceptible and robust against attempts to degrade it or remove it from the digital object. Video watermarking research received less attention than image watermarking due to it's inherit difficulty, however, many algorithms have already been proposed [6,7,8,9]. Video watermarking approaches can be classified into two main categories based on the method of hiding watermark information bits in the host video. The two categories are: Spatial domain watermarking, and transform-domain watermarking [10,11]. In spatial-domain watermarking techniques, embedding and detection are performed on spatial pixels values (luminance, chrominance, color space) or on the overall video frame. Spatial-domain techniques are easy to implement, however they are not robust against common digital signal processing operations such as video compression. Transform-domain techniques, on the other hand, alter spatial pixel values of the host video according to a pre-determined transform. Commonly used transforms are the Discrete Cosine Transform (DCT), the Fast Fourier Transform (FFT), the Discrete Wavelet Transform (DWT), and the Singular Value Decomposition (SVD). Transform-domain watermarking techniques proved to be more robust and imperceptible compared to spatial domain techniques since disperse the watermark in the special domain of video frame, making it very difficult to remove the embedded watermark [12,13,14,15]. In this paper, we propose two blind, imperceptible and robust video watermarking algorithms based on Singular Value Decomposition (SVD) [16]. Each algorithm embeds the watermark in the transform-domain YCbCr space thus spreading the watermark in each frame of the video. The first algorithm suggests hiding watermark information in a diagonal-wise manner in one of three SVD matrices; U, S and V. On the other hand, the second algorithm hides the watermark information in a block-wise manner in either the U or V matrices. The rest of the paper is organized as follows. The SVD transform is outlined in section 2. The two proposed video SVD-based watermarking algorithms are described in sections 3 and 4, respectively. Performance evaluation of the two algorithms with respect to imperceptibly, robustness and payload are described in section 5. Concluding remarks are given in the last section.
391
Y color matrix
Rescaling
Frame f (RGB)
Watermark I
Video scenes
Extracted Watermark I
3.1. Watermark Embedding Procedure The embedding procedure of the first algorithm, with its three possible variations, is described in details in the following steps: Step 1: Divide the video clip into video scenes Vsi Step 2: Process the frames of each video scene using SVD described in steps 3 ~ 9 below. Step 3: Convert every video frame F from RGB to YCBCR color matrix format. Step 4: Compute the SVD for the Y matrix in each frame F. This operation generates 3 Matrices (U,S,V) such as:
392
(2) Y= UYSY VY Step 5: Rescale the watermark image so that the size, of the watermark will match the size of the matrix which will be used for embedding either U, V or S. Step 6: Embedding can be done in one of the three SVD matrices: U, V, or S, as follows: Embedding in Matrix U Diagonal-wise a. inverse each diagonal value (ui,i) in The U matrix, such as x= 1/ ui,i b. Embed the binary bits of the watermark WVsi into the integer part of x by substituting the watermark bit Wi with the 7th bit of x. c. Apply the inverse to each x, to get the modified values of U matrix, such as u i,i ' = 1/x'. d. Apply inverse SVD on the modified coefficient matrix U '. such as: Y'= U Y' S Y V Y T
(3)
Embedding in Matrix V Diagonal-wise a. Inverse each diagonal value (vi,i) in The V matrix , such as x= 1/ v i,i b. Embed the binary bits of the watermark WVsi into the integer part of x by substituting the watermark bit Wi with the 7th bit of x. c. Apply the inverse to each x, to get the modified values of V matrix, such as v i,i ' = 1/x'. d. Apply inverse SVD on the modified coefficient matrix V '. Such as: Y'= U Y S Y V Y' T (4) Embedding in Matrix S Diagonal-wise a. Embed the binary bits of the watermark WVsi into the integer part of each diagonal value of the S matrix, s i,i by substituting the watermark bit Wi with the7th bit of si,i b. Apply inverse SVD on the modified coefficient matrix S '. such as: Y'= U Y S Y' V Y T (5) Where Y' is the updated luminance in the YCBCR color representation. This operation produces the final watermarked Video frame F'. Step 7: Convert the video frames F' from YCBCR to RGB color matrix. Step 8: Reconstruct frames into the final watermarked Video scene Vsi'. Step 9: Reconstruct watermarked scenes to get the final watermarked Video clip. 3.2. Watermark Extraction Procedure This proposed algorithm is blind in the sense that it does not need the original video in the extraction process. Therefore, we can extract the watermark image from the watermarked video frames directly as described in details in the following steps: Step 1: Divide the watermarked Video clip V ' into watermarked scenes Vsi'. Step 2: Process the watermarked frames of each watermarked video scene using SVD as described in steps 3 ~ 7. Step 3: Convert the video frame F' from RGB color matrix to YCBCR. Step 4: Compute the SVD for the Y matrix in frame F'. , this operation generates 3 Matrices (U, S, V). Step 5: Extraction is done in one of the three SVD matrices: U, V, or S, as follows: Extraction from Matrix U a. Inverse each diagonal value (u i,i) in The U matrix , such as x= 1/ u i,i b. Extract the embedded watermark from the integer part of x as follows: WVsi (i) =7th LSB(fix(x)) Extraction from Matrix a. Inverse each diagonal value (v i,i) in The V matrix , such as x= 1/ v i,i.
(6)
393
b. Extract the embedded watermark from the integer part of x using: WVsi (i) =7th LSB(fix(x))
Extraction from Matrix S Extract the embedded watermark from the integer part of each diagonal value of the S matrix, s i,i as follows: WVsi (i) = 7th LSB(fix(s i,i)) (8) Step 6: Construct the image watermark WVsi by cascading all watermark bits extracted from all frames. Step 7: Repeat the same procedure for all video scenes.
Video frames F
Frame f (YUV )
Embedding
Inverse SVD
Frame f (RGB)
SVD (Y)
4.1. Watermark Embedding Procedure The embedding procedure of the second algorithm, with its three possible variations, is described in details in the following steps: Step 1: Divide the video clip into video scenes Vsi Step 2: Process the frames of each video scene using SVD described in steps 3 ~ 8 below. Step 3: Convert every video frame F from RGB to YCBCR color matrix format. Step 4: Compute the SVD for the Y matrix in each frame F. This operation generates 3 Matrices (U, S, V). Step 5: Rescale the watermark image so that the size, of the watermark will match the size of the matrix which will be used for embedding U or V.
394
Embedding in Matrix U Block-wise a. Partition the U matrix into blocks with size 8x8. b. Inverse the pixel value for 5 predetermined pixels in each odd block shown in figure 4 in the U matrix such as x= 1/ pixel value.
Figure 4: Positions used for embedding watermark bits in each 8x8 block.
c. Embed the binary bits of the watermark WVsi into the integer part of x by substituting the watermark bit Wi with the 7th bit of x. d. Apply the inverse to each x, to get the modified values of U matrix. e. Apply inverse SVD on the modified coefficient matrix U '. Such as: Y'= U Y' S Y V Y T
(9)
Embedding in Matrix V Block-wise a. Partition the V matrix into blocks with size 8x8. b. inverse the pixel value for 5 predetermined pixels in each odd block shown in figure 4 in each odd block in The V matrix such as x= 1/ pixel value. c. Embed the binary bits of the watermark WVsi into the integer part of x by substituting the watermark bit Wi with the 7th bit of x d. Apply the inverse to each x, to get the modified values of V matrix. e. Apply inverse SVD on the modified coefficient matrix V '. such as: Y'= U Y' S Y V Y T (10) Where Y' is the updated luminance in the YCBCR color representation. Step 6: Convert the video frames F' from YCBCR to RGB color matrix. Step 7: Reconstruct frames into the final watermarked Video scene Vsi. Step 8: Reconstruct watermarked scenes to get the final watermarked Video 4.2. Watermark Extraction Procedure The proposed algorithm is also blind in the sense that it does not need the original video in the extraction process. Therefore, we can extract the watermark image from the watermarked video frames directly as described in details in the following steps: Step 1: Divide the watermarked Video clip V ' into watermarked scenes Vsi' Step 2: Process the watermarked frames of each watermarked video scene using SVD as described in steps 3 ~ 8. Step 3: Convert the video frame F' from RGB color matrix to YCBCR. Step 4: Compute the SVD for the Y matrix in frame F'. , this operation generates 3 Matrices (U, S, V). Step 5: inverse the pixel value for 5 pixels in each odd block used in the embedding process in The U matrix if it is used in the embedding, or in the V matrix , such as x= 1/ pixel value. Step 6: Extract the embedded watermark from the integer part of x.
395
Lama Rajab, Tahani Al-Khatib and Ali Al-Haj Step 7: Construct the image watermark WVsi by cascading all watermark bits extracted from all frames. Step 8: Repeat the same procedure for all video scenes.
Video clip 1
Video clip 2
Watermark
As stated earlier, performances of the proposed algorithms are evaluated with respect to three metrics: imperceptibility, robustness and payload [20]. 5.1. Imperceptibility Performance Imperceptibility means that the perceived quality of the video clip should not be distorted by the presence of the watermark. As a measure of the quality of a watermarked video, the peak signal to noise ratio (PSNR) is typically used [21]. In our work, the watermark was embedded in the video according to the two algorithms described sections three and four. The average PSNR for the all frames of the three watermarked scenes was 48.1308. This high PSNR value proves imperceptibility of the proposed algorithms. 5.2. Robustness Performance Robustness of a watermarking algorithm is a measure of the immunity or resistance of the watermark against attempts to remove or degrade it from the video frames by different types of digital signal processing attacks [22]. The similarity between the original watermark and the extracted watermark from the attacked watermarked video frames was measured by using the correlation factor , which is computed using the following Equation:
(11) Where N is the number of pixels in watermark, w and w are the original and extracted watermarks respectively. The correlation factor may take values between 0 and1.
396
We evaluated robustness of the two algorithms against the following video attacks: JPEG compression, video frame rotation, noise attacks (Gaussian, and salt and pepper noise), frame dropping and frame swapping & averaging. 5.2.1 Robustness of the First Algorithm As we have mentioned later, embedding in the first algorithm is done diagonal-wise in one of the matrices produced by the SVD operator: the U matrix, the V matrix, or the S matrix. In what follows, we report on the robustness performance of the algorithms for the three possible embedding matrices. (i). JPEG Compression The watermarked video frames were compressed with different quality factors. As shown in Figure 6 the correlation values indicate clearly the high robustness of the proposed algorithm across all matrices. However, its clearly seen that embedding in the S matrix gives the highest robustness results in the three scenes.
Figure 6: First algorithm's correlation values due to different JPEG compression rates.
compression 1 0.95 0.9 0.85 0.8 10 25 33 45 56 75 85 90 percentage u s v
1 0.95 0.9 0.85 0.8 10 25 33 45 56 75 85 90 percentage compression correlation
co la n rre tio
u s v
(a).Scene 1
compression 1 0.95 0.9 0.85 0.8 10 25 33 45 56 75 85 90 percentage co la n rre tio
(b).Scene 2
u s v
(c).Scene 3
(ii). Video Angular Rotation The watermarked video frames for the three scenes were rotated with different angles. As shown in Figure 7, the correlation values generally indicate robustness of the first algorithm against the video frames rotation. However, embedding the watermark diagonal-wise in the V matrix resulted in slightly higher robustness compared to S or U matrices for all angles.
397
Rotation Attack
1 Coreelation 0.8 0.6 0.4 0.2 0 5 10 17 Angle 20 33 45 u s v
u s v
Coreelation
(a).Scene 1
Rotation Attack
1 Coreelation 0.8 0.6 0.4 0.2 0 5 10 17 Angle 20 33 45 u s v
(b).Scene 2
(c).Scene 3
(iii). Gaussian and Salt and Pepper Noises Two kinds of common additive noise were added with varying intensities to the watermarked video frames for the three scenes; Gaussian and Salt and pepper. Each noise was tested separately, but showed relatively similar results. As shown in Figure 8, results generally indicate robustness of the first algorithm against addition of Gaussian and salt and pepper noise. As shown in the figures below, embedding the watermark in diagonal of S matrix resulted in lower robustness compared to V or U matrices for all densities.
398
Figure 8: First algorithm's Correlation values due to the addition of two types of noise; salt and pepper (a-c) and Gaussian noise (d-f) at different densities of noise for the three scenes.
Salt & Pepper Noise Attack
1 0.8 C o rrelatio n 0.6 0.4 0.2 0 10% 20% 23% 33% Noise Density 61% 82% 93% u s v
Correlation 1 0.8 0.6 0.4 0.2 0 10% 17% 20% 23% 33% 45% 61% 82% 93% Noise density u s v
C o rrelatio n
u s v
10%
17%
20%
23%
33%
45%
61%
82%
93%
Noise density
u s v
10%
17%
20%
23%
33%
45%
61%
82%
93%
Noise density
(iv). Frame Dropping The attackers hope by performing frame dropping attack that the embedded watermark will be degraded or removed without hindering the original video. This is due to the fact that large amount of redundancy exist between video frames, and therefore video dropping should leave the integrity of the original video intact. The results are shown in Figure 9. As seen, even if the attacker drops 60% of the frames, the watermark can still be extracted with an acceptable correlation value. Results also show that embedding the watermark in S matrix achieved relatively better correlation after frame-dropping compared with the other two matrices.
399
Frame Dropping Attack 1.2 1 co rrelatio n 0.8 0.6 0.4 0.2 0 10% 20% 40% 60% 80% 90% percentage u s v
(a).Scene 1
Frame Dropping Attack 1.2 1 co rrelatio n 0.8 0.6 0.4 0.2 0 10% 20% 40% 60% 80% 90% percentage u s v
(b).Scene 2
(c).Scene 3
(v). Frame Swapping and Averaging Other than the frame dropping attack, we evaluated robustness due to video frame averaging and swapping. Frame swapping was performed by taking two random frames from the video and swapping them, then trying to extract the watermark. While averaging is performed by taking two random frames pixels, then taking their average, and replacing the original pixels with the averaged ones. Results show that embedding the watermark in S matrix achieved better correlation for both attacks than U and V matrices in the three scenes. Furthermore embedding in V showed slightly better results embedding in U.
Figure 10: First algorithm's Correlation values due to Frame Swapping and frame averaging.
swap and average
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Swap attack averaging
correlation
correlation
u s V
u s V
(a) scene 1
swap and average
1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Swap attack averaging
(b) scene 2
correlation
u s V
(c) scene 3
400
5.2.2 Robustness of the Second Algorithm As described in section 4, embedding in the second algorithm was done block-wise in either the U or V matrices of each SVD-transformed video frame. The algorithm embeds the watermark pixels into oddnumbered blocks of the selected matrix rather than embedding into the diagonal pixels of the matrix. Five locations were chosen in the selected odd-numbered blocks to embed watermark pixels. Therefore, five watermark pixels were embedded in each block in the U or V matrices. We performed the same robustness experiments which we used for the first algorithm. The results obtained showed a high degree of similarity with the robustness results obtained for the first algorithm. The results are not shown here to avoid redundancy. 5.3. Payload Data payload or watermarking capacity for a given host video clip is defined as the umber of watermark pixels that can be embedded in the host video without causing any visual distortion in the video. To compare the two algorithms in terms of payload, suppose that we have a scene with 56 frames and an SVD matrix (U, S, V) with a dimension 240 x 240. The payload of the first algorithm can be found by multiplying number of frames by number of diagonal elements in the matrix. This results in 13440 pixels. On the other hand, the payload of the second algorithm is found by multiplying number of frames by number of blocks per frame by number of pixel per frame. This results in 252000 pixels. This shows clearly that the payload of the second block-wise algorithm is much larger than the first algorithm. Therefore, the second algorithm could be easily recommended to be adopted when large watermarks are needed in video watermarking.
6. Conclusions
In this paper, two SVD-based digital video watermarking algorithms were proposed. In the first algorithm, watermark information was embedded in the diagonal elements of S, U, or V matrices. On the other hand, embedding watermark information in second algorithm was done block-wise in the U or V matrices of each SVD-transformed frame. The two algorithms were evaluated in terms of three metrics; imperceptibility, robustness, and data payload. Both algorithms performed equally well with respect to imperceptibility, however their performance slightly varied with respect to robustness and payload. Embedding watermark information in the diagonal elements of matrix U or matrix V showed more robustness against noise than embedding in matrix S. To be specific, embedding in matrix V gave slightly better results than embedding in matrix U. However, embedding in the diagonal elements of matrix S produced higher robustness values against attacks such as frame compression, rotation, frame dropping, frame swapping and frame averaging attacks. The block-wise based embedding in the second algorithm allows larger watermark to be hidden in the host video, compared with the diagonalwise embedding of the first algorithm. This gives a clear superiority of the second algorithm with respect to data payload.
401
References
[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22]