DVBSI理解入门指南.docx

上传人:b****5 文档编号:8305131 上传时间:2023-01-30 格式:DOCX 页数:17 大小:421.92KB
下载 相关 举报
DVBSI理解入门指南.docx_第1页
第1页 / 共17页
DVBSI理解入门指南.docx_第2页
第2页 / 共17页
DVBSI理解入门指南.docx_第3页
第3页 / 共17页
DVBSI理解入门指南.docx_第4页
第4页 / 共17页
DVBSI理解入门指南.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

DVBSI理解入门指南.docx

《DVBSI理解入门指南.docx》由会员分享,可在线阅读,更多相关《DVBSI理解入门指南.docx(17页珍藏版)》请在冰豆网上搜索。

DVBSI理解入门指南.docx

DVBSI理解入门指南

DVB-SI理解入门指南

(一))l-I5h"]

数字电视与传统模拟电视节目选择的方式完全不同,传统电视的每一个频道对应一个节目,只要调到相应的频率,就可以看到节目。

而在数字电视信号中,一路码流对应多路节目,使用复用技术就可以做到了。

一个物理的频道只能给出包含多路节目的一路传输流。

要观看其中的某一路节目,还必须从该传输流中提取出该路节目的压缩包,然后再进行解码。

所以怎样从众多的传输流中,选中一路节目播放,就变得很复杂。

在mpeg-2的传输流(TransportStream)中,节目专用信息PSI(ProgramSpecificInformation),就是规定不同节目和节目中的不同成分如何复用成一个统一的码流。

以PSI为基础可以提供一个码流的构成,从而帮助用户对节目进行选择。

DVB中的服务信息SI(ServiceInformation)则对此进行了进一步的扩展,加入了一些对用户有用的信息,标示节目的类型,服务商,节目的相互关系等。

正确的了解mpeg-2的PSI以及DVB的SI的结构,及其在节目组织,选择中的应用,可以正确理解serviceinformation在DVB解码中的地位。

对于我们做好对数字节目的复用,也能起到帮助作用。

1,MPEG-2TS中的PSI

PSI信息主要包括以下的表:

PAT(ProgramAssociationTable):

节目群丛表,该表的PID是固定的0x0000,它的主要作用是指出该传输流ID,以及该路传输流中所对应的几路节目流的MAP表和网络信息表的PID。

PMT(ProgramMapTable):

节目映射表,该表的PID是由PAT提供给出的。

通过该表可以得到一路节目中包含的信息,例如,该路节目由哪些流构成和这些流的类型(视频,音频,数据),指定节目中各流对应的PID,以及该节目的PCR所对应的PID。

NIT(NetworkInformationTable):

网络信息表,该表的PID是由PAT提供给出的。

NIT的作用主要是对多路传输流的识别,NIT提供多路传输流,物理网络及网络传输的相关的一些信息,如用于调谐的频率信息以及编码方式。

调制方式等参数方面的信息。

CAT(ConditionalAccessTable):

条件访问表,PID-0x0001。

除了上述的几种表外,mpeg-2还提供了私有字段,用于实现对MPEG-2的扩充。

2,DVB中的SI(终端形像)

Mpeg-2的PSI中提供了不少的相关节目组成和相互关系的信息,从而使得在接收端可以正确的对多路传输流进行分解。

但是这些信息在实际使用时仍显得不够,为此在DVB中采用SI对PSI信息进行了进一步的扩展。

除了在PSI中的信息之外,DVB还定义了一些其他的一些表。

SI的主要用途有:

a、根据NIT,PAT,PMT等信息可以进行自动的频道调谐;

b、更方便的对节目进行选择和定位;

c、实现电子节目指南EPG(ElectronicProgramGuide),等等。

PSI中的信息基本上都是与当前码流相关的,即它们所涉及的内容都与当前码流中的部分信息相关。

与PSI不同的是,SI的信息可以包括不在当前码流中的一些服务和事件,允许用户进行更多的选择和了解更多的其他服务信息。

DVB规定携带SI信息的传输包必须用指定的PID,指定的PID如下表:

TABLETYPEPIDValue

PAT0X0000

CAT0X0001

TSDT0X0002

RESERVED0X0003TO0X000F

NIT,ST0X0010

SDT,BAT,ST0X0011

EIT,ST0X0012

RST,ST0X0013

TDT,TOT,ST0X0014

NetworkSynchroniztion0X0015

Reservedforfutureuse0X0016TO0X001B

Inbandsignaling0X001C

Measurement0X001D

DIT0X001E

SIT0X001F

在该表中可以看到同一个PID可以对应不同的表,要把这样的表区分开来,需要进一步找到TableID进行识别。

TableID表如下:

ValueDescription

0x00Program_association_section

0x01Conditional_access_section

0x02Program_map_section

0x03Transport_stream_description_section

0x04TO0x3FReserved

0x40Network_information_section-actual_network

0x41Network_information_section-other_network

0x42Service_description_section-actual_transport_stream

0x43TO0x45Reservedforfutureuse

0x46Service_description_section-other_transport_stream

0x47TO0x49Reservedforfutureuse

0x4ABouquet_association_section

0x4BTO0x4DReservedforfutureuse

0x4EEvent_information_section-actual_transport_stream,P/F

0x4FEvent_information_section-other_transport_stream,P/F

0x50TO0x5FEvent_information_section-actual_transport_stream,schedule

0x60TO0x6FEvent_information_section-other_transport_stream,schedule

0x70Time_data_section

0x71Running_status_section

0x72Stuffing_section

0x73Time_offset_section

0x74TO0x7DReservedforfutureuse

0x7EDiscontinuity_information_section

0x7FSelection_information_section

0x80TO0xFEUserdefined

0xFFReserved

有了这两个ID我们可以在码流中找到我们想要的任何一张表。

SI主要包括以下一些信息表:

NIT(NetworkInformationTable):

NIT的作用主要是对多路传输流的识别,NIT

提供多路传输流,物理网络及网络传输的相关的一些信息,如用于调谐的频率信息以

及编码方式。

调制方式等参数方面的信息。

根据此信息设置IRD(IntegratedReceiver

Decoder)可以进行多路传输流之间的切换。

SDT(ServiceDescriptionTable):

用于描述系统中各路节目的名称,该节目的提

供者,是否有相应的时间描述表等方面的信息。

该表可以描述当前传输流,也可以描

述其他的传输流,这由TableID进行区分。

EIT(EventInformationTable):

该表示对某一路节目的更进一步的描述。

它提供

事件的的名称,开始时间,时间长度,运行状态等。

TDT(TimeandDataTable):

该表提供当前的时间信息,该表用来对IRD的解码

时钟进行更新

BAT(BouquetAssociationTable):

该表提供一系列类似节目的集合。

这些节目

可以不在同一个传输流中,利用该表可以很方便的进行相关节目或某一类节目的浏览

和选择。

RST(RunningStatusTable):

该表提供某一具体事件的的运行状态,可用于按时

自动的切换到指定的事件

TOT(TimeOffsetTable):

该表提供当地时间与TDT之间的关系,该表与TDT

配合使用。

TSDT(TransportStreamDescriptionTable):

由PID0x0002标识,提供传输流的一

些参数.

ST(StuffingTable):

该表表明其内容是无效的,只是作为填充字节。

那么,我们如何运用DVB中的SI信息表呢?

DVBSI入门

(二)——DVBSI的使用Ben

1、网络信息表(NIT)

网络信息表提供一组传输流以及相应的调谐信息。

NIT在IRD(整合接收解码器)启动程序中用到,并且调谐信息可以存储到不变的存储器中。

NIT还可以用来标志调谐信息的变化。

NIT遵从如下规定:

a、当前的传输系统必须包含NIT。

b、当且仅当NIT包含可用的传输系统描述符,当前传输系统才是有效的。

这就指定了NIT包含有效信息的条件。

在一些广播传输系统边界,TS中的NIT也被允许用来描述广播频道中的早期的网络。

IRD不得不选择一个不同的机制来获得当前传输系统的相应的调谐信息。

例如,一个卫星IRD接受到当前传输系统的一个卫星传输系统描述符,那么这个描述符被视为有效,如果一个电缆IRD接收到当前传输系统的一个电缆传输系统描述符也是有效的,但是,如果电缆IRD接收到当前传输系统的一个卫星传输系统描述符,那么这个描述符对于这个IRD就是无效的。

c、如果当前传输系统一个有效的NIT在SI比特流中出现,那么这个NIT应当列出当前传输系统中所有的TS。

d、SI流每10秒钟应当至少包含8个TS包来传输NIT或者空包。

这个规定简化了广播传输边界中NIT的复位(replacement)。

使用这样的复位机制,使得本地频率控制使用低廉设备成为可能。

SI使用两个标志来描述传输系统。

它们分别是network_id和original_network_id。

后者用来作为一个TS中的一个服务的唯一标志符,即使这个TS被传送到了其他的传输系统之中。

一个TS可以被path:

original_network_id/transport_stream_id唯一标识。

一个服务可以被path:

original_network_id/transport_stream_id/service_id唯一标识。

显然,network_id不在这个path之内。

另外,每个original_network_id中都有不同的service_id。

当一个服务(同一个TS内)被传送到另一个传输系统后,只有network_id改变了,original_network_id不受影响。

下面举个例子,考虑如下情况:

有两个服务(A和B),它们源于两个不同的传输系统并且碰巧有相同的service_id和transport_stream_id,它们被传输到一个新的传输系统。

在这个例子中,这两个服务被安排在新network中的不同的TS中。

如果这两个服务被放在同一个TS中,那么必须修改服务的ID号,因为在同一个TS中一个service_id不能够分配给多个服务,并且一个TS仅仅可以对应一个original_network_id。

2、BAT信息

BAT提供一组服务,这些服务提供了一个基础,IRD在这些基础之上向用户展示有效的服务。

BAT的传输是可选的。

下面的规则提高了SI比特流的连贯性并且简化了IRD的工作。

SI比特流应当在每个BAT子表中列出集锦的所有服务。

注意:

一个服务可以属于多个bouquet。

这一规定使得IRD可以通过不同的TS得到一个服务。

如果IRD将bouquet中服务信息提供给用户,那么列在bouquet中的服务就得到保证,否则一些服务将会丢失。

一个bouquet可以把不同网络传输的多个TS中的服务集中起来。

如果BAT中所有服务都被列在SDT中,IRD对bouquet中所有服务信息的访问将会变得容易。

同样的,如果NIT信息给出所有TS中service的容量,IRD对service的访问将会变得容易。

3、SDT信息

SDT用来罗列TS中service的名称以及其他参数。

每一个TS中都有一个独立的SDT子表。

为了提高对servic

e的采集,定义了下列规定:

强制传输当前TS的SDT;SDT列出的SI比特流至少包括TS中所有服务。

另外:

当前

TS(例如table_id=0x46)中SDT描述其他TS时,应当列出这个TS的所有service。

强烈推荐service_i

d,在一个network中一旦把一个service_id分配给了一个特定的服务,那么这个service_id将不再变化

,以便于IRD实现收藏频道列表之类的功能。

一、SI信息的构成

1、信息构成

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

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

SI数据主要有:

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

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

2010-10-1415:

28上传

下载附件(21.11KB)

在数字电视系统中,为了能有效地从众多的数据包中组织起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

NIT、ST|0X0010

SDT、BAT、ST|0X0011

EIT、ST|0X0012

RST、ST|0X0013

TDT、TOT、ST|0X0014

DIT|0X001E

SIT|0X001F

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

2、表的构成

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

在TS中有很多不同节目的数据包,解码器如何确定哪个数据包属于某个节目?

其答案就是在TS中的PSI和SI信息里,这些信息精确地指引出获得某节目与该节目数据包的PID之间的关系。

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

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

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

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

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

PAT、PMT、CAT。

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

2010-10-1415:

28上传

下载附件(57.45KB)

一个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表的结构。

2010-10-1415:

28上传

下载附件(12.49KB)

2010-10-1415:

28上传

下载附件(41.2KB)

(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等。

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

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

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

l对于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描述下一个事件。

⑴网络描述表(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表由两个表组成,一个是当前流表,只有一个子表;另一个是其他流表,由三个子表组成,每个流对

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

当前位置:首页 > 工作范文 > 行政公文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1