以下、情報システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、カメラ(ビデオカメラを含む)で撮影しているランドマークや店舗などに関するWebページを自動取得し、出力する情報システムについて説明する。
また、本実施の形態において、サーバ装置側でWebページを検索する態様の情報システムについて説明する。また、本実施の形態において、オブジェクトが二次元空間上、または三次元空間上で管理されている場合について説明する。
また、本実施の形態において、カメラで撮影しているオブジェクトの特定を高速化する種々のアルゴリズムについて説明する。
さらに、ユーザが着目しているオブジェクトを特定し、当該オブジェクトのみのWebページを自動取得し、出力する情報システムについて説明する。なお、ユーザが着目しているオブジェクトを特定する処理は、サーバ装置で行っても良いし、端末装置で行っても良い。
図1は、本実施の形態における情報システム1の概念図である。情報システム1は、1以上のWebサーバ装置10、サーバ装置11、および1以上の端末装置12を具備する。Webサーバ装置10は、いわゆる1以上のWebページを格納しており、他の装置(例えば、サーバ装置11や端末装置12など)の要求に応じて、Webページを当該他の装置に送信する。Webサーバ装置10は、公知技術であるので詳細な説明を省略する。また、サーバ装置11は、カメラで撮影しているオブジェクトを特定する処理を行う。また、端末装置12は、ユーザが所有する端末であり、カメラの撮影画像や、カメラで撮影しているオブジェクトに関するWebページを出力する。端末装置12は、カメラやビデオカメラの機能を有する端末であれば、何でも良い。
図2は、本実施の形態における情報システム1のブロック図である。
サーバ装置11は、オブジェクト情報格納部111、サーバ受信部112、サーバ着目判断部113、距離算出部114、撮影オブジェクト決定部115、Webページ元情報取得部116、およびサーバ送信部117を具備する。
端末装置12は、受付部121、カメラ部122、端末情報取得部123、端末着目判断部124、送信部125、受信部126、出力部127、およびWebページ取得部128を具備する。また、端末情報取得部123は、位置情報取得手段1231、および方向情報取得手段1232を具備する。さらに、出力部127は、カメラ映像出力手段1271を具備する。
サーバ装置11を構成するオブジェクト情報格納部111は、1以上のオブジェクト情報を格納し得る。オブジェクト情報は、オブジェクト識別子と、オブジェクトが存在する領域を示す領域情報とを有する情報である。オブジェクトとは、通常、地図上または地理上に現れるオブジェクトである地理オブジェクトである。オブジェクトは、例えば、店舗、建物、山、川、名勝、公園などである。オブジェクトは、例えば、ビルの中の店舗や会社などでも良い。オブジェクトは、地図上または地理上に現れるものであれば、内容は問わない。オブジェクト情報格納部111は、地図情報を格納していても良い。かかる場合、地図情報は1以上のオブジェクト情報を含む。オブジェクト識別子とはオブジェクトを識別する情報であり、例えば、オブジェクトの名称、オブジェクトを識別するID、オブジェクトについての情報が格納されているウェブページのURL、URIなどである。領域情報とは、通常、二次元の領域の情報である。ただし、三次元の領域の情報でも、一次元の情報(点の情報)でも良い。つまり、領域情報はオブジェクトの位置(点)を特定する位置情報(X,Y)でも良い。この(X,Y)は、例えば、(緯度,経度)であり、例えば、オブジェクトの領域の重心点を示す情報である。領域が矩形であるとする場合、領域情報は、例えば、矩形の左上点、右下点の位置情報(経度,緯度)の情報である。さらに、領域情報は、例えば、三次元のオブジェクトの立体図形(例えば、6面体)の頂点を構成する点(8点)の集合や、立体図形(例えば、6面体)の高さを有する4点の集合などである。領域情報が三次元の領域の情報である場合、通常、領域情報は、地図上での二次元の領域を示す二次元領域情報とオブジェクトの高さを示す高さ情報を有する。
オブジェクト情報格納部111は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。オブジェクト情報格納部111にオブジェクト情報が記憶される過程は問わない。例えば、記録媒体を介してオブジェクト情報がオブジェクト情報格納部111で記憶されるようになってもよく、通信回線等を介して送信されたオブジェクト情報がオブジェクト情報格納部111で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたオブジェクト情報がオブジェクト情報格納部111で記憶されるようになってもよい。
サーバ受信部112は、端末装置12から端末情報を受信する。端末情報は、端末装置12の位置を示す位置情報と端末装置12が向いている方向を示す方向情報とを有する情報である。また、端末情報は、視野角を有することは好適である。位置情報とは、通常、(緯度,経度)の情報であるが、空間内の位置を示す情報でも良い。空間内の位置を示す情報は、例えば、(緯度,経度、高度)である。方向情報は、東西南北などの方位の情報を含んでも良い。また、方向情報は、端末の向き(上向き、下向きなど)を含んでも良い。方向情報は、例えば、56.2°(北を0°、東を90°とする方位)や、南南西などである。方向情報は、例えば、高さ方向の角度を含んでも良い。また、方向情報は、例えば、(Yaw,Pitch,Roll)などでも良い。(Yaw,Pitch,Roll)の「Yaw」は垂直軸に対する角度や先端の左右の揺れの度合い(長さなど)、「Pitch」は横軸に対する角度や先端の上下の揺れの度合い、「Roll」は縦軸に対する角度や端末装置12全体の左右の揺れの度合いである。なお、位置情報とは、例えば、GPS受信機により取得される。また、方向情報とは、例えば、コンパス、またはコンパスとジャイロにより取得される。方向情報や位置情報を取得する手段は問わない。さらに、端末情報は、端末装置12を識別する端末識別子(例えば、情報の送受信に用いられるIPアドレスや、電話番号や、IDや、MACアドレスなど)も含むことは好適である。サーバ受信部112は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
サーバ着目判断部113は、サーバ受信部112が受信した2以上の時間的に連続する端末情報(サンプリングされている端末情報でも良い)から、カメラ部122が取得した映像内の1以上のオブジェクトを、ユーザが着目しているか否かを判断する。サーバ着目判断部113は、端末情報が示す端末装置12の動きが、所定以内の少ない動きである場合に、カメラ部122が取得した映像内の1以上のオブジェクトを、ユーザが着目していると判断することは好適である。また、サーバ着目判断部113は、端末情報が示す端末装置12の動きが、所定以内の少ない動きである場合に、カメラ部122が取得した映像内の最も中心点から近い一のオブジェクトを、ユーザが着目していると判断することは好適である。なお、例えば、端末装置12の動きは、2以上の時間的に連続する端末情報が有する2以上の位置情報の変化に対応し、当該変化が所定以内である場合(静止している場合も含む)に、サーバ着目判断部113は、カメラ部122が取得した映像内の1以上のオブジェクトを、ユーザが着目していると判断する。また、例えば、端末装置12の動きは、2以上の時間的に連続する端末情報が有する2以上の位置情報の変化および2以上の方向情報の変化に対応し、位置情報の変化および方向情報の変化が、共に各閾値より小さい場合(静止している場合も含む)に、サーバ着目判断部113は、カメラ部122が取得した映像内の1以上のオブジェクトを、ユーザが着目していると判断する。
サーバ着目判断部113は、通常、MPUやメモリ等から実現され得る。サーバ着目判断部113の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
距離算出部114は、オブジェクト情報格納部111の1以上のオブジェクト情報に対応するオブジェクトと端末装置12との距離を、各オブジェクトのオブジェクト情報と端末情報が有する位置情報とから、オブジェクトごとに算出する。距離算出部114は、例えば、サーバ受信部112が受信した端末情報が有する位置情報と、各オブジェクトの領域情報から得られるオブジェクトの位置情報とから、オブジェクトと端末装置12との距離を算出する。ここで、距離とは、領域の重心の点と、端末情報が有する位置情報が示す位置との距離、領域のいずれかの点と端末情報が有する位置情報が示す位置との距離、端末情報が有する位置情報が示す位置に最も近い領域内の点との距離などでも良い。つまり、距離の算出方法は種々あり得る。また、オブジェクトの位置情報は、オブジェクトの領域情報から生成された情報でも良いし、領域情報とは別にオブジェクト情報に含まれる情報でも良い。位置情報は、例えば、領域情報から得られる領域の重心である。距離算出部114は、通常、MPUやメモリ等から実現され得る。距離算出部114の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
撮影オブジェクト決定部115は、端末情報が有する位置情報と、端末情報が有する方向情報と、予め格納されているまたは端末情報が有する視野角とを、オブジェクト情報格納部111の各オブジェクト情報の領域情報に適用し、端末装置12が撮影している1以上のオブジェクトを決定する。視野角とは、カメラ部122が撮影可能な角度であり、平面上の角度でも良いし、高さ方向を含めた立体的な角度でも良い。立体的な角度とは、例えば、平面上の角度(θ1)と高さ方向の角度(θ2)とにより得られる。また、視野角は、撮影オブジェクト決定部115が予め格納していても良いし、端末情報に含まれていても良い。ここで、「オブジェクトを決定する」とは、オブジェクト識別子を取得することでも良いし、オブジェクト情報の全部または一部を取得することでも良いし、オブジェクト情報を管理しているテーブルのレコードIDを取得すること等でも良い。つまり、「オブジェクトを決定する」とは、オブジェクトを特定する情報を取得することであれば良い。
撮影オブジェクト決定部115は、端末装置12からの距離が近い順にオブジェクトを検査し、端末装置12が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合に、オブジェクトが端末装置12に撮影されているか否かの検査を終了することは好適である。
また、撮影オブジェクト決定部115は、端末情報が有する位置情報および方向情報と、予め格納されているまたは端末情報が有する視野角とを用いて、三次元空間上での撮影領域を取得し、撮影領域を、オブジェクト情報格納部111の各オブジェクト情報が有する領域情報に対して適用し、端末装置12が撮影している1以上のオブジェクトを決定し、端末装置12からの距離が近い順にオブジェクトを検査し、端末装置12が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合に、オブジェクトが端末装置12に撮影されているか否かの検査を終了することは好適である。
また、撮影オブジェクト決定部115は、端末装置12からの距離が近い順にオブジェクトに対応するオブジェクト情報をソートし、端末装置12からの距離が近い順にオブジェクトを検査し、端末装置12が撮影している1以上のオブジェクトを決定することは好適である。
また、撮影オブジェクト決定部115は、端末装置12からの距離が近い順にオブジェクトを検査し、端末装置12が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域のオブジェクトであり、かつ、端末装置12からの距離が閾値以内のオブジェクトのみを検査し、端末装置12が撮影している1以上のオブジェクトを決定することは好適である。
また、撮影オブジェクト決定部115は、端末装置12からの距離が近い順にオブジェクトを検査し、端末装置12が撮影しているとして決定したオブジェクトの数が閾値になった場合に、検査を終了することは好適である。
さらに、撮影オブジェクト決定部115は、例えば、カメラ部122が撮影した映像の中で、端末装置12から最も距離が近い位置に存在するオブジェクトの撮影オブジェクト、またはカメラ部122が撮影した映像の中で最も中央寄りに位置するオブジェクトの撮影オブジェクト、またはカメラ部122が撮影した映像の中で最も大きい領域(平面上または立体上)を有するオブジェクトの撮影オブジェクトを決定しても良い。
なお、撮影オブジェクト決定部115は、さらに具体的には、例えば、後述する図5のフローチャートに示すようなアルゴリズムで、端末装置12が撮影している1以上のオブジェクトを決定することは好適である。
撮影オブジェクト決定部115は、通常、MPUやメモリ等から実現され得る。撮影オブジェクト決定部115の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
Webページ元情報取得部116は、撮影オブジェクト決定部115が決定した1以上の各オブジェクトに対応する1以上のWebページ元情報を取得する。Webページ元情報とは、Webページを取得するための情報である。Webページ元情報は、例えば、オブジェクト識別子(オブジェクト名など)、オブジェクトのウェブページを特定するURLやURI、オブジェクトに対応するウェブページ自体などである。
Webページ元情報取得部116は、撮影オブジェクト決定部115が決定した1以上の各オブジェクトに対応する1以上のオブジェクト識別子を用いて、WebページであるWebページ元情報を、1以上のWebサーバ装置10から検索しても良い。Webページ元情報取得部116は、撮影オブジェクト決定部115が決定した1以上の各オブジェクトに対応する1以上のWebページのURLを取得しても良い。Webページ元情報取得部116がWebページ元情報を取得するアルゴリズムや、取得元等は問わない。
Webページ元情報取得部116は、通常、MPUやメモリ等から実現され得る。Webページ元情報取得部116の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
サーバ送信部117は、サーバ着目判断部113が1以上のオブジェクトをユーザが着目していると判断した場合に、1以上のWebページ元情報を、端末装置12に送信する。サーバ送信部117は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
受付部121は、ユーザの指示やデータなどを受け付ける。指示とは、例えば、端末装置12の起動指示、撮影されている(画面中の)オブジェクトに関するWebページを出力する検索指示、出力されているWebページのURLのアンカーに対する指示(Webページの出力指示)、カメラ部122に対する各種の指示などである。なお、検索指示が入力された場合、例えば、受信されたWebページ元情報を用いて、後述するWebページ取得部128が1以上のWebページを取得する。そして、当該1以上のWebページが出力される。また、指示やデータなどの入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部121は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
カメラ部122は、映像を取得する。カメラ部122は、いわゆるカメラである。カメラ部122は、通常、現在、ファインダーに映っている映像を取得する。カメラ部122は、例えば、CCDカメラにより実現され得る。
端末情報取得部123は、端末装置12の位置を示す位置情報と、端末装置12が向いている方向を示す方向情報とを有する端末情報を取得する。端末情報取得部123は、位置情報と方向情報と視野角を含む端末情報を取得しても良い。かかる場合、端末情報取得部123は、視野角を予め格納している。なお、視野角とは、視野角の情報と同意義である。視野角は、二次元の角度でも三次元の角度でも良い。なお、端末装置12(カメラ部122)の位置、方向、視野角が分かれば、撮影できる領域が分かる。つまり、端末情報は、カメラ部122が撮影する領域を特定する情報である。撮影する領域は、三次元の領域であることが好適であるが、二次元の領域でも良い。
端末情報取得部123を構成する位置情報取得手段1231は、端末装置12の位置を示す位置情報を取得する。位置情報取得手段1231は、例えば、GPS受信機により構成される。また、位置情報取得手段1231は、例えば、無線電波の受信手段と、3つ以上の基地局から受信した3つ以上の電波の強度から位置情報を取得する処理手段(例えば、MPUやメモリ等で構成される手段)とから構成されても良い。位置情報取得手段1231が位置情報を取得する方法は問わない。また、位置情報は、二次元上の位置でも良いし、三次元空間における位置でも良い。
方向情報取得手段1232は、端末装置12が向いている方向を示す方向情報を取得する。方向情報は、2次元上の向きを示す情報でも良いし、3次元上の方向(上下方向も含む)を示す情報でも良い。方向情報取得手段1232は、例えば、コンパスで実現される。また、方向情報取得手段1232は、例えば、コンパスとジャイロで実現される。
端末着目判断部124は、端末情報取得部123が取得した2以上の時間的に連続する端末情報から、カメラ部122が取得した映像内の1以上のオブジェクトを、ユーザが着目しているか否かを判断する。端末着目判断部124は、端末情報が示す端末装置12の動きが、所定以内の少ない動きである場合に、カメラ部122が取得した映像内の1以上のオブジェクトを、ユーザが着目していると判断することは好適である。なお、例えば、端末装置12の動きは、2以上の時間的に連続する端末情報が有する2以上の位置情報の変化に対応し、当該変化が所定以内である場合(静止している場合も含む)に、端末着目判断部124は、カメラ部122が取得した映像内の1以上のオブジェクトを、ユーザが着目していると判断する。また、例えば、端末装置12の動きは、2以上の時間的に連続する端末情報が有する2以上の位置情報の変化および2以上の方向情報の変化に対応し、位置情報の変化および方向情報の変化が、共に各閾値より小さい場合(静止している場合も含む)に、端末着目判断部124は、カメラ部122が取得した映像内の1以上のオブジェクトを、ユーザが着目していると判断する。
端末着目判断部124は、通常、MPUやメモリ等から実現され得る。端末着目判断部124の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
送信部125は、端末情報取得部123が取得した端末情報をサーバ装置11に送信する。また、送信部125は、端末着目判断部124が1以上のオブジェクトをユーザが着目していると判断した場合に、端末情報取得部123が取得した位置情報と方向情報とを有する端末情報をサーバ装置11に送信することは好適である。送信部125は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
受信部126は、端末情報の送信に対応して、1以上のWebページ元情報を、サーバ装置11から受信する。受信部126は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
出力部127は、カメラ部122が取得した映像を出力するカメラ映像出力手段1271を具備する。出力部127は、受信部126が受信した1以上のWebページ元情報をも出力することは好適である。Webページ元情報がURLの場合、Webページは、ユーザの指示により出力される。また、Webページ元情報はWebページでも良い。また、出力部127は、Webページ取得部128が取得した1以上のWebページを出力しても良い。ここで、出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタへの印字、外部の装置(表示装置など)への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。出力部127は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部127は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
カメラ映像出力手段1271は、カメラ部122が取得した映像を出力する。
Webページ取得部128は、受付部121が受け付けた指示に対応する1以上のWebページ識別子で識別される1以上のWebページを取得する。Webページ取得部128は、受信されたWebページ元情報を用いて、1以上のWebページを取得しても良い。Webページ取得部128は、例えば、無線または有線の通信手段で実現される。なお、Webページ識別子とは、Webページを識別する情報であり、例えば、URLやURIなどである。
次に、情報システム1の動作について説明する。まず、サーバ装置11の動作について、図3のフローチャートを用いて説明する。
(ステップS301)サーバ受信部112は、端末装置12から、端末情報を受信したか否かを判断する。端末情報を受信すればステップS302に行き、端末情報を受信しなければステップS301に戻る。
(ステップS302)サーバ受信部112は、図示しないバッファに、ステップS301で受信した端末情報を、時刻とともに追記する。
(ステップS303)サーバ着目判断部113は、バッファに格納されている1以上の端末情報を用いて、カメラ部122が取得した映像内の1以上のオブジェクトを、ユーザが着目しているか否かを判断する。かかる処理を着目判断処理という。着目判断処理について、図4のフローチャートを用いて説明する。
(ステップS304)撮影オブジェクト決定部115は、ステップS303における判断結果が「着目している」との判断結果である場合はステップS305に行き、「着目していない」との判断結果である場合はステップS301に戻る。
(ステップS305)撮影オブジェクト決定部115は、バッファに格納されている1以上の端末情報を用いて、当該端末情報が有する位置情報および/または方向情報を、オブジェクト情報格納部111の各オブジェクト情報の領域情報に適用し、端末装置12が撮影している(端末装置12のディスプレイに映っている)1以上のオブジェクトを決定する。かかる処理を撮影オブジェクト決定処理という。なお、撮影オブジェクト決定部115は、予め格納されている視野角をも用いて、端末装置12が撮影している1以上のオブジェクトを決定することは好適である。なお、端末装置12が撮影しているオブジェクトを撮影オブジェクトとも言う。撮影オブジェクト決定処理について、図5のフローチャートを用いて説明する。
(ステップS306)Webページ元情報取得部116は、カウンタiに1を代入する。
(ステップS307)Webページ元情報取得部116は、ステップS305で決定された撮影オブジェクトの中に、i番目の撮影オブジェクトが存在するか否かを判断する。i番目の撮影オブジェクトが存在すればステップS308に行き、i番目の撮影オブジェクトが存在しなければステップS310に行く。
(ステップS308)Webページ元情報取得部116は、i番目の撮影オブジェクトに関するWebページ元情報を取得する。また、Webページ元情報取得部116は、i番目の撮影オブジェクトのオブジェクト識別子をキーとしてWeb検索し、検索結果を取得しても良い。かかる場合、検索結果がWebページ元情報である。
(ステップS309)Webページ元情報取得部116は、カウンタiを1、インクリメントする。ステップS307に戻る。
(ステップS310)サーバ送信部117は、ステップS308でWebページ元情報が取得されたか否かを判断する。Webページ元情報が取得されていればステップS311に行き、取得されていなければステップS301に戻る。
(ステップS311)サーバ送信部117は、ステップS308で取得されたWebページ元情報から、送信する態様の1以上のWebページ元情報を構成する。
(ステップS312)サーバ送信部117は、ステップS311で構成された1以上のWebページ元情報を端末装置12に送信する。なお、サーバ送信部117は、Webページ元情報が取得されなかった場合、その旨を端末装置12に送信しても良い。ステップS301に戻る。
なお、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、図3のフローチャートにおいて、送信するWebページ元情報は、一つでも良い。つまり、Webページ元情報取得部116は、複数の送信候補のWebページ元情報が存在する場合、端末装置12との距離が最も近いオブジェクトに対応するWebページ元情報を選択したり、ユーザが画面上を指示したオブジェクトに対応するWebページ元情報を選択したり、最も大きいオブジェクトに対応するWebページ元情報を選択したりしても良い。ユーザが画面上を指示する場合、端末情報に、ユーザが指示した画面上の座標値が含まれ、Webページ元情報取得部116は、かかる座標値を用いて、オブジェクトを特定し、当該オブジェクトに対応するWebページ元情報を選択する。
次に、ステップS303の着目判断処理について、図4のフローチャートを用いて説明する。
(ステップS401)サーバ着目判断部113は、所定時間(例えば、10秒)内の1以上の端末情報を読み出す。
(ステップS402)サーバ着目判断部113は、ステップS401で読み出した1以上の端末情報が有する全ての位置情報を取得する。
(ステップS403)サーバ着目判断部113は、ステップS402で取得した位置情報から、任意の2点間の距離を算出し、当該距離のうちで、最大の距離を取得する。
(ステップS404)サーバ着目判断部113は、ステップS401で読み出した1以上の端末情報が有する全ての方向情報を取得する。
(ステップS405)サーバ着目判断部113は、ステップS404で取得した方向情報から、任意の2点間の角度差を算出し、当該角度差のうちで、最大の角度差を取得する。
(ステップS406)サーバ着目判断部113は、映像内の1以上のオブジェクトを、ユーザが着目しているか否かを判断するための条件(例えば、「最大距離<=X かつ 最大角度差<=θ」)を満たすか否かを判断する。満たせばステップS407に行き、満たさなければステップS408に行く。なお、上記の条件の「X」は、撮影映像が動いていないと判断される最大の距離であり、「θ」は撮影映像が動いていないと判断される最大の角度差である。
(ステップS407)サーバ着目判断部113は、変数「判断結果」に「着目している(例えば「1」)」を代入する。
(ステップS408)サーバ着目判断部113は、変数「判断結果」に「着目していない(例えば「0」)」を代入する。
次に、ステップS305の撮影オブジェクト決定処理について、図5のフローチャートを用いて説明する。
(ステップS501)撮影オブジェクト決定部115は、ステップS301で受信された端末情報が有する位置情報を取得する。
(ステップS502)撮影オブジェクト決定部115は、ステップS301で受信された端末情報が有する方向情報と、視野角とを用いて、撮影されない角度を取得する。そして、撮影オブジェクト決定部115は、かかる角度(不可視領域の角度)を記録媒体に登録(記録)する。例えば、方向情報が90度(例えば、真東)であり、視野角が40度である場合、撮影される角度は「70度から110度」である。したがって、撮影オブジェクト決定部115は、「0<=不可視領域の角度<70」および「110<不可視領域の角度<=360」を登録する。なお、ここで、撮影オブジェクト決定部115は、撮影される角度(可視領域の角度)を取得し、登録しても良い。つまり、可視領域の角度の登録も、不可視領域の角度の登録と同意義である、とする。
(ステップS503)撮影オブジェクト決定部115は、ステップS501で取得した位置情報を用いて、端末装置12から近いオブジェクトの順に、オブジェクト情報格納部111のオブジェクト情報をソートする。かかる処理をオブジェクトソート処理という。オブジェクトソート処理について、図6のフローチャートを用いて説明する。
(ステップS504)撮影オブジェクト決定部115は、カウンタiに1を代入する。
(ステップS505)撮影オブジェクト決定部115は、ステップS503でソートされたオブジェクト情報の中に、i番目のオブジェクトが存在するか否かを判断する。i番目のオブジェクトが存在すればステップS506に行き、i番目のオブジェクトが存在しなければ上位処理にリターンする。
(ステップS506)撮影オブジェクト決定部115は、ソートされたオブジェクト情報の中から、i番目のオブジェクトのオブジェクト情報が有する領域情報を取得する。
(ステップS507)撮影オブジェクト決定部115は、ステップS501で取得した位置情報と、ステップS505で取得した領域情報とを用いて、i番目のオブジェクトが、撮影オブジェクト(端末装置12のディスプレイに映っている)か否かを判断する。かかる判断を、可視判断処理という。可視判断処理について、図7、図8のフローチャートを用いて説明する。
(ステップS508)撮影オブジェクト決定部115は、ステップS506における判断の結果、i番目のオブジェクトが撮影オブジェクトであればステップS509に行き、撮影オブジェクトでなければステップS510に行く。
(ステップS509)撮影オブジェクト決定部115は、少なくとも、i番目のオブジェクトのオブジェクト識別子を図示しない記憶媒体に格納する。なお、ここでは、撮影オブジェクトを決定することは、例えば、オブジェクト識別子を格納することである。
(ステップS510)撮影オブジェクト決定部115は、登録されている不可視領域、または可視領域から、可視領域が存在するか否かを判断する。可視領域が存在すればステップS511に行き、存在しなければ上位処理にリターンする。なお、かかる判断は、二次元平面において行われても良いし、三次元空間において行われても良い。
(ステップS511)撮影オブジェクト決定部115は、カウンタiを1、インクリメントする。ステップS505に戻る。
なお、図5のフローチャートにおいて、不可視領域の角度を登録したが、可視領域の角度を登録し、以後、かかる角度に入いるオブジェクトのみを処理対象としても良い。
また、図5のフローチャートのステップS510において、撮影オブジェクト決定部115は、端末装置12からの距離が近い順(範囲や角度を区切った中のオブジェクトの集合の中での近い順でも良い)にオブジェクトを検査し、端末装置12が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合(すべてが不可視領域になった場合と同意義)に、オブジェクトが端末装置12に撮影されているか否かの検査を終了することを説明した。
また、具体的には、ステップS510の処理は、以下である。つまり、撮影オブジェクト決定部115は、端末装置12から近い順にオブジェクトを検査し、端末装置12が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報(ここでは、通常、後述の最小角度(θ1)および最大角度(θ2))を不可視領域として登録し、次に検査するオブジェクトと端末装置12とにより不可視領域となる領域の情報を取得し、最小角度(θ3)および最大角度(θ4)により特定される領域のすべてが既に不可視領域として登録されているか否かを判断し、不可視領域として登録されていなければ次に検査するオブジェクトを端末装置12が撮影しているとして決定し、当該最小角度(θ3)および最大角度(θ4)により特定される領域を不可視領域として登録する処理を繰り返し、端末情報が有する視野角すべての領域が不可視領域となった場合に、オブジェクトの検査を終了することである。
さらに、図5のフローチャートにおいて、可視領域が存在しなくなった場合に、撮影されているオブジェクトの検知処理を終了した。しかし、閾値の数だけ、可視領域内のオブジェクトが見つかった場合、予め決められた条件(例えば、病院、レストランなどの特定のジャンルなど)に合致するオブジェクトが見つかった場合、端末装置12の距離から所定以内の距離にあるオブジェクトのみを検査対象とするなど、他の条件により、オブジェクトの検知処理を終了しても良い。
次に、ステップS502のオブジェクトソート処理について、図6のフローチャートを用いて説明する。
(ステップS601)距離算出部114は、カウンタiに1を代入する。
(ステップS602)距離算出部114は、オブジェクト情報格納部111に、i番目のオブジェクトが存在するか否かを判断する。i番目のオブジェクトが存在すればステップS603に行き、i番目のオブジェクトが存在しなければステップS607に行く。
(ステップS603)距離算出部114は、i番目のオブジェクトの位置情報を、オブジェクト情報格納部111から取得する。なお、i番目のオブジェクトの位置情報は、i番目のオブジェクトのオブジェクト情報に含まれる。
(ステップS604)距離算出部114は、端末情報が有する位置情報が示す地点と、ステップS603で取得した位置情報が示す地点との距離を算出する。
(ステップS605)距離算出部114は、ステップS604で取得した距離とi番目のオブジェクトのオブジェクト情報(またはそのうちの一部の情報)とを対にして、図示しない記録媒体に一時的に格納する。
(ステップS606)距離算出部114は、カウンタiを1、インクリメントする。ステップS602に戻る。
(ステップS607)撮影オブジェクト決定部115は、距離をキーとして、距離の近い(小さい)順に、オブジェクト情報をソートする。上位処理にリターンする。
次に、ステップS506の可視判断処理について、図7のフローチャートを用いて説明する。なお、ここでの可視判断処理は、第一の可視判断処理である。第一の可視判断処理は、オブジェクトの平面的な情報のみを用いて、オブジェクトが端末装置12のディスプレイに出力されているか否かを判断する処理である。
(ステップS701)撮影オブジェクト決定部115は、カウンタiに1を代入する。
(ステップS702)撮影オブジェクト決定部115は、判断対象となるオブジェクトの領域情報の中にi番目の点が存在するか否かを判断する。i番目の点が存在すればステップS703に行き、i番目の点が存在しなければステップS705に行く。なお、領域情報は、例えば、その外形を示す点から構成されるとする。外形を示す点とは、領域情報が示す領域が4角形であれば4点存在し、8角形であれば8点存在する。点とは、通常、(緯度,経度)または(x座標、y座標)などで示される。
(ステップS703)撮影オブジェクト決定部115は、i番目の点と位置情報(端末情報が有する位置情報)との角度(θ)を算出し、当該角度(θ)をバッファに一時記憶する。角度(θ)の基準は、例えば、真北である。ただし、基準は一定であれば良く、真北であるとは限らない。なお、上記の位置情報とは、端末装置12の位置を示す情報である。
(ステップS704)撮影オブジェクト決定部115は、カウンタiを1、インクリメントする。ステップS702に戻る。
(ステップS705)撮影オブジェクト決定部115は、ステップS703でバッファに一時格納された角度(θ)から、最小の角度(θ1)と最大角度(θ2)とを取得する。
(ステップS706)撮影オブジェクト決定部115は、ステップS705で取得した最小の角度(θ1)と最大角度(θ2)の領域すべてが、既に登録されている角度の領域であるか否かを判断する。既に登録されている角度の領域であればステップS710に行き、既に登録されている角度の領域を一部でも含まない場合はステップS707に行く。
(ステップS707)撮影オブジェクト決定部115は、このオブジェクトを撮影オブジェクトであると判断する。リターン値として、撮影オブジェクトである旨の情報(例えば、「1」)を代入する。
(ステップS708)撮影オブジェクト決定部115は、このオブジェクトを撮影オブジェクトであるとしたために、現在、不可視領域として登録されている角度に加え、最小の角度(θ1)と最大角度(θ2)の領域を不可視領域とする角度の幅(領域)を取得する。なお、例えば、現在、「30度から40度」が登録されており、最小の角度(θ1)が35度であり、最大角度(θ2)が45度である場合、撮影オブジェクト決定部115は、「30度から45度」を取得する。また、例えば、現在、「30度から40度」が登録されており、最小の角度(θ1)が55度であり、最大角度(θ2)が60度である場合、「55度から60度」を取得する。
(ステップS709)撮影オブジェクト決定部115は、ステップS708で取得した角度を登録する。なお、例えば、上記において、「30度から45度」は、「30度から40度」の情報に上書きされる。また、例えば、上記において、「55度から60度」が追記される。上位処理にリターンする。このとき、リターン値(撮影オブジェクトを示す値)も返される。
(ステップS710)撮影オブジェクト決定部115は、撮影オブジェクト決定部115は、このオブジェクトを非撮影オブジェクトであると判断する。リターン値として、非撮影オブジェクトである旨の情報(例えば、「0」)を代入する。上位処理にリターンする。このとき、リターン値(非撮影オブジェクトを示す値)も返される。
次に、ステップS506の可視判断処理について、図8のフローチャートを用いて説明する。なお、ここでの可視判断処理は、第二の可視判断処理である。第二の可視判断処理は、オブジェクトの立体的な情報のみを用いて、オブジェクトが端末装置12のディスプレイに出力されているか否かを判断する処理である。図8のフローチャートにおいて、図7のフローチャートと同様のステップについて、説明を省略する。
(ステップS801)撮影オブジェクト決定部115は、i番目の点(x1,y1,z1)と位置情報(x0,y0,z0)との高さ方向の角度(θh)を算出し、バッファに格納する。
(ステップS802)撮影オブジェクト決定部115は、視点(位置情報)からの高さ方向の角度(θ3)を取得する。θ3は、ステップS801で格納したθhのうち、最大の角度である。
(ステップS803)撮影オブジェクト決定部115は、最小の角度(θ1)と最大角度(θ2)の領域において、高さ方向の角度(θ3)以上の角度が既に、登録されているか否かを判断する。登録されていればステップS710に行き、登録されていなければステップS707に行く。高さ方向の角度(θ3)以上の角度が既に登録されている場合は、対象となるオブジェクトは不可視領域にあり、撮影オブジェクトではないことを示す。
(ステップS804)撮影オブジェクト決定部115は、このオブジェクトを撮影オブジェクトであるとしたために、現在、不可視領域として登録されている角度に加え、最小角度(θ1)と最大角度(θ2)の平面領域を不可視領域とする角度の幅(領域)を取得する。なお、例えば、現在、「30度から40度」が登録されており、最小の角度(θ1)が35度であり、最大角度(θ2)が45度である場合、撮影オブジェクト決定部115は、「30度から45度」を取得する。
(ステップS805)撮影オブジェクト決定部115は、このオブジェクトを撮影オブジェクトであるとしたために、高さ方向の角度(θ3)を取得する。なお、例えば、現在、最小の角度(θ1)と最大角度(θ2)の平面領域において、高さの角度「30度」が登録されている場合、取得した高さ方向の角度(θ3)が「35度」であれば、「35度」を取得する。
(ステップS806)撮影オブジェクト決定部115は、ステップS804で取得した平面領域の角度(例えば、「30度から45度」)と、高さ方向の角度(例えば、「35度」)を対応付けて蓄積(登録)する。上位処理にリターンする。このとき、リターン値も返される。なお、撮影オブジェクト決定部115は、最小角度(θ1)と最大角度(θ2)の平面領域において、現在、不可視領域として登録されている高さ方向の角度が、高さ方向の角度(θ3)以上であるか否かを判断し、高さ方向の角度(θ3)以上であれば、高さ方向の角度(θ3)を蓄積しない。
次に、端末装置12の動作について、図9のフローチャートを用いて説明する。
(ステップS901)受付部121は、指示等を受け付けたか否かを判断する。指示等を受け付ければステップS902に行き、指示等を受け付けなければステップS901に戻る。
(ステップS902)受付部121は、ステップS901で受け付けた指示が起動指示であるか否かを判断する。起動指示であればステップS903に行き、起動指示でなければステップS914に行く。なお、起動指示とは、端末装置12の起動の指示である。
(ステップS903)カメラ部122は、カメラ映像を取得する。
(ステップS904)出力部127のカメラ映像出力手段1271は、カメラ部122が取得した映像を出力する。
(ステップS905)端末情報取得部123の位置情報取得手段1231は、端末装置12の位置を示す位置情報を取得する。
(ステップS906)方向情報取得手段1232は、端末装置12が向いている方向を示す方向情報を取得する。
(ステップS907)端末情報取得部123は、ステップS905で取得した位置情報と、ステップS906で取得した方向情報とを有する端末情報を構成する。なお、端末情報取得部123は、予め格納している視野角を含む端末情報を構成することは好適である。
(ステップS908)端末情報取得部123は、ステップS907で構成した端末情報を図示しないバッファに一時蓄積する。
(ステップS909)端末着目判断部124は、バッファに一時蓄積された1以上の端末情報から、着目判断処理を行う。かかる着目判断処理は、図4のフローチャートで説明した着目判断処理と同様であるので、説明を省略する。
(ステップS910)送信部125は、ステップS909における判断結果が「着目している」との判断結果である場合はステップS911に行き、「着目していない」との判断結果である場合はステップS917に行く。
(ステップS911)送信部125は、ステップS907で構成した端末情報(通常、最新の端末情報)をサーバ装置11に送信する。
(ステップS912)受信部126は、端末情報の送信に対応して、1以上のWebページ元情報を受信したか否かを判断する。Webページ元情報を受信すればステップS913に行き、Webページ元情報を受信しなければステップS912に戻る。なお、ここで、一定時間以上Webページ元情報を受信しなければ、ステップS901に戻ることは好適である。
(ステップS913)出力部127は、ステップS912で受信された1以上のWebページ元情報を出力する。ステップS901に戻る。
なお、Webページ元情報が存在しない場合、出力部127は、何も出力しないことは好適である。また、出力部127は、例えば、1以上のWebページ元情報を、カメラ上の領域以外の領域に出力し、かつ、1以上のWebページ元情報に対応するカメラ映像上のオブジェクトを、他のオブジェクトと視覚的に区別できる態様で出力することは好適である。
(ステップS914)受付部121は、ユーザから、Webページ元情報であるURL等への指示を受け付けたか否かを判断する。指示を受け付ければステップS915に行き、指示を受け付けなければステップS901に戻る。
(ステップS915)Webページ取得部128は、指示に関するWebページ元情報で特定されるWebページを取得する。
(ステップS916)出力部127は、ステップS915で取得されたWebページを出力する。ステップS901に戻る。
(ステップS917)受付部121は、指示等を受け付けたか否かを判断する。指示等を受け付ければステップS902に戻り、指示等を受け付けなければステップS903に戻る。なお、ステップS902に戻る場合、ステップS909でバッファに一時蓄積された1以上の端末情報は、図示しない手段により、消去されることは好適である。
なお、図9のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
また、図9のフローチャートにおいて、ユーザの指示により、端末情報をサーバ装置11に送信するようにしても良い。
以下、本実施の形態における情報システム1の具体的な動作について説明する。情報システム1の概念図は図1である。情報システム1において、カメラで撮影している画像に含まれるオブジェクトに関するWebページを表示できる。
次に、2つの具体例を用いて、情報システム1について説明する。具体例1は、オブジェクトの高さまでは考慮せず、オブジェクトの平面的な情報のみを考慮して、撮影されている映像の中に含まれるオブジェクトを認識し、当該オブジェクトに対応付けられるWebページを出力する態様である。具体例2は、オブジェクトの高さをも考慮して、撮影されている映像の中に含まれるオブジェクトを認識し、当該オブジェクトに対応付けられるWebページを出力する態様である。
また、具体例1において、着目判断処理は、端末装置12が行う。さらに、具体例2において、着目判断処理は、サーバ装置11が行う、とする。
(具体例1)
今、サーバ装置11のオブジェクト情報格納部111は、図10に示すオブジェクト情報管理表を保持している。オブジェクト情報管理表は、地図上のオブジェクト情報を管理している表である。オブジェクト情報管理表は、「オブジェクト識別子」「オブジェクト名」「位置情報」「領域情報」などの属性値を有するレコードを1以上、管理している。「オブジェクト識別子」は、ここでは、オブジェクトのIDである。「オブジェクト名」は、オブジェクトの名称を示す。「位置情報」は、オブジェクトの位置を特定する情報であり、ここでは、(緯度,経度)である。「領域情報」は、オブジェクトが配置されている二次元領域を示す情報であり、ここでは、多角形であるオブジェクトの3以上の頂点を示す。頂点も、ここでは、(緯度,経度)である。
また、端末装置12は、ここでは、2つのディスプレイを有する端末である、とする。なお、端末装置12は、一つのディスプレイを有する端末であっても良いし、3つ以上のディスプレイを有する端末であっても良い。
かかる場合、ユーザは、端末装置12を起動した、とする。すると、受付部121は、起動指示を受け付ける。そして、カメラ部122は、カメラ映像を取得する。そして、出力部127のカメラ映像出力手段1271は、カメラ部122が取得した映像を出力する。すると、図11に示すように、端末装置12の第一のディスプレイ(上部のディスプレイ)に、外界の映像が出力される。
次に、端末装置12の端末情報取得部123の位置情報取得手段1231(ここでは、例えば、GPS受信機)は、端末装置12の位置情報(x,y)を取得する。
次に、方向情報取得手段1232は、端末装置12が向いている方向を示す方向情報(θx)を取得する。方向情報(θx)は、例えば、真北から時計回りの角度(真東は90度)を示す。
また、端末情報取得部123は、カメラ部122が有する視野角の情報(単に「視野角」という)を読み出す。ここでは、視野角は「θa」である、とする。また、カメラ部122は、予め視野角「θa」を格納している。とする。
次に、端末情報取得部123は、取得した位置情報(x,y)と、取得した方向情報(θx)と、視野角(θa)とを有する端末情報(x,y,θx,θa)を構成する。
次に、端末情報取得部123は、構成した端末情報を図示しないバッファに一時蓄積する。
次に、端末着目判断部124は、バッファに一時蓄積された1以上の端末情報から、着目判断処理(図4のフローチャートで説明した処理)を行う。
そして、バッファに一時蓄積された2以上の端末情報から、動きが一定以内になり、端末着目判断部124が、オブジェクトに着目している、と判断するまで、上記の処理を繰り返す。
そして、その後、端末着目判断部124は、オブジェクトに着目していると判断した、とする。
また、端末着目判断部124が、オブジェクトに着目していると判断した直前の(最も新しい)位置情報は(X,Y)であり、方向情報は(θA)であり、視野角は(θa)であった、とする。そして、端末情報取得部123は、最後に端末情報(X,Y,θA,θa)を構成した、とする。
次に、送信部125は、構成した端末情報(X,Y,θA,θa)をサーバ装置11に送信する。
そして、サーバ装置11のサーバ受信部112は、端末装置12から、端末情報(X,Y,θA,θa)を受信する。
次に、撮影オブジェクト決定部115は、以下のように、撮影オブジェクトを決定する。つまり、撮影オブジェクト決定部115は、受信された端末情報が有する位置情報(X,Y)を取得する。
次に、撮影オブジェクト決定部115は、端末情報が有する方向情報(θA)と視野角(θa)とを用いて、不可視領域となる角度を算出する。撮影オブジェクト決定部115は、「(θA−(θa/2))<=可視領域<=(θA+(θa/2))」を可視領域となる角度として決定する。そして、可視領域を除く角度を不可視領域角度として算出し、蓄積する。かかる概念を図12に示す。なお、可視領域が真北のラインをまたがっていない場合、不可視領域角度は「0<=不可視領域角度<(θA−(θa/2))」および「(θA+(θa/2))<不可視領域角度<=360」である。また、可視領域が真北のラインをまたがっている場合、不可視領域角度は「(θA+(θa/2))<不可視領域角度<(θA−(θa/2))」である。
そして、距離算出部114が、端末装置12の位置情報(X,Y)を用いて、端末装置12と各オブジェクトとの距離を算出する。そして、撮影オブジェクト決定部115は、距離算出部114が算出した距離を用いて、端末装置12から近いオブジェクトの順に、オブジェクト情報格納部111のオブジェクト情報をソートする。ソート処理については、図6で説明した処理により行う。ソート処理の結果、例えば、撮影オブジェクト決定部115は、図13に示すようなオブジェクト一時管理表を取得する。オブジェクト一時管理表の各レコードは、オブジェクト識別子と距離とを有する。距離は、位置情報(X,Y)が示す点とオブジェクトの位置情報が示す点との距離である。
次に、撮影オブジェクト決定部115は、オブジェクト一時管理表の上位のレコードから、撮影オブジェクトであるか否かを判断する。
つまり、撮影オブジェクト決定部115は、オブジェクト一時管理表の1番目のレコードのオブジェクト識別子「1」を読み出す。そして、当該オブジェクト識別子「1」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「1」と対になる領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」を取得する。
次に、撮影オブジェクト決定部115は、受信された端末情報(X,Y,θA,θa)と、取得した領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」とを用いて、1番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部115は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の1番目の点(x1,y1)を取得する。
次に、撮影オブジェクト決定部115は、1番目の点(x1,y1)と位置情報(X,Y)との角度(θ1)を算出し、当該角度(θ1)をバッファに一時記憶する。同様に、撮影オブジェクト決定部115は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y)との角度(θ2,θ3,θ4)を算出し、当該角度(θ2,θ3,θ4)もバッファに一時記憶する。バッファには、(θ1,θ2,θ3,θ4)が格納されたことになる。
次に、撮影オブジェクト決定部115は、バッファに一時格納された角度(θ1,θ2,θ3,θ4)から、最小角度(例えば、(θ1))と最大角度(例えば、(θ4))とを取得する。
次に、撮影オブジェクト決定部115は、取得した最小角度(θ1)と最大角度(θ4)の領域すべてが、既に登録されている角度の領域(「(θA−(θa/2))<=可視領域<=(θA+(θa/2))」を除く角度)であるか否かを判断する。ここで、撮影オブジェクト決定部115は、取得した最小角度(θ1)と最大角度(θ4)の領域は、可視領域であると判断した、とする。そして、撮影オブジェクト決定部115は、オブジェクト識別子「1」のオブジェクトは、撮影オブジェクトであると判断する。
次に、撮影オブジェクト決定部115は、「θ1<=不可視領域<=θ4」を新たな不可視領域とする。つまり、撮影オブジェクト決定部115は、例えば、「0<=不可視領域角度<(θA−(θa/2))」および「(θA+(θa/2))<不可視領域角度<=360」と「θ1<=不可視領域<=θ4」とをマージした不可視領域角度を記録媒体に登録する。ここで、マージとは、今までの不可視領域に、「θ1<=不可視領域<=θ4」を加えることであり、今までの不可視領域が「θ1<=不可視領域<=θ4」を含む場合もあるし、含まない場合もある。
次に、撮影オブジェクト決定部115は、1番目のオブジェクトのオブジェクト識別子「1」を図示しない記憶媒体に格納する。
次に、撮影オブジェクト決定部115は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断する。
次に、撮影オブジェクト決定部115は、オブジェクト一時管理表の2番目のオブジェクト識別子「17」を取得し、当該識別子「17」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「17」と対になる領域情報(例えば、「(x101,y101)(x102,y102)(x103,y103)(x103,y103)」)を取得する。
次に、撮影オブジェクト決定部115は、受信された端末情報(X,Y,θA,θa)と、取得した領域情報「(x101,y101)(x102,y102)(x103,y103)(x103,y103)」とを用いて、2番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部115は、判断対象となるオブジェクト(オブジェクト識別子「17」のオブジェクト)の領域情報の中の1番目の点(x101,y101)を取得する。
次に、撮影オブジェクト決定部115は、1番目の点(x101,y101)と位置情報(X,Y)との角度(θ101)を算出し、当該角度(θ101)をバッファに一時記憶する。同様に、撮影オブジェクト決定部115は、判断対象となるオブジェクト(オブジェクト識別子「17」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y)との角度(θ102,θ103,θ104)を算出し、当該角度(θ102,θ103,θ104)もバッファに一時記憶する。バッファには、(θ101,θ102,θ103,θ104)が格納されたことになる。
次に、撮影オブジェクト決定部115は、バッファに一時格納された角度(θ101,θ102,θ103,θ104)から、最小角度(例えば、(θ101))と最大角度(例えば、(θ103))とを取得する。
次に、撮影オブジェクト決定部115は、取得した最小角度(θ101)と最大角度(θ103)の領域すべてが、既に登録されている角度の領域であるか否かを判断する。そして、撮影オブジェクト決定部115は、最小角度(θ101)と最大角度(θ103)の領域すべてが、既に登録されている角度の領域であると、判断したとする。したがって、撮影オブジェクト決定部115は、オブジェクト識別子「17」のオブジェクトは撮影オブジェクトでない、と決定する。
次に、撮影オブジェクト決定部115は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断する。
次に、撮影オブジェクト決定部115は、オブジェクト一時管理表の3番目のオブジェクト識別子「3」を取得し、当該識別子「3」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「3」と対になる領域情報「(x11,y11)(x12,y12)(x13,y13)(x14,y14)」を取得する。
次に、撮影オブジェクト決定部115は、受信された端末情報(X,Y,θA,θa)と、取得した領域情報「(x11,y11)(x12,y12)(x13,y13)(x14,y14)」とを用いて、3番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部115は、判断対象となるオブジェクト(オブジェクト識別子「3」のオブジェクト)の領域情報の中の1番目の点(x11,y11)を取得する。
次に、撮影オブジェクト決定部115は、1番目の点(x11,y11)と位置情報(X,Y)との角度(θ11)を算出し、当該角度(θ11)をバッファに一時記憶する。同様に、撮影オブジェクト決定部115は、判断対象となるオブジェクト(オブジェクト識別子「3」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y)との角度(θ12,θ13,θ14)を算出し、当該角度(θ12,θ13,θ14)もバッファに一時記憶する。バッファには、(θ11,θ12,θ13,θ14)が格納されたことになる。
次に、撮影オブジェクト決定部115は、バッファに一時格納された角度(θ11,θ12,θ13,θ14)から、最小角度(例えば、(θ11))と最大角度(例えば、(θ14))とを取得する。
次に、撮影オブジェクト決定部115は、取得した最小角度(θ11)と最大角度(θ14)の領域すべてが、既に登録されている角度の領域であるか否かを判断する。ここで、撮影オブジェクト決定部115は、取得した最小角度(θ11)と最大角度(θ14)の領域と、既に登録されている不可視領域の角度とを比較する。そして、撮影オブジェクト決定部115は、取得した最小角度(θ11)と最大角度(θ14)の領域は、可視領域であると判断した、とする。そして、撮影オブジェクト決定部115は、オブジェクト識別子「3」のオブジェクトは、撮影オブジェクトであると判断する。
次に、撮影オブジェクト決定部115は、「θ11<=不可視領域<=θ14」を新たな不可視領域とする。
次に、撮影オブジェクト決定部115は、3番目のオブジェクトのオブジェクト識別子「3」を図示しない記憶媒体に格納する。
次に、撮影オブジェクト決定部115は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断する。
以上の処理を、4番目以降のオブジェクトに対しても繰り返す。そして、オブジェクト識別子「25」で識別されるオブジェクトを撮影オブジェクトであると決定した後、撮影オブジェクト決定部115は、登録されている不可視領域、または可視領域から、可視領域が存在しない、と判断した、とする。そして、最終的に、撮影オブジェクトの識別子の集合「1,3,25」が得られた、とする。
次に、Webページ元情報取得部116は、撮影オブジェクトの識別子が格納されているバッファから、1番目の撮影オブジェクトの識別子「1」を取得する。そして、Webページ元情報取得部116は、撮影オブジェクトの識別子「1」に対応するオブジェクト名「コーヒーショップA」を取得する。次に、Webページ元情報取得部116は、オブジェクト名「コーヒーショップA」をキーとして、Web検索し、「コーヒーショップA」のWebページを取得する。ここでは、Webページ元情報は、オブジェクト名とWebページのペアの情報である、とする。
次に、Webページ元情報取得部116は、撮影オブジェクトの識別子が格納されているバッファから、2番目の撮影オブジェクトの識別子「3」を取得する。そして、Webページ元情報取得部116は、撮影オブジェクトの識別子「3」に対応するオブジェクト名「ビルZ」を取得する。次に、Webページ元情報取得部116は、オブジェクト名「ビルZ」をキーとして、Web検索したが、Webページを取得できなかった、とする。
次に、Webページ元情報取得部116は、撮影オブジェクトの識別子が格納されているバッファから、2番目の撮影オブジェクトの識別子「25」を取得する。そして、Webページ元情報取得部116は、撮影オブジェクトの識別子「25」に対応するオブジェクト名「スポーツY」を取得する。次に、Webページ元情報取得部116は、オブジェクト名「スポーツY」をキーとして、Web検索し、「スポーツY」のWebページを取得する。
次に、サーバ送信部117は、Webページ元情報取得部116が取得した2つのWebページ元情報を端末装置12に送信する。
次に、端末装置12の受信部126は、端末情報の送信に対応して、2つのWebページ元情報を受信する。
次に、出力部127は、受信したWebページ元情報を出力する処理を行う。出力例を図14に示す。図14は、受信されたWebページ元情報のうちのオブジェクト名のみを出力している。そして、図14において、オブジェクト名はアンカーになっており、ユーザがアンカーを指示すれば、アンカーに対応するWebページが出力される。ユーザは、例えば。アンカー「1.コーヒーショップA」をタッチする、またはマウスやペン等の入力手段で押下した、とする。すると、図15に示すように、コーヒーショップAのWebページが出力される。
なお、図14,図15において、撮影画像中において、コーヒーショップAに対応するオブジェクト(ビル)が矩形により示されている。
なお、上記において、端末装置12からの距離が最も近い撮影オブジェクトのWebページ元情報やWebページのみを出力しても良い。また、端末装置12の最も中央部に存在する撮影オブジェクトのWebページ元情報やWebページのみを出力しても良い。
(具体例2)
今、サーバ装置11のオブジェクト情報格納部111は、図16に示すオブジェクト情報管理表を保持している。オブジェクト情報管理表は、地図上のオブジェクト情報を管理している表である。オブジェクト情報管理表は、「オブジェクト識別子」「オブジェクト名」「位置情報」「領域情報」などの属性値を有するレコードを1以上、管理している。図16において、図10のオブジェクト情報管理表との差異は、領域情報を構成する各点が高さ情報(z)を有している点である。
また、端末装置12は、2つのディスプレイを有する端末である、とする。
かかる場合、ユーザは、端末装置12を起動した、とする。すると、受付部121は、起動指示を受け付ける。そして、カメラ部122は、カメラ映像を取得する。そして、出力部127のカメラ映像出力手段1271は、カメラ部122が取得した映像を出力する。すると、図11に示すように、端末装置12の第一のディスプレイ(上部のディスプレイ)に、外界の映像が出力される。
次に、端末装置12の端末情報取得部123の位置情報取得手段1231(ここでは、例えば、GPS受信機)は、端末装置12の位置情報(x,y,z)を取得する。なお、zは、高さである。
次に、方向情報取得手段1232は、端末装置12が向いている方向を示す方向情報(θx,θy)を取得する。θAは平面上の角度、θBは高さ方向の角度である。方向情報(θx)は、例えば、真北から時計回りの角度(真東は90度)を示す。
また、端末情報取得部123は、カメラ部122が有する視野角の情報(単に「視野角」という)を読み出す。ここでは、視野角は(θa,θb)である、とする。また、カメラ部122は、予め視野角(θa,θb)を格納している、とする。なお、θaは平面上の角度、θbは高さ方向の角度である。視野角(θa,θb)を図17に示す。
次に、端末情報取得部123は、取得した位置情報(x,y,z)と、取得した方向情報(θx,θy)と、視野角(θa,θb)とを有する端末情報(x,y,z,θx,θy,θa,θb)を構成する。
次に、送信部125は、構成した端末情報(x,y,z,θx,θy,θa,θb)をサーバ装置11に送信する。そして、端末装置12は、端末情報を、次々とサーバ装置11に送信していく、とする。
そして、サーバ装置11のサーバ受信部112は、端末装置12から、端末情報(x,y,z,θx,θy,θa,θb)を受信する。
次に、サーバ受信部112は、図示しないバッファに、受信した端末情報を、時刻とともに追記する。
次に、サーバ着目判断部113は、バッファ内の1以上の端末情報を用いて、着目判断処理(図4のフローチャートを参照)を行う。そして、バッファには、一つの端末情報のみが蓄積されているので、サーバ着目判断部113は、変数「判断結果」に「着目していない(例えば「0」)」を代入する。
そして、上記の処理(端末情報の受信、蓄積、および着目判断処理)を繰り返し、端末情報が有する位置情報、および方向情報から、サーバ着目判断部113は、カメラの動きが所定以内(動きが無い場合も含む)であることを検出し、変数「判断結果」に「着目している(例えば「1」)」を代入した、とする。そして、かかる場合の最後の(最も新しい)位置情報は(X,Y,Z)であり、方向情報は(θA,θB)である、とする。つまり、最後の(最も新しい)端末情報は(X,Y,Z,θA,θB,θa,θb)であった、とする。
次に、撮影オブジェクト決定部115は、以下のように、撮影オブジェクトを決定する。つまり、撮影オブジェクト決定部115は、受信された端末情報が有する位置情報(X,Y,Z)を取得する。
次に、撮影オブジェクト決定部115は、端末情報が有する方向情報(θA,θB)と視野角(θa,θb)とを用いて、不可視領域となる三次元の角度を算出する。撮影オブジェクト決定部115は、可視領域となる二次元の角度「(θA−(θa/2))<=可視領域<=(θA+(θa/2))」を取得する。そして、可視領域となる高さ方向の角度「(θB−(θb/2))<=可視領域<=(θB+(θb/2))」を取得する。そして、上記の可視領域ではない領域を、不可視領域として蓄積する。
そして、撮影オブジェクト決定部115は、取得した位置情報(X,Y,Z)を用いて、端末装置12から近いオブジェクトの順に、オブジェクト情報格納部111のオブジェクト情報をソートする。ソート処理については、図6で説明した処理により行う。なお、ここでは、位置情報(X,Y,Z)のうちの(X,Y)と、各オブジェクトの位置情報(例えば、(xa,ya))とを用いて、端末装置12と各オブジェクトとの距離を算出し、距離をキーとしてソートする。そして、ソート処理の結果、撮影オブジェクト決定部115は、図13に示すようなオブジェクト一時管理表を取得する。オブジェクト一時管理表の各レコードは、オブジェクト識別子と距離とを有する。距離は、位置情報(X,Y,Z)(ただし、Zは利用されなくても良い)が示す点とオブジェクトの位置情報が示す点との距離である。
次に、撮影オブジェクト決定部115は、オブジェクト一時管理表の上位のレコードから、撮影オブジェクトであるか否かを判断する。
つまり、撮影オブジェクト決定部115は、オブジェクト一時管理表の1番目のレコードのオブジェクト識別子「1」を読み出す。そして、当該オブジェクト識別子「1」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「1」と対になる領域情報「(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4)」を取得する。
次に、撮影オブジェクト決定部115は、受信された端末情報(X,Y,Z,θA,θB,θa,θb)と、取得した領域情報「(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4)」とを用いて、1番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部115は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の1番目の点(x1,y1,z1)を取得する。
次に、撮影オブジェクト決定部115は、1番目の点(x1,y1,z1)と位置情報(X,Y,Z)との平面上の角度(θ11)を算出し、当該角度(θ11)をバッファに一時記憶する。また、撮影オブジェクト決定部115は、1番目の点(x1,y1,z1)と位置情報(X,Y,Z)との高さ方向の角度(θ12)を算出し、当該角度(θ12)をバッファに一時記憶する。同様に、撮影オブジェクト決定部115は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y,Z)との平面上の角度(θ12,θ13,θ14)を算出し、当該角度(θ12,θ13,θ14)もバッファに一時記憶する。バッファには、(θ11,θ12,θ13,θ14)が格納されたことになる。さらに、同様に、撮影オブジェクト決定部115は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y,Z)との高さ方向の角度(θ22,θ23,θ24)を算出し、当該角度(θ22,θ23,θ24)もバッファに一時記憶する。バッファには、(θ21,θ22,θ23,θ24)が格納されたことになる。
次に、撮影オブジェクト決定部115は、バッファに一時格納された角度(θ11,θ12,θ13,θ14)から、平面上の最小角度(例えば、(θ11))と最大角度(例えば、(θ14))とを取得する。
また、撮影オブジェクト決定部115は、バッファに一時格納された角度(θ21,θ22,θ23,θ24)から、高さ方向の最大角度(θ24)を取得する。
次に、撮影オブジェクト決定部115は、取得した平面上の最小角度(θ11)と最大角度(θ14)の領域すべてが、既に登録されている領域であるか否かを判断する。ここで、撮影オブジェクト決定部115は、取得した最小角度(θ11)と最大角度(θ14)の領域は、可視領域であると判断した、とする。そして、撮影オブジェクト決定部115は、オブジェクト識別子「1」のオブジェクトは、撮影オブジェクトであると判断する。
なお、ここで、例えば、撮影オブジェクト決定部115は、取得した平面上の最小角度(θ11)と最大角度(θ14)の領域の一部が、既に登録されている領域ではないと判断した場合も、可視領域であると判断する。つまり、撮影オブジェクト決定部115は、オブジェクト識別子「1」のオブジェクトが、撮影オブジェクトであると判断する。また、例えば、撮影オブジェクト決定部115は、取得した平面上の最小角度(θ11)と最大角度(θ14)の領域のすべてが、既に登録されている角度の領域であると判断した場合でも、高さ方向の最大角度(θ24)が、登録されている高さ方向の最大角度より大きい場合、平面上の最小角度(θ11)と最大角度(θ14)の領域において、可視領域であると判断する。つまり、撮影オブジェクト決定部115は、オブジェクト識別子「1」のオブジェクトが、撮影オブジェクトであると判断するのである。
次に、撮影オブジェクト決定部115は、「θ11<=不可視領域<=θ14」を新たな不可視領域とする。つまり、撮影オブジェクト決定部115は、例えば、「0<=不可視領域角度<(θA−(θa/2))」および「(θA+(θa/2))<不可視領域角度<=360」と「θ11<=不可視領域<=θ14」とをマージした平面上の不可視領域角度を記録媒体に登録する。そして、登録されている高さ方向の最大角度が(θ24)より小さい場合、この平面上の領域に対応付けて、撮影オブジェクト決定部115は、高さ方向の最大角度(θ24)を登録する。
次に、撮影オブジェクト決定部115は、1番目のオブジェクトのオブジェクト識別子「1」を図示しない記憶媒体に格納する。
次に、撮影オブジェクト決定部115は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断した、とする。
以上の処理を、図16の2番目以降のオブジェクトに対しても行い、撮影オブジェクトを決定する。
そして、撮影オブジェクト決定部115は、登録されている不可視領域、または可視領域から、可視領域が存在しない、と判断するまで、上記の検査(撮影オブジェクトの決定のための検査)を繰り返す。そして、撮影オブジェクト決定部115は、撮影オブジェクトのオブジェクト識別子「1」、「3」、「25」を取得した、とする。
次に、Webページ元情報取得部116は、撮影オブジェクトの識別子が格納されているバッファから、1番目の撮影オブジェクトの識別子「1」を取得する。そして、Webページ元情報取得部116は、撮影オブジェクトの識別子「1」に対応するオブジェクト名「コーヒーショップA」を取得する。次に、Webページ元情報取得部116は、オブジェクト名「コーヒーショップA」をキーとして、Web検索し、「コーヒーショップA」のWebページを取得する。ここでは、Webページ元情報は、オブジェクト名とWebページのペアの情報である、とする。
次に、Webページ元情報取得部116は、撮影オブジェクトの識別子が格納されているバッファから、2番目の撮影オブジェクトの識別子「3」を取得する。そして、Webページ元情報取得部116は、撮影オブジェクトの識別子「3」に対応するオブジェクト名「ビルZ」を取得する。次に、Webページ元情報取得部116は、オブジェクト名「ビルZ」をキーとして、Web検索したが、Webページを取得できなかった、とする。
次に、Webページ元情報取得部116は、撮影オブジェクトの識別子が格納されているバッファから、2番目の撮影オブジェクトの識別子「25」を取得する。そして、Webページ元情報取得部116は、撮影オブジェクトの識別子「25」に対応するオブジェクト名「スポーツY」を取得する。次に、Webページ元情報取得部116は、オブジェクト名「スポーツY」をキーとして、Web検索し、「スポーツY」のWebページを取得する。
次に、サーバ送信部117は、Webページ元情報取得部116が取得した2つのWebページ元情報を端末装置12に送信する。
次に、端末装置12の受信部126は、端末情報の送信に対応して、2つのWebページ元情報を受信する。
次に、出力部127は、受信したWebページ元情報を出力する処理を行う。出力例を図14に示す。図14は、受信されたWebページ元情報のうちのオブジェクト名のみを出力している。そして、図14において、オブジェクト名はアンカーになっており、ユーザがアンカーを指示すれば、アンカーに関するWebページが出力される。ユーザは、例えば。アンカー「1.コーヒーショップA」をタッチする、またはマウスやペン等の入力手段で押下した、とする。すると、図15に示すように、コーヒーショップAのWebページが出力される。
なお、図14,図15において、撮影画像中において、コーヒーショップAに対応するオブジェクト(ビル)が矩形により示されている。
なお、上記において、端末装置12からの距離が最も近い撮影オブジェクトのWebページ元情報やWebページのみを出力しても良い。また、端末装置12の最も中央部に存在する撮影オブジェクトのWebページ元情報やWebページのみを出力しても良い。
以上、本実施の形態によれば、カメラで撮影しているオブジェクトを認識し、かかるオブジェクトに関するWebページを出力することができる。したがって、ユーザは、自分の目で見ている建物やランドマークや公園などのWebページを非常に簡単に得ることができる。
また、本実施の形態によれば、撮影オブジェクトを検知する処理を適切に打ち切ることにより、高速な処理が可能となる。
また、本実施の形態によれば、オブジェクトの高さをも考慮するので、例えば、ある建物の後ろに見えている建物に対応付けられているWebページも得ることができる。
また、本実施の形態によれば、2画面のうちの1画面にWebページが出力されることにより、カメラの映像を邪魔せずに、ユーザは、Webページを見ることができる。
なお、本実施の形態において、サーバ装置11はサーバ着目判断部113を具備し、端末装置12は端末着目判断部124を具備していた。しかし、サーバ装置11がサーバ着目判断部113を具備する場合、端末装置12において、通常、端末着目判断部124が存在しない。また、端末装置12が端末着目判断部124を具備する場合、サーバ装置11において、通常、サーバ着目判断部113が存在しない。また、サーバ装置11はサーバ着目判断部113を具備せず、端末装置12は端末着目判断部124を具備しなくても良い。
さらに、本実施の形態におけるサーバ装置11や端末装置12の処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるサーバ装置11を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、オブジェクトを識別するオブジェクト識別子と、当該オブジェクトが存在する領域を示す領域情報とを有するオブジェクト情報を、1以上格納しており、コンピュータを、端末装置から、当該端末装置の位置を示す位置情報と当該端末装置が向いている方向を示す方向情報とを有する端末情報を受信するサーバ受信部と、前記端末情報が有する位置情報と、前記端末情報が有する方向情報と、予め格納されているまたは前記端末情報が有する視野角とを、前記記録媒体の各オブジェクト情報の領域情報に適用し、前記端末装置が撮影している1以上のオブジェクトを決定する撮影オブジェクト決定部と、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のWebページを取得するための情報である1以上のWebページ元情報を取得するWebページ元情報取得部と、前記1以上のWebページ元情報を、前記端末装置に送信するサーバ送信部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記Webページ元情報取得部は、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のオブジェクト識別子を用いて、WebページであるWebページ元情報を検索するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、前記領域情報は、地図上での二次元の領域を示す二次元領域情報とオブジェクトの高さを示す高さ情報を有し、前記撮影オブジェクト決定部は、前記端末情報が有する位置情報および方向情報と、予め格納されているまたは前記端末情報が有する視野角とを用いて、三次元空間上での撮影領域を取得し、当該撮影領域を、前記オブジェクト情報格納部の各オブジェクト情報が有する領域情報に対して適用し、前記端末装置が撮影している1以上のオブジェクトを決定し、かつ、前記1以上のオブジェクトの決定の際に、前記端末装置からの距離が近い順にオブジェクトを検査し、前記端末装置が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合に、オブジェクトが前記端末装置に撮影されているか否かの検査を終了するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、コンピュータを、前記1以上のオブジェクト情報に対応するオブジェクトと前記端末装置との距離を、前記各オブジェクトのオブジェクト情報と前記端末情報が有する位置情報とから、オブジェクトごとに算出する距離算出部としてさらに機能させ、前記撮影オブジェクト決定部は、前記端末装置からの距離が近い順にオブジェクトに対応するオブジェクト情報をソートし、前記端末装置からの距離が近い順にオブジェクトを検査し、前記端末装置が撮影している1以上のオブジェクトを決定するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト決定部は、前記端末装置からの距離が近い順にオブジェクトを検査し、前記端末装置が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合に、オブジェクトが前記端末装置に撮影されているか否かの検査を終了するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト決定部は、前記端末装置からの距離が近い順にオブジェクトを検査し、前記端末装置が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域のオブジェクトであり、かつ、前記端末装置からの距離が閾値以内のオブジェクトのみを検査し、前記端末装置が撮影している1以上のオブジェクトを決定するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト決定部は、前記端末装置からの距離が近い順にオブジェクトを検査し、前記端末装置が撮影しているとして決定したオブジェクトの数が閾値になった場合に、前記検査を終了するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、コンピュータを、前記サーバ受信部が受信した2以上の時間的に連続する端末情報から、前記カメラ部が取得した映像内の1以上のオブジェクトを、ユーザが着目しているか否かを判断するサーバ着目判断部としてさらに機能させるためのプログラムであることは好適である。
また、端末装置12を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報とを有する端末情報を取得する端末情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力するカメラ映像出力手段を具備する出力部と、前記端末情報取得部が取得した端末情報をサーバ装置に送信する送信部と、前記端末情報の送信に対応して、前記1以上のWebページ元情報を受信する受信部と、前記1以上のWebページ元情報に対応する1以上のWebページを取得するWebページ取得部として機能させ、前記出力部は、前記Webページ取得部が取得した1以上のWebページをも出力するものとして、コンピュータを機能させるためのプログラムである。
また、上記プログラムにおいて、コンピュータを、ユーザから1以上のWebページ識別子に対する指示を受け付ける受付部と、前記受付部が受け付けた指示に対応する前記1以上のWebページ識別子で識別されるWebページを取得するWebページ取得部としてさらに機能させ、前記出力部は、前記Webページ取得部が取得したWebページをも出力するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、上記プログラムにおいて、コンピュータを、前記端末情報取得部が取得した2以上の時間的に連続する端末情報から、前記カメラ部が取得した映像内の1以上のオブジェクトを、ユーザが着目しているか否かを判断する端末着目判断部としてさらに機能させ、前記送信部は、前記端末着目判断部が1以上のオブジェクトをユーザが着目していると判断した場合に、前記端末情報取得部が取得した位置情報と方向情報とを有する端末情報を前記サーバ装置に送信するものとして、コンピュータを機能させるためのプログラムであることは好適である。
(実施の形態2)
本実施の形態において、カメラ(ビデオカメラを含む)で撮影しているランドマークや店舗などのWebページを自動取得し、出力する情報システムについて説明する。
また、本実施の形態では、サーバ装置において、オブジェクト識別子と対応付けてWebページ識別子が管理されている点が、実施の形態1と異なる点である。つまり、本実施の形態において、サーバ装置が、撮影オブジェクトに関するWebページ識別子を取得し、当該Webページ識別子に関するWebページを、サーバ装置または、端末装置が取得して、端末装置でWebページが出力される。
本実施の形態における情報システム1の概念図は、符号が異なるだけで、図1と同様である。
図18は、本実施の形態における情報システム2のブロック図である。情報システム2は、1以上のWebサーバ装置10、サーバ装置21、および1以上の端末装置12を具備する。
サーバ装置21は、オブジェクト情報格納部111、Webページ情報格納部211、サーバ受信部112、サーバ着目判断部113、距離算出部114、撮影オブジェクト決定部115、Webページ元情報取得部216、サーバ送信部117、を具備する。
端末装置12は、受付部121、カメラ部122、端末情報取得部123、端末着目判断部124、送信部125、受信部126、出力部127、およびWebページ取得部128を具備する。端末情報取得部123は、位置情報取得手段1231、方向情報取得手段1232、を具備する。
Webページ情報格納部211は、1以上のWebページ情報を格納し得る。Webページ情報は、ここでは、オブジェクト識別子とWebページを識別するWebページ識別子とを有する情報である。
Webページ情報格納部211は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。Webページ情報格納部211にWebページ情報が記憶される過程は問わない。例えば、記録媒体を介してWebページ情報がWebページ情報格納部211で記憶されるようになってもよく、通信回線等を介して送信されたWebページ情報がWebページ情報格納部211で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたWebページ情報がWebページ情報格納部211で記憶されるようになってもよい。
Webページ元情報取得部216は、撮影オブジェクト決定部115が決定した1以上の各オブジェクトに対応する1以上のWebページ元情報を取得する。さらに具体的には、Webページ元情報取得部216は、撮影オブジェクト決定部115が決定した1以上の各オブジェクトのオブジェクト識別子を取得する。次に、Webページ元情報取得部216は、取得した1以上のオブジェクト識別子と対になるWebページ識別子を、Webページ情報格納部211から読み出す。ここで、Webページ元情報取得部216が取得したWebページ識別子は、通常、Webページ元情報である。ただし、Webページ元情報は、Webページでも良い。かかる場合、Webページ元情報取得部216は、読み出したWebページ識別子に関するWebページをWebサーバ装置10から取得する。
Webページ元情報取得部216は、通常、MPUやメモリ等から実現され得る。Webページ元情報取得部116の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、情報システム2の動作について説明する。まず、サーバ装置21の動作について説明する。サーバ装置21の動作について、図3で説明したサーバ装置11の動作と異なる点は、ステップS308の動作だけである。
サーバ装置21のWebページ元情報取得部216は、ステップS308において、i番目のオブジェクトのオブジェクト識別子を、撮影オブジェクト決定部115または、オブジェクト情報格納部111から取得する。そして、Webページ元情報取得部216は、取得したオブジェクト識別子と対になるWebページ識別子を、Webページ情報格納部211から読み出す。
なお、Webサーバ装置10、および端末装置12の動作については、実施の形態1で説明した。
以上、本実施の形態によれば、カメラで撮影しているオブジェクトを認識し、かかるオブジェクトに関するWebページを出力することができる。したがって、ユーザは、自分の目で見ている建物やランドマークや公園などのWebページを非常に簡単に得ることができる。
なお、本実施の形態によれば、サーバ装置21がWebページ識別子(URLなど)を管理することにより、撮影オブジェクトのWebページを高速に取得できる。
さらに、本実施の形態におけるサーバ装置21を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、オブジェクトを識別するオブジェクト識別子と、当該オブジェクトが存在する領域を示す領域情報とを有するオブジェクト情報を、1以上格納しており、かつ、記録媒体に、オブジェクト識別子とWebページを識別するWebページ識別子とを有するWebページ情報を、1以上格納しており、
コンピュータを、端末装置から、当該端末装置の位置を示す位置情報と当該端末装置が向いている方向を示す方向情報とを有する端末情報を受信するサーバ受信部と、前記端末情報が有する位置情報と、前記端末情報が有する方向情報と、予め格納されているまたは前記端末情報が有する視野角とを、前記記録媒体の各オブジェクト情報の領域情報に適用し、前記端末装置が撮影している1以上のオブジェクトを決定する撮影オブジェクト決定部と、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のWebページ識別子または前記1以上のWebページ識別子に対応する1以上のWebページである1以上のWebページ元情報を取得するWebページ元情報取得部と、前記1以上のWebページ元情報を、前記端末装置に送信するサーバ送信部として機能させるためのプログラム、である。
(実施の形態3)
本実施の形態において、カメラ(ビデオカメラを含む)で撮影しているランドマークや店舗などに関するWebページを自動取得し、出力する情報システムについて説明する。
また、本実施の形態において、端末装置側でWebページを検索することが、実施の形態1と異なる点である。また、端末装置側でWebページを検索する場合、ユーザが入力したキーワードをも用いて、Webページを検索できる。
本実施の形態における情報システム1の概念図は、符号が異なるだけで、図1と同様である。
図19は、本実施の形態における情報システム3のブロック図である。情報システム3は、1以上のWebサーバ装置10、サーバ装置11、および1以上の端末装置32を具備する。
サーバ装置11は、オブジェクト情報格納部111、サーバ受信部112、サーバ着目判断部113、距離算出部114、撮影オブジェクト決定部115、Webページ元情報取得部116、およびサーバ送信部117を具備する。
端末装置32は、受付部321、カメラ部122、端末情報取得部123、端末着目判断部124、送信部125、受信部126、Webページ取得部322、および出力部327を具備する。端末情報取得部123は、位置情報取得手段1231、および方向情報取得手段1232を具備する。
受付部321は、1以上のキーワードを受け付ける。また、受付部321は、受付部121と同様、ユーザの指示やデータなどを受け付ける。キーワードや指示やデータなどの入力手段は、キーボードやマウスやメニュー画面によるもの等、何でも良い。受付部321は、キーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
Webページ取得部322は、1以上のオブジェクト識別子を用いて1以上のWebページを検索する。また、Webページ取得部322は、受信部126が受信した1以上のオブジェクト識別子と、1以上のキーワードとを用いて、Webページを検索することは好適である。Webページ取得部322は、いわゆるWebの検索エンジンである。Webページ取得部322の処理は公知技術であるので詳細な説明は省略する。Webページ取得部322は、通常、MPUやメモリ等から実現され得る。Webページ取得部322の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
出力部327は、カメラ部122が取得した映像を出力するカメラ映像出力手段1271を具備する。出力部327は、Webページ取得部322が検索した1以上のWebページを出力する。出力部327は、URLのリストの出力後に、ユーザの指示に対応するWebページを出力しても良い。出力部327は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部327は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
次に、情報システム3の動作について説明する。Webサーバ装置10、およびサーバ装置11の動作については、実施の形態1で説明した。従って、端末装置32の動作について、図20のフローチャートを用いて説明する。図20のフローチャートにおいて、図9のフローチャートと同一のステップについて、その説明を省略する。
(ステップS2001)受信部126は、受信したWebページ元情報を、図示しないバッファに一時蓄積する。
(ステップS2002)受付部321は、ユーザからキーワードを受け付けたか否かを判断する。キーワードを受け付ければステップS2003に行き、キーワードを受け付けなければステップS901に戻る。
(ステップS2003)Webページ取得部322は、ステップS2001で一時蓄積したWebページ元情報を読み出す。なお、読み出すWebページ元情報は、通常、最新のWebページ元情報である。
(ステップS2004)Webページ取得部322は、ステップS2002で受け付けたキーワード、およびステップS2001で受信したWebページ元情報を用いて、Webページを検索する。なお、Webページ取得部322は、キーワードとWebページ元情報とをどのように用いて、Webページを検索しても良い。Webページ取得部322は、通常、キーワード、およびWebページ元情報(例えば、オブジェクト名)との両方をキーワードとして、Webページを検索する。
(ステップS2005)出力部327は、ステップS2004における検索結果を出力する。検索結果は、通常、Webページであるが、Webページを取得するためのURLなどでも良い。
なお、図20のフローチャートのステップS2002において、ユーザからキーワードが入力されない場合、ステップS901に戻った。しかし、ユーザからキーワードが入力されない場合、Webページ元情報を用いて、Webページを検索しても良い。
また、図20のフローチャートにおいて、ユーザの指示により、Webページ元情報を用いてWebページを検索し、出力しても良い。また、図20のフローチャートにおいて、ユーザの指示により、Webページ元情報とユーザ入力のキーワードとを用いてWebページを検索し、出力しても良い。つまり、ユーザの指示により、端末情報をサーバ装置に送信するようにしても良い。
さらに、図20のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以下、本実施の形態における情報システム3の具体的な動作について説明する。情報システム3の概念図は図1と同様である。以下、オブジェクトの高さまでは考慮せず、オブジェクトの平面的な情報のみを考慮して、撮影されている映像の中に含まれるオブジェクトを認識し、当該オブジェクトに対応付けられるWebページを出力する態様について説明する。ただし、オブジェクトの高さをも考慮して、撮影されている映像の中に含まれるオブジェクトを認識し、当該オブジェクトに対応付けられるWebページを出力する態様でも適用可能であることは、実施の形態1等で示した通りである。また、以下、着目判断処理は行わない態様について説明する。ただし、実施の形態1等で示した通り、サーバ装置11または端末装置32において、着目判断処理を行っても良いことは言うまでもない。
今、サーバ装置11のオブジェクト情報格納部111は、図10に示すオブジェクト情報管理表を保持している。また、端末装置12は、ここでは、2つのディスプレイを有する端末である、とする。
かかる場合、ユーザは、端末装置12を起動した、とする。すると、受付部121は、起動指示を受け付ける。そして、カメラ部122は、カメラ映像を取得する。そして、出力部127のカメラ映像出力手段1271は、カメラ部122が取得した映像を出力する。すると、図11に示すように、端末装置32の第一のディスプレイ(上部のディスプレイ)に、外界の映像が出力される。
そして、実施の形態1で説明した処理により、端末装置32の端末情報取得部123は、端末情報(X,Y,θA,θa)を構成した、とする。
次に、端末装置32の送信部125は、構成した端末情報(X,Y,θA,θa)をサーバ装置11に送信する。
そして、サーバ装置11のサーバ受信部112は、端末装置12から、端末情報(X,Y,θA,θa)を受信する。
次に、撮影オブジェクト決定部115は、実施の形態1で説明した処理により、撮影オブジェクトを決定する。そして、撮影オブジェクト決定部115は、撮影オブジェクトの識別子の集合「1,3,25」が得られた、とする。
次に、撮影オブジェクト決定部115は、撮影オブジェクトの識別子の集合「1,3,25」の中で、端末情報が有する位置情報(X,Y)と最も近い距離にあるオブジェクトを、識別子「1」のオブジェクトである、と決定した、とする。なお、撮影オブジェクト決定部115は、各撮影オブジェクトの位置情報と端末情報が有する位置情報(X,Y)とを用いて算出されている距離を用いて、識別子「1」のオブジェクトを決定する。
次に、Webページ元情報取得部116は、撮影オブジェクトの識別子が格納されているバッファから、1番目の撮影オブジェクトの識別子「1」を取得する。そして、Webページ元情報取得部116は、撮影オブジェクトの識別子「1」に対応するオブジェクト名「コーヒーショップA」を取得する。ここで、Webページ元情報はオブジェクト名である、とする。
次に、サーバ送信部117は、Webページ元情報取得部116が取得したWebページ元情報「コーヒーショップA」を端末装置12に送信する。
次に、端末装置12の受信部126は、端末情報の送信に対応して、Webページ元情報「コーヒーショップA」を受信する。
そして、ユーザは、図21に示すように、端末装置12上の検索画面のキーワード入力フィールド2101に、キーワード「評判」を入力し、検索ボタン2102を押下した、とする。
次に、Webページ取得部322は、Webページ元情報「コーヒーショップA」と、キーワード「評判」とを用いて、Webページを検索する。つまり、例えば、Webページ取得部322は、「コーヒーショップA 評判」の2つのキーワードを用いて、Web検索する。
そして、コーヒーショップAの評判に関するWebページが検索でき、出力部327は、当該Webページを出力する。
以上、本実施の形態によれば、撮影されているオブジェクトに対するWebページを出力できる。
また、本実施の形態によれば、ユーザが入力したキーワードと、撮影されているオブジェクトに関する情報とを用いて、Webページを検索し、出力できる。
なお、本実施の形態の具体例において、ユーザがキーワードを入力しなかった場合、例えば、Webページ取得部322は、Webページ元情報「コーヒーショップA」のみを用いて、Web検索する。
さらに、本実施の形態における端末装置32を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報とを有する端末情報を取得する端末情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力するカメラ映像出力手段を具備する出力部と、前記端末情報取得部が取得した端末情報をサーバ装置に送信する送信部と、前記端末情報の送信に対応して、前記1以上のWebページ元情報を受信する受信部と、前記1以上のWebページ元情報に対応する1以上のWebページを取得するWebページ取得部として機能させ、前記出力部は、前記Webページ取得部が取得した1以上のWebページをも出力するものとして、コンピュータを機能させるためのプログラムである。
(実施の形態4)
本実施の形態において、実施の形態1の情報システム1の処理をスタンドアロンの端末装置で実現する場合について説明する。
図22は、本実施の形態における端末装置4のブロック図である。
端末装置4は、オブジェクト情報格納部111、受付部121、端末情報取得部123、カメラ部122、撮影オブジェクト決定部115、Webページ元情報取得部116、Webページ取得部322、および出力部127を具備する。
端末情報取得部123は、位置情報取得手段1231、方向情報取得手段1232およびを具備する。また、出力部127は、カメラ映像出力手段1271を具備する。
次に、端末装置4の動作について、図23のフローチャートを用いて説明する。図23のフローチャートにおいて、図3、図9、または図20のフローチャートと同一のステップについて、その説明を省略する。
(ステップS2301)Webページ取得部322は、ステップS2002で受け付けたキーワード、およびステップS308で取得したWebページ元情報を用いて、Webページを検索する。
(ステップS2302)Webページ取得部322は、ステップS308で取得したWebページ元情報を用いて、Webページを検索する。
なお、図23のフローチャートにおいて、ステップS308で一のWebページ元情報のみを取得したり、別途、一のWebページ元情報を選択して、ステップS2301またはステップS2302で、一のWebページ元情報のみを用いて、Web検索したりすることは好適である。かかる場合、選択されるWebページ元情報は、例えば、撮影オブジェクトの中で、最も画面の中心に近い位置のオブジェクトであったり、最もサイズが大きいオブジェクトであることは好適である。
また、図23のフローチャートにおいて、複数のWebページ元情報が存在する場合、Webページ元情報ごとに、Web検索することは好適である。
さらに、図23のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
以上、本実施の形態によれば、カメラで撮影しているオブジェクトを認識し、かかるオブジェクトに関するWebページを出力することができる。したがって、ユーザは、自分の目で見ている建物やランドマークや公園などのWebページを非常に簡単に得ることができる。
また、本実施の形態によれば、サーバ装置との通信が必要ないので、高速にカメラで撮影しているオブジェクトを認識できる。
なお、本実施の形態における端末装置4を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記憶媒体に、オブジェクトを識別するオブジェクト識別子と、当該オブジェクトが存在する領域を示す領域情報とを有するオブジェクト情報を、1以上格納しており、コンピュータを、端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報と、視野角とを有する端末情報を取得する端末情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力するカメラ映像出力手段を具備する出力部と、前記端末情報が有する位置情報と方向情報と視野角とを、前記記憶媒体の各オブジェクト情報の領域情報に適用し、前記端末装置が撮影している1以上のオブジェクトを決定する撮影オブジェクト決定部と、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上のWebページを取得するための情報である1以上のWebページ元情報を取得するWebページ元情報取得部と、前記1以上のWebページ識別子で識別されるWebページを取得するWebページ取得部として機能させ、前記出力部は、前記1以上のWebページ元情報に対応するWebページをも出力するものとして、コンピュータを機能させるためのプログラム、である。
また、上記プログラムにおいて、コンピュータを、キーワードを受け付ける受付部としてさらに機能させ、前記Webページ取得部は、前記オブジェクト識別子取得部が取得した1以上のWebページ元情報と、前記キーワードとを用いて、Webページを検索し、前記出力部は、前記Webページ取得部が検索したWebページをも出力するものとして、コンピュータを機能させるためのプログラムであることは好適である。
また、図24は、本明細書で述べたプログラムを実行して、上述した実施の形態のサーバ装置、または端末装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図24は、このコンピュータシステム340の概観図であり、図25は、コンピュータシステム340のブロック図である。
図24において、コンピュータシステム340は、FDドライブ、CD−ROMドライブを含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図25において、コンピュータ341は、FDドライブ3411、CD−ROMドライブ3412に加えて、MPU3413と、CD−ROMドライブ3412及びFDドライブ3411に接続されたバス3414と、ブートアッププログラム等のプログラムを記憶するためのROM3415とに接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3416と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3417とを含む。ここでは、図示しないが、コンピュータ341は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
コンピュータシステム340に、上述した実施の形態のサーバ装置等の機能を実行させるプログラムは、CD−ROM3501、またはFD3502に記憶されて、CD−ROMドライブ3412またはFDドライブ3411に挿入され、さらにハードディスク3417に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ341に送信され、ハードディスク3417に記憶されても良い。プログラムは実行の際にRAM3416にロードされる。プログラムは、CD−ROM3501、FD3502またはネットワークから直接、ロードされても良い。
プログラムは、コンピュータ341に、上述した実施の形態のサーバ装置等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム340がどのように動作するかは周知であり、詳細な説明は省略する。
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信するステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
また、上記各実施の形態において、一の装置に存在する2以上の通信手段(送信部、受信部など)は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。