-- 信息提供:詹柯(ADI 技術(shù)市場(chǎng)經(jīng)理)
上海2009年5月25日電 /美通社亞洲/ -- 隨著人們對(duì)生活質(zhì)量要求的提高和全球反恐的大勢(shì)所需,以及數(shù)字化技術(shù)本身的不斷進(jìn)步,依托指紋識(shí)別、虹膜識(shí)別、人臉識(shí)別等技術(shù)的生物識(shí)別方案和視頻監(jiān)控方案等正逐步成為提高個(gè)人、家庭、企業(yè)和社會(huì)安全性的重要手段。生物識(shí)別方案主要包括四個(gè)步驟:圖像采集、圖像預(yù)處理,特征取樣,匹配分析;而視頻監(jiān)控方案則主要包括圖像采集、圖像預(yù)處理、圖像處理與傳輸、圖像顯示及圖像管理等。不難看出,無(wú)論是生物識(shí)別還是視頻監(jiān)控,圖像預(yù)處理都是必需的。事實(shí)上,圖像預(yù)處理算法的靈活度、復(fù)雜度、對(duì)圖像處理芯片資源的占用度,以及處理時(shí)間的長(zhǎng)度將直接對(duì)整個(gè)系統(tǒng)運(yùn)行產(chǎn)生舉足輕重的影響。因此,圖像預(yù)處理對(duì)于整個(gè)安防方案來(lái)說(shuō)都是一項(xiàng)艱巨而又關(guān)鍵的任務(wù),直接決定了后續(xù)圖像處理與分析的準(zhǔn)確性和便捷性。
圖像預(yù)處理分析
根據(jù)目的的不同,圖像預(yù)處理可分為對(duì)采集圖像進(jìn)行清晰化處理,對(duì)圖像進(jìn)行識(shí)別前的預(yù)處理,以及對(duì)圖像進(jìn)行壓縮前的預(yù)處理等。其中,對(duì)采集圖像進(jìn)行清晰化處理主要包括對(duì) CMOS 或 CCD 圖像傳感器感光單元的不一致進(jìn)行后續(xù)糾正,對(duì)實(shí)際環(huán)境與傳感器采集的圖像進(jìn)行差異補(bǔ)償(如背光),以及對(duì)采集到的原始圖像進(jìn)行去噪處理等。雖然這種預(yù)處理算法本身的難度不大,但隨著實(shí)時(shí)性需求的普及,尤其是在像素較大時(shí),這種算法還是對(duì) DSP ( http://www.analog.com/embedded-processing-dsp/processors/zh/index.html ) 的處理能力提出了很高的要求。
而對(duì)圖像進(jìn)行識(shí)別前的預(yù)處理則目的性很強(qiáng),可能需要破壞原來(lái)的像素和分布,以便后續(xù)進(jìn)行特征提取。這種預(yù)處理算法的難度視識(shí)別場(chǎng)合的不同而不同。要綜合后面的識(shí)別算法部分,選擇適當(dāng)?shù)?DSP。圖像壓縮前的預(yù)處理主要是指將 YUV422 變?yōu)?YUV420、將 RGB 變?yōu)?YUV 等。這類處理往往有實(shí)時(shí)性要求,如果采用軟件實(shí)現(xiàn),會(huì)對(duì)處理性能有較高的要求;如果采用硬件實(shí)現(xiàn),則雖然在處理性能上有保證,但硬件成本會(huì)有所上升。
同時(shí),根據(jù)應(yīng)用不同,圖像預(yù)處理又可分為生物識(shí)別應(yīng)用中的圖像預(yù)處理和視頻監(jiān)控應(yīng)用中的圖像預(yù)處理。對(duì)于生物識(shí)別應(yīng)用,以指紋識(shí)別為例,其預(yù)處理主要包括指紋圖像增強(qiáng)、指紋圖像二值化、指紋圖像細(xì)化、指紋圖像細(xì)化后處理。而視頻監(jiān)控應(yīng)用中的圖像預(yù)處理主要是指對(duì)圖像傳感器輸出的連續(xù)圖像進(jìn)行分析,獲取足夠的信息,并通過(guò)自動(dòng)白平衡、伽馬 (Gamma) 校正、自動(dòng)聚焦、自動(dòng)曝光、背光補(bǔ)償?shù)葋?lái)提高圖像的實(shí)際效果。
圖像預(yù)處理的挑戰(zhàn)
無(wú)論是生物識(shí)別還是視頻監(jiān)控,其圖像預(yù)處理正面臨以下挑戰(zhàn):其一,用戶對(duì)圖像質(zhì)量的要求越來(lái)越高,圖像預(yù)處理的算法越來(lái)越復(fù)雜,從而對(duì)圖像預(yù)處理主芯片處理能力及存儲(chǔ)空間提出了更加苛刻的要求;其二,用戶對(duì)圖像的實(shí)時(shí)性處理和傳輸要求越來(lái)越高,一方面要求圖像預(yù)處理算法盡量?jī)?yōu)化、精簡(jiǎn),另一方面也對(duì)圖像預(yù)處理主芯片的內(nèi)核處理能力、內(nèi)部總線架構(gòu)、數(shù)據(jù)傳輸能力、外圍接口,以及硬件整體架構(gòu)和指令集對(duì)預(yù)處理算法的支持提出了更高要求;其三,不同于圖像和視頻編解碼算法具有業(yè)界統(tǒng)一的算法標(biāo)準(zhǔn)和清晰的演進(jìn)路線圖,圖像預(yù)處理算法不僅沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)和清晰的發(fā)展方向,甚至在很大程度上,方案提供商正是通過(guò)這些”秘密”的個(gè)性化算法來(lái)作為市場(chǎng)競(jìng)爭(zhēng)的法寶。此外,隨著應(yīng)用領(lǐng)域的不同、需求的提高和技術(shù)本身的演進(jìn),原有算法會(huì)不斷升級(jí),新的算法會(huì)不斷涌現(xiàn),這些都要求圖像預(yù)處理芯片具有更高的靈活性和適應(yīng)能力。其四,對(duì)于方案提供商來(lái)說(shuō),不僅其體現(xiàn)競(jìng)爭(zhēng)力的核心算法需要防止被非法讀取或拷貝,而且無(wú)論是生物識(shí)別還是視頻監(jiān)控,其圖像數(shù)據(jù)往往都會(huì)涉及隱私,因此也需要提供可以信任的安全保證。以上兩方面,都要求圖像處理芯片必須提供一個(gè)可靠、完全的處理平臺(tái)。
基于以上多方面的挑戰(zhàn),在圖像預(yù)處理主芯片的選擇上,以控制能力見(jiàn)長(zhǎng)的傳統(tǒng) MCU 并不適合龐大、復(fù)雜的算法處理;ASIC 雖然在運(yùn)算速度和功耗方面具有一定的優(yōu)勢(shì),但其成本高、靈活性差,且不利于升級(jí)和修改,因此無(wú)法滿足預(yù)處理算法個(gè)性化的靈活性需求;FPGA 并行處理的架構(gòu)雖然具備了強(qiáng)大的數(shù)據(jù)處理能力,但價(jià)格、功耗,以及開(kāi)發(fā)難度方面的缺點(diǎn)使其很難成為圖像預(yù)處理的主流選擇;而 DSP 則以強(qiáng)大的數(shù)據(jù)處理能力和軟件可編程能力成為圖像預(yù)處理主芯片的主流選擇。
除了以上挑戰(zhàn),從系統(tǒng)設(shè)計(jì)的角度來(lái)講,還面臨以下幾方面的需求:
其一,雖然圖像預(yù)處理和圖像處理工作巨大,但是工程師并不希望采用多個(gè)芯片來(lái)處理這件事情。因?yàn)樾盘?hào)處理和控制系統(tǒng)分別運(yùn)行于不同處理器的傳統(tǒng) DSP 架構(gòu)已經(jīng)讓工程師非常頭疼,如果再把圖像預(yù)處理和圖像處理分開(kāi),則更加大了工程師進(jìn)行系統(tǒng)開(kāi)發(fā)、系統(tǒng)聯(lián)調(diào)、系統(tǒng)維護(hù)的難度。因此,對(duì)于系統(tǒng)設(shè)計(jì)中的主芯片 DSP 來(lái)說(shuō),還面臨集成度的要求 -- 有沒(méi)有可能在單芯片上實(shí)現(xiàn)圖像預(yù)處理、圖像處理,甚至包括系統(tǒng)控制等功能。
其二,隨著包括預(yù)處理在內(nèi)的整個(gè)圖像處理算法復(fù)雜性的不斷增加,作為主處理器的 DSP,除了需要提供足夠的硬件處理能力之外,還應(yīng)該在軟件上提供針對(duì)該處理器專門(mén)優(yōu)化的指令集,從而幫助工程師降低對(duì)處理器物理架構(gòu)的熟悉難度,較大限度的駕馭、發(fā)揮處理器的特性,盡快開(kāi)發(fā)出精簡(jiǎn)、優(yōu)化的圖像處理算法。
其三,除了上面提到的專門(mén)優(yōu)化的指令集以外,面對(duì)日益復(fù)雜的圖像處理和產(chǎn)品上市時(shí)間的壓力,工程師還期望處理器供應(yīng)商能夠分擔(dān)一些他們的工作 -- 比如,提供專門(mén)針對(duì)該處理器優(yōu)化、僅占極少量時(shí)鐘周期的底層圖像處理軟件模塊,以幫助他們縮短圖像處理算法開(kāi)發(fā)流程,并加速軟件移植。
另外,功能強(qiáng)大、界面友好、簡(jiǎn)單易學(xué)的開(kāi)發(fā)工具也是系統(tǒng)開(kāi)發(fā)中工程師要求的重點(diǎn),而且隨著系統(tǒng)復(fù)雜度和模塊復(fù)用性需求的增加,對(duì)開(kāi)發(fā)工具的兼容性也提出了更高的要求。
理想的 DSP 處理器
基于以上分析,針對(duì)圖像處理應(yīng)用的理想 DSP 處理器必須具備以下幾方面的特點(diǎn):內(nèi)核處理能力強(qiáng);專門(mén)針對(duì)圖像處理的指令集;易于大量數(shù)據(jù)傳輸?shù)牡凸挠布軜?gòu);高集成度;豐富的軟件模塊庫(kù);功能強(qiáng)大的開(kāi)發(fā)工具。以下是對(duì)該類 DSP 處理器的代表系列 -- Blackfin 匯聚處理器架構(gòu)的具體分析。
硬件特性
Blackfin DSP 處理器基于由 ADI 和 Intel 公司聯(lián)合開(kāi)發(fā)的微信號(hào)架構(gòu) (MSA),通過(guò)將傳統(tǒng) DSP 和微控制器的優(yōu)點(diǎn)融為一體,兼顧了事件控制以及純算法運(yùn)算處理功能。其匯聚的單一內(nèi)核可提供高達(dá) 756MHz 的處理能力,不僅為處理復(fù)雜的預(yù)處理算法提供了強(qiáng)大性能保證,而且為整個(gè)系統(tǒng)的圖像處理和事件控制提供了強(qiáng)有力的硬件支持,從而允許工程師在單芯片上實(shí)現(xiàn)圖像預(yù)處理、圖像處理、系統(tǒng)控制,大大提高了系統(tǒng)的集成度。
Blackfin 系列處理器的硬件架構(gòu)專門(mén)針對(duì)圖像處理進(jìn)行優(yōu)化,多個(gè) DMA 通道和可靈活配置的 Cache 能很好地解決大運(yùn)算量、高數(shù)據(jù)吞吐率的圖像處理應(yīng)用要求。在圖像處理應(yīng)用中,雖然對(duì)圖像數(shù)據(jù)進(jìn)行的傳輸也可由軟件實(shí)現(xiàn),但是這樣會(huì)消耗掉大量的 CPU 時(shí)鐘周期,從而使 DSP 的高速數(shù)據(jù)處理能力難以發(fā)揮。如果由 DMA 獨(dú)立負(fù)責(zé)數(shù)據(jù)傳輸,那么在系統(tǒng)內(nèi)核對(duì) DMA 進(jìn)行初始設(shè)置并啟動(dòng)后,DMA 控制器就可在無(wú)需內(nèi)核參與的情況下直接把圖像數(shù)據(jù)從 PPI 接口傳輸至 SDRAM 存儲(chǔ)器進(jìn)行存儲(chǔ),比如在進(jìn)行 MPEG 或 JPEG 處理的計(jì)算密集型算法中,一個(gè)靈活的 DMA 控制器能省去額外的數(shù)據(jù)通路。此外,通過(guò)二維 DMA 還能簡(jiǎn)化宏塊進(jìn)出外部存儲(chǔ)器的傳送,從而允許數(shù)據(jù)控制成為數(shù)據(jù)實(shí)際傳送的一部分,這對(duì)色彩空間元素的交叉和解交叉來(lái)說(shuō)非常方便也非常重要。因此,Blackfin 處理器 ( http://www.analog.com/zh/embedded-processing-dsp/blackfin/content/index.html ) 的這種特性在有效地解決了大批量圖像數(shù)據(jù)傳輸這一速度瓶頸的同時(shí),又能讓 DSP 處理器抽出更多的資源從事算法處理工作,大幅提高了系統(tǒng)的處理能力。
而且,針對(duì)圖像處理應(yīng)用,Blackfin 系列 DSP 還在不斷強(qiáng)化硬件功能模塊的支持,比如,ADSP-BF54x 系列 Blackfin 處理器的最新版本中增加了一個(gè)用于處理疊加圖像 (Pixel Compositor) 的硬件加速器和一個(gè)擴(kuò)展視頻接口 (EPPI),它使得色彩空間變換、縮放和圖像疊加等任務(wù)可以在無(wú)需處理器參與計(jì)算的情況下完成,從而減輕了內(nèi)核的處理壓力,為進(jìn)行更高性能、更高速度的圖像處理提供了更多空間。
軟件特性
在指令集方面,Blackfin 系列 DSP 針對(duì)圖像處理提供了豐富的向量指令和視頻指令。其中向量指令可以實(shí)現(xiàn)對(duì)16位數(shù)的操作(大多指令可以并行完成兩個(gè)16位數(shù)的操作)。由于圖像處理運(yùn)算中大多是針對(duì)16位數(shù)的操作,因此,通過(guò)合理使用這些向量指令來(lái)優(yōu)化圖像運(yùn)算非常重要。不僅 Blackfin 指令集中的大多數(shù)算術(shù)指令和移位指令都有對(duì)應(yīng)的向量指令,而且,向量指令中還有根據(jù)符號(hào)相加、32位數(shù)轉(zhuǎn)16位數(shù)等特殊指令。在對(duì)圖像預(yù)處理的匯編優(yōu)化中合理的應(yīng)用這些向量指令,可以提高算法的并行度,并大大加快運(yùn)算速度。
視頻像素指令主要包括 BYTEOP16P (完成兩個(gè)8位數(shù)加法操作)、BYTEOP3P (完成16位和8位數(shù)的加法操作)、BYTEOPIP(完成兩個(gè)8位數(shù)求平均操作)、BYTEOPZP(完成四個(gè)8位數(shù)求平均操作)、BYTEOP16M(完成兩個(gè)8位數(shù)減法操作)、SAA (完成求SAD操作)、BYTEAPCK (完成16位數(shù)轉(zhuǎn)8位數(shù)操作),以及 BYTEUNAPCK(完成8位數(shù)轉(zhuǎn)16位數(shù)操作)等。一條視頻像素操作指令可以在一個(gè)周期內(nèi)完成4對(duì)視頻數(shù)據(jù)分量的加、減、加減混合、取平均值,或者相減并求絕對(duì)值等11種視頻像素運(yùn)算。由于視頻像素值一般都是按照8位存放的,所以使用視頻像素指令可以大大提高包括求 SAD、像素插值、8位數(shù)和16位數(shù)直接轉(zhuǎn)換等在內(nèi)的各種視頻圖像運(yùn)算的速度。
安全特性
在安全性方面,ADI 公司的 Blackfin Lockbox Secure Technology 通過(guò)提供一次可編程(OTP)存儲(chǔ)器與安全處理模式(Blackfin 安全模式),將軟件與硬件保護(hù)相結(jié)合,為開(kāi)發(fā)人員提供實(shí)現(xiàn)以上安全措施的手段,其中,在 OTP 存儲(chǔ)器的公共、非安全、用戶可編程區(qū)域開(kāi)發(fā)人員可以用來(lái)存儲(chǔ)公共密鑰,這樣可以通過(guò)可控制與可配置的方式來(lái)鑒別系統(tǒng)。而在 OTP 存儲(chǔ)器的私有、安全、用戶可編程區(qū)域,開(kāi)發(fā)人員則可以設(shè)置私人密鑰等私有器件資產(chǎn) (deviceassets),并保持這些器件資產(chǎn)的機(jī)密性與完整性。此外,在 Blackfin 處理器上使用安全模式后,處理器只能在安全處理環(huán)境內(nèi)執(zhí)行授權(quán)的信任編碼。包括保護(hù)秘密(如原始設(shè)備制造商知識(shí)產(chǎn)權(quán))、為保護(hù)電子商務(wù)與社會(huì)網(wǎng)絡(luò)而驗(yàn)證器件和用戶身份、以及數(shù)字版權(quán) (DRM)內(nèi)容保護(hù)。從而為圖像預(yù)處理方案的各個(gè)環(huán)節(jié)提供了量身定做的安全保護(hù)功能。
軟件模塊庫(kù)支持
除了以上 Blackfin DSP 在硬件架構(gòu)和指令集方面對(duì)圖像處理的支持外,ADI 公司還提供多種針對(duì)圖像處理的軟件模塊,包括 H.264 Baseline Profile Decoder 模塊、能夠按比例縮放具有不同輸入及輸出尺寸圖像的增強(qiáng)視頻后處理 (eVPP) 模塊、JPEG 編碼器模塊 MPEG-2 Decoder Simple & Main Profile Decoder 庫(kù)、MPEG-4 Simple Profile & Advanced Simple Profile Decoder 庫(kù),以及 MPEG-4 Simple Profile & Advanced Simple Profile Video Encoder 模塊等,它們都專門(mén)針對(duì) Blackfin 處理器而優(yōu)化,并經(jīng)過(guò)業(yè)界嚴(yán)格驗(yàn)證。這些軟件模塊能夠大幅降低系統(tǒng)工程師的開(kāi)發(fā)難度,并顯著提高系統(tǒng)效率。
此外,ADI 公司還專門(mén)針對(duì)圖像處理應(yīng)用推出了“Image Tool Box”軟件包,該軟件包由一系列專用模塊組成,并針對(duì)圖像處理算法的一些常用和基本函數(shù)進(jìn)行了專門(mén)優(yōu)化,可以進(jìn)行圖像變換、圖像分析與圖像增強(qiáng)、二值圖像操作以及形態(tài)學(xué)處理等圖像處理操作。這款軟件包有利于降低工程師的開(kāi)發(fā)難度,加速上層算法的實(shí)現(xiàn)和優(yōu)化。
開(kāi)發(fā)環(huán)境的支持
用于 Blackfin 系列 DSP 處理器開(kāi)發(fā)應(yīng)用和工程管理的 VisualDSP++ ( http://www.analog.com/zh/embedded-processing-dsp/software-and-reference-designs/content/visualdsp_software_test_drive/fca.html ) 開(kāi)發(fā)環(huán)境主要包括集成了 ViusalDSP++ 內(nèi)核的集成編譯和調(diào)試環(huán)境 (DIDE);帶實(shí)時(shí)運(yùn)行庫(kù)的 CC/++ 優(yōu)化編譯器;匯編器和鏈接器,以及仿真軟件和程序例程等。其中,編譯器允許程序開(kāi)發(fā)人員用 C 或 C++ 語(yǔ)言編寫(xiě)信號(hào)處理和控制代碼,從而方便了系統(tǒng)的開(kāi)發(fā)和維護(hù)。圖形化的友好用戶信息交換界面使工程師能夠在窗口中進(jìn)行工程管理、編輯、編譯和調(diào)試程序,并在其間快速輕松地切換。此外,VisualDSP++ 開(kāi)發(fā)工具還與 Green Hills 軟件公司的 MULTI 環(huán)境、NI 公司的 LabVIEW 軟件,以及 MathWorks 公司的 MATLAB 和 Simulink 軟件相兼容,為系統(tǒng)開(kāi)發(fā)和模塊復(fù)用提供了一個(gè)更加便捷、寬松的環(huán)境。