数字电视中PSI、SI表功能及在机顶盒上的实现过程
2014-10-27郭耀
郭耀
摘 要:本文主要介绍数字电视中PSI/SI表的组成(PAT、PMT、CAT、NIT、SDT、EIT、BAT等)以及对应各部分的主要功能,同时将对这些表如何在数字电视机终端顶盒上产生相应作用进行阐述。
关键词:数字电视;PSI/SI;机顶盒
1 缩写全称及中文释义
缩写词 全称 中文意思
MPEG Motion Picture Experts Group 运动图象专家组
DVB Digital Video Broadcasting 数字视频广播
PSI Program Specific Information 节目说明信息
SI Service Information 业务信息
CAT Conditional Access Table 条件接收表
PAT Program Association Table 节目关联表
PMT Program Map Table 节目映射表
EIT Event Information Table 事件信息表
NIT Network Information Table 网络信息表
SDT Service Description Table 业务描述表
2 背景知识及基本概念介绍
在数字电视中,所有视频、音频、文字、图片等经数字化处理后都变成了数据,并按照MPEG-2的标准打包,形成固定长度(188个字节)的传送包(TS包的长度固定,一般是188字节。如果在这种TS包的尾部加入16字节的RS纠错码,则包长为204字节),然后将这些数据包进行复用,形成传送码流(TS)。
通常由多个节目及业务复用组成的一个TS(TransportStream传输流)流对应一个8MHz带宽的频道。而传输流是MPEG-2规范的系统层提出的、对多路节目进行复用的两种方案之一,它主要针对非可靠信道的传输(另一种方案——节目流是针对可靠信道的传输而提出的),比如卫星信道、微波信道和CATV信道。
传输流的形成过程可以用下图来说明。组成节目的视频流和音频流经过基础流编码器之后,形成基本流,每一路视频流或音频流对应一路基本流。基本流经过打包,形成PES包流。每一个PES包都有流标识、用于视、音频解码和播放同步的时戳。PES包和其它的数据、控制信息经过复用器,形成TS包。每一个TS包都有一个包标识PID,同一基础流对应的TS包,PID的值相同。TS流就是通過对各个基础流分配不同的PID号来唯一的标识各个不同的基础流、信息表和其它数据。在TS流中有两种标识符,一种是包标识符,一种是表标识符。具有相同PID的不同信息表由表标识符TABLEID来区分,在接收端通过查这些特定的PID来找到它们。
数字电视机顶盒中为了找到需要的码流,识别不同的业务信息,在TS流中必须加入一些引导信息,也就是上图的相关数据和控制信息。为此,在MPEG-2中,专门定义了PSI信息,其作用是从一个携带多个节目的某一个TS流中正确找到特定的节目。
在MPEG-2标准中定义的PSI表,是对单一TS流的描述。由于系统通常存在多个TS流,为了引导数字电视用户能在TS流中快速地找出自己需要的业务,DVB对MPEG-2的PSI进行了扩充,在PSI四个表的基础上再增加了九个表,形成SI。SI是对整个系统所有TS流的描述,在符合MPEG-2的TS传输流中插入DVB标准定义的业务信息,使机顶盒的综合接收解码器可以从TS流中提取出节目提供商播出节目的列表和播出参数,以直观的形式显示给数字电视用户,使得用户可以方便地接收、选择数字电视节目。
2.1 PSI/SI表组成及相应功能
PSI表包括节目关联表(PAT)、条件接收表(CAT)、节目映射表(PMT)和网络信息表(NIT)组成,这些表在复用时通过复用器插入到TS流中,并用特定的PID(包标识符)进行标识。SI包括业务描述表(SDT)、事件信息表(EIT)、时间和日期表(TDT)、时间偏移表(TOT)、业务群关联表(BAT)和运行状态表(RST)、填充表(ST)、选择信息表(SIT)、间断信息表(DIT)等表信息。SI中的各表在实际使用中并不都需要传送,其中NIT、SDT、EIT、TDT是必需传送的,其它表则按照需要进行选择传送。当机顶盒要要接收某一个指定节目时,PSI表首先从节目关联表(PAT)中取得这个节目的节目映射表(PMT)的PID值,然后从TS流中找出与此PID值相对应的节目映射表(PMT),从这个节目映射表中获得构成这个节目的基本码流的PID值,根据这个PID值滤出相应的视频、音频和数据等基本码流,解码后复原为原始信号,删除含有其余PID的传送包。下面重点介绍比较重要的几个组成表。
⑴PMT(Program Map Table)。上面提到过,在节目发送端,一个节目(用program_number标识)可以由音频流、视频流组成,视、音频流经过处理,形成TS包之后,对应的TS包便带上了PID信息。不同的视、音频流对应的PID值不同。PMT描述了当前TS流中节目的视、音频PES流和PCR 的PID,PMT的个数等于当前TS流中节目的个数。通过PMT,可以从MPEG II传输流中提取指定节目的基本流并予以解码重放。
⑵PAT(Program Association Table)。要保证TS流能正常接收,在该流中至少有一个完整有效的PAT。节目关联表PAT包括该TS流中的所有节目映射表即每个节目的PMT(节目映射表)PID,传输流ID等。PAT表规定使用PID = 0的TS包来传送,它列出了所属TS流中所有节目的编号,以及各编号节目所对应的PMT的PID。根据列出的PID,接收端就可以获得所有的PMT表。在PAT的表循环中,一般有一个program_number值为0的循环,该循环中包含了NIT表的PID的信息;其它的循环中都是一个节目对应PMT的PID。如果要收看的节目属于条件接收节目,接收端还必须提取PSI中的条件接收表,利用其中的信息对被加扰的节目进行解扰。
⑶CAT(Conditional Access Table)。CAT表针对具体CA系统中的用户的授权情况,含有标识具体CA系统的CA_System_ID和用于获取授权管理信息EMM的索引EMM_Pid,通过这两项内容就可以获得用户所在CA系统的EMM信息。用户端的条件接收过程就是从读取卡内的CA_System_ID开始的,获取相应的EMM,ECM后,解密解扰的工作就按与发送端相逆的顺序开始了。CAT表使用PID=0x0001的TS包来传送,而条件接收节目在编码的时候,相应CA系统的EMM(entitled management message)或ECM(entitled control message)信息也同时通过TS包发出。
⑷NIT(Network Information Table)。NIT表包括该数字电视网中的所有的传输流的物理传输网信息,包含节目的频道调谐参数、频率、符号率等,这些信息使得接收机可以按照用户的选择以很少的延时或无延时地改变频道、调谐参数,正确地解码出TS。NIT传输与复用器/传输流(TS)的物理结构有关的信息,以及网络本身的特点。在MPEG II中,NIT属于私有表,传送NIT的TS包的PID可以在0x0010~0x1FFF之间选择,因此,PAT表中专门有一个program_number=0的循环用于指示传送NIT的TS包的PID;在DVB中对NIT作了进一步的定义,并且规定,NIT信息必须使用PID=0x0010的TS包传送,这样,接收NIT时就不需要从PAT中查找其PID,而直接去PID=0x0010的TS包中接收即可。
⑸SDT(Service Description Table)。业务描述表(SDT)它包含了当前传输流和其他传输流的业务信息,比如当前传输流ID,当前传输流中包含的节目名称,节目类型等。SDT表使用PID=0x0011的TS包传送。
⑹EIT(Event Information Table)。事件信息表(EIT)它包含了与事件或节目相关的数据,EIT是生成EPG的主要表。包括每個节目的当前播出的节目名称、播出开始时间、播出时间段、父母控制级别等信息和下一个播出节目相关信息。EIT表描述由 [ original_network_id, ts_id, service_id ] 所标识的service中的event信息,对于每一个service,都有一个EIT子表和它对应。一个EIT表循环结构的对应于service中的event,当event的数目大于1时,这些event按照起始时间的先后顺序排列。EIT表使用PID=0x0012的TS包传送。
2.2 PSI/SI表解析及功能在机顶盒终端实现过程
数字电视接收终端设备从同轴电缆、卫星微波地面微波信号中接收到信号,输入到终端设备中,进行相应的解调和解码,得到TS码流,利用接收端中的EPG应用程序,将TS码流中的SI信息或数据转盘中的相应信息提取出来,生成电子节目菜单信息,供用户使用。实际应用中EPG接收端的实现按照如下步骤进行:⑴输入频率、符号率、调制方式锁定频道。⑵根据NIT表的PID取得NIT表,解析并保存。⑶从NIT表中的第一个descriptor循环中取得network-name-descriptor,得到网络名称,这个网络名称一般描述的是网络运营商的名称,可以在屏幕上显示,也可以根据需要显示。从NIT表中的第二个descriptor循环中取得当前网络所管理的频道资源信息表cable-delivery-system-descriptor,从中可以得到所有几个频道的关键字段值frequency(频率)、modulation(调制方式)、symbol-rate(符号率)。至此,网络信息资源已全部获得,这是非常关键的一步。⑷根据上述网络信息,建立一个循环,各自锁定不同的频道。⑸在已锁定的频道下,接收PSI/SI信息表中的PAT、PMT、SDT表,完成所有节目信息的收集,包括以下内容:第一共有多少频道;第二每个频道下有多少套可供播放的节目;第三每个节目的名称,相关PCR-PID,V-PID,A-PID等。根据以上信息组织菜单,就可以实现节目的播放了。⑹最后接收EIT表,通过循环,在一个物理频道上可以取得所有的节目时间表和内容,包括1天、1周、1个月、2个月的节目预告。⑺在接收端机顶盒上形成完整的EPG并显示。
3 小结
通过在数字电视中插入PSI/SI信息,数字电视用户能够方便、快捷地搜索和查询到所有传输的节目名称、节目分类、一周节目内容和具体播放时间等信息,并且随自己的喜好在数字电视接收设备上预定节目,从而实现电子节目指南。
[参考文献]
[1]赵坚勇.数字电视技术[M].西安:西安电子科技大学出版社,2004.
[2]数字电视国家工程实验室.数字电视前端系统.科学出版社,2012.