數(shù)字視頻系統(tǒng)中的集成新概念
掃描二維碼
隨時(shí)隨地手機(jī)看文章
數(shù)字視頻配置工具
將數(shù)字視頻嵌入應(yīng)用中的首要難題在于實(shí)施視頻的復(fù)雜性要遠(yuǎn)遠(yuǎn)超過簡(jiǎn)單的圖像與音頻壓縮和解壓縮。
數(shù)字視頻可以采用形形色色的形式與格式,開發(fā)人員需要支持繁雜的配置和各種不同的方面,其中包括不同的分辨率/顯示器尺寸、不同的比特率、實(shí)時(shí)問題乃至視頻源的可靠性等,例如來自硬盤驅(qū)動(dòng)器的視頻流與來自無線通信鏈路的視頻流的區(qū)別和處理。即使是那些看似簡(jiǎn)單明了的任務(wù)—如高效管理音頻/視頻同步以及在 IP 網(wǎng)絡(luò)上實(shí)現(xiàn)可靠的視頻傳輸,仍然會(huì)讓開發(fā)人員傷透腦筋。
如何使這些技術(shù)難題迎刃而解就成為采用達(dá)芬奇技術(shù)成功實(shí)現(xiàn)數(shù)字視頻系統(tǒng)設(shè)計(jì)的關(guān)鍵。達(dá)芬奇技術(shù)所包含的四大要素,即處理器、開發(fā)工具、軟件以及系統(tǒng)專業(yè)技術(shù)對(duì)于數(shù)字視頻設(shè)計(jì)的集成具有重要的作用,其中一個(gè)極為有效的工具就是包含在TI為配合達(dá)芬奇開發(fā)所提供的數(shù)字視頻開發(fā)包(DVSDK)中的數(shù)字視頻配置工具(eXpressDSP Configuration Kit)。
由于在達(dá)芬奇技術(shù)軟件結(jié)構(gòu)中引入了編解碼引擎(Codec Engine)結(jié)構(gòu),Codec Engine就提供了對(duì)DSP標(biāo)準(zhǔn)化算法(XDAIS)的完全包裝,使得應(yīng)用程序與DSP程序的開發(fā)分離,更為方便簡(jiǎn)捷,Codec Engine使得DSP開發(fā)人員不必關(guān)心應(yīng)用程序端,只需按照相應(yīng)的標(biāo)準(zhǔn)開發(fā)出Codec Server,即可被應(yīng)用程序正確調(diào)用。有了eXpressDSP配置工具的支持,開發(fā)人員模塊之間的接口,eXpressDSP配置工具會(huì)自動(dòng)綁定編解碼器(CODEC)以及符合xDM標(biāo)準(zhǔn)的軟件模塊,不需要任何其它的操作,幾乎可以將開發(fā)時(shí)間從數(shù)月降到幾周之內(nèi),使軟件的重使用率大大增加。 eXpressDSP配置工具匯集了Linux和達(dá)芬奇技術(shù)的CODEC ENGINE以及DSP/BIOS,DSP/BIOS LINK。圖1為系統(tǒng)集成圖。
圖1 系統(tǒng)集成圖
數(shù)字視頻配置工具使得配置一個(gè)CODEC的過程極其簡(jiǎn)單,只需進(jìn)行簡(jiǎn)單的腳本配置,無需DSP編程便可以完成,首先得到在DSP上的符合xDM 標(biāo)準(zhǔn)Codec庫,通過腳本配置語言進(jìn)行簡(jiǎn)單的配置,將此Codec庫至于Codec Engine中,進(jìn)行再次編譯鏈接。至此已經(jīng)完成了Codec上的全部工作。下面將逐步描述一個(gè)基于達(dá)芬奇開發(fā)板的應(yīng)用程序的生成過程:
第一步,開發(fā)并完成Codec。就是要開發(fā)音視頻編解碼的核心算法,按照xDM標(biāo)準(zhǔn)封裝成為Codec庫,Codec主要完成音視頻的核心算法,應(yīng)用程序運(yùn)行時(shí)被調(diào)用,并不參與其他功能。
第二步,將Codec集成到Codec Engine中。將第一步開發(fā)完成的Codec或已有的符合xDM的Codec集成到Codec Engine中,這一步需要配置兩個(gè)javascript的腳本文件,其中一個(gè)腳本文件表明了,Codec的使用和配置信息,文件名一般為*.cfg,另一個(gè)描述了Codec在達(dá)芬奇上的內(nèi)存分配的配置,文件名一般為*tcf,配置好這兩個(gè)文件后,使用make命令即可生成Codec Engine,其文件名一般為*.X64P??杀粦?yīng)用程序直接調(diào)用。
第三步,開發(fā)音視頻應(yīng)用程序,并在其中調(diào)用Codec Engine。在Linux下開發(fā)音視頻應(yīng)用程序,包括用戶界面,音視頻的采集、播放、同步等,其中完成對(duì)Codec Engine的調(diào)用,應(yīng)用程序也要完成一個(gè)擴(kuò)展名為cfg的腳本配置文件,以表明對(duì)Codec Engine的使用狀況。
第四步,加載DSPLINK和CMEM模塊,運(yùn)行應(yīng)用程序
至此一個(gè)完整的達(dá)芬奇音視頻應(yīng)用程序就完成了,其中許多過程是通過腳本文件配置完成的,過程非常簡(jiǎn)單易懂,下面我們需要在達(dá)芬奇上運(yùn)行它,首先要加載 DSPLINK和CMEM兩個(gè)驅(qū)動(dòng)程序模塊,其中DSPLINK主要實(shí)現(xiàn)了arm和dsp的底層通信,而CMEM則主要是完成了在物理段上分配連續(xù)內(nèi)存的功能,加載完這兩個(gè)模塊,我們便可以直接運(yùn)行已完成的應(yīng)用程序。
圖形系統(tǒng)可視化工具
將多個(gè)軟件模塊集成只是整個(gè)開發(fā)過程的第一步,DVDSK還包含一個(gè)圖形系統(tǒng)可視化工具,可用于分析和顯示整個(gè)系統(tǒng)的性能,從而幫助快速開發(fā)數(shù)字媒體軟件?;?TMS320DM644x SoC分析器的可視化分析,以最小化的干預(yù)快速辨別和分離系統(tǒng)的各部分執(zhí)行狀況,并通過捕捉數(shù)據(jù)鑒定程序運(yùn)行狀況,以及顯示系統(tǒng)交互,負(fù)載分布和其它類型的行為。在消除大量不必要的斷點(diǎn)跟蹤調(diào)試后,開發(fā)者便可判斷出系統(tǒng)的瓶頸在哪里并加以解決。
TMS320DM644x SoC分析器使用戶花費(fèi)時(shí)間解決問題而不僅僅是發(fā)現(xiàn)問題,作為一個(gè)完全的可視化分析工具,通過它用戶可以得到諸如系統(tǒng)交互分析、各部分負(fù)荷分析、瓶頸分離、異常行為分析和應(yīng)用的基準(zhǔn)性能等功能。
當(dāng)一個(gè)任務(wù)在DSP和ARM上同時(shí)運(yùn)行時(shí),分析器采集并顯示數(shù)據(jù),提供了對(duì)應(yīng)用程序完全的系統(tǒng)可視化,消除了手工收集、對(duì)比數(shù)據(jù)的繁瑣過程,如圖2所示可視化分析流程。
圖2 可視化分析流程
[!--empirenews.page--]
TI所實(shí)現(xiàn)的業(yè)界首創(chuàng)的圖形系統(tǒng)可視化技術(shù)為數(shù)字視頻系統(tǒng)設(shè)計(jì)帶來了最大化的設(shè)計(jì)效率與性能,其多窗的圖形界面極為友好,在同一圖象上顯示 ARM 與 DSP 的任務(wù)運(yùn)行情況,如圖3所示。
圖3 數(shù)據(jù)可視化工具界面
結(jié)語:實(shí)現(xiàn)集成新概念
現(xiàn)在用達(dá)芬奇技術(shù)搭建一個(gè)視頻應(yīng)用系統(tǒng)已經(jīng)成為一件輕松愉快的事情,而集成的概念已經(jīng)在小小的單片系統(tǒng)上展開。數(shù)字視頻的開發(fā)人員首先需要搭建DSP的通用集成開發(fā)環(huán)境,然后利用業(yè)界首款優(yōu)化的數(shù)字視頻配置工具即可盡可能減小設(shè)計(jì)工作的復(fù)雜性,進(jìn)而利用首款全面的圖形系統(tǒng)可視化工具實(shí)現(xiàn)設(shè)計(jì)效率與性能的最大化。新技術(shù)和新手段的應(yīng)用就可以這樣一來全面簡(jiǎn)化數(shù)字視頻系統(tǒng)的設(shè)計(jì)開發(fā)過程而獲得更高層次的數(shù)字視頻創(chuàng)新。