説明

携帯情報機器および仮想情報表示プログラム

【課題】マーカ全体が画像に写っていない場合でもマーカに対応する位置に仮想情報を表示させること。
【解決手段】携帯情報機器1は、位置・姿勢検出部36と、撮像部40と、表示部2と、所定の位置に置かれた所定の大きさおよび形状を有するマーカを撮像部40が撮像した第1の画像に基づいて、携帯情報機器1からみた実在のマーカの相対的な位置である基準位置を算出し、撮像部40によって撮像された第2の画像を表示部2に表示させる場合に、第1の画像の撮像時に位置・姿勢検出部36の検出結果に基づいて取得された携帯情報機器1の位置と、第2の画像の撮像時に位置・姿勢検出部36の検出結果に基づいて取得された携帯情報機器1の位置と、基準位置とに基づいて、第2の画像の撮像時のマーカの予測位置を算出し、第2の画像の予測位置に対応する位置にマーカに対応する仮想情報を重畳して表示させる制御部22とを備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、携帯情報機器および仮想情報表示プログラムに関する。
【背景技術】
【0002】
近年、現実空間の映像をコンピュータで処理して更なる情報を付加する拡張現実(AR:Augmented reality)技術が注目されている。現実空間の映像に情報を付加する方式の1つとして、現実空間に可視のマーカ(仮想情報タグ)を設置し、撮像装置で撮像した画像を解析することでマーカを検出し、検出したマーカ上に仮想情報(付加情報)を重畳した画像を表示する方式が知られている(例えば、非特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【非特許文献1】加藤博一、他3名、「マーカ追跡に基づく拡張現実感システムとそのキャリブレーション」、日本バーチャルリアリティ学会論文誌、Vol.4、No.4、pp.607−616、1999年
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、撮像された画像内のマーカ上に仮想情報を重畳するには、マーカ全体が画像に写っている必要がある。例えば、撮像装置の向きを変更してマーカの一部が撮像範囲から外れた場合、撮像された画像を解析してもマーカを検出することができないために、仮想情報を画像に重畳して表示することができなくなる。
【0005】
本発明は、マーカ全体が画像に写っていない場合でもマーカに対応する位置に仮想情報を表示させることができる携帯情報機器および仮想情報表示プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明に係る携帯情報機器は、当該携帯情報機器の位置および姿勢の変化を検出する検出部と、撮像部と、前記撮像部によって撮像される画像を表示する表示部と、所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第1の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出し、前記撮像部によって撮像された第2の画像を前記表示部に表示させる場合に、前記第1の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第2の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第2の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出し、前記第2の画像の当該予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させる制御部とを備える。
【0007】
ここで、前記制御部は、前記第2の画像を前記表示部に表示させる場合に、前記第2の画像の前記予測位置に対応する位置に前記予測位置に応じた大きさで前記仮想情報を重畳して表示させることが好ましい。
【0008】
また、前記制御部は、前記第1の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な姿勢である基準姿勢を算出し、前記第2の画像を前記表示部に表示させる場合に、前記第1の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記第2の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記基準姿勢とに基づいて、前記第2の画像の撮像時における前記マーカの予測姿勢を算出し、前記第2の画像の前記予測位置に対応する位置に前記予測姿勢に基づいて姿勢を設定した前記仮想情報を重畳して表示させることが好ましい。
【0009】
また、前記制御部は、前記予測位置が、前記仮想情報が前記第2の画像に重畳されない位置にある場合に、前記予測位置がどの方向に存在するかを示すガイドを前記表示部に表示させることが好ましい。
【0010】
また、前記携帯情報機器は、操作を受け付ける操作部をさらに有し、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報を変化させて表示させることが好ましい。例えば、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の大きさを変化させて表示させることとしてもよい。また、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の位置を変化させて表示させることとしてもよい。
【0011】
また、前記携帯情報機器は、他の装置と通信を行う通信部をさらに備え、前記制御部は、前記通信部による通信を介して前記仮想情報を前記他の装置から取得することが好ましい。
【0012】
また、前記仮想情報は、3次元モデルデータに基づいて生成される3次元オブジェクトであり、前記制御部は、前記第2の画像に前記仮想情報を重畳して表示させる場合に、予め取得されている前記3次元モデルデータに基づいて前記仮想情報を生成することが好ましい。
【0013】
また、上述した課題を解決し、目的を達成するために、本発明に係る仮想情報表示プログラムは、端末の位置および姿勢の変化を検出する検出部と、撮像部と、前記撮像部によって撮像される画像を表示する表示部とを備える携帯情報機器に、所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第1の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出するステップと、前記撮像部によって撮像された第2の画像を前記表示部に表示させるステップと、前記第1の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第2の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第2の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出するステップと、前記第2の画像の前記予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させるステップとを実行させる。
【発明の効果】
【0014】
本発明は、マーカ全体が画像に写っていない場合でもマーカに対応する位置に仮想情報を表示させることができるという効果を奏する。
【図面の簡単な説明】
【0015】
【図1】図1は、本実施例に係る携帯情報機器の外観を示す正面図である。
【図2】図2は、本実施例に係る携帯情報機器の機能的な構成を示すブロック図である。
【図3】図3は、マーカの一例を示す図である。
【図4】図4は、撮像部によって撮像された画像に含まれるマーカの一例を示す図である。
【図5】図5は、仮想情報として表示される3次元オブジェクトの一例を示す図である。
【図6】図6は、本実施例に係る携帯情報機器による仮想情報表示処理の処理手順を示す図である。
【図7】図7は、オンラインショッピングで購入しようとしている商品を仮想情報として表示させる例を示す図である。
【図8】図8は、3次元オブジェクトの位置を変更する例を示す図である。
【図9】図9は、3次元オブジェクトの大きさを変更する例を示す図である。
【発明を実施するための形態】
【0016】
以下、本発明につき図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下においては、携帯情報機器の一例として携帯電話機について説明するが、本発明の適用対象は携帯電話機に限定されるものではなく、例えば、PHS(Personal Handyphone System)、PDA、ポータブルナビゲーション装置、ノートパソコン、ゲーム機等に対しても本発明は適用できる。
【実施例】
【0017】
まず、図1を参照しながら、本実施例に係る携帯情報機器1の外観について説明する。図1は、携帯情報機器1の外観を示す正面図である。図1に示すように、携帯情報機器1の筐体1Cは、ヒンジ機構8によって開閉可能に連結された第1筐体1CAと第2筐体1CBとを備える。すなわち、携帯情報機器1は、折り畳み式の筐体を有する。
【0018】
なお、携帯情報機器1の筐体は、このような構造に限定されるものではない。例えば、携帯情報機器1の筐体は、両方の筐体を重ね合わせた状態から一方の筐体と他方の筐体とを互いにスライドできるようにしたスライド式の筐体であってもよいし、重ね合わせ方向に沿う軸線を中心に、一方の筐体を回転させるようにした回転式や、2軸ヒンジを介して2つの筐体を連結したものでもよい。また、携帯情報機器1の筐体は、1つの筐体からなるいわゆるストレート式(スレート式)の筐体でもよい。
【0019】
第1筐体1CAは、表示部2と、レシーバ16と、撮像部40とを有する。表示部2は、液晶ディスプレイ(LCD、Liquid Crystal Display)や有機EL(Organic Electro−Luminescence)パネル等の表示装置を備え、文字、図形、画像等の各種情報を表示する。表示部2は、撮像部40によって撮像された画像を表示することもできる。レシーバ16は、通話時に通話相手の音声を出力する。
【0020】
撮像部40は、撮像センサ等の撮像手段によって画像を撮像する。撮像部40の撮像手段に外部の光を導く撮影窓は、第1筐体1CAの表示部2が設けられている面と反対側の面に設けられている。すなわち、第1筐体1CAは、利用者が正面から表示部2を見ると、撮像部40によって撮像された第1筐体1CAの向こう側の画像が表示部2に表示されるように構成されている。
【0021】
第2筐体1CBは、テンキーや機能キー等からなる操作キー13Aと、メニューの選択および決定や画面のスクロール等を実行するための方向および決定キー13Bと、通話時に音声を取得する音声取得手段であるマイク15とを有する。操作キー13Aと、方向および決定キー13Bとは、携帯情報機器1の操作部13を構成する。なお、操作部13は、操作キー13A等に代えて、または、操作キー13A等に加えて、表示部2に重畳されたタッチセンサを備えていてもよい。
【0022】
次に、図2を参照しながら、携帯情報機器1の機能的な構成について説明する。図2は、携帯情報機器1の機能的な構成を示すブロック図である。図2に示すように、携帯情報機器1は、通信部26と、操作部13と、音声処理部30と、表示部2と、撮像部40と、位置・姿勢検出部(検出部)36と、制御部22と、記憶部24とを備える。
【0023】
通信部26は、アンテナ26aを有し、基地局によって割り当てられるチャネルを介し、基地局との間でCDMA(Code Division Multiple Access)方式などによる無線信号回線を確立し、基地局を通じて他の装置との間で電話通信および情報通信を行う。操作部13は、操作キー13A、または、方向および決定キー13Bがユーザによって操作されると、その操作内容に対応する信号を制御部22へ出力する。
【0024】
音声処理部30は、マイク15から入力される音声をデジタル信号化して制御部22へ出力する。また、音声処理部30は、制御部22から出力されるデジタル信号を復号してレシーバ16へ出力する。表示部2は、制御部22から入力される制御信号に従って各種情報を表示する。撮像部40は、撮像した画像をデジタル信号に変換して制御部22へ出力する。
【0025】
位置・姿勢検出部(検出部)36は、携帯情報機器1の位置と姿勢の変化を検出し、検出結果を制御部22へ出力する。ここで、位置とは、所定のXYZ座標空間上でどの座標に存在しているかを意味する。また、姿勢とは、上記のXYZ座標空間上でX軸方向、Y軸方向およびZ軸方向の各方向への回転量、すなわち、向きと傾きを意味する。位置・姿勢検出部36は、携帯情報機器1の位置と姿勢の変化を検出するために、例えば、3軸加速度センサを備える。なお、位置・姿勢検出部36は、3軸加速度センサに代えて、または、3軸加速度センサに加えて、GPS(Global Positioning System)受信機や方位センサを備えていてもよい。
【0026】
制御部22は、演算手段であるCPU(Central Processing Unit)と、記憶手段であるメモリとを備え、これらのハードウェア資源を用いてプログラムを実行することによって各種の機能を実現する。具体的には、制御部22は、記憶部24に記憶されているプログラムやデータを読み出してメモリに展開し、メモリに展開されたプログラムに含まれる命令をCPUに実行させる。そして、制御部22は、CPUによる命令の実行結果に応じて、メモリおよび記憶部24に対してデータの読み書きを行ったり、通信部26や表示部2等の動作を制御したりする。CPUが命令を実行するに際しては、メモリに展開されているデータや位置・姿勢検出部36等から入力される信号がパラメータとして利用される。
【0027】
記憶部24は、フラッシュメモリ等の不揮発性を有する記憶装置からなり、各種のプログラムやデータを記憶する。記憶部24に記憶されるプログラムおよびデータには、マーカ情報24aと、3次元モデルデータ24bと、仮想情報表示プログラム24cとが含まれる。なお、これらのプログラムおよびデータは、通信部26による無線通信によってサーバ装置等の他の装置から取得することとしてもよい。また、記憶部24は、メモリカード等の可搬の記憶媒体と、記憶媒体に対して読み書きを行う読み書き装置との組み合わせによって構成されてもよい。
【0028】
マーカ情報24aは、現実世界に設置されるマーカの大きさと形状に関する情報を保持する。マーカは、現実空間を撮像した画像に仮想情報を重畳する目印となる物品であり、例えば、所定の大きさをもつ正方形のカードである。マーカ情報24aは、撮像部40によって撮像された画像からマッチングによってマーカを検出するためのテンプレート画像を含んでいてもよい。
【0029】
図3は、マーカの一例を示す図である。図3に示すマーカ50は、所定の大きさをもつ正方形のカードであり、外周に沿って所定の幅の縁取り51が施されている。縁取り51は、マーカ50の大きさおよび形状を検出しやすくするために設けられている。また、マーカ50の隅の1つには、矩形52が描かれている。矩形52は、マーカ50の正面を特定するために利用される。なお、マーカ50は、必ずしもこのような形状である必要はなく、撮像された画像中で位置、大きさおよび形状を判定可能な形状であればよい。
【0030】
図4は、撮像部40によって撮像された画像Pに含まれるマーカ50の一例を示す図である。図4に示す例において、マーカ50は、撮像部40によって撮像された画像Pの右下に位置し、横幅の半分よりもやや大きい幅をもち、台形に変形している。画像Pにおけるマーカ50の位置、大きさおよび形状は、携帯情報機器1からみた現実のマーカ50の相対的な位置と姿勢によって変化する。換言すると、画像P内でのマーカ50の位置、大きさおよび形状から、携帯情報機器1からみた現実のマーカ50の相対的な位置と姿勢を算出することができる。
【0031】
3次元モデルデータ24bは、マーカ情報24aで定義されているマーカと対応づけて仮想情報として表示される3次元オブジェクトを生成するためのデータである。3次元モデルデータ24bは、例えば、図5に示すような机の3次元オブジェクト60を生成するための各面の位置、大きさ、色等に関する情報を含む。3次元モデルデータ24bに基づいて生成される3次元オブジェクトは、マーカの位置および姿勢に合わせて大きさおよび姿勢が変更された後、2次元画像に変換されて、撮像部40によって撮像された画像に重畳される。なお、仮想情報として表示される情報は3次元オブジェクトに限定されるものではなく、テキストや、2次元の画像等であってもよい。
【0032】
仮想情報表示プログラム24cは、3次元モデルデータ24bによって定義された仮想情報を、マーカが設置された位置に実際に存在しているかのように、撮像部40によって撮像された画像に重畳して表示部2に表示させる。仮想情報表示プログラム24cは、まず、制御部22に、撮像部40によって撮像された画像とマーカ情報24aとに基づいて現実のマーカの位置と姿勢を算出させる。そして、仮想情報表示プログラム24cは、その後は、制御部22に、位置・姿勢検出部36の検出結果に基づいて現実のマーカの位置と姿勢を予測させる。このため、携帯情報機器1は、撮像部40によって撮像された画像によってマーカの位置と姿勢が特定された後は、撮像部40によって撮像された画像にマーカの全体が写っていない場合でも、マーカが設置されている位置に仮想情報を重畳して表示することができる。
【0033】
次に、図6を参照しながら、携帯情報機器1の動作について説明する。図6は、携帯情報機器1による仮想情報表示処理の処理手順を示す図である。図6に示す処理手順は、制御部22が仮想情報表示プログラム24cを実行することによって実現される。
【0034】
図6に示すように、制御部22は、まず、ステップS101として、3次元モデルデータ24bから仮想情報として表示されるモデルデータを取得する。そして、制御部22は、ステップS102として、撮像部40によって撮像された画像を取得し、ステップS103として、撮像された画像を表示部2に表示させる。
【0035】
続いて、制御部22は、ステップS104として、マーカ情報24aに基づいて、撮像部40によって撮像された画像中のマーカを検出する。マーカの検出は、例えば、撮像部40によって撮像された画像と、マーカ情報24aにおいて定義されている形状等にしたがって生成したテンプレートとをマッチングすることによって実現してよい。また、撮像部40によって撮像される画像の所定の範囲内にマーカが収まるように利用者にマーカを撮像させ、所定範囲内の二値化等によって輪郭を抽出してマーカを検出してもよい。
【0036】
続いて、制御部22は、ステップS105として、マーカ情報24aにおいて定義されているマーカの大きさおよび形状と、画像中でのマーカの位置、大きさおよび形状に基づいて、マーカの基準位置および基準姿勢を算出する。基準位置とは、ステップS102で画像が撮像された時点での、自端末からみた実際のマーカの相対的な位置である。基準姿勢とは、ステップS102で画像が撮像された時点での、自端末からみた実際のマーカの相対的な姿勢である。なお、基準位置および基準姿勢は、例えば、上記の非特許文献1に記載されている技術を用いて算出することができる。
【0037】
続いて、制御部22は、ステップS106として、位置・姿勢検出部36の検出結果に基づいて、現時点(ステップS102で画像が撮像された時点)での自端末の位置である第1の位置と、現時点での自端末の姿勢である第1の姿勢を算出する。
【0038】
続いて、制御部22は、ステップS107として、ステップS101で取得したモデルデータに基づいて、基準位置に合わせた大きさと、基準姿勢に合わせた姿勢とを有する3次元オブジェクトを生成する。ここで、基準位置に合わせた大きさとは、モデルデータにおいて定義されている大きさの3次元オブジェクトが実際に基準位置に存在する場合に撮像部40によって撮像される画像に写る大きさである。また、基準姿勢に合わせた姿勢とは、マーカの姿勢とモデルデータの姿勢について予め定められている対応関係に基づいて基準姿勢から算出される姿勢である。
【0039】
そして、制御部22は、ステップS108として、表示部2に表示されている画像の基準位置に対応する位置に、ステップS107で生成した3次元オブジェクトを重畳して表示させる。ここで、3次元オブジェクトは、底面または底面を拡張した平面上のいずれか一点が基準位置と一致するように配置されることが好ましい。このように配置することにより、3次元オブジェクトがマーカの上に置かれている状態の画像を得ることができる。
【0040】
このように、基準位置および基準姿勢に合わせて3次元オブジェクトを表示することにより、マーカが検出された位置にあたかも3次元オブジェクトが実在しているかのような画像を得ることができる。
【0041】
続いて、制御部22は、ステップS109として、撮像部40によって撮像された次の画像を取得し、ステップS110として、撮像された画像を表示部2に表示させる。続いて、制御部22は、ステップS111として、位置・姿勢検出部36の検出結果に基づいて、現時点(ステップS109で画像が撮像された時点)での自端末の位置である第2の位置と、現時点での自端末の姿勢である第2の姿勢を算出する。
【0042】
そして、制御部22は、ステップS112として、第1の位置と第2の位置の変位量に基づいて基準位置を変換することにより、実際のマーカの予測位置を算出する。マーカの予測位置とは、自端末からみた実際のマーカの現時点(ステップS109で画像が撮像された時点)での相対的な位置である。なお、変換は、例えば変換行列を用いて実現される。
【0043】
また、制御部22は、ステップS113として、第1の位置と第2の位置の変位量と、第1の姿勢と第2の姿勢の変化量とに基づいて基準姿勢を変換することにより、実際のマーカの予測姿勢を算出する。予測姿勢とは、自端末からみた実際のマーカの現時点(ステップS109で画像が撮像された時点)での相対的な姿勢である。なお、変換は、例えば変換行列を用いて実現される。
【0044】
続いて、制御部22は、ステップS114として、ステップS101で取得したモデルデータに基づいて、予測位置に合わせた大きさと、予測姿勢に合わせた姿勢とを有する3次元オブジェクトを生成する。ここで、予測位置に合わせた大きさとは、モデルデータにおいて定義されている大きさの3次元オブジェクトが実際に予測位置に存在する場合に撮像部40によって撮像される画像に写る大きさである。また、予測姿勢に合わせた姿勢とは、マーカの姿勢とモデルデータの姿勢について予め定められている対応関係に基づいて予測姿勢から算出される姿勢である。
【0045】
続いて、制御部22は、ステップS115として、表示部2に表示されている画像の予測位置に対応する位置に、ステップS114で生成した3次元オブジェクトを重畳して表示させた場合に、3次元オブジェクトが一部でも画像と重なるかを判定する。
【0046】
3次元オブジェクトが一部でも画像と重なる場合(ステップS115,Yes)、制御部22は、ステップS116として、表示部2に表示されている画像の予測位置に対応する位置に、ステップS114で生成した3次元オブジェクトを重畳して表示させる。ここで、3次元オブジェクトは、底面または底面を拡張した平面上のいずれか一点が予測位置と一致するように配置されることが好ましい。
【0047】
3次元オブジェクトが画像と重ならない場合(ステップS115,No)、制御部22は、ステップS117として、表示部2に表示されている画像の予測位置と最も近い位置の近隣に、予測位置が存在する方向を示すガイドを重畳して表示させる。ここでは、例えば、予測位置が存在する方向を示す矢印がガイドとして表示される。
【0048】
こうして画像に3次元オブジェクトまたはガイドを重畳して表示させた後、制御部22は、ステップS118として、操作部13において終了指示が受け付けられたかを判定する。終了指示が受け付けられていない場合(ステップS118,No)、制御部22は、ステップS109以降を再実行する。終了指示が受け付けられた場合(ステップS118,Yes)、制御部22は、仮想情報表示処理を終了させる。
【0049】
次に、図7から図9を参照しながら、携帯情報機器1による仮想情報の表示の具体例について説明する。ここでは、オンラインショッピングで机を購入するに前に、部屋に机を置いた状態を確認するために、机と同じ形状の3次元オブジェクト60を仮想情報として表示させる例について説明する。
【0050】
図7は、オンラインショッピングで購入しようとしている商品(机)を仮想情報として表示させる例を示す図である。3次元オブジェクト60を仮想情報として表示させるための前準備として、利用者は、まず、机と同一形状の3次元オブジェクト60を生成するための3次元モデルデータ24bをオンラインショッピングサイトからダウンロードして、携帯情報機器1の記憶部24に記憶させる。また、利用者は、マーカ情報24aによって大きさおよび形状が定義されているマーカ50を、机の設置予定場所に置く。
【0051】
このような準備が完了した後、利用者がメニュー画面からの選択等によって仮想情報表示プログラム24cを起動させると、図6に示した仮想情報表示処理が開始される。そして、利用者がマーカ50を撮像部40によって撮像される画像内に写り込ませると、ステップS11に示すように、制御部22は、マーカ50を検出し、マーカ50の位置および姿勢に合わせて3次元オブジェクト60を表示させる。その結果、表示部2には、設置予定場所に机の3次元オブジェクト60が重畳された部屋の内部の画像が表示される。この最初の段階では、撮像部40によって撮像される画像内でのマーカ50の位置、大きさおよび形状に基づいて、3次元オブジェクト60の位置、大きさおよび姿勢が決定される。
【0052】
この状態から、利用者が携帯情報機器1の位置や向きを変更すると、表示部2に表示される画像内での3次元オブジェクト60の位置、大きさおよび姿勢が変化する。例えば、利用者が携帯情報機器1をマーカ50に近づけると、マーカ50の周辺の家具や備品が拡大されるのと同様に3次元オブジェクト60も拡大される。また、利用者が携帯情報機器1の向きを左向きに変化させると、マーカ50の周辺の家具が画像中で右へ移動するのと同様に3次元オブジェクト60も画像中で右へ移動する。
【0053】
このように、利用者は、携帯情報機器1の位置や向きを変更することによって、設置予定場所に机を設置した状態の部屋の内部の画像を様々な視点から確認することができる。利用者は、3次元オブジェクト60を生成する3次元モデルデータ24bを変更して、他の種類の机を設置した状態の部屋の内部の画像を確認することもできる。
【0054】
このように様々に視点を変更する段階では、携帯情報機器1の位置の変位量および姿勢の変化量から予測されるマーカ50の位置および姿勢に基づいて、3次元オブジェクト60の位置、大きさおよび姿勢が決定される。このため、ステップS12に示すように携帯情報機器1の向きが左向きに変化し、撮像部40によって撮像される画像にマーカ50の全体が写っていない状態となっても、3次元オブジェクト60は、マーカ50が置かれた位置に重畳して表示される。
【0055】
そして、携帯情報機器1の向きがさらに左向きに変化し、3次元オブジェクト60が撮像部40の撮像範囲から外れると、ステップS13に示すようにマーカ50が置かれた位置に最も近い辺の近隣に、マーカ50が置かれた位置の方向を示すガイド70が表示される。このようにガイド70を表示することにより、利用者が、仮想情報が表示される位置を見失わないようにすることができる。
【0056】
なお、図7では仮想情報として表示される3次元オブジェクト60を様々な視点から確認する例を示したが、上述した仮想情報表示処理を変形することによって3次元オブジェクト60の位置や大きさを任意に変更できるようにしてもよい。
【0057】
図8は、3次元オブジェクト60の位置を変更する例を示す図である。図8に示すステップS21では、マーカ50および3次元オブジェクト60は、表示部2に表示される画像の左寄りに位置している。ここで、操作部13で所定の操作が行われた場合に、制御部22が、操作に合わせて3次元オブジェクト60の位置を移動させることとしてもよい。
【0058】
図8に示すステップS22では、制御部22が、操作に合わせて3次元オブジェクト60の位置を移動させたことによって、マーカ50の位置に変化がないにも関わらず、3次元オブジェクト60が画像の右寄りに移動している。このように利用者の操作に応じて仮想情報を表示する位置を変更することにより、マーカ50を別の位置に置いた状態を容易に確認することができる。このことは、例えば、複数の机の設置場所の候補を比較する場合に便利である。なお、3次元オブジェクト60の位置の変更は、例えば、利用者の操作に応じて、マーカ50の予測位置に対して3次元オブジェクト60を配置する位置をオフセットする量を変更することで実現される。
【0059】
図9は、3次元オブジェクト60の大きさを変更する例を示す図である。図9に示すステップS31では、3次元オブジェクト60は通常の大きさで表示されている。ここで、操作部13で所定の操作が行われた場合に、制御部22が、操作に合わせて3次元オブジェクト60の大きさを変更することとしてもよい。
【0060】
図9に示すステップS32では、制御部22が、操作に合わせて3次元オブジェクト60の位置を拡大させたことによって、マーカ50の位置に変化がないにも関わらず、3次元オブジェクト60が大きく表示されている。このように利用者の操作に応じて仮想情報を表示する大きさを変更することにより、3次元オブジェクト60を生成する3次元モデルデータ24bを変更することなく3次元オブジェクト60の表示サイズを変更することができる。このことは、例えば、サイズ違いの机のそれぞれを設置した状態を見比べたい
場合に便利である。なお、3次元オブジェクト60の大きさの変更は、例えば、利用者の操作に応じて、3次元オブジェクト60に乗じる係数を変更することで実現される。
【0061】
上述してきたように、本実施例に係る携帯情報機器は、自端末の位置および姿勢の変化を検出する検出部と、撮像部と、前記撮像部によって撮像される画像を表示する表示部と、所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第1の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出し、前記撮像部によって撮像された第2の画像を前記表示部に表示させる場合に、前記第1の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第2の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第2の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出し、前記第2の画像の当該予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させる制御部とを備える。
【0062】
また、本実施例に係る仮想情報表示プログラムは、端末の位置および姿勢の変化を検出する検出部と、撮像部と、前記撮像部によって撮像される画像を表示する表示部とを備える携帯情報機器に、所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第1の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出するステップと、前記撮像部によって撮像された第2の画像を前記表示部に表示させるステップと、前記第1の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第2の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第2の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出するステップと、前記第2の画像の前記予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させるステップとを実行させる。
【0063】
これらの構成によれば、マーカの基準位置が取得された後は、自端末の位置の変化に基づいてマーカの位置を予測し、予測された位置に対応する画像上の位置に仮想情報を表示させることとしたので、マーカ全体が画像に写っていない場合でもマーカに対応する位置に仮想情報を表示させることができる。
【0064】
ここで、前記制御部は、前記第2の画像を前記表示部に表示させる場合に、前記第2の画像の前記予測位置に対応する位置に前記予測位置に応じた大きさで前記仮想情報を重畳して表示させることが好ましい。
【0065】
この構成によれば、マーカの予測された位置に応じて仮想情報の大きさを変更して表示することとしたので、仮想情報を実在しているものであるかのように表示させることができる。
【0066】
また、前記制御部は、前記第1の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な姿勢である基準姿勢を算出し、前記第2の画像を前記表示部に表示させる場合に、前記第1の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記第2の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記基準姿勢とに基づいて、前記第2の画像の撮像時における前記マーカの予測姿勢を算出し、前記第2の画像の前記予測位置に対応する位置に前記予測姿勢に基づいて姿勢を設定した前記仮想情報を重畳して表示させることが好ましい。
【0067】
この構成によれば、マーカの姿勢をさらに予測し、マーカの予測された姿勢に基づいて姿勢を設定した仮想情報を表示することとしたので、仮想情報を実在しているものであるかのように表示させることができる。
【0068】
また、前記制御部は、前記予測位置が、前記仮想情報が前記第2の画像に重畳されない位置にある場合に、前記予測位置がどの方向に存在するかを示すガイドを前記表示部に表示させることが好ましい。
【0069】
この構成によれば、仮想情報が表示される位置を示すガイドを表示することとしたので、利用者が仮想情報の位置を見失わないようにすることができる。
【0070】
また、前記携帯情報機器は、操作を受け付ける操作部をさらに有し、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報を変化させて表示させることが好ましい。例えば、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の大きさを変化させて表示させることとしてもよい。また、前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の位置を変化させて表示させることとしてもよい。
【0071】
この構成によれば、利用者は、マーカの位置を変更して基準位置を取得し直させたり、仮想情報として表示するデータを変更したりすることなく、仮想情報の位置や大きさ等を任意に変更して表示させることができる。
【0072】
また、前記携帯情報機器は、他の装置と通信を行う通信部をさらに備え、前記制御部は、前記通信部による通信を介して前記仮想情報を前記他の装置から取得することが好ましい。
【0073】
この構成によれば、利用者は、他の装置から通信によって取得された多様な仮想情報を表示させることができる。
【0074】
また、前記仮想情報は、3次元モデルデータに基づいて生成される3次元オブジェクトであり、前記制御部は、前記第2の画像に前記仮想情報を重畳して表示させる場合に、予め取得されている前記3次元モデルデータに基づいて前記仮想情報を生成することが好ましい。
【0075】
この構成によれば、仮想情報を表示し直すたびに3次元モデルデータを取得し直す必要がないので、仮想情報を表示する処理の遅延や携帯情報機器の負荷の増大を抑止できる。
【0076】
なお、上記の実施例で示した本発明の態様は、本発明の要旨を逸脱しない範囲で任意に変更することができる。例えば、上記の実施例では、1つの仮想情報を表示する例を示したが、複数の仮想情報を表示できるようにしてもよい。この場合、それぞれの仮想情報に対応するマーカの基準位置および基準姿勢の取得は、1つの画像に基づいて一括して実行してもよいし、マーカ毎に画像を撮影して実行してもよい。
【0077】
また、上記の実施例では、撮像部40によって撮像された画像に基づいて基準位置および基準姿勢を最初に一度だけ取得することとしたが、基準位置および基準姿勢を取得し直すようにしてもよい。例えば、撮像部40によって撮像された画像の中央の所定の範囲内でマーカが検出された場合に、画像に基づいて基準位置および基準姿勢を取得し直してもよい。このようにすることで、位置・姿勢検出部36の検出結果に基づいて算出される自端末の位置および姿勢が実際の位置および姿勢とずれた場合にずれを補正することができる。また、ゆがみの小さい画像の中央付近を用いることで、ずれの補正を高精度に行うことができる。
【0078】
また、上記の実施例では、3次元オブジェクトを仮想情報として表示する例を示したが、平面の上に文字や図形等を表した2次元オブジェクトを仮想情報として表示してもよい。この場合、自端末からみた実際のマーカ50の相対的な姿勢に関わりなく、2次元オブジェクトは、常に文字や図形等が表された面が撮像部4に正対しているように画像に重畳される。なお、3次元オブジェクトを仮想情報として表示する場合であっても、自端末からみた実際のマーカ50の相対的な姿勢に関わりなく、常に特定の方向から見た状態の3次元オブジェクトを画像に重畳してもよい。
【0079】
また、表示されている仮想情報を選択する操作が操作部13で検出された場合に、選択された仮想情報に対応する情報を表示部2に表示させてもよい。例えば、図7に示したようにオンラインショッピングで購入しようとしている商品が仮想情報として表示されている場合、仮想情報を選択する操作が検出されると仮想情報に対応する商品を購入するためのWEBページを表示部2に表示させることとしてもよい。
【0080】
また、携帯情報機器1に裸眼または眼鏡着用での3次元表示に対応した表示部を設け、仮想情報を立体的に表示させることとしてもよい。また、携帯情報機器1に3次元スキャナ機能をもたせ、3次元スキャナ機能によって取得された3次元オブジェクトを仮想情報として表示するようにしてもよい。
【符号の説明】
【0081】
1 携帯情報機器
2 表示部
13 操作部
15 マイク
16 レシーバ
22 制御部
24 記憶部
24a マーカ情報
24b 3次元モデルデータ
24c 仮想情報表示プログラム
26 通信部
36 位置・姿勢検出部(検出部)
40 撮像部

【特許請求の範囲】
【請求項1】
携帯情報機器であって、
当該携帯情報機器の位置および姿勢の変化を検出する検出部と、
撮像部と、
前記撮像部によって撮像される画像を表示する表示部と、
所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第1の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出し、
前記撮像部によって撮像された第2の画像を前記表示部に表示させる場合に、前記第1の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第2の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第2の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出し、前記第2の画像の当該予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させる制御部と
を備えることを特徴とする携帯情報機器。
【請求項2】
前記制御部は、前記第2の画像を前記表示部に表示させる場合に、前記第2の画像の前記予測位置に対応する位置に前記予測位置に応じた大きさで前記仮想情報を重畳して表示させることを特徴とする請求項1に記載の携帯情報機器。
【請求項3】
前記制御部は、前記第1の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な姿勢である基準姿勢を算出し、
前記第2の画像を前記表示部に表示させる場合に、前記第1の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記第2の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置および姿勢と、前記基準姿勢とに基づいて、前記第2の画像の撮像時における前記マーカの予測姿勢を算出し、前記第2の画像の前記予測位置に対応する位置に前記予測姿勢に基づいて姿勢を設定した前記仮想情報を重畳して表示させることを特徴とする請求項1または2に記載の携帯情報機器。
【請求項4】
前記制御部は、前記予測位置が、前記仮想情報が前記第2の画像に重畳されない位置にある場合に、前記予測位置がどの方向に存在するかを示すガイドを前記表示部に表示させることを特徴とする請求項1から3のいずれか1項に記載の携帯情報機器。
【請求項5】
操作を受け付ける操作部をさらに有し、
前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報を変化させて表示させることを特徴とする請求項1から4のいずれか1項に記載の携帯情報機器。
【請求項6】
前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の大きさを変化させて表示させることを特徴とする請求項5に記載の携帯情報機器。
【請求項7】
前記制御部は、前記操作部によって受け付けられた操作に応じて前記仮想情報の位置を変化させて表示させることを特徴とする請求項5または6に記載の携帯情報機器。
【請求項8】
他の装置と通信を行う通信部をさらに備え、
前記制御部は、前記通信部による通信を介して前記仮想情報を前記他の装置から取得することを特徴とする請求項1から7のいずれか1項に記載の携帯情報機器。
【請求項9】
前記仮想情報は、3次元モデルデータに基づいて生成される3次元オブジェクトであり、
前記制御部は、前記第2の画像に前記仮想情報を重畳して表示させる場合に、予め取得されている前記3次元モデルデータに基づいて前記仮想情報を生成することを特徴とする請求項1から8のいずれか1項に記載の携帯情報機器。
【請求項10】
当該携帯情報機器の位置および姿勢の変化を検出する検出部と、撮像部と、前記撮像部によって撮像される画像を表示する表示部とを備える携帯情報機器に、
所定の位置に置かれた所定の大きさおよび形状を有するマーカを前記撮像部が撮像した第1の画像に基づいて、当該携帯情報機器からみた実在の前記マーカの相対的な位置である基準位置を算出するステップと、
前記撮像部によって撮像された第2の画像を前記表示部に表示させるステップと、
前記第1の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記第2の画像の撮像時に前記検出部の検出結果に基づいて取得された当該携帯情報機器の位置と、前記基準位置とに基づいて、前記第2の画像の撮像時において前記マーカが実在すると予測される位置である予測位置を算出するステップと、
前記第2の画像の前記予測位置に対応する位置に前記マーカに対応する仮想情報を重畳して表示させるステップと
を実行させることを特徴とする仮想情報表示プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−174243(P2012−174243A)
【公開日】平成24年9月10日(2012.9.10)
【国際特許分類】
【出願番号】特願2011−39075(P2011−39075)
【出願日】平成23年2月24日(2011.2.24)
【出願人】(000006633)京セラ株式会社 (13,660)
【Fターム(参考)】