关于SI的一些FAQ

来源:百度文库 编辑:神马文学网 时间:2024/04/27 13:41:46
作了一段时间的数字电视,有些自己的感受,总结了一下。写了下面的FAQ,如有不对的地方,请大家指正,谢谢
关于SI的一些FAQ
1. Network、TS、Service、Event的概念以及之间的关系?
首先解释一下目前的传输方式。在原来模拟频道的传输中,一个物理的频道只能传送一套节目,比如:中央一台在一个固定的物理通道中传输。但现在通过复用器,把视音频和数据压缩传输,可以在一个物理通道中传输6—8套节目,比如在原来一个通道中传输中央一台到中央八台的全部节目。
Network直译叫做网络,用来区别不同的传送系统和与运营商,例如卫星、地面、有线(网络标示符可以参见SI标准的附录D)。实际上可以也看作是一个网络的运营商,例如中央电视台。每个运营商都需要注册唯一的network_id, 假设中央台的network_id = 0x01, 北京电视台的network_id=0x02。当本台的节目进行播发时,network_id == original_network_id,但是当本台的节目被其他台播发时,network_id != original_network_id,.例如:
北京台播发的节目包括本台的service01,还转发了中央台的节目service01,那么在北京台发送的两个service中network_id=0x02,但是中央台service01的original_network_id=0x01,
中央台service01                        北京台转发中央台service01
北京台service01
TS就是一个物理通道。用频率、符号率等参数来描述这个物理通道。
Service就是在通道上传输的节目。例如中央一台。通过复用,可以在一个物理通道上传输多个节目(6—8套)。
Event是描述的是节目一个事件。区分为EIT present/follow和 EIT schedule。
下图表示的是在一个network中,它们之间的对应关系:
2. PSI与SI的关联
因为PSI中的PAT、PMT 、CAT只能表示当前流的信息。所以在切换到新的TS流的时候,需要重新更新这个流中的PAT、PMT、CAT。
PAT中的program对应的是service,但是有可能program的个数少于service, 这是因为program只是当前流中的节目,而并非所有流中的节目。
在PSI中,首先需要解析PAT。只有解析了PAT后,才能得到NIT和PMT的信息。但在SI中,NIT的PID是固定的(0x0010),可以先去解析NIT,所以不必先解析PAT就可以得到当前网络或所有网络的信息。而网络中的每个TS中又分别有各自的PAT、PMT。逻辑结构图如下:
3. EIT present/following和 EIT Schedule释疑
l EIT present/following表示的是当前节目这个时间端的当前或者后续节目的描述(起始时间、持续时间、事件的简单描述)。因为一个service表示一个台的节目。用event把service划分成很多的时间段,每个单独的event可以用一个event_id去描述。例如:19:00---19:30的新闻联播节目就可以作为一个event去描述。当前的事件都可以有当前/后续描述。首先table_id=0x4e或0x4F,表示这是一个现行或其他传送流的当前/后续事件信息。然后section_number=0,表示是当前节目信息,section_number=1,表示是后续节目信息。当事件发生变化时,version_number加1,表示当前/后续节目描述也发生了变化。
比如:
19:00----19:30  新闻联播  version_number=1  event_id=0x01
19:31----20:00  动画片    version_number=2  event_id=0x02
以上两个事件的当前/后续节目描述就发生了变化。
l EIT Schedule
当table_id=0x50-----0x5F,表示是现行传送流的节目表
当table_id=0x60-----0x6F,表示是其他传送流的节目表
这里要注意的是每个segment最多可以有8个section。一个segment最多可以持续3个小时,而并没有规定一个section的时间。当一个segment不足8个section时,采用了标识segment_last_section_number的方式(看其他文档),而每个section又可以有多个event_id,即可把时间段分成任意多个事件来描述。