3d控件圖片顯示處理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,具體而言,涉及一種3D控件圖片顯示處理方法及裝置。
【背景技術(shù)】
[0002]作為家電設(shè)備,機(jī)頂盒(Set Top Box,簡(jiǎn)稱為STB)展示的電子節(jié)目菜單(Electronic Program Guide,簡(jiǎn)稱為EPG)界面使用頻率非常高,EPG界面上絢麗流暢的3D特效提升用戶體驗(yàn)最有效方法。
[0003]采用系統(tǒng)原生功能實(shí)現(xiàn)絢麗特效(比如,漸變、旋轉(zhuǎn)等)會(huì)非常耗費(fèi)中央處理器(Central Processing Unit,簡(jiǎn)稱為CPU),而這些盒子在很多局點(diǎn)都有數(shù)字視頻錄像機(jī)(Digital確Video Recorder,簡(jiǎn)稱為DVR)功能,即在觀看高清視頻時(shí),還需要能錄制1路甚至多路視頻,這個(gè)時(shí)候,同時(shí)的播放和錄制任務(wù)非常耗CPU,從而和特效顯示搶占寶貴的CHJ資源,最終導(dǎo)致界面卡頓,用戶體驗(yàn)下降。
[0004]因此,在相關(guān)技術(shù)中,采用CPU顯示3D圖片存在顯示效率低,導(dǎo)致用戶體驗(yàn)下降的問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種3D控件圖片顯示處理方法及裝置,以至少解決相關(guān)技術(shù)中,采用CPU顯示3D圖片存在顯示效率低,導(dǎo)致用戶體驗(yàn)下降的問(wèn)題。
[0006]根據(jù)本發(fā)明的一個(gè)方面,提供了一種3D控件圖片顯示處理方法,包括:接收到對(duì)3D控件顯示過(guò)的圖片進(jìn)行顯示的請(qǐng)求;獲取預(yù)先緩存的所述3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù);對(duì)所述未解碼的二進(jìn)制數(shù)據(jù)采用圖像處理單元GPU進(jìn)行解碼顯示。
[0007]優(yōu)選地,在接收到對(duì)所述3D控件顯示過(guò)的所述圖片進(jìn)行顯示的請(qǐng)求之前,還包括:依據(jù)圖片類型對(duì)所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)進(jìn)行緩存。
[0008]優(yōu)選地,在依據(jù)所述圖片類型對(duì)所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)進(jìn)行緩存之后,還包括:依據(jù)預(yù)定策略對(duì)緩存所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)所占用的內(nèi)存進(jìn)行釋放。
[0009]優(yōu)選地,依據(jù)預(yù)定策略對(duì)緩存所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)所占用的內(nèi)存進(jìn)行釋放包括以下至少之一:在緩存的所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)所占用的內(nèi)存超過(guò)預(yù)定閾值的情況下,由系統(tǒng)回收緩存所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)所占用的內(nèi)存;在確定緩存的所述3D控件顯示過(guò)的圖片所對(duì)應(yīng)的應(yīng)用關(guān)閉的情況下,釋放緩存所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)所占用的內(nèi)存。
[0010]優(yōu)選地,在對(duì)所述未解碼的二進(jìn)制數(shù)據(jù)采用所述GPU進(jìn)行解碼顯示之前,還包括:判斷所述圖片的分辨率是否達(dá)到預(yù)定閾值;在判斷結(jié)果為是的情況下,對(duì)所述圖片的顯示大小進(jìn)行調(diào)整,依據(jù)調(diào)整后的大小對(duì)所述未解碼的二進(jìn)制數(shù)據(jù)采用所述GPU進(jìn)行解碼顯
/j、l Ο
[0011]根據(jù)本發(fā)明的另一方面,提供了一種3D控件圖片顯示處理裝置,包括:接收模塊,用于接收到對(duì)3D控件顯示過(guò)的圖片進(jìn)行顯示的請(qǐng)求;獲取模塊,用于獲取預(yù)先緩存的所述3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù);顯示模塊,用于對(duì)所述未解碼的二進(jìn)制數(shù)據(jù)采用圖像處理單元GPU進(jìn)行解碼顯示。
[0012]優(yōu)選地,該裝置還包括:緩存模塊,用于依據(jù)圖片類型對(duì)所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)進(jìn)行緩存。
[0013]優(yōu)選地,該裝置還包括:釋放模塊,用于依據(jù)預(yù)定策略對(duì)緩存所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)所占用的內(nèi)存進(jìn)行釋放。
[0014]優(yōu)選地,所述釋放模塊包括以下至少之一:回收單元,用于在緩存的所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)所占用的內(nèi)存超過(guò)預(yù)定閾值的情況下,由系統(tǒng)回收緩存所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)所占用的內(nèi)存;釋放單元,用于釋放在確定緩存的所述3D控件顯示過(guò)的圖片所對(duì)應(yīng)的應(yīng)用關(guān)閉的情況下,釋放緩存所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)所占用的內(nèi)存。
[0015]優(yōu)選地,該裝置還包括:判斷模塊,用于判斷所述圖片的分辨率是否達(dá)到預(yù)定閾值;調(diào)整模塊,用于在所述判斷模塊的判斷結(jié)果為是的情況下,對(duì)所述圖片的顯示大小進(jìn)行調(diào)整,依據(jù)調(diào)整后的大小對(duì)所述未解碼的二進(jìn)制數(shù)據(jù)采用所述GPU進(jìn)行解碼顯示。
[0016]通過(guò)本發(fā)明,采用接收到對(duì)3D控件顯示過(guò)的圖片進(jìn)行顯示的請(qǐng)求;獲取預(yù)先緩存的所述3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù);對(duì)所述未解碼的二進(jìn)制數(shù)據(jù)采用圖像處理單元GPU進(jìn)行解碼顯示,解決了相關(guān)技術(shù)中,采用CPU顯示3D圖片存在顯示效率低,導(dǎo)致用戶體驗(yàn)下降的問(wèn)題,進(jìn)而達(dá)到了在不占用CPU資源的情況下,高效地對(duì)3D圖片進(jìn)行顯示的效果。
【附圖說(shuō)明】
[0017]此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本申請(qǐng)的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:
[0018]圖1是根據(jù)本發(fā)明實(shí)施例的3D控件圖片顯示處理方法的流程圖;
[0019]圖2是根據(jù)本發(fā)明實(shí)施例的3D控件圖片顯示處理裝置的結(jié)構(gòu)框圖;
[0020]圖3是根據(jù)本發(fā)明實(shí)施例的3D控件圖片顯示處理裝置的結(jié)構(gòu)框圖一;
[0021]圖4是根據(jù)本發(fā)明實(shí)施例的3D控件圖片顯示處理裝置的結(jié)構(gòu)框圖二 ;
[0022]圖5是根據(jù)本發(fā)明實(shí)施例的3D控件圖片顯示處理裝置中釋放模塊42的優(yōu)選結(jié)構(gòu)框圖;
[0023]圖6是根據(jù)本發(fā)明實(shí)施例的3D控件圖片顯示處理裝置的結(jié)構(gòu)框圖三;
[0024]圖7是根據(jù)本發(fā)明實(shí)施例的3D控制架構(gòu)示意圖;
[0025]圖8是根據(jù)本發(fā)明實(shí)施例的3D控件加載顯示當(dāng)前頁(yè)圖片(本地緩存中沒(méi)有的圖片)的流程圖;
[0026]圖9是根據(jù)本發(fā)明實(shí)施例的3D控件加載顯示上一頁(yè)圖片(本地緩存中存在的圖片)的流程圖;
[0027]圖10是根據(jù)本發(fā)明實(shí)施例的APP切換新界面后清空3D控件圖片資源的流程圖;
[0028]圖11是根據(jù)本發(fā)明實(shí)施例的3D海報(bào)墻顯示電影海報(bào)的效果圖。
【具體實(shí)施方式】
[0029]下文中將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0030]在本實(shí)施例中提供了一種3D控件圖片顯示處理方法,圖1是根據(jù)本發(fā)明實(shí)施例的3D控件圖片顯示處理方法的流程圖,如圖1所示,該流程包括如下步驟:
[0031]步驟S102,接收到對(duì)3D控件顯示過(guò)的圖片進(jìn)行顯示的請(qǐng)求;
[0032]步驟S104,獲取預(yù)先緩存的3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù);
[0033]步驟S106,對(duì)該未解碼的二進(jìn)制數(shù)據(jù)采用圖像處理單元GPU進(jìn)行解碼顯示。
[0034]通過(guò)上述步驟,獲取預(yù)先緩存的3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù),并采用該GPU來(lái)實(shí)現(xiàn)對(duì)3D圖片的顯示,在解碼后,使用成熟的C語(yǔ)言3D引擎實(shí)現(xiàn)Android應(yīng)用中圖片的3D特效效果,不僅解決了相關(guān)技術(shù)中采用CPU顯示3D圖片存在顯示效率低的問(wèn)題,即使用成熟的C語(yǔ)言3D引擎實(shí)現(xiàn)Android應(yīng)用中3D效果圖片顯示時(shí)圖片的使用、緩存和管理問(wèn)題,而且采用對(duì)顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù)進(jìn)行緩存的方式,達(dá)到了在不占用CPU資源的情況下,高效地對(duì)3D圖片進(jìn)行顯示的效果。
[0035]在緩存的3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù)時(shí),可以采用多種方式進(jìn)行緩存,例如,可以依據(jù)圖片類型對(duì)3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù)進(jìn)行緩存。圖片類型可以依據(jù)圖片的使用頻率進(jìn)行劃分,也可以依據(jù)圖片的重要性進(jìn)行劃分等。
[0036]為保證緩存空間的合理利用,在依據(jù)圖片類型對(duì)3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù)進(jìn)行緩存之后,還可以依據(jù)預(yù)定策略對(duì)緩存3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù)所占用的內(nèi)存進(jìn)行釋放。依據(jù)預(yù)定策略對(duì)緩存3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù)所占用的內(nèi)存進(jìn)行釋放時(shí)也可以采種多種方式,例如,可以采用以下方式至少之一來(lái)實(shí)現(xiàn):
[0037]例如,在緩存的3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù)所占用的內(nèi)存超過(guò)預(yù)定閾值的情況下,即在緩存的所述3D控件顯示過(guò)的圖片的未解碼的所述二進(jìn)制數(shù)據(jù)后,APP整體內(nèi)存占用超過(guò)Android系統(tǒng)限制情況下,由系統(tǒng)回收緩存3D控件顯示過(guò)的圖片的未解碼的二進(jìn)制數(shù)據(jù)所占用的內(nèi)存;再例如,在確定緩存