本發(fā)明涉及圖像處理領(lǐng)域,特別是涉及一種動態(tài)圖播放方法、裝置、存儲介質(zhì)和計(jì)算機(jī)設(shè)備。
背景技術(shù):
一般情況下,從內(nèi)存中讀取數(shù)據(jù)的速度要比非易失性存儲介質(zhì)中讀取數(shù)據(jù)速度要快得多,因此將數(shù)據(jù)緩存在內(nèi)存中可以大幅度的提升讀取數(shù)據(jù)的速度。
但是由于動態(tài)圖結(jié)構(gòu)復(fù)雜,往往需要解析動態(tài)圖的數(shù)據(jù),才能得到多個用于播放動態(tài)圖的成像數(shù)據(jù)流,而且成像數(shù)據(jù)流不便于直接緩存到內(nèi)存中,因此播放動態(tài)圖需要即時讀取、解析動態(tài)圖的數(shù)據(jù),導(dǎo)致播放動態(tài)圖的速度就大大降低,播放動態(tài)圖的效率很低。
技術(shù)實(shí)現(xiàn)要素:
基于此,有必要針對無法在在內(nèi)存中緩存動態(tài)圖的成像數(shù)據(jù)流,導(dǎo)致播放動態(tài)圖的效率很低的問題,提供一種動態(tài)圖播放方法、裝置、存儲介質(zhì)和計(jì)算機(jī)設(shè)備。
一種動態(tài)圖播放方法,包括:
確定待播放的動態(tài)圖標(biāo)識;
從非易失性存儲器中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件;
解析所述動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流;
從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流;
將解析得到的所述編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中;
將解析得到的所述編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在其中一個實(shí)施例中,所述確定待播放的動態(tài)圖標(biāo)識之后,所述方法還包括:
檢測內(nèi)存中的動態(tài)圖緩存區(qū)是否存在所述動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;
若不存在,則執(zhí)行所述從非易失性存儲器中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件的步驟;
若存在,則從所述動態(tài)圖緩存區(qū)中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;
解析讀取的所述編碼數(shù)據(jù)流,得到相應(yīng)的成像數(shù)據(jù)流;
根據(jù)解析讀取的所述編碼數(shù)據(jù)流得到的所述成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在其中一個實(shí)施例中,所述解析所述動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流之后,所述方法還包括:
當(dāng)內(nèi)存中的動態(tài)圖緩存區(qū)中剩余的存儲空間小于解析得到的所述編碼數(shù)據(jù)流所占用的存儲空間時,所述從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流包括:
將內(nèi)存中的動態(tài)圖緩存區(qū)中緩存的編碼數(shù)據(jù)流按照相應(yīng)的優(yōu)先級依次淘汰,直至所述動態(tài)圖緩存區(qū)中剩余的存儲空間大于或等于解析得到的所述編碼數(shù)據(jù)流所占用的存儲空間。
在其中一個實(shí)施例中,所述將解析得到的所述編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中之后,所述方法還包括:
在與所述動態(tài)圖緩存區(qū)對應(yīng)的緩存優(yōu)先級列表中,增加與解析得到的所述編碼數(shù)據(jù)流對應(yīng)的優(yōu)先級;
隨著解析并緩存到所述動態(tài)圖緩存區(qū)中的所述編碼數(shù)據(jù)流的緩存時長的增長,在所述緩存優(yōu)先級列表中逐漸調(diào)低相應(yīng)的優(yōu)先級;
當(dāng)解析并緩存到所述動態(tài)圖緩存區(qū)中的所述編碼數(shù)據(jù)流被讀取時,在所述緩存優(yōu)先級列表中調(diào)高相應(yīng)的所述優(yōu)先級。
在其中一個實(shí)施例中,所述方法還包括:
在執(zhí)行從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流的步驟,以及所述將解析得到的所述編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中的步驟時,同步執(zhí)行所述將解析得到的所述編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖的步驟。
一種動態(tài)圖播放裝置,包括:
標(biāo)識確定模塊,用于確定待播放的動態(tài)圖標(biāo)識;
讀取模塊,用于從非易失性存儲器中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件;
解析模塊,用于解析所述動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流;
淘汰模塊,用于從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流;
緩存模塊,用于將解析得到的所述編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中;
播放模塊,用于將解析得到的所述編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在其中一個實(shí)施例中,所述裝置還包括:
檢測模塊,用于檢測內(nèi)存中的動態(tài)圖緩存區(qū)是否存在所述動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;
所述讀取模塊,還用于當(dāng)內(nèi)存中的動態(tài)圖緩存區(qū)存在所述動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流時,從所述動態(tài)圖緩存區(qū)中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流。
在其中一個實(shí)施例中,所述裝置還包括:
優(yōu)先級模塊,用于在與所述動態(tài)圖緩存區(qū)對應(yīng)的緩存優(yōu)先級列表中,增加與解析得到的所述編碼數(shù)據(jù)流對應(yīng)的優(yōu)先級;隨著解析并緩存到所述動態(tài)圖緩存區(qū)中的所述編碼數(shù)據(jù)流的緩存時長的增長,在所述緩存優(yōu)先級列表中逐漸調(diào)低相應(yīng)的優(yōu)先級;解析并緩存到所述動態(tài)圖緩存區(qū)中的所述編碼數(shù)據(jù)流被讀取時,在所述緩存優(yōu)先級列表中調(diào)高相應(yīng)的所述優(yōu)先級。
一種存儲介質(zhì),存儲有計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令被處理器執(zhí)行時,使得所述處理器執(zhí)行以下步驟:
確定待播放的動態(tài)圖標(biāo)識;
從非易失性存儲器中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件;
解析所述動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流;
從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流;
將解析得到的所述編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中;
將解析得到的所述編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在其中一個實(shí)施例中,所述確定待播放的動態(tài)圖標(biāo)識之后,所述計(jì)算機(jī)可讀指令還使得所述處理器執(zhí)行以下步驟:
檢測內(nèi)存中的動態(tài)圖緩存區(qū)是否存在所述動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;
若不存在,則執(zhí)行所述從非易失性存儲器中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件的步驟;
若存在,則從所述動態(tài)圖緩存區(qū)中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;
解析讀取的所述編碼數(shù)據(jù)流,得到相應(yīng)的成像數(shù)據(jù)流;
根據(jù)解析讀取的所述編碼數(shù)據(jù)流得到的所述成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在其中一個實(shí)施例中,所述解析所述動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流之后,所述計(jì)算機(jī)可讀指令還使得所述處理器執(zhí)行以下步驟:
當(dāng)內(nèi)存中的動態(tài)圖緩存區(qū)中剩余的存儲空間小于解析得到的所述編碼數(shù)據(jù)流所占用的存儲空間時,所述從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流包括:
將內(nèi)存中的動態(tài)圖緩存區(qū)中緩存的編碼數(shù)據(jù)流按照相應(yīng)的優(yōu)先級依次淘汰,直至所述動態(tài)圖緩存區(qū)中剩余的存儲空間大于或等于解析得到的所述編碼數(shù)據(jù)流所占用的存儲空間。
在其中一個實(shí)施例中,所述將解析得到的所述編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中之后,所述計(jì)算機(jī)可讀指令還使得所述處理器執(zhí)行以下步驟:
在與所述動態(tài)圖緩存區(qū)對應(yīng)的緩存優(yōu)先級列表中,增加與解析得到的所述編碼數(shù)據(jù)流對應(yīng)的優(yōu)先級;
隨著解析并緩存到所述動態(tài)圖緩存區(qū)中的所述編碼數(shù)據(jù)流的緩存時長的增長,在所述緩存優(yōu)先級列表中逐漸調(diào)低相應(yīng)的優(yōu)先級;
當(dāng)解析并緩存到所述動態(tài)圖緩存區(qū)中的所述編碼數(shù)據(jù)流被讀取時,在所述緩存優(yōu)先級列表中調(diào)高相應(yīng)的所述優(yōu)先級。
在其中一個實(shí)施例中,所述計(jì)算機(jī)可讀指令還使得所述處理器執(zhí)行以下步驟:
在執(zhí)行從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流的步驟,以及所述將解析得到的所述編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中的步驟時,同步執(zhí)行所述將解析得到的所述編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖的步驟。
一種計(jì)算機(jī)設(shè)備,包括存儲器和處理器,所述存儲器中存儲有計(jì)算機(jī)可讀指令,所述計(jì)算機(jī)可讀指令被所述處理器執(zhí)行時,使得所述處理器執(zhí)行以下步驟:
確定待播放的動態(tài)圖標(biāo)識;
從非易失性存儲器中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件;
解析所述動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流;
從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流;
將解析得到的所述編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中;
將解析得到的所述編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在其中一個實(shí)施例中,所述確定待播放的動態(tài)圖標(biāo)識之后,所述計(jì)算機(jī)可讀指令還使得所述處理器執(zhí)行以下步驟:
檢測內(nèi)存中的動態(tài)圖緩存區(qū)是否存在所述動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;
若不存在,則執(zhí)行所述從非易失性存儲器中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件的步驟;
若存在,則從所述動態(tài)圖緩存區(qū)中讀取所述動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;
解析讀取的所述編碼數(shù)據(jù)流,得到相應(yīng)的成像數(shù)據(jù)流;
根據(jù)解析讀取的所述編碼數(shù)據(jù)流得到的所述成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在其中一個實(shí)施例中,所述解析所述動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流之后,所述計(jì)算機(jī)可讀指令還使得所述處理器執(zhí)行以下步驟:
當(dāng)內(nèi)存中的動態(tài)圖緩存區(qū)中剩余的存儲空間小于解析得到的所述編碼數(shù)據(jù)流所占用的存儲空間時,所述從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流包括:
將內(nèi)存中的動態(tài)圖緩存區(qū)中緩存的編碼數(shù)據(jù)流按照相應(yīng)的優(yōu)先級依次淘汰,直至所述動態(tài)圖緩存區(qū)中剩余的存儲空間大于或等于解析得到的所述編碼數(shù)據(jù)流所占用的存儲空間。
在其中一個實(shí)施例中,所述將解析得到的所述編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中之后,所述計(jì)算機(jī)可讀指令還使得所述處理器執(zhí)行以下步驟:
在與所述動態(tài)圖緩存區(qū)對應(yīng)的緩存優(yōu)先級列表中,增加與解析得到的所述編碼數(shù)據(jù)流對應(yīng)的優(yōu)先級;
隨著解析并緩存到所述動態(tài)圖緩存區(qū)中的所述編碼數(shù)據(jù)流的緩存時長的增長,在所述緩存優(yōu)先級列表中逐漸調(diào)低相應(yīng)的優(yōu)先級;
當(dāng)解析并緩存到所述動態(tài)圖緩存區(qū)中的所述編碼數(shù)據(jù)流被讀取時,在所述緩存優(yōu)先級列表中調(diào)高相應(yīng)的所述優(yōu)先級。
在其中一個實(shí)施例中,所述計(jì)算機(jī)可讀指令還使得所述處理器執(zhí)行以下步驟:
在執(zhí)行從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流的步驟,以及所述將解析得到的所述編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中的步驟時,同步執(zhí)行所述將解析得到的所述編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖的步驟。
上述動態(tài)圖播放方法、裝置、存儲介質(zhì)和計(jì)算機(jī)設(shè)備,在確定待播放的動態(tài)圖標(biāo)識后,從非易失性存儲器中讀取、解析動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流,將解析得到的編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中,還將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。這樣就可以在下一次確定待播放的動態(tài)圖標(biāo)識后,直接從動態(tài)圖緩存區(qū)中讀取編碼數(shù)據(jù)流,從而能夠快速讀取、解析緩存在動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流得到相應(yīng)的成像數(shù)據(jù)流,進(jìn)而大大提升獲取動態(tài)圖的成像數(shù)據(jù)流的速度,大大提高播放動態(tài)圖的效率。
附圖說明
圖1為一個實(shí)施例中計(jì)算機(jī)設(shè)備的內(nèi)部結(jié)構(gòu)圖;
圖2為一個實(shí)施例中動態(tài)圖播放方法的流程示意圖;
圖3為另一個實(shí)施例中動態(tài)圖播放方法的流程示意圖;
圖4為一個實(shí)施例中動態(tài)圖播放裝置的結(jié)構(gòu)框圖;
圖5為一個實(shí)施例中動態(tài)圖播放裝置的結(jié)構(gòu)框圖。
具體實(shí)施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
圖1為一個實(shí)施例中計(jì)算機(jī)設(shè)備的內(nèi)部結(jié)構(gòu)圖。該計(jì)算機(jī)設(shè)備可以是終端,該終端可以是移動終端,該移動終端可以是智能手機(jī)、平板電腦和智能手表中的一種。如圖1所示,該計(jì)算機(jī)設(shè)備包括通過系統(tǒng)總線連接的處理器、非易失性存儲介質(zhì)、內(nèi)存儲器、顯示屏和網(wǎng)絡(luò)接口等。其中,該計(jì)算機(jī)設(shè)備的非易失性存儲介質(zhì)存儲有操作系統(tǒng)和計(jì)算機(jī)可讀指令,該計(jì)算機(jī)可讀指令被處理器執(zhí)行時,可使得處理器實(shí)現(xiàn)一種動態(tài)圖播放方法。該計(jì)算機(jī)設(shè)備的處理器用于提供計(jì)算和控制能力,支撐整個計(jì)算機(jī)設(shè)備的運(yùn)行。該計(jì)算機(jī)設(shè)備的內(nèi)存儲器可儲存有計(jì)算機(jī)可讀指令,該計(jì)算機(jī)可讀指令被上述處理器執(zhí)行時,可使得上述處理器執(zhí)行一種動態(tài)圖播放方法。該計(jì)算機(jī)設(shè)備的顯示屏用于顯示使用一種動態(tài)圖播放方法播放的動態(tài)圖。計(jì)算機(jī)設(shè)備的網(wǎng)絡(luò)接口用于據(jù)以與外部的互聯(lián)網(wǎng)通過網(wǎng)絡(luò)連接通信,比如接收互聯(lián)網(wǎng)發(fā)送的動態(tài)圖等。本領(lǐng)域技術(shù)人員可以理解,圖1中示出的結(jié)構(gòu),僅僅是與本申請方案相關(guān)的部分結(jié)構(gòu)的框圖,并不構(gòu)成對本申請方案所應(yīng)用于其上的計(jì)算機(jī)設(shè)備的限定,具體的計(jì)算機(jī)設(shè)備可以包括比圖中所示更多或更少的部件,或者組合某些部件,或者具有不同的部件布置。
如圖2所示,在一個實(shí)施例中,提供了一種動態(tài)圖播放方法。參照圖2,該動態(tài)圖播放方法具體包括如下步驟:
s202,確定待播放的動態(tài)圖標(biāo)識。
其中,動態(tài)圖是動態(tài)展示的圖像。動態(tài)圖可以是gif(graphicsinterchangeformat,圖像互換格式)圖片的圖像。gif圖片是一種基于lzw(lempelzivwelch,串表壓縮)算法的連續(xù)色調(diào)的無損壓縮格式的圖片。動態(tài)圖標(biāo)識是用于標(biāo)識不同的動態(tài)圖的標(biāo)識。動態(tài)圖標(biāo)識可以是動態(tài)圖文件的文件名稱。
在一個實(shí)施例中,動態(tài)圖可以是位圖(bitmap)和矢量圖(vector),且該動態(tài)圖播放方法應(yīng)用于安卓平臺。其中,矢量圖是通過數(shù)據(jù)函數(shù)實(shí)現(xiàn),在播放之前要通過計(jì)算。由于安卓平臺的計(jì)算機(jī)設(shè)備普遍性能比不上其他平臺的中、大型計(jì)算機(jī)設(shè)備,比如筆記本電腦或臺式電腦,所以安卓平臺的計(jì)算機(jī)設(shè)備無法很好地處理矢量圖播放,因此該動態(tài)圖播放方法主要應(yīng)用于在安卓平臺上的位圖。
在一個實(shí)施例中,計(jì)算機(jī)設(shè)備可在接收到用戶選擇指令后,獲取由該用戶選擇指令所指定的動態(tài)圖標(biāo)識,將該動態(tài)圖標(biāo)識作為待播放的動態(tài)圖標(biāo)識。在一個實(shí)施例中,計(jì)算機(jī)設(shè)備可根據(jù)預(yù)先配置的選擇方式,自動從動態(tài)圖標(biāo)識集合中選擇動態(tài)圖標(biāo)識,將選擇的動態(tài)圖標(biāo)識作為待播放的動態(tài)圖標(biāo)識。
s204,從非易失性存儲器中讀取動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件。
其中,非易失性存儲器包含于計(jì)算機(jī)設(shè)備中的非易失性存儲介質(zhì)中,計(jì)算機(jī)設(shè)備中的非易失性存儲介質(zhì)可以是閃存。動態(tài)圖文件是包含動態(tài)圖的數(shù)據(jù)的文件,是一種圖像文件。讀取動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件是把非易失性存儲器中的動態(tài)圖文件讀取到內(nèi)存中。
在一個實(shí)施例中,計(jì)算機(jī)設(shè)備在選擇待播放的動態(tài)圖標(biāo)識后,可以從閃存中讀取該動態(tài)圖標(biāo)識相應(yīng)的動態(tài)圖文件至內(nèi)存中。
在一個實(shí)施例中,計(jì)算機(jī)設(shè)備在選擇待播放的動態(tài)圖標(biāo)識后,可以通過互聯(lián)網(wǎng)或局域網(wǎng)等網(wǎng)絡(luò)下載該動態(tài)圖標(biāo)識相應(yīng)的動態(tài)圖文件至內(nèi)存中,還可以將下載至內(nèi)存中的動態(tài)圖文件存儲至閃存中。
s206,解析動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流。
其中,數(shù)據(jù)流是以規(guī)定順序被讀取一次的數(shù)據(jù)序列,編碼數(shù)據(jù)流可以是經(jīng)過壓縮運(yùn)算的編碼數(shù)據(jù),編碼數(shù)據(jù)流中的數(shù)據(jù)以數(shù)據(jù)塊的形式劃分,按數(shù)據(jù)塊的特征可以分為三類:控制塊(controlblock),圖形描繪塊(graphic-renderingblock)和專特殊用途塊(specialpurposeblock)。
控制塊用于控制編碼數(shù)據(jù)流,不同的控制塊包含一些不同的控制參數(shù)。圖形描繪塊包含有用來描繪在顯示設(shè)備上顯示圖形的信息和數(shù)據(jù)。特殊用途塊則包含有與圖像處理無關(guān)的數(shù)據(jù)。
其中,圖形描繪塊中的圖像數(shù)據(jù)(imagedata)由數(shù)據(jù)子塊(datasub-blocks)序列組成。
在一個實(shí)施例中,位圖可以是靜態(tài)圖和動態(tài)圖。其中,一張靜態(tài)圖由一幀位圖構(gòu)成,結(jié)構(gòu)簡單。而一張動態(tài)圖由多個數(shù)據(jù)塊組成,數(shù)據(jù)塊中不僅包含多幀位圖的數(shù)據(jù),還包含用于控制動態(tài)圖的數(shù)據(jù),結(jié)構(gòu)相對于靜態(tài)圖較為復(fù)雜。
s208,從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流。
其中,動態(tài)圖緩存區(qū)是內(nèi)存中用于緩存編碼數(shù)據(jù)流的區(qū)域,動態(tài)圖緩存區(qū)的存儲空間可以限定上限。淘汰編碼數(shù)據(jù)流是從動態(tài)圖緩存區(qū)中清除已緩存的編碼數(shù)據(jù)流。
舉例說明,計(jì)算機(jī)設(shè)備中內(nèi)存的存儲空間上限是2gb,可以限定內(nèi)存中動態(tài)圖緩存區(qū)的存儲空間上限為100mb。
在一個實(shí)施例中,當(dāng)動態(tài)圖緩存區(qū)中的剩余空間小于將緩存至動態(tài)圖緩存區(qū)的編碼數(shù)據(jù)流占用空間,則將動態(tài)圖緩存區(qū)中已緩存的編碼數(shù)據(jù)流清除,使得動態(tài)圖緩存區(qū)中的剩余空大于或等于將緩存至動態(tài)圖緩存區(qū)的編碼數(shù)據(jù)流占用空間。
s210,將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中。
其中,將編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)是將該編碼數(shù)據(jù)流所包含的數(shù)據(jù)塊整體緩存至動態(tài)圖緩存區(qū)中。
舉例說明,若只緩存編碼數(shù)據(jù)流時,只緩存一部分?jǐn)?shù)據(jù)塊至動態(tài)圖緩存區(qū),則該部分?jǐn)?shù)據(jù)塊不能夠用于播放動態(tài)圖。
在一個實(shí)施例中,淘汰和緩存編碼數(shù)據(jù)流的算法可以是緩存淘汰算法(leastrecentlyused,lru),也被稱為近期最少使用算法。
s212,將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
其中,成像數(shù)據(jù)流用于實(shí)現(xiàn)動態(tài)圖動態(tài)展示畫面。解析編碼數(shù)據(jù)流為相應(yīng)的成像數(shù)據(jù)流,可以是根據(jù)編譯表解析編碼數(shù)據(jù)流中的數(shù)據(jù)子塊序列為光柵數(shù)據(jù)序列,反之也可以根據(jù)編譯表將成像數(shù)據(jù)流中的光柵數(shù)據(jù)序列壓縮為數(shù)據(jù)子塊序列。
具體地,根據(jù)編譯表解析編碼數(shù)據(jù)流中的數(shù)據(jù)子塊序列,獲得相應(yīng)的成像數(shù)據(jù)流,根據(jù)成像數(shù)據(jù)流包含的控制塊和光柵數(shù)據(jù)序列等數(shù)據(jù)塊播放相應(yīng)的動態(tài)圖。
本實(shí)施例中,在確定待播放的動態(tài)圖標(biāo)識后,從非易失性存儲器中讀取、解析動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流,將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中,還將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。這樣就可以在下一次確定待播放的動態(tài)圖標(biāo)識后,直接從動態(tài)圖緩存區(qū)中讀取編碼數(shù)據(jù)流,從而能夠快速讀取、解析緩存在動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流得到相應(yīng)的成像數(shù)據(jù)流,進(jìn)而大大提升獲取動態(tài)圖的成像數(shù)據(jù)流的速度,大大提高播放動態(tài)圖的效率。
在一個實(shí)施例中,步驟s202之后的步驟,上述動態(tài)圖播放方法還包括:檢測內(nèi)存中的動態(tài)圖緩存區(qū)是否存在動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;若不存在,則執(zhí)行從非易失性存儲器中讀取動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件的步驟;若存在,則從動態(tài)圖緩存區(qū)中讀取動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;解析讀取的編碼數(shù)據(jù)流,得到相應(yīng)的成像數(shù)據(jù)流;根據(jù)解析讀取的編碼數(shù)據(jù)流得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
其中,從動態(tài)圖緩存區(qū)中讀取動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流,可以是從內(nèi)存中的動態(tài)圖緩存區(qū)讀取到內(nèi)存中其他區(qū)域。
本實(shí)施例中,通過直接從內(nèi)存中讀取、解析編碼數(shù)據(jù)流,獲得相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。這樣就可以在確定待播放的動態(tài)圖標(biāo)識后,直接從內(nèi)存中讀取編碼數(shù)據(jù)流,從而能夠快速讀取、解析緩存在內(nèi)存中的編碼數(shù)據(jù)流得到相應(yīng)的成像數(shù)據(jù)流,進(jìn)而大大提升獲取動態(tài)圖的成像數(shù)據(jù)流的速度,大大提高播放動態(tài)圖的效率。
在一個實(shí)施例中,步驟s206之后的步驟,上述動態(tài)圖播放方法還包括:當(dāng)內(nèi)存中的動態(tài)圖緩存區(qū)中剩余的存儲空間小于解析得到的編碼數(shù)據(jù)流所占用的存儲空間時,從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流包括:將內(nèi)存中的動態(tài)圖緩存區(qū)中緩存的編碼數(shù)據(jù)流按照相應(yīng)的優(yōu)先級依次淘汰,直至動態(tài)圖緩存區(qū)中剩余的存儲空間大于或等于解析得到的編碼數(shù)據(jù)流所占用的存儲空間。
其中,編碼數(shù)據(jù)流按照優(yōu)先級依次排列,每次淘汰一個編碼數(shù)據(jù)流,且每次淘汰的編碼數(shù)據(jù)流的優(yōu)先級都為最低優(yōu)先級。
在一個實(shí)施例中,若淘汰編碼數(shù)據(jù)流時,有多個數(shù)據(jù)流的優(yōu)先級都為最低優(yōu)先級,則比較上述編碼數(shù)據(jù)流緩存至動態(tài)圖緩存區(qū)的時長,將時長最長的編碼數(shù)據(jù)流相應(yīng)的優(yōu)先級調(diào)低,使之成為最低優(yōu)先級,并淘汰該編碼數(shù)據(jù)流。
本實(shí)施例中,當(dāng)內(nèi)存中的動態(tài)圖緩存區(qū)中剩余的存儲空間小于解析得到的編碼數(shù)據(jù)流所占用的存儲空間時,將內(nèi)存中的動態(tài)圖緩存區(qū)中緩存的編碼數(shù)據(jù)流按照相應(yīng)的優(yōu)先級依次淘汰,直至動態(tài)圖緩存區(qū)中剩余的存儲空間大于或等于解析得到的編碼數(shù)據(jù)流所占用的存儲空間。這樣就可以清除動態(tài)圖緩存區(qū)中優(yōu)先級低的編碼數(shù)據(jù)流,從而能夠緩存編碼數(shù)據(jù)流至動態(tài)圖緩存區(qū)中,進(jìn)而大大提升獲取動態(tài)圖的成像數(shù)據(jù)流的速度,大大提高播放動態(tài)圖的效率。
在一個實(shí)施例中,步驟s210之后的步驟,上述動態(tài)圖播放方法還包括:在與動態(tài)圖緩存區(qū)對應(yīng)的緩存優(yōu)先級列表中,增加與解析得到的編碼數(shù)據(jù)流對應(yīng)的優(yōu)先級;隨著解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流的緩存時長的增長,在緩存優(yōu)先級列表中逐漸調(diào)低相應(yīng)的優(yōu)先級;當(dāng)解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流被讀取時,在緩存優(yōu)先級列表中調(diào)高相應(yīng)的優(yōu)先級。
其中,緩存優(yōu)先級列表是記錄動態(tài)圖緩存區(qū)中編碼數(shù)據(jù)流的優(yōu)先級的列表。調(diào)低相應(yīng)的優(yōu)先級是在編碼數(shù)據(jù)流被緩存至動態(tài)圖緩存區(qū)后,按照時間周期遞減編碼數(shù)據(jù)流的優(yōu)先級。在一個實(shí)施例中,可限定編碼數(shù)據(jù)流的優(yōu)先級的遞減下限。
在一個實(shí)施例中,隨著解析并緩存到動態(tài)圖緩存區(qū)中所有的編碼數(shù)據(jù)流的緩存時長增長到限定時長,若動態(tài)圖緩存區(qū)中所有緩存的編碼數(shù)據(jù)流在該時長內(nèi)沒有被讀取,則緩存優(yōu)先級列表中所有的編碼數(shù)據(jù)流的優(yōu)先級調(diào)低為最低優(yōu)先級。
在一個實(shí)施例中,通過限定讀取動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流所增加的優(yōu)先級,以及根據(jù)時間增長調(diào)低的優(yōu)先級,決定淘汰動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流的是動態(tài)圖的播放次數(shù)還是動態(tài)圖的最近播放時間。
本實(shí)施例中,將解析得到的編碼數(shù)據(jù)流緩存到所述動態(tài)圖緩存區(qū)中之后或解析并緩存到所述動態(tài)圖緩存區(qū)中的所述編碼數(shù)據(jù)流被讀取時,增加與解析得到的編碼數(shù)據(jù)流對應(yīng)的優(yōu)先級,并隨著解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流的緩存時長的增長,在緩存優(yōu)先級列表中逐漸調(diào)低相應(yīng)的優(yōu)先級。這樣就可以通過調(diào)動編碼數(shù)據(jù)流的優(yōu)先級,對動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流進(jìn)行緩存和淘汰,從而能夠快速讀取、解析緩存在動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流得到相應(yīng)的成像數(shù)據(jù)流,進(jìn)而大大提升獲取動態(tài)圖的成像數(shù)據(jù)流的速度,大大提高播放動態(tài)圖的效率。
在一個實(shí)施例中,上述動態(tài)圖播放方法還包括:在執(zhí)行從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流的步驟,以及將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中的步驟時,同步執(zhí)行將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖的步驟。
本實(shí)施例中,通過在執(zhí)行從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流的步驟,以及將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中的步驟時,同步執(zhí)行將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖的步驟。這樣就可以播放動態(tài)圖的同時,對動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流進(jìn)行緩存和淘汰,從而能夠快速讀取、解析緩存在動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流得到相應(yīng)的成像數(shù)據(jù)流,進(jìn)而大大提升獲取動態(tài)圖的成像數(shù)據(jù)流的速度,大大提高播放動態(tài)圖的效率。
如圖3所示,在一個實(shí)施例中,提供了一種動態(tài)圖播放方法。參照圖3,該動態(tài)圖播放方法具體包括如下步驟:
s302,確定待播放的動態(tài)圖標(biāo)識。
s304,檢測內(nèi)存中的動態(tài)圖緩存區(qū)是否存在動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流。
若為否,則執(zhí)行步驟s306,以及步驟s308;若為是,則執(zhí)行步驟s310。
s306,從非易失性存儲器中讀取動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件。
s308,解析動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流。
s310,從動態(tài)圖緩存區(qū)中讀取動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流。
具體地,檢測內(nèi)存中的動態(tài)圖緩存區(qū)是否存在動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流。
若為否,則從非易失性存儲器中讀取動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件;解析動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流。
若為是,則從動態(tài)圖緩存區(qū)中讀取動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流。
s312,解析讀取的編碼數(shù)據(jù)流,得到相應(yīng)的成像數(shù)據(jù)流。
s314,根據(jù)解析讀取的編碼數(shù)據(jù)流得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
步驟s308之后,還執(zhí)行步驟s316。
s316,判斷內(nèi)存中的動態(tài)圖緩存區(qū)中剩余的存儲空間是否小于解析得到的編碼數(shù)據(jù)流所占用的存儲空間。
若是,則執(zhí)行步驟s318;若否,則執(zhí)行步驟s320。
s318,將內(nèi)存中的動態(tài)圖緩存區(qū)中緩存的編碼數(shù)據(jù)流按照相應(yīng)的優(yōu)先級依次淘汰。
s320,將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中。
具體地,判斷內(nèi)存中的動態(tài)圖緩存區(qū)中剩余的存儲空間是否小于解析得到的編碼數(shù)據(jù)流所占用的存儲空間。
若是,則將內(nèi)存中的動態(tài)圖緩存區(qū)中緩存的編碼數(shù)據(jù)流按照相應(yīng)的優(yōu)先級依次淘汰,直至內(nèi)存中的動態(tài)圖緩存區(qū)中剩余的存儲空間不小于解析得到的編碼數(shù)據(jù)流所占用的存儲空間。
若否,則將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中。
s322,在與動態(tài)圖緩存區(qū)對應(yīng)的緩存優(yōu)先級列表中,增加與解析得到的編碼數(shù)據(jù)流對應(yīng)的優(yōu)先級。
在步驟s310之后,還執(zhí)行步驟s324。
s324,當(dāng)解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流被讀取時,在緩存優(yōu)先級列表中調(diào)高相應(yīng)的優(yōu)先級。
s326,隨著解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流的緩存時長的增長,在緩存優(yōu)先級列表中逐漸調(diào)低相應(yīng)的優(yōu)先級。
本實(shí)施例中,在確定待播放的動態(tài)圖標(biāo)識后,從非易失性存儲器中讀取、解析動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流,將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中,還將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。這樣就可以在下一次確定待播放的動態(tài)圖標(biāo)識后,直接從動態(tài)圖緩存區(qū)中讀取編碼數(shù)據(jù)流,從而能夠快速讀取、解析緩存在動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流得到相應(yīng)的成像數(shù)據(jù)流,進(jìn)而大大提升獲取動態(tài)圖的成像數(shù)據(jù)流的速度,大大提高播放動態(tài)圖的效率。
如圖4所示,在一個實(shí)施例中,還提供了一種動態(tài)圖播放裝置400,包括:
標(biāo)識確定模塊402,用于確定待播放的動態(tài)圖標(biāo)識;
讀取模塊404,用于從非易失性存儲器中讀取動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件;
解析模塊406,用于解析動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流;
淘汰模塊408,用于從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流;
緩存模塊410,用于將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中;
播放模塊412,用于將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
如圖5所示,在一個實(shí)施例中,動態(tài)圖播放裝置400還包括:
檢測模塊414,用于檢測內(nèi)存中的動態(tài)圖緩存區(qū)是否存在動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;
讀取模塊404,還用于當(dāng)內(nèi)存中的動態(tài)圖緩存區(qū)存在動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流時,從動態(tài)圖緩存區(qū)中讀取動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流。
如圖5所示,在一個實(shí)施例中,動態(tài)圖播放裝置400還包括:
優(yōu)先級模塊416,用于在與動態(tài)圖緩存區(qū)對應(yīng)的緩存優(yōu)先級列表中,增加與解析得到的編碼數(shù)據(jù)流對應(yīng)的優(yōu)先級;隨著解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流的緩存時長的增長,在緩存優(yōu)先級列表中逐漸調(diào)低相應(yīng)的優(yōu)先級;解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流被讀取時,在緩存優(yōu)先級列表中調(diào)高相應(yīng)的優(yōu)先級。
在一個實(shí)施例中,還提供了一種存儲介質(zhì),存儲有計(jì)算機(jī)可讀指令,該計(jì)算機(jī)可讀指令被處理器執(zhí)行時,使得處理器執(zhí)行定待播放的動態(tài)圖標(biāo)識;從非易失性存儲器中讀取動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件;解析動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流;從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流;將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中;將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在一個實(shí)施例中,確定待播放的動態(tài)圖標(biāo)識之后,計(jì)算機(jī)可讀指令還使得處理器執(zhí)行檢測內(nèi)存中的動態(tài)圖緩存區(qū)是否存在動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;若不存在,則執(zhí)行從非易失性存儲器中讀取動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件的步驟;若存在,則從動態(tài)圖緩存區(qū)中讀取動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;解析讀取的編碼數(shù)據(jù)流,得到相應(yīng)的成像數(shù)據(jù)流;根據(jù)解析讀取的編碼數(shù)據(jù)流得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在一個實(shí)施例中,解析動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流之后,計(jì)算機(jī)可讀指令還使得處理器執(zhí)行當(dāng)內(nèi)存中的動態(tài)圖緩存區(qū)中剩余的存儲空間小于解析得到的編碼數(shù)據(jù)流所占用的存儲空間時,從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流包括:將內(nèi)存中的動態(tài)圖緩存區(qū)中緩存的編碼數(shù)據(jù)流按照相應(yīng)的優(yōu)先級依次淘汰,直至動態(tài)圖緩存區(qū)中剩余的存儲空間大于或等于解析得到的編碼數(shù)據(jù)流所占用的存儲空間。
在一個實(shí)施例中,將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中之后,計(jì)算機(jī)可讀指令還使得處理器執(zhí)行在與動態(tài)圖緩存區(qū)對應(yīng)的緩存優(yōu)先級列表中,增加與解析得到的編碼數(shù)據(jù)流對應(yīng)的優(yōu)先級;隨著解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流的緩存時長的增長,在緩存優(yōu)先級列表中逐漸調(diào)低相應(yīng)的優(yōu)先級;當(dāng)解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流被讀取時,在緩存優(yōu)先級列表中調(diào)高相應(yīng)的優(yōu)先級。
在一個實(shí)施例中,計(jì)算機(jī)可讀指令還使得處理器執(zhí)行在執(zhí)行從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流的步驟,以及將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中的步驟時,同步執(zhí)行將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖的步驟。
在一個實(shí)施例中,還提供了一種計(jì)算機(jī)設(shè)備,包括存儲器和處理器,存儲器中存儲有計(jì)算機(jī)可讀指令,計(jì)算機(jī)可讀指令被處理器執(zhí)行時,使得處理器執(zhí)行確定待播放的動態(tài)圖標(biāo)識;從非易失性存儲器中讀取動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件;解析動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流;從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流;將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中;將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在其中一個實(shí)施例中,確定待播放的動態(tài)圖標(biāo)識之后,計(jì)算機(jī)可讀指令還使得處理器執(zhí)行檢測內(nèi)存中的動態(tài)圖緩存區(qū)是否存在動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;若不存在,則執(zhí)行從非易失性存儲器中讀取動態(tài)圖標(biāo)識所對應(yīng)的動態(tài)圖文件的步驟;若存在,則從動態(tài)圖緩存區(qū)中讀取動態(tài)圖標(biāo)識所對應(yīng)的編碼數(shù)據(jù)流;解析讀取的編碼數(shù)據(jù)流,得到相應(yīng)的成像數(shù)據(jù)流;根據(jù)解析讀取的編碼數(shù)據(jù)流得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖。
在一個實(shí)施例中,解析動態(tài)圖文件,獲得相應(yīng)的編碼數(shù)據(jù)流之后,計(jì)算機(jī)可讀指令還使得處理器執(zhí)行當(dāng)內(nèi)存中的動態(tài)圖緩存區(qū)中剩余的存儲空間小于解析得到的編碼數(shù)據(jù)流所占用的存儲空間時,從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流包括:將內(nèi)存中的動態(tài)圖緩存區(qū)中緩存的編碼數(shù)據(jù)流按照相應(yīng)的優(yōu)先級依次淘汰,直至動態(tài)圖緩存區(qū)中剩余的存儲空間大于或等于解析得到的編碼數(shù)據(jù)流所占用的存儲空間。
在一個實(shí)施例中,將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中之后,計(jì)算機(jī)可讀指令還使得處理器執(zhí)行在與動態(tài)圖緩存區(qū)對應(yīng)的緩存優(yōu)先級列表中,增加與解析得到的編碼數(shù)據(jù)流對應(yīng)的優(yōu)先級;隨著解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流的緩存時長的增長,在緩存優(yōu)先級列表中逐漸調(diào)低相應(yīng)的優(yōu)先級;當(dāng)解析并緩存到動態(tài)圖緩存區(qū)中的編碼數(shù)據(jù)流被讀取時,在緩存優(yōu)先級列表中調(diào)高相應(yīng)的優(yōu)先級。
在一個實(shí)施例中,計(jì)算機(jī)可讀指令還使得處理器執(zhí)行在執(zhí)行從內(nèi)存中的動態(tài)圖緩存區(qū)淘汰編碼數(shù)據(jù)流的步驟,以及將解析得到的編碼數(shù)據(jù)流緩存到動態(tài)圖緩存區(qū)中的步驟時,同步執(zhí)行將解析得到的編碼數(shù)據(jù)流解析為相應(yīng)的成像數(shù)據(jù)流,并根據(jù)解析得到的成像數(shù)據(jù)流播放相應(yīng)的動態(tài)圖的步驟。
本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲于一非易失性計(jì)算機(jī)可讀取存儲介質(zhì)中,該程序在執(zhí)行時,可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲介質(zhì)可為只讀存儲記憶體(read-onlymemory,rom)等。
以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡潔,未對上述實(shí)施例中的各個技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說明書記載的范圍。
以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。