公開カイオウ、ヒョウが登場。コンチェルト」カワイイ+“戦闘の楽しさ”に焦点。TAXI(クレイジータクシー)」が配信開始DC版をベースに制作、タッチ操作や傾き操作を採用「雀龍門3」のアップデート「真・雀龍門」を2013年1月15日に延期理由は「さらなるクオリティ向上のため」。冬」インタビューテーマは「コミュニケーション」。Nua]」ダウンロード版の発売が決定。期間限定無料追加パックを配信WIN「ファイターズクラブ」本日アップデートレベルキャップを30まで開放。ゆるかわロボット登場のロボット生産アプリiOS「バーコードフットボーラー」事前登録開始3兆通りの選手をバーコードで生成。フォース」“フェイ・イェン”プラモが12月に登場“ビビッド・ハート”と“シンデレラ・ハート”。f」の楽曲やカスタマイズアイテムを配信!「ラグナロクオンライン」11月28日「大規模バランスアップデート」実装スキルやモンスターの調整を一新。クリードIII」Windows版を12月21日に発売ダウンロード版も同日発売。線形拘束のフェノグラム」制作を発表。導かれし宝冠の戦士たち」「イース」シリーズとコラボレーション。3(以下、PS3)」が正式に発表された。今回の発表で明らかになったことは非常に多い反面、根幹となるプレゼンテーションのほとんどがNVIDIAに丸投げされたり、スペックキーワードがこれまでの一般ゲームファンにとってはなじみのないものであったりと、直感的にはわかりづらい部分も多かったように思う。そこで、今回は、PS3の発表会に示されたキーワードや映像についての基本解説を行なってみたいと思う。PS3のCELLプロセッサは1PPE+7SPEとなった!まず、CPUとなるCELLプロセッサについて。詳しくはこちらを参照して欲しいが、ここでも簡単に触れておこう。Element)からなる。CELLプロセッサのブロックダイアグラム「7x~」の記載が「あれ?、SPEは8基のはずでは?」と思わせた。Unit」とは、PPEに接続された128ビットのSIM命令用コプロセッサだ。Extension)はPentiumにおけるSSEとかMMXのようなもの......と考えればいい。動作クロックは3.2GHz。360が3.2GHzとなったことなどを配慮して、この値が決められたのだと思われる。このクロックで後述するSPEも駆動される。PPEはメインプロセッサともいうべき存在で、ソニーはこれを「CELLにおける指揮者」と表現しており、PPEの仕事はOSを動かすこと、アプリケーションの“本流部”を動かすこと、そして後述するSPEの動作を制御することだ。CACHE」はPPE用のキャッシュメモリで、命令、データの区別のない統合型のL2キャッシュメモリとなっている。ここには記載されていないが、これ以外に、命令用L1キャッシュが32kB、データ用L1キャッシュも32kB搭載される。スペック表にならぶ「7x~」はPS3に採用されるCELLプロセッサではSPEが7個稼働するということを意味している。2月の半導体学会「ISSCC」にて発表されたCELLプロセッサはSPEが8個あったはずなのだが、PS3では7個に減っているのだ。理由は意外に単純で、「CELLプロセッサの歩留まり率」を上げるためだ。チップ内には実体としてSPEは確かに8基分あるが、その1個が製造上の問題で動作しなくてもPS3のCPUとして利用できる......というわけだ。8基のSPEがフル動作するCELLプロセッサはワークステーション用、7基動作できるものはPS3用、それ以下はAV家電(デジタルレコーダ、カーナビ等)用......といったように選別利用するシナリオも考えられる。そもそも、このSPEとはなにものなのか。SPEは、(x、y、z、w)のような四要素の32ビット浮動小数点実数からなるベクトル演算に特化したプロセッサで、3Dグラフィックス関連のジオメトリ演算や、映像、音声などのエンコード、デコード処理を得意とする。これまでのCPUにもコプロセッサという形で特殊演算機能を付加したものが存在したが、CELLにおけるSPEは、それ単体が独立して動作できる一人前のプロセッサである点が特徴だ。大量のデータ処理をPPEとは独立に並行して行なえるのがSPE......という理解でいいだろう。Register)を持つ......という意味だ。これはかなり大量のパラメータを扱うプログラムでもレジスタリネーミングやメモリへのデータ待避なしに高速にプログラムを実行できる仕組みのための工夫で、他に類を見ないSPEのアーキテクチャならではの特徴ともいえる。SPE」は「SPEのキャッシュメモリ」......ではない。この256kBのSRAMメモリ空間はSPEにとってのメインメモリとなる領域なのだ。Store(LS)」という名前が付けられている。少々複雑な話になるが、概略だけ解説しよう。詳しくはこちらを参照のこと。DRAMにて256MBのグローバルなメインメモリ空間が提供される。Access:メモリを独自のタイミングでやりとりできるユニット)を介してアクセス可能なのだが、特異事項としてSPEは、それ自身のソフトウェアの実行と、それに伴うデータの取り扱いに際しては、この256kBのローカルメモリ空間にメインメモリからダウンロードして実行する仕組みを取るのだ。一種の制限みたいなもの......ともいえるが、SPEはもともと「入れられたデータを遅延なく処理してはき出すストリームプロセッサ」的なコンセプトでデザインされたために、最高性能を出すには「このスタイルが最適」という判断がなされたと見るべきだろう。出てきたパフォーマンス比較図。CELLの218GFLOPSは7基のSPEの存在がかなり稼いでいるメインメモリ帯域対決。PS3のグラフィックスチップ「RSX」のパイプラインは固定式GPUは550MHz駆動。1,920x1,080ドット解像度のレンダリングに対応しているというが......PS3のグラフィックスはNVIDIAベースであることは2004年末に発表され業界を震撼させた。Huang氏、自らが壇上に立って、PS3のGPU「RSX」について説明を行なったが、あまり内部アーキテクチャについては触れず、数値スペックの公表に留まっている。スペック表にもあるように、RSXの動作クロックは550MHz。現行GPUとしてはPC用も含めて、トップレベルの動作クロックだ。1サイクルあたり136シェーダオペレーション、トータルピーク性能は1.8TFLOPSということで、これはNVIDIAの現行GPUの最上位モデル「GeForce680oUltra」を2枚刺し動作させるSLIモード時パフォーマンスの2.5倍に相当するのだという。このあたりのアーキテクチャとパフォーマンスにまつわる話はもう少し取材を進めてから考察したい。上のパノラマ表示パターンはゲーム画面の中央が2台のテレビの継ぎ目になってしまうので、実質的に使い物にならない。マルチ画面表示であれば3画面は欲しい。実際の活用では2番目以下のパターンとなるたろう1,920x1,080ドットのフルHD解像度を2画面同時出力に対応。2画面出力は、すでにNVIDIAのPC用GPUがGeForce4時代から実装しているフィーチャーなので、技術的見地からは全く珍しくもないのだが、家庭用ゲーム機にこのアイディアをもってきたのは面白い。360の想定しているHD解像度は1,280x720ドットだが、これに対して、PS3は1,920x1,080ドットのフルHDに対応していることを強調した。後でも触れるが256MBのビデオメモリ、128ビットビデオメモリバス、たかだか22.4GB/secのビデオメモリ帯域で1,920x1,080ドットのフルフィーチャーのレンダリングは性能的にもビデオメモリ的にはギリギリな線だろう。PS3でも、大半のタイトルは1,280x720ドットベースになるものと予想される。興味深いのは、グラフィックスをレンダリングする実行ユニットともいうべきプログラマブルシェーダのパイプラインが、頂点シェーダ用とピクセルシェーダ用で固定設計となっているという点だ。360のGPUは、関係者への追加取材により、GPU負荷に応じて、48個ある共有シェーダユニットを、動的に頂点シェーダパイプラインとピクセルシェーダパイプラインに振り分ける仕組みを採用していることがわかっている。この点に置いて、ATIとNVIDIAの設計思想の違いが現われていて面白い。SDRAM」ということが明らかにされた。PS3では、CPUに256MB、GPU(グラフィックスプロセッサ)に256MBのメモリが接続されるというようなイメージだ。SDRAMメモリを共有して使うUMA(統合メモリ方式)を採用しているのとはずいぶんと設計方針が違う。メモリ帯域はメインメモリが25.6GB/sec、ビデオメモリが22.4GB/sec。この値は3.2GHz×64ビット幅、1.4GHz×128ビット幅の計算から求まった値だ。ビデオメモリはPC用ハイエンドGPUとはことなり、128ビット接続ということだ。メモリはUMAではなく、それぞれに用途別のメモリが接続される方式。PS3がサポートするハイダイナミックレンジにレンダリングとは?今回の発表会でNVIDIAが示した図。今回の発表で、PS3のRSXでは「ピクセル陰影処理の精度が最大128ビット」とも説明がされた。従来のリアルタイムレンダリングシステムでは、いわゆる32ビットカラーでのレンダリングを基本としていたが、PS3ではこれを128ビットカラーまでをサポートするということだ。32ビットカラーではα(透明度)、RGB(赤緑青)がそれぞれ8ビット整数で表現されていた色表現だったが、PS3のRSXの128ビットカラーでは、α、RGBがそれぞれ、32ビット浮動小数点実数までサポートされるということだ。した表現幅の大きいレンダリング方式を「ハイダイナミックレンジ(HDR)レンダリング」という。360の2つの次世代機はともにレンダリングシステムはHDRレンダリングに対応することになる。そんな色が出るディスプレイやテレビなんてないでしょう?」という意見もごもっとも。HDRレンダリングは、あくまでレンダリングをハイダイナミックレンジで行なうのであって、最終的な映像表示は従来の32ビットカラー(実際には24ビットの1,677万色)に落とし込んで行なわれる。よってテレビは今までのものを使う。それでは何のために「ハイダイナミックレンジ」にレンダリングするのか。近代の3Dゲームグラフィックスのレンダリングは複数のテクスチャを適用したり、陰影処理を多段階に組み合わせて行なうため、表現幅が狭いと誤差が蓄積され正しい結果にならない。HDレンダリングの目的の一つはピクセル単位の陰影処理の演算精度の向上にある。一つ、現実世界の光景と同じ様にハイダイナミックレンジにレンダリングを行ない、このシーンを任意の輝度レンジで映像の見え方を変更できるというメリットがある。これは、カメラでいうところのシャッタースピードを変えたり露出を変えたりといった動作に相当し、人間であれば目の瞳の大きさを変えることに相当する。暗いシーンで、だんだん目が慣れて明るく見えてくる様子や、トンネルから外に出たときのように、目のくらむようなまぶしいシーンがだんだんと適切に見えてきたり、といった表現ができるようになる。過度に明るいシーンの各箇所に“ぼやかし”を後処理で付加して、カメラのレンズ内反射によるフレア現象や、まつ毛による光の回折によって発生する光が溢れ出して見えるような表現もリアルに行なえるようになる。128ビットのHDRレンダリングは3Dゲーム用途としてはいささかオーバースペックであり、実際にゲームに活用されるのは64ビットで十分という意見が有力だ。128ビットHDRレンダリングも少々はったりがかましてあると考えるべきだろう。Scattering)のテクノロジーを実装したと説明した。面下散乱とは、光が吸収されて減衰したり反射したりするという単純な反射モデルだけでなく、光が表面に入り込みその中で散乱して外に出てくるという、非常に複雑な反射モデルをシミュレートしたものだ。今回のデモでは、光が裏に回ると肉厚の薄い耳殻から光が漏れてきたり、女性の顔のアップでも鼻の穴が単に真っ黒ではなく、肉をほんのすこし透過した光が赤い陰影を作り出したりしている。人間の皮膚の表現はリアルタイム3Dグラフィックスでは大きな研究テーマであった。Theory」編でも触れた、影生成技法の一つ、シャドウマップ技法の拡張発展系で実装しているようだ。これの基本アイディアをNVIDIAが論文として出している。光源を仮の視点としてシーンの深度情報(奥行き情報)をテクスチャなどにレンダリングし、そのシーンの遮蔽構造分布に相当する「シャドウマップ」を生成。ここまでは影生成の時と同じ。最終的なシーンのレンダリング時には、各ピクセル描画時に、そのピクセルが光源から遮蔽されてどのくらいの距離にあるのか(つまりどのくらいの厚さのものが光を遮っているのか)をシャドウマップを参照しながら求めつつ描画していく。薄ければ光が透過するような陰影で色を付ければいい。原理としては単純な分、問題も多いが、リアルタイムに動いて変形するキャラクタにも利用できるため、そのビジュアル効果は大きい。今回、公開されたデモでは、内部に仕込まれた骨の影までがうっすらと見えるようになっており、その骨同士が重なった描写まで見て取れる。このデモはハイダイナミックレンジレンダリングも適用されており、光の溢れ出し表現なども見て取れる。今までは、そこまでやっていたら重くて仕方なかったのだが、PS3のRSXでは、ゲーム内のキャラクタ描写にここまでパワーが使える......ということなのだろう。