摘 要: 針對(duì)新的HEVC高效視頻編碼標(biāo)準(zhǔn)特性,提出了一種基于版權(quán)保護(hù)的視頻水印算法。分析了HEVC同上一版視頻格式標(biāo)準(zhǔn)H.264/AVC之間的編碼差別,在研究HEVC格式的基礎(chǔ)上為其設(shè)計(jì)了一個(gè)獨(dú)特的水印算法。該算法首先對(duì)水印圖片進(jìn)行置亂處理,然后將水印嵌入到亮度分量離散正弦變換(DST)分塊的中頻系數(shù)中。實(shí)驗(yàn)結(jié)果證明,該算法對(duì)HEVC視頻有很好的嵌入和提取效果,并可以抵抗多種形式的視頻攻擊。
關(guān)鍵詞: H.265/HEVC;版權(quán)保護(hù);H.264/AVC;視頻水印
隨著硬件條件的不斷改善,通過網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量近年來有著突飛猛進(jìn)的增長,尤其是數(shù)字媒體的傳播數(shù)量。2013年1月,為了滿足人們對(duì)高清視頻的需求,視頻壓縮標(biāo)準(zhǔn)高性能視頻編碼HEVC(High Efficiency Video Coding)作為可替代H.264編碼標(biāo)準(zhǔn)的新一代國際標(biāo)準(zhǔn)被正式提出使用。HEVC是ITU-T組織和ISO/IEC組織聯(lián)合開發(fā)的視頻編碼標(biāo)準(zhǔn),對(duì)以前的視頻格式進(jìn)行了多方面的改革,其僅需H.264/AVC一半帶寬就可播放相同質(zhì)量的視頻[1],因此數(shù)字視頻也將更容易被復(fù)制和修改,與此同時(shí),數(shù)字視頻的保護(hù)問題也得到了研究者們的注意。
由于版權(quán)保護(hù)的需要,過去十幾年里對(duì)多媒體水印的研究如火如荼,范圍觸及版權(quán)控制、圖像印刷、廣播監(jiān)控、視頻授權(quán)等,這方面的應(yīng)用量飛速上漲。數(shù)字水印技術(shù)是通過在原始數(shù)據(jù)中嵌入秘密信息證實(shí)該數(shù)據(jù)的所有權(quán),這種被嵌入的水印可以是一段文字、標(biāo)識(shí)、圖片等,而且這種水印通常是不可見或不可察的,它與原始數(shù)據(jù)(如圖像、音頻、視頻數(shù)據(jù))緊密結(jié)合,并隱藏其中,成為宿主數(shù)據(jù)的一部分,并可以經(jīng)歷一些不破壞宿主數(shù)據(jù)使用價(jià)值或商用價(jià)值的操作而保存下來。
針對(duì)各種格式的視頻水印算法國內(nèi)外學(xué)者都已經(jīng)研究了很多年,并且取得了豐碩的成果。HARTUNG F和KUTTER M[2]闡述了水印的現(xiàn)實(shí)需求和應(yīng)用領(lǐng)域,介紹了水印系統(tǒng)的基本概念,并詳細(xì)討論了水印安全性和魯棒性。PREDA R O和VIZIREANU D N[3]提出了一種多分辨率下的水印算法,以二進(jìn)制圖像做水印,水印的每一位都擴(kuò)展進(jìn)小波系數(shù)里。Zhang Jing等人[4]針對(duì)H.264/AVC提出了一個(gè)魯棒性強(qiáng)的水印算法,首先生成灰度圖像,然后嵌入壓縮域,可以抵抗幀壓縮、高斯濾波、反差增強(qiáng)等攻擊。VERMA A K、SINGHAL M、PATVARDHAN C[5]提出了一個(gè)基于YCbCr顏色空間和小波變換的數(shù)字視頻水印算法,水印被嵌入時(shí)域空間平面。國內(nèi)對(duì)水印的研究也很透徹,幾乎涉及水印嵌入、提取的各個(gè)領(lǐng)域。張江等人[6]分析了視頻水印技術(shù)的特點(diǎn)和面臨的挑戰(zhàn),闡述了視頻水印的模型及算法分類,探討了視頻水印的發(fā)展趨勢。張維緯等人[6]提出了一種基于H.264/AVC的視頻可逆脆弱水印算法,能對(duì)認(rèn)證通過的視頻數(shù)據(jù)進(jìn)行還原和對(duì)認(rèn)證失敗的視頻I幀遭篡改區(qū)域進(jìn)行有效的定位。同鳴等人[7]提出了一種部分基矩陣稀疏約束的非負(fù)矩陣分解方法,將水印嵌入在分解后的基矩陣大系數(shù)中,可以較好地抵抗強(qiáng)剪切攻擊。李亞文[8]對(duì)壓縮視頻的圖像幀的亮度分量進(jìn)行小波提升分解,利用混沌系統(tǒng)對(duì)水印圖像進(jìn)行置亂,提升了算法的安全性和抗攻擊能力。
為了保護(hù)HEVC視頻編碼格式的數(shù)字視頻,本文以新的HEVC視頻格式為研究對(duì)象,以為其設(shè)計(jì)水印算法為目的,分析了HEVC同上一版視頻格式標(biāo)準(zhǔn)H.264/AVC之間的編碼差別及這些差別對(duì)現(xiàn)有水印算法思想的影響,在仔細(xì)研究HEVC格式的基礎(chǔ)上為其設(shè)計(jì)了一個(gè)獨(dú)特的水印算法。實(shí)驗(yàn)結(jié)果證明,該算法對(duì)HEVC有很好的嵌入和提取效果,并可以抵抗多種形式的視頻攻擊。
1 HEVC概述
為了彌補(bǔ)H.264/AVC難以滿足當(dāng)前人們對(duì)高清視頻需求的不足,HEVC在其基礎(chǔ)上進(jìn)行了大量變革,使得壓縮率大幅提高。與H.264相似,HEVC的編碼架構(gòu)主要包括幀內(nèi)預(yù)測、幀間預(yù)測、轉(zhuǎn)換、量化、熵編碼等模塊,但與AVC基于宏塊不同,HEVC中類似的結(jié)構(gòu)為編碼樹單元(CTU),其尺寸由編碼器進(jìn)行指定,可以比傳統(tǒng)的宏塊大。一個(gè)CTU包含一個(gè)亮度CTB和多個(gè)對(duì)應(yīng)的色度CTB及句法元素。一個(gè)L×L的亮度CTB,L可以設(shè)置為16、32或者64[9]。預(yù)測類型是在CU內(nèi)編碼,CU是HEVC中用于幀間預(yù)測和幀內(nèi)預(yù)測的判決點(diǎn)。
H.265引入了名為合并模式的幀間預(yù)測方法,原理是PU之間的移動(dòng)信息非常相似,因此可以就近采用附近PU的形式而不作運(yùn)動(dòng)評(píng)估等計(jì)算。H.265也提供了1/2、2/4、3/4[9]像素非整數(shù)點(diǎn)位置運(yùn)動(dòng)評(píng)估,不過有8點(diǎn)插值濾波,而H.264只有6點(diǎn)。預(yù)測動(dòng)作完成后,要采用類似DCT的整數(shù)變換算法對(duì)殘差進(jìn)行編碼來進(jìn)一步降低碼率。H.265在進(jìn)行變換操作時(shí)會(huì)先把CU拆開成若干個(gè)TU(變換單元),這些TU并不需要和PU對(duì)齊。拆為TU的原因是CU中可能同時(shí)包含高頻部分和低頻部分,直接用于變換處理量太大。除此之外,HEVC的改進(jìn)之處還包括熵編碼處理、去塊濾波處理。結(jié)合四叉樹的超大去塊編碼方式和新增的SAO去塊濾波被認(rèn)為是HEVC和AVC的兩個(gè)重大區(qū)別。
HEVC幀內(nèi)編碼方案包括分塊變換編碼操作,為了研究數(shù)字水印算法,必須要弄清分塊變換編碼操作。當(dāng)壓縮視頻序列通過HEVC編碼器時(shí),編碼單元CU是執(zhí)行每個(gè)視頻幀編碼的基本單元,一個(gè)視頻幀首先被分成64×64個(gè)非重疊的CU單元,每個(gè)CU單元按照四叉樹[10]的分割方式繼續(xù)分成更小的單元,如圖1所示。
利用空間冗余壓縮,幀內(nèi)預(yù)測在HEVC編碼中通過相鄰塊編碼預(yù)測得到當(dāng)前塊,對(duì)一個(gè)N×N大小的編碼單元CU,N∈{64,32,16},僅有一個(gè)大小為N×N的預(yù)測單元,然而當(dāng)N=8時(shí),有8×8和4×4兩個(gè)預(yù)測尺寸。此外,不同的PU尺寸,HEVC支持35種[10]預(yù)測模式,如圖2所示,而H.264只有9種。35種預(yù)測模式中,模式0和模式1分別是平面和直流模式,適合用在逐漸變化和小亮度變化的預(yù)測單元,除去以上兩種模式,其余33種不同方向的預(yù)測模式經(jīng)常用來捕捉邊緣特性。
對(duì)一個(gè)N×N的預(yù)測單元PU,HEVC編碼從對(duì)應(yīng)相鄰像素和幀內(nèi)預(yù)測生成35種預(yù)測塊,這些參考像素從右上方、上、左上、左、左下相鄰塊像素編碼,如圖3所示。
2 基于HEVC的水印算法設(shè)計(jì)
本文提出的算法基于HEVC高效視頻編碼格式,主要包括水印預(yù)處理、水印嵌入與提取模塊,其中嵌入與提取算法是與HEVC的編碼器緊密結(jié)合的。
2.1 水印預(yù)處理
水印預(yù)處理是視頻水印算法重要的一個(gè)環(huán)節(jié),它可以有效地去除水印信息的相關(guān)性,提高水印信息抵抗攻擊的能力。水印信息可以是一幅圖片或者文字等載體數(shù)據(jù),通常根據(jù)水印算法提供的水印容量來選取嵌入何種水印。通過實(shí)驗(yàn)發(fā)現(xiàn),本算法可嵌入的載體容量可達(dá)1 kB~10 kB,所以可以嵌入簡單的單色圖像。常用的水印預(yù)處理方法有置亂、擴(kuò)頻等,置亂的主要功能是去除水印信息本身的自相關(guān)性,即使水印被第三方破解,由于水印信息是亂序的,第三方仍然不能得知水印信息的真實(shí)來源并對(duì)其修改,因此可以起到版權(quán)保護(hù)的作用。
本算法采取對(duì)水印信息進(jìn)行置亂處理,設(shè)AM×N表示大小為M×N的圖像,Ax,y[x∈(0,M-1),y∈(0,N-1)]表示圖像A在點(diǎn)(x,y)處的像素值,由于是二值圖像,Ax,y只能是0或1。對(duì)水印圖像的像素矩陣進(jìn)行光柵掃描,得到的一維數(shù)組記為W。為了將水印信息W以置亂的方式嵌入,首先生成一個(gè)Logistic混沌序列。令μ=4,初始值設(shè)為0.9,生成的Logistic序列為偽隨機(jī)序列。
2.2 水印嵌入位置選擇
HEVC水印嵌入位置的選擇與AVC很不相同,需要重新考慮編碼單元的劃分。HEVC最大編碼尺寸可達(dá)64×64,按照設(shè)計(jì)初衷,HEVC應(yīng)用對(duì)象主要是4 KB及以上視頻,這也是編碼單元變大的原因。根據(jù)人眼視覺模型,人眼對(duì)運(yùn)動(dòng)區(qū)域活躍的地方不敏感,水印嵌入的位置應(yīng)該選擇在紋理較復(fù)雜的區(qū)域。由于非運(yùn)動(dòng)區(qū)域的平滑性,其編碼單元尺寸較大,反過來運(yùn)動(dòng)區(qū)域的編碼尺寸一般較小,所以水印嵌入的位置選擇在較深的編碼單元。在H.265編碼中,編碼樹單元中4×4子塊的非零系數(shù)個(gè)數(shù)代表當(dāng)前子塊的運(yùn)動(dòng)活性,因此選擇大小為4×4的編碼單元進(jìn)行嵌入對(duì)視頻質(zhì)量和碼率的影響更小。
2.3 水印嵌入算法
H.265編碼樹單元的預(yù)測殘差在經(jīng)過整數(shù)DST變換和量化之后,預(yù)測殘差的能量主要集中在中低頻的DST系數(shù)中,大部分的高頻系數(shù)都為零。HEVC在一個(gè)CU內(nèi)進(jìn)行變換運(yùn)算時(shí),可以將CU按照編碼樹層次細(xì)分,從32×32到4×4的小塊。HEVC變換運(yùn)算和AVC不同,變換時(shí)先進(jìn)行列運(yùn)算然后進(jìn)行行運(yùn)算,量化是與整數(shù)DST變換一并完成,是在TU中分別對(duì)亮度和色度分量進(jìn)行的。本算法將水印嵌入到亮度分量4×4 DST分塊的中頻系數(shù)中,水印的嵌入流程圖如圖4所示。
為了獲得關(guān)于殘差信號(hào)的率失真成本,HEVC編碼引出對(duì)預(yù)測殘差的轉(zhuǎn)換與量化編碼的編碼單元(TU)。在HEVC幀內(nèi)編碼中,決定一個(gè)PU單元的最優(yōu)內(nèi)模式之前,要獲得相關(guān)的率失真成本,一個(gè)N×N(N∈{32,16,8,4})的PU,也存在唯一尺寸為N×N的TU,然而當(dāng)N=64,將有4個(gè)32×32的TU。色度預(yù)測殘差的變換編碼,HEVC規(guī)定兩種變換:整數(shù)DST[11]和整數(shù)DCT。整數(shù)DST用在4×4變換單元,而整數(shù)DCT用在32×32、16×16、8×8變換單元。為簡便起見,本算法對(duì)4×4變換單元進(jìn)行整數(shù)DST變換[10]操作。
用R表示N×N變換單元的亮度預(yù)測殘差矩陣,當(dāng)對(duì)R進(jìn)行整數(shù)DST變換時(shí),R的QDST系數(shù)矩陣可以表示為:
R=(SfRSfT)×X00 X01 X02 X03X10 X11 X12 X13X20 X21 X22 X23X30 X31 X32 X33(1)
其中,Q指量化步長,由量化參數(shù)QP決定。Sf為:
Sf=A B C DC C 0 -CD -A -C BB -D C -A(2)
在解碼端,對(duì)R進(jìn)行逆QDST(IQDST)操作,重建的殘差信號(hào)表示為:
R=IQDST(R)=Sf-1(R×Q)(SfT)-1(3)
水印信息是通過修改QDST變換后的系數(shù)來嵌入的,根據(jù)奇偶性來改變原DST變換矩陣系數(shù)的值。本算法是將水印信息嵌入在4×4變換單元TU系數(shù)中,假設(shè)一個(gè)4×4變換單元TU的系數(shù)三元組為(Xij,Xmn,Xpq),嵌入水印信息以后為(X′ij,X′mn,X′pq),(X′ij,X′mn,X′pq)可由式(4)得出:
?。╔′ij,X′mn,X′pq)=(Xij+t,Xmn-t,Xpq+t)(4)
其中,t的值為:
t=1,if(Xij>0,w=1,and Xij is even), or(Xij>0,w=0,and Xij is odd),-1,if(Xij<0,w=1,and Xij is even), or(Xij<0,w=0,and Xij is odd),0,if(Xij≠0,w=1,and Xij is odd), or(Xij≠0,w=0,and Xij is even)(5)
2.4 水印提取算法
水印提取是嵌入的逆過程,因此實(shí)現(xiàn)起來簡單方便,提取流程圖如圖5所示。
先對(duì)嵌入水印的H.265碼流進(jìn)行熵解碼,得到每個(gè)編碼樹單元預(yù)測殘差的量化DST系數(shù),再統(tǒng)計(jì)每個(gè)編碼樹單元中子塊DST系數(shù)的非零個(gè)數(shù),找出非零系數(shù)個(gè)數(shù)最多的子塊,對(duì)其進(jìn)行水印的提取和視頻還原??梢酝ㄟ^得出的(X′ij,X′mn,X′pq)提取水印信息:
?。╔ij,Xmn,Xpq)=(X′ij,X′mn,X′pq)or(X′ij-1,X′mn+1,X′pq-1),if X′ij>0(X′ij,X′mn,X′pq)or(X′ij+1,X′mn-1,X′pq+1),otherwise(6)
3 實(shí)驗(yàn)結(jié)果與分析
為了驗(yàn)證算法的性能和有效性,本實(shí)驗(yàn)基于H.265/HEVC參考軟件模型HM10.1進(jìn)行仿真,HM配置參數(shù)如表1所示。實(shí)驗(yàn)中對(duì)PeopleOnStreet_2560x1600_30_crop測試序列進(jìn)行水印的嵌入和提取,水印圖像大小為28×16,內(nèi)容是“SMU”。
圖6為正常編碼圖像,圖7為嵌入水印后的編碼圖像,對(duì)比可見,圖像主觀質(zhì)量并沒有明顯差異,失真較小。
圖8為選取的前15幀嵌入水印前后圖像的PSNR值對(duì)比,從圖中可知嵌入水印對(duì)視頻亮度平均PSNR影響很小,符合要求。
對(duì)含水印的視頻進(jìn)行攻擊測試,表2是3種攻擊下提取出來的水印圖像。
從表2可以看出,椒鹽噪聲對(duì)水印的影響稍大,高斯噪聲略有影響,視頻剪切對(duì)水印幾乎沒影響。但不論受到何種攻擊后,提取出水印,就能很容易地識(shí)別為原圖的內(nèi)容,所以其魯棒性還是比較強(qiáng)的。
HEVC是新一代高性能視頻編碼標(biāo)準(zhǔn)。本文介紹了HEVC在編碼和預(yù)測等方面相較于之前視頻格式的區(qū)別,分析了HEVC格式的新特性對(duì)傳統(tǒng)水印算法的影響,并據(jù)此設(shè)計(jì)了一個(gè)針對(duì)HEVC編碼格式的視頻水印新算法。實(shí)驗(yàn)證明了該算法有很好的實(shí)用性,并能有效抵抗多種視頻攻擊。
參考文獻(xiàn)
[1] BROSS B, SCHWARZ H, MARPE D. The new high-efficiency video coding standard[J]. SMPTE Motion Imaging Journal,2013,122(4):25-35.
[2] HARTUNG F, KUTTER M. Multimedia watermarking techniques[J]. Proceedings of the IEEE,1999,87(7):1079-1107.
[3] PREDA R O, VIZIREANU D N. A robust digital watermarking scheme for video copyright protection in the wavelet domain[J]. Measurement, 2010,43(10):1720-1726.
[4] Zhang Jing, HO A T S, Qiu Gang, et al. Robust video watermarking of H. 264/AVC[J]. IEEE Transactions on Circuits and Systems II: Express Briefs, 2007,54(2):205-209.
[5] VERMA A K, SINGHAL M, PATVARDHAN C. Robust temporal video watermarking using YCbCr color space in Wavelet domain[C]. 2013 IEEE 3rd International Advance Computing Conference(IACC), 2013:1195-1200.
[6] 張江,趙黎,楊士強(qiáng).視頻水印技術(shù)綜述[J].計(jì)算機(jī)應(yīng)用,2005,25(4):850-852.
[7] 同鳴,張偉,張建龍,等.一種基于部分基矩陣稀疏約束非負(fù)矩陣分解的抵抗大強(qiáng)度剪切攻擊視頻水印構(gòu)架[J].電子與信息學(xué)報(bào),2012,34(8):1819-1826.
[8] 李亞文.一種基于混沌系統(tǒng)和提升小波的視頻水印算法[J].計(jì)算機(jī)與數(shù)字工程,2012,40(4):99-101.
[9] SULLIVAN G J, OHM J R, HAN W J, et al. Overview of the high efficiency video coding(HEVC)standard[C]. IEEE Transaction on Circuits and Systems for Video Technology, 2012, 22(12):1649-1668.
[10] CHANG P C, CHUNG K L, CHEN J J, et al. A DCT/DST-based error propagation-free data hiding algorithm for HEVC intra-coded frames[J]. Journal of Visual Communication and Image Representation, 2014,25(2):239-253.
[11] MEHER P K, PARK S Y, MOHANTY B K, et al. Efficient integer DCT architectures for HEVC[C]. IEEE Transactions on Circuits and Systems for Video Technology,2014,24(1):168-178.