1、1mpeg 压缩原理 MPEG-2 压缩编码技术原理应用(一)(_图文导读:就爱阅读网友为您分享以下“MPEG-2 压缩编码技术原理应用(一)(_ 图文”的资讯,希望对您有所帮助,感谢您对 的支持!MPEG 是运动图像专家组(Moving Picture Experts Group)的简称,其实质上的名称为国际标准化组织(ISO)和国际电工委员会(IEC)联合技术委员会(JTC)1 的第 29 分委员会的第 11 工作组,即 ISO/IEC JTC1/SC29/WG11,成立于 1988 年。其任务是制定世界通用的视音频编码标准。因为,广播电视数字化所产生的海量数据对存储容量、传输带宽、处理
2、能力及频谱资源利用率提出了不切合实际的要求,使数字化难以实现。为此,该专家组基于帧内图像相邻像素间及相邻行间的空间相关性和相邻帧间运动图像的时间相关性,采用压缩编码技术,将那些对人眼视觉图像和人耳听觉声音不太重要的东西及冗余成分抛弃,从而缩2减了存储、传输和处理的数据量,提高了频谱资源利用率,制定了如表 1 所示的一系列 MPEG 标准,使数字化正在变为现实。其中,MPEG-2 是一组用于视音频压缩编码及其数据流格式的国际标准。它定义了编解码技术及数据流的传输协议;制定了 MPEG-2 解码器之间的共同标准(MPEG-2 编码器之间尚无共同标准) 。本文以 MPEG-2 的系统、MPEG-2
3、的编码、及 MPEG-2 的应用为题,讨论 MPEG-2压缩编码技术。一、MPEG-2 的系统1.系统的定义MPEG-2 系统是将视频、音频及其它数据基本流组合成一个或多个适宜于存储或传输的数据流的规范,如图 1 所示。由图 1 可见,符合 ITU-R. 601 标准的、帧次序为I1B2B3P4B5B6P7B8B9I10 数字视频数据和符合 AES/EBU标准的数字音频数据分别通过图像编码和声音编码之后,生成次序为 I1P4B2B3 P7B5B6I10 B8B9 视频基本流(ES )和音频 ES。在视频 ES 中还要加入一个时间基准,即加入从视频信号中取出的 27MHz 时钟。然后,再分别通过
4、各自3的数据包形成器,将相应的 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 系统是其关键部分。
5、MPEG 以开放系统互联(OSI-Open System Interconnection)为目标,争取全球标准化。在详细规定视音频编码算法的基础上,为传输和交换编码数据流(比特流,码流,流)创造统一条件。以利于接收端重建为指导,按照既定的参数给数据流以一定程度的“包装”。因此,MPEG-2 系统应完成的任务有: 规定以包方式传输数据的协议;4 为收发两端数据流同步创造条件; 确定将多个数据流合并和分离(即复用和解复用)的原则; 提供一种进行加密数据传输的可能性。由系统的任务,可知完成任务,系统应具备的基础。3.系统的要点根据数字通信信息量可以逐段传输的机理,将已编码数据流在时间上以一定重复周期
6、结构分割成不能再细分的最小信息单元,这个最小信息单元就定义为数据包,几个小数据包(Data Packet)又可以打包成大数据包(Data Pack) 。用数据包传输的优点是:网络中信息可占用不同的连接线路和简单暂存;通过数据包交织将多个数据流组合(复用)成一个新的数据流;便于解码器按照相应顺序对数据包进行灵活地整理。从而,数据包为数据流同步和复用奠定了基础。因此,MPEG-2 系统规范不仅采用了 PS、TS 和PES 三种数据包,而且也涉及 PS 和 TS 两种可以互相转换5的数据流。显然,以数据包形式存储和传送数据流是MPEG-2 系统的要点。为此,MPEG-2 系统规范定义了三种数据包及两
7、种数据流:1) 打包基本流(PES)将 MPEG-2 压缩编码的视频基本流(ES-Elementary Stream)数据分组为包长度可变的数据包,称为打包基本流(PES- Packetized Elementary Stream) 。广而言之,PES 为打包了的专用视频、音频、数据、同步、识别信息数据通道。所谓 ES,是指只包含 1 个信源编码器的数据流。即 ES 是编码的视频数据流,或编码的音频数据流,或其它编码数据流的统称。每个 ES 都由若干个存取单元(AU-Access Unit)组成,每个视频 AU 或音频 AU 都是由头部和编码数据两部分组成的。将帧顺序为 I1P4B2B3P7B
8、5B6 的编码 ES,通过打包,就将 ES 变成仅含有 1 种性质 ES 的PES 包,如仅含视频 ES 的 PES 包,仅含音频 ES 的 PES包,仅含其它 ES 的 PES 包。PES 包的组成见图 2。由图 2 可见,1 个 PES 包是由包头、ES 特有信息和包数据3 个部分组成。由于包头和 ES 特有信息二者可合成 1 个数6据头,所以可认为 1 个 PES 包是由数据头和包数据(有效载荷)两个部分组成的。包头由起始码前缀、数据流识别及 PES 包长信息 3 部分构成。包起始码前缀是用 23 个连续“0”和 1 个“1”构成的,用于表示有用信息种类的数据流识别,是 1 个 8 bi
9、t 的整数。由二者合成 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) ,但在通常的情况下是组
10、成 ES 的若干个 AU 中的由头部和编码数据两部分组成的 1 个 AU 长度。 1 个 AU 相当于编码的 1 幅视频图像或71 个音频帧,参见图 2 右上角从 ES 到 PES 的示意图。也可以说,每个 AU 实际上是编码数据流的显示单元,即相当于解码的 1 幅视频图像或 1 个音频帧的取样。ES 特有信息是由 PES 包头识别标志、PES 包头长信息、信息区和用于调整信息区可变包长的填充字节 4 部分组成的PES 包控制信息。其中,PES 包头识别标志由 12 个部分组成:PES 加扰控制信息、PES 优先级别指示、数据适配定位指示符、有否版权指示、原版或拷贝指示、有否显示时间标记(PT
11、S-Presentation Time Stamp)/ 解码时间标记(DTS-Decode Time Stamp)标志、PES 包头有否基本流时钟基准(ESCR-Elementary Stream Clock Reference)信息标志、PES 包头有否基本流速率信息标志、有否数字存储媒体(DSM)特技方式信息标志、有否附加的拷贝信息标志、PES 包头有否循环冗余校验(CRC-Cyclic Redundancy Check)信息标志、有否 PES 扩展标志。有扩展标志,表明还存在其它信息。如,在有传输误码时,通过数据包计数器,使接收端能以准确的数据恢复数据流,或借助计数器状态,识别出传输时是
12、否有数据包丢失。其中,有否 PTS/DTS 标志,是解决视音频同步显示、防止解码器输入缓存器上溢或下溢的关键所在。因为,PTS 表8明显示单元出现在系统目标解码器(STD-System Target Decoder)的时间, DTS 表明将存取单元全部字节从 STD 的ES 解码缓存器移走的时刻。视频编码图像帧次序为I1P4B2B3P7B5B6I10B8B9 的 ES,加入 PTS/DTS 后,打包成一个个视频 PES 包。每个 PES 包都有一个包头,用于定义 PES 内的数据内容,提供定时资料。每个 I、P 、B 帧的包头都有一个 PTS 和 DTS,但 PTS 与 DTS 对 B 帧都是
13、一样的,无须标出 B 帧的 DTS。对 I 帧和 P 帧,显示前一定要存储于视频解码器的重新排序缓存器中,经过延迟(重新排序)后再显示,一定要分别标明 PTS 和 DTS。例如,解码器输入的图像帧次序为 I1P4B2B3P7B5B6I10B8B9,依解码器输出的帧次序,应该 P4 比 B2、B3 在先,但显示时P4 一定要比 B2、B3 在后,即 P4 要在提前插入数据流中的时间标志指引下,经过缓存器重新排序,以重建编码前视频帧次序 I1B2B3P4B5B6P7B8B9I10。显然,PTS/DTS 标志表明对确定事件或确定信息解码的专用时标的存在,依靠专用时标解码器,可知道该确定事件或确定信息开始解码或显示的时刻。例如,PTS/DTS 标志可用于确定编码、多路复用、解码、重建的时间。