後藤弘茂のWeekly海外ニュース

「Xbox One」を汎用からゲーム路線へと変化させたMicrosoftの背景

新作ゲームの紹介だけに徹底してフォーカスしたMicrosoft

 怒濤の新作ゲームラッシュ。Microsoftが米ロサンゼルスで開催されているゲームショウ「E3(Electronic Entertainment Expo)」に合わせて行なったカンファレンス「Xbox E3 2014 Media Briefing」を一言で形容すればそうなる。

 Microsoftはひたすらゲームタイトルで推しまくった。昨年(2013年)前半までの汎用性を強調したXbox Oneのアピールとは全く異なる、徹底したゲーム中心のプロモーションだった。

 Microsoftの明かな路線変更の影で薄れたのは、TV番組との連携やスマートフォンやタブレットと連動する「SmartGlass」、そして「Kinect」だった。Microsoftは、E3の前にXbox Oneから標準の装備だったKinectを外した廉価バージョンを提供することを発表。Kinect無し版Xbox Oneで、価格をPlayStation 4(PS4)と同じ399ドルに揃えて戦う姿勢を明らかにした。PS4との100ドルの価格差を埋め、PS4に対して明らかに劣勢なXbox Oneを、ゲームに集中させることで盛り返そうという戦略だ。

 つまり、コンピュータのユーザーインターフェイス(UI)を根底から変えようとか、ゲーム機とTVやスマートデバイスを融合させようといった大きなビジョンは後退。その代わり、ゲーム機としての本質に立ち戻った路線が浮上してきた。ゲーム機をゲームショウで紹介するのだから当然と言えるが、Xbox Oneの場合は発表時はゲーム以外の部分を強調していたため、大きな路線変更に見える。

 伝統的なゲーム機は、発売から3年目くらいからハーベストイヤー(収穫年)になり、ゲームコンテンツが充実するというパターンを経ていた。そのため、最初の2年ほどは、高品質で大作のタイトルがやや薄い場合が多かった。しかし、今回は、2年目となる今年(2014年)末の商戦から、大作ゲームが目白押しで、一気にトップギアに入ったように見える。

 もちろん、そこには、Xbox OneのメインチップがAMD APU(Accelerated Processing Unit)ベースとなり、ゲーム開発が従来のコンソールより格段に楽になったという技術的な背景がある。AMDのAPU「Kaveri」とMicrosoftのXbox One APUを比べると、兄弟とは行かないが従兄弟程度には似ていることが分かる。AMD APUシステムとXbox One、PS4は、同じ枝から分かれたものだ。

AMDの現在のAPU Kaveriの内部アーキテクチャ(PDF版はこちら)
Kaveriと同時期に開発されたXbox OneのAPUアーキテクチャ(PDF版はこちら)

ゲームグラフィックスの向上の余地があるXbox One

 PCグラフィックスとの技術的な親和性のため、Xbox Oneゲームの3Dグラフィックス品質も前世代より高く、Xbox 360から飛躍した。今回のE3カンファレンスでも、怒濤のように紹介されるタイトルで、グラフィックスの美しさが何度も強調された。今後登場するXbox Oneタイトルは、昨年(2013年)末の発表時のタイトルより、さらにグラフィックス品質が向上するように見える。

 実際に、発表時と比べると、セカンドウェイブ(第2波)のゲームは内蔵するeSRAMの使い方がうまくなるためグラフィックス品質が向上するという。Xbox OneのAPUは、グラフィックス用に32MBの組み込みSRAMを内蔵している。これは、Xbox One APUだけの特徴で、8MBずつのブロックにそれぞれ256-bitのリード&ライトバスで接続されている。バスは合計で1,024-bitで、ピークメモリ帯域は片方向で109GB/secだ。

 Xbox Oneの場合、メインメモリは低コストなDDR3を使っているが、DDR3のメモリ帯域が足りない分は、eSRAMで補っている。そのため、原則的にはeSRAMを積極的に使えば使うほど、帯域ボトルネックが低減されてグラフィックス品質を向上させる余裕が生まれることになる。レンダーターゲット、テクスチャ、ジオメトリ、GPUコンピュートの全てのリソースとタスクでeSRAMは使うことができる。ただし、このeSRAMを使うことは、簡単には行かない。

eSRAMの使い方に4ステップがあるとMicrosoftは指摘する。ローンチタイトルは2ステップ目まで

 上は、AMDとMicrosoftがE3の前週に開催した開発者向けカンファレンス「AMD & Microsoft Game Developer Day」のスライドで、これを見ると、ローンチ時のゲームは、Microsoftが推奨するeSRAMの使い方のうち、まだ2段階目までしか使っていないことが分かる。せっかくのeSRAMのメモリ帯域が、まだ使い切られていないケースが多いと推測される。Microsoftはこのスライドで、セカンドウエイブのゲームはチャートの3~4段階を試し始めているという。それが、次の年末商戦のゲーム群だろう。そのため、セカンドウエイブゲームでは、帯域の制約が軽減される可能性が高まる。

 ただし、若干矛盾するようだが、現在のゲーム機のメモリ帯域はROP(Rendering Output Pipeline)に対しては足りていない。ROPのピクセルオペレーションをフルに稼働させると、eSRAMを使っても帯域が制約となると、同じカンファレンスで指摘されている。ただし、これはROP数がXbox Oneの2倍のPS4でも同様だ。

eSRAMの帯域とROPの処理で発生する転送量との関係

Kinectが標準装備から外れた影響

 E3のカンファレンスだけを見ると、KinectもSmartGlassも、どこかへ吹っ飛んでしまったように見える。SmartGlassはともかく、Kinectに対するMicrosoftの姿勢の変化は非常に影響が大きい。特に、MicrosoftがE3に合わせて、Xbox OneからKinectを取り去った廉価版を投入したことは重要だ。

 ゲーム機の場合、本体セットに標準で付いている機能については、その機能を使ったゲームを作りやすい。全てのマシンに備わっていることが明白だからだ。ところが、オプション機器の場合は、ゲーム機の場合は普及がなかなか進まない場合が多い。ゲームデベロッパも、普及するかどうか分からない機器に依存するタイトルは作りにくい。すると、対応ゲームが少ないため、ますますオプション機器が普及しないという悪循環に陥ってしまう。

 Microsoftの場合は、最初はXbox OneにKinectを同梱して、標準装備とした。開発者にとっては、全てのXbox OneにKinectが付いていることが分かっているから、対応がしやすかったはずだ。しかし、今回の処置で、KinectなしのXbox Oneが出現してしまったため、今後はKinectに依存したゲームは作りにくくなる。ナチュラルユーザーインターフェイスを推進しようという野心的な試みは後退したことになる。ゲーマーの多くは、従来のコントローラを好むため、ゲームに焦点を当てると、この戦略も分かる話となる。

 ちなみに、MicrosoftはKinectを外したXbox Oneでは性能の余力が増えるとしている。そのため、ゲームを重視するユーザーには、Kinectレスの流れは、さらに好ましいものとなっている。また、性能面での向上は、GPUの演算ユニットとROP数でPS4よりも不利なXbox Oneにとって、より重要だ。

PS4のAPUはXbox OneよりもGPU回りが強力だ(PDF版はこちら)

非常に力を入れたKinectセンサーチップ

 Microsoftは2世代目のKinectで、物体との距離を測る深度センサーを大幅に改良した。正確には、第1世代のKinectとは大きく異なる技術「Time-of-Flight (TOF)」を使って、深度センサーの精度を大幅に向上させた。TOF方式では、赤外線などで投射したパルスが物体表面に当たって反射する光をセンサーで検知することで物体との距離を測定する。光が戻ってくるまでの往復時間によって、カメラから物体までの位置を計算する仕組みで、基本的にはレーダー(アクティブレーダー)と同じだ。問題は深度方向の解像度を上げるためには、極めて短いTOFの時間差を計測しなければならないため、センサーチップの設計が難しい点にある。

 そこで、Microsoftは独自のセンサーチップを開発、チップの概要を2月の半導体カンファレンス「ISSCC(IEEE International Solid-State Circuits Conference) 2014」で発表した。MicrosoftのKinectのセンサーチップは、発表されたTOFチップの中では最も解像度が高く、精度も高いという。チップは10μmのピクセルピッチの512×424ピクセルのピクセルアレイを搭載。モジュレーションを最高130MHzの高周波数で行なう。ダイサイズ(半導体本体の面積)も約116.4平方mmと大きい。開発にも製造にもコストがかかるチップだ。

昨年(2013年)8月のHotChipsで発表されたKinectセンサーのアーキテクチャ
ISSCCで発表されたKinect2のセンサーチップのダイ
Kinect2のセンサーチップのスペック
Kinect2のセンサーチップのスペックはこれまで発表されたTOFチップの中でも群を抜いている

 Microsoftは独自に開発したセンサーチップによって、第1世代のKinectとは比較にならない高精度の新Kinectを作り上げた。高い深度ピクセル解像度、低いモーションブラー、広角のフィールドビュー、ダイナミックレンジが高い深度情報、周辺光の影響を排除した明度のイメージを実現している。結果として、高い品質の3Dモーションディテクションが可能となり、ゲームにおいては精緻なコントロールが可能になる。第1世代のKinectにあったような、モーションコントロールの精度の問題はほぼ解消されるはずだった。

このスライド群はMicrosoftのカンファレンスBuild 14で発表さえたもの。Kinectは3種類のイメージを組み合わせる

 Microsoftは手間暇とコストをかけて新Kinectを作り上げた。その目的は、KinectをXbox Oneの標準インターフェイスとし、汎用に使えるだけの精度に引き上げることだったと見られる。しかし、発売から半年でMicrosoftは方針を一転、Xbox Oneの中でもっとも手間がかかっている部分の1つのKinectを分離してしまった。この影響は大きいが、ローンチタイトルを見ても、ゲーム開発者側はKinectに依存することを避けており、そうした現状の追認と考えることもできる。

チップコストの低減は半導体の微細化に沿う

 PS4に対抗するだけなら、Kinectを付けたままXbox Oneの価格を引き下げればよかったと思うかも知れない。しかし、現在のXbox Oneでは、それも難しい。Xbox Oneもそれなりに製造コストが高いからだ。メインAPUはPC向けAPUと比べるとずっとダイサイズが大きく、DRAMチップ個数は前世代のゲーム機より多く、半導体コストはそれなりに高い。

 下の図はPlayStationとXboxのチップセットの世代毎のダイサイズを比較したものだ。今回のXbox OneのAPUのダイは300平方mm台後半で、非常にダイが大きい。ちなみに、SCEのPS4もAPUダイは同程度に大きい。つまり、SCEはAPUのダイをGPUのリソースを大きくすることに費やし、MicrosoftはAPUのダイをeSRAMの実装に費やしたことが分かる。

XboxとPlayStationチップの微細化(PDF版はこちら)

 Xbox OneとPS4のどちらもAMD設計のAPUを採用し、同程度のダイサイズ(PS4の方がやや小さい)で、使えるファウンダリも似たりよったりなので、今後のチップコストの低減も同じようなカーブを描くことになるだろう。ただし、逼迫している20nmプロセスのラインを確保できるかどうか、どのタイミングでどこのFinFETプロセスに移行するかの選択では分かれる可能性がある。その判断では、両マシンの間に電力や性能などで差が開く可能性もある。

Build 14とは対照的なMicrosoftのアプローチ

 E3では、ゲームに完全にフォーカスしたプレゼンテーションを行なったMicrosoft。だが、同社はわずか2カ月前の、ソフトウェア開発者向けカンファレンス「Build 14」では、むしろ反対の印象のセッションを行なっている。この時は、Microsoftは、Xbox One向けに、ほかのMicrosoftプラットフォームと共通に走るアプリケーションの開発のためのガイドラインを示した。また、スマートフォンやタブレットをXbox Oneと連携させるSmartGlassのNative SDKも発表した。

Xbox One上で汎用アプリを走らせることを可能とするマルチOSアーキテクチャ
SmartGlassのNative SDK
Xbox Oneのアプリケーションプラットフォーム
Xbox Oneが持つ3つのOS/ローレベルレイヤー

 Xbox Oneは、3つのOS/ローレベルレイヤーを持つ。1つはHypervisorで、その上にゲーム用のOSと汎用のWindows 8コアが共存している。ゲームOSは、ゲームに特化したカスタムOSで「ERA(Exclusive Resource Allocation)」と呼ばれている。汎用OSは「SRA(Shared Resource Allocation)」と呼ばれており、こちらの上で走る汎用アプリを作ることができる。

 こうして見ると、Xbox Oneには依然として2つの顔があることが分かる。1つは、ゲームの世界に向けたゲームマシンとして顔、これが、今回E3で強調された。その一方で、より広いソフトウェア開発コミュニティに向けた汎用に使えるゲーム機と深度センサーとしてのXbox OneとKinect。ビジネスでは前者が推進されている。

インディゲームには大盤振る舞いのプログラムを提供

 最後に、今回のE3カンファレンスで、Microsoftはインディ(インディーズ)ゲームにもそれなりに時間を割いた。独立系の小規模または個人ゲーム開発者達の手によるインディゲームは業界の大きなうねりとなっている。Microsoftは3月のゲーム開発者向けカンファレンス「GDC(Game Developers Conference)」で、Xbox Oneに独立系の開発者を呼び込むためのプログラム「ID@Xbox」を強調していた。

 ID@Xboxは、開発機材としてのXbox Oneも含めて、開発キットを無料でインディゲーム開発者に提供するという大盤振る舞いのプログラムだ。開発者の評価に一定の基準はあるものの、幅広く開発者を集めようとしている。もちろん、ゲーム開発に当たって倫理的な基準はあるが、承認の要件は従来よりずっと少なくなっているという。

インディゲーム開発者向けのプログラムを説明するMicrosoftのカンファレンススライド

 今回のE3で一言も触れられなかったXbox Oneの技術的要素の1つは、Microsoftの次世代APIセット「DirectX 12」のXbox One対応についてだ。DirectX 12は、AMDの「Mantle」と似たようなアイデアで、オーバーヘッドを減らしたグラフィックスAPI「Direct3D 12」を含む。MicrosoftはGDCで、DirectX 12がXbox Oneにも乗り、Microsoftプラットフォーム共通のAPIとなると説明した。

Microsoft共通のAPIとなるDirectX 12

 もちろん、これは、Xbox Oneの既存のグラフィックスAPIを置き換えるという意味ではない。Xbox OneのAPIは、すでにDirectX 12のようにオーバーヘッドの少ないAPIで、置き換える意味はない。主眼は、Windows PCなどほかのMicrosoftプラットフォームとの共通タイトルをより迅速に開発できるという点になる。ただし、DirectX 12自体の登場が、まだ先のためか、リアルなタイトルの紹介に終始した今回は触れられなかった。

(後藤 弘茂 (Hiroshige Goto)E-mail