论文部分内容阅读
数字电视技术飞速的发展导致数字电视机顶盒的市场逐渐扩大,伴随而来的是机顶盒底层硬件的差异化和其功能的多样化。如何降低开发成本,缩短开发周期成了软件开发的主要课题。因此中间件被应用于数字电视机顶盒软件体系结构中。Ginga是近几年由巴西提出的最新数字电视中间件标准,对其它的中间件标准具有极高的兼容性,极有可能成为新一代的数字电视中间件的全球标准。但是对Ginga标准的实现还没有完善,特别是对于Ginga-J部分还没有确切的实现方案,因此对于基于Ginga-J的中间件进行设计与实现势在必行。通过介绍分析Ginga体系结构,结合Ginga-J的API(Application Programming Interface)接口标准,设计并实现了基于Ginga-J的数字机顶盒中间件。采用模块化设计思想,将中间件设计成底层数字流接口模块、数字流解析模块、用户图形界面模块、交互模块、管理模块、持续性服务模块和条件接收管理模块。选择其中的持续性服务模块进行了具体实现,持续性服务模块通过JNI(Java Native Interface)技术将PTI(Programmable Transport Stream Interface)模块封装以获取传输流数据包。持续性服务模块使用对象来表示数据,提供接口让上层应用程序创造获取数据的请求,记录数据段的序号。持续性服务模块还提供了视图导航,通过封装一系列完善的接口来方便上层应用程序快速的查找数据。为了能将持续性服务信息显示出来,还实现了用户图形模块中的部分组件,以便直观的显示结果供用户查看。在基于ST7109芯片的开发平台上,移植了Java虚拟机至嵌入式操作系统STLinux上用以进行对比测试。对比测试结果表明,持续性服务模块在功能上实现了将传输流数据包抓取,解析,存储并显示的过程。与iwed公司出品的无中间件支持的数字电视机顶盒软件相比,抓数据包的效率提高了50%,用于索引的时间降低了25%。