以下、情報システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、カメラで撮影して取得した映像に映っているオブジェクトを認識し、オブジェクトに関連する情報を出力する情報システム1について説明する。
オブジェクトに関連する情報とは、オブジェクトの領域や、オブジェクトに関連するウェブページや、オブジェクトのシンボル画像やシンボル的な音楽や音情報や、オブジェクトに到達するまでの案内情報(画像、文字列、音声など問わない)などである。
図1は、本実施の形態における情報システム1の概念図である。情報システム1は、サーバ装置11、1以上のウェブサーバ装置12、端末装置13を具備する。端末装置13は、図1においては2画面のディスプレイを有する端末であるが、1画面のディスプレイを有する端末でも良い。端末装置13は、カメラ機能を有し、外部の風景、建物などを撮影している際に、撮影している映像内のオブジェクト(建物など)の領域や、オブジェクトに関連する情報などを出力できる。また、サーバ装置11、ウェブサーバ装置12、および端末装置13は、通常、通信可能である。
なお、情報システム1は、サーバ装置11と端末装置13のみにより実現されても良い。また、かかる場合、サーバ装置11は、ウェブサーバ装置の機能を有していても良い。また、ウェブサーバ装置12は、いわゆるウェブ上のウェブページを格納している装置であるが、格納している情報は、ウェブページでなく、広告情報など、他の情報でも良い。ウェブサーバ装置12が格納している情報の形式や内容は問わない。
図2は、本実施の形態における情報システム1のブロック図である。サーバ装置11は、オブジェクト情報格納部111、サーバ受信部112、撮影オブジェクト決定部113、距離算出部114、撮影オブジェクト情報取得部115、サーバ送信部116を具備する。
ウェブサーバ装置12は、オブジェクト関連情報格納部121、オブジェクト関連情報取得部122、オブジェクト関連情報送信部123を具備する。
端末装置13は、カレントレイヤ格納部1301、受付部1302、端末情報取得部1303、カメラ部1304、送信部1305、受信部1306、オブジェクト関連情報受信部1307、出力情報取得部1308、出力部1309、カレントレイヤ変更部1310、出力固定部1311、オブジェクト識別子取得部1312、オブジェクト識別子送信部1313、表示部1314を具備する。
受付部1302は、第一受付手段13021、第二受付手段13022、第三受付手段13023を具備する。端末情報取得部1303は、位置情報取得手段13031、方向情報取得手段13032を有する。出力部1309は、カメラ映像出力手段13091、領域出力手段13092、距離出力手段13093、オブジェクト関連情報出力手段13094を具備する。表示部1314は、第一表示手段13141、第二表示手段13142を具備する。
オブジェクト情報格納部111は、1以上のオブジェクト情報を格納し得る。オブジェクト情報とは、オブジェクト識別子と、オブジェクトが存在する領域を示す領域情報とを有する情報である。オブジェクトとは、通常、地図上または地理上に現れるオブジェクトである地理オブジェクトである。オブジェクトは、例えば、建物、山、川、名勝、公園などである。オブジェクトは、例えば、ビルの中の店舗や会社などでも良い。オブジェクトは、地図上または地理上に現れるものであれば、内容は問わない。オブジェクト情報格納部111は、地図情報を格納していても良い。かかる場合、地図情報は1以上のオブジェクト情報を含む。オブジェクト識別子とはオブジェクトを識別する情報であり、例えば、オブジェクトの名称、オブジェクトを識別するID、オブジェクトについての情報が格納されているウェブページのURL、URIなどである。領域情報とは、通常、二次元の領域の情報である。ただし、三次元の領域の情報でも、一次元の情報(点の情報)でも良い。つまり、領域情報はオブジェクトの位置(点)を特定する位置情報(X,Y)でも良い。この(X,Y)は、例えば、(緯度,経度)であり、例えば、オブジェクトの領域の重心点を示す情報である。領域が矩形であるとする場合、領域情報は、例えば、矩形の左上点、右下点の位置情報(経度,緯度)の情報である。さらに、領域情報は、例えば、三次元のオブジェクトの立体図形(例えば、6面体)の頂点を構成する点(8点)の集合や、立体図形(例えば、6面体)の高さを有する4点の集合などである。
オブジェクト情報格納部111は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。オブジェクト情報格納部111にオブジェクト情報が記憶される過程は問わない。例えば、記録媒体を介してオブジェクト情報がオブジェクト情報格納部111で記憶されるようになってもよく、通信回線等を介して送信されたオブジェクト情報がオブジェクト情報格納部111で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたオブジェクト情報がオブジェクト情報格納部111で記憶されるようになってもよい。
サーバ受信部112は、端末装置13から、端末情報を受信する。端末情報は、端末装置13の位置を示す位置情報と端末装置13が向いている方向を示す方向情報とを有する。端末情報は、通常、端末装置13を識別する端末識別子を有する。位置情報とは、通常、(緯度,経度)の情報であるが、空間内の位置を示す情報でも良い。空間内の位置を示す情報は、例えば、(緯度,経度、高度)である。方向情報は、東西南北などの方位の情報を含んでも良い。また、方向情報は、端末の向き(上向き、下向きなど)を含んでも良い。方向情報は、例えば、56.2°(北を0°、東を90°とする方位)や、南南西などである。方向情報は、例えば、高さ方向の角度を含んでも良い。また、方向情報は、例えば、(Yaw,Pitch,Roll)などでも良い。(Yaw,Pitch,Roll)の「Yaw」は垂直軸に対する角度や先端の左右の揺れの度合い(長さなど)、「Pitch」は横軸に対する角度や先端の上下の揺れの度合い、「Roll」は縦軸に対する角度や端末装置13全体の左右の揺れの度合いである。なお、位置情報とは、例えば、GPS受信機により取得される。また、方向情報とは、例えば、コンパス、またはコンパスとジャイロにより取得される。方向情報や位置情報を取得する手段は問わない。さらに、端末情報は、端末装置13を識別する端末識別子(例えば、情報の送受信に用いられるIPアドレスや、電話番号や、IDや、MACアドレスなど)も含むことは好適である。
サーバ受信部112は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
撮影オブジェクト決定部113は、端末情報が有する位置情報と、端末情報が有する方向情報と、視野角とを、オブジェクト情報格納部111の各オブジェクト情報の領域情報に適用し、端末装置13が撮影している1以上のオブジェクトを決定する。視野角とは、カメラ部1304が撮影可能な角度であり、平面上の角度でも良いし、高さ方向を含めた立体的な角度でも良い。立体的な角度とは、例えば、平面上の角度(θ1)と高さ方向の角度(θ2)とにより得られる。また、視野角は、撮影オブジェクト決定部113が予め格納していても良いし、端末情報に含まれていても良い。ここで、「オブジェクトを決定する」とは、オブジェクト識別子を取得することでも良いし、オブジェクト情報の全部または一部を取得することでも良いし、オブジェクト情報を管理しているテーブルのレコードIDを取得すること等でも良い。つまり、「オブジェクトを決定する」とは、オブジェクトを特定する情報を取得することであれば良い。
撮影オブジェクト決定部113は、例えば、カメラ部1304が撮影した映像の中で、端末装置13から最も距離が近い位置に存在するオブジェクトの撮影オブジェクト、またはカメラ部1304が撮影した映像の中で最も中央寄りに位置するオブジェクトの撮影オブジェクト、またはカメラ部1304が撮影した映像の中で最も大きい領域(平面上または立体上)を有するオブジェクトの撮影オブジェクトを決定しても良い。
撮影オブジェクト決定部113は、端末情報が有する位置情報と、オブジェクト情報格納部111の各オブジェクト情報の領域情報等から取得されるオブジェクトの位置を示すオブジェクト位置情報とから、端末装置13とオブジェクトの距離を算出し、当該距離が予め決められた距離以内、または、当該距離が近い方から、予め決められた数のオブジェクトを、撮影オブジェクトとして決定しても良い。かかる場合、撮影オブジェクトの取得アルゴリズムとしては正確ではないが、高速な処理が可能となる。のあ、距離の算出は、距離算出部114が行っても良いことは言うまでもない。
撮影オブジェクト決定部113は、さらに具体的には、例えば、後述する図5のフローチャートに示すようなアルゴリズムで、端末装置13が撮影している1以上のオブジェクトを決定することは好適である。
撮影オブジェクト決定部113は、通常、MPUやメモリ等から実現され得る。撮影オブジェクト決定部113の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
距離算出部114は、撮影オブジェクト決定部113が決定した各オブジェクトと端末装置13との距離を、各オブジェクトのオブジェクト情報と端末情報が有する位置情報とから、撮影オブジェクト決定部113が決定したオブジェクトごとに算出する。ここで、距離とは、領域の重心と位置情報が示す位置との距離、領域のいずれかの点と位置情報が示す位置との距離、位置情報が示す位置に最も近い領域内の点との距離などでも良い。つまり、距離の算出基準は種々あり得る。また、位置情報は、領域情報から生成された情報でも良い。位置情報は、例えば、領域情報から得られる領域の重心を取得されることにより得られる。距離算出部114は、通常、MPUやメモリ等から実現され得る。距離算出部114の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
撮影オブジェクト情報取得部115は、撮影オブジェクト決定部113が決定した1以上の各オブジェクトに対応する1以上のオブジェクト情報のうち、領域情報を含む1以上の撮影オブジェクト情報を、オブジェクト情報格納部111から取得する。撮影オブジェクト情報取得部115は、撮影オブジェクト情報として、どのような情報を含んでも良い。撮影オブジェクト情報取得部115は、例えば、撮影オブジェクトごとに、距離算出部114が算出した距離を含んでも良い。撮影オブジェクト情報取得部115は、通常、MPUやメモリ等から実現され得る。撮影オブジェクト情報取得部115の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
サーバ送信部116は、撮影オブジェクト情報取得部115が取得した撮影オブジェクト情報を、端末装置13に送信する。サーバ送信部116は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
オブジェクト関連情報格納部121は、オブジェクトに関する情報であるオブジェクト関連情報を格納し得る。オブジェクト関連情報とは、ウェブページ、特に、電子商取引や予約のウェブページ、前記オブジェクトのシンボル画像、または前記オブジェクトに関する音情報(音楽情報を含む)、オブジェクトを宣伝広告する広告情報、オブジェクトに到達するための道案内情報(音声、画像、テキストなど)、オブジェクトを想起させるゲームのプログラムなど、オブジェクトに関連する情報であれば何でも良い。オブジェクト関連情報格納部121は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
オブジェクト関連情報格納部121にオブジェクト関連情報が記憶される過程は問わない。例えば、記録媒体を介してオブジェクト関連情報がオブジェクト関連情報格納部121で記憶されるようになってもよく、通信回線等を介して送信されたオブジェクト関連情報がオブジェクト関連情報格納部121で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたオブジェクト関連情報がオブジェクト関連情報格納部121で記憶されるようになってもよい。
オブジェクト関連情報取得部122は、外部からの指示に応じて、オブジェクト関連情報を取得する。外部からの指示とは、例えば、端末装置13に出力された領域(オブジェクトの領域、枠など)を、ユーザがポイントすることにより発生した指示である。かかる指示は、端末装置13から直接届いても良いし、サーバ装置11経由で届いても良い。オブジェクト関連情報とは、オブジェクト関連情報を構成する一部の情報でも良い。オブジェクト関連情報取得部122は、通常、MPUやメモリ等から実現され得る。オブジェクト関連情報取得部122の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
オブジェクト関連情報送信部123は、オブジェクト関連情報取得部122が取得したオブジェクト関連情報を送信する。オブジェクト関連情報送信部123は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
カレントレイヤ格納部1301は、カレントレイヤを格納し得る。カレントレイヤとは、現在のレイヤである。レイヤとは、端末装置13が行う処理の階層である。端末装置13は、通常、複数のレイヤを有する。レイヤには、例えば、カメラ部1304が取得した映像を出力するレイヤであるカメラレイヤ、オブジェクトに対応する領域を出力するレイヤであるオブジェクト識別レイヤ、オブジェクト関連情報を出力するレイヤであるウェブサーチレイヤがある。そして、例えば、端末装置13は、下から、カメラレイヤ、オブジェクト識別レイヤ、ウェブサーチレイヤというレイヤを有する。また、例えば、端末装置13は、ナビゲーションレイヤやゲームレイヤや音楽レイヤや写真レイヤなどの他のアプリケーションを示すレイヤを有しても良い。ナビゲーションレイヤとは、オブジェクトまでの道案内を出力するためのレイヤである。ゲームレイヤとは、ゲームプログラムを出力し、ゲームを行える環境を提供するレイヤである。音楽レイヤとは、音楽を出力するレイヤである。写真レイヤとは、1以上の写真を出力するレイヤである。
カレントレイヤ格納部1301は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。カレントレイヤ格納部1301にカレントレイヤが記憶される過程は問わない。例えば、記録媒体を介してカレントレイヤがカレントレイヤ格納部1301で記憶されるようになってもよく、通信回線等を介して送信されたカレントレイヤがカレントレイヤ格納部1301で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたカレントレイヤがカレントレイヤ格納部1301で記憶されるようになってもよい。
受付部1302は、ユーザから、指示やデータ等の入力を受け付ける。指示やデータ等の入力手段は、キーボードやマウスやテンキーやメニュー画面によるもの等、何でも良い。受付部1302は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
受付部1302を構成する第一受付手段13021は、ユーザの指示を受け付ける。また、第二受付手段13022は、固定された領域に対する入力を受け付ける。さらに、第三受付手段13023は、カレントレイヤを設定する入力を受け付ける。ユーザの指示や、固定された領域に対する入力や、カレントレイヤを設定する入力などの入力手段は同じ手段でも良いし、異なる手段でも良い。
端末情報取得部1303は、端末装置13の位置を示す位置情報と、端末装置13が向いている方向を示す方向情報とを有する端末情報を取得する。
端末情報取得部1303を構成する位置情報取得手段13031は、端末装置13の位置を示す位置情報を取得する。位置情報取得手段13031は、例えば、GPS受信機により構成される。また、位置情報取得手段13031は、例えば、無線電波の受信手段と、3つ以上の基地局から受信した3つ以上の電波の強度から位置情報を取得する処理手段(例えば、MPUやメモリ等で構成される手段)とから構成されても良い。位置情報取得手段13031が位置情報を取得する方法は問わない。また、位置情報は、二次元上の位置でも良いし、三次元空間における位置でも良い。
方向情報取得手段13032は、端末装置13が向いている方向を示す方向情報を取得する。方向情報は、2次元上の向きを示す情報でも良いし、3次元上の方向(上下方向も含む)を示す情報でも良い。方向情報取得手段13032は、例えば、コンパスで実現される。また、方向情報取得手段13032は、例えば、コンパスとジャイロで実現される。
また、端末情報は、カメラ部1304の視野角を含んでも良い。視野角とは、視野角の情報と同意義である。かかる場合、例えば、端末情報取得部1303は、カメラ部1304の視野角を予め格納している、とする。視野角は、二次元の角度でも三次元の角度でも良い。なお、端末装置13(カメラ部1304)の位置、方向、視野角が分かれば、撮影できる領域が分かる。つまり、端末情報は、カメラ部1304が撮影する領域を特定する情報である。撮影する領域は、三次元の領域であることが好適であるが、二次元の領域でも良い。
また、端末情報は、端末識別子を含んでも良い。視野角や端末識別子は、例えば、端末情報取得部1303が有する図示しない記憶媒体に格納されている。端末識別子とは、端末を識別する情報であり、例えば、電話番号、IPアドレス、MACアドレスなどである。
カメラ部1304は、映像を取得する。カメラ部1304は、いわゆるカメラである。カメラ部1304は、通常、現在、ファインダーに映っている映像を取得する。カメラ部1304は、例えば、CCDカメラにより実現され得る。
送信部1305は、端末情報取得部1303が取得した端末情報をサーバ装置11に送信する。送信部1305は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
受信部1306は、端末情報の送信に対応して、撮影オブジェクト情報を受信する。撮影オブジェクト情報は、通常、オブジェクト識別子も含む。撮影オブジェクト情報は、端末装置13から当該オブジェクトまでの距離を含んでも良い。受信部1306は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
オブジェクト関連情報受信部1307は、オブジェクト関連情報を受信する。オブジェクト関連情報受信部1307は、オブジェクト識別子の送信に対応して、オブジェクト関連情報を受信しても良い。また、オブジェクト関連情報受信部1307は、オブジェクト関連情報を、ウェブサーバ装置12、またはサーバ装置11から受信する。また、オブジェクト関連情報受信部1307は、オブジェクト関連情報を、ウェブサーバ装置12からサーバ装置11経由で受信しても良い。オブジェクト関連情報受信部1307は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
出力情報取得部1308は、受信部1306が受信した撮影オブジェクト情報が有する1以上の領域情報を含む出力情報を取得する。なお、通常、出力情報取得部1308は、領域情報とオブジェクト識別子とを対に有する出力情報を取得する。出力情報取得部1308は、受信部1306が受信した撮影オブジェクト情報が有する1以上の領域情報と1以上の距離とを含む出力情報を取得しても良い。なお、出力情報取得部1308は、撮影オブジェクト情報を出力部1309などの他の要素に、単に渡す場合は、何ら処理を行わない。かかる場合、出力情報取得部1308は、不要である。出力情報取得部1308は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力情報取得部1308は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
出力部1309は、映像、音声、文字列、画像などのうちの一以上の情報を出力する。出力部1309は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部1309は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
カメラ映像出力手段13091は、カメラ部1304が取得した映像を出力する。カメラ映像出力手段13091は、カメラ部1304が取得した映像を、第一表示手段13141に表示することは好適である。
領域出力手段13092は、カメラ映像出力手段13091が出力している映像に重ねて、出力情報取得部1308が取得した1以上の出力情報に含まれる領域情報を出力する。かかる場合、領域情報が示すオブジェクトの領域が視覚的に判断できるように、領域情報(例えば、枠)を出力する。領域出力手段13092は、出力情報取得部1308が取得した1以上の出力情報に含まれる領域情報に対応する大きさの領域を、他の領域と視覚的に区別可能なように、カメラ映像出力手段13091が出力している映像に重ねて出力する。領域出力手段13092は、出力情報取得部1308が取得した1以上の出力情報に含まれる距離が大きいほど、距離に対応するオブジェクトの領域を小さくして出力することは好適である。領域出力手段13092は、他のオブジェクトの領域は出力せず、一のオブジェクトの領域のみを他の領域と視覚的に区別可能なように、カメラ映像出力手段13091が出力している映像に重ねて出力することは好適である。「一のオブジェクトの領域のみ」とは、他の領域を出力しない意図であり、他の種類の情報(領域情報以外の情報)を出力しない意図ではない。なお、上記において、出力情報取得部1308が取得した1以上の出力情報に含まれる領域情報は、1以上の撮影オブジェクトに含まれる領域情報でも良い。
領域出力手段13092は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。領域出力手段13092は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
距離出力手段13093は、1以上の撮影オブジェクトに含まれる距離を出力する。距離出力手段13093は、領域出力手段13092が出力した領域に対応付けて出力することは好適である。また、距離出力手段13093は、出力部1309が出力している映像に重ねて、距離を出力することは好適である。ここで、「領域に対応付けて」とは、領域内に距離を出力することが好適であるが、領域外への距離の出力でも良い。距離出力手段13093は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。距離出力手段13093は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
オブジェクト関連情報出力手段13094は、オブジェクト関連情報受信部1307が受信したオブジェクト関連情報を出力する。
オブジェクト関連情報出力手段13094は、オブジェクト関連情報受信部1307が受信したオブジェクト関連情報を、第二表示手段13142に表示することは好適である。かかる場合、カメラ部1304が取得した映像が第一表示手段13141に表示され、オブジェクト関連情報が第二表示手段13142に表示される。オブジェクト関連情報出力手段13094は、他のオブジェクトのオブジェクト関連情報は出力せず、一のオブジェクトのオブジェクト関連情報のみを出力することは好適である。ここで、「一のオブジェクトのオブジェクト関連情報のみを出力する」とは、他のオブジェクトのオブジェクト関連情報は出力しないことであり、他の種類の情報を出力しないことではない。オブジェクト関連情報出力手段13094は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。オブジェクト関連情報出力手段13094は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
カレントレイヤ変更部1310は、第三受付手段13023で受け付けた入力に従って、カレントレイヤ格納部1301のカレントレイヤを変更する。第三受付手段13023で受け付けた入力には、カレントレイヤを特定する情報(カレントレイヤまたは、カレントレイヤを進める情報(レイヤに順序がある場合))が含まれる、とする。カレントレイヤ変更部1310は、通常、MPUやメモリ等から実現され得る。カレントレイヤ変更部1310の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力固定部1311は、受付部1302が指示を受け付けた場合、出力部1309が出力中の映像と領域を固定する。ここで、固定とは、Pause、Resumeのことである。つまり、固定とは、カメラのアングルを動かしても、画面上に出力されている映像や領域情報などは動かない、という意味である。そして、出力固定部1311は、出力部1309が出力中の映像と領域を、少なくとも一時的に、図示しない記憶媒体に記録する。なお、出力中の映像などを固定する技術は、いわゆるビデオムービーなどの機能と同様であり、公知技術である。出力固定部1311は、通常、MPUやメモリ等から実現され得る。出力固定部1311の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
オブジェクト識別子取得部1312は、第二受付手段13022で受け付けた入力に対応する領域に対するオブジェクト識別子を取得する。オブジェクト識別子取得部1312は、例えば、領域情報と対になっているオブジェクト識別子を取得する。オブジェクト識別子取得部1312は、例えば、指示された枠(領域)で特定される領域情報を、1以上の撮影オブジェクト情報から取得し、当該領域情報と対になるオブジェクト識別子を取得する。なお、ここで、オブジェクト識別子とは、オブジェクトを識別する情報であれば良く、例えば、URLやオブジェクト名などでも良い。また、オブジェクト識別子取得部1312が取得するオブジェクト識別子と、他の構成要素が処理するオブジェクト識別子とが異なった種類の情報(例えば、オブジェクトIDとURLなど)でも良い。オブジェクト識別子取得部1312は、通常、MPUやメモリ等から実現され得る。オブジェクト識別子取得部1312の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
オブジェクト識別子送信部1313は、オブジェクト識別子取得部1312が取得したオブジェクト識別子を1以上のウェブサーバ装置12のいずれかに送信する。オブジェクト識別子送信部1313は、オブジェクト識別子をサーバ装置11に送信しても良い。オブジェクト識別子送信部1313は、オブジェクト識別子により特定できるウェブサーバ装置12に、オブジェクト関連情報の送信指示を送信しても良い。かかる場合も、オブジェクト識別子の送信である、とする。オブジェクト識別子送信部1313は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
表示部1314は、情報を表示するデバイスである。第一表示手段13141は、情報を表示する第一のデバイスである。第二表示手段13142は、情報を表示する第二のデバイスである。第一表示手段13141と第二表示手段13142とは、例えば、物理的に分離されていることは好適であるが、それぞれ、一ディスプレイを2分割したウィンドウでも良い。
次に、情報システム1の動作について説明する。まず、サーバ装置11の動作について、図4のフローチャートを用いて説明する。
(ステップS401)サーバ受信部112は、端末装置13から、端末情報を受信したか否かを判断する。端末情報を受信すればステップS402に行き、端末情報を受信しなければステップS401に戻る。
(ステップS402)撮影オブジェクト決定部113は、ステップS401で受信された端末情報を用いて、当該端末情報が有する位置情報および/または方向情報を、オブジェクト情報格納部111の各オブジェクト情報の領域情報に適用し、端末装置13が撮影している(端末装置13のディスプレイに映っている)1以上のオブジェクトを決定する。かかる処理を撮影オブジェクト決定処理という。なお、撮影オブジェクト決定部113は、予め格納されている視野角をも用いて、端末装置13が撮影している1以上のオブジェクトを決定することは好適である。なお、端末装置13が撮影しているオブジェクトを撮影オブジェクトとも言う。撮影オブジェクト決定処理について、図5のフローチャートを用いて説明する。
(ステップS403)距離算出部114は、ステップS401で受信された端末情報が有する位置情報を取得する。かかる位置情報は、端末装置13の位置を示す情報である。
(ステップS404)距離算出部114は、カウンタiに1を代入する。
(ステップS405)距離算出部114は、i番目の撮影オブジェクトが存在するか否かを判断する。i番目の撮影オブジェクトが存在すればステップS406に行き、i番目の撮影オブジェクトが存在しなければステップS410に行く。
(ステップS406)距離算出部114は、i番目の撮影オブジェクトの位置情報を、オブジェクト情報格納部111から取得する。なお、i番目の撮影オブジェクトの位置情報は、i番目の撮影オブジェクトのオブジェクト情報に含まれる。
(ステップS407)距離算出部114は、ステップS403で取得した位置情報が示す地点と、ステップS406で取得した位置情報が示す地点との距離を算出する。2地点の各位置情報から、両地点の距離を算出する技術は公知技術である。なお、ここで算出された距離は、端末装置13と撮影オブジェクトとの距離である。
(ステップS408)撮影オブジェクト情報取得部115は、i番目の撮影オブジェクトの領域情報を含む情報をオブジェクト情報格納部111から取得する。そして、撮影オブジェクト情報取得部115は、オブジェクト情報格納部111から取得したi番目の撮影オブジェクトの情報と、ステップS407で取得した距離を有する撮影オブジェクト情報を構成する。次に、撮影オブジェクト情報取得部115は、i番目の撮影オブジェクト情報をバッファに一時格納する。
(ステップS409)距離算出部114は、カウンタiを1、インクリメントする。ステップS405に戻る。
(ステップS410)サーバ送信部116は、ステップS408でバッファに一時格納された1以上の撮影オブジェクト情報を、端末装置13に送信する。ステップS401に戻る。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、図4のフローチャートにおいて、端末装置13と撮影オブジェクトとの距離の算出は、一度だけで良いことは言うまでもない。つまり、ステップS402の中で、端末装置13と撮影オブジェクトとの距離を算出し、格納した場合には、ステップS406からS407の処理は不要となる。
次に、ステップS402の撮影オブジェクト決定処理について、図5のフローチャートを用いて説明する。
(ステップS501)撮影オブジェクト決定部113は、ステップS401で受信された端末情報が有する位置情報を取得する。
(ステップS502)撮影オブジェクト決定部113は、ステップS401で受信された端末情報が有する方向情報と、視野角とを用いて、撮影されない角度を取得する。そして、撮影オブジェクト決定部113は、かかる角度(不可視領域の角度)を記録媒体に登録(記録)する。例えば、方向情報が90度(例えば、真東)であり、視野角が40度である場合、撮影される角度は「70度から110度」である。したがって、撮影オブジェクト決定部113は、「0<=不可視領域の角度<70」および「110<不可視領域の角度<=360」を登録する。なお、ここで、撮影オブジェクト決定部113は、撮影される角度(可視領域の角度)を取得し、登録しても良い。つまり、可視領域の角度の登録も、不可視領域の角度の登録と同意義である、とする。
(ステップS503)撮影オブジェクト決定部113は、ステップS501で取得した位置情報を用いて、端末装置13から近いオブジェクトの順に、オブジェクト情報格納部111のオブジェクト情報をソートする。かかる処理をオブジェクトソート処理という。オブジェクトソート処理について、図6のフローチャートを用いて説明する。
(ステップS504)撮影オブジェクト決定部113は、カウンタiに1を代入する。
(ステップS505)撮影オブジェクト決定部113は、オブジェクト情報格納部111に、i番目のオブジェクトが存在するか否かを判断する。i番目のオブジェクトが存在すればステップS506に行き、i番目のオブジェクトが存在しなければ上位処理にリターンする。
(ステップS506)撮影オブジェクト決定部113は、オブジェクト情報格納部111から、i番目のオブジェクトのオブジェクト情報が有する領域情報を取得する。
(ステップS507)撮影オブジェクト決定部113は、ステップS501で取得した位置情報と、ステップS505で取得した領域情報とを用いて、i番目のオブジェクトが、撮影オブジェクト(端末装置13のディスプレイに映っている)か否かを判断する。かかる判断を、可視判断処理という。可視判断処理について、図7、図8のフローチャートを用いて説明する。
(ステップS508)撮影オブジェクト決定部113は、ステップS506における判断の結果、i番目のオブジェクトが撮影オブジェクトであればステップS509に行き、撮影オブジェクトでなければステップS510に行く。
(ステップS509)撮影オブジェクト決定部113は、少なくとも、i番目のオブジェクトのオブジェクト識別子を図示しない記憶媒体に格納する。
(ステップS510)撮影オブジェクト情報決定部113は、登録されている不可視領域、または可視領域から、可視領域が存在するか否かを判断する。可視領域が存在すればステップS511に行き、存在しなければ上位処理にリターンする。なお、かかる判断は、二次元平面において行われても良いし、三次元空間において行われても良い。
(ステップS511)撮影オブジェクト決定部113は、カウンタiを1、インクリメントする。ステップS505に戻る。
なお、図5のフローチャートにおいて、不可視領域の角度を登録したが、可視領域の角度を登録し、以後、かかる角度に入いるオブジェクトのみを処理対象としても良い。
また、図5のフローチャートのステップS510において、撮影オブジェクト情報決定部113は、端末装置13からの距離が近い順(範囲や角度を区切った中のオブジェクトの集合の中での近い順でも良い)にオブジェクトを検査し、端末装置13が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合(すべてが不可視領域になった場合と同意義)に、オブジェクトが端末装置13に撮影されているか否かの検査を終了することを説明した。
さらに、具体的には、ステップS510の処理は、以下である。つまり、撮影オブジェクト情報決定部113は、端末装置13から近い順にオブジェクトを検査し、端末装置13が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報(ここでは、通常、後述の最小角度(θ1)および最大角度(θ2))を不可視領域として登録し、次に検査するオブジェクトと端末装置13とにより不可視領域となる領域の情報を取得し、前記最小角度(θ3)および最大角度(θ4)により特定される領域のすべてが既に不可視領域として登録されているか否かを判断し、不可視領域として登録されていなければ前記次に検査するオブジェクトを端末装置13が撮影しているとして決定し、当該最小角度(θ3)および最大角度(θ4)により特定される領域を不可視領域として登録する処理を繰り返し、端末情報が有する視野角すべての領域が不可視領域となった場合に、オブジェクトの検査を終了することである。
また、図5のフローチャートにおいて、ステップS510の処理は無くても良い。
さらに、図5のフローチャートにおいて、可視領域が存在しなくなった場合に、撮影されているオブジェクトの検知処理を終了した。しかし、閾値の数だけ、可視領域内のオブジェクトが見つかった場合、予め決められた条件に合致するオブジェクトが見つかった場合など、他の条件により、オブジェクトの検知処理を終了しても良い。
次に、ステップS502のオブジェクトソート処理について、図6のフローチャートを用いて説明する。
(ステップS601)撮影オブジェクト決定部113は、カウンタiに1を代入する。
(ステップS602)撮影オブジェクト決定部113は、オブジェクト情報格納部111に、i番目のオブジェクトが存在するか否かを判断する。i番目のオブジェクトが存在すればステップS603に行き、i番目のオブジェクトが存在しなければステップS607に行く。
(ステップS603)撮影オブジェクト決定部113は、i番目のオブジェクトの位置情報を、オブジェクト情報格納部111から取得する。なお、i番目のオブジェクトの位置情報は、i番目のオブジェクトのオブジェクト情報に含まれる。
(ステップS604)撮影オブジェクト決定部113は、ステップS403で取得した位置情報が示す地点と、ステップS603で取得した位置情報が示す地点との距離を算出する。
(ステップS605)撮影オブジェクト決定部113は、ステップS604で取得した距離とi番目のオブジェクトのオブジェクト情報(またはそのうちの一部の情報)とを対にして、図示しない記録媒体に一時的に格納する。
(ステップS606)撮影オブジェクト決定部113は、カウンタiを1、インクリメントする。ステップS602に戻る。
(ステップS607)撮影オブジェクト決定部113は、距離をキーとして、距離の近い(小さい)順に、オブジェクト情報をソートする。上位処理にリターンする。
次に、ステップS506の可視判断処理について、図7のフローチャートを用いて説明する。なお、ここでの可視判断処理は、第一の可視判断処理である。第一の可視判断処理は、オブジェクトの平面的な情報のみを用いて、オブジェクトが端末装置13のディスプレイに出力されているか否かを判断する処理である。
(ステップS701)撮影オブジェクト決定部113は、カウンタiに1を代入する。
(ステップS702)撮影オブジェクト決定部113は、判断対象となるオブジェクトの領域情報の中にi番目の点が存在するか否かを判断する。i番目の点が存在すればステップS703に行き、i番目の点が存在しなければステップS705に行く。なお、領域情報は、例えば、その外形を示す点から構成されるとする。外形を示す点とは、領域情報が示す領域が4角形であれば4点存在し、8角形であれば8点存在する。点とは、通常、(緯度,経度)または(x座標、y座標)などで示される。
(ステップS703)撮影オブジェクト決定部113は、i番目の点と位置情報との角度(θ)を算出し、当該角度(θ)をバッファに一時記憶する。角度(θ)の基準は、例えば、真北である。ただし、基準は一定であれば良く、真北であるとは限らない。なお、位置情報とは、端末装置13の位置を示す情報である。
(ステップS704)撮影オブジェクト決定部113は、カウンタiを1、インクリメントする。ステップS702に戻る。
(ステップS705)撮影オブジェクト決定部113は、ステップS703でバッファに一時格納された角度(θ)から、最小の角度(θ1)と最大角度(θ2)とを取得する。
(ステップS706)撮影オブジェクト決定部113は、ステップS705で取得した最小の角度(θ1)と最大角度(θ2)の領域すべてが、既に登録されている角度の領域であるか否かを判断する。既に登録されている角度の領域であればステップS710に行き、既に登録されている角度の領域を一部でも含まない場合はステップS707に行く。
(ステップS707)撮影オブジェクト決定部113は、このオブジェクトを撮影オブジェクトであると判断する。リターン値として、撮影オブジェクトである旨の情報(例えば、「1」)を代入する。
(ステップS708)撮影オブジェクト決定部113は、このオブジェクトを撮影オブジェクトであるとしたために、現在、不可視領域として登録されている角度に加え、最小の角度(θ1)と最大角度(θ2)の領域を不可視領域とする角度の幅(領域)を取得する。なお、例えば、現在、「30度から40度」が登録されており、最小の角度(θ1)が35度であり、最大角度(θ2)が45度である場合、撮影オブジェクト決定部113は、「30度から45度」を取得する。また、例えば、現在、「30度から40度」が登録されており、最小の角度(θ1)が55度であり、最大角度(θ2)が60度である場合、「55度から60度」を取得する。
(ステップS709)撮影オブジェクト決定部113は、ステップS708で取得した角度を登録する。なお、例えば、上記において、「30度から45度」は、「30度から40度」の情報に上書きされる。また、例えば、上記において、「55度から60度」が追記される。上位処理にリターンする。このとき、リターン値も返される。
(ステップS710)撮影オブジェクト決定部113は、撮影オブジェクト決定部113は、このオブジェクトを非撮影オブジェクトであると判断する。リターン値として、非撮影オブジェクトである旨の情報(例えば、「0」)を代入する。上位処理にリターンする。このとき、リターン値も返される。
次に、ステップS506の可視判断処理について、図8のフローチャートを用いて説明する。なお、ここでの可視判断処理は、第二の可視判断処理である。第二の可視判断処理は、オブジェクトの立体的な情報のみを用いて、オブジェクトが端末装置13のディスプレイに出力されているか否かを判断する処理である。図8のフローチャートにおいて、図7のフローチャートと同様のステップについて、説明を省略する。
(ステップS801)撮影オブジェクト決定部113は、i番目の点(x1,y1,z1)と位置情報(x0,y0,z0)との高さ方向の角度(θh)を算出し、バッファに格納する。
(ステップS802)撮影オブジェクト決定部113は、視点(位置情報)からの高さ方向の角度(θ3)を取得する。θ3は、ステップS801で格納したθhのうち、最大の角度である。
(ステップS803)撮影オブジェクト決定部113は、最小の角度(θ1)と最大角度(θ2)の領域において、高さ方向の角度(θ3)以上の角度が既に、登録されているか否かを判断する。登録されていればステップS710に行き、登録されていなければステップS707に行く。高さ方向の角度(θ3)以上の角度が既に登録されている場合は、対象となるオブジェクトは不可視領域にあり、撮影オブジェクトではないことを示す。
(ステップS804)撮影オブジェクト決定部113は、このオブジェクトを撮影オブジェクトであるとしたために、現在、不可視領域として登録されている角度に加え、最小角度(θ1)と最大角度(θ2)の平面領域を不可視領域とする角度の幅(領域)を取得する。なお、例えば、現在、「30度から40度」が登録されており、最小の角度(θ1)が35度であり、最大角度(θ2)が45度である場合、撮影オブジェクト決定部113は、「30度から45度」を取得する。
(ステップS805)撮影オブジェクト決定部113は、このオブジェクトを撮影オブジェクトであるとしたために、高さ方向の角度(θ3)を取得する。なお、例えば、現在、最小の角度(θ1)と最大角度(θ2)の平面領域において、高さの角度「30度」が登録されている場合、取得した高さ方向の角度(θ3)が「35度」であれば、「35度」を取得する。
(ステップS806)撮影オブジェクト決定部113は、ステップS804で取得した平面領域の角度(例えば、「30度から45度」)と、高さ方向の角度(例えば、「35度」)を対応付けて蓄積(登録)する。上位処理にリターンする。このとき、リターン値も返される。なお、撮影オブジェクト決定部113は、最小角度(θ1)と最大角度(θ2)の平面領域において、現在、不可視領域として登録されている高さ方向の角度が、高さ方向の角度(θ3)以上であるか否かを判断し、高さ方向の角度(θ3)以上であれば、高さ方向の角度(θ3)を蓄積しない。
次に、情報システム1のウェブサーバ装置12の動作について説明する。ウェブサーバ装置12のオブジェクト関連情報取得部122は、外部(通常、端末装置13またはサーバ装置11)からの指示に応じて、オブジェクト関連情報を、オブジェクト関連情報格納部121から取得する。そして、オブジェクト関連情報送信部123は、オブジェクト関連情報取得部122が取得したオブジェクト関連情報を端末装置13またはサーバ装置11に送信する。
次に、端末装置13の動作について、図9のフローチャートを用いて説明する。
(ステップS901)受付部1302は、指示等を受け付けたか否かを判断する。指示等を受け付ければステップS902に行き、指示等を受け付けなければステップS901に戻る。
(ステップS902)第一受付手段13021は、ステップS901で受け付けた指示がオブジェクト取得指示であるか否かを判断する。オブジェクト取得指示とは、撮影しているオブジェクトに関する情報を取得する指示である。オブジェクト取得指示であればステップS903に行き、オブジェクト取得指示でなければステップS909に行く。
(ステップS903)端末情報取得部1303の位置情報取得手段13031は、端末装置13の位置情報を取得する。
(ステップS904)方向情報取得手段13032は、端末装置13が向いている方向を示す方向情報を取得する。
(ステップS905)端末情報取得部1303は、ステップS903で取得した位置情報と、ステップS904で取得した方向情報とを有する端末情報を構成する。なお、端末情報取得部1303は、予め格納している視野角を含む端末情報を構成することは好適である。
(ステップS906)送信部1305は、ステップS905で構成した端末情報をサーバ装置11に送信する。
(ステップS907)受信部1306は、端末情報の送信に対応して、撮影オブジェクト情報を受信したか否かを判断する。撮影オブジェクト情報を受信すればステップS908に行き、撮影オブジェクト情報を受信しなければステップS907に戻る。
(ステップS908)出力部1309等は、ステップS907で受信した撮影オブジェクト情報を出力する処理を行う。かかる処理は、撮影オブジェクト情報出力処理という。ステップS901に戻る。
(ステップS909)第二受付手段13022は、ステップS901で受け付けた入力が領域に対する入力であるか否かを判断する。領域に対する入力とは、オブジェクトを示す領域(枠)の表示に対する指示である。領域に対する入力であればステップS910に行き、領域に対する入力でなければステップS911に行く。
(ステップS910)出力部1309等は、指示された領域に対するオブジェクトに関する情報を出力する処理を行う。かかる処理を、オブジェクト関連情報出力処理という。ステップS901に戻る。
(ステップS911)第三受付手段13023は、ステップS901で受け付けた入力がカレントレイヤを設定する入力であるか否かを判断する。カレントレイヤを設定する入力であればステップS912に行き、カレントレイヤを設定する入力でなければステップS913に行く。
(ステップS912)カレントレイヤ変更部1310は、ステップS911で受け付けた入力に従って、カレントレイヤ格納部1301のカレントレイヤを変更する。
(ステップS913)各構成要素は、受け付けた指示に対応した動作を行う。例えば、受け付けた指示が撮影開始指示であれば、カメラ部1304が起動し、映像を取得し、カメラ映像出力手段13091が、カメラ部1304が取得した映像を出力する。また、例えば、受け付けた指示が出力固定指示である場合、出力固定部1311は、出力部1309が出力中の映像と領域を固定する。
次に、ステップS908の撮影オブジェクト情報出力処理について、図10のフローチャートを用いて説明する。
(ステップS1001)出力部1309は、カレントレイヤを、カレントレイヤ格納部1301から読み出す。
(ステップS1002)出力情報取得部1308は、カウンタiに1を代入する。
(ステップS1003)出力情報取得部1308は、出力対象の撮影オブジェクト情報の中に、i番目の撮影オブジェクトが存在するか否かを判断する。i番目の撮影オブジェクトが存在すればステップS1004に行き、i番目の撮影オブジェクトが存在しなければ上位処理にリターンする。
(ステップS1004)出力情報取得部1308は、i番目の撮影オブジェクトの領域情報を取得する。
(ステップS1005)出力部1309は、i番目の撮影オブジェクトの領域情報から、枠サイズを決定する。枠サイズとは、通常、領域情報に対応する大きさの枠(通常、矩形)である。
(ステップS1006)出力部1309は、ステップS1001で読み出したカレントレイヤが、オブジェクト識別レイヤであるか否かを判断する。オブジェクト識別レイヤであればステップS1007に行き、オブジェクト識別レイヤでなければステップS1010に行く。
(ステップS1007)領域出力手段13092は、ステップS1005で決定された枠サイズに合致する枠を構成する。枠とは、例えば、矩形の領域のウィンドウやオブジェクトや図形等である。
(ステップS1008)領域出力手段13092は、領域情報が示す領域に、ステップS1007で構成した枠を出力する。領域出力手段13092は、通常、カメラ映像出力手段13091が出力している映像に重ねて、枠を出力する。この枠は、出力情報取得部1308が取得した1以上の出力情報に含まれる領域情報とも言える。
なお、本ステップで、距離出力手段13093は、出力情報取得部1308が取得した1以上の出力情報に含まれる距離をも出力することは好適である。この距離の出力は、枠内または枠に対応付けて出力することはさらに好適である。
(ステップS1009)出力情報取得部1308は、カウンタiを1、インクリメントする。ステップS1003に戻る。
(ステップS1010)出力部1309は、ステップS1001で読み出したカレントレイヤが、ウェブサーチレイヤであるか否かを判断する。ウェブサーチレイヤであればステップS1007に行き、ウェブサーチレイヤでなければステップS1009に行く。
(ステップS1011)出力部1309は、オブジェクト関連情報の出力処理を行う。ステップS1009に行く。
なお、図10のフローチャートにおいて、領域情報(例えば、枠)の出力は必須ではない。また、距離の出力も必須ではない。出力部1309は、撮影オブジェクト情報のうちのいかなる情報を出力しても良い。
次に、ステップS101のオブジェクト関連情報出力処理について、図11のフローチャートを用いて説明する。
(ステップS1101)オブジェクト識別子取得部1312は、第二受付手段13022で受け付けた入力に対応する領域に対するオブジェクト識別子を取得する。
(ステップS1102)オブジェクト識別子送信部1313は、ステップS1101で取得されたオブジェクト識別子を1以上のウェブサーバ装置12のいずれかに送信する。オブジェクト識別子がウェブサーバ装置12のURLである場合、オブジェクト識別子送信部1313は、オブジェクト識別子を、当該URLに対応するウェブサーバ装置12に送信する。なお、オブジェクト識別子の送信とは、オブジェクト関連情報を取得するための、何らかの情報の送信も含まれる。
(ステップS1103)オブジェクト関連情報受信部1307は、ステップS1102におけるオブジェクト識別子の送信に対応して、オブジェクト関連情報を受信したか否かを判断する。オブジェクト関連情報を受信すればステップS1104に行き、オブジェクト関連情報を受信しなければステップS1103に戻る。
(ステップS1104)出力部1309は、ステップS1103で受信したオブジェクト関連情報がシンボル情報であるか否かを判断する。シンボル情報であればステップS1105に行き、シンボル情報でなければステップS1106に行く。なお、シンボル情報とは、オブジェクトを特定する画像やアイコンなどである。シンボル情報とは、例えば、後述するシンボル画像やシンボル音楽(特に、アイコン)などである。
(ステップS1105)オブジェクト関連情報出力手段13094は、オブジェクト関連情報受信部1307が受信したオブジェクト関連情報を、領域に合わせて縮小または拡大する。
(ステップS1106)オブジェクト関連情報出力手段13094は、オブジェクト関連情報を出力する。上位処理にリターンする。
以下、本実施の形態における情報システム1の具体的な動作について説明する。情報システム1の概念図は図1である。
まず、情報システム1の技術的な概念について説明する。情報システム1は、例えば、図12に示すような概念を有している。情報システム1は、拡張ウェブブラウジング(Augmented Web Browsing)を実現できる。つまり、情報システム1は、カメラで捉えている画像に含まれるオブジェクトに関する情報(領域を示す枠、ウェブページ、シンボル画像など)を、当該オブジェクトに重ねて、または他の領域(他のウィンドウや他のディスプレイ)に表示できる。
また、情報システム1の端末装置13は、図12に示すように、複数のレイヤを有する。レイヤとは、端末装置13が行う処理の階層である。レイヤとは、例えば、カメラレイヤ(camera layer)、地図センシングレイヤ(Geospatial Sensing layer)、オブジェクト識別レイヤ(Object-identification layer)、ウェブサーチレイヤ(Web search API layer)、タッチコントロールレイヤ(Touch-control layer)などである。かかる複数のレイヤが有する構造を、Layer-based Media Integration Platform という。
なお、地図センシングレイヤとは、地図情報を検出するための処理のレイヤである。また、タッチコントロールレイヤとは、ユーザからの指示(通常、タッチ)を受け付け、指示に対応する処理に移行するレイヤである。また、カメラレイヤ、オブジェクト識別レイヤ、ウェブサーチレイヤは、出力する情報を区別でき、かつ処理も行えるレイヤである。地図センシングレイヤ、タッチコントロールレイヤは、処理を行うためのレイヤである。
ここでは、カレントレイヤがカメラレイヤの場合は、カメラ部1304が取得した映像のみを出力する。また、カレントレイヤがオブジェクト識別レイヤの場合は、カメラ部1304が取得した映像と、当該映像に含まれるオブジェクトに関する情報(例えば、枠など)を出力する。さらに、カレントレイヤがウェブサーチレイヤの場合は、カメラ部1304が取得した映像、当該映像に含まれるオブジェクトに関する情報(例えば、枠など)、およびウェブサーバ装置12から取得した情報を出力する。なお、カレントレイヤがウェブサーチレイヤの場合は、カメラ部1304が取得した映像およびウェブサーバ装置12から取得した情報のみを出力しても良い。
また、情報システム1において、上記したレイヤだけでなく、種々のレイヤを有しても良い(図13参照)。種々のレイヤとは、上述したレイヤの他、例えば、メディア重畳レイヤ(Media Superimposing layer)や、ナビゲーションレイヤがある。メディア重畳レイヤとは、種々のメディアを重畳して出力するレイヤである。ナビゲーションレイヤとは、オブジェクトへの道などをナビゲーションするレイヤである。
次に、2つの具体例を用いて、情報システム1について説明する。具体例1は、オブジェクトの高さまでは考慮せず、オブジェクトの平面的な情報のみを考慮して、撮影されている映像の中に含まれるオブジェクトを認識し、当該オブジェクトに関する情報を出力する態様である。具体例2は、オブジェクトの高さをも考慮して、撮影されている映像の中に含まれるオブジェクトを認識し、当該オブジェクトに関する情報を出力する態様である。
(具体例1)
今、サーバ装置11のオブジェクト情報格納部111は、図14に示すオブジェクト情報管理表を保持している。オブジェクト情報管理表は、地図上のオブジェクト情報を管理している表である。オブジェクト情報管理表は、「オブジェクト識別子」「オブジェクト名」「URL」「位置情報」「領域情報」などの属性値を有するレコードを1以上、管理している。「オブジェクト識別子」は、ここでは、オブジェクトのIDである。「オブジェクト名」は、オブジェクトの名称を示す。URLは、オブジェクトに関して説明するウェブページ(ここでのオブジェクト関連情報)が存在する場所を示す情報である。「位置情報」は、オブジェクトの位置を特定する情報であり、ここでは、(緯度,経度)である。「領域情報」は、オブジェクトが配置されている二次元領域を示す情報であり、ここでは、多角形であるオブジェクトの3以上の頂点を示す。頂点も、ここでは、(緯度,経度)である。
また、ウェブサーバ装置12のオブジェクト関連情報格納部121は、例えば、図15に示すオブジェクト関連情報を有する。オブジェクト関連情報は、ここでは、シンボル画像、シンボル音楽、ウェブページを有する。シンボル画像は、オブジェクトを象徴する画像(アイコン)である。シンボル音楽は、オブジェクトを象徴する音楽と、音楽を示す画像(アイコン)である。なお、シンボル音楽は、オブジェクトを象徴する音楽だけでも良い。また、ウェブページは、オブジェクトを説明する説明情報の一種である。ウェブページは、オブジェクトについて、単に説明するページでも良いし、オブジェクトの広告情報でも良いし、オブジェクトに対して何らかのアクションを発生させるページ(例えば、商品やサービスの注文や予約など)でも良い。つまり、説明情報は、ウェブページを用いて行える処理を実現する情報などでも良い。また、図15において、ウェブページに、シンボル画像、シンボル音楽などが含まれても良い。
また、端末装置13は、2つのディスプレイを有する端末である、とする。なお、端末装置13は、一つのディスプレイを有する端末であっても良いし、3つ以上のディスプレイを有する端末であっても良い。
さらに、端末装置13のカレントレイヤ格納部1301は、「カレントレイヤ=カメラレイヤ」を格納している、とする。
かかる場合、ユーザは、端末装置13を起動した、とする。すると、受付部1302は、起動の指示を受け付ける。そして、カメラ部1304は、カレントレイヤ格納部1301から「カレントレイヤ=カメラレイヤ」を読み出す。そして、カメラ部1304は、カメラを起動する。すると、図16に示すように、端末装置13の第一表示手段13141に、外界の映像が出力される。
次に、ユーザは、カレントレイヤをオブジェクト識別レイヤにする指示を入力した、とする。すると、第三受付手段13023は、受け付けた入力がカレントレイヤを設定する入力であると判断する。次に、カレントレイヤ変更部1310は、受け付けた入力に従って、カレントレイヤ格納部1301のカレントレイヤをオブジェクト識別レイヤに変更する。
次に、ユーザは、図16の端末装置13の状態から、映像中のオブジェクトの情報を得ようとして、オブジェクト取得指示を入力する。オブジェクト取得指示は、タッチすることにより入力されることが好適であるが、メニューからの選択、キーボード等の入力手段による入力等により、入力されても良い。次に、第一受付手段13021は、オブジェクト取得指示を受け付ける。
次に、端末情報取得部1303の位置情報取得手段13031(ここでは、例えば、GPS受信機)は、端末装置13の位置情報(X,Y)を取得する。
次に、方向情報取得手段13032は、端末装置13が向いている方向を示す方向情報(θA)を取得する。方向情報(θA)は、例えば、真北から時計回りの角度(真東は90度)を示す。
また、端末情報取得部1303は、カメラ部1304が有する視野角の情報(単に「視野角」という)を読み出す。ここでは、視野角は「θa」である、とする。また、カメラ部1304は、予め視野角「θa」を格納している。とする。
次に、端末情報取得部1303は、取得した位置情報(X,Y)と、取得した方向情報(θA)と、視野角(θa)とを有する端末情報(X,Y,θA,θa)を構成する。
次に、送信部1305は、構成した端末情報(X,Y,θA,θa)をサーバ装置11に送信する。
そして、サーバ受信部112は、端末装置13から、端末情報(X,Y,θA,θa)を受信する。
次に、サーバ受信部112は、以下のように、撮影オブジェクトを決定する。つまり、撮影オブジェクト決定部113は、受信された端末情報が有する位置情報(X,Y)を取得する。
次に、撮影オブジェクト決定部113は、端末情報が有する方向情報(θA)と視野角(θa)とを用いて、不可視領域となる角度を算出する。撮影オブジェクト決定部113は、「(θA−(θa/2))<=可視領域<=(θA+(θa/2))」を可視領域となる角度として決定する。そして、可視領域を除く角度を不可視領域角度として算出し、蓄積する。かかる概念を図17に示す。なお、可視領域が真北のラインをまたがっていない場合、不可視領域角度は「0<=不可視領域角度<(θA−(θa/2))」および「(θA+(θa/2))<不可視領域角度<=360」である。また、可視領域が真北のラインをまたがっている場合、不可視領域角度は「(θA+(θa/2))<不可視領域角度<(θA−(θa/2))」である。
そして、撮影オブジェクト決定部113は、取得した位置情報(X,Y)を用いて、端末装置13から近いオブジェクトの順に、オブジェクト情報格納部111のオブジェクト情報をソートする。ソート処理については、図6で説明した処理により行う。ソート処理の結果、撮影オブジェクト決定部113は、図18に示すようなオブジェクト一時管理表を取得する。オブジェクト一時管理表の各レコードは、オブジェクト識別子と距離とを有する。距離は、位置情報(X,Y)が示す点とオブジェクトの位置情報が示す点との距離である。
次に、撮影オブジェクト決定部113は、オブジェクト一時管理表の上位のレコードから、撮影オブジェクトであるか否かを判断する。
つまり、撮影オブジェクト決定部113は、オブジェクト一時管理表の1番目のレコードのオブジェクト識別子「1」を読み出す。そして、当該オブジェクト識別子「1」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「1」と対になる領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」を取得する。
次に、撮影オブジェクト決定部113は、受信された端末情報(X,Y,θA,θa)と、取得した領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」とを用いて、1番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部113は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の1番目の点(x1,y1)を取得する。
次に、撮影オブジェクト決定部113は、1番目の点(x1,y1)と位置情報(X,Y)との角度(θ1)を算出し、当該角度(θ1)をバッファに一時記憶する。同様に、撮影オブジェクト決定部113は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y)との角度(θ2,θ3,θ4)を算出し、当該角度(θ2,θ3,θ4)もバッファに一時記憶する。バッファには、(θ1,θ2,θ3,θ4)が格納されたことになる。
次に、撮影オブジェクト決定部113は、バッファに一時格納された角度(θ1,θ2,θ3,θ4)から、最小角度(例えば、(θ1))と最大角度(例えば、(θ4))とを取得する。
次に、撮影オブジェクト決定部113は、取得した最小角度(θ1)と最大角度(θ4)の領域すべてが、既に登録されている角度の領域(「(θA−(θa/2))<=可視領域<=(θA+(θa/2))」を除く角度)であるか否かを判断する。ここで、撮影オブジェクト決定部113は、取得した最小角度(θ1)と最大角度(θ4)の領域は、可視領域であると判断した、とする。そして、撮影オブジェクト決定部113は、オブジェクト識別子「1」のオブジェクトは、撮影オブジェクトであると判断する。
次に、撮影オブジェクト決定部113は、「θ1<=不可視領域<=θ4」を新たな不可視領域とする。つまり、撮影オブジェクト決定部113は、例えば、「0<=不可視領域角度<(θA−(θa/2))」および「(θA+(θa/2))<不可視領域角度<=360」と「θ1<=不可視領域<=θ4」とをマージした不可視領域角度を記録媒体に登録する。ここで、マージとは、今までの不可視領域に、「θ1<=不可視領域<=θ4」を加えることである。
次に、撮影オブジェクト決定部113は、1番目のオブジェクトのオブジェクト識別子「1」を図示しない記憶媒体に格納する。
次に、撮影オブジェクト情報決定部113は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断する。
次に、撮影オブジェクト決定部113は、オブジェクト一時管理表の2番目のオブジェクト識別子「17」を取得し、当該識別子「17」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「17」と対になる領域情報(例えば、「(x101,y101)(x102,y102)(x103,y103)(x103,y103)」)を取得する。
次に、撮影オブジェクト決定部113は、受信された端末情報(X,Y,θA,θa)と、取得した領域情報「(x101,y101)(x102,y102)(x103,y103)(x103,y103)」とを用いて、2番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部113は、判断対象となるオブジェクト(オブジェクト識別子「17」のオブジェクト)の領域情報の中の1番目の点(x101,y101)を取得する。
次に、撮影オブジェクト決定部113は、1番目の点(x101,y101)と位置情報(X,Y)との角度(θ101)を算出し、当該角度(θ101)をバッファに一時記憶する。同様に、撮影オブジェクト決定部113は、判断対象となるオブジェクト(オブジェクト識別子「17」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y)との角度(θ102,θ103,θ104)を算出し、当該角度(θ102,θ103,θ104)もバッファに一時記憶する。バッファには、(θ101,θ102,θ103,θ104)が格納されたことになる。
次に、撮影オブジェクト決定部113は、バッファに一時格納された角度(θ101,θ102,θ103,θ104)から、最小角度(例えば、(θ101))と最大角度(例えば、(θ103))とを取得する。
次に、撮影オブジェクト決定部113は、取得した最小角度(θ101)と最大角度(θ103)の領域すべてが、既に登録されている角度の領域であるか否かを判断する。そして、撮影オブジェクト決定部113は、最小角度(θ101)と最大角度(θ103)の領域すべてが、既に登録されている角度の領域であると、判断したとする。したがって、撮影オブジェクト決定部113は、オブジェクト識別子「17」のオブジェクトは撮影オブジェクトでない、と決定する。
次に、撮影オブジェクト情報決定部113は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断する。
次に、撮影オブジェクト決定部113は、オブジェクト一時管理表の3番目のオブジェクト識別子「3」を取得し、当該識別子「3」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「17」と対になる領域情報「(x11,y11)(x12,y12)(x13,y13)(x14,y14)」を取得する。
次に、撮影オブジェクト決定部113は、受信された端末情報(X,Y,θA,θa)と、取得した領域情報「(x11,y11)(x12,y12)(x13,y13)(x14,y14)」とを用いて、3番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部113は、判断対象となるオブジェクト(オブジェクト識別子「3」のオブジェクト)の領域情報の中の1番目の点(x11,y11)を取得する。
次に、撮影オブジェクト決定部113は、1番目の点(x11,y11)と位置情報(X,Y)との角度(θ11)を算出し、当該角度(θ11)をバッファに一時記憶する。同様に、撮影オブジェクト決定部113は、判断対象となるオブジェクト(オブジェクト識別子「3」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y)との角度(θ12,θ13,θ14)を算出し、当該角度(θ12,θ13,θ14)もバッファに一時記憶する。バッファには、(θ11,θ12,θ13,θ14)が格納されたことになる。
次に、撮影オブジェクト決定部113は、バッファに一時格納された角度(θ11,θ12,θ13,θ14)から、最小角度(例えば、(θ11))と最大角度(例えば、(θ14))とを取得する。
次に、撮影オブジェクト決定部113は、取得した最小角度(θ11)と最大角度(θ14)の領域すべてが、既に登録されている角度の領域であるか否かを判断する。ここで、撮影オブジェクト決定部113は、取得した最小角度(θ11)と最大角度(θ14)の領域と、既に登録されている不可視領域の角度とを比較する。そして、撮影オブジェクト決定部113は、取得した最小角度(θ11)と最大角度(θ14)の領域は、可視領域であると判断した、とする。そして、撮影オブジェクト決定部113は、オブジェクト識別子「3」のオブジェクトは、撮影オブジェクトであると判断する。
次に、撮影オブジェクト決定部113は、「θ11<=不可視領域<=θ14」を新たな不可視領域とする。
次に、撮影オブジェクト決定部113は、3番目のオブジェクトのオブジェクト識別子「3」を図示しない記憶媒体に格納する。
次に、撮影オブジェクト情報決定部113は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断する。
以上の処理を、4番目以降のオブジェクトに対しても繰り返す。そして、オブジェクト識別子「25」で識別されるオブジェクトを撮影オブジェクトであると決定した後、撮影オブジェクト情報決定部113は、登録されている不可視領域、または可視領域から、可視領域が存在しない、と判断した、とする。そして、最終的に、撮影オブジェクトの識別子の集合「1,3,25」が得られた、とする。
次に、オブジェクト識別子「1」の撮影オブジェクト情報を構成する。つまり、撮影オブジェクト情報取得部115は、オブジェクト情報管理表から、オブジェクト識別子「1」のオブジェクト名「コーヒーショップA」、URL「http://www.coffee-A.co.jp」、位置情報(xa,ya)、領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」を読み出す。次に、撮影オブジェクト情報取得部115は、オブジェクト一時管理表から距離「100m」を読み出す。そして、撮影オブジェクト情報取得部115は、オブジェクト識別子「1」のオブジェクト名「コーヒーショップA」、URL「http://www.coffee-A.co.jp」、位置情報(xa,ya)、領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」、距離「100m」を有する撮影オブジェクト情報を構成し、バッファに一時格納する。
そして、同様に、撮影オブジェクト情報取得部115は、オブジェクト識別子「3」、オブジェクト識別子「25」の撮影オブジェクト情報を構成し、バッファに追記する。そして、撮影オブジェクト情報取得部115は、図19に示す撮影オブジェクト情報管理表を得る。
次に、サーバ送信部116は、バッファに一時格納された1以上の撮影オブジェクト情報(図19に示す撮影オブジェクト情報管理表)を、端末装置13に送信する。
次に、受信部1306は、端末情報の送信に対応して、1以上の撮影オブジェクト情報を受信する。
次に、出力部1309は、カレントレイヤ格納部1301から、「カレントレイヤ=オブジェクト識別レイヤ」を読み出す。
次に、出力情報取得部1308は、受信した撮影オブジェクト情報の中の最も距離が近いオブジェクトの撮影オブジェクト情報(オブジェクト識別子「1」、オブジェクト名「コーヒーショップA」、URL「http://www.coffee-A.co.jp」、位置情報(xa,ya)、領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」、距離「100m」)を取得する。
そして、出力部1309の領域出力手段13092は、この撮影オブジェクトの領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」から、枠サイズを決定する。
次に、領域出力手段13092は、決定された枠サイズに合致する枠を構成する。そして、領域出力手段13092は、領域情報が示す領域に、構成した枠を出力する。
また、距離出力手段13093は、撮影オブジェクト情報に含まれる距離「100m」を、枠に対応付けて出力する。かかる出力例を図20に示す。ここでは、枠は、四角形である。また、枠の高さは、ディスプレイの高さに合致している。つまり、すべてのオブジェクトの枠の高さは一定である。
なお、上記において、端末装置13からの距離が最も近い撮影オブジェクトの情報のみを出力した。しかし、端末装置13の最も中央部に存在する撮影オブジェクトの情報のみを出力しても良い。かかる場合、撮影オブジェクト情報は、撮影オブジェクトの方向情報(最大の角度と最小の角度の真ん中の角度(平均))を有することとなる。そして、撮影オブジェクトの方向情報と、端末情報が有する方向情報との差異が最も小さい撮影オブジェクトが選択され、かかる撮影オブジェクトの情報が出力される。さらに、領域出力手段13092は、すべての撮影オブジェクトの情報を出力しても良いことは言うまでもない。かかる場合の出力例を図21に示す。図21において、距離が最も近い(または最も中央寄りの)撮影オブジェクトの距離のみが出力されているが、すべての撮影オブジェクトの距離を出力しても良いことは言うまでもない。
なお、図20の画面出力の状態で、ユーザは、出力を固定する指示を入力した、とする。すると、出力固定部1311は、出力部1309が出力中の映像と領域(図20の画面)を固定する。なお、かかる画面の固定化処理は公知技術である。また、画面の固定化処理は、例えば、VRAMの画像を変更しないようにし、カメラ部1304の動作を停止するなどの処理により行われる。
次に、画面が固定されている状態で、ユーザは、オブジェクト識別子「1」の撮影オブジェクト(枠が表示されているオブジェクト)の枠に対して指示を入力する(タッチする)、とする。すると、第二受付手段13022は、領域(ここでは、矩形の枠)に対する入力を受け付ける。なお、画面が固定されているので、端末装置13を動かしても、画面上の表示は変わらず、ユーザにとって操作しやすくなる。
次に、以降で説明するような処理により、オブジェクトに関する情報が出力される。つまり、オブジェクト識別子取得部1312は、第二受付手段13022で受け付けた入力に対応する領域に対するオブジェクト識別子を、撮影オブジェクト情報から取得する。ここでのオブジェクト識別子は、「URL」であるとする。つまり、オブジェクト識別子取得部1312は、URL「http://www.coffee-A.co.jp」を取得する。
なお、撮影オブジェクト(枠が表示されているオブジェクト)の枠に対して指示が入力された場合、少なくとも、一時的に、カレントレイヤ格納部1301のカレントレイヤがウェブサーチレイヤに変更される、としても良い。
次に、オブジェクト識別子送信部1313は、取得されたURL「http://www.coffee-A.co.jp」を用いて、URL「http://www.coffee-A.co.jp」に対応するウェブサーバ装置12にアクセスする。
そして、ウェブサーバ装置12のオブジェクト関連情報取得部122は、URL「http://www.coffee-A.co.jp」に対応するオブジェクト関連情報を取得する。ここで、取得したオブジェクト関連情報は、図15に示すオブジェクト関連情報である。
次に、ウェブサーバ装置12のオブジェクト関連情報送信部123は、図15に示すオブジェクト関連情報を、端末装置13に送信する。
次に、端末装置13のオブジェクト関連情報受信部1307は、図15に示すオブジェクト関連情報を受信する。
そして、出力部1309は、受信したオブジェクト関連情報にシンボル情報(シンボル画像)が含まれるので、当該シンボル画像を、枠サイズの大きさに縮小する。そして、オブジェクト関連情報出力手段13094は、縮小したシンボル画像を、枠の領域に配置する。かかる出力例が図22である。縮小されたシンボル画像は、2201である。
なお、出力部1309は、カメラ部1304が取得した映像を、第一の画面(第一表示手段13141)に表示し、オブジェクト関連情報出力手段13094は、受信されたオブジェクト関連情報(ここでは、シンボル画像)を、第二表示手段13142に表示することは好適である。かかる出力例は図23である。図23において、オブジェクト関連情報出力手段13094は、枠や距離を第一表示手段13141に表示し、シンボル画像を、第二表示手段13142に表示している。
さらに、今、端末装置13は、図16の表示状態である、とする。そして、次に、ユーザは、カレントレイヤをウェブサーチレイヤにする指示を入力した、とする。すると、第三受付手段13023は、受け付けた入力がカレントレイヤを設定する入力であると判断する。次に、カレントレイヤ変更部1310は、受け付けた入力に従って、カレントレイヤ格納部1301のカレントレイヤをウェブサーチレイヤに変更する。
次に、ユーザは、図16の端末装置13の状態から、映像中のオブジェクトの情報を得ようとして、オブジェクト取得指示を入力する。
次に、上記で説明した処理により、端末情報取得部1303は、端末情報(X,Y,θA,θa)を構成する。
次に、送信部1305は、構成した端末情報(X,Y,θA,θa)をサーバ装置11に送信する。
そして、サーバ受信部112は、端末装置13から、端末情報(X,Y,θA,θa)を受信する。
次に、サーバ受信部112は、上記で説明した処理により、撮影オブジェクト(ID[1,3,25])を決定する。そして、撮影オブジェクト情報取得部115は、図19に示す撮影オブジェクト情報管理表を得る。
次に、サーバ送信部116は、バッファに一時格納された1以上の撮影オブジェクト情報(図19に示す撮影オブジェクト情報管理表)を、端末装置13に送信する。
次に、受信部1306は、端末情報の送信に対応して、1以上の撮影オブジェクト情報を受信する。
次に、出力部1309は、カレントレイヤ格納部1301から、「カレントレイヤ=ウェブサーチレイヤ」を読み出す。
次に、出力情報取得部1308は、受信した撮影オブジェクト情報の中の最も距離が近いオブジェクトの撮影オブジェクト情報(オブジェクト識別子「1」、オブジェクト名「コーヒーショップA」、URL「http://www.coffee-A.co.jp」、位置情報(xa,ya)、領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」、距離「100m」)を取得する。
そして、出力部1309の領域出力手段13092は、この撮影オブジェクトの領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」から、枠サイズを決定する。
次に、領域出力手段13092は、決定された枠サイズに合致する枠を構成する。そして、領域出力手段13092は、領域情報が示す領域に、構成した枠を出力する。
また、距離出力手段13093は、撮影オブジェクト情報に含まれる距離「100m」を、枠に対応付けて出力する。
次に、オブジェクト関連情報出力手段13094は、受信されたオブジェクト関連情報(ここでは、シンボル画像)を、第二表示手段13142に表示する。かかる出力例を図23に示す。なお、オブジェクト関連情報出力手段13094は、図23ではなく、図22のように出力しても良い。つまり、オブジェクト関連情報の出力態様は問わない。
また、オブジェクトの領域は二次元の領域であるので、図20、図21、図22、図23において、枠は上下一杯の大きさの枠であった。しかし、例えば、距離をパラメータとする減少関数により、オブジェクトの領域の大きさ(枠の大きさ)を算出し、枠を出力しても良い。つまり、距離が大きいほど、当該距離に対応するオブジェクトの領域を小さくして出力しても良い。かかる場合、例えば、図24のような枠の出力となる。図24において、枠の高さが距離に反比例している。
(具体例2)
今、サーバ装置11のオブジェクト情報格納部111は、図25に示すオブジェクト情報管理表を保持している。オブジェクト情報管理表は、地図上のオブジェクト情報を管理している表である。オブジェクト情報管理表は、「オブジェクト識別子」「オブジェクト名」「URL」「位置情報」「領域情報」などの属性値を有するレコードを1以上、管理している。図25において、図14のオブジェクト情報管理表との差異は、領域情報を構成する各点が高さ情報(z)を有している点である。
また、ウェブサーバ装置12のオブジェクト関連情報格納部121は、例えば、図15に示すオブジェクト関連情報を有する。
また、端末装置13は、2つのディスプレイを有する端末である、とする。なお、端末装置13は、一つのディスプレイを有する端末であっても良いし、3つ以上のディスプレイを有する端末であっても良い。
さらに、端末装置13のカレントレイヤ格納部1301は、「カレントレイヤ=カメラレイヤ」を格納している、とする。
かかる場合、ユーザは、端末装置13を起動した、とする。すると、受付部1302は、起動の指示を受け付ける。そして、カメラ部1304は、カレントレイヤ格納部1301から「カレントレイヤ=カメラレイヤ」を読み出す。そして、カメラ部1304は、カメラを起動する。すると、図16に示すように、端末装置13には、外界の映像が出力される。
次に、ユーザは、カレントレイヤをオブジェクト識別レイヤにする指示を入力した、とする。すると、第三受付手段13023は、受け付けた入力がカレントレイヤを設定する入力であると判断する。次に、カレントレイヤ変更部1310は、受け付けた入力に従って、カレントレイヤ格納部1301のカレントレイヤをオブジェクト識別レイヤに変更する。
次に、ユーザは、図16の端末装置13の状態から、映像中のオブジェクトの情報を得ようとして、オブジェクト取得指示を入力する。オブジェクト取得指示は、タッチすることにより入力されることが好適であるが、メニューからの選択、キーボード等の入力手段による入力等により、入力されても良い。次に、第一受付手段13021は、オブジェクト取得指示を受け付ける。
次に、端末情報取得部1303の位置情報取得手段13031(ここでは、例えば、GPS受信機)は、端末装置13の位置情報(X,Y,Z)を取得する。なお、Zは、高さである。
次に、方向情報取得手段13032は、端末装置13が向いている方向を示す方向情報(θA,θB)を取得する。θAは平面上の角度、θBは高さ方向の角度である。
また、端末情報取得部1303は、カメラ部1304が有する視野角の情報(単に「視野角」という)を読み出す。ここでは、視野角は(θa,θb)である、とする。また、カメラ部1304は、予め視野角(θa,θb)を格納している、とする。なお、θaは平面上の角度、θbは高さ方向の角度である。視野角(θa,θb)を図26に示す。
次に、端末情報取得部1303は、取得した位置情報(X,Y,Z)と、取得した方向情報(θA,θB)と、視野角(θa,θb)とを有する端末情報(X,Y,Z,θA,θB,θa,θb)を構成する。
次に、送信部1305は、構成した端末情報(X,Y,Z,θA,θB,θa,θb)をサーバ装置11に送信する。
そして、サーバ受信部112は、端末装置13から、端末情報(X,Y,Z,θA,θB,θa,θb)を受信する。
次に、撮影オブジェクト決定部113は、以下のように、撮影オブジェクトを決定する。つまり、撮影オブジェクト決定部113は、受信された端末情報が有する位置情報(X,Y,Z)を取得する。
次に、撮影オブジェクト決定部113は、端末情報が有する方向情報(θA,θB)と視野角(θa,θb)とを用いて、不可視領域となる三次元の角度を算出する。撮影オブジェクト決定部113は、可視領域となる二次元の角度「(θA−(θa/2))<=可視領域<=(θA+(θa/2))」を取得する。そして、可視領域となる高さ方向の角度「(θB−(θb/2))<=可視領域<=(θB+(θb/2))」を取得する。そして、上記の可視領域ではない領域を、不可視領域として蓄積する。
そして、撮影オブジェクト決定部113は、取得した位置情報(X,Y,Z)を用いて、端末装置13から近いオブジェクトの順に、オブジェクト情報格納部111のオブジェクト情報をソートする。ソート処理については、図6で説明した処理により行う。なお、ここでは、位置情報(X,Y,Z)のうちの(X,Y)と、各オブジェクトの位置情報(例えば、(xa,ya))とを用いて、端末装置13と各オブジェクトとの距離を算出し、距離をキーとしてソートする。そして、ソート処理の結果、撮影オブジェクト決定部113は、図18に示すようなオブジェクト一時管理表を取得する。オブジェクト一時管理表の各レコードは、オブジェクト識別子と距離とを有する。距離は、位置情報(X,Y,Z)(ただし、Zは利用されない)が示す点とオブジェクトの位置情報が示す点との距離である。
次に、撮影オブジェクト決定部113は、オブジェクト一時管理表の上位のレコードから、撮影オブジェクトであるか否かを判断する。
つまり、撮影オブジェクト決定部113は、オブジェクト一時管理表の1番目のレコードのオブジェクト識別子「1」を読み出す。そして、当該オブジェクト識別子「1」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「1」と対になる領域情報「(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4)」を取得する。
次に、撮影オブジェクト決定部113は、受信された端末情報(X,Y,Z,θA,θB,θa,θb)と、取得した領域情報「(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4)」とを用いて、1番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部113は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の1番目の点(x1,y1,z1)を取得する。
次に、撮影オブジェクト決定部113は、1番目の点(x1,y1,z1)と位置情報(X,Y,Z)との平面上の角度(θ11)を算出し、当該角度(θ11)をバッファに一時記憶する。また、撮影オブジェクト決定部113は、1番目の点(x1,y1,z1)と位置情報(X,Y,Z)との高さ方向の角度(θ12)を算出し、当該角度(θ12)をバッファに一時記憶する。同様に、撮影オブジェクト決定部113は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y,Z)との平面上の角度(θ12,θ13,θ14)を算出し、当該角度(θ12,θ13,θ14)もバッファに一時記憶する。バッファには、(θ11,θ12,θ13,θ14)が格納されたことになる。さらに、同様に、撮影オブジェクト決定部113は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y,Z)との高さ方向の角度(θ22,θ23,θ24)を算出し、当該角度(θ22,θ23,θ24)もバッファに一時記憶する。バッファには、(θ21,θ22,θ23,θ24)が格納されたことになる。
次に、撮影オブジェクト決定部113は、バッファに一時格納された角度(θ11,θ12,θ13,θ14)から、平面上の最小角度(例えば、(θ11))と最大角度(例えば、(θ14))とを取得する。
また、撮影オブジェクト決定部113は、バッファに一時格納された角度(θ21,θ22,θ23,θ24)から、高さ方向の最大角度(θ24)を取得する。
次に、撮影オブジェクト決定部113は、取得した平面上の最小角度(θ11)と最大角度(θ14)の領域すべてが、既に登録されている領域であるか否かを判断する。ここで、撮影オブジェクト決定部113は、取得した最小角度(θ11)と最大角度(θ14)の領域は、可視領域であると判断した、とする。そして、撮影オブジェクト決定部113は、オブジェクト識別子「1」のオブジェクトは、撮影オブジェクトであると判断する。
なお、ここで、例えば、撮影オブジェクト決定部113は、取得した平面上の最小角度(θ11)と最大角度(θ14)の領域の一部が、既に登録されている領域ではないと判断した場合も、可視領域であると判断する。つまり、撮影オブジェクト決定部113は、オブジェクト識別子「1」のオブジェクトが、撮影オブジェクトであると判断する。また、例えば、撮影オブジェクト決定部113は、取得した平面上の最小角度(θ11)と最大角度(θ14)の領域のすべてが、既に登録されている角度の領域であると判断した場合でも、高さ方向の最大角度(θ24)が、登録されている高さ方向の最大角度より大きい場合、平面上の最小角度(θ11)と最大角度(θ14)の領域において、可視領域であると判断する。つまり、撮影オブジェクト決定部113は、オブジェクト識別子「1」のオブジェクトが、撮影オブジェクトであると判断するのである。
次に、撮影オブジェクト決定部113は、「θ11<=不可視領域<=θ14」を新たな不可視領域とする。つまり、撮影オブジェクト決定部113は、例えば、「0<=不可視領域角度<(θA−(θa/2))」および「(θA+(θa/2))<不可視領域角度<=360」と「θ11<=不可視領域<=θ14」とをマージした平面上の不可視領域角度を記録媒体に登録する。そして、登録されている高さ方向の最大角度が(θ24)より小さい場合、この平面上の領域に対応付けて、撮影オブジェクト決定部113は、高さ方向の最大角度(θ24)を登録する。
次に、撮影オブジェクト決定部113は、1番目のオブジェクトのオブジェクト識別子「1」を図示しない記憶媒体に格納する。
次に、撮影オブジェクト情報決定部113は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断した、とする。
以上の処理を、図18の2番目以降のオブジェクトに対しても行い、撮影オブジェクトを決定する。
そして、撮影オブジェクト情報決定部113は、登録されている不可視領域、または可視領域から、可視領域が存在しない、と判断するまで、上記の検査(撮影オブジェクトの決定のための検査)を繰り返す。そして、撮影オブジェクト情報取得部115は、撮影オブジェクトのオブジェクト識別子「1」、「3」、「25」を取得した、とする。そして、撮影オブジェクト情報取得部115は、図19に示す撮影オブジェクト情報管理表を得た、とする。
次に、サーバ送信部116は、バッファに一時格納された1以上の撮影オブジェクト情報(図19に示す撮影オブジェクト情報管理表)を、端末装置13に送信する。
次に、受信部1306は、端末情報の送信に対応して、撮影オブジェクト情報を受信する。
次に、出力部1309は、カレントレイヤ格納部1301から、「カレントレイヤ=オブジェクト識別レイヤ」を読み出す。
次に、出力情報取得部1308は、受信した撮影オブジェクト情報の中の最も距離が近いオブジェクトの撮影オブジェクト情報(オブジェクト識別子「1」、オブジェクト名「コーヒーショップA」、URL「http://www.coffee-A.co.jp」、位置情報(xa,ya)、領域情報「(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4)」、距離「100m」)を取得する。
そして、出力部1309の領域出力手段13092は、この撮影オブジェクトの領域情報「(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4)」から、高さも含めた枠サイズを決定する。
次に、領域出力手段13092は、決定された枠サイズに合致する枠を構成する。そして、領域出力手段13092は、領域情報が示す領域に、構成した枠を出力する。
また、距離出力手段13093は、撮影オブジェクト情報に含まれる距離「100m」を、枠に対応付けて出力する。かかる出力例を図27に示す。ここでは、枠は、四角形である。
なお、上記において、端末装置13からの距離が最も近い撮影オブジェクトの情報のみを出力した。しかし、端末装置13の最も中央部に存在する撮影オブジェクトの情報のみを出力しても良い。かかる場合、撮影オブジェクト情報は、撮影オブジェクトの方向情報(最大の角度と最小の角度の真ん中の角度(平均))を有することとなる。そして、撮影オブジェクトの方向情報と、端末情報が有する方向情報との差異が最も小さい撮影オブジェクトが選択され、かかる撮影オブジェクトの情報が出力される。さらに、領域出力手段13092は、すべての撮影オブジェクトの情報を出力しても良いことは言うまでもない。かかる場合の出力例を図28に示す。図28において、距離が最も近い(または最も中央寄りの)撮影オブジェクトの距離のみが出力されているが、すべての撮影オブジェクトの距離を出力しても良いことは言うまでもない。
以降の処理は、具体例1で説明した処理と同様で良い。
以上、本実施の形態によれば、カメラで撮影しているオブジェクトを認識し、かかるオブジェクトに関連する情報を出力することができる。したがって、ユーザは、自分の目で見ている建物やランドマークや公園などの情報を非常に簡単に得ることができる。
また、本実施の形態によれば、撮影オブジェクトを検知する処理を適切に打ち切ることにより、高速な処理が可能となる。そのために、端末装置はナビゲーションシステムにも利用できる。
また、本実施の形態によれば、オブジェクトの高さをも考慮するので、例えば、ある建物の後ろに見えている建物の情報も得ることができる。
また、本実施の形態によれば、出力されるオブジェクトの情報は、カメラ上の表示領域(枠)の大きさに合わせて縮小、拡大されるので、オブジェクトのサイズが一目瞭然に分かる。
また、本実施の形態によれば、カメラからオブジェクトまでの距離を算出し、出力するので、カメラで撮影しているオブジェクトまでの距離が容易に把握でき、そこまで行くべきか否かなど、次の行動の支援になる。
また、本実施の形態によれば、オブジェクトの高さ情報を管理していない場合でも、カメラで撮影しているオブジェクトを認識し、かかるオブジェクトに関連する情報を出力することができる。
また、本実施の形態によれば、オブジェクト関連情報を、ウェブサーバ装置から取得し、出力することにより、オブジェクトの適切な情報を得ることができる。
また、本実施の形態によれば、2画面のうちの1画面にオブジェクト関連情報が出力されることにより、カメラの映像を邪魔せずに、ユーザは、オブジェクト関連情報を見ることができる。
また、本実施の形態によれば、複数のオブジェクトのうち、一のオブジェクトを選択して、当該選択されたオブジェクトの情報を画面上に出力することにより、多数のオブジェクトが画面上に存在する場合でも、ユーザが欲するオブジェクトの情報を得ることができる。
さらに、本実施の形態によれば、画面上の映像を固定することにより、オブジェクト関連情報を得たい場合に、ユーザは楽な姿勢で、端末装置13を操作できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。また、このソフトウェアまたは、このソフトウェアを記録した記録媒体は、コンピュータプログラム製品として流通しても良いことは言うまでもない。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるサーバ装置11を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、オブジェクトを識別するオブジェクト識別子と、当該オブジェクトが存在する領域を示す領域情報とを有するオブジェクト情報を、1以上格納しており、コンピュータを、前記端末装置から、当該端末装置の位置を示す位置情報と当該端末装置が向いている方向を示す方向情報とを有する端末情報を受信するサーバ受信部と、前記端末情報が有する位置情報と、前記端末情報が有する方向情報と、予め格納されているまたは前記端末情報が有する視野角とを、前記記憶媒体の各オブジェクト情報の領域情報に適用し、前記端末装置が撮影している1以上のオブジェクトを決定する撮影オブジェクト決定部と、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のオブジェクト情報のうち、領域情報を含む1以上の撮影オブジェクト情報を、前記記憶媒体から取得する撮影オブジェクト情報取得部と、前記撮影オブジェクト情報を、前記端末装置に送信するサーバ送信部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記領域情報は、地図上での二次元の領域を示す二次元領域情報とオブジェクトの高さを示す高さ情報を有し、前記撮影オブジェクト決定部は、前記端末情報が有する位置情報および方向情報と、予め格納されているまたは前記端末情報が有する視野角とを用いて、三次元空間上での撮影領域を取得し、当該撮影領域を、前記記憶媒体の各オブジェクト情報が有する領域情報に対して適用し、前記端末装置が撮影している1以上のオブジェクトを決定することは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト決定部が決定した各オブジェクトと前記端末装置との距離を、前記各オブジェクトのオブジェクト情報と前記端末情報が有する位置情報とから、前記撮影オブジェクト決定部が決定したオブジェクトごとに算出する距離算出部をさらに具備し、前記撮影オブジェクト情報取得部は、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のオブジェクト情報のうち、領域情報を含む情報を前記記憶媒体から取得し、当該領域情報を含む情報と前記距離算出部が算出した距離とを含む1以上の撮影オブジェクト情報を構成することは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト決定部は、前記カメラ部が撮影している映像の中で最も近い位置に存在するオブジェクトの撮影オブジェクト、または前記カメラ部が撮影している映像の中で最も中央寄りに位置するオブジェクトの撮影オブジェクト、または前記カメラ部が撮影している映像の中で最も大きい領域を有するオブジェクトの撮影オブジェクトを決定することは好適である。
また、上記プログラムにおいて、前記サーバ送信部は、前記撮影オブジェクト情報を、前記端末装置または前記1以上のいずれかのウェブサーバ装置に送信ことは好適である。なお、サーバ送信部が撮影オブジェクト情報を、1以上のいずれかのウェブサーバ装置に送信する場合、オブジェクト関連情報は、ウェブサーバ装置から(直接または間接的に)端末装置に送信される。
本実施の形態における端末装置13を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報とを有する端末情報を取得する端末情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力するカメラ映像出力手段を具備する出力部と、前記端末情報取得部が取得した端末情報を前記サーバ装置に送信する送信部と、前記端末情報の送信に対応して、前記1以上の撮影オブジェクト情報を受信する受信部と、前記受信部が受信した1以上の撮影オブジェクト情報が有する1以上の領域情報を含む出力情報を取得する出力情報取得部とを具備し、前記出力部は、前記出力部が出力している映像に重ねて、前記出力情報取得部が取得した1以上の出力情報に含まれる領域情報を出力する領域出力手段を具備するものとして機能させるためのプログラム、である。
また、上記プログラムにおいて、前記領域出力手段は、前記出力情報取得部が取得した1以上の出力情報に含まれる領域情報に対応する大きさの領域を、他の領域と視覚的に区別可能なように、前記出力部が出力している映像に重ねて出力することは好適である。
また、上記プログラムにおいて、前記出力情報取得部は、前記受信部が受信した撮影オブジェクト情報が有する1以上の領域情報と1以上の距離とを含む出力情報を取得し、前記出力部は、前記出力情報取得部が取得した1以上の出力情報に含まれる距離を出力する距離出力手段をさらに具備することは好適である。
また、上記プログラムにおいて、前記領域出力手段は、前記出力情報取得部が取得した1以上の出力情報に含まれる距離が大きいほど、当該距離に対応するオブジェクトの領域を小さくして出力することは好適である。
また、上記プログラムにおいて、オブジェクト関連情報を受信するオブジェクト関連情報受信部をさらに具備し、前記出力部は、前記オブジェクト関連情報受信部が受信したオブジェクト関連情報を出力するオブジェクト関連情報出力手段をさらに具備することは好適である。
また、上記プログラムにおいて、2つの分離された表示部である第一表示手段および第二表示手段を具備し、前記カメラ映像出力手段は、前記カメラ部が取得した映像を、前記第一表示手段に表示し、前記オブジェクト関連情報出力手段は、前記オブジェクト関連情報受信部が受信したオブジェクト関連情報を、前記第二表示手段に表示することは好適である。
また、上記プログラムにおいて、前記領域出力手段は、他のオブジェクトの領域情報は出力せず、一のオブジェクトの領域情報のみを他の領域情報と視覚的に区別可能なように、前記出力部が出力している映像に重ねて出力することは好適である。
また、上記プログラムにおいて、前記オブジェクト関連情報出力手段は、他のオブジェクトのオブジェクト関連情報は出力せず、一のオブジェクトのオブジェクト関連情報のみを出力することは好適である。
また、上記プログラムにおいて、ユーザの指示を受け付ける第一受付手段と、前記受付部が指示を受け付けた場合、前記出力部が出力中の映像と領域を固定する出力固定部とをさらに具備することは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト情報は、オブジェクト識別子を含み、前記固定された領域に対する入力を受け付ける第二受付手段と、前記第二受付手段で受け付けた入力に対応する領域に対するオブジェクト識別子を取得するオブジェクト識別子取得部と、前記オブジェクト識別子取得部が取得したオブジェクト識別子を前記1以上のウェブサーバ装置のいずれかに送信するオブジェクト識別子送信部とをさらに具備し、前記オブジェクト関連情報受信部は、前記オブジェクト識別子の送信に対応して、オブジェクト関連情報を受信し、前記オブジェクト識別子の送信は、前記外部からの指示により行われることは好適である。
また、記憶媒体に、前記カメラ部が取得した映像を出力するレイヤであるカメラレイヤ、オブジェクトに対応する領域を出力するレイヤであるオブジェクト識別レイヤ、オブジェクト関連情報を出力するレイヤであるウェブサーチレイヤを含む複数のレイヤのうちの、現在のレイヤであるカレントレイヤを格納しており、上記プログラムにおいて、カレントレイヤを設定する入力を受け付ける第三受付手段と、前記第三受付手段で受け付けた入力に従って、前記記憶媒体のカレントレイヤを変更するカレントレイヤ変更部とをさらに具備し、前記カレントレイヤがカメラレイヤである場合、前記カメラ映像出力手段は前記カメラ部が取得した映像を出力し、前記カレントレイヤがオブジェクト識別レイヤである場合、前記カメラ映像出力手段は前記カメラ部が取得した映像を出力し、かつ、前記領域出力手段は前記領域を他の領域と視覚的に区別可能なように、前記出力部が出力している映像に重ねて出力し、前記カレントレイヤがウェブサーチレイヤである場合、前記カメラ映像出力手段は前記カメラ部が取得した映像を出力し、かつ、前記領域出力手段は前記領域を他の領域と視覚的に区別可能なように、前記出力部が出力している映像に重ねて出力し、かつ、前記オブジェクト関連情報出力手段は前記オブジェクト関連情報を出力することは好適である。
また、端末装置13を実現するソフトウェアは、以下のようなプログラムでも良い。つまり、このプログラムは、コンピュータを、当該端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報とを有する端末情報を取得する端末情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力するカメラ映像出力手段を具備する出力部と、前記端末情報取得部が取得した端末情報を前記サーバ装置に送信する送信部と、前記端末情報の送信に対応して、前記撮影オブジェクト情報を受信する受信部と、前記受信部が受信した撮影オブジェクト情報を出力する出力部とを具備するものとして機能させるためのプログラム、である。
(実施の形態2)
本実施の形態において、端末装置がスタンドアロンで動作する場合について説明する。なお、端末装置は、必要に応じて、ウェブサーバ装置にアクセスする、とする。
図29は、情報システム2の概念図である。情報システム2は、ウェブサーバ装置12、端末装置23を具備する。端末装置23は、1画面のディスプレイを有する端末でも、多画面のディスプレイを有する端末でも良い。端末装置23は、カメラ機能を有し、外部の風景、建物などを撮影している際に、撮影した映像内のオブジェクト(建物など)の領域や、オブジェクトに関連する情報などを出力できる。また、ウェブサーバ装置12、および端末装置23は、通常、通信可能である。
図30は、本実施の形態における情報システム2のブロック図である。 端末装置23は、オブジェクト情報格納部111、撮影オブジェクト決定部113、距離算出部114、撮影オブジェクト情報取得部115、カレントレイヤ格納部1301、受付部1302、端末情報取得部1303、カメラ部1304、オブジェクト関連情報受信部1307、出力情報取得部1308、出力部1309、カレントレイヤ変更部1310、出力固定部1311、オブジェクト識別子取得部1312、オブジェクト識別子送信部1313、表示部1314を具備する。
次に、情報システム2を構成する端末装置23の動作について、図31のフローチャートを用いて説明する。図31のフローチャートにおいて、既に説明したフローチャートに出現していないステップについてのみ説明する。
(ステップS3101)撮影オブジェクト情報取得部115は、i番目の撮影オブジェクトの領域情報を含む情報をオブジェクト情報格納部111から取得する。そして、撮影オブジェクト情報取得部115は、既に算出されているi番目の撮影オブジェクトの距離を取得する。次に、撮影オブジェクト情報取得部115は、オブジェクト情報格納部111から取得したi番目の撮影オブジェクトの情報と、距離を有する撮影オブジェクト情報を構成する。
なお、図31のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報システム2の具体的な動作は、情報システム1の動作と同様である。なお、情報システム2において、言うまでもなく、端末装置とサーバ装置は通信せず、端末装置23がスタンドアロンで、カメラで撮影しているオブジェクトを認識する。そして、端末装置23は、カメラで撮影しているオブジェクトに関連する情報を、ウェブサーバ装置12から取得して出力できる。
つまり、端末装置23は、オブジェクトを識別するオブジェクト識別子と、当該オブジェクトが存在する領域を示す領域情報とを有するオブジェクト情報を、1以上格納し得るオブジェクト情報格納部と、当該端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報とを有する端末情報を取得する端末情報取得部と、前記端末情報取得部が取得した端末情報が有する位置情報と、前記端末情報が有する方向情報と、予め格納されている視野角とを、前記オブジェクト情報格納部の各オブジェクト情報の領域情報に適用し、前記端末装置が撮影している1以上のオブジェクトを決定する撮影オブジェクト決定部と、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のオブジェクト情報のうち、領域情報を含む1以上の撮影オブジェクト情報を、前記オブジェクト情報格納部から取得する撮影オブジェクト情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力するカメラ映像出力手段と、前記映像に重ねて、前記1以上の撮影オブジェクト情報に含まれる領域情報を出力する領域出力手段とを具備する出力部とを具備する端末装置である。また、かかる撮影オブジェクト情報決定部は、端末装置23からの距離が近い順にオブジェクトを検査し、端末装置23が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合に、オブジェクトが前記端末装置に撮影されているか否かの検査を終了することは好適である。
また、端末装置23は、オブジェクトを識別するオブジェクト識別子と、当該オブジェクトが存在する領域を示す領域情報とを有するオブジェクト情報を、1以上格納し得るオブジェクト情報格納部と、当該端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報とを有する端末情報を取得する端末情報取得部と、前記端末情報取得部が取得した端末情報が有する位置情報と、前記端末情報が有する方向情報と、予め格納されている視野角とを、前記オブジェクト情報格納部の各オブジェクト情報の領域情報に適用し、前記端末装置が撮影している1以上のオブジェクトを決定する撮影オブジェクト決定部と、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のオブジェクト情報のうち、オブジェクト識別子を含む1以上の撮影オブジェクト情報を、前記オブジェクト情報格納部から取得する撮影オブジェクト情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力し、前記1以上の撮影オブジェクト情報を出力する出力部とを具備する端末装置でも良い。また、かかる撮影オブジェクト情報決定部は、端末装置23からの距離が近い順にオブジェクトを検査し、端末装置23が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合に、オブジェクトが前記端末装置に撮影されているか否かの検査を終了することは好適である。
以上、本実施の形態によれば、カメラで撮影しているオブジェクトを認識し、かかるオブジェクトに関連する情報を出力することができる。
また、本実施の形態によれば、撮影オブジェクトを検知する処理を適切に打ち切ることにより、高速な処理が可能となる。そのために、端末装置はナビゲーションシステムにも利用できる。
また、本実施の形態によれば、サーバ装置との通信は不要であるので、高速にカメラで撮影している映像内のオブジェクトに対して、適切な情報を表示できる。
さらに、本実施の形態における端末装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、オブジェクトを識別するオブジェクト識別子と、当該オブジェクトが存在する領域を示す領域情報とを有するオブジェクト情報を、1以上格納しており、コンピュータを、当該端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報とを有する端末情報を取得する端末情報取得部と、前記端末情報取得部が取得した端末情報が有する位置情報と、前記端末情報が有する方向情報と、予め格納されている視野角とを、前記記憶媒体の各オブジェクト情報の領域情報に適用し、前記端末装置が撮影している1以上のオブジェクトを決定する撮影オブジェクト決定部と、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のオブジェクト情報のうち、領域情報を含む1以上の撮影オブジェクト情報を、前記記憶媒体から取得する撮影オブジェクト情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力するカメラ映像出力手段と、前記映像に重ねて、前記1以上の撮影オブジェクト情報に含まれる領域情報を出力する領域出力手段とを具備する出力部とを具備するものとして機能させるためのプログラム、である。
また、上記プログラムにおいて、前記領域情報は、地図上での二次元の領域を示す二次元領域情報とオブジェクトの高さを示す高さ情報を有し、前記撮影オブジェクト決定部は、前記端末情報が有する位置情報および方向情報と、予め格納されている視野角とを用いて、三次元空間上での撮影領域を取得し、当該撮影領域を、前記記憶媒体の各オブジェクト情報が有する領域情報に対して適用し、前記端末装置が撮影している1以上のオブジェクトを決定することは好適である。
また、上記プログラムにおいて、前記領域出力手段は、前記出力情報取得部が取得した1以上の出力情報に含まれる領域情報に対応する大きさの領域を、他の領域と視覚的に区別可能なように、前記出力部が出力している映像に重ねて出力することは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト決定部が決定した各オブジェクトと前記端末装置との距離を、前記各オブジェクトのオブジェクト情報と前記端末情報が有する位置情報とから、前記撮影オブジェクト決定部が決定したオブジェクトごとに算出する距離算出部をさらに具備し、前記撮影オブジェクト情報取得部は、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のオブジェクト情報のうち、領域情報を含む情報を前記記憶媒体から取得し、当該領域情報を含む情報と前記距離算出部が算出した距離とを含む1以上の撮影オブジェクト情報を構成することは好適である。
また、上記プログラムにおいて、前記出力部は、前記1以上の撮影オブジェクト情報に含まれる距離を出力する距離出力手段をさらに具備することは好適である。
また、上記プログラムにおいて、前記領域出力手段は、前記1以上の撮影オブジェクト情報に含まれる距離が大きいほど、当該距離に対応するオブジェクトの領域を小さくして出力することは好適である。
また、上記プログラムにおいて、外部の装置からオブジェクト関連情報を受信するオブジェクト関連情報受信部をさらに具備し、前記出力部は、前記オブジェクト関連情報受信部が受信したオブジェクト関連情報を出力するオブジェクト関連情報出力手段をさらに具備することは好適である。
また、上記プログラムにおいて、前記端末装置は、2つの分離された表示部である第一表示手段および第二表示手段を具備し、前記カメラ映像出力手段は、前記カメラ部が取得した映像を、前記第一表示手段に表示し、前記オブジェクト関連情報出力手段は、前記オブジェクト関連情報受信部が受信したオブジェクト関連情報を、前記第二表示手段に表示することは好適である。
また、上記プログラムにおいて、前記領域出力手段は、他のオブジェクトの領域情報は出力せず、一のオブジェクトの領域情報のみを他の領域情報と視覚的に区別可能なように、前記出力部が出力している映像に重ねて出力することは好適である。
また、上記プログラムにおいて、前記オブジェクト関連情報出力手段は、他のオブジェクトのオブジェクト関連情報は出力せず、一のオブジェクトのオブジェクト関連情報のみを出力することは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト決定部は、前記カメラ部が撮影している映像の中で最も近い位置に存在するオブジェクトの撮影オブジェクト、または前記カメラ部が撮影している映像の中で最も中央寄りに位置するオブジェクトの撮影オブジェクト、または前記カメラ部が撮影している映像の中で最も大きい領域を有するオブジェクトの撮影オブジェクトを決定することは好適である。
また、上記プログラムにおいて、ユーザの指示を受け付ける第一受付手段と、前記受付部が指示を受け付けた場合、前記出力部が出力中の映像と領域を固定する出力固定部とをさらに具備することは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト情報は、オブジェクト識別子を含み、前記固定された領域に対する入力を受け付ける第二受付手段と、前記第二受付手段で受け付けた入力に対応する領域に対するオブジェクト識別子を取得するオブジェクト識別子取得部と、前記オブジェクト識別子取得部が取得したオブジェクト識別子を前記1以上のウェブサーバ装置のいずれかに送信するオブジェクト識別子送信部とをさらに具備し、前記オブジェクト関連情報受信部は、前記オブジェクト識別子の送信に対応して、オブジェクト関連情報を受信し、前記オブジェクト識別子の送信は、前記外部からの指示により行われることは好適である。
また、上記プログラムにおいて、記憶媒体に、前記カメラ部が取得した映像を出力するレイヤであるカメラレイヤ、オブジェクトに対応する領域を出力するレイヤであるオブジェクト識別レイヤ、オブジェクト関連情報を出力するレイヤであるウェブサーチレイヤを含む複数のレイヤのうちの、現在のレイヤであるカレントレイヤを格納しており、カレントレイヤを設定する入力を受け付ける第三受付手段と、前記第三受付手段で受け付けた入力に従って、前記記憶媒体のカレントレイヤを変更するカレントレイヤ変更部とをさらに具備し、前記カレントレイヤがカメラレイヤである場合、前記カメラ映像出力手段は前記カメラ部が取得した映像を出力し、前記カレントレイヤがオブジェクト識別レイヤである場合、前記カメラ映像出力手段は前記カメラ部が取得した映像を出力し、かつ、前記領域出力手段は前記領域を他の領域と視覚的に区別可能なように、前記出力部が出力している映像に重ねて出力し、前記カレントレイヤがウェブサーチレイヤである場合、前記カメラ映像出力手段は前記カメラ部が取得した映像を出力し、かつ、前記領域出力手段は前記領域を他の領域と視覚的に区別可能なように、前記出力部が出力している映像に重ねて出力し、かつ、前記オブジェクト関連情報出力手段は前記オブジェクト関連情報を出力することは好適である。
また、本実施の形態における端末装置23を実現するソフトウェアは、以下のようなプログラムでも良い。つまり、このプログラムは、記憶媒体に、オブジェクトを識別するオブジェクト識別子と、当該オブジェクトが存在する領域を示す領域情報とを有するオブジェクト情報を、1以上格納しており、コンピュータを、端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報とを有する端末情報を取得する端末情報取得部と、前記端末情報取得部が取得した端末情報が有する位置情報と、前記端末情報が有する方向情報と、予め格納されている視野角とを、前記記憶媒体の各オブジェクト情報の領域情報に適用し、前記端末装置が撮影している1以上のオブジェクトを決定する撮影オブジェクト決定部と、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のオブジェクト情報のうち、オブジェクト識別子を含む1以上の撮影オブジェクト情報を、前記記憶媒体から取得する撮影オブジェクト情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力し、前記1以上の撮影オブジェクト情報を出力する出力部とを具備するものとして機能させるためのプログラム、である。
なお、本明細書において、端末装置は、2画面を有する装置であった。しかし、端末装置は、例えば、図32に示すように、1画面の装置でも良いことはいうまでもない。また、図32において、端末装置は、カメラ付きのUMPC(Ultra−Moble PC)である。また、端末装置は、擬似シースルースクリーン(Pseudo See−though Screen(touchable))を有する。また、端末装置は、加速度計(Accelerometer)を具備する。さらに、端末装置は、GPS受信機を具備する。
また、本明細書において、図33に示すような方法で、カメラが撮影している映像に含まれる地理オブジェクトが認識された。つまり、カメラの位置(view−point)から、カメラの視野角(view−angle)と、カメラの方向情報(view−direction)とを用いて、全領域を可視領域(target−field)と不可視領域(no−distance spesified)とに分割される。そして、view−pointから近いオブジェクトについて検査され、撮影オブジェクトが決定された。その際、既に撮影オブジェクトと決定された領域を不可視領域に追加していきながら検査が行なわれた。図33において、まず、オブジェクト3303が撮影オブジェクトに決定される。そして、オブジェクト3303により不可視領域に入るオブジェクト3304、3305は撮影オブジェクトとはならない。次に、オブジェクト3306が撮影オブジェクトに決定される。つまり、図33において、オブジェクト3303と3306が撮影オブジェクトに決定される。また、上述したように、登録されている不可視領域、または可視領域から、可視領域が存在するか否かを判断し、可視領域が存在しないと判断した場合に、映像に含まれる地理オブジェクトの認識処理を中止した。
また、本明細書において、端末装置は、車載用であっても良い、つまり、例えば、端末装置は、いわゆるナビゲーション端末であっても良い。
また、図34は、本明細書で述べたプログラムを実行して、上述した実施の形態の情報システム等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図34は、このコンピュータシステム340の概観図であり、図35は、コンピュータシステム340の内部構成を示す図である。
図34において、コンピュータシステム340は、FDドライブ3411、CD−ROMドライブ3412を含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図35において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、MPU3413と、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM3415と、CPU3413に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態の情報システム等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態の情報システム等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信する送信ステップや、情報を受信する受信ステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(サーバ受信部、サーバ送信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。