MPEG-1和MPEG-2在编码的基本技术上是类似的,都是基于块的运动补偿编码技术。
MPEG-1由多个部分组成,其中主要的部分有:第一部分系统(ISO/IEC11172-1),系统部分是关于数字视频、音频和辅助数据等多路压缩数据流复用和同步的规定;第二部分视频(ISO/IEC11172-2),视频部分是关于位速率约为1.5 Mbit/s的视频信号的压缩编码的规定;第三部分音频(ISO/IEC11172-3),音频部分是关于每通道位速率为64kbit/s、128kbit/s、192kbit/s的数字音频信号的压缩编码的规定;第四部分符合测试,ISO/IEC 11172-4;第五部分软件模拟,ISO/IEC 11172-5。
MPEG-1视频图像格式是CIF格式,如表7-13所示。
表7-13 MPEG-1视频图像格式
MPEG-1常用于压缩后输出比特率为1.5Mbit/s的应用,但是也可以用于高比特率的应用。
MPEG-2全称为“运动图像及有关声音信息的通用编码”,标准的文件编号为ISO/IEC13818。
MPEG-2由多个部分组成,其中主要部分有:第一,系统部分(ISO/IEC13818-1),是关于多路音频、视频和数据的复用和同步的规定;第二,视频部分(ISO/IEC13818-2),主要涉及各种比特率的数字视频压缩编解码的规定;第三,音频部分(ISO/IEC13818-3),扩充了MPEG-1的音频标准,使之成为多通道音频编码系统;第四,顺应测试部分;第五软件仿真部分等。
在许多情况下,MPEG-2表示成MPEG-1的一个超集,已广泛应用于DVD、SDTV和HDTV数字电视广播中。
(一)MPEG-2视频
MPEG-2标准支持不同性能和不同复杂性的解码器,应用范围广泛,充分考虑了各种应用的不同要求,有较强的通用性。
1.型和级
为了解决通用性和特定性的矛盾,MPEG-2标准规定了四种输入图像格式,称为级(Level),从有限清晰度的VCD图像质量到高清晰度的HDTV图像质量,提供了灵活的信源格式。MPEG-2还规定了不同的压缩处理方法,称为型(Profile)。按照不同的型和不同的级的组合,有20种组合方式。但是在实际应用中只有其中的11种组合可以应用。MPEG-2型和级的定义及其组合如表7-14所示。
表7-14 MPEG-2的级和型
级表示MPEG-2编码器输入端的信源图像格式。图像格式分成四个级:低级(Low Level,LL)、主级(Main Level)、高1440级(High-1440 Level)和高级(High Level)。其中的数值表示一帧画面内的水平方向的像素数×垂直方向的像素数×帧频。
LL级对应的输入图像格式是CIF格式,即352×248×30或352×288×25,相应编码的最大输出码率为4Mbit/s。ML对应于ITU-R601建议的标清图像格式,即720×480×29.97或720×576×25,在MP@ML中最高允许码率为15Mbit/s,在HP@ML中为20Mbit/s。H-1440属于准高清图像格式,在MP@H-1440L中,最高允许码率为60Mbit/s。
MPEG-2规定了不同的压缩处理方法称为“型(Profile)”,分为以下几种:
简单型(Simple Profile,SP)。简单型只采用I帧和P帧两种编码帧,SP@ML是SP型中唯一的应用点。
主型(Main Profile,MP)。主型采用了I帧、P帧和B帧三种编码帧,增加了双向预测方法(Bi-directional prediction),在相同比特率的情况下,将给出比简单型更好的图像质量,可实现效率较高的压缩。
信杂比可分级型(SNR Scalable,SNRP)。信杂比可分级型将编码的视频数据分成底层和增强层。
空间可分级型(Spatial Scalable,SSP)。空间可分级型允许多分辨率编码技术,适合于视频业务相互操作的应用。
高型(High Profile,HP)。与其他型相比,高型对亮度取样率、最大比特率和VBV缓存容量等都有了更高的要求。
4:2:2型(4:2:2Profile)。1996年MPEG-2增加了4:2:2型,主要用于演播室编辑环境,可提供较高的图像质量,较好的色度分辨率,更高的比特率。
2.视频结构
MPEG规定了视频码流的层次结构,MPEG-1和MPEG-2的视频结构是相同的,共分6层,如图7-40所示。
图7-40 MPEG视频码流的层次结构
图7-40中,视频序列(VS)又称图像序列,是随机选取节目的一个基本单元。从节目内容看,一个视频系列大约对应一个镜头,切换一个镜头即表示开始一个新的序列。图像组(Group of Pictures)简称GOP,是图像序列中连续的几个图像组成的,是对编码后的视频码流进行编辑的存取基本单元。通常1秒钟内至少有两个图像组,在60场格式中一个图像组有15帧,在50场格式中一个图像组有12帧。在编码器中常用的图像组是IBBPBBPBBPBB,即12帧中有一个I帧、三个P帧、八个B帧。图像(Picture)是一个独立的显示单元,也是图像编码的基本单元,可分为I、P、B三种编码图像,分别对应三种压缩编码模式,即帧内压缩编码(I帧编码)、前向预测编码(P帧编码)、双向预测编码(B帧编码)。I帧编码利用该帧图像本身信息进行编码,即直接进行DCT变换、量化、熵编码,压缩比不高。P帧编码根据前面最近的I帧或另一个P帧进行预测编码,可作为后面的P帧或B帧的参考帧,会传播误码,由于采用运动补偿,压缩比大于I帧。B帧编码既用过去的帧作基准又用未来的帧作基准,预测精度较高且不传播误码,压缩比最大。像条(SLICE)由一系列连续的宏块组成,是发生误码后且不可纠正时,数据重新获得同步而能正常译码的基本单元。宏块(MB)是运动预测的基本单元,运动估计以宏块为单位,得到最佳匹配宏块的运动矢量。运动矢量只对亮度数组进行,色差数组使用和亮度数组相同的运动矢量。块(BLOCK)是DCT变换的基本单元,一幅图像以亮度数据数组为基准被分为若干个8×8像素的数组,简称为块,可以是亮度信号块或色差信号块。
3.压缩编码
MPEG算法达到了很高的压缩比,但仍保持了很好的图像质量,单靠帧内编码是不可能达到的。在MPEG压缩编码中,主要通过DCT变换和运动预测技术来压缩空间冗余和时间冗余。
在MPEG-2压缩编码算法中,不仅包括了JPEG算法中的DCT、自适应量化和熵编码等一系列帧内编码方法,更重要的是利用了帧间运动补偿技术。
在帧间预测时,为什么要用双向预测呢?如果只有前向预测,那么当前编码帧中可能有许多宏块在参考帧中找不到匹配块,而在后面的帧中能找到匹配块,如图7-41所示。
图中,Previous为前一帧,Current为当前帧,Next为后一帧。方框为宏块。
双向预测示意图如图7-42所示。
图7-41 双向预测
图7-42 双向预测示意图
图中,由于B帧是双向预测帧,在后向预测时需要用它后面的P或I帧作为参考帧,所以需要将原始图像顺序重新排列后再送入编码器,称为帧重排,如图7-43所示。
图7-43 帧重排
图7-43中,I1后面的所有P帧和I帧都比其前两个B帧提前编码,为B帧后向预测提供参考。I1为输入编码器的第一帧图像,经帧内预测编码得到;P4为输入编码器的第二帧图像,以I1为参考帧,经帧间预测编码(运动估计)得到;B2为输入编码器的第三帧图像,以I1为前向参考帧,以P4为后向参考帧,经双向预测编码得到;B3为输入编码器的第四帧图像,以I1为前向参考帧,以P4为后向参考帧,经双向预测编码得到;P7由P4前向预测得到,B5B6由P4前向预测、由P7后向预测得到,P10由P7前向预测得到,B8B9由P7前向预测、由P10后向预测得到,B11B12由P10前向预测、由I13后向预测得到,……。
4.编码器
MPEG-1和MPEG-2的编码器大致相同,先进行帧重排,再按I1P4B2B3P7B5B6P10B8B9I13B11B12的顺序编码,得到IPB帧。
I帧编码过程如图7-44所示。
图7-44 I帧编码
当输入的第1帧作为I帧图像时,开关K1、K2、K4在上方,K3在左方,此时,I帧以宏块为单位顺序输入,经DCT变换器和量化器Q后,一路进入熵编码器,另一路向下经反量化器IQ和反变换器IDCT后,得到重建的I帧图像宏块数据,并存入I帧存储器中,作为后续输入图像的参考帧。
P帧编码过程如图7-45所示。
图7-45 P帧编码
当P4作为P帧输入时,开关K1、K2、K4在下方,K3在左方,此时,先将P帧宏块(MBn)送到运动估计器(ME,Motion Estimation),与存储器中I帧图像(参考帧)进行前向运动预测和估计,搜索匹配宏块,参考帧中匹配宏块相对于P帧宏块的位置就是运动矢量(MV,Motion Vector);MV分两路输出,一路直接进入熵编码器,另一路进运动补偿器(MC,Motion Compensation);将参考帧中的匹配宏块MB0与当前被编码的宏块MBn相减得到预测误差块ΔMB=MBn-MB0。ΔMB经DCT变换器和量化器Q后,一路进入熵编码器,另一路向下经反量化器IQ和反变换器IDCT后,得到重建的预测误差块,与运动补偿器来的参考帧中的匹配宏块相加,得到重建的P帧宏块数据,并存入P帧存储器中,作为后续输入图像的参考帧。
B帧编码过程如图7-46所示。
图7-46 B帧编码
当B2作为B帧输入时,开关K1在下方、K2在上方、K3在右方、K4在中间,此时,I1和P4已经储存在I帧和P帧存储器内作为参考帧,当B帧宏块输入运动估计器时可以在两个参考帧中进行双向运动预测。预测时,如果在前后参考帧中找到两个匹配块,在编码时两个匹配块要计算加权和,然后和当前帧的块进行预测编码,这时需要传送两个运动矢量MV1、MV2。预测误差块ΔMB经DCT变换器和量化器Q后,直接进入熵编码器,由于B帧不作为参考帧,因此不必存储。
5.视频基本码流结构
经过编码器编码后,6个视频层次构成的编码流称为视频基本码流(Elementary Stream,ES),如图7-47所示。
图7-47 视频基本码流结构
图中,SC为起始码,上四层都有。SC有其独特的比特模式,不许出现在数据流中,可作为同步识别用。一旦因误码或其他原因使接收码流失去同步,重新同步的过程就是从码流中寻找新的起始码。
在视频序列层中,序列头给出了图像尺寸、宽高比、帧频和比特率等数据,序列扩展码给出了型/级、逐行/隔行和色度格式(4:2:0、4:2:2、4:4:4)等信息。
在图像组层中,GOP头给出了时间码和预测特性等信息。
在图像层中,图像头给出了时间参考、图像编码类型、视频缓存校验器(VBV)延时等信息,图像扩展码给出了运动图像、图像结构(顶场、底场或帧)、量化因子类型和可变长编码(VLC)等信息。
在像条层中,像条头给出了像条垂直位置、量化因子码等信息。
在宏块层中,宏块类型码给出了宏块属性。
在块层中,给出了DCT系数。
以上数据除图像数据外,其他数据为辅助数据。
6.解码
MPEG-2解码是从编码的比特流中重建图像帧,MPEG-2解码方框图如图7-48所示。
图7-48 MPEG-2解码框图
接收到的码流经过TS流解复用和视/音频PES包解复用后输出视频基本流(ES)和运动矢量(MV)。
7.可分级编码
分级(scalability)编码可以使原本一体的码流呈现一种分级结构,使其中的部分码流可单独解码,从而可得到不同的分辨率和所需的码率。
一个N层可分级码流结构如图7-49所示。(www.xing528.com)
图7-49 N层可分级码流结构示意图
(1)SNR可分级(SNR Scalability)
SNR分级编码将视频序列分成基本层和增强层两个视频层,这两层有相同的图像分辨率但有不同的图像精度。
一个简化的SNR可分级编码原理框图如图7-50所示。
图7-50 SNR可分级的编码原理框图
(2)空间可分级(Spatial Scalability)
空间可分级编码过程如图7-51所示。
图7-51 空间可分级编解码框图
(3)时间可分级(Temporal Scalability)
在时间分级中,各层具有相同的帧尺寸和色度格式,但可以有不同的帧频。包含底层和增强层的时间可分级编码框图如图7-52所示。
图7-52 时间可分级的编解码器框图
(二)MPEG-2系统
MPEG-2系统主要规定了如何将一个或多个视频流、音频流和其他辅助数据流复合成一个码流以适应存储和传送的需要。
MPEG-2系统由视频编码器、音频编码器、数据编码器、打包器、复用器组成,视频编码器输出视频基本流(ES),音频编码器输出音频基本流(ES),打包器输出打包基本流(PES),复用器输出节目流(PS)和传输流(TS)。
1.系统复用
(1)单路节目复用器
视音频数据流的系统复用框图如图7-53所示。
图7-53 MPEG-2系统复用框图
经过视音频编码器压缩编码后的视音频码流称为基本数据流,简称基本流。为了使接收端能从总码流中分离出视音频数据,基本流需要打包后再复用传输。将连续传输的基本数据流按一定长度分段,构成具有特定结构和长度的一个个单元包,称为打包的基本码流,简称打包基本流。打包基本流需要再次复用才能存储和传输,复用器有两种不同的输出码流,一种为节目码流简称PS流,另一种为传输码流,简称TS流,两种码流有不同的抗误码能力,应用场合也不同。
(2)多路节目复用系统
如果在一个电视频道内传输多套数字电视节目,需要将多套节目的TS再次复用,多路节目的复用系统框图如图7-54所示。
图7-54 多路节目复用框图
传输复用器能将多套节目的TS流复用成一路TS流,称为多路节目复用。
2.PES流分析
ES经过打包器将连续传输的数据流按一定的长度分段,切割成一个个单元包,称为打包基本码流(Paketized Elementary Stream,PES)。PES流是编码器和解码器的直接连接形式。
PES包的结构如图7-55所示。
图7-55 PES包的结构
3.节目流PS
PS复用器将一个或几个具有公共时间基准的PES包组合成单一的码流,称为节目流(Program Stream,PS)。PS码流的数据结构如图7-56所示。
图7-56 PS流的数据结构
4.传送流TS
PES流进入传输复用器中切割成一个个固定长度为188字节的包,称为传输包。由传输包组成的数据流称为传送流(Transport Stream,TS)。TS流是各传输系统之间的连接格式,是传输设备间的基本接口。TS包的结构如图7-57所示。
图7-57 TS包句法结构图
5.码流中的时间信息
(1)节目时钟参考(Program Clock Reference,PCR)
节目时钟参考(PCR)使解码器与编码器同步,在包头中的自适应段周期性地插入PCR,MPEG要求至少每秒发送10个PCR,以便解码器能重建每个节目的27MHz时钟,如图7-58所示。
图7-58 PCR重建27MHz时钟示意图
(2)时间标记(DTS和PTS)
在视频和音频PES包的包头中定期插入解码时间标记(Decoding Time-Stamp,DTS)和显示时间标记(Present Time Stamp,PTS),使每个基本数据流都能获得有效的时间校正,把视音频基本流同步到一起形成节目流。
DTS/PTS是33比特,以系统时钟的1/300(90kHz)为单位,计算关系为:
DTS(j)={[系统时钟频率×tdn(j)]DIV300}%233
PTS(k)={[系统时钟频率×tpn(k)]DIV300}%233
式中,j、k表示PES包的序号,tdn(j)、tpn(k)表示j、k个PES包内帧的解码时间和显示时间。
6.节目专用信息(PSI)
在MPEG-2的码流中必须包含向接收机提供选择控制作用的信息,以帮助接收端正确地进行解码。为此MPEG-2系统标准中定义了节目专用信息(Program Specific Information,PSI),它是MPEG码流中的重要组成部分。
PSI信息主要由以下几种类型的表构成:节目关联表(Program Association Table,PAT)、节目映射表(Program Map Table,PMT)、条件接收表(Conditional Access Table,CAT)、网络信息表(Network Information Table,NIT)、传送流描述表(Transport Stream Description Table,TSDT)、专用段(Private_section)、描述符(Descripter)。
节目关联表(PAT):由PID为0×0000的TS包传送,为复用的每一路TS流提供所包含的节目和节目编号及对应的节目映射表(PMT)的位置,即PMT的TS包的包标识符(PID)的值,同时还提供网络信息表(NIT)的位置,即NIT的TS包的包标识符(PID)的值。
节目映射表(PMT):在传输流中用于指示组成一套节目的视频、音频和数据的位置,即对应的TS包的包标识符(PID)的值及每套节目的节目时钟参考(PCR)字段的位置。
条件接收表(CAT):由PID为0×0001的TS包传送,提供在复用流中传输的条件接收系统的有关信息,指定CA系统与它们相应的授权管理信息(EMM)之间的联系,指定EMM的PID值及相关参数。
网络信息表(NIT):提供关于多组传输流和传输网络相关的信息,如通道频率(地面、有线)、卫星发射器编号等。
传输流描述表(TSDT):提供传输流的主要参数。
使用PSI从码流中选择所需节目的过程如图7-59所示。
图7-59 PSI中节目与网络的映射关系
7.码率控制
在多路业务的复用中,复用方式大致可以分为两种:固定比特率(Constant Bit Rate,CBR)和可变比特率(Variable Bit Rate,VBR)。
(1)CBR编码复用方式
CBR编码复用方式如图7-60所示。
图7-60 CBR编码复用框图
(2)VBR编码复用方式
统计复用方法有很多,下面介绍帧平移法和基于率失真理论的联合码率控制法。
帧平移法利用IPB帧码率的差异,以第一路视频业务为基准,将后续接入的业务相对前一业务滞后一帧,这样就可以利用不同帧类型码率分布的差异减小各业务同时达到峰值的可能性。
联合码率控制框图如图7-61所示。
图7-61 联合码率控制框图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。