蓟县个人2手电脑:【什么是H.264,什么是MPEG2。】-数码摄像机论坛-ZOL中关村在线

来源:百度文库 编辑:偶看新闻 时间:2024/05/01 12:58:36
什么是H.264,什么是MPEG2。

一、H.264简介
      H.264是ITU-T的视频编码专家组(VCEG)和ISO/IEC的活动图像编码专家组(MPEG)的联合视频组(JVT:joint videoteam)开发的一个新的数字视频编码标准,它既是ITU-T的H.264,又是ISO/IEC的MPEG-4的第10部分。H.264和以前的标准一样,也是DPCM加变换编码的混合编码模式。JVT(JointVideoTeam,视频联合工作组)于2001年12月在泰国Pattaya成立。它由ITU-T和ISO两个国际标准化组织的有关视频编码的专家联合组成。JVT的工作目标是制定一个新的视频编码标准,以实现视频的高压缩比、高图像质量、良好的网络适应性等目标。目前JVT的工作已被ITU-T接纳,新的视频压缩编码标准称为H.264标准,该标准也被ISO接纳,称为 AVC(Advanced Video Coding)标准,是MPEG-4的第10部分。H.264标准可分为三档:
     基本档次(其简单版本,应用面广);
     主要档次(采用了多项提高图像质量和增加压缩比的技术措施,可用于SDTV、HDTV和DVD等);
     扩展档次(可用于各种网络的视频流传输)。
     H.264标准压缩系统由视频编码层(VCL)和网络提取层(Network Abstraction Layer,NAL)两部分组成。VCL中包括VCL编码器与VCL解码器,主要功能是视频数据压缩编码和解码,它包括运动补偿、变换编码、熵编码等压缩单元。NAL则用于为VCL提供一个与网络无关的统一接口,它负责对视频数据进行封装打包后使其在网络中传送,它采用统一的数据格式,包括单个字节的包头信息、多个字节的视频数据与组帧、逻辑信道信令、定时信息、序列结束信号等。包头中包含存储标志和类型标志。存储标志用于指示当前数据不属于被参考的帧。类型标志用于指示图像数据的类型。VCL可以传输按当前的网络情况调整的编码参数。
二、H.264的特点
      H.264和H.261、H.263一样,也是采用DCT变换编码加DPCM的差分编码,即混合编码结构。同时,H.264在混合编码的框架下引入了新的编码方式,提高了编码效率,更贴近实际应用。H.264没有繁琐的选项,而是力求简洁的“回归基本”,它具有比H.263++更好的压缩性能,又具有适应多种信道的能力。H.264的应用目标广泛,可满足各种不同速率、不同场合的视频应用,具有较好的抗误码和抗丢包的处理能力。H.264的基本系统无需使用版权,具有开放的性质,能很好地适应IP和无线网络的使用,这对目前因特网传输多媒体信息、移动网中传输宽带信息等都具有重要意义。尽管H.264编码基本结构与H.261、H.263是类似的,但它在很多环节做了改进,现列举如下。
  1、多种更好的运动估计
       一是高精度估计
       在H.263中采用了半像素估计,在H.264中则进一步采用1/4像素甚至1/8像素的运动估计。即真正的运动矢量的位移可能是以1/4甚至1/8像素为基本单位的。显然,运动矢量位移的精度越高,则帧间剩余误差越小,传输码率越低,即压缩比越高。在H.264中采用了6阶FIR滤波器的内插获得1/2像素位置的值。当1/2像素值获得后, 1/4像素值可通过线性内插获得,对于4:1:1的视频格式,亮度信号的1/4 像素精度对应于色度部分的1/8像素的运动矢量,因此需要对色度信号进行1/8像素的内插运算。理论上,如果将运动补偿的精度增加一倍(例如从整像素精度提高到1/2像素精度),可有0.5bit/Sample的编码增益,但实际验证发现在运动矢量精度超过1/8像素后,系统基本上就没有明显增益了,因此,在H.264中,只采用了1/4像素精度的运动矢量模式,而不是采用1/8像素的精度。
     二是多宏块划分模式估计
     在H.264的预测模式中,一个宏块(MB)可划分成7种不同模式的尺寸,这种多模式的灵活、细微的宏块划分,更切合图像中的实际运动物体的形状,于是,在每个宏块中可包含有1、2、4、8或16个运动矢量。
     三是多参数帧估计
   在H.264中,可采用多个参数帧的运动估计,即在编码器的缓存中存有多个刚刚编码好的参数帧,编码器从其中选择一个给出更好的编码效果的作为参数帧,并指出是一帧被用于预测,这样就可获得比只用上一个刚编码好的帧作为预测帧的更好的编码效果。
     2、更精确的帧内预测
 在H.264中,每个4?4块中的每个像素都可用17个最接近先前已编码的像素的不同加权和来进行帧内预测。
    3、统一的VLC
        H.264中关于熵编码有两种方法。
        统一的VLC(即UVLC:Universal VLC)。UVLC使用一个相同的码表进行编码,而解码器很容易识别码字的前缀,UVLC在发生比特错误时能快速获得重同步。内容自适应二进制算术编码(CABAC:Context Adaptive Binary Arithmetic Coding)。其编码性能比UVLC稍好,但复杂度较高。
三、H.264的应用 
      SONY最新推出了Sony PCS-1 机顶视频会议系统,其应用范围十分广泛,包括数字电影、数字广播、数字有线电视、宽带内容服务、家用录像设备、网络广播、网络会议、IP监看等领域均可使用这一系统。SONY本身就是一家消费类电子产品的公司,因此在电子方面的应用也非常广泛。要实现SONY的产品与其它产品的互通性,需要采用H.241网络传输,而不同提供商之间则可采用H.264实现彼此之间的互操作性,比如在容量交换、IP上载荷格式等方面均可应用H264。

 

 

 

从MPEG2技术标准出台以来,基于MPEG2技术的电视台业务解决方案和新设备不断推出,吸引了广播电视行业的众多目光。在中国,MPEG2 也越来越成为焦点,视频厂商也在热炒MPEG2技术,许多电视台正在思考自己需要使用哪些MPEG2产品。为了便于电视台选择设备,我们完全从技术的角度出发,客观地向大家介绍MPEG2技术的特点和目前的发展状况,期望对大家有所帮助。

MPEG2的起源

MPEG(Motion Pictures Experts Group),译为运动图像专家组,它是在International Standards Organization(ISO,国际标准化组织)的召集下,为数字视频和音频制定压缩标准的专家组。该组织最初在1992年制定了MPEG1的标准,应用于激光视盘的节目传播。广播电视行业从MPEG1标准的应用上看到了MPEG技术对于电视行业的意义,于是该组织又在1994年推出了MPEG2压缩标准,建立了全世界范围内视音频服务与应用进行相互操作的可能性。
有三个关键的压缩技术被MPEG压缩标准使用,这就是离散余弦变换(DCT)、运动补偿(Motion Compensation)和Huffman编码。DCT降低了图像的空间(Spatial)冗余度,运动补偿降低了图像的时间(Temporal)冗余度,而Huffman编码则降低了图像在信息(Entropy)方面的冗余度。这几种技术的综合应用,使得MPEG的压缩率较高。
MPEG2标准类似于MPEG1,但是它的适应性更强,可以适用于广播电视的所有过程和环节。从定义上来看,MPEG1实际上是MPEG2的一个子集。这在后面的MPEG2的类和级的分类表中可以看出。

MPEG2标准分为四个文件,分别是:
系统层(System,ISO13818-1),描述视、音频的数据复用方式和视、音频同步方式。
视频压缩层(Video,ISO13818-2),描述数字视频编码方式和解码过程。
音频压缩层(Audio,ISO13818-3),描述数字音频编码方式和解码过程。
一致性(Conformance,ISO13818-4),说明测试编码码流的过程,检验是否符合前三个文件的规定。

MPEG2的类(Profile)和级(Level)

MPEG2压缩算法在设计时被定义为一个通用的视音频压缩准,要求能兼顾不同的应用要求,可以对压缩的输出码率和图像质量进行控制。为此,MPEG2压缩算法分成不同的级别和类别。类定义色度空间分辨率和输出比特流控制,级则定义图像分辨率、亮度取样频率、可分级的类所能支持的视音频的层数、对应于该级的每一类的最大比特流。表1是一个MPEG标准的类和级的简单描述(有些类上的增强层没有列出)。
目前在广播界的视频应用中,一般是MP@ML(色度取样为4:2:0),和HP@ML(或称为422P@ML,表中的Studio类,色度取样为4:2:2)两种。这两种压缩方式的码率分别在5~15MB/S和15~50MB/S。

MPEG为更好地表示编码数据,用句法规定了一个层次性的结构。其结构分为六层,自上到下分别是:
图像序列层(Video Sequence)
图像组(GOP,Group of Pictures)
图像(Picture)
宏块条(Slice)
宏块(Macroblock)
块(Block)
图像序列是由图像组构成的,有表示开始的图像序列头和表示结束的图像终止码。是随机存取段落。
图像组(GOP)是为方便随机存取而加的,其结构和长度均为可变的,MPEG2对此没有硬性规定。GOP有两个参数,即长度(N)和帧重复频率(M),下面将会作解释。图像组是随机存取视频单位。
图像是独立的显示单位,也是基本编码单位。在MPEG2中,图像可以是逐行的,也可以是隔行的,这一点与MPEG1不同,MPEG1总是逐行的。
宏块条包含若干个连续的宏块,是重新同步单位。宏块条的设置目的是防止误码的扩散,当一个宏块条出现误码时,不影响后续的宏块条解码。
图像以亮度阵列被分成16X16的宏块,宏块是进行运动补偿的基本单位。一个宏块包含4个8X8的亮度块,依据类的不同,一个宏块还包含两个8X8色度块(R-Y和B-Y各一个,4:2:0取样时)或四个8X8色度块(R-Y和B-Y各两个,4:2:2取样时)。块是进行DCT运算的单位,仅包含亮度或仅包含色度。

MPEG中的三种图像类型及码流组成
我们已经提到,MPEG是基于DCT、运动补偿和Huffman编码算法的,由此,MPEG在压缩中使用了帧内压缩和帧间压缩两种方式。为了在编码中实现最大的压缩比,MPEG使用三种类型的图像,即I帧,P帧和B帧。
I帧(Intra-Frame)是帧内压缩,不使用运动补偿,提供中等的压缩比。由于I帧不依赖于其他帧,所以是随机存取的入点,同时是解码中的基准帧。
P帧(Predicated-Frame)根据前面的I帧或P帧进行预测,使用运动补偿算法进行压缩,因而压缩比要比I帧高,数据量平均达到I帧的1/3左右。P帧是对前后的B帧和后继的P帧进行解码的基准帧。P帧本身是有误差的,如果P帧的前一个基准帧也是P帧,就会造成误差传播。
B帧(Bidirectinal-Frame)是基于内插重建的帧,它基于前后的两个I、P帧或P、P帧,它使用双向预测,数据量平均可以达到I帧的1/9左右。B帧本身不作为基准,因此可以在提供更高的压缩比的情况下不传播误差。需要指出的是,尽管我们使用帧(Frame)这个词,但是MPEG2本身没有规定进行数字图像压缩时必须使用帧作为单位,对于隔行的视频图像,可以使用场(Field)作为单位。
一个GOP由一串IBP帧组成,起始为I帧。GOP的长度是一个I帧到下一个I 帧的间隔,一般用N表示,图1中的N=9。这个长度是可变的,长GOP可以提供高的压缩比,但是会造成随机存取的延迟(必须等到下一个I帧)和误差的积累(P帧的误差传播)。一般是一秒内有两个I帧,用来作为随机存取的入口。
图1 GOP中的图像序列
在MPEG2中也没有规定GOP的结构,帧重复方式可以是IP,IB,IBP,IBBP,甚至全部是I帧。基准帧的重复频率用M表示,图1中的M=3。不同的帧重复频率提供不同的输出码率,同时影响存取延迟。

MPEG2的音频

前面提到过,MPEG2的标准的第一个文件(系统部分)中,规定了如何组合视频和音频数据的复接结构,以及用来代表时间信息的方法。但是在压缩编码时,视频和音频相互独立。MPEG2标准的第三部分描述了多通道音频压缩编码方法,声道达到5.1个。本文只着重讨论MPEG2的视频应用,因此我们不过多描述音频的处理。
MPEG2带来了什么?
新的技术总是带来更大的好处,同时由于有这样那样的某些局限,每种技术总是存在一些折衷,MPEG2也不例外。我们来看看MPEG2为广播电视带来了什么。

压缩标准的比较

目前的数字图像压缩格式还是很多的,并不只有大家关注的MPEG2这一种。其他的格式还有几种,象Apple的QuickTime,Intel的Indeo,Radius的Cinepak,低速视频传输用的H261、H263等,以及DV格式和目前在中国数字视频领域应用广泛的M-JPEG。在这么多的压缩格式中,广播电视行业根据什么来选择使用不同的压缩标准?
首先,广播电视行业需要的是高质量、兼容性好的压缩算法。QuickTime、Indeo和Cinepak 都没有提供对声音的压缩,基本都是以软件压缩/解压缩为主,包括H261、H263在内,都存在帧频低、图像质量差或需专门的平台支持等问题,因此不适于在广电领域使用。相反,M-JPEG、DV和MPEG2在硬件的支持下,可以保证在支持正常的视频帧频率情况下,提供相当好的图像质量。这就决定了只能是M-JPEG、DV和MPEG2可以在电视台占一席之地。
其次,在同样的视频质量下,压缩算法的输出码率直接决定其性能的优劣,或者说,输出码率相同的条件下,图像质量的优劣反映了压缩算法的性能。由于M-JPEG和DV都是采用帧内压缩方式,它们的压缩效率当然要比MPEG2低。当然,这是一个平均情况,在低码率的时候,MPEG可以比M-JPEG的压缩比高很多而保持较好的图像质量;而在要求图像质量很好的时候(比如演播室节目编辑和后期制作),MPEG2与M-JPEG的输出码率差别不是很大。
第三,由于电视台业务的多样性,要求一个压缩标准能提供多种码率。比如说节目传播环节,在传播不同类型的节目时,所需的带宽是不同的,体育节目要比新闻节目的码率高,而新闻节目又要比电影节目高。再比如,考虑到进行过程中复制次数的不同,节目制作环节和节目传播环节所需的码率也不同,传播环节可以使用低码率。压缩算法的可变码率(VBR,Variable Bit Rate)特性对电视台有效利用资源有非常重要的作用。MPEG2可以通过改变GOP结构和DCT及Huffman编码的参数等手段来调整输出的码率,DV格式基于它的应用特点,没有提供VBR技术。M-JPEG虽没有帧间编码,但是也可以通过改变DCT及Huffman编码参数调节压缩比。
通过以上讨论,我们可以看出,MPEG2标准在压缩性能上,确实具有比其他标准优越的地方。因此,虽然在目前的电视业务中,基于M-JPEG、DV和MPEG2三种压缩标准的设备都在被使用,但大家普遍地更关心MPEG2的发展动态。

目前的实际情况是:虽然MPEG2成为电视行业的热点,但M-JPEG、DV仍然在电视业务中大量使用。这是有原因的。M-JPEG发展较早,经过多年的在非线性视频编辑上的应用,软、硬件技术成熟,成本低廉,以目前的硬件平台的价格来看,平均比MPEG2平台便宜5000$左右。DV的优势是与磁带的结合紧密。另外M-JPEG和DV都是帧内压缩方式,可以提供精确到帧的随机存取访问,不附带任何的访问延迟,这与MPEG2有相当大的不同。
现在大家在讨论MPEG2标准的好处的时候,最强调的一点是其压缩效率高。这是不可否认的事实。从表3中我们就能很清楚地看到这一点。但是有个误区必须加以澄清,就是这个事实只发生在不强调图像质量的情况下。这对电视台业务的大部分应用场合是适用的,但是存在相反的情况。一个典型的不适用的例子就是演播室节目编辑和后期制作。电视台在演播室进行节目编辑时,对图像质量要求都很高,如果采用MPEG2技术的话,必须采用低压缩比、色度采样为4:2:2的码流才能满足要求,欧洲广播联盟推荐电视台在演播室使用基于I帧的4:2:2的MPEG2压缩标准就是证明。这时的输出码率甚至会达到50Mbit/S码率上限,在这么高的码率上,MPEG2相对于另外两种标准的压缩比优势就不明显了。如果我们仔细算算账的话,在大容量存储介质频频降价的今天,在演播室节目编辑和后期制作环节上,MPEG2带来的好处不再显得那么重要。我们应该着眼的MPEG2的优势,应该是其他的一些方面,在下面我们会介绍。

前面提到基于I帧的MPEG2格式,我们顺便介绍一下。I帧的MPEG2只采用帧内压缩算法,基本和M-JPEG相同,区别是I帧的MPEG2有码率上限,因而总是有图像损伤的,而M-JPEG没有码率上限,可以达到1.6∶1的低压缩比,因此可以应付对图像质量要求非常苛刻的情况。
通过以上的讨论,我们看到M-JPEG、DV和MPEG2各有优缺点。正是由于这些特点,使得目前在电视台的设备中,三种压缩标准并存。