(57)【特許請求の範囲】
【請求項１】
携帯情報機器であって、
当該携帯情報機器の位置および姿勢の変化を検出する検出部と、
撮像部と、
前記撮像部によって撮像される画像を表示する表示部と、
所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第１の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出し、
前記撮像部によって撮像された第２の画像を前記表示部に表示させる場合に、前記第１の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第２の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第２の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出し、前記第２の画像の当該予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させる制御部と
を備え、
前記制御部は、前記予測位置が、前記仮想情報が前記第２の画像に重畳されない位置にある場合に、前記予測位置がどの方向に存在するかを示すガイドを前記表示部に表示させることを特徴とする携帯情報機器。
【請求項２】
前記制御部は、前記第２の画像を前記表示部に表示させる場合に、前記第２の画像の前記予測位置に対応する位置に前記予測位置に応じた大きさで前記仮想情報を重畳して表示させることを特徴とする請求項１に記載の携帯情報機器。
【請求項３】
前記制御部は、前記第１の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な姿勢である基準姿勢を算出し、
前記第２の画像を前記表示部に表示させる場合に、前記第１の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記第２の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記基準姿勢とに基づいて、前記第２の画像の撮像時における前記マーカの予測姿勢を算出し、前記第２の画像の前記予測位置に対応する位置に前記予測姿勢に基づいて姿勢を設定した前記仮想情報を重畳して表示させることを特徴とする請求項１または２に記載の携帯情報機器。
【請求項４】
操作を受け付ける操作部をさらに有し、
前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報を変化させて表示させることを特徴とする請求項１から３のいずれか１項に記載の携帯情報機器。
【請求項５】
前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の大きさを変化させて表示させることを特徴とする請求項４に記載の携帯情報機器。
【請求項６】
前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の位置を変化させて表示させることを特徴とする請求項４または５に記載の携帯情報機器。
【請求項７】
他の装置と通信を行う通信部をさらに備え、
前記制御部は、前記通信部による通信を介して前記仮想情報を前記他の装置から取得することを特徴とする請求項１から６のいずれか１項に記載の携帯情報機器。
【請求項８】
前記仮想情報は、３次元モデルデータに基づいて生成される３次元オブジェクトであり、
前記制御部は、前記第２の画像に前記仮想情報を重畳して表示させる場合に、予め取得されている前記３次元モデルデータに基づいて前記仮想情報を生成することを特徴とする請求項１から７のいずれか１項に記載の携帯情報機器。
【請求項９】
当該携帯情報機器の位置および姿勢の変化を検出する検出部と、撮像部と、前記撮像部によって撮像される画像を表示する表示部とを備える携帯情報機器に、
所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第１の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出するステップと、
前記撮像部によって撮像された第２の画像を前記表示部に表示させるステップと、
前記第１の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第２の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第２の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出するステップと、
前記第２の画像の前記予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させるステップと、
前記予測位置が、前記仮想情報が前記第２の画像に重畳されない位置にある場合に、前記予測位置がどの方向に存在するかを示すガイドを前記表示部に表示させるステップと
を実行させることを特徴とする仮想情報表示プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯情報機器および仮想情報表示プログラムに関する。
【背景技術】
【０００２】
近年、現実空間の映像をコンピュータで処理して更なる情報を付加する拡張現実（ＡＲ：Augmented reality）技術が注目されている。現実空間の映像に情報を付加する方式の１つとして、現実空間に可視のマーカ（仮想情報タグ）を設置し、撮像装置で撮像した画像を解析することでマーカを検出し、検出したマーカ上に仮想情報（付加情報）を重畳した画像を表示する方式が知られている（例えば、非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【非特許文献１】加藤博一、他３名、「マーカ追跡に基づく拡張現実感システムとそのキャリブレーション」、日本バーチャルリアリティ学会論文誌、Ｖｏｌ．４、Ｎｏ．４、ｐｐ．６０７−６１６、１９９９年
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、撮像された画像内のマーカ上に仮想情報を重畳するには、マーカ全体が画像に写っている必要がある。例えば、撮像装置の向きを変更してマーカの一部が撮像範囲から外れた場合、撮像された画像を解析してもマーカを検出することができないために、仮想情報を画像に重畳して表示することができなくなる。
【０００５】
本発明は、マーカ全体が画像に写っていない場合でもマーカに対応する位置に仮想情報を表示させることができる携帯情報機器および仮想情報表示プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係る携帯情報機器は、当該携帯情報機器の位置および姿勢の変化を検出する検出部と、撮像部と、前記撮像部によって撮像される画像を表示する表示部と、所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第１の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出し、前記撮像部によって撮像された第２の画像を前記表示部に表示させる場合に、前記第１の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第２の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第２の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出し、前記第２の画像の当該予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させる制御部とを備える。
【０００７】
ここで、前記制御部は、前記第２の画像を前記表示部に表示させる場合に、前記第２の画像の前記予測位置に対応する位置に前記予測位置に応じた大きさで前記仮想情報を重畳して表示させることが好ましい。
【０００８】
また、前記制御部は、前記第１の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な姿勢である基準姿勢を算出し、前記第２の画像を前記表示部に表示させる場合に、前記第１の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記第２の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記基準姿勢とに基づいて、前記第２の画像の撮像時における前記マーカの予測姿勢を算出し、前記第２の画像の前記予測位置に対応する位置に前記予測姿勢に基づいて姿勢を設定した前記仮想情報を重畳して表示させることが好ましい。
【０００９】
また、前記制御部は、前記予測位置が、前記仮想情報が前記第２の画像に重畳されない位置にある場合に、前記予測位置がどの方向に存在するかを示すガイドを前記表示部に表示させることが好ましい。
【００１０】
また、前記携帯情報機器は、操作を受け付ける操作部をさらに有し、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報を変化させて表示させることが好ましい。例えば、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の大きさを変化させて表示させることとしてもよい。また、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の位置を変化させて表示させることとしてもよい。
【００１１】
また、前記携帯情報機器は、他の装置と通信を行う通信部をさらに備え、前記制御部は、前記通信部による通信を介して前記仮想情報を前記他の装置から取得することが好ましい。
【００１２】
また、前記仮想情報は、３次元モデルデータに基づいて生成される３次元オブジェクトであり、前記制御部は、前記第２の画像に前記仮想情報を重畳して表示させる場合に、予め取得されている前記３次元モデルデータに基づいて前記仮想情報を生成することが好ましい。
【００１３】
また、上述した課題を解決し、目的を達成するために、本発明に係る仮想情報表示プログラムは、端末の位置および姿勢の変化を検出する検出部と、撮像部と、前記撮像部によって撮像される画像を表示する表示部とを備える携帯情報機器に、所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第１の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出するステップと、前記撮像部によって撮像された第２の画像を前記表示部に表示させるステップと、前記第１の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第２の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第２の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出するステップと、前記第２の画像の前記予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させるステップとを実行させる。
【発明の効果】
【００１４】
本発明は、マーカ全体が画像に写っていない場合でもマーカに対応する位置に仮想情報を表示させることができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、本実施例に係る携帯情報機器の外観を示す正面図である。
【図２】図２は、本実施例に係る携帯情報機器の機能的な構成を示すブロック図である。
【図３】図３は、マーカの一例を示す図である。
【図４】図４は、撮像部によって撮像された画像に含まれるマーカの一例を示す図である。
【図５】図５は、仮想情報として表示される３次元オブジェクトの一例を示す図である。
【図６】図６は、本実施例に係る携帯情報機器による仮想情報表示処理の処理手順を示す図である。
【図７】図７は、オンラインショッピングで購入しようとしている商品を仮想情報として表示させる例を示す図である。
【図８】図８は、３次元オブジェクトの位置を変更する例を示す図である。
【図９】図９は、３次元オブジェクトの大きさを変更する例を示す図である。
【発明を実施するための形態】
【００１６】
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、携帯情報機器の一例として携帯電話機について説明するが、本発明の適用対象は携帯電話機に限定されるものではなく、例えば、ＰＨＳ（Personal Handyphone System）、ＰＤＡ、ポータブルナビゲーション装置、ノートパソコン、ゲーム機等に対しても本発明は適用できる。
【実施例】
【００１７】
まず、図１を参照しながら、本実施例に係る携帯情報機器１の外観について説明する。図１は、携帯情報機器１の外観を示す正面図である。図１に示すように、携帯情報機器１の筐体１Ｃは、ヒンジ機構８によって開閉可能に連結された第１筐体１ＣＡと第２筐体１ＣＢとを備える。すなわち、携帯情報機器１は、折り畳み式の筐体を有する。
【００１８】
なお、携帯情報機器１の筐体は、このような構造に限定されるものではない。例えば、携帯情報機器１の筐体は、両方の筐体を重ね合わせた状態から一方の筐体と他方の筐体とを互いにスライドできるようにしたスライド式の筐体であってもよいし、重ね合わせ方向に沿う軸線を中心に、一方の筐体を回転させるようにした回転式や、２軸ヒンジを介して２つの筐体を連結したものでもよい。また、携帯情報機器１の筐体は、１つの筐体からなるいわゆるストレート式（スレート式）の筐体でもよい。
【００１９】
第１筐体１ＣＡは、表示部２と、レシーバ１６と、撮像部４０とを有する。表示部２は、液晶ディスプレイ（ＬＣＤ、Liquid Crystal Display）や有機ＥＬ（Organic Electro−Luminescence）パネル等の表示装置を備え、文字、図形、画像等の各種情報を表示する。表示部２は、撮像部４０によって撮像された画像を表示することもできる。レシーバ１６は、通話時に通話相手の音声を出力する。
【００２０】
撮像部４０は、撮像センサ等の撮像手段によって画像を撮像する。撮像部４０の撮像手段に外部の光を導く撮影窓は、第１筐体１ＣＡの表示部２が設けられている面と反対側の面に設けられている。すなわち、第１筐体１ＣＡは、利用者が正面から表示部２を見ると、撮像部４０によって撮像された第１筐体１ＣＡの向こう側の画像が表示部２に表示されるように構成されている。
【００２１】
第２筐体１ＣＢは、テンキーや機能キー等からなる操作キー１３Ａと、メニューの選択および決定や画面のスクロール等を実行するための方向および決定キー１３Ｂと、通話時に音声を取得する音声取得手段であるマイク１５とを有する。操作キー１３Ａと、方向および決定キー１３Ｂとは、携帯情報機器１の操作部１３を構成する。なお、操作部１３は、操作キー１３Ａ等に代えて、または、操作キー１３Ａ等に加えて、表示部２に重畳されたタッチセンサを備えていてもよい。
【００２２】
次に、図２を参照しながら、携帯情報機器１の機能的な構成について説明する。図２は、携帯情報機器１の機能的な構成を示すブロック図である。図２に示すように、携帯情報機器１は、通信部２６と、操作部１３と、音声処理部３０と、表示部２と、撮像部４０と、位置・姿勢検出部（検出部）３６と、制御部２２と、記憶部２４とを備える。
【００２３】
通信部２６は、アンテナ２６ａを有し、基地局によって割り当てられるチャネルを介し、基地局との間でＣＤＭＡ（Code Division Multiple Access）方式などによる無線信号回線を確立し、基地局を通じて他の装置との間で電話通信および情報通信を行う。操作部１３は、操作キー１３Ａ、または、方向および決定キー１３Ｂがユーザによって操作されると、その操作内容に対応する信号を制御部２２へ出力する。
【００２４】
音声処理部３０は、マイク１５から入力される音声をデジタル信号化して制御部２２へ出力する。また、音声処理部３０は、制御部２２から出力されるデジタル信号を復号してレシーバ１６へ出力する。表示部２は、制御部２２から入力される制御信号に従って各種情報を表示する。撮像部４０は、撮像した画像をデジタル信号に変換して制御部２２へ出力する。
【００２５】
位置・姿勢検出部（検出部）３６は、携帯情報機器１の位置と姿勢の変化を検出し、検出結果を制御部２２へ出力する。ここで、位置とは、所定のＸＹＺ座標空間上でどの座標に存在しているかを意味する。また、姿勢とは、上記のＸＹＺ座標空間上でＸ軸方向、Ｙ軸方向およびＺ軸方向の各方向への回転量、すなわち、向きと傾きを意味する。位置・姿勢検出部３６は、携帯情報機器１の位置と姿勢の変化を検出するために、例えば、３軸加速度センサを備える。なお、位置・姿勢検出部３６は、３軸加速度センサに代えて、または、３軸加速度センサに加えて、ＧＰＳ（Global Positioning System）受信機や方位センサを備えていてもよい。
【００２６】
制御部２２は、演算手段であるＣＰＵ（Central Processing Unit）と、記憶手段であるメモリとを備え、これらのハードウェア資源を用いてプログラムを実行することによって各種の機能を実現する。具体的には、制御部２２は、記憶部２４に記憶されているプログラムやデータを読み出してメモリに展開し、メモリに展開されたプログラムに含まれる命令をＣＰＵに実行させる。そして、制御部２２は、ＣＰＵによる命令の実行結果に応じて、メモリおよび記憶部２４に対してデータの読み書きを行ったり、通信部２６や表示部２等の動作を制御したりする。ＣＰＵが命令を実行するに際しては、メモリに展開されているデータや位置・姿勢検出部３６等から入力される信号がパラメータとして利用される。
【００２７】
記憶部２４は、フラッシュメモリ等の不揮発性を有する記憶装置からなり、各種のプログラムやデータを記憶する。記憶部２４に記憶されるプログラムおよびデータには、マーカ情報２４ａと、３次元モデルデータ２４ｂと、仮想情報表示プログラム２４ｃとが含まれる。なお、これらのプログラムおよびデータは、通信部２６による無線通信によってサーバ装置等の他の装置から取得することとしてもよい。また、記憶部２４は、メモリカード等の可搬の記憶媒体と、記憶媒体に対して読み書きを行う読み書き装置との組み合わせによって構成されてもよい。
【００２８】
マーカ情報２４ａは、現実世界に設置されるマーカの大きさと形状に関する情報を保持する。マーカは、現実空間を撮像した画像に仮想情報を重畳する目印となる物品であり、例えば、所定の大きさをもつ正方形のカードである。マーカ情報２４ａは、撮像部４０によって撮像された画像からマッチングによってマーカを検出するためのテンプレート画像を含んでいてもよい。
【００２９】
図３は、マーカの一例を示す図である。図３に示すマーカ５０は、所定の大きさをもつ正方形のカードであり、外周に沿って所定の幅の縁取り５１が施されている。縁取り５１は、マーカ５０の大きさおよび形状を検出しやすくするために設けられている。また、マーカ５０の隅の１つには、矩形５２が描かれている。矩形５２は、マーカ５０の正面を特定するために利用される。なお、マーカ５０は、必ずしもこのような形状である必要はなく、撮像された画像中で位置、大きさおよび形状を判定可能な形状であればよい。
【００３０】
図４は、撮像部４０によって撮像された画像Ｐに含まれるマーカ５０の一例を示す図である。図４に示す例において、マーカ５０は、撮像部４０によって撮像された画像Ｐの右下に位置し、横幅の半分よりもやや大きい幅をもち、台形に変形している。画像Ｐにおけるマーカ５０の位置、大きさおよび形状は、携帯情報機器１からみた現実のマーカ５０の相対的な位置と姿勢によって変化する。換言すると、画像Ｐ内でのマーカ５０の位置、大きさおよび形状から、携帯情報機器１からみた現実のマーカ５０の相対的な位置と姿勢を算出することができる。
【００３１】
３次元モデルデータ２４ｂは、マーカ情報２４ａで定義されているマーカと対応づけて仮想情報として表示される３次元オブジェクトを生成するためのデータである。３次元モデルデータ２４ｂは、例えば、図５に示すような机の３次元オブジェクト６０を生成するための各面の位置、大きさ、色等に関する情報を含む。３次元モデルデータ２４ｂに基づいて生成される３次元オブジェクトは、マーカの位置および姿勢に合わせて大きさおよび姿勢が変更された後、２次元画像に変換されて、撮像部４０によって撮像された画像に重畳される。なお、仮想情報として表示される情報は３次元オブジェクトに限定されるものではなく、テキストや、２次元の画像等であってもよい。
【００３２】
仮想情報表示プログラム２４ｃは、３次元モデルデータ２４ｂによって定義された仮想情報を、マーカが設置された位置に実際に存在しているかのように、撮像部４０によって撮像された画像に重畳して表示部２に表示させる。仮想情報表示プログラム２４ｃは、まず、制御部２２に、撮像部４０によって撮像された画像とマーカ情報２４ａとに基づいて現実のマーカの位置と姿勢を算出させる。そして、仮想情報表示プログラム２４ｃは、その後は、制御部２２に、位置・姿勢検出部３６の検出結果に基づいて現実のマーカの位置と姿勢を予測させる。このため、携帯情報機器１は、撮像部４０によって撮像された画像によってマーカの位置と姿勢が特定された後は、撮像部４０によって撮像された画像にマーカの全体が写っていない場合でも、マーカが設置されている位置に仮想情報を重畳して表示することができる。
【００３３】
次に、図６を参照しながら、携帯情報機器１の動作について説明する。図６は、携帯情報機器１による仮想情報表示処理の処理手順を示す図である。図６に示す処理手順は、制御部２２が仮想情報表示プログラム２４ｃを実行することによって実現される。
【００３４】
図６に示すように、制御部２２は、まず、ステップＳ１０１として、３次元モデルデータ２４ｂから仮想情報として表示されるモデルデータを取得する。そして、制御部２２は、ステップＳ１０２として、撮像部４０によって撮像された画像を取得し、ステップＳ１０３として、撮像された画像を表示部２に表示させる。
【００３５】
続いて、制御部２２は、ステップＳ１０４として、マーカ情報２４ａに基づいて、撮像部４０によって撮像された画像中のマーカを検出する。マーカの検出は、例えば、撮像部４０によって撮像された画像と、マーカ情報２４ａにおいて定義されている形状等にしたがって生成したテンプレートとをマッチングすることによって実現してよい。また、撮像部４０によって撮像される画像の所定の範囲内にマーカが収まるように利用者にマーカを撮像させ、所定範囲内の二値化等によって輪郭を抽出してマーカを検出してもよい。
【００３６】
続いて、制御部２２は、ステップＳ１０５として、マーカ情報２４ａにおいて定義されているマーカの大きさおよび形状と、画像中でのマーカの位置、大きさおよび形状に基づいて、マーカの基準位置および基準姿勢を算出する。基準位置とは、ステップＳ１０２で画像が撮像された時点での、自端末からみた実際のマーカの相対的な位置である。基準姿勢とは、ステップＳ１０２で画像が撮像された時点での、自端末からみた実際のマーカの相対的な姿勢である。なお、基準位置および基準姿勢は、例えば、上記の非特許文献１に記載されている技術を用いて算出することができる。
【００３７】
続いて、制御部２２は、ステップＳ１０６として、位置・姿勢検出部３６の検出結果に基づいて、現時点（ステップＳ１０２で画像が撮像された時点）での自端末の位置である第１の位置と、現時点での自端末の姿勢である第１の姿勢を算出する。
【００３８】
続いて、制御部２２は、ステップＳ１０７として、ステップＳ１０１で取得したモデルデータに基づいて、基準位置に合わせた大きさと、基準姿勢に合わせた姿勢とを有する３次元オブジェクトを生成する。ここで、基準位置に合わせた大きさとは、モデルデータにおいて定義されている大きさの３次元オブジェクトが実際に基準位置に存在する場合に撮像部４０によって撮像される画像に写る大きさである。また、基準姿勢に合わせた姿勢とは、マーカの姿勢とモデルデータの姿勢について予め定められている対応関係に基づいて基準姿勢から算出される姿勢である。
【００３９】
そして、制御部２２は、ステップＳ１０８として、表示部２に表示されている画像の基準位置に対応する位置に、ステップＳ１０７で生成した３次元オブジェクトを重畳して表示させる。ここで、３次元オブジェクトは、底面または底面を拡張した平面上のいずれか一点が基準位置と一致するように配置されることが好ましい。このように配置することにより、３次元オブジェクトがマーカの上に置かれている状態の画像を得ることができる。
【００４０】
このように、基準位置および基準姿勢に合わせて３次元オブジェクトを表示することにより、マーカが検出された位置にあたかも３次元オブジェクトが実在しているかのような画像を得ることができる。
【００４１】
続いて、制御部２２は、ステップＳ１０９として、撮像部４０によって撮像された次の画像を取得し、ステップＳ１１０として、撮像された画像を表示部２に表示させる。続いて、制御部２２は、ステップＳ１１１として、位置・姿勢検出部３６の検出結果に基づいて、現時点（ステップＳ１０９で画像が撮像された時点）での自端末の位置である第２の位置と、現時点での自端末の姿勢である第２の姿勢を算出する。
【００４２】
そして、制御部２２は、ステップＳ１１２として、第１の位置と第２の位置の変位量に基づいて基準位置を変換することにより、実際のマーカの予測位置を算出する。マーカの予測位置とは、自端末からみた実際のマーカの現時点（ステップＳ１０９で画像が撮像された時点）での相対的な位置である。なお、変換は、例えば変換行列を用いて実現される。
【００４３】
また、制御部２２は、ステップＳ１１３として、第１の位置と第２の位置の変位量と、第１の姿勢と第２の姿勢の変化量とに基づいて基準姿勢を変換することにより、実際のマーカの予測姿勢を算出する。予測姿勢とは、自端末からみた実際のマーカの現時点（ステップＳ１０９で画像が撮像された時点）での相対的な姿勢である。なお、変換は、例えば変換行列を用いて実現される。
【００４４】
続いて、制御部２２は、ステップＳ１１４として、ステップＳ１０１で取得したモデルデータに基づいて、予測位置に合わせた大きさと、予測姿勢に合わせた姿勢とを有する３次元オブジェクトを生成する。ここで、予測位置に合わせた大きさとは、モデルデータにおいて定義されている大きさの３次元オブジェクトが実際に予測位置に存在する場合に撮像部４０によって撮像される画像に写る大きさである。また、予測姿勢に合わせた姿勢とは、マーカの姿勢とモデルデータの姿勢について予め定められている対応関係に基づいて予測姿勢から算出される姿勢である。
【００４５】
続いて、制御部２２は、ステップＳ１１５として、表示部２に表示されている画像の予測位置に対応する位置に、ステップＳ１１４で生成した３次元オブジェクトを重畳して表示させた場合に、３次元オブジェクトが一部でも画像と重なるかを判定する。
【００４６】
３次元オブジェクトが一部でも画像と重なる場合（ステップＳ１１５，Ｙｅｓ）、制御部２２は、ステップＳ１１６として、表示部２に表示されている画像の予測位置に対応する位置に、ステップＳ１１４で生成した３次元オブジェクトを重畳して表示させる。ここで、３次元オブジェクトは、底面または底面を拡張した平面上のいずれか一点が予測位置と一致するように配置されることが好ましい。
【００４７】
３次元オブジェクトが画像と重ならない場合（ステップＳ１１５，Ｎｏ）、制御部２２は、ステップＳ１１７として、表示部２に表示されている画像の予測位置と最も近い位置の近隣に、予測位置が存在する方向を示すガイドを重畳して表示させる。ここでは、例えば、予測位置が存在する方向を示す矢印がガイドとして表示される。
【００４８】
こうして画像に３次元オブジェクトまたはガイドを重畳して表示させた後、制御部２２は、ステップＳ１１８として、操作部１３において終了指示が受け付けられたかを判定する。終了指示が受け付けられていない場合（ステップＳ１１８，Ｎｏ）、制御部２２は、ステップＳ１０９以降を再実行する。終了指示が受け付けられた場合（ステップＳ１１８，Ｙｅｓ）、制御部２２は、仮想情報表示処理を終了させる。
【００４９】
次に、図７から図９を参照しながら、携帯情報機器１による仮想情報の表示の具体例について説明する。ここでは、オンラインショッピングで机を購入するに前に、部屋に机を置いた状態を確認するために、机と同じ形状の３次元オブジェクト６０を仮想情報として表示させる例について説明する。
【００５０】
図７は、オンラインショッピングで購入しようとしている商品（机）を仮想情報として表示させる例を示す図である。３次元オブジェクト６０を仮想情報として表示させるための前準備として、利用者は、まず、机と同一形状の３次元オブジェクト６０を生成するための３次元モデルデータ２４ｂをオンラインショッピングサイトからダウンロードして、携帯情報機器１の記憶部２４に記憶させる。また、利用者は、マーカ情報２４ａによって大きさおよび形状が定義されているマーカ５０を、机の設置予定場所に置く。
【００５１】
このような準備が完了した後、利用者がメニュー画面からの選択等によって仮想情報表示プログラム２４ｃを起動させると、図６に示した仮想情報表示処理が開始される。そして、利用者がマーカ５０を撮像部４０によって撮像される画像内に写り込ませると、ステップＳ１１に示すように、制御部２２は、マーカ５０を検出し、マーカ５０の位置および姿勢に合わせて３次元オブジェクト６０を表示させる。その結果、表示部２には、設置予定場所に机の３次元オブジェクト６０が重畳された部屋の内部の画像が表示される。この最初の段階では、撮像部４０によって撮像される画像内でのマーカ５０の位置、大きさおよび形状に基づいて、３次元オブジェクト６０の位置、大きさおよび姿勢が決定される。
【００５２】
この状態から、利用者が携帯情報機器１の位置や向きを変更すると、表示部２に表示される画像内での３次元オブジェクト６０の位置、大きさおよび姿勢が変化する。例えば、利用者が携帯情報機器１をマーカ５０に近づけると、マーカ５０の周辺の家具や備品が拡大されるのと同様に３次元オブジェクト６０も拡大される。また、利用者が携帯情報機器１の向きを左向きに変化させると、マーカ５０の周辺の家具が画像中で右へ移動するのと同様に３次元オブジェクト６０も画像中で右へ移動する。
【００５３】
このように、利用者は、携帯情報機器１の位置や向きを変更することによって、設置予定場所に机を設置した状態の部屋の内部の画像を様々な視点から確認することができる。利用者は、３次元オブジェクト６０を生成する３次元モデルデータ２４ｂを変更して、他の種類の机を設置した状態の部屋の内部の画像を確認することもできる。
【００５４】
このように様々に視点を変更する段階では、携帯情報機器１の位置の変位量および姿勢の変化量から予測されるマーカ５０の位置および姿勢に基づいて、３次元オブジェクト６０の位置、大きさおよび姿勢が決定される。このため、ステップＳ１２に示すように携帯情報機器１の向きが左向きに変化し、撮像部４０によって撮像される画像にマーカ５０の全体が写っていない状態となっても、３次元オブジェクト６０は、マーカ５０が置かれた位置に重畳して表示される。
【００５５】
そして、携帯情報機器１の向きがさらに左向きに変化し、３次元オブジェクト６０が撮像部４０の撮像範囲から外れると、ステップＳ１３に示すようにマーカ５０が置かれた位置に最も近い辺の近隣に、マーカ５０が置かれた位置の方向を示すガイド７０が表示される。このようにガイド７０を表示することにより、利用者が、仮想情報が表示される位置を見失わないようにすることができる。
【００５６】
なお、図７では仮想情報として表示される３次元オブジェクト６０を様々な視点から確認する例を示したが、上述した仮想情報表示処理を変形することによって３次元オブジェクト６０の位置や大きさを任意に変更できるようにしてもよい。
【００５７】
図８は、３次元オブジェクト６０の位置を変更する例を示す図である。図８に示すステップＳ２１では、マーカ５０および３次元オブジェクト６０は、表示部２に表示される画像の左寄りに位置している。ここで、操作部１３で所定の操作が行われた場合に、制御部２２が、操作に合わせて３次元オブジェクト６０の位置を移動させることとしてもよい。
【００５８】
図８に示すステップＳ２２では、制御部２２が、操作に合わせて３次元オブジェクト６０の位置を移動させたことによって、マーカ５０の位置に変化がないにも関わらず、３次元オブジェクト６０が画像の右寄りに移動している。このように利用者の操作に応じて仮想情報を表示する位置を変更することにより、マーカ５０を別の位置に置いた状態を容易に確認することができる。このことは、例えば、複数の机の設置場所の候補を比較する場合に便利である。なお、３次元オブジェクト６０の位置の変更は、例えば、利用者の操作に応じて、マーカ５０の予測位置に対して３次元オブジェクト６０を配置する位置をオフセットする量を変更することで実現される。
【００５９】
図９は、３次元オブジェクト６０の大きさを変更する例を示す図である。図９に示すステップＳ３１では、３次元オブジェクト６０は通常の大きさで表示されている。ここで、操作部１３で所定の操作が行われた場合に、制御部２２が、操作に合わせて３次元オブジェクト６０の大きさを変更することとしてもよい。
【００６０】
図９に示すステップＳ３２では、制御部２２が、操作に合わせて３次元オブジェクト６０の位置を拡大させたことによって、マーカ５０の位置に変化がないにも関わらず、３次元オブジェクト６０が大きく表示されている。このように利用者の操作に応じて仮想情報を表示する大きさを変更することにより、３次元オブジェクト６０を生成する３次元モデルデータ２４ｂを変更することなく３次元オブジェクト６０の表示サイズを変更することができる。このことは、例えば、サイズ違いの机のそれぞれを設置した状態を見比べたい
場合に便利である。なお、３次元オブジェクト６０の大きさの変更は、例えば、利用者の操作に応じて、３次元オブジェクト６０に乗じる係数を変更することで実現される。
【００６１】
上述してきたように、本実施例に係る携帯情報機器は、自端末の位置および姿勢の変化を検出する検出部と、撮像部と、前記撮像部によって撮像される画像を表示する表示部と、所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第１の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出し、前記撮像部によって撮像された第２の画像を前記表示部に表示させる場合に、前記第１の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第２の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第２の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出し、前記第２の画像の当該予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させる制御部とを備える。
【００６２】
また、本実施例に係る仮想情報表示プログラムは、端末の位置および姿勢の変化を検出する検出部と、撮像部と、前記撮像部によって撮像される画像を表示する表示部とを備える携帯情報機器に、所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第１の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出するステップと、前記撮像部によって撮像された第２の画像を前記表示部に表示させるステップと、前記第１の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第２の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第２の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出するステップと、前記第２の画像の前記予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させるステップとを実行させる。
【００６３】
これらの構成によれば、マーカの基準位置が取得された後は、自端末の位置の変化に基づいてマーカの位置を予測し、予測された位置に対応する画像上の位置に仮想情報を表示させることとしたので、マーカ全体が画像に写っていない場合でもマーカに対応する位置に仮想情報を表示させることができる。
【００６４】
ここで、前記制御部は、前記第２の画像を前記表示部に表示させる場合に、前記第２の画像の前記予測位置に対応する位置に前記予測位置に応じた大きさで前記仮想情報を重畳して表示させることが好ましい。
【００６５】
この構成によれば、マーカの予測された位置に応じて仮想情報の大きさを変更して表示することとしたので、仮想情報を実在しているものであるかのように表示させることができる。
【００６６】
また、前記制御部は、前記第１の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な姿勢である基準姿勢を算出し、前記第２の画像を前記表示部に表示させる場合に、前記第１の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記第２の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記基準姿勢とに基づいて、前記第２の画像の撮像時における前記マーカの予測姿勢を算出し、前記第２の画像の前記予測位置に対応する位置に前記予測姿勢に基づいて姿勢を設定した前記仮想情報を重畳して表示させることが好ましい。
【００６７】
この構成によれば、マーカの姿勢をさらに予測し、マーカの予測された姿勢に基づいて姿勢を設定した仮想情報を表示することとしたので、仮想情報を実在しているものであるかのように表示させることができる。
【００６８】
また、前記制御部は、前記予測位置が、前記仮想情報が前記第２の画像に重畳されない位置にある場合に、前記予測位置がどの方向に存在するかを示すガイドを前記表示部に表示させることが好ましい。
【００６９】
この構成によれば、仮想情報が表示される位置を示すガイドを表示することとしたので、利用者が仮想情報の位置を見失わないようにすることができる。
【００７０】
また、前記携帯情報機器は、操作を受け付ける操作部をさらに有し、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報を変化させて表示させることが好ましい。例えば、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の大きさを変化させて表示させることとしてもよい。また、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の位置を変化させて表示させることとしてもよい。
【００７１】
この構成によれば、利用者は、マーカの位置を変更して基準位置を取得し直させたり、仮想情報として表示するデータを変更したりすることなく、仮想情報の位置や大きさ等を任意に変更して表示させることができる。
【００７２】
また、前記携帯情報機器は、他の装置と通信を行う通信部をさらに備え、前記制御部は、前記通信部による通信を介して前記仮想情報を前記他の装置から取得することが好ましい。
【００７３】
この構成によれば、利用者は、他の装置から通信によって取得された多様な仮想情報を表示させることができる。
【００７４】
また、前記仮想情報は、３次元モデルデータに基づいて生成される３次元オブジェクトであり、前記制御部は、前記第２の画像に前記仮想情報を重畳して表示させる場合に、予め取得されている前記３次元モデルデータに基づいて前記仮想情報を生成することが好ましい。
【００７５】
この構成によれば、仮想情報を表示し直すたびに３次元モデルデータを取得し直す必要がないので、仮想情報を表示する処理の遅延や携帯情報機器の負荷の増大を抑止できる。
【００７６】
なお、上記の実施例で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、上記の実施例では、１つの仮想情報を表示する例を示したが、複数の仮想情報を表示できるようにしてもよい。この場合、それぞれの仮想情報に対応するマーカの基準位置および基準姿勢の取得は、１つの画像に基づいて一括して実行してもよいし、マーカ毎に画像を撮影して実行してもよい。
【００７７】
また、上記の実施例では、撮像部４０によって撮像された画像に基づいて基準位置および基準姿勢を最初に一度だけ取得することとしたが、基準位置および基準姿勢を取得し直すようにしてもよい。例えば、撮像部４０によって撮像された画像の中央の所定の範囲内でマーカが検出された場合に、画像に基づいて基準位置および基準姿勢を取得し直してもよい。このようにすることで、位置・姿勢検出部３６の検出結果に基づいて算出される自端末の位置および姿勢が実際の位置および姿勢とずれた場合にずれを補正することができる。また、ゆがみの小さい画像の中央付近を用いることで、ずれの補正を高精度に行うことができる。
【００７８】
また、上記の実施例では、３次元オブジェクトを仮想情報として表示する例を示したが、平面の上に文字や図形等を表した２次元オブジェクトを仮想情報として表示してもよい。この場合、自端末からみた実際のマーカ５０の相対的な姿勢に関わりなく、２次元オブジェクトは、常に文字や図形等が表された面が撮像部４に正対しているように画像に重畳される。なお、３次元オブジェクトを仮想情報として表示する場合であっても、自端末からみた実際のマーカ５０の相対的な姿勢に関わりなく、常に特定の方向から見た状態の３次元オブジェクトを画像に重畳してもよい。
【００７９】
また、表示されている仮想情報を選択する操作が操作部１３で検出された場合に、選択された仮想情報に対応する情報を表示部２に表示させてもよい。例えば、図７に示したようにオンラインショッピングで購入しようとしている商品が仮想情報として表示されている場合、仮想情報を選択する操作が検出されると仮想情報に対応する商品を購入するためのＷＥＢページを表示部２に表示させることとしてもよい。
【００８０】
また、携帯情報機器１に裸眼または眼鏡着用での３次元表示に対応した表示部を設け、仮想情報を立体的に表示させることとしてもよい。また、携帯情報機器１に３次元スキャナ機能をもたせ、３次元スキャナ機能によって取得された３次元オブジェクトを仮想情報として表示するようにしてもよい。
【符号の説明】
【００８１】
１    携帯情報機器
２    表示部
１３    操作部
１５    マイク
１６    レシーバ
２２    制御部
２４    記憶部
２４ａ  マーカ情報
２４ｂ  ３次元モデルデータ
２４ｃ  仮想情報表示プログラム
２６    通信部
３６    位置・姿勢検出部（検出部）
４０    撮像部
【図１】
0005734700.tif 000002
【図２】
0005734700.tif 000003
【図３】
0005734700.tif 000004
【図４】
0005734700.tif 000005
【図５】
0005734700.tif 000006
【図６】
0005734700.tif 000007
【図７】
0005734700.tif 000008
【図８】
0005734700.tif 000009
【図９】
0005734700.tif 000010