一種基于fpga的圖像矯正方法和裝置的制造方法
【專利摘要】本發(fā)明公開了一種基于FPGA的圖像矯正方法和裝置。該方法包括:獲取來自于輸入設備的圖像數(shù)據(jù)并進行分離,以得到不同顏色的數(shù)據(jù),將所述不同顏色的數(shù)據(jù)寫入FPGA外部存儲器的不同的塊區(qū)域;利用FPGA針對所得到的不同顏色的數(shù)據(jù)及矯正參數(shù)依次分別讀回FPGA進行矯正處理,以得到矯正后的數(shù)據(jù),并將矯正后的數(shù)據(jù)按照不同顏色寫入FPGA外部存儲器中的不同的塊區(qū)域,其中,所述矯正參數(shù)預先存儲在FPGA的外部存儲器中;以及將所述矯正后的數(shù)據(jù)按不同顏色分別讀回FPGA進行數(shù)據(jù)組合并輸出至顯示設備。本發(fā)明提出的技術方案利用FPGA通過對不同顏色的圖像依次分別進行矯正處理,可以有效的節(jié)約FPGA的資源,降低對不同顏色圖像矯正參數(shù)不同導致的處理的計算復雜度。
【專利說明】
_種基于FPGA的圖像矯正方法和裝置
技術領域
[0001 ]本發(fā)明涉及一種FPGA的處理技術,更具體地,涉及一種基于FPGA的圖像矯正方法和裝置。
【背景技術】
[0002]近年來,隨著科技的進步,虛擬現(xiàn)實技術逐步成熟,各種虛擬現(xiàn)實的頭戴設備的應用也日益廣泛。頭戴設備的光學系統(tǒng)必然會引入光學畸變和色差效應。
[0003]光學畸變的原因是由于透鏡的放大率會隨光束和透鏡主軸間所成角度改變而非恒定值。根據(jù)光學系統(tǒng)透鏡的不同,可能產(chǎn)生桶形或者枕形畸變,并且越靠近邊緣畸變就越大。其中,虛擬現(xiàn)實頭戴設備的光學系統(tǒng)一般產(chǎn)生的是枕形畸變。色差效應是由于不同色光的波長和折射率不同而導致的??梢姽庵屑t色波長較長,折射率小,藍色波長較短,折射率大。色差會導致兩種結果:一是物點不能很好的聚焦成一個完美的像點,造成成像模糊:二是成像畫面邊緣部分會有彩虹現(xiàn)象,尤其是明暗交界處。
[0004]雖然,利用高級的消畸消色差透鏡可以一定程度上進行矯正補償,但無法100%消除畸變與色差,因此,還需要通過圖像處理技術來進一步進行矯正處理。
[0005]在現(xiàn)有技術中,一般將圖像幀的數(shù)據(jù)分為紅色、綠色和藍色(即RGB)數(shù)據(jù),由于數(shù)據(jù)存儲通常為按像素存儲,同一個像素的不同顏色數(shù)據(jù)在存儲器中地址具有連續(xù)性,為了提高外部存儲器的帶寬使用效率,如果需要對圖像進行畸變處理或色差補償,通常是對三種顏色的數(shù)據(jù)同時進行處理。然而,三種顏色的矯正參數(shù)一般不盡相同,當采用FPGA進行矯正補償時,由于FPGA內(nèi)部存儲空間和運算能力的限制以及傳輸帶寬的限制,這種同時并行處理大量的數(shù)據(jù)會導致FPGA的資源使用率高,不能合理利用FPGA資源等問題。
【發(fā)明內(nèi)容】
[0006]鑒于上述問題,本發(fā)明提供一種基于FPGA的圖像矯正的新技術方案。
[0007]根據(jù)本發(fā)明的第一方面,提供了一種基于FPGA的圖像矯正方法,該方法包括:獲取來自于輸入設備的圖像數(shù)據(jù)并進行分離,以得到不同顏色的數(shù)據(jù),將所述不同顏色的數(shù)據(jù)寫入FPGA外部存儲器的不同的塊區(qū)域;利用FPGA針對所得到的不同顏色的數(shù)據(jù)及矯正參數(shù)依次分別讀回FPGA進行矯正處理,以得到矯正后的數(shù)據(jù),并將矯正后的數(shù)據(jù)按照不同顏色寫入FPGA外部存儲器中的不同的塊區(qū)域,其中,所述矯正參數(shù)預先存儲在FPGA的外部存儲器中;以及將所述矯正后的數(shù)據(jù)按不同顏色分別讀回FPGA進行數(shù)據(jù)組合并輸出至顯示設備。
[0008]優(yōu)選地,所述圖像矯正參數(shù)包括圖像畸變參數(shù)和/或圖像色差參數(shù)。
[0009]優(yōu)選地,按照預先計算的格式將所述矯正參數(shù)預先存儲在FPGA的外部存儲器。
[0010]優(yōu)選地,所述矯正參數(shù)反映所述圖像數(shù)據(jù)矯正處理前后像素點的映射關系。
[0011]根據(jù)本發(fā)明的第二方面,提供了一種基于FPGA的圖像矯正的裝置,該裝置包括:圖像數(shù)據(jù)接收單元,用于獲取來自于輸入設備的圖像數(shù)據(jù)并進行分離,得到不同顏色的數(shù)據(jù),將所述不同顏色的數(shù)據(jù)寫入到FPGA外部存儲器的不同的塊區(qū)域;圖像數(shù)據(jù)矯正單元,利用FPGA針對所得到的不同顏色的數(shù)據(jù)及矯正參數(shù)依次從外部存儲器讀回FPGA分別進行矯正處理,以得到矯正后的數(shù)據(jù),并將校正后的數(shù)據(jù)按不同顏色寫入FPGA外部存儲器的不同的塊區(qū)域,其中,所述矯正參數(shù)預先存儲在FPGA的外部存儲器中;以及圖像數(shù)據(jù)輸出單元,用于將所述矯正后的數(shù)據(jù)按不同顏色分別讀回FPGA進行數(shù)據(jù)組合并輸出至顯示設備。
[0012]優(yōu)選地,在所述裝置中,所述圖像矯正參數(shù)包括圖像畸變參數(shù)和/或圖像色差參數(shù)。
[0013]優(yōu)選地,在該裝置中,按照預先計算的格式將所述矯正參數(shù)預先存儲在FPGA的外部存儲器。
[0014]優(yōu)選地,在該裝置中,所述矯正參數(shù)反映所述圖像數(shù)據(jù)矯正處理前后像素點的映射關系。
[0015]本發(fā)明的發(fā)明人發(fā)現(xiàn),在現(xiàn)有技術中,一般是在FPGA中同時處理對R、G、B數(shù)據(jù)以進行圖像矯正。然而,在本發(fā)明中,是依次對R、G、B的數(shù)據(jù)進行處理,處理一組數(shù)據(jù)之后在繼續(xù)第二組數(shù)據(jù)的處理。因此,本發(fā)明所要實現(xiàn)的技術任務或者所要解決的技術問題是本領域技術人員從未想到的或者沒有預期到的,故本發(fā)明是一種新的技術方案。
[0016]通過以下參照附圖對本發(fā)明的示例性實施例的詳細描述,本發(fā)明的其它特征及其優(yōu)點將會變得清楚。
【附圖說明】
[0017]被結合在說明書中并構成說明書的一部分的附圖示出了本發(fā)明的實施例,并且連同其說明一起用于解釋本發(fā)明的原理。
[0018]圖1是根據(jù)本發(fā)明一個實施例的基于FPGA的圖像矯正方法的流程圖。
[0019]圖2是根據(jù)本發(fā)明的一個實施例的基于FPGA的圖像矯正裝置的示意性框圖。
[0020]圖3A和圖3B分別為畸變處理前后圖像數(shù)據(jù)幀的示意圖。
【具體實施方式】
[0021]現(xiàn)在將參照附圖來詳細描述本發(fā)明的各種示例性實施例。應注意到:除非另外具體說明,否則在這些實施例中闡述的部件和步驟的相對布置、數(shù)字表達式和數(shù)值不限制本發(fā)明的范圍。
[0022]以下對至少一個示例性實施例的描述實際上僅僅是說明性的,決不作為對本發(fā)明及其應用或使用的任何限制。
[0023]對于相關領域普通技術人員已知的技術、方法和設備可能不作詳細討論,但在適當情況下,所述技術、方法和設備應當被視為說明書的一部分。
[0024]在這里示出和討論的所有例子中,任何具體值應被解釋為僅僅是示例性的,而不是作為限制。因此,示例性實施例的其它例子可以具有不同的值。
[0025]應注意到:相似的標號和字母在下面的附圖中表示類似項,因此,一旦某一項在一個附圖中被定義,則在隨后的附圖中不需要對其進行進一步討論。
[0026]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明的實施例作進一步地詳細描述。
[0027]在本發(fā)明中,針對現(xiàn)有技術中的圖像畸變處理,通過現(xiàn)場可編程們陣列,依次分別對不同顏色的數(shù)據(jù)進行矯正處理。大大降低了FPGA進行圖像矯正處理過程中,避免了在FPGA中存儲大量的數(shù)據(jù),提高了 FPGA的資源利用率。
[0028]圖1示出了根據(jù)本發(fā)明的一個實施例的基于FPGA的圖像矯正方法的流程圖。
[0029]如圖1所示,在步驟S110,獲取來自于輸入設備的圖像數(shù)據(jù)并進行分離,得到不同顏色的數(shù)據(jù),并將數(shù)據(jù)按照不同顏色寫入FPGA外部存儲器的不同的塊區(qū)域。
[0030]在此步驟中,從外部圖像源設備接收圖像數(shù)據(jù),實現(xiàn)對圖像數(shù)據(jù)的緩存和時序的檢測。
[0031]在步驟S120,利用FPGA針對所得到的不同顏色的數(shù)據(jù)及矯正參數(shù)依次分別讀回FPGA進行矯正處理,以得到矯正后的數(shù)據(jù),并將矯正后的數(shù)據(jù)按照不同顏色寫入FPGA外部存儲器中的不同的塊區(qū)域。其中,處理前和處理后的不同顏色的圖像所存儲的塊區(qū)域不同。
[0032]在一個例子中,所述圖像矯正參數(shù)包括圖像畸變參數(shù)和/或圖像色差參數(shù)。由于圖像在輸出過程中可能發(fā)生畸變或色差效應,導致原始數(shù)據(jù)中像素點在畸變前后位置不同。這種通過查找矯正參數(shù)來確定輸出像素的方式可以提高圖像的顯示質量,改善人眼的視覺效果。
[0033]所述的矯正參數(shù)可以預先存儲在FPGA的內(nèi)嵌內(nèi)存中,也可以存儲在FPGA的外部存儲器中,例如,存儲在FPGA的外部DDR中。在一個例子中,將矯正參數(shù)預先存儲在FPGA的外部存儲器,所述矯正參數(shù)可以按照預先計算好的格式存儲,其中,矯正參數(shù)的格式與所應用的虛擬現(xiàn)實設備的透鏡位置以及透鏡組的光學特性等有關。例如,在畸變矯正的情況下,所述矯正參數(shù)可以反映畸變處理前后各個像素點的映射關系。在色差補償矯正的情況下,所述矯正參數(shù)可以反映各個顏色的像素點在色差補償前后的映射關系。
[0034]在這個例子中,首先,將矯正參數(shù)存儲在FPGA的外部存儲器中。當進行圖像矯正處理時,F(xiàn)PGA實時從外部存儲器讀取矯正參數(shù)。通過這種方式,可以節(jié)約FPGA的存儲資源利用率。
[0035]在另一個例子中,所述圖像矯正步驟進一步包括:FPGA從外部存儲器獲取圖像數(shù)據(jù);FPGA從外部存儲器獲取預先存儲的矯正參數(shù);FPGA將所矯正后的圖像數(shù)據(jù)寫入到外部存儲器。其中,所述的外部存儲器可以采用常見的存儲器類型,諸如,隨機存取存儲器(RAM)、靜態(tài)隨機存取存儲器(SRAM),同步動態(tài)隨機存儲器(SDRAM)等。在一個例子中,采用雙倍速率同步動態(tài)隨機存儲器用于FPGA的讀取和回寫操作,以實現(xiàn)高速的數(shù)據(jù)處理過程。
[0036]在步驟S120中,所述的針對所獲取的不同顏色的圖像數(shù)據(jù)依次進行矯正處理的過程,例如,首先,F(xiàn)PGA將接收到的圖像數(shù)據(jù)分開為紅色、藍色、綠色(S卩R、B、G)三部分,并將RBG分別寫入到外部內(nèi)存的不同空間;在進行矯正處理時,F(xiàn)PGA依次讀取不同顏色的數(shù)據(jù)以及對應的矯正參數(shù),并將它們緩存在FPGA的內(nèi)嵌存儲器中,然后FPGA基于矯正參數(shù)分別處理不同顏色的數(shù)據(jù);FPGA將矯正后的數(shù)據(jù)再寫入外部存儲器。
[0037]在這個例子中,首先讀取紅色數(shù)據(jù)和相應的矯正參數(shù)并進行矯正處理;然后,讀取綠色數(shù)據(jù)和相應的矯正參數(shù)并進行矯正處理;最后,讀取藍色數(shù)據(jù)和相應的矯正參數(shù)并進行矯正處理??梢姡鄬τ谕瑫r讀取RGB數(shù)據(jù)并同時處理的過程,這種對不同顏色的數(shù)據(jù)依次處理的方式,可以減輕FPGA存儲大量數(shù)據(jù)的負擔。此外,在外部存儲的圖像數(shù)據(jù)像素不滿足2的倍數(shù)的關系的情況下,解決了FPGA計算存儲地址困難的問題。因此,在本實施例中,可以有效的提高FPGA的資源利用率。
[0038]在步驟S130,所述矯正后的數(shù)據(jù)按不同顏色分別讀回FPGA進行數(shù)據(jù)組合并輸出至顯示設備。。
[0039]由于FPGA是一種半定制的電路,F(xiàn)PGA的邏輯是通過向內(nèi)部靜態(tài)存儲單元加載編程數(shù)據(jù)來實現(xiàn)的。存儲在存儲單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或I/o間的連接方式,并最終決定了 FPGA所能實現(xiàn)的功能,F(xiàn)PGA允許無限次的編程,因此,F(xiàn)PGA內(nèi)部資源的有限??梢姡ㄟ^采用如圖1所示的圖像矯正方法,可以有效的提高FPGA的資源利用率,尤其在涉及到大數(shù)據(jù)量的存儲時,效果尤為明顯。
[0040]圖2示出了根據(jù)本發(fā)明的一個實施例的基于FPGA的圖像矯正裝置的示意性框圖。
[0041]如圖2所示,該矯正裝置200包括:圖像數(shù)據(jù)接收單元221、圖像數(shù)據(jù)矯正單元222以及圖像數(shù)據(jù)輸出單元223。
[0042]圖像數(shù)據(jù)接收單元221、圖像數(shù)據(jù)矯正單元222以及圖像數(shù)據(jù)輸出單元223位于FPGA 220中,所述圖像數(shù)據(jù)接收單元221,用于獲取來自于輸入設備的圖像數(shù)據(jù)并進行分離,得到不同顏色的數(shù)據(jù),將所述不同顏色的數(shù)據(jù)寫入到FPGA外部存儲器的不同的塊區(qū)域;圖像數(shù)據(jù)矯正單元222,利用FPGA針對所得到的不同顏色的數(shù)據(jù)及矯正參數(shù)依次從外部存儲器讀回FPGA分別進行矯正處理,以得到矯正后的數(shù)據(jù),并將校正后的數(shù)據(jù)按不同顏色寫入FPGA外部存儲器的不同的塊區(qū)域,其中,所述矯正參數(shù)預先存儲的FPGA的外部存儲器中;圖像數(shù)據(jù)輸出單元223,用于將所述矯正后的數(shù)據(jù)按不同顏色分別讀回FPGA進行數(shù)據(jù)組合并輸出至顯示設備。
[0043]可選地,所述圖像矯正參數(shù)包括圖像畸變參數(shù)和/或圖像色差參數(shù)。
[0044]可選地,按照預先計算的格式將所述矯正參數(shù)預先存儲在FPGA的外部存儲器。
[0045]可選地,所述矯正參數(shù)反映所述圖像數(shù)據(jù)矯正處理前后像素點的映射關系。
[0046]進一步地,該裝置還包括FPGA外部存儲器210,用于:存儲從輸入設備獲取的圖像數(shù)據(jù);預先存儲矯正參數(shù);存儲來自于FPGA的矯正后的圖像數(shù)據(jù)。
[0047]圖3A示出了根據(jù)本發(fā)明的一個實施例的畸變處理前的圖像示意圖,圖3B示出了根據(jù)本發(fā)明的一個實施例的畸變處理后的示意圖。由圖3A和圖3B可以看出,畸變處理之前的圖像幀的圖形是矩形的,畸變處理之后的圖像幀是桶形的。為了減少圖像矯正的數(shù)據(jù)處理量,將RBG數(shù)據(jù)分開依次進行矯正處理。這樣做可以避免在矯正處理過程中,F(xiàn)PGA中內(nèi)部存儲空間的限制,提高了 FPGA的資源使用率。
[0048]雖然已經(jīng)通過例子對本發(fā)明的一些特定實施例進行了詳細說明,但是本領域的技術人員應該理解,以上例子僅是為了進行說明,而不是為了限制本發(fā)明的范圍。本領域的技術人員應該理解,可在不脫離本發(fā)明的范圍和精神的情況下,對以上實施例進行修改。本發(fā)明的范圍由所附權利要求來限定。
【主權項】
1.一種基于FPGA的圖像矯正方法,包括: 獲取來自于輸入設備的圖像數(shù)據(jù)并進行分離,以得到不同顏色的數(shù)據(jù),將所述不同顏色的數(shù)據(jù)寫入FPGA外部存儲器的不同的塊區(qū)域; 利用FPGA針對所得到的不同顏色的數(shù)據(jù)及矯正參數(shù)依次分別讀回FPGA進行矯正處理,以得到矯正后的數(shù)據(jù),并將矯正后的數(shù)據(jù)按照不同顏色寫入FPGA外部存儲器中的不同的塊區(qū)域,其中,所述矯正參數(shù)預先存儲在FPGA的外部存儲器中;;以及 將所述矯正后的數(shù)據(jù)按不同顏色分別讀回FPGA進行數(shù)據(jù)組合并輸出至顯示設備。2.根據(jù)權利要求1所述的基于FPGA的圖像矯正方法,其特征在于,所述圖像矯正參數(shù)包括圖像畸變參數(shù)和/或圖像色差參數(shù)。3.根據(jù)權利要求1所述的基于FPGA的圖像矯正方法,其特征在于,按照預先計算的格式將所述矯正參數(shù)預先存儲在FPGA的外部存儲器中。4.根據(jù)權利要求3所述的基于FPGA的圖像矯正方法,其特征在于,所述矯正參數(shù)包含所述圖像數(shù)據(jù)矯正處理前后像素點的映射關系。5.一種基于FPGA的圖像矯正裝置,包括: 圖像數(shù)據(jù)接收單元,用于獲取來自于輸入設備的圖像數(shù)據(jù)并進行分離,得到不同顏色的數(shù)據(jù),將所述不同顏色的數(shù)據(jù)寫入到FPGA外部存儲器的不同的塊區(qū)域; 圖像數(shù)據(jù)矯正單元,利用FPGA針對所得到的不同顏色的數(shù)據(jù)及矯正參數(shù)依次從外部存儲器讀回FPGA分別進行矯正處理,以得到矯正后的數(shù)據(jù),并將校正后的數(shù)據(jù)按不同顏色寫入FPGA外部存儲器的不同的塊區(qū)域,其中,所述矯正參數(shù)預先存儲在FPGA的外部存儲器中; 圖像數(shù)據(jù)輸出單元,用于將所述矯正后的數(shù)據(jù)按不同顏色分別讀回FPGA進行數(shù)據(jù)組合并輸出至顯示設備。6.根據(jù)權利要求5所述的基于FPGA的圖像矯正裝置,其特征在于,所述圖像矯正參數(shù)包括圖像畸變參數(shù)和/或圖像色差參數(shù)。7.根據(jù)權利要求5所述的基于FPGA的圖像矯正裝置,其特征在于,按照預先計算的格式將所述矯正參數(shù)預先存儲在FPGA的外部存儲器。8.根據(jù)權利要求7所述的基于FPGA的圖像矯正裝置,其特征在于,所述矯正參數(shù)包含所述圖像數(shù)據(jù)矯正處理前后像素點的映射關系。
【文檔編號】G06F3/14GK105894473SQ201610248373
【公開日】2016年8月24日
【申請日】2016年4月20日
【發(fā)明人】畢祥坤
【申請人】北京小鳥看看科技有限公司