H.264中二進制化編碼器的FPGA實現
2.5 基本二進制轉換的串聯方案
由以上各種二進制方式可以再推導出3種基本的二進制轉換方案。第1種是4位FL前綴與TU后綴(S=2)的串聯,而第2和第3種方案來自TU和EGK二進制轉換,稱為UEGK。這些方案被用于運動矢量微分和變換系數取絕對值。另外語法元素mb_type和sub_mb_type二進制化使用遍歷二叉樹方法,對應的二叉樹已在參考文獻中給出。本文引用地址:http://www.104case.com/article/191909.htm
3 二進制化編碼方案優化
H.264標準中的二進制化編碼流程是串行的,適合軟件的實現,但由于待編語法元素較多,導致執行速度慢且效率低下。而硬件實現的最大優勢在于其并行性,可大大提高執行效率。因此,為提高編碼速度,在不改變算法實質的前提下,對標準中的編碼流程進行相應優化,以利于硬件實現。主要提出以下優化措施:
(1)將語法元素歸類按照基本的編碼方法及H.264對各語法元素的要求,可將20余種語法元素的二進制編碼方法歸為6類,包括U二進制化、UEGKO二進制化(k=0,uco-eff=14)、UEGK3二進制化(k=3,ucoeff=9)、宏塊/子宏塊類型二進制化、宏塊量化偏移二進制化,定長與截斷串聯的二進制化。將語法元素歸類,將有效減小編碼過程中的繁雜和無序性,有利于編碼正常完成。
(2)并行化設計語法元素的二進制化方法可歸為8類,在設計中,采用控制單元辨別相應的語法元素,并送入二進制化模塊進行編碼。但依照H.264標準設計,二進制化單元的入口地址不僅取決于語法元素的值,還取決于語法元素的種類,這種數據依存關系無疑增加了運算量。且輸出是串行,不利于流水線設計,這樣就將降低系統的時鐘頻率。故采用一種并行設計方案,以語法元素值為輸入,結果得到6個不同的輸出,將它們鎖存后,利用多路選擇器以語法元素種類作為控制端選出所需的值。兩種不同的實現方式見圖2。
4 二進制化編碼的FPGA實現
改進后的二進制化編碼主要包括:控制單元、二進制化編碼單元及選擇輸出單元,如圖3所示。
電路主要分為5級流水線實現。在第1級流水線中,語法元素(SE)、時鐘信號(clk)、上下文模型參量(a、b)等輸入數據進入控制單元。控制單元采用比較器實現,通過比較給定數值與輸入數值的范圍確定語法元素的種類,通過種類信號(selector)輸出選擇所采取的二進制化方式。
評論