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