数据广播中 OC与DC的比较与区别

来源:互联网 发布:深圳盘古数据股权纠纷 编辑:程序博客网 时间:2024/04/20 04:13
 

OCDC之比较

 

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

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

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

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

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

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

 

一、DVB5种数据广播方式

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

1 数据管道(Data piping

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

2 数据流(Data Streaming

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

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定义了一套开展多媒体业务所需要的技术体系。该体系就采用了对象轮作为首选传输机制。

 

二、OCDC的直观比较

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

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

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

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

                       DCEDC    OC

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

我们可以看到,OCDCEDC)只低3个百分点。

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

第五,目前国际主流的数据广播系统如ThalesCanal+NDSOpengTVAlticastLiberate等都是采用OC协议。

三、如何对OCDC进行区别

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

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

1.    对码流的分析

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

OC:

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

DC:

DC方式广播的码流中,BIOP MessageDate 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

       

                                                       filippo.le@gmail.com

原创粉丝点击