如果你還未曾見過人們初次體驗虛擬現(xiàn)實(VR)的情景,我強烈建議你感受一下。無論是七歲的孩童,還是七十歲的老人,他們戴上眼鏡之后,都情不自禁會像演員一般手舞足蹈,伸長著脖子,盯著周圍的虛擬空間,仿佛突然進入了全新的世界維度。然后,他們還會興奮地分享眼前景象,“快看!”“你真該看看!”這讓我想起隨身聽興起的那些日子,我們興奮地朝著對面的人大聲說話,卻忘了歌曲只有自己才能聽見。
這樣來介紹VR非常的貼切:這是一個令人興奮的新事物,能夠立刻吸引住你,讓你情不自禁地想要和別人分享。的確,F(xiàn)acebook收購Oculus說明他們已經看到了VR應用于社交媒體的巨大潛力。想象這樣一個未來場景并不困難:我們坐在虛擬咖啡廳,對著親朋栩栩如生的頭像聊天;或者在你最喜愛的社交網絡上瀏覽VR視頻和360度全景照片,而現(xiàn)實上,你卻只是穿著睡衣坐在家里的沙發(fā)上。關于VR未來發(fā)展的展望無處不在,然而VR未來將如何被使用和消費,我們仍需拭目以待。就目前而言,也有一些其他技術擁有和VR同樣的潛力和影響力,比如和VR來自同一家族的增強現(xiàn)實(AR)。本文中,我將討論當今的VR市場及其面臨的挑戰(zhàn),并介紹能夠實現(xiàn)VR的技術。
游戲被認為是VR率先采用的領域,盡管它只是VR技術眾多潛在用途的其中之一。VR技術打開了全新的世界,讓游戲開發(fā)者可以營造更高級的沉浸感,創(chuàng)造全新的游戲機制、體驗與控制方法,這些體驗是絕對是傳統(tǒng)技術無法實現(xiàn)的。移動游戲剛問世時,很多開發(fā)商都只是單純地將傳統(tǒng)游戲移植到移動平臺。這一做法卻因無法實現(xiàn)而被舍棄。兩者不同的控制方法和形狀因子、多樣化的用戶與使用模式、以及移動市場截然不同的期望,都促使開發(fā)商重新思考移動游戲的核心。從PC、電視遷移到移動設備,游戲本身所受到的影響遠超預期。今天,手機游戲仍然與PC和電視游戲共享品牌。盡管在高端設備上,我們已經可以支持相同的圖像內容,但游戲行業(yè)已經掌握該如何調整傳統(tǒng)游戲,使其更適應移動市場,并針對移動市場開發(fā)了完全不同的游戲類型。如此轉變推動了移動游戲市場的快速成長,有時,移動游戲的收益甚至超過傳統(tǒng)的PC、電視游戲。
我們正處于新一輪的探索期:如何將VR更好地應用于游戲、了解哪些有用,哪些沒用。所有人都在探尋并試圖如何抓住這一千載難逢的機遇。接下來的數年將是見證奇跡的時刻,我們將親眼目睹VR的發(fā)展和演化。歷史的經驗告訴我們,全沉浸式的游戲盡管可以營造更身臨其境的感官體驗,但是被外星人一槍爆頭的感覺只會讓人驚恐萬分。相較于此,溫和的娛樂形式盡管乍看起來沒什么特別,但通常卻更令人印象深刻。當然,也不排除會有很多開發(fā)商覺得,白天嚇人一大跳是件值得驕傲的事情。有的玩家也很樂意體驗一下世界最大的虛擬過山車是什么感覺。市場需求是多種多樣的,所以我不希望一概而論。Oculus Store中多元化的應用告訴我們,“體驗”和“概念”將各自衍生出全新的娛樂形式。即便只在其中添加細微的交互元素,也有可能打造出一款全新的“游戲”。
nDreams,在虛擬現(xiàn)實中體驗完美海灘
現(xiàn)在,已經很難找到哪個創(chuàng)意產業(yè)不考慮VR電影、照片及現(xiàn)場直播的潛在影響力。對媒體而言,VR將非常受歡迎。站在球場中間,參加你最喜歡的體育賽事,或親臨重大新聞事件,或目睹坐在身側的演員捧得夢寐以求的奧斯卡獎,或者在美國下一任總統(tǒng)的就職典禮上占據靠前或居中的好位置。記者、劇院、藝術家、音樂家、教育中心和博物館都已經蓄勢待發(fā),探索應用VR的可能性。盡管標準化的視頻及圖像容器與元數據技術都尚未成熟、亟待發(fā)展,但能夠拍攝360° 全景視頻和照片的專業(yè)攝像機已悄然上市。此外,人們對消費型VR攝像機也抱有極大的興趣,不遠的未來,我們將可以通過VR拍攝貓咪過生日、全家度假的點點滴滴以及令你瞬間發(fā)笑的嬰兒視頻,相信這將引爆新一輪的社交分享狂潮。在探討VR視頻分享時,F(xiàn)acebook首席產品官Chris Cox如是說:“你會這樣做,Beyoncé也不例外。”目前,F(xiàn)acebook和YouTube都已支持360° VR視頻流及相關項目,以期進一步提高質量標準的Google Jump 就是一個例子。
并不是所有的VR視頻都采用傳統(tǒng)意義上的實景錄制來完成拍攝。Oculus電影工作室正在探索利用游戲引擎技術來講述動畫故事——對故事進行渲染,而不是拍攝后的重新播放。“用VR進行故事講述”的概念已經激發(fā)了很多天馬行空的想象。不過,首次嘗試將電影和游戲進行結合的時候,勇于吃螃蟹的制片方也嘗到了痛苦的教訓:盡管整合游戲技術可以打造沉浸式更強的故事情節(jié),但將交互元素與故事情節(jié)隨便雜糅只會營造出四不像的體驗。即便挑戰(zhàn)重重,使用渲染仍然是一項不錯的技術選擇。粗略計算,相比普通高清視頻,高清立體的VR電影對視頻流及編碼的要求明顯高出一個量級。如果使用傳統(tǒng)方法進行視頻拍攝、壓縮及流化,大量的制作過程都會被浪費,360°拍攝的內容約有5/6都無法呈現(xiàn)在屏幕上。如果能夠從用戶取景的角度來考量,我們可以做地更好。這種新的思維方法特別適用于內容渲染,并進一步突出視圖自適應技術的優(yōu)勢。從OTOY和8i正在開發(fā)的新技術,或者光場相機相關及新型領域的快速成長中,我們不難發(fā)現(xiàn),GPU為中心的視頻技術正快速進步。這是一個快速發(fā)展的領域,我們希望整個行業(yè)也可以跟上步伐。
Huang et al的光照野外立體鏡
實現(xiàn)高品質VR的挑戰(zhàn)
高品質移動VR不僅對GPU有更高的要求,對整個系統(tǒng)都是很大的挑戰(zhàn)。發(fā)熱限值是VR設備的重要參數,為確保設備運行時間內不超出發(fā)熱限制,很多組件都需要重新設計,才能夠實現(xiàn)視頻、GPU和顯示器的超低延遲、零拷貝路徑,以及嚴格的功耗管理。Linux系統(tǒng)對實時操作的要求不高,但低延遲的VR應用則需要接近實時的系統(tǒng)運行。因此,線程間通信和線程優(yōu)先級、動態(tài)調頻調壓(DVFS)及其他系統(tǒng)集成細微的改變都會對“光子運動”關鍵路徑的穩(wěn)健性產生影響。暫時不談VR,一款安卓應用需要經過操作系統(tǒng)的三重緩沖,僅僅圖像提交路徑就會產生50ms的延遲。盡管最后的效果還過得去,短時視頻體驗也還不錯,但是眼睛和屏幕的延遲非常明顯。如此,看不了太久,延遲就會使人不舒服,甚至感到惡心,哪怕是觀看相對靜態(tài)的內容也不會有很大的改觀。盡管VR體驗讓人印象深刻,但產業(yè)發(fā)展的重點是為大眾市場帶來高品質VR產品,唯有此,才能進一步釋放其巨大的發(fā)展?jié)摿Α?/p>
業(yè)界通用的“光子運動”延遲最高為20ms。低于20ms的話,延遲就難以被察覺。對刷新率為60幀/秒(16毫/幀)的標準面板來講,這一目標很難實現(xiàn);但通過一系列技術的結合,三星Gear VR設備現(xiàn)在已經可以實現(xiàn):
“異步時間扭曲”流程
直接渲染到顯示器前置緩沖
使用低持續(xù)性的OLED顯示器
一旦通過應用框架,應用程序就可以收集最新的頭部追蹤數據,將當前世界渲染成“眼部緩沖區(qū)(eyebuffer)”(一種特殊紋理,對應左右眼分成邏輯兩側)。如果可能的話,我們建議應用程序以60幀/秒的速度運行,但實際應用中很難保證,所以將目標設定為30幀/秒更為顯現(xiàn)實。為了保證幀速率,降低有效延遲時間,異步運行的時間扭曲流程會負責收集最新的有效eyebuffer,并在顯示器讀取之前直接將其寫入前置緩沖。安裝ARM Mali GPU的“context—priority”擴展后,時間扭曲流程能采用單獨的高優(yōu)先級OpenGL ES(嵌入式系統(tǒng)開放圖形庫)內容進行渲染。提交高優(yōu)先級內容后,GPU上現(xiàn)有的渲染工序會自動中斷,完成高優(yōu)先級內容渲染后再繼續(xù)原有任務。采用該流程,時間扭曲可以及時提交渲染任務,顯示器也可以再次讀取返回的數據。時間扭曲對顯示屏的渲染時間比應用程序更短,其獲得的頭部追蹤數據也就更新,進而可以調整eyebuffer內容,使之與頭部的實際方向更加匹配。時間扭曲僅能針對頭部轉動進行調整,而無法根據頭部固定位置或動畫場景來調節(jié),但實際應用中,因為頭部轉動的時間延遲低于可被注意到的閾值,流暢的體驗就可以形成。這“剛好及時”將內容渲染到前置緩沖的方式最適合低持續(xù)性的OLED顯示器。
對全局背光LCD顯示器來講,屏幕必須及時照亮單點圖像。相反,低持續(xù)性OLED顯示器的照亮時間很短,因為幀緩沖已經完成讀取。若屏幕保持水平,使用慢動作攝影機觀看,每一幀的畫面你都會看到一道在面板上從左到右運行的光波。這使得觀看屏幕時,頭部可以旋轉至不同方向,并進一步降低延遲。
盡管延遲時間是一個亟待攻克的技術難關,但人們對VR的需求不會因此而終結。在頭部佩戴鏡頭以放大面板倍率則進一步印證了我們對高清面板的渴望。哪怕原始分辨率已經達到1440p,面板的視差發(fā)光格柵仍清晰可見;但對分辨率大于 1440p,幀率超過 60 FPS的顯示屏來講,我們還需要在系統(tǒng)上花更大的功夫,并進一步提高外置存儲器帶寬。隨著壓縮視頻、GPU和顯示器間的幀緩沖交換變得愈加重要,所有ARM IP均使用無損ARM幀緩沖壓縮(AFBC)技術,以盡可能地減少幀緩沖存儲器流量。還有一點非常重要,為了高效地創(chuàng)建eyebuffer,且無需為左右眼重復做功,應用程序需要更有效地渲染至多視圖。在具備該技術的平臺上,Mali可以支持“多視圖” OpenGL ES擴展,允許應用程序在一幀圖像到達驅動器后提交繪制命令,同步完成左右眼的eyebuffer創(chuàng)建。這一流程可以顯著縮短應用程序和驅動器需要的CPU計算時間。同時,我們進一步優(yōu)化了Midgard Mali GPU的頂點運算能力,運行頂點著色器中不依賴眼睛的部分,并實現(xiàn)雙眼共享。Vulkan是Khronos公司開發(fā)的全新跨平臺API,可以進一步降低CPU開銷,讓開發(fā)者對產品有更大的掌控力度,促進移動VR的發(fā)展。
VR是一項開創(chuàng)性的技術,正在快速發(fā)展的過程中。得益于現(xiàn)代移動設備的普及和強大功能,VR不再只是昂貴的定制臺式機或控制臺系統(tǒng)的專屬。為了真正實現(xiàn)VR,發(fā)揮其對世界的潛在影響,移動VR必須面向大眾市場。作為這一領域的意見領袖,我們致力于推動其繼續(xù)發(fā)展并與合作伙伴密切協(xié)作,提供高品質的VR體驗,發(fā)揮該技術的最大潛力,實現(xiàn)更加美好的虛擬世界。