陽 溢,劉博文,李 揚
(1.重慶通信學(xué)院,重慶 400035;2.解放軍61655部隊,重慶 400035)
現(xiàn)代科技的快速發(fā)展促成了數(shù)字多媒體技術(shù)的日新月異,人們越來越離不開豐富多彩的數(shù)字生活。視頻因其信息量大、感受直接、客觀真實等諸多優(yōu)點成為人們獲取信息、娛樂休閑的重要媒介。但與此同時,視頻作品的大量復(fù)制與分發(fā)也給版權(quán)保護帶來了威脅。視頻所有者為了控制視頻作品的傳播途徑與范圍,采取了在發(fā)送端與接收端進(jìn)行數(shù)據(jù)加密的方法。但是加密數(shù)據(jù)一旦被破密,幾乎沒有補救措施。數(shù)字視頻水印技術(shù)為這類問題的解決提供了思路,視頻所有者將自己的版權(quán)信息嵌入到視頻中,并與視頻使用者建立對應(yīng)關(guān)系。當(dāng)出現(xiàn)版權(quán)糾紛時,可將水印作為證據(jù)來對自己的版權(quán)進(jìn)行有效保護[1-2]。
目前已提出的數(shù)字視頻水印算法主要分為基于原始視頻嵌入水印和基于壓縮編碼域嵌入水印兩類方法[3-4]。
第1類方法主要通過利用原始視頻的空間、時間冗余,或?qū)σ曨l數(shù)據(jù)進(jìn)行各類變換,再修改變換參數(shù)來實現(xiàn)水印的嵌入。這類方法具有抗攻擊性能好、易于實現(xiàn)等優(yōu)點。但由于此類算法主要是在壓縮編碼前嵌入水印,故存在抗壓縮編碼能力弱、水印不易檢測提取、實時性不能保證等缺點。文獻(xiàn)[5]先將水印信息做混沌映射以提高其安全性,再將加密后的水印嵌入到視頻序列小波變換后特定的場景分塊中,在保持較好的不可見性的同時具備對抗丟幀、幀平均、幀交換等多種攻擊的能力。文獻(xiàn)[6]先將水印進(jìn)行混沌加密以提高水印安全性,然后通過修改視頻幀奇異值分解后的最大奇異值來實現(xiàn)水印嵌入。文獻(xiàn)[7]提出了一種聯(lián)合DWT、DCT和SVD變換的視頻水印算法,具有抗多種壓縮編碼的性能。文獻(xiàn)[8]利用密鑰選取特定視頻幀,并對視頻幀的每一分量進(jìn)行互不重疊的分塊,然后對分塊做提升小波變換和低頻子帶DCT變換,最后利用自適應(yīng)機制來嵌入水印。
第2類方法主要通過結(jié)合視頻編碼器,在編碼的各個階段利用冗余進(jìn)行水印的嵌入。這類方法抗壓縮編碼的效果較好,但是缺乏對各類攻擊信號處理的魯棒性。文獻(xiàn)[9]通過分析運動矢量的區(qū)域特性,利用運動掩蔽效應(yīng)來嵌入水印,具有較好的抗壓縮攻擊效果。文獻(xiàn)[10]通過特定調(diào)制規(guī)則將水印嵌入到視頻壓縮編碼過程中的P幀,實現(xiàn)了水印的快速嵌入與檢測提取,并且很好地控制了編碼視頻的碼率上升。文獻(xiàn)[11]先分析視頻幀分塊DCT域的高細(xì)節(jié)區(qū)是否符合視覺掩蔽效應(yīng),再對水印做自適應(yīng)的嵌入,具有很好的不可見性。
在設(shè)計用于版權(quán)保護的數(shù)字視頻水印算法時,應(yīng)在充分考慮算法的復(fù)雜度、可實現(xiàn)性和抗丟幀、加噪等攻擊的同時,結(jié)合視頻壓縮編碼原理,使算法能抵抗壓縮、格式轉(zhuǎn)換等攻擊。由于第1類水印嵌入方法是在原始視頻中嵌入水印,故在嵌入階段省去了復(fù)雜的編解碼環(huán)節(jié),復(fù)雜度得以降低。另外,在原始視頻中的變換域嵌入魯棒性較強的水印可以使算法具有廣泛的抗攻擊性能。因此,本文考慮針對原始視頻的變換域來設(shè)計水印嵌入方案。
雖然考慮在原始視頻中嵌入水印,但嵌入水印后的視頻仍將通過視頻編碼才利于傳輸。目前主流的視頻壓縮編碼標(biāo)準(zhǔn)為H.264/AVC,將原始視頻幀劃分為I幀、P幀和B幀,以求在壓縮效率與視覺質(zhì)量之間達(dá)到平衡。I幀采用幀內(nèi)預(yù)測編碼,壓縮重建后的I幀失真較小,具有較好的抗壓縮失真性能,因此考慮在I幀中進(jìn)行水印的嵌入。這就要求水印嵌入算法能根據(jù)接下來的視頻編碼器對I幀的選取規(guī)則確定水印的嵌入幀。
另外,由于人眼對亮度分量的變化比對色度分量的變化更為敏感,所以選擇在I幀的亮度分量中嵌入水印。要提高水印的安全性,還應(yīng)在嵌入水印之前對水印進(jìn)行置亂處理,使得攻擊者即便知曉水印提取算法,也無法恢復(fù)出原始水印。
依據(jù)上述思考,本文提出了一種基于運動分析的DWT-SVD域視頻水印算法。先根據(jù)H.264編碼器編碼規(guī)則選取I幀,并提取亮度分量進(jìn)行二維小波變換,然后對LL分量進(jìn)行運動分析與分塊奇異值分解。與此同時,利用混沌映射對原始水印進(jìn)行置亂,根據(jù)嵌入規(guī)則修改分塊奇異值分解后的U矩陣來實現(xiàn)水印嵌入。水印提取過程是水印嵌入的逆運算。視頻水印嵌入與提取算法流程如圖1所示。

圖1 視頻水印嵌入與提取算法流程
在對數(shù)字視頻嵌入水印時,必須考慮到視頻畫面的運動對水印嵌入效果的影響,以滿足視頻水印對不可見性的要求。通常來說,人眼容易捕捉到運動的物體,即對運動的物體較為敏感。因此,視頻相鄰幀間維持不變的場景或者變化微小的場景相對于運動場景更適合水印的嵌入。另一方面,人眼雖然容易捕捉到運動的物體,但是對于快速運動的物體卻很難發(fā)現(xiàn)其細(xì)節(jié)部分的變化,所以視頻中快速運動的區(qū)域也比較適合水印的嵌入。
離散余弦變換(DCT)具有很強的“能量集中”特性。自然界中大多數(shù)信號在經(jīng)過DCT后能量都集中在低頻部分。利用該特點,可以對相鄰視頻幀進(jìn)行分塊DCT變換,然后用相鄰幀對應(yīng)的DCT子塊的直流系數(shù)變化幅度來衡量畫面的運動程度,獲得的運動系數(shù)為

其中:DC(r,s)為第r個I幀的第s個子塊DCT直流系數(shù);DE(r,s)為第r幀和其后續(xù)幀的第s子塊DCT直流系數(shù)的差值絕對值。子塊排序方式為由左至右、由上至下。
由式(1)可知:靜止不動的視頻運動系數(shù)為0,設(shè)其對應(yīng)的嵌入強度為1。隨著運動幅度的增加,嵌入強度減小;當(dāng)運動幅度進(jìn)一步增加時,嵌入強度又會增大。因此,基于分塊DCT分析的嵌入強度k1為

視頻是由連續(xù)變化的圖像組成,因此相鄰幀亮度存在一定的差值。利用該差值,可以進(jìn)一步衡量視頻畫面的運動程度。設(shè)相鄰幀子塊亮度差值為

其中:Y(r,s)為第r個I幀的第s個子塊的亮度值;M(r,s)為第r幀和后續(xù)幀的第s個子塊亮度值之差的絕對值。基于亮度差的嵌入強度k2如式(4)所示。

基于運動分析的聯(lián)合嵌入強度k3由上述2個強度分量的乘積決定,如式(5)所示。

為使水印的嵌入在魯棒性和不可見性之間達(dá)到平衡,將k3按式(6)所示進(jìn)行映射,得到總嵌入強度K:

混沌系統(tǒng)對初始值和參數(shù)具有極其敏感的依賴性,因此常把它們作為混沌加密系統(tǒng)的密鑰。TD-ERCS系統(tǒng)是一類新的全域性離散混沌系統(tǒng),具有零相關(guān)特性和穩(wěn)定的概率分布特性,其映射關(guān)系為:

給定TD-ERCS系統(tǒng)參數(shù) μ(0<μ≤1),初值x0(0 <x0≤1)和α(0<α≤π),切延遲m(m=2,3,4,…),TD-ERCS通過上述迭代關(guān)系將產(chǎn)生2個獨立的實值序列xn和kn。除給定參數(shù)外,其他一些初始值根據(jù)式(8)求得。

其中(μ,x0,α,m)稱為TD-ERCS 種子參數(shù),取μ,x0,α為密鑰控制參數(shù),0 <μ≤1,0≤x0≤1,0 <α≤π,m始終設(shè)定為3。
視頻幀屬于典型的二維信號,二維小波變換相當(dāng)于將信號在水平和垂直2個方向上進(jìn)行分解。分解結(jié)果為1個低頻分量和3個高頻分量。原信號的絕大部分能量包含在低頻分量中,水平、垂直和對角線方向上的細(xì)節(jié)信息包含在另外3個高頻分量中。由于低頻分量經(jīng)各類信號處理之后的失真較小,因而選擇在該分量進(jìn)行水印的嵌入。
圖像(視頻幀)可看作是由許多非負(fù)整數(shù)為元素組成的矩陣。設(shè)M∈Rm×n表示一個圖像矩陣,R表示實數(shù)域,則M的奇異值分解如式(9)所示。

其中:ui和vi分別是 U和V的列向量;δi是M的非零奇異值。矩陣的奇異值有著抗干擾能力強、比例不變性和旋轉(zhuǎn)不變性等諸多優(yōu)良特性。另外,經(jīng)研究發(fā)現(xiàn):U矩陣中的某些系數(shù)也具有非常好的穩(wěn)定性,特別是U(2,1)和U(3,1)相差較小,穩(wěn)定性良好。因此,本文考慮通過調(diào)制它們的數(shù)值來嵌入水印。
步驟1 根據(jù)編碼規(guī)則選取原始視頻中的I幀,提取亮度分量做二維DWT,將得到的LL分量進(jìn)行4×4分塊,按本文方法對LL分量進(jìn)行運動分析,確定每個分塊Bs的嵌入強度值Ks,其中s為子塊的序號,按由左至右、由上至下的順序排列。
步驟2 將原始水印W按本文方法進(jìn)行混沌置亂處理,得到置亂水印。
步驟4 對LL分量的第s個分塊進(jìn)行奇異值分解,取出 Us矩陣中的Us(2,1))和Us(3,1)。此時,若待嵌入信息為1,即當(dāng)(s)=1時,將Us(2,1)修改為


步驟6 對后續(xù)的置亂水印子矩陣也采用相同方法嵌入到I幀LL分量分塊SVD后的U矩陣中,然后進(jìn)行視頻重建,得到含水印視頻。
步驟1 根據(jù)編碼規(guī)則選取含水印視頻的I幀,提取亮度分量進(jìn)行二維DWT,并對LL分量進(jìn)行4×4分塊。
步驟2 對每個LL分量的第s個分塊進(jìn)行SVD,取出 Us矩陣中的 Us(2,1))和 Us(3,1)。確定置亂水印子矩陣取值為

步驟3 對后續(xù)I幀重復(fù)上述操作,再對提取的置亂水印子矩陣重組為置亂水印,最后對其逆置亂,得到水印W'。
本實驗在Matlab R2010a與VC++6.0環(huán)境下完成。采用3個不同分辨率下的視頻作為載體,待嵌水印為一幅分辨率為64×64標(biāo)有“數(shù)字水印”字樣的二值圖像。利用上述算法嵌入水印,并在水印的置亂、算法不可見性、水印的提取質(zhì)量、視頻編碼對碼率的影響、算法魯棒性等方面做相關(guān)實驗分析。
在將水印嵌入到視頻之前,為了提高水印安全性,先對原始水印按本文1.3節(jié)方法進(jìn)行混沌置亂,結(jié)果如圖2所示。可以看到:置亂后的水印呈現(xiàn)無規(guī)律性,攻擊者即便提取到了置亂水印,如果不知道水印置亂的具體方法和參數(shù),也無法知道水印內(nèi)容,從而確保了水印的安全。

圖2 原始水印和置亂水印
水印的嵌入與提取實驗首先在QCIF(176×144)格式下進(jìn)行。結(jié)果如圖3所示,其中:(a)~(c)為3個原始視頻的首幀(I幀);(d)為原始水印;(e)~(g)為3個嵌入水印視頻的首幀;(h)為提取的水印。可以看出:嵌入水印后的視頻與原始視頻在視覺上無明顯差異,且算法實現(xiàn)了對水印的盲提取。之后,將水印嵌入到 CIF(352×288)、D1(720×576)等不同格式的視頻中,結(jié)果的不可見性良好,均實現(xiàn)了盲提取。

圖3 水印嵌入與提取結(jié)果
對數(shù)字視頻水印算法而言,其性能優(yōu)劣主要體現(xiàn)在嵌入水印的不可見性與魯棒性兩方面。不可見性通過實驗已有所體現(xiàn),這里主要從嵌入水印后視頻的峰值信噪比(PSNR)方面來進(jìn)行定量分析。圖4為嵌水印視頻幀(QCIF格式)PSNR值連線圖。可以看出:PSNR均在30 dB以上,具有良好的不可見性。

圖4 嵌入水印視頻幀的PSNR
表1為采用不同格式的視頻嵌入水印后的視頻幀平均PSNR。可以看出:雖然采用的視頻分辨率存在差異,但PSNR值的變化非常微小,表明算法適用于不同分辨率的視頻。

表1 嵌入水印視頻幀的平均PSNR dB
水印的嵌入對視頻壓縮編碼可能會造成一定程度的影響。表2為原始視頻和嵌入水印視頻經(jīng)H.264編碼后的碼率,采用QCIF格式視頻。由表2可知:同原始視頻相比,嵌入水印的視頻經(jīng)編碼后的碼率略大。這是因為水印的嵌入破壞了原始視頻的部分相關(guān)性,使編碼效率降低。但是,碼率增加率都在4%以內(nèi),即水印嵌入對視頻編碼碼率影響非常小。這從另一方面表明了算法具有較好的不可見性。

表2 原始和嵌水印視頻經(jīng)H.264編碼后的碼率kbit/s
視頻水印嵌入與檢測提取的實時性是衡量算法應(yīng)用價值的一個重要指標(biāo)。表3為利用本算法將水印嵌入在不同格式的視頻所需的時間和提取所需的時間。由表3可知:水印的嵌入時間明顯短于提取時間。這是由于水印嵌入先于編碼,而水印提取則必須待需要嵌入水印的I幀解碼完成后再進(jìn)行。另外,隨著視頻分辨率的上升,所需時間也增加了,這是由于分辨率的提高導(dǎo)致了運算量的增大。但是,水印嵌入與提取所需時間均較短,能夠滿足日常應(yīng)用對實時性的要求。
水印的歸一化相關(guān)系數(shù)(NC)可以用來衡量算法的魯棒性強弱。在實驗中,視頻采用QCIF格式,應(yīng)用不同的攻擊方法對嵌入水印的視頻進(jìn)行攻擊,水印提取結(jié)果及其NC值如表4所示。由表4可知:在各種攻擊下,提取的水印能夠被正常識別,NC值都保持在 0.92以上,具有較強的魯棒性。

表3 嵌入與提取水印所需時間 s

表4 不同攻擊下視頻提取的水印
將本文算法與其他算法進(jìn)行比較,進(jìn)一步反映魯棒性的強弱。實驗中采用文獻(xiàn)[5-8]所提算法與本文算法做對比,視頻統(tǒng)一用QCIF格式的Highway視頻,實驗結(jié)果如表5所示。由表5可以看出:本文算法的抗攻擊能力具有一定優(yōu)勢,特別是在抗幀平均方面優(yōu)勢明顯,表明算法具有較強的魯棒性。

表5 不同算法的魯棒性比較
本文在深入研究已有算法的基礎(chǔ)上,結(jié)合人眼視覺特性對視頻畫面進(jìn)行運動分析,并利用混沌映射對原始水印置亂以提高算法安全性,提出一種在視頻I幀的DWT-SVD域嵌入水印的算法。實驗結(jié)果表明:本算法具有良好的不可見性和魯棒性,在版權(quán)保護和秘密信息隱藏等方面具有較好的應(yīng)用前景。
本算法也存在一些不足。例如,水印提取時間還需要進(jìn)一步縮短,水印抗壓縮能力還有待加強,水印還需具備一定的自糾錯能力等。這些問題有待進(jìn)一步研究加以解決。
[1]俞銀燕,湯幟.數(shù)字版權(quán)保護技術(shù)研究綜述[J].計算機學(xué)報,2005,28(12):1957-1968.
[2]呂高巖,張永平,梁鳳梅,等.視頻水印技術(shù)綜述[J].電視技術(shù),2012,36(21):24-29.
[3]Hussein J A.Luminance-based embedding approach for color image watermarking[J].Image,Graphics and Signal Processing,2012(3):49-55.
[4]諶志鵬,鄒建成.基于對象的抗幾何攻擊的視頻水印算法[J].北京郵電大學(xué)學(xué)報,2012,35(4):33-37.
[5]Reyes R,Cruz C,Nakano M.Digital Video Watermarking in DWT Domain Using Chaotic Mixtures[J].IEEE Latin America Transactions,2010,8(3):304-310.
[6]許鐵鑫,蔣華.基于混沌和SVD的數(shù)字視頻水印算法[J].計算機仿真,2013,30(4):406-410.
[7]Dey N,Das P,Roy A B,et al.DWT-DCT-SVD based Intravascular Ultrasound Video Watermarking[C]//2012 World Congress on Information and Communication Technologies(WICT).USA:[s.n.],2012:224-229.
[8]熊祥光,王力,王端理.基于提升小波變換和DCT的彩色視頻水印算法[J].計算機應(yīng)用研究,2013,30(4):1191-1197.
[9]Zhengdong Z,Pei W,Shen C.A video watermarking scheme based on the region character of motion vectors[J].Journal of Image and Graphics,2008,10(13):1926-1929.
[10]Noorkami M,Mersereau R M.Digital video watermarking in P-frames with controlled video bit-rate increase[J].IEEE Transaction on Information Forensics and Security,2008,3(3):441-455.
[11]陳光喜,成彥.基于HVS的抗幾何攻擊視頻水印方案[J].計算機工程,2008,34(24):152-154.