泰宁新闻网

推荐一种浏览器在不同图层的显示方法及显示设备与流程

泰宁新闻网 http://www.tainingxinwen.cn 2020-10-18 15:34 出处:网络
本站介绍的推荐一种浏览器在不同图层的显示方法及显示设备与流程,小编为您理一理

本站介绍的推荐一种浏览器在不同图层的显示方法及显示设备与流程,小编为您理一理


本申请涉及智能电视技术领域,尤其涉及一种浏览器在不同图层的显示方法及显示设备。



背景技术:

智能电视是一种基于网络应用技术,具备开放式操作系统与芯片,拥有开放式应用平台,可实现双向人机交互功能的显示设备。智能电视可以安装多种电视应用,在电视应用中浏览器是关系电视功能多样化的重要技术,通过浏览器可以为用户展示画面,如操作画面、应用画面、资源画面等。并且,越来越多的技术需要依赖于浏览器来实现,如hbbtv(hybridbroadcast/broadbandtv,混合终端内容发布平台),opapp(操作应用程序)等。

实际显示过程中,每个基于浏览器实现的应用,都对应一个逻辑窗口来呈现应用画面。当有多个不同应用同时存在时,为了能更好的显示每个应用的内容,可能需要在不同的图层来显示窗口。对此,现有技术是通过创建多个浏览器进程,每个浏览器进程使用一个图层,且在使用的图层上创建各自的逻辑窗口来呈现应用画面。例如,在需要将hbbtv应用和opapp应用在不同图形层进行显示时,通过创建两个浏览器进程,每个浏览器进程获取一个directfb(一种硬件图形加速层)句柄,并根据获取的directfb句柄创建逻辑窗口。

显然,由于在不同的图层来显示窗口时,需要存在多个浏览器进程,来分别创建逻辑窗口,因此,这种显示方式会严重消耗智能电视的内存资源。同时,在每次创建窗口时,都会先去创建浏览器进程,也会降低整机的运行效率。



技术实现要素:

本申请提供了一种浏览器在不同图层的显示方法及显示设备,以解决传统显示方法消耗内存严重,导致整体运行效率低的问题。

一方面,本申请提供一种浏览器在不同图层的显示方法,包括以下步骤:

在显示设备的显示器上展示浏览器界面;

接收用户输入,所述用户输入包括用于指示加载多个应用的指令;

从浏览器进程中获取图层组,所述图层组包括所述用户输入中指示所加载应用数量的图形层句柄;

分别使用所述图形层句柄创建所加载应用对应的逻辑窗口;以及,在所述显示器展示的浏览器界面中,添加所述逻辑窗口。

本申请提供的浏览器在不同图层的显示方法,在实际应用中,当用户于浏览器界面输入加载多个应用的指令后,会在浏览器进程中获取预先存储好的图层组。其中,图层组中预置有多个图形层句柄,用于分别在不同图层上创建所加载应用对应的逻辑窗口,从而在不增加浏览器进程数量的前提下,实现在不同图层上创建窗口的目的,减少内存消耗,提升系统流畅度。

可选的,在显示设备的显示器上展示浏览器界面的步骤前,所述方法还包括:

接收浏览器初始化指令,对浏览器进行初始化;

获取预设数量的图形层句柄,得到图层组;所述预设数量大于或等于用户输入中指示所加载应用的数量;

将所述图层组保存在浏览器进程中。

在实际应用中,本申请提供的浏览器在不同图层的显示方法可以在浏览器初始化过程中,预先从平台获取预设数量的图形层句柄,组成图层组并保存在浏览器进程中,以供后续浏览器在不同图层进行显示时,可以分别直接调用,无需再次启动新的浏览器进程,以减少内存消耗。

另一方面,本申请还提供一种显示设备,包括:显示器、用户接口以及控制器。其中,显示器被配置为展示浏览器界面;用户接口被配置为接收用户输入;控制器,被配置为执行以下程序步骤:

在显示设备的显示器上展示浏览器界面;

接收用户输入,所述用户输入包括用于指示加载多个应用的指令;

从浏览器进程中获取图层组,所述图层组包括所述用户输入中指示所加载应用数量的图形层句柄;

分别使用所述图形层句柄创建所加载应用对应的逻辑窗口;以及,在所述显示器展示的浏览器界面中,添加所述逻辑窗口。

由以上技术方案可知,本申请提供的显示设备的控制器通过执行用户输入,并从浏览器进程中获取图层组,以分别使用图层组中的图形层句柄创建所加载应用对应的逻辑窗口,实现显示器展示的浏览器界面中,添加所创建的逻辑窗口,并保持所加载的应用同时存在,完成浏览器在不同图层对所加载应用的显示。

附图说明

为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a中示例性示出了显示设备与控制装置之间操作场景的示意图;

图1b中示例性示出了图1a中控制装置100的配置框图;

图1c中示例性示出了图1a中显示设备200的配置框图;

图1d中示例性示出了显示设备200存储器中操作系统的架构配置框图;

图2a中示意性示出了在显示器275展示浏览器界面的示意图;

图2b中示意性示出了在显示器275中展示amazon应用界面的示意图;

图2c中示意性示出了在不同图层展示所加载应用的示意图;

图3中示意性示出了浏览器在不同图层的显示方法的流程示意图;

图4中示意性示出了获取图层组的流程示意图;

图5中示意性示出了按照应用类型获取图形层句柄的流程示意图;

图6中示意性示出了按照图层逻辑关系的顺序获取图形层句柄的流程示意图;

图7中示意性示出了判断是否需要创建窗口的流程示意图。

具体实施方式

下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。

图1a中示例性示出了显示设备与控制装置之间操作场景的示意图。如图1a所示,控制装置100和显示设备200之间可以有线或无线方式进行通信。

其中,控制装置100被配置为控制显示设备200,其可接收用户输入的操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起着用户与显示设备200之间交互的中介作用。如:用户通过操作控制装置100上频道加减键,显示设备200响应频道加减的操作。

控制装置100可以是遥控器100a,包括红外协议通信或蓝牙协议通信,及其他短距离通信方式等,通过无线或其他有线方式来控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等输入用户指令,来控制显示设备200。如:用户可以通过遥控器上音量加减键、频道控制键、上/下/左/右的移动按键、语音输入按键、菜单键、开关机按键等输入相应控制指令,来实现控制显示设备200的功能。

控制装置100也可以是智能设备,如移动终端100b、平板电脑、计算机、笔记本电脑等。例如,使用在智能设备上运行的应用程序控制显示设备200。该应用程序通过配置可以在与智能设备关联的屏幕上,通过直观的用户界面(ui)为用户提供各种控制。

其中,用户界面是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphicuserinterface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在显示设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素。

示例性的,移动终端100b可与显示设备200安装软件应用,通过网络通信协议实现连接通信,实现一对一控制操作的和数据通信的目的。如:可以使移动终端100b与显示设备200建立控制指令协议,通过操作移动终端100b上提供的用户界面的各种功能键或虚拟按钮,来实现如遥控器100a布置的实体按键的功能。也可以将移动终端100b上显示的音视频内容传输到显示设备200上,实现同步显示功能。

显示设备200可提供广播接收功能和计算机支持功能的网络电视功能。显示设备可以实施为,数字电视、网络电视、互联网协议电视(iptv)等。

显示设备200,可以是液晶显示器、有机发光显示器、投影设备。具体显示设备类型、尺寸大小和分辨率等不作限定。

显示设备200还与服务器300通过多种通信方式进行数据通信。这里可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器300可以向显示设备200提供各种内容和互动。示例的,显示设备200可以发送和接收信息,例如:接收电子节目指南(epg)数据、接收软件程序更新、或访问远程储存的数字媒体库。服务器300可以一组,也可以多组,可以一类或多类服务器。通过服务器300提供视频点播和广告服务等其他网络服务内容。

图1b中示例性示出了控制装置100的配置框图。如图1b所示,控制装置100包括控制器110、存储器120、通信器130、用户输入接口140、输出接口150、供电电源160。

控制器110包括随机存取存储器(ram)111、只读存储器(rom)112、处理器113、通信接口以及通信总线。控制器110用于控制控制装置100的运行和操作,以及内部各部件之间的通信协作、外部和内部的数据处理功能。

示例性的,当检测到用户按压在遥控器100a上布置的按键的交互或触摸在遥控器100a上布置的触摸面板的交互时,控制器110可控制产生与检测到的交互相应的信号,并将该信号发送到显示设备200。

存储器120,用于在控制器110的控制下存储驱动和控制控制装置100的各种运行程序、数据和应用。存储器120,可以存储用户输入的各类控制信号指令。

通信器130在控制器110的控制下,实现与显示设备200之间控制信号和数据信号的通信。如:控制装置100经由通信器130将控制信号(例如触摸信号或按钮信号)发送至显示设备200上,控制装置100可经由通信器130接收由显示设备200发送的信号。通信器130可以包括红外信号接口131和射频信号接口132。例如:红外信号接口时,需要将用户输入指令按照红外控制协议转化为红外控制信号,经红外发送模块进行发送至显示设备200。再如:射频信号接口时,需将用户输入指令转化为数字信号,然后按照射频控制信号调制协议进行调制后,由射频发送端子发送至显示设备200。

用户输入接口140,可包括麦克风141、触摸板142、传感器143、按键144等中至少一者,从而用户可以通过语音、触摸、手势、按压等将关于控制显示设备200的用户指令输入到控制装置100。

输出接口150,通过将用户输入接口140接收的用户指令输出至显示设备200,或者,输出由显示设备200接收的图像或语音信号。这里,输出接口150可以包括led接口151、产生振动的振动接口152、输出声音的声音输出接口153和输出图像的显示器154等。例如,遥控器100a可从输出接口150接收音频、视频或数据等输出信号,并且将输出信号在显示器154上显示为图像形式、在声音输出接口153输出为音频形式或在振动接口152输出为振动形式。

供电电源160,用于在控制器110的控制下为控制装置100各元件提供运行电力支持。形式可以为电池及相关控制电路。

图1c中示例性示出了显示设备200的硬件配置框图。如图1c所示,显示设备200中可以包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、存储器260、用户接口265、视频处理器270、显示器275、音频处理器280、音频输出接口285、供电电源290。

调谐解调器210,通过有线或无线方式接收广播电视信号,可以进行放大、混频和谐振等调制解调处理,用于从多个无线或有线广播电视信号中解调出用户所选择的电视频道的频率中所携带的音视频信号,以及附加信息(例如epg数据)。

调谐解调器210,可根据用户选择,以及由控制器250控制,响应用户选择的电视频道的频率以及该频率所携带的电视信号。

调谐解调器210,根据电视信号的广播制式不同,可以接收信号的途径有很多种,诸如:地面广播、有线广播、卫星广播或互联网广播等;以及根据调制类型不同,可以数字调制方式或模拟调制方式;以及根据接收电视信号的种类不同,可以解调模拟信号和数字信号。

在其他一些示例性实施例中,调谐解调器210也可在外部设备中,如外部机顶盒等。这样,机顶盒通过调制解调后输出电视信号,经过外部装置接口240输入至显示设备200中。

通信器220,是用于根据各种通信协议类型与外部设备或外部服务器进行通信的组件。例如显示设备200可将内容数据发送至经由通信器220连接的外部设备,或者,从经由通信器220连接的外部设备浏览和下载内容数据。通信器220可以包括wifi模块221、蓝牙通信协议模块222、有线以太网通信协议模块223等网络通信协议模块或近场通信协议模块,从而通信器220可根据控制器250的控制接收控制装置100的控制信号,并将控制信号实现为wifi信号、蓝牙信号、射频信号等。

检测器230,是显示设备200用于采集外部环境或与外部交互的信号的组件。检测器230可以包括声音采集器231,如麦克风,可以用于接收用户的声音,如用户控制显示设备200的控制指令的语音信号;或者,可以采集用于识别环境场景类型的环境声音,实现显示设备200可以自适应环境噪声。

在其他一些示例性实施例中,检测器230,还可以包括图像采集器232,如相机、摄像头等,可以用于采集外部环境场景,以自适应变化显示设备200的显示参数;以及用于采集用户的属性或与用户交互手势,以实现显示设备与用户之间互动的功能。

在其他一些示例性实施例中,检测器230,还可以包括光接收器,用于采集环境光线强度,以自适应显示设备200的显示参数变化等。

在其他一些示例性实施例中,检测器230,还可以包括温度传感器,如通过感测环境温度,显示设备200可自适应调整图像的显示色温。示例性的,当温度偏高的环境时,可调整显示设备200显示图像色温偏冷色调;当温度偏低的环境时,可以调整显示设备200显示图像色温偏暖色调。

外部装置接口240,是提供控制器250控制显示设备200与外部设备间数据传输的组件。外部装置接口240可按照有线/无线方式与诸如机顶盒、游戏装置、笔记本电脑等外部设备连接,可接收外部设备的诸如视频信号(例如运动图像)、音频信号(例如音乐)、附加信息(例如epg)等数据。

其中,外部装置接口240可以包括:高清多媒体接口(hdmi)端子241、复合视频消隐同步(cvbs)端子242、模拟或数字分量端子243、通用串行总线(usb)端子244、组件(component)端子(图中未示出)、红绿蓝(rgb)端子(图中未示出)等任一个或多个。

控制器250,通过运行存储在存储器260上的各种软件控制程序(如操作系统和各种应用程序),来控制显示设备200的工作和响应用户的操作。例如,控制器可实现为芯片(system-on-a-chip,soc)。

如图1c所示,控制器250包括随机存取存储器(ram)251、只读存储器(rom)252、图形处理器253、cpu处理器254、通信接口255、以及通信总线256。其中,ram251、rom252以及图形处理器253、cpu处理器254通信接口255通过通信总线256相连接。

rom252,用于存储各种系统启动指令。如在接收到开机信号时,显示设备200电源开始启动,cpu处理器254运行rom252中的系统启动指令,将存储在存储器260的操作系统拷贝至ram251中,以开始运行启动操作系统。当操作系统启动完成后,cpu处理器254再将存储器260中各种应用程序拷贝至ram251中,然后,开始运行启动各种应用程序。

图形处理器253,用于产生各种图形对象,如图标、操作菜单、以及用户输入指令显示图形等。图形处理器253可以包括运算器,用于通过接收用户输入各种交互指令进行运算,进而根据显示属性显示各种对象;以及包括渲染器,用于产生基于运算器得到的各种对象,将进行渲染的结果显示在显示器275上。

cpu处理器254,用于执行存储在存储器260中的操作系统和应用程序指令。以及根据接收的用户输入指令,来执行各种应用程序、数据和内容的处理,以便最终显示和播放各种音视频内容。

在一些示例性实施例中,cpu处理器254,可以包括多个处理器。多个处理器可包括一个主处理器以及多个或一个子处理器。主处理器,用于在显示设备预加载模式中执行显示设备200的一些初始化操作,和/或,在正常模式下显示画面的操作。多个或一个子处理器,用于执行在显示设备待机模式等状态下的一种操作。

通信接口255,可包括第一接口到第n接口。这些接口可以是经由网络被连接到外部设备的网络接口。

控制器250可以控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器275上显示的gui对象的用户输入命令,控制器250便可以执行与由用户输入命令选择的对象有关的操作。例如,控制器可实现为soc(systemonchip,,系统级芯片)或者mcu(microcontrolunit,微控制单元)。

其中,该对象可以是可选对象中的任何一个,例如超链接或图标。该与所选择的对象有关的操作,例如显示连接到超链接页面、文档、图像等操作,或者执行与对象相对应的程序的操作。该用于选择gui对象的用户输入命令,可以是通过连接到显示设备200的各种输入装置(例如,鼠标、键盘、触摸板等)输入命令或者与由用户说出语音相对应的语音命令。

存储器260,用于存储驱动和控制显示设备200运行的各种类型的数据、软件程序或应用程序。存储器260可以包括易失性和/或非易失性存储器。而术语“存储器”包括存储器260、控制器250的ram251和rom252、或显示设备200中的存储卡。

在一些实施例中,存储器260具体用于存储驱动显示设备200中控制器250的运行程序;存储显示设备200内置的和用户从外部设备下载的各种应用程序;存储用于配置由显示器275提供的各种gui、与gui相关的各种对象及用于选择gui对象的选择器的视觉效果图像等数据。

在一些实施例中,存储器260具体用于存储调谐解调器210、通信器220、检测器230、外部装置接口240、视频处理器270、显示器275、音频处理器280等的驱动程序和相关数据,例如从外部装置接口接收的外部数据(例如音视频数据)或用户接口接收的用户数据(例如按键信息、语音信息、触摸信息等)。

在一些实施例中,存储器260具体存储用于表示操作系统(os)的软件和/或程序,这些软件和/或程序可包括,例如:内核、中间件、应用编程接口(api)和/或应用程序。示例性的,内核可控制或管理系统资源,以及其它程序所实施的功能(如所述中间件、api或应用程序);同时,内核可以提供接口,以允许中间件、api或应用程序访问控制器,以实现控制或管理系统资源。

用户接口265,接收各种用户交互。具体的,用于将用户的输入信号发送给控制器250,或者,将从控制器250的输出信号传送给用户。示例性的,遥控器100a可将用户输入的诸如电源开关信号、频道选择信号、音量调节信号等输入信号发送至用户接口265,再由用户接口265转送至控制器250;或者,遥控器100a可接收经控制器250处理从用户接口265输出的音频、视频或数据等输出信号,并且显示接收的输出信号或将接收的输出信号输出为音频或振动形式。

在一些实施例中,用户可在显示器275上显示的图形用户界面(gui)输入用户命令,则用户接口265通过gui接收用户输入命令。确切的说,用户接口265可接收用于控制选择器在gui中的位置以选择不同的对象或项目的用户输入命令。

或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户接口265通过传感器识别出声音或手势,来接收用户输入命令。

视频处理器270,用于接收外部的视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频数据处理,可得到直接在显示器275上显示或播放的视频信号。

示例的,视频处理器270,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等。

其中,解复用模块,用于对输入音视频数据流进行解复用处理,如输入mpeg-2流(基于数字存储媒体运动图像和语音的压缩标准),则解复用模块将其进行解复用成视频信号和音频信号等。

视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。

图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。

帧率转换模块,用于对输入视频的帧率进行转换,如将输入的60hz视频的帧率转换为120hz或240hz的帧率,通常的格式采用如插帧方式实现。

显示格式化模块,用于将帧率转换模块输出的信号,改变为符合诸如显示器显示格式的信号,如将帧率转换模块输出的信号进行格式转换以输出rgb数据信号。

显示器275,用于接收源自视频处理器270输入的图像信号,进行显示视频内容、图像以及菜单操控界面。显示视频内容,可以来自调谐解调器210接收的广播信号中的视频内容,也可以来自通信器220或外部装置接口240输入的视频内容。显示器275,同时显示显示设备200中产生且用于控制显示设备200的用户操控界面ui。

以及,显示器275可以包括用于呈现画面的显示屏组件以及驱动图像显示的驱动组件。或者,倘若显示器275为一种投影显示器,还可以包括一种投影装置和投影屏幕。

音频处理器280,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等音频数据处理,得到可以在扬声器286中播放的音频信号。

示例性的,音频处理器280可以支持各种音频格式。例如mpeg-2、mpeg-4、高级音频编码(aac)、高效aac(he-aac)等格式。

音频输出接口285,用于在控制器250的控制下接收音频处理器280输出的音频信号,音频输出接口285可包括扬声器286,或输出至外接设备的发生装置的外接音响输出端子287,如耳机输出端子。

在其他一些示例性实施例中,视频处理器270可以包括一个或多个芯片组成。音频处理器280,也可以包括一个或多个芯片组成。

以及,在其他一些示例性实施例中,视频处理器270和音频处理器280,可以为单独的芯片,也可以与控制器250一起集成在一个或多个芯片中。

供电电源290,用于在控制器250的控制下,将外部电源输入的电力为显示设备200提供电源供电支持。供电电源290可以是安装在显示设备200内部的内置电源电路,也可以是安装在显示设备200外部的电源。

图1d中示例性示出了显示设备200存储器中操作系统的架构配置框图。该操作系统架构从上到下依次是应用层、中间件层和内核层。

应用层,系统内置的应用程序以及非系统级的应用程序都是属于应用层。负责与用户进行直接交互。应用层可包括多个应用程序,如设置应用程序、电子帖应用程序、媒体中心应用程序等。这些应用程序可被实现为web应用,其基于webkit引擎来执行,具体可基于html5、层叠样式表(css)和javascript来开发并执行。

这里,html,全称为超文本标记语言(hypertextmarkuplanguage),是一种用于创建网页的标准标记语言,通过标记标签来描述网页,html标签用以说明文字、图形、动画、声音、表格、链接等,浏览器会读取html文档,解释文档内标签的内容,并以网页的形式显示出来。

css,全称为层叠样式表(cascadingstylesheets),是一种用来表现html文件样式的计算机语言,可以用来定义样式结构,如字体、颜色、位置等的语言。css样式可以直接存储与html网页或者单独的样式文件中,实现对网页中样式的控制。

javascript,是一种应用于web网页编程的语言,可以插入html页面并由浏览器解释执行。其中web应用的交互逻辑都是通过javascript实现。javascript可以通过浏览器,封装javascript扩展接口,实现与内核层的通信,

中间件层,可以提供一些标准化的接口,以支持各种环境和系统的操作。例如,中间件层可以实现为与数据广播相关的中间件的多媒体和超媒体信息编码专家组(mheg),还可以实现为与外部设备通信相关的中间件的dlna中间件,还可以实现为提供显示设备内各应用程序所运行的浏览器环境的中间件等。

内核层,提供核心系统服务,例如:文件管理、内存管理、进程管理、网络管理、系统安全权限管理等服务。内核层可以被实现为基于各种操作系统的内核,例如,基于linux操作系统的内核。

内核层也同时提供系统软件和硬件之间的通信,为各种硬件提供设备驱动服务,例如:为显示器提供显示驱动程序、为摄像头提供摄像头驱动程序、为遥控器提供按键驱动程序、为wifi模块提供wifi驱动程序、为音频输出接口提供音频驱动程序、为电源管理(pm)模块提供电源管理驱动等。

对于上述显示设备200,其应用层中还可以根据用户实际需求安装有多种类型的应用程序。本申请提供的技术方案中,可以根据显示设备200中所安装程序的不同来源,将应用层中的应用划分为以下三类:其一为系统应用,即系统级应用或通过系统应用平台认证发布的第三方应用,例如opapp应用;其二为获取自其他内容发布平台中的应用,一般为第三方应用,例如hbbtv应用;其三为浏览器应用,浏览器应用可以来源于系统应用也可以来源于自其他内容发布平台。浏览器应用不仅包括浏览器本身,例如cobalt浏览器,还包括一些基于浏览器开发的其他应用,例如基于cobalt浏览器实现的amazon应用。

为了便于描述,本申请的部分实施例中,将通过内容发布平台获取的应用称为第一类应用;将通过操作系统平台获取的应用称为第二类应用;将归属于浏览器平台的应用称为第三类应用。例如:hbbtv应用为第一类应用,opapp应用为第二类应用,amazon应用为第三类应用。

用户界面是显示设备200提供的基础交互ui(userinterface)界面。在用户界面中,用户可通过控制装置100输入一些列指令进行交互,以启动任一应用程序。例如,用户通过控制装置100中的“上、下、左、右”键,输入调整选择框位置,以选择要启动的浏览器应用图标。再通过点击控制装置100中的“确定/ok”键,输入启动应用的指令,使操作系统可以打开并运行浏览器应用。此时,显示设备200的显示器275上可以呈现浏览器界面,如图2a所示。浏览器界面中,可以包括可被用户选择,并跳转至指定页面的网页图标,以及用于输入地址信息或关键词的输入栏,以实现更加复杂的交互过程。

在浏览器界面中,用户仍然可以通过控制装置100输入不同的控制指令,以实现在浏览器上的交互。示例地,可以通过控制装置100中的“上、下、左、右”键选择浏览器界面中的应用图标,以调用不同的功能或者访问指定的网页地址。还可以通过控制装置100中的文本输入按键,在浏览器的地址栏位置输入指定的域名信息或url地址信息,以访问对应的网络位置。

在浏览器界面中,还可以设置其它应用图标,用于加载其它应用。例如,在浏览器界面中还包括amazon应用、hbbtv应用、opapp应用的图标。用户可以通过点击相应的图标,加载对应的应用。例如,在浏览器界面中通过点击amazon应用,加载amazon应用,以便在显示器275中展示amazon应用界面,如图2b所示。

需要说明的是,在浏览器界面加载应用还可以通过语音、文字、快捷键等其他触发方式。例如,在浏览器界面下,用户通过控制装置100的语音输入模块,输入语音“启动amazon”,此时,也相当于用户输入中包括了指示加载应用的指令。

在部分使用场景中,显示设备200可以同时加载多个应用,即通过在浏览器界面中选择多个应用图标,并保持加载的多个应用同时运行。在常规情景下,同时加载的多个应用可以在同一个图形层进行显示,例如,所加载的hbbtv应用和opapp应用可以分栏的形式在同一个图形层显示。但这种显示方式将显示区域进行了压缩,因此会随着同时加载的应用数量的增多,而使得每个应用所占有的显示区域范围越来越小,不便于进行交互。

因此,当遇到类似一些特定交互需求时,则必须将加载的多个应用在不同图形层进行显示。例如,opapp应用需要在amazon应用之上的图形层进行显示;amazon应用由cobalt浏览器实现显示,而hbbtv应用需要在amazon应用之下的图形层显示,且三个应用同时加载运行,如图2c所示。

本申请中,所述图形层或者图层是指互相独立的图形缓存(layers),能够相互组合形成显示器275所显示的图形界面。显示设备200所能够呈现的显示界面可由多个图层组成。多个图层可根据对应的alpha值混合在一起,从而显示出来。

例如,一个待显示的图形界面可以有三个layer,最下面的layer是一幅背景图,如显示纯色画面,中间的layer是一个透明的带有具体图形形状的画面,如板块画面等,最上面是一个透明的带有文字标题的画面,如“amazon”等,从而在显示器275中看到各个layer的混合,展示形成具体的画面效果。还可以在多个图层上展示不同的应用界面,以获得类似“前景-后台”的画面叠放的效果,同时展示多个应用界面。

如图3所示,为了实现在不同图形层上对所加载的应用进行显示,本申请提供一种浏览器在不同图层的显示方法,可被配置在显示设备200中。所述显示设备200至少包括显示器275、用户接口265和控制器250,其中,显示器275被配置为展示浏览器界面;用户接口265被配置为接收用户输入;控制器250被配置为执行浏览器在不同图层的显示方法,具体包括以下步骤:

s1:在显示设备的显示器上展示浏览器界面。

在用户通过控制装置100完成一系列操作后,控制器250启动浏览器应用,并控制显示器275展示浏览器界面。需要说明的是,浏览器界面可以独立的浏览器应用对应的界面,也可以是操作系统内置的浏览器对应的用户界面。

s2:接收用户输入。

其中,所述用户输入包括用于指示加载多个应用的指令。用户输入可以是用户通过控制装置100执行操作后,经浏览器处理的逻辑指令。例如,在浏览器界面展示amazon应用的情况下,再从浏览器界面中,选择opapp应用和hbbtv应用。此时,控制装置100将交互过程传递至显示设备200,并且在浏览器逻辑中生成用于指示加载opapp应用和hbbtv应用的用户输入。

s3:从浏览器进程中获取图层组。

用户交互过程所产生的用户输入,可以被控制器250所监控。当确定其包含同时加载多个应用程序的指令时,可进一步确定是否需要在不同图形层对所加载的应用进行展示。如果需要对所加载的应用在不同图形层进行展示,则可以从浏览器进程中获取预先存储的图层组。

其中,所述图层组包括所述用户输入中指示所加载应用数量的图形层句柄。句柄是指当一个应用程序要引用其他系统(如数据库、操作系统)所管理的内存块或对象时,所使用的连接程序。而图形层句柄,则是当前显示设备200操作系统需要使用显示相关硬件(如显卡芯片)时所使用的句柄。

例如,directfb句柄。directfb是一个轻量级的提供硬件图形加速,输入设备处理和抽象的图形库,它集成了支持半透明的视窗系统以及在linuxframebuffer驱动之上的多层显示。即,directfb是一个用软件封装当前硬件无法支持的图形算法来完成硬件加速的层。由于directfb是为嵌入式系统而设计,因此directfb句柄可以最小的资源开销来实现最高的硬件加速性能。

图层组由多个具有图形处理功能的图形层句柄组成。实际应用中,图层组中所包含的图形层句柄数量可以根据具体的显示设备200硬件配置预先设定。为了能够在不同层展示所加载的全部应用,图层组中包含的句柄数量要大于或等于所加载应用的数量。

需要说明的是,图层组中的句柄数量由于受限于显示设备200的硬件配置,其并不能实现将选择启动的较多数量的应用均进行展示。因此,可以通过在浏览器界面中设置加载上限,来避免用户加载过多的应用程序。例如,当前显示设备200硬件配置中仅支持添加两个句柄时,则在浏览器界面中,设置最多两个选择框;或者,在浏览器界面交互过程中,当用户选择两个以上要加载应用时,在后选择的应用会代替第一次选择的应用,以避免用户加载过多的应用程序。

本申请中,图层组可以预先存储在浏览器进程中,当需要在不同层对所加载应用进行展示时,可以直接从浏览器进程中调用图层组,而无需再启动一个新的浏览器进程,因此可以减少内存消耗。同时,由于图层组是由一组图形层句柄组成,其可以较小的资源开销来实现较高的硬件加速性能,因此在浏览器进程中存储图形层句柄,可以进一步保证系统的流畅度。

在一些实施例中,可以在浏览器应用初始化过程中,在浏览器进程内置图层组,即如图4所示,在显示设备的显示器上展示浏览器界面的步骤前,所述方法还可以包括以下步骤:

s31:接收浏览器初始化指令,对浏览器进行初始化。

控制器250在接收到浏览器的初始化指令后,可以对浏览器进行初始化。浏览器初始化是指通过初始化控制程序,将浏览器软件程序中的变量赋为默认值,把控件设为默认状态的过程。一般发生在显示设备200开机启动的过程中,或者首次运行浏览器应用的过程中。

因此,所述浏览器初始化指令为指示开机的指令;或者,所述浏览器初始化指令为指示启动浏览器应用的指令。上述初始化指令可以由用户手动输入,也可以通过操作系统中控制程序的控制自动运行。

s32:获取预设数量的图形层句柄,得到图层组。

例如,在浏览器进程初始化的时候,控制器250可以从系统平台获取一组directfb句柄,每个directfb句柄相当于一个图层。其中,图层组中所包含的图形层句柄数量,可以根据用户输入确定,即满足所述预设数量大于或等于用户输入中指示所加载应用的数量。例如,用户输入为在浏览器界面展示amazon应用的情况下,再从浏览器界面中,选择opapp应用和hbbtv应用,则用户输入中所加载的应用数量两个,因此,可以在一组directfb句柄中包含至少两个directfb句柄。

s33:将所述图层组保存在浏览器进程中。

在获取到获取预设数量的图形层句柄后,可以将获取的图形层句柄组合成组,形成图层组,并且将图层组保存在浏览器进程中。例如,将上述获得的一组directfb句柄保存在浏览器进程中,以供后续显示过程使用。

s4:分别使用所述图形层句柄创建所加载应用对应的逻辑窗口;以及,在所述显示器展示的浏览器界面中,添加所述逻辑窗口。

在控制器250检测到,当前显示设备200需要在不同图层对所加载的应用进行显示时,可以从图层组中调用所加载应用数量的图形层句柄,以分别使用图形层句柄创建所加载应用对应的逻辑窗口。例如,当浏览器进程需要创建窗口时,可根据窗口要加载的应用,获取一个相应的directfb句柄。并根据获得的directfb句柄创建浏览器的逻辑窗口。创建逻辑窗口后,控制器250还可以进一步通过调整显示器275中页面的布局,使创建的逻辑窗口能够添加到浏览器界面中,实现在不同图层显示所加载应用。

综上所述,在实际应用中,本申请提供的浏览器在不同图层的显示方法,可在浏览器进程初始化的时候,从系统平台获取一组directfb句柄,每个directfb句柄相当于一个图层,并将这组directfb句柄保存在浏览器进程中。当浏览器进程需要创建窗口时,根据窗口要加载的应用获取一个相应的directfb句柄。最后根据获得的directfb句柄创建浏览器的逻辑窗口。由于整个显示过程只创建一个浏览器进程,因此可以减少内存资源消耗。且不必在每次创建窗口时,都先去创建浏览器进程,提高运行效率。

在一些实施例中,如图5所示,接收用户输入的步骤后,所述方法还包括以下步骤:

s211:获取所述用户输入中指示所加载应用归属的应用类型。

本实施例可以在浏览器进程中,预设几种浏览器窗口要加载的应用类型,如:hbbtv应用,opapp应用等。在获取到用户输入以后,还可以对用户输入中所指示要加载的应用的类型进行判断。其中,所述应用类型包括通过内容发布平台获取的第一类应用,例如hbbtv应用;操作系统平台中的第二类应用,例如opapp应用;归属于浏览器平台的第三类应用,例如amazon应用。

由于所加载的应用在归属于不同的应用类型时,决定了其在不同图层上的显示方式。例如,在确定所加载的应用中包含opapp应用、amazon应用和hbbtv应用时,由于opapp应用是系统层面的应用,因此可以拥有较高的显示优先级,即opapp应用需要在amazon应用之上的图形层进行显示。而由于amazon应用由cobalt浏览器实现显示,且当前处在浏览器界面,因此amazon应用可以基于浏览器,在中间图层进行显示。而hbbtv应用是来自于其他内容发布平台的第三方应用,因此显示的优先级较低,可以在amazon应用之下的图形层显示。

s212:按照所加载应用归属的应用类型,从所述图层组中获取图形层句柄。

在确定所加载的应用归属于的应用类型后,可以根据应用的类型从图层组中获取图形层句柄来创建逻辑窗口。例如,用户输入所要加载的应用类型为opapp应用,则可以从图层组中获取一个directfb句柄,并用这个directfb句柄在浏览器界面图层以上的图层创建对应的逻辑窗口。

相应地,如图6所示,按照所加载应用归属的应用类型,从所述图层组中获取图形层句柄的步骤,包括:

s2121:获取归属于第一类应用和第二类应用所加载应用对应的图层逻辑关系;

s2122:按照所述图层逻辑关系的顺序,分别从所述图层组中获取图形层句柄。

本实施例中,在确定所加载的应用归属于的应用类型后,还可以按照第一类应用和第二类应用对应的图层逻辑关系,从图层组中获取图形层句柄,以便于按照相应地的图形层顺序在显示器275上显示所加载的应用。

例如,用户输入中指示所加载的应用既包括hbbtv应用,又包括opapp应用。其中,hbbtv应用为第一类应用,需要在amazon应用之下的图形层显示;opapp应用是第二类应用,需要在amazon应用之上的图形层显示。其对应的图形层逻辑关系为opapp应用-amazon应用-hbbtv应用;因此,可以先从图层组中获取第一个directfb句柄,并使用第一个directfb句柄在amazon应用之上创建opapp应用的逻辑窗口;再从图层组中获取第二个directfb句柄,并使用第二个directfb句柄在amazon应用之下创建hbbtv应用的逻辑窗口。

在按照图层逻辑关系的顺序,获取图形层句柄并创建逻辑窗口后,即可控制显示器275对所创建的逻辑窗口进行显示。同样,可以按照上述图层逻辑关系的顺序,展示逻辑窗口。即,所述显示器展示的浏览器界面中,添加所述逻辑窗口的步骤,可以进一步包括:先获取所加载应用对应的图层逻辑关系;再按照所述图层逻辑关系,在所述显示器显示所述逻辑窗口。

本实施例中,控制器可以控制调整显示器275上的显示画面,将创建的逻辑窗口按顺序进行显示。例如,将显示在amazon应用之上图形层的应用画面,在显示器275的左上角展示;将显示在amazon应用之下图形层的应用画面,在显示器275的右下角展示,并通过模糊、阴影等渲染方式,营造出“前景-后台”的叠层效果。

在一些实施例中,如图7所示,在接收用户输入的步骤后,所述方法还包括:

s221:根据所加载应用归属的应用类型判断是否需要创建窗口;

s222:如果所加载应用归属的应用类型为第一类应用或第二类应用,确定需要创建窗口;

s223:执行按照所加载应用归属的应用类型,从所述图层组中获取图形层句柄的步骤;

s224:如果所加载应用归属的应用类型为第三类应用,确定不需要创建窗口;

s225:返回接收用户输入的步骤。

由于部分应用在启动时可以后台运行或以插件的形式置入在浏览器中,在加载这类应用时,一般无需创建新的逻辑窗口,也就可以不创建窗口。同时,对于amazon应用等基于浏览器的第三类应用,由于其依赖于浏览器进行显示,因此如果用户输入中所加载的应用为第三类应用,确定不需要创建窗口,可以直接跳转至接收用户输入的步骤。

而如果用户输入中所指示加载的应用是第一类应用或第二类应用,则确定需要创建窗口,相应地,可以执行步骤s212,即按照所加载应用归属的应用类型,从所述图层组中获取图形层句柄,并使用获取的图形层句柄完成逻辑窗口的创建。

在一些实施例中,分别使用所述图形层句柄创建所加载应用对应的逻辑窗口的步骤,包括:先使用所述图形层句柄创建图形surface;再在所述图形surface中创建基于浏览器的逻辑窗口。其中,surface代表显示设备200中一块预留的内存,用来保存像素数据。通过创建的图形surface,可以实现图形层句柄中的一系列图形生成操作,如directfb中的drawing、bilitting操作。surface的内存根据设定,可以从显示设备200的系统内存中分配,也可以通过独立的显卡内存中分配。

由以上技术方案可知,本申请提供一种浏览器在不同图层的显示方法及显示设备,所述方法在显示设备200的显示器275上展示浏览器界面的过程中,同时接收指示加载多个应用指令的用户输入,并从浏览器进程中获取图层组,以分别使用图层组中的图形层句柄创建所加载应用对应的逻辑窗口;从而在显示器275展示的浏览器界面中添加逻辑窗口。本申请可以在浏览器初始化过程中,预先从平台获取预设数量的图形层句柄,组成图层组并保存在浏览器进程中,以供后续浏览器在不同图层进行显示时,可以分别直接调用,无需再次启动新的浏览器进程,以减少内存消耗。

本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。


技术特征:

1.一种浏览器在不同图层的显示方法,其特征在于,包括:

在显示设备的显示器上展示浏览器界面;

接收用户输入,所述用户输入包括用于指示加载多个应用的指令;

从浏览器进程中获取图层组,所述图层组包括所述用户输入中指示所加载应用数量的图形层句柄;

分别使用所述图形层句柄创建所加载应用对应的逻辑窗口;以及,在所述显示器展示的浏览器界面中,添加所述逻辑窗口。

2.根据权利要求1所述的浏览器在不同图层的显示方法,其特征在于,在显示设备的显示器上展示浏览器界面的步骤前,所述方法还包括:

接收浏览器初始化指令,对浏览器进行初始化;

获取预设数量的图形层句柄,得到图层组;所述预设数量大于或等于用户输入中指示所加载应用的数量;

将所述图层组保存在浏览器进程中。

3.根据权利要求2所述的浏览器在不同图层的显示方法,其特征在于,所述浏览器初始化指令为指示开机的指令;或者,所述浏览器初始化指令为指示启动浏览器应用的指令。

4.根据权利要求1所述的浏览器在不同图层的显示方法,其特征在于,接收用户输入的步骤后,所述方法还包括:

获取所述用户输入中指示所加载应用归属的应用类型;所述应用类型包括通过内容发布平台获取的第一类应用、操作系统平台中的第二类应用以及归属于浏览器平台的第三类应用;

按照所加载应用归属的应用类型,从所述图层组中获取图形层句柄。

5.根据权利要求4所述的浏览器在不同图层的显示方法,其特征在于,在接收用户输入的步骤后,所述方法还包括:

根据所加载应用归属的应用类型判断是否需要创建窗口;

如果所加载应用归属的应用类型为第一类应用或第二类应用,确定需要创建窗口;

执行按照所加载应用归属的应用类型,从所述图层组中获取图形层句柄的步骤;

如果所加载应用归属的应用类型为第三类应用,确定不需要创建窗口;

返回接收用户输入的步骤。

6.根据权利要求4或5所述的浏览器在不同图层的显示方法,其特征在于,按照所加载应用归属的应用类型,从所述图层组中获取图形层句柄的步骤,包括:

获取归属于第一类应用和第二类应用所加载应用对应的图层逻辑关系;

按照所述图层逻辑关系的顺序,分别从所述图层组中获取图形层句柄。

7.根据权利要求1所述的浏览器在不同图层的显示方法,其特征在于,分别使用所述图形层句柄创建所加载应用对应的逻辑窗口的步骤,包括:

使用所述图形层句柄创建图形surface;

在所述图形surface中创建基于浏览器的逻辑窗口。

8.根据权利要求1所述的浏览器在不同图层的显示方法,其特征在于,在所述显示器展示的浏览器界面中,添加所述逻辑窗口的步骤,包括:

获取所加载应用对应的图层逻辑关系;

按照所述图层逻辑关系,在所述显示器显示所述逻辑窗口。

9.一种显示设备,其特征在于,包括:

显示器,被配置为展示浏览器界面;

用户接口,被配置为接收用户输入;

控制器,被配置为执行以下程序步骤:

在显示设备的显示器上展示浏览器界面;

接收用户输入,所述用户输入包括用于指示加载多个应用的指令;

从浏览器进程中获取图层组,所述图层组包括所述用户输入中指示所加载应用数量的图形层句柄;

分别使用所述图形层句柄创建所加载应用对应的逻辑窗口;以及,在所述显示器展示的浏览器界面中,添加所述逻辑窗口。

10.根据权利要求9所述的显示设备,其特征在于,所述控制器被进一步配置为执行以下程序步骤:

接收浏览器初始化指令,对浏览器进行初始化;

获取预设数量的图形层句柄,得到图层组;所述预设数量大于或等于用户输入中指示所加载应用的数量;

将所述图层组保存在浏览器进程中。

11.根据权利要求10所述的显示设备,其特征在于,所述浏览器初始化指令为指示开机的指令;或者,所述浏览器初始化指令为指示启动浏览器应用的指令。

12.根据权利要求9所述的显示设备,其特征在于,接收用户输入的步骤后,所述控制器被进一步配置为执行以下程序步骤:

获取所述用户输入中指示所加载应用归属的应用类型;所述应用类型包括通过内容发布平台获取的第一类应用、操作系统平台中的第二类应用以及归属于浏览器平台的第三类应用;

按照所加载应用归属的应用类型,从所述图层组中获取图形层句柄。

13.根据权利要求12所述的显示设备,其特征在于,在接收用户输入的步骤后,所述控制器被进一步配置为执行以下程序步骤:

根据所加载应用归属的应用类型判断是否需要创建窗口;

如果所加载应用归属的应用类型为第一类应用或第二类应用,确定需要创建窗口;

执行按照所加载应用归属的应用类型,从所述图层组中获取图形层句柄的步骤;

如果所加载应用归属的应用类型为第三类应用,确定不需要创建窗口;

返回接收用户输入的步骤。

14.根据权利要求12或13所述的显示设备,其特征在于,按照所加载应用归属的应用类型,从所述图层组中获取图形层句柄的步骤,所述控制器被进一步配置为执行以下程序步骤:

获取归属于第一类应用和第二类应用所加载应用对应的图层逻辑关系;

按照所述图层逻辑关系的顺序,分别从所述图层组中获取图形层句柄。

15.根据权利要求9所述的显示设备,其特征在于,分别使用所述图形层句柄创建所加载应用对应的逻辑窗口的步骤,所述控制器被进一步配置为执行以下程序步骤:

使用所述图形层句柄创建图形surface;

在所述图形surface中创建基于浏览器的逻辑窗口。

16.根据权利要求9所述的显示设备,其特征在于,在所述显示器展示的浏览器界面中,添加所述逻辑窗口的步骤,所述控制器被进一步配置为执行以下程序步骤:

获取所加载应用对应的图层逻辑关系;

按照所述图层逻辑关系,在所述显示器显示所述逻辑窗口。

技术总结
本申请提供一种浏览器在不同图层的显示方法及显示设备,所述方法在显示设备的显示器上展示浏览器界面的过程中,同时接收指示加载多个应用指令的用户输入,并从浏览器进程中获取图层组,以分别使用图层组中的图形层句柄创建所加载应用对应的逻辑窗口;从而在显示器展示的浏览器界面中添加逻辑窗口。本申请可以在浏览器初始化过程中,预先从平台获取预设数量的图形层句柄,组成图层组并保存在浏览器进程中,以供后续浏览器在不同图层进行显示时,可以分别直接调用,无需再次启动新的浏览器进程,以减少内存消耗。

技术研发人员:赵忠民;许世国
受保护的技术使用者:海信电子科技(深圳)有限公司
技术研发日:2020.02.17
技术公布日:2020.06.26

推荐一种浏览器在不同图层的显示方法及显示设备与流程的相关内容如下:

本文标题:推荐一种浏览器在不同图层的显示方法及显示设备与流程
http://www.tainingxinwen.cn/qitaxinxi/521435.html

0

精彩评论

暂无评论...
验证码 换一张
取 消