嵌入式数字电视的中间件技术研究
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
嵌入式数字电视的中间件技术研究
摘要:本文简要介绍了中间件的作用及中间件所包含的技术标准,重点对中间件中的解复用、音视频解码、电子界面菜单、图形用户界面做了详细设计,希望能够对其设计有所借鉴作用。
关键词:数字电视中间件技术解复用音视频解码电子界面菜单
引言
目前数字电视机顶盒主要是指嵌入式机顶盒,它是以电视机为显示设备,以因特网为传输网络,给用户提供多媒体信息服务。
它是为了让广大普通家庭通过电视机享受到网络、数字媒体、计算机技术所带来的丰富应用,特别是让那些不习惯于操作pc的儿童或中老年人,充分享受网络所带来的乐趣。
随着宽带网络和数字电视的普及和发展,嵌入式机顶盒也将在功能上进一步扩展和完善,并得到更加广泛的应用,因此对机顶盒系统的研究具有重要的理论意义和实际价值。
嵌入式系统和流媒体成为计算机和网络通信技术中两个新的发展方向。
嵌入式系统具有体积小、性能强、功耗低、可靠性高等优点,目前它已经广泛地应用于消费电子、网络通信、工业控制等领域。
而流媒体技术则在互联网信息服务上取得了广泛应用,如视频点播、在线影院、远程教育、交互式电视、实时视频会议等。
机顶盒则是信息家电中嵌入式和流媒体两种技术结合最为典型的应用产品。
1、数字电视中间件概述
数字电视中间件位于实时操作系统和应用程序之间,以应用程序接口(api)的形式存在,整个api集合存储于机顶盒芯片外部的flash,可以使得数字电视机顶盒的各种功能以api的形式提供给生产商,实现数字电视交互功能的标准化,同时使服务项目下载到用户终端的数据量减少到最小。
1998年,在dvb标准组织的倡导下,欧洲成立了中间件标准工作组,用于研究通用家庭平台,即mhp(多媒体家庭平台)标准。
其主要定义机顶盒的整体结构、传输协议、内容格式等,可以满足多种形式的格式,并且支持多级运营商操纵整个系统的运作。
2、数字电视中间件的技术标准
如图1所示,数字电视中间件平台软件部分主要由以下三层构成:第一,资源系统层,主要包括数字电视接收终端各种设备的驱动程序,例如解复用、解码、智能卡驱动、osd、红外遥控接口等,当然也包括嵌入式操作系统。
在整个资源层,安装有linux操作系统,用于任务和线程的实时调度,协调整个系统的运行。
而智能卡驱动、红外遥控驱动,与使用的硬件系那个管,可以通过兼容不同硬件的软件表述。
由于在该平台下有多种硬件设备,因此不能对软件完全限定,可以使其方便扩展。
第二,中间件平台软件层,主要包含java虚拟机、html引擎和数字电视业务支持功能库,对于硬件部分,封装其接口,对上层应用部分,提供应用层接口,是整个软件平台的中心,其包含的应用程序管理器,负责整个应用程序的开关,保证所有应用程序按照指
定的流程执行,包括它们之间的协助,很好的实现了应用程序的可移植性。
第三,应用程序成,主要是为了在数字电视上实现特殊业务的需要,实现的终端内置的应用程序,例如电子节目指南(epg)、网页浏览等。
3、部分中间件的实现
以下详细介绍在数字电视机顶盒中实现的核心中间件技术。
1)解复用子系统
解复用子系统会将视频与音频的基本流发送到各自对应的解码器。
有各种的解码器对其进行解码。
首先需要简要的了解一下在中间层负责进行服务信息提取的程序是如何调用解复用子系统的驱动程序工作的。
函数siinitialize()初始化服务信息,主要包含以下的步骤:
lifoinitialize(&slsubtablelisl); //始化一个后入先出的列表
// sisubtablelist
lifolnifializc(&sisectionsmalldatalist); //始化一个列表sisectionsmalldatalist
lifolnitialize(&sisectionlargedatalist);//初始化一个列表sisectionlargedatalist
for(i=0;i<si_max sub tables;j++)//初始化填充sisubtablelist
{
lifopush(&sisubtablelist,i);
}
for(i=0;i<sl max_section_small_data;i++)
//为sisectionsmalldatalist关联
//和定义存储空间。
每个存储空间为
//1024字节,总共20*1024字节。
上述的所有准备工作完成之后,就可以调用sistart(),开始接收各种服务信息表格。
如果要结束接收工作,可以通过sistop()结束操作。
接收首先由硬件中断触发,然后通过相互联系的数据通道进行相应的数据和消息的上下层交互。
2)电子界面菜单(epg)
作为用户操作界面的菜单,我们采用树形菜单组织结构,
3)图形用户界面(gui)
对整个嵌入式系统的设计而言,directfb因为提供了硬件和输入设备,以及集成窗口系统,且支持多显示层技术,该技术是专门用于完成硬件加速的,完善了当前硬件无法支持的图像算法,同时利用最小的资源配置获得最高的硬件加速性能。
本文中的设计对菜单的显示,就是取用了directfb技术。
directfb初始化
对directfb进行初始化且完成各参数的传递。
directfbinit(&argc,&argv);
idirectfb主接口的创建
调用directfbcreate函数,在全局接口中只有idirectfb能够创建成功,所以进行操作。
idirectfb*pdfb=null;
directfbcreate(&pdfb);
3)videolayer的创建
获取id值并显示,并对相应的功能进行描述。
dfbdisplaylayerid videolayer=6;
idirectfbdisplaylayer*pvideolayer=null;dfbdisplaylayerdescription layerdesc;
4、结论
在本文提出的中间件架构中,通过机顶盒中间件环境实现了解复用、电子界面菜单和图形用户界面,实现了对机顶盒的统一管理,进一步完善了机顶盒中间件的实施和定制要求,推动了增值业务的发展。
参考文献
[1]张素文,贺玮,刘明兰.基于osd的数字机顶盒用户界面设计[j].机器视觉,2006(11)
[2]王美华,范科峰,岳斌等.数字媒体内容版权管理技术标准研究[j].广播与电视技术,2007,37(6):19~49
[3]刘铁.恰当选择嵌入式linux环境下的gui系统[j].计算机世界报.2005(9):19~23。