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