Global Sources
電子工程專輯
 
電子工程專輯 > 處理器/DSP
 
 
處理器/DSP  

針對可攜式多媒體SoC應用的視訊處理方案

上網時間: 2007年03月13日     打印版  Bookmark and Share  字型大小:  

關鍵字:多媒體  加速器  通用處理器 

強烈的消費需求以及與可攜式多媒體設備相關的技術進展向製造商提出了諸多挑戰,即要求在更小、更便宜和通用性更強的產品中包含更多功能和服務。

為了瞭解如何設計真正有價值同時能滿足此一市場需求的差異化產品,首先必須瞭解目前典型的多媒體設備所能實現的各種技術:1. 多媒體:多種視訊、音訊和影像編解碼標準,如H.264、VC-1、MPEG-4、AAC、MP3、JPEG;2. 無線:GSM或CDMA、WCDMA、TD-SCDMA、1xEV-DO、WiMAX;3. 繪圖:包括用於遊戲和高階用戶介面的2D和3D繪圖功能;4. 語音識別:幾乎是市面上任何一台新手機中的標準配置功能;5. 基於連結和定位的技術:如包括天線、射頻和基頻處理在內的藍牙,以及GPS、Wi-Fi、UWB、WiMAX等。

在為SoC設計視訊引擎時,引擎必須支援許多不同的應用和標準,如:1. 採用H.264、MPEG-4、VC-1或MPEG-2標準的視訊播放/記錄(電影、剪輯、Podcasts等);2. 採用H.263(MPEG-4短報頭)或H.264標準的視訊會議;3. 採用H.264或VC-1標準的行動電視。

更進一步,在與目前的可攜式多媒體設備相關的各種視訊標準中,還存在許多內容類型和文件格式。其中文件格式包括3gp、m4v、mpg、avi等。內容類型則包含基於文件的內容、視訊串流、廣播、互動式內容等。為了在可攜式多媒體SoC中支援所有視訊標準和內容類型,有三種可用方案:硬體加速、視訊協處理器和通用處理器(DSP/RISC)。

硬體加速功能

硬體加速只執行一個特定標準(通常是單一標準)的單一功能(編碼或解碼),具有最高效率和較少的閘數。在開發過程中,不同的SoC只有在功能完全相同時才能再使用。例如,當加速器支援以VGA解析度編碼的MPEG-4簡單格式時,需要大約15萬個等效二輸入與非閘,而當加速器需要同時支援MPEG-4(簡單格式)和解析度為D1的H.264(基線格式)編碼時,則需重新設計,約需35萬閘。

圖1為一種SoC的推薦架構,其中包含視訊硬體加速器,用於音視訊處理的DSP引擎,還有一個CPU用來實現音視訊之間的同步,並執行其它的日常工作和系統任務。


圖1:採用硬體加速器的系統架構。

採用硬體加速器具有幾項優點:1. 規模:只執行固定作業,不包含任何指令處理(存取、解碼),也沒有程式記憶體管理。因此閘數較少;2. 功率:由於閘數較少、效率高,因此功耗較小;3. 性能:這是一項效率非常高的實現方案,依執行時間計算,該方案執行速度較快。

但該方案也有一些缺點:1. 只能處理視訊:當採用硬體加速器時,多媒體中的音訊和語音部份必須由SoC中的其它部份來處理(通常是CPU或DSP);2. 音視訊之間的同步必須在CPU上進行:在CPU上實現同步增加了研發與整合難度;3. 功率耗散:當採用硬體加速器時,CPU通常執行演算法的資訊編碼(如CAVLC)和後處理(如解鎖濾波器),這使方案耗費的功率極大(在約150MHz的載荷上,一個ARM11核心消耗的功率達120mW);4. 軟體升級和缺陷修復:無法透過軟體升級的方法來隔離或修復缺陷,這通常導致重新投片;5. 新一代產品需求:一個在SoC中執行特定任務的硬體加速器似乎不能滿足下一代產品需求;6. 記憶體:在SoC中,加速器專用記憶體不易被其它元件存取,因此從成本和矽晶片面積角度上來看效率較低。

一些硬體加速器能支援多種標準的解碼(如H.264基線格式和MPEG-4簡單格式)。儘管這些加速器更有用,卻沒有閘數少這個主要優點。

多標準視訊引擎

視訊協處理器以可編程方式支援不同的視訊標準,通常執行解碼和編碼處理。基於視訊協處理器的架構規模通常比基於硬體加速器的規模要大(40~50萬閘用於視訊協處理器)。但是,視訊協處理器在支援多視訊標準時有較大的應變能力。

視訊協處理器通常有兩種不同模型:1. 混合模型:由專用的CPU和附加的硬體模組一起構成視訊協處理器,實現視訊加速功能;2. 專用視訊核心:一種多標準視訊引擎。該方案比混合模型效率高,不過視訊核心(與前種模型不同)沒有任何CPU的功能,只能進行視訊處理。

圖2為一種SoC推薦架構,它包含一個執行編解碼功能的視訊處理器、一個用於音視訊處理的DSP引擎和一個實現音視訊間同步以及其它常見任務和系統任務的CPU。


圖2:採用視訊協處理器的系統架構。

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

但該方案也存在一些缺點:1. 無語音處理能力:該方案專門用於視訊處理,不包括音訊處理和音視訊同步的硬體支援(如TDM埠、針對音訊的作業等);2. 記憶體專用:視訊協處理器所用的記憶體不能用於SoC中除視訊處理以外的其它任何作業;3. 編程複雜:採用混合模型的系統包括兩個CPU(不一定是同一類型),帶來了為使它們共同工作的編程問題(整合、數據串流以及通訊協議等);4. 只能處理視訊:視訊協處理器不能執行SoC中的其它任何任務;5. 不支援未來的視訊標準:視訊協處理器是為特定視訊標準而設計。新標準需要額外的視訊資源。

通用處理器(DSP/RISC)

通用處理器是一種可編程方案,能在同一硬體平台上平行支援多種應用。當選擇通用處理器時,系統整合商主要有兩種選擇,即DSP核心和RISC核心。對於RISC核心,由於缺乏運算功能、記憶體頻寬有限以及缺少針對視訊的指令,不太適合執行視訊處理或其它複雜的數學運算任務。例如,當對以D1解析度編碼的視訊(如H.264)進行解碼時,對一個32位元的RISC核心來說,所需處理能力可能是一個雙MAC DSP(如CEVA-X1620)的10倍。

就規模而言,一般通用處理器所需閘數比前兩種多。但這種處理器可以再使用,能在平行執行基頻處理任務、定位(GPS)或管理藍牙連接的同時,對其它任意數據串流進行解碼或編碼。

圖3和圖4為採用通用處理器的SoC架構。


圖3:採用帶CPU的通用DSP系統架構


圖4:採用不帶CPU的通用DSP系統架構

在其中一種配置中包含一個通用處理器。圖3中包含一個用於多媒體處理的DSP和一個用於日常工作和系統任務的CPU。而圖4則只有一個單處理器(具有RISC能力的DSP),該處理器負責執行多媒體處理和CPU的日常工作。

通用處理器方案的主要優點包括:

1. 支援多標準:這些處理器支援各種視訊標準,以及各種解析度和訊框率。所有的參數可透過軟體定義。同一硬體平台可執行訊框率為15fps的QVGA解析度,也能執行訊框率為30fps的D1解析度;

2. 音視訊同步:DSP能處理不同種類的音訊編碼,並能處理音視訊間的同步。當同步在DSP上進行時,多媒體任務可從CPU上卸載;

3. 非視訊作業的再使用:除了視訊處理,通用處理器還能執行很多其它工作;

4. 支援下一代產品:採用同一平台可支援未來各代產品,這使SoC設計師能輕易支援其產品發展藍圖。

但該方案也有其缺點:矽晶片面積大-可編程性將不可避免地需要較大的晶片面積。由於能在視訊處理之外執行多種其它任務,導致增加了一些並不用於視訊處理的功能模組。不過,由於使用通用處理器而增加的面積可透過從系統中去掉CPU來彌補,或者可採用僅具備處理載荷的小規模CPU。

有幾種方法可提高通用處理器的效率:1. 採用專用指令以更好地利用DSP引擎;2. 從DSP上卸載所有的數據傳輸作業,使其專用於視訊處理;3. 演算法加速:利用獨特的軟體演算法來旁路掉常規的詳細運算。

DSP中的多媒體建構模組

專用的多媒體指令能大幅加速純軟體的多媒體執行速度。以下提供了一部份指令和程式結構,它們可被嵌入到通用DSP中,專用於加速多媒體功能:1. 絕對差分:用於運動估計和解鎖濾波器;2. 四分平均(Quad average):用於1/2或1/4畫素運動補償;3. 分類位元組:用於非線性濾波器和預/後處理;4. 位元組加/減:用於DCT、運動重建、1/4畫素濾波器、對稱濾波器、運動估算和解鎖濾波器;5. 排列數據剪輯(對位元組或字符動態範圍):用於迴路內解鎖濾波器。

以面是用於H.264迴路內解鎖濾波器的程式碼範例,採用專門的4向SIMD視訊指令(CEVA-X1620匯編程式碼):


以上樣本程式碼描述了在視訊後處理中將VLIW與SIMD結合的用法。該例中,‘4b’SIMD指令用於操作4個不同且相互獨立的位元組數據。在該程式碼中有兩個指令數據封包均包含5個平行指令(VLIW),其中4個是4向SIMD指令,可在一個單週期中實現17個並發作業。

DSP卸載

幾乎所有多媒體應用的SoC設計中都有一個DMA引擎,其主要任務是執行內部及外部的多數數據傳遞,同時存取所有可用資源,包括記憶體、I/O埠、週邊設備和匯流排橋。這樣,DMA引擎就能從DSP上卸載部份數據管理任務,使DSP能集中於多媒體處理功能。

3D和3D DMA通道能收集存在記憶體不同位置上的分散數據(來自不同的訊框),並將其作為一個單數據區塊送入DSP進行處理。

在圖5中,3D DMA通道在無需任何DSP干預的條件下,可允許DMA收集巨集數據區塊。


圖5:數據管理引擎實例。

透過對DMA在3個分離維度上的不同步幅和不同單元數量進行編程,之後的數據傳送可完全獨立於DSP之外實現。

演算法加速

可透過純演算法實現額外加速,這種做法可在視訊處理管線中產生一條‘捷徑’,且DSP功耗較低。這種加速演算法的一個範例是CEVA公司基於圖形識別演算法的FST專利技術。利用該技術可避免多媒體編解碼構件模組的‘強制性(brute-force)’軟體實現,以獲得更快的編解碼實現,且功耗較低。

該加速演算法能大幅加速視訊處理性能,相對於傳統的編解碼實現方案,其性能最高可提升至10倍。

CEVA Mobile-Media2000方案

CEVA Mobile-Media2000方案是一種基於通用處理器的多媒體平台。它利用上述各項技術開發出一種真正的多媒體引擎,能在視訊處理以外處理多種任務。執行頻率為370MHz(在TSMC 90nm G上,最壞的工作和處理條件),Mobile-Media2000能以低於150MHz的頻率解碼每秒30訊框、D1解析度的H.264 BP。這是依靠專用的視訊指令和CEVA的專利技術─軟體加速演算法(FST)來實現的。

SoC中其它任務可再使用Mobile-Media2000的能力,對用戶來說也極其有益。相同的核心架構可被用來研發各類市場上的不同產品,如具有行動電視功能的個人導航設備,或具有WiMAX連接能力的可攜式多媒體播放設備。這些設備都能在SoC中再使用相同的CEVA DSP處理器,以實現多種不同功能,降低成本並平衡研發投資,在不同的市場和應用中提高收入。

Mobile-Media2000基於CEVA-X1620 DSP核心,並整合了硬體平台,即一整套最佳化的編解碼和應用框架層。CEVA-X1620是一個開放架構DSP,用戶只需透過軟體就能方便地差異化或定製其行動多媒體方案,無需任何硬體升級或重新投片。

本文小結

隨著更多新興標準的導入,在研發具有多媒體功能的SoC時所遇到的挑戰正變得更加複雜。有許多方案可用來處理多媒體。而所有方案可被劃分為三大類:硬體加速器,視訊協處理和通用處理器。CEVA基於通用處理器的Mobile-Media2000方案具有專用的視訊指令和一個3D DMA,並採用專用的FST,使該一方案成為能適應目前視訊處理多樣化和多任務環境的選擇之一。

作者:Kobi Gur

資深現場應用工程師

CEVA公司




投票數:   加入我的最愛
我來評論 - 針對可攜式多媒體SoC應用的視訊處理方...
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首