发明内容
本发明实施例提供一种基于Linux电视的图像显示方法及装置,提高了 Linux电视的图像显示效果。
第一方面,本发明实施例提供一种基于Linux电视的图像显示方法,包 括:
确定至少一个第一图层上需要显示的窗口数量,所述至少一个第一图层 用于显示除系统菜单对应的窗口之外的窗口;
确定第二图层的无刷新时长,所述第二图层用于显示所述系统菜单对应 的窗口;
根据所述至少一个第一图层上需要显示的窗口数量和所述第二图层的无 刷新时长,在所述至少一个第一图层和所述第二图层中确定待显示图层;
在电视上显示所述待显示图层。
在一种可能的实施方式中,根据所述至少一个第一图层上需要显示的窗 口数量和所述第二图层的无刷新时长,在所述至少一个第一图层和所述第二 图层中确定待显示图层,包括:
根据所述至少一个第一图层上需要显示的窗口数量,确定所述至少一个 第一图层的状态,所述至少一个第一图层的状态包括禁用状态和启用状态;
根据所述第二图层的无刷新时长,确定所述第二图层的状态,所述第二 图层的状态包括禁用状态和启用状态;
将所述至少一个第一图层和所述第二图层中处于启动状态的图层确定为 所述待显示图层。
在另一种可能的实施方式中,所述根据所述至少一个第一图层上需要显 示的窗口数量,确定所述至少一个第一图层的状态,包括:
判断在所述至少一个第一图层上需要显示的窗口数量是否大于0;
若是,则确定所述至少一个第一图层的状态为启用状态;
若否,则确定所述至少一个第一图层的状态为禁用状态。
在另一种可能的实施方式中,所述根据所述第二图层的无刷新时长,确 定所述第二图层的状态,包括:
判断所述第二图层的无刷新时长是否大于预设阈值;
若是,则确定所述第二图层的状态为禁用状态;
若否,则确定所述第二图层的状态为启用状态。
在另一种可能的实施方式中,确定至少一个第一图层上需要显示的窗口 数量之前,还包括:
确定处于运行状态的应用程序、及所述应用程序对应的Z序范围;
根据所述应用程序对应的Z序范围,在所述至少一个第一图层中确定所 述应用程序对应的图层;
在所述应用程序对应的图层上显示所述应用程序对应的窗口。
第二方面,本发明实施例提供一种基于Linux电视的图像显示装置,包 括第一确定模块、第二确定模块、第三确定模块和显示模块,其中,
所述第一确定模块用于,确定至少一个第一图层上需要显示的窗口数量, 所述至少一个第一图层用于显示除系统菜单对应的窗口之外的窗口;
所述第二确定模块用于,确定第二图层的无刷新时长,所述第二图层用 于显示所述系统菜单对应的窗口;
所述第三确定模块用于,根据所述至少一个第一图层上需要显示的窗口 数量和所述第二图层的无刷新时长,在所述至少一个第一图层和所述第二图 层中确定待显示图层;
所述显示模块用于,在电视上显示所述待显示图层。
在一种可能的实施方式中,所述第三确定模块具体用于:
根据所述至少一个第一图层上需要显示的窗口数量,确定所述至少一个 第一图层的状态,所述至少一个第一图层的状态包括禁用状态和启用状态;
根据所述第二图层的无刷新时长,确定所述第二图层的状态,所述第二 图层的状态包括禁用状态和启用状态;
将所述至少一个第一图层和所述第二图层中处于启动状态的图层确定为 所述待显示图层。
在另一种可能的实施方式中,所述第三确定模块具体用于:
判断在所述至少一个第一图层上需要显示的窗口数量是否大于0;
若是,则确定所述至少一个第一图层的状态为启用状态;
若否,则确定所述至少一个第一图层的状态为禁用状态。
在另一种可能的实施方式中,所述第三确定模块具体用于:
判断所述第二图层的无刷新时长是否大于预设阈值;
若是,则确定所述第二图层的状态为禁用状态;
若否,则确定所述第二图层的状态为启用状态。
在另一种可能的实施方式中,所述装置还包括第四确定模块和第五确定 模块,其中,
所述第四确定模块用于,在所述第一确定模块确定至少一个第一图层上 需要显示的窗口数量之前,确定处于运行状态的应用程序、及所述应用程序 对应的Z序范围;
所述第五确定模块用于,根据所述应用程序对应的Z序范围,在所述至 少一个第一图层中确定所述应用程序对应的图层;
所述显示模块还用于,在所述应用程序对应的图层上显示所述应用程序 对应的窗口。
本发明实施例提供的基于Linux电视的图像显示方法及装置,可以先确 定至少一个第一图层上需要显示的窗口数量、以及第二图层的无刷新时长, 根据至少一个第一图层上需要显示的窗口数量和第二图层的无刷新时长,在 至少一个第一图层和第二图层中确定待显示图层,并在电视上显示待显示图 层。在上述过程中,在进行图像显示时,先在所有的图层(至少一个第一图 层和第二图层)中确定待显示图层,并对待显示图层进行叠加处理,以实现 在电视上显示待显示图层,无需对所有的图层进行叠加处理,减少了叠加处 理的图层的数量,减少了对Linux电视的资源消耗,减少了Linux电视显示 的画面出现卡顿的情况,进而提高Linux电视的图像显示效果。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获 得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例提供的应用场景示意图。请参见图1,在Linux电视 中预设有多个图层,每个图层可以显示不同类型的窗口,例如,图层2用于 开机过程中的窗口,窗口1用于显示系统菜单对应的窗口,窗口0用于显示 第三方应用程序对应的窗口和字幕窗口。对多个图层进行叠加处理,以得到 最终在电视上显示的图像。
在本申请中,在进行图像显示时,根据各个图层中当前需要显示的窗口、 以及图层的无刷新时长,确定进行叠加处理的图层。无需对所有的图层进行 叠加处理,减少了叠加处理的图层的数量,减少了对Linux电视的资源消耗, 减少了Linux电视显示的画面出现卡顿的情况,进而提高Linux电视的图像 显示效果。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说 明的是,下面几个具体实施例可以相互结合,对于相同或相似的内容,在不 同的实施例中不再进行重复说明。
图2为本发明实施例提供的基于Linux电视的图像显示方法的流程示意 图。请参见图2,该方法可以包括:
S201、确定至少一个第一图层上需要显示的窗口数量。
本发明实施例的执行主体可以为基于Linux电视的图像显示装置(下文 简称图像显示装置),该图像显示装置可以设置在Linux电视中,例如,该 图像显示装置可以为设置在Linux电视中的图形管理系统(gfxserver)。可选 的,该图像显示装置可以通过软件实现,或者,该图像显示装置可以通过软 件和硬件的结合实现。
可选的,第一图层显示的窗口包括除系统菜单对应的窗口之外的任意一 个窗口。
可选的,第一图层的数量可以为两个。当然,在实际应用过程中,可以 根据实际需要设置第一图层的数量,本发明实施例对此不作具体限定。
例如,当第一图层的数量为两个时,其中一个第一图层可以用于显示开 机过程中的窗口,另一个第一图层可以用于显示第三方应用程序对应的窗口 和字幕窗口。下面,分别对开机过程中的窗口、第三方应用程序对应的窗口、 以及字幕窗口进行说明。
针对开机过程中的窗口:可选的,开机过程中的窗口可以由开机过程中 的应用程序进行显示。例如,由开机LOGO应用程序显示开机LOGO,由开 机动画应用程序显示开机动画。
例如,在电视开始之后,先启动开机LOGO应用程序,以使电视显示开 机LOGO,在开机LOGO显示预设时长(例如,预设时长可以为1秒)之后, 退出开机LOGO应用程序,并启动开机动画应用程序,以使电视显示开机动 画,在电视开机完成之后,退出开机动画应用程序,以取消显示开机动画。
针对第三方应用程序对应的窗口:第三方应用程序对应的窗口是指第三 方应用程序在运行过程中需要显示的窗口。
例如,第三方应用程序可以为视频播放应用程序、音乐播放应用程序等。 第三方应用程序对应的窗口可以为第三方应用程序的运行界面等。
针对字幕窗口:字幕窗口通常是电视本地的字幕应用程序显示的窗口, 本地的字幕应用程序通常用于显示本地多媒体视频对应的字幕。
例如,当下载到电视本地的多媒体视频中不包括字幕时,本地的字幕应 用程序根据下载的多媒体视频,自动下载与之匹配的字幕,并在多媒体视频 播放的过程中,自动在电视中显示对应的字幕。
需要说明的是,在实际应用过程中,可以根据实际需要设置第一图层的 个数、以及每一个第一图层用于显示的窗口类型,本发明实施例对此不作具 体限定。
可选的,在确定至少一个第一图层上需要显示的窗口数量之前,还可以 先确定处于运行状态的应用程序、及应用程序对应的Z序范围,根据应用程 序对应的Z序范围,在至少一个第一图层中确定应用程序对应的图层,并在 应用程序对应的图层上显示应用程序对应的窗口。相应的,可以根据应用程 序对应的窗口,确定每一个第一图层上需要显示的窗口数量。
其中,Z序用于指示对窗口进行叠加处理时,窗口所处的位置,Z序越 大,窗口所处的位置越靠上。例如,假设窗口1的Z序为2000,窗口2的Z 需为1800,则在对窗口1和窗口2进行叠加处理时,窗口1位于窗口2的上 方。
在本发明实施例中,每个应用程序对应一个Z序范围,该应用程序对应 的所有窗口的Z序在该Z序范围内。例如,假设应用程序对应的Z序范围为 0-500,则该应用程序对应的所有窗口的Z序均在0-500之间。
一个图层中可以显示多个应用程序中的窗口,而一个应用程序中的窗口 通常会在一个图层中显示。可选的,每个图层也可以有其对应的Z序范围, 相应的,可以根据应用程序对应的Z序范围,确定应用程序对应的图层。其 中,应用程序对应的图层的Z序范围包括应用程序对应的Z序范围。
S202、确定第二图层的无刷新时长。
可选的,第二图层显示的窗口包括系统菜单对应的窗口。
例如,系统菜单可以包括屏幕设置菜单、色彩设置菜单、音量设置菜单 等。
在本发明实施例中,对第二图层执行操作即可使得第二图层刷新。用户 可以输入操作以实现对系统菜单进行操作,例如,用户可以通过控制设备(例 如遥控器)对系统菜单进行操作,以实现对电视进行配置,进而使得第二图 层刷新。电视也可以根据实际情况自动对系统菜单进行操作,例如,电视可 以自动对系统菜单进行操作,以实现对电视画面的色彩进行配置,进而使得 第二图层刷新。
可选的,可以根据如下可行的实现方式获取第二图层的无刷新时长:获 取系统菜单的最后刷新时刻;根据系统菜单的最后刷新时刻,获取第二图层 的无刷新时长。
其中,对系统菜单的最后刷新时刻是指最后一次对系统菜单进行操作的 时刻。
S203、根据至少一个第一图层上需要显示的窗口数量和第二图层的无刷 新时长,在至少一个第一图层和第二图层中确定待显示图层。
可选的,可以通过如下可行的实现方式确定待显示图层:根据至少一个 第一图层上需要显示的窗口数量,确定至少一个第一图层的状态,根据第二 图层的无刷新时长,确定第二图层的状态,将至少一个第一图层和第二图层 中处于启动状态的图层确定为待显示图层,其中,至少一个第一图层的状态 包括禁用状态和启用状态,第二图层的状态包括禁用状态和启用状态。
在本发明实施例中,可以为每一个图层设置启动状态和禁用状态,并且 可以根据实际情况切换图层的状态。
可选的,针对任意一个第一图层,可以判断在该第一图层上需要显示的 窗口数量是否大于0;若是,则确定该第一图层的状态为启用状态;若否, 则确定该第一图层的状态为禁用状态。
可选的,可以判断第二图层的无刷新时长是否大于预设阈值;若是,则 确定第二图层的状态为禁用状态;若否,则确定所述第二图层的状态为启用 状态。
S204、在电视上显示待显示图层。
可选的,若待显示图层的数量为1个,则可以直接在电视上显示待显示 图层,若待显示图层的数量为多个,则可以对多个待显示图层进行叠加处理, 并在电视上显示叠加处理后的图层。
需要说明的是,可以参见现有技术中的方法对待显示图层进行叠加处理, 本发明实施例对此不作具体限定。
可选的,当电视还需要播放视频时,则电视可以对视频和待显示图层进 行叠加处理,以使电视可以同时显示待显示图层和视频。
本发明实施例提供的基于Linux电视的图像显示方法,可以先确定至少 一个第一图层上需要显示的窗口数量、以及第二图层的无刷新时长,根据至 少一个第一图层上需要显示的窗口数量和第二图层的无刷新时长,在至少一 个第一图层和第二图层中确定待显示图层,并在电视上显示待显示图层。在 上述过程中,在进行图像显示时,先在所有的图层(至少一个第一图层和第 二图层)中确定待显示图层,并对待显示图层进行叠加处理,以实现在电视 上显示待显示图层,无需对所有的图层进行叠加处理,减少了叠加处理的图 层的数量,减少了对Linux电视的资源消耗,减少了Linux电视显示的画面 出现卡顿的情况,进而提高Linux电视的图像显示效果。
下面,结合图3,通过具体示例,对上述方法实施例所示的技术方案进 行详细说明。
图3为本发明实施例提供的图层叠加示意图。请参见图3,包括过程301- 过程303。
示例性的,假设电视中包括三个图层,分别记为图层0、图层1和图层2, 图层2和图层0为第一图层,图层1为第二图层。其中,在进行图层叠加时, 图层2位于最上层,图层0位于最下层。
请参见过程301,在电视开机过程中,首先启动开机LOGO应用程序, 并根据开机LOGO应用程序,在电视上显示开机LOGO。由于图层0中需要 显示的窗口数量为0,因此将图层0的状态设置为禁用状态。由于系统菜单 还未启动,因此将图层1的状态也设置为禁用状态。由于图层2中需要显示 的窗口数量大于0,因此将图层2的状态设置为启用状态。由上可知,待显 示图层为图层2,相应的,在该过程中,电视直接显示图层2。
在显示开机LOGO预设时长之后,暂停开机LOGO应用程序,并启动开 机动画应用程序,并根据开机动画应用程序,在电视上显示开机动画。由于 图层0中需要显示的窗口数量为0,因此将图层0的状态设置为禁用状态。 由于系统菜单还未启动,因此将图层1的状态也设置为禁用状态。由于图层 2中需要显示的窗口数量大于0,因此将图层2的状态设置为启用状态。由上 可知,待显示图层为图层2,相应的,在该过程中,电视直接显示图层2。
由上可知,在过程301中,只有图层2的状态为启用状态,因此,只需 要显示图层2,无需对三个图层进行叠加处理,减少了对Linux电视的资源消 耗,减少了Linux电视显示的画面出现卡顿的情况,进而提高Linux电视的 图像显示效果。
请参见过程302,在电视开机启动之后,假设默认启动了第三方应用程 序和系统菜单。由于图层0中需要显示的窗口数量大于0,因此将图层0设 置为启用状态。由于图层1的无刷新时长小于预设阈值,因此将图层1设置 为启用状态。由于图层2中需要显示的窗口数量等于0,因此将图层2设置 为禁用状态。由上可知,待显示图层为图层1和图层0,相应的,在该过程 中,电视先对图层1和图层0进行叠加处理,再显示叠加处理后的图层和直 播视频。
由上可知,在过程302中,只有图层1和图层0的状态为启用状态,因 此,只需要对图层1和图层0进行叠加处理,无需对三个图层进行叠加处理, 减少了对Linux电视的资源消耗,减少了Linux电视显示的画面出现卡顿的 情况,进而提高Linux电视的图像显示效果。
请参见过程303,假设在过程302之后,用户退出第三方应用程序,并 打开电视直播,再假设用户长时间没有对系统菜单进行操作、且电视也没有 自动对系统菜单进行操作。由于图层0中需要显示的窗口数量等于0,因此 将图层0设置为禁用状态。由于图层1的无刷新时长大于预设阈值,因此将 图层1设置为禁用状态。由于图层2中需要显示的窗口数量等于0,因此将 图层1设置为禁用状态。由上可知,在该过程中没有需要显示的图层,因此, 直接显示直播视频即可。
由上可知,在过程303中,图层2、图层1和图层0的状态均为禁用状 态,因此,无需显示图层0-图层2,直接显示直播视频即可,无需对三个图 层进行叠加处理,减少了对Linux电视的资源消耗,减少了Linux电视显示 的画面出现卡顿的情况,进而提高Linux电视的图像显示效果。
图4为本发明实施例提供的基于Linux电视的图像显示装置的结构示意 图一。请参见图4,包括第一确定模块11、第二确定模块12、第三确定模块 13和显示模块14,其中,
所述第一确定模块11用于,确定至少一个第一图层上需要显示的窗口数 量,所述至少一个第一图层用于显示除系统菜单对应的窗口之外的窗口;
所述第二确定模块12用于,确定第二图层的无刷新时长,所述第二图层 用于显示所述系统菜单对应的窗口;
所述第三确定模块13用于,根据所述至少一个第一图层上需要显示的窗 口数量和所述第二图层的无刷新时长,在所述至少一个第一图层和所述第二 图层中确定待显示图层;
所述显示模块14用于,在电视上显示所述待显示图层。
本发明实施例提供的基于Linux电视的图像显示装置可以执行上述方法 实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述第三确定模块13具体用于:
根据所述至少一个第一图层上需要显示的窗口数量,确定所述至少一个 第一图层的状态,所述至少一个第一图层的状态包括禁用状态和启用状态;
根据所述第二图层的无刷新时长,确定所述第二图层的状态,所述第二 图层的状态包括禁用状态和启用状态;
将所述至少一个第一图层和所述第二图层中处于启动状态的图层确定为 所述待显示图层。
在另一种可能的实施方式中,所述第三确定模块13具体用于:
判断在所述至少一个第一图层上需要显示的窗口数量是否大于0;
若是,则确定所述至少一个第一图层的状态为启用状态;
若否,则确定所述至少一个第一图层的状态为禁用状态。
在另一种可能的实施方式中,所述第三确定模块13具体用于:
判断所述第二图层的无刷新时长是否大于预设阈值;
若是,则确定所述第二图层的状态为禁用状态;
若否,则确定所述第二图层的状态为启用状态。
图5为本发明实施例提供的基于Linux电视的图像显示装置的结构示意 图二。在图4所示实施例的基础上,请参见图5,所述装置还包括第四确定 模块15和第五确定模块16,其中,
所述第四确定模块15用于,在所述第一确定模块11确定至少一个第一 图层上需要显示的窗口数量之前,确定处于运行状态的应用程序、及所述应 用程序对应的Z序范围;
所述第五确定模块16用于,根据所述应用程序对应的Z序范围,在所述 至少一个第一图层中确定所述应用程序对应的图层;
所述显示模块14还用于,在所述应用程序对应的图层上显示所述应用程 序对应的窗口。
本发明实施例提供的基于Linux电视的图像显示装置可以执行上述方法 实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步 骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可 读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而 前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码 的介质。
最后应说明的是:以上各实施例仅用以说明本发明实施例的技术方案, 而非对其限制;尽管参照前述各实施例对本发明实施例进行了详细的说明, 本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术 方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修 改或者替换,并不使相应技术方案的本质脱离本发明实施例方案的范围。