全景視頻柱面圖像存儲方法及系統的製作方法
2023-06-01 22:47:56 2
專利名稱:全景視頻柱面圖像存儲方法及系統的製作方法
技術領域:
本發明涉及圖像拼接技術領域,特別是涉及一種全景視頻柱面圖像存儲方法以及一種全景視頻柱面圖像存儲系統。
背景技術:
圖像拼接技術被廣泛應用於宇宙空間檢測、海底勘測、醫學、氣象、視頻的索引和檢索、物體的3D重建、數位相機的超解析度處理等領域。視頻拼接是圖像拼接的一個重要運用,通過圖像拼接可以生成視角更大、解析度更高的視頻,它主要應用於展示展覽、視覺娛樂、監控和廣告等領域。由於處理視頻時涉及到幀速問題,因此要想實現高解析度視頻拼接,FPGA(Field — Programmable Gate Array,現場可編程邏輯陣列)或 ASIC(ApplicationSpecific Integrated Circuit,專用集成電路)是最佳選擇。但由於圖像拼接算法比較複雜,因此FPGA實現視頻拼接的難度較大。在傳統的視頻拼接系統中,視頻圖像的柱面變換是個重要環節。因為視頻拼接的核心——圖像配準和圖像融合部分處理的對象都是進行過柱面變換後的圖像。使用FPGA實現高解析度視頻圖像的柱面變換,圖像在DDR2/DDR3內存的讀寫是個關鍵問題,如果處理不好,則帶寬利用率較低,從而難以處理高解析度視頻圖像。
發明內容
基於此,本發明提供一種全景視頻柱面圖像存儲方法及系統,能夠在保證數據存儲正確的前提下解決帶寬利用率低的問題。為實現上述目的,本發明採用如下的技術方案:一種全景視頻柱面圖像存儲方法,包括以下步驟:按行接收幀像素數據,並用FIFO緩存;判斷FIFO是否緩存滿一行像素數據;若是,則從FIFO中連續讀出一行像素數據並進行柱面變換,每個像素進行計算得到新的坐標,並計算各像素的像素地址;將柱面變換後的數據劃分為若干個數據段;其中,在所述劃分後的數據段中,每個數據段內的像素地址都是連續的,且相鄰數據段屬於不同的行;根據數據段的像素個數、內存的BURST突髮長度、內存的存儲單元位數以及數據段裡首個像素的像素地址組成BURST ;將所組成的BURST數據存入內存中。一種全景視頻柱面圖像存儲系統,包括:數據接收與緩存模塊,用於按行接收幀像素數據,並用FIFO緩存;判斷模塊,用於判斷FIFO是否緩存滿一行像素數據;柱面變換模塊,用於在所述判斷模塊的判斷結果為是的情況下,從FIFO中連續讀出一行像素數據並進行柱面變換,每個像素進行計算得到新的坐標,並計算各像素的像素地址;數據劃分模塊,用於將柱面變換後的數據劃分為若干個數據段;其中,在所述劃分後的數據段中,每個數據段內的像素地址都是連續的,且相鄰數據段屬於不同的行;BURST組成模塊,用於根據數據段的像素個數、內存的BURST突髮長度、內存的存儲單元位數以及數據段裡首個像素的像素地址組成BURST ;數據存放模塊,用於將所組成的BURST數據存入內存中。由以上方案可以看出,本發明的全景視頻柱面圖像存儲方法及系統,對視頻圖像做柱面變換的硬體實現時,先變換後存儲,原圖像一行數據經過柱面變換後被分配到了多個行,把分成多個行的每部分看成是一個數據段,然後根據數據段的像素個數、BURST突髮長度、存儲單元位數和數據段裡首個像素的像素地址來組成BURST。本發明的方法及系統在實現視頻圖像的柱面變換時,顯著提高了帶寬利用率,可支持IOSOp的視頻數據,同時可節省FPGA內部資源,方便視頻拼接系統其他模塊讀取內存中的柱面圖像數據,為視頻拼接系統整體打下良好基礎。
圖1為本發明實施例一種全景視頻柱面圖像存儲方法的流程示意圖;圖2為原始的第O行圖像像素以及原始第O行圖像像素經過柱面變換後的示意圖;圖3為本發明實施例一種全景視頻柱面圖像存儲系統的結示意圖。
具體實施例方式下面結合附圖以及具體的實施例,對本發明的技術方案作進一步的描述。參見圖1所示,一種全景視頻柱面圖像存儲方法,包括以下步驟:步驟S101,按行接收巾貞像素數據,並用FIFO (First Input First Output,先入先出隊列)緩存,然後進入步驟S102。步驟S102,判斷FIFO是否緩存滿一行像素數據;若是則進入步驟S103,若否則返回步驟SlOl繼續等待接收。步驟S103,若是(即滿一行像素數據),則從FIFO中連續讀出一行像素數據並進行柱面變換,在柱面變換中,每個像素進行計算得到新的坐標,並計算各像素的像素地址(設某圖像行寬為R,列高為H,其中某像素坐標為(X,y),則該像素的像素地址為x*R+y),然後進入步驟S104。步驟S104,將柱面變換後的數據劃分為若干個數據段;其中,在所述劃分後的數據段中,每個數據段內的像素地址都是連續的,且相鄰數據段屬於不同的行。作為一個較好的實施例,上述將柱面變換後的數據劃分為若干個數據段的過程具體可以包括如下:根據像素地址連續性將柱面變換後的數據劃分為若干個數據段;或者是根據行坐標的差異將柱面變換後的數據劃分為若干個數據段。步驟S105,根據數據段的像素個數、內存的BURST突髮長度、內存的存儲單元位數以及數據段裡首個像素的像素地址(即像素首地址)組成BURST,然後進入步驟S106。作為一個較好的實施例,當判斷得出數據段的像素總位數小於或等於一個BURST突髮長度的位數時,可以根據數據段裡首個像素的像素地址組成一個或兩個BURST;或當數據段的像素總位數大於一個BURST突髮長度的位數時,可以根據數據段裡首個像素的像素地址組成至少兩個BURST。根據像素首地址來決定BURST長度的方法如下:所述像素首地址既指數據段的像素首地址,也指組成一個BURST的首像素的像素地址。設一個BURST突髮長度的位數是一個像素位數的M倍,一個內存單元的位數是一個像素位數的N倍,N是2的η次方。設像素首地址為addr[a-l:0], a為地址的位數。像素首地址與BURST長度、存儲地址的關係如下表一所示。BURST數據往內存中存儲時,還要根據有效位數來設置有效位信號。表一
權利要求
1.一種全景視頻柱面圖像存儲方法,其特徵在於,包括以下步驟: 按行接收幀像素數據,並用FIFO緩存; 判斷FIFO是否緩存滿一行像素數據; 若是,則從FIFO中連續讀出一行像素數據並進行柱面變換,每個像素進行計算得到新的坐標,並計算各像素的像素地址; 將柱面變換後的數據劃分為若干個數據段;其中,在所述劃分後的數據段中,每個數據段內的像素地址都是連續的,且相鄰數據段屬於不同的行; 根據數據段的像素個數、內存的BURST突髮長度、內存的存儲單元位數以及數據段裡首個像素的像素地址組成BURST ; 將所組成的BURST數據存入內存中。
2.根據權利要求1所述的全景視頻柱面圖像存儲方法,其特徵在於,所述將柱面變換後的數據劃分為若干個數據段的過程包括: 根據像素地址連續性將柱面變換後的數據劃分為若干個數據段。
3.根據權利要求1所述的全景視頻柱面圖像存儲方法,其特徵在於,所述將柱面變換後的數據劃分為若干個數據段的過程包括: 根據行坐標的差異將柱面變換後的數據劃分為若干個數據段。
4.根據權利要求 2或3所述的全景視頻柱面圖像存儲方法,其特徵在於,在所述將組成的BURST數據存入內存之後,還包括步驟: 當一幅圖像的所有行都完成了柱面變換且變換後的像素全部存入內存之後,發出可讀信號。
5.根據權利要求2或3所述的全景視頻柱面圖像存儲方法,其特徵在於,當數據段的像素總位數小於或等於一個BURST突髮長度的位數時,根據數據段裡首個像素的像素地址組成一個或兩個BURST ;或 當數據段的像素總位數大於一個BURST突髮長度的位數時,根據數據段裡首個像素的像素地址組成至少兩個BURST。
6.一種全景視頻柱面圖像存儲系統,其特徵在於,包括: 數據接收與緩存模塊,用於按行接收幀像素數據,並用FIFO緩存; 判斷模塊,用於判斷FIFO是否緩存滿一行像素數據; 柱面變換模塊,用於在所述判斷模塊的判斷結果為是的情況下,從FIFO中連續讀出一行像素數據並進行柱面變換,每個像素進行計算得到新的坐標,並計算各像素的像素地址; 數據劃分模塊,用於將柱面變換後的數據劃分為若干個數據段;其中,在所述劃分後的數據段中,每個數據段內的像素地址都是連續的,且相鄰數據段屬於不同的行; BURST組成模塊,用於根據數據段的像素個數、內存的BURST突髮長度、內存的存儲單元位數以及數據段裡首個像素的像素地址組成BURST ; 數據存放模塊,用於將所組成的BURST數據存入內存中。
7.根據權利要求6所述的全景視頻柱面圖像存儲系統,其特徵在於,所述數據劃分模塊根據像素地址連續性將柱面變換後的數據劃分為若干個數據段。
8.根據權利要求6所述的全景視頻柱面圖像存儲系統,其特徵在於,所述數據劃分模塊根據行坐標的差異將柱面變換後的數據劃分為若干個數據段。
9.根據權利要求7或8所述的全景視頻柱面圖像存儲系統,其特徵在於,還包括: 信號發送模塊,用於當一幅圖像的所有行都完成了柱面變換且變換後的像素全部存入內存之後,發出可讀信號。
10.根據權利要求7或8所述的全景視頻柱面圖像存儲系統,其特徵在於,所述BURST組成模塊包括: 第一組成模塊,用於當數據段的像素總位數小於或等於一個BURST突髮長度的位數時,根據數據段裡首個像素的像 素地址組成一個或兩個BURST ; 第二組成模塊,用於當數據段的像素總位數大於一個BURST突髮長度的位數時,根據數據段裡首個像素的像素地址組成至少兩個BURST。
全文摘要
本發明提供一種全景視頻柱面圖像存儲方法及系統,所述方法包括以下步驟按行接收幀像素數據,並用FIFO緩存;判斷FIFO是否緩存滿一行像素數據;若是,則從FIFO中連續讀出一行像素數據並進行柱面變換,每個像素進行計算得到新的坐標,並計算各像素的像素地址;將柱面變換後的數據劃分為若干個數據段;其中,在所述劃分後的數據段中,每個數據段內的像素地址都是連續的,且相鄰數據段屬於不同的行;根據數據段的像素個數、內存的BURST突髮長度、內存的存儲單元位數以及數據段裡首個像素的像素地址組成BURST;將所組成的BURST數據存入內存中。本發明的方法及系統,在實現視頻圖像的柱面變換時顯著提高了帶寬利用率。
文檔編號G06T11/00GK103093485SQ201310032988
公開日2013年5月8日 申請日期2013年1月28日 優先權日2013年1月28日
發明者張源源, 趙群英 申請人:廣東威創視訊科技股份有限公司