(57)【特許請求の範囲】
【請求項１】
ユーザの操作により撮影範囲が変化する撮影手段と、
前記撮影手段が現実空間を撮影することによって生成される現実空間画像と、前記撮影範囲に対応する視野が設定された視点から前記ユーザの操作対象が配置された仮想空間を見た様子を示す仮想空間画像と、に関する位置合わせ及び合成をして表示画面に表示させる表示制御手段と、
前記ユーザが前記操作対象の方向指示操作を行うための操作手段と、
前記ユーザにより行われた前記方向指示操作に対応する基本方向に基づいて前記操作対象を移動させる移動制御手段と、
前記現実空間画像が示す前記撮影範囲が変化したか否かを判定する判定手段と、
を含み、
前記移動制御手段は、
前記現実空間画像が示す前記撮影範囲が変化したと判定され、所定期間内に前記方向指示操作が行われた場合、前記現実空間画像が示す前記撮影範囲の変化内容に基づいて前記方向指示操作と前記基本方向との対応付けを変更し、当該変更後の対応付けと前記所定期間内に行われた方向指示操作とに基づいて前記操作対象を移動させる、
ことを特徴とする画像処理装置。
【請求項２】
前記移動制御手段は、
前記現実空間における前記現実空間画像が示す前記撮影範囲と、前記仮想空間における前記操作対象の位置と、の位置関係の変化が所定の条件を満たす場合、前記方向指示操作と前記基本方向との対応付けを変更する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記移動制御手段は、
前記方向指示操作と、前記仮想空間における前記視点の視点座標系とは異なる座標系で示される前記基本方向と、の対応付けを変更する、
ことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記移動制御手段は、
前記所定期間内に行われた前記方向指示操作に対応する前記基本方向に基づいて定まる前記操作対象の移動方向と、前記現実空間画像が示す前記撮影範囲の変化方向と、のずれを判定する手段と、
前記ずれが基準範囲である場合、前記ユーザにより行われた前記方向指示操作に対応する基本方向に基づいて前記操作対象を移動させる手段と、
前記ずれが基準範囲でない場合、前記現実空間画像が示す前記撮影範囲の変化内容に基づいて前記方向指示操作と前記基本方向との対応付けを変更し、当該変更後の対応付けと前記所定期間内に行われた方向指示操作とに基づいて前記操作対象を移動させる手段と、
を含むことを特徴とする請求項１〜３の何れか一項に記載の画像処理装置。
【請求項５】
ユーザの操作により撮影範囲が変化する撮影手段が現実空間を撮影することによって生成される現実空間画像と、前記撮影範囲に対応する視野が設定された視点から前記ユーザの操作対象が配置された仮想空間を見た様子を示す仮想空間画像と、に関する位置合わせ及び合成をして表示画面に表示させる表示制御ステップと、
前記ユーザが前記操作対象の方向指示操作を行うための操作手段から前記ユーザにより行われた前記方向指示操作に対応する基本方向に基づいて前記操作対象を移動させる移動制御ステップと、
前記現実空間画像が示す前記撮影範囲が変化したか否かを判定する判定ステップと、
を含み、
前記移動制御ステップにおいては、
前記現実空間画像が示す前記撮影範囲が変化したと判定され、所定期間内に前記方向指示操作が行われた場合、前記現実空間画像が示す前記撮影範囲の変化内容に基づいて前記方向指示操作と前記基本方向との対応付けを変更し、当該変更後の対応付けと前記所定期間内に行われた方向指示操作とに基づいて前記操作対象を移動させる、
ことを特徴とする画像処理装置の制御方法。
【請求項６】
ユーザの操作により撮影範囲が変化する撮影手段、
前記撮影手段が現実空間を撮影することによって生成される現実空間画像と、前記撮影範囲に対応する視野が設定された視点から前記ユーザの操作対象が配置された仮想空間を見た様子を示す仮想空間画像と、に関する位置合わせ及び合成をして表示画面に表示させる表示制御手段、
前記ユーザが前記操作対象の方向指示操作を行うための操作手段、
前記ユーザにより行われた前記方向指示操作に対応する基本方向に基づいて前記操作対象を移動させる移動制御手段、
前記現実空間画像が示す前記撮影範囲が変化したか否かを判定する判定手段、
を含み、
前記移動制御手段は、
前記現実空間画像が示す前記撮影範囲が変化したと判定され、所定期間内に前記方向指示操作が行われた場合、前記現実空間画像が示す前記撮影範囲の変化内容に基づいて前記方向指示操作と前記基本方向との対応付けを変更し、当該変更後の対応付けと前記所定期間内に行われた方向指示操作とに基づいて前記操作対象を移動させる、
ことを特徴とする画像処理装置としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、現実空間をカメラで撮影して得られる画像と、仮想空間を所与の視点から見た画像と、を重畳させて画面に表示させることによって、ユーザに拡張現実（ＡＲ：Augmented Reality）を提供する技術が知られている。
【０００３】
例えば、特許文献１及び特許文献２には、現実空間に配置されたマーカをカメラで撮影することによって、仮想空間に配置されるオブジェクトの表示位置等を決定する技術が記載されている。このような技術においては、仮想空間に配置されたユーザの操作対象（例えば、車等）が現実空間内を移動するような気分を、ユーザが味わうことができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−７２９０３号公報
【特許文献２】特開２０１０−１７０３１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記のような拡張現実の技術においては、ユーザがカメラを動かして現実空間の撮影範囲を変化させると、この変化に伴って仮想空間の視野も変化する。ユーザは、現実空間の撮影範囲を変化させつつ操作対象の操作を行う。ユーザがこれら２つの操作を同時に行うことは難しく、操作対象がユーザの意図しない方向に進んでしまう可能性がある。
【０００６】
本発明は上記課題に鑑みてなされたものであって、その目的は、拡張現実が提供されているユーザの操作補助をすることが可能な画像処理装置、画像処理装置の制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明に係る画像処理装置は、ユーザの操作により撮影範囲が変化する撮影手段と、前記撮影手段が現実空間を撮影することによって生成される現実空間画像と、前記撮影範囲に対応する視野が設定された視点から前記ユーザの操作対象が配置された仮想空間を見た様子を示す仮想空間画像と、に関する位置合わせ及び合成をして表示画面に表示させる表示制御手段と、前記ユーザが前記操作対象の方向指示操作を行うための操作手段と、前記ユーザにより行われた前記方向指示操作に対応する基本方向に基づいて前記操作対象を移動させる移動制御手段と、前記現実空間画像が示す前記撮影範囲が変化したか否かを判定する判定手段と、を含み、前記移動制御手段は、前記現実空間画像が示す前記撮影範囲が変化したと判定され、所定期間内に前記方向指示操作が行われた場合、前記現実空間画像が示す前記撮影範囲の変化内容に基づいて前記方向指示操作と前記基本方向との対応付けを変更し、当該変更後の対応付けと前記所定期間内に行われた方向指示操作とに基づいて前記操作対象を移動させる、ことを特徴とする。
【０００８】
本発明に係る画像処理装置の制御方法は、ユーザの操作により撮影範囲が変化する撮影手段が現実空間を撮影することによって生成される現実空間画像と、前記撮影範囲に対応する視野が設定された視点から前記ユーザの操作対象が配置された仮想空間を見た様子を示す仮想空間画像と、に関する位置合わせ及び合成をして表示画面に表示させる表示制御ステップと、前記ユーザが前記操作対象の方向指示操作を行うための操作手段から前記ユーザにより行われた前記方向指示操作に対応する基本方向に基づいて前記操作対象を移動させる移動制御ステップと、前記現実空間画像が示す前記撮影範囲が変化したか否かを判定する判定ステップと、を含み、前記移動制御ステップにおいては、前記現実空間画像が示す前記撮影範囲が変化したと判定され、所定期間内に前記方向指示操作が行われた場合、前記現実空間画像が示す前記撮影範囲の変化内容に基づいて前記方向指示操作と前記基本方向との対応付けを変更し、当該変更後の対応付けと前記所定期間内に行われた方向指示操作とに基づいて前記操作対象を移動させる、ことを特徴とする。
【０００９】
本発明に係るプログラムは、ユーザの操作により撮影範囲が変化する撮影手段、前記撮影手段が現実空間を撮影することによって生成される現実空間画像と、前記撮影範囲に対応する視野が設定された視点から前記ユーザの操作対象が配置された仮想空間を見た様子を示す仮想空間画像と、に関する位置合わせ及び合成をして表示画面に表示させる表示制御手段、前記ユーザが前記操作対象の方向指示操作を行うための操作手段、前記ユーザにより行われた前記方向指示操作に対応する基本方向に基づいて前記操作対象を移動させる移動制御手段、前記現実空間画像が示す前記撮影範囲が変化したか否かを判定する判定手段、を含み、前記移動制御手段は、前記現実空間画像が示す前記撮影範囲が変化したと判定され、所定期間内に前記方向指示操作が行われた場合、前記現実空間画像が示す前記撮影範囲の変化内容に基づいて前記方向指示操作と前記基本方向との対応付けを変更し、当該変更後の対応付けと前記所定期間内に行われた方向指示操作とに基づいて前記操作対象を移動させる、ことを特徴とする画像処理装置としてコンピュータを機能させる。
【００１０】
また、本発明に係る情報記憶媒体は、上記プログラムを記憶したコンピュータ読み取り可能な情報記憶媒体である。
【００１１】
本発明によれば、拡張現実が提供されているユーザの操作補助をすることが可能になる。
【００１２】
また、本発明の一態様では、前記移動制御手段は、前記現実空間における前記現実空間画像が示す前記撮影範囲と、前記仮想空間における前記操作対象の位置と、の位置関係の変化が所定の条件を満たす場合、前記方向指示操作と前記基本方向との対応付けを変更する、ことを特徴とする。
【００１３】
また、本発明の一態様では、前記移動制御手段は、前記方向指示操作と、前記仮想空間における前記視点の視点座標系とは異なる座標系で示される前記基本方向と、の対応付けを変更する、ことを特徴とする。
【００１４】
また、本発明の一態様では、前記移動制御手段は、前記所定期間内に行われた前記方向指示操作に対応する前記基本方向に基づいて定まる前記操作対象の移動方向と、前記現実空間画像が示す前記撮影範囲の変化方向と、のずれを判定する手段と、前記ずれが基準範囲である場合、前記ユーザにより行われた前記方向指示操作に対応する基本方向に基づいて前記操作対象を移動させる手段と、前記ずれが基準範囲でない場合、前記現実空間画像が示す前記撮影範囲の変化内容に基づいて前記方向指示操作と前記基本方向との対応付けを変更し、当該変更後の対応付けと前記所定期間内に行われた方向指示操作とに基づいて前記操作対象を移動させる手段と、を含むことを特徴とする。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係る携帯端末のハードウェア構成を示す図である。
【図２】ユーザが拡張現実を利用したゲームをプレイする様子を示す図である。
【図３】仮想空間の一例を示す図である。
【図４】表示部に表示されるゲーム画面の一例を示す図である。
【図５】方向指示操作に対応付けられた基本方向を説明するための図である。
【図６】携帯端末で実現される機能を示す機能ブロック図である。
【図７】マーカデータのデータ格納例を示す図である。
【図８】表示制御部による位置合わせの方法を説明するための図である。
【図９】撮影範囲の変化方向が取得される処理を説明するための図である。
【図１０】変更された方向指示操作と基本方向との対応付けを説明するための図である。
【図１１】方向指示操作と基本方向との対応付けが変更された場合に戦車の位置が制御される様子を示す図である。
【図１２】携帯端末が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。
【図１３】携帯端末が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。
【図１４】ゲーム画面における戦車の表示位置を説明するための図である。
【図１５】方向指示操作と基本方向との対応付けが変更されるための条件を示す図である。
【図１６】実施形態３の処理を説明するための図である。
【図１７】マーカレス方式の拡張現実を説明するための図である。
【発明を実施するための形態】
【００１６】
［１．実施形態］
以下、本発明に係る実施形態について図面に基づき詳細に説明する。本発明に係る画像処理は、例えば、家庭用ゲーム機（据置型ゲーム機）、携帯ゲーム機、業務用ゲーム機、携帯電話機等の携帯端末、又はパーソナルコンピュータを用いて実現される。ここでは、本発明の実施形態に係る画像処理装置を、携帯端末を用いて実現する場合について説明する。
【００１７】
［１−１．携帯端末のハードウェア構成］
図１は、本実施形態に係る携帯端末１０のハードウェア構成を示す図である。図１に示すように、携帯端末１０は、制御部１２、記憶部１４、主記憶部１６、表示部１８、操作キー部２０、タッチパネル２２、ＣＣＤカメラ２４、センサ部２６、通信部２８等を含み、例えば、各部はバス３０を介して接続される。なお、携帯端末１０のハードウェア構成は、図１の例に限られず、携帯端末１０は、公知の携帯端末に含まれる各種ハードウェア（例えば、ＳＤカードスロット等）を含んでいてもよい。
【００１８】
制御部１２は、記憶部１４に記憶されるオペレーティングシステムや、外部接続される各種記憶媒体（例えば、ＳＤカード等）に格納されるプログラムや通信部２８を介して取得される各種データに基づいて携帯端末１０の各部を制御する。
【００１９】
記憶部１４は、フラッシュメモリ等の不揮発性記憶媒体を含んで構成される。記憶部１４には、オペレーティングシステム等が記憶される。主記憶部１６は、例えば、ＲＡＭを含んで構成される。記憶部１４に記憶されたプログラム等は、必要に応じて主記憶部１６に書き込まれる。主記憶部１６は、制御部１２の作業用メモリとしても用いられる。
【００２０】
表示部１８は、一又は複数の公知の液晶表示パネルである。例えば、図示しないＶＲＡＭに描画された画像が表示部１８に表示される。操作キー部２０は、十字キーや各種ボタン等を含んで構成される。タッチパネル２２は、表示部１８に重畳するように配置され、外部からの接触位置を検出する。
【００２１】
ＣＣＤカメラ２４は、現実空間を撮影して画像を生成する。本実施形態においては、携帯端末１０の筺体内にＣＣＤカメラ２４が含まれており、ユーザが、携帯端末１０の位置や姿勢を変化させると、ＣＣＤカメラ２４の撮影範囲が変化する場合を説明する。なお、携帯端末１０とＣＣＤカメラ２４とが有線接続されている場合には、操作キー部２０やタッチパネル２２からのユーザの操作に基づいてＣＣＤカメラ２４の撮影範囲が変化するようにしてもよい。
【００２２】
センサ部２６は、ＧＰＳセンサ、ジャイロセンサ、電子コンパス（地磁気センサ）、加速度センサ等から構成される。通信部２８は、ネットワークを介して外部装置とデータ送受信を行う。
【００２３】
［１−２．ユーザに提供される拡張現実］
携帯端末１０は、ユーザに拡張現実を提供する。本実施形態においては、ＣＣＤカメラ２４が現実空間を撮影することによって生成される現実空間の画像（以降、現実空間画像という。）と、仮想空間を所与の視点から見た様子を示す画像（以降、仮想空間画像という。）と、が重畳されて表示部１８に表示されることによって、ユーザに拡張現実が提供される。また、本実施形態においては、ユーザが、拡張現実を利用したゲームをプレイする場合を説明する。
【００２４】
図２は、ユーザが拡張現実を利用したゲームをプレイする様子を示す図である。図２に示すように、例えば、ＣＣＤカメラ２４は、所定の模様４４が描かれたマーカ４０（検出対象）を撮影する。マーカ４０は、紙やフィルム等であり、例えば、ＣＣＤカメラ２４の視野内の任意の位置に配置される。例えば、図２の場合、マーカ４０は、現実空間の机の上に配置される。
【００２５】
本実施形態においては、マーカ４０が、所定の大きさの枠４２（例えば、正方形の枠）を有し、当該枠４２の中に所定の模様４４（例えば、左右非対称の模様４４）が描かれている場合を説明する。ここでは、図２に示すように、「Ｌ字型」の模様４４がマーカ４０に描かれている。
【００２６】
マーカ４０に描かれている模様４４を示すデータは、予め記憶部１４に記憶されている。携帯端末１０は、現実空間画像に含まれる模様４４と、記憶部１４に記憶された模様４４と、を公知の画像比較アルゴリズムに基づいて比較することによって、現実空間に配置されたマーカ４０の種別、位置、大きさ、及び模様４４の向きを特定する。
【００２７】
この特定された情報（例えば、マーカ４０の種別、位置、大きさ、及び模様４４の向き）は、仮想空間に配置されたオブジェクトを、表示部１８の画面において、どこにどのような大きさ又は向きで表示させるかを決定するために使用される。即ち、マーカ４０の種別、位置、大きさ、及び模様４４の向きを示す情報は、現実空間画像と仮想空間画像に関する位置合わせを行うために使用される。
【００２８】
図３は、仮想空間の一例を示す図である。本実施形態においては、仮想空間の一例として、戦場を模したゲーム空間５０（仮想３次元空間）が生成される場合を説明する。ゲームが開始されると、主記憶部１６にゲーム空間５０が生成される。ゲーム空間５０には、互いに直交する３軸（後述する仮想空間座標系）が設定される。ゲーム空間５０に配置される各オブジェクト及び後述する仮想カメラ５８の位置は、仮想空間に設定される３次元座標に基づいて定まる。
【００２９】
図３に示すように、ゲーム空間５０には、例えば、ユーザの操作に供される戦車を示すオブジェクトである戦車５２と、戦車５２の攻撃目標となる砦を示すオブジェクトである砦５４と、敵キャラクタを示すオブジェクトである敵５６と、が配置される。戦車５２は、ユーザの操作に基づいてゲーム空間５０を移動する。
【００３０】
また例えば、ユーザが所定の操作（例えば、タッチパネル２２をタップする等）を行うと、戦車５２は弾を発射する。戦車５２から弾が発射されると弾を示すオブジェクト（図示せず）が生成され、当該オブジェクトと敵５６とが衝突すると、砦５４や敵５６が消滅する。このように、ユーザは、戦車５２を操作して砦５４や敵５６を撃破することを目指す。
【００３１】
また、ゲーム空間５０には、仮想カメラ５８（視点）が設定される。仮想カメラ５８からゲーム空間５０を見た様子を示す仮想空間画像が、所定の時間間隔（例えば、ＣＣＤカメラ２４のフレームレートに基づいて定まる間隔と同じ間隔）で生成される。例えば、ゲーム空間５０に配置されるオブジェクトのうち、仮想カメラ５８の視野（視錘台）内のオブジェクトを示す仮想空間画像が生成される。ユーザは、仮想空間画像と現実空間画像とが合成されたゲーム画面を見ながらゲームをプレイする。ゲーム空間５０において戦車５２や敵５６が移動すると、ゲーム画面６０においては、戦車５２や敵５６が、現実空間の机の上を移動するように表示制御される。
【００３２】
図４は、表示部１８に表示されるゲーム画面の一例を示す図である。図４に示すように、ゲーム画面６０には、現実空間画像６２と仮想空間画像６４とが合成されて表示される。例えば、現実空間の机の上にマーカ４０が配置されている場合、ゲーム画面６０においては、現実空間の机の上に戦場が展開されるように、ゲーム空間５０に配置された各オブジェクトのゲーム画面６０における表示位置が決定される。即ち、現実空間画像６２と仮想空間画像６４とに関する位置合わせが行われる。
【００３３】
例えば、現実空間画像６２に表示される撮影範囲（領域）が移動すると、仮想空間画像６４に表示される仮想空間の範囲（領域）も移動する。例えば、ユーザが携帯端末１０の位置、向き、又は姿勢を変化させてＣＣＤカメラ２４の撮影範囲を変化させると、この変化に伴って仮想カメラ５８の撮影範囲も変化する。
【００３４】
本実施形態においては、ＣＣＤカメラ２４の位置と視線方向は、仮想カメラ５８の位置と視線方向に対応している。即ち、ＣＣＤカメラ２４の位置が変化すると、この位置変化と同じように仮想カメラ５８の位置も変化する。また、ＣＣＤカメラ２４の視線方向が変化すると、この変化した方向と同じ方向に仮想カメラ５８の視線方向も変化する。
【００３５】
例えば、図４に示すゲーム画面６０の場合、ユーザが戦車５２の後方に敵５６がいるか否かを確認するためには、例えば、ユーザは、携帯端末１０の向きを左に回転させることによって、ＣＣＤカメラ２４の視線方向を左に回転させる。ユーザがＣＣＤカメラ２４の視線方向を左に回転させると、仮想カメラ５８の視線方向も左に回転する。
【００３６】
また、図４に示すように、ゲーム画面６０には、ユーザが戦車５２の方向指示操作を行うための前進ボタン６６ａ、後退ボタン６６ｂ、左回転ボタン６６ｃ、右回転ボタン６６ｄ（これらをまとめて単にボタン６６ともいう。）が表示される。各ボタン６６が押下されたか否かは、タッチパネル２２からの検出信号に基づいて判定される。
【００３７】
ボタン６６には、それぞれ基本方向が対応付けられている。基本方向は、方向指示操作に予め対応付けられている方向である。戦車５２は、方向指示操作に対応する基本方向に基づいて移動する。即ち、ボタン６６に対応付けられた基本方向に基づいて、戦車５２の移動方向が決定される。
【００３８】
本実施形態においては、基本方向は、３次元のベクトルで表される場合を説明するが、基本方向は、２次元のベクトルで表されるようにしてもよい。また、ここでは、基本方向が、仮想カメラ５８を基準にした座標系ではなく、戦車５２を基準にした座標系（ローカル座標系。キャラクタ座標系ともいう。）で定義される場合を説明する。
【００３９】
図５は、方向指示操作に対応付けられた基本方向を説明するための図である。図５に示すように、戦車５２に基づいて設定されるローカル座標系（ＸＬＷ−ＹＬＷ−ＺＬＷ座標系）で表される方向が、基準方向として設定されている。ローカル座標系の原点ＯＬＷは、戦車５２の位置に基づいて定められる。
【００４０】
ユーザにより方向指示操作が行われた場合、ローカル座標系で表される基本方向が、公知の座標変換処理により、仮想空間座標系（ワールド座標系）のベクトルに変換されることによって、戦車５２の移動方向が特定される。
【００４１】
例えば、前進ボタン６６ａには、戦車５２の正面方向が基準方向Ｖａ（例えば、ＺＬＷ軸の正方向）として対応付けられている。例えば、前進ボタン６６ａが押下された場合、戦車５２は、戦車５２から見た正面方向に移動する。例えば、後退ボタン６６ｂには、戦車５２の背面方向が基準方向Ｖｂ（例えば、ＺＬＷ軸の負方向）として対応付けられている。例えば、後退ボタン６６ｂが押下された場合、戦車５２は、戦車５２から見た背面方向に移動する。
【００４２】
例えば、左回転ボタン６６ｃには、戦車５２から見て左方向が基準方向Ｖｃ（例えば、ＸＬＷ軸の負方向）として対応付けられている。例えば、左回転ボタン６６ｃが押下された場合、戦車５２は、戦車５２から見て左回りに回転する。例えば、右回転ボタン６６ｄには、戦車５２から見て右方向が基準方向Ｖｄ（例えば、ＸＬＷ軸の正方向）として対応付けられている。例えば、右回転ボタン６６ｄが押下された場合、戦車５２は、戦車５２から見て右回りに回転する。
【００４３】
例えば、ユーザは、戦車５２を前後に移動させたい場合、前進ボタン６６ａ又は後退ボタン６６ｂを押下する。また例えば、ユーザは、戦車５２を左右に移動させたい場合、左回転ボタン６６ｃ又は右回転ボタン６６ｄを押下して戦車５２を回転させた後に、前進ボタン６６ａ又は後退ボタン６６ｂを押下する。また例えば、ユーザは、戦車５２を斜めに旋回させながら移動させたい場合、前進ボタン６６ａ又は後退ボタン６６ｂ、及び、左回転ボタン６６ｃ又は右回転ボタン６６ｄを押下して戦車を移動させる。
【００４４】
このように、戦車５２を基準としたローカル座標系で基本方向が定義される場合、戦車５２と仮想カメラ５８との位置関係が異なれば、ユーザが同じ方向指示操作を行っても、ゲーム画面６０において戦車５２の移動方向が異なる。したがって、ユーザは、戦車５２の向きを考えながら方向指示操作を行わなければならず、戦車５２を動かす方向を誤ってしまう可能性がある。例えば、戦車５２が仮想カメラ５８の視野の外に出てしまい、ゲーム画面６０から戦車５２が消えてしまう可能性がある。
【００４５】
本実施形態の携帯端末１０は、ＣＣＤカメラ２４の撮影範囲が変化して現実空間画像６２が広がり、かつ、ボタン６６が押下された場合、方向指示操作と基本方向との対応付けを変更させることによって、戦車５２を現実空間画像６２が広がった方向に向けて移動させる。即ち、現実空間画像６２が広がった方向を、ユーザが戦車５２を動かしたい方向と考えることにより、ユーザの操作補助が行われる。
【００４６】
ここで、ユーザの操作補助を行う方法として、センサ部２６のジャイロセンサや加速度センサを用いて、例えば、携帯端末１０が傾いた方向に戦車５２を移動させることも考えられる。しかしながら、拡張現実を用いたゲームの性格上、仮想カメラ５８が戦車５２の移動に従動する訳ではないので、この方法では、やはり戦車５２がゲーム画面６０の表示領域から外れてしまう可能性がある。即ち、戦車５２が仮想カメラ５８の視野から外れてしまう。この場合、ユーザは、戦車５２を視認することができなくなってしまうので、ゲームをプレイすることが困難になってしまう。
【００４７】
そこで、本実施形態の携帯端末１０は、現実空間画像６２が広がった方向に戦車５２を移動させることによって、ゲーム画面６０から戦車５２が外れてしまうことを防止しつつ、ユーザの操作補助が行われる。以下、上記技術について詳細に説明する。
【００４８】
［１−３．ゲーム装置において実現される機能］
図６は、携帯端末１０で実現される機能を示す機能ブロック図である。図６に示すように、携帯端末１０は、拡張現実データ記憶部７０、撮影部７２、表示制御部７４、操作部７６、移動制御部７８、判定部８０を含む。これら各機能は、例えば、制御部１２が記憶部１４に記憶されたプログラムを実行することによって実現される。
【００４９】
［１−３−１．拡張現実データ記憶部］
拡張現実データ記憶部７０は、記憶部１４及び主記憶部１６を主として実現される。拡張現実データ記憶部７０は、ユーザに拡張現実を提供するために必要なデータを記憶する。例えば、拡張現実データ記憶部７０には、マーカ４０に関するマーカデータが記憶される。
【００５０】
図７は、マーカデータのデータ格納例を示す図である。図７に示すように、マーカデータには、例えば、マーカ４０の模様４４を示す画像データと、当該マーカ４０に関連付けられた拡張現実に関するデータと、が対応付けられる。マーカデータに格納される画像データは、現実空間に配置されるマーカ４０との比較対象として用いられる。即ち、マーカデータは、ユーザが拡張現実を利用するために必要なマーカ４０を定義するデータである。
【００５１】
拡張現実に関するデータとは、マーカデータに格納されたマーカ４０が検出された場合にユーザに提供すべき拡張現実の種別を識別するため情報である。例えば、本実態形態のように「Ｌ字型」の模様４４を有するマーカ４０が検出された場合には、ユーザが戦車５２を操作するゲームを用いた拡張現実が提供される。また例えば、別の模様４４のマーカ４０が検出された場合には、歌を歌いながら踊るキャラクタの立体映像がマーカ４０の周囲に表示されることによって拡張現実が提供される。
【００５２】
また、拡張現実データ記憶部７０には、ゲーム空間５０の現在の状況を示す仮想空間データが格納される。仮想空間データには、例えば、ゲーム空間５０に配置される各オブジェクトの位置、姿勢、向き、及び移動方向に関する情報と、仮想カメラ５８の視野に関する情報（例えば、位置及び視線方向）とが格納される。
【００５３】
仮想空間データに格納される各オブジェクトの位置は、ユーザの操作や所定のアルゴリズムに基づいて内容が更新される。また、本実施形態においては、仮想空間データに格納される仮想カメラ５８の位置や視線方向は、現実空間画像６２におけるマーカ４０の表示内容（例えば、表示位置、大きさ、及び向き）に基づいて決定される。
【００５４】
なお、制御部１２は、拡張現実データ記憶部７０に記憶される各種データを取得する手段として機能する。また、制御部１２は、拡張現実データ記憶部７０に記憶される各種データを変更（更新）する手段として機能する。また、拡張現実データ記憶部７０に記憶されるデータは、上記の例に限られず、他にも例えば、携帯端末１０がゲームを実行するために必要なデータ（ユーザの得点を示すデータや戦車５２の残り体力を示すデータ等）が記憶されていてもよい。
【００５５】
［１−３−２．撮影部］
撮影部７２は、制御部１２及びＣＣＤカメラ２４を主として実現される。撮影部７２は、ユーザの操作により撮影範囲が変化する。例えば、ユーザが撮影部７２の位置、向き、及び姿勢を変化させることによって撮影範囲が変化する。撮影範囲は、例えば、撮影部７２の位置及び視線方向に基づいて決定される。
【００５６】
撮影部７２は、例えば、検出対象（例えば、マーカ４０）が配置された現実空間を撮影する。撮影部７２により現実空間が撮影されることによって生成される現実空間画像を示す画像データは、例えば、拡張現実データ記憶部７０に一時的に記憶される。
【００５７】
［１−３−３．表示制御部］
表示制御部７４は、制御部１２を主として実現される。表示制御部７４は、撮影部７２が現実空間を撮影することによって生成される現実空間画像６２と、撮影範囲に対応する視野が設定された視点（例えば、仮想カメラ５８）からユーザの操作対象（例えば、戦車５２）が配置された仮想空間（例えば、ゲーム空間５０）を見た様子を示す仮想空間画像６４と、に関する位置合わせ及び合成をして表示画面（例えば、ゲーム画面６０）に表示させる。
【００５８】
現実空間画像６２と仮想空間画像６４とに関する位置合わせとは、仮想空間に配置されたオブジェクトをゲーム画面６０で表示させる場合の表示位置を決定するための処理である。別の言い方をすれば、現実空間画像６２と仮想空間画像６４とに関する位置合わせとは、ユーザに拡張現実を提供するために行われる現実空間と仮想空間との位置合わせ処理である。
【００５９】
撮影範囲に対応する視野とは、撮影部７２の撮影範囲に基づいて仮想カメラ５８の視野がさだまることを示す。例えば、表示制御部７４は、現実空間の座標系と撮影部７２の座標系との関係と、仮想空間の座標系と仮想カメラ５８の座標系の関係と、が対応するように仮想カメラ５８の制御を行うことによって、現実空間画像６２と仮想空間画像６４とに関する位置合わせを行う。
【００６０】
即ち、表示制御部７４は、現実空間の基準位置（例えば、マーカ４０の位置）と撮影部７２の撮影範囲（視野）との位置関係と、仮想空間の基準位置（例えば、仮想空間座標系の原点の位置）と仮想カメラ５８の視野との位置関係と、が対応するように仮想視点の制御を行うことによって、現実空間画像６２と仮想空間画像６４とに関する位置合わせを行う。ユーザが撮影部７２の撮影範囲を変更させた場合、表示制御部７４は、この変更に基づいて仮想カメラ５８の視野を変更させる。
【００６１】
本実施形態においては、表示制御部７４は、現実空間画像６２におけるマーカ４０の位置、大きさ、及び向きに基づいて、現実空間画像６２と仮想空間画像６４との位置合わせを行う場合を説明する。
【００６２】
図８は、表示制御部７４による位置合わせの方法を説明するための図である。図８に示すように、例えば、現実空間においては、マーカ４０の位置、大きさ、及び向きに基づいて現実空間座標系（ＸＲＷ−ＹＲＷ−ＺＲＷ座標系）が設定され、撮影部７２の位置、向き、及び姿勢（即ち、ＣＣＤカメラ２４の位置、向き、及び姿勢）に基づいて現実視点座標系（ＸＲＣ−ＹＲＣ−ＺＲＣ座標系）が設定される。
【００６３】
現実空間座標系は、現実空間に配置される物体の位置を表すための座標系であり、マーカ４０が基準となる座標系である。一方、現実視点座標系は、撮影部７２の視点と現実空間に配置される物体との関係を表すための座標系であり、撮影部７２が基準となる座標系である。
【００６４】
例えば、現実空間座標系の原点ＯＲＷは、マーカ４０の中心点に設定される。そして、ＸＲＷ軸方向が「Ｌ字型」の模様４４の短手方向に対応し、ＹＲＷ軸方向が「Ｌ字型」の模様の長手方向に対応する。ＺＲＷ軸方向は、ＸＲＷ軸方向とＹＲＷ軸方向の外積方向となる。
【００６５】
また例えば、現実視点座標系の原点ＯＲＣは、撮影部７２の視点の位置に設定される。そして、例えば、ＸＲＣ軸方向が現実空間画像６２の長手方向（即ち、撮影部７２から見て水平方向）に対応し、ＹＲＣ軸方向が現実空間画像６２の短手方向（即ち、撮影部７２から見て垂直方向）に対応する。また例えば、ＺＲＣ軸方向が、撮影部７２の視線方向に設定される。
【００６６】
現実空間座標系（ＸＲＷ−ＹＲＷ−ＺＲＷ座標系）は、回転及び平行移動することによって、現実視点座標系（ＸＲＣ−ＹＲＣ−ＺＲＣ座標系）に変換可能である。表示制御部７４は、現実空間画像６２におけるマーカ４０の表示内容（位置、大きさ、及び向き）に基づいて、現実空間座標系から現実視点座標系へ変換を行う場合の座標変換行例を算出する。
【００６７】
具体的には、まず、表示制御部７４は、公知の輪郭抽出処理に基づいて、現実空間画像６２のマーカ４０の枠４２を抽出する。マーカ４０の枠４２が抽出される際には、現実空間画像６２における枠４２の四隅の位置が特定されることによって、現実空間画像６２に表れるマーカ４０の位置が特定される。
【００６８】
そして、表示制御部７４は、抽出された枠４２内に描かれた模様４４と、マーカデータに格納された模様４４の画像データと、が比較するためのパターンマッチング処理を行うことによって、マーカ４０の種別、現実空間画像６２に表れるマーカ４０の大きさ、及び模様４４の向きを特定する。
【００６９】
そして、現実空間画像６２におけるマーカ４０の位置と、現実空間画像６２におけるマーカ４０の大きさとマーカデータに格納されたマーカ４０の大きさとのずれと、現実空間画像６２におけるマーカ４０の模様４４の向きとマーカデータに格納されたマーカ４０の模様４４の向きとのずれと、に基づいて、現実空間座標系から現実視点座標系へ変換する場合の回転成分と平行移動成分とが算出されることによって、座標変換行列が取得される。
【００７０】
この座標変換行列に基づいて、仮想空間座標系（ＸＶＷ−ＹＶＷ−ＺＶＷ座標系）を変換することによって、仮想視点座標系（ＸＶＣ−ＹＶＣ−ＺＶＣ座標系）が設定される。仮想空間座標系は、ゲーム空間５０に配置される各オブジェクトの位置を表すための座標系である。仮想視点座標系は、仮想カメラ５８と各オブジェクトとの位置関係を表すための座標系である。例えば、仮想カメラ５８の位置が、仮想視点座標系の原点ＯＶＣとなり、仮想カメラ５８の視線方向が、仮想視点座標系のＺｖｃ軸方向となる。
【００７１】
仮想空間座標系を、座標変換行列が示すように回転及び平行移動させると、仮想視点座標系が定まる。つまり、撮影部７２の視点の位置（例えば、原点ＯＲＣ）とマーカ４０の位置（例えば、原点ＯＲＷ）との位置関係と、仮想カメラ５８の位置（例えば、原点ＯＶＣ）と仮想空間座標系の原点Ｏｖｗとの位置関係と、が同じ位置関係になるように、仮想カメラ５８の位置及び視線方向が決定される。
【００７２】
上記のように、位置及び視線方向が決定された仮想カメラ５８からゲーム空間５０を見た様子を示す仮想空間画像６４と、現実空間画像６２と、が重畳されることによって、ゲーム画面６０における戦車５２の表示位置が決定される。
【００７３】
なお、マーカ４０を用いて拡張現実における仮想空間の物体の表示位置を決定する方法は、上記の例に限られず、公知の種々の手法を適用可能である。他にも例えば、現実空間の垂直方向に配置されたマーカ４０（例えば、壁や窓に張り付けられたマーカ４０）に基づいて仮想空間の物体の表示位置が決定されるようにしてもよいし、複数のマーカ４０を同時に検出することによって、仮想空間の物体の表示位置が決定されるようにしてもよい。
【００７４】
［１−３−４．操作部］
操作部７６は、制御部１２及びタッチパネル２２を主として実現される。操作部７６は、ユーザが操作対象（例えば、戦車５２）の方向指示操作を行うためのものである。例えば、操作部７６の検出信号に基づいてユーザの方向指示操作が検出される。
【００７５】
例えば、操作部７６は、タッチパネル２２から検出された信号に基づいて、ユーザによる方向指示操作が検出される。本実施形態においては、ユーザが複数のボタン６６の何れかを押下することによって、複数の方向指示操作を行う場合を説明する。これら複数の方向指示操作の各々には、基本方向が対応付けられている。
【００７６】
例えば、ゲーム制作者等によって、どの方向指示操作がどの基本方向に対応しているか、が予め定められている。本実施形態における基本方向は、操作対象の移動方向を特定するための方向であり、仮想視点座標系とは異なる座標系（例えば、ローカル座標系）で表される。即ち、仮想カメラ５８の位置と視線方向が異なった場合、仮想カメラ５８から見た基本方向の向きが異なるような座標系で基本方向が定義される。
【００７７】
なお、本実施形態においては、タッチパネル２２からの操作によって方向指示操作が行われる場合を説明するが、他にも例えば、操作キー部２０からの入力信号に基づいて方向指示操作が行われるようにしてもよい。この場合、操作部７６は、操作キー部２０により実現される。例えば、操作キー部２０の複数のボタンと複数の基本方向とが対応付けられる。
【００７８】
［１−３−５．移動制御部］
移動制御部７８は、制御部１２を主として実現される。移動制御部７８は、ユーザにより行われた方向指示操作に対応する基本方向に基づいて操作対象（例えば、戦車５２）を移動させる。例えば、移動制御部７８は、方向指示操作に対応する基本方向に基づいて戦車５２を移動させる。本実施形態においては、戦車５２が、ゲーム空間５０の所定平面上（例えば、ＸＶＷ−ＹＶＷ平面上）を移動する場合を説明する。
【００７９】
例えば、本実施形態のように、基本方向が戦車５２を基準としたローカル座標系で定義される場合、ローカル座標系と仮想空間座標系とを変換するための座標変換行列が、仮想空間データに格納された戦車５２の位置、向き、及び姿勢に基づいて適宜算出される。この座標変換行列に基づいて基本方向がローカル座標系から仮想空間座標系に変換されることによって、仮想空間座標系における戦車５２の移動方向が特定される。なお、ローカル座標系と仮想空間座標系とを変換する方法は、公知の種々の座標変換処理を適用可能である。
【００８０】
［１−３−６．判定部］
判定部８０は、制御部１２を主として実現される。判定部８０は、現実空間画像６２が示す撮影範囲が変化したか否かを判定する。現実空間画像６２が示す撮影範囲が変化したか否かは、例えば、現実空間画像６２の時系列的な変化に基づいて判定される。例えば、現実空間画像６２は、時系列的に拡張現実データ記憶部７０に記憶されており、一の現実空間画像６２と、当該現実空間画像６２よりも前に撮影された現実空間画像６２と、が比較（パターンマッチング）されることによって、現実空間画像６２が示す撮影範囲が変化したか否かが判定される。
【００８１】
また、本実施形態においては、例えば、所定期間（例えば、１秒間）において、現実空間画像６２が広がった領域（即ち、現実空間画像６２に新たに表れる現実空間の領域）が所定面積（所定画素数）以上であるか否かが判定されることによって、現実空間画像６２が示す撮影範囲が変化したか否かが判定される場合を説明する。即ち、所定期間において、現実空間画像６２に新たに表れた現実空間の領域が所定面積以上であるか否かが判定される。
【００８２】
なお、現実空間画像６２が示す撮影範囲が変化したか否かを判定する方法は、上記の例に限られず、種々の画像変化検出手法に基づいて、現実空間画像６２が示す撮影範囲が変化したか否かが判定されるようにしてもよい。例えば、現実空間画像６２に含まれる対象物を追跡することによって、現実空間画像６２が示す撮影範囲が変化したか否かが判定されるようにしてもよい。即ち例えば、現実空間画像６２のマーカ４０の表示位置が所定距離以上変化したか否かに基づいて、現実空間画像６２が示す撮影範囲が変化したか否かが判定されるようにしてもよい。
【００８３】
携帯端末１０においては、上記のように行われる判定部８０の判定結果に基づいて、図５を参照して説明した方向指示操作と基本方向との対応付けが変更される構成になっている。
【００８４】
具体的には、移動制御部７８は、現実空間画像６２が示す撮影範囲が変化したと判定され、所定期間内に方向指示操作が行われた場合、現実空間画像６２が示す撮影範囲の変化内容に基づいて方向指示操作と基本方向との対応付けを変更し、当該変更後の対応付けと所定期間内に行われた方向指示操作とに基づいて操作対象（例えば、戦車５２）を移動させる。
【００８５】
所定期間とは、現時点の所定間隔前から現時点までの間の期間であり、例えば、現実空間画像６２が示す撮影範囲が変化したと判定されてから現時点までの期間である。
【００８６】
現実空間画像６２が示す撮影範囲の変化内容とは、現実空間画像６２により示される撮影部７２の撮影範囲の変わり方であり、例えば、撮影範囲の変化方向又は撮影範囲の変化量である。ここでは、撮影範囲の変化方向に基づいて、方向指示操作と基本方向との対応付けが変更される場合を説明する。
【００８７】
撮影範囲の変化方向とは、例えば、現実空間画像６２として表れる撮影範囲（即ち、ゲーム画面６０に表示される領域）が広がった方向である。別の言い方をすれば、撮影範囲の変化方向とは、ＣＣＤカメラ２４の撮影範囲が移動した方向であり、ＣＣＤカメラ２４の位置又は視線方向が変化した方向と同意であり、仮想カメラ５８の視野（位置又は視線方向）が変化した方向とも言える。
【００８８】
撮影範囲の変化方向は、ゲーム画面６０上に設定される２次元のベクトル（スクリーン座標系のベクトル）で表現されてもよいし、現実空間座標系又は仮想空間座標系の３次元のベクトルで表現されてもよい。ここでは、現実空間画像６２が示す撮影範囲の変化方向が、現実空間座標系の３次元のベクトルで表現される場合を説明する。
【００８９】
現実空間画像６２が示す撮影範囲の変化方向は、現実空間画像６２の時系列的な変化に基づいて取得される。例えば、ユーザが撮影部７２の撮影範囲をユーザから見て左方向に変化させた場合、現実空間画像６２の左端部に対応する領域に新たに現実空間が表示されるので、この場合は、現実空間画像６２が示す撮影範囲の変化方向は左方向（例えば、ＸＲＷ軸方向）となる。
【００９０】
図９は、撮影範囲の変化方向が取得される処理を説明するための図である。図９に示すように、現実空間画像６２が示す撮影範囲の変化方向ＶＲＣは、現実空間画像６２が示す撮影範囲の変化後の撮影部７２の視線方向（即ち、実線で示すＺＲＣ軸方向）と変化前の撮影部７２の視線方向（即ち、破線で示すＺＲＣ軸方向）とのベクトル差を示す方向となる。
【００９１】
例えば、上記のように特定される撮影範囲の変化方向に基づいて、方向指示操作と基本方向との対応付けが変更される。例えば、方向指示操作と、現実空間画像６２が示す撮影範囲の変化方向に基づいて定まる方向と、が対応付けられるように変更される。撮影範囲の変化方向に基づいて定まる方向とは、ゲーム画面６０において、戦車５２の表示位置が現実空間画像６２が広がった方向に移動するための方向である。例えば、ユーザが右回転ボタン６６ｄを押下した場合であっても、戦車５２が左回転するように、方向指示操作と基本方向との対応付けが変更される。
【００９２】
図１０は、変更された方向指示操作と基本方向との対応付けを説明するための図である。図１０に示すように、現実空間画像６２が示す撮影範囲が変化する前の対応付けと、変化後の対応付けが変更される。例えば、図１０のように、ユーザがボタン６６のどれを押下しても撮影範囲の変化方向に戦車５２が移動するように、方向指示操作と基本方向との対応付けが変更される。撮影範囲の変化方向は、例えば、現実空間座標系の３次元ベクトルで表されるので、このベクトル値が座標変換されることによって、図１０に示す対応付けの「変化方向」のベクトルが特定される。
【００９３】
図１１は、方向指示操作と基本方向との対応付けが変更された場合に戦車５２の位置が制御される様子を示す図である。図１１に示すように、ユーザから見て左方向（例えば、ＸＲＷ軸方向）に現実空間画像６２が広がり（広がった領域を６２ａとして斜線で示す。）、左方向（例えば、ＸＶＷ軸正方向）又は右方向（例えば、ＸＶＷ軸負方向）を示す方向指示操作が入力された場合、戦車５２が、例えば、現実空間画像６２が広がった左方向に移動する。このように戦車５２を移動させることによって、現実空間画像６２が広がった方向に戦車５２を動かすことができる。
【００９４】
［１−４．携帯端末において実行される処理］
次に、携帯端末１０が実行する処理について説明する。図１２及び図１３は、携帯端末１０が実行する処理のうちの、本発明に関連する処理を主に示すフロー図である。制御部１２は、例えば、記憶部１４に記憶されるプログラムに従って、図１２及び図１３に示す処理を実行する。例えば、ゲームの開始指示が操作キー部２０から入力された場合、図１２及び図１３に示す処理が実行される。
【００９５】
図１２に示すように、まず、制御部１２は、ＣＣＤカメラ２４を起動して、現実空間画像６２を表示部１８に表示させる（Ｓ１）。次いで、制御部１２は、主記憶部１６にゲーム空間５０を生成する（Ｓ２）。Ｓ２においては、例えば、ゲーム空間５０内の各オブジェクトは予め定められた初期位置に配置される。また、Ｓ２の段階では、仮想カメラ５８はゲーム空間５０に配置されないようにしてもよい。
【００９６】
制御部１２は、現実空間画像６２にマーカ４０が含まれるか否かを判定する（Ｓ３）。Ｓ３においては、例えば、ＣＣＤカメラ２４より適宜得られる現実空間画像６２が参照され、マーカ４０の枠４２が抽出されるか否かによって、マーカ４０が含まれるか否かが判定される。
【００９７】
マーカ４０が含まれると判定された場合（Ｓ３；Ｙ）、制御部１２は、マーカ４０の枠４２内に描かれた模様４４と、マーカデータに格納された模様４４と、を比較することによって、所定のマーカ４０（マーカデータに格納されたマーカ４０）が検出されたか否かを判定する（Ｓ４）。本実施形態においては、「Ｌ字型」のマーカ４０が検出されたか否かが判定される。
【００９８】
所定のマーカ４０が検出されたと判定された場合（Ｓ４；Ｙ）、制御部１２は、現実空間画像６２におけるマーカ４０の表示位置を取得する（Ｓ５）。Ｓ５においては、例えば、マーカ４０の枠４２の四隅の表示位置が特定される。
【００９９】
制御部１２は、現実空間画像６２におけるマーカ４０の大きさと向きを取得する（Ｓ６）。Ｓ６においては、例えば、Ｓ５において特定されたマーカ４０の枠４２の四隅の位置関係と、マーカデータに格納されたマーカ４０の四隅の位置関係と、が比較されることによって、マーカ４０の大きさに関する情報が取得される。また例えば、現実空間画像６２におけるマーカ４０の模様４４と、マーカデータに格納された模様４４と、のずれに基づいて、マーカ４０の向きに関する情報が取得される。
【０１００】
制御部１２は、現実空間画像６２におけるマーカ４０の位置、大きさ、及び向きに基づいて仮想カメラ５８の位置及び視線方向を決定する（Ｓ７）。例えば、マーカ４０の位置、大きさ、及び向きに基づいて現実空間座標系から現実視点座標系への座標変換行列が算出される。そして、仮想空間座標系に当該座標変換行列を適用することによって、仮想視点座標系の原点ＯＶＣの位置及び３軸の向きが決定される。例えば、仮想視点座標系の原点ＯＶＣが仮想カメラ５８の位置として決定され、ＺＶＣ軸方向が仮想カメラ５８の視線方向に決定される。
【０１０１】
制御部１２は、ＣＣＤカメラ２４により生成される現実空間画像６２と、Ｓ７において位置及び視線方向が決定された仮想カメラ５８からゲーム空間５０を見た様子を示す仮想空間画像６４と、を合成してゲーム画面６０に表示させる（Ｓ８）。Ｓ７において仮想カメラ５８の位置及び視線方向が決定されることによって、現実空間画像６２と仮想空間画像６４との位置合わせが行われ、ゲーム画面６０における戦車５２の表示位置が決定されることになる。
【０１０２】
一方、マーカ４０が含まれると判定されない場合（Ｓ３；Ｎ）、所定のマーカ４０が検出されたと判定されない場合（Ｓ４；Ｎ）、制御部１２は、仮想空間画像６４をゲーム画面６０から消去し、「マーカが検出できません」等の所定のメッセージを表示部１８に表示させる（Ｓ９）。この場合、ユーザは、ＣＣＤカメラ２４の視野内にマーカ４０が含まれ、かつ、当該マーカ４０が検出可能な位置に表示されるように、携帯端末１０の位置や向きを変える。
【０１０３】
図１３に示すように、制御部１２は、現実空間画像６２が示す撮影範囲が変化したか否かを判定する（Ｓ１０）。例えば、直近に生成された現実空間画像６２と、当該現実空間画像６２の所定期間前に生成された現実空間画像６２と、がパターンマッチングされることによって、Ｓ１０の処理が実行される。また例えば、所定期間における現実空間画像６２のマーカ４０の表示位置の変化が所定距離以上であるか否かが判定されるようにしてもよい。
【０１０４】
現実空間画像６２が示す撮影範囲が変化したと判定されない場合（Ｓ１０；Ｎ）、制御部１２は、戦車５２の方向指示操作が入力されたか否かを判定する（Ｓ１１）。方向指示操作が入力されたと判定された場合（Ｓ１１；Ｙ）、制御部１２は、当該入力された方向指示操作に対応する基本方向に基づいて戦車５２を移動させる（Ｓ１２）。即ち、ユーザにより入力された方向指示操作に対応する基本方向が仮想空間座標系のベクトルに変換され、この変換された方向に戦車５２が移動するように、ゲーム空間５０の状況が更新される。
【０１０５】
一方、現実空間画像６２が示す撮影範囲が変化したと判定された場合（Ｓ１０；Ｙ）、制御部１２は、所定期間内に戦車５２の方向指示操作が入力されたか否かを判定する（Ｓ１３）。所定期間内に方向指示操作が入力されたと判定された場合（Ｓ１３；Ｙ）、制御部１２は、方向指示操作と基本方向との対応付けを変更する（Ｓ１４）。
【０１０６】
Ｓ１４においては、例えば、複数の方向指示操作の全てが、仮想空間座標系で表される撮影範囲の変化方向をローカル座標系に変換した方向に対応付けられるように、方向指示操作と基本方向との対応付けが変更される。Ｓ１４において変更された対応付けは、例えば、主記憶部１６に一時的に記憶される。
【０１０７】
制御部１２は、Ｓ１４で変更された対応付けに基づいて戦車５２を移動させる（Ｓ１５）。Ｓ１５においては、現実空間画像６２が示す撮影範囲の変化方向に戦車５２が移動するように、戦車５２の位置が制御される。例えば、仮想カメラ５８の視野が変化した方向に戦車５２が移動する。
【０１０８】
制御部１２は、Ｓ１４において戦車５２を移動させると、Ｓ１３で変更した対応付けを元に戻す（Ｓ１６）。制御部１２は、終了条件を満たすか否かを判定する（Ｓ１７）。終了条件は、本処理を終了するための予め定められた条件である。例えば、終了条件は、ゲームオーバーの条件や、ゲームの終了指示が入力されたか否か等である。
【０１０９】
終了条件を満たすと判定された場合（Ｓ１７；Ｙ）、処理は終了する。終了条件を満たすと判定されない場合（Ｓ１７；Ｎ）、処理はＳ３に戻る。
【０１１０】
以上説明した携帯端末１０によれば、現実空間画像６２が示す撮影範囲が変化し、所定期間内に方向指示操作が行われた場合、方向指示操作と基本方向との対応付けが変更されることによって、現実空間画像６２が広がった方向に戦車５２を移動させることができる。即ち、戦車５２がゲーム画面６０から外れることを防止し、ユーザの操作補助をすることができる。
【０１１１】
例えば、ジャイロセンサや加速度センサの検出信号に基づいて携帯端末１０が傾いた方向に戦車５２を移動させるような場合は、仮想カメラ５８の視野から戦車５２が外れてしまうので、戦車５２が見えなくなってしまう可能性がある。しかし、実施形態の携帯端末１０は、現実空間画像６２が広がった方向に戦車５２を移動させるので、ゲーム画面６０の表示領域から戦車５２がはみ出てしまうような誤操作をユーザが行った場合であっても、広がったスペースへ戦車５２を移動させ、ゲーム画面６０内におさまるように移動制御を行うことができ、ユーザの操作補助を効果的に行うことができる。
【０１１２】
［２．実施形態２］
次に、本発明に係る携帯端末１０の別の実施形態について説明する。実施形態１においては、現実空間画像６２が示す撮影範囲の変化方向に基づいて方向指示操作と基本方向との対応付けが変更される場合を説明した。実施形態２においては、戦車５２の表示位置に基づいて対応付けを変更する必要があるか否かを判定する。つまり、方向指示操作と基本方向との対応付けを変更する必要が低い状況においては、対応付けを変更せずに、元の対応付けのままユーザに方向指示操作を行わせる。
【０１１３】
実施形態２の携帯端末１０のハードウェア構成及び機能ブロックは、実施形態１と同様である。
【０１１４】
実施形態２の移動制御部７８は、現実空間における現実空間画像６２が示す撮影範囲と、仮想空間における操作対象（例えば、戦車５２）の位置と、の位置関係の変化が所定の条件を満たす場合、方向指示操作と基本方向との対応付けを変更する。所定の条件とは、現実空間画像６２が示す撮影範囲と戦車５２の位置との位置関係の変化に関する条件である。
【０１１５】
携帯端末１０においては、ＣＣＤカメラ２２の撮影範囲と仮想カメラ５８の視点とは対応しているので、現実空間画像６２が示す撮影範囲と戦車５２の位置との位置関係は、ゲーム画面６０における戦車５２の表示位置を示すものであり、例えば、ゲーム画面６０の中心点と戦車５２の表示位置との位置関係と同意である。
【０１１６】
例えば、ゲーム画面６０における戦車５２の表示位置の変化が所定の条件を満たすか否かに応じて、方向指示操作と基本方向との対応付けが変更されるか否かが決定される。
【０１１７】
図１４は、ゲーム画面６０における戦車５２の表示位置を説明するための図である。例えば、ゲーム画面６０の表示領域が複数に分割された各領域（中央領域６０ａ、左端部領域６０ｂ、上端部領域６０ｃ、右端部領域６０ｄ、下端部領域６０ｅ）の何れに戦車５２が表示されているか、によって方向指示操作と基本方向との対応付けが変更される。
【０１１８】
これら戦車５２の表示位置が、これら５つの領域をどのようにまたがって変化したか否かによって、方向指示操作と基本方向との対応付けが変更されるか否かが決定される。なお、図１４に示すＸＳ軸とＹＳ軸は、スクリーン座標系の座標軸である。上記の各領域は、スクリーン座標系により定義される。
【０１１９】
図１５は、方向指示操作と基本方向との対応付けが変更されるための条件を示す図である。図１５に示すように、例えば、現実空間画像６２が変化する前後で、ゲーム画面６０において戦車５２が表示されている領域の変化が満たす条件に応じて、方向指示操作と基本方向との対応付けが変更されるか否かが決定される。
【０１２０】
例えば、現実空間画像６２が変化することによって、中央領域６０ａから左端部領域６０ｂ〜下端部領域６０ｅの何れかに戦車５２の表示位置が移動した場合、戦車５２がゲーム画面６０から外れてしまいそうになるので、方向指示操作と基本方向との対応付けが変更されることによって、ユーザの操作補助が行われる。
【０１２１】
また例えば、現実空間画像６２が変化したが、中央領域６０ａ内に戦車５２の表示位置が留まっている場合、戦車５２がゲーム画面６０から外れる可能性は少ないので、方向指示操作と基本方向との対応付けは変更されない。
【０１２２】
また例えば、現実空間画像６２が変化することによって、左端部領域６０ｂ〜下端部領域６０ｅの何れかから中央領域６０ａに戦車５２の表示位置が移動した場合、戦車５２がゲーム画面６０から外れる可能性は少ないので、方向指示操作と基本方向との対応付けは変更されない。
【０１２３】
また例えば、現実空間画像６２が変化したが、左端部領域６０ｂ〜下端部領域６０ｅの何れかの内部に戦車５２の表示位置が留まっている場合、撮影範囲がそれほど変化していないため現実空間画像６２戦車５２がゲーム画面６０から外れる可能性は少ないので、方向指示操作と基本方向との対応付けは変更されない。
【０１２４】
また例えば、現実空間画像６２が変化することによって、左端部領域６０ｂ〜下端部領域６０ｅの何れかから他の左端部領域６０ｂ〜下端部領域６０ｅに戦車５２の表示位置が移動した場合、撮影範囲が大きく移動して戦車５２がゲーム画面６０から外れてしまいそうになるので、方向指示操作と基本方向との対応付けが変更されることによって、ユーザの操作補助が行われる。
【０１２５】
実施形態２においては、図１２及び図１３と同様の処理が実行されるが、Ｓ１４の処理が実行されるにあたり、現実空間における現実空間画像６２が示す撮影範囲と、仮想空間における戦車５２の位置と、の位置関係の変化が所定の条件を満たすか否かが判定される。
【０１２６】
例えば、対応付けを変更しないとされている条件を満たしている場合は、Ｓ１４〜Ｓ１６の処理に代えてＳ１２の処理が実行され、方向指示操作と基本方向との対応付けが変更されることなく、戦車５２の位置が制御される。一方、例えば、対応付けを変更するとされている条件を満たしている場合は、Ｓ１４〜Ｓ１６の処理が実行される。
【０１２７】
実施形態２の携帯端末１０によれば、戦車５２の表示位置の変化が満たす条件に基づいて方向指示操作と基本方向との対応付けを変更するか否かが決定される。したがって、例えば、戦車５２がゲーム画面６０からはみ出る可能性が低い状況やユーザが誤入力をする可能性が低い状況においては、対応付けを変更するとかえってユーザが戸惑ってしまう場合があるので、このような状況においては対応付けを変更しないようにすることができる。
【０１２８】
［３．実施形態３］
次に、本発明に係る携帯端末１０の別の実施形態について説明する。実施形態１及び実施形態２においては、全ての方向指示操作に対応付けられた基本方向が同じ方向に変更される場合を説明した。即ち、ユーザがボタン６６のどれを押下した場合であっても、現実空間画像６２が広がった方向に戦車５２が移動する場合を説明した。基本方向との対応付けが変更されるのは全ての方向指示操作ではなく一部の方向指示操作のみであってもよい。
【０１２９】
実施形態３の携帯端末１０のハードウェア構成及び機能ブロックは、実施形態１と同様である。
【０１３０】
実施形態３の移動制御部７８は、所定期間内に行われた方向指示操作に対応する基本方向に基づいて定まる操作対象（例えば、戦車５２）の移動方向と、現実空間画像６２が示す撮影範囲の変化方向と、のずれを判定する。例えば、所定期間内に行われた方向指示操作に対応付けられた基本方向が、仮想空間座標系のベクトル方向に変換され、戦車５２の移動方向が特定される。なお、この移動方向に戦車５２が移動するとは限らず、ここで特定される移動方向は、戦車５２が移動しようとしている方向といえる。
【０１３１】
戦車５２の移動方向と、現実空間画像６２が示す撮影範囲の変化方向（即ち、仮想カメラ５８の視野の変化方向と同意。）と、が比較される。ここでは、両者の方向のずれとして、２つのベクトルの余弦（ｃｏｓθ）が算出される。この余弦に応じて、方向指示操作と基本方向との対応付けを変更させるか否かが決定される。
【０１３２】
図１６は、実施形態３の処理を説明するための図である。図１６は、現実空間画像６２が左方向に広がり、方向指示操作としてボタン６６ａが押下された場合を示す。変更前の対応付けに基づいて定まる戦車５２の移動方向ＶＬＷ（即ち、戦車５２の正面方向）と、撮影範囲の変化方向ＶＲＣと、の両者のベクトルの余弦が比較的小さい場合は、両者のベクトルが互いに反対方向を向いていることを示している。
【０１３３】
即ち、ユーザが、現実空間画像６２が狭まった方向に戦車５２を移動させようとしており、ユーザが誤入力をしている可能性があるため、この場合は、方向指示操作と基本方向との対応付けが変更される。
【０１３４】
一方、変更前の対応付けに基づいて定まる戦車５２の移動方向と、撮影範囲の変化方向と、の両者のベクトルの余弦が比較的大きい場合は、両者のベクトルが互いに同じ方向を向いていることを示している。即ち、ユーザが、現実空間画像６２が広がった方向に戦車５２を移動させようとしているので、方向指示操作と基本方向との対応付けが変更されない。
【０１３５】
実施形態３の移動制御部７８は、ずれが基準範囲である場合、ユーザにより行われた方向指示操作に対応する基本方向に基づいて操作対象（例えば、戦車５２）を移動させる。例えば、余弦が基準範囲である場合（例えば、ｃｏｓθ＞−０．５）、方向指示操作と基本方向との対応付けの変更処理が制限され、元の対応付けのまま戦車５２を移動させる。この場合、現実空間画像６２が狭くなった方向に戦車５２を移動させようとしている訳ではないので、対応付けを変更する必要性が低いため、上記のように、対応付けが変更されない。
【０１３６】
また、実施形態３の移動制御部７８は、ずれが基準範囲でない場合、現実空間画像６２が示す撮影範囲の変化内容に基づいて方向指示操作と基本方向との対応付けを変更し、当該変更後の対応付けと所定期間内に行われた方向指示操作とに基づいて操作対象（例えば、戦車５２）を移動させる。例えば、余弦が基準範囲でない場合（例えば、ｃｏｓθ≦−０．５）、方向指示操作と基本方向との対応付けの変更処理が行われる。この場合、現実空間画像６２が狭くなった方向に戦車５２を移動させようとしているため、対応付けを変更して現実空間画像６２が広がった方向に戦車５２を移動させる。
【０１３７】
実施形態３においては、図１２及び図１３と同様の処理が実行されるが、Ｓ１４の処理が実行されるにあたり、所定期間内に行われた方向指示操作に対応する基本方向に基づいて定まる戦車５２の移動方向と、現実空間画像６２が示す撮影範囲の変化方向と、のずれが判定される。ずれが所定範囲であれば、処理はＳ１２に移行する。ずれが所定範囲でなければ、処理はＳ１４に移行する。
【０１３８】
実施形態３の携帯端末１０によれば、所定期間内に行われた方向指示操作に対応する基本方向に基づいて定まる戦車５２の移動方向と、現実空間画像６２が示す撮影範囲の変化方向と、のずれに応じて、方向指示操作と基本方向との対応付けを変更するか否かが決定される。例えば、過度に操作補助が行われるとかえってユーザが戸惑ってしまう場合があるので、現実空間画像６２が狭まった方向に戦車５２を移動させようとしている場合以外には、対応付けを変更しないようにすることによって、ユーザに戸惑わせることなく適度な操作補助を提供することができる。
【０１３９】
［４．変形例］
なお、本発明は、以上に説明した実施の形態に限定されるものではない。本発明の趣旨を逸脱しない範囲で、適宜変更可能である。
【０１４０】
（１）例えば、上記実施形態においては、現実空間画像６２が示す撮影範囲の変化方向が、現実空間座標系の３次元のベクトルで表される場合を説明したが、この変化方向は、ゲーム画面６０上に設定される２次元のベクトル（スクリーン座標系のベクトル）で表されてもよい。この場合、例えば、現実空間画像６２が広がった画素が配置されている方向が、撮影範囲の変化方向として取得される。
【０１４１】
この場合、撮影範囲の変化方向を示す２次元のベクトルを、Ｓ７で算出した座標変換行列で逆変換を行うことによって、ゲーム空間５０において戦車５２を移動させるべき方向（仮想空間座標系における３次元ベクトル）が特定される。この方向に戦車５２が移動するように、方向指示操作と基本方向との対応付けが変更されるようにすればよい。
【０１４２】
（２）また例えば、方向指示操作に対応する基本方向が、戦車５２を基準とするキャラクタ座標系で表現される場合を説明したが、基本方向は、仮想空間座標系で表現されるようにしてもよい。基本方向は、仮想視点座標系と異なる座標系で定義されるようにすればよい。なお、基本方向を仮想視点座標系で表現するようにしてもよい。
【０１４３】
（３）また例えば、実施形態においては、水平面上を戦車５２が移動する場合を説明したが、ユーザの操作対象が移動する範囲は、実施形態の例に限られない。例えば、操作対象は、ボールや鳥のようなものであってもよく、ユーザの操作によって仮想３次元空間を垂直方向に移動するようにしてもよい。
【０１４４】
（４）また例えば、方向指示操作と基本方向とを４つとして説明したが、方向指示操作と基本方向との数はこれに限られない。例えば、ユーザが８つの方向指示操作を入力できるようにしてもよい。
【０１４５】
（５）また例えば、実施形態においては、現実空間画像６２の変化方向に基づいて対応付けが変更される場合を説明したが、現実空間画像６２の変化量に基づいて対応付けが変更されるようにしてもよい。例えば、現実空間画像６２の変化量が所定範囲であるか否かに基づいて、方向指示操作に対応付けられる方向が異なるようにしてもよい。
【０１４６】
（６）また例えば、実行中のゲームの状況に応じて、方向指示操作に対応付けられる基本方向が異なるようにしてもよい。例えば、戦車５２の残り体力が多い場合は、現実空間画像６２が示す撮影範囲の変化方向にいる敵５６を移動方向としてもよいし、戦車の残り体力が少ない場合は、現実空間画像６２が示す撮影範囲の変化方向にある空きスペースの方向を移動方向とし、戦車５２を退避させるようにしてもよい。
【０１４７】
（７）また例えば、戦車５２の移動速度、移動ルート、戦車５２の向き、又は戦車５２の姿勢が、現実空間画像６２が示す撮影範囲の変化方向に基づいて決定されるようにしてもよい。
【０１４８】
例えば、戦車５２の移動速度が、戦車５２の現在位置とゲーム空間５０に配置されたオブジェクトの位置との位置関係と、現実空間画像６２が示す撮影範囲の変化方向と、に基づいて決定される。例えば、戦車５２の現在位置と、現実空間画像６２が示す撮影範囲の変化方向にいる敵５６の位置とが離れているほど、戦車５２の移動速度が速くなる。また例えば、現実空間画像６２が示す撮影範囲の変化量が大きいほど、戦車５２の移動速度が速くなるようにしてもよい。
【０１４９】
また例えば、戦車５２の移動ルートが、戦車５２の現在位置とゲーム空間５０に配置されたオブジェクトの位置との位置関係と、現実空間画像６２が示す撮影範囲の変化方向と、に基づいて決定される。例えば、戦車５２が、現実空間画像６２が示す撮影範囲の変化方向にいる敵５６と衝突しないように、移動ルートが決定される。
【０１５０】
また例えば、戦車５２の向き又は姿勢が、戦車５２の現在位置とゲーム空間５０に配置されたオブジェクトの位置との位置関係と、現実空間画像６２が示す撮影範囲の変化方向と、に基づいて決定される。例えば、戦車５２の正面が、現実空間画像６２が示す撮影範囲の変化方向にいる敵５６の方向を向くように、戦車５２の向き又は姿勢が決定される。
【０１５１】
（８）また例えば、ユーザに拡張現実を提供する方法として、マーカ４０を用いた方法を例に挙げて説明したが、拡張現実を手供する方法は、上記の例に限られない。ユーザに拡張現実を提供する方法自体は、他にも公知の種々の手法が適用可能であり、例えば、下記の方法を適用することができる。
【０１５２】
（８−１）例えば、マーカ４０にかえて可視光を発する物体（例えば、ＬＥＤ）が検出対象として用いられるようにしてもよい。即ち、ＬＥＤ等を用いた可視光をＣＣＤカメラ２４で撮影することによって、拡張現実が提供されるようにしてもよい。可視光を用いて拡張現実が提供される方法としては、例えば、下記の２つの方法がある。
【０１５３】
まず、第１の方法としては、ＬＥＤを所定の法則に基づいて並べることによって、実施形態のようにマーカ４０を用いた方法と同様の方法で座標変換行列を算出する方法が挙げられる。この場合、例えば、マーカ４０の枠４２の四隅の位置にＬＥＤを配置する。例えば、ＣＣＤカメラ２４によりこれら４つのＬＥＤを撮影し、ＬＥＤの発光位置のずれ（歪み）が検出されることによって、ＣＣＤカメラ２４とＬＥＤとの位置関係が取得される。即ち、座標変換行列が取得される。以降の処理は、実施形態と同様であるので説明を省略する。
【０１５４】
また、第２の方法として、ＬＥＤの点灯と消灯が繰り返えされることによって、所定のデジタルデータを疑似的に表現する方法が挙げられる。例えば、ＬＥＤが点灯している場合には「１」とし、ＬＥＤが消灯している場合には「０」とする。ＬＥＤを連続撮影して得られる現実空間画像に基づいて得られるデジタルデータが、ＬＥＤの位置、発光方向を示すように、ＬＥＤの点灯と消灯を制御することによって、実施形態と同様の座標変換行列が取得されるようにしてもよい。以降の処理は、実施形態と同様であるので説明を省略する。
【０１５５】
（８−２）また例えば、現実空間にマーカ４０を配置せずに、現実空間画像６２に含まれる物体から特徴点を抽出することによって、拡張現実が提供されるようにしてもよい。即ち、いわゆるマーカレス方式の拡張現実が採用されるようにしてもよい。この場合、現実空間に配置される物体（又は、その特徴点）が、検出対象となる。
【０１５６】
図１７は、マーカレス方式の拡張現実を説明するための図である。図１７に示すように、例えば、現実空間に配置された物体の特徴点（例えば、机の輪郭やコップの縁）を、公知の特徴点抽出法（例えば、画像マッチングを用いたコーナー検出法等）により抽出する。例えば、現実空間に配置された机の輪郭を特徴点Ｑ１〜Ｑ４とし、机の接地点を特徴点Ｑ５〜Ｑ８とする。
【０１５７】
ＣＣＤカメラ２４の位置又は視線方向が変化する場合、この特徴点Ｑ１〜Ｑ８の位置変化（変化量及び変化方向）をトラッキングすることによって、ＣＣＤカメラ２４の位置と視線方向が算出される。ＣＣＤカメラ２４の位置と視線方向が算出された後は、実施形態と同様に座標変換行列が算出されることによって、拡張現実が提供される。
【０１５８】
（８−３）また例えば、センサ部２６を用いることによって、マーカ４０を用いずに拡張現実が提供されるようにしてもよい。変形例（８−３）においては、現実空間における撮影部７２（例えば、ＣＣＤカメラ２４）の位置、向き、及び姿勢を検出する装置検出手段が、制御部１２及びセンサ部２６を主として実現される。
【０１５９】
例えば、センサ部２６が、ＧＰＳセンサ、電子コンパス（地磁気センサ）、及びジャイロセンサを含んで構成される場合、例えば、ＧＰＳセンサから得られる信号に基づいてＣＣＤカメラ２４の現実空間における位置が取得される。また、電子コンパスから得られる信号に基づいてＣＣＤカメラ２４の向きが取得される。また、ジャイロセンサにより得られる信号に基づいてＣＣＤカメラ２４の姿勢が取得される。
【０１６０】
変形例（８−３）の表示制御部７４は、装置検出手段の検出結果（例えば、現実空間における携帯端末１０の位置、向き、及び姿勢）に基づいて、現実空間画像６２と仮想空間画像６４との位置合わせ及び合成を行う。
【０１６１】
例えば、表示制御部７４は、現実空間におけるＣＣＤカメラ２４の位置、向き、及び姿勢に基づいて、現実空間におけるＣＣＤカメラ２４の位置と視線方向とを算出する。即ち、現実視点座標系の原点ＯＶＣと３軸の向きが特定される。そして、現実空間座標系（ここではマーカ４０がないので、例えば、現実空間の任意の位置（例えば、ＧＰＳセンサの原点）に設定される座標系）と、現実視点座標系と、のずれに基づいて、実施形態と同様に座標変換行列が算出される。
【０１６２】
また、変形例（８−３）においては、図１１と同様の処理が実行されるが、ユーザに拡張現実を提供する方法としてＳ３〜Ｓ６の処理に代えて、センサ部２６により、携帯端末１０の位置、向き、及び姿勢が検出される。そして、センサ部２６の検出結果（即ち、携帯端末１０の位置、向き、及び姿勢）に基づいて、現実空間におけるＣＣＤカメラ２４の位置及び視線方向が特定される。即ち、Ｓ７と同様に、現実空間座標系と現実視点座標系との関係が特定されることによって、ユーザに拡張現実が提供される。
【０１６３】
なお、現実空間におけるＣＣＤカメラ２４の位置、向き、及び姿勢を検出する方法は、公知の種々の手法を適用可能である。上記の他にも例えば、無線ＬＡＮのアクセスポイントから発信される電波を使用して位置を測定するようにしてもよい。この場合、各アクセスポイントが設置されている場所がデータベースとして登録されている。また例えば、ＧＰＳ電波を発信する小型の基地局を屋内に設置するいわゆるＩＭＥＳ（Indoor Messaging System）を用いて携帯端末１０の位置が取得されるようにしてもよい。
【０１６４】
（９）また例えば、本発明は、実施形態や変形例において説明したゲーム以外の拡張現実にも適用することができる。例えば、ユーザの操作対象になるものは戦車の例に限られず、車やキャラクタが操作対象として仮想空間に配置されるようにしてもよい。即ち、例えば、車が走るレースコースやキャラクタが現実空間の机の上をステージにして歌やダンスをするような拡張現実が提供されるようにしてもよい。この場合、実施形態や変形例と同様の方法を用いて、車やキャラクタの位置の制御を、現実空間画像が示す撮影範囲の変化方向に基づいて行うようにすればよい。
【符号の説明】
【０１６５】
１０  携帯端末、１２  制御部、１４  記憶部、１６  主記憶部、１８  表示部、２０  操作キー部、２２  タッチパネル、２４  ＣＣＤカメラ、２６  センサ部、２８  通信部、３０  バス、４０  マーカ、４２  枠、４４  模様、５０  ゲーム空間、５２  戦車、５４  砦、５６  敵、５８  仮想カメラ、６０  ゲーム画面、６２  現実空間画像、６４  仮想空間画像、６６ａ  前進ボタン、６６ｂ  後退ボタン、６６ｃ  左回転ボタン、６６ｄ  右回転ボタン、７０  拡張現実データ記憶部、７２  撮影部、７４  表示制御部、７６  操作部、７８  移動制御部、８０  判定部。
【図１】
0005350427.tif 000002
【図２】
0005350427.tif 000003
【図３】
0005350427.tif 000004
【図４】
0005350427.tif 000005
【図５】
0005350427.tif 000006
【図６】
0005350427.tif 000007
【図７】
0005350427.tif 000008
【図８】
0005350427.tif 000009
【図９】
0005350427.tif 000010
【図１０】
0005350427.tif 000011
【図１１】
0005350427.tif 000012
【図１２】
0005350427.tif 000013
【図１３】
0005350427.tif 000014
【図１４】
0005350427.tif 000015
【図１５】
0005350427.tif 000016
【図１６】
0005350427.tif 000017
【図１７】
0005350427.tif 000018