亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

基于上下文的自適應(yīng)二維變長解碼方法和裝置的制作方法

文檔序號:7629050閱讀:118來源:國知局
專利名稱:基于上下文的自適應(yīng)二維變長解碼方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及視頻信號處理中的視頻和圖像解碼,尤其涉及對于符合AVS標(biāo)準(zhǔn)的編碼信號進(jìn)行變長編解碼的方法和裝置。
背景技術(shù)
變長編碼(Variable Length Coding,縮寫為VLC)是一種無損壓縮編碼技術(shù),其基本規(guī)則是把較短的碼字賦給出現(xiàn)頻率較高的字符,把較長的碼字賦給出現(xiàn)頻率較低的字符。變長編碼/解碼技術(shù)廣泛地應(yīng)用在視頻信號的處理中。
變長編碼是國際視頻編碼標(biāo)準(zhǔn)和圖像編碼標(biāo)準(zhǔn)中重要地熵編碼技術(shù)。在最新的國際視頻編碼標(biāo)準(zhǔn)H.264/AVC中,采用兩套熵編碼方案,即基于上下文的自適應(yīng)變長編碼(Context-based Adaptive VariableLength Coding,縮寫為CAVLC),和基于上下文的自適應(yīng)算術(shù)編碼(Context-based Adaptive Binary Arithmetic Coding,縮寫為CABAC)。中國的音視頻標(biāo)準(zhǔn)(Audio Video Standard,縮寫為AVS)標(biāo)準(zhǔn)采用了基于上下文自適應(yīng)二維變長編碼(CA-2D-VLC),是多階指數(shù)哥倫布碼(Exp-Golomb碼)和二維變長編碼(2-Dimension Variable LengthCoding,縮寫2D-VLC)的結(jié)合。
為了能夠?qū)τ诒旧暾垊?chuàng)新的解碼方法和裝置有更好的理解,先描述變長編碼的編解碼過程。變長編碼是對變換和量化后的系數(shù),經(jīng)過掃描后的一維數(shù)組進(jìn)行編碼。
AVS中的CA-2D-VLC進(jìn)行編碼的基本原理是,是對接收的8x8塊經(jīng)過變換、量化和掃描后的系數(shù)先進(jìn)行游程編碼,再對(Run,Level)組合按逆序進(jìn)行Exp-Golomb編碼。對于出現(xiàn)概率很小的(Run,Level)組合,定義為Escape,編碼為兩個Exp-Golomb碼,其它(Run,Level)組合編為一個Exp-Golomb碼。AVS中有19個與其相關(guān)的二維碼表,其中7個碼表用于幀內(nèi)編碼塊(VLC0_Intra~VLC6_Intra)、7個碼表用于幀間編碼塊(VLC0_Inter~VLC6_Inter)、5個碼表用于色度塊(VLC0_Chroma~VLC4_Chroma)。不同碼表所用的Exp-Golomb碼的階數(shù)不同,其中VLC0_Inter采用3階指數(shù)哥倫布碼,VLC2_Chroma及VLC3_Chroma采用1階指數(shù)哥倫布碼,VLC1_Chroma及VLC4_Chroma采用0階指數(shù)哥倫布碼,其它碼表均采用2階指數(shù)哥倫布碼。上述19個碼表的選擇按照標(biāo)準(zhǔn)中規(guī)定的規(guī)則進(jìn)行。此外還用到一個一維映射表MaxRun_Tbl,上述19個表的每個表對應(yīng)一個MaxRun。
下面簡要介紹AVS中的CA-2D-VLC進(jìn)行編碼的具體的編碼過程。
為便于理解本發(fā)明,下面首先簡要說明編碼前的一個步驟系數(shù)掃描。
系數(shù)掃描就是對二維系數(shù)塊所有系數(shù)按照約定的順序掃描成為一維數(shù)組。例如AVS中有兩個掃描表,表a為其中之一例如,待編碼的系數(shù)塊如表b所示,
表a 表b
對表b所示的8x8系數(shù)塊依照表a所示順序掃描后得到的一維數(shù)組是
8,-6,5,-2,1,-4,0,0,0,0,4,0,0,1,0,0,0,2,0,0,3,0,0,0,0,...(后面全部是0)。
對該數(shù)組按逆序進(jìn)行游程編碼,Level表示非0系數(shù)的值,Run表示非0系數(shù)前連續(xù)0的個數(shù),編碼后得到(Run,Level)如下所示,其中,EOB(End Of Block)表示系數(shù)塊結(jié)束。
(2,3),(3,2),(2,1),(4,4),(0,-4),(0,1),(0,-2),(0,5),(0,-6),(0,8),EOB
在進(jìn)一步描述編碼過程之前,先對幾個變量進(jìn)行解釋
CodeNum表示Exp-Golomb解碼得到的值;
|Level|等于當(dāng)前系數(shù)Level的絕對值;
signLevel表示Level的正負(fù),sign_level為“0”表示Level為正值,signLevel為“1”表示Level為負(fù)值;
MaxRun表示在當(dāng)前表中的最大的Run的值;
RefAbsLevel表示absLevel的參考值,用于Escape碼,可以在當(dāng)前表中以Run為索引查到;
RefAbsLevel’表示absLevel的參考值,用于Escape碼,包括RefAbsLevel和不能在當(dāng)前表中以Run為索引查到的absLevel的參考值。
按照標(biāo)準(zhǔn)中規(guī)定的規(guī)則,從上述19個碼表中選擇一個碼表,在該碼表中以Run和|Level|為索引進(jìn)行查找
如果是EOB,查表得到的數(shù)值就是CodeNum,對CodeNum進(jìn)行Exp-Golomb編碼,即得到編碼結(jié)果;
如果在表中可以查到,也就是滿足(|Level|<RefAbsLevel&&Run<MaxRun),那么查表得到的數(shù)值記作data,如果Level為正數(shù),那么CodeNum=data,否則CodeNum=data+1;對CodeNum進(jìn)行Exp-Golomb編碼,即得到編碼結(jié)果;
如果在表中查不到,該(Run,Level)編碼為Escape碼,Escape碼用兩個Exp-Golomb碼表示。
CodeNum=59+(Run<<1)+(Level>0)?10;
CodeNum’=|Level|-(run>MaxRun)?1RefAbsLevel;
編碼CodeNum和CodeNum’為Exp-Golomb碼,即得到編碼結(jié)果。
下面介紹Exp-Golomb碼。
表C給出了0階、1階、2階和3階指數(shù)哥倫布碼的結(jié)構(gòu)。指數(shù)哥倫布碼的比特串分為“前綴”和“后綴”兩部分。前綴由leadingZeroBits個連續(xù)的‘0’和一個‘1’構(gòu)成。后綴由leadingZeroBits+k個比特構(gòu)成,即表中的xi串,xi的值為‘0’或‘1’。
CodeNum和編碼結(jié)果之間的對應(yīng)關(guān)系可以用下式表示
CodeNum=2leadingZeroBits+k-2k+x(leadingZeroBits+k-1)...x2x1x0
表C k階指數(shù)哥倫布碼表
根據(jù)上述編碼過程,可以得到CA-2D-VLC的解碼過程,下面簡單描述以8x8塊為單位的解碼過程為
0選擇初始碼表;
1.Exp-Golomb碼的解碼,得到CodeNum;
2.如果是一個塊的第一個解碼碼字,則執(zhí)行下一步,否則判斷是否是EOB,如果是,執(zhí)行步驟7,否則執(zhí)行下一步;
3.Escape檢測,如果CodeNum不大于59,則不是Escape,執(zhí)行下一步;否則執(zhí)行步驟5;
4.通過查表得到(Run,Level),執(zhí)行步驟6;
5.Exp-Golomb碼的解碼,得到CodeNum’,并查表得到MaxRun和RefAbsLevel。
Run=(CodeNum-59)>>1,
RefAbsLevel’=(Run>MaxRun)?1RefAbsLevel;
|Level|=CodeNum’+RefAbsLevel’,
如果CodeNum’為奇數(shù),則Level=-|Level|;否則Level=|Level|;
6.更新碼表選擇,執(zhí)行步驟1,開始解碼下一個碼字;
7.塊系數(shù)解碼結(jié)束。
上述的AVS中CA-2D-VLC算法是2003年12月AVS會議最終確定的。由于迄今為止該CA-2D-VLC算法發(fā)展的時間很短,所以已提出的完整實現(xiàn)結(jié)構(gòu)很少。目前已經(jīng)公開發(fā)表的關(guān)于基于上下文的2-DVLC的解碼器主要是純軟件解碼。例如作為傳統(tǒng)的VLC技術(shù),可以參見專利文件US5208593-A,本申請將該文件作為相關(guān)的背景技術(shù)在此引用作為現(xiàn)有技術(shù)方案的參考。
現(xiàn)有的技術(shù)方案是純軟件變長解碼器,可參考AVS提供的RM5C軟件。純軟件解碼按照算法流程在PC機(jī)上執(zhí)行解碼過程。該方案的缺點是純軟件解碼器為了保證其解碼速度,內(nèi)存開銷較大,對PC機(jī)的配置要求較高,需要對解碼器進(jìn)行多方面的優(yōu)化后才能滿足實時應(yīng)用場合的需要。另外,該方案不能應(yīng)用到集成電路設(shè)計中,其應(yīng)用范圍受限。

發(fā)明內(nèi)容
鑒于上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明的目的是提供一個可用于CA-2D-VLD的新方法和新裝置以克服上述的問題。本發(fā)明結(jié)構(gòu)合理地存儲解碼需要的數(shù)據(jù),從而實現(xiàn)節(jié)省存儲空間并且實現(xiàn)高吞吐率的解碼的目的。
為了更好地理解本發(fā)明,先對文中所述的一些詞語進(jìn)行說明
索引本發(fā)明中所說的索引指變長編碼的碼表中對應(yīng)于碼字的索引;
存儲單元本發(fā)明中所說的存儲單元是存儲器的一個單元,每個地址對應(yīng)一個存儲單元;
存儲器空間本發(fā)明中所說的存儲空間是指存儲器中包括一個或若干存儲單元的集合;
變換本發(fā)明中所說的變換包括了映射、合并與運算等操作。
映射本發(fā)明中所說的合并是指將多個存儲單元映射到一個或幾個存儲單元中,以減少存儲所需要的空間。
合并本發(fā)明中所說的合并是指將多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中,以減少所需要的存儲器的個數(shù)。
根據(jù)本發(fā)明的一個方案,利用CA-2D-VLC的數(shù)據(jù)編碼特點,給出一種解碼查找表的分配方案。而這種解碼查找表的分配方案可在AVS中有著重要應(yīng)用。
本發(fā)明的方法和裝置的基本構(gòu)思在于,針對中CA-2D-VLC編碼的特點,對于解碼查找表,采用函數(shù)將兩個或多個存儲單元映射到另一個存儲單元。對于不能用函數(shù)映射的存儲單元,采用開辟新的存儲單元的方法,或者從其它途徑獲取(比如通過計算得到)。為了尋址簡單,對于可以用函數(shù)映射的個別單元,也可以開辟新的存儲單元,或者從其它途徑獲取(比如通過計算得到)。
具體地說,根據(jù)本發(fā)明的一個方案,提供一種對于基于上下文的自適應(yīng)二維變長編碼(CA-2D-VLC)的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼(CA-2D-VLD)的方法,包括步驟
接收基于上下文的自適應(yīng)二維變長編碼的變長編碼數(shù)據(jù),并存儲在預(yù)定的存儲空間位置中;
采用預(yù)定運算函數(shù)對于解碼查找表,即VLC0_Intra~VLC6_Intra,VLC0_Inter~VLC6_Inter、VLC0_Chroma~VLC4_Chroma和MaxRun_Tbl)中的多個預(yù)定數(shù)據(jù)成分(Run,Level)、(RefAbsLevel)、EOBcode、MaxRun進(jìn)行存儲器空間的變換操作,從而將所說的多個預(yù)定數(shù)據(jù)成分變換到與原來該預(yù)定數(shù)據(jù)成分的存儲器空間不同的一個或幾個存儲器空間中;
隨后用已經(jīng)變換到一個或幾個存儲器空間中的數(shù)據(jù)對輸入的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
根據(jù)本發(fā)明的一個方案,在所說的變換操作的步驟中采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
根據(jù)本發(fā)明的一個方案,在所說的變換操作的步驟中采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中。
根據(jù)本發(fā)明的一個方案,在所說的變換操作的步驟中采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引(Run,Level)的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
根據(jù)本發(fā)明的一個方案,在所說的變換操作的步驟中對于解碼查找表中的關(guān)于索引(Run,Level)的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中
根據(jù)本發(fā)明的一個方案,在所說的變換操作的步驟中采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引RefAbsLevel的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
根據(jù)本發(fā)明的一個方案,在所說的變換操作的步驟中對于解碼查找表中的關(guān)于索引RefAbsLevel的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中。
根據(jù)本發(fā)明的一個方案,在所說的變換操作的步驟中采用預(yù)定運算函數(shù)得到解碼查找表中的關(guān)于索引RefAbsLevel數(shù)據(jù)的部分或全部;以及,利用所說預(yù)定運算函數(shù)的計算所得到的全部該索引數(shù)據(jù)、或利用所說預(yù)定運算函數(shù)的計算所得到的部分該索引數(shù)據(jù)加上從存儲單元中得到的索引數(shù)據(jù),對輸入的視頻編碼信號進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
根據(jù)本發(fā)明的一個方案,在所說的變換操作的步驟中采用預(yù)定運算函數(shù)得到碼查找表中的關(guān)于EOBcode索引數(shù)據(jù);以及利用所說預(yù)定運算函數(shù)的計算所得到的EOBcode索引數(shù)據(jù)對輸入的視頻編碼信號進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
根據(jù)本發(fā)明的一個方案,在所說的變換操作的步驟中采用預(yù)定運算函數(shù)將解碼查找表中的關(guān)于索引MaxRun數(shù)據(jù)存儲在相應(yīng)的(Run,Level)存儲單元之后,并與(Run,Level)處于同一存儲空間;以及利用所說預(yù)定運算函數(shù)的計算所得到的索引MaxRun數(shù)據(jù)對輸入的視頻編碼信號進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
根據(jù)本發(fā)明的另一個方案,提供一種對于基于上下文的自適應(yīng)二維變長編碼(CA-2D-VLC)的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼(CA-2D-VLD)的裝置,包括
接收單元,接收基于上下文的自適應(yīng)二維變長編碼的變長編碼數(shù)據(jù),并存儲在預(yù)定的存儲空間位置中;
變換單元,采用預(yù)定運算函數(shù)對于解碼查找表,即VLC0_Intra~VLC6_Intra、VLC0_Inter~VLC6_Inter、VLC0_Chroma~VLC4_Chroma和MaxRun_Tbl中的多個預(yù)定數(shù)據(jù)成分(Run,Level)、RefAbsLevel、EOBcode、MaxRun進(jìn)行存儲器空間的變換操作,從而將所說的多個預(yù)定數(shù)據(jù)成分變換到與原來該預(yù)定數(shù)據(jù)成分的存儲器空間不同的一個或幾個存儲器空間中;
存儲器單元,用于存儲變換的數(shù)據(jù)成分;
解碼單元,用已經(jīng)變換到一個或幾個存儲器空間中的數(shù)據(jù)對輸入的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
根據(jù)本發(fā)明的一個方案,在所說的變換單元包括一個映射單元,采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
根據(jù)本發(fā)明的一個方案,在所說的變換單元包括一個合并單元,采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中。
根據(jù)本發(fā)明的一個方案,所說的映射單元采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引(Run,Level)的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
根據(jù)本發(fā)明的一個方案,所說的合并單元對于解碼查找表中的關(guān)于索引(Run,Level)的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中
根據(jù)本發(fā)明的一個方案,所說的映射單元采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引RefAbsLevel的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
根據(jù)本發(fā)明的一個方案,所說的合并單元對于解碼查找表中的關(guān)于索引(RefAbsLevel)的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中。
根據(jù)本發(fā)明的一個方案,所說的變換單元包括一個計算單元,采用預(yù)定運算函數(shù)得到解碼查找表中的關(guān)于索引RefAbsLevel數(shù)據(jù)的部分或全部;并且所說的解碼單元,利用所說預(yù)定運算函數(shù)的計算所得到的全部該索引數(shù)據(jù)、或利用所說預(yù)定運算函數(shù)的計算所得到的部分該索引數(shù)據(jù)加上從存儲單元中得到的索引數(shù)據(jù),對輸入的視頻編碼信號進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
根據(jù)本發(fā)明的一個方案,所說的變換單元包括一個計算單元,采用預(yù)定運算函數(shù)得到碼查找表中的關(guān)于EOBcode索引數(shù)據(jù);并且所說的解碼單元,利用所說預(yù)定運算函數(shù)的計算所得到的EOBcode索引數(shù)據(jù)對輸入的視頻編碼信號進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
根據(jù)本發(fā)明的一個方案,在所說的變換單元包括一個計算單元,采用預(yù)定運算函數(shù)將解碼查找表中的關(guān)于索引MaxRun數(shù)據(jù)存儲在相應(yīng)的(Run,Level)存儲單元之后,并與(Run,Level)處于同一存儲空間;并且所說的解碼單元,利用所說預(yù)定運算函數(shù)的計算所得到的索引MaxRun數(shù)據(jù)對輸入的視頻編碼信號進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。


下面將結(jié)合附圖描述描述本發(fā)明的裝置和方法的具體的實施例的細(xì)節(jié)。本發(fā)明的其它特點、目的、和優(yōu)點將通過針對附圖的描述以及通過權(quán)利要求的限定而變得清楚,其中
圖1是按照本發(fā)明的AVS CA-2-D-VLC解碼器系統(tǒng)的總體方框圖;以及
圖2是按照本發(fā)明的AVS CA-2-D-VLC解碼器系統(tǒng)的一個核心局部組成部分的框圖
圖3是圖2中的變換單元的具體組成的示意圖4是按照本發(fā)明的CA-2-D-VLC解碼方法的流程圖。
圖5是按照本發(fā)明的CA-2-D-VLC又一解碼方法的流程圖。
具體實施例方式
下面參照附圖1-5來描述本發(fā)明的實施例。
圖1是按照本發(fā)明的AVS CA-2-D-VLC解碼器裝置的總體方框圖。整個解碼器裝置包括變長編碼數(shù)據(jù)輸入裝置10、桶形移位器11、CodeNum產(chǎn)生器12、解碼輸出裝置13、第一個‘1’檢測器14、Tblnum&Grad更新單元15、Symbol&MaxRun存儲器16、RefAbsLeve存儲器17、控制器18和EOBcode產(chǎn)生單元19。作為一個用于對壓縮視頻信號進(jìn)行解碼的裝置當(dāng)然包括比圖1中更多的組成部件,而為了描述的簡單起見,圖1僅示出了理解本發(fā)明的實現(xiàn)和工作所需的那些部件。本領(lǐng)域的技術(shù)人員會理解,并知道如何設(shè)計、實現(xiàn)和將這些部件互連。進(jìn)一步說,在圖1中的桶形移位器11、第一個‘1’檢測器14、CodeNum產(chǎn)生器12、Tblnum&Grad更新單元15、控制器18組成和操作不是本發(fā)明直接關(guān)聯(lián)的部件而且其操作屬于本領(lǐng)域的公知常識。例如,桶形移位器11電路和第一個‘1’檢測電路14可以用任何各種公知檢測電路實現(xiàn)。CodeNum產(chǎn)生器12、Tblnum&Grade更新單元15、控制器18的操作和原理比較簡單,因此這里不再贅述。
在本說明書隨后的描述中,Tblnum指碼表的標(biāo)號,Grad指Exp-Golomb的階數(shù),Symbol指(Run,Level)。
圖1中的Symbol&MaxRun存儲器16、RefAbsLeve存儲器17、控制器18是和本發(fā)明密切相關(guān)的組成部分部分,為了描述得清楚,將圖1中包括上述三個重要部分的解碼器重新繪制成圖2的按照本發(fā)明的AVS CA-2-D-VLC解碼器系統(tǒng)的一個核心局部組成部分的框圖。
圖2中包括接收裝置20、變換單元21、正常操作區(qū)22、存儲器23、解碼器24。其中接收裝置20可以認(rèn)為是圖1中的變長編碼數(shù)據(jù)輸入裝置10,變換單元21、正常操作區(qū)22和存儲器23可以看作是圖1中的Symbol&MaxRun存儲器16和RefAbsLeve存儲器17的EOBcode產(chǎn)生單元19的組合變形,而解碼器24可以看作是圖1中除去變長編碼數(shù)據(jù)輸入裝置10、解碼輸出裝置13、Symbol&MaxRun存儲器16、EOBcode產(chǎn)生單元19和RefAbsLeve存儲器17之外的其它各部分的集合。
在控制軟件的操作下,控制器操作原屬是Symbol&MaxRun存儲器16和RefAbsLeve存儲器17及EOBcode產(chǎn)生單元19成為圖2中的變換單元21、正常操作模式存儲區(qū)22和存儲器23。在進(jìn)行變換操作的條件下,控制軟件將其操作為變換單元而進(jìn)行預(yù)定的數(shù)據(jù)映射、合并和計算。而在傳統(tǒng)的正常操作的模式中,存儲器則表現(xiàn)為一個正常操作模式存儲區(qū)22。
作為實現(xiàn)本發(fā)明基本構(gòu)思的核心單元的變換單元21就是在對解碼查找表的關(guān)于索引的數(shù)據(jù)的存儲位置進(jìn)行變換,從而實現(xiàn)針對CA-2D-VLC的變長編碼數(shù)據(jù)針對特定的數(shù)據(jù)成分采用解碼查找表。具體地說是通過預(yù)定的函數(shù)將兩個或多個存儲單元中的該特定的數(shù)據(jù)成分映射/和并到一個/或幾個存儲單元中,對于不能用函數(shù)映射/合并的數(shù)據(jù)存儲單元,則采用開辟新的存儲單元的方法、或者通過計算得到。為了達(dá)到尋址簡單的技術(shù)效果,對于可以用函數(shù)映射/合并的個別數(shù)據(jù)單元,也可以采用新的存儲單元、或者通過計算得到。因此,實現(xiàn)本發(fā)明的使得解碼器的硬件消耗減小、數(shù)據(jù)吞吐量提高的目的。
上述的屬于是本發(fā)明核心的變換單元21在圖3中示出。如圖3所示,從實現(xiàn)的功能上說,變換單元的具體組成包括映射單元210、碼表合并單元211和存儲數(shù)據(jù)計算單元212。換句話說,本發(fā)明將通過在控制器的控制下實現(xiàn)上述的映射單元210、碼表合并單元211和存儲數(shù)據(jù)計算單元212的映射、合并和計算功能。
應(yīng)該特別強調(diào)說明的是,圖3所示的變換單元21中的映射單元210、碼表合并單元211和存儲數(shù)據(jù)計算單元212在操作上是獨立、并行的關(guān)系,即映射、合并和計算功能在實施上可以是單獨實現(xiàn)成對實現(xiàn)或同時實現(xiàn)。
下面具體地說明圖3的變換單元中21的映射單元210、碼表合并單元211和存儲數(shù)據(jù)計算單元212的具體操作。
應(yīng)該說明,參照附圖3對于變換單元21的映射單元210、碼表合并單元211和存儲數(shù)據(jù)計算單元212的具體操作的描述是作為示例給出的,而不是對于本發(fā)明的限制。
針對AVS CA-2D-VLD中解碼查找表中(Run,Level)的存儲方式,根據(jù)本發(fā)明的變換單元21的映射單元210執(zhí)行映射操作,采用函數(shù)將兩個或多個存儲單元映射到一個存儲單元,其映射方式如表1和表2所示。
針對AVS CA-2D-VLD中解碼查找表中(Run,Level)的存儲方式,根據(jù)本發(fā)明的變換單元21的映射單元210執(zhí)行映射操作,采用函數(shù)將兩個或多個存儲單元映射到一個存儲單元,其映射方式如下列公式所示,
addr_new=m′>>1
其中,m表示查找表中的CodeNum,也就是原來查找表的地址,m’表示m的修正值,addr_new表示映射后的新地址。原存儲單元中的(Run,Level)在新的存儲單元中的存儲數(shù)據(jù)為(Run,|Level|)。
例如對于解碼查找表VLC0_Intra和VLC1_Intra中的(Run,|Level|),其映射后的存儲方式如表1和表2所示
表1.VLC0_Intra解碼查找表存儲方式
表2.VLC1_Intra解碼查找表存儲方式
應(yīng)該指出在表2中,CodeNum=8的存儲單元,存儲時單獨考慮。
針對存儲單元間的函數(shù)映射關(guān)系,映射單元201可以得到相應(yīng)的解碼操作
(1)把CodeNum映射為新的存儲地址addr_new,如下列公式所示,
addr_new=m′>>1
(2)推算出解碼結(jié)果,
run=Run
|level|=|Level|
signLevel=m′
針對AVS CA-2D-VLD中解碼查找表中(Run,Level)的存儲方式,根據(jù)本發(fā)明的變換單元21的合并單元211執(zhí)行合并操作,采用地址相接的方法把19個碼表數(shù)據(jù)合并為一個或幾個大存儲器中的數(shù)據(jù)。具體地說,19個碼表存在一個存儲器中,即Symblo&MaxRun存儲器,其具體存儲方式如表3所示。該存儲器包括19個存儲方式如表1和表2所示的小存儲單元,該存儲器的地址包括兩部分,其中高位地址為Tblnum,低位地址小存儲單元的地址。
表3.Symblo&MaxRun存儲方式
針對AVS CA-2D-VLD中解碼查找表中RefAbsLevel的存儲方式,按照本發(fā)明的變換單元21中的映射裝置210執(zhí)行映射操作,采用函數(shù)將兩個或多個存儲單元映射到一個存儲單元,其映射方式是把7<run<MaxRun的數(shù)據(jù)映射為一個存儲單元。
例如對于解碼查找表VLC0_Intra和VLC1_Intra中的RefAbsLevel,其映射后的存儲方式如表4和表5所示
表4.VLC0_Intra中RefAbsLevel查找表存儲方式
表5.VLC1_Intra中RefAbsLevel查找表存儲方式
作為上述方案的替代方案,也可以采用預(yù)定運算函數(shù)得到解碼查找表中的關(guān)于索引RefAbsLevel數(shù)據(jù)的部分,具體來說,對于映射后地址為8的存儲單元的數(shù)據(jù)可以用函數(shù)得到,從而使解碼時尋址簡單。
那么在該方案下,解碼的操作如下
memdata表示從存儲單元中讀出的數(shù)據(jù)。
作為上述方案的替代方案,也可以為run>MaxRun的數(shù)據(jù)開辟存儲單元,例如映射到地址為9的存儲單元,等等。
針對AVS CA-2D-VLD中解碼查找表中RefAbsLevel的存儲方式,根據(jù)本發(fā)明的變換單元21中的合并單元211執(zhí)行合并操作,采用地址相接的方法把19個碼表合并為一個或幾個大存儲器,合并方式是把原小碼表的地址作為一個偏移地址,合并后的地址等于偏移地址加上一個預(yù)定的基本地址。
具體地說,19個碼表存在一個存儲器中,即RefAbsLevel存儲器中,其具體存儲方式如表6所示。該存儲器包括19個存儲方式如表4和表5所示的地址為0到7的小存儲器,該存儲器的地址包括兩部分,其中高位地址為Tblnum,低位地址小存儲單元的地址。
表6.RefAbsLevel存儲方式
對于AVS CA-2D-VLD中解碼查找表中EOBcode以及MaxRun_Tbl數(shù)據(jù)成分,本發(fā)明的變換裝置21中的計算單元212將決定它們的存儲方式。
具體地說,按照本發(fā)明可以有以下幾個存儲方式
上述19個碼表每個碼表對應(yīng)一個MaxRun,除VLC0_Intra、VLC0_Inter和VLC0_Chrma外,每個碼表有一個EOBcode。
存儲方式一采用預(yù)定運算函數(shù)將解碼查找表中的關(guān)于索引MaxRun和索引EOBcode數(shù)據(jù)存儲在相應(yīng)的(Run,Level)存儲單元之后,并與(Run,Level)處于同一存儲空間。
MaxRun和EOBcode可以存在一個存儲單元中,也可以分開存儲。
例如VLC1_Intra,按照本發(fā)明的裝置,解碼查找表的存儲方式如表7和表8所示,當(dāng)然,也可以把EOBcode和MaxRun的存儲位置互相交換。
表7.VLC0_Intra解碼查找表存儲方式一
表8.VLC0_Intra解碼查找表存儲方式一
存儲方式二采用預(yù)定運算函數(shù)將解碼查找表中的關(guān)于索引MaxRun數(shù)據(jù)存儲在相應(yīng)的(Run,Level)存儲單元之后,并與(Run,Level)處于同
一存儲空間;EOBcode采用預(yù)定運算函數(shù)得到。
圖1中采用的是該存儲方式。
存儲方式三采用預(yù)定運算函數(shù)將解碼查找表中的關(guān)于索引EOBcode數(shù)據(jù)存儲在相應(yīng)的(Run,Level)存儲單元之后,并與(Run,Level)處于同一存儲空間;MaxRun采用預(yù)定運算函數(shù)得到。
存儲方案四MaxRun和EOBcode都采用預(yù)定運算函數(shù)得到。
下面結(jié)合圖4和圖5的流程圖描述根據(jù)本發(fā)明的AVS CA-2-D-VLC解碼方法實施例的方法。
圖4是按照本發(fā)明的AVS CA-2-D-VLC解碼方法的流程圖。先按照本發(fā)明的方法對解碼所需要的查找表進(jìn)行初始化,然后開始解碼。解碼操作從步驟101開始,這里指對一個塊的量化系數(shù)進(jìn)行CA-2D-VLD解碼。
首先,步驟101對Tblnum進(jìn)行初始化。
在步驟102中,進(jìn)行Exp-Golomb解碼,得到CodeNum。同時根據(jù)Tblnum計算得到EOBcode。接著執(zhí)行步驟103,判斷是否為EOB,如果是EOB,那么執(zhí)行步驟112,表示對一個塊的解碼結(jié)束;否則,執(zhí)行步驟104。
在步驟104中判斷是否為Escape,如果不是Escape,那么執(zhí)行步驟105,根據(jù)本發(fā)明的映射方法得到映射后的地址來讀取Symbol&MaxRun存儲器,得到Run和|Level|,根據(jù)CodeNum可以得到signLevel.這樣就完成非Escape情況下一個碼字的解碼,然后執(zhí)行步驟111。
在步驟104中,如果判斷的結(jié)果是Escape,那么執(zhí)行步驟107,根據(jù)CodeNum算出Run,即Run=(CodeNum-59)>>1。然后步驟執(zhí)行108。
在步驟108中,按照本發(fā)明的方法,MaxRun緊接在其相應(yīng)碼表的(Run,Level)之后存儲,所以從Symbol&MaxRun存儲器中讀出MaxRun。按照本發(fā)明的方法,RefAbsLevel存儲器中存儲部分RefAbsLevel數(shù)據(jù),其他數(shù)據(jù)可以直接得到,在該步驟108中,根據(jù)Tblnum和Run的值確定RefAbsLevel的地址,如果解碼得到的Run的值大于預(yù)先定義的可以存儲在存儲器中的RefAbsLevel數(shù)據(jù)對應(yīng)的Run的值,那么就可以省去讀取RefAbsLevel數(shù)據(jù)存儲器而直接得到的數(shù)據(jù),這一點在圖4中沒有詳細(xì)示出。
然后進(jìn)執(zhí)行步驟109而得到CodeNum’。步驟110根據(jù)MaxRun、RefAbsLevel和MaxRun,以及CodeNum’來計算Level,具體的計算方法如下
|Level|=CodeNum’+(run>MaxRun)?1RefAbsLevel;
signLevel=CodeNum
至此在完成Escape情況下的一個碼字的解碼,然后執(zhí)行步驟111。
在步驟111中進(jìn)行更新Tblnum數(shù)據(jù)的更新,然后執(zhí)行步驟102來進(jìn)行下一個碼字的解碼。直到執(zhí)行步驟112解碼結(jié)束,表示一個塊的量化系數(shù)解碼結(jié)束。
圖5是按照本發(fā)明的AVS CA-2D-VLC的另一解碼方法的流程圖,與圖4所示實施例的流程圖相對照,其中只有步驟202、步驟205和步驟208與圖4中的步驟102、步驟105和步驟108不同,而其它步驟則與圖4中的對應(yīng)步驟相同。這是因為在采用本發(fā)明的方法初始化存儲器時的具體步驟不同。在此,將省略對于與圖4的相同步驟的描述而僅描述步驟102、105和108。
首先考慮步驟102和步驟202,在圖4中,由于EOBcode沒有存儲在存儲器中,所以解碼時需要根據(jù)Tblnum直接得到,而在圖5中,由于EOBcode數(shù)據(jù)已經(jīng)存儲在存儲器中,所以解碼時從存儲器讀取該EOBcode數(shù)據(jù)。
再考慮步驟105和步驟205,以及步驟108和步驟208。在圖4中,MaxRun數(shù)據(jù)和Symbol數(shù)據(jù)存儲在同一個存儲器中,而在圖5中,MaxRun數(shù)據(jù)和Symbol數(shù)據(jù)分別被存儲在不同的存儲器中。
本領(lǐng)域技術(shù)人員將會理解到,在實施根據(jù)本發(fā)明的方法的過程中,隨著具體的解碼查找表的存儲方式不同,將會有對應(yīng)的不同解碼流程圖,申請人不在此贅述。同時,本申請無意將本發(fā)明局限與上述的具體實施例,而本發(fā)明意在包括屬于本發(fā)明精神實質(zhì)的全部可能的實施方式。
根據(jù)本發(fā)明上述的方法和裝置的實施可以節(jié)省存儲單元,同時存儲的數(shù)據(jù)推算和存儲地址映射也變得很簡單??梢杂糜谲浖獯a,也可集成在視頻編解碼VLSI(Very Large Scale Integrated Circuits)芯片之中,因此尤其適和應(yīng)用于VLSI電路的設(shè)計。
盡管已經(jīng)參照優(yōu)選實施例和附圖對本發(fā)明的方法和裝置進(jìn)行了描述,但是,本領(lǐng)域技術(shù)人員能夠理解,在不脫離本發(fā)明的精神和范圍的情況下,可以對本發(fā)明的技術(shù)方案作出各種改進(jìn)和變型,例如解碼查找表數(shù)目不同或者表中數(shù)據(jù)多少不同。所有的這些改進(jìn)和變形都應(yīng)該包括在由所附權(quán)利要求所限定的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種對于基于上下文的自適應(yīng)二維變長編碼(CA-2D-VLC)的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼(CA-2D-VLD)的方法,包括步驟
接收基于上下文的自適應(yīng)二維變長編碼的變長編碼數(shù)據(jù),并存儲在預(yù)定的存儲器空間位置中;
采用預(yù)定運算函數(shù)對于解碼查找表,即VLC0_Intra~VLC6_Intra,VLC0_Inter~VLC6_Inter、VLC0_Chroma~VLC4_Chroma和MaxRun_Tbl中的多個預(yù)定數(shù)據(jù)成分(Run,Level)、RefAbsLevel、EOBcode、MaxRun進(jìn)行存儲器空間的變換操作,從而將所說的多個預(yù)定數(shù)據(jù)成分變換到與原來該預(yù)定數(shù)據(jù)成分的存儲器空間不同的一個或幾個存儲器空間中;
隨后用已經(jīng)變換到一個或幾個存儲器空間中的數(shù)據(jù)對輸入的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
2.根據(jù)權(quán)利求1的方法,其中所說的變換操作的步驟包括
采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
3.根據(jù)權(quán)利求1的方法,其中所說的變換操作的步驟包括
采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中。
4.根據(jù)權(quán)利求2的方法,其中所說的映射操作的步驟包括
采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引(Run,Level)的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
5.根據(jù)權(quán)利求3的方法,其中所說的合并操作的步驟包括
對于解碼查找表中的關(guān)于索引(Run,Level)的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中
6.根據(jù)權(quán)利求2的方法,其中所說的映射操作的步驟包括
采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引RefAbsLevel的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
7.根據(jù)權(quán)利求3的方法,其中所說的合并操作的步驟包括
對于解碼查找表中的關(guān)于索引RefAbsLevel的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中。
8.根據(jù)權(quán)利求1的方法,其中所說的變換操作的步驟包括
采用預(yù)定運算函數(shù)得到解碼查找表中的關(guān)于索引RefAbsLevel數(shù)據(jù)的部分或全部;以及
利用所說預(yù)定運算函數(shù)的計算所得到的全部該索引數(shù)據(jù)、或利用所說預(yù)定運算函數(shù)的計算所得到的部分該索引數(shù)據(jù)加上從存儲單元中得到的索引數(shù)據(jù),對輸入的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
9.根據(jù)權(quán)利求1的方法,其中所說的變換操作的步驟包括
采用預(yù)定運算函數(shù)得到解碼查找表中的關(guān)于EOBcode索引數(shù)據(jù);或者采用預(yù)定運算函數(shù)將解碼查找表中的關(guān)于索引MaxRun數(shù)據(jù)存儲在相應(yīng)的(Run,Level)存儲單元之后,并與(Run,Level)處于同一存儲器空間;
利用所說預(yù)定運算函數(shù)的計算所得到的EOBcode索引數(shù)據(jù)或者從存儲單元中得到的EOBcode索引數(shù)據(jù)對輸入的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
10.根據(jù)權(quán)利求1的方法,其中所說的變換操作的步驟包括
采用預(yù)定運算函數(shù)將解碼查找表中的關(guān)于索引MaxRun數(shù)據(jù)存儲在相應(yīng)的(Run,Level)存儲單元之后,并與(Run,Level)處于同一存儲器空間;或者采用預(yù)定運算函數(shù)得到解碼查找表中的關(guān)于MaxRun索引數(shù)據(jù);
利用從存儲單元中得到的MaxRun索引數(shù)據(jù)或者利用所說預(yù)定運算函數(shù)的計算所得到的索引MaxRun數(shù)據(jù)對輸入的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
11.根據(jù)權(quán)利要求4的方法,其中所說的對于解碼查找表中的關(guān)于索引(Run,Level)數(shù)據(jù)采用函數(shù)將兩個或多個存儲單元的數(shù)據(jù)映射到一個存儲單元中的映射方式如下列公式所示,
addr_new=m′>>1
其中,m表示查找表中的CodeNum,也就是原來查找表的地址,m’表示m的修正值,addr_new表示映射后的新地址。原存儲單元中的(Run,Level)在新的存儲單元中的存儲數(shù)據(jù)為(Run,|Level|)。
12.根據(jù)權(quán)利要求5的方法,其中所說的對于解碼查找表中的關(guān)于索引(Run,Level)數(shù)據(jù)采用地址相接而把多個碼表的數(shù)據(jù)合并存儲在一個或幾個較大存儲器中的方式為把原小碼表的地址作為一個偏移地址,合并后的地址等于偏移地址加上一個預(yù)定的基本地址。
13.根據(jù)權(quán)利要求6的方法,其中所說的對于解碼查找表中的關(guān)于索引RefAbsLevel數(shù)據(jù)采用函數(shù)將兩個或多個存儲單元的數(shù)據(jù)映射到一個存儲單元中的映射方式為在每個關(guān)于索引RefAbsLevel的查找表中,把索引Run大于某個預(yù)定數(shù)值的存儲單元映射為一個存儲單元
14.根據(jù)權(quán)利要求7的方法,其中所說的對于解碼查找表的關(guān)于索引RefAbsLevel數(shù)據(jù)采用地址相接而把多個碼表的數(shù)據(jù)合并存儲為一個或幾個大存儲器中的方式為把原小碼表的地址作為一個偏移地址,合并后的地址等于偏移地址加上一個預(yù)定的基本地址。
15.根據(jù)權(quán)利要求9的方法,其中EOBcode接在其對應(yīng)碼表的(Run,Level)的存儲單元之后存儲,該MaxRun的存儲位置為


16.根據(jù)權(quán)利要求10的方法,其中MaxRun接在其對應(yīng)碼表的(Run,Level)的存儲單元之后存儲,該MaxRun的存儲位置為


17.根據(jù)權(quán)利要求9或10的方法,所說的MaxRun和所說的EOBcode的存儲位置可以互相交換。
18.根據(jù)權(quán)利要求9或10的方法,其中將MaxRun和EOBcode的之一存儲在存儲器中,另一個通過計算獲取。
19.一種對于基于上下文的自適應(yīng)二維變長編碼(CA-2D-VLC)的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼(CA-2D-VLD)的裝置,包括
接收單元,接收基于上下文的自適應(yīng)二維變長編碼的變長編碼數(shù)據(jù),并存儲在預(yù)定的存儲器空間位置中;
變換單元,采用預(yù)定運算函數(shù)對于解碼查找表,即VLC0_Intra~VLC6_Intra,VLC0_Inter~VLC6_Inter,VLC0_Chroma~VLC4_Chroma和MaxRun_Tbl中的多個預(yù)定數(shù)據(jù)成分(Run,Level)、(RefAbsLevel)、EOBcode、MaxRun進(jìn)行存儲器空間的變換操作,從而將所說的多個預(yù)定數(shù)據(jù)成分變換到與原來該預(yù)定數(shù)據(jù)成分的存儲器空間不同的一個或幾個存儲器空間中;
存儲器,用于存儲變換的數(shù)據(jù)成分;
解碼單元,用已經(jīng)變換到一個或幾個存儲器空間中的數(shù)據(jù)對輸入的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
20.根據(jù)權(quán)利求19的裝置,其中所說的變換單元包括
映射單元,采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
21.根據(jù)權(quán)利求19的裝置,其中所說的變換單元包括
合并單元,采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中。
22.根據(jù)權(quán)利求20的裝置,其中所說的映射單元采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引(Run,Level)的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
23.根據(jù)權(quán)利求21的裝置,其中所說的合并單元對于解碼查找表中的關(guān)于索引(Run,Level)的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中
24.根據(jù)權(quán)利求20的裝置,其中所說的映射單元采用預(yù)定運算函數(shù)對于解碼查找表中的關(guān)于索引(RefAbsLevel)的存儲單元進(jìn)行映射操作,從而將多個存儲單元映射到一個或幾個存儲單元中。
25.根據(jù)權(quán)利求21的裝置,其中所說的合并單元對于解碼查找表中的關(guān)于索引(RefAbsLevel)的存儲單元采用地址相接而把多個碼表的數(shù)據(jù)合并到一個或幾個大存儲器中。
26.根據(jù)權(quán)利求19的裝置,其中所說的變換單元包括
計算單元,采用預(yù)定運算函數(shù)得到解碼查找表中的關(guān)于索引RefAbsLevel數(shù)據(jù)的部分或全部;以及
解碼單元,利用所說預(yù)定運算函數(shù)的計算所得到的全部該索引數(shù)據(jù)、或利用所說預(yù)定運算函數(shù)的計算所得到的部分該索引數(shù)據(jù)加上從存儲單元中得到的索引數(shù)據(jù),對輸入的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
27.根據(jù)權(quán)利求19的裝置,其中所說的變換單元包括
計算單元,采用預(yù)定運算函數(shù)得到解碼查找表中的關(guān)于EOBcode索引數(shù)據(jù);或者采用預(yù)定運算函數(shù)將解碼查找表中的關(guān)于索引MaxRun數(shù)據(jù)存儲在相應(yīng)的(Run,Level)存儲單元之后,并與(Run,Level)處于同一存儲器空間;以及
解碼單元,利用所說預(yù)定運算函數(shù)的計算所得到的EOBcode索引數(shù)據(jù)或者從存儲單元中得到的EOBcode索引數(shù)據(jù)對輸入的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
28.根據(jù)權(quán)利求19的裝置,其中所說的變換單元包括
計算單元,采用預(yù)定運算函數(shù)將解碼查找表中的關(guān)于索引MaxRun數(shù)據(jù)存儲在相應(yīng)的(Run,Level)存儲單元之后,并與(Run,Level)處于同一存儲器空間;或者采用預(yù)定運算函數(shù)得到解碼查找表中的關(guān)于MaxRun索引數(shù)據(jù);以及
解碼單元,利用從存儲單元中得到的MaxRun索引數(shù)據(jù)或者利用所說預(yù)定運算函數(shù)的計算得到的索引MaxRun數(shù)據(jù)對輸入的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼,以便獲得目標(biāo)數(shù)據(jù)。
29.根據(jù)權(quán)利要求22的裝置,其中所說的映射單元對于解碼查找表中的(Run,Level)數(shù)據(jù)采用函數(shù)將兩個或多個存儲單元的數(shù)據(jù)映射到一個存儲單元中的映射方式如下列公式所示,
addr_new=m′>>1
其中,m表示查找表中的CodeNum,也就是原來查找表的地址,m’表示m的修正值,addr_new表示映射后的新地址。原存儲單元中的(Run,Level)在新的存儲單元中的存儲數(shù)據(jù)為(Run,|Level|)。
30.根據(jù)權(quán)利要求23的裝置,其中所說的合并單元對于解碼查找表中的關(guān)于索引(Run,Level)數(shù)據(jù)采用地址相接而把多個碼表的數(shù)據(jù)合并存儲在一個或幾個較大存儲器中的方式為把原小碼表的地址作為一個偏移地址,合并后的地址等于偏移地址加上一個預(yù)定的基本地址。
31.根據(jù)權(quán)利要求24的裝置,其中所說的對于解碼查找表中的關(guān)于索引RefAbsLevel數(shù)據(jù)采用函數(shù)將兩個或多個存儲單元的數(shù)據(jù)映射到一個存儲單元中的映射方式為在每個關(guān)于索引RefAbsLevel的查找表中,把索引Run大于某個預(yù)定數(shù)值的存儲單元映射為一個存儲單元
32.根據(jù)權(quán)利要求25的裝置,其中所說的合并單元對于解碼查找表的關(guān)于索引RefAbsLevel數(shù)據(jù)采用地址相接而把多個碼表的數(shù)據(jù)合并存儲為一個或幾個大存儲器中的方式為把原小碼表的地址作為一個偏移地址,合并后的地址等于偏移地址加上一個預(yù)定的基本地址。
33.根據(jù)權(quán)利要求27的裝置,其中EOBcode接在其對應(yīng)碼表的(Run,Level)的存儲單元之后存儲,該EOBcode的存儲位置為


34.根據(jù)權(quán)利要求28的裝置,其中MaxRun接在其對應(yīng)碼表的(Run,Level)的存儲單元之后存儲,該MaxRun的存儲位置為


35.根據(jù)權(quán)利要求27或28的方法,所說的MaxRun和所說的EOBcode的存儲位置可以互相交換。
36.根據(jù)權(quán)利要求27或28的方法,其中將MaxRun和EOBcode的之一存儲在存儲器中,另一個通過計算獲取。
全文摘要
本發(fā)明公開了一種對于基于上下文的自適應(yīng)二維變長編碼(CA-2D-VLC)的變長編碼數(shù)據(jù)進(jìn)行基于上下文的自適應(yīng)二維變長解碼(CA-2D-VLD)的方法和裝置。針對CA-2D-VLC的編碼特性而在解碼時針對解碼查找表關(guān)于索引的特定的數(shù)據(jù)成分采用解碼查找表,通過預(yù)定的函數(shù)將兩個或多個存儲空間中的該特定的數(shù)據(jù)成分映射/和并到一個或幾個存儲空間中。對于特定的數(shù)據(jù)也可以通過計算得到。因此本發(fā)明使得解碼器的硬件消耗減小。
文檔編號H04N7/30GK1791223SQ20051013098
公開日2006年6月21日 申請日期2005年12月15日 優(yōu)先權(quán)日2005年12月15日
發(fā)明者何蕓, 瞿艷梅 申請人:清華大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1