以下に、添付図面を参照して、情報処理システム、情報処理方法および情報処理装置の実施形態を詳細に説明する。
(実施形態に適用可能な情報処理システム)
図1は、実施形態に適用可能な情報処理システムの一例の構成を概略的に示す。図1において、情報処理システムは、画像検索システム10と、登録端末20と、検索端末30と、事業者端末40aおよび40bとを含む。画像検索システム10は、検索サーバ100および管理サーバ101を含む。検索サーバ100は、登録端末20、検索端末30、事業者端末40aおよび40bと、ネットワークを介して通信が可能とされている。また、管理サーバ101は、登録端末20、事業者端末40aおよび40bとネットワークを介して通信が可能とされている。
検索サーバ100および管理サーバ101は、画像検索システム10による画像検索機能を提供するサービス提供者によって運営および管理される。検索サーバ100および管理サーバ101は、それぞれ、1台の情報処理装置により構成してもよいし、互いに接続された複数台の情報処理装置により機能を分散させて構成してもよい。また、検索サーバ100と管理サーバ101とを、1台の情報処理装置上で構成することも可能である。
登録端末20は、画像と、当該画像に関連付けるための連携情報とを取得して、画像検索システム10に送信する。画像検索システム10は、登録端末20から送信された画像および連携情報を関連付けて、検索サーバ100が備える画像検索用データベース(DB)に登録する。連携情報は、例えばインターネット51上のWebサイト52aやWebサイト52bのURL(Uniform Resource Locator)を含むことができる。
なお、図1の例では、登録端末20は、被写体50を撮像した撮像画像を、画像検索用DBに登録するための画像として用いている。これはこの例に限定されず、登録端末20は、画像検索用DBに登録するための画像として、外部から供給された画像や、登録端末20の内部で作成した画像を用いてもよい。
検索端末30は、一般ユーザが利用する端末装置であって、撮像機能を備える。これに限らず、検索端末30は、撮像機能を持たずに、画像検索の対象としたい画像を記憶していてもよい。もちろん、検索端末30は、撮像機能を持ち、且つ、画像検索の対象とした画像を記憶する手段を備えていてもよい。
また、検索端末30は、画像検索システム10による画像検索を利用するためのアプリケーションプログラムである画像検索アプリを搭載する。検索端末30に対する画像検索アプリの搭載方法としては、例えば、インターネット51などのネットワーク上の所定のダウンロードサイトから、一般ユーザがインストールしたいアプリケーションプログラムとして当該画像検索アプリを指定してダウンロードして検索端末30にインストールする方法が挙げられる。
画像検索モジュールが組み込まれたカスタマイズアプリとして提供される画像検索アプリは、事業者によりカスタマイズされモジュールIDを付与されて一般ユーザに配布される。これに対して、サービス提供者から配布される画像検索アプリは、モジュールIDが付与されないか、サービス提供者からの配布であることを示すモジュールIDを付与される。すなわち、検索システム10は、モジュールIDに基づいて、各事業者および各カスタマイズアプリを識別するだけでなく、事業者とサービス提供者とを識別することもできる。
検索端末30は、画像検索アプリが実行されることで、撮像機能を利用して被写体50を撮像する撮像処理を行い、被写体50を撮像した画像をネットワークを介して画像検索システム10に送信することができる。検索端末30は、例えばユーザ操作に応じて撮像機能を起動させて被写体50を撮像し、撮像画像に類似する画像の検索を要求する検索要求を画像検索システム10に送信する。検索要求は、撮像画像と、検索の形態を示す検索形態情報とを含む。送信された検索要求は、画像検索システム10において、検索サーバ100に受信される。
なお、事業者は、例えばチラシ、ポスター、看板、サイネージ、プロモーション写真、特定の景色、プロダクトなど、種々のアイテムを被写体として設定できる、換言すれば、検索システム10が機能する範疇において、事業者が決定したあらゆる対象が被写体となり得る。事業者が一般ユーザに対して被写体を告知し、ユーザがその被写体を撮像して、検索システム10を利用すれば良いためである。
画像検索システム10において、検索サーバ100は、検索端末30から送信された検索要求に応じて画像検索用DBから当該画像に類似する画像を検索し、検索された画像の識別情報を検索結果として取得する。このように、検索サーバ100は、画像検索用DBに対して検索を行う画像検索装置として機能する。検索サーバ100は、検索された画像に関連付けられた連携情報を検索端末30に送信する。
例えば、連携情報がURLを含む場合、検索端末30は、被写体50を撮像した撮像画像に基づき検索サーバ100で検索され送信された連携情報に応じて、インターネット51を介してWebサイト52aやWebサイト52bにアクセスすることができる。以下では、検索端末30を操作する者を、一般ユーザと呼ぶ。
上述の情報処理システムにおいて、画像検索システム10のサービス提供者は、特定の契約を交わした者あるいは組織体に対して、検索サーバ100に対する画像および連携情報の登録を許可する。以下、サービス提供者と特定の契約を交わした者あるいは組織体を、事業者と呼ぶ。サービス提供者は、事業者の依頼に応じて、事業者から提供された画像および連携情報を検索サーバ100に登録する。契約の内容によっては、画像および連携情報を、事業者自身が登録端末20を操作して検索サーバ100に登録することも可能である。すなわち、登録端末20は、サービス提供者あるいは事業者が利用する端末装置である。
事業者端末40aおよび40bは、事業者が用いるための端末であって、例えば、検索サーバ100に登録した画像および連携情報を確認することができる。また、事業者は、検索端末30に搭載させるための画像検索アプリをカスタマイズすることができるようになっている。なお、事業者端末40aおよび40bは、例えば同等の機能を有するため、特に記載の無い限り、事業者端末40aおよび40bを、事業者端末40aで代表させて説明を行う。
例えば、サービス提供者は、検索サーバ100による検索機能を利用するために端末(事業者端末40a、40b、検索端末30)側に必要な画像検索アプリの機能を実現するための画像検索モジュールを、特定の契約を交わした事業者に提供する。この画像検索モジュールは、例えばSDK(Software Development Kit)として、サービス提供者から事業者に提供される。事業者は、提供された画像検索モジュールを、例えば自身が開発する他のアプリケーションプログラムに組み込むことができる。これにより、例えば、事業者によるサービスを提供するための事業者アプリに画像検索アプリ機能が加えられたカスタマイズアプリを構成することが可能となる。事業者は、画像検索モジュールを組み込んだカスタマイズアプリを一般ユーザに配布することで、一般ユーザに、事業者の意図に沿った画像検索機能を利用させ、事業者によるサービスを一般ユーザに提供することが可能となる。
事業者端末40aには、このカスタマイズアプリが搭載される。例えば、事業者は、このカスタマイズアプリが搭載された事業者端末40aを用いて、画像検索システム10に対して検索要求を送信し、事業者が意図する検索結果が得られるか否かを確認する。検索要求は、画像検索の対象となる画像と、画像検索モジュールを識別する第1の識別情報であるモジュールIDと、検索形態を示すタイプ情報とを含む。なお、モジュールIDおよびタイプ情報については、後述する。
画像検索システム10において、検索サーバ100は、事業者端末40aから送信された検索要求に従い画像検索を行い、検索結果を検索要求に対する応答として事業者端末40aに送信する。事業者は、例えば、この検索結果に基づき、カスタマイズアプリの動作や、検索サーバ100に登録した画像および連携情報の確認を行い、問題無いと判断した場合に、カスタマイズアプリや、画像検索機能を利用したサービスを、一般ユーザに配布する。
図2は、実施形態に適用可能な検索サーバ100の機能を説明するための一例の機能ブロック図である。検索サーバ100は、画像検索用DB11と、解析部12と、検索部13とを含み、検索端末30から送信された撮像画像に基づく検索処理を実行する。画像検索用DB11は、画像DB14と連携情報DB15とを含む。画像DB14は、画像を検索可能に登録する。連携情報DB15は、画像DB14に登録された画像と連携するための連携情報が、当該画像と関連付けられて登録される。
すなわち、サービス提供者は、画像検索システム10を運用し検索サービス(検索機能)を提供するユーザであり、事業者は、検索サービスを利用する上で画像検索システム10に登録する画像あるいはその他の情報と、一般ユーザの検索端末30において撮像させる撮像媒体(被写体50)を決定するユーザであり、一般ユーザは、事業者により決定された撮像媒体を撮像し、撮像画像を送信して画像検索システム10を利用するユーザであるともいえる。なお、ここでいうユーザは、個人および法人を含む。
ここで、画像と連携情報との関連付けの具体的な例について説明する。実施形態においては、画像内に1以上の領域を指定して、指定した各領域に対して1以上の連携情報を関連付けることができる。この、画像内に指定される、連携情報を関連付けるための領域を、以下、対象領域と呼ぶ。
対象領域を示す情報は、画像識別情報と関連付けられて連携情報DB15に格納されて登録される。実施形態では、対象領域を示す情報は、例えば、タグを用いてデータの意味や構造を定義して記述するマークアップ言語の一種であるXML(Extensible Markup Language)を用いて記述される。連携情報DB15には、例えば、この対象領域を示す情報が記述されるXMLコードが格納されるファイルのファイル名と、画像識別情報とが関連付けられて格納される。
検索サーバ100による画像の登録処理は、概略的には、以下のように行われる。検索サーバ100は、登録対象となる画像を解析部12により解析して、当該画像の特徴を表す特徴情報を抽出する。検索サーバ100は、抽出された特徴情報を、画像を識別するための画像識別情報と関連付けて画像DB14に格納する。検索サーバ100は、また、ユーザに提供するための連携情報を画像識別情報と関連付けて連携情報DB15に格納する。画像(特徴情報)および連携情報がそれぞれ画像識別情報に関連付けられて画像DB14および連携情報DB15に格納されることで、当該画像の画像検索用DB11への登録が行われる。
検索サーバ100による画像の検索処理は、概略的には、以下のように行われる。例えば、検索サーバ100は、検索端末30から送信された画像を受信し、受信した画像を検索部13を介して解析部12に渡す。解析部12は、渡された画像を解析して当該画像から特徴情報を抽出し、抽出した特徴情報を検索部13に渡す。検索部13は、解析部12から渡された特徴情報に基づき、当該特徴情報と類似度の高い特徴情報を画像DB14から検索する。検索部13は、検索された特徴情報に対応する画像識別情報に関連付けられた連携情報を連携情報DB15から取得する。検索サーバ100は、連携情報DB15から取得した連携情報を、検索結果として検索端末30に送信する。
図3は、実施形態に適用可能な情報処理システムの一例の構成を概略的に示す。なお、図3において、上述した図1および図2と共通する部分には同一の符号を付して、詳細な説明を省略する。
図3において、情報処理システムは、画像検索システム10と、登録端末20と、検索端末30と、各事業者端末40a、40bと、ユーザDB106が接続されるユーザ管理サーバ105とを含む。ユーザ管理サーバ105は、ユーザ情報が登録されるユーザDB106が接続される。また、画像検索システム10は、検索サーバ100と、管理サーバ101と、登録サーバ104とを含む。なお、図3では、説明のため、図2の画像検索用DB11に対応する画像検索用DB112bが検索サーバ100の外部に接続されるように示している。
画像検索用DB112bは、それぞれ画像DB14と連携情報DB15とを含む、通常DB111bと、専用DB110b1、110b2、…とによる複数のDBを含む。検索サーバ100は、画像検索用DB112bに含まれる複数のDBから、後述する管理サーバ101からのDB指定情報に従いスイッチ部(SW)120bにより選択されたDBを、検索対象のDBとして画像検索を行う。
検索サーバ100は、上述したように、検索端末30からインターネット51を介して送信された画像(撮像画像)を解析部12で解析して特徴情報を抽出し、検索部13により、抽出した特徴情報と類似した特徴情報を画像DB14から検索する。そして、検索サーバ10は、画像DB14から検索された特徴情報に関連付けられた画像識別情報に対応する連携情報を連携情報DB15から取得して、検索端末30に送信する。
登録サーバ104は、画像検索用DB112bと対応する画像検索用DB112aを備え、検索サーバ100と同様に、解析部12および検索部13を含む画像検索機能を備える。画像検索用DB112aは、画像検索用DB112bと同様に、それぞれ画像DB14と連携情報DB15とを含む、通常DB111aと、専用DB110a1、110a2、…とによる複数のDBを含む。これら通常DB111a、および、専用DB110a1、110a2、…は、それぞれ、画像検索用DB112bに含まれる通常DB111b、および、専用DB110b1、110b2、…に対応する。
登録サーバ104は、画像検索用DB112aに含まれる複数のDBから、後述する管理サーバ101からのDB指定情報に従いスイッチ部(SW)120aにより選択されたDBを、検索対象のDBとして画像検索を行う。すなわち、登録サーバ104は、画像検索用DB112aに含まれる複数のDBから選択されたDBを検索対象のDBとして画像検索を行う画像検索装置として機能する。
管理サーバ101は、契約情報DB16が接続される。契約情報DB16は、サービス提供者と事業者との間で交わされた契約に関する情報である契約情報が格納される。契約情報は、事業者との契約に関し、契約の形態を示す契約形態情報と、画像検索用DB112aおよび112bに含まれる複数のDBのうち何れのDBを検索対象のDBとするかを示すDB指定情報とが含まれる。
管理サーバ101は、契約情報に含まれる契約形態情報およびDB指定情報と、検索要求に含まれる検索形態情報とに基づき、スイッチ部120aおよび120bにより選択されるDBを決定する。また、管理サーバ101は、契約形態情報および検索形態情報に基づきスイッチ部(SW)121を切り替え、インターネット51を介したアクセスを検索サーバ100および登録サーバ104の何れに接続するかを選択する。
登録端末20は、CPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)と、ハードディスクドライブなどのストレージ装置と、キーボードやポインティングデバイスなどによる入力デバイスと、LCD(Liquid Crystal Display)などによるディスプレイとを含む情報処理装置として構成される。登録端末20は、登録ツール21を含む。
登録ツール21は、登録端末20のCPU上で動作するプログラムにより実現される。登録ツール21を実現するためのプログラムは、例えば、登録端末20が登録サーバ104に接続することにより、登録サーバ104により提供される。
例えば、登録端末20は、一般的なコンピュータに搭載されるものと同等のブラウザアプリケーション(以下、ブラウザ)が搭載される。ブラウザは、CPU401上で動作して、例えばHTML(HyperText Markup Language)に従い記述されたファイルを読み込み、所定の動作を行う。登録端末20において、ブラウザを用いて登録サーバ104にアクセスすることで、登録サーバ104上の所定の情報処理プログラムがブラウザに読み込まれ、ブラウザに読み込まれた情報処理プログラムにより、登録端末20上に登録ツール21が形成される。
登録端末20は、事業者43a、43b、43c、…から画像および画像に関連付けるための連携情報がそれぞれ提供される。登録端末20は、登録ツール21により、事業者43a、43b、43c、…から提供された各画像に対して連携情報をそれぞれ関連付けて、登録サーバ104に送信する。また、登録端末20は、登録ツール21により、各事業者43a、43b、43c、…に関する契約情報を登録サーバ104に送信することもできる。
図4は、実施形態に適用可能な画像検索用DB112aおよび112bの構成について、概念的に示す。画像検索用DB112aに含まれる通常DB111a、専用DB110a1、専用DB110a2および専用DB110a3は、一般ユーザによる検索端末30からの検索が禁止される非公開用のDBである。事業者は、この非公開用のDBに画像を登録することで、この画像を利用した一般ユーザへの公開前(提供前)に、事業者端末40aを用いて画像を検索し、確認することができる。すなわち、事業者は、非公開用のDBを、画像を確認する際の検索対象と指定することができる。
一方、画像検索用DB112bに含まれる通常DB111b、専用DB110b1、専用DB110b2および専用DB110b3は、一般ユーザによる検索端末30を用いた検索が可能な公開用のDBであって、一般ユーザの使用する検索端末30と、事業者の使用する事業者端末40aとが検索対象として指定することができる。事業者は、非公開用のDBに登録された画像をこの公開用のDBに移動させることができる。これに限らず、事業者は、この公開用のDBに対して直接的に画像を登録してもよい。
通常DB111aおよび111b、専用DB110a1および110b1、専用DB110a2および110b2、ならびに、専用DB110a3および110b3の各ペアにおいて、ペアに含まれる各DBは、同じDB番号が与えられる。図4の例では、1つのペアをなす専用DB110a1および110b1に、それぞれDB番号「SP001」が与えられている。同様に、それぞれ1つのペアをなす専用DB110a2および110b2、ならびに、専用DB110a3および110b3に、それぞれDB番号「SP002」、「SP003」が与えられている。また、通常DB111aおよび111bのペアには、DB番号「PU001」が与えられている。
通常DB111aおよび111b、専用DB110a1および110b1、専用DB110a2および110b2、ならびに、専用DB110a3および110b3の各ペアは、公開/非公開処理により、公開対象の画像と非公開対象の画像とが、互いの間で移動される。専用DB110a1と専用DB110b1によるペアの例では、公開処理では、非公開用のDBである専用DB110a1に格納される非公開対象の画像(非公開画像)のうち公開対象に指定された画像が、公開用のDBである専用DB110b1に移動される。非公開処理では、専用DB110b1に格納される公開対象の画像(公開画像)のうち非公開対象に指定された画像が、専用DB110a1に移動される。
換言すれば、専用DB110a1に格納され非公開とされていた公開対象の画像は、公開処理により専用DB110b1に移動されて、顧客端末40aと、検索端末30とから検索可能とされる。一方、専用DB110b1に格納された非公開対象の画像は、非公開処理により専用DB110a1に移動されて、顧客端末40aからは検索可能(検索対象として指定することが可能)であるが、検索端末30からは検索不可となる(検索対象に指定されなくなる)。
この公開/非公開処理による公開対象および非公開対象の画像のDB間の移動は、他のペア、図4の例では通常DB111aおよび111b、専用DB110a2および110b2、ならびに、専用DB110a3および110b3についても同様である。
なお、図4の例では、画像検索用DB112aおよび112bは、それぞれ3つの専用DBを含むように示されているが、これはこの例に限定されない。例えば、画像検索用DB112aおよび112bは、各事業者の契約数に応じた数だけ、専用DBが設けられる。
図5は、実施形態に適用可能な管理サーバ101の一例のハードウェア構成を示す。図5において、管理サーバ101は、バス1010に対してCPU(Central Processing Unit)1011、ROM(Read Only Memory)1012、RAM(Random Access Memory)1013、ストレージ1014および通信I/F(インタフェース)1015が接続される。ストレージ1014は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブである。これに限らず、ストレージ1014として、フラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。
CPU1011は、ROM1012およびストレージ1014に記憶されるプログラムに従い、RAM1013をワークメモリとして用いて、この管理サーバ101の全体を制御する。
ストレージ1014は、CPU1011が実行するためのプログラムや各種データが格納される。また、上述した契約情報DB16は、このストレージ1014上の記憶領域を用いて構成される。なお、図5では、ストレージ1014が1のハードウェアから構成されるように示しているが、これはこの例に限定されず、例えば複数のストレージ装置を1つのストレージ1014として統合的に管理するようにしてもよい。
通信I/F1015は、CPU1011の制御に従いネットワークを介した通信を行う。
なお、図5では、管理サーバ101が1のハードウェアから構成されるように示しているが、これはこの例に限定されず、管理サーバ101を、同等の構成を有する複数のサーバ装置を統合的に制御することで構成してもよい。また、検索サーバ100および登録サーバ104は、管理サーバ101と同様のハードウェア構成で実現可能であるので、ここでの説明を省略する。
図6は、図3に示す情報処理システムに適用可能な管理サーバ101の機能を説明するための一例の機能ブロック図である。管理サーバ101は、通信部1101と、制御部1102と、管理部1103と、設定部1104とを含む。これら通信部1101、制御部1102、管理部1103および設定部1104は、CPU1011上で動作するプログラムにより実現される。これに限らず、通信部1101、制御部1102、管理部1103および設定部1104の一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
通信部1101は、通信I/F1015によるネットワークを介して通信を制御する。制御部1102は、スイッチ部120a、120bおよび121により検索経路の制御を行う。また、制御部1102は、上述した公開/非公開処理の制御を行う。管理部1103は、契約情報DB16に格納される契約情報を管理する。設定部1104は、契約情報やモジュールIDの設定を行う。
図7は、実施形態に適用可能な事業者端末40aの一例のハードウェア構成を示す。図7に示される事業者端末40aにおいて、バス400に対してCPU401、ROM402、RAM403および表示制御部404が接続される。また、バス400に対して、ストレージ406、データI/F407、入力デバイス408、無線通信I/F409および撮像部410が接続される。このように、事業者端末40aは、CPU401、ROM402およびRAM403を含むコンピュータが搭載される情報処理装置である。
ストレージ406は、データを不揮発に記憶することが可能な記憶媒体であって、例えばフラッシュメモリなどの不揮発性の半導体メモリである。これに限らず、ストレージ406としてハードディスクドライブを用いてもよい。ストレージ406は、CPU401が実行するためのプログラムや各種データが格納される。なお、ストレージ406およびROM402は、例えば1つの書き換え可能な不揮発性半導体メモリなどを共用してもよい。
CPU401は、ROM402およびストレージ406に記憶されるプログラムに従い、RAM403をワークメモリとして用いて、この事業者端末40aの全体を制御する。表示制御部404は、CPU401により生成された表示制御信号を、表示デバイス405が表示可能な信号に変換して出力する。表示デバイス405は、例えばLCD(Liquid Crystal Display)を含み、表示制御部404から出力された信号により駆動されて表示制御信号に応じた表示を行う。
データI/F407は、外部機器との間でデータの入出力を行う。データI/F407としては、例えば、USB(Universal Serial Bus)やBluetooth(登録商標)といったインターフェイスを適用することができる。
入力デバイス408は、ユーザ入力を受け付ける。ユーザは、例えば表示デバイス405に対する表示に応じて入力デバイス408を操作することで、事業者端末40aに対して指示を出すことができる。なお、入力デバイス408と表示デバイス405とを一体的に構成し、押圧した位置に応じた制御信号を出力すると共に、表示デバイス405の画像を透過するタッチパネルとして構成すると、好ましい。
無線通信I/F409は、CPU401の制御に従いネットワークを介した通信を無線通信により行う。
撮像部410は、光学系と、撮像素子と、光学系および撮像素子の制御駆動回路とを備え、撮像素子から出力される撮像信号に所定の処理を施してディジタル信号による撮像画像として出力する。撮像部410から出力され画像処理を施した撮像画像を、例えばストレージ406に記憶することができる。また、CPU401は、ストレージ406から撮像画像を読み出して、無線通信I/F409によりネットワークに対して送信することができる。
図8は、実施形態に適用可能な事業者端末40aの機能を説明するための一例の機能ブロック図である。事業者端末40aは、画像検索部4001と、記憶部4002と、通信部4003と、制御部4004と、入力部4005と、表示部4006と、撮像制御部4007とを含む。これら画像検索部4001、記憶部4002、通信部4003、制御部4004、入力部4005、表示部4006および撮像制御部4007は、CPU401上で動作するプログラムにより実現される。これに限らず、画像検索部4001、記憶部4002、通信部4003、制御部4004、入力部4005、表示部4006および撮像制御部4007のうち画像検索部4001を除く一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
画像検索部4001は、実施形態に適用可能な事業者端末40aにおける画像検索処理を実行する。画像検索部4001は、サービス提供者が、特定の契約を交わした事業者に配布した画像検索アプリが事業者端末40aにインストールされることで、事業者端末40a上に構成される。
記憶部4002は、ストレージ406およびRAM403に対するデータの記憶を制御する。通信部4003は、無線通信I/F409による通信を制御する。制御部4004は、事業者端末40aの全体の動作を制御する。入力部4005は、入力デバイス408に対してなされた入力操作に従った入力情報を出力する。表示部4006は、表示制御部404に供給するための表示制御信号を生成する。撮像制御部4007は、撮像部410の撮像動作を制御する。
図9は、実施形態に適用可能な画像検索部4001を構成するための画像検索アプリの一例の構成を示す。図9において、画像検索アプリ4001’は、アプリID4010と、画像検索モジュール4020と、タイプ情報4030とを含む。画像検索モジュール4020は、画像検索モジュール4020を識別するための識別情報であるモジュールID4021を含む。
画像検索アプリ4001’は、上述したカスタマイズアプリであって、例えば、事業者が提供する所定のアプリに、サービス提供者が提供する画像検索モジュール4020を組み込んで構成される。タイプ情報4030は、事業者が画像検索アプリ4001’に組み込んでもよいし、サービス提供者が、画像検索モジュール4020に予め組み込んで事業者に提供してもよい。アプリID4010(第2の識別情報)は、例えば、画像検索アプリ4001’に組み込まれた、事業者に提供する画像検索モジュール4020毎に一意の識別情報であって、事業者が作成する1のカスタマイズアプリを識別する。したがって、1の事業者が複数のカスタマイズアプリを作成した場合、カスタマイズアプリ毎に異なるアプリIDを持つことになる。なお、同一事業者の複数のカスタマイズアプリに対して1のアプリIDを与えるようにしてもよい。アプリID4010は、例えば、画像検索アプリ4001’の最初の実行時に管理サーバ101から与えられる。アプリID4010を用いることで、検索要求を送信した画像検索アプリ4001’を特定することができる。
タイプ情報4030は、画像検索モジュール4020を組み込んだ画像検索アプリ4001’の検索形態が「お試し版」および「本利用版」の何れの形態であるかを示す情報である。「本利用版」は、一般ユーザによる検索端末30を用いた検索が可能な検索形態であり、検索対象が公開用のDBである画像検索用DB112bとされる。一方、「お試し版」は、例えば事業者が用意した画像に基づく検索が正しく行われるか否かを試行するための検索形態であり、検索対象が、非公開用のDBである画像検索用DB112a、若しくは、「お試し版」のために別途用意されたDBとされる。
タイプ情報4030は、事業者が画像検索アプリ4001’に組み込んでもよいし、サービス提供者が、画像検索モジュール4020に予め組み込んで事業者に提供してもよい。また、タイプ情報4030は、当該画像検索アプリ4001’がインストールされた事業者端末40aに対する操作に応じて「本利用版」および「お試し版」を書き換えるようにもできる。
図10は、実施形態に適用可能な画像検索モジュール4020の機能を説明するための一例の機能ブロック図である。図10において、画像検索モジュール4020は、撮像画像取得部4022と、モジュールID記憶部4023と、検索要求送信部4024と、検索結果受信部4025と、表示情報生成部4026と、入力受付部4027とを含む。
撮像画像取得部4022は、撮像制御部4007から、撮像部410により撮像された撮像画像を取得する。モジュールID記憶部4023は、モジュールID4021の、RAM403またはストレージ406への記憶、RAM403またはストレージ406からの読み出しを制御する。検索要求送信部4024は、撮像画像取得部4022により取得された撮像画像に基づく画像検索を画像検索システム10に要求するための検索要求を作成する。検索要求は、撮像画像と、モジュールID4021と、タイプ情報4030とを含む。検索要求送信部4024は、作成した検索要求を、無線通信I/F409により画像検索システム10に送信する。
検索結果受信部4025は、検索要求送信部4024が送信した検索要求に応じて画像検索システム10から送信された検索結果を受信する。表示情報生成部4026は、表示デバイス405に表示させるための表示情報を生成する。例えば、表示情報生成部4026は、検索結果受信部4025が受信した検索結果に応じた表示を行うための表示情報を生成する。入力受付部4027は、入力デバイス408に対してなされた入力操作を受け付ける。
ここで、画像検索モジュール4020は、画像検索システム10との連携による画像検索を行うための核となる各部から構成される。サービス提供者は、契約を交わした事業者に画像検索モジュールを提供するため、事業者は、この画像検索モジュール4020を、独自のアプリケーションプログラムに容易に組み込むことが可能である。この、画像検索モジュール4020を独自のアプリケーションプログラムに組み込むことを、画像検索モジュール4020によるカスタマイズと呼ぶ。カスタマイズにより画像検索モジュール4020が組み込まれたアプリケーションプログラムが、上述したカスタマイズアプリである。
画像検索モジュール4020による各機能を実現するための情報処理プログラムは、モジュールID4021と共に、インストール可能な形式また実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、情報処理プログラムおよびモジュールID4021を、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該情報処理プログラムおよびモジュールID4021をインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
情報処理プログラムは、上述した各部(撮像画像取得部4022、モジュールID記憶部4023、検索要求送信部4024、検索結果受信部4025、表示情報生成部4026および入力受付部4027)を含むモジュール構成となっている。実際のハードウェアとしては、CPU401がストレージ406などの記憶媒体から当該情報処理プログラムを読み出して実行することにより、上述した各部がRAM403などの主記憶装置上にロードされ、撮像画像取得部4022、モジュールID記憶部4023、検索要求送信部4024、検索結果受信部4025、表示情報生成部4026および入力受付部4027が主記憶装置上に生成されるようになっている。
なお、検索端末30は、上述した事業者端末40aと略同等のハードウェア構成および機能構成で実現できるので、ここでの詳細な説明を省略する。検索端末30は、タイプ情報4030が一般ユーザ向けに設定された画像検索アプリ4001’を含む。
(実施形態に適用可能な登録処理)
次に、実施形態に適用可能な各登録処理について説明する。図11は、実施形態に適用可能な、登録端末20において登録ツール21によって実行される各登録処理を示す一例のフローチャートである。なお、図11のフローチャートの処理に先立って、登録ツール21を利用するユーザの情報(ユーザIDおよびパスワード)は、ユーザ管理サーバ105によりユーザDB106に登録されているものとする。また、以下において、画像は、キャンペーンを単位として登録され、登録者によって指定されたキャンペーンに関連付けて登録されるものとする。
ここで、キャンペーンについて、概略的に説明する。キャンペーンは、キャンペーンIDにより識別され、1以上の画像と、メタデータと、関連キャンペーン情報とを含む。なお、キャンペーンという名称は、事業者向けの文言であり、権利範囲を限定するものではない。事業者が、一般ユーザに向けて、画像検索機能を利用した何らかのサービスを提供する場合に、サービス単位で画像や連携情報や各種属性情報を管理しやすいように、キャンペーンという単位を用意している。
キャンペーンに含まれるページ単位の各画像は、ページと呼ばれ、1以上の連携情報を含む。メタデータは、キャンペーンの属性情報を含む。キャンペーンの属性情報は、例えば、キャンペーンに関して、キャンペーンID、キャンペーン名、登録を依頼したクライアント名、更新日時、公開中および非公開中の何れであるかを示す状態を示す情報などを含む。関連キャンペーン情報は、このキャンペーンに関連する他のキャンペーンを示す情報である。このキャンペーンを示す情報は、例えば管理サーバ101により契約情報DB16に格納される。
登録端末20において登録ツール21が起動されると、ステップS100で、登録ツール21は、ユーザに対するログイン処理を行う。例えば、登録ツール21は、登録端末20の表示デバイスに、図12で示されるログイン画面500の表示を行う。図12の例では、ログイン画面500は、ユーザ情報(ユーザIDおよびパスワード)を入力するための入力部5001と、ログインを指示するためのボタン5002と、パスワードの再発行を依頼するためのボタン5003とが配置されている。
例えば、登録ツール21は、入力部5001にユーザIDおよびパスワードが入力されると、入力されたユーザIDおよびパスワードをユーザ管理サーバ105に送信し、ユーザIDの認証を要求する。登録ツール21は、ユーザ管理サーバ105からの、ユーザIDの認証が成功したことを示す情報を受信した場合に、処理をステップS101に移行させる。
ステップS101で、登録ツール21は、登録端末20のディスプレイに、メニュー領域を含む画面の表示を行う。図13は、実施形態に適用可能な、メニュー領域5500を含むクライアント一覧画面550の例を示す。なお、以下では、登録端末20のディスプレイに画面を表示させることを、単に「表示させる」などのように記述する。図13の例では、クライアント一覧画面550は、タブ5501a、5501b、5501cおよび5501dを含むメニュー領域5500と、ボタン群5502と、検索入力部5503と、リスト表示領域5504と、終了ボタン5505とが配置される。
メニュー領域5500に含まれるタブ5501a、5501b、5501cおよび5501dは、メニュー項目を選択して登録ツール21の動作モードを決定するためのタブである。タブ5501aおよび5501bは、ユーザ管理モードに移行するためのタブであって、操作することでそれぞれ管理者一覧およびクライアント一覧が表示される。タブ5501cは、画像登録モードに移行するためのタブであって、操作することでキャンペーン一覧が表示される。また、タブ5501dは、モジュール情報登録モードに移行するためのタブであって、サービス提供者と事業者との間で交わされた契約を示す契約情報の一覧が表示される。
リスト表示領域5504は、タブ5501a、5501b、5501cおよび5501dにより選択したメニュー項目に対応するリストが表示される。図13の例は、タブ5501bが操作されクライアント一覧が選択されている様子を示している。以下では、リストの各行をレコードと呼び、各列を項目と呼ぶ。
ボタン群5502は、リスト表示領域5504に表示されるリストに対する処理を選択する。図13の例では、ボタン群5502は4個のボタンを含み、各ボタンは、左から、「新規登録」、「編集」、「削除」、「CSV出力」の各機能が割り当てられている。「新規登録」ボタンは、リスト表示領域5504に表示されるリストに対して新規にレコードを追加する。「編集」ボタンは、リスト表示領域5504に表示されるリストにおいて選択されたレコードの情報を編集する。「削除」ボタンは、リスト表示領域5504に表示されるリストにおいて選択されたレコードの情報を削除する。「CSV出力」は、リスト表示領域5504に表示されるリストの情報をCSV(Comma-Separated Values)形式のテキストファイルで出力する。
検索入力部5503は、リスト表示領域5504に表示されるリストから、選択または入力された検索キーに基づきレコードが選択される。終了ボタン5505は、登録ツール21による処理を終了する。
なお、図13の例では、クライアント情報は、レコードに、「クライアントID」、「クライアント名」、「パスワード」、「電子メールアドレス(Email)」、「最終更新日」、「公開ページ数」、「利用ページ数」、「契約ページ数」の各項目を含んでいる。クライアント情報は、さらに多くの項目を含んでもよい。
説明は図11に戻り、ステップS101でメニュー表示がなされると、処理が次のステップS102に移行され、登録ツール21は、タブ5501a、5501b、5501cおよび5501d、ならびに、終了ボタン5505の何れかが操作され、処理が選択されるのを待機する。若し、終了ボタン5505が操作された場合、登録ツール21は、処理をステップS103に移行させ、ユーザのログアウト処理を行い、登録ツール21の動作を終了させる。
ステップS102で、タブ5501aまたはタブ5501bが操作されユーザ管理モードが選択された場合、登録ツール21は、処理をステップS104に移行させる。そして、登録ツール21は、ステップS104において、ステップS102でタブ5501aおよび5501bの何れが操作されたかに応じて、管理者一覧画面とクライアント一覧画面(図13参照)とのうち何れかの管理画面の表示を行う。ここでは、タブ5501bが操作され、図13に示されるクライアント一覧画面550が表示されたものとする。
クライアント一覧画面550において、ボタン群5502に含まれる「新規登録」または「編集」ボタンが操作されると、図14に例示される、実施形態に適用可能なクライアント登録/編集画面510が表示される。図14において、クライアント登録/編集画面510は、入力領域5101〜5108と、「OK」ボタン5109と、「キャンセル」ボタン5110とが配置される。
入力領域5101は、登録するクライアントの名前が入力される。入力領域5102は、当該クライアントが利用可能なページ数の上限値を入力する。入力領域5103は、当該クライアントの連絡先(この例では電子メールアドレス)が入力される。入力領域5104は、当該クライアントを識別するためのクライアントIDが入力される。入力領域5105は、当該クライアントが画像検索システム10を利用する際の認証に用いるパスワードが入力される。入力領域5106は、入力領域5105に入力されるパスワードの初期値を自動生成するためのボタンである。入力領域5107は、備考が入力される。
入力領域5108は、当該クライアントのクライアントIDに関連付けられたモジュールID4021が入力される。入力領域5108に対するモジュールID4021の入力は、マニュアルにて行うことができる。これに限らず、モジュールID4021の入力は、当該クライアントIDに対して既にモジュールID4021が関連付けられている場合、この関連付けられたモジュールID4021から選択して入力するようにもできる。
「OK」ボタン5109は、各入力領域5101〜5108に入力された内容を確定させる。例えば、登録ツール21は、「OK」ボタン5109が操作されると、各入力領域5101〜5108に入力された各情報を管理サーバ101に送信する。管理サーバ101は、登録ツール21から送信された各情報を受信し、受信した各情報を契約情報DB16に格納する。「キャンセル」ボタン5110は、各入力領域5101〜5108に入力された情報を破棄し、クライアント一覧画面550を表示させる。
登録ツール21は、管理者一覧画面またはクライアント一覧画面550での処理が終了した旨の操作がなされると、処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。
ステップS102で、タブ5501dが操作され、モジュール情報登録モードが選択された場合、登録ツール21は、処理をステップS106に移行させる。ステップS106で、登録ツール21は、図15に例示するような、実施形態に適用可能な契約一覧画面540を表示させる。図15において、契約一覧画面540は、ボタン群5401と、検索入力部5402と、リスト表示領域5403と、終了ボタン5404とが配置される。登録ツール21は、終了ボタン5404が操作されると、処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。
リスト表示領域5403は、管理サーバ101(契約情報DB16)に登録される契約情報のリストが表示される。図15の例では、リスト表示領域5403に表示されるリストにおいて、各レコードは、「クライアントID」、「契約タイプ」、「利用開始日」、「利用終了日」、「DB(データベース)」、「DB番号」、「モジュールID」、「アプリID」、「パッケージ名」、「アプリ名」、「備考」の各項目を含む。レコードの情報は、管理サーバ101により契約情報DB16に格納される。登録ツール21は、管理サーバ101と通信を行い、契約情報DB16に格納される契約情報を取得し、取得した契約情報をリスト表示領域5403に表示させる。
ボタン群5401は、4個のボタンを含み、各ボタンは、左から、「新規登録」、「編集」、「削除」、「CSV出力」の各機能が割り当てられている。「新規登録」ボタンは、リスト表示領域5403に表示されるリストに対して新規にレコードを追加する。「編集」ボタンは、リスト表示領域5403に表示されるリストにおいて選択されたレコードの情報を編集する。「削除」ボタンは、リスト表示領域5403に表示されるリストにおいて選択されたレコードの情報を削除する。「CSV出力」は、リスト表示領域5403に表示されるリストの情報をCSV形式のテキストファイルで出力する。
ボタン群5401に含まれる「新規登録」ボタンまたは「編集」ボタンが操作された場合、契約情報の新規登録または編集を行う画面として、例えば、図16に例示される、実施形態に適用可能なモジュール登録/編集画面520が表示される。図16において、モジュール登録/編集画面520は、入力領域5201〜5211と、「OK」ボタン5212と、「キャンセル」ボタン5213とが配置される。
入力領域5201は、サービス提供者が事業者に提供する画像検索モジュール4020のモジュールID4021が入力される。モジュールID4021は、画像検索システム10が提供する各画像検索モジュール4020で一意な値が用いられる。例えば、モジュールID4021は、管理サーバ101により一意に生成される。管理サーバ101は、生成したモジュールID4021を登録ツール21に送信する。登録ツール21は、管理サーバ101から送信されたモジュールID4021を受信すると、受信したモジュールID4021を入力領域5201に入力する。これに限らず、モジュールID4021をマニュアルで入力してもよい。例えば、事業者との契約は、モジュールID4021毎に行われる。
入力領域5202は、契約形態(契約タイプ)が入力される。この例では、契約形態は、評価契約と本契約との2つの形態が用意される。評価契約は、事業者が画像検索システム10を評価するための契約形態であり、非公開用のDBである画像検索用DB112aに対する画像の登録が可能であり、公開処理ができない。本契約は、評価契約より権限の広い契約であって、非公開用のDBである画像検索用DB112aと、公開用のDBである画像検索用DB112bとに対する画像の登録が可能である。また、本契約では、公開処理および非公開処理が可能である。入力領域5202では、これら評価契約と本契約とが排他的に入力される。
入力領域5203および5204は、それぞれ、入力領域5201に入力されたモジュールID4021、すなわち、当該モジュールID4021に対応する画像検索モジュール4020の利用開始日および利用終了日が入力される。当該画像検索モジュール4020は、入力領域5203に入力された日付から、入力領域5204に入力された日付までの期間内で利用可能とされ、当該期間外では、利用が不可とされる。この利用開始日および利用終了日は、当該画像検索モジュール4020に対する契約の開始日および終了日に対応する。
入力領域5205および5206は、入力領域5201に入力されたモジュールID4021に対応する画像検索モジュール4020が画像検索に用いるデータベースを指定する。入力領域5205は、通常DB111aおよび111bと、専用DB110a1〜110a3および専用DB110b1〜110b3とのうち何れを用いるかを指定する。「通常」を入力した場合、通常DB111aおよび111bが指定される。一方、「専用」を入力した場合は、専用DB110a1〜110a3および専用DB110b1〜110b3の各ペアのうち何れかのペアが指定される。
入力領域5206は、指定したDBのペアのDB番号を入力する。例えば、図4を参照し、入力領域5205に「専用」が入力され、入力領域5206に「SP002」が入力された場合、用いるデータベースとして、専用DB110a2および110b2のペアが指定される。入力領域5205に「通常」が入力された場合には、例えば、通常DB111aおよび111bのペアに割り当てられたDB番号が自動的に入力される。なお、DB番号は、契約に応じて、事業者毎に異なる番号がサービス提供者から事業者に提供される。
入力領域5207は、この契約情報に適用可能な事業者を識別するクライアントIDが入力される。
入力領域5208は、アプリID4010が入力される。入力領域5208は、空欄で構わない。入力領域5208に、画像検索アプリ4001’のアプリID4010を入力することで、入力されたアプリID4010に対応する画像検索アプリ4001’をフィルタリングすることができる。
入力領域5209〜5211は、オプションの情報が入力されるもので、入力を省略することができる。入力領域5209は、例えば、入力領域5201に入力されたモジュールID4021を含む画像検索モジュール4020が組み込まれる画像検索アプリ4001’のパッケージ名が入力される。入力領域5211は、当該画像検索アプリ4001’の名称、または、備考が入力される。入力領域5210は、「追加」ボタンであって、入力領域5211を追加する。
「OK」ボタン5212は、各入力領域5201〜5211に入力された内容を確定させる。例えば、登録ツール21は、「OK」ボタン5212が操作されると、各入力領域5201〜5211に入力された各情報を契約情報として管理サーバ101に送信する。管理サーバ101は、登録ツール21から送信された契約情報を受信し、受信した契約情報を契約情報DB16に格納する。「キャンセル」ボタン5213は、各入力領域5201〜5211に入力された各情報を破棄し、例えば処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。
図11に戻り、ステップS102で、タブ5501cが操作され画像登録モードが選択された場合、登録ツール21は、処理をステップS105に移行させる。ステップS105で、登録ツール21は、ディスプレイに対して、登録されたキャンペーンに関する情報を示す登録情報一覧画面を表示させる。
図17は、ステップS105で表示される、実施形態に適用可能な登録情報一覧画面560の例を示す。図17において、登録情報一覧画面560は、新規登録ボタン5601a、編集ボタン5601b、削除ボタン5601cおよび公開設定ボタン5601dと、検索入力部5602と、リスト表示領域5603と、終了ボタン5604とが配置される。
リスト表示領域5603は、管理サーバ101(契約情報DB16)に登録されるキャンペーン情報のリストが表示される。図17の例では、リスト表示領域5603に表示されるリストにおいて、各レコードは、「キャンペーン名」、「クライアント名」、「クライアントID」、「公開ページ数」、「利用ページ数」、「最終更新日」、「状態」、「モジュールID」、「備考」の各項目を含む。レコードの情報は、管理サーバ101により契約情報DB16に格納される。登録ツール21は、管理サーバ101と通信を行い、契約情報DB16に格納されるキャンペーン情報を取得し、取得したキャンペーン情報をリスト表示領域5603に表示させる。
新規登録ボタン5601aは、リスト表示領域5603に表示されるリストに対して新規にレコードを追加する。編集ボタン5601bは、リスト表示領域5603に表示されるリストにおいて選択されたレコードの情報を編集する。削除ボタン5601cは、リスト表示領域5603に表示されるリストにおいて選択されたレコードの情報を削除する。公開設定ボタン5601dは、リスト表示領域5603に表示されるリストにおいて、項目「状態」で示される公開フラグの値を公開および非公開の何れかの状態に設定し、選択されたレコードの公開/非公開の状態を設定する。
ステップS105で登録情報一覧画面560が表示されると、登録ツール21は、処理を次のステップS110に移行させ、ボタン5601a〜5601d、および、終了ボタン5604に対する操作を待機する。以下、各ボタンに対する操作に応じた処理を、下記の項目(1)〜(5)に従い説明する。
(1)登録ツール21は、ステップS110で、終了ボタン5604が操作された場合、例えば処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。
(2)登録ツール21は、ステップS110で、リスト表示領域5603においてレコードが選択された状態で公開設定ボタン5601dが操作された場合、処理をステップS119に移行させる。ステップS119で、登録ツール21は、選択中のレコードのキャンペーンが公開可能か否かを、当該レコードに含まれるモジュールIDに基づき判定する。
例えば、登録ツール21は、管理サーバ101に対して、契約情報DB16に登録された契約情報のうち、モジュールIDが選択中のレコードに含まれるモジュールIDと一致する契約情報を要求する。登録ツール21は、要求に応じて管理サーバ101から送信された契約情報に従い、契約形態が本契約、且つ、現在の日付が契約期間内である場合に、公開可と判定する。また、登録ツール21は、契約形態が評価契約、または、現在の日付が契約期間外である場合に、公開不可と判定する。
登録ツール21は、ステップS119で公開不可と判定した場合(ステップS119、「No」)、処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。一方、登録ツール21は、ステップS119で公開可と判定した場合(ステップS119、「Yes」)、処理をステップS120に移行させる。
ステップS120で、登録ツール21は、選択されたレコードに示されるキャンペーンに対する公開フラグを設定し、そのキャンペーンの公開および非公開の設定を行うための公開設定画面の表示を行う。
図18は、実施形態に適用可能な公開設定画面の例を示す。図18において、公開設定画面530は、入力領域5301と、「OK」ボタン5302および「キャンセル」ボタン5303とが配置される。入力領域5301は、公開フラグの値を設定するもので、値「公開」および「非公開」が排他的に入力される。ここで、入力領域5301は、選択されたレコードの項目「状態」の値が初期値とされる。「OK」ボタン5302は、入力領域5301に対して入力された公開フラグの値を確定する。
例えば、登録ツール21は、「OK」ボタン5302が操作されると、入力領域5301に対する入力に応じて、公開フラグの値が「公開」および「非公開」の何れかに設定された公開状態が当該レコードに対して設定される。公開フラグの値が「公開」に設定されたレコードに示されるキャンペーンに含まれる画像が公開対象の画像とされ、公開フラグの値が「非公開」に設定されたレコードに示されるキャンペーンに含まれる画像が非公開対象の画像とされる。登録ツール21は、公開状態が設定されると、リスト表示領域5603の表示を更新して、処理をステップS105に戻す。また、登録ツール21は、「キャンセル」ボタン5303が操作された場合、当該レコードの公開状態を公開設定画面530の表示前の状態として、処理をステップS105に戻す。
なお、管理サーバ101は、項目「状態」における公開フラグの値が「公開」とされたレコードに対応するキャンペーンの画像であって、且つ、非公開用のDBに格納される画像を、公開対象の画像として所定のタイミングで公開用のDBに移動する。例えば、管理サーバ101は、公開対象の画像を、定期的、例えば夜間の所定時刻に公開用のDBに移動させる。
(3)登録ツール21は、ステップS110で、リスト表示領域5603においてレコードが選択された状態で、削除ボタン5601cが操作された場合、処理をステップS121に移行させる。ステップS121で、登録ツール21は、選択されたレコードの情報を削除する。このとき、登録ツール21は、レコードの削除を本当に行うか否か、また、レコードに関連付けられた画像の情報を含めてレコードを削除するか否かなどの確認画面を表示させると、好ましい。登録ツール21は、レコードが削除されると、リスト表示領域5603の表示を更新して、処理をステップS105に戻す。
(4)登録ツール21は、ステップS110で、編集ボタン5601bが操作された場合、処理をステップS122に移行させる。ステップS122で、登録ツール21は、登録情報一覧画面560のリスト表示領域5603に表示されるリストにおいて選択されたレコードに示されるキャンペーンに含まれる画像を、登録サーバ104から取得する。登録ツール21は、取得した画像に連携情報が関連付けられている場合、この連携情報も取得する。画像および連携情報を取得すると、登録ツール21は、処理をステップS124に移行させる。
(5)登録ツール21は、ステップS110で、新規登録ボタン5601aが操作された場合、処理をステップS123に移行させ、新規キャンペーンの登録処理を実行する。ステップS123において、登録ツール21は、キャンペーンの新規登録を行うためのキャンペーン登録画面を表示させる。
図19は、実施形態に適用可能なキャンペーン登録画面の例を示す。図19において、キャンペーン登録画面570は、入力領域5701〜5703と、「OK」ボタン5704および「キャンセル」ボタン5705とが配置される。入力領域5701は、キャンペーン名が入力される。入力領域5702は、新規登録するキャンペーンを実施する者(事業者)を識別するクライアントIDが入力される。入力領域5701および5702に入力された各値が、それぞれ、レコードにおける項目「キャンペーン名」および項目「クライアントID」の値となる。
入力領域5703は、モジュールID4021が入力される。この場合、入力領域5703は、入力領域5702に入力されたクライアントIDに関連付けられたモジュールID4021が入力される。例えば、入力領域5703は、クライアントIDに既にモジュールID4021が関連付けられている場合、この関連付けられたモジュールID4021から選択して入力するようにできる。
登録ツール21は、「OK」ボタン5704が操作されると、キャンペーン登録画面570において入力領域5701〜5703に入力された各値を確定し、確定された各値を用いて、登録情報一覧画面560のリスト表示領域5603にレコードを追加する。そして、処理をステップS124に移行させる。一方、登録ツール21は、「キャンセル」ボタン5705が操作されると、入力領域5701〜5703に入力された各値を破棄し、例えば処理をステップS105に戻す。
ステップS124で、登録ツール21は、キャンペーンの情報を編集するための編集画面の表示を行う。登録ツール21は、編集画面に対する入力に応じて、キャンペーンに登録する画像の設定および編集、当該画像に対する対象領域の設定、対象領域に対する連携情報(リンク)や機能の設定などを行うことができる。また、登録ツール21は、編集画面に対する入力に応じて、キャンペーンに登録する画像の登録サーバ104へのアップロードを行うことができる。さらに、登録ツール21は、編集画面に対する入力に応じて、関連する他のキャンペーンの設定を行うことができる。さらにまた、登録ツール21は、編集画面に対する入力に応じて、登録したい画像に類似する画像が登録サーバ104に既に登録されているか否かをチェックすることもできる。
登録ツール21は、編集画面において、編集したキャンペーンの情報の保存が指定されると、処理をステップS125に移行させ、キャンペーンの情報の保存処理を開始する。
次のステップS127で、登録ツール21は、キャンペーンの情報を登録サーバ104に送信し、登録サーバ104に対して、登録される情報の更新を要求する。例えば、登録ツール21は、キャンペーンに含まれる各画像と、各画像に関連付けられる各連携情報と、当該キャンペーンのメタデータとを登録サーバ104に送信する。登録サーバ104は、登録ツール21からの要求に応じて、登録端末20から送信された各情報に基づき、画像検索用DB112aを更新する。
登録ツール21は、ステップS127で登録サーバ104に対する情報更新の要求を送信すると、処理をステップS105に戻す。
(実施形態に適用可能なDB指定方法)
次に、実施形態に適用可能な、画像を登録する対象のDBを指定する方法について、図20のフローチャートを用いて概略的に説明する。この図20のフローチャートによる処理は、例えばサービス提供者により実行される。なお、クライアントである事業者とサービス提供者との間では、画像検索システム10を利用するための契約が、書面などにより予め交わされているものとする。
ステップS200で、サービス提供者は、契約対象の事業者のクライアントIDが登録されているか否かを判定する。例えば、サービス提供者は、登録端末20から管理サーバ101に対して、契約を交わした事業者のクライアント名を含む契約情報が契約情報DB16に登録されているか否かの問い合わせを行い、問い合わせの結果に基づきこの判定を行うことができる。若し、契約対象の事業者のクライアントIDが既に登録されていると判定した場合(ステップS200、「Yes」)、処理がステップS202に移行される。
一方、契約対象の事業者のクライアントIDが登録されていないと判定した場合(ステップS200、「No」)、処理がステップS201に移行される。ステップS201で、サービス提供者は、当該事業者を識別するためのクライアントIDを登録する。例えば、サービス提供者は、登録端末20により図14で示したクライアント登録/編集画面510を表示させ、入力領域5104に事業者のクライアントIDを含む各情報を入力し、「OK」ボタン5109を操作する。これにより、当該事業者のクライアントIDを含めた各情報が、契約情報DB16に登録される。
ステップS201でクライアントIDが登録されると、処理がステップS202に移行される。ステップS202で、サービス提供者は、契約対象の事業者が画像検索モジュール4020を他のアプリケーションプログラム(アプリ)に組み込むか否かを判定する。この判定は、例えば、サービス提供者と当該事業者との間で予め交わされた契約に従いなされる。なお、他のアプリは、例えば当該事業者が提供するアプリである。
ステップS202で、画像検索モジュール4020の他のアプリへの組み込みを行わないと判定された場合、処理がステップS203に移行され、契約対象の事業者との契約が通常契約であるとされる。そして、処理をステップS212に移行させる。
上述したステップS202で、画像検索モジュール4020を他のアプリに組み込むと判定した場合、処理がステップS210に移行され、契約対象の事業者との契約が専用契約であるとされる。そして、次のステップS211で、専用DBを使うか否かを判定する。使わないと判定した場合、サービス提供者は、契約対象の事業者が画像を登録する登録対象の通常DB111aおよび111bを指定する(ステップS212)。
一方、専用DBを使うと判定した場合、サービス提供者は、契約対象の事業者に対して、専用DB110a1および110b1、専用DB110a2および110b2、…の各ペアのうち、登録対象DBとするDBのDB番号を指定する(ステップS213)。
(実施形態に係る検索処理)
次に、実施形態に係る検索処理について説明する。先ず、実施形態に係る事業者端末40aからの検索処理について、図21のフローチャートを用いて説明する。ステップS300で、事業者端末40aは、ユーザ操作に応じて撮像処理を行う。撮像画像は、例えばストレージ406に記憶される。次のステップS301で、事業者端末40aは、撮像画像と、画像検索アプリ4001’に含まれるモジュールID4021およびタイプ情報4030とを含む検索要求を、登録サーバ104に対して送信する。
この検索要求は、管理サーバ101に受信され、管理サーバ101から登録サーバ104に渡される。また、管理サーバ101は、スイッチ(SW)部121を登録サーバ104側に切り替える。それと共に、管理サーバ101は、受信した検索要求に含まれるタイプ情報4030と、モジュールID4021に対応する契約情報とに基づき、スイッチ(SW)部120aを切り替え、検索対象のDBを指定する。
次のステップS302で、事業者端末40aは、登録サーバ104からの通知を待機する。通知が無ければ処理がステップS302に戻される。事業者端末40aは、登録サーバ104からの通知を受信すると、処理をステップS303に移行させ、検索結果を表示する。ステップS303の処理が終了すると、事業者端末40aによる一連の検索処理が終了される。
次に、実施形態に係る管理サーバ101による、検索に関する処理について、図22のフローチャートを用いて説明する。管理サーバ101は、ステップS400で、事業者端末40aからの検索要求を受信したか否かを判定する。受信していないと判定した場合、処理をステップS400に戻す。一方、管理サーバ101は、事業者端末40aからの検索要求を受信したと判定した場合、処理をステップS401に移行させる。
ステップS401で、管理サーバ101は、受信した検索要求に含まれるモジュールIDに対応する契約情報を、契約情報DB16から取得する。次に、ステップS404で、管理サーバ101は、ステップS401で取得した契約情報に含まれる利用開始日および利用終了日に基づき、現在の日付が契約期間内であるか否かを判定する。管理サーバ101は、現在の日付が契約期間外であると判定した場合、処理をステップS430に移行させ、契約期間外である旨のエラー通知を事業者端末40aに送信する。
一方、管理サーバ101は、ステップS404で現在の日付が契約期間内であると判定した場合、処理をステップS405に移行させる。ステップS405で、管理サーバ101は、ステップS401で取得した契約情報に含まれる契約形態と、事業者端末40aから受信した検索要求に含まれるタイプ情報4030とに基づき、検索形態を判定する。
契約形態およびタイプ情報に基づく検索形態の分類は、次のようになる。先ず、契約形態に関し、契約形態が「評価契約」の場合、画像検索システム10に対する画像の登録は可能だが、公開処理は不可である。したがって、評価契約の場合は、非公開用のDBのみが検索対象となる。一方、契約形態が「本契約」の場合、画像検索システム10に対する画像の登録が可能であり、さらに、公開/非公開処理が可能である。したがって、本契約の場合には、非公開用のDBと公開用のDBとが検索対象となる。
次に、タイプ情報4030に関し、タイプ情報4030は、上述したように「お試し版」および「本利用版」の2種類のタイプを示し、これら「お試し版」および「本利用版」は、契約形態が本契約の場合に有効となる。契約形態が本契約、且つ、タイプ情報4030が「お試し版」の場合には、後述するお試し版処理が実行される。お試し版処理においては、非公開用のDB、または、公開用のDBが複製されたDBが検索対象となる。一方、契約形態が本契約、且つ、タイプ情報4030が「本利用版」の場合には、公開用のDBが検索対象となる。
以上から、ステップS405では、(1)契約形態が本契約且つタイプ情報4030が「本利用版」、(2)契約形態が評価契約、(3)契約形態が本契約且つタイプ情報4030が「お試し版」の3通りの判定がなされる。
ステップS405で、管理サーバ101は、上述した判定条件により、(1)契約形態が本契約且つタイプ情報4030が「本利用版」であると判定した場合、処理をステップS406に移行させる。ステップS406で、管理サーバ101は、検索要求を送信した事業者端末40aの検索対象を公開用のDBとし、検索要求に含まれるモジュールID4021に対応する契約情報に基づき、検索対象のDBを、通常DB111bと、専用DB110b1、110b2、…とから選択するよう、スイッチ部121および120bを切り替える。検索サーバ100は、選択された検索対象DBに対して、画像検索を行う。検索要求は、管理サーバ101から検索サーバ100に渡してもよいし、例えばスイッチ部121に保持しておいてもよい。
検索サーバ100は、次のステップS407で、検索結果を、検索要求を送信した事業者端末40aに通知する。
ステップS405で、管理サーバ101は、上述した判定条件により、(2)契約形態が評価契約であると判定した場合、処理をステップS411に移行させる。ステップS411で、管理サーバ101は、検索要求を送信した事業者端末40aの検索対象を非公開用のDBとし、検索要求に含まれるモジュールID4021に対応する契約情報に基づき、検索対象のDBを、通常DB111aと、専用DB110a1、110a2、…とから選択するよう、スイッチ部121および121aを切り替える。登録サーバ104は、選択された検索対象DBに対して、画像検索を行う。検索要求は、管理サーバ101から登録サーバ104に渡してもよいし、例えばスイッチ部121に保持しておいてもよい。
登録サーバ104は、次のステップS412で、検索結果を、検索要求を送信した事業者端末40aに通知する。
ステップS405で、管理サーバ101は、上述した判定条件により、(3)契約形態が本契約且つタイプ情報4030が「お試し版」であると判定した場合、処理をステップS420に移行させ、後述する、実施形態に係るお試し版用処理を実行する。
上述したステップS407、ステップS412、ステップS420またはステップS430の処理が完了すると、図22のフローチャートによる一連の処理が終了される。
(第1の実施形態)
次に、第1の実施形態について説明する。第1の実施形態は、上述した図22のフローチャートにおけるステップS420のお試し版用処理に関するもので、画像検索システム10に登録しようとする画像が正しく検索されるか否かを、当該画像が画像検索システム10において公開される前に確認できるようにする。
第1の実施形態では、正しく検索されるか否かを確認する確認対象の画像(試行画像と呼ぶ)が公開用のDBに登録された状態を近似するDB(第2の登録部)を、確認用のDBとして生成する。そして、この確認用のDBから試行画像との類似度に基づき画像検索を行い、試行画像を公開用のDB(第1の登録部)に登録した際に、正しく検索されるか否かを判定する。
図23は、第1の実施形態に係る管理サーバ101’の機能を説明するための一例の機能ブロック図である。図23において、上述した図6と共通する部分には同一の符号を付して、詳細な説明を省略する。図23に示されるように、管理サーバ101’は、図6を用いて説明した管理サーバ101に対して生成部1105を追加した構成となっている。生成部1105は、上述した確認用のDBを生成する。
より具体的には、第1の実施形態では、生成部1105は、確認用のDBの生成を、検索サーバ100に含まれる画像検索用DB11を複製することで行う。すなわち、第1の実施形態では、管理サーバ101’は、生成部1105により画像検索用DB11を複製して生成されたDBを確認用のDBとして用い、登録サーバ104に対して、試行画像の確認用のDBへの登録を要求する。
生成部1105は、通信部1101、制御部1102、管理部1103および設定部1104と共に、CPU1011上で動作するプログラムにより実現してもよいし、通信部1101、制御部1102、管理部1103、設定部1104および生成部1105の一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
図24を用いて第1の実施形態における処理について、概略的に説明する。なお、図24において、上述した図3と対応する部分には同一の符号を付して、詳細な説明を省略する。
図24において、画像検索用DB112bは、上述したように、公開処理済みの画像が登録されている。図22のステップS420でのお試し版用処理において、管理サーバ101’は、例えば検索サーバ100を制御することで画像検索用DB112bを複製して画像検索用DB112b’を作成し、登録サーバ104に対して、画像検索用DB112b’に試行画像60の登録を要求し、確認用のDBを生成する。したがって、確認用のDBとしての画像検索用DB112b’には、公開処理済みの画像と、試行画像60とが登録されている。なお、この画像検索用DB112b’は、非公開用のDBとして扱うものとし、一般ユーザの検索端末30からの検索を受け付けないようにされる。
登録サーバ104は、試行画像60が撮像された撮像画像に基づく検索要求に応じて、確認用のDBとしての画像検索用DB112b’から、当該撮像画像に類似する画像を検索する。このように、第1の実施形態では、実際に公開されている画像検索用DB112bを複製した画像検索用112b’に対して試行画像60を登録して確認用のDBを生成し、この確認用のDBに対して試行画像60に基づき類似画像の検索を行っている。そのため、試行画像60による検索が正しく行われるか否かを、試行画像60の公開前に、高精度で確認することができる。
なお、上述では、確認用のDBに対する検索を、試行画像60が撮像された撮像画像を用いて行っているが、これはこの例に限定されない。例えば、確認用のDBに対する検索を、試行画像60をそのまま用いて行ってもよい。
図25および図26のフローチャートを用いて、第1の実施形態に係る管理サーバ101’の処理について、より具体的に説明する。図25は、管理サーバ101’における、お試し版処理に対する事前処理の例を示すフローチャートである。
この図25のフローチャートにより処理に先立って、例えば事業者43aは、試行画像60を用意し、用意した試行画像60を管理サーバ101’に送信して、お試し版処理を実行する旨を管理サーバ101’に通知する。事業者43aは、試行画像60を、例えば登録端末20を用いて管理サーバ101’に送信する。
図25のフローチャートにおいて、ステップS500で、管理サーバ101’は、事業者43aからの試行画像60を受信すると、公開用のDBである画像検索用DB112bを複製して画像検索用DB112b’を作成する。
なお、上述したように、画像検索用DB112bは、通常DB111bと、専用DB110b1、110b2、…とを含む。登録サーバ104は、画像検索用DB112bに含まれるこれら通常DB111bと、専用DB110b1、110b2、…とのうち、事業者43aに指定されたDBを選択して複製する。以下では、特に記載の無い限り、この、通常DB111bと、専用DB110b1、110b2、…とのうち、事業者43aに指定されたDBを、画像検索用DB112bで代表させて説明を行う。これは、画像検索用DB112b’についても、同様とする。
次のステップS501で、管理サーバ101’は、登録サーバ104に対して、複製された画像検索用DB112b’に対して事業者43aから送信された試行画像60の登録を要求する。この要求に応じて登録サーバ104により試行画像60が画像検索用DB112b’に登録されることで、当該画像検索用DB112b’が確認用のDBとされ、確認用のDBが生成される。
図26のフローチャートによる処理は、上述した図25のフローチャートの処理により確認用のDBが生成された後に、管理サーバ101’において実行される。ステップS510で、管理サーバ101’は、試行画像60を登録した事業者43aによる事業者端末40aからの、お試し版処理による検索要求を受信したか否かを判定する。
例えば、事業者43aは、試行画像60を印刷した印刷媒体を作成する。事業者43aは、事業者端末40aを用いてこの試行画像60が印刷された印刷媒体を撮像し、印刷媒体の画像が含まれる撮像画像と、モジュールID4021と、タイプ情報4030とを含む検索要求を、事業者端末40aから管理サーバ101’に送信する。
管理サーバ101’は、ステップS510で、事業者端末40aからの検索要求を受信していないと判定した場合(ステップS510、「No」)、処理をステップS510に戻す。一方、管理サーバ101’は、事業者端末40aからの検索要求を受信したと判定した場合(ステップS510、「Yes」)、受信した検索要求に含まれるモジュールID4021とタイプ情報4030とに基づき、当該検索要求がお試し版処理による検索要求であるか否かを判定する。管理サーバ101’は、当該検索要求がお試し版処理による検索要求であると判定した場合、処理をステップS511に移行させる。
例えば、管理サーバ101’は、事業者端末40aから受信した検索要求に含まれるモジュールID4021に対応する契約形態を契約情報DB16から取得する。管理サーバ101’は、上述したように、取得した契約形態が本契約、且つ、検索要求に含まれるタイプ情報4030が「お試し版」の場合に、当該検索要求がお試し版処理による検索要求であると判定する。
なお、管理サーバ101’は、契約形態が本契約ではない、または、タイプ情報4030が「お試し版」ではない場合に、当該検索処理がお試し版処理による検索要求ではないと判定する。この場合には、例えば、契約形態に従い、図22のフローチャートにおけるステップS406またはステップS411による処理を実行することができる。
ステップS511で、管理サーバ101’は、登録サーバ104に対して、図25のステップS501で生成された確認用のDBから試行画像60に基づく類似画像の検索を行うように要求する。より具体的には、管理サーバ101’は、登録サーバ104に対して、受信した検索要求に含まれる、試行画像60が印刷された印刷媒体を撮像した撮像画像の類似画像を、確認用のDBから検索するように要求する。登録サーバ104は、ステップS511での画像検索の結果を、管理サーバ101’に渡す。管理サーバ101’は、画像検索の結果を検索要求の送信元の事業者端末40aに送信し、検索結果の通知を行う(ステップS512)。
管理サーバ101’は、ステップS512で検索結果の通知を送信すると、処理をステップS513に移行させる。管理サーバ101’は、ステップS513で、事業者端末40aからの次の要求を受信したか否かを判定し、次の要求が無いと判定した場合には(ステップS513、「No」)、処理をステップS513に戻す。一方、管理サーバ101’は、事業者端末40aからの次の要求を受信したと判定した場合(ステップS513、「Yes」)、処理をステップS514に移行させる。
ステップS514で、管理サーバ101’は、事業者端末40aから受信した要求が登録要求か否かを判定し、登録要求であると判定した場合(ステップS514、「Yes」)、処理をステップS515に移行させる。ステップS515で、管理サーバ101’は、登録サーバ104に対して、試行画像60を公開用DBである画像検索用DB112bに登録するように要求する。登録サーバ104は、この要求に応じて、試行画像60を画像検索用DB112bに登録する。
次のステップS516で、管理サーバ101’は、図25のフローチャートのステップS501で生成した確認用のDB(すなわち画像検索用DB112b’)を削除する。
一方、管理サーバ101’は、ステップS514で受信した要求が登録要求ではないと判定した場合(ステップS514、「No」)、処理をステップS517に移行させ、試行画像60の登録処理以外の処理を行う。例えば、管理サーバ101’は、登録サーバ104に対して、図25のステップS501で複製された画像検索用DB112b’に登録した試行画像60を当該画像検索用DB112b’から削除するよう、要求する。
ステップS516またはステップS517の処理が完了すると、図26のフローチャートによる一連の処理が終了される。
(第2の実施形態)
次に、第2の実施形態について説明する。第2の実施形態は、上述した第1の実施形態と同様に、上述した図22のフローチャートにおけるステップS420のお試し版用処理に関するもので、画像検索システム10に登録しようとする画像が正しく検索されるか否かを、当該画像が画像検索システム10において公開される前に確認できるようにする。
第2の実施形態では、試行画像60を非公開用のDBに登録する。そして、試行画像60が登録された非公開用のDBを、公開用のDBに登録された状態を近似するDBと見做し、確認用のDBとして用いて、試行画像60に基づく画像による類似検索を行う。
図27を用いて第2の実施形態における処理について、概略的に説明する。なお、図27において、上述した図3に対応する部分には同一の符号を付して、詳細な説明を省略する。また、第2の実施形態では、第1の実施形態で説明した管理サーバ101’の構成を適用可能である。この場合、生成部1105の機能は、第1の実施形態では公開用のDBを複製し、複製されたDBに対して試行画像60を登録することで確認用のDBを生成していたのに対し、第2の実施形態では、非公開用のDBに対して試行画像60を登録することで確認用のDBを生成する点が異なる。
図27において、画像検索用DB112aは、上述したように、非公開用のDBであり、登録された画像に対する一般ユーザの検索端末30からの検索が禁止される。画像検索用DB112aに登録される画像は、キャンペーン単位で公開フラグが設定されており、公開フラグの値が「公開」とされている画像は、所定のタイミングで公開用のDBである画像検索用DB112bに移動される。
なお、ここでも、上述と同様に、通常DB111bと、専用DB110b1、110b2、…とのうち、事業者43aに指定されたDBを、画像検索用DB112bで代表させて説明を行う。これは、画像検索用DB112aについても同様とする。
第2の実施形態では、管理サーバ101’は、登録サーバ104を制御して確認用のDBを生成する。より具体的には、管理サーバ101’は、登録サーバ104に、非公開用の画像検索用DB112aに対して試行画像60の登録を要求し、確認用のDBを生成する。登録サーバ104は、試行画像60が撮像された撮像画像に基づく検索要求に応じて、確認用のDBとしての画像検索用DB112aから、当該撮像画像に類似する画像を検索する。
図28および図29のフローチャートを用いて、第2の実施形態に係る管理サーバ101’の処理について、より具体的に説明する。図28は、管理サーバ101’における、お試し版処理に対する事前処理の例を示すフローチャートである。
この図28のフローチャートによる処理に先立って、例えば事業者43aは、試行画像60を用意し、用意した試行画像60を管理サーバ101’に送信して、お試し版処理を実行する旨を管理サーバ101’に通知する。事業者43aは、試行画像60を、例えば登録端末20を用いて管理サーバ101’に送信する。
図28のフローチャートにおいて、ステップS520で、管理サーバ101’は、事業者43aからの試行画像60を受信すると、受信した試行画像60の公開フラグの値を「非公開」として、登録サーバ104に対して、当該試行画像60の非公開用のDBである画像検索用DB112aへの登録を要求する。この要求に応じて登録サーバ104により試行画像60が画像検索用DB112aに登録されることで、当該画像検索用DB112aが確認用のDBとされ、確認用のDBが生成される。
図29のフローチャートによる処理は、上述した図28のフローチャートの処理により確認用のDBが生成された後に、管理サーバ101’において実行される。ステップS530で、管理サーバ101’は、試行画像60を登録した事業者43aによる事業者端末40aからの、お試し版処理による検索要求を受信したか否かを判定する。
例えば、事業者43aは、試行画像60を印刷した印刷媒体を作成し、事業者端末40aを用いてこの試行画像60が印刷された印刷媒体を撮像する。事業者43aは、印刷媒体の画像が含まれる撮像画像と、モジュールID4021と、タイプ情報4030とを含む検索要求を、事業者端末40aから管理サーバ101’に送信する。
管理サーバ101’は、ステップS530で、事業者端末40aからの検索要求を受信していないと判定した場合(ステップS530、「No」)、処理をステップS530に戻す。一方、管理サーバ101’は、事業者端末40aからの検索要求を受信したと判定した場合(ステップS530、「Yes」)、受信した検索要求に含まれるモジュールID4021とタイプ情報4030とに基づき、当該検索要求がお試し版処理による検索要求であるか否かを判定する。管理サーバ101’は、当該検索要求がお試し版処理による検索要求であると判定した場合、処理をステップS531に移行させる。
ステップS530において、管理サーバ101’は、図26のステップS510と同様に、受信した検索要求に含まれるモジュールID4021に対応する契約形態を契約情報DB16から取得し、取得した契約形態が本契約、且つ、タイプ情報4030が「お試し版」の場合に、当該検索要求がお試し版処理による検索要求であると判定する。なお、管理サーバ101’は、当該検索要求がお試し版処理による検索要求ではないと判定した場合、例えば、契約形態に従い、図22のフローチャートにおけるステップS406またはステップS411による処理を実行することができる。
ステップS531で、管理サーバ101’は、図26のステップS511と同様にして、登録サーバ104に対して、図28のステップS520で生成された確認用のDBから試行画像60に基づく類似画像の検索を行うように要求する。登録サーバ104は、ステップS531での画像検索の結果を、管理サーバ101’に渡す。管理サーバ101’は、この画像検索の結果を、検索要求の送信元の事業者端末40aに送信し、検索結果の通知を行う(ステップS532)。
管理サーバ101’は、ステップS532で検索結果の通知を送信すると、処理をステップS533に移行させる。管理サーバ101’は、ステップS533で、事業者端末40aからの次の要求を受信したか否かを判定し、次の要求が無いと判定した場合には処理をステップS533に戻し(ステップS533、「No」)、事業者端末40aからの次の要求を受信したと判定した場合(ステップS533、「Yes」)、処理をステップS534に移行させる。
ステップS534で、管理サーバ101’は、事業者端末40aから受信した要求が公開要求か否かを判定し、公開要求であると判定した場合(ステップS534、「Yes」)、処理をステップS535に移行させる。ステップS535で、管理サーバ101’は、登録サーバ104に対して、試行画像60の公開フラグを「公開」に設定する。これにより、当該試行画像60が、所定のタイミングで公開用のDBである画像検索用DB112bに移動され、一般ユーザの検索端末30からの検索が可能な状態とされる。
一方、管理サーバ101’は、ステップS534で受信した要求が公開要求ではないと判定した場合(ステップS534、「No」)、処理をステップS536に移行させ、試行画像60の公開処理以外の処理を行う。例えば、管理サーバ101’は、登録サーバ104に対して、図28のステップS520で画像検索用DB112aに登録された試行画像60を当該画像検索用DB112aから削除するよう、要求する。
ステップS535またはステップS536の処理が完了すると、図29のフローチャートによる一連の処理が終了される。
このように、第2の実施形態では、非公開用のDBである画像検索用DB112aに対して試行画像60を登録して確認用のDBを生成し、この確認用のDBに対して試行画像60に基づき類似画像の検索を行っている。そのため、試行画像60による検索が正しく行われるか否かを、試行画像60の公開前に確認することができる。
第2の実施形態においては、画像検索用DB112aと、公開用のDBである画像検索用DB112bとは、厳密には同一ではないが、近似的に検索の確認をすることができる。上述した第1の実施形態では、試行画像60毎に公開用のDBを複製する必要があった。これに対して、第2の実施形態では、公開前(非公開用)のDBに対して試行画像60を登録することで、当該公開前のDBを、試行画像60が登録された公開用のDBと見做している。そのため、試行画像60に対して新規にDBを生成する必要が無い。
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。