社長が訊く Wii U GamePad編

任天堂の「社長が訊く」でWii UGamePad編が公開されたのですが、記述の端々に興味深いことがあってのでいろいろ書いてみたいと思います。
なお、今回は分解写真はありません。

Wii U GamePadの特筆すべきとことというとやはり画面がついていることなわけですが、
本体からの画像転送は既存のWHDI等をカスタマイズしているのではなく、
Wii Uのために編み出された方法であることがはっきりしました。
私の体験済みのWHDIはアクションゲームができるほどレイテンシがほぼないため、技術的にはこれの延長線かとも思っていましたが、
WHDIが非圧縮であるのに対し、Wii U GamePadは圧縮ありと言うことです。
もともとWHDIは1080pの画像が送れる技術なのでそこまでの性能は必要なかったのは明らかですが、
わざわざ圧縮することにしたのは電波の使用帯域の節約が頭にあったのでしょう。

圧縮(伸張)の処理時間が加算されるとリアルタイム性の確保が大変なのですが、
画像処理の単位を小さく(1/16^2画面?)したり、
送信トリガをデータサイズとしたりすることで、
開発パートナーのメガチップスの協力のもと何とかしたようです。
まあVoIPやMPEG2TSやパイプラインの発想を取り入れたに過ぎないという見方もでき、
画期的というほどではありませんが、
開発にあたった技術陣は大変な苦労をしたことでしょう。

Wii U GamaPad の開発に2年を費やしたような記述がありますし、
iPadの登場より前にコントローラ側に画面をつけることの検討を開始したことが
Wii Uの発表時に示唆されているので、
画像伝送については3年以上前にスタートしたと思われ、
WHDIやWirelessHDMIよりも先行していた可能性さえあります。
となると利用している電波は日本で昨年使用可能になった60GHzを使っているとは思えず、
込み合っている2.4GHzを使っているとも思えないですし、
チップはブロードコムが作ったようですので、
周波数的には5GHz帯で物理層やデータリンク層には無線LANの802.11aを使っていると推測できます。
これなら双方向なのでカメラやボタンからのデータの送信も容易ですし、
パケット単位でのデータの混合も問題はないでしょう。
最大伝送距離が数mで壁越しでも大丈夫な場合があるということなので、
同じ5GHzを使うWHDIと感覚的には似たようなものです。

Wii U GamePadのLCDの解像度は800×480のようですので、
表示能力を24ビット色、映像を30fps(プログレッシブ)とすると、
無圧縮なら約300Mbpsの転送能力が必要となります。
802.11aだと高々54Mbpsなので、実効速度やカメラ等のデータが割り込むことを考えると、
好条件下でも10分の1程度にしなければ話にもなりません。
幸いにして映像の圧縮については標準的にMPEG2で1/25、
H.264で1/100ぐらいにはできるので実際には難しくありません。
IC化や開発コスト、実績等を考えると、
任天堂が独自のコーデックを作り出すとは思えないので、
枯れたMPEG2かH.264のハードウェアコーデックを
パイプライン的に使えるようにカスタマイズしたものだとは思います。
Wii U本体側のエンコーダは電力的にもGPUの処理能力的にも融通が利くと思いますが、
いろいろと制限のきついGamePad側への実装やリアルタイム性を追求すると、
私としてはMPEG2に一票入れたいと思います。
カメラデータ圧縮用のMPEG2エンコーダとか、
コンテンツ保護のための暗号化ハードウェアエンジンとか、
GamePadにはBroadcomのBCM11211のカスタム版ぐらい入っているかもしれません。

最後に、Wii U GamePadを動かす事によるドップラー効果について考えてみたいと思います。
無線通信でドップラー効果の影響を受けるケースというのは聞いたことがなく、
対人工衛星ぐらいでなければ通常ないと思うのですが、まあそれは置いておいて。
片方向の周波数シフト量は(Wii U GamePadの移動速度)が(光速)より十分小さいので
(Wii U GamePadの移動速度)×(搬送波周波数)÷(光速)
で近似でき、5GHzで時速100kmで動かしたとしてシフト量は500Hzぐらいになります。
5GHzに対する500Hzは0.1ppmであり、これが悪影響を及ぼすとは思えません。
802.11aは48本のサブキャリア(52本中4本はパイロット信号用)と
64QAM(1データ単位あたり6ビット)で54Mbpsを実現しているので、
1つの搬送波で1秒間に約200000(≒54Mbps/48本/6ビット)個のデータを扱うことになります。
乱暴に言って200kHzに対する500Hzとなると2.5%の影響があるので、
Wii U GamePadを激しく動かすとドップラー効果が影響する可能性も理論上あるかもしれない、
と言えるかもしれません。
われながらひどいこじつけです。

このドップラー効果の理論を筆頭に、
ここに書いたことは私の個人的推論が多分に含まれているので、
あんまり信用しないようにしてくださいね。