PS VR 是如何實現 120 Hz 的刷新率的?刷新頻率高是一種顯著優勢嗎?

索尼發布的 PSVR 的技術指標中,刷新率為 120 Hz,比其他兩個頭顯(Oculus Rift 和 HTC Vive)的 90 Hz 都要高,這是怎麼做到的?刷新率高對 PSVR 來說有什麼好處?


Sony 是通過 Asynchronous Reprojection 來輔助做到120幀的遊戲顯示,但並不能說是假的。

首先要確認的是,PSVR 屏幕支持三種模式,1,原生 60fps 的渲染幀率, 再通過 Asynchronous Reprojection 轉換成 120;2,原生120hz;3,原生90hz。這是後來的新固件支持的新模式。

是的,有原生的真120hz的顯示刷新率,只要你對應用優化夠好,或者應用本身就對機能要求不高。至於90hz,自然是折中的一種方案,開發者如果發現自己的應用超過60fps輕鬆,達到120又困難,那可以選擇這個來作為優化目標。

而把60通過重投射的方式翻倍的做法比較扎眼,導致大家忽略了2和3。

顯然,這種方式並不是靈丹妙藥,肯定有局限性,不然索尼也不會推出原生90和120的模式。

首先要指出的是,無論是基於這個技術的硬體 OLED,還是非同步重投影技術,都是 Oculus 給 Sony 的建議。基本上 Reprojection = Timewarp

在索尼2014年 GDC 上首次公布 Project Morpheus 的時候,屏幕用的還是普通的 LCD 屏幕,至於宣布 120 Hz 全 RGB 像素排列的 1080p OLED 屏,已經是2015年的 GDC 了。

用上 OLED 自然為的是低餘暉,而 120hz 也是為了降低低餘暉可能帶來的閃爍問題。關於低餘暉,就是利用 OLED 自發光可以快速開關像素的特性來讓每一幀只顯示一兩毫秒的方式,以此來降低拖影,和早期的 CRT 類似。背光發光的 LCD 像素開關沒法那麼快,所以以前寧願用大笨顯示器的電子競技職業選手可不是矯情,別人真的是覺得液晶屏模糊。

不過由於每一幀持續時間,如果按 60hz 刷新率的顯示屏來算的話,只有16.7毫秒,意味著十多毫秒都是黑的,所以會讓一部分敏感人群察覺到閃爍。基於這個原因,索尼決定直接通過重投影把幀率翻倍。

重投影的具體方式是這樣的:渲染一幀畫面的開銷是很大的,有可能十多毫秒。對於延遲要求極高的 VR 來說,你得到目前頭顯位置再渲染再傳回屏幕的 MTP 延遲,一旦錯過當前幀的 vsync,延遲就直接到下一個幀之後了。

而 Timewarp/Reprojection 就是想辦法去充分利用兩幀之間畫面接近的特性,用盡量小的開銷來生成對應當前人眼位置的方式。由於感測器是1000hz的,意味著每一毫秒都會有新的位置數據。於是你可以在刷新下一幀畫面之前,利用最新的位置數據扭曲最近的一幀畫面來對應你的頭部數據

而非同步,則是把這個線程和圖像渲染線程分離開來。如果在一起順序進行的話,由於 vsync 的時刻是固定的,一旦當前一幀畫面沒有渲染完成,Timewarp 也被延後了,失去了它的意義。解決的方式是在每一幀 vsync 之前以一定的空餘時間量強制進行 Timewarp,那麼就會涉及到 context switch,如果是 Nvidia 顯卡的話由於用到 preemption 會有固定的毫秒級的開銷,而且細密度只能在 drawcall 邊界,如果開發者一個 drawcall 太長也會 miss 掉一個 vsync。按 Oculus 的說法,即使是三角形級別的細膩度都是不夠的。但是由於索尼在策劃 PS4 時期就引入了 ACE 非同步計算引擎,因此不會有這些問題。非同步重投影就是一幀是真實的,下一幀就是根據上一幀通過上面黑字的方式人工生成的(有很多人說插幀或者中間幀,指的是通過前一幀和後一幀的平均值得到的,意味著你得先得到後一幀數據才行,因此只能延遲至少兩幀的顯示時間才行得通,對於電視來說沒影響但在VR里這種程度的延遲是不能接受的)。Oculus 和索尼的不同在於,索尼是每隔一幀固定用一次,用這個來進行幀率翻倍,生成偽畫面;而 Oculus 則是每一幀都會扭一下來保證當前幀率不掉到90以下。Valve 這邊目前沒有用這種方式,不過在他們兩年的 Advanced Rendering 演講里多次提到相關研究以及一些類似的解決方式。

本質上來講,這類似於在玩家攝像機位的圖像渲染線程之外,還有一個以玩家攝像機機位為圓心的球的顯示線程以120hz的刷新率在運行;玩家如果頭動得足夠快,機器畫面渲染不跟上,理論上是可以看到身後的空白/虛無。而如果你關閉了這種方式,效果就是一旦卡了,機能跟不上了,畫面就會卡在玩家眼前而不隨頭部運動發生改變,這時候人的體驗就和被一拳打臉上的感覺差不多。

當然,這種方式本身會有一些缺陷,比如最簡單的,一旦畫面中有移動的物體,顯然當前幀根據上一幀扭曲得到的畫面這個物體還是在原來的位置,那麼這個物體雖然相對你的大腦理解位置還是對的,但是在下一幀更新時會有突然跳一下的現象出現。

另外,所有根據你的攝像機向量得到的效果,都會出現奇怪的問題,什麼鏡面高光和反射之類的,都是基於你的眼睛向量得到的,而在扭曲的時候並不會照顧到。

最後就是,牽扯到位置改變(translation),而不僅僅是方向(orientation)改變的話,複雜度一下子上升很多。方向改變基本上就是把上一幀按新位置扭一下就好了,而方位改變則意味著本來被擋住的地方可能會露出來,而上一幀根本就沒有被擋住的地方的數據。再加上透明、抗鋸齒等等……

E3上我體驗蝙蝠俠的時候,當我拿起鋼琴架上的照片相框來回翻看時,重投影的 artifacts 就出現了,手的部分開始跳動,類似你在迪廳里跳舞時那種頻閃燈造成的效果一樣。

因此,這個補幀的方式是為了在性能跟不上和卡頓時,也能照顧人大腦對現實世界理解的一種顯示方式。如果你優化夠牛,還是可以直接90,甚至120。


120幀必須是一種優勢呀,這樣延遲時間理論上就至少比60幀的平均下來要減少(1/60-1/120)=1/120秒,也近10ms了,在VR中10ms的延遲提升已經很好了,怎麼做到的,幾個關鍵點:

第一,顯示屏本身支持。現在一般手機的顯示屏是支持60HZ的,所以,一般遊戲和App做到60HZ就到頂了,再高也沒意義,如果幀率維持的比較好的話,還是可以很流暢的。但是做到120HZ,如果能保持住的話,則會獲得絲般潤滑的體驗,當然,肉眼很難區分60HZ和120HZ的區別,但如果你仔細對比下,或者長時間玩一個遊戲,你會感到120HZ的玩起來會更輕鬆眼睛也不容易疲勞。

第二,系統支持,比如一般我們的iOS和Android操作系統默認是60幀進行刷新屏幕,主要是為了方便和效率等的原因,和屏幕刷新時間做了對齊。要做到120幀,當然需要系統支持以120HZ的頻率來刷新屏幕了。

第三,軟體支持,這個也很關鍵。要明白一點,120HZ意味著每秒需要造出120個圖片出來並輸出到屏幕,這樣,軟體、系統、GPU的工作量都成倍增加,出現卡頓的可能性更大,一般的遊戲做到30幀60幀已經很吃力了,要做到120幀,不只是性能優化那麼簡單了,需要的是軟體/遊戲開發方式的根本改進。當然,如果軟體層做不到120幀,通過軟體插幀也能做到偽120幀,但這樣的話體驗就會差很多,極端情況下會有發虛,錯位等的現象。

第四,硬體的支持。比如重力感應、手柄按鍵,這些數據的採集也至少需要做到每秒採集120次,而更好的建議做到1000次,比如Gear VR的自帶的感測器就是1000HZ的,這也是為何Gear VR比絕大多數Mobile VR體驗都好的一個重要原因。

補充:
插幀並不可恥,而且大部分時候是更有效的。
當然,對於快速運動的場景、視野內比較近的物體來說,插幀往往會帶來反效果。


PSVR的120幀應該是利用非同步二次投影,輸出中間幀的概念,並不是真正意義上的120幀。

幀率是遊戲行業中一個重要的命題,而虛擬現實崛起使之重要性翻了4番。HTC Vive和Oculus Rift幀率為90hz; Gear VR為60hz;PSVR力壓眾家,三個不同的模式,最高幀率為120hz。意義何在?簡單來說:高幀率、低時延,能有效較少眩暈癥狀。高端設備製造商將行業標準設定在90hz,而中端Gear VR只有60hz。」Page說:「這也就意味著開發商會進行優化/低多邊形圖像,以達到120Hz,部分根據索尼「非同步二次投影」追求難度較低的60hz。其他的會追求90hz,輸出HTC Vive 或 Oculus Rift等同質量的內容,當然要更強大的硬體支持。」

什麼是非同步二次投影,Page說道:「也就是Oculus所說的非同步時間扭曲。借用Oculus Michael Antonov的話,非同步時間扭曲(ATW)指的是在幀率跟不上的情況下,可以產出中間幀的技術,從而減少畫面的顫動」


硬體刷新率達到120hz也沒什麼難的;
主要問題在於hdmi1.4對於1080p可以達到120hz;
而對於vive的1200p就達不到了,帶寬不夠;

另一方面sony要求psvr遊戲最低達到60fps;這裡指的應該是ps4;
而對於ps neo剛好是兩倍多ps4性能,同樣遊戲psvr的幀數可以達到120fps,剛好吻合;


首先普通遊戲也是有刷新率的,一般60幀以上你就不至於在玩FPS時感到頭暈。

理論上幀數越高當然你玩遊戲時也就越平滑,發到90甚至120的高幀數有兩個要求:硬體性能和優化。

相比Oculus 和 Vive ,PSVR不惜犧牲解析度也要保證遊戲流暢性,這是基於它將PSVR繼續定位於"提供給遊戲玩家更好的VR遊戲體驗",另兩家則承擔著"提供VR解放方案"這種寬泛用途的包袱。

結論是,僅遊戲體驗方面,PSVR一定會讓自己做到第一。


插幀。
是。


從技術上講,刷新頻率高是一種優勢,但通過提高刷新頻率來提高VR的性能未必是最佳的,也可能存在問題


瀉藥!!
個人理解的就是插幀。
OCulus的ASW,也可以把45幀搞到90幀!!

先這樣吧!


@njwase


幀數高會更加迷惑人,potplayer已經可以插幀了,但又對硬體的要求,等不及玩夏日課堂了


後期差值當然是不可能達到原生的效果,就像低像素差值成高像素,只能做到邊緣更平滑一些,但畫面的真實解析度絲毫也不可能提升,原來就不存在的細節內容不可能靠差值無中生有。


我100%幫大家成功瘦臉


可能是通過psvr的小黑盒來進行插幀處理的,發售後原理應該會解明。


關於怎麼實現120Hz的刷新率我無法回答。
高刷新率是不是顯著的優勢,我覺得是。因為高刷新率可以緩解VR的眩暈。我覺得目前VR最大的體驗障礙就是眩暈,目前市面上的VR設備都會產生不同程度的眩暈,高刷新率是降低眩暈的一個重要指標。


謝邀
轉:
誤解一:提高刷新率是不是就可以解決VR 頭盔的眩暈問題?
MTP 總延遲由四個大的構成因素:感測器,顯卡引擎,顯示傳輸,屏響應時間
VR 顯示系統的刷新率高低只會影響第三個因素,也就是「顯示傳輸」的時間
以60Hz 的刷新率為例: 1 秒刷新60 幀,相當於每一幀時間為 T=1/60=16.7mS
因為VR 頭盔是一個左右眼獨立的光學系統,有一個技巧就是一半一半更新顯示數據,刷
完左眼馬上刷右眼,刷完右眼馬上刷左眼,這樣就可以節省一半時間,也叫倍幀技術。
相當於 Tvr= 1/60/2=8.3mS.

使用倍幀技術後,60Hz 的輸入刷新率在一定程度上相當於120Hz 的輸出刷新率!

但是第四項 「屏響應時間」是最大的瓶頸,如果你用的是傳統LCD,那麼你刷新率提高再多
也無濟於事,MTP 總延遲還是會&>40mS,眩暈問題嚴重。

如果「屏響應時間」解決了,那麼使用倍幀技術後,即使在60Hz 的刷新率下,總延遲也
能控制在20mS 以內。

當「屏響應時間」沒有解決前,盲目提高刷新率那是南轅北轍,根本沒有效果!

所以,單純提高顯示刷新率,並不能解決VR 頭盔的眩暈問題!

誤解二:VR 頭盔的刷新率是不是越高越好?

在MTP 總延遲已經做到20mS 以內時候,VR 設備本身引起的眩暈問題已基本沒有了,在
這個前提下,單純提高刷新率,並不能帶來明顯的差別。

因為對於人的主觀感受來說,20mS 是一個門檻,總延遲對於眩暈感的影響是非線性的。
當總延遲超過20mS 時候,這種影響甚至接近指數增長。在20mS 以內,影響又很平緩。
比如三星Gear VR 的刷新率為60Hz,體驗效果照樣很棒!
比如Oculus DK2 的刷新率為75Hz,體驗效果也照樣很優秀!

刷新率的提高太多,會導致對顯卡要求異常苛刻。比如2K 90Hz 已經需要GTX980 級或以
上的顯卡才能勝任。

VR 頭盔的刷新率設定多少,需要在MTP 總延遲和顯卡需求之前做平衡。

在MTP 總延遲已經&<18mS 的情況下,而且已經使用了倍幀技術,多花幾千塊錢購買頂級
顯卡,盲目追求90Hz 或者110Hz 沒有多大意義,因為多花幾千塊錢對實際體驗的改善微
乎其微。


感謝邀請
關於VR視頻相關的問題了解不是很全面。有關於VR音頻 聲場重建等相關方面的問題,一定解答。音頻在營造沉浸式體驗方面同等重要啊!


像目前HTC VIVE和oculus都有中間插幀的技術,即使掉到45幀,也不會感覺明顯卡頓,只會有拖影,所以幀數高不一定能說明什麼,不過從另一方面可以看出PS VR對硬體的要求要低於以上兩款設備的,期待上市


120鐵定更舒服沒錯。120更合格,不卡不難受。 實現方式索尼說過幾句,類似演算法補充幀數吧


高刷新率可以減少眩暈感,但是解析度較低和PS4的機能是個問題


艾瑪、怎麼邀請我來回答呢?
我現在是天天玩Vive 刷新頻率高了,幀數多了,就更清晰呀。


推薦閱讀:

怎样看待2016年底,VR行业热度出现(疑似极速)衰退的现象?
如何評價2017發售的PSVR遊戲《far point》?
市面上能買到的 VR 設備有哪些值得推薦?

TAG:虛擬現實VR | PlayStationVR |