查看: 5311|回复: 3

MPEG-2压缩编码技术原理应用(1)

[复制链接]

该用户从未签到

发表于 2007-2-11 15:36:21 | 显示全部楼层 |阅读模式
分享到:
MPEG是运动图像专家组(Moving Picture Experts Group)的简称,其实质上的名称为国际标准化组织(ISO)和国际电工委员会(IEC)联合技术委员会(JTC)1的第29 分委员会的第11工作组,即ISO/IEC JTC1/SC29/WG11,成立于1988年。其任务是制定世界通用的视音频编码标准。因为,广播电视数字化所产生的海量数据对存储容量、传输带宽、处理能力及频谱资源利用率提出了不切合实际的要求,使数字化难以实现。为此,该专家组基于帧内图像相邻像素间及相邻行间的空间相关性和相邻帧间运动图像的时间相关性,采用压缩编码技术,将那些对人眼视觉图像和人耳听觉声音不太重要的东西及冗余成分抛弃,从而缩减了存储、传输和处理的数据量,提高了频谱资源利用率,制定了如表1所示的一系列MPEG标准,使数字化正在变为现实。其中,MPEG-2是一组用于视音频压缩编码及其数据流格式的国际标准。它定义了编解码技术及数据流的传输协议;制定了MPEG-2解码器之间的共同标准(MPEG-2编码器之间尚无共同标准)。本文以MPEG-2的系统、MPEG-2的编码、及MPEG-2的应用为题,讨论MPEG-2压缩编码技术。


一、MPEG-2的系统

1.系统的定义

    MPEG-2系统是将视频、音频及其它数据基本流组合成一个或多个适宜于存储或传输的数据流的规范,如图1所示。由图1可见,符合ITU-R. 601标准的、帧次序为I1B2B3P4B5B6P7B8B9I10数字视频数据和符合AES/EBU标准的数字音频数据分别通过图像编码和声音编码之后,生成次序为I1P4B2B3 P7B5B6I10 B8B9视频基本流(ES)和音频ES。在视频ES中还要加入一个时间基准,即加入从视频信号中取出的27MHz时钟。然后,再分别通过各自的数据包形成器,将相应的ES打包成打包基本流(PES)包,并由PES包构成PES。最后,节目复用器和传输复用器分别将视频PES和音频PES组合成相应的节目流(PS)包和传输流(TS)包,并由PS包构成PS和由TS包构成TS。显然,不允许直接传输PES,只允许传输PS和TS;PES只是PS转换为TS或TS转换为PS的中间步骤或桥梁,是MPEG数据流互换的逻辑结构,本身不能参与交换和互操作。由系统的定义,可知MPEG-2系统的任务。




2.系统的任务

    MPEG-2的标准由表2所示的8个文件组成,MPEG-2系统是其关键部分。MPEG以开放系统互联(OSI-Open System Interconnection)为目标,争取全球标准化。在详细规定视音频编码算法的基础上,为传输和交换编码数据流(比特流,码流,流)创造统一条件。以利于接收端重建为指导,按照既定的参数给数据流以一定程度的“包装”。因此,MPEG-2系统应完成的任务有:

● 规定以包方式传输数据的协议;
● 为收发两端数据流同步创造条件;
● 确定将多个数据流合并和分离(即复用和解复用)的原则;
● 提供一种进行加密数据传输的可能性。

    由系统的任务,可知完成任务,系统应具备的基础。

3.系统的要点

    根据数字通信信息量可以逐段传输的机理,将已编码数据流在时间上以一定重复周期结构分割成不能再细分的最小信息单元,这个最小信息单元就定义为数据包,几个小数据包(Data Packet)又可以打包成大数据包(Data Pack)。用数据包传输的优点是:网络中信息可占用不同的连接线路和简单暂存;通过数据包交织将多个数据流组合(复用)成一个新的数据流;便于解码器按照相应顺序对数据包进行灵活地整理。从而,数据包为数据流同步和复用奠定了基础。因此,MPEG-2系统规范不仅采用了PS、TS和PES三种数据包,而且也涉及PS和TS两种可以互相转换的数据流。显然,以数据包形式存储和传送数据流是MPEG-2系统的要点。为此,MPEG-2系统规范定义了三种数据包及两种数据流:

1) 打包基本流(PES)

    将MPEG-2压缩编码的视频基本流(ES-Elementary Stream)数据分组为包长度可变的数据包,称为打包基本流(PES- Packetized Elementary Stream)。广而言之,PES为打包了的专用视频、音频、数据、同步、识别信息数据通道。所谓ES,是指只包含1个信源编码器的数据流。即ES是编码的视频数据流,或编码的音频数据流,或其它编码数据流的统称。每个ES都由若干个存取单元(AU-Access Unit)组成,每个视频AU或音频AU都是由头部和编码数据两部分组成的。将帧顺序为I1P4B2B3P7B5B6 的编码ES,通过打包,就将ES变成仅含有1种性质ES的PES包,如仅含视频ES的PES包,仅含音频ES的PES包,仅含其它ES的PES包。PES包的组成见图2。


    由图2可见,1个PES包是由包头、ES特有信息和包数据3个部分组成。由于包头和ES特有信息二者可合成1个数据头,所以可认为1个PES包是由数据头和包数据(有效载荷)两个部分组成的。

    包头由起始码前缀、数据流识别及PES包长信息3部分构成。包起始码前缀是用23个连续“0”和1个“1”构成的,用于表示有用信息种类的数据流识别,是1个8 bit的整数。由二者合成1个专用的包起始码,可用于识别数据包所属数据流(视频,音频,或其它)的性质及序号。例如:

    比特序1 1 0 ×××××是号码为××××的MPEG-2音频数据流;
    比特序1 1 1 0 ××××是号码为××××的MPEG-2视频数据流。

    PES包长用于包长识别,表明在此字段后的字节数。如,PES包长识别为2 B ,即2×8 = 16 bit字宽,包总长为216-1=65535 B,分给数据头9 B(包头6 B + ES特有信息3 B ),可变长度的包数据最大容量为65526 B。尽管PES包最大长度可达(216 -1)=65535 B(Byte),但在通常的情况下是组成ES的若干个AU中的由头部和编码数据两部分组成的1个AU长度。1个AU相当于编码的1幅视频图像或1个音频帧,参见图2右上角从ES到PES的示意图。也可以说,每个AU实际上是编码数据流的显示单元,即相当于解码的1幅视频图像或1个音频帧的取样。

    ES特有信息是由PES包头识别标志、PES包头长信息、信息区和用于调整信息区可变包长的填充字节4部分组成的PES包控制信息。其中,PES包头识别标志由12个部分组成:PES加扰控制信息、PES优先级别指示、数据适配定位指示符、有否版权指示、原版或拷贝指示、有否显示时间标记(PTS-Presentation Time Stamp)/解码时间标记(DTS-Decode Time Stamp)标志、PES包头有否基本流时钟基准(ESCR-Elementary Stream Clock Reference)信息标志、PES包头有否基本流速率信息标志、有否数字存储媒体(DSM)特技方式信息标志、有否附加的拷贝信息标志、PES包头有否循环冗余校验(CRC-Cyclic Redundancy Check)信息标志、有否PES扩展标志。有扩展标志,表明还存在其它信息。如,在有传输误码时,通过数据包计数器,使接收端能以准确的数据恢复数据流,或借助计数器状态,识别出传输时是否有数据包丢失。

    其中,有否PTS/DTS标志,是解决视音频同步显示、防止解码器输入缓存器上溢或下溢的关键所在。因为,PTS表明显示单元出现在系统目标解码器(STD-System Target Decoder)的时间, DTS表明将存取单元全部字节从STD的ES解码缓存器移走的时刻。视频编码图像帧次序为I1P4B2B3P7B5B6I10B8B9的ES,加入PTS/DTS后,打包成一个个视频PES包。每个PES包都有一个包头,用于定义PES内的数据内容,提供定时资料。每个I、P、B帧的包头都有一个PTS和DTS,但PTS与DTS对B帧都是一样的,无须标出B帧的DTS。对I帧和P帧,显示前一定要存储于视频解码器的重新排序缓存器中,经过延迟(重新排序)后再显示,一定要分别标明PTS和DTS。例如,解码器输入的图像帧次序为I1P4B2B3P7B5B6I10B8B9,依解码器输出的帧次序,应该P4比B2、B3在先,但显示时P4一定要比B2、B3在后,即P4要在提前插入数据流中的时间标志指引下,经过缓存器重新排序,以重建编码前视频帧次序I1B2B3P4B5B6P7B8B9I10。显然,PTS/DTS标志表明对确定事件或确定信息解码的专用时标的存在,依靠专用时标解码器,可知道该确定事件或确定信息开始解码或显示的时刻。例如,PTS/DTS标志可用于确定编码、多路复用、解码、重建的时间。

2) 节目流(PS)

    将具有共同时间基准的一个或多个PES组合(复合)而成的单一的数据流称为节目流(Program Stream)。PS包的结构如图3所示。

    由图3可见,PS包由包头、系统头、PES包3部分构成。包头由PS包起始码、系统时钟基准(SCR-System Clock Reference)的基本部分、SCR的扩展部分和PS复用速率4部分组成。

    PS包起始码用于识别数据包所属数据流的性质及序号。

    SCR的基本部分是1个33 bit的数,由MPEG-1与MPEG-2兼容共用。SCR扩展部分是1个9 bit的数,由MPEG-2单独使用。SCR是为了解决压缩编码图像同步问题产生的。因为,I、B、P帧经过压缩编码后,各帧有不同的字节数;输入解码器的压缩编码图像的帧顺序I1P4B2B3P7B5B6I10B8B9 中的P4、I10帧,需要经过重新排序缓存器延迟后,才能重建编码输入图像的帧顺序I1B2B3P4B5B6P7B8B9I10;视频ES与音频ES是以前后不同的视频与音频的比例交错传送的。以上3条均不利于视音频同步。所以,为解决同步问题,提出在统一系统时钟(SSTC-Single System Time Clock)条件下,在PS包头插入时间标志SCR的方法。整个42 bit字宽的SCR,按照MPEG规定分布在宽为33 bit的1个基础字及宽为9 bit的1个扩展区中。由于MPEG-1采用了相当于33 bit字宽的90kHz的时间基准,考虑到兼容,对节目流中的SCR也只用33 bit。为了提高PAL或NTSC已编码节目再编码的精确性,MPEG-2将时间分解力由90kHz提高到27MHz光栅结构,使通过TS时标中的9 bit 扩展区后,精确性会更高。具体方法是将9 bit用作循环计数器,计数到300时,迅速向33 bit基本区转移,同时将扩展区计数器复原,以便由基本区向扩展区转移时重新计数。将42 bit作为时间标志插入PS包头的第5到第10个字节,表明SCR字段最后1个字节离开编码器的时间。在系统目标解码(STD-System Target Decoder)输入端,通过对27MHz的统一系统时钟(SSTC)取样后提取。显然,在编码端,STC不仅产生了表明视音频正确的显示时间PTS和解码时间DTS,而且也产生了表明STC本身瞬时值的时间标记SCR。在解码端,应相应地使SSTC再生,并正确应用时间标志,即通过锁相环路(PLL-Phase Lock Loop),用解码时本地用SCR相位与输入的瞬时SCR相位锁相比较,确定解码过程是否同步,若不同步,则用这个瞬时SCR调整27MHz时钟频率。每个SCR字段的大小各不相同,其值是由复用数据流的数据率和SSTC的27MHz时钟频率确定的。可见,采用时间标志PTS、DTS 和SCR,是解决视音频同步、帧的正确显示次序、STD缓存器上溢或下溢的好方法。PS复用速率用于指示其速率大小。


    系统头由系统头起始码、系统头长度、速率界限范围、音频界限范围、各种标志指示、视频界限范围、数据流识别、STD缓存器界限标度、STD缓存器尺寸标度、(视频,音频,或数据)流识别等10个部分组成。各种标志部分由固定标志指示、约束系统参数数据流(CSPS-Constrained System Parameter Stream)指示、系统音频锁定标志指示、系统视频锁定标志指示4个部分组成。其中,CSPS是对图像尺寸、速率、运动矢量范围、数据率等系统参数的限定指示。

    显然,PS的形成分两步完成:其一是将视频ES、音频ES、其他ES分别打包成视频PES包、音频PES包、其他PES包:使每个PES包内只能存在1种性质的ES;每个PES包的第一个AU的包头可包含PTS和DTS;每个PES包的包头都有用于区别不同性质ES的数据流识别码。这一切,使解复用和不同ES之间同步重放成为可能。其二是通过PS复用器将PES包复用成PS包,即将每个PES包再细分为更小的PS包。PS包头含有从数字存储媒介(DSM-Digital storage Medium)进入系统解码器各个字节的解码专用时标,即预定到达时间表,它是时钟调整和缓存器管理的参数。典型PS解码器如图4所示,图中示意了数字视频解码器输出的、符合ITU-R. 601标准的视频数据帧顺序I1B2B3P4B5B6P7B8B9I10,与数字视频编码器输出的数字视频编码ES帧顺序I1P4B2B3P7B5B6I10B8B9二者之间的关系。图中PS解复用器实际上是系统解复用器和拆包器的组合,即解复用器将MPEG-2 的PS分解成一个个PES包,拆包器将PES包拆成视频ES和音频ES,最后输入各自的解码器。系统头提供数据流的系统特定信息,包头与系统头共同构成一帧,用于将PES包数据流分割成时间上连续的PS包。可见,一个经过MPEG-2编码的节目源是由一个或多个视频ES和音频ES构成的,由于各个ES共用1个27MHz的时钟,可保证解码端视音频的同步播出。例如,一套电影经过MPEG-2编码,转换成1个视频ES和4个音频ES。显然,PS包长度比较长且可变,用于无误码环境,适合于节目信息的软件处理及交互多媒体应用。但是,PS包越长,同步越困难;在丢包时数据的重新组成,也越困难。显然,PS用于存储(磁盘、磁带等)、演播室CD-I、MPEG-1数据流。


3) 传输流(TS)

    将具有共同时间基准或具有独立时间基准的一个或多个PES组合而成的单一的数据流称为传输流(Transport Stream)。TS实际是面向数字化分配媒介(有线、卫星、地面网)的传输层接口。对具有共同时间基准的两个以上的PES先进行节目复用,然后再对相互可有独立时间基准的各个PS进行传输复用,即将每个PES再细分为更小的TS包,TS包结构如图5所示。


    由图5可见,TS包由包头、自适应区和包数据3部分组成。每个包长度为固定的188 B,包头长度占4 B,自适应区和包数据长度占184 B。184 B为有用信息空间,用于传送已编码的视音频数据流。当节目时钟基准(PCR-Program Clock Reference)存在时,包头还包括可变长度的自适应区,包头的长度就会大于4 B。考虑到与通信的关系,整个传输包固定长度应相当于4个ATM包。考虑到加密是按照8 B顺序加扰的,代表有用信息的自适应区和包数据的长度应该是8 B的整数倍,即自适应区和包数据为23×8 B =184 B。

    TS包的包头由如图所示的同步字节、传输误码指示符、有效载荷单元起始指示符、传输优先、包识别(PID-Packet Identification)、传输加扰控制、自适应区控制和连续计数器8个部分组成。其中,可用同步字节位串的自动相关特性,检测数据流中的包限制,建立包同步;传输误码指示符,是指有不能消除误码时,采用误码校正解码器可表示1bit 的误码,但无法校正;有效载荷单元起始指示符,表示该数据包是否存在确定的起始信息;传输优先,是给TS包分配优先权;PID值是由用户确定的,解码器根据PID将TS上从不同ES来的TS包区别出来,以重建原来的ES;传输加扰控制,可指示数据包内容是否加扰,但包头和自适应区永远不加扰;自适应区控制,用2 bit表示有否自适应区,即(01)表示有有用信息无自适应区,(10)表示无有用信息有自适应区,(11)表示有有用信息有自适应区,(00)无定义;连续计数器可对PID包传送顺序计数,据计数器读数,接收端可判断是否有包丢失及包传送顺序错误。显然,包头对TS包具有同步、识别、检错及加密功能。

    TS包自适应区由自适应区长、各种标志指示符、与插入标志有关的信息和填充数据4部分组成。其中标志部分由间断指示符、随机存取指示符、ES优化指示符、PCR标志、接点标志、传输专用数据标志、原始PCR标志、自适应区扩展标志8个部分组成。重要的是标志部分的PCR字段,可给编解码器的27MHz时钟提供同步资料,进行同步。其过程是,通过PLL,用解码时本地用PCR相位与输入的瞬时PCR相位锁相比较,确定解码过程是否同步,若不同步,则用这个瞬时PCR调整时钟频率。因为,数字图像采用了复杂而不同的压缩编码算法,造成每幅图像的数据各不相同,使直接从压缩编码图像数据的开始部分获取时钟信息成为不可能。为此,选择了某些(而非全部)TS包的自适应区来传送定时信息。于是,被选中的TS包的自适应区,可用于测定包信息的控制bit和重要的控制信息。自适应区无须伴随每个包都发送,发送多少主要由选中的TS包的传输专用时标参数决定。标志中的随机存取指示符和接点标志,在节目变动时,为随机进入I帧压缩的数据流提供随机进入点,也为插入当地节目提供方便。自适应区中的填充数据是由于PES包长不可能正好转为TS包的整数倍,最后的TS包保留一小部分有用容量,通过填充字节加以填补,这样可以防止缓存器下溢,保持总码率恒定不变。

4) 节目特定信息(PSI)

    由上述可知,1个TS包由固定的188B组成,用于传送已编码视音频数据流的有用信息占用184B空间。但是,还需要传输节目随带信息及解释有关TS特定结构的信息(元数据),即节目特定信息(PSI-Program Specific Information)。用于说明:1个节目是由多少个ES组成的;1个节目是由哪些个ES组成的;在哪些个PID情况下,1个相应的解码器能找到TS中的各个数据包。这对于由不同的数据流复用成1个合成的TS是1个决定性的条件。为了重建原来的ES,就要追踪从不同ES来的TS包及其PID。因此,一些映射结构(Mapping Mechanism),如节目源结合表(PAT)和节目源映射表(PMT)两种映射结构,会以打包的形式存在于TS上,即借助于PSI传输一串描述了各种ES的表格来实现。MPEG认为,可用4个不同的表格作出区别:

● 节目源结合表(PAT-Program Association Table):在每个TS上都有一个PAT,用于定义节目源映射表。用MPEG指定的PID(00)标明,通常用PID=0表示 。

● 条件接收表(CAT-Conditional Access Table):用于准备解密数据组用的信息,如加密系统标识、存取权的分配、各个码序的发送等。用MPEG指定的PID(01)标明,通常用PID=1表示。

● 节目源映射表(PMT-Program Map Table):在TS上,每个节目源都有一个对应的PMT,是借助装入PAT中节目号推导出来的。用于定义每个在TS上的节目源(Program),即将TS上每个节目源的ES及其对应的PID信息、数据的性质、数据流之间关系列在一个表里。解码器要知道分配节目的ES的总数,因为MPEG总共允许256个不同的描述符,其中ISO占用64个,其余由用户使用。

● 网络信息表(NIT- Network Information Table):可传送网络数据和各种参数,如频带、转发信号、通道宽度等。MPEG尚未规定,仅在节目源结合表(PAT)中保留了1个既定节目号“0”(Program-0)。

    有了PAT及 PMT这两种表,解码器就可以根据PID将TS上从不同的ES来的TS包分别出来。

    节目特定信息(PSI)的结构,如图6所示。根据PID将TS上从不同的ES来的TS包分别出来可分两步进行:其一是从PID=0的PAT上找出带有PMT的那个节目源,如Program-1,或Program-2;其二是从所选择的PMT中找到组成该节目源的各个ES的PID,如从Program-1箭头所指的PMT-1中ES-2所对应的Audio-1的PID为48,或从Program-2箭头所指的PMT-2中ES-1所对应的Video的PID为16。同样,Program-1的MAP的PID为22,ES-1所对应的Video的PID为54;Program-2的PMT-2中ES-2所对应的Audio-1的PID为81,ES-1所对应的Video的PID为16,MAP的PID为33;PAT的PID为0;CAT授权管理信息(EMM-Entitlement Management Message)的PID为1。这样,就追踪到了TS上从不同的ES来的TS包及其PID,如图6所示的TS上不同ES的TS包的PID分别为48、16、22、21、54、0、16、33、1。显然,解码器根据PID将TS上从不同的ES来的TS包分别出来的过程,也可以从图7的TS双层解复用结构图中得到解释。要注意,MPEG-2的TS是经过节目复用和传输复用两层完成的:在节目复用时加入了PMT;在传输复用时加入PAT。所以,在节目解复用时,就可以得到PMT,如图7中的ES (MAP) (PMT-1)和ES (MAP) (PMT-2);在传输解复用时,就可以得到PAT,如图7中的PS-MAP。将图6与图7对照,就可以知道解码器是如何追踪到TS上从不同的ES来的TS包及其PID的。




4.系统的复用

    多个信号在同1个信道传输而不相互干扰,称为多路复用。如果将第一层的多个多路复用器先分别进行单节目传输复用,而后再进行第二层的多节目传输复用,就形成了双层复用。图8是系统双层复用原理图。由图可见,编码器不仅有视频编码器和音频编码器,还有系统编码器。第一层的每个多路单节目传输复用器输入信号有:ITU -R.601标准数字视频,如视频帧顺序为 I1B2B3 P4B5B6 P7B8B9 I10;AES/EBU数字音频数据;节目专用信息PSI及系统时钟STC 1-N等控制信号。其中视频编码器、音频编码器和数据提供给系统编码器的是基本流ES,视频ES的帧顺序为I1P4B2B3P7B5B6I10B8B9。经过系统编码器加入PTS及DTS,并分别打包成视频PES、音频PES,数据本身提供的就是PES。PSI插入数据流,数据加密将有关的调用权、编码密钥通过条件收视表插入MPEG-2 TS ,并将传输复用器从STC导出的PCR插入相应区段。这些视频PES、音频PES、数据PES及PSI,经过加入PID及PCR的传输复用器后,将输入基本流ES分割成传输包片段,并为每个片段配备1个数据头(Header),就形成了一系列的TS包。然后,通过各个不同性质的数据流的数据包交织后,输出MPEG-2 TS,其包含相应传输系统解码器所需要的所有数据。这样,从第一层的N个单节目复用器输出N股MPEG-2 TS,通过各自的传输链路输入第二层多路多节目传输复用器。从N路MPEG-2 TS中提取出N个PCR,从而再生出STC 1-N,最后产生出N个第二层多路多节目传输复用器用的新PCR。多节目传输复用器的任务是在分析的基础上,对多套节目复用合成,对数据包时标更新。因为,MPEG只允许1个TS只能有1张节目源结合表PAT,多节目传输复用器需要对PSI表进行分析,以便建立对新数据流适用的PAT,修正有关数据包中的时间标志,完成时标更新。经过第二层多节目传输复用器复用后,输出MPEG-2 TS,可以继续通过传输链路传输到解复用器,也可以采用误码保护编码、信道编码、调制技术后,通过卫星、有线电视、地面无线电视传输。例如,将第二层多节目传输复用的MPEG-2 TS,经过QPSK信道调制上卫星,地面用户通过数字电视接收机的QPSK解调器、解复用器、解码器直接接收;有线电视台前端将卫星下行信号先后经过解调器、解复用器、再复用器、QAM电缆调制器后,馈送至有线电视网,用户数字电视接收机通过QAM电缆解调器、解复用器、解码器接收;地面无线电视台将接收的卫星信号先后经过解调器、解复用器、再复用器、COFDM电缆调制器后,馈送至地面发射台发射,用户可通过数字电视接收机的COFDM解调器、解复用器、解码器接收。由上述可明白:


1)数据流的分割

    将1个数据流逐段分割成多个数据包,便利于不同数据流的数据包交织。

2)节目最小组合

    1个电视节目是由多个不同性质的数据流的ES组成的,1个电视节目的最小组合为1个视频流,1个音频流, 1个带字母、字符的数据流(Tele text),其它信息业务数据流。

3)PS与TS区别

    节目流PS只能由1套节目的ES组成,传输流TS一般由多套节目的ES组成。由于在说明TS的基本流时标时,总是针对某1节目而言,因此TS选择了节目时钟基准PCR的概念,而不是系统时钟基准SCR。

5.系统的解码

    由前述,MPEG-2系统要解决的问题是:

1)系统的复用与解复用

    MPEG-2采用时分多路复用技术,让多路信号在同一信道上占用不同的时隙进行存储和传输,以提高信道利用率。

2)声音图像要同步显示

    由于时分多路复用中的位时隙、路时隙、帧之间具有严格的时间关系,这就是同步。区分各路信号以此为据。为了恢复节目,先对ES进行解码。声音、图像信号的重现需要同步显示,从而要求收发两端数据流要达到同步。为此,MPEG-2系统规范通过在数据中插入时间标志来实现:SCR或PCR为重建系统时间基准的绝对时标;在有效PS和TS产生前,已插入PES的DTS和PTS为解码和重现时刻的相对时标。

3)解码缓存器无上下溢

    MPEG-2系统是由视音频编码器、编码缓存器、系统编码器及复用器、信道网络编解码器及存储环境编解码器、系统解码器及解复用器、解码缓存器和视音频解码器构成。其中,编码缓存器和解码缓存器延迟是可变的;信道网络编解码器及存储环境编解码器和从视/音频编码器输入到视音频解码器输出,延迟是固定的。这表明,输入视/音频编码器的数字图像和音频取样,经过固定的、不能变的点到点延迟后,应该精确地同时出现在视音频解码器的输出端。编码及解码缓存器的可变延迟的范围就应该受到严格限制,使解码缓存器无上、下溢。

    为了解决复用、同步、无溢出问题,需要定义1个系统目标解码器(STD-System Target Decoder)模型。用于解释传输流TS解码并恢复基本流ES时的过程;用于在复用器数据包交织时确定某些时间的边界条件。因此,每个相应的MPEG-2 TS必须借助于专门的解码器模型来解码。图9为TS的系统目标解码器模型。


    STD与实际解码器的主要差别是:STD对数据流的操作是瞬时完成的,无须时间延迟。而实际解码器是有延迟的。于是,可以利用这个差别,根据STD设计解码器的缓存器的容量。例如,PAL制视频图像每隔1/25 s解码出1帧,压缩视频以4Mb/s码率到达视频解码器。要完全移走1帧图像,视频解码器比STD的时间要延迟1/25 s ,其缓存器容量要比STD规定容量大4Mb/s×1/25s = 0.16Mb。相对于STD,视频解码及显示有延迟,音频解码及显示也应延迟同样的时间,以便视音频正确同步。

    要防止STD上溢或下溢,首先要确定解码延迟时间。为此,就要找出第一个DTS字段值与起始SCR字段值的差值。这个差值指出解码器第一个I帧在复用数据流第一个SCR字段的最后1个字节之后的解码的时刻。利用I帧和P帧编码时间和显示时间的不同时性,计算出PTS与DTS之时间差,从而确定P帧在重新排序缓存器中存储的时间,或P帧在重新排序缓存器中停留多长时间后开始解码。只要在解码器开始解码前,完全传送完1个存取单元,就不会产生下溢。若每个存取单元在解码前瞬时的缓存器最大充满度与STD数据流缓存器容量大小比较适配,就不会产生上溢。

    由图9可见,MPEG-2 TS包含N个ES的数据。按照PID值,根据ES的性质是视频的还是音频的或系统的,通过换向器,将每个相关数据包切换到相应路径,并分别传送给各个传输缓存器(TB-Transport Buffer)。如视频ES输入到传输缓存器TB-1,音频ES输入到传输缓存器TB-N,PSI输入到系统缓存器SB-PSI.从STD输入端传送到TB或SB是瞬时的。

    TB的容量略大于2个传输流包的相应长度,MPEG规定为512 B。有利于较高复用器码率与较低解码存储器存取速度相适应,因缓存器读出采用较低的ES速率就可以实现。之所以要采用ES速率,是因为要降低解码硬件对处理器支持的PSI信息分析的复杂性,从而规定缓存器读出速度最大不超过传输速率0.2%。视频基本数据流从TB-1输出时,由于包头再也不能识别TS数据包结构,并已去除了全部相关传输记录信息,同时误差指示器查询可能有的包误差。因此,要抛弃PES包头,并将所有存储在TB-1中的PES包的净负荷数据全部送到主存储器1,以便为解码器1提供数据。净负荷数据从TB-1传送到主存储器1是瞬时完成的。

    DTS标明从STD的ES解码缓存器移走存取单元全部数据的时刻。对输入到主存储器1-N的所有存取单元的数据,都必须在DTS规定的瞬时移走。解码器1-N及系统信息解码器的解码是瞬时完成的。顺便说明的是:传输数据包的同时,应将误差信息传送给解码器,以便对数据内容解扰,至于对内容的进一步解码,已不是传输解码器的事情。数据解压缩、显示单元重建及在正确的显示时间显示已同步的序列,是解码系统的任务。

    PTS标明STD出现显示单元(PU-Presentation Unit)的时间,显示之前,I帧和P帧需要经过重新排序缓存器的延迟。

    节目专用信息PSI包括节目源结合表PAT(PID=0)、条件接收表CAT(PID=1)、节目源映射表PMT。由于PSI的数据量比较小,系统缓存器SB-PSI的规模限制在1536B。到达系统信息解码器的PSI传输流,在该解码器中检查所期望节目的相关信息。解码器通过PSI表了解来自数据流的哪些数据包,即数据中哪些PID应继续传送,其余不期望的节目数据包可忽略。显然,存储在节目源映射表PMT中的PID值,是用于检测TS内所需要的数据包的。
回复

使用道具 举报

该用户从未签到

发表于 2007-2-12 20:00:58 | 显示全部楼层

RE:MPEG-2压缩编码技术原理应用(1)

回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2007-4-22 15:38:02 | 显示全部楼层

RE:MPEG-2压缩编码技术原理应用(1)


很好的资料
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2009-8-6 15:35:09 | 显示全部楼层

RE:MPEG-2压缩编码技术原理应用(1)

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条



手机版|小黑屋|与非网

GMT+8, 2024-11-15 19:38 , Processed in 0.150462 second(s), 21 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.