新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于DSP硬解碼的低成本高清屏媒系統(tǒng)

基于DSP硬解碼的低成本高清屏媒系統(tǒng)

作者:張億 徐雪 賈瑞 時(shí)間:2015-05-14 來源:電子產(chǎn)品世界 收藏
編者按:設(shè)計(jì)并實(shí)現(xiàn)了一種基于OMAP3730的低成本高清屏媒系統(tǒng),能夠充分發(fā)揮可編程C64+DSP的強(qiáng)大計(jì)算功能, 利用硬件實(shí)現(xiàn)常用視頻格式的高清硬解碼播放,利用軟件兼顧不常有視頻格式的解碼播放,同時(shí)針對(duì)屏媒系統(tǒng)的特點(diǎn)利用DSP實(shí)現(xiàn)轉(zhuǎn)屏,達(dá)到在橫屏和豎屏上的自適應(yīng)播放的效果。

  一個(gè)簡(jiǎn)單的ogg播放器的管道如圖3所示,每個(gè)小框代表一個(gè)元素。源元素從文件源讀取數(shù)據(jù)發(fā)往ogg分解器。該分解器把復(fù)合數(shù)據(jù)流分解成視頻數(shù)據(jù)流和音頻數(shù)據(jù)流,然后分別發(fā)往視音頻解碼器。音頻解碼器接收到數(shù)據(jù)后進(jìn)行解碼后把數(shù)據(jù)發(fā)往音箱,視頻解碼器解碼后數(shù)據(jù)發(fā)往顯示,從而實(shí)現(xiàn)視音頻的同步播放。

本文引用地址:http://butianyuan.cn/article/273271.htm

  基于就是把GStreamer管道中的耗費(fèi)計(jì)算時(shí)間的元素替換成可以用加速的元素。一個(gè)基于的管道如圖4所示,與上面的例子的不同在于,視頻解碼元素被替換成了TIViddec,音頻解碼元素被替換成TIAuddec,顯示元素被替換成了TIDmaiVideoSink.

  通過GStreamer的組件來提供基于硬件的視音頻編解碼功能,在數(shù)字視頻、影像、語音和音頻上可以支持H.264、MPEG4/2、H.263、VC1、JPEG、G.711/G.723、MP3、WMA等多種編解碼器。所以對(duì)于支持的格式,我們用GStreamer來播放,對(duì)于不支持硬解碼的格式我們采用Mplayer播放,因?yàn)镸player對(duì)各種格式的兼容性和穩(wěn)定性比GStreamer要好一些。

2 基于DSP的轉(zhuǎn)屏

  橫屏和豎屏各有優(yōu)點(diǎn),橫屏符合播放習(xí)慣,豎屏占用的地盤少。Linux系統(tǒng)在嵌入式系統(tǒng)上默認(rèn)是以橫屏的方式啟動(dòng),要讓系統(tǒng)支持豎屏有兩種方法,一種是系統(tǒng)方法,一種是通過應(yīng)用軟件的方法。系統(tǒng)的方法可以實(shí)現(xiàn)轉(zhuǎn)屏,但是在播放高清視頻時(shí),由于系統(tǒng)負(fù)載較大容易崩潰,所以我們采用應(yīng)用軟件的方法實(shí)現(xiàn)DSP轉(zhuǎn)屏。應(yīng)用軟件轉(zhuǎn)屏分成播放界面轉(zhuǎn)屏和視頻畫面轉(zhuǎn)屏兩部分。我們的應(yīng)用軟件界面利用QT實(shí)現(xiàn)的,可以通過設(shè)定系統(tǒng)變量export QWS_DISPLAY=transformed:::rot90:0 實(shí)現(xiàn)界面轉(zhuǎn)屏。視頻畫面轉(zhuǎn)屏又分GStreamer和Mplayer播放兩種情況。對(duì)于GStreamer的播放,我們可以實(shí)現(xiàn)一個(gè)類似于gsttividresize的轉(zhuǎn)屏元素,將該元素插入到管道中TIViddec和TIDmaiVideoSink之間實(shí)現(xiàn)轉(zhuǎn)屏。對(duì)于Mplayer的轉(zhuǎn)屏,可以在Mplayer源碼庫(kù)中vo目錄下新建一個(gè)畫面反轉(zhuǎn)插件,在播放視頻時(shí)通過命令字“-vo”強(qiáng)制使用畫面反轉(zhuǎn)插件.

  TI將常用的DSP算法封裝成統(tǒng)一的名為C6Accel的軟件接口供開發(fā)人員調(diào)用。按函數(shù)功能C6Accel又分為信號(hào)處理、圖像處理、數(shù)學(xué)運(yùn)算3個(gè)庫(kù)。其中信號(hào)處理包括傅立葉變換、逆傅立葉變換、自相關(guān)、自相關(guān)、點(diǎn)乘、矩陣乘、FIR濾波、IIR濾波等功能;圖像處理包括sobel邊緣檢測(cè)、直方圖、卷積、相關(guān)度、中值濾波、矩陣運(yùn)算、圖像編碼轉(zhuǎn)換等功能;數(shù)學(xué)庫(kù)主要包含四則運(yùn)算、三角函數(shù)等功能。

  畫面旋轉(zhuǎn)的本質(zhì)是一個(gè)矩陣轉(zhuǎn)置操作,可以通過DSP完成。在浮點(diǎn)DSP核上可以通過硬件實(shí)現(xiàn)矩陣轉(zhuǎn)置的功能,該功能被封裝在函數(shù)C6accel_DSPF_sp_mat_trans里面,可以直接調(diào)用。由于提供的是定點(diǎn)DSP缺少一個(gè)浮點(diǎn)輔助運(yùn)算器,無法通過硬件實(shí)現(xiàn)矩陣轉(zhuǎn)置,只能通過軟件實(shí)現(xiàn)。

3 總結(jié)

  功耗的對(duì)外設(shè)支持比較全面,但計(jì)算能力較差;基于哈佛結(jié)構(gòu)的DSP計(jì)算能力強(qiáng)大,但對(duì)外設(shè)的支持很弱。本文設(shè)計(jì)實(shí)現(xiàn)的基于OMAP3730的低成本高清屏媒系統(tǒng),能夠充分發(fā)揮可編程C64+DSP的強(qiáng)大計(jì)算功能,兼顧了和DSP的優(yōu)點(diǎn),在嵌入式數(shù)字視頻領(lǐng)域有廣泛的應(yīng)用前景。

參考文獻(xiàn):

  [1] 張琦, 蘇宛新. 基于達(dá)芬奇技術(shù)的數(shù)字視頻系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J]. 微計(jì)算機(jī)信息, 2008, 24(23): 184-185

  [2] 成嘉, 張文雄, 李善勁. 基于達(dá)芬奇技術(shù)的 H. 264 視頻編碼器的實(shí)現(xiàn)[J]. 電視技術(shù), 2008, 31(12): 34-36

  [3] 彭啟琮. 達(dá)芬奇技術(shù)數(shù)字-圖像/視頻信號(hào)處理新平臺(tái)[M]. 北京:電子工業(yè)出版社,2008

  [4] TI. TMS320C64x/C64x+ DSP CPU and instruction set reference Guide[EB/OL]:TI 官方網(wǎng)站 SPRU732A, 2005

  [5] 周金模. 基于達(dá)芬奇技術(shù)的嵌入式實(shí)時(shí)視頻系統(tǒng)研究[J]. 華中師范大學(xué): 物理電子學(xué), 2008


上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉