標題: | 使用ARM9處理器實現MPEG-4視訊之軟體解碼 Software Implementation of MPEG-4 Video Decoder on ARM9 Processor |
作者: | 吳和璋 Ho-Chang Wu 林大衛 David W. Lin 電子研究所 |
關鍵字: | 視訊解碼;MPEG-4;ARM |
公開日期: | 2006 |
摘要: | MPEG-4是個眾所週知的視訊標準,它對通訊傳播及互動式應用提供了具有彈性的視訊及音訊編碼。在本篇論文中,我們在ARM9微處理器上實現了MPEG-4視訊解碼。我們的參考軟體是MoMuSys,它是個包含MPEG-4 main profile編碼及解碼的軟體。
ARM處理器是個簡化指令集電腦(RISC)微處理器。為了實作以及有更好的表現,我們善用了ARM處理器的特色,例如條件執行以及一次讀取多個字(word)。
在我們的實作中,先用ARM開發工具(ADS)其中的編譯器和VTune來得到MoMuSys的特性資料。其中VTune是個為英特爾處理器而設計的軟體開發工具。接下來我們分析了這些特性資料並找出相當耗費時間的程式。在最佳化前,因為MoMuSys是個根據每個物件來解碼的解碼器,而我們只需要根據每張圖來解碼的解碼器,所以我們減少了程式的大小以及記憶體的使用。
在我們最佳化的過程中,我們先針對整個解碼的流程並根據離散餘弦轉換(DCT)的特性來跳過多餘的運算。然後根據各個相當耗費時間的程式的特性,使用了ARM處理器的特性以及適用於他們各自的方法來做最佳化。雖然我們沒有把整個解碼器做最佳化,我們的MPEG-4 simple profile解碼器已經達到了即時解碼的目標。跟別人的實作比較,我們實作的性能是有競爭性的。
在本篇論文中,我們先介紹了MPEG-4標準,還有ARM處理器的概述。然後討論了複雜度分析、實作策略、最佳化技巧、以及實驗結果。論文最後做一結論並提出未來可再繼續發展的主題。 The MPEG-4 standard is a public standard which provides a flexible video and audio coding solution for broadcast and interactive applications. In this thesis, we consider implementation of an MPEG-4 video decoder on the ARM9 system. Our reference software is the codec of MoMuSys which is a software for MPEG-4 main profile encoding and decoding. The ARM processor is a reduced instruction set computer (RISC) microprocessor. For implementation, the feature of the ARM processor, such as conditional execution and loading multiple words, are employed for better performance. In our implementation, we first get the profile of the MoMuSys code by using the compiler of the ARM Developer Suite (ADS) and VTune which is a software development tool for Intel processors. Then we analyze the profiles and find the time-critical functions. Before optimization, we reduce the code size and the usage of memory because the MoMuSys decoder is for object-based decoding and we implement frame-based decoder only. In our optimization, we first focus on the decoding flow and skip some computations according to the nature of discrete cosine transform (DCT). Then we employ the features of the ARM processor to optimize the time-critical functions according to their characteristics respectively. Although we do not optimize the whole decoder, our MPEG-4 simple profile decoder can achieve the goal of real-time decoding. Compared with other implementations, the performance of our implementation is competitive. In this thesis, we first introduce the MPEG-4 standard and give an overview of the ARM9 processor. Then the complexity analysis, implementation strategies, the optimization techniques, and the experiment results are discussed. Finally, we give a conclusion and point out some subjects for potential future work. |
URI: | http://140.113.39.130/cdrfb3/record/nctu/#GT009311654 http://hdl.handle.net/11536/78125 |
顯示於類別: | 畢業論文 |