| 研究生: |
張紓萍 Shu-Ping Chang |
|---|---|
| 論文名稱: |
一應用於MPEG-4 AVC/H.264有效率且低成本之適應性可變長度編碼器設計之實現 Implementation of an Efficient and Low Cost CAVLC for MPEG-4 AVC/H.264 Video Coding Application |
| 指導教授: |
蔡宗漢
Tsung-Han Tsai |
| 口試委員: | |
| 學位類別: |
碩士 Master |
| 系所名稱: |
資訊電機學院 - 電機工程學系 Department of Electrical Engineering |
| 畢業學年度: | 96 |
| 語文別: | 英文 |
| 論文頁數: | 97 |
| 中文關鍵詞: | 適應性可變長度編碼器 、有效率 、低成本 |
| 外文關鍵詞: | h.264, CAVLC |
| 相關次數: | 點閱:20 下載:0 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
為了達到更好的壓縮率,包含一適應性可變長度熵編碼(CAVLC)器的無失真熵編碼器(Entropy encoder)被MPEG-4 AVC/H.264影像編碼器採用.相較於傳統的可變長度編碼器,適應性可變長度熵編碼器可以達到更好的編碼效率;但是相對的演算法的複雜度也比較高.另一方面,由於適應性可變長度熵編碼器存在著高度的資料相關性,因此在硬體實現方面也會變的比較複雜.同時,產出率也是一個重要的考量,特別是應用於處理高解析度的視訊影像.
隨著處理的視訊有越高的解析度,在編(解)碼時使用一個有效率的適應性可變長度熵編(解)碼器是很重要的.這份論文提出一個有效率而且低成本的適應性可變長度熵編碼器,可應用在MPEG-4 AVC/H.264相關的視訊編碼器.被提出的架構中,包含兩個主要的概念以及三個技術.第一個概念是,整合架構中掃瞄和編碼的部分;另外一個概念是利用一副輸入暫存器來達到每一個4x4方塊之間的管線功能.另外三個技術分別為,簡化七個使用於編碼非零值的表格,利用六種模式來決定目前的4x4方塊的參數nC以及減少用於nC產生器的記憶體使用量.這三個技術可以提高我們的編碼效率並且降低我們的成本.
並且,本文提出的適應性可變長度熵編碼器架構,已被燒錄到FPGA(型號為Xilinx Virtex-4 XC4VLX60),並且聯合H.264/AVC原始編碼C語言程式做驗證工作.編碼所產生的檔案(bitstream.264),經過H.264/AVC原始解碼C語言程式的解碼之後,所得到的檔案(bitstream.yuv)可以被成功的播放.
In order to achieve the higher compression ratio, Context-Based Adaptive Variable Length Coding (CAVLC) is adopted as one of entropy encoder in MPEG-4 AVC/H.264 [1], [2]. Compared with the traditional entropy encoder, CAVLC can achieve better coding efficiency, but the algorithm complexity is higher. On the other hand, because of the data dependency in CAVLC, it results a complex CAVLC encoding in hardware implementation. At the same time, throughput is the other concern in CAVLC, especially for higher resolution video such as HDTV.
Deal with higher resolution of video information, encoding (or decoding) with an efficient CAVLC encoder is important. In this paper, an efficient and low cost CAVLC encoder is proposed for video coding applications of MPEG-4 AVC/H.264. Two main concepts are proposed to increase the throughput. One is the combination of scan phase and coding phase; the other is the block-based pipelining by the associated input buffer. We also propose three schemes to speed up the coding efficiency as well as reduce the area cost. One is to simplify the seven LEV-VLCN tables used by level coding. Another is to generate the nC value according to six block modes. The last one is to reduce the memory size used by nC generator.
And the proposed CAVLC design is downloaded to FPGA (Xilinx Virtex-4 XC4VLX60), and co-simulation with the h.264 source JM10.1 encoder c program for further verification. The encoded bitstream file (bitstream.264) can be decoded by h.264 source JM10.1 decoder c program and played successfully.
[1] MPEG LA, http://www.mpegla.com.
[2] Iain E G Richardson, ‘Video Codec Design’, John Wiley & Sons, 2002
[3] Microsoft Windows Media 9 Series, http://www.microsoft.com/windows/windowsmedia/.
[4] J. V. Team, “Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification”, ITU-T Rec. H.264 and ISO/IEC 14496-10 AVC, May 2003.
[5] Information Technology—Coding of Audio-Visual Objects—Part 2: Visual,
ISO/IEC 14496-2, 1999.
[6] Video Coding for Low Bit Rate Communication, ITU-T Rec. H.263, 1998.
[7] Information Technology—Generic Coding of Moving Pictures and Associated Audio Information: Video, ISO/IEC 13818-2 and ITU-T Rec. H.262, 1996.
[8] A. Joch, F. Kossentini, H. Schwarz, T. Wiegand, and G. J. Sullivan, “Performance comparison of video coding standards using Lagragian coder control,” in Proc. ICIP, 2002, pp. 501–504.
[9] T. Wiegand, G. J. Sullivan, G. Bjøntegaard, and A. Luthra, “Overview of the H.264/AVC video coding standard,” IEEE Trans. Circuits Syst. Video Technol., vol. 13, no. 7, pp. 560–576, Jul. 2003.
[10] Y. Su and M.-T. Sun, “Fast multiple reference frame motion estimation for H.264,” in Proc. ICME, 2004, pp. 695–698.
[11] Y.-W. Huang, T.-C.Wang, B.-Y. Hsieh, T.-C.Wang, T.-H. Chang, and L.-G. Chen, “Architecture design for deblocking filter in H.264/JVT/ AVC,” in Proc. ICME, 2003, pp. I693–I696.
[12] T.-C. Chen, Y.-W. Huang, and L.-G. Chen, “Fully utilized and reusable architecture for fractional motion estimation of H.264/AVC,” in Proc. ICASSP, 2004, pp. V9–V12.
[13] Y.-W. Huang, B.-Y. Hsieh, T.-C. Chen, and L.-G. Chen, “Hardware architecture design for H.264/AVC intra frame coder,” in Proc. ISCAS, 2004, pp. II269–II272.
[14] T.-C. Chen, Y.-W. Huang, and L.-G. Chen, “Analysis and design of macroblock pipelining for H.264/AVC VLSI architecture,” in Proc. ISCAS, 2004, pp. II273–II276.
[15] T. Wiegand, G. J. Sullivan, G. Bjontegarard and A. Luthra, “Overview of the H.264/AVC Video Coding Standard ”, IEEE Transaction on Circuits and Systems for Video Technology, Vol. 13, NO. 7, pp. 506 – 576, July 2003.
[16] ITU-T Rec.H.264/ISO/IEC 14496-10, “Advanced Video Coding“, March 2005.
[17] Jar-Ferr Kevin Yang, 經濟部工業局電子工業人才培訓計畫, Advanced MPEG-4 Multimedia Techniques and Their Prospects, 台北, 2005
[18] Chen, T.-C.; Huang, Y.-W.; Tsai, C.-Y.; Hsieh, B.-Y.; Chen, L.-G.;“Architecture Design of Context-Based Adaptive Variable-Length Coding for H.264/AVC”, in Proc. TCSII’06, vol.53 Page(s):832 - 836, Sep. 2006.
[19] Chih-Da Chien; Keng-Po Lu; Yi-Hung Shih; Jiun-In Guo; “A high performance CAVLC encoder design for MPEG-4 AVC/H.264 video coding applications”, in Proc. ISCAS’06, Page(s):4, May, 2006.
[20] Min-Chi Tsai; Tian-Sheuan Chang; “High Performance Context Adaptive Variable Length Coding Encoder for MPEG-4 AVC/H.264 Video Coding”, in Proc. APCCAS’06, Page(s):586 – 589, Dec. 2006.
[21] Daeok Kim; Eungu Jung; Hyunho Park; Hosoon Shin; Dongsoo Har; “Implementation of High Performance CAVLC for H.264/AVC Video Codec ”, in Proc. the 6th International Workshop on System-on-Chip for Real-Time Applications, Page(s):20 – 23, Dec. 2006.
[22] Chuan-Yung Tsai; Tung-Chien Chen; Liang-Gee Chen; “Low Power Entropy Coding Hardware Design for H.264/AVC Baseline Profile Encoder”, in Proc. ICME’06, Page(s):1941 – 1944, July, 2006.
[23] Yeong-Kang Lai; Chih-Chung Chou; Yu-Chieh Chung; “A simple and cost effective video encoder with memory-reducing CAVLC ”, in Proc.ISCAS’05, Vol. 1 , Page(s):432 – 4351, May, 2005.
[24] Rahman, C.A.; Badawy, W.; “An Area Efficient Real-time CAVLC IP-Block towards the H.264/AVC Encoder”, in Proc. SIPS’06, Page(s):368 – 371, Oct. 2006.
[25] Tsai, An-Chao; Paul, Anand; Wang, Jia-Ching; Wang, Jhing-Fa; “Programmable Logic Array Design for H.264 Context-Based Adaptive Variable Length Coding”, in Proc. TENCON’06, Page(s):1 – 4, Nov.2006.
[26] Rahman, C. A.; Badawy, W.; “CAVLC Encoder Design for Real-Time Mobile Video Applications”, in Proc. TCSII’07, Vol. 54, Page(s):873 – 877, Oct. 2007.
[27] Silva, Thaisa; Vortmann, Joao; Agostini, Luciano; Bampi, Sergio; Susin, Altamiro; “FPGA Based Design of CAVLC and Exp-Golomb Coders for H.264AVC Baseline Entropy Coding”, in Proc. SPL’07, Page(s):161 – 166, Feb. 2007.