簡易檢索 / 詳目顯示

研究生: 陳立群
Chen, Li-Chiun
論文名稱: Android OpenCORE之功率感知H.264解碼於異質多核心平台之分析與實現
Analysis and Implementation of Power-Aware H.264 Decoding for Android OpenCORE on Heterogeneous Multicore Platform
指導教授: 黃悅民
Huang, Yueh-Min
學位類別: 碩士
Master
系所名稱: 工學院 - 工程科學系
Department of Engineering Science
論文出版年: 2010
畢業學年度: 98
語文別: 中文
論文頁數: 65
中文關鍵詞: 功率感知H.264DVFSPAC Duo
外文關鍵詞: power-aware, H.264, DVFS, PAC Duo
相關次數: 點閱:68下載:1
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 近年來,越來越多手持裝置採用Android為作業系統,由於其開放的特性,讓開發者有很大的研發空間,面對需求越來越大的多媒體播放能力,其OpenCORE多媒體框架更提供了開發的基礎。
    此外,為了加強多媒體處理的能力,許多平台會利用DSP加強影像處理的效能。對於手持裝置這類以電池驅動的產品來說,省電一直是很多人探討的議題,面對這個難題,若能導入DVFS(Dynamic Voltage and Frequency Scaling)的機制,視處理器的負載調整合適的電壓及頻率,將可以節省許多電能,進而延長電池的壽命,也讓產品在市場上更有競爭力。
    本文以PAC Duo SoC異質多核心平台為基礎,於Android作業系統的OpenCORE多媒體框架下增加對Dual DSP H.264解碼的支援,並針對其解碼流程與特性設計了一套DVFS機制,最後驗證及分析此套機制在平行影像解碼之省電效果。

    In recent years, more and more mobile devices choose Android as their OS. Because of this open source project, developers get a free environment to do anything. Moreover, to meet the growing requirement for multimedia playback, Android’s OpenCORE multimedia framework also provides a great base for development.
    In addition, to deal with multimedia processing, some mobile devices may contain DSP to enhance performance. For such kinds of battery-driven devices, power saving is always an interesting issue. In this case, if we can integrate DVFS (Dynamic Voltage and Frequency Scaling) with video decoding to dynamically adjust suitable voltage and frequency according to processor’s loading, more energy could be saved. Thus the battery can come with better performance and make the product more competitive.
    This thesis first describes how to add support for Dual DSP H.264 decoding for Android OpenCORE on heterogeneous multicore platform PAC Duo SoC. Then it proposes a DVFS mechanism for the decoding flow according to its characteristics, verifies and analyzes this mechanism for its performance on energy reduction on parallel video decoding.

    中文摘要 I Abstract II 誌謝 III 目錄 IV 表目錄 VI 圖目錄 VII 第一章 緒論 1 1.1 研究動機 1 1.2研究目的 2 1.3章節提要 2 第二章 硬體平台介紹 4 2.1 PAC Duo SoC 4 第三章 軟體架構介紹 13 3.1 Android 13 3.1.1 Android 特色 13 3.1.2 Android系統架構 13 3.2 Android OpenCORE 16 3.2.1 OpenCORE Framework 16 3.2.2 OpenCORE Video Codecs 17 第四章 相關標準與研究 19 4.1 H.264 19 4.1.1 H.264簡介 19 4.1.2 H.264 Decoder 20 4.2 Dual DSP Parallel Decoding Algorithm for H.264 21 4.3 工研院 Dual DSP H.264 解碼器 25 4.4 DVFS 27 4.5 PAC Duo PM Driver 30 第五章 功率感知H.264解碼於OpenCORE之設計與實現 32 5.1 系統架構與設計實作流程 32 5.2 開發環境之建置 33 5.1.1 建立編譯環境 34 5.1.2 編譯Linux Kernel 34 5.1.3編譯Android 35 5.1.4 於PAC Duo SoC上運行系統 36 5.2 Dual DSP H.264解碼器與OpenCORE之整合 37 5.3 DSP1 PM Drive之實現 41 5.4 DVFS演算法之設計與實現 43 5.4.1 DVFS演算法之分析 43 5.4.2 DVFS演算法之實作 47 5.4.3 DVFS演算法之修正機制 48 5.4.4 DVFS演算法與OpenCORE解碼之整合 49 5.5 Player APK之實現 51 第六章 系統實作結果與分析 55 6.1測試環境 55 6.2測試結果與分析 55 6.2.1 樣本數對預測模型準確度的影響 55 6.2.2 DVFS level數對能量消耗的影響 56 6.2.3 Bitrate對能量消耗的影響 57 6.2.4 Deadline miss之分析 58 6.2.5 Decoding time之分析 59 第七章 結論與未來展望 62 參考文獻 63

    [1] ITRI, “PAC Duo Design Report”, 2008
    [2] ITRI, “PACDSP V3 Software Developer’s Manual Volume 1: Processor Architecture”, 2008
    [3] ITRI, “EMDMA Controller User Manual”, 2008
    [4] “What is Android?”, http://developer.android.com/intl/zh-TW/guide/basics/what-is-android.html, retrieved on June 2010.
    [5] PacketVideo “OpenCORE Multimedia Framework Capabilities”, 2009
    [6] “H.264/MPEG-4 AVC”, http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC, retrieved on June 2010
    [7] Iain E. G. Richardson, “H.264 and MPEG-4 Video Compression”, Chichester, England: Wiley, 2004
    [8] T. Wiegand, G. J. Sullivan, G. Bjøntegaard, A. Luthra, “Overview of the H.264/AVC video coding standard”, IEEE Trans. on Circuits and Systems for Video Technology, vol. 13, no. 7, pp. 560-576, July 2003.
    [9] G. J. Sullivan, P. Topiwala, A. Luthra, “The H.264/AVC Advanced Video Coding Standard: Overview and Introduction to the Fidelity Range Extensions,” SPIE Conf. on Applications of Digital Image Processing, Aug. 2004.
    [10] M. Horowitz, A. Joch, F. Kossentini, A. Hallapuro, “H.264/AVC Baseline Profile Decoder Complexity Analysis”, IEEE Trans. on Circuits and Systems for Video Technology, vol. 13, no. 7, pp. 704-716, July 2003.
    [11] T. Olivares, F. J. Quiles, P. Cuenca, L. Orozco-Barbosa, I. Ahmad, “Study of data distribution techniques for the implementation of an MPEG-2 video encoder”, Parallell and Distributed Computing Systems'99, pp.537-542, November 1999
    [12] A. Bilas, J. Fritts, J. Singh, “Real time parallel MPEG-2 decoding in software”, Proceedings of the 11th International Symposium on Parallel Processing, pp.197-203, April 1997
    [13] D. Farin, N. Mache, H.N. Peter, SAMPEG, “A Scene Adaptive Parallel MPEG-2 Software Encoder”, Proceedings of SPIE, vol.4310, pp.272-283, 2001
    [14] M. Flierl, B. Girod, "Generalized B Pictures and the Draft H.264/AVC Video Compression Standard”, IEEE Trans. on Circuits and Systems for Video Technology, vol.13, pp.587-597, 2003
    [15] A. Rodriguez, A. Gonzalez, M.P. Malumbres, “Hierarchical parallelization of an h.264/avc video encoder”, International Symposium on Parallel Computing in Electrical Engineering, pp.363-368, September, 2006
    [16] Z. Zhao, P. Liang, “Data partition for wavefront parallelization of H.264 video encoder”, IEEE International Symposium on Circuits and Systems , pp.2669-2672, May 2006
    [17] M. Roitzsch, “Slice-Balancing H.264 Video Encoding for Improved Scalability of Multicore Decoding”, Proceedings of the 7th ACM and IEEE international conference on Embedded software, pp.269-278 , September 2006
    [18] E. B. van der Tol, E. G. T. Jaspers, R. H. Gelderblom, “Mapping of H.264 Decoding on a Multiprocessor Architecture”, Proceedings of the 6th International Conference on Advances in Mobile Computing and Multimedia, pp.40-49 , November 2008
    [19] C. Jike, N. Satish, B. Catanzaro, K. Ravindran, K. Keutzer, “Efficient Parallelization of H.264 Decoding with Macro Block Level Scheduling”, IEEE International Conference on Multimedia and Expo, pp.1874-1877, July 2007
    [20] A. Azevedo, C. Meenderinck, B. Juurlink, A. Terechko et al., “Parallel H.264 Decoding on an Embedded Multicore Processor”, Proceedings of the 4th International Conference on High Performance and Embedded Architectures and Compilers, pp.404-418, Jan 2009
    [21] Lee Wonbok, K. Patel, M. Pedram, “GOP-Level Dynamic Thermal Management in MPEG-2 Decoding”, IEEE Transactions on Very Large Scale Integration (VLSI) Systems, vol.16, pp.662-672, 2008
    [22] Y. Inchoon, K.L. Heung, J.K. Eun, H.Y. Ki, “Effective Dynamic Thermal Management for MPEG-4 decoding”, International Conference on Computer Design, pp.623-628, Oct. 2007
    [23] C. Kihwan, K. Dantu, W. C. Cheng, M. Pedram, “Frame-based Dynamic Voltage and Frequency Scaling for a MPEG Decoder”, IEEE/ACM International Conference on Computer Aided Design, pp.732-737, Nov. 2002
    [24] C. Im, H. Kim, S. Ha, “Dynamic Voltage Scheduling with Buffers in Low-Power Multimedia Applications”, ACM Trans. Embedded Computing Systems (TECS), vol.3, pp.686-705, 2004
    [25] J. Pouwelse, K. Langendoen, H. Sips, “Dynamic Voltage Scaling on a Low-Power Microprocessor”, Proceedings of the 7th annual international conference on Mobile computing and networking, pp.251-259, July 2001
    [26] L. Ben, N. Eriko, D. Reshma, Y. Chansu, K. Myungchul, “Dynamic Voltage Scaling Techniques for Power Efficient Video Decoding”, Journal of Systems Architecture, vol.51, pp.633-652 2005
    [27] Mahesh Mehendale, “SoCs for Portable Video Applications: Architecture Level Considerations”, IEEE Electronic Design Processes Workshop, pp.213-217, April 2007
    [28] “Linear Regression”, http://en.wikipedia.org/wiki/Linear_regression, retrieved on July 2010
    [29] PacketVideo, “Media I/O Developer’s Guide”, 2009

    下載圖示 校內:2015-08-24公開
    校外:2020-01-01公開
    QR CODE