999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2015-04-29 00:00:00張億徐雪賈瑞
電子產(chǎn)品世界 2015年5期

摘要:設(shè)計并實現(xiàn)了一種基于OMAP3730的低成本高清屏媒系統(tǒng),能夠充分發(fā)揮可編程C64+DSP的強大計算功能,利用硬件實現(xiàn)常用視頻格式的高清硬解碼播放,利用軟件兼顧不常有視頻格式的解碼播放,同時針對屏媒系統(tǒng)的特點利用DSP實現(xiàn)轉(zhuǎn)屏,達到在橫屏和豎屏上的自適應(yīng)播放的效果。本文網(wǎng)絡(luò)版地址:http://www.eepw.c Olll.cn/article/273271.htm

關(guān)鍵詞:OMAP3730;gstreamer mplayer;DSPDOI:10.3969/j.issn.1005-5517.2015.4.012

隨著移動互聯(lián)技術(shù)的不斷發(fā)展和應(yīng)用,多媒體技術(shù)以其不可阻擋的趨勢滲入到人們的工作和生活中,數(shù)字視頻是多媒體技術(shù)里比較復(fù)雜的領(lǐng)域,如何在低成本、低功耗的環(huán)境中實現(xiàn)高質(zhì)量的數(shù)字視頻應(yīng)用是各家公司競爭的焦點。低功耗的ARM對外設(shè)支持比較全面,但計算能力較差;基于哈佛結(jié)構(gòu)的DSP計算能力強大,但對外設(shè)的支持很弱。OMAP3730是TI推出的一款A(yù)RM+D SP雙核異構(gòu)處理芯片,其中ARM核為1GHzCOTEX-A8, DSP核為800MHz的可編程C64+DSP。

本文設(shè)計并實現(xiàn)了一種基于OMAP3730的低成本高清屏媒系統(tǒng)、能夠充分發(fā)揮可編程C64+DSP的強大計算功能,利用硬件實現(xiàn)常用視頻格式的高清硬解碼播放,利用軟件兼顧不常有視頻格式的解碼播放。該系統(tǒng)還針對屏媒系統(tǒng)的特點利用DSP實現(xiàn)轉(zhuǎn)屏,實現(xiàn)在橫屏和豎屏上的自適應(yīng)播放。整個系統(tǒng)流程如圖1所示

1 視頻類型判斷和解碼

本文用GstDiscover7來判斷視頻文件的類型,GstDiscover是GStreamer庫提供的一個工具,接受輸入URI或者URI列表,返回它們的信息。GstDiscover返回的信息一般較多,我們重點關(guān)注返回信息中的視頻編碼以及視頻的分辨率,根據(jù)這些就能判斷該視頻是否可以硬件加速。GstDiscover的一個典型的輸出如圖2所示,給出了該文件的封裝信息video/webm;音頻信息:音頻編碼audio/x-vorbis,通道數(shù)2,比率48000;視頻信息:視頻編碼video/x-vp8,寬度854,高度480,幀率25。

具體的實現(xiàn)可以利用QT中的QProcess通過命令行的形式調(diào)用GstDiscover,使用QProcess的readAllStandardOutput函數(shù)讀取所有輸出結(jié)果。在輸出結(jié)果中用正則表達式查找關(guān)鍵字“audio:”和“video:”從而得到相關(guān)的視音頻信息。

GStreamer是一個基于管道的多媒體框架,能夠提供組件化的多媒體處理功能??蚣苤械乃械墓δ苣K都被實現(xiàn)成可以插拔的組件,并且在需要的時候能夠很方便地安裝到任意一個管道上,由于所有插件都通過管道機制進行統(tǒng)一的數(shù)據(jù)交換,因此很容易利用已有的各種插件“組裝”出一個功能完善的多媒體應(yīng)用程序。這種松耦合的架構(gòu)很容易實現(xiàn)編解碼的模塊化。TI的GStreamer插件使用DMAI來訪問底層硬件,使得DSP的應(yīng)用變得容易。GStreamer在運行時作為ARM處理器上的應(yīng)用程序,并通過使用DMAI來對DSP和加速模塊進行調(diào)用,以實現(xiàn)硬件編解碼。GStreamer的應(yīng)用實現(xiàn)了公共組建的最大可復(fù)用性,提高了系統(tǒng)框架的可移植性。

元素(elements)是GStreamer中最重要的概念,你可以把一組元素鏈接到一起組成一個鏈,然后讓數(shù)據(jù)流依次通過這個鏈中的每個元素。每個元素具有某個特定的功能,比如有的元素能夠從文件讀數(shù)據(jù),有的元素可以實現(xiàn)視頻解碼,有的元素負責把數(shù)據(jù)輸往聲卡等等。通過把元素串接在一起,可以實現(xiàn)管道。管道是用來實現(xiàn)特定任務(wù)的,比如媒體回放或者視頻捕捉。GStreamer默認提供了大量的元素,這使得開發(fā)大量媒體應(yīng)用成為可能。如果需要你也可以自己創(chuàng)建新的元素。接口(pads)是元素上數(shù)據(jù)輸入和輸出的地方,接口分兩種,輸入數(shù)據(jù)的接口(sink)和輸出數(shù)據(jù)的接口(src)。通過連接接口可以把兩個元素鏈接到一起,相連接的接口必須支持相同的數(shù)據(jù)格式。容器(bin)是一種特殊的元素,容器本來是一組連接在一起的元素的集合,但是對外容器表現(xiàn)的像一個元素一樣。管道(pipeline)是一種高層容器,為應(yīng)用層提供了總線機制,并實現(xiàn)元素響應(yīng)的同步化。

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

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

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

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

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

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

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

3 總結(jié)

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

主站蜘蛛池模板: 国模粉嫩小泬视频在线观看| 91美女视频在线观看| 亚洲一道AV无码午夜福利| 一级毛片免费高清视频| 亚洲天堂网在线观看视频| 国模私拍一区二区三区| 亚洲中文字幕23页在线| 欧美午夜在线播放| 日韩大片免费观看视频播放| 一级毛片高清| 国产浮力第一页永久地址| 欧美性爱精品一区二区三区| 国产精品福利导航| 亚洲国产欧美自拍| 欧美特黄一免在线观看| 国产成人免费手机在线观看视频| 国产偷国产偷在线高清| 国产一级在线观看www色| 中文字幕亚洲另类天堂| 午夜视频免费一区二区在线看| 久久久噜噜噜久久中文字幕色伊伊 | 99这里只有精品免费视频| 国产精品偷伦视频免费观看国产| 久久久黄色片| 特级精品毛片免费观看| 亚洲一级无毛片无码在线免费视频| 国产精品美女自慰喷水| 亚洲AV一二三区无码AV蜜桃| 91久久夜色精品| 免费啪啪网址| 呦视频在线一区二区三区| 国产精品亚洲天堂| 亚洲国产AV无码综合原创| 最新日本中文字幕| 女人18毛片一级毛片在线 | 久草视频中文| 国产亚洲精品无码专| 国产精品永久免费嫩草研究院| 国产性猛交XXXX免费看| 日本欧美一二三区色视频| 亚洲三级a| 国产性生交xxxxx免费| 国产欧美日韩免费| 999福利激情视频| 久久精品人人做人人爽97| 国产欧美视频综合二区| 国产精品冒白浆免费视频| 91香蕉视频下载网站| 114级毛片免费观看| 久996视频精品免费观看| 一本大道在线一本久道| 青青青视频91在线 | 色屁屁一区二区三区视频国产| 欧美日韩资源| 人妻少妇久久久久久97人妻| 亚洲一区二区日韩欧美gif| 国产亚洲欧美日韩在线一区二区三区| 亚洲欧洲日韩综合色天使| 国模粉嫩小泬视频在线观看| 亚洲欧美自拍中文| 亚洲欧美成人网| 色天天综合| 久久久久青草线综合超碰| 亚洲熟女偷拍| 亚洲第一天堂无码专区| 在线精品亚洲国产| 国产精品蜜臀| 国产尤物视频在线| 91娇喘视频| 久久这里只有精品国产99| 97超爽成人免费视频在线播放| 日韩精品欧美国产在线| 午夜色综合| 亚洲天堂视频在线观看| 波多野结衣无码AV在线| 综合亚洲网| 久久久久青草大香线综合精品| 亚洲一区二区三区在线视频| 女同国产精品一区二区| 亚洲精品波多野结衣| 午夜精品久久久久久久无码软件| 国产精品3p视频|