资源预览内容
第1页 / 共47页
第2页 / 共47页
第3页 / 共47页
第4页 / 共47页
第5页 / 共47页
第6页 / 共47页
第7页 / 共47页
第8页 / 共47页
第9页 / 共47页
第10页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
MPEG-2压缩编码技术原理应用北京广播学院电视工程系教授 郭斌hc360慧聪网广电行业频道 2004-06-11 11:26:11MPEG是运动图像专家组(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 ,即28 = 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缓存器上溢或下溢的好方
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号