米葫芦网

视频编码标准的发展:从H.261到H.264

热度:11℃ 发布时间:2024-11-18 03:58:29


;
要害词:视频 ITU-T H.261 H.263 H.264

数字视频技术广泛应用于通信、计算机、广播电视等领域,带来了会议电视、可视电话及数字电视、媒体存储等一系列应用,促使了许多视频编码标准的产生。ITU-T与ISO/IEC是制定视频编码标准的两大组织,ITU-T的标准包括H.261、H.263、H.264,主要应用于实时视频通信领域,如会议电视;MPEG系列标准是由ISO/IEC制定的,主要应用于视频存储(DVD)、广播电视、因特网或无线网上的流媒体等。两个组织也共同制定了一些标准,H.262标准等同于MPEG-2的视频编码标准,而最新的H.264标准则被纳入MPEG-4的第10部分。
本文按照ITU-T视频编码标准的发展过程,介绍H.261、H.263及H.264。
H.261视频编码标准
H.261是ITU-T为在综合业务数字网(ISDN)上开展双向声像业务(可视电话、视频会议)而制定的,速率为64kb/s的整数倍。H.261只对CIF和QCIF两种图像格式进行处理,每帧图像分成图像层、宏块组(GOB)层、宏块(MB)层、块(Block)层来处理。
H.261是最早的运动图像压缩标准,它具体制定了视频编码的各个部分,包括运动补偿的帧间猜测、DCT变换、量化、熵编码,以及与固定速率的信道相适配的速率控制等部分。
H.263视频编码标准
H.263是最早用于低码率视频编码的ITU-T标准,随后出现的第二版(H.263+)及H.263++增加了许多选项,使其具有更广泛的适用性。
H.263视频压缩标准
H.263是ITU-T为低于64kb/s的窄带通信信道制定的视频编码标准。它是在H.261基础上发展起来的,其标准输入图像格式可以是S-QCIF、QCIF、CIF、4CIF或者16CIF的彩色4∶2∶0亚取样图像。H.263与H.261相比采用了半象素的运动补偿,并增加了4种有效的压缩编码模式。
无限制的运动矢量模式答应运动矢量指向图像以外的区域。当某一运动矢量所指的参考宏块位于编码图像之外时,就用其边缘的图像象素值来代替。当存在跨边界的运动时,这种模式能取得很大的编码增益,非凡是对小图像而言。另外,这种模式包括了运动矢量范围的扩展,答应使用更大的运动矢量,这对摄像机运动非凡有利。
基于句法的算术编码模式使用算术编码代替霍夫曼编码,可在信噪比和重建图像质量相同的情况下降低码率。
先进的猜测模式答应一个宏块中4个8×8亮度块各对应一个运动矢量,从而提高了猜测精度;两个色度块的运动矢量则取这4个亮度块运动矢量的平均值。补偿时,使用重叠的块运动补偿,8×8亮度块的每个象素的补偿值由3个猜测值加权平均得到。使用该模式可以产生显著的编码增益,非凡是采用重叠的块运动补偿,会减少块效应,提高主观质量。
PB-帧模式规定一个PB-帧包含作为一个单元进行编码的两帧图像。PB-帧模式可在码率增加不多的情况下,使帧率加倍。
H.263视频压缩标准版本2
ITU-T在H.263发布后又修订发布了H.263标准的版本2,非正式地命名为H.263+标准。它在保证原H.263标准核心句法和语义不变的基础上,增加了若干选项以提高压缩效率或改善某方面的功能。原H.263标准限制了其应用的图像输入格式,仅答应5种视频源格式。H.263+标准答应更大范围的图像输入格式,自定义图像的尺寸,从而拓宽了标准使用的范围,使之可以处理基于视窗的计算机图像、更高帧频的图像序列及宽屏图像。
为提高压缩效率,H.263+采用先进的帧内编码模式;增强的PB-帧模式改进了H.263的不足,增强了帧间猜测的效果;去块效应滤波器不仅提高了压缩效率,而且提供重建图像的主观质量。
为适应网络传输,H.263+增加了时间分级、信噪比和空间分级,对在噪声信道和存在大量包丢失的网络中传送视频信号很有意义;另外,片结构模式、参考帧选择模式增强了视频传输的抗误码能力。
H.263++视频压缩标准
H263++在H263+基础上增加了3个选项,主要是为了增强码流在恶劣信道上的抗误码性能,同时为了提高增强编码效率。这3个选项为:
选项U——称为增强型参考帧选择,它能够提供增强的编码效率和信道错误再生能力(非凡是在包丢失的情形下),需要设计多缓冲区用于存贮多参考帧图像。
选项V——称为数据分片,它能够提供增强型的抗误码能力(非凡是在传输过程中本地数据被破坏的情况下),通过分离视频码流中DCT的系数头和运动矢量数据,采用可逆编码方式保护运动矢量。
选项W——在H263+的码流中增加补充信息,保证增强型的反向兼容性,附加信息包括:指示采用的定点IDCT、图像信息和信息类型、任意的二进制数据、文本、重复的图像头、交替的场指示、稀疏的参考帧识别。 H.264视频编码标准
H.264是由ISO/IEC与ITU-T组成的联合视频组(JVT)制定的新一代视频压缩编码标准。事实上,H.264标准的开展可以追溯到8年前。1996年制定H.263标准后,ITU-T的视频编码专家组(VCEG)开始了两个方面的研究:一个是短期研究计划,在H.263基础上增加选项(之后产生了H.263+与H.263++);另一个是长期研究计划,制定一种新标准以支持低码率的视频通信。长期研究计划产生了H.26L标准草案,在压缩效率方面与先期的ITU-T视频压缩标准相比,具有明显的优越性。2001年,ISO的MPEG组织熟悉到H.26L潜在的优势,随后ISO与ITU开始组建包括来自ISO/IEC MPEG与ITU-T VCEG的联合视频组(JVT),JVT的主要任务就是将H.26L草案发展为一个国际性标准。于是,在ISO/IEC中该标准命名为AVC(Advanced Video Coding),作为MPEG-4标准的第10个选项;在ITU-T中正式命名为H.264标准。H.264的主要优点如下:


在相同的重建图像质量下,H.264比H.263+和MPEG-4(SP)减小50%码率。
对信道时延的适应性较强,既可工作于低时延模式以满足实时业务,如会议电视等;又可工作于无时延限制的场合,如视频存储等。
提高网络适应性,采用“网络友好”的结构和语法,加强对误码和丢包的处理,提高解码器的差错恢复能力。
在编/解码器中采用复杂度可分级设计,在图像质量和编码处理之间可分级,以适应不同复杂度的应用。
相对于先期的视频压缩标准,H.264引入了很多先进的技术,包括4×4整数变换、空域内的帧内猜测、1/4象素精度的运动估计、多参考帧与多种大小块的帧间猜测技术等。新技术带来了较高的压缩比,同时大大提高了算法的复杂度。
4×4整数变换
以前的标准,如H.263或MPEG-4,都是采用8x8的DCT变换。H.26L中建议的整数变换实际上接近于4×4的DCT变换,整数的引入降低了算法的复杂度,也避免了反变换的失配问题,4×4的块可以减小块效应。而H.264的4×4整数变换进一步降低了算法的复杂度,相比H.26L中建议的整数变换,对于9b输入残差数据,由以前的32b降为现在的16b运算,而且整个变换无乘法,只需加法和一些移位运算。新的变换对编码的性能几乎没有影响,而且实际编码略好一些。
基于空域的帧内猜测技术
视频编码是通过去除图像的空间与时间相关性来达到压缩的目的。空间相关性通过有效的变换来去除,如DCT变换、H.264的整数变换;时间相关性则通过帧间猜测来去除。这里所说的变换去除空间相关性,仅仅局限在所变换的块内,如8×8或者4×4,并没有块与块之间的处理。H.263+与MPEG-4引入了帧内猜测技术,在变换域中根据相临块对当前块的某些系数做猜测。H.264则是在空域中,利用当前块的相临象素直接对每个系数做猜测,更有效地去除相临块之间的相关性,极大地提高了帧内编码的效率。
H.264基本部分的帧内猜测包括9种4×4亮度块的猜测、4种16×16亮度块的猜测和4种色度块的猜测。
运动估计
H.264的运动估计具有3个新的特点:1/4象素精度的运动估计;7种大小不同的块进行匹配;前向与后向多参考帧。
H.264在帧间编码中,一个宏块(16×16)可以被分为16×8、8×16、8×8的块,而8×8的块被称为子宏块,又可以分为8×4、4×8、4×4的块。总体而言,共有7种大小不同的块做运动估计,以找出最匹配的类型。与以往标准的P帧、B帧不同,H.264采用了前向与后向多个参考帧的猜测。半象素精度的运动估计比整象素运动估计有效地提高了压缩比,而1/4象素精度的运动估计可带来更好的压缩效果。
编码器中运用多种大小不同的块进行运动估计,可节省15%以上的比特率(相对于16×16的块)。运用1/4象素精度的运动估计,可以节省20%的码率(相对于整象素猜测)。多参考帧猜测方面,假设为5个参考帧猜测,相对于一个参考帧,可降低5%~10%的码率。以上百分比都是统计数据,不同视频因其细节特征与运动情况而有所差异。
熵编码
H.264标准采用的熵编码有两种:一种是基于内容的自适应变长编码(CAVLC)与统一的变长编码(UVLC)结合;另一种是基于内容的自适应二进制算术编码(CABAC)。CAVLC与CABAC根据相临块的情况进行当前块的编码,以达到更好的编码效率。CABAC比CAVLC压缩效率高,但要复杂一些。
去块效应滤波器
H.264标准引入了去块效应滤波器,对块的边界进行滤波,滤波强度与块的编码模式、运动矢量及块的系数有关。去块效应滤波器在提高压缩效率的同时,改善了图像的主观效果。
其他视频编码标准
除上述ITU-T的视频压缩标准外,还有一些标准也比较流行,如MPEG-4、AVS、WM9。
H.264也称为MPEG-4 AVC,而目前业内所说的MPEG-4一般是指SP(简级)或ASP(先进的简级),主要针对低码率应用,如因特网上的流媒体、无线网的视频传输及视频存储等,其核心类似于H.263。
MPEG-4 SP和H.263有很多相似的地方,如附表所示。然而,这两个标准之间也有显著的不同,主要表现在:码流结构和头信息、熵编码的部分码表、编码技术的一些细节。MPEG-4 ASP较SP增加了一些技术,主要有:1/4象素精度的运动估计、B帧、全局运动矢量(GMV),因而压缩效率得以提高。


AVS是由我国自主制定的音/视频编码技术标准,主要面向高清楚度电视、高密度光存储媒体等应用。AVS标准以当前国际上最先进的MPEG-4 AVC/H.264框架为基础,强调自主知识产权,同时充分考虑了实现的复杂度。相对于H.264,AVS的主要特点有:(1)8×8的整数变换与64级量化;(2)亮度和色度帧内猜测都是以8×8块为单位,亮度块采用5种猜测模式,色度块采用4种猜测模式;(3)采用16×16、16×8、8×16和8×8 4种块模式进行运动补偿;(4)在1/4象素运动估计方面,采用不同的四抽头滤波器进行半象素插值和1/4象素插值;(5)P帧可以利用最多2帧的前向参考帧,而B帧采用前后各一个参考帧。
Window Meida 9(WM9)是微软公司开发的新一代数字媒体技术。一些测试表明,WM9的视频压缩效率比MPEG-2、MPEG-4 SP及H.263高很多,而与H.264的压缩效率相当。
结束语
目前,H.261与H.263在视频通信中广泛应用,成熟的产品已经很多。H.263与H.261相比,增加了若干选项,提供了更灵活的编码方式,压缩效率大大提高,更适应网络传输。H.264标准的推出,是视频编码标准的一次重要进步,它与现有的MPEG-2、MPEG-4 SP及H.263相比,具有明显的优越性,非凡是在编码效率上的提高,使之能用于许多新的领域。尽管H.264的算法复杂度是现有编码压缩标准的4倍以上,随着集成电路技术的快速发展,H.264的应用将成为现实。(本文作者郭晓强先生,北京邮电大学博士生;门爱东先生,电信学院多媒体通信中心教授、博士生导师)


网友评论
评论
发 布

更多软件教程
  • 软件教程推荐
更多+
Greenfoot设置中文的方法

Greenfoot设置中文的方法

Greenfoot是一款简单易用的Java开发环境,该软件界面清爽简约,既可以作为一个开发框使用,也能够作为集成开发环境使用,操作起来十分简单。这款软件支持多种语言,但是默认的语言是英文,因此将该软件下载到电脑上的时候,会发现软件的界面语言是英文版本的,这对于英语基础较差的朋友来说,使用这款软件就会...

07-05

Egret UI Editor修改快捷键的方法

Egret UI Editor修改快捷键的方法

Egret UI Editor是一款开源的2D游戏开发代码编辑软件,其主要功能是针对Egret项目中的Exml皮肤文件进行可视化编辑,功能十分强大。我们在使用这款软件的过程中,可以将一些常用操作设置快捷键,这样就可以简化编程,从而提高代码编辑的工作效率。但是这款软件在日常生活中使用得不多,并且专业性...

07-05

KittenCode新建项目的方法

KittenCode新建项目的方法

KittenCode是一款十分专业的编程软件,该软件给用户提供了可视化的操作界面,支持Python语言的编程开发以及第三方库管理,并且提供了很多实用的工具,功能十分强大。我们在使用这款软件进行编程开发的过程中,最基本、最常做的操作就是新建项目,因此我们很有必要掌握新建项目的方法。但是这款软件的专业性...

07-05

Thonny设置中文的方法

Thonny设置中文的方法

Thonny是一款十分专业的Python编辑软件,该软件界面清爽简单,给用户提供了丰富的编程工具,具备代码补全、语法错误显示等功能,非常的适合新手使用。该软件还支持多种语言,所以在下载这款软件的时候,有时候下载到电脑中的软件是英文版本的,这对于英语基础较差的小伙伴来说,使用这款软件就会变得十分困难,...

07-05

最新软件下载