蘇 琴
(昆明理工大學(xué)理學(xué)院,云南 昆明 650093)
一種基于DCT系數(shù)的數(shù)字視頻水印算法
蘇 琴
(昆明理工大學(xué)理學(xué)院,云南 昆明 650093)
文章提出了一種基于DCT的MPEG-2視頻水印技術(shù)的設(shè)計(jì)方法。該算法將水印信息經(jīng)Hash置亂后嵌入在I幀色度DC系數(shù)上。這種算法將混沌理論與置亂技術(shù)和擴(kuò)頻技術(shù)綜合運(yùn)用到視頻水印中,既提高了水印的不可見性、魯棒性,又提高了水印的安全性。
數(shù)字視頻水印;擴(kuò)頻;MPEG-2
隨著數(shù)字視頻產(chǎn)品(如DVD、VCD、VOD、HDTV)的普及,數(shù)字水印研究的重點(diǎn)也由靜態(tài)圖像水印技術(shù)轉(zhuǎn)移到視頻水印技術(shù)上,對(duì)于數(shù)字視頻的版權(quán)保護(hù)無(wú)疑是未來(lái)數(shù)字水印技術(shù)研究的主要方向。在實(shí)際應(yīng)用中,視頻存在和傳播的形式更多的是以DCT變換為核心的MPEG壓縮編碼,所以對(duì)基于DCT變換的數(shù)字視頻水印方案進(jìn)行研究具有很高的價(jià)值[1]。
基于DCT變換的數(shù)字視頻水印算法,水印的嵌入和提取過(guò)程是在視頻編解碼器中進(jìn)行。該方案一般是通過(guò)調(diào)制DCT變換或量化之后的系數(shù)完成嵌入過(guò)程,因此便于通過(guò)自適應(yīng)的機(jī)制分配隱藏信息到視頻信號(hào)中,并依據(jù)人的視覺特性進(jìn)行調(diào)制,在得到較好的主觀視覺質(zhì)量的同時(shí)得到較強(qiáng)的抗攻擊能力;水印僅嵌入在DCT系數(shù)中,不會(huì)增加數(shù)據(jù)比特率;易設(shè)計(jì)出抗多種攻擊的水印。
在嵌入點(diǎn)的選擇上,選擇I幀進(jìn)行水印的嵌入。根據(jù)MPEG編碼特點(diǎn):I幀采用幀內(nèi)編碼,只用本身的信息進(jìn)行編碼;P幀利用過(guò)去的參考進(jìn)行運(yùn)動(dòng)補(bǔ)償?shù)念A(yù)測(cè)編碼;B幀利用過(guò)去和將來(lái)的參考進(jìn)行雙向運(yùn)動(dòng)補(bǔ)償?shù)念A(yù)測(cè)編碼。因此I幀較獨(dú)立,最適合嵌入水印信息。I幀不能直接在MPEG-2碼流中刪除,所以對(duì)一些幀刪除、幀跳躍攻擊比較穩(wěn)健。
在DCT量化系數(shù)的選擇上,本文選擇I幀圖像DCT系數(shù)中的DC系數(shù)來(lái)進(jìn)行嵌入。在MPEG視頻編碼過(guò)程中,編碼器對(duì)亮度、色度信號(hào)分別進(jìn)行編碼,因此DCT量化系數(shù)就分為亮度DCT系數(shù)和色度DCT系數(shù)。考慮到人眼對(duì)亮度變化比色度變化更為敏感,所以盡管亮度系數(shù)比色度系數(shù)在數(shù)量上要多一些,我們?nèi)匀贿x擇在色度DC系數(shù)上添加水印,以避免對(duì)視覺效果產(chǎn)生大的影響。
1.為了進(jìn)一步提高水印的安全性,首先將水印進(jìn)行置亂處理。將圖像置亂后,得到一幅雜亂無(wú)章的圖像,這個(gè)圖像無(wú)色彩、無(wú)紋理、無(wú)形狀,從中無(wú)法讀取任何信息。根據(jù)這“三無(wú)”特征,第三方根本不可能對(duì)其進(jìn)行色彩、紋理、形狀等的統(tǒng)計(jì)分析,即便截取了秘密圖像,也是無(wú)能為力的。本文采用hash置亂,鑒于該算法具有無(wú)沖突(collision)和強(qiáng)密鑰控制的特點(diǎn),顯然是一個(gè)很好的圖像置亂算法。
本文采用一個(gè)二值圖像作為原水印圖像。置亂和反置亂效果如圖1:

圖1 圖像的置亂過(guò)程Fig.1 Image scrambling process
2.通過(guò)混沌序列將水印擴(kuò)頻調(diào)制成偽隨機(jī)序列。將混沌序列用于數(shù)字水印無(wú)論是在圖像數(shù)字水印還是在視頻數(shù)字水印都有較好的效果。混沌序列的優(yōu)點(diǎn)在于:有很好的隨機(jī)性,其隨機(jī)性遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的序列發(fā)生器產(chǎn)生的偽隨機(jī)序列;對(duì)初始條件和參數(shù)極端敏感,混沌系統(tǒng)的密鑰空間大,有較高的抗破譯能力;產(chǎn)生混沌序列的計(jì)算復(fù)雜度高,比用m序列來(lái)得更加靈活。從理論上講,混沌信號(hào)由于對(duì)初始條件的高度敏感性,成為偽隨機(jī)信號(hào)的極佳候選者,可以用來(lái)對(duì)信號(hào)進(jìn)行加密調(diào)制。本文采用混沌序列對(duì)置亂后的二值水印進(jìn)行擴(kuò)頻調(diào)制,具體方法為:
(1)將置亂后的水印圖像矩陣按照從左到右從上往下的順序變成一維的二值序列,并將它轉(zhuǎn)化成為(-1,1)的雙極性序列B:
(2)將初值為x0=0.5Logistic映射產(chǎn)生的長(zhǎng)度為32的混沌序列也變成(-1,1)的雙極性序列P;
(3)將雙極性水印序列進(jìn)行32位的比特重復(fù)后,用雙極性混沌序列P對(duì)其進(jìn)行調(diào)制,形成要嵌入的水印序列W。
如前面分析所述,本文在I幀的色度DC系數(shù)中嵌入水印。具體描述如下:
第一步:按位讀取原始?jí)嚎s視頻;
第二步:在讀到I幀頭部信息時(shí)將嵌入次數(shù)標(biāo)記設(shè)為0;
第三步:按照幀內(nèi)宏塊解碼方法對(duì)讀到的宏塊中的色度塊進(jìn)行VLC解碼,得到色度DC系數(shù)vi;
第四步:水印的嵌入方法為:v′i=vi+αi·w=vi+αi·bk·pi((k-1)cr<i≤k.crk∈N)
其中v′i表示嵌入水印后的色度系數(shù),vi為原色度DC系數(shù);αi是為了考慮掩蔽效果而用來(lái)調(diào)整水印強(qiáng)度所使用的系數(shù);bk為第K個(gè)水印比特;cr是擴(kuò)頻的倍數(shù);pi為混沌序列。
本文為了降低對(duì)色度DC系數(shù)的影響,采用了自適應(yīng)的分類取值:
如果原色度DC系數(shù)的絕對(duì)值為0—20,則強(qiáng)度為2;
如果原色度DC系數(shù)的絕對(duì)值為21—50,則強(qiáng)度為4;
如果原色度DC系數(shù)的絕對(duì)值大于51,則強(qiáng)度為6;
第五步:對(duì)嵌入水印后的色度DC系數(shù)進(jìn)行VLC編碼,并替換原來(lái)的色度DC系數(shù)VL編碼。
第六步:重復(fù)第一至第五步,直至水印嵌入完畢。
如果原視頻信息量很大,可以考慮將水印信息重復(fù)嵌入,可以大大增加水印的魯棒性。
本方案不需要原視頻碼流來(lái)提取水印信息(盲提取),通過(guò)對(duì)已加入水印的視頻碼流進(jìn)行部分解碼,并針對(duì)I幀上相應(yīng)的色度DCT系數(shù)進(jìn)行計(jì)算,具體描述如下:
第一步:按位讀取已嵌入水印的壓縮視頻流;
第二步:在讀到I幀頭部信息時(shí)將次數(shù)標(biāo)記設(shè)為0;
第三步:按照幀內(nèi)宏塊解碼方法對(duì)讀到的宏塊中的色度塊進(jìn)行VLC解碼,得到色度DC系數(shù)v′i;
第四步:并針對(duì)I幀上相應(yīng)的色度DCT系數(shù)進(jìn)行計(jì)算:


這里v'i是已經(jīng)嵌入水印的色度DC系數(shù)。由于序列中兩種極性出現(xiàn)的次數(shù)大致相等,當(dāng)它與其他序列相乘時(shí),其值非常小,上式中Sk的正負(fù)主要決定于bk,所以檢測(cè)到的水印比特位與原先嵌入的水印信息比特位相同的。當(dāng)Sk大于0時(shí),bk為1,則水印比特為1;當(dāng)Sk小于0時(shí),bk為-1,即水印比特為0。水印提取的誤碼率取決于混沌序列的長(zhǎng)度和嵌入水印的強(qiáng)度。
第五步:重復(fù)第一至第四步,直到水印信息提取完畢。
提取出的水印序列恢復(fù)成0.1序列后按照從左到右從上往下的順序形成二維的矩陣數(shù)據(jù)并轉(zhuǎn)為二值圖像,再反置亂得到最后所需的水印圖像。
如果水印的嵌入是經(jīng)過(guò)重復(fù)嵌入的,提取時(shí)也可以重復(fù)提取,將多個(gè)提取出的水印序列按位相加,如果其一位水印比特之和大于0,表示水印比特最終為1,否則為-1。從統(tǒng)計(jì)學(xué)的角度看,這樣也能提高水印提取的準(zhǔn)確率。
為了驗(yàn)證本文所討論水印算法的性能,作了一系列的仿真實(shí)驗(yàn)。水印選用12比特二進(jìn)制字符“101100101100”,實(shí)驗(yàn)時(shí)采用標(biāo)準(zhǔn)測(cè)試序列,見表1:

表1 實(shí)驗(yàn)用MPEG-2視頻序列格式Tab.1 Sequence of video formats
(1)不同的嵌入強(qiáng)度對(duì)視頻的影響[6]
為了能方便地測(cè)試各個(gè)不同的強(qiáng)度,實(shí)驗(yàn)選用MPEG-2視頻“football”作為測(cè)試序列,恒定的步長(zhǎng)為8,采用了不同的嵌入強(qiáng)度,分別為0、1、2、3、4、6,然后從嵌入水印的視頻中取出一個(gè)I幀畫面,與原始未加水印的相應(yīng)I幀畫面做比較。各個(gè)I幀畫面如圖2所示:

圖2 不同嵌入強(qiáng)度嵌入水印后I幀畫面Fig.2 Different embedding strength images watermarked I-frame
從圖中可以看出,嵌入強(qiáng)度越小,水印嵌入對(duì)視頻畫面的影響就越小。在強(qiáng)度為1,2,3時(shí)基本看不出有什么變化,強(qiáng)度為4時(shí)畫面已經(jīng)有個(gè)些微變化,強(qiáng)度為6時(shí)畫面的變化就比較明顯了。
從上圖中還可以看到,當(dāng)嵌入強(qiáng)度為3和6時(shí)視頻畫面色度變化比較明顯,考慮到有極少數(shù)DC系數(shù)比較大,本算法自適應(yīng)地設(shè)置嵌入強(qiáng)度變化界線為1,3,4,6。
(2)同一嵌入強(qiáng)度對(duì)不同視頻的影響
實(shí)驗(yàn)選用MPEG-2視頻“mobile”、“foreman”作為測(cè)試視頻,不同視頻嵌入同等強(qiáng)度水印后的I幀畫面如圖3所示,左排為原始I幀,右排為嵌入水印后的I幀。可以看出,原始I幀和嵌入水印后的I幀幾乎沒什么分別。
上圖根據(jù)人的主觀感受直觀地評(píng)價(jià)水印的不可見性,下面將根據(jù)實(shí)驗(yàn)數(shù)據(jù)定量地評(píng)價(jià)水印的不可見性。實(shí)驗(yàn)采用PSNR作為不可見性度量指標(biāo),不同的視頻嵌入同等強(qiáng)度水印后的I幀圖像變化如圖4所示。無(wú)論幀數(shù)如何增長(zhǎng),I幀的PSNR均保持在30以上,這就保證了水印的不可見性。

圖3 不同視頻嵌入同等強(qiáng)度水印后的I幀畫面Fig.3 Different video watermark embedded in the same intensity after the I-frame

圖4 不同視頻嵌入同等強(qiáng)度水印后的I幀圖像變化Fig.4 Different video watermark embedded in the same intensity after the I frame changes
圖像水印的魯棒性主要考慮圖像處理方面的攻擊手段,如縮放、濾波、噪聲、剪切、旋轉(zhuǎn)、銳化、平滑、抖動(dòng)等等。視頻水印除了具有對(duì)以上種種攻擊的魯棒性外,還必須考慮其他視頻處理特有的攻擊手段,如幀刪除、幀重組、幀替換、碼率改變、擾動(dòng)、幀的行/列剪切攻擊等。本文仿真實(shí)驗(yàn)對(duì)攜帶視頻的攻擊側(cè)重于視頻水印的特有攻擊。
(1)擾動(dòng)攻擊
擾動(dòng)攻擊是類似添加噪聲的攻擊方式,假設(shè)攻擊者了解水印嵌入的方案,比如本文采用的方案是修改色度DC系數(shù),甚至攻擊者也對(duì)嵌入水印的DC系數(shù)的選取有一定的了解或者猜測(cè),那么,攻擊者可以對(duì)視頻中的DC系數(shù)做隨機(jī)的擾動(dòng),試圖影響水印的提取。在這樣的情況下,水印方案應(yīng)該具有足夠的魯棒性。對(duì)擾動(dòng)攻擊,實(shí)驗(yàn)分三種情況進(jìn)行討論。
一種情況是微量干擾。實(shí)驗(yàn)將隨機(jī)選取幾組圖像組,在其色度DC系數(shù)上加上一個(gè)隨機(jī)序列,然后進(jìn)行水印提取。干擾前后變化如圖5所示。

圖5 輕微擾動(dòng)前后的圖像Fig.5 Images before and after a slight disturbance
從畫面上看,輕微擾動(dòng)前和輕微擾動(dòng)后的圖像基本沒有太明顯的變化,從中提取出的水印序列為“101100101100”,與原始水印序列相同。
另一種情況是乘性擾動(dòng),將偽隨機(jī)序列與DC系數(shù)相乘,這種擾動(dòng)對(duì)視頻圖像的干擾最大(如圖6所示)。

圖6 較大干擾后的圖像Fig.6 Larger image disturbance
經(jīng)過(guò)乘性擾動(dòng)后,視頻的變化很大,我們已經(jīng)無(wú)法從視頻序列中提取出水印。由于我們?cè)谇度霑r(shí)采用的是在DC系數(shù)上加性地嵌入水印,當(dāng)序列DC系數(shù)與偽隨機(jī)序列相乘時(shí),則不可避免的影響到其中水印信息,所以當(dāng)采用原來(lái)的相關(guān)求和的方式提取水印時(shí)就不能獲得原先的水印信息了。
乘性擾動(dòng)對(duì)視頻圖像影響太大,破壞了視頻的使用價(jià)值,所以這種攻擊的使用價(jià)值不大。
未經(jīng)授權(quán)者通過(guò)非法手段獲取水印信息,一般來(lái)說(shuō)有兩種途徑:猜測(cè)授權(quán)用戶輸入,通過(guò)統(tǒng)計(jì)方法推測(cè)。本文算法采用了Hash置亂,具有無(wú)沖突(collision)和強(qiáng)密鑰控制(3個(gè)密鑰)的特點(diǎn)。對(duì)于第一種攻擊,猜測(cè)密鑰的可能性實(shí)在太小,可以阻止。對(duì)于第二種攻擊,只要密鑰有偏差,即使是很小的偏差,置亂結(jié)果也是千差萬(wàn)別。因此,本算法對(duì)抵御第二種攻擊也具有很好的能力。
本文的提出的水印算法在不可見性、魯棒性、實(shí)時(shí)性和安全性方面的性能良好,特別是在魯棒性方面。實(shí)驗(yàn)對(duì)水印進(jìn)行了擾動(dòng)、幀刪除、格式轉(zhuǎn)化等攻擊,效果都較好。這是因?yàn)椋欢訑_后,色度DC系數(shù)的變化基本還是在算法預(yù)留變化的范圍內(nèi);而經(jīng)過(guò)幀刪除攻擊后,提取的水印序列會(huì)移位,但水印序列是重復(fù)嵌入的,經(jīng)過(guò)統(tǒng)計(jì)后,總可以提取出較為正確的水印信息。但是,由于本算法是在色度DC系數(shù)上加性地嵌入水印,本算法對(duì)乘性擾亂攻擊不具有魯棒性。
[1] 楊義先,鈕心忻.數(shù)字水印理論與技術(shù)[M].北京:高等教育出版社,2005.
[2] 邵鳳蓮,劉紅梅.基于MPEG-2標(biāo)準(zhǔn)的視頻水印技術(shù)的研究[D].廣州:中山大學(xué),2005.
[3] 徐達(dá)權(quán),黃繼武.視頻水印的算法與實(shí)現(xiàn)[D].廣州:中山大學(xué),2006.
[4] 王珒,劉泉.基于MPEG-2的魯棒視頻數(shù)字水印技術(shù)研究[D].武漢:武漢理工大學(xué),2007.
[5] 周國(guó)志,徐巖,任連濤,等.基于DCT的數(shù)字視頻水印算法研究[J].視頻技術(shù)應(yīng)用與工程,2006(9):81-83.
[6] 彭勃,黃洪.基于MPEG視頻的數(shù)字水印技術(shù)研究[D].成都:西南交通大學(xué),2005.
A DCT Domain-based Digital Video Watermarking Algorithm
SU Qin
(Faculty of Science,Kunming University of Science and Technology,Kunming 650093,China)
A design method of MPEG-2video watermark technology based on DCT domain was developed according to MPEG-2compressed video principle.After Hash scrambling,the watermark is directly imbedded into intermediate frequency coefficient in DCT domain of I-VOP.The algorithm use hash scrambling technology,chaos theory and spread frequency technology to video watermarking.The increase the invisibility,robustness and security of the watermark.
digital video watermarking;spread spectrum;MPEG-2
TP 391
A
1671-7880(2012)01-0056-04
2011-12-10
蘇 琴(1978— ),女,湖北鐘祥人,助教,研究方向:數(shù)字視頻和數(shù)字水印技術(shù)。