11选5开奖走势图表
首頁 首頁 資訊 廣告推廣 查看內容

讓你頭暈的VR頭顯,背后發生了什么?

2015-8-26 08:34| 發布者: admin |原作者: admin

摘要: VR頭顯無非是戴在頭上的顯示器,暈動(Motion Sickness)到底是怎么回事?

隨著虛擬現實漸漸興起,國內現在做虛擬現實的廠商也增多了起來。但是我經常聽到有體驗者向我表示:他戴上國外大廠諸如Oculus、Sony和Valve的VR頭顯的時候,體驗十分出色,但是戴上國產的VR頭顯,不動的時候還好,一動起來就會讓人極度眩暈,這是為什么?按照一般的看法,VR頭顯無非是戴在頭上的顯示器,暈動(Motion Sickness)到底是怎么回事?

實際上人對于VR的眩暈很大程度上,與暈船暈車沒啥區別:人耳朵里的前庭系統所感受到的運動狀態和視覺系統不一致,就會在大腦里“打架”——人就會覺得暈乎乎的。總的來說,暈動癥分為三種:

你看到動了,感覺沒有動:比方說打FPS游戲就是這種情況;

你感覺動了,但是看到沒有動:比方說暈車暈船暈機就是這種情況;

感覺的運動情況與看到的運動情況不匹配:宇航員在做離心機訓練的時候就會遇到這種情況。

對于VR,情況可能要更加復雜一些。用戶的全部視野都被VR頭顯所覆蓋,VR頭顯極力欺騙你已經到了另一個世界,此時視覺系統所感受到的東西就不僅僅是視野中的一塊屏幕上顯示的畫面,而是整個視野,在這種情況下,VR導致的暈動癥就會有很多種因素。

第一個因素當然是你身體的運動和你的視野中所觀測到的運動不匹配。

比如說你在坐VR的過山車的時候,視覺上是在高速運動,但是前庭系統卻表示你并沒有在運動,這時就會導致頭暈。從邏輯上,這與打FPS游戲造成的頭暈沒有什么區別,每個人都會有不同的感受。

第二個很重要的原因,是頭部運動和視覺觀測到的頭部運動的不匹配。

這才是今天我們要說的重點,也是VR頭顯能夠從技術上加以改善的部分。其中這一點包括兩個部分:幀間延遲和幀內延遲。

幀間延遲很好理解。人類對于頭部轉動和相對應的視野的變化是極度敏感的。如果用戶的頭轉動了,而相對的,視野轉動有延遲,只要很微小的延遲就能感覺得到。有多微小呢?研究表明,頭動和視野的延遲不能超過20ms,不然就會非常明顯。

不要小看20ms:實際上人頭部運動的速度很容易就能夠達到每秒上百的度數。假設頭部轉動速度為100度/秒(其實隨便轉頭就能達到這個速度),20ms的延遲意味著視野中物體的轉動延遲為2度,把手伸直,豎起大拇指,大拇指的寬度大概就是2度。

20ms的延遲時間對于VR頭顯而言是一個非常大的挑戰。首先設備需要足夠精確的辦法來測定頭部轉動的速度、角度和距離,這可以使用慣性陀螺儀(反應靈敏但是精度差)或者光學方法來實現。然后計算機需要及時渲染出畫面,顯示器也需要及時地顯示出畫面,這一切都需要在20ms以內完成。相應的,如果每一幀顯示的時間距離上一幀超過20ms,那么人眼同樣也會感到延遲。所以,VR頭顯的畫面刷新率應該超過50FPS,目前來說60FPS是一個基準線。要在這么短的時間內搞定這一切,本身就是巨大的挑戰。

那么是不是單純把幀率提高到60FPS以上,拼死將延遲做到20ms以內就可以了呢?其實除了幀間延遲之外,VR所造成的眩暈還有更加復雜的成因。下面我用幾張示意圖演示。

 

 

我們可以看到,左邊這張圖是真實的世界中,一個物體從左往右移動時眼睛看到的情況:隨著時間的推移,物體的軌跡是一條線;而右邊的圖則是任何一種顯示器顯示出來的情況:物體的圖像在每一個點顯示一段時間之后,就跳到下一個點;它并非是連續的運動。

但是一旦當人的頭部運動,那么人眼也會相對于顯示的物體有相對的運動,這時物體在人眼中的軌跡就變了一個樣子:

 

 

右圖中頭部往左轉時,原來靜止不動的物體的軌跡就變成了右圖這個樣子,不再是一個點,而是在每一幀結束之時跳回到它“應該”在的位置。然而人眼的視覺暫留現象則會保留上一幀和這一幀的圖像,于是圖像就會造成拖影,從而導致眩暈。

假如我們仍然假設60hz的刷新率,頭部轉動速度為120度/秒,那么一幀內頭部轉動為2度,以DK2的分辨率,一幀內的延遲為19像素,這個時候頭顯顯示的圖像將會是相當模糊的。而分辨率越高,這個問題就越嚴重。以人眼理論極限分辨率來計算,一幀內延遲會達到600像素。

這個問題怎么解決呢?想要讓物體的圖像更加連續的移動,最好也是最簡單粗暴的辦法是提高刷新率。

從60到90,到120,到200……可能最后到1000hz,那時我們的視覺系統就徹底分辨不出真實或者是虛擬了。 但顯然我們現在無法將刷新率提高到1000hz,目前Oculus Rift CV1和HTC Vive采用了90hz刷新率,而Sony Project Morpheus采用的是120hz刷新率。

另外一個辦法,就是降低余暉(Persistence)。

余暉(Persistence)是一個在CRT顯示器時期的概念。CRT顯示器是電子束激發屏幕上的熒光粉發光,所以實際上CRT顯示每一幀之內只有很短一段時間像素是發光的,其余時間像素是暗的,示意圖如下:

 

 

可以看到液晶顯示器,每一幀內像素總是在發光,所以液晶顯示器就被稱之為“全余暉”(Full Persistence)顯示。

 

 

中間這張圖只有一半時間像素發光;而右邊這張圖是理想情況下只有非常短的時間內屏幕在發光,也就是“零余暉”(Zero Persistence)。由于人眼的視覺暫留效應,刷新率足夠高就不會察覺到屏幕只有每一幀很短時間發光。但是為了彌補亮度的不足,每一幀內像素發光的強度要大大提升。

低余暉顯示對VR頭顯的意義在于,頭動時物體的軌跡更加接近于物理世界的真實軌跡:

 

 

這時頭部運動帶來的拖影會大大降低。假設假設同樣頭部轉動為120度/秒,頭顯刷新率60hz,一幀內屏幕發光2ms,以DK2分辨率和視角計,那么在發光2ms之內頭部轉動人眼所觀察到的視覺延遲僅為2像素,眩暈感就隨之而去。

但是我們都知道LCD的基本顯示原理:通過讓液晶翻轉來選擇性透過光線。這意味著LCD很難使用低余暉顯示。

 

 

(TN-LCD的基本顯示原理)

液晶翻轉的響應時間最快也有2-4ms,而背光原理也導致LCD不能做到全黑。相比之下傳統的CRT顯示器是天然的低余暉顯示。

想要解決這個問題,VR頭顯必須使用主動發光的顯示屏,比方說OLED。由于其每個像素都是主動發光的,所以OLED屏幕可以做到低余暉。

實際上,Oculus和Valve都使用了AMOLED的低余暉顯示屏,Sony則使用了自家的OLED顯示屏。目前國產的VR頭顯大多采用傳統的LCD顯示屏,所以其造成眩暈是很自然的。

但是低余暉也并不是什么都好。它也會帶來副作用:由于每一幀圖像顯示的時間都很短,所以移動的物體顯示出的軌跡是斷續的,視覺系統會認為其為不同的物體,而在顯示屏全亮的情況下,視覺系統則有足夠的時間將其界定為同一個物體。從這個意義來說,這是一個trade-off:在解決暈動和拖影的同時,低余暉顯示會導致頭動時物體閃爍和跳躍。

好了,說了這么多,我想大家也都明白了:虛擬現實并不是在眼睛前面放兩塊顯示屏加一個陀螺儀就能搞定的。在此也希望國內的廠商能夠沉下心做好產品,把虛擬現實的基本體驗做好,我們才能夠像智能手機那樣從蘋果谷歌到小米華為。

分享至:
| 人收藏

相關閱讀

Copyright © 2013-2019 ARinChina增強現實   All Rights Reserved.陜ICP備13003260號

11选5开奖走势图表 北京单场开奖结果查询 秒速时时反水 75秒赛车可以作弊吗 宾利博彩app 新号送分的打鱼10000 浙江十五选五走势图 时时彩追号软件 五小龙对上黑杰克谁赢 黑龙江省十一选五 pc加拿大28幸运走势图