易銀城, 馮桂, 陳婧
(華僑大學 信息科學與工程學院, 福建 廈門 361021)
網絡寬帶、用戶終端、視頻編碼技術的不斷進步推動著視頻產業的發展.諸如H.264/AVC(advanced video coding)[1]和H.265/HEVC(high efficiency video coding)[2]等視頻編碼標準為視頻的傳輸、存儲及發布帶來了巨大的支持.3D視頻的出現及其本身所帶來的場景立體感[3]及視點交互,使得3D視頻深受歡迎,因此,3D-HEVC[4]視頻編碼標準應運而生.然而,隨著高速帶寬的發展以及各種視頻網站的出現,視頻的觀看及下載變得十分容易.視頻的盜版行為隨之出現,嚴重危害了視頻制作者的利益,使得視頻版權保護成為了一個急需解決的問題.視頻水印技術利用視頻的冗余信息嵌入水印,從而達到保護視頻版權的目的.因此,視頻水印技術成為了保護視頻的一種重要方式.
現階段,針對HEVC的視頻水印技術比較成熟[5-13],而與3D-HEVC相關的視頻水印技術還在研究初期,相應的技術十分缺乏.文獻[14]利用單深度幀內模式(single depth intra mode)實現信息隱藏,根據單深度幀內模式的候選列表像素值是否相等來決定當前編碼單元(coding unit,CU)是否直接作為嵌入單元.當候選列表像素值不相等時,則對該CU進行進一步選擇,避免誤差傳播問題,并根據隱秘信息調制候選列表索引值.文獻[15]利用顯著性模型和大津閾值將圖像區域劃分為顯著區域和非顯著區域.針對不同區域,根據隱秘信息及余數相等原則對P幀或B幀的量化參數(quantization paremeter,QP)值按不同公式進行修改.文獻[16]根據紋理圖的紋理信息及深度圖的邊緣信息,將深度圖的編碼樹單元(coding tree unit,CTU)劃分成4種類型,并根據隱秘信息和劃分的CTU類型對QP值進行修改.
本文在對現有算法深入研究的基礎上,提出一種基于深度幀內跳過(depth intra skip,DIS)模式的3D-HEVC視頻水印算法.
HEVC編碼標準主要針對的是紋理圖.然而,在3D視頻中,除紋理圖外,還需要對深度圖進行壓縮處理.深度圖由大量像素值基本一致的平坦區域構成.針對這種特性,3D-HEVC編碼標準在HEVC編碼標準的基礎上引入了包括深度建模模式(depth modeling modes,DMMs)[17]、分段直流殘差編碼(segment-wise DC coding,SDC)[18]和DIS模式等技術,以便更有效地對3D視頻進行壓縮.同時,新技術的引入也使得針對3D-HEVC的視頻水印算法有了更多的實現方案.
DIS模式是對3D-HEVC編碼標準中原有技術(單深度幀內模式)的改進.DIS模式去除了單深度幀內模式中單深度候選值的獲取過程,同時引入了現有的方向預測模式(水平和垂直預測模式).與幀間跳過模式一樣,DIS模式也沒有預測殘差傳輸到解碼端.DIS模式中共有4種預測類型(垂直預測模式、水平預測模式、水平單深度模式和垂直單深度模式),分別對應預測類型索引值0~3,如圖1所示.圖1中:不同顏色方塊表示不同的深度值,黑色方框內的塊表示參考像素.

(a) 垂直預測模式 (b) 水平預測模式 (c) 水平單深度模式 (d) 垂直單深度模式圖1 4種DIS模式預測類型Fig.1 Four types of DIS mode
當CU采用DIS模式進行編碼時,CU的劃分模式只能為2N×2N模式.此時,若DIS模式的預測類型索引值為0或1,當前CU的預測值則為對應的垂直或水平方向預測值;若DIS模式的預測類型索引值為2或3,當前CU的預測值則為左側邊界或上方邊界的中間位置的深度值,即黃色方塊代表深度值.CU利用上述4種預測類型進行編碼并計算率失真代價,選擇代價最小的預測類型作為當前CU的DIS模式最終的預測類型.
經過對標準序列的測試,得到了在不同量化參數值下,深度圖中CU最優編碼模式為DIS模式的比例,如表1所示.從表1中可知:DIS模式作為最優編碼模式的平均比例達到了66.42%.表明對于絕大多數CU來說,DIS模式比起其他預測模式更適合深度圖的編碼.
Balloons第一幀圖像的DIS模式分布,如圖2所示.圖2中:黃色區域表示DIS模式作為該區域CU的最優編碼模式.從圖2可知:利用DIS模式嵌入水印可獲得大量可選擇的嵌入單元.

(a) 原始圖像 (b) DIS模式分布圖圖2 Balloons第一幀圖像的DIS模式分布Fig.2 Distribution of DIS mode of Balloons in 1th frame
在文中算法中,為實現水印的嵌入,將DIS模式的預測類型分為兩類,并建立水印值與類之間的映射關系.在劃分類別時還需注意的是,不同的類別劃分會對水印的嵌入、提取過程造成不同程度的影響.例如,將DIS模式的預測類型0,2分為一類,對應水印值0,預測類型1,3分為另一類,對應水印值1.當水印值與類之間的映射不成立時,修改DIS模式的預測類型,例如,將預測類型0修改為預測類型3.這樣分類的好處在于,預測類型0,3同屬于垂直模式,在修改DIS模式的預測類型時對嵌入單元的影響小;但預測類型0,3對應不同水印值,在視頻遭受重編碼攻擊時,預測類型0,3間可能相互轉換或轉換為垂直方向預測模式(模式19~34)中的任意一種,兩種情況都不利于水印的提取.
文中算法更加注重水印的誤碼率性能.因此,文中分別將DIS模式的預測類型0與3,1與2劃分為一類,即垂直模式、水平模式,分別對應水印值0和1.同時,考慮修改DIS模式預測類型帶來的影響,只有水印嵌入前、后的率失真代價變化滿足一定閾值條件時水印才真正嵌入.
在嵌入水印的過程中,不可避免地會產生視頻質量下降或比特率增長等問題.在文中算法中,通過建立DIS模式的預測類型和水印值的映射關系來實現水印的嵌入.在修改DIS模式的預測類型時,可能導致當前CU的預測值隨之變化.此時,若鄰塊CU以當前CU的邊界像素作為參考像素,嵌入水印所產生的誤差將傳播到鄰塊CU中,即誤差傳播問題.因此,需要對該誤差進行消除.文獻[5]提出了兩種方法用于消除誤差傳播問題,即修改TU中的部分系數,以及對水印嵌入單元進行選擇.由于DIS模式中沒有殘差傳輸到解碼端,因此,無法通過修改TU的部分系數達到消除誤差的目的,只能利用水印嵌入單元選擇來消除傳播誤差.
鄰塊CU可選預測模式,如表2所示.3D-HEVC中的35種方向預測模式與HEVC中的方向預測模式一致. 因此, 當前CU作為嵌入單元時,鄰塊CU的可選方向預測模式和文獻[5]所述一致. DIS模

表2 鄰塊CU可選預測模式Tab.2 Optional prediction mode of adjacent CU
式及DMMs模式僅利用CU的上方和左側像素作為參考像素.因此可知,只有鄰塊CU的編碼模式滿足表2所列模式時才不會引起誤差傳播問題,當前CU才能作為嵌入單元.
通過對DIS模式及誤差傳播問題的分析,提出一種基于DIS模式的3D-HEVC視頻水印算法,對DIS模式的預測類型進行分類,并根據水印值和預測類型的匹配情況修改其類型.由于修改DIS模式預測類型會引起深度圖的變化,因此,文中還考慮了水印嵌入前、后的率失真代價變化來對嵌入單元進行進一步選擇.具體有如下7個嵌入步驟.
步驟1對二值水印重新排序,得到的一維水印序列w={w1,w2,…,wn},將用于重復嵌入.
步驟2對CU進行解析,判斷當前CU是否是DIS編碼模式,否則,轉到步驟7.

步驟4判斷鄰塊CU是否滿足表2所列模式,否則,轉到步驟7.

步驟6若重新編碼所計算的代價值滿足abs(Do-De) 步驟7對CU重新編碼,解析下一個CU直至全部CU重新編碼完成. 由于視頻可能遭受重編碼攻擊,因此,在解碼過程中需考慮DIS模式向其他模式轉變的情況.在文中算法中,對DIS模式轉變為方向預測模式2~34的CU,根據其預測方向來決定提取的水印值.對DIS模式轉變為方向預測模式0的CU,當重構CU的DC值與V2和V3的差值小于一定閾值時,根據差值來決定提取的水印值.具體有如下5個主要提取步驟. 步驟1根據嵌入過程的位置信息判斷當前CU是否為水印嵌入單元,否則,轉到步驟5. 步驟2判斷當前CU是否是DIS模式,否則,轉到步驟4. 步驟5解析下一個CU直至全部CU解碼完成. 文中算法在參考軟件HTM 16.0上進行驗證.參考軟件主要參數配置如下:QP值為25,30,35,40,采用圖像組(group of picture,GOP)大小為1的全幀內(all-intra,AI)編碼,共編碼32幀,其他參數采用默認配置.電腦基本配置:CPU為Intel Xeon CPU E5-1630 3.7 GHz,內存為16 GB.測試了6個具有兩種分辨率的序列,分別為1 024 px×768 px的Balloons,Kendo和Newspaper1及1 920 px×1 088 px的PoznanHall2,PoznanStreet和UndoDancer. 不同的測試序列在不同的QP量化參數值下,平均每幀嵌入容量(C)、水印嵌入前、后的比特率變化(ΔR=(Re-Ro)/Re),以及合成視點的平均每幀峰值信噪比(peak signal to noise ratio,PSNR)變化(ΔP=Pe-Po),如表3所示.表3中:Ro,Re分別表示水印嵌入前、后的比特率;Po,Pe則分別表示水印嵌入前、后合成視點的平均每幀PSNR;RPSNR為峰值信噪比(PSNR). 表3 嵌入容量、比特率及和視頻質量變化實驗結果Tab.3 Experimental results of embedding capacity, bit-rate and video quality change 續表Continue table 隨著QP的增長,由于CTU中的CU趨向于大尺寸的劃分,CTU中的CU數目減少.同時,修改大尺寸CU所造成的率失真代價變化也變大,使得可選擇的水印嵌入單元大大減少.而隨著分辨率的提高,CTU的數目增多,可選擇的水印嵌入單元隨之增多. 綜上所述并結合表3可知:水印的嵌入容量隨著QP的增長而下降,而隨著分辨率的提升而提高.在不同QP值(25,30,35,40)下,所有測試序列對應的平均每幀嵌入容量分別為649.567,340.155,173.286和58.130 bit,平均比特率變化則分別為0.043%,0.046%,0.460%和0.180%.所有測試序列在水印嵌入前、后的比特率變化處于0.05%~0.105%,說明了文中所提算法在具有較大嵌入容量的同時,對比特率的影響小. 除嵌入容量和比特率外,嵌入水印對視頻質量的影響也用于驗證算法的性能.由于深度圖不直接用于觀看,因此,通過水印嵌入前、后合成視點的平均每幀PSNR及其主觀性能的變化反應嵌入水印對視頻質量的影響.由表3可知:測試序列合成視點的平均每幀PSNR變化程度隨著嵌入容量的下降而變小.合成視點平均每幀PSNR變化為-0.530 dB,分辨率為1 920 px×1 088 px及1 024 px×768 px視頻的合成視點的平均每幀PSNR變化分別為-0.466和-0.595 dB.結合嵌入容量性能可以發現,1 920 px×1 088 px分辨率視頻同1 024 px×768 px分辨率視頻相比,平均每幀嵌入容量更大,但合成視點的平均每幀PSNR變化卻更小. 造成這種情況的原因在于,前者與后者之間的單幀像素點個數比值約為2.656倍,而平均每幀嵌入容量比值僅約為1.625倍,這意味著前者的單位像素點嵌入容量小于后者.因此,嵌入在前者中的水印對合成視點的影響反而小于后者. 測試序列Balloons及PoznanStreet在QP值等于25時,合成視點第一幀圖像的主觀性能對比圖,如圖3所示.從圖3可知:合成視點的視頻質量在主觀感知上變化不大.由此可知,盡管文中所提算法對合成視點有所影響,但仍處在可接受范圍之內. (a) 原始合成視點主觀性能 (b) 解碼合成視點主觀性能圖3 水印嵌入前、后合成視點的主觀性能對比Fig.3 Comparison of subjective performance in synthetic viewpoints before and after watermark embedding 文中算法的魯棒性將利用誤碼率(RBE)來進行分析,計算公式為 其中:Be表示錯誤比特數目;Bt為總比特數目.由此可知RBE越小,算法的魯棒性越好. 圖4 不同QP值下的誤碼率性能Fig.4 BER under re-encoding with different QP 圖5 不同濾波攻擊及QP值下的誤碼率性能Fig.5 BER under filtering and re-encoding attack with different QP 文中算法誤碼率的測試結果,分別如圖4,5及表4所示.由圖4可知:無攻擊時,RBE為0,能完整地提取出原始水印;而在解碼視頻遭受重編碼攻擊時,解碼視頻與原始視頻的差異使得CU的最優編碼模式發生變化,從而造成誤碼情況.同時,隨著QP的增大,CU的最優編碼模式更容易發生變化.因此,誤碼率(RBE)隨著QP的增長而增長. 表4 不同誤碼率下的提取水印Tab.4 Extracted watermark with different BER 文中所提算法在不同QP值(25,30,35,40)的重編碼攻擊下,對應的誤碼率(RBE)平均值分別為15.683%,20.510%,30.989%和36.055%,誤碼率(RBE)的最小值為10.145%,最大值為39.875%.同時,文本驗證了不同濾波及重編碼混合攻擊下了誤碼率性能.從圖5可知:濾波攻擊使得算法魯棒性下降,但經過重編碼攻擊后整體BER仍小于42%.從表4可知:隨著誤碼率(RBE)的增長,雖然提取的水印圖像在主觀感知上越來越差,但仍可從中辨別出嵌入的水印. 由于文獻[15-16]分配固定比特用于編碼視頻,其實驗條件與文中有所差異.因此,只將文中算法測試結果與文獻[14]所提算法進行對比用于驗證算法的有效性,對比結果如表5所示.表5中:C為平均每幀嵌入容量;P為平均每幀PSNR;R為比特率. 表5 所提算法與參考文獻[14]算法的性能對比Tab.5 Performance comparison between proposed algorithm and algorithm in references [14] 結合圖3可知:文中所提算法在合成視點主觀圖像變化幾乎不可感知的前提下,平均比特率變化更小、平均嵌入容量更大.文中算法的不足之處在于合成視點的客觀指標PSNR變化較大.雖然文中算法在嵌入過程中根據嵌入前、后的率失真代價變化對嵌入單元進行了進一步選擇,但修改DIS模式的預測類型仍對深度圖造成較大影響,因此導致了合成視點的平均每幀PSNR變化較大. 文中提出了一種基于DIS模式的3D-HEVC視頻水印算法.首先,對DIS模式的編碼過程進行分析,同時對DIS模式預測類型進行分類并建立與水印值之間的映射關系.其次,對幀內誤差傳播問題進行了全面分析,根據水印值與DIS模式的預測類型的匹配情況來進一步對當前CU進行選擇,選取不會造成誤差傳播的CU作為水印候選嵌入單元.最后,根據水印嵌入前、后的率失真代價變化來決定是否嵌入水印信息. 實驗結果表明,文中算法有較高的嵌入容量且對比特率影響小,但文中算法的抗重編碼攻擊性能一般,且對深度圖造成的影響使得合成視點的平均每幀PSNR變化較大.因此,提升算法的抗重編碼攻擊性能及減少對深度圖的影響將作為接下來的研究方向.同時,水印嵌入過程中的閾值選擇的自適應化及水印提取過程中對誤碼情況的判斷也有待進一步優化.1.4 提取算法


2 實驗結果及分析
2.1 嵌入容量、比特率及視頻質量變化




2.2 魯棒性分析



2.3 算法對比

3 結論