以下に添付図面を参照して、情報処理装置、情報処理システム、情報処理方法および情報処理プログラムの実施形態を詳細に説明する。
(各実施形態に適用可能なシステム)
図1は、各実施形態に適用可能な画像検索システムの一例の構成を概略的に示す。図1において、画像検索システムは、画像検索サーバ10を含み、登録端末20および検索端末30とネットワークを介して通信が可能とされている。画像検索サーバ10は、1台の情報処理装置により構成してもよいし、互いに接続された複数台の情報処理装置により機能を分散させて構成してもよい。
画像検索サーバ10は、登録端末20から送信された画像および連携情報を関連付けてデータベースに登録する。画像検索サーバ10は、検索端末30から送信された、被写体40を撮像した撮像画像に基づきデータベースに登録された画像を検索して、検索された画像に関連付けられた連携情報を検索端末30に送信する。
画像検索サーバ10は、解析部12と、検索部13と、画像検索用データベース(DB)11とを備える。画像検索用DB11は、画像データベース(DB)14と、連携情報データベース(DB)15とを含む。画像DB14は、画像を検索可能に登録する。連携情報DB15は、画像DB14に登録された画像と連携するための連携情報が、当該画像と関連付けられて登録される。
より詳細には、画像検索サーバ10は、登録対象となる画像を解析部12により解析して、当該画像の特徴を表す特徴情報を抽出する。画像検索サーバ10は、抽出された特徴情報を、画像を識別するための画像識別情報と関連付けて画像DB14に格納する。画像検索サーバ10は、また、ユーザに提供するための連携情報を画像識別情報と関連付けて連携情報DB15に格納する。画像(特徴情報)および連携情報がそれぞれ画像識別情報に関連付けられて画像DB14および連携情報DB15に格納されることで、当該画像の画像検索用DB11への登録が行われる。
登録端末20は、画像と、当該画像に関連付けるための連携情報とを取得して、画像検索サーバ10に送信する。画像検索サーバ10は、登録端末20から送信された画像および連携情報を、上述したようにして画像DB14および連携情報DB15に格納し、画像の画像検索用DB11への登録を行う。
なお、図1の例では、登録端末20は、被写体40を撮像した撮像画像を、画像検索用DB11に登録するための画像として用いている。これはこの例に限定されず、登録端末20は、画像検索用DB11に登録するための画像として、外部から供給された画像や、登録端末20の内部で作成した画像を用いてもよい。
検索端末30は、撮像機能を備え、被写体40を撮像した画像をネットワークを介して画像検索サーバ10に送信することができる。検索端末30は、例えばユーザ操作に応じて撮像機能を起動させて被写体40を撮像し、撮像して得た画像と、この画像に類似する画像の検索を要求する検索要求とを画像検索サーバ10に送信する。画像検索サーバ10は、検索端末30から送信された画像および検索要求に応じて画像DB14から当該画像に類似する画像を検索し、検索された画像の識別情報を検索結果として出力する。
例えば、検索端末30から送信された画像は、画像検索サーバ10の検索部13に受信される。検索部13は、受信した画像を解析部12に渡す。解析部12は、検索部13から渡された画像を解析して当該画像から特徴情報を抽出し、抽出した特徴情報を検索部13に渡す。検索部13は、解析部12から渡された特徴情報に基づき、当該特徴情報と類似度の高い特徴情報を画像DB14から検索する。検索部13は、検索された特徴情報に対応する画像識別情報に関連付けられた連携情報を連携情報DB15から取得して、検索端末30に送信する。
連携情報は、例えばインターネット41上のWebサイト42aやWebサイト42bのURL(Uniform Resource Locator)を含むことができる。この場合、検索端末30は、被写体40を撮像した撮像画像に基づき画像検索サーバ10で検索され送信された連携情報に応じて、インターネット41を介してWebサイト42aやWebサイト42bにアクセスすることができる。
図2は、各実施形態に係る情報処理システムの一例の構成を概略的に示す。なお、図2において、上述した図1と共通する部分には同一の符号を付して、詳細な説明を省略する。
図2において、情報処理システム1は、画像検索サーバ10と、登録端末20と、登録サーバ50とを含む。情報処理システム1は、ユーザ管理サーバ60をさらに含んでもよい。なお、図2では、説明のため、画像検索用DB11が画像検索サーバ10の外部に接続されるように示されている。また、画像検索用DB11は、画像DB14に登録される画像に関するメタデータを格納するメタデータDBをさらに有する。
ここで、情報処理システム1において、画像の登録は、キャンペーンを単位として行われる。キャンペーンは、1以上の画像と、各画像に関連付けられる各連携情報とを含み、メタデータは、キャンペーンの属性情報を含む。また、キャンペーンに含まれる各画像を、適宜、ページと記述する。換言すれば、キャンペーンは、ページ単位で画像が含まれる。
画像検索サーバ10は、上述したように、検索端末30からインターネット41を介して送信された画像(撮像画像)を解析部12で解析して特徴情報を抽出し、検索部13により、抽出した特徴情報と類似した特徴情報を画像DB14から検索する。そして、画像検索サーバ10は、画像DB14から検索された特徴情報に関連付けられた画像識別情報に対応する連携情報を連携情報DB15から取得して、検索端末30に送信する。
登録サーバ50は、画像検索用DB11と対応する画像検索用DB11’を備え、画像検索サーバ10と同様に、解析部12および検索部13を含む。また、画像検索用DB11’は、画像検索用DB11’に含まれる画像に関するメタデータを格納するメタデータDBをさらに含む。
登録端末20は、登録ツール21を含む。登録端末20は、顧客62a、62b、62c、…から画像および画像に関連付けるための連携情報がそれぞれ提供される。登録端末20は、顧客62a、62b、62c、…から提供された各画像に対して連携情報をそれぞれ関連付けて登録サーバ50に送信する。この、顧客62a、62b、62c、…から提供された画像に連携情報を関連付けて登録サーバ50に送信する処理は、登録端末20において登録ツール21により実行される処理である。
登録サーバ50は、登録端末20から送信された画像および連携情報を画像検索用DB11’に登録する。すなわち、登録サーバ50は、端末装置20から送信された画像を、登録サーバ50に含まれる解析部12で解析して、当該画像から、当該画像の特徴を表す特徴情報を抽出する。登録サーバ50は、抽出された特徴情報に画像識別情報を関連付けて、画像検索用DB11’に含まれる画像DB14に格納し、画像DB14に格納した画像に対応する連携情報に画像識別情報を関連付けて連携情報DB15に格納して、画像の画像検索用DB11’への登録を行う。
なお、画像DB14および連携情報DB15に格納される画像および連携情報は、さらに、登録を行ったユーザを示す情報(ユーザIDなど)を含むメタデータが関連付けられる。ユーザ情報は、後述するユーザDB61から取得することができる。
登録サーバ50への画像の登録に際して、登録端末20は、登録を行おうとする画像と類似した画像が登録サーバ50に既に登録されているか否かをチェックする、類似画像チェックを行うことができる。
例えば、登録端末20は、類似画像が既に登録されているか否かをチェックしたい画像を登録サーバ50に送信する。登録サーバ50は、この要求に応じて、登録端末20から送信された画像を解析部12で解析して特徴情報を抽出し、抽出した特徴情報に基づき、検索部13により画像検索用DB11’内の画像DB14を検索し、検索結果を登録端末20に送信する。登録端末20は、例えば、登録サーバ50から送信された検索結果を示すメッセージを例えばディスプレイに表示させて提示する。このメッセージにより、チェック対象の画像に類似する画像が既に画像検索用DB11’に登録されているか否かを知ることができ、その結果に応じて画像の変更や修正を行うことができる。
登録サーバ50は、画像検索用DB11’に登録された画像(特徴情報)および連携情報のうち、公開可能に設定された画像および連携情報を画像検索サーバ10に送信して、画像検索用DB11に登録させる。例えば、登録サーバ50は、夜間など所定のタイミングで画像検索サーバ10と通信を行い、登録サーバ50の画像検索用DB11’に登録されている画像のうち、公開可能に設定されており、且つ、画像検索サーバ10の画像検索用DB11に未登録の画像を検索する。そして、登録サーバ50は、検索された画像と、当該画像に関連付けられている連携情報とを画像検索サーバ10に送信する。画像検索サーバ10は、登録サーバ50から送信された画像および連携情報を、画像検索用DB11に登録する。
ユーザ管理サーバ60は、ユーザDB61を備え、情報処理システム1を利用するユーザの情報を管理する。例えば、ユーザDB61は、顧客62a、62b、62c、…の情報や、登録端末20(登録ツール21)の機能を利用可能なユーザの情報、画像検索サーバ10および登録サーバ50を管理する管理者の情報が登録される。
ユーザ管理サーバ60は、例えば、全体管理者、ドメイン管理者、クライアント管理者およびクライアントの4つの階層でユーザ情報を管理する。全体管理者は、ドメイン管理者、クライアント管理者およびクライアントの情報にアクセス可能な権限を有する。ドメイン管理者は、クライアント管理者およびクライアントの情報にアクセス可能な権限を有し、クライアント管理者は、クライアントの情報にアクセス可能な権限を有する。クライアントは、各クライアント自身の情報のみ、アクセス可能とされている。ユーザDB61に登録される各情報は、登録端末20から登録ツール21を用いて、各階層に与えられた権限に応じて閲覧および編集することが可能である。
図3は、各実施形態に適用可能な登録端末20のハードウェアの一例の構成を示す。図3に示される登録端末20において、バス2000に対してCPU2001、ROM(Read Only Memory)2002、RAM(Random Access Memory)2003および表示制御部2004が接続される。また、バス2000に対して、ストレージ2006、データI/F(インターフェイス)2007、入力デバイス2008および通信I/F2009が接続される。
ストレージ2006は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブが用いられる。これに限らず、ストレージ2006として、フラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。ストレージ2006は、CPU2001が実行するためのプログラムや各種データが格納される。
CPU2001は、ROM2002およびストレージ2006に記憶されるプログラムに従い、RAM2003をワークメモリとして用いて、この登録端末20の全体を制御する。
表示制御部2004は、CPU2001により生成された表示制御信号を、表示デバイス2005が表示可能な信号に変換して出力する。表示制御部2004は、CPU2001により生成された表示制御信号に基づき表示デバイス2005を駆動する。表示デバイス2005は、表示制御部2004により駆動されて表示制御信号に応じた表示を行う。
データI/F2007は、外部機器との間でデータの入出力を行う。データI/F2007としては、例えば、USB(Universal Serial Bus)やBluetooth(登録商標)といったインターフェイスを適用することができる。通信I/F2009は、CPU2001の制御に従いネットワークを介した通信を無線通信により行う。
入力デバイス2008は、例えばマウスなどのポインティングデバイスや、キーボードを含み、ユーザ入力を受け付ける。ユーザは、例えば表示デバイス2005に対する表示に応じて入力デバイス2008を操作することで、登録端末20に対して指示を出すことができる。
図4は、各実施形態に係る登録サーバ50のハードウェアの一例の構成を示す。図4において、登録サーバ50は、バス1000に対してCPU1001、ROM1002、RAM1003、ストレージ1004および通信部1005が接続される。ストレージ1004は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブである。これに限らず、ストレージ1004として、フラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。
CPU1001は、ROM1002およびストレージ1004に記憶されるプログラムに従い、RAM1003をワークメモリとして用いて、この登録サーバ50の全体を制御する。
ストレージ1004は、CPU1001が実行するためのプログラムや各種データが格納される。また、上述した画像検索用DB11’は、このストレージ1004上の記憶領域を用いて構成される。なお、図4では、ストレージ1004が1のハードウェアから構成されるように示しているが、これはこの例に限定されず、例えば複数のストレージ装置を1つのストレージ1004として統合的に管理するようにしてもよい。
通信部1005は、CPU1001の制御に従いネットワークを介した通信を無線通信により行う通信I/Fを含む。
なお、図4では、登録サーバ50が1のハードウェアから構成されるように示しているが、これはこの例に限定されず、登録サーバ50を、同等の構成を有する複数のサーバ装置を統合的に制御することで構成してもよい。また、画像検索サーバ10は、登録サーバ50と同様の構成で実現可能であるので、ここでの説明を省略する。
図5は、各実施形態に適用可能な検索端末30のハードウェアの一例の構成を示す。図5に示される検索端末30において、バス3000に対してCPU3001、ROM3002、RAM3003および表示制御部3004が接続される。また、バス3000に対して、ストレージ3006、データI/F3007、入力デバイス3008、通信I/F3009、撮像部3010およびGPS部3030が接続される。
ストレージ3006は、データを不揮発に記憶することが可能な記憶媒体であって、例えばフラッシュメモリなどの不揮発性の半導体メモリである。これに限らず、ストレージ3006としてハードディスクドライブを用いてもよい。ストレージ3006は、CPU3001が実行するためのプログラムや各種データが格納される。なお、ストレージ3006およびROM3002は、例えば1つの書き換え可能な不揮発性半導体メモリなどを共用してもよい。
CPU3001は、ROM3002およびストレージ3006に記憶されるプログラムに従い、RAM3003をワークメモリとして用いて、この検索端末30の全体を制御する。表示制御部3004は、CPU3001により生成された表示制御信号を、表示デバイス3005が表示可能な信号に変換して出力する。
データI/F3007は、外部機器との間でデータの入出力を行う。データI/F3007としては、例えば、USBやBluetooth(登録商標)といったインターフェイスを適用することができる。
表示制御部3004は、CPU3001により生成された表示制御信号に基づき表示デバイス3005を駆動する。表示デバイス3005は、例えばLCD(Liquid Crystal Display)を含み、表示制御部3004により駆動されて表示制御信号に応じた表示を行う。
入力デバイス3008は、ユーザ入力を受け付ける。ユーザは、例えば表示デバイス3005に対する表示に応じて入力デバイス3008を操作することで、検索端末30に対して指示を出すことができる。なお、入力デバイス3008と表示デバイス3005とを一体的に構成し、押圧した位置に応じた制御信号を出力すると共に、表示デバイス3005の画像を透過するタッチパネルとして構成すると、好ましい。
通信I/F3009は、CPU3001の制御に従いネットワークを介した通信を無線通信により行う。
撮像部3010は、光学系と、撮像素子と、光学系および撮像素子の制御駆動回路とを備え、撮像素子から出力される撮像信号に所定の処理を施してディジタル信号による撮像画像として出力する。撮像部3010は、入力デバイス3008に対するユーザ操作による指示に従い、撮像やズームなどの機能を実行する。撮像部3010から出力された撮像画像は、バス3000を介してCPU3001に送られ、プログラムに従い所定の画像処理を施される。撮像部3010から出力され画像処理を施した撮像画像を、例えばストレージ3006に記憶することができる。また、CPU3001は、ストレージ3006から撮像画像を読み出して、通信I/F3009によりネットワークに対して送信することができる。
GPS部3030は、GPS(Global Positioning System)による信号を受信し、受信した信号に基づき緯度および経度からなる現在位置を計算する。
図6は、各実施形態に係る登録端末20の機能を説明するための一例の機能ブロック図である。登録端末20は、登録ツール21を含み、登録ツール21は、取得部201と、抽出部202と、判定部203と、通知部204と、通信部205と、表示部206と、入力部207とを含む。これら取得部201、抽出部202、判定部203、通知部204、通信部205、表示部206および入力部207は、CPU2001上で動作するプログラムにより実現される。
通信部205は、ネットワークを介した通信を制御し、ネットワーク上にデータを送信する送信部と、ネットワークからのデータを受信する受信部として機能する。
表示部206は、表示デバイス2005に表示させるための表示情報を生成する。すなわち、登録端末20において、CPU2001は、表示部206により生成された表示情報に基づき表示制御信号を生成し、生成した表示制御信号を表示制御部2004に渡す。表示制御部2004は、この表示制御信号に従い表示デバイス2005に対して表示情報に従った表示を行う。なお、以下では、この、表示部206が生成した表示情報に従い表示デバイス2005に表示を行う一連の動作を、表示部206が表示を行う、などのように記述する。入力部207は、入力デバイス2008に対する入力操作で入力された情報を受け付ける。
取得部201は、登録端末20の外部から画像を取得する。取得部201は、例えば顧客62aから画像を取得する。取得部201は、顧客62aが有する他の機器からネットワークを介して送信された画像を取得してもよいし、CD(Compact Disk)やDVD(Digital Versatile Disk)といった記録媒体を介して画像を受け取ってもよい。さらに、取得部201は、紙などの印刷媒体から画像を取得してもよい。また、取得部201は、顧客62aから、画像に関連付ける連携情報のための情報を取得する。
抽出部202は、取得部201により取得された画像における所定領域の画像を抽出する。判定部203は、登録サーバ50に登録しようとする画像の一部または全体と類似する画像が登録サーバ50に既に登録されているか否かを判定する。通知部204は、判定部203による判定結果を示す情報の通知を行う。
上述した登録ツール21に含まれる取得部201、抽出部202、判定部203、通知部204、通信部205、表示部206および入力部207は、CPU2001上で動作する情報処理プログラムによって実現される。この情報処理プログラムは、例えばストレージ2006に予め記憶させて提供される。これに限らず、この情報処理プログラムを、ネットワークに接続されたコンピュータ上に格納し、通信I/F2009によりネットワーク経由でダウンロードさせることにより提供するように構成することができる。また、この情報処理プログラムを、ネットワーク経由で提供または配布するように構成してもよい。
これに限らず、情報処理プログラムは、インストール可能な形式または実行可能な形式のファイルでCD、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。この場合、記録媒体に記録された情報処理プログラムは、例えばデータI/F2007に接続された外部のドライブ装置を介して登録端末20に供給される。これに限らず、記録媒体に記録された情報処理プログラムを、パーソナルコンピュータなど他の情報処理装置上に一旦記憶させ、この他の情報処理装置から通信I/F2009やデータI/F2007を介した通信により、登録端末20に供給してもよい。
情報処理プログラムは、例えば、上述した各部(取得部201、抽出部202、判定部203、通知部204、通信部205、表示部206および入力部207)を含むモジュール構成となっており、実際のハードウェアとしてはCPU2001が例えばストレージ2006から情報処理プログラムを読み出して実行することにより上記各部が主記憶装置(例えばRAM2003)上にロードされ、各部が主記憶装置上に生成されるようになっている。
図7は、各実施形態に適用可能な検索端末30の機能を説明するための一例の機能ブロック図である。図7において、検索端末30は、内部ブラウザ部301と、外部ブラウザ部302と、受信部303と、送信部304と、入力部305と、表示部306とを有する。受信部303、送信部304、入力部305および表示部306は、内部ブラウザ部301および外部ブラウザ部302から共通して使用される。
受信部303は、ネットワークを介して送信されるデータの受信処理を行う。送信部304は、ネットワークを介したデータの送信処理を行う。入力部305は、検索端末30が備える入力デバイス3008に対する入力操作を受け付け、操作に応じたデータを取得する。表示部306は、検索端末30が備える表示デバイス3005に対する情報の表示を制御する。入力部305と表示部306とで、検索端末30のユーザインターフェイスが構成される。
内部ブラウザ部301は、情報処理システム1に対応する機能を実現するもので、UI制御部3011、撮像処理部3012、検索要求部3013および呼出部3014を含む。
UI(User Interface)制御部3011は、内部ブラウザ部301の各部(撮像処理部3012、検索要求部3013および呼出部3014)の制御と、内部ブラウザ部301によるユーザインターフェイスの制御を行う。すなわち、UI制御部3011は、表示デバイス3005に表示させるための表示情報を生成して表示部306に渡す。また、UI制御部3011は、表示部306による表示に応じて入力部305が受け付けた入力操作に応じた処理を行う。
撮像処理部3012は、UI制御部3011の制御に従い、検索端末30が備えるカメラ機能を起動して撮像部3010を制御し、撮像画像を出力する。検索要求部3013は、UI制御部3011の制御に従い、撮像処理部3011により取得された撮像画像に基づく検索を要求する検索要求を生成し、生成した検索要求と、撮像画像とを送信部304から画像検索サーバ10に対して送信する。呼出部3014は、UI制御部3011の制御に従い外部ブラウザ部302を呼び出し、外部ブラウザ部302の機能を実行させる。
外部ブラウザ部302は、ブラウザ機能部3021を含む。ブラウザ機能部3021は、一般的なコンピュータに搭載されるのと同等のブラウザアプリケーションであって、例えばHTML(HyperText Markup Language)に従い記述されたファイルを読み込み、所定の表示を行う。
これら内部ブラウザ部301、外部ブラウザ部302、受信部303、送信部304、入力部305および表示部306は、CPU3001上で動作するプログラムによって実現される。これに限らず、内部ブラウザ部301、外部ブラウザ部302、受信部303、送信部304、入力部305および表示部306のうち一部または全部を、互いに協働して動作するハードウェアにより実現してもよい。
なお、検索端末30は、上述した内部ブラウザ部301および外部ブラウザ部302の他にも、様々な機能を含むことができる。例えば、検索端末30は、電話機能や電子メール機能を含むことができる。また、検索端末30は、インターネット41上の所定のWebサイトで提供される動画配信サービスに専用に対応する動画再生機能をさらに含むことができる。
上述した検索端末30に含まれる内部ブラウザ部301および外部ブラウザ部302、ならびに、受信部303、送信部304、入力部305および表示部306は、CPU3001上で動作するプログラムによって実現される。これらのプログラムは、例えばストレージ3006に予め記憶させて提供される。
また、これらのプログラムのうち、例えば内部ブラウザ部301を実現するための内部ブラウザプログラムは、ネットワークに接続されたコンピュータ上に格納し、通信I/F3009によりネットワーク経由でダウンロードさせることにより提供するように構成することができる。また、この内部ブラウザプログラムを、ネットワーク経由で提供または配布するように構成してもよい。
これに限らず、内部ブラウザプログラムは、インストール可能な形式または実行可能な形式のファイルでCD、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。この場合、記録媒体に記録された内部ブラウザプログラムは、例えばデータI/F3007に接続された外部のドライブ装置を介して検索端末30に供給される。これに限らず、記録媒体に記録された内部ブラウザプログラムを、パーソナルコンピュータなど他の情報処理装置上に一旦記憶させ、この他の情報処理装置から通信I/F3009やデータI/F3007を介した通信により、検索端末30に供給してもよい。
内部ブラウザプログラムは、例えば、上述した各部(UI制御部3011、撮像処理部3012、検索要求部3013および呼出部3014)を含むモジュール構成となっており、実際のハードウェアとしては、CPU3001が例えばストレージ3006から内部ブラウザプログラムを読み出して実行することにより上記各部が主記憶装置(例えばRAM3003)上にロードされ、各部が主記憶装置上に生成されるようになっている。
(各実施形態に係る画像登録処理)
次に、実施形態に係る画像登録処理について説明する。図8は、各実施形態に係る、登録端末20において登録ツール21によって実行される画像登録処理の一例を示すフローチャートである。なお、図8のフローチャートの処理に先立って、登録ツール21を利用するユーザの情報(ユーザIDおよびパスワード)は、ユーザ管理サーバ60によりユーザDB61に登録されているものとする。また、以下において、画像は、キャンペーンを単位として登録されるものとする。
登録端末20において登録ツール21が起動されると、ステップS100で、登録ツール21は、ユーザに対するログイン処理を行う。例えば、登録ツール21は、表示部206により図9に例示されるログイン画面400の表示を行う。図9の例では、ログイン画面400は、ユーザ情報(ユーザIDおよびパスワード)を入力するための入力部401と、ログインを指示するためのボタン402と、パスワードの再発行を依頼するためのボタン403とが配置されている。
例えば、登録ツール21は、入力部401にユーザIDおよびパスワードが入力されると、入力されたユーザIDおよびパスワードをユーザ管理サーバ60に送信し、ユーザIDの認証を要求する。登録ツール21は、ユーザ管理サーバ60からの、ユーザIDの認証が成功したことを示す情報を受信した場合に、処理をステップS101に移行させる。
ステップS101で、登録ツール21は、表示部206により、図10に例示されるメニュー画面410の表示を行う。図10の例では、メニュー画面410は、タブ411a、411bおよび411cと、ボタン群412と、検索入力部413と、リスト表示領域414と、終了ボタン415とが配置される。
タブ411a、411bおよび411cは、メニュー項目を選択して登録ツール21の動作モードを決定するためのタブである。タブ411aおよび411bは、ユーザ管理モードに移行するためのタブであって、操作することでそれぞれ管理者一覧およびクライアント一覧が表示される。また、タブ411cは、画像登録モードに移行するためのタブであって、操作することでキャンペーン一覧が表示される。
リスト表示領域414は、タブ411a、411bおよび411cにより選択したメニュー項目に対応するリストが表示される。図10の例では、タブ411bが操作されクライアント一覧が選択されている。以下では、リストの各行をレコードと呼び、各列を項目と呼ぶ。
ボタン群412は、リスト表示領域414に表示されるリストに対する処理を選択する。図10の例では、ボタン群412は4個のボタンを含み、各ボタンは、左から、「新規登録」、「編集」、「削除」、「CSV出力」の各機能が割り当てられている。「新規登録」ボタンは、リスト表示領域414に表示されるリストに対して新規にレコードを追加する。「編集」ボタンは、リスト表示領域414に表示されるリストにおいて選択されたレコードの情報を編集する。「削除」ボタンは、リスト表示領域414に表示されるリストにおいて選択されたレコードの情報を削除する。「CSV出力」は、リスト表示領域414に表示されるリストの情報をCSV(Comma-Separated Values)形式のテキストファイルで出力する。
検索入力部413は、リスト表示領域414に表示されるリストから、選択または入力された検索キーに基づきレコードが選択される。終了ボタン415は、登録ツール21による処理を終了する。
説明は図8に戻り、ステップS101でメニュー表示がなされると、処理が次のステップS102に移行され、登録ツール21は、タブ411a、411bおよび411c、ならびに、終了ボタン415の何れかが操作され、処理が選択されるのを待機する。若し、終了ボタン415が操作された場合、登録ツール21は、処理をステップS103に移行させ、ユーザのログアウト処理を行い、登録ツール21の動作を終了させる。
また、ステップS102で、タブ411aまたはタブ411bが操作されユーザ管理モードが選択された場合、登録ツール21は、処理をステップS104に移行させる。そして、登録ツール21は、ステップS104において、ステップS102でタブ411aおよび411bの何れが操作されたかに応じて、管理者一覧画面およびクライアント一覧画面のうち何れかの表示を行う。登録ツール21は、管理者一覧画面またはクライアント一覧画面での処理が終了した旨の操作がなされると、処理をステップS101に戻し、メニュー表示を行う。
さらに、ステップS102で、タブ411cが操作され画像登録モードが選択された場合、登録ツール21は、処理をステップS105に移行させる。ステップS105で、登録ツール21は、表示部206により、図11に例示するような登録情報一覧画面420の表示を行い、ユーザ操作を待機する。図11において、登録情報一覧画面420は、ボタン421a〜421dと、検索入力部422と、リスト表示領域423と、終了ボタン424とが配置される。
リスト表示領域423は、登録サーバ50に登録されるキャンペーンのリストが表示される。このとき、登録ツール21は、登録サーバ50に登録されるキャンペーンのうち、登録ツール21にログインしたユーザがアクセス可能なキャンペーンを選択してリスト表示領域423に表示させることができる。例えば、登録ツール21は、ユーザ管理サーバ60からログイン中のユーザに関する情報を取得し、この情報に基づき登録サーバ50のメタデータDBから、当該ユーザがアクセス可能なキャンペーンのリストを取得する。
ボタン421aは、リスト表示領域423に表示されるリストに対して新規にレコードを追加する「新規登録」ボタンである。ボタン421bは、リスト表示領域423に表示されるリストにおいて選択されたレコードの情報を編集する「編集」ボタンである。ボタン421cは、リスト表示領域423に表示されるリストにおいて選択されたレコードの情報を削除する「削除」ボタンである。また、ボタン421dは、リスト表示領域423に表示されるリストにおいて選択されたレコードに登録されたキャンペーンの公開および非公開を設定するためのボタンである。
図11の例では、リスト表示領域423に表示されるリストにおいて、各レコードは、「キャンペーン名」、「クライアント名」、「ユーザID」、「担当者名」、「公開ページ数」、「利用ページ数」、「最終更新日」、「状態」、「担当管理者」、「所属ドメイン」、「備考」および「CSV出力」の各項目を含む。レコードの情報は、当該レコードに示されるキャンペーンのメタデータであって、例えば、登録サーバ50における画像検索用DB11’に含まれるメタデータDBに格納される。
なお、レコードは、キャンペーン単位に作成され、1つのキャンペーンに含まれる1以上の画像に関連付けられるもので、例えば、メタデータDBに登録されるメタデータに基づき生成される。登録ツール21は、リスト表示領域423に表示されるレコードの情報を、登録サーバ50の画像検索用DB11’に含まれるメタデータDBから取得することができる。
リスト表示領域423に表示されるリストの各レコードにおいて、項目「キャンペーン名」は、レコードに登録されるキャンペーンに付けられた名前を示す。項目「クライアント名」は、そのレコードのキャンペーンの所有者を示す。項目「ユーザID」は、そのレコードのキャンペーンの所有者のIDを示す。項目「担当者名」は、そのレコードのキャンペーンの情報を入力したユーザ名を示す。
項目「公開ページ数」は、そのレコードのキャンペーンに含まれるページのうち、公開するように設定された公開ページ数を示す。例えば、後述する対象領域が指定されたページが、公開ページとされる。項目「利用ページ数」は、そのレコードのキャンペーンに含まれる全ページ数を示す。すなわち、項目「利用ページ数」に示されるページ数は、そのレコードのキャンペーンが非公開状態であっても表示される。なお、項目「公開ページ数」および「利用ページ数」が何れも「0」となっているレコードは、キャンペーン情報の登録だけ行って、未だ画像が登録されていないことを示す。
項目「最終更新日」は、そのレコードのキャンペーンの情報を最後に編集した日付を示す。項目「状態」は、そのレコードのキャンペーンが公開状態および非公開状態の何れの状態にあるかを示す。項目「担当管理者」は、そのレコードのキャンペーンを担当するユーザの上位の管理者を示す。項目「所属ドメイン」は、項目「担当管理者」が属するドメインの情報を示す。項目「備考」は、任意の情報を入力することができる。また、項目「CSV出力」は、そのレコードの情報をCSV形式のテキストファイルで出力する。
ステップS105で登録情報一覧画面420が表示されると、登録ツール21は、処理を次のステップS110に移行させ、ボタン421a〜421d、ならびに、終了ボタン424に対する操作を待機する。以下、各ボタンに対する操作に応じた処理を、下記の項目(1)〜(5)に従い説明する。
(1)ステップS110で、登録ツール21は、処理の終了を指示するボタン424が操作された場合、例えば処理をステップS101に戻し、メニュー表示を行う。
(2)ステップS110で、登録ツール21は、リスト表示領域423においてレコードが選択された状態で、キャンペーンの公開および非公開を設定するためのボタン421dが操作された場合、処理をステップS120に移行させる。ステップS120で、登録ツール21は、表示部206により、選択されたレコードに示されるキャンペーンの公開および非公開を設定するための公開設定画面の表示を行う。
図12は、公開設定画面の例を示す。図12において、公開設定画面430は、公開設定部431と、OKボタン432aおよびキャンセルボタン432bとが配置される。図12の例では、公開設定部431は、ラジオボタンにより公開および非公開を排他的に設定可能となっており、選択されたレコードの項目「公開状態」の値が初期値とされる。登録ツール21は、OKボタン432aが操作されると、公開設定部431において公開および非公開の何れかに設定された公開状態が当該レコードに対して設定される。登録ツール21は、公開状態が設定されると、リスト表示領域423の表示を更新して、処理をステップS105に戻す。また、登録ツール21は、キャンセルボタン432bが操作された場合、当該レコードの公開状態を公開設定画面430の表示前の状態として、処理をステップS105に戻す。
(3)ステップS110で、登録ツール21は、リスト表示領域423においてレコードが選択された状態で、画像の削除を指定するボタン421cが操作された場合、処理をステップS121に移行させる。ステップS121で、登録ツール21は、選択されたレコードの情報を削除する。このとき、登録ツール21は、レコードの削除を本当に行うか否か、また、レコードに関連付けられた画像の情報を含めてレコードを削除するか否かなどの確認画面を表示させると、好ましい。登録ツール21は、レコードが削除されると、リスト表示領域423の表示を更新して、処理をステップS105に戻す。
(4)ステップS110で、登録ツール21は、画像の編集を指示するボタン421bが操作された場合、処理をステップS122に移行させる。ステップS122で、登録ツール21は、登録情報一覧画面420のリスト表示領域423に表示されるリストにおいて選択されたレコードに示されるキャンペーンに含まれる画像を、登録サーバ50から取得する。登録ツール21は、取得した画像に連携情報が関連付けられている場合、この連携情報も取得する。そして、登録ツール21は、処理をステップS124に移行させる。
(5)また、ステップS110で、登録ツール21は、新規登録を指示するボタン421aが操作された場合、処理をステップS123に移行させ、新規キャンペーンの登録処理を実行する。ステップS123において、登録ツール21は、先ず、表示部206により、キャンペーンの新規登録を行うための、図13に例示されるようなキャンペーン登録画面440の表示を行う。
図13において、キャンペーン登録画面440は、キャンペーン名およびユーザIDを入力するための入力部441および442と、OKボタン443aおよびキャンセルボタン443bとが配置される。入力部441に入力された文字列が、レコードにおける項目「キャンペーン名」の値となる。同様に、入力部442に入力された文字列が、レコードにおける項目「ユーザID」の値となる。
登録ツール21は、OKボタン443aが操作されると、キャンペーン登録画面440において入力部441および442に入力された各文字列を当該レコードの項目「キャンペーン名」および「ユーザID」として設定し、処理をステップS124に移行させる。
ステップS124で、登録ツール21は、表示部206により、キャンペーンの情報を編集するための編集画面の表示を行う。図14は、編集画面の例を示す。図14において、編集画面480は、ヘッダ領域481と、サムネイル表示領域483と、ページ編集領域484と、プレビュー領域485と、対象領域一覧領域486と、リンクアイコン一覧領域487と、ツールバー488とを含む。
ヘッダ領域481は、この編集画面480の編集対象となるキャンペーンの名前が左端に表示され、右端には、登録ツール21にログインしているユーザの権限で利用できるメニューが表示されるユーザメニュー表示部482が配置される。
サムネイル表示領域483は、キャンペーンに含まれる各画像を縮小したサムネイル画像が表示される領域である。例えば、処理が上述のキャンペーン情報の編集を指示するステップS122からこのステップS124に移行された場合、登録ツール21は、ステップS122で登録サーバ50から取得された、リスト表示領域423から選択されたレコードに示されるキャンペーンに含まれる各画像を登録サーバ50の画像DB14から取得する。そして、登録ツール21は、取得した各画像を縮小してサムネイル画像を生成し、サムネイル表示領域483に表示させる。図14の例では、サムネイル表示領域483に対し、サムネイル画像48301、48302、48303、…が表示されている。
なお、処理が上述のキャンペーン情報の新規登録を指示するステップS123からこのステップS124に移行した場合は、サムネイル表示領域483は、空欄となる。また、サムネイル表示領域483の右端に設けられるスクロールバーを操作することで、サムネイル表示領域483外に仮想的に表示される他のサムネイル画像を、サムネイル表示領域483内に順次表示させることができる。
ページ編集領域484は、キャンペーンに含まれる各画像のうち、編集対象となる画像4840が表示される。例えば、登録ツール21は、サムネイル表示領域483に表示される各サムネイル画像48301、48302、48303、…から選択したサムネイル画像の元画像を、画像4840としてページ編集領域484に表示させる。図14の例では、サムネイル表示領域483においてサムネイル画像48302が選択され、この選択されたサムネイル画像48302の元画像が画像4840としてページ編集領域484に表示されている。また、サムネイル表示領域483では、選択され現在ページ編集領域484に表示されるサムネイル画像48302が周囲の枠4832により強調表示されて示されている。
登録ツール21は、ページ編集領域484に表示される画像4840に対して範囲が指定された場合、指定された範囲を対象領域として設定することができる。範囲の指定は、例えばユーザによる入力デバイス2008の操作が入力部207に受け付けられてなされる。例えば、ページ編集領域484に表示される画像4840内の任意の2点を指定することで、指定された2点を対角上の頂点とする矩形範囲が指定される。図14の例では、ページ編集領域484の画像4840に対して矩形の範囲により対象領域4841aおよび4841bがそれぞれ設定されている。
登録ツール21は、設定された対象領域4841aおよび4841bを、例えば領域内の色を領域外と異ならせて表示させることで、対象領域4841aおよび4841bを明示的に示すことができる。また、対象領域の形状は、矩形に限られず、閉じた形状であれば任意の形状を設定することができる。
登録ツール21は、設定された各対象領域4841aおよび4841bを識別する識別情報(通し番号など)を生成し、各対象領域4841aおよび4841bに関連付ける。識別情報は、編集対象のキャンペーンに含まれる各画像を通して対象領域を識別可能に生成される。
また、詳細は後述するが、登録ツール21は、ページ編集領域484において設定された対象領域4841aおよび4841bに対して、1以上の連携情報を関連付けることができる。
さらに、登録ツール21は、サムネイル表示領域483に表示される各サムネイル画像48301、48302、48303、…のうち、ページ編集領域484において何らかの編集、例えば対象領域の指定が行われ、且つ、未保存の画像に対応するサムネイル画像に対して、マーカ画像4831を付加する。
プレビュー領域485は、ページ編集領域484において編集中の画像がこの情報処理システム1に対応するアプリケーションプログラムにより検索端末30の表示デバイス3005に表示される画面をエミュレートしたプレビュー画面4850を表示する。登録ツール21は、プレビュー領域485において、ページ編集領域484において設定された各対象領域4841aおよび4841bを強調表示などにより明示的に表示させる。また、登録ツール21は、プレビュー領域485において、各対象領域4841aおよび4841bに設定された連携情報を示す情報を、各対象領域4841aおよび4841bに対応させて表示させる。
対象領域一覧領域486は、編集対象のキャンペーンに含まれる各画像に設定された各対象領域に付加されている連携情報の一覧がアイコン画像600、600、…にて表示される。図14の例では、登録ツール21は、連携情報を、対応する対象領域に付加された識別情報(通し番号)毎に纏めて対象領域一覧領域486に表示している。また、対象領域一覧領域486において、右端に設けられるスクロールバーを操作することで、対象領域一覧領域486外に仮想的に表示される他の対象領域の連携情報を、対象領域一覧領域486内に順次表示させることができる。
リンクアイコン一覧領域487は、対象領域に対して設定可能な連携情報を、各連携情報に対応するアイコン画像600、600、…を用いて一覧表示する。登録ツール21は、リンクアイコン一覧領域487に表示されるアイコン画像600を所謂ドラッグアンドドロップ操作により移動させ、ページ編集領域484内に設定された例えば対象領域4841aに重ねることで、当該アイコン画像600、600、…に対応する連携情報を当該対象領域4841aに関連付けることができる。また、1つの対象領域に対して、複数の連携情報を関連付けることができる。すなわち、登録ツール21は、対象画像に関連付ける連携情報を選択する選択部として機能する。
リンクアイコン一覧領域487において、右端に設けられるスクロールバーを操作することで、リンクアイコン一覧領域487外に仮想的に配置される他のアイコン画像600を、リンクアイコン一覧領域487内に順次登場させ表示させることができる。
なお、対象領域に対して連携情報が関連付けられた場合に、当該対象領域の所定位置に、関連付けられた連携情報を示すアイコン画像600を表示させることができる。こうすることで、当該対象領域4841aにどの連携情報を関連付けたかを容易に知ることができ、好ましい。また、対象領域に対する連携情報の関連付けは、プレビュー領域485の表示に反映させる。
ツールバー488には、ページ編集領域484に表示されるページ(画像)を指定するページ指定部4880と、登録ツール21が備える様々な機能を実行させるためのボタンまたはボタン群4881〜4889とが配置される。ボタン4881は、編集画面480から登録情報一覧画面420に戻るためのボタンである。
ボタン4882は、登録端末20から登録サーバ50に対して画像をアップロードするためのボタンである。ボタン4882が操作されると、登録ツール21は、表示部206により、例えば図15に例示されるようなファイル選択画面460の表示を行う。図15において、ファイル選択画面460は、例えば登録端末20のCPU2001上で動作するOS(Operating System)により提供される、標準のファイル選択画面であって、フォルダ指定部461と、ファイル一覧表示領域462と、ファイル名表示部463と、ファイル形式指定部464と、ボタン465および466とが配置される。
ファイル一覧表示領域462は、フォルダ指定部461で指定されたフォルダに格納されるファイルの一覧を表示する。ファイル形式指定部464は、ファイル一覧表示領域462に表示させるファイルの形式を指定する。ファイル名表示部463は、ファイル一覧表示領域462において選択されたファイルのファイル名を表示する。ファイル一覧表示領域462に表示されるファイルから1以上のファイルを選択してボタン465を操作することで、例えば、選択されたファイルを示す情報がOSから登録ツール21に渡される。登録ツール21は、OSから渡されたファイル情報に示されるファイルを登録端末20から登録サーバ50に送信し、画像の登録サーバ50に対するアップロードを実行する。ボタン466は、ファイルのアップロードを行わずに編集画面480に戻る際に用いる。
図14の説明に戻り、ボタン群4883は、ページ編集領域484に表示される画像4840の表示サイズを調整するための2つのボタンを含む。
ボタン4884は、ページ編集領域484内に領域を設定する領域設定モードを、対象領域の設定を行う対象領域設定モードに切り替える。登録ツール21は、このボタン4884が操作され編集モードが対象領域設定モードに切り替えられた上で、ページ編集領域484に表示される画像4840上に領域が指定された場合に、当該領域を対象領域に設定する。
ボタン4885は、ページ編集領域484内に領域を指定する領域設定モードを、解析部12による特徴情報の抽出の対象としないマスク領域を指定するマスク設定モードに切り替える。登録ツール21は、このボタン4885が操作され編集モードがマスク設定モードに切り替えられた上で、ページ編集領域484に表示される画像4840上に領域が指定された場合に、当該領域をマスク領域に設定する。
ボタン4886は、キャンペーンの詳細を設定するためのキャンペーン設定画面を表示させるためのボタンである。図16は、キャンペーン設定画面の例を示す。図16において、キャンペーン設定画面450は、表示領域451aおよび451bと、入力領域451c〜451e、453および454と、公開方法設定部452と、ボタン455aおよび455bとが配置される。表示領域451aおよび451bは、それぞれ、図11に示した登録情報一覧画面420におけるレコードの項目「ユーザID」および「クライアント名」の値が変更不可に表示される。
入力領域451cは、キャンペーン名を入力する。入力領域451cは、デフォルトで登録情報一覧画面420におけるレコードの項目「キャンペーン名」の値が入力されている。入力領域451dは、検索端末30において当該キャンペーンを表示させる際に用いる表示名を入力する。入力領域451eは、例えばキャンペーンの登録を行う担当者の名前を入力する。
公開方法設定部452は、キャンペーンの公開方法を設定する。なお、ここでいう公開は、検索端末30上で所定の操作を行った場合の検索端末30における動作をいう。図16の例では、公開方法設定部452は、設定項目として「コレクション」と、「SNS#A」および「SNS#B」といった複数のSNS(Social Networking Service)と、「外部アプリ」とが設けられている。公開方法設定部452は、同時に複数の公開方法を指定可能となっている。
公開方法設定部452で設定可能な公開方法のうち、設定項目「コレクション」は、キャンペーンの情報を検索端末30に保存する。設定項目「SNS#A」および「SNS#B」は、それぞれ、キャンペーンの情報をSNS#AやSNS#Bに投稿する。設定項目「SNS#A」および「SNS#B」において、「投稿にURLを含めるか?」にチェックを入れることで、投稿内容にURLを含めることができる。設定項目「外部アプリ」は、検索端末30において当該情報処理システム1に対応するアプリケーションプログラムに対して外部のアプリケーションプログラムを用いてキャンペーンの情報を表示させる。
入力領域453は、公開方法設定部452において設定項目「SNS#A」および「SNS#B」による公開を設定した場合に、SNS#AおよびSNS#Bにキャンペーンの情報を投稿する際の投稿文を入力する。入力領域454は、例えばキャンペーンに関する備考が入力される。
ボタン455aは、入力領域451c〜451e、453および454と、公開方法設定部452に入力および設定された情報をキャンペーンの設定情報として反映させて、編集画面480に戻る。このキャンペーンの設定情報は、当該キャンペーンのメタデータに含まれる。登録ツール21は、ボタン455aが操作された場合、例えば、入力領域451c〜451e、ならびに、453および454に入力された情報と、公開方法設定部452により設定された設定値とに基づき、キャンペーンに対応するレコードやメタデータを更新する。ボタン455bは、キャンペーンに対応するレコードやメタデータの更新を行わずに、編集画面480に戻る。
説明は図14に戻り、ボタン群4887は、情報のコピー、ペーストおよび削除をそれぞれ実行する3つのボタンを含む。
ボタン4888は、編集画面480のページ編集領域484に現在表示されている画像(ページ)4840の一部または全部に類似する部分を含む画像が画像検索サーバ10に既に登録されているか否かをチェックする類似画像チェックを行う。これは、例えば、画像検索サーバ10の代わりに登録サーバ50を対象とし、登録サーバ50に登録される画像のうち、キャンペーンの設定情報により「公開」が設定された画像をチェック対象とすることで行う。これに限らず、登録サーバ50に登録される「非公開」が設定される画像をさらにチェック対象としてもよいし、画像検索サーバ10を直接的にチェック対象としてもよい。登録ツール21は、登録サーバ50から送信された検索結果を、表示部206により表示する。ユーザは、この検索結果に基づき画像の再編集を行うことができる。
このとき、登録ツール21は、例えば、ボタン4884の操作に応じて設定された対象領域内の画像のみをチェックの対象として登録サーバ50に送信し、類似画像の検索を要求してもよい。また、登録ツール21は、ボタン4885の操作に応じて設定されたマスク領域内の画像をチェックの対象から除外することもできる。さらに、登録ツール21は、ページ編集領域484に現在表示されている画像4840を分割し、分割した画像のそれぞれを登録サーバ50に送信して類似画像の検索を要求して、各々の画像について類似画像チェックを行ってもよい。
ボタン4889は、編集画面480において編集中のキャンペーンの保存を指示する。
ここで、説明を図8に戻し、ボタン4889が操作されると、登録ツール21は、処理をステップS125に移行させ、キャンペーンの保存処理を開始する。保存処理が開始されると、登録ツール21は、処理をステップS126に移行させ、保存対象のキャンペーンが新規登録のキャンペーンであるか否かを判定する。登録ツール21は、処理が上述したステップS122からこのステップS126に移行された場合に、新規登録のキャンペーンではないと判定し、処理をステップS127に移行させる。
一方、登録ツール21は、処理が上述したステップS123からこのステップS126に移行された場合に、新規登録のキャンペーンであると判定し、処理をステップS130に移行させる。
ステップS130で、登録ツール21は、保存対象のキャンペーンに含まれる画像のうち対象領域が設定された画像について、上述した、各画像の一部または全部に類似する部分を含む画像が登録サーバ50に既に登録されているか否かを判定する、類似画像チェックを実行する。例えば、登録ツール21は、保存対象のキャンペーンに含まれる全ての画像を登録サーバ50に送信し、類似画像の検索を要求する。登録ツール21は、次のステップS131で、検索結果に基づき登録サーバ50に類似画像が登録されていないと判定した場合、処理をステップS127に移行させる。
一方、登録ツール21は、ステップS131で、検索結果に基づき登録サーバ50に類似画像が登録されていると判定した場合、処理をステップS132に移行させる。登録ツール21は、ステップS132で、表示部206により例えば図17に例示される警告画面の表示を行う。図17において、警告画面470は、登録サーバ50に類似画像が既に登録されている旨を示す警告メッセージ471が表示されると共に、「はい」ボタン472および「いいえ」ボタン473が配置される。
登録ツール21は、警告画面470において「いいえ」ボタン473が操作された場合、類似画像の登録に対する回避処理を実行することができる。一例として、登録ツール21は、表示部206により、類似画像の登録に対する回避処理の実行を促すメッセージの表示を行い、処理をステップS124に戻す。この場合、回避処理としては、例えば、保存対象のキャンペーンに含まれる画像の変更や、当該画像に対するマスク領域の設定、対象領域の変更などが考えられる。回避処理が実行されると、処理がステップS127に移行される。
一方、登録ツール21は、警告画面470において「はい」ボタン472が操作された場合、上述した回避処理を実行せずに処理をステップS127に移行させ、画像の登録を実行することができる。
ステップS127で、登録ツール21は、キャンペーンの情報を登録サーバ50に送信し、登録サーバ50に対して登録される情報の更新を要求する。例えば、登録ツール21は、キャンペーンに含まれる各画像と、各画像に関連付けられる各連携情報と、当該キャンペーンのメタデータとを登録サーバ50に送信する。登録サーバ50は、登録ツール21からの要求に応じて、登録端末20から送信された各情報に基づき画像DB14および連携情報DB15と、メタデータDBとを更新する。
登録ツール21は、ステップS127で登録サーバ50に対する情報更新の要求を送信すると、処理をステップS105に戻す。
(実施形態に係る連携情報の関連付け方法)
次に、実施形態に係る連携情報の関連付けの方法について説明する。上述したように、実施形態では、登録ツール21は、対象領域4841aなど1つの対象領域に対して複数の連携情報を関連付けることができる。
ここで、対象領域には、様々な種類の情報を連携情報として関連付けが可能である。例えば、連携情報として、検索端末30において内部ブラウザ部301により提示される情報や、外部ブラウザ部302により提示される情報、内部ブラウザ部301および外部ブラウザ部302の両方で提示可能な情報がある。また、連携情報により各ブラウザ部に提示される情報としては、単にWebサイト42aなどへのリンクを示すURLや、SNSに対する投稿や公開設定などを行う情報、インターネット41の所定アドレスに置かれた動画像データや音声データの再生を指示する情報などがある。さらに、検索端末30が電話機能を備えている場合、連携情報は、電話機能を起動させるための情報を含むこともできる。
ここで、異なる種類の各連携情報は、それぞれ異なる設定項目を含むことが考えられる。したがって、ユーザが対象領域に対して連携情報を関連付ける作業が煩雑になってしまうおそれがある。実施形態では、連携情報の設定を容易に実行可能とする連携情報の関連付け方法を提供する。
ここで、対象領域と連携情報との関連付けの具体的な例について説明する。上述したように、対象領域を示す情報は、画像識別情報と関連付けられて連携情報DB15に格納されて登録される。実施形態では、対象領域を示す情報は、例えば、タグを用いてデータの意味や構造を定義して記述するマークアップ言語の一種であるXML(Extensible Markup Language)を用いて記述される。連携情報DB15には、例えば、この対象領域を示す情報が記述されるXMLコードが格納されるファイルのファイル名と、画像識別情報とが関連付けられて格納される。
図18は、実施形態に係る、対象領域を示す情報が記述されるXMLコードの一例を示す。この図18に示されるXMLコード140は、カタログ雑誌のある内容ページの対象領域を記述する例である。最も外側のタグ「<page>」および「</page>」に挟まれた部分により、ページが定義される。各部分1411、1412において、タグ「<hotspot>」および「</hotspot>」に挟まれた部分により、それぞれ1つの対象領域が定義される。このように、1ページに対して複数の対象領域を定義することができる。
部分1411において、最初の行142は、タグ「<area>」および「</area>」に挟まれた部分により、対象領域のページ内での範囲が例えば左上隅の座標(x1,y1)および右下隅の座標(x2,y2)で定義される。
各部分1431、1432において、タグ「<link>」および「</link>」に挟まれた部分により、それぞれ1つの連携情報が定義される。このように、1つの対象領域に対して複数の連携情報を定義することができる。例えば、図18において部分1431に例示されるように、タグ「<title>」および「</title>」に挟まれた部分により連携情報のタイトルが定義される。タグ「<type>」および「</type>」に挟まれた部分によりこの連携情報のタイプが定義される。
この例では、連携情報として、タグ「<URI>」および「</URI>」に挟まれた部分により、例えばインターネット41といったネットワーク上でのアドレス情報が定義されている。この場合、URIに対して引数を付加することで、例えばURIを読み込んだブラウザアプリケーションの振る舞いを指定することができる。また、連携情報は、URIに限られない。予めタグを定義することで、様々な種類の連携情報を記述することが可能である。例えば、連携情報として、特定のアプリケーションプログラムを起動させるための情報を記述することもできる。
また、この例では、タグ「<link>」および「</link>」に挟まれた部分に定義される連携情報において、タグ「<title>」および「</title>」、タグ「<type>」および「</type>」、ならびに、タグ「<URI>」および「</URI>」により、3つの項目が定義されている。
これはこの例に限定されず、タグ「<link>」および「</link>」に挟まれた部分に、さらに多くの項目を定義することができる。タグ「<link>」および「</link>」に挟まれた部分に、項目として画像データを定義し、対象領域の画像データそのものを記述してもよい。
このように、XMLコード140により、ページ内の対象領域および当該対象領域における連携情報を定義しているため、ページ内の当該対象領域に含まれるオブジェクトに関連付けられる連携情報による機能を実行することができる。
(実施形態に係るユーザインターフェイス)
次に、実施形態に係る、連携情報の設定を行うためのユーザインターフェイスについて説明する。上述したように、編集画面480において、リンクアイコン一覧領域487に表示されるアイコン画像600、600、…から所望の連携情報を示すアイコン画像600を選択して対象領域に対してドラッグアンドドロップすることで、当該連携情報を対象領域に対して関連付けることができる。連携情報が関連付けられた対象領域の一覧は、対象領域一覧領域486に表示される。
図19は、図14に示した対象領域一覧領域486をより詳細に示す。対象領域一覧領域486において、領域4861、4862、4863、…は、それぞれ、連携情報が関連付けられた対象領域を示す。また、各領域4861、4862、4863、…内に、対応する対象領域に対して関連付けられた連携情報を示すアイコン画像600、600、…が表示されている。
すなわち、図19において、対象領域一覧領域486の内容が図18のXMLコード140に記述される内容に対応する。例えば、それぞれ対象領域に対応する領域4861および4862が、図18の各部分1411および1412に対応する。また例えば、領域4861に含まれるアイコン画像600、600、…のうち2つが図18の部分1431および1432にそれぞれ対応する。
連携情報に対して設定可能な項目の例について、より具体的に説明する。図20は、実施形態に係る、連携情報に対して設定可能な項目のリストが格納される連携情報設定テーブルの一例を示す。この連携情報設定テーブルは、例えば登録端末20のストレージ3006に記憶される。これに限らず、連携情報設定テーブルを登録サーバ50が保持し、登録端末20が登録サーバ50から連携情報設定テーブルを取得するようにしてもよい。
図20において、連携情報設定テーブルの各レコード(各行)がそれぞれ連携情報を示している。図20の例では、各レコードは、「No」、「アイコン名」、「アイコン」、「起動アプリの選択肢」、「タイトル」、「URL」、「短縮URL/短縮URL設定ボタン」、「電話番号」、「To/Subject」、「Body」、「公開デバイス」、「GPS」、「Collection」、「SNS(#A、#B)」、「OpenIn」の各項目を含む。なお、項目「No」は、各レコードを識別するために設けられている。
図20において、項目「アイコン名」および「アイコン」は、そのレコードの連携情報を示すアイコンに関する情報が記述される。すなわち、項目「アイコン」は、アイコン画像が記述され、項目「アイコン名」は、当該アイコンに付与された名前が記述される。図20の例では、説明のため、項目「アイコン」にアイコン画像が示されているが、実際には、例えば、パスを含むアイコン画像のファイル名が記述される。
項目「起動アプリの選択肢」は、そのレコードの連携情報から起動可能なアプリケーションプログラムを示す情報(名前または種類)が記述される。この項目には、複数のアプリケーションプログラムを示す情報を記述することができる。この場合、検索端末30においてこのレコードの連携情報を選択した際に、検索端末30に対して複数のアプリケーションプログラムから起動させるアプリケーションプログラムを選択させるユーザインターフェイスが提供される。
図20の例では、項目「起動アプリの選択肢」に記述されるアプリケーションプログラムとして、値「Place」、値「E−mail」、値「内部ブラウザ」、値「Map」、値「Phone」、値「内蔵プレーヤ」、値「専用Movie」が定義されている。
これらのうち、値「Place」は、検索端末30における外部ブラウザ部302の機能を実行させ、値「内部ブラウザ」は、内部ブラウザ部301の機能を実行させる。値「E−mail」は、検索端末30に搭載される電子メール機能を実行させる。また、値「Map」は、検索端末30に搭載される地図表示機能を実行させる。値「Phone」は、検索端末30に搭載される電話機能を実行せる。値「内蔵プレーヤ」は、検索端末30に搭載される動画、音声などを再生するための内蔵プレーヤ機能を起動させる。さらに、値「専用Movie」は、検索端末30に搭載される、所定の動画配信サービスに専用に対応する動画再生機能を実行させる。
これら項目「アイコン名」、「アイコン」および「起動アプリの選択肢」は、例えば情報処理システム1により予め設定される。
連携情報設定テーブルにおいて、項目「タイトル」は、そのレコードが対応する連携情報のタイトルの設定を示し、項目「URL」は、そのレコードが対応する連携情報のリンク先のURLの設定を示す。項目「短縮URL/短縮URL設定ボタン」は、そのレコードが対応する連携情報のリンク先の短縮URLの設定を示す。項目「電話番号」は、そのレコードが対応する連携情報に基づき発呼を行う設定を示す。項目「To/Subject」は、そのレコードが対応する連携情報により送信される電子メールなどの宛先および表題の設定を示す。
項目「Body」は、そのレコードが対応する連携情報から送信するための文章の設定を示す。項目「公開デバイス」は、そのレコードが対応する連携情報を公開するための公開デバイスの設定を示す。項目「GPS」は、そのレコードが対応する連携情報の位置情報の利用の設定を示す。
項目「Collection」、「SNS」および「OpenIn」は、そのレコードが対応する連携情報の公開に関する設定が示される。すなわち、項目「Collection」は、そのレコードが対応する連携情報を、検索端末30に記憶させる動作の設定を示す。項目「SNS」は、そのレコードが対応する連携情報のSNSとの共有および当該SNSに対する投稿の設定を示す。項目「OpenIn」は、そのレコードが対応する連携情報から起動するアプリケーションプログラムの選択に関する設定を示す。
連携情報設定テーブルにおいて、予め値が設定される項目「アイコン名」、「アイコン」および「起動アプリの選択肢」以外の各項目は、その項目に対する設定が必須、任意、オプションおよび不可のうち何れであるかを示す情報が記述される。より具体的には、図20の例では、各レコードにおいて「◎(二重丸印)」が示されている項目は、入力が必須である入力必須項目を示す。「○(丸印)」が示されている項目は、入力が必須ではない任意設定項目を示す。また、「△(三角印)」が示されている項目は、任意設定項目に対してさらに設定の必要性が低いオプション項目を示す値が格納される。さらに、空欄の項目は、設定不要または設定不可の項目であることを示す。
例えば、そのレコードが対応する連携情報のタイトルの設定を示す項目「タイトル」は、全てのレコードにおいて必須項目となっている。一方、そのレコードが対応する連携情報から発呼を行う設定を示す項目「電話番号」は、項目「起動アプリの選択肢」において値「Phone」が設定されているレコードのみで必須項目とされ、他のレコードでは設定不可とされている。なお、図20に示される、任意設定項目を含む各項目の設定は、図20の例に限定されない。
図21は、実施形態に係る、図20で示した各項目を設定するための項目設定画面490の一例を示す。登録ツール21は、例えば、図14および図19に示した対象領域一覧領域486に表示される各アイコン画像600、600、…が指定されると、指定されたアイコン画像600により示される連携情報の設定項目に対する設定を行う項目設定画面490を表示部206により表示させる。これに限らず、項目設定画面490は、プレビュー領域485内に表示される連携情報を示す情報を指定することで表示させてもよい。
図21において、項目設定画面490は、連携情報のタイトルを入力するタイトル入力部491と、必須項目および任意設定項目に対する入力を行う各入力部4921〜4927を含む入力領域492と、オプション項目に対する入力を行う各入力部4931〜4934を含む入力領域493とが配置される。さらに、項目設定画面490は、項目設定画面490に対して入力された情報を確定するためのOKボタン494aと、入力情報をキャンセルするためのキャンセルボタン494bと、入力領域493の表示および非表示を切り替えるためのボタン495とが配置される。
タイトル入力部491は、図20の連携情報設定テーブルにおける項目「タイトル」に対応する情報が入力される。
入力領域492に含まれる入力部4921〜4927のうち、入力部4921および4922は、図20の連携情報設定テーブルにおける項目「URL」および「短縮URL/短縮URL設定ボタン」に対応する情報が入力される。なお、入力部4922の右側に配置される「短縮URL取得」ボタンは、例えばインターネット41上の短縮URL生成サービスにアクセスし、入力部4921に入力されたURLに基づく短縮URLを取得するためのボタンである。入力部4922の左側に配置される入力欄は、当該短縮URLを直接的に入力する。
入力部4923は、連携情報設定テーブルにおける項目「起動アプリの選択肢」に対応する情報が入力される。例えば、項目「起動アプリの選択肢」に複数のアプリケーションプログラムが記述されている場合、入力部4923の右端に設けられるボタンを操作することで、当該複数のアプリケーションプログラムから起動させるアプリケーションプログラムを選択するドロップダウンリストが表示される。また、このドロップダウンリストには、アプリケーションプログラムを指定しない選択肢をさらに設けることができる。
入力部4924は、連携情報設定テーブルにおける項目「電話番号」に対応する情報(電話番号)が入力される。入力部4925および4926は、それぞれ連携情報設定テーブルにおける項目「To/Subject」に対応して、電子メールの宛先および表題が入力される。また、入力部4927は、連携情報設定テーブルにおける項目「Body」に対応し、例えば電話機能を用いて通信されるSMS(Short Message Service)の本文が入力される。
ここで、登録ツール21は、入力部4921〜4927の表示を、連携情報設定テーブルの各レコードにおける各項目の値に従い制御する。登録ツール21は、例えば、あるレコードについて、空欄になっている項目に対応する入力部を非表示に制御する。これに限らず、空欄になっている項目に対応する入力部を入力不可の状態に制御してもよい。
例えば、図20において、連携情報設定テーブルの項目「No」の値が「1」のレコードは、項目「電話番号」、「To/Subject」および「Body」が空欄となっている。そこで、登録ツール21は、項目設定画面490の入力領域492において、入力部4924、4925、4926および4927を非表示に制御する。また例えば、連携情報設定テーブルの項目「No」の値が「2」のレコードは、項目「URL」、「短縮URL/短縮URL設定ボタン」、「電話番号」および「Body」が空欄となっている。そこで、登録ツール21は、項目設定画面490の入力領域492において、入力部4921、4922、4924および4927を非表示に制御する。
入力領域493は、入力部4931〜4934を含む。入力部4931は、連携情報設定テーブルにおける項目「公開デバイス」に対応する情報が入力される。このとき、そのレコードの連携情報が複数種類のデバイスで公開可能である場合、入力部4931の右端に設けられるボタンを操作することで、当該複数のデバイスから公開可能とするデバイスを選択するドロップダウンリストが表示される。また、このドロップダウンリストには、公開デバイスを指定しない選択肢を設けておくことが好ましい。
入力部4932は、連携情報設定テーブルにおける項目「Collection」、「SNS」および「OpenIn」に対応する情報が入力される。図20の例では、各情報は、対応する項目のチェックボックスをチェックすることにより入力される。また、この例では、2種類のSNS(SNS#AおよびSNS#B)について、それぞれ、共有を行うか否か、共有を行う場合に投稿にURL含めるか否かを設定することができるようにされている。入力部4933は、SNSに対する共有を行うように設定した場合に、共有を設定したSNSに対する投稿文を入力する。
入力部4934は、連携情報設定テーブルにおける項目「GPS」に対応する情報が入力される。この例では、入力部4934は、緯度および経度の設定を行う設定部と、半径を設定する設定部とを含み、そのレコードの連携情報が対応する地域を設定することができる。
登録ツール21は、上述した入力領域492の場合と同様に、入力部4931〜4934の表示を、連携情報設定テーブルの各レコードにおける各項目の値に従い制御する。登録ツール21は、例えば、あるレコードについて、空欄になっている項目に対応する入力部を非表示に制御する。これに限らず、空欄になっている項目に対応する入力部を入力不可の状態に制御してもよい。
ここで、入力領域493に配置される各入力部4931〜4934により設定される項目は、連携情報設定テーブルにおいてオプション設定とされている項目である。そのため、図21の例では、入力領域493の左上に配置されるボタン495を操作することで、入力領域493全体の表示を非表示とすることができるようにされている。図22は、実施形態に係る、入力領域493全体を非表示とした状態の項目設定画面490’の例を示す。この項目設定画面490’において、ボタン495を操作することで、非表示とした入力領域493を表示させ、図21の項目設定画面490に戻すことができる。
登録ツール21は、OKボタン494aが操作されると、項目設定画面490において設定された各値を確定する。例えば、登録ツール21は、OKボタン494aが操作されると、項目設定画面490において設定された各項目の値に基づき上述したXMLコード140を生成し、生成したXMLコード140をストレージ2006やRAM2003に記憶して、各値を確定する。すなわち、登録ツール21は、項目設定画面490により連携情報に応じた各値の設定を行う設定部として機能する。
登録ツール21は、このようにして生成されたXMLコード140をファイルに格納し、このファイルを、例えば図8のステップS127において、キャンペーンの情報に含めて登録サーバ50に送信する。登録サーバ50は、登録ツール21からの要求に応じて、登録端末20から送信された各情報に基づき画像DB14および連携情報DB15と、メタデータDBとを更新する。
このように、実施形態では、連携情報の各項目を設定する際に、連携情報設定テーブルに基づき必要な入力部を項目設定画面490に対して選択的に表示させている。また、連携情報から複数のアプリケーションプログラムが起動可能とされている場合には、入力部4923に表示される予め設定されたドロップダウンリストから、起動させるアプリケーションプログラムを指定することができる。そのため、ユーザは、連携情報の設定を行うために必要な設定項目を瞬時に把握することができ、連携情報の設定を容易に実行することが可能となる。
(検索端末における表示例)
次に、実施形態に係る、検索端末30における表示の例について説明する。図1および図2を参照し、検索端末30の内部ブラウザ部301において、ユーザ操作に応じたUI制御部3011の制御に従い被写体40が撮像され、撮像画像と、検索要求とが画像検索サーバ10に送信される。画像検索サーバ10は、検索端末30から送信された検索要求に従い、撮像画像に類似する画像を含む画像を検索し、画像に対応するXMLコード140(図18参照)を取得する。図18を用いて説明したように、このXMLコード140は、当該画像に対応する連携情報や対象領域の情報を含む。画像検索サーバ10は、取得したXMLコード140を例えばファイルに格納して検索端末30に送信する。
検索端末30は、画像検索サーバ10から送信されたXMLコード140を受信部303により受信し、内部ブラウザ部301のUI制御部3011に渡す。UI制御部3011は、渡されたXMLコード140に基づき閲覧画面を生成し、表示部306により表示させる。
図23は、実施形態に係る、UI制御部3011の制御により表示される閲覧画面の例を示す。図23において、閲覧画面500は、リンク表示領域501と、ページ画像表示領域502とを含む。ページ画像表示領域502は、XMLコード140に従ったページ510が表示される領域である。ページのサイズは、固定としてもよいし、XMLコード140に含めてもよい。UI制御部3011は、図18を参照し、XMLコード140の行142の記述に従い各対象領域520a、520bおよび520cの表示を行う。
UI制御部3011は、XMLコード140に記述されるリンク情報に従い取得した画像を各対象領域520a、520bおよび520cに表示させる。これに限らず、UI制御部3011は、XMLコード140に画像データが含まれている場合は、その画像データに従った画像を各対象領域520a、520bおよび520cに表示することができる。
さらに、UI制御部3011は、各対象領域520a、520bおよび520cに対し、各対象領域520a、520bおよび520cに関連付けられた連携情報を示すアイコン画像530a〜530gを表示させる。図23の例では、対象領域520aに4つのアイコン画像530a〜530dが表示され、対象領域520aに対して4つの連携情報が関連付けられていることが示される。同様に、対象領域520cにアイコン画像530fおよび530gが表示され、対象領域520に対して2つの連携情報が関連付けられていることが示される。また、対象領域520bには1つのアイコン画像530eが表示され、対象領域520bに対して1つの連携情報が関連付けられていることが示されている。
このような閲覧画面500の表示に対し、1つの対象領域を指定することで、ユーザは、指定した対象領域に関連付けられた連携情報を利用することができる。図24は、図23の閲覧画面500に対して対象領域520aを指定した例を示す。図24の例では、指定された対象領域520aが強調表示されている。対象領域520aが指定されると、UI制御部3011は、リンク表示領域501に対して、指定された対象領域520aに関連付けられた連携情報を示すアイコン画像530a’、530b’、530c’および530d’を表示させる。これらアイコン画像530a’〜530d’は、それぞれアイコン画像530a〜530dに対応する。
また、UI制御部3011は、ページ画像表示領域502の各アイコン画像530a’、530b’、530c’および530d’に対応する位置に、タブ5302a、5302b、5302cおよび5302dを表示させる。タブ5302a、5302b、5302cおよび5302dを操作することで、操作されたタブに対応するアイコン画像に示される連携情報が利用可能となる。
図25(a)および図25(b)は、図24の表示において、タブ5302aおよび5302dを操作した例を示す。この例では、例えばタブ5302aが操作されると、タブ5302aの画像が、恰もタブ5302aがページ画像表示領域502の方向に向けて伸びたような画像に変更される。また、タブ5302aの伸びた先端部分に、当該タブ5302aに対応するアイコン画像530a’が表示される。タブ5302dについても、同様である。さらに、リンク表示領域501のアイコン画像530a’および530d’が表示されていた各位置には、アイコン画像530a’および530d’に示される機能の利用を指定するアイコン画像5301aおよび5301dがそれぞれ表示される。このように、操作されたタブ5302aの画像を変更することで、当該タブ5302aに対応するアイコン画像530a’が示す連携情報が利用可能な状態にあることが示される。
一例として、アイコン画像530a’に対し、起動アプリケーションプログラムとして内部ブラウザ部301が指定され、アイコン画像530a’が示す連携情報が、当該連携情報を検索端末30に記憶可能に指定している場合について考える。この場合、UI制御部3011は、図25(a)に例示されるように、タブ5302a上に「コレクションに追加」のメッセージ5303aを表示させ、ユーザに対して、アイコン画像530a’が示す連携情報を検索端末30に記憶させるよう促す。UI制御部3011は、アイコン画像5301aに対する操作がなされると、アイコン画像530a’が示す連携情報を、例えば検索端末30のストレージ3006に記憶させる。
別の例として、アイコン画像530d’に対し、起動アプリケーションプログラムとして内部ブラウザ部301が指定され、アイコン画像530d’が示す連携情報が、当該連携情報の、検索端末30への記憶と、SNS#Aでの共有と、SNS#Bに対する投稿とを指定している場合について考える。この場合、UI制御部3011は、図25(b)に例示されるように、タブ5302d上に、「コレクションに追加」と、「SNS#Bに投稿」と、「SNS#Aでシェア」とを選択可能としたメッセージ5303dを表示させ、ユーザに対して処理の選択を促す。UI制御部3011は、メッセージ5303dに応じて選択された処理を実行する。例えば、UI制御部3011は、「SNS#Bに投稿」が選択された場合、アイコン画像530d’が示す連携情報に基づき、SNS#Bに対する投稿処理を行う。
さらに別の例として、アイコン画像530a’に対して起動アプリケーションプログラムとして外部ブラウザ部302が指定されている場合、UI制御部3011は、このアイコン画像530a’に対応するアイコン画像5301aに対する操作に応じて、呼出部3014により外部ブラウザ部302を呼び出し、起動させる。
なお、内部ブラウザ部301と外部ブラウザ部302との動作の違いは、例えば、指定されたURLにアクセスする動作の場合、内部ブラウザ部301では、当該URLを明示的に表示しない。一方、外部ブラウザ部302は、当該URLを表示させて当該URLへのアクセスを行う。
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。