(57)【要約】【課題】表示画面に表示された複数の選択対象からポインティングデバイスを用いて選択する際、操作効率を向上させ正確な選択を可能とする対象選択プログラムおよび対象選択装置を提供する。【解決手段】表示画面に所定の条件でグループ化された複数の選択対象が表示され、ポインティングデバイスから出力された座標情報に基づいて、１つのグループが選択される。次に、プレイヤの操作に応じて複数種類の操作信号のうち所定の操作信号を出力する入力デバイスから出力された操作信号に基づいて、上記グループに属する選択対象から１つの選択対象を選択し、選択された選択対象に応じた処理を行う。【選択図】図２５
2007213144.tif 000002
【特許請求の範囲】
【請求項１】
プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力するポインティングデバイスと、プレイヤの操作に応じて複数種類の操作信号のうち所定の操作信号を出力する入力デバイスとを用いて、表示画面に表示された複数の選択対象から１つの選択対象を選択させる処理を行う装置のコンピュータに実行させる対象選択プログラムであって、
前記コンピュータに、
前記表示画面に所定の条件でグループ化された複数の選択対象を表示する選択対象表示制御ステップ、
前記ポインティングデバイスから出力された座標情報を取得する第１操作情報取得ステップ、
前記第１操作情報取得ステップで取得した座標情報に基づいて、前記グループ化された複数の選択対象のグループから１つのグループを選択するグループ選択ステップ、
前記グループ選択ステップでグループを選択したあと、前記入力デバイスから出力された操作信号を取得する第２操作情報取得ステップ、
前記第２操作情報取得ステップで取得した操作信号に基づいて、前記グループ選択ステップで選択したグループに属する選択対象から１つの選択対象を選択する対象選択ステップ、および
前記対象選択ステップで選択された選択対象に応じた処理を行う処理ステップを実行させる、対象選択プログラム。
【請求項２】
前記グループ選択ステップでは、前記ポインティングデバイスから出力された座標情報が前記表示画面に設定された画面座標系の座標に変換され、前記グループ化された複数の選択対象のグループから前記表示画面上の当該座標の位置に表示された１つのグループが選択される、請求項１に記載の対象選択プログラム。
【請求項３】
前記対象選択ステップでは、前記グループ選択ステップで選択したグループに属する選択対象から、前記第２操作情報取得ステップで取得した操作信号を出力した前記入力デバイスの入力部の形状、または設置位置を模した位置に表示された１つの選択対象が選択される、請求項１に記載の対象選択プログラム。
【請求項４】
前記グループ選択ステップは、グループが選択されたとき、当該選択されたグループに属する選択対象を、それぞれ前記入力デバイスの入力部の形状、または設置位置を模した位置に変更して配置して前記表示画面に表示する選択対象表示位置変更制御ステップを含む、請求項３に記載の対象選択プログラム。
【請求項５】
前記グループ選択ステップは、グループが選択されたとき、前記入力デバイスの入力部それぞれに割り当てられた機能を示す標識を、当該選択されたグループに属する選択対象にそれぞれ付与して表示する標識表示追加制御ステップを含み、
前記対象選択ステップでは、前記グループ選択ステップで選択したグループに属する選択対象から、前記第２操作情報取得ステップで取得した操作信号を出力した前記入力デバイスの入力部に割り当てられた機能を示す標識が付与されて表示された１つの選択対象が選択される、請求項１に記載の対象選択プログラム。
【請求項６】
前記グループ選択ステップは、グループが選択されたとき、当該選択されたグループに属する選択対象を他の選択対象と区別して前記表示画面に表示する選択グループ表示制御ステップを含む、請求項１に記載の対象選択プログラム。
【請求項７】
前記対象選択ステップは、選択対象が選択されたとき、当該選択された選択対象を他の選択対象と区別して前記表示画面に表示する対象表示制御ステップを含む、請求項１に記載の対象選択プログラム。
【請求項８】
前記対象選択プログラムは、前記複数の選択対象それぞれが属するグループおよび対応付けられる前記入力デバイスの入力部とを予め設定する設定ステップを、さらに前記コンピュータに実行させる、請求項１に記載の対象選択プログラム。
【請求項９】
前記対象選択プログラムは、前記複数の選択対象を所定数毎にグループ化してそれぞれの選択対象が属するグループを設定する設定ステップを、さらに前記コンピュータに実行させる、請求項１に記載の対象選択プログラム。
【請求項１０】
前記対象選択プログラムは、前記複数の選択対象に対して互いに隣接して前記表示画面に表示される選択対象をグループ化してそれぞれの選択対象が属するグループを設定する設定ステップを、さらに前記コンピュータに実行させる、請求項１に記載の対象選択プログラム。
【請求項１１】
前記選択対象は、文字がそれぞれ記述されて前記表示画面に表示されるオブジェクトであり、
前記処理ステップでは、前記対象選択ステップで選択されたオブジェクトに記述された文字を入力する処理が行われる、請求項１に記載の対象選択プログラム。
【請求項１２】
前記選択対象は、前記表示画面に表示される文字であり、
前記処理ステップでは、前記対象選択ステップで選択された文字を入力する処理が行われる、請求項１に記載の対象選択プログラム。
【請求項１３】
プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力するポインティングデバイスと、プレイヤの操作に応じて複数種類の操作信号のうち所定の操作信号を出力する入力デバイスとを用いて、表示画面に表示された複数の選択対象から１つの選択対象を選択させる対象選択装置であって、
前記表示画面に所定の条件でグループ化された複数の選択対象を表示する選択対象表示制御手段と、
前記ポインティングデバイスから出力された座標情報を取得する第１操作情報取得手段と、
前記第１操作情報取得手段が取得した座標情報に基づいて、前記グループ化された複数の選択対象のグループから１つのグループを選択するグループ選択手段と、
前記グループ選択手段がグループを選択したあと、前記入力デバイスから出力された操作信号を取得する第２操作情報取得手段と、
前記第２操作情報取得手段が取得した操作信号に基づいて、前記グループ選択手段が選択したグループに属する選択対象から１つの選択対象を選択する対象選択手段と、
前記対象選択手段が選択した選択対象に応じた処理を行う処理手段とを備える、対象選択装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、対象選択プログラムおよび対象選択装置に関し、より特定的には、表示装置に表示される複数の選択対象からポインティングデバイスを用いて選択する対象選択装置およびその装置のコンピュータで実行される対象選択プログラムに関する。
【背景技術】
【０００２】
従来、表示装置に表示された選択対象から選択する技術がある（例えば、特許文献１参照）。特許文献１で開示された装置では、複数の情報が所定の規則によりグループ化された複数の各グループから１つのグループを選択した後、当該選択されたグループ内の複数の情報から１つの情報を選択して確定される。このように複数の情報をグループ化することによって二段階の選択操作が可能となり、個々の情報が全て選択可能なものに比べて、カーソル移動等の情報選択に要する時間を短縮することができる。
【特許文献１】特開２００２−２２２０３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
上記特許文献１で開示された装置では、テレビゲーム機のコントローラの方向キー等でカーソルを移動させる際には、個々の情報を全て選択可能なものに比べて上記二段階の選択操作により所望の情報までカーソルを移動させるのに要する操作ステップ数を軽減することができる。しかしながら、ユーザの操作に応じて表示装置の画面座標系に基づいた入力座標を出力するポインティングデバイス（例えば、マウスやタッチパネル等）を用いて情報を選択する際には、ユーザが直接的に所望の情報を選択できる。したがって、ポインティングデバイスを用いる場合、グループに分類された情報を選択する操作性は個々の情報が全て選択可能になっているものと差異はなく、むしろ上記二段階の操作が非効率的になることがある。
【０００４】
それ故に、本発明の目的は、表示画面に表示された複数の選択対象からポインティングデバイスを用いて選択する際、操作効率を向上させ正確な選択を可能とする対象選択プログラムおよび対象選択装置を提供することである。
【課題を解決するための手段】
【０００５】
上記の目的を達成するために、本発明は以下の構成を採用した。なお、括弧内の参照符号、ステップ番号（ステップをＳと略称しステップ番号のみを記載する）、図面番号等は、本発明の理解を助けるために後述する最良の形態との対応関係を示したものであって、本発明の範囲を何ら限定するものではない。
【０００６】
第１の発明は、プレイヤの操作に応じて所定の座標系に基づいた座標情報（Ｄａ１、Ｄａ２）を出力するポインティングデバイス（７４）と、プレイヤの操作に応じて複数種類の操作信号のうち所定の操作信号（Ｄａ３）を出力する入力デバイス（７２）とを用いて、表示画面（２）に表示された複数の選択対象（ＯＢＪａ〜ＯＢＪｐ、Ｗａ〜Ｗｐ）から１つの選択対象を選択させる処理を行う装置のコンピュータ（３０）に実行させる対象選択プログラムである。対象選択プログラムは、選択対象表示制御ステップ（Ｓ５０）、第１操作情報取得ステップ（Ｓ５１）、グループ選択ステップ（Ｓ５３）、第２操作情報取得ステップ（Ｓ５７〜Ｓ５９）、対象選択ステップ（Ｓ６１）、および処理ステップを、コンピュータに実行させる。選択対象表示制御ステップは、表示画面に所定の条件でグループ化（図１２および図１９のＧ０〜Ｇ３、図２６のＧ０〜Ｇ７、図２７のＯＢＪｇ０〜ＯＢＪｇ３）された複数の選択対象を表示する。第１操作情報取得ステップは、ポインティングデバイスから出力された座標情報を取得する。グループ選択ステップは、第１操作情報取得ステップで取得した座標情報に基づいて、グループ化された複数の選択対象のグループから１つのグループ（選択グループＧ）を選択する。第２操作情報取得ステップは、グループ選択ステップでグループを選択したあと、入力デバイスから出力された操作信号を取得する。対象選択ステップは、第２操作情報取得ステップで取得した操作信号に基づいて、グループ選択ステップで選択したグループに属する選択対象から１つの選択対象を選択する。処理ステップは、対象選択ステップで選択された選択対象に応じた処理（ｋｎを用いた処理）を行う。
【０００７】
第２の発明は、上記第１の発明において、グループ選択ステップでは、ポインティングデバイスから出力された座標情報が表示画面に設定された画面座標系の座標に変換され、グループ化された複数の選択対象のグループから表示画面上のその座標の位置に表示された１つのグループが選択される。
【０００８】
第３の発明は、上記第１の発明において、対象選択ステップでは、グループ選択ステップで選択したグループに属する選択対象から、第２操作情報取得ステップで取得した操作信号を出力した入力デバイスの入力部の形状、または設置位置を模した位置（十字キー７２ａの上下左右の形状や左右の設置位置等）に表示された１つの選択対象が選択される。
【０００９】
第４の発明は、上記第３の発明において、、、グループ選択ステップは、選択対象表示位置変更制御ステップ（Ｓ５５）を含む。選択対象表示位置変更制御ステップは、グループが選択されたとき、その選択されたグループに属する選択対象を、それぞれ入力デバイスの入力部の形状、または設置位置を模した位置に変更して配置して表示画面に表示する（図１４、図２８）。
【００１０】
第５の発明は、上記第１の発明において、グループ選択ステップは、標識表示追加制御ステップ（Ｓ５５）を含む。標識表示追加制御ステップは、グループが選択されたとき、入力デバイスの入力部それぞれに割り当てられた機能を示す標識（矢印マークＡ、ボタンマークＢ）を、その選択されたグループに属する選択対象にそれぞれ付与して表示する。対象選択ステップでは、グループ選択ステップで選択したグループに属する選択対象から、第２操作情報取得ステップで取得した操作信号を出力した入力デバイスの入力部に割り当てられた機能を示す標識が付与されて表示された１つの選択対象が選択される。
【００１１】
第６の発明は、上記第１の発明において、グループ選択ステップは、選択グループ表示制御ステップ（Ｓ５５）を含む。選択グループ表示制御ステップは、グループが選択されたとき、その選択されたグループに属する選択対象を他の選択対象と区別して表示画面に表示する（図１３〜図１７、図２０図２１、図２６、および図２８に示す強調表示）。
【００１２】
第７の発明は、上記第１の発明において、対象表示制御ステップは、対象選択ステップは、対象表示制御ステップ（Ｓ６０）を含む。対象表示制御ステップは、選択対象が選択されたとき、その選択された選択対象を他の選択対象と区別して表示画面に表示する。
【００１３】
第８の発明は、上記第１の発明において、対象選択プログラムは、設定ステップ（Ｄｂ２の設定）を、さらにコンピュータに実行させる。設定ステップは、複数の選択対象それぞれが属するグループおよび対応付けられる入力デバイスの入力部とを予め設定する（Ｄｂ２）。
【００１４】
第９の発明は、上記第１の発明において、対象選択プログラムは、設定ステップを、さらにコンピュータに実行させる。設定ステップは、複数の選択対象を所定数毎にグループ化してそれぞれの選択対象が属するグループを設定する。
【００１５】
第１０の発明は、上記第１の発明において、対象選択プログラムは、設定ステップを、さらにコンピュータに実行させる。設定ステップは、複数の選択対象に対して互いに隣接して表示画面に表示される選択対象をグループ化してそれぞれの選択対象が属するグループを設定する。
【００１６】
第１１の発明は、上記第１の発明において、選択対象は、文字がそれぞれ記述されて表示画面に表示されるオブジェクト（ＯＢＪａ〜ＯＢＪｐ）である。処理ステップでは、対象選択ステップで選択されたオブジェクトに記述された文字を入力する処理が行われる。
【００１７】
第１２の発明は、上記第１の発明において、選択対象は、表示画面に表示される文字（Ｗａ〜Ｗｐ）である。処理ステップでは、対象選択ステップで選択された文字を入力する処理が行われる。
【００１８】
第１３の発明は、プレイヤの操作に応じて所定の座標系に基づいた座標情報を出力するポインティングデバイスと、プレイヤの操作に応じて複数種類の操作信号のうち所定の操作信号を出力する入力デバイスとを用いて、表示画面に表示された複数の選択対象から１つの選択対象を選択させる対象選択装置である。対象選択装置は、選択対象表示制御手段、第１操作情報取得手段、グループ選択手段、第２操作情報取得手段、対象選択手段、および処理手段を備える。選択対象表示制御手段は、表示画面に所定の条件でグループ化された複数の選択対象を表示する。第１操作情報取得手段は、ポインティングデバイスから出力された座標情報を取得する。グループ選択手段は、第１操作情報取得手段が取得した座標情報に基づいて、グループ化された複数の選択対象のグループから１つのグループを選択する。第２操作情報取得手段は、グループ選択手段がグループを選択したあと、入力デバイスから出力された操作信号を取得する。対象選択手段は、第２操作情報取得手段が取得した操作信号に基づいて、グループ選択手段が選択したグループに属する選択対象から１つの選択対象を選択する。処理手段は、対象選択手段が選択した選択対象に応じた処理を行う。
【発明の効果】
【００１９】
上記第１の発明によれば、複数の選択対象を所定の条件でグループ化し、グループ化したものをポインティングデバイスで選択する。そして、選択したグループ内の選択対象を入力キーや入力ボタン等の入力デバイスに対応付けて、該当する入力デバイスを操作することにより所望の選択対象を選択することができる。したがって、ポインティングデバイスでは個々の選択対象が選択困難な場面でも、複数の選択対象をグループ化することで比較的大きな選択対象となるため、相対的に大きな選択領域を有する選択対象群の選択が容易となる。さらに、ポインティングデバイスでグループの何れか選択しつつ、入力デバイスを用いて当該グループに含まれる個々の選択対象を選択するため、効率的に所望の選択対象を選択することができる。また、グループ化された複数の選択対象群をポインティングデバイスで選択可能な程度にまで縮小できるため、個々の選択対象単位ではポインティングデバイスでの選択が困難なサイズでも表示が可能となり、選択対象を表示する領域を効率よく利用することができる。
【００２０】
上記第２の発明によれば、グループ化された選択対象群が表示されてポインティングデバイスを用いて直接的に選択できるため、グループを選択する操作が直感的でユーザにとってわかりやすい。
【００２１】
上記第３の発明によれば、１つの選択対象を選択するために操作すべき入力デバイスがその入力部の形状またはその配置位置によってユーザに示されるため、選択対象を選択するための操作を明確に示すことができる。
【００２２】
上記第４の発明によれば、グループとして選択された選択対象が移動することによって、１つの選択対象を選択するために操作すべき入力デバイスがその入力部の形状またはその配置位置によってユーザに示されるため、選択対象を選択するための操作を明確にすると同時に選択されたグループをユーザに知らせることができる。
【００２３】
上記第５の発明によれば、１つの選択対象を選択するために操作すべき入力デバイスがＡボタンや×ボタン等の機能を示す標識によってユーザに示されるため、選択対象を選択するための操作を明確に示すことができる。
【００２４】
上記第６の発明によれば、選択されたグループをユーザに知らせることができる。
【００２５】
上記第７の発明によれば、選択された１つの選択対象をユーザに知らせることができる。
【００２６】
上記第８の発明によれば、選択対象を選択するためのグループや操作方法が固定的であるため、ユーザがそれらのグループや操作方法に慣れることによって選択対象を選択する操作を効率よく行うことができる。
【００２７】
上記第９の発明によれば、同じ数の選択対象を１グループとして構成することによって、グループ選択後の操作を共通にすることが可能となり、１つの選択対象を選択する操作を固定することができる。
【００２８】
上記第１０の発明によれば、互いに隣接する選択対象をグループ化することによって、グループに属する選択対象がわかりやすくなる。
【００２９】
上記第１１の発明によれば、文字が記述されたキー等のオブジェクトを配列することによって、仮想的なキーボードを表現することができ、選択された文字を入力するソフトウエアキーボードを実現することができる。
【００３０】
上記第１２の発明によれば、複数の文字を配列することによって、仮想的なキーボードを表現することができ、選択された文字を入力するソフトウエアキーボードを実現することができる。
【００３１】
本発明の対象選択装置によれば、上述した対象選択プログラムと同様の効果を得ることができる。
【発明を実施するための最良の形態】
【００３２】
図１を参照して、本発明の一実施形態に係る対象選択装置について説明する。以下、説明を具体的にするために、当該対象選択装置を用いたゲームシステム１を一例として説明する。なお、図１は、当該ゲームシステム１を説明するための外観図である。以下、本発明の対象選択装置の一例として据置型ゲーム装置を用いて、当該ゲームシステム１について説明する。
【００３３】
図１において、当該ゲームシステム１は、家庭用テレビジョン受像機等のスピーカ２ａを備えたディスプレイ（以下、モニタと記載する）２に、接続コードを介して接続される据置型ゲーム装置（以下、単にゲーム装置と記載する）３および当該ゲーム装置３に操作情報を与えるコントローラ７によって構成される。ゲーム装置３は、接続端子を介して受信ユニット６が接続される。受信ユニット６は、コントローラ７から無線送信される送信データを受信し、コントローラ７とゲーム装置３とは無線通信によって接続される。また、ゲーム装置３には、当該ゲーム装置３に対して交換可能に用いられる情報記憶媒体の一例の光ディスク４が脱着される。ゲーム装置３の上部主面には、当該ゲーム装置３の電源ＯＮ／ＯＦＦスイッチ、ゲーム処理のリセットスイッチ、およびゲーム装置３上部の蓋を開くＯＰＥＮスイッチが設けられている。ここで、プレイヤがＯＰＥＮスイッチを押下することによって上記蓋が開き、光ディスク４の脱着が可能となる。
【００３４】
また、ゲーム装置３には、セーブデータ等を固定的に記憶するバックアップメモリ等を搭載する外部メモリカード５が必要に応じて着脱自在に装着される。ゲーム装置３は、光ディスク４に記憶されたゲームプログラムなどを実行することによって、その結果をゲーム画像としてモニタ２に表示する。なお、本発明の対象選択プログラムは、光ディスク４に記憶されたゲームプログラムの一部に含まれているものとする。さらに、ゲーム装置３は、外部メモリカード５に記憶されたセーブデータを用いて、過去に実行されたゲーム状態を再現して、ゲーム画像をモニタ２に表示することもできる。そして、ゲーム装置３のプレイヤは、モニタ２に表示されたゲーム画像を見ながら、コントローラ７を操作することによって、ゲーム進行を楽しむことができる。
【００３５】
コントローラ７は、その内部に備える通信部７５（後述）から受信ユニット６が接続されたゲーム装置３へ、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて送信データを無線送信する。コントローラ７は、主にモニタ２に表示される複数のオブジェクト（選択対象）から１つのオブジェクトを選択するための操作するための操作手段である。コントローラ７は、複数の操作ボタン、キー、およびスティック等の操作部が設けられている。また、後述により明らかとなるが、コントローラ７は、当該コントローラ７から見た画像を撮像する撮像情報演算部７４を備えている。また、撮像情報演算部７４の撮像対象の一例として、モニタ２の表示画面近傍に２つのＬＥＤモジュール（以下、マーカと記載する）８Ｌおよび８Ｒが設置される。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって赤外光を出力する。
【００３６】
次に、図２を参照して、ゲーム装置３の構成について説明する。なお、図２は、ゲーム装置３の機能ブロック図である。
【００３７】
図２において、ゲーム装置３は、各種プログラムを実行する例えばリスク（ＲＩＳＣ）ＣＰＵ（セントラルプロセッシングユニット）３０を備える。ＣＰＵ３０は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、メインメモリ３３等のメモリの初期化等を行った後、光ディスク４に記憶されているゲームプログラムの実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。ＣＰＵ３０には、メモリコントローラ３１を介して、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３２、メインメモリ３３、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）３４、およびＡＲＡＭ（Ａｕｄｉｏ  ＲＡＭ）３５が接続される。また、メモリコントローラ３１には、所定のバスを介して、コントローラＩ／Ｆ（インターフェース）３６、ビデオＩ／Ｆ３７、外部メモリＩ／Ｆ３８、オーディオＩ／Ｆ３９、およびディスクＩ／Ｆ４１が接続され、それぞれ受信ユニット６、モニタ２、外部メモリカード５、スピーカ２ａ、およびディスクドライブ４０が接続されている。
【００３８】
ＧＰＵ３２は、ＣＰＵ３０の命令に基づいて画像処理を行うものあり、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。ＧＰＵ３２は、図示しない画像処理専用のメモリやメインメモリ３３の一部の記憶領域を用いて画像処理を行う。ＧＰＵ３２は、これらを用いてモニタ２に表示すべきオブジェクト画像データやゲーム画像データやムービ映像を生成し、適宜メモリコントローラ３１およびビデオＩ／Ｆ３７を介してモニタ２に出力する。
【００３９】
メインメモリ３３は、ＣＰＵ３０で使用される記憶領域であって、ＣＰＵ３０の処理に必要なゲームプログラム等を適宜記憶する。例えば、メインメモリ３３は、ＣＰＵ３０によって光ディスク４から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ３３に記憶されたゲームプログラムや各種データ等がＣＰＵ３０によって実行される。
【００４０】
ＤＳＰ３４は、ゲームプログラム実行時にＣＰＵ３０において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためのＡＲＡＭ３５が接続される。ＡＲＡＭ３５は、ＤＳＰ３４が所定の処理（例えば、先読みしておいたゲームプログラムやサウンドデータの記憶）を行う際に用いられる。ＤＳＰ３４は、ＡＲＡＭ３５に記憶されたサウンドデータを読み出し、メモリコントローラ３１およびオーディオＩ／Ｆ３９を介してモニタ２に備えるスピーカ２ａに出力させる。
【００４１】
メモリコントローラ３１は、データ転送を統括的に制御するものであり、上述した各種Ｉ／Ｆが接続される。コントローラＩ／Ｆ３６は、例えば４つのコントローラＩ／Ｆ３６ａ〜３６ｄで構成され、それらが有するコネクタを介して嵌合可能な外部機器とゲーム装置３とを通信可能に接続する。例えば、受信ユニット６は、上記コネクタと嵌合し、コントローラＩ／Ｆ３６を介してゲーム装置３と接続される。上述したように受信ユニット６は、コントローラ７からの送信データを受信し、コントローラＩ／Ｆ３６を介して当該送信データをＣＰＵ３０へ出力する。ビデオＩ／Ｆ３７には、モニタ２が接続される。外部メモリＩ／Ｆ３８には、外部メモリカード５が接続され、その外部メモリカード５に設けられたバックアップメモリ等とアクセス可能となる。オーディオＩ／Ｆ３９にはモニタ２に内蔵されるスピーカ２ａが接続され、ＤＳＰ３４がＡＲＡＭ３５から読み出したサウンドデータやディスクドライブ４０から直接出力されるサウンドデータをスピーカ２ａから出力可能に接続される。ディスクＩ／Ｆ４１には、ディスクドライブ４０が接続される。ディスクドライブ４０は、所定の読み出し位置に配置された光ディスク４に記憶されたデータを読み出し、ゲーム装置３のバスやオーディオＩ／Ｆ３９に出力する。
【００４２】
図３および図４を参照して、コントローラ７について説明する。なお、図３は、コントローラ７の上面後方から見た斜視図である。図４は、コントローラ７を下面後方から見た斜視図である。
【００４３】
図３および図４において、コントローラ７は、例えばプラスチック成型によって形成されたハウジング７１を有しており、当該ハウジング７１に複数の操作部７２が設けられている。ハウジング７１は、その前後方向を長手方向とした略直方体形状を有しており、全体として大人や子供の片手で把持可能な大きさである。
【００４４】
ハウジング７１上面の中央前面側に、十字キー７２ａが設けられる。この十字キー７２ａは、十字型の４方向プッシュスイッチであり、矢印で示す４つの方向（前後左右）に対応する操作部分が十字の突出片にそれぞれ９０°間隔で配置される。プレイヤが十字キー７２ａのいずれかの操作部分を押下することによって前後左右いずれかの方向を選択される。後述により明らかとなるが、例えばプレイヤが十字キー７２ａを操作することによって、複数のオブジェクトから１つのオブジェクトを選択ことができる。
【００４５】
なお、十字キー７２ａは、上述したプレイヤの方向入力操作に応じて操作信号を出力する操作部であるが、他の態様の操作部でもかまわない。例えば、リング状に４方向の操作部分を備えたプッシュスイッチとその中央に設けられたセンタスイッチとを複合した複合スイッチを上記十字キー７２ａの代わりに設けてもかまわない。また、ハウジング７１上面から突出した傾倒可能なスティックを倒すことによって、傾倒方向に応じて操作信号を出力する操作部を上記十字キー７２ａの代わりに設けてもかまわない。さらに、水平移動可能な円盤状部材をスライドさせることによって、当該スライド方向に応じた操作信号を出力する操作部を、上記十字キー７２ａの代わりに設けてもかまわない。また、タッチパッドを、上記十字キー７２ａの代わりに設けてもかまわない。また、少なくとも４つの方向（前後左右）をそれぞれ示すスイッチに対して、プレイヤによって押下されたスイッチに応じて操作信号を出力する操作部を上記十字キー７２ａの代わりに設けてもかまわない。
【００４６】
ハウジング７１上面の十字キー７２ａより後面側に、複数の操作ボタン７２ｂ〜７２ｇが設けられる。操作ボタン７２ｂ〜７２ｇは、プレイヤがボタン頭部を押下することによって、それぞれの操作ボタン７２ｂ〜７２ｇに割り当てられた操作信号を出力する操作部である。例えば、操作ボタン７２ｂ〜７２ｄには、Ｘボタン、Ｙボタン、およびＢボタン等としての機能が割り当てられる。また、操作ボタン７２ｅ〜７２ｇには、セレクトスイッチ、メニュースイッチ、およびスタートスイッチ等としての機能が割り当てられる。これら操作ボタン７２ｂ〜７２ｇは、ゲーム装置３が実行するゲームプログラムに応じてそれぞれの機能が割り当てられるが、本発明の説明とは直接関連しないため詳細な説明を省略する。なお、図３に示した配置例では、操作ボタン７２ｂ〜７２ｄは、ハウジング７１上面の中央前後方向に沿って並設されている。また、操作ボタン７２ｅ〜７２ｇは、ハウジング７１上面の左右方向に沿って操作ボタン７２ｂおよび７２ｄの間に並設されている。そして、操作ボタン７２ｆは、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００４７】
また、ハウジング７１上面の十字キー７２ａより前面側に、操作ボタン７２ｈが設けられる。操作ボタン７２ｈは、遠隔からゲーム装置３本体の電源をオン／オフする電源スイッチである。この操作ボタン７２ｈも、その上面がハウジング７１の上面に埋没しており、プレイヤが不意に誤って押下することのないタイプのボタンである。
【００４８】
また、ハウジング７１上面の操作ボタン７２ｃより後面側に、複数のＬＥＤ７０２が設けられる。ここで、コントローラ７は、他のコントローラ７と区別するためにコントローラ種別（番号）が設けられている。例えば、ＬＥＤ７０２は、コントローラ７に現在設定されている上記コントローラ種別をプレイヤに通知するために用いられる。具体的には、コントローラ７から受信ユニット６へ送信データを送信する際、上記コントローラ種別に応じて複数のＬＥＤ７０２のうち、種別に対応するＬＥＤが点灯する。
【００４９】
一方、ハウジング７１下面には、凹部が形成されている。後述で明らかとなるが、ハウジング７１下面の凹部は、プレイヤがコントローラ７を把持したときに当該プレイヤの人差し指や中指が位置するような位置に形成される。そして、上記凹部の後面側傾斜面には、操作ボタン７２ｉが設けられる。操作ボタン７２ｉは、例えばＡボタンとして機能する操作部であり、シューティングゲームにおけるトリガスイッチや、プレイヤオブジェクトを所定オブジェクトに対して注目させる操作等に用いられる。
【００５０】
また、ハウジング７１前面には、撮像情報演算部７４の一部を構成する撮像素子７４３が設けられる。ここで、撮像情報演算部７４は、コントローラ７が撮像した画像データを解析してその中で輝度が高い場所を判別してその場所の重心位置やサイズなどを検出するためのシステムであり、例えば、最大２００フレーム／秒程度のサンプリング周期であるため比較的高速なコントローラ７の動きでも追跡して解析することができる。この撮像情報演算部７４の詳細な構成については、後述する。また、ハウジング７０の後面には、コネクタ７３が設けられている。コネクタ７３は、例えば３２ピンのエッジコネクタであり、例えば接続ケーブルと嵌合して接続するために利用される。
【００５１】
次に、図５を参照して、コントローラ７の内部構造について説明する。なお、図５（ａ）は、コントローラ７の上筐体（ハウジング７１の一部）を外した状態を示す斜視図である。図５（ｂ）は、コントローラ７の下筐体（ハウジング７１の一部）を外した状態を示す斜視図である。ここで、図５（ｂ）に示す基板７００は、図５（ａ）に示す基板７００の裏面から見た斜視図となっている。
【００５２】
図５（ａ）において、ハウジング７１の内部には基板７００が固設されており、当該基板７００の上主面上に操作ボタン７２ａ〜７２ｈ、加速度センサ７０１、ＬＥＤ７０２、水晶振動子７０３、無線モジュール７５３、およびアンテナ７５４等が設けられる。そして、これらは、基板７００等に形成された配線（図示せず）によってマイコン７５１（図６参照）に接続される。また、無線モジュール７５３およびアンテナ７５４によって、コントローラ７がワイヤレスコントローラとして機能する。なお、水晶振動子７０３は、後述するマイコン７５１の基本クロックを生成する。
【００５３】
一方、図５（ｂ）において、基板７００の下主面上の前端縁に撮像情報演算部７４が設けられる。撮像情報演算部７４は、コントローラ７の前方から順に赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４によって構成されており、それぞれ基板７００の下主面に取り付けられる。また、基板７００の下主面上の後端縁にコネクタ７３が取り付けられる。そして、操作ボタン７２ｉが撮像情報演算部７４の後方の基板７００の下主面上に取り付けられていて、それよりさらに後方に、電池７０５が収容される。電池７０５とコネクタ７３との間の基板７００の下主面上には、バイブレータ７０４が取り付けられる。このバイブレータ７０４は、例えば振動モータやソレノイドであってよい。バイブレータ７０４が作動することによってコントローラ７に振動が発生するので、それを把持しているプレイヤの手にその振動が伝達され、いわゆる振動対応ゲームが実現できる。
【００５４】
次に、図６を参照して、コントローラ７の内部構成について説明する。なお、図６は、コントローラ７の構成を示すブロック図である。
【００５５】
図６において、コントローラ７は、操作部７２、撮像情報演算部７４、通信部７５、および加速度センサ７０１を備えている。
【００５６】
撮像情報演算部７４は、赤外線フィルタ７４１、レンズ７４２、撮像素子７４３、および画像処理回路７４４を含んでいる。赤外線フィルタ７４１は、コントローラ７の前方から入射する光から赤外線のみを通過させる。レンズ７４２は、赤外線フィルタ７４１を透過した赤外線を集光して撮像素子７４３へ出射する。撮像素子７４３は、例えばＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ；相補型金属酸化膜半導体）センサやあるいはＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ；電荷結合素子）のような固体撮像素子であり、レンズ７４２が集光した赤外線を撮像する。したがって、撮像素子７４３は、赤外線フィルタ７４１を通過した赤外線だけを撮像して画像データを生成する。撮像素子７４３で生成された画像データは、画像処理回路７４４で処理される。具体的には、画像処理回路７４４は、撮像素子７４３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標や面積を検出した結果を示す処理結果データを通信部７５へ出力する。なお、これらの撮像情報演算部７４は、コントローラ７のハウジング７１に固設されており、ハウジング７１自体の方向を変えることによってその撮像方向を変更することができる。後述により明らかとなるが、この撮像情報演算部７４から出力される処理結果データに基づいて、コントローラ７の位置や動きに応じた信号を得ることができ、当該信号に基づいてモニタ２の画面座標系に基づいた入力座標を得ることができる。つまり、コントローラ７は、撮像情報演算部７４から出力される処理結果データによってポインティングデバイスとして機能する。
【００５７】
加速度センサ７０１は、コントローラ７の上下方向、左右方向、および前後方向の３軸でそれぞれ加速度を検知する加速度センサである。なお、加速度センサ７０１は、必要な操作信号の種類によっては、上下方向および左右方向の２軸でそれぞれ加速度を検出する加速度センサが用いられてもかまわない。加速度センサ７０１が検知した加速度を示すデータは、通信部７５へ出力される。なお、加速度センサ７０１は、典型的には静電容量式の加速度センサが用いられるが、他の方式の加速度センサやジャイロセンサを用いてもかまわない。この加速度センサ７０１から出力される加速度データに基づいて、コントローラ７の動きを検出することができる。
【００５８】
通信部７５は、マイクロコンピュータ（Ｍｉｃｒｏ  Ｃｏｍｐｕｔｅｒ：マイコン）７５１、メモリ７５２、無線モジュール７５３、およびアンテナ７５４を含んでいる。マイコン７５１は、処理の際にメモリ７５２を記憶領域として用いながら、送信データを無線送信する無線モジュール７５３を制御する。
【００５９】
コントローラ７に設けられた操作部７２からの操作信号（操作部データ）、加速度センサ７０１からの加速度信号（加速度データ）、および撮像情報演算部７４からの処理結果データは、マイコン７５１に出力される。マイコン７５１は、入力した各データ（操作部データ、加速度データ、処理結果データ）を受信ユニット６へ送信する送信データとして一時的にメモリ７５２に格納する。ここで、通信部７５から受信ユニット６への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、ブルートゥース（登録商標）で構成される通信部７５の送信間隔は５ｍｓである。マイコン７５１は、受信ユニット６への送信タイミングが到来すると、メモリ７５２に格納されている送信データを一連の操作情報として出力し、無線モジュール７５３へ出力する。そして、無線モジュール７５３は、例えばＢｌｕｅｔｏｏｔｈ（ブルートゥース；登録商標）の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ７５４から放射する。つまり、コントローラ７に設けられた操作部７２からの操作部データ、加速度センサ７０１からの加速度データ、および撮像情報演算部７４からの処理結果データがコントローラ７から送信される。そして、ゲーム装置３の受信ユニット６でその電波信号を受信し、ゲーム装置３で当該電波信号を復調や復号することによって、一連の操作情報（操作部データ、加速度データ、および処理結果データ）を取得する。そして、ゲーム装置３のＣＰＵ３０は、取得した操作情報とゲームプログラムとに基づいて、ゲーム処理を行う。なお、Ｂｌｕｅｔｏｏｔｈ（登録商標）の技術を用いて通信部７５を構成する場合、通信部７５は、他のデバイスから無線送信された送信データを受信する機能も備えることができる。
【００６０】
図７に示すように、ゲームシステム１でコントローラ７を用いてゲームをプレイするためには、プレイヤは、一方の手（例えば右手）でコントローラ７を把持する（図８および図９参照）。そして、プレイヤは、コントローラ７の前面（撮像情報演算部７４が撮像する光の入射口側）がモニタ２に向くようにコントローラ７を把持する。一方、モニタ２の表示画面近傍には、２つのマーカ８Ｌおよび８Ｒが設置される。これらマーカ８Ｌおよび８Ｒは、それぞれモニタ２の前方に向かって赤外光を出力し、撮像情報演算部７４の撮像対象となる。
【００６１】
プレイヤがその前面がモニタ２に向くようにコントローラ７を把持することによって、撮像情報演算部７４には２つのマーカ８Ｌおよび８Ｒが出力した赤外光が入射する。そして、赤外線フィルタ７４１およびレンズ７４２を介して、入射した赤外光を撮像素子７４３が撮像し、当該撮像画像を画像処理回路７４４が処理する。ここで、撮像情報演算部７４では、マーカ８Ｌおよび８Ｒから出力される赤外線成分を検出することで、上記撮像画像における当該マーカ８Ｌおよび８Ｒの位置（対象画像の位置）や面積情報を取得する。具体的には、画像処理回路７４４は、撮像素子７４３が撮像した画像データを解析して、まず面積情報からマーカ８Ｌおよび８Ｒからの赤外光ではあり得ない画像を除外し、さらに輝度が高い点をマーカ８Ｌおよび８Ｒそれぞれの位置として判別する。そして、撮像情報演算部７４は、判別されたそれらの輝点の重心位置等の位置情報を取得し、上記処理結果データとして出力する。ここで、上記処理結果データである位置情報は、撮像画像における所定の基準点（例えば、撮像画像の中央や左上隅）を原点とした座標値として出力するものでもよく、所定のタイミングにおける輝点位置を基準点として、当該基準位置からの現在の輝点位置の差をベクトルとして出力するものでもよい。つまり、上記対象画像の位置情報は、撮像素子７４３が撮像した撮像画像に対して所定の基準点を設定した場合に、当該基準点に対する差として用いられるパラメータである。このような処理結果データをゲーム装置３へ送信することによって、ゲーム装置３では、基準からの上記位置情報の差に基づいて、マーカ８Ｌおよび８Ｒに対する撮像情報演算部７４、すなわちコントローラ７の動き、姿勢、位置等に応じた信号の変化量を得ることができる。具体的には、コントローラ７が動かされることによって、通信部７５から送信される画像内の高輝度点の位置が変化するため、高輝度点の位置の変化に対応させた方向入力や座標入力を行うことで、３次元空間に対してコントローラ７の移動方向に沿った方向入力や座標入力を行うことができる。なお、後述するゲーム処理動作例では、撮像情報演算部７４が撮像画像におけるマーカ８Ｌおよび８Ｒの対象画像それぞれの重心位置の座標を取得し、上記処理結果データとして出力する例を用いる。
【００６２】
このように、コントローラ７の撮像情報演算部７４によって、固定的に設置されたマーカ（実施例では、２つのマーカ８Ｌおよび８Ｒからの赤外光）を撮像することによって、ゲーム装置３における処理において、コントローラ７から出力されるデータを処理してコントローラ７の動き、姿勢、位置等に対応した操作が可能となり、ボタンを押下するような操作ボタンや操作キーとは異なった直感的な操作入力となる。また、上述したように上記マーカは、モニタ２の表示画面近傍に設置されているため、マーカに対する位置をモニタ２の表示画面に対するコントローラ７の動き、姿勢、位置等に換算することも容易に行うことができる。つまり、コントローラ７の動き、姿勢、位置等による処理結果データは、モニタ２の表示画面に直接作用する操作入力として用いることができ、コントローラ７をポインティングデバイスとして機能させることもできる。
【００６３】
図８および図９を参照して、プレイヤがコントローラ７を一方の手で把持した状態について説明する。なお、図８は、プレイヤがコントローラ７を右手で把持した状態をコントローラ７の前面側から見た一例である。図９は、プレイヤがコントローラ７を右手で把持した状態をコントローラ７の左側面側から見た一例である。
【００６４】
図８および図９に示すように、コントローラ７は、全体として大人や子供の片手で把持可能な大きさである。そして、プレイヤの親指をコントローラ７の上面（例えば、十字キー７２ａ付近）に添え、プレイヤの人差し指をコントローラ７下面の凹部（例えば、操作ボタン７２ｉ付近）に添えたとき、コントローラ７の前面に設けられている撮像情報演算部７４の光入射口がプレイヤの前方方向に露出する。なお、このようなコントローラ７に対する把持状態は、プレイヤの左手であっても同様に行えることは言うまでもない。
【００６５】
このように、コントローラ７は、プレイヤが片手で把持した状態で十字キー７２ａや操作ボタン７２ｉ等の操作部７２を容易に操作することができる。さらに、プレイヤがコントローラ７を片手で把持したとき、当該コントローラ７の前面に設けられている撮像情報演算部７４の光入射口が露出するため、上述した２つのマーカ８Ｌおよび８Ｒからの赤外光を容易に当該光入射口から取り入れることができる。つまり、プレイヤは、コントローラ７が有する撮像情報演算部７４の機能を阻害することなくコントローラ７を片手で把持することができる。したがって、プレイヤがコントローラ７を把持した手を表示画面に対して動かすことによって、コントローラ７は、プレイヤの手の運動が表示画面に直接作用する操作入力機能をさらに備えることができる。
【００６６】
ここで、図１０に示すように、マーカ８Ｌおよび８Ｒは、それぞれ視野角θ１を有している。また、撮像素子７４３は、視野角θ２を有している。例えば、マーカ８Ｌおよび８Ｒの視野角θ１は共に３４°（半値角）であり、撮像素子７４３の視野角θ２は４１°である。そして、撮像素子７４３の視野角θ２の中にマーカ８Ｌおよび８Ｒが共に存在し、マーカ８Ｌの視野角θ１の中でかつマーカ８Ｒの視野角θ１の中に撮像素子７４３が存在するとき、ゲーム装置３は、２つのマーカ８Ｌおよび８Ｒによる高輝度点に関する位置データを用いて、モニタ２の画面に対してコントローラ７で指し示された位置を検出する。
【００６７】
例えば、モニタ２の上面に２つのマーカ８Ｌおよび８Ｒを設置し（図７参照）、上面を上方向に向けたコントローラ７を用いてプレイヤがモニタ２の画面の中央を指し示した場合（撮像情報演算部７４の撮像画像の中央に画面中央が撮像されている状態）を考える。このとき、撮像情報演算部７４の撮像画像において、撮像対象がそれぞれ撮像された対象画像の中点（マーカ８Ｌおよび８Ｒの中点）位置と指し示した位置（画面中央）とが一致しない。具体的には、上記撮像画像における対象画像の位置は、撮像画像の中心から上方の位置となる。このような位置に対象画像が位置する場合に、画面中央が指し示されているという基準位置の設定を行う。また、コントローラ７の移動に対応して、撮像画像中の対象画像の位置も移動する（移動方向は逆方向となる）ので、撮像画像中の対象画像の位置の移動に対応させて画面内が指し示された位置を移動させる処理を行うことによって、コントローラ７で画面を指し示した位置を取得することができる。つまり、撮像情報演算部７４の撮像画像に基づいて、コントローラ７で直接的に指し示された画面位置が取得できる。コントローラ７で指し示された位置を算出する処理の本質的な原理は、コントローラ７の移動による対象画像の位置の変化によって、指し示された２次元座標の所定の基準位置からの変位を算出し、入力座標を設定するというものである。したがって、コントローラ７は、モニタ２の画面座標系に基づいた入力座標を出力するポインティングデバイスとして機能する。
【００６８】
ここで、基準位置の設定は、予めプレイヤが画面の所定位置をコントローラ７で指し示し、そのときの対象画像の位置を基準となる当該所定位置と対応させて記憶しておくようにしてもよいし、対象画像と画面との位置関係が固定的であれば、予め設定されていてもよい。コントローラ７で指し示された画面座標系の入力座標は、対象画像の位置座標（後述する第１座標データＤａ１および第２座標データＤａ２）からモニタ２の画面上の座標（画面座標データＤｂ１）を算出する関数を用いて算出される。この関数は、ある撮像画像から算出される位置座標の値を、当該撮像画像が撮像される時のコントローラ７によって指し示される画面上の位置を表す座標に変換するものである。この関数によって、撮像対象の座標から画面が指し示された位置を算出することができる。なお、画面座標系の入力座標をゲーム空間内における位置を表す座標に変換する場合には、当該入力座標に対応するゲーム空間内における位置にさらに変換すればよい。
【００６９】
しかしながら、上面が上方向以外（例えば、右方向）に向けられたコントローラ７を用いてプレイヤがモニタ２の画面の中央を指し示した場合、上記撮像画像における対象画像の位置は撮像画像の中心から上方以外（例えば、左方）の方向にずれた位置となる。つまり、コントローラ７の傾きによって、コントローラ７の移動方向と、画面内を指し示した位置の移動方向とが一致しないことになる。そこで、２つの上記対象画像を結ぶ方向に基づいて、２つの対象画像の中点位置を補正する。具体的には、中点位置を、コントローラ７の上面が上方向に向けられた状態であるとした場合における中点位置に補正する。より具体的には、上記基準位置の設定の際には２つの対象画像を結ぶ方向の基準も設定され、中点位置を、２つの対象画像を結ぶ方向と当該基準方向との角度差に応じた量だけ、撮像画像の中心を軸として中点位置が示す座標を回転移動させて補正する。そして、補正された中点位置を用いて上述したように指し示された位置を算出する。
【００７０】
次に、ゲーム装置３が行う具体的な処理を説明する前に、本発明の理解を容易にするために選択対象の選択操作の概要および図１１〜図２１に示す画面例等を参照して、ゲームプログラムを実行するゲーム装置３によって提供される対象選択処理について説明する。以下、説明を具体的にするために、文字が記述された複数のキーが配列されたキーボードをモニタ２に表示し、当該複数のキーから１つのキーを入力として選択する操作を一例として用いる。この場合、プレイヤの選択対象は、モニタ２に配列表示された複数のキーとなる。なお、図１１は、モニタ２に表示された複数のキーオブジェクトＯＢＪａ〜ＯＢＪｐの一例を示す図である。図１２は、図１１の複数のキーオブジェクトＯＢＪａ〜ＯＢＪｐを４つのグループＧ０〜Ｇ３に分類した状態を説明するための図である。図１３〜図１７は、コントローラ７で図１２のグループＧ０が指し示されたときにモニタ２に表示される第１〜第５の表示例を示す図である。図１８は、モニタ２に表示された複数のキーオブジェクトＯＢＪａ〜ＯＢＪｐの他の例を示す図である。図１９は、図１８の複数のキーオブジェクトＯＢＪａ〜ＯＢＪｐを４つのグループＧ０〜Ｇ３に分類した状態を説明するための図である。図２０および図２１は、コントローラ７で図１９のグループＧ０が指し示されたときにモニタ２に表示される第１および第２の表示例を示す図である。
【００７１】
図１１において、１６個のキーオブジェクトＯＢＪａ〜ＯＢＪｐを４×４に配列することによって、複数のキーが配列された仮想的なキーボード（ソフトウエアキーボード）がモニタ２に表示される。例えば、プレイヤがコントローラ７を用いて何れかのキーオブジェクトＯＢＪａ〜ＯＢＪｐを選択することによって、選択されたキーオブジェクトＯＢＪａ〜ＯＢＪｐに記述された文字（キー文字）を入力することが可能となる。具体的には、キーオブジェクトＯＢＪａにはキー文字「Ａ」が、キーオブジェクトＯＢＪｂにはキー文字「Ｂ」が、キーオブジェクトＯＢＪｃにはキー文字「Ｃ」が、キーオブジェクトＯＢＪｄにはキー文字「Ｄ」が、キーオブジェクトＯＢＪｅにはキー文字「Ｅ」が、キーオブジェクトＯＢＪｆにはキー文字「Ｆ」が、キーオブジェクトＯＢＪｇにはキー文字「Ｇ」が、キーオブジェクトＯＢＪｈにはキー文字「Ｈ」が、キーオブジェクトＯＢＪｉにはキー文字「Ｉ」が、キーオブジェクトＯＢＪｊにはキー文字「Ｊ」が、キーオブジェクトＯＢＪｋにはキー文字「Ｋ」が、キーオブジェクトＯＢＪｌにはキー文字「Ｌ」が、キーオブジェクトＯＢＪｍにはキー文字「Ｍ」が、キーオブジェクトＯＢＪｎにはキー文字「Ｎ」が、キーオブジェクトＯＢＪｏはキー文字「Ｏ」が、キーオブジェクトＯＢＪｐにはキー文字「Ｐ」が、それぞれ記述されている。そして、配列４×４の第１行目にキーオブジェクトＯＢＪａ〜ＯＢＪｄが左から順に配置され、第２行目にキーオブジェクトＯＢＪｅ〜ＯＢＪｈが左から順に配置され、第３行目にキーオブジェクトＯＢＪｉ〜ＯＢＪｌが左から順に配置され、第４行目にキーオブジェクトＯＢＪｍ〜ＯＢＪｐが左から順に配置されている。
【００７２】
図１２において、１６個のキーオブジェクトＯＢＪａ〜ＯＢＪｐは、２×２の４つのオブジェクトをそれぞれ１グループとする４つのグループＧ０〜Ｇ３（モニタ２には表示されなくてもよいが、図１２では破線で示す）に分類されている。具体的には、グループＧ０は、４つのキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆで構成される。グループＧ１は、４つのキーオブジェクトＯＢＪｃ、ＯＢＪｄ、ＯＢＪｇ、およびＯＢＪｈで構成される。グループＧ２は、４つのキーオブジェクトＯＢＪｉ、ＯＢＪｊ、ＯＢＪｍ、およびＯＢＪｎで構成される。グループＧ３は、４つのキーオブジェクトＯＢＪｋ、ＯＢＪｌ、ＯＢＪｏ、およびＯＢＪｐで構成される。
【００７３】
プレイヤがコントローラ７を用いて指し示した画面座標系の入力座標が何れかのグループＧ０〜Ｇ３を示す領域内であるとき、当該指し示された領域を含むグループが他のグループと区別してモニタ２に表現される。例えば、図１３に示すように、プレイヤがコントローラ７を用いて指し示した画面座標系の入力座標がグループＧ０を示す領域内であるとき、グループＧ０のみ強調表示（図１３で示す斜線領域）される。これによって、プレイヤは、自分自身が把持するコントローラ７で指し示しているグループ、すなわちプレイヤが選択しているグループ（以下、選択グループＧと記載することがある）を知ることができる。強調表示の例としては、選択グループＧが示す領域内の色を変化させる、選択グループＧが示す領域枠を表示する、選択グループＧに属するキーオブジェクト（図１３に示すキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆ）の配置位置を移動させたり大きさを拡大したり色を変化させたりする、選択グループＧに属するキーオブジェクトにマーキングする、選択グループＧに属するキーオブジェクトに記述されたキー文字を拡大したり太字にしたり色を変えたりする等の様々な表現方法があるが、本発明で行う強調表示は何れの表現方法でもかまわない。
【００７４】
また、本実施例では、選択グループＧに属するキーオブジェクトとコントローラ７に設けられた操作部との関係をプレイヤが認識できるような表示も行われる。ここで述べている操作部とは、プレイヤがそれらの頭部を押下することによってそれぞれに割り当てられた操作信号を出力するコントローラ７のキーやボタンを示している。具体的には、上記操作部は、十字キー７２ａ（方向指示キーの一例）や操作ボタン７２ｂ〜７２ｇである（図３、図４参照）。そして、プレイヤがコントローラ７の操作部を操作することによって、その操作に対応する１つのキーオブジェクトが選択され、選択されたキーオブジェクトに記述されたキー文字が入力として決定される。
【００７５】
図１４および図１５は、選択グループＧに属するキーオブジェクトとコントローラ７に設けられた十字キー７２ａとの関係をプレイヤに認識させる表示例である。図１４において、選択グループＧ０に属するキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆを十字キー７２ａの上下左右方向を模した位置へそれぞれ移動させることによって、各オブジェクトと十字キー７２ａとの関係を表示している。図１３と図１４とを比較すれば明らかなように、キーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆは、それぞれ上下左右方向に移動している。これによって、十字キー７２ａが有する９０°間隔で形成された４つの突出片とキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆとの対応関係が認識できる。具体的には、キーオブジェクトＯＢＪａは、グループＧ０の中で最も上方向に移動するため、上方向を示す十字キー７２ａの突出片に対応していることがわかる。キーオブジェクトＯＢＪｂは、グループＧ０の中で最も右方向に移動するため、右方向を示す十字キー７２ａの突出片に対応していることがわかる。キーオブジェクトＯＢＪｅは、グループＧ０の中で最も左方向に移動するため、左方向を示す十字キー７２ａの突出片に対応していることがわかる。そして、キーオブジェクトＯＢＪｆは、グループＧ０の中で最も下方向に移動するため、下方向を示す十字キー７２ａの突出片に対応していることがわかる。
【００７６】
図１５において、選択グループＧ０に属するキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆに、それぞれ十字キー７２ａの上下左右方向の何れかが認識可能な矢印マークＡｕ、Ａｄ、Ａｌ、およびＡｒを付与することによって、各オブジェクトと十字キー７２ａとの関係を表示している。これによって、十字キー７２ａが有する９０°間隔で形成された４つの突出片とキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆとの対応関係が認識できる。具体的には、キーオブジェクトＯＢＪａには上方向を示す矢印マークＡｕが付与されて表示されるため、上方向を示す十字キー７２ａの突出片に対応していることがわかる。キーオブジェクトＯＢＪｂには右方向を示す矢印マークＡｒが付与されて表示されるため、右方向を示す十字キー７２ａの突出片に対応していることがわかる。キーオブジェクトＯＢＪｅには左方向を示す矢印マークＡｌが付与されて表示されるため、左方向を示す十字キー７２ａの突出片に対応していることがわかる。そして、キーオブジェクトＯＢＪｆには下方向を示す矢印マークＡｄが付与されて表示されるため、下方向を示す十字キー７２ａの突出片に対応していることがわかる。
【００７７】
図１６および図１７は、選択グループＧに属するキーオブジェクトとコントローラ７に設けられた複数の操作ボタン７２ｂ〜７２ｇとの関係をプレイヤに認識させる表示例である。一般的に、ゲームコントローラには、Ａボタン、Ｂボタン、Ｘボタン、およびＹボタン等の機能や、丸印（○）、ばつ印（×）、三角印（△）、および四角印（□）等の記号が割り当てられている。例えば、コントローラ７の操作ボタン７２ｂ〜７２ｄにはＸボタン、Ｙボタン、およびＢボタンとしての機能が割り当てられ、操作ボタン７２ｉにはＡボタンとしての機能が割り当てられている。図１６において、選択グループＧ０に属するキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆに、それぞれＡボタン、Ｂボタン、Ｘボタン、およびＹボタンの何れかが認識可能なボタンマークＢａ、Ｂｂ、Ｂｘ、およびＢｙを付与することによって、各オブジェクトと操作ボタン７２ｂ〜７２ｇとの関係を表示している。これによって、操作ボタン７２ｂ〜７２ｇとキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆとの対応関係が認識できる。具体的には、キーオブジェクトＯＢＪａにはＸボタンを示すボタンマークＢｘが付与されて表示されるため、Ｘボタンの機能が割り当てられた操作ボタン７２ｂに対応していることがわかる。キーオブジェクトＯＢＪｂにはＡボタンを示すボタンマークＢａが付与されて表示されるため、Ａボタンの機能が割り当てられた操作ボタン７２ｉに対応していることがわかる。キーオブジェクトＯＢＪｅにはＹボタンを示すボタンマークＢｙが付与されて表示されるため、Ｙボタンの機能が割り当てられた操作ボタン７２ｃに対応していることがわかる。そして、キーオブジェクトＯＢＪｆにはＢボタンを示すボタンマークＢｂが付与されて表示されるため、Ｂボタンの機能が割り当てられた操作ボタン７２ｄに対応していることがわかる。
【００７８】
図１７において、選択グループＧ０に属するキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆに、それぞれ丸印ボタン、ばつ印ボタン、三角印ボタン、および四角印ボタンの何れかが認識可能なボタンマークＢｒ、Ｂｃ、Ｂｔ、およびＢｓを付与することによって、各オブジェクトと操作ボタンとの関係を表示している。これによって、操作ボタンとキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆとの対応関係が認識できる。具体的には、キーオブジェクトＯＢＪａには三角印ボタンを示すボタンマークＢｔが付与されて表示されるため、三角印ボタンの機能が割り当てられた操作ボタンに対応していることがわかる。キーオブジェクトＯＢＪｂには丸印ボタンを示すボタンマークＢｒが付与されて表示されるため、丸印ボタンの機能が割り当てられた操作ボタンに対応していることがわかる。キーオブジェクトＯＢＪｅには四角印ボタンを示すボタンマークＢｓが付与されて表示されるため、四角印ボタンの機能が割り当てられた操作ボタンに対応していることがわかる。そして、キーオブジェクトＯＢＪｆにはばつ印ボタンを示すボタンマークＢｃが付与されて表示されるため、ばつ印ボタンの機能が割り当てられた操作ボタンに対応していることがわかる。
【００７９】
図１８および図１９は、１６個のキーオブジェクトＯＢＪａ〜ＯＢＪｐを操作部の形状に依存して表示することによって、キーオブジェクトとコントローラ７に設けられた操作部との関係をプレイヤが認識できるような表示を行う一例である。図１８および図１９において、１６個のキーオブジェクトＯＢＪａ〜ＯＢＪｐにそれぞれ記述されたキー文字、４×４に配列する配列順、および各キーオブジェクトＯＢＪａ〜ＯＢＪｐが分類される４つのグループＧ０〜Ｇ３については、図１１および図１２と同様であるため、詳細な説明を省略する。図１８で示す表示形態で図１１と異なるのは、キーオブジェクトＯＢＪａ〜ＯＢＪｐの形状によって、予めキーオブジェクトＯＢＪａ〜ＯＢＪｐと十字キー７２ａが有する９０°間隔で形成された４つの突出片との対応が認識可能であるところにある。
【００８０】
具体的には、キーオブジェクトＯＢＪａ、ＯＢＪｃ、ＯＢＪｉ、およびＯＢＪｋは、上方向を示す十字キー７２ａの突出片を模した図形（例えば、上方向が狭くなった多角形等の図形）で記述されたキー文字を囲んで表示する。キーオブジェクトＯＢＪｂ、ＯＢＪｄ、ＯＢＪｊ、およびＯＢＪｌは、右方向を示す十字キー７２ａの突出片を模した図形（例えば、右方向が狭くなった多角形等の図形）で記述されたキー文字を囲んで表示する。キーオブジェクトＯＢＪｅ、ＯＢＪｇ、ＯＢＪｍ、およびＯＢＪｏは、左方向を示す十字キー７２ａの突出片を模した図形（例えば、左方向が狭くなった多角形等の図形）で記述されたキー文字を囲んで表示する。そして、キーオブジェクトＯＢＪｆ、ＯＢＪｈ、ＯＢＪｎ、およびＯＢＪｐは、下方向を示す十字キー７２ａの突出片を模した図形（例えば、下方向が狭くなった多角形等の図形）で記述されたキー文字を囲んで表示する。
【００８１】
そして、プレイヤがコントローラ７を用いて指し示した画面座標系の入力座標が何れかのグループＧ０〜Ｇ３を示す領域内であるとき、図１３と同様に当該指し示された領域を含むグループが他のグループと区別してモニタ２に表現される。例えば、図２０に示すように、プレイヤがコントローラ７を用いて指し示した画面座標系の入力座標がグループＧ０を示す領域内であるとき、グループＧ０のみ強調表示（図２０で示す斜線領域）される。これによって、プレイヤは、自分自身が把持するコントローラ７で指し示している選択グループＧを知ることができる。なお、強調表示の例については、図１３を用いて説明した例と同様であるため、ここでは詳細な説明を省略する。
【００８２】
ここで、図２０から明らかなように、グループＧ０が強調表示されると、４つのキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆが他のキーオブジェクトと区別して表示される。そして、キーオブジェクトＯＢＪａが上方向、キーオブジェクトＯＢＪｂが右方向、キーオブジェクトＯＢＪｅが左方向、キーオブジェクトＯＢＪｆが下方向をそれぞれ示す十字キー７２ａの突出片を模した図形で表示される。これらは、他のグループＧ１〜Ｇ３が選択された場合も同様に、他のキーオブジェクトが区別されて表示される。つまり、何れかのグループＧ０〜Ｇ３を選択した時点で、十字キー７２ａの操作方向に応じて１つのキー文字を入力できることをプレイヤが認識できる。
【００８３】
このように、キーオブジェクトＯＢＪを操作部の形状を模した図形でそれぞれ表現することによって、何れかのグループＧ０〜Ｇ３が選択された時点で１つのキーオブジェクトＯＢＪと操作部との対応を示すことができるが、選択中のキーオブジェクトＯＢＪを移動させることによって、さらに操作方向がわかりやすいようにプレイヤに示してもかまわない。図２１は、図２０の表示態様に対して、選択された４つのキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆが移動する表示を追加した一例である。図２１に示すように、キーオブジェクトＯＢＪａが最も上方向に、キーオブジェクトＯＢＪｂが最も右方向に、キーオブジェクトＯＢＪｅが最も左方向に、キーオブジェクトＯＢＪｆが最も下方向に、それぞれグループＧ０内で移動している。これによって、上下左右方向を示す十字キー７２ａの突出片とキーオブジェクトＯＢＪａ、ＯＢＪｂ、ＯＢＪｅ、およびＯＢＪｆとの対応がさらに明確に表示することができる。
【００８４】
次に、ゲームシステム１において行われるゲーム処理の詳細を説明する。まず、図２２〜図２４を参照して、ゲーム処理において用いられる主なデータについて説明する。なお、図２２は、ゲーム装置３のメインメモリ３３に記憶される主なデータを示す図である。図２３は、キー文字とキー番号との関係を示した図である。図２４は、キーボードテーブルの一例を示す図である。
【００８５】
図２２に示すように、メインメモリ３３には、操作情報Ｄａ、キーボード情報Ｄｂ、および画像情報Ｄｃ等が記憶される。なお、メインメモリ３３には、図２２に示す情報に含まれるデータの他、処理に必要な様々なデータが記憶されるが、ここでは詳細な説明を省略する。
【００８６】
操作情報Ｄａは、コントローラ７から送信データとして送信されてくる一連の操作情報であり、最新の操作情報に更新される。操作情報Ｄａには、上述の処理結果データに相当する第１座標データＤａ１および第２座標データＤａ２が含まれる。第１座標データＤａ１は、撮像素子７４３が撮像した撮像画像に対して、２つのマーカ８Ｌおよび８Ｒのうちの一方の画像の位置（撮像画像内における位置）を表す座標のデータである。第２座標データＤａ２は、他方のマーカの画像の位置（撮像画像内における位置）を表す座標のデータである。例えば、マーカの画像の位置は、撮像画像におけるＸＹ座標系によって表される。
【００８７】
また、操作情報Ｄａには、撮像画像から得られる処理結果データの一例の座標データ（第１座標データＤａ１および第２座標データＤａ２）の他、操作部７２から得られる操作部データＤａ３等が含まれる。なお、ゲーム装置３に備える受信ユニット６は、コントローラ７から所定間隔例えば５ｍｓごとに送信される操作情報Ｄａを受信し、受信ユニット６に備える図示しないバッファに蓄えられる。その後、ゲーム処理間隔である例えば１フレーム毎（１／６０秒）に読み出され、その最新の情報がメインメモリ３３に記憶される。
【００８８】
キーボード情報Ｄｂは、プレイヤが文字入力等に用いるソフトウエアキーボードを定義する情報や、プレイヤが選択したキー文字を算出するための情報である。キーボード情報Ｄｂは、画面座標データＤｂ１、キーボードテーブルＤｂ２、選択グループ番号データＤｂ３、コントローラ操作番号データＤｂ４、およびキー番号データＤｂ５等を含んでいる。画面座標データＤｂ１は、第１座標データＤａ１および第２座標データＤａ２に基づいて得られるモニタ２の画面座標系に基づいた入力座標を示すデータである。キーボードテーブルＤｂ２は、ソフトウエアキーボードに定義される各データを示すデータテーブルである。選択グループ番号データＤｂ３は、コントローラ７を用いて選択された選択グループＧを示すデータである。コントローラ操作番号データＤｂ４は、コントローラ７で操作された操作部を示すデータである。キー番号データＤｂ５は、プレイヤによって決定されたキー入力を示すデータである。
【００８９】
画像情報Ｄｃは、キーオブジェクト画像データＤｃ１および操作部画像データＤｃ２等を含み、キーオブジェクトＯＢＪやボタン画像Ｂ等を配置してモニタ２に表示するための画像を生成するためのデータである。
【００９０】
図２３を参照して、キー文字とキー番号ｋｎとの関係について説明する。図２３において、キー文字「Ａ」〜「Ｐ」には、それぞれキー番号ｋｎ＝０〜１５が順番に割り振られている。つまり、キー番号ｋｎが決定されれば、キー文字が一意に１文字決定することができる。
【００９１】
図２４を参照して、キーボードテーブルＤｂ２について説明する。図２４において、キーボードテーブルＤｂ２は、アドレス番号ｔｂ、キー番号ｋｎ、キー文字、グループ番号ｇｎ、およびコントローラ操作ボタン番号ｃｎが互いに関連付けられて記述されている。キー番号ｋｎおよびキー文字は、上述したように割り振られてキーボードテーブルＤｂ２に記述され、キー文字Ａ〜Ｐの順でアドレス番号０〜１５に記述される。グループ番号ｇｎは、各キー文字（キー番号ｋｎ）が属するグループＧを示すデータである。例えば、上述したように４つのグループＧ０〜Ｇ３に分類される場合、各グループＧ０〜Ｇ３をグループ番号ｇｎ＝０〜３にそれぞれ対応させてキーボードテーブルＤｂ２に記述する。コントローラ操作番号ｃｎは、キー文字（キー番号ｋｎ）にそれぞれ対応する操作部を示すデータである。例えば、十字キー７２ａが有する９０°間隔で形成された４つの突出片の何れかに対応させる場合、上方向をコントローラ操作番号ｃｎ＝０、右方向をコントローラ操作番号ｃｎ＝１、左方向をコントローラ操作番号ｃｎ＝２、下方向をコントローラ操作番号ｃｎ＝３にそれぞれ対応させてキーボードテーブルＤｂ２に記述する。したがって、キーボードテーブルＤｂ２を参照することによって、各キー文字のキー番号、所属グループ、および対応する操作部が明らかとなる。例えば、アドレス番号ｔｂ＝０、キー番号ｋｎ＝０、キー文字「Ａ」、グループ番号ｇｎ＝０、およびコントローラ操作番号ｃｎ＝０が対応してキーボードテーブルＤｂ２に記述されているため、アドレス番号０に記述されたキー文字「Ａ」は、キー番号ｋｎ＝０に割り振られ、グループＧ０に属し、十字キー７２ａの上方向の突出片に対応していることがわかる。なお、各グループＧ０〜Ｇ３の表示範囲を示すデータもキーボードテーブルＤｂ２に記述してもよい。
【００９２】
次に、図２５を参照して、ゲーム装置３において行われる処理の詳細を説明する。なお、図２５は、ゲーム装置３において実行される処理の流れを示すフローチャートである。なお、図２５に示すフローチャートにおいては、処理のうち、ゲームプログラムに含まれる対象選択プログラムを実行して行われる１つのキー番号を取得する処理（対象選択処理）について説明し、本願発明と直接関連しない他の処理については詳細な説明を省略する。また、図２５では、ＣＰＵ３０が実行する各ステップを「Ｓ」と略称する。
【００９３】
ゲーム装置３の電源が投入されると、ゲーム装置３のＣＰＵ３０は、図示しないブートＲＯＭに記憶されている起動プログラムを実行し、これによってメインメモリ３３等の各ユニットが初期化される。そして、光ディスク４に記憶されたゲームプログラム（対象選択プログラム）がメインメモリ３３に読み込まれ、ＣＰＵ３０によって当該ゲームプログラムの実行が開始される。図２５に示すフローチャートは、以上の処理が完了した後に行われる処理を示すフローチャートである。
【００９４】
図２５において、ＣＰＵ３０は、モニタ２に上述したようにグループ化された複数の選択対象（例えば、キーオブジェクトＯＢＪａ〜ＯＢＪｐ）を表示する処理を行い（ステップ５０）、処理を次のステップに進める。選択対象表示処理は、プレイヤに選択を促す選択対象をモニタ２に表示する処理であり、例えば、図１１、図１２、図１８、および図１９を用いて説明したような表示がモニタ２に表示される。
【００９５】
次に、ＣＰＵ３０は、コントローラ７から受信した操作情報を取得する（ステップ５１）。そして、ＣＰＵ３０は、操作情報を操作情報Ｄａとしてメインメモリ３３に記憶して、処理を次のステップに進める。ここで、ステップ５１で取得される操作情報には、マーカ８Ｌおよび８Ｒの撮像画像内における位置を示す座標データ（第１座標データＤａ１および第２座標データＤａ２）の他、コントローラ７の操作部７２がどのように操作されたか示すデータ（操作部データＤａ３）が含まれている。ここでは、通信部７５は、所定の時間間隔（例えば５ｍｓ間隔）で操作情報をゲーム装置３へ送信する。そして、ＣＰＵ３０は、１フレーム毎に操作情報を利用するものとする。したがって、図２５に示すステップ５１〜ステップ６３の処理ループは、１フレーム毎に繰り返し実行される。
【００９６】
次に、ＣＰＵ３０は、上記ステップ５１で取得した操作情報に基づいて、モニタ２の画面座標系に基づいた入力座標を算出する（ステップ５２）。そして、ＣＰＵ３０は、算出した入力座標を画面座標データＤｂ１としてメインメモリ３３に記憶して、処理を次のステップに進める。具体的には、上記入力座標は、上記ステップ５１で取得された第１座標データＤａ１および第２座標データＤａ２に基づいて算出される。上記入力座標を算出する処理の原理は、コントローラ７の移動による対象画像の位置の変化によって、指し示された２次元座標の所定の基準位置からの変位を算出して入力座標を設定するというものであって、上述した原理と同様であるため、ここでは詳細な説明を省略する。
【００９７】
次に、ＣＰＵ３０は、上記ステップ５２で算出した入力座標から選択グループＧを求め、当該選択グループＧを示すグループ番号ｇｎを取得する（ステップ５３）。そして、ＣＰＵ３０は、取得したグループ番号ｇｎを選択グループ番号データＤｂ３としてメインメモリ３３に記憶して、処理を次のステップに進める。例えば、ＣＰＵ３０は、上記入力座標と各グループＧ０〜Ｇ３の表示範囲とを用いて、当該入力座標が含まれる表示範囲を抽出する。そして、ＣＰＵ３０は、抽出された表示範囲を有するグループＧ０〜Ｇ３の何れかを選択グループＧとして、選択グループＧを示すグループ番号ｇｎを取得する。
【００９８】
次に、ＣＰＵ３０は、上記ステップ５３でグループ番号ｇｎを取得できたか否かを判断する（ステップ５４）。そして、ＣＰＵ３０は、グループ番号ｇｎを取得できた場合、処理を次のステップ５５に進める。一方、ＣＰＵ３０は、コントローラ７が各グループＧ０〜Ｇ３の表示範囲外を指し示しているとき等、グループ番号ｇｎが取得できなかった場合、処理を次のステップ６２に進める。
【００９９】
ステップ５５において、ＣＰＵ３０は、グループ選択表示処理を行い、処理を次のステップに進める。グループ選択表示処理は、プレイヤがコントローラ７を用いて指し示した領域を含むグループが他のグループと区別してモニタ２に表示する処理である。例えば、グループＧ０が指し示されて選択された場合、図１３〜図１７、図２０および図２１を用いて説明したような表示がモニタ２に表示される。
【０１００】
次に、ＣＰＵ３０は、コントローラ操作番号データＤｂ４に記述されたコントローラ操作番号ｃｎをｃｎ＝０に初期化して（ステップ５６）、処理を次のステップに進める。
【０１０１】
次に、ＣＰＵ３０は、現在コントローラ操作番号データＤｂ４に記述されているコントローラ操作番号ｃｎに該当するコントローラ７の操作部が、押下されたか否かを判断する（ステップ５７）。具体的には、ＣＰＵ３０は、操作部データＤａ３に記述されている操作部７２からの操作信号を参照し、コントローラ操作番号ｃｎに該当する操作部７２が押下された操作信号を取得しているか否かを判断する。そして、ＣＰＵ３０は、コントローラ操作番号ｃｎに該当する操作部７２が押下されている場合、処理を次のステップ６０に進める。一方、ＣＰＵ３０は、コントローラ操作番号ｃｎに該当する操作部７２が押下されていない場合、処理を次のステップ５８に進める。
【０１０２】
ステップ５８において、ＣＰＵ３０は、全てのコントローラ操作番号ｃｎに対応する操作部７２の操作について確認が終わったか否かを判断する。ここで、全てのコントローラ操作番号ｃｎとは、キーボードテーブルＤｂ２に記述された全てのコントローラ操作番号ｃｎを示しており、図２４に示した例ではコントローラ操作番号ｃｎ＝０〜３に相当する。そして、ＣＰＵ３０は、全てのコントローラ操作番号ｃｎについて確認が終わった場合、処理を次のステップ６２に進める。一方、ＣＰＵ３０は、全てのコントローラ操作番号ｃｎについて確認が終わっていない場合、コントローラ操作番号データＤｂ４に記述されたコントローラ操作番号ｃｎに１を加算して（ステップ５９）、上記ステップ５７に戻って処理を繰り返す。
【０１０３】
ステップ６０において、ＣＰＵ３０は、キー選択表示処理を行い、処理を次のステップに進める。キー選択表示処理は、プレイヤがコントローラ７の操作部７２を用いて決定したキー文字が記述されたキーオブジェクトＯＢＪ（以下、選択キーオブジェクトＯＢＪと記載することがある）を他のキーオブジェクトＯＢＪと区別してモニタ２に表示する処理である。例えば、ステップ６０では、選択キーオブジェクトＯＢＪのみ強調表示される。これによって、プレイヤは、自分自身が把持するコントローラ７の操作部７２を操作することによって決定した入力キーを知ることができる。強調表示の例としては、選択キーオブジェクトＯＢＪの色を変化させる、選択キーオブジェクトＯＢＪの配置位置を移動させたり拡大したりする、選択キーオブジェクトＯＢＪにマーキングする、選択キーオブジェクトＯＢＪに記述されたキー文字を拡大したり太字にしたり色を変えたりする等の様々な表現方法があるが、本発明で行う強調表示は何れの表現方法でもかまわない。
【０１０４】
次に、ＣＰＵ３０は、キーボードテーブルＤｂ２を参照して、選択グループ番号データＤｂ３に記述されたグループ番号ｇｎに含まれ、かつ、コントローラ操作番号データＤｂ４に記述されたコントローラ操作番号ｃｎに応じたキー番号ｋｎを取得する（ステップ６１）。そして、ＣＰＵ３０は、取得したキー番号ｋｎをキー番号データＤｂ５としてメインメモリ３３に記憶して、処理を次のステップ６３に進める。図２４で示したキーボードテーブルＤｂ２から明らかなように、グループ番号ｇｎおよびコントローラ操作番号ｃｎが決まれば、それらに対応するアドレス番号ｔｂやキー番号ｋｎが一意に決まる。具体的には、
ｋｎ＝ｔｂ［ｇｎ×４＋ｃｎ］
の数式をそれぞれ用いて算出されたアドレス番号ｔｂに記述されたキー番号ｋｎを取得することもできる。例えば、グループ番号ｇｎ＝０およびコントローラ操作番号ｃｎ＝２に対応して、アドレス番号ｔｂ＝２が算出されてキー番号ｋｎ＝４が得られる。
【０１０５】
また、図２３を用いて説明したキー文字とキー番号ｋｎとの関係から明らかなように、キー番号ｋｎが決定されればキー文字を一意に１文字決定することができる。したがって、ＣＰＵ３０は、決定されたキー番号ｋｎに基づいて、当該キー番号ｋｎに応じたキー文字を入力文字として確定することもできる。
【０１０６】
一方、上記ステップ５３でグループ番号ｇｎが取得できなかったとき（ステップ５４でＮｏ）、または全てのコントローラ操作番号ｃｎに対応する操作部７２が何れも押下されていないとき（ステップ５８でＹｅｓ）、ＣＰＵ３０は、キー未選択として（ステップ６２）、処理を次のステップ６３に進める。
【０１０７】
ステップ６３において、ＣＰＵ３０は、処理を終了するか否かを判断する。そして、ＣＰＵ３０は、処理を継続する場合に上記ステップ５１に戻って処理を繰り返し、処理を終了する場合に当該フローチャートによる処理を終了する。
【０１０８】
なお、上述した説明では、１６個のキーオブジェクトＯＢＪａ〜ＯＢＪｐに対して、４つのキーオブジェクトを１グループとするグループに分類する例を用いたが、他の個数を１グループとして分類してもかまわない。例えば、マウスを用いて操作するとき、マウスは左右ボタンが設けられているので、操作ボタンと対応した分類をするためには２つのキーオブジェクトを１グループとするグループに分類する方がプレイヤにとってわかりやすい。
【０１０９】
図２６は、１６個のキーオブジェクトＯＢＪａ〜ＯＢＪｐを、１×２となる２つのオブジェクトをそれぞれ１グループとする８つのグループＧ０〜Ｇ７に分類した一例である。具体的には、グループＧ０がキーオブジェクトＯＢＪａおよびＯＢＪｂ、グループＧ１がキーオブジェクトＯＢＪｃおよびＯＢＪｄ、グループＧ２がキーオブジェクトＯＢＪｅおよびＯＢＪｆ、グループＧ３がキーオブジェクトＯＢＪｇおよびＯＢＪｈ、グループＧ４がキーオブジェクトＯＢＪｉおよびＯＢＪｊ、グループＧ５がキーオブジェクトＯＢＪｋおよびＯＢＪｌ、グループＧ６がキーオブジェクトＯＢＪｍおよびＯＢＪｎ、グループＧ７がキーオブジェクトＯＢＪｏおよびＯＢＪｐでそれぞれ構成される。そして、プレイヤがコントローラ７を用いて指し示した画面座標系の入力座標が何れかのグループＧ０〜Ｇ７を示す領域内であるとき、図１３と同様に当該指し示された領域を含むグループが他のグループと区別してモニタ２に表現される。例えば、図２６に示すように、プレイヤがコントローラ７を用いて指し示した画面座標系の入力座標がグループＧ０を示す領域内であるとき、グループＧ０のみ強調表示（図２６で示す斜線領域）される。これによって、プレイヤは、自分自身が把持するコントローラ７で指し示している選択グループＧを知ることができる。
【０１１０】
ここで、図２６から明らかなように、グループＧ０が強調表示されると、２つのキーオブジェクトＯＢＪａおよびＯＢＪｂが他のキーオブジェクトと区別して表示される。そして、マウスを用いて操作するとき、２つのキーオブジェクトＯＢＪａおよびＯＢＪｂがそれぞれマウスの左右ボタンに対応することは認識しやすい。これらは、他のグループＧ１〜Ｇ７が選択された場合も同様に、他のキーオブジェクトが区別されて表示される。つまり、何れかのグループＧ０〜Ｇ７を選択した時点で、マウスの左右ボタンに応じて１つのキー文字を入力できることをプレイヤが認識できる。
【０１１１】
また、上述した説明では、プレイヤがモニタ２に表示される複数のオブジェクト（具体的にはキーオブジェクト）から１つのオブジェクトを選択する、すなわちオブジェクトを選択対象とする例を用いたが、他の表示物を選択対象としてもかまわない。図２７は、表示されたキー文字Ｗを選択対象とする際にモニタ２に表示される表示例を示す図である。図２８は、コントローラ７で図２７のオブジェクトＯＢＪｇ０が指し示されたときにモニタ２に表示される表示例を示す図である。
【０１１２】
図２７において、１６個の文字Ｗａ〜Ｗｐを４×４に配列されている。ここで、キー文字Ｗａ〜Ｗｐは、２×２の４つのキー文字Ｗをそれぞれ１グループとする４つのグループに分類されている。そして、それぞれのグループに属するキー文字Ｗは、２×２に配列されたグループキーオブジェクトＯＢＪｇ０〜ＯＢＪｇ３内に記述される。これらのグループキーオブジェクトＯＢＪｇ０〜ＯＢＪｇ３を配列して、その内部に複数のキー文字Ｗが配列された仮想的なキーボード（ソフトウエアキーボード）がモニタ２に表示される。例えば、プレイヤがコントローラ７を用いて何れかのグループキーオブジェクトＯＢＪｇ０〜ＯＢＪｇ３を選択した後、その内部の何れかのキー文字Ｗを選択することによって、選択されたキー文字Ｗを入力することが可能となる。
【０１１３】
具体的には、キー文字Ｗａにはキー文字「Ａ」が、キー文字Ｗｂにはキー文字「Ｂ」が、キー文字Ｗｃにはキー文字「Ｃ」が、キー文字Ｗｄにはキー文字「Ｄ」が、キー文字Ｗｅにはキー文字「Ｅ」が、キー文字Ｗｆにはキー文字「Ｆ」が、キー文字Ｗｇにはキー文字「Ｇ」が、キー文字Ｗｈにはキー文字「Ｈ」が、キー文字Ｗｉにはキー文字「Ｉ」が、キー文字Ｗｊにはキー文字「Ｊ」が、キー文字Ｗｋにはキー文字「Ｋ」が、キー文字Ｗｌにはキー文字「Ｌ」が、キー文字Ｗｍにはキー文字「Ｍ」が、キー文字Ｗｎにはキー文字「Ｎ」が、キー文字Ｗｏはキー文字「Ｏ」が、キー文字Ｗｐにはキー文字「Ｐ」が、それぞれ記述されている。そして、グループキーオブジェクトＯＢＪｇ０は、４つのキー文字Ｗａ、Ｗｂ、Ｗｅ、およびＷｆが記述される。グループキーオブジェクトＯＢＪｇ１は、４つのキー文字Ｗｃ、Ｗｄ、Ｗｇ、およびＷｈが記述される。グループキーオブジェクトＯＢＪｇ２は、４つのキー文字Ｗｉ、Ｗｊ、Ｗｍ、およびＷｎが記述される。グループキーオブジェクトＯＢＪｇ３は、４つのキー文字Ｗｋ、Ｗｌ、Ｗｏ、およびＷｐが記述される。つまり、グループキーオブジェクトＯＢＪｇ０〜ＯＢＪｇ３は、選択対象であるキー文字Ｗがそれぞれ属しているグループを表示している。
【０１１４】
プレイヤがコントローラ７を用いて指し示した画面座標系の入力座標が何れかのグループキーオブジェクトＯＢＪｇ０〜ＯＢＪｇ３を示す領域内であるとき、当該指し示されたグループキーオブジェクトが他のグループキーオブジェクトと区別してモニタ２に表現される。例えば、図２８に示すように、プレイヤがコントローラ７を用いて指し示した画面座標系の入力座標がグループキーオブジェクトＯＢＪｇ０を示す領域内であるとき、グループキーオブジェクトＯＢＪｇ０のみ強調表示（図２８で示す斜線領域）される。これによって、プレイヤは、自分自身が把持するコントローラ７で指し示しているグループキーオブジェクト、すなわちプレイヤが選択しているグループキーオブジェクト（以下、選択グループキーオブジェクトＯＢＪｇと記載することがある）を知ることができる。強調表示の例としては、選択グループキーオブジェクトＯＢＪｇの内部や外枠の色を変化させる、選択グループキーオブジェクトＯＢＪｇに属するキー文字Ｗ（図２８に示すキー文字Ｗａ、Ｗｂ、Ｗｅ、およびＷｆ）の配置位置を移動させたり大きさを拡大したり太字にしたり色を変化させたりする、選択グループキーオブジェクトＯＢＪｇにマーキングする等の様々な表現方法があるが、本発明で行う強調表示は何れの表現方法でもかまわない。
【０１１５】
また、選択グループキーオブジェクトＯＢＪＧに属するキーオブジェクトとコントローラ７に設けられた操作部との関係をプレイヤが認識できるような表示も行われる。そして、プレイヤがコントローラ７の操作部を操作することによって、その操作に対応する１つのキー文字Ｗが選択され、選択されたキー文字Ｗが入力として決定される。
【０１１６】
図２８において、選択グループキーオブジェクトＯＢＪｇ０に属するキー文字Ｗａ、Ｗｂ、Ｗｅ、およびＷｆを十字キー７２ａの上下左右方向を模した位置へそれぞれ移動させることによって、各オブジェクトと十字キー７２ａとの関係を表示している。図２７と図２８とを比較すれば明らかなように、キー文字Ｗａ、Ｗｂ、Ｗｅ、およびＷｆは、それぞれ上下左右方向に移動している。これによって、十字キー７２ａが有する９０°間隔で形成された４つの突出片とキー文字Ｗａ、Ｗｂ、Ｗｅ、およびＷｆとの対応関係が認識できる。具体的には、キー文字Ｗａは、グループキーオブジェクトＯＢＪｇ０の中で最も上方向に移動するため、上方向を示す十字キー７２ａの突出片に対応していることがわかる。キー文字Ｗｂは、グループキーオブジェクトＯＢＪｇ０の中で最も右方向に移動するため、右方向を示す十字キー７２ａの突出片に対応していることがわかる。キー文字Ｗｅは、グループキーオブジェクトＯＢＪｇ０の中で最も左方向に移動するため、左方向を示す十字キー７２ａの突出片に対応していることがわかる。そして、キー文字Ｗｆは、グループキーオブジェクトＯＢＪｇ０の中で最も下方向に移動するため、下方向を示す十字キー７２ａの突出片に対応していることがわかる。
【０１１７】
また、上述した説明では、選択対象が属するグループを選択するポインティングデバイスとして、コントローラ７やマウスを一例として用いたが、他のポインティングデバイスを用いてもかまわない。図２９を参照して、ポインティングデバイスとしてタッチパネルを用いて本発明を実現する例を説明する。なお、図２９は、本発明の対象選択プログラムを含むゲームプログラムを実行する携帯ゲーム装置１０の外観図である。
【０１１８】
図２９において、携帯ゲーム装置１０は、第１のＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ：液晶表示装置）１１および第２のＬＣＤ１２を含む。ハウジング１３は、上側ハウジング１３ａと下側ハウジング１３ｂとによって構成されており、第１のＬＣＤ１１は上側ハウジング１３ａに収納され、第２のＬＣＤ１２は下側ハウジング１３ｂに収納される。また、携帯ゲーム装置１０には、メモリカードが装着される。メモリカードは、ゲームプログラム等を記録した記録媒体であり、下部ハウジング１３ｂに設けられた挿入口（図示せず）に着脱自在に装着される。
【０１１９】
下側ハウジング１３ｂには、入力装置として、十字スイッチ、スタートスイッチ、セレクトスイッチ、Ａボタン、Ｂボタン、Ｘボタン、Ｙボタン、電源スイッチ、Ｌボタン、およびＲボタン等の入力装置を含む操作部１４が設けられている。また、さらなる入力装置として、第２のＬＣＤ１２の画面上にタッチパネル１５が装着されている。
【０１２０】
タッチパネル１５としては、例えば抵抗膜方式や光学式（赤外線方式）や静電容量結合式等、任意の方式のものを利用することができる。タッチパネル１５は、その表面を触れると、その接触位置に対応する座標データを出力する機能を有するポインティングデバイスの一例である。
【０１２１】
第２のＬＣＤ１２には、図１１と同様に１６個のキーオブジェクトを４×４に配列することによって、複数のキーが配列された仮想的なキーボード（ソフトウエアキーボード）が表示される。そして、１６個のキーオブジェクトは、図１２と同様に２×２の４つのオブジェクトをそれぞれ１グループとする４つのグループに分類されている。
【０１２２】
プレイヤがタッチパネル１５をタッチ操作したとき、タッチ操作されたタッチパネル座標系の入力座標が第２のＬＣＤ１２の画面座標系の入力座標に座標変換される。そして、画面座標系の入力座標が何れかのグループを示す領域内であるとき、当該領域を含むグループが他のグループと区別して第２のＬＣＤ１２に表現される。図２９の例では、文字「Ａ」、「Ｂ」、「Ｅ」、および「Ｆ」が記述されたキーオブジェクトで構成されるグループが強調表示されている。
【０１２３】
また、選択されたグループに属するキーオブジェクトと下側ハウジング１３ｂに設けられた操作部１４との関係をプレイヤが認識できるような表示は、例えば第１のＬＣＤ１１に表示される。例えば、第１のＬＣＤ１１には、対応する操作部１４（図２９の例では十字キー）を模して拡大した図形が描かれる。そして、選択されたグループに属するキーオブジェクトに記述されたそれぞれの文字を第１のＬＣＤ１１に表示された図形に付与されて表示することによって、各キーオブジェクトと操作部１４との関係を表示している。図２９の例では、十字キーと選択された４つのキーオブジェクトとの関係を示している。これによって、十字キーが有する９０°間隔で形成された４つの突出片とキーオブジェクトとの対応関係が認識できる。具体的には、キー文字「Ａ」が模した図形に対して上方向を示す突出片上に付与されて表示されるため、キー文字「Ａ」が記述されたキーオブジェクトが上方向を示す十字キーの突出片に対応していることがわかる。また、キー文字「Ｂ」が模した図形に対して右方向を示す突出片上に付与されて表示されるため、キー文字「Ｂ」が記述されたキーオブジェクトが右方向を示す十字キーの突出片に対応していることがわかる。キー文字「Ｅ」が模した図形に対して左方向を示す突出片上に付与されて表示されるため、キー文字「Ｅ」が記述されたキーオブジェクトが左方向を示す十字キーの突出片に対応していることがわかる。そして、キー文字「Ｆ」が模した図形に対して下方向を示す突出片上に付与されて表示されるため、キー文字「Ｆ」が記述されたキーオブジェクトが下方向を示す十字キーの突出片に対応していることがわかる。
【０１２４】
このように、本実施形態における対象選択装置によれば、複数の選択対象（キーオブジェクトやキー文字等）を所定の条件でグループ化し、グループ化したものをポインティングデバイスで選択する。そして、選択したグループ内の選択対象を入力キーや入力ボタン等の操作部に対応付けて、該当する操作部を操作することにより所望の選択対象を選択することができる。したがって、ポインティングデバイスでは個々の選択対象が選択困難な場面でも、複数の選択対象をグループ化することで比較的大きな選択対象となるため、相対的に大きな選択領域を有する選択対象群の選択が容易となる。また、グループ化された選択対象群が表示されてポインティングデバイスを用いて直接的に選択できるため、グループを選択する操作が直感的でユーザにとってわかりやすい。さらに、ポインティングデバイスでグループの何れか選択しつつ、当該グループに含まれる個々の選択対象を操作部で選択するため、効率的に所望の選択対象を選択することができる。その際、１つの選択対象を選択するために操作すべき操作部がユーザに示されるため、選択対象を選択するための操作を明確に示すことができる。また、グループ化された複数の選択対象群をポインティングデバイスで選択可能な程度にまで縮小できるため、個々の選択対象単位ではポインティングデバイスでの選択が困難なサイズでも表示が可能となり、選択対象を表示する領域を効率よく利用することができる。
【０１２５】
なお、撮像素子７４３で撮像した画像データを解析してマーカ８Ｌおよび８Ｒからの赤外光の位置座標やそれらの重心座標等を取得し、それらを処理結果データとしてコントローラ７内で生成してゲーム装置３へ送信する態様を説明したが、他の処理段階のデータをコントローラ７からゲーム装置３へ送信してもかまわない。例えば、撮像素子７４３が撮像した画像データをコントローラ７からゲーム装置３へ送信し、ＣＰＵ３０において上記解析処理を行って処理結果データを取得してもかまわない。この場合、コントローラ７に設けられた画像処理回路７４４が不要となる。また、上記画像データの解析途中のデータをコントローラ７からゲーム装置３へ送信してもかまわない。例えば、画像データから得られる輝度、位置、および面積等を示すデータをコントローラ７からゲーム装置３へ送信し、ＣＰＵ３０において残りの解析処理を行って処理結果データを取得してもかまわない。
【０１２６】
また、上述した説明では、コントローラ７とゲーム装置３とが無線通信によって接続された態様を用いたが、コントローラ７とゲーム装置３とがケーブルを介して電気的に接続されてもかまわない。この場合、コントローラ７に接続されたケーブルをゲーム装置３の接続端子に接続する。
【０１２７】
また、コントローラ７から無線送信される送信データを受信する受信手段として、ゲーム装置３の接続端子に接続された受信ユニット６を用いて説明したが、ゲーム装置３の本体内部に設けられた受信モジュールによって当該受信手段を構成してもかまわない。この場合、受信モジュールが受信した送信データは、所定のバスを介してＣＰＵ３０に出力される。
【０１２８】
また、上述した説明では、２つのマーカ８Ｌおよび８Ｒからの赤外光を、コントローラ７の撮像情報演算部７４の撮像対象としたが、他のものを撮像対象にしてもかまわない。例えば、１つまたは３つ以上のマーカをモニタ２の近傍に設置し、それらのマーカからの赤外光を撮像情報演算部７４の撮像対象としてもかまわない。例えば、所定の長さを有する１つのマーカをモニタ２の近傍に設置し、当該長さの両端位置を利用すれば本発明を同様に実現することができる。また、モニタ２の表示画面自体や他の発光体（室内灯等）を撮像情報演算部７４の撮像対象としてもかまわない。撮像対象とモニタ２の表示画面との配置関係に基づいて、当該表示画面に対するコントローラ７の位置を演算すれば、様々な発光体を撮像情報演算部７４の撮像対象として用いることができる。
【０１２９】
また、上述したコントローラ７の形状や、それらに設けられている操作部７２の形状、数、および設置位置等は、単なる一例に過ぎず他の形状、数、および設置位置であっても、本発明を実現できることは言うまでもない。また、コントローラ７における撮像情報演算部７４の位置（撮像情報演算部７４の光入射口）は、ハウジング７１の前面でなくてもよく、ハウジング７１の外部から光を取り入れることができれば他の面に設けられてもかまわない。
【０１３０】
また、上記実施例では、ゲーム装置３をコントローラ７で操作したり、携帯ゲーム装置１０にタッチパネル１５を一体的に設けたりしているが、ポインティングデバイスを入力手段の１つとする一般的なパーソナルコンピュータなどの情報処理装置でもかまわない。この場合、この情報処理装置のコンピュータが実行するプログラムは、典型的にゲームに用いられるゲームプログラムに限らず、上述した方式で選択された選択対象が上記情報処理装置に対する処理に用いられる汎用的なプログラムである。
【産業上の利用可能性】
【０１３１】
本発明に係る対象選択プログラムおよび対象選択装置は、表示された複数の選択対象から効率よく１つの選択対象を選択することができ、ポインティングデバイス等を用いて選択する処理を行うプログラムや装置として有用である。
【図面の簡単な説明】
【０１３２】
【図１】本発明の一実施形態に係るゲームシステム１を説明するための外観図
【図２】図１のゲーム装置３の機能ブロック図
【図３】図３のコントローラ７の上面後方から見た斜視図
【図４】図３のコントローラ７を下面後方から見た斜視図
【図５】図３のコントローラ７の上筐体を外した状態を示す斜視図
【図６】図３のコントローラ７の構成を示すブロック図
【図７】図３のコントローラ７を用いてゲーム操作するときの状態を概説する図解図
【図８】プレイヤがコントローラ７を右手で把持した状態をコントローラ７の前面側から見た一例
【図９】プレイヤがコントローラ７を右手で把持した状態をコントローラ７の左側面側から見た一例
【図１０】マーカ８Ｌおよび８Ｒと撮像情報演算部７４との視野角を説明するための図
【図１１】モニタ２に表示された複数のキーオブジェクトＯＢＪａ〜ＯＢＪｐの一例を示す図
【図１２】図１１の複数のキーオブジェクトＯＢＪａ〜ＯＢＪｐを４つのグループＧ０〜Ｇ３に分類した状態を説明するための図
【図１３】コントローラ７で図１２のグループＧ０が指し示されたときにモニタ２に表示される第１の表示例を示す図
【図１４】コントローラ７で図１２のグループＧ０が指し示されたときにモニタ２に表示される第２の表示例を示す図
【図１５】コントローラ７で図１２のグループＧ０が指し示されたときにモニタ２に表示される第３の表示例を示す図
【図１６】コントローラ７で図１２のグループＧ０が指し示されたときにモニタ２に表示される第４の表示例を示す図
【図１７】コントローラ７で図１２のグループＧ０が指し示されたときにモニタ２に表示される第５の表示例を示す図
【図１８】モニタ２に表示された複数のキーオブジェクトＯＢＪａ〜ＯＢＪｐの他の例を示す図
【図１９】図１８の複数のキーオブジェクトＯＢＪａ〜ＯＢＪｐを４つのグループＧ０〜Ｇ３に分類した状態を説明するための図
【図２０】コントローラ７で図１９のグループＧ０が指し示されたときにモニタ２に表示される第１の表示例を示す図
【図２１】コントローラ７で図１９のグループＧ０が指し示されたときにモニタ２に表示される第２の表示例を示す図
【図２２】ゲーム装置３のメインメモリ３３に記憶される主なデータを示す図
【図２３】キー文字とキー番号との関係を示した図
【図２４】キーボードテーブルの一例を示す図
【図２５】ゲーム装置３において実行される処理の流れを示すフローチャート
【図２６】１６個のキーオブジェクトＯＢＪａ〜ＯＢＪｐを、１×２となる２つのオブジェクトをそれぞれ１グループとする８つのグループＧ０〜Ｇ７に分類した一例
【図２７】表示されたキー文字Ｗを選択対象とする際にモニタ２に表示される表示例を示す図
【図２８】コントローラ７で図２７のオブジェクトＯＢＪｇ０が指し示されたときにモニタ２に表示される表示例を示す図
【図２９】本発明の対象選択プログラムを含むゲームプログラムを実行する携帯ゲーム装置１０の外観図
【符号の説明】
【０１３３】
１…ゲームシステム
２…モニタ
３…ゲーム装置
１０…携帯ゲーム装置
１１…第１のＬＣＤ
１２…第２のＬＣＤ
１３、７１…ハウジング
１４、７２…操作部
１５…タッチパネル
３０…ＣＰＵ
３１…メモリコントローラ
３２…ＧＰＵ
３３…メインメモリ
３４…ＤＳＰ
３５…ＡＲＡＭ
３６…コントローラＩ／Ｆ
３７…ビデオＩ／Ｆ
３８…外部メモリＩ／Ｆ
３９…オーディオＩ／Ｆ
４０…ディスクドライブ
４１…ディスクＩ／Ｆ
４…光ディスク
５…外部メモリカード
６…受信ユニット
７…コントローラ
７３…コネクタ
７４…撮像情報演算部
７４１…赤外線フィルタ
７４２…レンズ
７４３…撮像素子
７４４…画像処理回路
７５…通信部
７５１…マイコン
７５２…メモリ
７５３…無線モジュール
７５４…アンテナ
７００…基板
７０１…加速度センサ
７０２…ＬＥＤ
７０３…水晶振動子
７０４…バイブレータ
７０５…電池
８…マーカ
【図１】
2007213144.tif 000003
【図２】
2007213144.tif 000004
【図３】
2007213144.tif 000005
【図４】
2007213144.tif 000006
【図５】
2007213144.tif 000007
【図６】
2007213144.tif 000008
【図７】
2007213144.tif 000009
【図８】
2007213144.tif 000010
【図９】
2007213144.tif 000011
【図１０】
2007213144.tif 000012
【図１１】
2007213144.tif 000013
【図１２】
2007213144.tif 000014
【図１３】
2007213144.tif 000015
【図１４】
2007213144.tif 000016
【図１５】
2007213144.tif 000017
【図１６】
2007213144.tif 000018
【図１７】
2007213144.tif 000019
【図１８】
2007213144.tif 000020
【図１９】
2007213144.tif 000021
【図２０】
2007213144.tif 000022
【図２１】
2007213144.tif 000023
【図２２】
2007213144.tif 000024
【図２３】
2007213144.tif 000025
【図２４】
2007213144.tif 000026
【図２５】
2007213144.tif 000027
【図２６】
2007213144.tif 000028
【図２７】
2007213144.tif 000029
【図２８】
2007213144.tif 000030
【図２９】
2007213144.tif 000031