吳源源 張亞軍 康 凌 蔡江云
(廈門城市職業(yè)學(xué)院,福建 廈門 361001)
在英特網(wǎng)和移動互聯(lián)網(wǎng)飛速發(fā)展的背景下,信息傳播紛紛轉(zhuǎn)移到線上。這種傳播方式在帶來便利的同時,也存在大量的圖像信息被轉(zhuǎn)載、盜用的情況。因此線上傳播的原創(chuàng)圖像資源信息的版權(quán)保護就顯得非常重要。QR 碼屬于二維條碼,QR 碼可以比普通條形碼儲存更多的資料和信息,具有高速讀取數(shù)據(jù)、高可靠性以及可防偽等優(yōu)點。該文提出一種新的加密算法,首先,生成需要嵌入圖像的版權(quán)信息的QR 碼。其次,用該文描述的Arnold 變換、Shearlet 變換和線性螺旋變換生成加密的版權(quán)信息并生成密鑰。最后,用二維離散余弦變換將需要加密的版權(quán)信息嵌入水印的圖片中,從而達到版權(quán)保護的作用。當(dāng)需要驗證圖像資源是否被侵權(quán)時,通過剛才過程的逆過程,用密鑰提取水印信息就可以驗證侵權(quán)結(jié)果。
Arnold 變換原理如下:1 個n行n列圖像稱為N階方陣。用Arnold 變換對N階圖像進行變換后,原坐標(biāo)(x,y)位置的像素點變換到坐標(biāo)(x',y')處[1],Arnold 變換如公式(1)所示。
式中:(x,y)為原坐標(biāo)像素點位置;(x',y')為變換后的像素點坐標(biāo)位置。
Arnold 變換具有周期性,即經(jīng)過若干次變換后,圖像回到最初狀態(tài),這個變換的周期T與圖像的階數(shù)N有統(tǒng)計學(xué)意義[1]。Arnold 變換對圖像有很好的打亂效果,由于其周期性非常容易被破解,因此后續(xù)還需要繼續(xù)加密。通過程序算出的N位圖像對應(yīng)的Arnold 變換周期見表1[2]。
表1 N 維Arnold 變換的置亂周期
Shearlet 變換是一種繼承傳統(tǒng)小波變換的算法,不僅繼承了小波變換的多分辨率性、局域性以及臨界采樣性,而且還拓展了多方向性和基函數(shù)各向異性的特點[2]。同時,Shearlet 變換還繼承了curvelet 和contourlet 算法的優(yōu)點,可以精確檢測信號奇異點,可以稀疏表示幾何正則圖像。例如對圖像I 來說,Shearlet 變換可以用公式(2)表示。
式中:I 為一個圖像;a、s和x分別為比例、方向和位置。
當(dāng)a>0 且s∈Z時,Shearlet 變換能如公式(3)所示。
Shearlet 變換通過縮放、剪切和平移圖像I 生成。當(dāng)ψ∈L2(Z2)時,Shearlet 變換如公式(4)所示。
式中:A為拋物線度矩陣;S為改變方向的剪切矩陣。
其中,f∈L2(R2),j∈Z,k∈Z,m∈Z2。2 個矩陣均為2×2 的可逆矩陣,如公式(5)所示。
螺旋相位變換(Spiral Phase Transform,SPT)是定義二維希爾伯特變換的符號函數(shù)[4]。二維符號函數(shù)sgn(u,v)也可以稱為螺旋相位函數(shù)。在空間頻率(u,v)中,SPF如公式(6)所示。
式中:?(u,v)為頻域空間中的極角。
此處應(yīng)用螺旋相位變換的目的主要是實現(xiàn)圖像邊緣增強的效果。
該文水印加密算法原理如圖1 所示,需要加密的版權(quán)所有者生成版權(quán)信息的QR 碼,加密的步驟如下:1) 用Arnold 變換將QR 碼置亂。2) 用Shearlet 變換將置亂后的水印分解為5 個不同頻率的系數(shù)C1~C5。其中,C1作為密鑰。3) 對C2~C5進行Shearlet 變換的逆變換后再進行螺旋相位變換。4) 用二維離散余弦變換將加密信息嵌入原始圖像,獲得含版權(quán)信息加密的圖像[3]。水印解密的過程為加密過程的逆過程。
圖1 水印加密算法原理圖
當(dāng)在原始圖像中嵌入版權(quán)信息的水?。ㄔ趫D像中加入作者的版權(quán)信息)時,不能對原始圖像產(chǎn)生太大的噪聲,否則會影響原始圖像的視覺效果。
該算法采用離散余弦變換(Discrete Cosine Transform)在原始圖像中嵌入加密水印數(shù)據(jù)。把原始圖片劃分為8× 8的圖像塊,對每個塊進行DCT 變換,轉(zhuǎn)換為64 位的DCT系數(shù)[4]。
傅里葉變換表明,任何信號都可以用多個不同頻率和振幅的正弦或者余弦信號疊加而成。如果輸入信號是離散信號且信號分解的結(jié)果只含有余弦信號,那么這種變換稱為離散余弦變換(Discrete Cosine Transform)。
圖像數(shù)據(jù)的絕大多數(shù)能量集中在低頻和中頻范圍內(nèi)。高頻系數(shù)主要保存圖像的邊界、輪廓信息,而低頻系數(shù)主要保存圖像平坦區(qū)域的信息,中頻系數(shù)介于兩者之間。如果將水印嵌入原始圖像的高頻系數(shù)中,那么水印的不可感知性好,但是魯棒性差;如果將水印嵌入原始圖像的低頻系數(shù)中,那么水印的不可感知性差,但是魯棒性好。為了平衡,該算法將水印嵌入原始圖像的中頻系數(shù)中,可以滿足不可感知性和魯棒性的要求。DCT 變換如公式(7)所示。
該文以黑白二維碼為例,黑白二維碼可以采用1 bit 水印作為版權(quán)序列。設(shè)水印數(shù)據(jù)是1個長度為n的序列Z={z1,z2,…,zn}。設(shè)要嵌入水印的原始圖像為I,I 經(jīng)8×8 分塊后經(jīng)DCT 變換后得到的變換域圖像D=DCT(I),在D 中取每個子塊的中頻系數(shù),等到中頻系數(shù)序列X={x1,x2,…,xn},X作為水印數(shù)據(jù)的承載體。水印序列Z用公式(yi=xi+αzi,i=1,3,…,n,α為水印嵌入強度因子)嵌入中頻系數(shù)序列X中,得到圖像數(shù)據(jù)D'。對D'分塊進行DCT 變換的逆變換(IDCT)后能得到包括水印的圖像 I'=IDCT(D')。
水印提取就是對包括水印的圖像I'進行DCT 變換,然后用嵌入水印時的α(水印嵌入強度因子)提取水印數(shù)據(jù)的序列。DCT 變換的逆變換如公式(8)所示。
其中,m,n,u,v∈{0,1,2,...,7}。原始圖像經(jīng)8×8 分塊,M 和N 取值為8 并且。用螺旋相位變換的逆變換和Shearlet 變換判斷是否存在C2~C5,如果存在,就用密鑰C1對水印進行解碼,恢復(fù)水印。
試驗所選用的原始載體圖像由經(jīng)典圖像處理案例圖像Lenna 圖像,原始分辨率為2500 px×2500 px。水印圖像為包括文字信息“廈門城市職業(yè)學(xué)院”的QR 碼圖像,水印圖像像素為400 px×400 px。該文對算法嵌入水印的魯棒性和透明性進行量化測試評估。圖片的視覺效果和嵌入的水印隱蔽性用PSNR(Peak Signal-to-Noise Ratio 峰值信噪比,PSNR值越大,表示圖像的質(zhì)量越好)作為量化評估標(biāo)準(zhǔn)。
水印的隱蔽性與PSNR值呈正相關(guān),PSNR值越大,圖像中嵌入水印的隱蔽性越好。對提取水印QR 碼和原始QR碼來說,除了用肉眼進行直觀評判以外,該文采用歸一化相關(guān)系數(shù)NC對圖像b 進行量化評價。NC值取值范圍為0~1,NC值用相關(guān)度確定圖像a、圖像b 的QR 碼之間的匹配程度,NC值越大,表示圖像a 與圖像b 越相似,當(dāng)NC值為1時,說明圖像a 與圖像b 完全一致。NC值的計算方法如公式(8)所示。
式中:a(i,j)為a圖像倒數(shù)第j 行第i 列的像素值;b(i,j)為模板覆蓋下的部分,稱為搜索子圖,其中的i、j是搜索子圖左下角像素點在圖像b 中的坐標(biāo)。
為了檢測水印數(shù)據(jù)的不可感知性以及算法的魯棒性,對嵌入水印的Lenna 圖像進行各種破壞測試。
將原始圖片和加入水印的圖片放大,觀察加密QR 碼信息后,圖像細節(jié)的變化情況。如圖3 所示,放大數(shù)倍后觀察,加入水印前后Lenna 眼部細節(jié)并沒有明顯的改變。計算原始圖像和嵌入QR 碼的加密圖像的PSNR值,原始Lenna 圖像的PSNR值為25.6606,將圖2 中的QR 碼嵌入Lenna 圖像后的PSNR值為27.8939,PSNR值均大于20 dB。說明嵌入的QR 碼對原始圖像的視覺效果影響非常小。
圖2 加密QR 碼和加密前后的Lenna 圖像
圖3 加入水印前后的細節(jié)對比圖
為了檢測水印數(shù)據(jù)的不可感知性以及算法的魯棒性,對嵌入水印的Lenna 圖像進行各種破壞測試。對加入水印的Lenna 圖像進行遮擋性攻擊試驗,試驗結(jié)果見表2。
表2 加密圖像遮擋攻擊試驗
通過不同攻擊比例的遮擋攻擊試驗可以得出以下結(jié)論:隨著被遮擋的圖像面積比例的增加,解密后的QR 碼圖像丟失的圖像信息逐漸增加,NC值為1。在遮擋未超過50%比例的情況下,解密后的QR 碼均能恢復(fù)出原始加密“廈門城市職業(yè)學(xué)院”數(shù)據(jù)信息。一旦遮擋超過50%,解密后的圖像就無法提取加密的文字信息。說明該文描述的算法即便在一半圖像被遮擋破壞的情況下,還能恢復(fù)水印的QR 碼,水印提取效果好。
該文進一步對嵌入QR 碼的B 圖像進行加入椒鹽噪聲破壞性測試。試驗結(jié)果見表3。
表3 加密圖像加入椒鹽噪聲攻擊試驗
通過加入不同比例的椒鹽噪聲,解密后獲取QR 碼試驗可以得出以下結(jié)論:隨著加入椒鹽噪聲密度的增加,解密后的QR 碼圖像的噪聲也隨之增加,NC值也逐漸降低。當(dāng)椒鹽噪聲密度超過0.8 后,用手機掃碼軟件就很難準(zhǔn)確識別原始加密“廈門城市職業(yè)學(xué)院”數(shù)據(jù)信息。說明該文描述的算法即便在較強的椒鹽噪聲干擾的情況下,依舊能恢復(fù)水印的QR 碼,水印提取效果好。
該文介紹的混沌圖像加密和嵌入算法的基本思想是先利用Arnold 算法將QR 碼版權(quán)信息置亂,然后利用擴頻通信原理,通過Shearlet、線性螺旋變換和離散余弦變換改變圖像變換域系數(shù)并將水印嵌入原始圖像。該算法的優(yōu)勢是水印能量分布集中在中頻區(qū)域,嵌入的水印不可感知性好且魯棒性強,適合人類視覺系統(tǒng)。該文通過不同形式的干擾和破壞試驗數(shù)據(jù)證明了該文描述算法的可靠性。