專利名稱:支持音視頻解碼自適應(yīng)的系統(tǒng)及其方法
技術(shù)領(lǐng)域:
本發(fā)明涉及嵌入式系統(tǒng)中的多媒體音視頻領(lǐng)域,具體地說(shuō),本發(fā)明涉及一 種支持音視頻解碼自適應(yīng)的系統(tǒng)及其方法。
背景技術(shù):
當(dāng)前,隨著嵌入式系統(tǒng)的軟硬件水平的不斷提升,各種基于嵌入式系統(tǒng)的 多媒體音視頻播放應(yīng)用得到了很大發(fā)展。以移動(dòng)終端(手機(jī))系統(tǒng)為例,不同
的廠商相繼推出了自己的音視頻播放軟件,給廣大手機(jī)用戶帶來(lái)了全新的視聽(tīng)享受。
然而,面對(duì)種類眾多的音^L頻編碼才各式和文件才各式,以及相對(duì)受限的手枳』 硬件資源。不同的移動(dòng)終端的音視頻播》文器對(duì)于音視頻文件都有嚴(yán)才各的規(guī)定, 只允許的特定的幾種音視頻文件在其系統(tǒng)上播放,而對(duì)于其他格式的音視頻文 件則不予支持。移動(dòng)終端用戶往往需要通過(guò)各種音視頻轉(zhuǎn)換工具將不支持的媒 體類型轉(zhuǎn)換為支持的媒體類型,才能進(jìn)行觀看,很不方便。
如何降低移動(dòng)終端的音視頻播放器對(duì)音視頻格式(包括音視頻文件格式和 音視頻編碼格式)的限制,提高用戶使用移動(dòng)終端中的音視頻播放器的方便性, 便成為亟待解決的問(wèn)題。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問(wèn)題是提供一種支持音視頻解碼自適應(yīng)的系統(tǒng)及其 方法,以解決移動(dòng)終端的音視頻播放器對(duì)音視頻文件格式和音視頻編碼才各式的 限制問(wèn)題。
為解決上述技術(shù)問(wèn)題,本發(fā)明提供了 一種支持音視頻解碼自適應(yīng)的系統(tǒng), 應(yīng)用于移動(dòng)終端的音視頻播放器中,包括策略配置器、播放框架設(shè)備、內(nèi)存 設(shè)備和模塊管理器;其中,所述策略配置器,用于根據(jù)用戶配置的信息,來(lái)確定所述^f莫塊管理器所采
用的處理策略;
所述播放框架設(shè)備,用于保存支持多種格式音視頻文件播放的動(dòng)態(tài)綁定協(xié)
議;
所述內(nèi)存設(shè)備,用于保存處理不同格式音視頻文件的模塊;
所述模塊管理器,用于根據(jù)所述處理策略,對(duì)所述內(nèi)存設(shè)備中的模塊進(jìn)行 加載、卸載管理,以及根據(jù)所要處理的音視頻文件的格式,從所述播放框架設(shè) 備中調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到所述內(nèi)存設(shè)備中,與該內(nèi)存設(shè)備中
的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音^L頻文件進(jìn)行解碼。 本發(fā)明所述的系統(tǒng),其中
所述模塊管理器,進(jìn)一步還用于通過(guò)框架協(xié)議映射表根據(jù)所要處理的音視 頻文件的格式,從所述播放框架設(shè)備中的調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議 到所述內(nèi)存設(shè)備中,與該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音視 頻文件進(jìn)行解碼。
進(jìn)一步地,其中
所述模塊管理器中包括靜態(tài)處理策略模塊和動(dòng)態(tài)處理策略模塊;所述靜 態(tài)處理策略模塊和動(dòng)態(tài)處理策略模塊中均包括有替換策略模塊,所述替換策略 模塊包括基于優(yōu)先級(jí)的替換策略模塊和基于內(nèi)存空間的替換策略模塊。
進(jìn)一步地,其中
二級(jí)存儲(chǔ)設(shè)備,用于保存所述模塊管理器需要加載到所述內(nèi)存設(shè)備中的模 塊,和/或保存所述模塊管理器需要從所述內(nèi)存設(shè)備中卸載的模塊。
進(jìn)一步地,其中
所述內(nèi)存設(shè)備/二級(jí)存儲(chǔ)設(shè)備中模塊的類型包括分離器模塊、音視頻解碼 模塊和網(wǎng)絡(luò)模塊;
所述播放框架設(shè)備中動(dòng)態(tài)綁定協(xié)議的類型包括分離協(xié)議、音視頻解碼協(xié) 議和網(wǎng)絡(luò)協(xié)議。
進(jìn)一步地,其中所述策略配置器中的根據(jù)用戶配置的信息包括用戶偏好、系統(tǒng)性能參數(shù) 以及動(dòng)態(tài)檢測(cè)所述內(nèi)存設(shè)備的實(shí)際內(nèi)存容量。
為解決上述技術(shù)問(wèn)題,本發(fā)明還提供了 一種支持音視頻解碼自適應(yīng)的方法, 應(yīng)用于移動(dòng)終端的音視頻播;故器中,包括以下步驟
所述音視頻播放器根據(jù)用戶配置的信息,確定所采用的處理策略;
所述音視頻播放器根據(jù)所述處理策略,對(duì)該音—見(jiàn)頻播放器的內(nèi)存設(shè)備中用 于處理不同格式音視頻文件的模塊進(jìn)行加載、卸載;
所述音視頻播放器根據(jù)所要處理的音視頻文件的格式,從該音視頻播放器 的播放框架設(shè)備中調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到所述內(nèi)存設(shè)備中,與 該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音視頻文件進(jìn)行解碼。
本發(fā)明所述的方法,其中
所述音視頻播放器根據(jù)所要處理的音視頻文件的格式,從該音視頻播放器 的播放框架設(shè)備中調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到所述內(nèi)存設(shè)備中,與 該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音視頻文件進(jìn)行解碼,進(jìn)一 步為
所述音視頻播放器通過(guò)框架協(xié)議映射表根據(jù)所要處理的音視頻文件的格 式,從所述播放框架設(shè)備中的調(diào)用與該-格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到所述內(nèi)存 設(shè)備中,與該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音視頻文件進(jìn)行
進(jìn)一步地,其中
所述處理策略包括靜態(tài)處理策略和動(dòng)態(tài)處理策略;所述靜態(tài)處理策略和 動(dòng)態(tài)處理策略均包括有替換策略,所述替換策略包括基于優(yōu)先級(jí)的替換策略 和基于內(nèi)存空間的替換策略。
進(jìn)一步地,其中
所述音視頻播放器根據(jù)所述處理策略,對(duì)該音視頻播放器的內(nèi)存設(shè)備中用 于處理不同格式音視頻文件的模塊進(jìn)行加載、卸載,進(jìn)一步為
所述音視頻播放器根據(jù)所述處理策略,從所述音視頻播放器的二級(jí)存儲(chǔ)設(shè) 備中調(diào)用需要的處理不同格式音視頻文件的模塊加載到所述內(nèi)存設(shè)備中,和/或?qū)⑺鰞?nèi)存設(shè)備中處理不同格式音視頻文件的模塊卸載到所述二級(jí)存儲(chǔ)設(shè)備 中。
進(jìn)一步地,其中
所述內(nèi)存設(shè)備/二級(jí)存儲(chǔ)設(shè)備中模塊的類型包括分離器模塊、音—見(jiàn)頻解碼 模塊和網(wǎng)絡(luò)模塊;
所述動(dòng)態(tài)綁定協(xié)議的類型包括分離協(xié)議、音視頻解碼協(xié)議和網(wǎng)絡(luò)協(xié)議。 進(jìn)一步地,其中
所述用戶配置的信息包括用戶偏好、系統(tǒng)性能參數(shù)以及動(dòng)態(tài)檢測(cè)所述內(nèi) 存設(shè)備的實(shí)際內(nèi)存容量。
與現(xiàn)有技術(shù)相比,本發(fā)明提高用戶使用移動(dòng)終端中的音視頻播放器的方便 性,解決了移動(dòng)終端的音視頻播放器對(duì)音一見(jiàn)頻文件格式和音視頻編碼才各式的限 制問(wèn)題,同時(shí)也解決了有限的移動(dòng)終端的硬件資源和移動(dòng)終端所支持多種音視 頻格式所帶來(lái)的資源消耗兩者之間的矛盾問(wèn)題。
圖l為本發(fā)明實(shí)施例所述系統(tǒng)的框架結(jié)構(gòu)圖2為本發(fā)明實(shí)施例所述系統(tǒng)的具體框架結(jié)構(gòu)圖3為本發(fā)明實(shí)施例所述系統(tǒng)的模塊管理器中的框架協(xié)議映射表;
圖4為本發(fā)明實(shí)施例所述系統(tǒng)中內(nèi)存設(shè)備或二級(jí)存儲(chǔ)設(shè)備里面的模塊的結(jié) 構(gòu)示意圖5為本發(fā)明實(shí)施例所述方法的操作流程圖。
具體實(shí)施例方式
本發(fā)明的主要思想是解決了移動(dòng)終端的音視頻播放器對(duì)音視頻文件格式和 音視頻編碼格式的限制問(wèn)題,同時(shí)也解決了有限的移動(dòng)終端的硬件資源和移動(dòng) 終端所支持多種音視頻格式所帶來(lái)的資源消耗兩者之間的矛盾問(wèn)題。具體地說(shuō), 本發(fā)明所述的系統(tǒng)和方法可以根據(jù)移動(dòng)終端的硬件資源參數(shù)和用戶的配置信息
8確定一套最佳的運(yùn)行時(shí)動(dòng)態(tài)調(diào)整方案,該調(diào)整方案可以根據(jù)不同的音視頻格式 和播放模式(播放模式指用戶使用播放器的方式,可以是本地播放模式或網(wǎng)絡(luò) 播放模式)動(dòng)態(tài)調(diào)整對(duì)資源的占用情況,保證該移動(dòng)終端可以滿足用戶當(dāng)前的 需求,從而達(dá)到使移動(dòng)終端支持多種音視頻格式文件的目的。以下對(duì)具體實(shí)施 方式進(jìn)行詳細(xì)描述,但不作為對(duì)本發(fā)明的限定。
如圖l所示,為本發(fā)明實(shí)施例所述的一種支持音視頻解碼自適應(yīng)的系統(tǒng)的
框架結(jié)構(gòu)圖。該系統(tǒng)應(yīng)用于移動(dòng)終端的音一見(jiàn)頻播放器中,該系統(tǒng)包括策略配 置器IOI、模塊管理器102、播放框架設(shè)備103和內(nèi)存設(shè)備104;其中,
策略配置器101,用于根據(jù)用戶配置的用戶偏好、系統(tǒng)性能參數(shù)(即移動(dòng) 終端的處理器頻率),以及動(dòng)態(tài)檢測(cè)該系統(tǒng)的內(nèi)存設(shè)備104的實(shí)際內(nèi)存容量(目 的是矯正用戶設(shè)置的偏差),來(lái)確定模塊管理器102所采用的處理策略。
其中,用戶偏好是指用戶在策略配置器中設(shè)置的對(duì)不同的音視頻文件格式 和編碼格式以及播放4莫式的喜好程度。例如,用戶可能經(jīng)常播放3gp、 mp4或 avi格式的視頻文件,而很少播放flv格式的視頻文件,那么用戶可以通過(guò)策略 配置器IOI對(duì)各種視頻文件格式進(jìn)行排序,排位靠前的視頻文件格式有較高的 優(yōu)先級(jí)。
播放框架設(shè)備103,用于保存支持多種格式音視頻文件播放的動(dòng)態(tài)綁定協(xié)議。
其中,該播放框架設(shè)備103中包括播放請(qǐng)求處理協(xié)議單元1031、固定實(shí) 現(xiàn)協(xié)議單元1032和動(dòng)態(tài)綁定協(xié)議單元1033;其中,
播放請(qǐng)求處理協(xié)議單元1031,用于接收用戶的輸入請(qǐng)求,并將這些輸入請(qǐng) 求轉(zhuǎn)換為協(xié)議發(fā)送給模塊管理器102。例如用戶的輸入請(qǐng)求包括用戶選擇 的是本地播放還是網(wǎng)絡(luò)播放、如果是網(wǎng)絡(luò)播放,那么網(wǎng)絡(luò)協(xié)議是什么等。
固定實(shí)現(xiàn)協(xié)議單元1032,用于保存固定任務(wù)指示協(xié)議(即不受動(dòng)態(tài)加載影 響的那些協(xié)議。例如判斷音視頻文件類型的協(xié)議、框架初始化協(xié)議等的協(xié)議), 當(dāng)接收到用戶的固定任務(wù)指示時(shí),將固定任務(wù)指示協(xié)議發(fā)送給模塊管理器102。
動(dòng)態(tài)綁定協(xié)議單元1033,用于保存支持多種格式音視頻文件播放的動(dòng)態(tài)綁 定協(xié)議(動(dòng)態(tài)綁定協(xié)議的類型包括三種,分別是音視頻解碼協(xié)議、分離協(xié)議和 網(wǎng)絡(luò)協(xié)議),當(dāng)收到模塊管理器102發(fā)送的加載完成某個(gè)模塊指示后,調(diào)用與該
9模塊格式和類型都對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議,將該動(dòng)態(tài)綁定協(xié)議發(fā)送到內(nèi)存設(shè)備
104中與加載完成的該模塊綁定。例如當(dāng)前移動(dòng)終端需要對(duì)H263編碼格式的 視頻數(shù)據(jù)進(jìn)行解碼,本發(fā)明所述系統(tǒng)對(duì)該一見(jiàn)頻數(shù)據(jù)進(jìn)行解碼的一個(gè)動(dòng)態(tài)綁定協(xié) 議是framework—video—decode,該動(dòng)態(tài)綁定協(xié)議在模塊管理器102對(duì)h263視頻 解碼模塊被加載之前只是簡(jiǎn)單的返回,不做任何有意義的操作,而在h263視頻 解碼沖莫塊一皮加載并完成對(duì)該動(dòng)態(tài)綁定協(xié)議的動(dòng)態(tài)綁定后,該動(dòng)態(tài)綁定協(xié)議就可 以對(duì)h263 一見(jiàn)頻數(shù)據(jù)進(jìn)行解碼了 。具體地說(shuō),就是建立起framework—video—decode 與 h263—video_decode之間的對(duì)應(yīng)關(guān)系,這樣該動(dòng)態(tài)綁定協(xié)議 framework—video—decode 4皮調(diào)用時(shí)^1奪#^亍h263—video—decode,完成對(duì)h263 一見(jiàn)頻 數(shù)據(jù)的解碼。
內(nèi)存設(shè)備104,用于保存處理不同格式音視頻文件的模塊。
其中,該內(nèi)存設(shè)備104中存儲(chǔ)有至少一個(gè)分離器模塊、至少一個(gè)音視頻解 碼模塊和至少 一個(gè)網(wǎng)絡(luò)模塊。
具體地,如圖1或2所示,在圖1中的內(nèi)存設(shè)備104中或圖2中的內(nèi)存設(shè) 備104中包括有至少一個(gè)分離器模塊、至少一個(gè)音視頻解碼模塊和至少一個(gè) 網(wǎng)絡(luò)模塊;圖2所示的二級(jí)存儲(chǔ)設(shè)備105,用于保存模塊管理器102需要加載 到內(nèi)存設(shè)備104中的模塊,和/或保存模塊管理器102需要從內(nèi)存設(shè)備104中卸 載的模塊,所述模塊也同樣包括三種類型的模塊,分別是分離器模塊、音視頻 解碼模塊和網(wǎng)絡(luò)模塊。其中,
分離器模塊,用于保存某種音視頻文件格式的解析文件,當(dāng)被模塊管理器 102調(diào)用到內(nèi)存設(shè)備中后,與對(duì)應(yīng)類型的動(dòng)態(tài)綁定協(xié)議相結(jié)合對(duì)符合該種文件 格式的音視頻數(shù)據(jù)進(jìn)行解析,分別獲取其中待解碼的音頻或視頻數(shù)據(jù)。
例如分離器模塊可以對(duì)avi、 flv、 mjpeg文件格式進(jìn)行分離。
音視頻解碼模塊,用于保存某種音頻或視頻文件格式的解碼數(shù)據(jù),當(dāng)被模 塊管理器102調(diào)用到內(nèi)存設(shè)備中后,與對(duì)應(yīng)類型的動(dòng)態(tài)綁定協(xié)議相結(jié)合對(duì)經(jīng)過(guò) 分離器模塊處理后的符合該種文件格式的音頻或視頻數(shù)據(jù)進(jìn)行解碼,得到原始 的數(shù)據(jù)。
網(wǎng)絡(luò)模塊,用于根據(jù)用戶指示從網(wǎng)絡(luò)上接收音視頻數(shù)據(jù),根據(jù)該接收的音 視頻數(shù)據(jù)的文件格式,發(fā)送給對(duì)應(yīng)文件格式的分離器模塊進(jìn)行處理。例如 一個(gè)網(wǎng)絡(luò)模塊支持HTTP網(wǎng)絡(luò)協(xié)議,另 一個(gè)網(wǎng)絡(luò)模塊支持RTSP網(wǎng) 絡(luò)協(xié)議,當(dāng)用戶選4奪網(wǎng)絡(luò)播放模式并選4奪HTTP網(wǎng)絡(luò)協(xié)議進(jìn)行流媒體播放時(shí), 模塊管理器102將HTTP網(wǎng)絡(luò)協(xié)議對(duì)應(yīng)的網(wǎng)絡(luò)模塊加載到內(nèi)存設(shè)備104中,并 在動(dòng)態(tài)綁定協(xié)議單元1033中調(diào)用HTTP網(wǎng)絡(luò)協(xié)議的函數(shù)到內(nèi)存設(shè)備104中與加 載的網(wǎng)絡(luò)模塊進(jìn)行綁定,從而使移動(dòng)終端實(shí)現(xiàn)按照HTTP網(wǎng)絡(luò)協(xié)議從網(wǎng)絡(luò)上獲 取音視頻數(shù)據(jù)。
模塊管理器102,用于根據(jù)所采用的處理策略,執(zhí)行對(duì)內(nèi)存設(shè)備104中的 模塊進(jìn)行加載、卸載管理,以及通過(guò)框架協(xié)議映射表(如圖3所示)根據(jù)所要 處理的音視頻文件的格式,從播放框架設(shè)備103中調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài) 綁定協(xié)議到內(nèi)存設(shè)備104中,與該內(nèi)存設(shè)備104中的對(duì)應(yīng)格式的模塊進(jìn)行綁定 后,對(duì)該音視頻文件進(jìn)行解碼工作。
另外,如圖3所示,為模塊管理器102中的框架協(xié)議映射表。動(dòng)態(tài)綁定協(xié) 議單元1033中的所有動(dòng)態(tài)綁定協(xié)議在框架協(xié)議映射表中具有唯一的入口 ,其中 還記錄了每個(gè)動(dòng)態(tài)綁定協(xié)議對(duì)應(yīng)的模塊,這樣在系統(tǒng)執(zhí)行某個(gè)動(dòng)態(tài)綁定協(xié)議時(shí) 可以執(zhí)行到對(duì)應(yīng)的模塊。例如動(dòng)態(tài)綁定前動(dòng)態(tài)綁定協(xié)議1對(duì)應(yīng)的模塊為空, 此時(shí)執(zhí)行動(dòng)態(tài)綁定協(xié)議1,不會(huì)有任何效果;模塊管理器102對(duì)動(dòng)態(tài)綁定協(xié)議1 和對(duì)應(yīng)的模塊1完成動(dòng)態(tài)綁定后,再執(zhí)行動(dòng)態(tài)綁定協(xié)議1時(shí)則對(duì)應(yīng)的模塊1被 執(zhí)行,完成特定任務(wù)。
另外,模塊管理器102執(zhí)行對(duì)內(nèi)存設(shè)備104中的不同模塊的加載、卸載管 理,進(jìn)一步為
模塊管理器102將某個(gè)模塊加載到內(nèi)存設(shè)備104中后,需要調(diào)用動(dòng)態(tài)綁定 協(xié)議單元1033中與該模塊對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議進(jìn)行重新綁定;
模塊管理器102將某個(gè)模塊從內(nèi)存設(shè)備104中卸載前,需要清空在框架協(xié) 議映射表中該模塊對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議,然后在從內(nèi)存設(shè)備104中將該模塊卸
載;
模塊管理器102當(dāng)需要對(duì)某個(gè)模塊進(jìn)行替換等操作時(shí)也伴隨著對(duì)框架協(xié)議 映射表中該模塊對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議的綁定與卸載。
其中,模塊管理器102中包括靜態(tài)處理策略模塊和動(dòng)態(tài)處理策略模塊; 靜態(tài)處理策略模塊為策略配置器101根據(jù)移動(dòng)終端的處理器頻率、內(nèi)存設(shè)
ii備104的實(shí)際內(nèi)存容量和用戶偏好的設(shè)置,分別確定能夠保持在內(nèi)存設(shè)備104 中的各個(gè)分離器模塊、音視頻解碼模塊和網(wǎng)絡(luò)模塊的優(yōu)先級(jí)。高優(yōu)先級(jí)的模塊 可以同時(shí)保持在內(nèi)存設(shè)備104中,這樣在內(nèi)存設(shè)備104的空間允許的情況下, 內(nèi)存設(shè)備104中可能會(huì)同時(shí)保持多個(gè)不同類型的分離器模塊、音視頻解碼模塊 或網(wǎng)絡(luò)模塊。
動(dòng)態(tài)處理策略模塊為在靜態(tài)處理策略的基礎(chǔ)上,當(dāng)策略配置器101在一段
策略中設(shè)置的較高優(yōu)先級(jí)的音視頻文件格式并不被經(jīng)常播放,則策略配置器 101指示模塊管理器102將較高優(yōu)先級(jí)的音視頻文件格式對(duì)應(yīng)的分離器模塊和 音視頻解碼模塊卸載,將經(jīng)常被播放的較低優(yōu)先級(jí)的音視頻文件格式對(duì)應(yīng)的分 離器模塊和音視頻解碼模塊加載并保持在內(nèi)存設(shè)備104中。
靜態(tài)處理策略的好處是由于用戶經(jīng)常使用這些高優(yōu)先級(jí)的模塊,這樣可以 減少模塊管理器102對(duì)上述這些高優(yōu)先級(jí)的模塊的加載與卸載,減少輸入輸出 操作,提高移動(dòng)終端播放器的處理性能。
另外,上述兩種策略模塊中還包括有替換策略模塊。替換策略模塊是指當(dāng) 模塊管理器102根據(jù)用戶的指示需要加載某個(gè)模塊(如圖2所示,該模塊在二 級(jí)存儲(chǔ)設(shè)備105中)到內(nèi)存設(shè)備104中時(shí),而內(nèi)存設(shè)備104中的空間無(wú)法容納 該模塊時(shí),需要將內(nèi)存設(shè)備104中現(xiàn)有的某些模塊替換出內(nèi)存,為待加載的該 模塊提供空間。目前有兩種替換策略模塊
一種是基于優(yōu)先級(jí)的替換策略模塊。該基于優(yōu)先級(jí)的替換策略模塊,用于 在用戶偏好設(shè)置完成后,每個(gè)模塊有一個(gè)優(yōu)先級(jí),對(duì)當(dāng)前播放過(guò)程中不需要的, 且具有低優(yōu)先級(jí)的模塊替換出內(nèi)存設(shè)備104中,為待加載的模塊提供空間。
另 一種是基于內(nèi)存空間的替換策略模塊。該基于內(nèi)存空間的替換策略模塊, 用于將當(dāng)前播放過(guò)程中不需要的,且占用空間最大的模塊替換出內(nèi)存設(shè)備104 中,直到有足夠的內(nèi)存設(shè)備104的空間來(lái)將待加載的模塊轉(zhuǎn)移到內(nèi)存設(shè)備104 中。例如當(dāng)前內(nèi)存中同時(shí)有h263視頻解碼才莫塊和mjpeg視頻解碼才莫塊,而當(dāng) 前播放的視頻文件中的視頻數(shù)據(jù)編碼方式是h263,那么,h263視頻解碼才莫塊是 被使用的,而mjpeg視頻解碼模塊是未被使用的(即不需要的)且占用空間最 大的模塊。如圖4所示,為內(nèi)存設(shè)備104或二級(jí)存儲(chǔ)設(shè)備105中的可以動(dòng)態(tài)加載的模 塊的結(jié)構(gòu)示意圖。其中每個(gè)模塊中除了包含各種完成特定功能的協(xié)議外(如圖 4中協(xié)議1到協(xié)議N),還包括有該模塊的一些統(tǒng)計(jì)信息,如模塊標(biāo)識(shí)、處理器 參數(shù)、內(nèi)存參數(shù)和協(xié)議列表等,模塊管理器102根據(jù)每個(gè)模塊的內(nèi)部包含的這 些信息來(lái)完成模塊的加載,并記錄下已經(jīng)加載的所有協(xié)議的信息,方便后續(xù)的 處理。其中,
模塊標(biāo)識(shí)是對(duì)模塊的唯一標(biāo)識(shí),是個(gè)ID,用來(lái)區(qū)分各個(gè)模塊;
處理器參數(shù),是指該模塊中的協(xié)議若要正常運(yùn)行,需要的處理器頻率最低 值是多少,如果處理器頻率沒(méi)有達(dá)到這個(gè)限制值,那么這個(gè)模塊是不能被加載 的;
內(nèi)存參數(shù),是指該模塊中的協(xié)議正常運(yùn)行至少需要多少內(nèi)存空間,如果內(nèi) 存大小沒(méi)有達(dá)到這個(gè)限制值,那么這個(gè)模塊也是不能被加載的;
協(xié)議列表,是記錄該模塊中各個(gè)協(xié)議相對(duì)于模塊起始位置的偏移,其作用 在于定位各個(gè)協(xié)議。
如圖5所示,為本發(fā)明實(shí)施例所述的一種支持音視頻解碼自適應(yīng)的方法的 操作流程圖。該方法應(yīng)用于移動(dòng)終端的音視頻播放器中,包括步驟
步驟501,音視頻播放器根據(jù)用戶配置的信息,確定所采用的處理策略;
步驟502,音視頻播放器根據(jù)處理策略,對(duì)該音視頻播放器的內(nèi)存設(shè)備中 用于處理不同格式音視頻文件的模塊進(jìn)行加載、卸載;
步驟503,音視頻播放器根據(jù)所要處理的音視頻文件的格式,從該音視頻 播放器的播放框架設(shè)備中調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到內(nèi)存設(shè)備中, 與該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音視頻文件進(jìn)行解碼。
其中,步驟501中所述用戶配置的信息包括用戶偏好、系統(tǒng)性能參數(shù)以 及動(dòng)態(tài)檢測(cè)所述內(nèi)存設(shè)備的實(shí)際內(nèi)存容量。具體的關(guān)于用戶偏好、系統(tǒng)性能參 數(shù)以及動(dòng)態(tài)檢測(cè)所述內(nèi)存設(shè)備的實(shí)際內(nèi)存容量的定義,與前述系統(tǒng)中的內(nèi)容一 致,這里不再進(jìn)行詳述。
步驟501中所述處理策略包括靜態(tài)處理策略和動(dòng)態(tài)處理策略;所述靜態(tài)處理策略和動(dòng)態(tài)處理策略均包括有替換策略,所述替換策略包括基于優(yōu)先級(jí) 的替換策略和基于內(nèi)存空間的替換策略。具體內(nèi)容與前述系統(tǒng)中的內(nèi)容一致, 這里不再進(jìn)行詳述。
另外,所述音視頻播放器的內(nèi)存設(shè)備中模塊的類型包括分離器模塊、音視 頻解碼模塊和網(wǎng)絡(luò)模塊;所述分離器模塊、音視頻解碼模塊和網(wǎng)絡(luò)模塊中的任 一模塊中均包括模塊標(biāo)識(shí)、處理器參數(shù)、內(nèi)存參數(shù)和函數(shù)列表。
另外,步驟502,進(jìn)一步為
音視頻播放器根據(jù)所述處理策略,從音視頻播放器的二級(jí)存儲(chǔ)設(shè)備中調(diào)用 需要的處理不同格式音視頻文件的模塊加載到內(nèi)存設(shè)備中,和/或?qū)?nèi)存設(shè)備中 處理不同格式音視頻文件的模塊卸載到二級(jí)存儲(chǔ)設(shè)備中。
另外,動(dòng)態(tài)綁定協(xié)議的類型包括分離協(xié)議、音視頻解碼協(xié)議和網(wǎng)絡(luò)協(xié)議, 該動(dòng)態(tài)綁定協(xié)議的類型是與內(nèi)存設(shè)備/二級(jí)存儲(chǔ)設(shè)備中模塊的類型對(duì)應(yīng)的。具體 的關(guān)于分離協(xié)議、音視頻解碼協(xié)議和網(wǎng)絡(luò)協(xié)議的定義,與前述系統(tǒng)中的內(nèi)容一 致,這里不再進(jìn)^f詳述。
另外,步驟503進(jìn)一步為音視頻播放器通過(guò)框架協(xié)議映射表(如圖4所 示)根據(jù)所要處理的音視頻文件的格式,從播放框架設(shè)備中的調(diào)用與該格式相 對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到內(nèi)存設(shè)備中,與該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁 定后,對(duì)該音視頻文件進(jìn)行解碼。
與現(xiàn)有技術(shù)相比,本發(fā)明提高用戶使用移動(dòng)終端中的音視頻播放器的方便 性,解決了移動(dòng)終端的音視頻播放器對(duì)音視頻文件格式和音視頻編碼格式的限 制問(wèn)題,同時(shí)也解決了有限的移動(dòng)終端的硬件資源和移動(dòng)終端所支持多種音視 頻格式所帶來(lái)的資源消耗兩者之間的矛盾問(wèn)題。
當(dāng)然,本發(fā)明還可有其他多種實(shí)施例,在不背離本發(fā)明精神及其實(shí)質(zhì)的情 況下,熟悉本領(lǐng)域的技術(shù)人員可根據(jù)本發(fā)明做出各種相應(yīng)的改變和變形,但這 些相應(yīng)的改變和變形都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1、一種支持音視頻解碼自適應(yīng)的系統(tǒng),應(yīng)用于移動(dòng)終端的音視頻播放器中,其特征在于包括策略配置器、播放框架設(shè)備、內(nèi)存設(shè)備和模塊管理器;其中,所述策略配置器,用于根據(jù)用戶配置的信息,來(lái)確定所述模塊管理器所采用的處理策略;所述播放框架設(shè)備,用于保存支持多種格式音視頻文件播放的動(dòng)態(tài)綁定協(xié)議;所述內(nèi)存設(shè)備,用于保存處理不同格式音視頻文件的模塊;所述模塊管理器,用于根據(jù)所述處理策略,對(duì)所述內(nèi)存設(shè)備中的模塊進(jìn)行加載、卸載管理,以及根據(jù)所要處理的音視頻文件的格式,從所述播放框架設(shè)備中調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到所述內(nèi)存設(shè)備中,與該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音視頻文件進(jìn)行解碼。
2、 如權(quán)利要求l所述的系統(tǒng),其特征在于所述模塊管理器,進(jìn)一步還用于通過(guò)框架協(xié)議映射表根據(jù)所要處理的音視 頻文件的格式,從所述播放框架設(shè)備中的調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議 到所述內(nèi)存設(shè)備中,與該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音視 頻文件進(jìn)行解碼。
3、 如權(quán)利要求2所述的系統(tǒng),其特征在于所述模塊管理器中包括靜態(tài)處理策略模塊和動(dòng)態(tài)處理策略模塊;所述靜 態(tài)處理策略模塊和動(dòng)態(tài)處理策略模塊中均包括有替換策略模塊,所述替換策略 模塊包括基于優(yōu)先級(jí)的替換策略模塊和基于內(nèi)存空間的替換策略模塊。
4、 如權(quán)利要求1至3中任一權(quán)利要求所述的系統(tǒng),其特征在于,還包括二級(jí)存儲(chǔ)設(shè)備,用于保存所述模塊管理器需要加載到所迷內(nèi)存設(shè)備中的模 塊,和/或保存所述模塊管理器需要從所述內(nèi)存設(shè)備中卸載的模塊。
5、 如權(quán)利要求4所述的系統(tǒng),其特征在于所述內(nèi)存設(shè)備/二級(jí)存儲(chǔ)設(shè)備中模塊的類型包括分離器模塊、音視頻解碼模塊和網(wǎng)絡(luò)模塊;所述播放框架設(shè)備中動(dòng)態(tài)綁定協(xié)議的類型包括分離協(xié)議、音視頻解碼協(xié) 議和網(wǎng)絡(luò)協(xié)議。
6、 如權(quán)利要求l所述的系統(tǒng),其特征在于所述策略配置器中的根據(jù)用戶配置的信息包括用戶偏好、系統(tǒng)性能參數(shù) 以及動(dòng)態(tài)4企測(cè)所述內(nèi)存設(shè)備的實(shí)際內(nèi)存容量。
7、 一種支持音視頻解碼自適應(yīng)的方法,應(yīng)用于移動(dòng)終端的音視頻播放器中, 其特征在于包括以下步驟所述音視頻播放器根據(jù)用戶配置的信息,確定所釆用的處理策略;所述音視頻播放器根據(jù)所述處理策略,對(duì)該音視頻播放器的內(nèi)存設(shè)備中用 于處理不同格式音視頻文件的模塊進(jìn)行加載、卸載;所述音視頻播放器根據(jù)所要處理的音視頻文件的格式,從該音視頻播放器 的播放框架設(shè)備中調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到所述內(nèi)存設(shè)備中,與 該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音視頻文件進(jìn)行解碼。
8、 如權(quán)利要求7所述的方法,其特征在于所述音視頻播放器根據(jù)所要處理的音視頻文件的格式,從該音視頻播放器 的播放框架設(shè)備中調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到所述內(nèi)存設(shè)備中,與 該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音視頻文件進(jìn)行解碼,進(jìn)一 步為所述音視頻播放器通過(guò)框架協(xié)議映射表根據(jù)所要處理的音視頻文件的格 式,從所述播放框架設(shè)備中的調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到所述內(nèi)存 設(shè)備中,與該內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)該音視頻文件進(jìn)行 解碼。
9、 如權(quán)利要求8所述的方法,其特征在于所述處理策略包括靜態(tài)處理策略和動(dòng)態(tài)處理策略;所述靜態(tài)處理策略和 動(dòng)態(tài)處理策略均包括有替換策略,所述替換策略包括基于優(yōu)先級(jí)的替換策略 和基于內(nèi)存空間的替換策略。
10、 如權(quán)利要求7至9中任一權(quán)利要求所述的方法,其特征在于所述音視頻播放器根據(jù)所述處理策略,對(duì)該音視頻播放器的內(nèi)存設(shè)備中用 于處理不同格式音視頻文件的模塊進(jìn)行加載、卸載,進(jìn)一步為所述音視頻播放器根據(jù)所述處理策略,^v所述音^L頻播放器的二級(jí)存儲(chǔ)設(shè) 備中調(diào)用需要的處理不同格式音視頻文件的模塊加載到所述內(nèi)存設(shè)備中,和/ 或?qū)⑺鰞?nèi)存設(shè)備中處理不同格式音視頻文件的模塊卸載到所述二級(jí)存儲(chǔ)設(shè)備 中。
11、 如權(quán)利要求IO所述的方法,其特征在于所述內(nèi)存設(shè)備/二級(jí)存儲(chǔ)設(shè)備中模塊的類型包括分離器模塊、音視頻解碼 模塊和網(wǎng)絡(luò)模塊;所述動(dòng)態(tài)綁定協(xié)議的類型包括分離協(xié)議、音一見(jiàn)頻解碼協(xié)議和網(wǎng)絡(luò)協(xié)議。
12、 如權(quán)利要求7所述的方法,其特征在于所述用戶配置的信息包括用戶偏好、系統(tǒng)性能參數(shù)以及動(dòng)態(tài)檢測(cè)所述內(nèi) 存設(shè)備的實(shí)際內(nèi)存容量。
全文摘要
本發(fā)明公開(kāi)了支持音視頻解碼自適應(yīng)的系統(tǒng)及其方法,該系統(tǒng)包括策略配置器、播放框架設(shè)備、內(nèi)存設(shè)備和模塊管理器;策略配置器,用于根據(jù)用戶配置的信息,來(lái)確定模塊管理器所采用的處理策略;播放框架設(shè)備,用于保存支持多種格式音視頻文件播放的動(dòng)態(tài)綁定協(xié)議;內(nèi)存設(shè)備,用于保存處理不同格式音視頻文件的模塊;模塊管理器,用于根據(jù)處理策略,對(duì)內(nèi)存設(shè)備中的模塊進(jìn)行加載、卸載管理,以及根據(jù)所要處理的音視頻文件的格式,從播放框架設(shè)備中調(diào)用與該格式相對(duì)應(yīng)的動(dòng)態(tài)綁定協(xié)議到內(nèi)存設(shè)備中,與內(nèi)存設(shè)備中的對(duì)應(yīng)格式的模塊進(jìn)行綁定后,對(duì)音視頻文件進(jìn)行解碼。本發(fā)明解決了移動(dòng)終端的音視頻播放器對(duì)音視頻文件格式和音視頻編碼格式的限制問(wèn)題。
文檔編號(hào)H04M1/725GK101567206SQ20091008486
公開(kāi)日2009年10月28日 申請(qǐng)日期2009年5月26日 優(yōu)先權(quán)日2009年5月26日
發(fā)明者鋒 代, 張勇東, 李建濤, 波 王, 裴國(guó)順 申請(qǐng)人:北京北緯通信科技股份有限公司;中國(guó)科學(xué)院計(jì)算技術(shù)研究所