
イベント
[GDC 2025]AMDのFSR 2をARMが魔改造!? 「ARM Accuracy Super Resolution」はモバイルゲーミングの救世主となるか
超解像に頼らざるを得ないゲームグラフィックス
テレビやディスプレイの解像度は3840×2160ピクセル……いわゆる4K解像度にまで到達した。ゲームグラフィックスも,PS4世代から4Kに対応している。ただ,現行のPS5/PS5 Pro世代になっても,描画実解像度を4Kに想定したタイトルは少数派だ。現在の多くの家庭用ゲームのグラフィックスは,4K未満の解像度で描画し,これを4K解像度にアップスケールして表示する方式が主流となっている。
アップスケール処理には,単なる線形補間主体の解像度変換処理ではなく,「失われた解像度情報を復元していこう」とするアップスケール技術「超解像処理」(Super Resolution)が用いられることが多い。
この流れは,モバイルゲームのグラフィックスにも広く波及しつつある。それも当然で,昨今のモバイル端末の画面解像度は,今やフルHD(1920×1080ピクセル)を超えるモデルが多くなってきた。それこそ,4K解像度に近い画面を採用したモデルだって少なくない。
しかし,モバイル向けGPUの性能は,家庭用ゲーム機には及ばずだ。もちろん,4K解像度を実描画できるモバイル向けGPUなどほとんど存在しない。なればこそ,モバイルゲームのグラフィックスにおいても,超解像技術は必要不可欠となるのである。
そんな状況の中,半導体業界の半導体業界のリーディングカンパニーの1つであり,多様なモバイル向けプロセッサを開発・提供しているARMが,モバイル端末のGPUに最適化した超解像技術「ARM Accuracy Super Resolution」(以下,AASR)を発表したのは2024年7月のことだった。
![]() |
あれから約半年の時が流れ,2024年7月時点ではアナウンスのみであったAASRは,今回のGDC 2025の開催タイミングに合わせて,そのソースコードやゲームエンジン向けプラグインまで公開された。
本稿では,GDC 2025会期中に行われた「Arm GDC Developer Summit」で実施されたAASR関連のセッション「ARM Accuracy Super Resolution」と「Introducing Arm Accuracy Super Resolution(ASR): Platform-Agnostic Efficient Temporal Upscaling on Mobile」の2講演の内容を総括して,AASRの最新動向をレポートする。
なお,GDC 2025のARMブースでは「AASR誕生エピソードをマンガ化した冊子」も配られていた。PDF版はこちらで。
![]() |
![]() |
![]() |
![]() |
AMDのFSRは,モバイル向けGPUには適さなかった
AASRはARMが開発したものだが,ベースとなっているのは実はAMDの「FidelityFX Super Resolution2」(FSR 2)のソースコードだという。
![]() |
![]() |
超解像処理のアルゴリズムとしては,いわゆる信号処理系の再構成型超解像アルゴリズムを採用している。
アルゴリズムの概説は,筆者のAMDのFSR技術解説記事で詳しく説明しているので,こちらもあわせて参照してもらえたらと思う。
AASRはFSR 2がベースなので,ピクセル単位の速度ベクトル情報をもとにして,過去フレームへの参照も実践する「Spatio-Temporal Upscaler」のタイプに分類される。こうなると「ArmのAASRと,AMDのFSR 2との違いはどこにあるのか」という部分が気になるが,システムとしては,AASRはほぼ“FSR 2そのまま”となっている。
![]() |
![]() |
![]() |
しかし「なあんだ」と侮ることなかれ。
ARMのエンジニアが,モバイル向けGPUアーキテクチャに涙ぐましい最適化を行っている。一部の処理系については,品質よりも速度を優先した改造を適用することで,モバイル向けGPUで実用レベルのパフォーマンスを発揮できるようにしているのである。
![]() |
ARMによれば,モバイル向けGPU「Immortalis-G720」にFSR 2をそのまま移植した場合,GPUの実描画解像度は1200×540ピクセル(Performanceモード)で,2400×1080ピクセルへ超解像アップスケールした場合,処理時間は6.5ms,実効メモリ帯域は265MB/sになったという。
この結果にARMのエンジニアは軽く絶望したそうで,両方とも半分以下にしないと,バッテリー消費とシステム発熱の観点から,とてもではないが実用に耐えられないと感じたそうだ。
そう,モバイル端末のGPUは,メモリアクセスが頻発する処理系は御法度なのである。
バッテリー消費量やシステム発熱量は,メモリアクセスをすればするほど増加する。そのため,CPUとGPUの双方の消費電力はピーク時で8W以下に,ゲーム中も平均6W程度を想定した動作にしないとならない。デスクトップPCのGeForceとは,かけられる電力負担が2桁違うのだ。
![]() |
ここからARMのエンジニアの涙ぐましい努力が始まる。彼らは「モバイル端末のGPUアーキテクチャに,親和性の高い超解像処理とはどんなものなのか」を徹底的に議論したそうだ。
結論から言ってしまうと,基本方針としては,GPU内のSRAM領域(キャッシュメモリやローカルデータシェア)を徹底活用できるよう,FSR 2を大改造することになった。
これが実現すると,メモリアクセスの頻度を極力抑えられるようになる。結果,パフォーマンスは上がるし,バッテリー消費も発熱量も減って,いいことずくめとなる。
さらに内部演算精度も極力,16ビット浮動小数点(FP16)の範疇に抑えることを徹底したそうである。
![]() |
ARMがAMD FSR 2の魔改造に乗り出す
FSR 2は現在フレームだけでなく,過去フレームをも参照する,いわゆるテンポラル・アンチエイリアシング(TAA)の概念を応用した超解像技術であるため,現在フレームと過去フレームの両方のピクセル情報を取得して,画面全体の残像・ちらつきを除去している。
![]() |
この処理系を担当するのが,上のFSR 2ダイアグラムにおける「Compute Luminance Pyramid」パスだ。ここはその名のとおり,ピクセルの固まり(つまり画像)を,MIP-MAP的なピラミッド階層的に管理しているデータ構造から,必要なピクセル情報を抽出していく部分である。
FSR 2は実際のところ,ほぼ全体がCompute Shader(GPGPU)で構築されている。モバイル端末のGPUは,GPGPUモード時のLDS(ローカルデータシェア)と呼ばれる,SRAM(超高速なチップ内メモリ。キャッシュメモリなどもSRAM製)の共有メモリ容量が小さい。
そこでARMのエンジニアは,データ構造の一部がLDSに収まらず,メインメモリ(DRAM)側へのアクセスが発生していることを突き止めた。
結局のところは,この部分で取り扱うデータ形式と,その演算精度をすべてFP16に置き換えることで,大幅な帯域節約を試みた。成果は絶大で,この部分のメモリ帯域節約率はなんと98%にも到達。以前は100MB/s近くあったパス部分のメモリ帯域消費量を,約1.6MBにまで削減できたというのだ。これはお見事である。
![]() |
次に注目したのは,超解像処理のコアとも言える「Reconstruction & Dilate」パスだ。ここは低解像度映像を高解像度映像へアップスケールする際,不足するピクセルをどんな色にするか算出する部分となる。
これには前述した現在フレームと過去フレームの映像から必要な情報を取ってきて,それらを手がかりに超解像ピクセルを算出するわけだが,このプロセスではどうしてもメモリアクセスを避けられない。
そこでARMのエンジニアは,またもモバイル向けGPUの特性を活用するべく改造した。彼らはComputeShader(GPGPU)で行われる処理系を,あえてピクセルシェーダープログラムに移植したのだ。
そこになんの意味があるのか?
実はモバイル向けGPUでは,メモリ帯域を節約するために,フレームバッファを可逆ブロック圧縮してメモリに保存している。圧縮はされているものの,プログラマブルシェーダーユニットからは任意に指定したアドレスに直接,データの読み書きができる仕組みとなっている。
これは,データをまるごと全体圧縮するのではなく断裁し,その「細切れ」(ブロック)単位に圧縮する「ブロック圧縮方式」のメリットだ。圧縮展開は専用ハードウェアで実践され,しかも一度アクセスすればそのデータ群は以降,キャッシュに載る。なので隣接するアドレスへのデータの読み書きも以降,キャッシュ内アクセスに隠蔽できる。
ARMのGPUにおける,こうしたフレームバッファ圧縮は「ARM Frame Buffer Compression」(AFBC)と命名されているが,実際のところAMDのRadeonも,NVIDIAのGeForceも,近年モデルではフレームバッファに対する同様のブロック圧縮技術を有している。
このAFBCのようなフレームバッファ圧縮は,Compute Shader(GPGPUモード)からは利用できない。だから,ピクセルシェーダープログラムに移植したというわけである。
結果,超解像処理実務を圧縮済みバッファへのメモリアクセス(+キャッシュ効果)に改造することにより,このパス部分のメモリ帯域は改造前と比べて,34%も節約できたとしている。
![]() |
さらにARMのエンジニアは,FSR 2の処理系の「Depth Clip」パスにおいて,ここまで紹介した「演算精度のFP16化」と「ComputeShaderで実践していた処理系のピクセルシェーダへの移行」の両方を施した。
「Depth Clip」とは,過去フレーム上のピクセル情報を参照する際,現在フレーム上のピクセル情報への対応に誤りがないかをチェックするためのセクションだ。これをやらないと超解像処理後のピクセルに残像が生まれたり,にじみ出しのようなノイズが出てきたりしてしまう。ここで着目している,現在フレーム上のピクセルに対応するものが過去フレームに存在するかどうかは,両者の深度(Depth)値の差分の大小で判断できる。
こちらの改造では,AFBCの効果と,FP16化による演算精度低減の相乗効果により,このパス部分のメモリ帯域は,もとのFSR 2のままと比べて40%も低減されたとしている。
![]() |
ほかのパスに対しても,同様の最適化/改造を積み重ねた結果,FSR 2では処理時間が6.5msから2.4msへ。実効メモリ帯域は265MB/sから76MB/sへと,およそ3分の1にまで減退できたとのことだ。
なお,本稿での解説以上の詳細は,下記動画を参照いただきたい。
![]() |
Switch2のCPU内蔵GPUにも効きそうなAASR
力を込めて作り上げたARM版FSR 2,すなわちAASRに対して,ARMは絶大な自信を見せている。実際,ARM製以外のモバイル向けGPUにも積極的な採用を強くアピールしていた。
![]() |
![]() |
もともと,AMDのFSRはライセンスフリーのオープンソースプロジェクトであったため,ARMのAASRも同様の扱いとなる。特許などの導入障壁も皆無に等しいはずだ。
帯域削減に大きな効果があるということは,携帯ゲーム機の側面を持つ任天堂のSwitch2や,スタンドアローン型VRヘッドセットにもうまく適合することだろう。
また単体GPUと比べれば,メモリ帯域性能が著しく乏しいCPU内蔵GPUを使ったゲーミングシーンにも効力を発揮しそうである。
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
「GDC 2025」公式サイト
4Gamer「GDC 2025」記事一覧
- この記事のURL: