干貨分享:無(wú)線VR的前世今生與未來(lái)
說(shuō)到VR頭顯,想看好的效果,就得整個(gè)PC版,可是這根線,當(dāng)真是麻煩事。可是想減掉VR頭顯上的那根電線,很難,真的很難。想要玩無(wú)線的頭顯,目前有三種方式,要么用手機(jī)頭顯、要么用串流式手機(jī)頭顯,要么,就是用背包+有線頭顯啦。
VR價(jià)值論分享:無(wú)線VR的前世今生與未來(lái)
雖然,這三種方式,已經(jīng)在一定的程度上向無(wú)線虛擬現(xiàn)實(shí)頭顯邁出了一步,但是哩,劣勢(shì)也是一堆堆。那到底咋辦捏?未來(lái)又有哪些更為終極的解決方式呢?實(shí)現(xiàn)無(wú)線VR頭顯的關(guān)鍵技術(shù)究竟是什么?VR價(jià)值論分享:無(wú)線VR的前世、今生與未來(lái)。(溫馨提醒:專業(yè)術(shù)語(yǔ)有點(diǎn)多,內(nèi)容小燒腦。)
單身狗節(jié)的那天晚上,HTC突然發(fā)布了無(wú)線虛擬現(xiàn)實(shí)頭盔。沒(méi)錯(cuò),真的沒(méi)有那根惱人的線了。這感覺(jué),讓技術(shù)宅們,甚為激動(dòng)。就好像座機(jī)被宣布在一夜間被進(jìn)化為手機(jī)。自從Oculusrif tDK1引爆本次虛擬現(xiàn)實(shí)革命后,對(duì)VR體驗(yàn)的空間要求不斷刷新:
一開(kāi)始我們只能坐在桌子前,通過(guò)傳感器處理三個(gè)方向的旋轉(zhuǎn),如左右轉(zhuǎn)頭,上下?lián)u頭和左右擺頭(被稱為“桌面級(jí)三自由度”,如GearVR的使用);隨后,我們體驗(yàn)到除旋轉(zhuǎn)外,傳感器還能處理上下、前后、左右的平移(被稱為“桌面級(jí)六自由度”,如Oculusrift DK2的使用);再到站立式交互、房間級(jí)交互、倉(cāng)庫(kù)級(jí)多人交互,每一次空間的升級(jí)都會(huì)帶來(lái)更多的玩法和更好的沉浸式體驗(yàn)。
隨著空間要求不斷變大,VR輸入設(shè)備日新月異,但VR頭顯卻發(fā)展緩慢,帕爾默·洛基就曾在CES上嚷著,制約站立式交互以上體驗(yàn)的最大障礙,就是那根電線。那么,剪掉VR頭顯上的電線,真的那么難嗎?答案是--很難。
因?yàn)閂R頭顯對(duì)技術(shù)指標(biāo)要求極為苛刻,這有三方面的原因:第一,延時(shí)。合格的VR體驗(yàn)對(duì)MoTIonto Photon Latency(從用戶開(kāi)始運(yùn)動(dòng)到相應(yīng)畫面顯示到屏幕上所花的時(shí)間)要求在20ms內(nèi),超過(guò)這個(gè)時(shí)間就容易造成眩暈感;第二,分辨率。目前VR頭顯的主流分辨率是2.5k(2560*1440),在符合視角要求下低于這個(gè)分辨率會(huì)有明顯紗門效應(yīng)(即在像素不足的情況下,實(shí)時(shí)渲染引發(fā)的細(xì)線條舞動(dòng)、高對(duì)比度邊緣出現(xiàn)分離式閃爍),破壞沉浸感;第三,渲染能力。VR頭顯的雙目渲染會(huì)比單目渲染多消耗70%左右的GPU,降低渲染能力幾乎會(huì)成倍降低畫面質(zhì)量。
盡管無(wú)線虛擬現(xiàn)實(shí)頭顯的研發(fā)障礙重重,但在追求無(wú)線的道路上,我們?nèi)匀豢吹搅酥T多已提出或未來(lái)會(huì)提出的解決方案,我將對(duì)這些方案從概念到技術(shù)進(jìn)行一一梳理,以勾畫出無(wú)線虛擬現(xiàn)實(shí)頭顯的前世、今生和未來(lái)。
前世篇:無(wú)線虛擬現(xiàn)實(shí)頭顯已有哪些解決方案?
在這一部分,我們將看到無(wú)線虛擬現(xiàn)實(shí)頭顯已經(jīng)提出的解決方案--即手機(jī)頭顯、串流式手機(jī)頭顯以及背包+有線頭顯。雖然其各自都有劣勢(shì),但在通向無(wú)線虛擬現(xiàn)實(shí)頭顯的道路上,已經(jīng)邁出了第一步。
其一,手機(jī)頭顯。
我們最早接觸的無(wú)線虛擬現(xiàn)實(shí)頭顯便是手機(jī)頭顯。從Cardboard開(kāi)始,到體驗(yàn)最佳的GearVR,再到水貨遍地的一體機(jī),其借助于手機(jī)芯片的移動(dòng)化,做到了天生無(wú)線。手機(jī)頭顯的優(yōu)勢(shì)就是成本低廉,相對(duì)其劣勢(shì)是缺乏原生空間定位支持以及GPU性能過(guò)低,無(wú)法進(jìn)行復(fù)雜場(chǎng)景和高質(zhì)量渲染。
手機(jī)頭顯在當(dāng)前移動(dòng)GPU性能的束縛下,最佳使用場(chǎng)景是全景視頻,很難提供站立式以上的高質(zhì)量沉浸式交互體驗(yàn)。
國(guó)內(nèi)最早一批生產(chǎn)手機(jī)頭顯的廠商是暴風(fēng)魔鏡,在那個(gè)VR頭顯嚴(yán)重匱乏的年代,暴風(fēng)魔鏡成為了中國(guó)無(wú)線虛擬現(xiàn)實(shí)頭顯的啟蒙。
其二,串流式手機(jī)頭顯。
串流式手機(jī)頭顯可以將PC上運(yùn)行的虛擬現(xiàn)實(shí)應(yīng)用程序視頻輸出結(jié)果逐幀捕獲(Capture),再將捕獲結(jié)果經(jīng)過(guò)編碼壓縮后通過(guò)wifi傳輸?shù)绞謾C(jī)頭顯或一體機(jī)上,由手機(jī)頭顯或一體機(jī)進(jìn)行解碼后輸出到屏幕。
串流式手機(jī)頭顯的優(yōu)點(diǎn)是:可以使用PC上的強(qiáng)悍顯卡資源進(jìn)行復(fù)雜場(chǎng)景的高質(zhì)量渲染。但缺點(diǎn)也很明顯:視頻編碼解碼相當(dāng)費(fèi)時(shí)間,疊加wifi傳輸會(huì)帶來(lái)很長(zhǎng)的MoTIonto Photon延時(shí),造成嚴(yán)重眩暈感;并且高質(zhì)量渲染后的圖片經(jīng)過(guò)視頻編碼壓縮會(huì)顯著降低畫質(zhì)。
串流式手機(jī)頭顯最早的產(chǎn)品是Trinus VR。Trinu sVR使用CPU進(jìn)行視頻捕獲和編碼壓縮,傳輸延時(shí)高達(dá)100ms以上,但其開(kāi)啟了一個(gè)真正的無(wú)線時(shí)代。
由于英偉達(dá)(NVIDIA)Video CodecSDK的出現(xiàn),我們可以直接調(diào)用GPU的NVENC直接對(duì)應(yīng)用程序的視頻輸出進(jìn)行捕獲和硬編碼,結(jié)合手機(jī)或Tegra平臺(tái)的硬解碼,視頻編碼壓縮和解碼的時(shí)間可大幅降低到20ms以內(nèi)。
英偉達(dá)最早將此技術(shù)應(yīng)用到Shield掌機(jī)的跨屏游戲中,但該技術(shù)隨后被用到串流式手機(jī)頭顯上,使得串流式手機(jī)頭顯的MoTIonto Photon延時(shí)降低至40ms以內(nèi)。
而最早提出該方案的是Visus VR,于今年初推出了首款PC驅(qū)動(dòng)無(wú)線VR頭顯VISUS,運(yùn)算使用的是PC,顯示用的是智能手機(jī)屏幕,通過(guò)英偉達(dá)Game Stream技術(shù),以無(wú)線的方式將電腦屏幕的游戲畫面?zhèn)魉偷绞謾C(jī)上。盡管延時(shí)縮短到40ms,但依然會(huì)有強(qiáng)烈的眩暈感。
其三,背包+有線頭顯。
盡管無(wú)線虛擬現(xiàn)實(shí)頭顯的研發(fā)大大滯后,但隨著人們對(duì)大范圍交互的渴求,誕生了一個(gè)折中方案,背包+有線頭顯。第一次系統(tǒng)化提出背包+有線頭顯商業(yè)解決方案的是澳洲的Zero Latency虛擬現(xiàn)實(shí)樂(lè)園。
Zero Latency的目標(biāo)是提供一個(gè)倉(cāng)庫(kù)級(jí)的多人VR交互方案,讓多個(gè)玩家同時(shí)進(jìn)入到一個(gè)游戲場(chǎng)景中游戲。想做到這點(diǎn)必須連過(guò)幾道關(guān)卡:首先是無(wú)線,由于場(chǎng)地大小設(shè)置為400平米,所以玩家必須以無(wú)線方式進(jìn)入場(chǎng)景,有線很難支持如此大范圍行走;其次是延時(shí),由于玩家需要相對(duì)長(zhǎng)時(shí)間進(jìn)行游戲,所以在游戲時(shí)間內(nèi)不能給玩家造成明顯眩暈感,延時(shí)控制必須在主流頭顯水品,即20ms秒內(nèi);再次是畫面,為營(yíng)造更好的游戲氛圍,必須使用主機(jī)級(jí)GPU進(jìn)行渲染;最后是位姿計(jì)算,由于玩家以無(wú)線方式行走,故需要進(jìn)行六自由度計(jì)算,其中位置計(jì)算無(wú)法依靠慣性傳感器而使用了廉價(jià)光學(xué)方案(60fps刷新率),造成位置計(jì)算延時(shí)至少為16.6ms,加上無(wú)線傳輸延時(shí)將大于18ms,所以對(duì)眩暈影響更大的姿態(tài)計(jì)算必須通過(guò)高采樣率(1000Hz)的IMU在本地進(jìn)行。
Zero Latency使用了Alienware Alpha主機(jī)和移動(dòng)電源設(shè)計(jì)的背包系統(tǒng),背包和服務(wù)器通過(guò)wifi做數(shù)據(jù)連接,顯卡達(dá)到970m水平,使用Oculusrift DK2作為頭顯有線連接到Alpha,達(dá)到了上述四個(gè)目標(biāo)。
這一背包系統(tǒng)雖不能嚴(yán)格稱之為無(wú)線頭顯但做到了無(wú)線頭顯所能達(dá)到的結(jié)果,缺點(diǎn)是背包不易穿戴、電池壽命不長(zhǎng)。
Zero Latency的方案對(duì)隨后的虛擬現(xiàn)實(shí)主題公園影響深遠(yuǎn),最著名的就是鹽湖城的the Void。The Void將背包系統(tǒng)和有線頭顯設(shè)計(jì)的更有外星范,加入力反饋功能,并結(jié)合OpTItrack的光學(xué)動(dòng)捕系統(tǒng)提供了更精確的定位計(jì)算、更多樣化的虛擬物體交互等,使得大范圍多人交互系統(tǒng)變得更為有趣。至此背包+有線頭顯+wifi的所謂”無(wú)線虛擬現(xiàn)實(shí)“解決方案落定,成為倉(cāng)庫(kù)級(jí)虛擬現(xiàn)實(shí)交互和VR主題公園的首選方案,國(guó)內(nèi)也有許多公司推出了無(wú)線背包系統(tǒng)。
今生篇:無(wú)線虛擬現(xiàn)實(shí)頭顯是如何實(shí)現(xiàn)的?
實(shí)現(xiàn)我們理想中的無(wú)線虛擬現(xiàn)實(shí)頭顯的辦法有兩種:第一,將渲染后的視頻信號(hào)無(wú)線傳輸;第二,在頭顯中進(jìn)行高性能渲染。60Ghz毫米波通訊技術(shù)的發(fā)展幫我們實(shí)現(xiàn)了這一點(diǎn)。接下來(lái),將會(huì)一一進(jìn)行說(shuō)明:
一、將渲染后的視頻信號(hào)無(wú)線傳輸是最直接的辦法
早在串流式手機(jī)頭顯時(shí)代,人們就使用了這種借助遠(yuǎn)程PC進(jìn)行高性能渲染,并將視頻結(jié)果通過(guò)wifi輸出到頭顯上的方法。
這種方法的最大缺陷就是必須對(duì)視頻信號(hào)進(jìn)行壓縮,因?yàn)榉腺|(zhì)量的原始視頻數(shù)據(jù)至少為1920*1080@60fps,如果不經(jīng)壓縮數(shù)據(jù)消耗帶寬約為3Gbps,而最快的802.11ac通訊帶寬為1.3Gbps,所以不對(duì)數(shù)據(jù)進(jìn)行編碼壓縮將無(wú)法通過(guò)wifi傳輸。
如前文所述,即便使用NVENC硬編碼和硬解碼,附加延時(shí)也會(huì)達(dá)到接近20ms,這對(duì)VR體驗(yàn)而言是災(zāi)難。
幸運(yùn)的是60Ghz毫米波通訊在2015年下半年取得了長(zhǎng)足進(jìn)展,目前的WiGig60Ghz通訊最大可以支持7Gbps通訊,這也使得將PC端渲染的視頻圖像不經(jīng)壓縮以rawdata方式無(wú)線傳輸成為可能。
Lattice是全球60Ghz模組最大供應(yīng)商,其提供的模組可以對(duì)1920*1080@60fps的數(shù)據(jù)進(jìn)行近距離(約20米)的無(wú)線傳輸。第一家使用60Ghz進(jìn)行無(wú)線虛擬現(xiàn)實(shí)頭顯設(shè)計(jì)的公司是Serious Simulations,其生產(chǎn)的無(wú)線虛擬現(xiàn)實(shí)頭顯主要用于軍事訓(xùn)練。
Serious Simulations的無(wú)線虛擬現(xiàn)實(shí)頭顯采用了兩塊1920*1080的顯示屏進(jìn)行輸出,以獲得更大視角,但受限于單個(gè)模塊,左右眼為復(fù)制模式。
既然Lattice已經(jīng)生產(chǎn)了60Ghz相關(guān)模組,那么為什么只有少數(shù)團(tuán)隊(duì)有能力設(shè)計(jì)無(wú)線虛擬現(xiàn)實(shí)頭顯?原因如下:
1、屏幕
Lattice的模組使用了1920*1080@60fps的輸入輸出規(guī)范,所以需要視頻以1920*1080的格式輸出圖像到模組,經(jīng)過(guò)60Ghz 無(wú)線傳輸后再以1920*1080的格式輸出到屏幕,這就意味著屏幕必須能夠接受1920*1080或以下的橫屏(Lands cape)模式。
通過(guò)Panelook網(wǎng)站可以輕易查到,支持橫屏模式的屏幕最小為7寸,且無(wú)法達(dá)到1080p,但7寸屏相對(duì)頭顯用屏顯然太大了。
理想的頭顯用屏是5.5寸,且分辨率必須達(dá)到1080p,這種屏幕多用在手機(jī)上,是豎屏(Portrait)模式,因此需要對(duì)數(shù)據(jù)進(jìn)行橫豎轉(zhuǎn)換以適應(yīng)豎屏或雙屏模式。
2、線速轉(zhuǎn)換
如前文所述,為實(shí)現(xiàn)屏幕轉(zhuǎn)換且不增加延時(shí),就必須要對(duì)輸出的視頻數(shù)據(jù)進(jìn)行線速轉(zhuǎn)換,這需要頭顯設(shè)計(jì)團(tuán)隊(duì)具有優(yōu)秀的高速視頻信號(hào)處理技能。
3、依然是延時(shí)
以橫豎屏轉(zhuǎn)換為例,當(dāng)進(jìn)行視頻數(shù)據(jù)90度旋轉(zhuǎn)時(shí),會(huì)產(chǎn)生以下情況:橫屏模式下第一行最后一個(gè)像素翻轉(zhuǎn)后剛好會(huì)成為豎屏模式下最后一行的最后一個(gè)像素,使得轉(zhuǎn)換必須在緩存一幀圖像后完成,這使得延時(shí)會(huì)增加近一幀,優(yōu)秀的團(tuán)隊(duì)會(huì)采用更好的算法完成轉(zhuǎn)換而避免緩存造成的延時(shí)。
4、對(duì)慣性傳感器等輸入數(shù)據(jù)的處理
目前的有線虛擬現(xiàn)實(shí)頭顯通過(guò)USB將頭顯中的慣性傳感器信息傳輸?shù)絇C上進(jìn)行數(shù)據(jù)融合(Fusion),以最短延時(shí)獲取頭顯姿態(tài),進(jìn)而計(jì)算攝像機(jī)姿態(tài)并渲染畫面。
當(dāng)頭顯的視頻輸出變?yōu)闊o(wú)線時(shí),慣性傳感器輸入也必須是無(wú)線的,這在一定程度上需要設(shè)計(jì)團(tuán)隊(duì)具有超低延時(shí)無(wú)線通訊技能和扎實(shí)的傳感器融合技能。
我們?cè)?016年初推出了一款自主研發(fā)的無(wú)線虛擬現(xiàn)實(shí)頭顯。
這套無(wú)線虛擬現(xiàn)實(shí)頭顯提供了1920*1080的OLED屏幕,并在頭顯后部集成電池組件。
由于頭顯中集成有60Ghz模塊并只進(jìn)行圖像轉(zhuǎn)換和輸出,所以電池消耗時(shí)間恒定,提供數(shù)據(jù)是可支持3.5小時(shí)。
相比較我們從基礎(chǔ)干起的設(shè)計(jì)方案,TPcast采用了與HTCVIVE合作的方式,用一個(gè)外掛模塊解決了有線虛擬現(xiàn)實(shí)頭顯的無(wú)線化問(wèn)題,并起了一個(gè)容易記住的名字:剪刀計(jì)劃。
由于VIVE使用了自己的封包格式對(duì)USB數(shù)據(jù)進(jìn)行傳輸,所以TPCast所做的第一步就是要得到USB的數(shù)據(jù)結(jié)構(gòu),并且在連接PC的發(fā)送端上將自己的VendorId偽裝成VIVE以實(shí)現(xiàn)Direct Mode和支持steam應(yīng)用程序的loading。
此外VIVE的分辨率是2160*1200@90fps,超過(guò)1920*1080@60fps的模塊通訊數(shù)據(jù),因此推斷TPCast可能將yuv444格式變?yōu)閥uv420格式以支持更高分辨率,并且實(shí)際刷新率降為60fps。
這與HTC Vive中國(guó)區(qū)總裁汪叢青在發(fā)布會(huì)上提到的沒(méi)有降低圖像質(zhì)量的說(shuō)法有出入。當(dāng)然這是推斷,具體要等待發(fā)貨后驗(yàn)證,但無(wú)疑TPCast為無(wú)線虛擬現(xiàn)實(shí)頭顯邁出了堅(jiān)實(shí)一步。
二、高性能嵌入式計(jì)算平臺(tái),不僅是一體機(jī)
早在HTC發(fā)布無(wú)線虛擬現(xiàn)實(shí)頭顯之前,Oculus就在其發(fā)布會(huì)上透露了O記無(wú)線虛擬現(xiàn)實(shí)頭顯的只言片語(yǔ)。
根據(jù)有限的信息來(lái)看,Oculus的無(wú)線虛擬現(xiàn)實(shí)頭顯不使用高性能PC,計(jì)算直接在頭顯內(nèi)完成,并且內(nèi)置了InsideOut定位系統(tǒng),這更像是有線頭顯和一體機(jī)的結(jié)合體。當(dāng)然具體實(shí)現(xiàn)方案和使用效果需要更多信息來(lái)調(diào)研。
當(dāng)然無(wú)論使用有線一體機(jī)方案、外掛方案還是從基礎(chǔ)干起的方案,在我們看來(lái),無(wú)線虛擬現(xiàn)實(shí)頭顯的大幕已經(jīng)拉開(kāi)。
未來(lái)篇:無(wú)線虛擬現(xiàn)實(shí)頭顯的終極方案是什么?
在我看來(lái)是肯定的,只要嵌入式GPU足夠強(qiáng)大、功耗足夠低,MINI主機(jī)+頭顯或一體機(jī)將是終極方案,但這一天可能會(huì)很久。
那么明天的方案呢?如何使用PC的強(qiáng)悍渲染能力?如何能做到幾乎零附加延時(shí)(至少看起來(lái)是)?如何突破60Ghz的分辨率刷新率上限?接下來(lái)所描述的這個(gè)方案有可能實(shí)現(xiàn)。
首先,在這個(gè)方案中,我們可以看到圖形渲染仍在PC的GPU上,只不過(guò)輸出的數(shù)據(jù)是比正常圖像視角更大的圖像,類似全景視頻。其次,圖像按照類似 Facebook的全景視頻壓縮方法進(jìn)行壓縮并由GPU進(jìn)行編碼,壓縮后的圖像通過(guò)wifi點(diǎn)對(duì)點(diǎn)傳輸?shù)骄哂袌D像硬解碼能力的專用一體機(jī)上。
一體機(jī)解碼后以準(zhǔn)全景視頻的方式輸出到屏幕,頭顯根據(jù)慣性傳感器計(jì)算當(dāng)前視角輸出的全景圖像,結(jié)合ATW用戶可以看到穩(wěn)定無(wú)延時(shí)的視口圖像,就好像圖像在頭顯本地生成。此后,后臺(tái)的編碼視頻流以《20ms的延時(shí)通過(guò)wifi不斷填充到頭顯,以完成相對(duì)高延時(shí)的位置計(jì)算。
根據(jù)推斷,VIVE之前合作的Quark VR很可能采用的就是這個(gè)方案。正如某人所說(shuō),虛擬現(xiàn)實(shí)中的追蹤技術(shù)不是由單一傳感器構(gòu)成,而是通過(guò)結(jié)合不同傳感器以達(dá)到在不同環(huán)境下的有效工作。無(wú)線虛擬現(xiàn)實(shí)頭顯也是如此,只有結(jié)合不同的技術(shù),才能真正以達(dá)到高性能、高分辨率、低延時(shí)、大范圍、多用戶的要求。那就拭目以待吧。