DVB SI的使用
浏览:845 发布日期:2017-06-05

1、网络信息表(NIT)

网络信息表提供一组传输流以及相应的调谐信息。NIT在IRD(整合接收解码器)启动程序中用到,并且调谐信息可以存储到不变的存储器中。NIT还可以用来标志调谐信息的变化。NIT遵从如下规定:

a、当前的传输系统必须包含NIT。

b、当且仅当NIT包含可用的传输系统描述符,当前传输系统才是有效的。这就指定了NIT包含有效信息的条件。在一些广播传输系统边界,TS中的NIT也被允许用来描述广播频道中的早期的网络。IRD不得不选择一个不同的机制来获得当前传输系统的相应的调谐信息。例如,一个卫星IRD接受到当前传输系统的一个卫星传输系统描述符,那么这个描述符被视为有效,如果一个电缆IRD接收到当前传输系统的一个电缆传输系统描述符也是有效的,但是,如果电缆IRD接收到当前传输系统的一个卫星传输系统描述符,那么这个描述符对于这个IRD就是无效的。

c、如果当前传输系统一个有效的NIT在SI比特流中出现,那么这个NIT应当列出当前传输系统中所有的TS。

d、SI流每10秒钟应当至少包含8个TS包来传输NIT或者空包。这个规定简化了广播传输边界中NIT的复位(replacement)。使用这样的复位机制,使得本地频率控制使用低廉设备成为可能。 SI使用两个标志来描述传输系统。它们分别是network_id和original_network_id。后者用来作为一个TS中的一个服务的唯一标志符,即使这个TS被传送到了其他的传输系统之中。一个TS可以被path:original_network_id/transport_stream_id唯一标识。一个服务可以被path:original_network_id/transport_stream_id/service_id唯一标识。显然,network_id不在这个path之内。另外,每个original_network_id中都有不同的service_id。当一个服务(同一个TS内)被传送到另一个传输系统后,只有network_id改变了,original_network_id不受影响。
下面举个例子,考虑如下情况:有两个服务(A和B),它们源于两个不同的传输系统并且碰巧有相同的service_id和transport_stream_id,它们被传输到一个新的传输系统。

在这个例子中,这两个服务被安排在新network中的不同的TS中。如果这两个服务被放在同一个TS中,那么必须修改服务的ID号,因为在同一个TS中一个service_id不能够分配给多个服务,并且一个TS仅仅可以对应一个original_network_id。

2、BAT信息

BAT提供一组服务,这些服务提供了一个基础,IRD在这些基础之上向用户展示有效的服务。BAT的传输是可选的。下面的规则提高了SI比特流的连贯性并且简化了IRD的工作。

SI比特流应当在每个BAT子表中列出集锦的所有服务。

注意:一个服务可以属于多个bouquet。这一规定使得IRD可以通过不同的TS得到一个服务。

如果IRD将bouquet中服务信息提供给用户,那么列在bouquet中的服务就得到保证,否则一些服务将会丢失。一个bouquet可以把不同网络传输的多个TS中的服务集中起来。如果BAT中所有服务都被列在SDT中,IRD对bouquet中所有服务信息的访问将会变得容易。同样的,如果NIT信息给出所有TS中service的容量,IRD对service的访问将会变得容易。

3、SDT信息

SDT用来罗列TS中service的名称以及其他参数。每一个TS中都有一个独立的SDT子表。为了提高对service的采集,定义了下列规则:
强制传输当前TS的SDT。

SDT列出的SI比特流至少包括TS中所有服务。

另外:

当前TS(例如table_id=0x46)中SDT描述其他TS时,应当列出这个TS的所有service。强烈推荐service_id,在一个network中一旦把一个service_id分配给了一个特定的服务,那么这个service_id将不再变化,以便于IRD实现收藏频道列表之类的功能。 好文!

扫码下方或搜索关注公众号“卫星参数网”,独家内幕新闻!

卫星参数网公众号