数字电视PSI_SI剖析及其应用.pdf_第1页
数字电视PSI_SI剖析及其应用.pdf_第2页
数字电视PSI_SI剖析及其应用.pdf_第3页
数字电视PSI_SI剖析及其应用.pdf_第4页
数字电视PSI_SI剖析及其应用.pdf_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

中国有线电视 2007 (13) CH I NA D IGITAL CABLE TV 数字电视 中图分类号: TN949. 197 文献标识码:B 文章编号: 1007 - 7022(2007) 13 - 1237 - 07 数字电视PS I/S I剖析及其应用 华丕焕(厦门广播电视网络有限公司,福建 厦门361012) 摘 要:介绍PSI/SI主要组成表PAT、P MT、CAT、N IT、SDT、EIT、BAT的语法结构和功能,在此基础上, 提出了通过PSI/SI实现马赛克业务、 机顶盒开机画面的在线更新、 节目排序、 声道设置和音量补偿等功 能的具体方法。 关键词:节目特定信息/业务信息;DVB;MPEG - 2;表;描述子 Analysis and Application of PSI/SI HUA Pi2huan (Xiamen Broadcast Television Network Co. , Ltd, Fujian Xiamen 361012, China) Abstract:The syntax and function of PSI/SImajor tables, such as PAT, PMT, CAT, N IT, SDT, EIT and BAT are analyzed in thispaper, and the solutionsof realizingmosaic service, set2top2box power2on picture on2 line update, program sorting, sound channel setting and volume offsetting are also brought forward based on PSI/SI . Key words:PSI/SI; DVB; MPEG - 2; table; descriptor 1 概述 数字电视与传统模拟电视不同,传统电视一个频 道对应一套节目,只要调到相应的频率,就可以观看节 目,而在数字电视信号中,一个物理频道对应的是包含 多套节目的一个传输流,要观看某个节目,必须首先从 该传输流中提取出属于该节目的压缩包,然后再进行 解码。如何在众多的传输流及传输流内的多个节目中 选中某个节目进行播放呢?这就需要PSI/SI。 节目特定信息PSI(Program Specific Infor mation) 由MPEG - 2标准定义,它提供了一个传输流中有多 少节目、 节目的组成和相互关系等信息,从而使得机顶 盒可以正确地对传输流进行解复用。然而在实际使用 中,仅有PSI信息仍显得不够,为此DVB标准定义了 业务信息SI(Service Information)对PSI进行扩展,加 入一些对用户有用的信息,以标示节目的类型、 服务 商、 节目的相互关系等, PSI和SI都采用表的形式来存 储信息,通常一个表又由子表、 段、 描述子等元素构成。 1. 1 表(Table) 表最初是MPEG - 2标准定义的一种存储信息的 结构,通常由1个或多个子表(Sub_table)组成,不同 的表通过表标识( table_id)进行区分。 1. 2 段(Section) 段用于完成PSI/SI信息到传输流包的映射,表或 子表通常由1个或多个段组成,一个表允许被分成不 作者简介:华丕焕(19732 ) , 男,工程师,从事宽带网络平台和数字电视系统的建设、 规划工作, E - mail: huaphzx . xmgd. com。 7321 多于256个段,每个段携带表的一部分。 1. 3 描述子(Descriptor) 描述子也称描述符,是一个语义上比较完整的语 法结构,用于提供特定的信息。所有的描述子都以一 个8位的标识“descriptor_tag” 开始,后面紧跟一个8 位的数表示描述子数据区的字节长度,从描述子第3 个字节开始的数据则是各个描述子的具体内容,其结 构如表1所示。 表1 描述子语法结构 语法比特数助记符 PSISI_descriptor() descriptor_tag8uimsbf descriptor_length8uimsbf descriptor_content 2 PS I结构及功能 节目特定信息PSI由节目关联表PAT ( Program Association Table)、 节目映射表PMT(Program Map Ta2 ble) 、 条件接收表CAT(Conditional Access Table)和网 络信息表N IT(Network Information Table)组成, PSI的 几个表包含了解码和重现节目所需信息,其主要作用 是帮助机顶盒找到节目和要解压缩的码流, PSI信息 只与本传输流内的节目及服务有关, PSI结构以及各 表间的关联如图1所示。 2. 1 节目关联表PAT PAT表列出了本传输流中所有节目的编号及对应 PMT表的PI D以及网络信息表N IT的PI D,按MPEG - 2标准, PAT表的PI D固定为0,它是PSI信息的“ 根 目录 ”,只要找到PI D为0的表,机顶盒便能获知PMT 的PI D,继而找到所有的PMT表, PAT表语法结构如 表2所示。 表2 PAT表语法结构 语法比特数助记符 program_association_section() table_id8uimsbf section_syntax_indicator1bslbf 01bslbf Reserved2bslbf section_length12uimsbf transport_stream_id16uimsbf Reserved2bslbf version_number5uimsbf current_next_indicator1bslbf section_number8uimsbf last_section_number8uimsbf for( i =0; i N; i + + ) program_number16uimsbf Reserved3bslbf if(program_number = =0) network_PI D13uimsbf else program_map_PI D13uimsbf CRC_3232rpchof 表2中,若表循环内有一个program_number值为 0的循环,则表示本传输流含有一个N IT表,对应的 PI D即为N IT的PI D;若program_number值不为0,则 对应的是P MT的PI D。 8321 华丕焕:数字电视PSI/SI剖析及其应用 中国有线电视 2007年第13期 2. 2 节目映射表PMT PMT表描述了组成当前传输流某个节目的视频 流、 音频流、 数据流信息和PI D以及该节目参考时钟 PCR的PI D,通过PMT表,机顶盒就可以从传输流中 提取出组成该节目的基本流,并予以解码重放,一个 PMT表对应传输流中的一个节目, PMT表语法结构如 表3所示。 表3 PMT表语法结构 语法比特数助记符 program_map_section() table_id8uimsbf section_syntax_indicator1bslbf Reserved_future_use1bslbf Reserved2bslbf section_length12uimsbf Program_number16uimsbf Reserved2bslbf version_number5uimsbf current_next_indicator1bslbf section_number8uimsbf last_section_number8uimsbf Reserved3bslbf PCR_PI D13uimsbf Reserved4bslbf program_info_length12uimsbf for( i =0; i N; i + + ) descriptor() for( i =0; i N; i + + ) stream_type8uimsbf reserved3bslbf elementary_PI D13uimsbf reserved4bslbf ES_info_length12uimsbf For( j =0; j N; j + + ) descriptor() CRC_3232rpchof 表3中的program _number用于标识当前节目, PCR_PI D指示带有当前节目PCR (Program Clock Ref2 erence)信息的传输流包的 PI D。PMT循环结构的个 数等于组成该节目的基础流的个数,每一个循环结构 对应一个视频、 音频或数据流, stream_type说明流的类 型, elementary_PI D则指示带有流数据的传输流包的 PI D。 收到节目的P MT后,便可根据PCR _PI D获得 PCR,实现接收端和发送端的时钟同步,而根据每个表 循环中的elementary_PI D,便可获得相应基础流的数 据,实现节目重放。 2. 3 条件接收表CAT CAT表提供了条件接收系统的有关信息,指示了 CA系统及相应EMM (entitled management message)和 ECM (entitled control message)的PI D,按MPEG - 2标 准, CAT表的PI D固定为1,只要找到CAT表便可获知 EMM和ECM传输流包的PI D,进而实现对节目的解 扰, CAT表及CA描述子的语法结构如表4所示。 表4 CAT表语法结构 语法比特数助记符 conditional_access_section() section_header for( i =0; i N; i + + ) descriptor() CRC_3232rpchof 语法比特数助记符 CA_descriptor() descriptor_tag8uimsbf descriptor_length8uimsbf CA_system_I D16uimsbf reserved3bslbf CA_PI D13uimsbf for ( i =0; i N; i + + ) private_data_byte8uimsbf 数字电视平台有几家CA系统,在CAT表中便有 几个CA描述子,不同的CA系统通过CA_system_ I D 9321 中国有线电视 2007年第13期 华丕焕:数字电视PSI/SI剖析及其应用 来区分,而表中的CA_PI D就是指EMM和ECM传输 流包的PI D。 2. 4 网络信息表N IT N IT表提供了物理网络的有关信息,在MPEG - 2 中,N IT属于私有表,传送N IT的传输流包的PI D可在 0 x00100 x1FFF之中选择,因此, PAT表中专门有一 个program_number = 0的循环用于指示N IT的PI D。 在DVB中对N IT作了进一步的定义,并且规定N IT信 息必须使用PI D = 0 x0010的传输流包传送,这样接收 N IT时就不需要从PAT中查找其PI D,而直接去PI D = 0 x0010的传输流包中接收即可,N IT表语法结构如表 5所示。 表5 N IT表语法结构 语法比特数助记符 net work_information_section() table_id8uimsbf network_id16uimsbf for( i =0; i N; i + + ) descriptor() reserved_future_use4bslbf transport_stream_loop_length12uimsbf for( i =0; i N; i + + ) transport_stream_id16uimsbf original_net work_id16uimsbf reserved_future_use4bslbf transport_descriptors_length12uimsbf for( j =0; j N; j + + ) descriptor() CRC_3232rpchof 表5中, table_id的取值可以是0 x40或0 x41,当 table_id = 0 x40时,表示N IT描述的是当前网络的信 息; table_id = 0 x41时,表示N IT描述的是其他网络的 信息; DVB规定, table_id = 0 x40的N IT表必须发出。 network_id是N IT描述的网络的唯一标识,N IT表的每 一个表循环对应network_id指定网络中的一个传输 流。 3 S I结构及功能 业务信息SI(Service Information)是由DVB标准 提供用于辅助有线运营商进行运营的开放服务信息, SI信息的存储也是以表的形式,其结构参考了MPEG - 2标准,实际上就是以MPEG - 2标准中私有section 的结构进行定义的, SI信息可以包括不在当前传输流 中的一些服务和事件,允许用户进行更多的选择和了 解更多的其他服务。 SI信息由业务描述表SDT(Service Description Ta2 ble) 、 事件信息表EIT(Event Information Table)、 业务 群关联表BAT (Bouquet Association Table)、 运行状态 表RST (Running Status Table)、 时间和日期表TDT (Time Date Table)、 时间偏移表TOT(Time Offset Ta2 ble) 、 填充表ST(Stuffing Table)、 选择信息表SIT(Se2 lection Infor mation Table)和间断信息表D IT(Disconti2 nuity Infor mation Table)共9个表组成,这里仅对比较 重要的SDT、EIT和BAT表进行介绍。 3. 1 业务描述表SDT SDT表用于描述传输流中所有节目的信息,传输 流可以是当前传输流也可以是其他的传输流,DVB规 定SDT表使用PI D =0 x0011的传输流包传送, SDT表 语法结构如表6所示。 表6 SDT表语法结构 语法比特数助记法 service_description_section() table_id8uimsbf transport_stream_id16uimsbf original_network_id16uimsbf for( i =0; i N; i + + ) service_id16uimsbf reserved_future_use6bslbf EIT_schedule_flag1bslbf EIT_present_following_flag1bslbf running_status3uimsbf free_CA_mode1bslbf descriptors_loop_length12uimsbf for( j =0; j N; j + + ) descriptor() CRC_3232rpchof 0421 华丕焕:数字电视PSI/SI剖析及其应用 中国有线电视 2007年第13期 表6中, table_id的取值可以是0 x42或0 x46,当 table_id =0 x42时, SDT对应当前的传输流;当table_id =0 x46时, SDT对应其他的传输流;DVB规定, table_id =0 x42的SDT表必须发出。SDT表循环结构的个数 等于传输流中节目的个数, service_id对应PMT表的 program_number、EIT_schedule_flag和EIT_present_fol2 lowing_flag分别指示节目的EIT schedule信息和EIT 当前/后续信息是否存在于当前传输流中, running_sta2 tus指示节目的运行状态, free_CA_mode指示节目的组 件是否有加扰。 3. 2 事件信息表EIT EIT表描述由“original_network_ id” 、 “TS_id” 和 “service_id” 共同指定的某节目的事件(event)信息,每 一个节目都有一个EIT子表与之对应,一个EIT表循 环结构对应节目的一个event,当event的数目大于1 时,这些event按起始时间的先后顺序排列,DVB规定 EIT表使用PI D =0 x0012的传输流包传送, EIT表语法 结构如表7所示。 表7 EIT表语法结构 语法比特数助记法 net work_information_section() table_id8uimsbf service_id16uimsbf transport_stream_id16bslbf original_network_id16uimsbf segment_last_section_number8uimsbf last_table_id8uimsbf for( i =0; i N; i + + ) event_id16uimsbf start_time40bslbf duration24uimsbf running_status3uimsbf free_CA_mode1bslbf descriptors_loop_length12uimsbf for( j =0; j N; j + + ) descriptor() CRC_3232rpchof table_id为0 x4E和0 x4F的EIT表,分别描述当前 传输流和其他传输流中相应节目的当前/后继event; table_id为0 x500 x5F和0 x600 x6F的EIT表,分别 描述当前传输流和其他传输流中相应节目在某一时间 段内按起始时间顺序排好的event,DVB规定table_id =0 x4E的EIT表必须发出,每一个event都有它的标 识(event_id)、 起始时间( start_time)、 持续时间(dura2 tion) 、 运行状态( running_status)以及是否加扰(free_ CA_mode)。 3. 3 业务群关联表BAT BAT表提供了有关节目业务群的信息,业务群是 一组节目的集合,可以横跨不同的网络。DVB规定 BAT表使用PI D = 0 x0011的传输流包传送,但是否发 送BAT表是可选的,BAT表语法结构如表8所示。 表8 BAT表语法结构 语法比特数助记符 Bouquet_association_section() bouquet_id16uimsbf for( i =0; i N; i + + ) descriptor() reserved_future_use4bslbf transport_stream_loop_length12uimsbf for( i =0; i N; i + + ) transport_stream_id16uimsbf original_net work_id16uimsbf reserved_future_use4bslbf transport_descriptors_length12uimsbf for( j =0; j N; j + + ) Descriptor() CRC_3232rpchof bouquet_id用于标识不同的业务群,在第一个表 循环结构的描述子中,一般会说明业务群的名称,而对 于BAT的第二个表循环结构,每一个循环对应一个含 有该业务群节目的传输流,在该循环的描述子中会列 出传输流中属于该业务群的所有节目。 1421 中国有线电视 2007年第13期 华丕焕:数字电视PSI/SI剖析及其应用 4 PS I/S I的应用 4. 1 马赛克业务的实现 马赛克业务是将屏幕分割成若干个小区域,每个 小区域独立显示视频、 图像或文本等信息,在前端,我 们通过马赛克服务器,先从输入到服务器的多个节目 流中提取视频、 图像和文本数据,然后进行缩放、 定位 将它们合成一个节目流,同时在SDT表中添加马赛克 描述子来实现马赛克业务,马赛克描述子定义如表9 所示。 整个马赛克系统以树状结构将马赛克组件如业务 群、 业务或事件进行有效的组织,Mosaic_entry_point即 用于指定树状结构的入口。马赛克系统可以由最多 64个的基本单元(cell)组成,相邻的基本单元又可以 进一步组合在一起形成一个逻辑单元( logical cell) , Number_of_horizontal_elementary_cells和Number_of_ vertical_elementary_cells分别指示屏幕水平和垂直方 向的基本单元数。马赛克描述子的一个表循环结构对 应一个逻辑单元,Logical_cell_id用于标识不同的逻辑 单元,Logical_cell_presentation_info表示逻辑单元要呈 现的信息(视频、 图像或文本等)。在表循环中,还说 明了逻辑单元由哪些基本单元构成、 逻辑单元所携带 信息的类型(Cell_linkage_info为1、2、3、4分别表示携 带信息与业务群、 业务、 其他马赛克、 事件相关)等等。 在接收端,机顶盒根据马赛克描述子描述的各马 赛克组件间的关联和结构,经图像合成处理,最终形成 马赛克画面。 4. 2 机顶盒开机画面更新的实现 开机画面显示是机顶盒普遍具备的功能,它不仅 可用来显示运营商的信息,如果能实现开机画面的在 线更新,它还可以用来承载广告业务,为运营商带来收 益,下面要介绍的就是实现开机画面在线更新的一种 方法。 在前端,我们可以将开机画面的MPEG - 2 I帧文 件分割成若干个数据块(block) ,装载在PSI/SI的Sec2 tion中传输,为此定义StartLogo_section表如表10。 考虑到开机画面的MPEG - 2 I帧文件可能较大, 而Section number最多计数到256,因此表10定义了 Table_I D_Extension(子表号 ) , 每256个Section组成1 个子表,具有相同的子表号。Block_Number用于标识 开机画面数据块的序号,便于接收端收到开机画面的 数据后对数据进行重组; File_Length表示开机画面I 帧文件长度; Stop_Ti me表示开机后开机画面显示停留 的时间;Data_byte则是MPEG - 2 I帧数据。 表9 马赛克描述子定义 语法比特数助记符 Mosaic_descriptor( ) descriptor_tag8uimsbf descriptor_length8uimsbf Mosaic_entry_point1bslbf Number_of_horizontal_elementary_cells3uimsbf reserved_future_use1bslbf Number_of_vertical_elementary_cells3uimsbf for ( i =0; i N; i + + ) Logical_cell_id6uimsbf reserved_future_use7bslbf Logical_cell_presentation_info3uimsbf Elementary_cell_field_length8uimsbf for( i = 0; i elementary_cell_field_ length; i + + ) reserved_future_use2bslbf Elementary_cell_id6uimsbf Cell_linkage_info8uimsbf if(cell_linkage_info = =0 x01) Bouquet_id16uimsbf if ( cell_linkage_info = =0 x02) Original_network_id16uimsbf Transport_stream_id16uimsbf Service_id16uimsbf if ( cell_linkage_info = =0 x03) Original_network_id16uimsbf Transport_stream_id16uimsbf Service_id16uimsbf if ( cell_linkage_info = =0 x04) Original_network_id16uimsbf Transport_stream_id16uimsbf Service_id16uimsbf Event_id16uimsbf 2421 华丕焕:数字电视PSI/SI剖析及其应用 中国有线电视 2007年第13期 表10 Start Logo_section表的定义 语法比特数助记符 StartLogo_section () TableI D8uimsbf Section_syntax_indicator1bslbf Reserved_future_use1bslbf Reserved2bslbf SectionLength12uimsbf Table_I D_Extension16uimsbf Reserved2bslbf Version_number5uimsbf Current_next_indicator1bslbf Section_Number8uimsbf Last_Section_Number8uimsbf Block_Number16uimsbf File_Length32uimsbf Stop_Time32uimsbf for( i =0; i N; i + + ) Data_byte8uimsbf CRC3232uimsbf 在接收端,机顶盒必须在开机时完成开机画面数 据的接收,同时将接收到的数据按上面的表结构,组合 还原成一个MPEG - 2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论