專(zhuān)利名稱:可變到固定長(zhǎng)度碼的快速解析的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)的快速解析,且更特定來(lái)說(shuō)涉及使用可變到固定長(zhǎng)度碼所壓縮的數(shù)據(jù)的解析。
背景技術(shù):
數(shù)據(jù)壓縮廣泛用于多種應(yīng)用中以降低對(duì)數(shù)據(jù)存儲(chǔ)空間、發(fā)射帶寬或兩者的消耗。 數(shù)據(jù)壓縮的實(shí)例應(yīng)用包括數(shù)字視頻、圖像、話音和音頻譯碼。數(shù)字視頻譯碼(例如)用于廣泛范圍的裝置中,所述裝置包括數(shù)字電視、數(shù)字直播系統(tǒng)、無(wú)線通信裝置、個(gè)人數(shù)字助理 (PDA)、膝上型或桌上型計(jì)算機(jī)、數(shù)碼相機(jī)、數(shù)字記錄裝置、視頻游戲裝置、蜂窩式或衛(wèi)星無(wú)線電電話等。數(shù)字視頻裝置實(shí)施視頻壓縮技術(shù)(例如,MPEG-2、MPEG-4或H. ^4/MPEG-4高級(jí)視頻譯碼(AVC))以更有效地發(fā)射并接收數(shù)字視頻。大體來(lái)說(shuō),視頻壓縮技術(shù)執(zhí)行空間預(yù)測(cè)、運(yùn)動(dòng)估計(jì)和運(yùn)動(dòng)補(bǔ)償以減少或移除視頻數(shù)據(jù)中所固有的冗余。明確地說(shuō),幀內(nèi)譯碼依賴于空間預(yù)測(cè)以減少或移除給定視頻幀內(nèi)的視頻中的空間冗余。幀間譯碼依賴于時(shí)間預(yù)測(cè)以減少或移除鄰近幀內(nèi)的視頻中的時(shí)間冗余。對(duì)于幀間譯碼,視頻編碼器執(zhí)行運(yùn)動(dòng)估計(jì)以追蹤兩個(gè)或兩個(gè)以上鄰近幀之間的匹配視頻塊的移動(dòng)。運(yùn)動(dòng)估計(jì)產(chǎn)生運(yùn)動(dòng)向量,所述運(yùn)動(dòng)向量指示視頻塊相對(duì)于一個(gè)或一個(gè)以上參考幀中的對(duì)應(yīng)視頻塊的移位。運(yùn)動(dòng)補(bǔ)償使用所述運(yùn)動(dòng)向量以從參考幀產(chǎn)生預(yù)測(cè)視頻塊。在運(yùn)動(dòng)補(bǔ)償之后,通過(guò)從原始視頻塊減去所述預(yù)測(cè)視頻塊而形成殘余視頻塊。視頻編碼器應(yīng)用變換、量化和無(wú)損失源譯碼過(guò)程(即,熵譯碼)以進(jìn)一步降低由視頻譯碼過(guò)程產(chǎn)生的殘余塊的位速率。無(wú)損失譯碼技術(shù)在經(jīng)編碼數(shù)據(jù)的存儲(chǔ)或發(fā)射之前用于視頻編碼器的最后級(jí)中并用于各種其它譯碼應(yīng)用中。無(wú)損失源譯碼大體涉及應(yīng)用算術(shù)碼或可變長(zhǎng)度碼(VLC)以進(jìn)一步壓縮由變換和量化運(yùn)算產(chǎn)生的殘余系數(shù)。無(wú)損失譯碼技術(shù)的實(shí)例包括可用作一些編碼器中的替代無(wú)損失譯碼模式的內(nèi)容自適應(yīng)二進(jìn)制算術(shù)譯碼(CABAC) 和內(nèi)容自適應(yīng)可變長(zhǎng)度譯碼(CAVLC)。其它可能的無(wú)損失譯碼技術(shù)包括可變到固定長(zhǎng)度碼, 有時(shí)被稱為VF碼。眾所周知的VF碼的實(shí)例包括Tunstall碼和Khodak碼。視頻解碼器執(zhí)行無(wú)損失解碼以解壓縮關(guān)于塊中的每一者的殘余信息,并使用運(yùn)動(dòng)信息和殘余信息來(lái)重建經(jīng)編碼視頻。
發(fā)明內(nèi)容
大體來(lái)說(shuō),本發(fā)明針對(duì)用于多種應(yīng)用(例如,數(shù)據(jù)壓縮)的VF碼的快速解析的技術(shù)。舉例來(lái)說(shuō),此類(lèi)技術(shù)可應(yīng)用于解碼壓縮數(shù)據(jù)集合的任意區(qū)段。如本文中所使用,術(shù)語(yǔ)“譯碼”可大體涉及編碼、解碼或兩者。本發(fā)明中所描述的技術(shù)可利用使用Timstall或 Khodak算法所建構(gòu)的VF譯碼樹(shù)的代數(shù)性質(zhì),并使用組合列舉技術(shù)以用于碼字的建構(gòu)、編碼和解碼。對(duì)于一些應(yīng)用,VF譯碼技術(shù)可實(shí)施于媒體編碼器、解碼器或組合式編碼器-解碼器 (CODEC)內(nèi)。并且,在一些方面中,定義根據(jù)本發(fā)明建構(gòu)的VF譯碼樹(shù)的各種屬性可提供于存儲(chǔ)器有效數(shù)據(jù)結(jié)構(gòu)中,所述存儲(chǔ)器有效數(shù)據(jù)結(jié)構(gòu)存儲(chǔ)于與譯碼裝置相關(guān)聯(lián)的存儲(chǔ)器中。
圖1為說(shuō)明視頻編碼和解碼系統(tǒng)的框圖。圖2為說(shuō)明視頻編碼器的實(shí)例的框圖。圖3為說(shuō)明視頻解碼器的實(shí)例的框圖。圖4為說(shuō)明VF譯碼樹(shù)的實(shí)例的圖。圖5為圖4的VF譯碼樹(shù)的圖。圖6為說(shuō)明用于VF碼的存儲(chǔ)器有效建構(gòu)的方法的流程圖。圖7為說(shuō)明用于使用根據(jù)圖6的方法建構(gòu)的VF碼來(lái)編碼字的方法的流程圖。圖8為說(shuō)明用于解碼根據(jù)圖6的方法建構(gòu)的VF碼的方法的流程圖。圖9為說(shuō)明用于解碼根據(jù)圖6的方法建構(gòu)的VF碼的另一方法的流程圖。圖10為說(shuō)明呈用于確定對(duì)應(yīng)于根據(jù)圖6的方法建構(gòu)的VF碼的字的長(zhǎng)度的方法的形式的VF解析的流程圖。
具體實(shí)施例方式大體來(lái)說(shuō),本發(fā)明針對(duì)用于多種應(yīng)用(例如,數(shù)字視頻、圖像、音頻或話音數(shù)據(jù)的譯碼)的可變到固定長(zhǎng)度(VF)碼的快速解析的技術(shù)。如本文中所使用,術(shù)語(yǔ)“譯碼”可涉及編碼、解碼或兩者。盡管本發(fā)明中所描述的技術(shù)可適用于廣泛多種實(shí)際應(yīng)用(包括通用數(shù)據(jù)壓縮和譯碼),但出于實(shí)例和說(shuō)明的目的,本發(fā)明將涉及數(shù)字視頻編碼和解碼。使用VF碼的譯碼的過(guò)程涉及將可變長(zhǎng)度的字編碼成固定長(zhǎng)度碼??蓪⑦@些固定長(zhǎng)度碼存儲(chǔ)或發(fā)射到另一裝置。接著可將所述固定長(zhǎng)度碼解碼回到可變長(zhǎng)度碼。此類(lèi)技術(shù)作為數(shù)據(jù)壓縮的形式可為有用的。舉例來(lái)說(shuō),未壓縮位串111011000011可表示一個(gè)或一個(gè)以上數(shù)據(jù)結(jié)構(gòu)(例如,陣列)。所述位串可由被稱為字{11,101,1000,011}的較短位串的序列表示??墒褂肰F碼將這些字中的每一者編碼成對(duì)應(yīng)的固定長(zhǎng)度碼。舉例來(lái)說(shuō),如果碼經(jīng)指派用于字{11->0,101-> 1,1000->2,011->3},那么可將所述實(shí)例序列編碼為 0、1、2、3,其中每一碼字為2位碼。VF碼可由VF碼樹(shù)表示。圖4為二進(jìn)制VF碼樹(shù)400的實(shí)例。VF碼可包含多個(gè)字與多個(gè)固定長(zhǎng)度碼之間的配對(duì)。VF碼樹(shù)400中的葉節(jié)點(diǎn)中的每一者表示VF碼中的字。內(nèi)部節(jié)點(diǎn)并未表示于VF碼中。所述樹(shù)經(jīng)建構(gòu)成開(kāi)始于根節(jié)點(diǎn)64處。沿一鏈路向下移動(dòng)到右方表示位值0。沿一鏈路向下移動(dòng)到左方表示位值1。因此,字11通過(guò)開(kāi)始于根節(jié)點(diǎn)64處并沿兩條鏈路向下移動(dòng)到左方而表示。用數(shù)字0到16標(biāo)記樹(shù)400的葉節(jié)點(diǎn)中的每一者。所標(biāo)記數(shù)字對(duì)應(yīng)于與葉節(jié)點(diǎn)所表示的字相關(guān)聯(lián)的固定長(zhǎng)度碼。根據(jù)定義,固定長(zhǎng)度碼由相同長(zhǎng)度的碼值表示。在一些實(shí)施例中,固定長(zhǎng)度碼的數(shù)目為二進(jìn)制串。為了以二進(jìn)制表示數(shù)字0到16,固定長(zhǎng)度碼中的每一者由5個(gè)位表示。因此,根據(jù)VF碼樹(shù)400,字11由固定長(zhǎng)度碼00000表示。字{101,1000,011}分別由固定長(zhǎng)度碼{00010,00110,00001}表示。因此,可通過(guò)樹(shù)400的VF碼將未壓縮位串 111011000011編碼成壓縮位串00000000100011000001。固定長(zhǎng)度碼的使用允許壓縮位串中的固定長(zhǎng)度碼中的任一者的任意解碼。因?yàn)槊恳还潭ㄩL(zhǎng)度碼的長(zhǎng)度為已知的(其在此實(shí)例中為5個(gè)位),所以新固定長(zhǎng)度碼每隔5個(gè)位開(kāi)始。因此,在壓縮位串中,固定長(zhǎng)度碼開(kāi)始于位置0、5、10和15處。因此,壓縮位串的開(kāi)始于位置5處的固定長(zhǎng)度碼00010可在不解碼所述壓縮位串中的剩余固定長(zhǎng)度碼的情況下立即解碼成對(duì)應(yīng)字101。然而,盡管壓縮位串00000000100011000001中的固定長(zhǎng)度碼00010的解碼產(chǎn)生字 101,但并未確定經(jīng)解碼的字應(yīng)被放置于未壓縮位串中的何處。舉例來(lái)說(shuō),原始未壓縮位串 111011000011可對(duì)應(yīng)于存儲(chǔ)器陣列的內(nèi)容。此實(shí)例中的陣列因此為12個(gè)位長(zhǎng)。所述陣列可經(jīng)編碼成壓縮位串,如上文中詳述。接著,解碼壓縮位串應(yīng)導(dǎo)致同一 12位陣列的重現(xiàn),其中所述位處于所述陣列中的正確位置中。本文中所描述的解析技術(shù)提供一種確定經(jīng)解碼的字在未壓縮位串中的位置的快速方法。如本文中所描述的解析技術(shù)基于以下概念為了確定從經(jīng)任意解碼的固定長(zhǎng)度碼產(chǎn)生的字的位置,僅必需知曉與出現(xiàn)于經(jīng)解碼固定長(zhǎng)度碼之前的固定長(zhǎng)度碼相關(guān)聯(lián)的字中的每一者的長(zhǎng)度。舉例來(lái)說(shuō),在上文的實(shí)例中,在壓縮位流中,一個(gè)固定長(zhǎng)度碼(00000)定位于選定固定長(zhǎng)度碼(00010)之前。為了定位對(duì)應(yīng)于選定固定長(zhǎng)度碼00010的字101,僅必需知曉與固定長(zhǎng)度碼00000相關(guān)聯(lián)的字(11)的長(zhǎng)度為2。因此,已知字101在未壓縮位串中開(kāi)始于位置2處,其中第一位置為位置0。存儲(chǔ)與每一固定長(zhǎng)度碼相關(guān)聯(lián)的每一字的長(zhǎng)度將需要大的存儲(chǔ)器存儲(chǔ)。然而,本文中所描述的技術(shù)僅需要針對(duì)固定長(zhǎng)度碼的子集知曉長(zhǎng)度。此子集內(nèi)的固定長(zhǎng)度碼中的每一者被稱為基碼字(base codeword)?;a字的選擇基于例如樹(shù)400等VF碼樹(shù)的性質(zhì)。所述樹(shù)中的每一字的長(zhǎng)度等于在所述樹(shù)上發(fā)現(xiàn)字的層級(jí)。舉例來(lái)說(shuō),字11發(fā)現(xiàn)于樹(shù)的層級(jí)2處且1001發(fā)現(xiàn)于樹(shù)的層級(jí)4 處。因此,通過(guò)確定固定長(zhǎng)度碼在VF碼樹(shù)上所關(guān)聯(lián)的層級(jí),與所述固定長(zhǎng)度碼相關(guān)聯(lián)的字的長(zhǎng)度為可確定的。以詞典次序(lexicographical order)分配與字相關(guān)聯(lián)的固定長(zhǎng)度碼。因此,與特定層級(jí)處的給定葉節(jié)點(diǎn)相關(guān)聯(lián)的固定長(zhǎng)度碼在值上大于在任何較低層級(jí)上的固定長(zhǎng)度碼。舉例來(lái)說(shuō),固定長(zhǎng)度碼6在層級(jí)4處。因此,根據(jù)樹(shù)的性質(zhì),固定長(zhǎng)度碼6大于在層級(jí) 3、2或1上的任何碼。此外,固定長(zhǎng)度碼6小于在較高層級(jí)上的任何碼。利用上文的性質(zhì), 可使用在樹(shù)的每一層級(jí)處的最小詞典排序固定長(zhǎng)度碼的列表來(lái)獲得與任何固定長(zhǎng)度碼相關(guān)聯(lián)的字的長(zhǎng)度。在樹(shù)400中,在所述樹(shù)的包括至少一個(gè)葉節(jié)點(diǎn)的每一層級(jí)處,最小詞典排序固定長(zhǎng)度碼與最右邊葉節(jié)點(diǎn)相關(guān)聯(lián)。舉例來(lái)說(shuō),在圖4的樹(shù)中,關(guān)于所述樹(shù)的每一層級(jí)的最小詞典排序固定長(zhǎng)度碼的列表為{0,1,3,10,11,12,13,14,15}。這些固定長(zhǎng)度碼中的每一者為基碼字。與每一基碼字相關(guān)聯(lián)的字的長(zhǎng)度可與所述基碼字一起存儲(chǔ)。因此,可使用所述列表直接映射與所有基碼字相關(guān)聯(lián)的字的長(zhǎng)度。此外,使用上文所論述的性質(zhì),可確定與任何固定長(zhǎng)度碼相關(guān)聯(lián)的字的長(zhǎng)度。小于或等于選定固定長(zhǎng)度碼的最大基碼字與選定固定長(zhǎng)度碼處于VF碼樹(shù)的同一層級(jí)上。因此,與選定固定長(zhǎng)度碼相關(guān)聯(lián)的字的長(zhǎng)度等于連同小于或等于選定固定長(zhǎng)度碼的最大基碼字存儲(chǔ)于一起的長(zhǎng)度。舉例來(lái)說(shuō),小于或等于固定長(zhǎng)度碼6的最大基碼字為基碼字3。基碼字3處于樹(shù)400的層級(jí)4上,且因此具有相關(guān)聯(lián)的字長(zhǎng)度4。因此,固定長(zhǎng)度碼6具有相關(guān)聯(lián)的字長(zhǎng)度4。因此,通過(guò)存儲(chǔ)簡(jiǎn)單基碼字列表并執(zhí)行簡(jiǎn)單搜索,可確定任何固定長(zhǎng)度碼的相關(guān)聯(lián)字長(zhǎng)度。上文僅為VF譯碼和解析技術(shù)的一實(shí)施例的一個(gè)實(shí)例。下文以更多細(xì)節(jié)描述此實(shí)施例和其它實(shí)施例。根據(jù)本發(fā)明的一些方面,VF譯碼技術(shù)可以減小量的存儲(chǔ)器空間支持VF碼的編碼和解碼。舉例來(lái)說(shuō),使用巴克曼(Bachmarm)的0記法,此類(lèi)技術(shù)可能需要至多二次量的空間0(L2),其中L為VF譯碼樹(shù)的深度。二次量的空間0(L2)的利用可呈現(xiàn)與通過(guò)利用計(jì)算機(jī)存儲(chǔ)器中的譯碼樹(shù)的全部表示的其它技術(shù)的指數(shù)使用的空間0(2力相比的實(shí)質(zhì)改進(jìn)。根據(jù)本發(fā)明的一方面,通過(guò)利用使用Timstall或Khodak算法所建構(gòu)的VF譯碼樹(shù)的代數(shù)性質(zhì)并使用組合列舉以用于碼字的編碼和解碼,可實(shí)現(xiàn)存儲(chǔ)器空間的減小。本發(fā)明中所描述的技術(shù)的編碼/解碼復(fù)雜性可與由此類(lèi)技術(shù)處理的符號(hào)的數(shù)目成線性關(guān)系。降低的存儲(chǔ)器要求可使得能夠使用大VF譯碼樹(shù),此又可產(chǎn)生編碼的增強(qiáng)效率(即,較低冗余)。根據(jù)本發(fā)明的一些其它方面,VF譯碼技術(shù)可使用快速解析技術(shù)支持在壓縮位流中的隨機(jī)選定碼字的快速解碼。舉例來(lái)說(shuō),此類(lèi)技術(shù)可能需要至多0(lOg(D))數(shù)目的運(yùn)算以用于確定由未壓縮位流中的碼字表示的短語(yǔ)的位置,其中壓縮位流為未壓縮位流的經(jīng)編碼表示,且其中D為平均經(jīng)解碼短語(yǔ)長(zhǎng)度。利用碼的全解碼來(lái)確定位置的其它技術(shù)的復(fù)雜性為 00))。將更詳細(xì)地描述本發(fā)明的各個(gè)方面。下文闡述適于與本發(fā)明中所描述的VF譯碼技術(shù)和VF碼結(jié)構(gòu)一起使用的示范性視頻譯碼系統(tǒng)的描述。此類(lèi)譯碼系統(tǒng)和技術(shù)對(duì)于譯碼 (包括編碼、解碼或兩者)可為有用的。圖1為說(shuō)明視頻編碼和解碼系統(tǒng)10的框圖。如圖1中所展示,系統(tǒng)10包括經(jīng)由通信信道16將經(jīng)編碼的視頻發(fā)射到接收裝置14的源裝置12。源裝置12可包括視頻源18、 視頻編碼器20和發(fā)射器22。接收裝置14可包括接收器M、視頻解碼器沈和視頻顯示裝置觀。系統(tǒng)10可經(jīng)配置以應(yīng)用根據(jù)本發(fā)明的用于數(shù)字視頻數(shù)據(jù)的存儲(chǔ)器有效VF譯碼的技術(shù)。舉例來(lái)說(shuō),存儲(chǔ)器有效VF譯碼技術(shù)可用于由預(yù)測(cè)視頻譯碼過(guò)程產(chǎn)生的殘余塊系數(shù)的無(wú)損失譯碼。作為說(shuō)明,可將所述技術(shù)應(yīng)用于使用多個(gè)系列的零對(duì)非零變換系數(shù)的位置進(jìn)行譯碼的視頻譯碼方案,或應(yīng)用于其它視頻譯碼方案。在圖1的實(shí)例中,通信信道16可包含任何無(wú)線或有線通信媒體,例如射頻(RF)頻譜或一個(gè)或一個(gè)以上物理發(fā)射線,或無(wú)線媒體與有線媒體的任何組合。信道16可形成基于包的網(wǎng)絡(luò)(例如,局域網(wǎng)、廣域網(wǎng)或例如因特網(wǎng)等全球網(wǎng)絡(luò))的一部分。通信信道16大體表示任何合適的通信媒體或不同通信媒體的集合以用于將視頻數(shù)據(jù)從源裝置12發(fā)射到接收裝置14。源裝置12產(chǎn)生視頻以用于到目的地裝置14的發(fā)射。然而,在一些狀況下,裝置12、 14可以大體上對(duì)稱的方式操作。舉例來(lái)說(shuō),裝置12、14中的每一者可包括視頻編碼和解碼組件。因此,系統(tǒng)10可支持視頻裝置12、14之間的單向或雙向視頻發(fā)射(例如)以用于視頻串流、視頻廣播或視頻電話。對(duì)于其它數(shù)據(jù)壓縮和譯碼應(yīng)用,裝置12、14可經(jīng)配置以發(fā)送并接收或交換其它類(lèi)型的數(shù)據(jù),例如圖像、話音或音頻數(shù)據(jù),或視頻、圖像、話音和音頻數(shù)據(jù)中的兩者或兩者以上的組合。因此,視頻編碼和解碼應(yīng)用的論述是出于說(shuō)明的目的而提供且不應(yīng)被認(rèn)為限制本發(fā)明的各個(gè)方面(如本文中廣泛描述)。視頻源18可包括視頻俘獲裝置,例如一個(gè)或一個(gè)以上視頻相機(jī)、含有先前俘獲的視頻的視頻檔案庫(kù)(video archive)或來(lái)自視頻內(nèi)容提供者的實(shí)況視頻饋入。作為另一替代,視頻源18可產(chǎn)生作為源視頻的基于計(jì)算機(jī)圖形的數(shù)據(jù)、或?qū)崨r視頻與計(jì)算機(jī)產(chǎn)生的視頻的組合。在一些狀況下,如果視頻源18為相機(jī),那么源裝置12和接收裝置14可形成所謂的相機(jī)電話或視頻電話。因此,在一些方面中,源裝置12、接收裝置14或兩者可形成無(wú)線通信裝置手持機(jī),例如移動(dòng)電話手持機(jī)。在每一狀況下,經(jīng)俘獲、預(yù)俘獲或計(jì)算機(jī)產(chǎn)生的視頻可由視頻編碼器20編碼以用于經(jīng)由發(fā)射器22、信道16和接收器M從視頻源裝置12發(fā)射到視頻接收裝置14的視頻解碼器26。顯示裝置觀可包括多種顯示裝置中的任一者,例如液晶顯示器(LCD)、等離子顯示器或有機(jī)發(fā)光二極管(OLED)顯示器。視頻編碼器20和視頻解碼器沈可經(jīng)配置以支持可縮放視頻譯碼(SVC)以實(shí)現(xiàn)空間、時(shí)間和/或信噪比(SNR)可縮放性。在一些方面中,視頻編碼器20和視頻解碼器22 可經(jīng)配置以支持SVC的精細(xì)粒度SNR可縮放性(RS)譯碼。編碼器20和解碼器沈可通過(guò)支持基礎(chǔ)層和一個(gè)或一個(gè)以上可縮放增強(qiáng)層的編碼、發(fā)射和解碼而支持各種程度的可縮放性。對(duì)于可縮放視頻譯碼來(lái)說(shuō),基礎(chǔ)層載運(yùn)具有最小質(zhì)量水平的視頻數(shù)據(jù)。一個(gè)或一個(gè)以上增強(qiáng)層載運(yùn)額外位流以支持較高空間、時(shí)間和/或SNR水平。視頻編碼器20和視頻解碼器沈可根據(jù)例如以下各者等視頻壓縮標(biāo)準(zhǔn)而操作 MPEG-2、MPEG-4、ITU-T H. 263 或 ITU-T H. ^4/MPEG_4 高級(jí)視頻譯碼(AVC)。盡管未展示于圖1中,但在一些方面中,視頻編碼器20和視頻解碼器沈可分別與音頻編碼器和解碼器集成,并包括適當(dāng)MUX-DEMUX單元或其它硬件和軟件,以處置在共同數(shù)據(jù)流或單獨(dú)數(shù)據(jù)流中的音頻和視頻兩者的編碼。如果適用,那么MUX-DEMUX單元可遵循ITU H. 223多路復(fù)用器協(xié)議或例如用戶數(shù)據(jù)報(bào)協(xié)議(UDP)等其它協(xié)議。H. 264/MPEG-4(AVC)標(biāo)準(zhǔn)通過(guò)作為被稱為聯(lián)合視頻組(JVT)的集體伙伴關(guān)系的產(chǎn)物的ITU-T視頻譯碼專(zhuān)家組(VCEG)連同IS0/IEC動(dòng)畫(huà)專(zhuān)家組(MPEG)制訂。H. 264標(biāo)準(zhǔn)由 ITU-T研究組描述于ITU-T推薦標(biāo)準(zhǔn)H.沈4“用于一般視聽(tīng)服務(wù)的高級(jí)視頻譯碼(Advanced video coding for generic audiovisual services),,中且標(biāo)注日期 2005 年 3 月,其在本義中可被稱作H. 264標(biāo)準(zhǔn)或H. 264規(guī)范,或H. 264/AVC標(biāo)準(zhǔn)或規(guī)范。在一些方面中,對(duì)于視頻廣播,本發(fā)明中所描述的技術(shù)可應(yīng)用于增強(qiáng)型H. 264視頻譯碼以用于使用僅前向鏈路(FLO)空中接口規(guī)范“用于陸上移動(dòng)多媒體多播的僅前向鏈路空中接口規(guī)范(Forward Link Only Air Interface Specification for Terrestrial Mobile Multimedia Multicast) ”而(例如)經(jīng)由無(wú)線視頻廣播服務(wù)器或無(wú)線通信裝置手持機(jī)在陸上移動(dòng)多媒體多播(TM3)系統(tǒng)中遞送實(shí)時(shí)視頻服務(wù),所述規(guī)范作為技術(shù)標(biāo)準(zhǔn) TIA-1099(“FL0規(guī)范”)出版。FLO規(guī)范包括定義位流語(yǔ)法和語(yǔ)義的實(shí)例以及適用于FLO空中接口的解碼過(guò)程?;蛘?,可根據(jù)例如DVB-H(數(shù)字視頻廣播-手持式)、ISDB-T (集成服務(wù)數(shù)字廣播-陸上型)或DMB (數(shù)字媒體廣播)等其它標(biāo)準(zhǔn)來(lái)廣播視頻。因此,源裝置12可為移動(dòng)無(wú)線終端、視頻串流服務(wù)器或視頻廣播服務(wù)器。然而,本發(fā)明中所描述的技術(shù)并不限于任何特定類(lèi)型的廣播、多播或點(diǎn)對(duì)點(diǎn)系統(tǒng)。在廣播的狀況下,源裝置12可將視頻數(shù)據(jù)的若干信道廣播到多個(gè)接收裝置,所述接收裝置中的每一者可類(lèi)似于圖1的接收裝置14??蓪⒁曨l編碼器20和視頻解碼器沈各自實(shí)施為一個(gè)或一個(gè)以上微處理器、數(shù)字信號(hào)處理器(DSP)、專(zhuān)用集成電路(ASIC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)、離散邏輯、軟件、硬件、固件或其任何組合。因此,可將視頻編碼器20和視頻解碼器沈中的每一者至少部分地實(shí)施為集成電路(IC)芯片或裝置,并包括于一個(gè)或一個(gè)以上編碼器或解碼器中,其中任一者可在相應(yīng)移動(dòng)裝置、訂戶裝置、廣播裝置、服務(wù)器等中集成為組合式編碼器/解碼器 (CODEC)的一部分。另外,源裝置12和接收裝置14可各自包括適當(dāng)調(diào)制、解調(diào)、頻率轉(zhuǎn)換、 濾波和放大器組件以用于發(fā)射和接收經(jīng)編碼的視頻,適用時(shí),所述組件包括足以支持無(wú)線通信的射頻(RF)無(wú)線組件和天線。然而,為了容易說(shuō)明,在圖1中未展示此類(lèi)組件。視頻序列包括一系列視頻幀。視頻編碼器20對(duì)個(gè)別視頻幀內(nèi)的像素塊進(jìn)行操作以便編碼視頻數(shù)據(jù)。視頻塊可具有固定或變化的大小,且其大小可根據(jù)指定的譯碼標(biāo)準(zhǔn)而不同。每一視頻幀包括一系列片段。每一片段可包括可布置成子塊的一系列宏塊。作為一實(shí)例,ITU-T H. 264標(biāo)準(zhǔn)支持各種塊大小的幀內(nèi)預(yù)測(cè),例如用于亮度分量的16乘16、8乘8、 4乘4,和用于色度分量的8X8,并且支持各種塊大小的幀間預(yù)測(cè),例如用于亮度分量的16 乘16、16乘8、8乘16、8乘8、8乘4、4乘8和4乘4以及用于色度分量的對(duì)應(yīng)的經(jīng)縮放的大小。較小視頻塊可提供較好分辨率,且可用于包括較高細(xì)節(jié)度的視頻幀的位置。大體來(lái)說(shuō),宏塊(MB)和各種子塊可視作視頻塊。另外,片段可視作一系列視頻塊,例如MB和/或子塊。每一片段可為可獨(dú)立解碼的單元。在預(yù)測(cè)之后,可對(duì)8X8的殘余塊或4X4的殘余塊執(zhí)行變換,且如果使用幀內(nèi)16X16預(yù)測(cè)模式,那么可向用于色度分量或亮度分量的4X4 塊的DC系數(shù)應(yīng)用額外變換。圖1的系統(tǒng)10的視頻編碼器20和/或視頻解碼器沈可經(jīng)配置以使用如本發(fā)明中所描述的關(guān)于存儲(chǔ)器有效VF譯碼技術(shù)和VF碼的快速解析的技術(shù)。明確地說(shuō),視頻編碼器20和/或視頻解碼器沈可分別包括熵編碼器和熵解碼器,其應(yīng)用此類(lèi)技術(shù)中的至少一些技術(shù)來(lái)減小存儲(chǔ)器利用、處理額外開(kāi)銷(xiāo)、處理復(fù)雜性、帶寬消耗、數(shù)據(jù)存儲(chǔ)空間和/或功率消耗。圖2為說(shuō)明如圖1中所展示的視頻編碼器20的一實(shí)例的框圖。視頻編碼器20可至少部分地形成為一個(gè)或一個(gè)以上集成電路裝置,其可統(tǒng)稱為集成電路裝置。在一些方面中,視頻編碼器20可形成無(wú)線通信裝置手持機(jī)或廣播服務(wù)器的一部分。視頻編碼器20可執(zhí)行視頻幀內(nèi)的塊的幀內(nèi)譯碼和幀間譯碼。幀內(nèi)譯碼依賴于空間預(yù)測(cè)來(lái)減小或移除給定視頻幀內(nèi)的視頻中的空間冗余。幀間譯碼依賴于時(shí)間預(yù)測(cè)來(lái)減小或移除視頻序列的鄰近幀內(nèi)的視頻中的時(shí)間冗余。對(duì)于幀間譯碼來(lái)說(shuō),視頻編碼器20執(zhí)行運(yùn)動(dòng)估計(jì)以追蹤?quán)徑鼛g的匹配視頻塊的移動(dòng)。如圖2中所展示,視頻編碼器20接收待編碼的視頻幀內(nèi)的當(dāng)前視頻塊30。在圖2 的實(shí)例中,視頻編碼器20包括運(yùn)動(dòng)估計(jì)單元32、參考幀存儲(chǔ)裝置34、運(yùn)動(dòng)補(bǔ)償單元36、塊變換單元38、量化單元40、逆量化單元42、逆變換單元44和熵編碼單元46。根據(jù)本發(fā)明的各個(gè)方面,視頻編碼器20還可包括包含存儲(chǔ)器47的存儲(chǔ)器,所述存儲(chǔ)器可由熵編碼單元46 用于存儲(chǔ)和檢索包括一個(gè)或一個(gè)以上數(shù)據(jù)結(jié)構(gòu)的內(nèi)容的譯碼數(shù)據(jù),一個(gè)或一個(gè)以上數(shù)據(jù)結(jié)構(gòu)的內(nèi)容包括定義由用于VF譯碼(包括編碼或解碼)中的VF譯碼樹(shù)表示的VF碼結(jié)構(gòu)的布置的屬性?;芈分薪鈮K濾波器(未圖示)可應(yīng)用于對(duì)塊進(jìn)行濾波以移除塊假影。視頻編碼器20還包括求和器48和求和器50。圖2說(shuō)明用于視頻塊的幀間譯碼的視頻編碼器20的時(shí)間預(yù)測(cè)組件。盡管為易于說(shuō)明在圖2中未展示,但視頻編碼器20還可包括用于一些視頻塊的幀內(nèi)譯碼的空間預(yù)測(cè)組件。運(yùn)動(dòng)估計(jì)單元32將視頻塊30與一個(gè)或一個(gè)以上鄰近視頻幀中的塊進(jìn)行比較以產(chǎn)生一個(gè)或一個(gè)以上運(yùn)動(dòng)向量??蓮膮⒖紟鎯?chǔ)裝置34檢索鄰近幀,所述參考幀存儲(chǔ)裝置34 可包含任何類(lèi)型的存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)裝置以存儲(chǔ)從先前編碼塊重建的視頻塊。對(duì)于可變大小的塊(例如,16 X 16、16 X 8、8 X 16、8 X 8或更小的塊大小),可執(zhí)行運(yùn)動(dòng)估計(jì)。在操作中,運(yùn)動(dòng)估計(jì)單元32識(shí)別鄰近幀中的最緊密地匹配當(dāng)前視頻塊30的一個(gè)或一個(gè)以上塊(例如,基于速率失真模型),且確定鄰近幀中的所述塊與當(dāng)前視頻塊之間的移位。以此為基礎(chǔ),運(yùn)動(dòng)估計(jì)單元32產(chǎn)生一個(gè)或一個(gè)以上運(yùn)動(dòng)向量(MV),其指示當(dāng)前視頻塊30與來(lái)自用以對(duì)當(dāng)前視頻塊30進(jìn)行譯碼的參考幀的一個(gè)或一個(gè)以上匹配塊之間的移位的量值和軌跡。運(yùn)動(dòng)向量可具有二分之一或四分之一像素精確度,或更精細(xì)的精確度,從而允許視頻編碼器20追蹤具有比整數(shù)像素位置高的精確度的運(yùn)動(dòng),且獲得更好的預(yù)測(cè)塊。當(dāng)使用具有分?jǐn)?shù)像素值的運(yùn)動(dòng)向量時(shí),在運(yùn)動(dòng)補(bǔ)償單元36中執(zhí)行內(nèi)插運(yùn)算。運(yùn)動(dòng)估計(jì)單元32使用特定準(zhǔn)則(例如,速率失真模型)針對(duì)視頻塊識(shí)別最佳塊分割和運(yùn)動(dòng)向量。舉例來(lái)說(shuō),在雙向預(yù)測(cè)的狀況下,可不僅存在運(yùn)動(dòng)向量。使用所得塊分割和運(yùn)動(dòng)向量,運(yùn)動(dòng)補(bǔ)償單元36 形成預(yù)測(cè)視頻塊。視頻編碼器20通過(guò)從求和器48處的原始、當(dāng)前視頻塊30減去由運(yùn)動(dòng)補(bǔ)償單元36 產(chǎn)生的預(yù)測(cè)視頻塊而形成殘余視頻塊。塊變換單元38將變換(例如,用于HJ64/AVC中的 4X4或8X8整數(shù)變換)應(yīng)用于所述殘余塊,從而產(chǎn)生殘余變換塊系數(shù)。量化單元40量化所述殘余變換塊系數(shù)以進(jìn)一步降低位速率。無(wú)損失編碼單元46對(duì)經(jīng)量化的系數(shù)進(jìn)行熵譯碼以更進(jìn)一步降低位速率。無(wú)損失編碼單元46操作為VF編碼單元以將VF編碼應(yīng)用于經(jīng)量化的塊系數(shù)。明確地說(shuō),熵編碼單元46可經(jīng)配置以使用如本發(fā)明中所描述的存儲(chǔ)器有效VF編碼技術(shù)來(lái)執(zhí)行數(shù)字視頻塊系數(shù)的VF編碼。因此,本發(fā)明中所描述的各種VF編碼過(guò)程可實(shí)施于無(wú)損失編碼單元46內(nèi)以執(zhí)行視頻數(shù)據(jù)的編碼?;蛘?,此無(wú)損失編碼單元46可執(zhí)行本發(fā)明中所描述的過(guò)程以編碼多種數(shù)據(jù)(包括(但不限于)視頻、圖像、話音和音頻數(shù)據(jù))中的任一者。大體來(lái)說(shuō),如將(例如)參看圖3所描述,視頻解碼器沈執(zhí)行逆運(yùn)算(包括VF解碼和解析), 以解碼和重建經(jīng)編碼的視頻。逆量化單元42和逆變換單元44分別應(yīng)用逆量化和逆變換,以重建殘余塊。加法器50將經(jīng)重建的殘余塊加到由運(yùn)動(dòng)補(bǔ)償單元36產(chǎn)生的經(jīng)運(yùn)動(dòng)補(bǔ)償?shù)念A(yù)測(cè)塊以產(chǎn)生經(jīng)重建的視頻塊,以存儲(chǔ)于參考幀存儲(chǔ)裝置34中。運(yùn)動(dòng)估計(jì)單元32和運(yùn)動(dòng)補(bǔ)償單元36使用經(jīng)重建的視頻塊,以編碼后續(xù)視頻幀中的塊。圖3為說(shuō)明視頻解碼器沈的一實(shí)例的框圖。視頻解碼器沈可至少部分地形成為一個(gè)或一個(gè)以上集成電路裝置,其可統(tǒng)稱為集成電路裝置。在一些方面中,視頻解碼器26 可形成無(wú)線通信裝置手持機(jī)的一部分。視頻解碼器26可執(zhí)行視頻幀內(nèi)的塊的幀內(nèi)解碼和幀間解碼。如圖3中所展示,視頻解碼器沈接收來(lái)自接收器M(圖1)的已由視頻編碼器 20編碼的經(jīng)編碼視頻位流。在圖3的實(shí)例中,視頻解碼器沈包括熵解碼單元52、運(yùn)動(dòng)補(bǔ)償單元M、逆量化單元56、逆變換單元58和參考幀存儲(chǔ)裝置62。視頻解碼器沈還可包括包含存儲(chǔ)器53的存儲(chǔ)器,所述存儲(chǔ)器可由熵解碼單元52用于存儲(chǔ)和檢索包括一個(gè)或一個(gè)以上數(shù)據(jù)結(jié)構(gòu)的內(nèi)容的譯碼數(shù)據(jù),一個(gè)或一個(gè)以上數(shù)據(jù)結(jié)構(gòu)的內(nèi)容包括定義用于VF解碼中的VF譯碼樹(shù)的布置的屬性。視頻解碼器沈還可包括對(duì)求和器64的輸出進(jìn)行濾波的回路中解塊濾波器(未圖示)。視頻解碼器26還包括求和器64。圖3說(shuō)明用于視頻塊的幀間解碼的視頻解碼器26的時(shí)間預(yù)測(cè)組件。盡管圖3中未展示,但視頻解碼器沈還可包括用于一些視頻塊的幀內(nèi)解碼的空間預(yù)測(cè)組件。無(wú)損失解碼單元52從位流量化殘余系數(shù)、宏塊譯碼模式和運(yùn)動(dòng)信息(其可包括運(yùn)動(dòng)向量和塊分割)接收經(jīng)編碼的視頻位流且進(jìn)行解碼。因此,熵解碼單元52充當(dāng)VF解碼單元,且可依賴于存儲(chǔ)于存儲(chǔ)器53中以定義VF譯碼樹(shù)的各種屬性的數(shù)據(jù)結(jié)構(gòu)。舉例來(lái)說(shuō), 為了解碼來(lái)自經(jīng)編碼位流(如同圖2的無(wú)損失編碼單元46)的經(jīng)量化殘余系數(shù),圖3的熵解碼單元52可執(zhí)行數(shù)字視頻塊系數(shù)的存儲(chǔ)器有效VF解碼,如本發(fā)明中所描述。然而,無(wú)損失解碼單元52可以相對(duì)于圖2的無(wú)損失編碼單元46的相反方式執(zhí)行VF解碼以便從經(jīng)編碼位流檢索經(jīng)量化塊系數(shù)。無(wú)損失解碼單元52還可執(zhí)行用于快速解碼經(jīng)編碼位流中的隨機(jī)選定碼字的VF解析技術(shù)。本發(fā)明中所描述的各種解碼和解析過(guò)程可實(shí)施于熵解碼單元 52內(nèi)以執(zhí)行視頻數(shù)據(jù)的解碼?;蛘?,此無(wú)損失解碼單元52可執(zhí)行本發(fā)明中所描述的過(guò)程以解碼多種數(shù)據(jù)(包括(但不限于)視頻、圖像、話音和音頻數(shù)據(jù))中的任一者。在任一狀況下,由熵解碼單元52執(zhí)行的可變長(zhǎng)度譯碼的結(jié)果可輸出到用戶、存儲(chǔ)于存儲(chǔ)器中和/或發(fā)射到另一裝置或處理單元。運(yùn)動(dòng)補(bǔ)償單元M從參考幀存儲(chǔ)裝置62接收運(yùn)動(dòng)向量和塊分割與一個(gè)或一個(gè)以上經(jīng)重建的參考幀以產(chǎn)生預(yù)測(cè)視頻塊。逆量化單元56逆量化(即,解量化)經(jīng)量化的塊系數(shù)。逆變換單元58將逆變換(例如,逆DCT或逆4X4或8X8整數(shù)變換)應(yīng)用于所述系數(shù)以產(chǎn)生殘余塊。接著,求和器64對(duì)預(yù)測(cè)視頻塊與殘余塊求和以形成經(jīng)解碼的塊。解塊濾波器(未圖示)可應(yīng)用于對(duì)經(jīng)解碼的塊進(jìn)行濾波以移除塊假影。接著,將經(jīng)濾波的塊放置于參考幀存儲(chǔ)裝置62中,參考幀存儲(chǔ)裝置62提供用于解碼后續(xù)視頻幀的參考幀且還產(chǎn)生經(jīng)解碼的視頻以驅(qū)動(dòng)顯示裝置觀(圖1)?,F(xiàn)將更詳細(xì)地描述用于VF譯碼的支持各種數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)器有效技術(shù)的實(shí)例。 這些譯碼技術(shù)可實(shí)施于上文所描述的編碼器和解碼器內(nèi)??紤]無(wú)存儲(chǔ)器源S。源S產(chǎn)生來(lái)自輸入字母表A= Ia1, -,affl} (2^m<-)的符號(hào),其中每一符號(hào)產(chǎn)生的機(jī)率為機(jī)率{Pi = P(Bi), i = 1, ···,!!!}。所產(chǎn)生的每一符號(hào)的機(jī)率中的全部的總和為1。舉例來(lái)說(shuō),其中 !11 = 2,關(guān)于 和 的符號(hào)可分別為0和1。KP(D)的機(jī)率可為0.6,且P(O)因而將等于 0. 4。在假定0 < Pmin ^ Pfflax < 1的狀況下,值Pmin、Pfflax相應(yīng)地表示最小可能符號(hào)和最大可能符號(hào)的機(jī)率。假定消息Σ = { ;^Γ為由源S產(chǎn)生的符號(hào)的無(wú)限長(zhǎng)度序列??勺冮L(zhǎng)度譯碼的主要概念為定義字集合X = {Xj e A*, j = 1,…,Μ} (m彡),以使得任何消息Σ可由來(lái)自X的字的序列唯一地表示,且接著將字\映射到由輸出字母表BMb1, ...,bn} ((2<n<°o) {α. },=Γ = {XJr }廠廣—[9{Xjr)}r=r 二的字母所形成的碼字 Φ (Xj)。假定映射Φ為單射的且輸出碼{Φ(χ」)}可唯一解碼,例如,如Τ.Μ.卡威爾 (Τ. Μ. Cover)和 J. Μ.托馬斯(J. Μ. Thomas)的“信息理論的要素(Elements of InformationTheory) ”(紐約約翰威立出版公司(John Wiley & Sons),1991年)中所描述。根據(jù)本發(fā)明,VF譯碼技術(shù)可應(yīng)用于產(chǎn)生具有相同長(zhǎng)度的碼字Φ (Xj)的譯碼系統(tǒng)。 舉例來(lái)說(shuō),有可能簡(jiǎn)單地選擇ΙΦ (Xj) I=TlognM] (ldsM),并使用字\的索引來(lái)產(chǎn)生用于此類(lèi)字的碼。由此類(lèi)譯碼系統(tǒng)產(chǎn)生的碼可被稱為可變長(zhǎng)度到塊(VB)或可變到固定長(zhǎng)度 (VF)碼。大體來(lái)說(shuō),將在本發(fā)明中使用術(shù)語(yǔ)“VF碼”。給定源S的VF碼的建構(gòu)的問(wèn)題涉及發(fā)現(xiàn)限定大小|X|彡M的無(wú)前綴集合X,以使
得以下源的編碼的平均冗余為最小的在此狀況下,d(X,S)表示平均延遲(或X中的字的平均長(zhǎng)度)
Md (X , S) =ΣΡ(·ΜΧ/.|,(2)且h⑶為源的熵
mh (S)Iogpi ,(3)
=1在一些狀況下,此可能足以得出使理想化平均冗余最小化的前綴集合X KF(X,S) = ^^--h(S),(4)
α(Α,ο)以上問(wèn)題為類(lèi)似的。用于無(wú)存儲(chǔ)器源的最佳VF碼的建構(gòu)的最為眾所周知的算法由B. P.滕斯托爾(B. P. Tunstall)描述于博士論文“無(wú)噪聲壓縮碼的合成(Synthesis of Noiseless Compression Codes),,(喬治亞州-亞特蘭大的喬治亞理工學(xué)院,1968年)中。Tunstall 譯碼還描述和分析于F.賈里尼克(F. Jelinek)和K. S.施耐德(K. S. Schneider) 的IEEE信息理論匯刊(IEEE Trans. Inf. Theory)的“關(guān)于可變長(zhǎng)度到塊譯碼(On Variable-Length-to-Block Coding) ” 18(6) (1972)765-774 中。Tunstall 譯碼過(guò)程以樹(shù) Δ(1)開(kāi)始,所述樹(shù)由連接到對(duì)應(yīng)于輸入字母表A的字母的m個(gè)葉的單一節(jié)點(diǎn)組成。舉例來(lái)說(shuō),圖4的節(jié)點(diǎn)64將為單一開(kāi)始節(jié)點(diǎn)。圖4為二進(jìn)制樹(shù),因此m = 2,且由此在第一步驟中, 節(jié)點(diǎn)64經(jīng)由鏈路66和68而連接到兩個(gè)葉。接著,譯碼過(guò)程挑選對(duì)應(yīng)于具有最高機(jī)率的字母的葉并用經(jīng)連接到新葉的節(jié)點(diǎn)替換所述葉。連續(xù)地重復(fù)此過(guò)程,從而在每一步驟處挑選對(duì)應(yīng)于具有最高機(jī)率的字的葉??梢?jiàn),在i個(gè)步驟之后,此譯碼過(guò)程產(chǎn)生具有(m-1) i+1個(gè)葉的樹(shù)Δω。此樹(shù)對(duì)應(yīng)于字的無(wú)前綴集合Χ(Δω),其可為易于列舉且映射到「log((m-+ 數(shù)字碼的。圖4為說(shuō)明VF譯碼樹(shù)的實(shí)例的圖。圖4的VF譯碼樹(shù)為由Tunstall算法產(chǎn)生的關(guān)于二進(jìn)制無(wú)存儲(chǔ)器源的譯碼樹(shù)的實(shí)例,其在十六個(gè)迭代之后具有機(jī)率I3Hl) = 0. 2。下文的表1展示關(guān)于圖4的樹(shù)中的節(jié)點(diǎn)的碼、字和機(jī)率(Pr)的值。表權(quán)利要求
1.一種方法,其包含在存儲(chǔ)器中存儲(chǔ)數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)表示呈詞典次序的基碼字的列表,其中可變到固定長(zhǎng)度碼樹(shù)的包括固定長(zhǎng)度碼的每一層級(jí)存在一個(gè)基碼字; 從包含多個(gè)固定長(zhǎng)度碼的壓縮數(shù)據(jù)集合中選擇固定長(zhǎng)度碼; 確定與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的所述基碼字;以及基于與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的所述基碼字確定由所述選定固定長(zhǎng)度碼表示的字的長(zhǎng)度。
2.根據(jù)權(quán)利要求1所述的方法,其中所述可變到固定長(zhǎng)度碼樹(shù)的包括固定長(zhǎng)度碼的每一層級(jí)的所述基碼字表示在所述可變到固定長(zhǎng)度碼樹(shù)的包括固定長(zhǎng)度碼的每一層級(jí)處的最小固定長(zhǎng)度碼。
3.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)結(jié)構(gòu)包含陣列。
4.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)結(jié)構(gòu)包含鏈接列表。
5.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)結(jié)構(gòu)包含二進(jìn)制搜索樹(shù)。
6.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)結(jié)構(gòu)包含數(shù)字搜索樹(shù)。
7.根據(jù)權(quán)利要求1所述的方法,其進(jìn)一步包含確定與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的區(qū)段。
8.根據(jù)權(quán)利要求1所述的方法,其中所述壓縮數(shù)據(jù)集合包含壓縮視頻流。
9.一種設(shè)備,其包含 存儲(chǔ)器,其經(jīng)配置以存儲(chǔ)數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)表示呈詞典次序的基碼字的列表,其中可變到固定長(zhǎng)度碼樹(shù)的包括固定長(zhǎng)度碼的每一層級(jí)存在一個(gè)基碼字; 處理器,其經(jīng)配置以從包含多個(gè)固定長(zhǎng)度碼的壓縮數(shù)據(jù)集合中選擇固定長(zhǎng)度碼; 確定與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的所述基碼字;以及基于與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的所述基碼字確定由所述選定固定長(zhǎng)度碼表示的字的長(zhǎng)度。
10.根據(jù)權(quán)利要求9所述的設(shè)備,其中所述可變到固定長(zhǎng)度碼樹(shù)的包括固定長(zhǎng)度碼的每一層級(jí)的所述基碼字表示在所述可變到固定長(zhǎng)度碼樹(shù)的包括固定長(zhǎng)度碼的每一層級(jí)處的最小固定長(zhǎng)度碼。
11.根據(jù)權(quán)利要求9所述的設(shè)備,其中所述數(shù)據(jù)結(jié)構(gòu)包含陣列。
12.根據(jù)權(quán)利要求9所述的設(shè)備,其中所述數(shù)據(jù)結(jié)構(gòu)包含鏈接列表。
13.根據(jù)權(quán)利要求9所述的設(shè)備,其中所述數(shù)據(jù)結(jié)構(gòu)包含二進(jìn)制搜索樹(shù)。
14.根據(jù)權(quán)利要求9所述的設(shè)備,其中所述數(shù)據(jù)結(jié)構(gòu)包含數(shù)字搜索樹(shù)。
15.根據(jù)權(quán)利要求9所述的設(shè)備,其中所述處理器進(jìn)一步經(jīng)配置以確定與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的區(qū)段。
16.根據(jù)權(quán)利要求9所述的設(shè)備,其中所述壓縮數(shù)據(jù)集合包含壓縮視頻流。
17.一種設(shè)備,其包含用于在存儲(chǔ)器中存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的裝置,所述數(shù)據(jù)結(jié)構(gòu)表示呈詞典次序的基碼字的列表,其中可變到固定長(zhǎng)度碼樹(shù)的包括固定長(zhǎng)度碼的每一層級(jí)存在一個(gè)基碼字;用于從包含多個(gè)固定長(zhǎng)度碼的壓縮數(shù)據(jù)集合中選擇固定長(zhǎng)度碼的裝置;用于確定與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的所述基碼字的裝置;以及用于基于與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的所述基碼字確定由所述選定固定長(zhǎng)度碼表示的字的長(zhǎng)度的裝置。
18.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述可變到固定長(zhǎng)度碼樹(shù)的包括固定長(zhǎng)度碼的每一層級(jí)的所述基碼字表示在所述可變到固定長(zhǎng)度碼樹(shù)的包括固定長(zhǎng)度碼的每一層級(jí)處的最小固定長(zhǎng)度碼。
19.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述數(shù)據(jù)結(jié)構(gòu)包含陣列。
20.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述數(shù)據(jù)結(jié)構(gòu)包含鏈接列表。
21.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述數(shù)據(jù)結(jié)構(gòu)包含二進(jìn)制搜索樹(shù)。
22.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述數(shù)據(jù)結(jié)構(gòu)包含數(shù)字搜索樹(shù)。
23.根據(jù)權(quán)利要求17所述的設(shè)備,其進(jìn)一步包含用于確定與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的區(qū)段的裝置。
24.根據(jù)權(quán)利要求17所述的設(shè)備,其中所述壓縮數(shù)據(jù)集合包含壓縮視頻流。
25.一種計(jì)算機(jī)可讀媒體,其包含在執(zhí)行時(shí)執(zhí)行包含以下各項(xiàng)操作的方法的指令在存儲(chǔ)器中存儲(chǔ)數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)表示呈詞典次序的基碼字的列表,其中可變到固定長(zhǎng)度碼樹(shù)的包括固定長(zhǎng)度碼的每一層級(jí)存在一個(gè)基碼字;從包含多個(gè)固定長(zhǎng)度碼的壓縮數(shù)據(jù)集合中選擇固定長(zhǎng)度碼;確定與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的所述基碼字;以及基于與所述選定固定長(zhǎng)度碼相關(guān)聯(lián)的所述基碼字確定由所述選定固定長(zhǎng)度碼表示的字的長(zhǎng)度。
全文摘要
本發(fā)明提供用于解析和解碼壓縮數(shù)據(jù)的方法和系統(tǒng)??蓪⑺鰤嚎s數(shù)據(jù)的任意區(qū)段適當(dāng)?shù)亟鈮嚎s并定位于對(duì)應(yīng)的未壓縮數(shù)據(jù)集合中。所述方法和系統(tǒng)利用可變到固定長(zhǎng)度(VF)譯碼技術(shù)。對(duì)于一些應(yīng)用,所述VF譯碼技術(shù)可實(shí)施于媒體編碼器、解碼器或組合式編碼器-解碼器(CODEC)內(nèi)。
文檔編號(hào)H03M7/40GK102239641SQ200980148999
公開(kāi)日2011年11月9日 申請(qǐng)日期2009年12月8日 優(yōu)先權(quán)日2008年12月9日
發(fā)明者尤里婭·列茲尼克 申請(qǐng)人:高通股份有限公司