APP下载

基于宏块模式相关性的深度帧内跳过编码*

2013-08-16马祥霍俊彦杨旭任光亮常义林

关键词:编码方法宏块深度图

马祥 霍俊彦 杨旭 任光亮 常义林

(西安电子科技大学综合业务网理论及关键技术国家重点实验室,陕西西安710071)

三维视频(3DV)能够为观众提供身临其境的感觉,同时,由于其涉及的领域较为广泛,所以自提出以来便一直是众多领域的研究热点,已有的3DV格式包括双目立体视频、多视点视频[1]、单视点视频+深度、多视点视频 +深度(MVD)等[2].其中,MVD格式利用基于深度图像的描绘(DIBR)技术[3],可在解码端一定角度内的任一视点位置合成具有良好主观质量的虚拟视点,从而实现自由视点电视(FTV)等应用.由于具有优良的特性,MVD格式目前已被MPEG组织选作3DV的标准格式,并以此展开了标准制定的相关工作[4-7].

由于MVD中的所有视点视频及其对应深度信息均需通过压缩编码传输至解码端,而利用现有的H.264/AVC编码标准对其编码会导致传输码率较高,阻碍了3DV进一步的实际应用,因此设计一种更加有效的深度编码方法显得尤为重要.目前众多文献对如何提高深度编码效率,尤其是提高深度图I帧的编码效率展开了深入的研究.Silva等[8]考虑到深度图主要是用于合成虚拟视点,提出了两种按照合成视点失真最小原则来选取帧内宏块模式的编码技术.基于深度图是由尖锐边缘和大面积平坦区域组成的特点[9-10],文献[11-13]对帧内编码中物体的边缘部分进行了研究,提出基于几何或图形的帧内预测方法来提高预测精度,降低物体深度边缘部分的失真.Tsang等[10]提出了一种跳过平坦区域中帧内宏块预测方向编码的方法,提高了编码效率.文献[14]中提出了一种基于分段线性平面表示的帧内编码方法,对深度图平坦区域进行有效编码.

文中依据深度图像内含有大面积平坦区域这一特点,研究了深度图I帧中空间相邻宏块编码模式信息之间的相关性,提出一种有效的帧内宏块模式跳过编码方法,据此降低宏块模式的编码冗余.同时,针对现有标准编码平坦区域宏块残差系数过程中引入冗余的问题,在对残差系数特性进行分析的基础上,结合宏块模式跳过编码方法,提出了一种帧内宏块跳过编码方法,同时跳过平坦区域宏块模式信息与残差信息的编码,以期进一步提高编码效率.

1 H.264帧内编码模式描述

对于亮度部分,H.264的帧内编码支持两种宏块(MB)划分方式[15]:一种是16×16划分,称为I16模式;另一种是4×4划分,称为I4模式.I16模式有4种可选的预测模式[16],依次分别为垂直模式、水平模式、DC模式和平面模式,具体如图1(a)所示.I4模式有9种可选的预测模式[16],其具体预测方式与模式编号如图1(b)所示.对于色度部分,其预测模式与I16的预测模式相同.

图1 H.264/AVC帧内预测模式Fig.1 Intra prediction modes of H.264/AVC

H.264/AVC编码器通过率失真优化(RDO)准则选择最优的预测模式.在RDO过程中,对每个编码块的所有预测模式遍历并计算其对应的拉格朗日代价函数值J,最终选择J值最小的模式作为最终模式.J的计算方法如下:

式中,D(S,I)按照下式计算,

式(1)中S为深度数据,I为包括宏块编码模式、量化参数等在内的编码参数集,m为拉格朗日乘子,R(S,I)为对应的编码比特数,包括模式头信息的编码比特数Rh以及残差系数的编码比特数Rr,D(S,I)是以参数集I编码深度数据S得到的失真,具体为原始数据(org)与重建数据(rec)之间平方差的和(SSD),如式(2)所示.

2 I帧宏块相关性分析

与纹理视频不同,深度图表示拍摄场景中物体与摄像机光心之间的距离信息,与物体自身的纹理无关.因此,平坦的图像区域占据整幅图像的主要部分.图2为一幅典型的深度图像.深度图的这一特性决定了I帧编码在深度图序列编码中的重要性,以及I帧编码中头信息与残差信息编码比特的分布特性.前者表现在编码一幅I帧图像所需的比特数占据编码一个图像组(GOP)所需比特数的重要部分,后者表现在I帧编码比特中用于编码宏块模式信息的比特占总编码比特的较大比例.表1给出了Undo_Dancer序列第一个GOP在利用不同的量化参数(QP=30,34,38,42)编码后,I帧编码比特数占总编码比特数的比例,以及I帧中宏块模式信息的编码比特数占I帧所有编码比特数的百分比.该实验采用MVC 参考软件 JMVC(version 8.3.1)[17]进行编码,按照分级B帧编码结构,且GOP值设置为12.虽然一个GOP中只有一个I帧,但是从表1可以看出,I帧的编码比特数仍占总编码比特数的34.84%~44.73%.并且,宏块模式编码比特数占I帧总编码比特数的百分比为36.74%~62.07%.统计结果表明,降低 I帧中宏块模式信息的比特开销是提高深度图编码效率的有效途径.

图2 典型的深度图像(Undo_Dancer序列第一帧)Fig.2 Typical depth map image(First frame of Undo_Dancer sequence)

表1 不同QP条件下I帧编码比特百分比以及I帧中宏块模式信息编码比特百分比Table 1 Percentage of coding bits of I frames and percentage of coding bits of MB mode in I frames under different QP conditions

当深度图按照I帧编码时,平坦的图像区域通常将会选择I16模式进行编码[18].而在H.264标准中,对于I16模式信息的编码有着明确的规定.依据其采用的预测模式、色度编码块方式(CBP)和亮度CBP等信息,I16模式会被进一步细分为各种类型,并分别赋予大小不同的索引值,对宏块模式信息的编码最终为对其相应索引值的编码[19].虽然利用基于上、下文的熵编码方法可有效地降低宏块模式之间的相关性,但是对于深度图中大量处于平坦区域的宏块,它们的编码模式之间仍存在较大的编码冗余.下文将对其进行详细分析.

对于处在平坦区域中的当前宏块C及其相邻的左宏块A和上宏块B,其相对位置如图3所示.在进行Intra宏块模式判决过程中,最终会选择具有最小代价函数值J*的预测模式作为最佳模式,即

图3 空间相邻宏块A,B和C的相对位置Fig.3 Relative position of spatial adjacent MB A,B and C

由于A,B,C均处于平坦区域,所含纹理单一,所以无论C采用何种预测模式,所得预测数据都近似相等.并且,由于预测残差数值较小且相近,经过DCT变换和量化之后的残差系数全部为0,残差编码比特数Rr也为0.因而重建数据和失真D(S,I)也近似相等.所以,模式选择的结果主要由Rh决定.而在Intra模式判决阶段,头信息的编码比特数Rh主要来自宏块模式信息.当对宏块C的模式进行编码时,会利用周围已编码宏块A、B的模式进行预测,如果A、B的模式与C相同,编码之后的比特数最少.显然,相比于其他模式,C更易于选到与A、B相同的模式.上述分析对于任一处在平坦区域内(不包括平坦区域边缘部分)的宏块均成立,所以平坦区域中的绝大部分宏块均将以相同的宏块模式编码,从而平坦区域中宏块的编码模式信息之间存在较大的空间相关性.表2给出了Undo_Dancer序列空间相邻宏块编码模式信息之间相关性的统计情况.利用 JMVC8.3.1 分别在 QP 为 30、34、38 和 42情况下按照GOP=12编码60帧图像,并分别统计所有I帧中可跳过宏块以及量化之后残差系数全部为0的可跳过宏块的比例.其中可跳过宏块的定义如下:如果宏块C的编码模式与宏块A、B的编码模式相同,则称宏块C的编码模式可跳过.显然,可跳过宏块的比例越高,帧内宏块编码模式之间的相关性越强.

表2 不同QP下空间相邻宏块模式之间相关性的统计结果Table 2 Statistic results of correlation among modes of spatial adjacent MBs under different QP conditions

由表2可知,深度图I帧中模式可跳过的宏块与残差系数为0的可跳过宏块均占较大比例.由于空间相邻宏块的模式信息之间存在较强的相关性,导致编码中出现较多冗余.如果能够降低可跳过宏块编码模式的编码冗余,将会有效提高编码效率.

3 帧内跳过编码方法

3.1 帧内宏块模式跳过编码方法

由上述分析可知,空间相邻宏块编码模式相同的概率较高,它们之间存在较强的相关性.基于此,文中提出一种宏块模式跳过编码方法.在经过RDO模式选择之后的宏块编码阶段,利用空间相邻已编码宏块模式计算出预测模式,如果当前宏块模式与预测模式相同,则直接跳过当前宏块模式编码部分,不再对其进行编码.而在解码端,按照同样的方法,利用空间相邻已解码宏块模式计算出预测模式,并作为当前宏块模式.为了在解码端指明当前宏块是否采用了跳过编码方法,引入标志位IntraSkipFlag,当IntraSkipFlag为1时,表明当前宏块为可跳过宏块,其编码模式没有参与编码,需要计算出预测模式作为当前宏块的编码模式.当IntraSkipFlag为0时,表明当前宏块为一般宏块,其编码模式参与编码,需进一步对当前宏块的编码模式码流进行解析.

根据当前宏块所处位置的不同,预测模式的计算可分为两种情况:第一种情况,对于处在平坦区域内部的宏块C,由于其空间相邻宏块A和B也处于平坦区域内部,所以A,B和C的编码模式均相同,利用A和B均能够准确预测当前宏块C的模式;第二种情况,对于处在靠近平坦区域边缘部分的宏块C,其空间相邻宏块A和B的模式并不一定相等.图4给出了处于边缘部分的宏块位置示意图.

图4 靠近平坦区域边缘部分的宏块A,B和CFig.4 MB A,B and C near the edge of flat areas

如图4所示,由于A、C均于平坦区域内部,所以A、C的编码模式最有可能相同,而B不一定采用相同模式.因此,利用A预测C的模式更准确.又因为相比于处在非平坦区域的宏块,平坦区域中的宏块采用的编码模式索引值较小[19].综上所述,文中提出了以下预测模式计算方法:

式中,MBModeA、MBModeB、MBModepre分别为宏块 A模式、宏块B模式和预测模式.它利用左宏块A与上宏块B编码模式的最小值作为当前宏块C编码模式的预测模式,这样既能准确预测平坦区域内部的宏块编码模式,也能有效改善靠近平坦区域边缘部分宏块模式的预测效果.最终IntraSkipFlag的计算方法为:

3.2 帧内宏块跳过编码方法

由于可跳过宏块绝大部分位于平坦区域,而平坦区域中的可跳过宏块由于纹理单一,预测较为准确,所以预测残差数值较小.由表2可知,模式可跳过宏块的残差系数经过DCT变换和量化之后一般为0,对于其残差部分可以完全跳过不编码.利用现有标准对残差系数编码时,会引入指示信息指示当前编码块中是否存在非0的编码系数[19],而对于绝大多数的可跳过宏块,这些指示信息是不需要编码的.鉴于此,文中进一步提出了一种宏块模式与残差系数均跳过的帧内宏块跳过编码方法.为了挑选出可跳过宏块中残差系数全部为0的宏块,文中对式(5)中的条件进行了加强,在宏块模式跳过条件的基础上,引入了一个额外条件:所有量化后的残差系数为0,即筛选出量化后残差系数全部为0的模式可跳过宏块作为最终跳过宏块.筛选条件如下所示:

式中,MBModepre仍然按照式(4)的方法计算.式中Coeffij为当前宏块C中第i行第j列位置量化之后的残差系数.如果当前宏块的IntraSkipFlag为1,则跳过当前宏块模式与残差部分的编码.在解码端,对于可跳过宏块的宏块模式仍然按照上述方法解码,而对于残差系数则直接用0填充.

3.3 码流结构的改变

所增加的IntraSkipFlag在MB级码流结构中的位置如图5所示.由于要在解析宏块模式之前判断出当前宏块是否属于跳过宏块,所以将其放置于宏块模式语法元素(MBtype)的前面.在解码端,依据解析出来的IntraSkipFlag判断是否为跳过宏块.若为跳过宏块,则按照式(4)的方法,直接取相邻已解码宏块A、B编码模式的最小值作为当前宏块的编码模式;否则,按照原有的方式进行解码.

图5 IntraSkipFlag在码流结构中的位置Fig.5 Location of IntraSkipFlag in stream structure

4 实验结果及分析

为了验证所提方法的有效性,文中采用了JMVC8.3.1作为测试平台对多个测试序列进行了编码,并与采用原始JMVC8.3.1算法的编码结果作比较.实验对6个深度序列进行了测试,分别为Mobile(720 ×540,24fps,view3),Kendo(1024 ×768,30fps,view1),Lovebird1(1024 × 768,30fps,view4),Undo_Dancer(1920×1088,25fps,view1),GT_Fly(1920 ×1088,25fps,view7),Poznan_Hall2(1920 × 1088,25fps,view9),括号内3种参数分别表示序列分辨率,序列帧率以及编码视点.编码帧数均为100,QP为30、34、38和42.在编码过程中,采用了全 I帧的编码结构,并且采用了基于内容的算术熵编码(CABAC)方式.由于文中所提算法位于模式判决之后的编码阶段,对重建帧的质量没有任何影响,所以文中只对编码码率进行统计并给出码率节省百分比.为了便于说明,文中所提两种方法分别记作宏块模式跳过(MBMS)方法和宏块模式与残差均跳过(MBMS+RS)方法.表3为统计的结果.

由表 3 可看出,与JMVC8.3.1相比,MBMS 和MBMS+RS码率节省百分比平均为7.83%和8.93%.特别是对于Poznan_Hall2序列,其在QP为42时码率节省百分比分别可以达到27.91%和30.42%.这是因为Poznan_Hall2序列相比于其他序列含有更大面积的平坦区域,空间相邻宏块的相关性更强,可跳过宏块的比例更高.另外,由于MBMS+RS方法进一步减少了残差编码过程中的冗余信息,码率节省百分比相比于MBMS+RS稍高.此外,同一个序列在不同QP下的码率节省百分比不同.具体说来,QP越大,码率节省百分比越高.这是因为,对于一个给定序列,图像中平坦区域的大小是不变的,即使利用不同的QP编码,可跳过宏块的比例仍基本保持一致,即节省的比特数基本保持不变,但是总的码率随着QP的增大而减小,所以码率节省百分比随着QP的增大而增大.

表3 文中所提方法与JMVC8.3.1编码性能的比较Table 3 Coding performancecomparison between proposed methods and JMVC8.3.1

5 结语

文中针对深度图平坦区域内空间相邻宏块的编码模式之间存在较强相关性的特点,提出了一种宏块模式跳过编码方法.为进一步减小模式可跳过宏块残差系数编码过程中引入的冗余信息,提出了宏块模式和残差均跳过的帧内宏块跳过编码方法.实验表明,相比于原有方法,文中所提两种方法MBMS和MBMS+RS的码率节省百分比分别可以达到7.83%和8.93%.由于所提两种方法有效地降低了编码码率,提高了编码效率,并且对重建帧的质量没有任何影响,所以可以将其应用于现有的3DV编解码系统中,以促进3DV的进一步发展和应用.

[1]朱威,陈耀武.一种多视点视频编码快速运动估计算法[J].华南理工大学学报:自然科学版,2011,39(2):39-45.Zhu Wei,Chen Yao-wu.A fast motion estimation algorithm for multi-view video coding[J].Journal of South China University of Technology:Natural Science Edition,2011,39(2):39-45.

[2]Merkle P,Muller K,Wiegand T.3D video:acquisition,coding and display[J].IEEE Transactions on Consumer Electronics,2010,56(2):946-950.

[3]Fehn C.Depth-image-based rendering(DIBR),compression and transmission for a new approach on 3D-TV[C]∥Proceedings of the International Society for Optical Engineering.San Jose:SPIE,2004:93-104.

[4]Müller K,Vetro A,Baroncini V.Report of subjective test results from the call for proposals on 3D video coding technology[C]∥Proceedings of Moving Pictures Experts Group the 98th Meeting.Geneva:MPEG,2011:1-57.

[5]Schwarz H,Wegner K,Rusert T.Overview of 3DV coding tools proposed in the call for proposals[C]∥Proceedings of Moving Pictures Experts Group the 98th Meeting.Geneva:MPEG,2011:1-6.

[6]Hannuksela M M.Test model under consideration for AVC-based 3D video coding(3DV-ATM)[C]∥Proceedings of Moving Pictures Experts Group the 98th Meeting.Geneva:MPEG,2011:1-15.

[7]Schwarz H,Rusanovskyy D.Common test conditions for HEVC-and AVC-based 3DV[C]∥Proceedings of Moving Pictures Experts Group the 98th Meeting.Geneva:MPEG,2011:1-3.

[8]Silva D V S X De,Fernando W A C.Intra mode selection for depth map coding to minimize rendering distortions in 3D video[J].IEEE Transactions on Consumer Electronics,2009,55(4):2385-2393.

[9]Lee J,Wey H,Park D.A fast and efficient multi-view depth image coding method based on temporal and inter view correlations of texture images[J].IEEE Transactions on Circuits and Systems for Video Technology,2011,21(12):1859-1868.

[10]Tsang S,Chan Y,Siu W.Efficient intra prediction algorithm for smooth regions in depth coding[J].Electronics Letters,2012,48(18):1117-1119.

[11]Kang M,Lee C,Lee J,et al.Adaptive geometry-based intra prediction for depth video coding[C]∥IEEE International Conference on Multimedia and Exposition.Singapore:IEEE,2010:1230-1235.

[12]Kang M,Ho Y.Depth video coding using adaptive geometry based intra prediction for 3D video systems[J].IEEE Transactions on Multimedia,2012,14(1):121-128.

[13]Shen G,Kim W,Ortega A,et al.Edge-aware intra prediction for depth-map coding[C]∥IEEE International Conference on Image Processing.Hong Kong:IEEE,2010:3393-3396.

[14]Bici M O,Lainema J,Ugur K,et al.Planar representations for intra coding of depth maps[C]∥IEEE 3DTV Conference:The True Vision-Capture,Transmission and Display of 3D Video.Antalya:IEEE,2011:1-4.

[15]杨旭,常义林,霍俊彦,等.一种三维视频深度图像快速帧内编码方式[J].西安电子科技大学学报,2012,39(3):8-14.Yang Xu,Chang Yi-lin,Huo Jun-yan,et al.An efficient intra-frame coding algorithm for depth image in 3D video[J].Journal of Xidian University,2012,39(3):8-14.

[16]Wiegand T,Sullivan G,Biontegaard G,et al.Overview of the H.264/AVC video coding standard [J].IEEE Transactions on Circuits and Systems for Video Technology,2003,13(7):560-576.

[17]Chen Y,Yea S,Pandit P.Text of ISO/IEC 14496-5:2001/FDAM 15 MVC reference software[C]∥Proceedings of Moving Pictures Experts Group the 90th Meeting.Xi'an:MPEG,2009:1-5.

[18]Choi I,Lee J,Jeon B.Fast coding mode selection with rate-distortion optimization for MPEG-4 Part10 AVC/H.264 [J].IEEE Transactions on Circuits and Systems for Video Technology,2006,16(12):1557-1561.

[19]ISO/IEC 14496-10.Advanced video coding for generic audiovisual services[S].

猜你喜欢

编码方法宏块深度图
一种基于WMF-ACA的深度图像修复算法
可变摩擦力触感移动终端的汉语盲文编码设计
基于深度图的3D-HEVC鲁棒视频水印算法
一种基于局部直方图匹配的深度编码滤波算法
毫米波大规模MIMO系统中低复杂度混合预编码方法
叠加速度谱在钻孔稀少地区资料解释中的应用
基于选择特征宏块的快速视频稳像
一种新的星载InSAR直接地理编码方法
浅析公路工程物资的分类及编码方法
基于宏块合并的H.264模式选择算法