以下に添付図面を参照して、情報処理システム、情報処理方法、情報処理プログラムおよび検索端末の実施形態を詳細に説明する。図1は、実施形態に適用可能な情報処理システムの一例の構成を示す。図1の例では、インターネットなどによるネットワーク1に、画像検索システム10と、登録端末20と、顧客システム30と、外部サービス提供サーバ40と、検索端末50と、SNSサーバ60と、が接続されている。実施形態に適用可能な情報処理システムは、例えば、これらのうち、少なくとも画像検索システム10と、登録端末20と、検索端末50と、を含む。情報処理システムは、さらに、顧客システム30を含んでもよい。
画像検索システム10は、ネットワーク1を介して受信した画像に基づき画像検索を行い、画像に対応する連携情報を検索結果として取得する。画像検索システム10は、検索結果として取得した連携情報を、当該画像の送信元に返す。
より詳細には、画像検索システム10は、検索サーバ11と画像検索用DB(データベース)12とを含む。画像検索用DB12は、複数の画像を検索するための各索引情報が、それぞれ連携情報と関連付けられて格納される格納部である。索引情報は、例えば、画像のデータのバイナリを解析して得られた情報であって、画像を検索のための構造に変換した情報である。
検索サーバ11は、ネットワーク1を介して送信された画像を受信し(第1の受信部)、受信した画像に含まれるオブジェクトを抽出する。検索サーバ11は、画像から抽出したオブジェクトを解析し、解析結果に基づき、画像検索用DB12に格納される各索引情報によって検索されるオブジェクトと、受信した画像に含まれるオブジェクトとの類似度を算出する。検索サーバ11は、画像検索用DB12に格納される各索引情報によって検索される各オブジェクトから、受信した画像に含まれるオブジェクトとの類似度が最も高いオブジェクトを含む1の索引情報を取得し、取得した索引情報に関連付けられた連携情報を検索結果として取得する。検索サーバ11は、取得した連携情報を、画像の送信元に返す(第1の送信部)。
連携情報について説明する。連携情報は、例えば、画像に含まれるオブジェクトに連携する機能を示す情報であって、より具体的には、当該オブジェクトの属性情報にアクセスするアクセス方法を含む情報である。このように、連携情報に基づき所定の連携サービスを提供することができる。連携情報は、画像に含まれるオブジェクトに連携する機能を示す情報であることから、実際には、画像に含まれるオブジェクトに対して関連付けられて画像検索用DB12に格納されると考えることができる。連携情報は、例えばXML(Extensible Markup Language)を用いて記述される。この連携情報の記述を含むXMLファイルと、索引情報とが関連付けられて画像検索用DB12に格納され、画像検索システム10に対する画像および連携情報の登録が行われる。
一例として、ある画像に含まれるオブジェクトにおいて、連携情報は、オブジェクトに対応するコンテンツを取得するための特定のURL(Uniform Resource Locator)、あるいは、URLの上位概念であるURI(Uniform Resource Identifier)である。以下、特に記載の無い限り、URLおよびURIを、URIにて代表させて説明を行う。
連携情報は、これに限らず、オブジェクトが示す商品を取り扱う例えば商用サイトや、当該商品の購入設定を行う購入ページのURIを用いることができる。さらに、連携情報として、当該オブジェクトに関連する電話番号やメールアドレスを用いることもできる。さらに、オブジェクトに関連するデータファイルをダウンロードするための情報を、連携情報として用いてもよい。なお、画像検索用DB12において、1のオブジェクトに対して複数の連携情報を関連付けることができる。
登録端末20は、画像および連携情報を画像検索システム10に送信し、画像検索用DB12に登録、格納するために用いられる。
ここで、画像検索システム10によるサービスを提供するサービス提供者は、特定の契約を交わした者あるいは組織体に対して、画像検索システム10の画像検索用DB12に対する画像および連携情報の登録を許可する。以下、サービス提供者と特定の契約を交わした者あるいは組織体を、顧客と呼ぶ。サービス提供者は、顧客の依頼に応じて、顧客から提供された画像および連携情報を画像検索システム10に登録する。契約の内容によっては、画像および連携情報を、顧客自身が登録端末20を操作して画像検索システム10に登録することも可能である。すなわち、登録端末20は、サービス提供者あるいは顧客が利用する端末装置である。
なお、詳細を後述する検索端末50を操作する者を、一般ユーザと呼ぶ。
顧客システム30は、例えば上述した顧客が運用、管理するシステムであって、顧客サーバ31およびコンテンツ記憶部32を含む。顧客サーバ31は、顧客システム30の全体を管理する。コンテンツ記憶部32は、顧客が一般ユーザに提供するためのコンテンツが記憶される。顧客サーバ31は、コンテンツ記憶部32に記憶される各コンテンツに、それぞれ、ネットワーク1上での位置を示すURLを与える。コンテンツ記憶部32に記憶される各コンテンツは、そのコンテンツに対応するURLに基づき、ネットワーク1を介して取得できる。
コンテンツ記憶部32に記憶されるコンテンツの種類は、特に限定されないが、以下では、コンテンツ記憶部32は、AR(Augmented Reality)用の画像(以下、AR用画像)を記憶しているものとする。AR用画像の例としては、カメラにより撮像された撮像画像に対して枠などを付加するための枠画像がある。
外部サービス提供サーバ40は、上述したサービス提供者および顧客以外の者(サードパーティと呼ぶ)により運用され、一般ユーザに対して特定のサービスを提供するためのサーバである。外部サービス提供サーバ40により一般ユーザに対して提供される特定サービスの種類は、特に限定されない。外部サービス提供サーバ40は、例えば、一般ユーザに対してアンケートを実施し、アンケート結果の集計、出力を行うためのWebサイトであるアンケートサイトによるサービスを特定サービスとして提供することができる。
SNSサーバ60は、SNS(Social Networking Service)を提供するためのサーバである。
検索端末50は、一般ユーザにより操作され、撮像機能を備える。これに限らず、検索端末50は、撮像機能を持たずに、画像検索の対象としたい画像を記憶していてもよい。もちろん、検索端末50は、撮像機能を持ち、且つ、画像検索の対象とした画像を記憶する手段を備えていてもよい。
検索端末50は、画像検索システム10による画像検索を利用するためのアプリケーションプログラムである検索アプリを搭載する。検索端末50に対する検索アプリの搭載方法としては、例えば、ネットワーク1上の所定のダウンロードサイトから、一般ユーザがインストールしたいアプリケーションプログラムとして当該検索アプリを指定してダウンロードして検索端末50にインストールする方法が挙げられる。
検索端末50は、検索アプリが実行されることで、撮像機能を利用して被写体51を撮像する撮像処理を行い、被写体51を撮像した撮像画像を、当該撮像画像に類似する画像の検索を要求する検索要求に含めてネットワーク1を介して画像検索システム10に送信することができる。送信された検索要求は、画像検索システム10において、検索サーバ11に受信される。
画像検索システム10において、検索サーバ11は、検索端末50から送信された検索要求に応じて、画像検索用DB12から、検索要求に含まれる撮像画像内のオブジェクトに類似するオブジェクトを検索し、検索されたオブジェクトに関連付けられた連携情報を検索端末50に送信する。例えば、連携情報がURLを含む場合、検索端末50は、被写体51を撮像した撮像画像に基づき検索サーバ11で検索され送信された連携情報に応じて、ネットワーク1を介して、当該URLに示されるWebサイトにアクセスすることができる。
図2は、各実施形態に適用可能な検索端末50のハードウェア構成の例を示す。図2に示される検索端末50において、バス5020に対してCPU(Central Processing Unit)5000、ROM(Read Only Memory)5001、RAM(Random Access Memory)5002およびグラフィクスI/F(インタフェース)5003が接続される。また、バス5020に対して、ストレージ5004、データI/F5005、入力デバイス5006、無線通信I/F5007、撮像部5008およびGNSS部5009が接続される。このように、検索端末50は、CPU5000、ROM5001およびRAM5002を含むコンピュータが搭載される情報処理装置である。
ストレージ5004は、データを不揮発に記憶することが可能な記憶媒体であって、例えばフラッシュメモリなどの不揮発性の半導体メモリである。これに限らず、ストレージ5004としてハードディスクドライブを用いてもよい。ストレージ5004は、CPU5000が実行するためのプログラムや各種データが格納される。なお、ストレージ5004およびROM5001は、例えば1つの書き換え可能な不揮発性半導体メモリなどを共用してもよい。
CPU5000は、ROM5001およびストレージ5004に記憶されるプログラムに従い、RAM5002をワークメモリとして用いて、この検索端末50の全体を制御する。グラフィクスI/F5003は、CPU5000により生成された表示制御信号を、表示デバイス5010が表示可能な信号に変換して出力する。表示デバイス5010は、例えばLCD(Liquid Crystal Display)を含み、グラフィクスI/F5003から出力された信号により駆動されて、表示制御信号に応じた画面を表示させる。
データI/F5005は、外部機器との間でデータの入出力を行う。データI/F5005としては、例えば、USB(Universal Serial Bus)やBluetooth(登録商標)といったインタフェースを適用することができる。
入力デバイス5006は、ユーザ入力を受け付ける。ユーザは、例えば表示デバイス5010に対する表示に応じて入力デバイス5006を操作することで、検索端末50に対して指示を入力することができる。なお、検索端末50においては、入力デバイス5006を表示デバイス5010と一体的に構成し、表示デバイス5010の画像を透過させ、押圧(接触)した位置に応じた制御信号を出力するタッチパネルとして構成される。
無線通信I/F5007は、CPU5000の制御に従いネットワークを介した通信を無線通信により行う。
撮像部5008は、光学系と、撮像素子と、光学系および撮像素子の制御駆動回路とを備え、撮像素子から出力される撮像信号に所定の処理を施してディジタル信号による、所定フレーム周期の動画による撮像画像として出力する。撮像部5008は、動画による撮像画像をシャッタのタイミングに応じてキャプチャし、キャプチャされた静止画としての撮像画像を、例えばストレージ5004に記憶することができる。以降、特に記載の無い限り、撮像画像は、静止画像であるものとする。また、CPU5000は、ストレージ5004から撮像画像を読み出して、無線通信I/F5007によりネットワークに対して送信することができる。
GNSS部5009は、人工衛星を使用して全地球を対象として地上の現在位置を計測するGNSS(Global Navigation Satellite System)を用いて現在位置を計測する。GNSS部5009は、計測結果として、位置情報すなわち現在位置の少なくとも緯度および経度を含む座標と、計測を行った時刻を示す時間情報とを出力することができる。
図3は、第1の実施形態に係る検索端末50の機能を説明するための一例の機能ブロック図である。検索端末50は、検索・撮像部500と、全体制御部501と、入力受付部502と、表示制御部503と、通信部504と、撮像制御部505と、位置情報取得部506と、を含む。
これら検索・撮像部500、全体制御部501、入力受付部502、表示制御部503、通信部504、撮像制御部505および位置情報取得部506は、CPU5000上で動作するプログラムにより実現される。これに限らず、検索・撮像部500、全体制御部501、入力受付部502、表示制御部503、通信部504、撮像制御部505および位置情報取得部506のうち検索・撮像部500を除く一部または全部を、互いに協働して動作するハードウェア回路を用いて構成してもよい。
検索・撮像部500は、第1の実施形態に係る検索端末50における画像検索処理を実行する。検索・撮像部500は、サービス提供者が、特定の契約を交わした顧客に配布した検索アプリ、または、当該検索アプリが顧客によりカスタマイズされたカスタマイズアプリが検索端末50にインストールされることで、検索端末50上に構成される。
全体制御部501は、この検索端末50の機能を全体として制御するもので、例えばOS(Operating System)である。入力受付部502は、入力デバイス5007に対してなされた入力操作を受け付け、入力操作に従った入力情報を出力する。表示制御部503は、グラフィクスI/F5003に供給するための表示制御信号を生成する。通信部504は、無線通信I/F5007による通信を制御する。撮像制御部505は、検索・撮像部500または全体制御部501の指示に従い、撮像部5008の撮像動作を制御する。位置情報取得部506は、GNSS部5009による位置情報および時間情報の取得を制御する。
図4は、第1の実施形態に係る検索・撮像部500の機能をより詳細に示す。図4において、検索・撮像部500は、撮像画像取得部510と、送受信部511と、内部ブラウザ部512(第2の実行部)と、AR機能部513(第1の実行部)と、を含む。撮像画像取得部510は、撮像制御部505に対して、撮像部5008により撮像された撮像画像を要求し、要求に従い撮像部5008から出力された撮像画像を取得する。送受信部511は、通信部504によりネットワーク1を介したデータの送受信を行う(第2の送信部、第2の受信部)。
内部ブラウザ部512は、UI部5120と、受信情報処理部5121と、機能呼出部5122と、を含む。受信情報処理部5121は、送受信部511により受信された情報を解析し、当該情報に対して解析結果に基づく処理を施す。UI部5120は、UI(ユーザインタフェース)を生成する。UIは、例えば、表示デバイス5010に表示させるための画面と、当該画面に応じて入力デバイス5006に対してなされた操作を受け付ける処理とを含む。機能呼出部5122は、受信情報処理部5121の解析結果および処理結果に応じて、AR機能部513を起動させる。
例えば、送受信部511は、URIを受信すると、受信したURIを内部ブラウザ部512に渡す。内部ブラウザ部512において、受信情報処理部5121は、送受信部511から渡されたURIを解析して、当該URIがあるWebサイトを示し、さらに、プロトコルとしてHTTP(Hypertext Transfer Protocol)が指定されている場合、送受信部511を介して当該WebサイトにHTTPによりアクセスする。
受信情報処理部5121は、このアクセスにより当該Webサイトから返された情報を解析し、解析結果をUI部5120に渡す。UI部5120は、受信情報処理部5121から渡された解析結果に基づき、当該WebサイトによるWebページを表示するための画面を生成する。UI部5120に生成された画面は、表示デバイス5010に表示され、ユーザは、表示デバイス5010に表示された画面により、当該Webページを閲覧できる。
AR機能部513は、機能呼出部5122に呼び出されて起動され、起動時に指定されたURIに従い特定のコンテンツを取得する。ここでは、AR機能部513は、特定のコンテンツとして、枠画像であるAR用画像を取得するものとする。例えば、顧客システム30において、コンテンツ記憶部32に当該枠画像が記憶されており、AR機能部513は、このAR用画像のURLを指定されるものとする。
なお、AR機能部513が取得可能なAR用画像は、枠画像に限定されない。また、AR機能部513は、AR用画像に限らず、他のコンテンツを取得するようにもできる。
AR機能部513は、AR用画像取得部5130と、撮像指示部1513と、画像合成部5132と、保存処理部5133と、を含む。AR用画像取得部5130は、AR機能部513に対して指定されたURLに従い、AR用画像を取得する(コンテンツ取得部)。撮像指示部5131は、AR用画像取得部5130に取得されたAR用画像を用いた撮像処理を撮像画像取得部510に指示する。
より具体的には、撮像指示部5131は、撮像部5008から出力される動画像による撮像画像と、AR用画像取得部5130により取得されたAR用画像とを、例えばUI部5120に渡す。UI部5120は、撮像画像とAR用画像とを合成した画像をファインダ画像として表示デバイス5010に表示させる。
UI部5120は、入力デバイス5006に対するシャッタ操作を受け付けると、その旨を撮像指示部5131および画像合成部5132に通知する。撮像指示部5131は、シャッタ操作の通知に応じて、撮像部5008に対して撮像画像のキャプチャを指示する。
画像合成部5132は、シャッタ操作に応じて撮像部5008にキャプチャされた撮像画像と、AR用画像取得部5130により取得されたAR用画像とを合成し、撮像画像にAR用画像が合成された合成画像を生成する。上述した撮像指示部5131と、この画像合成部5132とで、撮像部5008による撮像を行い撮像画像とAR用画像とを合成する撮像制御部が構成される。
保存処理部5133は、UI部5120により、生成された合成画像の保存を指示するための、入力デバイス5006に対する保存操作が受け付けられると、当該合成画像の例えばストレージ5004への保存を実行する。保存処理部5133は、合成画像の保存の実行後に、1以上のSNSサーバ60への合成画像の送信を含むメニュー画面の表示を、UI部5120に指示する。
第1の実施形態に係る検索・撮像部500の各機能を実現するための情報処理プログラム(検索アプリ)は、インストール可能な形式また実行可能な形式のファイルでCD(Compact Disk)、フレキシブルディスク(FD)、DVD(Digital Versatile Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供される。これに限らず、表示制御プログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、当該ネットワークを介してダウンロードさせることにより提供してもよい。また、表示制御プログラムをインターネットなどのネットワークを経由して提供または配布するように構成してもよい。
情報処理プログラムは、上述した各部(撮像画像取得部510、送受信部511、内部ブラウザ部512およびAR機能部513)を含むモジュール構成となっている。実際のハードウェアとしては、CPU5000がストレージ5004などの記憶媒体から当該情報処理プログラムを読み出して実行することにより、上述した各部がRAM5002などの主記憶装置上にロードされ、撮像画像取得部510、送受信部511、内部ブラウザ部512およびAR機能部513が主記憶装置上に生成されるようになっている。
図5は、第1の実施形態に適用可能な登録端末20のハードウェア構成の例を示す。図5に示される登録端末20において、バス2010に対してCPU2000、ROM2001、RAM2002およびグラフィクスI/F2003が接続される。また、バス2010に対して、ストレージ2004、データI/F2005、入力デバイス2006、通信I/F2007が接続される。このように、登録端末20は、CPU2000、ROM2001およびRAM2002を含むコンピュータが搭載される情報処理装置である。
ストレージ2004は、データを不揮発に記憶することが可能な記憶媒体であって、例えばフラッシュメモリなどの不揮発性の半導体メモリである。これに限らず、ストレージ2004としてハードディスクドライブを用いてもよい。ストレージ2004は、CPU2000が実行するためのプログラムや各種データが格納される。なお、ストレージ2004およびROM2001は、例えば1つの書き換え可能な不揮発性半導体メモリなどを共用してもよい。
CPU2000は、ROM2001およびストレージ2004に記憶されるプログラムに従い、RAM2002をワークメモリとして用いて、この登録端末20の全体を制御する。グラフィクスI/F2003は、CPU2000により生成された表示制御信号を、表示デバイス2008が表示可能な信号に変換して出力する。表示デバイス2008は、例えばLCDを含み、グラフィクスI/F2003から出力された信号により駆動されて表示制御信号に応じた表示を行う。
データI/F2005は、外部機器との間でデータの入出力を行う。データI/F2005としては、例えば、USBやBluetoothといったインタフェースを適用することができる。
入力デバイス2006は、ユーザ入力を受け付ける。ユーザは、例えば表示デバイス2008に対する表示に応じて入力デバイス2006を操作することで、登録端末20に対して指示を出すことができる。通信I/F2007は、CPU2000の制御に従いネットワーク1を介した通信を行う。
なお、図1に示した検索サーバ11および顧客サーバ30は、図5の構成を適用可能であるので、ここでの説明を省略する。この場合、検索サーバ11および顧客サーバ30は、それぞれ、1の情報処理装置で構成するのみならず、複数の情報処理装置を用いて処理を分散可能に構成してもよい。
図6は、第1の実施形態に適用可能な登録端末20の機能を説明するための一例の機能ブロック図である。図6において、登録端末20は、登録ツール200を含み、登録ツール200は、通信部210と、設定部211と、入力部212と、表示部213と、取得部214と、を含む。
通信部210は、通信I/F2007を制御して、ネットワーク1を介した通信を行う。入力部212は、入力デバイス2006に対する入力操作で入力された情報を受け付ける。設定部211は、登録対象の画像に対して連携情報の設定を行う。表示部213は、表示デバイス2008に表示させるための表示情報を生成する。
取得部214は、登録端末20の外部から画像を取得する。取得部214は、他の機器からネットワークを介して送信された画像を取得してもよいし、CDやDVDといった記録媒体を介して画像を受け取ってもよい。さらに、取得部214は、紙などの印刷媒体から画像を取得してもよい。また、取得部214は、例えば入力部212に受け付けられた情報に従い、画像に関連付ける連携情報のための情報を取得する。
登録端末20に含まれる登録ツール200の各部(通信部210、設定部211、入力部212、表示部213および取得部214)は、CPU2000上で動作するプログラムにより実現される。
より具体的には、登録端末20は、一般的なコンピュータに搭載されるものと同等のブラウザアプリケーション(以下、ブラウザ)が搭載される。ブラウザは、CPU2000上で動作して、例えばHTML(HyperText Markup Language)に従い記述されたファイルを読み込み、所定の動作を行う。
例えば、画像検索システム10は、登録端末20において登録ツール200を構成するためのプログラムを、画像検索システム10が有するストレージなどに予め記憶しておく。登録端末20において、登録端末20に搭載されるブラウザを用いて、画像検索システム10が有する当該プログラムを読み込むことで、ブラウザに読み込まれた当該プログラムにより、登録端末20上に登録ツール200が形成される。これに限らず、当該プログラムを記憶するサーバを別途、設けてもよい。
(第1の実施形態に係る処理)
次に、第1の実施形態に係る処理について説明する。第1の実施形態に係る情報処理システムは、検索端末50により撮像された撮像画像に基づき顧客システム30からAR用画像を取得することを目的としている。
第1の実施形態では、検索端末50は、撮像部5008により撮像した撮像画像を画像検索システム10に送信し、画像検索システム10に対して画像検索を要求する。検索端末50は、画像検索システム10から、この要求に応じた画像検索の結果として送信された連携情報に基づき特定のURIを取得する。検索端末50は、取得した特定のURIに所定の文字列が含まれる場合に、機能呼出部5122によりAR機能部513を呼び出して、顧客システム30からAR用画像を取得し、取得したAR用画像を用いた撮像を実行可能とされる。
(第1の実施形態に係る処理の第1の例)
先ず、第1の実施形態に係る処理の第1の例について、図7を用いて説明する。この第1の例は、検索端末50は、画像検索の結果としての連携情報に基づき、外部サービス提供サーバ40が提供する外部サービスWebサイト41にアクセスし、この外部サービスWebサイト41から、所定の文字列を含む特定のURIを取得する例である。
図7において、先ず、登録端末20を用いて、撮像画像に対する検索対象となる画像と、当該画像に関連付ける連携情報と、を画像検索システム10に登録する(ステップS1)。この画像および連携情報の登録は、顧客自身が実行してもよいし、サービス提供者が顧客の依頼に応じて実行してもよい。登録される連携情報は、外部サービスWebサイト41のURI(URL)を含む。
図8~図10を用いて、登録端末20において登録ツール200により表示される登録画面の例について説明する。図8~図10に示される各画面は、登録端末20に搭載されるブラウザに例えば画像検索システム10から読み込まれたプログラムに従い、登録端末20に表示される。
図8は、実施形態に係る登録画面の例を示す。図8において、登録画面480は、ヘッダ領域481と、サムネイル表示領域483と、ページ編集領域484と、プレビュー領域485と、対象領域一覧領域486と、ツールバー488とを含む。
ヘッダ領域481は、この登録画面480の登録対象となるキャンペーンの名前が左端に表示され、右端には、登録端末20にログインしているユーザの権限で利用できるメニューが表示されるユーザメニュー表示部482が配置される。なお、キャンペーンは、ここでは、顧客が顧客サーバ30によりユーザにAR用画像を提供する一連の処理を含む。
サムネイル表示領域483は、キャンペーンに係る各画像を縮小したサムネイル画像48301、48302、48303、…が表示されている。なお、顧客は、キャンペーンに係る画像を、予め登録端末20に読み込ませ例えばストレージ2004に保存しておく。登録端末20に当該画像が保存されていない場合、サムネイル表示領域483は、空欄の表示となる。
ページ編集領域484は、キャンペーンに含まれる各画像のうち、編集対象となる画像4840が表示される。例えば、登録ツール200は、サムネイル表示領域483に表示される各サムネイル画像48301、48302、48303、…から選択したサムネイル画像の元画像を、画像4840としてページ編集領域484に表示させる。
登録ツール200は、ページ編集領域484に表示される画像4840に対して、例えばユーザによる入力デバイス2006の操作に応じて範囲が指定された場合、指定された範囲を対象領域として設定することができる。図8の例では、ページ編集領域484の画像4840に対して矩形の範囲により対象領域4841aおよび4841bがそれぞれ設定されている。登録ツール200は、設定された各対象領域4841aおよび4841bを識別する識別情報を生成し、各対象領域4841aおよび4841bに関連付ける。
プレビュー領域485は、ページ編集領域484において編集中の画像が撮像・検索部500により検索端末50に表示される画面をエミュレートしたプレビュー画面4850を表示する。
対象領域一覧領域486は、編集対象のキャンペーンに含まれる各画像に設定された各対象領域に付加されている連携情報の一覧が、各対象領域を示すボタン4901、4902、4903、…により一覧で表示される。また、対象領域は、複数の連携情報を含むことができ、この場合、例えばボタン4903に含むアイコン491、491、…のように示される。ボタン4901、4902、4903、…を指定することで、連携情報設定画面が表示される。
図9は、第1の実施形態に適用可能な、ボタン4901、4902、4903、…が指定された場合に登録ツール200により表示される連携情報設定画面の例を示す。図9において、連携情報設定画面4900(図ではリンク設定画面として示す)は、入力領域4901および4902と、ボタン4903および4904とを含む。入力領域4901は、この連携情報設定画面4900において設定される連携情報のタイトルを入力するための領域である。入力領域4902は、連携情報を入力するための領域である。ここでは、入力領域4902は、連携情報として、ネットワーク1上の情報資源に対するリンクを示すリンク情報であるURI(URL)が入力される。
ボタン4903は、入力領域4901および4902の入力内容を確定するためのボタンであって、登録ツール200は、当該ボタン4903の操作に応じて入力領域4901および4902の入力内容を記憶する。また、ボタン4904は、この連携情報設定画面4900による処理をキャンセルするためのボタンであって、登録ツール200は、当該ボタン4904の操作に応じて入力領域4901および4902の入力内容を例えば破棄する。
なお、ここでは、連携情報としてURIを設定するものとして説明しているが、連携情報として設定可能な情報は、URIに限定されない。連携情報としては、URI以外にも、電話番号、位置情報(緯度、経度)、など、検索端末50上で利用可能な他の情報を用いることができる。
説明は図8に戻り、ツールバー488には、ページ編集領域484に表示されるページ(画像)を指定するページ指定部4880と、登録ツール200が備える様々な機能を実行させるためのボタンまたはボタン群4881~4885、4887および4889と、AR用画像の設定を行うためのボタン498と、が配置される。これらのうち、ボタン4881は、登録画面480から直前の画面に戻るためのボタンである。
ボタン4882は、登録端末20から画像検索システム10に対して画像をアップロードするためのボタンである。ボタン4882が操作されると、登録ツール200は、表示部213により、ファイル選択画面の表示を行う。ファイル選択画面は、例えば登録端末20のCPU2000上で動作するOSにより提供される、標準のファイル選択画面を適用することができる。
ファイル選択画面において所望の画像のファイルを選択して所定の操作を行うことで、登録端末20は、選択された画像のファイルを画像検索システム10に送信する。画像検索システム10は、登録端末20から送信された画像のファイルを、例えば、検索サーバ11が有するストレージやメモリなどに記憶する。
ボタン群4883は、ページ編集領域484に表示される画像4840の表示サイズを調整するための2つのボタンを含む。ボタン4884は、ページ編集領域484内に領域を設定する領域設定モードを、対象領域の設定を行う対象領域設定モードに切り替えるためのボタンである。登録ツール200は、このボタン4884が操作され編集モードが対象領域設定モードに切り替えられた上で、ページ編集領域484に表示される画像4840上に領域が指定された場合に、当該領域を対象領域に設定する。
ボタン4885は、ページ編集領域484内に領域を指定する領域設定モードを、検索サーバ11による特徴情報の抽出の対象としないマスク領域を指定するマスク設定モードに切り替えるためのボタンである。登録ツール200は、このボタン4885が操作され編集モードがマスク設定モードに切り替えられた上で、ページ編集領域484に表示される画像4840上に領域が指定された場合に、当該領域をマスク領域に設定する。
ボタン群4887は、情報のコピー、ペーストおよび削除をそれぞれ実行するための3つのボタンを含む。ボタン4889は、登録画面480において編集中のキャンペーンの保存を、画像検索システム10に指示する。このボタン4889の操作に応じて、登録端末20からアップロードされた画像と、当該画像に対応する連携情報とが関連付けられて画像検索システム10の画像検索用DB12に保存され、登録される。
第1の実施形態においては、ツールバー488に対して、AR用画像に関する設定を行うためのボタン495がさらに配置される。例えば、先ずボタン495を操作し、次に、一般ユーザにAR用画像を取得させるための対象領域を示すボタン(例えばボタン4901)を操作することで、AR用画像設定画面が表示される。
図10は、第1の実施形態に適用可能なAR用画像設定画面の例を示す。図10において、AR用画像設定画面4950は、ラジオボタン4951aおよび4951bと、入力領域4952および4953と、ボタン4954および4955とを含む。
入力領域4952は、このAR用画像設定画面4950において設定される連携情報のタイトルを入力するための領域である。入力領域4953は、連携情報としてのURI(URL)を入力するための領域である。ラジオボタン4951aおよび4951bは、入力領域4953に入力されるURIが、リンク先のWebサイトのURIと、顧客サーバ30におけるAR用画像の格納場所のネットワーク1上での位置を示すURIと、のうち何れであるかを排他的に設定するためのボタンである。
ボタン4954は、ラジオボタン4951aおよび4951b、ならびに、入力領域4952および4953の入力内容を確定するためのボタンであって、登録ツール200は、当該ボタン4954の操作に応じて入力領域4952および4953の入力内容を、ラジオボタン4951aおよび4951bの指定内容と関連付けて記憶する。また、ボタン4955は、このAR用画像設定画面4950による処理をキャンセルするためのボタンであって、登録ツール200は、当該ボタン4955の操作に応じて入力領域4952および4953の入力内容を例えば破棄する。
この例では、ラジオボタン4951aおよび4951bのうち、リンク先のWebサイトのURIを示すラジオボタン4951aが指定され、入力領域4953は、外部サービスWebサイト41のURIが入力されたものとする。
説明は図7に戻り、画像および連携情報の画像検索システム10への登録が完了すると、登録端末20から外部サービス提供サーバ40に対して、外部サービスWebサイト41の決定ボタン410に関連付けるURIが指定される(ステップS2)。外部サービスWebサイト41の内容は、特に限定されないが、ここでは、説明のため、外部サービスWebサイト41がアンケートサービスを実施するWebサイトであるものとして説明を行う。また、このステップS2の処理は、登録端末20に限らず、外部サービス提供サーバ40にアクセス可能な他の端末装置から実行することができる。
ここで、アンケートサービスを実施するための外部サービスWebサイト41によるアンケート入力画面について、図11を用いて概略的に説明する。図11に示されるアンケート入力画面4100は、例えば検索端末50の画面に表示される。アンケート入力画面4100は、アンケート入力回答入力領域4101と、ボタン4102とを含む。アンケート入力回答入力領域4101は、質問事項に対して、ラジオボタンやチェックボックスの操作により回答するための領域である。
ボタン4102は、図7の決定ボタン410に対応し、アンケートに回答するための回答ボタンである。外部サービスWebサイト41は、検索端末50におけるボタン4102に対する操作に応じて、アンケート入力回答入力領域4101に入力された回答の情報を外部サービス提供サーバ40に送信する。また、ボタン4102に対して、アンケート回答後に表示される他のWebサイトのURIを関連付けておくことができる。
外部サービス提供サーバ40は、アンケート入力画面4100から送信されたアンケート回答を集計することができる。また、アンケート回答に検索端末50を識別するための識別情報が付加されている場合には、外部サービス提供サーバ40は、検索端末50毎に、アンケート回答送信に係るログを収集することができる。
図12は、第1の実施形態に適用可能なアンケート項目設定画面の例を示す。図12の例では、アンケート項目設定画面450は、入力領域451~453と、ボタン454および455と、が設けられる。ここでは、アンケート項目設定画面450が登録端末20に表示され、登録端末20からアンケート項目設定画面450における各項目が設定されるものとする。
入力領域451は、このアンケート項目設定画面450により設定するアンケートのタイトルを入力するための領域である。入力領域452は、1以上の入力項目を含み、各アンケート項目に関する設定を行うための領域である。入力領域453は、回答ボタン4102に対するリンクを設定するための領域である。
これらのうちボタン454は、各入力領域451~453に入力された入力内容を確定するためのボタンであって、登録端末20は、当該ボタン454の操作に応じて、各入力領域451~453の入力内容を外部サービス提供サーバ40に送信する。外部サービス提供サーバ40は、登録端末20から送信された各入力領域451~453の入力内容を、例えば1つのアンケートの設定情報として管理する。また、ボタン455は、このアンケート項目設定画面450による処理をキャンセルするためのボタンであって、登録端末20は、当該ボタン455の操作に応じて各入力領域451~453の入力内容を破棄する。
第1の実施形態におけるこの第1の例では、入力領域453に入力される、回答ボタン4102に対するリンク情報として、検索端末50においてAR機能部513を呼び出すための所定の文字列と、顧客システム30のコンテンツ記憶部32に記憶されるAR用画像のネットワーク1上での位置情報と、を含む特定のURIが入力される。
図13を用いて、第1の実施形態に係る、入力領域453に入力するための、所定の文字列を含む特定のURIについて説明する。
先ず、図13(a)を用いて、URIの基本的な構成について概略的に説明する。URIは、少なくともスキームとオーソリティとを含み、URIの先頭から、コロン「:」と2つのスラッシュ「//」とによる区切り文字「://」の直前までがスキームである。スキームは、このURIにより示される情報資源へのアクセスのルールを指定するもので、例えば、その情報資源へのアクセスの際に用いるプロトコルを示す文字列が適用される。この区切り文字「://」の直後からオーソリティ構成要素が開始され、次のスラッシュ「/」、疑問符「?」および番号記号「#」の何れか、または、URIの終了によって終結する。オーソリティ構成要素は、このURIで示される情報資源を保持するホスト名を含む。ホスト名は、サーバ名とドメイン名とを含むことができる。
図13(a)の例では、文字列「http」がスキームに相当し、プロトコルとしてHTTP(Hypertext Transfer Protocol)を用いることを示している。また、文字列「www.example.com」がオーソリティ構成要素となり、ホスト名が「www」、ドメイン名が「example.com」であることを示している。図13(a)の例では、さらに、オーソリティ構成要素の集結を示すスラッシュ「/」の直後から、パス構成要素(文字列「user/index.html」)が記述され、ホスト内での位置が示される。
図13(b)は、第1の実施形態に適用可能な、所定の文字列を含むURIの基本的な構成の例を示す。第1の実施形態では、URIのスキームに対して所定の文字列を適用する。ここでは、所定の文字列として文字列「clicker-ar」を用いている。所定の文字列は、文字列「clicker-ar」に限られず、URIのスキームとして未定義の文字列であれば、他の文字列でもよい。
図13(b)において、URIは、ホスト名として文字列「image」が用いられ、区切り文字としての疑問符「?」で区切られて、クエリ構成要素が記述されている。図13(b)の例では、クエリ構成要素は、文字列「url=」により、続く記述がURLであることが示され、文字列「<image url>」により、当該URLがAR用画像のURL(Uniform Resource Locator)であることが示される。
図13(c)は、図13(b)に例示される所定の文字列「clicker-ar」を含む特定URIの、より具体的な例を示す。図13(c)の例では、図13(b)における文字列「<image url>」の部分が、AR用画像のファイルのファイルパスを含むURL「http://www.example.com/frames/jp-aaa.png」とされ、このURL「http://www.example.com/frames/jp-aaa.png」にアクセスすることで、AR用画像のファイル「jp-aaa.png」が取得できることが示されている。
なお、所定の文字列「clicker-ar」を含むURIは、検索端末50においてAR機能部513の呼び出しを指示できるものであり、この所定の文字列「clicker-ar」が検索端末50に対するコマンドであると考えることができる。以降、この、AR機能部513を呼び出すための、所定の文字列「clicker-ar」を含む特定のURIを、コマンドURIと呼ぶ。すなわち、図7のステップS2において、このコマンドURIが回答ボタン4102(図7のボタン410)に関連付けられる。
説明は、図7に戻り、上述のようにして、ステップS1およびステップS2で画像検索システム10に対する画像および連携情報の登録と、外部サービス提供サーバ40に対する、外部サービスWebサーバ41へのコマンドURIの登録とが行われる。その後、一般ユーザにより、検索端末50を用いて所定の被写体が撮像され(ステップS3)、撮像された撮像画像が、当該撮像画像に基づく画像検索を要求する検索要求に含められて、検索端末50から画像検索システム10に送信される(ステップS4)。
なお、顧客は、画像検索システム10に登録した画像をオブジェクトとして含む例えば印刷媒体を予め用意し、一般ユーザは、この印刷媒体を被写体として撮像するものとする。検索端末50から、この印刷媒体が撮像された撮像画像が、検索要求に含められて画像検索システム10に送信される。
画像検索システム10において検索サーバ11は、検索端末50から送信された検索要求に応じて、画像検索用DB12に対して、当該検索要求に含まれる撮像画像に基づく画像検索を行う。検索サーバ11は、画像検索により、画像検索用DB12から、当該撮像画像に含まれるオブジェクトに類似する画像を抽出し、抽出された画像に関連付けられた連携情報を取得する。この連携情報は、ステップS1で説明したように、外部サービスWebサイト41のURIを含む。画像検索システム10は、検索サーバ11により画像検索の結果取得された、外部サービスWebサイト41のURIを含む連携情報を、検索端末50に返す(ステップS5)。
検索端末50は、外部サービスWebサイト41のURIを含む連携情報を指定するための画面を表示させる。検索端末50は、この画面に基づき一般ユーザにより当該連携情報を指定する操作が行われると、この操作に応じて、連携情報が含むURIに従い、外部サービス提供サーバ40を介して外部サービスWebサイト41にアクセスする(ステップS6、ステップS7)。このアクセスにより、検索端末50の画面に、外部サービスWebサイト41による画面が表示される。この外部サービスWebサイト41上のボタン410に対する操作に応じて、当該ボタン410に関連付けられたコマンドURLが検索端末50に送信される(ステップS8)。
なお、実際には、ステップS6で検索端末50が外部サービスWebサイト41にアクセスした際に、検索端末50において、内部ブラウザ部512は、この外部サービスWebサイト41のHTMLファイルを読み込んでおり、その際に、ボタン410に関連付けられたコマンドURIも、内部ブラウザ部512に読み込まれている。そのため、ステップS8の処理は、実際には内部ブラウザ部512における内部的な処理となる。
検索端末50において、内部ブラウザ部512は、外部サービスWebサイト41上のボタン410に対する操作に応じて取得したコマンドURIを、受信情報処理部5121により解析する。内部ブラウザ部512は、解析の結果、当該コマンドURIに所定の文字列「clicker-ar」が含まれているとされた場合に、機能呼出部5122によりAR機能部513を呼び出す。そして、コマンドURIのクエリ構成要素に含まれる、AR用画像のファイルパスを含むURLを、AR機能部513に渡す。
検索端末50において、AR機能部513は、AR用画像取得部5130により、内部ブラウザ部512から渡されたURLに従い顧客システム30にアクセスする(ステップS9)。AR用画像取得部5130は、当該URLに含まれるファイルパスに従い、顧客サーバ31を介してコンテンツ記憶部32からAR用画像を取得する(ステップS10)。
検索端末50において、AR機能部513は、撮像指示部5131により、検索端末50に対するユーザ操作に応じて、取得したAR用画像を用いた撮像を行う(ステップS11)。例えば、撮像指示部5131は、撮像部5008から出力された撮像画像を、ユーザ操作に応じたタイミングでキャプチャする。AR機能部513において、画像合成部5132は、キャプチャされた撮像画像と、取得したAR用画像とを合成して合成画像を生成する。保存処理部5133は、生成した合成画像を、例えば検索端末50が有するストレージ5004に保存する。
ここで、保存処理部5133は、保存した合成画像を、例えばSNSサーバ60に送信し(ステップS12)、当該合成画像をSNSにおいてシェアさせることができる。例えば、保存処理部5133は、1以上のSNSから所望のSNSを選択するメニュー画面を検索端末50に表示させ、メニュー画面に応じてユーザ操作に応じて指定されたSNSのSNSサーバ60に、当該合成画像を送信する。
このように、第1の実施形態の第1の例では、検索端末50から送信された撮像画像に基づく画像検索の結果に応じて取得した連携情報に示されるリンク先に、AR用画像のURLを含むコマンドURIが関連付けられている。また、検索端末50において、AR用画像を用いた撮像を行うAR機能部513は、当該コマンドURIに応じて、内部ブラウザ部512により呼び出される。
そのため、画像検索システム10による画像検索と、顧客システム30からのAR用画像の取得処理との間に、画像検索システム10および顧客システム30に対してサードパーティであるシステムによるサービスが介在する場合であっても、画像検索システム10と顧客システム30との連携が可能である。
(第1の実施形態に係る処理の第2の例)
次に、第1の実施形態に係る処理の第2の例について、図14を用いて説明する。この第2の例は、検索端末50は、画像検索の結果としての連携情報から直接的に、所定の文字列を含む特定のURI(コマンドURI)を取得する例である。なお、図14において、上述した図7と共通する部分には同一の符号を付して、詳細な説明を省略する。
図14において、先ず、登録端末20を用いて、撮像画像に対する検索対象となる画像と、当該画像に関連付ける連携情報と、を画像検索システム10に登録する。このとき、登録端末20は、連携情報に、上述した、AR用画像のファイルのファイルパスのURLが記述されたリンク情報であるコマンドURIを含めて、画像検索システム10に登録する(ステップS1a)。
その後、一般ユーザにより、検索端末50を用いて所定の被写体が撮像され(ステップS3)、撮像された撮像画像が、当該撮像画像に基づく画像検索を要求する検索要求に含めて、検索端末50から画像検索システム10に送信される(ステップS4)。
画像検索システム10において検索サーバ11は、検索端末50から送信された検索要求に応じて撮像画像に基づく画像検索を行う。検索サーバ11は、この検索の結果として、当該撮像画像に対応する、コマンドURIを含む連携情報を取得する。画像検索システム10は、検索サーバ11により画像検索の結果取得された、コマンドURIを含む連携情報を、検索端末50に返す(ステップS5a)。
検索端末50は、コマンドURIを含む連携情報を指定するための画面を表示させる。検索端末50は、この画面に基づき一般ユーザにより当該コマンドURIを含む連携情報を指定する操作が行われると、この操作に応じて、連携情報に含まれるコマンドURIを内部ブラウザ部512に渡す。内部ブラウザ部512は、渡されたコマンドURIを受信情報処理部5121により解析し、当該コマンドURIに所定の文字列「clicker-ar」が含まれているとされた場合に、機能呼出部5122によりAR機能部513を呼び出す。そして、コマンドURIのクエリ構成要素に含まれる、AR用画像のファイルパスを含むURLを、AR機能部513に渡す。
以降の処理は、図7のステップS9~ステップS12で説明した処理と共通するので、ここでの説明を省略する。
(第1の実施形態に係る検索端末における処理)
次に、第1の実施形態に係る検索端末50における処理について、図15~図21を用いてより詳細に説明する。
図15は、第1の実施形態に係る検索端末50における処理を示す一例のフローチャートである。この図15のフローチャートは、第1の実施形態に係る上述した第1の例および第2の例に共通して適用される。
以下では、顧客は、コンテンツ記憶部32に記憶される特定のコンテンツ(例えばAR用画像)を一般ユーザに取得させるための画像を画像検索システム10に予め登録しているものとする。ここで、顧客は、当該画像に対して、上述した第1の例による、外部サービスWebサイト41のURIと、第2の例による、顧客システム30上のAR用画像のファイルのファイルパスのURLが記述されたコマンドURIと、を含む連携情報を関連付けて、画像検索システム10に登録するものとする。また、顧客は、画像検索システム10に登録された当該画像をオブジェクトとして含む印刷媒体を用意し、この印刷媒体を一般ユーザに配布しているものとする。
ステップS100で、検索端末50は、例えばユーザ操作に応じて、検索アプリすなわち検索・撮像部500を起動させる。検索・撮像部500は、起動されると、例えば検索端末50の表示デバイス5010に、検索アプリとしてのホーム画面を表示させる。
なお、以下では、検索・撮像部500が検索端末50の表示デバイス5010に画面などを表示させることを、単に、検索・撮像部500が画面などを表示させる、のように記述する。
次のステップS101で、検索端末50において検索・撮像部500は、例えば撮像画像取得部510により、ユーザ操作に応じて検索端末50の表示デバイス5010に撮像画面を表示させ、顧客により配布された印刷媒体の撮像を行う。検索・撮像部500は、例えば検索端末50のOS(全体制御部501)が提供する撮像機能を用いて、この撮像を行う。
図16は、第1の実施形態に適用可能な撮像画面の例を示す。図16において、撮像画面600は、撮像部5008により出力される画像が表示されるファインダ領域601と、検索・撮像部500の各機能を実行させるためのボタン602~606とが配置される。また、ファインダ領域601の下部には、ファインダ領域601内の画像を拡大表示させるズーム操作部607が設けられる。ファインダ領域601内へのタッチまたはズーム操作部607に対する操作に応じて撮像が実行される。撮像部5008により撮像された撮像画像が、撮像画像取得部510により取得される。
ステップS101で撮像が実行されると、次のステップS102で、検索・撮像部500は、送受信部511により、撮像画像取得部510に取得された撮像画像を、当該撮像画像に基づく画像検索を要求する検索要求に含めて画像検索システム10に送信する。画像検索システム10は、この検索要求に応じて、撮像画像に基づく画像検索を行い、当該撮像画像に含まれるオブジェクトに対応する連携情報を検索結果として、検索要求の送信元である検索端末50に送信する。
なお、上述したように、顧客は、画像検索システム10に対し、第1の例による外部サービスWebサイト41のURIと、第2の例による顧客システム30上のAR用画像のファイルのファイルパスのURLが記述されたコマンドURIと、のうち少なくとも一方を含む連携情報を、画像と関連付けて登録している。したがって、画像検索システム10から検索結果として送信される連携情報は、これら外部サービスWebサイト41のURIと、コマンドURIと、のうち少なくとも一方を含んでいる。
ステップS103で、検索結果としての連携情報は、検索端末50において送受信部511に受信され、内部ブラウザ部512に渡される。内部ブラウザ部512においてUI部5120は、連携情報に基づくメニュー画面を表示させる。図17は、第1の実施形態に適用可能な、連携情報に基づくメニュー画面の例を示す。図17において、メニュー画面610は、連携情報に示される各リンク情報に対応するタブ611aおよび611bが表示されている。ここで、タブ611aは、上述した第2の例によるコマンドURIに対応し、タブ611bは、上述した第1の例による外部サービスWebサイト41のURIに対応するものとする。
次のステップS104で、UI部5120は、連携情報に示されるリンク情報が指定されたか否か、具体的には、メニュー画面610においてタブ611aおよび611bの何れかが操作されたか否かを判定する。UI部5120は、リンク情報が指定されていないと判定した場合(ステップS104、「No」)、処理をステップS104に戻す。一方、UI部5120は、タブ611aおよび611bの何れかが操作されリンク情報が指定されたと判定した場合(ステップS104、「Yes」)、処理をステップS105に移行させる。また、UI部5120は、指定されたリンク情報を受信情報処理部5121に渡す。
ステップS105で、受信情報処理部5121は、UI部5120から渡されたリンク情報を解析し、指定されたリンク情報がコマンドを含むか否かを判定する。例えば、受信情報処理部5121は、指定されたリンク情報にコマンドURIを示す所定の文字列(上述の例では「clicker-ar」)が、URIのスキームに含まれている場合に、当該リンク情報がコマンドを含むと判定する。
受信情報処理部5121は、指定されたリンク情報がコマンドを含むと判定した場合(ステップS105、「Yes」)、処理を後述するステップS109に移行させる。一方、受信情報処理部5121は、指定されたリンク情報がコマンドを含まないと判定した場合(ステップS105、「No」)、処理をステップS106に移行させる。
図17のメニュー画面610の例では、タブ611aが操作された場合、リンク情報としてコマンドURIが指定され、指定されたリンク情報がコマンドを含むと判定される。一方、タブ611bが操作された場合、指定されたリンク情報がコマンドURIではないため、コマンドを含まないと判定される。
ステップS106で、受信情報処理部5121は、リンク情報であるURIが示すリンク先にアクセスする。次のステップS107で、受信情報処理部5121は、アクセスしたリンク先から、リンク情報が含まれる通知を受信したか否かを判定する。ステップS107で、受信情報処理部5121は、リンク情報が含まれる通知を受信していないと判定した場合(ステップS107、「No」)、処理をステップS107に戻す。一方、受信情報処理部5121は、リンク情報が含まれる通知を受信したと判定した場合(ステップS107、「Yes」)、処理をステップS108に移行させる。
例えば、受信情報処理部5121は、ステップS106で、リンク情報であるURIが示すリンク先として、外部サービスWebサイト41にアクセスする。外部サービスWebサイト41において、決定ボタン410が操作された場合、決定ボタン410に関連付けられたリンク情報(この例ではコマンドURI)が受信情報処理部5121により取得され、リンク情報が含まれる通知を受信したとされる。
ステップS108で、受信情報処理部5121は、取得したリンク情報を解析し、上述のステップS105と同様にして、取得したリンク情報がコマンドを含むか否かを判定する。受信情報処理部5121は、指定されたリンク情報がコマンドを含まないと判定した場合(ステップS108、「No」)、処理をステップS120に移行させる。この場合、指定されたリンク情報は、通常のURI(URL)であって、受信情報処理部5121は、ステップS120で、リンク情報に従いリンク先にアクセスし、UI部5120によりリンク先のコンテンツを表示させ、図15のフローチャートによる一連の処理を終了させる。
一方、受信情報処理部5121は、取得したリンク情報がコマンドを含むと判定した場合(ステップS108、「Yes」)、処理をステップS109に移行させる。ステップS109で、受信情報処理部5121は、機能呼出部5122によりAR機能部513を呼び出す。このとき、受信情報処理部5121は、取得したリンク情報からAR用画像のURLを抽出して、呼び出したAR機能部513に渡す。なお、上述したステップS105で指定されたリンク情報がコマンドを含むと判定された場合も、処理がこのステップS109に移行される。
次にステップS110で、AR機能部513においてAR用画像取得部5130は、受信情報処理部5121から渡されたAR画像用のURLに従い、顧客システム30からAR用画像を取得する。
図18は、第1の実施形態に適用可能な、顧客システム30から取得したAR用画像の例を示す。図18の例では、対象となる画像に対して枠を付加する枠画像700がAR用画像として用いられている。図18に示される枠画像700は、窓領域701を含む。枠画像700は、対象画像(例えば撮像部5008により撮像された撮像画像)と合成した際に、窓領域701に対し、当該窓領域701に対応する対象画像の領域の画像が表示されるようになっている。
また、図18の例では、枠画像700は、特定のキャラクターを表現したキャラクター画像702aおよび702bを含んでいる。例えば窓領域701に対応する領域に特定の人物が配置された対象画像と枠画像700とを合成させることで、窓領域701に、当該特定の人物の、対象画像の窓領域701に対応する部分の画像が表示される。これにより、当該特定の人物がキャラクター画像702aおよび702bによる各キャラクターと一緒に写っているような合成画像を得ることができる。
説明は図15に戻り、ステップS110でAR用画像取得部5130がAR用画像を取得すると、処理がステップS111に移行される。ステップS111では、取得したAR用画像を含めた撮像処理が行われる。
より具体的には、上述したように、UI部5120により、撮像部5008から出力される撮像画像と、AR用画像取得部5130により取得されたAR用画像とが合成されたファインダ画像が生成される。UI部5120は、生成したファインダ画像を含む撮像画面を表示デバイス5010に表示させる。
図19は、第1の実施形態に適用可能な、検索端末50の表示デバイス5010に表示されるファインダ画面の例を示す。なお、図19において、上述の図18と共通する部分には同一の符号を付して、詳細な説明を省略する。
図19において、撮像画面630は、ファインダ領域631と、ボタン632および633とを含む。ファインダ領域631は、撮像画像とAR用画像とが合成されたファインダ画像が表示される。図19の例では、ファインダ領域631内のファインダ画像は、キャラクター画像702aおよび702bを含む枠画像700が配置され、さらに、枠画像700における窓領域701に、撮像部5008から撮像画像として出力される動画像703の、窓領域701に対応する領域の画像が含まれる。
ボタン632は、撮像指示部5131に対して、撮像部5008から動画像として出力される撮像画像をキャプチャするタイミングを指示するシャッタボタンである。ボタン633は、検索端末50が備えるフラッシュ機能のオン/オフを切り替えるボタンである。
UI部5120は、シャッタボタンであるボタン632に対する操作を受け付けると、シャッタ操作された旨を撮像指示部5131および画像合成部5132に通知する。撮像指示部5131は、シャッタ操作の通知に応じて、撮像部5008に対して撮像画像のキャプチャを指示する。画像合成部5132は、この指示に応じてキャプチャされた撮像画像と、ステップS110でAR用画像取得部5130により取得されたAR用画像とを合成し、合成画像を生成する。
次のステップS112で、AR機能部513において保存処理部5133は、UI部5120により保存画面を表示させ、ステップS111で生成された合成画像を保存するか否かを、保存画面に対する操作に応じて判定する。図20は、第1の実施形態に適用可能な保存画面の例を示す。図20において、保存画面640は、プレビュー領域800と、ボタン641および642とを含む。なお、この保存画面640は、上述した撮像画面630においてシャッタボタンであるボタン632に対する操作に応じて表示される。
プレビュー領域800は、ステップS110で生成された合成画像801が表示される。ボタン641は、プレビュー領域800に表示される合成画像801を保存するためのボタンである。ボタン642は、当該合成画像801を保存せずに、再度、撮像を行うためのボタンである。すなわち、保存処理部5133は、ボタン641が操作された場合に、合成画像801を保存すると判定し、ボタン642が操作された場合に、合成画像801を保存しないと判定する。
保存処理部5133は、ボタン642に対する操作に応じて、合成画像801の保存を行わないと判定した場合(ステップS112、「No」)、処理をステップS112に戻す。一方、保存処理部5133は、ボタン641に対する操作に応じて、合成画像801の保存を行うと判定した場合(ステップS112、「Yes」)、処理をステップS113に移行させる。
ステップS113で、保存処理部5133は、合成画像801を例えば検索端末50のストレージ5004に保存する。それと共に、保存処理部5133は、合成画像801をネットワーク1上でシェアするためのシェア画面を、UI部5120により表示させる。
図21は、第1の実施形態に適用可能なシェア画面の例を示す。図21において、シェア画面650は、合成画像801をネットワーク1上でシェアするためのボタン651a~651dと、合成画像801に対する他の処理(コピー、印刷など)を指示するためのボタン652a~652dと、シェア画面650をキャンセルするためのボタン653とを含む。
図21の例では、ボタン651a~651dは、合成画像801のシェアの宛先または方法を指定するためのボタンであって、ボタン651aおよび651bは、合成画像801のシェアの宛先を、SNS#1またはSNS#2に指定するためのボタンである。ボタン651cは、合成画像801を指定した宛先に電子メールを用いて送信するためのボタンである。また、ボタン651dは、合成画像801をクラウドネットワーク上でシェアするためのボタンである。
例えば、保存処理部5133は、ユーザ操作によるボタン651aの指定に応じて、合成画像801をSNS#1のサーバ(例えばSNSサーバ60)に送信する。SNS#1では、検索端末50から送信された合成画像801をSNS#1が提供するタイムライン上に表示させ、合成画像801をタイムライン上で公開する。なお、SNSによっては、シェアするための情報に、検索などのキーワードとなるハッシュタグを付加可能な場合がある。この場合、保存処理部5133は、予め定められたキーワードや、ユーザ入力によるキーワードをハッシュタグとして合成画像801と関連付けて当該SNSのサーバに送信することができる。
なお、シェア画面650における各ボタン651a~651d、652a~652dにより実行される各機能は、検索端末50のOSにより提供される。例えば、各ボタン651a~651dによりシェアが指定される各宛先は、検索端末50においてアカウントが登録されているサービスである。
ステップS113での合成画像801の保存、シェア等の処理が終了すると、この図15のフローチャートによる一連の処理が終了される。
このように、第1の実施形態では、AR機能部513を呼び出すためのコマンドURIを、連携情報に基づき外部サービスWebサイト41を介して取得する第1の例と、連携情報から直接的に取得する第2の例とに、共通した処理で対応可能である。したがって、異なるシステム間の連携をより柔軟に処理できる。
(第1の実施形態に適用可能なAR用画像の他の例)
上述では、AR用画像の例として、窓領域701が設けられ、キャラクター画像702aおよび702bを含む枠画像700について説明したが、第1の実施形態に適用可能なAR用画像は、この例に限定されない。図22~図26を用いて、第1の実施形態に適用可能なAR用画像の他の例について説明する。
図22は、枠画像711と、キャラクター画像712と、テキスト画像713と、を含むAR用画像710の例を示す。図22(a)に示されるAR用画像710に対して撮像画像が合成された合成画像715の例を、図22(b)に示す。図22(b)の例では、合成画像715は、撮像画像714に対して、枠画像711、キャラクター画像712およびテキスト画像713が合成された画像となっている。図22(b)に例示する合成画像715は、上述した図20の合成画像801と比べて、撮像画像714の占める割合が多くなっている。
図23は、複数のテキスト画像721を含むAR用画像720の例を示す。図23(a)に示されるAR用画像720に対して撮像画像が合成された合成画像723の例を、図23(b)に示す。図23(b)の例では、合成画像723は、撮像画像722に対して、複数のテキスト画像721が合成された画像となっている。図23(b)に例示する合成画像723は、撮像画像722に対してより多くのメッセージを含ませることができる。
図24は、商品画像731を含むAR用画像730の例を示す。図24(a)の例では、商品画像731として腕時計の画像が用いられている。図24(a)に示されるAR用画像730に対して撮像画像が合成された合成画像733の例を、図24(b)に示す。図24(b)の例では、合成画像733は、撮像画像に含まれる人(ユーザ)の手首部分732の画像に対して腕時計である商品の商品画像731が合成され、恰もユーザが当該腕時計を装着したかのような画像となっている。これにより、ユーザは、商品を装着した際の見た目を容易に確認することができる。
図25は、比較的大型の商品の商品画像741を含むAR用画像740の例を示す。図25(a)の例では、商品画像741として椅子の画像が用いられている。図25(a)に示されるAR用画像740に対して撮像画像が合成された合成画像742の例を、図25(b)に示す。図25(b)の例では、撮像画像は、当該椅子を配置することが想定された部屋の一角の画像とされ、合成画像742は、恰もユーザが当該椅子を所望の場所に配置したかのような画像となっている。これにより、ユーザは、比較的大型の商品を配置した際の具合を容易に確認することができる。
図26は、図25に示した商品より大型の商品(家具、什器など)の商品画像751を含むAR用画像750の例を示す。図26(a)の例では、商品画像751として電子黒板の画像が用いられ、さらに、商品画像751に示される商品における各部の寸法を示す寸法画像752がAR用画像750に含まれている。図26(a)に示されるAR用画像750に対して撮像画像が合成された合成画像753の例を、図26(b)に示す。図26(b)の例では、撮像画像は、当該電子黒板を配置することが想定された部屋の一角の画像とされ、合成画像753は、恰もユーザが当該電子黒板を所望の場所に配置したかのような画像となっている。合成画像753は、さらに、当該電子黒板の各部の寸法を示す寸法画像752が含まれるため、ユーザは、より大型の商品を配置した際の具合を容易に確認することができる。
(第1の実施形態に係る、AR機能部へのアクセス制限)
第1の実施形態においては、AR機能部513は、内部ブラウザ部512からの呼び出しにのみ応じて起動される。AR機能部513は、検索端末50に搭載される他のアプリケーションプログラム(例えば検索端末50のOSに応じて搭載される汎用のブラウザアプリケーションプログラム)からのアクセスは、受け付けないように構成される。また、内部ブラウザ部512も、AR機能部513を除く他のアプリケーションプログラムからのアクセスを受け付けないように構成される。
第1の実施形態では、上述したように、AR機能部513を、内部ブラウザ部512がURI(コマンドURI)に応じて呼び出す。内部ブラウザ部512およびAR機能部513を、他のアプリケーションプログラムからのアクセスを受け付けないように構成することで、例えばAR機能部513の機能のみを、他のアプリケーションプログラムからURIに基づき利用されるような事態を回避できる。
すなわち、画像検索サービスのサービス提供者は、顧客が画像検索システム10に登録した画像および連携情報に応じた対価を得る。また、顧客は、画像検索システム10に登録した画像に対する画像検索の結果により得られた連携情報に基づき取得したURI(コマンドURI)に応じて、顧客が管理するAR用画像を提供し、AR機能部513によりAR用画像を用いた撮像を行うサービスを実施している。ここで、他のアプリケーションプログラムから、当該URIを用いてAR用画像を取得しAR機能部513を利用可能な状態とすると、サービス提供者による対価の取得、および、顧客によるサービス提供が阻害されるおそれがある。上述のように、内部ブラウザ部512およびAR機能部513のアクセスに制限を設けることで、この問題を回避することができる。
なお、上述では、画像検索システム10に登録する連携情報にURIを含めるものとして説明を行ったが、これはこの例に限定されず、連携情報には、さらに他の種類の情報を含めることができる。
例えば、連携情報に時間範囲を示す情報を含めることができる。この場合、受信情報処理部5121は、当該連携情報を取得した時刻を位置情報取得部506から取得し、取得した時刻が連携情報に含まれる時間範囲内の時刻である場合に、それ以降の処理(例えば図7のステップS6以降の処理)を実行可能とするようにできる。
同様に、連携情報に所定の範囲を示す位置情報を含めることができる。この場合、受信情報処理部5121は、当該連携情報を取得した位置を位置情報取得部506から取得し、取得した位置が連携情報に含まれる所定の範囲内の位置である場合に、それ以降の処理を実行可能とするようにできる。
なお、上述した第1の例では、検索端末50は、所定の文字列を含む特定のURIを、画像検索の結果としての連携情報に基づき、外部サービス提供サーバ40が提供する外部サービスWebサイト41から取得して、AR機能部513を呼び出している。また、上述した第2の例では、検索端末50は、当該所定の文字列を含む特定のURIを、画像検索の結果としての連携情報から直接的に取得して、AR機能部513を呼び出している。したがって、これら第1の例および第2の例を纏めると、特定のURIに含まれる所定の文字列は、連携情報に基づき提供される連携サービスの過程において所定の機能(AR機能部513)を指定する(呼び出す)ための文字列であるといえる。
(第1の実施形態の第1の変形例)
次に、第1の実施形態の第1の変形例について説明する。上述した、第1の実施形態の第1の例、すなわち、外部サービスWebサイト41からコマンドURIを取得する例において、所定の文字列「clicker-ar」をスキームに持つURIを、外部サービスWebサイト41の決定ボタン410に関連付けている(図7のステップS2参照)。ここで、外部サービス提供サーバ40の仕様によっては、当該決定ボタン410に関連付けるURIに制限が設けられ、所定の文字列「clicker-ar」をスキームに持つURIを設定できない場合がある。
第1の実施形態の第1の変形例は、ダミーサイトを用いたリダイレクトにより、外部サービス提供サーバ40によるURIの設定制限に対応する。概略的には、サービス提供者は、外部サービス提供サーバ40において決定ボタン410に関連付け可能なURIをアドレスとして持ち、コマンドURIを受け渡し可能なWebサイトをダミーサイトとして予め用意し、このダミーサイトのURIを、決定ボタン410に関連付ける。これにより、コマンドURIに対応していない外部サービスWebサイト41から、コマンドURIへのリダイレクトが実現される。
ダミーサイトは、サービス提供者に限らず、顧客が設けてもよい。また、ダミーサイトが設けられるWebサーバは、検索端末50からアクセス可能であれば、特に限定されない。
図27および図28を用いて、第1の実施形態の第1の変形例に係る、リダイレクトを利用したコマンドURIの受け渡し方法について説明する。なお、図27において、上述した図4および図7と共通する部分には同一の符号を付して、詳細な説明を省略する。
リダイレクトの方法としては、HTMLのメタタグ「<META>」を利用する方法、スクリプトを用いる方法、Webサーバの機能を利用する方法など、複数が知られているが、ここでは、HTMLのメタタグ「<META>」を利用する方法について説明する。
サービス提供者は、ネットワーク1に接続されるWebサイト上にダミーサイト33を設ける。ダミーサイト33は、HTTPを示す文字列「http」または「https」をスキームとするURLをアドレスとするWebサイトとされる。外部サービスWebサイト41の決定ボタン410には、このダミーサイト33のURLを関連付ける。
さらに、ダミーサイト33を構成するHTMLファイルの記述において、ヘッダを示すタグ「<HEAD>」および「</HEAD>」の間に、タグ「<META>」にて定義されるメタタグを記述する。
図28は、第1の実施形態の第1の変形例に適用可能なメタタグの例を示す。図28に例示されるメタタグは、パラメータ「HTTP-EQUIV」として、他のWebページへの自動ジャンプを示す値「Refresh」が記述される。また、このメタタグにおいて、パラメータ「CONTENT」に、自動ジャンプに関する値が記述される。このパラメータ「CONTENT」による自動ジャンプに関する値として、自動ジャンプまでの時間と、自動ジャンプ先のURIが記述される。
この例では、自動ジャンプまでの時間が「0」とされ、このダミーサイト33がブラウザに読み込まれた場合に、直ちに自動ジャンプ先に指定されるURIに移動されるように設定されている。また、自動ジャンプ先のURIとして、コマンドURIを記述する。図28の例では、自動ジャンプ先を示すURIとして、図13(b)および図13(c)を用いて説明した、所定の文字列「clicker-ar」をスキームとしたコマンドURI「clicker-ar://image?url=http://www.example.com/frames/jp-aaa.png」が記述されている。
図27を参照し、内部ブラウザ部512は、例えば図17のタブ611bの操作に応じて、当該タブ611bに関連付けられたURIを解析する。内部ブラウザ部512は、当該URIの解析結果に基づき外部サービスWebサイト41にアクセスし(ステップS20)、外部サービスWebサイト41を構成するHTMLファイルを読み込む(ステップS21)。内部ブラウザ部512は、外部サービスWebサイト41に設けられた決定ボタン410に対する操作(ステップS22)に応じて、当該決定ボタン410に関連付けられたURIを解析する。内部ブラウザ部512は、当該URIの解析結果に基づきダミーサイト33にアクセスし(ステップS23)、ダミーサイト33を構成するHTMLファイルを読み込む(ステップS24)。
内部ブラウザ部512は、ダミーサイト33のHTMLファイルのヘッダ部におけるメタタグの記述(図28参照)を解析する。内部ブラウザ部512は、解析結果に基づき、パラメータ「HTTP-EQUIV」に含まれる値「Refresh」と、パラメータ「CONTENT」の値とを抽出する。内部ブラウザ部512は、値「Refresh」に応じて、自動ジャンプ先にアクセスするためにパラメータ「CONTENT」の値からURI(コマンドURI)を抽出、解析する。その結果、内部ブラウザ部512は、当該コマンドURIのスキームの文字列「clicker-ar」と、AR用画像のURLとを取得する(ステップS25)。内部ブラウザ部512は、取得した文字列「clicker-ar」に従いAR機能部513を呼び出し、呼び出したAR機能部513に対してAR用画像のURLを渡す。
以上のような処理によリ、外部サービス提供サーバ40が外部サービスWebサイト41の決定ボタン410に対するコマンドURIの設定を許可しない場合であっても、連携情報に含まれるURIに基づき内部ブラウザ部512にコマンドURIを返すことができる。
(第1の実施形態の第2の変形例)
次に、第1の実施形態の第2の変形例について説明する。第1の実施形態の第2の変形例は、検索端末50においてOSに設定された言語に応じたAR用画像を取得できるようにした例である。先ず、上述した第1の実施形態における第1の例、すなわち、外部サービスWebサイト41からコマンドURIを取得する例に、第1の実施形態の第2の変形例を適用した例について、図29を用いて説明する。なお、図29において、上述した図7と共通する部分には同一の符号を付して、詳細な説明を省略する。
なお、外部サービス提供サーバ40は、外部サービスWebサイト41に対するアクセスの際に、言語が指定されると、外部サービスWebサイト41の表示言語を、指定された言語に応じて切り替えることができるようになっている。
この図29に示す処理に先立って、顧客システム30のコンテンツ記憶部32に対して、画像検索システム10による1の検索結果に対応する、それぞれ異なる言語に対応する複数のAR用画像を格納する。図29の例では、コンテンツ記憶部32に、A言語用のAR用画像、B言語用のAR用画像、…が格納されている。このとき、各AR用画像は、対応する言語を示す値を含んだファイル名のファイルにより、コンテンツ記憶部32に格納される。このファイル名は、例えば、各言語に共通する共通部と、各言語を示す言語表示部とを含んで構成することが考えられる。
図29の例では、ファイル名は、ファイル形式を示す拡張子を含む共通部「frame.png」と、各言語を示す言語表示部「Lang#A」、「Lang#B」、…とをハイフン「-」で結合して構成している。一例として、日本語を示す言語表示部を「JP」、英語を示す言語表示部を「EN」、中国語を示す言語表示部を「CN」とし、共通部を「frame.png」とするとき、日本語、英語および中国語にそれぞれ対応したAR用画像のファイル名は、例えば「JP-frame.png」、「EN-frame.png」および「CN-frame.png」とされる。このようにファイル名の規則を定めることで、言語表示部を挿げ替えるだけで、各国語に対応するAR用画像を指定することができる。
なお、言語表示部「Lang#A」、「Lang#B」、…における言語の記述は、外部サービス提供サーバ40が言語指定の際に用いる記述と対応していることが好ましい。
以下、適宜、上述した図7と対比させながら説明を行う。先ず、登録端末20を用いて、撮像画像に対する検索対象となる画像と、当該画像に関連付ける連携情報と、を画像検索システム10に登録する(ステップS1b)。このとき、連携情報に含まれる、AR用画像を取得するためのURIに対し、パラメータとして、言語指定を示すキーワードを含める。この例では、パラメータ「KEY=[Lang]」は、キーワード「KEY」を値Langに記述される文字列に置き換えることが示されている。
さらに、例えば登録端末20から外部サービス提供サーバ40に対して、外部サービスWebサイト41の決定ボタン410に関連付けるコマンドURIが指定される(ステップS2b)。このコマンドURIは、AR用画像ファイルのURLを含むもので、URLにおけるAR用画像ファイル名部分における言語表示部に、上述のキーワード「KEY」が適用されている(「&KEY&-frame.png」)。
上述のようにして、ステップS1bおよびステップS2bで画像検索システム10と外部サービス提供サーバ40とに対する登録とが完了した後、一般ユーザにより、検索端末50を用いて所定の被写体が撮像され(ステップS3)、撮像された撮像画像が、当該撮像画像に基づく画像検索を要求する検索要求に含めて、検索端末50から画像検索システム10に送信される(ステップS4)。
画像検索システム10は、検索端末50から送信された検索要求に応じて画像検索を行い、検索要求に含まれる撮像画像に対応する連携情報を取得する。この連携情報は、外部サービスWebサイト41のURIを含むと共に、パラメータ「KEY=[Lang]」が含まれている。画像検索システム10は、このURIとパラメータ「KEY=[Lang]」とを含む連携情報を検索端末50に返す(ステップS5b)。
検索端末50は、外部サービスWebサイト41のURIを含む連携情報を指定するための画面を表示させ、この画面に基づきなされた連携情報を指定する操作に応じて、連携情報が含むURIに従い、外部サービス提供サーバ40にアクセスし、外部サービス提供サーバ40から外部サービスWebサイト41にアクセスする(ステップS6b、ステップS7b)。
このとき、検索端末50は、当該URIに含まれるパラメータ「KEY=[Lang]」において、値Langを、検索端末50に現在設定されている言語を示す識別子の値(図29の例では値Lang#A)に置き換えて、外部サービス提供サーバ40にアクセスする(ステップS6b)。外部サービス提供サーバ40は、検索端末50からアクセスされた際のURIから、キーワード「KEY」に基づき値Lang#Aを抽出する。これにより、外部サービス提供サーバ40は、外部サービスWebサイト41の表示言語を、値Lang#Aに示される表示言語に切り替える。
また、外部サービス提供サーバ40は、外部サービスWebサイト41の決定ボタン410に関連付けられるコマンドURIに含まれるファイル名「&KEY&-frame.png」における「&KEY&」の部分を、抽出した値Lang#Aに置き換える。検索端末50は、この決定ボタン410に値Lang#Aが反映された外部サービスWebサイト41にアクセスすることになる(ステップS7b)。
このアクセスにより、検索端末50の画面に、外部サービスWebサイト41による画面が表示される。この外部サービスWebサイト41上のボタン410に対する操作に応じて、当該ボタン410に関連付けられた、ファイル名「&KEY&-frame.png」を含むコマンドURIが検索端末50に送信される(ステップS8b)。
検索端末50において、内部ブラウザ部512は、ステップS8bで取得したコマンドURIを受信情報処理部5121により解析し、コマンドURIに含まれるファイル名「&KEY&-frame.png」を、検索端末50においてOSにより設定された言語を示す値Lang#Aに置き換えて、ファイル名「Lang#A-frame.png」とする。また、受信情報処理部5121は、当該コマンドURIの解析の結果、当該コマンドURIに所定の文字列「clicker-ar」が含まれているとされた場合に、機能呼出部5122によりAR機能部513を呼び出す。そして、コマンドURIのクエリ構成要素に含まれる、AR用画像のファイルパスを含むURLを、AR機能部513に渡す。ここでのAR用画像のファイルパスは、ファイル名「Lang#A-frame.png」を含む。
検索端末50において、AR機能部513は、AR用画像取得部5130により、内部ブラウザ部512から渡された、ファイル名「Lang#A-frame.png」を含むURLに従い顧客システム30にアクセスする(ステップS9b)。AR用画像取得部5130は、当該ファイルパスに従い、顧客サーバ31を介して、コンテンツ記憶部32から、ファイル名に言語表示部「Lang#A」を含むAR用画像を取得する(ステップS10)。
図30は、第1の実施形態の第2の変形例に係る、OSにより各国語の言語が設定された検索端末50に対し、上述のようにして設定言語に対応して取得されたAR用画像が表示された各撮像画面の例である。図30(a)、図30(b)および図30(c)は、検索端末50に設定された言語がそれぞれ日本語、中国語および英語の場合の各撮像画面660a、660bおよび660cの例を示す。なお、図30(a)、図30(b)および図30(c)において、各言語に対応するAR用画像760a、760bおよび760cは、それぞれ窓領域761を含む枠画像である。
例えば、図30(a)に示す、検索端末50の言語がOSにより日本語に設定された場合の撮像画面660aでは、タイトル表示663aがOSの設定に従い日本語とされている。AR用画像760aも、検索端末50におけるOSの言語の設定がパラメータを介して反映され、メッセージ表記が日本語とされている。
検索端末50の言語がOSにより中国語に設定された図30(b)の例でも同様に、タイトル表示663bおよびAR用画像760bのメッセージ表記がそれぞれ中国語とされている。図30(c)の例でも同様に、タイトル表示663cおよびAR用画像760cのメッセージ表記が、それぞれ検索端末50においてOSにより設定された言語に従い英語となっている。
このように、第1の実施形態の第2の変形例では、外部サービスWebサイト41からコマンドURIを取得する第1の例において、言語を指定するためのパラメータを、画像検索システム10と、検索端末50と、外部サービス提供サーバ40および外部サービスWebサイト41との間で受け渡している。これにより、検索端末50は、検索端末50においてOSに設定される言語に応じたAR用画像を、顧客システム30から取得することができる。
次に、上述した第1の実施形態における第2の例、すなわち、コマンドURIを連携情報から直接的に取得する例に、第1の実施形態の第2の変形例を適用した例について、図31を用いて説明する。なお、図31において、上述した図7、図14と共通する部分には同一の符号を付して、詳細な説明を省略する。
先ず、登録端末20を用いて、撮像画像に対する検索対象となる画像と、当該画像に関連付ける連携情報と、を画像検索システム10に登録する(ステップS1c)。このとき、連携情報に含まれる、AR用画像を取得するためのURIに対し、パラメータとして、キーワード「KEY」が言語表示部に含まれるAR用画像ファイルのファイル名「&KEY&-frame.png」が付加される。
ステップS1cで画像検索システム10に対する登録が完了した後、一般ユーザにより、検索端末50を用いて所定の被写体が撮像され(ステップS3)、撮像された撮像画像が、当該撮像画像に基づく画像検索を要求する検索要求に含めて、検索端末50から画像検索システム10に送信される(ステップS4)。
画像検索システム10は、検索端末50から送信された検索要求に応じて画像検索を行い、検索要求に含まれる撮像画像に対応する連携情報を取得する。この連携情報は、外部サービスWecサイト41のURIを含むと共に、キーワード「KEY」が言語表示部に含まれるAR用画像ファイルのファイル名「&KEY&-frame.png」がパラメータとして付加されている。画像検索システム10は、このURIとファイル名とを含む連携情報を検索端末50に返す(ステップS5c)。
検索端末50において、内部ブラウザ部512は、ステップS5cで取得したコマンドURIを受信情報処理部5121により解析し、コマンドURIに含まれるファイル名「&KEY&-frame.png」を、検索端末50においてOSにより設定された言語を示す識別子の値Lang#Aに置き換えて、ファイル名「Lang#A-frame.png」とする。また、受信情報処理部5121は、当該コマンドURIの解析の結果、当該コマンドURIに所定の文字列「clicker-ar」が含まれているとされた場合に、機能呼出部5122によりAR機能部513を呼び出す。そして、コマンドURIのクエリ構成要素に含まれる、AR用画像のファイルパスを含むURLを、AR機能部513に渡す。ここでのAR用画像のファイルパスは、ファイル名「Lang#A-frame.png」を含む。
検索端末50において、AR機能部513は、AR用画像取得部5130により、内部ブラウザ部512から渡された、ファイル名「Lang#A-frame.png」を含むURLに従い顧客システム30にアクセスする(ステップS9c)。AR用画像取得部5130は、当該ファイルパスに従い、顧客サーバ31を介して、コンテンツ記憶部32から、ファイル名に言語表示部「Lang#A」を含むAR用画像を取得する(ステップS10)。
このように、第1の実施形態の第2の変形例では、コマンドURIを連携情報から直接的に取得する第2の例において、連携情報に含まれるコマンドURIに言語を指定するためのパラメータを含めている。これにより、検索端末50は、検索端末50においてOSに設定される言語に応じたAR用画像を、顧客システム30から取得することができる。
(第1の実施形態の第3の変形例)
次に、第1の実施形態の第3の変形例について説明する。第1の実施形態の第3の変形例は、第1の実施形態による情報処理システムに、利用者に対して能動的にメッセージなどの通知を行うプッシュ通知の仕組みを適用させた例である。第1の実施形態の第3の変形例では、図1に示したネットワーク1に対して、プッシュ通知を行う通知サーバがさらに接続される。また、検索端末50がコマンドURIに応じて顧客システム30からAR用画像を取得するまでの手順は、図7を用いて説明した手順と略同様なので、ここでの説明を省略する。
プッシュ通知は、通知サーバから、プッシュ通知に対応するアプリケーションプログラム(以下、プッシュ対応アプリと呼ぶ)が搭載された機器(端末装置)に対して行われる。ここで、検索端末50に搭載される検索アプリがプッシュ対応アプリの機能(プッシュ対応アプリ機能と呼ぶ)を含むものとする。例えば、顧客は、サービス提供者から提供された検索アプリをカスタマイズして、検索アプリにプッシュ対応アプリの機能を組み込む。
プッシュ対応アプリ機能は、ユーザ操作により、当該検索端末50に搭載されるプッシュ対応アプリ機能に対するプッシュ通知が許可(認可)されると、当該検索端末50や当該プッシュ対応アプリ機能の呼び出し時など所定のタイミングで、通知サーバにプッシュ対応アプリ自身を識別する識別情報を送信し、通知IDを要求する。
通知サーバは、要求に応じて、機器固有の通知IDを発行し、発行した通知IDを記憶すると共に、プッシュ対応アプリ機能の識別情報と共に通知IDの要求元の機器(検索端末50)に送信する。通知IDは、プッシュ通知を許可するプッシュ対応アプリ機能および当該プッシュ対応アプリ機能が搭載される機器を通知サーバが識別するための識別情報である。通知IDは、機器のOS(Operating System)がiOS(登録商標)である場合は、デバイストークンである。検索端末50において、プッシュ対応アプリ機能は、取得した通知IDを例えばストレージ5004に記憶する。
例えば、図7または図14に示される手順において、検索端末50によりステップS3で行われた撮像処理に応じて、ステップS9にてAR機能部513が顧客システム30からコンテンツを取得する際に、プッシュ対応アプリ機能は、取得した通知IDを、プッシュ対応アプリの提供元、あるいは、プッシュ対応アプリにプッシュ通知するためのメッセージを提供するプロバイダとしての顧客システム30に送信する。顧客システム30は、送信された通知IDを記憶する。
顧客システム30は、例えば、顧客システム30からAR用画像を取得した検索端末50に対してプッシュ通知を行いたい場合、当該検索端末50に対応する通知IDと、プッシュ通知したいメッセージとを通知サーバに送信し、プッシュ通知を通知サーバに依頼する。メッセージは、顧客システム30からAR用画像といったコンテンツをさらに取得するためのコマンドURIを含むこともできる。通知サーバは、依頼に応じて、通知IDにて識別される検索端末50に対して、通知IDとメッセージとを送信する。
検索端末50は、これら通知IDおよびメッセージを受信すると、検索端末50のOSにより通知IDに対応するプッシュ対応アプリ機能が検出され、検出されたプッシュ対応アプリ機能により、所定の方法でメッセージの表示が行われる。受信したメッセージがコマンドURIを含む場合、プッシュ対応アプリ機能は、通知IDと共に受信されたメッセージに含まれるコマンドURIを内部ブラウザ部512に渡して、内部ブラウザ部512からAR機能部513を呼び出すようにできる。
このように、プッシュ通知では、機器に対する、プッシュ対応アプリ機能に対するプッシュ通知を許可するユーザ操作に応じて、通知サーバにより通知IDを発行し、この通知IDに基づき特定の機器に対してプッシュ通知によりメッセージを送信するようにしている。そのため、プッシュ通知の機能を取り入れることで、顧客システム30は、AR機能部513により顧客システム30からコンテンツの取得を行った検索端末50に対して、電子メールアドレスなどのユーザの個人情報を用いること無く、能動的にメッセージを送信することが可能となる。
(第2の実施形態)
次に、第2の実施形態について説明する。上述した第1の実施形態では、検索端末50から送信された撮像画像に基づき画像検索システム10により画像検索して取得した連携情報に基づき、顧客システム30からコンテンツを取得していた。これに対して、第2の実施形態では、撮像画像に基づく画像検索を行わないシステムにおいて、外部サービス提供サーバ40を介して顧客システム30からコンテンツを取得する例である。
図32は、第2の実施形態に係る検索端末50における検索・撮像部500’の機能を説明するための一例の機能ブロック図である。なお、図32において、上述した図4と共通する部分には同一の符号を付して詳細な説明を省略する。
図32において、検索・撮像部500’は、図4の検索・撮像部500に対してコンテンツ保持部520が追加されている。コンテンツ保持部520は、例えば、特定のWebサイトへのリンクを指示するリンクボタンを含む画面を構成するための表示制御情報を、内部コンテンツとして保持する。UI部5120は、コンテンツ保持部520から内部コンテンツを読み出し、この内部コンテンツに基づく画面を生成して表示させる。
第2の実施形態に係る処理の例について、図33を用いて説明する。なお、図33において、上述した図7と共通する部分には同一の符号を付して、詳細な説明を省略する。
図33において、先ず、登録端末20またはネットワーク1に接続される他の端末装置を用いて、外部サービス提供サーバ40に対して、外部サービスWebサイト41の決定ボタン410に関連付けるコマンドURIが指定される(ステップS30)。
一方、検索端末50において、UI部5120は、例えばユーザ操作に応じてコンテンツ保持部520から内部コンテンツを読み出し、内部コンテンツによる内部コンテンツ画面521を表示させる(ステップS31)。内部コンテンツ画面521は、外部サービスWebサイト41へのリンクを指示するリンクボタン522が含まれる。
検索端末50は、リンクボタン522に対する操作に応じて、外部サービス提供サーバ40を介して外部サービスWebサイト41にアクセスする(ステップS32、ステップS33)。このアクセスにより、検索端末50の画面に、外部サービスWebサイト41による画面が表示される。この外部サービスWebサイト41上のボタン410に対する操作に応じて、当該ボタン410に関連付けられたコマンドURIが検索端末50に送信される(ステップS34)。
検索端末50において、内部ブラウザ部512は、外部サービスWebサイト41上のボタン410に対する操作に応じて取得したコマンドURIを、受信情報処理部5121により解析する。内部ブラウザ部512は、解析の結果、当該コマンドURIに所定の文字列「clicker-ar」が含まれているとされた場合に、AR機能部513を呼び出す。そして、コマンドURIのクエリ構成要素に含まれる、AR用画像のファイルパスを含むURLを、AR機能部513に渡す。
検索端末50において、AR機能部513は、AR用画像取得部5130により、内部ブラウザ部512から渡されたURLに従い顧客システム30にアクセスする(ステップS35)。AR用画像取得部5130は、当該URLに含まれるファイルパスに従い、顧客サーバ31を介してコンテンツ記憶部32からAR用画像を取得する(ステップS36)。AR機能部513は、撮像指示部5131により、検索端末50に対するユーザ操作に応じて、取得したAR用画像を用いた撮像を行う(ステップS37)。
このように、第2の実施形態によれば、検索端末50が保持する内部コンテンツからの外部サービスWebサイト41へのリンクに基づき外部サービスWebサイト41からコマンドURIを取得し、取得したコマンドURIに基づきAR機能部513を呼び出して顧客システム30からAR用画像を取得することができる。内部コンテンツ画面522を用いているため、外部サービスWebサイト41へのアクセスのみならず、さらに多彩なサービスを実現することができる。
なお、上述の各実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。