(1. 西南交通大學 信息科學與技術學院, 成都 610031; 2.鄭州航空工業管理學院 a.計算機科學與應用系; b.建筑工程管理系, 鄭州 450015)
摘 要:
針對視頻水印中存在的線性共謀攻擊問題,通過分析線性共謀攻擊的數學模型,基于通信分集技術建立了一個有效抵抗線性共謀攻擊的視頻水印設計框架,并根據該框架提出了一種新的能夠有效抵抗線性共謀攻擊的空域自適應視頻水印方案。理論分析和實驗結果表明,該方案不僅對剪切、幀去除、幀插入、幀重組以及不可察覺的幾何變形具有很好的魯棒性,而且能夠有效地抵抗線性共謀攻擊,同時對H.264壓縮也具有較好的魯棒性。
關鍵詞:視頻水印; 線性共謀; 分集; M序列
中圖分類號:TP391 文獻標志碼:A
文章編號:10013695(2008)12372503
Video watermarking scheme for resistance to linear collusion based on diversity technique
LIU Li1, 2a, LI Xiaoju2b, PENG Daiyuan1
(1.School of Information Science Technology, Southwest Jiaotong University, Chengdu 610031, China; 2.a. Dept. of Computer Science Application, b. Dept. of Construction Management, Zhengzhou Institute of Aeronautical Industry Management, Zhengzhou 450015, China)
Abstract:This paper gave the mathematical model of linear collusion attack. And according to the model, put forward the design framework of video watermarking for resistance to linear collusionbased on the communication diversity technique. Moreover, it proposed an adaptive video watermarking scheme, which was in spatial domain, for effective resistance to linear collusion attack according to the proposed framework. Theory analysis and experiment show that watermark can not only be robust enough to cropping, frame removal, frame insertion, frame reorganization, imperceptible geometrical distortion and linear collusion, but also reduce the impact of H.264 compression under some conditions.
Key words:video watermarking; linear collusion; diversity; Msequence
0 引言
數字水印就是把某種信息(即水印)嵌入到多媒體數據中。一個有效的水印嵌入算法應具備兩個基本要求:a)不可見性;b)水印對多媒體數據的幾何失真要具有一定的魯棒性。一直以來數字水印的研究都集中在圖像上,而如今越來越多的水印算法集中于對視頻數據的研究。在視頻水印領域有三個重要的問題:a)視頻信號經處理后水印信號很可能改變;b)雖然原始視頻數據可以被看成是若干個圖像組成的序列,但是原始視頻序列在時間軸上有很強的相關性,因此能否抵抗線性共謀攻擊是非常重要的;c)視頻水印在應用中經常有實時或接近實時的要求。
目前已經出現的視頻水印算法主要可分為三大類:在原始視頻中嵌入;在編碼壓縮時嵌入;在壓縮碼流中嵌入。在原始視頻中嵌入水印的算法又可分為空域算法和變換域算法。其中由于空域算法計算量小,一直受到許多學者的青睞。許多現有的視頻水印技術都是采用全局水印,即把水印能量分布到每一視頻幀的所有像素點上[1, 2],而絕大部分全局水印有一個致命的弱點,就是不能抵抗線性共謀攻擊,且這些水印技術[1, 2]都是基于擴頻通信技術的。在擴頻水印中,如果水印能量由于類似衰落的失真而減小,任何宿主信號和水印間的殘差相關都有可能導致不可靠的檢測。也有一些方案把水印嵌入到視頻幀的局部子塊中[3, 4],這些算法是把視頻幀分成8×8的塊,其中一些子塊被用來嵌入水印。這些方案適合于MPEG2的編碼結構,是在視頻幀視覺特性的基礎上選取嵌入塊的。但是一些算法[4]在嵌入過程中是隨機產生一個位平面,并用水印對該位平面進行替換,這樣就極有可能在視覺上相同的視頻幀中嵌入不同的水印,同樣不能很好地抵抗線性共謀攻擊。文獻[3]中算法雖然可以很好地抵抗線性共謀攻擊,但其并沒有實現水印的盲提取。
眾所周知,重復嵌入可以增強水印的魯棒性,它慣于平均掉偽噪聲失真的影響。本文把重復嵌入看成是通信分集技術的應用,以實現水印的盲提取。本文從視頻幀中自適應地選取一些互不重疊的塊(稱為子幀)作為嵌入區域,然后將水印重復嵌入。整個過程是在空域進行的。水印嵌入時使嵌入強度自適應于相應的子幀,從而使嵌入后的視頻序列能夠有效地抵抗線性共謀攻擊,同時水印對幀去除、幀插入、幀重組等攻擊也具有很好的魯棒性。水印的提取過程采用線性水印估計,不需要原始視頻,但需要原始水印信息的參與。
1 線性共謀
視頻水印不同于圖像水印的一個特點是攻擊者可利用更多的數據。而且這些數據具有高度的相關性,即使在每個圖像幀內作一個空間不相關樣本的假設,典型的視頻序列在時間軸上依然具有很強的相關性。利用相關性進行的攻擊叫做線性共謀。
線性共謀是當前視頻水印研究中的一個重要問題。線性共謀分為兩類[5]:a)如果水印嵌入者在大量的視覺上相異的視頻幀中通過線性組合來嵌入相同的水印,那么攻擊者就可以估計出水印信息;b)如果水印嵌入者在大量的視覺上相同的視頻幀中通過線性組合來嵌入不同的水印,那么攻擊者就可以估計出原始視頻信息。
上述線性共謀可由如下數學模型來描述[5]:給定一個嵌入水印的視頻序列Yk=Xk+αkWk; k=1,2,…,n。其中:Xk是原始的視頻幀;Yk是嵌入水印后的視頻幀;αk是嵌入強度;Wk是水印信息。線性共謀是從嵌入水印后的視頻序列中選取m(m≤n)幀(不一定是連續的),并對這m幀形成一個線性組合的過程。
Y=∑mi=1βiYi=∑mi=1βiXi+∑mi=1βiαiWi
(1)
其中:Y表示水印或宿主視頻信號的最佳均方誤差估計。如果Y是水印的最佳均方誤差估計,則表示遭受了a)類線性共謀攻擊;如果Y是宿主信號的最佳均方誤差估計,則表示遭受了b)線性共謀攻擊。如果在式(1)中令βi=1/m,那么就得到視頻水印中常說的幀平均。
根據以上線性共謀攻擊的定義,文獻[3]得出在設計視頻水印方案時,如果采用同一水印模式,且水印信息均值為0,方差大于0,使嵌入強度自適應于相應的原始視頻幀的方差,那么就可以很好地抵抗線性共謀攻擊。
2 分集技術的應用
在魯棒水印領域的前期工作是假設附加的是高斯水印信道。直觀上,很明顯一些衰落(如剪切、線性濾波)對水印有很強的破壞性。例如,水印被嵌入到圖像的空域,如果裁減掉這個圖像的一部分,那么這部分圖像中的水印也將會被裁掉。類似地,如果水印被嵌入在信號的離散傅里葉變換域,那么低通濾波可以去除高頻部分的水印。這說明一些非常簡單的失真對嵌入的水印有很大的影響。本文中把這些攻擊建模為類似衰落。衰落是用來描述在不可預知的情況下削弱信息載體信號幅度的通信模型。
在有效抗衰落技術中,分集技術就是其中的一種。分集就是指通過兩條或兩條以上途徑傳輸同一信息,以減輕衰落影響的一種技術措施。但是利用分集技術要以犧牲帶寬為代價,因此相同的信號是通過兩個或兩個以上的載體來傳送的。許多水印應用中,水印的載荷很小,而且在視頻水印中有大量的數據可以用來嵌入水印,因此水印容量不成問題。
利用分集的思想,并依據前面得出的有效抵抗線性共謀攻擊的水印設計規則,提出一個水印系統框架:
a)水印w是二值的,Ew=0,σw>0,且長度為Nw bit,用w(i)表示w的第i位。其中i=1,2,…,Nw。
b)水印信息被重復地嵌入M次(M>>1),嵌入策略符合水印設計規則。
c)每個被嵌入的水印是分別提取的。根據提取的M個不同的版本w∧1,w∧2,…,w∧M,利用這M個不同版本的加權和就可以得出嵌入的水印。
d)嵌入水印后的載體信號不但可以有效地抵抗線性共謀攻擊,而且還可以抵抗剪切、幀去除、幀插入等影響信號完整性的攻擊。
3 提出的水印方案
3. 1 M序列水印的生成
為了符合抵抗線性共謀攻擊的水印設計規則,采用M序列作為水印。因為M序列在每一個周期2n內,序列中0和1元素各占一半,如果采用雙極性的水印序列,則水印的均值就為0,且方差大于0。由于本文嵌入的是8×8水印信息,需要產生長度為64的M序列。具體產生過程如下:
a)找出GF(2)上一個6次本原多項式,本文實驗取f(x)=1+x+x6;
b)根據該多項式寫出n=6時M序列的反饋函數g(x)=x1+x6;
c)根據g(x),得出n=6時M序列的反饋函數:
F(x)=g(x)+x1×x2×x3×x4×x5=
x1+x6+x1×x2×x3×x4×x5
d)根據初始狀態和該反饋函數生成長度為64的M序列。
由于周期為2n的M序列共有22n-1-n個(即當n=6時,有67 108 864個M序列),M序列數量很大,因此可以把初始狀態和所采用的本原多項式作為密鑰,如果沒有這個密鑰是很難得到原始水印信息的。最后把生成的64 bit M序列變成雙極性并進行升維即可得到8×8的水印信息。
3. 2 嵌入區域的選取
有關心理視覺的研究表明,人眼對各種環境有不同的敏感度。例如,人眼對于紋理復雜區域(如邊緣)所產生的失真并不敏感,但是在邊緣區域嵌入水印魯棒性會降低;另一方面,視頻序列與靜止圖像的不同在于它包含運動部分,具有變化的特性,而人眼對于高速運動的物體敏感度會有所下降,因此可以在高運動區域嵌入水印。但是水印嵌入在高速運動物體的一些細節區域(如邊緣)時,水印的魯棒性就會降低。本文選擇高運動區域中梯度變化較小的區域嵌入水印。
高運動區域的選取是在相鄰幀間利用運動檢測器[4],將圖像塊劃分成慢速運動區域和快速運動區域兩類;然后在快速運動區域中利用塊復雜度選取梯度變化相對較小的一部分區域嵌入水印,即當塊復雜度小于Tg時,則該塊被用來嵌入水印。其中,閾值Tg是根據實驗數據選取的,即選用一個測試序列,對該測試序列中的所有塊計算其復雜度,并對所有計算出的塊復雜度進行統計,選取一個合適的中間數Tg作為閾值。塊復雜度定義如下:
Cblock=∑block1/4(|dx|+|d-x|+|dy|+|d-y|)
(2)
其中:Cblock表示塊復雜度;dx、d-x分別表示塊中當前像素與其在x和-x方向相鄰像素的灰度值之差。
3. 3 水印的嵌入
為了提高算法的實時性,整個嵌入過程在空域進行,并且只將水印嵌入到亮度分量上。嵌入方法采用位平面替換。為了提高魯棒性,根據之前設計的框架,首先從視頻幀中自適應地選取一些互不重疊的塊作為嵌入區域;然后將同一水印重復多次嵌入到所選取的區域中。
位平面替換的嵌入方法也可以表示成加性嵌入,子幀亮度分量中的任一像素可表示為∑7k=02kp。其中:p∈{0,1}。位平面替換就是把2kp(k∈{2,3,4})用二值水印中相應位置的像素值q替換,那么水印的嵌入就相當于在原始子幀像素值上加上2kq-2kp。其中:k∈{2,3,4}; q∈{0,1}。由于文獻[4]中k的取值是在2、3和4中隨機地產生一個,2kq-2kp的值也帶有隨機性,也就是通過加性嵌入的水印也帶有隨機性,那么文獻[4]中的嵌入方法就不能有效地抵抗線性共謀攻擊。
根據提出的框架和前面的分析,為了有效地抵抗線性共謀攻擊,k(k∈{2,3,4})的值在位平面替換過程中不能隨機地選取,而應該自適應于相應原始子幀的方差,本文采用
k=int(var(Uj))mod 3+2
(3)
確定k的值。其中:int(#8226;)表示取整;var(#8226;)表示方差;Uj表示原始子幀。
3. 4 水印提取
水印的檢測和提取無須原始視頻的參與,只需產生水印時的密鑰。具體的提取步驟如下:
a)根據密鑰產生水印信息。
b)每個已嵌入水印的視頻幀被分成互不重疊的8×8的塊,并根據式(2)計算每個塊的復雜度。如果計算出的塊復雜度小于一給定閾值T′g, 則將該塊歸入集合S1:{U′1,U′2,…,U′en} 。其中,T′g的選取隨Tg而定,但要滿足T′g>Tg。
c)集合S1中的每一個元素U′j(j∈{1,2,…,en})分別被分解成8個位平面:
d)在集合S2中可以得到em個8×8的塊。那么提取的水印w∧可以通過計算U′1l,U′2l,…,U′eml的加權和求得:
將最后得到的加權和轉換為二值信息得到最后提取的水印。
4 實驗結果
實驗采用foreman.yuv和container.yuv的QCIF格式的序列作為原始視頻序列進行水印的嵌入和提取,長度為100幀,采樣格式為4∶2∶0。在實驗中僅考慮視頻幀的亮度分量,并且在第1幀不嵌入水印。
圖1顯示了foreman序列的連續三幀,(a)為原始視頻幀,(b)為嵌入水印后相應的視頻幀,(c)為嵌入水印前后對應幀的差。圖2顯示了foreman序列和container序列嵌入水印后的PSNR值。由此可以看出,嵌入的水印具有很好的不可見性。
含水印視頻序列在經過剪切、幀刪除、幀插入、幀重組以及不可察覺的幾何變形后提取水印的正確率仍可達100%。表1比較了本文算法與文獻[4]中算法經線性共謀攻擊后水印提取的正確率。實驗結果表明本文算法具有很好的魯棒性。
由于視頻經常以壓縮格式傳輸或存儲,需要測試一下提出算法針對有損壓縮的魯棒性,在此利用H.264/AVC JM12[6]實現視頻的編/解碼過程。實驗中幀率為25 fps,編碼模式采用IPPP。圖3顯示了不同比特率下經H.264壓縮攻擊后水印提取的正確率。其中,0≤QP≤51。
表1 兩算法經線性共謀攻擊后提取水印的正確率
視頻序列
水印提取正確率/%
β i=1/2βi=1/3βi=1/4
foreman
本文算法10010098.44
文獻[4]算法90.6381.2570.31
container
本文算法10098.4496.88
文獻[4]算法 89.0676.5668.75
5 結束語
本文通過分析線性共謀攻擊的數學模型,建立了一個有效抵抗線性共謀攻擊的視頻水印設計框架,并根據該框架提出了一種新的能夠有效抵抗線性共謀攻擊的空域自適應視頻水印方案。該方案根據運動檢測器從視頻序列的每幀中選擇高運動區域,并從所選出的高運動區域中選擇梯度變化較小的區域作為子幀。水印的嵌入則利用通信分集的原理,將水印信息重復嵌入到原始視頻序列的這些子幀中,嵌入強度自適應于相應子幀的方差。提取時無須原始視頻的參與,采用線性水印估計,以增加水印提取的正確率,即對各個子幀中的水印分別提取后,再對這些提取的水印進行加權和得出最終提取的水印。理論分析和實驗結果表明,該方案不僅對幀去除、幀插入、幀重組、壓縮以及視覺不可見的幾何變形具有很好的魯棒性,同時還能夠有效地抵抗線性共謀攻擊。
參考文獻:
[1]HARTUNG F, GIROD B. Watermarking of uncompressed and compressed video[J]. Signal Processing,1998,66(3):283301.
[2]梁華慶,王磊,雙凱,等. 一種在原始視頻幀中嵌入的魯棒的數字水印[J]. 電子與信息學報,2003,25(9):12811284.
[3]劉麗,彭代淵,李曉舉. 抵抗線性共謀攻擊的空域自適應視頻水印方案[J]. 西南交通大學學報,2007,42(4): 456460.
[4]LU Zheming, GE Qingming, NIU Xiamu. Robust adaptive video watermarking in the spatial domain[C]//Proc of the 5th International Symposium on Test and Measurement. Shenzhen: International Academic Publishers, 2003:18751880.
[5]SU K, KUNDUR D, HATZINAKOS D. Statistical invisibility for collusionresistant digital video watermarking[J]. IEEE Trans on Multimedia, 2005,7(1): 4351.
[6]H.264/AVC joint model 12 (JM12) reference software[EB/OL]. (2007). http://iphome.hhi.de/suehring/tml/.