基于感興趣區(qū)域的可變頻CCD實(shí)時(shí)處理系統(tǒng)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
摘 要: 為滿足航空攝影測(cè)量需求,設(shè)計(jì)了基于感興趣區(qū)域的可變頻CCD實(shí)時(shí)處理系統(tǒng)。該系統(tǒng)主要由CCD控制模塊、數(shù)據(jù)實(shí)時(shí)處理模塊和顯示模塊組成。系統(tǒng)充分利用FPGA內(nèi)部資源,改變了傳統(tǒng)FPGA配合微處理器的實(shí)現(xiàn)方式,相關(guān)算法和時(shí)序邏輯控制均在一片F(xiàn)PGA內(nèi)實(shí)現(xiàn)并通過(guò)驗(yàn)證,可廣泛適用于任何分辨率CCD的智能實(shí)時(shí)處理。
關(guān)鍵詞: 高分辨率;可變幀頻;智能觀測(cè);實(shí)時(shí)顯示;FPGA
在航空攝影測(cè)量領(lǐng)域,常采用高分辨率CCD相機(jī)在高空對(duì)物體進(jìn)行拍攝。目前的CCD數(shù)據(jù)處理系統(tǒng)首先在CCD相機(jī)的控制下,輸出海量連續(xù)的CCD數(shù)據(jù)流。然后通過(guò)構(gòu)造緩存單元結(jié)構(gòu),緩存接收的CCD圖像數(shù)據(jù)。由于圖像信息量太大,無(wú)法實(shí)時(shí)處理,需要在飛行過(guò)程中將所有圖像實(shí)時(shí)記錄在高速硬盤上,最終把緩存的數(shù)據(jù)流輸入至實(shí)時(shí)記錄系統(tǒng)實(shí)現(xiàn)高分辨率CCD數(shù)據(jù)的記錄。
針對(duì)飛行過(guò)程中的一些特殊情況,需根據(jù)接收的GPS信息(飛行高度、速度等)實(shí)時(shí)調(diào)整CCD幀頻[1]。要實(shí)現(xiàn)可變幀率的CCD數(shù)據(jù)處理,對(duì)整個(gè)CCD數(shù)據(jù)實(shí)時(shí)處理能力提出了更高的要求。同時(shí),隨著CCD像元數(shù)的激增,每幀CCD圖像的像素分辨率超大,如何實(shí)現(xiàn)基于高分辨率CCD圖像感興趣區(qū)域的智能實(shí)時(shí)觀測(cè)是目前航測(cè)領(lǐng)域的研究重點(diǎn)。針對(duì)可變幀率和智能觀測(cè)需求,提出了一種基于感興趣區(qū)域的可變頻CCD實(shí)時(shí)處理系統(tǒng)。
系統(tǒng)根據(jù)可變頻要求,一方面通過(guò)在FPGA內(nèi)部設(shè)計(jì)UART控制器,觸發(fā)CCD相機(jī)外同步觸發(fā)信號(hào),實(shí)時(shí)計(jì)算出隨GPS信息不斷變化的CCD幀頻信息;另一方面,提出了一種數(shù)據(jù)提取算法,該算法通過(guò)對(duì)乒乓緩存的CCD圖像數(shù)據(jù)進(jìn)行可變窗口定位,實(shí)現(xiàn)了感興趣區(qū)域的智能觀察和存儲(chǔ);最后,通過(guò)視頻編碼實(shí)現(xiàn)感興趣區(qū)域的高清晰視頻實(shí)時(shí)顯示。整個(gè)系統(tǒng)已在FPGA內(nèi)實(shí)現(xiàn)并通過(guò)驗(yàn)證,可廣泛適用于任何分辨率大小CCD的智能實(shí)時(shí)處理。
1 系統(tǒng)設(shè)計(jì)方案
該可變頻CCD智能實(shí)時(shí)處理系統(tǒng)由CCD控制模塊、數(shù)據(jù)實(shí)時(shí)處理模塊和實(shí)時(shí)顯示模塊組成。CCD控制模塊:在相機(jī)外同步工作模式下,通過(guò)在FPGA內(nèi)設(shè)計(jì)UART控制器,接收外部發(fā)來(lái)的GPS信息,實(shí)現(xiàn)CCD相機(jī)幀頻的實(shí)時(shí)調(diào)整。針對(duì)數(shù)據(jù)實(shí)時(shí)處理模塊,提出了一種數(shù)據(jù)提取算法:首先提取出原始CCD圖像數(shù)據(jù)的感興趣區(qū)域,該區(qū)域符合SMPTE(1080i)有效的高清晰視頻數(shù)據(jù)分辨率大小,并通過(guò)可變窗口定位實(shí)現(xiàn)區(qū)域的智能實(shí)時(shí)調(diào)整;然后通過(guò)乒乓緩存結(jié)構(gòu)的設(shè)計(jì),實(shí)現(xiàn)感興趣區(qū)域的實(shí)時(shí)存儲(chǔ);最后由實(shí)時(shí)顯示模塊,將緩存的感興趣區(qū)域數(shù)據(jù)打包為高清晰視頻格式,通過(guò)視頻編碼實(shí)現(xiàn)感興趣區(qū)域的高清晰視頻實(shí)時(shí)顯示。圖1給出了整個(gè)系統(tǒng)的實(shí)現(xiàn)方案。
2 CCD控制模塊的設(shè)計(jì)
2.1 可變頻幀率的設(shè)計(jì)與實(shí)現(xiàn)
在飛行過(guò)程中,首先需接收GPS導(dǎo)航信息[3](主要包括飛行器經(jīng)緯度位置、時(shí)間(時(shí)/分/秒)以及海拔高度、地速等飛行參數(shù),數(shù)據(jù)刷新率為10 Hz/s),根據(jù)信息計(jì)算得到當(dāng)前相機(jī)幀頻。由于數(shù)據(jù)刷新率較高,接收數(shù)據(jù)的準(zhǔn)確性是保證后續(xù)工作精度穩(wěn)定的前提條件。
傳統(tǒng)的處理方式是[4]:通過(guò)串口配合相關(guān)電路,接收GPS信息,并計(jì)算得到隨飛行高度和速度實(shí)時(shí)改變的相機(jī)幀頻。UART(Universal Asynchronous Receiver Transmitter)作為計(jì)算機(jī)或外圍設(shè)備的串行通信接口,通常在單片機(jī)中使用。本設(shè)計(jì)中改用FPGA完成所有數(shù)據(jù)處理,并設(shè)計(jì)了基于PFGA的UART控制器。
UART控制器包含以下組件:時(shí)鐘發(fā)生器、輸入和輸出移位寄存器、發(fā)送/接收控制單元和FIFO緩沖存儲(chǔ)器。時(shí)鐘發(fā)生器通常是比特率允許在一個(gè)位周期中采樣的倍數(shù)。輸入和輸出移位寄存器是串行和并行之間形式轉(zhuǎn)換的基本方法。發(fā)送或接收控制單元完成數(shù)據(jù)的傳輸和接收器下控制讀或?qū)懣刂七壿?。FIFO緩沖存儲(chǔ)器實(shí)現(xiàn)對(duì)發(fā)送/接收數(shù)據(jù)的高速緩存。圖2給出了基于FPGA的UART控制器設(shè)計(jì),可見(jiàn),整個(gè)UART設(shè)計(jì)充分利用FPGA的內(nèi)部存儲(chǔ)和時(shí)序邏輯資源,減小了系統(tǒng)的面積, 改變了傳統(tǒng)通過(guò)單片機(jī)處理器的控制,大大降低了系統(tǒng)功耗,提高了設(shè)計(jì)的穩(wěn)定性。
通過(guò)基于FPGA的UART控制器設(shè)計(jì),GPS信息可從UART正確接收,根據(jù)GPS相應(yīng)的飛行參數(shù),可計(jì)算得到可變幀率,并輸入至FPGA。本系統(tǒng)每幀CCD的拍攝時(shí)間間隔表達(dá)式如下:
式中,v是飛行速度(km/h),H是飛行高度,a是拍攝視角, qx是相鄰的圖片重疊比例。可見(jiàn),通過(guò)接收GPS的飛行速度和飛行高度信息和實(shí)際拍攝要求,即可計(jì)算出拍攝時(shí)間間隔。根據(jù)時(shí)間和頻率之間的關(guān)系,得到CCD當(dāng)前幀速率。
FPGA在內(nèi)部時(shí)鐘的控制下,針對(duì)可變幀頻率,通過(guò)FPGA的時(shí)序邏輯控制,產(chǎn)生外同步控制脈沖信號(hào)。這樣,在外同步脈沖的觸發(fā)下,相機(jī)開(kāi)始積分,積分完畢后,在行、場(chǎng)、消隱同步信號(hào)的控制下,讀出CCD相機(jī)數(shù)據(jù)。
2.2 基于高速Cameralink接口的CCD數(shù)據(jù)傳輸
為提高海量CCD連續(xù)數(shù)據(jù)流的傳輸速率,采用基于Cameralink接口技術(shù)實(shí)現(xiàn)高速CCD數(shù)據(jù)傳輸。Cameralink接口技術(shù)是基于Channel Link技術(shù)發(fā)展而來(lái)的。Channel Link是基于LVDS技術(shù)發(fā)展而來(lái)的,它是一種用來(lái)傳輸視頻數(shù)據(jù)的新技術(shù)。Channel Link使用一個(gè)并轉(zhuǎn)串驅(qū)動(dòng)器和一個(gè)串轉(zhuǎn)并接收器傳輸數(shù)據(jù),其最高速率可達(dá)2.38 GHz/s,非常適合高分辨率CCD數(shù)據(jù)實(shí)時(shí)處理以及其他高速控制信號(hào)的傳輸[5]。
高分辨率CCD數(shù)字相機(jī)通過(guò)Camera Link接口的連接,實(shí)現(xiàn)多位高速并行的數(shù)據(jù)線轉(zhuǎn)換為串行數(shù)據(jù)線輸出。同時(shí),通過(guò)接收芯片DS90CR288A實(shí)現(xiàn)對(duì)CCD相機(jī)輸出的串行數(shù)據(jù)還原為原始的并行數(shù)據(jù)輸出,并提供了相應(yīng)的CCD相機(jī)通信信號(hào)和有效控制信號(hào)。對(duì)DS90CR288A解碼輸出的CCD相機(jī)數(shù)據(jù)輸入至FPGA,實(shí)現(xiàn)實(shí)時(shí)處理。
3 實(shí)時(shí)數(shù)據(jù)處理模塊