数字电视中间件应用管理器的研究

2009-06-03 09:15:00来源:DVBCN数字电视中文网 作者:古晓辉热度:

摘要:介绍符合规范的中间件应用管理器的模式,从应用管理的功能需求出发,介绍应用管理的整体架构和流程,同时讨论了携带应用信令的应用列表以及如何从传输流中提取应用列表的方法也在本文介绍。

关键字:数字电视;中间件;应用管理器;应用列表

引言

未来的数字电视将提供给用户更多更新的交互式服务,例如:电子节目指南、电视购物、付费电视等等。这些服务在数字电视中被称为Xlet应用。应用种类繁多,且更新频繁。这就要求有一个应用的管理者来管理多个应用的运行在MHP平台中,包含一个应用程序管理器(见图一),它负责创建和取消应用,创建和取消信道、解复用、解码、用户命令处理器等进程,管理数据库,为应用分配资源,进行错误处理,控制各应用进程状态,根据应用请求向下层管理器发送控制消息并返回状态。应用管理器是整个软件的核心,它使应用层进程与中间件层、下层功能实现透明交互。

本文的设计遵循的DVB-MHP标准,介绍了一种符合DVB-MHP中间件标准的应用管理器及其设计思想,并针对一些关键部分进行了说明。

应用管理器功能描述

DVB-MHP标准的应用管理器模块是数字电视系统软件的一部分,它位于JAVA虚拟机和支持本地应用的基本API之上,统筹管理数字电视中的各种应用,完成对系统中运行的应用的管理功能。

1.获取应用列表

应用管理器首先必须要向用户提供当前可调用的应用列表,以供用户选择。这一功能是依靠装载和解析AIT(Application Information Table)实现的。AIT包含了当前服务中所有应用的信息。这些信息有:应用类型、应用名称、应用的图标、传输协议信息、应用的基路径和类搜索路径,应用的入口类等。表一列出了应用管理器中用到的AIT信息表的主要字段。

在表一中,Application_ control_ code表示控制应用状态,该控制码告知接收机中的对于应用处于何种状态,当该控制码为0x01,表示该应用是auto_ start(自启动)。当该控制码为0x02,表示该应用必须通过遥控器启动。Protocol_ id标识传输协议,当Protocol_ id为0x0002时,表示数据传送是通过IP协议传送。当该值为0x0003时,表示数据传送是通过DC协议传送。Initial_ class_ byte表示被应用管理器执行的第一个JAVA类的名称。
AIT表是同其他ES流复用并在TS流中传输的。应用管理器需要定位和装载AIT表,而AIT表、JAVA类应用和数据都是通过数据轮、对象轮或多协议封装后在TS流中传送。应用管理器负责识别TS流中携带的AIT信息段。图二描述了应用管理器从TS流中定位AIT信息段的例子。应用管理器通过传输流中的PAT(程序关联表)表和PMT(程序定位表)表从MPEG-2传输流中定位并取得AIT表,而后存储在系统内存中。


首先可以从TS流中找到PID=0的PAT表,假设应用信息表的节目号是3,那么可以找到该节目所对应的PMT表的PID为22。在PMT表中,有很多基本流,如视频流、音频流等。可以通过stream-type这个字段来区分不同的基本流。我们可以看到,在PMT表中,steam-type为0x05,表示PID=225的基本流携带的为AIT信息包。将所有的PID=225的TS包组装,就可以得到AIT表。

2.应用定位和载入

在获得应用列表AIT后,从AIT中的Application Descriptor取得本应用的Transport Protocol Label;然后根据这个Label在AIT中找到相应的Transport protocol descriptor;该Descriptor将给出传输本应用的DSM-CC所在的ES流的component tag;再根据这个component tag从SDT(Service Description Table)得到该DSM-CC的ES流的PID。这样就完成了DSM-CC的定位。然后,就可让DSM-CC模块去绑定该DSM-CC。再结合AIT中的应用基路径、类搜索路径和应用入口类等信息就可完全定位和装载一个应用了。

应用管理器结构设计

应用管理器主要由资源管理器、Xlet应用管理和事件处理三部分组成,其结构如图三所示。应用管理器是整个数字电视执行应用程序的入口点,只有应用管理器才能激活应用程序。应用管理器包含一个XletContext接口,该接口用于与应用进行交互,获取应用的状态并向应用发出指令。
每个Xlet应用不能独自运行,必须要通过应用管理器。对于下载的Xlet应用,程序代码和AIT表通过转盘协议传送到机顶盒中并由应用管理器进行程序初始化。应用管理器可以通过XletContext类的方法控制Xlet状态的转变并且可以在任意时刻结束Xlet应用。Xlet也可以通过XletContext接口的方法来改变自身的状态和获得机顶盒的资源。

1.资源管理

系统中的资源包括:CPU、内存、Flash以及各种硬件设备,这些资源需要被不同的应用共享,必须对它们加以管理,以协调不同应用的需求。
&[FS:Page]nbsp; 该模块采用服务器/客户端模式,如图4所示。资源服务器管理整个平台中的资源,资源客户通过资源代理与资源服务器联系。

2 .XLET应用管理

MHP终端中各种应用的生命周期由Java TV API的Xlet应用模型定义。Xlet是在 MHP终端上执行的 Java应用。每个终端上可以有多个Xlet,而且相互独立。Xlet运行时可以进行资源的申请和释放,显示内容的存取,发现和选择业务。Xlet的生命周期受到用户、AIT信令、环境资源以及别的应用等多方面因素的影响。其中用户、其他应用及资源管理器都是通过调用应用管理器提供的接口来改变Xlet的状态;而AIT则是通过应用管理器监控AIT信令来完成的。

3.事件处理

事件处理模块根据所接收到的信号类型,对应用程序的执行进行相应的改变,以完成用户指令或网络命令。它是根据目前状况调度应用程序的必要手段。

结论

在接收机上运行的所有应用程序由应用管理器负责管理,它使应用层进程与中间件层、下层功能实现透明交互,是数字电视中间件的核心模块之一,其性能好坏直接影响到整个中间件系统。本文讨论了携带应用信令的应用列表以及如何从传输流中提取应用列表的方法。

参考文献:
[1] 郑志航.数字电视原理及应用[M].北京:中国广播电视出版社,2001.
[2] ETSI TS 101 812 V1.1.1. Digital Video Broadcasting (DVB): Multimedia Home Platform (MHP) Specification 1.0[S]
[3] Sandbank CP. Digital TV in the convergent environment [J]. IEEE Computer Graphics and Applications, 2001, 21 (1):32-36
[4] 李男, 黄永忠, 陈海勇, 一种嵌入式系统通信中间件的设计[J]. 微计算机信息, 2006, 1-2: P48-50
[5] 王田苗. 嵌入式系统设计与实例开发[M]. 清华大学出版社 2002.
[6] 邹思轶. 嵌入式Linux设计与应用[M]. 清华大学出版社 2002.
[7] 魏永明. 基于Linux和MiniGUI的嵌入式系统软件开发指南. 2001.
[8] 李慧恩等. 面向对象的线型库设计与实现. 2001中国GIS年会论文集.
[9] 陈积明等. 工业以太网的研究现状及展望[M]. 清华大学出版社 2000.

作者简介:
古晓辉(1973.11-), 女, 汉族, 西南科技大学计算机学院讲师, 研究兴趣:信息家电
通信地址:四川省绵阳市西南科技大学计算机学院 621010
Email:xiaohui_gu@263.net

责任编辑:xiaolin

为您推荐

NHK采用HDTV数字移动技术转播马拉松赛

作者:日本广播协会(NHK

51DTV数字电视人才精英网

刚踏进“十一五计划”的开局之年,安娜谢文化传播摩下的[51DTV.com]数字人才精英网顺势推出,马上引起行业内各大企业重视,相继发布招聘岗位争夺数字电视人才,与节前招聘形式相比,06年数字电视行业人才招聘竞争激烈。[51DTV.com]数字人才精英网是[DVBCN.com]数字电视中文网的人才招聘推荐频道,主要为数字电视产业链上的网络电视、移动电视、手机电视、高清电视、卫星电视、有线电视的企业提供人力招聘解决方案!51DTV联合相关行业的广电,电子,通信专业网站近10万DTV,电子,通信工程师等

泰克开发可分析HDTV影像示波器

[NAB2006]美国泰克开发出可分析HDTV影像信号的示波器WFM7100美国泰克(Tektronix)开发成功了能够分析1080i数字HDTV影像信号及合成影像信号的示波器“WFM7100”和“WFM7000”。具备多项功能,比如可每帧分析影像信号波形数据,以及当波形数据中产生事先设定的杂波时可自动检测出来。主要面向广播设备厂商、内容制作公司,以及从事影像发送服务的通信运营商等。目标是提高易用性此次的产品除可分析HDTV影像信号外,还以提高易用性为目标。比如,可将示波器画面一分为4,进行HDTV影像信号及眼图的分析、抖动的检测以及影像的显示。采用这一设计的原因主要在于近年来从事影像内容发送