一種多光譜可見(jiàn)光遙感圖像壓縮系統(tǒng)設(shè)計(jì)
3.1 系統(tǒng)輸入模塊
ADV212的像素接口工作在視頻模式和原始數(shù)據(jù)模式,本系統(tǒng)采用原始數(shù)據(jù)模式。由于ADV212不能對(duì)空間相機(jī)輸出的圖像信號(hào)直接進(jìn)行處理,因此需要把 圖像信號(hào)轉(zhuǎn)換為ADV212像素接口可以接收的信號(hào)輸入模式。在信號(hào)輸入之前采用視頻解碼器AD9843A把輸入的圖像信號(hào)進(jìn)行處理并輸出標(biāo)準(zhǔn)的圖像信 號(hào)。此時(shí)AD9843A輸出圖像信息流、同步時(shí)鐘以及行場(chǎng)同步輸入到FPGA中。
3.2 系統(tǒng)控制模塊
系統(tǒng)中,FPGA主要完成整個(gè)系統(tǒng)的控制功能。輸入圖像信號(hào)經(jīng)過(guò)視頻編碼器后,進(jìn)入FPGA進(jìn)行去噪預(yù)處理以提高編碼效率,主要是直方圖 均衡和低通濾波。對(duì)于AD9843A視頻編碼器的配置可以通過(guò)FPGA軟件模擬I2C總線來(lái)實(shí)現(xiàn)。同時(shí)FIGA系統(tǒng)還要向ADV212提供復(fù)位、讀寫(xiě)、片 選以及時(shí)鐘等信號(hào)來(lái)控制其工作時(shí)序和工作模式,并要實(shí)現(xiàn)對(duì)ADV212的初始化和固件下載功能,F(xiàn)PGA控制系統(tǒng)時(shí)序關(guān)系圖如圖3所示。系統(tǒng)運(yùn)行的所有程 序以及ADV212所需的固件都是存儲(chǔ)在FPGA內(nèi)部的Flash中。系統(tǒng)工作后,需要把這些固件寫(xiě)入ADV212相應(yīng)的RAM空間中,進(jìn)行一些軟件的運(yùn) 行。
由于遙感圖像數(shù)據(jù)量龐大,需采用緩存技術(shù)改善系統(tǒng)的整體性能(如吞吐量、查詢(xún)響應(yīng)時(shí)間等),構(gòu)建大規(guī)模視頻服務(wù)系統(tǒng)時(shí),可以減少對(duì)磁盤(pán)的訪問(wèn),提高系統(tǒng)性 能。2塊SRAM之間采用“乒乓”方式對(duì)圖像數(shù)據(jù)碼流進(jìn)行存取以提高傳輸速率。這種結(jié)構(gòu)是將輸入數(shù)據(jù)流通過(guò)輸入數(shù)據(jù)選擇單元等時(shí)地將數(shù)據(jù)流分配到2個(gè)數(shù)據(jù) 緩沖區(qū)。在第1個(gè)緩沖周期,將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊1上,在第2個(gè)緩沖周期,通過(guò)輸入數(shù)據(jù)選擇單元的切換,將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊 2,同時(shí),將數(shù)據(jù)緩沖模塊1緩存的第1個(gè)周期的數(shù)據(jù)通過(guò)輸出數(shù)據(jù)選擇單元的選擇,送到運(yùn)算處理單元進(jìn)行處理,第3個(gè)緩沖周期,再次切換數(shù)據(jù)的輸入與輸出緩沖模塊。如此循環(huán),周而復(fù)始。當(dāng)系統(tǒng)中收到傳輸指令后,F(xiàn)PGA再將存放在 SRAM中的待發(fā)送碼流經(jīng)過(guò)FPGA讀取出來(lái)。同時(shí)FPGA還要實(shí)現(xiàn)壓縮系統(tǒng)與外部的接口功能,用于分發(fā)數(shù)據(jù)流,并產(chǎn)生所需的時(shí)序。
3.3 系統(tǒng)壓縮模塊
系統(tǒng)控制器件FPGA需對(duì)ADV212寄存器進(jìn)行初始化,加載ADV212編碼模式所需的固件并設(shè)置ADV212編碼參數(shù),ADV212 才能開(kāi)始硬件編碼工作產(chǎn)生JPGA2000格式的壓縮碼流。ADV212包含16個(gè)直接訪問(wèn)的寄存器,主機(jī)必須首先初始化這些寄存器來(lái)保證其他操作正確。 圖4是ADV212編碼流程圖。
當(dāng)系統(tǒng)上電復(fù)位后由FPGA把Flash中的固件數(shù)據(jù)通過(guò)訪問(wèn)間接寄存器加載到ADV212的固件RAM空間。FPGA設(shè)置ADV212編碼參數(shù)包括:壓 縮比、量化步長(zhǎng)、小波變換級(jí)別、小波變換模式、JPEG2000漸進(jìn)模式等。如果ADV212固件加載正確,嵌入式處理器會(huì)將應(yīng)用程序ID寫(xiě)入 SWFLAG寄存器。通過(guò)檢驗(yàn)SWFLAG寄存器是否為所預(yù)知的值(編碼模式的應(yīng)用程序ID為OXFF82),就可判定固件加載是否正確。ADV212寄存器初始化 后,在VALID和HOLD握手協(xié)議的配合下,通過(guò)讀信號(hào)讀CODE FIFO。VDATA總線為原始圖像數(shù)據(jù)輸入接口,HDATA總線和ADDR總線為FPGA對(duì)ADV-212的配置總線,JDATA總線為ADV212中 JDATA模式的壓縮數(shù)據(jù)輸出接口。當(dāng)ADV212正常工作后產(chǎn)生的JPEG2000格式的壓縮碼流經(jīng)HDATA總線輸出。再將壓縮碼流傳送到FPGA中 對(duì)圖像數(shù)據(jù)進(jìn)行行串轉(zhuǎn)并,轉(zhuǎn)換輸出的并行數(shù)據(jù)送人SRAM中存放。
3.4 系統(tǒng)輸出模塊
ADV212編碼后產(chǎn)生的JPEG2000格式碼流首先被送入FPGA中進(jìn)行處理,處理之后再將碼流存放在SRAM中等待系統(tǒng)發(fā)送“傳 送”指令。當(dāng)系統(tǒng)發(fā)出“傳送”指令后,F(xiàn)PGA將存放在SRAM中的待發(fā)送壓縮碼流傳回FPGA中,在FPGA中轉(zhuǎn)換成串行碼流最后通過(guò)以太網(wǎng)接口器件發(fā) 送出去。
4 結(jié)束語(yǔ)
空間相機(jī)圖像壓縮系統(tǒng)對(duì)壓縮比、實(shí)時(shí)性及抗誤碼能力等都提出很高要求,為了滿足這些要求,采用了基于FPEG+ADV212結(jié)構(gòu)的圖像壓縮系統(tǒng),該系統(tǒng)根 據(jù)空間相機(jī)圖像壓縮質(zhì)量和碼率的要求,選擇從400:1到2:l可調(diào)壓縮比,經(jīng)測(cè)試該系統(tǒng)工作穩(wěn)定性強(qiáng),基本滿足空間相機(jī)圖像壓縮系統(tǒng)對(duì)圖像細(xì)節(jié)豐富、數(shù) 據(jù)量龐大、高壓縮比和抗誤碼率等各方面的要求。
評(píng)論