崔壯,呂俊白
(華僑大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,福建 廈門361021)
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,數(shù)字視頻水印技術(shù)成為了當(dāng)前水印研究的一個(gè)熱點(diǎn).然而,數(shù)字視頻序列不同于靜態(tài)圖片載體,每個(gè)視頻序列幀之間具有一些固有的特征,這導(dǎo)致視頻水印技術(shù)的發(fā)展落后于數(shù)字圖像水印技術(shù).視頻水印按嵌入的時(shí)間不同,分為基于原始視頻的水印嵌入和基于壓縮視頻的水印嵌入[1].基于原始視頻的嵌入是指對(duì)未經(jīng)編碼的視頻序列進(jìn)行處理,如文獻(xiàn)[2]在傳統(tǒng)的差分能量水印算法基礎(chǔ)上,通過在水印嵌入過程中引入能量分布公式,改進(jìn)傳統(tǒng)的差分能量水印算法,增加了嵌入的有效性和水印的穩(wěn)健性 .文獻(xiàn)[3]中首先對(duì)壓縮視頻進(jìn)行解碼,利用水印分層的思想,將灰度水印圖像自適應(yīng)地嵌入于離散余弦變換(DCT)系數(shù)中.基于視頻的水印嵌入技術(shù)與以圖像為載體的水印嵌入技術(shù)最大的不同之處在于載體的運(yùn)動(dòng)性.根據(jù)相關(guān)的心理視覺研究表明,人眼對(duì)各種環(huán)境有不同的敏感性.例如,由于人類視覺的惰性,對(duì)運(yùn)動(dòng)的物體比較敏感,但對(duì)高速運(yùn)動(dòng)物體的細(xì)節(jié)部分則不是很敏感.基于此,本文根據(jù)人眼視覺敏感特性,提出一種將水印嵌入于載體快速運(yùn)動(dòng)區(qū)域塊的水印算法.
自21世紀(jì)80年代開始,小波理論研究工作日臻完善,應(yīng)用的領(lǐng)域也不斷擴(kuò)大.然而,傳統(tǒng)離散小波變換(DWT)卻有著明顯的不足,即平移敏感性和方向選擇缺乏 .這些缺陷可能使小波在提取信號(hào)特征時(shí)丟失一些重要的信息.為了克服DWT的這些缺陷,Kingsbury等[4-5]提出了具有平移不變性和多方向選擇性的雙樹小波復(fù)小波變換(DT-CWT).它是通過兩個(gè)獨(dú)立的小波變換并行作用于信號(hào)實(shí)現(xiàn)實(shí)部(tree-A)和虛部(tree-B)運(yùn)算的.
圖1 二維DT-CWT分解圖Fig.1 2-D DT-CWT decomposition
圖1為二維DT-CWT分解框圖 .其每一級(jí)的分解產(chǎn)生2個(gè)低頻子帶(用于下一尺度上的系數(shù)計(jì)算)和6個(gè)方向(±15°,±45°,±75°)的高頻子帶,D維的雙樹復(fù)小波變換的冗余度為2D∶1.
光流[6]的基本原理是,利用不同圖像序列中的各像素位置強(qiáng)度隨著時(shí)間的變化而改變,同時(shí)相鄰序列中的像素又具有強(qiáng)相關(guān)性等特性來確定每個(gè)像素位置的“運(yùn)動(dòng)”.即反映圖像的灰度在時(shí)間上的變化與景象中物體結(jié)構(gòu)及其運(yùn)動(dòng)的關(guān)系.光流場(chǎng)是圖像灰度模式的表觀運(yùn)動(dòng),是一個(gè)二維矢量場(chǎng),所包含的信息就是各個(gè)像素點(diǎn)的瞬時(shí)運(yùn)動(dòng)速度矢量信息.
文中采用微分光流計(jì)算的代表方法Horn-Schunck算法[7],來計(jì)算每一個(gè)視頻幀的光流場(chǎng)信息.該算法的基本思想是在求解光流信息量時(shí),要求光流本身盡可能地平滑,即引入對(duì)光流的整體平滑性約束來求解約束方程的病態(tài)問題.利用Horn-Schunck算法計(jì)算的foreman視頻序列的第6幀和第63幀的光流計(jì)算結(jié)果,如圖2所示.
圖2 Horn-Schunck算法的光流場(chǎng)計(jì)算仿真實(shí)驗(yàn)Fig.2 Optical flow calculating simulation in Horn-Schunck
一個(gè)視頻鏡頭是由一些連續(xù)、漸變的幀所組成,關(guān)鍵幀就是反映了這段鏡頭里面主要內(nèi)容的關(guān)鍵圖像幀.文中選擇Wolf所提出的極小值算法來提取關(guān)鍵幀.Wolf算法通過光流分析來計(jì)算視頻幀中的運(yùn)動(dòng)量,在運(yùn)動(dòng)量局部最小值處選取關(guān)鍵幀,這些關(guān)鍵幀反映了視頻數(shù)據(jù)的靜止?fàn)顟B(tài)[8].該視頻幀的總光流M(t)為
式(1)中:u,v為該視頻幀中光流矢量的兩個(gè)分量.
Foreman視頻序列中的每一幀圖片光流場(chǎng)量所連成的曲線圖,如圖3所示 .根據(jù)Wolf算法選取光流曲線圖中的極小值點(diǎn)所在的幀圖片作為水印嵌入的關(guān)鍵幀.同時(shí),考慮到不同的幀圖像間的橫向比較,算法選取總光流最大的P幀作為嵌入水印的關(guān)鍵幀.
圖3 視頻序列的光流場(chǎng)計(jì)算曲線Fig.3 Calculating curve in optical flow of the video
因?yàn)楣饬骺梢员碚魑矬w運(yùn)動(dòng)情況,對(duì)物體的運(yùn)動(dòng)區(qū)域進(jìn)行估計(jì),光流法求出的不同位置上的光流矢量越大,代表這個(gè)位置上的運(yùn)動(dòng)速度越快 .那么,這些位置上人眼的敏感性就會(huì)最弱,進(jìn)行水印的嵌入也是最合適的.文中選取每個(gè)關(guān)鍵視頻幀中系數(shù)值最大的位置作為重要系數(shù)用于嵌入水印.視頻幀重要系數(shù)的提取有如下3個(gè)具體步驟.
1)對(duì)每一個(gè)Wolf算法所提取的關(guān)鍵幀再次進(jìn)行光流場(chǎng)的計(jì)算.
2)對(duì)計(jì)算得到的光流信息矩陣進(jìn)行降維后按照升序排序.
3)選擇排序前N位作為重要系數(shù)用于水印嵌入,達(dá)到在每個(gè)所選取的關(guān)鍵幀中嵌入一個(gè)小的水印分塊的目的,即實(shí)現(xiàn)將水印分塊嵌入于視頻幀的子塊中.
水印嵌入利用圖像的分塊嵌入原則,將分塊后的子水印信息嵌入于每一個(gè)視頻幀的重要系數(shù)中,有效保證水印算法的不可見性 .水印嵌入有如下4個(gè)具體步驟.
1)對(duì)原始水印W圖像進(jìn)行置亂加密,置亂次數(shù)作為密鑰記為key1.
2)將置亂后的水印圖像分成小塊,并將其按行優(yōu)先排序標(biāo)號(hào),分別記為w1,w2,…,wk.
3)對(duì)選取的每個(gè)關(guān)鍵幀的重要系數(shù)進(jìn)行2次雙樹復(fù)小波變換,選擇低頻子帶,對(duì)其進(jìn)行分塊,在每個(gè)小塊中嵌入1bit位的水印信號(hào),將具體的水印嵌入位置進(jìn)行加密,記密鑰為key2.
4)對(duì)每個(gè)低頻的分塊子圖按照關(guān)系特征關(guān)系的方法進(jìn)行水印的嵌入,具體的嵌入公式為
式(2)中:Mi為第i個(gè)小塊中水印嵌入位置的系數(shù);Ii為原始載體第i個(gè)小塊;ave(Ii)為小塊系數(shù)的均值;wi為第i位上的水印信號(hào)值.
水印的提取過程就是嵌入關(guān)系的逆過程,有如下2個(gè)具體步驟.
1)選取關(guān)鍵幀的重要系數(shù)進(jìn)行2次雙樹復(fù)小波變換,并對(duì)低頻子帶進(jìn)行2×2分塊.
2)根據(jù)密鑰找到水印的嵌入位置,對(duì)比每個(gè)小塊內(nèi)嵌入系數(shù)與均值間的關(guān)系,提取出水印信號(hào),有
實(shí)驗(yàn)以MATLAB 7.10.0為平臺(tái),使用的水印為具有意義的二值水印圖像,載體序列是300幀的Foreman視頻序列和478幀的Friends視頻序列.采用峰值信噪比(RSN)和誤碼率(Ec)為客觀評(píng)價(jià)標(biāo)準(zhǔn),其計(jì)算式為
式(4)中:f,f′為計(jì)算的兩幅圖像矩陣;M,N為矩陣的行數(shù)和列數(shù);wi,j為原始的水印信號(hào);w′i,j為提取出的水印信號(hào).
水印的不可見性就是要求視頻在嵌入水印后,在視覺上無法感知水印的存在.Foreman視頻序列第10幀圖像和Friends視頻序列第224幀圖像嵌入水印前后的載體視頻幀對(duì)比,分別如圖4,5所示.從圖4,5可知:圖像幾乎看不出嵌入水印后載體的變化,說明算法的圖像視覺效果很好.
圖5 Friends視頻序列第224幀圖像嵌入水印前后的視頻幀嵌入對(duì)比Fig.5 Video of friends after embedded in 224th frame
嵌入載體后,圖像亮度分量上的峰值信噪比(RSN)變化情況,如圖6所示 .從圖6可知:嵌入水印后的Foreman和Friends視頻的RSN平均值分別為43.287 3,44.619 9,說明嵌入水印后的視頻序列具有很好的不可見性.
由于視頻序列的運(yùn)動(dòng)性,所以視頻水印技術(shù)的另一個(gè)重要評(píng)價(jià)指標(biāo)是其算法的復(fù)雜度,也就是視頻水印算法運(yùn)行所需要的時(shí)間.Foreman視頻序列各幀的算法運(yùn)行時(shí)間與文獻(xiàn)[9]中的各幀運(yùn)行時(shí)間對(duì)比,如圖7所示 .由圖7可知:算法的平均運(yùn)行時(shí)間為0.243 7s,與文獻(xiàn)[9]中的平均運(yùn)行時(shí)間0.24s基本相同,優(yōu)于文獻(xiàn)[10]中的算法,證明文中的視頻水印算法具有良好的實(shí)時(shí)性.
圖6 嵌入水印后的RSN變化情況Fig.6 RSNof the watermarking after embedded
圖7 Foreman視頻序列運(yùn)行時(shí)間 Fig.7 Running time of the algorithm
嵌入水印后,載體視頻幀的比特率變化如表1所示 .表1中:Rbit為視頻的比特率;ηbit為比特率的相對(duì)變化率.
對(duì)原始視頻序列foreman進(jìn)行增加噪聲、幀刪除等攻擊,計(jì)算得出提取水印的誤碼率(Ec),結(jié)果如表2所示.
表1 視頻序列碼率變化Tab.1 Code rate of video after embed
表2 攻擊后提取出水印信號(hào)誤碼率Tab.2 Error code rate of the watermarking after attack
采用光流場(chǎng)技術(shù)對(duì)視頻幀進(jìn)行運(yùn)動(dòng)估計(jì),將水印圖像分塊嵌入于載體中,這種分塊區(qū)域的嵌入方法有助于降低嵌入水印后的載體失真.實(shí)驗(yàn)表明:算法無論是在載體的保真性還是抵抗惡意攻擊的魯棒性上,均取得了很好的效果.
[1] 曾驍,陳真勇,陳明,等.基于幀間預(yù)測(cè)誤差擴(kuò)展的可逆視頻水?。跩].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)學(xué)報(bào),2010,22(5):871-878.
[2] 傅德勝,王建榮.基于 H.264的視頻水印技術(shù)[J].計(jì)算機(jī)應(yīng)用,2009,29(4):1174-1176.
[3] BISWAS S,DAS S R,PETRIU E M.An adaptive compressed MPEG-2video watermarking scheme[J].IEEE Transactions on Instrumentation and Measurement,2005,54(5):1853-1861.
[4] SELESNICK I W,BARANIUK R G,KINGSBURY N G.The dual-tree complex wavelet transform[J].IEEE Signal Processing,2005,22(6):123-151.
[5] KINGSBURY N.Complex wavelets for shift invariant analysis and filtering of signals[J].Applied and Computational Harmonic Analysis,2001,10(3):234-253.
[6] DEQING S,ROTH S,BLACK M J.Secrets of optical flow estimation and their principles[C]∥IEEE Conference on Computer Vision and Pattern Recognition.San Francisco:Computer Vision and Pattern Recognition,2010:2432-2439.
[7] 謝梅芬.Horn-Schunck光流算法在運(yùn)動(dòng)目標(biāo)檢測(cè)及跟蹤中的運(yùn)用研究[J].長江大學(xué)學(xué)報(bào):自然科學(xué)版,2012,11(9):146-147.
[8] 李玉峰.基于動(dòng)態(tài)幀的視頻關(guān)鍵幀提取算法研究[J].天津科技大學(xué)學(xué)報(bào),2009,24(4):69-72.
[9] 曾驍,陳真勇,陳明,等.基于幀間預(yù)測(cè)誤差擴(kuò)展的可逆視頻水?。跩].計(jì)算機(jī)輔助設(shè)計(jì)與圖形學(xué)報(bào),2010,22(5):871-878.
[10] LIN C C,HSUEH N L.A lossless data hiding scheme based on three-pixel block differences[J].Pattern Recognition,2008,41(4):1415-1425.