以下、情報システム等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
(実施の形態1)
本実施の形態において、撮影しているオブジェクトに対応する広告情報を出力する情報システムについて説明する。
また、本実施の形態において、カメラで撮影しているオブジェクトを決定するアルゴリズムについて、当該決定のための処理の終了条件が種々あり得る。
また、本実施の形態において、広告は、対応するオブジェクトの位置に出力される場合もあるし、対応するオブジェクトとは別の領域(例えば、広告領域)に出力される場合もある。
さらに、本実施の形態において、広告の出力履歴を残したり、広告の出力回数に応じた課金を行ったりする情報システムについて説明する。
図1は、本実施の形態における情報システム1の概念図である。情報システム1は、サーバ装置11、端末装置12を具備する。端末装置12は、図1に示すように、2画面のディスプレイを有する端末でも良いし、1画面のディスプレイを有する端末でも良い。端末装置12は、カメラ機能を有し、外部の風景、建物などを撮影している際に、撮影している映像内のオブジェクト(建物など)の領域や、オブジェクトに関連する広告などを出力できる。また、サーバ装置11、および端末装置12は、通常、通信可能である。また、情報システム1において、2以上の端末装置12を具備していても良い。
図2は、本実施の形態における情報システム1のブロック図である。図3は、情報システム1を構成する端末装置12のブロック図である。
サーバ装置11は、オブジェクト情報格納部1101、広告管理情報格納部1102、広告送信履歴情報格納部1103、サーバ受信部1104、距離算出部1105、撮影オブジェクト決定部1106、広告情報取得部1107、サーバ送信部1108、広告送信履歴情報構成部1109、広告送信履歴情報蓄積部1110、および課金処理部1111を具備する。
端末装置12は、受付部121、カメラ部122、端末情報取得部123、送信部124、受信部125、出力部126、および出力固定部127を具備する。また、端末情報取得部123は、位置情報取得手段1231、方向情報取得手段1232を具備する。さらに、出力部126は、カメラ映像出力手段1261を具備する。
サーバ装置11を構成するオブジェクト情報格納部1101は、1以上のオブジェクト情報を格納し得る。オブジェクト情報は、オブジェクト識別子と、オブジェクトが存在する領域を示す領域情報とを有する情報である。オブジェクトとは、通常、地図上または地理上に現れるオブジェクトである地理オブジェクトである。オブジェクトは、例えば、店舗、建物、山、川、名勝、公園などである。オブジェクトは、例えば、ビルの中の店舗や会社などでも良い。オブジェクトは、地図上または地理上に現れるものであれば、内容は問わない。オブジェクト情報格納部1101は、地図情報を格納していても良い。かかる場合、地図情報は1以上のオブジェクト情報を含む。オブジェクト識別子とはオブジェクトを識別する情報であり、例えば、オブジェクトの名称、オブジェクトを識別するID、オブジェクトについての情報が格納されているウェブページのURL、URIなどである。領域情報とは、通常、二次元の領域の情報である。ただし、三次元の領域の情報でも、一次元の情報(点の情報)でも良い。つまり、領域情報はオブジェクトの位置(点)を特定する位置情報(X,Y)でも良い。この(X,Y)は、例えば、(緯度,経度)であり、例えば、オブジェクトの領域の重心点を示す情報である。領域が矩形であるとする場合、領域情報は、例えば、矩形の左上点、右下点の位置情報(経度,緯度)の情報である。さらに、領域情報は、例えば、三次元のオブジェクトの立体図形(例えば、6面体)の頂点を構成する点(8点)の集合や、立体図形(例えば、6面体)の高さを有する4点の集合などである。領域情報が三次元の領域の情報である場合、通常、領域情報は、地図上での二次元の領域を示す二次元領域情報とオブジェクトの高さを示す高さ情報を有する。
オブジェクト情報格納部1101は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。オブジェクト情報格納部1101にオブジェクト情報が記憶される過程は問わない。例えば、記録媒体を介してオブジェクト情報がオブジェクト情報格納部1101で記憶されるようになってもよく、通信回線等を介して送信されたオブジェクト情報がオブジェクト情報格納部1101で記憶されるようになってもよく、あるいは、入力デバイスを介して入力されたオブジェクト情報がオブジェクト情報格納部1101で記憶されるようになってもよい。
広告管理情報格納部1102は、1以上の広告管理情報を格納し得る。広告管理情報は、オブジェクト識別子と広告情報とを有する。広告情報は、広告の情報であり、静止画でも、動画でも、テキストでも、音声でも、それらの組み合わせの情報等でも良い。つまり、広告情報のデータタイプは問わない。広告管理情報格納部1102は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。広告管理情報格納部1102に広告管理情報が記憶される過程は問わない。
広告送信履歴情報格納部1103は、1以上の広告送信履歴情報を格納し得る。広告送信履歴情報は、オブジェクト広告情報を1以上の端末装置12に送信した履歴を示す情報であり、送信回数が判断できる情報を含む情報である。広告送信履歴情報は、広告の利用実績の分析に利用したり、広告主に課金するため等に利用したりされる。なお、送信回数が判断できる情報とは、送信回数そのものでも良いし、送信した事実を示す情報などでも良い。広告送信履歴情報格納部1103は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
サーバ受信部1104は、端末装置12から端末情報を受信する。端末情報は、端末装置12の位置を示す位置情報と端末装置12が向いている方向を示す方向情報とを有する情報である。また、端末情報は、視野角を有することは好適である。位置情報とは、通常、(緯度,経度)の情報であるが、空間内の位置を示す情報でも良い。空間内の位置を示す情報は、例えば、(緯度,経度、高度)である。方向情報は、東西南北などの方位の情報を含んでも良い。また、方向情報は、端末の向き(上向き、下向きなど)を含んでも良い。方向情報は、例えば、56.2°(北を0°、東を90°とする方位)や、南南西などである。方向情報は、例えば、高さ方向の角度を含んでも良い。また、方向情報は、例えば、(Yaw,Pitch,Roll)などでも良い。(Yaw,Pitch,Roll)の「Yaw」は垂直軸に対する角度や先端の左右の揺れの度合い(長さなど)、「Pitch」は横軸に対する角度や先端の上下の揺れの度合い、「Roll」は縦軸に対する角度や端末装置12全体の左右の揺れの度合いである。なお、位置情報とは、例えば、GPS受信機により取得される。また、方向情報とは、例えば、コンパス、またはコンパスとジャイロにより取得される。方向情報や位置情報を取得する手段は問わない。さらに、端末情報は、端末装置12を識別する端末識別子(例えば、情報の送受信に用いられるIPアドレスや、電話番号や、IDや、MACアドレスなど)も含むことは好適である。サーバ受信部1104は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
距離算出部1105は、オブジェクト情報格納部1101の1以上のオブジェクト情報に対応するオブジェクトと端末装置12との距離を、各オブジェクトのオブジェクト情報と端末情報が有する位置情報とから、オブジェクトごとに算出する。距離算出部1105は、例えば、サーバ受信部1104が受信した端末情報が有する位置情報と、各オブジェクトの領域情報から得られるオブジェクトの位置情報とから、オブジェクトと端末装置12との距離を算出する。ここで、距離とは、領域の重心の点と、端末情報が有する位置情報が示す位置との距離、領域のいずれかの点と端末情報が有する位置情報が示す位置との距離、端末情報が有する位置情報が示す位置に最も近い領域内の点との距離などでも良い。つまり、距離の算出方法は種々あり得る。また、オブジェクトの位置情報は、オブジェクトの領域情報から生成された情報でも良いし、領域情報とは別にオブジェクト情報に含まれる情報でも良い。位置情報は、例えば、領域情報から得られる領域の重心である。距離算出部1105は、通常、MPUやメモリ等から実現され得る。距離算出部1105の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
撮影オブジェクト決定部1106は、端末情報が有する位置情報と、端末情報が有する方向情報と、予め格納されているまたは端末情報が有する視野角とを、オブジェクト情報格納部1101の各オブジェクト情報の領域情報に適用し、端末装置12が撮影している1以上のオブジェクトを決定する。視野角とは、カメラ部122が撮影可能な角度であり、平面上の角度でも良いし、高さ方向を含めた立体的な角度でも良い。立体的な角度とは、例えば、平面上の角度(θ1)と高さ方向の角度(θ2)とにより得られる。また、視野角は、撮影オブジェクト決定部1106が予め格納していても良いし、端末情報に含まれていても良い。ここで、「オブジェクトを決定する」とは、オブジェクト識別子を取得することでも良いし、オブジェクト情報の全部または一部を取得することでも良いし、オブジェクト情報を管理しているテーブルのレコードIDを取得すること等でも良い。つまり、「オブジェクトを決定する」とは、オブジェクトを特定する情報を取得することであれば良い。
撮影オブジェクト決定部1106は、端末装置12からの距離が近い順にオブジェクトを検査し、端末装置12が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合に、オブジェクトが端末装置12に撮影されているか否かの検査を終了することは好適である。
また、撮影オブジェクト決定部1106は、端末情報が有する位置情報および方向情報と、予め格納されているまたは端末情報が有する視野角とを用いて、三次元空間上での撮影領域を取得し、撮影領域を、オブジェクト情報格納部1101の各オブジェクト情報が有する領域情報に対して適用し、端末装置12が撮影している1以上のオブジェクトを決定し、端末装置12からの距離が近い順にオブジェクトを検査し、端末装置12が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合に、オブジェクトが端末装置12に撮影されているか否かの検査を終了することは好適である。
また、撮影オブジェクト決定部1106は、端末装置12からの距離が近い順にオブジェクトに対応するオブジェクト情報をソートし、端末装置12からの距離が近い順にオブジェクトを検査し、端末装置12が撮影している1以上のオブジェクトを決定することは好適である。
また、撮影オブジェクト決定部1106は、端末装置12からの距離が近い順にオブジェクトを検査し、端末装置12が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域のオブジェクトであり、かつ、端末装置12からの距離が閾値以内のオブジェクトのみを検査し、端末装置12が撮影している1以上のオブジェクトを決定することは好適である。
また、撮影オブジェクト決定部1106は、端末装置12からの距離が近い順にオブジェクトを検査し、端末装置12が撮影しているとして決定したオブジェクトの数が閾値になった場合に、検査を終了することは好適である。
さらに、撮影オブジェクト決定部1106は、例えば、カメラ部122が撮影した映像の中で、端末装置12から最も距離が近い位置に存在するオブジェクトの撮影オブジェクト、またはカメラ部122が撮影した映像の中で最も中央寄りに位置するオブジェクトの撮影オブジェクト、またはカメラ部122が撮影した映像の中で最も大きい領域(平面上または立体上)を有するオブジェクトの撮影オブジェクトを決定しても良い。
なお、撮影オブジェクト決定部1106は、さらに具体的には、例えば、後述する図5のフローチャートに示すようなアルゴリズムで、端末装置12が撮影している1以上のオブジェクトを決定することは好適である。
撮影オブジェクト決定部1106は、通常、MPUやメモリ等から実現され得る。撮影オブジェクト決定部1106の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
広告情報取得部1107は、撮影オブジェクト決定部1106が決定した1以上の各オブジェクトに対応する1以上の広告情報を、広告管理情報格納部1102から取得する。
広告情報取得部1107は、撮影オブジェクト決定部1106が決定した1以上の各オブジェクトに対応する広告情報を広告管理情報格納部1102から取得し、かつ、1以上の各オブジェクトに対応する領域情報をオブジェクト情報格納部1101から取得しても良い。また、広告情報取得部1107は、さらに、取得した領域情報と端末情報(視野角とカメラの画面サイズ、または視野角とカメラの画面サイズとフォーカスの情報)とから、当該領域情報に対応するカメラ上の表示領域情報を算出しても良い。(正しいでしょうか?)広告情報取得部1107は、通常、MPUやメモリ等から実現され得る。広告情報取得部1107の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
サーバ送信部1108は、広告情報取得部1107が取得した1以上の広告情報を有する1以上のオブジェクト広告情報を、端末装置12に送信する。オブジェクト広告情報は、例えば、広告情報と、領域情報または領域情報に対応するカメラ上の表示領域情報とを有する情報である。なお、オブジェクト広告情報は広告情報のみでも良い。サーバ送信部1108は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
広告送信履歴情報構成部1109は、サーバ送信部1108がオブジェクト広告情報を端末装置12に送信した場合、広告送信履歴情報を構成する。広告送信履歴情報とは、例えば、オブジェクト広告情報の送信時刻、送信した端末装置12の種類(ナビ、携帯、メーカーなど)、送信した広告情報、端末装置12の識別子(電話番号やMACアドレスやIPアドレスなど)などである。なお、端末装置12の種類や端末装置12の識別子は、受信された端末情報に含まれる。また、広告送信履歴情報は、通常、広告情報または広告情報を特定する情報は含まれる。広告送信履歴情報構成部1109は、通常、MPUやメモリ等から実現され得る。広告送信履歴情報構成部1109の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
広告送信履歴情報蓄積部1110は、広告送信履歴情報構成部1109が構成した広告送信履歴情報を広告送信履歴情報格納部1103に蓄積する。広告送信履歴情報蓄積部1110は、通常、MPUやメモリ等から実現され得る。広告送信履歴情報蓄積部1110の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
課金処理部1111は、広告送信履歴情報格納部1103の1以上の広告送信履歴情報を用いて、課金処理を行う。課金処理とは、図示しない課金サーバに広告送信履歴情報や課金のための情報を送信する処理でも良いし、広告主への課金料金を算出する処理でも良い。つまり、課金処理は、課金に関する処理であれば何でも良い。課金処理は公知技術であるので、詳細な説明は省略する。課金処理部1111は、通常、MPUやメモリ等から実現され得る。課金処理部1111の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
受付部121は、ユーザから、指示やデータ等の入力を受け付ける。各種の指示とは、例えば、端末装置12の起動指示、カメラ部122に対する各種の指示などである。指示やデータ等の入力手段は、キーボードやマウスやテンキーやメニュー画面によるもの等、何でも良い。受付部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が取得した端末情報をサーバ装置11に送信する。送信部124は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
受信部125は、端末情報の送信に対応して、1以上のオブジェクト広告情報を受信する。受信部125は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
出力部126は、カメラ部122が取得した映像を出力するカメラ映像出力手段1261を具備する。出力部126は、1以上のオブジェクト広告情報が有する広告情報をも出力しても良い。
出力部126は、1以上のオブジェクト広告情報が有する広告情報を、1以上のオブジェクト広告情報が有する領域情報に対応する表示領域情報または1以上のオブジェクト広告情報が有する表示領域情報が示すカメラ上の領域に出力しても良い。
出力部126は、1以上のオブジェクト広告情報が有する広告情報を、1以上のオブジェクト広告情報が有する領域情報に対応する表示領域情報または1以上のオブジェクト広告情報が有する表示領域情報が示すカメラ上の領域以外の領域に出力し、かつ、1以上のオブジェクト広告情報が有する領域情報に対応する表示領域情報または1以上のオブジェクト広告情報が有する表示領域情報が示すオブジェクトを、他のオブジェクトと視覚的に区別できる態様で出力しても良い。ここで視覚的に区別できる態様とは、例えば、当該オブジェクトのみを太い枠で囲むこと、当該オブジェクトのみの背景色を変更すること、当該オブジェクトのみに目印の図形を付与すること等である。出力部126は、例えば、カメラ部122が取得した映像を第一のディスプレイに出力し、広告情報を第二のディスプレイに出力しても良い。
ここで、出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である。出力部126は、ディスプレイ等の出力デバイスを含むと考えても含まないと考えても良い。出力部126は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
カメラ映像出力手段1261は、カメラ部122が取得した映像を出力する。
出力固定部127は、受付部121が指示(出力固定指示)を受け付けた場合、出力部126が出力中の映像と広告情報を固定する。ここで、固定とは、Pause、Resumeのことである。つまり、固定とは、カメラのアングルを動かしても、画面上に出力されている映像や広告情報などは動かない、という意味である。そして、出力固定部127は、出力部126が出力中の映像と広告情報を、少なくとも一時的に、図示しない記憶媒体に記録する。なお、出力中の映像などを固定する技術は、いわゆるビデオムービーなどの機能と同様であり、公知技術である。出力固定部127は、通常、MPUやメモリ等から実現され得る。出力固定部127の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
次に、情報システム1の動作について説明する。まず、サーバ装置11の動作について、図4のフローチャートを用いて説明する。
(ステップS401)サーバ受信部1104は、端末装置12から、端末情報を受信したか否かを判断する。端末情報を受信すればステップS402に行き、端末情報を受信しなければステップS412に行く。
(ステップS402)撮影オブジェクト決定部1106は、ステップS401で受信された端末情報を用いて、当該端末情報が有する位置情報および/または方向情報を、オブジェクト情報格納部1101の各オブジェクト情報の領域情報に適用し、端末装置12が撮影している(端末装置12のディスプレイに映っている)1以上のオブジェクトを決定する。かかる処理を撮影オブジェクト決定処理という。なお、撮影オブジェクト決定部1106は、予め格納されている視野角をも用いて、端末装置12が撮影している1以上のオブジェクトを決定することは好適である。なお、端末装置12が撮影しているオブジェクトを撮影オブジェクトとも言う。撮影オブジェクト決定処理について、図5のフローチャートを用いて説明する。
(ステップS403)広告情報取得部1107は、カウンタiに1を代入する。
(ステップS404)広告情報取得部1107は、ステップS402で決定された撮影オブジェクトの中に、i番目の撮影オブジェクトが存在するか否かを判断する。i番目の撮影オブジェクトが存在すればステップS405に行き、i番目の撮影オブジェクトが存在しなければステップS409に行く。
(ステップS405)広告情報取得部1107は、i番目の撮影オブジェクトに対応する広告情報を、広告管理情報格納部1102から検索する。例えば、ステップS402でオブジェクト識別子などのオブジェクトを特定する情報が記録媒体に一時格納されており、かかるオブジェクトを特定する情報のうちのi番目の撮影オブジェクトを特定する情報をキーとして、広告管理情報格納部1102を検索する。
(ステップS406)広告情報取得部1107は、ステップS405で1以上の広告情報を取得したか否かを判断する。広告情報を取得すればステップS407に行き、広告情報を取得しなければステップS408に行く。
(ステップS407)広告情報取得部1107は、取得した広告情報を有するオブジェクト広告情報を、記録媒体に一時蓄積する。なお、オブジェクト広告情報は、広告情報とi番目の撮影オブジェクトの領域情報とを有しても良いし、広告情報と、i番目の撮影オブジェクトの領域情報から取得されるカメラ上の表示領域情報を有しても良い。かかる場合、広告情報取得部1107は、i番目の撮影オブジェクトの領域情報から、表示領域情報を算出する。広告情報取得部1107は、i番目の撮影オブジェクトの領域情報である緯度、経度、高さなどの情報を、カメラの画面上の位置(x、y)に変更する。
(ステップS408)広告情報取得部1107は、カウンタiを1、インクリメントする。ステップS404に戻る。
(ステップS409)サーバ送信部1108は、広告情報取得部1107が一時格納した1以上のオブジェクト広告情報を端末装置12に送信する。なお、広告情報取得部1107がオブジェクト広告情報を一時格納しなかった場合、サーバ送信部1108は、その旨を端末装置12に送信しても良い。なお、オブジェクト広告情報が存在しない旨の情報も、オブジェクト広告情報であると考えても良い。
(ステップS410)広告送信履歴情報構成部1109は、広告送信履歴情報を構成する。つまり、例えば、広告送信履歴情報構成部1109は、サーバ送信部1108がオブジェクト広告情報を端末装置12に送信した時刻を図示しない時計から取得する。また、広告送信履歴情報構成部1109は、端末装置12の識別子を、受信された端末情報から取得する。そして、広告送信履歴情報構成部1109は、広告情報が有する広告識別子を取得する。次に、広告送信履歴情報構成部1109は、取得した情報から、広告送信履歴情報を構成する。広告送信履歴情報は、どの広告がいつどのような端末に送信されたかが判断できる情報であることは好適である。ただし、広告送信履歴情報は、送信された広告を識別する情報だけでも良い。
(ステップS411)広告送信履歴情報蓄積部1110は、ステップS410で構成された広告送信履歴情報を広告送信履歴情報格納部1103に蓄積する。
なお、図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
次に、ステップS402の撮影オブジェクト決定処理について、図5のフローチャートを用いて説明する。
(ステップS501)撮影オブジェクト決定部1106は、ステップS401で受信された端末情報が有する位置情報を取得する。
(ステップS502)撮影オブジェクト決定部1106は、ステップS401で受信された端末情報が有する方向情報と、視野角とを用いて、撮影されない角度を取得する。そして、撮影オブジェクト決定部1106は、かかる角度(不可視領域の角度)を記録媒体に登録(記録)する。例えば、方向情報が90度(例えば、真東)であり、視野角が40度である場合、撮影される角度は「70度から110度」である。したがって、撮影オブジェクト決定部1106は、「0<=不可視領域の角度<70」および「110<不可視領域の角度<=360」を登録する。なお、ここで、撮影オブジェクト決定部1106は、撮影される角度(可視領域の角度)を取得し、登録しても良い。つまり、可視領域の角度の登録も、不可視領域の角度の登録と同意義である、とする。
(ステップS503)撮影オブジェクト決定部1106は、ステップS501で取得した位置情報を用いて、端末装置12から近いオブジェクトの順に、オブジェクト情報格納部1101のオブジェクト情報をソートする。かかる処理をオブジェクトソート処理という。オブジェクトソート処理について、図6のフローチャートを用いて説明する。
(ステップS504)撮影オブジェクト決定部1106は、カウンタiに1を代入する。
(ステップS505)撮影オブジェクト決定部1106は、ステップS503でソートされたオブジェクト情報の中に、i番目のオブジェクトが存在するか否かを判断する。i番目のオブジェクトが存在すればステップS506に行き、i番目のオブジェクトが存在しなければ上位処理にリターンする。
(ステップS506)撮影オブジェクト決定部1106は、ソートされたオブジェクト情報の中から、i番目のオブジェクトのオブジェクト情報が有する領域情報を取得する。
(ステップS507)撮影オブジェクト決定部1106は、ステップS501で取得した位置情報と、ステップS505で取得した領域情報とを用いて、i番目のオブジェクトが、撮影オブジェクト(端末装置12のディスプレイに映っている)か否かを判断する。かかる判断を、可視判断処理という。可視判断処理について、図7、図8のフローチャートを用いて説明する。
(ステップS508)撮影オブジェクト決定部1106は、ステップS506における判断の結果、i番目のオブジェクトが撮影オブジェクトであればステップS509に行き、撮影オブジェクトでなければステップS510に行く。
(ステップS509)撮影オブジェクト決定部1106は、少なくとも、i番目のオブジェクトのオブジェクト識別子を図示しない記憶媒体に格納する。なお、ここでは、撮影オブジェクトを決定することは、例えば、オブジェクト識別子を格納することである。
(ステップS510)撮影オブジェクト決定部1106は、登録されている不可視領域、または可視領域から、可視領域が存在するか否かを判断する。可視領域が存在すればステップS511に行き、存在しなければ上位処理にリターンする。なお、かかる判断は、二次元平面において行われても良いし、三次元空間において行われても良い。
(ステップS511)撮影オブジェクト決定部1106は、カウンタiを1、インクリメントする。ステップS505に戻る。
なお、図5のフローチャートにおいて、不可視領域の角度を登録したが、可視領域の角度を登録し、以後、かかる角度に入いるオブジェクトのみを処理対象としても良い。
また、図5のフローチャートのステップS510において、撮影オブジェクト決定部1106は、端末装置12からの距離が近い順(範囲や角度を区切った中のオブジェクトの集合の中での近い順でも良い)にオブジェクトを検査し、端末装置12が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合(すべてが不可視領域になった場合と同意義)に、オブジェクトが端末装置12に撮影されているか否かの検査を終了することを説明した。
また、具体的には、ステップS510の処理は、以下である。つまり、撮影オブジェクト決定部1106は、端末装置12から近い順にオブジェクトを検査し、端末装置12が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報(ここでは、通常、後述の最小角度(θ1)および最大角度(θ2))を不可視領域として登録し、次に検査するオブジェクトと端末装置12とにより不可視領域となる領域の情報を取得し、最小角度(θ3)および最大角度(θ4)により特定される領域のすべてが既に不可視領域として登録されているか否かを判断し、不可視領域として登録されていなければ次に検査するオブジェクトを端末装置12が撮影しているとして決定し、当該最小角度(θ3)および最大角度(θ4)により特定される領域を不可視領域として登録する処理を繰り返し、端末情報が有する視野角すべての領域が不可視領域となった場合に、オブジェクトの検査を終了することである。
さらに、図5のフローチャートにおいて、可視領域が存在しなくなった場合に、撮影されているオブジェクトの検知処理を終了した。しかし、閾値の数だけ、可視領域内のオブジェクトが見つかった場合、予め決められた条件(例えば、病院、レストランなどの特定のジャンルなど)に合致するオブジェクトが見つかった場合、端末装置12の距離から所定以内の距離にあるオブジェクトのみを検査対象とするなど、他の条件により、オブジェクトの検知処理を終了しても良い。
次に、ステップS502のオブジェクトソート処理について、図6のフローチャートを用いて説明する。
(ステップS601)距離算出部1105は、カウンタiに1を代入する。
(ステップS602)距離算出部1105は、オブジェクト情報格納部1101に、i番目のオブジェクトが存在するか否かを判断する。i番目のオブジェクトが存在すればステップS603に行き、i番目のオブジェクトが存在しなければステップS607に行く。
(ステップS603)距離算出部1105は、i番目のオブジェクトの位置情報を、オブジェクト情報格納部1101から取得する。なお、i番目のオブジェクトの位置情報は、i番目のオブジェクトのオブジェクト情報に含まれる。
(ステップS604)距離算出部1105は、端末情報が有する位置情報が示す地点と、ステップS603で取得した位置情報が示す地点との距離を算出する。
(ステップS605)距離算出部1105は、ステップS604で取得した距離とi番目のオブジェクトのオブジェクト情報(またはそのうちの一部の情報)とを対にして、図示しない記録媒体に一時的に格納する。
(ステップS606)距離算出部1105は、カウンタiを1、インクリメントする。ステップS602に戻る。
(ステップS607)撮影オブジェクト決定部1106は、距離をキーとして、距離の近い(小さい)順に、オブジェクト情報をソートする。上位処理にリターンする。
次に、ステップS506の可視判断処理について、図7のフローチャートを用いて説明する。なお、ここでの可視判断処理は、第一の可視判断処理である。第一の可視判断処理は、オブジェクトの平面的な情報のみを用いて、オブジェクトが端末装置12のディスプレイに出力されているか否かを判断する処理である。
(ステップS701)撮影オブジェクト決定部1106は、カウンタiに1を代入する。
(ステップS702)撮影オブジェクト決定部1106は、判断対象となるオブジェクトの領域情報の中にi番目の点が存在するか否かを判断する。i番目の点が存在すればステップS703に行き、i番目の点が存在しなければステップS705に行く。なお、領域情報は、例えば、その外形を示す点から構成されるとする。外形を示す点とは、領域情報が示す領域が4角形であれば4点存在し、8角形であれば8点存在する。点とは、通常、(緯度,経度)または(x座標、y座標)などで示される。
(ステップS703)撮影オブジェクト決定部1106は、i番目の点と位置情報(端末情報が有する位置情報)との角度(θ)を算出し、当該角度(θ)をバッファに一時記憶する。角度(θ)の基準は、例えば、真北である。ただし、基準は一定であれば良く、真北であるとは限らない。なお、上記の位置情報とは、端末装置12の位置を示す情報である。
(ステップS704)撮影オブジェクト決定部1106は、カウンタiを1、インクリメントする。ステップS702に戻る。
(ステップS705)撮影オブジェクト決定部1106は、ステップS703でバッファに一時格納された角度(θ)から、最小の角度(θ1)と最大角度(θ2)とを取得する。
(ステップS706)撮影オブジェクト決定部1106は、ステップS705で取得した最小の角度(θ1)と最大角度(θ2)の領域すべてが、既に登録されている角度の領域であるか否かを判断する。既に登録されている角度の領域であればステップS710に行き、既に登録されている角度の領域を一部でも含まない場合はステップS707に行く。
(ステップS707)撮影オブジェクト決定部1106は、このオブジェクトを撮影オブジェクトであると判断する。リターン値として、撮影オブジェクトである旨の情報(例えば、「1」)を代入する。
(ステップS708)撮影オブジェクト決定部1106は、このオブジェクトを撮影オブジェクトであるとしたために、現在、不可視領域として登録されている角度に加え、最小の角度(θ1)と最大角度(θ2)の領域を不可視領域とする角度の幅(領域)を取得する。なお、例えば、現在、「30度から40度」が登録されており、最小の角度(θ1)が35度であり、最大角度(θ2)が45度である場合、撮影オブジェクト決定部1106は、「30度から45度」を取得する。また、例えば、現在、「30度から40度」が登録されており、最小の角度(θ1)が55度であり、最大角度(θ2)が60度である場合、「55度から60度」を取得する。
(ステップS709)撮影オブジェクト決定部1106は、ステップS708で取得した角度を登録する。なお、例えば、上記において、「30度から45度」は、「30度から40度」の情報に上書きされる。また、例えば、上記において、「55度から60度」が追記される。上位処理にリターンする。このとき、リターン値(撮影オブジェクトを示す値)も返される。
(ステップS710)撮影オブジェクト決定部1106は、撮影オブジェクト決定部1106は、このオブジェクトを非撮影オブジェクトであると判断する。リターン値として、非撮影オブジェクトである旨の情報(例えば、「0」)を代入する。上位処理にリターンする。このとき、リターン値(非撮影オブジェクトを示す値)も返される。
次に、ステップS506の可視判断処理について、図8のフローチャートを用いて説明する。なお、ここでの可視判断処理は、第二の可視判断処理である。第二の可視判断処理は、オブジェクトの立体的な情報のみを用いて、オブジェクトが端末装置12のディスプレイに出力されているか否かを判断する処理である。図8のフローチャートにおいて、図7のフローチャートと同様のステップについて、説明を省略する。
(ステップS801)撮影オブジェクト決定部1106は、i番目の点(x1,y1,z1)と位置情報(x0,y0,z0)との高さ方向の角度(θh)を算出し、バッファに格納する。
(ステップS802)撮影オブジェクト決定部1106は、視点(位置情報)からの高さ方向の角度(θ3)を取得する。θ3は、ステップS801で格納したθhのうち、最大の角度である。
(ステップS803)撮影オブジェクト決定部1106は、最小の角度(θ1)と最大角度(θ2)の領域において、高さ方向の角度(θ3)以上の角度が既に、登録されているか否かを判断する。登録されていればステップS710に行き、登録されていなければステップS707に行く。高さ方向の角度(θ3)以上の角度が既に登録されている場合は、対象となるオブジェクトは不可視領域にあり、撮影オブジェクトではないことを示す。
(ステップS804)撮影オブジェクト決定部1106は、このオブジェクトを撮影オブジェクトであるとしたために、現在、不可視領域として登録されている角度に加え、最小角度(θ1)と最大角度(θ2)の平面領域を不可視領域とする角度の幅(領域)を取得する。なお、例えば、現在、「30度から40度」が登録されており、最小の角度(θ1)が35度であり、最大角度(θ2)が45度である場合、撮影オブジェクト決定部1106は、「30度から45度」を取得する。
(ステップS805)撮影オブジェクト決定部1106は、このオブジェクトを撮影オブジェクトであるとしたために、高さ方向の角度(θ3)を取得する。なお、例えば、現在、最小の角度(θ1)と最大角度(θ2)の平面領域において、高さの角度「30度」が登録されている場合、取得した高さ方向の角度(θ3)が「35度」であれば、「35度」を取得する。
(ステップS806)撮影オブジェクト決定部1106は、ステップS804で取得した平面領域の角度(例えば、「30度から45度」)と、高さ方向の角度(例えば、「35度」)を対応付けて蓄積(登録)する。上位処理にリターンする。このとき、リターン値も返される。なお、撮影オブジェクト決定部1106は、最小角度(θ1)と最大角度(θ2)の平面領域において、現在、不可視領域として登録されている高さ方向の角度が、高さ方向の角度(θ3)以上であるか否かを判断し、高さ方向の角度(θ3)以上であれば、高さ方向の角度(θ3)を蓄積しない。
次に、端末装置12の動作について、図9のフローチャートを用いて説明する。
(ステップS901)受付部121は、指示等を受け付けたか否かを判断する。指示等を受け付ければステップS902に行き、指示等を受け付けなければステップS901に戻る。
(ステップS902)受付部121は、ステップS901で受け付けた指示が起動指示であるか否かを判断する。起動指示であればステップS903に行き、起動指示でなければステップS912に行く。なお、起動指示とは、端末装置12の起動の指示である。
(ステップS903)カメラ部122は、カメラ映像を取得する。
(ステップS904)出力部126のカメラ映像出力手段1261は、カメラ部122が取得した映像を出力する。
(ステップS905)端末情報取得部123の位置情報取得手段1231は、端末装置12の位置を示す位置情報を取得する。
(ステップS906)方向情報取得手段1232は、端末装置12が向いている方向を示す方向情報を取得する。
(ステップS907)端末情報取得部123は、ステップS905で取得した位置情報と、ステップS906で取得した方向情報とを有する端末情報を構成する。なお、端末情報取得部123は、予め格納している視野角を含む端末情報を構成することは好適である。
(ステップS908)送信部124は、ステップS907で構成した端末情報をサーバ装置11に送信する。
(ステップS909)受信部125は、端末情報の送信に対応して、オブジェクト広告情報を受信したか否かを判断する。オブジェクト広告情報を受信すればステップS910に行き、オブジェクト広告情報を受信しなければステップS909に戻る。なお、ここで、一定時間以上、オブジェクト広告情報を受信しなければ、ステップS911に行くことは好適である。
(ステップS910)出力部126は、ステップS909で受信したオブジェクト広告情報を出力する処理を行う。かかる処理は、オブジェクト広告情報出力処理という。ステップS901に戻る。なお、オブジェクト広告情報が、広告情報が存在しない旨の情報である場合、出力部126は、何も出力しないことは好適である。また、オブジェクト広告情報出力処理は、例えば、1以上のオブジェクト広告情報が有する広告情報を、1以上のオブジェクト広告情報が有する領域情報に対応する表示領域情報または1以上のオブジェクト広告情報が有する表示領域情報が示すカメラ上の領域に出力する処理である。また、オブジェクト広告情報出力処理は、例えば、1以上のオブジェクト広告情報が有する広告情報を、1以上のオブジェクト広告情報が有する領域情報に対応する表示領域情報または1以上のオブジェクト広告情報が有する表示領域情報が示すカメラ上の領域以外の領域に出力し、かつ、1以上のオブジェクト広告情報が有する領域情報に対応する表示領域情報または1以上のオブジェクト広告情報が有する表示領域情報が示すオブジェクトを、他のオブジェクトと視覚的に区別できる態様で出力する処理である。
(ステップS911)受付部121は、ユーザから、終了指示を受け付けたか否かを判断する。終了指示を受け付ければ処理を終了し、終了指示を受け付けなければステップS903に戻る。
(ステップS912)受付部121は、ユーザから、画面を固定する出力固定指示を受け付けたか否かを判断する。出力固定指示を受け付ければステップS913に行き、出力固定指示を受け付けなければステップS915に行く。
(ステップS913)出力固定部127は、出力部126が出力中の映像と広告情報を固定する。
(ステップS914)受付部121は、固定解除指示を受け付けたか否かを判断する。固定解除指示を受け付ければステップS903に行き、固定解除指示を受け付けなければステップS914に戻る。
(ステップS915)各構成要素は、受け付けた指示に対応した動作を行う。ステップS901に戻る。
以下、本実施の形態における情報システム1の具体的な動作について説明する。情報システム1の概念図は図1である。情報システム1は、カメラで捉えている画像に含まれるオブジェクトに対応する広告情報を、当該オブジェクトに重ねて、または他の領域(他のウィンドウや他のディスプレイ)に表示できる。なお、広告情報は、オブジェクトに対応付けて管理されている広告情報であるが、オブジェクトに関係する内容の広告情報であるとは限らない。例えば、富士山に対応付けられている広告情報が、一店舗や一レストラン等の広告情報でも良い。
次に、2つの具体例を用いて、情報システム1について説明する。具体例1は、オブジェクトの高さまでは考慮せず、オブジェクトの平面的な情報のみを考慮して、撮影されている映像の中に含まれるオブジェクトを認識し、当該オブジェクトに対応付けられている広告情報を出力する態様である。具体例2は、オブジェクトの高さをも考慮して、撮影されている映像の中に含まれるオブジェクトを認識し、当該オブジェクトに対応付けられている広告情報を出力する態様である。
(具体例1)
今、サーバ装置11のオブジェクト情報格納部1101は、図10に示すオブジェクト情報管理表を保持している。オブジェクト情報管理表は、地図上のオブジェクト情報を管理している表である。オブジェクト情報管理表は、「オブジェクト識別子」「オブジェクト名」「URL」「位置情報」「領域情報」などの属性値を有するレコードを1以上、管理している。「オブジェクト識別子」は、ここでは、オブジェクトのIDである。「オブジェクト名」は、オブジェクトの名称を示す。URLは、オブジェクトに関して説明するウェブページ(ここでのオブジェクト関連情報)が存在する場所を示す情報である。「位置情報」は、オブジェクトの位置を特定する情報であり、ここでは、(緯度,経度)である。「領域情報」は、オブジェクトが配置されている二次元領域を示す情報であり、ここでは、多角形であるオブジェクトの3以上の頂点を示す。頂点も、ここでは、(緯度,経度)である。
また、サーバ装置11の広告管理情報格納部1102は、図11に示す広告管理情報管理表を保持している。広告管理情報管理表は、広告管理情報を管理している表である。広告管理情報管理表は、「ID」「オブジェクト識別子」「広告情報」などの属性値を有するレコードを1以上、管理している。
また、端末装置12は、ここでは、2つのディスプレイを有する端末である、とする。なお、端末装置12は、一つのディスプレイを有する端末であっても良いし、3つ以上のディスプレイを有する端末であっても良い。
かかる場合、ユーザは、端末装置12を起動した、とする。すると、受付部121は、起動指示を受け付ける。そして、カメラ部122は、カメラ映像を取得する。そして、出力部126のカメラ映像出力手段1261は、カメラ部122が取得した映像を出力する。すると、図12に示すように、端末装置12の第一のディスプレイ(上部のディスプレイ)に、外界の映像が出力される。
次に、端末装置12の端末情報取得部123の位置情報取得手段1231(ここでは、例えば、GPS受信機)は、端末装置12の位置情報(X,Y)を取得する。
次に、方向情報取得手段1232は、端末装置12が向いている方向を示す方向情報(θA)を取得する。方向情報(θA)は、例えば、真北から時計回りの角度(真東は90度)を示す。
また、端末情報取得部123は、カメラ部122が有する視野角の情報(単に「視野角」という)を読み出す。ここでは、視野角は「θa」である、とする。また、カメラ部122は、予め視野角「θa」を格納している。とする。
次に、端末情報取得部123は、取得した位置情報(X,Y)と、取得した方向情報(θA)と、視野角(θa)とを有する端末情報(X,Y,θA,θa)を構成する。
次に、送信部124は、構成した端末情報(X,Y,θA,θa)をサーバ装置11に送信する。
そして、サーバ装置11のサーバ受信部1104は、端末装置12から、端末情報(X,Y,θA,θa)を受信する。
次に、撮影オブジェクト決定部1106は、以下のように、撮影オブジェクトを決定する。つまり、撮影オブジェクト決定部1106は、受信された端末情報が有する位置情報(X,Y)を取得する。
次に、撮影オブジェクト決定部1106は、端末情報が有する方向情報(θA)と視野角(θa)とを用いて、不可視領域となる角度を算出する。撮影オブジェクト決定部1106は、「(θA−(θa/2))<=可視領域<=(θA+(θa/2))」を可視領域となる角度として決定する。そして、可視領域を除く角度を不可視領域角度として算出し、蓄積する。かかる概念を図13に示す。なお、可視領域が真北のラインをまたがっていない場合、不可視領域角度は「0<=不可視領域角度<(θA−(θa/2))」および「(θA+(θa/2))<不可視領域角度<=360」である。また、可視領域が真北のラインをまたがっている場合、不可視領域角度は「(θA+(θa/2))<不可視領域角度<(θA−(θa/2))」である。
そして、距離算出部1105が、端末装置12の位置情報(X,Y)を用いて、端末装置12と各オブジェクトとの距離を算出する。そして、撮影オブジェクト決定部1106は、距離算出部1105が算出した距離を用いて、端末装置12から近いオブジェクトの順に、オブジェクト情報格納部1101のオブジェクト情報をソートする。ソート処理については、図6で説明した処理により行う。ソート処理の結果、例えば、撮影オブジェクト決定部1106は、図14に示すようなオブジェクト一時管理表を取得する。オブジェクト一時管理表の各レコードは、オブジェクト識別子と距離とを有する。距離は、位置情報(X,Y)が示す点とオブジェクトの位置情報が示す点との距離である。
次に、撮影オブジェクト決定部1106は、オブジェクト一時管理表の上位のレコードから、撮影オブジェクトであるか否かを判断する。
つまり、撮影オブジェクト決定部1106は、オブジェクト一時管理表の1番目のレコードのオブジェクト識別子「1」を読み出す。そして、当該オブジェクト識別子「1」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「1」と対になる領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」を取得する。
次に、撮影オブジェクト決定部1106は、受信された端末情報(X,Y,θA,θa)と、取得した領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」とを用いて、1番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部1106は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の1番目の点(x1,y1)を取得する。
次に、撮影オブジェクト決定部1106は、1番目の点(x1,y1)と位置情報(X,Y)との角度(θ1)を算出し、当該角度(θ1)をバッファに一時記憶する。同様に、撮影オブジェクト決定部1106は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y)との角度(θ2,θ3,θ4)を算出し、当該角度(θ2,θ3,θ4)もバッファに一時記憶する。バッファには、(θ1,θ2,θ3,θ4)が格納されたことになる。
次に、撮影オブジェクト決定部1106は、バッファに一時格納された角度(θ1,θ2,θ3,θ4)から、最小角度(例えば、(θ1))と最大角度(例えば、(θ4))とを取得する。
次に、撮影オブジェクト決定部1106は、取得した最小角度(θ1)と最大角度(θ4)の領域すべてが、既に登録されている角度の領域(「(θA−(θa/2))<=可視領域<=(θA+(θa/2))」を除く角度)であるか否かを判断する。ここで、撮影オブジェクト決定部1106は、取得した最小角度(θ1)と最大角度(θ4)の領域は、可視領域であると判断した、とする。そして、撮影オブジェクト決定部1106は、オブジェクト識別子「1」のオブジェクトは、撮影オブジェクトであると判断する。
次に、撮影オブジェクト決定部1106は、「θ1<=不可視領域<=θ4」を新たな不可視領域とする。つまり、撮影オブジェクト決定部1106は、例えば、「0<=不可視領域角度<(θA−(θa/2))」および「(θA+(θa/2))<不可視領域角度<=360」と「θ1<=不可視領域<=θ4」とをマージした不可視領域角度を記録媒体に登録する。ここで、マージとは、今までの不可視領域に、「θ1<=不可視領域<=θ4」を加えることであり、今までの不可視領域が「θ1<=不可視領域<=θ4」を含む場合もあるし、含まない場合もある。
次に、撮影オブジェクト決定部1106は、1番目のオブジェクトのオブジェクト識別子「1」を図示しない記憶媒体に格納する。
次に、撮影オブジェクト決定部1106は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断する。
次に、撮影オブジェクト決定部1106は、オブジェクト一時管理表の2番目のオブジェクト識別子「17」を取得し、当該識別子「17」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「17」と対になる領域情報(例えば、「(x101,y101)(x102,y102)(x103,y103)(x103,y103)」)を取得する。
次に、撮影オブジェクト決定部1106は、受信された端末情報(X,Y,θA,θa)と、取得した領域情報「(x101,y101)(x102,y102)(x103,y103)(x103,y103)」とを用いて、2番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部1106は、判断対象となるオブジェクト(オブジェクト識別子「17」のオブジェクト)の領域情報の中の1番目の点(x101,y101)を取得する。
次に、撮影オブジェクト決定部1106は、1番目の点(x101,y101)と位置情報(X,Y)との角度(θ101)を算出し、当該角度(θ101)をバッファに一時記憶する。同様に、撮影オブジェクト決定部1106は、判断対象となるオブジェクト(オブジェクト識別子「17」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y)との角度(θ102,θ103,θ104)を算出し、当該角度(θ102,θ103,θ104)もバッファに一時記憶する。バッファには、(θ101,θ102,θ103,θ104)が格納されたことになる。
次に、撮影オブジェクト決定部1106は、バッファに一時格納された角度(θ101,θ102,θ103,θ104)から、最小角度(例えば、(θ101))と最大角度(例えば、(θ103))とを取得する。
次に、撮影オブジェクト決定部1106は、取得した最小角度(θ101)と最大角度(θ103)の領域すべてが、既に登録されている角度の領域であるか否かを判断する。そして、撮影オブジェクト決定部1106は、最小角度(θ101)と最大角度(θ103)の領域すべてが、既に登録されている角度の領域であると、判断したとする。したがって、撮影オブジェクト決定部1106は、オブジェクト識別子「17」のオブジェクトは撮影オブジェクトでない、と決定する。
次に、撮影オブジェクト決定部1106は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断する。
次に、撮影オブジェクト決定部1106は、オブジェクト一時管理表の3番目のオブジェクト識別子「3」を取得し、当該識別子「3」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「3」と対になる領域情報「(x11,y11)(x12,y12)(x13,y13)(x14,y14)」を取得する。
次に、撮影オブジェクト決定部1106は、受信された端末情報(X,Y,θA,θa)と、取得した領域情報「(x11,y11)(x12,y12)(x13,y13)(x14,y14)」とを用いて、3番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部1106は、判断対象となるオブジェクト(オブジェクト識別子「3」のオブジェクト)の領域情報の中の1番目の点(x11,y11)を取得する。
次に、撮影オブジェクト決定部1106は、1番目の点(x11,y11)と位置情報(X,Y)との角度(θ11)を算出し、当該角度(θ11)をバッファに一時記憶する。同様に、撮影オブジェクト決定部1106は、判断対象となるオブジェクト(オブジェクト識別子「3」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y)との角度(θ12,θ13,θ14)を算出し、当該角度(θ12,θ13,θ14)もバッファに一時記憶する。バッファには、(θ11,θ12,θ13,θ14)が格納されたことになる。
次に、撮影オブジェクト決定部1106は、バッファに一時格納された角度(θ11,θ12,θ13,θ14)から、最小角度(例えば、(θ11))と最大角度(例えば、(θ14))とを取得する。
次に、撮影オブジェクト決定部1106は、取得した最小角度(θ11)と最大角度(θ14)の領域すべてが、既に登録されている角度の領域であるか否かを判断する。ここで、撮影オブジェクト決定部1106は、取得した最小角度(θ11)と最大角度(θ14)の領域と、既に登録されている不可視領域の角度とを比較する。そして、撮影オブジェクト決定部1106は、取得した最小角度(θ11)と最大角度(θ14)の領域は、可視領域であると判断した、とする。そして、撮影オブジェクト決定部1106は、オブジェクト識別子「3」のオブジェクトは、撮影オブジェクトであると判断する。
次に、撮影オブジェクト決定部1106は、「θ11<=不可視領域<=θ14」を新たな不可視領域とする。
次に、撮影オブジェクト決定部1106は、3番目のオブジェクトのオブジェクト識別子「3」を図示しない記憶媒体に格納する。
次に、撮影オブジェクト決定部1106は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断する。
以上の処理を、4番目以降のオブジェクトに対しても繰り返す。そして、オブジェクト識別子「25」で識別されるオブジェクトを撮影オブジェクトであると決定した後、撮影オブジェクト決定部1106は、登録されている不可視領域、または可視領域から、可視領域が存在しない、と判断した、とする。そして、最終的に、撮影オブジェクトの識別子の集合「1,3,25」が得られた、とする。
次に、広告情報取得部1107は、撮影オブジェクトの識別子が格納されているバッファから、1番目の撮影オブジェクトの識別子「1」を取得する。
次に、広告情報取得部1107は、1番目の撮影オブジェクトの識別子「1」に対応する広告情報を、広告管理情報管理表から検索する。そして、広告情報取得部1107は、識別子「1」に対応する領域情報「(x1,y1)(x2,y2)(x3,y3)(x4,y4)」を取得する。次に、広告情報取得部1107は、領域情報から、カメラ上の表示領域情報「(X1,Y1)(X2,Y2)(X3,Y3)(X4,Y4)」を算出する。つまり、広告情報取得部1107は、例えば、(緯度,経度)の情報を、カメラ上の座標情報(X,Y)に、カメラの端末情報を用いて変換する。次に、広告情報取得部1107は、例えば、オブジェクト識別子「1」に対応する広告情報と、カメラ上の表示領域情報「(X1,Y1)(X2,Y2)(X3,Y3)(X4,Y4)」とを有するオブジェクト広告情報を構成し、記録媒体に一時蓄積する。
次に、広告情報取得部1107は、2番目の撮影オブジェクトの識別子「3」を取得する。そして、オブジェクト識別子「3」に対応する2つの広告情報を、広告管理情報管理表から検索する。そして、広告情報取得部1107は、2番目の撮影オブジェクトの識別子「3」に対応する領域情報「(x11,y11)(x12,y12)(x13,y13)(x14,y14)」を取得する。次に、広告情報取得部1107は、領域情報から、カメラ上の表示領域情報「(X11,Y11)(X12,Y12)(X13,Y13)(X14,Y14)」を算出する。次に、広告情報取得部1107は、例えば、オブジェクト識別子「3」に対応する2つの広告情報と、カメラ上の表示領域情報「(X11,Y11)(X12,Y12)(X13,Y13)(X14,Y14)」とを有するオブジェクト広告情報を構成し、記録媒体に一時蓄積する。
さらに、広告情報取得部1107は、3番目の撮影オブジェクトの識別子「25」を取得する。そして、広告情報取得部1107は、オブジェクト識別子「25」に対応する広告情報を、広告管理情報管理表から検索しようとするが、取得できない。オブジェクト識別子「25」に対応する広告情報が、広告管理情報管理表に格納されていないからである。
次に、サーバ送信部1108は、広告情報取得部1107が一時格納した2つのオブジェクト広告情報を端末装置12に送信する。
次に、受信部125は、端末情報の送信に対応して、2つのオブジェクト広告情報を受信する。
次に、出力部126は、受信したオブジェクト広告情報を出力する処理を行う。出力例を図15に示す。図15は、受信されたすべての広告情報を一度に出力している。また、広告情報と、対応するオブジェクトとの対応がとれる態様で、広告情報が出力されている。
ただし、広告情報は、撮影されているオブジェクトの上に表示されても良い。また、2以上の広告情報が存在する場合、タイムシェアリングで、出力する広告情報を切り替えても良い(図16参照)。図16によれば、広告情報を出力する第二のディスプレイには、一の広告情報のみが出力されており、その広告に対応するオブジェクトが四角で表示され、当該撮影オブジェクトが他のオブジェクトと比較して、視覚的に異なる態様で表示されている。
なお、上記において、端末装置12からの距離が最も近い撮影オブジェクトの広告情報のみを出力しても良い。また、端末装置12の最も中央部に存在する撮影オブジェクトの広告情報のみを出力しても良い。
なお、図15の画面出力の状態で、ユーザは、出力を固定する指示を入力した、とする。すると、出力固定部127は、出力部126が出力中の映像と広告情報(図15の画面)を固定する。なお、かかる画面の固定化処理は公知技術である。また、画面の固定化処理は、例えば、VRAMの画像を変更しないようにし、カメラ部122の動作を停止するなどの処理により行われる。
また、広告情報を固定した後、例えば、ユーザが広告の領域を押下した場合、端末装置12は、当該広告情報に対応付けられているURLを用いたWeb検索を行い、Webページを出力しても良い。かかる場合、オブジェクト広告情報は、広告情報と対になるURLを含んでいる、とする。かかることは。具体例2においても同様である。
(具体例2)
今、サーバ装置11のオブジェクト情報格納部1101は、図17に示すオブジェクト情報管理表を保持している。オブジェクト情報管理表は、地図上のオブジェクト情報を管理している表である。オブジェクト情報管理表は、「オブジェクト識別子」「オブジェクト名」「URL」「位置情報」「領域情報」などの属性値を有するレコードを1以上、管理している。図17において、図10のオブジェクト情報管理表との差異は、領域情報を構成する各点が高さ情報(z)を有している点である。
また、サーバ装置11の広告管理情報格納部1102は、図11に示す広告管理情報管理表を保持している。
また、端末装置12は、2つのディスプレイを有する端末である、とする。
かかる場合、ユーザは、端末装置12を起動した、とする。すると、受付部121は、起動指示を受け付ける。そして、カメラ部122は、カメラ映像を取得する。そして、出力部126のカメラ映像出力手段1261は、カメラ部122が取得した映像を出力する。すると、図12に示すように、端末装置12の第一のディスプレイ(上部のディスプレイ)に、外界の映像が出力される。
次に、端末装置12の端末情報取得部123の位置情報取得手段1231(ここでは、例えば、GPS受信機)は、端末装置12の位置情報(X,Y,Z)を取得する。なお、Zは、高さである。
次に、方向情報取得手段1232は、端末装置12が向いている方向を示す方向情報(θA,θB)を取得する。θAは平面上の角度、θBは高さ方向の角度である。方向情報(θA)は、例えば、真北から時計回りの角度(真東は90度)を示す。
また、端末情報取得部123は、カメラ部122が有する視野角の情報(単に「視野角」という)を読み出す。ここでは、視野角は(θa,θb)である、とする。また、カメラ部122は、予め視野角(θa,θb)を格納している、とする。なお、θaは平面上の角度、θbは高さ方向の角度である。視野角(θa,θb)を図18に示す。
次に、端末情報取得部123は、取得した位置情報(X,Y,Z)と、取得した方向情報(θA,θB)と、視野角(θa,θb)とを有する端末情報(X,Y,Z,θA,θB,θa,θb)を構成する。
次に、送信部124は、構成した端末情報(X,Y,Z,θA,θB,θa,θb)をサーバ装置11に送信する。
そして、サーバ装置11のサーバ受信部1104は、端末装置12から、端末情報(X,Y,Z,θA,θB,θa,θb)を受信する。
次に、撮影オブジェクト決定部1106は、以下のように、撮影オブジェクトを決定する。つまり、撮影オブジェクト決定部1106は、受信された端末情報が有する位置情報(X,Y,Z)を取得する。
次に、撮影オブジェクト決定部1106は、端末情報が有する方向情報(θA,θB)と視野角(θa,θb)とを用いて、不可視領域となる三次元の角度を算出する。撮影オブジェクト決定部1106は、可視領域となる二次元の角度「(θA−(θa/2))<=可視領域<=(θA+(θa/2))」を取得する。そして、可視領域となる高さ方向の角度「(θB−(θb/2))<=可視領域<=(θB+(θb/2))」を取得する。そして、上記の可視領域ではない領域を、不可視領域として蓄積する。
そして、撮影オブジェクト決定部1106は、取得した位置情報(X,Y,Z)を用いて、端末装置12から近いオブジェクトの順に、オブジェクト情報格納部1101のオブジェクト情報をソートする。ソート処理については、図6で説明した処理により行う。なお、ここでは、位置情報(X,Y,Z)のうちの(X,Y)と、各オブジェクトの位置情報(例えば、(xa,ya))とを用いて、端末装置12と各オブジェクトとの距離を算出し、距離をキーとしてソートする。そして、ソート処理の結果、撮影オブジェクト決定部1106は、図14に示すようなオブジェクト一時管理表を取得する。オブジェクト一時管理表の各レコードは、オブジェクト識別子と距離とを有する。距離は、位置情報(X,Y,Z)(ただし、Zは利用されなくても良い)が示す点とオブジェクトの位置情報が示す点との距離である。
次に、撮影オブジェクト決定部1106は、オブジェクト一時管理表の上位のレコードから、撮影オブジェクトであるか否かを判断する。
つまり、撮影オブジェクト決定部1106は、オブジェクト一時管理表の1番目のレコードのオブジェクト識別子「1」を読み出す。そして、当該オブジェクト識別子「1」をキーとして、オブジェクト情報管理表を検索し、オブジェクト識別子「1」と対になる領域情報「(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4)」を取得する。
次に、撮影オブジェクト決定部1106は、受信された端末情報(X,Y,Z,θA,θB,θa,θb)と、取得した領域情報「(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4)」とを用いて、1番目のオブジェクトが、撮影オブジェクトか否かを判断する。
まず、撮影オブジェクト決定部1106は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の1番目の点(x1,y1,z1)を取得する。
次に、撮影オブジェクト決定部1106は、1番目の点(x1,y1,z1)と位置情報(X,Y,Z)との平面上の角度(θ11)を算出し、当該角度(θ11)をバッファに一時記憶する。また、撮影オブジェクト決定部1106は、1番目の点(x1,y1,z1)と位置情報(X,Y,Z)との高さ方向の角度(θ12)を算出し、当該角度(θ12)をバッファに一時記憶する。同様に、撮影オブジェクト決定部1106は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y,Z)との平面上の角度(θ12,θ13,θ14)を算出し、当該角度(θ12,θ13,θ14)もバッファに一時記憶する。バッファには、(θ11,θ12,θ13,θ14)が格納されたことになる。さらに、同様に、撮影オブジェクト決定部1106は、判断対象となるオブジェクト(オブジェクト識別子「1」のオブジェクト)の領域情報の中の2番目の点から4番目の各点と位置情報(X,Y,Z)との高さ方向の角度(θ22,θ23,θ24)を算出し、当該角度(θ22,θ23,θ24)もバッファに一時記憶する。バッファには、(θ21,θ22,θ23,θ24)が格納されたことになる。
次に、撮影オブジェクト決定部1106は、バッファに一時格納された角度(θ11,θ12,θ13,θ14)から、平面上の最小角度(例えば、(θ11))と最大角度(例えば、(θ14))とを取得する。
また、撮影オブジェクト決定部1106は、バッファに一時格納された角度(θ21,θ22,θ23,θ24)から、高さ方向の最大角度(θ24)を取得する。
次に、撮影オブジェクト決定部1106は、取得した平面上の最小角度(θ11)と最大角度(θ14)の領域すべてが、既に登録されている領域であるか否かを判断する。ここで、撮影オブジェクト決定部1106は、取得した最小角度(θ11)と最大角度(θ14)の領域は、可視領域であると判断した、とする。そして、撮影オブジェクト決定部1106は、オブジェクト識別子「1」のオブジェクトは、撮影オブジェクトであると判断する。
なお、ここで、例えば、撮影オブジェクト決定部1106は、取得した平面上の最小角度(θ11)と最大角度(θ14)の領域の一部が、既に登録されている領域ではないと判断した場合も、可視領域であると判断する。つまり、撮影オブジェクト決定部1106は、オブジェクト識別子「1」のオブジェクトが、撮影オブジェクトであると判断する。また、例えば、撮影オブジェクト決定部1106は、取得した平面上の最小角度(θ11)と最大角度(θ14)の領域のすべてが、既に登録されている角度の領域であると判断した場合でも、高さ方向の最大角度(θ24)が、登録されている高さ方向の最大角度より大きい場合、平面上の最小角度(θ11)と最大角度(θ14)の領域において、可視領域であると判断する。つまり、撮影オブジェクト決定部1106は、オブジェクト識別子「1」のオブジェクトが、撮影オブジェクトであると判断するのである。
次に、撮影オブジェクト決定部1106は、「θ11<=不可視領域<=θ14」を新たな不可視領域とする。つまり、撮影オブジェクト決定部1106は、例えば、「0<=不可視領域角度<(θA−(θa/2))」および「(θA+(θa/2))<不可視領域角度<=360」と「θ11<=不可視領域<=θ14」とをマージした平面上の不可視領域角度を記録媒体に登録する。そして、登録されている高さ方向の最大角度が(θ24)より小さい場合、この平面上の領域に対応付けて、撮影オブジェクト決定部1106は、高さ方向の最大角度(θ24)を登録する。
次に、撮影オブジェクト決定部1106は、1番目のオブジェクトのオブジェクト識別子「1」を図示しない記憶媒体に格納する。
次に、撮影オブジェクト決定部1106は、登録されている不可視領域、または可視領域から、可視領域が存在する、と判断した、とする。
以上の処理を、図17の2番目以降のオブジェクトに対しても行い、撮影オブジェクトを決定する。
そして、撮影オブジェクト決定部1106は、登録されている不可視領域、または可視領域から、可視領域が存在しない、と判断するまで、上記の検査(撮影オブジェクトの決定のための検査)を繰り返す。そして、撮影オブジェクト決定部1106は、撮影オブジェクトのオブジェクト識別子「1」、「3」、「25」を取得した、とする。
次に、広告情報取得部1107は、撮影オブジェクトの識別子が格納されているバッファから、1番目の撮影オブジェクトの識別子「1」を取得する。
次に、広告情報取得部1107は、1番目の撮影オブジェクトの識別子「1」に対応する広告情報を、広告管理情報管理表から検索する。そして、広告情報取得部1107は、識別子「1」に対応する領域情報「(x1,y1,z1)(x2,y2,z2)(x3,y3,z3)(x4,y4,z4)」を取得する。次に、広告情報取得部1107は、領域情報から、カメラ上の表示領域情報「(X1,Y1)(X2,Y2)(X3,Y3)(X4,Y4)」を算出する。つまり、広告情報取得部1107は、例えば、(緯度,経度,高度)の情報を、カメラ上の座標情報(X,Y)に、カメラの端末情報を用いて、写像変換して取得する。次に、広告情報取得部1107は、例えば、オブジェクト識別子「1」に対応する広告情報と、カメラ上の表示領域情報「(X1,Y1)(X2,Y2)(X3,Y3)(X4,Y4)」とを有するオブジェクト広告情報を構成し、記録媒体に一時蓄積する。
次に、広告情報取得部1107は、2番目の撮影オブジェクトの識別子「3」を取得する。そして、オブジェクト識別子「3」に対応する2つの広告情報を、広告管理情報管理表から検索する。そして、広告情報取得部1107は、2番目の撮影オブジェクトの識別子「3」に対応する領域情報「(x11,y11,z11)(x12,y12,z12)(x13,y13,z13)(x14,y14,z14)」を取得する。次に、広告情報取得部1107は、領域情報から、カメラ上の表示領域情報「(X11,Y11)(X12,Y12)(X13,Y13)(X14,Y14)」を算出する。次に、広告情報取得部1107は、例えば、オブジェクト識別子「3」に対応する2つの広告情報と、カメラ上の表示領域情報「(X11,Y11)(X12,Y12)(X13,Y13)(X14,Y14)」とを有するオブジェクト広告情報を構成し、記録媒体に一時蓄積する。
さらに、広告情報取得部1107は、3番目の撮影オブジェクトの識別子「25」を取得する。そして、広告情報取得部1107は、オブジェクト識別子「25」に対応する広告情報を、広告管理情報管理表から検索しようとするが、取得できない。オブジェクト識別子「25」に対応する広告情報が、広告管理情報管理表に格納されていないからである。
次に、サーバ送信部1108は、広告情報取得部1107が一時格納した2つのオブジェクト広告情報を端末装置12に送信する。
次に、受信部125は、端末情報の送信に対応して、2つのオブジェクト広告情報を受信する。
次に、出力部126は、受信したオブジェクト広告情報を出力する処理を行う。出力例を図15に示す。図15は、受信されたすべての広告情報を一度に出力している。また、広告情報と、対応するオブジェクトとの対応がとれる態様で、広告情報が出力されている。
ただし、広告情報は、撮影されているオブジェクトの上に表示されても良い。また、2以上の広告情報が存在する場合、タイムシェアリングで、出力する広告情報を切り替えても良い(図16参照)。図16によれば、広告情報を出力する第二のディスプレイには、一の広告情報のみが出力されており、その広告に対応するオブジェクトが四角で表示され、当該撮影オブジェクトが他のオブジェクトと比較して、視覚的に異なる態様で表示されている。
なお、上記において、端末装置12からの距離が最も近い撮影オブジェクトの広告情報のみを出力しても良い。また、端末装置12の最も中央部に存在する撮影オブジェクトの広告情報のみを出力しても良い。
以上、本実施の形態によれば、カメラで撮影しているオブジェクトを認識し、かかるオブジェクトに対応付けられている広告情報を出力することができる。したがって、ユーザは、自分の目で見ている建物やランドマークや公園などの広告情報を非常に簡単に得ることができる。
また、本実施の形態によれば、撮影オブジェクトを検知する処理を適切に打ち切ることにより、高速な処理が可能となる。そのために、端末装置はナビゲーションシステムなどにも利用できる。
また、本実施の形態によれば、オブジェクトの高さをも考慮するので、例えば、ある建物の後ろに見えている建物に対応付けられている広告情報も得ることができる。
また、本実施の形態によれば、出力される広告情報は、カメラ上のオブジェクトの表示領域(枠)の大きさに合わせて縮小、拡大されるので、オブジェクトのサイズが一目瞭然に分かる。
また、本実施の形態によれば、2画面のうちの1画面に広告情報が出力されることにより、カメラの映像を邪魔せずに、ユーザは、広告情報を見ることができる。
さらに、本実施の形態によれば、画面上の映像を固定することにより、広告情報とオブジェクトとをゆっくり、楽な姿勢で閲覧できる。
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD−ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態におけるサーバ装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、オブジェクトを識別するオブジェクト識別子と、当該オブジェクトが存在する領域を示す領域情報とを有する1以上のオブジェクト情報と、オブジェクト識別子と広告情報とを有する1以上の広告管理情報とを格納しており、コンピュータを、端末装置から、当該端末装置の位置を示す位置情報と当該端末装置が向いている方向を示す方向情報とを有する端末情報を受信するサーバ受信部と、前記端末情報が有する位置情報と、前記端末情報が有する方向情報と、予め格納されているまたは前記端末情報が有する視野角とを、前記記録媒体の各オブジェクト情報の領域情報に適用し、前記端末装置が撮影している1以上のオブジェクトを決定する撮影オブジェクト決定部と、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上の広告情報を、前記記録媒体から取得する広告情報取得部と、前記1以上の広告情報を有する1以上のオブジェクト広告情報を、前記端末装置に送信するサーバ送信部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記領域情報は、地図上での二次元の領域を示す二次元領域情報とオブジェクトの高さを示す高さ情報を有し、前記撮影オブジェクト決定部は、前記端末情報が有する位置情報および方向情報と、予め格納されているまたは前記端末情報が有する視野角とを用いて、三次元空間上での撮影領域を取得し、当該撮影領域を、前記オブジェクト情報格納部の各オブジェクト情報が有する領域情報に対して適用し、前記端末装置が撮影している1以上のオブジェクトを決定し、かつ、前記端末装置からの距離が近い順にオブジェクトを検査し、前記端末装置が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合に、オブジェクトが前記端末装置に撮影されているか否かの検査を終了することは好適である。
また、上記プログラムにおいて、コンピュータを、前記オブジェクト情報格納部の1以上のオブジェクト情報に対応するオブジェクトと前記端末装置との距離を、前記各オブジェクトのオブジェクト情報と前記端末情報が有する位置情報とから、オブジェクトごとに算出する距離算出部としてさらに機能させ、前記撮影オブジェクト決定部は、前記端末装置からの距離が近い順にオブジェクトに対応するオブジェクト情報をソートし、前記端末装置からの距離が近い順にオブジェクトを検査し、前記端末装置が撮影している1以上のオブジェクトを決定することは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト決定部は、前記端末装置からの距離が近い順にオブジェクトを検査し、前記端末装置が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域のオブジェクトであり、かつ、前記端末装置からの距離が閾値以内のオブジェクトのみを検査し、前記端末装置が撮影している1以上のオブジェクトを決定することは好適である。
また、上記プログラムにおいて、前記撮影オブジェクト決定部は、前記端末装置からの距離が近い順にオブジェクトを検査し、前記端末装置が撮影しているとして決定したオブジェクトの数が閾値になった場合に、前記検査を終了することは好適である。
また、上記プログラムにおいて、前記広告情報取得部は、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する広告情報を前記記憶媒体から取得し、かつ、前記1以上の各オブジェクトに対応する領域情報を前記記憶媒体から取得し、前記サーバ送信部は、前記広告情報取得部が取得した広告情報と、領域情報または領域情報に対応するカメラ上の表示領域情報とを有する1以上のオブジェクト広告情報を、前記端末装置に送信することは好適である。
また、上記プログラムにおいて、前記広告情報取得部は、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する広告情報を前記記憶媒体から取得し、かつ、前記1以上の各オブジェクトに対応する領域情報を前記記憶媒体から取得し、前記サーバ送信部は、前記広告情報取得部が取得した広告情報と、領域情報または領域情報に対応するカメラ上の表示領域情報とを有する1以上のオブジェクト広告情報を、前記端末装置に送信することは好適である。
また、上記プログラムにおいて、コンピュータを、前記サーバ送信部がオブジェクト広告情報を前記端末装置に送信した場合、広告送信履歴情報を構成する広告送信履歴情報構成部と、前記広告送信履歴情報を記憶媒体に蓄積する広告送信履歴情報蓄積部としてさらに機能させることは好適である。
また、上記プログラムにおいて、コンピュータを、前記広告送信履歴情報格納部の1以上の広告送信履歴情報を用いて、課金処理を行う課金処理部としてさらに機能させることは好適である。
また、本実施の形態における端末装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報とを取得する端末情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力するカメラ映像出力手段を具備する出力部と、前記端末情報取得部が取得した位置情報と、方向情報とを有する端末情報をサーバ装置に送信する送信部と、前記端末情報の送信に対応して、前記1以上のオブジェクト広告情報を受信する受信部として機能させるためのプログラム、である。
また、上記プログラムにおいて、前記出力部は、前記1以上のオブジェクト広告情報が有する広告情報を、前記1以上のオブジェクト広告情報が有する領域情報に対応する表示領域情報または前記1以上のオブジェクト広告情報が有する表示領域情報が示すカメラ上の領域に出力するものとして、コンピュータを機能させることは好適である。
さらに、上記プログラムにおいて、前記出力部は、前記1以上のオブジェクト広告情報が有する広告情報を、前記1以上のオブジェクト広告情報が有する領域情報に対応する表示領域情報または前記1以上のオブジェクト広告情報が有する表示領域情報が示すカメラ上の領域以外の領域に出力し、かつ、前記1以上のオブジェクト広告情報が有する領域情報に対応する表示領域情報または前記1以上のオブジェクト広告情報が有する表示領域情報が示すオブジェクトを、他のオブジェクトと視覚的に区別できる態様で出力するものとして、コンピュータを機能させることは好適である。
(実施の形態2)
本実施の形態において、スタンドアロンの端末装置について説明する。つまり、本実施の形態において、端末装置は、サーバ装置と通信せずに、実施の形態1で説明した機能を実現する。
図19は、本実施の形態における端末装置2のブロック図である。端末装置2は、受付部121、オブジェクト情報格納部1101、広告管理情報格納部1102、カメラ部122、端末情報取得部123、距離算出部1105、撮影オブジェクト決定部1106、広告情報取得部1107、および出力部126を具備する。
なお、ここでの撮影オブジェクト決定部1106は、端末情報取得部123が取得した端末情報が有する位置情報と、端末情報が有する方向情報と、予め格納されているまたは端末情報が有する視野角とを、オブジェクト情報格納部1101の各オブジェクト情報の領域情報に適用し、端末装置12が撮影している1以上のオブジェクトを決定する。撮影オブジェクトの決定アルゴリズムは、実施の形態1で説明した通りである。
次に、端末装置2の動作について、図20のフローチャートを用いて説明する。図19のフローチャートにおいて、図4または図9と同じステップの処理について、説明を省略する。
以下、本実施の形態における端末装置2の具体的な動作は、実施の形態1で述べた動作と同様であるので、説明を省略する。
以上、本実施の形態によれば、カメラで撮影しているオブジェクトを認識し、かかるオブジェクトに対応付けられている広告情報を出力することができる。したがって、ユーザは、自分の目で見ている建物やランドマークや公園などの広告情報を非常に簡単に得ることができる。
また、本実施の形態によれば、撮影オブジェクトを検知する処理を適切に打ち切ることにより、高速な処理が可能となる。そのために、端末装置はナビゲーションシステムなどにも利用できる。
また、本実施の形態によれば、オブジェクトの高さをも考慮するので、例えば、ある建物の後ろに見えている建物に対応付けられている広告情報も得ることができる。
また、本実施の形態によれば、出力される広告情報は、カメラ上のオブジェクトの表示領域(枠)の大きさに合わせて縮小、拡大されるので、オブジェクトのサイズが一目瞭然に分かる。
また、本実施の形態によれば、2画面のうちの1画面に広告情報が出力されることにより、カメラの映像を邪魔せずに、ユーザは、広告情報を見ることができる。
さらに、本実施の形態によれば、画面上の映像を固定することにより、広告情報とオブジェクトとをゆっくり、楽な姿勢で閲覧できる。
また、本実施の形態における端末装置2は、例えば、携帯電話、携帯端末、デジタルカメラ、カメラ機能を有するナビゲーション端末などである。
さらに、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、記録媒体に、オブジェクトを識別するオブジェクト識別子と、当該オブジェクトが存在する領域を示す領域情報とを有する1以上のオブジェクト情報と、オブジェクト識別子と広告情報とを有する1以上の広告管理情報とを格納しており、コンピュータを、端末装置の位置を示す位置情報と、当該端末装置が向いている方向を示す方向情報と、視野角とを有する端末情報を取得する端末情報取得部と、映像を取得するカメラ部と、前記カメラ部が取得した映像を出力するカメラ映像出力手段を具備する出力部と、前記端末情報が有する位置情報と方向情報と視野角とを、前記記録媒体の各オブジェクト情報の領域情報に適用し、前記端末装置が撮影している1以上のオブジェクトを決定する撮影オブジェクト決定部と、前記撮影オブジェクト決定部が決定した1以上の各オブジェクトに対応する1以上の広告情報を、前記記録媒体から取得する広告情報取得部とを具備し、前記出力部は、前記1以上の広告情報をも出力し、前記撮影オブジェクト決定部は、前記端末装置からの距離が近い順にオブジェクトを検査し、前記端末装置が撮影しているとして先に決定したオブジェクトの撮影により不可視となる領域の情報を不可視領域として登録していき、可視領域がなくなった場合に、オブジェクトが前記端末装置に撮影されているか否かの検査を終了するものとして機能させるためのプログラム、である。
また、図21は、本明細書で述べたプログラムを実行して、上述した実施の形態の端末装置、サーバ装置を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。図21は、このコンピュータシステム340の概観図であり、図22は、コンピュータシステム340の内部構成を示す図である。
図21において、コンピュータシステム340は、FDドライブ3411、CD−ROMドライブ3412を含むコンピュータ341と、キーボード342と、マウス343と、モニタ344とを含む。
図22において、コンピュータ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以上の通信手段は、物理的に一の媒体で実現されても良いことは言うまでもない。
また、上記各実施の形態において、各処理(各機能)は、単一の装置(システム)によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。