簡易檢索 / 詳目顯示

研究生: 陳濟銘
Ji-Ming Chen
論文名稱: 在雙核心平台上實現依據OpenMAX(TM)標準的媒體播放器
Realization of an OpenMAX(TM) standard media player on dual-core SoC platform
指導教授: 石維寬
Wei-Kuan Shih
口試委員:
學位類別: 碩士
Master
系所名稱: 電機資訊學院 - 資訊系統與應用研究所
Institute of Information Systems and Applications
論文出版年: 2007
畢業學年度: 95
語文別: 中文
論文頁數: 61
中文關鍵詞: 雙核心系統晶片OpenMAX標準媒體播放器
外文關鍵詞: dual core, SoC, OpenMAX standard, media player
相關次數: 點閱:4下載:0
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 隨著多媒體硬體平台的蓬勃發展,消費者對於這些硬體平台上,如視訊、音訊、影像,以及3D應用的需求不斷增加,使得這一類的產品,必須具備高效能的處理能力。為了滿足消費者的需求,更多的硬體解決方式被開發出來,在這眾多的架構體系帶來了一個挑戰,就是開發有效率的程式。在一般的情況下,這些硬體平台都會提供編譯器,但是透過編譯器要發揮硬體的所有潛能是很困難的,因此許多的軟體要移植到新的平台上使用時,都會針對這個平台來重新編寫以及最佳化。這個結果,將直接導致新產品的發表延遲、開發成本的增加以及產品質量的降低,最後在多媒體市場不斷的擴張的同時,使得自身的創新與發展能力不斷地減弱。
    為了解決這個問題,Khronos組織成立OpenMAX□工作小組,為多媒體應用程式發表了一整套標準的應用程式介面。這一個開放標準的宗旨在於,降低多媒體軟體移植到新處理器或新架構硬體的所需成本以及複雜度。而其主要的優勢,在於能相容不同平台上的多媒體應用程式,不同的程式要使用相同的函數則不需要重寫,使得軟硬體的開發者能更專心致力於開發不同性能的產品。
    在本篇論文所探討的,主要就是在雙核心的硬體平台上,如何使用OpenMAX□整合層的應用程式介面,來整合底層的MP3函式庫以及ALSA函式庫,並且使用這些應用程式介面,來開發上層的播放程式。透過系統的實作,來探討OpenMAX□所強調的可攜性,並且觀察使用OpenMAX□的開發方式,造成多少Overhead,評估使用OpenMAX□開放標準,對於軟體的效能上帶來哪些影響。


    Because development of multimedia platform is flourishing, the consumers’ demands for vedio, audio, image and 3D applications on the hardware platform increases constantly. This class of product requires high performance processing.In order to satisfy the consumers’ demands, a variety of hardware solutions has evolved. One of the chanllenges with all of these architectural variants is to develop efficient code. In general, these hardware platforms shall provide compilers. But it is difficult to bring the abilities of the hardware into full play only via compiler. When much software will be ported to new platforms, the codes of softwares must be re-written and optimized. The effect of this inefficiently in implementation is to delay the introduction of new products, increase development costs and reduce product quality. Eventually, it will slow down innovation and development in the multimedia domain at a time when market demand is growing.
    In order to solve this issue, the OpenMAX□ Working Group has been formed by the Khronos Group, to define a set of standard, open APIs for multimedia applications. The goal of this open standard is to reduce the cost and complexity of porting multimedia software to new processors and architectures. The advantage of this open standard is to be compatibly with multimedia applications on different platforms. The comman functions that different programs use will not be re-written. It will be possible for software and hardware developer community to focus on differentiating their products.
    The goal of this paper is to use OpenMAX□ IL APIs to integrate MP3 decoder library and ALSA library into player developed via these APIs on dual-core SoC platform. We will research the portability stressed by OpenMAX□ through the system implementation, and to observe the overheads of implementation via OpenMAX□ IL API. Eventually, to estimate what effects of software performance were caused by using OpenMAX□ IL APIs.

    中文摘要 I Abstract II 致謝 III 目錄 IV Figure List: VII Table List: VIII 第一章 緒論 1 1.1 Background 1 1.2 Motivation 1 第二章 OpenMAX□ IL 與 PACDSP 的介紹 2 2.1 OpenMAX□ Overview 2 2.2 OpenMAX□ IL 4 2.2.1 Key Features and Benefits of OpenMAX□ IL 4 2.2.2 The Interface 5 2.2.2.1 Core API 5 2.2.2.2 Component API 5 2.2.3 Architectural Overview 6 2.2.4 System Components 7 2.2.5 Component States 7 2.2.6 Component Architecture 8 2.2.7 Communication Behavior 9 2.2.8 Tunneled Buffer Allocation and Sharing 10 2.2.8.1 IL Client Component Setup 11 2.2.8.3 Protocol for Using a Shared Buffer 12 2.2.8.4 Component Transition from Loaded to Idle State without Sharing 13 2.2.9 Events and Callbacks 13 2.2.10 Buffer Payload 13 2.2.11 Resource Management 15 2.2.11.1 Need for Resource Management 15 2.2.11.2 Component Priorities 16 2.2.11.3 Hardware Vendor-Specific Resource Manager 16 2.3 Dual Core System Architecture 16 2.3.1 System Architecture 17 2.4 PAC DSP 18 2.4.1 PAC DSP Architecture 18 2.4.2 PAC DSP Kernel 20 2.4.2.1 Program Sequence Control Unit 20 2.4.2.2 Scalar Unit 20 2.4.2.3 VLIW Data Path 20 第三章 系統架構與資料結構 22 3.1 OpenMAX Types 22 3.1.1 Enumerations 22 3.1.2 Structures 25 3.1.2.1 OMX_BUFFERHEADERTYPE 25 3.1.2.2 OMX_CALLBACKTYPE 26 3.1.2.3 OMX_PARAM_BUFFERSUPPLIERTYPE 27 3.1.2.4 OMX_PARAM_PORTDEFINITIONTYPE 28 3.2 OpenMAX IL Data APIs 28 3.2.1 OMX_AUDIO_PARAM_MP3TYPE 29 3.2.2 OMX_AUDIO_PARAM_PCMMODETYPE 29 3.3 OpenMAX Core Data Structure 29 3.3.1 OMX_SendCommand 30 3.3.2 OMX_GetParameter 30 3.3.3 OMX_SetParameter 30 3.3.4 OMX_UseBuffer 31 3.3.5 OMX_AllocateBuffer 31 3.3.6 OMX_EmptyThisBuffer 32 3.3.7 OMX_FillThisBuffer 33 3.3.8 OMX_GetHandle 33 3.4 Component Data Structure 33 3.4.1 stComponentType 34 3.4.2 base_component_PrivateType 35 3.4.3 omx_pacmp3dec_component_PrivateType 35 3.5 IL Client Data Structure 36 3.6 Program Flow and Data Flow 36 3.6.1 Component Initialization 37 3.6.1.1 Non-tunneled Component Initialization 37 3.6.1.2 Tunneled Component Initialization 38 3.6.2 Component De-initialization 40 3.6.2.1 Non-tunneled De-initialization 41 3.6.2.2 Tunneled De-initialization 41 3.6.3 Data Flow 42 3.6.3.1 Non-tunneled Data Flow 42 3.6.3.2 Tunneled Data Flow 43 3.6.4 Port Disablement and Enablement 44 3.6.4.1 Non-tunneled Ports Disablement and Enablement 44 3.6.4.2 Tunneled Ports Disablement and Enablement 45 3.6.5 Resource Management 46 第四章 系統設計與實作 50 4.1 PAC MP3 Decoder Component 51 4.2 MP3 Decoder 52 4.3 ALSA Sink Component 54 4.4 IL Client Test Program 56 第五章 實驗環境與數據分析 58 5.1 Experiment Environment 58 5.2 Statistic Analysis 59 第六章 結論與未來展望 60 6.1 Conclusions 60 6.2 Future Works 60 Reference 61

    [1] The Khronos Group Inc., “OpenMAX Integration Layer Application Programming Interface Specification Version 1.0”, December 2005

    [2] Giulio Urlini, “Bellagio OpenMAX Component Writer’sGuide”, July 2006

    [3] D. Melpignano, P. Sen, “Using OpenMAX Integration Layer with GStreamer”, April 2006

    [4] Kevin Butchart, Viviana Dudau, “OpenMAX and Symbian OS – Using the OpenMAX Integration Layer”, April 2006

    [5] The Khronos Group Inc., “OpenMAX Development Layer API Specification Version 1.0”, June 2005

    [6] Texas Instruments Inc., “OpenMAX IL Dshow Filter Integration”, April 2006

    [7] Amnon Ptashek, Weijun Jiang, “Portability of Mobile Multimedia Application Platforms with a Horizontal Layered Architecture”, 2006

    [8] STC/E100, “PACDSP v3.0: PACDSP Software Programming Guide”, 2006

    [9] PAC SoC Platform White Paper, December 2004

    [10] Shau-Yin Tseng, Chih-Hao Chang, Tien-Wei Hsieh “Multimedia Programming on PAC SoC Platform”, 系統晶片 002期

    [11] ARM Limited, “Versatile Platform Baseboard for ARM926EJ-S User Guide”, 2003-2004

    [12] Jian-Liang Luo, “Implementation and Optimization of H.264 baseline profile decoder on PACDSP dual core platform”, pages 37-45, July 2006

    [13] http://www.alsa-project.org/alsa-doc/alsa-lib/index.html

    [14] http://www.khronos.org/openmax/

    無法下載圖示 全文公開日期 本全文未授權公開 (校內網路)
    全文公開日期 本全文未授權公開 (校外網路)

    QR CODE