浅谈数字视频广播协议实现

2009-07-02 08:36
新媒体研究 2009年10期
关键词:协议实现

孙 力

[摘要]数字视频广播(DVB)是一种重要的数字电视系统业务,在以后的信息社会中数字广播技术将占据重要的位置。对DVB数据广播的具体协议实现进行研究。

[关键词]数字视频广播 协议 实现

中图分类号:TN93文献标识码:A文章编号:1671-7597(2009)0520094-01

大多数通讯协议都是基于双向的点对点(point to point)通讯。虽然它们通过交互式的认证过程确保了传输的可靠性,但是它们不适合用来同时将同样的信息传输给大量的观众。如果我们将这些数据通过一条带宽受控的信道以广播的方式发送出去,并且使得只有被授权的用户才能够接收到,就可使得所有的数据只发送一次,而且可以控制接收者却不限制接收的人数,这将省去为每个接收者建立专门的连接,无论在效率上还是经济效益上都是极明显的。所以说,数据广播是数据通讯的一种方式(协议)而不是一种物理意义上的传送。其传送的媒体可以是多种,包括卫星、有线等等。鉴于数据广播的重要性,欧洲的DVB、美国的ATSC以及日本的ISDB(综合业务数字广播)在这一领域展开了激烈的争夺。其中DVB标准在1999年6月正式成为欧洲标准时交互业务标准就是欧洲电信的标准(ETS)。下面谈谈DVB数据广播的具体协议实现。

一、数据管道

数据管道是一种异步数据传送机制,数据被直接插入到MPGE-2的传送包负载中。这种机制中并没有给出关于数据的分段和重组定义而是留给了应用自己定义。举个例子,TS包头中的负载起始标志(payload_unit_start

_indieator)可以被用来标志数据包的开始,而传送优先级标志(transport-prioriyt)可以被用来标志数据包的结束。至于如何将数据通过管道及时地传送则不在协议中规定而由应用自己保证。

数据服务将通过一个或多个数据广播描述子来说明对数据管道的应用。每一个描述子通过成份标志来唯一标志一个特定的数据管道。而且,这个成份标志必须和可能在程序映射表(PMT)中提供的流标志描述子(st

ream_identifier_descriptor)中的成份标志完全一致。流标志描述子用来指明哪一个流使用了数据管道,DVB标准中定义了关于数据广播描述子的具体使用,而对于在MPT中的流类型(steram-type)的描述DVB没有定义具体值。在DVB的具体应用中,数据管道机制用来传送任意用户自定义的数据类型。

二、数据流

数据流分成三种:异步数据流,从同步数据流和同步数据流。无论哪种,最终都是被插入到MPGE-2传送流的分组原始流(PES)层进行传送。异步数据流用来传送没有定时要求的数据流,在使用分组原始流层进行数据传送时需要遵循的语法如下:

Serteam-id该字段必须设置为0xBF,表示是私有流;PES-paeket-length:这个16比特的字段必须设置为非0值。同步数据流用于传送在接收端输出数据码率必须严格精确控制的应用。接收端的时钟通过MPEG标准定义的节目参考时钟(PCR)机制和发送端实现同步,通过分组原始流层的数据包结构来进行数据传递。这种结构提供一个9比特的显示时间标签扩展(TPS_extension)字段用来精确定位数据访问单元,这和视音频访问单元是类似的。单元的大小可以是比特,也可以是字节或多个字节,完全取决于具体应用。

从同步数据流和同步数据流应用的区别在于从同步数据流传送的数据流需要和其他的MPGE-2的打包原始流严格同步,其余的类似。和数据管道一样,无论同步数据流还是异步数据流都是通过一个或多个数据广播描述子来说明对数据流的应用。每一个描述子通过成份标志来唯一标志一个特定的数据流。而且,这个成份标志必须和可能在程序映射表(PMT)中提供的流标志描述子描述子中的成份标志完全一致。流标志描述子用来指明哪一个流使用了数据流。DVB中同样定义了关于数据广播描述子的具体使用。无论是同步还是异步数据流都必须在PMT中设置流类型为0x06或者采用用户自定义的数值。

三、多协议封装

多协议封装(MEP)提供一种基于MPGE-2传送流的在数字电视广播网络中传送数据的机制。该协议主要的一个应用领域是传送基于IP协议的数据,也可以通过进行LLC/SNAP封装来传递按其他网络协议定义的数据流,并适用于unicast,multicast和broadcast等多种传播方式。这些都是通过一个48位的MAC地址来实现的,但是DVB并没有规定如何为用户分配MAC地址。考虑到广播的实际安全性,封装协议通过支持对数据包的加密和动态改变MAC地址来保证安全。分段数据是通过数据段结构来传递的,并兼容于为私有数据定义的DSM-CC段。这种分段格式提供了一种有效的将数据表映射到MPGE-2传送流包格式的机制,并且可以在现有的解复用的软硬件基础上利用MAC地址方便地实现数据包滤波。分段机制允许将一个数据表分段映射入多个数据段,如果数据表的长度小于或者等于4080字节(包括LLC/SNA

P头),则数据表可以放入一个数据段而无需分段。对于PI协议数据,由于LLC/SNAP可以被忽略,则MTU(最大传输单元)应该被设置成4080,这样可以让数据表无需被重新分段,如果考虑LLC/SNAP则MTU应该被设置为4074或者更小。6字节的MAC地址在数据段结构中被划分成两个部分,这样做的目的是为了使接收端方便采用硬件方式进行包滤波。

四、数据轮播

数据集(也有称数据轮)是一种允许服务器或者某个应用循环地、一次或者多次地发送一组相同数据模块的服务。如果一个接收者希望访问其中的某一个特定的模块,则仅仅需要等到下一次广播的时候即可。一个典型的数据集的应用是图文广播。数据集是定义在DSM-CC的数据集的基础上的,提供一种循环传递数据到接收者的机制。

在数据集中数据被划分成模块(modules),每个模块被划分成大小完全一样的块(block)。除了最后一个块可能会小一些,一个数据集中其他所有的块的大小都是一样的。每个模块代表逻辑上相互独立的数据,如文件。根据服务的需要,多个模块可以组织成一个组(group),类似的多个组可以进一步构成超组。

数据集规范使用到了DSM-CC下载规范中的四条消息;数据存放在下载数据块消息中,关于模块的控制信息存放在下载信息说明、下载服务初始化以及下载取消消息中。其中下载服务初始化消息描述一个超组中组的信息,而下载信息说明消息描述一个组中模块的信息。基于这些控制消息,用户可以从网络中获取模块的子集,DVB标准定义了如何使用上面四条消息。

参考文献:

[1]薛锋、陈萍萍、陈建铭,基于DVB数据广播系统的软件结构[J].计算机工程,2002,(03).

[2]刘宝锋、张文军,机顶盒应用软件模块的设计与实现[J].计算机工程,2004,(08).

猜你喜欢
协议实现
基于数字化变电站SV报文通信可靠性问题研究
信息系统安全评价系统设计及实现
高校声像档案数字化管理的实现路径
办公室人员尚需制定个人发展规划
苏州信息学院教务管理系统的设计与实现
Modbus设备在机房温度监控系统中的应用
负面清单的管理研究
对无线传感器网络MAC层协议优化的研究与设计
浅析铁路通信传输的构成及实现方法
基于对等网协议的BotNet 防御系统的设计