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