お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2016/11/16 00:00

連載

西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」

SIEの取締役副社長 兼 ハードウェアエンジニアリング&オペレーション本部長である伊藤雅康氏(左)と,リードシステムアーキテクトであるMark Cerny(マーク・サーニー)氏(右)。今回の技術セミナーでは約9割をCerny氏が担当した
画像集 No.002のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
 2016年11月10日に発売となった「PlayStation 4 Pro」(以下,PS4 Pro)の秘密に迫る本シリーズ。前編では主にスペック周りを掘り下げたが,後編となる今回はさらに深いところへ切り込んでいきたいと思う。

 今回のテーマは「レンダリング」である。
 9月のPS4 Proの発表時点で筆者は,当時の限られた情報を基に「PS4 Proの4Kグラフィックスは,リアルな4K解像度レンダリングではなく,アップスケール表示になる」とお伝えしていた(関連記事)。その情報自体はおおむね正解だったのだが,実装レベルでは,もう少し高度かつユニークなことを,ハードウェア支援を受けながら実現していたことが分かった。本稿ではその部分の「秘密」に迫ろうというわけだ。


4Kレンダリングを,PS4 ProのGPUでいかにして行うか


PS4 Pro
画像集 No.003のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
 この後に続く内容ではPS4 Proのスペックに関する知識が前提条件となるため,前編の復習にもなるが,まずはPS4 ProのGPUスペックを整理しておこう。

 PS4 ProのGPUは,標準的なPlayStation 4(以下,標準PS4)のそれと比べて,約2.28倍高い性能を持っている。これは,PS4 Proと標準PS4との間で,GPUコア側の演算ユニット「Compute Unit」数と動作クロックが以下のとおり異なっていることから計算できる数字だ。

  • PS4 ProのGPU:Compute Unit数36基,動作クロック911MHz
  • 標準PS4のGPU:Compute Unit数18基,動作クロック800MHz

 具体的な理論性能値としての単精度浮動小数点演算性能で言うと,PS4 Proは約4.20 TFLOPS,標準PS4が約1.84 TFLOPSなので(※),約2.28倍というわけである。

※Graphics Core Nextアーキテクチャを採用するAMD製GPUの場合,シェーダプロセッサ1基は1クロックで単精度浮動小数点数の積和算を2つ実行できる。そして,1基のCompute Unitは64基のシェーダプロセッサを内包している。そのためPS4 Proは「64(シェーダプロセッサ)×36(Compute Unit)×2(FLOPS)×911(MHz)=4,197,888 MFLOPS」となり,同様に標準PS4は「64×18×2×800=1,843,200 MFLOPS」となる。

こちらは標準PS4のカスタムAPU。理論性能値は1.84 TFLOPSとなる
画像集 No.005のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
 PS4 Proが提供できる「上質な映像体験」における最大のトピックは,もちろん「4K出力への対応」である。「HDR」(High Dynamic Range,ハイダイナミックレンジ)対応も重要な要素ではあるものの,こちらは標準PS4でも新規にサポートが始まるので,「PS4 Proならでは」の要素は,やはり4K出力ということになるだろう。

 本連載のバックナンバー「PS4 Pro向けゲームとHDR対応PS4ゲームのアーキテクチャ」でも触れたが,仮に「標準PS4の1.84 TFLOPS」が,ソニー・インタラクティブエンタテインメント(以下,SIE)の想定する「フルHDゲームグラフィックス描画に最適化された仕様」だったとすると,同条件で4Kゲームグラフィックス描画に必要な性能値はいくつになるだろうか。
 フルHDは1920×1080ピクセル,4Kはその縦横2倍の3840×2160ピクセルでそれぞれ描画するので,画素数は4倍。したがって単純計算で,4Kの描画には,標準PS4比で4倍のGPU性能が必要になる。標準PS4のGPU比で4倍となると,理論性能値は7.36 TFLOPSだから,PS4 ProのGPUが持つ4.20 TFLOPSではまったく足りない。

左がフルHD解像度,右が4K解像度のイメージ。画素数は4倍に増えるので,単純に考えれば,フルHDと同時間内に4Kの描画を終えるためには,4倍のGPU性能が必要になる
画像集 No.004のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」

 この点について,PS4 Pro発表当時,各方面でさまざまな議論や考察が展開されたわけだが,大枠として伝わってきたのは「PS4 Proではネイティブ4Kを行うわけではない」「ある程度の高解像度レンダリングを行って4Kにアップスケールさせる」という情報だった。
 また,その時点でSIEは,「シェーダ負荷のそれほど高くないタイトルにおいては,ネイティブ4Kレンダリングを行っているものも存在する」と述べる一方,多くのタイトルで,ある程度の高解像度レンダリングを行い,それを4Kにアップスケールさせること自体は否定していなかった。

 では,そのアップスケールをどのように行うのだろうか。
 今回,SIEのリードシステムアーキテクトであるMark Cerny(マーク・サーニー)氏は,「今回お話しする内容は,一般の記者に対しては初めて」と前置きしつつ,その部分を明らかにしてくれたのである。


ポリゴンレンダリングのみを4Kで行う「ジオメトリレンダリング」


 Cerny氏が最初に語ったのは,最もシンプルな4K出力だ。SIE内では「ジオメトリレンダリング」と呼んでいるという。

 Cerny氏の言うジオメトリレンダリングとは,簡単に言えば,ポリゴン解像度だけを4K化しつつ,シェーディングやライティング,テクスチャの適用解像度はフルHD解像度でレンダリングするときのまま据え置く方法である。結果だけに着目すると,オブジェクトの輪郭描写は,滑らかなアンチエイリアシング付きの4K解像度で得られる。

 仕組みはこうだ。
 いま述べたとおり,ジオメトリレンダリングでは,ライティングや陰影処理を行う解像度はフルHDのまま据え置きとなるが,Zバッファは4倍解像度の4K解像度で出力する。これはちょうど,4x MSAA(Multi-Sampled Anti-Aliasing,マルチサンプルアンチエイリアシング)を適用したフルHD描画と同等になる。

 「4x MSAAを適用したフルHD描画」だと,Zバッファの解像度は4K解像度相当だが,最終出力される画像は,当たり前ながらフルHD解像度だ。1ピクセルに対して,Zバッファサンプル(以下,Zサンプル)は2×2の4テクセルに対応するイメージである。
 極端な例だが,たとえば今,赤色をしたポリゴンの一部が,2×2のZサンプル全体を覆っていたとすると,そこに対応するピクセルの出力色は赤色でいい。しかし,もしこの2×2のZサンプルがポリゴンの輪郭に掛かっているような状況で,赤色ポリゴンで覆っているのが半分だけで,残る半分が白色背景だったとすれば,当該ピクセルの出力色は赤と白の中間色である桃になる。

 それを踏まえてPS4 Proのジオメトリレンダリング技法だが,ピクセルシェーダを起動して行うライティングや陰影処理はフルHD解像度のままとして,Zバッファの解像度も4倍解像度の4K相当とするところまでは,「4x MSAAを適用したフルHD描画」と同じだ。

 異なってくるのは,Zバッファとは別に,「IDバッファ」(ID Buffer)という特殊なバッファを用意し,ここにオブジェクトやポリゴンに対応する固有IDを出力するところ。たとえば,あるキャラクターモデルのIDが100だとすれば,その100という値で,IDバッファ上に当該キャラクターモデルの形状(=シルエット)を出力するイメージである。
 このIDバッファも,Zバッファと同じく,ピクセル解像度の4倍の4K解像度となっている。

フルHD解像度レンダリング(左)と,ジオメトリレンダリング(右)において,1ピクセルあたりのフォーマットを比較したもの。ジオメトリレンダリングではZバッファとIDバッファの値を4個持つ
画像集 No.006のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
ライティングや陰影処理を行うピクセルシェーダの起動数はフルHD解像度と同じだが,ZバッファとIDバッファを4K解像度にするのが,ジオメトリレンダリングの特徴だ。ちなみに図中「MRT」はMulti-Render Target(マルチレンダーターゲット)の略で,1つのレンダリングパイプラインにおいて,同時に複数のバッファに対して出力を行う技法のことである
画像集 No.007のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」

 レンダリング時,こうした任意の値を出力しておくバッファとしてはステンシルバッファ(Stencil Buffer)がよく知られているが,IDバッファは,用途がまったく異なる一方で,ハードウェアとしての振る舞い自体はステンシルバッファとよく似ている。Cerny氏も「ステンシルバッファへの出力と同じように,深度値とセットでID値をIDバッファに出力します」と述べていた。

 さて,ジオメトリレンダリングでは,フルHD解像度のピクセルシェーダでライティングや陰影処理を行い,4K解像度のZバッファとIDバッファのレンダリングも終えた後で,これらの情報を基に,SIEが「ソフトウェアによるリゾルブ」と呼ぶ処理によって4K解像度の映像に変換して出力する。

 リゾルブ(resolve,結果回収)とは,簡単に言うと,GPUのプログラマブルシェーダ,より正確を期せばコンピュートシェーダ(≒GPGPU)で実装したポストプロセス処理のことだ。
 ピクセルシェーダでも実装できなくはないが,ピクセルとZ,IDの各バッファへ局所的なアクセスが集中した場合,各バッファのデータがキャッシュに載りやすいため,コンピュートシェーダのほうが都合はいいらしい。

 ジオメトリレンダリング技法で,「レンダリング結果としてのピクセルデータ」はフルHD解像度分しかない。言い換えると,「4K解像度の描画に必要なピクセル数の4分の1しか,ちゃんと計算したピクセルデータはない」,もしくは「ピクセルシェーダでちゃんとライティングや陰影処理を行ったピクセルは4個中1個で,3個は計算していない」のである。

 ここで考えられる最も単純な解像度変換は,未計算である3個のピクセルに,実際に計算した1個のピクセルの結果をコピーして4K化するというものだ。ただしこれだと,4KパネルにフルHD映像をそのまま表示するような画像となり,能がない。
 少し賢い処理としては,未計算の3ピクセルそれぞれに隣接する周辺の計算済みピクセルデータ群から加重平均を計算して,各ピクセルの値とするというものも考えられる。ただこちらも,一見うまくいきそうながら,背景とキャラクターの境界などを無視して,画像処理的に加重平均をとってしまう点に難がある。それこそ,背景色がキャラクターの輪郭線の色に滲み入ってしまうこともあり,美しい映像は期待できないのである。

 PS4 Proにおける,ソフトウェアによるリゾルブ処理の振る舞いは,いま挙げたアイデアの後者を賢く拡張したものになっている。ここで活用するのは,前述したIDバッファの値だ。
 未計算ピクセルのピクセルデータを周辺からサンプルして加重平均を計算するとき,その「サンプル対象となるピクセル」のIDが異なっている場合には,それを対象から外すのだ。こうすれば,背景色がキャラクターの輪郭線に滲んでしまう事態は避けられる。

左は,4K解像度をジオメトリレンダリングで出力したときの例。線で示したようなポリゴンがあったとしよう。ピクセルαに着目すると,ここの色は,実際にピクセルシェーダを駆動して,実態としての計算結果を持っているピクセルB,C,Dの値を参照し,荷重平均計算を行って求めることになる。ピクセルAはピクセルαに近接してはいるものの,IDバッファの値が異なるため,同一3Dモデル内のピクセルではないと判断され,サンプルから外れることになる
画像集 No.008のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」

 Cerny氏によれば,IDバッファに書き込まれるID値は,ゲームプログラム側で任意のものを指定できる仕組みになっており,その割り当ては3Dモデル(=オブジェクト)単位でも,ポリゴン(=プリミティブ)単位でも構わないとのことだ。
 IDバッファ自体は32bit幅となっており,16bitをマテリアル単位,16bitをポリゴン(プリミティブ)単位で振ることができるとのことである。

 ちなみに,標準PS4で1920×1080ピクセル未満の解像度で描画を行っているタイトルをPS4 Proへ対応させるにあたっては,いったん1920×1080ピクセルの描画へ引き上げ,ここからジオメトリレンダリングで4K出力させるアプローチを,SIEとして開発スタジオには推奨しているとのことだった。

 ジオメトリレンダリング技法のメリットは,「既存のレンダリングパイプラインをほとんど改造しなくても4K出力に対応できること」と「GPUに追加の負荷を与えなくて済むこと」に尽きる。端的にまとめるなら「軽くてきれい」といったところか。
 実際に,PS4 Proと標準PS4とで「inFAMOUS First Light」のジオメトリレンダリングを使った4K出力版とフルHD版の映像の比較を見せてもらったが,輪郭線が非常に美しくなっていることを確認できた。また電線のような細いジオメトリ,パーティクルのような微細なジオメトリも,4K出力版のほうが描画は緻密で,情報量が多い。

inFAMOUS First Lightの4Kスクリーンショット
画像集 No.009のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」

 また,技術セミナーでは,イベントシーンではなく,インゲームにおける主人公キャラクターの顔にクローズアップした状態も見せてもらったが,その表情も,ジオメトリレンダリング技法による4K出力のほうがよく見える。ピクセルシェーダ側で適用されるテクスチャ解像度はフルHDと変わらないが,オブジェクトのIDに配慮して近傍色を補間してくれる後処理が,もしかすると超解像的な役割を果たしているのかもしれない。とにかく想像以上に目鼻口の解像感も上がっている印象だ。
 一方,背景物の文字看板などといったテクスチャに,PS4 Proと標準PS4とで大差はないように感じられた。


PS4 Proの秘密兵器は「チェッカーボードレンダリング」!?


チェッカーボードレンダリングと聞くと,AMDのマルチGPUレンダリング技術であるCrossFireの動作モード「Checker Board」を連想してしまうのは筆者だけだろうか? ちなみにこのモード,旧ATI Technologiesによる発表当初の呼び名は「Super Tiling」だったが(関連記事),いずれにしても,SIEの言うチェッカーボードレンダリングは,それとは関係ない
画像集 No.010のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
 長々と説明してきたジオメトリレンダリング技法だが,実のところ,PS4 Proの4K出力機能においてはエントリーレベルといったところで,PS4 Proが持つGPUの性能のフル活用には至らない。
 PS4 ProのGPUの性能を活かしつつ,PS4 Proの性能の範囲で最も優れた4K映像を作り出せるテクニックは,いまから紹介する「チェッカーボードレンダリング」技法のほうになる。

 チェッカーボード(Checkerboard)は「チェスの碁盤の目」のことで,日本語では「市松模様」などと言うが,そんな名前を冠する本技法でも,ジオメトリレンダリングと同じく,ZバッファとIDバッファはいずれも4K解像度を用いる。つまり,ポリゴン解像度はリアル4K解像度相当になる。
 では何が違うのか。前段で紹介したとおり,ジオメトリレンダリング技法では,ピクセルシェーダで行うライティングや陰影処理を1920×1080ピクセルのフルHD解像度で行うに留めていたが,チェッカーボードレンダリング技法では,その解像度を2倍に引き上げる。具体的な解像度で言えば,1920×2160ピクセルとするのだ。

 冒頭で確認したとおり,標準PS4のGPUに対して,PS4 ProのGPUは約2.28倍高い性能を持っている。なので,「横解像度はフルHDと同じで,縦解像度は2倍」というのは,PS4 Proにとって,「仕事量のちょうどよい増大」になるのである。

 ただ,言うまでもないが,これでは横解像度がリアル4K解像度比で半分しかない。3840×2160ピクセルで描画して出力するためには,1920×2160ピクセルのレンダリング結果を,3840×2160ピクセルの映像に変換しなくてはならない。
 ここでも,最もシンプルな解像度変換は,横解像度1920ピクセルの各ピクセルを隣にコピーして倍化して3840ピクセルにする手法だが,やはりこれは能がないし,映像の品質としてもよくない。そこで登場するのが,チェッカーボードという概念なのだ。

 分かりやすく噛み砕いて解説しよう。
 PS4 Proが持つGPUのチェッカーボードレンダリング技法では,ピクセルシェーダによる,横解像度3840ピクセル分のライティングや陰影処理を,1ピクセル飛ばしで行う。それを縦解像度2160ピクセル分処理することで1920×2160ピクセルとするのだが,ここでポイントとなるのが,「1ピクセル飛ばす」位置を1ラインごとに順番で入れ替えるところだ。
 そう,これこそが,チェッカーボードレンダリング技法の「チェッカーボード」たるゆえんなのである。

左は参考までに示した,フルHD解像度相当のピクセルフォーマット。中央がチェッカーボードレンダリング技法におけるピクセルフォーマットだ。ZバッファとIDバッファの解像度はいずれも4K。ピクセルシェーダを発動して計算するライティングや陰影処理は1ピクセル飛ばしとなる
画像集 No.011のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」

 ちなみに,チェッカーボードレンダリングのギミック自体は,どうやら「Graphics Core Next」アーキテクチャ世代のRadeonがサポートしているEQAA(Enhanced Quality Anti-Aliasing)の仕組みを応用しているようだ。
 EQAAでは,ポリゴン描画にあたって,「当該ポリゴンをピクセルとして描画するか否か」の被覆率判定の位置を変移させる仕組みがあるのだが,この機能を活用している可能性が高い。

 ではなぜチェッカーボードレンダリングだと映像品質がよくなるのか,その点を論理的に理解するには,「欠落した画素情報を復元する」ことを思い浮かべるといい。
 下に示したのは,Game Developers Conference 2016で,Ubisoft MontrealのJalal Eddine El Mansouri氏が行ったセッション「Rendering ‘Rainbow Six | Siege’」のスライドを一部引用したものだ。チェッカーボード状で互い違いに1ピクセル分だけ歯抜けにした画像から補間処理を行って復元する場合と,元画像を縦に1ラインずつ歯抜けにしたものから補間処理を行って復元する場合とで,どちらが元画像に近いかを評価したものになる。

左がチェッカーボード状に1ピクセル飛ばしで歯抜けにした画像からの復元,右が縦方向に1ライン飛ばしで歯抜けにした画像からの復元を示した例。一番上が元画像で,これは左右で(当たり前だが)同じ。上下中央が“歯抜け化”した画像で,下は歯抜け画像から隣接画素情報を基に復元を試みた結果となっている
画像集 No.013のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」 画像集 No.014のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
画像集 No.015のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」 画像集 No.016のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
画像集 No.017のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」 画像集 No.018のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」

 結果は見てのとおりで,チェッカーボード状に歯抜けにした画像からの補間復元のほうが,格段に元画像に近い。消失した画素情報量は同じにもかかわらず,である。
 これは,チェッカーボード状の歯抜け画像のほうが,欠落した情報の分布を空間方向に対して均一化できるからだ。

 そもそも極端なことを言えば,縦に1ラインごとに歯抜けした画像と,チェッカーボード状に歯抜けにした画像だと,補間復元する前から見栄えは後者のほうがいい。要はそういうことなのである。

 なお,最終的に出力する4K映像は,前出のジオメトリレンダリング技法と同じく,「コンピュートシェーダで実装したフィルタ処理として,IDバッファに書かれたID値に配慮しつつ,近隣のピクセルを参照して加重平均を行い,補間するような処理をした結果」となる。
 Cerny氏によれば,フルHD比で2倍の画素数を16:9アスペクトに配置した2720×1530ピクセル解像度(※この解像度はフルHDの縦と横に√2を掛けたものに相当)をリアルレンダリングした結果と,PS4 Proのチェッカーボードレンダリングの結果を比較すると,格段に後者のほうがリアル4K映像に近くなるという。

チェッカーボードレンダリング技法による1920×2160ピクセルの実ピクセル数(左),1920×1080ピクセル(=フルHD)の縦横√2倍に相当する2720×1530ピクセルを比較したもの。ピクセル数は同等だが,チェッカーボードレンダリング技法のほうが映像品質は高くなるのだという
画像集 No.012のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」

 ただ,Cerny氏は「実は,これだけではないんです」と笑顔を浮かべる。
 PS4 Proのチェッカーボードレンダリング技法において,コンピュートシェーダで実装したフィルタ処理は,チェッカーボード状描画結果の4K映像変換処理にあたって,現在フレームの結果だけでなく,前フレームの結果も参照するという。
 もちろん,前フレームの参照においても,当該ZバッファおよびIDバッファの内容を吟味する。そのため,「異なるオブジェクトのピクセル色を誤って取って,それをそのまま補間処理してしまう」心配は無用だ。
 また,前フレームの参照にあたっては,ピクセル単位の移動速度を記録したベロシティバッファ(Velocity Buffer,速度バッファ)を流用するが,ベロシティバッファ自体は今日(こんにち)のゲームグラフィックスにおいてモーションブラー生成などのためにあらかじめ生成しておくことが多いので,前フレームの参照が追加の負荷になることはほとんどないはずだ。

 「しかも,前フレームと現在フレームで1ピクセル飛ばしの位置を入れ替えます。これがどういうことか分かりますか」(Cerny氏)。

チェッカーボード状の歯抜き描画の仕組みを,1フレーム内で1ラインごとにずらすだけに留まらず,前フレームと現在フレームとでも互い違いにする。そして後処理では,チェッカーボードレンダリング技法で描画された映像フレームの4K変換に,この過去フレームと現在フレームの両方を用いる
画像集 No.019のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」

 勘のいい人は分かったのではないかと思う。
 視点(=カメラ)が静止している場合,前フレームと現在フレームの2フレームによる補間を経て出力される映像は,リアル4Kレンダリングを行った結果とほぼ同じになるのだ。
 カメラがゆっくり動いていたとしても,前述したように,前フレームのZバッファやIDバッファの内容に吟味した補間が行われるため,極めてリアル4K映像に近くなるだろう。

 実際,inFAMOUS First Lightで,ジオメトリレンダリング技法の結果とチェッカーボードレンダリング技法の結果を横に並べて比較させてもらったが,チェッカーボードレンダリング技法だと,キャラクターのエッジだけでなく,陰影処理の結果のハイライトやテクスチャ表現の解像度が格段に向上していた。看板に書かれた文字なども,まるで筆者の視力がよくなったかのように鮮明であった。

 また,技術セミナーでは,開発途上版「Days Gone」を用い,ネイティブ4Kレンダリングの結果とチェッカーボードレンダリング技法の結果を比較するデモを見せてもらうことができた。

Days Goneの4Kスクリーンショット
画像集 No.020のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」

 ネイティブ4KレンダリングはPS4 Proにとって重荷となるため,カメラを動かすと,フレームレートの違いで「どっちがどっち」の判別はつく。ただ,カメラを静止させた状態だと,その判別は極めて難しかった。
 厳正を期せば,コンピュートシェーダで実装したフィルタ処理によって,結果としてピクセル色が隣接するピクセルに若干散乱することになるため極めて微細な表現に着目することで,区別はできなくもない。また,半透明が絡んだ描画結果はフィルタ処理による誤差が大きくなる。
 ただ,本当に見比べなければ気がつかないレベルであり,チェッカーボードレンダリングで出力する4K映像は「ほぼネイティブ4K画質」と言っても問題はないレベルだと思う。


拡張型チェッカーボードレンダリング技法を考案済み!?


 Cerny氏は「ライセンシー開発者には,ジオメトリレンダリング技法やチェッカーボードレンダリング技法のリファレンスコードを提供します。平均的な(技術力を持つ)開発者であれば,ジオメトリレンダリング技法は数日で,チェッカーボードレンダリング技法は数週間でそのゲームに組み込むことが可能だと思います」と述べていた。

 9月のPS4 Proお披露目時点で出展となったPS4 Pro対応タイトルは14本。いずれも,あの時点では開発途中版という位置づけだったが,そのうち9タイトルがチェッカーボードレンダリング技法を採用しているそうだ。

Horizon Zero Dawnの4Kスクリーンショット
画像集 No.021のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
 具体的には,Days Goneのほか,「Call of Duty: Infinite Warfare」「Horizon Zero Dawn」「Rise of the Tomb Raider」が1920×2160ピクセル解像度のチェッカーボードレンダリング技法を採用しているとのこと。また,「Watch Dogs 2」「Killing Floor 2」「MASS EFFECT: ANDROMEDA」とinFAMOUS First Lightが1600×1800ピクセル解像度のチェッカーボードレンダリング技法を,「Deus Ex: Mankind Divided」では,負荷に応じて1920×2160ピクセル解像度と1600×1800ピクセル解像度を適宜切り換えるタイプのチェッカーボードレンダリング技法をそれぞれ採用するという。

 残るは5タイトルだが,そのうち「Uncharted 4」ではいくつかの技法を検討している段階とのこと。
 「Paragon」は,標準PS4だと1600×900ピクセルのネイティブレンダリングを採用しているので,PS4 Proではこれを1920×1080ピクセルのネイティブレンダリングを行ったうえで,ハードウェアスケーラで4K出力させている。「Middle-earth: Shadow of Mordor」もネイティブレンダリングだが,4K解像度比で80〜90%程度の可変解像度システムを実装しているそうだ。

 「Spider-Man」と「For Honor」は,元Naughty Dogで現Epic GamesのBrian Karis氏や,元NVIDIAで現AMDのTimothy Lottes氏らが開発した「チェッカーボードレンダリング技法をベースにした拡張技法」を採用している。
 どういうものかというと,レンダリング自体はチェッカーボードレンダリング技法を活用して行うが,前フレームの情報を基に4K映像を生成するにあたって参照する場所を変移させる(=ジッタリングさせる)手法を採用しているのだという。このほうが,“素”のチェッカーボードレンダリング技法よりも品質の高い映像が得られることが多いのだとか。

Color Sampleは色値の参照先。「Coverage Sample Location」はポリゴン被覆率判定位置で,「Pixel Boundary」はピクセル境界だ。チェッカーボードレンダリング自体がこのEQAAのハードウェアを積極活用している
画像集 No.023のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
 なお,このジッタリング参照でも,前述したEQAAの仕組みを応用する。
 たとえば,前フレーム参照のときにサンプリングするカラーサンプル(Color Sample)の位置を,フレーム・バイ・フレームで変移させる(=ジッタリングさせる)ということだ。
 この方法のほうが,固定位置よりも時間方向に対して広域にサンプリングすることになるので,時間方向のチラツキの低減にも貢献できるようである。


PS4 ProをフルHDテレビに接続しても,標準PS4の映像よりも高画質になる!?


画像集 No.022のサムネイル画像 / 西川善司の3DGE:知られざるPS4 Proの秘密(2)明らかになった「4Kレンダリングのレシピ」
 Cerny氏は「PS4 Proは,4Kテレビだけではなく,フルHDのテレビに出力しても,標準PS4よりも数段美しい映像が得られます」とも述べていた。

 以前筆者は,「PS4 Proは,PlayStation VRに出力したり,フルHD解像度のテレビに出力するときでも,フルHDよりも格段に高い高解像度でレンダリングし,これをスーパーサンプリングしてから出力する」とレポートしたことがあった(関連記事)。
 スーパーサンプリングを行う主体は,ディスプレイコントローラの一部であるハードウェアスケーラで,GPUが生成したバッファを参照して最終的にディスプレイ装置に映像を伝送する役割を果たすが,PS4 Proでは,そんなスーパーサンプリングのサンプル量がすごいのである。

 なんとこのハードウェアスケーラ,1ピクセルにつき,最大60ピクセルの情報を取ってきて加重平均を計算するフィルタリング処理を行うというのだ。しかも,これはピクセルシェーダではなくハードウェアべースであるがゆえ,ほぼレイテンシフリーというのだから,驚くほかない。

 ちなみにこのデモは,4K解像度版「KNACK」で見ることができた。
 片方はPS4 Proモードで実行するも,映像の接続先はフルHDテレビとしたもの,もう片方は標準PS4モードで実行してフルHDテレビに出力したものだったが,見比べると,その違いは3つのポイントで確認できたので,紹介しておこう。

 1つは,最も分かりやすい,美しいアンチエイリアシング効果だ。PS4 Proのほうが,輪郭のしっとりとしたアナログ表現で美しく,滑らかなのである。
 2つめは,カメラ(=視点)を動かしたときに目に付く,時間方向にピクセルがうねったり,消えたり出現したりしてちらつくピクセルシマー(Pixel Shimmer,「Pixel Crawling」とも言う)現象の少なさ。
 3つめは,ワイヤーや金網などといった細い線分表現で,PS4 Proではそれらが破線状にならず,しっかりと描画できていたところ。フルHD解像度レンダリングだとラスタライザがポリゴンのラスタライズをミスしてしまいそうなほどの微細なジオメトリまでも,PS4 Proは描けるのだ。

 これらの効果は,言うまでもないが,PlayStation VR(以下,PS VR)においても体験できる。PS4 ProとPS VRを組み合わせたときの“効能”はフレームレートの向上しかないと思われがちだが,その表示映像の品質の向上も期待できるのだ。


おわりに


 いかがだっただろうか。
 「ネイティブ4Kレンダリングを行えない」「疑似4Kだ」などと揶揄されることもあったPS4 Proだが,こうして見てくると,たとえそうであったとしても,ネイティブ4Kに相当近い映像体験が得られるのだということをイメージできるはずだ。
 フルHDテレビと接続しても,PS VRと組み合わせても,その高い性能を効果的に活用できることから,4Kテレビを持っていなくても,標準PS4から買い替えるのは,そう悪い選択肢ではないと思える。

 一般ゲームファンの多くはおそらく,「標準PS4で十分」という意見を持つことだろう。それでも今回の情報開示は,「PS4 Proの高性能が気になる」層には強く響いたはずで,PS4 Proの購入を悩む人の背中を,最後に一押しするものになったのではないだろうか。

SIEのPS4公式情報ページ

西川善司の3DGE:知られざるPS4 Proの秘密(1)メモリ増量に,Polarisと次世代GPUの機能取り込み!?

  • 関連タイトル:

    PS4本体

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
スペシャルコンテンツ
注目記事ランキング
集計:12月21日〜12月22日