[發(fā)明專利]虛擬3D場景的球面全景立體畫面生成與交互式顯示方法有效
| 申請?zhí)枺?/td> | 202010841798.8 | 申請日: | 2020-08-26 |
| 公開(公告)號: | CN112002003B | 公開(公告)日: | 2022-09-06 |
| 發(fā)明(設(shè)計)人: | 陳純毅;楊華民;蔣振剛 | 申請(專利權(quán))人: | 長春理工大學 |
| 主分類號: | G06T17/00 | 分類號: | G06T17/00;G06T15/06;G06T15/04;G06T15/55;G06T7/90;G06T19/20 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 130022 *** | 國省代碼: | 吉林;22 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 虛擬 場景 球面 全景 立體 畫面 生成 交互式 顯示 方法 | ||
1.一種虛擬3D場景的球面全景立體畫面的生成方法,其特征在于:提供一種球面全景立體相機,球面全景立體相機包括一個虛擬成像球面和一個觀影圓,虛擬成像球面對應的球半徑為R,觀影圓的半徑為r,虛擬成像球面對應的球心位于u-v-w坐標系的原點,觀影圓在u-v-w坐標系的u-o-v平面上,觀影圓的圓心位于u-v-w坐標系的原點;首先按照對方位角和極角的等角度間隔采樣方式計算虛擬成像球面上各個像素采樣點的坐標;然后針對虛擬成像球面上的每個像素采樣點,根據(jù)觀影圓參數(shù)計算其對應的左眼視點位置和右眼視點位置;利用光線跟蹤技術(shù)從左眼視點位置發(fā)射穿過像素采樣點的光線并跟蹤光線在虛擬3D場景中的傳播,從而得到該像素采樣點在左眼觀看時的顏色;利用光線跟蹤技術(shù)從右眼視點位置發(fā)射穿過像素采樣點的光線并跟蹤光線在虛擬3D場景中的傳播,從而得到該像素采樣點在右眼觀看時的顏色;使用等距柱面投影全景圖像來存儲虛擬成像球面上的各個像素采樣點的顏色;利用光線跟蹤技術(shù),根據(jù)球面全景立體相機和虛擬3D場景模型生成球面全景立體畫面,具體步驟如下:
步驟Step101:按照對方位角和極角的等角度間隔采樣方式計算虛擬成像球面上各個像素采樣點的坐標,用等距柱面投影全景圖像來存儲虛擬成像球面上的這些像素采樣點的顏色;等距柱面投影全景圖像總共包含N行、2N列像素,N為正整數(shù);等距柱面投影全景圖像的第i行、第j列像素對應的虛擬成像球面上的像素采樣點在u-v-w坐標系中的直角坐標為(uij,vij,wij),uij=R×sin(i×π/N+0.5×π/N)×cos(j×π/N+0.5×π/N),vij=R×sin(i×π/N+0.5×π/N)×sin(j×π/N+0.5×π/N),wij=R×cos(i×π/N+0.5×π/N);i=0,1,…,N-1;j=0,1,…,2N-1;
步驟Step102:在計算機的存儲器中創(chuàng)建一個包含N行、2N列元素的二維數(shù)組IML,二維數(shù)組IML的每個元素存儲左眼對應的等距柱面投影全景圖像的一個像素的顏色值,二維數(shù)組IML的元素與等距柱面投影全景圖像的像素一一對應;在計算機的存儲器中創(chuàng)建一個包含N行、2N列元素的二維數(shù)組IMR,二維數(shù)組IMR的每個元素存儲右眼對應的等距柱面投影全景圖像的一個像素的顏色值,二維數(shù)組IMR的元素與等距柱面投影全景圖像的像素一一對應;
步驟Step103:針對等距柱面投影全景圖像的每個像素A001,分別做如下操作:
步驟Step103-1:計算像素A001在等距柱面投影全景圖像中的行號i和列號j;
步驟Step103-2:計算等距柱面投影全景圖像的第i行、第j列像素對應的虛擬成像球面上的像素采樣點在u-v-w坐標系中的直角坐標(uij,vij,wij);計算直角坐標(uij,vij,wij)對應的球坐標的極角θ和方位角兩個坐標分量值;
步驟Step103-3:計算球面全景立體相機的觀影圓的穿過點Q的兩條切線對應的切點cL和切點cR的坐標,其中點Q的u坐標分量點Q的v坐標分量點Q的w坐標分量qw=0;切點cL為像素A001對應的虛擬成像球面上的像素采樣點對應的左眼視點,切點cR為像素A001對應的虛擬成像球面上的像素采樣點對應的右眼視點;切點cL和切點cR在u-v-w坐標系中的坐標計算公式為:cL=Q-bL,cR=Q-bR,向量bL的計算公式為向量bR的計算公式為l表示點Q到u-v-w坐標系的原點的距離,向量v表示從u-v-w坐標系的原點指向點Q的長度為l的向量,旋轉(zhuǎn)變換矩陣旋轉(zhuǎn)角
步驟Step103-4:利用坐標變換方法,根據(jù)切點cL在u-v-w坐標系中的直角坐標計算切點cL在x-y-z世界坐標系中的直角坐標;利用坐標變換方法,根據(jù)等距柱面投影全景圖像的第i行、第j列像素對應的虛擬成像球面上的像素采樣點在u-v-w坐標系中的直角坐標(uij,vij,wij)計算等距柱面投影全景圖像的第i行、第j列像素對應的虛擬成像球面上的像素采樣點在x-y-z世界坐標系中的直角坐標;在x-y-z世界坐標系中,以切點cL作為起點發(fā)射一條穿過等距柱面投影全景圖像的第i行、第j列像素對應的虛擬成像球面上的像素采樣點的光線LRay,利用光線跟蹤技術(shù)跟蹤光線LRay在虛擬3D場景中的傳播,計算沿光線LRay的反方向到達切點cL的光亮度值LRAD,把光亮度值LRAD轉(zhuǎn)換成全景圖像像素顏色值LColor,把顏色值LColor保存在二維數(shù)組IML的第i行、第j列元素中;
步驟Step103-5:利用坐標變換方法,根據(jù)切點cR在u-v-w坐標系中的直角坐標計算切點cR在x-y-z世界坐標系中的直角坐標;在x-y-z世界坐標系中,以切點cR作為起點發(fā)射一條穿過等距柱面投影全景圖像的第i行、第j列像素對應的虛擬成像球面上的像素采樣點的光線RRay,利用光線跟蹤技術(shù)跟蹤光線RRay在虛擬3D場景中的傳播,計算沿光線RRay的反方向到達切點cR的光亮度值RRAD,把光亮度值RRAD轉(zhuǎn)換成全景圖像像素顏色值RColor,把顏色值RColor保存在二維數(shù)組IMR的第i行、第j列元素中;
步驟Step103-6:針對像素A001的操作結(jié)束;
步驟Step104:把二維數(shù)組IML保存的像素顏色值作為左眼對應的等距柱面投影全景圖像數(shù)據(jù)保存到計算機磁盤文件PIML中,把二維數(shù)組IMR保存的像素顏色值作為右眼對應的等距柱面投影全景圖像數(shù)據(jù)保存到計算機磁盤文件PIMR中。
2.一種虛擬3D場景的球面全景立體畫面的交互式顯示方法,其特征在于:在觀看球面全景立體畫面,進行立體視口畫面交互式顯示時,使用可編程光柵化圖形繪制管線技術(shù)來繪制透視投影相機CAM拍攝到的三維球面模型SphereM的畫面PICT,分別把左眼對應的等距柱面投影全景圖像和右眼對應的等距柱面投影全景圖像作為紋理,根據(jù)這兩個紋理生成左眼視口對應的畫面PICT和右眼視口對應的畫面PICT,最后把左眼視口對應的畫面PICT和右眼視口對應的畫面PICT顯示在頭戴式顯示器上;三維球面模型SphereM對應的球心在x-y-z世界坐標系的原點,三維球面模型SphereM對應的球半徑為R;針對可編程光柵化圖形繪制管線的片段著色器程序處理的每個片段B002,計算片段B002在x-y-z世界坐標系中的坐標,據(jù)此計算片段B002對應的左眼紋理坐標和右眼紋理坐標,最后根據(jù)左眼對應的等距柱面投影全景圖像紋理插值計算左眼紋理坐標處的顏色值ColorL,根據(jù)右眼對應的等距柱面投影全景圖像紋理插值計算右眼紋理坐標處的顏色值ColorR;把片段B002在左眼視口對應的畫面PICT中對應的像素的顏色設(shè)置為顏色值ColorL,把片段B002在右眼視口對應的畫面PICT中對應的像素的顏色設(shè)置為顏色值ColorR;根據(jù)球面全景立體畫面的觀看者的觀看參數(shù),獲取左眼對應的等距柱面投影全景圖像畫面和右眼對應的等距柱面投影全景圖像畫面的相應局部視口區(qū)域并顯示在頭戴式顯示設(shè)備上,實現(xiàn)球面全景立體畫面的交互式顯示,具體步驟如下:
步驟Step201:用3D建模軟件創(chuàng)建一個半徑為R的三維球面模型SphereM,并把三維球面模型SphereM加載到計算機存儲器中;把磁盤文件PIML保存的左眼對應的等距柱面投影全景圖像數(shù)據(jù)加載到計算機存儲器中,把磁盤文件PIMR保存的右眼對應的等距柱面投影全景圖像數(shù)據(jù)加載到計算機存儲器中;
步驟Step202:利用三維模型變換,使三維球面模型SphereM的球心與x-y-z世界坐標系的原點位置重合,使x-y-z世界坐標系的z軸正方向為從x-y-z世界坐標系的原點指向三維球面模型SphereM的北極點的方向;三維球面模型SphereM的北極點對應的球坐標的極角坐標分量為0;
步驟Step203:獲取戴在觀看者頭部的頭戴式顯示器在當前時刻的朝向數(shù)據(jù)B001,并執(zhí)行以下操作:
步驟Step203-1:使用透視投影相機CAM拍攝三維球面模型SphereM,透視投影相機CAM的視點在三維球面模型SphereM對應的球心位置;把透視投影相機CAM的向前觀察方向向量Tper設(shè)置為朝向數(shù)據(jù)B001對應的朝向方向在x-y-z世界坐標系中對應的單位向量;如果朝向數(shù)據(jù)B001對應的朝向方向平行于x-y-z世界坐標系的x-o-y平面,則把透視投影相機CAM的向上方向向量Vper設(shè)置為z軸正方向?qū)膯挝幌蛄縑z=[0,0,1]T,否則把透視投影相機CAM的向上方向向量Vper設(shè)置為Tper×Uper,其中單位向量Uper=(Vz×Tper)/||Vz×Tper||;把透視投影相機CAM的水平視場半角設(shè)置為αh,把透視投影相機CAM的垂直視場半角設(shè)置為αv;把透視投影相機CAM的遠裁剪平面到視點的距離設(shè)置為df,把透視投影相機CAM的近裁剪平面到視點的距離設(shè)置為dn,df為大于R的正數(shù),dn為小于0.6R的正數(shù);
步驟Step203-2:在圖形繪制程序中使用可編程光柵化圖形繪制管線技術(shù)來繪制透視投影相機CAM拍攝到的三維球面模型SphereM的畫面;在圖形繪制程序中創(chuàng)建兩個大小相同、水平并排放置的視口,左視口對應左眼看到的透視投影相機CAM拍攝到的三維球面模型SphereM的畫面,右視口對應右眼看到的透視投影相機CAM拍攝到的三維球面模型SphereM的畫面;
步驟Step203-3:在可編程光柵化圖形繪制管線中,使用透視投影相機CAM,繪制左視口對應的三維球面模型SphereM的畫面并把畫面保存到離屏幀緩沖區(qū)FBufL中;在此過程中針對可編程光柵化圖形繪制管線的片段著色器程序處理的每個片段B002,分別做如下操作:
步驟Step203-3-1:計算片段B002在x-y-z世界坐標系中的直角坐標(Fx,Fy,Fz);
步驟Step203-3-2:計算向量其中單位向量向量vF=[Fx,Fy,Fz]T,等于和Tper的夾角的余弦值;
步驟Step203-3-3:令pFx表示向量pF的x分量,令pFy表示向量pF的y分量,令pFz表示向量pF的z分量;計算直角坐標(pFx,pFy,pFz)對應的球坐標的極角θF和方位角兩個坐標分量值;令Q′表示x-y-z世界坐標系的x-o-y平面上的一點,其中點Q′的x坐標分量點Q′的y坐標分量點Q′的z坐標分量q′z=0;令圓CIR代表x-y-z世界坐標系的x-o-y平面上的以x-y-z世界坐標系的原點為圓心、半徑為r的圓;計算圓CIR的穿過點Q′的切線對應的切點c′L=Q′-b′L,向量b′L的計算公式為l′表示點Q′到x-y-z世界坐標系的原點的距離,向量v′表示從x-y-z世界坐標系的原點指向點Q′的長度為l′的向量,旋轉(zhuǎn)角
步驟Step203-3-4:令線段SEGL表示以直角坐標(Fx,Fy,Fz)表示的點和切點c′L為端點的線段;計算線段SEGL與以x-y-z世界坐標系的原點為球心、以R為半徑的球面的交點PixelL,計算交點PixelL的球坐標的極角θL和方位角兩個坐標分量值;把計算機存儲器中的左眼對應的等距柱面投影全景圖像當作紋理,據(jù)此插值計算紋理坐標對應的顏色值ColorL;紋理坐標由s和t兩個分量構(gòu)成,紋理坐標表示成(s,t)的形式,0≤s≤1,0≤t≤1;輸出顏色值ColorL作為片段B002的顏色;
步驟Step203-3-5:針對片段B002的操作結(jié)束;
步驟Step203-4:在可編程光柵化圖形繪制管線中,使用透視投影相機CAM,繪制右視口對應的三維球面模型SphereM的畫面并把畫面保存到離屏幀緩沖區(qū)FBufR中;在此過程中針對可編程光柵化圖形繪制管線的片段著色器程序處理的每個片段B002,分別做如下操作:
步驟Step203-4-1:計算片段B002在x-y-z世界坐標系中的直角坐標(Fx,Fy,Fz);
步驟Step203-4-2:計算向量其中單位向量向量vF=[Fx,Fy,Fz]T,等于和Tper的夾角的余弦值;
步驟Step203-4-3:令pFx表示向量pF的x分量,令pFy表示向量pF的y分量,令pFz表示向量pF的z分量;計算直角坐標(pFx,pFy,pFz)對應的球坐標的極角θF和方位角兩個坐標分量值;令Q′表示x-y-z世界坐標系的x-o-y平面上的一點,其中點Q′的x坐標分量點Q′的y坐標分量點Q′的z坐標分量q′z=0;令圓CIR代表x-y-z世界坐標系的x-o-y平面上的以x-y-z世界坐標系的原點為圓心、半徑為r的圓;計算圓CIR的穿過點Q′的切線對應的切點c′R=Q′-b′R,向量b′R的計算公式為l′表示點Q′到x-y-z世界坐標系的原點的距離,向量v′表示從x-y-z世界坐標系的原點指向點Q′的長度為l′的向量,旋轉(zhuǎn)角
步驟Step203-4-4:令線段SEGR表示以直角坐標(Fx,Fy,Fz)表示的點和切點c′R為端點的線段;計算線段SEGR與以x-y-z世界坐標系的原點為球心、以R為半徑的球面的交點PixelR,計算交點PixelR的球坐標的極角θR和方位角兩個坐標分量值,把計算機存儲器中的右眼對應的等距柱面投影全景圖像當作紋理,據(jù)此插值計算紋理坐標對應的顏色值ColorR;輸出顏色值ColorR作為片段B002的顏色;
步驟Step203-4-5:針對片段B002的操作結(jié)束;
步驟Step203-5:把離屏幀緩沖區(qū)FBufL和離屏幀緩沖區(qū)FBufR中保存的左視口和右視口對應的三維球面模型SphereM的畫面分別顯示到頭戴式顯示器的左眼屏幕區(qū)域和右眼屏幕區(qū)域上;
步驟Step204:檢查圖形繪制程序是否收到終止運行消息,如果沒有收到終止運行消息,則轉(zhuǎn)步驟Step203,否則轉(zhuǎn)步驟Step205;
步驟Step205:結(jié)束球面全景立體畫面的交互式顯示。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于長春理工大學,未經(jīng)長春理工大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010841798.8/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





