H.264中二進制化編碼器的FPGA實現(xiàn)
1 引言
隨著數(shù)字電視及視頻會議的發(fā)展以及應用,H.264由于其更高的壓縮比、更好的圖像質(zhì)量和良好的網(wǎng)絡適應性而備受關注。
基于上下文的自適應二進制算術編碼(CABAC)則作為H.264編碼器系統(tǒng)的最后一環(huán),對整個編碼性能影響較大。CABAC充分考慮視頻流的相關性.能適應信號統(tǒng)計特性的變化,容易達到漸進性能,編碼速度較高,但復雜度大,這造成單純用軟件編碼難以達到很高的性能,特別是對于高清晰度視頻(HDTV)不能實現(xiàn)實時編碼,這就需要硬件加速或設計專門的硬件編碼電路。
目前,已有相應的硬件加速電路設計問世,但主要是對算術編碼部分進行設計,整體性能仍不夠理想。這里在對以往加速電路分析的基礎上,把握CABAC整個編碼原理,主要對其中的二進制化部分進行優(yōu)化,對相應的二進制化方法進行歸類優(yōu)化,采用并行運算的方案,最終在FPGA上以較優(yōu)的速度和資源實現(xiàn)硬件編碼。
2 二進制化原理
CABAC實現(xiàn)方案包括3個過程:語法元素的二進制化、上下文建模、自適應算術編碼,圖1是CABAC編碼器基本結構。
二進制化是CABAC編碼的第1步,提高二進制化模塊的編碼速度有助于整個系統(tǒng)速度的提高。在二進制化過程中,一個給定的非二進制語法元素被唯一地映射到一個二進制序列(Bin String),其中的每一位稱為Bin。
如果輸入為給定的二進制語法元素,則此步就可以越過,隨后的步驟由編碼模式?jīng)Q定。
評論