降低眩暈感 VR延遲20毫秒以內(nèi) 電子實(shí)驗(yàn)?zāi)K
如果你佩戴過VR頭盔設(shè)備,可能會(huì)發(fā)生一些眩暈感。延遲率是造成這種效果最重要的一個(gè)因素。VR延遲率指VR頭盔顯示設(shè)備的視覺觀測(cè)與頭部運(yùn)動(dòng)的匹配程度。研究表明,頭動(dòng)和視野的延遲不能超過20ms,否則造成視覺上的眩暈,不適感。
目前,三星GEAR VR、剛發(fā)布的大朋VR一體機(jī)延遲都可以控制在19.3ms。如何控制延遲,主要取決于VR系統(tǒng)中數(shù)據(jù)從傳感器到CPU,再到GPU最后到顯示屏的整個(gè)過程的優(yōu)化,尤其是ATW技術(shù)。
在最近由網(wǎng)易科技舉辦的開物沙龍VR論壇上,Nibiru CTO曹峻瑋分享了移動(dòng)端VR技術(shù)的關(guān)鍵點(diǎn)。通過底層系統(tǒng)優(yōu)化、ATW算法達(dá)到延遲控制在20毫秒以內(nèi)的目標(biāo),Nibiru已經(jīng)對(duì)整個(gè)系統(tǒng)優(yōu)化完成,可提供VR SDK。
曹峻瑋介紹說,首先是陀螺儀的應(yīng)用,陀螺儀刷新頻率越高,延遲越低,1K刷新的陀螺儀延時(shí)就是1ms。例如三星Gear VR的方案是1K刷新率的陀螺儀。
“對(duì)于移動(dòng)VR的陀螺儀現(xiàn)在業(yè)界有兩種方案,一種方案是比較便宜的,直接用手機(jī)里的陀螺儀,這個(gè)陀螺儀如果使用I2C總線,速率不是很快,現(xiàn)在也有些方案使用SPI總線,它的傳輸速率會(huì)高一些。另外一種就是現(xiàn)在以三星Gear VR為主導(dǎo)的,用的是外接MCU陀螺儀模塊,通過USB傳遞數(shù)據(jù)。對(duì)于第一種方案如果陀螺儀刷新率過高, I2C協(xié)議帶來的系統(tǒng)中斷對(duì)于CPU的損耗過高,手機(jī)CPU會(huì)發(fā)燙特別嚴(yán)重。USB方案相對(duì)好一些。”曹峻瑋解析道。
在陀螺儀技術(shù)里面融合算法非常重要。所謂的融合算法就是將陀螺儀,加速度和地磁進(jìn)行有效的融合矯正,使得用戶在調(diào)用陀螺儀時(shí)候保持?jǐn)?shù)據(jù)穩(wěn)定性和準(zhǔn)確性。
融合算法集成在硬件底層驅(qū)動(dòng)是一個(gè)趨勢(shì)??梢越档虲PU的損耗,增加陀螺儀的效率。“高通發(fā)布了VR SDK,我們認(rèn)為比較好的做法就是把陀螺儀融合算法放到硬件DSP里面去做。”
圖形圖像部分,需要與芯片原廠配合做底層優(yōu)化。包括:第一就是Front buffer Rendering,為什么Latency會(huì)較高,原因是Android架構(gòu)的整個(gè)系統(tǒng)本身就是非實(shí)時(shí)性系統(tǒng),需要做很多同步驗(yàn)證,導(dǎo)致延遲高。Front buffer Rendering是所有的移動(dòng)VR優(yōu)化必須做的。
第二是ATW,借此保證刷新率保持在穩(wěn)定的幀數(shù)并降低延時(shí)。 第三是Multi-View Rendering,左右眼的圖兩次渲染,實(shí)現(xiàn)一次代碼調(diào)用,提高GPU的性能?,F(xiàn)在ARM已經(jīng)提供這樣的擴(kuò)展。
最后是Multi-Resolution Rendering,由于圖像本身需要做反畸變,四周邊緣不需要太多分辨率渲染,可節(jié)省GPU資源。目前已經(jīng)有GPU廠家支持這樣的擴(kuò)展,Nibiru正在測(cè)試效果。
從采集陀螺儀數(shù)據(jù)到CPU計(jì)算邏輯,再到GPU計(jì)算繪制,最后顯示器顯示。這四個(gè)步驟所需要的時(shí)間就是Latency的時(shí)間。
由于Android是非實(shí)時(shí)性系統(tǒng),從圖形繪制完成到送顯有三級(jí)buffer緩存,會(huì)帶來50ms的延時(shí),就需要采取圖形圖像優(yōu)化FBR的模式,讓圖像繪制之后直接送顯。但是FBR模式會(huì)帶來畫面的撕裂,這也是為什么Android會(huì)采用3級(jí)buffer緩存的原因。
第二是屏幕的反應(yīng)延時(shí),比如TFT屏幕延時(shí)大概有20ms,而OLED屏只有5ms,這些延時(shí)是不可更改的。目前移動(dòng)VR基本跑在60Hz。60幀的GPU繪制速率16毫秒加上5毫秒,達(dá)到21毫秒了。但為什么三星能做到20毫秒以內(nèi),這里需要ATW技術(shù),簡(jiǎn)單的說就是中間幀生成技術(shù),中文叫異步時(shí)間扭曲。
通過使用ATW技術(shù)使得GPU繪制的圖像進(jìn)行一次變換,從而使得顯示的圖像是以最新的陀螺儀數(shù)據(jù)為基礎(chǔ),這個(gè)算法需要3ms左右,加上反畸變和反色散的算法2ms,而陀螺儀刷新延時(shí)在1ms,那么從陀螺儀采集到GPU圖像繪制送顯的延時(shí)在6ms左右。
接下來就是顯示屏刷新延時(shí),由于是左右camera交替刷新,所以這里一幅圖的延時(shí)就是8.3ms,8.3ms加上6ms,再加上Oled屏的5ms左右,總共加起來19.3ms,這就是三星的20毫秒以內(nèi)的由來,目前來看,Nibiru VR系統(tǒng)已經(jīng)基本實(shí)現(xiàn)了這個(gè)邏輯優(yōu)化。
Nibiru為手機(jī)廠商、一體機(jī)廠商進(jìn)行系統(tǒng)優(yōu)化。“系統(tǒng)優(yōu)化之后,在游戲CP調(diào)用我們的VR SDK時(shí)才能達(dá)到這種低延遲效果。CP使用我們配合引擎的plug-in就行,我們會(huì)跟引擎公司合作,推出相應(yīng)的plug-in,支持Cocos3x,Unity和Unreal等通用的游戲引擎。”
從芯片廠商來看,ARM已經(jīng)在底層做優(yōu)化支持VR,ARM全球執(zhí)行副總裁兼大中華區(qū)總裁吳雄昂表示,我們下一代芯片會(huì)專門為VR做優(yōu)化,時(shí)間在一年半以后。此外,高通也發(fā)布了全新的VR SDK。
享受沉浸感 裸手是VR/AR未來
Leap Motion中國(guó)區(qū)總經(jīng)理陳佳敬認(rèn)為從VR到AR是一個(gè)有線到無線,然后最終只有AR設(shè)備的過程。有線VR階段,我們用遙控器、手持設(shè)備進(jìn)行操作,無線VR階段去掉了線,還可以直接用手來操作。AR階段,用手指可以直接在投射的畫面上操控,是人手與電腦的直接互動(dòng)。陳佳敬表示,AR時(shí)代,裸手輸入法是最主流的,Leap Motion就是一直研究人的手指與電腦互動(dòng)的技術(shù),這項(xiàng)技術(shù)的重要性將越來越重要。
如何實(shí)現(xiàn)人手與電腦的互動(dòng),陳佳敬做了現(xiàn)場(chǎng)演試。他們的技術(shù)偏向于軟件端,在頭盔上最前面有一個(gè)很小的四方條,上面就是兩個(gè)VGA攝像頭,30萬像素,通過捕捉影像再用軟件來解析。偵測(cè)角度為150度,上下135度,客戶可以直接購(gòu)買這個(gè)小硬件,下載SDK。
“我們這個(gè)硬件2013年的時(shí)候就開始賣了,這是我們的第一代產(chǎn)品,這個(gè)產(chǎn)品它的成本很低,我們是走全軟件的公司,對(duì)硬件的要求非常低。這個(gè)硬件經(jīng)過3年之后還可以用我們最新的軟件。”
uSens 首席運(yùn)營(yíng)官及聯(lián)合創(chuàng)始人時(shí)馳也認(rèn)為,裸手的交互方式是VR技術(shù)的未來。“移動(dòng)VR上面實(shí)現(xiàn)游戲變現(xiàn),首先要做提供保持整體移動(dòng)性的感知和交互。盡量少穿點(diǎn),少拿點(diǎn),經(jīng)濟(jì)實(shí)惠的感知世界,讓VR像觸屏手機(jī)一樣簡(jiǎn)單直觀,老少皆宜的內(nèi)容就能出現(xiàn)和變現(xiàn),實(shí)際上就是交互。通過三維手勢(shì)、頭部轉(zhuǎn)動(dòng),位置跟蹤,最后實(shí)現(xiàn)超級(jí)現(xiàn)實(shí),AR+VR super Reality。”
在真實(shí)的VR當(dāng)中可以用手在空中做一些自然的交互,人還可以在真實(shí)和虛擬中自由穿梭,穿梭的時(shí)候核心交互保持不變。如下圖,空中手寫和擦掉文字。
眼球追蹤技術(shù)目前在全球應(yīng)用的領(lǐng)域有兩個(gè),一個(gè)是醫(yī)療,如漸凍人;另一個(gè)領(lǐng)域是廣告設(shè)計(jì)的焦點(diǎn)測(cè)試,測(cè)試廣告設(shè)計(jì)是否合理。
七鑫易維聯(lián)合創(chuàng)始人彭凡解析,對(duì)于VR來說,眼球追蹤與頭動(dòng)一起實(shí)現(xiàn)交互,但目前并不成熟?,F(xiàn)有的交互,手持控制器始終不是沉浸感,眼控能夠讓交互更人性化,更真實(shí)?,F(xiàn)在的VR交互方式看任何一個(gè)點(diǎn)都要?jiǎng)宇^,最舒服的方式是眼動(dòng)加頭動(dòng)的配合使用。另外,我們只需要渲染出用戶注視的那一個(gè)核心區(qū)域,即注視點(diǎn)渲染技術(shù),它需要PC能夠非常高速的指導(dǎo)用戶在每一個(gè)時(shí)刻看到的那一個(gè)點(diǎn),所以需要高速的眼神追蹤傳感器來配合。