由于消費者對便攜式多媒體設(shè)備的強勁需求及技術(shù)上的進步,設(shè)備制造商面對的挑戰(zhàn)是必須把更多的功能和服務(wù)集成在越來越小型、價廉和功能多樣化的產(chǎn)品中。要了解如何針對這個市場創(chuàng)建高價值及與眾不同的多媒體SoC,我們必須先看看目前一般的便攜式多媒體設(shè)備能夠?qū)崿F(xiàn)的技術(shù)范圍。
多媒體―多種標準的視頻、音頻及圖像解碼編碼,如H.264、VC-1、MPEG4、AAC、MP3、JPEG。
無線―GSM或CDMA、WCDMA、TD-SCDMA、1xEV- DO、WiMAX。
圖形―包括用于游戲及先進GUI的2維和3維(立體)圖形。
語音識別―幾乎是目前市場上各款新手機的標準配置。
連接和定位技術(shù)―如藍牙、GPS、WiFi、UWB、WiMAX,包括天線、RF 和基帶處理。
當針對SoC設(shè)計視頻引擎時,該引擎必須能夠支持多種不同的應(yīng)用和標準:
視頻播放/錄制(電影、短片、播客(P odcast) 等)采用H.264、 MPEG4、 VC-1 或MPEG2。
視頻會議采用H.263 (MPEG4短標頭) 或 H.264。
MobileTV采用H.264 或 VC-1。
此外,在當今便攜式多媒體設(shè)備的眾多視頻標準中,有著大量的內(nèi)容類型和文件格式:
文件格式:3gp、m4v、mpg、avi 等。
內(nèi)容類型:
以文件為基礎(chǔ)―在播放或錄制存儲在設(shè)備局域存儲器上的短片或電影時使用。
視頻流―用于播放經(jīng)運營商網(wǎng)絡(luò)傳送的短片。
廣播―用于MobileTV應(yīng)用。
交互式 ― 允許用戶與多媒體內(nèi)容進行交互活動。
為了在便攜式多媒體SoC中支持上述所有的視頻標準與內(nèi)容類型,有三種可行的方案。
硬連線加速器-面積小&性能高
硬連線加速器能以最高的效率和很少的門數(shù)執(zhí)行某一特定標準 (通常是單一標準) 的單項功能 (解碼或編碼)。開發(fā)之后,硬連線加速器便可在不同的SoC上被復(fù)用,但只限于完全相同的功能。舉例說,在VGA分辨率下支持MPEG4 Simple Profile編碼的加速器需要大約15萬個 NAND-2等效門電路,而在D1分辨率下同時支持MPEG4(Simple Profile)和H.264 (Baseline Profile) 解碼的加速器必須完全進行重新設(shè)計,需要大約 350萬個門電路。
圖1所示為常見的SoC架構(gòu),包含了視頻硬連線加速器、用于音頻/語音處理的DSP引擎,以及實現(xiàn)上述二者間同步并運行其它內(nèi)務(wù)和系統(tǒng)任務(wù)的CPU。
采用硬連線加速器有多項優(yōu)點:
面積―執(zhí)行固定的操作不涉及任何指令處理 (取指令、解碼),并無需程序內(nèi)存管理,故門數(shù)相對較低。
功耗―低門數(shù)和高效的實現(xiàn)方案能帶來低功耗。
性能―就執(zhí)行時間和工作速度而言,這是非常有效的實現(xiàn)方案。
不過,這種方案也存在某些缺陷:
只限于視頻―使用硬連線加速器時,多媒體處理的音頻和語音部分由SoC中的其他部件處理(通常是CPU 或DSP)。
視頻和音頻間的同步在CPU上完成 ― 在CPU上執(zhí)行同步操作增加了開發(fā)工作量、集成度和QA。
功耗―使用硬連線加速器時,CPU一般執(zhí)行算法的熵編碼部分(如CAVLC)和后處理部分 (如去塊效應(yīng)濾波器),故在高比特率下該解決方案極為耗電(在約150MHz的負載情況下,ARM11內(nèi)核的功耗便高達120mW。)
軟件更新和Bug修復(fù)―Bug無法通過軟件更新來越過或修復(fù),很大機會需要重新流片。
下一代產(chǎn)品―硬連線加速器在多媒體SoC中執(zhí)行某一特定功能,很可能無法滿足下一代的產(chǎn)品要求。
存儲器―SoC中的任何其他元件都無法存取加速器專用的存儲器,因此在成本和芯片尺寸方面的效率很低。
有些硬連線加速器能夠支持多個標準的解碼操作 (即H.264 Baseline Profile 和 MPEG4 Simple Profile)。盡管這些加速器很有用,但它們已失去低門數(shù)這一主要優(yōu)勢。
視頻協(xié)處理器-多標準視頻引擎
視頻協(xié)處理器以可編程的方式支持不同的視頻標準,并通常執(zhí)行解碼和編碼處理。以視頻協(xié)處理器為基礎(chǔ)的架構(gòu) (40至50萬個門電路) 在面積方面往往比以硬連線加速器的大。但是,視頻協(xié)處理器在支持多種視頻標準方面具有更強的靈活性。
視頻協(xié)處理器有兩種不同的基本類型:
1. 混合型 ― 包含專用的CPU和附加的硬件模塊,共同構(gòu)成“視頻協(xié)處理器”以加速視頻處理。
2. 專用視頻內(nèi)核型 ― 是支持多標準的視頻引擎,和混合模型相比是更為有效的解決方案,它沒有CPU功能 (與混合型不同),只能進行視頻處理。
圖2所示為其常見的SoC架構(gòu),當中包含了執(zhí)行視頻編碼解碼功能的視頻 協(xié)處理器、用于音頻/語音處理的DSP引擎,以及實現(xiàn)音視頻同步并運行系統(tǒng)任務(wù)的CPU。
采用視頻協(xié)處理器的主要優(yōu)勢有:
支持多標準―無需硬件擴展即可支持多種視頻編解碼標準。
可擴展性―同一個平臺可支持不同的分辨率和幀速率。
面積―該解決方案的面積一般在硬連線加速器和通用處理器之間。
Bug修復(fù)―與硬連線加速器不同,Bug可以通過軟件更新來屏蔽 (因此無需重新流片)。
不過,這類方案也有一些缺點如下:
音頻處理―這種解決方案專為視頻處理而設(shè)計,并不包括音頻處理或視頻/音頻同步所需的硬件支持 (如TDM 端口、面向音頻的操作)。
內(nèi)存―視頻協(xié)處理器使用的存儲器無法被SoC中非視 頻處理用途的任何其他操作所復(fù)用。 編程―采用混合型的系統(tǒng)包含兩個CPU (不必是同一 類),這便會產(chǎn)生對二者進行編程協(xié)作相關(guān)的問題 (如集成、數(shù)據(jù)流、通信協(xié)議等)。
僅限于視頻―視頻協(xié)處理器在SoC中不能執(zhí)行任何其他任務(wù)。
未來視頻標準的支持―視頻協(xié)處理器針對特定的視頻標準而設(shè)計。其他新標準的出現(xiàn)需要增加額外的視頻資源。
通用處理器 (DSP/RISC) -真正的多任務(wù)引擎
通用處理器是可編程的解決方案,能夠在相同的硬件平臺上并行支持多個應(yīng)用。在選擇通用處理器時,系統(tǒng)集成商有兩個主要選案:DSP 內(nèi)核和 RISC 內(nèi)核。RISC 內(nèi)核由于缺乏計算能力、存儲帶寬有限且沒有視頻主導(dǎo)的指令,因此不太適合于執(zhí)行視頻處理或其他大量的計算任務(wù)。舉例說,對32位RISC 內(nèi)核來說,在D1分辨率下對復(fù)雜的視頻編解碼器 (如H.264) 進行解碼所需的處理能力可能是雙MAC DSP (例如CEVA-X1620) 的10倍。
在芯片面積方面,通用處理器的門數(shù)一般比前兩種處理器多。不過,這類處理器可以在系統(tǒng)中復(fù)用來執(zhí)行任何數(shù)據(jù)流的編碼或解碼,并可同時執(zhí)行基帶操作、定位 (GPS) 或藍牙連接。
圖3和圖4所示為常見的SoC架構(gòu),分別以不同的配置方式集成了通用處理器。圖3中有兩個元件:用于多媒體處理的DSP和用于內(nèi)務(wù)及系統(tǒng)任務(wù)的CPU。圖4只有一個處理器(帶有RISC功能的DSP),同時執(zhí)行多媒體處理和CPU的其他任務(wù)。
通用處理器方案的主要優(yōu)點如下:
多標準―這些處理器支持多種視頻標準和各種分辨率及幀速率。所有這些參數(shù)都可通過軟件定義。相同的硬件平臺能以15fps 的幀速率支持QVGA分辨率,也能以30fps的幀速率支持D1分辨率。
視頻/音頻同步―DSP能夠運行不同的音頻編解碼器,并處理視頻和音頻的同步。當在DSP上執(zhí)行同步時, CPU將從所有多媒體任務(wù)中卸載出來,因此系統(tǒng)可能根 本不需要CPU。
可用于非視頻操作―除視頻處理之外,通用處理器還能夠執(zhí)行廣泛的任務(wù)。
但是這種方法也存在某些缺點:
面積―可編程性無可避免地意味著更大的芯片面積。因為在視頻處理以外還能執(zhí)行其他任務(wù),所以需要用于非視頻處理的功能模塊。不過,通過去掉系統(tǒng)中的CPU,或是采用更小型的CPU來處理較低的處理負荷,有助于減少系統(tǒng)所需的額外的門電路。
性能―與硬連線解決方案相比,在通用處理器上運行視頻功能的速度通常較慢。不過,可采用算法解決方案來加速系統(tǒng)的性能。
加速通用處理器的視頻處理
這里有幾種方法有助于提高通用處理器的效率(性能):
采用專用的DSP視頻指令來加速多媒體的處理。 把DSP從所有數(shù)據(jù)傳輸操作中解放出來,讓其專注于多媒體處理。
算法加速―利用獨特的軟件算法來替代常規(guī)的復(fù)雜計算。
視頻指令―DSP中的專用多媒體模塊
專用多媒體指令能夠顯著加速純軟件多媒體的性能。下面是可嵌入到通用DSP中的一些指令,專用于加速多媒體處理:
絕對差分(Absolute differences)―用于運動評估和去塊效應(yīng)濾波器。
四重平均值(Quad average)―用于二分一或四分一的像素運動補償。
分類字節(jié) (Classify bytes)―用于非線性濾波器和預(yù)/后處理。
字節(jié)增加/減少(Byte addition/subtraction)―用 于DCT、運動重建、四分一像素濾波器、對稱濾波器、運動評估和去塊效應(yīng)濾波器。
內(nèi)嵌數(shù)據(jù)限幅 (Inline data clipping) (到字節(jié)或字動態(tài)范圍)―用于環(huán)內(nèi)去塊效應(yīng)濾波器。
以下是H.264 內(nèi)去塊效應(yīng)濾波器的代碼示例,利用特殊的4路SIMD 視頻指令 (CEVA-X1620匯編代碼)。
bkrep lci0
{
m0.min{4b,ss} a6,a10,a6 ;min(TC0mp,Vp)<I>
|| m1.neg{4b} a10,a10 ; TC0mp->-TC0mp<I>
|| s.abssub{4b} a0,a2,a2 ;abs(p2-p0)<II>
|| l.abssub{4b} a1,a2,a1 ;abs(p1-p0)<II>
|| push{dw} a12 ; push p1-q1<II>
…
m0.max{4b,ss} a6,a10,a6 ; max(-TC0mp,Vp)<I>
|| m1.min{4b,ss} a9,a11,a9 ; min(TC0mq,Vq) <I>
|| s.cmpa{4b,lt} a2,a15,a10 ; abs(p2-p0) <II>
|| l.cmpa{4b,lt} a1,a15,a12 ; abs(p1-p0) <II>
|| ld{dw} (r1)+s0,a1 ; load p1 <I>
上面所示的代碼描述了在視頻后處理中把VLIW 與 SIMD結(jié)合起來。在該示例中,‘4b‘SIMD 指令于4個不同的字節(jié)數(shù)據(jù)上進行處理。代碼中的兩個指令包都包含了5條并行指令 (VLIW),其中4條是4路SIMD指令,這樣,在單個周期中就有17個并發(fā)操作被同時執(zhí)行。
DSP減負-數(shù)據(jù)傳輸引擎
在針對多媒體應(yīng)用的所有 SoC設(shè)計中多數(shù)存在一個 DMA 引擎。DMA最重要的任務(wù)是執(zhí)行芯片內(nèi)外的大部分數(shù)據(jù)傳輸,并可同時訪問任何可用的資源,包括存儲器、I/O、外設(shè)和總線橋。通過這種方式,DMA 引擎將分擔 DSP 的部分數(shù)據(jù)傳輸任務(wù),使后者能專注于媒體處理功能。
二維(2D) 和三維 (3D) 的DMA通道可以收集處于存儲器中不同位置的分散數(shù)據(jù) (從不同的幀),并將其作為單個數(shù)據(jù)塊來移動,以便DSP進行處理。
在圖5中,3D DMA通道允許DMA 傳輸宏塊(Macro-block ),而無需 DSP 的任何干預(yù)。通過在三個 不同的 維度上對 DMA 進行編程,圖中的傳輸便可完全無須 DSP的干預(yù)而實現(xiàn)。
算法加速
可以通過使用獨特的算法來實現(xiàn)性能的提速,這種算法在視頻處理流程中創(chuàng)建“捷徑 (shortcut)”,從而使所需的DSP性能較小。
CEVA 公司專利的 FST(快速子空間跟蹤) 技術(shù)便是這種加速技術(shù)的一例,以先進的圖案識別算法為基礎(chǔ),可以無須多媒體編解碼器中的復(fù)雜運算,從而實現(xiàn)更快的編解碼,并降低對性能的要求。
這種加速算法方案能大幅提升視頻處理的性能,與傳統(tǒng)的編解碼實現(xiàn)方案相比能提高10倍之多。
CEVA Mobile-Media2000- 全面完整的解決方案
CEVA 的Mobile-Media2000解決方案是以通用處理器為基礎(chǔ)的多媒體平臺,采用了上述的技術(shù),在視頻處理之外還開發(fā)了真正的多媒體引擎,能執(zhí)行多項任務(wù)。Mobile-Media2000能達到370MHz 的運行頻率 (TSMC的90nm G工藝以及 在最差條件下) ,只需要150MHz的運行頻率即可進行30 幀每秒,D1分辨率下的 H.264 BP解碼。這是因為采用了CEVA DSP獨有的視頻指令和CEVA專利的FST算法。
能夠在不同的應(yīng)用中復(fù)用Mobile-Media2000解決方案的特性給客戶帶來了重大的裨益,客戶可以采用相同的內(nèi)核架構(gòu)開發(fā)面向廣泛市場的多種不同產(chǎn)品,例如帶有MobileTV的個人導(dǎo)航設(shè)備或具有WiMAX互聯(lián)功能的便攜式媒體播放器。這些設(shè)備復(fù)用SoC中相同的CEVA DSP處理器來實現(xiàn)多種功能,因而能降低成本并充分利用了研發(fā)投資,從不同的市場和應(yīng)用中獲得更多收益。
Mobile-Media2000以CEVA-X1620 DSP內(nèi)核為基礎(chǔ),并結(jié)合了硬件平臺、完整優(yōu)化的多媒體軟件編解碼器和應(yīng)用軟件的多媒體平臺。CEVA-X1620是開放式架構(gòu)的DSP,讓客戶只需通過軟件便能輕易地定制出與眾不同的移動多媒體解決方案,無需進行任何硬件升級或重新流片。
總結(jié)
隨著新標準的出現(xiàn)及不斷發(fā)展,具有多媒體功能SoC的開發(fā)人員正面對著越來越復(fù)雜的多項挑戰(zhàn)。用于多媒體應(yīng)用的解決方案有多種,可以分為三大類:硬連線加速器、視頻協(xié)處理器和通用處理器。CEVA的Mobile-Media2000是以通用處理器為基礎(chǔ)的方案,具有專用的視頻指令、強大的三維 DMA,并采用了獨特的軟件加速算法 (FST) ,因而成為目前用于視頻和多任務(wù)處理的最佳解決方案選擇。