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