论文部分内容阅读
随着三网融合产业发展,智能电视走进了千家万户,智能电视操作系统是智能电视终端的核心。同时,HTML5的发展,使得智能电视操作系统能够支持Web应用,以网页为主体Web应用凭借着门槛低,具有开发周期短,部署容易,跨平台等诸多优势,成为智能电视操作系统中不可或缺的一部分。 智能电视中,需要针对智能电视的业务,实现家庭设备互联、多屏互动、多源媒体聚合等功能,同时还要支持广电的NGB规范,提供这些功能的组件都是C/C++语言编写,要支持Web应用,需要将这些模块扩展为JavaScript接口。 另一方面,3D图形和视频播放在智能电视中频繁使用的功能,随着HTML5的发展和普及,WebGL是HTML5中在网页中呈现3D动画的新特性,HTML5Video是HTML5中在网页中播放视频的新特性。与传统的网页中呈现图形和视频的手段相比较,这两个HTML5的新特性都不需要依赖插件,实现和优化HTML5中的WebGL和Video就显得十分重要。 智能电视服务引擎是面向Web的应用服务引擎,针对电视的需求和特性设计,提供Web应用运行能力。智能电视服务引擎既能在Linux环境下运行,又兼容Android应用生态,可以运行于Android系统中,本文所做工作在Android平台下的智能电视服务引擎中开展。 在此背景下,本文的主要研究内容和创新性工作如下: (1)提出了基于WebKit内核的支持异步调用的JavaScript扩展方案。研究了WebKit的组成架构和工作原理,包括DOM模型、WebCore与JavaScript引擎的绑定机制。在此基础之上,提出了扩展JavaScript的方案,可以扩展自定义JavaScript对象,不仅可以支持同步调用,还通过扩展DOM事件的机制,很好地地解决了支持异步调用这一难点。 (2)提出了基于Android的扩展平台JavaScript扩展方案。针对传统JavaScript扩展方案与Android系统源码耦合,不能跨平台、通用性差等问题,基于Android WebView,采用NDK和JavaScript框架等技术,提出了针对Android系统的可以跨平台的JavaScript扩展方案,该方案支持同步调用和异步调用,扩展的自定义JavaScript对象支持属性、方法和事件。 (3)研究并实现了基于WebKit浏览器内核的WebGL。研究了WebGL的工作原理,研究了WebGL的底层支持图形功能库:OpenGL ES和EGL,基于Android4.0的WebKit内核实现了WebGL功能。 (4)研究并优化了基于Android WebKit浏览器的内核HTML5 Video。研究了Android系统中基于WebKit和基于Chromium的HTML5 Video的实现原理和架构设计,分析了video标签和多媒体框架MediaPlayer的连接,小屏和全屏播放模式下的视频解码数据的输出和显示,控制条的实现等。优化了自动播放、小屏播放与全屏播放的切换。