Performance evaluation of H.264 under different optimization settings on an embedded platform
許望毅、王欣平
E-mail: 322114@mail.dyu.edu.tw
ABSTRACT
Merging of mobile computing and multimedia application opens many new opportunities for industry of information technology and benefits our daily life. Nevertheless, the computing resources of mobile devices are restricted that makes implementing multimedia applications a challenging task. Code optimization regarding to computing latencies, memory space, and power consumption are curtail in design. This thesis focus on tuning H.264 codes using different gcc optimization settings on an ARM based embedded platform and analysis theirs’ performance. A board level profiling is conducted on the JM22 base-line design. The profiling identified function get_block_luma() being the most frequent function. The function is then compiled and optimized under different gcc settings. The generated codes were executed on the board and tested for performance separately. The tests show gcc setting O1 provides both performance and cost advantages. In average, using O1 will generate code that XX times faster and XX smaller in code size. These outcomes would be beneficial for future implementing of multimedia applications on mobile devices.
Keywords : Embedded Systems、Compiler、H.264
Table of Contents
封面內頁 簽名頁 授權書iii 中文摘要iv ABSTRACTv 誌謝vi 目錄vii 圖目錄ix 表目錄xi 第一章 前言1 1.1 簡介1 1.2 研究動機1 1.3 研究方法2 1.4 論文架構3 第二章 相關研究背景4 2.1 H.264簡介4 2.2 畫面間預測與編碼5 2.2.1 使用不同的方塊大小與形 狀6 2.2.2 高精準度的次像素動作向量7 2.2.3 多個參考畫面7 2.2.4 去方塊濾波器7 2.3 整數轉換8 2.4 量化掃瞄9 2.5 熵編碼10 2.5.1 可變長度編碼10 2.5.2 前文為基礎的二進位算數編碼11 第三章 環境架構與建置12 3.1 軟硬體環境架構12 3.2
UrJTAG14 3.3 uclinux18 3.4 uclinux編譯選項分析18 3.5 NET-START!實驗板27 3.6 環境建置流程31 3.6.1 燒寫bootloader32 3.6.2 kernel的建置與燒錄36 3.6.3 檔案系統的建置38 3.6.4 程式執行結果39 第四章 實驗結果分析與比較41 4.1 軟體函式測 描41 4.1.1 Gprof41 4.1.2 Oprofile43 4.1.3 測試檔案的建置44 4.2 實驗結果48 4.3 實驗結果分析與比較56 第五章 結論59 參考 文獻61
REFERENCES
[1]Joint Video Team(JVT) of ISO/IEC MPEG and ITU-T VCEG ,International Standard of Joint Video Specification (ITU-T Rec. H.264 ISO/IEC 14496-10AVC) , JVT-G050, March 2003.
[2]Learn about H.264 video compression.
[Online]. Available: http://www.vcodex.com/h264.html.
[3]戴顯權、陳瀅如、王春清編著,多媒體通訊,紳藍出版社,2003年5月。
[4]孫清華譯,jtag測試原理與應用,全華科技圖書股份有限公司,2000年7月。
[5]陳新武、李建國,JTAG邊界掃瞄單元改進方案,信陽師範學院物理電子工程學系,華中科技大學圖像識別與人工智能研究所 IC設計 中心2005年7月。
[6]IEEE 1149.1 (JTAG) Boundary-Scan Testing ,version 6.0,June,2005.
[7]Kurt Wall、William von Hagen著,鄧偉敦譯,GCC完全指南,博碩文化,2005年4月。
[8]GCC, GCC 2.95.3 manuals.
[Online].Available: http://gcc.gnu.org/onlinedocs/ [9]Make GNU Make Manual.
[Online].Available: http://www.gnu.org/software/make/manual/html_node/index.html.
[10]4510B BOOTLOADER/uCLinux實現與分析.
[Online] . Available: http://www.dzjs.net/html/yuanmaziliao/2006/1027/922.html [11]Paul Wagner, Interconnect Testing with Boundary Scan,1987,IEEE.
[12]Microsoft PowerPoint - 5_Boot Loader of Creator S3C4510 .
[Online] . Available: http://os.csie.ncku.edu.tw/drupal/sites/default/files/23 /5_Boot%20Loader%20of%20Creator%20S3C4510.pdf [13]NET-START! SOC 設計系統開發平台.
[Online] . Available: http://www.openfoundry.org/index2.php?option=com_docman& task=doc_view&gid=277&Itemid=1.
[14]NET-Start! User’s Guide, Revision: 2.3a, Nov, 2003.
[15]UrJTAG, Universal JTAG library, server and tools.
[Online] .Available: http://UrJTAG.sourceforge.net/book/index.html.
[16]Gprof, The GNU Profiler.
[Online].Available: http://www.cs.utah.edu/dept/old/texinfo/as/gprof_toc.html [17]Oprofile,OProfile manual.
[Online].Available: http://www.daimi.au.dk/~sandmann/sysprof/ [18]Sim-panalyzer , The Simple Scalar-Arm Power Modeling Project[Online].Available: http://www.eecs.umich.edu/~panalyzer/.
[19]Sim-Panalyzer 2.0 Reference Manual.
[20]張峻銘,探討程式在不同編譯最佳化對快取記憶體設計空間之影響—以H.264為例,私立大葉大學碩士論文,民國97年6月。