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