dsmcc dc oc 比较

在以DVB为基础的数字电视系统中,在TS码流中插入的数据可以分为几类:

1) 节目信息,即PSI信息,包括PAT、PMT、NIT等,这些信息是从码流中分解出节目所必需的;

2) 业务信息,即SI信息,包括NIT、SDT、EIT、TDT、TOT等,这些信息包括了网络描述、业务说明、节目介绍、时间等;

3) 专用数据(如Subtitle、Teletext等),这类数据是作为辅助业务的;

4) 应用类数据,这类数据的数据格式和传输封装方式与具体的应用相关,而且数据量都比较大。

在DVB的系统中,上述前三类的数据类型都是通过DSM-CC Section方式来封装的,这种方式的优点是通过校验和来排查数据传输中的错误。但是DSM-CC的Section封装只是解决了所需的一部分要求,另外还需要对数据结构、数据关系进行定义。前三类数据都具有明确的应用目标,在DVB标准中,对他们的用途、数据格式、封装方式都进行了详细而明确的定义。第四类数据随着具体应用的不同而存在较大的变化,DVB标准无法预先具体地定义。但是,DVB标准为这些数据的发送提供了几种机制,虽然没有明确数据格式,但在传输封装上作了尽可能细致的规定和说明。



一、DVB的5种数据广播方式

DVB系统中,针对上述的第四类数据,提供了5种广播式传输机制。应用系统可以根据具体使用要求,选择一到几种机制。这几种方式各有自己的特点。

1 数据管道(Data piping)

这种方式实现在广播网上传送简单的、异步的端到端数据。广播数据直接由MPEG-2 TS包的负载携带。

2 数据流(Data Streaming)

这种方式实现在广播网上发送面向流的端到端数据,发送方式可以是异步的,也可以是同步的或从同步的。数据是由MPEG-2系统中定义的PES携带。异步数据流仅指无定时要求的数据流(如RS-232数据)。同步数据流是指有定时要求的数据流,且数据和时钟可以在接收端重新生成一个同步的数据流(如E1、T1)。从同步的数据流是指有定时要求的数据流,且流中的数据通过和其它类型的数据流同步能够回放(如视频和音频)。

3 多协议封装(MPE)

这种方式在广播网上传送通讯协议数据报(datagram)。实现方法是把数据报封装成DSM-CC section,后者和MPEG-2私有section格式兼容。

4 数据轮(DC)

这种方式通过广播网周期性地发送数据模块。模块大小已知,且可以随时更新、加入数据族或从中删除。如果业务需要,模块可以聚集成模块组,同样,组可以聚集成超组。

数据轮使用DSM-CC数据轮传送。在DVB数据广播规范中,定义了用于DVB兼容网络需要添加的结构和描述子,没有对PID和定时参数的外部引用,从而能够离线准备内容。

5 对象轮(OC)

这 种方式通过广播网络周期性地发送数据模块,数据模块的内容既可以是目录结构、文件实体,也可以是流或流事件信息,这些内容以对象的方式进行封装,对于不同 类型的对象可以分别指定发送速率。不同的对象可以跨流发送,同一个对象也可以属于多个对象轮,因此对象轮的传送方式给予了前端系统非常灵活的操作方式,即 可以将多种内容关联操作,形成一个功能强大的服务,而且还可以根据服务应用的优先级给予不同级别的响应。

6 对象轮——多媒体业务广播的首选

从上面的介绍可知道,对象轮这种发送机制是最灵活的。在开展基于数据广播的多媒体业务时,有几个要求:

1)     载体类型以文件和信号流两种方式为主,而文件需要比较复杂的目录结构;

2)     媒体类型多种多样,包括文字、图片、视频、音频等;

3)     业务组织形式需要灵活,实现数据与视音频互动,业务之间关联性也比较强;

4)     数据内容需要重复发送。

根据以上的要求,对比5种传输机制的特点,可以看出,对象轮机制是最好的选择。

选择对象轮作为传输机制,也是满足系统先进性和前瞻性要求的。在DVB标准体系中,MHP定义了一套开展多媒体业务所需要的技术体系。该体系就采用了对象轮作为首选传输机制。



二、OC与DC的直观比较

首先,DC是基础层协议,面向应用层提供一个数据传输和控制协议;OC是应用层协议,应用层的灵活性高。他们之间的关系就像网络协议中的TCP/IP和Http的关系。

其次,从协议内容来看,DC是定义数据块传输,而OC则定义数据块的逻辑意义。所以OC中定义的是逻辑对象,比如Directory,File以及这些逻辑对象之间的关系,而这些对象最终要通过DC的数据块来传输。

第三,DC本身并不能传输任何东西,它的扩充版本EDC才可以。在中国,DC(EDC)定义出来后,只有2家实施,而且,EDC没能对接过,也就是没有经过实践验证过。

第四,从传输效率来讲,他们的传输效率差不多,只是OC复杂一些。2002年,我们搞了一个比较测试,结果如下:

                     DC(EDC)         OC

效率             96%~97%             93%~95.2%

我们可以看到,OC比DC(EDC)只低3个百分点。

实际上,随着机顶盒filter能力的不断提升,这个传输效率差异影响不大。

第五,目前国际主流的数据广播系统如Thales,Canal+,NDS,OpengTV,Alticast,Liberate等都是采用OC协议。


三、如何对OC与DC进行区别

由于OC是在DC的基础上,对数据进行了逻辑定义,实际上两者的传输并无本质性区别,因此从表面效果以及功能上,很难分别数据是由OC还是OC方式广播.

目前采取的区别方式有两种:

1.         对码流的分析

对播放的码流进行分析,OC和DC的区别,根本体现在DSM-CC中的BIOP Message数据结构上

OC:

在OC方式广播的码流中,BIOP Message由Dir Message和Fil Message组成,清晰的描述了各对象直接的逻辑关系

DC:

在DC方式广播的码流中,BIOP Message由Date Message(没有dir,fil之分)组成,不存在逻辑关系.



区别步骤:

a.             通过码流分析工具,查看PAT/PMT

b.             在PMT表中,查找到Ox3C数据的描述,找到对应的pid值

c.             根据在PMT中查找到的pid值,查找该pid值的packet包(通常的码流分析工具,会对此类pid的包进行归纳,否则需要收工查找)

d.             通过对DSM-CC数据结构的分析(一般情况下码流分析工具会代替我们完整这部分工作)

e.             分析0x3C数据中的DDB数据结构

f.             在DDB中,分析到DataBlock字段,就可以区分是OC数据广播还是DC数据广播.

g.             如果可以看到前四个字段为:0x42494F50 即BIOP

h.             根据此图继续对数据结构进行分析:


i.             分析到objectKind data字段,就可以判断此BIOP的数据结构.

j.             如果对应的objectKind data字段值为上图中的0x66696C00 (fil) 或者64697200 (dir) 则可以断定,为OC数据广播.

2.         采用制定终端进行接收

简单易行的方法是采用标准OC终端设备进行接收,由于采用DC广播方式的码流无法在OC终端进行解析,由此也可以对OC

你可能感兴趣的:(机顶盒)