The Road to Next Gen Ludens

PlayStation, PSVR, ゲームなど興味のあるモノコト。

The Road to PS5 「PS5への道程」 全文日本語訳 ~マーク・サーニー氏の技術解説講演~

f:id:keepitreal:20200328235956j:plain


ジムさん、ありがとうございます。

今年後半には、PlayStation5のゲームを見る機会がたくさんありますので、今日は、PlayStation5のハードウェアに対する私たちの目標と、それがゲーム機の開発にどのような影響を与えたかについて、少しお話したいと思います。

f:id:keepitreal:20200329131557j:plain

皆さんもご存知のように私は、ゲーム機とは、5年、6年、7年に一度、大幅に新しい機能を搭載して発売され、何世代にもわたって進化するものと信じています。

f:id:keepitreal:20200329000608j:plain

ゲーム開発者は多くのことを学ぶことになりますが、うまくいけば圧倒的になりすぎず、すぐに今までには作れなかったようなゲームが作られるようになります。

かつては、コンソールの設計者として、新しいゲーム機に最適な機能セットが何なのかを直観的にどうにか判断し、それを完全に秘密にして、ゲーム機をつくっていたものでした。

PlayStation3は、パワフルで画期的なゲーム機であると同時に、当初はゲームの開発が難しく、多くの人の悲嘆を招いたゲーム機でもありました。

そこで、PlayStation4からは、大まかに三つの原則を中心に、これまでとは異なるアプローチをとっています。 

f:id:keepitreal:20200329000647j:plain

f:id:keepitreal:20200329000828j:plain

第一に、開発者の声に耳を傾けることです。

つまり、私たちがゲーム機に入れたものの多くは、ゲーム制作者のニーズと願望から直接生まれているということです。

確かに独自のアイデアはいくつかありますが、ゲーム機を設計するための私たちの哲学の核心は、

「ゲームプレイヤーは素晴らしいゲームをプレイするためにここにいる」

ということです。

つまり、ゲームクリエイターの生活を楽にしたり、あるいは彼らの夢の実現のお手伝いをさせていただくことなど、私たちがゲームクリエイターのためにできることは何でもしたいのです。

ですから、2年に1回くらいは業界を見て回ります。

f:id:keepitreal:20200329001030j:plain

様々な開発者やパブリッシャーに会いに行き、現在のゲーム機の状況や将来のゲーム機に何を期待しているかなどを話し合うのですが、そのためには何週間もかかるのです。

多くのゲーム制作者にリーチするには、2ダースのパブリッシャーや開発者、100人以上の人たちと話をする必要があるため、数週間はかかります。

そして、それは信じられないほど価値があります。

ちなみに、開発者が最も求めていた機能はSSDでした。

私たちはハードウェア(SSD)を導入してとても満足しましたが、多くの問題解決が必要でした。この後、SSDとその周辺のシステムについて深く掘り下げていこうと思います。

ゲーム開発者に十分に親しまれているコンソールを維持しつつ、世代に沿った形にすることも鍵ですね。

私はこれを、「エボリューション(進化)とレボリューション(革命)のバランス」という観点から考えています。

PlayStation1、2、3ではその都度、新しい機能を搭載して、革命を起こすことを目標にしていました。

それは色々な意味で素晴らしいことだったのですが、開発者が準備をして、ゲームを走らせるまでにかかる時間は、それぞれのコンソールで長くなりました。

過去に私はこれを、time to triangle(編者注:画面に出力するまでにかかる時間)と呼んでいました。

3つのゲーム機ではこのようなものでした。

f:id:keepitreal:20200329001216j:plain

念のために言っておくと、私はゲーム開発者が野心的になるゲームを作るため、彼らのビジョンを実現するのに6年かそこらがかかる、などということを言っているのではありません。

グラフィックスやゲーム開発の他の側面における、準備段階のデッドタイム(無駄な時間)を最小化しようとしているのです。

一方、デッドタイムをゼロに減らそうとしている場合、つまりハードウェアアーキテクチャをまったく変更できない場合は、機能ごとに付加価値を判断し、サポートの必要な開発者の時間を増やす価値があるかどうかを判断する必要があります。

Playstation4では、パフォーマンスと親しみやすさのバランスをうまく取ることができ、PlayStation1のレベルに戻るために必要な知見を得ることができました。

f:id:keepitreal:20200329001524j:plain

PS5において、新機能の追加と、慣れ親しんだプログラミングモデルの維持との間で、最も緊張感を感じたのは、間違いなくGPUでした。

最終的には、開発者は1ヶ月もしないうちに、適切なバランスを取っていると習熟を感じられるものになったと思います。

今日は後ほど、GPUの哲学と、その結果として生まれた特定の機能セットについてもう少し詳しく説明したいと思います。

また、CPU性能やGPU性能、RAM容量以外の新しい夢を見つけることも、ハードウェアチームとしては非常に重要です。

f:id:keepitreal:20200329132329j:plain
過去20年間のグラフィック性能の向上は驚くべきものでしたが、ゲームクリエイターやプレーヤーに革新をもたらし、大きな価値を提供できる分野は他にもあります。

だからこそ、ゲーム開発者やパブリッシャーとの会話から何が出てきたかに関係なく、SSDは私たちが探求すべき方向のリストに非常に多く含まれていたのです。

このカテゴリーの最大の特徴は、今日の最終トピックである、オーディオのカスタムエンジンです。

f:id:keepitreal:20200329132529j:plain

大幅に改善されたオーディオ、特に3Ⅾオーディオの推進は、開発者とのミーティングから生まれたものではなく、むしろ、今から5年後に何が可能になるのかという夢を持っていて、それを実現するためにいくつかのステップを考え出したということです。

ここに再び、三原則があります。第一は、開発者の要望をハードウェア設計に反映させることでした。

私にとってSSDは、次世代への鍵となるものです。

f:id:keepitreal:20200329132656j:plain

それはゲームチェンジャーです。

また、PlayStation5への開発者からの要望の第1位は、

「おそらく不可能だと思うが、SSDを搭載できないか」

というものでした。

これは社内でも議論されていたことですが、すべてのPlayStation4にハードドライブが搭載され、Blu-rayディスクの読み込み速度では不可能だった多くのことが可能になったことが、良い影響を与えていることは明らかでした。

しかし、2015年と2016年に私たちがこのような会話をしていた時には、開発者は既にハードドライブの限界にぶつかっており、遅いロード速度の設計に、多くの開発者の時間が費やされていました。

ここで注目したいのは、1GBのデータをハードドライブからロードするのにかかる時間です。

f:id:keepitreal:20200329132926j:plain

難しいのは、ハードドライブは特別高速でもフレキシブルでもない、ということです。

すべてのデータが1つのブロックにまとめられている場合、ハードドライブのどこにデータがあるかにもよりますが、1秒間に50~100MB(メガバイト)のデータをロードできる可能性は、正直あまり高くありません。

データがハードディスク外側の端にあると仮定すると、1GB(ギガバイト)をロードするのに10秒かかることになります。

f:id:keepitreal:20200329133212j:plain

ゲームパッケージを圧縮すると、Blu-rayディスクにより多くのデータを収めることができ、圧縮率によってハードドライブの読み込み速度を効果的に向上させることができます。

f:id:keepitreal:20200329133337j:plain

PlayStation4ではZlib解凍機能がサポートされているため、ディスク上のデータ量が50%増加し、実効読み込み速度が50%向上します。

しかし残念なことに、データはハードドライブ上のファイルに分散している可能性が高く、ファイル内の複数の場所から取得されている可能性があります。

ですから、それぞれ2から50ミリ秒ごとに、大量のシークが必要になるわけです。

私の経験則では、ハードドライブはデータの検索に3分の2の時間を費やしており、実際にデータをロードしている時間は3分の1にすぎません。

これら全てをまとめると、1GBをハードドライブから読み込むのに、約20秒かかるわけです。

f:id:keepitreal:20200329133546j:plain

PlayStation4で5、6GBのRAMを使用している現在、1GBは多くのデータとは言えませんが、起動とロード時間が非常に重くなる場合があります。

またはプレーヤーがゲームが起動してゲームがロードされるのを待ち、死ぬたびにレベルが再ロードされるのを待ち、婉曲的に 「ファストトラベル」 と呼ばれるものを待ちます。

そしてそのすべてが、夢につながるのです。もし、単なるSSDではなく、目もくらむような速さのSSDを手に入れることができたら、1秒に5GBをロードすることができたら……何が変わるのでしょうか。

f:id:keepitreal:20200329133852j:plain

SSDはハードドライブとはまったく違います。そんなシークはありません。

1秒間に5GBのSSDを使っていれば、1,000カ所の異なる場所からデータを高速で読み取ることができます。

1GBのロード時間に関しては、これは次世代機の話をしているので、メモリが大きくなっています。代わりに、2GBをロードするのにどれくらいの時間がかかるのかを尋ねるべきです。

f:id:keepitreal:20200329134552j:plain

答えは約4分の1秒...…驚くべきことに2桁の減少を意味し、大体100倍速くなります。

つまりSSDが毎秒5GBの場合、ゲームは1秒で起動し、ロード画面はなく、ゲームは5分の1GBのロード中にフェードダウンし、再びフェードアップするという可能性があります。

リロードも同様で、死んだらすぐにアクションに戻ります。

そして、「ファストトラベル」は瞬きをしているのを見逃してしまうほどの速さになり、ゲームクリエイターは『Marvel's Spider-Man(スパイダーマン)』の地下鉄でファストトラベルがどれだけ時間がかかるのか、プレイヤーの気を逸らすように努めていますが、目に見えないほどの速さになっているので、その移行を遅くする必要があるかもしれません。

f:id:keepitreal:20200329174645j:plain

かなりかっこいい、でしょ?

でも私にとっては、これはハードドライブからSSDに変更する第一の理由ではないのです。

「超高速SSD」の第一の理由は、ゲームデザイナーに自由を与えることです。

言い換えれば、ハードドライブでは、1GBのロードにかかる20秒が、開発者が作成しようとしているゲームを妨害しています。

この部屋にいるほとんどの人が経験したことがあると思いますが、アドベンチャーゲームを作っていて、2つのリッチなゲームステージがあり、それぞれがメモリを埋めるのに十分なテクスチャとモデルが必要だとします。

f:id:keepitreal:20200329135054j:plain

長い階段やエレベーターに乗ったり、風の強い廊下があれば、古いアセットを捨てて新しいアセットをロードするための、30秒間程度を稼ぐことができます。

30秒のエレベーターに乗るのは少し極端ですが、もっと現実的には、世界をいくつかの小さなピースに分割して、『JAK II(ジャック×ダクスター2)』を作っていた時にヘブンシティでやったように、サイトライン(プレイヤー目線)と移動速度を計算して、と、20年前のゲームですが、それ以来あまり変わっていません。

f:id:keepitreal:20200329135218j:plain

すべての曲がりくねった通路には理由があります。

こういった作業に特化したレベルデザインのサブセット(編者注:ここではインターフェイス)はありますが、ゲームを作りたいだけのチームには大きな邪魔になってしまいます。

SSD の夢についてお話をした際、1秒間で5GBを目標にした理由の一つはロードをなくすことだと述べましたが、同時にSSDが非常に高速であり、プレイヤーが向きを変えている間にストリーミングを終わらせることも目標の一つでした。その一瞬で、プレイヤーの背後にあるすべてのテクスチャをロード可能なのです。

f:id:keepitreal:20200329135313j:plain

回転するのに半秒かかると考えると、4GBの圧縮データをロードすることができ、次世代のためには十分に思えます。

とにかく、ハードドライブの話に戻りますが、効果的な読み込み速度を上げるためのもう一つの戦略は、データを大きな連続したチャンク(塊)にすることです。

f:id:keepitreal:20200329135417j:plain

たとえば、すべてのデータを街の1ブロックごとにグループ化すると、シークのほとんどが削除され、ストリーミングは高速になりますが、頻繁に使用されるデータが多くのチャンクデータ中に含まれるため、ハードドライブに何個も複製されるという欠点もあります。

f:id:keepitreal:20200329135455j:plain

スパイダーマン』はこの戦略を使っていますが、ストリーミング速度を上げるには非常に効果的です。

メールボックスや新聞ラックのような数種類のオブジェクトは、ハードディスク上に何百と存在しています。

f:id:keepitreal:20200329135607j:plain

私がここで説明しているのは、クリエイティブ、あるいはディレクタースタイルのどちらかのレベルデザインが少しつまらなくなったり、データがいくつも複製されてBlu-rayディスクに収まらなくなったり、プレーヤーの走行速度やドライブ速度にハード制限がかかったり、プレーヤーがハードドライブからのロード速度より速く走れなくなったりすることです。

そして最後に、パッチをダウンロードした後、PlayStation4がパッチのインストールに時間がかかる場合があることに気付いている人も多いと思います。

f:id:keepitreal:20200329135734j:plain

これは、ファイルの一部だけが変更された場合、新しいデータはすぐダウンロードできても、ゲームが起動する前に、変更された部分を含む、新しいファイル全体を作成する必要があるためです。

f:id:keepitreal:20200329135752j:plain

そうでなければ、変更する度にシークが追加されてしまいます。

とはいえ、ゲームのメニュー画面にこの現象が見られることもあり、十分なパッチが適用されると問題が発生します。

SSDにシークは存在しないため、変更が組み込まれた新しいファイルを作成し直す必要はありません。

もう1つの利点は、システムメモリをより効率的に使用できることです。

f:id:keepitreal:20200329135924j:plain

PlayStation4では、ハードドライブ上のゲームデータは非常に遠く感じられ、使いづらいものでした。

データが必要だと気づいたときには、外に出てデータを読み込んでからでは手遅れなので、システムメモリには、30秒ほどのゲームプレイで使用できるデータをすべて格納しなければなりません。

つまり、8GBのシステムメモリの多くはアイドル状態で、潜在的に使用されるのを待っているだけなのです。

PlayStation5では、SSDはRAMのようなものです。

f:id:keepitreal:20200329140011j:plain

通常は、必要なデータをSSDからロードして使用するだけで、システムメモリに保存する大量のデータを使用する必要はありません。

別の言い方をすれば、RAMの大部分は、ゲームのために働いているということです。

これは、PlayStation5用の16GBのGDDR6という、SSDの存在によって世代間の大規模な(メモリの)サイズアップの必要性が軽減されている理由の1つです。

SSDの夢に戻りましょう。これが目標です。

f:id:keepitreal:20200329140244j:plain

すぐにゲームを起動できます。ロード画面はありません。

設計の自由度が高く、曲がりくねった通路や長い廊下はありません。

ディスクにより多くのゲーム、SSDにより多くのゲームが入ります。

そして最終的には、時間のかかるパッチのインストールがなくなります。

しかし現実には、SSDはパズルのピースの1つに過ぎず、SSDとデータを使用するゲームコードの間には、ボトルネック(制約、制限)が発生する可能性のある場所がたくさんあります。

f:id:keepitreal:20200329140359j:plain

これはPlayStation4で見られました。標準的なハードドライブの10倍の速度のSSDを使用した場合でも、ロード速度はおそらく、2倍にしかなりません。

PlayStation5の目標は、SSD自体を100倍高速化することだけではなく、ゲームのロードとストリーミングを100倍高速化することだったので、あらゆる潜在的ボトルネックに対処する必要がありました。

f:id:keepitreal:20200329140503j:plain

それはたくさんありました。

チェックインと、そのオーバーヘッドが100倍になった場合にどうなるかを見てみましょう。概念的に言えばチェックインは非常に単純なプロセスで、データがハードドライブやSSDからシステムメモリにロードされ、いくつかの値が検査され調整されてチェックインを確認した後、最終的な場所(メモリアドレス)に移動されます。

f:id:keepitreal:20200329140713j:plain

f:id:keepitreal:20200329140722j:plain

f:id:keepitreal:20200329140735j:plain

f:id:keepitreal:20200329140831j:plain

SSDの速度では、データ移動の最後の部分は、データをある場所から別の場所にコピーすることを意味し、おおよそ次世代CPUコア全体を必要とします。

そしてもし、全てのオーバーヘッドが100倍になり、プレーヤーが動いて大量のデータがSSDから流れ出し始めると、すぐにフレームレートが落ちてしまいます。これは氷山の一角に過ぎません。

この問題を解決するために、私たちは多くのカスタムハードウェアを、つまりカスタムしたフラッシュコントローラと、メインチップに搭載する多くのカスタムユニットを開発しました。

f:id:keepitreal:20200329141124j:plain

SSDのフラッシュコントローラは、スムーズでボトルネックのない動作を実現するように設計されていますが、ゲームを念頭に置いて設計されています。たとえば、SSDから読み込む際には6つの優先度があります。

優先度は非常に重要です。プレイヤーがゲームワールドの中で新しい場所に向かい、ゲームが数GBのテクスチャをリクエストし、それらのテクスチャがロードされている間に敵に撃たれ、いくつかの死に際の言葉を話さなければならない、という状況をイメージできます。

複数の優先度レベルを持つことで、死に際の音声を即座にロードできるのです。

フラッシュコントローラの一方の側はフラッシュダイに接続し、毎秒5GBの技術帯域幅の目標に到達するため、我々は最終的にストレージに12チャネルのインターフェイスを持たせました。8チャネルでは不十分です。

f:id:keepitreal:20200329141231j:plain

結果として得られた帯域幅は、実際には12チャネル・インターフェースで1秒間に5.5GBで、SSDの最も自然なサイズは825GBとなります。

[編者注:SSDはNANDフラッシュの並列処理で速度を稼ぐため、チャネル数が多いほど高速になります。各チャネルは同じ容量のモジュールを使うので、PS5の場合68.7GB、137.4GB、274.8GB等の選択肢があったはずです。PS5では68.7GB×12チャネル=825GB。それ以上は高コストと判断したと思われます]

私たちにとっての重要な質問は、これで十分なのかということでしたが、フラッシュメモリは決して安くはありません。私たちはゲームのオーディエンスに、コンソールに導入するものについてコスト効率を上げる責任があります。

最終的には、幅広い層のゲーマーのプレイパターンを調べることで、この問題を解決しました。

私たちは、彼らが週末や1週間、1ヶ月間にプレイしていた特定のゲームと、そのゲームのセットがSSDに適切に収まるかどうかを調べました。

再インストールやダウンロードの読み込みによる負荷が非常に低いことが確認できたため、825GBの容量を固定して確保しつつ、より多くのストレージを必要とするユーザーが追加できるように、複数の戦略を用意しています。詳細については後で説明します。

f:id:keepitreal:20200329142406j:plain

フラッシュコントローラに戻りましょう。一方はGen4 PCIeの4レーンを介してメインカスタムチップに接続されていて、メインカスタムチップの内部には、I/O(入出力回路)専用のかなり大きなユニットがあります。

その機能について説明する前に、圧縮について少し説明します。

PlayStation4ではZlibを圧縮フォーマットとして使用していたので、PlayStation5で再び使用することにしましたが、2017年の開発者ツアーでRAD GAME TOOLSから、Kraken(クラーケン)という新しいフォーマットについて知りました。

f:id:keepitreal:20200329142525j:plain

これはZlibのスマートさと似たような単純なアルゴリズムですが、圧縮率が約10%向上しています。これはかなり大きいことで、UHD Blu-rayディスクやSSDでのゲーム容量が10%増えることを意味します。

Krakenが登場してまだ1年しか経っていませんが、私が話をしたチームの半分が既に使っているか導入準備をしていて、すでに事実上の業界標準になっていました。

そこで私たちは苦労して、1秒間に5GB以上をクラックし、入力データをフォーマットできるカスタムのデコンプレッサ(編者注:圧縮データの解凍処理を行うハードウェア)を、I/Oユニットに組み込みました。

解凍後、通常は8~9GBになりますが、データの圧縮がうまくいけば、ユニット自体は毎秒22GBものデータを出力できます。

ところでパフォーマンスの観点から見ると、カスタムデコンプレッサは、Krakenストリームを従来のCPUで解凍するのに必要なZen2コアの9個分に相当します。

f:id:keepitreal:20200329142736j:plain

カスタムI/Oユニットにはさらに多くの機能が搭載されており、まず専用のDMAコントローラは、ゲームはSSDからのデータをどこに転送するかを正確に指示することができます。これはコピー性能の点で、さらにZen2コア1つ、または2つ分に相当します。

その主な目的は、ボトルネックとしてのチェックインを除去することです。

f:id:keepitreal:20200329142911j:plain

大規模なRAMプールには専用の2つのI/Oコプロセッサがあり、これらはコアの中に詰まっていて、主にそれらの周りの様々なカスタムハードウェアを指示するためにあります。

f:id:keepitreal:20200329142934j:plain

コプロセッサの1つはSSD I/O専用で、従来のファイルI/Oをバイパスすることができ、SSDから読み込む際のボトルネックを回避できます。

もう一つはメモリマッピングを担当します。これはSSDと無関係にも聞こえますが、多くの開発者がファイルI/Oの一部としてメモリのマッピングやリマップを行っており、これもボトルネックになる可能性があるためです。

コプロセッサを支援するコヒーレンシーエンジンがあります。おそらく最大のコヒーレンシー(編者注:同一データのメインメモリとキャッシュメモリ間の一貫性)の問題は、GPU キャッシュ内の古いデータです。

f:id:keepitreal:20200329143025j:plain

SSDが読み込まれるたびにすべてのGPUキャッシュをフラッシュ(編者注:データ削除)するというのは魅力的なオプションではなく、GPUのパフォーマンスを著しく低下させる可能性があります。

f:id:keepitreal:20200329143109j:plain

そこで私たちは、コヒーレンシーエンジンが上書きされたアドレス範囲をGPUに通知し、数十のGPUキャッシュ内のカスタムスクラバーがそのアドレス範囲をピンポイントで削除するという、より穏やかな方法を実装しました。

ゲーム開発者として最高なのは、SSDから読み出すときに、データが圧縮されているかどうかを知る必要がないことです。

元の圧縮されていないファイルからどのようなデータを読みたいのか、どこに置きたいのかを指定するだけで、ロードの全プロセスは、目に見えないほど高速に実行されます。

f:id:keepitreal:20200329143317j:plain

夢の話に戻りましょう。

私たちの毎秒5.5GB SSDPS4の100倍のI/O速度となり、ロード画面がなく、超高速ストリーミングという夢を現実のものにすることができます。

SSDの拡張性が非常に重要になるとはいえ、フラッシュはコストがかかるため、コンソールに何でもいいからストレージを追加したい、と思うかもしれません。

今、必要とするストレージの種類は、それをどのように使おうとしているかに依存します。

もし大規模なPlayStation4のライブラリを持っていて、それらのゲームをPlayStation5でプレイするために後方互換性を利用したい場合は、大容量の外付けハードドライブが理想的です。

f:id:keepitreal:20200329143535j:plain

ハードドライブにゲームを保存しておき、そこから直接プレイすることで、PlayStation5用のSSDストレージを節約したり、アクティブなPlayStation4用のゲームをSSDにコピーしたりできます。

ストレージを増設する目的がPlayStation5のタイトルをプレイすることであれば、SSDをストレージに追加するのが理想です。

私たちは、特定のM.2 SSDをサポートする予定です。

これらは、一般的なマーケットで入手でき、PlayStation5内のベイにインストールできる内蔵ドライブです。

私たちがどのようなものをサポートするのか、そしていつになるのかについては、すぐにわかるでしょう。

既設のSSDと同様に、カスタムI/Oユニットを介して接続します。

ですから、それらは私が話していたデコンプレッサ、I/Oコプロセッサやその他の機能をフルに活用することができます。

ただし、SSDのスピードに依存している我々のゲームがM.2で完璧に動作するためには、市販のドライブが少なくとも既設のSSDと同じくらい高速でなければなりません。

f:id:keepitreal:20200329143809j:plain

昨年の『Wired』のインタビューでは、PlayStation5のSSDは、PCで利用可能なものよりも高速だ、と言いました。

f:id:keepitreal:20200329143826j:plain

当時、市販のM.2ドライブはPCIe 3.0と4つのレーンを使用していて、毎秒3.5GBに制限されていました。

言い換えれば、PCIe 3.0ドライブは必要なスペックを満たすことはできません。

PCIe 4.0のM.2ドライブか、現在市場に出ているM.2ドライブのサンプルを見ると、毎秒4か5GBの転送速度が出ています。

f:id:keepitreal:20200329143927j:plain

今年の終わりまでには、PCIe 4.0は飽和状態になり、毎秒7GBをサポートするドライブが出てくるだろうと予想しています。

市販のM.2ドライブは独自のアーキテクチャ、独自のフラッシュコントローラなどを持っているので、私たちのものとリンゴとオレンジの比較(編者注:全く異なるものを言う慣用句)だと言えます。例えば、NVMeの仕様では、M.2ドライブが使用できるリクエストの優先度が規定されています。

f:id:keepitreal:20200329144438j:plain

このスキームは非常に優れていますが、実際にサポートされている優先度レベルは2つだけで、私たちのものは6つあります。2つの優先度レベルのみのドライブを接続することはできますが、M.2ドライブのフラッシュコントローラではなく、カスタムI/Oユニットが余分な優先度を調整する必要があります。そのため、M.2ドライブは、異なるアプローチから生じる問題に対処するために、少し余分なスピードを必要とします。

市販のドライブは、PlayStation5で、M.2ドライブ用ベイの内部に物理的に収まる必要もあります。

内蔵ハードドライブと違い、M.2ドライブの高さには規格がなく、その中には巨大なヒートシンクを持っているものもあり、中にはファンが付いているものもあります。

現時点では、年末のPlayStation5発売に向けて、ゲームのベータ版がリリースされた際に、ドライブサンプルを入手してさまざまな方法でベンチマークを実施しています。

また、特定のM.2ドライブのアーキテクチャが、ゲームを扱うにはあまりにも異質でないことを確認するために、互換性テストも行っています。

互換性テストが完了したら、どのドライブが物理的に適合するか、どのドライブサンプルがテストで適切に高いベンチマークを示したかお知らせできるようになるはずです。

発売までにそれが実現すれば素晴らしいのですが、もう少し先になりそうなので、私たちからアナウンスがあるまで、M.2ドライブの入手はお控えください。

 

さて、話を原則に戻します。

第二に、進化と革命の両立です。

f:id:keepitreal:20200329144545j:plain

これは、間違いなくGPUのテーマでもありました。

パフォーマンスを向上させるだけでは不十分な場合には、新しいGPU機能が必要です。

新世代のコンソールは、もちろんこれらの機能の多くがより高いパフォーマンスをもたらします。そのため、PlayStation5のTflops(編者注:テラフロップス 1秒間に浮動小数点演算が何回できるかの指標値)PlayStation4のTflopsよりも強力です。

しかし、私たちが求めているのは単にパフォーマンスだけではなく、GPUを使って、これまではできなかったことを行う能力です。

また、ワットあたりの性能を向上させる必要があり、GPUコンポーネントの性能を倍にするたび、消費電力と発熱が倍になることは望みません。

しかし同時に、GPUPS4ゲームを実行できることと、開発者が採用しやすいアーキテクチャであることを保証する必要があります。

f:id:keepitreal:20200329144806j:plain

現在、AMD後方互換性を巧みに処理しており、設計プロセス全体を通じて後方互換性を重要なニーズとして扱ってきました。

開発者の目から隠すことなく、新しい機能を追加するためのソリューションとして、新しい重要な機能があれば、それを使用するかどうかを選択可能としました。

GPUレイトレーシングをサポートしていますが、ゲームを作成するためにレイトレーシングを使用する必要はありません。

GPUはプリミティブシェーダをサポートしていますが、それらを使用せずにPlayStation5で最初のゲームをリリースすることができます。

GPUの機能について説明する前に、非常にわかりにくい2つの点を明確にしておきたいと思います。

f:id:keepitreal:20200329144917j:plain

まず、RDNA2テクノロジーをベースにしたカスタムAMD GPUがあります。これは、AMDがRDNA2向けのテクノロジーを継続的に改善し、改訂していることを意味します。

大まかに言えば、GPUを設計することで消費電力を削減し、GPUを最適化してパフォーマンスを向上させ、より高度な機能セットを新たに追加することで、必要な場所に近いところにデータを配置していました。

しかし、私たちの機能セットは柔軟性が豊かでした、つまりPlayStationには独自のニーズがあって、それがAMDのロードマップに反映される可能性があるのです。

そこでコラボレーションが生まれました。

広く役立つと思われるコンセプトをAMDに持ち込めば、それがRDNAに採用される可能性があり、PC GPUを含め、広く使用することができるようになります。

私が話していたGPUキャッシュスクラバーのように、私たちが達成しようとしていることに対して十分に具体的なアイデアであれば、それらは最終的に私たちのためだけのものです。

コンソールの発売とほぼ同時期に、同じようなディスクリートGPU(編者注:単体のグラフィックカード)PCカードとして発売されるとしたら、それはAMDとのコラボレーションが成功したことを意味します。

両方の世界で役立つ技術を生み出すということは、私たちSonyが、単にPCのパーツをコンソールに組み込むということではないのです。

f:id:keepitreal:20200329145127j:plain

AMD技術のこの継続的な改善は、性能の絶対的な指標としてTflopsに頼るのは危険だということを意味しています。

また、数値をカウントすることも回避してください。

CPUの場合、PlayStation4とPlayStation5にはそれぞれ8個のCPUが搭載されていることは誰もが理解していますが、その能力とパフォーマンスも同等であるとは誰も思いません。

新しい機能を追加するということは、多くのトランジスタを追加することを意味します。

実際、PlayStation5のCU(Compute Unit)のトランジスタ数は、PlayStation4のCUのトランジスタ数よりも62%多いのです。

第2に、PlayStation5とGPUは、PlayStation4と後方(下位)互換性があります。

それは何を意味するのでしょうか。

f:id:keepitreal:20200329145259j:plain

後方互換性を実現する方法は、PlayStation3の一部と同じように、以前のコンソールチップセットを新しいコンソールに搭載することです。

しかし、それはもちろん非常に高価です。

より良い方法は、以前のコンソールのロジックの違いを、新しいコンソールのカスタムチップに組み込むことです。

f:id:keepitreal:20200329145326j:plain

つまり、技術が進化しても、PlayStation4PlayStation4 Proのゲームが依存しているロジックや機能セットは、後方互換モードで利用できる、ということです。

この戦略の利点の1つは、後方互換性があれば、そのゲーム機で今まで通りプレイ出来るということです。

コストを削減することで、PlayStation3のように後方互換性が排除されるのではないかと思われるかもしれませんが、この機能の統合を実現するには、ロードマップとしてAMDによる何年もの努力が必要でした。進歩はロジックの相違を生む可能性があります。

PS4PS4のタイトルを、ブーストされた周波数で動かすことは複雑さを増しています。今回のブーストは本当に大規模であり、ゲームコードによっては処理できないものもあるので、タイトル毎にテストする必要があります。

プレイ時間でランク付けしたPlayStation4上位100タイトルで調査したところ、結果は素晴らしいものであり、ほぼすべてのタイトルが、PlayStation5の発売時においてプレイ可能になると予想しています。

新しい機能については、先ほど申し上げたように、私たちの戦略は新しい分野を開拓すると同時に、新しいGPUの能力を必要としないようにすることでした。

f:id:keepitreal:20200329145549j:plain

10年以上の間、GPUゲームエンジンに制限を課してきました。

ソフトウェアは頂点処理を行いますが、ほとんどの場合、三角形や頂点が形成するその他のジオメトリを処理する、専用のハードウェアが使用されています。

つまり、頂点を使用する全てのジオメトリが画面に表示されていない場合には、頂点処理を中止するなどの基本的な最適化すらできないということです。

f:id:keepitreal:20200329145800j:plain

PlayStation5にはジオメトリエンジンと呼ばれる新しいユニットがあり、三角形やその他のプリミティブの処理を完全なプログラム制御下に置くことができます。

ゲーム開発者は、ジオメトリエンジンの存在を無視して、PlayStation5 GPUPS4 GPUと同等の能力だけのように扱ったり、この新しいインテリジェンスをさまざまな方法で利用したりすることができます。

単純な用途としては、背面または画面外の頂点や三角形を削除するなどのパフォーマンス最適化があります。

f:id:keepitreal:20200329145846j:plain

より複雑な用途としては、プリミティブシェーダと呼ばれるものがあります。これを使用すると、レンダリング中にジオメトリをその場で合成できます。

これはまったく新しい機能です。

PlayStation5でプリミティブシェーダを使用することで、ディテールのレベルをスムーズに変化させることができ、オブジェクトをクローズアップするためのプロシージャル(編者注:ここでは、用意されたデータから自動生成する手法を指す)なディテールの追加や、パーティクル効果やその他の視覚的な特殊効果の改善など、幅広いテクニックを可能にします。

カスタムRDNA2ベースGPUのもう1つの主な新機能は、レイトレーシング(光線追跡法)です。

f:id:keepitreal:20200329150003j:plain

AMDの次期PC GPUと、同じ戦略を採用しています。

CUはインターセクション(交差)エンジンと呼ばれる新しい専用ユニットを持っていて、光線と、ボックスや三角形との交差を計算できます。

交差エンジンを使用するには、まずアクセラレーション構造と呼ばれるものを構築します。

f:id:keepitreal:20200329150107j:plain

これは、すべてのジオメトリを含むRAMのデータです。

同じ BVH(編者注: Bounding Volume Hierarchy 階層型のデータ構造)のコンセプトに基づいて、特定のフォーマットのセットがあり、それらのバリエーションを使用できます。次に、シェーダプログラムの中で新しい命令を使用して、 交差エンジンに配列をBVHと照合するように要求します。

交差エンジンが要求されたレイ(光線)-三角形間またはレイ-ボックス間の交差判定をしている間、シェーダは他の作業を自由に行うことができます。

f:id:keepitreal:20200329150213j:plain

しかしレイトレース命令はメモリを大量に消費するので、重いロジックのコードとの組み合わせが適しています。

もちろん、PS4のグラフィックエンジンはPlayStation5でも問題なく動作しますが、レイトレーシングを使用する必要はありません。

しかし、興味のある人にはチャンスです。

オーディオに大きな影響を与えるには、1秒あたり100万レイ未満が必要で、オーディオのオクルージョンやいくつかのリバーブ計算には十分でしょう。

GPUをもう少しレイトレーシングに投資すれば、非常に素晴らしいグローバルイルミネーションが可能になるはずです。

従来のグラフィックスエンジンにレイトレースされたシャドウと反射を追加すると、1秒間に何億かのレイが必要で、完全なレイトレーシングには数十億のレイが必要になります。

どこまでできるかというと、かなり強気になり始めています。すでにPlayStation5のタイトルでは、複雑なアニメーションシーンで、レイトレーシングベースの反射をわずかなコストで成功させています。

f:id:keepitreal:20200329151011j:plain

GPUのもう一つの問題は、サイズと周波数です。

GPUをどのくらいの大きさにして、どのくらいの周波数で動かすか。

これは、チップにはコストがかかり、チップに電力を供給したり冷却したりするために使用するものにもコストがかかります。

一般的に、私はGPUをより高い周波数で動作させたいと考えています。その理由をお見せしましょう。

f:id:keepitreal:20200329151024j:plain

PlayStation4 Proとほぼ同じレベルのGPUの構成を2つ紹介します。

これは思考実験ですから、構成をあまり真面目に考えないでください。

Tflopsの計算では、同じ数字になります。

しかし実際には、TflopsはベクトルALU(演算装置)の計算能力として定義されているので、性能は著しく異なっています。

これはGPUの一部にすぎませんが、他にもたくさんのユニットがあります。

GPUの周波数が33%高くなると、ラスタライズの処理が33%速くなり、コマンドバッファの処理が大幅に速くなり、L2やその他のキャッシュの帯域幅も大幅に向上するなど、より高速に動作します。

唯一の欠点は、システムメモリがサイクルの点で33%離れていることです。しかし、多くのメリットはそれを相殺する以上のものです。

私の友人が言うように、上げ潮はすべてのボートを持ち上げるわけです。

また、三角形が小さいとき、48CUをフルに使用するよりも、36CUを並列でフルに使用する方が簡単です。CUを有用な作業で埋めるのがはるかに難しいのです。

ですから、結果として発生する電力と熱の問題を処理できれば、もっと高速になると言えることはたくさんありますが、率直に言って、Javaシミュレーションは常にベストなものではありません。

その理由の一部は、歴史的にCPUとGPUの周波数を設定するプロセスが、ゲームがどれだけ電力を消費するか、そしてコンソール内部で熱量がどれだけ発生するかについての推測に依存してきたからです。

f:id:keepitreal:20200329152006j:plain

消費電力は、ゲームによって大きく異なります。

PS4 Proで『God of War(ゴッド・オブ・ウォー)』をプレイしていると、ファンの音だけで消費電力が高いことがわかります。

しかし、消費電力は単純にエンジンの性能だけではありません。

何を、どのように表示しているかという細かい部分が重要なのです。

直感に反するかもしれませんが、密度の高いジオメトリを処理する方が、単純なジオメトリを処理するよりも消費電力が少ない。『Horizon: Zero Dawn(ホライゾン:ゼロ ドーン)』のマップ画面の三角形の数が少ないために、PS4 Proが非常に熱くなるのではないかと思います。

従来のコンソールでのプロセスは、コンソールの寿命が尽きるまでの間に消費される最大消費電力は何かを推測し、最悪のゲームでの最悪のケースを想定して、その電力レベルでは静かになると思われる冷却ソリューションを用意してきました。

f:id:keepitreal:20200329152122j:plain

正しく設定すれば、ファンのノイズは最小限に抑えられます。それを間違えれば、高出力のゲームではコンソールはかなり大きな音になり、また消費電力の見積もりを間違えるとオーバーヒートしてシャットダウンする可能性もあります。

特にPlayStation5は、CPUが256ビットのネイティブ命令をサポートしているため、消費電力が大きいのが難点です。

これらの命令はあちこちで使用されていますが、おそらく最低限しか使用されていないでしょうし、256ビット命令を大量に使用する場合は、CPUクロックを大幅に低く設定するか、電源とファンのサイズを大幅に大きくする必要があります。

いろいろ議論した結果、PlayStation5では、まったく違う方向に進むことにしました。

f:id:keepitreal:20200329152923j:plain

私たちは36CUのGPUを作りましたが、RDNA2のCUは大きく、トランジスタ数はPlayStation4で使っていたものより62%多くなりました。

トランジスタ数を比較すると、36個のRDNA2 CUは、PlayStation4の約58CUに相当します。

f:id:keepitreal:20200329152909j:plain

かなり大きなGPUです。

それから、PlayStation5に可変周波数戦略を採用しました。

f:id:keepitreal:20200329153003j:plain

GPUとCPUを、ブーストモードで連続的に実行します。

たっぷりと電力を供給し、システムの冷却ソリューションの能力に達するまでGPUとCPUの周波数を上げます。

これは、一定の周波数で動作し、ワークロード(編者注:リソースの使用状況、仕事量)に応じて電力を変化させるのではなく、基本的に一定の電力で動作して、ワークロードに応じて周波数帯域を変化させるという、全く異なるパラダイムです。

次に、特定の電力レベル向けに設計された、コスト・パフォーマンスに優れた高パフォーマンスの冷却ソリューションというエンジニアリングの課題に取り組みました。

ある意味では、最悪の場合の消費電力を推測する必要がないため、問題はよりシンプルになりました。

冷却ソリューションの詳細については、「ティアダウン(編者注:分析的に分解してみせること)」するときのために取って置いていますが、エンジニアリングチームが考案したものに満足いただけると思います。

この戦略では、GPUとCPUをどのくらいの速度で動かせるのでしょうか。

最も単純なアプローチは、シリコンダイの実際の温度を見て、それに基づいて周波数を絞ることです。

しかし、それでは一貫した「PlayStation5の体験」が得られませんし、高温の部屋にあるからといってゲーム機の動作を遅くしても意味がありません。

そこで、シリコンダイの実際の温度を見るのではなく、GPUとCPUが実行中のアクティビティを見て、それに基づき周波数を設定することで、すべてが決定論的かつ反復可能にします。

f:id:keepitreal:20200329165754j:plain

また、AMDの 「Smart Shift Technology」 を使用して、CPUからGPUに未使用の電力を送ることで、さらに数ピクセルを絞り出せるのです。

f:id:keepitreal:20200329165820j:plain

この戦略の利点は非常に大きい。

GPUを2GHzで動かすことは、従来の固定周波数戦略では到達不可能な目標に見えました。

この新しいパラダイムでは、GPU周波数を2.23GHzに制限し、オンチップのロジックが適切に動作することを保証する必要があります。

f:id:keepitreal:20200329170015j:plain

2.23GHzで36CUを動作させると10.3Tflopsとなります。GPUはこの周波数と性能で、またはそれに近い状態で、稼働時間のうちのほとんどを過ごすことになるでしょう。

同様に、CPUを3GHzで動作させることは、以前の方法では頭痛の種でした。しかし今では3.5GHzまで上げることができます。

f:id:keepitreal:20200329170027j:plain

実際、CPUはほとんどの時間、その周波数で動いています。

これは、すべてのゲームが3.5GHzと2.23GHzで動作するという意味ではなく、最悪のケースのゲームが来たときにはクロック速度を下げて動作します。しかし電力を10%削減するためにはそれほど低くする必要はなく、周波数が数%下がるだけです。

ですから、ダウンクロックは、かなりマイナーなケースになると思います。

可変周波数方式への変更を考慮すると、PlayStationゲーマーにとっては大きなメリットになるでしょう。

 

三つの原則の最後は、新しい夢を見つけることです。

f:id:keepitreal:20200329170511j:plain

ハードウェアチームにとって、ゲームを拡張または深化させる新しい方法を見つけることが重要であり、それが3Dオーディオに焦点を当てることにつながりました。

プレイヤーは、ビジュアルを通して、オーディオを通して、またランブル(振動)やハプティクス(触力覚)などコントローラーからのフィードバックによって、ゲームを体験します。

個人的には、オーディオがなければゲームは死んでいるような気がします。

ビジュアルはもちろん重要ですが、オーディオのインパクトもとても大きい。

同時に、ゲームプロジェクトのオーディオチームは、少しのことで多くのことをしなければなりません。

たとえばPlayStation4では、Jaguar CPUコアをめぐる激しい奪い合いが繰り広げられ、オーディオはコアのほんの一部しか取得できませんでした。

映像は1秒間に30から60フレームで動作しますが、オーディオ処理は1秒間にほぼ200回近く実行する必要があるのです。

特にPlayStation3がオーディオに関しては、かなりの"ビースト"だったので、PlayStation4でオーディオを前進させるのは大変でした。

f:id:keepitreal:20200329170623j:plain

SPUとCellは、オーディオのレンダリングにはほぼ完璧なデバイスでした。

シンプルなパイプラインアルゴリズムで非同期DMAを利用することができ、浮動小数点演算ユニットを100%利用することができました。

残念ながら、PlayStation4にはこれに匹敵するものは何もありません。

おそらく、PlayStation4世代で最も劇的な進歩を遂げたのはバーチャルリアリティであり、PSVRハードには独自のオーディオユニットが搭載されています。

f:id:keepitreal:20200329170705j:plain

これは、約50のとても素晴らしい3D音源をサポートしました。貴重な経験というだけでなく、私たちがオーディオでどう進むことができるのか、ヒントを提供してくれたのです。

純化しすぎてはいけませんが、私たちがPlayStation5で目指したオーディオのゴールは次の通りです。

f:id:keepitreal:20200329170858j:plain

最初の目標は、すべての人に素晴らしいオーディオを提供することでした。

VRユーザーやサウンドバーをお持ちの方、ヘッドフォンをお使いの方だけではなく。

つまり、オーディオはゲーム機の一部でなければならず、周辺機器であってはならないということです。

f:id:keepitreal:20200329170931j:plain

第二の目標は、何百もの音源をサポートすることでした。開発者が3D効果が得られるサウンドと得られないサウンドを選択する必要はなく、ゲーム内のすべてのサウンドに次元性を持たせることでした。

そして最後に、プレゼンス(実在感)とローカリティ(定位感、局所性)にも挑戦したいと考えました。

f:id:keepitreal:20200329171000j:plain

ここで言う「プレゼンス」とは、実際にそこにいて、『マトリックス』の中に入ったような感覚のことです。

もちろん、完璧に実現できるとは思っていませんでしたが、ただの「雨音」を使うのを止め、3D音源をたくさん使って周囲のあらゆる場所に「雨粒」が落ちるようにすれば、ある時点であなたの脳が飛躍して、この(プレゼンスという)感覚を持つようになる、と考えたのです。

f:id:keepitreal:20200329171045j:plain

ゲームの仮想世界の中でのリアルな存在感。

これは、ゲームの中の音楽がそうであるように、ゲームの評価に影響を与える能力を持っています。

ローカリティの概念はもっとシンプルで、音がどこから来ているのかを感じることです。あなたの右から、あなたの後ろから、頭上から。ゲームにさらに没頭できますし、また、ゲームプレーを直接的に向上させることができます。

Dead Space(デッドスペース)』を例に挙げましょうーーええ、昔のゲームですがーーかなり暗い不気味な場所で敵と戦っていました。

f:id:keepitreal:20200329171134j:plain

昔はテレビのスピーカーを使ってゲームをプレイしていて、最後に一人の敵がうなり声をあげて追い詰めてくるのがわかりましたが、その敵がどこにいるのかはなかなかわかりませんでした。

ヘッドフォンを使うと、敵が右側のどこかにいることがわかるので、敵が見えなくても、自分の後ろか、右側のどこかにいるのではないかと推測することができます。

しかし、3Dオーディオのローカリティ(局所性)が優れていれば、敵が正確に「そこ」にいることが分かるので、振り向いて敵を倒すことができます。

では、そもそも音がどこから聞こえているのか、どうやって分かるのでしょうか。

耳の中の凹凸やひだは、進化的に言えば、音がどの方向から来ているかに基づいて意味を持っています。

いくつかの建設的な干渉と破壊的な干渉があり、結果として音量が変化します。

音の位相もまた、音波がどのような経路をたどって外耳道に到達したかによって変化します。

これらの音量の変化や位相の変化は、それぞれの方向によって異なり、また音の周波数によっても異なります。

頭の大きさや頭の形も、同じように音に影響を与えます。

方向と周波数に基づいて音がどのように変化するかは、頭部伝達関数(Head-Related Transfer Function)またはHRTFと呼ばれるテーブルにエンコードすることができます。

f:id:keepitreal:20200329171507j:plain

これはその一例です。

縦軸は周波数、横軸は方向を表し、色はその周波数での音の減衰の度合いを表しています。

HRTFは指紋と同じくらい個人に特有のものであり、実際に今、見ているものは私のものです。

ここでは、何百人もの人にこのプロセスを経験してもらったHRTFの測定方法を紹介します。

f:id:keepitreal:20200329171603j:plain

f:id:keepitreal:20200329171626j:plain

f:id:keepitreal:20200329171644j:plain

我々は、被験者の左右の外耳道にマイクを入れて、22個のスピーカーの真ん中に被験者を座らせます。

その後、被験者を回転させながら、各スピーカーからスイープ信号を再生します。

10分から20分で、1,000箇所以上のHRTFをサンプリングすることができます。

f:id:keepitreal:20200329171707j:plain

オーディオのレンダリングにHRTFを使用すると比類のない品質が得られますが、計算コストがかかります。

HRTFを使用する最も簡単な方法は、音源を処理して、あたかもそれが1,000箇所以上のサンプリングした場所から来ているかのように見せることです。

残念ながら、処理は時間領域ではなく周波数領域で行わなければならないため、すべての音源に対して複数の高速フーリエ変換が必要になります。

これは非常に多くの掛け算です。

この計算の複雑さが、私たちがぐっとこらえて3Dオーディオ用のカスタムハードウェアユニットを設計、構築する戦略をとった決定的要因でした。

このハードウェアユニットと、その上で実行される独自のアルゴリズムを総称して、"Tempest 3D AudioTech" 「テンペスト 3Dオーディオ技術」と呼んでいます。

f:id:keepitreal:20200329171913j:plain

3Dオーディオとテクノロジーの意味は、ここでかなり明白になるはずです。

テンペスト(嵐)」とは、オーディオに関する私たちの目標を本当に反映しているように感じます。それは、特定の強い体験を示唆すること、そしてその中で得られるプレゼンスを暗示しています。

私たちが構築したハードウェアユニットを"Tempest Engine"「テンペストエンジン」と呼んでいます。

これはAMDGPUテクノロジーをベースにしていて、PlayStation3のSPUに非常に近い形で演算ユニットを改良しました。

f:id:keepitreal:20200329172205j:plain

オーディオに最適だと言ったのを思い出してください、テンペストエンジンはSPUのようにキャッシュを持ちません。すべてのデータアクセスは、SPUのようにDMAを介して行われます。

私たちの目標は、GPUが達成できる並列性のおかげでCPUよりもパワーがあり、SPUのようなアーキテクチャのおかげでGPUよりも効率的になる、ということでした。

目標は、CUのベクトルユニットをほぼ100%利用できるようにすることです。

最終的には、PlayStation4の8個のJaguarコアすべての合計とほぼ同じSIMD(編者注: 命令の並列処理)のパワーと帯域幅を持つユニットになりました。

PSVRと同じアルゴリズムを使うなら、5,000個の音源に十分なものです。

しかし、もちろんもっと複雑なアルゴリズムを使いたいと思っていますし、そのような数の音源は必要ありません。

f:id:keepitreal:20200329172304j:plain

Dolby Atmosの周辺機器を使用するなど、よりシンプルな戦略で目標を達成できたならば素晴らしいのですが、私たちは、ライセンスを受けたサウンドバー等を使用している人だけでなく、すべての人に3Dオーディオを提供したいと考えていました。

また、サポートされている32の音源だけでなく、数百の音源が欲しかったのです。最終的には問題に対して、圧倒的な処理能力を投入できるようにしたかったのですが、Dolby Atmosにどんな周辺機器が含まれているのか詳らかではありませんでした。

f:id:keepitreal:20200329172510j:plain

実際、テンペストエンジンには、コンボリューションリバーブや、計算コストが高いか高帯域幅を必要とするその他のアルゴリズムの分をゲームで利用したい場合には、ゲームに割り当てることができるほど十分なパワーさえあります。

しかし、テンペストエンジンの主な目的は3Dオーディオであることに変わりはありません。

現在、3Dオーディオは主要な学術的研究テーマであり、世界中の誰も、すべてに答えを持っているとは言えません。

そして、3Dオーディオのビジョンを実現するためには、調整したり実装したりしなければならないアルゴリズムのセットは膨大なものになります。

例えば、ゲームでのHRTFの使用は、音源をあたかも何千ものHRTFサンプルから来ているかのように見せるという話を前にして、非常に複雑です。

しかし、高品質の3Dゲームオーディオを実現するためには、他の可能性も考慮しなければなりません。

音源が1,000個のHRTFサンプルロケーション(編者注:予めサンプル採取されている場所のHRTFデータ)のどれかにあるとは限らないので、サンプリングした最も近いロケーションからのHRTFデータをブレンドしなければなりません。

f:id:keepitreal:20200329172600j:plain

音源が移動している可能性があります。ブレンドは変化し続け、結果のオーディオにフェーズアーティファクト(編者注: 意図しない音量低下)を引き起こす可能性があるため、非常に特別な処理が必要です。

または、音源がそれに応じたサイズを持っている可能性があります。つまり、音源が単一の点ではなく、領域からのものであるかのように感じる必要があります。

また、3D音源の個別処理を使用して、3Dオーディオを扱うアプローチの全カテゴリが実装可能ですが、3Dオーディオにはアンビソニックスを使用することもできます。

f:id:keepitreal:20200329172722j:plain

アンビソニックスは、コンピュータグラフィックスで使われる球面調和関数のようなものです。

最後にオーディオデバイスですが、プレーヤーは、ヘッドフォンやテレビのスピーカーを使用しているかもしれませんし、6つ以上のスピーカーを使用して、ハイエンドのサラウンドサウンドを構築しているかもしれません。様々なアプローチがあります。

f:id:keepitreal:20200329172748j:plain

たくさんのバリエーションがありますね。

テンペストエンジンの計算リソースを利用できるのはありがたいことですが、3Dオーディオで私たちの究極の目標を達成するためには、何年もかけて段階的に進める必要があることは明らかです。

とはいえ、現時点ではヘッドフォンオーディオの実装はほぼ完了しています。

f:id:keepitreal:20200329172853j:plain

耳から聞くものを正確に制御するヘッドフォンから始めるのは自然なことでした。そのため、アルゴリズムの開発と実装はより簡単です。

テレビスピーカーとステレオスピーカーについては、バーチャルサラウンドサウンドの実装を進めています。

このアイデアは、テレビの前に座っているときに、音が背後からでもどの方向からでも聞こえているように感じられるというものです。

f:id:keepitreal:20200329172950j:plain

バーチャルサラウンドサウンドは、ヘッドフォンの3Dオーディオと多くの共通点がありますが、左耳には右のスピーカーが聞こえ、逆に左耳には右のスピーカーが聞こえるため、より複雑です。

バーチャルサラウンドの基本的な実装は完了していますが、今はスイートスポットのサイズを大きくして、3D効果を感じるエリアを拡大することを検討しています。

また、ローカリティ(局所性)の感覚を高めるように取り組んでいます。

ヘッドフォンオーディオはPlayStation5の3Dオーディオのゴールドスタンダードとなっていますが、バーチャルサラウンドサウンドも同様のレベルにするためにはどうすればよいかを見ていきたいと思います。

その後、6チャネルサラウンドなどの、より多くのスピーカーを備えたセットアップに取りかかります。

f:id:keepitreal:20200329173052j:plain

現在開発中のPlayStation5ゲームのいくつかでは、これらのシステムを幅広く使用していますが、ゲームのデモでは、従来のPlayStation4スタイルのステレオオーディオと新しい3Dオーディオを切り替えることができます。

一般的なオーバーイヤー・ヘッドフォンで聴いてみて、はっきり違いが感じられました。

3Dオーディオは、従来のステレオオーディオに比べて立体感があり、比較すると改善が明白です。

大きな進歩ですが、私はマトリックスに入ってしまったか、「プレゼンス」の目標を説明したとき話していたように、私が本当にそこにいると脳は信じたのでしょうか?

答えはノーです...何が欠けているのか理解しているはずです、つまり誰のHRTFが 使われていたのか?

私のものでなく、デフォルトのHRTFでした。

オーディオチームは測定した何百ものデータを分析し、ゲームをプレイしているオーディエンス総体に最も近いと感じたものを選択しました。

f:id:keepitreal:20200329173226j:plain

これは、左側がデフォルトのHRTFの一部で、右側が私のHRTFです。

一般的な機能はほとんど同じですが、細部はかなり異なります。

デフォルトのHRTFを使えば3Dオーディオはかなり素晴らしいサウンドになりますが、私自身のHRTFを使用すると、オーディオはより高いリアリズムに達します。

つまり、ヘッドフォンとHRTFを使用しているとき、時々だまされて、実際にはゲームから音が出ているのに、現実の世界から音が出ているとさえ思うことがあります。

f:id:keepitreal:20200329173443j:plain

当然の帰結として、自身のHRTFがデフォルトのHRTF(赤い点で示しています)から大きく離れている人が数人います。つまり、PS4スタイルからPS5スタイルのオーディオに切り替えても、あまり違いを感じないわけです。

私は何人かの人に、PlayStation5の3Dオーディオが「少し良いステレオオーディオ」のように聞こえると説明してもらいましたが、おそらく彼らはこの図の一番端にいる人たちだと思います。

つまり、使用しているHRTFが重要です。

私が体験していることを皆さんにも体験していただきたいのですが、すべてのPlayStationユーザーのHRTFを測定することは不可能です。

つまり、テンペストテクノロジーが成熟していくにつれてHRTFの選択と合成が今後の大きなトピックになっていくことを意味します。

PlayStation5の発売時には5種類のHRTFを用意しており、そこからベストな「ローカリティ」を得られるものを選ぶ、簡単なテストがあります。

これはオープンエンドの研究トピックですが、最初のステップにすぎません。

耳の写真を送ってくれたら、私たちはニューラルネットワークを選択して、ライブラリの中から最も近いHRTFを選ぶでしょう。

耳と頭のビデオを送ってくれたら、それを3Dモデルにして、HRTFを合成できるかもしれません。

HRTFを調整するためにオーディオゲームをプレイし、プレイ中に微妙にHRTFを変化させてベストなスコアを狙います、つまり最適なHRTFを得られます。

これは、今後数年にわたって私たち全員が一緒に歩みを進めていく旅であり、最終的には、誰もが次のレベルのリアリズムを体験できるようにすることを、お約束します。

f:id:keepitreal:20200329173825j:plain

今日は、私たちのデザインと意思決定のプロセス、そしてなぜPlayStation5にこのような機能が備わっているのか、ということについて、少しですが説明できたと思います。

これからは、開発者コミュニティがその機能をどのように活用していくのか、楽しみに見ていきたいと思います。

私が期待しているのは、オーディオ、レイトレーシングSSDの機能などから、完全に予想できないものが生まれて来ることです。

本日はお時間をいただき、ありがとうございました。

f:id:keepitreal:20200329173944j:plain

"The Road to PS5" 2020年3月18日 オンライン公開

「PS5への道程」 全文日本語訳 ~マーク・サーニー氏の技術解説講演~

 

[編者参考資料]

◆2019年4月16日 マーク・サーニー独占インタビュー記事 Wired.com

※日本語版記事と原文を比較すると、削られた部分があることがわかります。その意図が不明であり、しかも削除された箇所は非常に重要な事実が含まれていたため、日本語版Wiredの文言をそのまま受け取ることはお勧めしません。

https://wired.jp/2019/04/17/exclusive-sony-next-gen-console/

※追記 上記について、翻訳記事を作成しました。

 

◆2019年5月21日 Sony 経営方針説明会にて公開された映像

Rendering performance comparison movie of PlayStation next-generation machine and PS4Pro
Created in about 2 weeks using assets of PS4 software "Spider-Man"
Sony Corporate Strategy Meeting May 21, 2019
プレイステーション 次世代機とPS4Proとのレンダリング性能を比較した映像
PS4ソフト『スパイダーマン』のアセットを用い、2週間程度で作成

 

◆2019年10月8日 マーク・サーニー独占インタビュー記事 第二弾 Wired.com

※日本語版 https://wired.jp/2019/10/09/exclusive-playstation-5/

 

◆2020年1月9日 ジム・ライアンCEO 独占インタビュー記事 businessinsider.jp

 

◆2020年3月21日 プレイステーション ブログ記事

 

◆2020年4月2日 マーク・サーニー オンラインインタビュー記事 Digital Foundry / Eurogamer