新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > H.264解碼器中CAVLC碼表查找算法的分析與優化

        H.264解碼器中CAVLC碼表查找算法的分析與優化

        作者: 時間:2009-09-22 來源:網絡 收藏
        2.2 二叉樹一子表混合法
        拆分成子表后建立的數組中存在冗余現象。如當0≤N2且Pre-Zeros6時,一共有13個碼字。為了保留原先的查表方式以TC和Tls為矩陣下標的特點,必須要用4×7矩陣,多余位置零。由于實際搜索的對象是矩陣,怎么確定Pre-Zeros值,以保證在分塊數一定的情況下,使用的矩陣較小,成為提高搜索效率的關鍵。從表中可以看到,對不同的N值對應的列,子表之間的Pre-zeros的分界點選取了不同的閾值。按照表2中的分塊方法,矩陣的平均大小為4×6.5。相比JM中使用一個4×17矩陣,搜索效率理論上可以提高(17-6.5)/6.5=1.615倍(假設每張子表的使用概率相同)。以0≤N2的一張VLC表為例,共分成4張子表。從查找一個碼字的比較次數來看。

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


        可知,子表法查找比較次數的理論最小值為此時要求n=s2。如果在第一個步驟(確定子表)中改為采用二分法,則這種情況下就可以對以上碼表中前綴連零再細化,將相同連零個數的碼字放在一起,增加子表數而減少子表中的碼字結點數,可以進一步提高查找效率。
        從以上分析可見,二叉樹的查找效率是最高的。因此可以將二叉樹應用到子表法中,對每一張子表分別建樹。對于二叉樹來說,查找時間與樹的深度有關。觀察子表中的碼字,發現它們都有不同長度的連零作為前綴,如果直接建樹將導致樹的不平衡并增加了樹的深度。為了解決這個問題,可以考慮在同一張子表中為每個碼字去除相同個數的連零前綴,然后建立二叉樹。在解碼時,先忽略這些連零個數,再進行樹的查找。在最理想情況下,這種查找方法的一次查找的平均比較次數為:


        對第一張VLC表采用二叉樹一子表法的最大比較次數:


        幾種算法的對比與復雜度分析如表4所示。

        空間復雜度也是需要考慮的問題。JM參考實現中為Tls和TC的聯合碼表建立了2個3×4×17的三維數組共需要408 B的存儲空間。二叉樹法經過統計,一棵樹共有124個結點,其中葉結點62個,其余62個結點為根結點或枝結點。建3棵二叉樹所需要的空間為(62×4+62×2)×3=1 116 B。子表法將碼表分成12張子表,每張子表用2個二維數組表示,而數組的平均大小為4×6.5,則共要4×6.5×12×2=624 B。

        3 結 語
        H.是現在視頻編解碼領域研究的熱點也是未來發展的方向,它將代替MPEG2成為主流的信源壓縮標準。H.應用領域非常廣泛。將H.的編解碼速度盡可能的提高,可以使其在更多的領域中應用,如數字電視,消費電子類產品,網絡通信,可視電話等現在熱門領域。在此專門對于碼表查找給出了改進方案,通過這三種改進方案,避免了對整個碼表的查找,對碼表的查找在效率上有了很大提高。具有明顯的實用意義。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贵阳市| 油尖旺区| 介休市| 鹤庆县| 会昌县| 高州市| 巴东县| 社旗县| 贺兰县| 乐安县| 万山特区| 江门市| 甘德县| 乐清市| 望江县| 牡丹江市| 金山区| 镇江市| 湖州市| 无极县| 十堰市| 寻乌县| 集贤县| 江阴市| 中西区| 伽师县| 石狮市| 曲松县| 仙桃市| 长白| 开封县| 祁连县| 吉林市| 聊城市| 平凉市| 阿克陶县| 灯塔市| 鸡东县| 晋江市| 望江县| 衢州市|