APP下载

基于相关运动矢量外推的视频通信错误掩盖算法

2019-07-16黄治华蔡全旺

舰船科学技术 2019年6期
关键词:时域解码矢量

黄治华,蔡全旺

(中国船舶重工集团公司第七二二研究所,湖北 武汉 430079)

0 引 言

压缩视频数据在视频通信过程中由于受信道带宽限制、无线信道不稳定性[1]以及IP网络“尽力而为”影响,不可避免地会发生丢包或误码。与此同时,视频编码标准大多采用帧内预测、帧间预测和可变长编码等技术去除视频图像在空域、时域和统计域的冗余度以达到数据压缩的目的[2],这些技术在提高编码效率提升的同时也使得视频数据之间存在较强的关联性。当视频数据发生丢包或误码时,解码错误会在空域或时域迅速扩散,导致解码的视频质量急剧下降。因此,为提高解码的视频质量,需要在解码端采用错误掩盖技术,在不改变编解码结构、不增加传输带宽的情况下,根据视频信号的相关性,对丢包或误码的视频数据进行恢复。

当帧间编码帧发生丢包或误码时,常采用时域错误掩盖算法,即根据视频的运动相关性,估算受损图像块的运动矢量,然后在前续帧中查找图像块替代受损图像块。因此,时域错误掩盖算法的核心在于如何估算受损的运动矢量。时域替换算法[3]是时域错误掩盖最基本的算法,通过假定受损运动矢量为0,直接用前续图像块替代受损图像块,该算法易于实现,但在运动剧烈区域很容易产生错位感。边界匹配算法[4]以候选图像块与相邻图像块的边界像素差值为准则,从候选图像块中选取使得差值最小的图像块作为最佳替代图像块,该算法已被H.264参考软件JM选作时域错误掩盖算法,但对于物体边界处的受损图像块,掩盖时会选择出错误的替代图像块。文献[5]根据相邻图像块运动矢量构造拉格朗日插值多项式,进而根据插值多项式恢复受损图像块的运动矢量。该算法利用了运动的空域相关性,但当受损图像块与相邻区域运动趋势不同时,掩盖效果较差。文献[6]采用时空结合边界匹配法,以保持图像平滑性和结构相似性。文献[7]采用物体检测、边界匹配和参考帧相关图像块的运动矢量来恢复不同尺寸的受损图像。文献[8]首先采用边界匹配算法估算运动矢量,然后通过粒子滤波器对运动矢量进行去噪处理。文献[9]将张量模型引入到视频通信中,提出了基于张量模型的错误掩盖算法。这些算法利用相邻图像块或前续图像块的运动信息对受损图像块的运动矢量进行估算,但存在一个共同的不足,即缺少对运动区域的分析,没有选取与受损图像块运动相关性最强的相邻图像块对受损图像块进行错误掩盖,因此恢复的运动矢量存在一定偏差,解码的视频质量有待提升。

为此,本文根据运动的空域相关性和时域相关性,提出一种基于相关运动矢量外推的错误掩盖算法。对于受损图像块,首先构造经过前续相邻图像块的一阶平面集,然后计算前续图像块与1阶平面集距离,选取使得距离最短的1阶平面所代表的前续相邻图像块为相关最强前续相邻图像块,最后将相关最强前续相邻图像块外推到当前帧,通过外推图像块与受损图像块重叠区域加权估算受损运动矢量,并采用边界匹配算法对运动矢量进行优化,进而恢复受损图像块。

1 相关最强前续相邻图像块确定

前续图像块、前续相邻图像块、受损图像块位置关系如图1所示。

图1 图像块位置关系示意图Fig. 1 Position relation of image blocks

以 B′0中心点为原点, B′1~ B′8的中心点与原点的横向 距离 为 X 轴 、 B′1~ B′8的 中 心 点 与 原点 的纵 向 距 离 为Y 轴、运动矢量的水平分量为 Z轴建立三维坐标系。前续相邻图像块横向距离和纵向距离如表1所示。

表1 前续相邻图像块横向距离和纵向距离Tab. 1 Lateral and longitudinal distances of previous adjacent image blocks

求解方程组,得到:

求得所有的1阶平面后,通过比较 B′0(0,0,x′0)与所有1阶平面的距离大小可衡量 B′0(0,0,x′0)与1阶平面所代表的前续相邻图像块的相关程度,即与 B′0(0,0,x′0)距离最近的一阶平面所代表的前续相邻图像块为运动矢量相关最强前续相邻图像块。 B′0(0,0,x′0)与 S中1阶平面的距离如图2所示。

图2 前续图像块与1阶平面距离Fig. 2 Distance between preceding image blocks and first-order plane

B′0(0,0,x′0)与 S中 一 阶 平 面 ( 以 下 以 一 阶 平 面为例描述)的距离计算公式为:

2 相关运动矢量外推的错误掩盖

2.1 运动矢量外推

根据运动的时域相关性可知,相邻视频帧的运动趋势大多具有连续性,即可以将前续相邻图像块的运动矢量根据其运动趋势外推到当前帧中以估算受损图像块的运动矢量。

得到相关最强前续相邻图像块 B′α, B′β和 B′γ后,分别根据其自身运动矢量外推到当前帧中,如图3所示。

图3 运动矢量外推示意图Fig. 3 Diagram of motion vector extrapolation

图中,虚线框为外推图像块。 B′α, B′β, B′γ的外推图像块与受损图像块 B0重叠区域大小分别标记为

重叠区域大小反映了前续图像块与受损图像块的运动相关程度:重叠区域越大的前续图像块,越有可能运动到受损图像块的位置。因此,受损图像块的运动矢量可根据外推图像块与受损图像块重叠区域加权得到,即

式中, (mvx,mvy)即为根据运动矢量外推估算的 B0的运动矢量。

2.2 运动矢量优化

通过上述运动矢量外推方法,初步估算了受损图像块的运动矢量,但在上述运动矢量估算过程中,只考虑了运动的时域相关性,因此恢复的图像块可能存在块边界效应。因此,本文对已初步估算的运动矢量进行优化,在初步估算的运动矢量相邻区域内寻找一个最优边界匹配的运动矢量作为受损图像块最终掩盖的运动矢量。

边界匹配算法以图像块边界亮度失真作为度量,通过计算候选图像块的内部边界像素值与受损图像块的外部边界像素值的亮度差值之和大小衡量边界匹配程度,边界匹配程度越高,则图像块边界差值越小。因此,在已初步估算的运动矢量相邻区域内,查找使得图像块边界差值最小的图像块恢复受损图像块。由于图像块的解码或掩盖的次序为从上至下,从左至右,当对受损图像块进行错误掩盖时,只有其上边界图像块和左边界图像块可用,因此在计算边界差值时,只计算上边界图像块和左边界图像块的差值。最优运动矢量查找过程如图4所示。

图4 最优运动矢量查找过程示意图Fig. 4 Searching process for optimal motion vector

对于 (mvx,mvy)相邻区域,即 ∆x∈ [mvx−δ,mvx+δ],∆y∈[mvy−δ,mvy+δ]内的候选图像块,其内部边界像素值与受损图像块的外部边界像素值的亮度差值之和计算公式 diff(∆x,∆y)为:

式中:xstart和ystart为受损图像块在当前帧Fn中的起始像素坐标,pixn(x,y)为 Fn中像素(x,y)的亮度值,pixn−1(x,y)为前续帧 Fn−1中像素 (x,y)的亮度值。根据边界匹配算法的原则,使得式(8)值最小时的(∆x,∆y)即为优选后的运动矢量,即

3 仿真结果

选取QCIF格式的Foreman,Carphone和Suzie序列进行仿真实验。仿真实验采用H.264的参考软件JM[10]作为测试平台,视频序列编码档次为Baseline,关键帧间隔为40,量化参数为26。考虑到运动的空间相关性及运算复杂度,选取=3。本文主要验证帧间编码帧的错误掩盖,因此仿真实验通信环境丢包模型为:帧内编码帧不丢包,帧间编码帧丢包率为10%,20%和30%。

采用时域替换算法、边界匹配算法、拉格朗日算法和本文提出的算法进行比较。视频客观质量通过亮度分量的峰值信噪比(PSNR)进行衡量,实验结果如表2所示。

表2 不同掩盖算法的性能比较Tab. 2 Performance comparison of different concealment algorithms

仿真实验中,Foreman序列人物和镜头均在运动,而且还存在场景的切换;Carphone序列中等速度的运动;Suzie序列运动方向随机。由表2可见,对于不同运动类型的视频序列和不同的数据丢包率,本文算法PSNR均高于时域替换算法、边界匹配算法和拉格朗日算法。相比时域替换算法提高2.3~2.7dB,相比边界匹配算法提高1.3~2dB,相比拉格朗日算法提高0.5~1.1dB,是一种鲁棒性较强的算法。3个测试序列中图像的不同区域具有不同的运动趋势,本文算法分析了相邻图像块运动趋势,并选取运动相关最强相邻图像块进行错误掩盖,从而更好地重建了受损的图像。此外,随着丢失率的增大,更多的受损图像块采用本文算法恢复受损的运动矢量,本文算法的优势更加明显。

从解码视频质量比较各算法的主观视觉效果,图5给出了Foreman序列第82帧解码视频质量。

由图可见,时域替换算法解码图像效果较差,在人物眼睛、鼻梁、嘴巴和脖子处存在割裂痕迹;边界匹配算法解码图像在人物鼻梁、脖子处存在错位痕迹;拉格朗日算法解码图像在人物鼻子下方存在切线;本文算法在一定程度上克服了上述不足,解码的视频质量相对较好。

图5 各算法解码视频主观视觉效果Fig. 5 Decoded visual effects of various algorithms

4 结 语

本文利用运动空域相关性得到相关最强前续相邻图像块,然后利用运动时域相关性将相关最强前续相邻图像块外推到当前帧,根据外推图像块与受损图像块重叠区域大小估算受损的运动矢量。在此基础上,依据边界匹配算法对估算的运动矢量进行优化,从而完成受损图像块的错误掩盖。仿真结果表明,对于不同运动特征的视频序列和不同的数据丢包率,本文算法相比传统时域错误掩盖算法可获得更高的客观质量和主观视觉效果。

猜你喜欢

时域解码矢量
OFDM 系统中的符号时域偏差估计
一种矢量信息重构的最优双矢量定姿算法
一种适用于高轨空间的GNSS矢量跟踪方案设计
矢量三角形法的应用
硬件时域门技术在宽频带天线罩测试中的应用
频域滤波产生的时域端点效应及避免方法
文化解码
解码eUCP2.0
文化 解码
文明 解码