CN107610039A - 图像处理方法及图像处理装置 - Google Patents
图像处理方法及图像处理装置 Download PDFInfo
- Publication number
- CN107610039A CN107610039A CN201710555428.6A CN201710555428A CN107610039A CN 107610039 A CN107610039 A CN 107610039A CN 201710555428 A CN201710555428 A CN 201710555428A CN 107610039 A CN107610039 A CN 107610039A
- Authority
- CN
- China
- Prior art keywords
- frame
- image processing
- group
- event
- performance
- 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.)
- Withdrawn
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Power Sources (AREA)
Abstract
本发明提供一种图像处理方法及图像处理装置。该图像处理方法包含:通过提供控制设定给第一组设备来处理第一帧,以达到第一性能度量;在该第一帧后,从第二组设备接收关于第二帧的场景信息;对该第一帧与该第二帧之间的变化进行量化;根据该量化的变化与预定的阈值之间的比较适应性调整该控制设定;以及通过提供该调整的控制设定给该第一组设备来处理该第二帧。本发明的图像处理方法及图像处理装置能够使图像处理***的性能水平最佳化。
Description
技术领域
本发明大体关于电子装置内的视频播放,更具体地,是关于图像处理单元的电源管理。
背景技术
除非有另行说明,本部分描述的方案并非前面权利要求的前案也并不因将这些说明包含在本部分中而承认其为前案。
图像处理单元(GPU)(也可称作VPU,即visual processing unit)是一个特制的电子电路,其设计用来快速操作并改变存储从而加速要输出给显示器的帧缓冲中的图像创建。GPU用于嵌入式***、移动手机、个人电脑、工作站以及游戏机中。现代GPU对于操作电脑图像与图像处理都非常之有效,其高度并行的结构使得它们比一般CPU在并行处理大块数据的算法方面更有效率。
发明内容
因此,本发明为解决图像处理中的功耗问题,特提供一种图像处理方法与图像处理装置。
本发明提供一种图像处理方法包含:通过提供控制设定给第一组设备来处理第一帧,以达到第一性能度量;在该第一帧后,从第二组设备接收关于第二帧的场景信息;对该第一帧与该第二帧之间的变化进行量化;根据该量化的变化与预定的阈值之间的比较适应性调整该控制设定;以及通过提供该调整的控制设定给该第一组设备来处理该第二帧。
本发明另提供一种图像处理方法,包含:通过提供控制设定给一组设备来处理帧,以达到第一性能度量;当图像处理单元在处理该帧时,在该图像处理单元处探测特定事件;基于该探测的事件辨别第二性能度量;以及调整该组设备的该控制设定以达到该第二性能度量。
本发明另提供一种图像处理装置,包含:一组处理单元;图像处理单元;显示设备;以及电脑可读存储媒介,储存多组指令,其中该多组指令由该组处理单元的执行是通过配置该组处理单元来执行下列动作:当该图像处理单元处理要在该显示设备上显示的帧时,提供控制设定给该图像处理单元与该显示设备来达到第一性能度量;当该图像处理单元在处理该帧的时候,在该图像处理单元处探测一特定事件;基于该探测的事件辨别第二性能度量;以及基于该第二性能度量调整该图像处理单元的该控制设定。
本发明的图像处理方法与图像处理装置能够使图像处理***的性能水平最佳化。
本发明的这些及其他的目的对于本领域的技术人员来说,在阅读了下述优选实施例的详细说明以后是很容易理解和明白的,所述优选实施例通过多幅图予以揭示。
附图说明
图1显示图像处理***100。
图2显示电源管理器110调整图像处理***100的性能的设定的示意图。
图3概念性显示在图像处理***内管理电源的流程300。
图4是包含CPU、GPU、存储器与显示设备的图像处理***100的结构示意图。
图5a-5b显示用性能查找表150来查找不同设备的性能设定事的图像处理***100中的数据流。
图6显示基于监测的事件的时间戳来对处理中的帧的性能设定微调。
图7显示在图像处理***100基于事件时间戳执行微调性能设定的数据流。
图8概念性地显示本申请的一些实施例所实施的电子***800的示意图。
具体实施方式
本说明书及权利要求书使用了某些词语代指特定的组件。本领域的技术人员可理解的是,制造商可能使用不同的名称代指同一组件。本文件不通过名字的差别,而通过功能的差别来区分组件。在以下的说明书和权利要求书中,词语“包括”是开放式的,因此其应理解为“包括,但不限于...”。
一些实施例公开用于管理图像处理***的电源的方法及装置。具体地,这个方法基于每帧内的场景信息适应性地调整图像处理***的性能。在一些实施例中,这样的调整目的在于使图像处理***的性能水平最佳化。对于一些实施例来说,一个帧的最佳性能设定是在帧的结束之前图像处理***刚好完成帧的工作负荷,这样电源的浪费最小。(当在按时完成工作负荷的性能水平低于必要的水平时会丢弃帧。电路在操作于高于必要的性能水平来按时完成工作负荷时会浪费电源。)
在一些实施例中,图像处理***包含图像处理单元(GPU)以及一个耦接到GPU的场景感知(scene-aware)电源管理器。场景感知电源管理器用于接收场景信息并根据接收的场景信息来适应性控制GPU。
图1显示图像处理***100,其包含场景感知电源管理器110,用于管理图像处理***的性能。电源管理器110从图像处理***100中各个设备收集的数据中得到场景信息并相应调整图像处理***的性能设定。
图像处理***100是一个包含能够处理数据并产生图像显示器的数据的组件的电子设备。这样的一个设备可以是一般的计算设备,例如是台式电脑、笔记本电脑、平板电脑、智能手机,等等,其包含中央处理单元(CPU)、存储组件、输入/输出设备、网络接口、用户接口等等。这样的一个设备也可配备有例如GPU那样特别用于处理图像数据的硬件。作为图像处理***100的电子设备也可执行与图像无关的功能。
图像处理***100包含电源管理器110、帧分析器120、性能控制器130、事件报告器140、以及性能查找表(LUT)150。电源管理器110从帧分析器120接收数据作为场景信息并基于接收的场景信息确定性能控制器130的性能设定。电源管理器110从接收的场景信息探测场景变化的水平(level of scene change),通过例如将其与之前帧所接收的场景信息比较,并使用探测的场景变化的水平在性能查找表150中查找一个估计所需性能(estimatedrequired performance)。电源管理器110使用估计所需性能来产生性能控制器130的性能设定。
在一些实施例中,这些性能设定包含频率设定131与电压设定132。电压设定132指示图像处理***100在频率设定131所指示的频率下工作所需的电压。(更高电压允许电路操作在更高频率,这会因更高数据通量以及/或更低延迟导致更高性能度量,但是也带来更大耗电。)
图像处理***100基于事件报告器140所报告的事件适应性调整性能控制器130的性能设定。在一些实施例中,电源管理器110从事件报告器140接收报告的事件的身份(identity)以及与事件相关的时间戳(timestamp),并确定提供给性能控制器130的性能设定是否足够(不太快或太慢)。在一些实施例中,事件报告器140是可配置的,例如会被监测以及/或报告的事件的类型可由用户配置来适应在CPU或GPU上运行的应用的类型。
帧分析器120从图像处理***100中的各个模块或电路收集状态、数据或报告并提供收集的数据给电源管理器。被收集状态的模块或电路可包含下面一个或多个组件:CPU、GPU、存储设备、显示设备、总线结构,以及其他类型的电路,它们一起构成图像处理***100。收集的状态可包含由图像处理***100的各个电路所直接发出的信号以及/或储存在存储结构中可被电源管理器110读取的数据。从这些设备收集的数据或状态比特提供给电源管理器110作为获得场景信息的指示器(indicators)来确定性能设定(在性能控制器130中)。
电源管理器110使用一些状态数据作为“早期指示器”,因为它们指示即将到来帧的即将到来的图像处理负荷。帧的早期指示器是在帧的图像处理开始之前或刚开始时预测帧的图像处理负荷的可用的状态数据(例如在帧开始之前或刚开始的事件,例如垂直同步(vertical synchronization)或VSYNC)。这样的早期指示器可包含与CPU相关的状态数据以及/或即将到来帧的存储存取。
性能控制器130控制给图像处理***100中各模块或电路的一组控制数据或信号。这些模块或电路可包含一个或多个下面组件:CPU、GPU、存储设备、显示设备、总线结构,以及其他类型的电路,它们一起构成图像处理***100。控制数据可包含电源管理器110直接发给图像处理***100各个电路的信号以及/或电源管理器110储存在存储结构中的控制数据。性能控制器130处理控制图像处理***中的电路及/或设备的性能的控制数据或信号。性能控制器130控制控制时钟频率(例如,频率设定131)及工作电压(例如,电压设定132)的设定。性能控制器130还控制控制显示帧率,用户互动的显示响应时间的设定,或者其他可影响图像处理***100的性能或电力使用的设定。在一些实施例中,一组性能设定可达到一个特定的性能度量(例如特定工作频率或特定数据率)。
事件报告器140将一些特定类型的时间或图像处理***140的操作步骤报告给电源管理器110。电源管理器110使用报告的事件来确定提供给性能控制器130的性能设定是否足够。为了报告一个事件,事件报告器140在一些实施例中提供事件的身份(identity)与标记时间发生时间的时间戳。电源管理器110相应重估事件的场景变化的水平并确定是否要基于重估的场景变化水平来以微调方式调整性能设定。
性能查找表150是一个查找表,用于映射来自帧分析器120的场景信息到性能控制器130的性能设定。性能查找表150可包含直接映射场景信息到性能设定的条目。性能查找表150也可包含映射获得的参数(derived parameters)到性能设定的条目。举例来说,电源管理器110从场景信息计算场景变化的水平作为参数来查找性能设定。(场景变化的水平是之前帧的场景信息或场景与当前帧的场景信息或场景之间的变化的量度。)
电源管理器110是一个基于帧分析器120提供的信息确定给性能控制器130的性能设定的水平的模块。在一些实施例中,电源管理器110是一个在图像处理***100中运行的一组处理单元中的一个软件模块。运行在电源管理器中的该组处理单元可以是CPU、GPU或其他构成图像处理***的处理单元。
在一些实施例中,场景信息包含一组早期指示器。电源管理器110比较当前帧的早期指示器与之前帧的早期指示器来确定场景变化的水平且根据确定的场景变化的水平分配一组初始(initial)性能设定。电源管理器使用分配的该组初始性能设定在帧开始前设定图像处理***100的性能。在一些实施例中,如果场景变化的水平足够小(即当前帧与之前帧之间的场景变化量小于一个阈值),电源管理器110会从之前帧的性能设定增加或减少一个少量(或保持性能设定不变)作为新的当前帧的初始性能。
另外,如果场景变化的水平足够大(即当前帧与之前帧之间的场景变化的量大于一个阈值),电源管理器会提供能够显著提升图像处理***100性能的性能设定。这是因为场景变化的水平越大,实际需要处理该帧的处理量的不确定性就更大。通过高估需要完成处理的性能,电源管理器在处理当前帧时的失败风险可最小化。
图2显示电源管理器110调整图像处理***100的性能的设定的示意图。本图显示在是四个连续帧(帧1到4)的处理中的性能水平的设定。如图所示,在每个帧的开始,电源管理器根据初始性能设定(阴影部分)提供图像处理***的性能。当图像处理***随着帧的处理而运行时,电源管理器提供性能的微调(非阴影部分)。
如前所述,初始性能设定的设定是基于当前帧与之前帧之间的早期指示器的比较。图2概念性地显示每个帧的早期指示器(帧1到4分别的早期指示器211-214)。在这个例子中,帧2的初始性能设定基于帧2的早期指示器与帧1的早期指示器之间的比较,帧3的初始性能设定基于帧3的早期指示器与帧2的早期指示器之间的比较,帧4的初始性能设定基于帧4的早期指示器与帧3的早期指示器之间的比较,等等。
如图所示,电源管理器使用帧1的性能设定作为帧2的初始性能设定。这是因为帧1的早期指示器211与帧2的早期指示器212非常相似(都包含任务A、B与C的CPU负荷)。电源管理器也使用帧3的性能设定作为帧4的性能设定,仅仅有一点增加。这是因为帧3的早期指示器213与帧4的早期指示器214非常相似(都包含任务Y与Z的CPU负荷,虽然早期指示器214也包含任务X2而非X1的CPU负荷)。对于帧2与4,计算出的场景变化的水平足够小,使得电源管理器能继续使用之前帧的性能设定作为当前帧的初始性能设定。
另外,电源管理器分配提升的性能作为帧3的初始性能设定。这是因为帧3的早期指示器213与帧2的早期指示器212显著不同(帧2的早期指示器包含任务A、B与C的CPU负荷,而帧3的早期指示器包含任务X1、Y与Z的CPU负荷)。对于帧3,计算出的场景变化的水平太大,使得电源管理器不能继续使用之前帧的性能设定作为当前帧的初始性能设定。事实上,电源管理器不能确定什么是适合的初始性能设定,所以其提升初始性能设定到一个水平使得有可能对于不确定性而言是足够的。
在一些实施例中,电源管理器对场景变化进行量化。当量化的变化大于一个特定阈值时,电源管理器提升该帧的初始性能设定来达到比之前帧的性能度量高一定量的提升的性能度量。当量化的变化小于特定阈值时,电源管理器通过从之前帧的性能设定调整一特定量来设定当前帧的初始性能设定。
在一些实施例中,提升的初始性能是一组值,这组值被基于场景变化的水平被分配(即早期指示器之间的差别)。在一些实施例中,提升的初始性能是一组预定值,这组预定值完全独立于场景变化的水平以及之前帧的性能设定。在一些实施例中,提升的初始性能比之前帧的性能度量要高一个特定量。
如图所示,在每个帧的初始性能设定之后,电源管理器进一步以微调方式调整性能设定。在一些实施例中,电源管理器在某个事件或操作步骤重评或重估场景变化的水平(例如,由事件报告器140报告的)。在这些步骤或事件发生时,电源管理器比较场景信息与一组之前记录的场景信息(或早期指示器)来重估场景变化的水平。这个之前记录的场景信息可以是之前帧的场景信息,或是之前的事件或操作步骤。电源管理器接着使用重估的场景变化的水平来确定新的性能设定。在一些实施例中,重估的场景变化的水平被作为索引使用,来从性能查找表150中查找一组性能设定。
在一些实施例中,每个报告的事件或操作步骤与时间戳相关,该时间戳标记事件的实际发生时间,电源管理器比较实际发生时间与期望发生时间来确定性能设定的微调调整。
图3概念性显示在图像处理***内管理电源的流程300。在一些实施例中,电源管理器110在控制图像处理***的性能设定时执行流程300。在一些实施例中,电源管理器是一个由CPU或GPU运行的软件模块,CPU或GPU执行流程300。
流程300以抽取即将到来的帧/场景的早期指示器开始(步骤310),该帧包含一个场景,该场景可或可不具有与之前帧显著的变化。这些早期指示器是从图像处理***内的各个组件接收的场景信息的部分。流程也接收(步骤320)帧开始事件的指示,例如即将到来的帧的VSYNC信号。当接收VSYNC信号时,即将到来的帧成为“当前帧”。
在接收帧开始事件指示后,流程通过比较抽取的当前帧的早期指示器与之前帧的早期指示器,来计算(步骤330)场景变化的一个水平。在一些实施例中,流程将场景变化量化为一个值或一组值。
基于计算的场景变化的水平,流程确定(步骤340)是否场景变化的水平是显著增加还是稍稍增加,例如场景变化的量化水平是否大于一个特定阈值。在一些实施例中,显著的场景变化可用顶点(vertex)数量,不同画图调用(different draw call),渲染不同数量的层(different number of layers rendered),以及额外事件或程序被启动。如果场景变化显著,流程进行到345。如果场景变化的量化水平不显著,例如场景变化的量化水平小于特定阈值,流程则进行到350。
在步骤345,流程基于一组预定的、更高(即提升的)性能设定分配性能设定。电源管理器使用这个提升的性能设定,因为更高水平的场景变化意味更难以基于现有性能设定来预测最佳性能设定(需要的实际性能设定可比现有的性能设定高许多)。电源管理器因此提升性能设定到高于不确定阈值。在一些实施例中,提升的性能设定是预定值,这些预定值独立于当前性能设定。在一些实施例中,电源管理器增加一个预定提升值到当前性能设定以达到提升的性能设定。在分配提升的性能设定之后,流程进行到360。
在步骤350,流程重用(reuse)现有的性能设定或微调性能设定。在此操作中,流程确定该帧与之前帧之间场景变化非常小,因此很可能现有性能设定(之前帧所用的设定或当前帧之前使用的设定)仍然是最佳设定。电源管理器因此重用当前性能设定,或者以比微调更少量地增加/减少性能设定(微调阈值小于操作345的不确定阈值)。流程接着进行到360。
在一些实施例中,性能设定的微调的大小是基于场景变化的水平。在一些实施例中,微调是基于性能是否足够的检查。流程接收报告的事件或者操作步骤(从事件报告器140)与该事件发生的时间戳。流程接着比较时间戳与事件的预期时间来确定性能设定是太高还是太低,并因此决定是否要增加还是减少性能设定。使用报告事件的时间戳来微调性能设定会在下文参考图6–7进一步说明。
在步骤360,流程在电源管理器应确定是否要设定或调整性能设定时确定帧内是否有另一个报告事件。帧的第一事件是电源管理器设定或调整性能设定是VSYNC事件,其标志着帧的开始。可是,电源管理器在帧内能监测其他事件或操作步骤并在这些事件发生时执行重评及微调。这样的事件的一个例子是当GPU完成绘画N个三角形或像素时。如果帧内有另一个这样被监测的事件,流程进行到370。否,流程就结束。
在步骤370,流程在监测的事件发生时,通过比较场景信息与之前版本的场景信息或通过比较场景信息与之前帧的场景信息,来重估场景变化的水平。(这个操作类似于操作330,其比较即将到来帧的早期指示器与之前帧的早期指示器)。流程接着进行到340。
如前所述,在一些实施例中,图像处理***包含CPU、GPU、一组存储器,以及显示设备。电源管理器通过使用由这些设备产生的数据作为场景信息以及控制这些设备的性能设定来执行场景感知的电源管理。
图4是包含CPU、GPU、存储器与显示设备的图像处理***100的结构示意图。图像处理***通过使用CPU、GPU、存储器与显示设备的数据作为场景信息来执行场景感知的电源管理。
如图所示,图像处理***100的电路包含CPU410、GPU420、主存储器430、GPU存储器440,与显示设备450。一组存储器控制器435控制主存储器430与GPU存储器440。显示控制器455控制显示设备450。场景感知电源管理器110显示为一个运行于GPU420之上的软件或硬件模块。但是其也可是由CPU 410运行的一个软件模块。这些组件用不同电路元件互连,这些电路元件被称作总线或总线结构(图未示)。
在一些实施例中,CPU410、GPU420、主存储器430、GPU存储器440、存储器控制器435以及显示控制器455是用一个或多个电子装置的集成电路的硬件电路模块来实施。例如,在一些实施例中,主存储器430与GPU存储器440用物理存储器设备实施,而存储器控制器435、显示控制器455、CPU 410、GPU420与电源管理器110实施于一个IC中。
如图所示,CPU410与GPU互相直接通信或通过存储器430与440进行通信。该组存储器控制器435控制存储器到主存储器430与440的存取,同样也执行存储器结构的直接存储器存取(DMA)操作。这些DMA操作可包含在主存储器430与GPU存储器440之间的数据传输,在GPU420与GPU存储器440之间的数据传输,在CPU与主存储器430之间的数据传输,以及在主存储器430与显示器450(具有显示缓冲用于储存要显示的像素数据)之间的数据传输。
图像处理***100的这些设备执行计算与运算拉提供要显示的数据给显示设备450。例如,图像处理***从大存储设备或网络通过I/O设备405接收数据,并储存数据到主存储器430。基于这些储存的数据,CPU410执行各种计算任务以及/或负荷,产生处理的数据给GPU 420来处理成要给显示设备450显示的图像。电源管理器110使用关于由CPU410与GPU420执行的负荷及任务的信息以及由CPU 410与GPU420产生以及/或处理的数据的信息作为场景信息。
虽然没有显示,在一些实施例中,图像处理***100是一个照相机***的部分,且由图像处理***100产生的图像数据提供给一个图像或视频编码设备。
场景信息用于预测图像处理***的电源设定的最佳水平,因为它们指示需要执行来产生显示或照相机记录的必需数据的工作负荷的大小。从不同流程收集的场景信息被放在一起并共同被分析(例如总和)出场景变化的水平。后面是一些电源管理器从图像处理***的不同设备收集的场景信息的实例:
应用程序/游戏引擎/游戏物理计算(Game physics calculation of previousscene loading);
GPU上下文数量(context number);
顶点/图元数量(Vertex/primitive number);
绘图命令数量(Draw command number);
顶点着色运行时间与复杂度(Vertex shading run-time and complexity);
镶嵌运行时间与复杂度(Tessellation run-time and complexity);
顶点分布与覆盖块数量(Vertex distribution and covered tile numbers);
渲染目标层数量(Rendering target layer number);
每层的渲染解析度与块数量(Rendering resolution and tile number of eachlayer);
像素着色运行时间与复杂度(Pixel Shading run-time and complexity);
纹理大小/类型/层/复杂度(Texture size/type/layer/complexity);
一般GPU事件计数器(General GPU event counter),即块、图元、顶点、像素、纹理、指令……等等;
应用程序接口(API,application programming interface)类型;
图像处理***内的芯片温度;
CPU负荷(在下个场景之前的,预处理,API调用);
带宽/DRAM延迟/快取命中率;
VSYNC事件(分割视频场的垂直同步);以及
外部用户事件。
如前所述,电源管理器使用一些收集的场景信息作为早期指示器来确定每个帧开始的一组初始性能设定。后面是用做早期指示器的场景信息的例子:
应用/游戏引擎/游戏物理计算的CPU负荷;
GPU渲染/计算标准(OpenGL,OpenCL,Vulkan,等等)的API轨迹(API trace),包含每个API功能调用的属性,状态与参数;
顶点着色运行时间与复杂度;
镶嵌运行时间与复杂度;
块列表–覆盖的块的数量;
渲染目标层的数量;
每层的解析度与总的块数量;
API类型;
像素着色运行时间与复杂度;
纹理类型、大小、层、运行时间,以及复杂度;
用户接口事件;以及
显示器数量。
在一些实施例中,电源管理器提供性能设定给图像处理***的各个组件,以达到具体性能度量,例如特定工作频率(为了达到一个特定数据率或延迟)。一组性能设定可包含图像处理***中不同组件、模块或电路的性能设定。换句话说,一组性能设定可包含CPU410的频率与电压设定,GPU 420的频率与电压设定,总线结构的频率与电压设定,等等。在一些实施例中,图像处理***100的特定模块或电路的性能设定包含其他影响性能的设定。例如,显示器450(或显示控制器455)的性能设定可包含控制帧率,用户互动的显示器响应时间(也叫“显示终期(display deadline)”)的设定,因为它们也影响到图像处理***的功耗;CPU410的性能设定也可包含要使用几个核心的具体内容。
下面的性能设定的例子是由场景感知电源管理器所控制:(作为初始性能设定或微调)
切换GPU或者其子进程(sub-instances)的电源;
减速/加速GPU/CPU及其子进程的频率与电压;
设备的(CPU,GPU等等)早期唤醒(Early wake-up)或早期加速(early speed-up);
存储器带宽与仲裁策略的调整(例如主存储器405以及/或GPU存储器440);以及
显示器帧率以及终期策略(deadline strategy)。
在一些实施例中,性能设定的微调包含预算与步进纠正。这样的预算与步进纠正可应用到图像处理***下面设定中的某些或所有:
切换外部着色器/子模块/SRAM电源PMIC/LDO/MTCMOS;
减速/加速工作着色器/子模块/SRAM频率与平均电压(even voltage);
通过预测的早期唤醒或早期加速来减少性能降低;
流程的CPU负荷分配;
DRAM带宽分配;以及
显示策略以及终期策略(Display strategy and deadline policy)。
如前所述,电源管理器在帧内(即在帧开始之后)监测其他事件或操作步骤并在那些事件发生时执行重评与微调。后续是电源管理器为了调整性能设定所监测的事件或操作步骤的范例(例如通过事件报告器140):
CPU处发生的事件:
GPU应用的CPU负荷;
在顶点着色阶段(在GPU)发生的事件:
图元处理性能;
执行的图元阶段数量(Number of Primitive Phase kicked);
着色指令计数器;
在像素着色阶段(在GPU)发生的事件:
要渲染的层的数量;
每个层的块处理性能;
着色指令计数器;以及
多重采样抗锯齿(MSAA)类型。
如前所述,在一些实施例中,电源管理器使用一个查找表来基于场景信息(包含早期指示器)来查找性能设定。图5a-b显示用性能查找表150来查找不同设备的性能设定事的图像处理***100中的数据流。
如图5a所示,电源管理器110从CPU410、存储器控制器435、显示控制器455、GPU420,以及包含总线结构组件的其他设备490接收场景信息以及/或指示器(包含早期指示器)。电源管理器110使用接收的场景信息来从查找表150中查找性能设定。为了产生初始性能设定,电源管理器比较即将到来帧的早期指示器与之前帧的早期指示器(如图所示在存储510中储存)并将差值量化为“场景变化的水平”。
如图5b所示,电源管理器使用该场景变化的水平作为查找查找表150的索引,并取回一组性能设定,包含频率、电压及帧率。在所示的例子中,场景变化的量化水平是“3”,而且查找表对应产生一组性能设定,其包含频率为400MHz,电压为2.4V,以及帧率为每秒27帧。如前所述,一组性能设定可包含很多参数,例如多个不同电路或模块的不同组频率与电压,以及例如显示器响应终期(display response deadline),存储器存取仲裁策略等等的参数。
如前所述,电源管理器不仅基于帧的早期指示器提供每个帧的初始性能设定,也在该帧的处理开始之后对处理中的帧执行性能设定的微调。在一些实施例中,这些调整是在GPU处理帧的过程中的特定事件中所实施。电源管理器使用这些事件来评价性能设定是否够用并据此调整。在一些实施例中,图像处理***包含例如事件报告器140的事件报告器来报告这些事件,通过例如报告每个事件的身份与该事件发生的时间戳。电源管理器110相应使用报告的事件与时间戳来辨别该事件的期望时间,以确定性能设定太高或太低。例如,一些实施例中的电源管理器110监测GPU来看完成一个帧的10,000个三角形的计算要多久。电源管理器110使用与该事件相关的时间戳来基于该事件的时间戳与该事件的预期运行时间的比较确定GPU多快可以结束任务以及是否要增加或降低性能。
图6显示基于监测的事件的时间戳来对处理中的帧的性能设定微调。该图显示两个连续帧601与602时的性能设定的调整,特别是当这两个帧是用GPU 420处理来显示或照相机记录。在此实施例中,帧601与帧602在屏幕上显示的时段都是16.6ms。
如图所示,当处理帧601时,GPU操作于频率525MHz。这个频率是从之前帧继承而来,因为其早期指示器与之前帧相同或类似。这个频率也可是一组提升的性能设定,因为场景变化的水平被认为太大。
电源管理器监测多个GPU事件,包含事件“X”与“Y”(这可以对应,例如GPU完成10,000个三角形的渲染)。GPU事件“X”预期会在4.1ms标志处发生(在帧开始之后)且GPU事件“Y”预期在7.0ms标志处发生。这些预期时间都是基于帧601中的GPU频率525MHz以及GPU的负荷所预测的。GPU事件X的实际发生时间是4.1ms,且GPU事件Y的实际发生时间是7.0ms,这个与它们的预期时间是相同的(或非常接近的)。电源管理器因此确定负荷正以接近最佳速率被处理,并保持性能设定在525MHz。任务/负荷1-A,1-B,与1-C几乎在帧的末尾结束,确认帧601的GPU的性能设定是几乎最佳的。
GPU以频率525MHz开始帧602的处理,这个频率是继承自帧601的处理,因为其早期指示器与帧601的相同或相似。GPU会处理多个负荷(任务2-A,2-B,以及2-C)。基于这些负荷以及频率525MHz,性能管理器确定事件X的预期时间是4.1ms而事件Y的预期时间是7.0ms。
随着GPU处理帧601,事件X的实际事件结果是2.5ms,意味着GPU运行得比需要得要快(“525MHz的修正估计”显示负荷2A-2C完成地太早)所以可以降低速度来减少功耗。电源管理器因此降低GPU频率到400MHz。GPU接着进行用400MHz频率处理直到其在9.8ms碰到事件Y,其本来预期是要早一点在7.0ms到达。换句话说,GPU处理得太慢而不能用400MHz的频率及时完成负荷(“400MHz的修正估计”预测负荷2B及2C不能按时完成)。电源管理器因此提升GPU的性能设定为700MHz以按时完成任务。
图7显示在图像处理***100基于事件时间戳执行微调性能设定的数据流。如图所示,事件报告器140通过发送一个事件身份(ID)701与事件的时间戳702来报告该探测到的事件(例如GPU完成10,000三角形)给电源管理器110。(在一些实施例中,电源管理器在接收到一个报告的事件时提供该时间戳)。事件的时间戳允许电源管理器来辨别该事件的实际时间。电源管理器110然后使用接收的事件ID701来查找该事件的预期时间(显示为从查找表710收到的预期时间711)。电源管理器110基于时间戳702比较预期时间711与实际时间702,以确定该事件是否在预期时间内的可接受范围内。若否,电源管理器发送调整的性能设定给图像处理***100的各个电路,包含CPU 410、GPU 420、存储器控制器435、显示控制器455以及其他设备490。在一些实施例中,微调的量通过基于事件ID701及该事件的实际时间702与预期时间711之间的差值从性能查找表150中查找得到。
在一些实施例中,各个查找表的内容(包含性能查找表150与预期时间查找表LUT710)都是基于场景信息而动态可调的。例如当执行场景信息或早期指示器的各种组合的微调时,电源管理器110可用更好的性能设定来更新性能查找表150的内容。电源管理器也在获知在特定性能设定下其需要达到特定事件的实际时间后,更新预期时间查找表710的内容。
电子***范例
许多前述的特征及应用是用软件流程的方式实施,这些软件是以一组指令具体实现,这些指令记录于电脑可读储存媒介(也被称作电脑可读媒介)。当这些指令由一个或多个计算或处理单元(例如,一个或多个处理器,处理器核心或其他处理单元),它们使得处理单元执行指令中所指示的动作。电脑可读媒介的例子包含,但不限于,CD-ROM、闪存、随机存取存储器(RAM)芯片、硬盘、可擦除可编程的只读存储器(EPROM)、电可擦除可编程的只读存储器(EEPROM)等等。电脑可读媒介中不包含无线或有线的载波与电信号。
在本说明书中,术语“软件”意思是包含只读存储器中的固件或存储在磁性存储器中会被读取进存储器中让处理器处理的应用。而且,在一些实施例中,多个软件发明可实施为一个更大程序的子部分同时保持为分别的软件发明。在一些实施例中,多个软件发明也可实施为不同的程序。最后,此处所述的不同程序的一起实施为软件发明的任何组合都在本申请的范围内。在一些实施例中,,当加载软件程序来于一个或多个电子***上操作时,定义一个或多个运行并执行软件程序的操作的具体的机器实施方式。
图8概念性地显示本申请的一些实施例所实施的电子***800的示意图。电子***800可以是一个电脑(例如台式电脑、个人电脑、平板电脑、等等),电话、PDA,或其他类型的电子设备。这样的电子***包含各种电脑可读媒介与连接其他类型的电脑可读媒介的接口。电子***800包含总线805、处理单元810、图像处理单元(GPU)815、***存储器820、网络825、只读存储器830、永久存储设备835、输入设备840,以及输出设备845。
总线805概括地代表所有通信连接电子***800各个内部设备的***、***以及芯片总线。例如,总线805通信地连接处理单元810与GPU 815、只读存储器830、***存储器820及永久存储设备835。
从这些各个存储器单元,处理单元810取出要运行的指令及要处理的数据,从而执行本申请的流程。处理单元在不同实施例中可以是单个处理器或多核处理器。一些指令发给GPU 815来执行。GPU815可将处理单元810提供的各种计算卸下或帮助处理单元810提供的图像处理。
只读存储器(ROM)830储存处理单元810及电子***其他模块所需的静态数据与指令。另一方面,永久存储设备835,是一个读写存储器设备。这个设备是非易失性存储器单元,其甚至可在电子***800关闭时储存指令与数据。本申请的一些实施例使用大容量存储设备(例如磁碟或光碟以及对应碟片驱动器)作为永久存储设备835。
其他实施例使用一个可拆除存储设备(例如软盘、闪存存储器设备、等等以及对应盘驱动器)作为永久存储设备。如同永久存储设备835***存储器820是一个读写存储器设备。可是,与存储设备835不同的是,***存储器820是一个易失性的读写存储器,例如随机存取存储器。***存储器820储存处理器运行时所需的一些指令与数据。在一些实施例中,本申请中的流程储存在***存储器820、永久存储设备835,以及/或只读存储器830中。例如,根据一些实施例,不同的存储器单元包含用于处理多媒体视频的指令。从这些不同的存储器单元,处理单元810取回要执行的指令以及要处理的数据以执行一些实施例中的流程。
总线805也连接到输入与输出设备840及845。输入设备840使得用户与电子***交换信息并选择命令。输入设备840包含字母数字(alphanumeric)键盘以及指向设备(叫做“光标控制设备”),照相机(例如网络摄像头),接收语音命令的麦克风或类似的设备,等等。输出设备845显示电子***产生的图像或输出数据。输出设备845包含打印机与显示设备,例如阴极射线管显示器(CRT)或液晶显示器(LCD),以及扬声器或类似音频输出设备。一些实施例包含例如触控屏幕的设备,其可同时作为输入设备与输出设备。
最后,如图8所示,总线805通过网络适配器(图中未显示)耦接电子***800到网络825。如此,电脑可成为电脑网络的一部分(例如是局域网(“LAN”)、广域网(“WAN”)或内网,或网络的网络(network of networks),例如Internet。任何或所有电子***800的组件根据本申请配合使用。
一些实施例包含电子组件,例如微处理器,储存电脑程序指令在机器可读或电脑可读媒介中的存储器(也可叫做电脑可读存储媒介、机器可读媒介、或机器可读存储媒介)。这样的电脑可读媒介的一些例子包含RAM、ROM、只读压缩盘(CD-ROM)、可记录压缩盘(CD-R)、可重写压缩盘(CD-RW)、只读数字通用光盘(例如DVD-ROM,双层DVD-ROM)、各种可记录/可重写DVD(例如DVD-RAM、DVD-RW、DVD+RW等等),闪存存储器(例如SD卡、mini-SD卡、micro-SD卡,等等)、磁性以及/或固态硬盘、只读与可记录Blu-Ray光盘、高密度光盘(ultradensity optical discs),任何其他光学或磁性媒介,以及软盘。电脑可读媒介可储存由至少一个处理单元执行的电脑程序并包含一组指令用于执行各种操作。电脑程序或电脑代码的例子可包含机器码,例如由编译器产生的代码,包含用电脑、电子元件或当作翻译器的微处理器执行的更高级别的代码。
上面的讨论基本是关于执行软件的微处理器或多核处理器,一些实施例由一个或多个集成电路所执行,例如是专用集成电路(ASIC)或场可编程门阵列(FPGA)。在一些实施例中,这些集成电路执行的指令储存在电路自身内。另外,一些实施例执行储存在可编成逻辑设备(PLD)、ROM、或RAM设备中的软件。
如本申请说明书及权利要求书所使用的那样,术语“电脑”,“服务器”,“处理器”,及“存储器”都是指电子或其他技术性设备。这些术语排除了人或人群。为了说明的目的,术语“显示”或“显示工具”意思是在一个电子设备上显示。如在本申请说明书及权利要求书所使用的那样,术语“电脑可读媒介”,“电脑可读媒介”以及“机器可读媒介”整体都限定于储存信息于一个电脑可读的形式有形的物理物体。这些术语排除了无线信号、有线下载信号以及任何其他暂态信号。
虽然本申请的说明书已经有关于各种具体细节的描述,本领域内的技术人员能了解本发明可以用其他特定形式实施,而不偏离本发明的精神。另外,多个图示(包含图3)概念性地展示了流程。这些流程的具体操作可严格如图所示并说明的顺序执行。具体操作可不用在一系列连续操作中执行,不同实施例可执行不同特定操作。而且,流程可用几个子流程实施,或作为更大流程的一部分。因此,本领域的技术人员会了解本发明并不限于前述的细节,而是要由前面的权利要求所界定。
本领域的技术人员将注意到,在获得本发明的指导之后,可对所述装置和方法进行大量的修改和变换。相应地,上述公开内容应该理解为,仅通过所附加的权利要求的界限来限定。
Claims (25)
1.一种图像处理方法,包含:
通过提供控制设定给第一组设备来处理第一帧,以达到第一性能度量;
在该第一帧后,从第二组设备接收关于第二帧的场景信息;
对该第一帧与该第二帧之间的变化进行量化;
根据该量化的变化与预定的阈值之间的比较适应性调整该控制设定;以及
通过提供该调整的控制设定给该第一组设备来处理该第二帧。
2.如权利要求1所述的图像处理方法,其特征在于,对该第一帧与该第二帧之间的变化进行量化的步骤包含:比较该第一帧的一组早期指示器与该第二帧的一组早期指示器,其中一个帧的一组早期指示器包含可在帧事件开始之前用于预测该帧的图像处理负荷的状态数据。
3.如权利要求1所述的图像处理方法,其特征在于,
当该量化的变化大于一个特定阈值时,调整给该第一组设备的该控制设定,来达到第二性能度量,其中该第二性能度量比该第一性能度量大一个特定量;以及
当该量化的变化小于该特定阈值时,基于第三性能度量调整给该第一组设备的该控制设定,其中该第三性能度量与该第一性能度量的差别小于一个特定量。
4.如权利要求1所述的图像处理方法,其特征在于,该控制设定包含频率与电压来支持该第一组设备在该频率的操作。
5.如权利要求1所述的图像处理方法,其特征在于,该第一组设备包含图像处理单元。
6.如权利要求1所述的图像处理方法,其特征在于,该第二组设备包含中央处理单元、存储器控制器、图像处理单元,该场景信息包含由该图像处理单元与该中央处理单元所产生的一组数据。
7.如权利要求1所述的图像处理方法,其特征在于,该场景信息包含下列中至少一个:
应用/游戏引擎/游戏物理计算的中央处理单元负荷;
图像处理单元渲染/计算标准的应用程序接口轨迹;
顶点着色运行时间与复杂度;
镶嵌运行时间与复杂度;
块列表–覆盖的块的数量;
渲染目标层的数量;
每层的解析度与总的块数量;
应用程序接口类型;
像素着色运行时间与复杂度;
纹理类型、大小、层、运行时间,以及复杂度;
用户接口事件;以及
显示器数量。
8.如权利要求1所述的图像处理方法,其特征在于,还包含:
当该图像处理单元在处理该第二帧时,在该图像处理单元探测一个特定事件;
基于该探测的事件辨别一第四性能度量;以及
调整给该第一组设备的该控制设定来达到该第四性能度量。
9.如权利要求8所述的图像处理方法,其特征在于,该探测的事件与时间戳相关,其中探测该第一性能度量的步骤包含比较该时间戳与该特定事件的预期时间。
10.如权利要求8所述的图像处理方法,其特征在于,探测该特定事件的步骤包含监测该特定事件的步骤包含:监测在CPU加载时发生的一事件,在顶点着色阶段图像处理单元处发生的一事件以及在像素着色阶段图像处理单元处发生的一事件。
11.如权利要求1所述的图像处理方法,其特征在于,处理显示的该第二帧的步骤更包含:从该第二组设备接收关于该第二帧的场景信息,并基于该接收的场景信息调整该第一组设备的该控制设定。
12.如权利要求1所述的图像处理方法,其特征在于,该第二性能度量是一个独立于该量化的变化的预定值。
13.如权利要求1所述的图像处理方法,其特征在于,该第二性能度量是基于该量化的变化而非该第一性能度量所辨别的预定值。
14.一种图像处理方法,包含:
通过提供控制设定给一组设备来处理帧,以达到第一性能度量;
当图像处理单元在处理该帧时,在该图像处理单元处探测特定事件;
基于该探测的事件辨别第二性能度量;以及
调整该组设备的该控制设定以达到该第二性能度量。
15.如权利要求14所述的图像处理方法,其特征在于,为了要达到该第一性能度量而提供的该控制设定是基于该帧的一组早期指示器,该组早期指示器包含用于在帧事件开始之前预测该帧的图像处理负荷的可用的状态数据。
16.如权利要求14所述的图像处理方法,其特征在于,该探测的事件与时间戳有关,其中辨别该第二性能度量的步骤包含比较该时间戳与该特定事件的预期时间。
17.如权利要求14所述的图像处理方法,其特征在于,该控制设定包含频率与电压,来支持该频率下该组设备的操作。
18.如权利要求14所述的图像处理方法,其特征在于,该第一性能度量是基于该帧的一组场景信息而辨别出来,该组场景信息包含下面至少一个:
应用/游戏引擎/游戏物理计算的中央处理单元负荷;
图像处理单元渲染/计算标准的应用程序接口轨迹;
顶点着色运行时间与复杂度;
镶嵌运行时间与复杂度;
块列表–覆盖的块的数量;
渲染目标层的数量;
每层的解析度与总的块数量;
应用程序接口类型;
像素着色运行时间与复杂度;
纹理类型、大小、层、运行时间,以及复杂度;
用户接口事件;以及
显示器数量。
19.如权利要求14所述的图像处理方法,其特征在于,该控制设定包含下面至少一个:
切换图像处理单元或者其子进程的电源;
减速/加速图像处理单元/中央处理单元及其子进程的频率与电压;
包含中央处理单元与图像处理单元的设备的早期唤醒或早期加速;
存储器带宽与仲裁策略的调整;以及
显示器帧率以及终期策略。
20.如权利要求14所述的图像处理方法,其特征在于,探测该特定事件的步骤包含监测该特定事件的步骤包含:监测在CPU加载时发生的一事件,在顶点着色阶段图像处理单元处发生的一事件以及在像素着色阶段图像处理单元处发生的一事件。
21.一种图像处理装置,包含:
一组处理单元;
图像处理单元;
显示设备;以及
电脑可读存储媒介,储存多组指令,其中该多组指令由该组处理单元的执行是通过配置该组处理单元来执行下列动作:
当该图像处理单元处理要在该显示设备上显示的帧时,提供控制设定给该图像处理单元与该显示设备来达到第一性能度量;
当该图像处理单元在处理该帧的时候,在该图像处理单元处探测一特定事件;
基于该探测的事件辨别第二性能度量;以及
基于该第二性能度量调整该图像处理单元的该控制设定。
22.如权利要求21的图像处理装置,其特征在于,该探测的事件与时间戳有关,其中辨别该第二性能度量的步骤包含比较该时间戳与该特定事件的预期时间。
23.如权利要求21的图像处理装置,其特征在于,该控制设定包含频率与电压,来支持该频率下该图像处理单元的操作。
24.如权利要求21的图像处理装置,其特征在于,该控制设定包含该显示设备的帧率控制。
25.如权利要求24的图像处理装置,其特征在于,更包含中央处理单元,其中该组场景信息包含该中央处理单元的负荷信息。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662361039P | 2016-07-12 | 2016-07-12 | |
US62/361,039 | 2016-07-12 | ||
US15/606,132 | 2017-05-26 | ||
US15/606,132 US20170262955A1 (en) | 2017-05-26 | 2017-05-26 | Scene-Aware Power Manager For GPU |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107610039A true CN107610039A (zh) | 2018-01-19 |
Family
ID=61059734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710555428.6A Withdrawn CN107610039A (zh) | 2016-07-12 | 2017-07-10 | 图像处理方法及图像处理装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107610039A (zh) |
TW (1) | TWI633517B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108648259A (zh) * | 2018-03-27 | 2018-10-12 | 广东欧珀移动通信有限公司 | 图像绘制方法、装置、存储介质及智能终端 |
CN108765531A (zh) * | 2018-03-27 | 2018-11-06 | 广东欧珀移动通信有限公司 | 图像渲染方法、装置、存储介质及智能终端 |
CN109165103A (zh) * | 2018-10-15 | 2019-01-08 | Oppo广东移动通信有限公司 | 帧率控制方法、装置、终端及存储介质 |
WO2019153993A1 (en) * | 2018-02-09 | 2019-08-15 | Huawei Technologies Co., Ltd. | Video playback energy consumption control |
WO2021052070A1 (zh) * | 2019-09-19 | 2021-03-25 | 华为技术有限公司 | 一种帧率识别方法及电子设备 |
CN110209501B (zh) * | 2019-06-03 | 2022-02-08 | Oppo广东移动通信有限公司 | 图形处理器的频率调整方法、装置、终端及存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918125B (zh) * | 2019-03-20 | 2022-06-03 | 浪潮商用机器有限公司 | 基于OpenPOWER架构的GPU配置方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101126954A (zh) * | 2002-08-22 | 2008-02-20 | 辉达公司 | 用于自适应功率消耗的方法和装置 |
CN103870213A (zh) * | 2012-12-18 | 2014-06-18 | 辉达公司 | 经由管线化的状态包触发性能事件捕获 |
CN104956321A (zh) * | 2012-12-29 | 2015-09-30 | 英特尔公司 | 标识gpu阶段以便在运行时期间确定gpu扩展性 |
US20150317762A1 (en) * | 2014-04-30 | 2015-11-05 | Qualcomm Incorporated | Cpu/gpu dcvs co-optimization for reducing power consumption in graphics frame processing |
US20160054782A1 (en) * | 2014-08-19 | 2016-02-25 | Nikos Kaburlasos | Dynamic scaling of graphics processor execution resources |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6820209B1 (en) * | 1999-07-15 | 2004-11-16 | Apple Computer, Inc. | Power managed graphics controller |
US7401242B2 (en) * | 2005-09-27 | 2008-07-15 | International Business Machines Corporation | Dynamic power management in a processor design |
TW200720881A (en) * | 2005-11-16 | 2007-06-01 | Micro Star Int Co Ltd | Efficiency optimization method of hardware components by use of adjusting working frequencies |
CN101281415A (zh) * | 2007-04-06 | 2008-10-08 | 上海摩飞电子科技有限公司 | 电源管理技术中的动态电压频率调整方法 |
US8458497B2 (en) * | 2007-10-11 | 2013-06-04 | Qualcomm Incorporated | Demand based power control in a graphics processing unit |
US8271812B2 (en) * | 2010-04-07 | 2012-09-18 | Apple Inc. | Hardware automatic performance state transitions in system on processor sleep and wake events |
CN102520754B (zh) * | 2011-12-28 | 2013-10-23 | 东南大学 | 一种面向动态电压调节***的片上监测电路 |
CN103019367B (zh) * | 2012-12-03 | 2015-07-08 | 福州瑞芯微电子有限公司 | 基于Android***的嵌入式GPU动态调频方法及装置 |
US9606605B2 (en) * | 2014-03-07 | 2017-03-28 | Apple Inc. | Dynamic voltage margin recovery |
US9905199B2 (en) * | 2014-09-17 | 2018-02-27 | Mediatek Inc. | Processor for use in dynamic refresh rate switching and related electronic device and method |
-
2017
- 2017-07-10 CN CN201710555428.6A patent/CN107610039A/zh not_active Withdrawn
- 2017-07-11 TW TW106123178A patent/TWI633517B/zh not_active IP Right Cessation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101126954A (zh) * | 2002-08-22 | 2008-02-20 | 辉达公司 | 用于自适应功率消耗的方法和装置 |
CN103870213A (zh) * | 2012-12-18 | 2014-06-18 | 辉达公司 | 经由管线化的状态包触发性能事件捕获 |
CN104956321A (zh) * | 2012-12-29 | 2015-09-30 | 英特尔公司 | 标识gpu阶段以便在运行时期间确定gpu扩展性 |
US20150317762A1 (en) * | 2014-04-30 | 2015-11-05 | Qualcomm Incorporated | Cpu/gpu dcvs co-optimization for reducing power consumption in graphics frame processing |
US20160054782A1 (en) * | 2014-08-19 | 2016-02-25 | Nikos Kaburlasos | Dynamic scaling of graphics processor execution resources |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019153993A1 (en) * | 2018-02-09 | 2019-08-15 | Huawei Technologies Co., Ltd. | Video playback energy consumption control |
CN111684485A (zh) * | 2018-02-09 | 2020-09-18 | 华为技术有限公司 | 视频播放能耗控制 |
CN111684485B (zh) * | 2018-02-09 | 2023-09-29 | 华为技术有限公司 | 视频播放能耗控制 |
CN108648259A (zh) * | 2018-03-27 | 2018-10-12 | 广东欧珀移动通信有限公司 | 图像绘制方法、装置、存储介质及智能终端 |
CN108765531A (zh) * | 2018-03-27 | 2018-11-06 | 广东欧珀移动通信有限公司 | 图像渲染方法、装置、存储介质及智能终端 |
CN108648259B (zh) * | 2018-03-27 | 2022-07-15 | Oppo广东移动通信有限公司 | 图像绘制方法、装置、存储介质及智能终端 |
CN109165103A (zh) * | 2018-10-15 | 2019-01-08 | Oppo广东移动通信有限公司 | 帧率控制方法、装置、终端及存储介质 |
CN110209501B (zh) * | 2019-06-03 | 2022-02-08 | Oppo广东移动通信有限公司 | 图形处理器的频率调整方法、装置、终端及存储介质 |
WO2021052070A1 (zh) * | 2019-09-19 | 2021-03-25 | 华为技术有限公司 | 一种帧率识别方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
TW201802768A (zh) | 2018-01-16 |
TWI633517B (zh) | 2018-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107610039A (zh) | 图像处理方法及图像处理装置 | |
US20170262955A1 (en) | Scene-Aware Power Manager For GPU | |
CN108337358B (zh) | 应用清理方法、装置、存储介质及电子设备 | |
US10831384B2 (en) | Memory device with power management | |
JP7195334B2 (ja) | リソーススケジューリング方法および端末デバイス | |
US11853796B2 (en) | Controlling operation of a GPU | |
CN104335175A (zh) | 基于***性能度量在***节点之间标识和迁移线程的方法和*** | |
KR101609079B1 (ko) | 그래픽 프로세싱 유닛에서의 명령 선별 | |
US9235665B2 (en) | System, method and apparatus for handling power limit restrictions in flash memory devices | |
US20210247987A1 (en) | Algorithm program loading method and related apparatus | |
CN103701934A (zh) | 一种资源优化调度方法及虚拟机宿主机优化选择方法 | |
CN112529301A (zh) | 用电量预测方法、设备及存储介质 | |
CN113222403B (zh) | 基于大数据的电力调节方法、装置、存储介质及电子设备 | |
CN108701026A (zh) | 用于在存储器约束下管理进程的方法和装置 | |
CN110795400B (zh) | 一种文件的管理方法、装置、设备及介质 | |
CN103942807A (zh) | 一种实时处理的快速图像分块融合***及融合方法 | |
CN112418921A (zh) | 用电需量预测方法、装置、***与计算机存储介质 | |
CN103543901B (zh) | 生成菜单的方法和装置 | |
CN114936085A (zh) | 基于深度学习算法的etl调度方法及装置 | |
CN106649654A (zh) | 一种数据更新的方法和装置 | |
CN112711387A (zh) | 缓冲区容量的调整方法、装置、电子设备及可读存储介质 | |
CN104199759A (zh) | 引起终端温度升高的应用程序识别方法、装置及终端 | |
CN104424294A (zh) | 一种信息处理方法及装置 | |
US20160092140A1 (en) | Storage device management in computing systems | |
CN105988823B (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180119 |
|
WW01 | Invention patent application withdrawn after publication |