一种智能电视操作系统
技术领域
本发明涉及计算机应用领域,特别涉及操作系统领域,尤其涉及一种智能电视操作系统。
背景技术
当前,数字信息技术的快速发展使广播电视网向下一代广播电视网、电信网向宽带通信网、互联网向下一代互联网快速演进,并且在演进过程中,三个网络的技术功能趋于一致、业务范围趋于相同、网络趋于互联互通和资源共享,分别都能为用户提供广播电视、话音和数据等多种服务,成为三网融合的网络。
广播电视网络三网融合的快速发展要求电视加快推进数字化、网络化和智能化,加快创新和部署三网融合新业态,要求电视终端不仅能够接收传统的频道化电视节目,而且能够点播交互式视频点播节目、接收实现具有电视、通信、互联网融合特点的融合式新型电视业务,还能够在多种不同形态的终端间实现融合电视业务的智能跨屏切换。所有这些都要求改变现有电视终端过于功能简单的状况,实现从简单化功能电视终端到智能化融合电视终端的跨跃,正如手机终端实现了从“功能手机(Feature Phone)”到“智能手机(Smart Phone)”跨越一样。
要实现智能电视终端,就必须改变目前数字电视终端的业务应用软件与硬件平台绑定的现状,即改变现有数字电视终端的“每增加一项业务应用,就必须对终端的软件进行升级”的现状,使业务应用的开发和部署不依赖于接收终端的软硬件平台,即同一款接收终端能够执行不同业务/内容提供商开发的应用,而同一个应用能够在不同的软硬件平台上运行,从而具备支撑日益丰富的数字电视融合业务的能力。同时,还要求数字电视终端像智能手机一样,在保证安全的前提下,能够从融合业务应用商店或业务
平台中下载各种不同第三方应用软件,既包括如“Angry Bird”等Adroid应用商店上的丰富应用,也包括创新的数字电视融合业务如社交电视、视频通信、互联网电视等,不断丰富终端功能增强用户体验。
智能操作系统(TVOS)就是一个智能电视终端必须具备关键技术。
发明内容
为了解决上述问题,本发明提供了一种智能电视操作系统,其软件架构包括:应用框架层502、应用执行环境层503、组件层504、硬件抽象层505和Linux内核层506,所述应用框架层502用于对组件层各组件接口及逻辑进行组合和再封装,以便简化应用对组件层组件的重用机制;所述应用执行环境层503用于提供应用代码的执行解释环境;所述组件层504包括数字电视相关组件,用于支撑智能电视应用,每个组件均向应用框架层提供规范的通用组件接口,以便组件替换时,保持向应用框架层显露的接口不变;所述Linux内核层506用于进行进程管理、内存管理、实现网络协议以及向智能电视的硬件平台提供驱动程序;以及所述硬件抽象层505用于对Linux内核层的硬件功能进行抽象化,隐藏硬件接口细节,提供虚拟硬件平台,以便向组件层提供统一的接口,使其具有硬件无关性,从而便于在多种平台上进行移植。
此外,所述软件架构还包括应用层501,所述应用层用于实现包括Java应用和Web应用的各种应用,所述应用为软件或文件形式,实现一个业务的全部或部分功能。特别地,应用为随操作系统一并发布的系统应用。
所述组件层504中的数字电视相关组件包括下列组件之一或其组合:
直播电视组件,用于为传统数字电视应用所具备的功能提供核心功能软件,包括进行轮播解析、DSMCC解析、PSI/SI解析和解复用;
互动电视组件,用于基于双向网络的交互式音视频业务支撑相应的软件模块,包括支撑视频点播(VOD)、时移电视(TVOD/TVS)、交换式视频直播在内的互动电视应用软件模块;
CA组件,用于从加扰流中实时获取CA加扰信息,解出加扰控制字,从节目流中获取CA授权信息,控制加扰节目的播放授权。
组件层504还包括网络通信相关组件,用于提供互联网协议及基于互联网协议的各种通信业务协议的解析。网络通信相关组件包括下列组件之一或其组合:
网络协议组件,用于为网络相关的各类应用开发提供协议支持;
家庭互联组件,用于通过家庭互联协议对家庭内部的各个设备进行互联,实现设备动态的发现和控制,支持各设备间的协同工作;
通讯组件,用于进行可视通讯业务相关的交互、媒体收发管理、以及实现VoIP和基于智能电视应用的单方或多方的音视频直接通讯。
组件层504还包括设备管理相关组件,用于实现运营商远程对用户终端进行配置管理。所述设备管理相关组件包括下列组件之一或其组合:
终端管理组件,用于进行终端远程网络配置、业务配置、查询终端应用程序安装信息、业务订购与安装以及产品版本升级;
设备管理组件,用于进行智能电视自带及外接设备的统一管理。
组件层504还包括人机交互相关组件,用于实现用户与终端的本地人机交互。所述人机交互相关组件包括下列组件之一或其组合:
人机交互组件,用于为用户提供多种与设备交互的方式和手段;
UI组件,用于实现UI开发所需的各种图形控件及窗口事件分发处理,为应用的UI开发提供支撑。
504组件层还包括媒体处理相关组件,用于实现多媒体流或文件的播放控制。所述媒体处理相关组件包括下列组件之一或其组合:
AV设置组件,用于提供音视频参数获取及设置;
媒体处理组件,用于进行音视频媒体播放、采集输入及相关功能。
此外,所述组件层504还包括窗口管理组件,用于提供包括窗口的加入和移除、窗口布局绘制、窗口切换的动画效果、焦点切换、窗口的定位和旋转。
组件层504还包括应用管理相关组件,用于实现终端所安装应用的生命周期管理。所述应用管理相关组件包括下列组件之一或其组合:
应用信令组件,用于实现与运营前端的交互,并向应用管理组件报告运营商发出的应用生命周期控制指令,以及进行软件升级监测;
应用管理组件,用于执行应用的启动、调度及生命周期管理以及应用间消息分发;
安装包管理组件,用于负责智能电视终端应用的安装、卸载管理,提供有关安装包的解析、数字签名验证。
组件层504还包括图形库组件,用于进行图形元素的绘制、渲染、显示及窗口管理。
组件层504还包括系统管理相关组件,用于提供软件系统全局的、系统级的管理。所述系统管理相关组件包括下列组件之一或其组合:
工具组件,用于为应用开发提供辅助工具类库;
语言管理组件,用于提供与区域相关的包括货币、语言、时间的工具支持;
文件管理组件,用于为应用提供文件访问及读写操作的统一管理,屏蔽不同文件系统差异,实现访问权限控制;
内容管理组件,作为应用程序之间唯一的共享数据的途径,用于存储并检索数据以及向其他应用程序提供访问数据的接口;
账号管理组件,用于管理不同帐号的服务,从而实现不同应用共享服务帐户。
组件层504还包括WebKit组件,用于对基于HTML及JAVA Script语言开发的Web网页进行解析、呈现及操控处理。
所述Linux内核层所提供的驱动包括高频头驱动、遥控器驱动、前面板驱动、电视显示屏驱动以及安全芯片驱动。
所述Linux内核层506所提供的驱动还包括蓝牙驱动、网卡驱动、Wifi驱动、体感设备驱动、键盘驱动、摄像头驱动、文件系统驱动、存储器驱动、USB驱动、音视频驱动以及电源管理驱动。
所述应用框架层502包括Java应用框架和Web应用框架,所述Java应用框架包括JSR218、JSR219、JSR217、JSR118和扩展Java接口在内的Java应用程序编程接口;所述Web应用框架包括HTML5、JS1.5和扩展JS接口在内的Web应用程序编程接口。
此外,应用框架层502还包括多应用智能适配机制,用于兼容和适配面向其它智能操作系统开发的应用。
它通过Java本地接口(JNI)或JavaScript本地接口(JSNI)调用组件对外显露的规范的通用组件接口。
特别地,所述应用执行环境层503包括Java应用执行环境和Web应用执行环境,所述Java应用执行环境包括Java虚拟机和Java核心类库;所述Web应用执行环境采用基于WebKit的Web引擎;所述Java应用执行环境和Web应用执行环境各自独立运行。
此外,所述操作系统其软件架构还包括系统与资源管理机制507,用于进行操作系统管理和调度,实施终端应用发现下载、加载运行、切换调度的管理及终端软硬件资源的管理调度,并负责对操作系统自身执行引擎和功能组件的管理。此外,软件架构还包括安全机制508,用于对应用进行从应用发布、应用加载到应用运行的全过程安全防护、安全管控和系统自身鲁棒性安全保障。所述系统鲁棒性安全保障通过系统监控、异常发现、异常处理,及时发现、恢复系统运行中的错误;对异常进程占用的资源进行有效回收;防止系统异常操作导致的系统崩溃;并通过与安全芯片、安全Loader结合,实现系统安全升级更新。
由此,数字电视接收终端在安装根据本发明的智能电视操作系统后可以提升应用的互操作性,即同一款终端能够运行不同应用提供商开发的应用,同一个应用能够运行在不同的终端之上。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的智能电视操作系统模型;
图2示出了本发明的智能电视操作系统在数字电视接收终端中所处的上下文环境及与外围的接口示意;
图3示出了智能电视操作系统在整个下一代广播电视网(NGB)中所处的上下文环境;
图4示出了智能电视操作系统所支撑的数字电视接收终端其输入输出模型;
图5示出了根据本发明实施例的一种智能电视操作系统的软件架构。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。
操作系统(OS)是指用来管理计算机系统的全部资源(包括硬件、软件及数据资源)、控制程序运行、改善人机界面、为其它应用软件提供支持等的系统软件。电视操作系统是指运行在数字电视接收终端之上的操作系统软件,接收终端可以是机顶盒、一体机,或其它形态。
本发明所提出的智能电视操作系统架构是指运行在嵌入式数字电视接收终端之上、用以承载、运行与电视相关的业务、控制其它程序运行、管理系统资源并为用户提供操作界面的系统软件集合。
根据下一代广播电视网(NGB)的要求,智能电视操作系统需要具备管理与配置内存、决定系统资源供需的优先次序、控制输入与输出设备、操作网络与管理文件系统等基本事务的功能;并且能够支持终端应用的下载运行,支持应用从开发、测试、部署、下载到运行的全生命周期管理及资源调度管理,为应用提供安全运行环境和功能组件支撑,使应用开发与终端平台隔离,加速应用的开发部署,并具有针对电视应用的操控体验优
化。进而,第三方服务提供商可以基于智能电视操作系统提供的API开发应用,经测试认证后提交到应用商店,供用户下载安装运行,以丰富数字电视业务,增强用户体验。
图1示出了根据本发明的智能电视操作系统模型,包括硬件平台之上应用层之下的软件体和内嵌在操作系统内的系统应用。
图2示出了本发明的智能电视操作系统在数字电视接收终端中所处的上下文环境及与外围的接口示意。
如图所示,智能电视操作系统处于接收终端硬件层之上、应用层之下,屏蔽了硬件层的差异,为应用的运行提供了统一的环境,为应用的开发提供了完整、统一的应用编程接口(API)。
如图所示,智能电视操作系统与外围有三类接口:
1、应用编程接口,即智能电视操作系统提供给应用开发者的接口;
2、系统移植接口,即智能电视操作系统针对具体硬件平台需要进行移植的接口;
3、应用信令,即智能电视操作系统与运营前端进行交互的接口。
图3更进一步示出了智能电视操作系统在整个下一代广播电视网(NGB)中所处的上下文环境。
图4示出了智能电视操作系统所支撑的数字电视接收终端其输入输出模型。
智能电视操作系统所支撑的数字电视接收终端具备从单向广播网和/或双向宽带网接收数据的能力,并通过双向宽带网回传交互数据;解压缩图像、处理多媒体数据,并将混叠后的音、视频信号输出给扬声器、显示器等输出设备;接收处理遥控器、键盘、鼠标等输入设备发出的用户指令。
按照下一代广播电视网的要求,智能电视操作系统所能支撑的应用,按其与广播节目内容的关联关系可分为节目内容关联型应用和独立型应用:节目内容关联型应用是指应用与一个或多个广播业务关联或与广播业务中的一个或多个广播事件关联,选择或切换广播业务对应用的生命周期和运行状态有影响;独立型应用是指应用未与任何广播业务关联,广播业务的切换对应用的生命周期和运行状态无影响。
另一方面,按应用开发技术类型可包括Java应用和Web应用:Java应用是指采用Java编程语言开发的应用的统称;Web应用是指采用HTML、JavaScript、CSS等Web技术开发的应用的统称。
根据以上需求,根据本发明的第一实施例,如图5所示,提供了一种智能电视操作系统,包括应用框架层502、应用执行环境层503、组件层504、硬件抽象层505和Linux内核层506。在优选的实施例中,所述智能电视操作系统还包括应用层501。
所述应用层501用于实现包括Java应用和Web应用的各种应用。其中所述应用为软件或文件形式,实现一个业务的全部或部分功能。所述应用根据其来源不同,可分为系统应用、运营商定制应用、用户自选应用。而由本发明的智能电视操作系统提供的应用主要是随操作系统一并发布的系统应用。
所述应用框架层502用于对组件层各组件接口及逻辑进行组合和再封装,以便简化应用对组件层组件的重用机制。特别地,所述应用框架层502包括Java应用框架和Web应用框架,所述Java应用框架包括JSR218、JSR219、JSR217、JSR118和扩展Java接口在内的Java应用程序编程接口;所述Web应用框架包括HTML5、JS1.5和扩展JS口在内的Web应用程序编程接口。Java应用框架通过Java本地接口(JNI)调用组件层中的组件,Web应用框架通过JavaScript本地接口(JSNI)调用组件层中的组件。其中,所述扩展Java接口定义了支撑数字电视应用的NGB-J接口。所述扩展JS接口定义了支撑数字电视应用的NGB-H JS对象。
此外,优选地,所述应用框架层还包括多应用智能适配机制,用于兼容和适配面向其它智能操作系统开发的应用。所述多应用智能适配机制保持智能电视操作系统组件层不变,在应用框架层根据目标操作系统的应用程序编程接口需求,对组件进行不同的组合和封装,以实现目标操作系统所需要的应用程序编程接口,实现对该目标操作系统的应用兼容。所述应用框架层通过JNI或JSNI调用组件外露的规范的通用组件接口。
所述应用执行环境层503用于提供应用代码的执行解释环境。所述应用执行环境层503包括Java应用执行环境和Web应用执行环境,所述Java应用执行环境包括Java虚拟机和Java核心类库;所述Web应用执行环境采用基于
WebKit的Web引擎;所述Java应用执行环境和Web应用执行环境各自独立运行。在本实施例中,Java应用执行环境和Web应用执行环境各自独立运行,各自独立存在,Java应用执行环境不依赖Web应用执行环境的能力,Web应用执行环境不依赖Java应用执行环境的能力,任何一种应用执行环境的生命周期开始不依赖其它应用执行环境是否运行,任何一种应用执行环境生命周期结束不会导致其它应用生命周期结束。
所述组件层504包括数字电视相关的组件,用于支撑智能电视应用,每个组件均向应用框架层502提供规范的通用组件接口,以便组件替换时,保持向应用框架层502显露的接口不变。
特别地,所述组件层504中的数字电视相关组件可以包括:直播电视组件,用于为传统数字电视应用所具备的功能提供核心功能软件,包括进行轮播解析、DSMCC解析、PSI/SI解析和解复用。互动电视组件,用于基于双向网络的交互式音视频业务支撑相应的软件模块,包括支撑视频点播(VOD)、时移电视(TVOD/TVS)、交换式视频直播在内的互动电视应用软件模块。CA组件,用于从加扰流中实时获取CA加扰信息,解出加扰控制字,从节目流中获取CA授权信息,控制加扰节目的播放授权。
当然,为了支持智能电视的其他应用,所述组件层还可以包括除数字电视相关组件之外的其他组件。
例如所述操作系统可以包括下列全部或部分类型的组件集合:网络通信相关组件、设备管理相关组件、人机交互相关组件、媒体处理相关组件、窗口管理相关组件、应用管理相关组件、图形显示相关组件、系统管理相关组件、浏览器相关组件。
优选地,其中网络通信相关组件用于提供互联网协议及基于互联网协议的各种通信业务协议的解析。具体而言,相关组件可以包括下列组件之一或其组合:家庭互联组件,用于通过家庭互联协议对家庭内部的各个设备进行互联,实现设备动态的发现和控制,支持各设备间的协同工作。网络协议组件,用于为网络相关的各类应用开发提供协议支持。通讯组件,用于进行可视通讯业务相关的交互、媒体收发管理、以及实现VoIP和基于智能电视应用的单方或多方的音视频直接通讯。
所述设备管理相关组件,用于实现运营商远程对用户终端进行配置管理。具体而言,相关组件可以包括下列组件之一或其组合:终端管理组件,用于进行终端远程网络配置、业务配置、查询终端应用程序安装信息、业务订购与安装以及产品版本升级;设备管理组件,用于进行智能电视自带及外接设备的统一管理。
所述人机交互相关组件,用于实现用户与终端的本地人机交互。具体而言,相关组件可以包括下列组件之一或其组合:人机交互组件,用于为用户提供多种与设备交互的方式和手段。UI组件,用于实现UI开发所需的各种图形控件及窗口事件分发处理,为应用的UI开发提供支撑。
所述媒体处理相关组件,用于实现多媒体流或文件的播放控制。具体而言,相关组件可以包括下列组件之一或其组合:AV设置组件,用于提供音视频参数获取及设置。媒体处理组件,用于进行音视频媒体播放、采集输入及相关功能。
所述窗口管理组件,用于提供包括窗口的加入和移除、窗口布局绘制、窗口切换的动画效果、焦点切换、窗口的定位和旋转。
所述应用管理相关组件,用于实现终端所安装应用的生命周期管理。具体而言,相关组件可以包括下列组件之一或其组合:应用信令组件,用于实现与运营前端的交互,并向应用管理组件报告运营商发出的应用生命周期控制指令,以及进行软件升级监测。应用管理组件,用于执行应用的启动、调度及生命周期管理以及应用间消息分发。安装包管理组件,用于负责智能电视终端应用的安装、卸载管理,提供有关安装包的解析、数字签名验证。
所述图形显示类组件可以是图形库组件,用于进行图形元素的绘制、渲染、显示及窗口管理。
所述系统管理相关组件,用于提供软件系统全局的、系统级的管理。具体而言,相关组件可以包括下列组件之一或其组合:工具组件,用于为应用开发提供辅助工具类库。语言管理组件,用于提供与区域相关的包括货币、语言、时间的工具支持。内容管理组件,作为应用程序之间唯一的共享数据的途径,用于存储并检索数据以及向其他应用程序提供访问数据的接口。文件管理组件,用于为应用提供文件访问及读写操作的统一管理,屏蔽不同文
件系统差异,实现访问权限控制。账号管理组件,用于管理不同帐号的服务,从而实现不同应用共享服务帐户。
所述浏览器相关组件具体而言可以包括WebKit组件,用于对基于HTML及JAVA Script语言开发的Web网页进行解析、呈现及操控处理。
所述Linux内核层506用于进行进程管理、内存管理、实现网络协议以及向智能电视的硬件平台提供驱动程序。
其中所提供的硬件驱动包括高频头驱动、遥控器驱动、前面板驱动、电视显示屏驱动以及安全芯片驱动,从而支持数字电视业务。此外,所述硬件驱动还可以包括蓝牙驱动、网卡驱动、Wifi驱动、体感设备驱动、键盘驱动、摄像头驱动、文件系统驱动、存储器驱动、USB驱动、音视频驱动以及电源管理驱动。
所述硬件抽象层505用于对硬件功能进行抽象化,隐藏硬件接口细节,提供虚拟硬件平台,以便向组件层提供统一的接口,使其具有硬件无关性,从而便于在多种平台上进行移植。
此外根据优选的实施例,本发明的智能电视操作系统的软件架构还包括系统与资源管理机制507,用于进行操作系统管理和调度,实施终端应用发现下载、加载运行、切换调度的管理及终端软硬件资源的管理调度,并负责对操作系统自身执行引擎和功能组件的管理。所述系统与资源管理机制507,根据操作系统软件架构层次的功能和编程语言特性,分别在应用框架层、执行环境和组件层、Linux内核层分别植入资源管理模块,这些资源管理模块首先各司其职,分管所处软件层的资源管理工作,同时它们又是一个有机的整体,互相通信,协同工作,实现操作系统整体的资源高效管理。
此外根据另一优选的实施例,本发明的智能电视操作系统的软件架构还包括安全机制508,用于对应用进行从应用发布、应用加载到应用运行的全过程安全防护、安全管控和系统自身鲁棒性安全保障。其中,所述系统鲁棒性安全保障通过系统监控、异常发现、异常处理,及时发现、恢复系统运行中的错误;对异常进程占用的资源进行有效回收;防止系统异常操作导致的系统崩溃;并通过与安全芯片、安全Loader结合,实现系统安全升级更新。所述安全机制508,根据操作系统软件架构层次的功能和编程语言特性,分别在应用框架层、
执行环境和组件层、Linux内核层分别植入安全模块,这些安全模块首先各司其职,分管所处软件层的安全管控,同时它们又是一个有机的整体,互相通信,协同工作,实现操作系统整体的安全管控。
由此,本发明的智能电视操作系统具有至少以下三个有益效果:
(1)作为一种运行于嵌入式平台的操作系统,具有一般操作系统应具有的功能。
(2)本发明的操作系统能够承载与电视相关的业务,诸如:直播电视、时移电视、视频点播等;
(3)能够支持用户自行下载安装第三方服务商开发的应用。
由此,数字电视接收终端在安装根据本发明的智能电视操作系统后可以提升应用的互操作性,即同一款终端能够运行不同应用提供商开发的应用,同一个应用能够运行在不同的终端之上。
虽然关于示例实施例及其优点已经详细说明,应当理解在不脱离本发明的精神和所附权利要求限定的保护范围的情况下,可以对这些实施例进行各种变化、替换和修改。对于其他例子,本领域的普通技术人员应当容易理解在保持本发明保护范围内的同时,工艺步骤的次序可以变化。
此外,本发明的应用范围不局限于说明书中描述的特定实施例的工艺、机构、制造、物质组成、手段、方法及步骤。从本发明的公开内容,作为本领域的普通技术人员将容易地理解,对于目前已存在或者以后即将开发出的工艺、机构、制造、物质组成、手段、方法或步骤,其中它们执行与本发明描述的对应实施例大体相同的功能或者获得大体相同的结果,依照本发明可以对它们进行应用。因此,本发明所附权利要求旨在将这些工艺、机构、制造、物质组成、手段、方法或步骤包含在其保护范围内。