您的位置:首页 > 其它

PSI/SI深入学习3——SI信息解析1(NIT,BAT)

2015-07-21 10:55 330 查看
转自:http://blog.csdn.net/kkdestiny/article/details/12994675

PSI/SI深入学习

BASIC KNOWLEDGE LEARNING OF PSI/SI

SI信息

INFORMATION OF SI



"SI是对多个TS流的描述,它包含了PSI"

PSI只提供了单个TS流的信息,使接收机能够对单个TS流中的不同节目进行解码;但是,它不能提供多个TS流的相关业务,也不能提供节目的类型、节目名称、开始时间、节目简介等信息。因此,DVB对PSI进行了扩展,提供了其他不同类型的表,形成了SI。

SI定义了PAT、PMT和CAT之外的9张表,通过组织SI提供的这些数据,可以生成类似节目报表的形式,方便用户查看多种信息,这就是所谓的电子节目指南(EPG)。

下面给出了SI定义的十张表(NIT的由SI规定的):

NIT
Network Information Table
网络信息表
描述整个网络,如多少TS流、频点和调制方式等信息
SDT
Service Description Table
业务描述表
包含业务数据(如业务名称、起始时间、持续时间等)
BAT
Bouquet Association Table
业务群关联表
给出业务群的名称及其业务列表等信息
EIT
Event Information Table
事件信息表
包含事件或节目相关数据,是生成EPG的主要表
RST
Running Status Table
运行状态表
给出事件的状态(运行/非运行)
TDT
Time&Date Table
时间和日期表
给出当前事件和日期相关信息,更新频繁
TOT
Time Offset Table
时间偏移表
给出了当前时间日期与本地时间偏移的信息
ST
Stuffing Table
填充表
用于使现有的段无效,如在一个传输系统的边界
SIT
选择信息表
仅用于码流片段中,如记录的一段码流,包含描述该码流片段业务信息段的地方
DIT
间断信息表
仅用于码流片段,如记录的一段码流中,它将插入到码流片段业务信息间断的地方
SI定义的表,并不需要全部传输,其中,NIT、SDT、EIT和TDT是必须传输的;而又以NIT、SDT和EIT最为重要,利用这三个表可以构成功能不同的EPG,如提供节目附加信息、节目分类、节目预定和家长分级控制等。



NIT解析

PARSINGOF NIT



"NIT描述了数字电视网络中与网络相关的信息"

NIT描述了数字电视网络中与网络相关的信息,但这个表本身的信息有限,更多的信息是依靠插入表中的描述符来提供的。NIT常用的描述符有:网络名称描述符(network_name_descriptor)、有线传送系统(cable_delivery_system_descriptor)、业务列表描述符(service_list_descriptor)和链接描述符(linkage_descriptor)。下图是实际的一个例子中的两种描述符。



NIT的表结构分析

ANALYZEOFTHE STRUCTUREOFNIT



网络信息表(NIT)传递了与通过一个给定的网络传输的复用流/TS流的物理结构相关的信息,以及与网络自身特性相关的信息。

网络信息段


Syntax (句法结构) No. of bits(所占位数) Identifier(识别符) Note(注释)

network_information_section(){

table_id 8 uimsbf

Section_syntax_indicator 1 bslbf 通常设为“1”

Reserved_future_use 1 bslbf

Reserved 2 bslbf

Section_length 12 uimsbf 见注释

Network_id 16 uimsbf 见注释

Reserved 2 bslbf

Version_number 5 uimsbf 见注释

Current_next_indicator 1 bslbf 见注释

Section_number 8 uimsbf 见注释

last_section_number 8 uimsbf 见注释

Reserved_future_use 4 bslbf

Network_descriptors_length 12 uimsbf

for(i=0;i<N;i++){

descriptor() //First descriptor loop

}

reserved_future_use 4 bslbf

transport_stream_loop_length 12 uimsbf

for(i=0;i<N;i++){

transport_stream_id 16 uimsbf 见注释

original_network_id 16 uimsbf 见注释

reserved_future_use 4 bslbf

transport_descriptors_length 12 uimsbf

for(j=0;j<N;j++){

descriptor() //Second descriptor loop

}

}

CRC_32 32 rpchof 见注释

}

在SI标准中规定:original_network_idtransport_stream_id两个标识符相结合唯一确定了网络中的TS流。各网络被分配独立的network_id值作为网络的唯一识别码。当NIT表在生成TS流的网络上传输时,network_idoriginal_network_id将取同一值。

NIT表被切分为网络信息段(network_information_section)
任何NIT的段都必须由PID为0x0010的TS包传输
现行网络的NIT表任何段的table_id值应为0x40,且具有相同的table_id_extension即(network_id);
现行网络以外的其他网络NIT表的段table_id值应为0x41



注意到这里出现了两个循环,分别成为第一层循环和第二层循环;每层循环都插入了一个描述符,也就是一共插入了两个描述符。这两个描述符的特点如下:

第一层描述符
作用域是针对整个网络的,如插入网络名称描述符、链接描述符等
第二层描述符
作用域是第一层循环所代表的一个TS流,如插入有线传输系统描述符


上图提供的即是一个真实的NIT表,红色框内有两个描述符,分别是业务列表描述符service_list_descriptor和有线传输系统描述符cable_delivery_system_descriptor;它们都位于第二层循环。







NIT的业务列表描述符结构分析

ANALYZEOFTHE STRUCTUREOFSERVICE_LIST_DESCRIPTORINNIT



业务列表描述符通过业务标识符和业务类型提供业务服务。其目的在于:告诉接收机每一个TS流中存在多少个业务以及每一个业务的类型。其结构如下:

业务列表描述符

Syntax(句法结构) No. of bits(所占位数)Identifier(识别符)

service_list_descriptor(){

descriptor_tag 8 uimsbf

descriptor_length 8 uimsbf

for(i=0;i<N;i++){

service_id 16 uimsbf

service_type 8 uimsbf

}

}

service_id(业务标识符):唯一标识TS中的一个业务,它与program_map_section中的program_number(参看PMT表结构)相同。但当业务类型为0x04时(即NVOD参考业务,service_id没有对应的program_number)。

service_type(业务类型):指示业务的类型。如0x01为数字电视业务,0x02为数字音频广播业务,0x04为NVOD参考业务,0x05为NVOD时移业务。

HINT:下表给出了业务类型编码方法

service_type
描述
0x00
预留使用
0x01
数字电视业务
0x02
数字音频广播业务
0x03
图文电视业务
0x04
NVOD参考业务
0x05
NVOD时移业务
0x06
马赛克业务
0x07
PAL制编码信号
0x08
SECAM制编码信号
0x09
D/D2-MAC
0x0A
调频广播
0x0B
NTSC制信号
0x0C
数据广播业务
0x0D
公共接口使用预留
0x0E
RCS映射(见EN 301 790)
0x0F
RCS FLS(见EN 301 790)
0x10
DVB MHP业务
0x11~0x7F
预留使用
0x80~0xFE
用户定义
0xFF
预留使用


上图所示只是其中一个section的业务列表描述符,如果将所有的section全解析,那么此网络中所有TS流包含的所有service_id和service_type都可以获得。这样,用户可以据此了解整个网络业务的构成,并以此为基础对业务进行分类、整合。







NIT的有线传输系统描述符结构分析

ANALYZEOFTHE STRUCTUREOFCABLE_DELIVERY_SYSTEM_DESCRIPTORINNIT



有线传输系统描述符(Cable_Delivery_System_descriptor)是NIT业务中重要的描述符,也是基本运营所必需的描述符。它主要描述了每一个TS流的物理参数(频率、调制方式、符码率等),使接收机能正确锁频、得到数据。其结构如下:

有线传输系统描述符

Syntax(句法结构) No. of bits(所占位数)Identifier(识别符)

cable_delivery_system_descriptor(){

descriptor_tag 8 uimsbf

descriptor_length 8 uimsbf

frequency 32 bslbf

reserved_future_use 12 bslbf

FEC_outer 4 bslbf 前向纠错外码

modulation 8 bslbf

symbol_rate 28 bslbf

FEC_inner 4 bslbf 前向纠错内码

}

Frequency(频率):32位,以8个4位BCD码给出频率。其单位是MHz,小数点位于第四个BCD码之后,如0312.0000MHz。

Modulation(调制方式):指出有线传输系统的调制方式。其定义如下表:

调制方式(十六进制)
描述
0x00
未定义
0x01
16 QAM
0x02
32 QAM
0x03
64 QAM
0x04
128 QAM
0x05
256 QAM
0x06~0xFF
预留使用
symbol_rate(符码率):28位,以7个4位BCD码表示符码率。其单位是MSPS(兆符号每秒),小数点位于第三个BCD码后,如027.4500
MSPS



上图所示为一个真实TS流里的一个有线传输系统描述符。可以看到其频率为331.0000MHz,符码率为6.8750MSym/s,调制方式为64
QAM。









NIT的网络名称描述符结构分析

ANALYZEOFTHE STRUCTUREOFNETWORK_NAME_DESCRIPTORINNIT



网络名称描述符的功能比较简单,它以字符串的形式将网络的名称告诉接收机。下面是其描述符结构列表:

网络名称描述符

Syntax(句法结构) No. of bits(所占位数)Identifier(识别符)

network_name_descriptor(){

descriptor_tag 8 uimsbf

descriptor_length 8 uimsbf

for(i=0;i<N;i++){

char 8 uimsbf

}

}

char(字符):8位字段,一个字符串,给出NIT表指定的传送系统的名称。

NIT的链接描述符结构分析

ANALYZEOFTHE STRUCTUREOFLINKAGE_DESCRIPTORINNIT



链接描述符

Syntax(句法结构) No. of bits(所占位数)Identifier(识别符)

linkage_descriptor(){

descriptor_tag 8 uimsbf

descriptor_length 8 uimsbf

transport_stream_id 16 uimsbf

original_network_id 16 uimsbf

service_id 16 uimsbf

linkage_type 8 uimsbf

for(i=0;i<N;i++){

private_data_byte 8 bslbf

}

}

如果用户要求得到SI系统描述的特定实体的进一步信息,则可以使用链接描述符。链接描述符包含的信息给出了该实体的位置。如:可以在一个NIT中使用一个链接描述符,给出网络中可存放业务附加信息的位置;或者在BAT表中的链接描述符可链接到业务群的相关信息等。

使用链接描述符,也可以提供一种业务,以替换CA系统的功能。如果CA系统不能处理相应功能的时候,接收机就可以用这个业务来取代CA。

使用链接描述符,还可以以一种备用业务,用以替换主业务。若主业务的运行状态被置为“not_running”,那么,接收机可以自动选择被链接描述符指引的备用业务,以取代该业务。

使用链接描述符,还可以向移动接收机提供漫游功能。若现行业务其service_id下无法使用,IRD可以自动选择该功能。hand-over_type指明link_descriptor是否链接到不同国家的同一业务,或者链接到本地变更业务或关联业务。

总之,链接描述符为运营商提供了一种业务扩充功能,使得运营商可以更加灵活地组合各种业务。



NIT的软件下载链接描述符结构分析

ANALYZEOFTHE STRUCTUREOFDOWNLOAD_LINKAGE_DESCRIPTORINNIT



软件下载描述符用于运营商在网络内进行多于一个机顶盒的软件下载更新标识,在网络信息表NIT的第一个循环内,并且可能多次出现。针对同一组制造商号(manufacturer_id)、硬件类型(hw_model)、硬件版本(hw_version)和软件类型(sw_model),可能有不只一组的不同软件版本(sw_version)和开始时间(start_time)参数,并可能出现在同一个或多个链接描述符(linkage_descriptor)的各个循环内。





BAT解析

PARSINGOF BAT

"BAT将网络中的所有业务分成了多个业务群,以此界定用户"

BAT即业务群关联表(BouquetAssociation Table),它将网络中所有的业务分成了多个业务群,以此界定用户。例如,将网络中所有业务分为两个业务群,一个是境内节目业务群,另一个是境外节目业务群。这样,国内的运营商就可以利用这样划分的业务群,充分利用节目资源,在不违反现有广电总局规定的前提下,同时分别满足境内用户和境外用户。

BAT本身可以跨网络存在,但在国内运营体系来看几乎没有得到真正使用。国内的运营使用中,BAT还可以存在分级运营的运营体系中,用于区分不同的地域用户。

BAT被切分为业务群关联段,所有的业务群关联段都在TS中传输,其PID为0x0011。所有的业务群关联段的table_id都取0x4A。

HINT:SDT的TS包PID也为0x0011,其table_id为0x42或0x46。

BAT的表结构分析

ANALYZEOFTHE STRUCTUREOFBAT



下面给出了BAT表的段结构:

业务群关联段
Syntax(句法结构) No. ofbits(所占位数) Identifier(识别符) Note(注释)

bouquet_association_section(){

table_id 8 uimsbf

Section_syntax_indicator 1 bslbf 通常设为“1”

Reserved_future_use 1 bslbf

Reserved 2 bslbf

Section_length 12 uimsbf 见注释

bouquet_id 16 uimsbf 见注释

Reserved 2 bslbf

Version_number 5 uimsbf 见注释

Current_next_indicator 1 bslbf 见注释

Section_number 8 uimsbf 见注释

last_section_number 8 uimsbf 见注释

Reserved_future_use 4 bslbf

bouquet_descriptors_length 12 uimsbf

for(i=0;i<N;i++){

descriptor()

}

reserved_future_use 4 bslbf

transport_stream_loop_length 12 uimsbf

for(i=0;i<N;i++){

transport_stream_id 16 uimsbf 见注释

original_network_id 16 uimsbf 见注释

reserved_future_use 4 bslbf

transport_descriptors_length 12 uimsbf

for(j=0;j<N;j++){

descriptor()

}

}

CRC_32 32 rpchof 见注释

}

注意到BAT的结构和NIT类似,其作用和描述符的使用也与NIT大致雷同。其中,可以插入传输系统描述符、业务列表描述符等。这些表和NIT中的表已介绍,这里不再赘述。

BAT的业务群名称描述符结构分析

ANALYZEOFTHE STRUCTUREOFBOUQUET_NAME_DESCRIPTORINBAT



下面给出的是业务群名称描述符,它以文本方式给出了业务群的名称:

业务群名称描述符

Syntax(句法结构) No. of bits(所占位数)Identifier(识别符)

bouquet_name_descriptor(){

descriptor_tag 8 uimsbf

descriptor_length 8 uimsbf

for(i=0;i<N;i++){

char 8 uimsbf

}

}

char(字符):8位字段,用于描述BAT子表叙述的节目业务群名称

业务名称描述符和网络名称描述符类型,只是作为业务群的一个代号,其实际意义只存在于用户界面上,可以给用户一个良好的操作体验。



====================================

博主信息

====================================

Destiny
QQ: 1139904786
邮箱/Email:1139904786@qq.com
====================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: