文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)07-0151-04
隨著網(wǎng)絡(luò)技術(shù)以及多媒體技術(shù)的快速發(fā)展,數(shù)字視頻越來(lái)越容易被獲取并復(fù)制傳輸,這就導(dǎo)致了視頻的版權(quán)糾紛問(wèn)題[1],數(shù)字視頻水印正是為解決這個(gè)問(wèn)題而出現(xiàn)的。在視頻發(fā)布前,視頻版權(quán)擁有者在原始視頻中嵌入具有版權(quán)信息的圖片或序列,既不影響視頻的可視性,又對(duì)攻擊具有較強(qiáng)的魯棒性,在接收端可以提取出版權(quán)信息,實(shí)現(xiàn)版權(quán)保護(hù)和盜版追蹤功能[2],同時(shí)在數(shù)字電視播放中還可實(shí)現(xiàn)播放控制[3]。
視頻水印算法既要求水印能抵抗噪聲、濾波等常規(guī)攻擊,還要求水印能抵抗視頻特有的處理和攻擊,例如MPEG-2壓縮處理、視頻幀同步攻擊等。同時(shí),也要求水印的嵌入提取方法靈活、方便[4]。參考文獻(xiàn)[5]提出一種塊均值視頻水印算法,該算法在空間域嵌入水印,在空間域或壓縮域提取水印,可以實(shí)現(xiàn)播放控制和盜版追蹤,但對(duì)于視頻幀同步攻擊卻無(wú)能為力,本文針對(duì)此問(wèn)題提出改進(jìn)算法,水印嵌入前先嵌入視頻幀號(hào)用以抵抗視頻同步攻擊,并將算法與通信系統(tǒng)中的抗干擾技術(shù)相結(jié)合[6],加入LDPC-OFDM編碼以提高水印的魯棒性。實(shí)驗(yàn)結(jié)果證明該水印算法不僅可以有效抵抗剪切攻擊、高斯白噪聲、椒鹽噪聲、高斯低通濾波等常規(guī)攻擊,同時(shí)對(duì)幀刪除、幀重組、幀插入、幀交換等視頻同步攻擊也有很好的抵抗效果。
1 基于LDPC-OFDM技術(shù)的塊均值視頻水印算法
圖1所示為基于LDPC-OFDM技術(shù)的塊均值視頻水印算法框圖。
1.1 水印的預(yù)處理
1.1.1 水印的置亂加密
本文采用m×n的二值圖像w作為原始水印信息,在水印的預(yù)處理過(guò)程中,先將原始水印信息w進(jìn)行Arnold置亂加密得到S來(lái)提高水印和嵌入算法的安全性。另外,在水印嵌入后,含水印視頻具有良好的不可見(jiàn)性。
1.1.2 水印的LDPC-OFDM編碼調(diào)制
LDPC碼即低密度奇偶校驗(yàn)碼(Low Density Parity Check Codes)是1962年Robert G.Gallager提出的一種實(shí)用的好碼[7],是線性分組碼的一種。本實(shí)驗(yàn)對(duì)水印進(jìn)行LDPC編碼以提高水印的糾錯(cuò)能力。
算法中LDPC編碼主要步驟是[8]:采用Mackay構(gòu)造法生成m×n的校驗(yàn)矩陣H,固定每一列的列重?姿為3,并且每?jī)闪兄g重疊“1”的個(gè)數(shù)不大于1,構(gòu)造完成后消除里面的四環(huán),然后通過(guò)高斯消元法對(duì)其變形得到生成矩陣G,水印S通過(guò)G映射成要嵌入的水印序列c,再將水印經(jīng)Arnold置亂加密后的信息直接賦值給系統(tǒng)位S,得u=(c,s),LDPC編碼過(guò)程結(jié)束,u即為L(zhǎng)DPC編碼后的信息,長(zhǎng)度為水印信息s的2倍。
下一步進(jìn)行OFDM調(diào)制。OFDM技術(shù)的原理是用多個(gè)相互正交的子載波對(duì)輸入信息進(jìn)行調(diào)制,使整體信號(hào)的抗干擾性能得到很大的提高。基于OFDM的水印嵌入技術(shù)可實(shí)現(xiàn)相當(dāng)大的嵌入量和優(yōu)良的隱蔽性,而且能夠抵御常見(jiàn)的加性噪聲干擾、線性濾波,對(duì)于重新量化和重新采樣也有足夠的魯棒性,具有良好的應(yīng)用前景。
1.2 水印的嵌入與提取算法
1.2.1 水印嵌入算法
水印的嵌入包含水印信息的嵌入和視頻幀號(hào)的嵌入,兩者嵌入方法相同,但嵌入位置不同。
水印的嵌入提取采用塊均值算法[5]。因?yàn)槿搜蹖?duì)于色度分量不敏感,所以將水印嵌入在色度分量的塊均值中。具體的嵌入過(guò)程如下:
幀號(hào)提取完畢后,進(jìn)行幀檢測(cè)并恢復(fù)視頻同步,完成之后在恢復(fù)的視頻中提取水印,可選如上的空間域或壓縮域兩種方法,在R分量中提取出初步水印信息u′。然后對(duì)u′進(jìn)行OFDM解調(diào)得X,解調(diào)完全是調(diào)制的逆過(guò)程。解調(diào)之后進(jìn)行LDPC譯碼,采用的是BP算法(Belief Propagation) [10],即在迭代的每一步,對(duì)有噪序列的每一個(gè)符號(hào)估計(jì)其后驗(yàn)概率,并將估計(jì)輸入下一次迭代,以得到更好的結(jié)果。BP算法譯碼速度高、復(fù)雜性低。最后對(duì)LDPC譯碼的結(jié)果進(jìn)行Arnold反置亂就得到最終的水印信息。
2 性能分析
水印嵌入的方法有疊加法和直接替換法[11]。疊加法是將水印信息疊加在視頻的某些系數(shù)上,該方法在提取時(shí)原始的系數(shù)會(huì)成為固有干擾項(xiàng),對(duì)水印提取造成誤碼或增加水印提取難度;替換法是直接替換二值化塊均值的一位,提取時(shí)沒(méi)有原值的干擾項(xiàng),準(zhǔn)確率高,且能實(shí)現(xiàn)盲提取。本算法采用替換法。
算法可以抵抗MPEG-2壓縮。參考文獻(xiàn)[12]所述理論證明塊均值算法可以抵抗JPEG壓縮,MPEG-2壓縮原理和JPEG壓縮相同,所以理論上本算法可以抵抗MPEG-2壓縮,并對(duì)其進(jìn)行了實(shí)驗(yàn)證明。
若算法的嵌入是在空間域進(jìn)行,則提取可以在空間域或者壓縮域?qū)崿F(xiàn),壓縮域提取可用于控制播放,空間域提取可用于版權(quán)保護(hù)和盜版追蹤。提取水印前檢測(cè)幀號(hào),如果視頻受到如幀刪除、幀交換、幀重組、幀插入的攻擊,將對(duì)視頻幀順序進(jìn)行處理。處理過(guò)程是:若幀交換,則對(duì)調(diào)交換的兩幀,恢復(fù)原順序,視頻可完全恢復(fù);若幀重組,則按照幀號(hào)的順序重組整個(gè)視頻順序,視頻可完全恢復(fù);若幀刪除,則在刪除的地方補(bǔ)一幀空白幀,視頻有一幀錯(cuò)誤;幀插入時(shí),則有兩種情況:(1)如果取出的幀號(hào)大于原視頻最大幀號(hào),則可直接識(shí)別,并去除,就不會(huì)產(chǎn)生錯(cuò)誤;(2)如果插入的幀提取出的幀號(hào)正好是視頻幀號(hào)中的一個(gè)數(shù)n,那么視頻幀號(hào)中就有兩個(gè)n,用后者覆蓋前者,當(dāng)插入的幀在視頻原有第n幀之后時(shí),則將這個(gè)插入幀會(huì)覆蓋視頻原有的第n幀,這種情況下產(chǎn)生一幀的錯(cuò)誤,但此情況概率較小,而且不一定是水印嵌入幀,對(duì)水印最終提取影響很小。
3 實(shí)驗(yàn)的仿真結(jié)果及分析
實(shí)驗(yàn)利用Matlab工具仿真,載體視頻共有580幀,幀率20 f/s。原始水印圖像是二值圖,圖像大小為32×32。先對(duì)視頻進(jìn)行預(yù)處理,嵌入幀號(hào),然后對(duì)水印進(jìn)行置亂和LDPC-OFDM編碼調(diào)制,隨后從視頻的第一幀開(kāi)始根據(jù)生成的偽隨機(jī)序列進(jìn)行隨機(jī)嵌入。
3.1 不可見(jiàn)性實(shí)驗(yàn)
圖2為視頻不可見(jiàn)性實(shí)驗(yàn)的結(jié)果。從人眼的主觀視覺(jué)來(lái)看,嵌入水印后的視頻與原始視頻沒(méi)有區(qū)別,算法對(duì)視頻質(zhì)量幾乎沒(méi)有影響。圖2(c)是在水印嵌入幀中隨機(jī)選擇了50幀所做的水印嵌入前后視頻幀的PSNR值,基本都在39 dB以上。當(dāng)PSNR≥30時(shí),人眼就不能感覺(jué)到視頻中存在數(shù)字水印。所以本算法的不可見(jiàn)性良好。圖3是原始水印和無(wú)攻擊時(shí)提取出的水印圖像,在無(wú)攻擊情況下可以正確提取出水印。
3.2 MPEG-2攻擊實(shí)驗(yàn)
對(duì)含水印的視頻進(jìn)行MPEG-2壓縮與解壓,使用默認(rèn)的量化矩陣,量化參數(shù)scale為19。
實(shí)驗(yàn)仿真結(jié)果表明,在量化參數(shù)scale≤14時(shí),本算法能完全抵抗MPEG-2壓縮,提出的水印信息與原始嵌入水印信息完全相同,沒(méi)有誤碼。當(dāng)scale≥14時(shí),雖然提取出的水印圖片有少量誤碼,但水印仍可識(shí)別。圖4是scale=19時(shí)仿真的結(jié)果,此時(shí)的誤碼率是0.5%。
3.3 常規(guī)攻擊實(shí)驗(yàn)
以下為常規(guī)攻擊實(shí)驗(yàn),圖5是視頻分別受到椒鹽噪聲、高斯白噪聲、高斯低通濾波和剪切攻擊后的視頻, 圖6所示則分別為上述四種攻擊情況下提取出的水印信息??梢钥闯觯弘m然在受攻擊的情況下嵌入水印的視頻質(zhì)量有所下降,但是均能恢復(fù)原始水印信息,只有少量誤碼,這說(shuō)明本算法對(duì)上述攻擊具有較強(qiáng)的魯棒性。
3.4 視頻幀攻擊實(shí)驗(yàn)
圖7為視頻幀攻擊實(shí)驗(yàn),包括幀交換、幀重組、幀刪除和幀插入4種攻擊后提取的水印結(jié)果。
實(shí)驗(yàn)結(jié)果表明,本算法通過(guò)提取幀號(hào)可以恢復(fù)幀交換和幀重組,誤碼為0。對(duì)于幀刪除和幀插入,實(shí)驗(yàn)選擇了最壞情況進(jìn)行仿真,也就是刪除含水印幀和插入幀覆蓋含水印幀的結(jié)果。由結(jié)果可以看出,算法對(duì)幀刪除和幀插入有較強(qiáng)的魯棒性,可以抵抗此類視頻幀的同步攻擊。
本文將LDPC編碼和OFDM技術(shù)相組合,充分利用LDPC碼的糾錯(cuò)能力和OFDM技術(shù)通信容量大、抗頻率選擇性干擾能力強(qiáng)的優(yōu)點(diǎn),提出了一種基于LDPC-OFDM的塊均值視頻水印算法。實(shí)驗(yàn)結(jié)果表明,該算法對(duì)視頻質(zhì)量影響小,不可見(jiàn)性好,能實(shí)現(xiàn)水印的盲提取,不僅對(duì)高斯低通濾波、剪切攻擊、高斯白噪聲、椒鹽噪聲攻擊具有較強(qiáng)的魯棒性,還可以抵抗MPEG-2壓縮及幀交換、幀重組、幀刪除、幀插入等視頻幀攻擊,是一種性能良好的盲視頻水印算法。
參考文獻(xiàn)
[1] COX I J, MILLER M L, BLOOM J A. 數(shù)字水印[M]. 王穎,黃志蓓,譯.北京:電子工業(yè)出版社,2003.
[2] 徐炳文.用于追蹤用戶的視頻水印技術(shù)研究[D].上海:上海交通大學(xué),2005.
[3] 張江,趙黎,楊士強(qiáng).視頻水印技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用,2005,25(4):850-852.
[4] 于穎麗.視頻數(shù)字水印算法研究[D].西安:西安電子科技大學(xué),2010.
[5] 韋英杰,高寶建,邢玲.面向數(shù)字電視版權(quán)保護(hù)的塊均值視頻水印算法[C].亞太信息網(wǎng)絡(luò)與數(shù)字內(nèi)容安全會(huì)議,2010.
[6] 谷利民. 穩(wěn)健數(shù)字水印中的通信方法[D].中山:中山大學(xué),2004.
[7] GALLAGER R G. Low density parity check codes[M]. IRE Trans Inform. Theory, 1962.
[8] MACKAY D J C, NEAL R M.Near shannon limit performance of low-density parity-check codes[J]. Electronic Letters, 1996,32:1645-1646.
[9] 楊杰,李麗娟.基于OFDM信號(hào)循環(huán)前綴的數(shù)字水印技術(shù)[EB/OL].(2007-1-4).http://www.paper.edu.cn/.
[10] 馮小晶,周圍.LDPC碼BP譯碼算法研究[J].電子測(cè)試,2009(7):41-43,56.
[11] 孫向陽(yáng).視頻水印算法及在多媒體傳輸中的應(yīng)用技術(shù)[D].濟(jì)南:山東大學(xué),2009.
[12] 高寶建,馮峰,侯愛(ài)琴.適用于多區(qū)域篡改的JPEG圖像認(rèn)證算法[J].計(jì)算機(jī)應(yīng)用,2009,29(6):1618-1621.