网站公告列表

  没有公告

加入收藏
设为首页
联系站长
您现在的位置: 61IC中国电子在线 >> DSP >> DaVinci文章 >> DM64X系列 >> 文章正文
  [组图]针对H.264的编译码设计以及各种硬件加速架构           ★★★ 【字体:
针对H.264的编译码设计以及各种硬件加速架构
作者:林宗輝    文章来源:DIGITIMES    点击数:    更新时间:2008-1-1    

前言:不只在高解析視訊應用上發光發熱,H.264針對中低解析度,也能發揮其降低流量的長處,因此應用於網路即時串流傳輸,或者是行動裝置上小螢幕視訊的播放,都是非常合宜的方式。由H.264具有一系列優於MPEG4和H.263的特性,在相同的重建圖像品質下,能比H.263節省約50%左右的流量。但是,在獲得優越性能的同時,H.264的計算複雜度卻大大增加。

了解視訊編解碼發展歷史的讀者會知道,H.264編碼的計算複雜度大約相當於H.263的3倍,解碼複雜度大約相當於H.263的2倍,乍看之下,所得到的成果似乎與計算負擔不成比例,考量到以目前的網路環境、硬體的匯流排頻寬限制等因素,現階段硬體頻寬與網路環境的拓展有其限制且進展緩慢,但是處理器的計算能力一日千里,與其在硬體或網路環境花成本、下功夫,不如利用更強大的處理器及更有效率的編碼機制來完成。

裝上高效能處理器之後,一般的純軟體解壓縮方案在個人電腦平台上,已經可以達到完美的播放品質與速度,但是行動產品受限於功耗問題,處理器的性能必須有所妥協,因此行動產品在進行即時解碼的過程中就會顯得力不從心,綜觀市面上可播放H.264視訊的行動產品,以純軟體來完成解碼工作,幾乎都無法達到完美的流暢度。


圖說:PC的軟體解碼能力已經完美肩負起BD影片的播放需求。(www.Amazon.com

視訊編解碼導入SoC的關鍵技術

懂得運用多媒體架構對開發者來說十分重要,應用在視訊編解碼的處理架構相當多,針對行動應用方面來說,就可包括了硬體線路單元、獨立硬體線路晶片、嵌入式DSP、獨立視訊加速處理器、具備多媒體加速指令集的通用處理器等等,在SoC之中,我們常可見到這些架構彼此混用,事實上,適當的混合不同架構的處理單元,常是1款SoC設計成功的關鍵,過於單向的設計,可能會嚴重影響到SoC產品的應用廣度。

純粹硬體線路(Hardwired)的視訊編解碼設計

老式的硬體加速技術只執行1個特定標準(通常是單個標準)的單一功能(編碼或解碼),具有最高的效率和較少的邏輯閘。研發時,不同的SoC只有在功能完全相同時才能複用,例如當加速器支援以VGA解析度編碼的MPEG-4簡單格式時,而當加速器需要同時支援MPEG-4(簡單格式)和解析度為D1的H.264(基線格式)編碼時,則需要完全重新設計,需要大約35萬個邏輯閘。

體積的精省是採用硬體加速器的主要優點,因為固定電路晶片規模可以做到非常小。由於硬體線路只執行固定的操作,不包括任何指令操作(存取、解碼),也沒有程式儲存器管理。因此邏輯閘數較少。而邏輯閘數目少,電晶體數量也少,每單位的電晶體效率高,因此功耗較小。而在性能方面,由於這是一項效率非常高的解決方案,運作的執行時間和速度都較快。

上述方案優點固然不少,但是也有不少缺點,首先不同功能取向的硬體線路解碼晶片,只能解決單一的編解碼需求,因此視訊解碼晶片只能處理視訊。採用硬體加速器時,多媒體中的音效和語音部分必須由SoC中的其它部分來處理(通常是CPU或DSP);其次,音效與視訊之間的同步化必須在CPU上來執行。

在CPU上實現同步增加了研發難度、整合難度和QA,如此一來也會帶來處理器的計算負載,而硬體線路未必能夠負擔起全部的運算流程,當採用硬體加速器時,CPU通常執行演算法中的訊息編碼(如CAVLC)和後處理(如去方塊濾波器),這使得該方案耗費的功率極大(在大約150MHz的載荷上,1個ARM11內核消耗的功率可能就高達120mW以上)。

而硬體線路最大的缺點,在於無法進行軟體升級和缺陷修復。要修正錯誤,通常也要伴隨著晶片本身的改版以及重新投片生產,已經生產出來的缺陷產品無法進行任何修補工作。針對新一代的產品,在SoC中執行特定任務的硬體加速器似乎不能滿足下一代的需求,也就是功能沒有拓展性,無法程式化,效率也固定,無法藉由軟體來進一步最佳化。

至於專屬記憶體方面,在SoC中,硬體線路晶片的專用記憶體不易被其它元件存取,因此從成本和矽晶片面積的角度上來看,效率顯得較低。 雖然某些硬體線路加速器能夠支援多種標準(如H.264 Baseline格式和MPEG-4 Simple Profile)的解碼運算,但儘管這些硬體線路設計加速器彈性佳,且兼具能性能表現,卻也同時犧牲了邏輯閘和電晶體數目少的最大優點。

硬體線路設計案例


圖說:由交通大學與聯發科合作開發的硬體線路H.264解碼的晶片。(交通大學)

交通大學與聯發科在2006年合作開發出針對H.264解碼的低耗電系統單晶片,便是針對行動應用所開發出來的1款產品,由於是採用硬體線路獨立晶片,相當適用於各類型的行動影音裝置,晶片本身採用108pin CQFP封裝,內嵌了22.75Kb的快取記憶體,並外接2顆4MB的SDRAM。核心電壓為1.8V,而I/O電壓則是3.3V,以1P6M CMOS製程製作,Die size僅有3.9mm x 3.9mm,全速工作時功耗為12.4mW(16.6MHz的速度,D1解析度,以30fps解碼H.264影片),完全將硬體線路解碼的優點發揮的淋漓盡致。

由於這顆晶片採用的是MPEG-2與H.264混合設計,在主要解碼核心中,同時內建了MPEG-2與H.264語法器,至於在其他如管線及記憶體部份則是採共用設計,因此如果想要擴充規模支援其他編碼標準,也是有可能的,在架構上具備了相當程度的彈性,或可稱為可調性。在設計上有幾個重點,那就是H.264與MPEG-2的區塊取樣定義不同,因此採用了不同階段並用的區塊取樣策略。

其次,為了降低耗電,設計人員也大幅減少記憶體耗電的電路構成及處理步驟。通過將解碼處理所需要的記憶體空間區分為3個等級,分別準備各自最佳的記憶體容量。3個等級的記憶體區塊分別稱為「Macroblock Memory」、「Slice Memory」及「Frame Memory」。 Macroblock Memory主要用於儲存進行Motion compensation等的單位區塊的像素資料。Slice Memory主要用於儲存Macroblock附近的影像資料。Frame Memory用於保存現有Frame和參考Frame,這部份採用了2個4MB的SDRAM,以及與晶片外部連接的匯流排。

輔助處理器

輔助處理器以可程式化的方式支援不同的視訊標準,通常執行解碼和編碼處理。基於視訊輔助功能的處理器架構規模,通常比基於硬體加速功能的處理器,晶片面積較大(40~50萬個邏輯閘用於視訊輔助處理器,視不同IC廠商的設計而有不同),但是,視訊輔助處理器在支援多視訊標準時有較大的應變能力。除了僅針對視訊應用的加速以外,以DSP為基本架構的多媒體加速方式也是主流之一,許多公司在DSP架構方面也下了不少的功夫。


圖說:TI的OMAP產品便是結合了通用處理器、DSP與特定多媒體加速單元的設計典範。(www.TI.com

■混合模型:由專用的CPU和附加的IP模組一起構成視訊輔助處理器,實現視訊加速功能。此類架構以ARC公司的視訊處理子系統較為優秀。以其最新的Vraptor架構為例,該架構採用了特殊多核心方案,其中有多個高性能處理器被連接到多個SIMD處理器和多個DMA引擎,還採用了針對不同應用領域的加速器,這些相互連結的設計,均採用了低耗電、低延遲的通訊通道和Local寬頻數據匯流排。

ARC公司的多媒體加速子系統可與包含ARM或MIPS等不同的嵌入式處理器進行連結,並設計於單一SoC上,但這並不是基於效能考量,而是基於軟體開發的習慣與舊有軟體的相容性,基本上,該子系統原本就包含了1個ARC700的可配置處理器,在性能表現上並不遜於其他嵌入式應用處理器。


圖說:ARC的VRaptor體系在多媒體應用方面的效能極佳,且兼具彈性。(www.ARC.com

VRaptor架構利用以128位元資料向量執行的單一指令多資料流(SIMD)媒體處理器,來擴展ARC700 CPU運算功能,利用1個專用的向量暫存器文件,可分別以4個32位元單元、8個16位元單元或16個8位元單元來進行配置,彈性相當高。SIMD處理器通常採用與 ARC700 CPU相同的時脈頻率,並具有兩種工作方式:一種是只簡單地擴展ARC700 CPU系列管線的緊密結合方式;另一種為鬆散耦合方式。在鬆散耦合方式中,SIMD處理器與ARC700 CPU架構平行,彼此有獨立的記憶體和處理單元結構,不會因為特定記憶體或處理單元被佔用而影響到整體效能。

VRaptor架構包含了2種多媒體處理子系統,其一是針對多標準視訊的解碼方案,另外1種則是針對音效應用,該架構除了可專心扮演子系統的角色,進行特殊多媒體加速處理以外,也能搖身一變成為主角,進行一般通用運算,算是該架構的最大特點之一。

■專用視訊核心:1種多標準視訊引擎,此方案較混合模型架構的執行效率為高,不過視訊核心可能僅具備簡單通用運算能力,或根本沒有任何CPU的功能,因而只能進行視訊處理。

採用視訊輔助處理器的主要優點為:

1. 支援多標準-支援多種視訊編解碼格式而無需硬體擴展。
2. 可升級性-同一平台可支援不同的解析度和訊框率。
3. 規模-該方案的規模通常介於硬體加速和專用處理器之間。
4. 缺陷修復-與硬體線路晶片不同,該方案可透過軟體升級來隔離缺陷(不需要重新投片)。

通用處理器(RISC/DSP架構)

若以尋常的通用處理器(ARM/MIPS)來看,即便加入了針對多媒體處理的加速指令,其實也難肩負起全速的H.264 BaseLine Profile解碼,因此這兩款處理器也都先後加入了DSP處理單元,以改善多媒體串流編解碼的效能表現。雖然這些DSP單元在效能方面仍要稍遜於TI或其他公司的DSP單元,不過其優點在於整合性高,不需要另外支付授權費用,軟體開發也可以一脈相承,這是其最大優勢。


圖說:此類獨立的DSP晶片將逐漸被整合於SoC的嵌入式DSP所取代。(www.TI.com

由於DSP逐漸成為未來串流媒體編解碼加速的主角之一,在SoC設計時,便要考量到各種應用層面與效能需求。首先,在各種不同的編解碼器和不斷變革的標準要求下,解決方案必須是可程式化的;其次,大部分的編解碼器是運算密集型,而DSP本身便是設計用於高效能數學運算。另外,功耗和成本是行動串流傳輸中的重要考慮,一般而言,DSP核心也能在進行多媒體編解碼時,提供比通用核心更高的效能以及更低的功耗表現。

典型的音效/視訊串流多媒體系統,通常同時使用內部記憶體和外部記憶體。內部記憶體是以DSP核心時脈速度運行的快速記憶體;外部記憶體比較慢,但價格也較便宜。編解碼指令儲存於外部記憶體,但下載到內部記憶體中執行。由於視訊串流資料量龐大,除非必須,通常置於晶片之外,而音效串流資料則可視晶片需求內外任意放置,還可以根據需要,將一些IP模組安置在SoC系統匯流排上。

目前的趨勢是每2年就會發佈新的編解碼標準,每個新標準會需要更多的DSP週期。因此,選擇可依相容性發展藍圖來演變的DSP平台非常重要,這樣通過系統升級而不需要重新設計,就可以滿足未來的系統要求。

針對嵌入式DSP的設計,我們可以考慮以下4種基本設計配置:第1種,設計包含1個微控制器和1個DSP(MCU+DSP);第2種,設計包括1個微控制器和1個DSP,但是DSP同時也控制1個視訊編碼/解碼硬體模組(MCU+《DSP+VHW》);第3種,設計使用1個微控制器,DSP和視訊編碼/解碼硬體模組(MCU+DSP+ VHW),在該設計中微控制器控制DSP和視訊硬體模組;最後1種,設計包含1個微控制器,1個視訊編碼/解碼硬體模組,1個音效編碼/解碼硬體模組(MCU +VHW+AHW)。

1.MCU+DSP:微控制器和DSP用於低視訊解析度(CIF),軟體可升級,支援多種音、視訊標準的系統。DSP用於音效解碼,視訊解碼和音/視訊同步。雖然性能有限,但系統非常靈活,此平台可輕鬆實現多種音效和視訊解碼格式支援。

2.MCU+[DSP+VHW]:該視訊硬體模組用於高解析度視訊編/解碼。DSP管理音效編/解碼,也負責音/視訊同步,同時也能用於子母畫面或其他視訊疊加功能。該系統的1個優勢是音效/視訊子系統可設計為1個標準的多媒體編/解碼器,可輕鬆植入系統而不會增加太多的複雜性。DSP是系統多媒體部分的控制器,由於多媒體編/解碼系統與微控制系統的連接很鬆散,因此能夠被輕鬆整合進眾多現有微控制器系統中,從而使這個方案具備相當吸引力。該編解碼系統可被當作1個具有標準Local匯流排端子的ASSP產品。

3.MCU+DSP+VHW:在該配置中,DSP用於音效編/解碼,而微控制器用於實現音/視訊同步。這需要更複雜的微控制器設計,但可採用與MCU+[DSP+VHW]系統相比之功耗、成本都更低的DSP。由於微控制器必須協調DSP和VHW,同時還要執行其它的控制任務以及所有的協調操作,因此該方案在設計實現上困難很多。

該配置的1個變種方案,是由DSP執行視訊解碼、音效編/解碼,而視訊編碼仍然由硬體執行,這需要1個性能強大的DSP,但會使系統靈活性更強,並支援多種視訊解碼標準。

4.MCU+VHW+AHW:在此配置中,微控制器執行除音效、視訊編/解碼外的所有任務,音/視訊同步也由微控制器執行。該解決方案除音效子系統靈活性較差(僅能執行原始設計中的音效編解碼器而不能軟體升級)外,和MC+DSP+VHW很相似。其好處在於它能與特定應用配合,與各種前述方案相比具有最佳的功耗表現。

在上述各類設計中,微控制器負責典型的嵌入式控制任務:包括用戶控制連接(如搖桿、按鍵控制),USB/UART/乙太網路驅動和協議層 (如TCP/IP, HTTP)等。

               欢迎点击进入:TI德州中文网   (国内唯一针对TI应用的中文技术网站)    文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    基于工业以太网的H.264煤矿视…
    基于H.264/AVC和AVS的视频解…
    并行处理的H.264到AVS转码器…
    U-Boot在基于ADSP BF533的嵌…
    H.264/AVC中扩展空域可伸缩…
    以全双工模式运行H.264基线的…
    T264关键数据结构解析
    H.264在DM642的优化
    一种新的H.264编码帧间预测模…
    H.264码率控制中基于MAD比率…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61IC 湘ICP备05002478号