本技术涉及终端,尤其涉及图像处理方法、电子设备、存储介质及芯片系统。
背景技术:
1、一些电子设备中可以支持图像预览、拍照、摄像等功能。其中,图像预览场景可以包括拍照前界面显示的图像预览的场景,还可以包括摄像时界面显示的图像预览的场景。
2、然而,在一些图像预览场景中,电子设备可能会出现界面卡顿的问题,降低了用户体验。
技术实现思路
1、本技术实施例提供的图像处理方法、电子设备、存储介质及芯片系统,可以统计各个检测算法的执行情况、各个检测算法所配置的优先级、各个检测算法所配置的动态可变帧率,以及电子设备的运行状态等,综合决策检测算法的执行。这样,电子设备在执行各个检测算法时,可以减少调用硬件资源时产生冲突的情况,提升图像预览的流畅性,从而提升用户体验。
2、第一方面,本技术实施例提供一种图像处理方法,应用于电子设备,方法包括:
3、第一时刻,电子设备的系统性能等级为第一等级,执行n个图像处理算法中的m个图像处理算法;其中,m个图像处理算法的执行优先级高于n个图像处理算法中其余的图像处理算法的执行优先级,n为大于1的整数,m为小于或等于n的正整数;第二时刻,电子设备的系统性能等级为第二等级,执行n个图像处理算法中的l个图像处理算法;其中,l个图像处理算法的执行优先级高于n个图像处理算法中其余的图像处理算法的执行优先级,l为大于或等于0,且小于m的整数,第一等级对应的系统性能高于第二等级对应的系统性能。这样,电子设备在执行各个检测算法时,可以减少调用硬件资源时产生冲突的情况,提升图像预览的流畅性,从而提升用户体验。
4、一种可能的实现方式中,执行n个图像处理算法中的m个图像处理算法之前,还包括:调整n个图像处理算法的执行优先级;基于调整后的n个图像处理算法的执行优先级和电子设备的系统性能等级,确定执行m个图像处理算法。电子设备基于多个检测算法的优先级以及电子设备的系统性能,确定所要执行的图像处理算法。这样,可以减少调用硬件资源时产生冲突的情况,使得图像预览场景中,电子设备的界面能够均匀连续的显示图像,画面连续且无卡顿。
5、一种可能的实现方式中,电子设备中配置有n个图像处理算法的预设优先级、执行频率的最大值和执行频率的最小值,调整n个图像处理算法的执行优先级,包括:若电子设备中已有连续k帧未执行目标图像处理算法,则在目标图像处理算法的预设优先级的基础上,提升目标图像处理算法的执行优先级;其中,n个图像处理算法中包括目标图像处理算法,k小于目标图像处理算法的执行频率的最大值,且k大于目标图像处理算法的执行频率的最小值。电子设备可以根据各个算法的实际执行情况来确定算法的优先级,对于已有连续k帧未执行目标图像处理算法,电子设备可以提高算法的执行优先级。这样,可以使得每个算法都可以在合理的时间内得到执行,及时更新算法的检测结果,提升图像处理的准确性。
6、一种可能的实现方式中,k越接近目标图像处理算法的执行频率的最大值,目标图像处理算法的执行优先级越高。k越接近目标图像处理算法的执行频率的最大值,说明连续未执行目标图像处理算法的帧数越多,电子设备未执行目标图像处理算法的时间越长。对于连续多帧未执行的图像处理算法,可以提高算法的优先级。这样,可以尽快的使得该算法得到执行,从而合理的调度电子设备中的多个图像处理算法。
7、一种可能的实现方式中,调整n个图像处理算法的执行优先级,包括:若目标图像处理算法的执行依赖于n个图像处理算法中的其他一个或多个图像处理算法的执行结果,则将目标图像处理算法和一个或多个图像处理算法调整为相同的优先级。这样,将有依赖关系的算法调整为相同的优先级,这样可以不影响和阻塞算法的执行,提高算法的执行效率。
8、一种可能的实现方式中,电子设备中配置有系统性能等级与可执行图像处理算法的最大数量的对应关系,基于调整后的n个图像处理算法的执行优先级和电子设备的系统性能等级,确定执行m个图像处理算法,包括:根据n个图像处理算法的执行优先级,对n个图像处理算法中的前i个图像处理算法的第一预设时长进行累加,得到执行总时长,其中,i为小于n的正整数,第i个图像处理算法的第一预设时长是基于第i个图像处理算法之前多次执行时长所确定的;在执行总时长大于第二预设时长,且i-1大于第一等级对应的可执行图像处理算法的最大数量的情况下,确定执行m个图像处理算法,其中,m等于第一等级对应的可执行图像处理算法的最大数量;在执行总时长大于第二预设时长,且i-1小于第一等级对应的可执行图像处理算法的最大数量的情况下,确定执行m个图像处理算法,其中,m等于i-1。将第二预设时长设置为每帧图像的显示时长,这样,电子设备可以在显示一帧图像的时间内,先执行优先级较高的检测算法,使得电子设备可以基于优先级高检测算法的检测结果对图像进行处理,得到更好的图像显示效果。
9、一种可能的实现方式中,若m个图像处理算法中的第一图像处理算法的执行时长超出第一图像处理算法的第一预设时长,则不执行m个图像处理算法中的一个或多个图像处理算法,一个或多个图像处理算法的执行优先级低于第一图像处理算法的执行优先级。当第一图像处理算法的执行时长超出第一图像处理算法的第一预设时长时,说明第一图像处理算法所执行的时长超出该算法对应的预测时长,则优先级较低的算法没有时间去执行,因此,可以不执行优先级较低的检测算法。这样,可以降低对电子设备的运行性能的影响,减少电子设备的卡顿,且不执行优先级较低的检测算法,可以尽可能的降低对图像显示的影响,从而不影响用户体验。
10、一种可能的实现方式中,第一等级对应的系统性能高于第二等级对应的系统性能包括:第一等级对应的电子设备中的器件的频率利用率低于第二等级对应的器件的频率利用率,和/或,第一等级对应的器件的温度低于第二等级对应的器件的温度;其中,器件包括与执行图像处理算法相关的器件。考虑电子设备所处的最差的系统环境来确定系统性能,这样,在执行图像处理算法时,可以有效的控制执行算法的个数,使得电子设备的性能不会变的更差,从而有效的维持电子设备的运行效率。
11、一种可能的实现方式中,器件包括中央处理器cpu、图像处理器gpu,和/或神经网络处理器npu。这样,中央处理器cpu可以用于提供高性能的计算能力,快速地对图像进行处理,还可以与图像处理器gpu以及神经网络处理器npu协同工作,从而进一步提升图像处理的速度和性能。图像处理器gpu可以用于进行图像增强、渲染、降噪等处理,还可以提升图像处理速度,缩短图像处理时间,从而提高电子设备的运行效率。神经网络处理器npu可以用于进行图像识别、语音识别等处理,在处理神经网络计算时可以具有更高的执行效率,能够提高电子设备的运行效率并减少功耗。
12、一种可能的实现方式中,n个图像处理算法包括下述的一种或多种算法:人脸检测算法、人脸追焦算法、主体检测算法、运动检测算法、场景检测算法、画质评估算法。人脸检测算法可以用于检测人脸,并输出人脸检测结果。人脸追焦算法可以基于前几帧的人脸检测结果对当前帧进行修正,从而减少图像出现抖动的情况。主体检测算法可以用于识别和定位图像中的对象或主体,在识别出主体类别后,可以对图像进行分类。运动检测算法可以根据多张图像来检测当前的拍摄场景中,是否存在运动目标,从而电子设备可以向用户提供更合适的拍摄模式。场景检测算法可以用于检测当前的拍摄场景。画质评估算法可以对当前图像的画质进行评估。这样,图像处理算法可以识别和分类图像中的对象和特征,对图像进行增强处理,使得图像有更好的显示效果,从而提升用户体验。
13、第二方面,本技术实施例提供一种图像处理的装置,该装置可以是电子设备,也可以是电子设备内的芯片或者芯片系统。该装置可以包括处理单元。处理单元用于实现第一方面或第一方面的任意一种可能的实现方式中电子设备执行的与处理相关的任意方法。当该装置是电子设备时,该处理单元可以是处理器。该装置还可以包括存储单元,该存储单元可以是存储器。该存储单元用于存储指令,该处理单元执行该存储单元所存储的指令,以使该电子设备实现第一方面或第一方面的任意一种可能的实现方式中描述的一种方法。当该装置是电子设备内的芯片或者芯片系统时,该处理单元可以是处理器。该处理单元执行存储单元所存储的指令,以使该电子设备实现第一方面或第一方面的任意一种可能的实现方式中描述的一种方法。该存储单元可以是该芯片内的存储单元(例如,寄存器、缓存等),也可以是该电子设备内的位于该芯片外部的存储单元(例如,只读存储器、随机存取存储器等)。
14、示例性的,处理单元,用于执行n个图像处理算法中的m个图像处理算法;还用于执行n个图像处理算法中的l个图像处理算法。
15、一种可能的实现方式中,处理单元,用于调整n个图像处理算法的执行优先级,还用于基于调整后的n个图像处理算法的执行优先级和电子设备的系统性能等级,确定执行m个图像处理算法。
16、一种可能的实现方式中,处理单元,用于在目标图像处理算法的预设优先级的基础上,提升目标图像处理算法的执行优先级。
17、一种可能的实现方式中,k越接近目标图像处理算法的执行频率的最大值,目标图像处理算法的执行优先级越高。
18、一种可能的实现方式中,处理单元,用于将目标图像处理算法和一个或多个图像处理算法调整为相同的优先级。
19、一种可能的实现方式中,处理单元,用于根据n个图像处理算法的执行优先级,对n个图像处理算法中的前i个图像处理算法的第一预设时长进行累加,得到执行总时长,还用于确定执行m个图像处理算法。
20、一种可能的实现方式中,若m个图像处理算法中的第一图像处理算法的执行时长超出第一图像处理算法的第一预设时长,则不执行m个图像处理算法中的一个或多个图像处理算法。
21、一种可能的实现方式中,第一等级对应的系统性能高于第二等级对应的系统性能包括:第一等级对应的电子设备中的器件的频率利用率低于第二等级对应的器件的频率利用率,和/或,第一等级对应的器件的温度低于第二等级对应的器件的温度;其中,器件包括与执行图像处理算法相关的器件。
22、一种可能的实现方式中,器件包括中央处理器cpu、图像处理器gpu,和/或神经网络处理器npu。
23、一种可能的实现方式中,处理单元,用于n个图像处理算法包括下述的一种或多种算法:人脸检测算法、人脸追焦算法、主体检测算法、运动检测算法、场景检测算法、画质评估算法。
24、第三方面,本技术实施例提供一种电子设备,包括一个或多个处理器和存储器,存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器用于调用计算机指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
25、第四方面,本技术实施例提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序或指令,当计算机程序或指令在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
26、第五方面,本技术实施例提供一种包括计算机程序的计算机程序产品,当计算机程序在计算机上运行时,使得计算机执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。
27、第六方面,本技术提供一种芯片或者芯片系统,该芯片或者芯片系统包括至少一个处理器和通信接口,通信接口和至少一个处理器通过线路互联,至少一个处理器用于运行计算机程序或指令,以执行第一方面或第一方面的任意一种可能的实现方式中描述的方法。其中,芯片中的通信接口可以为输入/输出接口、管脚或电路等。
28、在一种可能的实现中,本技术中上述描述的芯片或者芯片系统还包括至少一个存储器,该至少一个存储器中存储有指令。该存储器可以为芯片内部的存储单元,例如,寄存器、缓存等,也可以是该芯片的存储单元(例如,只读存储器、随机存取存储器等)。
29、应当理解的是,本技术的第二方面至第六方面与本技术的第一方面的技术方案相对应,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。