一种自适应局部亮度补偿多视点视频编码方法

2013-09-20 13:26王传奇
关键词:宏块视差视点

李 强,王传奇,刘 斌

(重庆邮电大学信号与信息处理重庆市重点实验室,重庆 400065)

0 引言

运用在立体电视(three-dimensional television,3DTV)、自由视点视频等多媒体[1-3]中的多视点视频[4-5]是通过一系列摄像机同时从不同的视点采集同一个场景或者物体得到的,因此,这种视频需要巨大的存储空间和传输带宽。如何提高多视点视频编码(multi-view video coding,MVC)的编码效率成了目前研究的热点[6-8]。

视频中的亮度变化会严重影响视频编码的压缩性能。在多视点视频中,存在由于相机参数校正不准确产生的图像全局亮度变化和由于相机采集的位置和角度不同产生图像的局部亮度变化[9]。针对视频中的亮度变化,目前主要采用亮度补偿方法来解决。文献[10]以整幅图像为单位估计出亮度变化,进行全局亮度补偿。该方法先对图像中每块的乘性因子参数和加性因子参数进行估计,把整幅图像中出现频率最高的参数作为全局补偿参数。这种补偿方法可能会对那些最终被选中的补偿参数不适用的块取得更差的效果。文献[11]则先用一个退化的图像(只包含每个块的直流成分)进行全局亮度补偿,再进行以块为单位的局部亮度补偿。该方法主要应用在图像有剧烈亮度变化的情况。由于这种基于块的亮度补偿方法没有对匹配算法进行改进,因此,不是最佳的补偿方法。在H.264/AVC(advanced video coding)[12-13]标准中,采用的是权值预测方法[14]。如果图像发生了全局亮度变化,当全部的宏块都使用同一个参考帧时,一个权值乘性系数和一个加性补偿系数就能很好地对整幅图像的所有宏块进行有效地亮度补偿。如果图像存在不规则的局部亮度变化时,一组补偿因子已经不能有效地补偿,而且权值参数的个数受参考帧个数的限制,参考帧个数又受当前的档次和级别的限制。所以,这种方法也不能够较好地补偿局部和不规则的亮度变化图像。鉴于这种情况,文献[15]提出了一种局部的权值补偿方法。该方法不同于文献[16-17]中需要传输存储亮度变化系数,而是利用当前宏块的亮度变化值和当前宏块已重建的相邻块亮度变化值的相关性来推导变化系数。由于这种局部补偿使用与否是基于整幅图像为单元的,而不是基于块为单元,并且,此方法只针对整幅图像间亮度有突变的情况才使用,因此,此方法对亮度变化不剧烈的图像补偿效果不佳。

局部亮度变化导致参考帧和当前帧的宏块直流分量的变化,因此,可以对亮度变化进行补偿来削弱这种影响。本文使用了一种以宏块为单位,根据当前宏块相邻像素进行局部亮度补偿的方法。首先,在运动估计和视差估计过程中,通过改进的块匹配算法在参考帧搜索到最优匹配块,然后,在运动补偿和视差补偿过程中对亮度变化进行补偿,最后,根据拉格朗日率失真最优准则对亮度补偿与否做判决。这种方法不仅能对图像的局部亮度变化进行亮度补偿,而且是以宏块为单位的拉格朗日率失真最优结果,因而,可获得有效的编码性能。

1 自适应局部亮度补偿方法

运动和视差搜索是为了在参考帧中找到最佳匹配块,使编码块和匹配块之间的残差能量最小。视频的亮度变化除了降低图像间的相关性,使块匹配后的残差值变大外,也可能导致搜索不到真实的匹配块,产生不规则的运动或视差矢量场,对运动矢量或视差矢量需更多的比特来编码。这些均会降低视频的编码效率。因此,在运动或视差搜索和运动或视差补偿过程中,可通过对亮度变化进行补偿,尽可能地消除这种亮度变化带来的不利影响。

1.1 宏块的亮度补偿

在H.264/AVC的MVC软件参考模型中,采用公式(1)中的绝对值差和(sum of absolute differences,SAD)作为块匹配的评判准则。

(1)式中:(m,n)表示在当前帧中每个宏块的起始位置;(x,y)代表当前块的位移矢量,既可以是运动矢量也可以是视差矢量;C(i,j)为当前帧的空间坐标(i,j)位置的像素值;R(i,j)是参考帧的空间坐标(i,j)位置的像素值,这里的参考帧是视点间重建帧或者是时间方向重建帧;S和T则分别表示行和列的像素个数。

1.1.1 亮度变化值的估算

对于多视点视频间或时间方向的亮度变化,可用公式(2)中的线性亮度变化模型来表示。

(2)式中,b表示亮度变化值。

为了消除多视点间参考帧或当前帧中亮度变化产生的影响,可以在块匹配过程中对亮度变化值进行补偿。考虑到帧中的当前编码块与周围区域相邻像素间存在较高的相关性,当前编码块的亮度变化可以近似等于周围区域的亮度变化。因此,可使用当前编码块和参考块的相邻区域的均值变化作为亮度变化值。这样,亮度变化值b可用公式(3)计算得到。

(3)-(5)式中:NC(i,j)和 NR(i,j)分别为图 1 阴影所示的当前帧中待编码块相邻已重建Γ区域和参考帧中匹配块相邻Γ区域的像素值;,分别是2个Γ区域的均值;Round()表示四舍五入运算;W×H=16×4。图1为当前块、匹配块以及相邻Γ区域。

1.1.2 修正的块匹配准则和亮度补偿

对当前帧编码块做运动估计时,考虑到亮度变化值对运动估计和视差估计精度的影响,可采用公式(6)中的去相邻均值绝对差和(neighboring-meanremoved sum of absolute differences,NMRSAD)作为修正的块匹配公式,以取代H.264/AVC中常用的SAD准则。

(6)式中,S,T 为16。由(6)式计算出的 NMRSAD(m,n)(x,y)最小值所对应的(x,y)即为该编码块的位移矢量(^x,^y)。然后,通过公式(7)得到该编码块经运动补偿或视差补偿与亮度变化补偿后的残差值。

(7)式中,E(m,n)(k,l)为残差值。E(m,n)(k,l)经 DCT(discrete cosine transform)、量化和熵编码后传到接收端。接收端通过解码、反量化和 IDCT(inverse discrete cosine transformation)就可得到重建后的^E(m,n)(k,l)。再经公式(8)的运动或视差补偿和亮度补偿得到重建宏块。

(8)式中,^C(m,n)(k,l)为重建宏块。

在公式(7)和(8)中,0≤k≤15,0≤l≤15,Clip{}表示对补偿后的值为0~255。

图1 当前块、匹配块以及相邻Γ区域Fig.1 Current block,matching block and the Γ shape neighboring area

本文中计算亮度变化值b的编码块(或接收端的重构块)相邻Γ区域和参考帧匹配块相邻Γ区域的像素值对编码块(或重构块)而言均是已知的,因此,在发送端不需要传送亮度变化值情况下,接收端也能对亮度变化进行补偿。这种以宏块为单位的局部亮度补偿的方法可以提高多视点视频的编码效率。

1.2 自适应局部亮度补偿

自适应亮度补偿可以在一定程度上提高压缩性能,但是需要增加亮度补偿标识位,这样会降低编码效率,而且考虑到自适应局部亮度补偿的最优判决导致计算复杂度增加以及色度成分(U和V)使用亮度补偿方法取得的增益不高等问题,本文只对16×16块的亮度成分(Y)进行补偿。

JMVM(jiont multiview vido model)测试模型有4种16×16宏块模式:Inter_16×16(包括 P帧和B帧),P_SKIP,Direct_16×16和 B_SKIP。对于 Inter_16×16和Direct_16×16模式使用mb_ic_flag亮度补偿标识位;对于P_SKIP和B_SKIP模式,不传输mb_ic_flag,而采用标识位推导的方式得到mb_ic_flag值。对mb_ic_flag采用基于上下文的自适应二进制算术编码(context-based adaptive binary arithmetic coding,CABAC)方法。

1.2.1 16×16模式的亮度补偿标志位的判定

图2为拉格朗日率失真最优判决过程。

图2 拉格朗日率失真最优判决过程Fig.2 Process of Lagrange rate-distortion optimization decision

为了对Inter_16×16和Direct_16×16模式自适应地进行局部亮度补偿,需对宏块设置1 bit的亮度补偿标识位(mb_ic_flag)以标明在编码过程中采用的是传统的SAD还是本文的NMRSAD块匹配准则。mb_ic_flag的值是通过图2中的拉格朗日率失真最优判决准则来决定。拉格朗日率失真代价通过公式(9)计算得到。

(9)式中,λmode为拉格朗日因子;MODE选择16×16;s为原始信号;c为重建信号;XSAD为SAD或NMRSAD,R(s,c,MODE)为宏块的编码比特总数。mb_ic_flag=0表示没有亮度补偿过程,而使用传统的运动补偿或者视差补偿。mb_ic_flag=1则表示使用了亮度补偿和运动或视差补偿。

1.2.2 SKIP模式亮度补偿标识位的推导

对于当前块为P_SKIP宏块类型,其mb_ic_flag可由相邻宏块的mb_ic_flag的值推导得到。只要当前宏块的相邻宏块A,B中至少有一个使用了局部亮度补偿方法,那么当前宏块的mb_ic_flagcur等于1,否则等于0,如图3所示。

图3 当前宏块的相邻宏块Fig.3 Neighboring macro-block of current macro-block

B_SKIP是多参考帧的情况,对mb_ic_flag的推导类似于H.264/AVC中的运动矢量的推导过程,其具体流程如图4所示。median表示中值运算;refIdxcur为当前宏块的参考索引对(refIdxL0,refIdxL1)。索引对中的refIdxL0是该编码宏块参考图像列表list0的一个索引值。refIdxL1则是参考图像列表list1的一个索引值,list0中是重构的前向图像和左视点图像,而list1中是重构的后向图像和右视点图像。refIdxN表示编码宏块的第N个已重建相邻宏块(N为图3中的A,B,C或D中的一个)的参考帧索引对(refIdxL0N,refIdxL1N)。如果已重建相邻宏块中有且只有一个参考索引对等于当前宏块的参考索引对,那么当前宏块的mb_ic_flag等于相邻宏块N的mb_ic_flag值,否则,当前宏块的mb_ic_flag等于已重建相邻宏块A,B,C或D的mb_ic_flag的中值。

图4 B_SKIP宏块标识位推导流程Fig.4 Derivation process for the flag of B_SKIP macro-block

2 实验结果

本文在MVC测试模型JMVM8.0中实现了自适应局部亮度补偿方法、加权预测方法wp[14]和局部加权预测方法lwp[15],并对6组具有不同特性的多视点标准测试视频序列进行了编码。对每组序列又分别采用了4种基本量化参数QP(quantization parameter)(22,27,32,37)进行测试,测试的实验条件如表1所示。对本文方法,wp,lwp和没有采用亮度补偿JMVM方法的测试结果进行分析。图5是这些方法的平均编码输出比特率和峰值信噪比PSNR(peak signal noise ratio)曲线图。

表1 实验条件Tab.1 Experimental conditions.

从图5的实验结果可以看出,本文方法与其他几种方法相比,在提高编码的压缩性能的同时,还能获得峰值信噪比的提升。对于Race1序列,存在相机参数校正不精确以及相机的移动,并且在视点间和时间方向都存在严重的亮度变化。本文方法与 wp,lwp,JMVM 对比,分别能减少 12%,11%,11%编码输出比特率,同时还分别提高了0.28,0.17,0.17 dB 的峰值信噪比。对于 Rena,Akko&kayo和Breakdancers这些序列,它们都是相机静止的序列,且随时间变化的亮度变化不大,本文方法与其他方法相比,压缩效果比较明显。对于同样相机静止的Exit序列,包含有大面积静止的背景和比较大的人流量,且亮度变化比较轻微。Ballroom序列由于有复杂的背景、因为物体景深的剧烈变化和与其他序列相比没那么严重的亮度变化导致的不规则的视差场,故该序列是这些序列中最难压缩的序列。本文提出的方法对Exit和Ballroom 2个序列进行编码,虽然提高的压缩性能不如Race1序列那么显著,但与其他方法相比,压缩性能还是有所提高。

3 结论

针对多视点视频中出现的亮度变化引起的编码性能下降,本文提出了一种自适应局部亮度补偿的方法,通过率失真最优判决准则对每个宏块亮度补偿与否进行判决,并且充分利用亮度变化的空间相关性,从而提高了预测精度和减小了输出的比特数。通过实验仿真测试,并与其他3种方法进行对比分析,本文方法能有效地对局部亮度变化进行补偿,既提高了编码压缩性能,又能提高视频编码质量,因此,文本方法可以应用在具有亮度变化的多视点视频编码中。

图5 本文方法与wp,lwp和JMVM方法的率失真性能比较Fig.5 Comparison of rate-distortion performance among our method,wp,lwp,JMVM

[1]MERKLE P,MüLLER K ,WIEGAND T.3D Video Coding-An Overview of Present and Upcoming Standards[C]//VCIP in Proc of SPIE Visual Communications and Image Processing.Huangshan,China:SPIE,2010.

[2]SMOLIC A,MULLER K,MERKLE P,et al.3D video and freepoint video technology,application and MPEG standards[C]//IEEE.IEEE International conference Multimedia and Expo(ICME).Toronto Ont,Canada:IEEE Press,2006:2161-2164.

[3]霍俊彦,常义林,李明.多视点视频编码的研究现状及其展望[J].通信学报,2010,31(5):113-121.HUO Junyan,CHANG Yilin,LI Ming.Study status and prospective of multiview video coding[J].Journal on Communications,2010,31(5):113-121.

[4]HE Y,OSTERMANN J,TANIMOTO M.Introduction to the special section on multi-view video coding[J].IEEE Trans Circuits and Systems for Video Technology,2007,17(11):1433-1435.

[5]张卫卫,蔡灿辉.一种改进预测结构的多视点视频编码[J].计算机工程与应用,2012,48(5):168-170.ZHANG Weiwei,CAI Canhui.Improved prediction structure for multi-view video coding[J].Computer Engineering and Applications,2012,48(5):168-170.

[6]刘超,马力妮,宋雄亮.基于H.264标准的多视点视频编码方案的研究[J].计算机工程与设计,2010,31(3):564-567.LIU Chao,MA Lini,SONG Xiongliang.Researched on multiview video coding scheme based on H.264 standard[J].Computer Engineering and Design,2010,31(3):564-567.

[7]VETRO A,WIEGAND T,SULLIVAN G J.Overview of the Stereo and Multiview Video Coding Extensions of the H.264/MPEG-4 AVC Standard[J].Proceedings of the IEEE ,2011,99(4):626-642.

[8]杨中华,戴声奎.新的多视点视频编码优化算法[J].计算机应用,2011,31(9):2461-2464.YANG Zhonghua,DAI Shengkui.New optimization algorithm for multi-view video coding[J].Journal of Computer Applications,2011,31(9):2461-2464.

[9]KIM J H,LAI P,LOPEZ J,et al.New Coding Tools for Illumination and Focus Mismatch Compensation in Multiview Video Coding[J].IEEE Trans Circuits System Video Technology,2007,17(11):1519-1535.

[10]KAMIKURA K,WATANABE H,JOZAWA H,et al.Global brightness-variation compensation for video coding[J].IEEE Trans Circuits System Video Technology,1998,8(8):988-1000.

[11]KIM S H,PARK R H.Fast local motion-compensation algorithm for video sequence with brightness variations[J].IEEE Trans Circuits System Video Technology,2003,13(4):289-299.

[12]李强,孙瑞杰,于游.一种用于移动可视电话编码的运动估计快速搜索算法[J].重庆邮电大学学报:自然科学版,2011,23(5):593-596.LI Qiang,SUN Ruijie,YU You.A fast motion estimation algorithm for mobile videophone coding[J].Journal of Chongqing University of Posts and Telecommunications:Natural Science Edition,2011,23(5):593-596.

[13]龙昭华,程宏,蒋贵全.一种基于H.264/AVC的宏块级码率控制优化算法[J].重庆邮电大学学报:自然科学版,2009,21(6):776-780.LONG Zhaohua,CHENG hong,JIANG Guiquan.An optimalmacroblock level rate control algorithm based on H.264/AVC[J].Journal of Chongqing University of Posts and Telecommunications:Natural Science Edition,2009,21(6):776-780.

[14]BOYCE J M.Weighted prediction in the H.264/MPEG AVC video coding standard[C]//IEEE.IEEE International Symposium on Circuits System(ISCAS).Vancouver,Canada:IEEE Press,2004,3:III789-III792.

[15]YIN P,TOURAPIS A M,BOYCE J.Localized weighted prediction for video coding[C]//IEEE.IEEE International Symposium on Circuits System(ISCAS).Kobe,Japan:IEEE Press,2005,5:4365-4368.

[16]HUR J H,CHO S,LEE Y L.Adaptive local illumination change compensation method for H.264/AVC-based multiview video coding[J].IEEE Trans Circuits System Video Technology,2007,17(11):1496-1505.

[17]LOPEZ J,KIM J H,ORTEGA A.Block-based illumination compensation and search techniques for multiview video coding[C]//PCS Picture Coding Symposium(PCS).San Francisco:PCS,2004:509-514.

猜你喜欢
宏块视差视点
基于自适应窗的立体相机视差图优化方法研究
基于运动估计与补偿的雷达拼图预测分析*
基于梯度域引导滤波的视差精炼迭代算法
基于分割树的视差图修复算法研究
视点
立体视差对瞳孔直径影响的研究
基于选择特征宏块的快速视频稳像
让你每天一元钱,物超所值——《今日视点—2014精萃》序
两会视点
IP网络丢包条件下的H.264高清视频实时解码问题分析