H.264的差错控制与错误隐藏技术研究

  • 格式:pdf
  • 大小:454.97 KB
  • 文档页数:5

ComputerEngineeringandApplications计算机工程与应用2007.43(16)53H.264的差错控制与错误隐藏技术研究万里晴.李学明WANLi—qing,LIXue-ming北京邮电大学.北京100876BeijingUniversityofPostandTelecommunication,Beijing100876,ChinaE—mail:wanliqin91983@grnail.cornWANLi-qing,LIXue-ming.ErrorcontrolanderrorconcealmenttechniquesusedinH.264.ComputerEngineeringandApplications,2007,43(16):53—57.Abstract:H.264utilizesaseriesoftechnologiesagainstthetransmissionerrorsinwirelessenvironmentanddatalOSScausedbyIPnetwork’scongestion.7n“spaperintroducestheerrorcontrolanderrorconcealmenttechnologiesinH.264.andfocusesonFlexibleMacroblockOrdering(FMO)anderrorconcealmenttechnologiessuch鹊FrameCopyandMotionCopybasedonframelossandintraconcealmentandinterconcealmentbasedonMacroblockloss.Basedonthem.theerrorpatternsprovidedbyITU-Tareusedtosimulatethewirelesschannelandthequantificationalperformanceoftheerrorconcealmentwillbegivenout.Keywords:H.264;errorcontrol;elrorconcealment;FM0摘要:针对无线应用中的传输错误和IP网络拥塞导致的视频数据包丢失。

H.2“采用了一系列的技术。

介绍了H.264所使用的差错控制和错误隐藏技术.重点讨论了基于灵活宏块重排(FlexibleMacroblockOrdering,FMO)的差错控制技术。

及基于整帧丢失的帧拷贝(FrameCopy)和运动矢量拷贝(MotionCopy)错误隐藏技术和基于宏决丢失的帧内隐藏和帧间隐藏技术。

在此基础上,利用ITUl的误码模型(ErrorPattern)对H.264的差错隐藏的性能进行了仿真。

并对错误隐藏的效果进行了定量分析。

关键词:H.264:差错控制;错误隐藏:FM0文章编号:1002—8331(2007)16—0053—05文献标识码:A中图分类号:1.N919.81l引言H.264是由运动图像专家组MPEG和17IU下属的视频编码专家组VCEG联合制定的最新低比特率视频压缩编码标准。

它与以往的标准MPEG2、H.26L、H.263等相比。

引进了许多先进技术,如帧内预测,多参考帧运动估计,7种不同形状的宏块与子宏块的运动补偿模式,1/4像素和1/8像素精度预测,4x4整数变换等技术,使得编码效率加快.在保证图像质量的情况下大大增加了视频压缩率【1.21。

同时,压缩效率的提高也意味着视频码流对传输错误非常敏感,很少的比特错误就可能会使图像质量急剧降低;而在某些实际应用中传输错误又是不可避免的,甚至还比较高,比如无线通信环境或高负荷下的IP网络。

为了控制和减少传输错误对图像质量的影响.H.264采用了不少创新的技术。

文章将首先介绍H.264的差错控制技术和错误隐藏技术.然后利用删一T的无线传输错误模型来在定量分析这些技术的实际效果。

2H.264的差错控制2.1典型的差错控制方法H.264通过一系列差错控制技术来增强视频在易丢包,易发生错误的信道(如无线信道和IP信道)中传输的抗误码性。

这些技术可以分为三类lSl:第一类是H.264在旧的标准中沿用的比较成熟并有效的技术。

如图像分割、参考图像选择等。

图像分割是指根据图像内容将图像分割成互不交涉的不同大小的区域。

如片(slice)、块(block)、组(group)等。

参考图像选择是指H.264可以灵活地从先前已编码的帧中选择较早完好的帧来做参考。

这样可以限制错误的扩散。

这类技术已经比较成熟,在此不赘述。

第二类是在H.264中得到改进的技术,如帧内编码、数据分割等。

帧内编码技术可以分为帧内预测、帧内编码片和立即刷新(InstantaneousDeeoderRefresh。

IDR)片。

帧内预测是指H.264允许帧内宏块预测。

并可以用这些被预测的帧内宏块来预测其他帧内宏块。

帧内编码片是仅包含帧内编码宏块的片。

而IDR片是用来刷新参考帧的。

IDR帧出现后.所有的参考图像都标示为“不用作参考”.于是解码端的帧间预测不参考该IDR帧之前的任何图像,这样使图像具有更强的重同步特性。

数据分割是指在编码端把片中语义相近或者紧密联系的码元组合到一个独立的数据分块中.并根据信息的重要程度.对不同的数据分块采用不同的保护措施。

H.264中有3种不同类型的数据分块:头信息、帧内数据分块和帧间数据分块。

头信息包含该作者简介:万里晴(1983一),女,硕士研究生,主要研究方向为视频编码;李学明(1969-),男,教授,博士生导师。

主要研究方向为视频编码,图像处理。

移动多媒体应用。

 万方数据542007,43(16)ComputerEngineeringandApplications计算机工程与应用宏块的类型、量化参数、运动矢量等.属于最重要的信息。

要用最大程度的保护措施,H.264中称这类块为A类。

帧内数据分块包含帧内CBPs和帧内系数,可以有效地阻止误码扩散,属于B类。

帧间数据分块包含帧间CBPs和帧间系数,重要程度最低.称为C类。

如此以来可以确保重要的信息更不容易丢失。

增强抗误码能力两。

第三类是H.264全新的差错控制技术,如参数集、冗余片,以及将着重介绍的灵活的宏块重排FMO技术。

参数集技术是用序列参数集和图像参数集传递所有图像序列和属于某一图像片的相关信息。

在保证参数集可靠及时的到达解码端的情况下,可以大大增强抗误码能力。

冗余片技术是用同一片的一个或多个冗余的片来克服误码造成的错误片对预测后续图像的影响。

一般来说,冗余片可以用不同的量化参数卯来编码,形成对同一片的不同质量的表示。

例如,主冗余片可以用小卵量化,次冗余片用大pP量化。

这样在该片丢失的情况下,在解码端用这些冗余片进行图像的重构嘲。

2.2基于FMO的差错控制FMO的基本思想是:将同一帧内的宏块划分到不同的片组(slicegroup)里。

这样当一个slicegroup里的某一个或几个宏块发生错误时。

可以从其他正确接收的slicegroup里获取该与丢失宏块相邻的宏块信息来进行有效的错误掩盖m81。

这样的话。

一些相邻的宏块可能分布在不同的slice里面。

于是可以更好地恢复错误图像,同时也可以避免错误的扩散。

H.264定义了7种划分方式以应对不同特性的视频文件。

分别是:交织(Interleaved)、分散(Dispersed)、左上区域前景(Fore—groundwithleft—over)、环形扫描(Box—out)、光栅扫描(Raster-scan)、擦式扫描(Wipe)年II显式控制(Explicit)。

为减少复杂度。

H.264最多允许把一帧划分成8个slicegroup。

在一个group里,每个宏块都有一个扫描序号。

以qcif格式176x144举例。

由于每个宏块的大小是16x16。

因此一帧可以被分成1lx9个宏块。

按从上到下,从左到右的顺序排列宏块序号0—98【q。

下面以两个slicegroup(slicegroup0和slicegroupl)为例。

说明这7种FMO模式的实现过程,其中白色的块表示slicegroupo的宏块,灰色的块表示slicegroupl的宏块。

编码时,先编slicegroup0里的所有宏块,全部编完以后才开始编slicegroup1中的宏快嗡。

(1)FMO模式0,交织(Interleaved)如图l所示.交织模式是指不同的slicegroup交替出现161。

这时需要一个配置文件设置各个slicegroup里面的宏块数唧。

H.2“标准代码JMIO.1中用ssOconf.cfg文件用来配置这个参数,如果程序中定义slicegroup的个数是2个.配置文件中写24和20。

那么,前24个宏块属于slicegroupO,接下来20个宏图1FMO交织模式和FMO分散模式块属于slicegroupl。

之后的24个宏块属于slicesrou#,以此类推.交织进行下去。

如果其中一个slicegroup丢失,另一个正确接受.则视频主观质量远远优于整帧丢失。

(2)FMO模式l,分散(Dispersed)如图1所示,slicegroupO和slicegroupl是分散出现的,这种模式可以看作是交织模式的一种扩展[61。

该分散规律是已经确定的.不需要另外的配置文件。

分散模式由于空间位置的分散性.数据压缩率有所下降【司。

(3)FMO模式2,左上区域前景(Fore-groundwithle‰ver)该模式可以区分视频图像中前景和背景的区域,将一帧图像分为一个或几个矩形块作为不同的slicegroup,也可以将相对静止的区域和运动区域分开嘲。

该模式需要设置每个矩阵slicegroup的左上和右下的宏块序号,如配置文件中奇数行定义的是矩形块左上角的宏块序号,偶数行定义的是右下角的宏块序号。

在有多个slicegroup时,标准允许不同slicegroup的区域交叠。

交叠区域的宏块属于序号较小的slicegroup。

(4)FMO模式3,环形扫描(Box-out)如图2。

该模式在编码时从中心位置的宏块开始,以顺时针(或逆时针。

可通过参数设定)方向螺旋向外进行。

中心位置的宏块属于序号较小的slicegroup,每个宏块包含的宏块数目通过参数设定问。

解码器只需要得到有关位置.方向和变化速率的信息就可以正确解码四。

图2FMO左上区域前景模式和FMO环形扫描模式(5)FMO模式4,光栅扫描(Raster-scan)如图3所示,该模式只支持两个slicegroup,可进行正方向扫描(左上角起始)或反方向扫描(右下角起始),每个slicegroup包含的宏块个数由参数设定啕。

图3FMO光栅扫描模式和FMO擦式扫描模式(6)FM0模式5,擦式扫描(Wipe)如图3。