CN117827134A - 图层合成方法及相关装置 - Google Patents
图层合成方法及相关装置 Download PDFInfo
- Publication number
- CN117827134A CN117827134A CN202211182531.8A CN202211182531A CN117827134A CN 117827134 A CN117827134 A CN 117827134A CN 202211182531 A CN202211182531 A CN 202211182531A CN 117827134 A CN117827134 A CN 117827134A
- Authority
- CN
- China
- Prior art keywords
- image
- display screen
- electronic device
- display
- frame
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001308 synthesis method Methods 0.000 title claims abstract description 24
- 238000000034 method Methods 0.000 claims abstract description 109
- 230000015572 biosynthetic process Effects 0.000 claims abstract description 90
- 238000003786 synthesis reaction Methods 0.000 claims abstract description 90
- 238000012545 processing Methods 0.000 claims description 192
- 239000000203 mixture Substances 0.000 claims description 75
- 238000004891 communication Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 8
- 230000008447 perception Effects 0.000 claims 1
- 230000000903 blocking effect Effects 0.000 abstract description 18
- 239000010410 layer Substances 0.000 description 405
- 238000007726 management method Methods 0.000 description 51
- TVZRAEYQIKYCPH-UHFFFAOYSA-N 3-(trimethylsilyl)propane-1-sulfonic acid Chemical compound C[Si](C)(C)CCCS(O)(=O)=O TVZRAEYQIKYCPH-UHFFFAOYSA-N 0.000 description 43
- 230000008569 process Effects 0.000 description 33
- 230000004044 response Effects 0.000 description 22
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 238000010295 mobile communication Methods 0.000 description 13
- 238000005266 casting Methods 0.000 description 6
- 229920001621 AMOLED Polymers 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000003475 lamination Methods 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000002096 quantum dot Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Landscapes
- Controls And Circuits For Display Device (AREA)
Abstract
本申请公开了图层合成方法及相关装置。在该方法中,在电子设备包括有多个显示屏时,电子设备可以先确定其中一个显示屏的图层信息,并依据该显示屏的图层信息进行图层合成,生成该显示屏的图像。然后,电子设备可以基于上述图像,生成其他显示屏的图像。电子设备可以在各个显示屏上分别显示该显示屏对应的图像。实施该方法,可以提升生成显示屏的图像的速度,降低电子设备的功耗开销,使得电子设备在包括较多数量的显示屏的情形下,也不会产生卡顿、掉帧等显示问题,提高电子设备的显示质量。
Description
技术领域
本申请涉及终端技术领域以及显示技术领域,尤其涉及图层合成方法及相关装置。
背景技术
随着终端技术的不断发展,电子设备的图像显示功能越来越强大。电子设备所显示的图像通常包括有多个图层。在生成图像的过程中,电子设备会进行图层合成,将多个图层进行合并,进而得到最终可以在显示屏上显示的图像。
当前,在多屏显示的场景下,电子设备需要生成在多个显示屏上分别显示的图像。在生成多个图像的过程中,电子设备需要针对各图像依次进行图层合成。此时,若显示屏数量较多,电子设备进行图层合成的工作量会大为增加,可能导致电子设备生成图像的速度慢于显示屏的刷新速度,进而产生卡顿、掉帧等显示问题,严重影响电子设备的显示质量。因此,在多屏场景下如何提高电子设备进行图层合成的速度,防止各类显示问题的发生,是本领域亟需解决的问题。
发明内容
本申请实施例提供了图层合成方法及相关装置。实施本申请实施例提供的方法,可以提升生成显示屏的图像的速度,降低电子设备的功耗开销,使得电子设备在包括较多数量的显示屏的情形下,也不会产生卡顿、掉帧等显示问题,提高电子设备的显示质量。
第一方面,本申请实施例提供了一种图层合成方法,该方法应用于电子设备,该电子设备包括第一显示屏和第二显示屏,该方法包括:电子设备确定第一显示屏的图层信息,该第一显示屏的图层信息包含了多个图层的内容以及所述多个图层的位置关系。电子设备根据第一显示屏的图层信息进行图层合成,得到第一图像。电子设备基于第一图像生成第二图像。电子设备在第一显示屏上显示第一图像,在第二显示屏上显示第二图像。
上述电子设备生成第一图像和第二图像的方式可以被称为复用策略。实施第一方面的方法,电子设备生成一组显示模式为复制模式的显示屏的图像仅需要进行一次图层合成。相较于通过图层合成依次生成各个显示屏的图像,可以减少冗余的图层合成动作,降低电子设备的功耗开销,提升生成显示屏的图像的速度。
结合第一方面,在一些实施方式中,该方法还包括:电子设备接收投屏操作指令。电子设备基于第一图像生成第三图像。电子设备将第三图像发送给第一设备,用于第一设备显示第三图像。这样,电子设备也可以使用复用策略生成用于投屏的图像,加快了投屏图像的生成速度,避免了投屏过程中出现卡顿、掉帧等显示问题,提高投屏画面的显示质量。结合第一方面,在一些实施方式中,该方法还包括:电子设备接收录屏操作指令。电子设备基于第一图像生成第四图像。电子设备将第四图像存储为录屏文件。这样,电子设备也可以使用复用策略生成录屏图像,加快了录屏图像的生成速度,避免了录屏文件当中的画面存在卡顿、掉帧等显示问题,提高录屏画面的显示质量。
结合第一方面,在一些实施方式中,电子设备包括第一图像处理模块和第二图像处理模块,第一图像处理模块进行图层合成的速度大于所述第二图像处理模块,电子设备可以通过该第一图像处理模块,根据第一显示屏的图层信息进行图层合成,得到第一图像。电子设备可以通过该第二图像处理模块,基于第一图像生成第二图像。
在另一些实施方式中,电子设备还可以包括第一图像处理模块。电子设备通过该第一图像处理模块,先根据第一显示屏的图层信息进行图层合成,得到第一图像。之后,再基于第一图像生成第二图像。
由前述两种实施方式可知,电子设备可以使用一个或多个图像处理模块,执行如前述第一方面提供的复用策略。并且,可以理解的,上述第一图像处理模块为性能较好的图像处理模块,上述第二图像处理模块为性能较差的图像处理模块,不同性能的图像处理模块分工协作,可以最大程度地发挥各个图像处理模块的优势和能力,进一步加快电子设备生成显示屏的图像的速度。
在一些实施方式中,上述第一图像处理模块可以为显示子系统(display subsystem,DSS),上述第二图像处理模块可以为图形处理器(graphics processing unit,GPU)。
结合第一方面,在一些实施方式中,第一图像包括第一帧和第二帧,该第一帧为该第二帧的上一帧。第二图像包括第三帧。电子设备可以通过第一图像处理模块生成第二帧,以及,通过第二图像处理模块基于第一帧生成第三帧。电子设备生成第二帧的开始时间,和,基于第一帧生成第三帧的开始时间相同。
上述电子设备生成第一图像和第二图像的方式可以被称为异步式策略。使用该异步式策略,电子设备可以同时生成第一显示屏和第二显示屏的图像,由此,可以进一步加快电子设备生成显示屏的图像的速度。
结合第一方面,在一些实施方式中,电子设备包括第一图像处理模块,第一图像包括第一帧,第二图像包括第三帧。电子设备通过该第一图像处理模块,根据第一显示屏的图层信息进行图层合成,得到第一帧,并基于第一帧生成第三帧。
上述电子设备生成第一图像和第二图像的方式可以被称为阻塞式策略。
在另一些实施方式中,电子设备包括第一图像处理模块和第二图像处理模块。第一图像包括第一帧和第二帧,该第一帧为该第二帧的上一帧。第二图像包括第三帧。电子设备可以通过第一图像处理模块,根据第一显示屏的图层信息进行图层合成,得到第一帧。电子设备可以在第一时间内,通过第二图像处理模块,基于第一帧生成第三帧,该第一时间为电子设备生成第一帧的结束时间,和,生成第二帧的开始时间之间的时间。
上述电子设备生成第一图像和第二图像的方式也可以被称为阻塞式策略。使用该阻塞式策略,电子设备可以同时生成不同显示屏的图像,进一步加快了电子设备生成显示屏的图像的速度。
在上述实施方式的一些示例中,在电子设备通过第一图像处理模块,根据第一显示屏的图层信息进行图层合成,得到第一帧之后,电子设备可以将上述第一帧存储于帧缓冲区当中。之后,电子设备可以在第一时间内,通过第二图像处理模块,基于从帧缓冲区当中获取到的第一帧生成第三帧,该第一时间为电子设备生成第一帧和第二帧之间的时间。上述电子设备在将生成的图像存储于帧缓冲区当中之后,又重新读取该存储于帧缓冲区的图像的过程,可以被称为回读。
结合第一方面,在一些实施方式中,电子设备基于第一图像生成第二图像,具体包括:电子设备对第一图像进行复制,或,复制和缩放处理,生成第二图像。
结合第一方面,在一些实施方式中,电子设备还包括第三显示屏,该图层合成方法还包括:电子设备确定第三显示屏的图层信息,第三显示屏的图层信息包含了多个图层的内容以及多个图层的位置关系。电子设备可以根据所述第三显示屏的图层信息进行图层合成,得到第五图像。电子设备根据第三显示屏的图层信息进行图层合成的开始时间,和,根据第一显示屏的图层信息进行图层合成的开始时间相同。电子设备可以在第三显示屏上显示该第五图像。
上述电子设备生成第一图像和第二图像的方式也可以被称为阻塞式策略。使用该阻塞式策略,电子设备可以同时生成不同显示屏的图像,进一步加快了电子设备生成显示屏的图像的速度。
第二方面,本申请实施例提供了另一种图层合成方法,该方法应用于电子设备,该电子设备包括第四显示屏和第五显示屏,该方法包括:电子设备确定第四显示屏的图层信息,和,第五显示屏的图层信息,第四显示屏的图层信息和第五显示屏的图层信息均包含了多个图层的内容以及多个图层的位置关系。电子设备可以根据第四显示屏的图层信息进行图层合成,得到第六图像,并且,根据第五显示屏的图层信息进行图层合成,得到第七图像。电子设备根据第四显示屏的图层信息进行图层合成的开始时间,和根据第五显示屏的图层信息进行图层合成的开始时间相同。电子设备可以在第三显示屏上显示该第六图像,在第四显示屏上显示该第七图像。
上述电子设备生成第一图像和第二图像的方式可以被称为并行策略。实施第二方面的方法,电子设备当中的各个图像处理模块可以并行地进行图层合成。相较于针对各个显示屏依次进行图层合成,可以充分利用图像处理资源,提升生成显示屏的图像的速度。
结合第二方面,在一些实施方式中,电子设备包括第三图像处理模块和第四图像处理模块,该图层合成方法还包括:电子设备通过第三图像处理模块,根据第四显示屏的图层信息进行图层合成,得到第六图像,同时通过第四图像处理模块根据第五显示屏的图层信息进行图层合成,得到第七图像。由此,电子设备可以同时生成第六图像和第七图像,进一步提高了电子设备生成显示屏的图像的速度。
结合第二方面,在一些实施方式中,电子设备还包括第六显示屏,该图层合成方法还包括:电子设备基于第六图像生成第八图像。电子设备在第六显示屏上显示第八图像。
可以理解的,电子设备可以同时使用复用策略和并行策略,进行显示屏的图像的生成工作。由此,针对不同显示模式的显示屏,电子设备可以适应性地选择不同的图像生成策略,进一步地加快电子设备生成显示屏的图像的速度。
第三方面,本申请实施例提供了另一种图层合成方法,该方法应用于电子设备,该电子设备包括第七显示屏,该方法包括:电子设备接收投屏操作指令。电子设备确定第七显示屏的图层信息,第七显示屏的图层信息包含了多个图层的内容以及多个图层的位置关系。电子设备根据第七显示屏的图层信息进行图层合成,得到第九图像。电子设备在第七显示屏上显示第九图像。电子设备基于第九图像生成第十图像。电子设备将第十图像发送给第一设备,用于该第一设备显示第十图像。
实施第三方面的方法,电子设备可以在投屏场景下,使用复用策略生成物理显示屏的图像,以及用于发送给其他设备以实现投屏的图像。由此,可以加快电子设备生成图像的速度。
第四方面,本申请实施例提供了另一种图层合成方法,该方法应用于电子设备,该电子设备包括第八显示屏,该方法包括:电子设备接收录屏操作指令。电子设备确定第八显示屏的图层信息,第八显示屏的图层信息包含了多个图层的内容以及多个图层的位置关系。电子设备根据第八显示屏的图层信息进行图层合成,得到第十一图像。电子设备在第八显示屏上显示第十一图像。电子设备基于第十一图像生成第十二图像。电子设备将第十二图像存储为录屏文件。
实施第四方面的方法,电子设备可以在录屏场景下使用复用策略生成物理显示屏的图像,以及用于存储以实现录屏的图像。由此,可以加快电子设备生成图像的速度。
第五方面,本申请实施例提供一种电子设备,该电子设备包括窗口管理模块,图像处理模块和显示模块,该显示模块包括第一显示屏和第二显示屏。其中:
窗口管理模块用于确定所述第一显示屏的图层信息,第一显示屏的图层信息包含了多个图层的内容以及上述多个图层的位置关系。图像处理模块用于根据第一显示屏的图层信息进行图层合成,得到第一图像,以及,基于第一图像生成第二图像。第一显示屏用于显示第一图像,第二显示屏用于显示第二图像。
结合第五方面,在一些实施方式中,电子设备还包括感知模块和通信模块。其中:
感知模块用于接收投屏操作指令。图像处理模块还用于基于第一图像生成第三图像。通信模块用于将上述第三图像发送给第一设备,第一设备用于投放该第三图像。
结合第五方面,在一些实施方式中,电子设备还包括通信模块和存储模块。其中:
感知模块用于接收录屏操作指令。图像处理模块还用于基于第一图像生成第四图像。存储模块用于将上述第四图像存储为录屏文件。
结合第五方面,在一些实施方式中,图像处理模块包括第一图像处理模块和第二图像处理模块,第一图像处理模块进行图层合成的速度大于所述第二图像处理模块。其中:
第一图像处理模块用于根据第一显示屏的图层信息进行图层合成,得到第一图像。第二图像处理模块用于基于上述第一图像生成所述第二图像。
结合第五方面,在一些实施方式中,第一图像包括第一帧和第二帧,上述第一帧为上述第二帧的上一帧。第二图像包括第三帧。第一图像处理模块用于生成第二帧。第二图像处理模块用于基于第一帧生成所述第三帧。第一图像处理模块生成第二帧的开始时间,和,第二图像处理模块基于第一帧生成第三帧的开始时间相同。
结合第五方面,在一些实施方式中,图像处理模块包括第一图像处理模块,第一图像包括第一帧,第二图像包括第三帧。第一图像处理模块用于根据第一显示屏的图层信息进行图层合成,得到第一帧,并基于第一帧生成第三帧。
或,
图像处理模块包括第一图像处理模块和第二图像处理模块。第一图像包括第一帧和第二帧,上述第一帧为上述第二帧的上一帧。第二图像包括第三帧。第一图像处理模块用于根据第一显示屏的图层信息进行图层合成,得到第一帧。第二图像处理模块在第一时间用于基于第一帧生成第三帧。上述第一时间为第一图像处理模块生成第一帧的结束时间,和,第一图像处理模块生成第二帧的开始时间之间的时间。
结合第五方面,在一些实施方式中,基于所述第一图像生成第二图像,具体包括:对所述第一图像进行复制,或,复制和缩放处理,生成第二图像。
结合第五方面,在一些实施方式中,显示模块还包括第三显示屏。窗口管理模块还用于确定该第三显示屏的图层信息,第三显示屏的图层信息包含了多个图层的内容以及上述多个图层的位置关系。图像处理模块还用于根据第一显示屏的图层信息进行图层合成,得到第一图像,以及,根据第三显示屏的图层信息进行图层合成,得到第五图像。图像处理模块根据第三显示屏的图层信息进行图层合成的开始时间,和,根据第一显示屏的图层信息进行图层合成的开始时间相同。
第六方面,本申请实施例提供一种电子设备,该电子设备包括窗口管理模块,图像处理模块和显示模块,显示模块包括第四显示屏和第五显示屏。其中:
窗口管理模块用于确定第四显示屏的图层信息,和,第五显示屏的图层信息,第四显示屏的图层信息和第五显示屏的图层信息均包含了多个图层的内容以及上述多个图层的位置关系。图像处理模块用于根据第四显示屏的图层信息进行图层合成,得到第六图像,以及,根据第五显示屏的图层信息进行图层合成,得到第七图像。图像处理模块根据第四显示屏的图层信息进行图层合成的开始时间,和根据所述第五显示屏的图层信息进行图层合成的开始时间相同。第三显示屏用于显示第六图像,第四显示屏用于显示第七图像。
结合第六方面,在一些实施方式中,显示模块还包括第六显示屏。图像处理模块还用于基于第六图像生成第八图像。第六显示屏用于显示该第八图像。
第七方面,本申请实施例提供一种电子设备,该电子设备包括感知模块,窗口管理模块,图像处理模块,显示模块和通信模块,显示模块包括第七显示屏。其中:
感知模块用于接收投屏操作指令。窗口管理模块用于确定第七显示屏的图层信息,第七显示屏的图层信息包含了多个图层的内容以及上述多个图层的位置关系。图像处理模块用于根据第七显示屏的图层信息进行图层合成,得到第九图像,以及,基于第九图像生成第十图像。第七显示屏用于显示第九图像。通信模块用于将第十图像发送给第一设备,第一设备用于投放第十图像。
第八方面,本申请实施例提供一种电子设备,该电子设备包括感知模块,窗口管理模块,图像处理模块,显示模块,存储模块,显示模块包括第八显示屏。其中:
感知模块用于接收录屏操作指令。窗口管理模块用于确定第八显示屏的图层信息,第八显示屏的图层信息包含了多个图层的内容以及上述多个图层的位置关系。图像处理模块用于根据第八显示屏的图层信息进行图层合成,得到第十一图像,以及,基于第十一图像生成第十二图像。第八显示屏用于显示第十一图像。存储模块用于将第十二图像存储为录屏文件。
第九方面,本申请实施例提供一种包含指令的计算机程序产品,该计算机程序产品在电子设备上运行时,可以使得该电子设备执行前述第一方面、第二方面、第三方面或第四方面所述的方法。
第十方面,本申请实施例提供一种计算机可读存储介质,包括指令,当该指令在电子设备上运行,可以使得该电子设备执行前述第一方面、第二方面、第三方面或第四方面所述的方法。
附图说明
图1是本申请实施例提供的电子设备进行图层合成的场景示意图;
图2A是本申请实施例提供的电子设备当中的显示屏示意图;
图2B是本申请实施例提供的电子设备进行图层合成,生成显示屏1的图像的示意图;
图3是本申请实施例提供的电子设备100的结构示意图;
图4是本申请实施例提供的电子设备100的软件结构框图;
图5是本申请实施例提供的图层合成方法的流程图;
图6A是本申请实施例提供的电子设备100在生成组中一个显示屏的图像之后,采用阻塞式策略生成组中的其他显示屏的图像的流程图;
图6B是本申请实施例提供的电子设备100在生成组中一个显示屏的图像之后,采用异步式策略生成组中的其他显示屏的图像的流程图;
图7是本申请实施例提供的电子设备100采用并行策略进行图层合成,生成多个显示模式为扩展模式的显示屏的图像的示意图;
图8是本申请实施例提供的另一种电子设备100的结构示意图;
图9是本申请实施例提供的电子设备100的内部交互图。
具体实施方式
本申请以下实施例中所使用的术语只是为了描述特定实施例的目的,而并非旨在作为对本申请的限制。如在本申请的说明书和所附权利要求书中所使用的那样,单数表达形式“一个”、“一种”、“该”、“上述”、“该”和“这一”旨在也包括复数表达形式,除非其上下文中明确地有相反指示。还应当理解,本申请中使用的术语“和/或”是指并包含一个或多个所列出项目的任何或所有可能组合。
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为暗示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征,在本申请实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
本申请以下实施例中的术语“用户界面(user interface,UI)”,是应用程序或操作系统与用户之间进行交互和信息交换的介质接口,它实现信息的内部形式与用户可以接受形式之间的转换。用户界面是通过java、可扩展标记语言(extensible markuplanguage,XML)等特定计算机语言编写的源代码,界面源代码在电子设备上经过解析,渲染,最终呈现为用户可以识别的内容。用户界面常用的表现形式是图形用户界面(graphicuser interface,GUI),是指采用图形方式显示的与计算机操作相关的用户界面。它可以是在电子设备的显示屏中显示的文本、图标、按钮、菜单、选项卡、文本框、对话框、状态栏、导航栏、Widget等可视的界面元素。
图层是可用于承载文本、图像等显示元素的画布。
图层合成是电子设备将多个图层按照一定的位置关系和层级关系组合在一起,生成一幅图像的过程。上述位置关系可以包括拼接和重叠。对于相互之间存在重叠关系的多个图层而言,在上述多个图层的重叠区域上,层级较大的图层会覆盖住层级较小的图层,使得多个图层当中层级最大的图层在图像中可见,而其他图层在图像中不可见。
如图1所示,电子设备进行图层合成可以应用于以下场景:
场景1,电子设备可以进行图层合成,生成图像。之后,电子设备可以将生成的图像显示于该图像对应的物理显示屏之上。在一些实现方式中,上述场景当中电子设备生成的图像可以被称为显示图像。
场景2,电子设备可以响应于接收到的投屏操作,生成虚拟显示屏。之后,电子设备可以调用该虚拟显示屏进行图层合成,生成该虚拟显示屏的图像。之后,电子设备可以将生成的图像发送给其他电子设备进行显示,以实现投屏。在一些实现方式中,上述场景当中电子设备生成并发送给其他电子设备的图像可以被称为投屏图像。
场景3,电子设备可以响应于接收到的录屏操作,生成虚拟显示屏。之后,电子设备可以调用该虚拟显示屏进行图层合成,生成该虚拟显示屏的图像。之后,电子设备可以依据生成的图像生成视频文件,以实现录屏。在一些实现方式中,上述场景当中电子设备生成的用于生成视频文件的图像可以被称为录屏图像。
电子设备当中可以包括有多个显示屏。显示模式可用于指示该显示屏的图像,与,电子设备当中其他显示屏的图像之间的关系。显示屏的显示模式可以包括复制模式和扩展模式。其中:
对于显示模式为复制模式的显示屏而言,该显示屏的图像,与,电子设备当中的至少一个显示屏的图像,存在相同或相近的关系。两个图像存在相近的关系的情形可以包括:两个图像仅存在尺寸上的区别、两个图像互为镜像关系等等。进一步地,电子设备当中所有显示模式为复制模式的显示屏,可以包括一组或多组显示屏的图像存在相同或相近关系的显示屏。一组显示屏可以包括多个显示屏。
对于显示模式为扩展模式的显示屏而言,该显示屏的图像,与,电子设备当中其他显示屏的图像均不存在相同或相近的关系。
随着终端技术的不断发展,需要电子设备生成其中多个显示屏各自对应的图像的情形越来越多。例如,在以下任意一种情形下,电子设备都需要生成其中的多个显示屏各自对应的图像:
情形1,电子设备包括多个物理显示屏。在此种情形下,对于任一个物理显示屏,电子设备均需要生成并在该物理显示屏上显示其对应的显示图像。
情形2,电子设备在物理显示屏上显示其对应的显示图像的同时,还进行投屏。在此种情形下,该电子设备不仅需要生成各个物理显示屏所对应的显示图像,还需要调用虚拟显示屏进行图层合成,生成该虚拟显示屏对应的投屏图像。电子设备可以将生成的投屏图像发送给其他设备进行显示,以实现投屏。
情形3,电子设备在物理显示屏上显示其对应的显示图像的同时,还进行录屏。在此种情形下,该电子设备不仅需要生成各个物理显示屏所显示的显示图像,还需要调用虚拟显示屏进行图层合成,生成该虚拟显示屏对应的录屏图像。电子设备可以依据生成的录屏图像生成视频文件,以实现录屏。
情形4,电子设备在物理显示屏上显示其对应的显示图像的同时,还进行投屏和录屏。在此种情形下,该电子设备不仅需要生成各个物理显示屏所对应的显示图像,还需要调用虚拟显示屏进行图层合成,生成投屏图像,以及,调用虚拟显示屏进行图层合成,生成录屏图像。
在一些实现方式中,对于前述情形2~情形4,电子设备可以在多个物理显示屏上分别显示其对应的显示图像,并且,电子设备可以调用一个或多个虚拟显示屏分别进行图层合成,生成一个或多个投屏图像和/或录屏图像。
示例性的,如图2A所示,电子设备可以包括有显示屏1~显示屏6六个显示屏。
其中,显示屏1~显示屏4为物理显示屏,显示屏5是电子设备100响应于针对显示屏1的投屏操作生成的虚拟显示屏,显示屏6是电子设备100响应于针对显示屏2的录屏操作生成的虚拟显示屏。由于电子设备100响应于镜像投屏/录屏操作生成的虚拟显示屏的图像,与,上述镜像投屏/录屏操作所针对的物理显示屏的图像相同或相近,即上述显示屏1和显示屏4是一组显示屏的图像存在相同或相近关系的显示屏,上述显示屏2和显示屏5是一组显示屏的图像存在相同或相近关系的显示屏,因此,显示屏1、显示屏2、显示屏5、显示屏6的显示模式均为复制模式。除此之外,由于显示屏3及显示屏4的图像与其他显示屏的图像均不相同,因此,显示屏3及显示屏4的显示模式为扩展模式。
在电子设备需要生成其中的多个显示屏各自对应的图像的情形下,对于任一个显示屏,电子设备均会针对该显示屏进行图层合成,生成该显示屏所对应的图像。由此,电子设备在生成其中的多个显示屏各自对应的图像的过程中,进行图层合成的总时长为电子设备针对各个显示屏进行图层合成的时长之和。示例性的,在电子设备包括六个显示屏:显示屏1~显示屏6的情形下,若电子设备针对显示屏1-6进行图层合成的时长分别为T1-T6,那么,电子设备进行图层合成的总时长为T1+T2+T3+T4+T5+T6。
然而,在电子设备当中包括的显示屏数量增加的情形下,若电子设备仍旧使用上述方法生成其中的多个显示屏各自对应的图像,由于对于任一个显示屏,电子设备均需要针对该显示屏进行图层合成,因此,电子设备进行图层合成的工作量增加,相应的,电子设备进行图层合成的总时长增加,进而可能使电子设备生成图像的速度小于其对应的显示屏的刷新速度,导致产生卡顿、掉帧等显示问题,严重影响电子设备的显示质量。
为了解决上述缺陷,本申请实施例提供一种图层合成方法及相关装置。
在该方法中,电子设备需要生成多个显示屏的图像,该多个显示屏可以包括物理显示屏和/或虚拟显示屏。在电子设备的多个显示屏包含一组或多组显示模式为复制模式的显示屏时,针对一组显示屏,电子设备可以先通过图层合成来生成其中一个显示屏的图像,然后再基于该图像生成该组其他显示屏的图像。其中,一组显示屏包括图像存在相同或相近关系的多个显示屏。
实施上述方法,电子设备生成一组显示模式为复制模式的显示屏的图像仅需要进行一次图层合成。相较于通过图层合成依次生成各个显示屏的图像,可以减少冗余的图层合成动作,降低电子设备的功耗开销,提升生成显示屏的图像的速度。示例性的,在电子设备包括显示屏1和显示屏5这样一组显示屏,并且,通过图层合成生成显示屏1的图像耗时T1,通过图层合成生成显示屏5的图像耗时T5的情形下,电子设备通过上述方法生成该组显示屏的图像耗时T1’,T1’远小于T1+T5。
除此之外,本申请以下实施例还提供了另一种图层合成方法。在该方法中,电子设备需要生成多个显示屏的图像。电子设备包括多个图像处理模块。在电子设备的多个显示屏包含多个显示模式为扩展模式的显示屏时,电子设备可以同时使用多个图像处理模块来进行图层合成。一个图像处理模块用于通过图层合成生成一个显示屏的图像。
实施上述方法,各个图像处理模块可以并行地进行图层合成。相较于针对各个显示屏依次进行图层合成,可以充分利用图像处理资源,提升生成显示屏的图像的速度。示例性的,在电子设备包括显示屏3和显示屏4这两个显示模式为扩展模式的显示屏,并且,通过图层合成生成显示屏3的图像耗时T3,通过图层合成生成显示屏4的图像耗时T4的情形下,电子设备通过上述方法生成这两个显示屏的图像耗时T2’,T2’为T3和T4当中的最大值。可以理解的,T2’远小于T3+T4。
在一些实现方式中,在电子设备中的多个显示屏既包含一组或多组显示模式为复制模式的显示屏,也包含显示模式为多个扩展模式的显示屏时,上述两个图层合成方法还可以结合实施。电子设备可以先后执行,或,同时执行上述两个图层合成方法,由此,可以实现各个复制模式的显示屏的图像生成工作,和,扩展模式的显示屏的图像生成工作。
其中,同时执行可以使电子设备并行地进行复制模式的显示屏的图像生成工作,和,扩展模式的显示屏的图像生成工作。相较于先后执行而言,可以进一步地提升生成显示屏的图像的速度。
在本申请实施例中,电子设备可以配置有一个或多个图像处理模块,图像处理模块可用于执行图层合成。电子设备配置多个图像处理模块时,可以包括性能不同的图像处理模块。图像处理模块可以为硬件模块,也可以为软件模块,还可以为软硬件结合的模块。
下面对上述图层合成方法及相关装置的实现进行具体介绍。
首先介绍本申请实施例涉及的电子设备。
本申请实施例对电子设备的具体类型不作限制。例如,该电子设备可包括手机,还可以包括平板电脑、桌面型计算机、膝上型计算机、手持计算机、笔记本电脑、智慧屏、可穿戴式设备、增强现实(augmented reality,AR)设备、虚拟现实(virtual reality,VR)设备、人工智能(artificial intelligence,AI)设备、车机、游戏机等等。不限于此,电子设备还可以包括具有触敏表面或触控面板的膝上型计算机(laptop)、具有触敏表面或触控面板的台式计算机等非便携式终端设备等等。
图3示出了电子设备100的结构示意图。
电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图像信号处理器(image signalprocessor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signalprocessor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(global navigation satellite system,GLONASS),北斗卫星导航系统(beidounavigation satellite system,BDS),准天顶卫星系统(quasi-zenith satellitesystem,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
在本申请实施例中,移动通信模块150、无线通信模块160可用于支持电子设备100与其他设备建立连接,并基于该连接向其他设备传输其通过图层合成生成的投屏图像,以实现投屏过程。
电子设备100可以通过:图像处理模块,显示屏194,以及应用处理器等实现显示功能。
电子设备100中可以配置有一个或多个图像处理模块,图像处理模块具备图层合成的功能。电子设备配置多个图像处理模块时,可以包括性能不同的图像处理模块。图像处理模块的性能包括:图层合成的效率、是否可以在进行图层合成生成图像之后继续对该图像进行处理。例如,图像处理模块可以包括DSS和GPU,其中,DSS的图层合成效率高于GPU的图层合成效率。DSS不可以在图层合成生成图像之后继续对该图像进行处理,GPU可以在图层合成生成图像之后继续对该图像进行处理。不限于DSS、GPU,本申请实施例提及的图像处理模块还可以是其他具备图层合成功能的模块,例如未来技术发展中出现的其他模块等等。
在本申请实施例中,图像处理模块需要生成多个显示屏的图像。在一些实现方式中,如果这多个显示屏包括一组或多组显示模式为复制模式的显示屏,针对一组显示屏,图像处理模块可以针对其中的一个显示屏进行图层合成,生成该显示屏的图像。然后,图像处理模块可以依据上述图像,生成该组显示屏当中的其他显示屏的图像。除此之外,在另一些实现方式中,如果这多个显示屏包括多个显示模式为扩展模式的显示屏,则所有图像处理模块可以并行地执行图层合成,一个图像处理模块用于通过图层合成生成一个显示屏的图像。
显示屏194可以包括物理显示屏和虚拟显示屏。其中,物理显示屏用于显示图像,视频等。物理显示屏包括显示面板。显示面板可以采用液晶显示屏(liquid crystaldisplay,LCD)。显示面板还可以采用有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organiclight emitting diode,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),miniled,microled,micro-oled,量子点发光二极管(quantum dot light emittingdiodes,QLED)等制造。虚拟显示屏用于进行图层合成。具体的,电子设备可以通过调用虚拟显示屏进行图层合成,生成该虚拟显示屏的图像。在一些实施例中,电子设备可以包括1个或N个显示屏194,N为大于1的正整数。
在本申请实施例中,在图像处理模块生成显示图像之后,图像处理模块可以直接向显示屏发送该显示图像,或,将该显示图像存储于帧缓冲区当中。在接收到图像处理模块生成并发送的显示图像,或,从帧缓冲区当中读取到图像处理模块生成并存储的显示图像之后,显示屏194可以在显示面板上显示该显示图像。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
内部存储器121可以包括帧缓冲区。帧缓冲区是可用于存储图像的存储空间。具体的,帧缓冲区包括有多个存储单元。帧缓冲区当中的存储单元,与,显示屏194对应的图像当中的像素存在一一对应的关系。
在本申请实施例的一些实现方式中中,电子设备100可以通过帧缓冲区、图像处理模块、操作系统等实现回读。具体的,在进行图层合成生成图像之后,图像处理模块可以将生成的图像存储于帧缓冲区当中。之后,操作系统可以通过接口,获取到存储于帧缓冲区当中的上述图像,并向图像处理模块发送该图像,由此实现回读。
在本申请实施例中,在电子设备100的多个显示屏包含一组或多组显示模式为复制模式的显示屏时,针对一组显示屏,图像处理模块可以对通过回读,得到该组中一个显示屏的图像。之后,图像处理模块可以对基于上述图像生成该组其他显示屏的图像。
在本申请实施例中,在图像处理模块生成录屏图像之后,图像处理模块可以将录屏图像以视频的形式存储于通过外部存储器接口120与电子设备100连接的外部存储器,或,内部存储器121当中,以实现录屏过程。
电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
图4是本申请实施例的电子设备100的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用包。
如图4所示,应用包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用。
在本申请实施例中,设备的图层信息可以由应用包当中正处于前台运行状态的应用提供。该应用可以包括第三方应用程序、系统应用程序。示例性的,如图2B所示,桌面管理应用和浏览器应用可以为设备的图层信息的提供方。
设备的图层信息可以指示一个或多个图层各自包含的内容、尺寸、图层之间的位置关系。其中,图层包含的内容可以包括以下的一项或多项:文本、图像、按钮、图标、开关。不同图层的尺寸可以不同。图层之间的位置关系可以包括平面位置关系和层叠位置关系。其中,平面位置关系可以指示多个图层在图像所展示的平面方向上的位置关系,平面位置关系可以包括拼接、重叠;层叠位置关系可以指示多个图层在图像当中的前后顺序。显示屏的图像可以包括一个或多个层级,每个层级当中有一个或多个图层。对于相互之间存在重叠关系的多个图层而言,在上述多个图层的重叠区域上,层级较大的图层会覆盖住层级较小的图层,使得多个图层当中层级最大的图层在图像中可见,而其他图层在图像中不可见。
示例性的,如图2B所示:桌面管理应用提供的设备的图层信息可以指示背景图层包含背景图片和三个文件夹图标,且背景图层的尺寸为1280像素*670像素。任务栏图层包含开始菜单按钮,且任务栏图层的尺寸为1280像素*50像素。背景图层与任务栏图层以上下边缘拼接的方式组合,且背景图层的层级小于任务栏图层。浏览器应用提供的设备的图层信息可以指示地址栏图层包括文本“www.xxxx.com”,且地址栏图层的尺寸为980像素*40像素。页面内容图层包括文本“XXXX”、文本框和语音输入按钮,且页面内容图层的尺寸为1050像素*580像素。地址栏图层位于页面内容图层中的上部。并且由于地址栏图层的层级大于页面内容图层的层级,因此地址栏图层浮现在页面内容图层之上,覆盖了页面内容图层的部分内容。
应用程序框架层为应用程序层的应用提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图4所示,应用程序框架层可以包括显示管理器,窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
显示管理器可用于管理显示屏信息。任一条显示屏信息对应于电子设备100当中的一个显示屏。显示屏信息可用于指示以下的一种或多种信息:其对应的显示屏的类别(物理显示屏/虚拟显示屏)、显示模式(复制模式/扩展模式)、分辨率、屏幕刷新率。
窗口管理器可以获取到应用提供的设备的图层信息,以及,显示管理服务提供的显示屏信息。窗口管理器可以根据设备的图层信息和显示屏信息,确定显示屏的图层信息。显示屏的图层信息可用于指示显示屏的图像的尺寸、包含的图层、各个图层之间的位置关系和层级关系。示例性的,如图2B所示,显示屏1的图层信息可以指示图像的尺寸为1280像素*720像素,该图像包含背景图层、任务栏图层、地址栏图层和页面内容图层。上述四个图层按照所在的层级由低到高顺序为:背景图层,地址栏图层和页面内容图层,任务栏图层。
内容提供器可用于存放和获取数据,并使这些数据可以被应用访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器可用于提供电子设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器可用于为应用提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器可用于使应用可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。上述图层处理包括本申请实施例当中提及的图层合成过程。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用程序框架层的接口,启动相机应用,进而通过调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
下面介绍本申请实施例提供的图层合成方法。
图5示出了本申请实施例提供的图层合成方法的流程图。
如图5所示,本申请实施例提供的图层合成方法包括步骤S101~S106。其中,
S101、电子设备100确定设备的图层信息。
电子设备100可以在前台运行应用的过程中执行步骤S101。具体的,在一些实现方式中,电子设备100可以在前台运行应用的过程中,响应于用户输入的启动电子设备100的物理显示屏的操作,执行步骤S101。在一些实现方式中,电子设备100可以在物理显示屏开启的情形下响应于用户启动应用的操作,前台运行应用并执行步骤S101。可以理解的,上述实现方式仅为示例,本申请实施例对于电子设备100确定设备的图层信息的时机不做具体限定。
设备的图层信息由当前电子设备100前台运行的一个或多个应用提供。设备的图层信息可以指示一个或多个图层各自包含的内容、尺寸、和其他图层之间的位置关系及层级关系。对于设备的图层信息的描述可以参考前述实施例当中的相关描述,此处不再赘述。
S102、电子设备100确定多个显示屏的显示屏信息。
显示屏信息可用于指示以下的一项或多项信息:其对应的显示屏的标识、类别(物理显示屏/虚拟显示屏)、显示模式(复制模式/扩展模式)、分辨率、屏幕刷新率。
电子设备100包括多个显示屏。上述多个显示屏可以包括物理显示屏和虚拟显示屏两类。物理显示屏和虚拟显示屏各自都可以包括一个或多个显示屏。其中,
对于物理显示屏,在需要电子设备100在物理显示屏上显示图像时,电子设备100可以执行步骤S102。具体的,在一些实现方式中,响应于用户输入的启动物理显示屏的操作,例如按下电源按钮的操作,电子设备100可以确定该物理显示屏的显示屏信息。
对于物理显示屏的显示屏信息而言:类别为物理显示屏。若电子设备100当中存在响应于针对该物理显示屏的镜像投屏/录屏操作生成的虚拟显示屏,那么该物理显示屏的显示模式为复制模式。除此之外,其他物理显示屏的显示模式可以默认为扩展模式,用户可以自主将这些显示屏的显示模式更改为复制模式。在一些实现方式中,用户可以通过电子设备100提供的、供用户设定显示模式的控件,来变更这些物理显示屏的显示模式,使多个物理显示屏上显示相同的图像。物理显示屏的分辨率、屏幕刷新率可以由其生产厂商确定并写入物理显示屏。电子设备100在接入物理显示屏时,可以确定其分辨率、屏幕刷新率。除此之外,物理显示屏的分辨率、屏幕刷新率还可以由用户在该物理显示屏支持的范围内自主设定。虚拟显示屏包括电子设备100响应于针对物理显示屏的镜像投屏/录屏操作而生成的显示屏。在生成虚拟显示屏之后,电子设备100可以确定该虚拟显示屏的显示屏信息。
对于虚拟显示屏的显示屏信息而言:类别为虚拟显示屏。在镜像投屏/录屏场景下生成的虚拟显示屏的显示模式为复制模式。除此之外,在镜像投屏/录屏场景下生成的虚拟显示屏的分辨率、屏幕刷新率,可以与所投射的或者录制的物理显示屏的分辨率、屏幕刷新率相同。
表1示例性示出了图2A中六个显示屏的显示屏信息。对于上述六个显示屏的描述,可以参考本申请前述实施例当中的相关描述,此处不再赘述。
表1
S103、电子设备100依据设备的图层信息和显示屏信息,确定显示屏的图层信息。
在一些实现方式中,电子设备100可以确定其中所有显示屏的图层信息。
具体的,电子设备100可以首先确定各个物理显示屏的图层信息。物理显示屏的图层信息可以指示:该物理显示屏的图像的尺寸、图像包括的多个图层各自包含的内容,以及各图层之间的位置关系和层级关系。其中,
物理显示屏的图像的尺寸可以与物理显示屏的显示屏信息当中的分辨率相同。以图2B所示的显示屏1为例,显示屏1的图像的尺寸可以为显示屏1的显示屏信息当中的分辨率,即1280像素×720像素。
各个物理显示屏可以对应于一个或多个应用。物理显示屏的图像包括的图层可以是该物理显示屏对应的应用提供的图层。在一些实现方式中,默认应用可以对应于所有物理显示屏,即,所有物理显示屏的图像均包括有默认应用提供的图层。以图2B所示的显示屏1为例,上述默认应用例如可以为桌面管理应用,上述默认应用提供的图层例如可以为背景图层和任务栏图层。在一些实现方式中,物理显示屏对应的应用可以由用户决定。示例性的,响应于将应用提供的应用窗口由物理显示屏1拖动到物理显示屏2的用户操作,电子设备100可以确定该应用对应的物理显示屏由物理显示屏1变更为物理显示屏2。
对于个图层之间的位置关系:同一应用提供的各个图层之间的位置关系可以由该应用提供的设备的图层信息指示。以图2B所示的显示屏1为例,桌面管理应用提供的背景图层与任务栏图层以上下边缘拼接的方式组合。浏览器应用提供的地址栏图层位于页面内容图层中的上部。不同应用提供的各个图层之间的位置关系可以由用户决定。示例性的,响应于在物理显示屏1上拖动应用窗口的用户操作,电子设备100可以确定该应用窗口当中的所有图层,与,图像中其他图层的相对位置发生变化。具体的,该应用窗口当中的所有图层整体由拖动操作的起点移动至终点。
对于各图层之间的层级关系:同一应用提供的各个图层之间的层级关系可以由该应用提供的设备的图层信息指示。以图2B所示的显示屏1为例,桌面管理应用提供的背景图层的层级小于任务栏图层。浏览器应用提供的地址栏图层的层级大于页面内容图层的层级。对于不同应用提供的各个图层之间的层级关系而言:在一些实现方式中,图像中各图层之间的层级关系可以与提供图层的应用的优先级相关。以图2B所示的显示屏1为例,由于浏览器应用的优先级大于桌面管理应用的优先级,因此浏览器应用提供的地址栏图层和页面内容图层的层级,大于桌面管理应用提供的背景图层和任务栏图层的层级。在另一些实现方式中,用户焦点所在应用的图层层级大于其他应用的图层层级。
由此,电子设备100可以依据上述过程分别确定各个物理显示屏的图层信息。
在确定各个物理显示屏的图层信息之后,电子设备100可以确定各个虚拟显示屏的图层信息。对于在镜像投屏/录屏场景下生成的虚拟显示屏的图层信息,其指示的内容与该虚拟显示屏所投射的或者录制的物理显示屏的图层信息指示相同内容,以图2A当中的显示屏4和显示屏5为例,由于显示屏4是电子设备100响应于针对显示屏1进行的投屏操作生成的虚拟显示屏,因此,电子设备100可以将显示屏1的图层信息确定为显示屏4的图层信息。由于显示屏5是电子设备100响应于针对显示屏2进行的录屏操作生成的虚拟显示屏,因此,电子设备100可以将显示屏2的图层信息确定为显示屏2的图层信息。
在另一些实现方式中,电子设备100可以确定:显示模式为复制模式的各组显示屏当中的其中一个显示屏的图层信息,和,所有显示模式为扩展模式的显示屏的图层信息。
在确定显示屏的图层信息之后,电子设备100可以依据显示屏的图层信息生成所有显示屏的图像。电子设备100依据显示屏的图层信息生成所有显示屏的图像的过程包括步骤S104和步骤S105。其中,生成各个显示模式为复制模式的显示屏的图像的过程可以对应于步骤S104。生成各个显示模式为扩展模式的显示屏的图像的过程可以对应于步骤S105。具体的:
S104、电子设备100依据显示屏的图层信息,生成各个显示模式为复制模式的显示屏的图像。
在电子设备100的多个显示屏包含一组或多组显示模式为复制模式的显示屏时,针对一组显示屏,电子设备100可以先通过图层合成来生成其中一个显示屏的图像,然后再基于该图像生成该组其他显示屏的图像。其中,一组显示屏包括图像存在相同或相近关系的多个显示屏。
示例性的,电子设备100可以包括以下两个物理显示屏:第一显示屏和第二显示屏。在接收到针对上述第一显示屏的投屏操作之后和录屏操作之后,电子设备100可以通过图层合成生成第一显示屏的第一图像,并基于上述第一图像,分别生成第二显示屏的第二图像、用于投屏的第三图像,以及用于录屏的第四图像。
由此,电子设备100生成一组显示模式为复制模式的显示屏的图像仅需要进行一次图层合成。相较于通过图层合成依次生成各个显示屏的图像,可以减少冗余的图层合成动作,降低电子设备的功耗开销,提升生成显示屏的图像的速度。以图2A当中的显示屏1和显示屏5这样一组显示屏为例,若电子设备100通过图层合成生成显示屏1的图像耗时T1,通过图层合成生成显示屏5的图像耗时T5,电子设备100通过上述方法生成该组显示屏的图像耗时T1’,T1’远小于T1+T5。
在一些实现方式中,电子设备100可以包括一个图像处理模块。在生成各个显示模式为复制模式的显示屏的图像的过程中,电子设备100可以使用该图像处理模块,先通过图层合成来生成其中一个显示屏的图像,然后再基于该图像生成该组其他显示屏的图像。
在另一些实现方式中,电子设备100可以包括多个性能不同的图像处理模块。对于图像处理模块的性能的介绍可以参考前述实施例当中的相关描述,此处不再赘述。在一些示例中,在生成各个显示模式为复制模式的显示屏的图像的过程中,针对一组显示屏,电子设备100可以使用性能较好的图像处理模块进行图层合成,生成其中一个显示屏的图像,使用性能较差的图像处理模块,基于上述图像生成该组其他显示屏的图像。上述性能较好的图像处理模块例如为DSS,性能较差的模块例如为GPU。由此,电子设备100可以确保其中不同的图像处理模块各司其职,充分利用了电子设备100中的图像处理资源。
在一些实现方式中,电子设备100可以依据阻塞式策略,生成其中各个显示模式为复制模式的显示屏对应的图像显示屏的图像。具体的,如图6A所示,在一些示例中,若电子设备当中包括可以在进行图层合成生成图像之后继续对该图像进行处理的图像处理模块,那么,对于一组显示模式为复制模式的显示屏,电子设备可以在使用该图像处理模块进行图层合成,生成组中一个显示屏的图像的一帧之后,仍然使用该图像处理模块,继续对该图像进行处理,生成组中其他显示屏的图像的一帧。
在另一些示例中,电子设备100可以在使用一个图像处理模块进行图层合成,生成组中一个显示屏的图像的一帧之后,在预设时间内使用另一个图像处理模块对上述生成的图像进行处理,生成组中其他显示屏的图像的一帧。上述预设时间是电子设备100生成上述一个显示屏的图像中相邻两帧的时间间隔。电子设备100可以通过回读执行上述过程。具体的,电子设备100可以在使用一个图像处理模块进行图层合成生成组中一个显示屏的图像之后,将该图像存储于帧缓冲区当中。之后,电子设备100可以在预设时间内进行回读,并使用另一个图像处理模块基于存储于帧缓冲区当中的上述图像,生成组中其他显示屏的图像。对于回读的描述可以参考本申请前述实施例当中的相关描述,此处不再赘述。
以图2A当中的显示屏1和显示屏5这样一组显示屏为例,电子设备100通过图层合成生成显示屏1的图像耗时可以为T1,通过图层合成生成显示屏5的图像耗时可以为T5。电子设备100可以先通过图层合成生成显示屏1的图像,耗时T1。然后基于显示屏1的图像生成显示屏5的图像,耗时T1,5。综上所述,电子设备100生成显示屏1和显示屏5的图像总耗时T1+T1,5。由于相比于通过图层合成生成显示屏5的图像,电子设备100基于显示屏1的图像生成显示屏5的图像,需要的工作量很小。因此,T1,5远小于T5,从而导致T1’远小于T1+T5。由此可知,电子设备100依据阻塞式策略,生成其中各个显示模式为复制模式的显示屏的图像,可以极大地缩短图像生成所需的时间。
在一些实现方式中,电子设备100可以依据异步式策略,生成其中各个显示模式为复制模式的显示屏对应的图像显示屏的图像。具体的,如图6B所示,对于显示模式为复制模式的一组显示屏,电子设备100可以使用一个图像处理模块进行图层合成,生成其中一个显示屏的图像的第一帧。之后,电子设备100可以再次使用一个图像处理模块进行图层合成,生成上述一个显示屏的第二帧,上述第一帧为第二帧的上一帧。与此同时,电子设备100还可以使用另一个图像处理模块,基于上述一个显示屏的第一帧,生成组中其他显示屏的第三帧。对于电子设备100依据上述一个显示屏的第一帧生成组中其他显示屏的第三帧的过程,可以参考前述实施例当中的描述,此处不再赘述。
以图2A当中的显示屏1和显示屏5这样一组显示屏为例,电子设备100通过图层合成生成显示屏1的图像耗时可以为T1,通过图层合成生成显示屏5的图像耗时可以为T5。在电子设备100通过图层合成生成显示屏1的图像1之后,电子设备100可以再次通过图层合成生成显示屏1的图像2。与此同时,电子设备100可以依据之前生成的显示屏1的图像1,生成显示屏5的图像2。由于电子设备100不必在生成显示屏1的图像之后才开始生成显示屏5的图像,因此,电子设备100生成显示屏1的图像2,和显示屏5的图像2总耗时T1。由此可知,电子设备100依据异步式策略,生成其中各个显示模式为复制模式的显示屏的图像,减少了多余的等待时间,提升了生成显示屏的图像的速度。
在一些实现方式中,电子设备100可以依次或同时执行针对每一组显示屏的图层生成工作。在同时执行时,电子设备100无需在生成上一组显示屏的图像之后才开始生成下一组显示屏的图像,进一步地加快了显示屏的图像生成速度。以图2A当中的显示屏1、显示屏5,和,显示屏2、显示屏6这样两组显示屏为例,若电子设备100生成显示屏1、显示屏5的图像耗时T15,生成显示屏2、显示屏6的图像耗时T26,那么,电子设备100同时执行针对上述两组显示屏的图像生成工作,总耗时为T15和T26之间的最小值。相比于依次执行的耗时T15+T26,缩短了大量的时间。
S105、电子设备100依据显示屏的图层信息,生成各个显示模式为扩展模式的显示屏的图像。
在电子设备100的多个显示屏包含显示模式为扩展模式的显示屏时,电子设备100可以同时使用多个图像处理模块来进行图层合成,一个图像处理模块用于通过图层合成生成一个显示模式为扩展模式的显示屏的图像。示例性的,电子设备100可以包括第四显示屏和第五显示屏。电子设备可以使用第三图像处理模块进行图层合成,生成第四显示屏的第六图像。同时,使用第四图像处理模块进行图层合成,生成第五显示屏的第七图像。
由此,电子设备100当中的各个图像处理模块可以并行地进行图层合成。相较于针对各个显示屏依次进行图层合成,可以充分利用图像处理资源,提升生成显示屏的图像的速度。示例性的,在电子设备包括显示屏3和显示屏4这两个显示模式为扩展模式的显示屏,并且,通过图层合成生成显示屏3的图像耗时T3,通过图层合成生成显示屏4的图像耗时T4的情形下,电子设备通过上述方法生成这两个显示屏的图像耗时T2’,T2’为T3和T4当中的最大值。可以理解的,T2’远小于T3+T4。
在一些实现方式中,电子设备100可以基于一个主线程,来进行针对其中所有显示屏的图层合成工作。
电子设备100可以在主线程当中执行前述步骤S104所述的方法,生成各个显示模式为复制模式的显示屏的图像。
而对于各个显示模式为扩展模式的显示屏的图像,如图7所示:
首先,电子设备100可以在上述主线程当中初始化一个线程池。线程池当中包括有多个线程。线程池当中的线程可用于电子设备100针对该线程对应的显示模式为扩展模式的一个显示屏进行图层合成。
之后,电子设备100可以将线程池中的线程,分配给其中的各个图像处理模块。最后,电子设备100同时使用其中所有图像处理模块进行图层合成,从而生成N个显示模式为扩展模式的显示屏各自对应的图像。
以图2A当中的显示屏3和显示屏4这样一组显示屏为例,电子设备100通过图层合成生成显示屏3的图像耗时可以为T3,通过图层合成生成显示屏4的图像耗时可以为T4。电子设备100可以将生成显示屏3的图像,和生成显示屏4的图像两项任务,分别分配给DSS和GPU这两个图像处理模块。DSS和GPU可以并行地进行图层合成,生成显示屏3和显示屏4的图像总耗时为T3和T4之间的最大值,远小于T3+T4。由此可知,电子设备100通过执行步骤S105,生成其中各个显示模式为扩展模式的显示屏的图像,可以极大地缩短图像生成所需的时间。
使用上述方法生成电子设备100当中各个显示模式为扩展模式的显示屏的图像,相较于针对各个显示模式为扩展模式的显示屏依次进行图层合成,生成各个显示屏所对应的图像而言,可以充分利用电子设备100的设备资源,提升生成所有显示模式为扩展模式的显示屏所对应的图像的速度。
步骤S104和步骤S105为电子设备100当中的不同显示模式的显示屏提供了不同图像生成方法。在电子设备100中的多个显示屏包括多个显示模式为复制模式的显示屏时,电子设备100可以执行步骤S104。在电子设备100中的多个显示屏包括多个显示模式为扩展模式的显示屏时,电子设备100可以执行步骤S105。
在另一些实现方式中,在电子设备100中的多个显示屏既包含一组或多组显示模式为复制模式的显示屏,也包含显示模式为多个扩展模式的显示屏时,上述两个步骤还可以结合实施。
示例性的,电子设备100可以包括第一显示屏、第二显示屏和第三显示屏。第一显示屏与第二显示屏的图像存在相同或相应的关系,即二者的显示模式互为复制模式;第一显示屏与第三显示屏的图像不存在相同或相应的关系,即二者的显示模式互为扩展模式。在此种情形下,电子设备100可以进行图层合成,生成第一显示屏的第一图像,并基于上述第一图像生成第二显示屏的第二图像。除此之外,电子设备100还可以在进行图层合成生成第一显示屏的第一图像的同时,进行图层合成,生成第三显示屏的第五图像。可以理解的,电子设备100生成第一显示屏的第一图像,和,第二显示屏的第二图像的过程即为执行步骤S104的过程。电子设备100生成第一显示屏的第一图像,和,第三显示屏的第五图像的过程即为执行步骤S105的过程。电子设备100由此实现对步骤S104和S105的结合实施。
S106、电子设备100在显示屏上显示生成的图像,或者,将生成的图像发送给其他设备,或者,将生成的图像存储为视频。
通过执行步骤S101~S105,电子设备100可以生成其中所有显示屏的图像。上述显示屏可以包括物理显示屏,和/或,电子设备100响应于接收到的投屏操作生成的虚拟显示屏,和/或,响应于接收到的录屏操作生成的虚拟显示屏。相应的,电子设备100生成的图像可以包括显示图像,和/或,投屏图像,和/或,录屏图像。
在一些实现方式中,对于显示图像,电子设备100可以在生成显示图像之后,在其对应的物理显示屏上显示该显示图像。由于相较于通过图层合成依次生成显示图像,电子设备100通过执行步骤S101~S105生成显示图像的速度很快,由此可以保证显示图像的生成速度赶得上物理显示屏的图像刷新速度,防止了卡顿、掉帧等显示问题的出现。
在一些实现方式中,对于投屏图像,电子设备100可以在生成投屏图像之后,将该投屏图像发送给其他设备,从而实现投屏过程。由于电子设备100通过执行步骤S101~S105生成投屏图像的速度很快,因此,电子设备100可以向其他设备,例如第一设备,持续不间断地发送投屏图像,保证了投屏画面的流畅度。
在一些实现方式中,对于录屏图像,电子设备100可以在生成录屏图像之后,依据生成的录屏图像生成视频文件,从而实现录屏过程。由于电子设备100通过执行步骤S101~S105生成录屏图像的速度很快,由此可以提高电子设备100依据录屏图像生成的视频文件的帧率,保证了录屏画面的流畅度。
下面将以电子设备100当中的图像处理模块包括DSS和GPU为例,对本申请实施例提供的图层合成方法的底层实现过程进行详细说明。
图8是本申请实施例提供的另一种电子设备100的结构示意图。
如图8所示,电子设备100可以包括:应用模块1001,显示管理模块1002,窗口管理模块1003,合成服务模块1004,GPU 1005,DSS 1006,帧缓冲区1007,以及显示模块1008。其中:
应用模块1001,可用于运行电子设备100当中安装的应用。在本申请实施例中,应用模块1001可用于提供设备的图层信息。应用模块1001可以对应于前述电子设备100的软件结构框图当中的应用程序层。
显示管理模块1002,可用于提供显示管理服务(Display Manager Service)。显示管理服务可用于支持电子设备100确定显示屏信息。显示管理模块1002可以对应于前述电子设备100的软件结构框图当中应用程序框架层内的显示管理器。
窗口管理模块1003,可用于提供窗口管理服务(Window Manager Service)。窗口管理服务可用于支持电子设备100依据应用模块1001提供的设备的图层信息,和,显示管理模块1002提供的显示屏信息,确定显示屏的图层信息。窗口管理模块1003可以对应于前述电子设备100的软件结构框图当中应用程序框架层内的窗口管理器。
合成服务模块1004,可用于提供合成服务。合成服务可用于支持电子设备100确定各个显示屏的图像生成策略。在一些实现方式中,合成服务模块1004是操作系统当中的模块。
在一些实现方式中,合成服务模块1004可以包括策略决策模块和策略执行模块。其中,策略决策模块可用于对各个显示屏制定图像生成策略。上述图像生成策略包括本申请前述实施例当中提供的各种实现方式。在制定图像生成策略之后,策略决策模块可以将图像生成策略发送给策略执行模块。策略执行模块进而可以将上述图像生成策略发送给GPU 1005和/或DSS 1006。
GPU 1005和/或DSS 1006可用于依据合成服务模块1004提供的图像生成策略,生成各个显示屏的图像。对于DSS 1006、GPU 1005的描述可以参考前述实施例当中的相关描述,此处不再赘述。
帧缓冲区1007,可用于存储GPU 1005和/或DSS 1006进行图层合成生成的图像。帧缓冲区1007可以对应于前述电子设备100的结构示意图当中内部存储器121的帧缓冲区。
显示模块1008,可以包括多个显示屏。上述多个显示屏包括物理显示屏和/或虚拟显示屏。
图9示出了本申请实施例提供的电子设备100的内部交互图。
下面,将结合图9,详细描述在执行本实施例提供的图层合成方法的过程中,电子设备100的各个模块之间的协作过程。其中,步骤1~步骤3可以对应于前述图5中的步骤S101~S103。步骤7可以对应于前述图5中的步骤S104,步骤8以对应于前述图5中的步骤S105。步骤9可以对应于前述图中的步骤S106。
步骤1,应用模块1001确定并向窗口管理模块1003发送设备的图层信息。
应用模块1001可以确定设备的图层信息,并向窗口管理模块1003发送该设备的图层信息。对于设备的图层信息,以及,应用模块1001确定设备的图层信息的过程,可以参考前述实施例当中的相关描述,此处不再赘述。
步骤2,显示管理模块1002确定向窗口管理模块1003发送显示屏信息。
显示管理模块1002可以确定显示屏信息,并向窗口管理模块1003发送该显示屏信息。对于显示屏信息,以及,显示管理模块1002确定显示屏信息的过程,可以参考前述实施例当中的相关描述,此处不再赘述。
步骤3,窗口管理模块1003依据设备的图层信息和显示屏信息,确定显示屏的图层信息。
窗口管理模块1003可以接收到应用模块1001发送的设备的图层信息,和,显示管理模块1002发送的显示屏信息。之后,窗口管理模块1003可以依据上述设备的图层信息和上述显示屏信息,确定显示屏的图层信息。对于显示屏的图层信息,以及,窗口管理模块1003确定显示屏的图层信息的过程可以参考前述实施例当中的相关描述,此处不再赘述。
步骤4,窗口管理模块1003向合成服务模块1004发送上述显示屏的图层信息。
步骤5,合成服务模块1004依据显示屏的图层信息制定图像生成策略。
合成服务模块1004可以接收到窗口管理模块1003发送的显示屏的图层信息,并依据上述显示屏的图层信息制定图像生成策略。上述图像生成策略包括本申请前述实施例当中提供的各种实现方式。
步骤6,合成服务模块1004向GPU 1005和/或DSS 1006发送指令,上述指令用于指示DSS 1006和GPU 1005依据上述图像生成策略,生成各个显示屏的图像。
在一些实现方式中,合成服务模块1004可以包括策略决策模块,和策略执行模块。在此种情形下,合成服务模块1004可以使用其中的策略决策模块进行上述步骤5,使用其中的策略执行模块进行上述步骤6。
步骤7,GPU 1005和/或DSS 1006依据上述指令,生成各个显示模式为复制模式的显示屏的图像。
在电子设备100的多个显示屏包含一组或多组显示模式为复制模式的显示屏时,针对一组显示屏,GPU 1005和/或DSS 1006可以先通过图层合成来生成其中一个显示屏的图像,然后再基于该图像生成该组其他显示屏的图像。其中,一组显示屏包括图像存在相同或相近关系的多个显示屏。
GPU 1005和/或DSS 1006可以依据阻塞式策略/异步式策略,生成各个显示模式为复制模式的显示屏对应的图像显示屏的图像。对于GPU 1005和/或DSS 1006依据阻塞式策略/异步式策略生成各个显示模式为复制模式的显示屏对应的图像显示屏的图像,可以参考前述实施例对于图5中步骤S104的相关描述,此处不再赘述。
由于DSS 1006是性能较好的图像处理模块,GPU 1005是性能较差的图像处理模块。因此,在一些实现方式中,在依据阻塞式策略/异步式策略生成各个显示模式为复制模式的显示屏对应的图像显示屏的图像的过程中,DSS 1006可用于进行图层合成,生成一组显示屏中一个显示屏的图像。GPU 1005可用于基于上述DSS 1006生成的图像,生成该组其他显示屏的图像。
在另一些实现方式中,在依据阻塞式策略生成各个显示模式为复制模式的显示屏对应的图像显示屏的图像的过程中,可以独立使用DSS 1006或GPU 1005,先通过图层合成生成一组显示屏中一个显示屏的图像,然后再基于该图像生成该组其他显示屏的图像。其中,
使用的是DSS 1006时,由于DSS 1006在图层合成生成图像之后不可以继续对该图像进行处理。因此,在通过图层合成生成一组显示屏中一个显示屏的图像之后,DSS 1006可以将该图像存储于帧缓冲区当中。之后,DSS 1006可以通过回读获取到上述图像,然后基于该图像生成该组其他显示屏的图像。
使用的是GPU 1005时,在通过图层合成生成一组显示屏中一个显示屏的图像之后,GPU1005可以直接继续对该图像进行处理,从而生成该组其他显示屏的图像。
步骤8,DSS 1006和GPU 1005依据上述指令,生成各个显示模式为扩展模式的显示屏的图像。
GPU 1005和/或DSS 1006可以基于一个主线程,来进行针对其中所有显示屏的图层合成工作。
对于DSS 1006和GPU 1005依据上述指令,生成各个显示模式为扩展模式的显示屏的图像的过程,具体的:首先,合成服务模块1004可以在上述主线程当中初始化一个线程池。线程池当中包括有多个线程。线程池当中的线程可用于DSS 1006或GPU 1005针对该线程对应的显示模式为扩展模式的一个显示屏进行图层合成。
合成服务模块1004制定的图像生成策略可以指示DSS 1006和GPU 1005各自负责的显示模式为扩展模式的显示屏。接收到合成服务模块1004发送的指令,DSS 1006和GPU1005可以依据该指令,并行地针对其所负责的显示屏进行图层合成,由此生成各个显示模式为扩展模式的显示屏的图像。
步骤7和步骤8为电子设备100当中的不同显示模式的显示屏提供了不同图像生成方法。在电子设备100中的多个显示屏包括多个显示模式为复制模式的显示屏时,GPU 1005和/或DSS 1006可以执行步骤7。在电子设备100中的多个显示屏包括多个显示模式为扩展模式的显示屏时,DSS 1006和GPU 1005可以执行步骤8。在另一些实现方式中,在电子设备100中的多个显示屏既包含一组或多组显示模式为复制模式的显示屏,也包含显示模式为多个扩展模式的显示屏时,上述两个步骤还可以结合实施。GPU 1005和/或DSS 1006可以先后执行,或,同时执行步骤7和步骤8。
步骤9,GPU 1005和/或DSS 1006将生成的图像发送给显示模块1008,或者,将生成的图像发送给通信模块,或者,将生成的图像存储为视频流。
通过执行步骤1~步骤8,GPU 1005和/或DSS 1006可以生成显示模块1008当中的所有显示屏的图像。上述显示屏可以包括物理显示屏,和/或,电子设备100响应于接收到的投屏操作生成的虚拟显示屏,和/或,响应于接收到的录屏操作生成的虚拟显示屏。相应的,GPU1005和/或DSS 1006生成的图像可以包括显示图像,和/或,投屏图像,和/或,录屏图像。
在一些实现方式中,对于显示图像,GPU 1005和/或DSS 1006可以在生成显示图像之后,将该图像通过在线/离线方式发送给显示模块1008。
具体的,对于在线方式:若显示图像由DSS 1006生成,DSS 1006可以直接将该显示图像发送给显示模块1008当中该显示图像对应的物理显示屏。若显示图像由GPU 1005生成,GPU 1005可以将生成的图像经由DSS 1006,发送给显示模块1008当中该显示图像对应的物理显示屏。接收到显示图像之后,物理显示屏可以在显示面板上显示该显示图像。
对于离线方式:若显示图像由DSS 1006生成,DSS 1006可以将生成的显示图像存储于帧缓冲区1007当中。若显示图像由GPU 1005生成,GPU 1005可以将生成的图像经由DSS1006存储于帧缓冲区1007当中。之后,显示图像对应的物理显示屏可以从帧缓冲区1007当中读取上述显示图像,并在显示面板上显示该显示图像。
在一些实现方式中,对于投屏图像,GPU 1005和/或DSS 1006可以在生成投屏图像之后,将该投屏图像发送给通信模块,并指示通信模块向其他设备发送该投屏图像,从而实现投屏过程。
在一些实现方式中,对于录屏图像,GPU 1005和/或DSS 1006可以在生成录屏图像之后,依据生成的录屏图像生成视频文件,从而实现录屏过程。
可以理解的,上述各步骤所能达到的有益效果,可参考图5中其对应的步骤的有益效果,此处不再赘述。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得电子设备执行前述任一实施例中的方法。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序代码,当电子设备执行该计算机程序代码时,使得电子设备执行前述任一实施例中的方法。
其中,本申请实施例提供的计算机程序产品、计算机可读存储介质,均用于执行上文所提供的应用程序权限管理方法。因此,其所能达到的有益效果可参考上文所提供的对应的方法中的有益效果,此处不再赘述。
上述实施例中所用,根据上下文,术语“当…时”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例该的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。
总之,以上所述仅为本发明技术方案的实施例而已,并非用于限定本发明的保护范围。凡根据本发明的揭露,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (26)
1.一种图层合成方法,其特征在于,所述方法应用于电子设备,所述电子设备包括第一显示屏和第二显示屏,所述方法包括:
确定所述第一显示屏的图层信息,所述第一显示屏的图层信息包含了多个图层的内容以及所述多个图层的位置关系;
根据所述第一显示屏的图层信息进行图层合成,得到第一图像;
基于所述第一图像生成第二图像;
在所述第一显示屏上显示所述第一图像,在所述第二显示屏上显示所述第二图像。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收投屏操作指令;
基于所述第一图像生成第三图像;
将所述第三图像发送给第一设备,所述第一设备用于投放所述第三图像。
3.根据权利要求1或权利要求2所述的方法,其特征在于,所述方法还包括:
接收录屏操作指令;
基于所述第一图像生成第四图像;
将所述第四图像存储为录屏文件。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述电子设备包括第一图像处理模块和第二图像处理模块,所述第一图像处理模块进行图层合成的速度大于所述第二图像处理模块;
所述电子设备通过所述第一图像处理模块,根据所述第一显示屏的图层信息进行图层合成,得到所述第一图像;
通过所述第二图像处理模块,基于所述第一图像生成所述第二图像。
5.根据权利要求4所述的方法,其特征在于,所述第一图像包括第一帧和第二帧,所述第一帧为所述第二帧的上一帧;所述第二图像包括第三帧;
所述电子设备通过所述第一图像处理模块生成所述第二帧,通过所述第二图像处理模块基于所述第一帧生成所述第三帧,所述生成所述第二帧的开始时间,和,所述基于所述第一帧生成所述第三帧的开始时间相同。
6.根据权利要求1-3任一项所述的方法,其特征在于,
所述电子设备包括第一图像处理模块,所述第一图像包括第一帧,所述第二图像包括第三帧;
所述电子设备通过所述第一图像处理模块,根据所述第一显示屏的图层信息进行图层合成,得到所述第一帧,并基于所述第一帧生成所述第三帧;
或,
所述电子设备包括第一图像处理模块和第二图像处理模块;所述第一图像包括第一帧和第二帧,所述第一帧为所述第二帧的上一帧;所述第二图像包括第三帧;
所述电子设备通过所述第一图像处理模块,根据所述第一显示屏的图层信息进行图层合成,得到所述第一帧;
在第一时间内,通过所述第二图像处理模块,基于所述第一帧生成所述第三帧;所述第一时间为所述电子设备生成所述第一帧的结束时间,和,生成所述第二帧的开始时间之间的时间。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述基于所述第一图像生成第二图像,具体包括:
对所述第一图像进行复制,或,复制和缩放处理,生成第二图像。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述电子设备还包括第三显示屏;所述方法还包括:
确定所述第三显示屏的图层信息,所述第三显示屏的图层信息包含了多个图层的内容以及所述多个图层的位置关系;
根据所述第三显示屏的图层信息进行图层合成,得到第五图像,所述根据所述第三显示屏的图层信息进行图层合成的开始时间,和,所述根据所述第一显示屏的图层信息进行图层合成的开始时间相同;
在所述第三显示屏上显示所述第五图像。
9.一种图层合成方法,其特征在于,所述方法应用于电子设备,所述电子设备包括第四显示屏和第五显示屏,所述方法包括:
确定所述第四显示屏的图层信息,和,所述第五显示屏的图层信息,所述第四显示屏的图层信息和所述第五显示屏的图层信息均包含了多个图层的内容以及所述多个图层的位置关系;
根据所述第四显示屏的图层信息进行图层合成,得到第六图像;
根据所述第五显示屏的图层信息进行图层合成,得到第七图像,所述根据所述第四显示屏的图层信息进行图层合成的开始时间,和所述根据所述第五显示屏的图层信息进行图层合成的开始时间相同;
在所述第三显示屏上显示所述第六图像,在所述第四显示屏上显示所述第七图像。
10.根据权利要求9所述的方法,其特征在于,所述电子设备还包括第六显示屏,所述方法还包括:
基于所述第六图像生成第八图像;
在所述第六显示屏上显示所述第八图像。
11.一种图层合成方法,其特征在于,所述方法应用于电子设备,所述电子设备包括第七显示屏,所述方法包括:
接收投屏操作指令;
确定所述第七显示屏的图层信息,所述第七显示屏的图层信息包含了多个图层的内容以及所述多个图层的位置关系;
根据所述第七显示屏的图层信息进行图层合成,得到第九图像;
在所述第七显示屏上显示所述第九图像;
基于所述第九图像生成第十图像;
将所述第十图像发送给第一设备,所述第一设备用于投放所述第十图像。
12.一种图层合成方法,其特征在于,所述方法应用于电子设备,所述电子设备包括第八显示屏,所述方法包括:
接收录屏操作指令;
确定所述第八显示屏的图层信息,所述第八显示屏的图层信息包含了多个图层的内容以及所述多个图层的位置关系;
根据所述第八显示屏的图层信息进行图层合成,得到第十一图像;
在所述第八显示屏上显示所述第十一图像;
基于所述第十一图像生成第十二图像;
将所述第十二图像存储为录屏文件。
13.一种电子设备,其特征在于,所述电子设备包括窗口管理模块,图像处理模块和显示模块,所述显示模块包括第一显示屏和第二显示屏;
所述窗口管理模块用于确定所述第一显示屏的图层信息,所述第一显示屏的图层信息包含了多个图层的内容以及所述多个图层的位置关系;
所述图像处理模块用于根据所述第一显示屏的图层信息进行图层合成,得到第一图像,以及,基于所述第一图像生成第二图像;
所述第一显示屏用于显示所述第一图像,所述第二显示屏用于显示所述第二图像。
14.根据权利要求13所述的电子设备,其特征在于,所述电子设备还包括感知模块和通信模块;
所述感知模块用于接收投屏操作指令;
所述图像处理模块还用于基于所述第一图像生成第三图像;
所述通信模块用于将所述第三图像发送给第一设备,所述第一设备用于投放所述第三图像。
15.根据权利要求13所述的电子设备,其特征在于,所述电子设备还包括通信模块和存储模块;
所述感知模块用于接收录屏操作指令;
所述图像处理模块还用于基于所述第一图像生成第四图像;
所述存储模块用于将所述第四图像存储为录屏文件。
16.根据权利要求13-15任一项所述的电子设备,其特征在于,所述图像处理模块包括第一图像处理模块和第二图像处理模块,所述第一图像处理模块进行图层合成的速度大于所述第二图像处理模块;
所述第一图像处理模块用于根据所述第一显示屏的图层信息进行图层合成,得到所述第一图像;
所述第二图像处理模块用于基于所述第一图像生成所述第二图像。
17.根据权利要求16所述的电子设备,其特征在于,所述第一图像包括第一帧和第二帧,所述第一帧为所述第二帧的上一帧;所述第二图像包括第三帧;
所述第一图像处理模块用于生成所述第二帧;
所述第二图像处理模块用于基于所述第一帧生成所述第三帧,所述生成所述第二帧的开始时间,和,所述基于所述第一帧生成所述第三帧的开始时间相同。
18.根据权利要求13-15任一项所述的电子设备,其特征在于,
所述图像处理模块包括第一图像处理模块,所述第一图像包括第一帧,所述第二图像包括第三帧;
所述第一图像处理模块用于根据所述第一显示屏的图层信息进行图层合成,得到所述第一帧,并基于所述第一帧生成所述第三帧;
或,
所述图像处理模块包括第一图像处理模块和第二图像处理模块;所述第一图像包括第一帧和第二帧,所述第一帧为所述第二帧的上一帧;所述第二图像包括第三帧;
所述第一图像处理模块用于根据所述第一显示屏的图层信息进行图层合成,得到所述第一帧;
所述第二图像处理模块在第一时间用于基于所述第一帧生成所述第三帧;所述第一时间为所述第一图像处理模块生成所述第一帧的结束时间,和,所述第一图像处理模块生成所述第二帧的开始时间之间的时间。
19.根据权利要求13-18任一项所述的电子设备,其特征在于,所述基于所述第一图像生成第二图像,具体包括:
对所述第一图像进行复制,或,复制和缩放处理,生成第二图像。
20.根据权利要求13-19任一项所述的电子设备,其特征在于,所述显示模块还包括第三显示屏;
所述窗口管理模块还用于确定所述第三显示屏的图层信息,所述第三显示屏的图层信息包含了多个图层的内容以及所述多个图层的位置关系;
所述图像处理模块还用于根据所述第三显示屏的图层信息进行图层合成,得到第五图像,所述根据所述第三显示屏的图层信息进行图层合成的开始时间,和,所述根据所述第一显示屏的图层信息进行图层合成的开始时间相同;
所述第三显示屏用于显示所述第五图像。
21.一种电子设备,其特征在于,所述电子设备包括窗口管理模块,图像处理模块和显示模块,所述显示模块包括第四显示屏和第五显示屏:
所述窗口管理模块用于确定所述第四显示屏的图层信息,和,所述第五显示屏的图层信息,所述第四显示屏的图层信息和所述第五显示屏的图层信息均包含了多个图层的内容以及所述多个图层的位置关系;
所述图像处理模块用于根据所述第四显示屏的图层信息进行图层合成,得到第六图像,以及,根据所述第五显示屏的图层信息进行图层合成,得到第七图像,所述根据所述第四显示屏的图层信息进行图层合成的开始时间,和所述根据所述第五显示屏的图层信息进行图层合成的开始时间相同;
所述第三显示屏用于显示所述第六图像,所述第四显示屏用于显示所述第七图像。
22.根据权利要求21所述的电子设备,其特征在于,所述显示模块还包括第六显示屏;
所述图像处理模块还用于基于所述第六图像生成第八图像;
所述第六显示屏用于显示所述第八图像。
23.一种电子设备,其特征在于,所述电子设备包括感知模块,窗口管理模块,图像处理模块,显示模块和通信模块,所述显示模块包括第七显示屏;
所述感知模块用于接收投屏操作指令;
所述窗口管理模块用于确定所述第七显示屏的图层信息,所述第七显示屏的图层信息包含了多个图层的内容以及所述多个图层的位置关系;
所述图像处理模块用于根据所述第七显示屏的图层信息进行图层合成,得到第九图像,以及,基于所述第九图像生成第十图像;
所述第七显示屏用于显示所述第九图像;
所述通信模块用于将所述第十图像发送给第一设备,所述第一设备用于投放所述第十图像。
24.一种电子设备,其特征在于,所述电子设备包括感知模块,窗口管理模块,图像处理模块,显示模块,存储模块,所述显示模块包括第八显示屏;
所述感知模块用于接收录屏操作指令;
所述窗口管理模块用于确定所述第八显示屏的图层信息,所述第八显示屏的图层信息包含了多个图层的内容以及所述多个图层的位置关系;
所述图像处理模块用于根据所述第八显示屏的图层信息进行图层合成,得到第十一图像,以及,基于所述第十一图像生成第十二图像;
所述第八显示屏用于显示所述第十一图像;
所述存储模块用于将所述第十二图像存储为录屏文件。
25.一种包含指令的计算机程序产品,其特征在于,计算机程序产品在电子设备上运行时,使得所述电子设备执行权利要求1-8中任一项,或,权利要求9和权利要求10中任一项,或,权利要求11,或,权利要求12所述的方法。
26.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在电子设备上运行,使得所述电子设备执行权利要求1-8中任一项,或,权利要求9和权利要求10中任一项,或,权利要求11,或,权利要求12所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211182531.8A CN117827134A (zh) | 2022-09-27 | 2022-09-27 | 图层合成方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211182531.8A CN117827134A (zh) | 2022-09-27 | 2022-09-27 | 图层合成方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117827134A true CN117827134A (zh) | 2024-04-05 |
Family
ID=90515859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211182531.8A Pending CN117827134A (zh) | 2022-09-27 | 2022-09-27 | 图层合成方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117827134A (zh) |
-
2022
- 2022-09-27 CN CN202211182531.8A patent/CN117827134A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220342850A1 (en) | Data transmission method and related device | |
CN111176766A (zh) | 一种通信终端及组件显示方法 | |
CN117278850A (zh) | 一种拍摄方法及电子设备 | |
CN110609650B (zh) | 一种应用状态切换方法及终端设备 | |
WO2023005751A1 (zh) | 渲染方法及电子设备 | |
CN113642010B (zh) | 一种获取扩展存储设备数据的方法及移动终端 | |
CN117827134A (zh) | 图层合成方法及相关装置 | |
CN116156044A (zh) | 设备协同方法及相关装置 | |
CN116204254A (zh) | 一种批注页面生成方法、电子设备及存储介质 | |
CN113835802A (zh) | 设备交互方法、系统、设备及计算机可读存储介质 | |
CN116055623B (zh) | 一种功耗控制方法及电子设备、存储介质 | |
WO2023160208A1 (zh) | 图像删除操作的通知方法、设备和存储介质 | |
WO2023061298A1 (zh) | 一种图片备份系统、方法与设备 | |
CN113179362B (zh) | 电子设备及其图像显示方法 | |
WO2022206600A1 (zh) | 一种投屏方法、系统及相关装置 | |
CN116627855B (zh) | 内存处理方法及相关装置 | |
CN116723415B (zh) | 缩略图生成的方法及终端设备 | |
CN111479075B (zh) | 拍照终端及其图像处理方法 | |
WO2024093431A1 (zh) | 一种图像绘制方法及电子设备 | |
WO2022160999A1 (zh) | 显示方法和电子设备 | |
CN117950846A (zh) | 资源调度方法及相关装置 | |
CN116795197A (zh) | 图层处理方法和电子设备 | |
CN117668350A (zh) | 应用推荐方法及相关装置 | |
CN116931853A (zh) | 图像显示方法及电子设备 | |
CN117997865A (zh) | 一种通知消息的显示方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |