近年來,隨著航天遙感技術(shù)的發(fā)展空間遙感數(shù)據(jù)量日益龐大,圖像數(shù)據(jù)量的巨大帶來傳輸?shù)钠款i。同時,空間相機圖像細節(jié)豐富,衛(wèi)星飛行高度通常幾百千米以上, 對地面覆蓋范圍廣,地面上的小目標在衛(wèi)星成像后,通常只有幾個像素,因此研究空間相機圖像壓縮系統(tǒng)具有重要意義。由于JPEG2000標準采用了許多新的 壓縮編碼技術(shù);全幀離散小波變換、整數(shù)DWT濾波器、帶中央死區(qū)的均勻量化器實現(xiàn)嵌入式編碼等。由此得到最佳的嵌入式碼流,改進了抗誤碼能力和部分空間隨 機存取能力,簡化了某些幾何操作,得到常靈活的碼流語法,其在遙感圖像壓縮中的應(yīng)用也受到重視,因此,本文研制了基于JPEG2000的空間相機圖像壓縮 系統(tǒng)。
1 JPEG2000圖像壓縮標準
JPEG2000是JPEG工作組制定的靜止圖像壓縮編碼的國際標準,JPEG2000采用全幀離散小波變換(DWT),DWT自身具有 多分辨率圖像表示性能,而且在大范圍內(nèi)去除圖像的相關(guān)性,將圖像能量更好集中,使壓縮效率得到提高;由于使用整數(shù)DWT濾波器,在單一碼流中可以同時實現(xiàn) 有失真和無失真壓縮;通過使用一種帶中央“死區(qū)”的均勻量化器實現(xiàn)嵌入式編碼。由此得到最佳的嵌入式碼流,改進的抗誤碼能力,部分空間隨機存取能力,簡化 了某些幾何操作,得到了活躍的碼流語法。JPEG2000圖像壓縮標準主要特征:
1)良好的低比特率壓縮性能 這是JPEC2000最主要的特征。之前的JPEG標準,對于細節(jié)分量多的灰度圖像,當壓縮碼率低于0.25 bpp時,視覺失真大。JFPEG2000格式的圖片壓縮比可以在JPEG的基礎(chǔ)上再提高10%~30%,而且壓縮后的圖像顯得更細膩平滑。尤其在低比特 壓縮碼率下,具有良好的性能,以適應(yīng)窄帶網(wǎng)絡(luò)、移動通信等帶寬有限的應(yīng)用需要。
2)累進式傳輸 現(xiàn)采用JPEG壓縮的圖像下載時是按“塊”傳輸,因此只能一行一行顯示,而采用JPEG2000格式的圖像支持累進傳輸(Prog-ressive Transmission)。累進式圖像傳輸允許圖像按照所需的分辨率或像素精度進行編碼和重構(gòu)。用戶根據(jù)需要,對圖像傳輸進行控制,在獲得所需的圖像分辨率或質(zhì)量要求后,在不必接收解碼整個圖像的壓縮碼流情況下,便可終止解碼。
3)碼流的隨機訪問和處理 這一特征允許用戶在圖像中隨機地定義感興趣的區(qū)域,使得這一區(qū)域的圖像質(zhì)量高于其他圖像區(qū)域;碼流的隨機處理允許用戶進行旋轉(zhuǎn)、移動、濾波和特征提取等操作。
4)良好的抗誤碼性 在碼流中提供抗誤碼性對于通信是必要的。例如在無線傳輸?shù)日`碼很高的通信信道中傳輸圖像時,JPEG2000系統(tǒng)采取一定的編碼措施和碼流格式來減小因解碼失敗造成的圖像失真。
2 JPEG2000圖像專用壓縮芯片ADV212
實現(xiàn)JPEG2000的方案主要有基于DSP處理器的系統(tǒng)、基于FPGA進行的硬件實現(xiàn),以及采用專用集成電路。由于DSP處理器處理的 串行性,其很難達到實時性。而采用FPGA硬件實現(xiàn)可以加快處理速度,但JPEG2000算法會占用大量的FPGA資源,同時系統(tǒng)功耗也會增加。采用專用 集成電路實現(xiàn)則可以很好解決上述問題。JPEG2000編解碼器ADV212采用具有專利技術(shù)的空間超效率回歸濾波(SURF)技術(shù),具有低功耗和低成本 的特點。它是具有實時壓縮和解壓縮標準(SD)視屏信號和高清晰度(HDTV)視屏信號功能的編解碼器。
圖l是ADV212功能框圖。該編解碼器主要由像素接口、小波變換引擎、熵編解碼器、嵌入式處理器、存儲器系統(tǒng)和內(nèi)部DMA引擎等組成。專利最大圖塊/圖 像高度為4 096像素;不可逆模式最大輸入速度為65 Ms/s。可逆模式最大輸入速度為40 Ms/s的任何視頻格式;靈活的異步主機接口能無縫連接到大多數(shù)16/32位微控制器。視頻接口支持8、10、12位單一或多元格式,支持8、10、12 雙通道位格式的視頻和靜止圖像數(shù)據(jù),支持單通道輸入模式下YCrCb格式的數(shù)字視頻和雙通道輸入模式下Y和CrCb分離的數(shù)字視頻信號,但YCrCb數(shù)據(jù) 必須是4:2:2格式。VDATA總線可支持多種格式視頻數(shù)據(jù)的輸入輸出。
3 圖像壓縮系統(tǒng)設(shè)計
系統(tǒng)硬件整體框架如圖2所示,圖像壓縮工作主要是由ADV212和’Virtex-ⅡPro系列芯片XC2VP20共同完成的。由于ADV212幾乎支持所有格式的視頻圖像信號的壓縮,且單片最高輸入數(shù)據(jù)速率為65 MHz/s,允許最大圖像的高度和寬度均為4 096像素。
3.1 系統(tǒng)輸入模塊
ADV212的像素接口工作在視頻模式和原始數(shù)據(jù)模式,本系統(tǒng)采用原始數(shù)據(jù)模式。由于ADV212不能對空間相機輸出的圖像信號直接進行處理,因此需要把 圖像信號轉(zhuǎn)換為ADV212像素接口可以接收的信號輸入模式。在信號輸入之前采用視頻解碼器AD9843A把輸入的圖像信號進行處理并輸出標準的圖像信 號。此時AD9843A輸出圖像信息流、同步時鐘以及行場同步輸入到FPGA中。
3.2 系統(tǒng)控制模塊
系統(tǒng)中,F(xiàn)PGA主要完成整個系統(tǒng)的控制功能。輸入圖像信號經(jīng)過視頻編碼器后,進入FPGA進行去噪預(yù)處理以提高編碼效率,主要是直方圖 均衡和低通濾波。對于AD9843A視頻編碼器的配置可以通過FPGA軟件模擬I2C總線來實現(xiàn)。同時FIGA系統(tǒng)還要向ADV212提供復(fù)位、讀寫、片 選以及時鐘等信號來控制其工作時序和工作模式,并要實現(xiàn)對ADV212的初始化和固件下載功能,F(xiàn)PGA控制系統(tǒng)時序關(guān)系圖如圖3所示。系統(tǒng)運行的所有程 序以及ADV212所需的固件都是存儲在FPGA內(nèi)部的Flash中。系統(tǒng)工作后,需要把這些固件寫入ADV212相應(yīng)的RAM空間中,進行一些軟件的運 行。
由于遙感圖像數(shù)據(jù)量龐大,需采用緩存技術(shù)改善系統(tǒng)的整體性能(如吞吐量、查詢響應(yīng)時間等),構(gòu)建大規(guī)模視頻服務(wù)系統(tǒng)時,可以減少對磁盤的訪問,提高系統(tǒng)性 能。2塊SRAM之間采用“乒乓”方式對圖像數(shù)據(jù)碼流進行存取以提高傳輸速率。這種結(jié)構(gòu)是將輸入數(shù)據(jù)流通過輸入數(shù)據(jù)選擇單元等時地將數(shù)據(jù)流分配到2個數(shù)據(jù) 緩沖區(qū)。在第1個緩沖周期,將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊1上,在第2個緩沖周期,通過輸入數(shù)據(jù)選擇單元的切換,將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊 2,同時,將數(shù)據(jù)緩沖模塊1緩存的第1個周期的數(shù)據(jù)通過輸出數(shù)據(jù)選擇單元的
選擇,送到運算處理單元進行處理,第3個緩沖周期,再次切換數(shù)據(jù)的輸入與輸出緩沖模塊。如此循環(huán),周而復(fù)始。當系統(tǒng)中收到傳輸指令后,F(xiàn)PGA再將存放在 SRAM中的待發(fā)送碼流經(jīng)過FPGA讀取出來。同時FPGA還要實現(xiàn)壓縮系統(tǒng)與外部的接口功能,用于分發(fā)數(shù)據(jù)流,并產(chǎn)生所需的時序。
3.3 系統(tǒng)壓縮模塊
系統(tǒng)控制器件FPGA需對ADV212寄存器進行初始化,加載ADV212編碼模式所需的固件并設(shè)置ADV212編碼參數(shù),ADV212 才能開始硬件編碼工作產(chǎn)生JPGA2000格式的壓縮碼流。ADV212包含16個直接訪問的寄存器,主機必須首先初始化這些寄存器來保證其他操作正確。 圖4是ADV212編碼流程圖。
當系統(tǒng)上電復(fù)位后由FPGA把Flash中的固件數(shù)據(jù)通過訪問間接寄存器加載到ADV212的固件RAM空間。FPGA設(shè)置ADV212編碼參數(shù)包括:壓 縮比、量化步長、小波變換級別、小波變換模式、JPEG2000漸進模式等。如果ADV212固件加載正確,嵌入式處理器會將應(yīng)用程序ID寫入 SWFLAG
寄存器。通過檢驗SWFLAG寄存器是否為所預(yù)知的值(編碼模式的應(yīng)用程序ID為OXFF82),就可判定固件加載是否正確。ADV212寄存器初始化 后,在VALID和HOLD握手協(xié)議的配合下,通過讀信號讀CODE FIFO。VDATA總線為原始圖像數(shù)據(jù)輸入接口,HDATA總線和ADDR總線為FPGA對ADV-212的配置總線,JDATA總線為ADV212中 JDATA模式的壓縮數(shù)據(jù)輸出接口。當ADV212正常工作后產(chǎn)生的JPEG2000格式的壓縮碼流經(jīng)HDATA總線輸出。再將壓縮碼流傳送到FPGA中 對圖像數(shù)據(jù)進行行串轉(zhuǎn)并,轉(zhuǎn)換輸出的并行數(shù)據(jù)送人SRAM中存放。
3.4 系統(tǒng)輸出模塊
ADV212編碼后產(chǎn)生的JPEG2000格式碼流首先被送入FPGA中進行處理,處理之后再將碼流存放在SRAM中等待系統(tǒng)發(fā)送“傳 送”指令。當系統(tǒng)發(fā)出“傳送”指令后,F(xiàn)PGA將存放在SRAM中的待發(fā)送壓縮碼流傳回FPGA中,在FPGA中轉(zhuǎn)換成串行碼流最后通過以太網(wǎng)接口器件發(fā) 送出去。
4 結(jié)束語
空間相機圖像壓縮系統(tǒng)對壓縮比、實時性及抗誤碼能力等都提出很高要求,為了滿足這些要求,采用了基于FPEG+ADV212結(jié)構(gòu)的圖像壓縮系統(tǒng),該系統(tǒng)根 據(jù)空間相機圖像壓縮質(zhì)量和碼率的要求,選擇從400:1到2:l可調(diào)壓縮比,經(jīng)測試該系統(tǒng)工作穩(wěn)定性強,基本滿足空間相機圖像壓縮系統(tǒng)對圖像細節(jié)豐富、數(shù) 據(jù)量龐大、高壓縮比和抗誤碼率等各方面的要求。