MPEG-2是MPEG工作组于1994年发布的视频和音频压缩国际标准。MPEG-2通常用来为广播信号提供视频和音频编码,包括卫星电视、有线电视等。MPEG-2经过少量修改后,也成为DVD产品的核心技术。
MPEG-2的系统描述部分(第1部分)定义了传输流,它用来一套在非可靠介质上传输数字视频信号和音频信号的机制,主要用在广播电视领域。
MPEG-2的第二部分即视频部分和MPEG-1类似,但是它提供对隔行扫描视频显示模式的支持(隔行扫描广泛应用在广播电视领域)。MPEG-2视频并没有对低比特率(小于1Mbps)进行优化,在3Mbit/s及以上比特率情况下,MPEG-2明显优于MPEG-1。MPEG-2向后兼容,也即是说,所有符合标准的MPEG-2解码器也能够正常播放MPEG-1视频流。
MPEG-2技术也应用在了HDTV传输系统和蓝光光盘中。
MPEG-2的第三部分定义了音频压缩标准。该部分改进了MPEG-1的音频压缩,支持两通道以上的音频。MPEG-2音频压缩部分也保持了向后兼容的特点。
MPEG-2的第七部分定义了不能向后兼容的音频压缩。该部分提供了更强的音频功能。通常我们所说的MPEG-2AAC指的就是这一部分。
一个MPEG-2系统流一般包括两个基本元素:
MPEG-2图像压缩的原理是利用了图像中的两种特性:空间相关性和时间相关性。这两种相关性使得图像中存在大量的冗余信息。如果我们能将这些冗余信息去除,只保留少量非相关信息进行传输,就可以大大节省传输频带。而接收机利用这些非相关信息,按照一定的解码算法,可以在保证一定的图像质量的前提下恢复原始图像。
MPEG-2视频通常包含多个GOP(Group Of Pictures),每一个GOP包含多个帧(frame)。帧的帧类(frame type)通常包括I-帧(I-frame)、P-帧(P-frame)和B-帧(B-frame)。其中I-帧采用帧内编码,P-帧采用前向估计,B-帧采用双向估计。
I帧图像采用帧内编码方式,即只利用了单帧图像内的空间相关性,而没有利用时间相关性。I帧使用帧内压缩,不使用运动补偿,由于I帧不依赖其它帧,所以是随机存取的入点,同时是解码的基准帧。I帧主要用于接收机的初始化和信道的获取,以及节目的切换和插入,I帧图像的压缩倍数相对较低。I帧图像是周期性出现在图像序列中的,出现频率可由编码器选择。
P帧和B帧图像采用帧间编码方式,即同时利用了空间和时间上的相关性。P帧图像只采用前向时间预测,可以提高压缩效率和图像质量。P帧图像中可以包含帧内编码的部分,即P帧中的每一个宏块可以是前向预测,也可以是帧内编码。
B帧图像采用双向时间预测,可以大大提高压缩倍数。值得注意的是,由于B帧图像采用了未来帧作为参考,因此MPEG-2编码码流中图像帧的传输顺序和显示顺序是不同的。
MPEG-2的编码码流分为六个层次。为更好地表示编码数据,MPEG-2用句法规定了一个层次性结构。它分为六层,从上至下依次为:视频序列层(Sequence),图像组层(GOP: Group of Picture),图像层(Picture),像条层(Slice),宏块层(Macro Block)和像块层(Block)。可以看到,除宏块层和像块层外,上面四层中都有相应的起始码(Start Code,SC),可用于因误码或其它原因收发两端失步时,解码器重新捕捉同步。因此一次失步将至少丢失一个像条的数据。
一般来说输入视频格式是25(CCIR标准)或者29.97(FCC)帧/秒。
MPEG-2支持隔行扫描和逐行扫描。在逐行扫描模式下,编码的基本单元是帧。在隔行扫描模式下,基本编码可以是帧,也可以是场(field)。
原始输入图像首先被转换到YCbCr色彩空间。其中Y是亮度,Cb和Cr是两个色度通道。对于每一通道,首先采用块分割,然后形成“宏块”(macroblocks),宏块构成了编码的基本单元。每一个宏块再分割成8x8的小块。色度通道分割成小块的数目取决于初始参数设置。例如,在常用的4:2:0格式下,每个色度宏块只采样出一个小块,所以三个通道宏块能够分割成的小块数目是4+1+1=6个。
对于I-帧,整幅图像直接进入编码过程。对于P-帧和B-帧,首先做运动补偿。通常来说,由于相邻帧之间的相关性很强,宏块可以在前帧和后帧中对应相近的位置找到相似的区域匹配的比较好,这个偏移量作为运动向量被记录下来,运动估计重构的区域的误差被送到编码器中编码。
对于每一个8×8小块,离散余弦变换把图像从空间域转换到频域。得到的变换系数被量化并重新组织排列顺序,从而增加长零的可能性。之后做游程编码(run-length code)。最后作哈夫曼编码(Huffman Encoding)。
I帧编码是为了减少空间域冗余,P帧和B帧是为了减少时间域冗余。
GOP是由固定模式的一系列I帧、P帧、B帧组成。常用的结构由15个帧组成,具有以下形式IBBPBBPBBPBBPBB。GOP中各个帧的比例的选取和带宽、图像的质量要求有一定关系。例如因为B帧的压缩时间可能是I帧的三倍,所以对于计算能力不强的某些实时系统,可能需要减少B帧的比例。
MPEG-2输出的比特流可以是匀速或者变速的。最大比特率,例如在DVD应用上,可达10.4 Mbit/s。如果要使用固定比特率,量化尺度就需要不断的调节以产生匀速的比特流。但是,提高量化尺度可能带来可视的有损效果。比如马赛克现象。
MPEG-2的音频编码包括:
DVD中采用了MPEG-2标准并引入如下技术参数限制:
DVB-MPEG相关技术参数:
注:1080i按1920×1080像素编码,但是最后8行在显示时抛弃。