本發(fā)明涉及實景VR領域,特別是指一種漫游實景VR的3D呈現(xiàn)方法。
背景技術:
VR(Virtual Reality,虛擬現(xiàn)實)一種可以創(chuàng)建和體驗虛擬世界的計算機仿真系統(tǒng)它利用計算機生成一種模擬環(huán)境,是一種多源信息融合的交互式的三維動態(tài)視景和實體行為的系統(tǒng)仿真使用戶沉浸到該環(huán)境中;
現(xiàn)有技術中,有采用數(shù)字建模的方式實現(xiàn)的數(shù)字VR技術,也有實景拍攝為素材的實景VR技術,數(shù)字VR技術的做法是在建好的數(shù)字場景中放入水平的兩個虛擬相機,人的左右眼在場景中看到的視角就由這兩個虛擬相機提供,這樣佩戴VR頭盔的人在這個建好的三維數(shù)字場景中漫游時根據(jù)這兩個虛擬相機的視差就能夠提供很好的3D體驗;而實景VR的做法大多是利用全景相機拍攝一段視頻加上一些常規(guī)電影的處理方式,但其實這只是全景視頻,只能通過播放的方式展現(xiàn)給觀看者,并非實景VR,它所呈現(xiàn)出來的3D立體效果和觀看者的互動都沒有達到VR應有的標準,而VR是讓佩戴VR頭盔的人能夠在另外一個時空里面進行游走和互動,為實現(xiàn)此目標;
因此迫切需要一種能夠真正實現(xiàn)實景VR的3D呈現(xiàn)方法。
技術實現(xiàn)要素:
本發(fā)明提出一種通過利用人眼的結構和特殊的拍攝與呈現(xiàn)技巧創(chuàng)建一個能夠讓人在3D實景VR中進行漫游的視覺效果,打造3D實景VR里面新的互動模式,漫游實景VR的3D呈現(xiàn)方法。
本發(fā)明的技術方案是這樣實現(xiàn)的:
一種漫游實景VR的3D呈現(xiàn)方法,包括如下步驟:
S1:沿需要漫游的方向進行全景視頻拍攝,用以建立數(shù)字場景;
S2:根據(jù)觀看者的瞳距及全景視頻的參數(shù)確定側(cè)向真3D時雙眼幀差及正向假3D時數(shù)字場景中雙眼對應的虛擬相機之間的距離;
S3:漫游中出現(xiàn)頭部旋轉(zhuǎn)時,分別計算出在全景視頻中應調(diào)取的雙眼場景和雙眼對應的虛擬相機場景。
作為進一步的技術方案,所述S1步驟為:
沿需要漫游的方向勻速進行全景視頻拍攝,用以建立數(shù)字場景。
作為進一步的技術方案,所述S1步驟為:
沿需要漫游的方向上規(guī)則或不規(guī)則路線勻速進行全景視頻拍攝,用以建立數(shù)字場景。
作為進一步的技術方案,所述S2步驟為:
根據(jù)觀看者的瞳距、全景視頻的拍攝行進速度和全景視頻拍攝的幀率之間的對應關系確定側(cè)向真3D時雙眼幀差及正向假3D數(shù)字場景中雙眼對應的虛擬相機之間的距離。
作為進一步的技術方案,所述S3步驟為:
漫游中出現(xiàn)頭部旋轉(zhuǎn)時,分別計算出在全景視頻中應調(diào)取的雙眼場景和雙眼對應的虛擬相機場景。
作為進一步的技術方案,通過如下公式計算雙眼的幀差:
t=int(sin(yaw)·tmax) yaw∈[0,2π]
其中,yaw表示觀看者頭部的水平旋轉(zhuǎn)角度,tmax表示側(cè)向真3D時雙眼的幀差;t表示在yaw角度下雙眼的幀差。
作為進一步的技術方案,通過如下公式計算雙眼對應的虛擬相機的距離:
d=abs(cos(yaw))·dmax yaw∈[0,2π]
其中,yaw表示觀看者頭部的水平旋轉(zhuǎn)角度,dmax表示正向假3D時雙眼對應的虛擬相機之間的距離,d表示在yaw角度下雙眼對應的虛擬相機之間的距離。
本發(fā)明技術方案根據(jù)觀看者的瞳距及相應的參數(shù)確定側(cè)向真3D時雙眼幀差及正向假3D時數(shù)字場景中的虛擬相機之間的距離,并在觀看者旋轉(zhuǎn)頭部觀看時通過公式計算相應的雙眼幀差及虛擬相機之間的距離,進而調(diào)取全景視頻中雙眼對應的場景和雙眼對應的虛擬相機場景,進而實現(xiàn)正向假3D技術到側(cè)向真3D技術之間的平滑過度,這樣實現(xiàn)了普通全景視頻無法達到的3D沉浸式視覺效果,及互動感受
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖做簡單介紹,顯而易見,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一種漫游實景VR的3D呈現(xiàn)方法的流程圖;
圖2為全景視頻的拍攝示意圖;
圖3為瞳距與全景視頻中幀差的關系示意圖;
圖4為做為計算基礎的數(shù)字場景示意圖;
圖5為在數(shù)字場景中雙眼對應的虛擬相機的示意圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1-5所示,本發(fā)明提出的一種漫游實景VR的3D呈現(xiàn)方法,包括如下步驟:
沿需要漫游的方向勻速行進拍攝全景視頻;見圖2
沿需要漫游的方向勻速進行全景視頻拍攝,用以建立數(shù)字場景;具體的,沿需要漫游的方向勻速進行全景視頻拍攝,用以建立數(shù)字場景;當然在本發(fā)明中,根據(jù)需要可以選擇規(guī)則的線路也可以選擇不規(guī)則的線路,具體的為沿需要漫游的方向上規(guī)則或不規(guī)則路線勻速進行全景視頻拍攝,用以建立數(shù)字場景;
根據(jù)觀看者的瞳距及全景視頻的參數(shù)確定側(cè)向真3D時雙眼幀差及正向假3D時數(shù)字場景中雙眼對應的虛擬相機之間的距離;具體的,根據(jù)觀看者的瞳距、全景視頻的拍攝行進速度和全景視頻拍攝的幀率之間的對應關系確定側(cè)向真3D時雙眼幀差及正向假3D時數(shù)字場景中雙眼對應的虛擬相機之間的距離;
漫游中出現(xiàn)頭部旋轉(zhuǎn)時,分別計算出在全景視頻中應調(diào)取的雙眼場景和雙眼對應的虛擬相機場景;具體的,漫游中出現(xiàn)頭部旋轉(zhuǎn)時,分別計算出在全景視頻中應調(diào)取的雙眼場景和雙眼對應的虛擬相機之間的距離。
在本發(fā)明中,可以通過如下公式計算出雙眼的幀差和雙眼對應的虛擬相機之間的距離:
通過如下公式計算雙眼的幀差:
t=int(sin(yaw)·tmax) yaw∈[0,2π]
其中,yaw表示觀看者頭部的水平旋轉(zhuǎn)角度,tmax表示側(cè)向真3D時雙眼的幀差;t表示在yaw角度下雙眼的幀差。
作為進一步的技術方案,通過如下公式計算雙眼對應的虛擬相機的距離:
d=abs(cos(yaw))·dmax yaw∈[0,2π]
其中,yaw表示觀看者頭部的水平旋轉(zhuǎn)角度,dmax表示正向假3D時雙眼對應的虛擬相機之間的距離,d表示在yaw角度下雙眼對應的虛擬相機之間的距離。
下面結合具體的參數(shù)進行詳細的說明:
在拍攝全景視頻的過程中拍攝視角的高度要兼顧到觀看者的視覺高度,在沿需要漫游的方向拍攝全景視頻的過程中,將拍攝設備(全景相機)置于一運動的地盤上進行勻速進行,并在前進的過程中進行全景視頻的拍攝;
本發(fā)明中的技術方案,當觀看者面向漫游行進方向時雙眼看到的立體場景是同一個場景經(jīng)過假3D技術處理過的效果(也稱正向假3D),而當將頭部轉(zhuǎn)到與漫游行進方向垂直時看到的是全景視頻中的兩個場景,其幀差距離等于觀看者的瞳距(也稱側(cè)向真3D):
根據(jù)拍攝行進速度及拍攝幀率可以計算出相鄰兩幀之間的距離,觀看者面向垂直于漫游行進方向觀看側(cè)向真3D效果時雙眼的幀差距離應該等于觀看者的瞳距,而當觀看者面向漫游行進方向觀看正向假3D效果時通過調(diào)整雙眼虛擬相機之間的距離參數(shù)可以找到適合觀看者瞳距的匹配值。
當觀看者沿漫游行進方向向兩側(cè)轉(zhuǎn)頭時:
根據(jù)計算公式可以計算出雙眼場景的幀差會越來越大,亦即側(cè)向真3D的效果會越來越明顯;而在同時根據(jù)計算公式可以計算出雙眼場景中的虛擬相機距離會越來越小,亦即正向假3D的效果會越來越弱;
反之當觀看者的頭部從漫游行進的側(cè)向轉(zhuǎn)向正向時:
根據(jù)計算公式可以計算出雙眼場景的幀差會越來越小,亦即側(cè)向真3D的效果會越來越弱;而在同時根據(jù)計算公式可以計算出雙眼場景中的虛擬相機距離會越來越大,亦即正向假3D的效果會越來越明顯;
為進一步說明本發(fā)明中的變化,通過以下實施例進行說明:
設置實施例初始條件:
設全景視頻拍攝時,拍攝進行的速度為21厘米/秒,視頻拍攝速度為30幀/秒,設定瞳距為7厘米,對應的虛擬相機距離為dmax(通過調(diào)整雙眼虛擬相機之間的距離參數(shù)可以找到適合觀看者瞳距的匹配值),則可以計算出在側(cè)向真3D時在全景視頻中選取的兩個場景之間的幀差為10(tmax=10);
實施例1:
當觀看者沿漫游方向觀看時
雙眼場景的幀差為:
t=int(sin0°)*10幀=0幀
雙眼場景中虛擬相機之間的距離為:
d=abs(cos0°)*dmax=dmax
此時使用的是同一個場景,雙眼看到的是當前圖像的假3D效果
實施例2:
當觀看者頭部沿漫游行進方向向右轉(zhuǎn)動30°,則根據(jù)公式可以計算出在視頻中需要調(diào)取的雙眼幀差及在雙眼場景中虛擬相機之間的距離分別為:
雙眼場景的幀差為:
t=int(sin30°)*10幀=5幀
雙眼場景中虛擬相機之間的距離為:
d=abs(cos30°)*dmax=0.866dmax;
此時看到的是真假3D的混合效果;
實施例3:
當觀看者頭部向右轉(zhuǎn)動90度時:
雙眼場景的幀差為:
t=int(sin90°)*10幀=10幀
雙眼場景中虛擬相機之間的距離為:
d=abs(cos90°)*dmax=0
此時看到的是側(cè)向真3D的效果;
因此當觀看者面向漫游方向時看到的是假3D效果,當觀看者頭部向左右兩側(cè)轉(zhuǎn)動時看到的是真假3D的混合效果,當觀看者頭部旋轉(zhuǎn)角度越來越大時,d會越來越小,亦即假3D的效果成分逐漸變小,,雙眼幀差會越來越大,亦即真3D的效果成分會越來越大,當觀看者頭部轉(zhuǎn)向與漫游行進方向垂直時觀看到的是真3D效果,從而實現(xiàn)了從假3D效果向真3D效果的平滑過度,;同理,當頭部從側(cè)向向漫游行進方向轉(zhuǎn)動時,d會越來越大,亦即假3D效果成分越來越大,雙眼幀差會越來越小,亦即逐漸失去真3D的效果成分。從而實現(xiàn)了從真3D向假3D的平滑過度。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。