新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于H.264的Exp-Golomb解碼器ASIC設計

        基于H.264的Exp-Golomb解碼器ASIC設計

        作者: 時間:2011-09-21 來源:網絡 收藏

        本文的研究目標是H.264標準中的,在對其算法進行深入探討的基礎上,提出了一種高效且低成本的實現方案。

        編碼原理及解碼算法分析

        在H.264基本規范中,除了殘差變換系數采用CAVLC編碼方式外,其它句法元素均使用編碼。Exp-Golomb編碼是一種有規則的變長編碼方式,在各類視頻編碼標準中被廣泛應用。Exp-Golomb編碼符號的概率統計進行編碼,用短碼字來表示出現概率高的信息,用長碼字來表示出現概率低的信息,碼長與被編碼數成指數對應關系,從而使總體平均碼字最短。與定長編碼方式相比,節省了大量存儲空間。

        在H.264中采用的是0階Exp-Golomb編碼,編碼規則如圖1所示。

        本文引用地址:http://www.104case.com/article/155711.htm

        Exp-Golomb碼字的邏輯結構為:[M zeros][1][INFO]。其中M個0和中間的1稱為前綴,INFO是M位的信息值,因此,每個Exp-Golomb碼字的長度都為2M+ 1。每個索引字codenum經過編碼都可以對應一個如上結構的碼字,它們之間的關系是:

        codenum=2M+INFO-1 (1)

        由式1可知,進行Exp-Golomb解碼可先探測出碼字前連續O的個數,再取出后綴,經該公式計算即可得到codenum值。在H.264中存在四種Exp-Golomb碼:無符號型ue(v)、有符號型se(v)、映射型me(v)和截斷型te(v)。因此,對于解出的codenum值,根據句法元素類型的不同有四種映射方式,如表2所示。根據相應描述完成映射后,輸出syntax即為解碼值。

        Exp-Golomb硬件結構

        以上解碼算法的Exp-Golomb硬件結構如圖1所示。整個系統主要由以下模塊組成:輸入碼流緩沖移位模塊、碼長檢測模塊、 codenum生成模塊以及句法元素映射模塊。系統上電復位后,首先由碼流緩沖移位模塊提供待解碼字,然后由碼長檢測模塊中的首一檢測器探測出連續0 的個數,即時計算得出當前碼長送至累加器。同時,首一檢測的結果和待解碼字一起送至codenum計算模塊,經移位、相減得到codenum值。最后將 codenum送至四個映射單元處理,最終解碼句法元素由選擇器輸出至寄存器。整個解碼流程用一個時鐘周期完成。下文將詳細敘述各功能子模塊的硬件結構。

        輸入碼流緩沖移位模塊

        輸入碼流緩沖移位模塊是實現H.264實時解碼的關鍵模塊。由于在每個變長解碼流程中,碼長不可能事先確定,所以在解出碼值的同時必須定位下一個碼字。這就要求該模塊具有快速響應和并行輸出的特點。由于H.264中定義Exp-Golomb碼最大碼長不超過32,設計中采用兩個32位寄存器,一個32位桶形移位器及一個累加器的組合來實現該功能,如圖1左端所示。其中,寄存器Rn負責從外部模塊讀取數據,并和寄存器R1一起作為桶形移位器的輸入; 在每個解碼周期,桶形移位器移出已解碼流的同時還要裝載新的待解碼流;而累加器則計數已處理碼長,傳送桶形移位器移位長度,判斷并控制R0的讀取和R1的更新。這樣就為后續處理單元提供了連續不間斷的碼流。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 巴塘县| 瑞昌市| 云南省| 南开区| 西吉县| 盐边县| 南京市| 瓮安县| 甘谷县| 七台河市| 舒城县| 临桂县| 济阳县| 封丘县| 衢州市| 游戏| 静乐县| 景洪市| 福鼎市| 定南县| 友谊县| 南投市| 安化县| 闽清县| 孝义市| 贵港市| 望都县| 景德镇市| 高碑店市| 琼结县| 榆林市| 方正县| 恩施市| 聂拉木县| 赤城县| 太和县| 五大连池市| 广州市| 四会市| 新郑市| 重庆市|