APP下载

基于AVS解码端的空域错误隐藏算法

2010-06-25于鸿洋

电视技术 2010年1期
关键词:宏块空域解码

陈 铮,于鸿洋,张 萍

(电子科技大学电子工程学院,四川 成都 610054)

1 引言

数字视频业务随着多媒体通信技术的发展,在现实生活中受到越来越多的重视。但是数字视频通信信道受外界环境影响很大,网络传输也受网络带宽、网络拥塞等因素影响,导致传输过程中可能会出现误码或者数据包的丢失。视频传输中的误码通常包含两类,一类是随机比特错误,比如比特跳转、删除、插入等,这是由于信道的物理缺陷产生。另一类是突发错误,集中或连续突发产生错误,比如网络中数据包的丢失。

视频解码端错误隐藏是解决丢包现象较好的途径之一,主要利用图像内的空间冗余和图像间的时间冗余对解码端的错误宏块进行恢复,完全不影响编码端。

AVS作为我国自主知识产权的视频编解码标准,可以广泛运用到各种视频场合,支持地面广播、有线电视、IP网络等传输协议。现阶段AVS官方标准参考代码中,还没有加入解码端错误隐藏算法。笔者根据AVS视频编解码特点,参考传统的解码端空域错误隐藏算法,利用双线性插值结果,进一步得到多个参考像素,提出改进的空域错误隐藏算法,在AVS平台上进行实验仿真。算法复杂度低,能够得到良好的恢复效果。

2 AVS错误隐藏技术

AVS工作组成立于2002年,建立了中国自主知识产权的音视频国家标准[1]。其视频方面包括两个内容,AVSP2,即第2部分,主要运用于高清广播和数字存储领域;AVS-P7,即第7部分,主要运用于移动视频等低码率领域。和AVC/H.264具有相同的编解码结构,如图1所示。

图1 AVS解码结构图

错误隐藏技术是在检测到损失宏块后进行处理以尽量隐藏对视觉的影响。因此错误隐藏技术并不是真正消除传输中的丢包现象,只是尽可能的弥补其带来视觉损伤。

解码端错误隐藏流程如图2所示,解码端的错误隐藏技术分为时域误码掩盖和空域误码掩盖。现在常用的空域误码掩盖方法包括最优平滑恢复、凸集投影法、最小化相邻像素方差、利用周围临近像素插值等。

图2 解码端错误隐藏流程图

信道上接收到的压缩视频码流首先送到码流语法分析单元,进行相应的码流语法分析。如果没有丢包,则送到视频解码单元,然后将正确解码的图像送入帧存储器,最后到显示器去现实解码图像。如果信道有丢包,则语法分析程序给出错误指示,立刻停止当前解码,将错误数据送入错误定位单元,得到错误位置信息,并送入错误掩盖单元。

一旦检测出错误,就开始进行错误隐藏的过程。错误掩盖单元在帧存储器中,按照算法设计寻找到与丢失宏块图像最相似的图像块来替代丢失的部分,以达到错误隐藏的目的。

AVS的语法层次分为块、宏块、条带、图像、序列。条带结构为一行或者多行宏块。对于条带、图像、序列这3层,都有再同步码,发生错误时能够通过重定位至下一个同步码来避免错误的传递,但是块和宏块层没有再同步码,因此一旦发生错误,当前条带的数据将全部丢失。AVS所采用的VLC编码导致当前错误可能影响到整帧或者后续解码图像中,因此进行错误隐藏十分必要。

语法语义检测错误检查包括无效码值、无效VLC值、运动矢量超出图像外界、量化信息越界、无效的DC直流系数、DCT系数个数超出等。

3 空域错误掩盖算法及仿真

空域错误隐藏技术主要是利用视频空域的冗余信息,从相邻宏块的临近像素中对解码端错误图像进行恢复。适用于运动矢量不存在的帧内编码帧(I帧)和运动复杂的帧间编码帧(P帧)。

3.1 双线性插值算法两步法

对于I帧,由于缺少参考帧,因此在帧内进行空域错误掩盖,利用出错宏块上下左右相邻宏块的边界像素值插值出丢失宏块的像素值[2]。

对于丢失宏块内的每一个像素,首先利用水平和垂直方向上的相邻宏块的边界像素,通过加权插值得到此像素值,权值与像素到边界像素的距离成反比,如图3所示。

可以得到双线性插值算法公式

式中:R为第1步恢复的像素值,也即传统双线性插值恢复的像素值;Y1,Y2,Y3,Y4为图中对应的边界像素值,也即与受损宏块相邻水平和垂直宏块的边界像素值;D1,D2,D3,D4为恢复像素值与边界像素值的距离。

通过第1步传统的双线性插值,得到待恢复像素的值。接下来进行进一步匹配,确定需要恢复的像素值。

图3 双线性插值示意图

第2步在第一步插值的基础上面进行更加精确的恢复像素值,在给定像素误差范围E内,逐步搜索水平和垂直宏块的临近像素值,得到与第1步预测像素值在该误差范围内的临近像素点,并记录这些像素点的像素值。利用更多实际的临近像素点去预测损失像素的值,最终像素值的大小为相似像素点均值。

经过反复试验,误差E取值为15左右能够得到比较满意的结果。算法流程图如图4所示。线性插值之后,再进一步运用更多实际临近像素点进行预测,能够得到更加精确的恢复像素点。并且其方法简单,容易实现。

图4 双线性两步算法流程图

3.2 仿真结果及分析

所提出的解码端错误隐藏算法在AVS平台上进行图像的恢复,对不同的视频序列进行了大量仿真试验。AVS版本为RM 52g,测试序列为经典Forman YUV文件测试序列,格式为CIF(352×288)。编码方式为全I帧编码。利用AVS编码Forman图像序列30帧,通过随机掉包,产生数据丢失。对序列进行10%的随机加错后,得到的错误恢复效果图如图5~7所示。

图5 Forman原始第3帧

图6 Forman第3帧出错

图7 Forman第3帧错误掩盖

由图5~7可见,双线性两步算法对于全I帧出错情况具有良好的掩盖效果。表1客观反应了前10帧Y,U,V分量的评价信噪比,可以看出双线性两步法对于出错图像进行空域掩盖之后,各个分量平均信噪比增加了约4 dB。

表1 Forman掩盖序列前30帧平均信噪比表

4 结论

AVS视频编解码标准正在继续发展之中,以后肯定会增加标准工作组制定的错误隐藏算法部分。

笔者通过研究视频解码端错误隐藏算法,并将改进的双线性插值法在AVS平台上进行仿真实验,得到了良好的错误恢复结果。此算法保留了双线性插值法的简洁性,易于实现。能够有效恢复出损失宏块的像素值,具有可移植性,能广泛运用到视频通信之中。

[1]GB/T 200090.2-2006.信息技术先进音视频编码第2部分:视频[S].北京:中国标准出版社,2006.

[2]SULLIVAN G,WIEGAND T,LIM K P.Joint model reference encoding methods and decoding concealment methods.Doc.JVT-I049[R].[S.l.]:JVT,2003.

[3]毕厚杰.新一代视频压缩编码标准——H.264/AVC[M].北京:人民邮电出版社,2005.

猜你喜欢

宏块空域解码
《解码万吨站》
我国全空域防空体系精彩亮相珠海航展
解码eUCP2.0
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
基于贝叶斯估计的短时空域扇区交通流量预测
浅谈我国低空空域运行管理现状及发展
基于能量空域调控的射频加热花生酱均匀性研究
基于选择特征宏块的快速视频稳像
基于宏块合并的H.264模式选择算法