謝 斌,彭 林
(江西理工大學(xué) 信息工程學(xué)院,江西 贛州 341000)
?
基于H.264誤差漂移補(bǔ)償?shù)聂敯粜砸曨l水印算法
謝斌,彭林
(江西理工大學(xué)信息工程學(xué)院,江西 贛州 341000)
針對(duì)現(xiàn)有基于H.264的視頻水印算法存在誤差漂移的問(wèn)題,在分析了誤差漂移產(chǎn)生原因的基礎(chǔ)上,提出了一種抑制誤差漂移的魯棒性視頻水印新算法。通過(guò)調(diào)制H.264編碼中I幀量化后的4×4 DCT系數(shù)來(lái)實(shí)現(xiàn)水印的嵌入,并對(duì)幀內(nèi)預(yù)測(cè)量化后滿(mǎn)足特定條件的DCT子塊的最后一行、列進(jìn)行補(bǔ)償和對(duì)幀間預(yù)測(cè)進(jìn)行補(bǔ)償,有效地抑制了幀內(nèi)、幀間誤差漂移。另外,該算法結(jié)合CAVLC編碼來(lái)調(diào)制量化后的DCT殘差系數(shù),使整體碼流變動(dòng)較小,并且算法能夠根據(jù)不同視頻序列自適應(yīng)地調(diào)節(jié)嵌入容量及嵌入位置,具有較好的靈活性和魯棒性。在水印提取過(guò)程中,不需要原始視頻的參與,即可實(shí)現(xiàn)盲提取。仿真實(shí)驗(yàn)結(jié)果表明,該算法在具有良好不可見(jiàn)性的前提下,對(duì)壓縮碼率影響較小,能夠較好地抵抗噪聲、幀剪切、重編碼等攻擊。
視頻水??;誤差漂移;魯棒性;DCT變換;幀內(nèi)預(yù)測(cè)
視頻水印技術(shù)是當(dāng)前保護(hù)視頻版權(quán)最有效的手段之一,H.264采用先進(jìn)的編碼標(biāo)準(zhǔn),以其低碼率、高質(zhì)量、網(wǎng)絡(luò)適應(yīng)性強(qiáng)等優(yōu)點(diǎn)被廣泛應(yīng)用于數(shù)字媒體中。因此,研究適用于H.264編解碼標(biāo)準(zhǔn)的視頻水印算法具有較好的現(xiàn)實(shí)意義[1-2]?;贖.264標(biāo)準(zhǔn)的壓縮域水印算法主流設(shè)計(jì)方案大致包括DCT系數(shù)嵌入法[3-5]和運(yùn)動(dòng)矢量嵌入法[6]。但不管使用上述何種嵌入方法,誤差漂移失真始終是H.264壓縮域算法中面臨的最大問(wèn)題。
文獻(xiàn)[7]利用雙樹(shù)復(fù)小波變換提取視覺(jué)特征,并結(jié)合紋理掩蔽效應(yīng)確定嵌入位置,該算法具有較好不可見(jiàn)性,但并沒(méi)有從根本上解決誤差漂移的問(wèn)題。文獻(xiàn)[8]提出一種低復(fù)雜度的誤差補(bǔ)償算法,該算法在DCT系數(shù)中嵌入水印信息,利用誤差預(yù)測(cè)模板對(duì)當(dāng)前塊進(jìn)行動(dòng)態(tài)補(bǔ)償,該算法雖然復(fù)雜度低,但并沒(méi)有完全消除誤差漂移。文獻(xiàn)[9]較詳細(xì)地分析了由于水印嵌入而產(chǎn)生誤差漂移的機(jī)制,并通過(guò)水印模版對(duì)幀內(nèi)4×4子塊最后一行(一列)進(jìn)行補(bǔ)償,雖然消除了幀內(nèi)誤差漂移,卻沒(méi)有考慮幀間誤差漂移。
針對(duì)上述問(wèn)題,文中提出了一種能有效消除幀內(nèi)、幀間誤差漂移的魯棒性盲視頻水印算法。該算法在I幀量化后的4×4 DCT系數(shù)中嵌入水印信息,結(jié)合H.264編解碼標(biāo)準(zhǔn)對(duì)嵌入操作中產(chǎn)生的漂移誤差進(jìn)行補(bǔ)償,從而有效地減小了幀內(nèi)、幀間誤差漂移。 另外,該算法能根據(jù)不同運(yùn)動(dòng)程度畫(huà)面的視頻序列自適應(yīng)地選擇滿(mǎn)足條件的DCT子塊進(jìn)行水印嵌入。并且,嵌入容量也隨著不同運(yùn)動(dòng)程度畫(huà)面的視頻序列自適應(yīng)調(diào)整,因此,算法更具有較好的靈活性和魯棒性。
1.1亮度4×4塊幀內(nèi)預(yù)測(cè)
幀內(nèi)預(yù)測(cè)是H.264提出的一種特有的編碼技術(shù),它使用空間中相鄰塊間的空間相關(guān)性進(jìn)行預(yù)測(cè)。在H.264基本檔次中包括4種幀內(nèi)預(yù)測(cè)方式,即4×4亮度塊的幀內(nèi)預(yù)測(cè)(INTRA_4×4)、16×16亮度塊的幀內(nèi)預(yù)測(cè)(INTRA_16×16)、8×8色度塊的幀內(nèi)預(yù)測(cè)和PCM預(yù)測(cè)。
INTRA_4×4有9種預(yù)測(cè)模式,圖1所示為亮度4×4幀內(nèi)預(yù)測(cè)及8種預(yù)測(cè)方向(除了DC預(yù)測(cè)模式)示意圖,其中圖1a為當(dāng)前4×4塊與其周邊相鄰各像素值,其中a~p為當(dāng)前4×4塊像素值,A~M為其左邊和上邊已編碼塊的邊緣像素值。其預(yù)測(cè)值p是根據(jù)A~M的值按9種不同的方向進(jìn)行預(yù)測(cè)取最優(yōu)得到,圖1b為幀內(nèi)4×4子塊除了DC模式之外的8種預(yù)測(cè)方向,其第一個(gè)編碼的宏塊預(yù)測(cè)值為128。
圖1 亮度4×4幀內(nèi)預(yù)測(cè)及8種預(yù)測(cè)方向
1.2亮度塊殘差編解碼過(guò)程
H.264視頻編解碼標(biāo)準(zhǔn)采用4×4的整數(shù)DCT變換,在降低算法復(fù)雜度的同時(shí)也有效降低了塊內(nèi)失真。DCT變換因其簡(jiǎn)單、快速、易實(shí)現(xiàn)等優(yōu)點(diǎn)而被多數(shù)視頻壓縮標(biāo)準(zhǔn)所采用。在編碼端,基于4×4塊的整數(shù)離散余弦核變換公式為
(1)
式中:R是殘差矩陣;Y是殘差矩陣R的整數(shù)DCT變換結(jié)果,該結(jié)果未經(jīng)尺度變換處理,其中
(2)
尺度變換歸入量化階段進(jìn)行
(3)
(4)
(5)
其中
(6)
2.1嵌入失真分析
(7)
CT(Δ×Qstep×PF)C]
(8)
用嵌入信息前后殘差矩陣元素的變化表示嵌入誤差,則嵌入誤差E如下
E=R″-R″=CT(Δ×Qstep×PF)C
(9)
下面以foreman視頻的I幀第一個(gè)宏塊第3個(gè)4×4子塊為例,該4×4經(jīng)量化后的DCT殘差矩陣A如下
(10)
對(duì)A進(jìn)行反量化反DCT變換操作再加上預(yù)測(cè)值矩陣P得到重構(gòu)的4×4像素值矩陣
(11)
假設(shè)嵌入信息使矩陣A中某元素值作微小變動(dòng),不妨將A1,2中的-16改為-15,即得到嵌入信息后的4×4量化DCT殘差矩陣A′,然后對(duì)A′進(jìn)行反量化反DCT變換操作,再加上預(yù)測(cè)值P得到重構(gòu)的嵌入水印信息的4×4像素值矩陣
(12)
則嵌入誤差E為
(13)
由此可見(jiàn)即使對(duì)量化后的DCT系數(shù)矩陣作輕微的改動(dòng),也會(huì)引起矩陣中所有元素的變動(dòng),而該子塊又作為其他塊的參考子塊,如此誤差一直傳遞下去,并逐步積累,最終引起嚴(yán)重的視覺(jué)失真。
2.2誤差漂移補(bǔ)償
由上節(jié)可知,在幀內(nèi)預(yù)測(cè)中,當(dāng)前塊的預(yù)測(cè)值與相鄰塊的邊緣像素值(最后一行或最后一列)有關(guān),可以考慮在嵌入信息過(guò)程中進(jìn)行誤差補(bǔ)償,使相鄰塊的最后一行或最后一列保持不變,那么后續(xù)的待預(yù)測(cè)塊便能準(zhǔn)確地根據(jù)參考像素值進(jìn)行預(yù)測(cè),從而防止誤差擴(kuò)散,視頻質(zhì)量得到有效的保證。
(14)
同時(shí)設(shè)
(15)
(16)
圖2 誤差補(bǔ)償嵌入
通過(guò)誤差補(bǔ)償嵌入能保證信息嵌入前后當(dāng)前塊邊緣像素值不變,從而有效解決了I幀幀內(nèi)失真漂移問(wèn)題。但后續(xù)P和B幀需要I幀信息作為幀間預(yù)測(cè)參考幀,僅保證誤差矩陣最后一行(列)為0并不能解決幀間誤差漂移問(wèn)題。繼續(xù)求解式(15)可得第二行元素值的解。
(17)
(18)
由式(18)知,解中對(duì)應(yīng)列號(hào)相同的兩個(gè)元素改變量一樣且為常量(α為常量),這樣在進(jìn)行幀間預(yù)測(cè)前可以通過(guò)誤差補(bǔ)償使誤差矩陣E的第二行為0,從而可以有效避免幀間誤差漂移,較好地解決了因誤差漂移引起的視頻失真問(wèn)題。同理,對(duì)列操作也可以得到類(lèi)似的結(jié)果,這里不再論述。
3.1水印的嵌入
1) 將視頻流進(jìn)行熵解碼得到量化后的DCT殘差矩陣Y,為保證殘差矩陣有較大的系數(shù)能量,這里設(shè)定一個(gè)閾值T(本文中T=5)。如果Y中非零元素大于閾值T則進(jìn)行下一步操作,否則轉(zhuǎn)取下一個(gè)DCT殘差矩陣,直到滿(mǎn)足條件。
2) 判斷(Y12,Y32)或(Y13,Y33)是否非零,如果Y12和Y32均不為零則進(jìn)一步判斷是否滿(mǎn)足Y12≠-1,-2,Y32≠1,2,(Y12,Y32)不滿(mǎn)足條件再判斷(Y13,Y33),若滿(mǎn)足條件則進(jìn)行下一步操作,否則轉(zhuǎn)入步驟1)。
3) 將水印信息W置亂操作,并轉(zhuǎn)化為一維隨機(jī)的(0,1)序列,即Wi=0或1,其中i=1,2,…,length(W)。
4)進(jìn)行水印嵌入操作
(1)當(dāng)水印序列為Wi=1時(shí),若Y中元素Y12為奇數(shù)則不變,如果為偶數(shù),將Y12加1同時(shí)將Y32減1作為誤差補(bǔ)償
(19)
(2)當(dāng)水印序列為Wi=0,若Y中元素Y12為偶數(shù)則不變,如果為奇數(shù),將Y12加1同時(shí)將Y32減1作為誤差補(bǔ)償
(20)
5) 嵌入信息后得到的殘差矩陣為Y′,在進(jìn)行幀間預(yù)測(cè)前對(duì)Y′第二、三行進(jìn)行補(bǔ)償處理使其恢復(fù)為原來(lái)的殘差矩陣Y,便于幀間預(yù)測(cè)的準(zhǔn)確進(jìn)行,并記錄嵌入水印子塊的相關(guān)信息。最后將該子塊重新熵編碼歸入原始視頻流中。
3.2水印的提取
1)將視頻流進(jìn)行熵解碼,得到量化后含水印信息的DCT殘差矩陣Y′,如果Y′中非零元素大于閾值T則進(jìn)行下一步操作,否則取下一個(gè)DCT殘差矩陣,直到滿(mǎn)足條件。
2)提取嵌入過(guò)程中記錄的嵌入子塊判斷Y12或Y13,如果Y12或Y13為奇,則提取水印為1,否則為0。重復(fù)1)~2)直至完全提取出水印信息。
文中在VC++6.0和MATLABR2014a平臺(tái)下,采用H.264/AVC編碼標(biāo)準(zhǔn)的參考軟件JM8.6基本檔次及參考視頻foreman,carphone,bus,football,測(cè)試視頻長(zhǎng)度50幀(QCIF176×144),視頻幀結(jié)構(gòu)為IPPPP格式,I幀周期為10,幀率為30 幀/秒(f/s),量化參數(shù)QP=28,水印取值為(0,1)序列,用MATLABR2014a對(duì)水印序列進(jìn)行相關(guān)處理。
4.1不可見(jiàn)性分析
視頻水印的最基本要求是滿(mǎn)足不可見(jiàn)性,圖3所示為水印嵌入前后重建圖像的比較,分別給出了foreman,carphone,bus,football視頻序列第21幀水印嵌入前后解碼的視頻幀圖像。圖3a所示依次為foreman,carphone,bus,football視頻第21幀原始重建圖像,圖3b所示為它們嵌入水印后的重建圖像。
圖3 水印嵌入前后重建圖像的比較
從圖3可以看出,該算法嵌入水印信息并沒(méi)有引起重建圖像的視覺(jué)失真。為了更好更科學(xué)地評(píng)價(jià)視頻質(zhì)量,這里引入基于人眼視覺(jué)模型的視頻質(zhì)量客觀評(píng)價(jià)指標(biāo)PSNR(PeakSignaltoNoiseRatio),即峰值信噪比。圖4所示為嵌入水印前后視頻PSNR值,分別給出了foreman,carphone,bus,football視頻在沒(méi)有嵌入水印信息和嵌入水印信息情況下的PSNR值。
圖4 嵌入水印前后視頻PSNR值
由圖4知,通過(guò)對(duì)foreman,carphone,bus,football視頻序列的統(tǒng)計(jì),發(fā)現(xiàn)水印信息嵌入前后視頻PSNR值的變化并不大,對(duì)于運(yùn)動(dòng)較緩慢的foreman、carphone視頻序列PSNR大約下降1.4dB和0.5dB,而對(duì)運(yùn)動(dòng)較復(fù)雜的bus,football視頻序列分別下降約0.7dB和0.1dB,通過(guò)主觀觀察和客觀評(píng)價(jià)指標(biāo)顯示水印信息的嵌入并沒(méi)有給視頻質(zhì)量帶來(lái)較大影響。
表1水印嵌入前后比特率及碼率變化
視頻序列嵌入前比特量/bit嵌入后比特量/bit比特變化率/%文獻(xiàn)[4]比特變化率/%碼率增量/(kbit·s-1)foreman3688483694480.1630.850.36carphone2250162253120.1320.880.18bus8267288279600.149—0.74football115147211526320.101—0.70
由此可見(jiàn),水印信息的嵌入對(duì)碼流影響并不大,能很好地滿(mǎn)足碼流穩(wěn)定性要求。
4.2抗攻擊能力分析
為了更好地評(píng)估該算法性能,將視頻序列進(jìn)行各種攻擊實(shí)驗(yàn)。水印檢測(cè)結(jié)果采用歸一化相關(guān)系數(shù)NC值及位錯(cuò)誤率BER來(lái)共同衡量,歸一化相關(guān)系數(shù)公式如下
(21)
式中:W(i,j)和W*(i,j)分別為原始水印和提取后水印的像素值;m,n分別為水印的長(zhǎng)和寬;NC表示提取水印信息與原始水印信息的相似程度。
位錯(cuò)誤率公式為
(22)
式中:W,W′分別為原始水印序列和提取的水印序列;N為水印序列長(zhǎng)度;BER表示提取的水印序列與原始水印序列不同的個(gè)數(shù)占水印序列總長(zhǎng)度的百分比,即提取水印的誤碼率。
下面對(duì)視頻序列進(jìn)行各種攻擊實(shí)驗(yàn)(限于篇幅,這里僅以foreman圖像幀為例)。圖5所示從左至右依次為foreman視頻序列進(jìn)行方差為δ=0.002的高斯噪聲攻擊、密度為0.01的椒鹽噪聲攻擊、左上角剪切1/16、QP=30的重壓縮攻擊經(jīng)各種攻擊后重建的第一幀圖像。
圖5 foreman視頻經(jīng)過(guò)各種攻擊后的視頻幀
圖6描述了對(duì)foreman,carphone,bus,football視頻序列分別進(jìn)行高斯噪聲、椒鹽噪聲、剪切、重量等攻擊得到的NC值。
圖6 各種攻擊下提取水印的NC值
圖6各種攻擊下提取水印的NC值
由圖6可知,將foreman,carphone,bus,football視頻經(jīng)過(guò)一序列攻擊后提取水印的NC值均在0.85以上,其中foreman和bus視頻序列提取的NC值較文獻(xiàn)[11]高,說(shuō)明該算法具有較強(qiáng)的抗攻擊能力。下面接著分析在各種攻擊下提取水印的誤碼率情況,如圖7所示為各種攻擊下提取水印的BER值。由圖7可知,水印經(jīng)各種攻擊后,提取水印的誤碼率均在10%以下(除了QP=30重量化時(shí)football提取為10.29%),且與文獻(xiàn)[11]做對(duì)比,誤碼率得到大幅降低,表明該算法具有較好的穩(wěn)健性。
圖7 各種攻擊下提取水印的誤碼率對(duì)比
文中針對(duì)現(xiàn)有基于H.264的視頻水印算法存在誤差漂移的問(wèn)題,提出了一種基于H.264誤差漂移補(bǔ)償?shù)囊曨l水印算法。通過(guò)對(duì)誤差漂移的成因進(jìn)行深入分析,進(jìn)而調(diào)制量化后的DCT系數(shù)進(jìn)行誤差漂移補(bǔ)償,有效地消除了幀內(nèi)幀間誤差漂移。另外,文中算法自適應(yīng)地選取滿(mǎn)足條件的4×4子塊進(jìn)行水印嵌入,使攻擊者不能輕易提取出水印信息。水印提取時(shí),使用嵌入過(guò)程中記錄的嵌入子塊信息進(jìn)行水印提取,保證了提取水印的準(zhǔn)確率,且不需要原始視頻參與,實(shí)現(xiàn)了盲提取。如何結(jié)合人眼視覺(jué)系統(tǒng)和視頻紋理特征進(jìn)行水印嵌入及水印容量問(wèn)題是下一步的研究方向。
[1]KIMDW,CHOIYG,KIMHS,et al. The problems in digital watermarking into intra-frames of H.264/AVC[J].Image and vision computing,2010,28(8):1220-1228.
[2]何英亮,楊高波,許拔,等.一種基于整數(shù)變換DC分量的自適應(yīng)視頻水印算法[J].計(jì)算機(jī)工程與科學(xué),2010,32(3):72-75.
[3]丁曉艷,趙慧民,郭一縝.一種基于H.264 /AVC的魯棒性視頻水印算法[J].電視技術(shù),2014,38(5):16-19.
[4]張維緯,趙宸,黃德天,等.基于代價(jià)策略的H.264/AVC半脆弱水印算法[J].通信學(xué)報(bào),2015,33(10):110-118.
[5]張維緯,張茹,劉建毅,等.一種基于H.264/AVC的視頻可逆脆弱水印算法[J].電子與信息學(xué)報(bào),2013,35(1):106-112.
[6]王麗娜,王旻杰,翟黎明,等.基于相關(guān)性異常的H.264/AVC視頻運(yùn)動(dòng)矢量隱寫(xiě)分析算法[J].電子學(xué)報(bào),2014,8(8):1457-1464.
[7]張敏情,王玨,鈕可.結(jié)合視覺(jué)感知特性和濕紙編碼的視頻隱寫(xiě)算法[J].計(jì)算機(jī)應(yīng)用研究,2012,29(6):2228-2231.
[8]張李偉,朱躍生,布禮文.用于H.264/AVC水印嵌入的低復(fù)雜度誤差補(bǔ)償算法[J].北京大學(xué)學(xué)報(bào)(自然科學(xué)版),2013,49(2):227-233.
[9]尤星,謝東峰,李寶清,等.基于H.264的漂移深度控制視頻隱寫(xiě)算法[J].電子學(xué)報(bào),2014,7(7):1284-1290.
[10]徐達(dá)文,王讓定.抗重量化轉(zhuǎn)碼的H.264/AVC視頻水印算法[J].電子與信息學(xué)報(bào),2013,35(5):1229-1235.
[11]蔣剛毅,李文鋒,郁梅,等.H.264/AVC壓縮域魯棒視頻水印[J].光學(xué)精密工程,2015,23(1):260- 270.
謝斌(1977— ),副教授/碩士,碩士生導(dǎo)師,主研領(lǐng)域?yàn)樾盘?hào)處理與信息安全;
彭林(1990— ),碩士生,主研信號(hào)處理。
責(zé)任編輯:時(shí)雯
Robust video watermarking algorithm based on H.264 error drift compensation
XIE Bin,PENG Lin
(FacultyofInformationEngineering,JiangxiUniversityofScienceandTechnology,JiangxiGanzhou341000,China)
Based on the presence of the existing H.264 video watermarking algorithm error drift problems, the system based on the error drift causes is analyzed, the robustness of the proposed video watermarking algorithm suppress error drift.By modulating the H.264 coding coefficients in 4×4 DCT quantized I frame to the watermark embedding, and specific conditions are met after the last line of the intra prediction quantized DCT subblock column and compensating inter-frame prediction compensation, frame effectively suppressed interframe error drift. In addition, the algorithm combines CAVLC residual coding modulation DCT coefficients after quantization, so that changes in the overall stream is small, and the algorithm can adaptively adjust the embedding capacity and embedding position according to different video sequences, it has good flexibility and Lu stick properties.In the watermark extraction process, is not involved in the original video, you can realize blind extraction. Simulation results show that the algorithm has good invisibility under the premise of the compression rate has little effect, better able to resist noise, frame cropping, re-encoding and other attacks.
video watermarking; error drift; robustness; DCT transform; intra prediction
TN929.56
ADOI:10.16280/j.videoe.2016.10.004
國(guó)家自然科學(xué)基金項(xiàng)目(61363076);江蘇省自然科學(xué)基金項(xiàng)目(120142BAB207020)
2016-03-29
文獻(xiàn)引用格式:謝斌,彭林.基于H.264誤差漂移補(bǔ)償?shù)聂敯粜砸曨l水印算法[J].電視技術(shù),2016,40(10):15-21.
XIE B,PENG L.Robust video watermarking algorithm based on H.264 error drift compensation[J].Video engineering,2016,40(10):15-21.