数字电视中问件增值业务支撑平台解决方案
作为数字电视产业链的一个重要组成部分,增值业务占有重要地位。为实现增值业务,需要有完善的中间件业务支撑平台,使第三方增值软件开发商开发的交互应用能从前端快速轮播到后端并且高效地运行。
在广播环境下,数据业务的传送是通过轮播方式进行的。轮播分两种,数据轮播和对象轮播[1]。目前国际上基于轮播传送数据业务主要采用两种技术,一种是以美国ATSC标准为代表所采用的数据轮播方案[2],另外一种是以欧洲DVB标准为代表所采用的对象轮播方案[3]。数据业务的实现很大程度上是通过交互应用实现的,而交互应用的开发和数据组织普遍使用文件系统,ATSC采用的数据轮播方案保持了数据轮播的简洁性和高效性,但不支持文件系统的传输。DVB采用的对象轮播技术支持文件系统传送,适应性和扩展性很好,但实现较复杂,打包引入的冗余信息较大,且较难在中间件中实现。
本文提出了符合中国数字电视中间件标准(草案)的增值业务平台整体解决方案。为了提高平台的整体性能,提出了一种改进的数据轮播方案作为平台交互应用广播传输的技术基础,并进一步阐述中间件中实现该方案的数据广播文件系统的设计和优化策略。
2 数字电视中间件增值业务平台架构
2.1前端数据播发系统架构
如图1所示,前端数据播发系统主要包括应用管理器,节目信息子系统,数据广播服务器,系统软件升级服务器和应用数据服务器等5个部分。
应用管理器是播发和控制交互应用及其数据,按照前述改进的数据轮播方案将应用打包和传输,且通过应用信令控制广播应用的运行;节目信息子系统,用于整个广播网络的服务信息编辑,存储,查询和修改;数据广播服务器接收来自各个功能模块的数据,按照MPEG一2标准打包和复用,最终数据通过ASI端口发送到指定的复用器和音视频流复用成传输流播发出去;系统软件升级服务器为终端接收系统提供一种广播环境下的在线软件升级功能;应用数据服务器用于生成应用显示处理的数据并将其封装到MPEG一2私有段结构中。封装内容的格式由各应用自身决定,这样可以实现广播环境下大量实时性应用数据的传送,比如新闻消息和股票行情数据的传送。
2.2后端中间件架构
图2所示为符合国家标准草案的中间件架构,在具体实现上采用了层次化和模块化的设计方案。整个系统可以划分为系统层、核心层和移植层。
系统层为上层具体应用的执行提供基于Java的运行环境。这层主要包括3部分:Java虚拟机、应用管理器和符合中间件标准的应用编程接口(API)集。Java虚拟机负责解释和执行。lavaTM语言。应用管理器负责管理应用的生命周期。API集除了包括与MHP兼容的部分包,比如基本的Java包,DAVIC包外[4],还对国家中间件标准作了部分的扩展。
核心层主要采用C语言实现了Java层的功能,两层之间通过Java本机方法接口连接。这层主要的功能模块包括MPEG一2段过滤器,数据广播协议栈,SI引擎,事件管理器,图形系统,虚拟文件系统和条件接人模块等。在具体实现时,对执行效率要求较低的管理控制工作一般在系统层实现,而对执行效率要求高的工作在本层实现。这是因为在嵌入式系统中,C语言执行效率要明显优于解释性的lava语言。
移植层定义了一套统一的移植接口,屏蔽了核心层具体的硬件驱动。核心层通过这些接口访问硬件资源。这样,整个中间件系统只需要修改移植接口就可以在不同平台上运转,从而大大减轻了工作量。
3 中间件平台特点及优化策略
为了支持交互电视的发展,国际上许多组织制订了相关的中间件标准,比如欧洲DVB提出的MHP[4],美国针对有线电视系统由Cablelabs提出的OCAP,美国ATSC提出的DASE等,其中MHP标准应用最为广泛。图2提出的中间件架构符合国家数字电视中间件标准(草案),以JavaTM语言为基础,在MHP基础上去除了MHP包中的冗余部分。
在中间件平台中,轮播方案是交互业务传送的基础,综合考虑ATSC和DVB采用的数据轮播方案中的优缺点,在简单的数据轮播基础上加以改进以满足交互数字电视业务的发展需求。同时,作为接收端中间件交互应用下载的核心部件,基于轮播方案的数据广播文件系统存在一定延时,具体设计实现时必须优化以提高系统性能。
3.1改进型数据轮播方案
在DSM-CC标准中,数据轮播主要使用DSl,DⅡ和DDB 3种消息封装控制和数据信息。DVB标准对上述3种消息的语法、语义和部分描述子作了规范。为了利用DVB数据轮播协议传送文件系统,作如下加强规范[5]:
1)对DSI消息GrouplnfoBuytes域的加强规范。该域包含对超级组内每个组的描述符。令一个组表示文件系统的一个目录。该域中含有组的名称描述子Name-De-scriptor,描述该组对应目录的路径名。 因此,DSI消息是文件系统的入口,包含了所有的目录信息,可被看作是文件系统完整的目录索引表。
2)对DⅡ消息ModulelnfoBytes域的加强规范。该域包含组内每个模块的描述符。令一个模块表示该组对应目录下的一个文件,若DII的NumberOfModules值为0,说明该组对应目录下面没有文件。该域中含有模块的名称描述子Name_Descriptor,来描述文件名。若文件较大,可分成几个子模块传送,子模块间用Module-Link-De-scriptor连接,文件的具体内容由DDB携带传送。
3)对DSI,DⅡ中名称描述符Name-Descriptor的加强规范。该描述子用于描述目录路径名时,绝对路径名格式如"/目录1/目录2/",相对路径名格式如"目录2/"。描述文件路径名时,由于能够通过模块位置直接定位其所在组,进而定位所在目录节点,因此文件路径名直接为文件名,格式如"文件1"。
4)对私有描述子的加强规范。DVB数据轮播协议定义了私有描述子Private_Descriptor以方便用户进行扩展,其tag范围为Ox80-Oxff。现分配Ox80用于指示相对路径目录的父目录。一个目录的名称描述子有一个配对的私有描述子,用来指示父目录。