2024年4月6日发(作者:)

本文以MPEG-2的系统、MPEG-2的编码、及 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所示。