TRUE AUDIOの詳細

さて、この製品発表にあわせて、TRUE AUDIOに関してももう少し詳細が発表されたので、こちらもまとめておきたいと思う(Photo27)。

Photo27:先ほども触れたとおり、おそらく最初に実装したのはR7 260X(の元になるRadeon HD 7790コア)で、ついで(まだ詳細未発表の)Radeon R9 290/290Xコアということで、現在はこの3製品のみとなる

前回の記事でも触れたとおり、現在のPC Audioは固定機能のハードウェアしかなく(Photo28)、しかも最近は特にFPSなどで3D音源を使うようになったことで負荷がずっと増えている(Photo29)。

勿論これは「PCゲーム用の」という前置きが付く。そうではなく、半ばプロ用まで含めた音楽生成用に関しては、これは山ほどあるが

Photo29:オーディオ処理の10%を多いと思うか少ないと思うかは微妙なところだが、AMDにいわせればこんな具合にその他の処理も多いので、肝心のゲームに費やせるCPUリソースが減るのが問題、とする。このあたりIntelだと「だからマルチコアのハイエンドCPUを」ということになるのだろうが

さて、こうしたものは通例DSPで処理するものだが、TRUE AUDIOもやっぱりDSPをベースにしたものであった。予想外だったのは、TensilicaのHiFi EP(http://www.tensilica.co.jp/index.php?page=audio)を採用した事だ(Photo30)。

Photo30:TensilicaはAudio DSPを4種類提供しており、HiFi EPは上から2番目のグレードにあたる

何でTensilicaなのか? という疑問をCarl Wakeland氏(Photo31)に伺ったところ、「理由は3つある。1つ目は柔軟性、2つ目はライブラリなどがそろってる事、3つ目が一番重要で、(IPの値段が)安かった(笑)」という返事が返ってきた。

Photo31:Carl Wakeland氏(Fellow, Design Engineer)。前職はCreative Labs。氏はFusion Developer Summit 11ではオーディオ処理をHSAを使ってGPUにオフロードするというシステムの説明を行っており、ただそれよりもDedicated Audio Subsystemを用意するほうか現実的という形になってきたのかもしれない

さて、そのTRUE AUDIOの中身はこんな感じである(Photo32)。DSPコア部はTensilicaのXtensaをベースに、ここにHiFi EPを組み合わせる事になる(Photo33)。

Photo32:Carl Wakeland氏(Fellow, Design Engineer)。前職はCreative Labs。氏はFusion Developer Summit 11ではオーディオ処理をHSAを使ってGPUにオフロードするというシステムの説明を行っており、ただそれよりもDedicated Audio Subsystemを用意するほうか現実的という形になってきたのかもしれない

Photo33:ベースはXtensa LX4と思われる。32bit演算は結構遅いだろうが、24bit Audio処理そのものはHiFi EPで行うから性能的には十分ということだろう

バックエンドも相応に充実しており(Photo34)。それなりに複雑な処理も実行可能に見える。

Photo34:音源ソースなどはStreaming DMAで取得し、これをローカルのShared Memory(384KB)とか、lこれで足りなければ外部の64MBのFlame Bufferに格納する形になる。この外部のメモリは、GPUのFlame BufferをShareする形になるようだ

全体のフローとしてはこんな感じ(Photo35)で、なので例えばヘッドフォンを利用する場合でも自然な3D音源環境が実現できるとする(Photo36)。ちなみに前回の説明で少し間違っていた事があるとすると、AMDもTRUEAUDIO APIを提供予定で、アプリケーションはこれを直接叩く事も可能ということだろうか。

Photo35:この辺の構造は前回も説明した通り。GenAudioがMiddleware APIとして利用できる事になる

Photo36:"fake"3D Audioとか言ってるが、GenAudioを使ってもFakeはFakeな気が(笑)。要はどの程度3Dっぽくできるかの違いでしかないと思う

Photo37:"User-mode Service Library"と書くあたり、他にKernel ModeのLibraryがあるのかどうなのか、ちょっと気になる

このTrueAudioを使う事で可能になる事例は前回も紹介したが、そのほかに一つ追加されたのがMastering Limiterを行うという話。これはMasteringの際に最大レベルを超える様な差異にはこれをレベル内に抑える、という処理であるが、ソフトウェアでやるとピーク値を検出してその時だけレベルを下げる、というのは現実問題として時間的に間に合わなかったりする。このためいろいろと細工をすることになり、これがしばしば音質劣化の要因になったりする。DSPを使うとこのあたりがリアルタイムで処理できるという事が紹介された。

Photo38:TrueAudioによる事例。DSPを使ったリアルタイム処理の事例が追加されている

次のページ:出力関連の詳細と今回のまとめ