一种智能电视系统的制作方法

文档序号:11139196阅读:478来源:国知局
一种智能电视系统的制造方法与工艺

本发明涉及智能电视技术领域,更具体地,涉及一种智能电视系统。



背景技术:

随着广电媒体融合加速发展、广播电视技术与新一代信息技术的加速融合以及广大用户对个性化的融合创新业务需求日趋强烈,广播电视终端智能化成为必然的发展趋势。广电终端智能化使个性化融合创新业务的部署更加敏捷、服务更加智能、管理更加精准。

在广播电视智能终端领域,主要有Java应用和Web应用两大类。Java应用相对比较普及,Web应用目前而言虽不够广泛,但随着HTML5标准的推出,Web应用已被业界普遍认为为未来主要发展方向,前景看好。支持Java应用,可以充分利用Java应用生态,而支持Web应用,则面向未来,切合技术和业务发展的主流趋势和方向。

因而,同时支持Java应用以及支持Web应用的广播电视智能终端具有极大的市场前景。但是,与只支持单一类型应用相比,终端产品同时支持两类应用需要更多的系统资源,就意味着更高的产品成本。

此外,因应用场景不同,广播电视智能终端会以不同形式呈现:发达地区用户支付能力强,对高配置智能终端需求较大,因而在发达地区向用户提供同时支持Java应用和Web应用的智能电视终端会更为贴合用户需求;偏远地区的用户支付能力弱,对终端成本比较敏感,对新业务的需求相对较弱,向用户提供只支持Web应用的智能电视系统,既能满足用户需求,又能降低产品成本,且利于Web应用生态的建设。但如果采取对这样的不同的应用场景设计不同智能电视系统的办法,会造成行业资源的极大浪费,不利于产业的推广。

因此,发明人认为,一种既支持Java应用又支持Web应用、可以根据应用场景配置为仅支持单一类型应用并且成本较低的智能电视系统,才能更贴合满足广播电视终端的智能化发展的需求。

但是,目前业界主流的智能电视系统的方案有两类。一类是以WebOS为代表的系统,该系统只支持Web应用,不支持Java应用,无法利用目前Java生态圈的已有成果,而Web应用生态圈尚处发展初期,无法满足发达地区用户的多样化需求;另一类是以Android为代表的系统,该系统虽能同时支持Java应用和Web应用,但该系统的主应用框架是支持Java应用的应用框架,支持Web应用的应用框架构筑在Java应用框架之上,因此在应用场景只需要Web应用时,Java应用框架还必须保留,造成系统资源浪费,不满足低成本产品的要求。

所以,发明人认为,有必要对上述现有技术中存在的问题中的至少一个进行改进。



技术实现要素:

本发明的一个目的是提供一种智能电视系统的新技术方案。

根据本发明的第一方面,提供了一种智能电视系统,包括Java应用适配模块和Web应用适配模块的至少之一、多个功能组件模块、硬件适配模块、Linux内核:

所述多个功能组件模块中包括至少一个共用功能组件模块,

所述共用功能组件模块的每一个用于既支持Java类应用又支持Web类应用,所述共用功能组件模块的每一个均采用客户端-服务端模式,每个共用功能组件模块的服务端和客户端运行在不同的进程空间,且所述各共用功能组件模块的服务端和客户端均使用相同的进程间通信机制实现跨进程通信,所述各共用功能组件模块的服务端执行所述组件功能并通过所述硬件适配模块调用Linux内核及底层硬件,所述各个共用功能组件模块的客户端对Java应用适配模块、Web应用适配模块和其他组件模块提供统一的调用接口,以及同时运行多个分属不同进程的实例,以支持多个不同应用的同时调用;

所述Java应用适配模块,用于将每个所述共用功能组件模块的客户端调用接口适配到该应用适配模块所支持的Java应用,以便其所支持的Java应用得以调用所述共用功能组件模块客户端;

所述Web应用适配模块,用于将每个所述共用功能组件模块的客户端调用接口适配到该应用适配模块所支持的Web应用,以便其所支持的Web应用得以调用所述共用功能组件模块客户端;

所述硬件适配模块,用于适配不同的底层硬件同时向各功能组件模块提供统一的硬件调用接口。

可选地,所述的智能电视系统,还包括组件管理模块,

所述组件管理模块通过所述进程间通信机制与其他功能组件模块的服务端和客户端进行通信,用于管理各功能组件模块服务端的注册、维护功能组件模块名称和功能组件模块的对应关系、功能组件模块命名解析、使功能组件模块客户端通过约定好的名称访问对应的功能组件模块服务端以及控制功能组件模块客户端对服务端的访问权限。

可选地,所述共用功能组件模块包括如下功能组件模块中的一个或其组合:

应用管理功能组件模块,用于管理应用的内存申请和内存使用、为进程分配唯一标识符、管理应用之间的进程共享、管理应用间的切换调度、管理应用生命周期、管理应用间的广播消息通信、以及管理应用间的数据共享;

媒体引擎功能组件模块,用于处理各类媒体音视频格式和协议解析,与所述底层硬件协同实现各类媒体音视频播放、录制、转发;

数字电视功能组件模块,用于各类数字电视广播协议PSI/SI数据和数据广播协议数据的搜索、过滤、获取、解析、存储和管理,对解调设备的调谐解调控制,为相关应用提供功能接口,支撑相关应用完成电视直播、节目导视、电视图文广告、视频点播、节目录制和时移、数据广播、频道预览等数字电视业务功能;

人机交互功能组件模块,用于对输入信息进行处理;

DRM功能组件模块,用于管理运行于所述系统之上的DRM应用,实现DRM应用与媒体引擎功能组件模块之间的媒体内容解密授权和控制信息的传递;

DCAS功能组件模块,用于管理运行于所述系统之上的DCAS应用,实现DCAS应用与DTV功能组件和媒体引擎功能组件之间的数字电视直播媒体内容解密授权和控制信息的传递;

智能家居功能组件模块,用于对连接到所述系统的智能家居设备进行配置和管理、为运行与所述系统上的应用和连接到所述系统的移动设备与智能家居设备进行信令和数据交互提供相关协议支撑;

终端管控功能组件模块,用于支持连接到所述系统的前端网管系统对所述系统的管理;

大数据采集功能组件模块,用于实现所述系统信息数据采集和上报;

多屏互动功能组件模块,用于实现所述系统与其他有屏设备的互动功能,包括图片、音乐、视频的互动、控制和共享;

窗口管理器功能组件模块,用于管理安装在所述系统上的应用的用户界面窗口的显示以及输入事件的分发。

可选地,所述各共用功能组件模块的服务端和客户端均使用的相同的进程间通信机制,所述进程间通信机制是i-binder机制、socket机制或者共享内存机制。

可选地,所述Linux内核采用DTS文件描述底层硬件板级信息。

可选地,所述Web应用适配模块包含IDL文件,所述IDL文件用于保存Web应用调用接口和所述共用功能组件模块的客户端接口之间的映射。

本发明的发明人发现,在现有技术中,尚未存在一种可以满足下述需求的智能电视系统:可以既支持Java应用又支持Web应用;还可以根据应用场景配置为仅支持单一的Java应用或Web应用,并且实现成本较低。因此,本发明所要实现的技术任务或者所要解决的技术问题是本领域技术人员从未想到的或者没有预期到的,故本发明是一种新的技术方案。

通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。

附图说明

被结合在说明书中并构成说明书的一部分的附图示出了本发明的实施例,并且连同其说明一起用于解释本发明的原理。

图1示出了可以实施本发明实施例的智能电视的硬件配置框图。

图2示出了可以实施本发明实施例的智能电视的应用环境示意图。

图3示出了本发明实施例中提供的智能电视系统的示意性框图。

图4示出了本发明实施例中提供的智能电视系统的示例的框图。

图5示出了本发明实施例中提供的智能电视系统仅支持Web应用的示意框图。

图6示出了本发明实施例中提供的智能电视系统仅支持Java应用的示意框图。

具体实施方式

现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

在这里示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

<硬件配置>

图1是示出可以实现本发明的实施例的智能电视系统的智能电视1000的硬件配置的框图,在一个实施例中智能电视1000可是机顶盒,也可以是或与机顶盒等同功能的设备,还可以可以是包含机顶盒或其等同功能设备的电视或显示器,例如集成机顶盒的电视。

如图1所示,智能电视1000典型地包括经由系统总线1111连接的主处理器1108、用于接收电视信号的高频头1101、解调器1102、非易失性存储器1109、解复用器1103、解扰器1104、易失性存储器1105、解码器1106、音视频接口1107和其他外围接口1110、在电视与机顶盒集成的智能电视中还包括显示器1200。

非易失性存储器1109中驻留有智能操作系统、应用程序、其它程序模块和某些程序数据。

同样地,可以实现本实施例提供的智能电视系统的设备也可以具有相同的配置。

图2示出了智能电视1000的应用环境,智能电视1000可以接收有线电视信号、地面电视信号、卫星电视信号,以及因特网或视频云(服务器)的视频信号,在电视屏幕或者显示器上播放。

图1或2所示的智能电视仅仅是说明性的并且决不意味着对本发明、其应用或使用的任何限制。

<实施例>

本发明实施例中提供一种智能电视系统2000,如图3所示,包括:Java应用适配模块2100和/或Web应用适配模块2200、多个功能组件模块2300、硬件适配模块2400、Linux内核2500。

其中,多个功能组件模块2300中包括至少一个共用功能组件模块2310。

例如,在图3所示的智能电视系统2000中,多个功能组件模块2300中不仅包括共用功能组件模块2310,还可以包括只支持Java类应用的功能组件模块2320、以及至只支持Web类应用的功能组件模块2330。在本实施例中仅是示意性给出智能电视系统2000的多个功能组件模块2300可能包含的功能组件模块的形式,并不是限制本发明所披露的智能电视系统中所包含的功能组件模块的形式、数目,只要包含至少一个本发明披露的共用功能组件模块或者实现类似功能的模块的智能电视系统,均在本发明的披露范围内。

在本实施例中,共用功能组件模块2310的每一个用于既支持Java类应用又支持Web类应用。所述共用功能组件模块2310的每一个均采用客户端-服务端模式,每个共用功能组件2310的服务端2311和客户端2312运行在不同的进程空间,且所述各个共用功能组件模块2310的服务端2311和客户端均2312使用相同的进程间通信机制实现跨进程通信。

例如,如图3所示,各共用功能组件模块2310的服务端和客户端均使用的相同的进程间通信机制。该进程间通信机制,即IPC机制(Inter-Process Communication,进程间通信),可以是i-binder机制,或者是socket机制,还可以是共享内存机制。

此外,对于只支持Java类应用的功能组件模块2320、以及只支持Web类应用的功能组件模块2330,也可以采用客户端-服务器的模式。功能组件模块2320的客户端2321和服务端2322、功能组件模块2330的客户端2331和服务端2332,均运行在不同的进程空间。各个客户端2321、服务端2322、客户端2331、服务端2332均使用相同的进程间通信机制,即IPC机制。该IPC机制可以是i-binder机制,或者是socket机制,还可以是共享内存机制。

图3所示的支持Java类应用的功能组件模块2320、以及至只支持Web类应用的功能组件模块2330采用客户端-服务端模式仅是示意性的。本发明并不限制诸如此类功能组件模块必须采用客户端-服务端模式。

并且,各个共用功能组件模块2310的服务端2311执行所述组件功能并通过所述硬件适配模块2400调用Linux内核2500以调用底层硬件,所述各个共用功能组件模块2310的客户端2312对Java应用适配模块2100、Web应用适配模块2200和其他组件模块提供统一的调用接口,以及同时运行多个分属不同进程的实例,以支持运行在所述系统上的多个不同应用的同时调用。这些不同应用可以是通过下载安装等方式运行于所述系统上。

在本实施例中,共用功能组件模块可以有多个,分别实现不同的特定功能。并且使用相同的编程语言实现,例如C/C++语言。每个共用功能组件模块可以向外提供统一的调用接口进行调用。

而每个共用功能组件模块均采用客户端-服务端模式。客户端负责提供功能服务接口,并把功能服务请求传递给服务端,服务端收到该请求后,执行其所对应的共用功能组件要实现的特定功能,并通过所述硬件适配模块调用linux内核以调用底层硬件进行功能执行,并将执行结果返回给客户端。客户端与服务端运行于不同的进程空间,进程间采用相同的IPC进程间通信机制进行通信。采用客户端-服务端模式,一个服务端可以同时支持多个客户端实例,每个客户端实例可以对应支持一个应用实例或其它组件对该共用功能组件的服务请求。这就意味着,每个共用功能组件模块可以同时支持运行于系统的多个不同的应用实例或其它组件的调用。通过共用功能组件模块的客户端-服务端模式以及多进程的架构,支持被不同应用的同时调用,由于进程间是相互独立的,可以使得不同的应用调用不会互相影响,其中一个应用进程出现异常时不会影响其他应用进程。例如,Web应用调用本实施例的共用功能组件模块时,可以通过独立的客户端实例与服务端对应(如图3中所示,Java类应用与Web应用各使用不同的客户端实例),不会被同时调用该功能组件模块的Java类应用影响。利用这一特点,本发明实施例的智能电视系统2000不仅可以既支持Java类应用又支持Web类应用,也能根据不同的应用场景裁剪掉不必要的模块,使得该系统仅支持Java类应用或仅支持Web类应用,节省系统资源,降低成本。在一个例子中,如图4所示,是与图3所示的类似的智能电视系统2000,其中,共用功能组件模块2310包括多个功能组件模块中的一个或其组合:

应用管理功能组件模块2310-1,用于管理应用的内存申请和内存使用、为进程分配唯一标识符、管理应用之间的进程共享、管理应用间的切换调度、管理应用生命周期、管理应用间的广播消息通信、以及管理应用间的数据共享;

媒体引擎功能组件模块2310-2,用于处理各类媒体音视频格式和协议解析,与所述底层硬件协同实现各类媒体音视频播放、录制、转发,其中,各类媒体音视频播放,可以包括:数字电视直播、数字电视VOD点播、OTT点播、OTT直播、IPTV、游戏音视频播放和本地媒体文件播放中的部分或全部;

数字电视功能组件模块2310-3,用于各类数字电视广播协议PSI/SI数据和数据广播协议数据的搜索、过滤、获取、解析、存储和管理,对解调设备的调谐解调控制,为相关应用提供功能接口,支撑相关应用完成电视直播、节目导视、电视图文广告、视频点播、节目录制和时移、数据广播、频道预览等数字电视业务功能,其中各类数字电视广播包括有线数字电视广播、地面数字电视广播、卫星数字电视广播;

人机交互功能组件模块2310-4,用于对输入信息进行处理,其中,该人机交互功能组件模块可以连接至鼠标、键盘、遥控器、移动终端、语音输入口、传感器、游戏手柄、触屏等外设输入装置或接口接收输入信息;

DRM功能组件模块2310-5,用于管理运行于所述系统之上的DRM应用,实现DRM应用与媒体引擎功能组件模块之间的媒体内容解密授权和控制信息的传递;

DCAS功能组件模块2310-6,用于管理运行于所述系统之上的DCAS应用,实现DCAS应用与DTV功能组件和媒体引擎功能组件之间的数字电视直播媒体内容解密授权和控制信息的传递;

智能家居功能组件模块2310-7,用于对连接到所述系统的智能家居设备进行配置和管理、为运行与所述系统上的应用和连接到所述系统的移动设备与智能家居设备进行信令和数据交互提供相关协议支撑;

终端管控功能组件模块2310-8,用于支持连接到所述系统的前端网管系统对所述系统的管理,该管理可以包括基本信息查询、终端参数设置、终端重启、终端恢复出厂设置、终端ping探测、终端状态统计、终端升级管理、终端告警上报和关键参数改变监听等功能;

大数据采集功能组件模块2310-9,用于实现所述系统信息数据采集和上报,所述系统信息数据包括系统信息、业务数据、用户行为等;

多屏互动功能组件模块2310-10,用于实现所述系统与其他有屏设备的互动功能,包括图片、音乐、视频的互动、控制和共享;

窗口管理器功能组件模块2310-11,用于管理安装在所述系统上的应用的用户界面窗口的显示以及输入事件的分发,例如,窗口管理功能组件模块负责为某个应用创建窗口,管理窗口的所有状态信息,并负责从驱动接收各类输入事件,并将其分发到对应的窗口。

在图4所示的智能电视系统2000,根据不同应用需求对共用功能组件模块2310进行不同的配置,配置为上述共用功能组件模块2310-1到2310-9中的任意一个或任意组合。例如,当对智能电视系统的应用需求仅为数字电视播放时(比如应用场景中的智能电视终端硬件配置较低仅能支持数字电视播放),共用功能组件模块2310可以只包括媒体引擎功能组件模块2310-2和数字电视功能组件模块2310-3。而当对智能电视系统的应用需求仅为OTT电视播放时(比如应用场景中的智能电视终端硬件配置较低仅能支持OTT电视播放),共用功能组件模块2310可以只包括媒体引擎功能组件模块2310-2。又例如,当对智能电视系统的应用需求除了播放数字电视还包括智能家居功能,共用功能组件模块可以在媒体引擎功能组件模块2310-2和数字电视功能组件模块2310-3上再加入智能家居功能组件模块2310-7。

上述例子仅是示意性的,根据不同应用需求,配置共用功能组件模块的例子还有很多,在此不再赘述。在本发明的智能电视系统2000中,根据不同应用需求,灵活配置共用功能组件模块,实现简单、便捷,避免系统冗余浪费资源,又能更好地贴合应用需求。经济且高效。此外,当应用需求变化时,还可以灵活地对应变化的需求,对共用功能组件模块进行删减、增加,扩展方便,易于推广。

图3中的智能电视系统2000还包括Java应用适配模块2100,用于将每个所述共用功能组件模块2310的客户端2312调用接口适配到该应用适配模块所支持的Java应用,以便其所支持的Java应用得以调用所述功能组件模块2300的客户端2312。

图3中的智能电视系统2000还包括Web应用适配模块2200,用于将每个所述共用功能组件模块2300的客户端2312调用接口适配到该应用适配模块所支持的Web应用,以便其所支持的Web应用得以调用所述共用功能组件模块2300的客户端2312。

在一个例子中,Web应用适配模块2500还包含IDL(Interface description language,接口描述语言)文件,该IDL文件用于保存Web应用调用接口和共用功能组件模块2310的客户端2312接口之间的映射。当某个共用功能组件模块的客户端2312接口改变后,可以只修改IDL描述文件就完成改变,不需要对应修改Web应用调用接口。可以便捷、经济、快速地实现共用功能组件模块的接口修改。利于共用功能组件模块的扩展。

在另一个例子中,所述共用功能组件模块由C/C++语言实现,Web应用适配模块可以通过IDL保存Web应用调用接口和C/C++接口之间的映射。因此,Web应用适配模块可以通过IDL文件将Web应用调用接口转换至C/C++接口,再通过接口转换模块(例如NGB-H实现的接口转换模块)调用共用功能组件模块的客户端接口。这样当客户端接口改变后,也可以只修改Web描述文件,不需要对应修改Web应用调用接口。

图3的智能电视系统2000还包括硬件适配模块2400,用于适配不同的底层硬件同时向各共用组件模块2300提供统一的硬件调用接口。

图3的智能电视系统2000还包括智能电视系统2000的Linux内核2500。在一个例子中,Linux内核2500采用DTS文件描述底层硬件板级信息。当支持智能电视系统2000运行的底层硬件变化时,可以通过仅修改DTS文件,就实现Linux内核适配底层硬件的变化。这样在底层硬件板子更换时,可以不必更新Linux内核、不必重新编译Linux内核,只更新DTS文件的底层硬件板级信息,就可以使得Linux内核继续适配新的底层硬件。实现方式简单、便捷、高效且经济。利于底层硬件的扩展。

在一个例子中,如图3所示的智能电视系统2000,还可以包括组件管理模块(图3中未示出),所述组件管理模块通过所述进程间通信机制与其他功能组件的服务端和客户端进行通信,用于管理各组件模块服务端的注册、维护组件模块名称和组件模块的对应关系、组件模块命名解析、使组件模块客户端通过约定好的名称访问对应的组件模块服务端以及控制组件模块客户端对服务端的访问权限。例如,所述共用功能组件模块的服务端可以由组件管理模块触发启动。

以上已介绍了如图3所示的本实施例中的智能电视系统2000。在图3中,除了智能电视系统2000之外,还示出了Java应用、Web应用、Java API(Application Programming Interface,应用程序编程接口)、Web API以及底层硬件,用于说明本智能电视系统2000的一个示意性的应用环境。所述Web应用、Java应用运行均可以于所述智能电视系统2000上,所述底层硬件可以支持所述智能电视系统2000的实际运行。

例如,当智能电视系统2000上运行某个Java应用时,该Java应用可以通过Java API与智能电视系统2000连接,更具体地,是通过JavaAPI,与智能电视系统2000的Java应用适配模块2100连接,由Java应用适配模块将可支持该Java应用的共用功能组件模块2310的客户端2312与该Java应用适配,使得该Java应用可以调用该共用功能组件模块2310。当共用组件模块2310被该Java应用调用时,由服务端2311执行所述组件功能并通过所述硬件适配模块2400调用所述Linux内核2500,通过Linux内核2500调用底层硬件。

此外,该Java应用还可以以同样的方式调用仅支持Java类应用的具有客户端-服务端模式的功能组件模块2320。在此不再赘述。

在一个更具体的例子中,Java应用在所述Java应用适配模块2100中运行。Java应用适配模块2100包括Java业务接口模块、Java虚拟机、Java本地接口。其中,Java业务接口模块,与Java API连接,是一套在Java虚拟机上运行的本系统业务功能的Java接口;Java虚拟机(JavaVirtual Machine,简称JVM),是运行Java程序的抽象计算机,是Java语言的运行环境,负责Java语言的解析与执行;Java本地接口,是Java和C/C++相互沟通的机制,可以完成Java与C/C++语言程序对接的功能,其由C/C++语言实现,与采用C/C++语言的功能组件模块连接。

以Java应用为Java媒体播放器应用程序为例,Java媒体播放器调用Java业务接口模块提供的Java接口实现应用功能,Java业务接口模块将Java接口转换成Java基础功能接口,Java虚拟机负责解析Java基础功能接口并对接到Java本地接口,在Java本地接口实现中调用共用功能组件模块中的媒体播放组件模块2310的客户端2312,客户端2312通过IPC机制调用到2310媒体播放组件模块的服务端2311以执行相应的功能,服务端2311从IPC接口接收到客户端2312发送过来的媒体处理命令后,启动媒体业务处理,并通过硬件适配模块2400中的媒体功能(调用Linux2500以调用底层硬件执行),进行媒体业务处理,服务端2311执行完成后把执行结果返回到客户端2312,并继续返回到Java虚拟机,最终将执行结果返回到Java媒体播放器应用。

因此,当本实施例中智能电视系统2000上运行Java类应用时,Java类应用只需依赖于Java应用适配模块2100、该Java应用需调用的共用功能组件模块2310、只支持Java类应用的功能组件模块2320、硬件适配模块2400和Linux内核2500的协同工作。

而当智能电视系统2000上运行某个Web应用时,该Web应用可以通过Web API与智能电视系统2000连接,更具体地,是通过Web API,与智能电视系统2000的Web应用适配模块2200连接,由Web应用适配模块将可支持该Web应用的共用功能组件模块2310的客户端2312与该Web应用适配,使得该Web应用可以调用该共用功能组件模块2310。此外,该Web应用还可以以同样的方式调用仅支持Web类应用的具有客户端-服务端模式的功能组件模块2330。具体方式与上例中Java应用的方式类似,在此不再赘述。

在一个更具体的例子中,Web应用在Web应用适配模块2200中运行。Web应用适配模块2200采用C/C++语言实现,为独立进程,包含Web引擎模块和业务接口模块。其中,该Web引擎模块与Web API对接,可以实现渲染Web应用中的网页界面,并将Javascript脚本转换为C/C++的二进制调用并执行;所述业务接口模块实现给Web引擎提供C/C++二进制调用接口,并将该接口转换为共用功能组件模块的客户端2312接口的调用。

以Web应用为智能电视系统1000上运行的一个媒体播放的Web应用(Web应用包含HTML5网页和Javascript脚本)为例,Web引擎模块负责媒体播放Web应用的界面渲染,并将Web应用中的媒体播放Javascript接口转换为调用业务接口模块中的媒体播放接口。业务接口处理模块通过调用媒体组件模块2310的客户端2312的接口,以IPC的方式,将媒体播放命令发送到对应的共用功能组件模块,也就是媒体组件服务端2311。媒体组件模块的服务端2311采用C/C++语言实现,为一个独立的进程,通过底层系统提供IPC机制在等待客户端发送命令。媒体组件模块的服务端2311从IPC接口接收到客户端2312发送过来的媒体播放命令后,启动媒体播放的相应处理,并通过硬件适配模块2400中的播放功能(调用Linux2500以调用底层硬件执行),完成媒体播放。最后,媒体播放组件模块的服务端2311通过IPC将播放的结果返回给Web应用适配模块2200中的Web引擎,最终将播放结果返回给媒体播放的Web应用,完成Web应用的媒体播放处理整个流程。此外,该Web应用还可以以同样的方式调用仅支持Web类应用的具有客户端-服务端模式的功能组件模块2330。

因此,当本实施例中智能电视系统2000上运行Web类应用时,Web应用仅依赖于所述Web应用适配模块2300、共用功能组件模块2310、仅支持Web类应用的功能组件模块2330、硬件适配模块2400和Linux内核2500的协同工作。类似地,当智能电视系统2000同时运行Java类应用以及Web类应用时,Java应用可以通过上述例子所示的方法通过Java应用适配模块2100调用功能组件模块2320以及共用功能组件模块2310,Web应用可以通过上述例子所示的方法通过Web应用适配模块2200调用功能组件模块2330以及共用功能组件模块2310。若该Java应用与该Web应用都需要调用同一个共用功能组件模块2310时,Java应用与Web应用可以通过共用功能组件模块的客户端-服务端模式以及多进程的架构,对应运行分属不同进程的实例,互不影响,各自独立。当然,本实施例的智能电视系统2000还可以以同样的方式,支持多个不同的Java应用以及不同Web应用的运行。

通过上述的多个例子,已经说明本实施例中智能电视系统2000中,利用共用功能组件模块中客户端-服务端模式以及多进程的架构,本实施例中的智能电视系统2000可以既支持Java类应用又支持Web类应用,支持Java类应用的应用框架与支持Web类应用的应用框架之间相互独立。并且,在同时支持不同应用的调用时,可以使得应用之间相互独立,互不影响。

因此,进一步地,本发明所披露的智能电视系统2000还可以根据不用的应用环境对系统进行拼接或裁减。例如,在某些应用环境中,智能电视系统2000只需要支持Web应用,该智能电视系统2000可以只包含Web应用适配模块2200、多个功能组件模块2300(其中包含至少一个共用功能组件模块2310、还可以包含只支持Web类应用的功能组件模块2330)、硬件适配模块2400、Linux内核2500,如图5所示。

类似的,在只需要支持Java应用的应用环境中,该智能电视系统2000可以只包含Java应用适配模块2100、多个功能组件模块2300(其中包含至少一个共用功能组件模块2310、还可以包含只支持Java类应用的功能组件模块2320)、硬件适配模块2400、Linux内核2500。如图6所示。

而随着应用环境改变,例如仅支持Java类应用的应用环境,因为出现用户需求的多样化,需要在支持Java类应用的基础上支持Web类应用,可以在图6所示的智能电视系统2000的基础拼接支持Web类应用的功能组件模块,以得到如图3所示的既可以支持Java类应用又可以支持Web类应用的智能电视系统。

此外,还可以根据具体的应用需求(成本因素、智能终端硬件配置状况等等),对不同的实现特定功能的共用功能组件模块2310进行拼接或裁减,以贴合应用需求。

根据上述例子所述,说明本发明实施例的智能电视系统,可以根据具体应用环境或应用需求对组成系统的功能组件模块进行拼接或裁减,避免系统资源的浪费,降低成本。现简单、便捷,易于推广。

以上已经结合附图描述了本发明的实施例,根据本实施例,提供一种智能电视系统,包括Java应用适配模块和Web应用适配模块的至少之一、多个功能组件模块、硬件适配模块、Linux内核,其中该多个功能组件模块包括至少一个可以支持Java类应用又支持Web类的共用功能组件模块。该智能电视系统可以既支持Java类应用和Web类应用,也可以根据不同的应用环境或应用需求对组成系统的功能组件模块进行拼接或裁剪支持单一的Java应用或Web应用,节省系统资源,降低成本。并且,实现简单,易于推广。

本领域技术人员应当明白,可以通过各种方式来实现智能电视系统2000。例如,可以通过指令配置处理器来实现智能电视系统2000。例如,可以将指令存储在ROM中,并且当启动设备时,将指令从ROM读取到可编程器件中来实现智能电视系统2000。例如,可以将智能电视系统2000固化到专用器件(例如ASIC)中。可以将智能电视系统2000分成相互独立的单元,或者可以将它们合并在一起实现。智能电视系统2000可以通过上述各种实现方式中的一种来实现,或者可以通过上述各种实现方式中的两种或更多种方式的组合来实现。

本领域技术人员公知的是,随着诸如大规模集成电路技术的电子信息技术的发展和软件硬件化的趋势,要明确划分计算机系统软、硬件界限已经显得比较困难了。因为,任何操作可以软件来实现,也可以由硬件来实现。任何指令的执行可以由硬件完成,同样也可以由软件来完成。对于某一机器功能采用硬件实现方案还是软件实现方案,取决于价格、速度、可靠性、存储容量、变更周期等非技术性因素。因此,对于电子信息技术领域的普通技术人员来说,更为直接和清楚地描述一个技术方案的方式是描述该方案中的各个操作。在知道所要执行的操作的情况下,本领域技术人员可以基于对所述非技术性因素的考虑直接设计出期望的产品。

本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。

计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。

这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。

用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。

这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。

这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。

也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。

附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。对于本领域技术人员来说公知的是,通过硬件方式实现、通过软件方式实现以及通过软件和硬件结合的方式实现都是等价的。

以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。本发明的范围由所附权利要求来限定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1