1, 一些定义
ES:由编码器输出,可以是编码过的视频数据流,音频数据流,或其他编码数据流。ES流经过PES打包器之后,被转换成PES包。PES包由包头和payload组成。
PSI:MPEG-2中定义了PSI(Program Specific Information)信息,其作用是从一个携带多个节目的某一个TS流中正确找到特定的节目。
PSI表:PSI表包括节目关联表(PAT)、条件接收表(CAT)、节目映射表(PMT)和网络信息表(NIT)组成。
SI:在MPEG-2标准中定义的PSI表,是对单一TS流的描述。由于系统通常存在多个TS流,为了引导数字电视用户能在TS流中快速地找出自己需要的业务,DVB对MPEG-2的PSI进行了扩充,在PSI四个表的基础上再增加了九个表,形成SI(Service Information)。
SI表:SI表包括业务描述表(SDT)、事件信息表(EIT)、时间和日期表(TDT)、时间偏移表(TOT)、业务群关联表(BAT)和运行状态表(RST)、填充表(ST)、选择信息表(SIT)、间断信息表(DIT)等表信息。SI中的各表在实际使用中并不都需要传送,其中NIT、SDT、EIT、TDT是必需传送的,其它表则按照需要进行选择传送。
TABLE ID:TS流中有两种标识符,一种是包标识符,一种是表标识符。具有相同PID的不同信息表由表标识符TABLE ID来区分。
EPG:在实用中,我们将SI所提供的数据通过有序地组织起来,生成类似节目报的形式,它能在电视机上即时浏览,这样将大大方便用户的使用,这就是电子节目指南EPG。
TS包
PAT
CAT
PMT
2、数字电视工作流程
当机顶盒要要接收某一个指定节目流程:
1. 首先从节目关联表(PAT)中取得这个节目的节目映射表(PMT)的PID值
2. 然后从TS流中找出与此PID值相对应的节目映射表(PMT),从这个节目映射表中获得构成这个节目的基本码流的PID值
3. 根据这个PID值滤出相应的视频、音频和数据等基本码流
4. 解码后复原为原始信号,删除含有其余PID的传送包。
TS是经过节目复用和传输复用两层完成的,即在节目复用时,加入了PMT,在传输复用时,加入了PAT。同样在节目解复用时,可以得到PMT,在传输解复用时,可以得到PAT。下图很好地概述了其思想
3、PSI信息的分析
一、 PAT表
节目关联表PAT的PID为0x0000,包括该TS流中的所有节目映射表即每个节目的PMT PID,传输流ID等。
二、PMT表
节目映射表(PMT)中包括每个节目的基本码流信息即视频信息、音频信息和同密的多家CA的ECM授权控制信息。
PMT表针对节目的加密情况,还含有CA_System_ID。用于节目是用何种CA系统加密和ECM_PID用于告知用户如何搜索ECM。
三、CAT表
CAT表PID为0x0001,CAT表针对具体CA系统中的用户的授权情况,含有标识具体CA系统的CA_System_ID和用于获取授权管理信息EMM的索引EMM_Pid,通过这两项内容就可以获得用户所在CA系统的EMM信息。
由于EMM信息通过TS流的方式与其他节目信息复用传输,并且为了用户及时获得授权信息,复用在每一个TS流中,所以在每一个传输流中的EMMPID一样的。
四、NIT表
NIT表包括该数字电视网中的所有的传输流的物理传输网信息,包含节目的频道调谐参数、频率、符号率等,这些信息使得接收机可以按照用户的选择以很少的延时或无延时地改变频道、调谐参数,正确地解码出TS。
4、SI信息的分析
一、SDT表
业务描述表(SDT):它包含了当前传输流和其他传输流的业务信息,比如当前传输流ID,当前传输流中包含的节目名称,节目类型等。
SDT表PID为0x0011、table_id为0x42、当前传输流ID为0x0d、节目运行状态(running_status)为运行、服务类型(servicetype)为数字电视业务、服务名称(servicename)为七彩戏剧。
二、EIT表
事件信息表(EIT):它包含了与事件或节目相关的数据,EIT是生成EPG的主要表。包括每个节目的当前播出的节目名称、播出开始时间、播出时间段、父母控制级别等信息和下一个播出节目相关信息。
section-number=0为当前播出事件信息和section-number=1
为下一个播出事件信息,其中包括事件开始时间(starttime)、播放时间段(duration)、当前播出事件内容(eventname),父母级别控制(parantelratingdescriptor)等。
三、TDT、TOT、BAT表
时间和日期表(TDT):它给出了与当前的时间和日期相关的信息,由于这些信息更新频繁,所以需要单独使用一个表。时间偏移表(TOT):它给出了与当前时间、日期和本地时间偏移相关的信息,由于这些信息更新频繁,所以需要单独使用一个表。
业务群关联表(BAT):它提供了业务群相关的信息,给出了业务群的名称以及每个业务群中的业务列表。分别存在电影、体育和升级程序等三组业务群,其中包括属于该群的节目ID、该节目具体归属的传输流ID和节目类型等信息。利用BAT表的功能,用户根据前端的定义,方便、快捷地搜索到不同业务群的的节目。
参考文档:
《有线数字电视中的常用PSI/SI表》
http://www.beijingdtv.com.cn/repository_content.jsp?gw_id=760
MPEG2 TS小结
http://blog.lmtw.com/b/moreframe/archives/2006/40865.html