專利名稱:一種用于圖像數(shù)據(jù)的壓縮系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,特別涉及ー種用于圖像數(shù)據(jù)的壓縮系統(tǒng)。
背景技術(shù):
基于ADV212芯片的JPEG2000實現(xiàn)方法是目前采用較為廣泛的一種實現(xiàn)方法,其特點在于算法實現(xiàn)簡單,但現(xiàn)有基于ADV212芯片的JPEG2000實現(xiàn)方法均為基于單片ADV212芯片的設(shè)計,最高實時處理速率為IGbps,不能滿足對于寬幅大數(shù)據(jù)量圖像數(shù)據(jù)處理的要求。且對于多路數(shù)據(jù) 同時輸入的應(yīng)用情況,現(xiàn)有的實現(xiàn)方法均無法完成。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)解決問題是針對現(xiàn)有技術(shù)的不足,提供了一種用于圖像數(shù)據(jù)的壓縮系統(tǒng)法,實現(xiàn)了對寬幅大數(shù)據(jù)量圖像數(shù)據(jù)的實時壓縮處理。本發(fā)明的技術(shù)解決方案是一種用于圖像數(shù)據(jù)的壓縮系統(tǒng),包括圖像分塊模塊、調(diào)度模塊、碼流組織模塊、以及多個壓縮模塊。所述圖像分塊模塊接收輸入的圖像數(shù)據(jù),井根據(jù)所述壓縮模塊的圖像處理寬度對所述圖像數(shù)據(jù)按行或列進行分塊,獲得單元圖像數(shù)據(jù);所述調(diào)度模塊將所述單元圖像數(shù)據(jù)按流水順序一一對應(yīng)的輸出到所述壓縮模塊中,所述壓縮模塊對輸入的單元圖像數(shù)據(jù)進行壓縮后輸出;其中,每個所述的壓縮模塊毎次接收ー個單元圖像數(shù)據(jù);所述碼流組織模塊將所述壓縮模塊輸出的壓縮后單元圖像數(shù)據(jù)排序后輸出。進ー步的,所述圖像數(shù)據(jù)可以為通過航天器CXD相機獲得的遙感圖像數(shù)據(jù),所述圖像分塊模塊采用下述方式對遙感圖像數(shù)據(jù)進行分塊輸出對輸入的每路遙感圖像數(shù)據(jù)按行對所述遙感圖像數(shù)據(jù)中的輔助數(shù)據(jù)進行分塊獲得單元輔助數(shù)據(jù),按列對所述遙感圖像數(shù)據(jù)中的圖像數(shù)據(jù)進行分塊獲得單元圖像數(shù)據(jù);將所述單元輔助數(shù)據(jù)進行存儲,將所述單元圖像數(shù)據(jù)按每路圖像數(shù)據(jù)的輸入順序進行輸出。進ー步的,所述圖像分塊模塊還可將所述壓縮模塊進行分組,再以流水方式將與每個壓縮模塊組中壓縮模塊數(shù)量相同的所述單元圖像數(shù)據(jù)輸出,每個壓縮模塊組中的壓縮模塊一一對應(yīng)的接收輸入的單元圖像數(shù)據(jù)。進ー步的,所述壓縮模塊采用ADV212芯片實現(xiàn)。進ー步的,所述壓縮模塊通過以下方式對所述ADV212芯片進行配置所述調(diào)度模塊將對所述ADV212芯片的配置參數(shù)以格式化形式進行排列形成格式配置指令并進行存儲,所述格式化配置指令中的配置參數(shù)可根據(jù)需要進行調(diào)整并重新進行存儲;所述調(diào)度模塊在ADV212芯片上電時將存儲的格式配置指令輸出給ADV212芯片,由ADV212芯片根據(jù)所述格式配置指令中的配置參數(shù)完成配置。進ー步的,在向所述ADV212芯片寫入單元圖像數(shù)據(jù)時,所述調(diào)度模塊根據(jù)ADV212芯片的流水順序產(chǎn)生對應(yīng)于每個ADV212芯片的寫數(shù)據(jù)時間戳信號,并在與所述寫入時間戳信號對應(yīng)的時刻產(chǎn)生寫數(shù)據(jù)使能信號并輸出給對應(yīng)ADV212芯片;在從所述ADV212輸出壓縮后單元圖像數(shù)據(jù)時,所述調(diào)度模塊根據(jù)ADV212芯片的流水順序和對單元圖像數(shù)據(jù)的壓縮時間產(chǎn)生對應(yīng)于每個ADV212芯片的讀數(shù)據(jù)時間戳信號,并在與所述讀數(shù)據(jù)時間戳信號對應(yīng)的時刻產(chǎn)生讀數(shù)據(jù)使能信號并輸出給對應(yīng)ADV212芯片。 本發(fā)明與現(xiàn)有技術(shù)相比具有如下優(yōu)點本發(fā)明根據(jù)壓縮模塊處理能力,對輸入的寬幅圖像數(shù)據(jù)進行分塊,使得分塊后的每個單元圖像數(shù)據(jù)可以再ー個壓縮模塊中進行壓縮,從而實現(xiàn)了對寬幅大圖像數(shù)據(jù)的處理的并行壓縮。在向壓縮模塊輸入單元圖像數(shù)據(jù)時,采用流水的調(diào)度方式,使得由同一幅圖像數(shù)據(jù)產(chǎn)生的多個單元圖像數(shù)據(jù)可以同時進行壓縮,從而提高了對圖像數(shù)據(jù)壓縮的實時性質(zhì)。進ー步,當(dāng)圖像數(shù)據(jù)為航天器獲取的遙感圖像數(shù)據(jù)時,針對遙感圖像數(shù)據(jù)的格式特點,對輔助數(shù)據(jù)進行按行方向的分塊,保證了輔助數(shù)據(jù)中控制信息的聯(lián)系性,對圖像數(shù)據(jù)進行按列方向的分塊,保證了按列排布的多個譜段圖像數(shù)據(jù)的完整性。同時,在對壓縮模塊的配置和調(diào)度方式上,采用格式配置指令的形式對每個壓縮模塊ADV212芯片進行配置,格式配置指令中的參數(shù)可根據(jù)壓縮需要進行調(diào)整,擴展了 ADV212芯片的可用性。并且,結(jié)合流水的調(diào)度方式,采用時間戳觸發(fā)的數(shù)據(jù)寫入和讀出控制,提高了對ADV212芯片的控制精度。
圖I為本發(fā)明示意圖;圖2為SDRAM存儲空間區(qū)域劃分示意圖;圖3為串行流水調(diào)度不意圖;圖4為并行流水調(diào)度示意圖;圖5為DMA方式工作原理圖。
具體實施例方式下面就結(jié)合附圖對本發(fā)明做進ー步介紹。如圖I所示為本發(fā)明系統(tǒng)示意圖。包括FPGA處理部分和圖像數(shù)據(jù)壓縮處理部分,F(xiàn)PGA處理部分分別實現(xiàn)圖像分塊模塊、調(diào)度模塊和碼流組織模塊,圖像壓縮處理部分包括各個壓縮模塊,在本實施例中所述壓縮模塊采用ADV212芯片實現(xiàn)。FPGA將前端輸入的圖像數(shù)據(jù)緩存在SDRAM中,再由圖像分塊模塊對圖像數(shù)據(jù)進行分塊。對于輸入的寬幅圖像數(shù)據(jù),圖像分塊模塊根據(jù)ADV212芯片的壓縮寬度,確定分塊后單元圖像數(shù)據(jù)的分塊個數(shù),以K為單元圖像的分塊個數(shù),則具體的分塊算法如下(I)設(shè)每一路輸入的圖像數(shù)據(jù)大小為XXL,按行或列進行劃分后,將獲得XX (L/K)或(X/K) XL個單元圖像塊;同吋,對于輸入的其他多路圖像數(shù)據(jù)按照同樣的方式進行劃分;(2)按分塊后單元圖像塊的數(shù)據(jù)的產(chǎn)生將所述的單元圖像數(shù)據(jù)分別存儲到SDRAM中。并等待所述的調(diào)度模塊進行調(diào)度輸出到ADV212芯片中進行壓縮。若上述寬幅圖像數(shù)據(jù)為航天器CXD相機獲得的遙感圖像數(shù)據(jù),則根據(jù)遙感圖像數(shù)據(jù)的特殊組成格式,進ー步采用下述算法進行分塊。(I)同樣設(shè)一路 大小為XXL的遙感圖像數(shù)據(jù),其中X = M+N,M為遙感圖像數(shù)每ー行中,位于前列的輔助數(shù)據(jù)ホ為遙感圖像數(shù)據(jù)每一行中,位于輔助數(shù)據(jù)后的圖像數(shù)據(jù)。在按K個分塊個數(shù)進行分塊時,針對輔助數(shù)據(jù)行方向上連續(xù)的特點,按行進行劃分,獲得大小為MX (L/K)的單元輔助數(shù)據(jù);針對遙感圖像數(shù)據(jù)多個譜段按列排布的特點,按列進行劃分,獲得(N/K) XL的單元圖像數(shù)據(jù)。對于R路輸入的遙感圖像數(shù)據(jù)進行同樣處理。(2)根據(jù)上述獲得的單元輔助數(shù)據(jù)或單元圖像數(shù)據(jù)的個數(shù),將緩存用SDRAM的存儲空間劃分為RX 2XK個區(qū)域,第一個區(qū)域的首地址為0,依次計算剩下RX 2XK-I個區(qū)域的首地址。(3)將每路遙感圖像數(shù)據(jù)的每行數(shù)據(jù)按照單元輔助數(shù)據(jù)和單元圖像數(shù)據(jù)分別跳轉(zhuǎn)寫入SDRAM的不同地址空間內(nèi),對每個SDRAM地址空間內(nèi)數(shù)據(jù)寫入操作的次數(shù)進行累加。將R路CXD的L行數(shù)據(jù)寫入完成,統(tǒng)計每個SDRAM地址空間內(nèi)數(shù)據(jù)寫入操作的總次數(shù)。SDRAM存儲空間區(qū)域劃分如圖2所示,圖中相機路數(shù)R為3,fAl、fA2、fA3、fA4分別表示第A路相機的單元輔助數(shù)據(jù)分塊1、2、3、4 ;tAl、tA2、tA3、tA4分別表示第A路相機的單元圖像數(shù)據(jù)分塊1、2、3、4。B路相機和C路相機的輔助數(shù)據(jù)和圖像數(shù)據(jù)分塊表示方法與A路類似。通過此種分塊方式可以將衛(wèi)星輔助數(shù)據(jù)和遙感圖像數(shù)據(jù)以不同的分塊方式同步緩存分塊,并且緩存分塊方式可以通過參數(shù)配置靈活選擇,針對不同類型輸入圖像的應(yīng)用背景,本方案可以快速實現(xiàn)相機數(shù)據(jù)緩存分塊。所述的調(diào)度模塊將分塊模塊對圖像數(shù)據(jù)完成分塊和存儲后按串行流水或并行流水的方式將單元圖像數(shù)據(jù)輸入到所述壓縮模塊ADV212芯片中進行壓縮。在串行流水調(diào)度中,采用單個單元圖像數(shù)據(jù)與單個ADV212芯片相對應(yīng)的方式進行流水調(diào)度,所述調(diào)度模塊將屬于ー個圖像數(shù)據(jù)的多個單元圖像數(shù)據(jù)依次對應(yīng)輸入到多個ADV212芯片中,每個ADV212芯片接收一個單元圖像數(shù)據(jù)并進行壓縮,當(dāng)最后一片ADV212芯片接收數(shù)據(jù)完成后,第一片ADV212芯片才可以再接收數(shù)據(jù),調(diào)度過程如圖3所示。在并行流水調(diào)度中,將用于壓縮的ADV212芯片進行分組,在調(diào)度過程中,以ADV212芯片組為單位,輸入對應(yīng)于ADV212芯片數(shù)量的單元圖像數(shù)據(jù),一組中的ADV212芯片同時按一一對應(yīng)的關(guān)系進行接收并對單元圖像數(shù)據(jù)進行壓縮后輸出。完成一組的輸入后,再進行下一組的輸入,調(diào)度過程如圖4所示。單片ADV212芯片的讀寫采用的是DMA的工作方式,該方式需要對ADV212芯片發(fā)出的讀寫請求信號進行響應(yīng),以完成一次數(shù)據(jù)的讀寫,DMA方式工作原理圖見圖5所示。圖中DREQO和DREQl分別表示ADV212發(fā)出的輸入圖像和壓縮數(shù)據(jù)DMA的請求信號,‘0’表示請求有效。DACKO和DACKl分別表示FPGA中調(diào)度模塊發(fā)出的輸入單元圖像數(shù)據(jù)和壓縮后單元圖像數(shù)據(jù)的響應(yīng)信號,‘0’表示請求有效。當(dāng)ADV212向調(diào)度模塊發(fā)送DREQO = O的請求信號時,說明ADV212芯片現(xiàn)在處于空閑狀態(tài)可以寫入數(shù)據(jù)。當(dāng)調(diào)度模塊監(jiān)測到DREQO = O的信號時,會向ADV212芯片發(fā)送DACKO = O的響應(yīng)信號,同時向ADV212芯片送入待壓縮單元圖像數(shù)據(jù),由ADV212芯片進行壓縮。每個ADV212芯片壓縮結(jié)束后,向調(diào)度模塊發(fā)送DREQl = O的請求信號吋,說明該ADV212芯片存在可輸出的壓縮數(shù)據(jù)。當(dāng)調(diào)度模塊監(jiān)測到DREQl = O的信號時,會向ADV212芯片發(fā)送DACKl = O的響應(yīng)信號,同時從ADV212芯片中讀取壓縮后的單元圖像數(shù)據(jù)。本發(fā)明所介紹的多片ADV212芯片分時讀寫控制方法,采用的是ー種類似流水線調(diào)度概念的工作模式,使得多片ADV212芯片可以輪轉(zhuǎn)工作,解決了系統(tǒng)的實時壓縮處理問題。 基于單片ADV212芯片的圖像壓縮系統(tǒng)實時峰值處理數(shù)據(jù)率為25MX 20bit/s,采用串行流水調(diào)度方式后,系統(tǒng)的實時峰值處理速率可達(dá)到100MX20bit/s,采用并行流水調(diào)度方式后,系統(tǒng)的實時峰值處理速率可以達(dá)到120MX20bit/s。該處理方法的主要技術(shù)點在干,將單片ADV212芯片的所有配置及控制功能做了集成,可根據(jù)不同的應(yīng)用情況,來靈活選擇使用ADV212芯片的個數(shù)及組合方式,為技術(shù)在不同應(yīng)用場合的移植提供了很大的方便。所述調(diào)度模塊將壓縮后的單元圖像數(shù)據(jù)輸出到碼流組織模塊進行排序后輸出。對于由遙感圖像數(shù)據(jù)拆分后形成的壓縮單元圖像數(shù)據(jù),將在排序中加入在對應(yīng)于壓縮單元壓縮圖像數(shù)據(jù)的單元輔助數(shù)據(jù),從而形成壓縮碼流包。根據(jù)調(diào)度模塊對遙感圖像數(shù)據(jù)的拆分順序,每片ADV212芯片壓縮處理后輸出的數(shù)據(jù)和對應(yīng)的衛(wèi)星輔助數(shù)據(jù)子塊及相應(yīng)的幀頭標(biāo)識字按照協(xié)議要求組織為ー個壓縮碼流包,每一片ADV212芯片的每次輸出數(shù)據(jù)都會組成為ー個壓縮碼流包。在上述過程中調(diào)用ADV212進行壓縮前,還需要對ADV212進行配置。ADV212芯片在上電過程中,需要對芯片的特定寄存器進行配置。本發(fā)明將對ADV212芯片的配置參數(shù)通過指令形式進行封裝,將圖像處理尺寸、小波分層級數(shù)、量化精度、壓縮比設(shè)置等ー些可配置的數(shù)值以參數(shù)的形式作為模塊接ロ,并且將ADV212芯片的讀寫控制功能集成為ー個模塊,該模塊對外接ロ僅表現(xiàn)為芯片的輸入數(shù)據(jù)格式及寫入速率要求和輸出數(shù)據(jù)格式及讀出速率要求。配置方法如下I.將ADV212芯片的上電配置流程中相關(guān)寄存器的配置參數(shù)按固定的格式順序進行排序形成格式配置指令,并將格式配置指令存儲在FPGA片內(nèi)ROM中;2.在ADV212芯片上電后,調(diào)度模塊從ROM中依次讀出格式配置指令,由ADV212芯片根據(jù)格式配置指令中的配置參數(shù)進行配置。對可變的配置參數(shù)可以在FPGA內(nèi)以參數(shù)的形式對格式配置指令中對應(yīng)的位置進行替換賦值,再按照替換后的格式配置指令對ADV212芯片進行配置。對ADV212的進行流水調(diào)度時,其讀寫狀態(tài)以控制電平的形式進行控制,采用寫數(shù)據(jù)使能信號和讀數(shù)據(jù)使能信號的切換控制ADV212芯片讀寫狀態(tài)的切換。對于寫操作,所述調(diào)度模塊根據(jù)ADV212芯片的流水調(diào)度順序,產(chǎn)生ー個寫入時間戳信號,以表示當(dāng)前時段將單元圖像數(shù)據(jù)輸出給哪片ADV212芯片,根據(jù)該寫入時間戳信號,調(diào)度模塊會在對應(yīng)時刻產(chǎn)生ー個寫數(shù)據(jù)使能信號的控制電平,設(shè)該電平低有效,調(diào)度模塊將ADV212芯片的寫時序進行固化,將數(shù)據(jù)寫入頻率以參數(shù)的形式進行配置,當(dāng)判決到寫數(shù)據(jù)使能信號為‘0’時,啟動ADV212芯片的寫時序邏輯。對于讀操作,所述調(diào)度模塊會同樣根據(jù)流水調(diào)度順序產(chǎn)生讀數(shù)據(jù)時間戳信號,并進ー步產(chǎn)生讀數(shù)據(jù)使能信號的控制電平,以表示哪個時段可以讓ADV212芯片輸出壓縮后的單元圖像數(shù)據(jù),設(shè)讀數(shù)據(jù)使能信號控制電平低有效,調(diào)度模塊將ADV212芯片的讀時序進行固化,將數(shù)據(jù)讀出頻率以參數(shù)的形式進行配置,當(dāng)判決到讀數(shù)據(jù)使能信號為‘0’時,啟動ADV212芯片的讀時序邏輯。這樣的設(shè)計方式可以方便的實現(xiàn)功能調(diào)用,需要増加使用ADV212芯片時,只需要多調(diào)用幾個代碼模塊即可,極大地提高了設(shè)計效率。該方法有效解決了不同應(yīng)用情況下,程序代碼需重新編寫的問題,大大縮短了產(chǎn)品研制開發(fā)的周期。
本發(fā)明未詳細(xì)說明部分屬本領(lǐng)域技術(shù)人員公知常識。
權(quán)利要求
1.一種用于圖像數(shù)據(jù)的壓縮系統(tǒng),其特征在于,包括圖像分塊模塊、調(diào)度模塊、碼流組織模塊、以及多個壓縮模塊, 所述圖像分塊模塊接收輸入的圖像數(shù)據(jù),井根據(jù)所述壓縮模塊的圖像處理寬度對所述圖像數(shù)據(jù)按行或列進行分塊,獲得單元圖像數(shù)據(jù); 所述調(diào)度模塊將所述單元圖像數(shù)據(jù)按流水順序一一對應(yīng)的輸出到所述壓縮模塊中,所述壓縮模塊對輸入的單元圖像數(shù)據(jù)進行壓縮后輸出;其中,每個所述的壓縮模塊毎次接收ー個單元圖像數(shù)據(jù); 所述碼流組織模塊將所述壓縮模塊輸出的壓縮后單元圖像數(shù)據(jù)排序后輸出。
2.如權(quán)利要求I所述的ー種用于圖像數(shù)據(jù)的壓縮系統(tǒng),其特征在于所述圖像數(shù)據(jù)可以為通過航天器CCD相機獲得的遙感圖像數(shù)據(jù),所述圖像分塊模塊采用下述方式對遙感圖像數(shù)據(jù)進行分塊輸出 對輸入的每路遙感圖像數(shù)據(jù)按行對所述遙感圖像數(shù)據(jù)中的輔助數(shù)據(jù)進行分塊獲得單元輔助數(shù)據(jù),按列對所述遙感圖像數(shù)據(jù)中的圖像數(shù)據(jù)進行分塊獲得單元圖像數(shù)據(jù); 將所述單元輔助數(shù)據(jù)進行存儲,將所述單元圖像數(shù)據(jù)按每路圖像數(shù)據(jù)的輸入順序進行輸出。
3.如權(quán)利要求I所述的ー種用于圖像數(shù)據(jù)的壓縮系統(tǒng),其特征在于所述圖像分塊模塊還可將所述壓縮模塊進行分組,再以流水方式將與每個壓縮模塊組中壓縮模塊數(shù)量相同的所述單元圖像數(shù)據(jù)輸出,每個壓縮模塊組中的壓縮模塊一一對應(yīng)的接收輸入的單元圖像數(shù)據(jù)。
4.如權(quán)利要求I或3所述的ー種用于圖像數(shù)據(jù)的壓縮系統(tǒng),其特征在于所述壓縮模塊采用ADV212芯片實現(xiàn)。
5.如權(quán)利要求4所述的ー種用于圖像數(shù)據(jù)的壓縮系統(tǒng),其特征在于所述壓縮模塊通過以下方式對所述ADV212芯片進行配置 所述調(diào)度模塊將對所述ADV212芯片的配置參數(shù)以格式化形式進行排列形成格式配置指令并進行存儲,所述格式化配置指令中的配置參數(shù)可根據(jù)需要進行調(diào)整并重新進行存儲; 所述調(diào)度模塊在ADV212芯片上電時將存儲的格式配置指令輸出給ADV212芯片,由ADV212芯片根據(jù)所述格式配置指令中的配置參數(shù)完成配置。
6.如權(quán)利要求4所述的ー種用于圖像數(shù)據(jù)的壓縮系統(tǒng),其特征在于在向所述ADV212芯片寫入單元圖像數(shù)據(jù)時,所述調(diào)度模塊根據(jù)ADV212芯片的流水順序產(chǎn)生對應(yīng)于每個ADV212芯片的寫數(shù)據(jù)時間戳信號,并在與所述寫入時間戳信號對應(yīng)的時刻產(chǎn)生寫數(shù)據(jù)使能信號并輸出給對應(yīng)ADV212芯片; 在從所述ADV212輸出壓縮后單元圖像數(shù)據(jù)時,所述調(diào)度模塊根據(jù)ADV212芯片的流水順序和對單元圖像數(shù)據(jù)的壓縮時間產(chǎn)生對應(yīng)于每個ADV212芯片的讀數(shù)據(jù)時間戳信號,并在與所述讀數(shù)據(jù)時間戳信號對應(yīng)的時刻產(chǎn)生讀數(shù)據(jù)使能信號并輸出給對應(yīng)ADV212芯片。
全文摘要
本發(fā)明公開了一種用于圖像數(shù)據(jù)的壓縮系統(tǒng),包括圖像分塊模塊、調(diào)度模塊、碼流組織模塊、以及多個壓縮模塊。所述圖像分塊模塊接收輸入的圖像數(shù)據(jù),并根據(jù)所述壓縮模塊的圖像處理寬度對所述圖像數(shù)據(jù)按行或列進行分塊,獲得單元圖像數(shù)據(jù)。所述調(diào)度模塊將所述單元圖像數(shù)據(jù)按流水順序一一對應(yīng)的輸出到所述壓縮模塊中,所述壓縮模塊對輸入的單元圖像數(shù)據(jù)進行壓縮后輸出;其中,每個所述的壓縮模塊每次接收一個單元圖像數(shù)據(jù)。所述碼流組織模塊將所述壓縮模塊輸出的壓縮后單元圖像數(shù)據(jù)排序后輸出。采用本發(fā)明實現(xiàn)了對寬幅大數(shù)據(jù)量圖像數(shù)據(jù)的實時壓縮處理。
文檔編號H04N7/26GK102695057SQ20121016884
公開日2012年9月26日 申請日期2012年5月25日 優(yōu)先權(quán)日2012年5月25日
發(fā)明者于巍巍, 王明偉, 譚賢紅, 郝修強, 馬曉東 申請人:西安空間無線電技術(shù)研究所