DVB业务信息PSI SI综述Word文档格式.docx
《DVB业务信息PSI SI综述Word文档格式.docx》由会员分享,可在线阅读,更多相关《DVB业务信息PSI SI综述Word文档格式.docx(27页珍藏版)》请在冰豆网上搜索。
for(I=0;
I++){获取属于本群的传输流描述
transport_stream_id16bit传输流标识
original_network_id16bit原始网络标识
transport_descriptors_length12bit传输描述符长度
for(j=0;
j<
j++){获取每一个TS下的业务描述子(业务列表描述符、私有数据说明描述符)
descriptor()读取描述参数
CRC_3232bit循环校验码
BAT表所支持的描述符如下(打※号的是最常用的描述符):
※service_list_descriptor业务列表描述符
Stuffing_descriptor填充描述符
※bouquet_name_descriptor业务群组名称描述符
Linkage_descriptor连接描述符
Private_data_specifier_descriptor专用(私有)数据说明符描述符
Country_availability_descriptor国家有效性描述符
CA_identifler_descriptor条件接收标识描述符
Multilingual_bouquet_name_descriptor多语言业务群组名称描述符
BAT表常用的描述符数据结构
Bouquet_name_descriptor(){业务群组名称描述符
Descriptor_tag8bit描述符起始标记
Descriptor_length8bit描述符长度
I++){
Char8bit业务群组名称字符集
下图是一个真实的BAT表,此表由3个段组成。
条件接收表(CAT)的段数据结构:
CA_section(){条件接收段
Table_id
8bit表标识
“0”1bit
reserved2bit保留字段
Reserved
18bit保留字段
Version_number
5bit表版本号,作为表更新机制
I++){获取CA系统(如有多个CA系统同密,则每一个CA_descriptor对应一个CA系统)
CA_descriptor()
读取描述参数
CA_descriptor描述符数据结构:
CA_descriptor(){CA描述符
CA_system_id16bit条件接收系统标识
3bit
保留字段
CA_PID13bit该字段表示传送包的PID值,此包中含有由相应CA_system_id指明的CA系统的ECM和EMM信息
Private_data_byte8bit
私有数据字节
下图是一个真实的CAT表。
业务描述表(SDT)的段数据结构:
service_descriptor_section(){业务描述段
2bit保留字段
Transport_stream_id16bit传输流标识
Original_network_id
16bit原始网络标识
Reserved_future_use
4bit保留将来使用字段
I++){获取业务个数
Service_id16bit业务标识,通常它等于节目号(program_number),以此来指向需要的节目。
6bit保留将来使用字段
EIT_schedule_flag1bit
EIT时间表信息标记,为1时表示信息在当前流,为0时则不在当前流。
EIT_present_following_flag1bitEIT当前/后续事件信息标记,为1时表示信息在当前流,为0时则不在当前流
Running_status3bit运行状态标记
Free_CA_mode1bit是否加扰标记,1值表示加扰,0值表示不加扰
descriptors_loop_length12bit描述符循环长度
j++){获取每一个业务描述子(业务描述符、多语言节目名称描述符等)
SDT表所支持的描述符如下(打※号的是最常用的描述符):
※service_descriptor
业务描述符
Stuffing_descriptor
填充描述符
※bouquet_name_descriptor
业务群组名称描述符
Linkage_descriptor
连接描述符
Private_data_specifier_descriptor
专用(私有)数据说明符描述符
CA_identifler_descriptor
条件接收标识描述符
Multilingual_service_name_descriptor
多语言节目名称描述符
NVOD_reference_descriptor准视频点播参考描述符
Time_shifted_service_descriptor时间移位业务描述符
※Mosaic_descriptor马赛克描述符
Telephone_descriptor电话描述符
※
Data_broadcast_descriptor数据广播描述符
SDT表常用的描述符数据结构
service_descriptor(){业务描述符
descriptor_tag8bit描述符起始标记
descriptor_length
8bit描述符长度
service_type
8bit
业务类型
service_provider_name_length
8bit业务提供者名称长度
for(i=0;
i<
i++){
char8bit字符集
}
service_name_length
8bit业务名称长度
char8bit
字符集
bouquet_name_descriptor(){业务群名称描述符
Char
data_broadcast_descriptor(){
数据广播描述符
descriptor_length8bit描述符长度
data_broadcast_id
16bit数据广播标识
component_tag
8bit组件标记,取值与流标识描述符中的component_tag字段相同.
selector_length
8bit选择器字段长度
selector_length;
Selector_type8bit选择器类型
ISO639-2_language_code
24bit语言编码
text_length
8bit文本长度
text_length;
text_char
8bit文本字符集
}
下图是个真实的SDT表。
**************************************************************************
节目信息表(EIT)的段数据结构:
event_information_section(){事件信息段
service_id16bit业务标识,通常它等于节目号(program_number),以此来关联描述的节目。
segment_last_section_number8bit最后的片段号。
如果子表未分片断,该字段值与弹last_section_number的值相同。
last_table_id
8bit最后段的表标识
I++){获取播放事件
Event_id16bit事件标识(在一个业务内是唯一分配的)
Start_time40bit开始时间
Duration24bit持续时间
Running_status3bit运行状态
Descriptor_loop_length12bit描述符循环长度
j++){获取每个事件描述子(短事件描述符、扩展事件描述符、内容描述符等)
CRC_3232bit循环校验码
EIT表所支持的描述符如下(打※号的是最常用的描述符):
※Short_event_descriptor
短事件描述符
※Extended_event_descriptor
扩展事件描述符
time_shifted_event_descriptor
时间移位事件描述符
※component_descriptor组件描述符
※Content_descriptor内容描述符
※Parental_rating_descriptor家长分级描述符
Multilingual_component_name_descriptor
多语言组件名称描述符
Short_smoothing_buffef_descriptor短平滑缓冲器描述符
linkage_descriptor链接描述符
Data_broadcast_descriptor数据广播描述符
EIT表常用的描述符数据结构
Short_event_descriptor(){
ISO_639_language_code24bit语言编码
Event_name_length8bit事件名称长度
event_name_length;
Event_name_char8bit事件名称字符集
text_length8bit文本长度
}
extended_event_descriptor(){扩展事件描述符
Descriptor_number4bit描述符号
Last_descriptor_number4bit最后描述符号
Length_of_items8bit条目长度
N;
Item_descriptor_length8bit条目字符长度
item_length8bit条目长度
j++){
item_char
8bit条目字符集
component_descriptor(){组件描述符
Stream_content
4bit
码流内容
Component_type8bit
组件类型
Component_tag8bit
组件标记
content_descriptor(){
内容描述符
descriptor_tag
描述符起始标记
i++){
content_nibble_level_1
第一级的节目内容分类
content_nibble_level_2
第二级的节目内容分类
user_nibble
使用者定义字段
content_nibble_level_1和content_nibble_level_2的分配
下图是一个真实的EIT表
****************************************************************************
节目关联表(PAT)的段数据结构:
program_association_section(){节目关联段
Section_syntax_indicator1bit段序列指示(标记位)
I++){获取本流的节目号
Program_number16bit节目号
Reserved3bit保留字段
if(Program_number==0){如果节目号等于零
network_id13bit
那么节目号是一个网络标识
else{
program_map_PID13bit
否则节目号是一个PMT表的标识
下图是一个真实的PAT表。
时间与日期表(TDT)的段数据结构:
time_date_section(){时间日期段
table_id8bit表标识
Resetved2bit保留字段
UTC_time
40bit当前的时间和日期
******************************************************************************
节目影射表(PMT)的段数据结构:
TS_program_map_section(){传输流节目影射段
3bit保留字段
PCR_id13bit同步时钟标识
4bit保留字段
Program_info_length12bit节目信息长度
I++){获取表所带的描述符信息(如CA描述符等)
I++){获取节目组件
Stream_type8bit传输流的类型
Elementary_PID13bit元素标识,指示TS包的PID值,这些包含有相关的节目元素
ES_info_length12bitES信息长度,指示跟随其后的描述相关节目元素的字节数
i++){
PMT表所支持的描述符如下(打※号的是最常用的描述符):
Mosaic_descriptor马赛克描述符
※Stream_identifier_descriptor码流标识描述符
Teletext_descriptor图文电视描述符
Subtitling_descriptor字幕描述符
Service_move_descriptor业务转移描述符
PMT表常用的描述符数据结构
stream_ident