TWI633517B - 影像處理方法及影像處理裝置 - Google Patents
影像處理方法及影像處理裝置 Download PDFInfo
- Publication number
- TWI633517B TWI633517B TW106123178A TW106123178A TWI633517B TW I633517 B TWI633517 B TW I633517B TW 106123178 A TW106123178 A TW 106123178A TW 106123178 A TW106123178 A TW 106123178A TW I633517 B TWI633517 B TW I633517B
- Authority
- TW
- Taiwan
- Prior art keywords
- image processing
- frame
- processing unit
- event
- performance
- Prior art date
Links
Landscapes
- Controls And Circuits For Display Device (AREA)
- Power Sources (AREA)
Abstract
本發明提供一種影像處理方法及影像處理裝置。該影像處理方法包含:通過提供控制設定給第一組設備來處理第一幀,以達到第一性能度量;在該第一幀後,從第二組設備接收關於第二幀的場景資訊;對該第一幀與該第二幀之間的變化進行量化;根據該量化的變化與預定的閾值之間的比較適應性調整該控制設定;以及通過提供該調整的控制設定給該第一組設備來處理該第二幀。
Description
本發明大體關於電子裝置內的視訊播放,更具體地,是關於影像處理單元的電源管理。
除非有另行說明,本部分描述的方案並非前面權利項的前案也並不因將這些說明包含在本部分中而承認其為前案。
影像處理單元(GPU)(也可稱作VPU,即visual processing unit)是一個特製的電子電路,其設計用來快速操作並改變存儲從而加速要輸出給顯示器的幀緩衝中的圖像創建。GPU用於嵌入式系統、行動手機、個人電腦、工作站以及遊戲機中。現代GPU對於操作電腦圖像與影像處理都非常之有效,其高度並行的結構使得它們比一般CPU在並行處理大塊資料的演算法方面更有效率。
為解決影像處理中的功耗問題,特提供一種影像處理方法與影像處理裝置。
本發明提供一種影像處理方法包含:通過提供控制設定給第一組設備來處理第一幀,以達到第一性能度量;在該第一幀後,從第二組設備接收關於第二幀的場景資訊;對該
第一幀與該第二幀之間的變化進行量化;根據該量化的變化與預定的閾值之間的比較適應性調整該控制設定;以及通過提供該調整的控制設定給該第一組設備來處理該第二幀。
本發明另提供一種影像處理方法,包含:通過提供控制設定給一組設備來處理幀,以達到第一性能度量;當影像處理單元在處理該幀時,在該影像處理單元處探測特定事件;基於該探測的事件辨別第二性能度量;以及調整該組設備的該控制設定以達到該第二性能度量。
本發明另提供一種影像處理裝置,包含:一組處理單元;影像處理單元;顯示裝置;以及電腦可讀存儲媒介,儲存多組指令,其中該多組指令由該組處理單元的執行是通過配置該組處理單元來執行下列動作:當該影像處理單元處理要在該顯示裝置上顯示的幀時,提供控制設定給該影像處理單元與該顯示裝置來達到第一性能度量;當該影像處理單元在處理該幀的時候,在該影像處理單元處探測一特定事件;基於該探測的事件辨別第二性能度量;以及基於該第二性能度量調整該影像處理單元的該控制設定。
本發明的影像處理方法與影像處理裝置能夠使影像處理系統的性能水準最佳化。
100‧‧‧影像處理系統
110‧‧‧電源管理器
120‧‧‧幀分析器
130‧‧‧性能控制器
131‧‧‧頻率設定
132‧‧‧電壓設定
140‧‧‧事件報告器
150‧‧‧性能查找表
211-214‧‧‧早期指示器
310-370‧‧‧步驟
410‧‧‧CPU
420‧‧‧GPU
430‧‧‧主記憶體
435‧‧‧記憶體控制器
440‧‧‧GPU記憶體
450‧‧‧顯示裝置
455‧‧‧顯示控制器
490‧‧‧其他設備
701‧‧‧事件身份
702‧‧‧實際時間
710‧‧‧查找表
711‧‧‧預期時間
800‧‧‧電子系統
805‧‧‧包含匯流排
810‧‧‧處理單元
815‧‧‧影像處理單元
820‧‧‧系統記憶體
825‧‧‧網路
830‧‧‧唯讀記憶體
835‧‧‧永久存儲裝置
840‧‧‧輸入裝置
845‧‧‧輸出設備
第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中查找一個估計所需性能(estimated required performance)。電源管理器110使用估計所需性能來產生性能控制器130的性能設定。
在一些實施例中,這些性能設定包含頻率設定131與電壓設定132。電壓設定132指示影像處理系統100在頻率設定131所指示的頻率下工作所需的電壓。(更高電壓允許電
路操作在更高頻率,這會因更高資料通量以及/或更低延遲導致更高性能度量,但是也帶來更大耗電。)
影像處理系統100基於事件報告器140所報告的事件適應性調整性能控制器130的性能設定。在一些實施例中,電源管理器110從事件報告器140接收報告的事件的身份(identity)以及與事件相關的時間戳記(time stamp),並確定提供給性能控制器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 previous scene 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 each layer);圖元著色執行時間與複雜度(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類型;圖元著色執行時間與複雜度;紋理類型、大小、層、執行時間,以及複雜度;使用者介面事件;以及顯示器數量。
在一些實施例中,電源管理器提供性能設定給影像處理系統的各個元件,以達到具體性能度量,例如特定工作頻率(為了達到一個特定資料率或延遲)。一組性能設定可包含影像處理系統中不同元件、模組或電路的性能設定。換句話說,一組性能設定可包含CPU 410的頻率與電壓設定,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與預期時間查找表LUT 710)都是基於場景資訊而動態可調的。例如當執行場景資訊或早期指示器的各種組合的微調時,電源管理器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®光碟、高密度光碟(ultra density optical discs),任何其他光學或磁性媒介,以及軟碟。電腦可讀媒介可儲存由至少一個處理單元執行的電腦程式並包含一組指令用於執行各種操作。電腦程式或電腦代碼的例子可包含機器碼,例如由編譯器產生的代碼,包含用電腦、電子元件或當作翻譯器的微處理器執行的更高級別的代碼。
上面的討論基本是關於執行軟體的微處理器或多核處理器,一些實施例由一個或多個積體電路所執行,例如是專用積體電路(ASIC)或場可程式設計閘陣列(FPGA)。在一些實施例中,這些積體電路執行的指令儲存在電路自身內。另外,一些實施例執行儲存在可編成邏輯裝置(PLD)、ROM、或RAM設備中的軟體。
如本申請說明書及權利項書所使用的那樣,術語“電腦”,“伺服器”,“處理器”,及“記憶體”都是指電子或其他技術性設備。這些術語排除了人或人群。為了說明的目的,術語“顯示”或“顯示工具”意思是在一個電子設備上顯示。如在本申請說明書及權利項書所使用的那樣,術語“電腦可讀媒介”,“電腦可讀媒介”以及“機器可讀媒介”整體都限定于儲存資訊於一個電腦可讀的形式有形的物理物體。這些術語排除了無線信號、有線下載信號以及任何其他暫態信號。
雖然本申請的說明書已經有關於各種具體細節的描述,本領域內的技術人員能瞭解本發明可以用其他特定形式實施,而不偏離本發明的精神。另外,多個圖示(包含第3圖)概念性地展示了流程。這些流程的具體操作可嚴格如圖所示並說明的循序執行。具體操作可不用在一系列連續操作中執行,不同實施例可執行不同特定操作。而且,流程可用幾個子流程實施,或作為更大流程的一部分。因此,本領域的技術人員會瞭解本發明並不限於前述的細節,而是要由前面的權利項所界定。
本發明可以其他特定形式體現而不脫離本發明之
精神和基本特徵。上述實施例僅作為說明而非用來限制本發明,本發明之保護範圍當視後附之申請專利範圍所界定者為準。凡依本發明申請專利範圍所做之均等變化與修飾,皆應屬本發明之涵蓋範圍。
Claims (22)
- 一種影像處理方法,包含:通過提供控制設定給第一組設備來處理第一幀,以達到第一性能度量;在該第一幀後,從第二組設備接收關於第二幀的場景資訊;對該第一幀與該第二幀之間的變化進行量化;根據該量化的變化與預定的閾值之間的比較適應性調整該控制設定;以及通過提供該調整的控制設定給該第一組設備來處理該第二幀,其中該控制設定包含頻率與電壓來支援該第一組設備在該頻率的操作。
- 如申請專利範圍第1項所述之影像處理方法,其中對該第一幀與該第二幀之間的變化進行量化的步驟包含:比較該第一幀的一組早期指示器與該第二幀的一組早期指示器,其中一個幀的一組早期指示器包含可在幀事件開始之前用於預測該幀的影像處理負荷的狀態資料。
- 如申請專利範圍第1項所述之影像處理方法,其中當該量化的變化大於一個特定閾值時,調整給該第一組設備的該控制設定,來達到第二性能度量,其中該第二性能度量比該第一性能度量大一個特定量;以及當該量化的變化小於該特定閾值時,基於第三性能度量調整給該第一組設備的該控制設定,其中該第三性能度量與該第一性能度量的差別小於該特定量。
- 如申請專利範圍第1項所述之影像處理方法,其中該第一 組設備包含影像處理單元。
- 如申請專利範圍第1項所述之影像處理方法,其中該第二組設備包含中央處理單元、記憶體控制器、影像處理單元,該場景資訊包含由該影像處理單元與該中央處理單元所產生的一組資料。
- 如申請專利範圍第1項所述之影像處理方法,其中該場景資訊包含下列中至少一個:應用/遊戲引擎/遊戲物理計算的中央處理單元負荷;影像處理單元渲染/計算標準的應用程式介面軌跡;頂點著色執行時間與複雜度;鑲嵌執行時間與複雜度;塊列表-覆蓋的塊的數量;渲染目標層的數量;每層的解析度與總的塊數量;應用程式介面類別型;圖元著色執行時間與複雜度;紋理類型、大小、層、執行時間,以及複雜度;使用者介面事件;以及顯示器數量。
- 如申請專利範圍第1項所述之影像處理方法,其中還包含:當一影像處理單元在處理該第二幀時,在該影像處理單元探測一個特定事件;基於該探測的事件辨別一第四性能度量;以及調整給該第一組設備的該控制設定來達到該第四性能度 量。
- 如申請專利範圍第7項所述之影像處理方法,其中該探測的事件與時間戳記相關,其中探測該第一性能度量的步驟包含比較該時間戳記與該特定事件的預期時間。
- 如申請專利範圍第7項所述之影像處理方法,其中探測該特定事件的步驟包含監測該特定事件的步驟包含:監測在CPU載入時發生的一事件,在頂點著色階段影像處理單元處發生的一事件以及在圖元著色階段影像處理單元處發生的一事件。
- 如申請專利範圍第1項所述之影像處理方法,其中處理顯示的該第二幀的步驟更包含:從該第二組設備接收關於該第二幀的場景資訊,並基於該接收的場景資訊調整該第一組設備的該控制設定。
- 如申請專利範圍第3項所述之影像處理方法,其中該第二性能度量是一個獨立於該量化的變化的預定值。
- 如申請專利範圍第3項所述之影像處理方法,其中該第二性能度量是基於該量化的變化而非該第一性能度量所辨別的預定值。
- 一種影像處理方法,包含:通過提供控制設定給一組設備來處理幀,以達到第一性能度量;當影像處理單元在處理該幀時,在該影像處理單元處探測特定事件;基於該探測的事件辨別第二性能度量;以及 調整該組設備的該控制設定以達到該第二性能度量,其中該控制設定包含頻率與電壓,來支援該頻率下該組設備的操作。
- 如申請專利範圍第13項所述之影像處理方法,其中為了要達到該第一性能度量而提供的該控制設定是基於該幀的一組早期指示器,該組早期指示器包含用於在幀事件開始之前預測該幀的影像處理負荷的可用的狀態資料。
- 如申請專利範圍第13項所述之影像處理方法,其中該探測的事件與時間戳記有關,其中辨別該第二性能度量的步驟包含比較該時間戳記與該特定事件的預期時間。
- 如申請專利範圍第13項所述之影像處理方法,其中該第一性能度量是基於該幀的一組場景資訊而辨別出來,該組場景資訊包含下面至少一個:應用/遊戲引擎/遊戲物理計算的中央處理單元負荷;影像處理單元渲染/計算標準的應用程式介面軌跡;頂點著色執行時間與複雜度;鑲嵌執行時間與複雜度;塊列表-覆蓋的塊的數量;渲染目標層的數量;每層的解析度與總的塊數量;應用程式介面類別型;圖元著色執行時間與複雜度;紋理類型、大小、層、執行時間,以及複雜度;使用者介面事件;以及 顯示器數量。
- 如申請專利範圍第13項所述之影像處理方法,其中該控制設定包含下面至少一個:切換影像處理單元或者其子進程的電源;減速/加速影像處理單元/中央處理單元及其子進程的頻率與電壓;包含中央處理單元與影像處理單元的設備的早期喚醒或早期加速;記憶體頻寬與仲裁策略的調整;以及顯示器幀率以及終期策略。
- 如申請專利範圍第13項所述之影像處理方法,其中探測該特定事件的步驟包含監測該特定事件的步驟包含:監測在CPU載入時發生的一事件,在頂點著色階段影像處理單元處發生的一事件以及在圖元著色階段影像處理單元處發生的一事件。
- 一種影像處理裝置,包含:一組處理單元;影像處理單元;顯示裝置;以及電腦可讀存儲媒介,儲存多組指令,其中該多組指令由該組處理單元的執行是通過配置該組處理單元來執行下列動作:當該影像處理單元處理要在該顯示裝置上顯示的幀時,提供控制設定給該影像處理單元與該顯示裝置來達到第一性 能度量;當該影像處理單元在處理該幀的時候,在該影像處理單元處探測一特定事件;基於該探測的事件辨別第二性能度量;以及基於該第二性能度量調整該影像處理單元的該控制設定,其中該控制設定包含頻率與電壓,來支援該頻率下該影像處理單元的操作。
- 如申請專利範圍第19的影像處理裝置,其中該探測的事件與時間戳記有關,其中辨別該第二性能度量的步驟包含比較該時間戳記與該特定事件的預期時間。
- 如申請專利範圍第19的影像處理裝置,其中該控制設定包含該顯示裝置的幀率控制。
- 如申請專利範圍第19的影像處理裝置,其中更包含中央處理單元,其中該組場景資訊包含該中央處理單元的負荷資訊。
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 US20170262955A1 (en) | 2017-05-26 | 2017-05-26 | Scene-Aware Power Manager For GPU |
US15/606,132 | 2017-05-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201802768A TW201802768A (zh) | 2018-01-16 |
TWI633517B true TWI633517B (zh) | 2018-08-21 |
Family
ID=61059734
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW106123178A TWI633517B (zh) | 2016-07-12 | 2017-07-11 | 影像處理方法及影像處理裝置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107610039A (zh) |
TW (1) | TWI633517B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190250690A1 (en) * | 2018-02-09 | 2019-08-15 | Futurewei Technologies Inc | Video playback energy consumption control |
CN108765531A (zh) * | 2018-03-27 | 2018-11-06 | 广东欧珀移动通信有限公司 | 图像渲染方法、装置、存储介质及智能终端 |
CN108648259B (zh) * | 2018-03-27 | 2022-07-15 | Oppo广东移动通信有限公司 | 图像绘制方法、装置、存储介质及智能终端 |
CN109165103B (zh) * | 2018-10-15 | 2021-05-25 | Oppo广东移动通信有限公司 | 帧率控制方法、装置、终端及存储介质 |
CN109918125B (zh) * | 2019-03-20 | 2022-06-03 | 浪潮商用机器有限公司 | 基于OpenPOWER架构的GPU配置方法及装置 |
CN110209501B (zh) * | 2019-06-03 | 2022-02-08 | Oppo广东移动通信有限公司 | 图形处理器的频率调整方法、装置、终端及存储介质 |
CN112516590A (zh) * | 2019-09-19 | 2021-03-19 | 华为技术有限公司 | 一种帧率识别方法及电子设备 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6820209B1 (en) * | 1999-07-15 | 2004-11-16 | Apple Computer, Inc. | Power managed graphics controller |
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 |
CN101268432A (zh) * | 2005-09-27 | 2008-09-17 | 国际商业机器公司 | 处理器设计中用于动态功率管理的系统和方法 |
CN101281415A (zh) * | 2007-04-06 | 2008-10-08 | 上海摩飞电子科技有限公司 | 电源管理技术中的动态电压频率调整方法 |
TW200926049A (en) * | 2007-10-11 | 2009-06-16 | Qualcomm Inc | Demand-based power control in a graphics processing unit |
CN102520754A (zh) * | 2011-12-28 | 2012-06-27 | 东南大学 | 一种面向动态电压调节系统的片上监测电路 |
CN103019367A (zh) * | 2012-12-03 | 2013-04-03 | 福州瑞芯微电子有限公司 | 基于Android系统的嵌入式GPU动态调频方法及装置 |
US20140122908A1 (en) * | 2010-04-07 | 2014-05-01 | Apple Inc. | Hardware Automatic Performance State Transitions in System on Processor Sleep and Wake Events |
TW201541234A (zh) * | 2014-03-07 | 2015-11-01 | Apple Inc | 動態電壓餘量恢復 |
CN105427785A (zh) * | 2014-09-17 | 2016-03-23 | 联发科技股份有限公司 | 用于动态刷新率切换的处理器与相关电子装置及方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7634668B2 (en) * | 2002-08-22 | 2009-12-15 | Nvidia Corporation | Method and apparatus for adaptive power consumption |
US9030480B2 (en) * | 2012-12-18 | 2015-05-12 | Nvidia Corporation | Triggering performance event capture via pipelined state bundles |
US9424620B2 (en) * | 2012-12-29 | 2016-08-23 | Intel Corporation | Identification of GPU phase to determine GPU scalability during runtime |
US9378536B2 (en) * | 2014-04-30 | 2016-06-28 | Qualcomm Incorporated | CPU/GPU DCVS co-optimization for reducing power consumption in graphics frame processing |
US10025367B2 (en) * | 2014-08-19 | 2018-07-17 | Intel Corporation | Dynamic scaling of graphics processor execution resources |
-
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 (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6820209B1 (en) * | 1999-07-15 | 2004-11-16 | Apple Computer, Inc. | Power managed graphics controller |
CN101268432A (zh) * | 2005-09-27 | 2008-09-17 | 国际商业机器公司 | 处理器设计中用于动态功率管理的系统和方法 |
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 | 上海摩飞电子科技有限公司 | 电源管理技术中的动态电压频率调整方法 |
TW200926049A (en) * | 2007-10-11 | 2009-06-16 | Qualcomm Inc | Demand-based power control in a graphics processing unit |
US20140122908A1 (en) * | 2010-04-07 | 2014-05-01 | Apple Inc. | Hardware Automatic Performance State Transitions in System on Processor Sleep and Wake Events |
CN102520754A (zh) * | 2011-12-28 | 2012-06-27 | 东南大学 | 一种面向动态电压调节系统的片上监测电路 |
CN103019367A (zh) * | 2012-12-03 | 2013-04-03 | 福州瑞芯微电子有限公司 | 基于Android系统的嵌入式GPU动态调频方法及装置 |
TW201541234A (zh) * | 2014-03-07 | 2015-11-01 | Apple Inc | 動態電壓餘量恢復 |
CN105427785A (zh) * | 2014-09-17 | 2016-03-23 | 联发科技股份有限公司 | 用于动态刷新率切换的处理器与相关电子装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107610039A (zh) | 2018-01-19 |
TW201802768A (zh) | 2018-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI633517B (zh) | 影像處理方法及影像處理裝置 | |
US20170262955A1 (en) | Scene-Aware Power Manager For GPU | |
US9952970B2 (en) | Cache allocation for disk array | |
US7669130B2 (en) | Dynamic real-time playback | |
US9817431B2 (en) | Frame based clock rate adjustment for processing unit | |
US9082196B2 (en) | Application-transparent resolution control by way of command stream interception | |
US9223631B2 (en) | Performing an operation using multiple services | |
US10007292B2 (en) | Energy aware dynamic adjustment algorithm | |
US20100060629A1 (en) | Graphics-Processing Architecture Based on Approximate Rendering | |
US20170199558A1 (en) | Flexible and scalable energy model for estimating energy consumption | |
US10719971B2 (en) | Low resolution depth pre-pass | |
US9612949B2 (en) | Memory allocation in a multi-core processing system based on a threshold amount of memory | |
US9235665B2 (en) | System, method and apparatus for handling power limit restrictions in flash memory devices | |
US20180329742A1 (en) | Timer-assisted frame running time estimation | |
US10877545B2 (en) | Energy management in graphics processing units | |
US11847995B2 (en) | Video data processing based on sampling rate | |
US20140173617A1 (en) | Dynamic task completion scaling of system resources for a battery operated device | |
WO2021243562A1 (en) | Compensating for pixel decay for a display | |
WO2021000226A1 (en) | Methods and apparatus for optimizing frame response | |
CN108228055A (zh) | 一种窗口位置调整控制方法、装置及终端 | |
US11900123B2 (en) | Marker-based processor instruction grouping | |
CN108510937A (zh) | 一种显示控制方法及装置 | |
CN117785835A (zh) | 数据迁移方法、装置、存储介质及电子设备 | |
CN116995770A (zh) | 储能系统的充放电控制方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |