今となってはVRには欠かせない技術Asynchronous Timewarpについて知っておく

2016年11月14日

Oculusが開発した表示遅延を抑える第二世代のフレーム予測技術です。描画処理が追い付かない場合に、最新の描画結果を予測することで、たまに起こるフレーム落ちを目立たなくします。この仕組みにより、没入感が損なわれたり、VR酔いを起こりにくくします。

OculusはRift CV1の発売に合わせてランタイム1.3で初めてこの仕組みを公開しましたが、それ以来VRの世界では欠かせない技術になっています。

類似の技術としてSteamVRのAsynchronous Reprojection(非同期再投影)があります。PlaystationVRでも、Temporal Reprojectionと呼ばれる同様の技術が採用されています。

各社VR技術の一覧と比較

非同期再投影/Asynchronous Reprojectionとは何か?有効にする方法は?

どういう技術か

ヘッドマウントディスプレイには、その時の位置トラッキング情報をもとにして、向いている方向に沿った画面が表示されています。最新世代のヘッドマウントディスプレイであれば、秒間90回の描画(90fps)が行われています。

秒間90回の描画というのとても負荷の高い処理です。そのため、画面描画処理が1/90以内に完了せず、遅れてしまうことがあります。そこで、Timewarpでは画面描画が遅れたときに、絵の内容はそのままで、頭が動いた分だけ絵の位置を全体的にずらす、という処理を行います。

これにより描画処理が追い付いていないときに、頭を動かしても自然に絵がついてきます。ただし、絵の内容そのものは更新されていないため、大きく頭を動かすと、表示が隠れていた部分が黒く描画されてしまうデメリットもあります。

ただ、前述の没入感が失われたりVR酔いを引き起こすより、画面の端が黒くなる方がよっぽどましです。というのは人間の視野は中心はよく見えますが、周辺の些細なエラーは気にならないようにできているからです。

Oculusのソフトウェア開発キットの中でも詳しく説明されています。詳細を知りたい方は次の日本語訳も併せて参照してください。

Oculus SDKのAsynchronous Timewarpの詳細説明

よくある誤解

Timewarp技術は未来の描画結果を予測する技術ですが、フレーム補完技術と誤解されがちです。VRでは表示遅延を以下に抑えるかがカギとなっており、過去の情報を補完して表示を滑らかにしてもいいことはあまりありません。