專利名稱:基于多dsp并行處理的大容量圖像數據實時壓縮設備及方法
技術領域:
本發明涉及信息處理領域,特別涉及基于多DSP并行處理的大 容量圖像數據實時壓縮設備及方法。
背景技術:
對于大容量圖像數據的實時壓縮技術,由于數據量大且壓縮算法 復雜,需要硬件配合來提升算法運算速度。目前最廣為采用的硬件實
現方法包括
(1) 多FPGA的方案。
即通過多個FPGA (Field Programmable Gate Array,現場可編程 門陣列)并行地對圖像數據進行處理,該設計的好處是能夠較好的滿 足圖像壓縮算法要求,同時存在如下一些弊端
a) 成本居高不下。在很多特殊應用場合,如衛星遙感、高空攝 影等,需要采用宇航級或軍品級器件,而這一層次的FPGA的價格遠 遠高于DSP (Digital Signal Processor,數字信號處理器)。建立在多 FPGA結構體系上的硬件系統,其成本難以降低。
b) 單粒子翻轉效應。當高能帶電粒子產生的重離子通過微電子 器件時,容易產生電離,發生單粒子翻轉效應,其導致的系統邏輯狀 態混亂,可能產生嚴重后果。多FPGA設計中,計算分解為FPGA內 部大量基本邏輯門的運算。在空間環境中,這種結構加重了產生的邏 輯門翻轉效應的可能。
(2) 基于ASIC (Application Specific Intergrated Circuits, 專用
集成電路)專用芯片的方案。
在小波圖像壓縮方面,主要有AD公司生成的ADV系列芯片, 如ADV611/ADV612、 ADV202等,如ADV202采用JPEG2000壓縮 算法,支持最高6級的9/7和5/3小波變換,內部包含一個專用的小 波引擎,3個熵編碼器, 一個片內存儲系統和一個嵌入式RISC處理 器,在可逆模式下,ADV202能以40M byte/秒的速度處理圖像,如 果用于不可逆模式,采樣速度可達65Mbyte/秒,滿足PAL/NTSC等 多種視頻要求。
從對ADV202的使用來看,附以相應的外部RAM和外圍接口, 能獲得良好的圖像質量和滿足要求的運算速度。ADV202的缺陷是
a) 只有專業級芯片,沒有軍品級和宇航級,可靠性方面存在隱患。
b) 在惡劣的環境中,ADV202的抗輻照性能和抗單粒子翻轉能 力都不能提供有力的保證。
c) 專業級芯片在嚴格的應用場合,使用前需要進行篩選,目前 國內尚沒有此篩選能力。而依托國外進行篩選,有器件封鎖、保密等 諸多方面的考慮。
d) 自行研制出具有相當性能指標并能滿足宇航要求的ASIC設 計周期長,造價昂貴且風險高,成本也非常高。
本發明克服了以上方案存在的問題,設計了一種基于多DSP并 行處理結構的大容量圖像數據實時壓縮設備。采用多DSP實現圖像 實時壓縮具有如下優點
a) DSP在數字圖像處理領域具有優勢。經測試,TMS320C641X 型DSP在600MHz主頻下,只用50%的運算能力就可以同時進行單
通道MPEG-4視頻編碼、單通道MPEG-4視頻解碼和單通道MPEG-2 視頻解碼的處理。
b) DSP在圖像壓縮算法實現過程中具有獨特的優勢。根據各自 的結構特點,DSP適合需要復雜算法的應用領域,如多重if-then-else 結構,而FPGA更適合前端(傳感器)的應用,例如FIR濾波、CORDIC 算法或FFT (Fast Fourier Transformation快速傅里葉變換)等。對于 圖像壓縮算法,尤其是變換后的編碼算法,有很多的循環、條件、跳 轉等操作,結構相當復雜,這些都更適合于DSP實現。
c) DSP具有高性能的并行處理能力。如TI公司的TMS320C6000 系列DSP,片內有8個并行處理的功能單元6個加法器和2個專門 的硬件乘法器,8個功能單元在一個周期內最多可以同時執行8條32 位指令。實際執行情況取決于并行算法設計的優劣,這給予開發人員 充分發揮智慧和創造性的空間。開發人員可以結合算法和DSP并行 處理能力,開發出高性能的并行算法,并采用DSP代碼優化方法, 大幅提高算法實現速度。
d) DSP成本相對FPGA較低。宇航級或軍品級的FPGA價格遠 遠高于DSP。由于基數較大,處理器價格差異帶來的成本差異非常大。
發明內容
本發明克服了上述缺點,提供了一種基于多DSP并行處理的大 容量圖像數據實時壓縮設備及方法,以滿足衛星遙感、高空攝影等應 用場合的大容量圖像數據處理的需求。
本發明解決其技術問題所采取的技術方案是 一種基于多DSP 并行處理結構的大容量圖像數據實時壓縮設備,包括基于多個DSP 并行結構的圖像壓縮處理單元、基于FPGA的設備管理單元,所述
FPGA的數據輸入端通過相連的高速接口接收圖像數據,所述DSP 與FPGA之間通過HPI接口、 GPIO接口和McBSP串口相連,所述 FPGA還連接有FLASH程序存儲單元。
將多DSP可以菊花鏈方式串接在一起形成一個JTAG仿真鏈, 在連接在所述FPGA上。
所述各DSP的各JTAG引腳連接到FPGA,所述FPGA同時連接 有JTAG接口仿真器。
所述高速接口可采用LVDS接口單元。
所述FPGA還可連接有多片外部數據緩存單元。
本發明還公開了一種實現數據壓縮的方法,包括如下步驟
圖像數據經過FPGA并行進入各DSP;
各DSP壓縮后的碼流并行輸出到FPGA;
FPGA做并串轉換后串行輸出。
本發明針對一些應用場合圖像輸入碼速率高以及對重建圖像高 保真的特殊要求,該設備采用多DSP并行處理結構完成大容量圖像 數據的實時壓縮,根據任務分配和數據耦合方式,選擇FPGA作為數 據轉換和DSP管理器件,將相機輸出的圖像數據并行進入數據壓縮 機的各DSP, FPGA基本不做處理。各DSP壓縮后的碼流并行輸出 到FPGA, FPGA做并串轉換后串行輸出,因此各DSP之間基本沒有 耦合。該設備具有數據處理能力強、并行性能好、可靠性高、易于擴 展的優點,除可應用于一般實時圖像壓縮場合外,重點是可應用于衛 星遙感、高空攝影等圖像輸入碼速率高以及對重建圖像質量、設備可 靠性等方面有特殊要求的場合。
圖l是本發明的總體結構框圖。
圖2是本發明的McBSP結構框圖。 圖3是本發明的數據輸出接口電路時序圖。 圖4是本發明的數據輸出接口電路。 圖5是本發明的多DSP的菊花鏈方式JTAG接口電路。
具體實施例方式
如圖1中所示,是基于多DSP并行處理結構的大容量圖像數據 實時壓縮設備的總體結構框圖。n路串行CCD數據通過LVDS (Low Voltage Differential Signaling低壓差分信號)接口多路并行進入 FPGA進行時序轉換,多個并行的DSP分別通過兩個串口以EDMA (Extend Direct Memory Access擴展的直接存儲器訪問)方式從 FPGA讀取兩路相機數據并緩存、壓縮編碼,整個數據壓縮系統需要 (int)((n+l)/2)個DSP并行處理。壓縮后碼流數據通過串口輸出到 FPGA, FPGA重新緩存、組幀、時序轉換后輸出。本發明控制器件 FPGA完成數據流的管理和對各個DSP的管理,相機輸出的圖像數據 并行進入數據壓縮機的各DSP, FPGA基本不做處理。各DSP壓縮 后的碼流并行輸出到FPGA, FPGA做并串轉換后串行輸出,因此各 DSP之間基本沒有耦合。
FPGA與DSP的連接有三種方式HPI (Host Port Interface主機口)、 GPIO (General Purpose Input/Output通用輸入/輸出外設)和 McBSP (Multi-channel Buffered Serial Port多通道緩沖串口),其中 HPI用于FPGA對DSP的程序引導,GPIO用于FPGA對DSP的遙 控接口, McBSP用于FPGA與DSP之間的數據傳輸,包括圖像數據 輸入和壓縮后碼流數據輸出。
高速實時壓縮不僅要求處理器有高速處理能力,還要求數據接口 有高速傳輸能力。本發明中所涉及的數據接口主要有圖像數據輸入接
口、 FPGA和DSP的數據交換接口、壓縮或復用數據輸出接口。 (1 )高速LVDS相機數據輸入接口
所述LVDS接口實現多路并行圖像數據輸入,每路信號為LVDS 差分信號。四線制LVDS同步通信接口,串行同步方式數據傳輸時, 像元高位在前、低位在后。
(2) EDMA方式多通道緩沖串口
EDMA是DSP中用于快速數據交換的重要技術,具有獨立于 CPU的后臺批量數據傳輸的能力,能夠滿足實時圖像處理中高速數 據傳輸的要求。在本發明中,FPGA與DSP數據傳輸主要通過串口, 每個DSP使用串口 0和串口 2兩個數據通道和FPGA相連。
DSP的McBSP是在標準串口的基礎上發展而來的,McBSP的基 本功能包括全雙工串行通信;雙緩沖數據寄存器,允許連續的數據 流;收發獨立的幀同步和時鐘信號;數據傳輸可以利用外部時鐘或片 內的可編程時鐘;當利用DMA (Direct Memory Access直接存儲器 訪問)為McBSP服務時,串口數據讀寫具有自動緩沖的能力。
如圖2所示是McBSP結構框圖。DX管腳負責數據的發送,DR 管腳負責信號的接收,另外有4個管腳提供接口的控制信號(時鐘和 幀同步)。每個McBSP在內部可以分為1個數據通道和1個控制通道。 DSP通過片內外設總線訪問串口的32位數據/控制寄存器,進而實現 與McBSP間的通信與控制。在本發明中,每個DSP使用串口O和串 口 2兩個數據通道,CLKS外的6個管腳都連接到FPGA。數據通道 完成數據的發送和接收。CPU或EDMA控制器向數據發送寄存器
DXR寫入待發送的數據,從數據接收寄存器DRR讀取接收到的數據。 寫入DXR的數據通過發送移位寄存器XSR移位輸出至DX管腳。同 樣,DR管腳上接收到的數據先移位進入接收轉移寄存器RSR,然后 被復制到接收緩沖寄存器RBR中,RBR再將數據復制到DRR中, 最后等候CPU或DMA控制器將數據讀走。這種多級緩沖結構使片 內的數據讀寫和外部的數據通信可以同時進行。
圖3是數據輸出接口電路時序圖。輸出信號電平為+3.3VCMOS 信號,在DSP選擇其中一個數據通道進行數據傳輸時,在當前的時 鐘脈沖開始時傳輸有效的數據。
圖4是數據輸出接口電路,上述的多級緩沖可通過輸入輸出端的 緩沖器BUFFER實現,即對DSP實現壓縮后的輸出信號和輸入到 FPGA中實現控制的信號分別通過兩級緩沖器實現緩沖。
附圖5是多DSP的菊花鏈方式JTAG接口電路。所述JTAG接口 包括測試時鐘、測試數據輸入和輸出、測試模式選擇、測試接口復位、 EMU[11:0]共17個引腳。其中TMS、 TDO、 TDI、 TCK、 EMU[11:0] 引腳均有內部上拉電阻30kQ, TRST引腳有內部下拉電阻30kQ, EMU[1:0]引腳用于選擇DSP的操作模式為邊界掃描方式還是仿真方 式。在本發明中需要利用DSP的JTAG接口進行硬件仿真,采用的 仿真器是TI提供的XDS510系列仿真器。為了 DSP應用軟件調試方 便,將多DSP以菊花鏈方式串接在一起形成一個JTAG仿真鏈。本 設計中將多DSP的各JTAG引腳連接到FPGA, FPGA同時連接到 JTAG仿真器的引腳,菊花鏈在FPGA內部編程實現。該結構使系統 可以方便地向任意一個或多個DSP下載程序,進行仿真測試。
本發明中基于FPGA的多DSP程序引導方法屬于主機引導,該 方法尤其適合以PFGA作為主機的多DSP并行系統。系統通過FPGA 對多個DSP芯片進行初始配置,并加載DSP工作時所需要的程序, 這種配置和加載是通過DSP的HPI接口來實現的。配置和加載所需 要的程序事先放置在FPGA的片外FLASH中,由PC機發起實現。 PC機通過局域網口 LAN或串口 RS232將程序寫到FPGA的RAM中, 再由FPGA將程序寫入片外FLASH。
設計中采用HPI接口作為上電引導接口 ,在Host Boot模式下, DSP外部的復位信號由低變高后,DSP內部進入暫停狀態,此時外 部的Host通過DSP的HPI接口初始化DSP的存儲器空間、內部配 置寄存器、配置外圍設備等。當Host完成需要的初始配置后,Host 必須設置HPIC寄存器的DSPINT域來完成引導過程。啟動過程是通 過FPGA對DSP的HPI 口寫入來實現的,設計中DSP沒有外掛Flash, 啟動代碼和執行程序都是在FPGA的片外Flash中統一存儲,便于軟 件版本管理和更新。
借助多個DSP處理器并建立合理的并行體系實現圖像數據的并 行壓縮。通過分配并行任務,調整數據結構,平均分配功能單元,利 用匯編語言的靈活性合理編排指令,實現對圖像壓縮任務的DSP并 行處理,從而減少任務的執行時間,達到實時性的要求。
由于DSP軟件的全部加固設計消耗的資源比較大,而且還會造 成性能的下降,因此需要選擇關鍵部分進行設計加固。設計中以預防 為主、附以有效的檢錯措施,并結合靈活的外部監控模塊,具體措施 如下(1)采用簡單有效的"三倍冗余"設計方法保護長時間存在的 關鍵變量。(2)采用加法運算,對整個存儲區的程序按照16位無符 號數進行求和,結果作為校驗數來檢驗程序區是否發生單粒子翻轉,
如果發現程序存儲區出現錯誤,就通過外部監控模塊對DSP程序進
行重新引導。(3)適時清空程序Cache和控制寄存器,減少單粒子翻 轉發生的概率。(4)將FPGA作為系統的監控模塊,它根據DSP給 出的狀態信號(通用GPIO)判斷DSP是否異常,如果某個DSP出 現故障,系統監控模塊將對該DSP進行復位和重新引導,DSP的程 序采用一定的加固措施存儲在非易失大容量存儲器中。
輻射效應對FPGA造成的影響有的是永久的,如總劑量效應、單 粒子燒毀、位移損傷;有的是能夠恢復的,如單粒子翻轉、單粒子功 能中斷、單粒子瞬態脈沖。單粒子閂鎖造成的影響既可以是永久的, 也可以是可恢復的,只要處理得當可以減少造成永久損傷的概率。采 取的主要防護措施如下(l)整體屏蔽減少輻射。(2)采用冗余設計。 (3)減少使用Half-latch。 (4)采用余數判斷法檢測法、奇偶校驗等 對關鍵運算結果進行檢驗。
以上對本發明所提供的基于多DSP并行處理的大容量圖像數據 實時壓縮設備及方法進行了詳細介紹,本文中應用了具體個例對本發 明的原理及實施方式進行了闡述,以上實施例的說明只是用于幫助理 解本發明的方法及其核心思想;同時,對于本領域的一般技術人員, 依據本發明的思想,在具體實施方式
及應用范圍上均會有改變之處, 綜上所述,本說明書內容不應理解為對本發明的限制。
權利要求
1.一種基于多DSP并行處理結構的大容量圖像數據實時壓縮設備,其特征在于包括基于多個DSP并行結構的圖像壓縮處理單元、基于FPGA的設備管理單元,所述FPGA的數據輸入端通過相連的高速接口接收圖像數據,所述DSP與FPGA之間通過HPI接口、GPIO接口和McBSP串口相連,所述FPGA還連接有FLASH程序存儲單元。
2. 根據權利要求1所述的基于多DSP并行處理結構的大容量圖 像數據實時壓縮設備,其特征在于將多DSP以菊花鏈方式串接在 一起形成一個JTAG仿真鏈,在連接在所述FPGA上。
3. 根據權利要求2所述的基于多DSP并行處理結構的大容量圖 像數據實時壓縮設備,其特征在于所述各DSP的各JTAG引腳連 接到FPGA,所述FPGA同時連接有JTAG接口仿真器。
4. 根據權利要求1或2或3所述的基于多DSP并行處理結構的 大容量圖像數據實時壓縮設備,其特征在于:所述高速接口采用LVDS 接口單元。
5. 根據權利要求1或2或3所述的基于多DSP并行處理結構的 大容量圖像數據實時壓縮設備,其特征在于所述FPGA還連接有多 片外部數據緩存單元。
6. —種采用如權利要求1中所述設備實現數據壓縮的方法,其特 征在于包括如下步驟圖像數據經過FPGA并行進入各DSP;各DSP壓縮后的碼流并行輸出到FPGA; FPGA做并串轉換后串行輸出。
全文摘要
本發明涉及信息處理領域,特別涉及基于多DSP并行處理的大容量圖像數據實時壓縮設備及方法,采用多DSP并行處理結構完成大容量圖像數據的實時壓縮,根據任務分配和數據耦合方式,選擇FPGA作為數據轉換和DSP管理器件,將相機輸出的圖像數據并行進入數據壓縮機的各DSP,FPGA基本不做處理。各DSP壓縮后的碼流并行輸出到FPGA,FPGA做并串轉換后串行輸出,因此各DSP之間基本沒有耦合。該設備具有數據處理能力強、并行性能好、可靠性高、易于擴展的優點,除可應用于一般實時圖像壓縮場合外,重點是可應用于衛星遙感、高空攝影等圖像輸入碼速率高以及對重建圖像質量、設備可靠性等方面有特殊要求的場合。
文檔編號G06T1/00GK101360245SQ20081021124
公開日2009年2月4日 申請日期2008年9月19日 優先權日2008年9月19日
發明者杜列波, 楊建偉, 王繼東, 羅武勝, 肖學敏, 冰 胡, 鵬 魏, 琴 魯 申請人:中國人民解放軍國防科學技術大學