謝金寶,隋愛娜
(中國傳媒大學計算機學院,北京 100024)
近年來,隨著信息技術的快速發展,多媒體產品特別是圖像、視頻等數字化產品大量涌現。各種問題接踵而至,多媒體產品被非法篡改,隨意復制傳播的現象時有發生,危害著版權所有者的合法權益。因而在通信和互聯網領域,如何有效保護知識產權是一個重要的研究領域。
數字水印技術是指在載體中加入一些標示信息,同時不影響原載體內容的信息隱藏技術[1],自提出以來已經成為數字產品版權保護的重要手段。
基本思路就是在圖片、音頻、視頻等多媒體文件中加入一些版權相關信息,在必要的時候為版權所有人提供證據。
數字水印技術主要分為空域水印和頻域水印。由于頻域水印具有更好的魯棒性和抗攻擊性,在數字圖像領域得到大量的應用,具有非常好的研究基礎[1]。現在視頻水印技術更多的是借鑒圖像水印技術的研究成果,但沒有更好地利用視頻序列的時間相關性。本文就是為更好地利用視頻時間特性有效地嵌入水印提供一種可行方案。
視頻水印技術是一種針對數字視頻載體的時間冗余和空間冗余加入信息,既不影響視頻質量,又能用于版權保護和內容完整性檢驗的水印技術[2]。
視頻水印技術根據與視頻編碼系統的結合方式不同,可以分為基于原始視頻的嵌入方法和基于壓縮域視頻的嵌入方法[3]〗。
現有的視頻水印研究主要集中在基于原始視頻的嵌入方法上,也就是基于視頻完全解碼的基礎上。
在H.264壓縮碼流中嵌入水印信息時,由于壓縮碼流中并不攜帶圖像信息,而是以殘差圖像和運動矢量的形式存在。因而在原始視頻圖像中嵌入水印,需要在視頻數據被完全解碼后進行。
H&G算法是視頻壓縮域水印算法,該算法直接針對已編碼的視頻壓縮碼流嵌入水印,在設計策略上只需進行部分解碼,無需進行完全視頻解碼再嵌入水印這一復雜過程。這一算法因為節省了硬件資源實現成本更低等優點,對現有數字視頻產品的版權保護具有重要的實用價值,但該算法受到相應視頻壓縮算法和視頻編碼標準的局限[4-5]。H&G算法當初設計是針對MPEG2視頻壓縮標準的,并不完全適用于H.264視頻壓縮標準。
本文首先改進H&G算法,使其適用于H.264壓縮碼流;然后通過選擇合理的水印嵌入位置,提升水印的性能。本文的改進方法可以在保證視頻質量不受影響的前提下,增加水印容量,進而使視頻水印有更好的魯棒性。
視頻序列是大量連續運動圖像的集合,由于前后圖像在時間上存在大量的冗余信息,考慮在此基礎上壓縮圖像實現壓縮編碼。對于視頻序列,根據幀的作用分為I、P和B三種幀類型,在H.264中還有SP和SB兩種用于動態碼率的切換。
I幀也就是關鍵幀,在編解碼時不參考其他幀圖像,只使用幀內預測模式。GOP組是視頻序列中的一組幀序列,同一個GOP組幀只參考本組幀,不同的GOP組互不干擾。I幀可以被單獨解碼,可以認為是一個GOP組中最原始的參考幀[6];P幀在編碼解時使用單向前向幀間預測,參考前邊的I或P幀,根據被參考幀計算運動矢量;B幀在編解碼時使用雙向幀間預測,同時參考前向和后向的幀,可以達到更好的壓縮效率。
H&G算法是最先由Frank Hartung和Bernd Girod提出的一種可以將水印信息直接嵌入到碼流中的方法。此算法不需要考慮編解碼過程,從碼流中找到DCT系數嵌入水印信息,然后重新編碼回去。速度極快,且不會改變原有碼流的結構[5]。
此算法適用于I幀中攜帶視頻原始數據的壓縮流,但H.264壓縮碼流I幀中并不攜帶原始視頻信息,為使該算法適用于H.264壓縮碼流,在嵌入水印時仍然需要完全解碼H.264壓縮碼流中的I幀。
H&G算法可以嵌入的水印容量有限,因非參考幀運動矢量沒有做相應改變容易造成運動圖像的偏移,影響視頻質量。本文通過選擇嵌入位置,在一定程度上提升水印的嵌入容量。
本文具體思路:
1)分析I幀后續P幀和B幀的運動矢量,做統計和分析。通過分析后續P幀和B幀的運動矢量指向,選擇運動矢量指向較少的I幀宏塊嵌入水印,這樣可以對后續P幀和B幀造成較小的影響。首先對于P幀和B幀運動矢量做統計。
表1是針對高清和標清兩種分辨率視頻運動矢量的統計結果,分析數據發現多個宏塊指向一個關鍵幀宏塊的比例較小,在skip模式下宏塊的編碼采用直接編碼的方式,不用經過任何的編碼預測和變換,可以直接嵌入水印,并且有很好的效果。而大多數的宏塊沒有發生運動矢量的偏移,或者偏移時影響的范圍有限。

表1 關鍵幀運動矢量被后續P和B幀指向的數目
2)由于P幀宏塊中,也可以采用幀內預測的方式。在考慮幀間預測的同時考慮P幀幀內預測,選擇被指向較少的關鍵幀宏塊。
3)對于直接預測方式和skip方式的宏塊,由于其采用直接編碼的方式,可以嵌入水印。
圖1為水印嵌入流程。
1)對于一個具體的視頻流E,解碼I幀。得到I幀的所有圖像信息一個二維圖像像素矩陣Yij。
2)解碼該I幀的后續PBBPBB六幀,得到并分析其運動矢量。由于距離該I幀的距離不同,距離越遠I幀對其參考價值越低,同時B幀還要參考后續幀,權值適度降低。因而按照100:50:50:75:25:25的權值統計其運動矢量的指向,得到一個指向矩陣Eij。
3)尋找指向矩陣Eij中最小的幾項,即運動矢量指向較少的I幀宏塊。得到將要嵌入水印的I幀宏塊的下標為ij。
4)根據I幀宏塊的下標ij,找到I幀圖像像素矩陣中的對應位置ij,對該像素宏塊做DCT(離散余弦變換),得到其變換后的系數Xij。

圖1 水印嵌入流程
5)嵌入水印信息時,水印信息用DCT系數的相對大小關系體現,具體方法如下:
(1) 將水印信息(文字或者圖片)變成01序列,Wi,為保證一定的提取成功率,將次序列擴頻10次
(2)對要嵌入的宏塊像素做DCT變換,選取中頻系數。綜合考慮水印的魯棒性和不可見性,選擇中頻系數比較好。
(3) 對于I幀中的i行,j列宏塊,其變換域系數為一個16x16的矩陣,我們用Dij來表示:
如果Dij>Dji且當時水印序列 Wk=1 則 交換 Dij與Dji的位置
如果Dij 我們對上述方法的實驗結果進行分析,在使用選擇方案進行宏塊選擇和隨機選擇宏塊兩種方法之間進行比較分析,使用相同的水印算法。因為隨機選擇的隨機性,在不使用本文所提方法嵌入水印時,多次選擇不同的塊,比較其效果。 首先從嵌入速度上進行分析,x264是一個由開源社區維護和開發的H.264壓縮標準的高效編碼器。在不考慮硬件加速條件下,被認為是目前最好的264編碼器。首先看在x264編碼器中,各個部分所占的時間比例。從理論上分析,本方法在速度上的提升。 圖2 x264編碼中各部分所占時間比 圖2為x264編碼主要功能模塊,filter模塊主要完成環路濾波及參數解析;encode模塊完成每幀主要參數的編碼工作;cabac模塊完成殘差數據的壓縮編碼。x264編碼的過程中analyse部分占用大約60%左右的時間,其主要工作是執行運動矢量搜索算法,進行像素插值的計算,選擇最優的預測模式并計算得到運動矢量[7-8]。 對于I幀采用幀內預測模式,宏塊編碼根據最優函數選擇預測模式,根據周圍宏塊計算得到預測值,不需要運動矢量的計算和圖像重建過程。而對于P幀,采用幀間預測來消除視頻序列的時間冗余,需要在對應參考幀的位置執行運動矢量搜索算法,根據最優函數得到最優運動矢量,耗費大量時間。 因此對一幀I幀的編解碼速度要快于編解碼一幀P幀;而對于B幀而言,要進行雙向運動矢量計算,參考圖像的列表較長,需要進行較多的運動矢量估計和計算,要耗費更長時間。 幀內預測模式比較固定,計算量小。P幀和B幀的編碼和運動矢量計算耗費大量編解碼時間。 改進H&G算法應用于H.264后,不需要解碼P幀和B幀,理論上的嵌入速度會加快很多。對于測試視頻我們均選用符合廣電標準的視頻結構,即GOP=50,每個GOP只解碼I幀不解碼P、B幀,節省98%的時間。嵌入過程處理800幀視頻,實際時間如表2所示: 表2 對不同分辨率視頻處理過程的耗時 通過表2可以看出,改進H&G算法后速度比全解全編快3-4倍。遠沒有達到理論值所分析的10倍,甚至20倍。主要原因在于嵌入過程中需要保存I幀大量的數據,涉及大量的內存操作。對于速度上的延遲,主要是因為工程性的原因無法達到理論上的速度。 再者水印的嵌入模塊也在一定的程度上對嵌入過程造成影響,嵌入模塊需要根據宏塊的二維坐標,找到對應宏塊,然后做DCT變換,嵌入水印,之后做IDCT變換,還原代替原來的像素值。 圖3 兩種選擇方案的PSNR對比 圖3中算法一使用本文提出的選擇算法,選擇合適位置嵌入水印;僅為比較實驗效果,在算法二中選擇一半對后續影響小的塊,一半對后續影響大的塊,比較兩者的區別。從數據上看,本文所提方法在嵌入強度增大時PSNR值較大,對圖像質量影響較小,效果較好。 如圖3所示結果,PSNR值雖然不能完全代替嵌入效果,但可以從具體數據及其走勢中看到,嵌入強度帶來的閥值變化。 當水印的嵌入量較小,嵌入強度較小的時候,兩者的區別很小。這是因為水印嵌入量比較小,并沒有對視頻圖像造成實質影響;當逐漸加大水印嵌入量時,改變宏塊的值就會影響到視頻的質量,兩種方法的區別開始出現。 在嵌入大量水印信息時,本文所提方法可以有效的規避對后續宏塊影響較大的宏塊,對嵌入位置做出合理的選擇,減小對圖像造成的影響。 本文通過對非參考幀運動矢量的分析,在參考幀I幀中尋找合理的嵌入位置,來減少因在參考幀中嵌入水印對非參考幀造成的影響,仿真實驗證明了在大多數情況下可以達到很好的效果。 但通過對運動矢量的統計也可以發現,并不是所有的視頻幀都適用于本文的方法。因為存在一些非參考幀運動矢量指向參考幀宏塊分布比較均勻的情況,在這種情況下,使用本文選擇方法并不能達到理想效果,同時加大了計算量。 再者,在視頻中嵌入水印信息,必定會對視頻信息造成影響;本文的研究只是努力降低這種影響,并不能從根本上消除這種影響。 [1]Cox I,Miller M,Bloom J.Digital Watermarking [M].Los Altos,CA:Morgan Kaufmann Publishers,2001. [2]M Cheikhrouhou,P Conti,et al.Intelligent Agents for Network Management :Fault Detection Experiment [D] .Corporate Communication Department,Institute Eurecom,2001. [3]Zou Xiaoxiang,Peng Cong,Li Jintao,et al.Video watermark technique[J].Journal of Engneering Graphics,2002,3(3):169-179. [4]Hartung F,Girod B.Watermarking of uncompressed and compressed video [J].Signal Processing,Special Issue on Copyright Protection and Access Control for Multimedia Services,1998,66(3):283-301. [5]Lancini R,Mapelli F,Tubato S.A robust video watermarking technique in the special domain[C].Processing of International Symposium on Video/Image Processing and Multimedia Communications,Zadar,2002:251-256. [6]曹華,周敬利.圖像和視頻水印嵌入新方法研究[D].武漢:華中科技大學,2006. [7]胡陸建,王讓定.基于H.264/AVC的視頻水印算法設計[D].寧波:寧波大學,2012. [8]劉立冬,劉濟全,田翔.基于H.264壓縮的視頻水印算法研究[D].杭州:浙江大學,2013.3 改進效果分析



4 總結