無線VR的昨天今天和明天

雷鋒網 於 14/11/2016 發表 收藏文章
雷鋒網(公眾號:雷鋒網)按:本文作者郭偉,ZVR CEO。



虛擬現實頭盔上的明珠,已經被摘下了嗎?

2016年11月11日,最讓熱衷虛擬現實的科技男們興奮的,不是得到了女神晚餐的邀請,而是HTC無線虛擬現實頭盔發佈的消息。是的,這一天應該被記住,就好像電話在一夜間進化為手機。

自從Oculus DK1引爆本次虛擬現實革命後,人們對VR體驗的空間要求不斷被刷新:桌面級三自由度、桌面級六自由度、站立式交互、房間級交互、倉庫級多人交互,每一次升級都會帶來更多的玩法和更好的沉浸式體驗。隨着空間要求不斷變大,VR輸入設備日新月異,但VR頭顯卻發展緩慢,Palmer Luckey曾在CES上明確表示,制約站立式以上體驗的最大障礙是電線。

剪掉VR頭盔上的電線,真的那麼難嗎?

是的,因為VR頭盔對技術指標要求極為苛刻。首先是延時,合格的VR體驗對Motion to Photon的延時要求在20ms內,超過這個時間就容易造成眩暈;其次是分辨率,目前VR頭顯的主流分辨率是2.5k(2560*1440),在符合視角要求下低於這個分辨率會有明顯紗門效應,破壞沉浸感;再次是渲染能力,VR的雙目渲染會比單目渲染多消耗70%左右的GPU,降低渲染能力幾乎會成倍減少畫面質量。

儘管無線虛擬現實頭盔的研發障礙重重,但在追求無線的道路上,我們仍然看到了諸多已提出或未來會提出的解決方案,筆者將對這些方案從概念到技術一 一梳理,以勾畫出無線虛擬現實頭盔的昨天、今天和明天。

昨天篇


  • 無線虛擬現實頭盔的昨天之一,手機頭盔。

沒錯,手機頭盔是我們最早接觸的無線虛擬現實頭盔。手機頭盔從Cardboard開始到體驗最佳的Gear VR,再到水貨遍地的一體機,其藉助於手機芯片的移動化天生做到了無線。手機頭盔的技術無需多述,優勢是成本低廉,劣勢是缺乏原生空間定位支持和GPU性能過低,無法進行復雜場景和高質量渲染。手機頭盔在當前移動GPU性能的束縛下,最佳使用場景是全景視頻,很難提供站立式以上的高質量沉浸式交互體驗。


國內最早一批生產手機頭盔的是暴風魔鏡,在那個VR嚴重匱乏的年代暴風魔鏡成為中國無線虛擬現實頭盔的啟蒙。

  • 無線虛擬現實頭盔的昨天之二,串流式手機頭盔。

串流式手機頭盔可以將PC上運行的虛擬現實應用程序視頻輸出結果逐幀捕獲(Capture),將捕獲結果經過編碼壓縮後通過wifi傳輸到手機頭盔或一體機上,由手機頭盔或一體機進行解碼後輸出到屏幕。串流式手機頭盔的優點是可以使用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,但依然會帶來強烈的眩暈感。

無線虛擬現實頭盔的昨天之三,揹包+有線頭盔。

儘管無線虛擬現實頭盔的研發大大滯後,但隨着人們對大範圍交互的渴求,誕生了一個折中方案,揹包+有線頭盔。

第一次系統化提出揹包+有線頭盔商業解決方案的是澳洲的Zero Latency。


Zero Latency的目標是提供一個倉庫級的多人VR交互方案,讓多個玩家同時進入到一個遊戲場景中游戲。想做到這點必須連過幾道關卡:

首先是無線,由於場地大小設置為400平米,所以玩家必須以無線方式進入場景,有線很難支持如此大範圍行走;

其次是延時,由於玩家需要相對長時間進行遊戲,所以在遊戲時間內不能給玩家造成明顯眩暈感,延時控制必須在主流頭顯水品,即20ms內;

第三是畫面,為營造更好的遊戲氛圍,必須使用主機級GPU進行渲染;

第四是位姿計算,由於玩家以無線方式行走,故需要進行六自由度計算,其中位置計算無法依靠慣性傳感器而使用了廉價光學方案(60fps刷新率),造成位置計算延時至少為16.6ms,加上無線傳輸延時將大於18ms,所以對眩暈影響更大的姿態計算必須通過高採樣率(1000Hz)的IMU在本地進行。

Zero Latency使用了Alienware Alpha主機和移動電源設計的揹包系統,揹包和服務器通過wifi做數據連接,顯卡達到970m水平,使用DK2作為頭顯有線連接到Alpha,達到了上述四個目標。這一揹包系統雖不能嚴格稱之為無線頭盔但做到了無線頭盔所能達到的結果,缺點是揹包不易穿戴、電池壽命不長。

Zero Latency的方案對隨後的虛擬現實主題公園影響深遠,最著名的就是鹽湖城的the Void。


The Void將揹包系統和有線頭盔設計的更有外星範,加入力反饋功能,並結合Optitrack的光學動捕系統提供了更精確的定位計算、更多樣化的虛擬物體交互等,使得大範圍多人交互系統變得更為有趣。

至此揹包+有線頭盔+wifi的所謂“無線虛擬現實”解決方案落定,成為倉庫級虛擬現實交互和VR主題公園的首選方案,國內也有許多公司推出了無線揹包系統。


微星(MSI)的揹包系統


同方的揹包系統


索泰(Zotac)的揹包系統

今天篇

2016年不是老調長談的又一個虛擬現實元年,卻是無線虛擬現實頭盔元年。實現理想的無線虛擬現實頭盔無外乎兩種辦法,一種是將渲染後的視頻信號無線傳輸,另一種是在頭盔中進行高性能渲染。

開啟今天的鑰匙,60Ghz通訊。

將渲染後的視頻信號無線傳輸是實現無線虛擬現實頭盔最直接的辦法。早在串流式手機頭盔時代,人們就使用了這種藉助遠程PC進行高性能渲染,並將視頻結果通過wifi輸出到頭盔上的方法。這種方法的最大缺陷就是必須對視頻信號進行壓縮,因為符合質量的原始視頻數據至少為1920*1080@60fps,如果不經壓縮數據消耗帶寬約為3Gbps,而最快的802.11ac通訊帶寬為1.3Gbps,所以不對數據進行編碼壓縮將無法通過wifi傳輸。如前文所述,即便使用nvenc硬編碼和硬解碼,附加延時也會達到接近20ms,這對VR體驗而言是災難。

幸運的是60Ghz毫米波通訊在2015年下半年取得了長足進展,目前的WiGig 60Ghz通訊最大可以支持7Gbps通訊,這也使得將PC端渲染的視頻圖像不經壓縮以raw data方式無線傳輸成為可能。Lattice是全球60Ghz模組最大供應商,其提供的模組可以對1920*1080@60fps的數據進行近距離(約20米)的無線傳輸。

第一家使用60Ghz進行無線虛擬現實頭盔設計的公司是Serious Simulations,其生產的無線虛擬現實頭顯主要用於軍事訓練。


Serious Simulations的無線虛擬現實頭顯採用了兩塊1920*1080的顯示屏進行輸出,以獲得更大視角,但受限於單個模塊,左右眼為複製模式。

既然Lattice已經生產了60Ghz相關模組,那麼為什麼只有少數團隊有能力設計無線虛擬現實頭盔?原因眾多:

1、 屏幕。Lattice的模組使用了1920*1080@60fps的輸入輸出規範,所以需要視頻以1920*1080的格式輸出圖像到模組,經過60Ghz無線傳輸後再以1920*1080的格式輸出到屏幕,這就意味着屏幕必須能夠接受1920*1080或以下的橫屏(Landscape)模式。通過Panelook網站可以輕易查到,支持橫屏模式的屏幕最小為7寸,且無法達到1080p,但7寸屏相對頭顯用屏顯然太大了。理想的頭顯用屏是5.5寸,且分辨率必須達到1080p,這種屏幕多用在手機上,是豎屏(Portrait)模式,因此需要對數據進行橫豎轉換以適應豎屏或雙屏模式。

2、 線速轉換。如前文所述,為實現屏幕轉換且不增加延時,就必須要對輸出的視頻數據進行線速轉換,這需要頭盔設計團隊具有優秀的高速視頻信號處理技能。

3、 依然是延時。以橫豎屏轉換為例,當進行視頻數據90度旋轉時,會產生以下情況:


橫屏模式下第一行最後一個像素翻轉後剛好會成為豎屏模式下最後一行的最後一個像素,使得轉換必須在緩存一幀圖像後完成,這使得延時會增加近一幀,優秀的團隊會採用更好的算法完成轉換而避免緩存造成的延時。

4、 對慣性傳感器等輸入數據的處理。目前的有線虛擬現實頭盔通過USB將頭盔中的慣性傳感器信息傳輸到PC上進行數據融合(Fusion),以最短延時獲取頭盔姿態,進而計算攝像機姿態並渲染畫面。當頭盔的視頻輸出變為無線時,慣性傳感器輸入也必須是無線的,這在一定程度上需要設計團隊具有超低延時無線通訊技能和紮實的傳感器融合技能。

ZVR在2016年初推出了一款自主研發的無線虛擬現實頭盔。


1920*1080OLED屏幕,在頭盔後部集成電池組件。由於頭盔中集成有60Ghz模塊並只進行圖像轉換和輸出,所以電池消耗時間恆定,官方數據是可支持3.5小時。

相比較ZVR的從基礎幹起的設計方案,TPcast採用了與HTC VIVE合作的方式,用一個外掛模塊解決了有線虛擬現實頭盔的無線化問題,並起了一個容易記住的名字:剪刀計劃



由於VIVE使用了自己的封包格式對USB數據進行傳輸,所以TPCast所做的第一步就是要得到USB的數據結構,並且在連接PC的發送端上將自己的VendorId偽裝成VIVE以實現Direct Mode和支持steam應用程序的loading。

此外VIVE的分辨率是2160*1200@90fps,超過1920*1080@60fps的模塊通訊數據,因此推斷TPCast可能將yuv444格式變為yuv420格式以支持更高分辨率,並且實際刷新率降為60fps,這與汪總在發佈會上提到的沒有降低圖像質量的説法有出入,&當然這是推斷,具體要等待發貨後驗證,但無疑TPCast為無線虛擬現實頭盔邁出了堅實一步。

高性能嵌入式計算平台,不僅是一體機

早在HTC發佈無線虛擬現實頭盔之前,Oculus就在其發佈會上透露了O記無線虛擬現實頭盔的隻言片語。


根據有限的信息來看,Oculus的無線虛擬現實頭盔不使用高性能PC,計算直接在頭盔內完成,並且內置了Inside Out定位系統,這更像是有線頭盔和一體機的結合體。當然具體實現方案和使用效果需要更多信息來調研。

無論使用有線一體機方案、外掛方案還是從基礎幹起方案,無線虛擬現實頭盔的大幕已經拉開,加油Oculus,加油TPCast,加油ZVR!

明天篇

是否有一種方案是無線虛擬現實頭盔的終極方案?當然,只要嵌入式GPU足夠強大,功耗足夠低,MINI主機+頭盔或一體機將是終極方案,但這一天可能會很久。那麼明天的方案呢?如何使用PC的強悍渲染能力、如何能做到幾乎0附加延時(至少看起來是)、如何突破60Ghz的分辨率刷新率上限?

可能是這個方案:


圖形渲染仍在PC的GPU上,只不過輸出的數據是比正常圖像視角更大的圖像,類似全景視頻。

圖像按照類似Facebook的全景視頻壓縮方法進行壓縮並由GPU進行編碼,壓縮後的圖像通過wifi點對點傳輸到具有圖像硬解碼能力的專用一體機上,一體機解碼後以準全景視頻的方式輸出到屏幕,頭盔根據慣性傳感器計算當前視角輸出當前視角的全景圖像,結合ATW用户可以看到穩定無延時的視口圖像,就好像圖像在頭盔本地生成。此時後台的編碼視頻流以


資料來源:雷鋒網
作者/編輯:小芹菜

留言


請按此登錄後留言。未成為會員? 立即註冊
    快捷鍵:←
    快捷鍵:→