連載
西川善司の3DGE:「Polaris」世代のRadeonは何が新しいのか(2)HDMI 2.0bにDP 1.4,H.265。機能面は競合と似たものに
ついにRadeonがHDMI 2.0をサポート。DisplayPortもHDR対応へ
NVIDIAは2014年9月発表の「GeForce GTX 980」以降,第2世代Maxwellでは上から下までのラインナップでHDMI 2.0をサポートし,HDMI接続時の4K(3840×2160ピクセル)かつ垂直リフレッシュレート60Hz(60fps)表示を実現済みである。それに対してAMDは,「HDMI 2.0対応製品は少ない」というまさかの言い分を貫き通してきた。
エンドユーザーが実際にHDMI 2.0対応のディスプレイデバイスを使う/使わないは別として,「Radeonの出力周りは古い」という印象を与えてしまったのは,明らかな失策だったと言わざるを得ない。
そんなこんなで,NVIDIAに遅れること18か月。ついにRadeonは,「Polaris 10」と「Polaris 11」の両GPUコアで,「HDMI 2.0」――正確には,「GeForce GTX 1080」「GeForce GTX 1070」と同じ「HDMI 2.0b」対応――を果たしたのである。
ちなみに「動的な映像の同期」は,HDMI接続時にもGPU主導の映像同期表示を行う「FreeSync Technology over HDMI」としてAMDが2016年1月に公開した機能と関係が深かったりもする。
HDMI 2.0b自体の詳細は,HDMIコンソーシアムによる解説ページを参照してほしいが,ここで注意したいのは,「HDMI 2.0 Level B」とHDMI 2.0bは別モノということである。
一部では誤解も生じているようなので書いておくと,HDMI 2.0 Level Bは,色情報を間引くことで,HDMI 1.4相当となる転送レート10.2Gbpsで4K/60Hz出力を行えるようにする定義のこと。NVIDIAはかつて,Keplerと第1世代MaxwellのGPUで4K/60Hz出力を行えるようにした特殊な動作モードを採用したことがあるが(関連記事),あれがまさにHDMI 2.0 Level Bに相当するテクニックだったのだ。
閑話休題。ディスプレイ出力周りでは,Polaris 10およびPolaris 11が「DisplayPort 1.4」に対応したのもトピックとなる。
ちなみに,DisplayPortで定義された転送速度の歴史は以下のとおり。「HBR」は「High Bit Rate」の略で,HBR1〜3は転送速度の世代呼称というイメージでいい。
- DisplayPort 1.1まで:1レーンあたり2.7Gbps,4レーンで10.8Gbpsの「HBR1」
- DisplayPort 1.2:1レーンあたり5.4Gbps,4レーンで17.28Gbpsの「HBR2」。ここで4K/60Hz出力に対応した
- DisplayPort 1.3:1レーンあたり8.1Gbps,4レーンで32.4Gbpsの「HBR3」。4K/120Hzもしくは5K(5120
× 2880ピクセル)/60Hz,8K(7680×4320ピクセル)/30Hzに対応した
DisplayPort 1.4の転送モード自体はDisplayPort 1.3と同じだが,「Display Stream Compression」と呼ばれる非可逆圧縮モードが追加になっており,これを用いたときに限り,8K/60Hz表示が可能になる。また,HDMI 2.0b相当のHDR出力にも対応しており,Display Stream Compressionを使わない条件で10bit HDRの4K/60Hz表示,使う条件では10bit HDRの4K/120Hzを行えるようになっている。
今後,DisplayPort対応ディスプレイを購入する場合は,DisplayPort 1.3やDisplayPort 1.4対応か否かがチェックポイントとなりそうだ。
HDR対応ディスプレイコントローラを統合
Polarisでは,HDR対応のプログラマブルディスプレイコントローラを統合するというのも重要なポイントだ。
AMDは,1ピクセルあたり32bit固定小数点数か,あるいは1ピクセルあたり64bit浮動小数点数のフレームバッファを「直に読み出し」て,HDMIないしはDisplayPortのカラーフォーマットに変換して出力できる新設計のディスプレイコントローラをPolaris世代で搭載したと訴求している。
1ピクセルあたり32bit固定小数点数のフレームバッファというのは,αRGB各8bit整数に代表される,お馴染みのフォーマットを用いる画像のこと。一方,1ピクセルあたり64bit浮動小数点数のフレームバッファとは,αRGB各16bit浮動小数点数で表される,最近のPCゲームでは採用例の多いHDRレンダリング御用達フォーマットのことである。
上に示したスライドだと,「Display Controller」のところで「Output Bit Depth Converter」も確認できるが,これは,1ピクセルあたり32bit固定小数点数のフレームバッファや1ピクセルあたり64bit浮動小数点数のフレームバッファにおける各ピクセルデータをプログラマブルに色空間およびガンマ変換し,HDMIやDisplayPort用の映像信号に変換する機能ブロックである(GamesIndustry.biz Japan Edition内関連記事)。
Polarisのディスプレイコントローラは,その仕様上,10bit HDRだけでなく12bit HDRにも対応しているが,AMDは「人間の視覚特性上は10bit HDRで十分」と説明していた。
劇的に改良が進んだビデオプロセッサ
もともとH.265は,アルゴリズム的に言えばH.264の拡張仕様のようなイメージだった。そのため,リアルタイムにこだわらなければ実装自体は難しくはないとされてきたのだが,Polaris世代のGPUが統合するのは,かなり高性能なものだ。
具体的には,1920
これだけだとH.264で4K/60Hzのリアルタイムエンコードに対応した「Radeon R9 285」と同じではないかと思うかもしれない。ただH.265は,H.264と同じ画質レベルの映像を半分のビットレートで再現することを目的として開発されたコーデックである。基本アルゴリズムこそ大きく変わらないものの,より高い精度の動き予測,視覚上劣化を抑制するフィルタの導入などにより,演算負荷の高い処理系に進化しているわけだ。
また,エンコードエンジンのアルゴリズムも進化した。
AMDによると,Polarisのエンコードエンジンは,H.264,H.265ともにリアルタイム「2パス」エンコードエンジンを採用したという。エンコードにあたって,映像フレームを解析し,周波数の高い箇所(=細かい表現が集中している箇所)に,細かい「マクロブロック」(Macroblock)を適応型処理で割り当てる制御を行うとのことだ。
マクロブロックというのは,H.264で4×4ピクセルから16×16ピクセル,H.265で4×4ピクセルから64×64ピクセルからなる圧縮単位のようなもので,フレーム間圧縮では動き補償(=動き予測)の単位サイズとして,フレーム内圧縮では類似性判断の単位サイズとしてよく用いられる。
細かいブロックで処理したほうが画質はもちろん向上するのだが,その分データ量は増してしまうため,適材適所で割り当てるのが望ましい。
この「予備圧縮を経て決まったマクロブロックサイズ」はフレーム間圧縮(=インタフレーム圧縮)でも,フレーム内圧縮(=イントラフレーム圧縮)でも用いる。
重要なのは,これら一連の処理を,映像の進行状況に応じて,フレームごとにリアルタイムで行えるということだ。
この改善により,茂みや岩肌のようなディテール表現のある映像で品質向上を図れるだけでなく,画面のフェードインやフェードアウト,あるいは突発的なシーンチェンジが発生する局面においても,高い画質の圧縮映像を安定的に得られるようになったという。
省電力への取り組み
続いて,Polaris世代のGPUにおける省電力機能をチェックしたい。
キーワードとなるのは「Adaptive Voltage & Frequency Scaling」(以下,AVFS)と「Boot Time power supply Calibration」(以下,BTC),そして「Multi-Bit Flip-Flop」(以下,MBFF)だ。
ものすごくざっくり言うと,イメージとしてはGeForce GTX 1000シリーズの「GPU Boost 3.0」に近い。
BTCは,起動時に駆動電圧を微調整するメカニズム。プロセッサの寿命の延長や,あるいは逆にプロセッサの寿命を「適切に削って」(AMD)のオーバークロック動作に貢献できるとのことである。
キャッシュメモリなどの高速でシビアなクロック動作シーケンスが求められる箇所で積極的に活用したというのがMBFFだ。Polaris 10では2100万個もの「MBFF化したフリップフロップ回路」を実装しているという。
MBFFは,クロック供給共有化した構造のフリップフロップ回路のことで,単発で実装するよりも物理スペースを削減できるうえに,省電力効果もあるとのこと。Polaris世代のGPUでは,MBFFの導入により,GPU全体で4〜5%の消費電力削減に貢献できたと,AMDはアピールしている。
Radeon SoftwareはPolaris登場後に進化
最後に,ソフトウェア周りについての話題だ。こちらはPolaris世代のGPUに限定した話ではなく,「Polaris登場後」のRadeonユーザー全体に向けた話題となる。
2016年に入ってから,AMDは「Radeon Software Crimston Edition」を14回リリースしているが,このうちWHQL(Windows Hardware Quality Labs,ウィクル)通過版は「16.1 Hotfix」「16.1.1 Hotfix」「16.3.2」「16.4.2 Hotfix」の4回。ただし16.1.1 Hottixと16.4.2 Hotfixはリリース当初,WHQL未通過だったので,エンドユーザーからすると,WHQL版は2回という印象があるかもしれない。
AMDによると,全体のリリース数が多すぎるというフィードバックがあるそうで,現在は提供スケジュールのアップデートを検討しているそうだ。
さて,今後のRadeon Software Crimson Editionでは,「Crossfire Global Control」「HDMI Scaling Control」「Color Temperature Control」「Power Efficiency Global Control」「Display Scaling Per-Application」「2 Display Quick Eyefinity Support」「Quick OS Launcher」「UI Language Selector」という9つの新要素――数える限りは8つしかないのだが,9だそうだ――を実装する計画だという。
ざっと名称を見るだけでも,HDMI出力時の拡大縮小表示設定を細かく行えそうであるとか,省電力設定の拡張が入りそうであるとか,マルチディスプレイ関連の改善が入りそうであるといったあたりは想像できると思うが,今回は,とくに重要そうなところを2つ紹介しておきたいと思う。
1つは,Crossfire Global Control関連で実装されるのではないかと思われる,マルチGPU対応関連の改良だ。
具体的には,DirectX 11版となる既存のCrossfire構成とは別に,DirectX 12世代のマルチGPU構成をサポートするという。さらに,1フレームずつ順番に複数のGPUへ振り分けてレンダリングを行うAlternate Frame Rendering時にディレイを挟み込んで,GPU間の表示タイミングを揃えて表示異常を軽減する「Frame Pacing」(もしくは「AFR Frame Pacing」,関連記事)を,DirectX 12(Direct3D 12)でも利用できるようにするとのことである。
WattManは,Overdriveを置き換えるものとなる |
WattManの概要 |
これは簡単に言うと「Overdrive」の後継で,GPUコアやグラフィックスメモリのオーバークロック機能となる。
WattManを使うことにより,初心者はオート設定で,熟練者はマニュアル設定で,駆動電圧と駆動クロック周波数などを細かくカスタマイズできるとのこと。自己責任を覚悟すれば,製品ごとに想定される限界設定に近いところまでオーバークロックし,性能を最大限引き出せるという。
また,アプリケーション(≒ゲーム)を実行させたときのGPUやメモリの動作クロック,温度変化のログを取得できるという,一部で長年待望されていた機能も,WattManからは利用できるようになるようだ。
初心者にも熟練者にも使いやすいオーバークロック機能を実装するという |
ステータスログ機能がいよいよ実装。どの程度使えるものなのか興味深い |
機能面がかなり似てきたRadeonとGeForce
こうして機能面のポイントを並べてみると,最新世代のGPUで,RadeonとGeForceはかなり似てきたことに気がつく。
HDMI 2.0bにDisplayPort 1.3&1.4対応のディスプレイ出力はまったく同じ。HDMIとDisplayPortの両方でHDRに対応するところも同じだ。これまでは「4KテレビとHDMI接続するならGeForce“一択”」だったのが,やっと改善したのはありがたい限りである。
今後,ディスプレイ出力周りの仕様で両GPUのどちらを選ぶか考える必要がなくなるというのは,エンドユーザーにとってメリットとなるだろう。
統合するビデオプロセッサのエンコードおよびデコード機能がH.265をサポートするというのも,RadeonとGeForceで同等となった。今後は,ゲームプレイ録画機能を使って作成したH.265ベースのビデオコンテンツが大量に出回り,H.265のメインストリーム化が加速するに違いない。
自動クロックアップ機能の最適化周りや,オーバークロック機能,省電力だけでなくGPUの製品寿命に配慮した駆動技術なども,偶然か必然か,機能紹介を行っている筆者ですらデジャヴに見舞われるほど,両者で似てきた。
先端のFinFET技術を用いて,エンドユーザーが求めるものと向き合うと,プロセッサ駆動技術に関しても足並みが揃ってしまうということなのだろうか。
西川善司の3DGE:「Polaris」世代のRadeonは何が新しいのか(1)GPUアーキテクチャを丸裸にする
「Radeon RX 480」レビュー。Polaris世代第1弾となるコスパ重視のGPU,その絶対性能を探る
AMD公式Webサイト
- 関連タイトル:
Radeon RX 400
- この記事のURL: