<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > H.264中二進制化編碼器的FPGA實現(xiàn)

          H.264中二進制化編碼器的FPGA實現(xiàn)

          作者: 時間:2009-10-20 來源:網(wǎng)絡(luò) 收藏

          2.5 基本轉(zhuǎn)換的串聯(lián)方案
          由以上各種方式可以再推導(dǎo)出3種基本的轉(zhuǎn)換方案。第1種是4位FL前綴與TU后綴(S=2)的串聯(lián),而第2和第3種方案來自TU和EGK二進制轉(zhuǎn)換,稱為UEGK。這些方案被用于運動矢量微分和變換系數(shù)取絕對值。另外語法元素mb_type和sub_mb_type二進制化使用遍歷二叉樹方法,對應(yīng)的二叉樹已在參考文獻中給出。

          本文引用地址:http://www.ex-cimer.com/article/191909.htm


          3 二進制化編碼方案優(yōu)化
          H.標準中的二進制化編碼流程是串行的,適合軟件的實現(xiàn),但由于待編語法元素較多,導(dǎo)致執(zhí)行速度慢且效率低下。而硬件實現(xiàn)的最大優(yōu)勢在于其并行性,可大大提高執(zhí)行效率。因此,為提高編碼速度,在不改變算法實質(zhì)的前提下,對標準中的編碼流程進行相應(yīng)優(yōu)化,以利于硬件實現(xiàn)。主要提出以下優(yōu)化措施:
          (1)將語法元素歸類按照基本的編碼方法及H.對各語法元素的要求,可將20余種語法元素的二進制編碼方法歸為6類,包括U二進制化、UEGKO二進制化(k=0,uco-eff=14)、UEGK3二進制化(k=3,ucoeff=9)、宏塊/子宏塊類型二進制化、宏塊量化偏移二進制化,定長與截斷串聯(lián)的二進制化。將語法元素歸類,將有效減小編碼過程中的繁雜和無序性,有利于編碼正常完成。
          (2)并行化設(shè)計語法元素的二進制化方法可歸為8類,在設(shè)計中,采用控制單元辨別相應(yīng)的語法元素,并送入二進制化模塊進行編碼。但依照H.標準設(shè)計,二進制化單元的入口地址不僅取決于語法元素的值,還取決于語法元素的種類,這種數(shù)據(jù)依存關(guān)系無疑增加了運算量。且輸出是串行,不利于流水線設(shè)計,這樣就將降低系統(tǒng)的時鐘頻率。故采用一種并行設(shè)計方案,以語法元素值為輸入,結(jié)果得到6個不同的輸出,將它們鎖存后,利用多路選擇器以語法元素種類作為控制端選出所需的值。兩種不同的實現(xiàn)方式見圖2。

          4 二進制化編碼的實現(xiàn)
          改進后的二進制化編碼主要包括:控制單元、二進制化編碼單元及選擇輸出單元,如圖3所示。

          電路主要分為5級流水線實現(xiàn)。在第1級流水線中,語法元素(SE)、時鐘信號(clk)、上下文模型參量(a、b)等輸入數(shù)據(jù)進入控制單元??刂茊卧捎帽容^器實現(xiàn),通過比較給定數(shù)值與輸入數(shù)值的范圍確定語法元素的種類,通過種類信號(selector)輸出選擇所采取的二進制化方式。



          關(guān)鍵詞: FPGA 264 二進制 編碼器

          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();