◎劉會(huì)楊
實(shí)時(shí)視頻處理系統(tǒng)詳細(xì)設(shè)計(jì)
◎劉會(huì)楊
本文介紹了以FPGA和dsp框架的實(shí)時(shí)視頻采集、處理、傳輸以及后端的圖像壓縮處理算法設(shè)計(jì)。FPGA(Field- Programmable Gate Array),即現(xiàn)場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn),DSP(Digital Signal Process)即數(shù)字信號(hào)處理技術(shù),DSP芯片即指能夠?qū)崿F(xiàn)數(shù)字信號(hào)處理技術(shù)的芯片。
該系統(tǒng)采用了基于FPGA+DSP協(xié)同工作的模式來對(duì)實(shí)時(shí)視頻進(jìn)行處理,實(shí)現(xiàn)了從視頻的采集、處理及傳輸?shù)恼麄€(gè)流程。
實(shí)時(shí)視頻圖像采集處理過程中,底層的數(shù)據(jù)處理量較大,但算法要求相對(duì)簡單一些,但是對(duì)處理的速度要求高,非常適用于FPGA來實(shí)現(xiàn)該處理,F(xiàn)PGA處理速度快、靈活性高。上層的圖像處理算法相對(duì)就較為復(fù)雜,適用于運(yùn)算速度高、尋址方式靈活、通訊機(jī)制強(qiáng)的DSP芯片技術(shù)。
DSP+FPGA架構(gòu)是當(dāng)前圖像采集處理應(yīng)用最為廣泛的,因?yàn)樵摽蚣?結(jié)構(gòu)靈活、有較強(qiáng)的通用性、適合于模塊化設(shè)計(jì),高速的算法運(yùn)算處理縮短了開發(fā)周期,同時(shí)使系統(tǒng)易于維護(hù)和升級(jí),為廣大的視頻處理工程師所追捧。
該系統(tǒng)框架采用了模塊化的設(shè)計(jì)方案,將整個(gè)系統(tǒng)劃分為三個(gè)部分:分視頻采集單元;視頻處理單元;視頻傳輸單元,清晰的描述了實(shí)時(shí)圖像輸出的處理流程。
FPGA作為核心控制單元,完成視頻信號(hào)的采集、濾波工作。以DSP作為整個(gè)系統(tǒng)的核心處理單元對(duì)采集的視頻圖像信息進(jìn)行復(fù)雜的JPEG壓縮處理。而在視頻傳輸單元設(shè)計(jì)了以PDIUSBD12芯片為基礎(chǔ)的USB總線,專門負(fù)責(zé)視頻信號(hào)的傳輸工作。
視頻采集、處理框架分為視頻采集單元、視頻處理單元及視頻傳輸單元三部分組成而成。系統(tǒng)在設(shè)計(jì)時(shí)必須保證各個(gè)部分分工明確而又能無縫銜接。
FPGA和MB86S02視頻采集芯片作為圖像采集單元,實(shí)現(xiàn)了視頻信號(hào)的采集和預(yù)處理,快速而穩(wěn)定的將輸入的視頻信號(hào)轉(zhuǎn)換成數(shù)字圖像數(shù)據(jù),并按照一定的格式存儲(chǔ)在確定的存儲(chǔ)區(qū)域。
DSP芯片為本系統(tǒng)的核心,對(duì)圖像數(shù)據(jù)進(jìn)行壓縮處理,實(shí)現(xiàn)系統(tǒng)要達(dá)到的功能,將龐大的數(shù)據(jù)轉(zhuǎn)化為人眼能夠看到的jpg圖像。
圖像的上數(shù)據(jù)傳輸單元基于FPGA+USB模式,數(shù)據(jù)以PDIUSBD12芯片的USB總線為傳輸媒介,將處理后的的視頻圖像數(shù)據(jù)發(fā)送到數(shù)據(jù)接收端,接收的PC端將壓縮的數(shù)據(jù)解壓成RGB或其他格式顯示出來。
FPGA+DSP組成了該框架的硬件系統(tǒng),圖像采集單元為FPGA,將采集到的圖像信號(hào)處理后傳輸給DSP,圖像實(shí)時(shí)處理系統(tǒng)的核心模塊,即DSP,對(duì)已經(jīng)預(yù)處過的圖像數(shù)據(jù)經(jīng)過復(fù)雜的運(yùn)算,壓縮成數(shù)據(jù)量較小的JPEG數(shù)據(jù),這一步復(fù)雜的操作非常耗時(shí),所以整個(gè)系統(tǒng)的性能由DSP單元決定著,圖像數(shù)據(jù)經(jīng)過DSP處理完成圖后再次返回給FPGA,數(shù)據(jù)再經(jīng)過FPGA寫到接口控制芯片的數(shù)據(jù)緩沖區(qū)中,最后數(shù)據(jù)由接口控制芯片負(fù)責(zé)信息的傳輸。
再此講述一個(gè)視頻采集、處理、傳輸用例。以FPGA控制的MB86S02視頻圖像傳感器負(fù)責(zé)圖像數(shù)據(jù)的采集,MB86S02傳感器在收到PC機(jī)的采集信號(hào)后開始視頻信號(hào)的采集,同時(shí)在負(fù)責(zé)圖像數(shù)據(jù)采集的FPGA單元還要擔(dān)負(fù)起視頻圖像信息的簡單理和系統(tǒng)其他各單元模塊之間的數(shù)據(jù)交互工作。系統(tǒng)應(yīng)采用大容量的片外SDRAMR對(duì)采集到的視頻圖像信息進(jìn)行緩存,因?yàn)橐曨l圖像數(shù)據(jù)量比較大,系統(tǒng)應(yīng)保證圖像的實(shí)時(shí)處理,F(xiàn)PGA實(shí)現(xiàn)對(duì)SDRAM控制,F(xiàn)PGA首先要對(duì)緩存在SDRAM的視頻圖像進(jìn)行簡單的濾波處理,消除圖像數(shù)據(jù)中的一些噪聲干擾,F(xiàn)PGA+DSP系統(tǒng)中采用中值濾波的方式對(duì)采集到的視頻信息進(jìn)行簡單的預(yù)處理,預(yù)處理后的數(shù)據(jù)再通過FPGA內(nèi)部FIFO進(jìn)入DSP中進(jìn)行復(fù)雜的壓縮處理。第一步首先上電加載DSP,加載后就可以等待FPGA發(fā)送的命令請(qǐng)求,當(dāng)DSP收到FPGA的命令請(qǐng)求后,建立一個(gè)EDMA通道接收FPGA傳送的圖像數(shù)據(jù),當(dāng)接收滿一幀后便開始對(duì)視頻圖像進(jìn)行負(fù)載的JPEG壓縮處理,視頻圖像信息經(jīng)過DSP的壓縮處理后經(jīng)過FIFO緩存,由 FPGA的控制寫入U(xiǎn)SB接口控制器的數(shù)據(jù)緩存區(qū),至此圖像數(shù)據(jù)處理完成,等待PC機(jī)的讀數(shù)請(qǐng)求,為方便PC端的下一步讀取數(shù)據(jù),USB接口控制器在收到PC機(jī)的讀數(shù)請(qǐng)求后將數(shù)據(jù)寫入PDIUSBD12的端口1。

FPGA+DSP系統(tǒng)軟件設(shè)計(jì)和硬件設(shè)計(jì)一樣,同樣可以分為兩個(gè)部分來講述。FPGA和DSP之間的運(yùn)行是相對(duì)獨(dú)立的,他們通過中斷信號(hào)來實(shí)現(xiàn)數(shù)據(jù)的實(shí)時(shí)交互。首先FPGA向DSP方向發(fā)送一個(gè)EDMA請(qǐng)求,DSP收到該請(qǐng)求后建立一個(gè)EDMA EDMA通道,DSP開始讀取緩存在FIFO中的FPGA已經(jīng)預(yù)先處理過的數(shù)據(jù),等待DSP壓縮處理完成后向FPGA發(fā)送一個(gè)中斷信號(hào),F(xiàn)PGA收到DSP的處理完成信號(hào)后從FIFO中把壓縮后的圖像數(shù)據(jù)讀出來。
FPGA+DSP實(shí)時(shí)處理系統(tǒng)的整個(gè)操作流程,可以簡單描述為:系統(tǒng)上電后,DSP自行加載,加載完成后進(jìn)入EDMA等待狀態(tài),等待數(shù)據(jù)處理信號(hào),F(xiàn)PGA初始化后等待接收視頻圖像采集命令,收到視頻圖像采集命令后開始采集圖像,并對(duì)圖像進(jìn)行簡單的預(yù)處理,以消除一些噪聲的干擾,最后將圖像數(shù)據(jù)放入FIFO緩沖區(qū),當(dāng)處理了一定的數(shù)據(jù)量后,通知FPGA建立EDMA通道用來下一步的壓縮處理,通知信號(hào)發(fā)送后等待DSP建立EDMA通道的響應(yīng),DSP將預(yù)處理后的圖像數(shù)據(jù)從FIFO中讀取后放到到L2存儲(chǔ)器,存滿一幀圖像后開始JEPG圖像壓縮,壓縮處理完成后發(fā)送中斷信號(hào)通知FPGA,F(xiàn)PGA在收到中斷信號(hào)后再從 FIFO中讀取壓縮后的圖像數(shù)據(jù)。同時(shí)判斷編碼信號(hào)是否有效,如果無效則通知DSP結(jié)束,如果有效則按同樣的規(guī)則對(duì)下一幀圖像進(jìn)行壓縮。
FPGA+DSP的系統(tǒng)方案體積僅為70×70mm,體積小,功耗低,濾波速度更是能達(dá)到25F/S,圖像數(shù)據(jù)壓縮速率更是能達(dá)到30F/s以上。不僅慢速了視頻處理系統(tǒng)的實(shí)時(shí)性要求,更是具有良好的靈活性和擴(kuò)展性。FPGA+DSP的系統(tǒng)方案設(shè)計(jì)已經(jīng)通過了硬件驗(yàn)證,并達(dá)到了預(yù)定的設(shè)計(jì)要求,實(shí)現(xiàn)了大數(shù)據(jù)量的實(shí)時(shí)處理,并應(yīng)用于廣大的視頻圖像市場。
(作者單位:石家莊優(yōu)創(chuàng)科技股份有限公司)