一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

功耗控制方法、装置、终端及存储介质与流程

2023-02-19 02:07:50 来源:中国专利 TAG:


1.本技术实施例涉及图像处理领域,特别涉及一种功耗控制方法、装置、终端及存储介质。


背景技术:

2.拍摄功能作为终端中使用频率较高的功能之一,方便用户随时随地通过照片或视频记录事件。
3.拍摄过程中,图像传感器将采集到的原始图像数据传输至应用处理器(application processor,ap),由ap对原始图像数据进行降噪、白平衡、曝光等处理,从而对处理后的图像进行显示。为了进一步提高拍摄质量,相关技术中,图像传感器与ap之间设置协处理器(coprocessor chip,cc),从而利用协处理器对原始图像数据进行图像预处理。然而,由于协处理器中包括双倍速率同步动态随机存储器(double data rate sdram,ddr sdram)、移动工业处理器接口(mobile industry processor interface,mipi)以及神经网络芯片(neural-network processing unit,npu)等组件,导致终端的整机功耗过高。


技术实现要素:

4.本技术实施例提供了一种功耗控制方法、装置、终端及存储介质。所述技术方案如下:
5.一方面,本技术实施例提供了一种功耗控制方法,所述方法包括:
6.在拍摄功能处于开启状态的情况下,基于硬件温度,从至少两级温控等级中确定目标温控等级;
7.获取所述目标温控等级对应的目标功耗控制策略,其中,不同温控等级对应不同功耗控制策略,且不同功耗控制策略对功耗的影响程度不同;
8.基于所述目标功耗控制策略,对协处理器进行功耗控制,所述协处理器用于对图像传感器输出的原始图像数据进行预处理,并向应用处理器ap传输预处理后的图像数据。
9.另一方面,本技术实施例提供了一种功耗控制装置,所述装置包括:
10.等级确定模块,用于在拍摄功能处于开启状态的情况下,基于硬件温度,从至少两级温控等级中确定目标温控等级;
11.策略确定模块,用于获取所述目标温控等级对应的目标功耗控制策略,其中,不同温控等级对应不同功耗控制策略,且不同功耗控制策略对功耗的影响程度不同;
12.第一功耗控制模块,用于基于所述目标功耗控制策略,对协处理器进行功耗控制,所述协处理器用于对图像传感器输出的原始图像数据进行预处理,并向应用处理器ap传输预处理后的图像数据。
13.另一方面,本技术实施例提供了一种终端,所述终端包括:图像传感器、协处理器、处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现如上述方面所述的功耗控制方法。
14.另一方面,本技术实施例提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现上述方面所述的功耗控制方法。
15.另一方面,本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的功耗控制方法。
16.本技术实施例提供的技术方案可以带来如下有益效果:
17.本技术实施例中,当终端设置有用于对图像传感器输出的原始图像数据进行预处理的协处理器时,通过设计多级温控等级,并为不同温控等级设置对应的功耗控制策略,从而在拍摄过程中,基于硬件温度确定当前温控等级,进而基于当前温控等级对应的功耗控制策略对协处理器进行功耗控制,在保证图像预处理质量的情况下,避免因过高功耗导致温度过高的问题,达到兼顾图像处理质量与运行功耗的效果。
附图说明
18.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1示出了本技术一个示例性实施例提供的终端的结构方框图;
20.图2是图像传感器、协处理器以及处理器之间数据传输过程的示意图;
21.图3示出了本技术一个示例性实施例提供的功耗控制方法的流程图;
22.图4是本技术一个示例性实施例示出的功耗控制过程的实施示意图;
23.图5示出了本技术另一个示例性实施例提供的功耗控制方法的流程图;
24.图6是本技术一个示例性实施例示出的协处理器以及应用处理器上软件的软件架构图;
25.图7是本技术一个示例性实施例示出的协处理器初始化参数设置过程的流程图;
26.图8示出了本技术另一个示例性实施例提供的功耗控制方法的流程图;
27.图9是本技术一个示例性实施例示出的动态切换过程的流程图;
28.图10是本技术一个示例性实施例示出的静态切换过程的流程图;
29.图11示出了本技术一个实施例提供的功耗控制装置的结构框图。
具体实施方式
30.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
31.请参考图1,其示出了本技术一个示例性实施例提供的终端的结构方框图。本技术中的终端可以包括一个或多个如下部件:处理器110、存储器120、图像传感器130以及协处理器140。
32.处理器110可以包括一个或者多个处理核心(或被称为ap)。处理器110利用各种接
口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器120内的指令、程序、代码集或指令集,以及调用存储在存储器120内的数据,执行终端的各种功能和处理数据。可选地,处理器110可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。处理器110可集成cpu、图像处理器(graphics processing unit,gpu)、调制解调器和图像信号处理器(image signal processor,isp)等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责触摸显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信;isp用于进行图像处理(比如坏点校正、时域降噪、3d降噪、白平衡、自动曝光等等)。可以理解的是,上述调制解调器也可以不集成到处理器110中,单独通过一块通信芯片进行实现。
33.存储器120可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory,rom)。可选地,该存储器120包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器120可用于存储指令、程序、代码、代码集或指令集。存储器120可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于实现至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等,该操作系统可以是安卓(android)系统(包括基于android系统深度开发的系统)、苹果公司开发的ios系统(包括基于ios系统深度开发的系统)或其它系统。存储数据区还可以存储终端在使用中所创建的数据(比如电话本、音视频数据、聊天记录数据)等。本技术实施例中,存储器120中存储有至少一条指令,该至少一条指令用于被处理器110执行以执行如下述实施例中的功耗控制方法。
34.图像传感器130(camera sensor)是由感光元件构成的传感器,用于输出原始(raw)图像数据。通常情况下,图像传感器130与摄像头一体,当开启拍摄功能时,图像传感器130即输出摄像头拍摄到的图像的原始图像数据,交由后续的处理组件处理。
35.协处理器(coprocessor chip,cc)140是独立于处理器110的处理器,用于辅助处理器110进行数据处理。本技术实施例中,协处理器140分别与处理器110以及图像传感器130相连,用于对图像传感器130输出的原始图像数据进行预处理,并将预处理得到的图像数据传输至处理器110,由处理器110进行进一步处理。
36.示意性的,如图2所示,协处理器140中设置有isp 141、npu 142以及ddr缓存143以及idi 144(image data interface,图像数据接口)。协处理器140通过mipi rx(mipi接收器)从图像传感器130处接收到原始图像数据后,isp 141调用idi 144获取原始图像数据,并对原始图像数据进行处理后写入ddr缓存143。npu 142从ddr缓存143中读取图像数据后,对图像数据进行ai处理,进而调用idi 144,通过mipi tx(mipi发送器)将处理后的图像数据传输至处理器110。
37.可选的,终端还可以包括用于图像显示的显示屏。其可以为触摸显示屏,该触摸显示屏用于接收用户使用手指、触摸笔等任何适合的物体在其上或附近的触摸操作,以及显示各个应用程序的用户界面。触摸显示屏通常设置在终端的前面板。触摸显示屏可被设计成为全面屏、曲面屏或异型屏。触摸显示屏还可被设计成为全面屏与曲面屏的结合,异型屏与曲面屏的结合,本技术实施例对此不加以限定。
38.除此之外,本领域技术人员可以理解,上述附图所示出的终端的结构并不构成对终端的限定,终端可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。比如,终端中还包括射频电路、拍摄组件、传感器、音频电路、电源等部件,在此不再赘述。
39.通过设置独立于ap的协处理器,并利用协处理器对图像传感器输出的原始图像进行预处理,有助于提高图像拍摄质量。但是由于协处理器中包含dsp、ddr缓存、mipi以及npu等组件,而部分组件(比如npu)在运行过程中的功耗较高,因此会造成整机运行功耗升高。同时,运行功耗升高可能会造成终端整机温度过高,进而导致拍摄过程中无法长时间使用协处理器。
40.为了兼顾图像处理质量与运行功耗,本技术实施例中,终端设置有多级温控等级,且不同温控等级对应设置有不同功耗控制策略。拍摄过程中,终端基于硬件温度确定当前温控等级,并基于当前温控等级对应的功耗控制策略对协处理器进行功耗控制,在保证图像预处理质量的情况下,避免因过高功耗导致温度过高的问题。下面采用示例性的实施例对功耗控制过程进行说明。
41.请参考图3,其示出了本技术一个示例性实施例提供的功耗控制方法的流程图,该方法包括:
42.步骤301,在拍摄功能处于开启状态的情况下,基于硬件温度,从至少两级温控等级中确定目标温控等级。
43.由于协处理器用于在拍摄过程中对原始图像数据进行预处理,因此本实施例中,终端在拍摄功能处于开启状态时进行功耗控制;若拍摄功能处于关闭状态则无需进行功耗控制。可选的,终端在拍摄功能开启时进行功耗控制,或者,终端在拍摄功能运行过程中进行功耗控制。
44.由于终端的硬件温度能够反映功耗情况,且相较于测量功耗,测量温度的难度更低,因此本实施例中,终端基于硬件温度确定目标温控等级,进而基于目标温控等级确定如何进行功耗控制,而非直接基于终端功耗进行功耗控制。
45.可选的,该硬件温度为处于工作状态的硬件的平均温度。
46.在一些实施例中,终端预先设置有至少两级温控等级,其中,不同温控等级对应不同的硬件温度区间,拍摄过程中,终端即根据硬件温度所属的硬件温度区间,从至少两级温控等级中确定出目标温控等级。可选的,温控等级与硬件温度呈正相关关系,即硬件温度越高,对应的温控等级越高。
47.在一个示例性的例子中,终端将4级温控等级中的第2级温控等级确定为目标温控等级。本技术实施例并不对温控等级的级数构成限定。
48.步骤302,获取目标温控等级对应的目标功耗控制策略,其中,不同温控等级对应不同功耗控制策略,且不同功耗控制策略对功耗的影响程度不同。
49.在一种可能的实施方式中,预先针对不同温控等级设置对应的功耗控制策略,其中,不同功耗控制策略对功耗的影响程度不同,且温控等级越高,采用该温控等级对应的功耗控制策略后,终端功耗的下降程度越高。
50.可选的,功耗控制策略用于指示对拍摄相关的硬件进行功耗控制,其中,拍摄相关的硬件包括图像传感器、协处理器以及ap中的至少一种。比如,功耗控制策略用于指示仅对
协处理器进行功耗控制,或者,功耗控制策略用于指示同时对协处理器以及ap进行功耗控制。
51.在一种可能的实施方式中,目标功耗控制策略中包含功耗控制参数,该功耗控制参数可以包括硬件开关指示参数(指示是否启用协处理器中的硬件)、算法开关指示参数(指示是否运行相应的算法)、分辨率参数、帧率参数、模型参数(图像处理过程中采用的模型)、cpu/gpu计算资源参数等等,本技术实施例对此不作限定。
52.在一个示意性的例子中,终端设置有4级温控等级,且不同温控等级与功耗控制策略之间的对应关系如表一所示。
53.表一
[0054][0055]
步骤303,基于目标功耗控制策略,对协处理器进行功耗控制,协处理器用于对图像传感器输出的原始图像数据进行预处理,并向ap传输预处理后的图像数据。
[0056]
在一种可能的实施方式中,终端基于目标功耗控制策略中与协处理器相关的功耗控制参数,对协处理器进行功耗控制,以降低协处理器的功耗(降低预处理质量)或者提升协处理器的功耗(提高预处理质量)。
[0057]
在一种可能的场景下,拍摄过程中,当硬件温度较高时,基于确定出的目标功耗控制策略,协处理器在预处理图像时仅运行部分算法,以此降低协处理器的功耗,进而降低硬件温度;当硬件温度较低时,基于确定出的目标功耗控制策略,协处理器在预处理图像时采用模型参数更多的神经网络模型,有助于提高图像预处理质量。
[0058]
可选的,除了对协处理器进行功耗控制外,终端还可以基于目标功耗控制策略,对ap的isp芯片进行功耗控制。在一些实施例中,可以在功耗控制策略中加入ap端isp的功能开关控制与影像后处理的控制。这些控制加入,可以覆盖整个拍摄流程(camera pipeline),使图像处理效果和功耗控制更加合理。
[0059]
综上所述,本技术实施例中,当终端设置有用于对图像传感器输出的原始图像数据进行预处理的协处理器时,通过设计多级温控等级,并为不同温控等级设置对应的功耗控制策略,从而在拍摄过程中,基于硬件温度确定当前温控等级,进而基于当前温控等级对应的功耗控制策略对协处理器进行功耗控制,在保证图像预处理质量的情况下,避免因过高功耗导致温度过高的问题,达到兼顾图像处理质量与运行功耗的效果。
[0060]
关于温控等级与功耗控制策略间对应关系的确定方式,在一种可能的实施方式中,开发人员采用k-means(k均值)聚类算法对不同功耗控制策略下的图像处理功耗以及图像处理质量进行聚类,从而根据聚类结果生成温控等级与功耗控制策略之间的对应关系。可选的,该过程可以包括如下步骤:
[0061]
1、确定功耗控制子策略,作为k-means的输入集d={x1,x2,

,xm},例如,关闭
npu、关闭isp、选择图像处理算法、降低分辨率、降低帧率、选择神经网络模型、降低cpu/gpu计算资源等等。
[0062]
2、确定各种功耗控制策略在图像处理功耗以及图像处理质量两个维度上的量化评价指标。
[0063]
3、以图像处理功耗和图像处理质量为平面坐标系的横纵轴,采用k-means聚类算法,对功耗控制策略进行聚类直至收敛,得到若干个类簇。
[0064]
4、基于类簇中的功耗控制策略,生成温控等级与功耗控制策略之间的对应关系。
[0065]
当然,在其他可能的实施方式中,终端可以对用户使用特征进行分析,从而生成符合用户使用特征的功耗控制策略(比如可以通过ai方式生成),满足用户的个性化需求。其中,在收集到的用户使用特征较少时,可以通过k-means聚类方式,在收集到的用户使用特征满足需求时,切换采用ai方式。
[0066]
在一种可能的实施方式中,在终端设置有统一温控机制(用于基于终端温度进行统一温控决策)的情况下,添加协处理器后,需要在协处理器外添加负温度系数(negative temperature coefficient,ntc)热电偶,从而利用ntc热电偶测量协处理器的处理器温度,进而基于处理器温度以及其他硬件的温度模拟出终端温度(壳温),以便基于终端温度进行统一温控决策。相应的,得到统一温控决策结果后,终端将协处理器作为统一温控的控制项之一,对其进行功耗控制。
[0067]
此外,除了基于统一温控决策结果进行功耗控制外,终端还需要基于协处理器自身的处理器温度,确定协处理器是否存在结温异常,进而基于协处理器结温决策结果进行功耗控制。
[0068]
示意性的,如图4所示,功耗控制过程中,终端将统一温控和/或协处理器结温作为输入,通过等级映射得到温控等级,然后基于温控等级从功耗控制策略库中确定出功耗控制策略,并基于当前拍摄场景对功耗控制策略进行特殊情况处理(功耗控制策略可能和当前拍摄场景有所冲突,需要排除功耗控制策略中一些无法执行的操作),最终基于处理后的功耗控制策略控制协处理进行功耗控制(例如帧率控制、场景选择、协处理器参数设置等等)。
[0069]
在一些实施例中,由于协处理器在拍摄功能开启之前并未进行图像预处理(即处于非工作状态),因此在拍摄功能开启时,终端进行温控决策时,只需要基于终端温度进行统一温控决策,无需基于协处理器的结温决策结果进行功耗控制;而在拍摄功能运行过程中,由于协处理器处于工作状态,因此终端需要基于统一温控以及协处理器结温决策进行功耗控制。下面分别采用示例性实施例对上述两种场景进行说明。
[0070]
请参考图5,其示出了本技术另一个示例性实施例提供的功耗控制方法的流程图,该方法包括:
[0071]
步骤501,响应于拍摄功能开启指令,基于硬件温度确定终端温度。
[0072]
在一种可能的实施方式中,当接收到拍摄功能开启指令时,终端基于各硬件的硬件温度,模拟出终端温度(壳温),以便后续基于终端温度确定统一温控决策。本技术实施例并不对基于硬件温度模拟出终端温度的具体算法进行限定。
[0073]
可选的,由于协处理器在拍摄功能未开启处于非工作状态,因此在确定终端温度时,终端可以基于协处理器以外硬件的硬件温度确定终端温度。
[0074]
步骤502,基于终端温度从至少两级温控等级中确定目标温控等级。
[0075]
在一种可能的实施方式中,统一温控决策用于基于终端温度确定终端的功耗等级(power level),而功耗等级与本技术实施例中的温控等级(thermal policy level)并非一一对应,因此需要一种机制将终端的功耗等级映射为温控等级。
[0076]
可选的,本步骤可以包括如下步骤:
[0077]
一、基于终端温度确定当前功耗等级。
[0078]
可选的,终端中设置有统一温控决策模块,该模块用于基于终端温度确定功耗等级。在一些实施例中,统一温控决策模块中设置有功耗等级与终端温度范围之间的对应关系,获取到终端温度后,终端即根据终端温度所属的终端温度范围区间,确定当前功耗等级。本技术实施例并不对基于终端温度确定功耗等级的具体方式进行限定。
[0079]
二、基于功耗等级与温控等级之间的映射关系,确定当前功耗等级对应的目标温控等级。
[0080]
在一种可能的实施方式中,终端设置有功耗等级与温控等级之间的映射关系,确定出当前功耗等级后,终端即从上述映射关系中确定出当前功耗等级对应的目标温控等级。其中,该映射关系可以由开发人员预先设置在终端中,并支持更新。
[0081]
在一个示意性的例子中,功耗等级与温控等级之间的映射关系如表二所示。
[0082]
表二
[0083]
功耗等级温控等级level1、level2level1level2、level4、level5level2level6level3
[0084]
比如,当统一温控决策模块确定当前功耗等级为level2时,终端基于表二所示的映射关系,确定目标温控等级为level1。
[0085]
除了在拍摄功能开启时,实时确定终端温度,进而基于终端温度确定目标温控等级外,在其他可能的实施方式中,拍摄功能未开启时,统一温控决策模块周期性确定功耗等级,当接收到拍摄功能开启指令时,终端即根据最近一次确定出的功耗等级确定温控等级,本实施例对此不作限定。
[0086]
步骤503,获取目标温控等级对应的目标功耗控制策略。
[0087]
本步骤的实施方式可以参考上述步骤302,本实施在此不再赘述。
[0088]
步骤504,基于目标功耗控制策略设置协处理器的初始工作参数,其中,不同工作参数下协处理器的功耗不同。
[0089]
由于拍摄功能启动后,协处理器需要开始进行图像预处理,因此终端基于目标功耗控制策略对协处理器进行初始工作参数设置。其中,不同工作参数下,协处理器的功耗不同,相应的,不同工作参数下,协处理器的图像预处理效果存在差异。
[0090]
当然,除了对协处理器进行初始化设置外,终端还可以对图像传感器等拍摄相关硬件进行初始化设置,本实施例对此不作限定。
[0091]
结合表一所示的数据,当目标温控等级为level0时,终端设置协处理器开启npu的ainr(ai降噪)功能、isp的3dnr(3d降噪)功能;而当目标温控等级为level3时,终端设置协处理器的npu的ainr(ai降噪)功能以及isp的3dnr(3d降噪)功能均不开启。
[0092]
如图6所示,其示出了协处理器以及应用处理器(ap)上运行软件的软件架构图。其中,左侧的explorer为运行在协处理器上的软件,而右侧则为运行在应用处理器上的软件。
[0093]
explorer可以分为services(服务)层、kernel(内核)层以及hal(硬件抽象层)层,其中,services层包括isp service(isp服务)、thermal manager(热管理)服务、power manager(功耗管理)服务;kernel层包括rt thread(实时线程)、component(部件)和驱动(driver),该驱动包括t-sensor(温度传感器)驱动和isp驱动;hal层用于对t-sensor和isp进行抽象化。
[0094]
应用处理器侧,从上之下依次为ap&fwk(应用层和框架层)、powermanager(功耗管理)、camera2(相机)、thermalmanagerservice(热管理服务)、cameraservice(相机服务)、thermal hal、camera hal、thermal sensor和camera driver。其中,统一温控模块中包含events receiver(事件接收器)以及strategt&action(策略和执行)。
[0095]
mms中,mms(java)sdk中设置有与strategt&action进行交互的mms(java)manager。mms(java)中设置有与mms(java)manager交互的mms(java)core,以及client manager(客户端管理)、power controller(功耗控制)以及wakeup controller(唤醒控制)。mms(c )sdk中设置有与mms(java)core交互的mms(c )manager。mms(c )中设置有与mms(c )manager交互的mms(c )core,以及explorer hal。explorer hal中设置有powermanager/thermal policy(功耗管理/温控策略)以及scene manager(场景管理),并通过explorer driver与explorer进行交互。
[0096]
在图6所示的软件架构下,在一个示意性的实施例中,如图7所示,初始化协处理器工作参数的过程可以包括如下步骤。
[0097]
步骤701,统一温控将功耗等级(power level)发送至explorer hal。
[0098]
相应的,explorer hal对接收到的功耗等级进行存储。
[0099]
步骤702,camera hal进行配置流(configstreams)操作。
[0100]
当接收到拍摄功能开启指令时,camera hal进行配置流操作。
[0101]
步骤703,mms将配置流操作传递至explorer hal。
[0102]
步骤704,explorer hal获取最近存储的功耗等级(get last power level stored)。
[0103]
步骤705,explorer hal进行状态收集(status collection)。
[0104]
步骤706,explorer hal在决策(strategy)阶段确定功耗等级对应的温控等级。
[0105]
步骤707,explorer hal确定进入温控等级level1(make decision to enter level1)。
[0106]
步骤708,explorer hal基于温控等级level1对应的工作参数启动协处理器(start explore with level1 config)。
[0107]
请参考图8,其示出了本技术另一个示例性实施例提供的功耗控制方法的流程图,该方法包括:
[0108]
步骤801,在拍摄功能运行过程中,基于硬件温度确定终端温度。
[0109]
由于协处理器在拍摄功能运行过程中进行图像预处理,因此终端需要获取协处理器以及其他硬件的硬件温度,进而模拟出终端温度。
[0110]
步骤802,基于终端温度和协处理器的处理器温度,从至少两级温控等级中确定目
标温控等级。
[0111]
在一种可能的实施方式中,触发温控等级调整可以包括两种情况:1、统一温控下发的功耗等级发生变化;2、协处理器的结温异常。因此,在确定目标温控等级时,终端需要基于终端温度和协处理器的处理器温度分别确定对应的温控等级,并从中确定出目标温控等级。可选的,本步骤可以包括如下子步骤。
[0112]
步骤802a,基于终端温度确定当前功耗等级。
[0113]
步骤802b,基于功耗等级与温控等级之间的映射关系,确定当前功耗等级对应的第一温控等级。
[0114]
步骤802a至802b的实施方式可以参考步骤502,本实施例在此不再赘述。
[0115]
步骤802c,基于处理器温度从至少两级温控等级中确定第二温控等级。
[0116]
除了需要确定针对终端整体的第一温控等级外,终端还需要基于处理器温度确定针对协处理器的第二温控等级。在一种可能的实施方式中,终端中设置有处理器温度范围与温控等级之间的对应关系,终端即将处理器温度所属处理器温度范围对应的温控等级确定为第二温控等级。
[0117]
在一些实施例中,为了避免处理器温度过高,基于处理器温度确定第二温控等级时,终端首先检测处理器温度是否低于温度阈值,该温度阈值为协处理器的硬件保护阈值。若处理器温度低于温度阈值,则确定处理器温度正常,进而基于处理器温度确定第二温控等级;若处理器温度高于温度阈值,若继续运行可能会造成协处理器损坏,因此终端关闭协处理器。
[0118]
步骤802d,从第一温控等级和第二温控等级中确定目标温控等级。
[0119]
可选的,当第一温控等级与第二温控等级不一致时,终端将两者中较高的温控等级确定为目标温控等级,其中,温控等级与对功耗的影响程度呈正相关关系,即温控等级越高,采用该温控等级对应的功耗控制策略后功耗下降越明显,相应的,终端的温度下降越明显。
[0120]
在一种可能的实施方式中,响应于第一温控等级高于第二温控等级,将第一温控等级确定为目标温控等级;响应于第一温控等级低于第二温控等级,将第二温控等级确定为目标温控等级。
[0121]
示意性的,基于终端温度确定出的第一温控等级为level1,而基于处理器温度确定出的第二温控等级为level2时(协处理器的功耗过高,而其他硬件的功耗正常),终端将目标温控等级确定为level2,即需要通过level2对应的功耗控制策略对协处理器进行功耗控制。
[0122]
步骤803,获取目标温控等级对应的目标功耗控制策略。
[0123]
本步骤的实施方式可以参考上述步骤302,本实施在此不再赘述。
[0124]
步骤804,确定当前功耗控制策略。
[0125]
拍摄功能运行过程中,将当前功耗控制策略调整为目标功能控制策略时,由于并非所有的控制项目均支持动态调整,比如,当需要调整图像传感器的分辨率时,需要重新进行流配置,因此在一种可能的实施方式中,终端需要检测当前功耗控制策略与目标功耗控制策略之间是否支持动态切换,若支持,则执行步骤805,若不支持,则执行步骤806。
[0126]
步骤805,响应于当前功耗控制策略与目标功耗控制策略之间支持动态切换,调整
协处理器的工作参数。
[0127]
在一些实施例中,为了避免重新进行流配置,当需要基于目标功耗控制策略对部分需要进行流配置的控制项目进行调整时,协处理器可以通过自身特有的能力调整流程或参数,以实现相近的调整效果。
[0128]
在一种可能的实施方式中,当目标功耗控制策略指示需要对图像传感器的输出参数(比如降低分辨率和帧率)进行调整时,若直接对图像传感器进行调整,需要重新对图像传感器进行流配置。为了避免重新流配置,协处理器可以通过自身的resize(大小调整)和buffer(缓冲区)控制功能对图像传感器输出的原始图像数据进行处理,达到降低图像分辨率和帧率的效果。可选的,本步骤可以包括如下子步骤。
[0129]
步骤805a,响应于当前功率控制策略指示的图像分辨率为第一分辨率,且目标功率控制策略指示的图像分辨率为第二分辨率,控制协处理器开启分辨率调整模式,第一分辨率高于第二分辨率。其中,分辨率调整模式下,协处理器用于对图像传感器输出的原始图像数据进行降分辨率处理。
[0130]
当基于当前功率控制策略和目标功率控制策略确定需要下调图像分辨率时(可能因当前分辨率过高导致需要协处理器的处理量过大,因此需要降低分辨率以降低协处理器的处理量),为了避免直接对图像处理器进行流配置,本技术实施例中的协处理器支持分辨率调整模式。
[0131]
分辨率调整模式下,协处理器对图像传感器输出的原始图像数据进行resize处理,从而在不对图像传感器进行分辨率调整的情况下,实现降低分辨率的效果,进而降低后续预处理过程中的数据处理量,达到降低协处理器功耗的效果。
[0132]
在一种可能的实施方式中,当需要降低图像分辨率时,终端控制协处理器开启分辨率调整模式;后续需要恢复图像分辨率时,终端只需要控制协处理关闭分辨率调整模式,并不会影响用户的正常使用。
[0133]
步骤805b,响应于当前功率控制策略指示的帧率为第一帧率,且目标功率控制策略指示的帧率为第二帧率,控制协处理器开启帧率调整模式,第一帧率高于第二帧率;其中,帧率调整模式下,协处理器用于对图像传感器输出的部分原始图像数据进行预处理。
[0134]
当基于当前功率控制策略和目标功率控制策略确定需要下调帧率时(可能因帧率过高导致需要协处理器的处理量过大,因此需要降低帧率以降低协处理器的处理量),为了避免直接对图像处理器进行流配置,本技术实施例中的协处理器支持帧率调整模式。
[0135]
帧率调整模式下,协处理器对图像传感器输出的原始图像数据(帧)进行bypass处理,比如,仅对奇数编号的原始图像数据(帧)后传,偶数编号的原始图像数据(帧)回传图像传感器继续使用,即帧率降低为原先的二分之一,从而在不对图像传感器进行帧率调整的情况下,实现降低帧率的效果,进而降低后续预处理过程中的数据处理量,达到降低协处理器功耗的效果。
[0136]
当然,协处理器也可以通过控制后传原始图像数据(帧)的帧编号,达到1/3帧率下降、2/3帧率下降等效果,本实施例对此不作限定。
[0137]
在一种可能的实施方式中,当需要降低帧率时,终端控制协处理器开启帧率调整模式;后续需要回复帧率时,终端只需要控制协处理关闭帧率调整模式,并不会影响用户的正常使用。
[0138]
在其他可能的实施方式中,当需要同时调整帧率和分辨率时,终端可以控制协处理器同时开启帧率调整模式以及分辨率调整模式,本实施例对此不作限定。
[0139]
需要说明的是,上述实施例仅以协处理器调整参数实现分辨率以及帧率调整为例进行示意性说明,在其他可能的实施例中,协处理器还可以通过调整其他参数以实现其他功能,本实施例对此并不构成限定。
[0140]
步骤806,响应于当前功耗控制策略与目标功耗控制策略之间不支持动态切换,重新进行流配置。
[0141]
当目标功耗控制策略中的部分控制项目不支持动态调整(且协处理器无法通过调整参数实现相似效果时),终端调整该控制项目时,需要重新进行流配置,即进行静态切换。
[0142]
在一个示意性的例子中,当需要降低图像处理器的分辨率时,终端控制图像处理器切换分辨率时,需要重新进行流配置。
[0143]
本实施例中,协处理器通过设置帧率调整模式和分辨率调整模式,在不对图像传感器进行帧率和分辨率切换的情况下,通过启用帧率调整模式和分辨率调整模式,达到降低帧率和分辨率的效果,无需重新进行流配置,降低功耗控制策略切换对用户使用造成的影响。
[0144]
在图6所示的软件架构下,在一个示意性的实施例中,如图9所示,上述动态切换过程可以包括如下步骤。
[0145]
步骤901,camera app运行过程中,当前温控等级为level1。
[0146]
步骤902,统一温控监控终端温度(monitoring)。
[0147]
步骤903,统一温控基于终端温度进行决策和行动(strategy and action)。
[0148]
步骤904,统一温控向mms发送explorercontroller的功耗等级(set power level of explorercontroller)。
[0149]
mms向explorer hal传递功耗等级。
[0150]
步骤905,explorer hal进行状态收集(status collection)。
[0151]
步骤906,explorer hal在决策(strategy)阶段确定功耗等级对应的温控等级。
[0152]
步骤907,explorer hal确定关闭协处理器的ainr功能(make decision to close ainr)。
[0153]
步骤908,explorer hal控制协处理器关闭ainr功能(close explorer ainr)。
[0154]
步骤909,explorer hal通知camera hal协处理器的ainr功能已完毕(notify explorer ainr closed)。
[0155]
步骤910,camera hal为下一个捕获结果设置元信息(set metadata to next capture result)。
[0156]
该操作是为了能够通知camera hal,将对应的调整信息作为元信息传递给app,该元信息会写入到下一帧图像(process capture request之后会生成一帧图像)的元数据区域。
[0157]
步骤911,camera app向camera hal发送设置重复请求(setrepeatingrequest)。
[0158]
步骤912,camera hal响应请求(process_capture_request)。
[0159]
步骤913,图像传感器生成一帧图像(new frame),并通知camera hal。
[0160]
步骤914,camera hal将元信息写入捕获结果(即新生成图像)(process_capture_
result.write metadata into result)。
[0161]
步骤915,camera hal通知camera app保存两段分离的视频(notify app to save two split videos)。
[0162]
在图6所示的软件架构下,在一个示意性的实施例中,如图10所示,上述静态切换过程可以包括如下步骤。
[0163]
步骤1001,camera app运行过程中,当前温控等级为level1。
[0164]
步骤1002,统一温控监控终端温度(monitoring)。
[0165]
步骤1003,统一温控基于终端温度进行决策和行动(strategy and action)。
[0166]
步骤1004,统一温控向mms发送explorercontroller的功耗等级(set power level of explorercontroller)。
[0167]
mms向explorer hal传递功耗等级。
[0168]
步骤1005,explorer hal进行状态收集(status collection)。
[0169]
步骤1006,explorer hal在决策(strategy)阶段确定功耗等级对应的温控等级。
[0170]
步骤1007,explorer hal确定需要调整温控等级为level2(make decision to enter level2)。
[0171]
步骤1008,explorer hal通知camera hal需要重新进行流配置(notify need re-configure streams)。
[0172]
由于level1和level2之间不支持动态切换(比如需要调整图像传感器的分辨率),因此需要通知camera hal重新配置流。
[0173]
步骤1009,camera hal为下一个捕获结果设置自定义元信息(set custom metadata to next capture result)。
[0174]
步骤1010,camera app向camera hal发送设置重复请求(setrepeatingrequest)。
[0175]
步骤1011,camera hal响应请求(process_capture_request)。
[0176]
步骤1012,图像传感器生成一帧图像(new frame),并通知camera hal。
[0177]
步骤1013,camera hal将元信息写入捕获结果(即新生成图像)(process_capture_result.write metadata into result)。
[0178]
步骤1014,camera app通知用户选择进行流配置(notify user to choose re-configurestreams)。
[0179]
app提示用户由于温控需要进行分辨率/帧率切换,并重新开启,重新开启时即进行流配置。
[0180]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
[0181]
请参考图11,其示出了本技术一个实施例提供的功耗控制装置的结构框图。该装置可以包括:
[0182]
等级确定模块1101,用于在拍摄功能处于开启状态的情况下,基于硬件温度,从至少两级温控等级中确定目标温控等级;
[0183]
策略确定模块1102,用于获取所述目标温控等级对应的目标功耗控制策略,其中,不同温控等级对应不同功耗控制策略,且不同功耗控制策略对功耗的影响程度不同;
[0184]
第一功耗控制模块1103,用于基于所述目标功耗控制策略,对协处理器进行功耗
控制,所述协处理器用于对图像传感器输出的原始图像数据进行预处理,并向应用处理器ap传输预处理后的图像数据。
[0185]
可选的,所述等级确定模块1101,包括:
[0186]
第一等级确定单元,用于响应于拍摄功能开启指令,基于所述硬件温度确定终端温度;基于所述终端温度从至少两级所述温控等级中确定所述目标温控等级;
[0187]
或,
[0188]
第二等级确定单元,用于在拍摄功能运行过程中,基于所述硬件温度确定所述终端温度;基于所述终端温度和所述协处理器的处理器温度,从至少两级所述温控等级中确定所述目标温控等级。
[0189]
可选的,所述第一等级确定单元,用于:
[0190]
基于所述终端温度确定当前功耗等级;
[0191]
基于功耗等级与所述温控等级之间的映射关系,确定所述当前功耗等级对应的所述目标温控等级。
[0192]
可选的,所述第一功耗控制模块1103,包括:
[0193]
第一功耗控制单元,用于基于所述目标功耗控制策略设置所述协处理器的初始工作参数,其中,不同工作参数下所述协处理器的功耗不同。
[0194]
可选的,所述第二等级确定单元,用于:
[0195]
基于所述终端温度确定当前功耗等级;
[0196]
基于功耗等级与所述温控等级之间的映射关系,确定所述当前功耗等级对应的第一温控等级;
[0197]
基于所述处理器温度从至少两级所述温控等级中确定第二温控等级;
[0198]
从所述第一温控等级和所述第二温控等级中确定所述目标温控等级。
[0199]
可选的,从所述第一温控等级和所述第二温控等级中确定所述目标温控等级时,第二等级确定单元,用于:
[0200]
响应于所述第一温控等级高于所述第二温控等级,将所述第一温控等级确定为所述目标温控等级;
[0201]
响应于所述第一温控等级低于所述第二温控等级,将所述第二温控等级确定为所述目标温控等级,其中,所述温控等级与对功耗的影响程度呈正相关关系。
[0202]
可选的,所述第一功耗控制模块1103,包括:
[0203]
第二功耗控制单元,用于确定当前功耗控制策略;响应于所述当前功耗控制策略与所述目标功耗控制策略之间支持动态切换,调整所述协处理器的工作参数。
[0204]
可选的,所述第二功耗控制单元,具体用于:
[0205]
响应于所述当前功率控制策略指示的图像分辨率为第一分辨率,且所述目标功率控制策略指示的图像分辨率为第二分辨率,控制所述协处理器开启分辨率调整模式,所述第一分辨率高于所述第二分辨率;
[0206]
其中,所述分辨率调整模式下,所述协处理器用于对所述图像传感器输出的原始图像数据进行降分辨率处理。
[0207]
可选的,所述第二功耗控制单元,具体用于:
[0208]
响应于所述当前功率控制策略指示的帧率为第一帧率,且所述目标功率控制策略
指示的帧率为第二帧率,控制所述协处理器开启帧率调整模式,所述第一帧率高于所述第二帧率;
[0209]
其中,所述帧率调整模式下,所述协处理器用于对所述图像传感器输出的部分原始图像数据进行预处理。
[0210]
可选的,所述第一功耗控制模块1103,还包括:
[0211]
第三功耗控制单元,用于响应于所述当前功耗控制策略与所述目标功耗控制策略之间不支持动态切换,重新进行流配置。
[0212]
可选的,所述第二等级确定单元,用于:
[0213]
响应于所述处理器温度低于温度阈值,基于所述处理器温度从至少两级所述温控等级中确定第二温控等级;
[0214]
所述装置还包括:
[0215]
关闭模块,用于响应于所述处理器温度高于所述温度阈值,关闭所述协处理器。
[0216]
可选的,所述温控等级与所述功耗控制策略之间的对应关系通过k-means聚类算法确定得到,其中,k-means聚类算法的聚类依据为所述功耗控制策略下的图像处理功耗以及图像处理质量。
[0217]
可选的,所述装置还包括:
[0218]
第二功耗控制模块,用于基于所述目标功耗控制策略,对所述ap的图像信号处理isp芯片进行功耗控制。
[0219]
综上所述,本技术实施例中,当终端设置有用于对图像传感器输出的原始图像数据进行预处理的协处理器时,通过设计多级温控等级,并为不同温控等级设置对应的功耗控制策略,从而在拍摄过程中,基于硬件温度确定当前温控等级,进而基于当前温控等级对应的功耗控制策略对协处理器进行功耗控制,在保证图像预处理质量的情况下,避免因过高功耗导致温度过高的问题,达到兼顾图像处理质量与运行功耗的效果。
[0220]
需要说明的是:上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0221]
本技术实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有至少一条程序代码,所述程序代码由处理器加载并执行以实现如上各个实施例所述的功耗控制方法。
[0222]
根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述方面的各种可选实现方式中提供的功耗控制方法。
[0223]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施
例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本技术实施例对此不作限定。
[0224]
以上所述仅为本技术的可选实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献