劉梅鋒, 鐘國韻, 徐洪珍
(東華理工大學 機械與電子工程學院,江西 撫州 344000)
MPEG-4 中采用的是視頻對象平面(Video Object Plannar,縮寫VOP)編碼方式,其運動估計采用VOP 形狀運動搜索模式,這樣可以較準確地搜索到參考VOP,得到較小的殘差,但是該種方式計算復雜度極高,且VOP 內部紋理數(shù)據(jù)的總編碼比特率較高(夏金祥,2004)。在后來的H.264/AVC(Ostermarm et al.,2004;ITU-T,2003;Wiegand et al.,2003),即MPEG-4 第10 部分中,采用了塊匹配的運動估計方式,極大地降低了計算復雜度。
針對H.264/AVC 中基于塊匹配運動估計不準確的情況,Zhibin 等(2010)、Milani 等(2011)提出了非規(guī)則形狀分塊方式。Muhit 等(2012)、Liwei 等(2010)、Bordes 等(2011)提出了幾何自適應分塊方式。Servais 等(2005)、焦衛(wèi)東等(2007)提出網格分塊方式。
H.264/AVC 最大為16 ×16 尺寸的編碼塊尺寸已不能滿足高清視頻壓縮編碼的需求,因此,視頻編碼聯(lián)合協(xié)作小組(Joint Collaborative Team on Video Coding,縮寫JCT-VC)制定了下一代國際視頻壓縮編碼標準:高效率視頻編碼標準HEVC(High Efficiency Video Coding,縮寫HEVC)(Kim,2012;Bross,2012),該標準在保持視頻質量的前提下,編碼壓縮率比H.264/AVC 提高一倍。
目前HEVC 標準仍然采用塊匹配法進行運動估計,而塊匹配方法是以整個正方形塊的剛體運動為前提的,但是,在實際的視頻圖像中,運動對象邊界往往都不是水平或者垂直的,一個運動對象的各個部分的運動速度也可能不同,在正方形塊匹配前提下,分塊尺寸越大,該情況出現(xiàn)的概率越高,運動估計越不準確,幀間預測的殘差也將越大,從而導致編碼比特率較高。
若采用三角形分塊的方式,則其塊邊界(三角形斜邊)將更接近實際運動對象的邊界,運動估計將更準確,比特率將有較大程度的降低,即能較大程度的提高壓縮率。因此,本文將研究基于三角形分塊的HEVC 幀間預測方法,通過從三角形分塊方法、三角形分塊運動估計、三角形分塊濾波等幾個方面進行研究。
在HEVC 中,由于高清視頻分塊尺寸增大,幀間預測殘差也可能隨之增大。采用非規(guī)則分塊可以有效地減小預測殘差。然而在引入非規(guī)則分塊后,其增加的分塊模式比特數(shù)是不能忽略的。由于HEVC 采用了新的單元模式的表示方式(Han et al.,2010),幀間預測語法元素在幀、片、宏塊三級得到了有效的統(tǒng)一。采用非規(guī)則分塊后,其分塊模式增加的比特數(shù)相比H.264 較小(在H.264 中,幀間預測的語法元素在幀、片、宏塊三級需要部分重復定義,當額外定義新的語法元素時,其碼率相當于在幀、片、宏塊三級重疊增加,造成碼率增幅較大)。
Xiaozhen(2011)提出了HEVC 視頻編碼框架下的非規(guī)則分塊方式,此類分塊方式的引入,較H.264降低了8%左右的整體視頻編碼的比特率。
HEVC 中的運動估計大致與H.264/AVC 中的相同,主要在于MV 的預測的不同,HEVC 中的MV預測主要從空間域和時間域等兩個方面進行預測。
HEVC 中提出了一種新的技術,稱為運動向量融合,該技術有點類似H. 264/AVC 中的“直接”(DIRECT)和SKIP 模式,只不過HEVC 中運動向量融合技術多了對空域上相鄰塊的比較技術。如圖所示,主要是比較當前的PU 分塊與空域或者時域上相鄰的分塊有著相同的MV 或者相同的塊。MERGE 有兩種情況:第一,當前塊與相鄰塊有相同的MV;第二,當前塊與相鄰塊有相同的MV 及相同的像素塊(即它們的殘差塊經變換量化后系數(shù)為零)。在去方塊濾波方面,HEVC 采用三種策略:不進行濾波、弱濾波和強濾波。
根據(jù)上述各種非規(guī)則運動分塊的優(yōu)缺點,一方面,為了避免增加過多的分塊模式而增加比特數(shù),另一方面,為了更準確地對分塊進行運動補償,對各種尺寸的CU 均采用非規(guī)則分塊的設計,因此,本文擬提出如圖1 所示的三角形運動分塊的方法,圖中,N 的取值可為8、16、32 和64。
由于要加入三角形PU 運動分塊方式,則有必要加入新的句法元素。在HEVC 中,PU 預測模式可分為三種分割方式:橫向分割、豎向分割和不分割等。非對稱的PU 預測模式有四種,其中兩種為橫向分割,另外兩種為豎向分割。在橫向分割和豎向分割的編碼過程中,需另外增加1 ~2個比特,其中一個比特表示是否為非對稱的PU 分塊,另一個比特表示非對稱PU 分塊的種類。
圖1 三角形運動分塊方法Fig.1 Proposed triangle motion block method
本文提出的三角形PU 運動分塊有兩種模式,因此,只要在原來的橫向分割或豎向分割其中一種類型中添加即可。為了降低編碼的比特率,通過實驗統(tǒng)計了多個視頻序列的橫向分割和豎向分割出現(xiàn)的概率(表1)。顯然,橫向分割出現(xiàn)的概率要小于豎向分割的概率,若將提出的三角形PU 分塊的句法元素信息加到橫向分割的模式中,則對整體的編碼信息的增加量將相對較小。因此,本文將三角形PU 分塊的比特添加入橫向分割的PU 預測模式中(表2),其中PART_45 和PART_135 分別為兩種三角形PU 運動分塊方式。
表1 三角形PU 模式實驗統(tǒng)計表Table 1 Experimental Statistics of the triangle PU mode
表2 加入三角形PU 模式后的HEVC 中PU 模式熵編碼信息Table 2 Entropy coding information of PU mode after the triangle PU modes are added
為了根據(jù)本文的三角形方法,本文采用如圖2所示的MV 預測方法。
圖2 三角形MV 預測方法Fig.2 Proposed MV prediction method for the triangle
從圖中可以看出,本文并未把同一個CU 中的相鄰塊的MV 作為當前塊的參考MV 之一,該措施的依據(jù)如下:既然在同一個CU 里面,當前PU 與相鄰PU 被分為兩個不同的PU,說明把該CU 分為兩個此模式的PU 分塊單獨進行運動估計,最終通過運動補償所得的殘差更小,即這兩塊PU 分塊有著不同的MV。因此,對于當前的PU 分塊來說,同一個CU 內的相鄰PU 的MV 沒什么參考價值。
在三角形分塊的運動向量融合策略方面,相比HEVC 中規(guī)則塊的融合方式,本文保持空域上左邊塊和上邊塊、時域上的塊的融合策略不變,對于其它幾種方向的塊增加如圖所示的幾種融合策略:從圖3 中可以看出,在本文提出的三角形分塊的運動向量融合方法中,(a)、(b)和(c)中的當前PU 分塊分別與右上方塊、左下方塊及左上方塊等空域的相鄰塊之間相隔了一個與當前PU 分塊同一個CU的相鄰PU 分塊。因此,當前PU 分塊不太可能與這些參考塊有相同的MV,于是,這些情況下不必進行融合。
圖3 三角形分塊的融合策略Fig.3 Proposed merge strategy for triangle block
對于普通的規(guī)則運動分塊,其視頻編碼產生的“方塊效應”主要包括2個方面的原因:一個重要的原因是基于塊的幀內和幀間預測殘差的DCT 變化,變化系數(shù)的量化過程相對粗糙,因而反量化過程恢復的變換系數(shù)帶有誤差,會造成在圖像塊邊界上產生數(shù)據(jù)不連續(xù)。第二個原因來自運動補償預測。運動補償塊可能是從不是同一幀的不同位置上通過插值運算而獲得的,由于運動補償塊的匹配不可能是絕對準確的,所以就會在數(shù)據(jù)塊的邊界出現(xiàn)不連續(xù)的數(shù)據(jù)。對于本文提出的三角形運動分塊而言,由于同一個CU 內的不同的兩個三角形PU是處于同一個TU 內。因此,它們之間的對角線PU邊界并不會產生因反量化過程恢復的變換系數(shù)帶有誤差而帶來的邊界數(shù)據(jù)不連續(xù)。但是,這兩個三角形PU 分塊是單獨進行運動估計和運動補償?shù)?。因此,它們之間的邊界也會產生因運動補償?shù)牟煌耆珳蚀_匹配而產生的邊界數(shù)據(jù)不連續(xù)的情況。因此,本文的三角形運動分塊的濾波只采用弱濾波的方法。為了節(jié)省濾波的計算復雜度,本文對于三角形運動分塊的濾波,將參考規(guī)則運動分塊濾波判決的方法,當一個CU 的四個邊中有一個需要進行濾波(不管是強濾波還是弱濾波),對該CU 中的三角形PU 分塊的邊界進行濾波(圖4)。
在本文的三角形分塊的濾波方法中,當CU 的四邊中有一邊判決為濾波,則當前CU 中的兩塊三角形PU 分塊邊界將進行濾波,濾波公式定義如下:
式中括號內加5 的目的為四舍五入用,各個像素點的濾波順序如圖5 中灰色像素及箭頭所示。
為了檢驗本文提出的三角形運動分塊方法,本文將所提方法與HM7.0 及文獻(Xiaozhen,2011)進行比較,實驗平臺為HM7.0。
圖4 三角形分塊濾波方法Fig.4 Proposed filtering method for triangle block
圖5 三角形分塊濾波像素點順序Fig.5 Proposed pixels sequence of filtering for triangle block
表3 顯示了本文轉碼算法與文獻算法之間的BD-rate 性能。從表中可以看出,相比文獻算法,在編碼時間平均上升23%的前提下,本文提出算法在BD-rate 方面平均降低了2.1%。
除了BD-rate,本文的編碼性能還基于以下三個性能指標:
表3 本文算法與文獻(Xiaozhen,2011)算法之間的BD-rate 性能(%)比較Table 3 BD-rate performance between the proposed algorithm and the one in reference(Xiaozhen,2011)(%)
其 中 ΔBitrate 是 比 特 率 增 量,Bitratepro和Bitrateref分別是所提出的快速模式選擇算法和HM7.0 的比特率。ΔPSNR 峰值信號噪聲比(Peak Signal to Noise Ratio,縮寫PSNR)的增量,PSNRpro和PSNRref分別是所提出的算法和HM7.0 的PSNR。ΔTime 是模擬時間增量,Timepro和Timeref分別是所提出的算法和HM7.0 的仿真時間。
表4 本文算法與文獻(Xiaozhen,2011)之間比特率、視頻質量和編碼時間的比較表Table 4 Comparison of bitrate,video quality and coding time between the proposed algorithm and Ref. (Xiaozhen,2011)
本文提出了一種基于三角形運動分塊的HEVC 編碼方法。首先提出了將一個CU 分塊分為兩種情況PU 的三角形分塊方法,接著根據(jù)所提出的三角形分塊方法分析設計了三角形分塊的運動向量預測及融合模式的方法,然后提出的三角形分塊之間邊界的特性,分析設計了簡單但有效的基于三角形分塊的去方塊濾波方法。最終根據(jù)新增添的三角形PU 分塊模式與其它已有的PU 模式之間的關系,重新分析設計了三角形PU 分塊模式的熵編碼中的碼字編碼方法。實驗結果顯示,相比已有的基于三角形的HEVC 編碼方法,本文提出的三角形運動分塊方法能在保持視頻質量基本不變及編碼時間平均上升23%的前提下,BD-rate 平均降低2.1%。在一些對比特率較敏感,而對編碼計算復雜度要求不高或者已具備較強的計算能力的場合,本文算法有一定的實際應用價值。
焦衛(wèi)東,盧朝陽,何華君,等. 2007. 基于Delaunay 三角形網格的彩色視頻幀內編碼方法[J]. 西安電子科技大學學報:自然科學版,34(4):543-548.
夏金祥. 2004. 面向MPEG-4 的視頻分割和視頻編碼算法[D]. 電子科技大學博士學位論文.
Bordes P,F(xiàn)rancois E,Thoreau D. 2011. Fast encoding algorithms for geometry-adaptive block partitioning[C]. 18th IEEE International Conference on Image Processing,1205-1208.
Bross B. 2012. JCTVC-I1003. High ef?ciency video coding (HEVC)text specification draft 7[C]. Geneva,Switzerland. JCTVC of ISO/IEC and ITU-T.
Han W J,Min J,Kim I K,et al. 2010. Improved Video Compression Efficiency Through Flexible Unit Representation and Corresponding Extension of Coding Tools[J]. IEEE Transactions on Circuits and Systems for Video Technology,20(12):1709-1720.
ITU-T.2003. Rec. H.264 and ISO/IEC 14496-10 Version 1,Recommendation H. 264 Advanced Video Coding for Generic Audiovisual Services[S].
Kim I-K. 2012. JCTVC-I1002. High efficiency video coding (HEVC)test model 7 (HM 7)encoder description[C]. Geneva,Switzerland.JCTVC of ISO/IEC and ITU-T.
Liwei G,Peng Y,Yunfei Z,et al. 2010.Simplified geometry-adaptive block partitioning for video coding[C]. Proceedings of 2010 IEEE 17th International Conference on Image Processing,Hong Kong,965-968.
Milani S,Calvagno G. 2011. Segmentation-based motion compensation for enhanced video coding[C].18th IEEE International Conference on Image Processing,1649-1652.
Muhit A A,Pickering M R,F(xiàn)rater M R,et al. 2012. Video coding using fast geometry-adaptive partitioning and an elastic motion model[J]. Journal of Visual Communication and Image Representation,23(1):31-41.
Ostermarm J,Bormans J,List P,et al. 2004. Video Coding with H.264/AVC:Tools,Performance,and Complexity[J]IEEE Circus and System Magazine,4(1):7-28.
Servais M,VlachosT,Davies T. 2005. Affine motion compensation using a content-based mesh[J]. Journal of Image Signal Process,152(4):414-423.
Wiegand T,Van G J S,Bjontegaard G,et al. 2003. Overview of the H.264/AVC Video Coding Standard[J],IEEE Tran. Circuits Syst.Video Technol,13 (7):560-576.
Xiaozhen Z,Haoping Y,Shao L,et al. 2011. JCT-VC F415,CE2:Non-rectangular motion partitioning[C]. Torino,IT. JCTVC of ISO/IEC and ITU-T.
Zhibin L,Yilin C. 2010. Content-based irregularly shaped macroblock partition for inter frame prediction in video coding[J]. Signal Processing:Image Communication,25(8):610-621.