一种改进的无线信道中压缩视频码流的错误隐藏算法❋
2012-02-09叶湘滨
罗 平,鲁 琴,叶湘滨
(国防科学技术大学机电工程与自动化学院,湖南长沙 410073)
近10年来,随着工业、商业和军事等领域对多媒体通信技术的需求增长,视频压缩编码技术及其无线传输技术得到了广泛的研究和应用.其中,2003年推出的H.264标准,因其良好的压缩性能和网络友好的句法结构适用于安全监控、数字卫星广播、手机电视、视频电话等领域.压缩后的视频信号码流之间具有高度的相关性,对传输错误十分敏感,而无线网络传输环境恶劣,受信号衰减、多径效应、电磁信号干扰、信道噪声等影响,容易产生随机和突发误码,导致解码端不能正确解码并造成错误扩散,解码视频质量急剧下降.
传统的信道编码差错控制技术如前向纠错、错误控制编码等,需要知道信道的统计特性,在无线信道中不适用.编码端进行的容错编码,如鲁棒熵编码采用可逆变长编码或插入同步标记,或者利用容错预测防止误码扩散,如周期intra帧刷新或限定预测区域等,在抑制传输差错的同时,也降低了编码效率[1-2].即使采用了分层编码与不等差错保护技术或多描述编码方案,仍然不能保证解码端接收到无差错的码流信号.因此,研究基于无线信道中压缩视频码流的错误隐藏算法具有重要意义.人眼对视频中的部分信息并不敏感,因此可以利用人眼的这种遮蔽特性,用一些相关数据对出错的部分进行替代,使人眼接受相对较好的图像,甚至察觉不出错误.视频解码器必须检测出传输码流中是否存在误码及其存在的位置,位置越精确越好;然后利用误码隐藏算法来降低对图像播放质量的影响.
1 差错控制技术分析
1.1 误码对视频压缩码流的影响
为了提高压缩编码效率,H.264视频压缩编码标准采用了CABAC熵编码、帧内预测、帧间运动估计、变换编码等一系列压缩技术去除了时间与空间上的冗余,使得码流在句法结构上存在很强的依赖性,需要根据上下文进行解码,即使是单个误码,也可能在帧内或帧间大面积扩散,严重影响视频质量.
在H.264中,解码是以条带为单位进行的,一个比特的错误会导致从出错点到本条带结束的数据不可用,B帧和P帧是直接或间接以I帧为参考的,I帧中的错误可能会扩散到整个序列,直到下一个同步.如图1所示,左图边缘清晰的块就是丢失的条带,后面两图的块边缘模糊,属于错误扩散[3].
1.2 抗误码技术研究
差错控制技术大体可以分成两类:第一类是加强码流对传输的鲁棒性,叫做抗误码编码技术(Error Resilient Encoding),通过在编码码流中加入冗余信息,利用这些冗余数据和有效数据之间的关系来减小误码带来的影响[4-5].通常是在信源或信道进行编码,如编码端的容错编码,包括鲁棒熵编码、容错预测、分层码流与不等差错保护、多描述编码;信道编码的FEC、ARQ、不等错误保护;交互式抗误码技术、信源信道联合编码等.第二类是基于图像的时间和空间相关性的错误隐藏技术[6](Error Concealment),这类方法主要是利用了图像的局部平滑特性或者几何特征来推断丢失的内容,通过对图像的交织传输,保证一个丢失的宏块被一些正确的宏块包围,然后利用这些宏块提供的相关信息(像素值、运动向量、编码模式等)通过时域预测和空域插值等方法恢复丢失的宏块.它的优点是不需在编码端增加额外的比特率,仅仅增加了解码器的复杂度.
错误隐藏技术提倡利用视频信号在空间或时间上的相关性.空间上,利用丢失块同一帧内相邻像素值进行线性插值或方向插值,会导致边缘模糊[7];时域插值利用相邻帧信息,估计帧间运动,在变化缓慢的情况下效果较好,利用双边插值甚至可以恢复整帧丢失的情况[8].
总体说来,传统的错误隐藏方法更偏重于策略的选择,原理直观,效果因视频运动和纹理特性而异.例如时间域错误隐藏技术,一是直接用上一帧相应位置的像素块代替,计算简单,但图像运动剧烈时,视频恢复效果不好;二是针对运动物体,根据相邻块运动向量估算丢失块运动向量,但会带来边缘块效应.空间域的方法通过同一帧相邻像素点来计算丢失块数据,最简单的是取丢失块左方、上方、右方或其加权值来计算,由于考虑了视频图像的连续性和平滑特性,这种方法对丢失块边缘的像素恢复效果较好,但是块中心的像素由于距正确接收的像素较远,掩藏效果并不令人满意.为此,一些学者提出了基于纹理的方向性插值,但是由于图像纹理的判断是基于边缘的突变点,容易受到噪点的干扰.
图1 错误扩散(carphone序列的第4、5、6帧)Fig.1 Error p roliferation(the 4th,5th,6th frame in carphone sequence)
2 改进的信源语义错误隐藏技术
2.1 信源语义错误隐藏算法
David levine在文献[9]中提出了一种基于信源语义进行错误隐藏的方法(error concealment using source semantics,ECSS),使用模糊比特(soft-bits)信息产生候选片(slice candidates),从候选片中选出最优者产生输出码流.其基本流程如图2所示.
由于视频传输中通常是以片(slice)为单位对数据进行打包传输,因此 ESCC以片为单位进行分析.头文件携带着视频解码的关键信息,一旦丢失将导致视频不可恢复,而且数据量较小,传输中往往采用较强的保护措施和重传机制来保证其可靠传输,因此 ESCC中假设头文件在传输过程中不会发生错误.首先将压缩视频分成头文件流和数据流,头文件在传输过程中不发生错误,视频流则通过高斯噪声信道进行传输.在解码端,将头文件和数据进行混合,通过被噪声污染的模糊数据产生候选片,通过源语义判断选出最优候选并进行解码后输出.
其中关键的是候选片的产生和源语义判断.从理论上讲,一个长为N比特的片就会有2N个候选片,其中有一个目标片是和编码端的原始片信号完全相同的,对于通常的视频信号而言,2N是一个巨大的数目,其实这2N个候选片是目标片的可能性不一样.解码端接收到的视频信号称为接收片,由于噪声或干扰的影响,其中可能会有一个或几个比特发生错误,错误的比特数与信道状况有关,但超过 N/2的比特发生错误的情况是较为少见的,这意味着信道非常差,其他片和帧的接收也会发生严重错误,恢复起来十分困难,此时应当采用重传等机制进行差错控制.由于不能确知发生错误的是哪个比特,因此将接收片里的数据称为模糊比特,它可能就是目标片,也可能是目标片某些比特发生错误后的情况.文献中用复杂的方法产生了 nsc个可能性更大的候选片,并用不完全部分和算法(incomp lete partial sums algorithm,IPSA)对这些候选片进行了排序,在此基础上用源语义判断选出目标片.这种方法为差错隐藏提供了一种新的思路,但是计算复杂,不易实现,而且有时没有候选片胜出.本文依据压缩感知算法的思想提出一种改进的错误隐藏技术,不需要对候选片进行排序,通过模糊匹配得到目标片.
2.2 候选片的产生
无线信道与因特网不同,因特网发生错误常表现为丢包的形式,其差错控制在数据包层面,无线信道多发的是随机和突发误码,其纠错和掩藏在码流层面.由于无线网络的特点,单个比特的错误较多.记接收片为a,a为长为N的二进制码流.
候选片按照发生错误的比特数不同依次记为
图2 信源语义错误隐藏算法的流程Fig.2 A lgorithm flow of er ror con cealment using source concealment
其中,比特位 Ai表示位ai的反转,候选片 aij中i表示发生错误的比特,也反映了信道的通信状况.例如,候选片a00即为原接收片,候选片a1j表示接收片中第j比特发生了错误,a2j表示有两个比特发生了错误.
2.3 目标片的选取
这里采用压缩感知(comp ressed sensing,CS)的思想通过模糊匹配的方法得到目标片.Emmanuel Candès在研究充满噪声,质量非常差的Shepp-Logan Phantom图像时,使用压缩感知中的 L1-minim ization算法去除掉噪声条纹,并且得到了出人意料完美的图像细节,后来的许多学者进一步地研究表明,在恢复Ax=y时如果测量向量y受到噪声污染,用L1-m inim ization效果较差,得到的x与原来的x差别非常大,但是用 ‖Ax-y‖2≤δ而不是Ax=y来求解就可以得到对噪声稳定的解[10].接收片 a=[a0,a1,…,aN-1]可以看做是被噪声污染的原始片.因此,用压缩感知的方法可以得到解析解.这里将原始片,也就是要求解的目标片看做 x,将接收片 y=[a0,a1,…,aN-1]作为被污染的测量信号,用候选片 aij构成测量矩阵,即可解出目标片 x,这里 δ取经验值.
x=[x0,x1,…,xN-1]为长为 N的目标片.
在信道情况较好时,可以认为发生错误的比特较少,发生错误比特较多的候选片可以自动丢弃,因此首先根据之前接收到的数据情况进行分析,合理确定候选片取到多少位错误的情况,当认为发生错误比特较多,进行错误隐藏计算代价太大时可以考虑放弃隐藏,采用重传请求等方式改善视频质量.
3 仿真及分析
以标准序列hall_cif 和football_cif_gray 作为测试视频,视频hall_cif纹理复杂度一般,运动剧烈程度中等,而视频football_cif_gray有复杂的运动背景和剧烈的运动.将本文所提方法与原信源语义错误隐藏技术进行比较,每次仿真中产生300个候选片,在不同的信道信噪比下运行10次取平均值.由图3可知,在同样条件下,采用两种差错隐藏方法均可以比直接采用接收端数据得到客观质量更好的解码视频,本文所提方法在信道信噪比较低的情况下差错隐藏效果优于信源语义差错隐藏技术,而且计算更为简单.
为了更一般地说明问题,本文选取了多个测试视频用同样的方法进行实验,结果如表1所示.从表中可以看出,在信道较为恶劣的情况下,本文所提错误隐藏技术较ECSS方法性能有明显提高,特别是对于运动剧烈的视频序列,在信道状况良好时本文所提方法优势并不明显,甚至有时略有下降.
表1 本文所提错误隐藏技术与ECSS方法对比Tab.1 Comparison o f the proposed error concealm en t algorithm and ECSS algorithm
图3 所提方法与信源语义错误隐藏算法及无错误隐藏算法效果比较(上hall_ci f ,下footbal l_cif)Fig.3 Comparison of proposed algorithm and ECSS,non-concealm en t
4 结 论
在分析已有差错控制技术和错误隐藏技术的基础上,提出了一种新的方法进行信源语义错误隐藏技术中候选片的产生和目标片的选取,该方法采用了压缩感知技术中模糊匹配的思路,去除了计算繁琐的候选片排序的环节,通过解析的方法得到目标片,计算简单,不会出现无候选片胜出的情况,客观视频恢复质量较好,并且可以对信道质量得出量化指标供重传等策略选择.
[1] 桑亚林.基于H.264的无线传输差错控制及解码器的ARM实现[D].江苏:扬州大学,2009.
[2] Thomas Stockhammer,Miska M Hannuksela,ThomasW iegand.H.264/AVC in Wireless Environments[J].IEEE Transctions on Circuits and Systems for Video Technology,2003,13(7):657-673.
[3] 杨观华.无线信道中的H.264错误隐藏技术[D].武汉:中南民族大学,2008.
[4] Thomos N,Argy ropou los S,Bou lgouris N V,et al.Error-resilient transmission of H.264/AVC streams using flexib lemacroblock ordering[C].Integration of Know ledge,Semantics and DigitalMedia Technology,December,2005.
[5] Chang Paochi,Lee Tienhsu.Precise and fasterror tracking forerror-resilient transm ission of H.263 video[J].IEEE Transaction on Circuits and Systems for Video Technology,2000,10(4):600-606.
[6] Kang Liwei,Leou Jinjang Leou,An error resilient coding scheme for H.264/AVC video transm ission based on dataembedding[J].J.Vis.Commun.Image R,2005,93(16):93-114.
[7] Sunil Kumar,Liyang Xu,M rinal K Mandal.Error resiliency schemesin H.264/AVC standard[J].J.Vis.Commun.Image R.17,2006(1):425-450.
[8] Chen Yu,Yu Keman,Li Jiang,et al.An error concealment algorithm for entire frame loss in video transmission[C].in Proc:PCS,December,2004.
[9] David Levine.Error resilient transm ission of H.264 comp ressed video using CABAC entropy coding[D].Quebec,Cannada:science concordia university,2007:58-70.
[10] David L.Donoho,Jared Tanner.Precise Undersamp ling Theorems[J].Proceedings of the IEEE,2010,98(6):913-923.