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