謝 斌,彭 林
(江西理工大學 信息工程學院,江西 贛州 341000)
?
基于H.264誤差漂移補償的魯棒性視頻水印算法
謝斌,彭林
(江西理工大學信息工程學院,江西 贛州 341000)
針對現有基于H.264的視頻水印算法存在誤差漂移的問題,在分析了誤差漂移產生原因的基礎上,提出了一種抑制誤差漂移的魯棒性視頻水印新算法。通過調制H.264編碼中I幀量化后的4×4 DCT系數來實現水印的嵌入,并對幀內預測量化后滿足特定條件的DCT子塊的最后一行、列進行補償和對幀間預測進行補償,有效地抑制了幀內、幀間誤差漂移。另外,該算法結合CAVLC編碼來調制量化后的DCT殘差系數,使整體碼流變動較小,并且算法能夠根據不同視頻序列自適應地調節嵌入容量及嵌入位置,具有較好的靈活性和魯棒性。在水印提取過程中,不需要原始視頻的參與,即可實現盲提取。仿真實驗結果表明,該算法在具有良好不可見性的前提下,對壓縮碼率影響較小,能夠較好地抵抗噪聲、幀剪切、重編碼等攻擊。
視頻水印;誤差漂移;魯棒性;DCT變換;幀內預測
視頻水印技術是當前保護視頻版權最有效的手段之一,H.264采用先進的編碼標準,以其低碼率、高質量、網絡適應性強等優點被廣泛應用于數字媒體中。因此,研究適用于H.264編解碼標準的視頻水印算法具有較好的現實意義[1-2]。基于H.264標準的壓縮域水印算法主流設計方案大致包括DCT系數嵌入法[3-5]和運動矢量嵌入法[6]。但不管使用上述何種嵌入方法,誤差漂移失真始終是H.264壓縮域算法中面臨的最大問題。
文獻[7]利用雙樹復小波變換提取視覺特征,并結合紋理掩蔽效應確定嵌入位置,該算法具有較好不可見性,但并沒有從根本上解決誤差漂移的問題。文獻[8]提出一種低復雜度的誤差補償算法,該算法在DCT系數中嵌入水印信息,利用誤差預測模板對當前塊進行動態補償,該算法雖然復雜度低,但并沒有完全消除誤差漂移。文獻[9]較詳細地分析了由于水印嵌入而產生誤差漂移的機制,并通過水印模版對幀內4×4子塊最后一行(一列)進行補償,雖然消除了幀內誤差漂移,卻沒有考慮幀間誤差漂移。
針對上述問題,文中提出了一種能有效消除幀內、幀間誤差漂移的魯棒性盲視頻水印算法。該算法在I幀量化后的4×4 DCT系數中嵌入水印信息,結合H.264編解碼標準對嵌入操作中產生的漂移誤差進行補償,從而有效地減小了幀內、幀間誤差漂移。 另外,該算法能根據不同運動程度畫面的視頻序列自適應地選擇滿足條件的DCT子塊進行水印嵌入。并且,嵌入容量也隨著不同運動程度畫面的視頻序列自適應調整,因此,算法更具有較好的靈活性和魯棒性。
1.1亮度4×4塊幀內預測
幀內預測是H.264提出的一種特有的編碼技術,它使用空間中相鄰塊間的空間相關性進行預測。在H.264基本檔次中包括4種幀內預測方式,即4×4亮度塊的幀內預測(INTRA_4×4)、16×16亮度塊的幀內預測(INTRA_16×16)、8×8色度塊的幀內預測和PCM預測。
INTRA_4×4有9種預測模式,圖1所示為亮度4×4幀內預測及8種預測方向(除了DC預測模式)示意圖,其中圖1a為當前4×4塊與其周邊相鄰各像素值,其中a~p為當前4×4塊像素值,A~M為其左邊和上邊已編碼塊的邊緣像素值。其預測值p是根據A~M的值按9種不同的方向進行預測取最優得到,圖1b為幀內4×4子塊除了DC模式之外的8種預測方向,其第一個編碼的宏塊預測值為128。

圖1 亮度4×4幀內預測及8種預測方向
1.2亮度塊殘差編解碼過程
H.264視頻編解碼標準采用4×4的整數DCT變換,在降低算法復雜度的同時也有效降低了塊內失真。DCT變換因其簡單、快速、易實現等優點而被多數視頻壓縮標準所采用。在編碼端,基于4×4塊的整數離散余弦核變換公式為
(1)
式中:R是殘差矩陣;Y是殘差矩陣R的整數DCT變換結果,該結果未經尺度變換處理,其中
(2)
尺度變換歸入量化階段進行
(3)

(4)

(5)
其中
(6)
2.1嵌入失真分析


(7)
CT(Δ×Qstep×PF)C]
(8)

用嵌入信息前后殘差矩陣元素的變化表示嵌入誤差,則嵌入誤差E如下
E=R″-R″=CT(Δ×Qstep×PF)C
(9)
下面以foreman視頻的I幀第一個宏塊第3個4×4子塊為例,該4×4經量化后的DCT殘差矩陣A如下

(10)
對A進行反量化反DCT變換操作再加上預測值矩陣P得到重構的4×4像素值矩陣

(11)
假設嵌入信息使矩陣A中某元素值作微小變動,不妨將A1,2中的-16改為-15,即得到嵌入信息后的4×4量化DCT殘差矩陣A′,然后對A′進行反量化反DCT變換操作,再加上預測值P得到重構的嵌入水印信息的4×4像素值矩陣

(12)
則嵌入誤差E為

(13)
由此可見即使對量化后的DCT系數矩陣作輕微的改動,也會引起矩陣中所有元素的變動,而該子塊又作為其他塊的參考子塊,如此誤差一直傳遞下去,并逐步積累,最終引起嚴重的視覺失真。
2.2誤差漂移補償
由上節可知,在幀內預測中,當前塊的預測值與相鄰塊的邊緣像素值(最后一行或最后一列)有關,可以考慮在嵌入信息過程中進行誤差補償,使相鄰塊的最后一行或最后一列保持不變,那么后續的待預測塊便能準確地根據參考像素值進行預測,從而防止誤差擴散,視頻質量得到有效的保證。
(14)
同時設
(15)


(16)



圖2 誤差補償嵌入
通過誤差補償嵌入能保證信息嵌入前后當前塊邊緣像素值不變,從而有效解決了I幀幀內失真漂移問題。但后續P和B幀需要I幀信息作為幀間預測參考幀,僅保證誤差矩陣最后一行(列)為0并不能解決幀間誤差漂移問題。繼續求解式(15)可得第二行元素值的解。


(17)
(18)
由式(18)知,解中對應列號相同的兩個元素改變量一樣且為常量(α為常量),這樣在進行幀間預測前可以通過誤差補償使誤差矩陣E的第二行為0,從而可以有效避免幀間誤差漂移,較好地解決了因誤差漂移引起的視頻失真問題。同理,對列操作也可以得到類似的結果,這里不再論述。
3.1水印的嵌入
1) 將視頻流進行熵解碼得到量化后的DCT殘差矩陣Y,為保證殘差矩陣有較大的系數能量,這里設定一個閾值T(本文中T=5)。如果Y中非零元素大于閾值T則進行下一步操作,否則轉取下一個DCT殘差矩陣,直到滿足條件。
2) 判斷(Y12,Y32)或(Y13,Y33)是否非零,如果Y12和Y32均不為零則進一步判斷是否滿足Y12≠-1,-2,Y32≠1,2,(Y12,Y32)不滿足條件再判斷(Y13,Y33),若滿足條件則進行下一步操作,否則轉入步驟1)。
3) 將水印信息W置亂操作,并轉化為一維隨機的(0,1)序列,即Wi=0或1,其中i=1,2,…,length(W)。
4)進行水印嵌入操作
(1)當水印序列為Wi=1時,若Y中元素Y12為奇數則不變,如果為偶數,將Y12加1同時將Y32減1作為誤差補償
(19)
(2)當水印序列為Wi=0,若Y中元素Y12為偶數則不變,如果為奇數,將Y12加1同時將Y32減1作為誤差補償
(20)
5) 嵌入信息后得到的殘差矩陣為Y′,在進行幀間預測前對Y′第二、三行進行補償處理使其恢復為原來的殘差矩陣Y,便于幀間預測的準確進行,并記錄嵌入水印子塊的相關信息。最后將該子塊重新熵編碼歸入原始視頻流中。
3.2水印的提取
1)將視頻流進行熵解碼,得到量化后含水印信息的DCT殘差矩陣Y′,如果Y′中非零元素大于閾值T則進行下一步操作,否則取下一個DCT殘差矩陣,直到滿足條件。
2)提取嵌入過程中記錄的嵌入子塊判斷Y12或Y13,如果Y12或Y13為奇,則提取水印為1,否則為0。重復1)~2)直至完全提取出水印信息。
文中在VC++6.0和MATLABR2014a平臺下,采用H.264/AVC編碼標準的參考軟件JM8.6基本檔次及參考視頻foreman,carphone,bus,football,測試視頻長度50幀(QCIF176×144),視頻幀結構為IPPPP格式,I幀周期為10,幀率為30 幀/秒(f/s),量化參數QP=28,水印取值為(0,1)序列,用MATLABR2014a對水印序列進行相關處理。
4.1不可見性分析
視頻水印的最基本要求是滿足不可見性,圖3所示為水印嵌入前后重建圖像的比較,分別給出了foreman,carphone,bus,football視頻序列第21幀水印嵌入前后解碼的視頻幀圖像。圖3a所示依次為foreman,carphone,bus,football視頻第21幀原始重建圖像,圖3b所示為它們嵌入水印后的重建圖像。

圖3 水印嵌入前后重建圖像的比較
從圖3可以看出,該算法嵌入水印信息并沒有引起重建圖像的視覺失真。為了更好更科學地評價視頻質量,這里引入基于人眼視覺模型的視頻質量客觀評價指標PSNR(PeakSignaltoNoiseRatio),即峰值信噪比。圖4所示為嵌入水印前后視頻PSNR值,分別給出了foreman,carphone,bus,football視頻在沒有嵌入水印信息和嵌入水印信息情況下的PSNR值。

圖4 嵌入水印前后視頻PSNR值
由圖4知,通過對foreman,carphone,bus,football視頻序列的統計,發現水印信息嵌入前后視頻PSNR值的變化并不大,對于運動較緩慢的foreman、carphone視頻序列PSNR大約下降1.4dB和0.5dB,而對運動較復雜的bus,football視頻序列分別下降約0.7dB和0.1dB,通過主觀觀察和客觀評價指標顯示水印信息的嵌入并沒有給視頻質量帶來較大影響。

表1水印嵌入前后比特率及碼率變化

視頻序列嵌入前比特量/bit嵌入后比特量/bit比特變化率/%文獻[4]比特變化率/%碼率增量/(kbit·s-1)foreman3688483694480.1630.850.36carphone2250162253120.1320.880.18bus8267288279600.149—0.74football115147211526320.101—0.70
由此可見,水印信息的嵌入對碼流影響并不大,能很好地滿足碼流穩定性要求。
4.2抗攻擊能力分析
為了更好地評估該算法性能,將視頻序列進行各種攻擊實驗。水印檢測結果采用歸一化相關系數NC值及位錯誤率BER來共同衡量,歸一化相關系數公式如下
(21)
式中:W(i,j)和W*(i,j)分別為原始水印和提取后水印的像素值;m,n分別為水印的長和寬;NC表示提取水印信息與原始水印信息的相似程度。
位錯誤率公式為
(22)
式中:W,W′分別為原始水印序列和提取的水印序列;N為水印序列長度;BER表示提取的水印序列與原始水印序列不同的個數占水印序列總長度的百分比,即提取水印的誤碼率。
下面對視頻序列進行各種攻擊實驗(限于篇幅,這里僅以foreman圖像幀為例)。圖5所示從左至右依次為foreman視頻序列進行方差為δ=0.002的高斯噪聲攻擊、密度為0.01的椒鹽噪聲攻擊、左上角剪切1/16、QP=30的重壓縮攻擊經各種攻擊后重建的第一幀圖像。

圖5 foreman視頻經過各種攻擊后的視頻幀
圖6描述了對foreman,carphone,bus,football視頻序列分別進行高斯噪聲、椒鹽噪聲、剪切、重量等攻擊得到的NC值。

圖6 各種攻擊下提取水印的NC值
圖6各種攻擊下提取水印的NC值
由圖6可知,將foreman,carphone,bus,football視頻經過一序列攻擊后提取水印的NC值均在0.85以上,其中foreman和bus視頻序列提取的NC值較文獻[11]高,說明該算法具有較強的抗攻擊能力。下面接著分析在各種攻擊下提取水印的誤碼率情況,如圖7所示為各種攻擊下提取水印的BER值。由圖7可知,水印經各種攻擊后,提取水印的誤碼率均在10%以下(除了QP=30重量化時football提取為10.29%),且與文獻[11]做對比,誤碼率得到大幅降低,表明該算法具有較好的穩健性。

圖7 各種攻擊下提取水印的誤碼率對比
文中針對現有基于H.264的視頻水印算法存在誤差漂移的問題,提出了一種基于H.264誤差漂移補償的視頻水印算法。通過對誤差漂移的成因進行深入分析,進而調制量化后的DCT系數進行誤差漂移補償,有效地消除了幀內幀間誤差漂移。另外,文中算法自適應地選取滿足條件的4×4子塊進行水印嵌入,使攻擊者不能輕易提取出水印信息。水印提取時,使用嵌入過程中記錄的嵌入子塊信息進行水印提取,保證了提取水印的準確率,且不需要原始視頻參與,實現了盲提取。如何結合人眼視覺系統和視頻紋理特征進行水印嵌入及水印容量問題是下一步的研究方向。
[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]何英亮,楊高波,許拔,等.一種基于整數變換DC分量的自適應視頻水印算法[J].計算機工程與科學,2010,32(3):72-75.
[3]丁曉艷,趙慧民,郭一縝.一種基于H.264 /AVC的魯棒性視頻水印算法[J].電視技術,2014,38(5):16-19.
[4]張維緯,趙宸,黃德天,等.基于代價策略的H.264/AVC半脆弱水印算法[J].通信學報,2015,33(10):110-118.
[5]張維緯,張茹,劉建毅,等.一種基于H.264/AVC的視頻可逆脆弱水印算法[J].電子與信息學報,2013,35(1):106-112.
[6]王麗娜,王旻杰,翟黎明,等.基于相關性異常的H.264/AVC視頻運動矢量隱寫分析算法[J].電子學報,2014,8(8):1457-1464.
[7]張敏情,王玨,鈕可.結合視覺感知特性和濕紙編碼的視頻隱寫算法[J].計算機應用研究,2012,29(6):2228-2231.
[8]張李偉,朱躍生,布禮文.用于H.264/AVC水印嵌入的低復雜度誤差補償算法[J].北京大學學報(自然科學版),2013,49(2):227-233.
[9]尤星,謝東峰,李寶清,等.基于H.264的漂移深度控制視頻隱寫算法[J].電子學報,2014,7(7):1284-1290.
[10]徐達文,王讓定.抗重量化轉碼的H.264/AVC視頻水印算法[J].電子與信息學報,2013,35(5):1229-1235.
[11]蔣剛毅,李文鋒,郁梅,等.H.264/AVC壓縮域魯棒視頻水印[J].光學精密工程,2015,23(1):260- 270.
謝斌(1977— ),副教授/碩士,碩士生導師,主研領域為信號處理與信息安全;
彭林(1990— ),碩士生,主研信號處理。
責任編輯:時雯
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
國家自然科學基金項目(61363076);江蘇省自然科學基金項目(120142BAB207020)
2016-03-29
文獻引用格式:謝斌,彭林.基于H.264誤差漂移補償的魯棒性視頻水印算法[J].電視技術,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.