(57)【特許請求の範囲】
【請求項１】
情報処理装置と、１以上の端末装置とを含む情報処理システムであって、
画像を送信する画像送信部と、
前記画像送信部から送信された前記画像を取得し、取得した該画像に対して一意の識別情報を割り当てる画像取得部と、
前記画像取得部により取得された画像から特徴情報を抽出する特徴情報抽出部と、
前記画像を格納するとともに、前記特徴情報と前記識別情報とを関連付けて格納する第１の画像格納部と、
前記第１の画像格納部に格納される特徴情報の量が閾値を超えた場合に、前記第１の画像格納部を第２の画像格納部に変更して新たに前記第１の画像格納部を作成し、該第２の画像格納部に対する新たな特徴情報の格納を禁止する管理部と
を有する
ことを特徴とする情報処理システム。
【請求項２】
前記管理部は、
前記第２の画像格納部の数が所定数以上になった場合に、複数の前記第２の画像格納部をマージして新たな１の第２の画像格納部を作成する
ことを特徴とする請求項１に記載の情報処理システム。
【請求項３】
画像と検索要求とを送信する検索要求送信部と、
前記検索要求送信部から送信された前記画像と前記検索要求とを取得する検索要求取得部と、
前記検索要求取得部に取得された前記検索要求に従い、前記検索要求取得部が取得した画像に対応する前記識別情報を前記第１の画像格納部および前記第２の画像格納部から検索する画像検索処理を実行する画像検索部と
をさらに有する
ことを特徴とする請求項１または請求項２に記載の情報処理システム。
【請求項４】
前記第１の画像格納部および前記第２の画像格納部は、それぞれ、
前記画像検索処理に従い、前記画像検索部に取得された画像から特徴情報を抽出し、抽出した特徴情報と格納される特徴情報との類似度を算出し、算出した類似度に基づき、該格納された特徴情報のうち該抽出した特徴情報と類似していると判定される特徴情報に対応する前記識別情報を出力する
ことを特徴とする請求項３に記載の情報処理システム。
【請求項５】
前記画像検索部は、
前記出力された識別情報から予め定められた数の識別情報を検索結果として取得する
ことを特徴とする請求項４に記載の情報処理システム。
【請求項６】
前記画像検索部は、
前記出力された識別情報を識別情報毎に累計し、該出力された識別情報から累計数の多い順に前記予め定められた数の識別情報を抽出して前記検索結果として取得する
ことを特徴とする請求項５に記載の情報処理システム。
【請求項７】
ユーザに提供するための提供情報を送信する提供情報送信部と、
前記提供情報と該提供情報に対応する前記識別情報とを取得する提供情報取得部と、
前記提供情報取得部に取得された前記提供情報を、該提供情報に対応する前記識別情報に関連付けて格納する提供情報格納部と
をさらに有する
ことを特徴とする請求項１乃至請求項６の何れか１項に記載の情報処理システム。
【請求項８】
前記第１の画像格納部および前記第２の画像格納部から出力された前記識別情報を取得し、取得した該識別情報を送信する識別情報送信部と、
前記識別情報送信部から送信された前記識別情報を取得し、取得した該識別情報に対応する前記提供情報を前記提供情報格納部から検索する提供情報検索処理を実行する提供情報検索部と
をさらに有する
ことを特徴とする請求項７に記載の情報処理システム。
【請求項９】
前記提供情報格納部は、
前記提供情報を複数の項目を含む情報として格納し、前記提供情報検索処理に従い、前記提供情報検索部が取得した１以上の識別情報にそれぞれ関連付けられた提供情報のうち一部の項目に格納される情報を該１以上の識別情報と共に出力する
ことを特徴とする請求項８に記載の情報処理システム。
【請求項１０】
前記１以上の端末装置は、
前記画像送信部と前記提供情報送信部とを備える第１の端末装置を含む
ことを特徴とする請求項７に記載の情報処理システム。
【請求項１１】
前記１以上の端末装置は、
前記画像送信部を備える第２の端末装置と、
前記提供情報送信部を備える第３の端末装置と
を含む
ことを特徴とする請求項７に記載の情報処理システム。
【請求項１２】
前記第３の端末装置は、前記識別情報を前記第２の端末装置から取得する
ことを特徴とする請求項１１に記載の情報処理システム。
【請求項１３】
前記第２の端末装置は、提供情報の識別情報を前記第３の端末装置から取得する
ことを特徴とする請求項１１に記載の情報処理システム。
【請求項１４】
画像を取得し、取得した該画像に対して一意の識別情報を割り当てる画像取得ステップと、
前記画像取得ステップにより取得された画像から特徴情報を抽出し、前記画像を格納するとともに、該特徴情報と前記識別情報とを関連付けて第１の画像格納部に格納する画像格納ステップと、
前記第１の画像格納部に格納される特徴情報の量が閾値を超えた場合に、前記第１の画像格納部を第２の画像格納部に変更して新たに前記第１の画像格納部を作成し、該第２の画像格納部に対する新たな特徴情報の格納を禁止する管理ステップと
を有する
ことを特徴とする情報処理方法。
【請求項１５】
画像を取得し、取得した該画像に対して一意の識別情報を割り当てる画像取得部と、
前記画像取得部により取得された画像から特徴情報を抽出する特徴情報抽出部と、
前記画像を格納するとともに、前記特徴情報と前記識別情報とを関連付けて格納する第１の画像格納部と、
前記第１の画像格納部に格納される特徴情報の量が閾値を超えた場合に、前記第１の画像格納部を第２の画像格納部に変更して新たに前記第１の画像格納部を作成し、該第２の画像格納部に対する新たな特徴情報の格納を禁止する管理部と
を有する
ことを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理方法および情報処理装置に関する。
【背景技術】
【０００２】
例えばカメラで撮像して得た撮像画像から特徴点を抽出して、予め登録された画像群から類似した特徴点を多く持つ画像を検索する画像検索技術が知られている。この画像検索技術を利用して、特定の写真や印刷物の画像を様々な電子データと関連付けてデータベースに登録し、これら写真や印刷物を撮像した撮像画像を用いてこのデータベースから類似画像を検索して、類似画像に関連付けられた電子データを提示する技術が知られている（例えば特許文献１）。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ここで、上述したような画像検索技術を用いた画像検索サービスにおいて、サービスを利用するユーザが、データベースに画像および画像に関連付ける電子データを登録可能とする場合について考える。特許文献１の技術によれば、画像および画像に関連付ける電子データのデータベースへの登録は、画像検索サービスの提供側により実行される。したがって、この場合、ユーザによる画像および電子データのデータベースへの登録は、画像検索サービス側の処理待ちとなり、画像の登録から検索可能となるまでの時間が長くなってしまうという問題点があった。
【０００４】
本発明は、上記に鑑みてなされたものであって、画像検索を利用して情報の受け渡しを行う際の利便性を向上させることを目的とする。
【課題を解決するための手段】
【０００５】
上述した課題を解決し、目的を達成するために、本発明は、情報処理装置と、１以上の端末装置とを含む情報処理システムであって、画像を送信する画像送信部と、画像送信部から送信された画像を取得し、取得した画像に対して一意の識別情報を割り当てる画像取得部と、画像取得部により取得された画像から特徴情報を抽出する特徴情報抽出部と、前記画像を格納するとともに、特徴情報と識別情報とを関連付けて格納する第１の画像格納部と、第１の画像格納部に格納される特徴情報の量が閾値を超えた場合に、第１の画像格納部を第２の画像格納部に変更して新たに第１の画像格納部を作成し、第２の画像格納部に対する新たな特徴情報の格納を禁止する管理部とを有することを特徴とする。
【発明の効果】
【０００６】
本発明によれば、画像検索を利用して情報の受け渡しを行う際の利便性を向上できるという効果を奏する。
【図面の簡単な説明】
【０００７】
【図１】図１は、第１の実施形態に係る情報処理システムの一例の構成を概略的に示すブロック図である。
【図２】図２は、第１の実施形態に係るサーバの一例の構成を示すブロック図である。
【図３】図３は、第１の実施形態に係る、提供情報ＤＢが備える、提供情報が格納されるテーブルの一例の構成を示す図である。
【図４】図４は、第１の実施形態に係る画像ＤＢの一例の構成を示すブロック図である。
【図５】図５は、第１の実施形態に係る端末装置の機能を説明するための機能ブロック図である。
【図６】図６は、第１の実施形態に係る端末装置の機能を説明するための機能ブロック図である。
【図７】図７は、第１の実施形態に適用可能な端末装置のハードウェアの一例の構成を示すブロック図である。
【図８】図８は、第１の実施形態に係るサーバのハードウェアの一例の構成を示すブロック図である。
【図９】図９は、第１の実施形態に係る、登録処理部による特徴情報の登録処理を示す一例のフローチャートである。
【図１０】図１０は、第１の実施形態に係る、管理部の処理を示す一例のフローチャートである。
【図１１】図１１は、第１の実施形態に係る、検索処理部による検索処理を示す一例のフローチャートである。
【図１２】図１２は、第１の実施形態に係る、検索処理部による、新規画像格納部および検索画像格納部それぞれに対する検索処理を示す一例のフローチャートである。
【図１３】図１３は、第１の実施形態に係る、選別部による処理を示す一例のフローチャートである。
【図１４】図１４は、第１の実施形態に係る、提供情報登録部の処理を示す一例のフローチャートである。
【図１５】図１５は、第１の実施形態による、画像の検索および登録処理に係る端末装置における処理を示す一例のフローチャートである。
【図１６】図１６は、第１の実施形態に係る端末用プログラムの起動直後に表示される初期画面の例を示す図である。
【図１７】図１７は、第１の実施形態に係る、表示部による表示の遷移の例を示す図である。
【図１８】図１８は、第１の実施形態に係る、画像の新規登録を指示する画像登録画面の例を示す図である。
【図１９】図１９は、第１の実施形態に係る、端末装置における提供情報の登録処理を示す一例のフローチャートである。
【図２０】図２０は、第１の実施形態に係る、文字列を入力するための入力画面の例を示す図である。
【図２１】図２１は、第２の実施形態に係る情報処理システムの一例の構成を示すブロック図である。
【図２２】図２２は、第２の実施形態に係る端末装置の機能を説明するための機能ブロック図である。
【図２３】図２３は、第２の実施形態に係る端末装置の機能を説明するための機能ブロック図である。
【図２４】図２４は、第３の実施形態に係る情報処理システムの一例の構成を示すブロック図である。
【図２５】図２５は、第３の実施形態に係る端末装置の機能を説明するための機能ブロック図である。
【図２６】図２６は、第３の実施形態に係る端末装置の機能を説明するための機能ブロック図である。
【発明を実施するための形態】
【０００８】
以下に添付図面を参照して、情報処理システム、情報処理方法および情報処理装置の実施形態を詳細に説明する。
【０００９】
（第１の実施形態）
図１は、第１の実施形態に係る情報処理システムの一例の構成を概略的に示す。図１において、情報処理システムは、サーバ１０と、１以上の端末装置２０Ａおよび２０Ｂとを含む。端末装置２０Ａおよび２０Ｂは、例えば撮像機能を備える多機能型携帯端末や、タブレット型コンピュータを適用することができる。なお、図１では、端末装置２０Ａおよび２０Ｂがそれぞれ端末＃１および＃２として示されている。端末装置２０Ａおよび２０Ｂは、それぞれ、サーバ１０との間でネットワークを介した通信が可能とされている。サーバ１０は、１台の情報処理装置により構成してもよいし、互いに接続された複数台の情報処理装置により機能を分散させて構成してもよい。
【００１０】
サーバ１０は、データベース１１を備え、データベース１１は、画像データベース（ＤＢ）１００と、提供情報データベース（ＤＢ）１０１とを含む。画像ＤＢ１００は、画像を検索可能に登録する。実際には、サーバ１０は、画像から画像の特徴を表す特徴情報を抽出する機能を含み、画像ＤＢ１００への画像の登録は、画像の特徴を表す特徴情報と、画像を識別するための画像識別情報とが関連付けられて格納されることで行われる。提供情報ＤＢ１０１は、ユーザに提供するための提供情報が画像識別情報と関連付けられて格納される。
【００１１】
各端末装置２０Ａおよび２０Ｂは、撮像機能を備え、撮像されて得た画像をネットワークを介してサーバ１０に送信することができる。
【００１２】
このような構成において、端末装置２０Ａは、例えばユーザ操作に応じて撮像機能を起動させて被写体３０を撮像し、撮像して得た画像と、この画像に類似する画像の検索を要求する検索要求とをサーバ１０に送信する（ステップＳ１）。サーバ１０は、端末装置２０Ａから送信された画像および検索要求に応じて画像ＤＢ１００から当該画像に類似する画像を検索し、検索された画像の識別情報を検索結果として出力する。
【００１３】
例えば、サーバ１０は、端末装置２０Ａから送信された画像から特徴情報を抽出し、抽出した特徴情報と、画像ＤＢ１００に格納される特徴情報との類似度を算出する。そして、サーバ１０は、画像ＤＢ１００に格納される特徴情報のうち、類似度の高い特徴情報を抽出し、抽出した特徴情報に対応する識別情報を出力する。
【００１４】
次に、サーバ１０は、提供情報ＤＢ１０１から、検索結果として出力された識別情報に関連付けられた提供情報を取得する。サーバ１０は、取得した提供情報を、端末装置２０Ａに送信する（ステップＳ２）。端末装置２０Ａは、サーバ１０から送信された提供情報を例えばディスプレイに表示させる。これにより、端末装置２０Ａのユーザは、被写体３０を撮像した画像から、提供情報を取得することができる。
【００１５】
第１の実施形態において、サーバ１０は、端末装置２０Ａが被写体３０を撮像した画像を、画像ＤＢ１００に新たに登録することができる。サーバ１０は、例えば、上述のステップＳ１で画像と共に送信された検索要求に対して、端末装置２０Ａから送信した画像に対応する特徴情報が画像ＤＢ１００に格納されていない場合に、当該画像の特徴情報を画像ＤＢ１００に格納する。
【００１６】
例えば、端末装置２０Ａは、サーバ１０から、検索要求に応じた画像の特徴情報が格納されていない旨の通知が送信されると、この通知に応じて、サーバ１０に対して画像の登録を要求する登録要求を送信する（ステップＳ３）。サーバ１０は、端末装置２０Ａから送信された画像登録要求に応じて、ステップＳ１で端末装置２０Ａから送信された画像の特徴情報に対して一意の識別情報を生成し、生成した識別情報を当該画像に関連付けて画像ＤＢ１００に格納する。
【００１７】
さらに、端末装置２０Ａは、当該画像に対応する提供情報と、この提供情報の登録を要求する提供情報登録要求とをサーバ１０に送信する（ステップＳ４）。なお、端末装置２０Ａは、提供情報を、例えば端末装置２０Ａに対するユーザ操作に応じて取得することができる。サーバ１０は、端末装置２０Ａから送信された提供情報登録要求に応じて、共に送信された提供情報を、ステップＳ３の画像登録要求に応じて生成された識別情報に関連付けて提供情報ＤＢ１０１に格納する。
【００１８】
一方、端末装置２０Ｂは、例えばユーザ操作に応じて、端末装置２０Ａが撮像したのと同じ被写体３０、若しくは、被写体３０に類似した被写体を撮像して画像を得る。端末装置２０Ｂは、撮像して得た画像と、当該画像と類似の画像の検索を要求する検索要求とをサーバ１０に送信する（ステップＳ５）。サーバ１０は、上述と同様にして、端末装置２０Ｂから送信された画像および検索要求に応じて画像ＤＢ１００から当該画像に類似する画像を検索し、検索された画像の識別情報を検索結果として出力する。
【００１９】
次に、サーバ１０は、提供情報ＤＢ１０１から、検索結果として出力された識別情報に関連付けられた提供情報を取得する。サーバ１０は、取得した提供情報を、端末装置２０Ｂに送信する（ステップＳ６）。端末装置２０Ａは、サーバ１０から送信された提供情報を例えばディスプレイに表示させる。
【００２０】
このように、第１の実施形態によれば、端末装置２０Ａおよび２０Ｂは、被写体３０を撮像して得た画像を介して提供情報を共有できる。また、第１の実施形態によれば、ユーザは、端末装置２０Ａを操作して被写体３０を撮像し、撮像した画像をサーバ１０に登録すると共に、提供情報を当該画像に関連付けてサーバ１０に登録することで、端末装置２０Ｂに対して画像を介して情報を伝達させることができる。さらに、第１の実施形態では、これらの情報共有や情報伝達を、メールアドレスといった個人情報の交換を行うこと無しに実現できる。
【００２１】
以下、第１の実施形態の各部の構成について、より詳細に説明する。図２は、第１の実施形態に係るサーバ１０の一例の構成を示す。図２において、サーバ１０は、画像ＤＢ１００と提供情報ＤＢ１０１とを備えると共に、画像登録部１１０と、画像検索部１１１と、選別部１１２と、提供情報取得部１１３と、提供情報登録部１１４とを備える。
【００２２】
なお、サーバ１０の構成において、画像登録部１１０、画像検索部１１１、選別部１１２、提供情報取得部１１３および提供情報登録部１１４は、ＣＰＵ(Central  Processing  Unit)上で動作するためのプログラムにより実現される。これに限らず、画像登録部１１０、画像検索部１１１、選別部１１２、提供情報取得部１１３および提供情報登録部１１４を、互いに協働して動作する個々のハードウェアにより構成してもよい。
【００２３】
画像登録部１１０は、画像を画像ＤＢ１００に登録する処理を実行する。画像登録部１１０は、ネットワークを介して送信された、画像ＤＢ１００に登録するための登録画像と、登録画像の画像ＤＢ１００への登録を要求する登録要求とを受け取る。画像登録部１１０は、受け取った画像を一意に特定するための識別情報である画像ＩＤを生成して当該画像に割り当てて、画像ＩＤ、登録画像および登録要求を画像ＤＢ１００に渡し、当該画像の画像ＤＢ１００への登録処理を実行する。また、画像登録部１１０は、画像ＩＤを登録画像の送信元に送信する。
【００２４】
画像ＩＤは、画像ＤＢ１００に登録される画像に一意であれば、生成方法や形式は特に限定されない。画像登録部１１０は、例えば、所定桁（例えば１０桁程度）の英数字をランダムに発生させて文字列を生成し、この文字列の既に生成した画像ＩＤとの重複の有無を検査して重複が無いと判定された文字列を、画像ＩＤとして用いることが考えられる。
【００２５】
画像検索部１１１は、画像に基づき画像ＤＢ１００を検索する処理を実行する。画像検索部１１１は、ネットワークを介して送信された、検索対象となる検索画像と、検索画像に基づき画像ＤＢ１００に対して検索を要求する検索要求とを受け取る。画像検索部１１１は、検索画像および検索要求を画像ＤＢ１００に渡し、画像ＤＢ１００から検索結果として画像ＩＤを受け取り、受け取った画像ＩＤを、検索画像の送信元に送信する。このとき、画像検索部１１１は、１の検索画像および検索要求に対する検索結果として複数の画像ＩＤが得られた場合、この複数の画像ＩＤを含む画像ＩＤのリストを検索画像の送信元に送信する。
【００２６】
提供情報登録部１１４は、提供情報ＤＢ１０１に提供情報を登録する処理を実行する。提供情報登録部１１４は、ネットワークを介して送信された、提供情報ＤＢ１０１に登録するための提供情報の元になる文字列と、提供情報の提供情報ＤＢ１０１への登録を要求する登録要求と、提供情報を関連付けたい画像を示す画像ＩＤとを受け取る。提供情報登録部１１４は、受け取った提供情報および画像ＩＤと、提供情報および画像ＩＤとを関連付けて登録する登録要求とを提供情報ＤＢ１０１に渡す。
【００２７】
選別部１１２は、例えばネットワークを介して送信された画像ＩＤのリストを受け取り、提供情報ＤＢ１０１に対して、この画像ＩＤのリストと、このリストに含まれる画像ＩＤに関連付けられる提供情報を検索する検索要求とを渡す。選別部１１２は、このとき、選別部１１２は、提供情報を取得する対象をユーザが目視により選別するために必要な情報を取得するように、検索要求を作成する。選別部１１２は、検索要求に応じて提供情報ＤＢ１０１から検索された提供情報のリストを、画像ＩＤの送信元に送信する。
【００２８】
なお、選別部１１２は、画像ＩＤのリストをネットワークを介して受け取るのに限らず、例えば、画像検索部１１１から、検索結果の画像ＩＤのリストを直接的に受け取ってもよい。
【００２９】
提供情報取得部１１３は、ネットワークを介して送信された画像ＩＤに関連付けられた提供情報を提供情報ＤＢ１０１から検索し、検索された提供情報を画像ＩＤの送信元に送信する。提供情報取得部１１３は、ネットワークを介して送信された画像ＩＤを受け取ると、受け取った画像ＩＤに関連付けられた提供情報を検索する検索要求を提供情報ＤＢ１０１に渡す。提供情報ＤＢ１０１は、この検索要求に応じて、画像ＩＤに関連付けられた提供情報を検索し、提供情報取得部１１３に渡す。
【００３０】
第１の実施形態では、図１を用いて説明したように、上述した画像登録部１１０に対する登録画像および登録要求の送信、画像検索部１１１に対する撮像画像（検索画像）および検索要求の送信、選別部１１２に対する画像ＩＤリストの送信、提供情報取得部１１３に対する画像ＩＤの送信、ならびに、提供情報登録部１１４に対する画像ＩＤ、提供情報および登録要求の送信は、全て端末装置２０Ａから実行することができる。したがって、画像検索部１１１、選別部１１２および提供情報取得部１１３は、画像ＩＤリスト、提供情報リストおよび提供情報を、端末装置２０Ａに送信する。
【００３１】
また、図１の例では、端末装置２０Ｂは、画像および提供情報の登録を行わないので、画像登録部１１０に対する登録画像および登録要求の送信、ならびに、提供情報登録部１１４に対する画像ＩＤ、提供情報および登録要求の送信を行わない。端末装置２０Ｂは、画像検索部１１１に対する撮像画像（検索画像）および検索要求の送信、選別部１１２に対する画像ＩＤリストの送信、ならびに、提供情報取得部１１３に対する画像ＩＤの送信を実行する。
【００３２】
図３は、提供情報ＤＢ１０１が備える、提供情報が格納されるテーブルの一例の構成を示す。提供情報ＤＢ１０１は、一般的には、リレーショナルデータベースを用いて構成することができる。図３の例では、テーブルは、各レコードにおいて、画像ＩＤをキーとして、提供情報の本体と提供情報の各属性情報とが関連付けられて格納されている。
【００３３】
図３に例示されるテーブルにおいて、項目「画像ＩＤ」は、各レコードのキーとなる画像ＩＤが格納される。他の項目「サムネイル」、「タイトル」、「本文」、「撮像場所」および「オプション」は、一例であり、これらとは異なる列を用いてテーブルを構成してもよい。
【００３４】
項目「サムネイル」は、登録画像の縮小画像を表すデータを所定の文字列に変換して格納する。サムネイルの画像データは、例えば既知のＢａｓｅ６４エンコーディングにより文字列に変換されて、項目「サムネイル」に格納される。この場合、項目「サムネイル」に格納される文字列をＢａｓｅ６４デコーディングによりデコードすることで、直接的にサムネイル画像を取得することができる。これに限らず、サムネイル画像が格納される場所を示す情報を項目「サムネイル」に格納してもよい。サムネイル画像は、例えば、画像登録部１１０が、ネットワークを介して送信された登録画像を画像ＤＢ１００に登録する際に、画像登録部１１０により生成され、画像ＩＤと関連付けられて登録される。
【００３５】
項目「タイトル」および項目「本文」は、検索結果として取得された際に端末装置２０Ａや端末装置２０Ｂ上でディスプレイなどに表示され、ユーザに提示される文字列である。なお、項目「タイトル」および項目「本文」に格納する文字列がＵＲＬ(Uniform  Resource  Locator)の形式である場合、端末装置２０Ａや端末装置２０Ｂには、ネットワーク上のＵＲＬで示されるＷｅbページを提示することもできる。
【００３６】
項目「撮像場所」は、画像ＩＤで示される画像を撮像した場所を示す情報が格納される。場所を示す情報は、例えば緯度および経度による数値の組を用いることができる。項目「オプション」は、例えば、画像ＩＤに関連付けられる提供情報の利用方法を設定する情報が格納される。例えば、項目「オプション」は、項目「撮像場所」で示される場所の近くで検索を行わないと現れないという設定を場所限定という文字列で表すことができる。また例えば、項目「オプション」は、当該レコードを検索したユーザが項目「本文」に追記を行うことを許可するか否かを、「追記可」、「追記不可」といった文字列で表すことができる。
【００３７】
図３の例では、提供情報ＤＢ１０１は、提供情報を構成する各情報をリレーションの列に分割して格納しているが、これはこの例に限定されない。提供情報ＤＢ１０１は、提供情報を構成する各情報それぞれを、例えばＸＭＬ(Extensible  Markup  Language)形式のように、１の情報に纏めて格納することもできる。この場合、提供情報ＤＢ１０１は、レコード毎に異なる種類の情報を格納可能となる。
【００３８】
図４は、第１の実施形態に係る画像ＤＢ１００の一例の構成を示す。図４において、画像ＤＢ１００は、１の新規画像格納部１２０と、１以上の検索画像格納部１２１1、１２１2、…、１２１Nと、管理部１２２と、登録処理部１３０と、特徴情報抽出部１３１と、検索処理部１３２とを含む。
【００３９】
なお、画像ＤＢ１００の構成において、管理部１２２、登録処理部１３０、特徴情報抽出部１３１および検索処理部１３２は、ＣＰＵ上で動作するためのプログラムにより実現される。これに限らず、管理部１２２、登録処理部１３０、特徴情報抽出部１３１および検索処理部１３２を、互いに協働して動作する個々のハードウェアにより構成してもよい。また、１の新規画像格納部１２０、および、１以上の検索画像格納部１２１1、１２１2、…、１２１Nは、ハードディスクドライブや不揮発性の半導体メモリ（フラッシュメモリ）上に確保された記憶領域である。なお、検索画像格納部１２１1、１２１2、…、１２１Nは、図４ではそれぞれ検索画像格納部＃１、＃２、…、＃Ｎのように示されている。
【００４０】
登録処理部１３０は、画像登録部１１０から渡された画像ＩＤ、登録画像および登録要求に基づき、登録画像の新規画像格納部１２０への格納処理を行い、登録画像を画像ＤＢ１００に登録する。特徴情報抽出部１３１は、入力された画像を解析して特徴情報を抽出する。抽出された特徴情報は、登録処理部１３０に返される。特徴情報抽出部１３１による特徴情報抽出処理の詳細については、後述する。登録処理部１３０は、特徴情報と画像ＩＤとを新規画像格納部１２０に渡し、画像ＩＤと特徴情報とを関連付けて、新規画像格納部１２０に格納する。
【００４１】
管理部１２２は、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nの管理を行う。より具体的には、管理部１２２は、新規画像格納部１２０に格納される特徴情報の量が所定量以上になった場合に、新規画像格納部１２０を検索画像格納部１２１N+1（図４に点線で示す）に変更して新たな特徴情報の格納を禁止し、新たに新規画像格納部１２０を作成する。管理部１２２は、例えば、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nが格納されるストレージ上に、新たな新規画像格納部１２０となる記憶領域を設定することで、新たな新規画像格納部１２０の作成を行う。そして、管理部１２２は、登録処理部１３０が登録画像を渡す相手を、新たに作成された新規画像格納部１２０に設定する。
【００４２】
すなわち、管理部１２２の管理により、新規画像格納部１２０に格納される特徴情報の量が所定量以上になった場合、当該新規画像格納部１２０に格納される特徴情報はそのままにして、当該新規画像格納部１２０が検索画像格納部１２１N+1に変更される。このとき、既存の検索画像格納部１２１1、１２１2、…、１２１Nの格納内容は、変わらない。
【００４３】
また、新規画像格納部１２０が変更された検索画像格納部１２１N+1は、新規の特徴情報の格納が禁止される。ここで、画像ＤＢ１００の初期状態としては、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nのうち新規画像格納部１２０のみが存在することになる。この状態で、新規画像格納部１２０に格納される特徴情報の量が所定量以上になると、当該新規画像格納部１２０が検索画像格納部１２１1に変更され、新規の特徴情報の格納が禁止される。そして、新たに新規画像格納部１２０が作成される。以降、新規画像格納部１２０に格納される特徴情報の量が所定量以上になる毎に、同様にして、検索画像格納部１２１2…が追加される。したがって、検索画像格納部１２１1、１２１2、…、１２１Nは、全て新規の特徴情報の格納が禁止された状態となる。
【００４４】
検索処理部１３２は、画像検索部１１１から渡された検索画像および検索要求に従い、新規画像格納部１２０と、１以上の検索画像格納部１２１1、１２１2、…、１２１Nとから、検索画像に類似する画像の検索を行う。例えば、検索処理部１３２は、検索要求に従い、検索画像を特徴情報抽出部１３１に渡す。特徴情報抽出部１３１は、渡された検索画像を解析して特徴情報を抽出し、抽出した特徴情報を検索処理部１３２に返す。
【００４５】
検索処理部１３２は、特徴情報抽出部１３１から返された特徴情報に基づき、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nから当該特徴情報に類似する特徴情報を検索し、検索された特徴情報に関連付けられた画像ＩＤを、検索結果として取得する。このとき、検索処理部１３２は、複数の画像ＩＤを検索結果として取得することもできる。検索処理部１３２は、検索結果として取得された画像ＩＤまたは画像ＩＤのリストを、画像検索部１１１に返す。
【００４６】
このように、検索処理部１３２は、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nの全てを対象として検索処理を実行する。
【００４７】
ここで、特徴情報抽出部１３１による、画像からの特徴情報の抽出処理について、概略的に説明する。特徴情報抽出部１３１は、既知の画像解析技術を用いて、画像から、画像の特徴情報として特徴点を抽出することができる。例えば、特徴情報抽出部１３１は、ＳＩＦＴ(Scale-invariant  Feature  Transform)のアルゴリズムを用いて画像から特徴点を抽出することができる。これに限らず、特徴情報抽出部１３１は、他の特徴点抽出アルゴリズムを用いて特徴点を抽出してもよい。特徴情報抽出部１３１が画像を特徴点抽出アルゴリズムを用いて解析して抽出した特徴点のそれぞれについて、特徴量と呼ばれる一組の数値が得られる。特徴量は、１の特徴点について、例えば１００乃至１０００個程度の数値の組である。
【００４８】
次に、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nへの特徴情報の格納方法について説明する。ここでは、説明のため、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nのうち、新規画像格納部１２０を例にとって説明する。
【００４９】
新規画像格納部１２０は、特徴量を構成する数値の組を多次元ベクトルと見做して、各特徴点における特徴量を多次元空間インデクスに格納する。多次元空間インデクスの実現手段としては、例えばＫｄ木(K-dimensional  tree)構造を用いるものが既知である。なお、第１の実施形態に適用可能な多次元空間インデクスの実現手段は、Ｋｄ木に限定されるものではなく、他の多次元空間インデクスの実現手段を用いてもよい。
【００５０】
ここで、データ構造としてＫｄ木などの木構造においては、要素の追加や更新の際に、木の根から、木の全体に亘り走査を行う必要がある。したがって、木上の要素数が増加すると、要素の追加や更新に長時間を要する場合がある。例えば、上述した特徴量を格納する新規画像格納部１２０にＫｄ木構造を適用した場合、新規に特徴量の追加を開始してから、追加処理が完了するまで、数十分の時間を要することがある。この場合、例えば端末装置２０Ａからサーバ１０に対して登録画像および登録要求を送信しても、送信を行ってから登録された画像に対する検索処理が可能となるまで長時間待機する必要があり、利便性に欠ける。
【００５１】
そこで、第１の実施形態では、上述したように、新規画像格納部１２０に格納される特徴情報の量が所定量以上になった場合に、新規画像格納部１２０を新たな特徴情報の追加が禁止された検索画像格納部１２１N+1に変更し、新たに新規画像格納部１２０を作成している。したがって、画像ＤＢ１００に登録される画像すなわち特徴情報の量が増大しても、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nそれぞれに格納される特徴情報の量が略一定となり、画像の登録要求から当該画像が検索可能となるまでの時間が短縮される。
【００５２】
図５および図６を用いて、第１の実施形態に係る端末装置２０Ａおよび２０Ｂの機能について説明する。図５は、第１の実施形態に係る端末装置２０Ａの機能を説明するための機能ブロック図である。図５において、端末装置２０Ａは、撮像処理部２０１と、検索要求部２０２と、画像登録要求部２０３と、提供情報登録要求部２０４と、選択部２０５と、受信部２０６と、送信部２０７と、入力部２０８と、表示部２０９と、位置情報取得部２２０とを有する。
【００５３】
これら撮像処理部２０１、検索要求部２０２、画像登録要求部２０３、提供情報登録要求部２０４、選択部２０５、受信部２０６、送信部２０７、入力部２０８、表示部２０９および位置情報取得部２２０は、ＣＰＵ上で動作するプログラムによって実現される。これに限らず、撮像処理部２０１、検索要求部２０２、画像登録要求部２０３、提供情報登録要求部２０４、選択部２０５、受信部２０６、送信部２０７、入力部２０８、表示部２０９および位置情報取得部２２０のうち一部または全部を、互いに協働して動作するハードウェアにより実現してもよい。
【００５４】
撮像処理部２０１は、端末装置２０Ａが備えるカメラ機能を起動して撮像部を制御し、撮像画像を出力する。受信部２０６は、ネットワークを介して送信されるデータの受信処理を行う。送信部２０７は、ネットワークを介したデータの送信処理を行う。入力部２０８は、端末装置２０Ａが備える入力デバイスに対する入力操作を受け付け、操作に応じたデータを取得する。表示部２０９は、端末装置２０Ａが備える表示デバイスに対する情報の表示を制御する。入力部２０８と表示部２０９とで、端末装置２０ＡのＵＩ(User  Interface)が構成される。
【００５５】
検索要求部２０２は、撮像処理部２０１により取得された撮像画像に基づく検索を要求する検索要求を生成する。検索要求部２０２は、撮像画像と、生成した検索要求とを送信部２０７からサーバ１０に対して送信する。画像登録要求部２０３は、撮像処理部２０１により取得された撮像画像の、画像ＤＢ１００への登録を要求する登録要求を生成する。画像登録要求部２０３は、撮像画像と、生成した登録要求とを送信部２０７からサーバ１０に対して送信する。提供情報登録要求部２０４は、画像ＤＢ１００に登録される画像に関連付ける提供情報の登録を要求する提供情報登録要求を生成する。提供情報登録要求部２０４は、検索要求または画像登録要求に応じて取得された画像ＩＤと、提供情報登録要求とを送信部２０７からサーバ１０に対して送信する。
【００５６】
検索要求、画像登録要求および提供情報登録要求などに応じてサーバ１０から送信された画像ＩＤ（画像ＩＤリスト）や提供情報などは、受信部２０６により受信される。
【００５７】
選択部２０５は、検索要求に応じてサーバ１０から返される提供情報リストから所望の提供情報を選択するための選択画面を生成する。生成された選択画面は、表示部２０９により表示される。また、選択部２０５は、選択画面に応じた入力部２０８に対する入力操作に応じて、選択された提供情報に対応する画像ＩＤを送信部２０７からサーバ１０に対して送信する。
【００５８】
位置情報取得部２２０は、この端末装置２０Ａの現在位置を示す位置情報を取得する。位置情報は、例えばＧＰＳ(Global  Positioning  System)を利用して取得することが考えられる。
【００５９】
図６は、端末装置２０Ｂの機能を説明するための機能ブロック図である。なお、図６において、上述した図５と共通する部分には同一の符号を付して、詳細な説明を省略する。
【００６０】
図１に示されるように、第１の実施形態において、端末装置２０Ｂは、端末装置２０Ａの機能のうち、撮像画像に基づくサーバ１０に対する検索要求と、検索要求に応じてサーバ１０から送信された提供情報を受信する機能を備える。そのため、図６の機能ブロック図においても、端末装置２０Ｂの構成は、端末装置２０Ａの構成から画像登録要求部２０３および提供情報登録要求部２０４を省略した構成となっている。
【００６１】
図７は、第１の実施形態に適用可能な端末装置２０Ａのハードウェアの一例の構成を示す。なお、端末装置２０Ｂも、この端末装置２０Ａと同等の構成により実現可能である。
【００６２】
図７に例示される端末装置２０Ａにおいて、バス２０００に対してＣＰＵ２００１、ＲＯＭ(Read  Only  Memory)２００２、ＲＡＭ(Random  Access  Memory)２００３および表示制御部２００４が接続される。また、バス２０００に対して、ストレージ２００６、データＩ／Ｆ（インターフェイス）２００７、入力デバイス２００８、通信部２００９、撮像部２０１０およびＧＰＳ部２０１１が接続される。ストレージ２００６は、データを不揮発に記憶することが可能な記憶媒体であって、例えばフラッシュメモリなどの不揮発性の半導体メモリである。これに限らず、ストレージ２００６としてハードディスクドライブを用いてもよい。
【００６３】
ＣＰＵ２００１は、ＲＯＭ２００２およびストレージ２００６に記憶されるプログラムに従い、ＲＡＭ２００３をワークメモリとして用いて、この端末装置２０Ａの全体を制御する。表示制御部２００４は、ＣＰＵ２００１により生成された表示制御信号を、表示デバイス２００５が表示可能な信号に変換して出力する。
【００６４】
ストレージ２００６は、上述のＣＰＵ２００１が実行するためのプログラムや各種データが格納される。なお、ストレージ２００６およびＲＯＭ２００２は、例えば１つの書き換え可能な不揮発性半導体メモリなどを共用してもよい。データＩ／Ｆ２００７は、外部機器との間でデータの入出力を行う。データＩ／Ｆ２００７としては、例えば、ＵＳＢ(Universal  Serial  Bus)やＢｌｕｅｔｏｏｔｈ（登録商標）といったインターフェイスを適用することができる。
【００６５】
表示制御部２００４は、ＣＰＵ２００１により生成された表示制御信号に基づき表示デバイス２００５を駆動する。表示デバイス２００５は、例えばＬＣＤ(Liquid  Crystal  Display)を含み、表示制御部２００４により駆動されて表示制御信号に応じた表示を行う。
【００６６】
入力デバイス２００８は、ユーザ入力を受け付ける。ユーザは、例えば表示デバイス２００５に対する表示に応じて入力デバイス２００８を操作することで、端末装置２０Ａに対して指示を出すことができる。なお、入力デバイス２００８と表示デバイス２００５とを一体的に構成し、押圧した位置に応じた制御信号を出力すると共に、表示デバイス２００５の画像を透過するタッチパネルとして構成すると、好ましい。
【００６７】
通信部２００９は、ＣＰＵ２００１の制御に従いネットワークを介した通信を無線通信により行う通信Ｉ／Ｆを含む。
【００６８】
撮像部２０１０は、光学系と、撮像素子と、光学系および撮像素子の制御駆動回路とを備え、撮像素子から出力される撮像信号に所定の処理を施してディジタル信号による撮像画像として出力する。撮像部２０１０は、入力デバイス２００８に対するユーザ操作による指示に従い、撮像やズームなどの機能を実行する。撮像部２０１０から出力された撮像画像は、バス２０００を介してＣＰＵ２００１に送られ、プログラムに従い所定の画像処理を施される。撮像部２０１０から出力され画像処理を施した撮像画像を、例えばストレージ２００６に記憶することができる。また、ＣＰＵ２００１は、ストレージ２００６から撮像画像を読み出して、通信部２００９によりネットワークに対して送信することができる。
【００６９】
ＧＰＳ部２０１１は、ＧＰＳによる信号を受信し、受信した信号に基づき緯度および経度からなる現在位置を計算する。
【００７０】
図８は、第１の実施形態に係るサーバ１０のハードウェアの一例の構成を示す。図８において、サーバ１０は、バス１０００に対してＣＰＵ１００１、ＲＯＭ１００２、ＲＡＭ１００３、ストレージ１００４および通信部１００５が接続される。ストレージ１００４は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブである。これに限らず、ストレージ１００４として、フラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。
【００７１】
ＣＰＵ１００１は、ＲＯＭ１００２およびストレージ１００４に記憶されるプログラムに従い、ＲＡＭ１００３をワークメモリとして用いて、このサーバ１０の全体を制御する。
【００７２】
ストレージ１００４は、ＣＰＵ１００１が実行するためのプログラムや各種データが格納される。また、上述した画像ＤＢ１００および提供情報ＤＢ１０１は、このストレージ１００４上の記憶領域を用いて構成される。なお、図８では、ストレージ１００４が１のハードウェアから構成されるように示しているが、これはこの例に限定されず、例えば複数のストレージ装置を１のストレージ１００４として統合的に管理するようにしてもよい。
【００７３】
通信部１００５は、ＣＰＵ１００１の制御に従いネットワークを介した通信を無線通信により行う通信Ｉ／Ｆを含む。
【００７４】
なお、図８では、サーバ１０が１のハードウェアから構成されるように示しているが、これはこの例に限定されず、サーバ１０を、同等の構成を有する複数のサーバ装置を統合的に制御することで構成してもよい。
【００７５】
（サーバ側の動作）
次に、第１の実施形態に係るサーバ１０各部の動作について、より詳細に説明する。図９は、第１の実施形態に係る、登録処理部１３０による特徴情報の登録処理を示す一例のフローチャートである。ステップＳ１００で、登録処理部１３０は、画像登録部１１０から登録画像と画像ＩＤとを取得する。登録処理部１３０は、取得した登録画像を特徴情報抽出部１３１に渡す。次のステップＳ１０１で、特徴情報抽出部１３１は、登録処理部１３０から渡された登録画像に対して例えばＳＩＦＴアルゴリズムを用いて解析処理を行い、登録画像の特徴点を抽出する。一般的には、１の登録画像から複数の特徴点が抽出される。また、各特徴点は、複数の数値の組である特徴量を含む。特徴情報抽出部１３１は、登録画像から抽出した各特徴点の情報を、登録処理部１３０に渡す。
【００７６】
次のステップＳ１０２およびステップＳ１０３は、ステップＳ１０１で登録画像から抽出された各特徴点について実行される。ステップＳ１０２で、登録処理部１３０は、１の特徴点における登録画像の特徴量を表す多次元ベクトルを取得する。次のステップＳ１０３で、登録処理部１３０は、ステップＳ１０２で多次元ベクトルとして取得された特徴量を、新規画像格納部１２０に格納する。このとき、登録処理部１３０は、特徴量をキーとし、画像ＩＤを値として、新規画像格納部１２０内に例えばＫｄ木構造を用いた多次元空間インデクスに登録する。
【００７７】
次のステップＳ１０４で、登録処理部１３０は、ステップＳ１０１で登録画像から取得された全ての特徴点について処理が終了したか否かを判定する。登録処理部１３０は、若し、全ての特徴点について処理が終了してないと判定した場合、処理をステップＳ１０２に戻し、次の特徴点について処理を実行する。一方、登録処理部１３０は、全ての特徴点について処理が終了したと判定した場合、登録画像の特徴情報の登録が完了したとして、図９のフローチャートによる一連の処理を終了させる。
【００７８】
図１０は、第１の実施形態に係る、管理部１２２の処理を示す一例のフローチャートである。なお、図１０のフローチャートによる処理に先立って、画像ＤＢ１００は、既にＮ個の検索画像格納部１２１1、１２１2、…、１２１Nを有しているものとする。
【００７９】
ステップＳ１１０で、管理部１２２は、新規画像格納部１２０に対して特徴情報（特徴点）の登録処理が行われたか否かを判定する。管理部１２２は、この判定を、新規画像格納部１２０に対する特徴情報の登録処理を常時監視することで行ってもよいし、新規画像格納部１２０が特徴情報の登録処理が行われた旨を管理部１２２に通知することで行ってもよい。管理部１２２は、登録処理がなされていないと判定した場合、処理をステップＳ１１０に戻す。管理部１２２は、新規画像格納部１２０に対して特徴情報の登録処理が行われたと判定した場合、処理をステップＳ１１１に移行させる。
【００８０】
管理部１２２は、ステップＳ１１１で、新規画像格納部１２０から、新規画像格納部１２０に格納されている特徴点の個数を取得する。次のステップＳ１１２で、管理部１２２は、ステップＳ１１１で取得した特徴点の個数が、閾値を超えているか否かを判定する。若し、超えていないと判定した場合、管理部１２２は、処理をステップＳ１１０に戻す。一方、管理部１２２は、新規画像格納部１２０に格納されている特徴点の個数が閾値を超えていると判定した場合、処理をステップＳ１１３に移行させる。
【００８１】
ステップＳ１１３で、管理部１２２は、既存の新規画像格納部１２０を元の新規画像格納部１２０として保持しつつ、新たに新規画像格納部１２０を作成する。次のステップＳ１１４で、管理部１２２は、登録処理部１３０に対し、新たに作成した新規画像格納部１２０を特徴情報の登録先とするように通知する。次のステップＳ１１５で、管理部１２２は、検索処理部１３２に対し、新たに作成した新規画像格納部１２０も検索対象とするように通知する。
【００８２】
次のステップＳ１１６で、管理部１２２は、元の新規画像格納部１２０を、第Ｎ＋１番目の検索画像格納部１２１N+1に変更し、検索画像格納部１２１N+1に対する新規の特徴点の登録を禁止する。ステップＳ１１６の処理が終了した後、管理部１２２は、処理をステップＳ１１０に戻す。
【００８３】
なお、管理部１２２は、検索画像格納部１２１1、１２１2、…、１２１Nのうち幾つかまたは全部をマージして、新たな検索画像格納部とすることができる。例えば、管理部１２２は、検索画像格納部１２１1、１２１2、…、１２１Nの個数が所定以上になった場合にマージ処理を実行する。これに限らず、管理部１２２は、定期的にマージ処理を実行してもよい。管理部１２２は、この複数の検索画像格納部のマージ処理を、マージ対象の例えば各検索画像格納部１２１1、１２１2、…、１２１Nを保持した状態で実行する。また、管理部１２２は、マージ処理を、画像ＤＢ１００に対する画像の登録処理や検索処理に対してバックグラウンドで実行する。管理部１２２は、マージ処理が完了した際に、マージ処理により生成された新たな検索画像格納部を検索対象とする旨を検索処理部１３２に通知し、マージされた各検索画像格納部１２１1、１２１2、…、１２１Nを削除する。このように、各検索画像格納部１２１1、１２１2、…、１２１Nのマージ処理を実行することで、検索対象の数を少なく抑え、性能を向上させることが可能である。
【００８４】
図１１は、第１の実施形態に係る、検索処理部１３２による検索処理を示す一例のフローチャートである。なお、図１１のフローチャートは、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nのうち何れか１を対象とした検索処理を示している。ここでは、説明のため、検索対象を新規画像格納部１２０であるものとする。検索対象を検索画像格納部１２１1、１２１2、…、１２１Nの何れかとした場合も、同様の処理となる。
【００８５】
ステップＳ１２０で、検索処理部１３２は、画像検索部１１１から検索要求と検索画像とを取得する。より詳細には、図１を参照し、例えば端末装置２０Ａは、被写体３０を撮像して得た撮像画像を、検索画像として検索要求と共にサーバ１０に送信する（ステップＳ１）。サーバ１０は、これら検索画像および検索要求を受信して、画像検索部１１１に渡す。画像検索部１１１は、画像ＤＢ１００に検索画像および検索要求を渡し、検索画像に基づく検索を要求する。
【００８６】
検索画像および検索要求は、画像ＤＢ１００において、検索処理部１３２に渡される。検索処理部１３２は、取得した検索画像を特徴情報抽出部１３１に渡す。次のステップＳ１２１で、特徴情報抽出部１３１は、検索処理部１３２から渡された検索画像に対して解析処理を行い、検索画像の特徴点を抽出する。特徴情報抽出部１３１は、検索画像から抽出した各特徴点の情報を、検索処理部１３２に渡す。
【００８７】
次のステップＳ１２２〜ステップＳ１２４の処理は、ステップＳ１２１で検索画像から抽出された各特徴点について実行される。ステップＳ１２２で、検索処理部１３２は、対象とする特徴点における特徴量である多次元ベクトルＸを取得する。
【００８８】
次のステップＳ１２３で、検索処理部１３２は、新規画像格納部１２０に格納される多次元空間インデクスを、ステップＳ１２２で取得した多次元ベクトルＸに基づき検索し、多次元ベクトルＸの近傍にある多次元ベクトルＸ’と、当該多次元ベクトルＸ’すなわち特徴量をキーとする画像ＩＤとを取得する。例えば、検索処理部１３２は、多次元ベクトルＸの多次元空間上の点から所定距離の範囲内にある点を近傍点と定め、多次元空間インデクスから、近傍点に対応する多次元ベクトルを検索して多次元ベクトルＸ’として取得する。このとき、検索処理部１３２は、１の特徴点に対して複数の多次元ベクトルＸ’を取得してもよい。
【００８９】
次のステップＳ１２４で、検索処理部１３２は、ステップＳ１２３で取得した特徴量（多次元ベクトルＸ’）をキーとする画像ＩＤ毎に出現回数を累積し、画像ＩＤと累積した出現回数とを対応付けてリスト（出現回数リストと呼ぶ）に記録する。例えば、検索処理部１３２は、画像ＩＤと累積出現回数とを組としたデータ構造を、既知の配列構造でメモリ（例えばＲＡＭ１００３）上に格納する。
【００９０】
次のステップＳ１２５で、検索処理部１３２は、ステップＳ１２１で検索画像から取得された全ての特徴点について処理が終了したか否かを判定する。検索処理部１３２は、若し、全ての特徴点について処理が終了していないと判定した場合、処理をステップＳ１２２に戻し、次の特徴点について処理を実行する。一方、検索処理部１３２は、全ての特徴点について処理が終了したと判定した場合、処理をステップＳ１２６に移行させる。
【００９１】
ステップＳ１２６で、検索処理部１３２は、出現回数リストに記録される画像ＩＤを、累積出現回数順に並べ替える。次のステップＳ１２７およびステップＳ１２８の処理は、出現回数リストに記録される画像ＩＤ毎に実行される。ステップＳ１２７で、検索処理部１３２は、１の画像ＩＤについて、累積出現回数が閾値を超えているか否かを判定する。若し、超えていないと判定した場合、検索処理部１３２は、処理をステップＳ１２９に移行させる。一方、検索処理部１３２は、当該画像ＩＤの累積出現回数が閾値を超えていると判定した場合、処理をステップＳ１２８に移行させる。
【００９２】
ステップＳ１２８で、検索処理部１３２は、ステップＳ１２７で閾値を超えていると判定された累積出現回数と、当該累積出現回数に対応する画像ＩＤとを、検索結果として画像検索部１１１に返す。そして、検索処理部１３２は、処理をステップＳ１２９に移行させ、出現回数リストに記録される全ての画像ＩＤについて処理が終了したか否かを判定する。若し、終了していないと判定された場合、処理をステップＳ１２７に戻し、出現回数リストの未処理の画像ＩＤについて、処理を実行する。
【００９３】
一方、検索処理部１３２は、ステップＳ１２９で出現回数リストに記録される全ての画像ＩＤについて処理が終了したと判定した場合、図１１のフローチャートによる一連の処理を終了させる。
【００９４】
図１２は、第１の実施形態に係る、検索処理部１３２による、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nそれぞれに対する検索処理を示す一例のフローチャートである。ステップＳ１４０は、上述のステップＳ１２０およびステップＳ１２１に対応する処理であって、検索処理部１３２は、画像検索部１１１から検索要求と検索画像とを取得し、取得した検索画像について、特徴情報抽出部１３１から特徴点の情報を取得する。
【００９５】
次のステップＳ１４１およびステップＳ１４２の処理は、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nのそれぞれについて実行される処理である。ステップＳ１４１で、検索処理部１３２は、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nのうち何れか１を検索対象とし、検索対象に対して図１１を用いて説明した検索処理を実行する。
【００９６】
この検索処理において、検索処理部１３２は、図１１のステップＳ１２４で説明したようにして、取得した特徴量をキーとする画像ＩＤ毎に出現回数を累積し、画像ＩＤと累積した出現回数とを対応付けて出現回数リストに記録する（ステップＳ１４２）。
【００９７】
１の検索対象に対する検索処理が終了すると、検索処理部１３２は、処理をステップＳ１４３に移行させる。ステップＳ１４３で、検索処理部１３２は、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nの全てについて検索処理が終了したか否かを判定する。若し、全てについて検索処理が終了していないと判定した場合、検索処理部１３２は、処理をステップＳ１４１に戻し、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nのうち未処理のものを次の検索対象として、ステップＳ１４１およびステップＳ１４２の処理を実行する。
【００９８】
一方、検索処理部１３２は、ステップＳ１４３で、新規画像格納部１２０、および、検索画像格納部１２１1、１２１2、…、１２１Nの全てについて検索処理が終了したと判定した場合、処理をステップＳ１４４に移行させる。
【００９９】
ステップＳ１４４で、画像検索部１１１は、出現回数リストの画像ＩＤを、累積出現回数順に並べ替える。次のステップＳ１４５で、画像検索部１１１は、ステップＳ１４４での並べ替え結果に基づき、出現回数リストに記録される画像ＩＤを、累積出現回数の多い方から所定個数（例えば５個）選択し、選択された所定個数の画像ＩＤを含む画像ＩＤリストを検索結果として出力する。画像検索部１１１は、画像ＩＤリストを、当該画像ＩＤに係る検索要求の送信元（例えば端末装置２０Ａ）に送信する。
【０１００】
図１３は、第１の実施形態に係る、選別部１１２による処理を示す一例のフローチャートである。なお、図１３のフローチャートの処理に先立って、例えば端末装置２０Ａは、被写体３０を撮像した撮像画像に基づきサーバ１０に対して検索要求を送信し、この検索要求に応じて画像検索部１１１から送信された画像ＩＤリストを取得しているものとする。
【０１０１】
端末装置２０Ａは、画像検索部１１１から受け取った画像ＩＤリストを、サーバ１０に送信する。このとき、端末装置２０Ａは、位置情報取得部２２０で取得した端末装置２０Ａの現在位置を示す位置情報を、画像ＩＤリストと共にサーバ１０に送信することができる。サーバ１０は、受信した画像ＩＤリストを選別部１１２に渡す。サーバ１０は、画像ＩＤリストと共に位置情報を受信した場合、この位置情報も、選別部１１２に渡す。
【０１０２】
ステップＳ１５０で、選別部１１２は、例えば端末装置２０Ａから送信された画像ＩＤリストを取得する。選別部１１２は、画像ＩＤと共に位置情報が送信されている場合は、位置情報も取得する。以下のステップＳ１５１〜ステップＳ１５５の処理は、画像ＩＤリストに含まれる各画像ＩＤについて実行される。
【０１０３】
次のステップＳ１５１で、選別部１１２は、提供情報ＤＢ１０１から、対象の画像ＩＤに対応する提供情報を検索し、検索された提供情報から所定の情報を抽出して取得する。例えば、図３を参照し、選別部１１２は、提供情報から項目「サムネイル」、「タイトル」、「撮像場所」および「オプション」に格納される各情報を取得する。
【０１０４】
次のステップＳ１５２で、選別部１１２は、取得された提供情報の項目「オプション」に基づき、当該提供情報が場所限定の情報であるか否かを判定する。若し、場所限定の情報ではないと判定した場合、選別部１１２は、処理をステップＳ１５５に移行させる。一方、選別部１１２は、当該提供情報が場所限定の情報であると判定した場合、処理をステップＳ１５３に移行させる。
【０１０５】
ステップＳ１５３で、選別部１１２は、端末装置２０Ａから送信された位置情報と、ステップＳ１５１で取得された項目「撮像場所」の情報とに基づき、端末装置２０Ａの位置と、項目「撮像場所」で示される位置との間の距離を計算する。
【０１０６】
緯度および経度で表された２地点間の距離を求める方法は、ヒュベニの式や、Ｌａｍｂｅｒｔ−Ａｎｄｏｙｅｒの式など、精度の異なる幾つかの方法が知られている。第１の実施形態においては、簡易な距離算出方法として、緯度１°当たりの長さを１１１ｋｍ、日本付近の経度１°当たりの長さを９１ｋｍとして、三角形で近似する下記の式（１）を用いることができる。
Ｄ＝ＳＱＲ(((Ｌａ1−Ｌａ2)×１１１０００)2＋((Ｌｕ1−Ｌｕ2)×９１０００)2)    …（１）
【０１０７】
なお、式（１）において、第１地点の緯度および経度をそれぞれ値Ｌａ1およびＬｕ1とし、第２地点の緯度および経度をそれぞれ値Ｌａ2およびＬｕ2とする。また、第１地点と第２地点との間の距離を、距離Ｄとする。距離Ｄの単位は、「ｍ」である。また、記号ＳＱＲ（）は、括弧内の値の平方根を示す。
【０１０８】
次のステップＳ１５４で、選別部１１２は、ステップＳ１５３で計算した距離が閾値以下であるか否かを判定する。若し、距離が閾値を超えていると判定した場合、判別部１１２は、処理をステップＳ１５６に移行させる。一方、距離が閾値以下であると判定した場合、選別部１１２は、処理をステップＳ１５５に移行させる。
【０１０９】
ステップＳ１５５で、選別部１１２は、対象の画像ＩＤと、ステップＳ１５１で対象の画像ＩＤについて取得された項目「サムネイル」および「タイトル」に格納される各情報とを、画像ＩＤと関連付けて候補リストに追加する。すなわち、候補リストは、選択対象となる提供情報の候補が記録される。
【０１１０】
選別部１１２は、次のステップＳ１５６で、ステップＳ１５０で取得された画像ＩＤリストに含まれる全ての画像ＩＤについて処理が終了したか否かを判定する。若し、終了していないと判定した場合、選別部１１２は、処理をステップＳ１５１に戻し、未処理の１の画像ＩＤを対象として以降の処理を実行する。一方選別部１１２は、全ての画像ＩＤについて処理が終了したと判定した場合、処理をステップＳ１５７に移行させる。
【０１１１】
ステップＳ１５７で、選別部１１２は、候補リストを出力する。出力された候補リストは、端末装置２０Ａに返される。候補リストが出力されると、図１３のフローチャートによる一連の処理が終了される。
【０１１２】
図１４は、第１の実施形態に係る、提供情報登録部１１４の処理を示す一例のフローチャートである。
【０１１３】
なお、図１４のフローチャートの処理に先立って、例えば端末装置２０Ａは、サーバ１０から、追加または修正を行いたい提供情報に対応する画像ＩＤを取得しているものとする。一例として、端末装置２０Ａは、上述した図１３のフローチャートによる処理を実行して候補リストを取得し、候補リストに含まれる画像ＩＤから所望の画像ＩＤを選択する。また、端末装置２０Ａは、入力部２０８に対する入力操作に応じて、提供情報として登録したい文字列Ｙを生成する。端末装置２０Ａは、選択された画像ＩＤと、生成された文字列Ｙとをサーバ１０に送信する。
【０１１４】
ここで、文字列Ｙは、例えばＸＭＬやＪＳＯＮ(JavaScript（登録商標）  Object  Notation)といった、データ構造を表現できるフォーマットでサーバ１０に渡されることが好ましい。例えば、文字列ＹをＪＳＯＮに従い記述する場合、図３のテーブルに示した提供情報は、下記の式（２）のように表される。
｛  thumbnail:  ‘ffd8ffe000104a46…’,  title:  ‘桜の穴場’,  contents:  ‘この場所に…’,  gps:  ‘35.685,139.753’,
options:  [‘場所限定’,  ‘追記可’]  ｝    …（２）
【０１１５】
ステップＳ１６０で、提供情報登録部１１４は、端末装置２０Ａから送信された画像ＩＤおよび文字列Ｙを取得する。次のステップＳ１６１で、提供情報登録部１１４は、提供情報ＤＢ１０１から、画像ＩＤをキーとして提供情報（提供情報Ｂとする）の取得を試みる。次のステップＳ１６２で、提供情報登録部１１４は、ステップＳ１６１で提供情報Ｂが取得できたか否かを判定する。
【０１１６】
若し、取得できなかったと判定した場合、提供情報登録部１１４は、処理をステップＳ１６７に移行させる。これは、当該画像ＩＤに対して未だ提供情報が登録されていないことを意味している。したがって、提供情報登録部１１４は、処理を文字列Ｙから提供情報（提供情報Ａとする）を作成する。提供情報を作成すると、提供情報登録部１１４は、処理をステップＳ１６８に移行させる。
【０１１７】
なお、文字列Ｙから提供情報を作成する手順は、提供情報ＤＢ１０１における提供情報のスキーマと、文字列Ｙに用いるフォーマットとに対応して用意する必要がある。上述の式（２）で示したＪＳＯＮにより記述された文字列Ｙは、サムネイル＝  Ｙ[‘thumbnail’]、タイトル＝Ｙ[‘title’]、本文＝Ｙ[‘contents’]のようにして、直接的に提供情報に変換することができる。
【０１１８】
次のステップＳ１６８で、提供情報登録部１１４は、ステップＳ１６７で作成された提供情報Ａを、ステップＳ１６０で取得した画像ＩＤをキーとして提供情報ＤＢ１０１に登録する。提供情報Ａの登録が完了すると、提供情報登録部１１４は、処理をステップＳ１６６に移行させて登録完了通知を出力する。登録完了通知は、例えば端末装置２０Ａに送信される。登録完了通知が送信されると、図１４のフローチャートによる一連の処理が終了される。
【０１１９】
一方、提供情報登録部１１４は、上述のステップＳ１６２で、提供情報Ｂが取得できたと判定した場合、処理をステップＳ１６３に移行させる。ステップＳ１６３で、提供情報登録部１１４は、ステップＳ１６１で取得した提供情報Ｂの項目「オプション」を参照し、提供情報Ｂの修正が可能か否かを判定する。ここでは、提供情報Ｂの項目「オプション」に「追記可」の文字列が格納されている場合に、提供情報Ｂの修正が可能であるものとする。また、提供情報Ｂの項目「オプション」に「追記不可」の文字列が格納されている場合は、提供情報Ｂの修正が不可であるものとする。
【０１２０】
若し、提供情報Ｂの修正が不可であると判定した場合、提供情報登録部１１４は、処理をステップＳ１６９に移行させて、登録不可の通知を出力する。この登録不可通知は、画像ＩＤおよび文字列Ｙの送信元である端末装置２０Ａに送信される。端末装置２０Ａは、例えば、この登録不可通知を受信すると、入力した文字列Ｙの登録が不可である旨を表示部２０９により表示することができる。登録不可通知が送信されると、図１４のフローチャートによる一連の処理が終了される。
【０１２１】
一方、提供情報登録部１１４は、ステップＳ１６３で、提供情報Ｂの修正が可能であると判定した場合、処理をステップＳ１６４に移行させる。提供情報登録部１１４は、ステップＳ１６４で、提供情報Ｂに文字列Ｙを合成して、新たな提供情報（提供情報Ｃとする）を作成する。提供情報登録部１１４は、提供情報Ｃが作成されると、処理をステップＳ１６５に移行させる。
【０１２２】
提供情報Ｂと文字列Ｙとを合成する手順は、提供情報ＤＢ１０１における提供情報のスキーマと、文字列Ｙに用いるフォーマットとに対応して用意する必要がある。例えば、文字列Ｙが上述した式（２）で示したようにＪＳＯＮにより記述されている場合、文字列Ｙの後ろにコンテンツ＝Ｙ[‘contents’]を結合し、提供情報の他の項目は、提供情報Ｂの値をそのまま使用するという手順が考えられる。
【０１２３】
ステップＳ１６５で、提供情報登録部１１４は、作成した提供情報Ｃを、ステップＳ１６０で取得した画像ＩＤをキーとする提供情報Ｂと置き換えて提供情報ＤＢ１０１に登録する。提供情報登録部１１４は、提供情報Ｃの登録が完了すると、処理をステップＳ１６６に移行させて登録完了通知を出力する。登録完了通知が送信されると、図１４のフローチャートによる一連の処理が終了される。
【０１２４】
（端末装置側の動作）
次に、第１の実施形態に係る端末装置２０Ａおよび２０Ｂの動作について、より詳細に説明する。なお、上述したように、端末装置２０Ｂは、端末装置２０Ａの構成から画像および提供情報の登録機能を省略したものであるので、ここでは、端末装置２０Ａの動作を中心に説明する。
【０１２５】
図１５は、第１の実施形態による、画像の検索および登録処理に係る端末装置２０Ａにおける処理を示す一例のフローチャートである。この図１５に示されるフローチャートの処理に先立って、端末装置２０Ａにおいて、第１の実施形態による、画像の検索および登録処理を実行するためのプログラム（以下、端末用プログラムと呼ぶ）が起動される。
【０１２６】
図１６は、この端末用プログラムの起動直後に表示部２０９により表示される初期画面の例を示す。図１６において、初期画面４００は、検索対象とする画像の取得方法を選択するボタン４０１および４０２が配置される。ボタン４０１は、端末装置２０Ａが備えるカメラ機能による画像の取得を選択する。ボタン４０２は、予め用意された画像を選択する。この場合、画像は、端末装置２０Ａのストレージ２００６に格納されている画像であってもよいし、ネットワーク上のストレージに格納されている画像であってもよい。
【０１２７】
以下では、初期画面４００においてボタン４０１が操作され、カメラ機能により撮像された画像を用いて検索を行う例について説明する。ステップＳ２００で、端末装置２０Ａは、入力部２０８に対する入力操作に応じて撮像動作を実行し、撮像画像を取得する。端末装置２０Ａは、検索要求部２０２により、撮像画像と検索要求とをサーバ１０に送信する。
【０１２８】
サーバ１０は、端末装置２０Ａから送信された撮像画像と検索要求とに基づき、図１１および図１２を用いて説明した手順に従い画像ＤＢ１００に対して検索処理を行い、検索結果を出力する。サーバ１０は、撮像画像に類似する画像が検索された場合は、当該画像の画像ＩＤリストを検索結果として出力する。撮像画像に類似する画像が検索されなかった場合は、サーバ１０は、その旨示すメッセージを検索結果として出力する。サーバ１０は、出力された検索結果を端末装置２０Ａに送信する。
【０１２９】
ステップＳ２０１で、端末装置２０Ａは、サーバ１０から送信された検索結果を受信部２０６により受信する。次のステップＳ２０２で、端末装置２０Ａは、検索結果に基づき画像ＩＤリストを取得できたか否かを判定する。若し、取得できたと判定した場合、端末装置２０Ａは、処理をステップＳ２０３に移行させる。
【０１３０】
ステップＳ２０３で、端末装置２０Ａは、ステップＳ２０１で取得した画像ＩＤリストをサーバ１０に送信する。このとき、端末装置２０Ａは、位置情報取得部２２０で取得された端末装置２０Ａの現在位置を示す位置情報を、画像ＩＤリストと共にサーバ１０に送信できる。サーバ１０は、端末装置２０Ａから送信された画像ＩＤリストと位置情報とに基づき、図１３を用いて説明した手順に従い候補リストを出力する。サーバ１０は、この画像ＩＤリストに応じた候補リストを、端末装置２０Ａに送信する。
【０１３１】
ステップＳ２０４で、端末装置２０Ａは、サーバ１０から送信された画像ＩＤリストに応じた候補リストを受信部２０６により受信して取得する。次のステップＳ２０５で、端末装置２０Ａは、受信した候補リストに含まれる、各候補について、サムネイル画像とタイトルとを表示部２０９により表示させる。次のステップＳ２０６で、端末装置２０Ａは、入力部２０８に対する入力操作により提供情報を取得する候補が選択されたか否かを判定する。選択されていないと判定した場合、端末装置２０Ａは、処理をステップＳ２０６に戻す。
【０１３２】
図１７は、上述したステップＳ２０３〜ステップＳ２０６までの一連の処理における、表示部２０９による表示の遷移の例を示す。図１７（ａ）は、ステップＳ２０３で画像ＩＤリストが送信され、ステップＳ２０５で候補リストの情報が表示されるまでの待機画面４１０の例を示す。
【０１３３】
図１７（ｂ）は、ステップＳ２０５における候補表示画面４２０の例を示す。図１７（ｂ）に例示される候補表示画面４２０は、候補リストに含まれる各画像ＩＤに対応する候補が表示される領域４２１と、新規に撮像画像を登録するためのボタン４２６とが配置される。この例では、領域４２１に対して、それぞれ第１および第２の画像ＩＤに対応する候補の情報が表示される２の候補領域４２２1および４２２2が表示されている。候補領域４２２1は、それぞれ第１の画像ＩＤに対応したサムネイル画像４２３1と、タイトル表示４２４1とを含む。候補領域４２２2も同様に、第２の画像ＩＤに対応したサムネイル画像４２３2と、タイトル表示４２４2とを含む。
【０１３４】
このように、複数の候補を一覧で表示させることで、ユーザは、撮像画像に対して類似の画像が複数存在する場合であっても、適切な画像を容易に選択することができる。
【０１３５】
入力部２０８に対する入力操作により、例えば候補領域４２２1内の任意の位置を指示することで、その候補領域４２２1に表示される候補が、提供情報を取得する候補として選択された状態とすることができる。候補領域４２２2についても同様である。図１７（ｃ）は、候補領域４２２1の候補が選択された候補表示画面４２０’の例を示す。この例では、候補領域４２２1の候補である提供情報の項目「本文」に格納される文字列がポップアップ表示４２５により表示され、選択されていることが強調されている。
【０１３６】
端末装置２０Ａは、ステップＳ２０６で提供情報を取得する候補が選択されたと判定した場合、処理をステップＳ２０７に移行させる。ステップＳ２０７で、端末装置２０Ａは、選択された候補に対応する画像ＩＤを、送信部２０７によりサーバ１０に送信する。サーバ１０は、提供情報取得部１１３により、端末装置２０Ａから送信された画像ＩＤに関連付けられた提供情報を、提供情報ＤＢ１０１から検索し、端末装置２０Ａに送信する。
【０１３７】
ステップＳ２０８で、端末装置２０Ａは、サーバ１０から送信された提供情報を受信し、送信した画像ＩＤに対応する提供情報を取得する。次のステップＳ２０９で、端末装置２０Ａは、取得した提供情報を表示部２０９により表示し、ユーザに提示する。提供情報が表示されると、この図１５のフローチャートによる一連の処理が終了される。
【０１３８】
なお、提供情報を提示する形式は、提供情報の形式や内容に応じて用意される必要がある。例えば、単純な形態では、タイトルと本文とを並べて表示することが考えられる。また、本文にＷｅbページのＵＲＬが含まれる場合は、そのＵＲＬが示すＷｅｂページの内容を表示したり、ダウンロードさせたりすることが考えられる。また、本文にさらにＪＳＯＮ形式の文字列を格納することで、外部アプリケーションを呼び出したり、端末装置２０Ａの各種機能を起動したりといった複雑な提示方法もとることができる。
【０１３９】
上述したステップＳ２０２で、画像ＩＤリストを取得できなかったと判定した場合、端末装置２０Ａは、処理をステップＳ２１０に移行させる。この場合、ステップＳ２００で送信した撮像画像を画像ＤＢ１００に新規に登録することができる。ステップＳ２１０では、ステップＳ２００で送信した撮像画像を画像ＤＢ１００に新規に登録する操作が入力部２０８に対してなされたか否かを判定する。
【０１４０】
図１８は、第１の実施形態に係る、画像の新規登録を指示する画像登録画面の例を示す。上述のステップＳ２００で撮像画像および検索要求がサーバ１０に対して送信されると、端末装置２０Ａは、図１８（ａ）に示す待機画面４３０を表示部２０９により表示させる。そして、ステップＳ２０２で画像ＩＤリストを取得できなかったと判定されると、端末装置２０Ａは、図１８（ｂ）の画像登録画面４４０を表示部２０９により表示させる。
【０１４１】
図１８（ｂ）の例では、画像登録画面４４０は、新規登録の対象となる画像が表示される領域４４１と、領域４４１に表示される画像のサーバ１０への送信指示を行うボタン４４２とが配置される。この例では、領域４４１は、ステップＳ２００で取得された撮像画像が表示されている。
【０１４２】
ステップＳ２１０で、端末装置２０Ａは、撮像画像を新規に登録する操作がなされなかったと判定した場合、処理をステップＳ２００に戻す。例えば、端末装置２０Ａは、画像登録画面４４０が表示された状態で、入力部２０８に対する入力操作により、例えば図示されないキャンセルボタンが操作された場合に、撮像画像を新規に登録する操作がなされなかったと判定する。
【０１４３】
一方、端末装置２０Ａは、例えば画像登録画面４４０においてボタン４４２が操作された場合、撮像画像を新規に登録する操作がなされたと判定し、処理をステップＳ２１１に移行する。ステップＳ２１１で、端末装置２０Ａは、撮像画像と登録要求とをサーバ１０に送信する。サーバ１０は、図９を用いて説明した手順に従い、撮像画像を画像ＤＢ１００に登録する。そして、サーバ１０は、撮像画像が登録された登録画像に関連付けられた画像ＩＤを、端末装置２０Ａに送信する。
【０１４４】
ステップＳ２１２で、端末装置２０Ａは、サーバ１０から送信された画像ＩＤを受信部２０６により受信し、画像ＩＤを取得する。そして、次のステップＳ２１３で、端末装置２０Ａは、新規に画像ＤＢ１００に登録した登録画像に関連付ける提供情報の登録処理を実行する。端末装置２０Ａにおける提供情報の登録処理については、後述する。提供情報の登録が終了すると、端末装置２０Ａは、図１５のフローチャートによる一連の処理を終了させる。
【０１４５】
なお、上述では、撮像画像の画像ＤＢ１００への新規登録を、ステップＳ２０２で画像ＩＤのリストが取得できず、当該撮像画像または当該撮像画像の類似画像が画像ＤＢ１００に登録されていない場合に実行可能としている。これはこの例に限定されず、ステップＳ２０２で画像ＩＤのリストが取得できた場合であっても、撮像画像の画像ＤＢ１００への新規登録を実行するようにできる。
【０１４６】
例えば、端末装置２０Ａは、図１５のフローチャートにおけるステップＳ２０３〜ステップＳ２０８の何れかのタインミグ、すなわち、図１７（ｂ）または図１７（ｃ）に示す候補表示画面４２０または候補表示画面４２０’が表示されている状態で、これらの画面に配置されるボタン４２６が操作された場合に、処理を強制的にステップＳ２１０の撮像画像の新規登録処理に移行させることが考えられる。このようにすることで、ユーザによる画像登録に対する他人の画像登録の影響を抑制できる。
【０１４７】
また、ステップＳ２０２で画像ＩＤのリストが取得でき、且つ、撮像画像の画像ＤＢ１００への新規登録を実行する場合、画像ＤＢ１００に既に登録されている画像と類似の画像が登録されることになる。この場合、画像を登録済みのユーザが、他のユーザの登録した類似の画像により自分が登録した画像を発見することが困難になるおそれがある。
【０１４８】
例えば、提供情報の項目「オプション」に、類似画像の登録禁止を指示する情報を格納可能とすることができる。端末装置２０Ａは、提供情報の項目「オプション」に類似画像登録禁止の指示が格納されている場合、例えば図１７（ｂ）または図１７（ｃ）の候補表示画面４２０または候補表示画面４２０’に配置されるボタン４２６を無効とすることが考えられる。これにより、類似画像の登録が禁止され、ユーザは、自分の登録した画像を容易に発見することが可能となる。
【０１４９】
図１９は、第１の実施形態に係る、端末装置２０Ａにおける提供情報の登録処理を示す一例のフローチャートである。この図１９のフローチャートによる処理は、例えば上述した図１５のフローチャートにおけるステップＳ２１３で実行される。これに限らず、提供情報を提供情報ＤＢ１０１に登録する単独の処理として、図１９のフローチャートによる処理を実行してもよい。
【０１５０】
ステップＳ３００で、端末装置２０Ａは、提供情報を登録する画像の画像ＩＤを取得する。図１５のステップＳ２１３において実行される場合には、ステップＳ２１２で取得した画像ＩＤを用いることができる。単独で実行する場合、例えば撮像画像から画像ＤＢ１００を検索して画像ＩＤを取得することが考えられる。
【０１５１】
次のステップＳ３０１で、端末装置２０Ａは、提供情報として登録する文字列を取得する。例えば、端末装置２０Ａは、表示部２０９により、当該文字列を入力するための入力画面を表示させる。図２０は、第１の実施形態に係る、この文字列を入力するための入力画面の例を示す。図２０（ａ）において、入力画面４５０は、ステップＳ３００で取得された画像ＩＤに対応する画像を表示させる画像表示領域４５１と、提供情報のサムネイル画像以外の各項目の情報を入力するための入力領域４５２〜４５５と、各入力領域４５２〜４５５に入力された文字列を提供情報として提供情報ＤＢ１０１に登録させるための登録ボタン４５６とが配置される。
【０１５２】
入力領域４５２は、提供情報の項目「タイトル」に格納する文字列を入力するための領域である。入力領域４５３は、提供情報の項目「本文」に格納する文字列を入力するための領域である。入力領域４５４は、提供情報の項目「オプション」を設定するための領域である。この例では、入力領域４５５としてのチェックボックスに対するチェック入力の有無に応じて、追記可および追記不可の何れかの文字列が生成される。図２０（ｂ）は、各入力領域４５２〜４５５に情報が入力された状態を示す。
【０１５３】
端末装置２０Ａは、図２０（ｂ）の入力画面４５０において、入力部２０８に対する入力操作により登録ボタン４５６が指定されると、画像表示領域４５１に表示されたサムネイル画像をエンコードした文字列と、各入力領域４５２〜４５５に入力された文字列と、画像ＩＤとをサーバ１０に送信する（ステップＳ３０２）。
【０１５４】
サーバ１０は、端末装置２０Ａから送信された各情報に基づき、図１４を用いて説明した手順に従い各文字列を提供情報として画像ＩＤに関連付けて提供情報ＤＢ１０１に登録する。サーバ１０は、登録処理の結果を示す通知を端末装置２０Ａに送信する。端末装置２０Ａは、この登録結果の通知を受信部２０６により受信し、例えば表示部２０９により表示する（ステップＳ３０３）。
【０１５５】
このように、第１の実施形態によれば、画像ＤＢ１００および提供情報ＤＢ１０１に対する画像および提供情報の登録を、ユーザが端末装置２０Ａから実行することができる。そのため、画像検索サーバ（サーバ１０）側の処理を待機する処理待ち時間を大幅に短縮することができ、利便性が向上される。
【０１５６】
（第２の実施形態）
図２１は、第２の実施形態に係る情報処理システムの一例の構成を示す。なお、図２１において、上述した図１と共通する部分には同一の符号を付して、詳細な説明を省略する。第２の実施形態は、画像登録と提供情報の登録とを異なる端末装置２０Ｃおよび２０Ｄで行う例である。なお、図２１では、端末装置２０Ｃおよび２０Ｄをそれぞれ端末＃３および＃４として示している。
【０１５７】
図２２は、第２の実施形態に係る端末装置２０Ｃの機能を説明するための機能ブロック図である。なお、図２２において、上述した図５と共通する部分には同一の符号を付して、詳細な説明を省略する。端末装置２０Ｃは、図５の端末装置２０Ａの構成に対し、検索要求部２０２、提供情報登録要求部２０４、選択部２０５および位置情報取得部２２０が省略されている。また、端末装置２０Ｃは、図５の端末装置２０Ａの構成に対し、画像ＩＤ取得部２１０が追加されている。端末装置２０Ｃとしては、撮像機能を備える、多機能型携帯端末や、タブレット型コンピュータを適用することができる。
【０１５８】
図２３は、第２の実施形態に係る端末装置２０Ｄの機能を説明するための機能ブロック図である。なお、図２３において、上述した図５と共通する部分には同一の符号を付して、詳細な説明を省略する。端末装置２０Ｄは、図５の端末装置２０Ａの構成に対し、撮像処理部２０１、検索要求部２０２、画像登録要求部２０３、選択部２０５および位置情報取得部２２０が省略されている。また、端末装置２０Ｄは、図５の端末装置２０Ａの構成に対し、画像ＩＤ取得部２１１が追加されている。端末装置２０Ｄは、端末装置２０Ｃと同様に多機能型携帯端末やタブレット型コンピュータを適用することができる。
【０１５９】
図２１において、端末装置２０Ｃは、例えば被写体３０を撮像した撮像画像を、当該撮像画像の登録を要求する画像登録要求と共にサーバ１０に送信する（ステップＳ１０）。サーバ１０は、この画像登録要求に応じて、図９を用いて説明した手順に従い撮像画像に一意の画像ＩＤを生成し、画像ＩＤと撮像画像の特徴情報とを関連付けて画像ＤＢ１００に登録する。登録が完了すると、サーバ１０は、画像ＩＤを端末装置２０Ｃに返す（ステップＳ１１）。
【０１６０】
端末装置２０Ｃは、ステップＳ１１で送信された画像ＩＤを、画像ＩＤ取得部２１０により取得する。そして、端末装置２０Ｃは、取得した画像ＩＤを、提供情報を登録する端末装置２０Ｄに渡す（ステップＳ１２）。一例として、端末装置２０Ｃは、画像ＩＤをＱＲコード（登録商標）などの２次元コードに変換し、表示部２０９により表示させる。これに限らず、端末装置２０Ｃは、画像ＩＤを文字列として表示部２０９により表示させてもよいし、さらに他の画像情報などに変換して表示させてもよい。
【０１６１】
端末装置２０Ｄは、端末装置２０Ｃから渡された画像ＩＤを、画像ＩＤ取得部２１１により取得する。例えば、画像ＩＤ取得部２１１は、撮像機能を有し、端末装置２０Ｃに表示された、画像ＩＤが変換された２次元コードを撮像する。そして、画像ＩＤ取得部２１１は、撮像画像から２次元コードを抽出して復号し、画像ＩＤを取得する。端末装置２０Ｄは、この画像ＩＤと、入力部２０８により入力された提供情報と、提供情報の登録を要求する提供情報登録要求とをサーバ１０に送信する（ステップＳ１３）。サーバ１０は、図１４を用いて説明した手順に従い、提供情報を画像ＩＤと関連付けて提供情報ＤＢ１０１に登録する。
【０１６２】
このように、第２の実施形態においても、画像ＤＢ１００および提供情報ＤＢ１０１に対する画像および提供情報の登録を、ユーザが端末装置２０Ｃおよび端末装置２０Ｄから実行することができる。そのため、画像検索サーバ（サーバ１０）側の処理を待機する処理待ち時間を大幅に短縮することができ、利便性が向上される。
【０１６３】
なお、画像ＩＤが悪意のある第三者に知られると、提供情報に意図しない修正が施されてしまうおそれがある。これを防ぐために、期限付きのパスワードを発行することが考えられる。この場合、例えば、端末装置２０Ｃにおいて数桁（例えば５桁）の英数字からなるパスワードをランダムに生成し、有効期限と共に提供情報ＤＢ１０１に格納する。端末装置２０Ｃは、ステップＳ１２で画像ＩＤを端末装置２０Ｄに渡す処理とは別に、端末装置２０Ｃの画面上にパスワードを表示しておく。端末装置２０Ｄから提供情報の登録処理を行う際に、提供情報の修正可否の判定条件に、有効期限内のパスワードの入力の有無を加えることで、端末装置２０Ｃの画面を見ることができる人のみが提供情報を登録できるようにすることができる。
【０１６４】
（第３の実施形態）
図２４は、第３の実施形態に係る情報処理システムの一例の構成を示す。なお、図２４において、上述した図１と共通する部分には同一の符号を付して、詳細な説明を省略する。第３の実施形態は、画像登録と提供情報の登録とを異なる端末装置２０Ｅおよび２０Ｆで行う例である。なお、図２４では、端末装置２０Ｅおよび２０Ｆをそれぞれ端末＃５および＃６として示している。
【０１６５】
ここで、上述の第２の実施形態では、画像を画像ＤＢ１００に登録して画像ＩＤを取得した後に、取得した画像ＩＤに基づき提供情報を提供情報ＤＢ１０１に登録していた。これに対して、第３の実施形態では、提供情報を提供情報ＤＢ１０１に登録して提供情報ＩＤを取得し、取得した提供情報ＩＤに基づき画像を画像ＤＢ１００に登録する。
【０１６６】
図２５は、第３の実施形態に係る端末装置２０Ｅの機能を説明するための機能ブロック図である。なお、図２５において、上述した図５と共通する部分には同一の符号を付して、詳細な説明を省略する。端末装置２０Ｅは、図５の端末装置２０Ａの構成に対し、撮像処理部２０１、検索要求部２０２、画像登録要求部２０３、選択部２０５および位置情報取得部２２０が省略されている。また、端末装置２０Ｄは、図５の端末装置２０Ａの構成に対し、提供情報ＩＤ取得部２１２が追加されている。端末装置２０Ｅは、多機能型携帯端末やタブレット型コンピュータを適用することができる。また、端末装置２０Ｅは、撮像機能が不要なので、一般的なデスクトップ型のコンピュータを適用することもできる。
【０１６７】
図２６は、第３の実施形態に係る端末装置２０Ｆの機能を説明するための機能ブロック図である。なお、図２６において、上述した図５と共通する部分には同一の符号を付して、詳細な説明を省略する。端末装置２０Ｆは、図５の端末装置２０Ａの構成に対し、検索要求部２０２、提供情報登録要求部２０４、選択部２０５および位置情報取得部２２０が省略されている。また、端末装置２０Ｃは、図５の端末装置２０Ａの構成に対し、提供情報ＩＤ取得部２１３が追加されている。端末装置２０Ｆとしては、撮像機能を備える、多機能型携帯端末や、タブレット型コンピュータを適用することができる。
【０１６８】
図２４において、端末装置２０Ｅは、入力部２０８により入力された提供情報と、提供情報の登録を要求する提供情報登録要求とをサーバ１０に送信する（ステップＳ２０）。サーバ１０は、図１４を用いて説明した手順に従い、提供情報を提供情報ＤＢ１０１に登録する。このとき、サーバ１０において提供情報登録部１１４は、登録が要求された提供情報に一意の提供情報ＩＤを生成する。提供情報登録部１１４は、生成した提供情報ＩＤを、端末装置２０Ｅに返す（ステップＳ２１）。
【０１６９】
なお、提供情報登録部１１４は、上述した画像登録部１１０における画像ＩＤの生成処理と同様に、所定桁の英数字をランダムに発生させて文字列を生成し、この文字列の既に生成した提供情報ＩＤとの重複の有無を検査して重複が無いと判定された文字列を、提供情報ＩＤとして用いることが考えられる。
【０１７０】
端末装置２０Ｅは、ステップＳ２１で送信された提供情報ＩＤを、提供情報ＩＤ取得部２１２により取得する。そして、端末装置２０Ｅは、取得した提供情報ＩＤを、画像を登録する端末装置２０Ｆに渡す（ステップＳ２２）。一例として、端末装置２０Ｅは、提供情報ＩＤをＱＲコード（登録商標）などの２次元コードに変換し、表示部２０９により表示させる。これに限らず、端末装置２０Ｅは、提供情報ＩＤを文字列として表示部２０９により表示させてもよいし、さらに他の画像情報などに変換して表示させてもよい。
【０１７１】
端末装置２０Ｆは、端末装置２０Ｅから渡された提供情報ＩＤを、提供情報ＩＤ取得部２１３により取得する。例えば、提供情報ＩＤ取得部２１３は、撮像処理部２０１により、端末装置２０Ｅに表示された、提供情報ＩＤが変換された２次元コードを撮像する。そして、提供情報ＩＤ取得部２１３は、撮像画像から２次元コードを抽出して復号し、提供情報ＩＤを取得する。端末装置２０Ｆは、この提供情報ＩＤと、撮像処理部２０１に撮像された被写体３０の撮像画像と、画像の登録を要求する画像登録要求とをサーバ１０に送信する（ステップＳ２３）。サーバ１０は、図９を用いて説明した手順に従い、画像を提供情報ＩＤと関連付けて画像ＤＢ１００に登録する。
【０１７２】
このように、第３の実施形態においても、画像ＤＢ１００および提供情報ＤＢ１０１に対する画像および提供情報の登録を、ユーザが端末装置２０Ｅおよび端末装置２０Ｆから実行することができる。そのため、画像検索サーバ（サーバ１０）側の処理を待機する処理待ち時間を大幅に短縮することができ、利便性が向上される。
【０１７３】
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
【符号の説明】
【０１７４】
１０  サーバ
１１  データベース
２０Ａ，２０Ｂ，２０Ｃ，２０Ｄ，２０Ｅ，２０Ｆ  端末装置
１００  画像ＤＢ
１０１  提供情報ＤＢ
１１０  画像登録部
１１１  画像検索部
１１２  選別部
１１３  提供情報取得部
１１４  提供情報登録部
１２０  新規画像格納部
１２１1，１２１2，１２１N，１２１N+1  検索画像登録部
１２２  管理部
１３０  登録処理部
１３１  特徴情報抽出部
１３２  検索処理部
２０１  撮像処理部
２０２  検索要求部
２０３  画像登録要求部
２０４  提供情報登録要求部
２０５  選択部
２０６  受信部
２０７  送信部
２０８  入力部
２０９  表示部
２２０  位置情報取得部
【先行技術文献】
【特許文献】
【０１７５】
【特許文献１】特開２０１４−０１０７２３号公報
【図１】
0006515457.tif 000002
【図２】
0006515457.tif 000003
【図３】
0006515457.tif 000004
【図４】
0006515457.tif 000005
【図５】
0006515457.tif 000006
【図６】
0006515457.tif 000007
【図７】
0006515457.tif 000008
【図８】
0006515457.tif 000009
【図９】
0006515457.tif 000010
【図１０】
0006515457.tif 000011
【図１１】
0006515457.tif 000012
【図１２】
0006515457.tif 000013
【図１３】
0006515457.tif 000014
【図１４】
0006515457.tif 000015
【図１５】
0006515457.tif 000016
【図１６】
0006515457.tif 000017
【図１７】
0006515457.tif 000018
【図１８】
0006515457.tif 000019
【図１９】
0006515457.tif 000020
【図２０】
0006515457.tif 000021
【図２１】
0006515457.tif 000022
【図２２】
0006515457.tif 000023
【図２３】
0006515457.tif 000024
【図２４】
0006515457.tif 000025
【図２５】
0006515457.tif 000026
【図２６】
0006515457.tif 000027