PSI表.docx

上传人:b****0 文档编号:9357510 上传时间:2023-05-18 格式:DOCX 页数:58 大小:1,010.33KB
下载 相关 举报
PSI表.docx_第1页
第1页 / 共58页
PSI表.docx_第2页
第2页 / 共58页
PSI表.docx_第3页
第3页 / 共58页
PSI表.docx_第4页
第4页 / 共58页
PSI表.docx_第5页
第5页 / 共58页
PSI表.docx_第6页
第6页 / 共58页
PSI表.docx_第7页
第7页 / 共58页
PSI表.docx_第8页
第8页 / 共58页
PSI表.docx_第9页
第9页 / 共58页
PSI表.docx_第10页
第10页 / 共58页
PSI表.docx_第11页
第11页 / 共58页
PSI表.docx_第12页
第12页 / 共58页
PSI表.docx_第13页
第13页 / 共58页
PSI表.docx_第14页
第14页 / 共58页
PSI表.docx_第15页
第15页 / 共58页
PSI表.docx_第16页
第16页 / 共58页
PSI表.docx_第17页
第17页 / 共58页
PSI表.docx_第18页
第18页 / 共58页
PSI表.docx_第19页
第19页 / 共58页
PSI表.docx_第20页
第20页 / 共58页
亲,该文档总共58页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

PSI表.docx

《PSI表.docx》由会员分享,可在线阅读,更多相关《PSI表.docx(58页珍藏版)》请在冰点文库上搜索。

PSI表.docx

PSI表

DVB业务信息PSI/SI介绍

一、SI信息的构成

1、信息构成

SI信息内容是按照network网络)→transportstrem(传输流)→service(业务)→event(事件)的分层顺序描述,如图1所示。

SI数据信息是按照一定的数据结构进行存储的,这样一来才能达到方便、快捷地进行数据检索和提取。

SI数据主要有:

网络信息、传输流信息、业务信息、业务的事件信息等,并且大量的信息都是通过描述符来传输的,所以可用树状链表来存储数据,构成从网络、传输流、业务、事件的树状结构。

机顶盒接收端的解析主要负责这些SI数据的重建。

在数字电视系统中,为了能有效地从众多的数据包中组织起SI信息,而使用了很多的标识。

有Network_id网络标识)、Original_network_id原始网络标识)、Transport_stream_id传输流标识)、Serviceid业务标识)、eventid_id事件标识)、Bouquet_id业务群组标识)。

这些标识是作为信息查找定位用的,例如:

要在一个TS里找出一个业务信息,就要知道这个业务信息在那个网络里、在哪个TS里和这个业务信息在这个流里的标识,这样一来,通过层层过滤,就能精确地定位描述这个业务信息的位置,并把它们找出来进行数据组织。

图1就非常清楚地表明了这种查找思路。

一个网络信息由network_id来定位。

一个TS由network_id、Original_network_id、Transport_stream_id来定位,标明这个流在那个网络播发,它原属那个网络,并给它加上标识。

一个业务由network_id、Original_network_id、Transport_stream_id、service_id来定位,标明这个业务在那个网络播发,它原属那个网络和那个流,并给它加上标识。

这体现在SDT表中。

一个事件由network_id、Original_network_id、Transport_stream_id、service_id、event_id来定位,标明这个事件在那个网络播发,它原属那个网络和那个流及那个业务,并给它加上标识。

这体现在EIT表中。

据此,根据各个SI表的功能,各表的ID结构如下:

NIT:

network_id、Original_network_id、Transport_stream_id、service_id。

SDT:

Original_network_id、Transport_stream_id、service_id。

EIT:

Original_network_id、Transport_stream_id、service_id、event_id。

BAT:

bouquet_id、Original_network_id、Transport_stream_id、service_id。

另外,还有一个PID(包标识),它的作用是给每一个数据包打上一个标记,TS承载有视频数据、音频数据、PSI和SI信息数据、图文电视数据、字幕数据、数据广播数据、交互业务数据、CA系统的控制信息数据等等,除了PSI和SI信息数据和CA系统的控制信息数据外,其他的数据的PID都是通过PMT表给出的,CA系统的控制信息数据的PID是由CAT表给出的,而承载了PSI和SI信息的各种表的PID值是固定分配的。

如下表

PID值

PAT

0x0000

CAT

0x0001

TSDT

0x0002

预留

0x0003至0x000F

NIT,ST

0x0010

SDT,BAT,ST

0x0011

EIT,ST

0x0012

RST,ST

0x0013

TDT,TOT,ST

0x0014

网络同步

0x0015

预留使用

0x0016至0x001B

带内信令

0x001C

测量

0x001D

DIT

0x001E

SIT

0x001F

 

由于这些表是分配了固定的PID值,所以机顶盒就可以根据这些PID值来辨认出是什么表,并读取表中的描述参数来生成EPG信息和完成各种数据的组织、解码出所需要的节目和信息。

2、表的构成

表是组成SI信息的一种数据结构。

在TS中有很多不同节目的数据包,PSI和SI信息里,这些信息精确地指引出获得某节目与该节目数据包的PID之间的关系。

由MPEG-2定义的TS里面,数据包携带了两类信息:

一是音、视频等素材的数据,二是PSI表。

具有给定PID的数据包的有序排列就形成了TS流。

PSI表里的承载的内容主要是TS(本节目流)的描述参数。

由MPEG-2定义的PSI主要包含有三个表:

PAT、PMT、CAT。

每个表都可作为一个或多个TS包的净荷插入TS中传送。

图2

一个TS数据包的净荷为188个字节,当一个PSI/SI表的字节长度大于184字节时,就要对这个表进行分割,形成段(section)来传送。

分段机制主要是将一个数据表分割成多个数据段。

在PSI/SI表到TS包的转换过程中,段起到了中介的作用。

由于一个数据包只有188字节,而段的长度是可变的,EIT表的段限长4096字节,其余PSI/SI表的段限长为1024字节。

因此,一个段要分成几部分插入到TS包的净荷中。

如图2所示。

PSI/SI表的构成是:

一个表由一个或多个子表构成,表用table_id来标识;不同的子表由table_id和table_id_extension来区分(具有相同的table_id和不同的table_id_extension);一个子表由一个或多个段构成(具有相同的table_id和table_id_extension,不同section_number来区分);每个段由多个TS数据包的数据组成。

每个段具有一个完整的数据结构,表的重要参数----描述符在段里传送。

图3所示是SDT表的结构。

当字节数长度(1024)时,可把子表分割成两个或更多个段,并通过section_number来区分,如图3-1所示。

不同的信息表在TS中通过PID来区分,具有相同PID的不同表由table_id(table_id是表标识)来区分,属于同一个table_id的不同子表由table_id_extension、版本号version_number)进行区分,属于同一个子表的不同段由section_number区分。

表的扩展标识符有:

network_id、oringinal_network_id、boquet_id、tansport_stream_id、service_id等。

 对于NIT表的子表具有相同的table_id、network_id和version_number。

 对于BAT表的子表具有相同的table_id、bouquet_id和version_number。

 对于SDT表的子表具有相同的table_id、oringinal_network_id、tansport_stream_id和version_number。

对于EIT表的子表具有相同的table_id、oringinal_network_id、tansport_stream_id、service_id和version_number。

以EIT表为例。

EIT的PID是0X0012,当它的table_id=0X4E时,EIT描述的是在当前TS中的当前/后续(EITpresent/following)事件信息;table_id=0X4F时,EIT描述的是在其它TS中的当前/后续(EITpresent/following)事件信息。

这两个不同的描述形成了EIT的两个表。

每个表分为两个段,一个段用来描述当前正在播放的事件,另一个段用来描述即将播放的事件。

此时两个段的table_id、service_id、tansport_stream_id是相同的,但section_number不相同,section_number0x00用来描述当前事件,section_number0x01描述下一个事件。

业务信息的表标识符(table_id)的分配情况见下表

描述

0x00

节目关联段

0x01

条件接收段

0x02

节目映射段

0x03

传输流描述段

0x04至0x3F

预留

0x40

现行网络信息段

0x41

其它网络信息段

0x42

现行传输流业务描述段

0x43至0x45

预留使用

0x46

现行传输流业务描述段

0x47至0x49

预留使用

0x4A

业务群关联段

0x4B至0x4D

预留使用

0x4E

现行传输流事件信息段,当前/后续

0x4F

其它传输流事件信息段,当前/后续

0x50至0x5F

现行传输流事件信息段,时间表

0x60至0x6F

其它传输流事件信息段,时间表

0x70

时间-日期段

0x71

运行状态段

0x72

填充段

0x73

时间偏移段

0x74至0x7D

预留使用

0x7E

不连续信息段

0x7F

选择信息段

0x80至0xFE

用户定义

0xFF

预留

网络描述表(NIT)的作用

在MPEG2中由于并没有对NIT表进行定义,所以在PSI中NIT表内容是私有的,但在DVB中给NIT表作了明确的定义,所以NIT表是一个全局表,就是一个数字电视系统只对应两个NIT表,分别为当前网络表(table_id=0X40)和其他网络表(table_id=0X041),每个不同的网络视其频点数1个TS=1个频点)的多少对应一个或多个子表,通过network_id来区分。

   NIT表主要是提供有关物理网络的信息,网络信息表传送本网络以及与此有关的其它网络的一些信息。

每个网络都有唯一的识别符(network_id)。

网络信息表主要携带:

网络识别符Network_ID)、网络名称、传输系统参数有线传输系统参数包括:

频率、调制方式、FEC外码、符号率、FEC内码)、节目业务类型及Service_ID等信息。

机顶盒只要调谐到携带NIT表的传送流中,即可提取其它网络的参数,一般机顶盒便可根据提取出来的信息,进行自动搜索频道。

   这里说一说network_id和oringinal_network_id的分别。

每个运营商都需要注册唯一的network_id,假设中央电视台的network_id=0X01,广州电视台的network_id=0X02      。

当中央电视台直接播发自己的节目时,network_id=oringinal_network_id,如果由广州电视台转播中央电视台的节目时,那么network_id=0X02,oringinal_network_id=0X01。

也就是说oringinal_network_id等于节目原发运营商的network_id。

⑵    业务描述表(SDT)的作用

SDT表是由DVB定义的,是一个SI表,因此它是一个全局表,一个数字电视系统对应两个SDT表,分别为当前流(actualtransport)表(table_id=0X42)和其他流othertransport)表(table_id=0X46)。

每一个TS对应一个子表(也有对应多个子表的,如同一个TS但业务来自不同的original_network),通过tansport_stream_id和original_network_id来区分。

图4就是一个SDT表的构成图。

从图可看出,这个SDT表由两个表组成,一个是当前流表,只有一个子表;另一个是其他流表,由三个子表组成,每个流对应一个子表。

SDT表用于描述系统中业务的名称、业务提供者、是否有相应的事件描述表等方面的信息;业务描述表可以描述当前传输流,也可以描述其他传输流,这由表的Table_ID来区分。

业务描述表提供了如下的信息:

属于哪一个节目业务群;节目业务的类型,如PAL、NTSC、SECAM、调频广播、图文电视、准视频点播等;节目业务的提供者;可以接收该业务的国家和不可以接收该业务的国家;指向特定的链接信息;实现准视频点播的指导信息;实现多画面的控制信息;指示使用的加密系统;给出实现交互式回传信道的电话号码;提供多语种的节目业务名称和广播者以及私有数据。

但最常用的是业务列表,即对业务名称的描述,如中央1台、广州新闻台、贵州台等等。

⑶    事件信息表(EIT)的作用

EIT表是由DVB定义的,是一个SI表,因此它是一个全局表,一个数字电视系统每一个业务对应两种EIT表。

一是EITpresent/following表(描述当前事件/后续事件),一个业务对应着一个EITpresent/following表,EITpresent/following表分为当前流表(table_id=0X4E)和其他流表(table_id=0X4F),每一个流通常对应6个(有6个业务)EITpresent/following子表,每个子表由两个段组成,分别是EITpresent段和EITfollowing段,section_number=0x00的段描述当前播放的事件,section_number=0x01段描述后续播放事件,图5所示。

其他流表结构与当前流表相同;二是EITschedule(时间表)表,一个业务最多可对应16个EITschedule表,那么每个流通常最多可对应6(业务数)×16=96个子表,每个子表由256个段组成(由于分段号是8个比特,所以最多只能有256个分段),。

对于EITschedule表,它是用作描述一个业务在一段时间(可以是一天、一周,最大可以是64天,根据冗余带宽来进行设定)内所播放的节目安排,节目的播出安排是以时间和节目简介作为描述的。

时间及内容是描述一个事件的最基本元素,例如:

把一个业务所播放的每一个节目都看成是一个事件,那么每一个节目开始播放的时间和播放时间的长度及事件的内容就是该事件的基本元素,EITschedule子表就是用这一基本元素来描述每一个事件并产生某一段时间内要发生的所有事件的列表,因此EITschedule子表的信息量很大(EIT表的段限长4096字节),由256个section组成,所以又引入了segment(片段)的概念。

把256个段分成32个segment;一个segment由8个section(分段)组成,每个segment可以描述3个小时的事件信息,也就是说,一个EITschedule表由32个片段组成,每个片段由8个分段组成,通过section_number来区分,那么每个子表可描述32*3=96小时(4天)的事件信息,由于一个业务最多可对应着16个EITschedule表,则对于一个业务来说最多可以描述160X50----0X5F)*4=64天的事件信息。

这里,segment相当于一个事件组,section是事件组内具体的一个事件。

EITschedule表也分为当前流表(table_id=0X50---0X5F共16个)和其他流表(table_id=0X60---0X6F共16个),EITschedule表是可选的(即系统可以发送此表也可以不发送此表),事件信息按时间顺序排列。

EIT表包含事件或节目的有关数据,如事件的名称、开始时间、持续时间、运行状态等。

事件信息表提供如下信息:

节目段的标识号、起始时间、持续时间、播放状态、是否加密;指向特定信息的链接信息;节目段多语种的简短介绍;节目段的详细介绍;两段同样节目段的时间偏移;基本码流类型介绍,如视频的幅型比、伴音的类型、字幕的类型等;使用的加密系统介绍;节目类型介绍,如电影/戏剧、新闻、综艺、体育、少儿、音乐、艺术、社会政治、文教等;节目限定年龄的级别介绍;给出实现交互式回传信道的电话号码;为满足各节目段的码率而提供的缓存大小信息及私有数据。

事件信息中提供了类似于广播电视报所提供的节目表的内容,根据EIT及其它表所提供的信息,可以做出各种EPG功能,如按节目类型检索、按时间检索及对某类节目的锁定等。

可以说EIT表是提供EPG信息的主要表,也是结构最复杂的SI表。

在EITpresent/following表中,每一事件都用一个event_id来标识它,每一个事件的顺序关系(当前正在发生的事件/后续发生的事件)就由EITpresent/following来描述。

那么如何来识别当前正在发生的事情和后续发生的事情呢?

那是通过event_id来标识的,如图5所示。

图中event_id=0X49表示当前正在发生的事件;event_id=0X4A表示后续发生的事件。

那么在当前事件完成进入后续事件时,此时的后续事件变成当前事件,后续事件将由一个新的事件代替。

这一变化是使用version_number来加以描述的。

例如:

当前播出19:

00----19:

30新闻联播event_id=0X49;

后续播出19:

31----20:

00动画片event_id=0X4A,此时version_number=0

设新的后续21:

01---21:

45曲艺节目。

当新闻联播完成后,则变化为:

当前播出19:

31----20:

00动画片event_id=0X49;

后续播出21:

01----21:

45曲艺节目event_id=0X4A,此时version_number=1

图6是由SDT表和EIT表所产生的EPG信息,图7是由EIT表所产生的一个节目频道的节目播出时间表。

  

EIT表是SI表中结构最复杂的表,图8是它的结构图。

机顶盒通常都有一个“节目指南”的按钮,按动它就可以读取EITschedule自表里的信息,显示某一个业务在某段时间内的所有事件列表。

⑷    业务组关联表(BAT)的作用

BAT表是由DVB定义的,是一个SI表,因此它是一个全局表,一个数字电视系统只对应一个BAT表,其table_id=0X4A。

一个节目类别对应一个段。

为了让受众能更方便地在众多的节目中寻找出自己喜欢的节目,往往需要提供一种把众多的节目频道进行分类的方法(一个类相当一个节目组)。

例如把电影频道归为“家庭影院”的类别,把电视连续剧归为“电视剧场”的类别等等,BAT表就提供了这一功能,每一个类别都用一个bouquet_id来标识。

它包括了节目业务名称(类别)及节目组所包含的节目清单(节目列表)。

BAT表在SI信息中属于可选表。

BAT表还支持一个特别的描述符,称为国家获得性描述符。

此描述符的意义是:

运营商可能出于运营的需要,把一些业务提供给特定(国家)的人群收看,而不希望给其他(其他国家)的人群收看,那么,就可以利用国家获得性这一描述符,在其他人群收看节目时不显示这些业务。

这个描述符同样支持SDT表,不过在SDT表中指的是某一个业务,而不是一个业务组。

所以,BAT表概括地说是提供给不同观众不同组合节目的一种方法。

⑸其他表

对于PAT、PMT和CAT表,都是由MPEG-2定义的,是PSI里面的表,所以这三个表都不是全局表,它们存在在每一个TS中。

PSI信息使用这3个表来定义码流的结构,一个TS对应一个PAT表;一个CA系统和一个TS对应一个CAT表,CAT表的PID值总是1,每个CAT都只给出其所在流的EMM(包括携带组密钥的EMM和携带产品密钥的EMM)包的PID等信息;一个业务(节目频道)对应一个PMT表,一个TS对应多个PMT(视流中所携带的业务数而定)且只对应本流的业务。

PAT的PID是0,它是PSI信息的根,要查找信息时首先必须从PAT开始,表中列出了传送码流中所有节目所对应的PMT的PID,可根据这些PID找到相应的PMT包。

在PMT表中又可以找到与节目有关的所有基本码流,如视频、音频、ECM和数据等有关信息的PID,然后把这些标有这一PID的数据包组织起来通过解码,把节目或数据还原出来。

以上PSI的几个表和NIT表是解码所必需的表,而SDT和EIT是构成业务信息所必需的表。

SI还有其他的表,如:

TDT表,称为时间日期表,它给出了当前的时间和日期的信息,有时也可作为机顶盒解码时钟的更新;RST表,称为运行状态表,属于可选表,它用于快速更新某节目或某些节目的运行参数,RST只有在状态或节目变更时才发送一次;ST表,称为填充表,属于可选表,它用来替代不传送的表。

⑹描述符

描述符是用来携带节目要素和TS流等的各种参数的信息结构、语法与语义,描述符是PSI/SI表的构成主体,PSI/SI表的主要意义就是传送这些描述符,为机顶盒提供相关业务描述与运行参数,可以认为SI表是舟而描述符是舟上的货物。

描述符的通用结构都是以descriptor_tag描述符标记)字段与紧跟其后的descriptor_length(描述符长度)字段开始。

每个SI表通常都使用特定的描述符,但也不限制这些描述符在其他表中使用。

描述符是随使用它的SI表一起发送的。

描述符以及在它们的PSI/SI表中的位置见下表

在PSI/SI表里,我们通常都看到一个循环语句,如:

forI=0;I

descriptor)

}

这个循环语句是用来引导机顶盒读取描述参数用的,以SDT子表为例,由于一个SDT子表里面包含了对多个业务的描述,每个业务的都使用了Multilingual_service_name_descriptor和service_descriptor描述符,也就是说一个SDT子表里同样的描述符被使用了多次(也可以理解为,一个描述符里存有多个描述参数),通过循环语句来对描述符进行重复有序的读取,来提取里面的描述参数,直到读完为止。

网络信息表(NIT)的段数据结构:

Netwok_information_section){网络信息段

Table_id8bit表标识

Section_syntax_indicator1bit段序列指示标记位),此值=1时,规定从section第43位开始的5位是版本号

Reserved_future_use1bit保留将来使用字段

Reserved2bit保留字段

Section_length12bit段长度

Network_id16bit网络标识

Reserved2bit保留字段

Version_number5bit表版本号,作为表更新机制

Current_next_indicator1bit当前/下一个有效指示位(标记位),表示当前表是否有效,如果Current_next_indicator为1,则当前表有效;0表示当前表无效.

Section_number8bit当前段段号

Last_section_number8bit最后段号反映了这个子表由多少个段组成,如其值为0X01那么表示这个子表由两个段组成)

Reserved_future_use4bit保留将来使用字段

Network_description_length12bit网络描述符长度

ForI=0;I

Descriptor)读取网络描述参数(网络名称描述符、连接描述符)

}

reserved_future_use4bit保留将来使用字段

transport_stream_loop_length12bit传输流循环长度

forI=0;I

transport_stream_id16bit传输流标识

original_network_id16bit原始网络标识

reserved_future_use4bit保留将来使用字段

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2