ニュース

最大80億画素! ゲーム内で自由にスクショが撮れる「Ansel」のスゴさ

~GeForce GTX 650以降であれば利用可能

ゲーム中でAnselを起動したところ。本来空は飛べないゲームでも、Ansel利用時はこのように宙に浮いたアングルで“写真”が撮れる
Nick Stam氏

 NVIDIAは18日(日本時間)、都内でGeForce GTX 1080についての記者説明会を開催した。この中で、NVIDIAシニアディレクター・テクニカルマーケティング担当のNick Stam氏は、同社が開発したゲーム内において自由なアングルでスクリーンショットが撮れる「Ansel」についての詳細を明らかにした。

 GeForce GTX 1080とともに登場したこの機能は、本来ゲーム内で限定される1人称や3人称の視点の枠を超えて、自由なアングルや角度でスクリーンショットが撮影できる。Anselを起動するとゲームが一時停止し、AnselのUIがオーバーレイ表示される。そこでカメラの位置や視野角を決め、画面の表示解像度を超えた超高解像度、そしてさまざまなエフェクトをかけてから、スクリーンショットを撮る。

 このため、NVIDIAはAnselを「スクリーンショットを撮る機能」として位置付けせず、「ゲーム内で写真を撮る機能」だとした。Anselを利用して“写真”を撮影し、それをソーシャルや友達とともに共有することで、新しい“写真”のコミュニティが生成されることが期待される。このため、Anselを使って“写真”を撮った人も“フォトグラファー”と呼ぶ。

ゲームのスクリーンショットは今やアートの領域

 なおかつ、そのフォトグラファー達が編集しやすいように、カメラで言うところのRAW形式に相当するEXRというフォーマットで画像を保存できる。EXRがすごいのは、各チャネルごとに16bitまたは32bitの浮動小数点のデータを保持できる点。つまり、編集の自由度が非常に高い。例えばゲーム内の昼間に“写真”を撮ったとしても、後からの編集で、あたかも夜撮られたように露出などを変更できる(もっとも、光源などはやや不自然になるが)。または、明暗差が少ないHDR写真のようにも保存できる。どのような画像にするかはフォトグラファー達の自由なわけだ。

Anselが実現するさまざまなスクリーンショット機能
フリーカメラは基本的な機能の1つ
各チャネル16bit浮動小数点でキャプチャできるEXRフォーマット
後から露出を自由に変えられる

 もう1つユニークなのはポストプロセスシェーダーを適用してから“写真”が保存できる点。例えばセピア色やモノクロにしたりといった基本的なことから、周辺光量を下げる、色味を変えるといったことも可能。今流行の“Instagram”風なことができるわけだ。

 Anselがもう1つすごいのは、最大80億画素という“超解像度”で保存できる点。一般的に手に入るデジタルカメラは、高画素のものでも数千万ピクセルだと思うが、Anselはその100倍の画素数を達成する。加えて“写真”の画質を上げるため、自動的にディテールの詳細(Level of Detail)を、ゲームエンジンが持てる最大限にまで引き上げる。なおAnselの実際の設定は、ディスプレイ解像度の32倍までとなっているため、80億画素で撮影するためには4K解像度のディスプレイを使う必要があると見られる(この場合、約84億9,346万画素となる)。

 具体的にこれをどう実現しているのかと言うと、例えば32倍に設定した場合、視点を決めて撮影ボタンを押した後、1つの画面を32×32(1,024)に分割し、それぞれの部分にフォーカスして拡大した状態で(つまりズームした状態で)1,024枚“写真”を撮る。その後これらの分割された“写真”を貼り合わせて1枚の画像に仕上げる。これにより、壁一面に貼るような大型ポスターサイズへの印刷にも耐えうる解像度を実現できるという。

 これにより、360度画像の生成も可能だ。Anselで保存された360度画像は、NVIDIA独自のビューワソフトでVRヘッドセットに出力したり、スマートフォンのGセンサーを使って再生したり、Google Cardboardによって再生したりできる。

 複数枚の画像を貼り合わせる機能だが、CUDAベースのステッチャーが使われているという。輝度が異なる画像の問題を解決し、ポストプロセスによって、シングルパスで輝度を統一し、1枚の画像を生成する。ただし、現時点では最大45億ピクセル/3,600タイルまでしか対応していないとしており、先述の80億ピクセルはどうやって実現されるのか分からない。

 もっとも注意しなければならないのは“写真”の容量。例えば80億ピクセルの画像を生成した場合、24bit(8bit/RGB 3チャネル)+無圧縮の単純計算をしても23.7GBに達する。NVIDIAが公開している46,080×25,920ドット(約12億画素)のPNG形式の“写真”ですら、容量が1.7GBだ。このため、保存先の容量やI/Oの速度でかなり制限を受けることになる。

超高解像度の“写真”
最大45億ピクセルのイメージを貼り合わせられる。スライドは、25億ピクセルのソースを使い、38×8インチ(約1×0.2m)のポスターに出力できることを示した
CUDAベースのステッチャーが使われる
Anselに搭載されたポストプロセスのシェーダー
非常に多くのエフェクトを掛けることができる
360度写真も実現可能だ
冒頭のゲームの“写真”も超高解像度で撮影された。なのでここまで拡大しても鑑賞に耐える

 なお、AnselはSDKであり、ゲームとドライバの間に挟んで動作する。Anselを使うには当然ゲームソフトの対応が必要だ。現時点では7タイトルが対応予定で、「The Witcher 3: Wild Hunt」、「Fortnite」、「Paragon」、「Unreal Tournament」などが挙げられる。ただAnselの機能をゲームソフトに追加する場合でも、40行から150行程度のプログラムを追加するだけで対応可能であるとしてし、1日未満で実装できるとしている。

 また、AnselはPascal専用の機能ではないことも明らかになった。GeForce GTX 650以上のGPUであれば使用可能とされ、つまりGTX付きのKeplerまたはMaxwellで使えることになる。旧世代ビデオカードのユーザーにとっては、良いニュースだろう。

Anselはドライバとゲームの間に挟まれて動作する。利用するためにはゲーム側で実装する必要があるが、1日足らずで実装できるという。また、現時点ではDirectX 11ゲーム向けだが、実装自体はDirectXのバージョンにかかわらず実現できるという
現時点では7タイトルが対応予定
プロの“フォトグラファー”によって撮られた“写真”

 発表会ではそのほかの新機能についても触れられた。3Dレンダリングに関する基本的な改善点については、17日の記事を参照されたいが、そのほかの機能についてはまた稿を改めて紹介することにしたい。

(劉 尭)