文档库 最新最全的文档下载
当前位置:文档库 › 一种适合无线视频通信的自适应错误隐蔽方法

一种适合无线视频通信的自适应错误隐蔽方法

一种适合无线视频通信的自适应错误隐蔽方法

陈睿时间:2009年08月07日

字体: 大中小

关键词:子块视频通信插值图像质量误码

摘要:在无线网络环境下的视频通信过程中,错误隐蔽是一种提高解码图像质量的重要手段。提出了一种针对实时视频应用的自适应时域运动补偿处理方法,不仅考虑了受损视频在时间上的相关性,而且针对补偿图像中的块效应进行自适应处理,能够有效地提高解码图像质量。

关键词:视频通信;错误隐蔽;块效应

3G无线网络提供了更大的网络带宽,但是无线网络不能保证传输质量,使传输误码或者丢包不可避免,因此如何提高传输视频对误码或者丢包的抗干扰和恢复能力一直是无线多媒体通信领域的研究热点。在视频解码器端进行错误隐蔽的方法[1],可以在不增加传输带宽和传输时延的情况下改善接收到的图像质量,因此在出错环境下的视频传输中得到广泛关注。目前的错误隐蔽方法有二类:基于运动补偿的时域方法和基于空域或频域插值的方法。

最简单的基于空域或频域插值的错误隐蔽(例如双线性内插),很难恢复出纹理和边界信息丰富的区域的丢失信息。基于边界或者内容的空域和频域插值方法[2]计算量很大,很难在实际中应用,而且在整帧图像丢失的情况下,由于缺少空间相邻信息,基于空域或频域插值的方法无法恢复出受损数据。

基于运动补偿的时域错误隐蔽方法是通过估计丢失帧的宏块运动信息来恢复丢失信息的,例如边界匹配方法[3]。但该方法存在一个明显缺点:在出现整帧丢失的情况下无法获取空间相邻宏块的MV,因此也不能估计丢失宏块的MV。

1 图像帧错误隐蔽方法回顾

传统的空域或者时域视频错误隐蔽方法都是在单个或者多个连续的宏块丢失的假设条件下实现的。但是在低码率的无线视频通信中,传输错误往往导致整帧图像的丢失。一方面,在低码率的情况下,1帧图像的数据量通常小于1个基本网络传输单元,而网络传输中的数据包丢失通常对应于一整帧图像内容的丢失;另一方面,3G无线网络的传输误码一般为连续的突发性误码,这将导致连续的数据受损,表现为整帧图像的丢失。

针对整帧图像丢失的错误隐蔽方法分为二类:一类是利用光流方法来估计丢失图像帧的运动矢量场[4-5],并对每个像素的MV进行滤波或者插值,然后逐个像素采取时域运动补偿方法恢复出受损图像帧。但是这种方法计算量非常大,不适合无线视频通信应用中的手持终端应用;第二类是运动矢量外推方法(MVE)[6],快速预测丢失帧图像块的MV,但是估计精度有限,恢复的丢失帧图像会出现明显的块效应。

本文提出了一种改进的块运动矢量外推方法,通过基于瑕疵块的图像质量评测尺度来修正丢失图像帧的块运动矢量信息,既能够提高恢复的丢失图像帧质量,又能够适应手持终端的实时应用。

2 算法框架

错误隐蔽的目的是恢复出丢失的压缩视频中的内容。虽然丢失的视频数据不可能完全恢复,但是视频信息总是存在相关性,因此可以利用丢失数据时间相关性恢复出丢失部分的视频数据。本文提出了一种自适应的时域错误隐蔽算法,其执行过程如图1所示。

对输入的视频码流进行错误检测,若没有图像帧丢失,则按照正常解码过程输出解码图像。若发现图像帧丢失,标记出受损图像帧,t-1帧的第i个4×4子块的运动矢量记为;接着按照运动矢量外推方法计算前向外推运动矢量场,每个4×4子块的前向外推运动矢量记为,从而可以按照前向运

动补偿方法得到预估计的丢失帧图像,详细方法见2.1节。

对预估计的丢失帧图像进行修正,按照8×8块大小计算边界系数,判断是否有错误图像块,若有,对错误图像块重新估计运动矢量,并重新进行运动补偿,得到修正的图像块数据,具体方法见2.2节。2.1 时域运动补偿

为了能够更有效地利用视频数据在时域上的相关性,本文采用了参考文献[6]的MVE方法作为时域错误

隐蔽算法的基础,即利用运动矢量外推方法恢复出受损图像块的MV,然后通过运动补偿恢复受损图像。

式中,W

1,…W

N

表示权值,正比于各个子块在第j块中所占的像素区域,W

N+1

是当前子块中没有被叠加块覆

盖的像素区域在整个子块中所占的比例。

在进行运动矢量外推时,第t帧的部分子块可能没有外推的运动矢量,此时该子块的外推运动矢量记为0。

在第t帧的每个子块都得到1个外推运动矢量后,对应子块的图像数据为:

2.2 基于瑕疵块的图像块修正

在完成时域运动补偿后,部分区域可能存在瑕疵块,原因在于运动矢量外推方法假设物体是刚体运动,但是运动目标的局部运动特性不能通过刚体运动来模拟。因此根据刚体运动模型得到的运动矢量场会产生错误的预测,造成明显的块效应。

针对这个问题,本文提出了一种基于瑕疵块判断的局部区域进行修正的方法。具体如下:对预估计图

像提取子块(8×8)的水平边界和垂直边界位置处于块边界内部和外部的2个像素区域,记为BlockIn[2]和BlockOut[2],其中数组序号表示距离边界位置的距离。计算这2个区域的:

式中,SAD( )表示计算2组数据的绝对差值和。块边界系数S3=S1/S2,对于未压缩的图像,S3接近1;但是对于分块压缩的图像而言,S3必定大于1。因此,当S3大于1个给定阈值T时,则表示存在瑕疵块。当图像压缩率越高时,图像上的块效应也比较多。为了找出最明显的瑕疵块,T的取值也要增大,在此根据经验取T=2.5。

确定了瑕疵块后,可以采用BMA方法进行重新估计瑕疵块的运动矢量。具体就是用瑕疵块8个相邻的4×4块的运动矢量加上1个0运动矢量作为候选的运动矢量集,然后根据BMA方法在这9个候选运动矢量中选择1个最佳运动矢量作为错误子块的运动矢量估计值。最后根据这个估计值计算出瑕疵块的补偿数据。

3 实验结果

为了验证本文提出的算法的有效性,以H.264为平台,选用了Akiyo和Foreman序列进行实验;传输误码模拟采取随机丢包方式进行,每次丢弃1帧数据;图像大小为CIF,编码速率分别为64、128、256、320、384(Kb/s),IPPP编码模式。

为了比较不同错误隐蔽算法的性能,本方法选取了参考文献[6]的MVE进行对比,在实验中,丢包率都设置为3 %,其实验结果分别如表1及图3所示。可以看出,本文提出的方法(Proposed)相对于MVE,Y 分量大,PSNR提高0.4~2.3 dB左右,而且主观质量有明显改善。

由于现有的多媒体视频传输信道不能保证QoS,为了提高在出错环境下的视频图像质量,视频解码端的错误隐蔽是现有的视频通信系统中一个非常重要的部分。特别是在无线通信环境下,视频码流的丢包和误码更为严重,常常会出现整帧图像的丢失。

本文提出了整帧图像丢失的错误隐蔽算法,针对无线视频通信过程中数据丢包的特点,采取了自适应的基于瑕疵块判断策略进行时域运动补偿,既能够消除运动矢量外推方法中的瑕疵块,又不会大幅度增加视频解码的复杂度,适合于无线视频通信应用。今后的思路应该在空域和时域结合方向上,针对某些不适合时域补偿的图像块进行空域插值方法来提高图像质量。

参考文献

[1] WANG Y, ZHU Q F. Error control and concealment for video communication: a review[J]. Proceedings of the IEEE, 1998,86(5):974-997.

[2] CHEN M, ZHENG Y F, WU M. Classification-based spatial error concealment for visual communications[J]. EURASIP Journal on Applied Signal Processing, 2006(1):257-257.

[3] YAN B, WING NG K. A novel selective motion vector matching algorithm for error concealment in MPEG-4 video transmission over error-prone channels[J].IEEE Trans. Consum. Electron., 2003,49(4):1416-1423.

[4] BELFIORE S, GRANGETTO M. Concealment of whole-frame losses for wireless low bit-rate video based on multiframe optical flow estimation[J]. IEEE Transactions on Multimedia, 2005,

7(2):316-329.

[5] 陈建乐,刘济林,陈国斌,等.一种针对整帧图像丢失的错误隐藏算法[J].中国图像图形学报,2007,12(1):37-42.

[6] PENG Q, YANG T W, ZHU C Q. Block-based temporal error concealment for video packet using motion vector extrapolation[C]. in:Proceeding of ICCCAS'02.Chengdu,China:2002:10-14.

相关文档