www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式教程
[導讀]利用可配置處理器來創(chuàng)建多標準多分辨率視頻引擎

 隨著消費類電子產(chǎn)品,尤其是手機、PDA和便攜式媒體播放器(PMP)的急劇發(fā)展,其對于終端硅供應商的要求也大大提高。對這些供應商來說,設(shè)計僅僅能夠適用于一到兩個多媒體編解碼器或無線標準的IC已經(jīng)遠遠不夠了。消費者希望他們的設(shè)備能夠播放各種采用不同的編碼標準和無線下載標準的媒體。因此,必須采取一個新的更具靈活性的途徑來更好地適配新的媒體標準。在本文中,我們主要談一談視頻解碼器和編碼器引擎所面對的挑戰(zhàn)和機遇。

  基于RTL的傳統(tǒng)視頻引擎設(shè)計方法

  上一代視頻ASIC設(shè)計的目的是為了解碼和編碼MPEG-2,因為這是DVD所使用的標準。其中也有些支持MPEG-1,可以播放VCD。大多數(shù)情況下,這種單個應用的邏輯實現(xiàn)策略就是:利用RTL(寄存器轉(zhuǎn)換層,寄存器轉(zhuǎn)換邏輯)來設(shè)計定制化MPEG-2解碼器和編碼器。下圖1是一個典型的MPEG-2視頻ASIC結(jié)構(gòu),展示了由視頻子系統(tǒng)、主控制器和片上存儲器組成的RTL功能塊。

  圖1:典型的MPEG-2視頻ASIC結(jié)構(gòu)

  隨著市場形勢的改變,現(xiàn)在的視頻ASIC必須能夠支持多種視頻標準,并具有多個分辨率。由于下列原因,傳統(tǒng)的RTL方法已經(jīng)不再有效:

  ·隨著標準數(shù)量的增加,RTL功能塊的數(shù)量和復雜性也增加;

  ·無論是執(zhí)行一個新的視頻標準,還是升級現(xiàn)有的已執(zhí)行的標準,或者修改bug,都需要進行硅芯片重制;

  ·在第一代硅執(zhí)行之后的這4-5年內(nèi),視頻編解碼器,尤其是編碼器在性能上(比特率、性能)有很大的改進。要執(zhí)行這些改進的成果,也必須在所有的RTL方法中進行硅芯片重制。

  在視頻引擎中使用處理器,而不是固定的RTL

  那么,有沒有其它辦法呢?使用一個可編程處理器是最佳方案,因為它可以解決上面提到的所有問題:(1)處理器和編解碼器之間很容易建立連接端口;(不論是采用新的視頻標準,還是升級現(xiàn)有的編解碼器或者修改bug,都可以很容易地在軟件中進行);(3)通過軟件升級,可以很容易地應用視頻編解碼器執(zhí)行中的改進。

  但是,由于其性能瓶頸,傳統(tǒng)的處理器只能用于一般的編碼,而不能用于視頻引擎。嵌入式DSP也不是專為視頻而設(shè)計的,但擁有通用DSP應用所需的硬件功能單元、指令和接口。因此,要在傳統(tǒng)的RISC和DSP處理器上執(zhí)行視頻編解碼,就意味著這些處理器必須以非常高的速度運行(MHz),而且還需要大量內(nèi)存并消耗大量功率,但是在便攜式設(shè)備中,這顯然是行不通的。

  只要我們對某個視頻內(nèi)核中所需的計算次數(shù)作一個簡單分析,就很容易得出這一點。絕對誤差和是大多數(shù)視頻解碼運算的動作估計中所進行的一個重要計算步驟。SAD運算的目的在于發(fā)現(xiàn)兩個連續(xù)視頻幀之間的宏模塊的運動。它是通過計算這兩個宏模塊中每套相應的象素值之間的絕對誤差之和來實現(xiàn)這一目的的。

  下面的C代碼展示了SAD運算的一次簡單執(zhí)行:

  圖2展示了SAD運算中的基本計算步驟。如圖所示,其中主要進行的計算有減、算絕對值和結(jié)果累計。

  圖2:絕對誤差和(SAD)內(nèi)核中進行的主要計算

  計算一個RISC上的兩個16x16宏模塊的SAD需要進行256次減法、256次求絕對值和256次相加――總共進行了768次計算,還不包括傳輸數(shù)據(jù)所需的負載與內(nèi)存。由于每一幀當中所有的宏模塊都必須進行這一運算,很顯然這在計算上成本是很昂貴的,而且會隨著視頻幀分辨率的增加而越來越難。

  實際上,在一個帶有一些如相乘和乘法累加等指令的中等范圍通用型RISC處理器上,如果要以CIF的分辨率進行H。26?Baseline解碼,需要250MHz的速率,而如果進行H。26?Baseline編碼,所需速率更是超過1GHz。這意味著光是處理器內(nèi)核就要消耗將近500mW的功率,更不用提內(nèi)存和視頻片上系統(tǒng)中其它部分消耗的功率了。很顯然這種處理器不能作為嵌入式多媒體處理器用于便攜式設(shè)備中。[!--empirenews.page--]

可配置處理器解決了問題

  如何在處理器中進行SAD運算呢?有一個方法是編寫一個能夠同時進行“減-求絕對值-加”計算的指令。這可以將16x16宏模塊所需的計算次數(shù)從768減少到256。另外,由于一個執(zhí)行這種綜合化簡單運算的功能單元一般都能夠優(yōu)化成一個周期,意味著計算周期也被減少到了256。

  但是如何執(zhí)行這個“減-求絕對值-加”指令呢?

  在這個時候,就需要可配置處理器了??膳渲锰幚砥魇乔度胧降?,設(shè)計者可以配置選項菜單中進行選擇,并通過添加特殊應用指令、寄存器文件和接口來擴展處理器功能。

  下面是目前的可配置處理器具備的一些可配置和可擴展性功能,傳統(tǒng)的固定式處理器是沒有這些功能的:

  可配置性,有下面的一系列選項可供選擇:

  ·設(shè)計者想要或者不想要的指令,包括:16x16相乘或乘法累加、漏斗轉(zhuǎn)換、浮點指令等;

  ·零耗循環(huán)、5或7個步進管線、本地數(shù)據(jù)加載/存儲單元的數(shù)量等各種功能;

  ·是否需要內(nèi)存保護、內(nèi)存轉(zhuǎn)換或者一個全內(nèi)存管理單元(MMU);

  ·是否需要一個系統(tǒng)總線接口;

  ·系統(tǒng)總線和本地內(nèi)存接口的寬度;

  ·本地內(nèi)存的數(shù)量和大?。?/p>

  ·中斷的次數(shù)、種類和等級

  可擴展性,可自由添加下列由設(shè)計者自定義的組件:

  ·寄存器和寄存器文件;

  ·多周期、任意復雜功能單元;

  ·SIMD功能單元;

  ·將基本型處理器轉(zhuǎn)換成多發(fā)射處理器;

  ·定制能夠直接從數(shù)據(jù)路徑讀取和寫入的接口,例如在處理器內(nèi)核上的類似于GPIO(通用IO)的端口或管腳,以及可以用來和其它邏輯或者處理器內(nèi)核進行連接的外置FIFO。

  可配置性的優(yōu)點在于使你可以通過選擇你的應用所需的功能選項來構(gòu)建一個規(guī)模適中的處理器,而可擴展性的優(yōu)點則是讓設(shè)計者可以通過創(chuàng)造能加快應用速度的指令、寄存器文件、功能單元和接口來定制處理器,使之完全與其視頻應用相匹配。但必須注意的是,只有當今先進的可配置處理器才具能提供設(shè)計者自定義可擴展性。

  利用可配置處理器來構(gòu)建視頻引擎

  創(chuàng)建能進行多次運算的功能單元

  這一步即是SAD運算和加速SAD運算的內(nèi)容。

  對于可配置處理器來說,要添加這一綜合運算功能簡直是小菜一碟。它可以添加名為"sub。abs。acc(減-求絕對值-加)"的新指令來進行“相減、求絕對值和相加”運算。如圖3所示。

  圖3:進行“相減、求絕對值和相加”運算的新指令[!--empirenews.page--]

  現(xiàn)代的可配置處理器(例如Tensilica的Xtensa處理器)所配的軟件工具會自動修改編輯器工具,包括C/C++編輯器、匯編程序、調(diào)試器、模仿器和ISS(指令集仿真器)。此時,C編輯器會識別新的C內(nèi)部指令"sub。abs。acc"并安排相應的指令,調(diào)試器則顯示sub。abs。acc功能模塊中使用的內(nèi)部信號,同時,匯編程序會將之作為一個新的指令進行處理,而ISS則對之進行周期精確級仿真。

創(chuàng)建新的加載/存儲接口

  要在如此之大的寄存器文件(和相應的SIMD功能單元)中讀出和寫入數(shù)據(jù),要求可以進行大規(guī)模的加載和存儲。還是在可配置處理器中,設(shè)計者可以自定義加載和存儲指令來直接在自定義寄存器文件中加載和存儲數(shù)據(jù)。接著,編輯器會自動生成對應于這個加載/存儲接口的加載/存儲指令,從而將數(shù)據(jù)從內(nèi)存中加載到寄存器文件中。

  圖6是處理器數(shù)據(jù)路徑的更新圖。如圖中所示,硬件生成工具自動生成大的自定義寄存器文件和加載/存儲接口以及所有相關(guān)的正向控制和旁路邏輯。特別需要注意的是這些工具還會生成硬件邏輯來將數(shù)據(jù)從基本寄存器文件轉(zhuǎn)移到用戶自定義的寄存器文件中。

  圖6

  加載或存儲時更新地址

  創(chuàng)建指令來進行自定義加載或存儲時,最好能在加載或存儲的同時更新地址。這種新的加載/存儲指令可以同時進行:

  加載A1←存儲器(地址1);地址1=地址1+索引更形

  這種能夠同時進行數(shù)據(jù)加載/存儲和地址更新的指令使得處理器可以進行背靠背加載/存儲,而不需要一個中介指令來進行地址更新。

  創(chuàng)建FIFO接口和通用IO端口

  可配置處理器中另一個重要特征是可以定義FIFO接口和通用IO(GPIO)端口來直接從數(shù)據(jù)路徑中讀取和寫入數(shù)據(jù)。這些FIFO接口和GPIO端口的寬度可以是任意的(在這個例子中是1024b),在數(shù)字上沒有任何限制(例如,F(xiàn)IFO和GPIO端口的寬度都可以是1024)。這些寬的數(shù)據(jù)路徑直接接口可以提供多媒體和網(wǎng)絡(luò)應用所需的高數(shù)據(jù)吞吐量,來通過處理器內(nèi)核讀取、處理和寫入數(shù)據(jù)。

  圖7顯示的是帶有這樣的FIFO接口和GPIO端口的數(shù)據(jù)路徑。(有了這種方法)我們可以創(chuàng)建一個指令來發(fā)射兩個FIFO(只要確保這兩個不是空的),進行一次復雜的計算(例如循環(huán)乘加),并將結(jié)果傳到另一個輸出FIFO上(只要這個FIFO還沒有滿)。接著,再次由硬件生成工具生成適當?shù)慕涌谛盘?、控制邏輯和旁路邏輯,并生成已配置處理器所需的完整RTL,同時,軟件生成工具則自動生成一套完整的編輯器工具和模仿新指令的周期精確級ISS。

  圖7:通過FIFO接口和GPIO端口進行的高速通信

  加速復雜控制代碼

  多媒體應用中控制代碼的數(shù)量和復雜性已經(jīng)增加到這樣的一個程度:它所消耗的計算時間和工作幾乎和代碼的數(shù)據(jù)密集型部分一樣多。H。26?Mainprofile解碼器中的一個關(guān)鍵部分-CABAC算法(內(nèi)容自適應二進制算術(shù)編碼)就是這樣的一個例子:這種算法幾乎就是一棵控制流程判定樹,有各種各樣復雜的數(shù)據(jù)計算和比較。

  由于CABAC計算過于復雜,很多傳統(tǒng)的處理器方案不得不放棄CABAC而選擇一個專用的RTL加速器。但是,CABAC可以在可配置處理器上作為一套指令擴展而產(chǎn)生作用,不僅在性能足以媲美RTL方案的性能,同時比起RTL加速器還有另外一個優(yōu)勢,那就是它的數(shù)據(jù)不需要進出處理器。這樣一來就顯示出處理器指令擴展的另外一個優(yōu)勢—由于特殊應用硬件位于處理器內(nèi)部,你可以更好地分割硬件和軟件。

  總結(jié)

  現(xiàn)代的可配置及可擴展處理器是創(chuàng)建視頻和音頻引擎的完美選擇,迄今為止已經(jīng)為眾多的半導體ASIC供應商所廣泛采用。另外也有一些作為嵌入式SoC模塊的視頻和音頻IP產(chǎn)品。例如,Tensilica公司及其合作伙伴就能供應一套完整的視頻和音頻IP產(chǎn)品,其中包括XtensaHiFi2音頻引擎和一系列多標準多分辨率視頻方案,以及H。26?(基本類、主流類和高級類)、MPEG-4(SPandASP)、MPEG-2、VC-1/WM9及各種標準的編碼器和解碼器軟件(編解碼器)。這些視頻方案覆蓋了QCIF、CIF和SD,都以實現(xiàn)HD分辨率為目標,并以低功耗和小封裝為設(shè)計起點。

  由于消費者的需求擴展了消費類設(shè)備中ASIC的技術(shù)規(guī)格要求,越來越多的應用將通過使用可配置處理器來執(zhí)行。借助于可配置處理器所帶來的自動設(shè)計流程,新的功能支持將會像軟件升級一樣簡單,而設(shè)計和驗證時間也將大大降低。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

上海2022年10月19日 /美通社/ -- 一年一度的2022易路人力科技趨勢峰會將于11月22日開啟,本次峰會以"智未來,效先行"主題舉辦,全程以線上...

關(guān)鍵字: 力科 數(shù)字化 MIDDOT SAAS

一星期中最糟糕的一天,這居然也成功拿下了吉尼斯記錄。10月17日,吉尼斯世界紀錄官微發(fā)文稱,正式認證星期一為一個周里最糟糕的一天,周五是最偉大的一天??雌饋碛悬c官微小編搞怪的意思,畢竟尚未見到正式的證書。當然,一些打工人...

關(guān)鍵字: MIDDOT MDASH GUI WORLD

前不久,一位意大利女航天員在網(wǎng)絡(luò)上走紅,因為她在海外社交平臺上發(fā)布了一組太空攝影作品,并配上了中國著名書法家王羲之所著《蘭亭集序》中一句描繪宇宙景觀的古文。“仰觀宇宙之大,俯察品類之盛,所以游目騁懷,足以極視...

關(guān)鍵字: 衛(wèi)星 航天器 網(wǎng)絡(luò) MIDDOT

2020 年,公司處理器產(chǎn)品四核龍芯 3A5000/3B5000 研制成功。龍芯 3A5000/3B5000 基于龍芯 3A4000/3B4000 進行工藝升級,主頻 2.3-2.5GHz, 單核通用處理性能是龍芯 3A...

關(guān)鍵字: 處理器 芯片 市場化

自主研發(fā)芯片對其自身有更為實際的意義。首先,自主研發(fā)芯片可以減輕對上游供應鏈的依賴。其次,自主芯片更方便打造出獨家特色產(chǎn)品,增強產(chǎn)品在市場上的競爭力。再次,自主研發(fā)芯片能降低成本,提高利潤。

關(guān)鍵字: 芯片 處理器 市場

本文中,小編將對無線模塊予以介紹,如果你想對無線模塊的詳細情況有所認識,或者想要增進對它的了解程度,不妨請看以下內(nèi)容哦。

關(guān)鍵字: 無線模塊 寄存器 處理器

針對財會專業(yè)人士的調(diào)查顯示,大多數(shù)組織的財會專業(yè)人員都已經(jīng)邁出了轉(zhuǎn)型步伐,但尚未做好準備滿足組織對于未來財會職能的要求,即具備更高的洞察力和預見力 北京2022年10月13日 /美通社/ -- IMA管理會計師協(xié)會與德...

關(guān)鍵字: 控制 數(shù)字化 MIDDOT BSP

深圳2022年10月11日 /美通社/ -- 9月9日,國內(nèi)知名時尚品牌VICUTU在北京大米視聽文化傳播有限公司的xR演播室進行了線上2022秋冬xR虛擬時裝秀直播。通過和羅馬尼亞建筑設(shè)計師及藝術(shù)家Alexandru...

關(guān)鍵字: 顯示屏 VI IC MIDDOT

(全球TMT2022年10月11日訊)近日,昆侖芯(北京)科技有限公司的第二代云端通用人工智能計算處理器昆侖芯2代AI芯片及AI加速卡與飛槳完成III級兼容性測試,兼容性表現(xiàn)良好。 產(chǎn)品兼容性證明 本次...

關(guān)鍵字: 人工智能 加速卡 處理器 模型

據(jù)央視新聞報道,當?shù)貢r間10月11日,美國國家航空航天局就其“雙小行星重定向測試”任務舉行新聞發(fā)布會。美國國家航空航天局指出,在9月26日的測試中,航天器成功碰撞目標小行星“迪莫弗斯&...

關(guān)鍵字: NASA 航天器 軌道 MIDDOT

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉