摘 要: 針對(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,;視頻水印
隨著硬件條件的不斷改善,通過(guò)網(wǎng)絡(luò)傳輸?shù)臄?shù)據(jù)量近年來(lái)有著突飛猛進(jìn)的增長(zhǎng),,尤其是數(shù)字媒體的傳播數(shù)量,。2013年1月,,為了滿足人們對(duì)高清視頻的需求,視頻壓縮標(biāo)準(zhǔn)高性能視頻編碼HEVC(High Efficiency Video Coding)作為可替代H.264編碼標(biāo)準(zhǔn)的新一代國(guó)際標(biāo)準(zhǔn)被正式提出使用,。HEVC是ITU-T組織和ISO/IEC組織聯(lián)合開(kāi)發(fā)的視頻編碼標(biāo)準(zhǔn),,對(duì)以前的視頻格式進(jìn)行了多方面的改革,其僅需H.264/AVC一半帶寬就可播放相同質(zhì)量的視頻[1],,因此數(shù)字視頻也將更容易被復(fù)制和修改,,與此同時(shí),數(shù)字視頻的保護(hù)問(wèn)題也得到了研究者們的注意,。
由于版權(quán)保護(hù)的需要,,過(guò)去十幾年里對(duì)多媒體水印的研究如火如荼,范圍觸及版權(quán)控制,、圖像印刷,、廣播監(jiān)控,、視頻授權(quán)等,,這方面的應(yīng)用量飛速上漲。數(shù)字水印技術(shù)是通過(guò)在原始數(shù)據(jù)中嵌入秘密信息證實(shí)該數(shù)據(jù)的所有權(quán),,這種被嵌入的水印可以是一段文字,、標(biāo)識(shí)、圖片等,,而且這種水印通常是不可見(jiàn)或不可察的,,它與原始數(shù)據(jù)(如圖像、音頻,、視頻數(shù)據(jù))緊密結(jié)合,,并隱藏其中,成為宿主數(shù)據(jù)的一部分,,并可以經(jīng)歷一些不破壞宿主數(shù)據(jù)使用價(jià)值或商用價(jià)值的操作而保存下來(lái),。
針對(duì)各種格式的視頻水印算法國(guó)內(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í)域空間平面,。國(guó)內(nèi)對(duì)水印的研究也很透徹,,幾乎涉及水印嵌入、提取的各個(gè)領(lǐng)域,。張江等人[6]分析了視頻水印技術(shù)的特點(diǎn)和面臨的挑戰(zhàn),,闡述了視頻水印的模型及算法分類(lèi),探討了視頻水印的發(fā)展趨勢(shì),。張維緯等人[6]提出了一種基于H.264/AVC的視頻可逆脆弱水印算法,,能對(duì)認(rèn)證通過(guò)的視頻數(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ù)測(cè),、幀間預(yù)測(cè),、轉(zhuǎn)換、量化,、熵編碼等模塊,,但與AVC基于宏塊不同,HEVC中類(lèi)似的結(jié)構(gòu)為編碼樹(shù)單元(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ù)測(cè)類(lèi)型是在CU內(nèi)編碼,,CU是HEVC中用于幀間預(yù)測(cè)和幀內(nèi)預(yù)測(cè)的判決點(diǎn),。
H.265引入了名為合并模式的幀間預(yù)測(cè)方法,原理是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)估,,不過(guò)有8點(diǎn)插值濾波,而H.264只有6點(diǎn),。預(yù)測(cè)動(dòng)作完成后,,要采用類(lèi)似DCT的整數(shù)變換算法對(duì)殘差進(jìn)行編碼來(lái)進(jìn)一步降低碼率。H.265在進(jìn)行變換操作時(shí)會(huì)先把CU拆開(kāi)成若干個(gè)TU(變換單元),,這些TU并不需要和PU對(duì)齊,。拆為T(mén)U的原因是CU中可能同時(shí)包含高頻部分和低頻部分,直接用于變換處理量太大,。除此之外,HEVC的改進(jìn)之處還包括熵編碼處理,、去塊濾波處理,。結(jié)合四叉樹(shù)的超大去塊編碼方式和新增的SAO去塊濾波被認(rèn)為是HEVC和AVC的兩個(gè)重大區(qū)別。
HEVC幀內(nèi)編碼方案包括分塊變換編碼操作,,為了研究數(shù)字水印算法,,必須要弄清分塊變換編碼操作。當(dāng)壓縮視頻序列通過(guò)HEVC編碼器時(shí),,編碼單元CU是執(zhí)行每個(gè)視頻幀編碼的基本單元,,一個(gè)視頻幀首先被分成64×64個(gè)非重疊的CU單元,每個(gè)CU單元按照四叉樹(shù)[10]的分割方式繼續(xù)分成更小的單元,,如圖1所示,。
利用空間冗余壓縮,幀內(nèi)預(yù)測(cè)在HEVC編碼中通過(guò)相鄰塊編碼預(yù)測(cè)得到當(dāng)前塊,,對(duì)一個(gè)N×N大小的編碼單元CU,,N∈{64,32,,16},,僅有一個(gè)大小為N×N的預(yù)測(cè)單元,,然而當(dāng)N=8時(shí),有8×8和4×4兩個(gè)預(yù)測(cè)尺寸,。此外,,不同的PU尺寸,HEVC支持35種[10]預(yù)測(cè)模式,,如圖2所示,,而H.264只有9種。35種預(yù)測(cè)模式中,,模式0和模式1分別是平面和直流模式,,適合用在逐漸變化和小亮度變化的預(yù)測(cè)單元,除去以上兩種模式,,其余33種不同方向的預(yù)測(cè)模式經(jīng)常用來(lái)捕捉邊緣特性,。
對(duì)一個(gè)N×N的預(yù)測(cè)單元PU,HEVC編碼從對(duì)應(yīng)相鄰像素和幀內(nèi)預(yù)測(cè)生成35種預(yù)測(cè)塊,,這些參考像素從右上方,、上、左上,、左,、左下相鄰塊像素編碼,如圖3所示,。
2 基于HEVC的水印算法設(shè)計(jì)
本文提出的算法基于HEVC高效視頻編碼格式,,主要包括水印預(yù)處理、水印嵌入與提取模塊,,其中嵌入與提取算法是與HEVC的編碼器緊密結(jié)合的,。
2.1 水印預(yù)處理
水印預(yù)處理是視頻水印算法重要的一個(gè)環(huán)節(jié),它可以有效地去除水印信息的相關(guān)性,,提高水印信息抵抗攻擊的能力,。水印信息可以是一幅圖片或者文字等載體數(shù)據(jù),通常根據(jù)水印算法提供的水印容量來(lái)選取嵌入何種水印,。通過(guò)實(shí)驗(yàn)發(fā)現(xiàn),,本算法可嵌入的載體容量可達(dá)1 kB~10 kB,所以可以嵌入簡(jiǎn)單的單色圖像,。常用的水印預(yù)處理方法有置亂,、擴(kuò)頻等,置亂的主要功能是去除水印信息本身的自相關(guān)性,,即使水印被第三方破解,,由于水印信息是亂序的,第三方仍然不能得知水印信息的真實(shí)來(lái)源并對(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ù)人眼視覺(jué)模型,,人眼對(duì)運(yùn)動(dòng)區(qū)域活躍的地方不敏感,水印嵌入的位置應(yīng)該選擇在紋理較復(fù)雜的區(qū)域,。由于非運(yùn)動(dòng)區(qū)域的平滑性,其編碼單元尺寸較大,,反過(guò)來(lái)運(yùn)動(dòng)區(qū)域的編碼尺寸一般較小,,所以水印嵌入的位置選擇在較深的編碼單元。在H.265編碼中,,編碼樹(shù)單元中4×4子塊的非零系數(shù)個(gè)數(shù)代表當(dāng)前子塊的運(yùn)動(dòng)活性,,因此選擇大小為4×4的編碼單元進(jìn)行嵌入對(duì)視頻質(zhì)量和碼率的影響更小。
2.3 水印嵌入算法
H.265編碼樹(shù)單元的預(yù)測(cè)殘差在經(jīng)過(guò)整數(shù)DST變換和量化之后,,預(yù)測(cè)殘差的能量主要集中在中低頻的DST系數(shù)中,,大部分的高頻系數(shù)都為零。HEVC在一個(gè)CU內(nèi)進(jìn)行變換運(yùn)算時(shí),,可以將CU按照編碼樹(shù)層次細(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ù)測(cè)殘差的轉(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ù)測(cè)殘差的變換編碼,HEVC規(guī)定兩種變換:整數(shù)DST[11]和整數(shù)DCT,。整數(shù)DST用在4×4變換單元,,而整數(shù)DCT用在32×32、16×16,、8×8變換單元,。為簡(jiǎn)便起見(jiàn),本算法對(duì)4×4變換單元進(jìn)行整數(shù)DST變換[10]操作,。
用R表示N×N變換單元的亮度預(yù)測(cè)殘差矩陣,,當(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指量化步長(zhǎng),,由量化參數(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)
水印信息是通過(guò)修改QDST變換后的系數(shù)來(lái)嵌入的,根據(jù)奇偶性來(lái)改變?cè)璂ST變換矩陣系數(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 水印提取算法
水印提取是嵌入的逆過(guò)程,因此實(shí)現(xiàn)起來(lái)簡(jiǎn)單方便,,提取流程圖如圖5所示。
先對(duì)嵌入水印的H.265碼流進(jìn)行熵解碼,,得到每個(gè)編碼樹(shù)單元預(yù)測(cè)殘差的量化DST系數(shù),,再統(tǒng)計(jì)每個(gè)編碼樹(shù)單元中子塊DST系數(shù)的非零個(gè)數(shù),找出非零系數(shù)個(gè)數(shù)最多的子塊,對(duì)其進(jìn)行水印的提取和視頻還原,??梢酝ㄟ^(guò)得出的(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測(cè)試序列進(jìn)行水印的嵌入和提取,水印圖像大小為28×16,,內(nèi)容是“SMU”,。
圖6為正常編碼圖像,圖7為嵌入水印后的編碼圖像,,對(duì)比可見(jiàn),,圖像主觀質(zhì)量并沒(méi)有明顯差異,失真較小,。
圖8為選取的前15幀嵌入水印前后圖像的PSNR值對(duì)比,,從圖中可知嵌入水印對(duì)視頻亮度平均PSNR影響很小,符合要求,。
對(duì)含水印的視頻進(jìn)行攻擊測(cè)試,,表2是3種攻擊下提取出來(lái)的水印圖像。
從表2可以看出,,椒鹽噪聲對(duì)水印的影響稍大,,高斯噪聲略有影響,視頻剪切對(duì)水印幾乎沒(méi)影響,。但不論受到何種攻擊后,,提取出水印,,就能很容易地識(shí)別為原圖的內(nèi)容,所以其魯棒性還是比較強(qiáng)的,。
HEVC是新一代高性能視頻編碼標(biāo)準(zhǔn),。本文介紹了HEVC在編碼和預(yù)測(cè)等方面相較于之前視頻格式的區(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.