陳善學(xué),漆若蘭,唐義嫄
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)(*通信作者電子郵箱2461976965@qq.com)
數(shù)字水印可分為魯棒性水印[1-2]和脆弱性水印[3-5]兩種,但這兩種水印存在功能單一的問(wèn)題,因此學(xué)者們研究在同一幅圖像中嵌入多個(gè)水印,以擴(kuò)展水印系統(tǒng)功能。文獻(xiàn)[6]提出了一種基于離散余弦變換(Discrete Cosine Transform, DCT)和糾錯(cuò)碼的彩色多重水印方法,選擇視覺(jué)感知較弱的綠、藍(lán)色分量作為嵌入域,透明性良好,但對(duì)JPEG壓縮的魯棒性不足。文獻(xiàn)[7]提出了基于遺傳算法的多重水印算法,利用遺傳算法優(yōu)化水印嵌入強(qiáng)度,可較好平衡透明性和魯棒性,但復(fù)雜度較高。文獻(xiàn)[6]和文獻(xiàn)[7]的算法均嵌入多個(gè)魯棒性水印,擴(kuò)展了多個(gè)用戶(hù)的版權(quán)保護(hù)功能,但實(shí)際運(yùn)用中也需要水印系統(tǒng)兼具版權(quán)保護(hù)和篡改檢測(cè)的功能,因而魯棒性水印與脆弱水印相結(jié)合的多功能水印算法也獲得了較多關(guān)注。文獻(xiàn)[8]由YCrCb顏色空間的Y分量作離散小波變換(Discrete Wavelet Transform, DWT),將低頻子圖進(jìn)行量化后嵌入水印,用修改的低頻子圖替換高頻子帶的方式完成魯棒性水印嵌入,再分通道利用3進(jìn)制改進(jìn)的最低有效位算法嵌入脆弱水印;但魯棒性水印對(duì)濾波攻擊的魯棒性較弱,且脆弱水印無(wú)法實(shí)現(xiàn)完全盲檢測(cè)。文獻(xiàn)[9]的魯棒性算法對(duì)YCrCb顏色空間的Y分量利用Surf算子提取圖像穩(wěn)定的特征作零水印以保護(hù)作品版權(quán),脆弱水印算法則將Y分量分塊進(jìn)行奇異值分解(Singular Value Decomposition, SVD),提取最大奇異值生成特征水印后嵌入空域最低有效位(Least Significant Bit, LSB),可實(shí)現(xiàn)脆弱水印的完全盲檢測(cè),但對(duì)色度分量的篡改不敏感。
以上所述算法中魯棒性水印嵌入方式可簡(jiǎn)單分為基于多通道方式[6-7]和基于單通道方式[8-9],本質(zhì)都是基于灰度圖像的處理方式,沒(méi)有充分考慮彩色圖像各通道間的關(guān)聯(lián)性和整體性。四元數(shù)具有優(yōu)秀的通道關(guān)聯(lián)性,相比傳統(tǒng)分通道的處理方式,更有利于透明性和魯棒性的結(jié)合[10],因而基于四元數(shù)的魯棒性水印成為一個(gè)研究熱點(diǎn)[11-14]。但目前基于彩色圖像的脆弱水印算法研究比較少,針對(duì)彩色圖像的自嵌入式脆弱水印除了文獻(xiàn)[9]所采用的單通道處理方式,還有采用各通道獨(dú)立計(jì)算特征脆弱水印后再嵌入各自通道的方法[3,5],這些方法對(duì)各個(gè)通道的篡改檢測(cè)是相互獨(dú)立的,忽視了各色彩通道間的內(nèi)在聯(lián)系,不能有效定位分色篡改,且特征脆弱水印需要重復(fù)計(jì)算,增加了計(jì)算復(fù)雜度。鑒于此,提出一種基于DWT和四元數(shù)離散余弦變換(Quaternion Discrete Cosine Transform, QDCT)的彩色圖像多功能水印算法。該算法主要是利用多變換域提升魯棒性的同時(shí)引入四元數(shù)改善透明性,將魯棒水印嵌入由DWT-QDCT構(gòu)成的混合變換域中以保護(hù)作品版權(quán);再利用QDCT低頻模值系數(shù)產(chǎn)生特征脆弱水印,因四元數(shù)能關(guān)聯(lián)各個(gè)通道,任意通道的修改都可被特征脆弱水印感知,增加了特征水印的脆弱性,且僅需提取一次特征脆弱水印嵌入空域LSB,降低了復(fù)雜度。
超復(fù)數(shù)包括一個(gè)實(shí)部和多個(gè)虛部,包括四元數(shù)、八元數(shù)、十六元數(shù)等。四元數(shù)是超復(fù)數(shù)中最簡(jiǎn)單和最常見(jiàn)的一種類(lèi)型,由一個(gè)實(shí)部和三個(gè)虛部構(gòu)成,其定義則如下:
q=q1+q2i+q3j+q4k
(1)
其中:q1、q2、q3、q4是實(shí)數(shù);i、j、k是虛數(shù)運(yùn)算符,它們滿(mǎn)足如式(2)所示的Hamilton規(guī)則:
ij=k, jk=i, ki=j, ji=-k, kj=-i, ik=-j
(2)
彩色圖像常用色模型多數(shù)是3個(gè)通道,如RGB、YCrCb等。利用四元數(shù)的3個(gè)虛部系數(shù)可將彩色圖像描述為一個(gè)矢量。對(duì)任意一幅大小為M×N的RGB彩色圖像f的四元數(shù)描述為:
f(m,n)=0+R(m,n)i+G(m,n)j+B(m,n)k
(3)
式中:R(m,n)、G(m,n)和B(m,n)分別表示RGB彩色空間的紅色、綠色和藍(lán)色分量的像素值。彩色圖像四元數(shù)離散余弦左變換定義為:
(4)
四元數(shù)離散余弦逆變換(Quaternion Discrete Cosine Inverse Transformation, IQDCT)定義為:
(5)
其中C(p,s)為在變換域(p,s)處的四元數(shù)系數(shù),如式(6)所示:
C(p,s)=Cr(p,s)+Ci(p,s)i+Cj(p,s)j+Ck(p,s)k
(6)
(7)
(8)
(9)
關(guān)于QDCT的實(shí)現(xiàn),Cayley Dickson定理給出了用兩個(gè)復(fù)數(shù)構(gòu)造一個(gè)四元數(shù)的方法,因此QDCT的實(shí)現(xiàn)可以利用Clay Dickson形式在現(xiàn)有離散余弦變換的基礎(chǔ)上進(jìn)行設(shè)計(jì),具體步驟如下:
1)對(duì)給定的四元數(shù)矩陣f(m,n),將其轉(zhuǎn)化為Cayley Dickson形式:f(m,n)=h1(m,n)+h2(m,n)j,其中h1(m,n)和h2(m,n)均為普通復(fù)數(shù)矩陣。
2)分別計(jì)算h1(m,n)和h2(m,n)的離散余弦變換,即有C(p,s)=DCT(h1(m,n))+DCT(h2(m,n))j。
3)將C(p,s)乘以四元數(shù)因子u得到四元數(shù)離散余弦變換結(jié)果,C′(p,s)=u·C(p,s)。
任意n×m維矩陣DCT的計(jì)算復(fù)雜度為ODCT2[2mnlbn+2mnlbm],因此等大小四元數(shù)矩陣的QDCT結(jié)果可以看作兩個(gè)普通復(fù)數(shù)的DCT之和,此時(shí)QDCT的計(jì)算復(fù)雜度可為OQDCT2[4mnlbn+4mnlbm]。顯然,QDCT和DCT的計(jì)算復(fù)雜度屬于同一量級(jí),漸進(jìn)時(shí)間復(fù)雜度都為O[mnlb[max(m,n))]。由此可見(jiàn),雖然四元數(shù)的運(yùn)算本身比較復(fù)雜,但是利用Cayley Dickson形式實(shí)現(xiàn)QDCT,可簡(jiǎn)化計(jì)算復(fù)雜度。
離散小波變換(DWT)可將圖像分解為低頻子帶、高頻子帶和兩個(gè)中頻子帶(垂直子帶和水平子帶)。低頻子帶和中頻子帶聚集圖像的多數(shù)能量,水印嵌入其中將獲得良好的魯棒性,但對(duì)圖像質(zhì)量的影響較大。
四元數(shù)離散余弦變換(QDCT)可將彩色圖像的3個(gè)通道作為一個(gè)整體進(jìn)行計(jì)算,產(chǎn)生對(duì)應(yīng)大小的4維頻域空間,數(shù)字水印嵌入頻域?qū)嵅肯禂?shù),引起的誤差將同時(shí)擴(kuò)散到彩色圖像的3個(gè)通道,因此利于提升算法的透明性和魯棒性。
本文魯棒性水印算法的設(shè)計(jì)結(jié)合了DWT的多尺度頻率分解特性,以及QDCT具有改善算法透明性的優(yōu)點(diǎn)和魯棒性。先將彩色載圖f分通道置亂后進(jìn)行DWT,再選擇低、中頻子帶作分塊QDCT,然后使用實(shí)部系數(shù)構(gòu)建一個(gè)系數(shù)矩陣,最后將魯棒水印嵌入系數(shù)矩陣的奇異值中。
設(shè)彩色載圖F大小為M×N,二值水印圖像W大小為l×l,具體嵌入步驟如下:
2)置亂后的各色彩分量進(jìn)行一級(jí)DWT,將各色分量的低頻子帶、水平子帶和垂直子帶按式(1)描述為純四元數(shù)矩陣,得到四元數(shù)低頻子帶LLq、四元數(shù)水平子帶HLq和四元數(shù)垂直子帶LHq。
3)將四元數(shù)頻率子帶LLq、HLq和LHq分別進(jìn)行8×8不重疊分塊,每個(gè)子塊進(jìn)行QDCT,并提取實(shí)數(shù)矩陣:
(10)
(11)
5)系數(shù)矩陣E作SVD,得左右酉矩陣U和V以及奇異值矩陣S。將置亂水印W′嵌入奇異值矩陣S,如式(12)所示:
SW=S+δW′
采用SPSS18.0系統(tǒng)軟件統(tǒng)計(jì)分析資料;兩組患者ICU天數(shù)、住院天數(shù)、器官支持天數(shù)以及不同時(shí)間段炎癥指標(biāo)變化情況其中計(jì)量資料用(±s)表示,并用t檢驗(yàn);兩組患者不良反應(yīng)發(fā)生率其計(jì)數(shù)資料用(n,%)表示,并用X 2檢驗(yàn);P<0.05表示有統(tǒng)計(jì)學(xué)意義。
(12)
(13)
至此,水印嵌入系數(shù)矩陣。矩陣U′、V′和S保存為密鑰key5、key6、key7。特別說(shuō)明,置亂水印W′與S矩陣大小必須一致,若不一致,W′以補(bǔ)零方式擴(kuò)展至與S矩陣維度一致。
1)以密鑰key1、key2、key3、key4中對(duì)應(yīng)初值利用Logistic-sine混沌系統(tǒng)將含水印彩色載圖F*的三個(gè)色彩分量分別進(jìn)行置亂。
3)與嵌入步驟一致,將所有四元數(shù)頻率子帶進(jìn)行分塊QDCT,提取實(shí)部矩陣的對(duì)應(yīng)系數(shù)構(gòu)造系數(shù)矩陣E*。
(14)
(15)
5)由key1利用Logistic-sine混沌系統(tǒng)生成索引表將W*解密,再進(jìn)行二值轉(zhuǎn)換,即得提取的水印。
3)將第k子塊對(duì)應(yīng)的幅值系數(shù)|CF(1,1)|k取整,再進(jìn)行十進(jìn)制轉(zhuǎn)二進(jìn)制,得二進(jìn)制序列ξk:
ξk=dec2bin(floor(|CF(1,1)|k))
(16)
5)脆弱水印WEk分別嵌入第k塊子塊的R、G、B通道最低有效位:
(17)
再將子塊按序重新組合即可得到嵌入脆弱水印和魯棒水印的彩色圖像F″。
3)篡改檢測(cè)將分為兩級(jí)判斷。
(18)
(19)
(20)
虛警率分析:虛警率即是子塊未發(fā)生篡改但被檢測(cè)為已篡改子塊的概率。本文所提脆弱水印是一類(lèi)自嵌入式完全脆弱水印算法,在子塊未曾受到惡意篡改的情況下,無(wú)論特征脆弱水印還是LSB提取的水印,都與原始水印完全一致,因此虛警率PFA=0。
本文實(shí)驗(yàn)的仿真平臺(tái)為Matlab 2014a,計(jì)算平臺(tái)是Core i5-4200U處理器,主頻2.3 GHz,內(nèi)存4 GB。
采用峰值信噪比(Peak Signal-to-Noise Ratio, PSNR)評(píng)價(jià)水印嵌入后對(duì)測(cè)試圖像的影響,PSNR值越高,水印對(duì)圖像質(zhì)量的影響越小,即透明性越好。為檢驗(yàn)所提算法的透明性,用3幅大小為512×512的標(biāo)準(zhǔn)RGB彩色圖像作為測(cè)試圖像,包括Lena、Baboon、Pepper,分別如圖1(a)~(c)所示;選擇大小為64×64的二值圖像以伸縮因子a=0.45嵌入測(cè)試圖像,得含水印的圖像如圖1(d)~(f)所示。由圖1對(duì)比發(fā)現(xiàn),嵌入水印后圖像的失真很小,視覺(jué)效果基本無(wú)差別。
圖1 原始圖像和含水印圖像
由表1所示,單獨(dú)嵌入脆弱水印時(shí),PSNR值大約為51 dB,對(duì)載圖的圖像質(zhì)量影響很??;嵌入雙水印后測(cè)試圖像的PSNR值約為43 dB,因此引起圖像質(zhì)量下降的主要因素是魯棒性水印。與文獻(xiàn)[8]的雙水印算法比較,因?yàn)槲墨I(xiàn)[8]采用Y分量作嵌入?yún)^(qū)域,誤差集中在亮度通道,對(duì)圖像質(zhì)量影響較大;而本文算法采用分通道置亂和四元數(shù)理論結(jié)合,將誤差擴(kuò)散,避免誤差集中于視覺(jué)敏感區(qū),因此本文算法的透明性?xún)?yōu)于文獻(xiàn)[8]算法。
表1 幾種方法的透明性比較
因魯棒性水印和脆弱水印的分工各有不同,綜合兩種水印的特點(diǎn),選擇先嵌入魯棒性水印再嵌入脆弱水印。如表1透明性分析可知,脆弱水印對(duì)圖像質(zhì)量影響小,為進(jìn)一步了解脆弱水印的嵌入對(duì)魯棒性水印的影響,分別從含單水印和含雙水印的載圖提取魯棒性水印,如圖2所示。使用歸一化相關(guān)系數(shù)(Normalized Correlation,NC)評(píng)估提取水印與原始水印的相似度,以檢驗(yàn)算法的魯棒性。兩種情況下載圖中提取的魯棒性水印與原始水印NC值都為1,可見(jiàn)脆弱水印對(duì)魯棒性水印的影響較小,幾乎可以忽略。
圖2 脆弱水印對(duì)魯棒性水印的影響
將本文算法與文獻(xiàn)[1]和文獻(xiàn)[8]的算法進(jìn)行對(duì)比,其中,文獻(xiàn)[1]算法是一種基于DWT_DCT_SVD的魯棒性水印算法,選擇圖像的DWT域中頻進(jìn)行分塊DCT,水印利用重復(fù)嵌入方式嵌入奇異值中,提取水印時(shí)先通過(guò)幾何校正算法校正載圖。進(jìn)行多種攻擊實(shí)驗(yàn)檢驗(yàn)算法的魯棒性,實(shí)驗(yàn)類(lèi)型與實(shí)驗(yàn)結(jié)果如表2~4所示。
JPEG壓縮是基于DCT域的壓縮方法,而本文算法與對(duì)比算法均采用DWT域作為嵌入域,因此魯棒性受到一定影響。由表2所示,雖然各算法的NC值均隨著壓縮因子的遞減而減小,但是本文算法的遞減趨勢(shì)相對(duì)較緩,且壓縮因子為30%時(shí),本文算法對(duì)應(yīng)的NC值仍保持在0.9以上,因此本文算法具有良好的抗JPEG壓縮能力。
表2 JPEG壓縮下原始水印與提取水印的NC值
如表3所示,即使遭受?chē)?yán)重的攻擊,采用本文算法提取的水印與原始水印的NC值多數(shù)情況下接近1;但當(dāng)濾波窗口設(shè)置為8×8時(shí),提取水印的NC值約0.8,因?yàn)榇藭r(shí)蘊(yùn)含部分圖像細(xì)節(jié)的中頻子帶受到一定影響,導(dǎo)致提取水印的質(zhì)量不理想,不過(guò)NC值仍大于0.75這個(gè)臨界值,依然可實(shí)現(xiàn)版權(quán)保護(hù)。通過(guò)對(duì)比本文算法與文獻(xiàn)[1]和文獻(xiàn)[8]的算法提取水印與原始水印的NC值發(fā)現(xiàn),本文算法與文獻(xiàn)[1]算法因采用了多變域的方式,結(jié)合各個(gè)變換域的優(yōu)點(diǎn)使得提取水印的NC值優(yōu)于只采用DWT嵌入水印方式的文獻(xiàn)[8]算法。文獻(xiàn)[1]算法因采用冗余嵌入使得算法在抗擊濾波方面表現(xiàn)比本文算法好,又因?yàn)槔肅anny算子提取的旋轉(zhuǎn)圖片邊界,將圖片進(jìn)行校正,提高了抗旋轉(zhuǎn)能力。本文算法采用R、G、B通道用不同初值進(jìn)行了混沌置亂,利于誤差在通道內(nèi)擴(kuò)散,減小了分塊的實(shí)數(shù)系數(shù)受到的影響,改善了算法的抗剪切能力。又因?yàn)樗脑獢?shù)離散余弦變換可將誤差進(jìn)一步在各通道間擴(kuò)散,在相同透明度的情況下,水印嵌入強(qiáng)度比文獻(xiàn)[1]算法要高,因此本文算法的抗椒鹽噪聲、高斯噪聲和對(duì)比度調(diào)節(jié)的能力優(yōu)于文獻(xiàn)[1]算法。綜合以上分析,本文算法具有良好的抗椒鹽噪聲、高斯噪聲、濾波、對(duì)比度調(diào)節(jié)等信號(hào)處理常見(jiàn)攻擊性能,在剪切和旋轉(zhuǎn)攻擊下也具有良好的魯棒性。
表3 常規(guī)攻擊下原始水印與提取水印的NC值
傳輸和應(yīng)用過(guò)程中,載圖除了受到某單一攻擊外,還可能遭受多種攻擊,而且在實(shí)際生活中受到多種攻擊的情況較為常見(jiàn),因此魯棒性水印應(yīng)該具有抗擊組合攻擊的能力。為檢驗(yàn)所提算法的抗組合攻擊的能力,進(jìn)行壓縮與椒鹽噪聲、剪切與椒鹽噪聲、旋轉(zhuǎn)與高斯噪聲以及高斯噪聲與中值濾波的混合攻擊測(cè)試。圖3給出Lena遭受攻擊的受攻擊圖像、提取的水印以及NC值。由圖3可知,在遭受以上四種混合攻擊時(shí),含雙水印載圖的視覺(jué)效果變差,但是提取的水印比較清晰,NC值仍然大于0.99,因而在多種混合攻擊下本文算法仍然具有較好的魯棒性。
本文算法的脆弱水印設(shè)計(jì)初衷是利用含魯棒性水印的圖像中提取的特征脆弱水印,自嵌入空域LSB,以實(shí)現(xiàn)對(duì)惡意篡改的檢測(cè)和定位。以Lena為測(cè)試圖像,提取的特征脆弱水印還原成512×512大小,如圖4所示。將含雙水印的Lena圖進(jìn)行篡改,用本文所提算法進(jìn)行篡改檢測(cè)和定位,將確定篡改的區(qū)域用白色標(biāo)記,未被篡改區(qū)域用黑色標(biāo)記,實(shí)驗(yàn)結(jié)果如圖5所示。
圖3 混合攻擊下魯棒性測(cè)試結(jié)果
圖4 特征脆弱水印
1)分色篡改:圖5(a)是在含雙水印的Lena圖B分量的左上角疊加一個(gè)大小為128×128的二值圖的篡改圖及其定位圖。其中二值圖如圖6所示,該二值圖由0和1組成,在值為0處未對(duì)圖Lena真正改動(dòng),因此在篡改定位圖中只標(biāo)出由值1導(dǎo)致的篡改。圖5(b)則是B分量在(200:400, 200:400)處的像素值疊加20的篡改圖及其定位圖,雖然只在B分量上疊加20對(duì)LSB沒(méi)有改動(dòng),但是對(duì)特征脆弱水印有影響,因此能準(zhǔn)確定位出篡改位置。結(jié)合圖5(a)、(b)來(lái)看,即使不宜察覺(jué)的篡改,仍然能被本文算法檢測(cè)并進(jìn)行定位,因此本文算法具有精確的分色篡改的定位能力。
2)剪切篡改:圖5(c)是含雙水印的Lena圖剪切位置在(110:235, 110:235)處的像素值的篡改圖,可以看出本文算法具有精確的剪切篡改的定位能力。
3)粘貼-替換篡改:將圖1(a)中的帽尾截取部分粘貼到含雙水印的Lena圖中,圖5(d)即為此時(shí)的篡改圖及其定位圖,可以看出此時(shí)可以精確地定位篡改位置。而圖5(e)為含雙水印的Lena圖面部遭到替換時(shí)的篡改圖及其定位圖,此時(shí)的篡改部分也被精確定位。圖5(f)為在含雙水印的Lena圖上多次添加文字image的篡改圖及其定位圖,可以看出本文算法可精確定位到添加的文字。
圖5 篡改圖像及定位結(jié)果
圖6 “數(shù)字水印”的二值圖
本文的多功能水印算法中涉及了魯棒性水印和脆弱性水印的設(shè)計(jì),其中基于QDCT的自嵌入脆弱水印算法可避免重復(fù)提取特征脆弱水印,簡(jiǎn)化計(jì)算過(guò)程。為了分析對(duì)比該脆弱水印與文獻(xiàn)[5]算法的計(jì)算復(fù)雜度的差別,以大小為512×512的彩色載圖為例,這兩個(gè)水印算法對(duì)應(yīng)的矩陣操作所需浮點(diǎn)運(yùn)算量的估計(jì)如下:
文獻(xiàn)[5]算法浮點(diǎn)運(yùn)算量的漸近估計(jì)的復(fù)雜度為
估計(jì)值為5 013 504。
本文算法浮點(diǎn)運(yùn)算量的漸近估計(jì)的復(fù)雜度為
4mnlbn)+OXOR(m×n)]+
估計(jì)值為3 276 800。
其中:OLSB為最低有效位置零的復(fù)雜度,OQDCT為QDCT的計(jì)算復(fù)雜度,OXOR為進(jìn)行異或的復(fù)雜度,Oembend為嵌入算法復(fù)雜度。其中文獻(xiàn)[5]算法分通道4×4分塊DCT,以直流分量產(chǎn)生特征水印再自嵌入對(duì)應(yīng)通道LSB。文獻(xiàn)[5]算法需要重復(fù)三次提取特征水印,計(jì)算重復(fù)度較高,而本文脆弱水印算法利用四元數(shù)方法提取特征水印,可以有效降低計(jì)算的重復(fù)度,提高計(jì)算效率。與文獻(xiàn)[5]算法相比,本文脆弱水印算法的浮點(diǎn)運(yùn)算量減少了約35%,因此本文脆弱水印算法的復(fù)雜度較低。
本文結(jié)合DWT和QDCT各自?xún)?yōu)點(diǎn),提出一種基于多變換域的的彩色圖像多功能水印算法。該算法將分通道的DWT和QDCT相結(jié)合,增強(qiáng)了魯棒水印的魯棒性和透明性。QDCT引入到脆弱水印中,使得特征脆弱水印與各個(gè)色彩通道的像素值聯(lián)系緊密,任何色彩分量像素值的改變都將直接影響定位結(jié)果,相比傳統(tǒng)自嵌入方法,不需重復(fù)提取特征脆弱水印,縮短了時(shí)間開(kāi)銷(xiāo)。實(shí)驗(yàn)結(jié)果表明,所提多功能算法具有良好的透明性和魯棒性,且具有精確的篡改定位功能。