H.264视频编码标准分析和算法优化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

H.264编码标准的分析和算法优化
一、研究背景:
随着社会的不断进步和多媒体信息技术的发展,人们对信息的需求越来越丰富,方便、快捷、灵活地通过语音、数据、图像与视频等方式进行多媒体通信已成不可或缺的工具。

其中视觉信息给人们直观、生动的形象,因此图像与视频的传输更受到广泛的关注。

然而,视频数据具有庞大的数据量,以普通的25帧每秒,CIF格式(分辨率为352×288)的视频图像为例,一秒钟的原始视频数据速率高达3.8M字节。

不对视频信号进行压缩根本无法实时传输如此庞大的数据量,因此,视频压缩技术成为研究热点。

随着近几年来视频图像传输领域的不断扩展,以往的标准己经难于适应不同信道的传输特征及新兴的应用环境。

为此,ISO/IEC&ITU-T共同开发了最新视频编码标准H.264/AVC。

相对以前的视频编码标准,H.264集成了许多新的视频压缩技术,具有更高的压缩效率和图像质量。

在同等的图像质量条件下,H.264的数据压缩比是应用于当前DVD系统MPEG-2的2~3倍,比MPEG-4高1.5~2倍,并且具有更好的网络友好性。

但是H.264高压缩比的代价是编码器计算复杂度大幅度地提高。

因此在保持编码效率几乎不变的同时尽可能提高编码速度是H.264/AVC视频编码标准能否得到广泛应用的关键。

在上述研究背景下,本文深入探讨了H.264/AVC标准,分析了编码器主要耗时模块的工作原理,提出三种降低H.264/AVC高计算复杂度的优化算法――快速帧内预测模式选择算法、快速帧间预测模式选择算法以及快速运动估计算法。

实验结果表明:本文所提快速算法都可大幅度地降低H.264编码器的计算复杂度,并且保持基本不变的编码效率。

二、新一代视频编码标准H.264简介:
编码标准演进过程:H.261 MPEG-1 MPEG-2 H.263 MPEG-4
从视频编码标准的发展历程来看,视频编码标准都有一个不断追求的目标:在尽可能低的码率(或存储容量)下获得尽可能好的图像质量。

MPEG-2、MPEG-4、H.263等标准都取得了巨大的成功,但在应用中也发现一些问题。

H.263众多的选项往往令使用者无所适从;MPEG-2压缩效率己显略低;引人注目的MPEG-4的“基于对象的编码”由于尚有技术障碍,目前还难以普遍应用。

在此背景下,两大国际标准化组织ITU-T和ISO共同制定了新一代视频编码标准H.264。

该编码标准在混合编码的框架下引入新的编码方式,解决了目前编码标
准存在的问题,进一步贴近实际应用,其应用前景是不言而喻的。

三、H.264视频编码标准概述
JVT的工作目标是制定一个新的视频编码标准,以实现视频的高压缩比、高图像质量、良好的网络适应性等目标。

JVT的工作已于2003年3月被ITU-T采纳,新的视频编码标准称为H.264标准。

该标准也被ISO采纳,称为AVC(Advanced Video Coding)标准,是国际标准ISO14496-10(MPEG-4的第10部分),因此总称为H.264/AVC。

H.264着重于提高压缩效率和传输的可靠性,因而其应用面十分广泛。

具体来说,H.264支持三个不同档次的应用:
1、基本档次:H.264简单版本,应用面广,主要用于视频会话,如会议电视、可视电话、远程医疗、远程教学等。

2、主要档次:采用了多项提高图像质量和增加压缩比的技术措施,主要用于消费电子应用,可用于SDTV、HDTV和DVD等。

3、扩展档次:主要用于各种网络的视频流传输,如视频点播等。

H.264和以前的视频编码标准一样,也是传统的混合编码模式,其编码器框架如图2.1编码器结构所示。

但它采用“回归基本”的简洁设计,没有设定众多的选项,获得比H.263++好得多的压缩性能;采用“网络友好(Network friendly)”的结构和语法,加强了对各种信道的适应能力,有利于对误码和丢包的处理;应用目标范围较宽,可以满足不同速率、不同解析度以及不同传输(存储)场合的需求。

与以往视频编码标准不同的是,H.264充分考虑了“网络友好”特性,将编码器中面向视频信号的编码部分与面向网络的打包部分分离,形成视频编码层和网络适配层,从而方便使用不同的传输网络和协议进行传输。

1、视频编码层(Video Coding Layer, VCL)VCL中包括VCL编码器与VCL解码器,主要功能是视频数据压缩编码和解码,包括运动补偿、变换编码、熵编码等压缩单元。

2、网络适配层(Network Abstraction Layer ,NAL)NAL则用于为VCL提供一个与网络无关的统一接口,负责对视频数据进行封装打包后使其在网络中传送。

它采用统一的数据格式,包括单个字节的包头信息、多个字节的视频数据与组帧、逻辑信道信令、定时信息、序列结束信号等。

包头中包含存储标志和类型标志。

存储标志用于指示当前数据不属于被参考的帧。

类型标志用于指示图像数据的类型。

而且VCL可以根据当前的网络情况调整编码参数。

因为H.264采用了大量的新技术,所以其编码性能大大优于其他标准,具体表现如下:
1、和H.263或MPEG-4相比,在相同编码质量下,H.264最多可节省50%的比特率。

2、高质量的重建图像。

H.264在各种比特率条件下,包括低比特率时,都可以提供满意的图像质量。

3、适应不同的延时要求。

H.264可以在低延时的模式下适应通信的应用(如视频会议),可以应用在无延时的模式下(如视频图像的存储),甚至还可以在高延时的模式下工作并取得最佳的压缩效果。

4、稳健性。

H.264在设计时,针对分组交换网如Internet中的分组丢失和无线网络中比特误码都提供了相应的工具,使得H.264在这些网络中传播时具有更强的抗误码能力。

5、网络友好性。

H.264增加了NAL层,负责将编码器的输出码流适配到各种类型的网络中,从而提供了友好的网络接口。

H.264视频编码标准关键技术:
1、帧内预测编码:
为了进一步利用空间相关性,H.264引入了帧内预测以提高压缩效率。

它利用邻近块已解码重构的像素在空域中按照不同的方向对当前块进行预测。

在帧内预测过程中,只有预测块和实际块的残差才被编码传输。

因此对于变化平坦、存在大量空间冗余的视频对象,利用帧内预测可以大大减少编码所需的比特数,取得较高的编码效率[16]。

在帧间编码中,同样可结合帧内预测技术以进一步提高编码效率。

但H.264参考代码的帧内预测编码具有相当高的计算复杂度,因此本论文对帧内预测编码进行优化
2、帧间预测编码:
对于视频图像来说,前一帧图像和后一帧图像之间有很多的相同(相似)部分,存在大量的时间冗余信息。

帧间预测编码就是基于连续图像序列之间的时域相关性,利用前一帧图像和当前帧图像中的相同(相似)部分来预测当前帧,然后对预测图像与实际图像的差值进行编码,从而实现大幅度地压缩。

在H.264中,除了具有在以往标准(H.263,MPEG-4等)中的P 帧、B帧预测方法外,还增加了许多新技术,如:采用不同大小尺寸块进行预测、采用1/4甚至1/8像素精度的运动补偿算法、采用多参考帧等等。

但H.264的帧间预测编码在提高编码效率的同时也大大增加了计算复杂度,因此帧间预测编码算法优化也是本文的工作重点,相关细节将在第四、五章进行详细讨论。

3、4×4 DCT变换:H.264中的DCT变换是基于传统DCT的,但它与传统DCT之间又有着本
质的差别:1)H.264采用4×4整数变换代替以前通用的8×8浮点块DCT变换避免了
浮点操作带来的四舍五入误差。

此外,采用小的形状块(4×4)有助于降低块效应和明显的人工处理痕迹。

2)H.264采用52个梯状量化系数,量化值的设计使得量化参数QP (Quantization Parameter)值每增加1,量化步长大约增加12.5%。

同时,H.264将变换中的尺度变化计算并入量化中进行,通过巧妙的设计用移位代替了乘法运算,极大地降低了计算复杂度。

4、环内去块状效应自适应滤波器:
考虑到基于块的视频编码的解码图像在块边缘会出现失真,H.264定义了一个环内去块状效应自适应滤波器(In-loop Deblocking Filter),通过对4×4的块边界进行滤波,使之趋于缓和,从而达到去除块效应的目的。

该滤波器作用于编码器和解码器的运动补偿之后、重建帧之前,滤波强度由几个语法元素的值来控制(如预测类型、运动矢量数据、预测误差能量以及量化参数)。

该滤波器在减少块状效应的同时,还会增强图像边缘,使得图像的主观质量有显著的提高。

此外,与产生同样客观质量的没有经过滤波器作用的视频流相比,采用该滤波器通常可以降低5%~10%的比特率。

5、先进的熵编码方法:
H.264中提供了两种基于信息量可选的熵编码模式来提高编码效率:一是统一变长编码(Universal Variable Length Coding ,UVLC)[18];二是基于上下文的自适应二进制算术编码(Context-based Adaptive Binary Arithmetic Coding ,CABAC)。

CABAC是一种效率很高的编码方法,为了提高算术编码的效率,CABAC通过内容建模的过程,使基本概率模型能适应随视频帧而改变的统计特性。

内容建模提供了编码符号的条件概率估计,建立合适的内容模型。

四、帧内预测编码算法研究及改进:
通常,视频图像中,特别是变化平缓的背景区域中空间相邻像素间具有很强的相关性,存在大量的空域冗余。

H.264根据多数相邻像素具有类似性质的特点,引入了帧内预测,利用图像的空间相关性进一步提高压缩效率。

H.264帧内预测在变换编码之前进行,并且提供了多种不同的帧内预测编码模式,最大程度地减少图像的空间冗余信息。

它分别对亮度分量和色度分量进行帧内预测,共支持9种Intra_4×4和4种Intra_16×16帧内亮度预测模式,以及4种8×8帧内色度预测模式。

为了获得较高的编码质量,H.264采用拉格朗日率失真优化(Rate Distortion Optimization ,RDO)技术来选择最佳帧内预测模式,计算复杂度相当高。

减小帧内预测计算复杂度有两种途径:一是简化H.264参考代码所采纳的模式选择标准――RDO函数;二是利用一些先验方法缩小候选预测模式的范围,以减少候选模式数来提高编码速度。

提出一种快速4×4帧内模式选择算法,该方法降低计算复杂度。

提出了一种缩减候选预测模式选择范围的算法,该方法从而降低计算复杂度,其缺点是需要增加额外的比特开支。

提出一种帧内预测快速三步算法,仅选择可能性较大的帧内预测模式作为候选预测模式,从而大大降低计算复杂度,取得优于第一种的效果。

H.264帧内预测编码相关技术:
1.4×4亮度预测模式
2.16×16亮度预测模式和8×8色度预测模式
3.H.264参考代码的帧内预测模式选择算法
基于块边缘方向的快速帧内预测模式选择算法:
快速帧内预测模式选择算法描述
五、实验结果与分析
四、帧间模式选择算法分析与优化:
帧间预测编码是一种利用先前已编码帧对当前帧进行预测,并只对预测误差(残差图像)进行编码的编码方式。

由于视频序列前后两帧图像之间具有很强的时域相关性,残差图像的能量通常远小于原始帧图像的能量,因此编码残差图像所需的码率也远小于编码原始帧图像的码率,从而极大地提高了编码效率。

H.264对帧间预测模块引入了多参考帧和更高精度的运动矢量来进行更为精确的运动估计,并提供了众多预测模式和穷尽模式选择机制以在给定的码率下获得更好的编码性能。

这些模式选择和新的运动估计技术大大提高了H.264的视频编码效率但其高计算复杂度却限制了H.264在实时编码系统的应用。

为了突破这个瓶颈,本文下面两章将对H.264的模式选择和运动估计技术进行分析,并分别对其做出优化,以求在编码效率基本不变的条件下提高编码速度,从而使之能更好的满足实时编码的要求。

本章介绍模式选择算法的优化,下一章将探讨运动估计算法的优化。

H.264参考代码的帧间模式选择算法
基于局部运动特征的快速帧间模式选择算法:
1.快速模式选择:如果能够预先判断出宏块的运动特征,我们就可以根据此特征只计算那些比较有可能成为最佳模式的候选预测模式,从而大大降低计算复杂度。

进一步研究表明,在这10种模式中,相近的模式可能都适合于编码具有某种运动特征的图像区域,很难预先根据运动特征直接判断这些相近模式中哪种模式更有可能成为最佳模式。

把10种预测模式分为5个模式类。

表4.1总结了模式分类情况;接着通过判定当前宏块的运动特征选择相对应的模式类作为候选预测模式,再具体计算出每个候选模式的RD值,从中选择具有最小RD 值的模式作为最佳模式,以缩减预测模式选择范围来达到提高编码速度的目的。

对所有帧间预测模式进行分类后,关键问题就在于如何准确地判断当前宏块的运动特征。

只有准确地判断出宏块的运动特征,才能保证算法的编码效率。

2算法描述
五、实验结果与分析
为了证明本章所提算法的正确性,本文在JVT所提供的JM10.2上实现了该算法,并用各种不同类型的QCIF和CIF格式视频序列对它进行测试。

其中,所采用的实验平台为Intel Pentium M1.6G、512M内存、Microsoft XP操作系统。

对JM软件设置实验结果表明,同H.264穷尽模式选择算法相比,本章所提快速模式选择算法降低了约56.65%的计算复杂度,而PSNR仅下降0.059dB,总比特率仅增加0.20%。

图4.7和4.8给出了两个视频序列“Mobile”和“News”的RD曲线。

由图可见,本章所提出的快速模式选择算法和H.264穷尽模式选择算法具有十分接近的RD特性。

实验结果也表明了本章所提出的快速模式选择算法在三个性能指标上表现全面超过文献[37]——计算复杂度下降约28%、PSNR提高约0.029dB、总比特率下降约2.59%。

六、运动估计算法探讨:
一、连续视频序列间有很强的时间相关性,利用运动估计和运动补偿技术可以有效地消除图像的帧间冗余度,从而实现比帧内压缩方案更高的压缩比。

消除或降低时间冗余度的帧间运动估计压缩编码大致分为以下步骤:
第一步是用相邻帧估计当前帧中的运动物体的位移量,称为运动估计(Motion Estimation ,ME),也称为位移估值(Displacement Estimation, DE)、运动估值等等。

运动估计目的在于寻找运动信息即运动矢量(Motion Vector, MV)。

第二步则是计算出运动估计后得到的预测图像和原始图像的差值(估计残差),然后将这个差值传送到解码端,以便解码端能够获取准确的图像。

该过程叫做运动补偿(Motion Compensation ,MC)。

第三步是对运动估计所得运动矢量和运动补偿的估计残差进行编码。

H.264仍然沿用基于块的混合编码结构,也就是“运动估计+变换编码+熵编码”的模式。

运动估计是编码器中的关键模块,它的性能优劣对编码后的码流大小及图像质量好坏都有着至关重要的影响。

快速、高效的运动估计算法成为H.264编码器优化的关键问题,这也是本章的目标。

二、运动估计概述
在帧间预测编码中,连续视频序列多数情况下只是其中的很少一部分图像在运动,同一场景相邻的两幅视频帧之间在内容上的差异不会太大。

简单的说,后一帧的内容与前一帧的重复部分很多。

因此,只要充分利用运动估计和运动补偿技术做到最小化运动残差,编码器就可以在保持编码质量的前提下,获得最好的压缩性能。

其中的关键在于运动估计算法的性能优劣。

运动估计算法主要归为两类:一类为图样匹配算法,一类为递归算法。

第一类算法假定一个图块中的所有像素做同一运动,运动估计可以从前一帧中搜索最佳匹配得到。

后一类方法是基于递归思想。

如果连续帧中,像素数据的变化是因为物体的移位引起的,这类算法就会在梯度方向做迭代运算,使连续的运算最后收敛于一个运动矢量。

基于这两种算法类型,各种实用的方法纷纷出现,其中主要有光流法、块匹配法、像素递归法、相位相关法、贝叶斯法和全局运动估计等。

1.光流法的计算量非常大,而且对噪声比较敏感,对硬件要求比较高,难以实时实现。

2.但由于其跟踪单元小,导致它可以跟踪的位移范围小,对运动剧烈的序列效果不好;而
且由于计算量大,硬件实现复杂度较高,一般较少被采用。

3.块匹配法(Block Matching Algorithm, BMA)由于算法简单有效,易于大规模集成实现,在视频编码中得到广泛应用,是目前最为常用的运动估计算法。

最新视频编码标准H.264所采用的也是基于块匹配的全搜索运动估计算法。

因此,本文研究和涉及到的运动估计算法均为基于块匹配的算法。

运动估计算法的目的就是在保持计算复杂度在可接受的范围内寻找一个运动矢量,使得运动补偿后的残差块的能量最小。

三、H.264运动估计算法分析:
同以往视频编码标准的运动估计模块相比,H.264采用了如下新的技术来提高编码效率:
1、支持多种尺寸块的预测
2、多参考帧技术
3、运算精度达到1/4像素
典型运动估计算法:一般而言,降低运动估计计算复杂度的方法可分为以下两类:
1、简化代价函数
2、改进运动估计匹配模板的形状和大小,减少搜索点数,从而减少搜索时
间,提高编码速度。

现有资料中基于简化代价函数来降低计算复杂度的快速运动估计算法比较
少,大部分文章都属于第二类。

下面就目前比较经典的几种运动估计算法进行简
单介绍。

七、基于块尺寸预选和部分像素匹配的快速运动估计算法:针对H.264的运动估计特性,本章提出了一种简单、高效的快速运动估计算法
首先,计算出当前宏块的SAD值。

如果SAD值小于所预设的阈值,则跳过小尺寸块的运动估计过程;否则搜索全部尺寸块以找出最佳运动矢量。

其次,针对H.264多参考帧的新特性,基于第一参考帧比其他参考帧更经常被选中的事实,本算法提出了一个简单的参考帧选取策略来加快运动估计过程。

此外,本算法还设计了两个新的匹配模板,仅抽取部分像素参与块匹配,从而大大减少计算量。

在充分优化整像素运动估计以后,本算法也根据方向特性有效地减少了亚像素运动估计的搜索点数,进一步降低了H.264运动估计计算复杂度。

实验结果表明,和H.264参考代码的全搜索运动估计算法相比,本章所提快速运动估计算法能够大大降低计算复杂度并且保持编码效率基本不变。

实验结果也表明本章所提算法优于经典运动估计算法UMHexagons和EPZS。

文献:
ITU Draft Recommendation H.264.ISO/IEC Draft International Standard 14496-10[S].JVT-G050rl, May 2003.
毕厚杰.新一代视频压缩标准――H.264/AVC[M].人民邮电出版社,2003,10~15.
B .Meng , O.C.Au,C.W.Wong, m. Efficient Intra-Prediction Mode Selection for 4×4 Blocks in H.264[A].IEEE International Conference on Multimedia and Expo[C],July 2003,vol.3,pp.III-521-524.
唐泽鹏,秦雷,朱秀昌,刘峰.运动估计算法分析[J].电视技术,2001,vol.12.
余兆明,查日勇,黄磊,周海骄.图像编码标准H.264技术.人民邮电出版社,112~113.
J A.Luthra, P.Topiwala. Overview of the H.264/AVC Video Coding Standard [DB/OL].2003,http://bs.hhi.de.。

相关文档
最新文档