watermarking mpeg-4 2d mesh animation in the transform domain...
Post on 20-Dec-2015
251 views
TRANSCRIPT
Watermarking MPEG-4 2D Mesh Animation in the Transform
Domain
報告:梁晉坤報告:梁晉坤指導教授:楊士萱指導教授:楊士萱
2003/12/42003/12/4
Outline
MPEG-4 2D Mesh AnimationMPEG-4 2D Mesh Animation Digital WatermarkingDigital Watermarking Wavelet TransformWavelet Transform Discrete Cosine TransformDiscrete Cosine Transform Singular Value DecompositionSingular Value Decomposition Simulate ResultsSimulate Results ConclusionConclusion
MPEG-4 2D Mesh Animation
MPEG-4 synthetic visual coding allows 2D-MPEG-4 synthetic visual coding allows 2D-Mesh and 3D-Mesh represent generic Mesh and 3D-Mesh represent generic objects. objects.
MPEG-4 2D Mesh animation consists of a MPEG-4 2D Mesh animation consists of a sequence of polygon models, little sequence of polygon models, little watermarking techniques are proposed for watermarking techniques are proposed for it.it.
Mesh Object Plane, MOPMesh 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, It is the process of embedding extra data, the watermarking signal, to the digital data.the watermarking signal, to the digital data.
Watermark speciesWatermark species visible and invisiblevisible and invisible robust and fragilerobust and fragile public and privatepublic and private spatial and transform domainspatial and transform domain
ApplicationsApplications copyright protection, fingerprinting, copy copyright protection, fingerprinting, copy
control, data authentication, broadcast control, data authentication, broadcast monitoringmonitoring
Basic propertiesBasic properties transparency, robustness, securitytransparency, robustness, security
Modify on the Spatial Domain
Original Data
Watermark
WatermarkedData
Original Data Transform to the
Transform Domain
Modify on the Transform Domain
WatermarkInverse
Transformto the Spatial
Domain
WatermarkedData
FFT, DCT, Wavelet Transform, SVD, etc.
Wavelet Transform
Realizing discrete wavelet transform by Realizing discrete wavelet transform by “Filter Bank”“Filter Bank”
h0(t)
h1(t)
2
2y1
y0
X2
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-Decomposing 2D mesh animation by multi-resolution wavelet transformresolution wavelet transform p level decomposition generate (p+1) p level decomposition generate (p+1)
subbands, L-p, H-p, H-(p-1), … , H-1subbands, L-p, H-p, H-(p-1), … , H-1 Computing Euclid distance for L-p subbbandComputing Euclid distance for L-p subbband Choosing k largest coarse coefficients for Choosing k largest coarse coefficients for
watermarking in L-p subbandwatermarking in L-p subband
Embedding Procedure(Cont.)
Embedding component selection Embedding component selection Select larger component(X or Y)Select larger component(X or Y) The same, select X componentThe same, select X component
Perturbing selected component according to Perturbing selected component according to watermark Bitswatermark Bits Bit=1, add a positive value(Intensity)Bit=1, add a positive value(Intensity) Bit=0, sub a negative value(Intensity)Bit=0, sub a negative value(Intensity)
H-p,H-(p-1),…,H-1
Wavelet Decomposition
Compute EuclidDistance
L-p
SelectEmbedding Location
WatermarkEmbedding
I
-I
InverseWavelet Decomposition
Watermarked 2D MeshAnimation
Original 2D Mesh Animation
Extraction Procedure
Decomposing original and attacked 2D mesh Decomposing original and attacked 2D mesh animation by multi-resolution wavelet transformanimation by multi-resolution wavelet transform p level decomposition generate (p+1) p level decomposition generate (p+1)
subbands, L-p, H-p, H-(p-1), … , H-1subbands, L-p, H-p, H-(p-1), … , H-1 Computing Euclid distance from original mesh L-Computing Euclid distance from original mesh L-
p subbbandp subbband Find out suspected coarse vectorsFind out suspected coarse vectors Finally, watermark is extracted from these coarse Finally, watermark is extracted from these coarse
vectorsvectors
Original 2D Mesh Animation
Watermarked 2D MeshAnimation
Wavelet DecompositionWavelet Decomposition
L-p WatermarkExtraction
L’-p
Extracted Watermark
WV’: attacked coarse vectorsWV’: attacked coarse vectors WV: original coarse vectorsWV: original coarse vectors
If(WV’i> WVi)then wi=1
If(WV’i< WVi)then wi=0
Discrete Cosine Transform
X ={XX ={X00,X,X11,…,X,…,XN-1N-1} of length N= 2} of length N= 2pp
Y ={YY ={Y00,Y,Y11,…,Y,…,YN-1N-1}, Y is the transformed }, Y is the transformed
sequence of X, sequence of X,
DCTDCT
IDCTIDCT
1,...,1,0
)*2/(*)12(*)(*/21
0
Nn
NnkCOSXneNYN
kkn
1,...,1,0
)*2/(*)12(**)(1
0
Nk
NnkCOSYneXN
nnk
otherwise
nifne
,1
)0(,2/1)(
Embedding Procedure
Dividing 2D Mesh to a lot of point Dividing 2D Mesh to a lot of point sequences(each sequence include X,Y sequences(each sequence include X,Y component, and its length N=2component, and its length N=2pp))
Doing DCT to each point sequences, select Doing DCT to each point sequences, select a maximum absolute value from X,Y a maximum absolute value from X,Y component(DC value), and push to DCTVcomponent(DC value), and push to DCTV
Choosing k largest DC values from DCTV Choosing k largest DC values from DCTV for watermarking embeddingfor watermarking embedding
SelectEmbedding Location
WatermarkEmbedding
I
-IWatermarked 2D MeshAnimation
Original 2D
Mesh Animation
P seq.1.
P seq.2.
P seq.n.
DCT Push toDCTV
P’ seq.1.
P’ seq.2.
P’ seq.n.
IDCT
Extraction Procedure
Dividing original mesh and attacked mesh Dividing original mesh and attacked mesh to a lot of point sequencesto a lot of point sequences
Doing DCT to each point sequences, find Doing DCT to each point sequences, find out suspected DC values from original out suspected DC values from original mesh point sequencesmesh point sequences
Watermarking is extracted from the DC Watermarking is extracted from the DC valuesvalues
DCT
DCTV
Original 2D Mesh Animation
Watermarked 2D MeshAnimation
WatermarkExtraction
DCTV’
Extracted Watermark
P seq.1.
P seq.2.
P seq.n.
P’ seq.1.
P’ seq.2.
P’ seq.n.
DCT
WDC’ value: attacked DC valueWDC’ value: attacked DC value WDC value: original DC valueWDC value: original DC value
If(WDC’i> WDCi)then wi=1
If(WDC’i< WDCi)then wi=0
Singular Value Decomposition
X:mxn, U:mX:mxn, U:mn, S:n n, S:n n, V:n n, V:n n (Matrices)n (Matrices) X=U X=U S S V VT T where U,V are unitary where U,V are unitary
matrices(UUmatrices(UUTT=U=UTTU=I), S is a Singular U=I), S is a Singular matrixmatrix
The d singular values on the diagonal of S The d singular values on the diagonal of S are the square roots of the nonzero are the square roots of the nonzero eigenvalues of both AAeigenvalues of both AAT T andand AATTAA
The main property of SVD is the singular The main property of SVD is the singular values(SVs) of an Matrix(or image) have values(SVs) of an Matrix(or image) have very good stability, that is, when a small very good stability, that is, when a small perturbation is added to an Matrix, its SVs perturbation is added to an Matrix, its SVs do not change significantly.do not change significantly.
seqLLLLseqLLseq
LseqseqLseqL
seqLseqseq
A
2)1(1)1(
221
21
SVD Window Length= L needs 2L-1 point sequences
Embedding Procedure Embedding Procedure AAU U S S V VT T
Sw=S+aW ,where WSw=S+aW ,where W{0,1}{0,1} AwAwU U Sw Sw V VTT
Extraction ProcedureExtraction Procedure Compute U, V and S as aboveCompute U, V and S as above AaAaU U Sa Sa V VTT
D=UD=UTT Aa Aa V V Sa, Sa Sa, Sa SwSw W=(D-S)/a W=(D-S)/a
SelectEmbedding Location
WatermarkEmbedding
I
-IWatermarked 2D MeshAnimation
Original 2D
Mesh Animation
Do_Matrix SVDPush toSVDV
Do_IMatrix ISVD
SVD=> A=U*S*Vt
Original 2D Mesh Animation
Watermarked 2D MeshAnimation
WatermarkExtraction
D
Extracted Watermark
do Matrix=A
D=Ut*B*V Sa, Sa Sa, Sa SwSw
do Matrix=B
AssumeB=U*Sa*Vt
S
Simulate Results Compute for robustnessCompute for robustness
BER, bit error rateBER, bit error rate
Compute for transparencyCompute for transparency MMSE , motion mean square errorMMSE , motion mean square error
lengthwatermark
bitserrorofnumberBER
1
1 1
2,,
2,, ])()[(
)1(
1 M
i
N
jjijijiji ymmyxmmx
NMMMSE
AttacksAttacks Random noiseRandom noise AffineAffine SmoothingSmoothing Enhancement and Attenuation Enhancement and Attenuation Time warpingTime warping SimplifyingSimplifying
Transform methodsTransform methods SVDSVD DCTDCT D_4D_4 D_8D_8 Lift5_3Lift5_3 Conv9_7Conv9_7 Lazy Lazy HaarHaar
Test1 Mesh12
Mesh12Mesh12 128 MOPs, each MOP has 120 points and 128 MOPs, each MOP has 120 points and
187 triangles187 triangles Watermark, 127 bits PN codeWatermark, 127 bits PN code Quality=0.005 (MMSE)Quality=0.005 (MMSE) Simplifying and Scale Coefficient using Simplifying and Scale Coefficient using
Conv97 at LV =4Conv97 at LV =4
TypeType BERBER
P=2P=2 P=4P=4 P=6P=6
D_4D_4 00 00 00
D_8D_8 00 00 00
Lift5_3Lift5_3 00 00 00
Conv9_7Conv9_7 00 00 00
LazyLazy 0.3307090.330709 0.3149610.314961 0.1338580.133858
HaarHaar 00 00 00
DCTDCT 00
SVDSVD 00
Smoothing Attack({1/4,1/2,1/4})
Affine Attack-1( 1.3,0,(12,0) )TypeType BERBER
P=2P=2 P=4P=4 P=6P=6
D_4D_4 00 00 00
D_8D_8 00 00 00
Lift5_3Lift5_3 00 00 00
Conv9_7Conv9_7 00 00 00
LazyLazy 00 00 00
HaarHaar 00 00 00
DCTDCT 0.007874020.00787402
SVDSVD 00
Affine Attack-2( 1,25,(0,5) )TypeType BERBER
P=2P=2 P=4P=4 P=6P=6
D_4D_4 00 00 00
D_8D_8 00 00 00
Lift5_3Lift5_3 00 00 00
Conv9_7Conv9_7 00 00 00
LazyLazy 0.1653540.165354 0.1023620.102362 0.07086610.0708661
HaarHaar 00 00 00
DCTDCT 00
SVDSVD 00
Affine Attack-3( 0.7,65,(-11,-9) )TypeType BERBER
P=2P=2 P=4P=4 P=6P=6
D_4D_4 0.2125980.212598 0.1889760.188976 0.05511810.0551181
D_8D_8 0.2992130.299213 0.0236220.023622 0.007874020.00787402
Lift5_3Lift5_3 0.06299210.0629921 00 00
Conv9_7Conv9_7 0.1417320.141732 0.04724410.0472441 00
LazyLazy 0.4094490.409449 0.3464570.346457 0.2204720.220472
HaarHaar 0.3858270.385827 0.2677170.267717 0.007874020.00787402
DCTDCT 0.2677170.267717
SVDSVD 0.1732280.173228
SCAttack, all good Time warping Attack,all good
RN Attack-10%TYPETYPE BERBER
P=2P=2 P=4P=4 P=6P=6
N=1N=1 N=2N=2 N=1N=1 N=2N=2 N=1N=1 N=2N=2
D_4D_4 00 0.0708660.070866 00 00 00 00
D_8D_8 00 0.0393700.039370 00 00 00 00
Lift5_3Lift5_3 00 0.0157480.015748 00 00 00 00
Conv9_7Conv9_7 00 0.0157480.015748 00 00 00 00
LazyLazy 0.03149610.0314961 0.0472440.047244 0.03149610.0314961 0.0472440.047244 0.0629920.062992 0.0236220.023622
HaarHaar 00 0.0787400.078740 00 00 00 00
DCTDCT 00 0.0236220.023622
SVDSVD 00 0.007874020.00787402
RN Attack-20%TYPETYPE BERBER
P=2P=2 P=4P=4 P=6P=6
N=1N=1 N=2N=2 N=1N=1 N=2N=2 N=1N=1 N=2N=2
D_4D_4 00 0.0629920.062992 00 0.0236220.023622 00 00
D_8D_8 00 0.0629920.062992 00 0.007874020.00787402 00 00
Lift5_3Lift5_3 00 0.00787400.0078740 00 00 00 00
Conv9_7Conv9_7 0.0078740.007874 0.0157480.015748 00 00 00 00
LazyLazy 0.07086610.0708661 0.06299210.0629921 0.06299210.0629921 0.05511810.0551181 0.07874020.0787402 0.07086610.0708661
HaarHaar 0.04724410.0472441 0.03937010.0393701 00 0.03937010.0393701 00 00
DCTDCT 00 00
SVDSVD 00 0.0157480.015748
RN Attack-30%TYPETYPE BERBER
P=2P=2 P=4P=4 P=6P=6
N=1N=1 N=2N=2 N=1N=1 N=2N=2 N=1N=1 N=2N=2
D_4D_4 0.03937010.0393701 0.1259840.125984 00 00 00 00
D_8D_8 0.03937010.0393701 0.0629920.062992 00 00 00 00
Lift5_3Lift5_3 0.00787400.0078740 0.0551180.055118 00 00 00 00
Conv9_7Conv9_7 0.0157480.015748 00 00 0.0236220.023622 00 00
LazyLazy 0.08661420.0866142 0.1338580.133858 0.09448820.0944882 0.1023620.102362 0.157480.15748 0.118110.11811
HaarHaar 0.1102360.110236 0.2677170.267717 00 0.0157480.015748 00 00
DCTDCT 0.007862040.00786204 00
SVDSVD 00 00
RN Attack-40%TYPETYPE BERBER
P=2P=2 P=4P=4 P=6P=6
N=1N=1 N=2N=2 N=1N=1 N=2N=2 N=1N=1 N=2N=2
D_4D_4 0.03937010.0393701 0.0866140.086614 00 0.0236220.023622 00 00
D_8D_8 0.03937010.0393701 0.1023620.102362 00 00 00 00
Lift5_3Lift5_3 00 0.0393700.039370 00 00 00 00
Conv9_7Conv9_7 0.03149610.0314961 0.0157480.015748 00 00 00 00
LazyLazy 0.1259840.125984 0.1338580.133858 0.157480.15748 0.1417320.141732 0.157480.15748 0.118110.11811
HaarHaar 0.1338580.133858 0.2282460.228246 00 0.0236220.023622 00 00
DCTDCT 00 0.03149610.0314961
SVDSVD 00 0.007874020.00787402
RN Attack-50%TYPETYPE BERBER
P=2P=2 P=4P=4 P=6P=6
N=1N=1 N=2N=2 N=1N=1 N=2N=2 N=1N=1 N=2N=2
D_4D_4 0.0236220.023622 0.1338580.133858 00 0.05511810.0551181 00 0.007874020.00787402
D_8D_8 00 0.1259840.125984 00 0.007874020.00787402 00 00
Lift5_3Lift5_3 00 0.0472440.047244 00 00 00 00
Conv9_7Conv9_7 00 0.0629920.062992 00 00 00 00
LazyLazy 0.1732280.173228 0.5039370.503937 0.1889760.188976 0.5039370.503937 0.1496060.149606 0.1653540.165354
HaarHaar 00 0.2125980.212598 00 0.0708820.070882 00 00
DCTDCT 00 0.04724410.0472441
SVDSVD 0.007874020.00787402 0.03149610.0314961
Simplifying AttackTypeType BERBER
P=2P=2 P=4P=4 P=6P=6
D_4D_4 00 00 00
D_8D_8 00 00 00
Lift5_3Lift5_3 00 00 00
Conv9_7Conv9_7 00 00 00
LazyLazy 0.09448820.0944882 0.09448820.0944882 0.070866100.07086610
HaarHaar 00 00 00
DCTDCT 00
SVDSVD 00
Test2 Bream
BreamBream 32 MOPs, each MOP has 165 points and 32 MOPs, each MOP has 165 points and
270 triangles270 triangles Watermark, 31 bits PN codeWatermark, 31 bits PN code Quality=0.005 (MMSE)Quality=0.005 (MMSE) Simplifying and Scale Coefficient using Simplifying and Scale Coefficient using
Conv97 at LV =2Conv97 at LV =2
TYPETYPE Embedding time(sec)Embedding time(sec) Execution Time(sec)Execution Time(sec)
P=2P=2 P=4P=4 P=6P=6 P=2P=2 P=4P=4 P=6P=6
D_4D_4 0.0189050.018905 0.022320.02232 0.0234550.023455 0.0156350.015635 0.017240.01724 0.018780.01878
D_8D_8 0.0263250.026325 0.030760.03076 0.0329450.032945 0.021130.02113 0.025460.02546 0.0270750.027075
Lift5_3Lift5_3 0.0133450.013345 0.014070.01407 0.0160450.016045 0.015220.01522 0.0165850.016585 0.016880.01688
Conv9_7Conv9_7 0.0285250.028525 0.033910.03391 0.0366450.036645 0.024040.02404 0.0281250.028125 0.026120.02612
LazyLazy 0.011940.01194 0.0127250.012725 0.013110.01311 0.012120.01212 0.0142250.014225 0.013020.01302
HaarHaar 0.0172950.017295 0.019440.01944 0.020340.02034 0.016220.01622 0.0157550.015755 0.015230.01523
DCTDCT 0.1179650.117965 0.110580.11058
SVDSVD 1.143381.14338 1.205411.20541
Conclusion
SVD is robust, but consumes longer time SVD is robust, but consumes longer time Lazy is the worst wavelet filter for Lazy is the worst wavelet filter for
watermarkingwatermarking Acceptable quality and robust to attacksAcceptable quality and robust to attacks