在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      新聞中心

      EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > H.264解碼器中CAVLC碼表查找算法的分析與優(yōu)化

      H.264解碼器中CAVLC碼表查找算法的分析與優(yōu)化

      作者: 時間:2009-09-22 來源:網(wǎng)絡(luò) 收藏
      0 引 言
      近年來,隨著信息技術(shù)飛速發(fā)展和互聯(lián)網(wǎng)的日益普及,尤其是以視頻為信息主要來源的多媒體領(lǐng)域越來越受到人們的關(guān)注。H.是ITU-T的視頻編碼專家組(VCEG)和ISO/IEC的活動圖像編碼專家組(MPEG)的聯(lián)合視頻組(Joint Video Tearn,JVT)開發(fā)的一個新的數(shù)字視頻編碼標(biāo)準(zhǔn),它既是ITU-T的H.,又是ISO/IEC的MPEG-4的一部分。H.和以前的標(biāo)準(zhǔn)一樣,也是DPCM加變換編碼的混合編碼模式。H.264標(biāo)準(zhǔn)可分為三檔:基本檔次(其簡單版本,應(yīng)用面廣);主要檔次(采用了多項(xiàng)提高圖像質(zhì)量和增加壓縮比的技術(shù)措施,可用于SDTV、HDTV和DVD等);擴(kuò)展檔次(可用于各種網(wǎng)絡(luò)的視頻流傳輸)。
      H.264/AVC的編解碼框架的基本結(jié)構(gòu)與早期的編碼標(biāo)準(zhǔn)(H.263、MPEG4等)相似,都是由運(yùn)動估計、變換、量化、熵編碼、環(huán)路去塊效應(yīng)濾波器等功能單元組成的。H.264視頻編碼框架的主要變化包括:引入了環(huán)內(nèi)去塊效應(yīng)濾波器,去塊效應(yīng)處理后的宏塊被保存在內(nèi)存中用于對后續(xù)宏塊的預(yù)側(cè);采用了多參考幀運(yùn)動估計,需要在內(nèi)存中保留多個參考視頻幀;引入了幀內(nèi)預(yù)測機(jī)制,可以通過同一幀內(nèi)的宏塊進(jìn)行預(yù)測;采用了新的整型變換方式,取代了以前的離散余弦變換(DCT);H.264與以前視頻標(biāo)準(zhǔn)在運(yùn)動估計的模式上也有了較大的變化,H.264支持7種模式的可變塊運(yùn)動估計。此外,在熵編碼中還引入了上下文自適應(yīng)的變長編碼()和二進(jìn)制算術(shù)編碼(CABAC)。
      在熵編碼方面,H.264使用了CABAC和兩種不同的編碼方式。CABAC熵編碼是一種基于區(qū)間劃分的算術(shù)編碼方式。這種編碼方式的效率很高,接近信息熵值,但算法相對復(fù)雜,編解碼速度較慢。是一種可變長編碼,它根據(jù)已編碼語法元素的情況動態(tài)調(diào)整編碼中使用的碼表,在編碼過程中有些語法元素是組合編碼的,當(dāng)對這些元素進(jìn)行查找時就會耗費(fèi)很長的時間。因此對CAVLC的優(yōu)化顯得格外重要。

      1 原碼表
      原碼表的存儲結(jié)構(gòu)為二維表結(jié)構(gòu)。存儲的內(nèi)容為碼字,二維坐標(biāo)分別代表解碼后的兩個語法元素。對于二維表結(jié)構(gòu)。若通過坐標(biāo)查找內(nèi)容是很容易的;而通過內(nèi)容查找坐標(biāo),就需要對整個表進(jìn)行遍歷。JM中的碼表就是通過遍歷整個碼表實(shí)現(xiàn)的,步驟如下:
      (1)取碼表的中的一個碼字;
      (2)根據(jù)碼字長度從碼流中取出相應(yīng)長度的bit;
      (3)比較此碼字和bit串,若相同則查找成功,否則若碼表中還有碼字,回步驟(1),否則查找失敗。

      本文引用地址:http://www.biyoush.com/article/188606.htm

      2 算法的優(yōu)化分析
      2.1 基于前綴零分組子表搜索算法
      基于上下文自適應(yīng)的變長編碼的解碼算法需要不斷的讀取碼流,判斷,直到在碼表中找到該碼字,如此反復(fù),直至解碼整個塊。由此可見該過程的時間空間復(fù)雜度都是相當(dāng)高的。由于變長碼為霍夫曼前綴碼,所以可以根據(jù)碼表的特性,按照碼字長度將原來的一個碼表,按照碼字長度對原碼表進(jìn)行分割,以Coeff_token碼表為例,原碼表如表1所示,表中NC=-1。

      在參考模型中,搜索碼表算法過程如下:
      (1)從最短碼長開始,讀出該長度二進(jìn)制數(shù)據(jù)流對應(yīng)的碼字;
      (2)遍歷碼表,如找到該碼字進(jìn)行步驟(4),否則進(jìn)入(3);
      (3)碼字長度加1,重定位指針位置,重復(fù)步驟(2);
      (4)讀取該碼字對應(yīng)值,更新指針位置。
      從上面過程中不難發(fā)現(xiàn),碼字長度的不確定性使得在讀取字節(jié)流時只能一次次的試探,導(dǎo)致了效率的下降。如果可以將變長碼的讀取采取固定的策略,一次讀取固定的長度,之后再做判斷,再讀取一定長度,這樣將判斷的次數(shù)也固定,從理論上可以降低不斷搜索和重定位指針帶來的時間和空間復(fù)雜性。利用可以利用碼表中碼字前綴零數(shù)目的不同,將表1拆分為兩個子表,如表2,表3所示NC為-1。

      改進(jìn)后的碼表搜索算法如下:
      (1)讀取最大碼字長度的二進(jìn)制流;
      (2)根據(jù)不同的前綴零位數(shù)、右移位、判零以確定碼字所在子表;
      (3)直接根據(jù)碼值讀取對應(yīng)值,更新指針位置。
      新的搜索過程不但避免了不確定性,而且無需遍歷碼表,這樣可以在一定程度上提高變長解碼的效率。

      按照改進(jìn)的算法步驟,解碼時,首先從字節(jié)流中讀取8位碼字,由于前綴零個數(shù)分為大于3和小于3的兩種情形,所以右移5位,若為零,則查找表2,否則查找表1,根據(jù)碼值直接解碼出±1個數(shù),非零系數(shù)數(shù)目。此外在設(shè)計代碼時,還可利用二叉搜索樹的特性,設(shè)計搜索過程,提高解碼效率。


      上一頁 1 2 下一頁

      關(guān)鍵詞: CAVLC 264 解碼器 查找算法

      評論


      相關(guān)推薦

      技術(shù)專區(qū)

      關(guān)閉