1.本技术涉及显示设备技术领域,尤其涉及一种同一屏幕中多窗口画面的显示控制方法和相关装置。
背景技术:
2.目前智能终端设备功能越来越丰富,智能手机的分屏,智能电视的画中画,均能实现同一屏幕显示多个窗口功能。视频播放需要去抖动,游戏需要低延迟,两者不同时出现时可以轻易实现各自的需求,然而当视频和游戏窗口同时出现时,为适用于同一屏幕内多个窗口的显示需求,需要多个运动估计运动补偿memc(motion estimation and motion compensation)处理模块。例如,当视频和游戏窗口同时出现时,一个memc模块负责视频窗口的运动估计运动补偿实现对相应窗口内图像输出帧率的调整,另一个memc模块负责游戏窗口的低延迟输出。多个memc处理模块成本较高,终端设备的设计复杂。
技术实现要素:
3.本技术的目的是提供一种同一屏幕中多窗口画面的显示控制方法和相关装置,用以解决相关技术中多个memc处理模块成本较高,终端设备的设计复杂的问题。
4.第一方面,本技术提供一种同一屏幕中多窗口画面的显示控制方法,所述方法包括:
5.获取当前展示的多个窗口中各窗口分别对应的第一图像流;
6.将所述多个窗口的第一图像流进行合成处理,得到合成图像流;
7.从所述合成图像流中截取延迟要求低于预设延迟要求的第一窗口内的第一图像流,并对所述第一窗口内的第一图像流通过复制操作得到目标帧率的第一路待合成图像流;
8.将所述合成图像流中去除掉所述第一窗口的图像内容后的剩余图像流进行插帧处理,得到所述目标帧率的第二路待合成图像流;
9.基于所述第一窗口的显示位置,对所述第一路图像流和所述第二路图像流进行合成处理,得到输出图像流进行展示。
10.在一些实施例中,所述将所述合成图像流中去除掉所述第一窗口的图像内容后的剩余图像流进行插帧处理,得到所述目标帧率的第二路待合成图像流,具体包括:
11.将所述剩余图像流中所述第一窗口区域填充为纯色,得到待插帧图像流;
12.基于所述目标帧率对所述待插帧图像流进行运动估计和运动补偿,得到所述第二路待合成图像流。
13.在一些实施例中,确定延迟要求低于预设延迟要求的第一窗口,具体包括:
14.针对所述多个窗口中的任意窗口,获取所述窗口的使能寄存器的状态;
15.若所述使能寄存器的状态为第一状态,则确定所述窗口为低于预设延迟要求的第一窗口;
16.所述从所述合成图像流中截取延迟要求低于预设延迟要求的第一窗口内的第一图像流,具体包括:
17.读取位置坐标寄存器中存储的所述第一窗口的显示坐标;
18.基于所述第一窗口的所述显示坐标,从所述合成图像流的每帧图像中截取所述显示坐标范围内的图像,得到所述第一窗口内的第一图像流。
19.在一些实施例中,所述方法还包括:
20.针对所述多个窗口中的任意窗口,若所述窗口的使能寄存器的状态为第二状态,则确定所述窗口为需要进行运动估计和运动补偿处理的窗口。
21.在一些实施例中,所述将所述多个窗口的第一图像流进行合成处理,得到合成图像流,具体包括:
22.获取所述多个窗口中各窗口的帧率;
23.从所述各窗口的帧率中选择最高帧率作为所述合成图像流的帧率,对所述多个窗口的第一图像流进行合成处理。
24.在一些实施例中,所述方法还包括:
25.针对所述多个窗口中的任意窗口,基于以下方法维护所述窗口的所述使能寄存器的状态:
26.读取低延迟应用列表;
27.针对所述多个窗口中的任意窗口,若所述窗口的窗口标识在所述低延迟应用列表中,则将所述窗口的所述使能寄存器的状态更新为所述第一状态;
28.若所述窗口标识未包含在所述低延迟应用列表中,则将所述窗口的所述使能寄存器的状态更新为第二状态。
29.在一些实施例中,所述方法还包括:
30.响应于向所述低延迟应用列表中添加窗口标识的用户操作,将指定的窗口标识添加到所述低延迟应用列表中。
31.第二方面,本技术还提供了一种显示设备,包括:
32.显示器,用于显示多个窗口中各窗口的图像;
33.存储器,用于存储处理器的可执行指令;
34.处理器,用于执行所述可执行指令,以实现如本技术第一方面中提供的任一方法。
35.第三方面,本技术一实施例还提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由终端设备的处理器执行时,使得电子设备能够执行如本技术第一方面中提供的任一方法。
36.第四方面,本技术一实施例提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如本技术第一方面中提供的任一方法。
37.本技术的实施例提供的技术方案至少带来以下有益效果:
38.本技术实施例提供了一种同一屏幕中多窗口画面的显示控制方法和相关装置。该方法中首先通过对多个窗口的图像进行合成,得到一路通道的图像,然后为了满足低延迟窗口的需求和高帧率窗口的需求,然后为了满足游戏窗口等诸如此类窗口的低延迟需求和视频窗口去抖动的需求,采用改进过的单个memc模块实现分区控制功能,如,对低延迟要求的窗口(即第一窗口)采用复制的方式达到目标帧率,缓解对该窗口的运动估计补偿导致的
延迟较高的问题,而对于延迟要求不高的窗口统一进行一次运动估计补偿实现该类窗口图像的高帧率、去抖动。最后将多个分区的多窗口图像合成一路图像进行输出展示,实现了同一屏幕中多窗口画面的部分窗口去抖动及部分窗口低延迟的需求,节省了大量资源,为用户提供了更简单方便的方法,提升了用户的体验。
39.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本技术各较佳实施例。
附图说明
40.为了更清楚地说明本技术实施例的技术方案,下面将对本技术实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
41.图1为本技术实施例提供的一种显示设备的使用场景的示意图;
42.图2为本技术实施例提供的一种控制装置100的配置框图;
43.图3为本技术实施例提供的一种显示设备200的硬件配置框图;
44.图4为本技术实施例提供的一种显示设备200的另一硬件配置框图;
45.图5为本技术实施例提供的一种终端设备的软件架构示意图;
46.图6为本技术实施例提供的一种同一屏幕中多窗口画面的显示控制方法的流程示意图;
47.图7为本技术实施例提供的同时显示多个窗口的帧率匹配示意图;
48.图8为本技术实施例提供的维护窗口的使能寄存器的状态的流程示意图;
49.图9为本技术实施例提供的同时显示多个窗口及其坐标的界面示意图;
50.图10为本技术实施例提供的游戏窗口填充为纯色的界面示意图;
51.图11为本技术实施例提供的同时显示多个窗口的帧率匹配以及运动估计运动补偿的示意图;
52.图12为本技术实施例提供的一种同一屏幕中多窗口画面的显示控制方法整体工作流程示意图。
具体实施方式
53.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。其中,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
54.并且,在本技术实施例的描述中,除非另有说明,
″
/
″
表示或的意思,例如,a/b可以表示a或b;文本中的
″
和/或
″
仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况,另外,在本技术实施例的描述中,
″
多个
″
是指两个或多于两个。
55.以下,术语
″
第一
″
、
″
第二
″
仅用于描述目的,而不能理解为暗示或暗示相对重要性
或者隐含指明所指示的技术特征的数量。由此,限定有
″
第一
″
、
″
第二
″
、的特征可以明示或者隐含地包括一个或者更多个该特征,在本技术实施例的描述中,除非另有说明,
″
多个
″
的含义是两个或两个以上。
56.术语
″
模块
″
是指任何已知或后来开发的硬件、软件、固件、人工智能、模糊逻辑或硬件或/和软件代码的组合,能够执行与该元件相关的功能。
57.下面将结合实施例对本技术提供的一种同一屏幕中多窗口画面的显示控制方法和相关装置进行介绍。
58.运动估计运动补偿(motion estimation and motion compensation,memc)是目前广泛用于帧率转换中的一种技术,通过估算连续运动图像中物体的运动轨迹,再结合图像数据和得到的运动矢量,插值出中间图像,从而提高视频帧率,改善视频播放时的抖动拖尾等问题。
59.memc的延迟就是从接收到视频帧到显示画面所需的时间,所用时间越少,延迟就越小。m emc需要根据前后帧信息进行运动估计,然后插帧再输出,这些处理导致较高的延迟。游戏一直是智能设备重要的功能之一,低延迟对游戏尤为重要。当搭载memc的设备进入游戏时,通常情况下这时会进入memc的game mode。这种模式将不进行运动估计及运动补偿,直接将当前视频帧输入图像输出,保证了游戏的低延时。
60.本技术实施例主要用以解决相关技术中多个memc处理模块成本较高,终端设备的设计复杂的问题。本技术的发明构思可概括为:获取当前展示的多个窗口中各窗口分别对应的第一图像流,然后将该多个窗口的第一图像流进行合成处理,得到合成图像流,从合成图像流中截取延迟要求低于预设延迟要求的第一窗口内的第一图像流,并对第一图像流通过复制操作得到目标帧率的第一路待合成图像流,再将合成图像流中去除掉第一窗口的图像内容后的剩余图像流进行插帧处理,得到符合目标帧率的第二路待合成图像流,最终基于第一窗口的显示位置,对第一路图像流和第二路图像流进行合成处理,得到输出图像流进行展示。综上,该方法中首先通过对多个窗口的图像进行合成,得到一路通道的图像,然后为了满足一些窗口的低延迟的需求和另一些窗口去抖动的需求,采用改进过的单个memc模块实现分区控制功能,如,对低延迟要求的窗口(即第一窗口)采用复制的方式达到目标帧率,缓解对该窗口的运动估计补偿导致的延迟较高的问题,而对于延迟要求不高的窗口统一进行一次运动估计补偿实现该类窗口图像的高帧率、去抖动。最后将多个分区的多窗口图像合成一路图像进行输出展示,实现了同一屏幕中多窗口画面的部分窗口去抖动及部分窗口低延迟,节省了大量资源,为用户提供了更简单方便的方法,提升了用户的体验。
61.在介绍完本技术实施例的主要发明思想之后,下面对本技术实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本技术实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本技术实施例提供的技术方案。
62.首先,图1为根据实施例中显示设备的使用场景的示意图。如图1所示,显示设备200还与服务器400进行数据通信,用户可通过智能设备300或控制装置100操作显示设备200。
63.在一些实施例中,控制装置100可以是遥控器,遥控器和显示设备的通信包括红外协议通信或蓝牙协议通信,及其他短距离通信方式中的至少一种,通过无线或有线方式来
控制显示设备200。用户可以通过遥控器上按键、语音输入、控制面板输入等至少一种输入用户指令,来控制显示设备200。
64.在一些实施例中,智能设备300可以包括移动终端、平板电脑、计算机、笔记本电脑,ar/vr设备等中的任意一种。
65.在一些实施例中,也可以使用智能设备300以控制显示设备200。例如,使用在智能设备上运行的应用程序控制显示设备200。
66.在一些实施例中,也可以使用智能设备300和显示设备200进行数据的通信。
67.在一些实施例中,显示设备200还可以采用除了控制装置100和智能设备300之外的方式进行控制,例如,可以通过显示设备200设备内部配置的获取语音指令的模块直接接收用户的语音指令控制,也可以通过显示设备200设备外部设置的语音控制装置来接收用户的语音指令控制。
68.在一些实施例中,显示设备200还与服务器400进行数据通信。可允许显示设备200通过局域网(lan)、无线局域网(wlan)和其他网络进行通信连接。服务器400可以向显示设备200提供各种内容和互动。服务器400可以是一个集群,也可以是多个集群,可以包括一类或多类服务器。
69.在一些实施例中,一个步骤执行主体执行的软件步骤可以随需求迁移到与之进行数据通信的另一步骤执行主体上进行执行。示例性的,服务器执行的软件步骤可以随需求迁移到与之数据通信的显示设备上执行,反之亦然。
70.图2示例性示出了根据示例性实施例中控制装置100的配置框图。如图2所示腔制装置100包括控制器110、通信接口130、用户输入/输出接口140、存储器、供电电源。控制装置100可接收用户的输入操作指令,且将操作指令转换为显示设备200可识别和响应的指令,起用户与显示设备200之间交互中介作用。
71.在一些实施例中,通信接口130用于和外部通信,包含wifi芯片,蓝牙模块,nfc或可替代模块中的至少一种。
72.在一些实施例中,用户输入/输出接口140包含麦克风,触摸板,传感器,按键或可替代模块中的至少一种。
73.下面以显示设备200为例对实施例进行具体说明。应该理解的是,图3所示显示设备200仅是一个范例,并且显示设备200可以具有比图3中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
74.图3示出了根据示例性实施例中显示设备200的硬件配置框图。
75.在一些实施例中,显示设备200包括调谐解调器210、通信器220、检测器230、外部装置接口240、控制器250、显示器260、音频输出接口270、存储器、供电电源、用户接口中的至少一种。
76.在一些实施例中控制器包括中央处理器,视频处理器,音频处理器,图形处理器,ram,rom,用于输入/输出的第一接口至第n接口。
77.在一些实施例中,显示器260包括用于呈现画面的显示屏组件,以及驱动图像显示的驱动组件,用于接收源自控制器输出的图像信号,进行显示视频内容、图像内容以及菜单
操控界面的组件以及用户操控ui界面等。
78.在一些实施例中,显示器260可为液晶显示器、oled显示器、以及投影显示器中的至少一种,还可以为一种投影装置和投影屏幕。
79.在一些实施例中,调谐解调器210通过有线或无线接收方式接收广播电视信号,以及从多个无线或有线广播电视信号中解调出音视频信号,如以及epg数据信号。
80.在一些实施例中,通信器220是用于根据各种通信协议类型与外部设备或服务器进行通信的组件。例如:通信器可以包括wifi模块,蓝牙模块,有线以太网模块等其他网络通信协议芯片或近场通信协议芯片,以及红外接收器中的至少一种。显示设备200可以通过通信器220与控制装置100或服务器400建立控制信号和数据信号的发送和接收。
81.在一些实施例中,检测器230用于采集外部环境或与外部交互的信号。例如,检测器230包括光接收器(图中未示出),用于采集环境光线强度的传感器;或者,检测器230包括图像采集器,如摄像头,可以用于采集外部环境场景、用户的属性或用户交互手势,再或者,检测器230包括声音采集器,如麦克风等,用于接收外部声音。
82.在一些实施例中,外部装置接口240可以包括但不限于如下:高清多媒体接口(hdmi)、模拟或数据高清分量输入接口(分量)、复合视频输入接口(cvbs)、usb输入接口(usb)、rgb端口等任一个或多个接口。也可以是上述多个接口形成的复合性的输入/输出接口。
83.在一些实施例中,控制器250和调谐解调器210可以位于不同的分体设备中,即调谐解调器210也可在控制器250所在的主体设备的外置设备中,如外置机顶盒等。
84.在一些实施例中,控制器250,通过存储在存储器上中各种软件控制程序,来控制显示设备的工作和响应用户的操作。控制器250控制显示设备200的整体操作。例如:响应于接收到用于选择在显示器260上显示ui对象的用户命令,控制器250便可以执行与由用户命令选择的对象有关的操作。
85.在一些实施例中,所述对象可以是可选对象中的任何一个,例如超链接、图标或其他可操作的控件。与所选择的对象有关操作有:显示连接到超链接页面、文档、图像等操作,或者执行与所述图标相对应程序的操作。
86.在一些实施例中控制器包括中央处理器(central processing unit,cpu),视频处理器,音频处理器,图形处理器(graphics processing unit,gpu),ram random access memory,ram),rom(read-only memory,rom),用于输入/输出的第一接口至第n接口,通信总线(bus)等中的至少一种。
87.cpu处理器是显示设备200的控制中心,包括系统级芯片soc以及运动估计运动补偿处理模块memc,如图3所示,该memc处理模块可以集成在soc芯片中,作为soc的一部分;如图4所示,也可以外接串联在soc芯片后面,处理完成后再输出到屏幕端。用于执行存储在存储器中操作系统和应用程序指令,以及根据接收外部输入的各种交互指令,来执行各种应用程序、数据和内容,以便最终显示和播放各种音视频内容。cpu处理器,可以包括多个处理器。如,包括一个主处理器以及一个或多个子处理器。
88.在一些实施例中,图形处理器,用于产生各种图形对象,如:图标、操作菜单、以及用户输入指令显示图形等中的至少一种。图形处理器包括运算器,通过接收用户输入各种交互指令进行运算,根据显示属性显示各种对象;还包括渲染器,对基于运算器得到的各种
对象,进行渲染,上述渲染后的对象用于显示在显示器上。
89.在一些实施例中,视频处理器,用于将接收外部视频信号,根据输入信号的标准编解码协议,进行解压缩、解码、缩放、降噪、帧率转换、分辨率转换、图像合成等视频处理中的至少一种,可得到直接可在显示设备200上显示或播放的信号。
90.在一些实施例中,视频处理器,包括解复用模块、视频解码模块、图像合成模块、帧率转换模块、显示格式化模块等中的至少一种。其中,解复用模块,用于对输入音视频数据流进行解复用处理。视频解码模块,用于对解复用后的视频信号进行处理,包括解码和缩放处理等。图像合成模块,如图像合成器,其用于将图形生成器根据用户输入或自身生成的gui信号,与缩放处理后视频图像进行叠加混合处理,以生成可供显示的图像信号。帧率转换模块,用于对转换输入视频帧率。显示格式化模块,用于将接收帧率转换后视频输出信号,改变信号以符合显示格式的信号,如输出rgb数据信号。
91.在一些实施例中,音频处理器,用于接收外部的音频信号,根据输入信号的标准编解码协议,进行解压缩和解码,以及降噪、数模转换、和放大处理等处理中的至少一种,得到可以在扬声器中播放的声音信号。
92.在一些实施例中,用户可在显示器260上显示的图形用户界面(gui)输入用户命令,则用户输入接口通过图形用户界面(gui)接收用户输入命令。或者,用户可通过输入特定的声音或手势进行输入用户命令,则用户输入接口通过传感器识别出声音或手势,来接收用户输入命令。
93.在一些实施例中,
″
用户界面
″
,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面常用的表现形式是图形用户界面(graphic user interface,gui),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的一个图标、窗口、控件等界面元素,其中控件可以包括图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、widget等可视的界面元素中的至少一种。
94.在一些实施例中,用户接口280,为可用于接收控制输入的接口(如:显示设备本体上的实体按键,或其他等)。
95.在一些实施例中,显示设备的系统可以包括内核(kernel)、命令解析器(shell)、文件系统和应用程序。内核、shell和文件系统一起组成了基本的操作系统结构,它们让用户可以管理文件、运行程序并使用系统。上电后,内核启动,激活内核空间,抽象硬件、初始化硬件参数等,运行并维护虚拟内存、调度器、信号及进程间通信(ipc)。内核启动后,再加载shell和用户应用程序。应用程序在启动后被编译成机器码,形成一个进程。
96.参见图5,在一些实施例中,将系统分为四层,从上至下分别为应用程序(applications)层(简称
″
应用层
″
),应用程序框架(application framework)层(简称
″
框架层
″
),安卓运行时(android runtime)和系统库层(简称
″
系统运行库层
″
),以及内核层。
97.在一些实施例中,应用程序层中运行有至少一个应用程序,这些应用程序可以是操作系统自带的窗口(window)程序、系统设置程序或时钟程序等;也可以是第三方开发者所开发的应用程序。在具体实施时,应用程序层中的应用程序包不限于以上举例。
98.框架层为应用程序层的应用程序提供应用编程接口(application programming interface,api)和编程框架。应用程序框架层包括一些预先定义的函数。应用程序框架层
相当于一个处理中心,这个中心决定让应用层中的应用程序做出动作。应用程序通过api接口,可在执行中访问系统中的资源和取得系统的服务。
99.如图5所示,本技术实施例中应用程序框架层包括管理器(managers),内容提供者(content provider)等,其中管理器包括以下模块中的至少一个:活动管理器(activity manager)用与和系统中正在运行的所有活动进行交互;位置管理器(location manager)用于给系统服务或应用提供了系统位置服务的访问;文件包管理器(package manager)用于检索当前安装在设备上的应用程序包相关的各种信息;通知管理器(notification manager)用于控制通知消息的显示和清除;窗口管理器(window manager)用于管理用户界面上的括图标、窗口、工具栏、壁纸和桌面部件。
100.在一些实施例中,活动管理器用于管理各个应用程序的生命周期以及通常的导航回退功能,比如控制应用程序的退出、打开、后退等。窗口管理器用于管理所有的窗口程序,比如获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕,控制显示窗口变化(例如将显示窗口缩小显示、抖动显示、扭曲变形显示等)等。
101.在一些实施例中,系统运行库层为上层即框架层提供支撑,当框架层被使用时,安卓操作系统会运行系统运行库层中包含的c/c++库以实现框架层要实现的功能。
102.在一些实施例中,内核层是硬件和软件之间的层。如图5所示,内核层至少包含以下驱动中的至少一种:音频驱动、显示驱动、蓝牙驱动、摄像头驱动、wifi驱动、usb驱动、hdmi驱动、传感器驱动(如指纹传感器,温度传感器,压力传感器等)、以及电源驱动等。
103.本技术实施例中的显示设备200并不限定于智能电视,也可以为手机、平板电脑等电子设备。
104.基于上述描述,本技术实施例提供了同一屏幕中多窗口画面的显示控制方法,流程示意图如图6所示,包括以下内容:
105.在步骤601中,获取当前展示的多个窗口中各窗口分别对应的第一图像流。
106.以两个窗口为例,窗口a对应a视频流,b窗口对应b视频流。a和b视频流各自的帧率可以相同,也可以不同,均适用于本技术实施例。
107.在步骤602中将多个窗口的第一图像流进行合成处理得到合成图像流。
108.在一些实施例中,将多个窗口的第一图像流进行合成处理,得到合成图像流,为了满足高帧率的要求,可以根据帧率最高的一路第一图像流进行合成处理。可实施为:获取多个窗口中各窗口的帧率,然后从各窗口的帧率中选择最高帧率作为合成图像流的帧率,对多个窗口的第一图像流进行合成处理得到合成图像流。
109.本技术实施例采用系统级芯片soc控制整个系统的界面,先获取多个窗口的第一图像流,再由soc完成帧率匹配,将完整的图像流传送到本技术实施例所提供的memc处理模块,帧率可以是24、25、30、60等。例如图7所示,游戏内容帧率为30fps,视频内容帧率为24fps,此时soc传送给memc处理模块的完整图像流包含游戏、视频内容。soc需要事先完成帧率匹配,即将低帧率的内容提升到高帧率,实现相同帧率输出到memc处理模块。
110.此时,soc可以将视频内容提高到30fps,实现30fps输出到memc处理模块的输入单元,视频由原24fps提高到30fps,所以输入输出比是4:5,即4帧原始图像要输出5帧图像,那么以4帧图像为一个周期,4帧图像的第一帧输出2次,其余3帧各输出一次,则实现4帧图像输出5帧。最终实现了帧率匹配,从而可以将不同帧率的窗口图像流合成为相同帧率的同一
合成图像流。
111.然后,在步骤603中,从合成图像流中截取延迟要求低于预设延迟要求的第一窗口内的第一图像流,并对第一图像流通过复制操作得到目标帧率的第一路待合成图像流。
112.需要说明的是,针对多个窗口中的任意窗口,通过获取窗口的使能寄存器的状态,来确定该窗口是否为低于预设延迟要求的窗口。
113.若使能寄存器的状态为第一状态,则确定该窗口为低于预设延迟要求的第一窗口;若窗口的使能寄存器的状态为第二状态,则确定该窗口为需要进行运动估计和运动补偿处理的窗口。
114.在一些实施例中,针对多个窗口中的任意窗口,基于以下方法维护窗口的使能寄存器的状态,如图8所示可实施为:
115.在步骤801中,读取低延迟应用列表。
116.在步骤802中,针对多个窗口中的任意窗口,若该窗口的窗口标识在低延迟应用列表中,则将该窗口的使能寄存器的状态更新为第一状态。
117.在步骤803中,若该窗口标识未包含在低延迟应用列表中,则将该窗口的使能寄存器的状态更新为第二状态。
118.本技术实施例采用soc根据应用类型,比如将游戏应用默认加入低延迟应用列表中,用户也可以自己选择应用加入此列表,soc将响应于向低延迟应用列表中添加窗口标识的用户操作,将指定的窗口标识添加到低延迟应用列表中。
119.在一些实施例中当soc获取到该窗口的窗口标识在低延迟应用列表中,则将该窗口的使能寄存器写1,对应第一状态。如果有多组窗口,soc根据应用窗口打开时间排序,将多组窗口分别一一对应传递写入memc多组低延迟窗口寄存器。当低延迟窗口被关闭,或者soc该窗口标识未包含在低延迟应用列表中,将对应的memc窗口使能寄存器写o,对应第二状态。
120.在确定该窗口的窗口标识在低延迟应用列表中,则从合成图像流中截取延迟要求低于预设延迟要求的第一窗口内的第一图像流,可实施为:
121.首先,读取位置坐标寄存器中存储的第一窗口的显示坐标;
122.然后,基于第一窗口的显示坐标,从合成图像流的每帧图像中截取显示坐标范围内的图像,得到第一图像流。
123.例如,如图9所示,整个屏幕界面有两个小窗口,分别为视频窗口、游戏窗口。soc将游戏窗口所在显示坐标,图中游戏窗口的4个顶点,即(x0,y0),(x1,y0),(x0,y1),(x1,y1)标识并传递写入memc第一组窗口寄存器,并将该窗口使能寄存器写1。如果低延迟窗口不止一个,soc根据应用窗口打开时间排序,将多组窗口分别一一对应传递写入memc多组低延迟窗口寄存器。根据低延迟窗口的显示坐标,截取低延迟窗口图像,即得到第一图像流。这里只需将(x0,y0),(x1,y0),(x0,y1),(x1,y1)坐标区域内的图像从整个视频帧截取出来。如果有多个低延迟窗口,则分别截取这些图像。
124.在一些实施例中,为了实现窗口的低延迟要求,需要从上述合成图像流中截取出延迟要求低于预设延迟要求的第一窗口内的第一图像流,该第一图像流将不进行插帧处理,从而避免了较高的延迟,同时,若该第一图像流的帧率不符合目标帧率,将通过复制操作得到目标帧率的第一路待合成图像流。例如,第一图像流对应游戏内容,帧率为24fps,目
标帧率为60fps。
125.此时,soc可以将游戏内容提高到30fps,实现30fps输出到memc处理模块的输入单元。以4∶5关系,以4帧输入为一周期进行拷贝输出。memc处理模块接收到30fps的游戏内容输入,需要输出60fps,将以1帧图像输出2帧方式输出,结果就是游戏原本24帧的图像被拷贝到60帧输出。
126.若有两个游戏内容窗口,帧率均为30fps,目标帧率为60fps。此时,soc可以将游戏内容30fps直接输出到memc处理模块的输入单元,memc处理模块接收到30fps的游戏内容输入,需要输出60fps,将以1帧图像输出2帧方式输出,结果就是游戏原本30帧的图像被拷贝到60帧输出。
127.在步骤604中,将合成图像流中去除掉所述第一窗口的图像内容后的剩余图像流进行插帧处理,得到目标帧率的第二路待合成图像流。
128.在一些实施例中,在获得第一路待合成图像流之后,本技术将剩余图像流中第一窗口区域填充为纯色,得到待插帧图像流,在基于目标帧率对待插帧图像流进行运动估计和运动补偿,得到第二路待合成图像流。
129.例如,在进行运动估计运动补偿时仍需将整个显示屏的完整图像输入,所以需要提前将低延迟窗口填充为纯色,如图10所示填充为黑色,保证该区域图像无运动,运动估计模块就不会检测到运动矢量,避免运动矢量传递到其它区域影响其它区域的运动估计,最终根据运动估计结果将插帧视频帧图像生成。
130.最终,在步骤605中,基于第一窗口的显示位置,对第一路图像流和第二路图像流进行合成处理,得到输出图像流进行展示。即将运动估计和运动补偿后的第二路图像流,在低延迟窗口区域替换为截取的低延迟图像,如图9所示将黑色区域替换为截取的第一路图像流,最终合成的输出图像流实现分屏模式下视频去抖动及游戏低延迟。
131.在一些实施例中,若延迟要求低于预设延迟要求的第一窗口有两个,且包括一个延迟要求高于预设延迟要求的第二窗口,例如,如图11所示,有两个游戏内容窗口a和b,帧率均为24fps,且包括一个视频内容窗口,帧率为30fps,最终目标帧率为60fps。此时soc传送给memc处理模块的完整图像流包含游戏a和b、视频内容。soc需要事先完成帧率匹配,即将低帧率的内容提升到高帧率,实现相同帧率输出到memc处理模块。
132.此时,soc可以将游戏a和b内容提高到30fps,如图中的合成图像,实现了30fps输出到memc处理模块的输入单元(图中未体现),游戏由原24fps提高到30fps。在memc处理模块中,截取低延迟要求的图像,对应图11中的游戏a和b,传递给了一个复制模块,另外的视频内容给了插帧模块,这两个模块输出帧率相同,均为60帧,且共同给一个合成模块(图中未体现)进行合成,得到最终的输出图像。
133.在另一些实施例中,本技术实施例提供了同一屏幕中多窗口画面的显示控制方法的整体流程示意图如图12所示,包括以下内容:
134.在步骤1201中,soc获取输入图像流。
135.在步骤1202中,soc获取低延迟应用窗口所在的坐标并写入memc处理模块的低延迟窗口寄存器中,并将该组窗口使能寄存器写1。
136.在步骤1203中,memc处理模块判断是否存在低延迟窗口使能寄存器为1。
137.若不存在低延迟窗口使能寄存器为1,则在步骤1204中,基于目标帧率对待插帧图
像流进行运动估计和运动补偿。
138.在步骤1205中,多窗口图像合成。
139.在步骤1206中,输出图像流并展示。
140.若存在低延迟窗口使能寄存器为1,则在步骤1207中,memc处理模块从内存ddr中读取当前完整图像流,根据低延迟窗口坐标,截取低延迟窗口图像流,得到第一路待合成图像流。
141.在步骤1208中,memc处理模块将低延迟窗口区域填充为纯色,得到待插帧图像流。
142.在步骤1209中,基于目标帧率对待插帧图像流进行运动估计和运动补偿,并得到第二路图像流。
143.在步骤1210中,多窗口图像合成。基于第一窗口的显示位置,对第一路图像流和第二路图像流进行合成处理,得到输出图像流。
144.在步骤1211中,输出图像流并展示。
145.上述步骤真正实现了同一屏幕中多窗口画面的视频去抖动和游戏低延迟,在不使用多个memc处理模块的情况下,通过窗口标识传递低延迟窗口坐标信息,采用改进过的单个memc模块分区控制功能,最后将多窗口图像合成目标图像进行输出展示,实现了同一屏幕中多窗口画面的部分窗口去抖动及部分窗口低延迟,节省了大量资源,为用户提供了更简单方便的方法,提升了用户的体验。
146.此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
147.本技术提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本技术总的构思下的几个示例,并不构成本技术保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本技术方案所扩展出的任何其他实施方式都属于本技术的保护范围。
148.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
149.本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
150.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
151.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
152.显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种同一屏幕中多窗口画面的显示控制方法,其特征在于,所述方法包括:获取当前展示的多个窗口中各窗口分别对应的第一图像流;将所述多个窗口的第一图像流进行合成处理,得到合成图像流;从所述合成图像流中截取延迟要求低于预设延迟要求的第一窗口内的第一图像流,并对所述第一窗口内的第一图像流通过复制操作得到目标帧率的第一路待合成图像流;将所述合成图像流中去除掉所述第一窗口的图像内容后的剩余图像流进行插帧处理,得到所述目标帧率的第二路待合成图像流;基于所述第一窗口的显示位置,对所述第一路图像流和所述第二路图像流进行合成处理,得到输出图像流进行展示。2.根据权利要求1所述的方法,其特征在于,所述将所述合成图像流中去除掉所述第一窗口的图像内容后的剩余图像流进行插帧处理,得到所述目标帧率的第二路待合成图像流,具体包括:将所述剩余图像流中所述第一窗口区域填充为纯色,得到待插帧图像流;基于所述目标帧率对所述待插帧图像流进行运动估计和运动补偿,得到所述第二路待合成图像流。3.根据权利要求1所述的方法,其特征在于,确定延迟要求低于预设延迟要求的第一窗口,具体包括:针对所述多个窗口中的任意窗口,获取所述窗口的使能寄存器的状态;若所述使能寄存器的状态为第一状态,则确定所述窗口为低于预设延迟要求的第一窗口:所述从所述合成图像流中截取延迟要求低于预设延迟要求的第一窗口内的第一图像流,具体包括:读取位置坐标寄存器中存储的所述第一窗口的显示坐标;基于所述第一窗口的所述显示坐标,从所述合成图像流的每帧图像中截取所述显示坐标范围内的图像,得到所述第一窗口内的第一图像流。4.根据权利要求3所述的方法,其特征在于,所述方法还包括:针对所述多个窗口中的任意窗口,若所述窗口的使能寄存器的状态为第二状态,则确定所述窗口为需要进行运动估计和运动补偿处理的窗口。5.根据权利要求1所述的方法,其特征在于,所述将所述多个窗口的第一图像流进行合成处理,得到合成图像流,具体包括:获取所述多个窗口中各窗口的帧率;从所述各窗口的帧率中选择最高帧率作为所述合成图像流的帧率,对所述多个窗口的第一图像流进行合成处理。6.根据权利要求3所述的方法,其特征在于,所述方法还包括:针对所述多个窗口中的任意窗口,基于以下方法维护所述窗口的所述使能寄存器的状态:读取低延迟应用列表;针对所述多个窗口中的任意窗口,若所述窗口的窗口标识在所述低延迟应用列表中,则将所述窗口的所述使能寄存器的状态更新为所述第一状态;
若所述窗口标识未包含在所述低延迟应用列表中,则将所述窗口的所述使能寄存器的状态更新为第二状态。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:响应于向所述低延迟应用列表中添加窗口标识的用户操作,将指定的窗口标识添加到所述低延迟应用列表中。8.一种显示设备,其特征在于,包括:显示器,用于显示多个窗口中各窗口的图像;存储器,用于存储处理器的可执行指令;处理器,用于执行所述可执行指令,以实现如权利要求1-7中任一项所述的方法。9.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由终端设备的处理器执行时,使得所述终端设备能够执行如权利要求1-7中任一项所述的方法。10.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-7中任一项所述的方法。
技术总结
本申请涉及显示设备技术领域,提供一种同一屏幕中多窗口画面的显示控制方法和相关装置,用以解决相关技术中多个MEMC处理模块成本较高,终端设备的设计复杂的问题。获取当前展示的多个窗口中各窗口分别对应的第一图像流,然后将该多个窗口的第一图像流进行合成处理,得到合成图像流,从合成图像流中截取延迟要求低于预设延迟要求的第一窗口内的第一图像流,并对第一图像流通过复制操作得到目标帧率的第一路待合成图像流,再将合成图像流中去除掉第一窗口的图像内容后的剩余图像流进行插帧处理,得到符合目标帧率的第二路待合成图像流,最终基于第一窗口的显示位置,对第一路图像流和第二路图像流进行合成处理,得到输出图像流进行展示。像流进行展示。像流进行展示。
技术研发人员:徐赛杰 余横 李锋 汪佳丽 韩晶晶
受保护的技术使用者:上海顺久电子科技有限公司
技术研发日:2021.11.29
技术公布日:2022/3/8