(57)【特許請求の範囲】
【請求項１】
撮像装置により撮像された画像を取得する画像取得部と、
前記撮像装置の高度情報を取得する高度情報取得部と、
前記撮像装置の傾き情報を取得する傾き情報取得部と、
取得した前記高度情報に含まれる高度の誤差情報と、取得した前記傾き情報とに基づき、前記画像に表示するオブジェクトデータを決定する制御部と、
を有することを特徴とする情報処理装置。
【請求項２】
前記制御部は、
前記高度情報を取得した測位方式の種類に応じて決められた誤差値を用いて前記高度情報の補正を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
前記高度情報の補正が必要な否かを判定し、前記高度情報の補正が必要であると判定された場合に、前記高度情報の補正を行うことを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記測位方式は、ＧＰＳ、Ｗｉ−Ｆｉネットワーク、及びモバイルネットワークのうち、少なくとも１つを含むことを特徴とする請求項２に記載の情報処理装置。
【請求項５】
撮像装置により撮像された画像を取得し、
前記撮像装置の高度情報を取得し、
前記撮像装置の傾き情報を取得し、
取得した前記高度情報に含まれる高度の誤差情報と、取得した前記傾き情報とに基づき、前記画像に表示するオブジェクトデータを決定する、
処理をコンピュータが実行する表示制御方法。
【請求項６】
撮像装置により撮像された画像を取得し、
前記撮像装置の高度情報を取得し、
前記撮像装置の傾き情報を取得し、
取得した前記高度情報に含まれる高度の誤差情報と、取得した前記傾き情報とに基づき、前記画像に表示するオブジェクトデータを決定する、
処理をコンピュータに実行させるための表示制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、表示制御方法、及び表示制御プログラムに関する。
【背景技術】
【０００２】
カメラ等の撮像装置により撮像された画像の一部にオブジェクトデータを重畳して表示させる拡張現実（Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ：ＡＲ）技術が知られている。
【０００３】
従来のＡＲ技術では、撮像画像から認識されたＡＲマーカ等の基準物（画像データ）に対する位置情報や識別情報（マーカＩＤ）を取得すると、マーカＩＤに対応付けられたオブジェクトデータと配置情報とを含むＡＲコンテンツを取得し、マーカ領域の大きさや形状（歪み）から、マーカとカメラとの位置関係を推定し、推定した位置関係を用いて、オブジェクトデータの配置（位置、向き等）を決定し、決定した配置でオブジェクトデータを撮影画像に重畳表示する。
【０００４】
また、ＡＲマーカに対応付いたオブジェクトデータを表示させるのではなく、Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ（ＧＰＳ，全地球測位網）等の所定の測位方式からの位置情報と、端末装置の傾き情報とに基づいて、その端末装置が撮影した画像に対応するオブジェクトデータ等を重畳表示する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−１８４４３６号公報
【特許文献２】国際公開第２０１２／０３３０９５号
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、現在のＧＰＳの精度として１０ｍ〜２０ｍ程度の誤差がある。ＧＰＳは、三次元（緯度、経度、高度）で位置を測位することができるが、そのうち水平方向（緯度、経度）の誤差は、許容される場合が多い。一方、高度の２０ｍの誤差による影響は大きく、例えば上から見下ろした場合における対象物のオブジェクトデータを撮影画像に重畳させたい場合でも、誤差により下から見上げた場合における対象物のオブジェクトデータが表示されてしまう場合がある。このように、測位に伴う高度誤差により、適切なオブジェクトデータが表示されない。
【０００７】
一つの側面では、本発明は、測位に伴う高度誤差に対応したオブジェクトデータを表示することを目的とする。
【課題を解決するための手段】
【０００８】
一つの態様では、情報処理装置において、撮像装置により撮像された画像を取得する画像取得部と、前記撮像装置の高度情報を取得する高度情報取得部と、前記撮像装置の傾き情報を取得する傾き情報取得部と、取得した前記高度情報に含まれる高度の誤差情報と、取得した前記傾き情報とに基づき、前記画像に表示するオブジェクトデータを決定する制御部と、を有する。
【発明の効果】
【０００９】
一つの側面として、測位に伴う高度誤差に対応したオブジェクトデータを表示することができる。
【図面の簡単な説明】
【００１０】
【図１】端末装置の機能構成の一例を示す図である。
【図２】端末装置のハードウェア構成の一例を示す図である。
【図３】ＡＲコンテンツ情報の一例を示す図である。
【図４】補正時に用いられるオフセットデータの一例を示す図である。
【図５】本実施形態における表示制御処理の一例を示すフローチャートである。
【図６】補正処理の一例を示すフローチャートである。
【図７】画面位置の計算処理の一例を示すフローチャートである。
【図８】オブジェクトデータを重畳した画面例を示す図である。
【図９】本実施形態における高度の補正について説明するための図である。
【図１０】オブジェクトデータの切り替わりの例を示す図である。
【発明を実施するための形態】
【００１１】
以下、図面に基づいて実施形態を説明する。
【００１２】
＜情報処理装置の機能構成例＞
本実施形態における情報処理装置の一例としての端末装置の機能構成例について、図を用いて説明する。図１は、端末装置の機能構成の一例を示す図である。図１に示す端末装置１０は、通信部１１と、撮像部（画像取得部）１２と、表示部１３と、記憶部１４と、検出部（高度情報取得部、傾き情報取得部）１５と、制御部１６とを有する。
【００１３】
通信部１１は、例えばインターネットやＬｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）等の通信ネットワークとデータの送受信が可能な状態で接続されている。通信部１１は、例えばオブジェクトデータとその配置（位置）情報とを含むＡＲコンテンツを管理する管理サーバ等に、撮影位置や傾き等の情報を送信し、管理サーバ等から対応するＡＲコンテンツ情報等を受信する。オブジェクトデータとは、例えば現実空間に対応する三次元の仮想空間上に配置される物体のモデルデータ等であり、例えば撮像部１２で撮影された画像に重畳して表示される重畳用データである。オブジェクトデータは、例えばテキスト、アイコン、アニメーション、マーク、模様、画像、映像等の様々な形態が含まれる。
【００１４】
また、通信部１１は、例えば赤外線通信やＷｉ−Ｆｉ（登録商標）、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の通信手法を用いて、他の端末装置１０等のコンピュータと近距離通信を行うことができる。
【００１５】
撮像部１２は、一定のフレーム間隔で撮影を行い、画像データを生成する。撮像部１２は、例えばデジタルカメラ等の撮像装置であるが、これに限定されるものではない。また、撮像部１２は、端末装置１０に内蔵されていてもよく、接続可能な外部装置であってもよい。撮像部１２を装着する場合には、傾きや方向等が端末装置１０と一体に動作されるものが好ましいが、これに限定されるものではない。また、撮像部１２は、外部（撮像装置）で撮影された画像データを取得してもよい。この場合には、撮像装置の位置情報や傾き情報を有することが好ましいが、これに限定されるものではない。
【００１６】
表示部１３は、撮像部１２から取得した撮影画像や、撮影画像にＡＲコンテンツを重畳した合成画像を表示する。また、表示部１３は、本実施形態における表示制御処理を行うために予め設定されたメニュー画面や設定画面、端末装置１０を操作するための操作画面等を表示する。また、表示部１３は、タッチパネル等のように、画面上から情報の入力を行ってもよい。
【００１７】
記憶部１４は、本実施形態において必要な各種情報を記憶する。記憶部１４は、例えば、制御部１６等の制御により、情報を書き込んだり、読み出したりすることができる。記憶部１４には、例えば上述したＡＲコンテンツ情報、位置情報（高度）の補正時に用いられるオフセット情報、各種設定情報等が記憶されるが、記憶される内容については、これに限定されるものではない。
【００１８】
検出部１５は、例えば、１又は複数の測位方式を用いて端末装置１０（又は撮像部１２）の位置情報及び傾き情報を取得する。位置情報の測位方式としては、例えばＧＰＳを用いたり、接続中のＷｉ−Ｆｉネットワーク（例えば、ルータ）やモバイルネットワーク（例えば、基地局）等の位置から位置情報(緯度、経度、高度)を取得することができるが、これに限定されるものではない。例えば、検出部１５は、撮像部１２の高度情報を取得する高度情報取得部でもよく、撮像部１２の傾き情報を取得する傾き情報取得部でもよい。
【００１９】
なお、検出部１５は、幾つのＧＰＳを用いて測位したかの情報を取得することができる。また、検出部１５は、同時に複数のＷｉ−Ｆｉネットワークやモバイルネットワークと接続中の場合には、それぞれの位置情報の平均値や、受信強度が最大のルータや基地局等の位置情報を用いて端末装置１０の位置情報を取得してもよい。
【００２０】
また、傾き情報の測定方式としては、例えば電子コンパスやジャイロセンサ等を用いて、方位情報(傾斜（Ｐｉｔｃｈ）、方位（Ａｚｉｍｕｔｈ）、回転（Ｒｏｌｌ）)等を取得することができるが、これに限定されるものではない。電子コンパスは、地磁気センサ、方位センサ等の一例であり、地球の地磁気を二次元又三次元で検出し、地磁気に対してどの方角を向いているかにより、方位情報を取得することができる。また、ジャイロセンサは、回転していることを検知したり、向きの変化を検知することで方位情報を取得することができる。
【００２１】
検出部１５は、上述した位置情報や傾き情報を定期的に取得する。また、検出部１５は、各種センサや撮像部１２等による検出距離や認識距離、撮影範囲（画角情報）等を、予め設定された設定情報より取得することができる。
【００２２】
制御部１６は、端末装置１０の各構成全体を制御する。制御部１６は、例えば位置認識処理や表示制御処理等が実行される。位置認識処理とは、オブジェクトデータ等に対する特定の位置情報が端末装置１０が取得する撮影画像内において取得可能な位置範囲内に含まれるか否かを認識する処理である。また、表示制御処理とは、位置認識処理において特定の位置情報が撮影画像内において取得可能な範囲内にある場合に、対応するオブジェクトデータを撮影画像の所定位置に重畳する処理である。また、制御部１６は、端末装置１０にイントールされている各種アプリケーションやソフトウェアの実行等を制御する。また、制御部１６は、各種処理の開始や終了を制御したり、予め設定された前処理等を行ったり、異常発生時にエラー処理等の制御を行う。
【００２３】
図１に示す制御部１６は、認識部２１と、判定部２２と、補正部２３と、表示制御部２４とを有する。
【００２４】
認識部２１は、端末装置１０（又は撮像部１２）の位置情報、傾き情報、認識距離、撮影範囲等の情報から、上述した位置認識処理を行う。例えば、認識部２１は、端末装置１０の位置情報、傾き情報、認識距離等から、その撮影画像内において取得可能な位置範囲内に対してオブジェクトデータを重畳表示するかを認識する。上述した位置認識処理により、例えばユーザにとって必要ないと思われる１００ｋｍ先の山が撮影されていたとしても、予め設定された距離以上離れている（認識距離外である）ため、その山に関するオブジェクトデータを重畳表示する対象にしない等の制御を行うことができる。なお、上述したようにオブジェクトデータを重畳表示する対象にするかしないかの判断基準については、例えば上述した方位、位置、認識距離等に基づいて予め設定され、記憶部１４で管理されていてもよい。認識部２１は、その情報を参照することで、上記の認識処理を行うことができる。
【００２５】
判定部２２は、本実施形態における位置情報（例えば、高度等）の補正が必要であるか否かを判定する。補正の必要性の有無は、例えば高度の補正を行ってもオブジェクトデータの内容が変わらない場合に必要性がないと判定される。また、所定の測位方式の場合には、無条件で補正する必要性がないと判定してもよい。なお、補正の必要性の有無の判断は、これに限定されるものではない。
【００２６】
補正部２３は、判定部２２において、高度の補正が必要であると判定された場合に、例えば測位方式（例えば、ＧＰＳ、Ｗｉ−Ｆｉネットワーク、モバイルネットワーク）等に応じて設定された補正値（オフセット値）に基づいて、高度の補正値の算出を行う。オフセットに関する情報（オフセットテーブル）は、記憶部１４に記憶される。なお、補正内容については、これに限定されるものではなく、高度以外の位置情報（緯度又は経度）や傾き情報を補正してもよい。また、補正される情報は、１つの種類（例えば、高度）だけでもよく、複数種類でもよい。
【００２７】
表示制御部２４は、判定部２２による判定結果や、補正部２３による補正結果等が反映された位置情報、傾き情報、ＡＲコンテンツ情報等に基づき、例えば撮影画像に含まれる対象物に対応するようなオブジェクトデータを撮影画像に重畳表示する。また、表示制御部２４は、重畳表示された画像を表示部１３により表示させる。これにより、測位に伴う高度誤差を考慮したオブジェクト表示を実現できる。
【００２８】
端末装置１０は、例えばタブレット端末やスマートフォン、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔｓ（ＰＤＡ）、ノート型ＰＣ等であるが、これに限定されるものではなく、例えばゲーム機器、携帯電話等の通信端末であってもよい。
【００２９】
＜端末装置１０のハードウェア構成例＞
次に、端末装置１０として機能するコンピュータのハードウェア構成例について、図を用いて説明する。図２は、端末装置のハードウェア構成の一例を示す図である。図２の例において、端末装置１０は、マイクロフォン（以下、「マイク」という）３１と、スピーカ３２と、カメラ３３と、表示部３４と、操作部３５と、センサ部３６と、電力部３７と、無線部３８と、近距離通信部３９と、補助記憶装置４０と、主記憶装置４１と、ＣＰＵ４２と、ドライブ装置４３とを有し、これらはシステムバスＢで相互に接続されている。
【００３０】
マイク３１は、ユーザが発した音声や、その他の音を入力する。スピーカ３２は、通話相手先の音声を出力したり、着信音等の音を出力する。マイク３１及びスピーカ３２は、例えば、通話機能等により通話相手と会話するとき等に用いることができるが、これに限定されるものではなく、音声による情報の入出力に用いることができる。
【００３１】
カメラ３３は、例えば予め設定された画角内の実空間の画像（動画像、静止画像）を撮影する。カメラ３３は、上述した撮像部１２の一例である。カメラ３３を端末装置１０に内蔵されていてもよく、外付けされていてもよい。
【００３２】
表示部３４は、ユーザに対してＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）や各種アプリケーションで設定された画面（例えば、実空間にオブジェクトデータが重畳された画像等）を表示する。表示部３４は、上述した表示部１３の一例である。また、表示部３４は、タッチパネルディスプレイ等でもよく、その場合には表示部３４は、入出力部としての機能を有する。表示部３４は、例えばＬｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ（ＬＣＤ）や有機Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ（ＥＬ）等のディスプレイである。
【００３３】
操作部３５は、表示部３４の画面に表示された操作ボタンや端末装置１０の外部に設けられた操作ボタン等である。操作ボタンは、例えば電源ボタンや音量調整ボタンでもよく、所定の順番で配列された文字入力用の操作キー等でもよい。ユーザは、例えば表示部３４の画面上で所定の操作を行ったり、上述した操作ボタンを押すことで、表示部３４により画面上のタッチ位置が検出される。また、表示部３４は、画面上にアプリ実行結果やコンテンツやアイコン、カーソル等を表示することができる。
【００３４】
センサ部３６は、端末装置１０のある時点又は継続的な位置や傾き（方位）、動作を検出する。センサ部３６は、上述した検出部１５の一例である。例えば、センサ部３６は、端末装置１０の傾き角度、方向、位置、加速度等を検出するが、これに限定されるものではない。なお、センサ部３６としては、例えばＧＰＳ、ジャイロセンサ、傾きセンサ、加速度センサ等であるが、これに限定されるものではない。
【００３５】
電力部３７は、端末装置１０の各構成に対して電力を供給する。電力部３７は、例えばバッテリ等の内部電源であるが、これに限定されるものではない。電力部３７は、電力量を常時又は所定の時間間隔で検出し、電力量の残量等を監視することもできる。
【００３６】
無線部３８は、例えばアンテナ等を用いて基地局（モバイルネットワーク）からの無線信号（通信データ）を受信したり、アンテナを介して無線信号を基地局に送信する通信データの送受信部である。
【００３７】
近距離通信部３９は、例えば赤外線通信やＷｉ−Ｆｉ、Ｂｌｕｅｔｏｏｔｈ等の通信手法を用いて、他の端末装置１０等のコンピュータと近距離通信を行うことができる。上述した無線部３８及び近距離通信部３９は、他のコンピュータとのデータの送受信を可能とする通信インタフェースである。
【００３８】
補助記憶装置４０は、例えばＨａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ（ＨＤＤ）やＳｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ（ＳＳＤ）等のストレージ手段である。補助記憶装置４０は、ＣＰＵ４２からの制御信号に基づき、本実施形態における実行プログラム（表示制御プログラム）や、コンピュータに設けられた制御プログラム等を記憶し、必要に応じて入出力を行う。補助記憶装置４０は、ＣＰＵ４２からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込むことができる。
【００３９】
主記憶装置４１は、ＣＰＵ４２からの指示により補助記憶装置４０から読み出された実行プログラム等を格納したり、プログラム実行中に得られる各種情報等を記憶する。主記憶装置４１は、例えばＲｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）やＲａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等である。
【００４０】
ＣＰＵ４２は、ＯＳ等の制御プログラム、及び主記憶装置４１に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、コンピュータ全体の処理を制御することで、本実施形態における表示制御における各処理を実現する。ＣＰＵ４２は、上述した制御部１６の一例である。
【００４１】
具体的には、ＣＰＵ４２は、例えば操作部３５等から得られるプログラムの実行指示等に基づき、補助記憶装置４０にインストールされたプログラムを実行させることにより、主記憶装置４１上でプログラムに対応する処理を行う。例えば、ＣＰＵ４２は、表示制御プログラムを実行させることで、上述した通信部１１による各種データの通信、撮像部１２による撮像、表示部１３による表示、記憶部１４による各種情報の表示、検出部１５による位置情報や傾き情報の検出等の処理を行う。また、ＣＰＵ４２は、表示制御プログラムを実行させることで、上述した認識部２１による位置認識、判定部２２による補正処理の対象であるかの判定、補正部２３による位置情報等の補正、表示制御部２４による表示制御等の処理を行う。ＣＰＵ４２における処理内容は、上述した内容に限定されるものではない。ＣＰＵ４２により実行された内容は、必要に応じて補助記憶装置４０等に記憶される。
【００４２】
ドライブ装置４３は、例えば記録媒体４４等を着脱自在にセットすることができ、セットした記録媒体４４に記録された各種情報を読み込んだり、所定の情報を記録媒体４４に書き込むことができる。ドライブ装置４３は、例えば媒体装填スロット等であるが、これに限定されるものではない。
【００４３】
記録媒体４４は、上述したように実行プログラム等を格納するコンピュータで読み取り可能な記録媒体である。記録媒体４４は、例えばフラッシュメモリ等の半導体メモリであってもよい。また、記録媒体４４は、ＵＳＢメモリ等の可搬型記録媒体であってもよいが、これに限定されるものではない。
【００４４】
本実施形態では、上述したコンピュータ本体のハードウェア構成に実行プログラム（例えば、表示制御プログラム等）をインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態における表示制御処理等を実現することができる。また、上述した表示制御処理に対応する表示制御プログラムは、例えば端末装置１０上で常駐している状態であってもよく、起動指示により起動させてもよい。
【００４５】
＜データ例＞
次に、本実施形態における表示制御処理で使用されるデータ例について図を用いて説明する。図３は、ＡＲコンテンツ情報の一例を示す図である。図３に示すＡＲコンテンツ情報は、オブジェクトデータとその配置（位置）情報とを含む。
【００４６】
図３に示すＡＲコンテンツ情報の項目の一例としては、例えば「位置情報」、「カメラ情報」、「オブジェクトＩＤ」、「オブジェクトデータ」、「座標」等があるが、これに限定されるものではない。「位置情報」は、端末装置１０の位置情報であり、予め設定された測位方式により測位された情報である。位置情報は、緯度、経度、高度からなる三次元座標（Ｘ，Ｙ，Ｚ）で表すことができる。「カメラ情報」とは、カメラの画角情報等のカメラパラメータであり、端末装置１０又は撮像部１２の傾き情報等を含む。「オブジェクトＩＤ」は、上述した位置情報及びカメラ情報に対応するオブジェクトデータを識別するための識別情報である。「オブジェクトデータ」は、実際のオブジェクトデータの情報である。図３の例では、オブジェクトデータとして画像データが示されているが、これに限定されるものではなく、テキスト、アイコン、アニメーション、マーク、模様、映像、或いはこれらの組み合わせのデータであってもよい。また、オブジェクトデータは、例えば建造物、椅子、机、配管、人物等の各種物体や矢印、マーク、標識、文字情報等のうち、少なくとも１つである。
【００４７】
「座標」は、位置情報やカメラ情報等に対応させてオブジェクトデータを重畳表示する位置を示す座標（ｘ，ｙ，ｚ）である。座標は、各オブジェクトデータに対応付けられている。図３に示すＡＲコンテンツ情報は、端末装置１０が予め管理サーバ等から取得して記憶部１４に記憶されていてもよく、オブジェクトデータを表示する際に、現在の位置情報、傾き情報等を管理サーバに問い合わせて、対応するＡＲコンテンツ情報を取得してもよい。
【００４８】
図４は、補正時に用いられるオフセットデータの一例を示す図である。図４に示すオフセットデータの項目としては、例えば「測位方式」、「オフセット内容」等があるが、これに限定されるものではない。本実施形態では、端末装置１０が現在の位置を測位したときの測位方式に応じて、オフセット内容を設定する。「測位方式」は、測位の種類を示す情報である。「オフセット内容」は、対応するオフセットの内容に関する情報であり、例えば測位方式（計測方式）に応じて決められた誤差の最大値等が設定されるが、これに限定されるものではない。
【００４９】
また、本実施形態では、図４の例において測位方式がＧＰＳの場合、オフセット値（誤差値）は、測位時に利用した人工衛星の数（以下、「衛星数」という）で判断する。これは、衛星数が多い方が誤差が少ないからである。例えば、「衛星数」が４個以下の場合には、オフセット１００ｍとし、衛星数が４個より多く７個未満である場合には、オフセット５０ｍとし、衛星数が７個より多い場合には、オフセット２０ｍとする。
【００５０】
また、Ｗｉ−Ｆｉルータの場合には、端末装置１０からの距離が近いため、１００ｍのオフセット値を設定し、モバイルネットワークの場合には、１０００ｍのオフセット値を設定する。図４に示す測位方式やそのオフセット値については、これに限定されるものではなく、例えば測位方式の種類や性能、測位環境等に応じて決められたオフセット値を設定することができる。
【００５１】
＜表示制御処理の一例＞
次に、本実施形態における表示制御処理の一例についてフローチャートを用いて説明する。図５は、本実施形態における表示制御処理の一例を示すフローチャートである。図５の例において、端末装置１０の制御部１６は、前処理として、ＡＲ表示に対応する表示制御プログラムの起動や撮像部１２の起動、画像領域の取得等を行う（Ｓ０１）。次に、撮像部１２は、撮影を開始して、入力画像（画像データ）を取得する（Ｓ０２）。
【００５２】
次に、検出部１５は、端末装置１０の位置情報、傾き情報を取得する（Ｓ０３）。Ｓ０３の処理において、位置情報は、例えばＧＰＳにより測位される。次に、制御部１６は、補正を行うか否かを判断し（Ｓ０４）、補正を行う場合（Ｓ０４において、ＹＥＳ）、ＧＰＳにより得られた位置情報（緯度、経度、高度）のうち、高度誤差の補正処理を行う（Ｓ０５）。なお、Ｓ０５の処理については、後述する。また、Ｓ０５の処理では、高度以外の誤差補正を行ってもよい。
【００５３】
また、制御部１６は、Ｓ０４の処理において、補正を行わない場合（Ｓ０４において、ＮＯ）、又は、Ｓ０５の処理後、その取得した高度を含む位置情報を認識する（Ｓ０６）。次に、表示制御部２４は、端末装置１０の位置情報及び傾き情報（カメラ情報）に対応するＡＲコンテンツ情報を取得する（Ｓ０７）。このときの位置情報は、高度が補正された位置情報である。また、Ｓ０７の処理では、例えば位置情報及び傾き情報に対応するＡＲコンテンツ情報を記憶部１４から取得してもよい。また、Ｓ０７の処理では、ＡＲコンテンツ情報を管理する管理サーバに対して問い合わせを行い、位置情報及び傾き情報に対応するコンテンツ情報を取得してもよい。
【００５４】
次に、表示制御部２４は、変換行列を生成する（Ｓ０８）。例えば、ＡＲコンテンツ情報に含まれる「座標」の情報を実空間上の座標に変換する。変換行列を用いることで、例えば入力画像の撮影位置（座標）、大きさ、向きに対応して、オブジェクトデータの大きさ、向きを変更することができる。
【００５５】
次に、表示制御部２４は、取得したオブジェクトデータに対する画像変換（例えば、Ｓ０７における変換行列による座標変換、モデル・ビュー変換、透視変換等）をした後（Ｓ０９）、入力画像に重畳表示する（Ｓ１０）。モデル・ビュー変換とは、オブジェクトデータを実際のオブジェクト（矢印、マーク、文字情報）等の表示データに変換する処理である。また、透視変換とは、例えば三次元形状のオブジェクトの場合に、傾きや透過率、陰影等の情報を付加した表示データに変換する処理である。なお、画像変換の種類については、これに限定されるものではない。
【００５６】
次に、処理を終了するか否かを判断する（Ｓ１１）、処理を終了しない場合（Ｓ１１において、ＮＯ）、Ｓ０２の処理に戻る。また、ユーザ等の終了指示等により処理を終了する場合（Ｓ１１において、ＹＥＳ）、ＡＲ表示制御処理を終了する。
【００５７】
＜補正処理；Ｓ０５＞
次に、上述した補正処理（Ｓ０５）について、フローチャートを用いて説明する。図６は、補正処理の一例を示すフローチャートである。図６の例において、補正部２３は、ＧＰＳ等の検出部１５で取得した緯度、経度、高度等の位置情報を取得し（Ｓ２１）、端末装置１０の傾斜（Ｐｉｔｃｈ）、方位（Ａｚｉｍｕｔｈ）、回転（Ｒｏｌｌ）等の方位情報を取得する（Ｓ２２）。
【００５８】
なお、本実施形態では、Ｓ２１、Ｓ２２の処理における高度と傾斜のみを用いる。Ｓ２２の処理において、傾斜とは、例えば端末装置１０の傾き角度で、Ｘ軸（水平方向）を中心にする回転角度であるが、これに限定されるものではない。また、Ｓ２２の処理において、方位とは、端末装置１０の方位角度で、ｙ軸（垂直方向）を中心にする回転角度であるが、これに限定されるものではない。また、回転（Ｒｏｌｌ）は、端末装置１０の回転角度で、イメージ図のようにｚ軸（奥行き）を中心にする回転角度であるが、これに限定されるものではない。
【００５９】
次に、補正部２３は、図４に示すオフセットデータを用いた所定の補正式により補正値を算出する（Ｓ２３）。なお、補正式の一例としては、「補正後の高度＝高度−ｓｉｎθ＊オフセット」であるが、これに限定されるものではない。θは、例えば上述した傾斜の角度である。
【００６０】
次に、補正部２３は、ＧＰＳの取得値（位置情報）を緯度、経度、補正後の高度として設定する（Ｓ２４）。なお、上述の処理では、測位方式の一例としてＧＰＳを用いたが、例えばＷｉ−Ｆｉネットワーク（ルータ）、モバイルネットワーク（基地局）に対しても同様にオフセットデータを用いて高度の補正を行うことができる。また、本実施形態では、高度の補正だけでなく、同様の手法を用いて緯度や経度等の補正を行ってもよい。
【００６１】
＜オブジェクトデータの表示位置（重畳位置）について＞
ここで、本実施形態におけるオブジェクトデータの表示位置（重畳位置）について説明する。実空間上のオブジェクトデータは、ロケーション（緯度、経度、高度）によって測位されており、その情報は予め設定されたＡＲコンテンツ情報情報等から取得することができる。本実施形態では、予めオブジェクトデータ毎にロケーション情報が含まれる。本実施形態における表示制御処理では、オブジェクトデータの画面位置の計算、二次元又は三次元での大きさ（サイズ）の計算、オブジェクトデータの回転の計算等を行い、例えば変換行列として生成しておく。
【００６２】
ここで、表示制御部２４におけるオブジェクトデータの画面位置の計算処理についてフローチャートを用いて説明する。図７は、画面位置の計算処理の一例を示すフローチャートである。
【００６３】
図７の例において、表示制御部２４は、オブジェクトデータと端末装置１０のロケーション（緯度、経度、高度）を入力し（Ｓ３１）、緯度、経度、高度で、端末装置１０とオブジェクトデータとの距離を計算する（Ｓ３２）。なお、Ｓ３１の処理では、端末装置１０のロケーション（緯度、経度、高度）と傾き情報から対応するオブジェクトデータのロケーションを入力してもよい。
【００６４】
次に、表示制御部２４は、端末装置１０の表示画面に対応させたｘ、ｙ、ｚ軸で、オブジェクトデータと画面中心との距離を計算する（Ｓ３３）。このとき、オリエンテーション情報を入力する。オリエンテーション情報とは、例えば方向位置情報であり、方位、傾き、回転等が含まれる。次に、表示制御部２４は、視野角と画面の高度とを入力し（Ｓ３４）、ＯｐｅｎＧＬ関連の位置パラメータを計算する（Ｓ３５）。ＯｐｅｎＧＬとは、グラフィックス処理のためのプログラミングインターフェースである。位置パラメータ等を入力することで、入力画像に対応する三次元画像等を重畳表示することができる。なお、本実施形態では、ＯｐｅｎＧＬを用いるが、これに限定されるものではない。次に、表示制御部２４は、ＯｐｅｎＧＬの位置パラメータを出力する（Ｓ３６）。
【００６５】
ここで、上述の内容を具体的に説明する。まず、緯度、経度、高度で端末装置１０とオブジェクトデータの距離を以下の計算式（１）〜式（３）で計算する。式（１）〜式（３）では、例えば、緯度、経度、高度を用いて端末装置１０とオブジェクトデータとの距離を計算する。
【００６６】
【数１】
0006447251.tif 000002
ここで、Ｌａ１は端末装置１０の緯度を示し、Ｌａ２はオブジェクトデータの緯度を示し、Ａ１は、端末装置１０の高度を示す。また、Ａ２は、オブジェクトデータの高度を示し、Ｌｏ１は、端末装置１０の経度を示し、Ｌｏ２は、オブジェクトデータの経度を示す。また、Ｄｘは緯度での距離を示し、Ｄｙは高度での距離を示し、Ｄｚは経度での距離を示す。また、式（１）、式（３）の１１１１１１は、Ｌａｔｉｔｕｄｅ１度の変化における距離（１１１，１１１メートル）を示す。
【００６７】
次に、画面中央を原点とするｘ、ｙ、ｚ軸で、オブジェクトデータと画面中央の距離を以下の計算式（４）〜式（６）を用いて計算する。
【００６８】
【数２】
0006447251.tif 000003
ここで、上述した式において、Ｄｘは、緯度で、端末装置１０とオブジェクトデータの距離を示し、Ｄｙは高度で、端末装置１０とオブジェクトデータの距離を示し、Ｄｚは、経度で、端末装置１０とオブジェクトデータの距離を示す。また、ｘは端末装置１０の傾斜（ｐｉｔｃｈ）であり、ｙは、端末装置１０の方位（ａｚｉｍｕｔｈ）であり、ｚは端末装置１０の回転（ｒｏｌｌ）である。また、Ｓｘはｘ軸で、オブジェクトデータと画面中央の距離を示し、Ｓｙはｙ軸で、オブジェクトデータと画面中央の距離を示し、Ｓｚはｚ軸で、オブジェクトデータと画面中央との距離を示す。
【００６９】
次に、ＯｐｅｎＧＬ位置パラメータを以下の計算式（７）〜式（１１）を用いて計算する。
【００７０】
【数３】
0006447251.tif 000004
ここで、上述の式において、Ｌｘは、画面の幅を示し、Ｌｙは画面の高度を示す。また、Ａｘは、左右から見る視野角を示し、Ａｙは、上下から見る視野角を示す。また、Ｖｘは、ｘ座標を示し、Ｖｙは、ｙ座標を示す。また、Ｓｘはｘ軸で、オブジェクトデータと画面中央の距離を示し、Ｓｙはｙ軸で、オブジェクトデータと画面中央の距離を示し、Ｓｚはｚ軸で、オブジェクトデータと画面中央の距離を示し、Ｏｘはｘ軸で、ＯｐｅｎＧＬの位置パラメータを示し、Ｏｙはｙ軸で、ＯｐｅｎＧＬの位置パラメータを示し、Ｏｚはｚ軸で、ＯｐｅｎＧＬの位置パラメータを示す。
【００７１】
また、式（９）に示す２０は、端末装置１０とオブジェクトデータ間の距離で認識できる最小値（メートル）を示し、式（９）に示す２００，０００は、端末装置１０とオブジェクトデータ間の距離で認識できる最大値（メートル）を示し、式（９）に示す５０は、ＯｐｅｎＧＬの位置パラメータの最小値を示す。
【００７２】
上述の手法により取得したオブジェクトデータを入力画像の位置情報（三次元座標等）に対応付けて、所定の位置に重畳表示する。図８は、オブジェクトデータを重畳した画面例を示す図である。図８の例では、入力画像５０に対して、オブジェクトデータの内容に対応する実物のコンテンツ（対象物）５１の一例として山が表示されている。
【００７３】
この場合、入力画像５０を撮像した端末装置１０の位置情報と傾き情報とから、コンテンツ（対象物）５１に対応させた情報として、オブジェクトデータ５２−１，５２−２を表示させることができる。オブジェクトデータ５２は、名称等のテキストデータや矢印等の画像データ等であるが、これに限定されるものではない。また、本実施形態において、端末装置１０の位置情報は、測位方式に対応して高度情報が補正される。
【００７４】
ここで、図９は、本実施形態における高度の補正について説明するための図である。図９の例では、オブジェクトデータの一例として城６０が画面に表示される。図９の例において、例えばＧＰＳの測位による高度が０ｍであり、現実のユーザの位置が高度２０ｍであったとすると、上（２０ｍの位置）から見下ろしているにもかかわらず、下から見上げた城６０が表示される可能性がある。
【００７５】
例えば、０〜１０ｍの高度から見れるオブジェクトデータと、１０ｍ以上の位置から見れるオブジェクトデータとで、異なるオブジェクトデータが設定されていたとしても、高度の誤差により異なるオブジェクトデータが表示されてしまう。したがって、本実施形態では、上述した補正処理を行う。
【００７６】
補正の一例としては、上述したように「補正後の高度＝取得した高度（誤差を含む）−端末の傾き（誤差なし）＊オフセット（例えば、誤差の最大値等）」を用いて計算することができる。上述した図９の例に対応させると、端末装置１０の傾きθが−５０°とした場合、補正後の高度は、「高度−ｓｉｎθ＊２０ｍ（オフセットを２０ｍとした場合）＝０ｍ−ｓｉｎ（−５０°）＊２０＝０ｍ−（−１５．３２ｍ）＝１５．３２ｍ（誤差を１５．３２ｍ補正）」として、高度を補正することができる。
【００７７】
また、上述したθの値は、端末装置１０が上向きと下向きとで正負が逆になる。そのため、端末装置１０の傾きが下向きなら上方向に高度を補正し、上向きなら下方向に高度を補正されることになる。また、ｓｉｎθの正弦波を利用することで、−１〜＋１の範囲、かつ、９０°、−９０°前後での変化がより自然となる。なお、本実施形態において、測位方式がＷｉ−Ｆｉネットワークやモバイルネットワークの場合には、それに対応するオフセット値を用いて補正が行われる。
【００７８】
ここで、補正値は、ユーザが２０ｍの位置にいる想定で作成しているが、計算結果では、１５．３２ｍと誤差がある。しかしながら、本実施形態では、補正の正確性は、それほど必要なく、例えば１５．３２ｍに補正することで、高度１０ｍを基準にオブジェクトデータが切り替わるような大きな城等のオブジェクトデータを表示する場合には、その高度にあったオブジェクトデータを表示させることができる。本実施形態では、測位方式に応じたオフセット値を用いて簡易な計算で補正値を算出することができるため、処理負荷を軽減し、リアルタイムなオブジェクトデータの重畳表示を実現することができる。
【００７９】
図１０は、オブジェクトデータの切り替わりの例を示す図である。図１０に示すようにことができる。図１０に示すように、本実施形態におけるＧＰＳの高度補正がない場合には、下から見た場合は見上げた画像（城６０−１）が表示されてしまうが、本実施形態を適用して高度補正を行うことで、図１０に示すように、端末装置１０から上から見た場合の見下ろした構図の画像（城６０−２）を表示することができる。
【００８０】
上述したように、本実施形態によれば、ＧＰＳ等の測位に伴う高度誤差に対応したオブジェクトデータを表示することができる。例えば、本実施形態では、ＧＰＳ等によりロケーション情報（緯度、経度、高度）を取得し、ＧＰＳの認識状況による誤差の範囲情報を得る。また、電子コンパスにより端末の角度情報を取得し、高度の情報、誤差の範囲情報、端末の角度情報により、高度を補正する。本実施形態は、例えばＡＲマーカを利用したＡＲ（ビジョンベースＡＲ）にも、ロケーションベースＡＲにも適用することができる。
【００８１】
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、上述した各実施例の一部又は全部を組み合わせることも可能である。
【００８２】
なお、以上の実施例に関し、更に以下の付記を開示する。
（付記１）
撮像装置により撮像された画像を取得する画像取得部と、
前記撮像装置の高度情報を取得する高度情報取得部と、
前記撮像装置の傾き情報を取得する傾き情報取得部と、
取得した前記高度情報に含まれる高度の誤差情報と、取得した前記傾き情報とに基づき、前記画像に表示するオブジェクトデータを決定する制御部と、
を有することを特徴とする情報処理装置。
（付記２）
前記制御部は、
前記高度情報を取得した測位方式の種類に応じて決められた誤差値を用いて前記高度情報の補正を行うことを特徴とする付記１に記載の情報処理装置。
（付記３）
前記制御部は、
前記高度情報の補正が必要な否かを判定し、前記高度情報の補正が必要であると判定された場合に、前記高度情報の補正を行うことを特徴とする付記１又は２に記載の情報処理装置。
（付記４）
前記測位方式は、ＧＰＳ、Ｗｉ−Ｆｉネットワーク、及びモバイルネットワークのうち、少なくとも１つを含むことを特徴とする付記２に記載の情報処理装置。
（付記５）
前記誤差値は、前記測位方式に対応する誤差の最大値であることを特徴とする付記２に記載の情報処理装置。
（付記６）
撮像装置により撮像された画像を取得し、
前記撮像装置の高度情報を取得し、
前記撮像装置の傾き情報を取得し、
取得した前記高度情報に含まれる高度の誤差情報と、取得した前記傾き情報とに基づき、前記画像に表示するオブジェクトデータを決定する、
処理をコンピュータが実行する表示制御方法。
（付記７）
撮像装置により撮像された画像を取得し、
前記撮像装置の高度情報を取得し、
前記撮像装置の傾き情報を取得し、
取得した前記高度情報に含まれる高度の誤差情報と、取得した前記傾き情報とに基づき、前記画像に表示するオブジェクトデータを決定する、
処理をコンピュータに実行させるための表示制御プログラム。
【符号の説明】
【００８３】
１０  端末装置（情報処理装置）
１１  通信部
１２  撮像部（画像取得部）
１３，３４  表示部
１４  記憶部
１５  検出部（高度情報取得部、傾き情報取得部）
１６  制御部
２１  認識部
２２  判定部
２３  補正部
２４  表示制御部
３１  マイクロフォン
３２  スピーカ
３３  カメラ
３５  操作部
３６  センサ部
３７  電力部
３８  無線部
３９  近距離通信部
４０  補助記憶装置
４１  主記憶装置
４２  ＣＰＵ
４３  ドライブ装置
４４  記録媒体
５０  入力画像
５１  コンテンツ（対象物）
５２，６０  オブジェクトデータ
【図１】
0006447251.tif 000005
【図２】
0006447251.tif 000006
【図３】
0006447251.tif 000007
【図４】
0006447251.tif 000008
【図５】
0006447251.tif 000009
【図６】
0006447251.tif 000010
【図７】
0006447251.tif 000011
【図８】
0006447251.tif 000012
【図９】
0006447251.tif 000013
【図１０】
0006447251.tif 000014