基于Blackfin媒體處理器的視頻應(yīng)用
出處:rj17 發(fā)布于:2007-05-24 16:53:57
基于Blackfin?的視頻應(yīng)用系統(tǒng)
對于設(shè)計工程師們來說選擇一款合適的處理器來滿足視頻應(yīng)用中日益提高的要求是一件挑戰(zhàn)性的任務(wù)。為滿足當前視頻應(yīng)用的需求,處理器首先必須有足夠強大的視頻處理能力,尤其在實現(xiàn)基于MPEG4 及 H.264 這樣的復(fù)雜視頻處理算法的應(yīng)用時。在這些高性能視頻應(yīng)用中,通常數(shù)據(jù)運算量極大。PAL和NTSC電視信號分別為25幀/秒和30幀/秒,編解碼器需要每秒處理162000個宏塊(Macro Block)。在H.264的編解碼處理中要對每個宏塊進行整型變化和反整型變化,運動搜索,宏塊重構(gòu)1。沒有經(jīng)過深入優(yōu)化的H.264 CIF大小編碼大約需要50,000萬到1000,000萬指令周期。
此外,隨之而來的困難還包括如何將豐富的系統(tǒng)應(yīng)用層和復(fù)雜的音視處理模塊高度集成來實現(xiàn)低成本的解決方案。 傳統(tǒng)的方法是在系統(tǒng)中同時加入一個MCU和一個數(shù)字信號處理器。MCU用于實現(xiàn)系統(tǒng)控制及應(yīng)用層,包括象網(wǎng)絡(luò)TCP\IP協(xié)議等各種協(xié)議棧。而DSP用來完成一些大數(shù)據(jù)量的運算,象H.264編解碼之類的視頻處理。在這種結(jié)構(gòu)下,工程師在系統(tǒng)實現(xiàn)時不得不面對兩種不同的處理器,這使得系統(tǒng)的設(shè)計和調(diào)試都顯得不太容易。 并且一個多個處理器并存的系統(tǒng)很難滿足低成本和低功耗的苛刻要求。
不過讓工程師們覺得興奮的是,過去因為帶寬和處理能力的限制,只能在簡單音頻處理領(lǐng)域發(fā)揮作用的數(shù)字信號處理器,由于性能的不斷提高,也開始在復(fù)雜視頻應(yīng)用領(lǐng)域大顯身手。如今,工程師們可以在一個單一的結(jié)構(gòu)中,這里指的是一個單一的處理器,來實現(xiàn)包括系統(tǒng)應(yīng)用層和視頻編解碼處理。例如Analog Devices Inc 推出的Blackfin?系列媒體處理器。
Blackfin 處理器是一類專為滿足當今嵌入式音頻、視頻和通信應(yīng)用的計算要求和功耗約束條件而設(shè)計的新型 16~32 位嵌入式處理器,如圖1。Blackfin 處理器基于由 ADI 和 Intel 公司聯(lián)合開發(fā)的微信號架構(gòu)(MSA),它將一個 32 位 RISC 型指令集和雙 16 位乘法累加(MAC)信號處理功能與通用型微控制器所具有的易用性組合在了一起。 這種處理特征的組合使得 Blackfin 處理器能夠在信號處理和控制處理應(yīng)用中均能發(fā)揮出色的作用 -- 在許多場合中免除了增設(shè)單獨的微控制器(MCU)的需要。該能力極大地簡化了硬件和軟件設(shè)計和實現(xiàn)難度。
![]() 圖1 ADSP-BF561系統(tǒng)結(jié)構(gòu)示意圖 |
下面我們以IP視頻可視電話為例來看看采用Blackfin來設(shè)計實現(xiàn)基于IP的復(fù)雜視頻應(yīng)用。
IP視頻電話產(chǎn)品應(yīng)該不算是一個新的產(chǎn)品概念了。目前市面上有的IP視頻電話多采用H.263和H.264編解碼格式。對于一般的用戶,大多要求CIF(352x288)的分辨率,實時幀率為25或30幀每秒。但隨著視頻處理技術(shù)的不斷發(fā)展,在確保高質(zhì)量實時視頻的同時,對網(wǎng)絡(luò)帶寬的需求可以大幅減少。H.264/AVC是ITU-T視頻編碼組和ISO/IEC運動圖像組聯(lián)合提出的一代的視頻編碼標準。在采用H.264格式時,在低碼率下,甚至64kbps 的碼率時也可以獲得高質(zhì)量的音視頻。 H.264格式的視頻電話可以比H.263格式的視頻電話節(jié)省近一半的帶寬。所以新的IP視頻電話都將以H.264為標準格式。
作為單芯片方案,我們采用ADSP-BF561媒體處理器作為系統(tǒng)的處理器。 ADSP-BF561處理器是Blackfin 處理器系列中的新型對稱多處理器成員。ADSP-BF561內(nèi)部有兩個高性能的MSA架構(gòu)的Blackfin內(nèi)核,提供有專用的視頻處理指令。此外還有多達328kbytes的片上高速內(nèi)存。既可以很好的支持豐富的應(yīng)用功能如GUI,SIP或H.323協(xié)議棧,還能夠完成復(fù)雜的音視頻編解碼處理,例如H.264單通道CIF的編解碼。硬件平臺的設(shè)計如圖2所示。系統(tǒng)中視頻數(shù)據(jù)的輸入輸出由兩個獨立的PPI承擔(dān),Blackfin的PPI 端口能夠支持BT656兼容的視頻數(shù)據(jù)。音頻的輸入輸出由Blackfin?的Sport完成,Sport能夠支持標準的I2S和TDM傳輸模式。此外,可以通過外頻高至133MHz的異步總線接口上擴展以太網(wǎng)驅(qū)動芯片來提供高速的網(wǎng)絡(luò)傳輸。一些輔助的控制外設(shè)象紅外接口,可以由Blackfin提供的專門支持IrDA的Uart來支持。
![]() 圖2 基于ADSP-BF561的視頻可視電話系統(tǒng)結(jié)構(gòu) |
在視頻可視電話的應(yīng)用中,采用H.264的視頻編解碼格式,我們在前面也提到相對于H.263而言H.264算法的一些優(yōu)勢,當然也顯而易見的是H.264對處理器的處理能力有著更為苛刻要求。因此在ADSP-BF561平臺上,采用如圖3所示的非對稱多處理架構(gòu)。由CoreA獨立的完成H.264的編解碼及音頻的處理,CoreB則承擔(dān)所有應(yīng)用層的任務(wù),例如操作系統(tǒng)uclinux,圖型界面GUI,可視電話網(wǎng)絡(luò)協(xié)議H.323等等。容量高達128Kbytes的L2內(nèi)部存儲單元可以用于雙核之間的數(shù)據(jù)交換和共享。
![]() 圖3 基于ADSP-BF561的非對稱多處理架構(gòu) |
要實現(xiàn)30fps的H.264實時編解碼要求對算法實現(xiàn)進行優(yōu)化設(shè)計。優(yōu)化主要分為算法結(jié)構(gòu)優(yōu)化,指令優(yōu)化兩個主要部分。
算法結(jié)構(gòu)優(yōu)化的就是針對處理器架構(gòu)的特點來選擇一種優(yōu)化的存儲區(qū)分配管理和數(shù)據(jù)處理模式。
眾所周知,處理器內(nèi)部存儲器的訪問速度比外部SDRAM的訪問速度要快很多。但嵌入式處理器的內(nèi)部存儲空間通常比較小。雖然ADSP-BF561 有多達328kbytes的片上空間,可但相對于視頻處理對存儲空間的要求而言還是有限。怎樣分配和管理系統(tǒng)的存儲空間對處理效率有著很大的影響。對數(shù)據(jù)區(qū)來說,在H.264中,象VLC和VLD的查表數(shù)據(jù)因為訪問非常頻繁則應(yīng)該放在處理器的內(nèi)存中。對程序存儲區(qū)而言,算法的代碼例如整系數(shù)變換,運動搜索(ME),運動補償(MC), 內(nèi)環(huán)的Loopfilter等等都分配到內(nèi)部程序存儲區(qū)。對于無法放置到內(nèi)部存儲區(qū)的部分代碼和大量的視頻數(shù)據(jù)則全部分配到外部的SDRAM中。同時為了提高對存放于SDRAM的數(shù)據(jù)和代碼的訪問速度,ADSP-BF561提供了緩存(Cache)來管理外部SDRAM存儲區(qū)。
此外,ADSP-BF561提供了多達3個DMA引擎并可以支持2D-DMA傳輸。有了DMA的支持系統(tǒng)可以在后臺完成大量的數(shù)據(jù)搬移。以幀為單位的視頻數(shù)據(jù)太大必須存儲在外部SDRAM中,這樣處理速度會受到SDRAM訪問速度的影響。但在H.264的處理中,就可以利用ADSP-BF561強大的DMA引擎,將算法的處理模式優(yōu)化成按宏塊(Macro Block)進行處理。可以在每個MB處理前將相關(guān)MB的數(shù)據(jù)用DMA從外存搬到內(nèi)部存儲器中。這樣每次MB處理的數(shù)據(jù)都是內(nèi)存的訪問,可以顯著的提高視頻處理的速度。
對編解碼算法進行指令優(yōu)化的挑戰(zhàn)就是如何盡可能的實現(xiàn)指令的并行處理。利用ADI提供的強大的程序優(yōu)化器可以基于Blackfin?內(nèi)核的特點進行指令優(yōu)化,從而獲取對處理器內(nèi)核處理單元的利用。ADSP-BF561的內(nèi)核中除了兩個傳統(tǒng)的ALU處理單元,還集成4個針對視頻應(yīng)用的8bit ALU。基于這種內(nèi)核處理單元架構(gòu),Blackfin?提供了視頻處理指令來加速關(guān)鍵視頻處理模塊,比如整系數(shù)變換、ME等等。
在基于上述方法的優(yōu)化后,工程師們可以輕松的在ADSP-BF561的一個單核上實現(xiàn)具有CIF分辨率,超過30幀每秒的H.264實時編解碼處理。
功耗和成本控制
如今,對于工程師而言,不僅要設(shè)計出滿足不斷出現(xiàn)的新需求的系統(tǒng),更大的挑戰(zhàn)在于如何盡可能的降低設(shè)計成本和系統(tǒng)功耗而又不犧牲系統(tǒng)性能和功能。
降低成本的一個趨勢就是減少系統(tǒng)中芯片的數(shù)量,盡量做到單芯片或SOC解決方案。在類似上述IP視頻可視電話的應(yīng)用中,因為要求同時承擔(dān)復(fù)雜的視頻處理和多種應(yīng)用控制和協(xié)議處理。傳統(tǒng)方案中總是必須同時集成有DSP和MCU。在基于Blackfin?的方案中則可實現(xiàn)單一處理器同時完成視頻處理和協(xié)議控制的功能。Blackfin?特有的DSP及RISC融合的內(nèi)核架構(gòu)可以輕松的支持這類設(shè)計要求。
除了成本的要求外,功耗也是需要工程師們重點關(guān)注的。Blackfin?系列處理器充分考慮了手持式應(yīng)用對功耗的苛刻要求,在處理器內(nèi)部提供動態(tài)電源管理模塊,借助該模塊可以根據(jù)當前工作的復(fù)雜度對工作頻率和工作電壓進行獨立的動態(tài)控制,從而達到降低功耗的目的。此外,Blackfin?還支持Full on, Active, Sleep,Deep Sleep, Hibernate等多種工作模式,使得系統(tǒng)在空閑狀態(tài)時可以有選擇的進入休眠狀態(tài),在這種狀態(tài)下大部分的功能單元的供電將被斷開以減少不必要的功耗。
結(jié)論
對于設(shè)計實現(xiàn)一個低成本低功耗的復(fù)雜視頻應(yīng)用系統(tǒng),選擇合適的處理器對系統(tǒng)成敗是非常關(guān)鍵的。象Blackfin?這樣,將DSP強大的處理能力和RISC的MCU特性融合一體,可以很好支持操作系統(tǒng)和應(yīng)用協(xié)議棧同時還能輕松完成象H.264這樣的復(fù)雜視頻應(yīng)用的單芯片解決方案,無疑是開發(fā)者的一個很好的選擇。因為其成本和功耗也是非常有競爭力的。
參考文獻:
[1]. MSA datasheet http://m.58mhw.cn/datasheet/MSA_1580912.html.
[2]. RISC datasheet http://m.58mhw.cn/datasheet/RISC+_1189725.html.
[3]. ALU datasheet http://m.58mhw.cn/datasheet/ALU_2089372.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識2025/6/18 16:30:52












