「フォービエイテッドレンダリング(または中心窩レンダリング)」と聞いて、複雑な技術を説明するための用語だと思われるかもしれません。しかし、フォービエイションの基本的なコンセプトはとても単純です。人が画面上のどこを注視しているかという情報を使って、ユーザーが見ている小さな領域を高解像度でレンダリングし、それ以外の部分(ユーザーの周辺視野の部分)を低解像度かつ少ないディテールでレンダリングすることで、シーンの生成に必要な処理を減らすことができます。フォービエイテッドレンダリングは、主にリソースの最適化が不可欠なVRヘッドセットやARグラスのようなディスプレイ技術で利用されています。
この記事では、フォービエイテッドレンダリングとは何か?動的(もしくは静的)フォービエイテッドレンダリングについて、そしてこれらの技術が、GPUの計算負荷をどのように低減できるかについてお話しします。また、派生した技術である動的フォービエイテッド・トランスポートを使用することで、ネットワーク帯域幅の要件をどのように削減できるかについても説明します。お楽しみください!
フォービエイテッドレンダリングとは?
フォービエイテッドレンダリング(または中心窩レンダリング)とは、ユーザーが注視しているディスプレイの領域にレンダリングリソースを集中させる、デバイス性能の最適化手法です。ユーザーの注視点のすぐ近くにある領域は、高解像度でレンダリングされます。それ以外の部分(ユーザーの周辺視野の部分)は低解像度でレンダリングされるため、ユーザーエクスペリエンスを低下させることなく、シーンのレンダリングに必要なリソースを削減できます。
フォービエイテッドレンダリングが機能するのは、人間の視覚を模倣し、視野全体における知覚の劣化を再現しているからです。私たちの脳が描画している「何を見ているか」、高解像度で注視している対象(図のリンゴ)と、中解像度や低解像度で見ているそれ以外が混ざっているということになります。
静的フォービエイテッドレンダリングとは?
静的アプローチによるフォービエイテッドレンダリング(静的フォービエイテッドレンダリングと呼ばれます)では、ユーザーの注視点が画面の中心であることを前提としています。図は、表示領域を固定されたエリアで分割し、VRヘッドセットで静的フォービエイテッドレンダリングがどのように機能するかを示しています。ユーザーが注視していると想定される領域(図の各レンズ内の白い部分)は、100%でレンダリングされます。グレーの部分は中解像度で、水色の部分は低解像度でレンダリングされ、シーン全体のレンダリングに必要なリソースを削減します。静的フォービエイテッドレンダリングは、ほぼすべてのデバイスで実装でき、ある程度のリソースの最適化は見られるでしょうが、常に最適なユーザーエクスペリエンスが得られるとは限りません。初期のヘッドセットは搭載されたレンズ周辺部の歪みのため、画像がぼやけていました。そのため、周辺部の解像度を下げることができました。しかし、レンズの品質が向上するにつれて、視野全体を高解像度でレンダリングする必要が高まっています。
動的フォービエイテッドレンダリングとは?
動的フォービエイテッドレンダリングは、ユーザーが実際に注視している領域を活用して、画像のごく一部(図の白い領域)を高解像度でレンダリングし、品質やユーザーエクスペリエンスを低下させることなく、中解像度(グレー領域)および低解像度(水色領域)へと拡大します。動的フォービエイテッドレンダリングを実装するには、ユーザーの注視点をリアルタイムで継続的に伝送でき、、正確で低遅延のアイトラッキングが必要です。動的フォービエイテッドレンダリングについて行ったベンチマークテストの中には、驚異的な結果をもたらしたものがあります。Unityエンジンを搭載したPicoヘッドセットで実施したテストの1つでは、GPUシェーディング負荷が最大72%低下し、平均で約60%低下しました。このテストでは、フレームレートの安定性が劇的に向上したことが明らかになり、動的フォービエイテッドレンダリングを有効にしても90フレーム/秒を下回ることはありませんでした。このことはユーザーにとって素晴らしい体験価値を生みます。この結果について、さらに深く知りたい方は、e-book(英語)「アイトラッキングと動的フォービエイテッドレンダリング」をぜひご覧ください。
動的フォービエイテッドレンダリングのメリット
動的フォービエイテッドレンダリングは処理負荷を低減するため、GPUを低い動作温度のままにできる可能性があり、それに伴って消費電力も低下します。
フル解像度のレンダリング領域を制限することで、複雑なシェーダーの負荷が軽減され、シーンのレンダリングにかかる時間が短縮されます。解放されたリソースは、リアルなシェーディングやより複雑なレベルのシーンを実現するために使用できます。
最も重要なことは、動的フォービエイテッドレンダリングは、与えられたハードウェアアーキテクチャの性能を向上させる最適化技術であるということです。実際に、スタンドアロン・ヘッドセット上のリソースに制約のあるGPUの寿命を延ばす上に、新たなコンテンツやディスプレイ技術をサポートします。さらには、低価格帯でリアルな没入感のあるユーザー体験を提供することができます。
動的フォービエイテッド・トランスポートとは?
動的フォービエイテッド・トランスポートは、処理ユニットとの有線接続なしに軽量ウェアラブルの採用を実現するものです。デバイスが軽量化され、リソースが乏しくなるにつれて、低遅延に特化したネットワーク接続とデバイス外で処理を行うことの必要性は、多くのアプリケーションにとって極めて重要になっていきます。そして、デバイスとクラウドまたはエッジ処理の間を移動するデータ量を削減する1つの方法として、動的フォービエイテッド・トランスポートがあるのです。
動的フォービエイテッド・トランスポートは、アイトラッキングを活用してユーザーの視線を取得し、ユーザーの視線に基づいてシーンのどの部分を高、中、低レベルの解像度でレンダリングするかをデバイス外の処理プロセッサに指示をします(デバイス上の動的フォービエイテッドレンダリングとほぼ同じ仕組みです)。
なぜフォービエイテッドレンダリングを実装するのか?
フォービエイテッドレンダリングは、XRにとって極めて重要な技術です。デバイスに動的フォービエイテッドレンダリングを実装するには、アイトラッキングコンポーネントが必要です。アイトラッキングを構成するのは、カメラ、イルミネーター、眼生理学(Ocular physiology)を正しく反映したアルゴリズムの3つで、それらが必要ということになります。そしてそのアイトラッキング技術は、正確な注視点をリアルタイムで提供する必要があり、デバイスを使用する世界中の人々に対応する必要があります。商用デバイスの場合、提供するソリューションは、大規模な再プログラミングなしに動的フォービエイテッドレンダリングの利点を活用でき、一般的で広範囲に適用できる高レベルのアプリケーションを開発可能にする必要があります。私たちが大規模な商用ソリューションとして、どのようにそれらを実現したか詳しくお知りになりたい方は、ぜひお問い合わせください。
e-book(英語版)もぜひダウンロードしてください— アイトラッキングと動的フォービエイテッドレンダリング