一种基于Firefox OS的TV系统实现方法及装置的制造方法
【技术领域】
[0001]本发明涉及智能电视系统领域,尤其涉及一种基于Firefox OS的TV系统实现方法及装置。
【背景技术】
[0002]Firefox OS是一款基于firefox的gecko (以C++编写的网页排版引擎)内核的智能web操作系统,目前已有基于该系统的手机等手持设备上市,但由于该系统是为手持设备而设计的,所以还无法应用在智能电视上,例如不具有TV控制、显示及消息处理等功能,也无法像操作普通手持设备一样操作电视设备。
[0003]因此,现有技术还有待于改进和发展。
【发明内容】
[0004]鉴于上述现有技术的不足,本发明的目的在于提供一种基于Firefox OS的TV系统实现方法及装置,旨在解决现有的智能电视无法应用Firefox OS操作系统进行操控的问题。
[0005]本发明的技术方案如下:
一种基于Firefox OS的TV系统实现方法,其中,包括步骤:
在上层扩展一个业务逻辑框架,所述业务逻辑框架采用C/S架构实现接口和业务的分离,服务器端抽象实现业务逻辑并向下与TV底层库交互,客户端包含了抽离出来的满足TV控制功能的控制接口;
对Firefox OS显示系统的graphic层进行挖空处理,以透出osd层,用于输出显示TV画面;
监听从驱动层传来的消息,当监听到消息后,传递到应用层通过回调函数进行响应。
[0006]所述的基于Firefox OS的TV系统实现方法,其中,
在gecko层的navigator对象中添加一个tv模块,tv模块的每个函数对应客户端的一个控制接口,上层的web应用以navigator, tv.funct1n方式调用tv模块中的功能。
[0007]所述的基于Firefox OS的TV系统实现方法,其中,上层的web应用通过webidl方法将tv模块转换为javascript的tv对象,使上层的web应用采用navigator, tv.funct1n方式访问该tv对象及该tv对象提供的方法。
[0008]所述的基于Firefox OS的TV系统实现方法,其中,gecko层与webidl之间通过绑定方式进行转换,以将c++语言实现的模块转换为webidl语言实现。
[0009]所述的基于Firefox OS的TV系统实现方法,其中,通过Iinux标准的设备文件接口来对graphic层进行挖空处理,gecko层将这些设备文件接口传递给web应用层,web应用层通过参数控制挖空的位置和尺寸大小。
[0010]所述的基于Firefox OS的TV系统实现方法,其中,linux Iib层监听驱动层的消息,同时实现一个注册函数,将注册函数进行逐层封装到webidl层,使web应用调用注册函数,将回调函数通过注册函数传递给底层。
[0011]一种基于Firefox OS的TV系统实现装置,其中,包括:
TV控制系统,用于在上层扩展一个业务逻辑框架,所述业务逻辑框架采用C/S架构实现接口和业务的分离,服务器端抽象实现业务逻辑并向下与TV底层库交互,客户端包含了抽离出来的满足TV控制功能的控制接口 ;
TV显示系统,用于对Firefox OS显示系统的graphic层进行挖空处理,以透出osd层,用于输出显不TV画面;
TV消息系统,用于监听从驱动层传来的消息,当监听到消息后,传递到应用层通过回调函数进行响应。
[0012]所述的基于Firefox OS的TV系统实现装置,其中,所述TV控制系统具体包括: 调用模块,用于在gecko层的navigator对象中添加一个tv模块,tv模块的每个函数对应客户端的一个控制接口,上层的web应用以navigator, tv.funct1n方式调用tv模块中的功能。
[0013]所述的基于Firefox OS的TV系统实现装置,其中,所述TV显示系统具体包括: 挖空模块,用于通过Iinux标准的设备文件接口来对graphic层进行挖空处理,gecko
层将这些设备文件接口传递给web应用层,web应用层通过参数控制挖空的位置和尺寸大小。
[0014]所述的基于Firefox OS的TV系统实现装置,其中,所述TV消息系统具体包括: 处理模块,用于linux Iib层监听驱动层的消息,同时实现一个注册函数,将注册函数进行逐层封装到webidl层,使web应用调用注册函数,将回调函数通过注册函数传递给底层。
[0015]有益效果:本发明在Firefox OS原生系统基础上,根据智能电视设备的特性,添加TV系统,并从三个方面对TV系统进行扩展:控制、显示和消息,将TV的逻辑控制部分作为标准Iinux实现,使该部分可在任何基于Iinux的智能电视系统上运行,web应用可像操作普通手持设备一样,操作智能电视。
【附图说明】
[0016]图1为本发明一种基于Firefox OS的TV系统实现方法较佳实施例的流程图。
[0017]图2为本发明中业务逻辑框架的架构图。
[0018]图3为本发明中gecko与业务逻辑框架的架构图。
[0019]图4为本发明中web应用调用tv模块的架构图。
[0020]图5为本发明的tv控制系统扩展框架图。
[0021]图6为本发明的tv显示系统的显示原理图。
[0022]图7为对graphic层挖空处理后的显示原理图。
[0023]图8为本发明的tv消息系统扩展框架图。
[0024]图9为本发明一种基于Firefox OS的TV系统实现装置较佳实施例的结构框图。
【具体实施方式】
[0025]本发明提供一种基于Firefox OS的TV系统实现方法及装置,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0026]请参阅图1,图1为本发明一种基于Firefox OS的TV系统实现方法较佳实施例的流程图,如图所示,其包括步骤:
S101、在上层扩展一个业务逻辑框架,该业务逻辑框架采用C/S架构实现接口和业务的分离,服务器端抽象实现业务逻辑并向下与TV底层库交互,客户端包含了抽离出来的满足TV控制功能的控制接口 ;
S102 J^Firefox OS显示系统的graphic层进行挖空处理,以透出osd层,用于输出显示TV画面;
S103、监听从驱动层传来的消息,当监听到消息后,传递到应用层通过回调函数进行响应。
[0027]需说明的是,上述步骤的顺序仅仅是为了方便说明,其实现的方式有多种。
[0028]在步骤SlOl中,芯片提供商一般会提供TV驱动和一套封装了 TV底层控制接口的C语言实现的动态库,但这些库接口只是简单罗列了 TV的控制接口,而无法满足上层的业务需求。
[0029]所以为了实现TV的业务逻辑,本步骤在上层扩展一套业务逻辑框架,该业务逻辑框架可以在系统框架的各个层实现,本实施例是在系统(Firefox OS)的硬件抽象层扩展一个专属的TV的业务逻辑框架,其性能更优、且更方便移植。
[0030]该业务逻辑框架采用C++语言实现,与采用java语言或javascript语言相比性能有了很大提高,同时可以在任何基于Iinux的智能系统上运行。
[0031]该业务逻辑框架采用C/S (client/service,客户端/服务器端)架构实现接口与业务的分离,其中的client端和service端均部署在TV端,C/S结构将任务合理分配到client端和service端,其中,client端其抽离出了满足TV控制功能的控制接口,负责接收用户的请求,service端其功能则是实现业务逻辑,并向下与TV底层库直接交互,即实现了二者功能的分离。如图2所示,client端与service端通过Iinux的进程间通讯机制进行通讯。
[0032]所述业务逻辑框架编译成标准的Iinux动态库,该Iinux动态库通过dlopen (以指定模式打开指定的动态链接库文件)方式加载TV底层库。
[0033]TV的Web应用还不能直接调用TV业务逻辑框架的client端的控制接口,所以还需将client端的控制接口继续向上扩展。本实施例中,如图3所示,在gecko的navigator(导航器,包含有关浏览器的信息)对象里添加一个tv模块,上层的web应用通过javascript 语言以 navigator, tv.funct1n 方式调用 tv 模块里的功能。Gecko 是 firefox浏览器引擎,也是Firefox OS的核心层,gecko的navigator对象代表了 gecko具有的功能,Gecko层可通过编译动态链接的方式加载TV的业务逻辑框架,tv模块的每个函数都对应着client端的一个控制接口。
[0034]上层的Web应用调用gecko里的函数,可通过webidl方式实现,webidl是W3C WebIDL规范