(58)【調査した分野】(Int.Cl.,DB名)
前記第1画像生成部は、前記撮像画像のうちで前記顔認識部によって認識された顔の画像に対して所定の加工処理を施し、加工処理後の画像を含む第1ゲーム画像を生成する、請求項2に記載のゲームシステム。
前記第1画像生成ステップにおいては、前記撮像画像のうちで前記顔認識ステップにおいて認識された顔の画像に対して所定の加工処理が施され、加工処理後の画像を含む第1ゲーム画像が生成される、請求項13に記載の画像生成方法。
【発明を実施するための形態】
【0036】
[1.ゲームシステムの全体構成]
以下、図面を参照して、本発明の一実施形態に係るゲームシステム1について説明する。
図1は、ゲームシステム1の外観図である。
図1において、ゲームシステム1は、テレビジョン受像器等に代表される据置型のディスプレイ装置(以下、「テレビ」と記載する)2、据置型のゲーム装置3、光ディスク4、コントローラ5、マーカ装置6、および、端末装置7を含む。ゲームシステム1は、コントローラ5および/または端末装置7を用いたゲーム操作に基づいてゲーム装置3においてゲーム処理を実行し、ゲーム処理によって得られるゲーム画像をテレビ2および/または端末装置7に表示するものである。
【0037】
ゲーム装置3には、当該ゲーム装置3に対して交換可能に用いられる情報記憶媒体の一例である光ディスク4が脱着可能に挿入される。光ディスク4には、ゲーム装置3において実行されるための情報処理プログラム(典型的にはゲームプログラム)が記憶されている。ゲーム装置3の前面には光ディスク4の挿入口が設けられている。ゲーム装置3は、挿入口に挿入された光ディスク4に記憶されている情報処理プログラムを読み出して実行することによってゲーム処理を実行する。
【0038】
ゲーム装置3には、テレビ2が接続コードを介して接続される。テレビ2は、ゲーム装置3において実行されるゲーム処理によって得られるゲーム画像を表示する。テレビ2はスピーカ2a(
図2)を有しており、スピーカ2aは、上記ゲーム処理の結果得られるゲーム音声を出力する。なお、他の実施形態においては、ゲーム装置3と据置型の表示装置とは一体となっていてもよい。また、ゲーム装置3とテレビ2との通信は無線通信であってもよい。
【0039】
テレビ2の画面の周辺(
図1では画面の上側)には、マーカ装置6が設置される。詳細は後述するが、ユーザ(プレイヤ)はコントローラ5を動かすゲーム操作を行うことができ、マーカ装置6は、コントローラ5の動きや位置や姿勢等をゲーム装置3が算出するために用いられる。マーカ装置6は、その両端に2つのマーカ6Rおよび6Lを備えている。マーカ6R(マーカ6Lも同様)は、具体的には1以上の赤外LED(Light Emitting Diode)であり、テレビ2の前方に向かって赤外光を出力する。マーカ装置6は有線で(無線であってもよい)ゲーム装置3に接続されており、ゲーム装置3はマーカ装置6が備える各赤外LEDの点灯を制御することが可能である。なお、マーカ装置6は可搬型であり、ユーザはマーカ装置6を自由な位置に設置することができる。
図1ではマーカ装置6がテレビ2の上に設置された態様を表しているが、マーカ装置6を設置する位置および向きは任意である。
【0040】
コントローラ5は、自機に対して行われた操作の内容を表す操作データをゲーム装置3に与えるものである。本実施形態では、コントローラ5は、メインコントローラ8とサブコントローラ9とを有し、サブコントローラ9がメインコントローラ8に着脱可能に装着される構成である。コントローラ5とゲーム装置3とは無線通信によって通信可能である。本実施形態では、コントローラ5とゲーム装置3との間の無線通信には例えばBluetooth(ブルートゥース)(登録商標)の技術が用いられる。なお、他の実施形態においてはコントローラ5とゲーム装置3とは有線で接続されてもよい。また、
図1では、ゲームシステム1に含まれるコントローラ5は1つとするが、ゲームシステム1は複数のコントローラ5を含んでいてもよい。つまり、ゲーム装置3は複数のコントローラと通信可能であり、所定台数のコントローラを同時に使用することによって複数人でゲームをプレイすることが可能である。コントローラ5の詳細な構成については後述する。
【0041】
端末装置7は、可搬型であり、ユーザが把持可能な程度の大きさである。ユーザは端末装置7を手に持って動かしたり、あるいは、端末装置7を自由な位置に配置したりして使用することが可能である。詳細な構成は後述するが、端末装置7は、表示手段であるLCD(Liquid Crystal Display:液晶表示装置)51、および、入力手段(後述するタッチパネル52やジャイロセンサ74等)を備える。端末装置7とゲーム装置3とは無線(有線であってもよい)によって通信可能である。端末装置7は、ゲーム装置3で生成された画像(例えばゲーム画像)のデータをゲーム装置3から受信し、画像をLCD51に表示する。なお、本実施形態では表示装置としてLCDを用いているが、端末装置7は、例えばEL(Electro Luminescence:電界発光)を利用した表示装置等、他の任意の表示装置を有していてもよい。また、端末装置7は、自機に対して行われた操作の内容を表す操作データをゲーム装置3に送信する
【0042】
[2.ゲーム装置3の内部構成]
次に、
図2を参照して、ゲーム装置3の内部構成について説明する。
図2は、ゲーム装置3の内部構成を示すブロック図である。ゲーム装置3は、CPU(Central Processing Unit)10、システムLSI11、外部メインメモリ12、ROM/RTC13、ディスクドライブ14、およびAV−IC15等を有する。
【0043】
CPU10は、光ディスク4に記憶されたゲームプログラムを実行することによってゲーム処理を実行するものであり、ゲームプロセッサとして機能する。CPU10は、システムLSI11に接続される。システムLSI11には、CPU10の他、外部メインメモリ12、ROM/RTC13、ディスクドライブ14およびAV−IC15が接続される。システムLSI11は、それに接続される各構成要素間におけるデータ転送の制御、表示すべき画像の生成、外部装置からのデータの取得等の処理を行う。なお、システムLSI11の内部構成については後述する。揮発性の外部メインメモリ12は、光ディスク4から読み出されたゲームプログラムや、フラッシュメモリ17から読み出されたゲームプログラム等のプログラムを記憶したり、各種データを記憶したりするものであり、CPU10のワーク領域やバッファ領域として用いられる。ROM/RTC13は、ゲーム装置3の起動用のプログラムが組み込まれるROM(いわゆるブートROM)と、時間をカウントするクロック回路(RTC:Real Time Clock)とを有する。ディスクドライブ14は、光ディスク4からプログラムデータやテクスチャデータ等を読み出し、後述する内部メインメモリ11eまたは外部メインメモリ12に読み出したデータを書き込む。
【0044】
システムLSI11には、入出力プロセッサ(I/Oプロセッサ)11a、GPU(Graphics Processor Unit)11b、DSP(Digital Signal Processor)11c、VRAM(Video RAM)11d、および内部メインメモリ11eが設けられる。図示は省略するが、これらの構成要素11a〜11eは内部バスによって互いに接続される。
【0045】
GPU11bは、描画手段の一部を形成し、CPU10からのグラフィクスコマンド(作画命令)に従って画像を生成する。VRAM11dは、GPU11bがグラフィクスコマンドを実行するために必要なデータ(ポリゴンデータやテクスチャデータ等のデータ)を記憶する。画像が生成される際には、GPU11bは、VRAM11dに記憶されたデータを用いて画像データを作成する。なお、本実施形態においては、ゲーム装置3は、テレビ2に表示する画像(ゲーム画像)と、端末装置7に表示する画像(ゲーム画像)との両方を生成する。以下では、テレビ2に表示される画像を「テレビ用画像」と呼び、端末装置7に表示される画像を「端末用画像」と呼ぶことがある。
【0046】
DSP11cは、オーディオプロセッサとして機能し、内部メインメモリ11eや外部メインメモリ12に記憶されるサウンドデータや音波形(音色)データを用いて、音声データを生成する。なお、本実施形態においては、音声(ゲーム音声)についてもゲーム画像と同様、テレビ2のスピーカから出力する音声と、端末装置7のスピーカから出力する音声との両方が生成される。以下では、テレビ2から出力される音声を「テレビ用音声」と呼び、端末装置7から出力される音声を「端末用音声」と呼ぶことがある。
【0047】
上記のようにゲーム装置3において生成される画像および音声のうちで、テレビ2において出力される画像および音声のデータは、AV−IC15によって読み出される。AV−IC15は、読み出した画像データをAVコネクタ16を介してテレビ2に出力するとともに、読み出した音声データを、テレビ2に内蔵されるスピーカ2aに出力する。これによって、テレビ2に画像が表示されるとともにスピーカ2aから音が出力される。なお、ゲーム装置3とテレビ2との接続は、どのような方式で行われてもよいが、ゲーム装置3は、テレビ2を制御する制御指令を有線または無線でテレビ2へ送信するようにしてもよい。例えばHDMI(High−Definition Multimedia Interface)規格に則ったHDMIケーブルが用いられてもよい。HDMI規格では、CEC(Consumer Electronics Control)と呼ばれる機能によって、接続相手の機器を制御することが可能である。したがって、HDMIケーブルが用いられる場合のように、ゲーム装置3がテレビ2に対する制御が可能である場合には、ゲーム装置3は、適宜のタイミングでテレビ2の電源をオンにしたり、テレビ2の入力を切り替えたりすることができる。
【0048】
また、ゲーム装置3において生成される画像および音声のうちで、端末装置7において出力される画像および音声のデータは、入出力プロセッサ11a等によって端末装置7へ送信される。入出力プロセッサ11a等による端末装置7へのデータの送信については後述する。
【0049】
入出力プロセッサ11aは、それに接続される構成要素との間でデータの送受信を実行したり、外部装置からのデータのダウンロードを実行したりする。入出力プロセッサ11aは、フラッシュメモリ17、ネットワーク通信モジュール18、コントローラ通信モジュール19、拡張コネクタ20、メモリカード用コネクタ21、コーデックLSI27に接続される。また、ネットワーク通信モジュール18にはアンテナ22が接続される。コントローラ通信モジュール19にはアンテナ23が接続される。コーデックLSI27は端末通信モジュール28に接続され、端末通信モジュール28にはアンテナ29が接続される。
【0050】
ゲーム装置3は、インターネット等のネットワークに接続して外部の情報処理装置(例えば他のゲーム装置や、各種サーバ等)と通信を行うことが可能である。すなわち、入出力プロセッサ11aは、ネットワーク通信モジュール18およびアンテナ22を介してインターネット等のネットワークに接続可能であり、ネットワークに接続される他の装置と通信を行うことができる。入出力プロセッサ11aは、定期的にフラッシュメモリ17にアクセスし、ネットワークへ送信する必要があるデータの有無を検出し、当該データが有る場合には、ネットワーク通信モジュール18およびアンテナ22を介してネットワークに送信する。また、入出力プロセッサ11aは、外部情報処理装置から送信されてくるデータやダウンロードサーバからダウンロードしたデータを、ネットワーク、アンテナ22およびネットワーク通信モジュール18を介して受信し、受信したデータをフラッシュメモリ17に記憶する。CPU10はゲームプログラムを実行することにより、フラッシュメモリ17に記憶されたデータを読み出してゲームプログラムで利用する。フラッシュメモリ17には、ゲーム装置3と外部情報処理装置との間で送受信されるデータの他、ゲーム装置3を利用してプレイしたゲームのセーブデータ(ゲームの結果データまたは途中データ)が記憶されてもよい。また、フラッシュメモリ17にはゲームプログラムが記憶されてもよい。
【0051】
また、ゲーム装置3は、コントローラ5からの操作データを受信することが可能である。すなわち、入出力プロセッサ11aは、コントローラ5から送信される操作データをアンテナ23およびコントローラ通信モジュール19を介して受信し、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0052】
また、ゲーム装置3は、端末装置7との間で画像や音声等のデータを送受信することが可能である。入出力プロセッサ11aは、端末装置7へゲーム画像(端末用ゲーム画像)を送信する場合、GPU11bが生成したゲーム画像のデータをコーデックLSI27へ出力する。コーデックLSI27は、入出力プロセッサ11aからの画像データに対して所定の圧縮処理を行う。端末通信モジュール28は、端末装置7との間で無線通信を行う。したがって、コーデックLSI27によって圧縮された画像データは、端末通信モジュール28によってアンテナ29を介して端末装置7へ送信される。なお、本実施形態では、ゲーム装置3から端末装置7へ送信される画像データはゲームに用いるものであり、ゲームにおいては表示される画像に遅延が生じるとゲームの操作性に悪影響が出る。そのため、ゲーム装置3から端末装置7への画像データの送信に関しては、できるだけ遅延が生じないようにすることが好ましい。したがって、本実施形態では、コーデックLSI27は、例えばH.264規格といった高効率の圧縮技術を用いて画像データを圧縮する。なお、それ以外の圧縮技術を用いてもよいし、通信速度が十分である場合には無圧縮で画像データを送信する構成であってもよい。また、端末通信モジュール28は、例えばWi−Fiの認証を受けた通信モジュールであり、例えばIEEE802.11n規格で採用されるMIMO(Multiple Input Multiple Output)の技術を用いて端末装置7との間の無線通信を高速に行うようにしてもよいし、他の通信方式を用いてもよい。
【0053】
また、ゲーム装置3は、画像データの他、音声データを端末装置7へ送信する。すなわち、入出力プロセッサ11aは、DSP11cが生成した音声データを、コーデックLSI27を介して端末通信モジュール28へ出力する。コーデックLSI27は、音声データに対しても画像データと同様に圧縮処理を行う。音声データに対する圧縮の方式は、どのような方式であってもよいが、圧縮率が高く、音声の劣化が少ない方式が好ましい。また、他の実施形態においては、音声データは圧縮されずに送信されてもよい。端末通信モジュール28は、圧縮された画像データおよび音声データを、アンテナ29を介して端末装置7へ送信する。
【0054】
さらに、ゲーム装置3は、上記画像データおよび音声データの他に、必要に応じて各種の制御データを端末装置7へ送信する。制御データは、端末装置7が備える構成要素に対する制御指示を表すデータであり、例えばマーカ部(
図12に示すマーカ部55)の点灯を制御する指示や、カメラ(
図12に示すカメラ56)の撮像を制御する指示等を表す。入出力プロセッサ11aは、CPU10の指示に応じて制御データを端末装置7へ送信する。なお、この制御データに関して、本実施形態ではコーデックLSI27はデータの圧縮処理を行わないが、他の実施形態においては圧縮処理を行うようにしてもよい。なお、ゲーム装置3から端末装置7へ送信される上述のデータは、必要に応じて暗号化がされていてもよいし、されていなくともよい。
【0055】
また、ゲーム装置3は、端末装置7から各種データを受信可能である。詳細は後述するが、本実施形態では、端末装置7は、操作データ、画像データ、および音声データを送信する。端末装置7から送信される各データはアンテナ29を介して端末通信モジュール28によって受信される。ここで、端末装置7からの画像データおよび音声データは、ゲーム装置3から端末装置7への画像データおよび音声データと同様の圧縮処理が施されている。したがって、これら画像データおよび音声データについては、端末通信モジュール28からコーデックLSI27に送られ、コーデックLSI27によって伸張処理が施されて入出力プロセッサ11aに出力される。一方、端末装置7からの操作データに関しては、画像や音声に比べてデータ量が少ないので、圧縮処理が施されていなくともよい。また、必要に応じて暗号化がされていてもよいし、されていなくともよい。したがって、操作データは、端末通信モジュール28で受信された後、コーデックLSI27を介して入出力プロセッサ11aに出力される。入出力プロセッサ11aは、端末装置7から受信したデータを、内部メインメモリ11eまたは外部メインメモリ12のバッファ領域に記憶(一時記憶)する。
【0056】
また、ゲーム装置3は、他の機器や外部記憶媒体に接続することが可能である。すなわち、入出力プロセッサ11aには、拡張コネクタ20およびメモリカード用コネクタ21が接続される。拡張コネクタ20は、USBやSCSIのようなインターフェースのためのコネクタである。拡張コネクタ20に対しては、外部記憶媒体のようなメディアを接続したり、他のコントローラ等の周辺機器を接続したり、有線の通信用コネクタを接続することによってネットワーク通信モジュール18に替えてネットワークとの通信を行ったりすることができる。メモリカード用コネクタ21は、メモリカードのような外部記憶媒体を接続するためのコネクタである。例えば、入出力プロセッサ11aは、拡張コネクタ20やメモリカード用コネクタ21を介して外部記憶媒体にアクセスし、外部記憶媒体にデータを保存したり、外部記憶媒体からデータを読み出したりすることができる。
【0057】
ゲーム装置3には、電源ボタン24、リセットボタン25、およびイジェクトボタン26が設けられる。電源ボタン24およびリセットボタン25は、システムLSI11に接続される。電源ボタン24がオンされると、図示しないACアダプタによって外部の電源からゲーム装置3の各構成要素に対して電力が供給される。リセットボタン25が押されると、システムLSI11は、ゲーム装置3の起動プログラムを再起動する。イジェクトボタン26は、ディスクドライブ14に接続される。イジェクトボタン26が押されると、ディスクドライブ14から光ディスク4が排出される。
【0058】
なお、他の実施形態においては、ゲーム装置3が備える各構成要素のうちでいくつかの構成要素は、ゲーム装置3とは別体の拡張機器として構成されてもよい。このとき、拡張機器は、例えば上記拡張コネクタ20を介してゲーム装置3と接続されるようにしてもよい。具体的には、拡張機器は、例えば上記コーデックLSI27、端末通信モジュール28およびアンテナ29の各構成要素を備えており、拡張コネクタ20に対して着脱可能であってもよい。これによれば、上記各構成要素を備えていないゲーム装置に対して上記拡張機器を接続することによって、当該ゲーム装置を端末装置7と通信可能な構成とすることができる。
【0059】
[3.コントローラ5の構成]
次に、
図3〜
図7を参照して、コントローラ5について説明する。上述のように、コントローラ5は、メインコントローラ8とサブコントローラ9とによって構成される。
図3は、メインコントローラ8の外観構成を示す斜視図である。
図4は、メインコントローラ8の外観構成を示す斜視図である。
図3は、メインコントローラ8の上側後方から見た斜視図であり、
図4は、メインコントローラ8を下側前方から見た斜視図である。
【0060】
図3および
図4において、メインコントローラ8は、例えばプラスチック成型によって形成されたハウジング31を有している。ハウジング31は、その前後方向(
図3に示すZ軸方向)を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。ユーザは、メインコントローラ8に設けられたボタンを押下すること、および、メインコントローラ8自体を動かしてその位置や姿勢(傾き)を変えることによってゲーム操作を行うことができる。
【0061】
ハウジング31には、複数の操作ボタンが設けられる。
図3に示すように、ハウジング31の上面には、十字ボタン32a、1番ボタン32b、2番ボタン32c、Aボタン32d、マイナスボタン32e、ホームボタン32f、プラスボタン32g、および電源ボタン32hが設けられる。本明細書では、これらのボタン32a〜32hが設けられるハウジング31の上面を「ボタン面」と呼ぶことがある。一方、
図4に示すように、ハウジング31の下面には凹部が形成されており、当該凹部の後面側傾斜面にはBボタン32iが設けられる。これらの各操作ボタン32a〜32iには、ゲーム装置3が実行する情報処理プログラムに応じた機能が適宜割り当てられる。また、電源ボタン32hは遠隔からゲーム装置3本体の電源をオン/オフするためのものである。ホームボタン32fおよび電源ボタン32hは、その上面がハウジング31の上面に埋没している。これによって、ユーザがホームボタン32fまたは電源ボタン32hを誤って押下することを防止することができる。
【0062】
ハウジング31の後面にはコネクタ33が設けられている。コネクタ33は、メインコントローラ8に他の機器(例えば、サブコントローラ9や他のセンサユニット等)を接続するために利用される。また、ハウジング31の後面におけるコネクタ33の両側には、上記他の機器が容易に離脱することを防止するために係止穴33aが設けられている。
【0063】
ハウジング31上面の後方には複数(
図3では4つ)のLED34a〜34dが設けられる。ここで、コントローラ5(メインコントローラ8)には、他のコントローラと区別するためにコントローラ種別(番号)が付与される。各LED34a〜34dは、コントローラ5に現在設定されている上記コントローラ種別をユーザに通知したり、コントローラ5の電池残量をユーザに通知したりする等の目的で用いられる。具体的には、コントローラ5を用いてゲーム操作が行われる際、上記コントローラ種別に応じて複数のLED34a〜34dのいずれか1つが点灯する。
【0064】
また、メインコントローラ8は撮像情報演算部35(
図6)を有しており、
図4に示すように、ハウジング31前面には撮像情報演算部35の光入射面35aが設けられる。光入射面35aは、マーカ6Rおよび6Lからの赤外光を少なくとも透過する材質で構成される。
【0065】
ハウジング31上面における1番ボタン32bとホームボタン32fとの間には、メインコントローラ8に内蔵されるスピーカ47(
図5)からの音を外部に放出するための音抜き孔31aが形成されている。
【0066】
次に、
図5および
図6を参照して、メインコントローラ8の内部構造について説明する。
図5および
図6は、メインコントローラ8の内部構造を示す図である。なお、
図5は、メインコントローラ8の上筐体(ハウジング31の一部)を外した状態を示す斜視図である。
図6は、メインコントローラ8の下筐体(ハウジング31の一部)を外した状態を示す斜視図である。
図6に示す斜視図は、
図5に示す基板30を裏面から見た斜視図となっている。
【0067】
図5において、ハウジング31の内部には基板30が固設されており、当該基板30の上主面上に各操作ボタン32a〜32h、各LED34a〜34d、加速度センサ37、アンテナ45、およびスピーカ47等が設けられる。これらは、基板30等に形成された配線(図示せず)によってマイクロコンピュータ(Micro Computer:マイコン)42(
図6参照)に接続される。本実施形態では、加速度センサ37は、X軸方向に関してメインコントローラ8の中心からずれた位置に配置されている。これによって、メインコントローラ8をZ軸回りに回転させたときのメインコントローラ8の動きが算出しやすくなる。また、加速度センサ37は、長手方向(Z軸方向)に関してメインコントローラ8の中心よりも前方に配置されている。また、無線モジュール44(
図6)およびアンテナ45によって、コントローラ5(メインコントローラ8)がワイヤレスコントローラとして機能する。
【0068】
一方、
図6において、基板30の下主面上の前端縁に撮像情報演算部35が設けられる。撮像情報演算部35は、メインコントローラ8の前方から順に赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を備えている。これらの部材38〜41はそれぞれ基板30の下主面に取り付けられる。
【0069】
さらに、基板30の下主面上には、上記マイコン42およびバイブレータ46が設けられている。バイブレータ46は、例えば振動モータやソレノイドであり、基板30等に形成された配線によってマイコン42と接続される。マイコン42の指示によりバイブレータ46が作動することによってメインコントローラ8に振動が発生する。これによって、メインコントローラ8を把持しているユーザの手にその振動が伝達される、いわゆる振動対応ゲームを実現することができる。本実施形態では、バイブレータ46は、ハウジング31のやや前方寄りに配置される。つまり、バイブレータ46がメインコントローラ8の中心よりも端側に配置することによって、バイブレータ46の振動によりメインコントローラ8全体を大きく振動させることができる。また、コネクタ33は、基板30の下主面上の後端縁に取り付けられる。なお、
図5および
図6に示す他、メインコントローラ8は、マイコン42の基本クロックを生成する水晶振動子、スピーカ47に音声信号を出力するアンプ等を備えている。
【0070】
図7は、サブコントローラ9の外観構成を示す斜視図である。サブコントローラ9は、例えばプラスチック成型によって形成されたハウジング90を有している。ハウジング90は、メインコントローラ8と同様に、全体として大人や子供の片手で把持可能な大きさである。このサブコントローラ9を用いることによっても、プレイヤは、ボタンやスティックを操作することと、コントローラ自体の位置や向きを変えることとによって、ゲーム操作を行うことができる。
【0071】
図7に示すように、ハウジング90の上面(y’軸負方向側の面)の先端側(z’軸正側)には、アナログジョイスティック91が設けられる。また、図示されないが、ハウジング90の先端には、後方にやや傾斜する先端面が設けられており、この先端面には、上下方向(
図3に示すy軸方向)に並べて、CボタンおよびZボタンが設けられる。アナログジョイスティック91および各ボタン(CボタンおよびZボタン)には、ゲーム装置3が実行するゲームプログラムに応じてそれぞれ適宜の機能が割り当てられる。なお、アナログジョイスティック91および各ボタンを包括的に「操作部92(
図8参照)」と呼ぶことがある。
【0072】
また、
図7では示されないが、サブコントローラ9は、ハウジング90の内部に加速度センサ(
図8に示す加速度センサ93)を有している。本実施形態においては、加速度センサ93は、メインコントローラ8の加速度センサ37と同様のものが用いられる。ただし、加速度センサ93は、加速度センサ37とは異なるものであってもよく、例えば所定の1軸または2軸の加速度を検出するものであってもよい。
【0073】
また、
図7に示すように、ハウジング90の後端にはケーブルの一端が接続されている。
図7では示されないが、ケーブルの他端にはコネクタ(
図8に示すコネクタ94)が接続される。このコネクタはメインコントローラ8のコネクタ33と接続可能である。つまり、コネクタ33とコネクタ94とを接続することによって、メインコントローラ8とサブコントローラ9とが接続される。
【0074】
なお、
図3〜
図7に示したメインコントローラ8およびサブコントローラ9の形状や、各操作ボタンの形状、加速度センサやバイブレータの数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。また、本実施形態では、メインコントローラ8の撮像手段による撮像方向はZ軸正方向であるが、撮像方向はいずれの方向であってもよい。すなわち、コントローラ5における撮像情報演算部35の位置(撮像情報演算部35の光入射面35a)は、ハウジング31の前面でなくてもよく、ハウジング31の外部から光を取り入れることができれば他の面に設けられてもかまわない。
【0075】
図8は、コントローラ5の構成を示すブロック図である。
図8に示すように、メインコントローラ8は、操作部32(各操作ボタン32a〜32i)、撮像情報演算部35、通信部36、加速度センサ37、およびジャイロセンサ48を備えている。また、サブコントローラ9は、操作部92および加速度センサ93を備えている。コントローラ5は、自機に対して行われた操作内容を表すデータを操作データとしてゲーム装置3へ送信するものである。なお、以下では、コントローラ5が送信する操作データを「コントローラ操作データ」と呼び、端末装置7が送信する操作データを「端末操作データ」と呼ぶことがある。
【0076】
操作部32は、上述した各操作ボタン32a〜32iを含み、各操作ボタン32a〜32iに対する入力状態(各操作ボタン32a〜32iが押下されたか否か)を表す操作ボタンデータを通信部36のマイコン42へ出力する。
【0077】
撮像情報演算部35は、撮像手段が撮像した画像データを解析してその中で輝度が高い領域を判別してその領域の重心位置やサイズなどを算出するためのシステムである。撮像情報演算部35は、例えば最大200フレーム/秒程度のサンプリング周期を有するので、比較的高速なコントローラ5の動きでも追跡して解析することができる。
【0078】
撮像情報演算部35は、赤外線フィルタ38、レンズ39、撮像素子40、および画像処理回路41を含んでいる。赤外線フィルタ38は、コントローラ5の前方から入射する光から赤外線のみを通過させる。レンズ39は、赤外線フィルタ38を透過した赤外線を集光して撮像素子40へ入射させる。撮像素子40は、例えばCMOSセンサやあるいはCCDセンサのような固体撮像素子であり、レンズ39が集光した赤外線を受光して画像信号を出力する。ここで、撮像対象となる端末装置7のマーカ部55およびマーカ装置6は、赤外光を出力するマーカで構成される。したがって、赤外線フィルタ38を設けることによって、撮像素子40は、赤外線フィルタ38を通過した赤外線だけを受光して画像データを生成するので、撮像対象(マーカ部55および/またはマーカ装置6)の画像をより正確に撮像することができる。撮像素子40によって撮像された画像は、画像処理回路41で処理される。画像処理回路41は、撮像された画像内における撮像対象の位置を算出する。画像処理回路41は、算出された位置を示す座標を通信部36のマイコン42へ出力する。この座標のデータは、マイコン42によって操作データとしてゲーム装置3に送信される。以下では、上記座標を「マーカ座標」と呼ぶ。マーカ座標はコントローラ5自体の向き(傾斜角度)や位置に対応して変化するので、ゲーム装置3はこのマーカ座標を用いてコントローラ5の向きや位置を算出することができる。
【0079】
なお、他の実施形態においては、コントローラ5は画像処理回路41を備えていない構成であってもよく、撮像された画像自体がコントローラ5からゲーム装置3へ送信されてもよい。このとき、ゲーム装置3は、画像処理回路41と同様の機能を有する回路あるいはプログラムを有しており、上記マーカ座標を算出するようにしてもよい。
【0080】
加速度センサ37は、コントローラ5の加速度(重力加速度を含む)を検出する、すなわち、コントローラ5に加わる力(重力を含む)を検出する。加速度センサ37は、当該加速度センサ37の検出部に加わっている加速度のうち、センシング軸方向に沿った直線方向の加速度(直線加速度)の値を検出する。例えば、2軸以上の多軸加速度センサの場合には、加速度センサの検出部に加わっている加速度として、各軸に沿った成分の加速度をそれぞれ検出する。なお、加速度センサ37は、例えば静電容量式のMEMS(Micro Electro Mechanical System)型加速度センサであるとするが、他の方式の加速度センサを用いるようにしてもよい。
【0081】
本実施形態では、加速度センサ37は、コントローラ5を基準とした上下方向(
図3に示すY軸方向)、左右方向(
図3に示すX軸方向)および前後方向(
図3に示すZ軸方向)の3軸方向に関してそれぞれ直線加速度を検出する。加速度センサ37は、各軸に沿った直線方向に関する加速度を検出するものであるため、加速度センサ37からの出力は3軸それぞれの直線加速度の値を表すものとなる。すなわち、検出された加速度は、コントローラ5を基準に設定されるXYZ座標系(コントローラ座標系)における3次元のベクトルとして表される。
【0082】
加速度センサ37が検出した加速度を表すデータ(加速度データ)は、通信部36へ出力される。なお、加速度センサ37が検出した加速度は、コントローラ5自体の向き(傾斜角度)や移動に対応して変化するので、ゲーム装置3は取得された加速度データを用いてコントローラ5の向きや移動を算出することができる。本実施形態では、ゲーム装置3は、取得された加速度データに基づいてコントローラ5の姿勢や傾斜角度等を算出する。
【0083】
なお、加速度センサ37(後述する加速度センサ73についても同様)から出力される加速度の信号に基づいて、ゲーム装置3のプロセッサ(例えばCPU10)またはコントローラ5のプロセッサ(例えばマイコン42)等のコンピュータが処理を行うことによって、コントローラ5に関するさらなる情報を推測または算出(判定)することができることは、当業者であれば本明細書の説明から容易に理解できるであろう。例えば、加速度センサ37を搭載するコントローラ5が静止状態であることを前提としてコンピュータ側の処理が実行される場合(すなわち、加速度センサによって検出される加速度が重力加速度のみであるとして処理が実行される場合)、コントローラ5が現実に静止状態であれば、検出された加速度に基づいてコントローラ5の姿勢が重力方向に対して傾いているか否かまたはどの程度傾いているかを知ることができる。具体的には、加速度センサ37の検出軸が鉛直下方向を向いている状態を基準としたとき、1G(重力加速度)がかかっているか否かによって、コントローラ5が基準に対して傾いているか否かを知ることができるし、その大きさによって基準に対してどの程度傾いているかも知ることができる。また、多軸の加速度センサ37の場合には、さらに各軸の加速度の信号に対して処理を施すことによって、重力方向に対してコントローラ5がどの程度傾いているかをより詳細に知ることができる。この場合において、プロセッサは、加速度センサ37からの出力に基づいてコントローラ5の傾斜角度を算出してもよいし、当該傾斜角度を算出せずに、コントローラ5の傾斜方向を算出するようにしてもよい。このように、加速度センサ37をプロセッサと組み合わせて用いることによって、コントローラ5の傾斜角度または姿勢を判定することができる。
【0084】
一方、コントローラ5が動的な状態(コントローラ5が動かされている状態)であることを前提とする場合には、加速度センサ37は重力加速度に加えてコントローラ5の移動に応じた加速度を検出するので、検出された加速度から重力加速度の成分を所定の処理により除去することによってコントローラ5の移動方向を知ることができる。また、コントローラ5が動的な状態であることを前提とする場合であっても、検出された加速度から、加速度センサの移動に応じた加速度の成分を所定の処理により除去することによって、重力方向に対するコントローラ5の傾きを知ることが可能である。なお、他の実施例では、加速度センサ37は、内蔵の加速度検出手段で検出された加速度信号をマイコン42に出力する前に当該加速度信号に対して所定の処理を行うための、組込み式の処理装置または他の種類の専用の処理装置を備えていてもよい。組込み式または専用の処理装置は、例えば、加速度センサ37が静的な加速度(例えば、重力加速度)を検出するために用いられる場合、加速度信号を傾斜角(あるいは、他の好ましいパラメータ)に変換するものであってもよい。
【0085】
ジャイロセンサ48は、3軸(本実施形態では、XYZ軸)回りの角速度を検出する。本明細書では、コントローラ5の撮像方向(Z軸正方向)を基準として、X軸回りの回転方向をピッチ方向、Y軸回りの回転方向をヨー方向、Z軸回りの回転方向をロール方向と呼ぶ。ジャイロセンサ48は、3軸回りの角速度を検出することができればよく、用いるジャイロセンサの数および組み合わせはどのようなものであってもよい。例えば、ジャイロセンサ48は、3軸ジャイロセンサであってもよいし、2軸ジャイロセンサと1軸ジャイロセンサとを組み合わせて3軸周りの角速度を検出するものであってもよい。ジャイロセンサ48で検出された角速度を表すデータは、通信部36へ出力される。また、ジャイロセンサ48は1軸または2軸回りの角速度を検出するものであってもよい。
【0086】
また、サブコントローラ9の操作部92は、上述したアナログジョイスティック91、CボタンおよびZボタンを含む。操作部92は、アナログジョイスティック91に対する傾倒方向および傾倒量を表すスティックデータ(サブスティックデータと呼ぶ)と、各ボタンに対する入力状態(各ボタンが押下されたか否か)を表す操作ボタンデータ(サブ操作ボタンデータと呼ぶ)とを、コネクタ94を介してメインコントローラ8へ出力する。
【0087】
また、サブコントローラ9の加速度センサ93は、メインコントローラ8の加速度センサ37と同様のセンサであり、サブコントローラ9の加速度(重力加速度を含む)を検出する、すなわち、サブコントローラ9に加わる力(重力を含む)を検出する。加速度センサ93は、当該加速度センサ93の検出部に加わっている加速度のうち、所定の3軸方向に沿った直線方向の加速度(直線加速度)の値を検出する。検出された加速度を表すデータ(サブ加速度データと呼ぶ)は、コネクタ94を介してメインコントローラ8へ出力される。
【0088】
以上のように、サブコントローラ9は、上記サブスティックデータ、サブ操作ボタンデータ、およびサブ加速度データを含むサブコントローラデータをメインコントローラ8へ出力する。
【0089】
メインコントローラ8の通信部36は、マイコン42、メモリ43、無線モジュール44、およびアンテナ45を含んでいる。マイコン42は、処理を行う際にメモリ43を記憶領域として用いながら、マイコン42が取得したデータをゲーム装置3へ無線送信する無線モジュール44を制御する。
【0090】
サブコントローラ9からのサブコントローラデータは、マイコン42に入力され、一時的にメモリ43に格納される。また、操作部32、撮像情報演算部35、加速度センサ37、およびジャイロセンサ48からマイコン42へ出力されたデータ(メインコントローラデータと呼ぶ)は、一時的にメモリ43に格納される。これらのメインコントローラおよびサブコントローラデータは、操作データ(コントローラ操作データ)としてゲーム装置3へ送信される。すなわち、マイコン42は、ゲーム装置3のコントローラ通信モジュール19への送信タイミングが到来すると、メモリ43に格納されている操作データを無線モジュール44へ出力する。無線モジュール44は、例えばBluetooth(ブルートゥース)(登録商標)の技術を用いて、所定周波数の搬送波を操作データで変調し、その微弱電波信号をアンテナ45から放射する。つまり、操作データは、無線モジュール44で微弱電波信号に変調されてコントローラ5から送信される。微弱電波信号はゲーム装置3側のコントローラ通信モジュール19で受信される。受信された微弱電波信号について復調や復号を行うことによって、ゲーム装置3は操作データを取得することができる。そして、ゲーム装置3のCPU10は、コントローラ5から取得した操作データを用いてゲーム処理を行う。なお、通信部36からコントローラ通信モジュール19への無線送信は所定の周期毎に逐次行われるが、ゲームの処理は1/60秒を単位として(1フレーム時間として)行われることが一般的であるので、この時間以下の周期で送信を行うことが好ましい。コントローラ5の通信部36は、例えば1/200秒に1回の割合で操作データをゲーム装置3のコントローラ通信モジュール19へ出力する。
【0091】
以上のように、メインコントローラ8は、自機に対する操作を表す操作データとして、マーカ座標データ、加速度データ、角速度データ、および操作ボタンデータを送信可能である。サブコントローラ9は、自機に対する操作を表す操作データとして、加速度データ、スティックデータ、および操作ボタンデータを送信可能である。また、ゲーム装置3は、上記操作データをゲーム入力として用いてゲーム処理を実行する。したがって、上記コントローラ5を用いることによって、ユーザは、各操作ボタンを押下するという従来の一般的なゲーム操作に加えて、コントローラ5自体を動かすゲーム操作を行うことができる。例えば、メインコントローラ8および/またはサブコントローラ9を任意の姿勢に傾ける操作、メインコントローラ8によって画面上の任意の位置を指示する操作、および、メインコントローラ8および/またはサブコントローラ9自体を動かす操作等を行うことが可能となる。
【0092】
また、本実施形態において、コントローラ5は、ゲーム画像を表示する表示手段を有しないが、例えば電池残量を表す画像等を表示するための表示手段を有していてもよい。
【0093】
[4.端末装置7の構成]
次に、
図9〜
図12を参照して、端末装置7の構成について説明する。
図9は、端末装置7の外観構成を示す平面図である。
図9における(a)図は端末装置7の正面図であり、(b)図は上面図であり、(c)図は右側面図であり、(d)図は下面図である。
図10は、端末装置7の背面図である。また、
図11は、ユーザが端末装置7を横向きで把持した様子を示す図である。
【0094】
図9に示されるように、端末装置7は、大略的には横長の長方形の板状形状であるハウジング50を備える。すなわち、端末装置7は、タブレット型の情報処理装置であるということもできる。なお、ハウジング50は全体として板状形状であれば、曲面を有していてもよいし、一部に突起等を有していてもよい。ハウジング50は、ユーザが把持することができる程度の大きさである。したがって、ユーザは、端末装置7を持って動かしたり、端末装置7の配置位置を変更したりすることができる。端末装置7の縦(z軸方向)の長さは、100〜150[mm]が好ましく、本実施形態では、133.5[mm]である。端末装置7の横(x軸方向)の長さは、200〜250[mm]が好ましく、本実施形態では、228.26[mm]である。端末装置7の厚さ(y軸方向の長さ)は、板状の部分で15〜30[mm]程度、最厚部まで含めて30〜50[mm]程度が好ましく、本実施形態では、23.6(最厚部は40.26)[mm]である。また、端末装置7の重量は、400〜600[g]程度であって、本実施形態においては、530[g]である。詳細は後述するが、端末装置7は、上記のような比較的大型の端末装置(操作装置)であっても、ユーザが持ちやすく操作しやすい構成となっている。
【0095】
端末装置7は、ハウジング50の表面(表側)にLCD51を有する。なお、LCD51の画面の大きさは5インチ以上であることが好ましく、ここでは6.2インチである。本実施形態の操作装置7は、持ちやすく操作しやすい構成によって、大きなLCDを設けても操作がしやすいものとなっている。なお、別の実施形態においては、より小さいLCD51を設け、操作装置7の大きさを比較的小さいものとするようにしてもよい。LCD51は、ハウジング50の表面の中央付近に設けられる。したがって、ユーザは、
図11に示すようにLCD51の両側部分のハウジング50を持つことによって、LCD51の画面を見ながら端末装置7を持って動かすことができる。なお、
図11ではユーザがLCD51の左右両側の部分のハウジング50を持つことで端末装置7を横持ちで(横に長い向きにして)持つ例を示しているが、端末装置7を縦持ちで(縦に長い向きにして)持つことも可能である。
【0096】
図9の(a)図に示すように、端末装置7は、操作手段として、LCD51の画面上にタッチパネル52を有する。本実施形態では、タッチパネル52は抵抗膜方式のタッチパネルである。ただし、タッチパネルは抵抗膜方式に限らず、例えば静電容量方式等、任意の方式のタッチパネルを用いることができる。また、タッチパネル52はシングルタッチ方式でもよいし、マルチタッチ方式であってもよい。本実施形態では、タッチパネル52として、LCD51の解像度と同解像度(検出精度)のものを利用する。ただし、必ずしもタッチパネル52の解像度とLCD51の解像度が一致している必要はない。タッチパネル52に対する入力は通常タッチペン60を用いて行われるが、タッチペン60に限らずユーザの指でタッチパネル52に対する入力をすることも可能である。なお、ハウジング50には、タッチパネル52に対する操作を行うために用いられるタッチペン60を収納する収納穴60aが設けられている(
図9(b)参照)。なお、ここでは、タッチペン60が落ちないように、収納穴60aはハウジング50の上面に設けられるが、側面や下面に設けられてもよい。このように、端末装置7はタッチパネル52を備えるので、ユーザは、端末装置7を動かしながらタッチパネル52を操作することができる。つまりユーザは、LCD51の画面を動かしつつ、その画面に対して直接(タッチパネル52によって)入力を行うことができる。
【0097】
図9に示すように、端末装置7は、操作手段(操作部)として、2つのアナログスティック53Aおよび53Bと、複数のボタン(キー)54A〜54Mとを備えている。各アナログスティック53Aおよび53Bは、方向を指示することが可能なデバイスである。各アナログスティック53Aおよび53Bは、ユーザの指で操作される可動部材(スティック部)がハウジング50の表面に対して任意の方向(上下左右および斜め方向の任意の角度)にスライドすることができるように構成されている。すなわち、スライドパッドと呼ばれることもある方向入力デバイスである。なお、各アナログスティック53Aおよび53Bの可動部材は、ハウジング50の表面に対して任意の方向に傾倒する種類のものでもよい。本実施形態では、可動部材がスライドする種類のアナログスティックを用いるので、ユーザは親指を大きく動かさなくても各アナログスティック53Aおよび53Bを操作することができ、ハウジング50をよりしっかりと把持した状態で操作を行うことができる。なお、各アナログスティック53Aおよび53Bとして、可動部材が傾倒する種類のものを用いる場合には、入力の程度(傾きの程度)がユーザにとってわかりやすく、詳細な操作をより容易に行うことができる。
【0098】
また、左アナログスティック53AはLCD51の画面の左側に、右アナログスティック53BはLCD51の画面の右側にそれぞれ設けられる。したがって、ユーザは、左右いずれの手でもアナログスティックを用いて方向を指示する入力を行うことができる。また、
図11に示すように、各アナログスティック53Aおよび53Bは、ユーザが端末装置7の左右部分(LCD51の左右両側の部分)を把持した状態で操作可能な位置に設けられるので、ユーザは、端末装置7を持って動かす場合においても各アナログスティック53Aおよび53Bを容易に操作することができる。
【0099】
各ボタン54A〜54Lは、所定の入力を行うための操作手段(操作部)であり、押下可能なキーである。以下に示すように、各ボタン54A〜54Lは、ユーザが端末装置7の左右部分を把持した状態で操作可能な位置に設けられる(
図11参照)。したがって、ユーザは、端末装置7を持って動かす場合においてもこれらの操作手段を容易に操作することができる。
【0100】
図9の(a)図に示すように、ハウジング50の表面には、各操作ボタン54A〜54Lのうち、十字ボタン(方向入力ボタン)54Aと、ボタン54B〜54Hおよび54Mとが設けられる。つまり、これらのボタン54A〜54Hおよび54Mは、ユーザの親指で操作可能な位置に配置されている(
図11参照)。
【0101】
十字ボタン54Aは、LCD51の左側であって、左アナログスティック53Aの下側に設けられる。つまり、十字ボタン54Aはユーザの左手で操作可能な位置に配置されている。十字ボタン54Aは、十字の形状を有しており、少なくとも上下左右の方向を指示することが可能なボタンである。
【0102】
また、ボタン54B〜54Dは、LCD51の下側に設けられる。これら3つのボタン54B〜54Dは、左右両方の手で操作可能な位置に配置されている。また、端末装置7は、端末装置7の電源をオン/オフするための電源ボタン54Mを有している。電源ボタン54Mの操作により、ゲーム装置3の電源を遠隔でオン/オフすることも可能である。電源ボタン54Mは、ボタン54B〜54Dと同様、LCD51の下側に設けられる。電源ボタン54Mは、ボタン54B〜54Dの右側に設けられる。したがって、電源ボタン54Mは、右手で操作可能な(操作しやすい)位置に配置されている。また、4つのボタン54E〜54Hは、LCD51の右側であって、右アナログスティック53Bの下側に設けられる。つまり、4つのボタン54E〜54Hはユーザの右手で操作可能な位置に配置されている。さらに、4つのボタン54E〜54Hは、(4つのボタン54E〜54Hの中心位置に対して)上下左右の位置関係となるように配置されている。したがって、端末装置7は、ユーザに上下左右の方向を指示させるためのボタンとして4つのボタン54E〜54Hを機能させることも可能である。
【0103】
なお、本実施形態においては、各アナログスティック53Aおよび53Bは、十字ボタン54Aおよび各ボタン54E〜54Hよりも上側に配置される。ここで、各アナログスティック53Aおよび53Bは、十字ボタン54Aおよび各ボタン54E〜54Hよりも厚さ方向(y軸方向)に関して突出している。そのため、仮にアナログスティック53Aと十字ボタン54Aとの配置を逆にした場合には、ユーザが十字ボタン54Aを親指で操作する際にアナログスティック53Aに親指が当たってしまい、操作を誤ってしまうおそれがある。なお、アナログスティック53Bと各ボタン54E〜54Hとの配置を逆にする場合も同様の問題が生じる。これに対して、本実施形態では、各アナログスティック53Aおよび53Bを十字ボタン54Aおよび各ボタン54E〜54Hよりも上側に配置するので、ユーザがアナログスティック53Aおよび53Bを操作する際に十字ボタン54Aおよび各ボタン54E〜54Hに指が当たってしまう可能性は上記の場合に比べて低くなる。このように、本実施形態においては、誤操作の可能性を低減することができ、端末装置7の操作性を向上することができる。ただし、別の実施形態においては、必要に応じてアナログスティック53Aが十字ボタン54Aと逆の配置であってもよいし、アナログスティック53Bが各ボタン54E〜54Hと逆の配置であってもよい。
【0104】
ここで、本実施形態では、いくつかの操作部(各アナログスティック53Aおよび53B、十字ボタン54A、ならびに、3つのボタン54E〜54G)は、表示部(LCD51)の左右両側において、ハウジング50における上下方向(y軸方向)の中心よりも上側に設けられる。これらの操作部を操作する場合、ユーザは、端末装置7における上下方向の中心よりも上側を主に把持する。ここで、ユーザがハウジング50の下側を把持する場合には、(端末装置7が本実施形態のように比較的大きなサイズである場合には特に)把持される端末装置7が不安定になり、ユーザは端末装置7を持ちにくくなる。これに対して、本実施形態では、上記操作部を操作する場合、ユーザは、端末装置7における上下方向の中心よりも上側を主に把持することになり、また、手のひらでハウジング50を横から支えることができる。したがって、ユーザは、安定した状態でハウジング50を把持することができ、端末装置7が持ちやすくなるので、上記操作部も操作しやすくなる。なお、他の実施形態においては、ハウジング50の中央よりも上側において表示部の左右にそれぞれ少なくとも1つずつ操作部が設けられてもよい。例えば、各アナログスティック53Aおよび53Bのみがハウジング50の中央よりも上側に設けられてもよい。また例えば、十字ボタン54Aが左アナログスティック53Aよりも上側に設けられ、4つのボタン54E〜54Hが右アナログスティック53Bよりも上側に設けられる場合には、十字ボタン54Aおよび4つのボタン54E〜54Hがハウジング50の中央よりも上側に設けられても良い。
【0105】
また、本実施形態では、ハウジング50の裏側(LCD51が設けられる表面の反対側)には、突起部(庇部59)が設けられる(
図9(c)および
図10参照)。
図9(c)に示すように、庇部59は、略板状のハウジング50の裏面から突起して設けられる、山状の部材である。突起部は、ハウジング50の裏面を把持するユーザの指に掛止可能な高さ(厚さ)を有する。突起部の高さは、10〜25[mm]であることが好ましく、本実施形態では16.66[mm]である。また、突起部の下面は、突起部がユーザの指に掛かりやすいように、ハウジング50の裏面に対して45°以上(より好ましくは60°以上)の傾斜を有することが好ましい。
図9(c)に示すように、突起部の下面は、上面よりも傾斜角度が大きくなるように形成されてもよい。
図11に示すように、ユーザは、指を庇部59に掛けて(指の上に庇部59を乗せて)把持することによって、端末装置7が比較的大きなサイズであっても、疲れることなく安定した状態で端末装置7を把持することができる。すなわち、庇部59は、指でハウジング50を支えるための支持部材であるということができ、また、指掛部ということもできる。
【0106】
また、庇部59は、ハウジング50の上下方向に関しては中央よりも上側に設けられる。庇部59は、ハウジング50の表面に設けられる操作部(各アナログスティック53Aおよび53B)の概ね反対側の位置に設けられる。つまり、突起部は、表示部の左右にそれぞれ設けられる操作部の反対側の位置を含む領域に設けられる。したがって、上記操作部を操作する場合、ユーザは、中指あるいは薬指で庇部59を支えるようにして端末装置7を把持することができる(
図11参照)。これによって、端末装置7がより持ちやすくなり、上記操作部もより操作しやすくなる。また、本実施形態では、突起部は、(突起した部分が)左右に延びる庇状の形状を有するので、ユーザは、中指あるいは薬指を突起部の下面に沿わせて端末装置7を把持することができ、端末装置7がより持ちやすくなる。なお、庇部59は、(突起した部分が)左右方向に延びるように形成されればよく、
図10に示すような水平方向に延びる形状に限られない。他の実施形態においては、庇部59は水平方向から若干傾いた方向に延びていてもよい。例えば、庇部59は、左右両端から中央に向かうにつれて上に(または下に)傾斜するように設けられてもよい。
【0107】
なお、本実施形態においては、後述する係止穴を庇部59に設けることが理由で、ハウジングの裏面に形成される突起部として、庇状の形状をした庇部59を採用するが、突起部はどのような形状であってもよい。例えば、他の実施形態においては、ハウジング50の裏側において、2つの突起部が左右両側に設けられる(左右方向の中央には突起部が設けられない)構成であってもよい(
図29参照)。また、他の実施形態においては、突起部の断面形状(x軸方向に垂直な断面における形状)は、ユーザの指で端末装置7をよりしっかりと支えることができるように(突起部が指によりしっかりと掛かるように)、鈎型(下面が凹んだ形状)であってもよい。
【0108】
なお、突起部(庇部59)の上下方向に関する幅は、いくらであってもよい。例えば、突起部は、ハウジング50の上辺まで形成されてもよい。すなわち、突起部の上面がハウジング50の上側の側面と同じ位置に形成されてもよい。このとき、ハウジング50は、下側が薄く、上側が厚い2段の構成となる。このように、ハウジング50は、裏面における左右両側に、下方を向く面(突起部の下面)が形成されることが好ましい。これによって、ユーザは、当該面に指を当てることで楽に操作装置を把持することができる。なお、上記「下方を向く面」は、ハウジング50の裏面におけるどの位置に形成されてもよいが、ハウジング50の中央よりも上側に位置することが好ましい。
【0109】
また、
図9の(a)図、(b)図、および(c)図に示すように、第1Lボタン54Iおよび第1Rボタン54Jは、ハウジング50の上側の面における左右の両側にそれぞれ設けられる。本実施形態では、第1Lボタン54Iおよび第1Rボタン54Jは、ハウジング50の斜め上部分(左上部分および右上部分)に設けられる。具体的には、第1Lボタン54Iは、板状のハウジング50における上側の側面の左端に設けられ、左上側の側面から露出している(換言すれば上側および左側の両方の側面から露出している)。また、第1Rボタン54Jは、ハウジング50における上側の側面の右端に設けられ、右上側の側面から露出している(換言すれば上側および右側の両方の側面から露出している)。このように、第1Lボタン54Iは、ユーザの左手人差し指で操作可能な位置に配置され、第1Rボタン54Jは、ユーザの右手人差し指で操作可能な位置に配置される(
図11参照)。なお、他の実施形態においては、ハウジング50の上側の面における左右にそれぞれ設けられる操作部は、左右の端部に設けられる必要はなく、端部以外の位置に設けられてもよい。また、ハウジング50の左右の側面に操作部がそれぞれ設けられてもよい。
【0110】
また、
図9の(c)図および
図10に示すように、第2Lボタン54Kおよび第2Rボタン54Lは、上記突起部(庇部59)に配置される。第2Lボタン54Kは、庇部59の左端付近に設けられる。第2Rボタン54Lは、庇部59の右端付近に設けられる。つまり、第2Lボタン54Kは、ハウジング50の裏面の左側(表面側から見たときの左側)のやや上方に設けられ、第2Rボタン54Lは、ハウジング50の裏面の右側(表面側から見たときの右側)のやや上方に設けられる。換言すれば、第2Lボタン54Kは、表面に設けられる左アナログスティック53Aの(概ね)反対側の位置に設けられ、第2Rボタン54Lは、表面に設けられる右アナログスティック53Bの(概ね)反対側の位置に設けられる。このように、第2Lボタン54Kは、ユーザの左手中指(または人差し指)で操作可能な位置に配置され、第2Rボタン54Lは、ユーザの右手中指(または人差し指)で操作可能な位置に配置される(
図11参照)。また、第2Lボタン54Kおよび第2Rボタン54Lは、
図9の(c)図に示すように、上記庇部59の上面に設けられる。そのため、第2Lボタン54Kおよび第2Rボタン54Lは、上方(斜め上方)を向くボタン面を有する。ユーザが端末装置7を把持した場合には中指または人差し指は上下方向に動くと考えられるので、ボタン面を上方に向けることで、ユーザは第2Lボタン54Kおよび第2Rボタン54Lを押下しやすくなる。
【0111】
上記のように、本実施形態においては、ハウジング50の中央よりも上側において表示部(LCD51)の左右に操作部(アナログスティック53Aおよび53B)がそれぞれ設けられ、さらに、ハウジング50の裏側において当該操作部の反対側の位置に別の操作部(第2Lボタン54Kおよび第2Rボタン54L)がそれぞれ設けられる。これによれば、上記操作部と別の操作部とがハウジング50の表側と裏側との互いに対向する位置に配置されるので、ユーザは、これらの操作部を操作する際にハウジング50を表側と裏側から挟むように把持することができる。また、これらの操作部を操作する際にユーザは、ハウジング50における上下方向の中心よりも上側を把持するので、端末装置7を上側で把持できるとともに、手のひらで端末装置7を支えることができる(
図11参照)。以上によって、ユーザは、少なくとも4つの操作部を操作することができる状態で、ハウジング50を安定的に把持することができ、ユーザが容易に把持することが可能で、かつ操作性の良い操作装置(端末装置7)を提供することができる。
【0112】
以上のように、本実施形態においては、突起部(庇部59)の下面に指を当てた状態で端末装置7を把持することによって、ユーザは楽に端末装置7を把持することができる。また、突起部の上面に第2Lボタン54Kおよび第2Rボタン54Lが設けられるので、ユーザは上記の状態でこれらのボタンを容易に操作することができる。ユーザは、例えば次のような持ち方で端末装置7を容易に把持することができる。
【0113】
すなわち、ユーザは、
図11に示すように、薬指を庇部59の下面(
図11に示す一点鎖線)に当てて(薬指で庇部59を支えるように)端末装置7を把持することも可能である。このとき、ユーザは、4つのボタン(第1Lボタン54I、第1Rボタン54J、第2Lボタン54K、および第2Rボタン54L)を人差し指および中指で操作することができる。例えば、要求されるゲーム操作が、使用するボタンが多く、比較的複雑である場合には、
図11に示すように把持することで、多くのボタンを容易に操作することができる。なお、各アナログスティック53Aおよび53Bは十字ボタン54Aおよびボタン54E〜54Hの上側に設けられるので、比較的複雑な操作が要求される場合にユーザは親指でアナログスティック53Aおよび53Bを操作することができ、好都合である。また、
図11においては、ユーザは、ハウジング50の表面に親指を、ハウジング50の上面に人差し指を、ハウジング50の裏面における庇部59の上面に中指を、庇部59の下面に薬指を、ハウジング50の裏面に小指を当てて端末装置7を把持する。このように、ユーザは、ハウジング50を四方から包み込むようにして端末装置7をしっかりと把持することができる。
【0114】
また、ユーザは、中指を庇部59の下面に当てて端末装置7を把持することも可能である。このとき、ユーザは、2つのボタン(第2Lボタン54Kおよび第2Rボタン54L)を人差し指で容易に操作することができる。例えば、要求されるゲーム操作が、使用するボタンが少なく、比較的単純である場合には、中指を庇部59の下面に当てて端末装置7を把持してもよい。このとき、ユーザは、2本の指(薬指および小指)でハウジング50の下側を把持することができるので、しっかりと端末装置7を把持することができる。
【0115】
なお、本実施形態においては、庇部59の下面が、各アナログスティック53Aおよび53Bと、十字ボタン54Aおよび4つのボタン54E〜54Hとの間に位置するように(各アナログスティック53Aおよび53Bよりも下方で、かつ、十字ボタン54Aおよび4つのボタン54E〜54Hよりも上方に位置するように)設けられる。したがって、薬指を庇部59に当てて端末装置7を把持する場合(
図11)には、各アナログスティック53Aおよび53Bを親指で操作しやすくなり、中指を庇部59に当てて端末装置7を把持する場合には、十字ボタン54Aおよび4つのボタン54E〜54Hを親指で操作しやすくなっている。つまり、上記2種類の場合のいずれにおいても、ユーザは、端末装置7をしっかりと把持した状態で方向入力操作を行うことができる。
【0116】
また、上述のように、ユーザは端末装置7を縦持ちで把持することも可能である。すなわち、ユーザは端末装置7の上辺または下辺を一方の手で把持することで端末装置7を縦向きで把持することが可能である。このように、ユーザは端末装置7を片手で把持することが可能であるので、例えば、一方の手で端末装置7を把持しながら他方の手でタッチパネル52に対する入力を行うといった操作を行うことも可能である。
【0117】
また、端末装置7の上辺を把持する場合、ユーザは親指以外の指を庇部59の下面に当てることで、端末装置7をしっかりと把持することができる。特に、本実施形態においては、庇部59が左右に延びて形成されているので、ユーザは端末装置7の上辺におけるどこの位置で把持しても、親指以外の指を庇部59に当てることができ、端末装置7をしっかりと把持することができる。すなわち、端末装置7を縦持ちで使う場合には、庇部59は取っ手として使うことができる。一方、端末装置7の下辺を片手で把持する場合、ユーザは、その手でボタン54B〜54Dを操作することができる。したがって、例えば片手でタッチパネル52に対する入力を行いつつ、端末装置7を把持する手でボタン54B〜54Dに対する操作を行うことができ、より多くの操作を行うことができる。
【0118】
なお、本実施形態における端末装置7に関しては、突起部(庇部59)が裏面に設けられるので、LCD51の画面(ハウジング50の表面)が上を向いた状態で端末装置7を載置させる場合、画面がやや傾いた状態となる。これによって、端末装置7を載置した状態において画面がより見やすくなる。また、端末装置7を載置した状態においてタッチパネル52に対する入力操作が行いやすくなる。また、他の実施形態においては、上記庇部59と同程度の高さを有する追加の突起部がハウジング50の裏面に形成されてもよい。これによれば、LCD51の画面が上を向いた状態では、各突起部が床面に接することで、画面が水平になるように端末装置7を載置することができる。また、追加の突起部を着脱可能な(または折り畳み可能な)ものにしてもよい。これによれば、画面がやや傾いた状態と、画面が水平になる状態との両方で端末装置を載置することができる。すなわち、端末装置7を置いて使う場合には、庇部59は、脚部として使うことができる。
【0119】
各ボタン54A〜54Lには、ゲームプログラムに応じた機能が適宜割り当てられる。例えば、十字ボタン54Aおよびボタン54E〜54Hは方向指示操作や選択操作等に用いられてもよいし、各ボタン54B〜54Eは決定操作やキャンセル操作等に用いられてもよい。また、端末装置7は、LCD51の画面表示をオン/オフするためのボタンや、ゲーム装置3との接続設定(ペアリング)を行うためのボタンを有していてもよい。
【0120】
図9の(a)図に示すように、端末装置7は、マーカ55Aおよびマーカ55Bからなるマーカ部55をハウジング50の表面に備えている。マーカ部55は、LCD51の上側に設けられる。各マーカ55Aおよびマーカ55Bは、マーカ装置6の各マーカ6Rおよび6Lと同様、1以上の赤外LEDで構成される。マーカ55Aおよび55Bを構成する赤外LEDは、赤外光を透過する窓部の内側に配置される。マーカ部55は、上述のマーカ装置6と同様、コントローラ5の動き等をゲーム装置3が算出するために用いられる。また、ゲーム装置3はマーカ部55が備える各赤外LEDの点灯を制御することが可能である。
【0121】
端末装置7は、撮像手段であるカメラ56を備えている。カメラ56は、所定の解像度を有する撮像素子(例えば、CCDイメージセンサやCMOSイメージセンサ等)と、レンズとを含む。
図9に示すように、本実施形態では、カメラ56はハウジング50の表面に設けられる。つまり、カメラ56は、端末装置7の表示部(LCD51)の正面方向を撮像するように設けられる。したがって、カメラ56は、端末装置7を持っているユーザの顔を撮像することができ、例えばLCD51を見ながらゲームを行っている時のユーザを撮像することができる。本実施形態においては、カメラ56は、2つのマーカ55Aおよび55Bの間に配置される。
【0122】
なお、端末装置7は、音声入力手段であるマイク79を備えている。ハウジング50の表面には、マイクロフォン用孔50cが設けられる。マイク79はこのマイクロフォン用孔50cの奥のハウジング50内部に設けられる。マイク79は、ユーザの音声等、端末装置7の周囲の音を検出する。
【0123】
端末装置7は、音声出力手段であるスピーカ77を備えている。
図9の(d)図に示すように、ハウジング50の表面の下側にはスピーカ孔57が設けられる。スピーカ77の出力音はこのスピーカ孔57から出力される。本実施形態では、端末装置7は2つのスピーカを備えており、左スピーカおよび右スピーカのそれぞれの位置にスピーカ孔57が設けられる。なお、端末装置7は、スピーカ77の音量を調節するためのつまみ64を備える。また、端末装置7は、イヤホン等の音声出力部を接続するための音声出力端子62を備える。ここでは、ハウジングの下側の側面に付加装置が接続されることを考慮して、上記音声出力端子62およびつまみ64はハウジング50の上画の側面に設けられるが、左右の側面や下側の側面に設けられてもよい。
【0124】
また、ハウジング50には、赤外線通信モジュール82からの赤外線信号を端末装置7の外部に出射するための窓63が設けられる。ここでは、LCD51の両側を把持した場合にユーザの前方へ赤外線信号が発射されるように、窓63はハウジング50の上側の側面に設けられる。ただし、他の実施形態においては、窓63は、例えばハウジング50の裏面等、どの位置に設けられてもよい。
【0125】
また、端末装置7は、他の装置を端末装置7に接続するための拡張コネクタ58を備えている。拡張コネクタ58は、端末装置7に接続される他の装置との間でデータ(情報)を送受信するための通信端子である。本実施形態においては、
図9の(d)図に示すように、拡張コネクタ58は、ハウジング50の下側側面に設けられる。なお、拡張コネクタ58に接続される他の付加装置はどのようなものであってもよく、例えば、特定のゲームに用いるコントローラ(銃型のコントローラ等)やキーボード等の入力装置であってもよい。付加装置を接続する必要がなければ、拡張コネクタ58は設けられていなくともよい。拡張コネクタ58には、付加装置に電力を供給する端子や、充電のための端子が含まれていてもよい。
【0126】
また、端末装置7は、拡張コネクタ58とは別に、付加装置から電力を取得するための充電端子66を有する。図示しない充電スタンドに充電端子66が接続された場合、充電スタンドから端末装置7へ電力が供給される。本実施形態では、充電端子66はハウジング50の下側側面に設けられる。したがって、端末装置7と付加装置とが接続される際には、拡張コネクタ58を介して情報を送受信することに加えて、一方から他方への電力供給を行うことも可能である。このように、拡張コネクタ58の周囲(左右両側)に充電端子66を設けることによって、端末装置7と付加装置とが接続される際に、情報の送受信とともに、電力供給を行うことも可能である。また、端末装置7は充電コネクタを有し、ハウジング50は充電コネクタを保護するためのカバー部61を有する。充電コネクタは、後述する充電器86に接続可能であり、充電器に充電コネクタが接続された場合、充電器86から端末装置7へ電力が供給される。本実施形態では、ハウジングの下側の側面に付加装置が接続されることを考慮して、充電コネクタ(カバー部61)はハウジング50の上画の側面に設けられるが、左右の側面や下側の側面に設けられてもよい。
【0127】
図9(d)および
図10に示すように、突起部(庇部59)の下面には、付加装置が有する爪部が係止可能な係止穴59aおよび59bが設けられる。係止穴59aおよび59bは、端末装置7に他の付加装置を接続する際に用いられる。すなわち、付加装置は係止穴59aおよび59bに係止可能な爪部を有し、端末装置7に付加装置を接続する場合には、爪部が係止穴59aおよび59bに係止することによって端末装置7と付加装置とが固定される。また、係止穴59aおよび59bの内部に、さらにネジ穴を設けてもよく、付加装置をネジで強固に固定するようにしてもよい。なお、ここでは、端末装置7の裏面に設けられる突起部は、庇状の形状を有する庇部59である。すなわち、庇部59は左右方向に延びて設けられる。
図10に示すように、係止穴59aおよび59bは、庇部59の下面の(左右方向に関して)中央付近に設けられる。なお、庇部59の下面に設けられる係止穴59aおよび59bの個数はいくつであってもよいが、1つである場合には庇部59の中央に設けられることが好ましく、複数である場合には左右対称に配置されることが好ましい。これによれば、左右のバランスを均等に保って付加装置を安定的に接続することができる。また、係止穴が中央付近に設けられる場合には、左右の両端に設けられる場合に比べて、付加装置のサイズを小さくすることができる。以上のように、庇部59は、付加装置の係止部材として使うことができる。
【0128】
また、本実施形態においては、
図9(d)に示すように、ハウジング50の下面に係止穴50aおよび50bが設けられる。したがって、端末装置7に付加装置を接続する場合には、4つの爪部が4つの各係止穴にそれぞれ係止することによって端末装置7と付加装置とが固定される。これによって、付加装置を端末装置7により強固に接続することができる。なお、係止穴50aおよび50bの内部にもネジ穴を設け、付加装置をネジ止めするようにしてもよい。ネジ止めの位置は、どこであってもよいが、例えば、ハウジング50の背面に当接する付加装置の支持部と、庇部59とがネジ止めされてもよい。また、他の実施形態においては、ハウジングに設けられる係止穴は、どのような配置であってもよい。
【0129】
また、端末装置7は、ハウジング50に対して着脱可能な電池蓋67を有している。電池蓋67の内側には電池(
図12に示す電池85)が配置される。本実施形態においては、電池蓋67はハウジング50の裏側に設けられ、突起部(庇部59)の下側に設けられる。
【0130】
また、端末装置7のハウジング50には、ストラップの紐を結びつけるための孔65aおよび65bが設けられる。
図9(d)に示すように、本実施形態においては、孔65aおよび65bはハウジング50の下面に設けられる。また、本実施形態においては、2つの孔65aおよび65bがハウジング50の左右両側にそれぞれ1つずつ設けられる。すなわち、孔65aがハウジング50の下面の中央より左側に設けられ、孔65bがハウジング50の下面の中央より右側に設けられる。ユーザは、孔65aおよび65bのいずれかにストラップを結びつけ、ストラップを自身の手首に結びつけてもよい。これによって、万一ユーザが端末装置7を落としたり、端末装置7が手から離れたりした場合でも、端末装置7が落下したり他の物に衝突したりすることを防止することができる。なお、本実施形態においては、左右両側にそれぞれ孔が設けられるので、ユーザは、どちらの手にもストラップを結びつけることができ、便利である。
【0131】
なお、
図9〜
図12に示した端末装置7に関して、各操作ボタンやハウジング50の形状や、各構成要素の数および設置位置等は単なる一例に過ぎず、他の形状、数、および設置位置であってもよい。
【0132】
次に、
図12を参照して、端末装置7の内部構成について説明する。
図12は、端末装置7の内部構成を示すブロック図である。
図12に示すように、端末装置7は、
図9に示した構成の他、タッチパネルコントローラ71、磁気センサ72、加速度センサ73、ジャイロセンサ74、ユーザインタフェースコントローラ(UIコントローラ)75、コーデックLSI76、スピーカ77、サウンドIC78、マイク79、無線モジュール80、アンテナ81、赤外線通信モジュール82、フラッシュメモリ83、電源IC84、および電池85を備える。これらの電子部品は、電子回路基板上に実装されてハウジング50内に収納される。
【0133】
UIコントローラ75は、各種の入出力部に対するデータの入出力を制御するための回路である。UIコントローラ75は、タッチパネルコントローラ71、アナログスティック53(アナログスティック53Aおよび53B)、操作ボタン54(各操作ボタン54A〜54L)、マーカ部55、磁気センサ72、加速度センサ73、およびジャイロセンサ74に接続される。また、UIコントローラ75は、コーデックLSI76と拡張コネクタ58に接続される。また、UIコントローラ75には電源IC84が接続され、UIコントローラ75を介して各部に電力が供給される。電源IC84には内蔵の電池85が接続され、電力が供給される。また、電源IC84には、外部電源から電力を取得可能な充電器86またはケーブルを充電コネクタを介して接続することが可能であり、端末装置7は、当該充電器86またはケーブルを用いて外部電源からの電力供給と充電を行うことができる。なお、端末装置7は、図示しない充電機能を有するクレイドルに端末装置7を装着することで充電を行うことも可能である。すなわち、図示しないが、電源IC84には、外部電源から電力を取得可能なクレイドルを充電端子66を介して接続することが可能であり、端末装置7は、クレイドルを用いて外部電源からの電力供給と充電を行うことができる。
【0134】
タッチパネルコントローラ71は、タッチパネル52に接続され、タッチパネル52の制御を行う回路である。タッチパネルコントローラ71は、タッチパネル52からの信号に基づいて所定の形式のタッチ位置データを生成してUIコントローラ75へ出力する。タッチ位置データは、タッチパネル52の入力面において入力が行われた位置の座標を表す。なお、タッチパネルコントローラ71は、タッチパネル52からの信号の読み込み、および、タッチ位置データの生成を所定時間に1回の割合で行う。また、UIコントローラ75からタッチパネルコントローラ71へは、タッチパネル52に対する各種の制御指示が出力される。
【0135】
アナログスティック53は、ユーザの指で操作されるスティック部がスライドした(または傾倒した)方向および量を表すスティックデータをUIコントローラ75へ出力する。また、操作ボタン54は、各操作ボタン54A〜54Lに対する入力状況(押下されたか否か)を表す操作ボタンデータをUIコントローラ75へ出力する。
【0136】
磁気センサ72は、磁界の大きさおよび方向を検知することで方位を検出する。検出された方位を示す方位データは、UIコントローラ75へ出力される。また、UIコントローラ75から磁気センサ72へは、磁気センサ72に対する制御指示が出力される。磁気センサ72に関しては、MI(磁気インピーダンス)素子、フラックスゲートセンサ、ホール素子、GMR(巨大磁気抵抗)素子、TMR(トンネル磁気抵抗)素子、あるいはAMR(異方性磁気抵抗)素子等を用いたセンサがあるが、方位を検出することができればどのようなものが用いられてもよい。なお、厳密には、地磁気以外に磁界が発生している場所においては、得られた方位データは方位を示さないことになるが、そのような場合であっても、端末装置7が動いた場合には方位データが変化するため、端末装置7の姿勢の変化を算出することができる。
【0137】
加速度センサ73は、ハウジング50の内部に設けられ、3軸(
図9の(a)図に示すxyz軸)方向に沿った直線加速度の大きさを検出する。具体的には、加速度センサ73は、ハウジング50の長辺方向をx軸、ハウジング50の表面に対して垂直な方向をy軸、ハウジング50の短辺方向をz軸として、各軸の直線加速度の大きさを検出する。検出された加速度を表す加速度データはUIコントローラ75へ出力される。また、UIコントローラ75から加速度センサ73へは、加速度センサ73に対する制御指示が出力される。加速度センサ73は、本実施形態では例えば静電容量式のMEMS型加速度センサであるとするが、他の実施形態においては他の方式の加速度センサを用いるようにしてもよい。また、加速度センサ73は1軸または2軸方向を検出する加速度センサであってもよい。
【0138】
ジャイロセンサ74は、ハウジング50の内部に設けられ、上記x軸、y軸およびz軸の3軸周りの角速度を検出する。検出された角速度を表す角速度データは、UIコントローラ75へ出力される。また、UIコントローラ75からジャイロセンサ74へは、ジャイロセンサ74に対する制御指示が出力される。なお、3軸の角速度を検出するために用いられるジャイロセンサの数および組み合わせはどのようなものであってもよく、ジャイロセンサ74はジャイロセンサ48と同様、2軸ジャイロセンサと1軸ジャイロセンサとで構成されてもよい。また、ジャイロセンサ74は1軸または2軸方向を検出するジャイロセンサであってもよい。
【0139】
UIコントローラ75は、上記の各構成要素から受け取ったタッチ位置データ、スティックデータ、操作ボタンデータ、方位データ、加速度データ、および角速度データを含む操作データをコーデックLSI76に出力する。なお、拡張コネクタ58を介して端末装置7に他の装置が接続される場合には、当該他の装置に対する操作を表すデータが上記操作データにさらに含まれていてもよい。
【0140】
コーデックLSI76は、ゲーム装置3へ送信するデータに対する圧縮処理、および、ゲーム装置3から送信されたデータに対する伸張処理を行う回路である。コーデックLSI76には、LCD51、カメラ56、サウンドIC78、無線モジュール80、フラッシュメモリ83、および赤外線通信モジュール82が接続される。また、コーデックLSI76はCPU87と内部メモリ88を含む。端末装置7はゲーム処理自体を行なわない構成であるが、端末装置7の管理や通信のための最小限のプログラムを実行する必要がある。電源投入時にフラッシュメモリ83に格納されたプログラムを内部メモリ88に読み出してCPU87が実行することで、端末装置7が起動する。また、内部メモリ88の一部の領域はLCD51のためのVRAMとして使用される。
【0141】
カメラ56は、ゲーム装置3からの指示に従って画像を撮像し、撮像した画像データをコーデックLSI76へ出力する。また、コーデックLSI76からカメラ56へは、画像の撮像指示等、カメラ56に対する制御指示が出力される。なお、カメラ56は動画の撮影も可能である。すなわち、カメラ56は、繰り返し撮像を行って画像データをコーデックLSI76へ繰り返し出力することも可能である。
【0142】
サウンドIC78は、スピーカ77およびマイク79に接続され、スピーカ77およびマイク79への音声データの入出力を制御する回路である。すなわち、コーデックLSI76から音声データを受け取った場合、サウンドIC78は当該音声データに対してD/A変換を行って得られる音声信号をスピーカ77へ出力し、スピーカ77から音を出力させる。また、マイク79は、端末装置7に伝わる音(ユーザの音声等)を検知して、当該音を示す音声信号をサウンドIC78へ出力する。サウンドIC78は、マイク79からの音声信号に対してA/D変換を行い、所定の形式の音声データをコーデックLSI76へ出力する。
【0143】
コーデックLSI76は、カメラ56からの画像データ、マイク79からの音声データ、および、UIコントローラ75からの操作データを、端末操作データとして無線モジュール80を介してゲーム装置3へ送信する。本実施形態では、コーデックLSI76は、画像データおよび音声データに対して、コーデックLSI27と同様の圧縮処理を行う。上記端末操作データ、ならびに、圧縮された画像データおよび音声データは、送信データとして無線モジュール80に出力される。無線モジュール80にはアンテナ81が接続されており、無線モジュール80はアンテナ81を介してゲーム装置3へ上記送信データを送信する。無線モジュール80は、ゲーム装置3の端末通信モジュール28と同様の機能を有している。すなわち、無線モジュール80は、例えばIEEE802.11nの規格に準拠した方式により、無線LANに接続する機能を有する。送信されるデータは必要に応じて暗号化されていてもよいし、されていなくともよい。
【0144】
以上のように、端末装置7からゲーム装置3へ送信される送信データには、操作データ(端末操作データ)、画像データ、および音声データが含まれる。なお、拡張コネクタ58を介して端末装置7に他の装置が接続される場合には、当該他の装置から受け取ったデータが上記送信データにさらに含まれていてもよい。また、赤外線通信モジュール82は、他の装置との間で例えばIRDAの規格に従った赤外線通信を行う。コーデックLSI76は、赤外線通信によって受信したデータを、必要に応じて上記送信データに含めてゲーム装置3へ送信してもよい。
【0145】
また、上述のように、ゲーム装置3から端末装置7へは、圧縮された画像データおよび音声データが送信される。これらのデータはアンテナ81および無線モジュール80を介してコーデックLSI76に受信される。コーデックLSI76は、受信した画像データおよび音声データを伸張する。伸張された画像データはLCD51へ出力され、画像がLCD51に表示される。つまり、コーデックLSI76(CPU87)は、受信された画像データを表示部に表示させる。また、伸張された音声データはサウンドIC78へ出力され、サウンドIC78はスピーカ77から音を出力させる。
【0146】
また、ゲーム装置3から受信されるデータに制御データが含まれる場合、コーデックLSI76およびUIコントローラ75は、制御データに従った制御指示を各部に行う。上述のように、制御データは、端末装置7が備える各構成要素(本実施形態では、カメラ56、タッチパネルコントローラ71、マーカ部55、各センサ62〜64、および赤外線通信モジュール82)に対する制御指示を表すデータである。本実施形態では、制御データが表す制御指示としては、上記各構成要素を動作させたり、動作を休止(停止)させたりする指示が考えられる。すなわち、ゲームで使用しない構成要素については電力消費を抑えるために休止させてもよく、その場合、端末装置7からゲーム装置3へ送信される送信データには、休止した構成要素からのデータが含まれないようにする。なお、マーカ部55は赤外LEDであるので、制御は単に電力の供給のON/OFFでよい。
【0147】
以上のように、端末装置7は、タッチパネル52、アナログスティック53、および操作ボタン54といった操作手段を備えるが、他の実施形態においては、これらの操作手段に代えて、または、これらの操作手段とともに、他の操作手段を備える構成であってもよい。
【0148】
また、端末装置7は、端末装置7の動き(位置や姿勢、あるいは、位置や姿勢の変化を含む)を算出するためのセンサとして、磁気センサ72、加速度センサ73、およびジャイロセンサ74を備えるが、他の実施形態においては、これらのセンサのうち1つまたは2つのみを備える構成であってもよい。また、他の実施形態においては、これらのセンサに代えて、または、これらのセンサとともに、他のセンサを備える構成であってもよい。
【0149】
また、端末装置7は、カメラ56およびマイク79を備える構成であるが、他の実施形態においては、カメラ56およびマイク79を備えていなくてもよく、また、いずれか一方のみを備えていてもよい。
【0150】
また、端末装置7は、端末装置7とコントローラ5との位置関係(コントローラ5から見た端末装置7の位置および/または姿勢等)を算出するための構成としてマーカ部55を備える構成であるが、他の実施形態ではマーカ部55を備えていない構成としてもよい。また、他の実施形態では、端末装置7は、上記位置関係を算出するための構成として他の手段を備えていてもよい。例えば、他の実施形態においては、コントローラ5がマーカ部を備え、端末装置7が撮像素子を備える構成としてもよい。さらにこの場合、マーカ装置6は赤外LEDに代えて、撮像素子を備える構成としてもよい。
【0151】
[5.ゲーム処理の概要]
次に、本実施形態のゲームシステム1において実行されるゲーム処理の概要について説明する。本ゲーム処理によって実行されるゲームは、端末装置7とコントローラ5とを操作装置として用いて、複数人のプレイヤが対戦する形式のゲームである。なお、本実施形態においては、ゲームシステム1が4つのコントローラ5を含み、4つのコントローラ5が用いられる場合について説明する。つまり、本実施形態においては、端末装置7を操作する1人のプレイヤと、4つのコントローラ5を1つずつ操作する4人のプレイヤとの合計5人のプレイヤによってゲームが行われる。以下では、コントローラ5を用いる各プレイヤを「第1プレイヤ」と呼び、第1プレイヤの操作対象を「第1オブジェクト」と呼ぶ。また、端末装置7を用いるプレイヤを「第2プレイヤ」と呼び、第2プレイヤの操作対象を「第2オブジェクト」と呼ぶ。なお、他の実施形態においては、コントローラ5の数はいくつであってもよく、端末装置7を用いるプレイヤが1人でゲームを行ってもよい。
【0152】
各プレイヤはそれぞれ、ゲーム空間に登場する操作対象を操作してゲームを行う。すなわち、ゲーム装置3は、各コントローラ5に対する操作を表す各コントローラ操作データと、端末装置7に対する操作を表す端末操作データとを取得する。なお、本実施形態においては、ゲーム装置3は、これらの操作データに加えて、端末装置7が備える撮像部(カメラ56)による撮像画像(カメラ画像)のデータを取得する。そして、ゲーム装置3は、仮想のゲーム空間内において、コントローラ操作データに基づいて第1オブジェクトの動作をそれぞれ制御し、端末操作データに基づいて第2オブジェクトの動作を制御する。なお、ゲームシステム1によって実行されるゲームは、どのようなゲーム内容であってもよいが、本実施形態では、鬼ごっこのゲームであるとする。具体的には、本ゲームでは、第2プレイヤは、第1オブジェクトを捕まえるように第2オブジェクトを移動させ、第1プレイヤは、第2オブジェクトから逃げるように第1オブジェクトを移動させて遊ぶ。
【0153】
図13は、本実施形態におけるテレビ用画像の一例を示す図である。テレビ2に表示されるテレビ用画像は、各第1プレイヤのためのゲーム画像である。なお、本実施形態においては、第1プレイヤは4人であるので、各第1プレイヤのための4つのゲーム画像が生成され、各ゲーム画像がテレビ2に表示される。すなわち、
図13に示すように、テレビ2の画面領域は、コントローラ5の数(第1プレイヤの人数。ここでは4つ)に分割され、分割された各領域100a〜100dにゲーム画像がそれぞれ表示される。
【0154】
また、本実施形態においては、第1プレイヤのためのゲーム画像として、各第1オブジェクト101a〜101dに対応するゲーム画像が生成される。具体的には、本実施形態においては、第1オブジェクト101を含むゲーム画像が生成され、より具体的には、各第1オブジェクト101a〜101dを後方から見たゲーム空間を表すゲーム画像が生成される(
図13参照)。なお、他の実施形態においては、第1オブジェクト101に対応するゲーム画像として、第1オブジェクト101の位置からゲーム空間を見たゲーム画像(1人称視点のゲーム画像)が生成されてもよい。以上より、本実施形態においては、テレビ2の画面領域を分割した4つの領域100a〜100dには、4つの第1オブジェクト101a〜101dが1つずつ対応付けられ、各領域100a〜100dには、その領域に対応する第1オブジェクト101を含むゲーム空間の画像が表示される。
【0155】
さらに、本実施形態においては、テレビ2にはプレイヤ画像103が表示される。プレイヤ画像は、上記カメラ画像の画像領域のうちで、プレイヤの顔を含む領域の画像である。詳細は後述するが、本実施形態においてはカメラ画像に対して所定の処理が施された結果得られる画像がプレイヤ画像として表示される。なお、他の実施形態においては、カメラ画像がそのままプレイヤ画像として用いられてもよい。本実施形態においては、プレイヤ画像は、端末装置7を用いる第2プレイヤ(の顔)を表す画像である。プレイヤ画像は、テレビ2の画面上において任意の位置に表示されてもよい。ここでは、画面の中央に表示される(
図13参照)。
【0156】
また、ゲームシステム1においてゲーム処理が実行される間において、プレイヤ画像が表示されるタイミングはいつでもよい。
図13においては、プレイヤ画像103は、ゲーム中においてリアルタイムに表示される。したがって、各プレイヤは、ゲーム中の第2プレイヤの表情をリアルタイムで見て楽しむことができる。また、詳細は後述するが、本実施形態においては、所定のゲーム条件が満たされた場合に、ゲーム装置3は、当該ゲーム条件が満たされた時点で取得されたカメラ画像に基づくプレイヤ画像を保存し、その後テレビ2に表示させる。また、ゲーム装置3は、ゲーム中の他、例えばゲームクリアした後やゲームオーバーになった後等、ゲーム終了後においてプレイヤ画像を表示してもよい。
【0157】
以上のように、ゲーム装置3は、仮想空間を表すゲーム画像であって第1オブジェクト101に対応するゲーム画像と、カメラ画像の少なくとも一部の画像(プレイヤ画像)とを含むテレビ用画像を生成する。そして、テレビ用画像を端末装置7とは別体のテレビ2へ出力する。したがって、各プレイヤは、ゲームをプレイ中の第2プレイヤの表情をテレビ2で見て楽しむことができる。
【0158】
図14は、本実施形態における端末用画像の一例を示す図である。端末装置7に表示される端末用画像は、第2プレイヤのためのゲーム画像である。ゲーム装置3は、仮想のゲーム空間を表すゲーム画像であって第2オブジェクトに対応する端末用画像を生成し、端末用画像を端末装置7へ出力する。すなわち、
図14に示すように、端末装置7には、第2オブジェクト102に対応するゲーム画像として、第2オブジェクト102を含むゲーム画像が表示される。本実施形態においては、ゲーム装置3は、第2オブジェクト102を上方から見たゲーム空間を表すゲーム画像を生成する。なお、他の実施形態においては、ゲーム装置3は、第2オブジェクト102を後方から見たゲーム空間を表すゲーム画像を生成してもよいし、第2オブジェクト102の位置からゲーム空間を見たゲーム画像(1人称視点のゲーム画像)を生成してもよい。
【0159】
以上のように、本実施形態においては、第1プレイヤが操作する第1オブジェクト101に対応するゲーム画像と、第2プレイヤ(の顔)を表すプレイヤ画像とがテレビ2に表示される。各プレイヤが見ることができるテレビ2にプレイヤ画像が表示されるので、本実施形態によれば、第2プレイヤ以外の他のプレイヤ(あるいはゲームを見ている人)も第2プレイヤの表情を見て楽しむことができる。これによって、より興趣性の高いゲームを提供することができる。さらに、端末装置7にはプレイヤ画像が表示されないので、第2プレイヤは、自分の顔の画像を気にすることなくゲームをプレイすることができる。また、端末装置7の画面上においてプレイヤ画像がゲーム画像の領域を隠すこともないので、第2プレイヤのゲームプレイを妨げることなく、プレイヤ画像を提示することができる。
【0160】
[6.ゲーム処理の詳細]
次に、本ゲームシステムにおいて実行されるゲーム処理の詳細を説明する。
図15は、ゲーム処理において用いられる各種データを示す図である。
図15において、ゲーム装置3のメインメモリ(外部メインメモリ12または内部メインメモリ11e)に記憶される主なデータを示す図である。
図15に示すように、ゲーム装置3のメインメモリには、ゲームプログラム110、受信データ111、および処理用データ116が記憶される。なお、メインメモリには、
図15に示すデータの他、ゲームに登場する各種オブジェクトの画像データやゲームに使用される音声データ等、ゲームに必要なデータが記憶される。また、
図15に示す各データが記憶される記憶手段はどのようなものであってもよく、他の実施形態においては、当該各データの一部はフラッシュメモリ17やVRAM11d等に記憶されてもよい。
【0161】
ゲームプログラム110は、ゲーム装置3に電源が投入された後の適宜のタイミングで光ディスク4からその一部または全部が読み込まれてメインメモリに記憶される。なお、ゲームプログラム110は、光ディスク4に代えて、フラッシュメモリ17やゲーム装置3の外部装置から(例えばインターネットを介して)取得されてもよい。また、ゲームプログラム110に含まれる一部(例えば、コントローラ5および/または端末装置7の姿勢を算出するためのプログラム)については、ゲーム装置3内に予め記憶されていてもよい。
【0162】
受信データ111は、コントローラ5および端末装置7から受信(取得)される各種のデータである。受信データ111は、コントローラ操作データ112、端末操作データ113、カメラ画像データ114、および、マイク音データ115を含む。コントローラ5が複数接続される場合には、コントローラ操作データ112はコントローラ5毎に記憶される。端末装置7が複数接続される場合には、端末操作データ113、カメラ画像データ114、およびマイク音データ115は端末装置7毎に記憶される。
【0163】
コントローラ操作データ112は、コントローラ5に対するユーザ(第1プレイヤ)の操作を表すデータであり、コントローラ5に対する操作に基づいてコントローラ5から出力(送信)される。コントローラ操作データ112は、コントローラ5から送信されてゲーム装置3において取得され、メインメモリに記憶される。なお、ゲーム装置3は、複数のコントローラと通信可能であり、各コントローラから操作データをそれぞれ取得することが可能である。コントローラが複数である場合、各コントローラからそれぞれ送信されてくる各コントローラ操作データがメインメモリにそれぞれ記憶される。メインメモリには、コントローラ毎に最新の(最後に取得された)ものから順に所定個数のコントローラ操作データが記憶されてもよい。
【0164】
本実施形態においては、コントローラ操作データ112は、メインコントローラ8から取得されるデータとして、メイン操作ボタンデータ、メイン加速度データ、角速度データ、およびマーカ座標データを含む。メイン操作ボタンデータは、メインコントローラ8に設けられる各操作ボタン32a〜32iに対する入力状態を表すデータである。具体的には、メイン操作ボタンデータは、各操作ボタン32a〜32iが押下されているか否かを表す。メイン加速度データは、メインコントローラ8の加速度センサ37によって検出された加速度(加速度ベクトル)を表すデータである。ここでは、メイン加速度データは、
図3に示すXYZの3軸の方向に関する加速度を各成分とする3次元の加速度を表すものであるが、他の実施形態においては、任意の1以上の方向に関する加速度を表すものであってもよい。角速度データは、メインコントローラ8におけるジャイロセンサ48によって検出された角速度を表すデータである。ここでは、角速度データは、
図3に示すXYZの3軸回りのそれぞれの角速度を表すものであるが、他の実施形態においては、任意の1軸以上の軸回り角速度を表すものであればよい。マーカ座標データ、撮像情報演算部35の画像処理回路41によって算出される座標、すなわち上記マーカ座標を表すデータである。マーカ座標は、撮像素子40によって撮像された画像に対応する平面上の位置を表すための2次元座標系で表現され、マーカ座標データは、当該2次元座標系における座標値を表す。
【0165】
また、本実施形態においては、サブコントローラ9から(メインコントローラ8を介して)取得されるデータとして、コントローラ操作データ112は、サブスティックデータ、サブ操作ボタンデータ、および、サブ加速度データを含む。サブスティックデータは、サブコントローラ9のアナログジョイスティック91に対する操作を表すデータである。具体的には、サブスティックデータは、アナログジョイスティック91に対する傾倒方向および傾倒量を表す。サブ操作ボタンデータは、上記サブコントローラ9に設けられる各操作ボタンに対する入力状態を表すデータである。具体的には、サブ操作ボタンデータは、各操作ボタンが押下されているか否かを表す。サブ加速度データは、サブコントローラ9の加速度センサ93によって検出された加速度(加速度ベクトル)を表すデータである。ここでは、サブ加速度データは、
図7に示すx’y’z’の3軸の方向に関する加速度を各成分とする3次元の加速度を表すものであるが、他の実施形態においては、任意の1以上の方向に関する加速度を表すものであってもよい。
【0166】
なお、コントローラ操作データ112は、コントローラ5に対するプレイヤの操作を表すものであればよく、本実施形態においてコントローラ操作データ112に含まれる各データの一部のみを含むものであってもよい。また、コントローラ5が他の入力手段(例えば、タッチパネルやアナログスティック等)を有する場合には、コントローラ操作データ112は、当該他の入力手段に対する操作を表すデータを含んでいてもよい。なお、コントローラ5自体の姿勢をゲーム操作として用いる場合には、コントローラ操作データ112は、メイン加速度データ、角速度データ、マーカ座標データ、またはサブ加速度データのように、コントローラ5自体の姿勢に応じて値が変化するデータを含むようにする。
【0167】
端末操作データ113は、端末装置7に対するプレイヤの操作を表すデータである。端末操作データ113は、端末装置7から送信されてゲーム装置3において取得され、メインメモリに記憶される。なお、ゲーム装置3は、複数の端末装置7と通信可能であり、各端末装置から操作データをそれぞれ取得することが可能である。端末装置7が複数である場合、各端末装置からそれぞれ送信されてくる各端末操作データがメインメモリにそれぞれ記憶される。メインメモリには、端末装置毎に最新の(最後に取得された)ものから順に所定個数の端末操作データが記憶されてもよい。
【0168】
端末操作データ113は、角速度データ、加速度データ、操作ボタンデータ、スティックデータ、タッチ位置データ、および方位データを含む。角速度データは、ジャイロセンサ74によって検出された角速度を表すデータである。本実施形態では、角速度データは、
図9に示すxyzの3軸回りのそれぞれの角速度を表すものであるが、他の実施形態においては、任意の1軸以上の軸回り角速度を表すものであればよい。加速度データは、加速度センサ73によって検出された加速度(加速度ベクトル)を表すデータである。本実施形態では、加速度データは、
図9に示すxyzの3軸の方向に関する加速度を各成分とする3次元の加速度を表すものであるが、他の実施形態においては、任意の1以上の方向に関する加速度を表すものであればよい。上記ジャイロセンサ74および加速度センサ73は、慣性センサの一例である。ゲーム装置3は、慣性センサの検出結果(角速度データおよび加速度データ)に基づいて端末装置7の姿勢を算出することができる。
【0169】
操作ボタンデータは、端末装置7に設けられる各操作ボタン54A〜54Lに対する入力状態を表すデータである。具体的には、操作ボタンデータは、各操作ボタン54A〜54Lが押下されているか否かを表す。スティックデータは、アナログスティック53(アナログスティック53Aおよび53B)のスティック部がスライドした(または傾倒した)方向および量を表すデータである。タッチ位置データは、タッチパネル52の入力面において入力が行われた位置(タッチ位置)を表すデータである。なお、タッチパネル52がマルチタッチ方式である場合には、タッチ位置データは複数のタッチ位置を表すこともある。方位データは、磁気センサ72によって検出された方位を表すデータである。本実施形態では、方位データは、端末装置7を基準として所定の方位(例えば北)の向きを表す。なお、地磁気以外の磁界が発生している場合においては、方位データは厳密には絶対的な方位(北等)を示さないことになる。ただし、その場所における磁界の方向に対する端末装置7の相対的な方向が方位データによって示されるので、そのような場合であっても方位データに基づいて端末装置7の姿勢または姿勢の変化を算出することが可能である。
【0170】
なお、端末操作データ113は、端末装置7に対する操作を表すものであればよく、本実施形態において端末操作データ113が含む上記各データのいずれか1つのみを含むものであってもよい。また、端末装置7が他の入力手段(例えば、タッチパッドや、コントローラ5の撮像手段等)を有する場合には、端末操作データ113は、当該他の入力手段に対する操作を表すデータを含んでいてもよい。なお、本実施形態のように端末装置7自体の動きをゲーム操作として用いる場合には、端末操作データ113は、加速度データ、角速度データ、または方位データのように、端末装置7の動きに関する情報を表すデータ(動きに応じて値が変化するデータ)を含むことが好ましい。なお、端末装置7の動きに関する情報とは、例えば、端末装置7の位置、姿勢、位置の変化(速度)、姿勢の変化(角速度)、加速度、角加速度等の情報である。
【0171】
カメラ画像データ114は、端末装置7のカメラ56によって撮像されたカメラ画像(撮像画像)を表すデータである。カメラ画像データ114は、端末装置7から送信されてくる圧縮された画像データがコーデックLSI27によって伸張された画像データであり、入出力プロセッサ11aによってメインメモリに記憶される。マイク音データ115は、端末装置7のマイク79によって検出された音声(マイク音)を表すデータである。マイク音データ115は、端末装置7から送信されてくる圧縮された音声データがコーデックLSI27によって伸張された音声データであり、入出力プロセッサ11aによってメインメモリに記憶される。なお、端末装置7は、端末操作データおよびカメラ画像データを出力すればよく、マイク音声データを出力しなくてもよい。
【0172】
処理用データ116は、後述するゲーム処理(
図16)において用いられるデータである。処理用データ116は、プレイヤ画像データ117、保存プレイヤ画像データ118、第1オブジェクトデータ119、第2オブジェクトデータ120、テレビ用カメラデータ121、および、端末用カメラデータ122を含む。なお、
図15に示すデータの他、処理用データ116は、ゲームに登場する各種オブジェクトに設定される各種パラメータを表すデータ等、ゲーム処理において用いられる各種データを含む。
【0173】
プレイヤ画像データ117は、テレビ2に表示されるプレイヤ画像のデータである。上述のように、プレイヤ画像データ117はカメラ画像データ114に基づいて生成される。なお、本実施形態においては、新たなプレイヤ画像が生成される度にプレイヤ画像データ117が更新される。保存プレイヤ画像データ118は、所定のゲーム条件が満たされたことに応じて生成されたプレイヤ画像(「保存プレイヤ画像」と呼ぶ)である。つまり、本実施形態においては、所定のゲーム条件が満たされた場合、その時点のプレイヤ画像データ117は、保存プレイヤ画像データ118としてメインメモリに記憶される。
以下では、
なお、複数種類の保存プレイヤ画像データ118がメインメモリに記憶されてもよい。なお、上記プレイヤ画像データ117および保存プレイヤ画像データ118は、VRAM11dに記憶されてもよい。
【0174】
第1オブジェクトデータ119は、ゲーム空間における上記第1オブジェクト101の位置および向きを表す。本実施形態においては、複数(4つ)の第1オブジェクト101a〜101dが登場するので、第1オブジェクト毎に第1オブジェクトデータ119がメインメモリに記憶される。また、第2オブジェクトデータ120は、ゲーム空間における上記第2オブジェクトの位置および向きを表す。
【0175】
テレビ用カメラデータ121は、テレビ用画像を生成するためにゲーム空間に設定される仮想カメラ(「テレビ用カメラ」と呼ぶ)の位置および姿勢を表す。本実施形態においては、テレビ用カメラと各第1オブジェクトとを対応させるべく、第1オブジェクトの数と同数のテレビ用カメラが設定される。本実施形態においては、4つのテレビ用カメラが設定されるので、テレビ用カメラ毎にテレビ用カメラデータ121がメインメモリに記憶される。また、端末用カメラデータ122は、端末用画像を生成するためにゲーム空間に設定される仮想カメラ(「端末用カメラ」と呼ぶ)の位置および姿勢を表す。
【0176】
次に、ゲーム装置3において実行されるゲーム処理の詳細を、
図16〜
図20を用いて説明する。
図16は、ゲーム装置3において実行されるゲーム処理の流れを示すメインフローチャートである。ゲーム装置3の電源が投入されると、ゲーム装置3のCPU10は、図示しないブートROMに記憶されている起動プログラムを実行し、これによってメインメモリ等の各ユニットが初期化される。そして、光ディスク4に記憶されたゲームプログラムがメインメモリに読み込まれ、CPU10によって当該ゲームプログラムの実行が開始される。
図16に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。なお、ゲーム装置3においては、電源投入後にゲームプログラムがすぐに実行される構成であってもよいし、電源投入後にまず所定のメニュー画面を表示する内蔵プログラムが実行され、その後ユーザによってゲームの開始が指示されたことに応じてゲームプログラムが実行される構成であってもよい。
【0177】
なお、
図16〜
図20に示すフローチャートの各ステップの処理は、単なる一例に過ぎず、同様の結果が得られるのであれば、各ステップの処理順序を入れ替えてもよい。また、変数の値や、判断ステップで利用される閾値も、単なる一例に過ぎず、必要に応じて他の値を採用してもよい。また、本実施形態では、上記フローチャートの各ステップの処理をCPU10が実行するものとして説明するが、上記フローチャートの一部のステップの処理を、CPU10以外のプロセッサや専用回路が実行するようにしてもよい。
【0178】
まずステップS1において、CPU10は初期処理を実行する。初期処理は、仮想のゲーム空間を構築し、ゲーム空間に登場する各オブジェクトを初期位置に配置したり、ゲーム処理で用いる各種パラメータの初期値を設定したりする処理である。なお、本実施形態においては、各オブジェクト101および92が所定の位置および所定の向きに配置される。すなわち、各第1オブジェクト101a〜101dの位置および向きを表すデータがそれぞれ第1オブジェクトデータ119としてメインメモリに記憶され、第2オブジェクト102の位置および向きを表すデータが第2オブジェクトデータ120としてメインメモリに記憶される。また、各オブジェクト101および92の位置および向きに応じた初期位置および初期姿勢で各仮想カメラ(テレビ用カメラおよび端末用カメラ)がそれぞれ設定される。各テレビ用カメラの初期位置および初期姿勢を表すデータは、テレビ用カメラデータ121としてメインメモリに記憶され、端末用カメラの初期位置および初期姿勢を表すデータは、端末用カメラデータ122としてメインメモリに記憶される。ステップS1の次にステップS2の処理が実行される。以降、ステップS2〜S9の一連の処理からなる処理ループが所定時間(1フレーム時間。例えば1/60秒)に1回の割合で繰り返し実行される。
【0179】
ステップS2において、CPU10は、各コントローラ5および端末装置7から送信されてくるデータをそれぞれ取得する。各コントローラ5はコントローラ操作データをゲーム装置3へ繰り返し送信するので、ゲーム装置3においては、コントローラ通信モジュール19が各コントローラ操作データを逐次受信し、受信された各コントローラ操作データが入出力プロセッサ11aによってメインメモリに逐次記憶される。また、端末装置7は、端末操作データとカメラ画像データとマイク音声データとをゲーム装置3へ繰り返し送信するので、ゲーム装置3はこれら3種類のデータを逐次受信する。ゲーム装置3においては、端末通信モジュール28が各データを逐次受信し、カメラ画像データおよびマイク音データについてはコーデックLSI27によって伸張処理が逐次施される。そして、入出力プロセッサ11aが端末操作データとカメラ画像データとマイク音データとをメインメモリに逐次記憶する。メインメモリに記憶された受信データ111(各データ112〜115)は、適宜のタイミングでCPU10によって読み出される。ステップS2の次にステップS3の処理が実行される。
【0180】
ステップS3において、CPU10はカメラ画像処理を実行する。カメラ画像処理は、テレビ2に表示すべきプレイヤ画像をカメラ画像に基づいて生成する処理である。以下、
図17を参照して、カメラ画像処理の詳細について説明する。
【0181】
図17は、
図16に示すカメラ画像処理(ステップS3)の詳細な流れを示すフローチャートである。カメラ画像処理においてはまずステップS11において、CPU10は、ステップS2で取得されたカメラ画像に対して画像認識処理を実行する。この画像認識処理は、カメラ画像から何らかの特徴を抽出し、抽出した特徴に関する情報を算出する処理であるが、具体的な処理はどのような処理であってもよい。本実施形態では、CPU10は、カメラ画像のうちから顔を認識する認識処理を実行する。なお、画像認識処理の具体的な方法は従来の認識方法と同様であってもよい。また、画像認識処理においては、第2プレイヤの顔を認識することが目的であるので、例えばカメラ画像に複数の顔が含まれる場合には、最も大きい顔を認識するようにすることが好ましい。ステップS11の具体的な処理としては、CPU10は、カメラ画像データ114をメインメモリから読み出し、上記認識処理を実行する。そして、この認識処理の結果、例えば顔の特徴点(目や鼻や口等)の位置が算出され、CPU10は、認識処理の結果として算出されたデータをメインメモリに記憶する。なお、カメラ画像から顔(上記特徴点)が検出されない場合等、画像認識処理が失敗した場合には、失敗したことを表すデータがメインメモリに記憶される。ステップS11の次にステップS12の処理が実行される。
【0182】
なお、本実施形態では、ステップS11の画像認識処理が1フレーム時間内に実行され、ステップS2〜S9の処理ループ内で認識処理が完了されるものとした。ここで、カメラ画像の解像度やCPU10等の処理能力によっては、1回の画像認識処理が1フレーム時間で完了することが困難な場合もある。そのため、他の実施形態においては、画像認識処理は、1フレーム時間を周期として実行される、画像の生成・表示処理(ステップS5〜S8)等の処理とは必ずしも同じ周期で実行されなくてもよい。つまり、1回のステップS11の処理では、画像認識処理全体のうちの一部の処理だけが実行されてもよい。この場合、1回のステップS11で実行される処理は、ステップS2〜S9の一連の処理が1フレーム時間内に完了することができるような処理量に調整される。換言すれば、画像認識処理は、ステップS2〜S9の処理ループとは別に並列的に実行され、CPU10がアイドル状態のときに実行されてもよい。
【0183】
ステップS12において、CPU10は、画像認識処理が成功したか否かを判定する。すなわち、CPU10は、ステップS11の認識処理の結果を表すデータをメインメモリから読み出し、当該データに基づいて判定を行う。ステップS11の判定結果が肯定である場合、ステップS12の処理が実行される。一方、ステップS11の判定結果が否定である場合、CPU10はカメラ画像処理を終了する。このとき、認識ができなかった(失敗した)ことを示すために、認識失敗用のプレイヤ画像を表示するようにしてもよい。認識失敗用の画像は、たとえば砂嵐の画像等を用いてもよい。
【0184】
ステップS13およびS14において、CPU10は、第2プレイヤの顔の画像を含む適切な画像となるように、カメラ画像を補正する処理を実行する。なお、プレイヤ画像は、カメラ画像に基づいて生成されればよく、例えばカメラ画像がそのままプレイヤ画像として用いられてもよい。ただし、カメラ画像がそのままプレイヤ画像として用いられる場合には、プレイヤ画像において第2プレイヤの顔が見にくくなるおそれがある。すなわち、端末装置7と第2プレイヤとの位置関係によっては、第2プレイヤの顔がカメラ画像の中央付近に映っていなかったり、(端末装置7を傾けて把持している場合に)第2プレイヤが傾いて映っていたりすることが考えられる。ステップS13およびS14においては、CPU10は、カメラ画像を回転したり、カメラ画像から一部の領域を抽出したりすることで、第2プレイヤの顔が見やすく表示されるように、カメラ画像に対して処理を施す。以下、ステップS13およびS14の処理の詳細を説明する。
【0185】
ステップS13において、CPU10は、カメラ画像の傾きを補正する。ここで、本実施形態においては、第2ユーザは端末装置7を把持して操作を行い、さらに、端末装置7を傾ける操作を行う場合も考えられる。そのため、端末装置7がLCD51の画面に垂直な方向(
図8に示すy軸方向)に関して傾いて把持される場合もある。この場合には、カメラ画像においては第2プレイヤの顔が傾いて現される。したがって、CPU10は、第2プレイヤの顔が上下方向に真っ直ぐに現されるように、カメラ画像を回転させる補正処理を行う。なお、カメラ画像を回転させる量(角度)および方向は、上記の画像認識処理の結果に基づいて決定されてもよいし、端末操作データに基づいて算出(推測)される端末装置7の傾き(上記y軸方向の回転に関する傾き)に基づいて決定されてもよい。例えば、画像認識処理において両目の位置が得られる場合、CPU10は、両目が左右に水平になるようにカメラ画像を回転させてよい。また、CPU10は、角速度データ、加速度データ、および方位データの少なくとも1つに基づいて端末装置7の傾きを算出し、端末装置7の傾き方向とは逆方向に、端末装置7の傾き量と同じ量だけカメラ画像を回転させてもよい。具体的には、CPU10は、カメラ画像データ114をメインメモリから読み出し、上記の補正処理を行う。そして、補正処理が行われたカメラ画像のデータをメインメモリ(あるいはVRAM11d)に記憶する。ステップS13の次にステップS14の処理が実行される。
【0186】
ステップS14において、CPU10は、カメラ画像の領域のうちで、プレイヤ画像としてテレビ2に表示する領域を抽出する。ここで、カメラ画像における第2プレイヤの顔の位置や大きさは、第2プレイヤと端末装置7との位置関係によって異なる。そのため、第2プレイヤによる端末装置7の持ち方によっては、カメラ画像の中央に第2プレイヤの顔が位置しなかったり、プレイヤの顔が小さく映ったりすることがある。したがって、CPU10は、第2プレイヤの顔が所定の大きさで画像の中央付近に現されるように、カメラ画像から領域を抽出する。抽出すべき領域を決定する方法はどのような方法であってもよいが、例えば、CPU10は、上記認識処理によって顔の位置および大きさを認識し、認識した顔の位置および大きさに基づいて領域を決定するようにしてもよい。また例えば、CPU10は、カメラ画像のうちの予め定められた所定領域を抽出するようにしてもよい。具体的には、CPU10は、ステップS13で記憶されたデータをメインメモリから読み出し、プレイヤ画像として用いる領域を抽出する。そして、抽出した領域の画像データをメインメモリ(あるいはVRAM11d)に記憶する。ステップS14の次にステップS15の処理が実行される。
【0187】
ステップS15において、CPU10は、ステップS14で抽出された領域の画像に対して所定の加工処理を実行する。この加工処理は、どのような処理であってもよいが、例えば、プレイヤの顔に対して所定の画像を合成する処理や、プレイヤの顔に対して変更を加える処理である。すなわち、CPU10は、カメラ画像のうちで上記画像認識処理によって認識された顔の画像に対して所定の画像を合成してもよい。なお、上記所定の画像はどのような画像であってもよく、例えば、ゲームに登場するキャラクタ(第2オブジェクト等)を表す画像であってもよい。具体的には、CPU10は、キャラクタがかぶっている帽子と同じ帽子の画像を上記抽出された画像に合成したり、キャラクタのひげと同じひげの画像を上記抽出された画像に合成したりしてもよい。また、CPU10は、カメラ画像のうちで上記画像認識処理によって認識された顔の画像に対して所定の変更を加えてもよい。例えば、顔の一部(目や鼻や口)を大きくしたり、顔の色を変化したりするようにしてもよい。また、加工処理の内容は、プレイヤが指定することができるようにしてもよい。ステップS15の具体的な処理としては、CPU10は、ステップS14で記憶された画像データを読み出し、上記加工処理を実行する。そして、加工処理後の画像データをメインメモリ(あるいはVRAM11d)に記憶する。ステップS15の次にステップS16の処理が実行される。
【0188】
上記ステップS15のように、本実施形態においては、CPU10は、カメラ画像のうちで上記認識処理によって認識された顔の画像に対して所定の加工処理を施す。そして、加工処理後の画像を含む第1ゲーム画像が生成される。したがって、本実施形態においては、テレビ2に表示される第2プレイヤの顔にゲーム内容に応じた画像を加えたり、ゲーム演出上の効果を与えたり、見栄えよく顔を表示させたりすることができる。
【0189】
ステップS17において、CPU10はプレイヤ画像を更新する。具体的には、上記ステップS15で記憶された画像データをメインメモリから読み出し、新たなプレイヤ画像データ117としてメインメモリに記憶する。ステップS17の後、CPU10はカメラ画像処理を終了する。
【0190】
以上のカメラ画像処理においては、取得されたカメラ画像に対してステップS13〜S15の各処理が実行されることによってプレイヤ画像が生成された。ここで、他の実施形態においては、上記各処理の全部または一部は実行されなくてもよく、カメラ画像がそのままプレイヤ画像として用いられてもよい。
【0191】
また、上記カメラ画像処理においては、1回の画像認識処理(ステップS11)が1回のステップS2〜S9の処理ループ内で完了するものとして説明を行ったが、上述のように、1回の画像認識処理は1回の上記処理ループ内で完了しなくてもよい。すなわち、CPU10は、カメラ画像のデータを逐次取得し(ステップS2)、カメラ画像のデータが取得されるよりも少ない頻度でプレイヤ画像の更新(ステップS16)を行ってもよい。つまり、テレビ2に表示される画像のうちで、プレイヤ画像の更新頻度は、ゲーム空間を表す画像の更新頻度よりも少なくてもよい。これによれば、画像認識処理によるCPU10の処理負担を軽減することができる。
【0192】
図16の説明に戻り、ステップS3の次のステップS4において、CPU10は、ゲーム制御処理を実行する。ゲーム制御処理は、プレイヤによるゲーム操作に従ってゲーム空間内のオブジェクトを動作させる処理等を実行し、ゲームを進行させる処理である。具体的には、本実施形態におけるゲーム制御処理においては、各オブジェクト101および92の移動を制御する処理、および、各仮想カメラを制御する処理等が実行される。以下、
図18を参照して、ゲーム制御処理の詳細について説明する。
【0193】
図18は、
図16に示すゲーム制御処理(ステップS4)の詳細な流れを示すフローチャートである。ゲーム制御処理においてはまずステップS21において、CPU10は、各第1オブジェクト101のうち1つを選択する。ここで選択される第1オブジェクト101は、ステップS21〜S24の処理ループにおいてまだ選択されていない第1オブジェクト101である。ステップS21の次にステップS22の処理が実行される。
【0194】
ステップS22において、CPU10は、ステップS21で選択された第1オブジェクト101の移動を制御する。第1オブジェクト101の移動は、コントローラ操作データ112に基づいて制御されればどのように制御されてもよい。本実施形態においては、CPU10は、例えば、サブコントローラ9のアナログスティック91に対する方向入力に応じて第1オブジェクト101の移動後の位置を算出する。すなわち、第1オブジェクト101は、アナログスティック91の操作量(傾倒量)に応じた移動量だけ、操作方向(傾倒方向)に応じた方向へ移動される。ステップS22の具体的な処理としては、CPU10は、第1オブジェクト101の移動前の位置および向きを表す第1オブジェクトデータ119と、コントローラ操作データ112とをメインメモリから読み出す。そして、当該移動前と位置および向きとサブスティックデータとに基づいて移動後の位置および向きを算出する。算出された移動後の位置および向きを表すデータは、新たな第1オブジェクトデータ119としてメインメモリに記憶される。以上のように、CPU10は、仮想空間内に配置される第1オブジェクト101を操作対象としてコントローラ操作データに基づいて移動させる制御を行う。また、本実施形態においては、上記ステップS22の処理が第1オブジェクトの数だけ繰り返し実行されるので、CPU10は、各コントローラ操作データに基づいて複数の操作対象(第1オブジェクト)の動作をそれぞれ制御する。ステップS22の次に、ステップS23の処理が実行される。
【0195】
ステップS23において、CPU10は、第1オブジェクト101に対応するテレビ用カメラをゲーム空間内に設定する。この第1オブジェクト101は、ステップS22で移動が制御された第1オブジェクト101である。ここで、テレビ用カメラの制御方法はどのような方法であってもよいが、第1オブジェクト101の移動に応じて移動するように制御されることが好ましい。本実施形態においては、CPU10は、第1オブジェクト101が視野範囲に含まれるようにテレビ用カメラを設定する。つまり、テレビ用カメラは、対応する第1オブジェクト101が、当該テレビ用カメラによって生成されるゲーム画像に含まれるように設定される。具体的には、テレビ用カメラは、第1オブジェクト101の後方であって第1オブジェクト101よりもやや高い所定位置に設定され、第1オブジェクト101の方を向く姿勢に設定される(
図13参照)。なお、他の実施形態においては、テレビ用カメラは、第1オブジェクト101の位置に設定されてもよい。このとき、ゲーム画像はいわゆる一人称視点のゲーム画像となる。ステップS23の具体的な処理としては、CPU10は、第1オブジェクトデータ119をメインメモリから読み出し、第1オブジェクトデータ119に基づいてテレビ用カメラの位置および向きを算出する。そして、算出された位置および向きを表すデータをテレビ用カメラデータ121としてメインメモリに記憶する。ステップS23の次にステップS24の処理が実行される。
【0196】
ステップS24において、CPU10は、各第1オブジェクト101に対する移動制御が終了したか否か、すなわち、上記ステップS21において全ての第1オブジェクト101を選択したか否かを判定する。ステップS24の判定結果が肯定である場合、ステップS25の処理が実行される。一方、ステップS24の判定結果が否定である場合、ステップS21の処理が再度実行される。したがって、上記ステップS21〜S24の処理は各第1オブジェクト101に対して実行され、これによって各第1オブジェクト101が移動される。
【0197】
ステップS25において、CPU10は、ゲーム空間内に配置される第2オブジェクト102を操作対象として端末操作データ113に基づいて移動させる制御を行う。第2オブジェクト102の移動は、端末操作データ113に基づいて制御されればどのように制御されてもよい。本実施形態においては、CPU10は、例えば、端末装置7の左アナログスティック53Aに対する方向入力に応じて第2オブジェクト102の移動後の位置を算出する。すなわち、第2オブジェクト102は、左アナログスティック53Aの操作量に応じた移動量だけ、操作方向に応じた方向へ移動される。上記ステップS25の具体的な処理としては、CPU10は、第2オブジェクト102の移動前の位置および向きを表す第2オブジェクトデータ120と端末操作データ113とをメインメモリから読み出す。そして、当該移動前の位置および向きと、端末操作データ113に含まれるスティックデータとに基づいて移動後の位置および向きを算出する。算出された移動後の位置および向きを表すデータは、新たな第2オブジェクトデータ120としてメインメモリに記憶される。ステップS25の次に、ステップS26の処理が実行される。
【0198】
ステップS26において、CPU10は、第2オブジェクト102に対応する端末用カメラをゲーム空間内に設定する。ここで、端末用カメラの制御方法はどのような方法であってもよいが、第2オブジェクト102の移動に応じて移動するように制御されることが好ましい。本実施形態においては、CPU10は、第2オブジェクト102が視野範囲に含まれるように端末用カメラを設定する。つまり、端末用カメラは、第2オブジェクト102が、当該端末用カメラによって生成されるゲーム画像に含まれるように設定される。具体的には、端末用カメラは、第2オブジェクト102の上方の位置に設定される(
図14参照)。なお、他の実施形態においては、端末用カメラは、テレビ用カメラと同様、第2オブジェクト102の後方の位置に設定されてもよい。また、端末用カメラは、第2オブジェクト102の位置に設定されてもよい。このとき、ゲーム画像はいわゆる一人称視点のゲーム画像となる。ステップS26の具体的な処理としては、CPU10は、第2オブジェクトデータ120をメインメモリから読み出し、第2オブジェクトデータ120に基づいて端末用カメラの位置および向きを算出する。そして、算出された位置および向きを表すデータを端末用カメラデータ122としてメインメモリに記憶する。ステップS26の次にステップS27の処理が実行される。
【0199】
ステップS27において、CPU10は、所定のゲーム条件が満たされたか否かを判定する。所定のゲーム条件は、ゲームに関する条件であればどのようなものであってもよい。本実施形態においては、CPU10は、各第1オブジェクト101a〜101dのいずれかが第2オブジェクト102に捕まったことを上記所定の条件として用いる。なお、他の実施形態においては、上記所定の条件は、例えば、操作対象のオブジェクトが特定のアイテムを取得したことや、1つのステージをクリアしたことや、ハイスコアを更新したことや、ゲームオーバーとなったこと等、どのような条件であってもよい。また、上記所定のゲーム条件は、例えば各プレイヤのいずれかが所定の操作を行ったことであってもよい。本実施形態においては、CPU10は、各オブジェクトデータ119および120をメインメモリから読み出し、各第1オブジェクト101a〜101dの位置と第2オブジェクト102の位置との位置関係に基づいて、各第1オブジェクト101a〜101dのいずれかが第2オブジェクト102に捕まったか否かを判定する。ステップS27の判定結果が肯定である場合、ステップS28の処理が実行される。一方、ステップS27の判定結果が否定である場合、ステップS28の処理がスキップされてステップS29の処理が再度実行される。
【0200】
詳細は後述するが、上記ステップS27において捕まったと判定された第1オブジェクト101については、当該第1オブジェクトに対応する(テレビ2における)画面領域に、プレイヤ画像が表示される(
図20参照)。なお、ここで表示されるプレイヤ画像は、第1オブジェクトが捕まった時点のプレイヤ画像であり、上記保存プレイヤ画像である。つまり、ステップS27の判定処理は、保存プレイヤ画像を表示するか否かを判定するための処理である。
【0201】
ステップS28において、CPU10はプレイヤ画像を保存する。すなわち、CPU10は、プレイヤ画像データ117をメインメモリから読み出し、保存プレイヤ画像データ118としてメインメモリに記憶する。これによって、上記所定の条件が満たされたことに応じて生成されたプレイヤ画像を保存することができる。なお、「所定の条件が満たされたことに応じて生成されたプレイヤ画像」とは、所定の条件が満たされた時点で生成されたプレイヤ画像でもよいし、所定の条件が満たされた時点で取得されたカメラ画像に基づいて生成されるプレイヤ画像であってもよい。つまり、他の実施形態において、1回の画像認識処理は1回の上記処理ループ内で完了しない場合には、CPU10は、ステップS28の時点で取得された最新のカメラ画像に基づいて、ステップS28の後で生成されるプレイヤ画像を保存するようにしてもよい。ステップS28の次にステップS29の処理が実行される。
【0202】
ステップS29において、CPU10は、その他のゲーム進行処理を実行する。その他のゲーム進行処理とは、上記ステップS21〜S28の処理以外にステップS4のゲーム制御処理において実行される処理である。上記その他のゲーム進行処理としては、例えば、プレイヤによって操作されるオブジェクト以外のオブジェクトの動作を制御する処理や、ゲーム空間に設置されるアイテムに関する処理等が考えられる。上記の処理の他、ステップS29においてはゲームの進行に必要な処理が適宜実行される。上記ステップS29の後、CPU10はゲーム制御処理を終了する。
【0203】
図16の説明に戻り、ステップS4のゲーム制御処理の次にステップS5の処理が実行される。ステップS5においては、テレビ用画像の生成処理が実行される。テレビ用画像の生成処理においては、各第1オブジェクト101a〜101dに対応するゲーム画像と、プレイヤ画像とを含むゲーム画像が生成される。以下、
図19を参照して、テレビ用画像の生成処理の詳細について説明する。
【0204】
図19は、
図16に示すテレビ用画像の生成処理(ステップS5)の詳細な流れを示すフローチャートである。テレビ用画像の生成処理においてはまずステップS31において、CPU10およびGPU11bは、各第1オブジェクトに対応するゲーム画像をそれぞれ生成する。すなわち、CPU10およびGPU11bは、各テレビ用カメラから見たゲーム空間を表す各ゲーム画像をそれぞれ生成する。具体的には、CPU10およびGPU11bは、ステップS4のゲーム制御処理の結果を表すデータをメインメモリから読み出し、また、各ゲーム画像を生成するために必要なデータをVRAM11dから読み出し、各ゲーム画像を生成する。なお、上記「ゲーム制御処理の結果を表すデータ」には、各オブジェクトデータ119および120、ならびに、テレビ用カメラデータ121が含まれる。以上によって生成された各ゲーム画像はVRAM11dに記憶される。ステップS31の次にステップS32の処理が実行される。
【0205】
ステップS32において、CPU10およびGPU11bは、ステップS31で生成された各ゲーム画像を1つにした画像を生成する。具体的には、生成された4つのゲーム画像のデータがVRAM11dから読み出され、4つのゲーム画像を合わせて1つにしたゲーム画像が生成される(
図13参照)。生成されたゲーム画像がVRAM11dに記憶され、後述するステップS7の処理によってテレビ用画像として表示される。このように、本実施形態では、テレビ2の画面領域が複数に分割され、複数のテレビ用カメラから見たゲーム空間を表す複数の画像が、分割された各領域に配置される。なお、本実施形態においては、テレビ2の画面領域を縦に2分割するとともに横に2分割することによって画面領域を4つの領域に分割し、分割された4つの領域に4つのゲーム画像が対応するようにテレビ用ゲーム画像が生成された。ここで、画面はどのように分割されてもよく、他の実施形態においては、例えば縦または横に4分割されてもよい。また、画面領域が分割される数は、第1プレイヤの数に応じて適宜変更されてもよい。ステップS32の次にステップS33の処理が実行される。
【0206】
ステップS33において、CPU10は、プレイヤ画像を表示するか否かを判定する。ステップS33の処理は、リアルタイムでカメラ画像から生成されるプレイヤ画像を表示するか否かを判定するための処理である。具体的には、CPU10は、上述の画像認識処理(ステップS11)で第2プレイヤの顔が認識されなかったか否か、すなわち、認識処理が失敗したか否かを判定する。なお、ステップS33の判定処理は、上記ステップS12と同様の方法で行うことができる。ステップS33の判定結果が肯定である場合、ステップS34の処理が実行される。一方、ステップS33の判定結果が否定である場合、ステップS34の処理がスキップされてステップS35の処理が実行される。
【0207】
ステップS34において、CPU10およびGPU11bは、第1オブジェクト101に対応するゲーム画像(ステップS32で生成されたゲーム画像)に対してプレイヤ画像を追加する。すなわち、CPU10およびGPU11bは、ステップS33で記憶された画像データとプレイヤ画像データ117とを読み出し、上記ゲーム画像上の所定位置にプレイヤ画像を追加する。プレイヤ画像が追加されたゲーム画像のデータはVRAM11bに記憶される。なお、上記所定位置は、どの位置であってもよく、本実施形態においては、ゲーム画像の中央の位置(
図13参照)である。以上のように、ゲーム装置3は、複数の第1オブジェクト101a〜101dに1つずつ対応する複数のゲーム画像と、カメラ画像の少なくとも一部の画像(プレイヤ画像)とを含むテレビ用画像を生成する。ステップS34の次にステップS35の処理が実行される。
【0208】
以上のように、本実施形態においては、ゲーム中において第2プレイヤの顔の画像がリアルタイムで取得されてテレビ2に表示される。すなわち、CPU10は、ステップS2においてカメラ画像が取得されたことに応じて画像認識処理(ステップS11)を実行し、画像認識処理によって顔が認識されたことに応じて、認識された顔の画像(プレイヤ画像)を含むテレビ用画像を生成する。そして、後述するように、テレビ用画像が生成されたことに応じて当該テレビ用画像がテレビ2へ出力される(ステップS7)。したがって、各プレイヤは、第2プレイヤのゲームプレイ中の表情をリアルタイムで見て楽しむことができる。また、本実施形態においては、端末装置7を操作する第2プレイヤの表情が、端末装置7とは異なるテレビ2に表示され、端末装置7には表示されない。そのため、端末用画像にはゲーム空間の画像を広く表示することができ、第2プレイヤにとって見やすいゲーム画像を提供することができる。
【0209】
また、本実施形態においては、カメラ画像において第2プレイヤの顔が含まれない場合等、画像認識処理において顔が認識されない場合には、ステップS34においてプレイヤ画像はテレビ用画像に追加されない。つまり、端末装置7のカメラ56が第2プレイヤの顔を適切に撮影できていない場合には、カメラ56によるカメラ画像は表示されない。したがって、本実施形態においては、第2プレイヤの顔が含まれていないカメラ画像がテレビ2に表示されることを防止することができ、意味のない画像でテレビ用画像が見にくくなることを防止することができる。
【0210】
ステップS35において、CPU10は、保存プレイヤ画像を表示するか否かを判定する。この判定は、上記ステップS28の処理によってプレイヤ画像が保存されているか否かによって判定することができる。ステップS35の判定結果が肯定である場合、ステップS36の処理が実行される。一方、ステップS35の判定結果が否定である場合、ステップS36の処理がスキップされてステップS37の処理が実行される。
【0211】
ステップS36において、CPU10は、第1オブジェクト101に対応するゲーム画像(ステップS32またはS34で生成されたゲーム画像)に対して保存プレイヤ画像を追加する。すなわち、CPU10およびGPU11bは、ステップS34(ステップS34の処理が実行されなかった場合にはステップS32)で記憶された画像データと保存プレイヤ画像データ118とを読み出し、上記ゲーム画像上の所定位置に保存プレイヤ画像を追加する。保存プレイヤ画像が追加されたゲーム画像のデータはVRAM11bに記憶される。
【0212】
なお、上記所定位置は、どの位置であってもよい。本実施形態においては、CPU10は、上記ステップS27において、各第1オブジェクト101a〜101dについて、所定のゲーム条件が満たされたか否かを判定する。そして、上記ステップS36においては、CPU10は、上記所定のゲーム条件が満たされた第1オブジェクトに対応するゲーム画像に対して保存プレイヤ画像を重ねてテレビ用画像を生成する。なお、「所定のゲーム条件が満たされた第1オブジェクト」とは、本実施形態においては、第2オブジェクトに捕まった第1オブジェクトである。
図20は、本実施形態における保存プレイヤ画像を含むテレビ用画像の一例を示す図である。
図20に示すように、本実施形態においては、第1オブジェクト101bに対応する保存プレイヤ画像104は、当該第1オブジェクト101bのゲーム画像の領域100bに表示される。このように、本実施形態においては、保存プレイヤ画像は、各第1オブジェクト101a〜101dに対応する各ゲーム画像の領域100a〜100dのうちで、当該保存プレイヤ画像が対応する第1オブジェクトを含むゲーム画像の領域内の位置に配置される。つまり、上記ステップS27においてある第1オブジェクトが所定のゲーム条件を満たした(すなわち、第2オブジェクトに捕まった)場合にステップS28で保存されたプレイヤ画像は、当該ある第1オブジェクトに対応するゲーム画像の領域内に配置される。これによれば、所定のゲーム条件を満たした第1オブジェクト101がどれであるかを各プレイヤは容易に知ることができる。ステップS36の後、CPU10は、テレビ用画像の生成処理を終了する。
【0213】
なお、上記ステップS36によれば、各第1オブジェクト101a〜101dが所定のゲーム条件を満たす度に(すなわち、第1オブジェクト101a〜101dが第2オブジェクトに捕まる度に)、所定のゲーム条件を満たした時点におけるプレイヤ画像がテレビ2に表示される。したがって、各第1オブジェクト101a〜101dに関して所定のゲーム条件が満たされるタイミングが異なる場合には、タイミング毎に異なるプレイヤ画像がテレビ2に表示されることになる。これによれば、各プレイヤは、タイミング毎に異なるいろいろな表情の第2プレイヤを見て楽しむことができる。
【0214】
以上のテレビ用画像の生成処理によれば、CPU10は、カメラ画像のうちで画像認識処理によって認識された顔(第2プレイヤの顔)の画像を含むようにテレビ用画像を生成する。これによって、ゲームシステム1は、ゲームプレイ中における第2プレイヤの表情をテレビ2に表示することができ、各プレイヤは、第2プレイヤの表情を見て楽しむことができる。
【0215】
また、本実施形態においては、CPU10は、所定のタイミング(ステップS27の判定結果が肯定となるタイミング)において取得されたカメラ画像を所定の記憶手段(メインメモリまたはVRAM11b)に記憶する(ステップS28)。そして、当該記憶手段に記憶されているカメラ画像の少なくとも一部(保存プレイヤ画像)を含むテレビ用画像を生成する(ステップS36)。これによれば、ゲームシステム1は、ゲームにおいてあるイベントが発生した時点における第2プレイヤの表情を記憶してテレビ2に表示させることができる。例えば、第2プレイヤがハイスコアを更新した時点の表情や、ゲームオーバーとなった時点の表情等をテレビ2に表示することも可能である。
【0216】
図16の説明に戻り、ステップS6においては、端末用画像が上記ゲーム制御処理に基づいて生成される。すなわち、CPU10およびGPU11bは、ステップS3のゲーム制御処理の結果を表すデータをメインメモリから読み出し、また、ゲーム画像を生成するために必要なデータをVRAM11dから読み出し、端末用画像を生成する。本実施形態においては、CPU10およびGPU11bは、上記端末用カメラから見たゲーム空間を表すゲーム画像を生成する。具体的には、第2オブジェクト102を上方の位置から見たゲーム空間を表す端末用画像が生成される(
図15参照)。生成された端末用画像はVRAM11dに記憶される。上記ステップS6の次にステップS7の処理が実行される。
【0217】
ステップS7において、CPU10は、テレビ2へゲーム画像を出力する。具体的には、CPU10は、VRAM11dに記憶されたテレビ用画像のデータをAV−IC15へ送る。これに応じて、AV−IC15はテレビ用画像のデータをAVコネクタ16を介してテレビ2へ出力する。これによって、テレビ用画像がテレビ2に表示される。なお、ステップS7においては、ゲーム画像のデータと共にゲーム音声のデータがテレビ2へ出力され、テレビ2のスピーカ2aからゲーム音声が出力されてもよい。ステップS7の次にステップS8の処理が実行される。
【0218】
ステップS8において、CPU10は、端末装置7へゲーム画像を送信する。具体的には、VRAM11dに記憶された端末用画像の画像データは、CPU10によってコーデックLSI27に送られ、コーデックLSI27によって所定の圧縮処理が行われる。さらに、圧縮処理が施された画像データは、端末通信モジュール28によってアンテナ29を介して端末装置7へ送信される。端末装置7は、ゲーム装置3から送信されてくる画像データを無線モジュール80によって受信し、コーデックLSI76が所定の伸張処理を行う。伸張処理が行われた画像データはLCD51に出力される。これによって、端末用画像がLCD51に表示される。なお、ステップS8においては、ゲーム画像のデータと共にゲーム音声のデータが端末装置7へ送信され、端末装置7のスピーカ77からゲーム音声が出力されてもよい。また、ゲーム装置3において上述した制御データが生成される場合には、ステップS8において、上記画像データに加えて当該制御データが端末装置7へ送信されてもよい。ステップS8の次にステップS9の処理が実行される。
【0219】
ステップS9において、CPU10は、ゲームを終了するか否かを判定する。ステップS9の判定は、例えば、ゲームオーバーになったか否か、あるいは、プレイヤがゲームを中止する指示を行ったか否か等によって行われる。ステップS9の判定結果が否定の場合、ステップS2の処理が再度実行される。以降、ステップS2〜S9の一連の処理は、ステップS9でゲームを終了すると判定されるまで繰り返し実行される。一方、ステップS9の判定結果が肯定の場合、ステップS10の処理が実行される。なお、この場合、ゲームは終了され、ステップS10の処理は、ゲーム終了後の処理となる。
【0220】
ステップS10において、CPU10は、ゲーム終了後におけるプレイヤ画像の表示処理を実行する。この表示処理は、ゲーム中(ゲーム終了前)において取得されたカメラ画像に基づいて生成されたプレイヤ画像を、テレビ2に表示する処理である。ステップS10で表示されるプレイヤ画像は、ゲーム中における所定のタイミングで取得されたカメラ画像に基づくものであればよい。所定のタイミングとは、例えば、操作対象のオブジェクトが特定のアイテムを取得したタイミングや、1つのステージをクリアしたタイミングや、ハイスコアを更新したタイミングや、ゲームオーバーとなったタイミング等である。具体的には、CPU10は、上記ステップS27の処理において上記所定のタイミングが到来したか否かを判定し、上記ステップS28の処理においてプレイヤ画像を保存しておき、保存された保存プレイヤ画像を表示してもよい。すなわち、CPU10は、保存プレイヤ画像データ118をメインメモリから読み出し、保存プレイヤ画像をテレビ2に表示する。
【0221】
なお、ステップS10においては、保存プレイヤ画像とともに、ゲームに関する情報がテレビ2に表示されてもよい。例えば、ハイスコアを更新したタイミングに対応するプレイヤ画像が表示される場合には、ゲーム装置3は、ハイスコアの得点をプレイヤ画像とともにテレビ2に表示するようにしてもよい。また、第1オブジェクトを捕まえた時点に対応する保存プレイヤ画像が表示される場合には、ゲーム装置3は、ゲーム開始から第1オブジェクトを捕まえるまでの経過時間がプレイヤ画像とともにテレビ2に表示するようにしてもよい。以上のステップS10の後、CPU10は
図16に示すゲーム処理を終了する。
【0222】
以上に示したゲーム処理によれば、端末装置7を用いたゲーム中における第2プレイヤの顔の画像がテレビ2に表示される。これによって、端末装置7を用いる第2プレイヤだけでなく、第1プレイヤ等の他の者に対しても第2プレイヤの顔の画像を見やすく提示することができる。本実施形態においては、第2プレイヤ以外の他の者もゲームをプレイ中の第2プレイヤの表情をテレビ2で見て楽しむことができる。
【0223】
[7.変形例]
上記実施形態は本発明を実施する一例であり、他の実施形態においては例えば以下に説明する構成で本発明を実施することも可能である。
【0224】
(プレイヤの人数に関する変形例)
上記実施形態においては、コントローラ5を使用する第1プレイヤと、端末装置7を使用する第2プレイヤとが同時に1つのゲームを行う、複数人プレイのゲームを例として説明した。ここで、他の実施形態においては、ゲームシステム1において行われるゲームは、端末装置7を用いるプレイヤが1人で行うゲームであってもよい。すなわち、CPU10は、少なくとも端末操作データに基づいて所定の操作対象の動作を制御すればよい。このとき、CPU10は、ゲーム空間を表すゲーム画像であって上記操作対象に対応するゲーム画像と、カメラ画像の少なくとも一部の画像(プレイヤ画像)とを含むテレビ用画像を生成する。これによっても上記実施形態と同様、第2プレイヤ以外の他の者に対して、ゲームプレイ中における第2プレイヤの顔の画像を見やすく提示することができる。なお、「操作対象に対応するゲーム画像」は、端末用画像と同じであってもよいし、異なっていてもよい。例えば、端末用画像としていわゆる一人称視点のゲーム画像が端末装置7に表示される場合、テレビ用画像としては、操作対象を含むゲーム画像(三人称視点のゲーム画像)がテレビ2に表示されてもよい。
【0225】
また、他の実施形態においては、ゲームシステム1は、端末装置7を複数備えていてもよく、複数の第2プレイヤが1つのゲームを同時にプレイ可能としてもよい。このとき、ゲーム装置3(CPU10)は、各端末装置7からカメラ画像データを取得し、取得された各カメラ画像に基づく各プレイヤ画像を含むテレビ用画像を生成するようにしてもよい。これによれば、ゲームシステム1は、ゲームプレイ中における複数のプレイヤの表情を見やすく提示することができる。
【0226】
(テレビ2に表示されるプレイヤ画像に関する変形例)
上記実施形態においては、ゲーム装置3は、(a)リアルタイムでプレイヤ画像を表示する態様(ステップS34)、(b)所定のゲーム条件が満たされたことに応じてプレイヤ画像を表示する態様(ステップS36)、および、(c)ゲーム終了後にプレイヤ画像を表示する態様(ステップS10)、という3種類の態様でプレイヤ画像を表示する場合を説明した。ここで、プレイヤ画像は、(ゲーム後の処理を含む)ゲーム処理中における任意のタイミングで表示されればよい。例えば、他の実施形態においては、ゲーム装置3は、上記3つの態様のうち1つまたは2つの態様でプレイヤ画像を表示するようにしてもよい。
【0227】
また、他の実施形態においては、プレイヤ(より具体的には端末装置7を使用する第2プレイヤ)が、プレイヤ画像が表示される態様を指定することができるようにしてもよい。このとき、自分の顔が画面に表示されることを好まないユーザを考慮して、ゲーム装置3は、プレイヤの指示によって、プレイヤ画像が表示されないようにしてもよい。つまり、プレイヤ画像を表示する機能をオフにすることができるようにしてもよい。
【0228】
また、プレイヤ画像は、静止画として表示されてもよいし、動画として表示されてもよい。例えば、上記実施形態においては、ゲーム装置3は、保存プレイヤ画像として静止画を表示したが、他の実施形態においては、保存プレイヤ画像として動画を表示するようにしてもよい。すなわち、ゲーム装置3は、所定の期間に生成された複数のプレイヤ画像(動画を構成する一連のプレイヤ画像)を保存しておき、所定のゲーム条件が満たされたことに応じて、当該複数のプレイヤ画像を逐次更新して表示するようにしてもよい。
【0229】
(ゲームシステムの構成に関する変形例)
上記実施形態においては、ゲームシステム1は、ゲーム装置3と、端末装置7と、コントローラ5と、テレビ2とを備える構成であった。ここで、ゲームシステムは、ゲーム装置と、少なくとも2つの操作装置とを含み、少なくとも一方の操作装置の表示部と、所定の表示装置とに画像を表示させることができる構成であればよい。例えば、ゲームシステムは、所定の表示装置(テレビ2)を含まない形態で提供されてもよい。
【0230】
また例えば、ゲームシステム1は、所定の表示装置として端末装置7と同様の表示装置を含む形態で提供されてもよい。つまり、ゲームシステムは、表示部を備える2つの操作装置と、ゲーム装置とを含む構成であってもよい。このとき、ゲーム装置3は、一方の端末措置から取得されたカメラ画像に基づくプレイヤ画像を他方の端末装置の表示部に出力して表示させ、当該他方の端末措置から取得されたカメラ画像に基づくプレイヤ画像を当該一方の端末装置の表示部に出力して表示させてもよい。これによれば、ゲームシステム1は、ゲームプレイ中における相手のプレイヤの顔を各プレイヤに提示することができる。
【0231】
(表示部を備える操作装置に関する変形例)
上記実施形態においては、表示部を備える操作装置の一例として、端末装置7を挙げて説明したが、当該操作装置はこれに限らない。例えば、ゲームシステムは、端末装置7に代えて、表示部を備える携帯型のゲーム装置を含む構成であってもよい。また、他の実施形態においては、ゲームシステムは、操作装置として用いられる2つの携帯型ゲーム装置と、ゲーム装置とを含む構成であってもよい。さらに、少なくとも一方の携帯型ゲーム装置においてゲーム処理が実行される場合には、ゲームシステムは、操作装置として用いられる2つの携帯型ゲーム装置からなる構成であってもよい。
【0232】
(ゲーム処理を実行する情報処理装置に関する変形例)
上記実施形態においては、ゲームシステム1において実行される一連のゲーム処理をゲーム装置3が実行したが、ゲーム処理の一部は他の装置によって実行されてもよい。例えば、他の実施形態においては、ゲーム処理の一部(例えば、端末用画像の生成処理)を端末装置7が実行するようにしてもよい。また、他の実施形態では、互いに通信可能な複数の情報処理装置を有する入力システムにおいて、当該複数の情報処理装置がゲーム処理を分担して実行するようにしてもよい。すなわち、ゲームシステムは、操作装置と可搬型表示装置とゲーム装置とを含み、(a)操作装置に対する操作を表す第1操作データと、可搬型表示装置に対する操作を表す第2操作データと、撮像部による撮像画像のデータとを取得するデータ取得部と、(b)仮想空間内において、第1操作データに基づいて第1操作対象の動作をそれぞれ制御し、第2操作データに基づいて第2操作対象の動作を制御する動作制御部と、(c)可搬型表示装置とは別体の所定の表示装置に表示するための第1ゲーム画像として、仮想空間を表すゲーム画像であって第1操作対象に対応するゲーム画像と、撮像画像の少なくとも一部の画像とを含む第1ゲーム画像を生成する第1画像生成部と、(d)可搬型表示装置に表示するための第2ゲーム画像として、仮想空間を表すゲーム画像であって第2操作対象に対応する第2ゲーム画像を生成する第2画像生成部とを備えていてもよい。このとき、1つの装置が上記(a)〜(d)の各部を備える構成であってもよいし、複数の装置が上記(a)〜(d)の各部を備える構成であってもよい。
【0233】
また、ゲームシステムは、可搬型表示装置とゲーム装置とを含み、(e)可搬型表示装置に対する操作を表す操作データと、撮像部による撮像画像とを取得するデータ取得部と、(f)仮想空間内において、操作データに基づいて所定の操作対象の動作を制御する動作制御部と、(g)可搬型表示装置とは別体の所定の表示装置に表示するための第1ゲーム画像として、仮想空間を表すゲーム画像であって操作対象に対応するゲーム画像と、撮像画像の少なくとも一部の画像とを含む第1ゲーム画像を生成する第1画像生成部と、(h)可搬型表示装置に表示するための第2ゲーム画像として、仮想空間を表すゲーム画像であって操作対象に対応する第2ゲーム画像を生成する第2画像生成部とを備えていてもよい。このとき、1つの装置が上記(e)〜(h)の各部を備える構成であってもよいし、複数の装置が上記(e)〜(h)の各部を備える構成であってもよい。
【0234】
なお、複数の情報処理装置においてゲーム処理が実行される場合には、各情報処理装置で実行されるゲーム処理を同期させる必要があり、ゲーム処理が複雑になってしまう。これに対して、上記実施形態のように、ゲーム処理が1つのゲーム装置3によって実行され、端末装置7がゲーム画像を受信して表示する処理を行う場合(つまり、端末装置7がシンクライアント端末として機能する場合)には、複数の情報処理装置間でゲーム処理の同期をとる必要がなく、ゲーム処理を簡易化することができる。
【0235】
上記のように、本明細書で説明した種々のシステム、方法、および技術は、デジタル電子回路、コンピュータハードウェア、ファームウェア、ソフトウェア、またはこれら要素の組み合わせによって提供されてもよい。上記の技術を実現するための装置は、プログラム可能なプロセッサによる実行のためのコンピュータ読み取り可能な非一時的な記憶装置において実体的に具体化されるコンピュータプログラムプロダクト、入出力装置、およびコンピュータプロセッサを含んでもよい。上記技術を実現するための処理は、入力データを処理して所望の出力を生成することによって、要求される機能を実行するためのプログラムを実行する、プログラム可能なプロセッサによって実行されてもよい。上記の技術は、入力装置、出力装置、および情報記憶装置といったハードウェア資源との間でデータや指示のやり取りを行うプログラム可能なプロセッサを含むコンピュータシステム上で実行可能な1以上のコンピュータプログラムによって実現されてもよい。また、各コンピュータプログラムは、手続型やオブジェクト指向型の高水準プログラミング言語、アセンブリ言語、または、機械語によって実現されてもよく、必要に応じてコンパイルまたはインタプリタされて実行されてもよい。また、上記のプロセッサは、汎用または専用のマイクロプロセッサであってもよい。プロセッサは、一般的に、ROMまたはRAMからデータおよび指示を受け取る。また、上記の記憶装置は、(a)EPROM、EEPROM、フラッシュメモリのような半導体メモリ装置を含む不揮発性のメモリ、(b)内部ハードディスクあるいは着脱可能な外部ディスクのような磁気ディスク、(c)光磁気ディスク、(d)CDROM、に限定されず、あらゆる種類のコンピュータメモリを含む。上記のプロセッサや記憶装置は、ASIC(Application Specific Integrated Circuit)によって補充される、あるいは、ASICに組み込まれる形で実現されてもよい。
【0236】
また、本明細書に記載の処理システム(回路)は、本明細書において記載された内容に応じたゲーム処理のような制御処理のためにプログラムされる。上記の内容に応じた指示を実行する少なくとも1つのCPUを含む処理システムが、上記の内容によって定義される処理動作を実行するための「プログラムされた論理回路」として作用するものであってもよい。