專利名稱:一種解碼鏈定制系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種解碼鏈定制系統(tǒng)及方法,特別是涉及一種Windows下基于 Directshow的解碼鏈定制系統(tǒng)及方法。
背景技術(shù):
目前,音視頻編碼格式越來越多,相應(yīng)的解碼器也是數(shù)量陡增,一種解碼器可以解碼多種編碼格式,而一種編碼格式也往往可以被多種解碼器解碼。對于普通的娛樂應(yīng)用, 用戶一般追求解碼效果,而一些特殊的領(lǐng)域,例如傳媒廣告等,用戶則更多關(guān)注解碼的穩(wěn)定性。如果解碼器選擇不當(dāng),不但不能達(dá)到穩(wěn)定且效果好的解碼,甚至有可能解碼失敗。對于構(gòu)建解碼鏈時解碼器的選擇,基于Directshow的播放軟件一般采用以下的方法I.完全按照Directshow智能鏈接的架構(gòu)來選擇Windows系統(tǒng)中注冊的解碼器,根據(jù)其優(yōu)先級來構(gòu)建解碼鏈。2.提供一個專家媒體庫,針對每種編碼格式,給出一個最優(yōu)的解碼鏈方案,構(gòu)建解碼鏈時就參照專家媒體庫來選擇相應(yīng)的解碼器??梢钥吹剑椒↖解碼器的選擇嚴(yán)重依賴Windows系統(tǒng),最終的解碼效果和解碼穩(wěn)定性無法預(yù)測,方法2雖然做到Windows系統(tǒng)無關(guān),但是專家媒體庫是不對用戶開放的,如果出現(xiàn)解碼問題,用戶也只能按照專家媒體庫的推薦來構(gòu)建解碼鏈,而不能自由的選擇更加合適的解碼器。
發(fā)明內(nèi)容
本發(fā)明要解決的一個技術(shù)問題是提供一種用戶可自由選擇解碼器來構(gòu)建解碼鏈, 從而滿足不同解碼需求的解碼鏈定制系統(tǒng)。為了解決上述技術(shù)問題,本發(fā)明的解碼鏈定制系統(tǒng)包括信息配置模塊,用戶定制模塊和建鏈核心模塊;所述信息配置模塊用于從配置文件中加載并保存解碼器信息和解碼鏈預(yù)設(shè)方案;用戶定制模塊用于根據(jù)不同的媒體文件編碼格式定制解碼鏈方案;建鏈核心模塊用于根據(jù)定制的解碼鏈方案構(gòu)建解碼鏈。所述用戶定制模塊可以選擇信息配置模塊加載并保存的解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,或由信息配置模塊加載并保存的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案。所述用戶定制模塊可以選擇信息配置模塊加載并保存的解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,或由信息配置模塊加載并保存的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案,或由信息配置模塊加載并保存的解碼器信息及外部載入的解碼器中選擇解碼器,從而形成解碼鏈定制方案。本發(fā)明要解決的另一個技術(shù)問題是提供一種用戶可自由選擇解碼器來構(gòu)建解碼鏈,從而滿足不同解碼需求的解碼鏈定制方法。為了解決上述技術(shù)問題,本發(fā)明的解碼鏈定制方法包括下述步驟
3
I)從配置文件中加載并保存解碼器信息和解碼鏈預(yù)設(shè)方案;2)針對不同的媒體文件編碼格式定制解碼鏈方案;3)根據(jù)定制的解碼鏈方案構(gòu)建解碼鏈。所述步驟2)中,針對不同的媒體文件編碼格式,可以選擇從配置文件中加載并保存解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,或從配置文件加載并保存的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案。所述步驟2)中,針對不同的媒體文件編碼格式,可以選擇從配置文件中加載并保存的解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,或者從配置文件加載并保存的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案,或者從配置文件加載并保存的解碼器信息及外部載入的解碼器中選擇解碼器,從而形成解碼鏈定制方案。本發(fā)明針對不同的媒體文件編碼格式,用戶可以自由選擇配置文件中加載的解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,也可以從配置文件加載的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案,滿足不同的解碼需求。解碼鏈的構(gòu)建擺脫了 Windows系統(tǒng)依賴,能夠使用戶在解碼效果和解碼穩(wěn)定性之間找到平衡點(diǎn),提高了靈活性。特別是用戶還可以從配置文件加載的解碼器信息及外部載入的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案,更進(jìn)一步提高了解碼鏈構(gòu)建的靈活性,使用戶在解碼效果和解碼穩(wěn)定性之間找到更好的平衡點(diǎn)。本發(fā)明可通用于各種需要構(gòu)建解碼鏈的軟件系統(tǒng)中,例如音視頻播放器,音視頻轉(zhuǎn)碼器等。
下面結(jié)合附圖和實(shí)施例對本發(fā)明進(jìn)一步說明。圖I是本發(fā)明的解碼鏈定制系統(tǒng)結(jié)構(gòu)框圖。圖2是本發(fā)明的解碼鏈定制方法主流程圖。圖3是本發(fā)明的用戶定制解碼鏈實(shí)施例圖。
具體實(shí)施例方式如圖I所示,本發(fā)明的解碼鏈定制系統(tǒng)包括信息配置模塊101,用戶定制模塊102, 建鏈核心模塊103,其中信息配置模塊101用于從配置文件中加載并保存解碼器信息和解碼鏈預(yù)設(shè)方案;用戶定制模塊102可以選擇信息配置模塊加載并保存的解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,可以由信息配置模塊101加載并保存的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案,還可以由信息配置模塊101加載并保存的解碼器信息及外部載入的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案。建鏈核心模塊103用于根據(jù)解碼鏈定制方案構(gòu)建解碼鏈。所述解碼器信息可以細(xì)分為各種filter (濾鏡)的CLSID、文件路徑以及支持的媒體類型。所述解碼鏈?zhǔn)侵赣梢幌盗薪獯a器相互鏈接構(gòu)成的功能模塊。例如,源filter,分離filter,解碼filter和渲染filter,這些解碼器一般以ax文件存在。由這些解碼器相互鏈接構(gòu)成的解碼鏈具備加載媒體文件,解碼,實(shí)時渲染的功能。媒體文件有多種不同的編碼格式,針對每種媒體文件編碼格式,本發(fā)明預(yù)設(shè)一組媒體類型與之相對應(yīng)且解碼效果最好的源filter,分離filter,解碼filter和渲染 filter,形成解碼鏈預(yù)設(shè)方案,保存于配置文件。用戶可以選擇該解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,由建鏈核心模塊103根據(jù)該解碼鏈定制方案構(gòu)建解碼鏈。針對每種媒體文件編碼格式,配置文件中存儲多個源filter,多個分離filter, 多個解碼filter和多個渲染filter。如果用戶對預(yù)設(shè)解碼鏈方案的解碼效果不滿意,可以在多個源filter中選擇一種媒體類型與之相對應(yīng)的源filter,然后在多個分離filter 中選擇一種媒體類型與之相對應(yīng)的分離filter,在多個解碼filter中選擇一種媒體類型與之相對應(yīng)的解碼filter,在多個渲染filter中選擇一種媒體類型與之相對應(yīng)的渲染 filter,最后形成解碼鏈定制方案。建鏈核心模塊103根據(jù)該解碼鏈定制方案構(gòu)建解碼鏈。如果配置文件中存儲的解碼器不能滿足用戶的解碼需求,用戶還可以添加外部解碼器,信息配置模塊101分析該解碼器,并且保存其特定的信息,包括CLSID,文件路徑以及支持的媒體類型。用戶在定制解碼鏈方案時,即可以選擇配置文件中原有的解碼器,也可以選擇外部加載的解碼器來構(gòu)建解碼鏈,進(jìn)一步提高了解碼鏈構(gòu)建的靈活性。建鏈核心模塊103在構(gòu)建解碼鏈的過程中,根據(jù)媒體文件的編碼格式,在解碼鏈方案中找到媒體類型與之相對應(yīng)的解碼器,根據(jù)解碼器的信息,動態(tài)載入其ax文件,最終形成解碼鏈。如圖2所示,本發(fā)明的解碼鏈定制方法具體步驟如下步驟201 開始運(yùn)行程序;步驟202 :讀取配置文件,初始化解碼器信息;步驟203 :初始化解碼鏈預(yù)設(shè)方案;步驟204:如果配置文件中提供的解碼器無法滿足用戶的需求,用戶可以載入外部解碼器,讀取其CLSID,媒體類型和文件路徑等信息;步驟205 :如果解碼鏈預(yù)設(shè)方案無法滿足用戶的需求,用戶可以針對不同的編碼格式選擇媒體類型與之相應(yīng)的解碼器,形成解碼鏈定制方案;步驟206 :根據(jù)解碼鏈的預(yù)設(shè)方案和定制方案,構(gòu)建解碼鏈;步驟207 :保存解碼器信息到配置文件;步驟208 :保存解碼鏈方案到配置文件;步驟209:程序結(jié)束。下面以針對媒體文件Xvid_MP3. avi定制解碼鏈方案為例,對本發(fā)明作詳細(xì)說明。如圖3所示,媒體文件為Xvid_MP3. avi,其裝載容器是avi,其中的視頻編碼格式是Xvid,音頻編碼格式是MP3。其解碼鏈包括源filter 301,avi分離filter 302,Xvid解碼 filter 303,視頻渲染 filter 304,MP3 解碼 filter 305,音頻渲染 filter 306。對于源 filter,推薦使用 File Source (Async) 307 ;avi 分離 filter,推薦使用 Microsoft Avi Spliter 308,用戶也可以選擇Gabest Avi Spliter 309 ;視頻Xvid解碼filter,推薦使用Xvid Video Decoder 310,同時提供Divx Video Decoder 311,Ffdshow Video Decoder 312, Mpc Video Decoder 313,讓用戶選擇;如果用戶認(rèn)為以上四個Xvid解碼器均無法滿足其要求,可以從外部加載解碼器,例如Cyberlink Video Decoder 314 ;視頻渲染filter, 基于穩(wěn)定性的考慮,推薦使用Video Mixing Renderer 315,如果用戶想獲得更好的渲染效果,可以選擇 Video Mixing Renderer 7316,以及 Video Mixing Renderer9 317 ;音頻MP3解碼 filter,推薦使用 MPA Decoder 318,用戶也可選擇 MPEG Layer_3Decoder 319 ;音頻 宣染 filter,推薦使用 DirectSound Device 320。其中File Source (Async) 307、Microsoft Avi Spliter 308、Xvid Video Decoder 310、Video Mixing Renderer 315 和 MPA Decoder 318、DirectSound Device 320 構(gòu)成解碼鏈預(yù)設(shè)方案。以上所述,僅是本發(fā)明的較佳實(shí)現(xiàn)方案,不應(yīng)被視為是對本發(fā)明范圍的限制,本發(fā)明要求保護(hù)的范圍以權(quán)力要求為準(zhǔn)。
權(quán)利要求
1.一種解碼鏈定制系統(tǒng),其特征在于包括信息配置模塊,用戶定制模塊和建鏈核心模塊;所述信息配置模塊用于從配置文件中加載并保存解碼器信息和解碼鏈預(yù)設(shè)方案;用戶定制模塊用于根據(jù)不同的媒體文件編碼格式定制解碼鏈方案;建鏈核心模塊用于根據(jù)定制的解碼鏈方案構(gòu)建解碼鏈。
2.根據(jù)權(quán)利要求I所述的解碼鏈定制系統(tǒng),其特征在于所述用戶定制模塊選擇信息配置模塊加載并保存的解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,或由信息配置模塊加載并保存的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案。
3.根據(jù)權(quán)利要求I所述的解碼鏈定制系統(tǒng),其特征在于所述用戶定制模塊可以選擇信息配置模塊加載并保存的解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,或由信息配置模塊加載并保存的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案,或由信息配置模塊加載并保存的解碼器信息及外部載入的解碼器中選擇解碼器,從而形成解碼鏈定制方案。
4.一種解碼鏈定制方法,其特征在于包括下述步驟1)從配置文件中加載并保存解碼器信息和解碼鏈預(yù)設(shè)方案;2)針對不同的媒體文件編碼格式定制解碼鏈方案;3)根據(jù)定制的解碼鏈方案構(gòu)建解碼鏈。
5.根據(jù)權(quán)利要求4所述的解碼鏈定制方法,其特征在于所述步驟2)中,針對不同的媒體文件編碼格式,選擇從配置文件中加載并保存解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,或從配置文件加載并保存的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案。
6.根據(jù)權(quán)利要求4所述的解碼鏈定制方法,其特征在于所述步驟2)中,針對不同的媒體文件編碼格式,可以選擇從配置文件中加載并保存的解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,或者從配置文件加載并保存的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案,或者從配置文件加載并保存的解碼器信息及外部載入的解碼器中選擇解碼器,從而形成解碼鏈定制方案。
全文摘要
本發(fā)明涉及一種解碼鏈定制系統(tǒng)及方法,該系統(tǒng)包括信息配置模塊,用戶定制模塊和建鏈核心模塊;所述信息配置模塊用于從配置文件中加載并保存解碼器信息和解碼鏈預(yù)設(shè)方案;用戶定制模塊用于根據(jù)不同的媒體文件編碼格式定制解碼鏈方案;建鏈核心模塊用于根據(jù)定制的解碼鏈方案構(gòu)建解碼鏈。針對不同的媒體文件編碼格式,用戶可以選擇解碼鏈預(yù)設(shè)方案作為解碼鏈定制方案,也可以從配置文件加載的解碼器信息及外部載入的解碼器信息中選擇解碼器,從而形成解碼鏈定制方案,滿足不同的解碼需求。本發(fā)明擺脫了Windows系統(tǒng)依賴,能夠使用戶在解碼效果和解碼穩(wěn)定性之間找到平衡點(diǎn),提高了靈活性,可通用于各種需要構(gòu)建解碼鏈的軟件系統(tǒng)中。
文檔編號G11B20/12GK102592640SQ20111044509
公開日2012年7月18日 申請日期2011年12月27日 優(yōu)先權(quán)日2011年12月27日
發(fā)明者劉雙雙, 杜仲, 鄧招奇 申請人:長春希達(dá)電子技術(shù)有限公司