專利名稱:一種碼表動(dòng)態(tài)加載的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及soc設(shè)計(jì)中軟硬件協(xié)同設(shè)計(jì)技術(shù),涉及視頻信號(hào)處理中的視頻
和圖象解碼,尤其涉及視頻和圖象解碼的碼流解析過(guò)程。
背景技術(shù):
隨著芯片設(shè)計(jì)進(jìn)入了 soc系統(tǒng)級(jí)時(shí)代,合理的劃分軟硬件功能,使芯片
的整體性能,靈活性和芯片面積之間更好的平衡便成為一項(xiàng)很重要的工作。 一般的視頻和圖象的解碼過(guò)程就是首先解析整個(gè)不同層次的碼流,然后再
做反量化,反DCT變換等其他相應(yīng)變換,并最終復(fù)原原始圖象。
在涉及視頻和圖象的解碼技術(shù)中,其碼流包的結(jié)構(gòu)通常都是按層級(jí)機(jī)構(gòu) 的,比如序列(sequence)層,圖象(picture)層,片(slice)層,宏塊(MacroBlock) 層等。通常一個(gè)序列(sequence)包含若干個(gè)圖象,而一個(gè)圖象也包含若干個(gè)片 (slice), —個(gè)片包括若干個(gè)宏塊(MacroBlock)。即當(dāng)前普遍應(yīng)用的各種視頻 編解碼標(biāo)準(zhǔn),碼流有其共同的特點(diǎn),都是基于層次結(jié)構(gòu)的,高層次的碼流包通 常包含更多的低層次的碼流包。
現(xiàn)有的H264、 H263、 MPEG系列、Real系列等視頻標(biāo)準(zhǔn)中,碼流中某些低 層次解碼單元的解析,總是依賴于高層次參數(shù)的解析。
而通常在解析低層次單元包的數(shù)據(jù)時(shí),如宏塊層(Macroblock),需要根據(jù) 片(slice )層或者圖象(picture)層的參數(shù),通過(guò)査詢不同的査詢碼表,得到 最終的目標(biāo)解碼數(shù)據(jù)。而如果把所有的查詢碼表都由硬件實(shí)現(xiàn),硬件消耗的代 價(jià)非常大。本發(fā)明通過(guò)合理劃分軟硬件功能,利用SOC中的主處理器由軟件實(shí) 現(xiàn)碼表的動(dòng)態(tài)加載,從而有效地減小了整個(gè)系統(tǒng)的硬件消耗代價(jià)。
發(fā)明內(nèi)容
本發(fā)明的目的是利用soc中的主處理器由軟件進(jìn)行碼表的動(dòng)態(tài)加載,實(shí)現(xiàn)
視頻或者圖象解碼過(guò)程中的碼流解析,從而有效地減小整個(gè)系統(tǒng)的硬件消耗代 價(jià)。
根據(jù)本發(fā)明的一個(gè)方案,實(shí)現(xiàn)基于動(dòng)態(tài)加載碼表的碼流解析方案。該方案
可以應(yīng)用在H264、 H263、 MPEG系列、Real系列等多個(gè)視頻解碼標(biāo)準(zhǔn)中去。
本發(fā)明的方法和裝置的基本構(gòu)思在于,針對(duì)某個(gè)視頻碼流的特點(diǎn),將碼流 解析時(shí)需要用到的査找表分割。分割的依據(jù)是盡可能少的減小對(duì)解碼效率的影 響,并平衡要消耗的硬件資源。在進(jìn)行視頻碼流解析時(shí),根據(jù)上下文相關(guān)參數(shù), 當(dāng)硬件的動(dòng)態(tài)加載檢測(cè)模塊發(fā)現(xiàn)繼續(xù)解碼需要更新子碼表時(shí),將硬件碼流解析 模塊暫停,待主處理器更新完之后,恢復(fù)硬件碼流解析模塊的運(yùn)行。
具體的說(shuō),根據(jù)本發(fā)明的一個(gè)實(shí)施例,提供一種基于動(dòng)態(tài)加載碼表的碼流 解析方法。包括步驟
根據(jù)碼流的特征分割査找碼表,將碼流解析時(shí)需要用到的査找碼表按照一 定的規(guī)則分割成若干個(gè)不同的子碼表;
碼流解析時(shí),由硬件的動(dòng)態(tài)加載檢測(cè)模塊判斷當(dāng)前是否需要?jiǎng)討B(tài)加載;
如果硬件的動(dòng)態(tài)加載檢測(cè)模塊判斷當(dāng)前的解析需要加載碼表,則硬件碼流 解析模塊暫停,主處理器根據(jù)動(dòng)態(tài)加載檢測(cè)模塊的運(yùn)算子模塊得到的子碼表編 號(hào)。對(duì)子碼表陣列進(jìn)行更新,更新完成之后,恢復(fù)硬件解析模塊的運(yùn)行,繼 續(xù)下面的碼流解析;如果硬件的動(dòng)態(tài)加載檢測(cè)模塊判斷當(dāng)前的解析不需要加載 碼表,則硬件解析模塊的執(zhí)行不受影響。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所說(shuō)的分割査找碼表,是指根據(jù)具體碼流的特 征,使之在最大程度上不影響整體解碼的效率,并減少硬件的消耗。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,在所說(shuō)的動(dòng)態(tài)加載檢測(cè)判斷中,根據(jù)上下文, 前一個(gè)碼流包的參數(shù),和當(dāng)前碼流包解析的參數(shù),判斷當(dāng)前的碼流解析時(shí)是否 需要加載新的碼表。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,在所說(shuō)的動(dòng)態(tài)加載檢測(cè)判斷后,如果動(dòng)態(tài)加載 檢測(cè)模塊判斷當(dāng)前的碼流解析需要?jiǎng)討B(tài)加載碼表,則會(huì)通過(guò)中斷、查詢,或者其他軟硬件交互的方式通知主處理器。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,如果當(dāng)前需要?jiǎng)討B(tài)加載碼表,則硬件碼流解析 模塊會(huì)暫停執(zhí)行。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,如果主處理器得到通知,當(dāng)前需要?jiǎng)討B(tài)加載碼 表,則主處理器通過(guò)査詢動(dòng)態(tài)加載檢測(cè)模塊的運(yùn)算子模塊,得到當(dāng)前需要加載 的子碼表編號(hào)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,如果主處理器得到通知,當(dāng)前需要?jiǎng)討B(tài)加載碼 表,則主處理器將相應(yīng)的子碼表加載到實(shí)現(xiàn)子碼表陣列的存儲(chǔ)裝置中去。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,主處理器動(dòng)態(tài)加載完子碼表之后,恢復(fù)硬件碼 流解析模塊的執(zhí)行。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,在所說(shuō)的動(dòng)態(tài)加載檢測(cè)判斷后,如果硬件的動(dòng) 態(tài)加載檢測(cè)模塊判斷當(dāng)前的解析不需要加載碼表,則不中斷硬件碼流解析模塊 的運(yùn)行。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,所說(shuō)的動(dòng)態(tài)加載檢測(cè)判斷步驟,是和硬件碼流 解析模塊并行運(yùn)行的,在檢測(cè)過(guò)程中,并不要求硬件碼流解析模塊的暫停,不 會(huì)影響正常硬件解碼的效率。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,80%以上的宏塊數(shù)據(jù)解析是不需要進(jìn)行動(dòng)態(tài)加載 的,因此本發(fā)明的一個(gè)實(shí)施例,在最大程度上可以保證總體解碼的性能。 根據(jù)本發(fā)明的一個(gè)實(shí)施例, 一種實(shí)現(xiàn)碼流解析時(shí)碼表動(dòng)態(tài)加載的裝置,包
括
高層次參數(shù)解析模塊,完成較高層次的頭部解析工作; 子碼表陣列,由系統(tǒng)中的存儲(chǔ)裝置實(shí)現(xiàn); 低層次數(shù)據(jù)解析模塊,完成低層次數(shù)據(jù)單元包的解析; 動(dòng)態(tài)加載檢測(cè)模塊,判斷當(dāng)前的碼流解析是否需要?jiǎng)討B(tài)加載碼表; 主處理器模塊,完成系統(tǒng)的主要控制工作。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,其中高層次參數(shù)解析模塊完成序列頭部解碼, 圖象頭部解碼,等較高層次的頭部解析工作。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,其中子碼表陣列由系統(tǒng)級(jí)芯片(SOC)的存儲(chǔ)裝置片內(nèi)SRAM以及其相應(yīng)的總線接口實(shí)現(xiàn)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,其中低層次數(shù)據(jù)解析模塊,完成低層次數(shù)據(jù)單 元包的解析,在低層次數(shù)據(jù)單元包的解析過(guò)程中,會(huì)用到子碼表陣列中存儲(chǔ)的 査詢碼表。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,其中所說(shuō)的動(dòng)態(tài)加載檢測(cè)模塊,包括 存儲(chǔ)子模塊,存儲(chǔ)前一個(gè)解碼單元的參數(shù);
比較子模塊,將當(dāng)前低層次數(shù)據(jù)單元包的參數(shù)和前一個(gè)低層次數(shù)據(jù)單元包 的參數(shù)進(jìn)行比較,判斷當(dāng)前的碼流解析是否需要進(jìn)行査詢子碼表的動(dòng)態(tài)加載, 并通知主處理器模塊;
運(yùn)算子模塊,將當(dāng)前解析出來(lái)的參數(shù),按照一定的規(guī)則映射,得到需要加 載的子碼表編號(hào)以供主處理器査詢。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,其中的主處理器模塊,根據(jù)動(dòng)態(tài)加載檢測(cè)模塊 比較子模塊的判斷信號(hào)作相應(yīng)的處理。如果當(dāng)前低層次數(shù)據(jù)單元包的解析需要 應(yīng)用新的碼表,即需要子碼表的動(dòng)態(tài)加載,則暫停低層次數(shù)據(jù)解析模塊的工作, 主處理器通過(guò)軟件將相應(yīng)的碼表裝載到子碼表中去。
在附式中以實(shí)例方式而非限定方式闡述本發(fā)明,在附圖中-
圖1是按照本發(fā)明的基于碼表動(dòng)態(tài)加載的碼流解析系統(tǒng)的總體方框圖; 圖2是動(dòng)態(tài)加載檢測(cè)模塊的組成示意圖3是按照本發(fā)明的基于碼表動(dòng)態(tài)加載的碼流解析的流程圖。
具體實(shí)施例方式
現(xiàn)在將詳細(xì)介紹按照本發(fā)明的一個(gè)實(shí)施例,其實(shí)例顯示在附圖中。盡管本 發(fā)明將結(jié)合一個(gè)實(shí)施例來(lái)闡述,但應(yīng)了解,所述的實(shí)施例并不打算將本發(fā)明限 定至所述的實(shí)施例。相反,本發(fā)明打算涵蓋可包含于隨附權(quán)利要求所界定的本 發(fā)明精神以及范疇內(nèi)的替代、修改、及等價(jià)方案。此外,在本發(fā)明實(shí)施例的下 列詳細(xì)闡述中,列舉了眾多特定細(xì)節(jié)以達(dá)到對(duì)本發(fā)明的透徹理解。然而,所屬 技術(shù)領(lǐng)域的技術(shù)人員應(yīng)了解,本發(fā)明可在不具備這些特定細(xì)節(jié)的情況下實(shí)施。圖l是按照本發(fā)明的基于碼表動(dòng)態(tài)加載的碼》t解析系統(tǒng)的總體方框圖。整 個(gè)解碼器裝置包括高層次參數(shù)解析模塊IO、低層次數(shù)據(jù)包解析模塊ll、動(dòng) 態(tài)加載檢測(cè)模塊12、子碼表陣列13、主處理器14。為了描述的簡(jiǎn)單起見(jiàn),圖 1僅示出了理解本發(fā)明的實(shí)現(xiàn)和工作所需的基本部件。本領(lǐng)域的技術(shù)人員會(huì)理 解,并知道如何設(shè)計(jì),實(shí)現(xiàn)和將這些部件互連。進(jìn)一步說(shuō),在圖l中的高層次 參數(shù)解析模塊IO、低層次數(shù)據(jù)包解析模塊11、動(dòng)態(tài)加載檢測(cè)模塊12、子碼表 陣列13、主處理器14組成和操作不是本發(fā)明直接關(guān)聯(lián)的部件而且其操作屬于 本領(lǐng)域的公知常識(shí)。
碼流開(kāi)始解析時(shí),按照碼流包層次,高層次參數(shù)解析模塊10開(kāi)始工作,解 析序列層、圖象層、片層等不需要査詢碼表就可以解析的高層次參數(shù)。
高層次參數(shù)解析模塊10解析得到的某些參數(shù)需要提供給低層次數(shù)據(jù)解析模 塊ll,以供低層次數(shù)據(jù)解析模塊ll選擇査詢碼表。
高層次參數(shù)解析模塊IO在解析參數(shù)的同時(shí),還需要將解析的參數(shù)輸出給動(dòng) 態(tài)加載檢測(cè)模塊12。
動(dòng)態(tài)加載檢測(cè)模塊12存儲(chǔ)有已經(jīng)解析的前一個(gè)低層次數(shù)據(jù)包的碼表選擇參 數(shù),與當(dāng)前正在解析的低層次數(shù)據(jù)包的碼表選擇參數(shù)比較,當(dāng)發(fā)現(xiàn)不一致,即 需要重新加載碼表,則暫停低層次數(shù)據(jù)解析模塊11的解析。
低層次數(shù)據(jù)解析模塊11接收到暫停信號(hào)后,低層次數(shù)據(jù)解析模塊11保持 等待狀態(tài)。
與此同時(shí),動(dòng)態(tài)加載檢測(cè)模塊12通過(guò)軟硬件交互接口,在本實(shí)施例中,通 過(guò)中斷或者査詢的方式通知主處理器14。
主處理器14收到通知,當(dāng)前需要?jiǎng)討B(tài)加載子碼表。則主處理器14査詢動(dòng) 態(tài)加載檢測(cè)模塊12,得到需要加載的子碼表編號(hào)。隨后,主處理器14將子碼 表動(dòng)態(tài)加載到子碼表陣列13中。加載完畢之后,主處理器14重新恢復(fù)低層次 數(shù)據(jù)解析模塊11的解析。
低層次數(shù)據(jù)解析模塊11在等待狀態(tài)接收到恢復(fù)工作的信號(hào)后,從等待狀態(tài) 退出,接著開(kāi)始解析,通過(guò)查詢子碼表陣列中的正確碼表,并最終解析出碼流 包中的所有目標(biāo)數(shù)據(jù)。動(dòng)態(tài)加載檢測(cè)模塊12存儲(chǔ)有已經(jīng)解析的前一個(gè)低層次數(shù)據(jù)單元包的碼表選 擇參數(shù),與當(dāng)前正在解析的低層次數(shù)據(jù)單元包的碼表選擇參數(shù)比較,如果發(fā)現(xiàn) 當(dāng)前正在解析的低層次數(shù)據(jù)單元包需要査詢的碼表己經(jīng)在子碼表陣列中,不需 要重新加載,則動(dòng)態(tài)加載檢測(cè)模塊12不發(fā)生影響其他模塊解碼的行為,即不 會(huì)影響硬件解碼的效率。
其中,子碼表陣列13由系統(tǒng)級(jí)芯片SOC中的存儲(chǔ)裝置以及相應(yīng)的軟硬件接 口實(shí)現(xiàn)。在本實(shí)施例中,采用了片內(nèi)SRAM和通用的類sram接口實(shí)現(xiàn)子碼表陣 列。相關(guān)技術(shù)人員應(yīng)該明白,構(gòu)成子碼表陣列13的存儲(chǔ)裝置以及相應(yīng)的軟硬 件接口也可以由其他存儲(chǔ)器和接口實(shí)現(xiàn)。
圖1中的動(dòng)態(tài)加載檢測(cè)模塊12是和本發(fā)明密切相關(guān)的核心組成部分。圖2 是針對(duì)對(duì)動(dòng)態(tài)加載檢測(cè)模塊12具體說(shuō)明的動(dòng)態(tài)加載檢測(cè)模塊12內(nèi)部組成結(jié)構(gòu) 示意圖。
圖2中包括存儲(chǔ)裝置20、比較裝置21、運(yùn)算裝置22。其中存儲(chǔ)裝置20存 儲(chǔ)有已經(jīng)解析的前一個(gè)低層次數(shù)據(jù)單元包的碼表選擇參數(shù),每解完一個(gè)低層次 數(shù)據(jù)單元包,存儲(chǔ)裝置20存儲(chǔ)的內(nèi)容都會(huì)更新。
比較裝置21總是在實(shí)時(shí)比較高層次參數(shù)解析模塊10解析出來(lái)的低層次數(shù) 據(jù)解析單元的碼表選擇參數(shù)和存儲(chǔ)裝置20存儲(chǔ)的參數(shù),如果兩者不一致,即 需要重新加載碼表。則比較裝置21發(fā)出暫停信號(hào),暫停低層次參數(shù)解析單元 11,使其處于等待狀態(tài),同時(shí)通過(guò)中斷信號(hào)通知主處理器14。相關(guān)技術(shù)人員應(yīng) 該明白,此處也可以是査詢等其他軟硬件交互的接口信號(hào)達(dá)到和主處理器14 的相互通信。
運(yùn)算裝置22根據(jù)高層次參數(shù)解析單元10解析出來(lái)的低層次數(shù)據(jù)解析單元 的碼表選擇參數(shù)和存儲(chǔ)裝置20存儲(chǔ)的參數(shù),按照一定的規(guī)則,運(yùn)算得到當(dāng)前 低層次數(shù)據(jù)解析單元包需要使用的子碼表編號(hào)。主處理器14在收到比較裝置 21發(fā)出的動(dòng)態(tài)加載信號(hào)后,會(huì)査詢運(yùn)算裝置22,得到當(dāng)前需要?jiǎng)討B(tài)加載的子 碼表編號(hào),并進(jìn)而完成整個(gè)子碼表動(dòng)態(tài)加載過(guò)程。
圖3的流程圖說(shuō)明了本實(shí)施例具體實(shí)施的步驟。
碼流解析開(kāi)始30后,步驟31對(duì)碼流進(jìn)行較高層次的拆包以及參數(shù)解析,當(dāng)解析到低層次數(shù)據(jù)包時(shí),步驟32判斷當(dāng)前解析是否需要?jiǎng)討B(tài)加載碼表。如 果判斷為真,即當(dāng)前解析需要?jiǎng)討B(tài)加載碼表,則執(zhí)行步驟33,主處理器動(dòng)態(tài)加 載碼表到子碼表陣列,動(dòng)態(tài)加載完成后,執(zhí)行步驟34,低層次數(shù)據(jù)包的解析; 否則如果判斷為否,則直接執(zhí)行步驟34,低層次數(shù)據(jù)包的解析。低層次數(shù)據(jù)包 解析34完成,得到最終的目標(biāo)解碼數(shù)據(jù),則碼流解析完成35。
本文已出于例證和說(shuō)明的目的提供對(duì)本發(fā)明特定實(shí)施例的前述說(shuō)明。其并 非旨在作為窮盡性說(shuō)明或?qū)⒈景l(fā)明限定為所揭示的確切形式,且根據(jù)上述教示
可作出大量修改以及變化。本文所選擇以及描述的實(shí)施例旨在對(duì)本發(fā)明的原理 以及其實(shí)際應(yīng)用進(jìn)行最佳解釋,從而使所屬技術(shù)領(lǐng)域的其他技術(shù)人員能夠最佳 地利用本發(fā)明以及具有適用于所涵蓋具體應(yīng)用的各種修改形式的各種實(shí)施例。 本發(fā)明的范疇打算由附隨權(quán)利要求書(shū)以及其等效范圍界定。
權(quán)利要求
1,碼流解析時(shí)一種碼表動(dòng)態(tài)加載的方法,其特征在于包括將碼流解析需要使用的查詢碼表根據(jù)適當(dāng)?shù)囊?guī)則分割成若干個(gè)不同的子碼表,在碼流解析過(guò)程中需要使用查詢碼表時(shí)按一定的預(yù)定規(guī)則可以選擇動(dòng)態(tài)加載某一個(gè)或者某幾個(gè)已經(jīng)分割后的子碼表,從而保證碼流解析過(guò)程的順利完成。
2,如權(quán)利要求1所述的碼流解析時(shí)一種碼表動(dòng)態(tài)加載的方法,其特征在于 還包括設(shè)置一個(gè)動(dòng)態(tài)加載控制模塊,當(dāng)碼流解析過(guò)程中需要使用査詢碼表時(shí), 由動(dòng)態(tài)加載控制模塊判斷,并計(jì)算需要加載的子碼表編號(hào)。
3,如權(quán)利要求l所述的碼流解析時(shí)一種碼表動(dòng)態(tài)加載的方法,其子碼表陣 列由系統(tǒng)級(jí)芯片(SOC)的存儲(chǔ)裝置實(shí)現(xiàn)。
4,如權(quán)利要求1所述的動(dòng)態(tài)加載過(guò)程,其特征在于,所述的動(dòng)態(tài)加載,是 通過(guò)系統(tǒng)級(jí)芯片(SOC)中的主處理器(CPU)由軟件執(zhí)行寫(xiě)入構(gòu)成子碼表陣列的 片內(nèi)存儲(chǔ)裝置而實(shí)現(xiàn)的。
5,如權(quán)利要求l、 2、 3、 4所述碼流解析時(shí)一種碼表動(dòng)態(tài)加載的方法,其 特征還在于,當(dāng)前碼流解析過(guò)程需要子碼表動(dòng)態(tài)加載時(shí),暫停碼流解析過(guò)程, 等到主處理器(CPU)動(dòng)態(tài)加載完子碼表后,才重新恢復(fù)碼流的解析。
6,如權(quán)利要求l、 2、 3、 4所述碼流解析時(shí)一種碼表動(dòng)態(tài)加載的方法,其 特征還在于,當(dāng)前碼流解析過(guò)程不需要子碼表動(dòng)態(tài)加載時(shí),主處理器(CPU)不 會(huì)對(duì)當(dāng)前的碼流解析過(guò)程產(chǎn)生任何影響,使之能充分保證碼流解析的效率。
7, 一種實(shí)現(xiàn)碼流解析時(shí)碼表動(dòng)態(tài)加載的裝置,包括高層次參數(shù)解析模塊,完成較高層次的頭部解析工作;子碼表陣列,由系統(tǒng)中的存儲(chǔ)裝置實(shí)現(xiàn);低層次數(shù)據(jù)解析模塊,完成低層次數(shù)據(jù)單元包的解析;動(dòng)態(tài)加載檢測(cè)模塊,判斷當(dāng)前的碼流解析是否需要?jiǎng)討B(tài)加載碼表;主處理器模塊,完成系統(tǒng)的主要控制工作。
8.根據(jù)權(quán)利要求書(shū)7的裝置,其中高層次參數(shù)解析模塊完成序列頭部解碼, 圖象頭部解碼,等較高層次的頭部解析工作。
9.根據(jù)權(quán)利要求書(shū)7的裝置,其中子碼表陣列由系統(tǒng)級(jí)芯片(SOC)的存儲(chǔ) 裝置以及其相應(yīng)的總線接口實(shí)現(xiàn)。
10.根據(jù)權(quán)利要求書(shū)7的裝置,其中低層次數(shù)據(jù)解析模塊,完成低層次數(shù) 據(jù)單元包的解析,在低層次數(shù)據(jù)單元包的解析過(guò)程中,會(huì)用到子碼表陣列中存 儲(chǔ)的査詢碼表。
11.根據(jù)權(quán)利要求書(shū)7的裝置,其中所說(shuō)的動(dòng)態(tài)加載檢測(cè)模塊,包括 存儲(chǔ)子模塊,存儲(chǔ)前一個(gè)低層次數(shù)據(jù)單元包的參數(shù);比較子模塊,將當(dāng)前低層次數(shù)據(jù)單元包的參數(shù)和前一個(gè)低層次數(shù)據(jù)單元包 的參數(shù)進(jìn)行比較,判斷當(dāng)前是否需要進(jìn)行碼表的動(dòng)態(tài)加載,并通知主處理器;運(yùn)算子模塊,將當(dāng)前解析出來(lái)的參數(shù),按照一定的規(guī)則映射,得到需要加 載的子碼表編號(hào)。
12.根據(jù)權(quán)利要求書(shū)7的裝置,其中的主處理器模塊,根據(jù)動(dòng)態(tài)加載檢測(cè) 模塊比較子模塊的判斷信號(hào)作相應(yīng)的處理。如果當(dāng)前低層次數(shù)據(jù)單元包的解析 需要應(yīng)用新的碼表,即需要子碼表的動(dòng)態(tài)加載,則暫停低層次數(shù)據(jù)解析模塊的 工作,主處理器通過(guò)軟件將相應(yīng)的碼表裝載到子碼表陣列中去。
全文摘要
本發(fā)明涉及在針對(duì)視頻解碼的系統(tǒng)級(jí)芯片(SOC)設(shè)計(jì)中,一種基于碼表動(dòng)態(tài)加載的碼流解析系統(tǒng)的設(shè)計(jì)方法和裝置。一種碼表動(dòng)態(tài)加載的方法和裝置,其特征在于包括將碼流解析中使用的查詢碼表分割成不同的子碼表,碼流解析過(guò)程中當(dāng)需要使用查找碼表時(shí),判斷當(dāng)前是否需要?jiǎng)討B(tài)加載碼表,并按預(yù)定的規(guī)則動(dòng)態(tài)加載某一個(gè)或者某幾個(gè)已經(jīng)分割后的子碼表。其優(yōu)點(diǎn)是平衡了軟件解碼的靈活性和硬件ASIC解碼的高效率,不需要將所有碼表都放入系統(tǒng)級(jí)芯片(SOC)中,從而在保證整體性能的前提下有效的減少了芯片的硬件消耗。
文檔編號(hào)H04N7/26GK101562743SQ20081003600
公開(kāi)日2009年10月21日 申請(qǐng)日期2008年4月14日 優(yōu)先權(quán)日2008年4月14日
發(fā)明者軍 陳 申請(qǐng)人:上海升岳電子科技有限公司