研究生: |
陳憲諒 Xian-Liang Chen |
---|---|
論文名稱: |
H.264基線解碼器軟體最佳化 H.264 Baseline Decoder Software Optimization |
指導教授: |
吳仁銘
Jen-Ming Wu |
口試委員: | |
學位類別: |
碩士 Master |
系所名稱: |
電機資訊學院 - 通訊工程研究所 Communications Engineering |
論文出版年: | 2008 |
畢業學年度: | 96 |
語文別: | 英文 |
論文頁數: | 55 |
中文關鍵詞: | 解碼器 、最佳化 |
外文關鍵詞: | H.264, Decoder |
相關次數: | 點閱:2 下載:0 |
分享至: |
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
在嵌入式數位訊號處理器核心的系統平台上,為了讓應用程式能夠及時執行在數位訊號處理器核心上,必須要將軟體做最佳化處理。本論文採用的應用程式為H.264/AVC,是ITU-T提出的一種新的影像編碼標準,主要是利用一些新加入的特徵以及功能,可以達到高壓縮率的效果。但是因為如此,所以會增加一些運算的時間以及運算複雜度。正因如此,本系統平台無法及時播放H.264的原始程式碼,所以必須用軟體分析的方法將原始程式最佳化,加快程式執行速度與減少程式大小,以符合本系統平台所能提供的系統效能與記憶體資源,進而將程式載入平台上執行。
我們先用Visual C++此整合開發環境將H.264原始程式做統計數據分析,找出函式執行次數最多次與執行時間最長的一些函式,配以系統提供之內建函式庫,與刪除不必要的函式與變數,針對其執行次數最多與執行時間最長的程式將之做軟體最佳化處理,以減少數位訊號處理器的運算量。另外,為配合此H.264應用程式能夠在此嵌入式數位訊號處理器開發平台上正確執行,伺服器必須在軟體開發環境與硬體開發環境上交互模擬,如此才能確認軟體開發環境產生的二位元碼能夠在此數位訊號處理器核心上正確執行。最佳化之後,我們可以估計達到即時播放所需的DSP時脈,和真實的DSP硬體時脈做比較,朝能及時播放的目標邁進。
In order to execute the application programs in the embedded Digital Signal Processor (DSP) core system platform in real-time, we need to do the software optimization. In the thesis, we adopt H.264/AVC source code as our application program. H.264/AVC is a new video coding standard proposed by ITU-T, which can achieve high compression efficiency by adding new characteristic coding functions. Therefore, the H.264/AVC program will increase computation time and computation complexity. Due to the fact, the system platform can’t display H.264/AVC video in real-time. We need to optimize the source code by software analysis and optimization methods to increase the program speed and code size to meet the system platform performance and memory resource.
First we use Visual C++ to profile the H.264/AVC open source code to make the statistics about the hit counts of functions and the longest execution time by a function. We integrate the intrinsic libraries and remove unnecessary functions and variables and perform software optimization methods to optimize the H.264 source code. In additional, we have to co-simulate the software development environment and hardware develop environment to make sure that the DSP core can run the H.264 binary code generated by the software toolchain correctly. After optimizing the H.264 source code, we can estimate the required real-time DSP clock rate simulated by software and compare the actual DSP core to achieve the real-time objective.
[1] Video codec for audio visual services at 64 bits/s, ITU-T Rec. H.261, 1993.
[2] Video coding for Low Bit Rate Communication, ITU-T Rec. H.263, 1998.
[3] Information technology – Coding of moving pictures and associated audio for
digital storage media at up to 1.5Mbits/s – Part 2: Video, ISO/IEC
11172-2, 1993.
[4] Information technology – Generic Coding of Moving Pictures and Associated Audio Information: Video, ISO/IEC 13818-2, and ITU-T Rec. H.262, 1996.
[5] H.264 standard, DRAFT ISO/IEC 14496-10.
[6] T. Wiegand, G. J. Sullivan, G. Bjontegaard, A. Luthra, “Overview of the H.264/AVC Video Coding Standard”, IEEE Trans. Circuit Syst. Video Technol., vol. 13, pp560-576, July, 2003.
[7] Iain E. G. Richardson, “H.264 and MPEG-4 Video Compression, Video coding for Next-generation Multimedia”, WILEY, 2004.
[8] J□rn Ostermann, Jan Bormans, Peter List, Detlev Marpe, Matthias Narroschke, Fernando Pereira, Thomas Stockhammer, and Thomas Wedi, “Video coding with H.264/AVC: Tools, Performance, and Complexity,” Circuits and Systems Magazine, IEEE , Vol. 4 , Issue: 1 , First Quarter 2004.
[9] Shau-Yin Tseng, Chih-Hao Chang, Tien-Wei Hsieh, “Multimedia Programming on PAC SoC Platform”, SoC Technical Journal, ITRI, 2005.
[10] M. Horowitz, A. Joch, F. Kossentini, and A. Hallapuro, “H.264/AVC Baseline Profile Decoder Complexity Analysis,” IEEE Transaction on Circuits and Systems for Video Technology, vol. 13, no. 7, July 2003
[11] Xue Quan; Liu Jilin; Wang Shijie; Zhao Jiandong, “H.264/AVC Baseline Profile Decoder Optimization on Independent Platform” Wireless Communications, Networking and Mobile Computing, 2005. Proceedings. 2005 International Conference, Volume 2, Issue , 23-26, pp. 1253 – 1256, Sept. 2005
[12] X. Zhou, E. Li and Y.K. Chen, “Implementation of H.264 Decoder on General-Purpose Processors with Media Instructions”, Proc. of SPIE Visual Communications and Image Processing, vol. 5022, pp. 224-235, Jan. 2003.
[13] Yair Moshe, Nimrod Peleg, “Implementations of H.264 Baseline Decoder on Different Digital Signal Processors,” ELMAR, 2005. 47th International Symposium, Volume , Issue , 8-10, pp. 37 – 40, June 2005
[14] Vaidyanathan Ramadurai, Sanjay Jinturkar, Mayan Moudgill, John Glossner, “Implementation of H.264 Decoder on SANDBLASTER DSP,” Multimedia and Expo, 2005. ICME 2005. IEEE International Conference, 5pp. July 2005
[15] Juyup Lee, Sungkun Moon and Wonyong Sung, "H.264 Decoder Optimization Exploiting SIMD Instructions," IEEE Asia-Pacific Conference on Circuits and Systems, (APCCAS), December 2004.
[16] Jin Ho Han, Mi Young Lee, Younghwan Bae, and Hanjin Cho, “Application Specific Processor Design for H.264 Decoder with a Configurable Embedded
Processor,” ETRI journal, vol. 27, pp. 491-496, October 2005.
[17] Z. Zhou, J. Xin, and M.T. Sun, "Fast Motion Estimation and Inter Mode Decision for H.264/MPEG-4 AVC Encoding", accepted, to appear in Journal of Visual Communication and Image Representation (JVCIR) special issue on H.264/AVC, 2005.
[18] Jian Lou Jagmohan, A. H. D. Ligang Lu Ming-Ting Sun, “Statistical Analysis
Based H.264 High Profile Deblocking Speedup,” Circuits and Systems, 2007.
ISCAS 2007. IEEE International Symposium, pp. 3143-3146, May 2007.
[19] Richard Gerber, The software optimization Cookbook, Intel Press, October, 2002
[20] Joint Video Team Reference Software, Version 9.8 (JM9.8),
http://iphome.hhi.de/suehring/tml/download/