Arnold变换是V.J.Arnold在遍历理论的研究中提出的一种变换,原意为catmapping,俗称猫脸变换。Arnold变换直观、简单、具有周期性,使用非常方便。Arnold变换的原理是先作x轴方向的错切变换,再作y轴方向的错切变换,最后的模运算相当于切割回填操作,其变换示意图如图4所示。
Arnold变换的置乱效果图如图5所示。
当对图像进行Arnold变换时,就是把图像的各个像素点位置按照下列公式进行移动,
从而得到一个相对原图像比较混乱的图像。对图像每进行一次Arnold变换,就相当于对该图像进行了一次置乱,一般来说这一过程需要反复进行多次才能达到令人满意的效果。利用Arnold变换对图像进行置乱后,使原本有意义的图像变成了像白噪声一样无意义的图像,从而实现了信息的初步隐藏。同时置乱次数可以作为水印系统的密钥,从而进一步增强系统的安全性和保密性。
Arnold变换也是具有周期性的。F.J.Dyson和H.Falk在分析离散Arnold变换的周期性时,给出了这样的结论:对于任意的N>2,Arnold变换的周期L≤N2/2。这是迄今为止最好的结果。计算Arnold周期的方法,对于给定的自然数N>2,下式的Arnold变换周期M是使得它成立的最小自然数n。
例如,尺寸为32×32的二值水印图像,根据文相关结论,大小为32×32的二值图像置乱迭代6次置乱度最大。所以N=32,对水印置乱的次数k=6(k可作为密钥),可以算出N=32时,周期M=24。因此,如果开始对水印置乱了6次,那么在提取水印后还要再对水印置乱24 -6—18次才能得到原来的水印图像,如图6所示。
图像的大小与Arnold变换的周期的关系,如表1所示。
Arnold反变换
如前所述,Arnold变换是具有周期性的,反复使用Arnold变换,可以在某一时刻恢复原始图像。但是Arnold变换的周期性与图像的大小有关,如果我们利用它的周期性来达到恢复原图的目的,势必要花费很长时间。然而在实际应用中,应该尽可能地减少计算时间和计算量,我们希望Arnold变换的周期越短越好,所以在设计数字水印图像的大小时,我们往往会选择Arnold变换周期比较小的图像,而这也在一定程度上限制了图像的选择,而且选择图像前需要事先计算出它的周期,从而增加了工作量。这个问题可以通过Arnold反变换的方法解决。
Arnofd变换式为:
假设:
其中,t1,t2为整数,则:
则Arnold反变换为:
用数学归纳法可以证明,当作n次变换时,即:
时,Arnold反变换为:
其中,(x,y)是原图像的像素点,(x’,y’)是变换后图像的像素点。利用Arnold反变换式可以将水印图像进行恢复。
由以上可以得出,对一幅置乱m次的图像进行恢复时,只要恢复后的图像的置乱次数k满足0≤k≤m,图像的恢复都可以通过对置乱图像作m-k次Arnold反变换得到,显然当k=0时,反变换后的图像就是原图像。
Arnold反变换的方法使Arnold变换置乱图像的恢复不再需要计算出图像变换的周期,并且可以恢复到图像的任意次置乱效果,恢复的效率大大提高了。