(57)【要約】【課題】プレイヤが２次元座標系における入力操作と３次元座標系における入力操作とを容易に変更し、複数のポインティングデバイスを操作して３次元座標系における入力を直感的に行なうこと。【解決手段】入力装置は、第１及び第２のポインティングデバイスのそれぞれにより入力された各２次元座標の互いの位置関係に基づいて加算値を算出し、選択しているオブジェクトの仮想３次元空間における位置を示す３次元座標に加算値を加えて得られる３次元座標を、第１及び第２のポインティングデバイスに共通のポイント座標とする。【選択図】図５
2010238015.tif 000002
【特許請求の範囲】
【請求項１】
仮想３次元空間内のオブジェクトを前記表示画面上の２次元座標系に投影して生成された２次元画像データを表示する表示画面を有する表示装置と、それぞれ独立して前記２次元座標系の２次元座標を入力する第１ポインティングデバイス及び第２ポインティングデバイスと、前記第1ポインティングデバイス及び前記第２ポインティングデバイスから入力された座標に基づいて各ポインティングデバイスのポイント座標を生成するポイント座標生成手段とを備える入力装置であって、
前記ポイント座標生成手段は、
前記第１のポインディングデバイス及び前記第２のポインティングデバイスのそれぞれにより入力された各２次元座標の互いの位置関係に基づいて加算値を算出し、選択しているオブジェクトの前記仮想３次元空間における位置を示す３次元座標に前記加算値を加えて得られる３次元座標を、前記第１のポインディングデバイス及び前記第２のポインティングデバイスに共通のポイント座標とすることを特徴とする入力装置。
【請求項２】
前記ポイント座標生成手段は、
前記選択しているオブジェクトの前記仮想３次元空間における位置を示す３次元座標の内の前記表示画面上の２次元座標系と平行な２次元座標を、前記第１ポインティングデバイスにより入力される２次元座標と前記第２ポインティングデバイスにより入力される２次元座標との中点の２次元座標とし、前記加算値を、前記第１ポインティングデバイスにより入力された２次元座標に対して、前記第２ポインティングデバイスにより入力された２次元座標が離間している距離に比例し、且つ、前記表示画面上の２次元座標系と直行する方向の座標値に加算する値として算出する、
ことを特徴とする請求項１記載の入力装置。
【請求項３】
前記ポイント座標生成手段は、
前記オブジェクトのいずれかを未選択な状態の第１入力モードと、前記オブジェクトの少なくとも１つを選択している状態の第２入力モードとに択一的に移行し、
前記第１入力モードでは、前記第１ポインティングデバイス及び前記第２ポインティングデバイスのそれぞれにより入力された各２次元座標を各ポインティングデバイスのポイント座標とし、
前記第２入力モードでは、前記第１のポインディングデバイス及び前記第２のポインティングデバイスのそれぞれにより入力された各２次元座標の互いの位置関係に基づいて加算値を算出し、前記選択しているオブジェクトの前記仮想３次元空間における位置を示す３次元座標に前記加算値を加えて得られる３次元座標を、前記第１のポインディングデバイス及び前記第２のポインティングデバイスに共通のポイント座標とすることを特徴とする請求項１又は請求項２記載の入力装置。
【請求項４】
前記第１ポインディングデバイス又は前記第２ポインディングデバイスの少なくとも一方に操作ボタンが設けられ、
前記ポイント座標生成手段は、
前記第１入力モードのときに前記操作ボタンが押下されると前記第２入力モードに移行し、前記第２入力モードのときに前記操作ボタンが押下されると前記第１入力モードに移行する、
ことを特徴とする請求項３記載の入力装置。
【請求項５】
前記第１ポインディングデバイス又は前記第２ポインディングデバイスの少なくとも一方に操作ボタンが設けられ、
前記ポイント座標生成手段は、
前記第１入力モードのときに前記操作ボタンが押下されている間、前記第２入力モードに移行する、
ことを特徴とする請求項３記載の入力装置。
【請求項６】
前記第１ポインディングデバイス又は前記第２ポインディングデバイスの少なくとも一方には操作ボタンが設けられ、
前記ポイント座標生成手段は、
前記第１入力モードのときに前記第１ポインディングデバイスにより入力される２次元座標と前記第２ポインディングデバイスにより入力される２次元座標との距離が所定距離以下となったときに前記第２入力モードに移行し、
前記第２入力モードのときに、前記操作ボタンが押下されると前記第１入力モードに移行する、
ことを特徴とする請求項３記載の入力装置。
【請求項７】
仮想３次元空間内のオブジェクトを前記表示画面上の２次元座標系に投影して生成された２次元画像データを表示する表示画面を有する表示装置と、それぞれ独立して前記２次元座標系の２次元座標を入力する第１ポインティングデバイス及び第２ポインティングデバイスと、前記第1ポインティングデバイス及び前記第２ポインティングデバイスから入力された座標に基づいて各ポインティングデバイスのポイント座標を生成するポイント座標生成手段とを備える入力装置に、
前記第１のポインディングデバイス及び前記第２のポインティングデバイスのそれぞれにより入力された各２次元座標の互いの位置関係に基づいて加算値を算出させる手段と、
選択しているオブジェクトの前記仮想３次元空間における位置を示す３次元座標に前記加算値を加えて得られる３次元座標を、前記第１のポインディングデバイス及び前記第２のポインティングデバイスに共通のポイント座標とし、前記ポイント座標生成手段でポイント座標を生成させる手段と、
を実現させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ポインティングデバイスを用いて入力を行なう入力装置及びプログラムに関する。
【背景技術】
【０００２】
プレイヤがポインティングデバイス、例えば、マウスやタッチパネル等を用いて、画面上の任意の座標値をポイント座標として入力を行なう入力装置が知られている。このような入力装置は例えばゲーム装置本体と表示装置とを含むゲームシステムに用いられる。このゲームシステムでは、ゲーム装置本体に接続された表示装置の画面に表示されるゲーム画像上に、ポインティングデバイスを用いて入力されるポイント座標上に対応するポインタが表示される。ポインタ座標は、ゲームシステム側で生成されるため、プレイヤがポインティングデバイスを用いて実際に指している画面上の位置と異なる場合があるが、プレイヤは、このポインタの表示により、自分が入力しているポイント座標が画面上のどこであるのかを知ることができる。
【０００３】
ポインティングデバイスとして、画面から離れた所から画面上を指し示すリモートコントローラを用いて入力を行なうことが一般に知られている。この入力処理は、例えば、表示装置の所定位置に配置された赤外線光源を、撮像装置を搭載したリモートコントローラで撮像し、その撮像結果を解析してリモートコントローラの画面に対する位置とポインティングデバイスとしての方向を求め、その位置と方向のデータをゲーム装置本体に無線で送信し、ゲーム装置本体がその送信されたデータに基づいて、ポイント座標を算出し、表示装置の画面に表示されるポインタの位置を処理することにより行なわれる。
【０００４】
また、撮像装置が搭載された入力装置と撮像対象との距離の算出を行なうとき、撮像対象に対して撮像装置が斜めを向いていても位置関係の算出を可能とする技術も知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００７−２５６１００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記従来技術では、プレイヤは、リモートコントローラの操作により表示画面上の２次元座標系における入力を直感的に行うことができる。しかしながら、リモートコントローラを画面に対して奥行き方向に移動させることができる範囲は限られるため、画面に表示されているオフジェクトを仮想３次元空間内で自由に移動させる場合など、３次元座標系における入力は、表示画面上の２次元座標系の入力のように直感的に行なうことができない。３次元座標系における直感的な入力ができれば、プレイヤは入力装置を用いて多様な入力を行なうことができるようになる。
【０００７】
本発明は、上記事情に鑑みてなされたものであって、プレイヤが２次元座標系における入力操作と３次元座標系における入力操作とを、どちらも直感的に行なうことができる入力装置及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
第１の本発明は、仮想３次元空間内のオブジェクトを表示画面上の２次元座標系に投影して生成された２次元画像データを表示する表示画面を有する表示装置と、それぞれ独立して２次元座標系の２次元座標を入力する第１ポインティングデバイス及び第２ポインティングデバイスと、第1ポインティングデバイス及び第２ポインティングデバイスから入力された座標に基づいて各ポインティングデバイスのポイント座標を生成するポイント座標生成手段とを備える入力装置であって、ポイント座標生成手段は、第１のポインディングデバイス及び第２のポインティングデバイスのそれぞれにより入力された各２次元座標の互いの位置関係に基づいて加算値を算出し、選択しているオブジェクトの仮想３次元空間における位置を示す３次元座標に加算値を加えて得られる３次元座標を、第１のポインディングデバイス及び第２のポインティングデバイスに共通のポイント座標とするものである。
【０００９】
上記ポイント座標生成手段は、選択しているオブジェクトの仮想３次元空間における位置を示す３次元座標の内の表示画面上の２次元座標系と平行な２次元座標を、第１ポインティングデバイスにより入力される２次元座標と第２ポインティングデバイスにより入力される２次元座標との中点の２次元座標とし、加算値を、第１ポインティングデバイスにより入力された２次元座標に対して、第２ポインティングデバイスにより入力された２次元座標が離間している距離に比例し、且つ、表示画面上の２次元座標系と直行する方向の座標値に加算する値として算出するようにしても良い。
【００１０】
さらに、上記ポイント座標生成手段は、オブジェクトのいずれかを未選択な状態の第１入力モードと、オブジェクトの少なくとも１つを選択している状態の第２入力モードとに択一的に移行し、第１入力モードでは、第１ポインティングデバイス及び第２ポインティングデバイスのそれぞれにより入力された各２次元座標を各ポインティングデバイスのポイント座標とし、第２入力モードでは、第１のポインディングデバイス及び第２のポインティングデバイスのそれぞれにより入力された各２次元座標の互いの位置関係に基づいて加算値を算出し、選択しているオブジェクトの仮想３次元空間における位置を示す３次元座標に加算値を加えて得られる３次元座標を、第１のポインディングデバイス及び第２のポインティングデバイスに共通のポイント座標とするようにしても良い。
【００１１】
さらに、上記入力装置は、第１ポインディングデバイス又は第２ポインディングデバイスの少なくとも一方に操作ボタンが設けられ、上記ポイント座標生成手段は、第１入力モードのときに操作ボタンが押下されると第２入力モードに移行し、第２入力モードのときに操作ボタンが押下されると第１入力モードに移行するようにしても良い。
【００１２】
また、上記入力装置は、第１ポインディングデバイス又は第２ポインディングデバイスの少なくとも一方に操作ボタンが設けられ、上記ポイント座標生成手段は、第１入力モードのときに操作ボタンが押下されている間、第２入力モードに移行するようにしても良い。
【００１３】
さらに、上記入力装置は、第１ポインディングデバイス又は第２ポインディングデバイスの少なくとも一方には操作ボタンが設けられ、上記ポイント座標生成手段は、第１入力モードのときに第１ポインディングデバイスにより入力される２次元座標と第２ポインディングデバイスにより入力される２次元座標との距離が所定距離以下となったときに第２入力モードに移行し、第２入力モードのときに、操作ボタンが押下されると第１入力モードに移行するようにしても良い。
【００１４】
また、第２の本発明は、仮想３次元空間内のオブジェクトを表示画面上の２次元座標系に投影して生成された２次元画像データを表示する表示画面を有する表示装置と、それぞれ独立して２次元座標系の２次元座標を入力する第１ポインティングデバイス及び第２ポインティングデバイスと、第1ポインティングデバイス及び第２ポインティングデバイスから入力された座標に基づいて各ポインティングデバイスのポイント座標を生成するポイント座標生成手段とを備える入力装置に、第１のポインディングデバイス及び第２のポインティングデバイスのそれぞれにより入力された各２次元座標の互いの位置関係に基づいて加算値を算出させる手段と、選択しているオブジェクトの仮想３次元空間における位置を示す３次元座標に加算値を加えて得られる３次元座標を、第１のポインディングデバイス及び第２のポインティングデバイスに共通のポイント座標とし、ポイント座標生成手段でポイント座標を生成させる手段とを実現させるプログラムである。
【発明の効果】
【００１５】
本発明によると、プレイヤが２次元座標系における入力操作と３次元座標系における入力操作とを容易に変更し、複数のポインティングデバイスを操作して３次元座標系における入力を直感的に行なうことができる。
【図面の簡単な説明】
【００１６】
【図１】ゲームシステムの構成を示す図である。
【図２】ゲーム装置本体のハードウェア構成を示すブロック図である。
【図３】リモートコントローラのハードウェア構成を示すブロック図である。
【図４】撮像画像の一例を示す図である。
【図５】モード変更処理を示すフローチャートである。
【図６】２次元モードと３次元モードとのモード変更説明するための図である。
【図７】３次元モードにおける作用を説明するための図である。
【図８】３次元モードにおける作用を説明するための図である。
【図９】３次元モードにおける作用を説明するための図である。
【図１０】３次元モードにおける作用を説明するための図である。
【発明を実施するための形態】
【００１７】
本発明の入力装置は、プレイヤが少なくとも２つのポインティングデバイスを用いて、２次元座標系及び３次元座標系の間で座標系を切替え、３次元座標系においても２つのポインティングデバイスを操作してポイント座標の入力を行うことができるものである。
【００１８】
以下では、本発明の入力装置を、表示画面を備える表示装置であるモニタと、第１のポインティングデバイスと第２のポインティングデバイスである２つのリモートコントローラとを含み、２つのリモートコントローラとそれぞれ無線通信を行いそのリモートコントローラから入力される表示画面上の座標に応じてポイント座標を生成し、ポイント座標上にポインタを表示するゲームシステムに適用した形態について説明する。
【００１９】
図１は、ゲームシステム１の全体の構成を示す図である。ゲームシステム１は、モニタ（例えば、家庭用のテレビジョン等のディスプレイ）２、ゲーム装置本体３、ＣＤ−ＲＯＭ（Read Only Memory）４、及びリモートコントローラ５，６及び発光装置７とを有して構成される。
【００２０】
モニタ２は、ゲーム装置本体３と接続される。モニタ２は、ゲーム装置本体３から出力されるゲーム画像を表示画面２ｂに表示するとともに下部に設けられたスピーカ２ａからゲームの進行に合わせて音声を出力する。なお、この実施形態ではモニタ２は、ゲーム装置本体３と接続される構成として説明するが、モニタ２はゲーム装置本体３と一体となって構成されていても良い。
【００２１】
ゲーム装置本体３は、電源スイッチ３ａ、メモリカードスロット３ｂ及び開閉可能なカバー３ｃを有している。プレイヤは、電源スイッチ３ａをオンしたあと、カバー３ｃを開いてＣＤ−ＲＯＭ４をセットし、カバー３ｃを閉じる。すると、ゲーム装置本体３は、ＣＤ−ＲＯＭ４からゲームプログラムを読み出し、ゲーム画像をモニタ２の表示画面２ｂに出力するための処理を行う。メモリカードスロット３ｂには、ゲームの進行状態等をバックアップするメモリカードが挿入される。ゲーム装置本体３のハードウェア構成については後述する。
【００２２】
ＣＤ−ＲＯＭ４には、ゲームプログラムが記憶される。なお、この実施形態ではＣＤ−ＲＯＭ４としたが、ＤＶＤ（Digital Versatile Disk）−ＲＯＭ等の他の光ディスクでも良い。また、ゲームプログラムが記憶されているメモリカードからゲームプログラムを読み出すように構成しても良いし、ゲーム装置本体３がネットワークと接続する機能を有している場合はネットワークを介してゲームプログラムをダウンロードするように構成しても良い。
【００２３】
各リモートコントローラ５，６は、ゲーム装置本体３と例えば、短距離無線通信技術を用いた通信を行なう。リモートコントローラ５，６は、ゲーム空間内に登場するオブジェクトをプレイヤが操作するために用いられる。また、リモートコントローラ５，６は、ゲーム装置本体３に対して入力指示を行うための複数の操作キー、ボタン、及びスティック等が設けられている（図示しない。）。なお、ゲーム装置本体３は、各リモートコントローラ５，６との無線通信を区別するために、ゲーム装置本体３が認識しているリモートコントローラには、それぞれコントローラ番号（番号種別）が設定される。ゲーム装置本体３は、この番号種別を用いてリモートコントローラ５，６からの送信データを区別する。
【００２４】
発光装置７は、赤外線を発光するＬＥＤモジュール７Ｒ，７Ｌを２つ有しており、モニタ２の上側に設置される。この２つのＬＥＤモジュール７Ｒ，７Ｌは、それぞれ発光装置７の右側端部と、左側端部とに位置し、モニタ２の前方に向かって赤外光を発光する。この赤外光は、リモートコントローラ５，６からゲーム装置本体３に入力を行なうために用いられるが、詳細は後述する。
【００２５】
次に、図２を参照してゲーム装置本体３の構成について説明する。図２は、ゲーム装置本体３のハードウェア構成を示すブロック図である。
【００２６】
図２に示すように、ゲーム装置本体３は、ＣＰＵ（Central Processing Unit）３１、ＧＰＵ（Graphics Processing Unit）３２、メインメモリ３３、ＤＳＰ（Digital Signal Processor）３４、ＡＲＡＭ３５（Audio RAM）、メモリコントローラ３６、無線通信モジュール３７、ビデオＩ／Ｆ３８、外部メモリＩ／Ｆ３９、オーディオＩ／Ｆ４０、ディスクＩ／Ｆ４１及びディスクドライブ４２を有している。
【００２７】
メモリコントローラ３６には、ＣＰＵ３１、ＧＰＵ３２、メインメモリ３３、ＤＳＰ３４が接続されている。また、メモリコントローラ３６には、バスラインを介して、無線通信モジュール３７、ビデオＩ／Ｆ３８、外部メモリＩ／Ｆ３９、オーディオＩ／Ｆ４０、及びディスクＩ／Ｆ４１が接続されている。また、ＤＳＰ３４にはＡＲＡＭ３５が接続されており、オーディオＩ／Ｆ４０及びディスクＩ／Ｆ４１にはディスクドライブ４２が接続されている。さらに、ビデオＩ／Ｆ３８、オーディオＩ／Ｆ４０には、それぞれ、モニタ２、スピーカ２ａが接続されている。
【００２８】
ＣＰＵ３１は、図示しないブートＲＯＭに記憶された起動プログラムを実行し、メインメモリ３３等のメモリの初期化等を行った後、ＣＤ−ＲＯＭ４に記憶されているゲームプログラムを実行し、そのゲームプログラムに応じたゲーム処理等を行うものである。
【００２９】
ＧＰＵ３２は、ＣＰＵ３１の命令に基づいて画像処理を行うものあり、例えば、３Ｄグラフィックスの表示に必要な計算処理を行う半導体チップで構成される。ＧＰＵ３２は、図示しない画像処理専用のメモリやメインメモリ３３の一部の記憶領域を用いて画像処理を行う。また、ＧＰＵ３２は、これらを用いてモニタ２の表示画面２ｂに表示すべきゲーム画像データやムービ映像を生成し、メモリコントローラ３６及びビデオＩ／Ｆ３８を介してモニタ２に出力する。
【００３０】
メインメモリ３３は、ＣＰＵ３１で使用される記憶領域であって、ＣＰＵ３１の処理に必要なゲームプログラム等を記憶する。例えば、メインメモリ３３は、ＣＰＵ３１によってＣＤ−ＲＯＭ４から読み出されたゲームプログラムや各種データ等を記憶する。このメインメモリ３３に記憶されたゲームプログラムや各種データ等がＣＰＵ３１によって実行される。
【００３１】
ＤＳＰ３４は、ゲームプログラム実行時にＣＰＵ３１において生成されるサウンドデータ等を処理するものであり、そのサウンドデータ等を記憶するためにＡＲＡＭ３５が用いられる。ＡＲＡＭ３５は、ＤＳＰ３４が所定の処理（例えば、先読みしておいたゲームプログラムやサウンドデータの記憶）を行う際に用いられる。ＤＳＰ３４は、ＡＲＡＭ３５に記憶されたサウンドデータを読み出し、メモリコントローラ３６及びオーディオＩ／Ｆ４０を介してモニタ２に備えるスピーカ２ａに出力させる。
【００３２】
メモリコントローラ３６は、データ転送を統括的に制御するものであり、上述した各種Ｉ／Ｆ間のデータの入出力等を制御する。
【００３３】
無線通信モジュール３７は、リモートコントローラ５，６からの送信データを受信し、メモリコントローラ３６を介して当該送信データをＣＰＵ３１へ出力する。ビデオＩ／Ｆ３８には、モニタ２が接続される。外部メモリＩ／Ｆ３９には、メモリカードスロット３ｂに挿入されたメモリカードが接続され、そのメモリカードに設けられたバックアップメモリ等とアクセス可能となる。
【００３４】
オーディオＩ／Ｆ４０にはモニタ２に内蔵されるスピーカ２ａが接続され、ＤＳＰ３４がＡＲＡＭ３５から読み出したサウンドデータやディスクドライブ４２から直接出力されるサウンドデータをスピーカ２ａから出力可能に接続される。ディスクドライブ４２は、所定の読み出し位置に配置されたＣＤ−ＲＯＭ４に記憶されたデータを読み出し、ゲーム装置本体３のバスやオーディオＩ／Ｆ４０に出力する。
【００３５】
また、電源キー３ａは、既述のように電源のＯＮ／ＯＦＦを行なう。
【００３６】
次に、図３を参照してリモートコントローラ５，６の内部構成について説明する。なお、リモートコントローラ５，６のハードウェア構成は共通しているため、リモートコントローラ５の内部構成を参照して説明することとし、リモートコントローラ６のハードウェア構成についての説明は省略する。図３は、リモートコントローラ５のハードウェア構成を示すブロック図である。
【００３７】
リモートコントローラ５は、操作部５１、加速度センサ５２、演算部５３及び通信部５４を有している。また、演算部５３は、赤外線フィルタ５３１、レンズ５３２、撮像素子５３３及び画像処理回路５３４を有している。さらに、通信部５４は、マイクロコンピュータ５４１、メモリ５４２、無線モジュール５４３、及びアンテナ５４４を有している。
【００３８】
マイクロコンピュータ５４１には、操作部５１、加速度センサ５２、画像処理回路５３４、メモリ５４２及び無線モジュール５４３が接続されている。また、無線モジュール５４３には、アンテナ５４４が接続されている。
【００３９】
次に、演算部５３について説明する。赤外線フィルタ５３１は、リモートコントローラ５，６の前方から入射する光から赤外線のみを通過させる。レンズ５３２は、赤外線フィルタ５３１を透過した赤外線を集光して撮像素子５３３へ出射する。撮像素子５３３は、例えばＣＭＯＳセンサやあるいはＣＣＤのような固体撮像素子であり、レンズ５３２が集光した赤外線を撮像する。したがって、撮像素子５３３は、赤外線フィルタ５３１を通過した赤外線だけを撮像して画像データを生成する。撮像素子５３３で生成された画像データは、画像処理回路５３４で処理される。
【００４０】
具体的には、画像処理回路５３４は、撮像素子５３３から得られた画像データを処理して高輝度部分を検知し、それらの位置座標やそれらの面積、直径、幅等を検出した結果を示す処理結果データを通信部５４へ出力する。なお、これらの演算部５３は、リモートコントローラ５，６のハウジングに固設されており、ハウジング自体の方向を変えることによってその撮像方向を変更することができる。ゲーム装置本体３は、この演算部５３から出力される処理結果データに基づいて、リモートコントローラ５，６の位置や動きに応じた信号を得ることができる。
【００４１】
加速度センサ５２は、リモートコントローラ５，６の上下方向、左右方向、及び前後方向の３軸でそれぞれ加速度を検知する加速度センサである。加速度センサ５２が検知した加速度を示すデータは、通信部５４へ出力される。なお、加速度センサ５２は、典型的には静電容量式の加速度センサが用いられるが、他の方式の加速度センサを用いてもかまわない。この加速度センサ５２から出力される加速度データに基づいて、マイクロコンピュータ５４１やＣＰＵ３１などのコンピュータを利用したソフトウェア処理によってリモートコントローラ５，６の動きを算出することができる。
【００４２】
マイクロコンピュータ５４１は、処理の際にメモリ５４２を記憶領域として用いながら、送信データを無線送信する無線モジュール５４３を制御する。
【００４３】
リモートコントローラ５，６に設けられた操作部５１からの操作信号（番号種別データ、キーデータ）、加速度センサ５２からの加速度信号（加速度データ）、及び演算部５３からの処理結果データは、マイクロコンピュータ５４１に出力される。
【００４４】
マイクロコンピュータ５４１は、入力した各データ（番号種別データ、キーデータ、加速度データ、処理結果データ）を無線通信モジュール３７へ送信する送信データとして一時的にメモリ５４２に格納する。ここで、通信部５４から無線通信モジュール３７への無線送信は、所定の周期毎に行われるが、ゲームの処理は１／６０秒を単位として行われることが一般的であるので、それよりも短い周期で送信を行うことが必要となる。具体的には、ゲームの処理単位は１６．７ｍｓ（１／６０秒）であり、短距離無線通信技術で構成される通信部５４の送信間隔は５ｍｓである。
【００４５】
マイクロコンピュータ５４１は、無線通信モジュール３７への送信タイミングが到来すると、メモリ５４２に格納されている送信データを一連の操作情報として出力し、無線モジュール５４３へ出力する。そして、無線モジュール５４３は、短距離無線通信技術の技術を用いて、所定周波数の搬送波を用いて操作情報をその電波信号としてアンテナ５４４から放射する。つまり、リモートコントローラ５，６を区別するための番号種別データ、リモートコントローラ５，６に設けられた操作部５１からのキーデータ、加速度センサ５２からの加速度データ、及び演算部５３からの処理結果データがコントローラ５，６から送信される。
【００４６】
そして、ゲーム装置本体３の無線通信モジュール３７でその電波信号を受信し、ゲーム装置本体３で当該電波信号を復調や復号することによって、ゲーム装置本体３のＣＰＵ３１は、一連の操作情報（番号種別データ、キーデータ、加速度データ、及び処理結果データ）をリモートコントローラ５，６から取得する。そして、ゲーム装置本体３のＣＰＵ３１は、取得した操作情報とゲームプログラムとに基づいて、オブジェクトを移動させる等のゲーム処理を行う。
【００４７】
このように構成されたゲームシステム１において、リモートコントローラ５，６を用いてゲームをプレイするためには、プレイヤは、一方の手（例えば右手）でリモートコントローラ５を把持し、もう一方の手（例えば左手）でリモートコントローラ６を把持する。一方、発光装置７からは２つの赤外光がそれぞれモニタ２の前方に向かって出力される。このため、２つの赤外光は、演算部５３を有するリモートコントローラ５，６の撮像対象となる。
【００４８】
そして、プレイヤは、各リモートコントローラ５，６の前面がモニタ２に向くようにリモートコントローラ５，６を動かすと、演算部５３に２つの赤外光が入射する。そして、赤外線フィルタ５３１及びレンズ５３２を介して、入射した赤外光を撮像素子５３３が撮像し、当該撮像画像を画像処理回路５３４が処理する。
【００４９】
ここで、演算部５３では、２つのＬＥＤモジュール７Ｒ，７Ｌから出力される赤外線成分を検出することで、撮像画像におけるＬＥＤモジュール７Ｒ，７Ｌの位置情報（対象画像の位置）や面積、直径、幅等のサイズ情報を取得する。
【００５０】
具体的には、既述のように、画像処理回路５３４は、撮像素子５３３が撮像した画像データを解析して、まず面積情報からＬＥＤモジュール７Ｒ，７Ｌからの赤外光ではあり得ない画像を除外し、さらに輝度が高い点をＬＥＤモジュール７Ｒ，７Ｌそれぞれの位置として判別する。そして、演算部５３は、判別されたそれらの輝点の位置情報を取得し、上記処理結果データとして出力する。
【００５１】
なお、図４は、撮像素子５３３が撮像した撮像画像の一例を示す図である。図４に示す撮像画像においては、ＬＥＤモジュール７Ｒ，７Ｌの画像７Ｒ’，７Ｌ’が左右に並んでいる。
【００５２】
ここで、上記処理結果データである位置情報は、撮像画像における所定の基準点（図４の左上隅）を原点とした座標値として出力するものとするが、所定のタイミングにおける輝点位置を基準点として、当該基準位置からの現在の輝点位置の差をベクトルとして出力するものでもよい。つまり、上記対象画像の位置情報は、撮像素子５３３が撮像した撮像画像に対して所定の基準点を設定した場合に、当該基準点に対する差として用いられるパラメータである。
【００５３】
ゲーム装置本体３では、リモートコントローラ５，６から得られた送信データに基づいて、ＬＥＤモジュール７Ｒ，７Ｌに対する演算部５３、すなわちリモートコントローラ５，６毎の動き、姿勢、位置等に応じた信号の変化量を得ることができる。そして、このようにして得られた情報に応じてポイント座標を算出し、モニタ２の表示画面２ｂに後述するポインタＰ１，Ｐ２（図６参照）が表示される。
【００５４】
このように、リモートコントローラ５，６の演算部５３によって、固定的に設置されたＬＥＤモジュール７Ｒ，７Ｌを撮像することによって、リモートコントローラ５，６から出力されるデータを処理してリモートコントローラ５，６の動き、姿勢、位置等に対応した操作が可能となり、プレイヤはゲームシステム１において所望の入力を行なうことができるようになる。
【００５５】
また、上述したように上記ＬＥＤモジュール７Ｒ，７Ｌは、モニタ２の表示画面２ｂの上部に設置されているため、ＬＥＤモジュール７Ｒ，７Ｌに対する位置をモニタ２の表示画面２ｂに対するコントローラの動き、姿勢、位置等に換算することも容易に行うことができる。
【００５６】
本実施形態のゲームシステム１は、上記のようにリモートコントローラ５，６を操作することにより、ゲーム画像に含まれるオブジェクトを移動させるための入力を行うものであるが、その入力を行うモードは２次元モード（第１入力モード）と３次元モード（第２入力モード）とがある。２次元モードは、仮想３次元空間にあるオブジェクトを未選択な状態であり、ポイント座標を画面上における２次元座標系として入力を行なうモードである。また、３次元モードは、仮想３次元空間にあるオブジェクトを選択している状態であり、オブジェクトが存在する仮想３次元空間における３次元座標系としてポイント座標の入力を行なうモードである。
【００５７】
また、ゲームシステム１は、通常は２次元モードであり、プイレヤからモード変更が指示されると３次元モードとなる。そして、再び、プイレヤからモード変更が指示されると２次元モードとなる。なお、モード変更は、プレイヤからの指示によらず、ゲームシステム１によって自動的に行われるようにしてもよい。例えば、ゲームシステム１によって実行されるゲームプログラムに基づいてゲームが進行して行き、ゲームステージ等のゲーム進行の状況に応じて、２次元モードと３次元モードのいずれかに自動的に移行されるようにしてもよい。
【００５８】
次に、図５を用いて、２次元モードから３次元モードへモード変更する処理及び３次元モードから２次元モードへモード変更する処理について説明する。図５は、ゲーム装置本体３のＣＰＵ３１が実行する処理を示すフローチャートである。なお、このフローチャートで実行される処理を実現するためのプログラムは、ゲーム装置本体３のメインメモリ３３に記憶される。
【００５９】
Ｓ１０１において、ＣＰＵ３１は、２次元モード、３次元モードのいずれにおいても、リモートコントローラ５，６の情報から画面２ｂ上の２次元座標を得る処理を行う。そして、２次元モードでは、ＣＰＵ３１は、各リモートコントローラ５，６の情報から得られた２次元座標をポイント座標とする処理を行う。
【００６０】
ステップＳ１０２において、ＣＰＵ３１は、リモートコントローラ５，６からモード変更の入力を検出したか否かを判定する。このモード変更の入力を検出しなければ（Ｓ１０２：ＮＯ）、ＣＰＵ３１は、２次元モードを続行する。
【００６１】
モード変更の入力の検出は、各リモートコントローラ５，６から入力される各ポイント座標間の距離が予め設定された所定距離（非常に短い距離に設定する。）以下となったときに行なわれる。つまり、プレイヤがリモートコントローラ５，６を操作して、表示画面２ｂ上に出力されている各ポインタＰ１，Ｐ２（図６参照）を移動させ、各ポインタＰ１，Ｐ２を重ね合わせることが、２次元モードから３次元モードへのモード変更の指示となる。このように、モニタ２の表示画面２ｂ上に表示されている各ポインタＰ１，Ｐ２を重ねることによりモード変更を行なうことができるので、プレイヤは、直感的にモード変更を行なうことができる。
【００６２】
一方、ＣＰＵ３１は、モード変更の入力を検出すると（Ｓ１０２：ＹＥＳ）、ステップＳ１０３において、２次元モードから３次元モードへモード変更し、３次元モードにおいて３次元座標系としてポイント座標を算出する処理を行う。この３次元モードにおいては、ＣＰＵ３１は、リモートコントローラ５，６から入力される２次元座標に基づいて、３次元座標系としてポイント座標を算出し、算出したポイント座標にオブジェクトを移動させる処理を行う。
【００６３】
なお、３次元モードにおけるポインタ座標の位置にポインタを表示せず、２次元モードのときと同様に、各リモートコントローラ５，６に応じた２次元座標に各ポインタＰ１，Ｐ２を表示することとしても良いが、例えば、３次元モードでは各ポインタＰ１，Ｐ２を表示せず、この各ポインタＰ１，Ｐ２と異なるポインタをポイント座標に新たに表示するようにしても良い。このようにすると３次元モードにモード変更中であることをプレイヤに視覚的に認識させることができるとともに、リモートコントローラ５，６に共通のポインタが１つとなるためプレイヤがポイント座標の位置を把握することが容易となる。
【００６４】
ステップＳ１０４において、ＣＰＵ３１は、リモートコントローラ５，６からのモード変更の入力を検出したか否かを判定する。このモード変更の入力を検出しなければ（Ｓ１０４：ＮＯ）、ＣＰＵ３１は、３次元モードを続行する。ＣＰＵ３１は、モード変更の入力を検出した場合は（Ｓ１０４：ＹＥＳ）、２次元モードへ移行するためにステップＳ１０１の処理へ戻る。
【００６５】
このモード変更の入力の検出は、リモートコンとローラ５の操作部５１（又は／及びリモートコントローラ６の操作部でも良い。）に設けられている所定のキー（操作ボタン）が押下されたときに行なわれる。
【００６６】
なお、ステップＳ１０２の２次元モードから３次元モードへのモード変更の検出は、操作部５１の所定のキーに２次元モードから３次元モードへモード変更を指示する機能を割り当てておき、そのキーの入力があったことをＣＰＵ３１が検出したときに２次元モードから３次元モードへモード変更されるようにしても良い。
【００６７】
また、操作部５１の所定のキーにモード変更を指示する機能を割り当てておき、その所定のキーの入力をＣＰＵ３１が検出していないとき（所定のキーを押していないとき）は２次元モードとなり、そのキーの入力をＣＰＵ３１が検出している間（所定のキーを押している状態のとき）は、３次元モードとなるようにしても良い。
【００６８】
次に、図６から図１０を用いて、２次元モードから３次元モードへモード変更するときの作用について説明する。図６は、リモートコントローラ５，６から入力される各２次元座標間の距離が所定距離以下となったときに、２次元モードから３次元モードへモード変更が行なわれることを説明するための図である。このとき、２つのポインタＰ１，Ｐ２が表示画面２ｂ上で重なるように表示される。
【００６９】
図６において、２次元モード時に、各ポインタＰ１，Ｐ２がモニタ２の表示画面２ｂ上で重なっている。つまり、各リモートコントローラ５，６の２次元座標間の距離が所定距離以下となっている。このように、各リモートコントローラ５，６から入力される各２次元座標が所定距離以下となると、ゲームシステム１は、２次元モードにおけるポイント座標の位置に表示されているオブジェクトを選択した状態となり、３次元モードへモード変更する。なお、図６におけるＲ２は、表示画面２ｂ上に投影されるオブジェクト（立方体）を示し、Ｒ３は、仮想３次元空間内におけるオブジェクトを概念的に示したものである。3次元モードでは、ポイント座標は、リモートコントローラ５，６から入力される各２次元座標ではなく、２つの２次元座標に基づいて算出される３次元座標を、リモートコントローラ５，６に共通のポイント座標Ｐ３とする。そして、３次元座標であるポイント座標Ｐ３にオブジェクトＲ３を移動する。
【００７０】
図７は、図６においてゲームシステム１が３次元モードに移行した後、オブジェクトをＺ方向へ移動するための入力を、プレイヤがどのようにリモートコントローラ５，６を操作して行なうかを説明するための図である。
【００７１】
３次元モードにモード変更したときは、リモートコントローラ５，６から入力される各２次元座標は所定距離以下となっている。この状態からプレイヤがリモートコントローラ５，６の先端を広げるように、具体的には、図７に示すように２次元モードであれば表示されるポインタＰ１，Ｐ２を可視化して説明すると、ポインタＰ１を右側に移動し、ポインタＰ２を左側に移動するように操作することにより、リモートコントローラ５，６から入力される各２次元座標間の距離が大きくなる。このとき、リモートコントローラから入力される各２次元座標間の距離から、オブジェクトの３次元座標に加える加算値ΔＺ（０，０，ΔＺ）を以下の式によって求める。リモートコントローラ５から入力される２次元座標を座標（Ｘ１，Ｙ１）、リモートコントローラ６から入力される２次元座標を座標（Ｘ２，Ｙ２）とすると、
【数１】
2010238015.tif 000003
ｋ：任意の正の係数
から求めることができる。
【００７２】
３次元モードにモード変更したときは、各リモートコントローラ５，６から入力される２次元座標間の距離は所定距離以下となっているため上記（１）式で求められる距離ΔＺは、“０”または“０”に近い数値となるが、プレイヤが、リモートコントローラ５，６の先端を、図７に示すように２次元モードであれば表示されるポインタＰ１，Ｐ２を可視化して説明すると、ポインタＰ１を右側、ポインタＰ２を左側となるように操作することにより、その先端の広がりに応じて各２次元座標の位置が離れるため、距離ΔＺの数値は大きくなる。したがって、その距離ΔＺの数値に応じてオブジェクト（Ｒ３）は、図７に示すように一点鎖線で示す位置（Ｘ，Ｙ，Ｚ）から奥側の実線で示すポインタ座標Ｐ３（Ｘ，Ｙ，Ｚ＋ΔＺ）までＺ方向に移動する。
【００７３】
一方、図８は、図６において３次元モードにモード変更した後、オブジェクトを−Ｚ方向へ移動させるための入力を、プレイヤがどのようにリモートコントローラ５，６を操作して行うかを説明するための図である。
【００７４】
３次元モードにモード変更したときの各２次元座標間の距離が所定距離以下となっている状態から、プレイヤがリモートコントローラ５，６の先端を図７とは逆方向に広げるように、具体的には、図８に示すように２次元モードであれば表示されるポインタＰ１，Ｐ２を可視化して説明すると、ポインタＰ１を左側に移動し、ポインタＰ２を右側に移動するように操作することにより、リモートコントローラ５，６から入力される各２次元座標間の距離が大きくなる。既述の図７で説明した場合と異なるのは、リモートコントローラ５，６から入力される各２次元座標のＸ方向の位置が入れ替わっている点である。すなわち、リモートコントローラ５から入力される２次元座標とリモートコントローラ６から入力される２次元座標とのＸ方向における位置関係が図７で説明した場合と逆になっている。このように、リモートコントローラ５から入力される２次元座標がリモートコントローラ６から入力される２次元座標よりＸ方向において左側に位置しているときは、（１）式のΔＺが負の値となり、オブジェクト（Ｒ３）は、その距離ΔＺの値に応じて図８に示すように、一点鎖線で示す位置（Ｘ，Ｙ，Ｚ）から手前側の実線で示すポインタ座標Ｐ３（Ｘ，Ｙ，Ｚ−ΔＺ）まで−Ｚ方向に移動する。
【００７５】
なお、距離ΔＺを求める方法を上記の式によらず、例えば、Ｙ座標の値は無視し、Ｘ座標の差のみによって求めるようにすると、ΔＺ＝ｋ（Ｘ１−Ｘ２）の式からポイント座標Ｐ３を求めることができる。
【００７６】
なお、図７及び図８で説明した場合は、いずれの場合もリモートコントローラ５，６の先端をＸ方向に均等に広げている。したがって、オブジェクトの位置を示す３次元座標の内、画面上の２次元座標系に並行なＸＹ座標は変化しない。
【００７７】
図６乃至図８を用いて、Ｚ方向又は−Ｚ方向へオブジェクトを移動させるための入力を行なう際の作用について説明したが、図９を参照して、Ｘ方向、Ｙ方向及びＺ方向へオブジェクトを移動させるための入力を行なうときの作用を説明する。
【００７８】
図９は、オブジェクトを、Ｘ方向、Ｙ方向及びＺ方向へ移動させるための入力を、プレイヤが、どのようにリモートコントローラ５，６を操作して行うかを説明するための図である。
【００７９】
ポイント座標Ｐ３のＸＹ座標は、リモートコントローラ５，６から入力される各２次元座標の中点Ｃとなる。リモートコントローラ５，６から入力される各２次元座標をそれぞれ座標（Ｘ１，Ｙ１）と座標（Ｘ２，Ｙ２）とすると、その中点は、
【数２】
2010238015.tif 000004
（２）式から求められる。
【００８０】
プレイヤは、リモートコントローラ５，６を、図９に示すように、右下方向へ移動する操作をすることにより、リモートコントローラ５，６から入力される各２次元座標が右下方向へ移動し、さらに、各２次元座標の中点Ｃも右下方向へ移動する。一方、Ｚ方向については、上記（１）式から距離ΔＺが算出され、図９に示すように、オブジェクト（Ｒ３）が一点鎖線で示す位置から実線で示す位置まで、距離ΔＺに応じた距離だけＺ方向に移動する。したがって、中点Ｃ（ＸＣ，ＹＣ）の移動に伴って、図９に示すように、オブジェクト（Ｒ３）が一点鎖線で示す位置（Ｘ，Ｙ，Ｚ）から実線で示すポイント座標Ｐ３（ＸＣ，ＹＣ，Ｚ＋ΔＺ）まで移動する。
【００８１】
このように、プイレヤは、リモートコントローラ５，６を操作して、オブジェクトをＸ方向、Ｙ方向及びＺ方向へ移動させるための入力を行なうことができる。
【００８２】
次に、オブジェクトを仮想３次元空間内で回転させるための入力を行なう場合の作用について説明する。図１０は、オブジェクトをＺ軸中心に回転させるための入力を、プレイヤが、どのようにリモートコントローラ５，６を操作して行うかを説明するための図である。
【００８３】
プレイヤがリモートコントローラ５，６を回転させると、リモートコントローラ５，６の加速度センサ５２が、それぞれの回転を検知する。このため、この検知した回転量に基づいて、リモートコントローラ５，６の回転量がゲーム装置本体３のＣＰＵ３１により算出される。
【００８４】
ここで、Ｚ軸方向を回転軸とし、リモートコントローラ５から入力される回転角度をω１、リモートコントローラ６から入力される回転角度をω２とすると、オブジェクトの回転角度θは、
【数３】
2010238015.tif 000005
ｈ：任意の係数
（３）式を用いて求めることができる。
【００８５】
プレイヤが、リモートコントローラ５，６を、図１０に示すように、それぞれ所定の角度左回りに回転する操作をすると、そのリモートコントローラ５，６から入力される回転角度ω１，ω２から、回転角度θが上記（３）式により求められる。
【００８６】
そして、その回転角度θに応じてオブジェクト（Ｒ３）は、図１０に示すように、一点鎖線で示す位置から実線で示す位置までＺ軸上を移動するとともに、Ｚ軸を中心に回転する。また、オブジェクトはＸ方向及びＹ方向についてはリモートコントローラ５，６から入力される各２次元座標の中点Ｃに移動するが、その説明は図９を参照して説明した場合と同様である。さらに、オブジェクトは、Ｚ方向については、リモートコントローラ５，６から入力される各２次元座標間の距離に応じて移動するが、その説明は図６乃至図８を参照して説明した場合と同様である。
【００８７】
したがって、プレイヤは、リモートコントローラ５，６を操作することにより、オブジェクトを容易に回転させるための入力を行なうことができるとともに、Ｘ方向、Ｙ方向及びＺ方向へ移動させるための入力も同時に直感的に行なうことができる。
【００８８】
なお、リモートコントローラ５，６の回転は、Ｚ軸方向を回転軸とするもののほかＸ軸やＹ軸を回転軸とするようにしても良い。この場合は、例えばリモートコントローラ５の操作部５１に回転軸を切替えるためのキーを設け、このキーの入力を行なうことにより、Ｚ軸、Ｘ軸、Ｙ軸と順次、回転軸が変更されるように構成する。また、オブジェクトを回転させるための入力を行なう場合に、新たに設定した軸を中心に回転するように構成しても良い。
【００８９】
そして、プレイヤは、所望の回転軸となるように操作部５１の上記キーを押下し、所望の回転軸に切替えた後に、リモートコントローラ５，６を回転させる操作をし、オブジェクトを回転させるための入力を行なう。このように回転軸を切り替える構成をゲームシステム１が有することで、Ｚ軸だけでなく、他の軸についてもオブジェクトの回転軸とすることができ、オブジェクトを回転させるための入力をゲームの態様に合わせて行なうことが可能となる。
【００９０】
以上説明したように、プレイヤは、リモートコントローラ５，６を同時に操作することにより、プレイヤは、３次元座標系における入力を、表示画面上の２次元座標系の入力のように直感的に行うことができる。
【００９１】
そして、プレイヤは、リモートコントローラ５，６を操作して３次元座標を入力することにより、オブジェクトをＸ方向、Ｙ方向、及びＺ方向（又は−Ｚ方向）に移動させるための入力及びオブジェクトを回転させるための入力を行なうことができる。
【００９２】
また、上記実施の形態では、１つのゲーム装置本体３と２つのリモートコントローラ５，６を有するゲームシステム１について説明したが、本発明が適用できるのはこれに限るものではない。例えば、２つのモニタと、４つのリモートコントローラとを有する二人プレイ用のアーケード用のゲームシステムにおいても適用できる。この場合、各プレイヤがそれぞれ２つのリモートコントローラを把持し、各プレイヤは、それぞれモニタ毎に２つのリモートコントローラを操作してオブジェクトを移動させる等の入力を行なう。
【００９３】
また、ポインティングデバイスはリモートコントローラである場合で説明したが、これに限られるものではない。例えば、入力装置をパーソナルコンピュータに適応した場合には、ポインティングデバイスとして、パーソナルコンピュータ等に無線又は有線で接続されるマウスを用いるようにしても良いし、また、指などの接触位置を検知するタッチパネルを用いるようにしても良い。
【符号の説明】
【００９４】
１・・・・・ゲームシステム
２・・・・・表示装置
２ｂ・・・・表示画面
３・・・・・ゲーム装置本体
３１・・・・ＣＰＵ
３７・・・・無線通信モジュール
４・・・・・光ディスク
５，６・・・リモートコントローラ
５３・・・・演算部
５３１・・・赤外線フィルタ
５３２・・・レンズ
５３３・・・撮像素子
５３４・・・画像処理回路
５４・・・・通信部
５４１・・・マイクロコンピュータ５４１
５４２・・・メモリ
５４３・・・無線モジュール
５４４・・・アンテナ
７・・・・・発光装置
Ｐ１，Ｐ２・・・ポインタ
Ｐ３・・・・・・ポイント座標
Ｒ２，Ｒ３・・・オブジェクト
【図１】
2010238015.tif 000006
【図２】
2010238015.tif 000007
【図３】
2010238015.tif 000008
【図４】
2010238015.tif 000009
【図５】
2010238015.tif 000010
【図６】
2010238015.tif 000011
【図７】
2010238015.tif 000012
【図８】
2010238015.tif 000013
【図９】
2010238015.tif 000014
【図１０】
2010238015.tif 000015