蘇 琴
(昆明理工大學(xué)理學(xué)院,云南 昆明 650093)
一種基于DCT系數(shù)的數(shù)字視頻水印算法
蘇 琴
(昆明理工大學(xué)理學(xué)院,云南 昆明 650093)
文章提出了一種基于DCT的MPEG-2視頻水印技術(shù)的設(shè)計方法。該算法將水印信息經(jīng)Hash置亂后嵌入在I幀色度DC系數(shù)上。這種算法將混沌理論與置亂技術(shù)和擴(kuò)頻技術(shù)綜合運(yùn)用到視頻水印中,既提高了水印的不可見性、魯棒性,又提高了水印的安全性。
數(shù)字視頻水印;擴(kuò)頻;MPEG-2
隨著數(shù)字視頻產(chǎn)品(如DVD、VCD、VOD、HDTV)的普及,數(shù)字水印研究的重點也由靜態(tài)圖像水印技術(shù)轉(zhuǎn)移到視頻水印技術(shù)上,對于數(shù)字視頻的版權(quán)保護(hù)無疑是未來數(shù)字水印技術(shù)研究的主要方向。在實際應(yīng)用中,視頻存在和傳播的形式更多的是以DCT變換為核心的MPEG壓縮編碼,所以對基于DCT變換的數(shù)字視頻水印方案進(jìn)行研究具有很高的價值[1]。
基于DCT變換的數(shù)字視頻水印算法,水印的嵌入和提取過程是在視頻編解碼器中進(jìn)行。該方案一般是通過調(diào)制DCT變換或量化之后的系數(shù)完成嵌入過程,因此便于通過自適應(yīng)的機(jī)制分配隱藏信息到視頻信號中,并依據(jù)人的視覺特性進(jìn)行調(diào)制,在得到較好的主觀視覺質(zhì)量的同時得到較強(qiáng)的抗攻擊能力;水印僅嵌入在DCT系數(shù)中,不會增加數(shù)據(jù)比特率;易設(shè)計出抗多種攻擊的水印。
在嵌入點的選擇上,選擇I幀進(jìn)行水印的嵌入。根據(jù)MPEG編碼特點:I幀采用幀內(nèi)編碼,只用本身的信息進(jìn)行編碼;P幀利用過去的參考進(jìn)行運(yùn)動補(bǔ)償?shù)念A(yù)測編碼;B幀利用過去和將來的參考進(jìn)行雙向運(yùn)動補(bǔ)償?shù)念A(yù)測編碼。因此I幀較獨(dú)立,最適合嵌入水印信息。I幀不能直接在MPEG-2碼流中刪除,所以對一些幀刪除、幀跳躍攻擊比較穩(wěn)健。
在DCT量化系數(shù)的選擇上,本文選擇I幀圖像DCT系數(shù)中的DC系數(shù)來進(jìn)行嵌入。在MPEG視頻編碼過程中,編碼器對亮度、色度信號分別進(jìn)行編碼,因此DCT量化系數(shù)就分為亮度DCT系數(shù)和色度DCT系數(shù)??紤]到人眼對亮度變化比色度變化更為敏感,所以盡管亮度系數(shù)比色度系數(shù)在數(shù)量上要多一些,我們?nèi)匀贿x擇在色度DC系數(shù)上添加水印,以避免對視覺效果產(chǎn)生大的影響。
1.為了進(jìn)一步提高水印的安全性,首先將水印進(jìn)行置亂處理。將圖像置亂后,得到一幅雜亂無章的圖像,這個圖像無色彩、無紋理、無形狀,從中無法讀取任何信息。根據(jù)這“三無”特征,第三方根本不可能對其進(jìn)行色彩、紋理、形狀等的統(tǒng)計分析,即便截取了秘密圖像,也是無能為力的。本文采用hash置亂,鑒于該算法具有無沖突(collision)和強(qiáng)密鑰控制的特點,顯然是一個很好的圖像置亂算法。
本文采用一個二值圖像作為原水印圖像。置亂和反置亂效果如圖1:
圖1 圖像的置亂過程Fig.1 Image scrambling process
2.通過混沌序列將水印擴(kuò)頻調(diào)制成偽隨機(jī)序列。將混沌序列用于數(shù)字水印無論是在圖像數(shù)字水印還是在視頻數(shù)字水印都有較好的效果?;煦缧蛄械膬?yōu)點在于:有很好的隨機(jī)性,其隨機(jī)性遠(yuǎn)遠(yuǎn)優(yōu)于傳統(tǒng)的序列發(fā)生器產(chǎn)生的偽隨機(jī)序列;對初始條件和參數(shù)極端敏感,混沌系統(tǒng)的密鑰空間大,有較高的抗破譯能力;產(chǎn)生混沌序列的計算復(fù)雜度高,比用m序列來得更加靈活。從理論上講,混沌信號由于對初始條件的高度敏感性,成為偽隨機(jī)信號的極佳候選者,可以用來對信號進(jìn)行加密調(diào)制。本文采用混沌序列對置亂后的二值水印進(jìn)行擴(kuò)頻調(diào)制,具體方法為:
(1)將置亂后的水印圖像矩陣按照從左到右從上往下的順序變成一維的二值序列,并將它轉(zhuǎn)化成為(-1,1)的雙極性序列B:
(2)將初值為x0=0.5Logistic映射產(chǎn)生的長度為32的混沌序列也變成(-1,1)的雙極性序列P;
(3)將雙極性水印序列進(jìn)行32位的比特重復(fù)后,用雙極性混沌序列P對其進(jìn)行調(diào)制,形成要嵌入的水印序列W。
如前面分析所述,本文在I幀的色度DC系數(shù)中嵌入水印。具體描述如下:
第一步:按位讀取原始壓縮視頻;
第二步:在讀到I幀頭部信息時將嵌入次數(shù)標(biāo)記設(shè)為0;
第三步:按照幀內(nèi)宏塊解碼方法對讀到的宏塊中的色度塊進(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是為了考慮掩蔽效果而用來調(diào)整水印強(qiáng)度所使用的系數(shù);bk為第K個水印比特;cr是擴(kuò)頻的倍數(shù);pi為混沌序列。
本文為了降低對色度DC系數(shù)的影響,采用了自適應(yīng)的分類取值:
如果原色度DC系數(shù)的絕對值為0—20,則強(qiáng)度為2;
如果原色度DC系數(shù)的絕對值為21—50,則強(qiáng)度為4;
如果原色度DC系數(shù)的絕對值大于51,則強(qiáng)度為6;
第五步:對嵌入水印后的色度DC系數(shù)進(jìn)行VLC編碼,并替換原來的色度DC系數(shù)VL編碼。
第六步:重復(fù)第一至第五步,直至水印嵌入完畢。
如果原視頻信息量很大,可以考慮將水印信息重復(fù)嵌入,可以大大增加水印的魯棒性。
本方案不需要原視頻碼流來提取水印信息(盲提?。?,通過對已加入水印的視頻碼流進(jìn)行部分解碼,并針對I幀上相應(yīng)的色度DCT系數(shù)進(jìn)行計算,具體描述如下:
第一步:按位讀取已嵌入水印的壓縮視頻流;
第二步:在讀到I幀頭部信息時將次數(shù)標(biāo)記設(shè)為0;
第三步:按照幀內(nèi)宏塊解碼方法對讀到的宏塊中的色度塊進(jìn)行VLC解碼,得到色度DC系數(shù)v′i;
第四步:并針對I幀上相應(yīng)的色度DCT系數(shù)進(jìn)行計算:
這里v'i是已經(jīng)嵌入水印的色度DC系數(shù)。由于序列中兩種極性出現(xiàn)的次數(shù)大致相等,當(dāng)它與其他序列相乘時,其值非常小,上式中Sk的正負(fù)主要決定于bk,所以檢測到的水印比特位與原先嵌入的水印信息比特位相同的。當(dāng)Sk大于0時,bk為1,則水印比特為1;當(dāng)Sk小于0時,bk為-1,即水印比特為0。水印提取的誤碼率取決于混沌序列的長度和嵌入水印的強(qiáng)度。
第五步:重復(fù)第一至第四步,直到水印信息提取完畢。
提取出的水印序列恢復(fù)成0.1序列后按照從左到右從上往下的順序形成二維的矩陣數(shù)據(jù)并轉(zhuǎn)為二值圖像,再反置亂得到最后所需的水印圖像。
如果水印的嵌入是經(jīng)過重復(fù)嵌入的,提取時也可以重復(fù)提取,將多個提取出的水印序列按位相加,如果其一位水印比特之和大于0,表示水印比特最終為1,否則為-1。從統(tǒng)計學(xué)的角度看,這樣也能提高水印提取的準(zhǔn)確率。
為了驗證本文所討論水印算法的性能,作了一系列的仿真實驗。水印選用12比特二進(jìn)制字符“101100101100”,實驗時采用標(biāo)準(zhǔn)測試序列,見表1:
表1 實驗用MPEG-2視頻序列格式Tab.1 Sequence of video formats
(1)不同的嵌入強(qiáng)度對視頻的影響[6]
為了能方便地測試各個不同的強(qiáng)度,實驗選用MPEG-2視頻“football”作為測試序列,恒定的步長為8,采用了不同的嵌入強(qiáng)度,分別為0、1、2、3、4、6,然后從嵌入水印的視頻中取出一個I幀畫面,與原始未加水印的相應(yīng)I幀畫面做比較。各個I幀畫面如圖2所示:
圖2 不同嵌入強(qiáng)度嵌入水印后I幀畫面Fig.2 Different embedding strength images watermarked I-frame
從圖中可以看出,嵌入強(qiáng)度越小,水印嵌入對視頻畫面的影響就越小。在強(qiáng)度為1,2,3時基本看不出有什么變化,強(qiáng)度為4時畫面已經(jīng)有個些微變化,強(qiáng)度為6時畫面的變化就比較明顯了。
從上圖中還可以看到,當(dāng)嵌入強(qiáng)度為3和6時視頻畫面色度變化比較明顯,考慮到有極少數(shù)DC系數(shù)比較大,本算法自適應(yīng)地設(shè)置嵌入強(qiáng)度變化界線為1,3,4,6。
(2)同一嵌入強(qiáng)度對不同視頻的影響
實驗選用MPEG-2視頻“mobile”、“foreman”作為測試視頻,不同視頻嵌入同等強(qiáng)度水印后的I幀畫面如圖3所示,左排為原始I幀,右排為嵌入水印后的I幀。可以看出,原始I幀和嵌入水印后的I幀幾乎沒什么分別。
上圖根據(jù)人的主觀感受直觀地評價水印的不可見性,下面將根據(jù)實驗數(shù)據(jù)定量地評價水印的不可見性。實驗采用PSNR作為不可見性度量指標(biāo),不同的視頻嵌入同等強(qiáng)度水印后的I幀圖像變化如圖4所示。無論幀數(shù)如何增長,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)、銳化、平滑、抖動等等。視頻水印除了具有對以上種種攻擊的魯棒性外,還必須考慮其他視頻處理特有的攻擊手段,如幀刪除、幀重組、幀替換、碼率改變、擾動、幀的行/列剪切攻擊等。本文仿真實驗對攜帶視頻的攻擊側(cè)重于視頻水印的特有攻擊。
(1)擾動攻擊
擾動攻擊是類似添加噪聲的攻擊方式,假設(shè)攻擊者了解水印嵌入的方案,比如本文采用的方案是修改色度DC系數(shù),甚至攻擊者也對嵌入水印的DC系數(shù)的選取有一定的了解或者猜測,那么,攻擊者可以對視頻中的DC系數(shù)做隨機(jī)的擾動,試圖影響水印的提取。在這樣的情況下,水印方案應(yīng)該具有足夠的魯棒性。對擾動攻擊,實驗分三種情況進(jìn)行討論。
一種情況是微量干擾。實驗將隨機(jī)選取幾組圖像組,在其色度DC系數(shù)上加上一個隨機(jī)序列,然后進(jìn)行水印提取。干擾前后變化如圖5所示。
圖5 輕微擾動前后的圖像Fig.5 Images before and after a slight disturbance
從畫面上看,輕微擾動前和輕微擾動后的圖像基本沒有太明顯的變化,從中提取出的水印序列為“101100101100”,與原始水印序列相同。
另一種情況是乘性擾動,將偽隨機(jī)序列與DC系數(shù)相乘,這種擾動對視頻圖像的干擾最大(如圖6所示)。
圖6 較大干擾后的圖像Fig.6 Larger image disturbance
經(jīng)過乘性擾動后,視頻的變化很大,我們已經(jīng)無法從視頻序列中提取出水印。由于我們在嵌入時采用的是在DC系數(shù)上加性地嵌入水印,當(dāng)序列DC系數(shù)與偽隨機(jī)序列相乘時,則不可避免的影響到其中水印信息,所以當(dāng)采用原來的相關(guān)求和的方式提取水印時就不能獲得原先的水印信息了。
乘性擾動對視頻圖像影響太大,破壞了視頻的使用價值,所以這種攻擊的使用價值不大。
未經(jīng)授權(quán)者通過非法手段獲取水印信息,一般來說有兩種途徑:猜測授權(quán)用戶輸入,通過統(tǒng)計方法推測。本文算法采用了Hash置亂,具有無沖突(collision)和強(qiáng)密鑰控制(3個密鑰)的特點。對于第一種攻擊,猜測密鑰的可能性實在太小,可以阻止。對于第二種攻擊,只要密鑰有偏差,即使是很小的偏差,置亂結(jié)果也是千差萬別。因此,本算法對抵御第二種攻擊也具有很好的能力。
本文的提出的水印算法在不可見性、魯棒性、實時性和安全性方面的性能良好,特別是在魯棒性方面。實驗對水印進(jìn)行了擾動、幀刪除、格式轉(zhuǎn)化等攻擊,效果都較好。這是因為,一定加擾后,色度DC系數(shù)的變化基本還是在算法預(yù)留變化的范圍內(nèi);而經(jīng)過幀刪除攻擊后,提取的水印序列會移位,但水印序列是重復(fù)嵌入的,經(jīng)過統(tǒng)計后,總可以提取出較為正確的水印信息。但是,由于本算法是在色度DC系數(shù)上加性地嵌入水印,本算法對乘性擾亂攻擊不具有魯棒性。
[1] 楊義先,鈕心忻.數(shù)字水印理論與技術(shù)[M].北京:高等教育出版社,2005.
[2] 邵鳳蓮,劉紅梅.基于MPEG-2標(biāo)準(zhǔn)的視頻水印技術(shù)的研究[D].廣州:中山大學(xué),2005.
[3] 徐達(dá)權(quán),黃繼武.視頻水印的算法與實現(xiàn)[D].廣州:中山大學(xué),2006.
[4] 王珒,劉泉.基于MPEG-2的魯棒視頻數(shù)字水印技術(shù)研究[D].武漢:武漢理工大學(xué),2007.
[5] 周國志,徐巖,任連濤,等.基于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ù)。