资源描述:
《基于光流估计的整帧恢复算法》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第5期曹宁等:基于光流估计的整帧恢复算法·141·第28卷第5期通 信 学 报Vol.28No.52007年5月JournalonCommunicationsMay2007基于光流估计的整帧恢复算法曹宁,胡建荣,马银松(河海大学电子信息工程系,江苏南京210098)摘要:探讨了在无线环境中可能出现的整帧丢失情况,并利用光流估计的思想,提出了一种有效的双向估计恢复算法。实验结果证明,提出的改进优化算法能较好地提高恢复图像性能,并具有一定的实用价值。关键词:视频编码;光流估计;双向估计;块级滤波;整帧恢复中图分类号:TP393;TN91文献标识码:A文章编
2、号:1000-436X(2007)05-0137-04ErrorconcealmentalgorithmforentireframelossbasedonopticalflowestimationCAONing,HUJian-rong,MAYin-song(Dept.ofElectronicandInformationEngineering,HohaiUniversity,Nanjing210098,China)Abstract:Thewholeframelossinwirelessenvironmentandaspecificandapplicabl
3、esolutionwaspresentedwithbetterperformancebasedonopticalflowestimation,whichwastestifiedbyexperimentalresults.Keywords:videocoding;opticalflowestimation;bidirectionalestimation;blockfilter;whole-framerecovery第5期曹宁等:基于光流估计的整帧恢复算法·141·1引言收稿日期:2006-03-06;修回日期:2007-03-20基本的差错隐藏方法有频域
4、、时域、空域3类方法。在H.264的校验模型中,基本的差错隐藏方法大致有2种,针对帧内编码的加权像素均值法和针对帧间编码的基于边界匹配的运动向量恢复法。在帧间编码的差错隐藏中,目前流行的是拉格朗日运动矢量插值恢复法[1~3],这种方法的共同点就是利用已经获得的帧的运动矢量作为参考进行运动矢量插植,从而近似地恢复出当前帧所丢失的运动矢量。以上所提到的各种方法,都是从可利用的帧内或者前一帧邻域宏块(MB,macroblock)的信息来进行丢失MB的恢复。值得注意的是,这些差错隐藏方法在低比特率的视频应用场景中比较受限。2基于光流方程的整帧恢复算法典型的视频
5、传输系统中,视频数据包通过RTP/UDP/IP协议传送。一般来说,数据帧的大小是帧头开销和传输效率的折衷。在实际应用中,考虑到以太网的MTU大小,数据包大小在1000字节左右,一般不超过1500字节,无线网络中也是类似。在IEEE802.11标准[4,5]中,一个数据帧有34字节的帧头信息,净荷大小在0~2312字节之间可变。研究表明,为保证传输效率,净荷大小一般需大于500字节。考虑3G环境的一个典型应用:QCIF,10frame/s,64kbit/s信道传输,每个编码后的视频帧平均大小为800字节。在这样的应用下,一个编码后的视频帧用一个RTP包来
6、传送,那么一个RTP包的丢失将会导致整个视频帧的丢失。对时域隐藏和空域隐藏算法而言,一旦当前帧信息丢失,即无法从相邻MB来估计当前丢失MB的运动矢量信息。同样,亦无法通过参考帧的块匹配算法来估计运动矢量,也就无法根据候选宏块的边缘匹配来恢复丢失的MB。此外,由于有关宏块的信息全部丢失,也无法采用基于DCT系数的局部解码方法。第5期曹宁等:基于光流估计的整帧恢复算法·141·针对整帧丢失的情况,最简单的方法就是把所有MB的运动矢量设为0,完全拷贝前一帧作为丢失的帧(时域替换法TR)。而Belfiore等人提出了基于光流方程的错误恢复算法(OFE法),用来
7、处理低比特率情况下整帧丢失的情况,流程图如图1所示,其方法主要步骤如下1)光流估计考虑L个参考帧,对于前面已经解码帧(t-1~t-L-1),计算出每个像素的运动矢量。通过这些运动矢量,重构前向运动矢量FMV域/(1)/(2)其中,和是像素的运动矢量,是像素f(i,j,t-1)的参考帧索引。例如,t-1帧的参考帧若为t-2,则。2)FMV域空间调整由于帧内编码宏块的存在(当采用帧内刷新时),FMV域的部分点没有取到值。则采用中值滤波来消除这些点。最后对整个FMV采用二维中值滤波。FMV采用1/2像素精度。3)丢失帧t恢复考虑待恢复帧t中的一个像素f(i,
8、j,t),根据下式iF=i+(3)jF=j+(4)有f(iF,jF,t)=f(i,j,t-1)