彭靜玉,趙鶴鳴
(蘇州大學,江蘇 蘇州 215006)
圖像置亂是經過一系列變換來改變圖像中像素的排列次序或者改變像素的灰度值。在隱蔽通信中,置亂可以去除隱蔽圖像像素間的相關性;增強通信的隱蔽性或者設置秘鑰給隱秘的圖像信息加密;還可以分散錯誤比特的分布以增強秘密信息的魯棒性。所以對圖像置亂技術的分析研究也成了很多科研人員關注的課題[1-2]。圖像置亂的方法很多,如Arnold變換、幻方變換、Hilbert曲線、Conway游戲等[3-4],其中Arnold變換由于方法簡單、易于理解和實現而被很多研究人員應用[5-6]。目前的文獻中置亂的圖形對象大部分為二值圖像或灰度圖像,而對彩色圖像的置亂方法則很少有人涉及。本文分別研究了基于像素灰度變換的彩色圖像置亂方法及基于位置變換的彩色圖像置亂方法,提出了一種新的彩色圖像置亂方法,并對置亂效果進行了仿真分析。
Arnold 變換是俄國數學家ArnoldV I在研究遍歷理論時提出的一種置亂變換。定義為:設有單位正方形上的點(x,y),將點(x,y)變到另一點(x’,y’)的變換為:

式中(mod1) 表示模1運算。此變換稱作二維Arnold變換。
對于數字圖像,把式(1) 中的二維Arnold變換改寫為:

式(2)中,( x, y )∈{0,1, 2,…, N-1},(x’,y’)∈{0,1, 2,…,N-1}, 分別是變換前后某像素點的坐標,N是數字圖像矩陣的階數。
對與三維的正方體,三維等長Arnold變換定義為:將一點坐標(x,y,z)變換為另一點坐標(x’,y’z’)的變換式為:

其中(x,y,z)∈{0,1, 2,…, N-1},(x’,y’z’ )∈{0,1, 2, …,N-1},且為整數。
由式(3)可推得:若將圖像像素的三個色彩分量(r,g,b)映射為另一個色彩分量(r’,g’,b’),(r,g,b)∈{0,1, 2,…, 255},(r’,g’,b’)∈{0,1, 2,…, 255},則變換式為:

對于彩色圖像可以按照式(4)來改變圖像中的每一個像素點的灰度值,達到置亂的目的。這種置亂的問題在于:①對于不同位置的同一種顏色置亂后顏色依然相同,因為其顏色分量值是固定的,所以經過這種變換(不論迭代次數為多少)后,不同位置上顏色相同點的顏色依然相同,這樣就產生了原始圖像的輪廓依然可見的問題;②這種置亂的周期是固定的448,與圖像的大小無關[7]。對于比較小的圖像(譬如水印圖像尺寸通常都比較小),就相對浪費很多運算時間,降低了執行效率。針對這個問題,可以設計基于位置變換的彩色圖像置亂方法。
設彩色圖像采樣后的數據為:

這里(x,y)為某個像素點的坐標,axy(r,g,b)表示坐標為(x,y)的某像素點的3個基色分量的值,m=n。用式(2)來改變像素點坐標的位置。然后將坐標為(x,y)的像素點的 3 個基色分量值(r,g,b)用坐標為(x’,y’)的像素點的3個基色分量值’(r,g,b)來代替。即:

用式(1)和式(6)來實現像素點空間位置的改變。方法二置亂的效果在視覺效果上明顯優于方法一,特別是對于色彩比較單一的彩色圖像。然而通過計算置亂前后數字圖像相鄰像素間的相關性來判斷置亂的效果時,卻發現方法二的置亂度遠遠小于方法一,也就是說在理論上方法二的置亂效果并不佳。因此,本文提出了一個兼顧置亂的視覺效果和理論效果的置亂方法。
設彩色圖像的采樣數據為式(5)所示,axy(r,g,b)表示某像素點的3個基色分量的值。在移動像素坐標位置(x,y)的同時,把該像素的基色分量的灰度值(r,g,b) 映射到另一個色彩分量空間(r’,g’,b)。如式(7)所示:

式(7)中點(x,y)與點(x’,y’)之間的關系按照式(2)轉換;灰度值(r,g,b) 按照式(8)映射到另一個色彩分量空間(r’,g’,b)。

可以算出式(8)的迭代周期為292。
除了通過顯示置亂前后的圖像用視覺來判斷置亂效果外,還可以通過計算置亂前后數字圖像相鄰像素間的相關性來判斷置亂的效果。
文獻[8]提出了一種基于各點相關性的圖像置亂程度衡量方法,主要是通過比較置亂前后每個點與其相鄰點的相關性的差異來衡量置亂度。該方法計算出的置亂度與視覺效果比較吻合。根據文獻[8]對彩色圖像的置亂度作如下定義:對于m×n的圖像,置亂度表達式為:

式(9)中:


其中WN(i,j,k)(k=1,2,3)是置亂后的圖像(采樣后是一個三維的矩陣),W(i,j,k)是置亂前的圖像,S(i,j,k)是每個像素點與其相鄰點的相關性;Kp(i,j,k)(p=1,2,3,4)分別為每個像素點與其相鄰的上下左右4點的相關性。顯然ZD的最小值為0。
(1)實驗一
分別用方法一和方法二兩種方法對“圖像蘇大”和“圖像蘇州”兩個90×90的彩色圖像進行相同迭代次數(迭代26次)的置亂。用視覺判斷(圖1)及置亂度計算(表 1)的方法來分析置亂效果。圖1(a)、圖1(b)、圖1(c)分別為圖像蘇大的原始圖像、用方法一及方法二變換后的置亂圖像,圖 1(d)、圖1(e)、圖1(f)分別為圖像蘇州的原始圖像、用方法一及方法二變換后的置亂圖像。

圖1 方法一和方法二置亂效果比較

表1 方法一和方法二置亂度比較
可見,對于實驗中的2幅圖像,從置亂前后圖像的相關性來比較,方法一的置亂度都大于方法二,但對于色彩單一的 “圖像蘇大”,方法一置亂后的視覺效果要比方法二差很多,即視覺上的置亂效果與理論上的置亂效果差異很大。
(2)實驗二
對同一圖像用3種方法分別顯示置亂效果,計算置亂度及置亂周期。
基于色彩變換的置亂結果如圖2所示,圖2(a)、圖2(b)、圖2(c)、圖2(d)、圖2(e)、圖2(f)分別為原始圖像、迭代次數為8次、28次、38次、54次及448次的置亂圖像。
由圖2可以看出,用置亂方法一改變的是每一個像素點顏色的灰度值,但對于相同灰度值的地方不管經過多少次迭代,它們的灰度值改變都相等,于是都會出現“蘇州大學”的輪廓,無法在視覺上徹底置亂。由表2中可以看出當迭代次數為置亂周期448時,置亂度為0。

圖2 方法一置亂結果
基于位置變換的置亂結果圖3所示,圖3(a)、圖3(b)、圖3(c)、圖3(d)、圖3(e)、圖3(f)分別為原始圖像、迭代次數為8次、28次、38次、54次及60次的置亂圖像。

圖3 方法二置亂結果
由圖3可以看出,用方法二改變的是每一個像素點的位置,視覺上的置亂效果比較好。但無法改變像素點的顏色,在相同迭代次數的情況下置亂度要比方法一小很多(如表2所示),實驗也驗證了對于90×90的圖像方法二的置亂周期為60。
方法三的置亂結果圖4所示,圖4(a)、圖4(b)、圖4(c)、圖4(d)、圖4(e)、圖4(f)分別為原始圖像,迭代次數為8次、28次、38次、54次及252次的置亂圖像。

圖4 方法三置亂結果
由圖4可以看出,用方法三既改變了每一個像素點的位置,也改變了每一個像素點的灰度值。無論是視覺效果還是置亂度(表 2)都比較理想。方法三的迭代周期為 252,表中置亂度為 0時的迭代次數即為置亂周期。

表2 3種置亂方法置亂度及置亂周期比較
通過比較可以看出本文提出的置亂方法彌補了單一改變像素位置或者單一改變像素灰度值置亂效果的不足。在相同迭代次數時,本文提出的置亂方法視覺效果遠遠優于其他2種方法,置亂度約為方法二的2倍,置亂周期是方法一的0.56倍。是一種兼顧了置亂圖像視覺效果和置亂圖像相關性的有效、快速的置亂方法。
[1] LI Shanshan, ZHAO Yinghai. Image Scrambling Based on Chaos Theory and Vigenère Cipher[C].USA:IEEE Computer Society, 2011:555-558.
[2] RAVANKAR A A, SEDUKHIN S G. Image Scrambling based on a New Linear Transform[C]. USA: IEEE, 2011:3105-3108.
[3] 文飛.基于混沌的數字圖像信息加密安全傳輸研究[J].信息安全與通信保密,2010(10):86-91.
[4] 謝勰,羅祖軍,王輝. 基于混沌置換的圖像隱藏算法[J].信息安全與通信保密,2007(06):187-191.
[5] 劉芳,賈成,馮雁,等.圖像置亂在數字水印中的應用研究[J].通信技術,2008,41(09):165-167.
[6] 孫穎,劉嘉勇.基于新的 Arnold反置亂的二值圖像信息隱藏[J].通信技術,2010,43(08):181-186.
[7] 丁瑋, 閆偉齊, 齊東旭. 基于 Arnold變換的數字圖像置亂技術[J]. 計算機輔助設計與圖形學學報,2001, 13(04): 338-341.
[8] 張健,于曉洋,任洪娥,等.圖像置亂程度的衡量方法[J].計算機工程與應用,2007,43(08):134-136.