引言
無(wú)人機(jī)廣泛應(yīng)用于軍事偵察以及民用測(cè)繪等領(lǐng)域,其中的機(jī)載視頻圖像系統(tǒng)是機(jī)載電子系統(tǒng)中的重要環(huán)節(jié)之一。無(wú)人機(jī)在高空飛行中對(duì)地面景物攝像,所得圖像幀內(nèi)目標(biāo)像素小且目標(biāo)數(shù)量大,這要求增大圖像分辨率以提高目標(biāo)物體的辨識(shí)度。此時(shí)數(shù)據(jù)量隨之顯著增加,與有限的無(wú)線帶寬資源成為矛盾,故要求應(yīng)用高效的視頻編解碼技術(shù)。在偵察等特殊應(yīng)用領(lǐng)域要求視頻傳輸?shù)膶?shí)時(shí)性,此時(shí)需要保證實(shí)時(shí)的視頻編解碼以及較小的圖像延遲。在需多路視頻傳輸且總數(shù)據(jù)率固定的情況下,可通過(guò)降低單路視頻分辨率或提高單路壓縮比來(lái)實(shí)現(xiàn),故系統(tǒng)應(yīng)可動(dòng)態(tài)切換分辨率和壓縮比,具備較大的靈活性。無(wú)人機(jī)與地面的通信中,除了要回傳視頻數(shù)據(jù)以外,還要向地面?zhèn)鬏旓w行器本身的下行遙測(cè)數(shù)據(jù),若采用兩個(gè)獨(dú)立信道會(huì)導(dǎo)致傳輸效率較低,此時(shí)設(shè)計(jì)一個(gè)包括傳統(tǒng)遙測(cè)數(shù)據(jù)和視頻數(shù)據(jù)的廣義遙測(cè)系統(tǒng)成為必需。
本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于FPGA和DSP的機(jī)載高清視頻圖像系統(tǒng),包括機(jī)載設(shè)備端和地面站端兩部分,最高支持分辨率為1 280× 720,每秒25幀的MPEG-4實(shí)時(shí)視頻編解碼,碼速率在5 Mbps以下。并可通過(guò)上行遙控指令動(dòng)態(tài)切換圖像分辨率和視頻碼率,同時(shí)實(shí)現(xiàn)了視頻數(shù)據(jù)與遙測(cè)數(shù)據(jù)的組幀傳輸。
本文首先對(duì)機(jī)載視頻圖像遙測(cè)系統(tǒng)進(jìn)行概述,提出了系統(tǒng)的總體實(shí)現(xiàn)結(jié)構(gòu)。然后具體給出系統(tǒng)的設(shè)計(jì),分為硬件平臺(tái)和程序算法兩部分。硬件平臺(tái)設(shè)計(jì)包括機(jī)載端視頻采集、FPGA和DSP處理器和地面端CPCI總線接口的設(shè)計(jì),程序算法設(shè)計(jì)包括視頻編解碼算法、機(jī)載端DSP程序和地面端上位機(jī)軟件的設(shè)計(jì)。文章最后給出了系統(tǒng)掛飛實(shí)驗(yàn)的結(jié)果并作以總結(jié)。
1 系統(tǒng)概述
機(jī)載視頻圖像系統(tǒng)主要由機(jī)載設(shè)備端和地面站端兩部分組成,系統(tǒng)總體結(jié)構(gòu)圖如圖1所示。
1)機(jī)載設(shè)備端
視頻AD將影像傳感器輸出的高清視頻模擬信號(hào)進(jìn)行模數(shù)轉(zhuǎn)換傳遞給FPGA,F(xiàn)PGA將預(yù)處理后的原始數(shù)字視頻數(shù)據(jù)傳遞給DSP進(jìn)行實(shí)時(shí)視頻編碼,DSP完成視頻編碼后將壓縮碼流回傳給FPGA,在FPGA 中,壓縮視頻碼流與下行遙測(cè)數(shù)據(jù)組幀后進(jìn)入調(diào)制部分;同時(shí)上行遙控指令進(jìn)入FPGA,對(duì)圖像分辨率、視頻碼率進(jìn)行控制。
2)地面站端
解調(diào)后的數(shù)據(jù)進(jìn)入FPGA,F(xiàn)PGA將視頻數(shù)據(jù)與遙測(cè)數(shù)據(jù)分離,其中遙測(cè)數(shù)據(jù)進(jìn)入后續(xù)的分析處理,視頻數(shù)據(jù)經(jīng)PCI9054,通過(guò)CPCI接口上傳給上位機(jī),上位機(jī)完成對(duì)視頻壓縮碼流的實(shí)時(shí)解碼播放以及存儲(chǔ)回放。
2 系統(tǒng)設(shè)計(jì)
2.1 硬件平臺(tái)
2.1.1 機(jī)載端視頻采集
高清模擬視頻信號(hào)為保證信號(hào)質(zhì)量,常采用分量輸出格式,如亮度信號(hào)(Y)和色差信號(hào)(Cr、Cb)三分量輸出,同時(shí)場(chǎng)同步和行同步信號(hào)可采取疊加在分量信號(hào)上的內(nèi)同步方式輸出。本系統(tǒng)中高清視頻信號(hào)采用720 P(1 280×720)格式,25幀/秒,選用TI公司的視頻ADC芯片TVP70025I完成該高清模擬視頻的模數(shù)轉(zhuǎn)換,采樣精度及方式選取為8位,4:2:2(Y:Cb:Cr)采樣。TVP70025I與外部器件連接關(guān)系如圖2所示。TVP7OO25I輸出數(shù)字化視頻分量(Y、Cb和Cr)、數(shù)據(jù)時(shí)鐘(DATACLK)、場(chǎng)同步(VS0UT)和行同步(HSOUT)信號(hào)給FPGA,DSP通過(guò)I C總線對(duì)TVP70025I內(nèi)部寄存器進(jìn)行初始化設(shè)置,并啟動(dòng)模數(shù)轉(zhuǎn)換過(guò)程。
2.1.2 機(jī)載端DSP+FPGA處理器
機(jī)載端處理部分主要完成數(shù)字視頻信號(hào)獲取、視頻壓縮編碼和遙控遙測(cè)接口功能,考慮到DSP強(qiáng)大的數(shù)字信號(hào)處理能力和FPGA 的大規(guī)模邏輯設(shè)計(jì)能力,系統(tǒng)采用FPGA+DSP的硬件架構(gòu)。
FPGA 選用Altera 公司StratixII 系列芯片EP2S30F672C5,該芯片有豐富的邏輯資源和嵌人式存儲(chǔ)器,支持LVTTL、LVDS等接口電平標(biāo)準(zhǔn)。主要功能設(shè)計(jì)如圖3所示。
包括以下3個(gè)方面:
1)數(shù)字視頻獲取
FPGA通過(guò)TVP70025I輸出的場(chǎng)同步和行同步信號(hào)判斷一場(chǎng)和一行視頻的起始,接收原始視頻數(shù)據(jù)(Y/Cb/Cr)并存人FPGA 內(nèi)部開(kāi)辟的FIFO之中,考慮到數(shù)據(jù)傳輸?shù)母咝裕杈彺嫒舾尚袌D像并一次性傳遞至DSP,由于FPGA內(nèi)部存儲(chǔ)器有限,故外掛SRAM 作為數(shù)據(jù)緩沖。
2)DSP與FPGA間數(shù)據(jù)傳輸
DSP與FPGA之間通過(guò)DSP的EMIFA 接口連接,F(xiàn)PGA內(nèi)開(kāi)辟FIFO 或者寄存器,DSP通過(guò)EMIFA讀寫(xiě)FIFO或寄存器內(nèi)的數(shù)據(jù)實(shí)現(xiàn)數(shù)據(jù)傳輸。本系統(tǒng)中分別開(kāi)辟原始視頻FIFO(Y/Cb/Cr 3個(gè))、壓縮視頻FIFO和遙控指令寄存器,對(duì)應(yīng)于DSP中的5個(gè)地址空間,以地址線的最高3位進(jìn)行區(qū)分。考慮到最大數(shù)據(jù)吞吐率為原始視頻的傳遞,EMIFA 數(shù)據(jù)寬度設(shè)為32位,數(shù)據(jù)時(shí)鐘選取4O M Hz。
3)遙控及遙測(cè)
本系統(tǒng)中可接受地面測(cè)控站傳遞的上行遙控指令,通過(guò)改變采樣方式,對(duì)視頻分辨率進(jìn)行切換,包括QCIF(176×144)、CIF(352×288)、標(biāo)清(720×576)和高清(1 280×720)4種模式。同時(shí)可根據(jù)遙控指令改變編碼算法中的參數(shù),進(jìn)而實(shí)現(xiàn)視頻數(shù)據(jù)的碼率控制,分為最高至最低5個(gè)碼率等級(jí)。
編碼后的視頻數(shù)據(jù)與下行遙測(cè)數(shù)據(jù)進(jìn)行組幀,作為整體碼流進(jìn)入調(diào)制階段。系統(tǒng)中設(shè)計(jì)幀格式如表1所示。
每大幀包括64個(gè)子幀,以1字節(jié)子幀計(jì)數(shù)標(biāo)識(shí),大幀計(jì)數(shù)以?xún)勺止?jié)時(shí)統(tǒng)信息標(biāo)識(shí)。前63個(gè)子幀用于傳輸視頻數(shù)據(jù),考慮到采用變長(zhǎng)視頻編碼算法后每幀壓縮圖像字節(jié)數(shù)不固定,組幀過(guò)程中需填充無(wú)效字節(jié)以保證每子幀中1 022字節(jié)的視頻數(shù)據(jù),故我們以?xún)勺止?jié)有效字節(jié)數(shù)來(lái)標(biāo)識(shí)有效的視頻字節(jié)數(shù)。第64子幀用于傳輸遙測(cè)數(shù)據(jù)。每個(gè)子幀以3字節(jié)同步碼作為結(jié)束。
DSP選用TI公司的新一代高性能定點(diǎn)DSPTMS320C6455,它基于C64x+ 內(nèi)核結(jié)構(gòu),片內(nèi)采用L1/L2兩級(jí)緩存結(jié)構(gòu),主頻達(dá)1.2 GHz,最大峰值速度9 600 MIPS。
此外,TMS32OC6455擁有豐富的外部接口,如總線接口(FC等)和外部存儲(chǔ)器接口(EMIFA、DDR2)等。主要功能設(shè)計(jì)如圖4所示。
DSP部分的設(shè)計(jì)主要為存儲(chǔ)空間的分配,本系統(tǒng)中分配方式如表2所示。其中CE2空間主要用于與FPGA之間的數(shù)據(jù)交互,CE3空間主要用于代碼的非易失性存儲(chǔ),CE0空間主要作為程序和數(shù)據(jù)運(yùn)行的外部空問(wèn)。
地面端采用FPGA+PCI接口芯片的架構(gòu)實(shí)現(xiàn),其中,F(xiàn)PGA主要完成視頻與遙測(cè)數(shù)據(jù)分離以及接口時(shí)序等功能,而PCI協(xié)議部分由接口芯片來(lái)實(shí)現(xiàn),該種方式減小了FPGA的邏輯設(shè)計(jì)量。系統(tǒng)中FPGA選用Ahera公司Cyclone系列芯片EPIC12Q24oc8,PCI接口芯片選用PLX公司的PCI9054。PCI9054的PCI總線接口與CPCI插槽相連,本地總線接口與FPGA相連,EEPROM 用于加載配置數(shù)據(jù)。
2.2 程序算法
2.2.1 視頻編解碼算法
目前使用較多的視頻編解碼標(biāo)準(zhǔn)有國(guó)際標(biāo)準(zhǔn)化組織(ISO)與國(guó)際電工委員會(huì)(IEC)制定的MPEG一4標(biāo)準(zhǔn),以及IS0和國(guó)際電信聯(lián)盟(ITU)制定的H.264標(biāo)準(zhǔn)。相比MPEG一4標(biāo)準(zhǔn),H.264的復(fù)雜度高,尤其對(duì)于高分辨率的應(yīng)用,硬件實(shí)現(xiàn)難度很大,而MPEG一4以其實(shí)現(xiàn)復(fù)雜度低,同時(shí)適用于高低碼率視頻的特點(diǎn),在嵌入式視頻編解碼系統(tǒng)中得到了廣泛的應(yīng)用。考慮到以上幾點(diǎn),本系統(tǒng)中選用MPEG一4標(biāo)準(zhǔn)作為視頻編解碼算法。
系統(tǒng)中選用開(kāi)源的MPEG一4視頻編解碼器XVIDSimple Profile作為源代碼。機(jī)載端完成視頻編碼功能。
將源代碼去除用戶(hù)交互等部分冗余代碼后,完成向TMSC320C6455平臺(tái)的移植。針對(duì)PC的XⅥD程序并不能滿(mǎn)足實(shí)時(shí)編碼的要求,需對(duì)程序進(jìn)行優(yōu)化:提高運(yùn)行速度。首先對(duì)部分算法進(jìn)行了優(yōu)化,采用基于預(yù)測(cè)的運(yùn)動(dòng)估計(jì) 。其次進(jìn)行代碼優(yōu)化:第一步利用CCS軟件分析各部分代碼的耗時(shí),觀察出效率較低的部分;第二步采取C語(yǔ)言級(jí)別的優(yōu)化,如使用關(guān)鍵字、偽指令向編譯器提供優(yōu)化信息,使用內(nèi)聯(lián)函數(shù),編寫(xiě)軟件流水等;第三步選出第二步優(yōu)化效果不明顯的代碼段,如量化/逆量化、1/2像素內(nèi)插、運(yùn)動(dòng)補(bǔ)償部分,用線性匯編改寫(xiě)。地面站端的上位機(jī)完成視頻解碼功能,經(jīng)測(cè)試源代碼即可滿(mǎn)足視頻解碼的實(shí)時(shí)性。
2.2.2 機(jī)載端DSP程序
DSP程序分為主程序和中斷程序兩部分,其流程圖如圖5所示。系統(tǒng)上電或復(fù)位后,DSP開(kāi)始運(yùn)行主程序,首先完成DSP內(nèi)部鎖相環(huán)、EMIFA接口、DDR2接口、I C總線以及中斷的初始化,此時(shí)DSP進(jìn)入正常工作狀態(tài)。然后通過(guò)EMIFA接口讀取FPGA中的遙控指令寄存器,獲取分辨率和視頻碼率信息。接下來(lái)根據(jù)獲取的信息初始化MPEG-4編碼算法的相應(yīng)參數(shù),對(duì)視頻ADC進(jìn)行配置并啟動(dòng)視頻采集。FPGA在視頻ADC啟動(dòng)后,每采集4行原始視頻向DSP提出一次中斷。DSP響應(yīng)中斷后,通過(guò)EMIFA讀取4行原始視頻,并輸出1 264字節(jié)視頻壓縮碼流。以高清(1 280×720)為例,需180次中斷完成一幀圖像的傳遞,且支持每幀圖像壓縮后最大為220 K字節(jié)。主程序判斷新的一幀到來(lái)后,開(kāi)始對(duì)這一幀進(jìn)行編碼。原始視頻及壓縮碼流存儲(chǔ)區(qū)均采用乒乓操作,與FPGA 的數(shù)據(jù)傳遞采用EDMA方式,故編碼與數(shù)據(jù)傳輸互不影響,保證了實(shí)時(shí)性。
2.2.3 地面端上位機(jī)軟件
地面端上位機(jī)軟件界面采用VC MFC編寫(xiě),CPCI設(shè)備驅(qū)動(dòng)程序采用Driver Studio編寫(xiě),軟件主要完成通過(guò)CPCI接口對(duì)視頻壓縮碼流的讀取、實(shí)時(shí)視頻解碼播放、視頻文件保存回放等功能。軟件操作簡(jiǎn)便、人機(jī)交互良好,界面如圖6所示。
3 實(shí)驗(yàn)結(jié)果
本文設(shè)計(jì)的機(jī)載高清視頻圖像系統(tǒng)設(shè)備體積小,功耗低,可靠性高,圖7(a)、(b)分別為機(jī)載設(shè)備端板卡與地面站端板卡實(shí)物圖。
本系統(tǒng)成功進(jìn)行了有人機(jī)掛飛實(shí)驗(yàn),共進(jìn)行了兩次實(shí)際飛行。每次的飛行測(cè)試時(shí)間為2 h,飛行高度為3 km,飛行半徑為5 km,飛行速度在200 km/h左右。實(shí)驗(yàn)結(jié)果表明系統(tǒng)實(shí)現(xiàn)了分辨率為176×144、352×288、720×576和1 280×720,每秒25幀的MPEG-4實(shí)時(shí)視頻編解碼,同時(shí)支持視頻碼率控制,提供五個(gè)等級(jí)的視頻質(zhì)量的碼流,平均碼速率在5 Mbps以下。上位機(jī)解碼后視頻圖像層次清晰,色彩飽滿(mǎn),系統(tǒng)帶來(lái)的圖像延遲小于500 ms,滿(mǎn)足無(wú)人機(jī)偵察等領(lǐng)域的需求。不同分辨率及碼率可通過(guò)遙控[1 ” 指令動(dòng)態(tài)切換,同時(shí)遙測(cè)數(shù)據(jù)正確與視頻數(shù)據(jù)組幀并分離,表明機(jī)載高清視頻圖像系統(tǒng)與遙控遙測(cè)系統(tǒng)得到了很好的融合。
4 結(jié)論
本文設(shè)計(jì)并實(shí)現(xiàn)了一種基于FPGA+DSP的機(jī)載高清視頻圖像系統(tǒng),包括機(jī)載設(shè)備端和地面站端兩部分,具備以下特點(diǎn):
1)最高支持720 P,每秒25幀的MPEG一4實(shí)時(shí)視頻編解碼,滿(mǎn)足當(dāng)今無(wú)人機(jī)對(duì)高分辨圖像的需求;
2)視頻分辨率及碼率可通過(guò)遙控指令動(dòng)態(tài)切換,視頻與遙測(cè)數(shù)據(jù)組幀傳輸,實(shí)現(xiàn)與傳統(tǒng)遙控遙測(cè)系統(tǒng)的融合;
3)設(shè)備體積小、功耗低、可靠性高,滿(mǎn)足機(jī)載苛刻的環(huán)境要求。
-
處理器
+關(guān)注
關(guān)注
68文章
19409瀏覽量
231195 -
dsp
+關(guān)注
關(guān)注
554文章
8059瀏覽量
350451 -
FPGA
+關(guān)注
關(guān)注
1630文章
21798瀏覽量
606040 -
無(wú)人機(jī)
+關(guān)注
關(guān)注
230文章
10515瀏覽量
182429
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
【TL6748 DSP申請(qǐng)】無(wú)人機(jī)超視覺(jué)圖像識(shí)別系統(tǒng)
【TL6748 DSP申請(qǐng)】基于視覺(jué)伺服控制無(wú)人機(jī)的自主飛行的研究
【TL6748 DSP申請(qǐng)】基于DSP和FPGA 圖像處理的系統(tǒng)設(shè)計(jì)
無(wú)人機(jī)遙感技術(shù)
都在談?wù)?b class='flag-5'>無(wú)人機(jī):教你10種利用無(wú)人機(jī)賺錢(qián)的方法
無(wú)人機(jī)圖傳射頻鏈路揭秘
Ameya360 無(wú)人機(jī)視覺(jué)、高級(jí)傳感與處理解決方案
無(wú)人機(jī)中的MCU是如何工作的?
遠(yuǎn)程臨場(chǎng)無(wú)人機(jī)系統(tǒng)研發(fā)測(cè)試成功
航模/無(wú)人機(jī)遙控的解決方案
基于DSP和FPGA的通用圖像處理平臺(tái)設(shè)計(jì)
基于DSP和FPGA的通用圖像處理平臺(tái)設(shè)計(jì)
![基于<b class='flag-5'>DSP</b>和<b class='flag-5'>FPGA</b>的通用<b class='flag-5'>圖像</b><b class='flag-5'>處理</b>平臺(tái)設(shè)計(jì)](https://file1.elecfans.com//web2/M00/A5/74/wKgZomUMOISAH0T_AAG4hjmeyKw015.jpg)
基于FPGA的無(wú)人機(jī)多路視頻監(jiān)控系統(tǒng)設(shè)計(jì)
基于32位ARM處理器的無(wú)人機(jī)勘察系統(tǒng)設(shè)計(jì)
一種基于DSP+FPGA視頻圖像采集處理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
![一種基于<b class='flag-5'>DSP+FPGA</b><b class='flag-5'>視頻</b><b class='flag-5'>圖像</b>采集<b class='flag-5'>處理系統(tǒng)</b>的設(shè)計(jì)與<b class='flag-5'>實(shí)現(xiàn)</b>](https://file1.elecfans.com//web2/M00/A7/1C/wKgZomUMQnOAN63XAAAvFgp3WjI614.png)
評(píng)論