<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

基于DSP硬解碼的低成本高清屏媒系統

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

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

本文引用地址:http://dyxdggzs.com/article/273271.htm

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

  通過(guò)GStreamer的組件來(lái)提供基于硬件的視音頻編解碼功能,在數字視頻、影像、語(yǔ)音和音頻上可以支持H.264、MPEG4/2、H.263、VC1、JPEG、G.711/G.723、MP3、WMA等多種編解碼器。所以對于支持的格式,我們用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里面,可以直接調用。由于提供的是定點(diǎn)DSP缺少一個(gè)浮點(diǎn)輔助運算器,無(wú)法通過(guò)硬件實(shí)現矩陣轉置,只能通過(guò)軟件實(shí)現。

3 總結

  功耗的對外設支持比較全面,但計算能力較差;基于哈佛結構的DSP計算能力強大,但對外設的支持很弱。本文設計實(shí)現的基于OMAP3730的低成本高清屏媒系統,能夠充分發(fā)揮可編程C64+DSP的強大計算功能,兼顧了和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


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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>