侯志宇,唐向宏,陳宏炳
(杭州電子科技大學(xué)通信工程學(xué)院,浙江杭州310018)
數(shù)字水印技術(shù)則是實(shí)現(xiàn)視頻完整性認(rèn)證的重要手段。根據(jù)水印技術(shù)與數(shù)字視頻編碼系統(tǒng)結(jié)合方式的不同,水印信息的嵌入可分為3種方案:將水印直接嵌入到原始視頻流之中[1,2]、在視頻編碼結(jié)構(gòu)中嵌入水?。?]和在視頻編碼得到的位流中嵌入水?。?],本文討論的算法將采用在原始視頻嵌入水印的方案。文獻(xiàn)1根據(jù)I幀的低頻DCT系數(shù)之間的關(guān)系生成水印認(rèn)證信息,提出了嵌入到I幀的高頻DCT系數(shù)中的認(rèn)證方案。由于只在I幀的DCT高頻系數(shù)區(qū)嵌入水印,對P幀和B幀的攻擊行為會認(rèn)證失敗。文獻(xiàn)2提出通過調(diào)整MPEG視頻中不同8×8DCT塊能量關(guān)系來嵌入水印,這種方法復(fù)雜度高,視頻修改大,且同樣不適用于對B幀P幀的認(rèn)證。文獻(xiàn)3中把I幀特征的認(rèn)證信息以水印的形式嵌入到P幀和B幀的運(yùn)動矢量中。先在I幀嵌入版權(quán)認(rèn)證水印,然后再提取認(rèn)證碼嵌入到P幀、B幀的運(yùn)動矢量,能夠同時實(shí)現(xiàn)對I幀、B幀、P幀的檢測,但其算法運(yùn)算量大,且不能對B幀P幀的攻擊定位。本文將借助YST色彩模式,利用I幀、B幀和P幀之間的關(guān)系,分別在I幀、B幀和P幀嵌入脆弱水印,探討彩色視頻的完整性認(rèn)證,實(shí)現(xiàn)對被篡改或攻擊的部分的定位。
為降低R/G/B3色成分之間的相關(guān)性,將視頻轉(zhuǎn)換為YST色彩模式。在YST色彩模式中,Y與S之間形成一個52°的夾角,T與Y、S正交,即YS⊥T。RGB轉(zhuǎn)換為YST的線性變換矩陣為[5、6]:
認(rèn)證系統(tǒng)的總體結(jié)構(gòu)如圖1所示。
步驟1——特征水印的生成
特征水印信息生成的具體步驟如下:
(1)將MPEG視頻分幀,提取每一個GOP中的I幀(參考幀)和B、P幀(預(yù)測幀);
(2)根據(jù)I幀分塊DCT變換后的低頻系數(shù)生成水印信息W1,首先將I幀的YST變換量T進(jìn)行4×4分塊,然后對每塊進(jìn)行DCT變換獲得如圖2所示變換系數(shù)。根據(jù)zig-zag掃描,選擇圖2中位置2和3的系數(shù)B2和B3,如果B2>B3記為0,反之,則記為1。這樣就可以得到一個 m×n=N/16的二值矩陣W1;
(3)計算B幀P幀的位置信息W2,作為密鑰;
(4)將W1與W2進(jìn)行異或操作,得到載體特征水印信息W的加密算法。
式中,i表示視頻的第i幀,m和n表示第i幀中DCT變換塊的位置信息,“⊕”表示異或操作。
圖1 認(rèn)證結(jié)構(gòu)圖
步驟2——水印嵌入
具體嵌入規(guī)則如下:
根據(jù)這個規(guī)則,水印的嵌入具體有4種情況,分別為:
由此可見當(dāng)W=0時,修改后的DCT矩陣中奇數(shù)個數(shù)為偶數(shù);當(dāng)W=1時,修改后的DCT矩陣中奇數(shù)個數(shù)為奇數(shù)。因此,水印嵌入步驟為:
(1)根據(jù)I幀低頻系數(shù)以及B幀P幀位置信息生成水印W;
(2)確定DCT變換塊內(nèi)最后一個不為0的系數(shù),則該系數(shù)位為水印嵌入位置;
(3)計算取整后DCT變換塊內(nèi)奇數(shù)的個數(shù),根據(jù)嵌入規(guī)則,對嵌入位置的DCT系數(shù)進(jìn)行嵌入操作。
步驟3——水印提取與視頻完整性認(rèn)證
水印的提取是水印嵌入的逆過程,其步驟。
(1)重新生成特征水印信息Wa。Wa與W的生成過程一樣,由于水印的嵌入位置在中高頻系數(shù)區(qū),不改變系數(shù)B2與B3之間的大小關(guān)系,在無攻擊的情況下,Wa與W是一樣的。
(2)提取嵌入的脆弱水印。根據(jù)步驟2中的分析,當(dāng)DCT矩陣中奇數(shù)個數(shù)為偶數(shù)時,We=0;當(dāng)奇數(shù)個數(shù)為奇數(shù)時,We=1,即:
式中,We是提取出來的水印信息,大小為m×n。
(3)完整性認(rèn)證與篡改位置的定位。將Wa與We做比較,計算錯誤率式為:
對比Wa與We,當(dāng)Wa=We時,所對應(yīng)塊中的象素記為0,否則記為1,得到一個二值圖像,圖像中象素為1的部分就是遭篡改位置。
實(shí)驗(yàn)中選擇Children(每幀大小為352×288,共41幀)、Dream(每幀大小為352×288,共300幀)標(biāo)準(zhǔn)測試序列。如圖3所示為Children第16幀(參考幀)和第25幀(預(yù)測幀)圖像在加入水印前后的對比效果。從圖3中可以看出,加入水印前后的圖像在視覺上沒有差異,較好保證視覺質(zhì)量,滿足了水印不可見性的原則。
圖3 水印嵌入對比圖
為了檢驗(yàn)本算法的脆弱性,對于加入水印后的視頻分別進(jìn)行隨機(jī)噪聲,椒鹽噪聲和MPEG壓縮等攻擊,并與文獻(xiàn)2的算法進(jìn)行對比。如圖4所示為在不同攻擊情況下的認(rèn)證結(jié)果(第16幀圖像,參考幀),其中白色部分為遭篡改位置。可以看出兩種算法在無攻擊狀態(tài)下的水印圖像認(rèn)證的錯誤率為0,保證了完整性認(rèn)證的準(zhǔn)確性。而在加噪的攻擊方式下,本文算法的認(rèn)證錯誤率要大于文獻(xiàn)2的算法,認(rèn)證效果更好。對于重壓縮的攻擊,由于文獻(xiàn)2是半脆弱水印,對重壓縮攻擊有一定抵抗性,而本文算法是脆弱性水印,故兩者的認(rèn)證差別較大,但其認(rèn)證功能均可實(shí)現(xiàn)。如圖5所示為含水印視頻隨著不同的壓縮質(zhì)量水印錯誤率的檢測情況。從圖5中可以看出,隨著壓縮質(zhì)量的提高,水印檢測的錯誤率會逐漸減小。
圖4 兩種方法的攻擊檢測對比
圖5 水印錯誤率隨壓縮質(zhì)量變化曲線
如圖6、7所示為測驗(yàn)本算法對篡改的區(qū)域的定位能力,篡改定位圖中的白色部分為定位到的篡改區(qū)域。從圖6、7中可以看出,在對I幀篡改檢測定位中,兩種算法對于攻擊篡改都有良好的敏感性,但是對于篡改位置的定位精度,本算法明顯精度較高,同時本算法對于預(yù)測幀的篡改定位同樣有效。
圖6 I幀篡改定位檢測
圖7 B幀篡改定位檢測
本文利用YST模型中T分量與YS分量之間的弱相關(guān)性,提出了一種結(jié)合YST顏色空間轉(zhuǎn)換的DCT變換域脆弱水印嵌入算法。利用DCT變換中低頻系數(shù)的穩(wěn)定性生成認(rèn)證水印,將水印嵌入到DCT的高頻系數(shù)中。仿真實(shí)驗(yàn)結(jié)果表明,本方案能夠有效地檢測出對視頻的一些常規(guī)攻擊,并能定位遭篡改位置,滿足視頻完整性的認(rèn)證要求。在保證嵌入容量的前提下,提高了視頻的視覺質(zhì)量。
[1] 王美華,裴慶祺,范科峰.基于脆弱水印的H.264視頻完整性認(rèn)證方案[J].西安電子科技大學(xué)學(xué)報,2007,34(5):823-826.
[2] 施化吉,翁正鈴,李星毅.基于MPEG I/Ⅱ視頻內(nèi)容認(rèn)證的半脆弱水印方案[J].計算機(jī)工程,2006,32(14):160-162.
[3] 楊高波,李俊杰,王小靜,等.基于脆弱水印的H.264視頻流完整性認(rèn)證[J].湖南大學(xué)學(xué)報,2009,36(6):67-71.
[4] 李汶隆,楊浩欽,李錄明.基于脆弱水印的錯誤檢測技術(shù)在H.264中的應(yīng)用[J].電子設(shè)計應(yīng)用,2006,(11):98-100.
[5] Francesco Benedetto,Gaetano Giunta,Alessandro Neri.A New Color Space Domain for Digital Watermarking in Multimedia Applications[C].Rome:Image Processing,2005:249 -252.
[6] Hamad Hassan M,Gilani SAMA.Fragile Watermarking Scheme for Color Image Authentication[J].World Academy of Science Engineering and Technology,2006,(19):39 -43.