本發(fā)明屬于衛(wèi)星遙感圖像數(shù)據(jù)處理領域,具體涉及到一種對衛(wèi)星遙感多譜段壓縮編碼的數(shù)據(jù)完成實時解碼的智能控制方法與系統(tǒng)。
背景技術(shù):
衛(wèi)星遙感圖像隨著傳感器分辨率大幅提高,遙感圖像數(shù)據(jù)量和計算機運算量將隨之大幅增加,衛(wèi)星將壓縮碼流數(shù)據(jù)傳回地面的方式大多采用的是通過無線電信道,所以,對于地面接收系統(tǒng)的技術(shù)難點是如何接收處理如此高速率、大數(shù)據(jù)量、大動態(tài)變化流量的下發(fā)的數(shù)據(jù)。
空間遙感技術(shù)在軍事偵察、氣象預報、地質(zhì)勘察等方面的廣泛應用,使人們對星上數(shù)據(jù)壓縮系統(tǒng)提出了更高的要求,既要保證原始圖像的恢復質(zhì)量,又要在滿足編解碼實時性的同時盡可能地提高壓縮比,即高保真、高壓縮率和高速度,使得星上壓縮方式更加多樣化,同時也使得碼流數(shù)據(jù)量變化幅度寬,實時解壓縮器為星上壓縮單元對應設備,星上壓縮方式的多樣性,以及數(shù)據(jù)量增幅不斷變化對地面實時解壓縮設備也提出更高的要求。
地面接收到星上傳輸下來的實時壓縮碼流數(shù)據(jù),需要進行實時解碼恢復出原始數(shù)據(jù)。整個地面運控系統(tǒng)會接收來自衛(wèi)星的多路多譜段壓縮碼流,包括雙波段凝視紅外圖像與可見光圖像、大幅面掃描中波圖像(包含大氣透過波段數(shù)據(jù))、以及大幅面掃描短波圖像,然后地面運控系統(tǒng)的解壓縮服務器要根據(jù)星上數(shù)據(jù)壓縮單元的壓縮方式,反向解壓恢復出原始數(shù)據(jù),最后回傳至地面運控系統(tǒng)的格式化器。所以,如何實時的對衛(wèi)星上下發(fā)的多譜段遙感壓縮圖像數(shù)據(jù)進行解壓恢復,使得在整個地面運控系統(tǒng)中負責數(shù)據(jù)流交換,處理與控制的軟件設計就顯得尤為重要。
實時解壓縮器為地面運控系統(tǒng)的一個主要組成部分,是星上數(shù)據(jù)壓縮單元的對應設備,它負責接收地面運控系統(tǒng)中格式化器輸出的壓縮碼流數(shù)據(jù),依據(jù)數(shù)據(jù)壓縮單元的壓縮方式,實時完成解壓工作,然后將解壓縮圖像數(shù)據(jù)回傳至地面運控系統(tǒng)的格式化器。所以,實時解壓縮器對實現(xiàn)衛(wèi)星壓縮多光譜圖像數(shù)據(jù)智能控制和處理,對地面上數(shù)據(jù)的接收與處理系統(tǒng)都有著重大意義。
技術(shù)實現(xiàn)要素:
針對現(xiàn)有技術(shù)的缺陷,本發(fā)明的目的在于提供一種多譜段遙感圖像實時解壓縮器的控制方法,旨在解決對衛(wèi)星下發(fā)的高速率、大數(shù)據(jù)量、大動態(tài)變化流量、及多種壓縮模態(tài)的多譜段遙感圖像,實現(xiàn)實時數(shù)據(jù)接收、解壓和發(fā)送的問題。
本發(fā)明提供了一種多譜段遙感圖像實時解壓縮器的控制方法,實時解壓縮器包括解壓縮處理單元和控制模塊,解壓縮處理單元包括多個解壓縮處理板;控制模塊通過pcie接口與各個解壓縮處理板連接,控制模塊通過網(wǎng)口與格式化器連接;包括下述步驟:
s1:采用并行的方式接收衛(wèi)星下發(fā)的多譜段遙感壓縮碼流;
s2:采用并行的方式對所述多譜段遙感壓縮碼流進行解壓縮處理;
s3:采用并行的方式將解壓后的多譜段遙感圖像輸出發(fā)送。
更進一步地,步驟s1中,通過掃描短波碼流數(shù)據(jù)接收線程,掃描中波碼流數(shù)據(jù)接收線程和凝視波段碼流數(shù)據(jù)接收線程同時接收所述多譜段遙感壓縮碼流。
更進一步地,各個碼流數(shù)據(jù)接收線程的實現(xiàn)步驟相同,具體包括:
s11實時解壓縮器中的控制模塊向格式化器發(fā)起連接請求;并判斷連接是否成功,若是,則根據(jù)實時解壓縮器與格式化器之間的通信協(xié)議發(fā)出請求;否則,斷開與格式化器的連接,并實時發(fā)送與格式化器的連接請求,當格式化器重新啟動時實現(xiàn)重連;
s12當格式化器收到所述實時解壓縮器發(fā)送的請求后,判斷實時解壓縮器是否合法登陸,若是,則發(fā)送多譜段遙感壓縮碼流;否則,格式化器向?qū)崟r解壓縮器發(fā)送拒絕幀;
s13實時解壓縮器接收格式化器發(fā)送的多譜段遙感壓縮碼流。
更進一步地,步驟s13具體為:
s131實時解壓器的控制模塊采用多路并行的方式接收多譜段遙感壓縮碼流;
s132控制模塊對多譜段遙感壓縮碼流進行解包處理,根據(jù)包頭信息判斷是否出錯,若是,則給出錯誤提示信息;若否,則將接收到的碼流數(shù)據(jù)存入對應的不同數(shù)據(jù)流的第一級數(shù)據(jù)緩存區(qū)。
更進一步地,步驟s2具體為:
s21實時解壓器采用多路并行的方式將所述多譜段遙感壓縮碼流寫入至解壓縮處理單元中對應的解壓縮處理板;
s22判斷對應壓縮碼流接收循環(huán)緩存區(qū)中是否有數(shù)據(jù),若是,則讀入與所述解壓縮處理板匹配的長度的壓縮碼流數(shù)據(jù),并寫入至對應的解壓縮處理板;若否,則等待;
s23解壓縮處理單元對壓縮碼流數(shù)據(jù)進行解壓縮處理后,控制模塊將解碼圖像數(shù)據(jù)讀出并存入第二級數(shù)據(jù)緩存區(qū);
s24控制模塊對解碼圖像數(shù)據(jù)進行分包處理后獲得還原后的相機格式數(shù)據(jù)并存入第三級數(shù)據(jù)緩存區(qū)。
更進一步地,所述第三級數(shù)據(jù)緩存區(qū)包括五個數(shù)據(jù)緩存區(qū),其中兩個數(shù)據(jù)緩存區(qū)用于存儲掃描短波圖像數(shù)據(jù)中左、右半場圖像,兩個數(shù)據(jù)緩存區(qū)用于存儲掃描中波圖像數(shù)據(jù)分左、右半場圖像,一個數(shù)據(jù)緩存區(qū)用于存儲凝視解壓縮數(shù)據(jù)。
更進一步地,步驟s24具體為:
s241從第二級數(shù)據(jù)緩存區(qū)中讀取一部分數(shù)據(jù);其中,“一部分”具體可以根據(jù)實際數(shù)據(jù)長度來確定,例如1m數(shù)據(jù)或者幾百k數(shù)據(jù);
s242通過類型標識進行類型判斷,若為幀頭輔助信息,則取固定長度數(shù)據(jù)進行轉(zhuǎn)換拼位,并拆分成左、右兩個部分存入左右路數(shù)據(jù)緩存存儲區(qū);
若為幀尾輔助信息,則取不同固定長度數(shù)據(jù)進行轉(zhuǎn)換拼位,并拆分成左右兩個部分存入左右路數(shù)據(jù)緩存存儲區(qū);
若為掃描圖像左半場一行,則進行左行輔助頭判斷,若為左行輔助頭,則對固定長度數(shù)據(jù)進行轉(zhuǎn)換拼位,將數(shù)據(jù)存入左路數(shù)據(jù)緩存存儲區(qū);否則,繼續(xù)搜索左行輔助頭,進入步驟s243;
若為掃描圖像右半場一行,則進行右行輔助頭判斷,若為右行輔助頭,則對固定長度數(shù)據(jù)進行轉(zhuǎn)換拼位,將數(shù)據(jù)存入右路數(shù)據(jù)緩存存儲區(qū);否則,繼續(xù)搜索右行輔助頭,進入步驟s243;
其中,類型包括幀頭輔助信息、幀尾輔助信息、掃描圖像左半場一行或右半場一行;
s243通過搜索行輔助頭信息來尋找行輔助頭,若找到,則對固定長度數(shù)據(jù)進行轉(zhuǎn)換拼位,并將數(shù)據(jù)存入對應的左、右路數(shù)據(jù)緩存存儲區(qū);若沒有找到,則結(jié)束并返回步驟s241。
更進一步地,步驟s3具體為:
s31格式化器向?qū)崟r解壓縮器發(fā)起連接請求;并判斷連接是否成功,若是,則根據(jù)實時解壓縮器與格式化器之間的通信協(xié)議發(fā)出請求;否則,斷開與格式化器的連接;
s32當實時解壓縮器收到格式化器所發(fā)送的請求后,判斷格式化器是否合法登陸,若是,則發(fā)送解壓后的多譜段遙感圖像;否則,實時解壓縮器向格式化器發(fā)送拒絕幀;
s33實時解壓縮器向格式化器發(fā)送解壓后的多譜段遙感圖像。
更進一步地,步驟s31具體為:
s311實時解壓縮器的控制模塊采用5路監(jiān)聽守護線程,分別對應掃描短波左路發(fā)送端口、掃描短波右路發(fā)送端口、掃描中波左路發(fā)送端口、掃描中波右路發(fā)送端口、以及凝視波發(fā)送端口;
s312當格式化器與控制模塊連接成功時,啟動對應的5個解壓圖像數(shù)據(jù)發(fā)送線程;5路監(jiān)聽線程會一直處于守護狀態(tài);
s313當格式化器主動斷開與解壓縮服務器的連接,5個解壓數(shù)據(jù)發(fā)送線程會終止,監(jiān)聽線程開始執(zhí)行并實現(xiàn)重連。
更進一步地,步驟s33具體為:
s331實時解壓器的控制模塊采用五路并行的圖像數(shù)據(jù)發(fā)送線程,判斷發(fā)生圖像緩存區(qū)中是否有數(shù)據(jù),若是,則發(fā)送與格式化器協(xié)議長度的數(shù)據(jù)到對應的圖像端口;否則,等待。
本發(fā)明的有益效果體現(xiàn)在以下幾個方面:
(1)穩(wěn)定性高;本系統(tǒng)在地面運控系統(tǒng)測試使用中,實時解壓縮服務器在正常的工作狀態(tài)下,即和格式化器進行數(shù)據(jù)交換通信的過程中,如果格式化器突然斷開,解壓縮服務器軟件就不會出現(xiàn)死機現(xiàn)象,或者導致軟件崩潰。而是不斷監(jiān)聽等待格式化器重連,當格式化器重啟啟動時,又可以顯示正常數(shù)據(jù)通信,實時解壓縮軟件無需人的干預,控制軟件穩(wěn)定性高。
(2)容錯性好;在系統(tǒng)出現(xiàn)故障時能夠捕獲錯誤交操作者處理,對實時解壓縮器處理板工作狀態(tài)異常能自動切換至備份板
(3)實時性好;采用多路并行多線程處理技術(shù),提高數(shù)據(jù)輸入輸出數(shù)量,減少系統(tǒng)延遲時間;控制模塊中設計自我故障診斷、定位、追蹤功能,利用機箱上的顯示設備提供足夠的輸出信息給維修人員做判斷。另外在機箱正面設置測試接口,方便檢修人員對系統(tǒng)運行狀況進行維護。
(5)人機交互界面友好;用戶通過解壓縮服務器軟件的操控平臺,既可簡單方便的操控整個系統(tǒng),而且又能實時的、直觀的看到解碼狀態(tài)信息。通過人機交互可以選存所要分析處理的壓縮數(shù)據(jù)和解壓縮圖像數(shù)據(jù),更加便于后續(xù)對壓縮編解碼算的研究。也可通過日志追溯測試過程出現(xiàn)問題時間點。
附圖說明
圖1實時實時解壓縮器物理設計組成框圖;
圖2運控系統(tǒng)中實時實時解壓縮器工作流程;
圖3實時實時解壓縮器服務器模塊功能劃分圖;
圖4解壓縮服務器向格式化器申請壓縮碼流流程圖;
圖5格式化器向解壓縮服務器申請解壓縮圖像數(shù)據(jù)碼流流程圖;
圖6數(shù)據(jù)流多線程控制流圖;
圖7壓縮碼流接收流程圖;
圖8壓縮碼流轉(zhuǎn)發(fā)處理板流程圖;
圖9解壓縮圖像數(shù)據(jù)分包流程圖;
圖10解壓縮圖像數(shù)據(jù)發(fā)送流程圖;
圖11解壓縮處理單元輸出左右路無序示意圖;
圖12解壓縮圖像數(shù)據(jù)解析分包處理流程;
圖13解壓縮與格式化器網(wǎng)絡重連功能示意圖。
具體實施方式
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種多譜段遙感圖像實時解壓縮器的控制方法,實現(xiàn)對衛(wèi)星下發(fā)的高速率,大數(shù)據(jù)量衛(wèi)星壓縮圖像的實時解壓縮功能。并已經(jīng)研制出一款實時解壓縮器設備,以配合完成星上壓縮單元壓縮碼流的解壓縮任務。
(1)本發(fā)明能實現(xiàn)對衛(wèi)星下發(fā)的高速率、大數(shù)據(jù)量、多速率變化的多光譜壓縮數(shù)據(jù)智能接收處理,并研制出一套完整的實時解壓縮器的控制模塊。
(1-1)多譜段遙感圖像實時解壓縮器包括解壓縮處理單元,通過pcie接口與控制模塊實現(xiàn)數(shù)據(jù)交互。為了保證解壓縮工作的實時性,該系統(tǒng)采用專用硬件設備來完成三路壓縮碼流的解壓處理。
(1-2)實時解壓縮器主要外部接口包含交流電源輸入接口、人機交互界面、壓縮碼流輸入接口、解壓縮圖像數(shù)據(jù)輸出接口、以及監(jiān)控的通信接口。
(2)本發(fā)明提供了一套完整的數(shù)據(jù)分析和處理流程。解壓縮處理單元是實時解壓縮器的核心部件,主要完成三路壓縮碼流的實時解壓縮工作;實時解壓縮器中的控制模塊,主要提供解壓縮處理流程控制、實時解壓縮器運行狀態(tài)監(jiān)控和實時解壓縮器軟件更新等功能。
(2-1)控制模塊負責壓縮碼流數(shù)據(jù)接收、與解壓縮處理單元間的通信,控制碼流采集過程,檢測解壓縮狀態(tài),實現(xiàn)三路解壓縮數(shù)據(jù)的比對、分析、統(tǒng)計,分析衛(wèi)星下發(fā)的多波段光譜圖像編碼方式和相關(guān)衛(wèi)星信息,并通過pci-e總線接口接收解壓縮處理單元輸出的解壓縮圖像數(shù)據(jù),然后從萬兆以太網(wǎng)接口輸出。
(2-1)用戶可以通過控制模塊獲取當前實時解壓縮器的工作狀態(tài),獲取已解壓縮圖像相關(guān)的結(jié)果信息,如誤碼率、壓縮比等。在必要情況下,控制模塊可以提供存儲功能,操作者可以直接通過人機交互界面調(diào)用已存儲的部分解壓縮圖像,或查看部分實時解壓縮圖像。
(3)本發(fā)明提供一種智能的高速率、大動態(tài)變化的數(shù)據(jù)流控制方法。衛(wèi)星下發(fā)的壓縮碼流數(shù)據(jù)在實時解壓縮器中的流向控制,壓縮碼流通過三路虛擬信道,經(jīng)千兆以太網(wǎng)接口輸入到控制模塊,再通過pci-e接口寫到解壓縮處理單元,經(jīng)過解壓縮處理單元解壓后,再經(jīng)pci-e接口讀出到控制模塊,控制模塊再將解壓縮圖像從萬兆以太網(wǎng)接口輸出。
(3-1)實時解壓縮器中的控制模塊的研制難點在于處理數(shù)據(jù)量大,對實時性要求高,要求在輸入碼率達到300mbps時,輸出碼流達到600mbps,同時系統(tǒng)延遲時間控制在100ms內(nèi),即第一個壓縮碼流數(shù)據(jù)輸入開始到第一個解壓縮圖像數(shù)據(jù)輸出的時間不超過100ms,這就要求數(shù)據(jù)傳輸盡量快,對于總線傳輸速度有很高要求。
(3-2)pci-e是主流的總線技術(shù)并且支持快速的數(shù)據(jù)傳輸。pciexpress×8總線單向傳輸帶寬可達到2gb/s??梢詽M足服務器與實時解壓縮器的控制模塊之間的數(shù)據(jù)交換要求。
(4)本發(fā)明具備高速率傳輸高可靠性和解壓處理能力的實時性。
(4-1)為保證高速數(shù)據(jù)高可靠傳輸,采用tcp/ip協(xié)議進行可靠傳輸。物理層采用光纖傳輸,以保證長距離傳輸?shù)目煽啃浴Ρ萿dp協(xié)議,tcp/ip協(xié)議通過握手機制、crc校驗來保證數(shù)據(jù)的可靠性。
(4-2)實時解壓縮器的控制模塊需要接收高達300mbps高速率輸入的大數(shù)據(jù)量數(shù)據(jù)。該數(shù)據(jù)包括了雙波段凝視紅外圖像與可見光圖像、大幅面中波掃描圖像(含大氣透過波段數(shù)據(jù))、以及大幅面短波掃描圖像(含大氣透過波段數(shù)據(jù))。如此高的輸入數(shù)據(jù)率和數(shù)據(jù)量決定了單路解壓單元采用串行處理的方式是難以勝任該項工作的。
(4-3)衛(wèi)星數(shù)據(jù)壓縮單元在完成星上相機載荷多路數(shù)據(jù)實時壓縮功能時,分別針對雙波段凝視紅外圖像與可見光圖像、大幅面中波掃描圖像(包含大氣透過波段數(shù)據(jù))、以及大幅面短波掃描圖像三路圖像數(shù)據(jù)輸入,采用了獨立的處理通道并行地完成數(shù)據(jù)壓縮功能。因此,綜合考慮到大數(shù)據(jù)量圖像數(shù)據(jù)處理需求和對應的衛(wèi)星數(shù)據(jù)壓縮單元工作方式,實時解壓縮器對各類數(shù)據(jù)的處理也采用并行處理的方式進行。
(4-4)為了保證實時性,我們采用硬件設備對壓縮碼流進行解壓縮,通過采用三組fpga處理單元并行處理,分別完成掃描短波及相關(guān)大氣透過波段、掃描中波及相關(guān)大氣透過波段和凝視三路圖像的解壓縮工作。
(5)本發(fā)明系統(tǒng)業(yè)務功能模塊劃分清晰明了。
(5-1)壓縮碼流的接收與轉(zhuǎn)發(fā)模塊
該模塊主要完成三路碼流的接收與轉(zhuǎn)發(fā),包括雙波段凝視紅外圖像、可見光圖像,大幅面中波掃描圖像(包含大氣透過波段數(shù)據(jù)),大幅面短波掃描圖像(包含大氣透過波段數(shù)據(jù))。三路數(shù)據(jù)分三個線程通過千兆網(wǎng)卡從socket的三個數(shù)據(jù)端口輸入,然后通過pci-e接口轉(zhuǎn)發(fā)給三塊解壓縮處理板。
(5-2)解壓碼流的分幀與分包模塊
實時解壓縮器中的控制模塊接收來自解壓縮處理單元處理后的解壓縮數(shù)據(jù),將具有特定格式的圖像數(shù)據(jù)轉(zhuǎn)換成一般格式的圖像數(shù)據(jù)并分出完整的每一幀圖像數(shù)據(jù),最后按照預先和格式化器商定的協(xié)議,分成固定格式的發(fā)送包,有序的發(fā)送給格式化器。
(5-3)故障檢測切換模塊
檢測解壓縮處理板卡的工作狀態(tài),一旦解壓縮處理板卡發(fā)生故障,能夠定位到出錯板卡并將出錯板卡的工作切換至備份板。
(6)本發(fā)明系統(tǒng)人機交互界面模塊劃分友好。
(6-1)解壓縮參數(shù)顯示模塊:輸出壓縮過程采用的參數(shù)信息;
(6-2)參數(shù)設置模塊:實時解壓縮器的控制模塊與格式化器之間的連接控制以及控制模塊與解壓縮處理板卡之間的連接控制;
(6-3)離線功能測試模塊:使用本地存儲壓縮碼流,對單塊板卡進行功能測試,解碼功能驗證;
(6-4)解碼狀態(tài)主動上報模塊;
(6-5)日志輸出顯示模塊:記錄用戶操作記錄,隨時跟蹤用戶使用痕跡,以便發(fā)生突發(fā)事件時查找和定位問題。同時輸出系統(tǒng)與格式化器、板卡之間的連接狀態(tài)以及反饋信息等,方便用戶掌握實時解壓器的工作狀態(tài);
(6-6)解壓圖像實時顯示模塊:實時顯示每一幀解壓圖像,以便用戶直觀掌握解壓工作的情況和結(jié)果。
下面結(jié)合附圖和具體實施例對本發(fā)明作進一步說明。
(1)如圖1所示,為實時解壓縮器物理組成簡圖。實時解壓縮器包括解壓縮處理單元和控制模塊兩個部分,解壓縮處理單元是由3塊fpga硬件邏輯板卡和1塊備份板卡組成,實現(xiàn)解碼功能,分別是對雙波段凝視紅外圖像、可見光圖像,大幅面中波掃描圖像(包含大氣透過波段數(shù)據(jù)),大幅面短波掃描圖像(包含大氣透過波段數(shù)據(jù))三大類數(shù)據(jù)圖像。實時解壓器的控制模塊主要負責整個解壓縮過程數(shù)據(jù)流的處理和數(shù)據(jù)的分析。
實時解壓器通過千兆以太網(wǎng)與接收、發(fā)射分系統(tǒng)的總控部件進行通信,接收控制指令并反饋狀態(tài)信息。通過萬兆網(wǎng)將解壓后的大數(shù)據(jù)量發(fā)送給其他設備。
解壓縮處理單元的四塊解壓縮處理板是相互獨立的,并行工作,完成各自解壓工作。正常狀態(tài)下,只有凝視圖像解壓縮處理板,中波掃描圖像解壓縮處理板,短波掃描圖像解壓處理板,3塊板卡在同時工作,只有當中波掃描圖像解壓縮處理板或短波掃描圖像解壓處理板其中一塊板卡出現(xiàn)故障則會將故障板卡處理任務交給備份板。
解壓縮處理單元電路通過pci-e總線接口與控制模塊進行數(shù)據(jù)交換,達到實時性解碼。
(2)如圖2所示,為該發(fā)明的一個應用實施實例,實時解壓縮器在整個衛(wèi)星遙感圖像處理系統(tǒng)中的重要位置和使用價值。實時解壓縮器是星上多譜段遙感圖像實時壓縮單元的地面系統(tǒng)對應設備,編碼后的壓縮碼流經(jīng)過星上綜合處理器,數(shù)據(jù)傳送單元,信號調(diào)試發(fā)送,再經(jīng)過無線信道,傳輸?shù)降孛妫傻孛娼邮湛刂颇K進行無線信號接收解調(diào),信道解密解碼,最后由格式化器傳送到實時解壓縮器,實時完成衛(wèi)星探測數(shù)據(jù)的無/近無損解壓處理,還原成相機格式數(shù)據(jù)。對于實時解壓縮器,輸入到輸出,是數(shù)據(jù)幾倍放大的過程,處理如此巨大的數(shù)據(jù)流,需要很好的數(shù)據(jù)流控制方法和系統(tǒng),才能實時完成解壓任務。
格式化器通過千兆網(wǎng)端口多路輸入圖像壓縮碼流給解壓縮設備,解壓縮設備在低延遲下完成解壓任務,通過萬兆網(wǎng)端口多路輸出解壓后相機格式的圖像數(shù)據(jù),回傳給格式化器。要求在輸入碼率達到300mbps時,輸出碼流達到600mbps,同時系統(tǒng)延遲時間控制在100ms內(nèi)。
(3)如圖3所示,為實時解壓縮器的控制模塊各功能劃分。
實時解壓器的控制模塊主要功能包括:
(3-1)與格式化之間數(shù)據(jù)接收與發(fā)送,通過tcp/ip傳輸協(xié)議,多線程并行接收壓縮碼流和多線程并行分包發(fā)送解壓縮圖像數(shù)據(jù)。
(3-2)與解壓縮處理單元數(shù)據(jù)流的寫入和讀出,將接收的的壓縮碼流處理后,把碼流數(shù)據(jù)通過pci-e的dma寫操作多線程并行寫入對應處理波段的板卡中。同時,通過pci-e的dma讀操作多線程并行讀出對應板卡解碼輸出數(shù)據(jù),交由控制模塊處理。
(3-3)與監(jiān)控器間的交互,解碼狀態(tài)信息通過udp協(xié)議實時發(fā)送反饋給監(jiān)控器。
(3-4)實時解壓器的控制模塊還提供了一些輔助測試功能模塊,包括日志顯示模塊,能實時記錄測試狀態(tài)和提示各種錯誤、警告信息;圖像顯示模塊,可以顯示解碼后的圖像;解碼參數(shù)顯示模塊,實時的將解碼圖像的相關(guān)編碼信息告訴給用戶;離線功能測試模塊,可用于問題排故,和系統(tǒng)功能更新測試。
(4)與格式化器是之間采用tcp通信。數(shù)據(jù)源端采用tcp服務器端模式,數(shù)據(jù)接收端采用tcp客戶端模式。即:在傳輸壓縮碼流時,格式化器為服務器,實時解壓縮器為客戶端;在傳輸解壓縮數(shù)據(jù)時,格式化器為客戶端,實時解壓縮器為服務器。由客戶端向服務器端發(fā)出數(shù)據(jù)申請幀,申請數(shù)據(jù),服務器端接收申請后,開始發(fā)送數(shù)據(jù)。實時解壓縮器與格式化器tcp通信流程如圖4和圖5所示。
(4-1)當格式化器作為服務器端,實時解壓器器作為客戶端,實時解壓器的控制模塊向格式化器申請壓縮碼流流程圖如圖4所示。
①格式化器與實時解壓縮器開始運行;
②實時解壓縮器中的控制模塊向格式化器發(fā)起連接請求;
③實時解壓縮器中的控制模塊判斷連接是否成功,若是,則根據(jù)實時解壓縮器與格式化器之間的通信協(xié)議發(fā)出請求;否則,斷開與格式化器的連接,并實時發(fā)送與格式化器的連接請求,當格式化器重新啟動時實現(xiàn)重連;
④當格式化器收到所述實時解壓縮器發(fā)送的請求后,判斷實時解壓縮器是否合法登陸,若是,則發(fā)送多譜段遙感壓縮碼流;否則,格式化器向?qū)崟r解壓縮器發(fā)送拒絕幀
(4-2)當實時解壓縮器作為服務器端,格式化器作為客戶端,式化器向解壓縮服務器申請解壓縮圖像數(shù)據(jù)碼流流程圖如圖5所示。
①格式化器與實時解壓縮器開始運行;
②實時解壓縮器開始在萬兆網(wǎng)口監(jiān)聽,格式化器向?qū)崟r解壓縮器發(fā)起連接請求;
③格式化器進行判斷,是否連接成功,若連接成功,則向?qū)崟r解壓縮器發(fā)起包申請幀接收;否則,斷開與實時解壓縮器連接,釋放對應端口;
④實時解壓器開啟監(jiān)聽,等待格式化器發(fā)送數(shù)據(jù)包申請幀。當實時解壓縮器收到格式化器所發(fā)送的申請幀,判斷格式化器是否合法登陸,若是,則發(fā)送解壓后的多譜段遙感圖像;否則,實時解壓縮器向格式化器發(fā)送拒絕幀。
(5)多路線成并行處理機制,如圖6所示,實時解壓縮器采用三塊解壓縮處理板分別解壓縮三路數(shù)據(jù),分別為掃描短波數(shù)據(jù),掃描中波數(shù)據(jù),凝視數(shù)據(jù)。三路數(shù)據(jù)的處理是互不影響的,所以可以并行處理,提升系統(tǒng)的工作效率和吞吐率。多線程模塊是為了滿足解壓縮的實時性而設計的。
(5-1)數(shù)據(jù)處理過程總共采用17個線程:三個線程負責從格式化器接收壓縮碼流,三個線程負責將壓縮碼流轉(zhuǎn)發(fā)給對應的解壓縮板;三個線程負責從解壓縮板接收解壓縮數(shù)據(jù);三個線程負責對解壓縮數(shù)據(jù)進行分類處理;五個線程負責將相機數(shù)據(jù)分包發(fā)送給格式化器。
(5-2)為提高數(shù)據(jù)接收效率,在壓縮碼流接收去包頭處理和執(zhí)行寫dma操作之間加入第一級緩存,將碼流接收及寫dma操作由該緩存拆分成兩個線程,采用該種設計方法可以避免應輸入碼率瞬間提高而導致接收短溢出問題。同時,可以保證往pcie進行寫dma操作時寫入的數(shù)據(jù)是定長且為2kb的整數(shù)倍技術(shù)指標要求。
(5-3)在硬件數(shù)據(jù)處理和解壓圖像數(shù)據(jù)網(wǎng)網(wǎng)絡端口發(fā)送之間新增加兩級緩存,增加5個數(shù)據(jù)發(fā)送線程,將掃描波段的左右路發(fā)送過程分離開來,相互獨立,可以提高輸出碼率和減少系統(tǒng)延時,使解壓縮圖像顯示,左右半場之間幾乎可以同步,不會出現(xiàn)左右半場圖像顯示的延遲。
(6)如圖7所示,并行接收上游格式化器發(fā)來的壓縮碼流處理流程。
(6-1)通過tcp/ip通信協(xié)議,三路并行線程通過三個虛擬信道端口接收三路不同的壓縮碼流數(shù)據(jù),三個接收數(shù)據(jù)線程相互獨立,并行運行,提高網(wǎng)絡數(shù)據(jù)接收速率。
(6-2)對接收到的數(shù)據(jù)進行處理-解包,解析包頭信息(包頭信息為實時解壓縮器與格式化器間協(xié)議數(shù)據(jù)包信息),根據(jù)包頭信息判斷是否出錯,若出錯,給出錯誤提示信息;否則,將接收到的碼流數(shù)據(jù)存入對應的不同數(shù)據(jù)流的數(shù)據(jù)緩存區(qū)內(nèi),等待pcie的dma寫操作線程讀取數(shù)據(jù)。
(6-3)多路接收數(shù)據(jù)線程只負責數(shù)據(jù)接收和解包操作,并行運行,可以大大提高網(wǎng)絡數(shù)據(jù)接收效率。
(7)如圖8所示,并行將接收到的壓縮數(shù)據(jù)進行pcie接口轉(zhuǎn)發(fā)到對應處理板。整個系統(tǒng)是個流水線過程,壓縮碼流轉(zhuǎn)發(fā)處理線程,也是三路并行處理。
(7-1)判斷對應壓縮碼流接收第一級數(shù)據(jù)緩存區(qū)中是否有數(shù)據(jù),若有,則讀入固定長度壓縮碼流數(shù)據(jù),通過pcie接口轉(zhuǎn)發(fā)給對應處理板;否則,等待。
(8)解壓縮處理板解壓后的圖像數(shù)據(jù),需要輸出給格式化器,形成一個數(shù)據(jù)流回路。解壓縮處理單元完成解壓功能后,解壓縮服務器控制模塊會將解碼圖像數(shù)據(jù)通過pcie接口進行dma讀操作,將數(shù)據(jù)讀出,并將數(shù)據(jù)存入第二級數(shù)據(jù)緩存區(qū)中。。由于解壓縮處理單元輸出的解碼數(shù)據(jù)不是最終的還原圖像格式,需要進行分包處理,分包具體流程見(10),分包流程見圖9所示。
(8-1)解壓縮處理單元的解壓數(shù)據(jù)讀取。對于實時解壓縮器,為提高數(shù)據(jù)處理效率,解壓數(shù)據(jù)輸出分包過程也是三路線程并行處理,讀取第二級數(shù)據(jù)緩存區(qū)中的數(shù)據(jù)并進分包處理的,將掃描短波圖像數(shù)據(jù)分左右半場圖像存入對應待發(fā)數(shù)據(jù)緩存區(qū);將掃描中波圖像數(shù)據(jù)分左右半場圖像存入對應待發(fā)數(shù)據(jù)緩存區(qū);將凝視解壓縮數(shù)據(jù)存入凝視待發(fā)數(shù)據(jù)緩存區(qū)。待發(fā)數(shù)據(jù)緩存區(qū)為第三級數(shù)據(jù)緩存區(qū)。整個過程為流水線過程。
(9)圖10顯示的是五路并行的圖像數(shù)據(jù)發(fā)送線程,已經(jīng)提到過,加壓過程是一個數(shù)據(jù)由掃到多的過程,為適應不同程度的壓縮比模式,提高解碼輸出能力,采用并行發(fā)送處理,流水線操作,各模塊互不干擾,高效運行。五路數(shù)據(jù)發(fā)送數(shù)據(jù)線程過程相同,判斷第三級數(shù)據(jù)緩存區(qū)中是否有數(shù)據(jù),如果有數(shù)據(jù),則發(fā)送固定長度的數(shù)據(jù)到對應的圖像端口;否則,循環(huán)等待。
(10)解壓圖像數(shù)據(jù)解析分包,將解壓縮處理單元輸出的掃描中波和掃描短波數(shù)據(jù)進行分包處理,分左右半場發(fā)送。分包處理流程如圖12所示。
輸入:解壓縮處理單元解碼后輸出數(shù)據(jù)。
處理:對輸入數(shù)據(jù)進行解析分包。
輸出:相機格式圖像數(shù)據(jù)。
詳細設計:從解壓縮處理板接收到的解碼數(shù)據(jù)并不是相機格式的數(shù)據(jù),掃描圖像數(shù)據(jù)沒有分左右半場,解壓縮板接收到的解壓縮數(shù)據(jù)是左右路無序的,如圖11所示。
為了將硬件輸出色解壓數(shù)據(jù)按包有序的發(fā)送給格式化器,需要將無序的數(shù)據(jù)進行分類處理,形成有序的左右路圖像數(shù)據(jù)。所以需要對硬件輸出數(shù)據(jù)進行解析分包處理。
(10-1)解壓縮處理單元掃描解碼數(shù)據(jù)分為三種類型(幀頭輔助信息作為類型a,幀尾輔助信息作為類型b,掃描圖像左半場或右半場圖像的一行作為類型c),每16bit的數(shù)據(jù)表示一個像素中,低10bit為圖像數(shù)據(jù),第11,12位是數(shù)據(jù)類型標志,高4bit是為了湊成16bit而補的,進行數(shù)據(jù)分類處理是需要剔除數(shù)據(jù)通過每16bit數(shù)據(jù)的第11,12位進行辨別,a和b數(shù)據(jù)類型對應01,c數(shù)據(jù)類型中的左半場數(shù)據(jù)對應10,c數(shù)據(jù)類型中的右半場數(shù)據(jù)對應11。
(10-2)有效數(shù)據(jù)段輸出順序:第一幀圖像的幀頭(類型a)最先輸出,緊接著較長時間都是在輸出掃描圖像的左半場或右半場的一行(類型c),是左半場還是右半場是隨機的,但不會出現(xiàn)連續(xù)來很多行左半場數(shù)據(jù)或右半場數(shù)據(jù)的情況,至多也只會連著有幾行。當輸出了11635行右半場數(shù)據(jù)后,接下來輸出的是一段幀尾+填充(類型b)的數(shù)據(jù),至此第一幀數(shù)據(jù)輸出結(jié)束。然后開始輸出第二幀,格式與第一幀相同,再按此過程輸出后續(xù)的所有幀。
(10-3)具體解析分包步驟如下,流程如圖1所示:
①從第二級數(shù)據(jù)緩存區(qū)中讀取一部分數(shù)據(jù);
②通過類型標識進行類型判斷。若為類型a或b,執(zhí)行③操作,進行幀輔助頭和幀輔助尾信息判斷;若為類型c且為掃描圖像左半場一行,執(zhí)行操作④,進行左行輔助頭信息判斷;若為類型c且為掃描圖像右半場一行,執(zhí)行⑤操作,進行右行輔助頭信息判斷。
③進行幀輔助頭和幀輔助尾信息判斷,若為幀頭輔助信息,則取固定長度數(shù)據(jù)進行轉(zhuǎn)換拼位,并拆分成左、右兩個部分存入左右路數(shù)據(jù)緩存存儲區(qū);若為幀尾輔助信息,則取不同固定長度數(shù)據(jù)進行轉(zhuǎn)換拼位,并拆分成左右兩個部分存入左右路數(shù)據(jù)緩存存儲區(qū);
④若為掃描圖像左半場一行,則進行左行輔助頭判斷,若為左行輔助頭,則對固定長度數(shù)據(jù)進行轉(zhuǎn)換拼位,將數(shù)據(jù)存入左路數(shù)據(jù)緩存存儲區(qū);否則,繼續(xù)搜索左行輔助頭,進入步驟⑥。
⑤若為掃描圖像右半場一行,則進行右行輔助頭判斷,若為右行輔助頭,則對固定長度數(shù)據(jù)進行轉(zhuǎn)換拼位,將數(shù)據(jù)存入右路數(shù)據(jù)緩存存儲區(qū);否則,繼續(xù)搜索右行輔助頭,進入步驟⑥。
⑥通過搜索行輔助頭信息來尋找行輔助頭,若找到,則對固定長度數(shù)據(jù)進行轉(zhuǎn)換拼位,并將數(shù)據(jù)存入對應的左、右路數(shù)據(jù)緩存存儲區(qū);若沒有找到,則結(jié)束并返回至步驟①。
(11)實時解壓縮器的控制模塊與格式化器網(wǎng)絡重連功能實現(xiàn),如簡圖13所示。
實時解壓器的控制模塊與格式化器網(wǎng)絡連接存在問題是,控制模塊能自動連接到格式化器,并且接受格式化器的連接。實時解壓器的控制模塊既是客戶端也是服務器端。
(11-1)實時解壓器的控制模塊和格式化器之間是雙向連接:控制模塊在千兆網(wǎng)端口接收格式化器發(fā)送的壓縮碼流時,是作為客戶端連接格式化器;控制模塊通過萬兆網(wǎng)端口向格式化器發(fā)送解壓縮圖像數(shù)據(jù)時,是作為服務器端,處于監(jiān)聽狀態(tài)等待格式化的連接。所以當與格式化器間千兆網(wǎng)連接或萬兆網(wǎng)連接出現(xiàn)問題時,實時解壓器的控制模塊應能恢復正常連接。而不會出現(xiàn)當連接失敗或者是當格式化器主動斷開連接時軟件出現(xiàn)卡死現(xiàn)象。
(11-2)本發(fā)明設計中添加了5個監(jiān)聽線程,分別對應掃描短波左路發(fā)送端口、掃描短波右路發(fā)送端口、掃描中波左路發(fā)送端口、掃描中波右路發(fā)送端口、以及凝視波發(fā)送端口。當格式化器與解壓縮服務器連接成功,則會啟動對應的5個解壓圖像數(shù)據(jù)發(fā)送線程。tcp監(jiān)聽線程會處于守護狀態(tài)。當格式化器主動斷開與解壓縮服務器的連接,5個解壓數(shù)據(jù)發(fā)送線程會終止,并執(zhí)行監(jiān)聽線程,實現(xiàn)重連。
(11-3)3個斷開重連功能,當格式化器斷開連接,掃描短波碼流數(shù)據(jù)接收線程,掃描中波碼流數(shù)據(jù)接收線程,凝視波段碼流數(shù)據(jù)接收線程,會在各種的接收端口不斷連接格式化器,當格式化器重新啟動時,可以實現(xiàn)重連。
本領域的技術(shù)人員容易理解,以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。