| 研究生: |
劉承穎 Liu, Chen-Ying |
|---|---|
| 論文名稱: |
於異質多核心平台之Android Stagefright效能增益與動態串流調整機制 Android Stagefright Performance Enhancement and Dynamic Streaming Adjustment Mechanism on Heterogeneous Multicore Platform |
| 指導教授: |
黃悅民
Huang, Yueh-Min |
| 學位類別: |
碩士 Master |
| 系所名稱: |
工學院 - 工程科學系 Department of Engineering Science |
| 論文出版年: | 2011 |
| 畢業學年度: | 99 |
| 語文別: | 中文 |
| 論文頁數: | 103 |
| 中文關鍵詞: | Android 、PAC Duo SoC 、Stagefright 、效能 、串流 |
| 外文關鍵詞: | Android, PAC Duo SoC, Stagefright, Performance, Streaming |
| 相關次數: | 點閱:79 下載:2 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
近年來,越來越多的手持式裝置採用Android為作業系統,由於其開放的特性,提供了嵌入式開發者更大的空間,對於與日俱增的多媒體格式與越來越高的多媒體解碼能力需求,Google官方也正式於2010年12月,於釋出的Android 2.3 Gingerbread中,以Stagefright取代過去的Open Core多媒體框架,提高了多媒體框架的靈活性與可開發性。
而隨著網路技術的進步,多媒體串流服務亦成為現今行動服務不可或缺的一環,這也是Android2.3在功能上強化的重點之一,例如GTalk與Skype視訊串流等等,都是在Gingerbread被官方正式啟用,顯而易見的,這個功能的出現提高了影像解碼效能的需求,也是目前有部分手持式裝置透過硬體加速影像處理的原因,但對於同一多媒體包含數種多媒體串流來源可供選擇時,卻無法根據硬體條件與網路環境條件等條件選擇最適當的解析度與位元率進行播放,因而導致遲滯、影音不同步等問題。
本文以工研院晶片研發中心開發的PAC Duo SoC異質多核心平台為基礎,將Android 2.3 Gingerbread進行移植,同時將Dual DSP H.264解碼整合至Stagefright多媒體框架中,以更動架構的方式來達到播放效能的提升,進一步完成影音同步的目標。並針對多媒體串流設計一套動態串流調整機制,該機制會針對硬體條件、硬體運算能力以及網路頻寬限制等條件進行評估,並決策出對使用者而言較為適當之多媒體來源,有效提升整體的播放品質。
In recent years, numerous hand held devices use the Android as their operating system, and due to the fact it is open source, the system offers more opportunities for developers. As multimedia formats increase as well as need for higher multimedia codec functions, in Android 2.3 Gingerbread which Google officially released in December 2010, the Stagefright framework formally replaces the OpenCore multimedia framework which increases the flexibility and development potential of the entire framework.
With the growing of internet technology, multimedia streaming becomes an indispensable service escipally in mobile device services. It’s also an important improving in Android 2.3, such like GTalk, Skype etc, which are also formly applied in Gingerbread. Apparently, those applications increase requirement of video processing efficiency. That’s the reason why some mobile venders use hardware chips for video processing, but when media content comes with several multimedia sources, there is no related mechanism for making decisions from those sources.
This thesis uses the PAC Duo SoC heterogeneous core platform made by the Industrial Technology Research Institute as the basic hardware platform, porting Android 2.3 Gingerbread on the targetplatform, also integrating dual DSP H.264 decode function into Stagefright multimedia framework, futher to achieve audio and video synchronization. The thesis also focus on the part of multimedia streaming, by designing a dynamically streaming adjustment mechanism which can be used to decide a good multimedia source by considering hardware constraction, compute ability and network bandwidth, in order to providing better quality of service.
[1]Michael Barr, Anthony J. Massa, “Programming embedded systems: with C and GNU development tools”, O'Reilly Media, Inc., pp. 1–2., 2006
[2]Yueh-Min Huang, Jen-Wen Ding, Shiao-Li Tsao, “Constant time permutation: an efficient block allocation strategy for variable-bit-rate continuous media data”, VLDB Journal, vol. 8, no. 1, pp. 44-54, Jaunary 1999.
[3]Yueh-Min Huang, Yen-Hung Kuo, Yen-Ting Lin, Shu-Chen Cheng, “Toward interactive mobile synchronous learning environment with context-awareness service”, Computers & Education, vol. 51, no. 3, pp. 1205-1226, November 2008.
[4] “DSP”, http://en.wikipedia.org/wiki/Digital_signal_processing, retrieved on July 2011
[5]ITRI, “PAC Duo Design Report”, 2008
[6]ITRI, “Pac_duo_spec&features” , 2010
[7]ITRI, “PACDSP V3 Software Developer’s Manual Volume 1: Processor Architecture”, 2008
[8]ITRI, “EMDMA Controller User Manual”, 2008
[9]“What is Android?”, http://developer.android.com/guide/basics/what-is-android.html, retrieved on July 2011.
[10]“Android Supported Media Formats”, http://developer.android.com/guide/appendix/media-formats.html, retrieved on July 2011
[11]PacketVideo “OpenCORE Multimedia Framework Capabilities”, 2009
[12]“DVB Standard”, http://www.dvb.org/technology/standards/a154_DVB-3DTV_Spec.pdf, retrieved on July 2011
[13]“PVMFMediaClock Guide, ver 1.”, http://www.netmite.com/android/mydroid/1.6/external/opencore/doc/pvmf_media_clock_guide.pdf, retrieved on July 2011
[14]“H.264/MPEG-4 AVC”, http://en.wikipedia.org/wiki/H.264/MPEG-4_AVC, retrieved on June 2011
[15]Iain E. G. Richardson, “H.264 and MPEG-4 Video Compression”, John Wiley & Sons, England, 2004
[16]T. Wiegand, G. J. Sullivan, G. Bjontegaard, 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.
[17]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
[18]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
[19]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, no. 7, pp.587-597, 2003
[20]A. Rodriguez, A. Gonzalez, M.P. Malumbres, “Hierarchical parallelization of an h.264/avc video encoder”, Proceedings of International Symposium on Parallel Computing in Electrical Engineering, pp.363-368, September, 2006
[21]Z. Zhao, P. Liang, “Data partition for wavefront parallelization of H.264 video encoder”, Proceedings of IEEE International Symposium on Circuits and Systems , pp.2669-2672, May 2006
[22]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
[23]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
[24]C. Jike, N. Satish, B. Catanzaro, K. Ravindran, K. Keutzer, “Efficient Parallelization of H.264 Decoding with Macro Block Level Scheduling”, Proceedings of IEEE International Conference on Multimedia and Expo, pp.1874-1877, July 2007
[25]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
[26]W. Lee, 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
[27]A. Tirumala, F. Qin, J. Dugan, J. Ferguson, and K. Gibbs, "Iperf," http://dast.nlanr.net/Projects/Iperf/, retrieved on July 2011
[28]T. Lattner, D. Cook, and K. Gibbs, "Jperf,"http://dast.nlanr.net/projects/jperf/, retrieved on July 2011
[29]陳立群, “Analysis and Implementation of Power-Aware H.264 Decoding for Android OpenCORE on Heterogeneous Multicore Platform”, 成功大學, 2010
[30]“The Java Native Interface Programmer's Guide and Specification”, http://java.sun.com/docs/books/jni/html/start.html#769, retrieved on July 2011.