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

MPEG-2传输流及其PSI信息的解析

在数字电视业务中,为了节约带宽资源,常常将不同的节目复用到一个信道

上,并且,为了在容易发生错误的信道上进行可靠的传输,复用后的数据流称为

传输流;终端在收到其中的某套节目时,必须从码流中对该节目进行提取,即在

解码端必须对传输流进行解复用。如果在传输流中不包含引导信息,由于传输流

存在多套节目,数字电视终端设备将无法正确找到需要解码的信息,从而不能正

确解码。针对这一问题,MPEG2专门定义了节目专用信息PSI(Program Specific

Information),它的作用是自动设置和引导终端设备进行解码。这就需要在前端

向传输流TS(Transport Stream)中进行PSI信息的复用,并用特定的包标

识符(PID)进行标识。本文就传输流TS的组成及其PSI信息进行了解析,重

点对PSI信息的组成及功能进行了说明,并对终端如何利用PSI信息进行自动解

码进行了阐述。

一、 MPEG2传输流结构

在MPEG2 中,系统编码有两种方法:程序流和传输流,其分别适用于不

同的应用环境。程序流是针对错误相对较少的环境内设计的,适用于像交互式多

媒体一些涉及软件处理系统信息的应用,程序流分组是可变的而且相对较长。

MPEG2的传输流是相对于程序流而言,其主要是针对那些容易发生错误的环境

而设计的,如在容易在丢失或高噪音的媒体中存储和传送,为便于处理和信道编

码,传输流的分组长度一般是固定的,为188字节。其结构如下图1所示。

188 bytes 188 bytes 188 bytes

4 bytes 184 bytes

188 bytes

传输流分组

header data

--

video

-- audio

-- ECM

-- PSI ETC

sync PID ETC

图1 传输流结构

如图1所示,在MPEG2的传输流中,可以包含多个节目,而每个节目又

是由多个基本码流(如视频、音频、数据等)组成,基本码流、PSI信息及其他

控制数据都被打成固定长度的包分组,这些数据流分组的区分都是通过PID

(packet ID)来区分的。传输流的实例可如图2表示。

TS流实例

AUDIO

PAT

VIDEOAUDIO

PMT

VIDEOAUDIO

ECM

VIDEOAUDIO

EMMPMT

VIDEOAUDIO

CAT

AUDIO

EMM

VIDEO

PMT

VIDEOAUDIO

ECM

VIDEOAUDIOVIDEOVIDEOPATVIDEO

VIDEOAUDIO

ECM

VIDEOAUDIO

PMT

VIDEOAUDIO

NITEMM

VIDEOAUDIOVIDEOAUDIO

图2 传输流实例

图中,PAT,PMT,NIT,CAT为PSI信息,下面将进行说明,而VIDEO,

AUDIO则为视、音频传输流,ECM(Entitlement Control Message)、EMM

(Entitlement Management Massage) 为授权信息,用于对视音频数据的解扰。

二、 PSI信息组成及功能

传输流中的PSI信息主要包括四种表。这四种表分别为:

节目组合表PAT(Program Association Table)

节目映射表PMT(Program mapping Table)

有条件接收表CAT(Conditional Access Table)

网络信息表NIT(Network Information Table)

1、 PAT包含了传输流中所有节目的清单,并为每个节目定义了一个节目

号码。它具有固定的PID值为0X0000,其他任何传输流的PID都不能

使用0X0000,它的作用是给出了各个节目相对应PMT表的PID值,

即它具有指针作用。PAT表的内容包含了很多分段,每个分段对应一套

节目,该分段包含该节目的全部信息,其目的是在错误发生时将数据丢

失最小化,也就是分组丢失或位错误可定位于更小的PAT段,这样就允

许其他分段被接收和正确解码。如果整个PAT信息置于一个分段中,则

有可能其中某个字节的错误,将导致整个PAT的丢失,一般,分段的长

度不超过1024字节。PAT表在传输时不能被加密。由于所有PMT和

NIT表的PID值都在PAT表中给出,所以每个传输流中必须要有P

AT表

2、 PMT表包含了与单路节目复用相关的控制信息。它列出了一套节目中

基本流(如视频流、音频流)的PID值以及节目参考时钟PCR所在传输

流中PID的值。PMT表也是传输流中必须要有的,其是解复用所必不可

少的。

3、 CAT给出了一个或多个CA之间的关系,并带有EMM流的参数及其

他所有特殊参数。它指出了一个或多个携带授权管理信息EMM的传输流

的PID值,CAT表不是必须的,只有在传输流被加扰时,则必须使用C

AT表。它所指示的EMM信息和节目匹配表中可能含有的条件接收描述

子所描述的授权控制信息ECM共同给出了加密密钥的有关信息。CAT

表的PID值也是固定的为0X0001。

4、 NIT表通常包含用户选择的服务、通道频率、卫星发射机参数、调制

特性等,以及该路节目的供应商和节目名称等,MPEG对此表的内容没

有做详细的规定。NIT表是可选的,其内容是私有的。如果存在,则它

由具有相同PID值的传输流分组携带,称为Network_PID,Network

_PID的值由用户自行定义,并且在出现时,在PAT表中定义,节目号

为0X0000的所对应的PID值为Network_PID。

三、 PSI信息之间的关系结构及典型应用

1、PSI信息之间的关系结构如图3 所示,各个PSI表结构及之间的关系很清

楚的进行了说明。

节目组合表PAT

PID=0X0000

节目0

节目1 PMT的PID

节目1

………..

网络信息表NIT

网络信息表NIT的PID

私有网络

数据

节目N

节目N PMT的PID

基本流1

基本流2

视频流PID

基本流1

音频流PID

基本流2

………..

………..

基本流M

基本流M

节目映射表PMT

节目映射表PMT

系统1 EMM节目1的视频包节目N的音频包系统2 EMM

MPEG 2的传输流

CA PID

条件接收系

统1

条件接收系

统2

………..

CA PID

条件接收系

统N

条件接收表CAT PID=0X0001

图3 PSI各表关系结构图示意图

2、终端利用PSI信息解码流程

2.1由于所有PMT和NIT表的PID值都在PAT表中给出,并且PA

T表具有固定的PID值0X0000,终端设备首先过滤出具有固定PID值为0X00

00的PAT表。

2.2 从PAT表中搜索出解码节目的ID号及其相对应的PMT表的PID值。

2.3 从PMT表中查找节目相对应的视音频PID值。

2.4 从传输流中过滤出视音频包,并进行解码。

2.5 如果节目加扰,则过滤出具有PID值为0X0001的CAT表,并从中找到

EMM包的PID值。

2.6 利用PMT表中CA描述子中提供的ECM的PID值,找到ECM包,E

MM与ECM一并交由CA模块进行解密,得到控制字CW。

2.7 解码终端利用CW进行解扰,得到清流的视音频包,并进行解码处理。

四、 结束语

本文对传输流的结构及其指示信息PSI进行了解析,从上面的讨论可以看

出,PSI信息提供了用于终端解码自动设置及引导的必要信息,但PSI信息只是

提供了单个传输流的信息,使解码终端能够对单个传输流地不同节目进行解码。

为便于对多个传输流的解码,DVB组织对MPEG2的PSI信息进行了扩展,增加

了SI(Service Information)业务信息,其不再局限于提供单个传输流信息,而

且还增加了节目相关的节目名称、节目开始时间、节目内容介绍等信息。在实际

中,经常将SI信息同PSI信息有序结合起来,生成类似节目预告的形式,其在

用户使用时,大大方便用户的使用,形成了电子节目指南EPG。

对于深入了解PSI信息是至关重要的,尤其是在运营维持护中出现的各解问

题,通过专用的MPEG2 码流分析仪,可以方便的了解MPEG2的结构及PSI各

种表格间的关系是否相一致,从而判断故障的原因。

参考文献:

GB/T 17975.1--2000 信息技术. 运动图像及其伴音信息的通用编码

第一部分:系统