連載
西川善司の3DGE:Mark Cerny氏のPS5技術解説プレゼンテーションを読み解く(後編)。音響処理エンジン「Tempest」とはなにか?
前編冒頭でも触れたとおり,PS5のリードアーキテクトであるMark Cerny氏は,3月19日に公開した動画の中で,3つのテーマを掲げた。前編ではそのうち,「LISTENING TO DEVELOPERS」(ゲーム開発者の意見を反映した新要素)と,「BALANCING EVOLUTION & REVOLUTION」(進化と革命をバランスした仕様)のパートで取り上げられたSSDにおける新技術や,PlayStation 4(以下,PS4)との互換性,PS5が採用するGPUの機能について解説した。後編では,残るひとつ「FINDING NEW DREAMS」(新しいゲームの可能性を求めて)のパートで取り上げられた技術を詳しく見ていこう。
GPUベースの3D音響処理エンジン「Tempest 3D Audio Engine」
Cerny氏は,「ゲームにおいてサウンドは,ビジュアルに優るとも劣らぬほど重要な要素である」と述べる。一方で「PS4のCPU性能では,サウンド処理に使えるリソースがわずかだった」と振り返った。また,「単精度浮動小数点演算を超高速にSIMD(Single Instruction/Multiple Data)処理できたPlayStation 3(以下,PS3)のCell Broadband Engine(以下,Cell)は素晴らしかった」とも述べて,PS4におけるサウンド処理の苦労を語った。
しかし,PlayStation VR(以下,PSVR)に搭載した専用オーディオプロセッサは,50個の音源に対して360度の全方位に定位できるという性能を持ち,これがゲーマーとゲーム開発者から高い評価を得たそうだ。PS5では,このPSVRを超える3D音響システムを搭載することを目標として,新たに「Tempest 3D Audio」技術を開発したという。
SIEは,Tempest 3D Audioを実現する専用ハードウェアをAMDと共同で開発し,「Tempest 3D Audio Engine」(以下,Tempestエンジン)と命名した。Tempestエンジンは,音響処理+αの用途に特化したカスタム版Compute Unit(以下,CU)だという。ここでいうCompute Unitとは,一般的な「演算器」の意味ではなく,AMD製GPUのように「複数のシェーダプロセッサをまとめたもの」を指している。つまり,Tempestエンジンは,AMD製GPUのCUと共通した設計を採用しているのだ。なお,Tempestエンジンの動作クロックは,GPUと同じで,さらにバスも共有するそうなので,GPUに内蔵されていると思われる。
GPU側のCUに対して,TempestエンジンのCUがどのようにカスタマイズされているのかというと,ひとつはキャッシュメモリを持たないことだという。さらに,CU内の演算器は,ほぼ常に100%の稼働率で動作するストリームプロセッサのように動作するという。データはDMA(Direct Memory Access,メモリやデバイス間でデータを直接伝送する技術)を介して直接メインメモリから送られ,演算結果も同様にDMAでメインメモリに返すイメージとなる。
Tempestエンジンにキャッシュを搭載しないのは,ここで処理するデータが再利用する可能性の低いストリームデータであるためだ。その意味では,Tempestエンジンは,DSP(Digital Signal Processor)に似ている。
そんなTempestエンジンの演算性能は,100 GFLOPS程度とのことだ。Cerny氏によると,PS4のCPUにおけるSIMD演算ユニットをすべて稼動させたくらいの性能になるという。ちなみに,PS4のCPUにおける浮動小数点演算性能は,
PS4:8 FLOPS×8コア×1.6GHz=約102.4 GFLOPS
なので,たしかにCerny氏の説明と合致する。つまり,PS5では「音響処理+α」向けに,PS4のCPUにおける浮動小数点演算性能に相当する専用プロセッサを採用したわけである。前編で取り上げたSSDと同じく,ここはCerny氏がこだわった部分ということなのだろう。
なお,Tempestエンジンが担う「音響処理+α」のうち,αとは何かというと,システム側やゲーム側で汎用的に使える機能であるそうだ。具体的な説明はなかったが,
Tempestエンジンが実現する3D音響機能とは?
TempestエンジンがPS5で実現する音響機能を理解するには,まず,人がどのように音を聞いているのかを知る必要がある。頭部伝達関数(HRTF:Head-Related Transfer Function)の話と言えば分かる人もいるだろうが,できるだけ簡単に要点を説明してみよう。
人間には,左右に1つずつの耳があり,左右の耳で聞く音の強弱で,どちらの方向から音が鳴っているか判断できる。ステレオヘッドフォンでゲームをプレイしているときに,「視界の外にいる敵がどこら辺にいるのか」は,まさにこれで聞き分けているわけだ。一方,ステレオヘッドフォンでは,音の鳴る方向が前なのか後ろなのか,あるいは上なのか下なのかが分かりにくい。しかし,現実世界では,人間は左右の耳だけで,前後左右上下の360度,どこで音が鳴っているかが大まかに分かっている。
これは耳に入った音が鼓膜を振動させる前に,耳殻(じかく)で変調されるためだ。耳殻とは,我々が普段「耳」と呼んでいる部分のこと。音は顔や耳の凹凸にぶつかることで,反射や回折によって変調されたうえで,耳に入る。変調後の音が持つ特質を脳が聞き分けることで,音が鳴る方向を知覚しているのだ。
さて,ある音が任意の3次元座標で発生したとき,鼓膜に到達する空気の振動がどのように変調されるかを表した関数を,HRTFと呼ぶ。関数と言っても,一意的な方程式で表される「y=f(x)」のようなものではない。「3D座標(x,y,z)で発音した音の振幅(振動の強さ)や周波数がどう変わるのか」を,大量に場合分けをした情報で表現するものだ。データテーブルのようなものを想像するとイメージしやすいかもしれない。そしてTempestでは,HRTFを用いた膨大な音響計算をリアルタイムで行えるのだ。
具体的な仕組みについて紹介していくが,以下のスライドが理解の参考になるだろう。まず,三次元座標の中央に聞き手がいる仮想空間において,任意の座標で音が発生したと仮定しよう。その音が16.67msの間(※60フレームにおける単位時間)に起点となる座標から目標座標まで移動する場合を考える。
Tempestエンジンでは,聞き手を中心点に置いた球体の表面上に,ある程度の密度であらかじめサンプリングしたHRTFをマッピングしているという。まず,音が発生した座標から最も近い3点(※スライド左上の球における三角形の頂点ABCに相当)のHRTFを読み出し,加重平均を計算して補間を行う。補間した座標(頂点ABCが作る三角形中央の赤い点)と,移動先の目標座標(頂点BCDが作る三角形中央の赤い点)のHRTFを合成する。
そのうえで,16.67msの間に,音が起点から目標に移動する過程において,先に合成した起点座標のHRTF(スライドのHRTF_START)と,目標座標のHRTF(スライドのHRTF_END)という2つのHRTFをもとにして,16.67ms間の最初と最後の音波状態を変調。さらに,スライドのACCUMULATORが「起点座標における音波」が「目標座標における音波」になるまでの変化を,周波数次元でスムーズに変化するように変調する。
変調の計算は,一般的に時間領域や周波数領域で行う。Tempestの場合,リアルタイムで数百個の音源を処理する必要があることから,高速フーリエ変換(図中のFFTとIFFT)を用いて,周波数領域で計算する。このような処理により,360度で遠近に移動するような音の定位を実現するのだ。後ろから迫り来る敵の足音だけでなく,上から落ちてくる雨粒などによる音の表現を同時に行えるのである。
Cerny氏は,「Tempest 3D Audioによって,音像はこれまでのサウンド表現とはまったく異なる次元に到達したと実感できた。リアルな音像というよりも,全方位の音像の中にいる感覚だ」とまで述べており,完成度の高さが窺える。
ちなみに,筆者は,CES 2020において,ソニーグループが開発を進める同系統の3D音響技術「360 Reality Audio」のデモを体験したのだが,これがとてつもなくすごかった。前後左右の平面上を音像が動き回るだけでなく,上から下,あるいは下から上といった動きまで聞き取れるのだ。さらに感動的なのが,音の遠近表現がcm単位で実感できること。それこそ,テーブルの上から自分の肩に小動物が飛び移ってくるような音の動きを理解できたのだ。
ここまで解説した音響技術は「オブジェクトベースオーディオ」(※3Dポジショナルサウンドとも)と呼ばれる技術だ。音源が音の座標情報とともに与えられ,再生時には,それらの情報をもとに再生機側でレンダリングするというものである。これに対して,複数のスピーカーを使った既存のサウンド技術が「チャンネルベースオーディオ」だ。これは,5.1chや7.1chと呼ばれるサラウンドサウンドシステムのことで,ユーザーを取り囲むように設置した複数のスピーカーに対して,それぞれ特定の音声を割り当てて再生する仕組みのことだ。
PS5は,チャンネルベースオーディオにも対応するので,オブジェクトベースオーディオのサウンドを,5.1/7.1chのサラウンドサウンドシステムでも楽しむことはできる。ただ,PS5において,最も高品位かつリアリティの高いサウンドを楽しむめるのは,ヘッドフォンおよびイヤフォンということになるかもしれない。
さて,Cerny氏は,「ゲームの効果音は,音源が点音源であるだけでなく,大きさを持った音源である場合もある」とも述べている。そうした場合に有効なのが
球面調和関数は,立体球状の360度に分布するエネルギーやデータなどを,級数のように表すのに便利な関数で,簡単に言ってしまうと,360度全方位のエネルギーやデータの大ざっぱな圧縮表現手段に使える仕組みだ。
間接照明の処理では,360度の全方位において,赤緑青の光がどのように分布しているのかを大ざっぱに表現するために使われている。音響処理ではこれを音像の分布に応用するわけだ。なお,間接照明の場合は,赤緑青という光の色3つ分からなる全方位データをそれぞれ個別にデータ化して持つことになるが,音波の場合は1つのデータでいい。
たとえば,雨が降っているシーンを考えてみよう。先述したように,オブジェクトベースオーディオでは,上から下に落ちる雨粒の音を表現できるのだが,数千個の雨粒から発生する音を1つ1つ計算するのは負荷が高すぎる。「ザー」という雨音は,ひとまとめで処理すれば効率が上がり,そうしても違和感はないだろう。
Ambisonicsでは,雨音のように大きな一塊の音源が上から下へ移動するのを表現するときに,球面調和関数とスケール係数程度で演算可能だろう。「1000粒の雨」として処理するより圧倒的に実装がシンプルになる。
このように,Ambisonicsは,ある程度の大きさを持った音像を少ない情報量で記録および,再生するのに便利な手法なのだ。ちなみに,球面調和関数の零次項と一次項の組み合わせで音像を表現する場合,オーディオストリームとしては4チャンネルで済む。あくまで例え話ではあるが「1000粒の雨の音像を4チャンネルで表現出来る」わけだ。
なお,Ambisonicsにおけるチャンネル数というのは,5.1chにおけるスピーカーの位置や個数などとは無関係で,あくまでも音響データのストリーム数のようなものである点に注意してほしい。
Cerny氏によれば,AmbisonicsもTempestエンジンで対応できるとのことだ。具体的には,
Tempest 3D Audioでは5つのプリセットから自分に合うHRTFを選ぶ仕組みに
Tempest 3D Audioでは,PS5開発チームが独自にHRTFシステムの開発を行った。開発初期には,多くのスタッフがHRTFの測定を行ったそうで,Cerny氏自身もこの測定に参加したとのことだ。
HRTFの測定に用いたのは,22個のスピーカーから発するインパルス音を,被験者の両耳に取り付けたマイクで測定する仕組みだ。球面状に分布する測定データが必要なため,ある角度での測定が終わると,次の角度に向かって被験者が座る椅子はゆっくりと回転する。一回の測定には10分から20分がかかったそうで,1人あたりの測定データは1000点に及ぶという。公開された写真から大まかに推測すると18度くらいの分解能のようである。
さて,人によって頭や耳の形状,向きも異なるようにHRTFにも個人差がある。究極的には,こうした計測装置を使ってユーザーごとにHRTFを求めるべきなのだが,それは難しい。そこでCerny氏は,「初めのTempest 3D Audioでは,5つのプリセットからユーザーに合ったHRTFを選んでもらう方式とした」と述べていた。
このうえで「将来的には,ユーザーが撮影した耳の写真や動画をサーバに送ってもらい,機械学習ベースのAI処理で,最適なHRTFを返す仕組みが実現できたらいいなと考えている」と,Cerny氏は付け加えた。
ユーザーの顔や耳を撮影した写真データを解析してHRTFを作る技術は,Creative Technologyがバーチャルサラウンド技術「Super X-Fi Technology」でサウンド製品に採用済みである(関連記事)。先述した360 Reality Audioも,同様の技術を用いているので,ソニーグループとして,ユーザー1人1人に合わせた専用のHRTFを合成するという仕組みを,PS5にも展開しない理由はないだろう。
SSDと音響システムがPS5の見どころ。でもまだ隠し玉あり
振り返ってみれば,3月19日にCerny氏が行った発表のメインテーマは「SSD」と「音響システム」だった。世界が注目する中で,この2つのテーマを切り出して解説したのは,おそらく,アーキテクトを務めるCerny氏が最もアピールしたいポイントだったからなのだろう。そしてCerny氏は,これら2つ要素がPS5世代のゲームを進化させる鍵であることに確信を持っているはずだ。
ただ,PS5にはまだまだ隠し球がありそうだ。2020年4月8日にSIEは,PS5向けコントローラ「DualSense」の画像と開発コンセプトを公開した(関連記事)が,技術的な詳細は謎のままだ。今後の情報開示にも注目していきたい。
なお,前回の記事最後に,「1年前に筆者が行った予測との答え合わせをする」という予告をしたが,本稿だけでもかなり長くなってしまったので,それは次回のテーマとさせていただく。
西川善司の3DGE:Mark Cerny氏のPS5技術解説プレゼンテーションを読み解く(前編)。ここまで分かったPS5のSSDとGPUの詳細
2020年3月19日,SIEは次世代ゲーム機「PlayStation 5」のハードウェアに関する詳細を動画にて公開した。リードシステムアーキテクトを務めるMark Cerny氏のプレゼンテーションを西川善司氏が読み解く。
PlayStation公式のPS5情報ページ
- 関連タイトル:
PS5本体
- この記事のURL: