王俊生
1引言
H.264标准是由运动图像专家组MPEG和ITU下属的视频编码专家组VCEG联合制定的新一代低比特率视频压缩编码标准。与以往的标准相比,它采用了更多的先进技术,使得在同样的码率下运用H.264标准编码可以获得更好的主客观质量。但同时,由于H.264新标准的高效率压缩编码,压缩视频流在传输过程中对信道误码也更敏感,即使单个突发性错误,也可能严重干扰接收端的正常解码,造成恢复视频质量的急剧下降。为此,H.264新标准采用了多种用于增强压缩视频流抗误码能力的编码技术,以保证恢复视频流的质量,本文对此进行归纳研究。
2H.264视频编解码标准中抗误码技术的应用同其他视频编解码标准H.263、MPEG-2和MPEG-4一样,H.264标准也是通过多种抗误码技术的联合应用来增强视频流在误码、丢包多发环境(如无线和IP信道)中传输的鲁棒性。与H.263标准相比,H.264新标准中所采用的抗误码技术可分为3类,一类是H.264直接采用的旧标准中效率高、技术成熟的抗误码技术,如图像分割、参考图像选择等技术;第二类是经过改进在H.264标准中得到更好应用的抗误码技术,如帧内编码、数据分割;第三类就是基于H.264标准的全新的视频压缩抗误码技术。在H.264中主要使用了3种新的抗误码技术:参数集、灵活的宏块排列次序(FMO)和冗余片技术。
第一类抗误码技术在很多现有文献中都有较详细的描述,这里不再介绍,本文仅对上面提及的后两类抗误码技术加以讨论。
2.1帧内编码
基于宏块、片(slice)或图像的帧内编码主要用于克服由于误码所导致的参考图像漂移对当前帧的影响,这种抗误码技术在标准H.263中就得到了很好的应用,但在H.264中,帧内编码技术又被赋予了两种新的特性。
(1)帧内预测
H.264允许帧内宏块预测,甚至可以利用经预测编码后的痔匦浴T贖.264中利用限制帧内预测编码标志(Constrained Intra Prediction Flag)来标识是否采用了帧内宏块预测,当限制帧内预测编码标志被设置时,表明不采用这种方式的预测,并恢复帧内信息的重同步特性。在参考文献[3]中详细讨论的一个无线环境下的有损率失真优化编码器测试模型中,就通过设置限制帧内预测编码标志取得了较好的效果。
(2)帧内编码片和IDR片
对帧内编码,新标准H.264中还采用了两种类型的、仅包含帧内编码宏块的片:帧内编码片和IDR(Instantaneous Decoder Refresh)片。其中,IDR片仅用于构成一个完整的IDR图像,也就是IDR图像中的所有片必须是IDR片,一个IDR片只能作为IDR图像的一部分。在解码器端,当解码完一幅IDR图像后,解码器立即将所有的参考图像标识为“未用作参考”。这样,后续图像被解码时,肢不参考该IDR图像前面的任何图像。每个视频序列的第一幅图像一定是IDR图像。与仅包含帧内编码片的图像相比,IDR图像具有更强的重同步特性。需要注意的是,由于H.264采用了多参考肘码时所参考的图像早于此帧内编码图像时,则即使此帧内编码图像和所有后续图像都是无误码传输的,也无法消除误码扩散所导致的图像漂移。
2.2数据分割
数据分割是一种高效的抗误码技术。通常情况下,一个宏块中的所有码元被编码组织在单个的比特串中用于构成片。而数据分割则为每个片生成多个比特串,即多个数据分块,并将片中彼此之间语义相近并有紧密联系的码元组织在一个独立的数据分块中。针对信息的重要程度,对不同的数据分块采用不等的保护措施,保证了恢复视频的质量。
在H.264中,共使用了3种不同类型的数据分块:头信息、帧内数据分块与?
(1)头信息
头信息中包含了本宏块的类型、量化参数和运动矢量。这个数据分块是最重要的,如果它丢失,即使别的数据分块被正确接收到也将不可用,因此在分割重组后,头信息被赋予了最大程度的保护。此数据分块类型在H.264中称为A类分块。
(2)帧内数据分块
帧内数据分块也称为B类分块,它承载帧内CBPs和帧内系数。B类分块需要相应片的A类分块可用。与嘱包含肘码器间的同步,相应地,值谋;ちΧ纫沧钋帷A硗猓挥械盇类分块可用时C类分块才可用,但并不需B类分块可用。
当使用数据分割时,信源编码器将不同类型的码元放入3个不同的比特缓存器中,以生成3种类型的数据分块。同时,调整片的大小,以保证打包最大的数据分块时所生成的包小于MTU(maximum transfer unit)的允许值。也正是出于这个原因,在H.264中是由信源编码器来执行数据分割而不是NAL。
在解码器中,所有的数据分块都应能有效地用于图像重构。特别地,如果仅仅是帧内或嘱仅是内容信息丢失而已,可以利用先前解码帧很好地进行掩盖。
2.3参数集
参数集通常应用在所有的H.264比特流中,它所包含的信息极其重要,它的受损将影响到大量的VCL和NAL单元,被影响的单元即使能正确接收到也不能被正确解码,在H.264新标准中共使用了两种类型的参数集。
(1)序列参数集,包括与图像序列(定义为两个IDR图像间的所有图像)有关的所有信息,应用于已编码视频序列。
(2)图像参数集,包含所有属于该图像的片的相关信息,用于解码已编码视频序列中的1个或多个独立的图像。
多个不同序列和图像的参数集被解码器正确接收后,存储于不同的已编号位置,通过参考每个已编码片片头的存储位置,编码器选择使用恰当的图像参数集,图像参数集中包含1个要使用和参考的序列参数集。
参数集的灵活使用大大增强了编解码器的抗误码能力。在有误码倾向环境下,使用参数集的关键是,在相应的VCL与NAL单元到达解码器时,确保参数集已可靠及时地到达解码器。最常用的手段就是重复发送,来提高数据可靠到达的机率。这种情况下典型的应用是参数集的传送与VCL NAL共用1个信道。另外,参数集也可以单独使用更可靠的传输机制在带外发送。
由于采用了可靠的传输机制和性能更好的信道,参数集能被及时可靠地送达解码器端,保证了相应VCL与NAL单元的正确解码。但是,这种方式需要额外的1个信道,以及可靠的传输机制,如果条件许可时,应用这种传输方式能增强编解码器的抗误码能力,但限于网络资源的现状,实际应用中更多的是采用第一种方式来传输参数集。
2.4灵活的宏块排列次序
灵活的宏块排列次序(FMO)允许以不同于图像扫描顺序的组织方式将宏块分配给各片,在这种方式中,每个宏块按照宏块配置图固定地分配给一个片,片中的宏块按照扫描顺序被编码,每个片单独传输。若某个片在传输过程中丢失,可以利用其他被正确接收、包含与丢失片中宏块相邻宏块的片来进行有效的误码掩盖。由于在解码器中各个片被独立解码,从而有效地抑制了错误的蔓延,提高了解码的容错力。假定图像足够小刚好分为两个片,此图像中的所有宏块被配置给片0或片1,其中白色的宏块属于片0,而灰色的宏块属于片1。假如在传输中,包含片1信息的包丢失,由于丢失片1中的每个宏块与另一个片0中的宏块在空间上分散相邻,片0中包含大量与片1中宏块相关的信息,利用它就可以对丢失片进行有效的误码掩盖。试验表明,在视频会议应用中,CIF大小的图像,即便丢失率达10%,使用FMO后重构视频的视觉效果也只有专家才能确认它是经过有损传输后的重构视频。使用FMO的代价是它带来的较低的编码效率(因为它破坏了图像内相邻宏块间的预测机制),并且,在高优化环境下,由于预测的难度较大,带来大的时延。FMO有多种模式,从矩形模式到规则的散布模式或完全随机的散布模式。
2.5冗余片
冗余片技术,简单地讲就是,在同一个比特流中,编码器除了将片自身中已编码的宏块放置其中外,同一宏块的1个或多个冗余的表示也同时被放置其中,通过利用宏块的1个或多个冗余表示来克服误码造成的不可用片对重构图像的影响。这种技术与基于冗余的传输如包复制有着本质的区别。在包复制冗余传输中,被复制的包和复制包一模一样,而在冗余片技术的使用中,冗余片使用不同的编码参数来编码,从而形成对同一宏块的不同表示。例如,主冗余片可以使用较小的QP来量化编码,因此具有较好的重构图像质量。次要的冗余片可以使用一个较大的QP来量化编码,因而使用较少的比特数,重构质量较粗糙。在解码器中重构图像时,如果主冗余片可用,则仅使用主冗余片而丢弃其余的冗余片。只有当主冗余片在传输的过程中丢失或由于误码等原因而不可用时,其余的冗余片才用于重构图像。这种对主次冗余片不同编码参数的运用,使得冗余片技术在花销最少比特数的情况下,最大限度地保证了重构图像的质量,尤其是在有误码倾向的移动信道或IP信道环境下,采用冗余片技术可显著提高重构图像的主客观质量。
3结束语
H.264是ITU-T和MPEG联合制定的新一代低比特率视频压缩编码标准,其中包含了丰富的抗误码技术,为压缩视频流在资源有限的不可靠网络上实时、高效的传输提供了保证。针对新标准抗误码技术的分析和研究可以更好地利用这些技术提高端到端通信的质量,对今后无线和IP视频通信产品的研制与开发有着极其重要的作用和意义。