透過您的圖書館登入
IP:18.217.203.172
  • 學位論文

可應用於超高畫質電視之 H.264 CABAC 編碼器彈性硬體架構設計與實現

Flexible Architecture Design and Implementation of H.264 CABAC Encoder for UHDTV Application

指導教授 : 陳良基

摘要


在這篇論文中提出了能支援超高畫質電視 (UHDTV, 7680×4320) 之H.264 前文適應性二位元算數編碼器 (CABAC) 的彈性架構設計。由於現今多媒體應用不僅僅往越來越大的畫面、越來越高的解析度發展,同時也被賦與了許多的功能性。高解析度電視、高畫質攝影機及立體影像電視等應用在在加深了多媒體系統晶片設計的困難程度。而在日益競爭且產品生命周期不斷縮短的今天,如何快速且有效率地設計、重覆利用,甚至是能自動化產生出符合應用規格的多媒體系統晶片絕對是個日益重要的挑戰。 在高畫質多媒體系統中,運算量最複雜的部份就是視訊壓縮編碼器。而在分析過視訊編碼器中的主要運算單元以及現有的研究狀況之後,我們發現前文適應性二位元算數編碼器不僅是未來更高解析度、更高壓縮率、更新的視訊壓縮標準所會採用的熵編碼 (Entropy Coding) 壓縮方式,也同時是最不利於平行處理與彈性架構的運算單元。而現有的研究文獻尚無由系統層面分析運算特性並探討高處理量且高彈性硬體架構的設計。有鑒於此,本論文選擇從前文適應性二位元算數編碼器的彈性架構與自動產生器開始,往可自動化產生多媒體系統晶片的目標前進。 前文適應性二位元算數編碼器的運算可分為兩個主要部份,二位元暨內文模化 (Binarization and Context Modelling, BCM) 與二位元算數編碼 (Binary Arithmetic Coding, BAC)。在二位元暨內文模化方面,藉由語法元素 (Syntax Element, SE) 的分析,我們針對影響處理量最大的幾個語法元素做進一步的平行處理,並設計出高彈性的硬體架構。同時亦提出能保證每個時脈都能提供資料給運算單元的控制電路。配合所設計的高彈性平行硬體架構,便可達到超高的資料輸出量。在二位元算數編碼方面,我們從單倍處理器開始,藉由平衡整條處理管線的各部份設計出高效率的電路,並接著擴展到彈性的多倍處理器架構。除此之外,我們提出的內文群組自動分配 (Content-Based Auto Grouping, CBAG) 演算法更進一步地擴大可運用的範圍並增加電路使用的效率。 由於二位元暨內文模化器與二位元算數編碼器的資料處理速率既不相同且不穩定,直接連接會造成嚴重的處理量損失。我們針對此提出高彈性的差異處理量之緩衝與資料合併器 (Various Throughput Buffer and Packer, VTBAP) 以順暢地連結這兩個主要運算單元。 這些高彈性架構更進一步被整合至前文適應性二位元算數編碼器自動產生器 (CABAC Auto Generator) 中。其可依據使用者所定下的不同規格,自動產生出符合且面積成本最小的處理器。在 0.13 μm 雙極型互補金屬氧化物半導體的製程下,我們設計的自動產生器最高能產生出每時脈處理 4.86 位元資料量,每秒處理 1234 百萬位元資料的處理器,足夠支援即時性超高畫質電視的應用。 由設計出的自動產生器所產生的前文適應性二位元算數編碼器,也已經成功地整合到一個包含H.264 視訊編碼器的完整多媒體系統中並實作成晶片。

並列摘要


In this dissertation, a flexible CABAC encoder architecture for H.264/AVC encoder applications up to UHDTV (7680x4320) resolution is proposed. Stages of CABAC encoding are analyzed and a generalized CABAC architecture is designed. The parallel binarizer and context modeler (BCM) and multi-symbol binary arithmetic coder (MSBAC) is coupled together by a variable throughput buffer and packers (VTBAP) for throughput matching. Syntax elements (SEs) are analyzed thoroughly and various SEs processing engines are proposed to achieve parallelism for performance with high degree of ?exibility for CABAC designers. Special attentions have been paid to the feeding of SEs into BCM that is not discussed in most other works. Without the bubble-free access control and the bubble-free feeding of SEs, the high throughput of BCM and MSBAC engine will not be possible to integrate with the rest of the encoder engine, otherwise external pre-processing has to be applied for SEs feeding. Flexibilities of architecture and level of parallelism are incorporated into a CABAC auto generating scheme that can produce the CABAC configurations according to user requirements. Towards a 0.13 um CMOS technology, the highest performance design generated by the automatic generation scheme can encode 4.86 bins per cycle on the average, and it provides a throughput of 1234 Mbin/s. The proposed CABAC encoder architecture has been integrated into a H.264 encoder of a high performance mobile multimedia SoC successfully.

並列關鍵字

UHDTV H.264/AC CABAC Parallel architecture Multi-symbol

參考文獻


[3] Video Coding for Low Bit Rate Communication, ITU-T Rec. H.263, 1998.
[5] A. Joch, F. Kossentini, H. Schwarz, T. Wiegand, and G. J. Sullivan, “Performance comparison of video coding standards using Lagragian coder control,” in Proceedings of IEEE International Conference on Image Processing (ICIP’02), 2002, pp. 501–504.
[6] T. Wiegand and B. Girod, Multi-Frame Motion-Compensated Prediction for Video Transmission, 2002.
[8] T. Wedi and H.G. Musmann, “Motion- and aliasing-compensated prediction for hybrid video coding,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, pp. 577–587, July 2003.
[12] D. Marpe, H. Schwarz, and T. Wiegand, “Context-based adaptive binary arithmetic coding in the H.264/AVC video compression standard,” IEEE Transactions on Circuits and Systems for Video Technology, vol. 13, no. 7, pp. 620–644, July 2003.

延伸閱讀