<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于DSP設(shè)計MPEG-4無線視頻產(chǎn)品方案

          基于DSP設(shè)計MPEG-4無線視頻產(chǎn)品方案

          作者: 時間:2012-04-24 來源:網(wǎng)絡(luò) 收藏

          是一種新興的視頻標(biāo)準(zhǔn),其彈性糾錯能力和可支持小屏幕的特性使之在移動通信市場上受到廣泛關(guān)注,幾乎所有移動電話生產(chǎn)商和PDA開發(fā)商都對其表示出極大的興趣。然而這種視頻標(biāo)準(zhǔn)對處理器的要求卻非常高。在整個移動通信結(jié)構(gòu)中,僅處理器這一部分就會毫不客氣地吞掉大量的資源。因而要想真正實現(xiàn)應(yīng)用這一夢想,首先就必須解決信號處理問題。

          本文引用地址:http://www.ex-cimer.com/article/257555.htm

          工程師們已經(jīng)嘗試過采用固定編碼邏輯和通用型來完成這一龐然大物般的MPEG-4處理,但結(jié)果均不理想。固定編碼邏輯雖然能夠提供較高的性能,但設(shè)計和實現(xiàn)所需的時間太長,而且得到的設(shè)計結(jié)果不夠靈活,無法滿足將來修改的需要。而通用可編程數(shù)字信號處理器()盡管很適合有限沖擊響應(yīng)(FIR)濾波和其他一些MAC密集的應(yīng)用,但對于可變長度解碼和離散余弦變換等視頻編解碼中固有的算法卻又無法有效實現(xiàn)。

          那么怎樣才能設(shè)計出滿足要求的處理器呢?本文給出了一種方案:采用定制。工程師們可以利用數(shù)字DSP IP核并結(jié)合一些新的設(shè)計方法,設(shè)計一種用戶化的引擎來完成所需的MPEG-4功能,從而將應(yīng)用變?yōu)楝F(xiàn)實。

          本方案的第一步,要開發(fā)一種應(yīng)用軟件來執(zhí)行MPEG-4視頻標(biāo)準(zhǔn),然后對該軟件進行優(yōu)化和校驗,以保證其滿足MPEG-4視頻標(biāo)準(zhǔn)的要求。第二步,在這個應(yīng)用軟件得到優(yōu)化之后,將其編譯至一個通用型DSP引擎,仔細分析它在應(yīng)用中可能出現(xiàn)的性能瓶頸。通過分析,構(gòu)造一組由設(shè)計者定義的計算單元(DDCU),有針對性地解決應(yīng)用中的計算瓶頸問題。這組DDCU構(gòu)成一個庫,利用這個庫,設(shè)計者可以為不同的產(chǎn)品和產(chǎn)品域創(chuàng)建不同的用戶應(yīng)用DSP引擎。例如,在一個支持QCIF(四分之一普通接口格式)和CIF幀格式的PDA中,可以通過簡單等級(SP)和高級簡單等級(ASP)創(chuàng)建一個簡單的定制 DSP來實現(xiàn)低速編解碼。

          此外,通過恰當(dāng)?shù)脑O(shè)計規(guī)劃,設(shè)計者還可以使引擎的性能剛好滿足目標(biāo)產(chǎn)品的要求——例如針對CIF格式設(shè)計出幀處理速度為每秒15幀的 DSP引擎——這樣就能降低對時鐘速率、指令長度和存儲映像的要求,從而實現(xiàn)低功率和低成本。但是若想支持更大尺寸的幀并支持高級分析,就需要創(chuàng)建一種性能更高的DSP引擎。這種DSP引擎內(nèi)部并行度更高,可用資源量更大,因而運行速度也更快。

          最后一步,將定制DSP融入多處理器內(nèi)核,通過兩者的共同作用來達到進一步規(guī)劃高端應(yīng)用性能的目的。在當(dāng)今的通信行業(yè)中,產(chǎn)品推向市場的速度越來越快,以上談到的方法和工具恰好為快速分析和創(chuàng)建定制DSP從而加快產(chǎn)品設(shè)計提供了一種較好的方案。

          下面讓我們看看定制DSP是如何創(chuàng)建的。

          可定制的VLIW(超長指令字)引擎

          引擎指一組資源的集合,通過對這種資源編程,可以使之以某種給定的順序?qū)崿F(xiàn)一系列操作。通常,設(shè)計中最主要的處理工作是由數(shù)據(jù)通道資源-即我們所說的計算單元-來完成的。

          計算單元可以對其輸入進行一系列操作,并輸出一個或多個計算結(jié)果。RISC(精簡指令集計算機)和DSP是兩種由計算單元組成的處理器。其中,RISC處理器每次(每時鐘周期)只能執(zhí)行一個操作,而典型的多媒體和DSP應(yīng)用卻可以在每個時鐘周期內(nèi)執(zhí)行多項操作。這是因為大部分這種高級DSP 的結(jié)構(gòu)都具有某種形式的指令級并行處理能力。

          本文給出的方案中,針對MPEG-4應(yīng)用而設(shè)計的DSP引擎能夠達到固定編碼邏輯和通用型DSP都無法達到的性能。該引擎之所以如此成功,主要原因之一就是采用了VLIW結(jié)構(gòu)。VLIW是一種非常適合多媒體應(yīng)用的結(jié)構(gòu)。它支持指令級并行性,這就使得采用它的DSP引擎可以在單時鐘周期內(nèi)執(zhí)行多項操作。不但如此,它還支持應(yīng)用程序編譯過程中的并行性,這又避免了為龐大的視頻處理耗費過長的運行時間或增加過大的晶片體積。與VLIW類似的超標(biāo)量體系結(jié)構(gòu)也具備這一特性。

          用戶應(yīng)用引擎的一種專用解決方案

          下面來討論一個現(xiàn)實生活中的解決方案,該方案采用了三級不同的可定制性來構(gòu)造專門的用戶應(yīng)用引擎。

          第一級可定制性在處理器的標(biāo)準(zhǔn)資源處提供,這些標(biāo)準(zhǔn)資源包括算術(shù)邏輯單元(ALU)以及乘法器和累加器(MAC)等。對某些應(yīng)用而言MAC 用得較多,如基于快速傅立葉變換(FFT)的算法;還有一些則傾向于更多地采用ALU。這就提出了一個要求,對于不同的應(yīng)用,處理器應(yīng)有不同的資源組合,而不是將所有的應(yīng)用都分配到同樣的一組固定的資源中去。

          例如,可以將一個MAC密集的算法分配到一個包含4 MAC、2 ALU、1 SHIFT的處理器中去,而將一個ALU密集的應(yīng)用分配給一個包含3 ALU、1 MAC、1 SHIFT的引擎。這種處理器資源分配的可定制性對許多普通應(yīng)用而言已經(jīng)綽綽有余,但對大多數(shù)與視頻相關(guān)的應(yīng)用來說還遠遠不夠,它們的要求更高,并且需要更多的運算單元來加快運行速度。

          第二級可定制性允許向處理器添加DDCU協(xié)處理器。設(shè)計者先要對所需完成的應(yīng)用有一個大致的認(rèn)識,接著對該應(yīng)用進行分析,將其中的一些專用函數(shù)分離出來,然后在硬件上專門針對這些函數(shù)進行加速處理,即添加DDCU。此外,設(shè)計者還可以分析一下,采用工具組添加DDCU來加快運行速度會對處理器的性能造成怎樣的潛在影響,以及在諸如此類的一些其他假設(shè)下會出現(xiàn)什么情況。

          DDCU是一種適用于專用算法的計算單元。一旦設(shè)計者確認(rèn)了哪個算法需要用DDCU進行硬件加速之后,就可以寫出實現(xiàn)該DDCU的RTL 代碼,并將其加入用戶應(yīng)用引擎。例如,在通用DSP中加入濾波DDCU,那么若用該DSP實現(xiàn)一個需要濾波的應(yīng)用,其表現(xiàn)出來的性能就會有所增強。

          除此以外,設(shè)計者還要在增加并行性所帶來的性能優(yōu)化和該并行性對指令的影響之間尋找最佳平衡。為解決這一問題,可以在VLIW指令中定義分段的數(shù)目(從而定義最大并行度),并為每一段分別分配CU和DDCU(見圖1)。

          最后一級可定制性表現(xiàn)在處理器資源的選擇上。設(shè)計者可以自己決定需要多大的數(shù)據(jù)存儲器,以及需要多少個數(shù)據(jù)寄存器和地址寄存器。而且,根據(jù)具體應(yīng)用所提出的數(shù)據(jù)要求,設(shè)計者還可以增加存儲器接口,以便提供并行數(shù)據(jù)訪問。這些共享的存儲器接口又可以用來連接多個處理器引擎,這就為處理器資源提供了一定的可伸縮性。

          采用DSP引擎的一個關(guān)鍵的好處是可以加快產(chǎn)品投入市場的時間。但要達到這個目的,還要先定義一系列與DSP引擎協(xié)作的DDCU協(xié)處理器。在設(shè)計MPEG-4引擎的時候,首先要對其各個方面進行全面分析,確定需要采用哪些DDCU。然后用這些DDCU構(gòu)建起一個大致MPEG-4引擎,分析其性能瓶頸,并針對性能瓶頸再定義一些DDCU加入引擎中,從而提高該引擎的性能,沖破其瓶頸。為了更方便地完成以上工作,人們開發(fā)出一個專門用于MPEG -4應(yīng)用的DDCU庫。以下討論了該庫中的某些專用DDCU。

          1. 比特流/可變長度解碼DDCU

          在視頻編碼中常常會遇到可變長度解碼。比特流/可變長度解碼DDCU 可以加快從輸入比特流中取出可變長度字段的速度,這是一種基本操作。如果用軟件來實現(xiàn)這種比特流管理,會消耗大量的時鐘周期來處理指針的移位、屏蔽和管理,而采用比特流/可變長度解碼DDCU則可以在一個簡單的硬件單元里快速完成同樣的功能。

          在比特流/可變長度解碼DDCU中,由用戶設(shè)計的指令組集中完成普通比特的提取和插入操作。這種DDCU不但能加快處理速度,提高整個視頻引擎的性能,還可以解放處理器中的其他資源,使之得以用于周圍的其他處理過程。因此,采用這種DDCU不但可以減小指令長度,同時還增強了系統(tǒng)性能。實際上,在DSP中加入這種計算單元會使可變長度解碼的速度增快23.2%。


          上一頁 1 2 下一頁

          關(guān)鍵詞: DSP MPEG-4 無線視頻

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();