3D MAX动画中材质参数的数字水印算法

李亚琴+方立刚
摘 要: 为了保护在线多媒体数字资源的版权,提出一种针对3D MAX三維动画的数字水印方案。选定动画中的材质参数作为水印嵌入位置,首先将若干有效材质参数组成一个矩阵,对此矩阵进行小波变换,得到逼近分量和细节分量,其次将水印信息进行PCA分解,然后将小波变换后得到的逼近分量与PCA分解得到的第一分量进行数据融合,最后用融合得到的逼近分量与原始细节分量进行小波逆变换,从而将水印嵌入到材质参数矩阵中,用新矩阵中的元素来重新设置材质,得到嵌入水印的三维动画。实验结果表明,算法简单易行,水印隐蔽性好,抗攻击性能强且扩展性好。
关键词: 数字水印; 版权保护; 3D MAX; 材质; 小波变换; PCA; 数据融合
中图分类号: TN915.08?34; TP391 文献标识码: A 文章编号: 1004?373X(2017)21?0084?03
Digital watermarking algorithm of texture parameters in 3D MAX animation
LI Yaqin, FANG Ligang
(Jiangsu Province Support Software Engineering R&D Center for Modern Information Technology Application, Suzhou 215104, China)
Abstract: In order to protect the copyright of the multimedia digital resources, a digital watermarking scheme for 3D MAX animation is put forward, and the texture parameters in animation are selected as the positions of watermark embedding. A matrix composed of several effective texture parameters is performed with wavelet transform to get the approximation component and detail component, then the watermark information is decomposed with PCA to get the first component, and the approximation component and first component are conducted with data fusion. The wavelet inverse transform is carried out for the approximation component and original detail component to embed the watermarking into a new matrix of texture parameters. The elements in the new matrix is used to reset the texture to obtain the 3D animation with embedding watermark. The experimental results show that the algorithm has simple operation, good watermark concealment, strong attack resistance and perfect extensibility.
Keywords: digital watermark; copyright protection; 3D MAX; texture; wavelet transform; PCA; data fusion
0 引 言
网络上出现了大量的数字媒体资源,主要有图像、音频、视频、文本格式材料等。这些多媒体资源是原作者辛勤劳动的成果,虽然网络的便捷与快速给学习者打开了方便之门,但由于发布的网络数字资源很容易被复制、修改和传播,所以网上传播的数字媒体资源存在严重的盗版和侵权问题。如何保护在线多媒体数字资源的版权已成为近年来法律界、教育界和计算机研究中面临的难题之一[1]。
为了保障动漫行业健康发展,数字资源管理系统必须采取相应的技术措施来控制作品的非法访问和拷贝。目前对多媒体资源版权保护的研究中,文献[2]提出一种基于最低位有效算法和变化元素的矢量动画水印方案,首先把矢量动画中相邻帧间变化元素的颜色值作为水印的嵌入位置,然后采取修改最低有效位的方法将多组水印编码后嵌入到动画中,提取水印时,多组水印互相验证来提取出准确的水印。文献[3]提出利用连续矢量图帧中特定图形元素颜色轻微修改来嵌入水印,通过分析图形元素帧间颜色值的差异提取并验证水印。文献[4]提出将水印的效果图嵌入到SWF格式的动画文件中,应用高频系数进行处理,嵌入水印之前先对水印的信息内容进行预处理。文献[5]提出3种矢量动画的水印方案做理论研究。但是目前针对3D MAX三维动画的水印方案少之又少。
本文提出一种针对3D MAX软件制作的三维动画的数字水印算法,主要是基于动画中的材质参数。将一部三维动画中的若干有效材质参数组成一个矩阵,对此矩阵进行小波变换,选定水印信息后,对水印进行PCA分解,将小波变换得到的系数与PCA分解得到的第一分量进行数据融合。最后用修改后的小波系数进行小波逆变换,成功将水印信号嵌入到矩阵中,用新的矩阵元素修改动画的材质,得到嵌入水印的三维动画。
1 3D MAX动画及材质参数
3D MAX是专为流畅的角色动画和新一代的三维工作流程而设计的,集三维建模、灯光、摄影机、材质、动画、特效、渲染于一身,在应用范围方面,广泛应用于广告、影视、工业设计、建筑设计、多媒体制作、游戏、辅助教学以及工程可视化等领域。
材质反映的是物体本身的物理属性,表现物体实际的视觉状态,不同的物体具有不同的质感,用材质可以表现物体的颜色、纹理、透明度、凹凸程度、粗糙度、光泽度等。
2 基于3D MAX动画中材质参数的数字水印算法
2.1 水印嵌入算法
3D MAX中,主要在材质编辑器中设置材质,每种材质对应一个材质球,每个材质球里有若干参数。
步骤1:将一部动画材质编辑器中的有效参数集成到一个矩阵中,记为[X,][X=xij,i=1,2,…,m;][j=1,2,…,n,]对[X]进行一级二维离散小波变换,小波基选择“db1”,得到HH,HL,LH,LL,分别是小波变换后的细节分量和逼近分量,逼近分量对应大尺度低频分量,细节分量对应小尺度高频分量,小波变换对高频成分采用逐渐精细的时域或频域取样步长,从而聚焦到对象的任何细节:
[(HH,HL,LH,LL)=dwt2(X,′db1′)] (1)
步骤2:选择水印信息,记为[W,]对[W]进行PCA变换,得到三个分量,分別是pc,latent,explained,第一主分量pc作为实际嵌入的水印信息元素:
[pc,latent,explained=paccov(W)] (2)
步骤3:将LL与pc进行数据融合,即将水印信息pc嵌入到LL中,得到新的逼近分量记为LL*:
[LL*=Fuse(LL,pc,alphaFactor)] (3)
步骤4:将HH,HL,LH,LL*进行小波逆变换,得到新的矩阵,记为[X*]:
[X*=idwt2(HH,HL,LH,LL*,′db1′)] (4)
步骤5:用[X*]中的矩阵元素来重新设置材质并赋予物体。
2.2 水印提取算法
水印提取算法实际上是嵌入算法的逆过程,当动画的版权出现争议时,利用提取算法提取出水印。
步骤1:首先将动画材质编辑器中的嵌入算法所选择的有效参数组成一个矩阵,记为[X,]对[X]进行一级二维离散小波变换,小波基选择“db1”,得到HH′,HL′,LH′,LL′,分别是小波变换后的细节分量和逼近分量。
步骤2:从LL′中提取水印,由于嵌入时采用的是数据融合方法,所以提取时采用独立分量分析ICA分解的方法,具体步骤如下:
step1:读取LL′记为[x1];
step2:令[X=[x1,x2]T,][x2]是密钥,本文是[pc,]即嵌入水印时的第一主分量;
step3:调用ICA求得[A-1;]
step4:[Y=A-1X,Y=[y1,y2]T;]
step5:将[y2]转换成一个[M1×M2]的二维矩阵[pc;]
step6:[pc‘]就是利用ICA方法提取出来的第一主分量,即提取出来的水印信息。
步骤3:将[pc‘]与[pc]进行比对,以证明水印的有效性及判别版权。
3 实验结果与分析
3.1 实验环境
本文选择的三维动画短片是一部人物动画,将材质编辑器中的有效参数集成到矩阵中,是一个12×12的二维矩阵,本文选择的水印信息是二代身份证号,是1×18的一维矩阵。本文实验全部在3D MAX 2014和Matlab R2011b中完成。
图1是仿真实验的GUI界面,然后在callback中编写代码完成实验。
3.2 算法隐蔽性
为了验证算法的隐蔽性,通过峰值信噪比(PSNR)来衡量,选择的动画共有230帧,将原始动画渲染为一系列静态连续图片共有230张,将嵌入水印的动画也做同样渲染方式的选择,共有230张,把对应位置的两张图片做峰值信噪比,共有230个PSNR数据,本文算法的平均PSNR为50.562 4,说明算法的水印隐蔽性较好,矩阵[X]与矩阵[X*]的相关系数为0.998 9。
3.3 算法抗攻击性
对含有水印的动画进行攻击,以验证算法的性能,本文所做的攻击都是在3D MAX软件中对.max源文件进行攻击。
(1) 删除材质参数攻击
每个材质球中包含多个参数,用来表现物体不同的特性,如要表现物体的光泽度,需要设置自发光、环境光颜色、高光颜色、高光级别、光泽度等参数;如要表现物体的粗糙特点,则要设置凹凸通道、置换通道参数等。在做攻击时,删除少于三个材质参数,用提取算法提取出水印后,提取水印与原始水印的相关系数为0.963 4。
(2) 修改材质参数攻击
对动画的材质参数做修改,本文实验中修改了若干材质参数,提取水印和原始水印的相关系数如表1所示。
(3) 增加材质球攻击
增加材质球,即在原来空白的材质球上设置参数,因为原始动画中没有这些参数,提取水印时也无需用到这些参数,所以对水印无影响,提取水印和原始水印的相关系数是1.000 0。
4 结 语
良好的原创风气是中国动漫行业飞速发展的基本保障,也是中国动漫人的共同心声。本文提出一种针对3D MAX动画的数字水印算法,旨在保护三维动画这种数字资源,算法简单易行,通过实验数据证明算法的隐蔽性好,且扩展性能好,不仅可应用在3D MAX软件的动画中,也可以应用于3D MAX的静态效果图或者其他三维软件中。但是算法在抵抗整体删除材质球的攻击方面能力较弱,今后将做进一步研究。
参考文献
[1] 张芙蓉,汤泽军.基于数字水印的多媒体教学资源版权保护的研究[J].长沙航空职业技术学院学报,2008,8(4):37?41.
[2] 王涛,李复旦,徐超,等.基于最低位有效算法和变化元素的矢量动画水印方案[J].计算机应用,2014,34(5):1304?1308.
[3] 王涛.面向连续矢量图的简易数字水印方案[J].计算机工程与设计,2013,34(5):1609?1614.
[4] 刘小勇.基于FLASH动画的数字水印设计方法[J].电脑知识与技术,2015,11(21):149?150.
[5] 戴明辉.矢量动画文件数据结构的分析[J].佳木斯教育学院学报,2012(10):413?414.
[6] 杨娜.防伪电子票打印扫描过程中的数字水印失真和还原技术[J].现代电子技术,2016,39(17):75?78.