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