李延哲+梁仁鵬+張紫硯+崔杰
摘 要:針對目前數(shù)字水印技術(shù)中圖像作為存儲載體時不足以支撐大量數(shù)據(jù)安全存儲的問題,基于DCT-DWT-SVD視頻水印算法思路,文中提出一種彩色圖像的安全存儲方案,利用視頻作為存儲載體,選取原始視頻關(guān)鍵幀,采用離散小波變換和離散余弦變換對關(guān)鍵幀的B分量進行多次變換,將變換后的子帶進行Arnold置亂,將同樣經(jīng)過多次變換處理的圖像嵌入置亂后的子帶中,再通過奇異值重構(gòu)、逆變換、反置亂等方法,得到包含彩色圖像的視頻。提取圖像時,非完全對稱的過程被采用。實驗結(jié)果表明,文中算法對常規(guī)的圖像處理攻擊,如噪聲、濾波、剪裁、亮度變化、縮放、JPEG壓縮以及幀攻擊等均具有很強的魯棒性,滿足對圖片的存儲和提取要求,可實現(xiàn)彩色圖像的安全存儲。
關(guān)鍵詞:彩色圖像;視頻載體;安全存儲;關(guān)鍵幀;顏色通道
中圖分類號:TP391 文獻標識碼:A 文章編號:2095-1302(2017)05-00-04
0 引 言
隨著網(wǎng)絡(luò)新一代的革新,圖片作為一種信息載體,在人們?nèi)粘5耐ㄓ嵔涣髦姓紦?jù)著日益重要的地位。然而,對應(yīng)數(shù)據(jù)安全技術(shù)的發(fā)展卻不盡人意,特別是在個人和企業(yè)的圖片信息保護方面存在諸多不足。為此,相關(guān)學者在該領(lǐng)域展開了多方面的研究。
文獻[1]提出了一種新穎的基于離散小波變換(DWT)的數(shù)字水印技術(shù)用于版權(quán)保護。可見與不可見的水印方法被用于提升圖像的安全性,但這種方法無法用于視頻載體。文獻[2]提出將水印嵌入到視頻幀的每一個分量中,但該算法不能有效抵抗高斯濾波和中值濾波的攻擊。文獻[3]提出了一種安全的變?nèi)萘炕謴?fù)水印方案,該方案可有效恢復(fù)水印,但無法抵擋隨機噪聲攻擊、JPEG壓縮和其他常規(guī)攻擊。文獻[4]提出了一種基于灰色關(guān)聯(lián)分析的算法,用灰色關(guān)聯(lián)分析來選擇載體的存儲區(qū)域,信息被隱藏在低頻系數(shù)分段中。這個算法的優(yōu)勢能保證原始視頻的信息不被修改,但算法復(fù)雜度相對較高。
文獻[5]提出了一種基于小波變換的音頻信息隱藏算法。通過調(diào)節(jié)語音段小波變換的中高頻系數(shù)改變每級小波變換高頻系數(shù)前后兩部分的能量狀態(tài)來隱藏二進制機密信息。該算法具有良好的隱蔽性和魯棒性,然而音頻載體的隱藏容量不大,但對本文選擇視頻載體進行信息存儲提供了思路。文獻[6]提出了一種基于果蠅優(yōu)化算法的數(shù)字水印算法,用于平衡水印的透明性和魯棒性,同時利用二維離散小波變換和Arnold變換實現(xiàn)圖像版權(quán)的保護。該算法具有較好的透明性和魯棒性,在對抗旋轉(zhuǎn)和剪切等幾何攻擊上有很好的效果。文獻[7]提出了一種基于原始視頻的魯棒性盲提取水印算法。該算法結(jié)合人類視覺系統(tǒng)的掩蔽特性以及離散余弦變換,將置亂后的水印信息嵌入到宿主視頻幀綠色分量的DCT變換低頻系數(shù)中。實驗數(shù)據(jù)表明該魯棒性視頻水印算法具有優(yōu)良的不可見性,對不同強度的高斯、幀剪切、椒鹽、壓縮等攻擊具有很強的魯棒性。
文獻[8]提出了一種基于DCT變換的數(shù)字水印算法,通過他們提到的加密公式將彩色圖像轉(zhuǎn)化為灰度圖像。水印通過混沌加密算法加密后嵌入灰度圖像。將灰度圖像變換為彩色圖像后即可提取出水印圖像。盡管該算法的隱藏過程令人滿意,但提取過程是完全對稱的,降低了水印嵌入的安全性。
在對以上文獻中的機制和算法進行學習和研究后,本文提出了一種基于視頻載體的彩色圖像存儲方案,結(jié)合二維離散小波變換、離散余弦變換、Arnold變換和奇異值分解等技術(shù),將圖像信息進行預(yù)處理,通過存儲公式或提取公式得到所需奇異值矩陣,再運用一系列逆變換手段還原出含彩色圖像的視頻或完整的彩色圖像,實現(xiàn)彩色圖像的安全存取。
1 預(yù)備知識
1.1 關(guān)鍵幀的選擇
由于視頻存儲信息量大,連續(xù)幀序列間存在大量冗余信息,本文使用視頻關(guān)鍵幀對圖像進行嵌入。根據(jù)HVS(人類視覺系統(tǒng))顯示,人眼對藍色通道的識別最不敏感,本文決定將彩色圖像嵌入到關(guān)鍵幀的B分量中,且不會影響R和G分量中的信息。傳統(tǒng)選擇關(guān)鍵幀的方法計算復(fù)雜度較高,因此提出一種簡單的關(guān)鍵幀快速選取方法,詳細步驟如下:
(1)計算R、G分量差值的絕對值之和,記為SK。SK的定義見公式(1):
(1)
這里K是幀圖像編號,RK(x,y,1)和RK(x,y,2)表示第K幀圖像分別在R,G分量(x,y)處的像素值。
(2)選擇最大的20個SK值作為關(guān)鍵幀,將關(guān)鍵幀編號和位置信息存儲在變量key中。
1.2 離散小波變換
離散小波變換(DWT)常用于圖像的層次分解。如果單一的離散小波變換應(yīng)用于二維圖像信號,圖像將被分解成四個部分。有一個低頻區(qū)(LL)和三個高頻區(qū)(LH,HL和HH)。LL子帶作為下一次變換的輸入,經(jīng)2-DWT之后的二維圖像如圖1所示。
經(jīng)離散小波變換后,原始圖像的大部分信息存儲在低頻系數(shù)中。通過在該部分中嵌入水印可以獲得更好的魯棒性。如果水印嵌入在高頻系數(shù)部分中,則在JPEG壓縮攻擊下更容易丟失。
DWT需要能夠完整表達分析信號的全部信息,因此將數(shù)學上的框架理論作為支持,如果對于所有的待分析信號滿足框架條件,那么DWT就是可逆的,如公式(2):
(2)
1.3 Arnold變換
Arnold變換可以在多次迭代后改變圖像中每個像素的位置,具有良好的周期性和分散性[9],經(jīng)過多次迭代后的圖像仍然可以恢復(fù),因此它被廣泛應(yīng)用于數(shù)字圖像置亂。
對于一個大小為n×n的圖像,其二維Arnold變換定義如公式(3):
(3)
其中,(x,y)表示原始圖像矩陣中像素的坐標,而(x',y')表示變換后的圖像矩陣中像素的坐標。
若圖像經(jīng)Arnold變換后變得雜亂無章且無法識別,就達到了圖像置換的目的。如果不知道迭代次數(shù),則很難得到原始圖像??梢詮膱D2看到一組圖像在Arnold變換之前和之后的變化。
(a)原始圖像(b)經(jīng)Arnold變換后
1.4 離散余弦變換
離散余弦變換(DCT)因其較低的計算復(fù)雜度和高壓縮比常被用于圖像壓縮[10]。在DCT中,圖像通常被分成若干個8×8的子塊,對于每個子塊,一維DCT正交變換公式如公式(4):
(4)
二維DCT逆變換公式如公式(5):
(5)
公式(2)、(3)中函數(shù)C(x)如公式(6)所示:
(6)
離散余弦變換過程如圖3所示。
本文選擇將圖片嵌入到中頻區(qū)域,理由如下:
(1)高頻區(qū)域的魯棒性遠遠不能滿足信息存儲的要求,由于信息在高頻區(qū)域存儲,在遭到攻擊時很可能會完全損毀;
(2)大多數(shù)圖像的輪廓信息存儲在低頻區(qū)域,如果再將圖片嵌入到低頻區(qū)域,則像素值的修改將使原始圖片難以維持原狀。
1.5 奇異值分解
奇異值分解(SVD)[11]作為矩陣分解的一種方法,在圖像壓縮中有著廣泛的應(yīng)用。從線性代數(shù)的角度可以將一副圖像視為一個非負矩陣。大小為m×n的矩陣A的奇異值分解如公式(7):
(7)
此處公式中的USVT不是一個符號,它表示U·S·VT。U、S、VT分別為公式(7)第二行中的矩陣。矩陣U的列稱為左奇異值向量,矩陣V的列稱為右奇異值向量,矩陣對角線中的元素稱為奇異值。
SVD經(jīng)常用于數(shù)字圖像處理主要有兩個原因:
(1)圖像的奇異值是穩(wěn)定的。當圖像受到輕微擾動時不會發(fā)生太大變化。
(2)通過奇異值重構(gòu)圖像很方便。這是因為如果忽略一些小的奇異值,重構(gòu)圖像的整體質(zhì)量幾乎不受影響。
1.6 評價標準
1.6.1 歸一化系數(shù)
本文使用歸一化系數(shù)(NC值)值來測試算法的隱藏質(zhì)量,NC值可以體現(xiàn)原始圖像和變換圖像之間的相似性。NC值最大為1,此時說明這兩個圖像相同。NC定義如公式(8):
(8)
其中,W表示原始圖像,W'表示變換后的圖像。
1.6.2 峰值信噪比
視頻壓縮后,輸出的視頻與原始視頻有輕微不同很正常。為了測試最終的視頻質(zhì)量,峰值信噪比(PSNR)是通??紤]的指標之一。PSNR定義如公式(9):
(9)
其中,MSE指均方誤差,In為原始視頻的第n個像素值,而Pn指經(jīng)處理后的影像的第n個像素值。峰值指8-bits表示法的最大值255。PSNR通常以對數(shù)單位來表示,其值越大,代表失真越少。
2 方案設(shè)計與實現(xiàn)
2.1 存儲過程
2.1.1 對視頻載體的預(yù)處理
對原始視頻進行分幀和關(guān)鍵幀的處理,得到視頻關(guān)鍵幀的藍色分量圖;對B分量進行第一次DWT變換,對子帶LL1進行第二次DWT變換,對子帶LH2進行Arnold置亂,迭代次數(shù)存放在變量key中,對置亂后的子帶進行第三次DWT變換,對子帶HH3進行第四次DWT變換,對第四次DWT變換后的各子帶進行DCT變換和奇異值分解,得到各子帶的奇異值矩陣Sa1、Sh1、Sv1、Sd1和對應(yīng)的U、V矩陣的值。
2.1.2 對彩色圖像的預(yù)處理
通過對顏色通道的分離,得到R、G、B通道分量圖。分別對這三個通道分量圖進行Arnold置亂,將置亂后的結(jié)果進行DCT和DWT變換,再將各子帶進行奇異值分解,得到各子帶的奇異值矩陣Swa1、Swh1、Swv1、Swd1和對應(yīng)的Uw、Vw矩陣的值。
2.1.3 彩色圖像存儲
在該部分,彩色圖像的奇異值必須按照公式(10)與關(guān)鍵幀的奇異值相加:
(10)
其中,Sk代表Sa1、Sh1、Sv1、Sd1的奇異值矩陣,Swk代表Swa1、Swh1、Swv1、Swd1的奇異值矩陣,ak表示不同子帶的嵌入強度。對新的奇異值矩陣進行奇異值重構(gòu),得到含有彩色圖像的子帶。通過2-DWT逆變換和DCT逆變換得到LH2';對LH2'進行Arnold反置亂和2-IDCT,得到含有彩色圖像的視頻幀,最后通過幀重構(gòu)得到完整的視頻。
2.2 提取過程
提取算法無需原始視頻,只需用含彩色圖像視頻的G分量代替原始視頻B分量,并將其作為彩色圖像提取時的原始數(shù)據(jù)即可。
2.2.1 對視頻載體的預(yù)處理
對待測視頻進行分幀處理和關(guān)鍵幀的選取,找到與變量key中保存的幀編號位置相同的關(guān)鍵幀并進行彩色圖像的提取。為減少G分量受噪聲影響,對G通道分量圖進行高斯濾波處理。對G、B通道分量圖進行2-DWT變換,對LH2子帶進行Arnold置亂,對LH2'進行2-DWT變換,再對各子帶進行DCT變換和奇異值分解,得到奇異值矩陣Sn'k和Sg'k。
2.2.2 彩色圖像的提取
在這部分中,彩色圖像的奇異值必須按照公式(11)提?。?/p>
(11)
其中,Sw'k表示彩色圖像的奇異值矩陣。通過奇異值重構(gòu)和反置亂得到完整的彩色圖像。
3 測試與分析
選擇格式為AVI的非壓縮視頻序列,foreman和football作為測試視頻。兩個視頻的幀速率均為25 f/s,幀的數(shù)量分別為100幀和173幀。這些視頻幀的大小均為512×512,嵌入的彩色圖像的大小為64×64。
3.1 不可見性測試
圖像嵌入的關(guān)鍵幀分別從foreman和football中選擇。 然后分別計算這些圖像的平均峰值信噪比。
不可見性測試結(jié)果如圖4所示。foreman和football都用作測試載體。表1列舉了從測試載體中測得的PSNR值。
在算法對比中,本文的算法和算法[13]的測試條件相同。幀速率均為25 f/s,視頻幀的大小為352×288。此外,foreman關(guān)鍵幀的平均峰值信噪比為50.17 dB,而football的另一平均峰值信噪比為50.66 dB,顯示出良好的不可見性。
(a)嵌入前foreman的第56幀 (b)嵌入后foreman的第56幀
(c)嵌入前football的第22幀 (d)嵌入后football的第22幀
從表1中可以看出,本文算法可以確保在一般攻擊下圖像的不可見性。
3.2 魯棒性測試
3.2.1 一般攻擊下的魯棒性測試
一般攻擊下的魯棒性測試結(jié)果見表2所列。
3.2.2 幀攻擊下的魯棒性測試
分別從foreman和football提取一幀后,對這兩個幀進行了一系列攻擊。幀攻擊測試結(jié)果如圖5所示。結(jié)果表明本文方案在抵抗幀攻擊時具有出色的魯棒性。
3.3 存儲質(zhì)量測試
不同格式的圖像對比測試結(jié)果如圖6所示。
通過測試不同格式的圖像可以發(fā)現(xiàn),原始圖像和提取圖像之間幾乎沒有差異,表明本文算法的圖像存儲過程較穩(wěn)定。
4 結(jié) 語
為提升彩色圖像安全存儲的質(zhì)量,本文的方案采用了DWT、DCT、SVD多種技術(shù)支持,多次變換和非完全對稱的“存儲-提取”過程。由實驗結(jié)果中的各項指標可看出,本文的方案在不可見性、存儲容量和魯棒性方面均實現(xiàn)了良好效果,但整體上仍有不足,如在方案的預(yù)處理過程中,彩色圖像的大小必須通過人工調(diào)整,因此接下來工作室將構(gòu)造一個自適應(yīng)圖像調(diào)整算法,使本方案能夠更加高效的完成圖像存儲。
參考文獻
[1] Ghosh P, Ghosh R, Sinha S, et al.A Novel Digital Watermarking Technique for Video Copyright Protection[M].Computer Science and Information Technology, 2012:601-609.
[2]熊祥光,王力,王端理.基于提升小波變換和DCT的彩色視頻水印算法[J].計算機應(yīng)用研究, 2013, 30(4): 1191-1193.
[3]石慧,李明楚.安全的變?nèi)萘炕謴?fù)水印方案[J].計算機研究與發(fā)展,2014,51(8): 1715-1726.
[4]張英男,張敏情,鈕可.基于灰色關(guān)聯(lián)分析的H.264/AVC 視頻隱寫算法[J].武漢大學學報(理學版),2014(6):524-530.
[5]吳秋玲,吳蒙.基于小波變換的語音信息隱藏新方法[J].電子與信息學報,2016, 38(4):834-840.
[6]肖振久,孫健,王永濱,等.基于果蠅優(yōu)化算法的小波域數(shù)字水印算法[J].計算機應(yīng)用, 2015,35(9):2527-2530.
[7]劉珊.基于 DCT 域的多重視頻水印算法研究[D].贛州:江西理工大學, 2015.
[8]王方.基于 DCT 變換的彩色圖像水印算法研究[D].武漢:武漢理工大學, 2008.
[9]吳玲玲,張建偉,葛琪.Arnold 變換及其逆變換[J].安微計算機信息, 2010,26(14): 206-208.
[10] Lin S D, Shie S C, Guo J Y.Improving the robustness of DCT-based image watermarking against JPEG compression[J].Computer Standards & Interfaces, 2010, 32(1):54-60.
[11] Ghazy R A, El-Fishawy N A, Hadhoud M M, et al.Performance Evaluation of Block Based Svd Image Watermarking[J].Progress In Electromagnetics Research B, 2008, 8(8): 147-159.
[12]熊祥光,蔣天發(fā),蔣巍.基于整數(shù)小波變換和 SVD 的視頻水印算法[J].計算機工程與應(yīng)用, 2014,50(1):78-82.
[13]毛運柳, 黃東軍.基于 SURF 視頻分割的視頻水印算法[J].計算機工程, 2010, 36(19): 241-243.
[14]李淑芝,晏啟明.基于運動目標子塊分割的視頻零水印算法[J].計算機應(yīng)用與軟件, 2015, 32(4): 191-194.
[15] Chimanna M A, Khot S R.Robustness of video watermarking against various attacks using Wavelet Transform techniques and Principle Component Analysis[C].Information Communication and Embedded Systems (ICICES), 2013 International Conference on.IEEE, 2013: 613-618.