劉梅鋒, 鐘國(guó)韻, 徐洪珍
(東華理工大學(xué) 機(jī)械與電子工程學(xué)院,江西 撫州 344000)
MPEG-4 中采用的是視頻對(duì)象平面(Video Object Plannar,縮寫VOP)編碼方式,其運(yùn)動(dòng)估計(jì)采用VOP 形狀運(yùn)動(dòng)搜索模式,這樣可以較準(zhǔn)確地搜索到參考VOP,得到較小的殘差,但是該種方式計(jì)算復(fù)雜度極高,且VOP 內(nèi)部紋理數(shù)據(jù)的總編碼比特率較高(夏金祥,2004)。在后來的H.264/AVC(Ostermarm et al.,2004;ITU-T,2003;Wiegand et al.,2003),即MPEG-4 第10 部分中,采用了塊匹配的運(yùn)動(dòng)估計(jì)方式,極大地降低了計(jì)算復(fù)雜度。
針對(duì)H.264/AVC 中基于塊匹配運(yùn)動(dòng)估計(jì)不準(zhǔn)確的情況,Zhibin 等(2010)、Milani 等(2011)提出了非規(guī)則形狀分塊方式。Muhit 等(2012)、Liwei 等(2010)、Bordes 等(2011)提出了幾何自適應(yīng)分塊方式。Servais 等(2005)、焦衛(wèi)東等(2007)提出網(wǎng)格分塊方式。
H.264/AVC 最大為16 ×16 尺寸的編碼塊尺寸已不能滿足高清視頻壓縮編碼的需求,因此,視頻編碼聯(lián)合協(xié)作小組(Joint Collaborative Team on Video Coding,縮寫JCT-VC)制定了下一代國(guó)際視頻壓縮編碼標(biāo)準(zhǔn):高效率視頻編碼標(biāo)準(zhǔn)HEVC(High Efficiency Video Coding,縮寫HEVC)(Kim,2012;Bross,2012),該標(biāo)準(zhǔn)在保持視頻質(zhì)量的前提下,編碼壓縮率比H.264/AVC 提高一倍。
目前HEVC 標(biāo)準(zhǔn)仍然采用塊匹配法進(jìn)行運(yùn)動(dòng)估計(jì),而塊匹配方法是以整個(gè)正方形塊的剛體運(yùn)動(dòng)為前提的,但是,在實(shí)際的視頻圖像中,運(yùn)動(dòng)對(duì)象邊界往往都不是水平或者垂直的,一個(gè)運(yùn)動(dòng)對(duì)象的各個(gè)部分的運(yùn)動(dòng)速度也可能不同,在正方形塊匹配前提下,分塊尺寸越大,該情況出現(xiàn)的概率越高,運(yùn)動(dòng)估計(jì)越不準(zhǔn)確,幀間預(yù)測(cè)的殘差也將越大,從而導(dǎo)致編碼比特率較高。
若采用三角形分塊的方式,則其塊邊界(三角形斜邊)將更接近實(shí)際運(yùn)動(dòng)對(duì)象的邊界,運(yùn)動(dòng)估計(jì)將更準(zhǔn)確,比特率將有較大程度的降低,即能較大程度的提高壓縮率。因此,本文將研究基于三角形分塊的HEVC 幀間預(yù)測(cè)方法,通過從三角形分塊方法、三角形分塊運(yùn)動(dòng)估計(jì)、三角形分塊濾波等幾個(gè)方面進(jìn)行研究。
在HEVC 中,由于高清視頻分塊尺寸增大,幀間預(yù)測(cè)殘差也可能隨之增大。采用非規(guī)則分塊可以有效地減小預(yù)測(cè)殘差。然而在引入非規(guī)則分塊后,其增加的分塊模式比特?cái)?shù)是不能忽略的。由于HEVC 采用了新的單元模式的表示方式(Han et al.,2010),幀間預(yù)測(cè)語法元素在幀、片、宏塊三級(jí)得到了有效的統(tǒng)一。采用非規(guī)則分塊后,其分塊模式增加的比特?cái)?shù)相比H.264 較小(在H.264 中,幀間預(yù)測(cè)的語法元素在幀、片、宏塊三級(jí)需要部分重復(fù)定義,當(dāng)額外定義新的語法元素時(shí),其碼率相當(dāng)于在幀、片、宏塊三級(jí)重疊增加,造成碼率增幅較大)。
Xiaozhen(2011)提出了HEVC 視頻編碼框架下的非規(guī)則分塊方式,此類分塊方式的引入,較H.264降低了8%左右的整體視頻編碼的比特率。
HEVC 中的運(yùn)動(dòng)估計(jì)大致與H.264/AVC 中的相同,主要在于MV 的預(yù)測(cè)的不同,HEVC 中的MV預(yù)測(cè)主要從空間域和時(shí)間域等兩個(gè)方面進(jìn)行預(yù)測(cè)。
HEVC 中提出了一種新的技術(shù),稱為運(yùn)動(dòng)向量融合,該技術(shù)有點(diǎn)類似H. 264/AVC 中的“直接”(DIRECT)和SKIP 模式,只不過HEVC 中運(yùn)動(dòng)向量融合技術(shù)多了對(duì)空域上相鄰塊的比較技術(shù)。如圖所示,主要是比較當(dāng)前的PU 分塊與空域或者時(shí)域上相鄰的分塊有著相同的MV 或者相同的塊。MERGE 有兩種情況:第一,當(dāng)前塊與相鄰塊有相同的MV;第二,當(dāng)前塊與相鄰塊有相同的MV 及相同的像素塊(即它們的殘差塊經(jīng)變換量化后系數(shù)為零)。在去方塊濾波方面,HEVC 采用三種策略:不進(jìn)行濾波、弱濾波和強(qiáng)濾波。
根據(jù)上述各種非規(guī)則運(yùn)動(dòng)分塊的優(yōu)缺點(diǎn),一方面,為了避免增加過多的分塊模式而增加比特?cái)?shù),另一方面,為了更準(zhǔn)確地對(duì)分塊進(jìn)行運(yùn)動(dòng)補(bǔ)償,對(duì)各種尺寸的CU 均采用非規(guī)則分塊的設(shè)計(jì),因此,本文擬提出如圖1 所示的三角形運(yùn)動(dòng)分塊的方法,圖中,N 的取值可為8、16、32 和64。
由于要加入三角形PU 運(yùn)動(dòng)分塊方式,則有必要加入新的句法元素。在HEVC 中,PU 預(yù)測(cè)模式可分為三種分割方式:橫向分割、豎向分割和不分割等。非對(duì)稱的PU 預(yù)測(cè)模式有四種,其中兩種為橫向分割,另外兩種為豎向分割。在橫向分割和豎向分割的編碼過程中,需另外增加1 ~2個(gè)比特,其中一個(gè)比特表示是否為非對(duì)稱的PU 分塊,另一個(gè)比特表示非對(duì)稱PU 分塊的種類。
圖1 三角形運(yùn)動(dòng)分塊方法Fig.1 Proposed triangle motion block method
本文提出的三角形PU 運(yùn)動(dòng)分塊有兩種模式,因此,只要在原來的橫向分割或豎向分割其中一種類型中添加即可。為了降低編碼的比特率,通過實(shí)驗(yàn)統(tǒng)計(jì)了多個(gè)視頻序列的橫向分割和豎向分割出現(xiàn)的概率(表1)。顯然,橫向分割出現(xiàn)的概率要小于豎向分割的概率,若將提出的三角形PU 分塊的句法元素信息加到橫向分割的模式中,則對(duì)整體的編碼信息的增加量將相對(duì)較小。因此,本文將三角形PU 分塊的比特添加入橫向分割的PU 預(yù)測(cè)模式中(表2),其中PART_45 和PART_135 分別為兩種三角形PU 運(yùn)動(dòng)分塊方式。
表1 三角形PU 模式實(shí)驗(yàn)統(tǒng)計(jì)表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 預(yù)測(cè)方法。
圖2 三角形MV 預(yù)測(cè)方法Fig.2 Proposed MV prediction method for the triangle
從圖中可以看出,本文并未把同一個(gè)CU 中的相鄰塊的MV 作為當(dāng)前塊的參考MV 之一,該措施的依據(jù)如下:既然在同一個(gè)CU 里面,當(dāng)前PU 與相鄰PU 被分為兩個(gè)不同的PU,說明把該CU 分為兩個(gè)此模式的PU 分塊單獨(dú)進(jìn)行運(yùn)動(dòng)估計(jì),最終通過運(yùn)動(dòng)補(bǔ)償所得的殘差更小,即這兩塊PU 分塊有著不同的MV。因此,對(duì)于當(dāng)前的PU 分塊來說,同一個(gè)CU 內(nèi)的相鄰PU 的MV 沒什么參考價(jià)值。
在三角形分塊的運(yùn)動(dòng)向量融合策略方面,相比HEVC 中規(guī)則塊的融合方式,本文保持空域上左邊塊和上邊塊、時(shí)域上的塊的融合策略不變,對(duì)于其它幾種方向的塊增加如圖所示的幾種融合策略:從圖3 中可以看出,在本文提出的三角形分塊的運(yùn)動(dòng)向量融合方法中,(a)、(b)和(c)中的當(dāng)前PU 分塊分別與右上方塊、左下方塊及左上方塊等空域的相鄰塊之間相隔了一個(gè)與當(dāng)前PU 分塊同一個(gè)CU的相鄰PU 分塊。因此,當(dāng)前PU 分塊不太可能與這些參考?jí)K有相同的MV,于是,這些情況下不必進(jìn)行融合。
圖3 三角形分塊的融合策略Fig.3 Proposed merge strategy for triangle block
對(duì)于普通的規(guī)則運(yùn)動(dòng)分塊,其視頻編碼產(chǎn)生的“方塊效應(yīng)”主要包括2個(gè)方面的原因:一個(gè)重要的原因是基于塊的幀內(nèi)和幀間預(yù)測(cè)殘差的DCT 變化,變化系數(shù)的量化過程相對(duì)粗糙,因而反量化過程恢復(fù)的變換系數(shù)帶有誤差,會(huì)造成在圖像塊邊界上產(chǎn)生數(shù)據(jù)不連續(xù)。第二個(gè)原因來自運(yùn)動(dòng)補(bǔ)償預(yù)測(cè)。運(yùn)動(dòng)補(bǔ)償塊可能是從不是同一幀的不同位置上通過插值運(yùn)算而獲得的,由于運(yùn)動(dòng)補(bǔ)償塊的匹配不可能是絕對(duì)準(zhǔn)確的,所以就會(huì)在數(shù)據(jù)塊的邊界出現(xiàn)不連續(xù)的數(shù)據(jù)。對(duì)于本文提出的三角形運(yùn)動(dòng)分塊而言,由于同一個(gè)CU 內(nèi)的不同的兩個(gè)三角形PU是處于同一個(gè)TU 內(nèi)。因此,它們之間的對(duì)角線PU邊界并不會(huì)產(chǎn)生因反量化過程恢復(fù)的變換系數(shù)帶有誤差而帶來的邊界數(shù)據(jù)不連續(xù)。但是,這兩個(gè)三角形PU 分塊是單獨(dú)進(jìn)行運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償?shù)?。因此,它們之間的邊界也會(huì)產(chǎn)生因運(yùn)動(dòng)補(bǔ)償?shù)牟煌耆珳?zhǔn)確匹配而產(chǎn)生的邊界數(shù)據(jù)不連續(xù)的情況。因此,本文的三角形運(yùn)動(dòng)分塊的濾波只采用弱濾波的方法。為了節(jié)省濾波的計(jì)算復(fù)雜度,本文對(duì)于三角形運(yùn)動(dòng)分塊的濾波,將參考規(guī)則運(yùn)動(dòng)分塊濾波判決的方法,當(dāng)一個(gè)CU 的四個(gè)邊中有一個(gè)需要進(jìn)行濾波(不管是強(qiáng)濾波還是弱濾波),對(duì)該CU 中的三角形PU 分塊的邊界進(jìn)行濾波(圖4)。
在本文的三角形分塊的濾波方法中,當(dāng)CU 的四邊中有一邊判決為濾波,則當(dāng)前CU 中的兩塊三角形PU 分塊邊界將進(jìn)行濾波,濾波公式定義如下:
式中括號(hào)內(nèi)加5 的目的為四舍五入用,各個(gè)像素點(diǎn)的濾波順序如圖5 中灰色像素及箭頭所示。
為了檢驗(yàn)本文提出的三角形運(yùn)動(dòng)分塊方法,本文將所提方法與HM7.0 及文獻(xiàn)(Xiaozhen,2011)進(jìn)行比較,實(shí)驗(yàn)平臺(tái)為HM7.0。
圖4 三角形分塊濾波方法Fig.4 Proposed filtering method for triangle block
圖5 三角形分塊濾波像素點(diǎn)順序Fig.5 Proposed pixels sequence of filtering for triangle block
表3 顯示了本文轉(zhuǎn)碼算法與文獻(xiàn)算法之間的BD-rate 性能。從表中可以看出,相比文獻(xiàn)算法,在編碼時(shí)間平均上升23%的前提下,本文提出算法在BD-rate 方面平均降低了2.1%。
除了BD-rate,本文的編碼性能還基于以下三個(gè)性能指標(biāo):
表3 本文算法與文獻(xiàn)(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 峰值信號(hào)噪聲比(Peak Signal to Noise Ratio,縮寫PSNR)的增量,PSNRpro和PSNRref分別是所提出的算法和HM7.0 的PSNR。ΔTime 是模擬時(shí)間增量,Timepro和Timeref分別是所提出的算法和HM7.0 的仿真時(shí)間。
表4 本文算法與文獻(xiàn)(Xiaozhen,2011)之間比特率、視頻質(zhì)量和編碼時(shí)間的比較表Table 4 Comparison of bitrate,video quality and coding time between the proposed algorithm and Ref. (Xiaozhen,2011)
本文提出了一種基于三角形運(yùn)動(dòng)分塊的HEVC 編碼方法。首先提出了將一個(gè)CU 分塊分為兩種情況PU 的三角形分塊方法,接著根據(jù)所提出的三角形分塊方法分析設(shè)計(jì)了三角形分塊的運(yùn)動(dòng)向量預(yù)測(cè)及融合模式的方法,然后提出的三角形分塊之間邊界的特性,分析設(shè)計(jì)了簡(jiǎn)單但有效的基于三角形分塊的去方塊濾波方法。最終根據(jù)新增添的三角形PU 分塊模式與其它已有的PU 模式之間的關(guān)系,重新分析設(shè)計(jì)了三角形PU 分塊模式的熵編碼中的碼字編碼方法。實(shí)驗(yàn)結(jié)果顯示,相比已有的基于三角形的HEVC 編碼方法,本文提出的三角形運(yùn)動(dòng)分塊方法能在保持視頻質(zhì)量基本不變及編碼時(shí)間平均上升23%的前提下,BD-rate 平均降低2.1%。在一些對(duì)比特率較敏感,而對(duì)編碼計(jì)算復(fù)雜度要求不高或者已具備較強(qiáng)的計(jì)算能力的場(chǎng)合,本文算法有一定的實(shí)際應(yīng)用價(jià)值。
焦衛(wèi)東,盧朝陽,何華君,等. 2007. 基于Delaunay 三角形網(wǎng)格的彩色視頻幀內(nèi)編碼方法[J]. 西安電子科技大學(xué)學(xué)報(bào):自然科學(xué)版,34(4):543-548.
夏金祥. 2004. 面向MPEG-4 的視頻分割和視頻編碼算法[D]. 電子科技大學(xué)博士學(xué)位論文.
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.