摘? 要:一種基于TI雙核處理器OMAP5910、采用嵌入式LINUX操作系統(tǒng)設計的移動媒體" title="移動媒體">移動媒體播放機,。
關鍵詞:OMAP5910? 媒體播放機? MP3? MPEG4
?
??? 隨著多媒體和通信技術的飛速發(fā)展,,人們對多媒體及其視頻應用的需求日益增長。其中MP3音頻及MPEG4視頻標準已經得到廣泛的應用,。研究和開發(fā)一種嵌入式多媒體播放機具有重要的現實意義和實用價值,。
??? OMAP是TI公司近年來提出的面向無線領域和移動媒體的開放式多媒體應用平臺。它具有獨特的雙核設計,,將一個ARM精簡指令處理器和TI C55x高性能,、超低功耗DSP相結合,為移動媒體處理提供了強大的動力,。目前OMAP處理器被廣泛應用于手持設備,、智能電話及PDA上。鑒于其對移動媒體的良好支持,,OMAP會在3G應用中取得更大的市場份額,。因此,開發(fā)OMAP平臺的媒體播放機,,支持目前主流的MP3,、MPEG4媒體解碼,對未來在無線通信領域研發(fā)基于OMAP平臺的媒體軟硬件應用具有參考作用,。
1 系統(tǒng)設計
??? 目前,,主流媒體文件格式包括AVI、MOV,、RM及WMV等,,其中AVI文件應用最為廣泛。AVI(Audio Video Interleaved)是一種RIFF(Resource Interchange File Format)文件格式,。通常情況下,,一個AVI文件可以包含多個不同類型的媒體流,典型的情況為MPEG4視頻流加MP3音頻流,。本文介紹一款選擇TI的OMAP 5910平臺設計的媒體播放機,,用來播放MP3音頻文件和AVI媒體文件。
1.1 系統(tǒng)硬件設計
??? 本多媒體播放機以TI OMAP 5910為核心,,通過OMAP 5910集成的總線接口及I/O端口控制器,,外擴存儲器、音頻,、視頻,、通訊和SD卡接口;通過FPGA擴展了以太網,、CF卡接口,;由CPLD進行板級芯片的管理,使其具備了完整的多媒體播放機的功能,。圖1為多媒體播放機的軟硬件結構圖,。
?
1.1.1 存儲器設計
??? 存儲器接口通信控制器(TC)管理的存儲器可分為片外和片內兩種。而TC又有兩個獨立的訪問片外的存儲器接口:
??? (1)快速片外存儲器" title="片外存儲器">片外存儲器接口(EMIFF):與片外SDRAM相連的快速同步接口,。在EMIFF接口上,,掛載SDRAM用于運行LINUX操作系統(tǒng)。
??? (2)慢速片外存儲器接口(EMIFS):與片外FLASH,、SRAM等存儲器相連的異步接口,。在EMIFS接口上,分別掛載SRAM和FLASH,。
1.1.2 板上CPLD和FPGA設計
??? (1)CPLD,。本系統(tǒng)選用XILINX的95144XL-TQ144作為整個系統(tǒng)的配置,。它負責系統(tǒng)上電后,對OMAP5910進行復位,,對整個板級的器件進行配置,,并作地址譯碼,以給存儲器分配存儲空間,。
??? (2)FPGA,。本系統(tǒng)擴展FPGA主要是為了擴展CF卡和以太網。
????CF卡有多種連接方式,,本設計選擇TRUE IDE方式,,在FPGA中映射出CF卡內部相應的寄存器。這樣,,通過控制FPGA內部的寄存器產生相應的時序,,寫入CF卡的內部控制器,完成相應的操作,。
??? 以太網選用AX88796L芯片,,它具有標準的ISA接口和10Mbps/100Mbps的速度,通過FPGA進行控制,,完全能滿足實際的需求,。
1.1.3 音視頻" title="音視頻">音視頻及人機接口設計
??? (1)LCD顯示。OMAP 5910內部集成了一個TFT LCD控制器,,有標準的LCD控制信號,。LCD電源控制、背光開關控制,、亮度控制,、觸摸屏信號等將由此系統(tǒng)中的CPLD供給。此設計的集成板選擇的是NEC LCD:NL2432DR22-12B,。
??? (2)鍵盤,。出于人機交互的需求,本系統(tǒng)擴展了3×4的鍵盤,。
??? (3)音頻接口,。本系統(tǒng)采用OMAP與TLV320AIC23外部音頻解碼器完成音頻系統(tǒng)的設計。通過OMAP的兩根I/O線模仿I2C時序來配置音頻芯片,,而McBSP1接口用作OMAP對音頻芯片傳輸數據,。
1.1.4 擴展接口設計" title="接口設計">接口設計
??? (1)存儲卡接口設計。多媒體播放機需要大數據量的存儲設備,,此設計選用SD卡,。OMAP 5910內部集成了SD卡控制器,通過對OMAP 5910 SD卡控制器編程,就能完成對SD卡的控制,。
??? (2)USB接口設計,。OMAP 5910內部集成了USB Host和USB Function的控制器和接口,方便了USB接口的擴展,。外接PDIUSBP11APW USB收發(fā)器,,將OMAP 5910 USB控制器的信號轉換成USB總線的信號,。
1.2 系統(tǒng)軟件設計
????軟件系統(tǒng)主要包括MP3,、MPEG4解碼算法" title="解碼算法">解碼算法,以及使用兩個解碼算法模塊的媒體播放機程序框架,。
1.2.1 MP3音頻解碼算法
??? MP3算法是根據人體心理聲學模型,,利用人耳的掩蔽效應,去除音頻信號中低于絕對聽閾和掩蔽域的信號,,并根據掩蔽域對剩余信號進行動態(tài)量化,,結合子帶編碼、變換編碼以及哈夫曼編碼等技術,,達到大幅縮減音頻文件的大小,,同時保證音質的目的。
??? MP3音頻解碼算法是根據ISO/IEC 11172-3標準編寫的,,并針對TI DSP55x進行部分優(yōu)化,。
1.2.2 MPEG4視頻解碼算法
??? MPEG4算法基于對象編碼,同時更加注重多媒體系統(tǒng)的交互性與靈活性,?;趯ο缶幋a使得對視頻對象的操控成為可能。MPEG4的一個特點是采用新的,、高效的壓縮算法使壓縮比提高,,它可以在速率相對較小的情況下,獲得高質量的畫面效果,。線性MPEG4視頻沒有對象交互的內容,,僅僅包含需要解碼的視頻流。
??? MPEG4解碼算法依照ISO/IEC 14496-2編寫,,其中計算過程集中在IDCT,、運動補償和VOP重建,優(yōu)化的重點也放在這三個過程,。針對TIDSP55x的特點,,具體優(yōu)化方案如下:
??? (1)使用TI提供的圖像視頻處理庫IMGLIB提高算法性能:獲得了IDCT、運動補償等算法實現的最高性能,。
??? (2)減少片外存儲器的讀寫:由于DSP對片外存儲器的讀寫速度相對較慢,,因此需要在內外部存儲器間建立DMA通道,由外部存儲器存放解碼幀數據,再由DMA通道把待解碼宏塊傳送到內部存儲器進行高速處理,。
??? (3)優(yōu)化代碼組織:在編寫代碼時,,注意循環(huán)展開、循環(huán)分布以及循環(huán)交換等優(yōu)化技術,,并且針對相應處理器選擇了最優(yōu)的數據類型,,使代碼效率達到最高。
1.2.3 媒體播放機軟件設計
??? 媒體播放機軟件設計鑒于OMAP獨特的雙核結構分成MPU端和DSP端兩大部分,。播放機程序就是運行在LINUX操作系統(tǒng)下的一個帶有圖形界面的應用程序,。該應用程序通過調用DSP設備的驅動程序,使得MPU與DSP雙方配合完成整個播放功能,。圖2為媒體播放機總體框圖,。
?
(1)MPU端軟件設計
??? 作為MPU的ARM核的任務為:建立底層操作系統(tǒng)和上層與用戶交互的GUI,完成AVI文件數據讀取解析以及控制DSP核音視頻解碼,。因此,,可將MPU端軟件工作分為以下幾部分。
??? ①LINUX嵌入式操作系統(tǒng)的移植,、設備驅動的編寫和移植,;
??? ②基于FLTK應用程序圖形用戶界面的設計。FLTK是一套小型化的多平臺GUI快速開發(fā)工具包,,它在LINUX平臺上的移植非常簡便,。使用FLTK開發(fā)的播放機圖形用戶界面如圖3所示。
?
??? ③AVI文件讀取解析,。在用戶選擇某一AVI文件后,,將文件打開,讀取文件的屬性信息,、索引信息及音視頻待解碼數據等,,播放完畢后關閉文件。
??? ④DSP音視頻解碼的控制,。應用程序通過DSP設備驅動,,啟動DSP核,開辟與DSP端交互的數據緩沖區(qū),,建立使用MAILBOX進行的通信機制,。實現了對DSP端解碼進程的控制。
(2)DSP端軟件設計
??? 在處理器的DSP端,,主要負責的工作是對音視頻數據的解碼,,并最終完成播放。這部分主要完成的工作是采用DSP/BIOS和Reference Frameworks 5對音視頻解碼播放進程進行有效組織并完成的同步機制,。其中包含的主要模塊為:視頻解碼進程,、音頻解碼進程、視頻播放進程、音頻播放進程,、音視頻同步控制等,。
1.3 系統(tǒng)關鍵設計總結
?? (1)基于TI OMAP5910的移動媒體播放機硬件平臺采用6層PCB設計,模塊完整,,可擴展性強,。
?? (2)參照TI TMS320 DSP ALGORITHMS STANDARD(XDAIS)設計了MP3及MPEG4解碼算法。
?? (3)為TI的OMAP5910處理器移植了嵌入式Linux操作系統(tǒng)及相關驅動程序,。
?? (4)設計了基于雙核OMAP5910平臺的媒體播放機軟件系統(tǒng),。該系統(tǒng)中的控制型任務由MPU完成,運算型的工作由DSP處理,,從而最大限度地發(fā)揮了處理器性能,。另外,,系統(tǒng)有效組織了存儲器,、DMA通道等資源,并對程序代碼應用DSP/BIOS和RF5也進行了組織,,使系統(tǒng)的實時性和可靠性得到了保證,。
2 測試與結論
??? 播放機的整體性能選用了四個較有代表性的AVI媒體文件來測試。測試結果如表1所示,。
?
??? 從測試結果看出,,對于測試文件1(176×144 128kbps)來說,音視頻可以流暢播放,,滿足欣賞要求,。當視頻尺寸加大時,由于運算量的加大,,導致視頻流暢度(幀率)下降,,同時影響到MP3的實時播放。對同樣視頻尺寸的文件,,在加大MP3速率時,,MP3解碼速度下降,同樣影響了視頻流暢度,。另外,,音視頻同步效果欠佳。
??? 總體來說,,媒體播放機工作正常,,CPU占用率略高。視頻解碼器性能不是太好,,對于畫面尺寸較大的文件難以實現實時播放,。因此,進一步對解碼模塊進行更細致優(yōu)化非常必要。
參考文獻
[1] 陳 喆,,張福洪.開放式多媒體應用平臺研究[J].杭州電子工業(yè)學院學報,,2002,3:41-44.
[2] International Standard.Information technology coding of?moving pictures and associated audio information:Audio,,1993.ISO/IEC 11172-3.
[3] International Standard.Information technology coding of?audio-visual objects:Visual,1998.ISO/IEC 14496-2.
[4] 鐘玉啄,,王 琪,賀玉文.基于對象的多媒體數據壓縮編碼國際標準MPEG-4及其校驗模型[M].北京:科學出版社,,2000.