本技術(shù)涉及終端領(lǐng)域,尤其涉及一種動(dòng)畫幀合成方法和裝置。
背景技術(shù):
1、目前,當(dāng)用戶在電子設(shè)備啟動(dòng)或退出一個(gè)應(yīng)用程序時(shí),電子設(shè)備可以對(duì)啟動(dòng)或退出應(yīng)用程序的過程進(jìn)行動(dòng)畫渲染合成,以提高電子設(shè)備的顯示效果。
2、其中,啟動(dòng)或退出應(yīng)用程序的動(dòng)畫特效可以包括多幀圖像。相關(guān)技術(shù)中,可以對(duì)每一幀圖像進(jìn)行圓角處理,以便將每一幀圖像生硬的直角轉(zhuǎn)折頂點(diǎn)裁剪為平滑的圓角,從而達(dá)到改善顯示效果的目的。
3、然而,在高幀率(例如,120幀,90幀或60幀)顯示場景中,電子設(shè)備對(duì)每一幀圖像進(jìn)行圓角化處理,極大地降低了動(dòng)畫渲染合成的效率,導(dǎo)致高功耗、高負(fù)載、發(fā)熱嚴(yán)重的問題,還可能造成顯示頁面卡頓,影響電子設(shè)備的用戶的觀看體驗(yàn)。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例提供一種動(dòng)畫幀合成方法和裝置,在保證動(dòng)畫特效的顯示效果的基礎(chǔ)上,可以降低電子設(shè)備的功耗。
2、第一方面,本技術(shù)實(shí)施例提供一種動(dòng)畫幀合成方法,應(yīng)用于電子設(shè)備,電子設(shè)備包括圖形處理器(graphics?processing?unit,gpu)和硬件混合渲染器(hardware?composer,hwc),方法包括:接收第一操作,第一操作用于觸發(fā)電子設(shè)備顯示動(dòng)畫特效,動(dòng)畫特效包括n個(gè)動(dòng)畫幀,n為大于0的整數(shù);電子設(shè)備通過hwc合成n個(gè)動(dòng)畫幀中的m個(gè)動(dòng)畫幀,通過gpu合成n個(gè)動(dòng)畫幀中的n-m個(gè)動(dòng)畫幀,m個(gè)動(dòng)畫幀中每個(gè)動(dòng)畫幀的窗口高度小于n-m個(gè)動(dòng)畫幀中每個(gè)動(dòng)畫幀的窗口高度;其中,m為大于0且小于n的整數(shù),m個(gè)動(dòng)畫幀中的每一幀為矩形圖像,n-m個(gè)動(dòng)畫幀中的每一幀為圓角圖像。
3、基于本技術(shù)實(shí)施例提供的方法,可以由hwc合成n個(gè)動(dòng)畫幀中窗口高度較小的m個(gè)動(dòng)畫幀,由gpu合成n個(gè)動(dòng)畫幀中窗口高度較大的n-m個(gè)動(dòng)畫幀。由于窗口高度較小的m個(gè)動(dòng)畫幀人眼不敏感(人不易識(shí)別),窗口高度較大的n-m個(gè)動(dòng)畫幀人眼較敏感(人可以識(shí)別),因此通過hwc對(duì)人不易識(shí)別的動(dòng)畫幀(m個(gè)動(dòng)畫幀)進(jìn)行合成,通過gpu對(duì)人可以識(shí)別的動(dòng)畫幀(n-m個(gè)動(dòng)畫幀)進(jìn)行合成。可以避免電子設(shè)備對(duì)每一幀動(dòng)畫幀進(jìn)行圓角處理(即通過gpu對(duì)每一幀動(dòng)畫幀進(jìn)行合成)造成的高功耗、高負(fù)載、發(fā)熱嚴(yán)重的問題,在保證動(dòng)畫特效的顯示效果的基礎(chǔ)上,可以提升電子設(shè)備顯示動(dòng)畫特效的性能。
4、在一種可能的實(shí)現(xiàn)方式中,在第一幀率下,m個(gè)動(dòng)畫幀中每個(gè)動(dòng)畫幀的窗口高度小于第一閾值,n-m個(gè)動(dòng)畫幀中每個(gè)動(dòng)畫幀的窗口高度大于或等于第一閾值;在第二幀率下,m個(gè)動(dòng)畫幀中每個(gè)動(dòng)畫幀的窗口高度小于第二閾值,n-m個(gè)動(dòng)畫幀中每個(gè)動(dòng)畫幀的窗口高度大于或等于第二閾值;其中,第一幀率大于第二幀率,第一閾值大于第二閾值。應(yīng)該理解的是,幀率較大時(shí),每一幀動(dòng)畫幀的顯示時(shí)間較短,因此對(duì)窗口高度的要求也相應(yīng)較高。幀率較小時(shí),每一幀動(dòng)畫幀的顯示時(shí)間較長,因此對(duì)窗口高度的要求也相應(yīng)較低。換句話說,幀率較大時(shí),用戶對(duì)窗口高度較高的動(dòng)畫幀才可以識(shí)別,幀率較小時(shí),用戶對(duì)窗口高度較低的動(dòng)畫幀也可以識(shí)別,因此根據(jù)不同幀率設(shè)置不同的窗口高度可以有效識(shí)別出人眼敏感(人可以識(shí)別)的動(dòng)畫幀。進(jìn)一步通過gpu對(duì)人可以識(shí)別的動(dòng)畫幀進(jìn)行合成,通過hwc對(duì)人不易識(shí)別的動(dòng)畫幀進(jìn)行合成??梢员苊怆娮釉O(shè)備對(duì)每一幀動(dòng)畫幀進(jìn)行圓角處理(即通過gpu對(duì)每一幀動(dòng)畫幀進(jìn)行合成)造成的高功耗、高負(fù)載、發(fā)熱嚴(yán)重的問題,在保證動(dòng)畫特效的顯示效果的基礎(chǔ)上,可以提升電子設(shè)備顯示動(dòng)畫特效的性能。
5、在一種可能的實(shí)現(xiàn)方式中,電子設(shè)備安裝第一應(yīng)用程序,第一操作用于啟動(dòng)第一應(yīng)用程序,或者第一操作用于退出第一應(yīng)用程序。響應(yīng)于用戶啟動(dòng)或退出第一應(yīng)用程序的操作(第一操作),電子設(shè)備可以對(duì)啟動(dòng)或退出第一應(yīng)用程序的過程進(jìn)行動(dòng)畫渲染。本技術(shù)實(shí)施例提供的動(dòng)畫幀合成方法,可以應(yīng)用于用戶啟動(dòng)或退出應(yīng)用程序(例如,第一應(yīng)用程序)的場景。
6、在一種可能的實(shí)現(xiàn)方式中,方法還包括:獲取n個(gè)動(dòng)畫幀的每一幀動(dòng)畫幀的特征,每一幀動(dòng)畫幀的特征包括幀率和窗口高度;對(duì)每一幀動(dòng)畫幀的特征進(jìn)行歸一化處理;將歸一化處理后的數(shù)據(jù)輸入分類模型得到輸出值,輸出值用于指示每一幀動(dòng)畫幀是否屬于m個(gè)動(dòng)畫幀或n-m個(gè)動(dòng)畫幀。即可以通過分類模型判斷每一幀動(dòng)畫幀是否屬于m個(gè)動(dòng)畫幀或n-m個(gè)動(dòng)畫幀。而后可以通過hwc對(duì)人不易識(shí)別的動(dòng)畫幀(m個(gè)動(dòng)畫幀)進(jìn)行合成,通過gpu對(duì)人可以識(shí)別的動(dòng)畫幀(n-m個(gè)動(dòng)畫幀)進(jìn)行合成??梢员苊怆娮釉O(shè)備對(duì)每一幀動(dòng)畫幀進(jìn)行圓角處理(即通過gpu對(duì)每一幀動(dòng)畫幀進(jìn)行合成)造成的高功耗、高負(fù)載、發(fā)熱嚴(yán)重的問題,在保證動(dòng)畫特效的顯示效果的基礎(chǔ)上,可以提升電子設(shè)備顯示動(dòng)畫特效的性能。
7、在一種可能的實(shí)現(xiàn)方式中,分類模型為支持向量機(jī)(support?vector?machine,svm)模型,神經(jīng)網(wǎng)絡(luò)模型,隨機(jī)分離模型,線性回歸模型或者邏輯回歸模型中的任一種。
8、在一種可能的實(shí)現(xiàn)方式中,分類模型為邏輯回歸模型,邏輯回歸模型如下:
9、
10、其中,y表示當(dāng)前動(dòng)畫幀是否屬于人眼敏感的動(dòng)畫幀,當(dāng)前動(dòng)畫幀是當(dāng)前輸入邏輯回歸模型的動(dòng)畫幀,當(dāng)前動(dòng)畫幀為n個(gè)動(dòng)畫幀中的任一個(gè),x表示特征向量集合,特征向量集合包括當(dāng)前動(dòng)畫幀的至少一個(gè)特征的編碼值,至少一個(gè)特征包括幀率和窗口高度,w表示權(quán)重向量集合,權(quán)重向量集合包括當(dāng)前動(dòng)畫幀的至少一個(gè)特征分別對(duì)應(yīng)的權(quán)重,t表示轉(zhuǎn)置運(yùn)算,b表示偏置。即可以通過邏輯回歸模型判斷每一幀動(dòng)畫幀是否屬于m個(gè)動(dòng)畫幀或n-m個(gè)動(dòng)畫幀。而后可以通過hwc對(duì)人不易識(shí)別的動(dòng)畫幀(m個(gè)動(dòng)畫幀)進(jìn)行合成,通過gpu對(duì)人可以識(shí)別的動(dòng)畫幀(n-m個(gè)動(dòng)畫幀)進(jìn)行合成??梢员苊怆娮釉O(shè)備對(duì)每一幀動(dòng)畫幀進(jìn)行圓角處理(即通過gpu對(duì)每一幀動(dòng)畫幀進(jìn)行合成)造成的高功耗、高負(fù)載、發(fā)熱嚴(yán)重的問題,在保證動(dòng)畫特效的顯示效果的基礎(chǔ)上,可以提升電子設(shè)備顯示動(dòng)畫特效的性能。
11、在一種可能的實(shí)現(xiàn)方式中,方法還包括:構(gòu)建數(shù)據(jù)集,數(shù)據(jù)集中包括已標(biāo)注的多個(gè)動(dòng)畫幀樣本的特征向量集合,特征向量集合包括幀率和窗口高度;基于數(shù)據(jù)集訓(xùn)練得到邏輯回歸模型。示例性的,可以通過上述數(shù)據(jù)集對(duì)原始模型進(jìn)行訓(xùn)練得到目標(biāo)回歸系數(shù)。其中,原始模型可以是搭建好的,還沒有進(jìn)行訓(xùn)練的邏輯回歸模型。將原始模型中的回歸系數(shù)替換為目標(biāo)回歸系數(shù),可以得到邏輯回歸模型。
12、在一種可能的實(shí)現(xiàn)方式中,電子設(shè)備還包括桌面應(yīng)用和圖像合成系統(tǒng),方法還包括:桌面應(yīng)用對(duì)動(dòng)畫特效包括的n個(gè)動(dòng)畫幀分別進(jìn)行繪制渲染得到待合成的n個(gè)動(dòng)畫幀;桌面應(yīng)用將待合成的n個(gè)動(dòng)畫幀發(fā)送至圖像合成系統(tǒng);圖像合成系統(tǒng)確定待合成的n個(gè)動(dòng)畫幀中人眼敏感的動(dòng)畫幀和人眼不敏感的動(dòng)畫幀,人眼敏感的動(dòng)畫幀屬于n-m個(gè)動(dòng)畫幀,人眼不敏感的動(dòng)畫幀屬于m個(gè)動(dòng)畫幀;圖像合成系統(tǒng)將人眼不敏感的動(dòng)畫幀發(fā)送給hwc,將人眼敏感的動(dòng)畫幀發(fā)送給gpu。即可以通過hwc對(duì)人不易識(shí)別的動(dòng)畫幀(m個(gè)動(dòng)畫幀)進(jìn)行合成,通過gpu對(duì)人可以識(shí)別的動(dòng)畫幀(n-m個(gè)動(dòng)畫幀)進(jìn)行合成??梢员苊怆娮釉O(shè)備對(duì)每一幀動(dòng)畫幀進(jìn)行圓角處理(即通過gpu對(duì)每一幀動(dòng)畫幀進(jìn)行合成)造成的高功耗、高負(fù)載、發(fā)熱嚴(yán)重的問題,在保證動(dòng)畫特效的顯示效果的基礎(chǔ)上,可以提升電子設(shè)備顯示動(dòng)畫特效的性能。
13、在一種可能的實(shí)現(xiàn)方式中,電子設(shè)備還包括顯示屏,方法還包括:hwc對(duì)接收到的動(dòng)畫幀進(jìn)行合成處理,得到第一待顯示動(dòng)畫幀;gpu對(duì)接收到的動(dòng)畫幀進(jìn)行合成處理,得到第二待顯示動(dòng)畫幀;hwc將第一待顯示動(dòng)畫幀發(fā)送至顯示屏,顯示屏顯示第一待顯示動(dòng)畫幀;gpu將第二待顯示動(dòng)畫幀發(fā)送至顯示屏,顯示屏顯示第二待顯示動(dòng)畫幀。即可以通過hwc對(duì)人不易識(shí)別的動(dòng)畫幀(m個(gè)動(dòng)畫幀)進(jìn)行合成,通過gpu對(duì)人可以識(shí)別的動(dòng)畫幀(n-m個(gè)動(dòng)畫幀)進(jìn)行合成。可以避免電子設(shè)備對(duì)每一幀動(dòng)畫幀進(jìn)行圓角處理(即通過gpu對(duì)每一幀動(dòng)畫幀進(jìn)行合成)造成的高功耗、高負(fù)載、發(fā)熱嚴(yán)重的問題,在保證動(dòng)畫特效的顯示效果的基礎(chǔ)上,可以提升電子設(shè)備顯示動(dòng)畫特效的性能。
14、第二方面,本技術(shù)提供一種芯片系統(tǒng),該芯片系統(tǒng)包括一個(gè)或多個(gè)接口電路和一個(gè)或多個(gè)處理器。該接口電路和處理器通過線路互聯(lián)。上述芯片系統(tǒng)可以應(yīng)用于包括通信模塊和存儲(chǔ)器的電子設(shè)備。該接口電路用于從電子設(shè)備的存儲(chǔ)器接收信號(hào),并向處理器發(fā)送接收到的信號(hào),該信號(hào)包括存儲(chǔ)器中存儲(chǔ)的計(jì)算機(jī)指令。當(dāng)處理器執(zhí)行該計(jì)算機(jī)指令時(shí),電子設(shè)備可以執(zhí)行如第一方面及其任一種可能的設(shè)計(jì)方式所述的方法。
15、第三方面,本技術(shù)提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)包括計(jì)算機(jī)指令。當(dāng)計(jì)算機(jī)指令在電子設(shè)備(如手機(jī))上運(yùn)行時(shí),使得該電子設(shè)備執(zhí)行如第一方面及其任一種可能的設(shè)計(jì)方式所述的方法。
16、第四方面,本技術(shù)提供一種計(jì)算機(jī)程序產(chǎn)品,當(dāng)所述計(jì)算機(jī)程序產(chǎn)品在計(jì)算機(jī)上運(yùn)行時(shí),使得所述計(jì)算機(jī)執(zhí)行如第一方面及其任一種可能的設(shè)計(jì)方式所述的方法。
17、第五方面,本技術(shù)實(shí)施例提供了一種動(dòng)畫幀合成裝置,包括處理器,處理器和存儲(chǔ)器耦合,存儲(chǔ)器存儲(chǔ)有程序指令,當(dāng)存儲(chǔ)器存儲(chǔ)的程序指令被處理器執(zhí)行時(shí)使得所述裝置實(shí)現(xiàn)上述第一方面及其任一種可能的設(shè)計(jì)方式所述的方法。所述裝置可以為電子設(shè)備或服務(wù)器設(shè)備;或可以為電子設(shè)備或服務(wù)器設(shè)備中的一個(gè)組成部分,如芯片。
18、第六方面,本技術(shù)實(shí)施例提供了一種動(dòng)畫幀合成裝置,所述裝置可以按照功能劃分為不同的邏輯單元或模塊,各單元或模塊執(zhí)行不同的功能,以使得所述裝置執(zhí)行上述第一方面及其任一種可能的設(shè)計(jì)方式所述的方法。
19、可以理解地,上述提供的第二方面所述的芯片系統(tǒng),第三方面所述的計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),第四方面所述的計(jì)算機(jī)程序產(chǎn)品及第五方面、第六方面所述的裝置所能達(dá)到的有益效果,可參考如第一方面及其任一種可能的設(shè)計(jì)方式中的有益效果,此處不再贅述。