MIPS架構(gòu)的醫(yī)院智能導(dǎo)診系統(tǒng)設(shè)計
SMP8654分層服務(wù)模型如圖3所示。最下面的一層是相關(guān)硬件,如CPU、視頻解碼器、音頻解碼器、并行I/O接口。中間的一層MRUA(Movim iento rectiline unitormemente acelerado)提供了訪問這些硬件的抽象接口,另外DCC(Decoding Chain Control)是通過訪問MRUA的接口實現(xiàn)對視頻播放控制、音頻解碼的操作。最頂層是軟件播放器,可以基于DCC實現(xiàn)網(wǎng)絡(luò)流媒體應(yīng)用,或者定制自己的軟件播放器。
3.2 利用圖形加速引擎優(yōu)化文字和高清圖片顯示
DCC是為應(yīng)用程序提供的編程接口,而MRUA面向底層硬件,為上層的DCC提供硬件抽象和功能接口。在深入理解了DCC是如何控制硬件顯示文字、處理圖片以及播放視頻之后,智能導(dǎo)診系統(tǒng)利用MRUA庫函數(shù)直接操作硬件特性,加快字體顯示、圖片處理效率,以及提升視頻播放等各方面性能。DCC提供的多個對象為應(yīng)用程序完成實際的功能提供函數(shù)接口,這些對象包括:
①Route。可以將Route理解為某個具體的媒體內(nèi)容(Content)到硬件視頻混合器(Hardware Video Mixer)的數(shù)據(jù)通道,它只負(fù)責(zé)把具體的媒體內(nèi)容傳送到硬件視頻混合器中。
②Surface??梢詫urface理解為視頻對象層(Video Object layer)。視頻信息,屏幕顯示以及字幕組成了一個完整的Content。在每一個Route對象中,通常會存在相同類型的多個Surface對象。
③VideoSource??梢詫ideoSource理解為一個專為Surface生成圖片的生產(chǎn)者,這個生成者可能是一個硬件視頻解碼器(Hardware MPEG decoder)。
④AudioMixer??梢詫udioMixer理解為一個類似Route的東兩,它代表的也是一個數(shù)據(jù)通道,只不過它只負(fù)責(zé)將AudioSource這個音頻生產(chǎn)者生成的音頻幀信息組合成一個輸出。
⑤AudioSource??梢詫udioSource理解為音頻幀的生產(chǎn)者。
⑥D(zhuǎn)emuxSource。它是一個可分離流,并且將數(shù)據(jù)發(fā)送到視頻、音頻解碼器的一個對象。當(dāng)然也可以將它理解為一個生成者,負(fù)責(zé)將流(stream)數(shù)據(jù)分離出音頻和視頻信息,并發(fā)送到相關(guān)處理單元處理。
如圖3所示,流解析器從內(nèi)存中檢索到與文件有關(guān)的信息之后,將數(shù)據(jù)流分解,然后組包成視頻解碼器以及音頻解碼器所處理的數(shù)據(jù),并且交由DSP和Display Engine這樣的設(shè)備進(jìn)行處理。這些都可以由DCC控制,是由MRUA層抽象出的相關(guān)硬件功能。只要通過DCC層去控制相關(guān)硬件設(shè)備,便可以實現(xiàn)圖片和文字的高清顯示。下面將介紹如何通過DCC去控制GFX引擎實現(xiàn)圖片和文字的顯示。
GFX在圖中沒有畫出,它是某個具體的圖形加速設(shè)備。當(dāng)要播放一個高清的圖片或者繪制文字時,通常要經(jīng)過幾個步驟:RUA實例初始化,DCC實例初始化,設(shè)置圖片的顯示窗口,初始化GFX引擎,執(zhí)行繪制,清空資源并退出。下面以偽碼的方式給出其具體實現(xiàn)過程:
int main(int argc,char*argv[]){
創(chuàng)建RUA實例;
創(chuàng)建DCC對象實例;
初始化圖片的顯示選項;
初始化視頻的濕示選項;
初始化播放控制選項;
從命令行參數(shù)獲得欲顯示的文件信息以及圖片、視頻播放控制選項(如果沒有就使用默認(rèn)值)
裝載相關(guān)硬件單元微碼;
創(chuàng)建硬件混合器Mixer;
創(chuàng)建ScaIer對象;
//scaler=EMHWLIB_MODULE(DispGFXMultiScaler,0);
為當(dāng)前的Mixer對象創(chuàng)建一個關(guān)聯(lián)Scaler對象的索引;
初始化GFX引擎;
設(shè)置GFX對象的各通道屬性;
開始在GFX上投遞繪制請求;
關(guān)閉GFX引擎,并依次關(guān)閉DCC實例對象,RUA實例對象;
}
結(jié)語
智能導(dǎo)診系統(tǒng)基于MiniGUI和SMP8654的SDK完成了視頻播放、文字圖片顯示的功能?;贛iniGUI的圖形及文字繪制函數(shù),如CreateLog Font、DrawText、LoadBitmap等的使用以及利用與硬件相關(guān)的圖形加速引擎繪制圖片和文件相結(jié)合的方式,增加了系統(tǒng)的圖形繪制效果,提升了智能導(dǎo)診系統(tǒng)性能。
綜上所述,系統(tǒng)基于MIPS架構(gòu)設(shè)計實現(xiàn)了高清播放機(jī)所要完成的視頻播放以及圖片文字顯示功能。通過研究基于MIPS架構(gòu)下的高清播放機(jī)最終選擇了速度比較好的高清播放機(jī)芯片SMP8654,使得視頻處理更加穩(wěn)定,圖片的加速解碼及顯示的速度更快?;诖?a class="contentlabel" href="http://www.biyoush.com/news/listbylabel/label/架構(gòu)">架構(gòu)的系統(tǒng),可以擴(kuò)展到各種信息發(fā)布系統(tǒng)中,如醫(yī)院的信息發(fā)布系統(tǒng)、車載娛樂系統(tǒng),具有很好的應(yīng)用前景。
光耦相關(guān)文章:光耦原理
萬用表相關(guān)文章:萬用表怎么用
dc相關(guān)文章:dc是什么
手機(jī)電池相關(guān)文章:手機(jī)電池修復(fù)
c語言相關(guān)文章:c語言教程
linux相關(guān)文章:linux教程
c++相關(guān)文章:c++教程
評論