達(dá)芬奇之旅--TI數(shù)字視頻巡回研討會(huì)的技術(shù)核心
摘要: 本文將達(dá)芬奇數(shù)字視頻的全國(guó)巡回研討會(huì)中所涉及的技術(shù)核心進(jìn)行部分介紹,以便更多讀者可以了解達(dá)芬奇技術(shù)的基本內(nèi)容。
關(guān)鍵詞: 達(dá)芬奇;DSP;軟件系統(tǒng)
德州儀器(TI)正式推出達(dá)芬奇(Davinci)數(shù)字視頻技術(shù)平臺(tái)至今已經(jīng)整整一年時(shí)間,在這過(guò)去的一年當(dāng)中,TI依照其承諾在達(dá)芬奇處理器芯片硬件和軟件的開(kāi)發(fā)上成果顯著,同時(shí)對(duì)達(dá)芬奇的技術(shù)和應(yīng)用迅速推進(jìn)。
從去年冬天達(dá)芬奇樣片和開(kāi)發(fā)系統(tǒng)面世之后,TI便與全球同步,加快達(dá)芬奇在中國(guó)推進(jìn)的步伐,開(kāi)始醞釀并實(shí)施一系列技術(shù)推廣活動(dòng)。
目前,業(yè)界對(duì)達(dá)芬奇創(chuàng)新的沖動(dòng)已化為實(shí)現(xiàn)的行動(dòng),已有一些基于達(dá)芬奇的產(chǎn)品已經(jīng)推出,而更多的產(chǎn)品將在今后幾個(gè)月中陸續(xù)登場(chǎng),“達(dá)芬奇效應(yīng)”正在如預(yù)期那樣蓄勢(shì)待發(fā)。
第一講:達(dá)芬奇技術(shù)總體概述
達(dá)芬奇技術(shù)(DaVinci)簡(jiǎn)言之就是包含有針對(duì)數(shù)字音視頻優(yōu)化的基于DSP的系統(tǒng)解決方案,其中有四個(gè)基本組成,即處理器、軟件、開(kāi)發(fā)工具套件和支持,如圖1所示。
圖1 達(dá)芬奇系統(tǒng)構(gòu)成
達(dá)芬奇處理器是一個(gè)單片系統(tǒng),集成有TI高性能C64+核心DSP和ARM9核心處理器以及視頻前端處理器和視頻加速器,還有非常豐富的外圍設(shè)備,如數(shù)字視頻、數(shù)字音頻、高速網(wǎng)絡(luò)、DDR2高速存儲(chǔ)器、ATA硬盤(pán)和多種存儲(chǔ)卡等接口。
在軟件方面達(dá)芬奇全面支持由底層到高層的軟件系統(tǒng)。達(dá)芬奇在嵌入式操作系統(tǒng)方面對(duì)Linux的支持極為完善,也有支持WinCE的能力;在數(shù)字視頻、影像、語(yǔ)音和音頻上可以支持H.264、MPEG4/2、H.263、VC1、JPEG、G.711/G.723、MP3、WMA等多種編解碼器;通過(guò)多媒體框架結(jié)構(gòu)進(jìn)行數(shù)字視頻軟件系統(tǒng)的集成,并提供API驅(qū)動(dòng)程序支持,同時(shí)有助于實(shí)現(xiàn)處理器間的通信。
達(dá)芬奇有多種開(kāi)發(fā)工具套件以滿(mǎn)足各種需求,其中評(píng)估模塊和參考設(shè)計(jì)將有益于硬件設(shè)計(jì),而數(shù)字視頻開(kāi)發(fā)平臺(tái)和Green Hills開(kāi)發(fā)工作將對(duì)縮短軟件系統(tǒng)集成有很大幫助。
達(dá)芬奇的支持體系很強(qiáng)大,其中既有來(lái)自TI授權(quán)軟件提供商(ASP)的支持,也有更為廣泛的第三方網(wǎng)絡(luò)的支持。
所有的數(shù)字視頻類(lèi)產(chǎn)品都有機(jī)會(huì)采用達(dá)芬奇技術(shù),這里不僅有眾所周知的產(chǎn)品,如數(shù)碼相機(jī)或攝像機(jī)、個(gè)人媒體播放器、數(shù)字機(jī)頂盒、IP可視電話(huà)、數(shù)字媒體網(wǎng)關(guān)、數(shù)字視頻服務(wù)器、IP網(wǎng)絡(luò)攝像機(jī)、數(shù)字硬盤(pán)錄相機(jī)等,還有未來(lái)創(chuàng)新的數(shù)字視頻,如包含汽車(chē)智能視覺(jué)在內(nèi)的新產(chǎn)品,當(dāng)然還有更多的產(chǎn)品有待脫穎而出。
在達(dá)芬奇技術(shù)研討會(huì)上,對(duì)第一批達(dá)芬奇芯片DM6446/6443的內(nèi)部結(jié)構(gòu)和應(yīng)用的講解集中在ARM與DSP的高速通信、外圍高速擴(kuò)展接口的使用、視頻前端處理器(VPSS)的配置、中心交換資源(SCR)的調(diào)度等技術(shù)細(xì)節(jié),并且深入地分析了不同開(kāi)發(fā)工具的特點(diǎn)和在達(dá)芬奇軟件系統(tǒng)開(kāi)發(fā)中的作用。
除了詳實(shí)的技術(shù)演講,還有生動(dòng)的現(xiàn)場(chǎng)演示,例如在DM6446評(píng)估板所進(jìn)行的基于達(dá)芬奇的數(shù)字機(jī)頂盒的實(shí)現(xiàn)。在此可以直觀地看到H.264解碼器的性能,還可以探討以實(shí)現(xiàn)屏幕圖文顯示(OSD)的功能和效果。
第二講:達(dá)芬奇軟件技術(shù)詳解
與以往的數(shù)字視頻處理器系統(tǒng)相比,達(dá)芬奇的特別之處還在于其強(qiáng)大的軟件系統(tǒng)支持基礎(chǔ),因此其目標(biāo)就是力爭(zhēng)加快數(shù)字視頻產(chǎn)品投入市場(chǎng)的時(shí)間。當(dāng)前的數(shù)字視頻產(chǎn)品往往需要支持多種媒體格式,在確定新產(chǎn)品思想后要經(jīng)過(guò)兩個(gè)開(kāi)發(fā)階段,第一是創(chuàng)建軟件基礎(chǔ),第二是產(chǎn)品的特色化設(shè)計(jì)。
在過(guò)去前一階段比后一階段要長(zhǎng)得多,有時(shí)因?yàn)橥系眠^(guò)長(zhǎng)而失去了進(jìn)入市場(chǎng)的時(shí)機(jī)。達(dá)芬奇的推出就是要從根本上扭轉(zhuǎn)這種局面,這便有可能將軟件開(kāi)發(fā)階段縮減一半或幾分之一,而為產(chǎn)品的特色化贏得更多的時(shí)間。
在具體的軟件設(shè)計(jì)中,對(duì)于數(shù)字多種媒體系統(tǒng)的設(shè)計(jì),圍繞用戶(hù)代碼的主線程有四個(gè)部分,其一是輸入源數(shù)據(jù),其二是輸出結(jié)果,其三是算法處理實(shí)體,其四是用戶(hù)界面(GUI)。達(dá)芬奇系統(tǒng)在底層以通用嵌入式實(shí)時(shí)操作系統(tǒng)為基礎(chǔ),通過(guò)構(gòu)建達(dá)芬奇框架結(jié)構(gòu)Davinci Framework)來(lái)協(xié)調(diào)各部分工作流程,并對(duì)數(shù)字視頻(video)、影像(Imaging)、語(yǔ)音(Speech)和音頻(Audio)類(lèi)的軟件提供相應(yīng)的應(yīng)用程序接口,即簡(jiǎn)稱(chēng)為VISA API,另外也對(duì)簡(jiǎn)單外設(shè)軟件接口提供應(yīng)用程序接口,即EPSI API。
這樣就建立了達(dá)芬奇軟件系統(tǒng)結(jié)構(gòu)體系,如圖2所示。在這里,VISA包含在SPL層中,實(shí)現(xiàn)基本的編解碼器功能;而EPSI則包含在IOL層中,實(shí)現(xiàn)基本的輸入輸出功能。還有一個(gè)APL層用以支持高級(jí)應(yīng)用的開(kāi)發(fā)。
圖2 達(dá)芬奇軟件系統(tǒng)結(jié)構(gòu)
為了使DSP算法規(guī)范化,TI曾經(jīng)大力推廣eXpressDSP的開(kāi)發(fā)理念并獲得成功,目前全球上千種由TI或第三方提供的算法具有eXpressDSP的兼容性,這個(gè)DSP的算法標(biāo)準(zhǔn)稱(chēng)為xDIAS。xDIAS可以提供為所有兼容性算法與一致化的API管理存儲(chǔ)器資源的能力。而在達(dá)芬奇的軟件中所使用的是一個(gè)針對(duì)數(shù)字媒體的算法標(biāo)準(zhǔn),稱(chēng)為xDM,xDIAS-DM可視為是擴(kuò)展的xDIAS。對(duì)于VISA中的編解碼器引擎都有相對(duì)應(yīng)的xDM,而xDM部件也可以很容易地切換。
在達(dá)芬奇系統(tǒng)的開(kāi)發(fā)中,信號(hào)處理內(nèi)容就存在以下四種選擇,第一種選擇,就是自己開(kāi)發(fā)自己的符合x(chóng)DM的算法;第二種選擇,就是去買(mǎi)原始的編解碼算法,這也是符合x(chóng)DIAS-DM的軟件并以庫(kù),即.lib的方式提供;第三種選擇,就是去買(mǎi)封裝了的編解碼器組件,同樣是以.lib庫(kù)的方式提供,但已根據(jù)需要進(jìn)行了封裝并可直接集成到應(yīng)用系統(tǒng)中;第四種選擇,就是去獲取完整的DSP可執(zhí)行軟件,這可以從TI或TI的ASP得到,這些軟件已針對(duì)特定市場(chǎng)而優(yōu)化,如視頻監(jiān)控、網(wǎng)絡(luò)AV播放、IP可視電話(huà)、視頻會(huì)議,還有其他的新興應(yīng)用。
第三講:達(dá)芬奇輸入輸出技術(shù)分析
在數(shù)字視頻系統(tǒng)的設(shè)計(jì)中,輸入輸出(I/O)驅(qū)動(dòng)程序是非常繁瑣的工作。在達(dá)芬奇系統(tǒng)的開(kāi)發(fā)中,這一部分的工作強(qiáng)度已被大大簡(jiǎn)化了?;趌inux的軟件內(nèi)核有助于I/O問(wèn)題的解決, 如圖3所示為達(dá)芬奇輸入輸出驅(qū)動(dòng)結(jié)構(gòu)。
圖3 達(dá)芬奇輸入輸出驅(qū)動(dòng)結(jié)構(gòu)
在達(dá)芬奇的實(shí)際開(kāi)發(fā)工作中可以有如下四個(gè)步驟:第一,加載驅(qū)動(dòng)程序到內(nèi)核;第二,創(chuàng)建一個(gè)虛擬文件作為驅(qū)動(dòng)程序參考;第三,用文件系統(tǒng)放置驅(qū)動(dòng)程序;第四,用打開(kāi)、讀取、寫(xiě)入和關(guān)閉方式進(jìn)入資源。
在視頻的獲取中,有一個(gè)名為v412的標(biāo)準(zhǔn)的Linux視頻驅(qū)動(dòng)程序,在許多Linux系統(tǒng)中也常常用到,在達(dá)芬奇系統(tǒng)中同樣也有完善的支持。
在視頻的顯示中,相應(yīng)的標(biāo)準(zhǔn)Linux視頻驅(qū)動(dòng)程序是fbdev, 可以將一個(gè)顯示設(shè)備的幀緩沖器映射到用戶(hù)空間。在達(dá)芬奇系統(tǒng)中,可以直觀地顯示出多個(gè)視頻和OSD的窗口,這也可以在DM6446的評(píng)估系統(tǒng)中進(jìn)行演示。
第四講:達(dá)芬奇技術(shù)開(kāi)發(fā)支持
達(dá)芬奇系統(tǒng)的開(kāi)發(fā)其實(shí)就是TI傳統(tǒng)DSP開(kāi)發(fā)模式的延伸,仍然可以采用eXpressDSP的開(kāi)發(fā)理念,只是在其中增加了豐富的數(shù)字視頻和音頻的內(nèi)容。首先,開(kāi)發(fā)集成軟件環(huán)境還是業(yè)界熟識(shí)的Code Composer Studio,版本需要V3.2;另外,實(shí)時(shí)仿真調(diào)試工具還是XDS系列JTAG適配器,當(dāng)然對(duì)于高速視頻系統(tǒng)的開(kāi)發(fā),XDS560應(yīng)該更適合。
一個(gè)完整的達(dá)芬奇程序開(kāi)發(fā)集成方案可以如圖4所示意,其中硬件上主系統(tǒng)與目標(biāo)可以通過(guò)仿真器或以太網(wǎng)進(jìn)行連接。在主系統(tǒng)中可以使用TI的優(yōu)化編譯包,也可使用TI第三方Green Hills的GHS優(yōu)化編譯包。調(diào)試中可以使用多工具包以適用不同需要的要求,這里大多為T(mén)I的軟件支持模塊,也有來(lái)自第三方的模塊和插件。
圖4 達(dá)芬奇程序開(kāi)發(fā)集成方案
在達(dá)芬奇數(shù)字視頻的全國(guó)巡回研討會(huì)中,我們不斷與許多客戶(hù)進(jìn)行溝通,得到了很多積極的反饋和建議,這將有利于TI繼續(xù)完善達(dá)芬奇技術(shù)和系統(tǒng)的支持模式。隨著新一批達(dá)芬奇芯片的推出,TI與客戶(hù)的研討與交流還會(huì)持續(xù)深入進(jìn)行下去,我們期待達(dá)芬奇為中國(guó)企業(yè)帶來(lái)的創(chuàng)新浪潮能夠結(jié)出更多的碩果。
評(píng)論