オススメ機能
Twitter
お気に入り
記事履歴
ランキング
TOP
PC
Xbox
PS4
PSV
Switch
3DS
スマホ
女性向け
VR
ハードウェア
ハードウェア
レビュー
テストレポート
インタビュー
ムービー
ドライバ
ベンチマークレギュレーション
AC
アナログ
お気に入りタイトル/ワード

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

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

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

LINEで4Gamerアカウントを登録
QRコードでLINEの4Gamer
アカウントを友達登録すると
月〜金の週5回,21時に厳選
ニュースをお届けします!
※購読にはLINEアプリが必要です
特集記事一覧
注目のレビュー
注目のムービー
印刷2013/10/02 00:00

ニュース

AMDがRadeon R9&R7の一部モデルに搭載した「TrueAudio」とは何か。その秘密に迫る

 北米時間2013年9月25日,AMDの新GPUシリーズ,Radeon R9とRadeon R7が発表になった(関連記事)。

TrueAudio
 そのラインナップは最上位の「Radeon R9 290X」(以下,R9 290X)以下,多岐に及んでいるが,そのうち,R9 290Xと「Radeon R9 290」(以下,R290),そして「Radeon R7 260X」(以下,R7 260X)の3モデルではプログラマブルサウンドエンジン「TrueAudio」が搭載されることも,AMDは明らかにしている。
 TrueAudioは,9月28日の記事で紹介したグラフィックスAPI「Mantle」と同じように,AMD独自のサウンドAPIを介して利用可能になる機能だ。

Radeon R9&R7シリーズでは,R9 290XとR9 290,R7 260XだけがTrue Audioをサポートする
TrueAudio


TrueAudioとは何か


 技術的な話をする前に,TrueAudioの概念を押さえておきたい。
 TrueAudioは,「GPU内部のシェーダプロセッサを活用する機能」ではなく,GPUコアに組み込まれ,シリコンダイに統合されたDSP(Digital Signal Processor)によって実現される機能だ。
 イメージとしては,Creative Technologyなどが長年展開してきている“サウンドチップ”的なDSPに近い。ただ,Sound Blasterシリーズで採用されるDSPは,プリセットの音響プログラムにパラメータを与えることで,ユーザーが好みの音像を作り出せるようなものに仕上げてあるのに対し,TrueAudioでAMDが提供するのは,直接DSPを叩けるようなローレベルのプログラミングAPIのみ。オリジナルの音響プログラムを走らせて活用する前提になっている。
 つまり,TrueAudioを活用するには,音響プログラムを自分で開発するだけの技術力が必要になるのだ。

 実力があり,かつAMDとの関係が深いスタジオだと,自前でTrueAudioエンジンを駆使してオリジナルの音響システムを実装してくる可能性もあるが,一般的には,専業のミドルウェアメーカーやサウンドライブラリメーカーが手がけるサウンドミドルウェアやライブラリを介してTrueAudioエンジンを利用することになるだろう。

TrueAudio対応を表明したゲームデベロッパとミドルウェアメーカー,サウンドライブラリメーカー一覧。詳細は後述する
TrueAudio

 ここで深読みして,「PlayStation 4やXbox OneにもこのTrueAudioが入っているの?」とワクワクしてしまった読者はいるかもしれないが,AMDによると,それはないとのこと。TrueAudioはあくまでも,R9 290XとR9 290,R7 260Xの新要素として訴求される技術となる。


TrueAudioは音響プログラムアクセラレータである


 というわけで本題だが,いきなり結論めいたことを述べておくと,TrueAudioは基本的に,音響プログラムを実行するときに利用されるアクセラレータである。
 現時点でAMDは具体的なDSPの機能リストを公開しておらず,DSPの詳細も語ってはいないのだが,代表的な機能の一部として,「畳み込み演算」(Convolution)の存在は,Radeon R9&R7発表の時点でも明らかになっている。

 筆者はかつて,音楽制作システム「Z-MUSIC」なるモノを作っていた時期があり,このあたりの機能は(非リアルタイムながらも)実装した経験があったりするので,少し詳しく紹介してみよう。

畳み込み演算の具体例
TrueAudio
 「ある音素材を,ある音響特性を持つ空間で再生したとき,その音素材がその空間でどう響くか」を計算したい場合は,音素材の波形と,その部屋の残響特性をサンプリングした「インパルス応答データ」(Impulse Response)を用意して,これら2つを畳み込み演算すればよい。インパルス応答データは,銃声のような,ごく短い破裂音を鳴らせば取得できる。

 で,畳み込み演算とは何なのか。

 簡単に言えば,データ列1とデータ列2を総当たりで掛け算して,その結果をバッファに格納していくような計算だ。極端に簡略化した具体例を右に示してみたが,たとえばX()が音素材,H()が部屋の残響特性だとすれば,Y()にはその音素材をその部屋で鳴らしたときの音響結果が格納される仕組みとなる。

TrueAudio
インパルス応答データの例。駐車場と林,教会では,残響の残り方が大きく異なる
TrueAudio
インパルス応答データを用いた畳み込み演算による残響効果のイメージ

 ただこの畳み込み計算,データ列の長さのべき乗で計算量が増加するという,とてつもなく負荷の高い計算になっている。そのため,(詳細は省略するが)デジタルサウンドデータを取り扱うときは,周波数領域(Frequency Domain)に変換しましょうというのが一般的な考え方になっている。たとえば,非可逆圧縮のサウンドデータフォーマットとして有名なMP3(MPEG-1 Audio Layer 3)は,まさしく周波数領域のサウンド圧縮技術だったりする。それくらい,周波数領域に変換したほうが何かと都合がいいのである。

 さて,データ列を周波数領域に変換するのに用いるのがフーリエ変換(Fourier Transform,FT)で,デジタルサウンドデータのような離散データを対象として,高速に行うのが高速フーリエ変換(FFT)となる。そして,FFTによってデジタルサウンドデータを周波数領域に変換してしまえば,畳み込み演算は,互いの乗算だけで済んでしまうようになる。嬉しいことに,総当たり乗算である必要がなくなるのだ。
 ただしその計算結果は,あくまでも周波数領域での計算結果であって,スピーカーから音として鳴らせるような時間領域(Time Domain)のサウンドデータにはなっていない。そこで逆高速FFT(iFFT)を行って,周波数領域の畳み込み演算結果を時間領域に戻してやることになる。

「デジタルサウンドデータの畳み込み演算」の実際
TrueAudio

 デジタル音響機器であるAVアンプや,電子楽器のエフェクタなどは,こうした動作原理で動いている。
 話をTrueAudioに戻すと,TrueAudioは,これらFFTやiFFTの計算と,周波数領域での畳み込み演算――まあ,これはただの乗算なのだが――をアクセラレーションして演算できるようになっているのである。
 「非常にローレベルな計算をアクセラレーションをする仕組み」ということが,なんとなく分かってもらえたのではなかろうかと思う。


TrueAudioの搭載はCPU負荷低減のため


 ではなぜ,わざわざAMDはGPUにTrueAudioを実装してきたのか。ここが気になる人も多いだろう。
 その理由は実のところ単純明快。一言でまとめるなら,「CPU負荷の低減」である。

 ただ,この理由(というか結論)に至るまでの経緯は解説の必要があるかもしれない。
 これまで,ゲームサウンド向け音響効果の実装形態としては,それこそCreative TechnologyのSound Blasterシリーズに搭載されるDSPのような,完成されたハードウェアとしての音響プログラムにパラメータを与え,好みの音響効果を得るものが主流だったわけだが,これだと,作り出される音響特性が当該ハードウェアに依存してしまう。たとえば,ユーザーやゲームデベロッパが独自に用意した残響特性(=インパルス応答データ)を用いた音響効果を作り出すことはできない。

 では,そういった音響処理ハードウェアを使わずに,すべてオリジナルの音響特性を創り出すにはどうしたらいいのか。その回答の1つに,「CPUで実行されるプログラム」として実装したサウンドミドルウェアやサウンドライブラリの類を用いる方法がある。
 最近のCPUはマルチコアが当たり前で,SSEなどといったベクトル演算命令やメディア処理向けの機能も備えている。この「CPUを使う」というソリューションはその意味で,現実的な選択肢なのだ。

サウンドデータやインパルス応答データが長くなればなるほど,畳み込み演算の負荷は大きくなる
TrueAudio
 しかし,最近のゲームタイトルだと,3D空間上に100を超えるサウンドが同時多発的に再生される状況も増えてきた。しかも,そのサウンドデータは,長いものも少なくない。畳み込み演算の負荷はデータ長にも依存するので,これは重大な問題だ。
 さらにいうと,CPUで100を超えるサウンドデータを処理するということは,CPUのデータキャッシュの利用効率が下がるということでもある。それほど再利用率の高くない長いサウンドデータがデータキャッシュに入って来てしまっては,データキャッシュ本来の機能に悪影響を及ぼしかねない。

 そこでTrueAudioの出番だ。CPUに依存することなく,低遅延で音像プログラムを実行できる仕組みが,Radeon R9&R7シリーズの一部に搭載されたというのが,AMDがTrueAudioの発表で一番訴えたいことなのである。

Audiokineticのサウンドミドルウェア「Wwise」を用いた実装の例。左2つが従来の実行形態で,左端がCPU実行,中央がSound Blaster的な実装による実行,そして右がTrueAudioによる実行となる
TrueAudio
 サウンドミドルウェア(あるいはTrueAudio対応のゲームエンジン)を活用する限り,互換性の問題はないというのがAMDの主張だ。
 なぜなら,TrueAudioがないPC環境では,サウンドミドルウェアはこれまでどおりCPUを活用し,(可能性は低いが)プリセットプログラムが動くような音響DSPが存在するならそれを使う。そして,TrueAudioがある環境では,CPUで実行していた音響プログラムをTrueAudioでアクセラレーションさせてCPU負荷を低減させるといった実装になっているからである。


TrueAudioの対応状況は?


Jerry Mahabub氏(Founder and CEO, GenAudio)
 序盤のスライドでも示したとおり,TrueAudioのサポートにはMcDowell Signal Processing(McDSP)とGenAudioが名乗りを上げている。この2社は,TrueAudioを用いて,実際に音響プログラムを実装するソフトウェアスタジオだ。
 Radeon R9&R7の発表会にはGenAudioの創業者兼CEOであるJerry Mahabub氏が登場。同社の3Dサラウンドサウンド技術「AstoundSound」をTrueAudioベースで実行するデモを披露した。

BRTF技術を仮想音源技術に応用するAstoundSoundがTrueAudioに対応した
TrueAudio
 AstoundSoundは,音響の世界ではよく知られた頭部伝達関数(Head-Related Transfer Function,HRTF)ではなく,脳部伝達関数(Brain Related Transfer Function,BRTF)の理論に基づいたサラウンドサウンド技術である。

 HRTFでは,人間の頭部と上半身を模した人形の耳の位置にマイクを設置して,「原音波がどのように変化して収録されるか」を分析して音響アルゴリズムを構築する。原音波を,そのHRTFアルゴリズムで変化させて耳に送り込めば,たとえその音を耳元で鳴らしていようが,任意の位置で鳴っているかのように聴者に感じさせることができる。これがHRTFに基づく仮想音源定位の理論だ。
 BRTFはこれを一歩進めた考え方で,「任意の場所で定位した音を人間が聞いたときに出る脳波分布」のデータベースを構築し,音響特性と脳波分布の関係性に着目しつつ,仮想音源理論を組み立てたものになる。
 BRTF自体は音響分野だけのものではなく,人間の五感に対して研究が進められている。人間の出す脳波は,SF映画や漫画でよく描かれる一本の電極で計れるような単純なものではなく,脳内の各所から同時多発的に発せられるため,その解析は非常に難しかったのだが,GPGPUに代表されるデータ並列コンピューティングが急速に進化した昨今では,この分野の新しい技術開発が進んでいるのである。AstoundSoundは,そのBRTFを音響に活かした技術というわけだ。

AstoundSoundはWwiseやFMODのプラグインとして提供されている。TrueAudio対応版プラグインも順次提供予定とのことだ
TrueAudio
 そしてこのAstound Soundは,Audiokineticの「Wwise」や,FireLight Technologiesの「FMOD」といったサウンドミドルウェアに対し,プラグインの形で提供される。つまり,WwiseやFMODを採用するゲームタイトルなら,TrueAudioへ容易に対応できるということになる。

 Radeon R9&R7発表会では,TrueAudio対応タイトルとして,PC版の「Thief」(Eidos Montreal/スクウェア・エニックス)と「Lichdom」(Xaviant)の2タイトルが発表された。このうち,LichdomではサウンドミドルウェアとしてWwiseを採用することが公表されている。

TrueAudio
Thiefは映像が暗いこともあり,音像表現に重きが置かれるタイトル。TrueAudioのデモタイトルとしては実におあつらえ向きか
TrueAudio
LichdomはWwiseのAstoundSoundプラグインを活用。CryENGINE 3採用タイトルとしても本作は注目されている

 TrueAudioは,完全に独自APIであり,PC専用のものだ。先に紹介したMantleのような,据え置き型ゲーム専用機との強い関連性もない。よって,ゲーム開発者から見て,Mantleほどの魅力があるかどうかは分からない。
 ただ,発想としてはユニークで,AMDの主張する内容にも一理ある。対応GPUが3製品しかないという状況では結論を出しにくいが,今後,APUでの採用が始まったりすれば,化ける可能性はあるだろう。

AMD公式Webサイト

  • 関連タイトル:

    TrueAudio

  • 関連タイトル:

    Radeon R9 200

  • 関連タイトル:

    Radeon R7 200

  • この記事のURL:
line
4Gamer.net最新情報
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:10月19日〜10月20日