版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 缩写(ABBREVIATION)12 基本概念22.1 传输流(TRANSPORTSTREAM/TS)22.2 网络(NETWORK)22.3 业务(SERVICE)22.4 业务群(BOUQUET)22.5 事件(EVENT)32.6 组件(COMPONENT)32.7 PSI/SI33 PSI/SI表的结构43.1 TABLE、SUB_TABLE和SECTION43.2 SECTION43.2.1 section_header53.2.2 descriptor53.2.3 table_loop64 PSI/SI表74.1 PMT(PROGRAMMAPTABLE)74.2 PAT(PRO
2、GRAMASSOCIATIONTABLE)84.3 CAT(CONDITIONALACCESSTABLE)84.4 NIT(NETWORKINFORMATIONTABLE)94.5 SDT(SERVICEDESCRIPTIONTABLE)104.6 EIT(EVENTINFORMATIONTABLE)104.7 BAT(BOUQUETASSOCIATIONTABLE)111 缩写(Abbreviation)缩写词全称中文意思MPEGMotionPictureExpertSGroup运动图象专家组DVBDigitalVideoBroadcasting数字视频广播IRDIntegratedRece
3、iverDecoder综合接收解码器PSIProgramSpecificInformation节目说明信息SIServiceInformation业务信息CATConditionalAccessTable条件接收表PATProgramAssociationTable节目关联表PMTProgramMapTable节目映射表EITEventInformationTable事件信息表NITNetworkInformationTable网络信息表SDTServiceDescriptionTable业务描述表TDTTimeandDateTable时间/日期表BATBouquetAssociationTa
4、ble业务群关联表RSTRunningStatusTable运行状态表TOTTimeOffsetTable时间偏移表uimsbfunsignedintegermostsignificantbitfirstbslbfbitstring,leftbitfirst2 基本概念2.1 传输流(TransportStream/TS)传输流是MPEGII规范的系统层提出的、对多路节目进行复用的两种方案之一,它主要针对非可靠信道的传输(另一种方案一一节目流是针对可靠信道的传输而提出的),比如卫星信道、微波信道和CATV信道。传输流这种机制可将多路节目复用成一个流,并且,同一节目还可以包含多个视频和音频流。组
5、成传输流的是一系列连续的数据包,简称TS包。TS包的长度固定,一般是188字节。如果在这种TS包的尾部加入16字节的RS纠错码,则包长为204字节。传输流的形成过程可以用图2.1来说明。组成节目的视频流和音频流经过基础流编码器之后,形成基本流,每一路视频流或音频流对应一路基本流。基本流经过打包,形成PES包流。每一个PES包都有流标识、用于视、音频解码和播放同步的时戳。PES包和其它的数据、控制信息经过复用器,形成TS包。每一个TS包都有一个包标识PID,同一基础流对应的TS包,PID的值相同。TS流就是通过对各个基础流分配不同的PID号来唯一的标识各个不同的基础流、信息表和其它数据。每一个T
6、S包最多只能传输一路基础流的内容。图2.1传输流系统框图为了实现众多编码器与解码器直接的时钟同步,防止解码器的缓冲发生上溢或下溢,在系统流中加入了一个精确的系统级时间参考值,在TS流中,这个值被称为节目参考时钟PCRo在解码器端,当检测到本地系统时钟和PCR所表征的时钟不一致时,解码器将调整本地系统时钟。2.2 网络(network)一个传输系统,可以传输一组MPEGII码流。网络使用network_id来进行标识,不同运营商所运营的网络,对应的network_id不同。2.3 业务(service)在广播者的控制下,可以按照时间表分步广播的一系列节目。一个业务可以理解为一个逻辑意义上的频道。
7、使用service_id来标识一个业务。同一个传输流中,service_id必须唯一。2.4 业务群(bouquet)一个业务群是一系列业务的集合。这些业务可以来自不同的TS流甚至不同的网络。业务群的概念可以这样来理解:假设有两个业务提供商PA和PB,PA提供了10套节目,PB提供了20套节目。但是,对于某一个地域的用户,只希望他们收到PA提供的3套节目和PB提供的5套节目。此时,可以将这些节目组成一个业务群。2.5 事件(event)一组属于普通业务的广播数据流,它定义了起始时间和结束时间,一个事件就是一个节目,更确切的说,是一个节目段。例如:一场足球比赛的半场,新闻快报,娱乐表演的第一部分
8、。2.6 组件(Component)组件是组成节目段的一个或多个实体,对应“传输流”概念中的基础流。以上概念之间的关系如图2.2所示。事件组件网络卫星复用转发器1转发器2转发器T业务有线地面通道1通道2事件1事件2事件T视频图2.22.7 PSI / SI在MPEG II标准的系统部分重点描述了 MPEG II系统级传输流中包含的 PSI信息。PSI描述了传输流所携带的内容,包含了对构建各节目的基本流的描述和对节目本身的描述。为了给 收和解码所需信息,支持更复杂的应用,DVB又准备了一个开放的服务信息系统(信号。SI可以描述由某一播放者提供的每一个服务的技术特征及其他的信息,通过 在传输流中选
9、择服务或事件,机顶盒使用SI信息能完成自动配置和自动接收。IRD提供更多的接DVB-SI )来辅助 DVBSI的帮助,用户可以所有的PSI/SI信息都以表的形式从中心系统广播下来,表中包含了整个广播网络的物理特征和节目信息,所有这些表在传输时,都将被封装在大小固定的被称为段(section )的数据块中。3 PSI/SI表的结构3.1 table、sub_table和sectionPSI表包括CAT、PAT、PMT,SI表包括NIT、SDT、EIT、BAT、TDT、TOT、RST等。从结构上来说,这些表都由一个或多个子表组成,而子表又进一步由一个或多个section组成。section最初是在
10、MPEGII中定义的语法结构,在从PSI表到TS包的转换过程中,section起到了中介的作用。DVB在扩展PSI为SI的时候,沿用了这种语法结构。PSISI表的框架如图3.1所示:TableSubTable图3.1Table、SubTable和Section的结构关系不同的表之间可以通过表标识(table_id)进行区分,属于同一个table_id的不同子表一般通过表的扩展标识(table_id_extension)、版本号(version_number)进行区分,对于EIT和SDT的子表,还要加上其它的条件。这些用于区分子表的“域”(field)在每一个具体的表中都作了定义。3.2 sec
11、tion一个比较一般的section结构如图3.2所示。PSISI_table_section()section_header;fori=0;i<N;i+/*1stdescriptorloop*/descriptor。;other_fields;fori=0;i<N;i+/*tableloop*/table_loop_header;forj=0;j<M;j+/*2nddescriptorloop*/descriptor();section_tail;一图3.2section的结构在section_header部分包含了用于区分子表的"域"(field);s
12、ection_header之后可能有第一层描述符循环和表循环,一个表循环之中又可能再次包含描述符循环(习惯上称为第二层描述符循环)。所谓“循环”,就是指相同或类似的数据结构重复出现。“other_fields”位置处一般会有一个数据用于指示表循环结构的长度(以字节为单位),"section_tail"处一般是一个32位的CRC校验位。3.2.1section headersection_header的语法结构如表3.1所示表3.1section_header语法结构SyntaxNo.ofbitsIdentifierRemarksection_headertable_id8u
13、imsbfsection_syntax_indicator1bslbfreserved_future_use1bslbfreserved2bslbfsection_length12uimsbftable_id_extension16uimsbfIfsection_syntax_indicator=1version_number5uimsbfIfsection_syntax_indicator=1current_next_indicator1bslbfIfsection_syntax_indicator=1section_number8uimsbfIfsection_syntax_indicat
14、or=1last_section_number8uimsbfIfsection_syntax_indicator=1不同的PSISI表具有不同的table_id,在文档En300468中,有PSISI表和table_id的对应关系。section_syntax_indicator最早在MPEGII中使用,主要用于“私有数据表”(privatedatatable),其值为0和1的时候,私有数据表的结构不同。DVB中也使用了section_syntax_indicator,当它的值为1时,section的第四、第五个字节表示table_id_extension,并且从section第43位开始的5
15、位表示子表的版本号(version_number),第48位表示当前表是否有效(current_next_indicator),第7个字节表示当前section的编号(section_number),第8个字节记录子表中section_number的最大值。section_length表示从section的第四字节开始到section结束的数据区的字节长度。对于一般的PSISI表,section_length的最大值为1024;对于EIT表,section_length的最大值为4096。当section_syntax_indicator的值为1时,section的第四、第五字节表示table
16、_id_extension,对于不同的表,table_id_extension的物理意义不同。PSISI表中有两个表例外,即PSI表中的CAT表和SI表中的ST表。这两个表都没有table_id_extension,但CAT表的section_syntax_indicator必须是1,ST表的section_syntax_indicator可以为0,也可以为1。当section_syntax_indicator的值为1时,从section第43位开始的5位表示子表的版本号(version_number)。version_number的值从零开始,每当子表内容改变时,version_number
17、的值力口1。当version_number增加到31后,再次回归到零。当section_syntax_indicator的值为1时,section的第48位表示当前表是否有效(current_next_indicator)。如果current_next_indicator的值为1,表示当前表有效,为0,表示当前表无效,下一个表有效。3.2.2 descriptor一个descriptor是一个语义上比较完整的语法结构,用于提供特定的信息,比如,network_name_descriptor用于描述一个网络名称,service_descriptor用于描述一个业务的类型、业务提供商的名称和业务名
18、称。所有的descriptor都以一个8位的标识:descriptor_tag开使,后面紧跟一个8位的数表示从descriptor的第3个字节开始到descriptor结束的数据区的字节长度。从descriptor的第3个字节开始到descriptor结束的数据是各个descriptor的具体内容。如表3.2所示。表3.2descriptor结构示意SyntaxNo.ofbitsIdentifierPSISI_descriptor()descriptor_tag8uimsbfdescriptor_length8uimsbfdescriptor_content)descriptor_tag的值可
19、以从0255,其中,0、1保留,218是PSI中定义的描述符,1963保留,64110是SI中定义的描述符,111127保留,128254可以定义私有描述符,255禁用。如图3.3PSI descriptorsSI descriptors| user define descriptorsreservedforbidden图3.3descriptor_tagallocation为了叙述方便,下文将descriptor_tag值在218的描述符称为PSI描述符,将descriptor_tag值在64110的描述符称为SI描述符。同一个descriptor可能位于不同的PSISI表中,也可能位于同一
20、个PSISI表的第一和(或)第二层描述符序列中。文档IS13818没有规定PSI描述符在PSI表中可能出现的位置。可以认为,PSI描述符可以出现在PSI表中的任何位置,只要该描述符对于该PSI表是有特定意义的。文档En300468的表12描述了SI描述符在PSISI表中可能出现的位置,在文档Etr211中,详细规定了各个SI表中允许出现的SI描述符。对于某一个特定的SI表,在section中的特定位置,只能出现特定的SI描述符,其它描述符在这个位置出现都是没有意义的。3.2.3 table_looptable00P对应于特定的PSISI表,不同PSISI表的table_l00P结构上不同,具有
21、不同的含义。例如,NIT表的table_l00P对应特定网络中的传输流,传输流的个数等于NIT中table_l00P的个数;SDT表的table_l00P对应特定传输流中的业务(service),service的个数等于SDT中table_l00P的个数。图3.4是对本节的总结。PSISI_table_sectionsection_header1st descriptor loopdescriptordescriptorother_fieldstable looptable_id8uimsbfsection_syntax_indicator1bslbfreserved_future_use1b
22、slbfreserved2bslbfsection_length12uimsbftable_id_extension16uimsbfversion_number5uimsbfcurrent_next_indicator1bslbfsection_number16uimsbflast section number16uimsbfSyntax No. of bits Identifiersection_header table_loop_header2nd descriptor loopdescriptordescriptorsection_tailSyntax No. of bits Ident
23、ifierPSISI_descriptor() descriptor_tag8uimsbfdescriptor_length8uimsbfdescriptor_content 图3.4PSI/SI结构4PSI/SI表4.1 PMT(ProgramMapTable)现在回顾一下图2.1,在节目发送端,一个节目(用program_number标识)可以由音频流、视频流组成,视、音频流经过处理,形成TS包之后,对应的TS包便带上了PID信息。不同的视、音频流对应的PID值不同。PMT描述了当前TS流中节目的视、音频PES流和PCR的PID,PMT的个数等于当前TS流中节目的个数。通过PMT,可以从M
24、PEGII传输流中提取指定节目的基本流并予以解码重放。PMT的语法结构如表4.1所示。表4.1PMT语法结构SyntaxNo.ofbitsIdentifierprogram_map_section()table_id8uimsbfsection_syntax_indicator1bslbfreserved_future_use1bslbfreserved2bslbfsection_length12uimsbfprogram_number16uimsbfreserved2bslbfversion_number5uimsbfcurrent_next_indicator1bslbfsection_n
25、umber8uimsbflast_section_number8uimsbfreserved3bslbfPCR_PID13uimsbfreserved4bslbfprogram_info_lengthfor(i=0;i<N;i+)12uimsbfdescriptor。for(i=0;i<N;i+)stream_type8uimsbfreserved3bslbfelementary_PID13uimsbfreserved4bslbfES_info_lengthfor(j=0;j<N;j+)12uimsbfdescriptor。CRC_3232rpchof表中的program_n
26、umber用于标识当前节目,PCR_PID指示带有当前节目PCR信息的TS包的PID,PMT循环结构的个数等于组成该节目的视、音频流的个数,每一个循环结构和组成该节目的一个视频或音频流对应,stream_type说明流的类型,elementary_PID指示带有流数据的TS包的PID。收到节目的PMT后,可以根据PCR_PID获得PCR,实现接收端和发送端的时钟同步;根据每个表循环中的elementary_PID获得相应基础流的数据,重现节目。PMT的接收同样是根据PID来实现的,PID的值从下面的PAT中获得。4.2 PAT(ProgramAssociationTable)PAT表规定使用P
27、ID=0的TS包来传送,它列出了所属TS流中所有节目的编号,以及各编号节目所对应的PMT的PID。根据列出的PID,接收端就可以获得所有的PMT表。PAT如表4.2所示。表4.2PAT语法结构SyntaxNo.ofbitsIdentifierprogram_association_section()table_id8uimsbfsection_syntax_indicator1bslbf0”1bslbfreserved2bslbfsection_length12uimsbftransport_stream_id16uimsbfreserved2bslbfversion_number5uimsb
28、fcurrent_next_indicator1bslbfsection_number8uimsbflast_section_number8uimsbffor(i=0;i<N;i+)program_number16uimsbfreserved3bslbfif(program_number=0)network_PID13uimsbfelseprogram_map_PID13uimsbf)CRC_3232rpchof在PAT的表循环中,一般有一个program_number值为0的循环,该循环中包含了NIT表的PID的信息;其它的循环中都是一个节目对应PMT的PIDo如果要收看的节目属于条件
29、接收节目,接收端还必须提取PSI中的条件接收表,利用其中的信息对被加扰的节目进行解扰。4.3 CAT(ConditionalAccessTable)CAT表使用PID=0x0001的TS包来传送,其语法结构如表4.3所示SyntaxNo.ofbitsIdentifierCA_descriptor()descriptor_tag8uimsbfdescriptor_length8uimsbfCA_system_ID16uimsbfreserved3bslbfCA_PID13uimsbffor(i=0;i<N;i+)private_data_byte8uimsbfCA_descriptor (
30、右)的语法结构表4.3CAT表(左)和SyntaxNo.ofbitsIdentifierconditional_access_section()section_headerfor(i=0;i<N;i+)descriptor()CRC_3232rpchofCAT表的信息在描述符CA_descriptor中,CA_system_ID用于标识CA系统,CA_system_ID的值是统一分配的,在文档ETR162中可以查到;条件接收节目在编码的时候,相应CA系统的EMM(entitledmanagementmessage)或ECM(entitledcontrolmessage)信息也同时通过TS
31、包发出,CA_PID用于指示这些TS包的PID。一旦某一个CA系统参与了加扰工作,在CAT中就有一个CA_descriptor用于描述该CA系统。4.4 NIT(NetworkInformationTable)NIT传输与复用器/传输流(TS)的物理结构有关的信息,以及网络本身的特点。在MPEGII中,NIT属于私有表,传送NIT的TS包的PID可以在0x00100x1FFF之间选择,因此,PAT表中专门有一个program_number=0的循环用于指示传送NIT的TS包的PID;在DVB中对NIT作了进一步的定义,并且规定,NIT信息必须使用PID=0x0010的TS包传送,这样,接收NI
32、T时就不需要从PAT中查找其PID,而直接去PID=0x0010的TS包中接收即可。NIT的语法如表4.4所示。表4.4NIT语法结构(部分)SyntaxNo.ofbitsIdentifiernetwork_information_section()table_id8network_id16uimsbffor(i=0;i<N;i+)descriptor。reserved_future_use4bslbftransport_stream_loop_lengthfor(i=0;i<N;i+)12uimsbftransport_stream_id16uimsbforiginal_netw
33、ork_id16uimsbfreserved_future_use4bslbftransport_descriptors_lengthfor(j=0;j<N;j+)12uimsbfdescriptor()CRC_3232rpchof其中,table_id的取值可以是0x40或0x41,当table_id=0x40时,表示NIT描述的是当前网络的信息;table_id=0x41时,NIT描述的是其它网络的信息。,DVB规定,table_id=0x40的NIT表必须发出。network_id是NIT描述的网络的标识。NIT表的每一个表循环用于描述network_id指定网络中的一个TS流。从
34、表循环的结构可以看出,一个TS流是用ts_id和original_network_id来唯一标识的。考虑下面的情况:假设在网络A(network_id=NID_A)和网络B(network_id=NID_B)中分别产生了一路TS流TS_A和TS_B,它们的ts_id相同,都是TS_ID_ABo当TS_A和TS_B各自在独立的网络中传输时,没有问题。但如果这两路TS流传输到了同一个网络中时,只根据ts_id来标识它们就出现了问题,很显然,TS_A和TS_B是不同的TS流,但它们的ts_id是相同的。所以,为了唯一的标识TS流,引入了original_network_id,表示TS流产生的网络。这
35、样,对于上面的情况,TS_A的标识是NID_A,TS_ID_AB,TS_B的标识是NID_B,TS_ID_AB,TS流不同,标识也不同。在NIT的第二层描述符序列中,可以使用一个叫service_list的描述符列出相应TS流中所有的业务。service_list_descriptor的语法如表4.5所示。表4.5service_list_descriptor语法结构SyntaxNo.ofbitsIdentifierservice_list_descriptor()descriptor_tag8uimsbfdescriptor_lengthfor(i=0;i<N;I+)8uimsbfse
36、rvice_id16uimsbfservice_type)8uimsbf在描述符的循环结构中,列出了所有业务的标识和类型。4.5 SDT(ServiceDescriptionTable)SDT表使用PID=0x0011的TS包传送,其语法结构如表4.6所示。表4.6SDT语法结构(部分)SyntaxNo.ofbitsIdentifierservice_description_section()table_id8uimsbftransport_stream_id16uimsbforiginal_network_idfor(i=0;i<N;i+)16uimsbfservice_id16uim
37、sbfreserved_future_use6bslbfEIT_schedule_flag1bslbfEIT_present_following_flag1bslbfrunning_status3uimsbffree_CA_mode1bslbfdescriptors_loop_lengthfor(j=0;j<N;j+)12uimsbfdescriptor。CRC_3232rpchofSDT用于描述由ts_id,original_network_id确定的TS流中所有service的信息,TS流可以是当前TS流或者其它的TS流。当table_id取值为0x42时,SDT对应当前的TS流;当
38、table_id取值为0x46时,SDT对应其它的TS流。DVB规定,table_id为0x42的SDT表必须发出。SDT表循环结构的个数等于TS流中service的个数,service_id和ts_id、original_network_id一起,用于唯一确定一个serviceoDVB建议,一旦某一个service被分配了一个service_id之后,这个service_id应该保持不变,这样有利于IRD提供一些诸如"favouratechannel”之类的功能。running_status标识service的状态,free_CA_mode标识service中是否含有经过加扰的ev
39、ent。4.6 EIT(EventInformationTable)EIT表描述由original_network_id,ts_id,service_id所标识的service中的event信息,对于每一个service,都有一个EIT子表和它对应。一个EIT表循环结构的对应于service中的event,当event的数目大于1时,这些event按照起始时间的先后顺序排列。EIT表使用PID=0x0012的TS包传送,其语法结构如表4.7所示。表4.7EIT表语法结构SyntaxNo.ofbitsIdentifiernetwork_information_section()table_id8
40、uimsbfservice_id16uimsbftransport_stream_id16bslbforiginal_network_id16uimsbfsegment_last_section_number8last_table_id8for(i=0;i<N;i+)event_id16uimsbfstart_time40bslbfduration24uimsbfrunning_status3uimsbffree_CA_mode1bslbfdescriptors_loop_length12uimsbffor(j=0;j<N;j+)descriptor。CRC_3232rpchofEIT的table_id的取值和含义可以用表4.8来说明表4.8EIT表table_id的取值和含义table_id含义0x4EEIT描述的当前/后继(present/following)event信息在当前传输流中;0x4FEIT描述的当前/后继(present/following)event信息不在当前传输流中(在其它传输流中);0x500x5FEIT描述的节目预报信息(eventscheduleinformation)在当前传输流中;0x600x6FEIT描述的节目预报信息(eventscheduleinformation)不在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职业病危害事故应急管理制度与救援预案培训
- 粉尘作业场所防爆实施细则培训
- 2026天通苑北社区卫生服务中心招聘考试备考题库及答案解析
- 2026浙江宁波市农业农村局下属事业单位宁波市农业农村大数据发展中心招聘1人考试备考题库及答案解析
- 食品库房卫生管理制度培训
- 电子电气产品安全检验员变更管理考核试卷含答案
- 成都市龙泉驿区 所属事业单位2026年上半年公开考试招聘中小学教师(103人)考试备考试题及答案解析
- 2026四川成都市都江堰市事业单位赴外考核招聘10人笔试参考题库及答案解析
- 2026浙江台州市黄岩经开投资集团有限公司下属公司招聘21人考试备考题库及答案解析
- 2026年智算中心余热回收利用与供热系统耦合设计
- 文化旅游嘉年华主题活动方案
- 2026年常州机电职业技术学院单招职业倾向性测试题库附答案详解(a卷)
- 2026年《必背60题》抖音本地生活BD经理高频面试题包含详细解答
- GB/T 5973-1986钢丝绳用楔形接头
- GB/T 1303.1-1998环氧玻璃布层压板
- 变电站的主要一次设备(课堂PPT)
- 药用植物栽培技术-绪论课件
- 农业面源污染进展课件
- 卫生专业技术人员基本信息表
- 国外马克思主义
- 五年级下册美术《第18课-民间陶瓷》课件-赣美版
评论
0/150
提交评论