劉爭艷,李 絮
(阜陽師范學院 計算機與信息學院,安徽 阜陽 236041)
隨著計算機和數字信號處理技術的發(fā)展,建立在現代通信、數字信號處理和編碼技術基礎上的水印技術已經成為信息安全領域研究的一個重要內容.視頻碼流中的運動矢量是通過視頻編碼的運動估計算法獲得的[1],是視頻壓縮重點保護對象.由于運動矢量反映的是當前編碼幀中被預測宏塊與參考幀中最佳匹配宏塊的運動位移信息,與宏塊的具體內容無關.因此,把水印信息嵌入到運動矢量數據空間,會對基于內容的視頻水印攻擊(如加噪、平滑等)具有良好的魯棒性.Kutter等[2]首次提出利用①運動矢量進行水印嵌入.在此基礎之上,朱仲杰等[3]提出在運動矢量的水平和垂直分量上嵌入水印的算法.Kyung-Won Kang等[4]提出選取幅值較大的運動矢量嵌入水印信息.本文提出一種利用運動矢量相角抖動并結合矩陣編碼的思想將水印信息嵌入到運動矢量中的視頻水印方案.根據運動矢量的相位所在區(qū)間將水印信息嵌入到相應的運動矢量中.該方案結合矩陣編碼思想克服了運動矢量修改率過高而對視頻質量影響較大問題.算法對運動矢量改變了的宏塊重新進行匹配誤差估計.同時,為了降低失真累積效應,算法對運動矢量改變了的宏塊重新進行了匹配誤差估計.
對于平面直角坐標系中的角度2π,選定合適的角度△,將2π角度等分為2n(n為正整數)份,并且劃分成如下2n個角度區(qū)間:
(0,△),[△,2△),……,[(2n-1)△,2n△)
設 Ak=[(2k-2)△,(2k-1)△);Bk=[((2k-1)△,2k△);(其中k=1,2,3……n,下同),令 A={A1,A2,……An},B={B1,B2……Bn},則A,B兩個區(qū)間集不重復不遺漏地對[0,2π)區(qū)間進行了劃分,見圖1所示.

圖1 區(qū)間劃分方式圖
下面規(guī)定A、B區(qū)間集中角度值的含義:凡屬于A中某區(qū)間的角度表示信息“0”,凡屬于B中某區(qū)間的角度表示信息“1”.對于任何一個在區(qū)間[0,2π)內的角度 θ,總有 θ 屬于Ak或θ屬于Bk,要想讓角度θ表示特定的信息ω(ω為0或1),就需要對ω進行適當的調制,假設調制后為θ.具體調制方法如下:
1)若 ω=0不對 θ 屬于 Ak作改動,則有:θ'=θ;
2)若ω=0,θ屬于Bk,則將θ調制到A中離θ最近的某區(qū)間,且使得 abs(θ'-θ)的值最小,此時有:θ'=(2k-1)△-ε 或者 θ'=2k△+ε;
3)若 ω=1,θ 屬于 Bk則不對 θ作改動,則有:θ'=θ;
4)若ω=1,θ屬于Ak,則將θ調制到B中離θ最近的某區(qū)間,且使得 abs(θ'-θ)的值最小,此時有:θ=(2k-2)△-ε 或θ'=(2k-1)△+ε;
通過以上分析,本算法把上述角度抖動調制的思想應用于基于運動矢量相位抖動調制的視頻水印嵌入算法中,通過直方圖方法選取視頻幀中一定數量且幅值較大的運動矢量,然后對其相角進行抖動調制來嵌入水印信息.
矩陣編碼是一種特殊的基于循環(huán)碼的編碼技術,使用它可提高嵌入效率.將符合幅度條件的運動矢量每三個分為一組,在每一組中嵌入2比特數據,并且最多只修改一個運動矢量.
如圖2所示.先從視頻壓縮碼流中解出P幀運動矢量,對其進行直方圖統(tǒng)計,然后根據一定的閾值選取運動矢量并對其分類,在偽隨機序列的控制下將水印序列嵌入到運動矢量中,再對運動矢量進行編碼,生成視頻流文件.

圖2 水印嵌入算法
2.3.1 水印嵌入
當待嵌入水印數據與運動矢量相角的對應信息匹配時,不需要改動該運動矢量;否則要利用角度抖動調制的思想在另一區(qū)間集找出一個最合適的運動矢量來取代它.由于運動矢量修改率與視頻圖像質量及水印的隱蔽性息息相關,為此引入矩陣編碼來降低對運動矢量的修改率以及提高水印的性能.具體嵌入算法如下:
(1)設原始的水印信息為m,為了增強水印算法的安全性,給定密鑰k,先對m進行偽隨機置亂處理,降低其相關性,置亂后的比特即為待嵌入的水印信息ω,實際嵌入的信息就是二進制序列.水印調制可表示為:ω=p(m,k),其中,k為密鑰,ω為m調制后的二進制序列,p為調制變換.
(2)指定宏塊范圍,不考慮位于視頻邊界的宏塊.確定運動矢量閾值.假定在視頻中嵌入N遍水印信息,水印信息的長度為L,統(tǒng)計出視頻中所有運動矢量的數目M,從M個運動矢量中挑選N×L個幅值最大的運動矢量,則挑選出的運動矢量中幅值最小的即為運動矢量閾值.
(3)根據已確定的閾值篩選出幅度大于此閾值的運動矢 S={M V0,MV1,……MVn-1},其中(MViv2+MViH2)≥T2,0≤1 (4)確定相角量化步長和角度區(qū)間集.選取適當的相角量化步長△,對2π角度進行等分,得到兩個區(qū)間集A={Ak}和B={Bk},不妨設A中某角度區(qū)間的相角表示嵌入水印信息”0”,屬于B中某角度區(qū)間的相角表示嵌入水印信息”1”. (5)將S中連續(xù)的三個運動矢量即:MVi、MVi+1與MVi+2分為一組,判斷它們所屬的角度區(qū)間集,分別用Q1、Q2和Q3表示它們對應的信息,即”0”或者”1”. (a)如果此時要嵌入的數據是”00”,考慮下面幾種情況 當Q1茌Q2=0(其中茌表示異或)并且Q2茌Q3=0,則不需要改動任何一個運動矢量. 當Q1茌Q2=1并且Q2茌Q3=0,則只需改動MVi到另一相位區(qū)間集. 當Q1茌Q2=0并且Q2茌Q3=1,則只需改動MVi+2到另一相位區(qū)間集. 當Q1茌Q2=1并且Q2茌Q3=1,則只需改動MVi+1到另一相位區(qū)間集. (b)如果需要嵌入的數據為”01”、”10”、”11”則作相對應處理. (6)如果該幀的嵌入過程還沒有完成則回到第五步,否則回到第(3)步開始下一幀的嵌入. 圖3 水印提取算法 2.3.2 水印提取水印提取是水印嵌入的逆過程,算法流程如圖3所示.首先解碼運動矢量,對其幅值進行直方圖統(tǒng)計,按照嵌入方法分類,通過計算Q1茌Q2和Q2茌Q3即可. 2.3.3 誤差補償 根據H.264標準,P、B幀運動矢量采用差分編碼,若對某一運動矢量分量進行水印嵌入時的調整后,應該對以該運動矢量為參考的運動矢量對應的分量進行誤差補償,避免造成誤差積累.設MVel為當前編碼運動矢量,MVc為其參考運動矢量,EMV1為二者的差分值,EMV1=MVel-MVc,如果MVc因水印嵌入而增加1,其編碼差分值不變,那么MVel就會增加1.如果MVel也因水印嵌入而增加1,那么與其有依賴關系的運動矢量就會增加2.依次類推,會對后面的運動矢量造成很大偏移,導致視頻質量下降.為此,在嵌入水印時,不能直接改變當前運動矢量的編碼差分值,需要將參考運動矢量因水印嵌入帶來的變化減去后再嵌入水印,或者直接對解碼后的運動矢量嵌入水印,然后再進行差分編碼. 本算法采用H.264/AVC的參考軟件JM86上進行仿真.實驗選取4個QCIF格式的測試序列(Foreman、Carphone、Mobile、News),測試環(huán)境參數設置為:Y:U:V=4:2:0;QP=28;30幀/每秒;序列類型為IPPP;運動搜索方法為全局搜索.測試水印圖像入圖4所示. 圖4 測試用的水印圖像 對于嵌入的水印序列和提取的水印序列,由于某種原因有可能并不完全一樣.設m0、m1分別表示水印比特0和1的數目,e0和e1為相應正確檢測出的比特0和1的數目,定義水印正確檢出率(WDR)為: 針對水印魯棒性實驗本文測試了視頻對于幀刪除和幀插入時對水印檢測正確率的影響.實驗結果如表2、表3所示.表2利用上述四種視頻序列進行幀刪除率與WDR值的比較測試結果.由表2可以知道WDR的大小反映了提取出的信息與水印信息的相似程度.當WDR值越大,提取的信息是水印信息的可能性就越大.表3是四種視頻序列的幀插入率與WDR的關系.圖5所示是從Forman序列中丟幀率為12%時提取的水印信息. 表2 四種視頻序列的丟幀率與WDR的關系 表3 四種視頻序列的幀插入率與WDR的關系 圖5 Forman序列中提取的水印 從圖6、圖7分別所示,可以看出嵌入水印的圖像和原始圖像的變化率很小,滿足人眼不可感知性的要求.在實驗中分別通過計算未嵌入水印幀的峰值信噪比PSNR0和嵌入水印幀的峰值信噪比PSNR1來比較水印的嵌入給視頻質量產生的影響.如表1所示.表2反應了插入水印后對碼率的影響. 圖6 Foreman序列水印嵌入效果對比 圖7 News序列水印嵌入效果對比 其中M為幀的個數.則PSNR的損失率可定義為: 表4 四種序列的PSNR0、PSNR1和ξ 通過表4,可以看出ξ變化很小,說明水印的嵌入對PSNR影響較小,因此對視頻的質量的影響是可以接受的. 本文在H.264/AVC標準下提出一種水印新算法,這種算法基于角度抖動的原理并結合矩陣編碼算法將水印信息嵌入到運動矢量中.充分利用運動矢量的統(tǒng)計特征來嵌入水印信息.同時,該算法簡單易于實現,水印實時性、不可感知性較強.該算法能夠有效的抵抗視頻同步攻擊.在以后的研究過程中將會從尋找可水印嵌入空間以及增強水印魯棒性方向去努力. 〔1〕N i W ei,Guo Bao-long.Adaptive motion estimation algorithm based on enhanced bit-plane[J].Journal of Optoelectronics.Laser(光電子.激光),2011,16(2):203-208.(in Chinese). 〔2〕Kutter M,Jordan F,Ebrahimi T.Proposal of a watermarking technique for hiding/retrieving data in compressed and decompressed video [R]. Stockholm:MPEG-4 Meeting,1997. 〔3〕Z.J.Zhu,G.Y,Jiang,M.Yu etc, “New Algorithm for Video W atermark”,ICSP,vol.1,Aug.2012,pp.760-763. 〔4〕Kyung-Won Kang,Kwang-Seok Moon,Gwang-Seok Jung,and Jong-Nam Kim,“An Efficient Video W atermarking Scheme Using Adaptive Threshold and M inimum Modification on Motion Vectors”,Lecture notes in computerscience ISSN 0302-9743,vol.3656,2005,pp.294-301. 〔5〕Noorkam i M,Mersereau R.M.Compressed-domain video watermarking for H.264.In:Proc of International Conference on Image Processing,Italy,2012,890-893. 〔6〕鄭振東,王沛,陳勝.基于運動矢量區(qū)域特征的視頻水印方案[J].中國圖象圖形學報,2008,13(10):1926-1929.
3 實驗結果與分析

3.1 水印魯棒性實驗




3.2 水印對視頻質量及對碼流的影響分析






4 結論