刘小勇
摘要:该文是将对矢量动画的版权进行保护胃出发点,从而提出了再FLASH的动画基础上进行数字水印这种设计理念,从而将水印的效果图嵌入到SWF类别的动画文件当中,应用高频系数进行处理,并且在进行嵌入之前,对其水印的信息内容进行预先的处理。通过实验,我们对结果进行分析,不难得知,这种算法并不会对FLASH动画整体的播放效果产生任何的影响,就完全满足了水印信息不可见的性质,具备极好的视觉效果,透明的性能极佳。
关键词:flash;swf;数字水印
中图分类号:TP37 文献标识码:A 文章编号:1009-3044(2015)21-0149-02
FLASH动画作为一种矢量的图形图像,具备动画与媒体软件的全部属性,因为其具有生动、形象以及简单、便捷的特性,而深深受到人们的喜爱和推崇。但无所顾忌的网络共享、磁盘复制等二次传播,损伤了原创者的积极性,妨碍了信息的有效传播。而在对于FLASH动画进行传统的保护的方法当中,通常会通过将FLASH动画进行打包,并且加上exe的外壳,从而达到保护的作用,但是这种方法很容易被破解与还原。因而,对于FLASH的动画的相关版权问题,是急需我们予以有效解决的。
关于数字的水印相关技术,一直以来都作为信息技术当中隐藏的技术研究相关领域当中极其重要的一个分支,也在对版权的维护过程当中作为一种极其重要的手段,目前已经广泛受到水印技术界的高度关注。它与原始的数据相互关联,通过将秘密的信息嵌入其中,再通过水印的方法来证明这项数据的完整性能以及所有的权利,通过这些方面,对盗版问题或是数字作品当中存在的篡改问题进行抵制。
1 水印算法的思想
1.1 图像的置乱
Arnold变换定义[1]如下:
如果将图像看作为数字方面的一种矩阵,并且分别将图像相对的高与宽的像素比作是矩阵当中的行列数值,那么就可以将图像的置乱与变换的情况作出如下的定义:
定义1:给定图像[A=[a(i,j)]n×m],变换矩阵[T=[t(i,j)]n×m]是[1,2,???n×m]的一种排列,用T作置乱变换,得到图像B,其变换方法如下:
将字母A与字母T这两方面按照行列的顺序进行一一的对应,其中的字母A与位置1所对应的图像像素的RGB分量转移到位置2所对应的图像当中,以此类推。最终,将其所对应的N×M的位置所对应的图像的RGB分量转移回位置1所对应的图像,从而得到了按住字母T进行置乱之后所得出的图像B。这时候我们就可以将整个过程记录为B=TA。
从数字的意义层面进行考虑,所有的正交所得的函数集合,都可能是通过置乱与变换矩阵之后所得。而较为常见的变换方式有:幻方式变换、代尔变换、Ar2nold变换等,这些变换方式所应用的原理都是相同的。文中所提及的算法是采用了Ar2nold变换的方法,因此重点进行说明。
定义2:设有单位正方形上的点[(x,y)],将点[(x,y)]变到另一点[(x',y')]的变换为:
[x'y'=1112xy(modN)]
Ar2nold变换的这种方式被称作是二维的Arnold变换,具有明显的周期性。算法将可以对DIB位置的图像进行基本操作的CDIB类进行定义,从而实现了打开二值位图像并且对图像的像素进行提取、进行图像像素的置乱等多项功能。
具体步骤如下:
1)选取二值水印图像“xiaohui.bmp”,该图像的大小是64×64,如图1所示。将该图像的像素按照行列顺序存入一个二维矩阵[A=[a(i,j)]128×128(1≤i,j≤128)]。A中元素[a(i,j)]的位置也可以表示为[p=128×(i-1)+j,1≤p≤16384]。
2)对随机而产生的序列进行种植发生器的秘密钥匙key,在这之后进行伪随机的序列发生器的使用,从而将序列按照顺序排列成为一个二维的可以变换的矩阵[T=[t(i,j)]128×128],[t(i,j)]是[1,2,???16384]的一种排列。
3)将字母A和字母T进行对应,将A中第[i]行第[j]列所对应的图像的像素与[t(i,j)]位置处进行移植,这样一来就可以得到一个全新的二维矩阵B,这也就是经过置乱之后所得的水印的图像。如图2所示。
1.2 小波变换的基本思想
通过小波进行变换[2-3]的方法是目前为止应用较为广泛的一种对分辨率进行有效分析的方法,携有频率越高的信号,所具有的窗口的模式就越小,对比而言,频率越是低,则窗口的模式反而越大。
小波的变换在整个图像进行处理的过程当中,运用的最为基本的思想是将图像通过多种不同的分辨率的识别,进而将其分解成为不同空间内存在的具有不同的频率的子图像,在这之后对所产生的子图像进行客观的系统处理,例如对图像进行压缩裁剪、增强图像效果、对图像进行重新构建,或是将图像分解等等。
我们可以根据一种名为S.Mallat 的塔式的分解方法进行计算,经过一级的分解,形成了四个1/4大小的子图像:其中的子图像LL1当中携带了图像的绝大部分的信息,而子图像当中的HL1、LH1以及HH1的边缘以及其纹理的信息具有相同的水平方向、其垂直于对角线的方向输出高频率的展示细节信息;在此基础上,对LL1这种逼近的子图像通过完全相同的方式进行再次分解,所得的下一级的分辨率更小了,其中的子图像LL2LL2、HL2、LH2、HH2,HL2、LH2、HH2 可以作为代表着高频率的细节图像;依次对LL2子图像进行第三次分解,这样经过三级的分解之后,我们就得到了十个子图像。在这当中,低频所代表的是那些具有小波变换与分解的相应级别数所决定的最大的尺度与最小的分辨率之下,与原始图像相比最为接近的。它在统计特征方面与原始的图像最为相似,而图像当中绝大部分的能量都是在此处加以集中。而高频的部分,则表示图像的边缘部分以及纹理的处理。在保证水印透明性良好的前提条件下,把水印与小波图像当中高频的系数相互嵌入融合。
由于正常的人的视觉对于高频度的信息的辨别能力较比与低频信息而言较低,因此在进行水印处理并且将其嵌入到高频的区域内,收影响越小的原始图像,其水印所得的透明性越佳。本篇文章所应用的算法,是极力将水印嵌入到小波图像中的高频系数C当中。
2 水印的嵌入
将图像当中大小比例为 M×M 的一类作为整个图像的载体,与图像大小为 N×N 的经过水印处理的图像 W为例子,其具体嵌入的算法如下[4]:
1)利用变换方法 Arnold 将水印的图像W进行置乱的处理,处理后的图像记作 W′。
2)将图像C进行相对L级别的DWT水平的变换。
3)将通过水印处理过的信号W与图形C进行嵌入与融合处理,以水印进行嵌入所得的阈值T1决定将水印所得的信息进行图像的嵌入方法是否可行。
4)将C′进行IDWT2逆小波变换重构图像获得含有水印的图像IW。
3 实验结果与分析
4 结论
本文主要是在小波进行分块的基础之上,提出了相关数字的图像水印整体算法,并且高度李永乐小波的变换方式,将其分块的特征与性能嵌入到水印当中,与此同时,把Arnold对应的变换与置乱的算法与传统的水印图像当中的置乱的方式相互结合、彼此应用,在此基础上将人类视觉所特有的掩蔽的特征与性能进行有机结合,从而将水印艺术当中的不可见的性能予以实现,并且在很大程度上将视觉的效果提高。
如图5所示,本篇文章采用了PSNR这一概念,被当做是水印在图中进行嵌入,从而构建出图像的硬性评价指标。而当相应数值大于30的时候,单凭人的视觉感官,很难讲原始的图像与处理之后重新构建的图像当中的差别予以区分,因此,无论是通过主管的判断,或是从客观的角度来讲,运用这种算法,将其嵌入水印,从而增强了透明的性能。
参考文献:
[1] 王颖, 肖俊, 王蕴红. 数字水印原理与技术[M]. 北京: 科学出版社, 2007.
[2] 安翼, 黄克飞. 一种基于离散小波变换的图像数字水印[J]. 能源技术与管理, 2007(1): 96-99.
[3] 丁俊义. 基于离散小波变换的数字水印算法研究[D]. 重庆:重庆大学硕士学位论文, 2006.
[4] 王艳玲. 基于DWT的数字水印算法的MatLab实现[J]. 信息技术与信息化, 2006(1): 54-55.