以下に添付図面を参照して、情報処理システムおよび情報処理方法の実施形態を詳細に説明する。
(第1の実施形態)
図1は、第1の実施形態に係る情報処理システムの構成を概略的に示す。図1において、情報処理システムは、画像検索システム10と、登録端末20と、検索端末30と、事業者端末40と、事業者システム400とを含む。画像検索システム10は、検索サーバ100および管理サーバ101を含む。事業者システム400は、事業者サーバ401およびコンテンツサーバ402を含む。検索サーバ100は、登録端末20、検索端末30、事業者端末40および事業者サーバ400と、インターネットなどのネットワーク50を介して通信が可能とされている。また、管理サーバ101は、登録端末20および事業者端末40とネットワーク50を介して通信が可能とされている。
検索サーバ100および管理サーバ101は、それぞれ、1台の情報処理装置により構成してもよいし、互いに接続された複数台の情報処理装置により機能を分散させて構成してもよい。また、検索サーバ100と管理サーバ101とを、1台の情報処理装置上で構成することも可能である。
事業者システム400は、コンテンツサーバ402に格納されるコンテンツを、事業者サーバ401を介してネットワーク50に向けて提示するコンテンツ提供システムを構成する。事業者サーバ401およびコンテンツサーバ402は、それぞれ、1台の情報処理装置により構成してもよいし、互いに接続された複数台の情報処理装置により機能を分散させて構成してもよい。また、事業者サーバ401およびコンテンツサーバ402とを、1台の情報処理装置上で構成することも可能である。事業者サーバ401がコンテンツサーバ402の機能を含めて構成されていてもよい。コンテンツサーバ402は、ネットワーク50から、事業者サーバ401を介して接続される。これに限らず、コンテンツサーバ402がネットワーク50を介して直接的に接続可能としてもよい。
登録端末20は、画像と、当該画像に関連付けるための連携情報とを取得して、画像検索システム10に送信する。画像検索システム10は、登録端末20から送信された画像および連携情報を関連付けて、検索サーバ100が備える画像検索用データベース(DB)に登録する。連携情報は、例えばインターネットなどのネットワーク50上のWebサイトのURL(Uniform Resource Locator)を含むことができる。また、連携情報は、ネットワーク50から事業者サーバ401を介して接続されるコンテンツサーバ402のURLを含むことができる。なお、URLは、Webサイト上に置かれるコンテンツを取得する方法を示す取得情報であるといえる。
検索端末30は、一般ユーザが利用する端末装置であって、撮像機能を備える。これに限らず、検索端末30は、撮像機能を持たずに、画像検索の対象としたい画像を記憶していてもよい。もちろん、検索端末30は、撮像機能を持ち、且つ、画像検索の対象とした画像を記憶する手段を備えていてもよい。
また、検索端末30は、画像検索システム10による画像検索を利用するためのアプリケーションプログラムである画像検索アプリを搭載する。検索端末30に対する画像検索アプリの搭載方法としては、例えば、インターネットなどのネットワーク50上の所定のダウンロードサイトから、一般ユーザがインストールしたいアプリケーションプログラムとして当該画像検索アプリを指定してダウンロードして検索端末30にインストールする方法が挙げられる。
検索端末30は、画像検索アプリが実行されることで、撮像機能を利用して被写体31を撮像する撮像処理を行い、被写体31を撮像した画像をネットワーク50を介して画像検索システム10に送信することができる。このとき、検索端末30は、画像検索システム10に対し、撮像画像と共に、撮像画像に類似する画像の検索を要求する検索要求を送信する。検索要求は、撮像画像と、後述する、検索要求を送信する画像検索アプリを一意に識別するための識別情報であるユーザIDとを含む。送信された検索要求は、画像検索システム10において、検索サーバ100に受信される。
なお、事業者は、例えばチラシ、ポスター、看板、サイネージ、プロモーション写真、特定の景色、プロダクトなど、種々のアイテムを被写体として設定できる、換言すれば、画像検索システム10が機能する範疇において、事業者が決定したあらゆる対象が被写体となり得る。事業者が一般ユーザに対して被写体を告知し、ユーザがその被写体を撮像して、画像検索システム10を利用すればよいためである。
画像検索システム10において、検索サーバ100は、検索端末30から送信された検索要求に応じて画像検索用DBから当該画像に類似する画像を検索し、検索された画像の識別情報(以下、画像識別情報)を検索結果として取得する。検索サーバ100は、検索された画像に関連付けられた連携情報を検索端末30に送信する。
例えば、連携情報がURLを含む場合、検索端末30は、被写体31を撮像した撮像画像に基づき検索サーバ100で検索され送信された連携情報に応じて、ネットワーク50を介して、URLに示されるWebサイトにアクセスすることができる。以下では、検索端末30を操作する者を、一般ユーザと呼ぶ。
上述の情報処理システムにおいて、画像検索システム10のサービス提供者は、特定の契約を交わした者あるいは組織体に対して、検索サーバ100に対する画像および連携情報の登録を許可する。以下、サービス提供者と特定の契約を交わした者あるいは組織体を、事業者と呼ぶ。一般には、企業や自治体、法人団体などが事業者になることが想定されるが、事業者は個人であってもよい。また、ここで言う特定の契約とは、画像検索アプリをインストールするときに一般ユーザが同意する同意書のようなものではなく、事業者が一般ユーザにサービスを提供するための画像検索システム10の機能(画像および連係情報の登録など)の利用を許諾する契約を指す。サービス提供者は、事業者の依頼に応じて、事業者から提供された画像および連携情報を検索サーバ100に登録する。契約の内容によっては、画像および連携情報を、事業者自身が登録端末20を操作して検索サーバ100に登録することも可能である。すなわち、登録端末20は、サービス提供者あるいは事業者が利用する端末装置である。
事業者端末40は、事業者が用いるための端末であって、例えば、検索サーバ100に登録した画像および連携情報を確認することができる。また、第1の実施形態では、事業者は、検索端末30に搭載させるための画像検索アプリをカスタマイズすることができるようになっている。
例えば、サービス提供者は、検索サーバ100による検索機能を利用するために端末(事業者端末40、検索端末30)側に必要な画像検索アプリの機能を実現するための画像検索モジュールを、特定の契約を交わした事業者に提供する。この画像検索モジュールは、例えばSDK(Software Development Kit)として、サービス提供者から事業者に提供される。
事業者は、提供された画像検索モジュールを、例えば自身が開発する他のアプリケーションプログラムに組み込むことができる。これにより、例えば、事業者によるサービスを提供するための事業者アプリに画像検索アプリ機能が加えられたカスタマイズアプリを構成することが可能となる。事業者は、画像検索モジュールを組み込んだカスタマイズアプリを一般ユーザに配布することで、一般ユーザに、事業者の意図に沿った画像検索機能を利用させ、事業者によるサービスを一般ユーザに提供することが可能となる。
事業者端末40には、このカスタマイズアプリが搭載される。例えば、事業者は、このカスタマイズアプリが搭載された事業者端末40を用いて、画像検索システム10に対して検索要求を送信し、事業者が意図する検索結果が得られるか否かを確認する。検索要求は、画像検索の対象となる画像と、画像検索モジュールを識別するためのモジュールIDと、検索形態を示すタイプ情報とを含む。これらモジュールIDおよびタイプ情報については、後述する。
画像検索システム10において、検索サーバ100は、事業者端末40から送信された検索要求に従い画像検索を行い、検索結果を検索要求に対する応答として事業者端末40に送信する。事業者は、例えば、この検索結果に基づき、カスタマイズアプリの動作や、検索サーバ100に登録した画像および連携情報の確認を行い、問題無いと判断した場合に、カスタマイズアプリや、画像検索機能を利用したサービスを、一般ユーザに提供する。
図2は、実施形態に適用可能な検索サーバ100の機能を説明するための一例の機能ブロック図である。検索サーバ100は、画像検索用DB11と、解析部12と、検索部13とを含み、検索端末30から送信された撮像画像に基づく検索処理を実行する。画像検索用DB11は、画像DB14と連携情報DB15とを含む。画像DB14は、画像を検索可能に登録する。より詳細には、画像DB14は、画像と、画像から解析部12により抽出した特徴情報とが関連付けられて登録される。連携情報DB15は、画像DB14に登録された画像と連携するための連携情報が、当該画像と関連付けられて登録される。
すなわち、サービス提供者は、画像検索システム10を運用し検索サービス(検索機能)を提供するユーザであり、事業者は、検索サービスを利用する上で画像検索システム10に登録する画像あるいはその他の情報と、一般ユーザの検索端末30において撮像させる撮像媒体(被写体31)を決定するユーザであり、一般ユーザは、事業者により決定された撮像媒体を撮像し、撮像画像を送信して画像検索システム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と、各事業者システム400aおよび400bと、各事業者端末40aおよび40bと、ユーザ管理サーバ105とを含む。ユーザ管理サーバ105は、ユーザ情報が格納されるユーザDB106が接続される。また、画像検索システム10は、検索サーバ100と、管理サーバ101と、登録サーバ102とを含む。なお、図3では、説明のため、図2の画像検索用DB11に対応する画像検索用DB112bが検索サーバ100の外部に接続されるように示している。
画像検索用DB112bは、それぞれ画像DB14と連携情報DB15とを含む、通常DB111bと、専用DB110b1、110b2、…とによる複数のDBを含む。検索サーバ100は、画像検索用DB112bに含まれる複数のDBから、後述する管理サーバ101からのDB指定情報に従いスイッチ部(SW)120bにより選択されたDBを、検索対象のDBとして画像検索を行う。
検索サーバ100は、図1および図2を用いて説明したように、検索端末30からネットワーク50を介して送信された画像(撮像画像)を解析部12で解析して特徴情報を抽出し、検索部13により、抽出した特徴情報と類似した特徴情報を画像DB14から検索する。そして、検索サーバ100は、画像DB14から検索された特徴情報に関連付けられた画像識別情報に対応する連携情報を連携情報DB15から取得して、検索端末30に送信する。
登録サーバ102は、画像検索用DB112bと対応する画像検索用DB112aを備え、検索サーバ100と同様に、解析部12および検索部13を含む画像検索機能を備える。画像検索用DB112aは、画像検索用DB112bと同様に、それぞれ画像DB14と連携情報DB15とを含む、通常DB111aと、専用DB110a1、110a2、…とによる複数のDBを含む。これら通常DB111a、および、専用DB110a1、110a2、…は、それぞれ、画像検索用DB112bに含まれる通常DB111b、および、専用DB110b1、110b2、…に対応する。
ここで、専用DB110a1、110a2、…、および、専用DB110b1、110b2、…は、それぞれ、契約に従い予め定められた事業者による画像の登録が可能なDBである。一方、通常DB111aおよび111bは、複数の事業者が共通して画像の登録が可能なDBである。
なお、以下では、専用DB110a1、110a2、…、および、専用DB110b1、110b2、…は、互いを区別する必要が無い場合には、適宜、専用DBと記述する。同様に、通常DB111aおよび111bも、互いを区別する必要が無い場合には、適宜、通常DBと記述する。
登録サーバ102は、画像検索用DB112aに含まれる複数のDBから、後述する管理サーバ101からのDB指定情報に従いスイッチ部(SW)120aにより選択されたDBを、検索対象のDBとして画像検索を行う。
管理サーバ101は、契約情報DB16が接続される。契約情報DB16は、サービス提供者と事業者との間で交わされた契約に関する情報である契約情報が格納される。契約情報は、事業者との契約に関し、契約の形態を示す契約形態情報と、画像検索用DB112aおよび112bに含まれる複数のDBのうち何れのDBを検索対象のDBとするかを示すDB指定情報とが含まれる。
管理サーバ101は、契約情報に含まれる契約形態情報およびDB指定情報と、検索要求に含まれる検索形態情報とに基づき、スイッチ部120aおよび120bにより選択されるDBを決定する。また、管理サーバ101は、契約形態情報および検索形態情報に基づきスイッチ部(SW)121を切り替え、ネットワーク50を介したアクセスを検索サーバ100および登録サーバ102の何れに接続するかを選択する。すなわち、管理サーバ101は、スイッチ部120a、120bおよび121を制御して検索対象のDBを決定する制御部としても機能する。
登録端末20は、登録ツール21を含む。登録ツール21は、登録端末20のCPU(Central Processing Unit)上で動作するプログラムにより実現される。登録ツール21を実現するためのプログラムは、例えば、登録端末20が登録サーバ102に接続することにより、登録サーバ102により提供される。
登録端末20は、事業者43a、43bから画像および画像に関連付けるための連携情報がそれぞれ提供される。登録端末20は、登録ツール21により、事業者43a、43bから提供された各画像に対して連携情報をそれぞれ関連付けて、登録サーバ102に送信する。また、登録端末20は、登録ツール21により、各事業者43a、43b、…に関する契約情報を登録サーバ102に送信することもできる。
なお、事業者システム400aおよび400bは、それぞれ、事業者43aおよび43bにより運営、管理が行われるものとする。また、事業者端末40aおよび40bは、ぞれぞれ、事業者43aおよび43bにより用いられるものとする。
図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は、第1の実施形態に適用可能な登録端末20のハードウェアの一例の構成を示す。図5に示される登録端末20において、バス2010に対してCPU2000、ROM(Read Only Memory)2001、RAM(Random Access Memory)2002およびグラフィクスI/F(インタフェース)2003が接続される。また、バス2010に対して、ストレージ2005、データI/F2006、入力デバイス2007および通信I/F2008が接続される。
ストレージ2005は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブが用いられる。これに限らず、ストレージ2005として、フラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。ストレージ2005は、CPU2000が実行するためのプログラムや各種データが格納される。
CPU2000は、ROM2001およびストレージ2005に記憶されるプログラムに従い、RAM2002をワークメモリとして用いて、この登録端末20の全体を制御する。
グラフィクスI/F2003は、CPU2000により生成された表示制御信号を、表示デバイス2004が対応可能な表示信号に変換して出力する。表示デバイス2004は、グラフィクスI/F2003から出力された表示信号が入力され、入力された表示信号に応じた表示を行う。
データI/F2006は、外部機器との間でデータの入出力を行う。データI/F2006としては、例えば、USB(Universal Serial Bus)やBluetooth(登録商標)といったインタフェースを適用することができる。通信I/F2008は、CPU2000の制御に従いネットワーク50を介した通信を無線通信により行う。
入力デバイス2007は、例えばマウスなどのポインティングデバイスや、キーボードを含み、ユーザ入力を受け付ける。ユーザは、例えば表示デバイス2004に対する表示に応じて入力デバイス2007を操作することで、登録端末20に対して指示を出すことができる。
図6は、第1の実施形態に係る登録端末20の機能を説明するための一例の機能ブロック図を示す。登録端末20は、登録ツール21を含み、登録ツール21は、通信部200と、設定部201と、入力部202と、表示部203と、取得部204とを含む。
通信部200は、通信I/F2008を制御して、ネットワーク50を介した通信を行う。入力部202は、入力デバイス2007に対する入力操作で入力された情報を受け付ける。設定部201は、登録対象の画像に対して連携情報の設定を行う。表示部203は、表示デバイス2004に表示させるための表示情報を生成する。
取得部201は、登録端末20の外部から画像を取得する。取得部201は、他の機器からネットワークを介して送信された画像を取得してもよいし、CD(Compact Disk)やDVD(Digital Versatile Disk)といった記録媒体を介して画像を受け取ってもよい。さらに、取得部201は、紙などの印刷媒体から画像を取得してもよい。また、取得部201は、例えば入力部202に受け付けられた情報に従い、画像に関連付ける連携情報のための情報を取得する。
登録端末20に含まれる登録ツール21の各部(通信部200、設定部201、入力部202、表示部203および取得部204)は、CPU2000上で動作するプログラムにより実現される。
より具体的には、登録端末20は、一般的なコンピュータに搭載されるものと同等のブラウザアプリケーション(以下、ブラウザ)が搭載される。ブラウザは、CPU2000上で動作して、例えばHTML(HyperText Markup Language)に従い記述されたファイルを読み込み、所定の動作を行う。登録端末20において、ブラウザを用いて登録サーバ102にアクセスすることで、登録サーバ102上の所定の情報処理プログラムがブラウザに読み込まれ、ブラウザに読み込まれた情報処理プログラムにより、登録端末20上に登録ツール21が形成される。
図7は、第1の実施形態に適用可能な検索端末30の一例のハードウェア構成を示す。図7に示される検索端末30において、バス3020に対してCPU3000、ROM3001、RAM3002およびグラフィクスI/F3003が接続される。また、バス3020に対して、ストレージ3005、データI/F3006、入力デバイス3007、無線通信I/F3008、撮像部3009およびGNSS部3010が接続される。このように、検索端末30は、CPU3000、ROM3001およびRAM3002を含むコンピュータが搭載される情報処理装置である。
ストレージ3005は、データを不揮発に記憶することが可能な記憶媒体であって、例えばフラッシュメモリなどの不揮発性の半導体メモリである。これに限らず、ストレージ3005としてハードディスクドライブを用いてもよい。ストレージ3005は、CPU3000が実行するためのプログラムや各種データが格納される。なお、ストレージ3005およびROM3001は、例えば1つの書き換え可能な不揮発性半導体メモリなどを共用してもよい。
CPU3000は、ROM3001およびストレージ3005に記憶されるプログラムに従い、RAM3002をワークメモリとして用いて、この検索端末30の全体を制御する。グラフィクスI/F3003は、CPU3000により生成された表示制御信号を、表示デバイス3004が表示可能な信号に変換して出力する。表示デバイス3004は、例えばLCD(Liquid Crystal Display)を含み、グラフィクスI/F3003から出力された信号により駆動されて表示制御信号に応じた表示を行う。
データI/F3006は、外部機器との間でデータの入出力を行う。データI/F3006としては、例えば、USB(Universal Serial Bus)やBluetooth(登録商標)といったインタフェースを適用することができる。
入力デバイス3007は、ユーザ入力を受け付ける。ユーザは、例えば表示デバイス3004に対する表示に応じて入力デバイス3007を操作することで、検索端末30に対して指示を出すことができる。なお、入力デバイス3007と表示デバイス3004とを一体的に構成し、押圧した位置に応じた制御信号を出力すると共に、表示デバイス3004の画像を透過するタッチパネルとして構成すると、好ましい。
無線通信I/F3008は、CPU3000の制御に従いネットワークを介した通信を無線通信により行う。
撮像部3009は、光学系と、撮像素子と、光学系および撮像素子の制御駆動回路とを備え、撮像素子から出力される撮像信号に所定の処理を施してディジタル信号による撮像画像として出力する。撮像部3009から出力され画像処理を施した撮像画像を、例えばストレージ3005に記憶することができる。また、CPU3000は、ストレージ3005から撮像画像を読み出して、無線通信I/F3008によりネットワークに対して送信することができる。
GNSS部3010は、人工衛星を使用して全地球を対象として地上の現在位置を計測するGNSS(Global Navigation Satellite System)を用いて現在位置を計測する。GNSS部3010は、計測結果として、位置情報すなわち現在位置の少なくとも緯度および経度を含む座標と、計測を行った時刻を示す時間情報とを出力することができる。
図8は、第1の実施形態に係る検索端末30の機能を説明するための一例の機能ブロック図である。検索端末30は、画像検索部301と、記憶部302と、通信部303と、撮像制御部304と、入力部305と、表示部306と、位置情報取得部307とを含む。これら画像検索部301、記憶部302、通信部303、撮像制御部304、入力部305、表示部306および位置情報取得部307は、CPU3000上で動作するプログラムにより実現される。これに限らず、画像検索部301、記憶部302、通信部303、撮像制御部304、入力部305、表示部306および位置情報取得部307のうち画像検索部301を除く一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
画像検索部301は、実施形態に係る検索端末30における画像検索処理を実行する。画像検索部301は、サービス提供者が、特定の契約を交わした事業者に配布した画像検索アプリ、または、当該画像検索アプリが事業者によりカスタマイズされたカスタマイズアプリが検索端末30にインストールされることで、検索端末30上に構成される。
記憶部302は、ストレージ3005およびRAM3002に対するデータの記憶および読み出しを制御する。通信部303は、無線通信I/F3008による通信を制御する。入力部305は、入力デバイス3007に対してなされた入力操作に従った入力情報を出力する。表示部306は、グラフィクスI/F3003に供給するための表示制御信号を生成する。撮像制御部304は、撮像部3009の撮像動作を制御する。位置情報取得部307は、GNSS部3010による位置情報および時間情報の取得を制御する。
図9は、第1の実施形態に適用可能な画像検索部301を構成するための画像検索アプリの一例の構成を示す。図9において、画像検索アプリ301’は、アプリID310と、画像検索モジュール311と、ユーザID313とを含む。画像検索モジュール311は、画像検索モジュール311を識別するための識別情報であるモジュールID312を含む。画像検索アプリ301’は、上述したカスタマイズアプリであって、例えば、事業者が提供する所定のアプリに、サービス提供者が提供する画像検索モジュール311を組み込んで構成される。
アプリID310は、例えば、画像検索アプリ301’に組み込まれた、事業者に提供する画像検索モジュール311毎に一意の識別情報であって、事業者が作成する1のカスタマイズアプリを識別する。したがって、1の事業者が複数のカスタマイズアプリを作成した場合、カスタマイズアプリ毎に異なるアプリIDを持つことになる。なお、同一事業者の複数のカスタマイズアプリに対して1のアプリIDを与えるようにしてもよい。アプリID310は、事業者が設定して画像検索アプリ301’に組み込んでもよいし、サービス提供者側が事業者に提供する画像検索モジュール311に対応付けて設定して、当該画像検索モジュール311と共に事業者に提供してもよい。
ユーザID313は、検索端末30に搭載される画像検索アプリ301’に一意の識別情報である。ユーザID313は、例えば、検索端末30に搭載された画像検索アプリ301’の初回の起動時に、管理サーバ101から与えられる。画像検索アプリ301’は、検索端末30における初回の起動時に管理サーバ101にアクセスし、検索端末30における初回の起動である旨を通知する。管理サーバ101は、この通知に応じて一意のユーザID313を生成し、検索端末30に送信する。検索端末30は、管理サーバ101から送信されたユーザID313を、記憶部302により、ストレージ3005における、例えば画像検索アプリ301’の管理領域として確保された領域に記憶する。ユーザID313を用いることで、検索要求を送信した画像検索アプリ301’および当該画像検索アプリ301’が搭載された検索端末30を特定することができる。
なお、ここでは、ユーザID313が管理サーバ101から与えられるように説明したが、これはこの例に限定されない。すなわち、ユーザID313は、画像検索アプリ301’に一意であれば、他の方法で生成してもよい。例えば、ユーザID313は、検索端末30において生成してもよい。この場合、画像検索アプリ301’が、初回に起動された時刻の情報に基づきユーザID313を生成することが考えられる。画像検索アプリ301’は、生成されたユーザID313を記憶すると共に、管理サーバ101に送信する。
図10は、第1の実施形態に適用可能な画像検索モジュール311の機能を説明するための一例の機能ブロック図である。図10において、画像検索モジュール311は、撮像画像取得部3110と、ID取得部3111と、検索要求送信部3112と、検索結果受信部3113と、表示情報生成部3114と、入力受付部3115と、端末状況取得部3116と、コンテンツ要求送信部3117とを含む。
撮像画像取得部3110は、撮像制御部304から、撮像部3009により撮像された撮像画像を取得する。ID取得部3111は、ストレージ3005に記憶されるユーザID313を取得する。検索要求送信部3112は、撮像画像取得部3110により取得された撮像画像に基づく画像検索を画像検索システム10に要求するための検索要求を作成する。検索要求送信部3112は、作成した検索要求を、無線通信I/F3008により画像検索システム10に送信する。
検索結果受信部3113は、検索要求送信部3112が送信した検索要求に応じて画像検索システム10から送信された検索結果を受信する。表示情報生成部3114は、表示デバイス3004に表示させるための表示情報を生成する。例えば、表示情報生成部3114は、検索結果受信部3113が受信した検索結果に応じた表示を行うための表示情報を生成する。入力受付部3115は、入力デバイス3007に対してなされた入力操作を受け付ける。これら表示情報生成部3114および入力受付部3115により、画像検索アプリ301’によるユーザインタフェース(UI)の基本部分が形成される。
端末状況取得部3116は、位置情報取得部307により位置情報および時間情報が取得された場合に、これら位置情報および時間情報を、当該画像検索モジュール311を含む画像検索アプリ301’が搭載される検索端末30の、位置情報および時間情報が取得された時点での状況を示す状況情報として取得する。コンテンツ要求送信部3117は、コンテンツの要求に関する情報をネットワーク50上に送信する。
ここで、画像検索モジュール311は、画像検索システム10との連携による画像検索を行うための核となる各部から構成される。サービス提供者は、契約を交わした事業者に画像検索モジュール311を提供するため、事業者は、この画像検索モジュール311を、独自のアプリケーションプログラムに容易に組み込むことが可能である。この、画像検索モジュール311を独自のアプリケーションプログラムに組み込むことを、画像検索モジュール311によるカスタマイズと呼ぶ。カスタマイズにより画像検索モジュール311が組み込まれたアプリケーションプログラムが、上述したカスタマイズアプリである。
画像検索モジュール311による各機能を実現するための情報処理プログラムは、モジュールID312と共に、インストール可能な形式また実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、情報処理プログラムおよびモジュールID312を、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、当該情報処理プログラムおよびモジュールID312をインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
情報処理プログラムは、上述した各部(撮像画像取得部3110、ID取得部3111、検索要求送信部3112、検索結果受信部3113、表示情報生成部3114、入力受付部3115、端末状況取得部3116およびコンテンツ要求送信部3117)を含むモジュール構成となっている。実際のハードウェアとしては、CPU3000がストレージ3005などの記憶媒体から当該情報処理プログラムを読み出して実行することにより、上述した各部がRAM3002などの主記憶装置上にロードされ、撮像画像取得部3110、ID取得部3111、検索要求送信部3112、検索結果受信部3113、表示情報生成部3114、入力受付部3115、端末状況取得部3116およびコンテンツ要求送信部3117が主記憶装置上に生成されるようになっている。
なお、事業者端末40は、上述した検索端末30と略同等のハードウェア構成および機能構成で実現されるので、ここでの詳細な説明を省略する。
ここで、事業者端末40は、事業者端末40において画像検索モジュール311を組み込まれた画像検索アプリ301’の検索形態が「お試し版」および「本利用版」の何れの形態であるかを示すタイプ情報をさらに含む。「本利用版」は、一般ユーザによる検索端末30を用いた検索が可能な検索形態であり、検索対象が公開用のDBである画像検索用DB112bとされる。一方、「お試し版」は、例えば事業者が用意した画像に基づく検索が正しく行われるか否かを試行するための検索形態であり、検索対象が、非公開用のDBである画像検索用DB112aとされる。
図11は、第1の実施形態に適用可能な事業者サーバ401の一例のハードウェア構成を示す。図11において、事業者サーバ401は、バス4010に対してCPU4000、ROM4001、RAM4002、ストレージ4003および通信I/F4004が接続される。ストレージ4003は、データを不揮発に記憶することが可能な記憶媒体であって、例えばハードディスクドライブである。これに限らず、ストレージ4003として、フラッシュメモリなどの不揮発性の半導体メモリを用いてもよい。
CPU4000は、ROM4001およびストレージ4003に記憶されるプログラムに従い、RAM4002をワークメモリとして用いて、この事業者サーバ401の全体を制御する。ストレージ4003は、CPU4000が実行するためのプログラムや各種データが格納される。通信I/F4004は、CPU4000の制御に従いネットワークを介した通信を行う。
なお、図11では、事業者サーバ401が1のハードウェアから構成されるように示しているが、これはこの例に限定されず、事業者サーバ401を、同等の構成を有する複数のサーバ装置を統合的に制御することで構成してもよい。また、上述したコンテンツサーバ402と、この事業者サーバ401とを統合的に構成してもよい。例えば、コンテンツサーバ402におけるコンテンツの格納領域を、事業者サーバ401のストレージ4003上に設けてもよい。
また、図11では、ストレージ4003が1のハードウェアから構成されるように示しているが、これはこの例に限定されず、例えば複数のストレージ装置を1つのストレージ4003として統合的に管理するようにしてもよい。
図12は、第1の実施形態に係る事業者サーバ401の機能を説明するための一例の機能ブロック図である。事業者サーバ401は、通信部4100と、コンテンツ処理部4101と、登録部4102と、判定部4103とを含む。これら通信部4100、コンテンツ処理部4101、登録部4102および判定部4103は、CPU4000上で動作するプログラムにより実現される。これに限らず、通信部4100と、コンテンツ処理部4101と、登録部4102と、判定部4103の一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
通信部4100は、通信I/F4004によるネットワーク50を介した通信を制御する。コンテンツ処理部4101は、コンテンツに係る処理を実行するもので、例えば、コンテンツサーバ402に格納されるコンテンツの取得および取得したコンテンツの送信処理を行う。登録部4102は、検索端末30から送信されたユーザID313を例えばストレージ4003に記憶し、ユーザID313の登録を行う。判定部4103は、検索端末30から送信された情報に基づきコンテンツへのアクセス許可に係る判定を行う。
なお、検索サーバ100および登録サーバ102は、事業者サーバ401と同様のハードウェア構成で実現可能であるので、ここでの説明を省略する。
(第1の実施形態に適用可能な登録処理)
次に、第1の実施形態に適用可能な各登録処理について説明する。図13は、第1の実施形態に適用可能な、登録端末20において登録ツール21によって実行される各登録処理を示す一例のフローチャートである。なお、図13のフローチャートの処理に先立って、登録ツール21を利用するユーザの情報(ログインIDおよびパスワード)は、ユーザ管理サーバ105によりユーザDB106に登録されているものとする。また、以下において、画像は、キャンペーンを単位として登録され、登録者によって指定されたキャンペーンに関連付けて登録されるものとする。
ここで、キャンペーンについて、概略的に説明する。キャンペーンは、キャンペーンIDにより識別され、1以上の画像と、メタデータと、関連キャンペーン情報とを含む。なお、キャンペーンという名称は、事業者向けの語句であり、権利範囲を限定するものではない。事業者が、一般ユーザに向けて、画像検索機能を利用した何らかのサービスを提供する場合に、サービス単位で画像や連携情報や各種属性情報を管理しやすいように、キャンペーンという単位を用意している。
キャンペーンに含まれるページ単位の各画像は、ページと呼ばれ、1以上の連携情報を含む。メタデータは、キャンペーンの属性情報を含む。キャンペーンの属性情報は、例えば、キャンペーンに関して、キャンペーンID、キャンペーン名、登録を依頼したクライアント名、更新日時、公開中および非公開中の何れであるかを示す状態を示す情報などを含む。関連キャンペーン情報は、このキャンペーンに関連する他のキャンペーンを示す情報である。このキャンペーンを示す情報は、例えば管理サーバ101により契約情報DB16に格納される。
登録端末20において登録ツール21が起動されると、ステップS100で、登録ツール21は、ユーザに対するログイン処理を行う。例えば、登録ツール21は、登録端末20の表示デバイスに、図14で示されるログイン画面500の表示を行う。図14の例では、ログイン画面500は、ユーザ情報(ログインIDおよびパスワード)を入力するための入力部5001と、ログインを指示するためのボタン5002と、パスワードの再発行を依頼するためのボタン5003とが配置されている。
以下、「登録端末20の表示デバイスに画面を表示させる」ことを、適宜、「登録端末20に画面を表示させる」などと記述する。同様に、「検索端末30の表示デバイス3004に画面を表示させる」ことを、適宜、「検索端末30に画面を表示させる」などと記述する。
例えば、登録ツール21は、入力部5001にログインIDおよびパスワードが入力されると、入力されたログインIDおよびパスワードをユーザ管理サーバ105に送信し、ログインIDの認証を要求する。登録ツール21は、ユーザ管理サーバ105からの、ログインIDの認証が成功したことを示す情報を受信した場合に、処理をステップS101に移行させる。
ステップS101で、登録ツール21は、登録端末20に、メニュー領域を含む画面の表示を行う。図15は、第1の実施形態に適用可能な、メニュー領域5500を含むクライアント一覧画面550の例を示す。図15の例では、クライアント一覧画面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により選択したメニュー項目に対応するリストが表示される。図15の例は、タブ5501bが操作されクライアント一覧が選択されている様子を示している。以下では、リストの各行をレコードと呼び、各列を項目と呼ぶ。
ボタン群5502は、リスト表示領域5504に表示されるリストに対する処理を選択する。図15の例では、ボタン群5502は4個のボタンを含み、各ボタンは、左から、「新規登録」、「編集」、「削除」、「CSV出力」の各機能が割り当てられている。「新規登録」ボタンは、リスト表示領域5504に表示されるリストに対して新規にレコードを追加する。「編集」ボタンは、リスト表示領域5504に表示されるリストにおいて選択されたレコードの情報を編集する。「削除」ボタンは、リスト表示領域5504に表示されるリストにおいて選択されたレコードの情報を削除する。「CSV出力」は、リスト表示領域5504に表示されるリストの情報をCSV(Comma-Separated Values)形式のテキストファイルで出力する。
検索入力部5503は、リスト表示領域5504に表示されるリストから、選択または入力された検索キーに基づきレコードが選択される。終了ボタン5505は、登録ツール21による処理を終了する。
なお、図15の例では、クライアント情報は、レコードに、「クライアントID」、「クライアント名」、「パスワード」、「電子メールアドレス(Email)」、「最終更新日」、「公開ページ数」、「利用ページ数」、「契約ページ数」の各項目を含んでいる。クライアント情報は、さらに多くの項目を含んでもよい。
説明は図13に戻り、ステップS101でメニュー表示がなされると、処理が次のステップS102に移行され、登録ツール21は、タブ5501a、5501b、5501cおよび5501d、ならびに、終了ボタン5505の何れかが操作され、処理が選択されるのを待機する。若し、終了ボタン5505が操作された場合、登録ツール21は、処理をステップS103に移行させ、ユーザのログアウト処理を行い、登録ツール21の動作を終了させる。
ステップS102で、タブ5501aまたはタブ5501bが操作されユーザ管理モードが選択された場合、登録ツール21は、処理をステップS104に移行させる。そして、登録ツール21は、ステップS104において、ステップS102でタブ5501aおよび5501bの何れが操作されたかに応じて、管理者一覧画面とクライアント一覧画面(図15参照)とのうち何れかの表示を行う。ここでは、タブ5501bが操作され、図15に示されるクライアント一覧画面550が表示されたものとする。
クライアント一覧画面550において、ボタン群5502に含まれる「新規登録」または「編集」ボタンが操作されると、図16に例示される、実施形態に適用可能なクライアント登録/編集画面510が表示される。図16において、クライアント登録/編集画面510は、入力領域5101〜5108と、「OK」ボタン5109と、「キャンセル」ボタン5110とが配置される。
入力領域5101は、登録するクライアントの名前が入力される。入力領域5102は、当該クライアントが利用可能なページ数の上限値を入力する。入力領域5103は、当該クライアントの連絡先(この例では電子メールアドレス)が入力される。入力領域5104は、当該クライアントを識別するためのクライアントIDが入力される。入力領域5105は、当該クライアントが画像検索システム10を利用する際の認証に用いるパスワードが入力される。入力領域5106は、入力領域5105に入力されるパスワードの初期値を自動生成するためのボタンである。入力領域5107は、備考が入力される。
なお、入力領域5104および5105にそれぞれ入力されたクライアントIDおよびパスワードは、例えば登録端末20からユーザ管理サーバ105に送信され、ユーザ管理サーバ105により、登録ツール21にログインした際に入力されたログインIDと関連付けられてユーザDB106に登録されるものとする。
入力領域5108は、当該クライアントのクライアントIDに関連付けられたモジュールID312が入力される。入力領域5108に対するモジュールID312の入力は、マニュアルにて行うことができる。これに限らず、モジュールID312の入力は、当該クライアントIDに対して既にモジュールID312が関連付けられている場合、この関連付けられたモジュールID312から選択して入力するようにもできる。
「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は、図17に例示するような、実施形態に適用可能な契約一覧画面540を表示させる。図17において、契約一覧画面540は、ボタン群5401と、検索入力部5402と、リスト表示領域5403と、終了ボタン5404とが配置される。登録ツール21は、終了ボタン5404が操作されると、処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。
リスト表示領域5403は、管理サーバ101(契約情報DB16)に登録される契約情報のリストが表示される。図17の例では、リスト表示領域5403に表示されるリストにおいて、各レコードは、例えばキャンペーン毎に作成され、「クライアントID」、「契約タイプ」、「利用開始日」、「利用終了日」、「DB(データベース)」、「DB番号」、「モジュールID」、「アプリID」、「パッケージ名」、「アプリ名」、「備考」の各項目を含む。レコードの情報は、管理サーバ101により契約情報DB16に格納される。登録ツール21は、管理サーバ101と通信を行い、契約情報DB16に格納される契約情報を取得し、取得した契約情報をリスト表示領域5403に表示させる。
ボタン群5401は、4個のボタンを含み、各ボタンは、左から、「新規登録」、「編集」、「削除」、「CSV出力」の各機能が割り当てられている。「新規登録」ボタンは、リスト表示領域5403に表示されるリストに対して新規にレコードを追加する。「編集」ボタンは、リスト表示領域5403に表示されるリストにおいて選択されたレコードの情報を編集する。「削除」ボタンは、リスト表示領域5403に表示されるリストにおいて選択されたレコードの情報を削除する。「CSV出力」は、リスト表示領域5403に表示されるリストの情報をCSV形式のテキストファイルで出力する。
ボタン群5401に含まれる「新規登録」ボタンまたは「編集」ボタンが操作された場合、契約情報の新規登録または編集を行う画面として、例えば、図18に例示される、実施形態に適用可能なモジュール登録/編集画面520が表示される。図18において、モジュール登録/編集画面520は、入力領域5201〜5211と、「OK」ボタン5212と、「キャンセル」ボタン5213とが配置される。
入力領域5201は、サービス提供者が事業者に提供する画像検索モジュール311のモジュールID312が入力される。モジュールID312は、画像検索システム10が提供する各画像検索モジュール311で一意な値が用いられる。例えば、モジュールID312は、管理サーバ101により一意に生成される。管理サーバ101は、生成したモジュールID312を登録ツール21に送信する。登録ツール21は、管理サーバ101から送信されたモジュールID312を受信すると、受信したモジュールID312を入力領域5201に入力する。これに限らず、モジュールID312をマニュアルで入力してもよい。例えば、事業者との契約は、モジュールID312毎に行われる。
入力領域5202は、契約形態(契約タイプ)が入力される。この例では、契約形態は、評価契約と本契約との2つの形態が用意される。評価契約は、事業者が画像検索システム10を評価するための契約形態であり、非公開用のDBである画像検索用DB112aに対する画像の登録が可能であり、公開処理ができない。本契約は、評価契約より権限の広い契約であって、非公開用のDBである画像検索用DB112aと、公開用のDBである画像検索用DB112bとに対する画像の登録が可能である。また、本契約では、公開処理および非公開処理が可能である。入力領域5202では、これら評価契約と本契約とが排他的に入力される。
入力領域5203および5204は、それぞれ、入力領域5201に入力されたモジュールID312、すなわち、当該モジュールID312に対応する画像検索モジュール311の利用開始日および利用終了日が入力される。当該画像検索モジュール311は、入力領域5203に入力された日付から、入力領域5204に入力された日付までの期間内で利用可能とされ、当該期間外では、利用が不可とされる。この利用開始日および利用終了日は、当該画像検索モジュール311に対する契約の開始日および終了日に対応する。
入力領域5205および5206は、入力領域5201に入力されたモジュールID312に対応する画像検索モジュール311が画像検索に用いるDBを指定する。入力領域5205は、通常DB111aおよび111bのペア、ならびに、専用DB110a1および110b1、110a2および110b2、…の各ペアのうち何れのペアを用いるかを指定する。「通常」を入力した場合、通常DB111aおよび111bのペアが指定される。一方、「専用」を入力した場合は、専用DB110a1および110b1、110a2および110b2、…の各ペアのうち何れかのペアが指定される。
入力領域5206は、指定したDBのペアのDB番号を入力する。例えば、図4を参照し、入力領域5205に「専用」が入力され、入力領域5206に「SP002」が入力された場合、用いるデータベースとして、専用DB110a2および110b2のペアが指定される。入力領域5205に「通常」が入力された場合には、例えば、通常DB111aおよび111bのペアに割り当てられたDB番号が自動的に入力される。なお、DB番号は、契約に応じて、事業者毎に異なる番号がサービス提供者から事業者に提供される。
入力領域5207は、この契約情報に係る事業者を識別するクライアントIDが入力される。
入力領域5208は、アプリID310が入力される。入力領域5208は、空欄で構わない。入力領域5208に、画像検索アプリ301’のアプリID310を入力することで、入力されたアプリID310に対応する画像検索アプリ301’をフィルタリングすることができる。
入力領域5209〜5211は、オプションの情報が入力されるもので、入力を省略することができる。入力領域5209は、例えば、入力領域5201に入力されたモジュールID312を含む画像検索モジュール311が組み込まれる画像検索アプリ301’のパッケージ名が入力される。入力領域5211は、当該画像検索アプリ301’の名称、または、備考が入力される。入力領域5210は、「追加」ボタンであって、入力領域5211を追加する。
「OK」ボタン5212は、各入力領域5201〜5211に入力された内容を確定させる。例えば、登録ツール21は、「OK」ボタン5212が操作されると、各入力領域5201〜5211に入力された各情報を契約情報として管理サーバ101に送信する。管理サーバ101は、登録ツール21から送信された契約情報を受信し、受信した契約情報を契約情報DB16に格納する。「キャンセル」ボタン5213は、各入力領域5201〜5211に入力された各情報を破棄し、例えば処理をステップS101に戻し、メニュー領域5500を含む画面を表示させる。
図13に戻り、ステップS102で、タブ5501cが操作され画像登録モードが選択された場合、登録ツール21は、処理をステップS105に移行させる。ステップS105で、登録ツール21は、登録端末20において、登録されたキャンペーンに関する情報を示す登録情報一覧画面を表示させる。
図19は、ステップS105で表示される、第1の実施形態に適用可能な登録情報一覧画面560の例を示す。図19において、登録情報一覧画面560は、新規登録ボタン5601a、編集ボタン5601b、削除ボタン5601cおよび公開設定ボタン5601dと、検索入力部5602と、リスト表示領域5603と、終了ボタン5604とが配置される。
リスト表示領域5603は、管理サーバ101(契約情報DB16)に登録されるキャンペーン情報のリストが表示される。図19の例では、リスト表示領域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は、選択されたレコードに示されるキャンペーンの公開および非公開を設定するための公開設定画面の表示を行う。
図20は、実施形態に適用可能な公開設定画面の例を示す。図20において、公開設定画面530は、入力領域5301と、「OK」ボタン5302および「キャンセル」ボタン5303とが配置される。入力領域5301は、公開および非公開が排他的に入力される。ここで、入力領域5301は、選択されたレコードの項目「状態」の値が初期値とされる。「OK」ボタン5302は、入力領域5301に対して入力された値を確定する。
例えば、登録ツール21は、「OK」ボタン5302が操作されると、入力領域5301に対する入力に応じて、公開および非公開の何れかに設定された公開状態が当該レコードに対して設定される。公開状態が公開に設定されたレコードに示されるキャンペーンに含まれる画像が公開対象の画像とされ、公開状態が非公開に設定されたレコードに示されるキャンペーンに含まれる画像が非公開対象の画像とされる。登録ツール21は、公開状態が設定されると、リスト表示領域5603の表示を更新して、処理をステップS105に戻す。また、登録ツール21は、「キャンセル」ボタン5303が操作された場合、当該レコードの公開状態を公開設定画面530の表示前の状態として、処理をステップS105に戻す。
(3)登録ツール21は、ステップS110で、リスト表示領域5603においてレコードが選択された状態で、削除ボタン5601cが操作された場合、処理をステップS121に移行させる。ステップS121で、登録ツール21は、選択されたレコードの情報を削除する。このとき、登録ツール21は、レコードの削除を本当に行うか否か、また、レコードに関連付けられた画像の情報を含めてレコードを削除するか否かなどの確認画面を表示させると、好ましい。登録ツール21は、レコードが削除されると、リスト表示領域5603の表示を更新して、処理をステップS105に戻す。
(4)登録ツール21は、ステップS110で、編集ボタン5601bが操作された場合、処理をステップS122に移行させる。ステップS122で、登録ツール21は、登録情報一覧画面560のリスト表示領域5603に表示されるリストにおいて選択されたレコードに示されるキャンペーンに含まれる画像を、登録サーバ102から取得する。登録ツール21は、取得した画像に連携情報が関連付けられている場合、この連携情報も取得する。画像および連携情報を取得すると、登録ツール21は、処理をステップS124に移行させる。
(5)登録ツール21は、ステップS110で、新規登録ボタン5601aが操作された場合、処理をステップS123に移行させ、新規キャンペーンの登録処理を実行する。ステップS123において、登録ツール21は、キャンペーンの新規登録を行うためのキャンペーン登録画面を表示させる。
図21は、実施形態に適用可能なキャンペーン登録画面の例を示す。図21において、キャンペーン登録画面570は、入力領域5701〜5703と、「OK」ボタン5704および「キャンセル」ボタン5705とが配置される。入力領域5701は、キャンペーン名が入力される。入力領域5702は、新規登録するキャンペーンを実施する者(事業者)を識別するクライアントIDが入力される。入力領域5701および5702に入力された各値が、それぞれ、レコードにおける項目「キャンペーン名」および項目「クライアントID」の値となる。
入力領域5703は、モジュールID312が入力される。この場合、入力領域5703は、入力領域5702に入力されたクライアントIDに関連付けられたモジュールID312が入力される。例えば、入力領域5703は、クライアントIDに既にモジュールID312が関連付けられている場合、この関連付けられたモジュールID312から選択して入力するようにできる。
例えば、入力領域5702に入力されたクライアントIDに、図18の入力領域5205で「通常」が指定された第1のモジュールID312と、入力領域5205で「専用」が、入力領域5206で専用DB110a2および110b2を示す「SP002」が指定された第2のモジュールID312とが関連付けられているものとする。この場合、入力領域5703において第1のモジュールID312および第2のモジュールID312の何れかを選択して入力することで、入力されたモジュールID312に応じて、キャンペーンの登録先を、通常DB111aおよび111bのペアと、専用DB110a2および110b2のペアとのうち何れかに指定することができる。
登録ツール21は、「OK」ボタン5704が操作されると、キャンペーン登録画面570において入力領域5701〜5703に入力された各値を確定し、確定された各値を用いて、登録情報一覧画面560のリスト表示領域5603にレコードを追加する。そして、処理をステップS124に移行させる。一方、登録ツール21は、「キャンセル」ボタン5705が操作されると、入力領域5701〜5703に入力された各値を破棄し、例えば処理をステップS105に戻す。
ステップS124で、登録ツール21は、表示部203により、キャンペーンの情報を編集するための編集画面の表示を行う。図22は、実施形態に適用可能な編集画面の例を示す。図22において、編集画面480は、ヘッダ領域481と、サムネイル表示領域483と、ページ編集領域484と、プレビュー領域485と、対象領域一覧領域486と、リンクアイコン一覧領域487と、ツールバー488とを含む。
ヘッダ領域481は、この編集画面480の編集対象となるキャンペーンの名前が左端に表示され、右端には、登録ツール21にログインしているユーザの権限で利用できるメニューが表示されるユーザメニュー表示部482が配置される。
サムネイル表示領域483は、キャンペーンに含まれる各画像を縮小したサムネイル画像が表示される領域である。例えば、処理が上述のキャンペーン情報の編集を指示するステップS122からこのステップS124に移行された場合、登録ツール21は、ステップS122で登録サーバ102から取得された、リスト表示領域5603から選択されたレコードに示されるキャンペーンに含まれる各画像を登録サーバ102の画像DB14から取得する。そして、登録ツール21は、取得した各画像を縮小してサムネイル画像を生成し、サムネイル表示領域483に表示させる。図22の例では、サムネイル表示領域483に対し、サムネイル画像48301、48302、48303、…が表示されている。
なお、処理が上述のキャンペーン情報の新規登録を指示するステップS123からこのステップS124に移行した場合は、サムネイル表示領域483は、空欄となる。また、サムネイル表示領域483の右端に設けられるスクロールバーを操作することで、サムネイル表示領域483外に仮想的に表示される他のサムネイル画像を、サムネイル表示領域483内に順次表示させることができる。
ページ編集領域484は、キャンペーンに含まれる各画像のうち、編集対象となる画像4840が表示される。例えば、登録ツール21は、サムネイル表示領域483に表示される各サムネイル画像48301、48302、48303、…から選択したサムネイル画像の元画像を、画像4840としてページ編集領域484に表示させる。図22の例では、サムネイル表示領域483においてサムネイル画像48302が選択され、この選択されたサムネイル画像48302の元画像が画像4840としてページ編集領域484に表示されている。
登録ツール21は、ページ編集領域484に表示される画像4840に対して範囲が指定された場合、指定された範囲を対象領域として設定することができる。範囲の指定は、例えばユーザによる入力デバイス2007の操作が入力部202に受け付けられてなされる。例えば、ページ編集領域484に表示される画像4840内の任意の2点を指定することで、指定された2点を対角上の頂点とする矩形範囲が指定される。図22の例では、ページ編集領域484の画像4840に対して矩形の範囲により対象領域4841aおよび4841bがそれぞれ設定されている。
登録ツール21は、設定された各対象領域4841aおよび4841bを識別する識別情報(通し番号など)を生成し、各対象領域4841aおよび4841bに関連付ける。識別情報は、編集対象のキャンペーンに含まれる各画像を通して対象領域を識別可能に生成される。また、登録ツール21は、ページ編集領域484において設定された対象領域4841aおよび4841bに対して、1以上の連携情報を関連付けることができる。
さらに、登録ツール21は、サムネイル表示領域483に表示される各サムネイル画像48301、48302、48303、…のうち、ページ編集領域484において何らかの編集、例えば対象領域の指定が行われ、且つ、未保存の画像に対応するサムネイル画像に対して、マーカ画像4831を付加する。
プレビュー領域485は、ページ編集領域484において編集中の画像がこの情報処理システムに対応するアプリケーションプログラムにより検索端末30に表示される画面をエミュレートしたプレビュー画面4850を表示する。登録ツール21は、プレビュー領域485において、ページ編集領域484において設定された各対象領域4841aおよび4841bを強調表示などにより明示的に表示させる。また、登録ツール21は、プレビュー領域485において、各対象領域4841aおよび4841bに設定された連携情報を示す情報を、各対象領域4841aおよび4841bに対応させて表示させる。
対象領域一覧領域486は、編集対象のキャンペーンに含まれる各画像に設定された各対象領域に付加されている連携情報の一覧がアイコン画像600、600、…にて表示される。図22の例では、登録ツール21は、連携情報を、対応する対象領域に付加された識別情報(通し番号)毎に纏めて対象領域一覧領域486に表示している。また、対象領域一覧領域486において、右端に設けられるスクロールバーを操作することで、対象領域一覧領域486外に仮想的に表示される他の対象領域の連携情報を、対象領域一覧領域486内に順次表示させることができる。
リンクアイコン一覧領域487は、対象領域に対して設定可能な連携情報を、各連携情報に対応するアイコン画像600、600、…を用いて一覧表示する。登録ツール21は、リンクアイコン一覧領域487に表示されるアイコン画像600を所謂ドラッグアンドドロップ操作により移動させ、ページ編集領域484内に設定された例えば対象領域4841aに重ねることで、当該アイコン画像600、600、…に対応する連携情報を当該対象領域4841aに関連付けることができる。また、1つの対象領域に対して、複数の連携情報を関連付けることができる。
さらに、リンクアイコン一覧領域487において、予め定められた連携情報に対応するアイコン画像600を指定することで、第1の実施形態に係る、ユーザID313の登録処理を行うための連携情報と、アクセスの許可および不許可を制御可能なコンテンツに関する連携情報とを設定することができる。これら、第1の実施形態に係る連携情報の設定については、後述する。
リンクアイコン一覧領域487において、右端に設けられるスクロールバーを操作することで、リンクアイコン一覧領域487外に仮想的に配置される他のアイコン画像600を、リンクアイコン一覧領域487内に順次登場させ表示させることができる。
なお、対象領域に対して連携情報が関連付けられた場合に、当該対象領域の所定位置に、関連付けられた連携情報を示すアイコン画像600を表示させることができる。こうすることで、当該対象領域4841aにどの連携情報を関連付けたかを容易に知ることができ、好ましい。また、対象領域に対する連携情報の関連付けは、プレビュー領域485の表示に反映させる。
ツールバー488には、ページ編集領域484に表示されるページ(画像)を指定するページ指定部4880と、登録ツール21が備える様々な機能を実行させるためのボタンまたはボタン群4881〜4889とが配置される。ボタン4881は、編集画面480から登録情報一覧画面560に戻るためのボタンである。
ボタン4882は、登録端末20から登録サーバ102に対して画像をアップロードするためのボタンである。ボタン4882が操作されると、登録ツール21は、表示部203により、ファイル選択画面の表示を行う。ファイル選択画面は、例えば登録端末20のCPU2001上で動作するOS(Operating System)により提供される、標準のファイル選択画面を適用することができる。
ボタン群4883は、ページ編集領域484に表示される画像4840の表示サイズを調整するための2つのボタンを含む。
ボタン4884は、ページ編集領域484内に領域を設定する領域設定モードを、対象領域の設定を行う対象領域設定モードに切り替えるためのボタンである。登録ツール21は、このボタン4884が操作され編集モードが対象領域設定モードに切り替えられた上で、ページ編集領域484に表示される画像4840上に領域が指定された場合に、当該領域を対象領域に設定する。
ボタン4885は、ページ編集領域484内に領域を指定する領域設定モードを、解析部12による特徴情報の抽出の対象としないマスク領域を指定するマスク設定モードに切り替えるためのボタンである。登録ツール21は、このボタン4885が操作され編集モードがマスク設定モードに切り替えられた上で、ページ編集領域484に表示される画像4840上に領域が指定された場合に、当該領域をマスク領域に設定する。
ボタン4886は、キャンペーンの詳細を設定するためのキャンペーン設定画面を表示させるためのボタンである。キャンペーン設定画面では、キャンペーンの公開方法を設定する。なお、ここでいう公開は、検索端末30上で所定の操作を行った場合の検索端末30における動作をいう。例えば、キャンペーンの情報の検索端末30への保存、キャンペーンの情報のSNS(Social Networking Service)への投稿、外部のアプリケーションプログラムを用いてのキャンペーンの情報の表示などを設定できる。
ボタン群4887は、情報のコピー、ペーストおよび削除をそれぞれ実行するための3つのボタンを含む。
ボタン4888は、編集画面480のページ編集領域484に現在表示されている画像(ページ)4840の一部または全部に類似する部分を含む画像が検索サーバ100に既に登録されているか否かをチェックする類似画像チェックを指示するためのボタンである。実施形態では、類似画像チェックは、検索サーバ100に登録される画像を対象として行われる。登録ツール21は、検索サーバ100から送信された検索結果を、表示部203により表示する。ユーザは、この検索結果に基づき画像の再編集を行うことができる。
このとき、登録ツール21は、例えば、ボタン4884の操作に応じて設定された対象領域内の画像のみをチェックの対象として検索サーバ100に送信し、類似画像の検索を要求することができる。また、登録ツール21は、ボタン4885の操作に応じて設定されたマスク領域内の画像をチェックの対象から除外することもできる。さらに、登録ツール21は、ページ編集領域484に現在表示されている画像4840を分割し、分割した画像のそれぞれを登録サーバ102に送信して類似画像の検索を要求して、各々の画像について類似画像チェックを行ってもよい。
ボタン4889は、編集画面480において編集中のキャンペーンの保存を指示する。
ここで、説明を図13に戻し、ボタン4889が操作されると、登録ツール21は、処理をステップS125に移行させ、キャンペーンの保存処理を開始する。保存処理が開始されると、登録ツール21は、処理をステップS126に移行させ、保存対象のキャンペーンが新規登録のキャンペーンであるか否かを判定する。登録ツール21は、処理が上述したステップS122からこのステップS126に移行された場合に、新規登録のキャンペーンではないと判定し(ステップS126、「No」)、処理をステップS128に移行させる。
一方、登録ツール21は、処理が上述したステップS123からこのステップS126に移行された場合に、新規登録のキャンペーンであると判定し(ステップS126、「Yes」)、処理をステップS127に移行させる。ステップS127で、登録ツール21は、保存対象のキャンペーンに含まれる画像のうち対象領域が設定された画像について、上述した、各画像の一部または全部に類似する部分を含む画像が検索サーバ100に既に登録されているか否かを判定する類似画像チェックを実行する。登録ツール21は、類似画像チェックが終了すると、処理をステップS128に移行させる。
ステップS128で、登録ツール21は、キャンペーンの情報を登録サーバ102に送信し、登録サーバ102に対して登録される情報の更新を要求する。例えば、登録ツール21は、キャンペーンに含まれる各画像と、各画像に関連付けられる各連携情報と、当該キャンペーンのメタデータとを登録サーバ102に送信する。登録サーバ102は、登録ツール21からの要求に応じて、登録端末20から送信された各情報に基づき登録サーバ102が備える画像DB14および連携情報DB15と、メタデータDBとを更新する。
登録ツール21は、ステップS128で登録サーバ102に対する情報更新の要求を送信すると、処理をステップS105に戻す。
(第1の実施形態に適用可能なDB指定方法)
次に、第1の実施形態に適用可能な、画像を登録する対象のDBを指定する方法について、図23のフローチャートを用いて概略的に説明する。この図23のフローチャートによる処理は、例えばサービス提供者により実行される。また、この図23のフローチャートによる処理は、キャンペーン単位で実行される。なお、クライアントである事業者とサービス提供者との間では、画像検索システム10を利用するための契約が、書面などにより予め交わされているものとする。
ステップS200で、サービス提供者は、契約対象の事業者のクライアントIDが登録されているか否かを判定する。例えば、サービス提供者は、登録端末20から管理サーバ101に対して、契約を交わした事業者のクライアント名を含む契約情報が契約情報DB16に登録されているか否かの問い合わせを行い、問い合わせの結果に基づきこの判定を行うことができる。若し、契約対象の事業者のクライアントIDが既に登録されていると判定した場合、処理がステップS202に移行される(ステップS200、「Yes」)。
一方、契約対象の事業者のクライアントIDが登録されていないと判定した場合(ステップS200、「No」)、処理がステップS201に移行される。ステップS201で、サービス提供者は、契約情報に基づき、当該事業者を識別するためのクライアントIDを登録する。例えば、サービス提供者は、登録端末20により図16で示したクライアント登録/編集画面510を表示させ、入力領域5104に事業者のクライアントIDを含む各情報を入力する。
さらに、サービス提供者は、契約情報に基づき、当該クライアントIDの事業者が画像検索モジュール311を利用する場合に、当該クライアントIDに関連付けられるモジュールID312を、例えば図18のモジュール登録/編集画面520を用いて設定し、設定したモジュールID312を、クライアント登録/編集画面510における入力領域5108に入力する。そして、クライアント登録/編集画面510において「OK」ボタン5109が操作されることで、当該事業者のクライアントIDを含めた各情報が、契約情報DB16に登録される。
ステップS201でクライアントIDが登録されると、処理がステップS202に移行される。ステップS202で、サービス提供者は、契約対象の事業者が画像検索モジュール311を他のアプリケーションプログラム(アプリ)に組み込むか否かを、契約情報に基づき判定する。なお、他のアプリは、例えば当該事業者が提供するアプリである。
ステップS202で、画像検索モジュール311の他のアプリへの組み込みを行わないと判定された場合(ステップS202、「無し」)、処理がステップS203に移行され、契約対象の事業者との契約が通常契約であるとされる。そして、処理をステップS212に移行させる。
上述したステップS202で、画像検索モジュール311を他のアプリに組み込むと判定した場合(ステップS202、「有り」)、処理がステップS210に移行され、契約対象の事業者との契約が専用契約であるとされる。そして、次のステップS211で、専用DBを使うか否かを判定する。使わないと判定した場合(ステップS211、「使わない」)、サービス提供者は、契約対象の事業者が画像を登録する登録対象の通常DB111aおよび111bを指定する(ステップS212)。
一方、専用DBを使うと判定した場合(ステップS211、「使う」)、サービス提供者は、契約対象の事業者に対して、専用DB110a1および110b1、専用DB110a2および110b2、…の各ペアのうち、登録対象DBとするDBのDB番号を指定する(ステップS213)。
サービス提供者は、上述したステップS212およびステップS213の結果に応じて、キャンペーンに対して利用DBフラグを設定することができる。利用DBフラグの値としては、ステップS212が実行された場合には「通常」、ステップS213が実行された場合には「専用」を用いる。これに限らず、利用DBフラグとしては、指定されたDBのDB番号を用いてもよい。
(第1の実施形態に適用可能な検索処理)
次に、第1の実施形態に適用可能な検索処理について説明する。先ず、第1の実施形態に適用可能な、検索端末30からの検索処理について、図24のフローチャートを用いて説明する。ステップS300で、検索端末30は、ユーザ操作に応じて撮像処理を行う。次のステップS301で、検索端末30は、撮像画像と、画像検索アプリ301’に含まれるアプリID310およびモジュールID312とを含む検索要求を、画像検索システム10に送信する。この検索要求は、画像検索システム10において、管理サーバ101に受信される。
次のステップS302で、検索端末30は、画像検索システム10からの検索結果の受信を待機する。検索結果の受信が無ければ(ステップS302、「受信無し」)処理がステップS302に戻される。検索端末30は、画像検索システム10からの検索結果を受信すると(ステップS302、「受信有り」)、処理をステップS303に移行させ、検索結果を表示する。ステップS303の処理が終了すると、検索端末30による一連の検索処理が終了される。
次に、実施形態に適用可能な管理サーバ101による、検索に関する処理について、図25のフローチャートを用いて説明する。管理サーバ101は、ステップS400で、検索端末30からの検索要求を受信したか否かを判定する。受信していないと判定した場合(ステップS400、「No」)、処理をステップS400に戻す。一方、管理サーバ101は、検索端末30からの検索要求を受信したと判定した場合(ステップS400、「Yes」)、処理をステップS401に移行させる。
ステップS401で、管理サーバ101は、受信した検索要求に含まれるモジュールID312に対応する契約情報を、契約情報DB16から取得する。次のステップS402で、契約情報にアプリID310が登録されているか否かを判定する。管理サーバ101は、契約情報にアプリID310が登録されていないと判定した場合(ステップS402、「無し」)、処理をステップS404に移行させる。一方、管理サーバ101は、契約情報にアプリID310が登録されていると判定した場合(ステップS402、「有り」)、処理をステップS403に移行させる。
ステップS403で、管理サーバ101は、契約情報に含まれるアプリID310と、検索端末30にインストールされる画像検索アプリ301’に含まれるアプリID310とが一致するか否かを判定する。管理サーバ101は、一致しないと判定した場合(ステップS403、「不一致」)、処理をステップS410に移行させ、アプリIDが一致しない旨のエラー通知を検索端末30に送信し、図25のフローチャートによる一連の処理を終了させる。
一方、管理サーバ101は、ステップS403でアプリIDが一致すると判定した場合(ステップS403、「一致」)、処理をステップS404に移行させる。
ステップS404で、管理サーバ101は、ステップS401で取得した契約情報に含まれる利用開始日および利用終了日に基づき、現在の日付が契約期間内であるか否かを判定する。管理サーバ101は、現在の日付が契約期間外であると判定した場合(ステップS404、「期間外」)、処理をステップS410に移行させ、契約期間外である旨のエラー通知を検索端末30に送信し、図25のフローチャートによる一連の処理を終了させる。
一方、管理サーバ101は、ステップS404で現在の日付が契約期間内であると判定した場合(ステップS404、「期間内」)、処理をステップS405に移行させる。ステップS405で、管理サーバ101は、検索要求を送信した検索端末30の検索対象を公開用のDBとし、検索要求に含まれるモジュールID312に対応する契約情報に基づき、検索対象のDBを、通常DB111bと、専用DB110b1、110b2、…とから選択するよう、スイッチ部121および120bを切り替える。検索サーバ100は、選択された検索対象DBに対して、画像検索を行う。検索要求は、管理サーバ101から検索サーバ100に渡してもよいし、例えばスイッチ部121に保持しておいてもよい。
検索サーバ100は、次のステップS406、検索結果を、検索要求を送信した検索端末30に通知し、図25のフローチャートによる一連の処理を終了させる。
(検索端末における画像検索結果の表示例)
次に、上述した図25のフローチャートにおけるステップS406により検索端末30に送信された検索結果の、検索端末30における表示例について、図26〜図28を用いて説明する。
上述したように、画像検索サーバ10は、画像内に指定された対象領域に連携情報を関連付けており、この対象領域と連携情報との関連付けの情報を、XMLコードにより記述している。画像検索サーバ10は、画像検索の結果、このXMLコードを含めた検索結果を検索端末30に送信する。検索端末30は、画像検索サーバ10から送信された検索結果に含まれるXMLコードを、通信部303を介して、画像検索アプリ301’に含まれる画像検索モジュール311内の検索結果受信部3113により受信する。検索結果受信部3113は、受信した検索結果を表示情報生成部3114に渡す。表示情報生成部3114は、渡された検索結果に含まれるXMLコードに基づき閲覧画面を表示させるための表示情報を生成して表示部306に渡す。表示部306は、渡された表示情報に従い、閲覧画面を表示デバイス3004に表示させる。
図26は、実施形態に適用可能な、表示情報生成部3114に生成された表示情報に従い表示される閲覧画面の例を示す。図26において、閲覧画面5000は、リンク表示領域5001と、ページ画像表示領域5002とを含む。ページ画像表示領域5002は、XMLコードに従ったページ5010が表示される領域である。ページのサイズは、固定としてもよいし、XMLコードに含めてもよい。表示情報生成部3114は、XMLコードの記述に従い各対象領域5020a、5020bおよび5020cの表示を行う。
表示情報生成部3114は、XMLコードに記述されるリンク情報に従い取得した画像を各対象領域5020a、5020bおよび5020cに表示させる。これに限らず、表示情報生成部3114は、XMLコードに画像データが含まれている場合は、その画像データに従った画像を各対象領域5020a、5020bおよび5020cに表示することができる。
さらに、表示情報生成部3114は、各対象領域5020a、5020bおよび5020cに対し、各対象領域5020a、5020bおよび5020cに関連付けられた連携情報を示すアイコン画像5030a〜5030gを表示させる。図26の例では、対象領域5020aに4つのアイコン画像5030a〜5030dが表示され、対象領域5020aに対して4つの連携情報が関連付けられていることが示される。同様に、対象領域5020cにアイコン画像5030fおよび5030gが表示され、対象領域5020cに対して2つの連携情報が関連付けられていることが示される。また、対象領域5020bには1つのアイコン画像5030eが表示され、対象領域5020bに対して1つの連携情報が関連付けられていることが示されている。
このような閲覧画面5000の表示に対し、入力デバイス3007を操作して1つの対象領域を指定することで、ユーザは、指定した対象領域に関連付けられた連携情報を利用することができる。図27は、図26の閲覧画面5000に対して対象領域5020aを指定した例を示す。図27の例では、指定された対象領域5020aが強調表示されている。入力デバイス3007に対する対象領域5020aの指定操作が入力受付部3115に受け付けられると表示情報生成部3114は、リンク表示領域5001に対して、指定された対象領域5020aに関連付けられた連携情報を示すアイコン画像5030a’、5030b’、5030c’および5030d’を表示させる。これらアイコン画像5030a’〜5030d’は、それぞれアイコン画像5030a〜5030dに対応する。
また、表示情報生成部3114は、ページ画像表示領域5002の各アイコン画像5030a’、5030b’、5030c’および5030d’に対応する位置に、タブ5302a、5302b、5302cおよび5302dを表示させる。タブ5302a、5302b、5302cおよび5302dを操作することで、操作されたタブに対応するアイコン画像に示される連携情報が利用可能となる。
図28(a)および図28(b)は、図27の表示において、タブ5302aおよび5302dを操作した例を示す。この例では、例えばタブ5302aが操作されると、タブ5302aの画像が、恰もタブ5302aがページ画像表示領域5002の方向に向けて伸びたような画像に変更される。また、タブ5302aの伸びた先端部分に、当該タブ5302aに対応するアイコン画像5030a’が表示される。タブ5302dについても、同様である。さらに、リンク表示領域5001のアイコン画像5030a’および5030d’が表示されていた各位置には、アイコン画像5030a’および5030d’に示される機能の利用を指定するアイコン画像5301aおよび5301dがそれぞれ表示される。このように、操作されたタブ5302aの画像を変更することで、当該タブ5302aに対応するアイコン画像5030a’が示す連携情報が利用可能な状態にあることが示される。
一例として、アイコン画像5030a’に対し、起動アプリケーションプログラムとして画像検索アプリ301’が指定され、アイコン画像5030a’が示す連携情報が、当該連携情報を検索端末30に記憶可能に指定している場合について考える。この場合、表示情報生成部3114は、図28(a)に例示されるように、タブ5302a上に「コレクションに追加」のメッセージ5303aを表示させ、ユーザに対して、アイコン画像5030a’が示す連携情報を検索端末30に記憶させるよう促す。表示情報生成部3114は、アイコン画像5301aに対する操作が入力受付部3115に受け付けられると、アイコン画像5030a’が示す連携情報を、例えば検索端末30のストレージ3005に記憶させる。
別の例として、アイコン画像5030d’に対し、起動アプリケーションプログラムとして画像検索アプリ301’が指定され、アイコン画像5030d’が示す連携情報が、当該連携情報の、検索端末30への記憶と、SNS#Aでの共有と、SNS#Bに対する投稿とを指定している場合について考える。この場合、表示情報生成部3114は、図28(b)に例示されるように、タブ5302d上に、「コレクションに追加」と、「SNS#Bに投稿」と、「SNS#Aでシェア」とを選択可能としたメッセージ5303dを表示させ、ユーザに対して処理の選択を促す。表示情報生成部3114は、メッセージ5303dに応じて選択された処理を実行する。例えば、表示情報生成部3114は、「SNS#Bに投稿」を選択する操作が入力受付部3115に受け付けられた場合、アイコン画像5030d’が示す連携情報に基づき、SNS#Bに対する投稿処理を行う。
さらに別の例として、アイコン画像5030a’に対して起動アプリケーションプログラムとして、検索端末30に搭載されるブラウザアプリケーションが指定されている場合、画像検索アプリ301’は、このアイコン画像5030a’に対応するアイコン画像5301aに対する操作が入力受付部3115に受け付けられると、ブラウザアプリケーションを呼び出し、起動させる。
(第1の実施形態に係るコンテンツ取得制御)
次に、第1の実施形態に係るコンテンツ取得制御について説明する。第1の実施形態では、検索端末30により撮像した撮像画像に基づき画像検索システム10により検索された連携情報に従ったコンテンツの取得を、一定の条件を満たす検索端末30に限定して許可可能とする。一例として、会場を設けて開催されるイベント内で提示されるコンテンツ、例えばイベントにおいて配布されるチラシを撮像した撮像画像に基づき検索された連携情報に従ったコンテンツの取得を、そのイベントの会場内で当該撮像画像を撮像した検索端末30に限定的に許可する。
図29〜図31を用いて、第1の実施形態に係るコンテンツ取得制御について説明する。図29は、第1の実施形態に係るコンテンツ取得処理の流れを概略的に示す。また、図30および図31は、第1の実施形態に係るコンテンツ取得処理において検索端末30に表示される閲覧画面700の例を示す。閲覧画面700は、図26〜図28を用いて説明した閲覧画面5000に対応するものである。
なお、ユーザが操作する検索端末30は、画像検索アプリ301’の初回の起動が行われ、管理サーバ101からユーザID313が付与されているものとする。検索端末30において、管理サーバ101から送信されたユーザID313が通信部303により受信され、受信されたユーザID313が、記憶部302によりストレージ3005の画像検索アプリ301’の管理領域に記憶される。
また、事業者は、イベント会場において所定期間でイベントを開催し、イベントにおいて配布されたチラシの画像を、会場内からイベント期間中に画像検索システム10に送信して画像検索を行うことで、イベント限定のコンテンツを検索端末30により取得させるサービスを実施しているものとする。
図29を参照し、ユーザは、検索端末30を操作して画像検索アプリ301’により被写体31を撮像し、撮像して得られた撮像画像を、検索端末30から画像検索システム10に送信する(ステップS1)。また、検索端末30は、被写体31の撮像時に、位置情報所得部307によりGNSS部3010を制御して位置情報と時間情報とを計測し、計測された位置情報および時間情報を端末状況取得部3116により取得する。取得されたこれら位置情報および時間情報は、例えばRAM3002に記憶される。これら位置情報および時間情報は、検索端末30により被写体31が撮像された時点での、検索端末30の状況を示す状況情報である。
送信された撮像画像は、画像検索システム10に受信され、検索サーバ100に渡される。検索サーバ100は、渡された撮像画像に基づき画像検索を行い、検索結果として得られた連携情報を、撮像画像の送信元である検索端末30に送信する(ステップS2)。ここで、検索サーバ100から送信される連携情報は、検索端末30においてユーザID313を取得するためのユーザID取得指示を含めて作成されている。ユーザID取得指示の具体的な例は、後述する。
検索端末30は、検索サーバ100から送信された連携情報を受信する。検索端末30において、画像検索アプリ301’は、受信した連携情報に基づく画面を検索端末30に表示させる。また、画像検索アプリ301’は、ID取得部3111により、受信した連携情報に含まれるユーザID取得指示に従い、ストレージ3005に記憶されるユーザID313を取得する。
図30(a)は、ステップS2で検索サーバ100から受信した連携情報に基づく閲覧画面700の例を示す。図30(a)の例では、閲覧画面700は、連携情報に示される各リンク情報に対応するタブ7001、7002aおよび7002bが表示されている。タブ7002aおよび7002bは、連携情報として、イベントの限定コンテンツへのリンクを示すリンク情報がそれぞれ関連付けられている。この例では、タブ7002aおよび7002bの表示がそれぞれ「イベントレポート」および「限定版製品」とされ、限定コンテンツとして、当該イベントのイベントレポートと、限定版製品の情報とが提供されることが示されている。
また、タブ7001は、タブ7002aおよび7002bによる限定コンテンツに対するアクセスの許可を要求するためのタブである。タブ7001には、連携情報として、例えばアクセス許可処理を行うWebサイトへのリンクを示すリンク情報が関連付けられている。この例では、タブ7001の表示が「参加御礼」とされてイベント主催者からのイベント参加に対する挨拶メッセージを取得するように示され、限定コンテンツに対するアクセス許可を要求する機能については隠蔽されている。
なお、以下では、イベントの限定コンテンツのURLは、コンテンツサーバ402上のURLであり、アクセス許可処理を行うWebサイトのURLは、事業者サーバ401上のURLであるものとする。また、コンテンツサーバ402へのアクセスは、事業者サーバ401を介して行われるものとする。
図30(a)の状態の閲覧画面700に対し、ユーザがタブ7001を操作した場合について説明する。図30(b)は、検索端末30に対するユーザ操作によりタブ7001が操作された状態の例を示す。図30(b)の例では、操作されたタブ7001が強調表示されている。
検索端末30において、画像検索アプリ301’は、タブ7001に対する操作に応じて、コンテンツ要求送信部3117により、タブ7001に対応するリンク情報に従い、リンク情報に従ったアクセス先を示す情報と、ユーザID313と、被写体31の撮像時の検索端末30に取得された位置情報および時間情報とを含むコンテンツ要求を事業者サーバ401に送信する(ステップS3)。コンテンツ要求は、具体的には、リンク情報が示すURLのパラメータとして、当該URLに付加されて送信される。
なお、ここでは、事業者サーバ401に送信する位置情報および時間情報を、被写体31の撮像時に取得するように説明しているが、これはこの例に限定されない。例えば、ステップS3において、タブ7001が操作された時点での位置情報および時間情報を端末状況取得部3116により取得して、事業者サーバ401に送信するようにしてもよい。
検索端末30から送信されたコンテンツ要求は、事業者サーバ401において通信部4100に受信され、判定部4103に渡される。判定部4103は、予め定められた条件に従い、コンテンツ要求に含まれる位置情報と時間情報とのうち少なくとも一方に基づき、ユーザに、タブ7002aおよび7002bに対応するリンク情報が示すコンテンツへのアクセスを許可可能とするか否かの判定を行う。ここでは、説明のため、判定部4103は、位置情報に基づく判定と、時間情報に基づく判定との論理積に従い、アクセス許可可能の判定を行うものとする。
判定部4103は、位置情報および時間情報に基づきアクセス許可が可能であると判定した場合、検索端末30から受信したコンテンツ要求に含まれるユーザID313を登録部4102に渡す。登録部4102は、渡されたユーザID313を登録する(ステップS4)。登録部4102は、既にユーザID313が登録されている場合には、登録済みのユーザID313を新たに取得されたユーザID313で上書きしてもよいし、登録処理を行わなくてもよい。事業者サーバ401は、登録部4102によるユーザID313の登録が完了すると、ユーザID313の送信元の検索端末30に対してメッセージを送信する(ステップS5)。
事業者サーバ401から送信されたメッセージは、検索端末30に受信され、表示される。図30(c)は、受信されたメッセージが表示されるメッセージ表示画面701の例を示す。図30(c)の例では、メッセージ表示画面701に対して、イベント参加に対する挨拶メッセージ7010が表示されている。携帯端末30に対して所定の操作を行うことで、例えば表示がメッセージ表示画面701から図30(a)で示した閲覧画面700に移行する。
表示がメッセージ表示画面701から図30(a)の閲覧画面700に移行した後、ユーザがタブ7002aまたは7002bを操作した場合について説明する。なお、これらタブ7002aおよび7002bの何れを操作した場合であっても同様の処理となるため、以下では、タブ7002aが操作されたものとして説明する。図31(a)は、検索端末30に対するユーザ操作によりタブ7002aが操作された状態の例を示す。
検索端末30において、画像検索アプリ301’は、ユーザID313の事業者サーバ401への登録後にタブ7002aが操作されると、コンテンツ要求送信部3117により、タブ7002aに対応するリンク情報に示されるURLに対してコンテンツを要求するコンテンツ要求を送信する。このとき、コンテンツ要求送信部3117は、コンテンツ要求にユーザID313を含めて送信する(ステップS6)。このコンテンツ要求は、URLに従い事業者サーバ401に受信される。
事業者サーバ401は、ユーザID313を含むコンテンツ要求を受信すると、受信したコンテンツ要求に含まれるユーザID313を判定部4103に渡す。事業者サーバ401は、判定部4103により、渡されたユーザID313に基づき、当該ユーザID313の送信元の検索端末30に、コンテンツ要求により要求されたコンテンツへのアクセスを許可するか否かを判定する(ステップS7)。
より具体的には、事業者サーバ401において、判定部4103は、渡されたユーザID313と一致するユーザID313が登録部4102により既に登録されているか否かを調べる。登録されていた場合、コンテンツ要求により要求されたコンテンツへのアクセスを許可すると判定する。判定部4103は、この判定結果をコンテンツ処理部4101に通知する。コンテンツ処理部4101は、この通知に応じて、コンテンツ要求に従いコンテンツサーバ402に対してコンテンツを要求し(ステップS8)、コンテンツを取得する(ステップS9)。事業者サーバ401は、コンテンツ処理部4101により取得されたコンテンツを検索端末30に送信する(ステップS10)。
以上の処理により、検索端末30は、閲覧画面700で指定したタブ7002aに対応するコンテンツを取得することができる。図31(b)は、検索端末30に対してタブ7002aに対応するコンテンツが表示されたコンテンツ表示画面702の例を示す。
一方、判定部4103は、ステップS7において、渡されたユーザID313が登録部4102により登録されておらず、コンテンツ要求により要求されたコンテンツへのアクセスを許可しないと判定した場合、その旨を示すメッセージを含むエラー通知を検索端末30に送信する(ステップS11)。検索端末30は、このエラー通知を受信し、エラー通知に含まれるメッセージに従った表示を行う。
図31(c)は、このメッセージが表示されるエラーメッセージ表示画面703の例を示す。この例では、メッセージ表示領域7030に対して、タブ7001によるチェックイン処理(ユーザID313の登録処理)が行われていない旨を示すメッセージが表示されている。「OK」ボタン7031を操作することで、検索端末30の表示が、例えば上述した図30(a)の閲覧画面700に移行する。
このように、第1の実施形態によれば、検索端末30に対する特定のコンテンツの提示を許可するか否かを、被写体31を撮像した際の検索端末30の状況に基づき制御することができる。したがって、被写体31を撮像した撮像画像に基づく画像検索で得られた情報を、ユーザを限定して提示することが可能である。
図30(a)などで説明した閲覧画面700における各タブ7001、7002aおよび7002bの設定は、登録端末20において、編集画面480から行う。上述した図22を参照し、例えば、イベント内で提示されるコンテンツとしてのチラシの画像がページ編集領域484に表示され、このチラシの画像全体が1つの対象領域であるものとする。
リンクアイコン一覧領域487には、タブ7001、7002aおよび7002bに対応付ける各連携情報を設定するためのアイコン画像600が用意される。上述したように、このアイコン画像600を、ドラッグアンドドロップ操作によりページ編集領域484に表示されるチラシ画像上に移動させ、アイコン画像600をチラシ画像に関連付ける。図30(a)などの例では、それぞれ連携情報が対応付けられる3つのタブ7001、7002aおよび7002bに対応し、アイコン画像600が3つ、チラシ画像に関連付けられる。対象領域一覧領域486には、3つのアイコン画像600が表示されることになる。
例えば、対象領域一覧領域486に表示される3つのアイコン画像600のうち1つを指定すると、リンク設定画面が表示される。図32は、第1の実施形態に適用可能なリンク設定画面610の例を示す。図32において、リンク設定画面610は、リンク情報設定領域611と、判定条件設定領域612と、「OK」ボタン613と、「キャンセル」ボタン614とを含む。
リンク情報設定領域611は、ラジオボタン6110、6111aおよび6111bと、入力領域6112および6113とを含む。ラジオボタン6110、6111aおよび6111bは、互いに排他的に指定可能なボタンであって、「ID登録」、「コンテンツ(判定有り)」および「コンテンツ(判定無し)」の何れかを指定できる。
一例として、「ID登録」のラジオボタン6110は、その連携情報を、ユーザID313の登録および判定を行うWebサイト(事業者サーバ401)へのリンク情報を含む連携情報(例えばタブ7001)として設定する。「コンテンツ(判定有り)」のラジオボタン6111aは、その連携情報を、ユーザID313の登録が確認された場合にアクセスが許可されるリンク情報を含む連携情報(例えばタブ7002aおよび7002b)として設定する。「コンテンツ(判定無し)」のラジオボタン6111bは、その連携情報を通常の連携情報、すなわち、ユーザID313の登録無しでもアクセス可能なリンク情報を含む連携情報として設定する。
入力領域6112は、ラジオボタン6110、6111aおよび6111bにて設定された連携情報のタイトルを入力する。図30(a)などの例では、入力領域6112に対して、「参加御礼」、「イベントレポート」、「限定版製品」などと入力される。入力領域6113は、ラジオボタン6110、6111aおよび6111bにて設定された連携情報のリンク情報(URL)を入力する。
判定条件設定領域612は、チェックボックス6120aおよび6120bと、これらチェックボックス6120aおよび6120bにそれぞれ対応する入力領域6121aおよび6121bを含む。なお、判定条件設定領域612におけるこれらチェックボックス6120aおよび6120b、ならびに、入力領域6121aおよび6121bは、例えば、リンク情報設定領域611において、ユーザID313の登録、判定のための連携情報を設定するラジオボタン6110が指定されている場合に、入力が有効となる。
判定条件設定領域612は、コンテンツへのアクセスを許可可能とするか否かの判定を行うための条件を設定するための領域である。チェックボックス6120aおよび入力領域6121aは、それぞれ、時間情報を条件とするか否か、および、条件とする時間情報(例えば期間)を入力する。同様に、チェックボックス6120bおよび入力領域6121bは、それぞれ、位置情報を条件とするか否か、および、条件とする位置情報(例えば座標範囲)を入力する。
「OK」ボタン613は、リンク情報設定領域611および判定条件設定領域612に対して設定、入力された内容を、連携情報に反映させる。例えば、リンク情報設定領域611において、ラジオボタン6110および6111aにて設定された連携情報によるリンク情報へのリンクでは、事業者サーバ401に対してユーザID313を送信する必要がある。そのため、第1の実施形態では、リンク情報に、ユーザID313の取得を指示するユーザID取得指示を含める。
例えば、図33に例示されるように、URLにおけるファイル名(この例では「idresist.html」)に続けてパラメータ「?<uid>」を記述することで、ユーザID取得指示を構成することができる。画像検索アプリ301’は、連携情報に含まれるリンク情報にパラメータ「?<uid>」が付加されている場合、例えばID取得部3111によりユーザID313を取得して、パラメータ「?<uid>」の記述「<uid>」の部分を、取得したユーザID313に置き換える。
判定条件設定領域612において設定、入力された条件は、事業者サーバ401に送信される。これに限らず、判定条件設定領域612において設定、入力された内容を、上述のようにURLに対してパラメータとして付加してもよい。
「キャンセル」ボタン614は、リンク設定画面610を消去する。
図34は、第1の実施形態に係る、事業者サーバ401におけるユーザID313の登録処理を示す一例のフローチャートである。ステップS500で、事業者サーバ401は、検索端末30から、事業者サーバ401上のアクセス許可処理を行うWebサイトのURL(登録URLと呼ぶ)へのアクセスを要求するコンテンツ要求の有無を判定する。事業者サーバ401は、検索端末30から登録URLへのアクセス要求するコンテンツ要求を受信していないと判定した場合(ステップS500、「無し」)、処理をステップS500に戻す。
一方、事業者サーバ401は、検索端末30から登録URLへのアクセスを要求するコンテンツ要求を受信したと判定した場合(ステップS500、「有り」)、処理をステップS501に移行させる。このコンテンツ要求には、図29のステップS3において説明したように、ユーザID313と、位置情報および時間情報とが含まれる。
ステップS501で、事業者サーバ401は、判定部4103により、検索端末30から送信されたコンテンツ要求がユーザID313を含んでいるか否かを判定する。事業者サーバ401は、コンテンツ要求がユーザID313を含んでいないと判定した場合(ステップS501、「No」)、処理をステップS508に移行させて、エラーメッセージを生成する。
一方、判定部4103は、ステップS501で登録URLがユーザID313を含んでいると判定した場合(ステップS501、「Yes」)、処理をステップS502に移行させる。
ステップS502で、判定部4103は、コンテンツ要求に含まれる状況情報が所定の条件を満たしているか否かを判定する。より具体的には、判定部4103は、コンテンツ要求から位置情報および時間情報を取得し、取得した位置情報および時間情報が、上述した判定条件設定領域612において設定され事業者サーバ401に送信された条件を満たしているか否かを判定する。
例えば、判定部4103は、判定条件設定領域612において時間情報のみを条件とするように設定されている場合、取得した位置情報および時間情報のうち、時間情報のみを用いて判定を行う。同様に、判定部4103は、判定条件設定領域612において位置情報のみを条件とするように設定されている場合、取得した位置情報および時間情報のうち、位置情報のみを用いて判定を行う。また、判定部4103は、判定条件設定領域612において時間情報および位置情報を条件とするように設定されている場合、取得した位置情報および時間情報を用いて論理積に従い判定を行う。
図35を用いて、第1の実施形態に係る位置情報および時間情報による条件判定について説明する。図35において、左から右に向けて時間が進むものとする。図35(a)は、検索サーバ100において、画像DB14に登録される被写体31に対応する画像(特徴情報)の公開状態の例を示す。既に説明したように、画像DB14に登録される画像の検索端末30からの検索は、非公開状態において不可とされ、公開状態において可能とされる。図35(a)の例では、被写体31に対応する画像は、期間80の非公開状態から、期間81で公開状態に移行され、続く期間80’で再び非公開状態に移行される。
図35(b)は、被写体31に係るイベントの実施期間の例を示す。この例では、画像DB14に登録される被写体31に対応する画像が公開状態である期間81内の期間82が、イベントの実施期間とされている。判定部4103は、例えば、このイベントが実施される期間82を時間情報に基づく条件とし、被写体31がこの期間82内において撮像された場合に、条件を満たしていると判定する。この場合、位置情報の条件は設定されていないため、被写体31が何処で撮像されたかは判定に影響しない。
図35(c)は、被写体31に係るイベントが実施される会場が開放される期間の例を示す。この例では、上述した期間81内の期間83が、会場の開放期間とされている。例えば、ユーザは、この期間83内において、当該会場に入場することができる。判定部4103は、例えば、この会場が開放される期間83を時間情報に基づく条件とし、会場の場所を位置情報に基づく条件とし、被写体31が、この期間83内であり、且つ、当該会場にて撮像された場合に、条件を満たしていると判定する。この場合、時間情報に基づく条件をイベント実施の期間82にさらに制限することも考えられる。
図35(d)は、特定の場所そのものを、位置情報に基づく条件とした例である。例えば、特定の建造物や碑、特定の場所から見る景色を被写体31として、検索サーバ100による検索を行う場合が考えられる。この場合、特定の建造物や碑の場所、所定の景色を見るための特定の場所そのものが位置情報に基づく条件とされる。また、この場合には、時間情報の条件は設定されていないため、被写体31が何時撮像されたかは、判定に影響しない。一方、被写体31に対応する画像が非公開状態である期間80および80’では、被写体31に対応する画像の検索が不可となる。このように、画像DB14における画像の公開/非公開状態を利用することでも、被写体31による画像の検索の時間による制限を実現できる。
図34の説明に戻り、判定部4103は、ステップS502で、状況情報が所定の条件を満たしていないと判定した場合(ステップS502、「No」)、処理をステップS508に移行させ、エラーメッセージを生成する。
一方、判定部4103は、ステップS502で状況情報が所定の条件を満たしていると判定した場合(ステップS502、「Yes」)、処理をステップS503に移行させる。ステップS503で、判定部4103は、コンテンツ要求に含まれるユーザID313を取得し、取得したユーザID313が登録済みであるか否かを判定する。判定部4103は、登録済みであると判定した場合(ステップS503、「Yes」)、処理をステップS507に移行させ、登録済みである旨を示すメッセージを生成する。
一方、判定部4103は、ステップS503でユーザID313が未登録であると判定した場合(ステップS503、「No」)、処理をステップS504に移行させる。ステップS504で、事業者サーバ401は、登録部4102により、ユーザID313を登録する。登録部4102は、次のステップS505で、ユーザID313が登録完了した際のメッセージを生成する。このメッセージは、例えば、図30(c)のメッセージ表示画面701に表示される挨拶メッセージ7010である。
なお、登録部4102は、ステップS504で登録されたユーザID313を、一定時間の経過後に無効にするようにできる。
事業者サーバ401は、ステップS506で、通信部4100により、ステップS505、ステップS507、または、ステップS508で生成されたメッセージを検索端末30に送信する。ステップS506でメッセージが送信されると、図34のフローチャートによる一連の処理が終了される。
なお、登録部4102は、ユーザID313が登録済みの状態において、上述したステップS502でコンテンツ要求に含まれる状況情報が所定の条件を満たしていないと判定した場合に、登録されているユーザID313を無効にすることができる。
図36は、第1の実施形態に係る、事業者サーバ401におけるコンテンツへのアクセス許可処理を示す一例のフローチャートである。ステップS520で、事業者サーバ401は、検索端末30から、コンテンツサーバ402上のコンテンツのURL(コンテンツURLと呼ぶ)へのアクセスを要求するコンテンツ要求の有無を判定する。事業者サーバ401は、検索端末30からコンテンツ要求を受信していないと判定した場合(ステップS520、「無し」)、処理をステップS520に戻す。
一方、事業者サーバ401は、検索端末30からコンテンツ要求を受信したと判定した場合(ステップS520、「有り」)、処理をステップS521に移行させる。受信したコンテンツ要求は、図29のステップS6において説明したように、ユーザID313が含まれる。
ステップS521で、事業者サーバ401は、判定部4103により、検索端末30から受信したコンテンツ要求がユーザID313を含んでいるか否かを判定する。事業者サーバ401は、コンテンツ要求がユーザID313を含んでいないと判定した場合(ステップS521、「No」)、処理をステップS524に移行させて、エラーメッセージを生成する。生成されたエラーメッセージは、次のステップS525で、通信部4100により検索端末30に送信され、図36のフローチャートによる一連の処理が終了される。
一方、判定部4103は、ステップS521でコンテンツ要求がユーザID313を含んでいると判定した場合(ステップS521、「Yes」)、処理をステップS522に移行させる。
次にステップS522で、判定部4103は、コンテンツ要求からユーザID313を取得し、取得したユーザID313と一致するユーザIDが、登録部4102により既に登録されているか否かを判定する。判定部4103は、登録されていないと判定した場合(ステップS522、「No」)、処理をステップS524に移行させてエラーメッセージを生成し、生成したエラーメッセージを次のステップS525で検索端末30に送信する。ここで生成、送信されるエラーメッセージは、例えば、図31(c)を用いて説明した、チェックイン処理(ユーザID313の登録処理)が行われていない旨を示すメッセージである。
一方、判定部4103は、ステップS522でユーザID313が登録済みであると判定した場合(ステップS522、「Yes」)、処理をステップS523に移行させる。ステップS523で、事業者サーバ401は、コンテンツ処理部4101により、コンテンツ要求によるコンテンツURLへの検索端末30からのアクセスを許可する。検索端末30は、コンテンツURLにアクセスしてコンテンツを取得し、例えば図31(b)を用いて説明したコンテンツ表示画面702のように、取得したコンテンツを表示させる。
ステップS523でコンテンツURLへのアクセスが許可されると、図36のフローチャートによる一連の処理が終了される。
(第2の実施形態)
次に、第2の実施形態について説明する。上述した第1の実施形態では、検索端末30の状況を示す状況情報に基づく判定を、事業者サーバ401において行っていた。これに対して、第2の実施形態では、当該判定を、検索端末30において行う。
図37は、第2の実施形態に係る検索端末30に搭載される検索アプリ301’に含まれる画像検索モジュール311’の機能を説明するための一例の機能ブロック図である。なお、図37において、上述した図10と共通する部分には同一の符号を付して、詳細な説明を省略する。なお、第2の実施形態では、図37に示す画像検索モジュール311’以外の構成は、第1の実施形態で説明した各構成を適用可能であるので、ここでの説明を省略する。
図37に例示される画像検索モジュール311’は、図10に示した画像検索モジュール311に対して、ID取得部3111が省略され、判定部3118およびコンテンツ処理部3119が追加されている。コンテンツ処理部3119は、図12に示した事業者サーバ401におけるコンテンツ処理部4101に対応する。
判定部3118は、図12に示した事業者サーバ401における判定部4103に対応するもので、検索端末30によるコンテンツへのアクセス許可に係る判定を行う。また、第2の実施形態に係る判定部3118は、検索端末30の状況情報に対する判定条件、例えば位置情報に基づく条件、および、時間情報に基づく条件のうち、少なくとも一方を予め記憶している。
図38は、第2の実施形態に係るコンテンツ取得処理の流れを概略的に示す。なお、図38において、上述した図29などと共通する部分には同一の符号を付して、詳細な説明を省略する。図38において、検索端末30’は、画像検索モジュール311’を含む画像検索アプリ301’(図9参照)が搭載される。
図38において、ユーザは、検索端末30’を操作して画像検索アプリ301’により被写体31を撮像し、撮像して得られた撮像画像を、検索端末30’から画像検索システム10に送信する(ステップS10)。また、検索端末30’は、例えば被写体31の撮像時に位置情報と時間情報とを計測し、計測された位置情報および時間情報を例えばRAM3002に記憶する。
検索端末30’から送信された撮像画像は、画像検索システム10に受信され、検索サーバ100に渡される。検索サーバ100は、渡された撮像画像に基づき画像検索を行い、検索結果として得られた連携情報を、撮像画像の送信元である検索端末30に送信する(ステップS11)。
検索端末30’は、検索サーバ100から送信された連携情報を受信し、受信した連携情報に基づく画面を表示させる。ここでは、検索端末30’は、連携情報に基づき、図30(a)を用いて説明した閲覧画面700を表示させるものとする。すなわち、閲覧画面700は、ユーザ操作を受け付けるためのタブ7001、7002aおよび7002bが表示されている。タブ7002aおよび7002bは、連携情報として、イベントの限定コンテンツへのリンクを示すリンク情報がそれぞれ関連付けられている。
また、第2の実施形態に係るタブ7001は、タブ7002aおよび7002bによる限定コンテンツに対してアクセスを許可するか否かを判定するためのタブである。
図30(a)の状態の閲覧画面700に対し、ユーザがタブ7001を操作した場合について説明する。ユーザによりタブ7001が操作されると、画像検索アプリ301’は、判定部3118により、予め記憶される条件と、被写体31の撮像時の検索端末30’に取得された位置情報および時間情報とに基づき、タブ7002aおよび7002bによるコンテンツへのアクセスを許可するか否かを判定する(ステップS12)。
検索端末30’は、判定部3118により位置情報および時間情報が条件を満たしていると判定された場合、タブ7002aおよび7002bに対する操作に応じたコンテンツへのアクセスを許可する。そして、検索端末30’は、例えば図30(c)に示したようなメッセージ表示画面701を表示させる。
表示がメッセージ表示画面701から図30(a)の閲覧画面700に移行した後、ユーザが例えばタブ7002aを操作した場合について説明する。検索端末30’において、画像検索アプリ301’は、ステップS12によりコンテンツのアクセスが許可された後にタブ7002aが操作されると、コンテンツ要求送信部3117により、タブ7002aに対応するリンク情報に示されるURLに対してコンテンツを要求するコンテンツ要求を送信する(ステップS13)。コンテンツサーバ402は、このコンテンツ要求に応じて、コンテンツを検索端末30’に送信する(ステップS14)。
このように、第2の実施形態においても、検索端末30’に対する特定のコンテンツの提示を許可するか否かを、被写体31を撮像した際の検索端末30’の状況に基づき制御することができる。したがって、被写体31を撮像した撮像画像に基づく画像検索で得られた情報を、ユーザを限定して提示することが可能である。
また、第2の実施形態では、条件に基づくアクセス許可の判定を検索端末30’自身が行うため、コンテンツを要求する際に、コンテンツ要求に対してユーザID313や、状況情報を含める必要が無い。
図39は、第2の実施形態に係る検索端末30による処理を示す一例のフローチャートである。なお、図39のフローチャートによる処理に先立って、検索端末30における被写体31の撮像、および、撮像画像に基づく検索サーバ100における検索が実行され、検索結果の連携情報に基づき、ユーザ操作を受け付けるためのタブ7001、7002aおよび7002bが表示された閲覧画面700が既に表示されているものとする。また、検索端末30において、端末状況取得部3116は、被写体31が撮像された際に、撮像時の時間および位置をそれぞれ示す時間情報および位置情報を取得し、例えばRAM3002に記憶する。
図39において、検索端末30は、画像検索アプリ301’により、閲覧画面700に対してアクセス許可処理の操作が行われたか、コンテンツURLを指定する操作が行われたか、これら何れの操作も行われていないかを判定する。画像検索アプリ301’は、何れの操作が行われていないと判定した場合(ステップS600、「無し」)、処理をステップS600に戻す。
一方、画像検索アプリ301’は、閲覧画面700においてタブ7001が操作された場合、アクセス許可処理の操作がなされたと判定し(ステップS600、「アクセス許可操作」)、処理をステップS601に移行させる。ステップS601で、検索端末30は、判定部3118により、RAM3002に記憶された。被写体31の撮像時の時間および位置を示す時間情報および位置情報を取得する。なお、これはこの例に限定されず、時間情報および位置情報は、被写体31の撮像時ではなく、タブ7001が操作された時点の時間および位置であってもよい。
次のステップS602で、判定部3118は、ステップS601で取得した時間情報および位置情報が、判定部3118が予め記憶している条件を満たしているか否かを判定する。判定部3118は、条件を満たしていないと判定した場合(ステップS602、「NG」)、処理をステップS606に移行し、エラーメッセージを生成する。画像検索アプリ301’は、エラーメッセージが生成されると処理をステップS605に移行させ、例えば図31(c)に示したように、エラーメッセージを表示させる。ステップS605でメッセージが表示されると、図39のフローチャートによる一連の処理が終了される。
一方、判定部3118は、ステップS602で条件を満たしていると判定した場合(ステップS602、「OK」)、処理をステップS603に移行させる。ステップS603で、コンテンツ処理部3119は、タブ7002aおよび7002bに対応するコンテンツURLが示すコンテンツに対するアクセスを許可する。次のステップS604で、コンテンツ処理部3119は、アクセス許可に係るメッセージを生成する。画像検索アプリ301’は、アクセス許可に係るメッセージが生成されると、処理をステップS605に移行させ、例えば図30(c)に示したように、メッセージを表示させる。ステップS605でメッセージが表示されると、図39のフローチャートによる一連の処理が終了される。
一方、画像検索アプリ301’は、上述したステップS600で、閲覧画面700においてタブ7002aまたは7002bが操作された場合、コンテンツURLを指定する操作がなされたと判定し(ステップS600、「コンテンツURL」)、処理をステップS607に移行させる。アクセス許可処理の操作がなされたと判定し(ステップS600、「アクセス許可操作」)、処理をステップS601に移行させる。
ステップS607で、画像検索アプリ301’は、コンテンツ処理部3119により、タブ7002aおよび7002bに対応するコンテンツURLに対するアクセスが許可されているか否かを判定する。コンテンツ処理部3119は、未だ許可されていないと判定した場合(ステップS607、「未許可」)、処理をステップS606に移行させ、エラーメッセージを生成する。画像検索アプリ301’は、エラーメッセージが生成されると処理をステップS605に移行させ、例えば図31(c)に示したように、エラーメッセージを表示させる。ステップS605でメッセージが表示されると、図39のフローチャートによる一連の処理が終了される。
一方、コンテンツ処理部3119は、ステップS607でアクセスが許可されていると判定した場合(ステップS607、「許可済み」)、処理をステップS608に移行させる。ステップS608で、コンテンツ処理部3119は、ステップS600で操作されたと判定された、タブ7002aまたは7002bに対応するコンテンツURLにアクセスする。これにより、検索端末30は、例えばコンテンツサーバ402からコンテンツを取得し、取得したコンテンツを、図31(b)に示したような、コンテンツ表示画面702に表示させる。ステップS608でのコンテンツURLへのアクセスが完了すると、図39のフローチャートによる一連の処理が終了される。
(第3の実施形態)
次に、第3の実施形態について説明する。上述した第1の実施形態では、検索端末30の状況を示す状況情報に基づく判定を事業者サーバ401において行い、第2の実施形態では、当該判定を検索端末30において行っていた。これに対して、第3の実施形態では、当該判定を、画像検索システム10において実行する。
図40は、第3の実施形態に係るコンテンツ取得処理の流れを概略的に示す。なお、図40において、上述した図29などと共通する部分には同一の符号を付して、詳細な説明を省略する。図40において、画像検索システム10’は、第1の実施形態の画像検索システム10に対して、登録・判定部104が追加されている。
図41は、第3の実施形態に係る登録・判定部104の機能を説明するための一例の機能ブロック図である。登録・判定部104は、コンテンツ処理部1040と、登録部1041と、判定部1042とを含む。これらコンテンツ処理部1040、登録部1041および判定部1042は、図12を用いて説明した、第1の実施形態に係る事業者サーバ401におけるコンテンツ処理部4101、登録部4102および判定部4103にそれぞれ対応する機能を有する。
図40において、ユーザは、検索端末30を操作して画像検索アプリ301’により被写体31を撮像し、撮像して得られた撮像画像を、検索端末30から画像検索システム10’に送信する(ステップS20)。また、検索端末30は、例えば被写体31の撮像時に位置情報と時間情報とを計測し、計測された位置情報および時間情報を例えばRAM3002に記憶する。
検索端末30から送信された撮像画像は、画像検索システム10’に受信され、検索サーバ100に渡される。検索サーバ100は、渡された撮像画像に基づき画像検索を行い、検索結果として得られた連携情報を、撮像画像の送信元である検索端末30に送信する(ステップS21)。ここで、検索サーバ100から送信される連携情報は、検索端末30においてユーザID313を取得するためのユーザID取得指示を含めて作成されている。
検索端末30は、検索サーバ100から送信された連携情報を受信し、受信した連携情報に基づく画面を表示させる。ここでは、検索端末30は、連携情報に基づき、図30(a)を用いて説明した、ユーザ操作を受け付けるためのタブ7001、7002aおよび7002bが表示される閲覧画面700を表示させるものとする。タブ7002aおよび7002bは、連携情報として、イベントの限定コンテンツへのリンクを示すリンク情報がそれぞれ関連付けられ、タブ7001は、タブ7002aおよび7002bによる限定コンテンツに対するアクセスの許可を要求するためのタブである。
図30(a)の状態の閲覧画面700に対し、ユーザが例えばタブ7001を操作した場合、画像検索アプリ301’は、タブ7001に対応するリンク情報に従い、ユーザID313と、例えば被写体31の撮像時の検索端末に取得された位置情報および時間情報とを含むコンテンツ要求を、画像検索システム10’に送信する(ステップS22)。
検索端末30から送信されたコンテンツ要求は、画像検索システム10’に受信され、登録・判定部104に渡される。登録・判定部104は、判定部1042により、予め定められた条件に従い、コンテンツ要求に含まれる位置情報と時間情報とのうち少なくとも一方に基づき、ユーザに、タブ7002aおよび7002bに対応するリンク情報が示すコンテンツへのアクセスを許可可能とするか否かの判定を行う。
登録・判定部104は、判定部1042により位置情報および時間情報に基づきアクセス許可が可能であると判定した場合、登録部1041により、検索端末30から受信したコンテンツ要求に含まれるユーザID313を登録する(ステップS23)。画像検索システム10’は、登録部1041によるユーザID313の登録が完了すると、ユーザID313の送信元の検索端末30に対してメッセージを送信する(ステップS24)。検索端末30は、このメッセージに従い、例えば図30(c)に示したようなメッセージ表示画面701を表示させる。
検索端末30において、表示がメッセージ表示画面701から図30(a)の閲覧画面700に移行した後、ユーザがタブ7002aまたは7002bを操作した場合について説明する。検索端末30は、例えばタブ7002aが操作されると、コンテンツ要求送信部3117により、タブ7002aに対応するリンク情報に示されるURLに対してコンテンツを要求するコンテンツ要求を、ユーザID313を含めて送信する(ステップS25)。
画像検索システム10’、ユーザID313を含むコンテンツ要求を受信すると、受信したコンテンツ要求に含まれるユーザID313を登録・判定部104に渡す。登録・判定部104は、判定部1042により、渡されたユーザID313が登録部1041により既に登録されているかを調べ、その結果に基づき、当該ユーザID313の送信元の検索端末30に、コンテンツ要求により要求されたコンテンツへのアクセスを許可するか否かを判定する(ステップS26)。
判定部1042は、ユーザID313が既に登録されていた場合、コンテンツ要求により要求されたコンテンツへのアクセスを許可すると判定する。判定部1042は、この判定結果をコンテンツ処理部1040に通知する。コンテンツ処理部1040は、この通知に応じて、コンテンツ要求に従いコンテンツサーバ402に対してコンテンツを要求し(ステップS27)、コンテンツを取得する(ステップS28)。画像検索システム10’は、コンテンツ処理部1040により取得されたコンテンツを検索端末30に送信する(ステップS29)。
一方、判定部1042は、ステップS26において、渡されたユーザID313が登録部1041により登録されておらず、コンテンツ要求により要求されたコンテンツへのアクセスを許可しないと判定した場合、その旨を示すメッセージを含むエラー通知を検索端末30に送信する(ステップS30)。
このように、第3の実施形態においても、検索端末30に対する特定のコンテンツの提示を許可するか否かを、被写体31を撮像した際の検索端末30の状況に基づき制御することができる。したがって、被写体31を撮像した撮像画像に基づく画像検索で得られた情報を、ユーザを限定して提示することが可能である。
図42は、第3の実施形態に係る、画像検索システム10’におけるコンテンツへのアクセス許可処理を示す一例のフローチャートである。なお、画像検索システム10’におけるユーザID313の登録処理は、図34を用いて説明した、事業者サーバ401における登録処理に対し、動作の主体が異なる以外は同様であるので、ここでの説明を省略する。
画像検索システム10’におけるコンテンツへのアクセス許可処理は、図36を用いて説明した事業者サーバ401におけるアクセス許可処理と略同様となる。図42において、ステップS700で、画像検索システム10’において、登録・判定部104は、検索端末30からコンテンツサーバ402上のコンテンツのURL(コンテンツURLと呼ぶ)へのアクセスを要求するコンテンツ要求の有無を判定する。登録・判定部104は、検索端末30からコンテンツ要求を受信していないと判定した場合(ステップS700、「無し」)、処理をステップS700に戻す。
一方、登録・判定部104は、検索端末30からコンテンツ要求を受信したと判定した場合(ステップS700、「有り」)、処理をステップS701に移行させる。ここで、コンテンツ要求は、図29のステップS6において説明したように、ユーザID313が含まれる。
ステップS701で、登録・判定部104は、判定部1042により、検索端末30から送信されたコンテンツ要求がユーザID313を含んでいるか否かを判定する。登録・判定部104は、コンテンツ要求がユーザID313を含んでいないと判定した場合(ステップS701、「No」)、処理をステップS705に移行させて、エラーメッセージを生成する。生成されたエラーメッセージは、次のステップS706で検索端末30に送信され、図42のフローチャートによる一連の処理が終了される。
一方、判定部1042は、ステップS701でコンテンツ要求がユーザID313を含んでいると判定した場合(ステップS701、「Yes」)、処理をステップS702に移行させる。
ステップS702で、判定部1042は、コンテンツ要求に含まれるユーザID313を取得し、取得したユーザID313と一致するユーザIDが、登録部1041により既に登録されているか否かを判定する。判定部1042は、登録されていないと判定した場合(ステップS702、「No」)、処理をステップS705に移行させてエラーメッセージを生成し、生成したエラーメッセージを次のステップS706で検索端末30に送信する。
一方、判定部1042は、ステップS702でユーザID313が登録済みであると判定した場合(ステップS702、「Yes」)、処理をステップS703に移行させる。ステップS703で、登録・判定部104は、コンテンツ処理部1040により、コンテンツ要求に従い、コンテンツサーバ402からコンテンツを取得する。次のステップS704で、コンテンツ処理部1040は、取得したコンテンツを検索端末30に送信する。
ステップS704でコンテンツが検索端末30に送信されると、図42のフローチャートによる一連の処理が終了される。
(第4の実施形態)
次に、第4の実施形態について説明する。上述した第1〜第3の実施形態では、1つのURLにアクセスすることで、他のURLに示されるコンテンツを取得していた。これに対して、第4の実施形態では、複数のURLにアクセスすることで、他のURLに示されるコンテンツを取得可能とする。
なお、以下では、第4の実施形態では、システム構成として、上述した第1の実施形態に係るシステム構成を適用可能であるので、ここでの説明を省略する。これに限らず、第4の実施形態では、システム構成として、上述した第2の実施形態に係るシステム構成や、第3の実施形態に係るシステム構成を適用することもできる。
図43は、第4の実施形態に係るコンテンツ取得処理において検索端末30に表示される画面の例を示す。図43(a)は、検索端末30から送信された、被写体31を撮像した撮像画像に対する検索により画像検索システム10から送信された連携情報に基づく閲覧画面700の例を示す。図43(a)の例では、連携情報に示される各リンク情報に対応するタブ7002c、7002dおよび7002eが表示されている。例えば、タブ7002c、7002dおよび7002eは、それぞれイベント限定のコンテンツA、コンテンツBおよびコンテンツXへのリンクを示すリンク情報が関連付けられている。
ここで、コンテンツXは、コンテンツAおよびコンテンツBの両方の取得を条件として取得可能となるコンテンツであるものとする。すなわち、コンテンツAおよびBのうち少なくとも一方を取得していない状態で、コンテンツXに対応するタブ7002eを操作しても、コンテンツXは取得できないようにされる。
例えば、タブ7002cを操作してコンテンツAを取得し、コンテンツBが未取得の状態で、コンテンツXに対応するタブ7002eを操作すると、図43(b)に例示されるような、エラーメッセージを含むメッセージ表示画面704が検索端末30に表示される。図43(b)の例では、エラーメッセージとして、コンテンツXの取得条件と、この取得条件において未達成の条件を示す情報が含まれている。
検索端末30は、これらタブ7002c、7002dおよび7002eのうち何れかが操作された場合、操作されたタブに対応するリンク情報に対応するコンテンツを要求するコンテンツ要求を、ユーザID313と、被写体31の撮像時に取得した位置情報および時間情報とを含めて生成する。
なお、図43(a)の例では、コンテンツXの取得条件が、2つのコンテンツAおよびBの取得であるとしているが、これはこの例に限定されない。例えば、コンテンツXの取得条件を3以上のコンテンツの取得としてもよいし、取得条件を満たして取得されるコンテンツを複数としてもよい。
以下、上述の、複数のコンテンツの取得を条件として取得が可能となるコンテンツXを、クロスコンテンツと呼び、クロスコンテンツの取得の条件となるコンテンツAおよびBを、それぞれ条件コンテンツと呼ぶ。
図44および図45は、第4の実施形態に係る、事業者サーバ401における条件コンテンツおよびクロスコンテンツへのアクセス許可処理を示す一例のフローチャートである。なお、図44および図45中の符号「P」は、図44と図45との間で、対応する符号「P」に処理が移行することを示す。
ステップS800で、事業者サーバ401は、検索端末30から、コンテンツサーバ402上の条件コンテンツまたはクロスコンテンツのURL(それぞれ条件コンテンツURLおよびクロスコンテンツURLと呼ぶ)へのアクセスを要求するコンテンツ要求の有無を判定する。事業者サーバ401は、検索端末30から当該コンテンツ要求が受信されていないと判定した場合(ステップS800、「無し」)、処理をステップS800に戻す。
一方、事業者サーバ401は、検索端末30から当該コンテンツ要求が受信されたと判定した場合(ステップS800、「有り」)、処理をステップS801に移行させる。
ステップS801で、事業者サーバ401は、検索端末30から送信されたコンテンツ要求がユーザID313を含んでいるか否かを判定する。事業者サーバ401は、コンテンツ要求がユーザID313を含んでいないと判定した場合(ステップS801、「No」)、処理をステップS808に移行させてエラーメッセージを生成し、生成したエラーメッセージを送信する。エラーメッセージの送信が行われると、図44のフローチャートによる一連の処理が終了される。
一方、事業者サーバ401は、コンテンツ要求がユーザID313を含んでいると判定した場合(ステップS801、「Yes」)、処理をステップS802に移行させる。
ステップS802で、事業者サーバ401は、ステップS800で受信されたコンテンツ要求に示されるアクセス先が、条件コンテンツURLおよびクロスコンテンツURLのうち何れであるかを判定する。事業者サーバ401は、アクセス先がクロスコンテンツURLであると判定した場合(ステップS802、「クロスコンテンツURL」)、符号「P」に従い処理を図45のステップS820に移行させる。図45のフローチャートによる処理については、後述する。
一方、事業者サーバ401は、ステップS802で、アクセス先が条件コンテンツURLであると判定した場合(ステップS802、「条件コンテンツURL」)、処理をステップS803に移行させる。ここでは、説明のため、図43(a)に示した条件コンテンツAおよびBのうち、条件コンテンツAに対するアクセスが要求されたものとする。ステップS803で、事業者サーバ401は、コンテンツ要求に含まれる状況情報(例えば位置情報および時間情報)が所定の条件を満たしているか否かを判定する。
なお、事業者サーバ401は、条件コンテンツURL毎に異なる条件を設定することができる。例えば、条件コンテンツAの条件コンテンツURLに対して時間情報Aおよび位置情報Aを条件として設定し、条件コンテンツBの条件コンテンツURLに対して時間情報Bを条件として設定することが可能である。
事業者サーバ401は、ステップS803で、当該状況情報が所定の条件を満たしていないと判定した場合(ステップS803、「No」)、処理をステップS808に移行させてエラーメッセージを生成し、生成したエラーメッセージを送信する。エラーメッセージの送信が行われると、図44のフローチャートによる一連の処理が終了される。
一方、事業者サーバ401は、ステップS803で、当該状況情報が所定の条件を満たしていると判定した場合(ステップS803、「Yes」)、処理をステップS804に移行させる。ステップS804で、事業者サーバ401は、コンテンツ要求からユーザID313を取得し、取得したユーザID313と一致するユーザIDが既に登録されているか否かを判定する。事業者サーバ401は、既に登録されていると判定した場合(ステップS804、「Yes」)、処理をステップS806に移行させる。
一方、事業者サーバ401は、ステップS804で、ユーザID313と一致するユーザIDが登録されていないと判定した場合(ステップS804、「No」)、処理をステップS805に移行させる。ステップS805で、事業者サーバ401は、条件コンテンツURLから取得したユーザID313を登録する。事業者サーバ401は、ユーザID313の登録が完了すると、処理をステップS806に移行させる。
ステップS806で、事業者サーバ401は、ステップS800で受信したコンテンツ要求のアクセス先である条件コンテンツURLに対する、検索端末30からのアクセスを許可する。これにより、検索端末30は、当該条件コンテンツURLにアクセスして例えば条件コンテンツAを取得し、取得した条件コンテンツAを表示させることができる。
事業者サーバ401は、次のステップS807で、当該条件コンテンツURLに対してアクセスを許可したことを示す許可済みフラグを、ステップS801で取得したユーザID313に関連付けて記憶する。この例では、事業者サーバ401は、条件コンテンツAの条件コンテンツURLに対する許可済みフラグを、ユーザID313に関連付けて記憶する。許可済みフラグのユーザID313に対する関連付けが完了すると、図44のフローチャートによる一連の処理が終了される。
次に、図45のフローチャートによる処理について説明する。上述したように、図44のフローチャートにおけるステップS802で、コンテンツ要求に示されるアクセス先がクロスコンテンツURLであると判定した場合に(ステップS802、「クロスコンテンツURL」)、処理が図45のステップS820に移行される。
ステップS820で、事業者サーバ401は、図44のフローチャートにおけるステップS801で取得したユーザID313に関連付けられた許可済みフラグを取得する。次のステップS821で、事業者サーバ401は、ステップS820で取得した許可済みフラグに基づき、全ての条件コンテンツがアクセス許可済みになっているか否かを判定する。例えば、図43(a)を参照し、事業者サーバ401は、条件コンテンツAおよびBそれぞれに対する許可済みフラグが同一のユーザID313に関連付けられているか否かを判定する。
事業者サーバ401は、全ての条件コンテンツがアクセス許可済みになっていると判定した場合(ステップS821、「Yes」)、処理をステップS822に移行させる。ステップS822で、事業者サーバ401は、クロスコンテンツURLへの検索端末30からのアクセスを許可する。検索端末30は、クロスコンテンツURLにアクセスしてクロスコンテンツを取得し、取得したクロスコンテンツを例えば表示させる。
ステップS822でクロスコンテンツURLへのアクセスが許可されると、図45のフローチャートによる一連の処理が終了される。
一方、事業者サーバ401は、ステップS821で、全ての条件コンテンツのうち少なくとも1つの条件コンテンツがアクセス許可済みになっていないと判定した場合(ステップS821、「No」)、処理をステップS823に移行させる。ステップS823で、事業者サーバ401は、ステップS820で取得した許可済みフラグに基づき、未取得の条件コンテンツに関するメッセージを生成する。
次のステップS824で、事業者サーバ401は、ステップS823で生成したメッセージを検索端末30に送信する。検索端末30は、事業者サーバ401から送信されたメッセージを含むメッセージ表示画面704を表示させる。
このように、第4の実施形態によれば、事業者サーバ401は、検索端末30による複数の条件コンテンツに対するアクセス許可に基づき、クロスコンテンツへのアクセスを許可することができる。これにより、例えば、スタンプラリーのような適用や、イベント期間中、毎日、条件コンテンツにアクセスしたユーザに、特典としてクロスコンテンツのアクセスを許可するといった適用が可能である。
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。