盛月月1 闫冬2 李萍1
(1.西安武警工程学院 2.电子科技大学)
【摘要】H.264是国际上最新的视频编解码标准,其编码效率可比现有MPEG-4提高50%,是未来几年内视频编码技术研究的主要方向。本文着重描述了新标准的主要技术特征并给出了性能分析。其中概述了新标准的Baseline及Main框架下的主要算法,并将仿真结果与其它视频标准进行对比,最后为了进一步分析H.264的帧内编码技术,将其与JPEG2000的压缩结果相比较得出分析结论。
【关键词】H.264、帧内/帧间编码、profile、宏块、slice
1.前言
随着经济的发展和技术的进步,市场对高性能视频业务的需求不断膨胀,原有的视频压缩标准已经不能够满足要求,新的视频压缩技术将拥有广阔的市场空间。H.264/AVC是目前由ITU-T的视频编码专家组(VCEG)及ISO/IEC的移动图象专家组(MPEG)大力发展研究的适应于低码率传输的新一代视频压缩标准。2003年3月由两个专家组组成的联合视频专家组(JVT)公布了这一视频压缩标准的最终草案,此标准被称为ITU-T的H.264协议或ISO/IEC的MPEG4的高级视频编码部分。基于协议内容及仿真结果,本文对此协议的主要技术特征、基本算法进行了分析并给出了相关部分的性能对比。
2.H.264的主要技术特征分析
H.264的编解码框架与以前提出的标准如H.261、H.263及MPEG-1/2/4并无显著变化,也是基于混合编码的方案:以运动矢量代表图象序列各帧的运动内容,使用前面已解码帧对其进行运动估计和补偿或使用帧内预测技术,所得的图象参差值要经过变换、量化、熵编码等部分的处理。所以,新标准的性能提升在于各个部分的技术方案的改进及新算法的应用。
新标准在提高图象传输的容错性方面做了大量工作,重新定义了适于图像的结构划分。在编码时,图象帧各部分被划分到多个slice结构中去,每个slice都可以被独立解码不受其它部分的影响。Slice由图象最基本的结构——宏块组成,每个宏块包含一个16×16的亮度块和两个8×8的色度块。
为进一步提高鲁棒性,整个系统被划分为视频编码层和网络抽象层。视频编码层主要描述要传输的视频数据所承载的视频内容。而网络抽象层则是考虑不同的应用,如视频会议通信、H.32X连续包的视频传输或RTP/UDP/IP的通信。
H.264标准分成三个框架(profile):Baseline、Main及X,代表了针对不同应用的算法集及技术限定。其中,Baseline主要包含了低复杂度、低延时的技术特征;主要是针对交互式的应用;考虑到了恶劣环境下的容错性,Baseline的内容基本都被其它更高级别的profile所包含。而Main profile是针对更高编码效率的应用,如视频广播。X profile 的设计主要针对流媒体的应用,在这一框架中所有容错技术和对比特流的灵活访问及切换技术都将包括其中。 Baseline profile的主要技术特征
⑴ Baseline的解码器只对I slice及P slice进行操作。
对于帧间预测,相比以前的标准,为了更精确的对图象的运动内容进行预测补偿,新标准允许宏块更进一步划分为16×16、16×8、8×16、8×8、8×4、4×8、4×4的子块;运动估计精确到经由6-tap滤波器得到的1/4象素位置;运动矢量由相邻块预测得到,其预测的差值被编码传输。H.264支持多参考帧的预测,规定运动估计使用的参考帧数最多可达15帧,多参考帧的使用大大提高了对图像传输的容错性,抑制了错误在空间和时间上的蔓延。
对于所有的slice编码类型,H.264支持两类帧内编码:4x4与16x16编码模式。对于4x4模式,每一个亮度4x4块有8种不同方向上的预测模式及DC预测模式。对于16x16模式,每个16x16亮度块有4种帧内预测模式。而对于宏块的8x8色度采样,采用与亮度16x16几乎相同的预测模式。为了保证slice的编码独立性,帧内预测是不允许跨越slice边界的。
对于变换、量化部分。不同于以前标准对预测参差值的变换编码使用DCT变换,H.264使用了简单的整数变换。这种变换与DCT相比压缩性能几乎相同且有许多优势,其核心变换的计算只使用加减、移位运算,避免了精度的损失。对变换参差系数的量化使用了52级步长的量化器,而H.263标准只有31级。量化步长以12.5%递增,量化步长范围的扩大似的编码器能够更灵活和精确的进行控制,在比特率和图象质量之间达到折中。
对熵编码部分。对于要传输的量化变换系数,若使用基于上下文的变长编码(CAVLC),它是根据前面已编码传输的量化变换系数值的大小来选择接下来系数编码要使用的变长编码表。由于变长编码表的设计是基于相应的统计条件,所以其性能要优于使用单一变长编码表。而对其它数据如头信息等,使用一种单一的变长编码表(Exp-Golomb code)。
新标准仍然使用基于块的预测及重构方式,为了去除由此产生的影响图象主观质量的方块效应,H.264使用了去块效应滤波器。其主要思想是当块边界上两边差较小则使用滤波器使差别“平滑”掉,若边界上图象特征明显就不使用滤波。这样既为减弱“块效应”的影响又避免滤掉图象的客观特征。同时在相同主观质量下使得比特率减少5-10%。
另外,对图象数据的组织及传输。在H.264标准中的图象宏块可以灵活的宏块组织顺序(FMO)划分为多个slice group;slice之间是相互独立的可以任意的顺序传输到解码端(ASO)。而且在比特流中slice可以使用重复的方式(RS)传输,这在slice数据出错的情况下可用来进行恢复,增强了图象传输的鲁棒性。同时slice间的相互独立性抑制了错误的空间传播,因此提高了比特流的容错性。
⑵ Main profile的技术特征
Main profile包含Baseline profile的所有算法并具有额外的技术特征,但它并不支持FMO、ASO及RS等技术。只支持对I、P、B slice的处理操作。
在此框架内提出了适配块划分尺寸的变换(ABT)的概念。此概念是针对帧间编码的,其主要思想是将对预测参差进行变换编码的块尺寸与用来进行运动补偿的块尺寸联系起来。这样就尽可能的利用最大的信号长度进行变换编码。但是由于复杂度的原因,进行变换的最大块尺寸被限制在8×8以下。
对熵编码部分,为更高效的进行编码,这里使用了基于上下文的算术编码(CABAC)使熵编码的性能进一步提高。相比较CAVLC,在相同图象质量下编码电视信号使用CABAC将会使比特率减少10-15%。
另,Main profile不支持多个slice group的划分。
转载地址:http://www.voipchina.cn/technology/2004-03-24/36709.shtml