基礎(chǔ)信息
權(quán)利要求
說明書
PDF全文
法律信息
引證文獻
著錄項信息
專利名稱 | 抗相機擾動的多相機實時景象拼接系統(tǒng) |
申請?zhí)?/td> | CN201310682821.3 | 申請日期 | 2013-12-12 |
法律狀態(tài) | 權(quán)利終止 | 申報國家 | 中國 |
公開/公告日 | 2014-03-12 | 公開/公告號 | CN103634527A |
優(yōu)先權(quán) | 暫無 | 優(yōu)先權(quán)號 | 暫無 |
主分類號 | H04N5/232 | IPC分類號 | H;0;4;N;5;/;2;3;2;;;H;0;4;N;5;/;2;6;2;;;G;0;6;T;7;/;0;0查看分類表>
|
申請人 | 南京華圖信息技術(shù)有限公司 | 申請人地址 | 江蘇省南京市雨花臺區(qū)西春路1號6層601室
變更
專利地址、主體等相關(guān)變化,請及時變更,防止失效 |
權(quán)利人 | 南京華圖信息技術(shù)有限公司 | 當前權(quán)利人 | 南京華圖信息技術(shù)有限公司 |
發(fā)明人 | 鐘勝;商凱;陳大川;金明智;王建輝 |
代理機構(gòu) | 北京清亦華知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) | 代理人 | 張大威 |
摘要
本發(fā)明公開了一種抗相機擾動的多相機實時景象拼接系統(tǒng),包括底板與插在底板上的拼接板,拼接板具體包括:FPGA,F(xiàn)PGA與底板的接口相連,用于進行圖像接收控制以及進行拼接過程控制,F(xiàn)PGA內(nèi)部包括拼接映射表DPRAM,其中,F(xiàn)PGA經(jīng)過數(shù)模轉(zhuǎn)換器與上位機相連;兩個相同的DSP,兩個相同的DSP分別與FPGA相連,DSP用于接收拼接參數(shù)后計算拼接映射表,并發(fā)送拼接映射表給FPGA;外部圖像DPRAM,外部圖像DPRAM與FPGA相連;n個輸入圖像FIFO,n個輸入圖像FIFO分別與FPGA相連,用于分別緩存n路圖像,其中n為大于1的正整數(shù);以及顯示FIFO,顯示FIFO與FPGA相連。本發(fā)明的抗相機擾動的多相機實時景象拼接系統(tǒng)可以實時地生成漫游視場景象,并且可以抗相機姿態(tài)擾動。
1.一種抗相機擾動的多相機實時景象拼接系統(tǒng),其特征在于,包括底板與插在所述底板上的拼接板,所述拼接板具體包括:
FPGA,所述FPGA與所述底板的接口相連,用于進行圖像接收控制以及進行拼接過程控制,所述FPGA內(nèi)部包括拼接映射表DPRAM,其中,所述FPGA經(jīng)過數(shù)模轉(zhuǎn)換器與上位機相連;
兩個相同的DSP,所述兩個相同的DSP分別與所述FPGA相連,所述DSP用于接收拼接參數(shù)后計算拼接映射表,并發(fā)送拼接映射表給FPGA;外部圖像DPRAM,所述外部圖像DPRAM與所述FPGA相連;
n個輸入圖像FIFO,所述n個輸入圖像FIFO分別與所述FPGA相連,用于分別緩存n路圖像,其中n為大于1的正整數(shù);以及
顯示FIFO,所述顯示FIFO與所述FPGA相連;
所述FPGA用于接收上位機發(fā)送的圖像拼接參數(shù),圖像拼接參數(shù)包括方位角、俯仰角、視場角以及投影方式參數(shù),F(xiàn)PGA把圖像拼接參數(shù)放入內(nèi)部FIFO中緩存,F(xiàn)PGA給DSP發(fā)送中斷信號,DSP相應(yīng)中斷并接收圖像拼接參數(shù);所述DSP用于接收上位機發(fā)送過來的方位角、俯仰角、視場角及投影方式參數(shù),計算拼接后的場景視圖中每一個像素在畸變校正后圖像中的坐標值,再通過畸變校正逆運算得到原始圖像坐標值,根據(jù)所述原始圖像坐標值以及DSP計算完成的拼接映射表獲得全景圖像。
2.根據(jù)權(quán)利要求1所述的抗相機擾動的多相機實時景象拼接系統(tǒng),其特征在于,所述DSP的工作流程包括DSP系統(tǒng)初始化、圖像拼接參數(shù)的讀取、圖像拼接映射表的生成和發(fā)送。
3.根據(jù)權(quán)利要求1所述的抗相機擾動的多相機實時景象拼接系統(tǒng),其特征在于,所述全景圖像包括上半幅圖像和下半幅圖像,所述兩個相同的DSP分別用于承擔上半幅圖像的拼接工作和下半幅圖像的拼接工作。
4.根據(jù)權(quán)利要求1所述的抗相機擾動的多相機實時景象拼接系統(tǒng),其特征在于,在所述DSP中,所述原始圖像坐標值和所述外部圖像DPRAM地址是一一映射的關(guān)系,通過相應(yīng)的映射,把所述原始圖像坐標值轉(zhuǎn)換為外部圖像DPRAM地址值,這樣所述DSP會生成所述拼接映射表,所述拼接映射表的大小與視場角參數(shù)相關(guān),所述拼接映射表里面的每一個元素就是場景視圖中對應(yīng)像素在外部圖像DPRAM中的地址值。
5.根據(jù)權(quán)利要求1所述的抗相機擾動的多相機實時景象拼接系統(tǒng),其特征在于,所述DSP計算所述原始圖像坐標值時,由于所述n路圖像有重疊的視場區(qū),場景視圖中像素對應(yīng)原圖的坐標值有多個,采用最近鄰法得到整數(shù)坐標值作為最終的原始圖像坐標值。
6.根據(jù)權(quán)利要求1所述的抗相機擾動的多相機實時景象拼接系統(tǒng),其特征在于,所述FPGA?進行所述圖像接收控制包括:接收n路圖像數(shù)據(jù)進行預(yù)處理,預(yù)處理操作后的圖像數(shù)據(jù)分別存入n個顯示緩存FIFO中,并將n個顯示緩存FIFO中的圖像數(shù)據(jù)存入外部圖像DPRAM中,完成接收的n路圖像數(shù)據(jù)的同步。
7.根據(jù)權(quán)利要求1所述的抗相機擾動的多相機實時景象拼接系統(tǒng),其特征在于,所述FPGA接收所述DSP計算完成的拼接映射表并存入所述FPGA內(nèi)部的拼接映射表DPRAM中,按地址從0開始遞增的方式讀所述拼接映射表DPRAM;將拼接映射表DPRAM讀得的數(shù)據(jù)作為地址讀所述外部圖像DPRAM;從所述外部圖像DPRAM讀得的數(shù)據(jù)即是最終需要顯示的拼接結(jié)果,將其按地址從0開始遞增的方式寫入所述顯示FIFO,遍歷完成后,所述顯示FIFO中的數(shù)據(jù)即為拼接的全景圖像。
抗相機擾動的多相機實時景象拼接系統(tǒng)\n技術(shù)領(lǐng)域\n[0001] 本發(fā)明屬于圖像拼接技術(shù)領(lǐng)域,具體涉及一種抗相機擾動的多相機實時景象拼接\n系統(tǒng)。\n背景技術(shù)\n[0002] 隨著技術(shù)的進步,圖像拼接已經(jīng)進入到人們的日常生活,例如在數(shù)字相機中,全景\n圖合成已經(jīng)成為了一項數(shù)字相機的功能。全景圖像拼接顯示的任務(wù)是把多幅不同視點的圖\n像按一定的方式拼接為一幅能反映場景360度視角的合成圖像,經(jīng)全景拼接后的圖像應(yīng)覆\n蓋整個球視場并無縫平滑,且可以在整個球視場內(nèi)任意視線角上以任意視場角平面顯示,\n使用戶能獲得身臨其境的體驗。具體的生成過程是將各自投影平面的相互重疊圖像映射到\n簡單的幾何體表面上,如球面、立方體表面或圓柱面,使得平面圖像具有深度感,然后對投\n影圖像進行無縫拼接,就可得到?jīng)]有圖像畸變的全景圖像。當用戶觀察某一圖像空間時,要\n將全景圖像中相應(yīng)部分反投影到觀察平面上,給用戶產(chǎn)生正確的觀察結(jié)果,因而全景圖像\n為用戶提供了極大的觀察自由度,使之可以任意地改變觀察方向。圖像拼接技術(shù)研究是計\n算機視覺研究的一個重要領(lǐng)域。該技術(shù)有著廣泛的用途,例如衛(wèi)星圖像或航拍圖像的合成、\n全景虛擬場景的建立、照片編輯等?,F(xiàn)有的多相機實時景象拼接系統(tǒng)通常不能抗相機姿態(tài)\n擾動和無法實時生成漫游視場的缺點。\n發(fā)明內(nèi)容\n[0003] 本發(fā)明旨在至少在一定程度上解決上述技術(shù)問題之一或至少提供一種有用的商\n業(yè)選擇。為此,本發(fā)明的目的在于提出一種能夠?qū)崟r生成漫游視場的抗相機擾動的多相機\n實時景象拼接系統(tǒng)。\n[0004] 根據(jù)本發(fā)明實施例的抗相機擾動的多相機實時景象拼接系統(tǒng),包括底板與插在所\n述底板上的拼接板,所述拼接板具體包括:FPGA,所述FPGA與所述底板的接口相連,用于進\n行圖像接收控制以及進行拼接過程控制,所述FPGA內(nèi)部包括拼接映射表DPRAM,其中,所述\nFPGA經(jīng)過數(shù)模轉(zhuǎn)換器與上位機相連;兩個相同的DSP,所述兩個相同的DSP分別與所述FPGA\n相連,所述DSP用于接收拼接參數(shù)后計算拼接映射表,并發(fā)送拼接映射表給FPGA;外部圖像\nDPRAM,所述外部圖像DPRAM與所述FPGA相連;n個輸入圖像FIFO,所述n?個輸入圖像FIFO分\n別與所述FPGA相連,用于分別緩存n路圖像,其中n為大于1的正整數(shù);以及顯示FIFO,所述顯\n示FIFO與所述FPGA相連。\n[0005] 根據(jù)本發(fā)明實施例的抗相機擾動的多相機實時景象拼接系統(tǒng)可以實時地生成漫\n游視場景象,并且可以抗相機姿態(tài)擾動。\n[0006] 另外,根據(jù)本發(fā)明實施例的抗相機擾動的多相機實時景象拼接系統(tǒng)還可以具有如\n下技術(shù)特征。\n[0007] 在本發(fā)明的一個實施例中,所述DSP的工作流程包括DSP系統(tǒng)初始化、圖像拼接參\n數(shù)的讀取、圖像拼接映射表的生成和發(fā)送。\n[0008] 在本發(fā)明的一個實施例中,所述兩個相同的DSP分別用于承擔上半幅圖像的拼接\n工作和下半幅圖像的拼接工作,以保證在720×576分辨率下的25Hz幀頻輸出拼接映射表,\n滿足實時漫游的需要。\n[0009] 在本發(fā)明的一個實施例中,在所述DSP中,接收拼接參數(shù)后計算拼接映射表的過程\n包括:所述DSP根據(jù)方位角、俯仰角、視場角及投影方式,計算拼接后的場景視圖中每一個像\n素在畸變校正后圖像中的坐標值,再通過畸變校正逆運算得到原始圖像坐標值,所述原始\n圖像坐標值和所述外部圖像DPRAM地址是一一映射的關(guān)系,通過相應(yīng)的映射,可以把所述原\n始圖像坐標值轉(zhuǎn)換為外部圖像DPRAM地址值,這樣所述DSP會生成一個拼接映射表,所述拼\n接映射表的大小與視場角參數(shù)相關(guān),所述拼接映射表里面的每一個元素就是場景視圖中對\n應(yīng)像素在外部圖像DPRAM中的地址值。\n[0010] 在本發(fā)明的一個實施例中,計算原始圖像坐標值過程中,由于原始的多幅圖有重\n疊的視場區(qū),場景視圖中像素對應(yīng)原圖的坐標值可能有多個,采用最近鄰法得到整數(shù)坐標\n值作為最終的原始圖像坐標值。\n[0011] 在本發(fā)明的一個實施例中,所述FPGA?進行圖像接收控制包括:接收n路圖像數(shù)據(jù)\n進行預(yù)處理,預(yù)處理操作后的結(jié)果數(shù)據(jù)分別存入n個顯示緩存FIFO中,并將n個顯示緩存\nFIFO?中的圖像數(shù)據(jù)存入外部圖像DPRAM中,完成接收的n路圖像數(shù)據(jù)的同步。\n[0012] 在本發(fā)明的一個實施例中,所述FPGA?進行拼接過程控制包括:所述FPGA接收上位\n機發(fā)送的圖像拼接參數(shù),將圖像拼接參數(shù)傳輸給所述DSP,所述DSP拼接映射表計算過程,所\n述FPGA接收所述DSP計算完成的拼接映射表并存入所述FPGA內(nèi)部的拼接映射表?DPRAM中,\n按地址從0開始遞增的方式讀所述拼接映射表DPRAM;將拼接映射表DPRAM?讀得的數(shù)據(jù)作為\n地址讀所述外部圖像DPRAM;從所述外部圖像DPRAM讀得的數(shù)據(jù)即是最終需要顯示的拼接結(jié)\n果,將其按地址從0開始遞增的方式寫入顯示緩存FIFO,遍歷完成后顯示FIFO中的數(shù)據(jù)即為\n拼接的全景圖像。\n[0013] 本發(fā)明的附加方面和優(yōu)點將在下面的描述中部分給出,部分將從下面的描述中變\n得明顯,或通過本發(fā)明的實踐了解到。\n附圖說明\n[0014] 本發(fā)明的上述和/或附加的方面和優(yōu)點從結(jié)合下面附圖對實施例的描述中將變得\n明顯和容易理解,其中:\n[0015] 圖1是本發(fā)明實施例的抗相機擾動的多相機實時景象拼接系統(tǒng)的漫游視場圖像生\n成算法流程圖;\n[0016] 圖2是本發(fā)明實施例的抗相機擾動的多相機實時景象拼接系統(tǒng)的結(jié)構(gòu)框圖;\n[0017] 圖3是本發(fā)明實施例的系統(tǒng)的拼接板拼接部分的結(jié)構(gòu)框圖;\n[0018] 圖4是本發(fā)明實施例的系統(tǒng)的拼接板拼接過程的流程示意圖;\n[0019] 圖5是本發(fā)明實施例的系統(tǒng)的DSP的流程示意圖。\n具體實施方式\n[0020] 下面詳細描述本發(fā)明的實施例,所述實施例的示例在附圖中示出,其中自始至終\n相同或類似的標號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附\n圖描述的實施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。\n[0021] 為使本領(lǐng)域技術(shù)人員更好地理解,申請人首先對本發(fā)明的多相機實時景象拼接系\n統(tǒng)工作原理進行說明。其工作原理是:多個相機可以進行姿態(tài)的改變,根據(jù)各個相機的外參\n數(shù)建立各幅圖像之間的坐標變換關(guān)系,生成任意視線任意視場角的拼接圖像,根據(jù)全景圖\n像的投影算法得到全景圖像。\n[0022] 當給定一個相機的視線角和視場角時,可以確定相機的內(nèi)外參數(shù),從而可計算物\n方空間坐標系和像素坐標系之間的坐標變換。在確定漫游視場圖像上某一個像素的灰度值\n時,可以先根據(jù)該像素點的像素坐標(x,y),得到該像素點對應(yīng)的射線方程。根據(jù)該射線方\n程可以得到物點P在物方坐標系中的坐標,根據(jù)物點P在物方坐標系中的坐標可以計算物點\nP在各個輸入相機中的像素坐標。若其各個像素坐標在其輸入相機的圖像尺寸范圍內(nèi),則取\n該圖像中對應(yīng)像素的灰度值作為漫游視場的對應(yīng)像素的灰度值。上述確定任意視線角視場\n角圖像像素灰度值的過程是漫游視場圖像生成算法的主要原理,如圖1所示,下面將漫游視\n場圖像生成算法的詳細流程敘述如下:\n[0023] S1,輸入多個相機的內(nèi)參數(shù)和漫游視場虛擬相機的內(nèi)參數(shù);\n[0024] S2,輸入多個相機的外參數(shù)和圖像;\n[0025] S3,輸入漫游視場虛擬相機的外參數(shù);\n[0026] S4,設(shè)定像素點(x,y)為漫游視場虛擬相機的圖像的左上點;\n[0027] S5,計算出像素點(x,y)對應(yīng)的射線方程,并得到像素點(x,y)對應(yīng)的物點P在物方\n坐標系中的坐標(X,Y,Z);\n[0028] S6,計算物點P在各個輸入相機中的像素坐標(xi,yi);\n[0029] S7,判斷(xi,yi)是否在第i個相機的圖像范圍內(nèi),若在,則把像素點(xi,yi)的灰\n度值賦給像素點(x,y);\n[0030] S8,判斷(x,y)是否在虛擬視場相機的圖像的右下點,若在,則算法結(jié)束;否則(x,\ny)\n[0031] 按從左到右,從上到下的順序遍歷到圖像的下一個像素點,并轉(zhuǎn)到S6。\n[0032] 全景圖像的顯示算法,就是把輸入的多幅圖像表達的場景,顯示到一到兩幅圖像\n上,使人能直觀的看到360度范圍內(nèi)的場景。通常有三種投影方法,它們分別是魚眼相機投\n影方法、半球投影方法和圓柱投影方法。\n[0033] 全景圖像有兩種基本類型:柱面全景圖像和全方位全景圖像,其中全方位全景圖\n像又有球面映射和立方體表面映射兩種主要映射方式。柱面映射的全景圖像將外界場景映\n射到一個圓柱面上,觀察者位于圓柱面旋轉(zhuǎn)軸上的某一點。球面映射的全景圖像將外界場\n景映射到一個球面上,觀察者位于球心。立方體映射的全景圖像將外界場景映射到一個立\n方體上,觀察者位于立方體中心。\n[0034] 基于上述原理,本發(fā)明旨在提出一種采用FPGA+DSP架構(gòu)的抗相機擾動的多相機實\n時景象拼接系統(tǒng),由DSP計算圖像拼接映射表,由FPGA完成圖像拼接過程。DSP計算圖像拼接\n映射表的原理是:DSP接收上位機發(fā)送過來的方位角、俯仰角、視場角及投影方式等參數(shù),計\n算拼接后的場景視圖中每一個像素在畸變校正后圖像中的坐標值,再通過畸變校正逆運算\n得到原始圖像坐標值。因為原始的多幅圖有重疊的視場區(qū),場景視圖中像素對應(yīng)原圖的坐\n標值可能有幾個,為了便于后面的計算,取其中的某一個坐標值。計算得到的坐標值一般都\n不是整數(shù),為了方便操作,采用最近鄰法,取最靠近的整數(shù)坐標值代替。坐標值和外部圖像\nDPRAM地址是一一映射的關(guān)系,通過相應(yīng)的映射,可以把坐標值都轉(zhuǎn)換為外部圖像?DPRAM地\n址值。這樣DSP會生成一個拼接映射表,其大小與視場角參數(shù)相關(guān),表里面的每一個元素就\n是場景視圖中對應(yīng)像素在外部圖像DPRAM中的地址值。以上DSP計算拼接映射表的過程可以\n實時的根據(jù)各個相機的外參數(shù)計算得到,這種算法可以抗相機姿態(tài)的擾動,并且可以實時\n的生成漫游視場景象。\n[0035] FPGA完成圖像拼接過程的原理是:接收多路圖像并在FPGA外部圖像DPRAM中完成\n多路圖像數(shù)據(jù)的同步。將待拼接目的圖像按像素從左到右、從上到下編號,對應(yīng)著拼接映射\n表的地址;拼接映射表的值對應(yīng)著原始圖像的位置,即外部圖像DPRAM中的地址。因此,F(xiàn)PGA\n完成圖像拼接的過程如下:按地址從0開始遞增的方式讀FPGA內(nèi)部拼接映射表?DPRAM;將拼\n接映射表DPRAM讀得的數(shù)據(jù)作為地址讀外部圖像DPRAM;從外部圖像?DPRAM讀得的數(shù)據(jù)即是\n最終需要顯示的拼接結(jié)果,將其按地址從0開始遞增的方式寫入顯示緩存FIFO。當待拼接目\n的圖像遍歷完成時顯示緩存FIFO中存儲的就是拼接結(jié)果圖像。\n[0036] 圖2是本發(fā)明實施例的抗相機擾動的多相機實時景象拼接系統(tǒng)的結(jié)構(gòu)框圖。如圖2\n所示,該抗相機擾動的多相機實時景象拼接系統(tǒng),包括底板1與拼接板2,其中底板1包括系\n統(tǒng)所有的外部接口,拼接板2接收多路相機圖像完成多路圖像的拼接工作并插在底板1上。\n拼接板2采用FPGA+DSP架構(gòu),該拼接板2具體包括:一塊FPGA21、兩個相同的DSP?22、外部圖\n像DPRAM23、n個輸入圖像FIFO24以及顯示FIFO25。其中,F(xiàn)PGA21與底板1的接口相連,用于進\n行圖像接收控制以及進行拼接過程控制。FPGA21內(nèi)部包括拼接映射表DPRAM211。FPGA21還\n經(jīng)過數(shù)模轉(zhuǎn)換器與上位機相連。兩個相同的DSP22分別與?FPGA21相連。DSP22用于接收拼接\n參數(shù)后計算拼接映射表,并發(fā)送拼接映射表給FPGA?21。外部圖像DPRAM23與FPGA21相連。n\n個輸入圖像FIFO24分別與FPGA21相連,用于分別緩存n路圖像,其中n為大于1的正整數(shù)。顯\n示FIFO25與FPGA21相連。\n[0037] 本發(fā)明實施例的抗相機擾動的多相機實時景象拼接系統(tǒng)中的FPGA21負責圖像接\n收同步,給DSP22中斷信號令其發(fā)送拼接映射表,完成拼接過程。DSP22負責獲取拼接參數(shù),\n計算拼接映射表,發(fā)送拼接映射表給FPGA21,DSP22計算根據(jù)多路相機的外參數(shù)計算拼接映\n射表的從而完成拼接的算法可以抗相機姿態(tài)擾動,并且可以實時得到漫游視場景象。\n[0038] 在本發(fā)明的一個實施例中,DSP22的工作流程包括DSP系統(tǒng)初始化、圖像拼接參數(shù)\n的讀取、圖像拼接映射表的生成和發(fā)送。\n[0039] 在本發(fā)明的一個實施例中,兩個相同的DSP22分別用于承擔上半幅圖像的拼接工\n作和下半幅圖像的拼接工作。\n[0040] 在本發(fā)明的一個實施例中,在DSP22中,接收拼接參數(shù)后計算拼接映射表的過程包\n括:?DSP22根據(jù)方位角、俯仰角、視場角及投影方式,計算拼接后的場景視圖中每一個像素\n在畸變校正后圖像中的坐標值,再通過畸變校正逆運算得到原始圖像坐標值,原始圖像坐\n標值和外部圖像DPRAM地址是一一映射的關(guān)系,通過相應(yīng)的映射,可以把原始圖像坐標值轉(zhuǎn)\n換為外部圖像DPRAM地址值,這樣DSP22會生成一個拼接映射表,拼接映射表的大小與視場\n角參數(shù)相關(guān),拼接映射表里面的每一個元素就是場景視圖中對應(yīng)像素在外部圖像DPRAM?23\n中的地址值。\n[0041] 在本發(fā)明的一個實施例中,計算原始圖像坐標值過程中,由于原始的多幅圖有重\n疊的視場區(qū),場景視圖中像素對應(yīng)原圖的坐標值可能有多個,采用最近鄰法得到整數(shù)坐標\n值作為最終的原始圖像坐標值。\n[0042] 在本發(fā)明的一個實施例中,F(xiàn)PGA?21進行圖像接收控制包括:接收n路圖像數(shù)據(jù)進\n行預(yù)處理,預(yù)處理操作后的結(jié)果數(shù)據(jù)分別存入n個顯示緩存FIFO24中,并將n個顯示緩存\nFIFO?24中的圖像數(shù)據(jù)存入外部圖像DPRAM23中,完成接收的n路圖像數(shù)據(jù)的同步。\n[0043] 在本發(fā)明的一個實施例中,F(xiàn)PGA?21進行拼接過程控制包括:FPGA21接收上位機發(fā)\n送的圖像拼接參數(shù),將圖像拼接參數(shù)傳輸給DSP22,DSP22計算拼接映射表,F(xiàn)PGA21接收?\nDSP22計算完成的拼接映射表并存入FPGA21內(nèi)部的拼接映射表DPRAM211中,按地址從0開始\n遞增的方式讀拼接映射表DPRAM211;將拼接映射表DPRAM211讀得的數(shù)據(jù)作為地址讀外部圖\n像DPRAM24;從外部圖像DPRAM24讀得的數(shù)據(jù)即是最終需要顯示的拼接結(jié)果,將其按地址從0\n開始遞增的方式寫入顯示緩存FIFO25,遍歷完成后顯示FIFO25?中的數(shù)據(jù)即為拼接的全景\n圖像。\n[0044] 為使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,下面列舉一個適于拼接六路圖像數(shù)據(jù)的\n抗相機擾動的多相機實時景象拼接系統(tǒng)的例子進行詳細說明。\n[0045] 該具體實施例的系統(tǒng)中,拼接板拼接部分核心包括1片F(xiàn)PGA,2片DSP,F(xiàn)PGA內(nèi)部拼\n接映射表DPRAM,F(xiàn)PGA外部圖像DPRAM,顯示緩存FIFO,拼接板拼接部分系統(tǒng)框圖如附圖3所\n示。拼接板完成全景圖像拼接的流程圖如附圖4所示,拼接板完成全景圖像拼接的工作流程\n為:\n[0046] (1)拼接板FPGA從底板接收6個相機輸出的6路圖像數(shù)據(jù);\n[0047] (2)拼接板FPGA將接收的6路圖像數(shù)據(jù)進行預(yù)處理操作,預(yù)處理操作包括灰度校\n正,圖像量化;\n[0048] (3)由于6個相機之間沒有同步關(guān)系,所以需要將6路圖像數(shù)據(jù)進行同步,拼接板?\nFPGA將預(yù)處理之后的6路圖像分別緩存入6個輸入圖像FIFO;\n[0049] (4)拼接板FPGA將6個輸入圖像FIFO中的數(shù)據(jù)讀入FPGA外部的圖像DPRAM中,在外\n部圖像DPRAM中實現(xiàn)6路圖像數(shù)據(jù)的同步,同步后的DPRAM中的數(shù)據(jù)作為后續(xù)拼接過程所需\n的數(shù)據(jù)源;\n[0050] (5)拼接板使用一個顯示緩存FIFO作為待顯示的圖像數(shù)據(jù)的輸出緩存,將該FIFO\n中緩存好的數(shù)據(jù)經(jīng)D/A轉(zhuǎn)換送上位機監(jiān)視器顯示,實現(xiàn)上位機與多相機實時景象拼接系統(tǒng)\n的人機交互;\n[0051] (6)拼接板上的2個DSP完成初始化操作;\n[0052] (7)拼接板上的2個DSP讀取上位機發(fā)送的圖像拼接參數(shù),圖像拼接參數(shù)包括方位\n角、俯仰角、視場角及投影方式等。2個DSP在圖像拼接參數(shù)的獲取上有所不同,假設(shè)2個DSP?\n分別記為DSP0,DSP1,DSP0作為主DSP,DSP0接收到FPGA給出的串口中斷后,響應(yīng)中斷,從\nFPGA內(nèi)的FIFO中讀取圖像拼接參數(shù),更新DSP0內(nèi)部的圖像拼接參數(shù)列表,并通過McBSP將獲\n得的圖像拼接參數(shù)列表發(fā)送給DSP1,發(fā)送完成后DSP0進入生成圖像拼接映射表流程,DSP1\n接收到DSP0通過McBSP發(fā)送過來的圖像拼接參數(shù),更新DSP1內(nèi)部的圖像拼接參數(shù)列表,然后\n進入生成圖像拼接映射表流程;\n[0053] (8)DSP開始生成圖像拼接映射表的流程,其中DSP0負責上半幅圖像的拼接映射表\n的計算,DSP1負責下半幅圖像的拼接映射表的計算,響應(yīng)FPGA中斷將2個DSP計算好的拼接\n映射表發(fā)送到FPGA內(nèi)部的拼接映射表DPRAM中,供FPGA拼接使用,同時根據(jù)圖像拼接參數(shù)列\(zhòng)n表內(nèi)的拼接參數(shù)開始新一輪的圖像拼接映射表計算;\n[0054] (9)按地址從0開始遞增的方式讀FPGA內(nèi)部拼接映射表DPRAM;將拼接映射表?\nDPRAM讀得的數(shù)據(jù)作為地址讀外部圖像DPRAM;從外部圖像DPRAM讀得的數(shù)據(jù)即是最終需要\n顯示的拼接結(jié)果,將其按地址從0開始遞增的方式寫入顯示緩存FIFO,遍歷完成后顯示FIFO\n中的數(shù)據(jù)即為拼接的全景圖像。\n[0055] 下面分FPGA和DSP介紹拼接板的各個關(guān)鍵模塊。\n[0056] 拼接板FPGA的主要功能模塊包括圖像接收模塊和拼接控制模塊。\n[0057] 在拼接板FPGA的圖像接收模塊中,由于六路相機之間沒有任何的同步關(guān)系,所以\n先需要將每一路圖像分別接收下來,存儲在6個外部圖像輸入FIFO中。圖像存入FIFO前先進\n行灰度校正和圖像位寬轉(zhuǎn)化等預(yù)處理操作。存入6個FIFO的圖像接下來要搬運到外部圖像?\nDPRAM中,在外部圖像DPRAM中實現(xiàn)6路圖像數(shù)據(jù)的同步,具體策略是采用輪流查詢策略,即\n按順序依次查詢每一路的數(shù)據(jù)是否準備好。若檢測到其中某一路數(shù)據(jù)準備好,則啟動該路\n的傳輸,將圖像數(shù)據(jù)從FIFO搬運到DPRAM相應(yīng)的地址空間中,六路圖像數(shù)據(jù)分時寫入DPRAM\n完成六路圖像數(shù)據(jù)的同步。同步后的DPRAM中數(shù)據(jù)用于接下來的拼接工作,或者將同步接收\n后的數(shù)據(jù)送輸出FIFO緩存,然后經(jīng)D/A轉(zhuǎn)換送上位機顯示。\n[0058] 在拼接板FPGA的拼接控制模塊中,F(xiàn)PGA接收上位機發(fā)送的圖像拼接參數(shù),圖像拼\n接參數(shù)包括方位角、俯仰角、視場角及投影方式等參數(shù),F(xiàn)PGA把圖像拼接參數(shù)放入內(nèi)部?\nFIFO中緩存,F(xiàn)PGA給DSP發(fā)送中斷信號,DSP響應(yīng)中斷并接收圖像拼接參數(shù)并開始進行拼接\n映射表的計算,拼接過程中當場消隱上升沿到來時,先給DSP0發(fā)送中斷令其向FPGA?內(nèi)部傳\n輸上半幅拼接映射表,從0地址開始寫FPGA內(nèi)部拼接映射表DPRAM,當拼接映射表寫入一部\n分后,拼接控制模塊清空顯示緩存FIFO開始拼接圖像,F(xiàn)PGA做圖像拼接的過程為:按地址從\n0開始遞增的方式讀FPGA內(nèi)部拼接映射表DPRAM;將拼接映射表?DPRAM讀得的數(shù)據(jù)作為地址\n讀外部圖像DPRAM;從外部圖像DPRAM讀得的數(shù)據(jù)即是最終需要顯示的拼接結(jié)果,將其按地\n址從0開始遞增的方式寫入顯示緩存FIFO。當拼接模塊讀到內(nèi)部DPRAM最后一個地址時,將\n地址轉(zhuǎn)為0繼續(xù)拼接下半幅圖。DSP1的中斷是在?DSP0寫完上半幅拼接映射表時給出的,當\n上半幅圖拼接完成的時候DSP1已經(jīng)向內(nèi)部DPRAM中寫入了部分下半幅拼接映射表,當拼接\n模塊將讀內(nèi)部DPRAM的地址轉(zhuǎn)為0時,可以繼續(xù)下半幅圖的拼接,拼接過程第二次讀內(nèi)部\nDPRAM完成后,整幅圖的拼接任務(wù)完成。拼接結(jié)果同樣緩存在顯示緩存FIFO中。顯示緩存\nFIFO中存儲的就是全景拼接圖像。\n[0059] 拼接板DSP計算拼接映射表的原理是:DSP接收上位機發(fā)送過來的方位角、俯仰角、\n視場角及投影方式等參數(shù),計算拼接后的場景視圖中每一個像素在畸變校正后圖像中的坐\n標值,再通過畸變校正逆運算得到原始圖像坐標值。因為原始的6幅圖有重疊的視場區(qū),場\n景視圖中像素對應(yīng)原圖的坐標值可能有幾個,為了便于后面的計算,取其中的某一個坐標\n值。計算得到的坐標值一般都不是整數(shù),為了方便操作,采用最近鄰法,取最靠近的整數(shù)坐\n標值代替。坐標值和外部圖像DPRAM地址是一一映射的關(guān)系,通過相應(yīng)的映射,可以把坐標\n值都轉(zhuǎn)換為外部圖像DPRAM地址值。這樣DSP會生成一個拼接映射表,其大小與視場角參數(shù)\n相關(guān),表里面的每一個元素就是場景視圖中對應(yīng)像素在外部圖像DPRAM中的地址值。\n[0060] 為了保證圖像拼接的實時性,圖像全景拼接系統(tǒng)中使用了兩塊DSP芯片,分別記做?\nDSP0,DSP1。DSP0承擔上半幅圖像的拼接映射表的計算工作,DSP1負責下半幅圖像的拼接映\n射表的計算工作。兩片DSP內(nèi)部均要開辟的專用存儲區(qū)間包括畸變校正映射表,圖像拼接參\n數(shù)列表,圖像拼接映射表?;冃U成浔碛糜趫D像幾何畸變校正,圖像拼接參數(shù)列表用于\n存放圖像拼接參數(shù),拼接參數(shù)包括方位角、俯仰角、視場角及投影方式等,計算得到的拼接\n映射表用于后續(xù)的全景圖像拼接過程。\n[0061] 兩片DSP的工作流程基本一樣。其主要功能包括DSP系統(tǒng)初始化、圖像拼接參數(shù)的\n讀取、圖像拼接映射表的生成和發(fā)送。DSP的詳細處理流程參見圖5。\n[0062] DSP系統(tǒng)初始化完成之后,進入圖像拼接主程序。DSP首先獲取圖像拼接參數(shù),圖像\n拼接參數(shù)包括方位角、俯仰角、視場角及投影方式等。DSP0和DSP1在圖像拼接參數(shù)的獲取上\n有所不同。DSP0接收到FPGA給出的串口中斷后,響應(yīng)中斷,從FPGA內(nèi)的FIFO中讀取圖像拼接\n參數(shù),更新DSP0內(nèi)部的圖像拼接參數(shù)列表,并通過McBSP將獲得的參數(shù)發(fā)送給DSP1,發(fā)送完\n成后DSP0進入生成圖像拼接映射表流程。DSP1接收到DSP0通過?McBSP發(fā)送過來的圖像拼接\n參數(shù),更新DSP1內(nèi)部的圖像拼接參數(shù)列表,然后進入生成圖像拼接映射表流程。\n[0063] DSP0和DSP1在圖像拼接映射表的生成和發(fā)送流程上基本是一樣的。DSP在收到\nFPGA?送出的發(fā)送拼接映射表中斷后,響應(yīng)中斷,啟動傳輸,將存儲在DSP內(nèi)部的圖像拼接映\n射表送出,同時根據(jù)圖像拼接參數(shù)列表內(nèi)的拼接參數(shù)開始新一輪的圖像拼接映射表計算。\n[0064] 當給定六個相機的位置和參數(shù)之后,全景圖像的拼接映射表就是確定的。6個半球\n視場模式只有在切換到其中之一的時候計算一次圖像拼接映射表,之后在不切換模式的情\n況下,DSP0、DSP1就一直發(fā)送之前計算好的圖像拼接映射表。\n[0065] 在本發(fā)明的描述中,需要理解的是,術(shù)語“中心”、“縱向”、“橫向”、“長度”、“寬度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“豎直”、“水平”、“頂”、“底”“內(nèi)”、“外”、“順時針”、“逆時針”等指示的方位或位置關(guān)系為基于附圖所示的方位或位置關(guān)系,僅是為了便于\n描述本發(fā)明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特\n定的方位構(gòu)造和操作,因此不能理解為對本發(fā)明的限制。\n[0066] 此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性\n或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者\n隱含地包括一個或者更多個該特征。在本發(fā)明的描述中,“多個”的含義是兩個或兩個以上,\n除非另有明確具體的限定。\n[0067] 在本發(fā)明中,除非另有明確的規(guī)定和限定,術(shù)語“安裝”、“相連”、“連接”、“固定”等術(shù)語應(yīng)做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機\n械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元\n件內(nèi)部的連通。對于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語在本發(fā)\n明中的具體含義。\n[0068] 流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括\n一個或更多個用于實現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部\n分,并且本發(fā)明的優(yōu)選實施方式的范圍包括另外的實現(xiàn),其中可以不按所示出或討論的順\n序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明\n的實施例所屬技術(shù)領(lǐng)域的技術(shù)人員所理解。\n[0069] 在本說明書的描述中,參考術(shù)語“一個實施例”、“一些實施例”、“示例”、“具體示\n例”、或“一些示例”等的描述意指結(jié)合該實施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特\n點包含于本發(fā)明的至少一個實施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不\n一定指的是相同的實施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點可以在任何\n的一個或多個實施例或示例中以合適的方式結(jié)合。\n[0070] 盡管上面已經(jīng)示出和描述了本發(fā)明的實施例,可以理解的是,上述實施例是示例\n性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在不脫離本發(fā)明的原理和宗旨\n的情況下在本發(fā)明的范圍內(nèi)可以對上述實施例進行變化、修改、替換和變型。
法律信息
- 2020-11-27
未繳年費專利權(quán)終止
IPC(主分類): H04N 5/232
專利號: ZL 201310682821.3
申請日: 2013.12.12
授權(quán)公告日: 2019.03.12
- 2019-03-12
- 2016-07-27
實質(zhì)審查的生效
IPC(主分類): H04N 5/232
專利申請?zhí)? 201310682821.3
申請日: 2013.12.12
- 2014-03-12
引用專利(該專利引用了哪些專利)
序號 | 公開(公告)號 | 公開(公告)日 | 申請日 | 專利名稱 | 申請人 |
1
| |
2013-10-23
|
2012-03-31
| | |
2
| |
2010-12-01
|
2009-05-27
| | |
3
| | 暫無 |
2006-03-30
| | |
4
| |
2010-07-21
|
2009-10-13
| | |
被引用專利(該專利被哪些專利引用)
序號 | 公開(公告)號 | 公開(公告)日 | 申請日 | 專利名稱 | 申請人 | 該專利沒有被任何外部專利所引用! |