(57)【要約】【課題】ＧＰＳやジャイロセンサから十分な精度を期待できない環境において正確に利用者をナビゲートするための技術を提供する。【解決手段】本実施形態のナビゲーション情報表示では、カメラとマーカー間の３次元相対位置は利用されない。カメラとマーカー間の相対角度は、画像上に投影されるマーカー位置と事前に校正して得た光軸位置から、カメラモデルにおけるカメラ光軸ベクトルとマーカーへのベクトル間の角度として得る。得た相対角度を基に、画面上に撮影した画像とナビゲーションのための矢印・案内を、より適切な角度で重畳表示し、利用者を目的地までナビゲーションする。【選択図】図６
2017111034.tif 000002
【特許請求の範囲】
【請求項１】
カメラでマーカーを読み取り、当該マーカーに基づくナビゲーション情報を画面上に表示するカメラ付き端末であって、
カメラデバイスと、
各種プログラムを格納する記憶デバイスと、
前記記憶デバイスから前記各種プログラムを読み込み、当該各種プログラムに基づいて、前記カメラデバイスで撮影して得られた画像に、前記マーカーに基づく前記ナビゲーション情報を前記画面上に重畳表示するための処理を実行するプロセッサと、を有し、
前記プロセッサは、
前記カメラデバイスの光軸と前記マーカーとの角度を算出する処理と、
前記ナビゲーション情報の投影面上で前記ナビゲーション情報を前記算出した角度分回転させて前記カメラデバイスで撮影して得られた画像に重畳表示する処理と、
を実行する、カメラ付き端末。
【請求項２】
請求項１において、
前記プロセッサは、さらに、前記マーカーからマーカー識別情報を取得し、当該マーカー識別情報を外部のサーバに送信し、当該外部のサーバから前記マーカー識別情報に対応する前記ナビゲーション情報を取得する処理を実行する、カメラ付き端末。
【請求項３】
請求項１において、
前記角度を算出する処理において、前記プロセッサは、前記マーカーの中心座標とカメラデバイスの間のベクトルと前記カメラデバイスの光軸とを用いて前記角度を算出する、カメラ付き端末。
【請求項４】
請求項３において、
前記カメラデバイスで撮影した画像の投影面と前記ナビゲーション情報の投影面とは前記算出された角度をなす、カメラ付き端末。
【請求項５】
請求項１に記載のカメラ付き端末と、
ナビゲーション情報配信サーバと、を有し、
前記カメラ付き端末は、さらに、通信デバイスを有し、
前記カメラ付き端末の前記プロセッサは、前記マーカーからマーカー識別情報を取得し、当該マーカー識別情報を前記ナビゲーション情報配信サーバに送信し、当該ナビゲーション情報配信サーバから前記マーカー識別情報に対応する前記ナビゲーション情報を取得する処理を実行し、
前記ナビゲーション情報配信サーバのプロセッサは、
前記マーカー識別情報に対応する前記ナビゲーション情報をナビゲーションデータベースから取得する処理と、
前記取得した前記ナビゲーション情報を前記カメラ付き端末に送信する処理と、
を実行する、ナビゲーション情報提供システム。
【請求項６】
カメラでマーカーを読み取り、当該マーカーに基づくナビゲーション情報を画面上に表示するナビゲーション情報表示方法であって、
カメラ付き端末のプロセッサが、カメラデバイスで撮影して得られた画像からマーカーを抽出することと、
前記プロセッサが、前記カメラデバイスの光軸と前記マーカーとの角度を算出することと、
前記プロセッサが、前記マーカーに関連付けられた前記ナビゲーション情報を取得することと、
前記プロセッサが、前記ナビゲーション情報の投影面上で前記ナビゲーション情報を前記算出した角度分回転させて前記カメラデバイスで撮影して得られた画像に重畳表示することと、
を含む、ナビゲーション情報表示方法。
【請求項７】
請求項６において、
前記マーカーを抽出することにおいて、前記プロセッサは、前記画像から面積が最大となるマーカーを処理対象のマーカーとして抽出する、ナビゲーション情報表示方法。
【請求項８】
請求項６において、
前記ナビゲーション情報を取得することにおいて、前記プロセッサは、前記マーカーからマーカー識別情報を取得し、当該マーカー識別情報を外部のサーバに送信し、当該外部のサーバから前記マーカー識別情報に対応する前記ナビゲーション情報を取得する、ナビゲーション情報表示方法。
【請求項９】
請求項６において、
前記角度を算出することにおいて、前記プロセッサは、前記マーカーの中心座標とカメラデバイスの間のベクトルと前記カメラデバイスの光軸とを用いて前記角度を算出する、ナビゲーション情報表示方法。
【請求項１０】
請求項９において、
前記カメラデバイスで撮影した画像の投影面と前記ナビゲーション情報の投影面とは前記算出された角度をなす、ナビゲーション情報表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラ付き端末、ナビゲーション情報提供システム、及びナビゲーション情報表示方法に関する。
【背景技術】
【０００２】
従来、ＧＰＳを利用し、地図上に自身の位置と方向、目的地までをナビゲーション技術と製品がある。近年、カメラとＧＰＳ、ジャイロセンサ、加速度センサ、磁気センサを搭載するスマートフォンが普及し、カメラで撮影した画像にリアルタイムにナビゲーション情報を重畳表示するＡＲ技術も数多く発表されている。
【０００３】
一方、ＧＰＳはＧＰＳ衛星を補足できない地下や屋内では利用できない。また、屋外のような広い空間でのナビゲーションについてはセンサの位置・姿勢誤差は許容されるが、屋内の狭い空間では屋外と比較して、センサの位置・姿勢誤差は許容されない状況が発生する。ＧＰＳが存在しない環境下、例えば屋内において目的地へ到達するためには、全体案内図や矢印の付いた道標に頼ることになる。
【０００４】
しかし、一般的に全体案内図は施設出入口や各フロアのエレベータホールにしかなく、必要なときに参照できない。また、矢印付きの案内は利用頻度の高い代表的な目的地は表記されることが多いが、利用頻度の低い目的地に関して表記されることは期待できない。
【０００５】
この課題に対処するため、例えば、特許文献１のように、ＧＰＳやジャイロセンサ等を利用せず、カメラに映ったマーカーを認識し、さらにマーカーとの位置関係を求める方法がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００５−１１５５００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１は、白黒で印刷された２次元バーコードを利用して、情報の読み取りと同時に、２次元バーコード平面の法線方向とカメラ光軸方向の相対角度と２次元バーコードとカメラの３次元相対位置を特定している。
【０００８】
しかしながら、現実的には、２次元バーコード以外が画像上に映る場合が多く、このような状況では相対角度と相対位置の特定は難しい。また、角度のある２次元バーコード画像を正対するように歪みを補正し、２次元バーコードの情報を読み取りやすくするだけであり、正確なナビゲーション情報を利用者に提供するものではない。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、ＧＰＳやジャイロセンサから十分な精度を期待できない環境において正確に利用者をナビゲートするための技術を提供するものである。
【課題を解決するための手段】
【００１０】
上記の目的を達成するために、本発明は、カメラでマーカーを読み取り、当該マーカーに基づくナビゲーション情報を画面上に表示するカメラ付き端末を提供する。当該カメラ付き端末は、カメラデバイスの光軸と前記マーカーとの角度を算出し、ナビゲーション情報の投影面上で、ナビゲーション情報を算出した角度分回転させてカメラデバイスで撮影して得られた画像に重畳表示する。
【００１１】
本発明に関連する更なる特徴は、本明細書の記述、添付図面から明らかになるものである。また、本発明の態様は、要素及び多様な要素の組み合わせ及び以降の詳細な記述と添付される特許請求の範囲の様態により達成され実現される。
【００１２】
本明細書の記述は典型的な例示に過ぎず、本発明の特許請求の範囲又は適用例を如何なる意味に於いても限定するものではないことを理解する必要がある。
【発明の効果】
【００１３】
本発明によれば、ＧＰＳやジャイロセンサから十分な精度を期待できない環境において正確に利用者をナビゲートすることができるようになる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態によるナビゲーション情報提供システム（地図関連情報配信システムとも称することが可能）の概略機能構成例を示す図である。
【図２】本発明を利用する一例となる屋内環境の見取り図である。
【図３】ナビゲーション情報０３００のデータ構造例を示す図である。
【図４】カメラ付き端末０１０１が撮影する環境を表す図である。
【図５】カメラが撮影する環境下における、被写体と投影される画像との関係を表すモデル図（上面）である。
【図６】カメラが撮影する環境下における、被写体及び投影される画像と重畳するナビゲーション情報との関係を表すモデル図である。
【図７】カメラで撮影した画像とナビゲーション情報との重畳表示例を示す図である。
【図８】本発明の実施形態のナビゲーション情報提供システム０１００におけるナビゲーション情報表示処理（ナビゲーション情報取得から表示までの処理）を説明するためのフローチャートである。
【図９】本発明の実施形態によるナビゲーション情報提供システムの概略ハードウェア構成例を示す図である。
【発明を実施するための形態】
【００１５】
本発明の実施形態は、表示装置を搭載し、カメラを利用する固定型、あるいは、移動型の端末装置に対して、撮影した画像中に検出されたマーカーの座標と埋め込まれた情報を読み取り、撮影した画像とナビゲーション情報を利用者の直感に合致した態様で重畳表示するものである。
【００１６】
本実施形態によるナビゲーション情報表示では、カメラとマーカー間の３次元相対位置を利用しない。カメラとマーカー間の相対角度は、画像上に投影されるマーカー位置と事前に校正して得た光軸位置から、カメラモデルにおけるカメラ光軸ベクトルとマーカーへのベクトル間の角度として得る。得た相対角度を基に、画面上に撮影した画像とナビゲーションのための矢印・案内を、より適切な角度で重畳表示し、利用者を目的地までナビゲーションする。
【００１７】
以下、添付図面を参照して本発明の実施形態について説明する。添付図面では、機能的に同じ要素は同じ番号で表示される場合もある。なお、添付図面は本発明の原理に則った具体的な実施形態と実装例を示しているが、これらは本発明の理解のためのものであり、決して本発明を限定的に解釈するために用いられるものではない。
【００１８】
本実施形態では、当業者が本発明を実施するのに十分詳細にその説明がなされているが、他の実装・形態も可能で、本発明の技術的思想の範囲と精神を逸脱することなく構成・構造の変更や多様な要素の置き換えが可能であることを理解する必要がある。従って、以降の記述をこれに限定して解釈してはならない。
【００１９】
更に、本発明の実施形態は、後述されるように、汎用コンピュータ上で稼動するソフトウェアで実装しても良いし専用ハードウェア又はソフトウェアとハードウェアの組み合わせで実装しても良い。
【００２０】
なお、以後の説明では「テーブル」形式によって本実施形態の各情報について説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくても良く、リスト、ＤＢ、キュー等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「ＤＢ」、「キュー」等について単に「情報」と呼ぶことがある。
【００２１】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ＩＤ」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
【００２２】
以下では各処理部（画像解析部、情報取得部、表示部など）を主語（動作主体）として本発明の実施形態における各処理について説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート（通信制御装置）を用いながら行うため、プロセッサを主語とした説明としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよく、また、モジュール化されていても良い。各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００２３】
＜システム機能構成＞
図１は、本発明の実施形態によるナビゲーション情報提供システム（地図関連情報配信システムとも称することが可能）の概略機能構成例を示す図である。
【００２４】
ナビゲーション情報提供システム０１００は、カメラ付き端末０１０１と、ナビゲーション情報配信サーバ０１０２と、ナビゲーションデータベース（ＤＢ）０１０３と、を有する。例えば、カメラ付き端末０１０１と、ナビゲーション情報配信サーバ０１０２とは通信網（ネットワーク）０１１１を介して通信し、情報の配信・取得が可能となっている。また、ナビゲーション情報配信サーバ０１０２とナビゲーションＤＢ０１０３は有線で直接的に繋がれていても良いし、別のネットワークでつながれていても良い。
【００２５】
カメラ付き端末０１０１は、撮影部０１０４と、画像解析部０１０５と、情報取得部０１０６と、表示部０１１０と、を有している。
【００２６】
ナビゲーション情報配信サーバ０１０２は、配信リクエスト受信部０１０７と、情報取得部０１０８と、情報配信部０１０９と、を有している。
【００２７】
カメラ付き端末０１０１において、撮影部０１０４は、カメラを含んでいる。利用者が、撮影部０１０４に付属されたカメラを用いて撮影し、対象物の画像を取得する。画像解析部０１０５は、撮影して得た画像から、２次元バーコードを認識し、２次元バーコードに含まれる情報を取り出す。それと同時に、画像解析部０１０５は、画像座標系における２次元バーコードの中心座標と光軸座標を計算し、さらに、カメラの投影モデルからナビゲーション情報の補正角度を計算する。情報取得部０１０６は、画像解析部０１０５によって得られた２次元バーコード情報を条件として、ナビゲーション情報配信サーバ０１０２に当該２次元バーコード情報に対応する情報について問い合わせる。
【００２８】
ナビゲーション情報配信サーバ０１０２の配信リクエスト受信部０１０７は、カメラ付き端末０１０１の情報取得部０１０６からの問合せを受け付ける。情報取得部０１０８は、２次元バーコード情報に対応するナビゲーション情報を取得し、情報配信部０１０９に受け渡す。情報配信部０１０９は、問合せ元のカメラ付き端末０１０１に情報取得部０１０８から取得したナビゲーション情報を提供する。
【００２９】
２次元バーコード情報に対応するナビゲーション情報を取得したカメラ付き端末０１０１は、表示部０１１０を用いて、撮影部０１０４で撮影した画像とナビゲーション情報を重畳表示する。このとき重畳するナビゲーション情報のラベル、または、矢印をナビゲーション情報補正角度ほど回転させる。
【００３０】
尚、通信網を介さずカメラ付き端末０１０１内にナビゲーション情報配信サーバ０１０２、ナビゲーションＤＢ０１０３を配置した構成も実現可能である。また、カメラ付き端末０１０１に、撮影部０１０４、情報取得部０１０６、及び表示部０１１０のみを持たせ、画像解析部０１０５が実行する処理を全てナビゲーション情報配信サーバ０１０２側で実行するようにしても良い。
【００３１】
＜システムハードウェア構成＞
図９は、本発明の実施形態によるナビゲーション情報提供システムの概略ハードウェア構成例を示す図である。
【００３２】
図９に示されるように、カメラ付き端末０１０１及びナビゲーション情報配信サーバ０１０２は、例えば、一般的なコンピュータによって構成することができる。
【００３３】
カメラ付き端末０１０１は、例えば、各種プログラムを実行するＣＰＵ（単にプロセッサと称することもできる）０９０１と、カメラデバイス０９０２と、利用者が指示や情報を入力するための入力デバイス０９０３と、ＣＰＵによる処理結果を出力するための出力デバイス０９０４と、各種プログラムや処理結果を格納したり、処理途中の情報を一時的に格納したりする記憶デバイス０９０５と、ナビゲーション情報配信サーバ０１０２等と通信するための通信デバイス０９０６と、を有している。
【００３４】
ナビゲーション情報配信サーバ０１０２は、例えば、各種プログラムを実行するＣＰＵ（単にプロセッサと称することもできる）０９１１と、サーバ管理者が指示や情報を入力するための入力デバイス０９１２と、ＣＰＵによる処理結果を出力するための出力デバイス０９１３と、各種プログラムや処理結果を格納したり、処理途中の情報を一時的に格納したりする記憶デバイス０９１４と、カメラ付き端末０１０１等と通信するための通信デバイス０９１５と、を有している。
【００３５】
入力デバイス０９０３及び０９１２は、例えば、各種ボタン、キーボード、タッチパネル、マイク等によって構成される。出力デバイス０９０４及び０９１３は、例えば、画像や文字列を表示するディスプレイや音声を出力するスピーカ等によって構成される。記憶デバイス０９０５及び０９１４は、例えばＲＯＭやＲＡＭなどによって構成される。
【００３６】
カメラ付き端末０１０１のＣＰＵ０９０１は、カメラデバイスによる撮像処理を制御するためのプログラムである撮影部０９０１１と、撮影部０９０１１によって処理された画像データや情報を解析するためのプログラムである画像解析部０９０１２と、ナビゲーション情報配信サーバ０１０２から情報（ナビゲーション情報）を取得するためのプログラムである情報取得部０９０１３と、画像データとナビゲーション情報を出力デバイス０９０４に重畳表示するためのプログラムである表示部０９０１４と、を実行する。
【００３７】
ナビゲーション情報配信サーバ０１０２のＣＰＵ０９１１は、カメラ付き端末０１０１からのナビゲーション情報配信リクエストを受信処理するためのプログラムである配信リクエスト受信部０９１１１と、受信したナビゲーション情報配信リクエストに含まれる２次元バーコードＩＤ（CodeID：図３参照）に対応するナビゲーション情報をナビゲーションＤＢ０１０３から取得するためのプログラムである情報取得部０９１１２と、得られたナビゲーション情報をカメラ付き端末０１０１に送信処理するためのプログラムである情報配信部０９１１３と、を実行する。
【００３８】
なお、図９では、各種プログラムがＣＰＵの内蔵メモリに展開されている状態が示されている。実行前においては、各種プログラムは、例えば、記憶デバイス０９０５或いは０９１４に格納されており、実行時にＣＰＵ０９０１或いは０９１１によって読み込まれ、実行されることとなる。
【００３９】
＜利用場面＞
図２は、本発明の実施形態によるナビゲーション情報提供システム０１００によってナビゲーション情報が提供される場面例（屋内環境）を示す図である。
【００４０】
当該ナビゲーション情報は、例えば、壁正面０２０１、壁左面０２０２、壁右面０２０３で構成される空間で提供される。そして、当該空間の中心に利用者０２０４が配置されるような場面を想定する。各壁の間には通路がある。各通路は、会議室Ａ,執務室Ｄ０２０５、会議室Ｂ０２０６、及び出入口Ｃ０２０７にそれぞれ通じている。
【００４１】
利用者は、例えば、会議室Ａの通路の先にある執務室Ｄを目的地としているものとする。壁正面０２０１には、利用者の目線と同程度の高さに２次元バーコード０２０８が配置されている。そして、利用者は、当該２次元バーコード０２０８を撮像し、それによって取得した２次元バーコード情報に基づいてナビゲーション情報がカメラ付き端末０１０１の画面上に重畳表示されることとなる。
【００４２】
＜ナビゲーション情報のデータ構造例＞
図３は、本発明の実施形態における、ナビゲーション情報０３００のデータ構造例を示す図である。ナビゲーション情報０３００は、テーブル構造をとっており、ナビゲーション情報を一意に特定・認識するためのNavigationID０３０１と、２次元バーコードを一意に特定・認識するためのCodeID０３０２（２次元コードから読み取られる情報である）と、撮影画像上に重畳される文字列を示すLabel０３０３と、カメラが２次元バーコードに正対したときに撮影画像上に重畳される矢印の角度（Label０３０３で示される場所の方向）を示すAngle０３０４と、を構成項目として含んでいる。
【００４３】
ナビゲーション情報配信サーバ０１０２の情報取得部０１０８は、CodeID０３０２をキーとして、ナビゲーションＤＢ０１０３から対応するナビゲーション情報を取得する。つまり、CodeID０３０２を含むNavigationID０３０１に対応するLabel０３０３及びAngle０３０４の情報が取得される。なお、図３の例では、CodeID「１」の２次元バーコードは３つのナビゲーション情報に対応していることが示されている。
【００４４】
＜カメラ付き端末が撮影する環境＞
図４は、カメラ付き端末０１０１が撮影する環境を表す図である。カメラ付き端末０１０１は、例えば、表示画面とは反対面（背面）にカメラを有しており、撮影中の画像をプレビューとして画面に表示することができるように構成されている。
【００４５】
カメラ付き端末０１０１を使用する場合、撮影部０１０４に含まれるカメラは、壁面（壁正面）０４０１と２次元バーコード０４０２を撮影する。そして、カメラ付き端末０１０１は、表示部０１１０の画面上に撮影範囲０４０３を表示する。なお、図４において、座標０４０４は、予めカメラキャリブレーションして得たカメラ光軸を示している。
【００４６】
なお、図４は、カメラの光軸と撮影される壁面０４０１からの法線ベクトルは一致せず、ある一定の角度をなす場面を例示している。
【００４７】
＜被写体と投影される画像との関係＞
図５は、カメラが撮影する環境下における、被写体と投影される画像との関係を表すモデル図（上面）である。
【００４８】
カメラ０５０１があり、カメラ０５０１から光軸０５０２が伸びている。画像の投影面０５０３の範囲０５０６は、カメラレンズの画角０５０４とレンズの焦点距離０５０５から決まる。
【００４９】
また、２次元バーコード０５０７とカメラの光軸０５０２の相対角度０５０９は、２次元バーコード０５０７を投影面０５０３上に投影した座標０５１０と光軸との距離０５０８、及び焦点距離０５０５から得られる。当該相対角度０５０９は、光軸０５０２方向を０°とし、上面から見て右回りに表現する。
【００５０】
＜被写体及び投影される画像と重畳するナビゲーション情報との関係＞
図６は、カメラが撮影する環境下における、被写体及び投影される画像と重畳されるナビゲーション情報との関係を表すモデル図である。図６は、図５のモデルに対応するものである。
【００５１】
カメラ０６０１があり、カメラ０６０１から光軸０６０２が伸びている。図６のモデルが示す状態では、カメラ０６０１から２次元バーコード０６０３に向かうベクトル０６０４と光軸０６０２との間には角度０６０５が形成されている。
【００５２】
図６では、撮影画像の投影面０６０６と、ベクトル０６０４を法線ベクトルとするナビゲーション情報０６０７を投影する投影面０６０８とが、定義されている。つまり、投影面０６０８は、２次元バーコード０６０３が配置される壁面を示しているのではなく、ラベルと矢印から構成されるナビゲーション情報０６０７を投影する仮想的な面を示している。
【００５３】
投影面０６０８が投影面０６０６と光軸０６０２の交点０６１０を通るとすると、投影面０６０６と投影面０６０８との角度０６０９は、角度０６０５と等しい。即ち、投影面０６０６と投影面０６０８の上面から見た幾何学的関係は既知である。尚、側面についても図６と同様の幾何学的関係を記述できる。
【００５４】
＜ナビゲーション情報の重畳表示例＞
図７は、カメラで撮影した画像とナビゲーション情報との重畳表示例を示す図である。図７に示されるように、利用者は、撮影部０１０４に含まれるカメラで壁正面０７０１と２次元バーコード０７０２を撮影している。そのとき、カメラ付き端末０１０１は、表示部０１１０の画面上に撮影範囲０７０３を表示している。座標０７０４は、予めカメラキャリブレーションして得たカメラ光軸を示している。
【００５５】
ナビゲーション情報０７０５は、ラベルと矢印から構成され、画面上に対で表示される。矢印の方向は上方向を０°とし、右回りとする。２次元バーコードをキーとして得られたナビゲーション情報が、例えば、ラベルとして“会議室Ａ”、角度（方向）として９０°となっている場合、投影面０６０８と平面０６０６（図６参照）との角度０６０９が反映される前のナビゲーション情報は矢印０７０６で示される。この矢印０７０６の方向に対して、さらに投影面０６０８と平面０６０６との角度０６０９が加算され、当該角度が反映されたナビゲーション情報０７０５が表示される。尚、当該例では、投影面０６０８と平面０６０６との角度は左回りであるため、減算することになる。
【００５６】
なお、この画面の重畳結果は、画像は水平方向を撮影した画像となるが、ナビゲーション情報は垂直方向を表現することになる。このため、ナビゲーション情報の表示として、説明上は違和感があるかもしれないが、利用者にとっては直感的に理解しやすいものとなっている。
【００５７】
＜ナビゲーション情報表示処理の内容＞
図８は、本発明の実施形態のナビゲーション情報提供システム０１００におけるナビゲーション情報表示処理（ナビゲーション情報取得から表示までの処理）を説明するためのフローチャートである。
【００５８】
（i）ステップ０８０１
まず、利用者が壁面を撮影することにより、カメラ付き端末０１０１の撮影部０１０４は画像ｉを取得する。
【００５９】
（ii）ステップ０８０２
画像解析部０１０５は、画像ｉから２次元バーコードを検出する。このとき複数の２次元バーコードを検出することを前提とする。また、利用する２次元バーコードは、数メートル離れた状況で、複数撮影・認識が可能であるカラーコードを想定しており、既存の検出方式を採用することによって検出することができる。
【００６０】
（iii）ステップ０８０３
画像解析部０１０５は、ステップ０８０２の処理結果に基づいて、画像ｉ上に２次元バーコードが含まれるか判定する。画像ｉに２次元バーコードが含まれていない場合（ステップ０８０３でＮｏの場合）、処理はステップ０８０４に移行する。画像ｉに２次元バーコードが含まれている場合（ステップ０８０３でＹｅｓの場合）、処理はステップ０８０５に移行する。
【００６１】
（iv）ステップ０８０４
表示部０１１０は、画像ｉのみを画面上に表示してナビゲーション情報表示処理を終了する。
【００６２】
（v）ステップ０８０５
画像解析部０１０５は、複数検出された２次元バーコードの中で面積が最も大きなものを処理対象とする。なお、どの２次元バーコードが最大面積を有するかは、既存の検出方式であるカラーコードを用いた検出方式やライブラリ方式によって得られる四隅の座標を用いて各２次元バーコードのそれぞれ面積を算出し、比較することによって判定することができる。
【００６３】
（vi）ステップ０８０６
画像解析部０１０５は、処理対象２次元バーコードを読み取り、２次元バーコード情報であるＩＤ（CodeID）を抽出する。それと同時に、画像解析部０１０５は、処理対象の２次元バーコードの四隅の座標から中心座標を算出する。
【００６４】
（vii）ステップ０８０７
画像解析部０１０５は、図５や図６に示される幾何学的関係に基づいて、カメラ光軸と処理対象２次元バーコード間の角度を算出する。
【００６５】
（viii）ステップ０８０８
情報取得部０１０６は、画像解析部０１０５から処理対象２次元バーコードのＩＤ（CodeID）を取得し、それをキーとし、ナビゲーション情報配信サーバ０１０２に対応するナビゲーション情報を問い合せ（ナビゲーション情報配信リクエスト）する。ナビゲーション情報配信サーバ０１０２の情報取得部０１０８は、配信リクエスト受信部０１０７を介してナビゲーション情報配信リクエスト（CodeIDを含む）を取得し、ナビゲーションＤＢ０１０３から対応するナビゲーション情報（図３参照）の有無を確認し、存在する場合にはそれを取得する。そして、ナビゲーション情報配信サーバ０１０２の情報配信部０１０９は、処理対象２次元バーコードに対応するナビゲーション情報をカメラ付き端末０１０１に送信する。対応するナビゲーション情報が無い場合にはカメラ付き端末０１０１にはその旨が通知される。
【００６６】
（ix）ステップ０８０９
カメラ付き端末０１０１の情報取得部０１０６は、ナビゲーション情報配信サーバ０１０２から受信した情報に基づいて、取得したナビゲーション情報の数を確認する。ナビゲーション情報数が０の場合（ステップ０８０９でＮｏの場合）、処理はステップ０８０４に移行する。ナビゲーション情報数が１以上の場合（ステップ０８０９でＹｅｓの場合）、処理はステップ０８１０に移行する。
【００６７】
（x）ステップ０８１０
表示部０１１０は、図７のように、カメラで撮影した画像ｉとナビゲーション情報とを重畳表示する。
【００６８】
＜まとめ＞
（i）本実施形態では、ナビゲーション情報を撮影画像に重畳表示する際に、カメラデバイスの光軸とマーカー（例えば、２次元バーコード）との角度を算出し、ナビゲーション情報の投影面上でナビゲーション情報を当該角度分回転させる。このようにすることにより、マーカー（２次元バーコード）の情報を読み取るだけで、利用者に違和感を与えない直感的な方向についての示唆を与えることができる。
【００６９】
より具体的には、カメラ付き端末は、マーカーからマーカー識別情報を取得し、当該マーカー識別情報をナビゲーション情報配信サーバに送信し、当該サーバからマーカー識別情報に対応するナビゲーション情報を取得する。このようにすることにより、マーカーに多くの情報を持たせる必要がなく、かつカメラ付き端末にナビゲーション情報のデータベースを備える必要ないので、処理を迅速に行うことができるようになる。ただし、これは、カメラ付き端末にナビゲーション情報を持たせることを否定するものではない。処理能力があり、記憶デバイスの容量が大きいカメラ付き端末であれば、ナビゲーションＤＢを持たせるようにしても利用者に不便はない。
【００７０】
また、角度を算出する場合、マーカーの中心座標とカメラデバイスの間のベクトルとカメラデバイスの光軸との角度が算出される。このようにすることにより、幾何学的関係を用いて容易に角度を知ることができる。この角度は、カメラデバイスで撮影して得られた画像の投影面とナビゲーション情報の投影面との角度に相当するものとなっている。
【００７１】
本実施形態では、撮影画像には複数のマーカーが含まれることが許容される。この場合、画像から面積が最大となるマーカーが処理対象のマーカーとして抽出される。このようにすることにより、複数のマーカーが検出されても容易に重畳表示すべきナビゲーション情報を取得することができるようになる。尚、本実施形態とは異なるが、撮影された複数のマーカーの近傍に、相互に重畳しないように全てのナビゲーション情報を表示してもよい。このとき、対応するマーカーの面積比を利用し、ナビゲーション情報に対して透過度やラベルサイズを重み付けして表示してもよい。
【００７２】
（ii）本発明は、実施形態の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をシステム或は装置に提供し、そのシステム或は装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【００７３】
また、プログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータ上のメモリに書きこまれた後、そのプログラムコードの指示に基づき、コンピュータのＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって前述した実施の形態の機能が実現されるようにしてもよい。
【００７４】
さらに、実施の形態の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することにより、それをシステム又は装置のハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、使用時にそのシステム又は装置のコンピュータ（又はＣＰＵやＭＰＵ）が当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしても良い。
【００７５】
最後に、ここで述べたプロセス及び技術は本質的に如何なる特定の装置に関連することはなく、コンポーネントの如何なる相応しい組み合わせによってでも実装できることを理解する必要がある。更に、汎用目的の多様なタイプのデバイスがここで記述した教授に従って使用可能である。ここで述べた方法のステップを実行するのに、専用の装置を構築するのが有益であることが判るかもしれない。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。本発明は、具体例に関連して記述したが、これらは、すべての観点に於いて限定の為ではなく説明の為である。本分野にスキルのある者には、本発明を実施するのに相応しいハードウェア、ソフトウェア、及びファームウエアの多数の組み合わせがあることが解るであろう。例えば、記述したソフトウェアは、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【００７６】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【００７７】
加えて、本技術分野の通常の知識を有する者には、本発明のその他の実装がここに開示された本発明の明細書及び実施形態の考察から明らかになる。明細書と具体例は典型的なものに過ぎず、本発明の範囲と精神は後続する請求範囲で示される。
【符号の説明】
【００７８】
０１０１  カメラ付き端末、０１０２  ナビゲーション情報配信サーバ、０１０３  ナビゲーションＤＢ、０１０４  撮影部、０１０５  画像解析部、０１０６  情報取得部、０１０７  配信リクエスト受信部、０１０８  情報取得部、０１０９  情報配信部、０１１０  表示部、０２０１  壁正面、０２０２  壁左面、０２０３  壁右面、０２０４  利用者、０２０５  ナビゲーション情報右、０２０６  ナビゲーション情報左、０２０７  ナビゲーション情報背面、０２０８  ２次元バーコード、０３００  ナビゲーション情報、０３０１  ナビゲーションＩＤ、０３０２  ２次元バーコードＩＤ、０３０３  ナビゲーションラベル、０３０４  ナビゲーション角度、０４０１  壁正面、０４０２  ２次元バーコード、０４０３  撮影範囲、０４０４  座標（光軸位置）、０５０１  カメラ、０５０２  光軸（ベクトル）、０５０３  平面（投影面）、０５０４  画角、０５０５  焦点距離、０５０６  光軸から撮影境界までの距離（範囲）、０５０７  ２次元バーコード、０５０８  光軸から投影された２次元バーコードまでの距離、０５０９  相対角度（光軸から２次元バーコードまでの角度）、０６０１  カメラ、０６０２  光軸（ベクトル）、０６０３  ２次元バーコード、０６０４  カメラから２次元バーコードへのベクトル、０６０５  光軸ベクトルと２次元バーコードへのベクトル間の角度、０６０６  平面（撮影画像の投影面）、０６０７  ナビゲーション情報、０６０８  投影面（ナビゲーション情報投影基準面）、０６０９  投影面とナビゲーション情報投影基準面間角度、０７０１  壁正面、０７０２  ２次元バーコード、０７０３  撮影範囲、０７０４  座標（光軸位置）、０７０５  ナビゲーション情報（ナビゲーションラベルと矢印）
【図１】
2017111034.tif 000003
【図２】
2017111034.tif 000004
【図３】
2017111034.tif 000005
【図４】
2017111034.tif 000006
【図５】
2017111034.tif 000007
【図６】
2017111034.tif 000008
【図７】
2017111034.tif 000009
【図８】
2017111034.tif 000010
【図９】
2017111034.tif 000011