黄治华夏洋
(中船重工集团公司第七二二研究所武汉430079)
一种矢量外推与边界匹配相结合的视频通信误码掩盖算法
黄治华夏洋
(中船重工集团公司第七二二研究所武汉430079)
针对无线视频通信中因视频数据传输丢失或误码导致重建图像质量急剧下降的问题,提出了一种基于运动矢量外推与边界匹配相结合的时域误码掩盖算法。对于受损块,采用运动矢量外推方法估算其时域相关运动矢量,然后利用受损块与邻域块的空间相关性,基于改进的边界匹配算法在时域相关运动矢量的邻域内寻找受损块运动矢量,从而实现受损数据的误码掩盖。仿真结果表明,对不同视频序列,该算法均可比传统算法恢复出更高质量的图像。
无线视频通信;误码掩盖;运动矢量恢复;运动矢量外推;边界匹配
Class NumberTN94
在无线视频通信中,由于无线信道的多普勒频移、多径时延扩展、信号衰落以及环境噪声等特性[1],使得无线信道随时间、空间的变化而变化,表现出极大的不稳定性。压缩视频在不稳定的无线信道传输时,不可避免地会发生数据的丢失或误码。当接收的码流中存在丢包或误码时,解码错误会在时域或空域扩散,严重降低主观视觉效果。此时在解码端引入误码掩盖技术[2],利用视频信号的时空相关性,对受损数据进行恢复,可大幅提高受损图像的重建质量。
当帧间编码宏块受损时,一般使用时域误码掩盖算法,其关键是运动矢量(motion vector,MV)的恢复[3]。基本的运动矢量恢复算法包括:1)运动矢量置零,即时域替换(Temporal Replacement,TR)算法;2)使用前一帧对应块的运动矢量;3)使用邻域块运动矢量的平均值或中值。这些算法在运动平滑的区域掩盖效果较好,但在物体剧烈运动处会带来明显的掩盖痕迹;边界匹配算法(BoundaryMatching Algorithm,BMA)以边界失真最小为准则,从多个候选运动矢量中选择最佳运动矢量,该算法已被H.264参考软件JM所采用[4];文献[5~7]基于运动跟踪思想,利用前一帧的运动矢量去估计受损的运动矢量,实验结果表明这些算法在运动一致且线性变化的场景中非常有效,但较少考虑图像的空间相关性,在具有特殊纹理的区域,容易造成掩盖失败;文献[8~10]基于多项式插值方法,通过邻域块运动矢量恢复受损块运动矢量,这些算法没有针对运动场景变换而做出相应的改变,导致恢复的效果不一;文献[11~12]提出的运动域插值算法由于要恢复每个受损像素的运动适量,运算量较大,不适合实时应用的要求。
为此,本文提出一种运动矢量外推与边界匹配相结合的运动矢量估算方法,该方法根据运动矢量的时域相关性,将受损块的前续块、前续邻域块按照各自运动矢量外推到受损帧中,根据外推数据块与受损块重叠区域的大小估算受损块的时域相关运动矢量。然后,根据图像的空间相关性,采用改进的边界匹配算法在时域相关运动矢量的邻域内寻找最佳匹配的运动矢量作为受损块的运动矢量,从而实现受损数据的错误掩盖。
大量试验表明,镜头中的物体大多是沿着直线运动的,规律性较强,即使物体作曲线运动或不规则运动,只要时间间隔足够短,也可以近似看作直线运动。本文基于这种合理假设,将受损块的前续块、前续邻域块按照各自运动矢量外推到受损帧中,并根据外推数据块与受损块重叠区域的大小计算受损块时域相关运动矢量。在H.264树状结构运动估计中,4×4块为运动估计的最小尺寸,其估计的精度最高,因此本文以4×4块为单位恢复受损的运动矢量。
对于每一个受损块,将其前续块、前续邻域块按照各自运动矢量外推到受损帧中,得到外推块,过程如图1所示。
图中,Fn表示当前帧,Fn-1表示前一帧的重建帧;Bn,x,y表示受损块,x、y指示了受损块在视频帧中的位置,Bn-1,x,y表示前续块,Bn-1,x+i,y+j,i,j∈{-1,0,1}表示前续邻域块;MVn,x,y为受损块Bn,x,y的运动矢量,MVn-1,x,y为前续块Bn-1,x,y的运动矢量,MVn-1,x+i,y+j为前续邻域块Bn-1,x+i,y+j的运动矢量;Wn-1,x,y为前续块Bn-1,x,y的外推块,Wn-1,x+i,y+j为前续邻域块Bn-1,x+i,y+j的外推块。
重叠区域的大小反映了前续块与受损块的相关程度,重叠区域越大的前续块,越有可能运动到受损块的位置,即时域相关性越大,因此,将各受损块与受损块重叠区域的像素个数作为权重估算受损块时域相关运动矢量,计算公式为
基于运动矢量外推的运动矢量估算方法考虑了运动的时域相关性,但由于其是针对受损块独立进行的,因此恢复的图像可能存在块边界效应,为此,本文结合边界匹配算法,对已估算的运动矢量进行优化,以保证掩盖块和邻域块实现最大平滑连接。
块边界的平滑程度可以由边界亮度失真作为度量,即计算候选块的内部边界像素与受损块的外部边界像素的亮度差值之和,因此,可在已估算的运动矢量的领域内,查找使得边界亮度失真最小的运动矢量作为最优的运动矢量。由于受损块的解码、掩盖次序为从上到下,从左到右,对于当前待掩盖的受损块,只有其上领域块和左邻域块像素已知,因此在计算边界亮度失真时,只计算上边界和左边界的差值。最优运动矢量搜索过程如图2所示。
最佳运动矢量计算公式为
式中,PXn,x,y、PYn,x,y分别表示受损块Bn,x,y的左上像素X和Y坐标,Sn(x,y)表示Fn中像素(x,y)的亮度值,λ定义了领域搜索范围,得到的最优运动矢量为(dx,dy),即掩盖的受损块运动矢量。
得到受损块运动矢量后,在参考帧中寻找对应的数据进行补偿替代,从而完成受损块的误码掩盖。
本文采用H.264参考软件JM作为测试平台,对QCIF格式的序列Foreman、Mobile和Suzie进行仿真实验。每个序列编码120帧,帧结构为“IPPP…”,关键帧刷新周期为40。丢包模型为:I帧不丢包,P帧每隔3帧丢掉一个Slice(即数据丢失50%)。仿真采用的参数为λ=3。
对于每一个测试序列,采用4种算法进行性能比较:TR算法、BMA算法、文献[8]提出的拉格朗日插值法(简称为LGRG算法)以及本文所提出的算法。通过选择不同的量化参数QP以产生不同比特率的码流,从而仿真各算法在不同码率下的掩盖效果。
各测试序列重建图像的亮度信号的峰值信噪比(PSNR)如表1所示。
表1 测试序列在不同比特率条件下的峰值信噪比
从表1可见,对于不同运动类型的序列和不同的码率,本文提出的算法PSNR值均高于TR、BMA和LGRG算法,相比TR算法增益为1.8dB~5dB,相比BMA算法增益为0.6dB~3dB,相比LGRG算法增益为0.4dB~1.6dB。对于运动较为复杂和较多细节的序列,如Mobile,由于结合了运动矢量的时域相关性和图像像素的空域相关性进行误码掩盖,恢复的运动矢量更为精确,因此新算法的相对效果更好。
下面以Foreman序列QP=26时第83帧为例,从主观视觉角度对本文算法和TR算法、BMA算法及LGRG算法作比较,重建图像如图3所示。
从图中可见,TR算法效果最差;BMA算法重建的图像在人物的鼻梁及脖子处存在明显的切线;LGRG算法重建的图像在人物的鼻子下方有明显切线、在左耳处有重影。这些区域正是正确接收数据和丢失数据的交界处,而本文算法重建的图像消除了这些不足,使图像看上去更平滑,表现出较好的掩盖效果。
本文根据受损块与前续块、前续领块运动的时域相关性,提出了一种基于运动矢量外推的时域误码掩盖算法,同时,根据图像的空域相关性,将该算法与改进的边界匹配算法相结合,从而保证掩盖块和邻域块的平滑连接。仿真实验结果表明,与TR算法、BMA算法和LGRG算法相比,本文算法对不同视频序列均能恢复出更高质量的图像,具有更强的错误鲁棒性。
[1]蔡跃明,吴启晖,田华等.现代移动通信[M].北京:机械工业出版社,2007:14-15.
[2]王瑶,奥斯特曼,张亚琴.视频信号处理与通信[M].北京:清华大学出版社,2003:227-228.
[3]马宇峰,魏维,杨科利.视频通信中的错误隐藏技术[M].北京:国防工业出版社,2007:96-97.
[4]陈靖,刘京,曹喜信.深入理解视频编解码技术:基于H.264标准及参考模型[M].北京:北京航空航天大学出版社,2012:89-92.
[5]彭强,张蕾.视频传输差错掩盖技术研究现状与发展趋势[J].西南交通大学学报,2009,44(4):473-483.
[6]J.Zhou,B.Yan,H.Gharavi.Efficient Motion Vector Interpolation for Error Concealment of H.264/AVC[J]. IEEE Trans.On Broadcasting,2011,57(1):75-80.
[7]Kung W Y,Kim C S,Kuo C C.Spatial and Temporal Error Concealment Techniques for Video Transmission over Noisy Channels[J].IEEE Trans on Circuits Systems Video Technology,2006,16(7):789-802.
[8]J.H.Zheng,L.P.Chau.A Motion Vector Recovery Algorithm for Digital Video Using Lagrange Interpolation[J]. IEEE Trans on Broadcasting,2003,49(4):383-389.
[9]J.Zhang,X.Gao,S.Xiao,et al.An Error Concealment Algorithm Based on Non-uniform Lagrange Interpolation[C]//The 7th International Conference On Intelligent Information Hiding and Multimedia Signal Processing,Dalian,2011,286-289.
[10]J.H.Zheng,L.P.Chau.Efficient Motion Vector Recovery Algorithm for H.264 Based on a Polynomial Model[J]. IEEE Trans on Multimedia,2005,7(3):507-513.
[11]B.N Chen,Y.Lin.Temporal Error Concealment Using Selective Motion Field Interpolation[J].Electronics Letters,2006,42(24):1390-1391.
[12]周杰.视频传输的错误隐藏技术研究[D].上海:复旦大学,2012.
An Error Concealment Algorithm Based on Motion Tracking and Boundary Matching in Video Communication
HUANG ZhihuaXIA Yang
(No.722 Research Institute of CSIC,Wuhan430079)
To overcome the degradation of video quality caused by compressed data loss or error in wireless video communication,a novel error concealment algorithm based on motion tracking and boundary matching is proposed.For a lost block,the temporal related motion vector is first calculated by the motion vector tracking method,and then the recovery motion vector is obtained by using modified boundary matching method which efficiently exploits the correlation between lost block and adjacent blocks.The simulation results show that compared with the traditional algorithms,the proposed algorithm can obtain better reconstruction quality and prevent error propagation in different video sequences.
wireless video communication,error concealment,motion vector recovery,motion vector tracking,boundary matching
TN94
10.3969/j.issn.1672-9730.2017.07.013
2017年1月9日,
2017年2月17日
黄治华,男,博士,高级工程师,研究方向:网络通信、信号处理。夏洋,男,博士,工程师,研究方向:网络通信、信号处理。