MPEG是活动
图像专家组(Moving Picture Experts Group)的缩写,于1988年成立。目前MPEG已颁布了三个活动
图像及声音
编码的正式国际标准,分别称为
MPEG-1、MPEG-2和
MPEG-4,而MPEG-7和
MPEG-21都在研究中。
简介
MPEG-2音频是在1994年11月为数字电视而提出来的,其发展分为三个阶段:
第一阶段是对MPEG-1增加了低采样频率,有16KHZ,22.05KHZ,以及24KHZ。
第二阶段是对MPEG-1实施了向后兼容的多声道扩展,将其称为MPEG-2 BC。支持单声道,双声道,多声道等编码。并附加“低频加重”扩展声道,从而达到五声道编码。
第三阶段是向后不兼容,将其称为MPEG-2 AAC先进音频编码。采样频率可以低至8KHZ;而高至96KHZ范围内的1-48个通道可选的高音质音频编码。
技术介绍
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的出色性能表现,已能适用于HDTV,使得原打算为HDTV设计的
MPEG-3,还没出世就被抛弃了。(MPEG-3要求传输
速率在20Mbits/sec-40Mbits/sec间,但这将使画面有轻度扭曲)。除了作为DVD的指定标准外,MPEG-2还可用于为广播,有线电视网,
电缆网络以及
卫星直播(DirectBroadcastSatellite)提供广播级的
数字视频。
特点
MPEG-2的另一特点是,其可提供一个较广的范围改变压缩比,以适应不同画面质量,存储容量,以及带宽的要求。
对于
最终用户来说,由于现存电视机
分辨率限制,MPEG-2所带来的高清晰度画面质量(如DVD画面)在电视上效果并不明显,倒是其
音频特性(如加重低音,多伴音
声道等)更引人注目。
MPEG-2的编码
图像被分为三类,分别称为I帧,P帧和B帧。
1、I帧
图像,或称帧内(Intra)
图像,参考图像,相当于一个固定图像,且独立于其它的图像类型。每个图像组群由此类型的图像开始。采用帧内压缩
编码技术减少空间冗余,不参照其它图像。
2、P帧
图像,或称预测(Predicted)
图像,通过参照前面靠近它的I或P图像预测得到。P图像减少了
空间和时间冗余信息,相比I图像可以有更大的压缩码率。
3、B帧
图像,或称双向预测
图像,根据临近的前几帧、本帧、后几帧的I或者P图像预测得到,仅记录本帧与前后帧的不同之处。相比I和P图像可以有更大的压缩码率。
层次
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-T H.222.0和ITU-T
H.262视频。
具体解释
下面我们主要讨论一下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),可用于因误码或其它原因收发两端失步时,解码器重新捕捉同步。因此一次失步将至少丢失一个像条的数据。
具体介绍
序列指构成某路节目的
图像序列,序列起始码后的序列头中包含了
图像尺寸,宽高比,图像
速率等信息。序列扩展中包含了一些附加数据。为保证能随时进入
图像序列,序列头是重复发送的。
序列层下是
图像组层,一个图像组由相互间有预测和生成关系的一组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的二维
数组,为进行传输,还须将其转换为一维排列方式。有两种二维到一维的转换方式,或称
扫描方式:之型扫描(
Zig-Zag)和交替扫描,其中之型扫描是最常用的一种。由于经量化后,大多数非零DCT系数集中于8x8二维
矩阵的左上角,即低频分量区,之型扫描后,这些非零DCT系数就集中于一维排列数组的前部,后面跟着长串的量化为零的DCT系数,这些就为
游程编码创造了条件。
- 游程编码中,只有非零系数被编码。一个非零系数的编码由两部分组成:前一部分表示非零系数前的连续零系数的数量(称为游程),后一部分是那个非零系数。这样就把之型扫描的优点体现出来了,因为之型扫描在大多数情况下出现连零的机会比较多,游程编码的效率就比较高。当一维序列中的后部剩余的DCT系数都为零时,只要用一个“块结束”
标志(EOB)来指示,就可结束这一8x8变换块的编码,产生的压缩效果是非常明显的。
熵编码
量化仅生成了DCT系数的一种有效的离散表示,实际传输前,还须对其进行比特流编码,产生用于传输的数字比特流。简单的编码方法是采用定长码,即每个量化值以同样数目的比特表示,但这种方法的效率较低。而采用
熵编码可以提高编码效率。熵编码是基于编码信号的统计特性,使得平均
比特率下降。游程和非零系数既可独立的,也可联合的作熵编码。熵编码中使用较多的一种是
霍夫曼编码,MPEG-2
视频压缩系统中采用的就是霍夫曼编码。霍夫曼编码中,在确定了所有编码信号的概率后生产一个码表,对经常发生的大概率信号分配较少的比特表示,对不常发生的小概率信号分配较多的比特表示,使得整个码流的平均长度趋于最短。
应用
MPEG-2标准特别适用于广播质量的数字电视的编码和传送,被用于无线数字电视、DVB(Digital Video Broadcasting,数字视频广播)、数字卫星电视、DVD(Digital Video Disk,数字化视频光盘)等技术中。
其他事项
信道缓存
由于采用了熵编码,产生的比特流的
速率是变化的,随着
视频图像的统计特性变化。但大多数情况下传输系统分配的频带都是恒定的,因此在编码比特流进入信道前需设置信道
缓存。信道缓存是一缓存器,以变
比特率从熵编码器向里写入数据,以传输系统标称的
恒定比特率向外读出,送入信道。缓存器的大小,或称
容量是设定好的,但编码器的瞬时输出
比特率常明显高于或低于传输系统的频带,这就有可能造成缓存器的上溢出或
下溢出。因此缓存器须带有控制机制,通过反馈控制压缩算法,调整编码器的
比特率,使得缓存器的写入数据
速率与读出数据速率趋于平衡。缓存器对压缩算法的控制是通过控制量化器的量化步长实现的,当编码器的瞬时输出
速率过高,缓存器将要上溢时,就使量化步长增大以降低编码数据速率,当然也相应增大了
图像的损失;当编码器的瞬时输出速率过低,缓存器将要
下溢出时,就使量化步长减小以提高编码数据速率。
运动估计
运动估计使用于帧间
编码方式时,通过
参考帧图像产生对被压缩图像的估计。
运动估计的准确程度对帧间编码的压缩效果非常重要。如果估计作的好,那么被压缩
图像与估计图像相减后只留下很小的值用于传输。运动估计以宏块为单位进行,计算被压缩
图像与参考图像的对应位置上的宏块间的位置偏移。这种位置偏移是以运动矢量来描述的,一个运动矢量代表水平和垂直两个方向上的位移。运动估计时,P帧和B帧
图像所使用的
参考帧图像是不同的。P帧
图像使用前面最近解码的I帧或P帧作参考图像,称为前向预测;而B帧图像使用两帧图像作为预测参考,称为双向预测,其中一个
参考帧在显示顺序上先于编码帧(前向预测),另一帧在显示顺序上晚于编码帧(后向预测),B帧的参考帧在任何情况下都是I帧或P帧。
运动补偿
利用运动估计算出的运动矢量,将
参考帧图像中的宏块移至水平和垂直方向上的相对应位置,即可生成对被压缩图像的预测。在绝大多数的
自然场景中运动都是有序的。因此这种
运动补偿生成的预测
图像与被压缩图像的差分值是很小的。数字
图像质量的主观评价
主观评价的条件包括:评价小组结构,观察距离,测试
图像,环境照度和背景色调等。评价小组由一定人数观察人员构成,其中专业人员与非专业人员各占一定比例。观察距离为显示器对角线尺寸的3-6倍。测试
图像有若干具有一定图像细节和运动的图像序列构成。主观评价反映的是许多人对
图像质量统计评价的平均值。
MPEG-2相关专业术语: