新闻中心

EEPW首页>嵌入式系统>设计应用> 数字电视中问件增值业务支撑平台解决方案

数字电视中问件增值业务支撑平台解决方案

作者: 时间:2013-11-06 来源:网络 收藏


  核心层主要采用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用于指示相对路径目录的父目录。一个目录的名称描述子有一个配对的私有描述子,用来指示父目录。


  上述语法中,净荷为4 byte,其值是父目录对应组的Groupld值,记做ParentGroupId。如果发现ParentGroupId值和DSI的Transactionld值相等,说明其父目录就是根目录。通过寻找匹配的Groupld,可定位父节点,直到根目录,从而构建整个文件系统的目录树。

  通过上面4点加强规范,可使用DVB数据轮播传送文件系统。该方案是国家中间件标准轮播传输备选方案之一,也可作为MHP平台的一种改进方案[5]。

  3.2改进型数据轮播方案

  中间件的数据广播文件系统主要负责装载广播应用,是数据轮播协议在终端实现的核心模块。图3给出了基于改进型数据轮播方案的数据广播文件系统的架构图。相关Java功能在org.dvb.DSMCC包实现,对应中间件架构的系统层部分。具体的功能实现位于核心层。 数据广播文件系统的一个突出特点就是存在较大延时,这对用户快速切入启动交互应用非常不利。为提高系统的执行效率需要采取一些优化措施。

  首先,应用是通过轮播方式周期性地传送,而轮播协议和应用数据封装在一系列DSI,DⅡ,DDB段结构里,理想情况下接收所有轮播数据需要一个轮播周期。机顶盒接收端一般由硬件段过滤器过滤出段数据,然后以软件方式按照协议解析这些数据,但时间较长。如果接收一个段数据后马上解析,很可能造成下一个段数据的丢失。为获取丢失的段数据,只能等到下一轮播周期,延时很大。为降低这种延时,将段数据处理分成过滤和解析两步,分别由两个独立线程同时进行,并通过事件管理器通信协调运行状态,如图3所示。


评论


相关推荐

技术专区

关闭