一種基于fpga的電子穩像系統的制作方法
【專利摘要】本發明一種基于FPGA的電子穩像系統,包括由FPGA和外部幀存儲器構建的底層數據流水架構和穩像處理子系統兩部分組成;底層數據流水架構,用于對視頻數據進行解碼提取有效的圖像數據并緩存,采用乒乓操作控制整個系統的圖像數據流,并向穩像處理子系統提供所緩存的圖像數據,利用穩像處理子系統處理得到的參數構造運動補償幀輸出;穩像處理子系統,計算輸入圖像數據的當前幀的運動補償參數,并將其傳輸給底層數據流水架構。基于本發明設計,可以利用FPGA實現基于特征匹配的電子穩像,達到實時性要求。
【專利說明】
-種基于FPGA的電子穩像系統
技術領域
[0001] 本發明屬于圖像處理技術領域,具體設及一種基于FPGA的電子穩像系統。
【背景技術】
[0002] 電子穩像技術作為一種重要的視頻增強技術,可W有效地從視頻序列中去除因攝 像平臺不穩定而引入的圖像擾動,從而提高視頻的穩定性和清晰度,已經被廣泛應用到軍 事領域和民用設備中。
[0003] 常用的電子穩像方法按照運動估計方法的不同可W分為基于圖像特征的電子穩 像方法和基于灰度信息的電子穩像方法。其中,基于圖像特征的穩像方法通過提取帖內特 征點,并對相鄰帖的特征點進行匹配來估計攝像機的運動參數,進而對圖像進行運動補償。 該方法精度較高,可W有效去除視頻中的平移和旋轉抖動,進而被廣泛采用,但由于計算過 程相對復雜,難W硬件實時實現。
[0004] 利用FPGA進行視頻圖像處理,可W充分發揮并行和流水線計算的優勢,解決復雜 的計算密集型運算,為實時視頻處理提供一種有效的解決方案。
【發明內容】
陽0化]本發明是為了解決現有基于特征匹配的穩像算法難W硬件實時實現的問題,而提 出一種基于FPGA的電子穩像系統。
[0006] 實現本發明的技術方案如下:
[0007] 一種基于FPGA的電子穩像系統,包括由FPGA和外部帖存儲器構建的底層數據流 水架構和穩像處理子系統兩部分組成;
[0008] 底層數據流水架構,用于對視頻數據進行解碼提取有效的圖像數據并緩存,采用 兵鳥操作控制整個系統的圖像數據流,并向穩像處理子系統提供所緩存的圖像數據,利用 穩像處理子系統處理得到的參數構造運動補償帖輸出;
[0009] 穩像處理子系統,計算輸入圖像數據的當前帖的運動補償參數,并將其傳輸給底 層數據流水架構。
[0010] 本發明具有如下有益效果:
[0011] 1)基于本發明設計,可W利用FPGA實現基于特征匹配的電子穩像,達到實時性要 求。 陽〇1引。利用FPGA及少量外圍器件,可W完成構建低功耗的小型化實時穩像系統,應用 前景廣泛。
[0013] 3)特征提取,特征匹配和運動參數估計Ξ個模塊W流水線模式運行,充分發揮 FPGA并行處理的優勢,保證處理的實時性。
【附圖說明】
[0014] 圖1為基于FPGA的電子穩像系統的示意圖;
[0015] 圖2為底層數據流水架構框圖;
[0016] 圖3為特征提取模塊框圖;
[0017] 圖4為特征匹配模塊框圖;
[0018] 圖5為運動參數估計模塊框圖;
[0019] 圖6為運動參數累積及濾波模塊框圖。
【具體實施方式】
[0020] 下面結合附圖和具體實例對本發明進行詳細說明。
[OOW 如圖1所示,本發明一種基于FPGA的電子穩像系統,包括由FPGA和外部帖存儲器 構建的底層數據流水架構和穩像處理子系統。
[0022] 底層數據流水架構,用于對視頻數據進行解碼提取有效的圖像數據并緩存,采用 兵鳥操作控制整個系統的圖像數據流,并向穩像處理子系統提供所緩存的圖像數據,利用 穩像處理子系統處理得到的參數構造運動補償帖輸出。
[0023] 穩像處理子系統,計算輸入圖像數據的當前帖的運動補償參數,并將其傳輸給底 層數據流水架構。
[0024] 如圖2所示,本發明所述底層數據流水架構主要由視頻解碼子模塊、輸入視頻寫 入子模塊、輸入帖讀出子模塊、當前帖寫入子模塊、地址產生子模塊、補償帖讀出子模塊、輸 出帖寫入子模塊、輸出視頻讀出子模塊、視頻編碼子模塊、外部存儲控制器、外部存儲總線 仲裁子模塊、輸入緩存、輸出緩存、參考帖緩存及當前帖緩存組成;輸入緩存、輸出緩存、參 考帖緩存及當前帖緩存由外部帖存儲器實現;其利用外部帖存儲器進行圖像存儲,采用兵 鳥操作進行輸入輸出緩存,并向穩像處理模塊提供有效的圖像數據進行處理,然后利用處 理結果構造運動補償帖輸出。具體為:
[0025] 視頻解碼子模塊,對輸入的視頻數據進行解碼,提取有效的圖像數據作為輸入帖 通過輸入視頻寫入子模塊寫入到輸入緩存中。
[00%]輸入帖讀出子模塊,從輸入緩存中讀取緩存好的輸入帖,并將其傳輸給穩像處理 子系統,同時,通過當前帖寫入子模塊將參考帖圖像寫入參考帖緩存中,通過當前帖寫入子 模塊將其余帖圖像寫入當前帖緩存中;其中參考帖為從輸入帖中選定的其中一帖。
[0027] 地址產生子模塊,根據穩像處理子系統輸出的運動補償參數構造運動補償帖,并 計算運動補償帖內各點的數據存儲地址,產生一個地址隊列。
[0028] 補償帖讀出子模塊,根據所述地址隊列讀出運動補償帖的各點數據作為輸出帖, 并通過輸出帖寫入子模塊寫入到輸出緩存中。
[0029] 輸出視頻讀出子模塊,將緩存好的輸出帖送到視頻編碼子模塊進行視頻編碼輸 出。
[0030] 外部存儲總線仲裁子模塊,利用各子模塊的存取優先級進行外部帖存儲器的總線 分配,生成讀寫指令。
[0031] 外部存儲控制器,根據外部總線仲裁子模塊的讀寫指令,按照外部帖存儲器的時 序要求產生讀寫信號,進行數據存取。
[0032] 本發明所述穩像處理子系統由FPGA實現,包括特征提取模塊、特征匹配模塊、運 動參數估計模塊和運動參數累積及濾波模塊;特征提取,特征匹配,運動參數估計模塊W流 水線模式運行,充分發揮FPGA的并行處理優勢,保證處理的實時性。具體為:
[0033] 特征提取模塊,用于提取當前帖圖像的特征點,并針對提取的特征點生成相應的 特征向量傳輸給特征匹配模塊。
[0034] 特征匹配模塊,用于對當前帖的特征向量和前一帖的進行匹配,獲取匹配點對并 傳輸給運動參數估計模塊。
[0035] 運動參數估計模塊,用于根據匹配點對,生成多個變換模型,選取內點數最多的變 換模型的參數作為帖間運動參數,然后將其傳輸給運動參數累積及濾波模塊。
[0036] 運動參數累積及濾波模塊,用于對帖間運動參數進行累積,并濾除所述累積運動 變換參數中的高頻分量,計算當前帖的運動補償參數,然后將所述運動補償參數傳輸給底 層數據流水架構。
[0037] (1)特征提取模塊
[0038] 如圖3所示,本發明所述特征提取模塊主要由數據分配子模塊,特征點檢測子模 塊,特征點描述子模塊及合成子模塊組成;負責從當前帖提取特征點并生成特征向量。
[0039] 數據分配子模塊,對輸入圖像數據進行區域緩存,并將當前點的鄰域數據信息并 行分配給特征點檢測子模塊和特征點描述子模塊;計算當前點的坐標將其傳輸給合成子模 塊。
[0040] 特征點檢測子模塊,根據當前點的鄰域數據信息判斷當前點是否為特征點,根據 判斷的結果生成特征點標志傳輸給特征匹配模塊。
[0041] 特征點描述子模塊,根據當前點的鄰域數據信息生成相應的特征描述,并傳輸給 合成子模塊。
[0042] 合成子模塊,根據接收的特征描述和坐標合成當前點的特征向量傳輸給特征匹配 模塊。
[0043] (2)特征匹配模塊
[0044] 如圖4所示,本發明所述特征匹配模塊主要由特征向量存儲子模塊,匹配控制器 和匹配器組成;負責將當前帖的特征向量與前一帖的進行匹配,生成匹配點對坐標。
[0045] 特征向量存儲子模塊由參考特征向量存儲和當前帖特征向量存儲構成,用于接收 特征提取模塊傳輸過來的特征向量和特征點標志,根據所述特征點標志判斷是否對特征向 量進行存儲,并存儲前一帖的特征向量集合。
[0046] 匹配控制器,用于將特征向量存儲子模塊中存儲的、當前帖尚未進行匹配的特征 向量讀出,將所讀出的特征向量送到匹配器。
[0047] 匹配器主要由特征向量距離計算子模塊和匹配判別子模塊組成;負責為輸入的待 匹配特征向量在前一帖的特征向量集合中找出最佳匹配。
[0048] 特征向量距離計算子模塊,存儲輸入的待匹配的特征向量,從特征向量存儲子模 塊依次讀取前一帖的所有特征向量,并計算待匹配的特征向量與前一帖的所有特征向量之 間的距離,記錄距離的最小和次小值及最小距離所對應的匹配點對的空間信息。
[0049] 匹配判別子模塊,根據所述距離的最小和次小值W及最小距離所對應的匹配點對 的空間信息,判斷最小距離所對應的匹配點對是否為正確匹配點對,生成匹配標志和匹配 點對坐標給運動參數估計模塊。
[0050] 本實施例中匹配判別子模塊的判斷為:將最小與次小距離的比值與預設闊值進行 比較,判斷所述比值是否小于預設闊值。 陽05U 同時,針對空間信息中包含的空間坐標化Y)和皮,Y'),方向角R和R',設立W下 兩種判別條件: 陽05引第一:
[0053] 第二:I R-R' I < Τ'虹eshold2
[0054] 其中,T虹esholdl表示坐標闊值,T虹eshold2表示角度闊值; 陽化5] 若W上條件均滿足,則認為最小距離所對應的匹配點對為正確匹配,生成表示匹 配成功的匹配標志位。
[0056] (3)運動參數估計模塊
[0057] 如圖5所示,本發明所述運動參數估計模塊主要由匹配點對存儲子模塊,變換模 型生成子模塊和最佳變換模型選取模塊組成;負責從匹配點對集合中逐次估計變換模型并 進行內點數統計,選取內點最多的變換模型參數作為帖間運動參數的最佳估計。
[0058] 匹配點對存儲子模塊,用于接收特征匹配模塊傳輸過來的匹配點對坐標和匹配標 志,并根據所述匹配標志對匹配點對坐標進行存儲。
[0059] 變換模型生成子模塊,用于從存儲于匹配點對存儲子模塊中的匹配點對坐標集合 中進行η次隨機選取匹配點對,利用η次選取的匹配點對坐標生成η個變換模型并進行存 儲。
[0060] 最佳變換模型選取模塊主要由η+1個變換模型寄存子模塊、η+1個內點判別和統 計子模塊及最佳變換模型選取子模塊組成;其中η+1個內點判別和統計子模塊分別與η+1 個變換模型寄存子模塊一一對應。
[0061] 變換模型寄存子模塊,用于從變換模型生成子模塊中讀取生成的η個變換模型并 存儲到η個變換模型寄存子模塊中,與第η+1個變換模型寄存子模塊中存儲的上一次估計 的最佳變換模型一起組成本次估計的η+1個候選變換模型。
[0062] 內點判別和統計子模塊,判斷匹配點對存儲子模塊中的每一個匹配點對是否為與 其對應的候選變換模型的內點,統計出每一候選變換模型的內點數量。
[0063] 最佳變換模型選取子模塊,選出內點最多的候選變換模型作為本次估計的最佳變 換模型;在當前帖匹配過程結束,將當前獲得的最佳變換模型的參數作為最佳運動參數估 計并傳輸給運動參數累積及濾波模塊。
[0064] (4)運動參數累積及濾波模塊
[0065] 如圖6所示,本發明運動參數累積及濾波模塊主要由運動參數累積子模塊和濾波 子模塊組成。
[0066] 運動參數累積子模塊,對接收的最佳運動參數進行累積,計算當前帖相對于參考 帖的累積變換參數。
[0067] 濾波子模塊,用于濾除累積變換參數中的高頻分量,計算當前帖的運動補償參數 并輸出。
[0068] 綜上所述,利用本發明的一種基于FPGA的電子穩像系統,可W實時實現基于特征 匹配的電子穩像,基于FPGA和少量外圍器件,可W完成構建低功耗的小型化實時穩像系 統,應用范圍廣泛。
【主權項】
1. 一種基于FPGA的電子穩像系統,其特征在于,包括由FPGA和外部幀存儲器構建的底 層數據流水架構和穩像處理子系統兩部分組成; 底層數據流水架構,用于對視頻數據進行解碼提取有效的圖像數據并緩存,采用乒乓 操作控制整個系統的圖像數據流,并向穩像處理子系統提供所緩存的圖像數據,利用穩像 處理子系統處理得到的參數構造運動補償幀輸出; 穩像處理子系統,計算輸入圖像數據的當前幀的運動補償參數,并將其傳輸給底層數 據流水架構。2. 根據權利要求1所述一種基于FPGA的電子穩像系統,其特征在于,所述穩像處理子 系統由FPGA實現,包括特征提取模塊、特征匹配模塊、運動參數估計模塊和運動參數累積 及濾波模塊; 特征提取模塊,用于提取當前幀圖像的特征點,并針對提取的特征點生成相應的特征 向量傳輸給特征匹配模塊; 特征匹配模塊,用于對當前幀的特征向量和前一幀的進行匹配,獲取匹配點對并傳輸 給運動參數估計模塊; 運動參數估計模塊,用于根據匹配點對,生成多個變換模型,選取內點數最多的變換模 型的參數作為幀間運動參數,然后將其傳輸給運動參數累積及濾波模塊; 運動參數累積及濾波模塊,用于對幀間運動參數進行累積,并濾除所述累積運動變換 參數中的高頻分量,計算當前幀的運動補償參數,然后將所述運動補償參數傳輸給底層數 據流水架構。3. 根據權利要求1所述一種基于FPGA的電子穩像系統,其特征在于,所述底層數據流 水架構主要由視頻解碼子模塊、輸入視頻寫入子模塊、輸入幀讀出子模塊、當前幀寫入子模 塊、地址產生子模塊、補償幀讀出子模塊、輸出幀寫入子模塊、輸出視頻讀出子模塊、視頻編 碼子模塊、外部存儲控制器、外部存儲總線仲裁子模塊、輸入緩存、輸出緩存、參考幀緩存及 當前幀緩存組成;輸入緩存、輸出緩存、參考幀緩存及當前幀緩存由外部幀存儲器實現; 視頻解碼子模塊,對輸入的視頻數據進行解碼,提取有效的圖像數據作為輸入幀通過 輸入視頻寫入子模塊寫入到輸入緩存中; 輸入幀讀出子模塊,從輸入緩存中讀取緩存好的輸入幀,并將其傳輸給穩像處理子系 統,通過當前幀寫入子模塊將參考幀圖像寫入參考幀緩存中,通過當前幀寫入子模塊將其 余幀圖像寫入當前幀緩存中; 地址產生子模塊,根據穩像處理子系統輸出的運動補償參數構造運動補償幀,并計算 運動補償幀內各點的數據存儲地址,產生一個地址隊列; 補償幀讀出子模塊,根據所述地址隊列讀出運動補償幀的各點數據作為輸出幀,并通 過輸出幀寫入子模塊寫入到輸出緩存中; 輸出視頻讀出子模塊,將緩存好的輸出幀送到視頻編碼子模塊進行視頻編碼輸出; 外部存儲總線仲裁子模塊,利用各子模塊的存取優先級進行外部幀存儲器的總線分 配,生成讀寫指令; 外部存儲控制器,根據外部總線仲裁子模塊的讀寫指令,按照外部幀存儲器的時序要 求產生讀寫信號,進行數據存取。4. 根據權利要求2所述一種基于FPGA的電子穩像系統,其特征在于,所述特征提取模 塊主要由數據分配子模塊,特征點檢測子模塊,特征點描述子模塊及合成子模塊組成; 數據分配子模塊,用于對輸入圖像數據進行區域緩存,并將當前點的鄰域數據信息并 行分配給特征點檢測子模塊和特征點描述子模塊;計算當前點的坐標將其傳輸給合成子模 塊; 特征點檢測子模塊,根據當前點的鄰域數據信息判斷當前點是否為特征點,根據判斷 的結果生成特征點標志傳輸給特征匹配模塊; 特征點描述子模塊,根據當前點的鄰域數據信息生成相應的特征描述,并傳輸給合成 子模塊; 合成子模塊,根據接收的特征描述和坐標合成當前點的特征向量傳輸給特征匹配模 塊。5. 根據權利要求2所述一種基于FPGA的電子穩像系統,其特征在于,所述特征匹配模 塊主要由特征向量存儲子模塊,匹配控制器和匹配器組成; 特征向量存儲子模塊,用于接收特征提取模塊傳輸過來的特征向量和特征點標志,根 據所述特征點標志判斷是否對特征向量進行存儲,并存儲前一幀的特征向量集合; 匹配控制器,用于將特征向量存儲子模塊中存儲的、當前幀尚未進行匹配的特征向量 讀出,將所讀出的特征向量送到匹配器; 匹配器主要由特征向量距離計算子模塊和匹配判別子模塊組成; 特征向量距離計算子模塊,存儲輸入的待匹配的特征向量,從特征向量存儲子模塊依 次讀取前一幀的所有特征向量,并計算待匹配的特征向量與前一幀的所有特征向量之間的 距離,記錄距離的最小和次小值及最小距離所對應的匹配點對的空間信息; 匹配判別子模塊,根據所述距離的最小和次小值以及最小距離所對應的匹配點對的空 間信息,判斷最小距離所對應的匹配點對是否為正確匹配點對,生成匹配標志和匹配點對 坐標給運動參數估計模塊。6. 根據權利要求2所述一種基于FPGA的電子穩像系統,其特征在于,所述運動參數估 計模塊主要由匹配點對存儲子模塊,變換模型生成子模塊和最佳變換模型選取模塊組成; 匹配點對存儲子模塊,用于接收特征匹配模塊傳輸過來的匹配點對坐標和匹配標志, 并根據所述匹配標志對匹配點對坐標進行存儲; 變換模型生成子模塊,用于從存儲的匹配點對坐標集合中進行η次隨機選取匹配點 對,利用η次選取的匹配點對坐標生成η個變換模型并進行存儲; 最佳變換模型選取模塊主要由η+1個變換模型寄存子模塊、η+1個內點判別和統計子 模塊及最佳變換模型選取子模塊組成;其中η+1個內點判別和統計子模塊分別與η+1個變 換模型寄存子模塊 對應; 變換模型寄存子模塊,用于讀取η個變換模型并存儲到η個變換模型寄存子模塊中,與 第η+1個變換模型寄存子模塊中存儲的上一次估計的最佳變換模型一起組成本次估計的 η+1個候選變換模型; 內點判別和統計子模塊,判斷匹配點對存儲子模塊中的每一個匹配點對是否為與其對 應的候選變換模型的內點,統計出每一候選變換模型的內點數量; 最佳變換模型選取子模塊,選出內點最多的候選變換模型作為本次估計的最佳變換模 型;在當前幀匹配過程結束,將當前獲得的最佳變換模型的參數作為最佳運動參數估計并 傳輸給運動參數累積及濾波模塊。7.根據權利要求2所述一種基于FPGA的電子穩像系統,其特征在于,所述運動參數累 積及濾波模塊主要由運動參數累積子模塊和濾波子模塊組成; 運動參數累積子模塊,對接收的最佳運動參數進行累積,計算當前幀相對于參考幀的 累積變換參數并輸出; 濾波子模塊,用于濾除累積變換參數中的高頻分量,計算當前幀的運動補償參數并輸 出。
【文檔編號】H04N5/232GK105872346SQ201510028849
【公開日】2016年8月17日
【申請日】2015年1月20日
【發明人】李佳男, 許廷發
【申請人】北京理工大學