屏幕显示画面调整方法、装置及电子设备转让专利

申请号 : CN202210355977.X

文献号 : CN114442894B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨裕伟

申请人 : 荣耀终端有限公司

摘要 :

本申请适用于图像处理领域,提供了一种屏幕显示画面调整方法、装置及电子设备。在本申请的屏幕显示画面调整方法中,电子设备确定在屏幕旋转过程中背景图像的待调整背景点,根据屏幕待显示画面中的前景图像中或背景图像中的参考点的第一颜色值,调整待调整背景点颜色值,得到调整后的目标背景图像,在旋转过程中显示前景图像和调整后的目标背景图像,并在屏幕上显示由前景图像和调整后的目标背景图像组成的画面;弱化了前景图像和目标背景图像之间存在的颜色差异,进而改善了转屏过程中显示画面的视觉效果,降低了用户的视觉冲击;在丰富了显示画面中背景图像的颜色分布的同时,增强了转屏过程中的视觉效果。

权利要求 :

1.一种屏幕显示画面调整方法,其特征在于,包括:

响应于用户旋转屏幕的第一操作,按遍历方向依次获取屏幕第一待显示画面的背景图像中的待调整背景点;所述待调整背景点为所述背景图像中的至少一个像素点;所述遍历方向为从靠近前景图像边缘的点依次向远离前景图像的边缘的点的方向;

通过领域采样算法,根据所述第一待显示画面的前景图像中或所述背景图像中的在所述待调整背景点的预设领域范围内的参考点的第一颜色值,调整所述待调整背景点的颜色值,得到调整后的目标背景图像;其中,调整后的所述待调整背景点的颜色值与所述第一颜色值的差值在颜色阈值范围内;其中,所述参考点为所述前景图像中与所述待调整背景点的距离在预设邻域范围内的至少一个像素点,或者,为所述背景图像中与所述待调整背景点的距离在所述预设邻域范围内的颜色值已调整的至少一个像素点;

针对屏幕旋转过程中的每一帧待显示画面的所述背景图像进行颜色调整;在颜色值已调整的第一帧待显示画面的刷新过程中,完成对第二帧待显示画面的背景图像中的各所述待调整背景点对应的第二颜色值的计算及调整,得到调整后的所述目标背景图像;所述第一帧待显示画面与所述第二帧待显示画面为前后相邻的两帧待显示画面;

在所述屏幕上显示由所述前景图像和调整后的所述目标背景图像组成的画面。

2.如权利要求1所述的方法,其特征在于,所述根据所述第一待显示画面的前景图像中或所述背景图像中的参考点的第一颜色值,调整所述待调整背景点的颜色值,得到调整后的目标背景图像,包括:根据所述第一待显示画面的前景图像中或所述背景图像中的参考点的第一颜色值,计算所述待调整背景点对应的第二颜色值;

将所述待调整背景点的颜色值调整为所述第二颜色值,得到所述目标背景图像;

其中,所述第一颜色值与第二颜色值的差值在所述颜色阈值范围内。

3.如权利要求1所述的方法,其特征在于,所述获取屏幕第一待显示画面的背景图像中的待调整背景点,包括:根据所述屏幕在旋转过程中显示画面的帧率,周期性地获取所述背景图像中的所述待调整背景点。

4.如权利要求1所述的方法,其特征在于,在所述获取屏幕第一待显示画面的背景图像中的待调整背景点之后,所述方法还包括:根据所述待调整背景点的位置坐标,确定与所述待调整背景点的所述位置坐标的距离在所述预设邻域范围内的所述参考点。

5.如权利要求2所述的方法,其特征在于,所述根据所述第一待显示画面的前景图像中或所述背景图像中的参考点的第一颜色值,计算所述待调整背景点对应的第二颜色值,包括:针对所述屏幕在旋转过程中的每一帧所述第一待显示画面对应的所述背景图像,按对所述待调整背景点的遍历方向,根据所述参考点的所述第一颜色值,计算所述背景图像中所有所述待调整背景点分别对应的第二颜色值;

将所述背景图像中的所有所述待调整背景点的颜色值调整为所述第二颜色值,得到调整后的所述目标背景图像。

6.如权利要求2所述的方法,其特征在于,所述根据所述第一待显示画面的前景图像中或所述背景图像中的参考点的第一颜色值,计算所述待调整背景点对应的第二颜色值,包括:根据所述参考点的所述第一颜色值,按所述屏幕在旋转过程中显示画面的帧率,周期性地计算每一帧所述第一待显示画面对应的所述背景图像中所有所述待调整背景点分别对应的所述第二颜色值。

7.如权利要求2所述的方法,其特征在于,所述根据所述第一待显示画面的前景图像中或所述背景图像中的参考点的第一颜色值,计算所述待调整背景点对应的第二颜色值,包括:根据所述参考点的所述第一颜色值,计算所述第一颜色值的高斯模糊值或平均值;

将所述高斯模糊值或所述平均值作为所述待调整背景点对应的所述第二颜色值。

8.如权利要求1 7任一项所述的方法,其特征在于,在所述得到调整后的目标背景图像~之后,所述方法还包括:

将所述前景图像和调整后的所述目标背景图像,合成为所述屏幕的第二待显示画面;

在所述屏幕旋转过程中,在所述屏幕上显示每一帧所述第二待显示画面。

9.如权利要求1 7任一项所述的方法,其特征在于,所述方法还包括:~

计算所述前景图像中的所有参考点的第一颜色值的平均值,将所述背景图像中的所有所述待调整背景点的颜色值调整为所述第一颜色值的平均值,得到调整后的目标背景图像。

10.如权利要求1 7任一项所述的方法,其特征在于,所述方法还包括:~

根据所述前景图像中的预设边缘区域的参考点第一颜色值,计算所述待调整背景点对应的第二颜色值;

将所述待调整背景点的颜色值调整为所述第二颜色值,得到所述目标背景图像。

11.如权利要求1 7任一项所述的方法,其特征在于,所述背景图像的第一颜色值包括~初始颜色值和最终颜色值;所述方法还包括:

根据所述第一待显示画面的前景图像中或所述背景图像中的参考点的初始颜色值和最终颜色值,调整所述待调整背景点的颜色值,得到调整后的目标背景图像;

其中,所述初始颜色值为屏幕旋转开始时颜色值调整前的第一帧待显示画面的颜色值,最终颜色值为屏幕旋转结束时颜色值调整前的最后一帧待显示画面的颜色值。

12.一种屏幕显示画面调整装置,其特征在于,包括:

获取单元,用于响应于用户旋转屏幕的第一操作,按遍历方向依次获取屏幕第一待显示画面的背景图像中的待调整背景点;所述待调整背景点为所述背景图像中的至少一个像素点;所述遍历方向为从靠近前景图像边缘的点依次向远离前景图像的边缘的点的方向;

处理单元,用于通过领域采样算法,根据所述第一待显示画面的前景图像中或所述背景图像中的在所述待调整背景点的预设领域范围内的参考点的第一颜色值,调整所述待调整背景点的颜色值,得到调整后的目标背景图像;其中,调整后的所述待调整背景点的颜色值与所述第一颜色值的差值在颜色阈值范围内;其中,所述参考点为所述前景图像中与所述待调整背景点的距离在预设邻域范围内的至少一个像素点,或者,所述背景图像中与所述待调整背景点的距离在所述预设邻域范围内的颜色值已调整的至少一个像素点;

所述处理单元,还用于针对屏幕旋转过程中的每一帧待显示画面的所述背景图像进行颜色调整;在颜色值已调整的第一帧待显示画面的刷新过程中,完成对第二帧待显示画面的背景图像中的各所述待调整背景点对应的第二颜色值的计算及调整,得到调整后的所述目标背景图像;所述第一帧待显示画面与所述第二帧待显示画面为前后相邻的两帧待显示画面;

显示单元,用于在所述屏幕上显示由所述前景图像和调整后的所述目标背景图像组成的画面。

13.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,所述电子设备实现如权利要求1至11中任一项所述方法的步骤。

14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,使得电子设备实现如权利要求1至11中任一项所述方法的步骤。

说明书 :

屏幕显示画面调整方法、装置及电子设备

技术领域

[0001] 本申请属于图像处理领域,尤其涉及一种屏幕显示画面调整方法、装置及电子设备。

背景技术

[0002] 随着科技的发展,电子设备的显示屏幕都具有自动旋转的功能。在屏幕的自动旋转功能被激活的情况下,电子设备识别到屏幕在横竖方向上的变化时,则控制画面随屏幕的旋转方向同步旋转。
[0003] 目前,在屏幕旋转前后需要使显示的画面适配电子设备在横屏或竖屏时的显示模式;在显示画面进行横屏或竖屏显示模式的切换过程中,由于屏幕的整个显示界面的前景和背景存在的颜色差异,会对用户造成一定的视觉冲击,容易引起用户的视觉不适。

发明内容

[0004] 本申请提供了一种屏幕显示画面调整方法、装置及电子设备,可以降低电子设备在屏幕旋转过程中的造成的视觉冲击,提升用户体验。
[0005] 本申请的第一方面提供了一种屏幕显示画面调整方法,包括:
[0006] 电子设备响应于用户旋转屏幕的第一操作,获取屏幕第一待显示画面的背景图像中的待调整背景点;该待调整背景点为所述背景图像中的至少一个像素点;根据第一待显示画面的前景图像中或背景图像中的参考点的第一颜色值,电子设备调整待调整背景点的颜色值,得到调整后的目标背景图像;其中,调整后的待调整背景点的颜色值与所述第一颜色值的差值在颜色阈值范围内;参考点为前景图像中与待调整背景点的距离在预设邻域范围内的至少一个像素点,或者,为背景图像中与待调整背景点的距离在预设邻域范围内的颜色值已调整的至少一个像素点;电子设备在屏幕上显示由前景图像和调整后的目标背景图像组成的画面。
[0007] 通过上述方式,基于前景图像参考点的颜色值和已调整的待调整背景点的颜色值对背景图像中待调整背景点的颜色值进行逐一调整,得到调整后的目标背景图像,弱化了前景图像和目标背景图像之间存在的颜色差异,进而改善了转屏过程中显示画面的视觉效果,降低了用户的视觉冲击;在丰富了显示画面中背景图像的颜色分布的同时,增强了转屏过程中的视觉效果。
[0008] 在第一方面的一种可能的实现方式中,根据第一待显示画面的前景图像中或背景图像中的参考点的第一颜色值,调整待调整背景点的颜色值,得到调整后的目标背景图像,包括:
[0009] 电子设备根据第一待显示画面的前景图像中或所述背景图像中的参考点的第一颜色值,计算所述待调整背景点对应的第二颜色值;将所述待调整背景点的颜色值调整为所述第二颜色值,得到所述目标背景图像;其中,所述第一颜色值与第二颜色值的差值在所述颜色阈值范围内。
[0010] 示例性的,将待调整背景点作为采样点,将前景图像中的前景点和背景图像中颜色值已调整的背景点作为参考点,通过邻域采样算法,根据参考点的第一颜色值计算采样点的第二颜色值,并将待调整背景的颜色值调整为第二颜色值;通过对采样点的颜色值的逐一计算和调整,丰富了显示画面中背景图像的颜色分布,弱化了前景图像和背景图像之间存在的颜色差异。
[0011] 在第一方面的一种可能的实现方式中,获取屏幕第一待显示画面的背景图像中的待调整背景点,包括:
[0012] 根据屏幕在旋转过程中显示画面的帧率,周期性地获取背景图像中的所述待调整背景点。
[0013] 示例性的,屏幕在旋转过程中显示画面的帧率,可以为所显示的画面随旋转角度的变化而动态显示的帧率,例如显示某一张图片时,不同的旋转角度显示图片的不同区域或者在屏幕的不同区域显示该图片;或者为随屏幕显示画面的刷新率而动态显示的帧率,例如在屏幕旋转过程中播放视频时显示的连续帧画面。电子设备根据显示画面的帧率,周期性的获取背景图像中的待调整背景点;例如,显示画面的帧率为60帧/秒,则获取背景图像中的待调整背景点的周期为1/60秒/帧。
[0014] 在第一方面的一种可能的实现方式中,在获取屏幕第一待显示画面的背景图像中的待调整背景点之后,该方法还包括:
[0015] 根据所述待调整背景点的位置坐标,确定与所述待调整背景点的所述位置坐标的距离在所述预设邻域范围内的所述参考点。
[0016] 示例性的,每一帧待显示画面中的背景图像和前景图像在屏幕上对应相应的位置区域,例如该位置区域可以通过在屏幕上的坐标范围进行表示,例如某一应用对应的显示界面的系统状态栏对应在屏幕上的坐标范围可以表示为(0,0,1080,80)。相应的,在屏幕上的坐标范围与屏幕的像素点的位置坐标相对应。背景图像中的待调整背景点、颜色值已经调整的背景点以及前景图像中的前景点,均可以对应一个或多个像素点;例如,当对应一个像素点时,该像素点的位置坐标即为前景点或待调整背景点的坐标,当对应多个像素点时,多个像素点在屏幕中的坐标即为前景点或待调整背景点的坐标。预设领域范围可以为预设阶数的像素矩阵或点矩阵的范围,例如3阶或5阶等矩阵。
[0017] 在第一方面的一种可能的实现方式中,根据第一待显示画面的前景图像中或背景图像中的参考点的第一颜色值,计算待调整背景点对应的第二颜色值,包括:
[0018] 针对屏幕在旋转过程中的每一帧第一待显示画面对应的背景图像,按对待调整背景点的遍历方向,根据参考点的所述第一颜色值,计算背景图像中所有待调整背景点分别对应的第二颜色值;将背景图像中的所有待调整背景点的颜色值调整为第二颜色值,得到调整后的目标背景图像。
[0019] 示例性的,将待调整背景点作为采样点,在背景图像区域依次遍历所有的采样点,计算采样点对应的第二颜色值;遍历方向可以为从靠近前景图像边缘的点依次向远离前景图像的边缘的点的方向。
[0020] 示例性的,前景图像和背景图像可以对应不同的图层,不同的图层对应屏幕的不同区域范围;在对图层进行渲染时,计算背景图像对应的背景图层中相应的区域范围内的像素点的第二颜色值,并进行整个背景图像的区域范围内的像素点的颜色调整。
[0021] 在第一方面的一种可能的实现方式中,根据第一待显示画面的前景图像中或背景图像中的参考点的第一颜色值,计算待调整背景点对应的第二颜色值,包括:
[0022] 根据参考点的第一颜色值,按屏幕在旋转过程中显示画面的帧率,周期性地计算每一帧第一待显示画面对应的背景图像中所有待调整背景点分别对应的第二颜色值。
[0023] 示例性的,针对屏幕旋转过程中每一帧待显示画面,均进行背景图像的颜色调整;进行颜色调整的时间可以与屏幕刷新一帧画面的时间对应;例如,屏幕对应的刷新率为60帧/秒,在以1/60秒的时间刷新第一帧颜色值已调整的待显示画面的过程中,完成对第二帧的待显示画面的背景图像的各采样点对应的第二颜色值进行计算及调整;第一帧待显示画面与第二帧待显示画面为前后相邻的两帧待显示画面。
[0024] 通过上述方式,在屏幕旋转过程中,可以实现对每一帧待显示画面的背景图像的颜色进行动态的调整,弱化了每一帧待显示画面中前景图像和目标背景图像之间存在的颜色差异,进而改善了转屏过程中显示画面的整体视觉效果。
[0025] 在第一方面的一种可能的实现方式中,根据第一待显示画面的前景图像中或背景图像中的参考点的第一颜色值,计算待调整背景点对应的第二颜色值,包括:
[0026] 根据参考点的第一颜色值,计算第一颜色值的高斯模糊值或平均值;将高斯模糊值或平均值作为待调整背景点对应的第二颜色值。
[0027] 在第一方面的一种可能的实现方式中,在得到调整后的目标背景图像之后,该方法还包括:
[0028] 将前景图像和调整后的目标背景图像,合成为屏幕的第二待显示画面;在屏幕旋转过程中,在屏幕上显示每一帧所述第二待显示画面。
[0029] 示例性的,针对待显示画面,可以包括背景图像和前景图像,背景图像可以对应一个或多个背景图层,前景图像可以对应一个或多个前景图层,背景图层和前景图层分别可以对应背景图像和前景图像在屏幕上的不同显示区域。当对背景图像对应的背景图层的颜色进行调整渲染后,将前景图层和颜色值调整后的背景图层进行合成,得到第二待显示画面的屏幕显示数据,并在屏幕上显示。
[0030] 在第一方面的一种可能的实现方式中,该方法还包括:
[0031] 计算前景图像中的所有参考点的第一颜色值的平均值,将背景图像中的所有待调整背景点的颜色值调整为第一颜色值的平均值,得到调整后的目标背景图像。
[0032] 在第一方面的一种可能的实现方式中,该方法还包括:
[0033] 根据前景图像中的预设边缘区域的参考点第一颜色值,计算待调整背景点对应的第二颜色值;将待调整背景点的颜色值调整为第二颜色值,得到目标背景图像。
[0034] 在第一方面的一种可能的实现方式中,背景图像的第一颜色值包括初始颜色值和最终颜色值;该方法还包括:
[0035] 根据第一待显示画面的前景图像中或背景图像中的参考点的初始颜色值和最终颜色值,调整待调整背景点的颜色值,得到调整后的目标背景图像;其中,初始颜色值为屏幕旋转开始时颜色值调整前的第一帧待显示画面的颜色值,最终颜色值为屏幕旋转结束时颜色值调整前的最后一帧待显示画面的颜色值。
[0036] 本申请的第二方面提供了一种屏幕显示画面调整装置,包括:
[0037] 获取单元,用于响应于用户旋转屏幕的第一操作,获取屏幕第一待显示画面的背景图像中的待调整背景点;所述待调整背景点为所述背景图像中的至少一个像素点;
[0038] 处理单元,用于根据所述第一待显示画面的前景图像中或所述背景图像中的参考点的第一颜色值,调整所述待调整背景点的颜色值,得到调整后的目标背景图像;其中,调整后的所述待调整背景点的颜色值与所述第一颜色值的差值在颜色阈值范围内;其中,所述参考点为所述前景图像中与所述待调整背景点的距离在预设邻域范围内的至少一个像素点,或者,所述背景图像中与所述待调整背景点的距离在所述预设邻域范围内的颜色值已调整的至少一个像素点;
[0039] 显示单元,用于在所述屏幕上显示由所述前景图像和调整后的所述目标背景图像组成的画面。
[0040] 本申请的第三方面提供了一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,电子设备实现如上述方法的步骤。
[0041] 本申请的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时,使得电子设备实现如上述方法的步骤。
[0042] 本申请的第五方面提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得电子设备实现如上述方法的步骤。
[0043] 本申请与现有技术相比存在的有益效果是:
[0044] 在本申请的屏幕显示画面调整方法中,通过电子设备响应于用户旋转屏幕的第一操作,获取背景图像的待调整背景点,根据屏幕待显示画面中的前景图像中或背景图像中的参考点的第一颜色值,调整待调整背景点颜色值,得到调整后的目标背景图像,在旋转过程中显示前景图像和调整后的目标背景图像,并在屏幕上显示由前景图像和调整后的目标背景图像组成的画面;基于前景图像参考点的颜色值和已调整的待调整背景点的颜色值对背景图像中待调整背景的颜色值进行逐一调整,得到调整后的目标背景图像,弱化了前景图像和目标背景图像之间存在的颜色差异,进而改善了转屏过程中显示画面的视觉效果,降低了用户的视觉冲击;在丰富了显示画面中背景图像的颜色分布的同时,增强了转屏过程中的视觉效果;具有较强的易用性与实用性。

附图说明

[0045] 图1是本申请实施例提供的电子设备的硬件结构示意图;
[0046] 图2是本申请实施例提供的开启屏幕旋转功能的界面示意图;
[0047] 图3是本申请实施例提供的电子设备横竖屏的应用场景示意图;
[0048] 图4是本申请实施例提供的屏幕旋转的应用场景示意图;
[0049] 图5是本申请一实施例提供的屏幕旋转过程动态采样示意图;
[0050] 图6是本申请实施例提供的动态采样的预设邻域范围示意图;
[0051] 图7是本申请实施例提供的屏幕显示画面调整方法的流程示意图;
[0052] 图8是本申请实施例提供的屏幕旋转过程画面显示界面示意图;
[0053] 图9是本申请实施例提供的电子设备的软件结构框图;
[0054] 图10是本申请实施例提供的电子设备的软件模块交互示意图;
[0055] 图11是本申请实施例提供的屏幕显示画面调整装置的结构示意图。

具体实施方式

[0056] 以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
[0057] 为了说明本申请所述的技术方案,下面通过具体实施例来进行说明。
[0058] 应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
[0059] 还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
[0060] 还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
[0061] 如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0062] 图1示出了电子设备100的结构示意图。
[0063] 电子设备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等。
[0064] 示例性的,当电子设备100的当前显示界面支持屏幕旋转,且电子设备100的屏幕旋转开关处于开启状态时,可以根据陀螺仪传感器180B或者加速度传感器180E的状态,电子设备100判断是否对当前显示界面执行屏幕旋转显示。
[0065] 可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
[0066] 处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural‑network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
[0067] 其中,图形处理器GPU可以用于在电子设备100执行屏幕旋转过程中,对屏幕显示界面的图像进行渲染处理,计算用于屏幕显示的图像数据;例如,针对屏幕旋转过程中显示的每一帧显示画面,基于前景图层中前景区域对应的待显示的前景图像的图像数据,对背景图层中背景区域对应的背景图像的图像数据进行调整,然后将背景图像对应的调整后的图像数据与前景图像的数据进行渲染合成,得到整个屏幕的屏幕显示数据。
[0068] 处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。例如,当屏幕旋转过程中,相邻两帧画面的屏幕显示数据局部未发生变化时,可以根据上一帧已经获取到的数据,直接调用为下一帧待显示画面中相应的局部未发生变化的屏幕显示数据。
[0069] 在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter‑integrated circuit,I2C)接口,集成电路内置音频(inter‑integrated circuit sound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general‑purpose input/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
[0070] 可以理解的是,本发明实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
[0071] 电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
[0072] 天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
[0073] 移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。
[0074] 无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wireless local area networks,WLAN)(如无线保真(wireless fidelity,Wi‑Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。
[0075] 电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。例如,在屏幕旋转过程中,屏幕显示画面进行横屏或竖屏的显示模式的切换时,对应的显示图形的渲染处理以及显示界面的图像数据的计算等。
[0076] 显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light‑emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active‑matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light‑emitting diode,FLED),Miniled,MicroLed,Micro‑oLed,量子点发光二极管(quantum dot light emitting diodes,QLED)等。在一些实施例中,电子设备100可以包括1个或N个显示屏194,N为大于1的正整数。
[0077] 示例性的,显示屏194在显示某一界面时,若该界面支持屏幕旋转,且电子设备100的屏幕旋转功能开启时,显示屏194还可以支持当前界面的横屏显示模式和竖屏显示模式。
[0078] 电子设备100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。
[0079] 电子设备100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
[0080] 压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。
[0081] 陀螺仪传感器180B可以用于确定电子设备100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定电子设备100围绕三个轴(即,x,y和z轴)的角速度。示例性的,陀螺仪传感器180B可以用于拍摄防抖。示例性的,当按下快门,陀螺仪传感器180B检测电子设备100抖动的角度,根据角度计算出镜头模组需要补偿的距离,让镜头通过反向运动抵消电子设备100的抖动,实现防抖。陀螺仪传感器180B还可以用于导航,体感游戏场景。
[0082] 加速度传感器180E可检测电子设备100在各个方向上(一般为x,y和z三个轴)加速度的大小。当电子设备100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
[0083] 示例性的,加速度传感器180E还可以检测电子设备100在重力方向上是否发生转动,重力方向的变化可以反应在三个方向,x方向,y方向和z方向;当电子设备100在重力方向上发生转动时,相对于x、y、z方向的角度就会发生变化,从而可以根据角度变化确定电子设备100在重力方向上是否发生转动。
[0084] 距离传感器180F,用于测量距离。电子设备100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,电子设备100可以利用距离传感器180F测距以实现快速对焦。
[0085] 触摸传感器180K,也称“触控器件”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于电子设备100的表面,与显示屏194所处的位置不同。
[0086] 马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。作用于显示屏194不同区域的触摸操作,马达191也可对应不同的振动反馈效果。不同的应用场景(例如:时间提醒,接收信息,闹钟,游戏等)也可以对应不同的振动反馈效果。触摸振动反馈效果还可以支持自定义。
[0087] 本申请实施例提供了一种屏幕显示画面调整方法,应用于上述电子设备100,该电子设备100可以是有显示屏且具备屏幕旋转功能的设备,包括但不限于智能手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、笔记本电脑、超级移动个人计算机(ultra‑mobile personal computer,UMPC)、上网本、个人数字助理(personal digital assistant,PDA)、人工智能(Artificial Intelligence,AI)终端等终端设备。本申请实施例对电子设备100的具体类型不作任何限制。
[0088] 传统的转屏流程中,显示界面的背景区域显示的颜色值采用静态采样或动态采样设定,将显示界面的背景区域显示的颜色设置为固定颜色值(例如黑色、白色或者前景区域显示的颜色值的平均值),或者将旋转前和旋转后的显示界面的背景区域显示的颜色值分别设置为初始值和结束值,在屏幕旋转过程中根据初始值和结束值动态调整背景区域显示的颜色值。然而在一些应用场景下,上述在显示界面的背景区域显示的颜色调整方式仍然会导致背景图像与前景图像之间的颜色差异,从而引起用户的视觉不适。
[0089] 本申请实施例提供的屏幕显示画面调整方法,在电子设备的旋转画面的执行过程中,相较于传统的静态采样或动态采样的方式,本申请实施例采用临近采样方法,在电子设备执行转屏动画的过程中,根据前景显示的前景图像的不断变化动态地执行临近采样算法,动态地根据在前景区域显示的前景图像的颜色值调整在背景区域显示的背景图像的颜色值,通过改善针对背景图像的采样及颜色调整的方式,使得背景图像和前景图像的颜色差异较小,保持背景图像的颜色与前景图像的颜色相似、一致或渐变的颜色特征,从而改善屏幕旋转过程中显示画面的视觉效果,提高转屏过程中用户的视觉体验。
[0090] 请参见图2,本申请实施例提供的开启屏幕旋转功能的界面示意图;在安卓系统的电子设备中,电子设备的系统设有控制屏幕旋转显示的开关,如图2中的(a)图所示,在主屏幕界面的下拉菜单的界面201中可以包括控制屏幕旋转的控件,例如自动旋转控件201‑1,通过接收用户点击该自动旋转控件201‑1输入的指令,使该自动旋转控件201‑1控件处于被选中的状态时,则屏幕旋转的功能开启;又如图2中的(b)图所示,在电子设备的设置界面也可以包括控制屏幕旋转的控件以及对应的开关控件,如在设置界面202上的自动旋转控件对应的开关控件202‑1,当接收到用户点击该开关控件202‑1输入的指令时,使该开关控件202‑1处于开启状态,则屏幕旋转的功能开启。当屏幕旋转功能开启时,在支持旋转屏幕的显示界面,电子设备竖屏放置时和横屏放置时,分别会根据屏幕的当前状态显示不同的界面布局。
[0091] 请参见图3,本申请实施例提供的电子设备的横竖屏的应用场景示意图;以电子设备为手机为例,如图2中的(a)图所示的手持的竖屏模式,可以便于用户单手操作;当应用程序适配横屏的显示模式时,通过用户旋转手机,由竖屏模式切换为横屏模式,在横屏模式可以通过双手对手机进行操作,如图2中的(b)图所示,例如针对一些游戏、视频或文档阅读等支持屏幕旋转的应用程序的界面,手机横置更便于用户操作或更符合视觉习惯等。相应的,基于应用场景的需要,还可以从横屏切换为竖屏显示模式。通过手机中的加速度传感器获取手机的位置状态,并通过负责管理界面的模块判断当前用户进入的界面是否支持屏幕旋转,在检测到屏幕旋转功能开启的情况下,根据手机的位置状态控制相应的横屏模式的显示界面或竖屏模式的显示界面。
[0092] 接下来,对本实施例提供的屏幕显示画面调整方法进行描述。该方法可以包括:
[0093] S301,响应于用户旋转屏幕的第一操作,电子设备获取屏幕第一待显示画面的背景图像中的待调整背景点。
[0094] 在一些实施例中,电子设备可以为具有屏幕自动旋转功能的手持终端设备,包括手机、平板电脑等设备。用户可以通过相应的设置项开启该项屏幕自动旋转功能,并在该项屏幕自动旋转功能开启的情况下,电子设备内置的感应器识别到电子设备在横竖方向的变化时,则执行屏幕的自动旋转,使得屏幕显示画面适配当前电子设备所处的状态;例如由竖屏显示画面旋转至横屏显示画面,或者由横屏显示画面旋转至竖屏显示画面。
[0095] 其中,第一待显示画面为屏幕旋转过程中待调整的画面。该旋转屏幕的第一操作可以是从横屏状态转向竖屏状态的旋转操作或者从竖屏状态转向横屏状态的旋转操作。
[0096] 示例性的,如图4所示,在屏幕旋转过程中,屏幕显示画面的旋转方向可以与屏幕的旋转方向保持一致或者相反。当电子设备由图4中的(a)图所示的竖屏状态向图4中的(d)图所示的横屏状态旋转过程中,显示画面的旋转角度与屏幕的旋转角度可以不完全一致,因此旋转过程中,屏幕会出现如图4中的(b)图和(c)图所示的显示界面,即在屏幕显示界面出现前景区域401和背景区域402,前景区域显示旋转过程中的前景图像,背景区域所显示的背景图像在调整之前则可能显示白色、黑色或其他固定的颜色。
[0097] 如图4中的(b)图所示,在屏幕旋转过程中,屏幕显示界面包括前景区域401和背景区域402,在前景区域401对应显示前景图像,在背景区域402对应显示背景图像。电子设备内置的感应器(例如加速度传感器或重力传感器)可以识别到屏幕的旋转角度;对应屏幕的旋转角度,屏幕的显示界面上在目标显示区域显示与当前旋转角度对应的前景图像的画面帧,目标显示区域的范围设定可以与屏幕的旋转角度以及显示帧率相对应,即在屏幕旋转到第一角度时,在第一目标显示区域显示前景图像的第一帧画面,在屏幕旋转到第二角度时,在第二目标显示区域显示前景图像的第二帧画面,第一目标显示区域和第二目标显示区域随屏幕的旋转角度以及屏幕显示帧率而变化。
[0098] 示例性的,如图4中的(b)图所示,当屏幕的旋转角度不超过角度阈值时(例如角度阈值可以是45°),在第一目标显示区域显示的第一帧画面可以是在竖屏状态时的局部画面;如图4中的(c)图所示,当屏幕的旋转角度超过角度阈值且还未达到横屏状态时,在第二目标显示区域显示的第二帧画面可以是在横屏状态时的局部画面。或者,在屏幕旋转过程中,为了保证显示效果,电子设备对旋转过程中需要显示的前景图像的画面进行缩放处理(例如对前景图像的长宽进行缩放处理),以便在屏幕旋转过程中,在显示界面的目标显示区域显示竖屏状态或横屏状态分别对应的完整画面。
[0099] 在一种可能的实现方式中,基于加速度传感器或重力传感器检测到的屏幕旋转角度,结合屏幕显示帧率,可以确定待显示画面在屏幕的当前显示界面中的目标显示区域(前景区域)以及除目标显示区域之外的背景区域,进一步可以确定前景区域和背景区域对应的像素点的位置坐标,并基于该位置坐标可以获取前景区域和背景区域对应的每个像素点或每个像素点集合的颜色值。
[0100] 示例性的,在确定屏幕显示界面的背景区域后,可以根据背景区域中的每个像素点或像素点集合在屏幕坐标系中的位置坐标,按遍历方向依次确定目标位置坐标上的每个待调整背景点,该待调整背景点可以是背景图像中的一个像素点或一个像素点集合,遍历方向可以是从待显示画面的背景图像的左上角开始,从上至下或从左至右;其中,本申请实施例对遍历方向不做具体限定,从背景图像中紧邻前景图像的边界处的像素点或像素集合开始,向远离前景图像边界的方向,依次获取每个像素点或每个像素点集合的颜色值。
[0101] 需要说明的是,电子设备获取屏幕待显示画面的背景图像中的待调整背景点包括获取待调整背景点的位置坐标以及与位置坐标对应的像素点或像素点集合的颜色值。屏幕旋转过程中显示画面的帧率可以与屏幕播放视频时显示画面的帧率相同,或者小于屏幕播放视频时显示画面的帧率;屏幕在多个不同旋转角度时具有与该旋转角度对应的一帧待显示画面,且该帧待显示画面在屏幕中对应的显示区域随屏幕的旋转而变化,逐渐从竖屏状态(或横屏状态)旋转为横屏状态(或竖屏状态)。屏幕旋转过程中屏幕显示的画面可以是静止画面(例如视频播放中的某一帧暂停画面),也可以是随视频播放的连续画面。
[0102] 示例性的,待调整背景点的位置坐标可以基于电子设备的屏幕坐标系进行表示,例如待调整背景点的位置坐标可以表示为(i,j),其中i表示在屏幕坐标系中的横坐标,j表示在屏幕坐标系中的纵坐标。待调整背景点的颜色值可以通过多个通道的变量值进行表示,例如通过RGB通道值或者aRGB通道值进行表示,当基于RGB表示时,可以表示为24位的颜色值,每8位分别代表一个通道值,当基于aRGB表示时,可以表示为32位的颜色值,前一个8位表示透明度,后三个8位表示RGB分别对应的通道值;其中,颜色值还可以通过其他通道值进行表示,例如Hue(色调)、Saturation(饱和度)、Lightness(亮度)的通道值,或者采用YUV色彩空间表示方式记录的通道值。
[0103] 在一些实施例中,电子设备获取屏幕第一待显示画面的背景图像中的待调整背景点,包括:
[0104] 根据屏幕在旋转过程中显示画面的帧率,电子设备周期性地获取背景图像中的待调整背景点。
[0105] 示例性的,在屏幕旋转过程中,针对不同的旋转角度,屏幕在目标显示区域显示与该屏幕旋转角度对应的前景图像;屏幕在旋转过程中显示画面的帧率可以为屏幕在播放视频时的显示帧率(即刷新率),还可以为在旋转过程中与设定的旋转角度相对应的画面的显示帧率;例如在屏幕的第一旋转角度,显示第一帧画面,在屏幕的第二旋转角度,显示第二帧画面;其中,第一帧画面和第二帧画面可以是同一静止画面的在不同显示区域显示的两帧画面,也可以是在不同显示区域、前后显示的连续的两帧不同画面。相应的,在屏幕旋转过程中,针对不同的旋转角度,根据与该屏幕旋转角度对应的前景图像在屏幕中的显示区域,可以确定屏幕显示界面的前景区域、背景图像对应的背景区域的范围,以及背景图像中待调整背景点的在背景区域中的位置坐标。
[0106] 示例性的,根据屏幕在旋转过程中显示画面的帧率,周期性的确定旋转过程中的每一帧待显示画面对应的背景图像以及背景图像在屏幕显示界面的背景区域,并获取背景图像中待调整调整背景点,通过后续步骤对当前帧显示画面对应的背景图像进行颜色值的调整。例如,在屏幕旋转过程中,针对屏幕的第一旋转角度,确定当前待显示的第一帧画面对应的第一背景图像,获取第一背景图像中所有待调整背景点的颜色值并进行调整后,得到调整后的第一目标背景图像;然后获取下一个第二旋转角度时待显示的第二帧画面对应的第二背景图像,获取第二背景图像中所有待调整背景点的颜色值并进行调整后,得到调整后的第目标背景图像;根据帧率继续获取下一个第三旋转角度时待显示的第三帧画面对应的第三背景图像,直到屏幕由竖屏状态(或横屏状态)旋转为横屏状态(或竖屏状态)。
[0107] S302,电子设备根据第一待显示画面的前景图像中或背景图像中的参考点的第一颜色值,调整待调整背景点的颜色值,得到调整后的目标背景图像。
[0108] 其中,调整后的待调整背景点的颜色值与第一颜色值的差值在颜色阈值范围内;参考点为前景图像中与待调整背景点的距离在预设邻域范围内的至少一个像素点,或者,为背景图像中与待调整背景点的距离在预设邻域范围内的颜色值已调整的至少一个像素点;待调整背景点为背景图像中的至少一个像素点。
[0109] 示例性的,在对待显示画面的背景图像进行颜色调整时,是基于待显示画面的前景图像的颜色或背景图像中颜色值已经调整的背景点的颜色,对待调整背景点进行的颜色调整。
[0110] 在一些实施例中,在电子设备获取屏幕第一待显示画面的背景图像中的待调整背景点之后,该方法还包括:
[0111] 根据待调整背景点的位置坐标,确定与待调整背景点的位置坐标的距离在预设邻域范围内的参考点。
[0112] 其中,参考点包括屏幕待显示画面的前景图像中的前景点或者背景图像中的已调整颜色值的背景点。参考点的位置坐标可以基于电子设备的屏幕坐标系进行表示,例如参考点的位置坐标可以表示为(i,j),其中i表示在屏幕坐标系中的横坐标,j表示在屏幕坐标系中的纵坐标。
[0113] 示例性的,参考点的颜色值可以通过多个通道的变量值进行表示,例如通过RGB通道值或者aRGB通道值进行表示,当基于RGB表示时,可以表示为24位的颜色值,每8位分别代表一个通道值,当基于aRGB表示时,可以表示为32位的颜色值,前一个8位表示透明度,后三个8位表示RGB分别对应的通道值;其中,颜色值还可以通过其他通道值进行表示,例如Hue(色调)、Saturation(饱和度)、Lightness(亮度)的通道值,或者采用YUV色彩空间表示方式记录的通道值。
[0114] 示例性的,参考点可以为待显示画面的前景图像中的一个像素点或一个像素点集合;例如当为一个像素点时,可以通过前景图像中该像素点的颜色通道值进行表示,如RGB通道值表示为(0,125,255);当为一个像素点集合时,一个参考点可以对应由多个像素点组成的像素点阵列,例如2×2的像素点阵列,该参考点的颜色值的表示方式可以是2×2的像素点阵列中的每个像素点的各自对应的颜色通道值的平均值,例如2×2的像素点阵列中各个像素点对应的RGB通道值分别为(1,23,100)、(7,35,110)、(10,20,90),则该参考点对应的颜色值可以表示为(6,26,100);以其他的颜色表示方式记录时,与前述表示方式的原理相同。
[0115] 需要说明的是,参考点对应多个像素点组成的像素点阵列的阶数,可以根据屏幕的分辨率或者待显示画面的大小进行设定,在此仅示例性说明,不做具体显示。相应的,在对待显示画面的背景图像的颜色值进行调整时,每个待调整背景点的颜色表示方式与每个参考点的颜色表示方式一致,每个待调整背景点与每个参考点分别对应的像素点的数量一致。
[0116] 如图5所示,针对屏幕不同的旋转角度可以对应不同的待显示画面,不同的待显示画面的前景图像在屏幕显示界面对应的前景区域不同,背景图像在屏幕显示界面对应的背景区域不同,背景图像在对应的背景区域的采样点(待调整背景点)的位置以及采样点对应的预设邻域范围内的前景点或已调整颜色值的背景点的位置也不同,随屏幕旋转角度的变化而变化。
[0117] 如图5中的(a)图所示,当屏幕由竖屏状态旋转至横屏状态时,屏幕的旋转角度小于角度阈值时,在目标显示区域(前景区域)显示竖屏画面的局部画面(例如窗口A显示的画面)。电子设备获取待显示画面的背景图像中待调整背景点,并基于预设邻域范围确定邻近区域内的参考点(包括前景图像中的前景点或背景图像中已调整颜色值的背景点)。此时,背景图像中的待调整背景点对应的邻域范围内的参考点,可以包括待显示画面中与窗口A对应的前景图像中的前景点,或者与背景区域对应的背景图像中已调整颜色值的背景点。
[0118] 如图5中的(b)图所示,当屏幕由竖屏状态旋转至横屏状态时,屏幕的旋转角度大于角度阈值且未转到横屏状态时,在目标显示区域(前景区域)显示横屏画面的局部画面(例如窗口B显示的画面)。电子设备获取待显示画面的背景图像中待调整背景点,并基于预设邻域范围确定邻近区域内的前景点或已调整颜色值的背景点。此时,背景图像中的待调整背景点对应的邻域范围内的参考点,可以包括待显示画面中与窗口B对应的前景图像中的前景点,或者与背景区域对应的背景图像中已调整颜色值的背景点。
[0119] 如图5中的(c)图所示,当屏幕由竖屏状态旋转至横屏状态时,屏幕在旋转过程中,在目标显示区域(前景区域)显示横屏画面的局部画面和竖屏画面的局部画面(例如窗口A和窗口B分别显示的不同角度的画面),在窗口A和窗口B显示的画面的并集区域范围也可以称作窗口C。电子设备获取待显示画面中背景图像中待调整背景点,并基于预设邻域范围确定邻近区域内的前景点或已调整颜色值的背景点。此时,背景图像中的待调整背景点对应的邻域范围内的参考点,可以包括待显示画面中与窗口A对应的前景图像中的前景点、与窗口B对应的前景图像中的前景点、与窗口A和窗口B重叠区域对应的前景图像的前景点,或者与背景区域对应的背景图像中已调整颜色值的背景点。
[0120] 如图5中的(d)图所示,当屏幕由竖屏状态旋转至横屏状态时,屏幕在旋转过程中,在目标显示区域(前景区域)显示横屏画面的局部画面和竖屏画面的局部画面(例如分别对原窗口A和原窗口B进行缩放得到在同一显示区域显示的画面,即窗口A+窗口B的前景区域显示的画面)。电子设备获取待显示画面中背景图像中待调整背景点,并基于预设邻域范围确定邻近区域内的前景点或已调整颜色值的背景点。此时,背景图像中的待调整背景点对应的邻域范围内的参考点,可以包括待显示画面中与窗口A+窗口B的前景区域对应的前景图像中的前景点,或者与背景区域对应的背景图像中已调整颜色值的背景点,例如采样点1对应的邻近区域的参考点。
[0121] 示例性的,采样点的邻近区域内还可能包括无效点,例如图5中的(b)图所示的采样点的邻近区域,在屏幕边框区域的点虽然也属于采样点的邻域范围,但属于无效点。采样点的邻近区域内的参考点也可以只包括已调整颜色值的背景点,例如图5中的(d)图所示的采样点2的邻近区域。
[0122] 需要说明的是,图5仅示例性说明采样点、参考点的位置关系以及对预设领域范围的示意性说明,实际在数据处理过程中,基于待显示画面中参考点对应在屏幕显示界面的位置坐标以及颜色值,针对待显示画面中的背景图像的待调整背景点进行颜色调整。
[0123] 示例性的,针对在屏幕的显示界面存在多个背景子区域时,可以针对与不同位置的背景子区域对应的背景图像,同时对相应的待调整背景点进行采样,以获取相应的预设邻域范围内的前景点或已调整颜色值的背景点;从而提高与不同位置的背景子区域对应的背景图像内待调整背景点的遍历效率,提高对每一帧待显示画面的渲染处理的效率。
[0124] 需要说明的是,已调整背景点为根据前景点的颜色值进行颜色调整后的背景点,或者根据前景点或其他已调整背景点的颜色值进行颜色调整后的背景点。图5中所示的旋转显示界面仅示例性说明,并不对显示界面在屏幕旋转过程中的区域划分方式进行限定,无论对应哪种区域划分方式,在屏幕旋转过程中,根据待显示画面对应在显示界面的前景区域对应的前景图像,遍历并调整与显示界面的背景区域对应的背景图像中的待调整背景点的颜色值;预设邻域范围的大小可以根据屏幕尺寸、分辨率或者屏幕显示界面对应的前景区域及背景区域的大小进行设定。
[0125] 在一些实施例中,电子设备根据第一待显示画面的前景图像中或背景图像中的参考点的第一颜色值,调整待调整背景点的颜色值,得到调整后的目标背景图像,包括:
[0126] 根据所述第一待显示画面的前景图像中或所述背景图像中的参考点的第一颜色值,电子设备计算待调整背景点对应的第二颜色值;将待调整背景点的颜色值调整为第二颜色值,得到颜色值渐变的目标背景图像。
[0127] 其中,第一颜色值与第二颜色值的差值在颜色阈值范围内。
[0128] 在一些实施例中,本申请中屏幕旋转过程中的显示界面的调整方法是基于待显示画面的背景图像的采样点的领域算法实现的调整,即针对背景图像中的每个待调整的采样点,根据在距离该采样点预设邻域范围内的参考点的颜色值,计算该采样点的颜色值,使得该采样点的颜色值与其邻域范围内的参考点的颜色值相似、一致或颜色渐变的特征;从而基于预设邻域范围的参考点的颜色值逐步计算出背景图像中的每个背景点对应的颜色值。
[0129] 示例性的,如图5所示,在屏幕旋转过程中,针对显示界面中不同的区域划分方式,背景图像中待调整背景点的预设邻域范围的参考点也不同,不同的参考点分别对应的第一颜色值也不同。
[0130] 示例性的,颜色阈值范围可以根据显示界面中背景区域的大小以及待显示画面中前景图像的邻近边界处的参考点的第一颜色值设置。第二颜色值可以是待调整背景点对应的预设邻近范围内参考点的第一颜色值的平均值,或者对预设邻域范围内的参考点的第一颜色值经过高斯模糊算法计算得到的颜色值;还可以是通过其他计算方式得到颜色值,例如色彩转换等算法计算的颜色值。
[0131] 示例性的,采样点(待调整背景点)和参考点的颜色值可以基于同一类表示方式进行记载,例如基于RGB通道的表示方式、基于aRGB的通道表示方式、基于YUV通道的表示方式以及基于HSL的表示方式等。根据上述记载方式中的参考点对应的每个通道值,计算采样点(待调整背景点)对应的每个通道值,基于计算得到的每个通道值表示采样点调整后的颜色值。
[0132] 其中,计算方式包括但不限于求取采样点的预设邻域范围内的所有参考点对应的每个通道值的平均值,或者利用高斯算法计算每个通道值对应的高斯模糊值等,例如还可以根据预设邻域范围内的所有参考点对应的每个通道值进行色彩转换计算,得到采样点对应的颜色通道值等。
[0133] 在一些实施例中,根据第一待显示画面的前景图像中或背景图像中的参考点的第一颜色值,调整待调整背景点的颜色值,包括:
[0134] 针对屏幕在旋转过程中的每一帧第一待显示画面对应的背景图像,按对待调整背景点的遍历方向,根据参考点的第一颜色值,计算背景图像中所有待调整背景点分别对应的第二颜色值;将背景图像中的所有待调整背景点的颜色值调整为第二颜色值,得到调整后的目标背景图像。
[0135] 示例性的,待调整背景点的遍历方向可以根据背景图像所对应的背景区域再屏幕显示界面所处的位置进行确定,位于不同位置的背景区域,其对应的背景图像中的待调整背景点的遍历方向也不同;例如,针对图5中的(d)图所示的显示界面,背景区域包括屏幕的四个角分别对应的区域,因此对应于屏幕右上角的背景区域的背景图像中的待调整背景点,其遍历方向可以为从左向右和从上向下;对应于屏幕左下角的背景区域的背景图像中的待调整背景点,其遍历方向可以为从右向左和从上向下;对应于屏幕左上角的背景区域的背景图像中的待调整背景点,其对应的遍历方向可以为从左向右和从下向上。实际在数据处理过程中,可以根据背景图像中待调整背景点对应在屏幕坐标系中的位置坐标,进行遍历及颜色调整。
[0136] 示例性的,当屏幕显示界面中存在多个背景子区域时,可以对与不同位置的背景子区域对应的背景图像的待调整背景点同时按各自对应的遍历方向进行遍历;根据待调整背景点的预设邻域范围内的参考点的颜色值,依次计算各个背景子区域对应的背景图像中所有待调整背景点的颜色值。
[0137] 示例性的,针对屏幕旋转过程中的每一帧待显示画面对应的背景图像,根据动态变化的待显示画面中的前景图像的颜色值,按显示画面的帧率,计算与每一帧待显示画面的背景图像的颜色值,并动态地调整背景图像的颜色值。
[0138] 示例性的,如图6所示的本申请实施例提供的动态采样的预设邻域范围示意图。在屏幕旋转过程中,对于背景图像中的任意一个待调整的采样点(i,j),其对应的预设邻域范围可以表示为Delta(i,j)。其中,预设邻域范围Delta(i,j)可以为以采样点为中心的3×3阶或5×5阶的邻域范围,如图6中的(a)图和(c)图所示。
[0139] 示例性的,如图6中的(a)图和图6中的(b)图所示,预设邻域范围为3×3阶的邻域范围,在根据预设邻域范围内的参考点计算采样点的颜色值时,可以采用高斯模糊算法,计算得到位于中心位置的采样点的颜色值。
[0140] 如图6中的(a)图所示,采样点本身对应的颜色值为4,预设邻域范围内的参考点均具有对应的颜色值时,根据参考点的颜色值基于高斯模糊算法得到采样点的颜色值1.92,如图6中的(b)图所示;相应的,在遍历背景图像中的待调整背景点时,也可以基于该3×3的卷积块向右、向下、向左或向上的方向依次移动,遍历到待显示画面的背景图像中的所有待调整背景点。
[0141] 示例性的,如图6中的(b)图所示,预设邻域范围为5×5阶的邻域范围,在根据预设邻域范围内的参考点计算采样点的颜色值时,可以采用求取平均值,计算得到位于中心位置的采样点的颜色值。
[0142] 如图6中的(c)图所示,采样点本身对应的颜色值为0,预设邻域范围内的参考点的颜色值可能包括未计算的背景点或者对应无效区域的无效点,这些点不参与计算,在图中以0表示其对应的颜色值;根据其他有效的参考点的颜色值计算出采样点的颜色值为0.92,如图6中的(d)图所示;相应的,在遍历背景图像中的待调整背景点时,也可以基于该5×5的卷积块向右、向下、向左或向上的方向依次移动,遍历到待显示画面的背景图像中的所有待调整背景点。
[0143] 需要说明的是,上述颜色值的表示方式仅示例性说明,在实际计算过程中,可以根据每个参考点的每个颜色通道值,计算采样点对应的每个颜色通道值,得到每个采样点对应的颜色值。
[0144] 在一些实施例中,根据第一待显示画面的前景图像中或背景图像中的参考点的第一颜色值,电子设备计算待调整背景点对应的第二颜色值,包括:
[0145] 根据参考点的第一颜色值,按屏幕在旋转过程中显示画面的帧率,周期性地计算每一帧第一待显示画面对应的背景图像中所有待调整背景点分别对应的第二颜色值。
[0146] 示例性的,在屏幕旋转过程中,根据动态变化的前景区域的前景图像,动态地计算与每一帧待显示画面对应的背景图像的所有待调整背景点的颜色值,实现对待显示画面的背景图像的颜色值随旋转过程地动态调整,改善在屏幕旋转过程中,屏幕显示界面中的背景图像与前景图像的颜色差异,提高显示效果和用户的视觉体验。
[0147] S303,电子设备在屏幕上显示由前景图像和调整后的目标背景图像组成的画面。
[0148] 在一些实施例中,针对在屏幕旋转过程中的每一帧待显示画面,均计算出背景图像的待调整背景点对应的第二颜色值,并将背景图像的待调整背景点调整为第二颜色值,使得屏幕在旋转过程中可以对应显示每一帧背景图像的颜色值调整后的画面,使得旋转过程中每个角度的显示界面的显示效果更加符合人眼视觉的习惯,降低了屏幕旋转过程中因前景图像与背景图像的颜色差异而引起的用户眼睛不适的可能性;提高了整体显示界面的显示效果。
[0149] 在一些实施例中,在得到调整后的目标背景图像之后,该方法还包括:
[0150] 将前景图像和调整后的目标背景图像,合成为屏幕的第二待显示画面;在屏幕旋转过程中,在所述屏幕上显示每一帧第二待显示画面。
[0151] 示例性的,在屏幕旋转过程中,电子设备根据屏幕在不同旋转角度需要显示的画面,确定在屏幕显示界面的前景区域和背景区域;在对待显示画面进行渲染处理时,可以将背景区域和前景区域分别对应的图像由不同的图层进行处理,例如将与背景区域对应的背景图像在背景图层中进行调整处理,将与前景区域对应的前景图像在前景图层进行处理;进而根据预设邻域范围内的参考点在前景区域的位置坐标获取到相应的颜色值,计算在背景区域中与其对应的位置坐标处的采样点的颜色值,并在背景图层中根据计算的颜色值调整背景图像的颜色值;最后将背景图层中调整后背景图像与前景图层中前景图像进行合成,得到整个屏幕的调整后的待显示画面;并在屏幕的当前旋转角度显示调整后的待显示画面。
[0152] 请参见图7,本申请实施例提供的屏幕显示画面调整方法的流程示意图;基于与上述实施例相同的实现原理,该方法可以包括以下步骤:
[0153] S701,响应于用户旋转屏幕的第一操作,确定待显示画面的背景图像对应的背景区域;
[0154] S702,按预设的遍历方向,获取背景区域的待调整背景点;
[0155] S703,根据第一待显示画面的前景图像中的采用最邻近算法;
[0156] S704,根据第一待显示画面的前景图像的前景点或颜色值已调整的背景点的颜色值,采用最邻近算法计算待调整背景点的颜色值;
[0157] S705,判断是否完成当前帧待显示画面的背景区域的所有待调整背景点的颜色值调整;若是则执行S706;若否,则继续执行S702及其后续步骤;
[0158] S706,判断是否完成所有帧待显示画面中的待调整背景点的颜色值调整;若是,则执行S707;若否,则继续执行S701及其后续步骤;
[0159] S707,屏幕旋转过程中显示每一帧颜色值调整后的待显示画面。
[0160] 需要说明的是,在屏幕旋转时,电子设备可以针对屏幕旋转过程中待显示的每一帧画面进行背景图像颜色的调整,可以调整一帧对应显示一帧,在显示当前帧的时间的调整下一帧待显示的画面,还可以在显示画面之前调整好所有帧待显示的画面,然后依次显示调整后的待显示画面。
[0161] 如图8所示,本申请实施例提供的屏幕显示画面在调整前后的示意图。如图8中的(a)图所示,为调整之前显示界面的视觉效果,由于背景区域的颜色值可能为固定的白色、黑色或者固定的中间色,使得屏幕显示界面内的背景区域与前景区域的颜色存在较为明显的差异,影响用户的视觉效果。如图8中的(b)图所示,通过采用邻域采样的计算方法,遍历背景图像中的采样点,并根据预设邻域范围内的参考点的颜色值,计算每一帧待显示画面对应的背景图像中的采样点的颜色值,并将背景图像的所有采样点调整为计算得到的颜色值,得到屏幕在旋转过程中显示调整后的每一帧待显示画面,降低了显示界面中背景区域与前景区域的图像颜色差异,提高了屏幕显示界面的整体视觉效果。
[0162] 在一种可能的实现方式中,该方法还包括:计算前景图像中的所有参考点的第一颜色值的平均值,将背景图像中的所有所述待调整背景点的颜色值调整为第一颜色值的平均值,得到调整后的目标背景图像;或者,根据前景图像中的预设边缘区域的参考点第一颜色值,计算待调整背景点对应的第二颜色值,将待调整背景点的颜色值调整为第二颜色值,得到目标背景图像;或者,根据第一待显示画面的前景图像中或背景图像中的参考点的初始颜色值和最终颜色值,调整待调整背景点的颜色值,得到调整后的目标背景图像;其中,背景图像的第一颜色值包括初始颜色值和最终颜色值,初始颜色值为屏幕旋转开始时颜色值调整前的第一帧待显示画面的颜色值,最终颜色值为屏幕旋转结束时颜色值调整前的最后一帧待显示画面的颜色值。
[0163] 需要说明的是,图8仅示意性说明在屏幕显示界面前景区域与背景区域在显示调整前的画面存在颜色差异或颜色差异较为明显时的视觉效果,以及将待显示画面调整后降低背景区域和前景区域的图像颜色差异,丰富背景区域的颜色分布并改善转屏过程中视觉效果的示意图,并不对实际旋转过程中显示界面的背景区域与前景区域的显示特征进行限定。
[0164] 在一些实施例中,待调整的背景点与参考点分别对应所述屏幕上的像素点集合,像素点集合可以包括若干个像素点。
[0165] 示例性的,如图6中的(a)图所示,采样点或参考点可以包括多个像素点集合,例如2×2的像素点矩阵或者4×4的像素点矩阵等,具体的像素点集合中像素点的个数可以根据屏幕的分辨率、显示界面中背景区域的大小以及屏幕在旋转过程中显示画面的帧率进行确定,以保证在旋转过程中,对背景区域中的待调整背景点完成遍历的时间在显示画面刷新时间之内。其中,当采样点或参考点为多个像素点集合时,相应的预设邻域范围可以该多个像素点集合为单位进行扩展,得到对应的邻域范围,例如以该多个像素点集合为单位组成的3×3或5×5的矩阵大小的邻域范围。当采样点包括多个像素点时,该采样点对应的颜色值可以为多个像素点的颜色值的平均值或者高斯模糊值,即根据采样点的位置坐标(对应在屏幕坐标系下坐标)确定所包括的像素点的位置坐标(像素点坐标),根据像素点的位置坐标获取对应的像素值(或者灰度值),根据每个像素点的像素值计算该采样点对应的颜色值。
[0166] 通过本申请实施例,电子设备确定在屏幕旋转过程中待显示画面的背景图像的待调整背景点,根据待显示画面的前景图像或背景图像中的参考点的第一颜色值,基于最邻近采样算法,动态的计算待调整背景点对应的第二颜色值,并将待调整背景点的颜色值调整为与第一颜色值相近的第二颜色值,得到颜色渐变的目标背景图像,并在屏幕显示前景图像和调整后的目标背景图像;弱化了前景区域和背景区域之间存在的颜色差异,进而改善了转屏过程中的视觉效果,降低了用户的视觉冲击;由于对待显示画面的背景图像的每个采样点的颜色值均进行了动态的计算,在丰富了背景图像的颜色分布的同时,增强了转屏过程中的视觉效果;降低了屏幕旋转过程中存在前景图像和背景图像的颜色差异以及由于颜色差异引起的视觉不适。
[0167] 应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
[0168] 基于上述电子设备100在屏幕旋转过程中对屏幕显示画面进行调整的实施例,电子设备100的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备100的软件结构。
[0169] 请参阅图9,图9为电子设备100的软件结构框图,安卓操作系统的系统架构可以包括软件(Application,APP)层、框架(Framework)层、本地(Native)层、核心(Kernel)层、硬件(Hardware)层。
[0170] 应用层可以包括至少一个应用程序(Application)901,应用程序901可以是系统应用程序,也可以是第三方的应用程序;例如还可以是相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
[0171] 在Framework层设置有窗口管理服务(Window Manager Service,WMS)模块902、活动管理服务(Activity Manager Service,AMS)模块903、窗口适配服务(Display Manager Srevice,DMS)模块904、旋转显示决策服务(Rotation‑Display Policy Service)模块905以及输入管理(Input Manager)模块906。
[0172] WMS模块902负责为应用程序分配窗口(surface)以及管理surface的属性(例如surface的大小、显示位置、显示区域以及隐藏区域)。
[0173] AMS模块903负责管理应用程序的生命周期以及处理事项。
[0174] DMS模块904负责管理系统当前显示屏的屏幕显示状态。在屏幕旋转功能打开时,DMS模块704将当前显示屏的显示窗口与电子设备所处的状态相适配;例如电子设备处于竖屏状态时,将显示窗口适配于竖屏显示状态;当电子设备处于横屏状态时,将显示窗口适配于横屏显示状态。
[0175] Rotation‑Display Policy Service模块905负责根据预设的旋转触发条件决策是否开启屏幕旋转模式。
[0176] Input Manager模块906负责传递数据。
[0177] 在Native层设置有图形合成器(SurfaceFlinger)907、图层渲染器(Layers Renderer)908、硬件图形制作器(Hardware composer,HWC)909以及送显通道(Display)910。
[0178] 图形合成器907负责将各个应用程序的窗口数据合成为屏幕显示数据。
[0179] 图层渲染器908负责将待显示画面对应的屏幕显示数据中的前景图层和背景图层进行渲染处理,例如根据前景图层的颜色值调整背景图层的颜色值。
[0180] 硬件图形制作器909负责将屏幕显示数据上屏显示;硬件图形制作器909还可以为安卓系统中进行窗口合成和显示的硬件抽象层(Hardware Abstraction Layer,HAL)模块,为图形合成器907提供硬件支持,通过硬件设备进行图层合成,以减轻GPU的合成压力。
[0181] Display910负责传递颜色调整后的屏幕显示数据。
[0182] 在Kernel层设置有传感器驱动(Sensor Driver)模块911。
[0183] Sensor Driver模块911负责接收和传递传感器采集的传感器数据,例如重力传感器在电子设备旋转过程中采集的重力信号,该重力信号用于识别电子设备的放置状态。
[0184] 在Hardware层设置有显示屏(Screen)912和重力传感器913。
[0185] Screen912负责显示调整后的待显示画面。
[0186] 重力传感器913负责采集电子设备在屏幕旋转过程中重力感应数据,例如电子设备的倾斜角度。
[0187] 将电子设备100开启屏幕旋转模式的触发条件可以设置为在屏幕旋转功能开启、当前进入的界面支持屏幕旋转功能时的屏幕旋转事件。此时,电子设备100获取重力传感器913采集的数据,监测发生的屏幕旋转事件。
[0188] 当电子设备100的屏幕旋转功能开启、当前进入的界面支持屏幕旋转功能时,用户触发旋转屏幕的第一操作,电子设备100的重力传感器913采集到相应的传感器数据(重力感应数据),重力传感器913将采集到的传感器数据传入Sensor Driver模块911,Sensor Driver模块911将传感器数据通过Input Manager模块906传入旋转显示决策扶服务模块905。
[0189] 旋转显示决策扶服务模块905根据传感器数据检测到电子设备100发生了屏幕旋转事件,开启电子设备100屏幕旋转显示模式。基于该屏幕旋转显示模式下电子设备100在屏幕旋转过程中可以动态显示画面。
[0190] 电子设备100开启屏幕旋转功能以及开启屏幕旋转显示模式后,DMS模块904执行显示区域适配操作,确定与屏幕旋转角度适配的显示窗口。
[0191] 在安卓操作系统的图形管道渲染框架中,GPU等具备图形渲染功能的图形渲染组件负责对各帧待显示画面(或应用程序)的图形数据进行渲染。在渲染的过程中,图形渲染组件获取电子设备100的显示屏与屏幕旋转角度适配的窗口区域,根据窗口区域对各帧待显示画面(或应用程序)的图形数据进行渲染,渲染过程包括根据每一帧待显示画面的前景图层的颜色值调整背景图层的颜色值。
[0192] 每一帧待显示画面(或应用程序)的图形数据渲染完成后,得到各帧待显示画面(或应用程序)的窗口数据,图形渲染组件将各帧待显示画面(或应用程序)的渲染后的窗口数据传入缓存队列(buffer queue)中。
[0193] 图像合成器907从数据缓冲队列中取出各帧待显示画面(或应用程序)的渲染后的窗口数据。
[0194] 其中,buffer queue采用生产者‑消费者模式,可以调节缓冲区(buffer)从生产队列到消耗队列的固定周期,其工作原理如图10所示。
[0195] 当生产者需要缓存数据时,生产者可以通过出列(dequeue)指令来创建buffer queue缓存队列,或者,生产者也可以唤醒处于出列(dequeue)状态下的buffer queue。
[0196] 在buffer queue创建或唤醒成功之前,buffer queue中的buffer处于空闲(Free)状态;当buffer queue创建或唤醒成功后,buffer queue将buffer传递至生产者,此时buffer的状态变为dequeue状态。
[0197] 生产者将各帧待显示画面渲染后的窗口数据存入buffer中,通过入列(queue)指令将buffer传递至buffer queue,buffer的状态变为入列(queue)状态。
[0198] 当消费者需要对buffer内缓存的数据进行处理时,消费者可以发送获取(acquire)指令至buffer queue。
[0199] buffer queue接收到acquire指令后,将buffer传递至消费者,此时buffer的状态变为被获取(acquired)状态。
[0200] 当消费者对buffer内的数据处理完毕后,清除buffer内缓存的数据,将buffer释放(release)回buffer queue,此时buffer的状态变为Free状态,buffer queue完成本次数据的缓存与调用。
[0201] 由上可知,在电子设备100的buffer queue所采用生产者‑消费者模型中,生产者为GPU等具备图形渲染功能的组件,生产者将各帧待显示画面(或应用程序)的图形数据渲染完成后,得到各帧待显示画面(或应用程序)的窗口数据,并将各帧待显示画面(或应用程序)渲染后的窗口数据传入buffer queue的buffer中,等待消费者的调用。消费者为图像合成器907等需要对buffer内缓存的数据进行操作的组件,当生产者将各帧待显示画面(或应用程序)渲染后的窗口数据传入buffer,由图像合成器907调用各个buffer queue的buffer,获取各帧待显示画面(或应用程序)的窗口数据,对各帧待显示画面(或应用程序)窗口数据执行合成操作。
[0202] 在图像合成器907中,各帧待显示画面(或应用程序)的窗口数据以层(layer)的形式存在,例如针对在屏幕前景区域显示的前景图层和在背景区域显示的背景图层;图像合成模块907根据各层窗口数据对应的surface属性,将多层窗口数据融合为一层屏幕显示数据。
[0203] Display910将融合为一层屏幕显示数据传递至硬件图形制作器909,由硬件图形制作器909负责对屏幕显示数据进行窗口区域的适配,将分窗口区域配后的屏幕显示数据显示在电子设备100的显示屏713上。
[0204] 本申请实施例根据前景图层动态的调整背景图层的颜色值,避免了前景图层和背景图层之间的颜色差异,进而能够改善转屏过程中的视觉效果。本申请实施例通过对背景图层的每个点的颜色值都进行了计算及调整,丰富了背景图的颜色分布,增强了转屏流程中的视觉效果。
[0205] 请参见图11,本申请实施例提供的屏幕显示画面调整装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。如图11所示,屏幕显示画面调整装置包括:
[0206] 获取单元111,用于响应于用户旋转屏幕的第一操作,获取屏幕第一待显示画面的背景图像中的待调整背景点;所述待调整背景点为所述背景图像中的至少一个像素点;
[0207] 处理单元112,用于根据所述第一待显示画面的前景图像中或所述背景图像中的参考点的第一颜色值,调整所述待调整背景点的颜色值,得到调整后的目标背景图像;其中,调整后的所述待调整背景点的颜色值与所述第一颜色值的差值在颜色阈值范围内;其中,所述参考点为所述前景图像中与所述待调整背景点的距离在预设邻域范围内的至少一个像素点,或者,为所述背景图像中与所述待调整背景点的距离在所述预设邻域范围内的颜色值已调整的至少一个像素点;
[0208] 显示单元113,用于在所述屏幕上显示由所述前景图像和调整后的所述目标背景图像组成的画面。
[0209] 在一些实施例中,处理单元112还用于根据第一待显示画面的前景图像中或所述背景图像中的参考点的第一颜色值,计算所述待调整背景点对应的第二颜色值;将所述待调整背景点的颜色值调整为所述第二颜色值,得到所述目标背景图像;其中,所述第一颜色值与第二颜色值的差值在所述颜色阈值范围内。
[0210] 在一些实施例中,获取单元111还用于根据屏幕在旋转过程中显示画面的帧率,周期性地获取背景图像中的所述待调整背景点。
[0211] 在一些实施例中,该装置还包括:
[0212] 区域定位模块,用于根据所述待调整背景点的位置坐标,确定与所述待调整背景点的所述位置坐标的距离在所述预设邻域范围内的所述参考点。
[0213] 在一些实施例中,处理模块112还用于针对屏幕在旋转过程中的每一帧第一待显示画面对应的背景图像,按对待调整背景点的遍历方向,根据参考点的所述第一颜色值,计算背景图像中所有待调整背景点分别对应的第二颜色值;将背景图像中的所有待调整背景点的颜色值调整为第二颜色值,得到调整后的目标背景图像。
[0214] 在一些实施例中,处理模块112还用于根据参考点的第一颜色值,按屏幕在旋转过程中显示画面的帧率,周期性地计算每一帧第一待显示画面对应的背景图像中所有待调整背景点分别对应的第二颜色值。
[0215] 在一些实施例中,处理模块112还用于根据参考点的第一颜色值,计算第一颜色值的高斯模糊值或平均值;将高斯模糊值或平均值作为待调整背景点对应的第二颜色值。
[0216] 在一些实施例中,该装置还包括图形合成模块,该图形合成模块用于将前景图像和调整后的目标背景图像,合成为屏幕的第二待显示画面;该装置还包括送显模块,用于在屏幕旋转过程中,将第二待显示画面传输至显示驱动,驱动在屏幕上显示每一帧所述第二待显示画面。
[0217] 在一些实施例中,处理模块112还用于计算前景图像中的所有参考点的第一颜色值的平均值,将背景图像中的所有待调整背景点的颜色值调整为第一颜色值的平均值,得到调整后的目标背景图像。
[0218] 在一些实施例中,处理模块112还用于根据前景图像中的预设边缘区域的参考点第一颜色值,计算待调整背景点对应的第二颜色值;将待调整背景点的颜色值调整为第二颜色值,得到目标背景图像。
[0219] 在一些实施例中,处理模块112还用于根据第一待显示画面的前景图像中或背景图像中的参考点的初始颜色值和最终颜色值,调整待调整背景点的颜色值,得到调整后的目标背景图像;其中,初始颜色值为屏幕旋转开始时颜色值调整前的第一帧待显示画面的颜色值,最终颜色值为屏幕旋转结束时颜色值调整前的最后一帧待显示画面的颜色值,背景图像的第一颜色值包括初始颜色值和最终颜色值。
[0220] 需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0221] 所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0222] 本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
[0223] 本申请实施例提供了一种计算机程序产品,当计算机程序产品在移动终端上运行时,使得移动终端执行时实现可实现上述各个方法实施例中的步骤。
[0224] 在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0225] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
[0226] 在本申请所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0227] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0228] 以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。