MPEG-2介绍

转载自:http://hi.baidu.com/icecool0825/item/cac95a1261cf10a4ffded5f0

MPEG是活动图像专家组(Moving Picture Experts Group)的缩写,于1988年成立。目前MPEG已颁布了三个活动图像及声音编码的正式国际标准,分别称为MPEG-1、MPEG-2和MPEG-4,而MPEG-7和MPEG-21都在研究中。
简介

技术介绍

  MPEG-2制定于1994年,设计目标是高级工业标准的图象质量以及更高的传输率。MPEG-2所能提供的传输率在3-10Mbits/sec间,其在NTSC制式下的可达720X486,MPEG-2也可提供并能够提供广播级的视像和CD级的。MPEG-2的可提供左右中及两个环绕,以及一个加重低音声道,和多达7个伴音声道(DVD可有8种语言配音的原因)。由于MPEG-2在设计时的巧妙处理,使得大多数MPEG-2也可播放MPEG-1的数据,如VCD。


MPEG-2介绍_第1张图片

  同时,由于MPEG-2的出色性能表现,已能适用于HDTV,使得原打算为HDTV设计的,还没出世就被抛弃了。(MPEG-3要求传输速率在20Mbits/sec-40Mbits/sec间,但这将使画面有轻度扭曲)。除了作为DVD的指定标准外,MPEG-2还可用于为广播,有线电视网,网络以及(DirectBroadcastSatellite)提供广播级的。

特点

  MPEG-2的另一特点是,其可提供一个较广的范围改变压缩比,以适应不同画面质量,存储容量,以及带宽的要求。

  对于来说,由于现存电视机分辨率限制,MPEG-2所带来的高清晰度画面质量(如DVD画面)在电视上效果并不明显,倒是其特性(如加重低音,多伴音声道等)更引人注目。

  MPEG-2的编码被分为三类,分别称为I帧,P帧和B帧。

  I帧图像采用帧内,即只利用了单帧图像内的空间相关性,而没有利用时间相关性。P帧和B帧图像采用帧间编码方式,即同时利用了时间上的相关性。P帧图像只采用前向时间预测,可以提高压缩效率和图像质量。P帧图像中可以包含帧内编码的部分,即P帧中的每一个宏块可以是前向预测,也可以是帧内编码。B帧图像采用双向时间预测,可以大大提高压缩倍数。

层次

  MPEG-2的编码码流分为六个层次。为更好地表示编码数据,MPEG-2用句法规定了一个层次性结构。它分为六层,自上到下分别是:图像序列层、图像组(GOP)、图像、宏块条、宏块、块。
标准基本介绍

  MPEG-2标准目前分为9个部分,统称为ISO/IEC13818国际标准。各部分的内容描述如下:

  一部分-ISO/IEC13818-1,System:系统,描述多个,音频和数据基本码流合成传输码流和节目码流的方式。

  二部分-ISO/IEC13818-2,Video:视频,描述方法。

  三部分-ISO/IEC13818-3,Audio:音频,描述与MPEG-1音频标准反向兼容的音频编码方法。

  四部分-ISO/IEC13818-4,Compliance:符合测试,描述测试一个编码码流是否符合MPEG-2码流的方法。

  五部分-ISO/IEC13818-5,Software:,描述了MPEG-2标准的第一、二、三部分的软件实现方法。

  六部分-ISO/IEC13818-6,DSM-CC:数字存储媒体-命令与控制,描述交互式多媒体网络中与用户间的会话集。

  上六个部分均已获得通过,成为正式的国际标准,并在等领域中得到了广泛的实际应用。此外,MPEG-2标准还有三个部分:第七部分规定不与MPEG-1音频反向兼容的多通道音频编码;第八部分现已停止;第九部分规定了传送码流的实时。

  1990年成立的ATM视频编码专家组与MPEG在ISO/IEC13818标准的第一和第二两个部分进行了合作,因此上述两个部分也成为ITU-T的

  标准,分别为:ITU-TRec.H.220系统和ITU-TRec.视频。

具体解释

  下面我们主要讨论一下MPEG视频编码系统,即ISO/IEC13818-2部分。MPEG-2视频编码 

  MPEG-2是一个分等级的系列,按编码图像的分辨率分成四个“级(Levels)”;按所使用的的集合分成五个“类(Profiles)”。“级”与“类”的若干构成MPEG-2视频编码标准在某种特定应用下的子集:对某一输入格式的图像,采用特定集合的压缩编码工具,产生规定范围内的编码码流。在20种可能的组合中,目前有11种是已获通过的,称为MPEG-2适用点。

  - 我们知道,当前模拟电视存在着PAL、NTSC和SECAM三大制式并存的问题,因此,数字电视的输入格式标准试图将这三种制式统一起来,形成一种统一的数字演播室标准,这个标准就是CCIR601,现称ITU-RRec BT601标准。MPEG-2中的四个输入“级”都是基于这个标准的。低级(LowLevel)的输入格式的是ITU-RRec BT601格式的1/4,即352x240x30(代表图像帧频为每秒30帧,每帧图像的有效扫描行数为240行,每行的有效像素为352个),或352x288x25。低级之上的主级(MainLevel)的输入图像格式完全符合ITU-RRec BT601格式,即720x480x30或720x576x25。主级之上为HDTV范围,基本上为ITU-RRec BT601格式的4倍,其中1440高级(High-1440Level)的图像宽高比为4:3,格式为1440x1080x30,高级(HighLevel)的图像宽高比为16:9,格式为1920x1080x30。

  在MPEG-2的五个“类”中,较高的“类”意味着采用较多的编码工具集,对编码图像进行更精细的处理,在相同下将得到较好的图像质量,当然实现的代价也较大。较高类编码除使用较低类的编码工具外,还使用了一些较低类没有使用的附加工具,因此,较高类的解码器除能解码用本类方法编码的图像外,也能解码用较低类方法编码的图像,即MPEG-2的“类”之间具有后向兼容性。简单类(SimpleProfile)使用最少的编码工具。主类(MainProfile)除使用所有简单类的编码工具外,还加入了一种双向预测的方法。信噪比可分级类(SNRScalableProfile)和空间可分级类(SpatiallyScalableProfile)提供了一种多级广播的方式,将图像的编码信息分为基本信息层和一个或多个次要信息层。基本信息层包含对图像解码至关重要的信息,解码器根据基本信息即可进行解码,但图像的质量较差。次要信息层中包含图像的细节。广播时对基本信息层加以较强的保护,使其具有较强的抗干扰能力。这样,在距离较近,接收条件较好的情况下,可以同时收到基本信息和次要信息,恢复出高质量的图像;而在距离较远,接收条件较差的条件下,仍能收到基本信息,恢复出图像,不至造成解码中断。高级类(HighProfile)实际上应用于比特率更高,要求更高的图像质量时,此外,前四个类在处理Y,U,V时是逐行顺序处理的,高级类中还提供同时处理色差信号的可能性。

  目前的标准数字电视采用的是MP@ML主类和主级,而HDTV采用的是MP@HL主类和高级。下面,我们以MP@ML为例来说明一下MPEG-2视频编码系统及关键技术。

原理及技术原理介绍

  概括地说,MPEG-2的原理是利用了图像中的两种特性:空间相关性和时间相关性。一帧图像内的任何一个场景都是由若干像素点构成的,因此一个像素通常与它周围的某些像素在亮度和色度上存在一定的关系,这种关系叫作空间相关性;一个节目中的一个情节常常由若干帧连续图像组成的图像序列构成,一个图像序列中前后帧图像间也存在一定的关系,这种关系叫作时间相关性。这两种相关性使得图像中存在大量的。如果我们能将这些冗余信息去除,只保留少量非相关信息进行传输,就可以大大节省传输频带。而接收机利用这些非相关信息,按照一定的解码算法,可以在保证一定的图像质量的前提下恢复原始图像。一个好的压缩编码方案就是能够最大限度地去除图像中的冗余信息。

图像分类

  MPEG-2中编码图像被分为三类,分别称为I帧,P帧和B帧。

  ----I帧图像采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性。I帧主要用于接收机的初始化和的获取,以及节目的切换和插入,I帧图像的压缩倍数相对较低。I帧图像是周期性出现在图像序列中的,出现可由编码器选择。

  P帧和B帧图像采用帧间编码方式,即同时利用了空间和时间上的相关性。P帧图像只采用前向时间预测,可以提高压缩效率和图像质量。P帧图像中可以包含帧内编码的部分,即P帧中的每一个宏块可以是前向预测,也可以是帧内编码。B帧图像采用双向时间预测,可以大大提高压缩倍数。值得注意的是,由于B帧图像采用了未来帧作为参考,因此MPEG-2编码码流中的传输顺序和显示顺序是不同的。

编码码流的六个层次综述

  从上至下依次为:视频序列层(Sequence),图像组层(GOP:GroupofPicture),图像层(Picture),像条层(Slice),宏块层(MacroBlock)和像块层(Block)。从图1中可以看到,除宏块层和像块层外,上面四层中都有相应的起始码(SC:StartCode),可用于因误码或其它原因收发两端失

MPEG-2介绍_第2张图片

步时,解码器重新捕捉同步。因此一次失步将至少丢失一个像条的数据。

具体介绍

  序列指构成某路节目的图像序列,序列起始码后的序列头中包含了图像尺寸,宽高比,图像速率等信息。序列扩展中包含了一些附加数据。为保证能随时进入图像序列,序列头是重复发送的。

  序列层下是图像组层,一个图像组由相互间有预测和生成关系的一组I、P、B图像构成,但头一帧图像总是I帧。GOP头中包含了时间信息。

  图像组层下是图像层,分为I、P、B三类。PIC头中包含了的类型和时间参考信息。

  图像层下是像条层,一个像条包括一定数量的宏块,其顺序与扫描顺序一致。MP@ML中一个像条必须在同一宏块行内。

  像条层下是宏块层。MPEG-2中定义了三种宏块结构:4:2:0宏块4:2:2宏块和4:4:4宏块,分别代表构成一个宏块的亮度像块和色差像块的数量关系。

  4:2:0宏块中包含四个亮度像块,一个Cb色差像块和一个Cr色差像块;4:2:2宏块中包含四个亮度像块,二个Cb色差像块和二个Cr色差像块;4:4:4宏块中包含四个亮度像块,四个Cb色差像块和四个Cr色差像块。这三种宏块结构实际上对应于三种亮度和色度的抽样方式。

编码方法

  在进行视频编码前,分量R、G、B被变换为亮度信号Y和色差信号Cb、Cr的形式。4:2:2格式中亮度信号的抽样频率为13.5MHz,两个色差信号的抽样频率均为6.75MHz,这样空间的抽样结构中亮度信号为每帧720x576样值,Cb,Cr都为360x576样值,即每行中每隔一个像素对色差信号抽一次样,如图3所示,○代表Y信号的抽样点,×代表Cb,Cr信号的抽样点。

  4:4:4格式中,亮度和色差信号的抽样频率都是13.5MHz,因此空间的抽样结构中亮度和色差信号都为每帧720x576样值。而4:2:0格式中,亮度信号的抽样频率13.5MHz,空间的抽样结构中亮度信号为每帧720x576样值,Cb,Cr都为360x288样值,即每隔一行对两个色差信号抽一次样,每抽样行中每隔一个像素对两个色差信号抽一次样。

  通过上述分析不难计算出,4:2:0格式中,每四个Y信号的像块空间内的Cb,Cr样值分别构成一个Cb,Cr像块;4:2:2格式中,每四个Y信号的像块空间内的Cb,Cr样值分别构成两个Cb,Cr像块;而4:4:4格式中,每四个Y信号的像块空间内的Cb,Cr样值分别构成四个Cb,Cr像块。相应的宏块结构正是以此基础构成的。

  宏块层之下是像块层,像块是MPEG-2码流的最底层,是DCT变换的。MP@ML中一个像块由8x8个抽样值构成,同一像块内的抽样值必须全部是Y信号样值,或全部是Cb信号样值,或全部是Cr信号样值。另外,像块也用于表示8x8个抽样值经DCT变换后所生成的8x8个DCT系数。

  在帧内编码的情况下,编码图像仅经过DCT,量化器和比特流编码器即生成编码比特流,而不经过预测环处理。DCT直接应用于原始的。

  在帧间编码的情况下,原始图像首先与帧中的预测图像进行比较,计算出运动矢量,由此运动矢量和参考帧生成原始图像的预测图像。而后,将原始图像与预测像素差值所生成的差分图像数据进行DCT变换,再经过量化器和比特流编码器生成输出的编码比特流。

  可见,帧内编码与帧间编码流程的区别在于是否经过预测环的处理。

关键技术环节余弦变换DCT

  DCT是一种空间变换,在MPEG-2中DCT以8x8的像块为单位进行,生成的是8x8的DCT系数。DCT变换的最大特点是对于一般的图像都能够将像块的能量集中于少数低频DCT系数上,即生成8x8DCT系数块中,仅左上角的少量低频系数较大,其余系数的数值很小,这样就可能只编码和传输少数系数而不严重影响图像质量。

  DCT不能直接对图像产生压缩作用,但对图像的能量具有很好的集中效果,为压缩打下了基础。

量化器

  量化是针对DCT变换系数进行的,量化过程就是以某个量化步长去除DCT系数。量化步长的大小称为,量化步长越小,量化精度就越细,包含的信息越多,但所需的传输频带越高。不同的DCT变换系数对人类视觉感应的重要性是不同的,因此编码器根据视觉感应准则,对一个8x8的DCT变换块中的64个DCT变换系数采用不同的量化精度,以保证尽可能多地包含特定的DCT信息,又使量化精度不超过需要。DCT变换系数中,低频系数对视觉感应的重要性较高,因此分配的量化精度较细;高频系数对视觉感应的重要性较低,分配的量化精度较粗,通常情况下,一个DCT变换块中的大多数高频系数量化后都会变为零。

之型扫描与游程编码

  DCT变换产生的是一8x8的二维,为进行传输,还须将其转换为一维排列方式。有两种二维到一维的转换方式,或称扫描方式:之型扫描()和交替扫描,其中之型扫描是最常用的一种。由于经量化后,大多数非零DCT系数集中于8x8二维的左上角,即低频分量区,之型扫描后,这些非零DCT系数就集中于一维排列数组的前部,后面跟着长串的量化为零的DCT系数,这些就为创造了条件。

  - 游程编码中,只有非零系数被编码。一个非零系数的编码由两部分组成:前一部分表示非零系数前的连续零系数的数量(称为游程),后一部分是那个非零系数。这样就把之型扫描的优点体现出来了,因为之型扫描在大多数情况下出现连零的机会比较多,游程编码的效率就比较高。当一维序列中的后部剩余的DCT系数都为零时,只要用一个“块结束”(EOB)来指示,就可结束这一8x8变换块的编码,产生的压缩效果是非常明显的。

熵编码

  量化仅生成了DCT系数的一种有效的离散表示,实际传输前,还须对其进行比特流编码,产生用于传输的数字比特流。简单的编码方法是采用定长码,即每个量化值以同样数目的比特表示,但这种方法的效率较低。而采用可以提高编码效率。熵编码是基于编码信号的统计特性,使得平均比特率下降。游程和非零系数既可独立的,也可联合的作熵编码。熵编码中使用较多的一种是,MPEG-2视频压缩系统中采用的就是霍夫曼编码。霍夫曼编码中,在确定了所有编码信号的概率后生产一个码表,对经常发生的大概率信号分配较少的比特表示,对不常发生的小概率信号分配较多的比特表示,使得整个码流的平均长度趋于最短。

信道缓存

  由于采用了熵编码,产生的比特流的速率是变化的,随着视频图像的统计特性变化。但大多数情况下传输系统分配的频带都是恒定的,因此在编码比特流进入信道前需设置信道。信道缓存是一缓存器,以变比特率从熵编码器向里写入数据,以传输系统标称的向外读出,送入信道。缓存器的大小,或称容量是设定好的,但编码器的瞬时输出比特率常明显高于或低于传输系统的频带,这就有可能造成缓存器的上溢出或下溢出。因此缓存器须带有控制机制,通过反馈控制压缩算法,调整编码器的比特率,使得缓存器的写入数据速率与读出数据速率趋于平衡。缓存器对压缩算法的控制是通过控制量化器的量化步长实现的,当编码器的瞬时输出速率过高,缓存器将要上溢时,就使量化步长增大以降低编码数据速率,当然也相应增大了图像的损失;当编码器的瞬时输出速率过低,缓存器将要下溢出时,就使量化步长减小以提高编码数据速率。

运动估计

  运动估计使用于帧间编码方式时,通过参考帧图像产生对被压缩图像的估计。的准确程度对帧间编码的压缩效果非常重要。如果估计作的好

MPEG-2介绍_第3张图片

,那么被压缩图像与估计图像相减后只留下很小的值用于传输。运动估计以宏块为单位进行,计算被压缩图像与参考图像的对应位置上的宏块间的位置偏移。这种位置偏移是以运动矢量来描述的,一个运动矢量代表水平和垂直两个方向上的位移。运动估计时,P帧和B帧图像所使用的参考帧图像是不同的。P帧图像使用前面最近解码的I帧或P帧作参考图像,称为前向预测;而B帧图像使用两帧图像作为预测参考,称为双向预测,其中一个参考帧在显示顺序上先于编码帧(前向预测),另一帧在显示顺序上晚于编码帧(后向预测),B帧的参考帧在任何情况下都是I帧或P帧。

运动补偿

  利用运动估计算出的运动矢量,将参考帧图像中的宏块移至水平和垂直方向上的相对应位置,即可生成对被压缩图像的预测。在绝大多数的场景中运动都是有序的。因此这种生成的预测图像与被压缩图像的差分值是很小的。数字图像质量的主观评价 

  主观评价的条件包括:评价小组结构,观察距离,测试图像,环境照度和背景色调等。评价小组由一定人数观察人员构成,其中专业人员与非专业人员各占一定比例。观察距离为显示器对角线尺寸的3-6倍。测试图像有若干具有一定图像细节和运动的图像序列构成。主观评价反映的是许多人对图像质量统计评价的平均值。

你可能感兴趣的:(算法,网络,测试,活动,存储,工具)