基于DSP硬解碼的低成本高清屏媒系統
一個(gè)簡(jiǎn)單的ogg播放器的管道如圖3所示,每個(gè)小框代表一個(gè)元素。源元素從文件源讀取數據發(fā)往ogg分解器。該分解器把復合數據流分解成視頻數據流和音頻數據流,然后分別發(fā)往視音頻解碼器。音頻解碼器接收到數據后進(jìn)行解碼后把數據發(fā)往音箱,視頻解碼器解碼后數據發(fā)往顯示,從而實(shí)現視音頻的同步播放。
本文引用地址:http://dyxdggzs.com/article/273271.htm基于DSP硬解碼就是把GStreamer管道中的耗費計算時(shí)間的元素替換成可以用DSP加速的元素。一個(gè)基于DSP硬解碼的管道如圖4所示,與上面的例子的不同在于,視頻解碼元素被替換成了TIViddec,音頻解碼元素被替換成TIAuddec,顯示元素被替換成了TIDmaiVideoSink.
OMAP3730通過(guò)GStreamer的組件來(lái)提供基于硬件的視音頻編解碼功能,在數字視頻、影像、語(yǔ)音和音頻上可以支持H.264、MPEG4/2、H.263、VC1、JPEG、G.711/G.723、MP3、WMA等多種編解碼器。所以對于OMAP3730支持硬解碼的格式,我們用GStreamer來(lái)播放,對于不支持硬解碼的格式我們采用Mplayer播放,因為Mplayer對各種格式的兼容性和穩定性比GStreamer要好一些。
2 基于DSP的轉屏
橫屏和豎屏各有優(yōu)點(diǎn),橫屏符合播放習慣,豎屏占用的地盤(pán)少。Linux系統在嵌入式系統上默認是以橫屏的方式啟動(dòng),要讓系統支持豎屏有兩種方法,一種是系統方法,一種是通過(guò)應用軟件的方法。系統的方法可以實(shí)現轉屏,但是在播放高清視頻時(shí),由于系統負載較大容易崩潰,所以我們采用應用軟件的方法實(shí)現DSP轉屏。應用軟件轉屏分成播放界面轉屏和視頻畫(huà)面轉屏兩部分。我們的應用軟件界面利用QT實(shí)現的,可以通過(guò)設定系統變量export QWS_DISPLAY=transformed:::rot90:0 實(shí)現界面轉屏。視頻畫(huà)面轉屏又分GStreamer和Mplayer播放兩種情況。對于GStreamer的播放,我們可以實(shí)現一個(gè)類(lèi)似于gsttividresize的轉屏元素,將該元素插入到管道中TIViddec和TIDmaiVideoSink之間實(shí)現轉屏。對于Mplayer的轉屏,可以在Mplayer源碼庫中vo目錄下新建一個(gè)畫(huà)面反轉插件,在播放視頻時(shí)通過(guò)命令字“-vo”強制使用畫(huà)面反轉插件.
TI將常用的DSP算法封裝成統一的名為C6Accel的軟件接口供開(kāi)發(fā)人員調用。按函數功能C6Accel又分為信號處理、圖像處理、數學(xué)運算3個(gè)庫。其中信號處理包括傅立葉變換、逆傅立葉變換、自相關(guān)、自相關(guān)、點(diǎn)乘、矩陣乘、FIR濾波、IIR濾波等功能;圖像處理包括sobel邊緣檢測、直方圖、卷積、相關(guān)度、中值濾波、矩陣運算、圖像編碼轉換等功能;數學(xué)庫主要包含四則運算、三角函數等功能。
畫(huà)面旋轉的本質(zhì)是一個(gè)矩陣轉置操作,可以通過(guò)DSP完成。在浮點(diǎn)DSP核上可以通過(guò)硬件實(shí)現矩陣轉置的功能,該功能被封裝在函數C6accel_DSPF_sp_mat_trans里面,可以直接調用。由于OMAP3730提供的是定點(diǎn)DSP缺少一個(gè)浮點(diǎn)輔助運算器,無(wú)法通過(guò)硬件實(shí)現矩陣轉置,只能通過(guò)軟件實(shí)現。
3 總結
功耗的ARM對外設支持比較全面,但計算能力較差;基于哈佛結構的DSP計算能力強大,但對外設的支持很弱。本文設計實(shí)現的基于OMAP3730的低成本高清屏媒系統,能夠充分發(fā)揮可編程C64+DSP的強大計算功能,兼顧了ARM和DSP的優(yōu)點(diǎn),在嵌入式數字視頻領(lǐng)域有廣泛的應用前景。
參考文獻:
[1] 張琦, 蘇宛新. 基于達芬奇技術(shù)的數字視頻系統設計與實(shí)現[J]. 微計算機信息, 2008, 24(23): 184-185
[2] 成嘉, 張文雄, 李善勁. 基于達芬奇技術(shù)的 H. 264 視頻編碼器的實(shí)現[J]. 電視技術(shù), 2008, 31(12): 34-36
[3] 彭啟琮. 達芬奇技術(shù)數字-圖像/視頻信號處理新平臺[M]. 北京:電子工業(yè)出版社,2008
[4] TI. TMS320C64x/C64x+ DSP CPU and instruction set reference Guide[EB/OL]:TI 官方網(wǎng)站 SPRU732A, 2005
[5] 周金模. 基于達芬奇技術(shù)的嵌入式實(shí)時(shí)視頻系統研究[J]. 華中師范大學(xué): 物理電子學(xué), 2008
評論