可配置的媒體處理器:無線多媒體解決方案
圖1 Mediaworks可配置處理器體系的評估結(jié)構(gòu),用Altera APEX 20K1500 FPGA實(shí)現(xiàn)。
提高性能的方法之一是采用常見的小型接口標(biāo)準(zhǔn),如PCMCIA卡和CF卡,最新的PDA都支持這些接口標(biāo)準(zhǔn)。高級視頻和無線處理系統(tǒng)都可以采用PCMCIA和CF電路卡的標(biāo)準(zhǔn)進(jìn)行開發(fā)。為PDA提供優(yōu)秀流視頻產(chǎn)品的最大問題是上述接口標(biāo)準(zhǔn)無法滿足高分辨率視頻的高數(shù)據(jù)帶寬要求,而視頻數(shù)據(jù)壓縮算法可以部分或全部地解決問題。然而,流視頻編解碼器,如MPEG4是為帶寬相對無限的系統(tǒng)開發(fā)的,如幾個(gè)GHz的PC處理,這無法滿足市場上大量無線多媒體設(shè)備對質(zhì)量、成本、功耗和性能的需求。因此,加速流視頻復(fù)雜處理器的視頻編解碼器的開發(fā)成為關(guān)鍵問題。
本文介紹了幾種用PDA實(shí)現(xiàn)高質(zhì)量流視頻的方法。MediaWorks構(gòu)建了可配置的媒體處理器,提升了基于可編程邏輯的設(shè)計(jì)方式,開發(fā)出一整套優(yōu)化的解決方案。采用可配置媒體處理器還可啟用軟硬件協(xié)同設(shè)計(jì)過程,這對于工程生產(chǎn)效率是非常關(guān)鍵的,能夠加快不同性能的視頻編解碼器的設(shè)計(jì)開發(fā)。
PDA設(shè)備都具有觀看圖形的屏幕和恢復(fù)捕獲音頻的揚(yáng)聲器和麥克風(fēng),通常未集成用于視頻捕捉的相機(jī)。考慮成本關(guān)系,多采用最經(jīng)濟(jì)的處理器,這些處理器通常不支持雙向流視頻。因此,需要額外的處理器和壓縮/解壓硬件和軟件。本文試圖解決在現(xiàn)有的PDA設(shè)備中實(shí)現(xiàn)MPEG4視頻捕捉、傳送和播放的問題。
設(shè)計(jì)方案中,第一步是增加視頻捕捉能力,即利用能以足夠的幀速率和圖像尺寸工作的傳感器開發(fā)基于PCMCIA的VGA解析度的相機(jī)。雖然絕大部分的PDA無法顯示完整的VGA圖像,但是可以通過Internet把圖像傳送給PC用戶,就能觀看整個(gè)圖像。選用PCMCIA接口標(biāo)準(zhǔn)很容易開發(fā),也可將Compcat Flash規(guī)范作為備用,基本的結(jié)構(gòu)是通過PCMCIA總線把所有圖像數(shù)據(jù)傳送給PDA,用軟件對輸出的圖像進(jìn)行編碼,對輸入的圖像進(jìn)行解碼。
初始結(jié)果是每秒7-12幀的幀速率,適合于QCIF(176×144)圖像(本地用戶看到的圖像和正在發(fā)送給本地用戶的圖像)。這些結(jié)果證明了這種概念的可行性。但是我們感到,要滿足傳遞圖像給PC用戶的要求,圖像尺寸應(yīng)該更大一些,幀速率也應(yīng)該更快一些,使觀看起來更流暢。下一代設(shè)計(jì)中就應(yīng)該涉及結(jié)構(gòu)的變化來解決上述問題。
因?yàn)橐赑DA上增加視頻功能,需要提供基于PCMCIA/CF的VGA相機(jī)。然而,為了增加系統(tǒng)的視頻性能,必須解決PCMCIA總線瓶頸和PDA的計(jì)算性能限制。設(shè)計(jì)中通過將視頻編碼器放置在PCMCIA接口的相機(jī)側(cè)來實(shí)現(xiàn)這一目標(biāo)。根據(jù)圖像序列,編碼視頻只需要不到未壓縮視頻流數(shù)據(jù)速率的十分之一,在接口總線的相機(jī)側(cè)編碼視頻流,允許將更大的視頻圖像傳送給PDA,同時(shí)還可傳送更多的視頻幀。
編碼需要部分解碼能力,因此視頻編碼的計(jì)算量比解碼大。因此用可配置的處理技術(shù)為VGA相機(jī)開發(fā)一個(gè)編碼器。這種新的視頻架構(gòu)也適用于增加無線功能的下一代產(chǎn)品。視頻解碼仍在PDA的軟件中。
采用這種新的結(jié)構(gòu),可以得到:
* 每秒30幀的CIF分辨率圖像
* 大于每秒20幀的VGA圖像
目前的設(shè)計(jì)方式是尋找最符合任務(wù)需求的處理器,但采用諸如Altera的Nios或Tensilica的Xtensa等可配置處理器,能夠根據(jù)特定的任務(wù)定制處理器。采用可配置處理器的設(shè)計(jì)有以下幾步:第一,用APEX 20KE FPGA開發(fā)系統(tǒng)或指令集仿真器評估初始的軟件和硬件配置,通過分析結(jié)果確定性能瓶頸。用硬件、軟件或二者結(jié)合的方案解決目前最大瓶頸的方法理論上已經(jīng)通過,正在不斷改進(jìn)。方案已經(jīng)實(shí)現(xiàn)(參數(shù)化指令,處理器配置變化,協(xié)處理器,新體系等等),正在對結(jié)果進(jìn)行評估。評估結(jié)果應(yīng)證實(shí)性能的改進(jìn)情況。評估;提出方案;通過進(jìn)一步的評估驗(yàn)證方案,這樣周而復(fù)始直到硬件/軟件方案滿足性能要求為止,如圖1所示。經(jīng)過此過程,可能還有一些不可避免的瓶頸,但會(huì)逐漸達(dá)到最佳點(diǎn)。
可配置處理器方案必須具備以下條件:
* 處理器具有參數(shù)化指令集。
* 處理器具有可改變的部件如緩沖尺寸等。
* 處理器具有外部或特定的協(xié)處理器。
* 處理器能夠在多處理器條件下運(yùn)行。
* 以上條件的組合。
采用參數(shù)化指令處理,開發(fā)者可以用基本的處理器配置評估代碼,發(fā)現(xiàn)瓶頸。常見的瓶頸是缺少高速緩沖。用可配置處理器,開發(fā)者能夠回退和重新配置處理器,提供更多的指令或數(shù)據(jù)緩沖,或從2路到3路到4路組合指令。另一類瓶頸是過窄的數(shù)據(jù)通道限制了一塊或大量像素塊的編碼效率。采用可配置處理器,可以拓寬數(shù)據(jù)通道,一次對整行像素進(jìn)行處理,從而節(jié)省處理器周期??梢詣?chuàng)建特定的指令,以便充分利用這個(gè)更寬的數(shù)據(jù)通道。以MPEG4操作為例,能夠定制絕對差值之和(SAD)的計(jì)算,這樣16個(gè)獨(dú)立的8位像素求和可以用一個(gè)所有16像素值的128位同時(shí)求和指令替代。
還可以為離散余弦變換(DCT)定制指令,但用專用協(xié)處理器可能會(huì)更好。采用專用的協(xié)處理器,流水線DCT協(xié)處理器能夠勝任這種工作。軟件DCT很容易就占用15%到20%的處理器周期。如果處理器沒有所需的帶寬,可以用60到80MHz速率的硬件替代DCT軟件。
多處理器設(shè)計(jì)方案類似于使用專用協(xié)處理器。因?yàn)槊繋炕蚰M化,所以視頻編碼和解碼具有串行特性。DCT或逆DCT(iDCT)順序?qū)γ繋M(jìn)行處理,因此一幀可以從一個(gè)處理器傳送到下一個(gè)處理器,每個(gè)處理器執(zhí)行特定的功能。因此,整個(gè)的幀速率為最慢的處理器的幀速率。采用這種方案,處理器流水線的初始啟動(dòng)會(huì)有延遲,原有的編碼/解碼軟件需要重新設(shè)計(jì)結(jié)構(gòu)并行操作。
以上設(shè)計(jì)方案的初步結(jié)果說明處理周期有明顯改善,但還需要進(jìn)一步優(yōu)化(分布式數(shù)字DCT,重新設(shè)計(jì)結(jié)構(gòu),減少中間存儲等)。
目前的結(jié)果歸納于表1至表4中。
一旦確定了最終設(shè)計(jì)方案,就可以把方案移植到ASIC,或從FPGA設(shè)計(jì)轉(zhuǎn)換為Altera HardCopy器件,可以降低成本。
本文簡要探討了用可配置媒體處理器解決如何為現(xiàn)有的PDA重新配備多媒體功能,其中的關(guān)鍵是硬件/軟件協(xié)同設(shè)計(jì)。在為消除性能瓶頸開發(fā)解決方案時(shí),設(shè)計(jì)者需要在可能的硬件和軟件方案之間進(jìn)行權(quán)衡取舍?!?BR>
評論