Watermarking MPEG-4 2D Mesh Animation in the Transform Domain 報告:梁晉坤 指導教授:楊士萱 2003/12/4
Outline MPEG-4 2D Mesh Animation Digital Watermarking Wavelet Transform Discrete Cosine Transform Singular Value Decomposition Simulate Results Conclusion
MPEG-4 2D Mesh Animation MPEG-4 synthetic visual coding allows 2D-Mesh and 3D-Mesh represent generic objects. MPEG-4 2D Mesh animation consists of a sequence of polygon models, little watermarking techniques are proposed for it. Mesh Object Plane, MOP
Mesh Object Plane A Sequence of MOPs
Mesh Types Uniform Mesh Delaunay Mesh
Digital Watermarking It is the process of embedding extra data, the watermarking signal, to the digital data. Watermark species visible and invisible robust and fragile public and private spatial and transform domain
Applications copyright protection, fingerprinting, copy control, data authentication, broadcast monitoring Basic properties transparency, robustness, security
Watermark Modify on the Spatial Domain Watermarked Data Original Data Original Data Transform to the Transform Domain Watermark Inverse Transform to the Spatial Domain Modify on the Transform Domain Watermarked Data FFT, DCT, Wavelet Transform, SVD, etc.
Wavelet Transform Realizing discrete wavelet transform by “Filter Bank” h0(t) h1(t) 2 y1 y0 X 2 g0(t) g1(t) X’ Analysis Filter Synthesis Filter
Multi-resolution Representation Original L1 H1 L2 H2 …… Lp Hp
Embedding Procedure Decomposing 2D mesh animation by multi-resolution wavelet transform p level decomposition generate (p+1) subbands, L-p, H-p, H-(p-1), … , H-1 Computing Euclid distance for L-p subbband Choosing k largest coarse coefficients for watermarking in L-p subband
Embedding Procedure(Cont.) Embedding component selection Select larger component(X or Y) The same, select X component Perturbing selected component according to watermark Bits Bit=1, add a positive value(Intensity) Bit=0, sub a negative value(Intensity)
Wavelet Decomposition L-p Original 2D Mesh Animation Wavelet Decomposition Compute Euclid Distance H-p,H-(p-1),…,H-1 Select Embedding Location I Watermark Embedding -I Watermarked 2D Mesh Animation Inverse Wavelet Decomposition
Extraction Procedure Decomposing original and attacked 2D mesh animation by multi-resolution wavelet transform p level decomposition generate (p+1) subbands, L-p, H-p, H-(p-1), … , H-1 Computing Euclid distance from original mesh L-p subbband Find out suspected coarse vectors Finally, watermark is extracted from these coarse vectors
Wavelet Decomposition Wavelet Decomposition Original 2D Mesh Animation Watermarked 2D Mesh Animation Wavelet Decomposition Wavelet Decomposition L-p Watermark Extraction L’-p Extracted Watermark
WV’: attacked coarse vectors WV: original coarse vectors If(WV’i< WVi) then wi=0 If(WV’i> WVi) then wi=1
Discrete Cosine Transform X ={X0,X1,…,XN-1} of length N= 2p Y ={Y0,Y1,…,YN-1}, Y is the transformed sequence of X,
DCT IDCT
Embedding Procedure Dividing 2D Mesh to a lot of point sequences(each sequence include X,Y component, and its length N=2p) Doing DCT to each point sequences, select a maximum absolute value from X,Y component(DC value), and push to DCTV Choosing k largest DC values from DCTV for watermarking embedding
P seq.1. DCT Push to P seq.2. DCTV P seq.n. P’ seq.1. IDCT P’ seq.2. Original 2D Mesh Animation P seq.1. DCT Push to DCTV P seq.2. P seq.n. Select Embedding Location I Watermark Embedding Watermarked 2D Mesh Animation P’ seq.1. -I IDCT P’ seq.2. P’ seq.n.
Extraction Procedure Dividing original mesh and attacked mesh to a lot of point sequences Doing DCT to each point sequences, find out suspected DC values from original mesh point sequences Watermarking is extracted from the DC values
P’ seq.1. P seq.1. P’ seq.2. P seq.2. P’ seq.n. P seq.n. Watermarked 2D Mesh Animation P’ seq.n. Original 2D Mesh Animation P seq.n. DCT DCT DCTV Watermark Extraction DCTV’ Extracted Watermark
WDC’ value: attacked DC value WDC value: original DC value If(WDC’i< WDCi) then wi=0 If(WDC’i> WDCi) then wi=1
Singular Value Decomposition X:mxn, U:mn, S:n n, V:n n (Matrices) X=U S VT where U,V are unitary matrices(UUT=UTU=I), S is a Singular matrix The d singular values on the diagonal of S are the square roots of the nonzero eigenvalues of both AAT and ATA
The main property of SVD is the singular values(SVs) of an Matrix(or image) have very good stability, that is, when a small perturbation is added to an Matrix, its SVs do not change significantly.
SVD Window Length= L needs 2L-1 point sequences
Embedding Procedure AU S VT Sw=S+aW ,where W{0,1} AwU Sw VT Extraction Procedure Compute U, V and S as above AaU Sa VT D=UT Aa V Sa, Sa Sw W=(D-S)/a
Push to SVDV SVD Do_Matrix Do_IMatrix ISVD Original 2D Mesh Animation Select Embedding Location I Watermark Embedding Watermarked 2D Mesh Animation -I Do_IMatrix ISVD
do Matrix=B do Matrix=A Assume B=U*Sa*Vt Watermarked 2D Mesh Animation Original 2D Mesh Animation D=Ut*B*V Sa, Sa Sw SVD=> A=U*S*Vt Watermark Extraction D S Extracted Watermark
Simulate Results Compute for robustness BER, bit error rate Compute for transparency MMSE , motion mean square error
Attacks Random noise Affine Smoothing Enhancement and Attenuation Time warping Simplifying
Transform methods SVD DCT D_4 D_8 Lift5_3 Conv9_7 Lazy Haar
Test1 Mesh12 Mesh12 128 MOPs, each MOP has 120 points and 187 triangles Watermark, 127 bits PN code Quality=0.005 (MMSE) Simplifying and Scale Coefficient using Conv97 at LV =4
Smoothing Attack({1/4,1/2,1/4}) Type BER P=2 P=4 P=6 D_4 D_8 Lift5_3 Conv9_7 Lazy 0.330709 0.314961 0.133858 Haar DCT SVD
Affine Attack-1( 1.3,0,(12,0) ) Type BER P=2 P=4 P=6 D_4 D_8 Lift5_3 D_8 Lift5_3 Conv9_7 Lazy Haar DCT 0.00787402 SVD
Affine Attack-2( 1,25,(0,5) ) Type BER P=2 P=4 P=6 D_4 D_8 Lift5_3 D_8 Lift5_3 Conv9_7 Lazy 0.165354 0.102362 0.0708661 Haar DCT SVD
Affine Attack-3( 0.7,65,(-11,-9) ) Type BER P=2 P=4 P=6 D_4 0.212598 0.188976 0.0551181 D_8 0.299213 0.023622 0.00787402 Lift5_3 0.0629921 Conv9_7 0.141732 0.0472441 Lazy 0.409449 0.346457 0.220472 Haar 0.385827 0.267717 DCT SVD 0.173228
SCAttack, all good Time warping Attack,all good
RN Attack-10% TYPE BER P=2 P=4 P=6 N=1 N=2 D_4 0.070866 D_8 0.039370 0.070866 D_8 0.039370 Lift5_3 0.015748 Conv9_7 Lazy 0.0314961 0.047244 0.062992 0.023622 Haar 0.078740 DCT SVD 0.00787402
RN Attack-20% TYPE BER P=2 P=4 P=6 N=1 N=2 D_4 0.062992 0.023622 D_8 0.062992 0.023622 D_8 0.00787402 Lift5_3 0.0078740 Conv9_7 0.007874 0.015748 Lazy 0.0708661 0.0629921 0.0551181 0.0787402 Haar 0.0472441 0.0393701 DCT SVD
RN Attack-30% TYPE BER P=2 P=4 P=6 N=1 N=2 D_4 0.0393701 0.125984 D_8 D_8 0.062992 Lift5_3 0.0078740 0.055118 Conv9_7 0.015748 0.023622 Lazy 0.0866142 0.133858 0.0944882 0.102362 0.15748 0.11811 Haar 0.110236 0.267717 DCT 0.00786204 SVD
RN Attack-40% TYPE BER P=2 P=4 P=6 N=1 N=2 D_4 0.0393701 0.086614 0.023622 D_8 0.102362 Lift5_3 0.039370 Conv9_7 0.0314961 0.015748 Lazy 0.125984 0.133858 0.15748 0.141732 0.11811 Haar 0.228246 DCT SVD 0.00787402
RN Attack-50% TYPE BER P=2 P=4 P=6 N=1 N=2 D_4 0.023622 0.133858 0.0551181 0.00787402 D_8 0.125984 Lift5_3 0.047244 Conv9_7 0.062992 Lazy 0.173228 0.503937 0.188976 0.149606 0.165354 Haar 0.212598 0.070882 DCT 0.0472441 SVD 0.0314961
Simplifying Attack Type BER P=2 P=4 P=6 D_4 D_8 Lift5_3 Conv9_7 Lazy D_8 Lift5_3 Conv9_7 Lazy 0.0944882 0.07086610 Haar DCT SVD
Test2 Bream Bream 32 MOPs, each MOP has 165 points and 270 triangles Watermark, 31 bits PN code Quality=0.005 (MMSE) Simplifying and Scale Coefficient using Conv97 at LV =2
TYPE Embedding time(sec) Execution Time(sec) P=2 P=4 P=6 D_4 0.018905 0.02232 0.023455 0.015635 0.01724 0.01878 D_8 0.026325 0.03076 0.032945 0.02113 0.02546 0.027075 Lift5_3 0.013345 0.01407 0.016045 0.01522 0.016585 0.01688 Conv9_7 0.028525 0.03391 0.036645 0.02404 0.028125 0.02612 Lazy 0.01194 0.012725 0.01311 0.01212 0.014225 0.01302 Haar 0.017295 0.01944 0.02034 0.01622 0.015755 0.01523 DCT 0.117965 0.11058 SVD 1.14338 1.20541
Conclusion SVD is robust, but consumes longer time Lazy is the worst wavelet filter for watermarking Acceptable quality and robust to attacks