(57)【要約】【課題】他のアプリケーションから利用されるアプリケーションの機能を、他のアプリケーションの目的に応じて容易に設定可能とする。【解決手段】送信部により、オブジェクトと連携情報とが関連付けられて格納される格納部を含み、送信された撮像画像に含まれるオブジェクトに関連付けられる連携情報を検索して撮像画像の送信元に送信する画像検索サーバを備える画像検索システムに対して、撮像部により撮像された撮像画像を送信する。受信部により、送信された撮像画像に応じて画像検索システムから送信された連携情報を受信して、提示部により、受信した連携情報のうち外部から渡されたパラメータに対応する連携情報を提示する。【選択図】図１４
2015018405.tif 000002
【特許請求の範囲】
【請求項１】
撮像部により撮像された撮像画像を取得する取得部と、
オブジェクトと連携情報とが関連付けられて格納される格納部を含み、送信された撮像画像に含まれるオブジェクトに関連付けられる連携情報を検索して撮像画像の送信元に送信する画像検索サーバを備える画像検索システムに対して、前記取得部で取得された撮像画像を送信する送信部と、
前記送信部から送信された前記撮像画像に応じて前記画像検索システムから送信された前記連携情報を受信する受信部と、
前記受信部で受信された前記連携情報のうち外部から渡されたパラメータに対応する連携情報を提示する提示部と
を備える第１の実行部を有する
ことを特徴とする端末装置。
【請求項２】
所定の機能を実行する処理部と、
予め定められた前記パラメータを前記第１の実行部に渡して、該第１の実行部を呼び出す第１の呼出部と
を備える第２の実行部をさらに有する
ことを特徴とする請求項１に記載の端末装置。
【請求項３】
前記第１の実行部は、
ネットワーク上に存在する、所定の機能を実行する第２の実行部から呼び出され、該呼び出しの際に、前記パラメータが該ネットワークを介して渡される
ことを特徴とする請求項１に記載の端末装置。
【請求項４】
前記画像検索システムは、それぞれ１以上の前記格納部を含む１以上の前記画像検索サーバを備え、
前記送信部は、
前記画像検索サーバと前記格納部とを指定する情報をさらに含む前記パラメータを前記撮像画像に付加して前記画像検索システムに送信する
ことを特徴とする請求項１乃至請求項３の何れか１項に記載の端末装置。
【請求項５】
画面表示を行う表示部をさらに有し、
前記第１の実行部は、
前記表示部に対して表示する画面を前記パラメータに応じて設定する
ことを特徴とする請求項１乃至請求項４の何れか１項に記載の端末装置。
【請求項６】
画面表示を行う表示部と、
前記表示部に対する接触位置に応じた制御信号を出力する入力部と、
前記表示部に対して実行画面を表示し、該実行画面上の位置と前記制御信号とを関連付けるユーザインタフェース部と
をさらに有し、
前記第１の実行部は、
前記実行画面を前記パラメータに応じて設定する
ことを特徴とする請求項１乃至請求項５の何れか１項に記載の端末装置。
【請求項７】
前記第１の実行部は、
前記受信部に受信された前記連携情報に基づき取得したコンテンツを、前記パラメータに関連付けて保存する保存部をさらに備える
ことを特徴とする請求項１乃至請求項６の何れか１項に記載の端末装置。
【請求項８】
前記第１の実行部は、
前記第２の実行部を呼び出す第２の呼出部をさらに備える
ことを特徴とする請求項２乃至請求項７の何れか１項に記載の端末装置。
【請求項９】
撮像部により撮像された撮像画像を取得する取得ステップと、
オブジェクトと連携情報とが関連付けられて格納される格納部を含み、送信された撮像画像に含まれるオブジェクトに関連付けられる連携情報を検索して撮像画像の送信元に送信する画像検索サーバを備える画像検索システムに対して、前記取得ステップにより取得された撮像画像を送信する送信ステップと、
前記送信ステップにより送信された前記撮像画像に応じて前記画像検索システムから送信された前記連携情報を受信する受信ステップと、
前記受信ステップにより受信された前記連携情報のうち外部から渡されたパラメータに対応する連携情報を提示する提示ステップと
をコンピュータに実行させるための情報処理プログラム。
【請求項１０】
撮像部により撮像された撮像画像を取得する取得ステップと、
オブジェクトと連携情報とが関連付けられて格納される格納部を含み、送信された撮像画像に含まれるオブジェクトに関連付けられる連携情報を検索して撮像画像の送信元に送信する画像検索サーバを備える画像検索システムに対して、前記取得ステップにより取得された撮像画像を送信する送信ステップと、
前記送信ステップにより送信された前記撮像画像に応じて前記画像検索システムから送信された前記連携情報を受信する受信ステップと、
前記受信ステップにより受信された前記連携情報のうち外部から渡されたパラメータに対応する連携情報を提示する提示ステップと
を有する
ことを特徴とする情報処理方法。
【請求項１１】
ネットワークを介して互いに通信可能に接続された端末装置と、１以上の情報処理装置により構成される画像検索システムとを含む情報処理システムであって、
前記端末装置は、
撮像部により撮像された撮像画像を取得する取得部と、
オブジェクトと連携情報とが関連付けられて格納される格納部を含み、送信された撮像画像に含まれるオブジェクトに関連付けられる連携情報を検索して撮像画像の送信元に送信する画像検索サーバを備える画像検索システムに対して、前記取得部で取得された撮像画像を送信する第１送信部と、
前記第１送信部から送信された前記撮像画像に応じて前記画像検索システムから送信された前記連携情報を受信する第１受信部と、
前記第１受信部で受信された前記連携情報のうち外部から渡されたパラメータに対応する連携情報を提示する提示部と
を備える第１の実行部と、
所定の機能を実行する処理部と、
予め定められた前記パラメータを前記第１の実行部に渡して、該第１の実行部を呼び出す第１の呼出部と
を備える第２の実行部と
を有し、
前記画像検索システムは、
オブジェクトと連携情報とが関連付けられて格納される格納部と、
前記撮像画像を受信する第２受信部と、
前記撮像画像に含まれるオブジェクトに基づき、該オブジェクトに関連付けられる前記連携情報を検索して前記撮像画像の送信元に対して送信する第２送信部と
を有する
ことを特徴とする情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して情報を提供する端末装置、情報処理プログラム、情報処理方法および情報処理システムに関する。
【背景技術】
【０００２】
従来から、紙媒体を閲覧するユーザに対して、この紙媒体に関連する電子情報を提供するシステムが知られている（例えば特許文献１）。
【０００３】
特許文献１によれば、管理サーバにおいて、紙媒体のオリジナルのデータに対してテキストを含む画像認識に適した特徴抽出を行い、抽出された特徴量を用いてインデクスを作成して登録する。管理サーバは、ユーザがカメラ付き携帯電話端末などで紙媒体を撮像して送信した部分画像に基づき部分検索処理を実行して、部分画像に対応する紙面や記事を特定し、記事情報をユーザのカメラ付き携帯電話端末に送信する。
【０００４】
また、特許文献１では、管理サーバは、ユーザのカメラ付き携帯電話端末に送信する記事情報に対して、リンク先のＵＲＬ(Uniform  Resource  Locator)を登録することができる。ユーザは、カメラ付き携帯電話端末に送信された記事情報と共に、リンク先のコンテンツを閲覧することができる。
【０００５】
ここで、ユーザのカメラ付き携帯電話端末において、撮像機能と、撮像画像の管理サーバへの送信機能とを一体的に構成したアプリケーションソフトウェア（以下、撮像送信アプリケーションと呼ぶ）を搭載することが考えられる。この撮像送信アプリケーションを利用することで、ユーザは、一々管理サーバのＵＲＬを指定したり、撮像画像の送信機能を起動させる必要がなく、便利である。
【０００６】
上述の撮像送信アプリケーションの機能を、他のアプリケーションから利用できるようにすると、さらに利便性が向上されることが期待できる。例えば、何らかのイベントのためのイベントアプリケーションの機能を拡張して、当該イベントアプリケーションから撮像送信アプリケーションの機能を利用できるようにすることが考えられる。ユーザは、イベントアプリケーションにおいて拡張された撮像送信アプリケーションの機能を利用することで、撮像画像に基づきイベントに特有のコンテンツを得ることができる。
【０００７】
このように、イベントアプリケーションから撮像送信アプリケーションの機能を利用できるようにする場合、従来では、イベントアプリケーションに撮像送信アプリケーションの当該機能部分を組み込む方法が一般的に用いられていた。この方法では、ユーザは、撮像送信アプリケーションの機能を、イベントアプリケーションの使用感などを損なうこと無く利用することができる。また、ユーザは、撮像送信アプリケーションの機能とイベントアプリケーションとを１つのアプリケーションとして利用できるので、一連の操作をスムースに実行できる。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
ところが、上述の方法では、イベントアプリケーションに撮像送信アプリケーションの機能を移植するため、開発に長期間が必要になると共に、工数が多くかかり、コストが嵩んでしまうという問題点があった。また、開発がスクラッチ開発になるため、仕様検討から実際の開発に掛かるまで長期間が必要になるという問題点があった。すなわち、仕様検討から開発開始までの期間の長期化は、コストの高騰を招くと共に、顧客からの急な依頼への対応も困難となってしまう。そのため、それぞれのアプリケーション機能を連携あるいは統合する際に、効率性や柔軟性を欠く開発となるおそれがある。
【０００９】
本発明は、上記に鑑みてなされたもので、他のアプリケーションから利用されるアプリケーションの機能を、他のアプリケーションの目的に応じて容易に設定可能とすることを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明は、撮像部により撮像された撮像画像を取得する取得部と、オブジェクトと連携情報とが関連付けられて格納される格納部を含み、送信された撮像画像に含まれるオブジェクトに関連付けられる連携情報を検索して撮像画像の送信元に送信する画像検索サーバを備える画像検索システムに対して、取得部で取得された撮像画像を送信する送信部と、送信部から送信された撮像画像に応じて画像検索システムから送信された連携情報を受信する受信部と、受信部で受信された連携情報のうち外部から渡されたパラメータに対応する連携情報を提示する提示部とを備える第１の実行部を有することを特徴とする。
【発明の効果】
【００１１】
本発明によれば、他のアプリケーションから利用されるアプリケーションの機能が、他のアプリケーションの目的に応じて容易に設定可能となるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施形態に係る検索システムの一例の構成を示す図である。
【図２】図２は、実施形態に係るＤＢに格納される索引データの元となる画像データの例を示す図である。
【図３】図３は、実施形態に係るサーバの機能を示す一例の機能ブロック図である。
【図４】図４は、実施形態に係るＤＢの一例の構成を示す図である。
【図５】図５は、実施形態に係るＸＭＬコードの一例を示す図である。
【図６】図６は、実施形態に係るサーバの動作の例を示すフローチャートである。
【図７】図７は、実施形態に係る索引の連携情報の提示処理の例を示すフローチャートである。
【図８】図８は、実施形態に係る、複数の索引から１を選択する処理を、ユーザが行うように促す場合の一例の処理を示すフローチャートである。
【図９】図９は、第１の実施形態に係る情報処理システムの一例の構成を示す図である。
【図１０】図１０は、第１の実施形態に係る端末装置の一例の構成を示すブロック図である。
【図１１】図１１は、第１の実施形態に係る端末装置の機能を説明するための一例の機能ブロック図である。
【図１２】図１２は、第１の実施形態に係る、端末用プログラムの構成の例を概略的に示す図である。
【図１３】図１３は、第１の実施形態に係る、第２実行部が第１実行部を呼び出す際の動作の流れを概略的に示す図である。
【図１４】図１４は、第１の実施形態に係る第１実行部の機能を説明するための一例の機能ブロック図である。
【図１５】図１５は、第１の実施形態に係る第２実行部の機能を説明するための一例の機能ブロック図である。
【図１６】図１６は、第１の実施形態の第１の適用例による処理の流れを概略的に示す図である。
【図１７】図１７は、第１の実施形態の第２の適用例による処理の流れを概略的に示す図である。
【図１８】図１８は、第２の実施形態に係る情報処理システムの一例の構成を示す図である。
【図１９】図１９は、第２の実施形態に係る端末装置の機能を説明するための一例の機能ブロック図である。
【図２０】図２０は、第２の実施形態に係る、ブラウザアプリから第１実行部を起動させる動作について概略的に説明するための図である。
【図２１】図２１は、第２の実施形態に係る、ブラウザアプリから第１実行部を起動させる動作について概略的に説明するための図である。
【図２２】図２２は、第２の実施形態に係る、ブラウザアプリから第１実行部を起動させる動作について概略的に説明するための図である。
【発明を実施するための形態】
【００１３】
以下に添付図面を参照して、端末装置、情報処理プログラム、情報処理方法および情報処理システムの実施形態を詳細に説明する。
【００１４】
（実施形態に適用可能な画像検索システム）
実施形態の説明に先んじて、理解を容易とするために、実施形態に適用可能な画像検索システムについて説明する。この画像検索システムは、撮像装置で撮像された撮像画像からオブジェクトを抽出し、抽出したオブジェクトと、データベースに予め格納されたオブジェクトとを比較して、データベースに格納されたオブジェクトのうち、撮像画像から抽出したオブジェクトに対して最も類似度の高いオブジェクトを特定する。そして、特定されたオブジェクトに予め関連付けられた商用サイトのリンク情報などを、ユーザに提示する。
【００１５】
図１は、実施形態に適用可能な画像検索システムの一例の構成を示す。図１に示す画像検索システム２００において、ネットワーク１０に対して、画像検索サーバ１１および端末装置２０が接続される。ネットワーク１０は、例えばインターネットであって、通信プロトコルとしてＴＣＰ／ＩＰ(Transmission  Control  Protocol/Internet  Protocol)が適用される。ネットワーク１０は、互いにネットワークで接続される複数のコンピュータを含み、外部からは、その内部が隠蔽されたブラックボックスとして入出力のみが示されるネットワーク・グループであるネットワーククラウドであってもよい。
【００１６】
ネットワーク１０に対して、さらに、複数の商用サイト３０Ａおよび３０Ｂが接続される。これら商用サイト３０Ａおよび３０Ｂは、ネットワーク１０を介してなされた注文に応じて商品の発送などを行うことができる。
【００１７】
端末装置２０は、無線または有線によってネットワーク１０との間で通信を行うことができる。端末装置２０は、ネットワーク１０を介して受信した命令に従った動作を行うことができると共に、表示装置と入力装置とを含むＵＩ（ユーザインタフェース）に対してネットワーク１０を介して受信した画像などの表示や、ＵＩに対してなされたユーザ操作に従いネットワーク１０に向けてデータを送信することができる。
【００１８】
また、端末装置２０は、撮像機能を有し、ＵＩに対する撮像指示操作に応じて被写体の撮像を行うことができるようにされている。端末装置２０は、撮像により得られた撮像画像をネットワーク１０に向けて送信することができる。
【００１９】
画像検索サーバ１１は、データベース（ＤＢ）１２が接続され、ネットワーク１０を介して受信した要求に従い、ＤＢ１２に対して、実施形態に係る検索処理を行うことができる。実施形態においては、ＤＢ１２には複数の画像データ５０Ａおよび５０Ｂを検索するための各索引データが、それぞれ連携情報と関連付けられて格納される。索引データは、画像データのバイナリを解析して得られたデータであって、画像データを、検索のための構造に変換したデータである。
【００２０】
なお、ＤＢ１２に対して、画像データを直接的に格納することも可能である。画像データのファイル名およびパスをＤＢ１２に格納してもよい。
【００２１】
画像検索サーバ１１は、ネットワーク１０を介して画像データを受信し、受信した当該画像データに基づきＤＢ１２を検索して、当該画像データに対応する連携情報を検索結果として取得する。画像検索サーバ１１は、この検索結果として取得された連携情報を、画像データの送信元に返す。
【００２２】
図２は、ＤＢ１２に格納される索引データの元となる画像データ５０Ａおよび５０Ｂの例を示す。ここで、画像データに含まれるオブジェクトについて定義する。オブジェクトとは、画像データによる画像内において主となる対象物の画像を指し、当該主となる対象物の背景画像や、画像内における当該主となる対象物の付随情報などとは区別される画像である。
【００２３】
一例として、画像データ５０Ａおよび５０Ｂは、それぞれカタログ雑誌の中身である内容ページと、当該カタログ雑誌の表紙である表紙ページであるものとする。図２（ａ）は、内容ページの画像１３０Ａによる画像データ５０Ａの例を示し、図２（ｂ）は、表紙ページの画像１３０Ｂによる画像データ５０Ｂの例を示す。
【００２４】
図２（ａ）は、画像１３０Ａの中央部に１のオブジェクト１３１が配置された例である。画像１３０Ａにおいて、オブジェクト１３１に対して、オブジェクト１３１を含む対象領域１３４が設定される。この図２（ａ）は、対象領域１３４のサイズに対するオブジェクト１３１のサイズの比率が小さい場合の例である。カタログ雑誌の場合、内容ページは、商品の紹介を行うのが目的であるため、商品を示す画像であるオブジェクト１３１は、内容ページに対して大きく表示される。
【００２５】
図２（ｂ）は、画像１３０Ｂに対して複数のオブジェクト１３２および１３３が配置された例である。ここでは、オブジェクト１３２は、図２（ａ）に示すオブジェクト１３１を縮小した画像であり、オブジェクト１３３は、他の画像である。画像１３０Ｂに対してさらに多くのオブジェクトを配置してもよい。この例では、表示ページは、カタログ雑誌の内容を要約して示すように、内容ページに含まれる各オブジェクト１３２および１３３が縮小されサムネイルとして表示されている。画像１３０Ｂにおいて、対象領域１３５は、オブジェクト１３２および１３３を含むと共に、表示ページ（画像１３０Ｂ）の全体に及ぶように設定されている。
【００２６】
なお、対象領域１３４および１３５は、オブジェクト１３１、ならびに、オブジェクト１３２および１３３をそれぞれ認識するための指標として用いられる。対象領域は、オブジェクトの全体を含み、且つ、オブジェクトを含む画像の全体より小さい任意のサイズにそれぞれ設定可能である。
【００２７】
連携情報について説明する。連携情報は、例えば、画像に含まれるオブジェクトに連携する機能を示す情報であって、より具体的には、当該オブジェクトの属性情報にアクセスするアクセス方法を含む情報である。したがって、連携情報は、実際には、画像に含まれるオブジェクトに対して関連付けられてＤＢ１２に格納されると考えることができる。
【００２８】
一例として、内容ページの画像１３０Ａに含まれるオブジェクト１３１において、連携情報は、オブジェクト１３１が示す商品を取り扱う例えば商用サイト３０ＡのＵＲＬ(Uniform  Resource  Locator)や、当該商品の購入設定を行う購入ページのＵＲＬである。これらに限らず、連携情報として、当該商品を取り扱う店舗の電話番号やメールアドレスを用いてもよい。さらに、当該商品の情報などを含むデータファイルをダウンロードするための情報を、連携情報として用いてもよい。なお、ＤＢ１２において、１のオブジェクトに対して複数の連携情報を関連付けることができる。
【００２９】
別の例として、表紙ページの画像１３０Ｂに含まれる各オブジェクト１３２および１３３に対して、連携情報として、例えば、当該表紙ページを含むカタログ雑誌そのものを紹介するネットワーク１０上のサイトなどのＵＲＬを用いることができる。
【００３０】
図３は、画像検索サーバ１１の機能を示す一例の機能ブロック図である。画像検索サーバ１１は、受信部１００と、抽出部１０１と、算出部１０２と、検索部１０３と、提示部１０４と、制御部１１０とを有する。また、図３では、ＤＢ１２が画像検索サーバ１１に含まれるように示している。制御部１１０は、この画像検索サーバ１１の全体的な動作を制御する。画像検索サーバ１１は、１以上のコンピュータを含んで構成される。
【００３１】
受信部１００は、ネットワーク１０を介して送信されたデータを受信する。例えば、端末装置２０から送信された撮像画像（撮像画像４０Ａとする）が受信部１００に受信される。
【００３２】
抽出部１０１は、受信部１００に受信された撮像画像４０Ａに対して画像解析を行い、撮像画像４０Ａから特徴点を検出して、当該撮像画像４０Ａに含まれるオブジェクトを抽出する。例えば、抽出部１０１は、撮像画像４０Ａに対して２値化処理を施して、２値化された撮像画像４０Ａに対してエッジ検出や正規化処理を行い、撮像画像４０Ａの特徴点を検出する。オブジェクトは、この検出された特徴点により表される。
【００３３】
算出部１０２は、抽出部１０１に抽出された撮像画像４０Ａの特徴点と、ＤＢ１２に格納される各索引によって検索される各オブジェクトを表す特徴点とを比較する。そして、比較結果に基づき、撮像画像４０Ａに含まれるオブジェクトと、ＤＢ１２に格納される各索引によって検索される各オブジェクトとの類似度を算出する。類似度は、例えば、画像から抽出した各特徴点間の関係を、画像毎に比較することで求めることができる。一例として、特徴点間の関係を数値化して特徴量を算出し、画像間で特徴量の差分の絶対値を求め、求めた差分の絶対値がより小さい場合に、当該画像間の類似度が高いとする。
【００３４】
検索部１０３は、算出部１０２で算出された類似度に基づき、ＤＢ１２に格納される各索引によって検索される各オブジェクトのうち、撮像画像４０Ａに含まれるオブジェクトとの類似度が高い画像を検索する。このとき、検索部１０３は、ＤＢ１２に格納される各索引によって検索される各オブジェクトから、撮像画像４０Ａに含まれる各オブジェクトとの類似度が最も高いオブジェクトを含む１の索引を検索結果として出力する。
【００３５】
これに限らず、検索部１０３は、ＤＢ１２に格納される各索引によって検索される各オブジェクトから、撮像画像４０Ａに含まれるオブジェクトとの類似度が高いオブジェクトを含む順に従い、所定数の索引を検索結果として出力してもよいし、類似度が閾値以上のオブジェクトを検索するための１または複数の索引を検索結果として出力することもできる。さらに、類似度が、撮像画像４０Ａについて算出された類似度の最大値から予め決められた範囲内（５％など）にある索引を、検索結果として出力することも考えられる。
【００３６】
提示部１０４は、検索部１０３による検索出力の索引に関連付けられた連携情報をＤＢ１２から取り出し、端末装置２０に提示（送信）する。したがって、提示部１０４は、端末装置２０に対して連携情報を送信する送信部の機能を備えている。この連携情報の提示は、当該連携情報を端末装置２０に直接的に送信してもよいし、当該連携情報を含むＷｅｂページを生成し、端末装置２０に向けて当該Ｗｅｂページヘのアクセス方法（ＵＲＬなど）を提示する方法でもよい。端末装置２０からこのＷｅｂページにアクセスすることで、連携情報を取得することができる。
【００３７】
これに限らず、端末装置２０に、撮像画像４０Ａの撮像から、提示された連携情報の表示までの一連の動作を行うアプリケーションソフトウェア（以下、アプリケーションと略称する）を予めインストールしておき、提示された連携情報を、このアプリケーションを用いて取得することも可能である。
【００３８】
なお、画像検索サーバ１１は、ＣＰＵ(Central  Processing  Unit)と、ＲＡＭ(Random  Access  Memory)と、ＲＯＭ(Read  Only  Memory)と、ハードディスクドライブなどのストレージ装置とを含む、一般的なコンピュータ装置（情報処理装置）により構成することができる。また、画像検索サーバ１１は、１台のコンピュータ装置で構成されるのに限らず、例えば複数のコンピュータ装置上で分散的に動作する構成としてもよい。
【００３９】
上述した受信部１００、抽出部１０１、算出部１０２、検索部１０３、提示部１０４および制御部１１０は、ＣＰＵ上で動作する検索プログラムによって実現される。これに限らず、受信部１００、抽出部１０１、算出部１０２、検索部１０３、提示部１０４および制御部１１０の一部または全部を、互いに協働する個別のハードウェアを用いて実現してもよい。実施形態に係る検索処理を実行するための検索プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ、ＤＶＤなどのコンピュータで読み取り可能な記録媒体に記録して提供される。
【００４０】
さらに、実施形態に係る検索処理を実行するための検索プログラムを、インターネットなどの通信ネットワークに接続されたコンピュータ上に格納し、通信ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、実施形態に係る検索処理を実行するための検索プログラムを、インターネットなどの通信ネットワーク経由で提供または配布するように構成してもよい。
【００４１】
実施形態に係る検索処理を実行するための検索プログラムは、例えば、上述した各部（受信部１００、抽出部１０１、算出部１０２、検索部１０３、提示部１０４および制御部１１０）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵが例えばストレージ装置から当該検索プログラムを読み出して実行することにより上記各部が主記憶装置（例えばＲＡＭ）上にロードされ、各部が主記憶装置上に生成されるようになっている。
【００４２】
このような構成において、ユーザは、端末装置２０を用いて例えばカタログ雑誌のページを撮像し、撮像画像４０Ａや撮像画像４０Ｂを得る。この例では、撮像画像４０Ａおよび４０Ｂは、それぞれ、カタログ雑誌の内容ページおよび表紙ページを撮像した撮像画像であるものとする。ユーザは、例えば撮像画像４０Ａを、ネットワーク１０を介して画像検索サーバ１１に送信する。
【００４３】
撮像画像４０Ａは、画像検索サーバ１１の受信部１００に受信され、受信された撮像画像４０Ａの特徴点が抽出部１０１で検出され、オブジェクトが抽出される。さらに、算出部１０２で、抽出部１０１で検出された特徴点に基づき、撮像画像４０Ａに含まれるオブジェクトと、ＤＢ１２に格納される各索引によって検索される各オブジェクトとの類似度が算出される。この算出結果に基づき検索部１０３で索引が検索される。そして、提示部１０４は、検索部１０３の検索出力に基づきＤＢ１２から連携情報を取り出し、撮像画像４０Ａの送信元である端末装置２０に提示する。
【００４４】
ユーザは、画像検索サーバ１１から端末装置２０に対して提示された連携情報に基づき、例えば商用サイト３０Ａにアクセスして、撮像画像４０Ａに含まれるオブジェクトが示す商品を購入などすることができる。
【００４５】
ここで、例えば図２（ａ）に画像１３０Ａに含まれるオブジェクト１３１に酷似したオブジェクトを含む画像が、端末装置２０で撮像画像４０Ａとして撮像されたものとする。また、ＤＢ１２には、オブジェクト１３１を含む画像１３０Ａと、オブジェクト１３１を縮小したオブジェクト１３２を含む画像１３０Ｂとが格納されているものとする。
【００４６】
この場合、撮像画像４０Ａの特徴点の検出結果から算出した類似度に基づく検索の結果、画像１３０Ａではなく、画像１３０Ｂが検索されてしまう可能性がある。この場合、ユーザは、所望の連携情報を得ることができなくなってしまう。このような事態を防ぐために、実施形態では、検索部１０３において、対象領域（撮像範囲）とオブジェクトとのサイズの比率に基づき、ＤＢ１２に格納される画像の検索を行う。
【００４７】
図２を用いて、より具体的に説明する。図２（ａ）に例示される画像１３０Ａでは、オブジェクト１３１が画像１３０Ａに対して大きなスペースを占めるように配置され、オブジェクト１３１に対して、オブジェクト１３１のサイズよりやや大きめのサイズで、対象領域１３４が設定されている。一方、図２（ｂ）に例示される画像１３０Ｂでは、オブジェクト１３１が縮小されたオブジェクト１３２が配置されると共に、対象領域１３５が画像１３０Ｂの全面に対して、すなわち、オブジェクト１３２のサイズに対して十分大きなサイズで設定されている。
【００４８】
画像１３０Ａにおいて、対象領域１３４のサイズに対するオブジェクト１３１のサイズの第１の比率を、例えばそれぞれの面積に基づき求めた値が１／２であるとする。これに対して、画像１３０Ｂにおいて、対象領域１３５のサイズに対するオブジェクト１３２のサイズの第２の比率を面積で求めた値は、例えば１／１６となり、画像１３０Ａの場合と比べて大きく異なる。なお、サイズの比率は、面積に基づき求める方法に限られない。このような、サイズの比率を示す情報は、予め求め、索引に含めてＤＢ１２に格納することが考えられる。
【００４９】
さらに、端末装置２０から受信された撮像画像４０Ａについては、抽出部１０１で抽出されたオブジェクトのサイズと、撮像画像４０Ａ自体のサイズとの比率を求めることが考えられる。例えば撮像画像４０Ａが図２（ａ）に画像１３０Ａで示されるような画像とし、撮像画像４０Ａのサイズに対するオブジェクト（オブジェクト１３１とする）のサイズの第３の比率が例えば１／４であるとする。
【００５０】
この場合、第３の比率は、上述した第１の比率および第２の比率のうち、第１の比率により近い。したがって、検索部１０３は、撮像画像４０Ａに対する検索結果として画像１３０Ａに対応する索引を出力する。提示部１０４は、この画像１３０Ａに対応する索引に関連付けられた連携情報を、端末装置２０に対して提示する。このように、オブジェクトのサイズの画像サイズに対する比率に基づき索引の選択を行うことで、より的確に所望の索引を選択することができる。
【００５１】
図４は、このような、オブジェクトのサイズの比率に基づき画像を検索する処理を実現するためのＤＢ１２の一例の構成を示す。図４（ａ）は、ＤＢ１２に格納される各索引データを識別するための索引テーブル１２０の例を示す。各索引データは、図４（ａ）に例示されるように、ＩＤと、索引データのバイナリデータとが関連付けられてＤＢ１２に格納される。
【００５２】
また、ＩＤは、ＤＢ１２に格納される各索引データを識別可能であれば、形式は特に限定されない。ＤＢ１２に格納される各索引データがカタログ雑誌の各ページのオブジェクトを検索するためのものである場合、ＩＤとして当該オブジェクトが掲載されるページ番号を含む値を用いることができる。
【００５３】
図４（ｂ）は、画像のＩＤと対象領域とを関連付ける対象領域テーブル１２１の一例を示す。この例では、対象領域は、タグを用いてデータの意味や構造を定義して記述するマークアップ言語の一種であるＸＭＬ(Extensible  Markup  Language)を用いて記述される。後述するが、この対象領域の記述に対して、連携情報の記述も埋め込まれる。対象領域が記述されるＸＭＬコードは、この対象領域テーブル１２１のフィールドに直接的に格納してもよいし、当該ＸＭＬコードを別途ファイルに記述し、当該フィールドにはこのファイル名とパスを記述してもよい。
【００５４】
図５は、図４（ｂ）に示されるＸＭＬコード１４０の一例を示す。この図５に示されるＸＭＬコード１４０は、カタログ雑誌のある内容ページの対象領域を記述する例である。最も外側のタグ「<page>」および「</page>」に挟まれた部分により、ページが定義される。各部分１４１1、１４１2において、タグ「<hotspot>」および「</hotspot>」に挟まれた部分により、それぞれ１の対象領域が定義される。このように、１のページに対して複数の対象領域を定義することができる。
【００５５】
部分１４１1において、最初の行１４２は、タグ「<area>」および「</area>」に挟まれた部分により、対象領域のページ内での範囲が例えば左上隅の座標（ｘ１，ｙ１）および右下隅の座標（ｘ２，ｙ２）で定義される。
【００５６】
各部分１４３1、１４３2において、タグ「<link>」および「</link>」に挟まれた部分により、それぞれ１の連携情報が定義される。このように、１の対象領域に対して複数の連携情報を定義することができる。各部分１４３1において、タグ「<title>」および「</title>」に挟まれた部分により連携情報のタイトルが定義される。タグ「<type>」および「</type>」に挟まれた部分によりこの連携情報のタイプが定義される。また、この例では、連携情報として、タグ「<URI>」および「</URI>」に挟まれた部分により、ネットワーク１０上でのアドレス情報が定義されている。
【００５７】
このように、ＸＭＬコード１４０により、ページ内の対象領域および当該対象領域における連携情報を定義しているため、ページ内の当該対象領域に含まれるオブジェクトに関連付けられる連携情報による機能を実行することができる。
【００５８】
図６は、実施形態に係る画像検索サーバ１１の動作の例を示すフローチャートである。先ず、端末装置２０で撮像されて得られた例えば撮像画像４０Ａが、ネットワーク１０を介して画像検索サーバ１１に対して送信される。ステップＳ１００で、画像検索サーバ１１において、受信部１００は、この撮像画像４０Ａを受信する。次のステップＳ１０１で、抽出部１０１は、受信された撮像画像４０Ａに対して画像解析を行い特徴点を検出してオブジェクトの抽出を行う。
【００５９】
次のステップＳ１０２で、検索部１０３は、撮像画像４０Ａのサイズに対するオブジェクトのサイズの比率を算出する。なお、ＤＢ１２に格納される各画像について、対象領域のサイズに対するオブジェクトのサイズの比率は、予め算出されているものとする。このＤＢ１２に格納される各画像の比率を示す情報は、上述したＸＭＬコード１４０に埋め込んでおくことができる。
【００６０】
次のステップＳ１０３で、算出部１０２は、撮像画像４０Ａから抽出されたオブジェクトと、ＤＢ１２に格納される各索引によって検索されるオブジェクトとを比較する。より具体的には、算出部１０２は、撮像画像４０Ａに含まれるオブジェクトと、ＤＢ１２に格納される各索引によって検索されるオブジェクトとの各類似度を算出する。
【００６１】
次のステップＳ１０４で、検索部１０３は、ステップＳ１０３で算出した類似度に基づき、ＤＢ１２に格納された索引のうち、撮像画像４０Ａに含まれるオブジェクトと合致するオブジェクトが検索される索引が有るか否かを判定する。この例では、ＤＢ１２に含まれる索引に検索されるオブジェクトのうち、類似度が閾値以上であるオブジェクトを、撮像画像４０Ａに含まれるオブジェクトと合致するオブジェクトが検索される索引であると判定するものとする。
【００６２】
若し、ステップＳ１０４でオブジェクトが合致する索引が有ると判定した場合、検索部１０３は、処理をステップＳ１０５に移行させる。ステップＳ１０５で、検索部１０３は、ＤＢ１２に格納される索引のうち、オブジェクトが複数の索引で合致しているか否かを判定する。若し、１の索引のみでオブジェクトが合致していると判定した場合、検索部１０３は、当該１の索引を検索出力として、処理を後述するステップＳ１０７に移行させる。一方、複数の索引でオブジェクトが合致していると判定した場合、検索部１０３は、処理をステップＳ１０６に移行させる。
【００６３】
ステップＳ１０６で、検索部１０３は、当該複数の索引それぞれによって検索される複数のオブジェクトのサイズの、対象領域のサイズに対する比率を各々求める。この複数のオブジェクトに関する比率は、予め求めておきＤＢ１２に格納しておいてもよい。それと共に、検索部１０３は、撮像画像４０Ａについて、撮像画像４０Ａのサイズに対するオブジェクトのサイズの比率を求める。そして、当該複数のオブジェクトのそれぞれについて求めた比率のうち、撮像画像４０Ａについて求めた比率に最も近い比率を求め、求めた比率に対応するオブジェクトを検索するための索引を選択して検索出力とし、処理をステップＳ１０７に移行させる。
【００６４】
ステップＳ１０７で、提示部１０４は、検索部１０３による検索出力の索引に対応付けられた連携情報をＤＢ１２から取り出す。そして、提示部１０４は、取り出した連携情報の、撮像画像４０Ａの送信元の端末装置２０に対する提示を行う。そして、図６のフローチャートによる一連の処理が終了される。
【００６５】
なお、上述したステップＳ１０４で合致する索引がないと判定した場合、処理がステップＳ１０８に移行され、提示部１０４により、合致する索引がＤＢ１２に格納されていない旨を示すメッセージが、端末装置２０に対して提示される。そして、図６のフローチャートによる一連の処理が終了される。
【００６６】
図７は、図６におけるステップＳ１０７の、索引の連携情報の提示処理の例を示すフローチャートである。提示部１０４は、先ずステップＳ２００で、検索部１０３の検索出力の索引によって検索されるオブジェクトにおける、撮像画像４０Ａに対応する対象領域を特定する。次のステップＳ２０１で、提示部１０４は、ＤＢ１２を参照し、特定した対象領域に関連付けられた連携情報が有るか否かを判定する。若し、有ると判定した場合、提示部１０４は、処理をステップＳ２０２に移行させ、当該対象領域に複数の連携情報が関連付けられているか否かを判定する。
【００６７】
提示部１０４は、ステップＳ２０２で、当該対象領域に対して複数の連携情報が関連付けられていると判定した場合、処理をステップＳ２０３に移行させる。ステップＳ２０３で、提示部１０４は、この複数の連携情報による各機能を示す機能リストを作成し、機能リストから１の機能を選択するための選択画面を端末装置２０に対して提示する。例えば、特定された対象領域に対して、連携情報としてＵＲＬおよび電話番号が関連付けられている場合、ＵＲＬに示されるアドレスにアクセスする機能と、電話番号への電話機能とを選択するための選択画面を生成し、端末装置２０に対して提示する。そして、図７のフローチャートによる一連の処理が終了される。
【００６８】
一方、ステップＳ２０２で、提示部１０４は、当該対象領域に対して１の連携情報のみが関連付けられていると判定した場合は、処理をステップＳ２０４に移行させる。ステップＳ２０４では、この１の連携情報による機能を実行させるような画面を生成し、端末装置２０に対して提示する。そして、図７のフローチャートによる一連の処理が終了される。
【００６９】
なお、上述のステップＳ２０１において、ステップＳ２００で特定された対象領域に対して連携情報が関連付けられていないと判定した場合、処理をステップＳ２０５に移行させる。ステップＳ２０５で、提示部１０４は、予め定められた特定の画面を、端末装置２０に対して提示する。そして、図７のフローチャートによる一連の処理が終了される。
【００７０】
上述では、ステップＳ１０６において、画像検索サーバ１１側で、複数の索引から１の索引を選択しているが、これはこの例に限定されない。すなわち、複数の索引から１の索引を選択する処理を、ユーザが行うように促すことができる。
【００７１】
図８は、検索部１０３の検索出力による複数の索引から１を選択する処理を、ユーザが行うように促す場合の一例の処理を示すフローチャートである。上述した図６のステップＳ１０５で、撮像画像４０Ａに含まれるオブジェクトに対して複数の索引で合致していると判定した場合、検索部１０３は、処理を図８に示すステップＳ１０６’に移行させる。
【００７２】
処理がステップＳ１０６’に移行されると、提示部１０４は、ステップＳ３００で、合致していると判定された複数の索引を示す情報をユーザに提示するための画面を生成し、端末装置２０に対して提示する。例えば、提示部１０４は、複数の索引それぞれによって検索される各オブジェクトの画像を表示させる画面を生成して、端末装置２０に対して提示することが考えられる。
【００７３】
提示部１０４は、端末装置２０からの、複数の索引（オブジェクト画像）から１の索引（オブジェクト画像）が選択された選択結果が受信されるのを待機する（ステップＳ３０１）。端末装置２０から、ステップＳ３００で提示した複数の索引から１の索引を選択した旨を受信すると、提示部１０４は、ステップＳ３０２で、索引が合致していると判定された複数のオブジェクト画像から、受信結果に応じて１を選択する。そして、選択されたオブジェクトが検索される索引に関連付けられた連携情報をＤＢ１２から取り出して、端末装置２０に対して提示する。
【００７４】
このように、複数の画像をユーザに提示することによっても、ユーザは、より的確に所望の画像を選択することができる。
【００７５】
このような構成において、端末装置２０は、上述した画像検索サーバ１１の提示部１０４により提示された各情報を、ネットワーク１０上のＷｅｂサイトを閲覧するためのブラウザアプリケーションを用いて表示することができる。また、端末装置２０は、このブラウザアプリケーションを用いて、画像検索サーバ１１に対して要求やデータを送信することができる。
【００７６】
この場合、画像検索サーバ１１において、提示部１０４は、端末装置２０に対して各情報を提示するための表示制御情報を、例えばＨＴＭＬ(HyperText  Markup  Language)や各種スクリプト言語を用いて生成し、生成したファイルをネットワーク１０上の所定のアドレスに置く。提示部１０４から端末装置２０に対してこのアドレスを通知することで、端末装置２０から当該表示制御情報にアクセスし、提示部１０４による各情報の提示を端末装置２０に表示させることができる。
【００７７】
ここで、上述した、端末装置２０からの撮像画像の送信から提示情報の表示までの、画像検索に係る一連の処理を、１つのアプリケーションソフトウェアで統合的に実行できると、ユーザにとって利便性が高い。実施形態では、この画像検索に係る一連の処理を、１つのアプリケーションソフトウェアで実行するものとし、このアプリケーションソフトウェアを画像検索用アプリと呼ぶ。
【００７８】
（第１の実施形態）
次に、第１の実施形態に係る情報処理システムについて説明する。図９は、第１の実施形態に係る情報処理システムの一例の構成を示す。図９において、情報処理システム１は、互いにネットワークにより接続された画像検索システム２００Ａおよび端末装置２０を含む。画像検索システム２００Ａは、上述した画像検索システム２００に対応する。
【００７９】
この例では、画像検索システム２００Ａは、それぞれ１以上の情報処理装置を含んで構成される複数の画像検索サーバ１１Ａ、１１Ｂおよび１１Ｃを含む。なお、画像検索サーバ１１Ａ、１１Ｂおよび１１Ｃは、それぞれ１以上のコンピュータにより構成される。また、各画像検索サーバ１１Ａ、１１Ｂおよび１１Ｃは、１以上のＤＢ１２を含むことができる。図９の例では、画像検索サーバ１１ＡがＤＢ１２Ａ1、１２Ａ2および１２Ａ3の３のＤＢ１２を含み、画像検索サーバ１１ＢがＤＢ１２Ｂ1の１のＤＢ１２を含み、画像検索サーバ１１ＣがＤＢ１２Ｃ1および１２Ｃ2の２のＤＢ１２を含んでいる。
【００８０】
端末装置２０は、撮像画像４０と、画像検索サーバ１１およびＤＢ１２を指定する指定情報とを、画像検索システム２００Ａに対して送信することができる。画像検索システム２００Ａは、端末装置２０から送信された指定情報に基づき、撮像画像４０による検索に使用する画像検索サーバ１１およびＤＢ１２を選択する。
【００８１】
画像検索システム２００Ａにおいて、各画像検索サーバ１１Ａ、１１Ｂおよび１１Ｃに対してサーバ名が付与される。この例では、各画像検索サーバ１１Ａ、１１Ｂおよび１１Ｃのサーバ名は、それぞれ画像検索サーバ＃０、＃１および＃２とされている。同様に、画像検索システム２００Ａにおいて、各ＤＢ１２Ａ1、１２Ａ2および１２Ａ3、ＤＢ１２Ｂ1、ならびに、ＤＢ１２Ｃ1および１２Ｃ2に対して、ＤＢ名が付与される。この例では、各ＤＢ１２Ａ1、１２Ａ2および１２Ａ3のＤＢ名がそれぞれＤＢ＃１、＃２および＃３とされ、ＤＢ１２Ｂ1のＤＢ名がＤＢ＃１１とされ、ＤＢ１２Ｃ1および１２Ｃ2のＤＢ名がそれぞれＤＢ＃２１および＃２２とされている。
【００８２】
端末装置２０は、撮像画像４０にサーバ名およびＤＢ名を付加して、画像検索システム２００Ａに送信する。画像検索システム２００Ａは、受信した撮像画像４０に付加されたサーバ名およびＤＢ名に従って、各画像検索サーバ１１Ａ、１１Ｂおよび１１Ｃと、各ＤＢ１２Ａ1、１２Ａ2および１２Ａ3、ＤＢ１２Ｂ1、ならびに、ＤＢ１２Ｃ1および１２Ｃ2とから、画像検索に用いる画像検索サーバおよびＤＢを決定する。
【００８３】
なお、以下では、画像検索サーバ１１Ａ、１１Ｂおよび１１Ｃについて、これらを特に区別しない場合、画像検索サーバ１１として説明する。同様に、ＤＢ１２Ａ1、１２Ａ2および１２Ａ3、ＤＢ１２Ｂ1、ならびに、ＤＢ１２Ｃ1および１２Ｃ2について、これらを特に区別しない場合、ＤＢ１２として説明する。
【００８４】
端末装置２０は、上述した画像検索用アプリ２２０と、それぞれ画像検索用アプリ２２０の機能を利用する１以上の特定アプリとを含む。図９の例では、特定アプリとしてアプリ２２１Ａ、２２１Ｂおよび２２１Ｃの３のアプリが示されている。第１の実施形態では、画像検索用アプリ２２０は、この特定アプリから呼び出されて使用される。勿論、端末装置２０は、画像検索用アプリ２２０を呼び出す特定アプリを１つだけ含んでもよいし、図９のように複数の異なる特定アプリ２２１Ａ、２２１Ｂおよび２２１Ｃを含んでいてもよい。また、画像検索用アプリ２２０は、単独で起動して使用することも可能である。
【００８５】
以下、特に記載の無い限り、複数の特定のアプリ２２１Ａ、２２１Ｂおよび２２１Ｃを、特定アプリとして代表させて説明する。
【００８６】
特定アプリは、画像検索用アプリ２２０を呼び出す際に、当該画像検索用アプリ２２０に対してパラメータを渡すことができる。パラメータは、呼び出し元を示す情報を含み、さらに他の値を含むことができる。このようなパラメータの形式としては、ＵＲＬスキームを用いることができる。ＵＲＬスキームは、スキーム名とスキーム毎に定められた表現形式による所定の情報とを含み、スキーム名と所定の情報とがコロン「：」で区切られて記述される。例えば、スキーム名の部分に呼び出し元を示す情報（アプリ名など）を記述し、コロンの後に、所定の形式で他の値（変数、コマンドなど）を記述する。
【００８７】
画像検索用アプリ２２０は、特定アプリから渡されたパラメータに応じて、振る舞いを変えることができる。例えば、画像検索用アプリ２２０は、渡されたパラメータに応じて、画像検索用アプリ２２０の端末装置２０における表示上の外観（スキンと呼ぶ）や、ユーザインタフェースを変えることができる。
【００８８】
また例えば、特定アプリは、パラメータに上述したサーバ名およびＤＢ名を含めて、画像検索用アプリ２２０に渡すことができる。画像検索用アプリ２２０は、特定アプリから渡されたパラメータに含まれるサーバ名およびＤＢ名を撮像画像４０に付加して、画像検索システム２００Ａに送信する。これにより、画像検索システム２００Ａは、同一の撮像画像４０について異なる画像検索サーバ１１およびＤＢ１２を用いて画像検索を実行することができ、統一の撮像画像４０に対して異なる連携情報を、検索結果として端末装置２０に返すことができる。
【００８９】
例えば、画像検索用アプリ２２０は、特定アプリから、サーバ名「画像検索サーバ＃０」およびＤＢ名「ＤＢ＃１」を含むパラメータＡを渡されて呼び出されたものとする。この場合、画像検索用アプリ２２０は、撮像画像４０にサーバ名「画像検索サーバ＃０」およびＤＢ名「ＤＢ＃１」を付加して画像検索システム２００Ａに送信する。画像検索システム２００Ａは、撮像画像４０に付加されたサーバ名およびＤＢ名に従い、画像検索サーバ１１ＡによりＤＢ１２Ａ1を用いて画像検索を行い、検索結果として得られた、例えばコンテンツ配信サイト２１０ＡのＵＲＬを示す連携情報を端末装置２０に送信する。
【００９０】
また例えば、画像検索用アプリ２２０は、アプリ２２１Ｂから、サーバ名「画像検索サーバ＃１」およびＤＢ名「ＤＢ＃１１」を含むパラメータＢを渡されて呼び出されたものとする。この場合、画像検索用アプリ２２０は、撮像画像４０にサーバ名「画像検索サーバ＃１」およびＤＢ名「ＤＢ＃１１」を付加して画像検索システム２００Ａに送信する。画像検索システム２００Ａは、撮像画像４０に付加されたサーバ名およびＤＢ名に従い、画像検索サーバ１１ＢによりＤＢ１２Ｂ1を用いて画像検索を行い、検索結果として得られた、例えばコンテンツ配信サイト２１０ＢのＵＲＬを示す連携情報を端末装置２０に送信する。
【００９１】
図１０は、第１の実施形態に係る端末装置２０の一例の構成を示す。図１０に例示される端末装置２０において、バス４０１に対してＣＰＵ４０２、ＲＯＭ４０３、ＲＡＭ４０４および表示制御部４０５が接続される。また、バス４０１に対して、ストレージ４０７、データＩ／Ｆ４０８、入力部４０９、通信Ｉ／Ｆ４１０および撮像部４１１が接続される。ストレージ４０７は、データを不揮発に記憶することが可能な記憶媒体であって、例えばフラッシュメモリなどの不揮発性の半導体メモリである。これに限らず、ストレージ４０７としてハードディスクドライブを用いてもよい。
【００９２】
ＣＰＵ４０２は、ＲＯＭ４０３およびストレージ４０７に記憶されるプログラムに従い、ＲＡＭ４０４をワークメモリとして用いて、この端末装置２０の全体を制御する。表示制御部４０５は、ＣＰＵ４０２により生成された表示制御信号を、表示装置４０６が表示可能な信号に変換して出力する。
【００９３】
ストレージ４０７は、上述のＣＰＵ４０２が実行するためのプログラムや各種データが格納される。データＩ／Ｆ４０８は、外部からのデータの入力を行う。データＩ／Ｆ４０８としては、例えば、ＵＳＢ(Universal  Serial  Bus)やＩＥＥＥ１３９４(Institute  of  Electrical  and  Electronics  Engineers  1394)などによるインタフェースを適用することができる。
【００９４】
入力部４０９は、ユーザ入力を受け付けて所定の制御信号を出力する入力デバイスを含む。ユーザは、例えば表示装置４０６に対する表示に応じて入力デバイスを操作することで、端末装置２０に対して指示を出すことができる。なお、ユーザ入力を受け付ける入力デバイスを、表示装置４０６と一体的に構成し、押圧した位置に応じた制御信号を出力すると共に、表示装置４０６の画像を透過するタッチパネルとして構成すると、好ましい。
【００９５】
通信Ｉ／Ｆ４１０は、所定のプロトコルを用いてネットワーク１０と通信を行う。撮像部４１１は、光学系と、撮像素子と、光学系および撮像素子の制御駆動回路と、撮像素子から出力される信号に所定の処理を施して画像データとして出力する。撮像部４１１は、入力部４０９に対するユーザ操作による指示に従い、撮像やズームなどの機能を実行する。撮像部４１１で撮像され得られた撮像画像は、例えばバス４０１を介して通信Ｉ／Ｆ４１０に送られ、ＣＰＵ４０２の命令に従いネットワーク１０を介して画像検索サーバ１１に送信される。
【００９６】
図１１は、第１の実施形態に係る端末装置２０の機能を説明するための一例の機能ブロック図である。図１１において、端末装置２０は、制御部２００１と、ストレージ２００２と、通信部２００３と、ＵＩ（ユーザインタフェース）部２００４とを含む。さらに、端末装置２０は、第１実行部２２００と、第２実行部２３００とを含む。
【００９７】
第１実行部２２００は、画像検索用アプリ２２０に対応し、第２実行部２３００は、特定アプリに対応する。したがって、第１実行部２２００は、第２実行部２３００に呼び出されて起動される。また、第１実行部２２００は、第２実行部２３００から呼び出された場合、処理を終了すると第２実行部２３００に処理（実行権）を戻す。
【００９８】
制御部２００１は、端末装置２０の全体の動作を制御する。ストレージ２００２は、上述したストレージ４０７に対応し、端末装置２０で動作するためのプログラムや各種データなどが格納される。通信部２００３は、例えば通信Ｉ／Ｆ４１０を制御し、ネットワークを介してなされる外部との通信を行う。
【００９９】
ＵＩ部２００４は、入力部２０１０および表示部２０１１を含む。入力部２０１０は、図１０に示した入力部４０９がユーザ操作に応じて出力した制御信号を受け付ける。表示部２０１１は、図１０に示した表示装置４０６に実行画面を表示するための表示情報を生成する。このとき、ＵＩ部２００４は、表示部２０１１に表示される実行画面上の位置と、入力部２０１０が受け付ける、入力部４０９に対する接触位置に応じた制御信号とを関連付ける。
【０１００】
上述した制御部２００１、通信部２００３およびＵＩ部２００４、ならびに、第１実行部２２００および第２実行部２３００は、ＣＰＵ４０２上で動作する複数のプログラムによって実現される。以下、これら複数のプログラムを、一括して「端末用プログラム」と呼ぶ。端末用プログラムは、ネットワーク１０に接続されたコンピュータ上に格納し、図示されないネットワーク経由でダウンロードさせることにより提供するように構成することができる。また、端末用プログラムを、ネットワーク経由で提供または配布するように構成してもよい。端末用プログラムのうち一部または全部を、ＲＯＭ４０３に予め記憶させて提供することも考えられる。
【０１０１】
これに限らず、端末用プログラムは、インストール可能な形式または実行可能な形式のファイルでＣＤ(Compact  Disk)、ＤＶＤ(Digital  Versatile  Disk)などのコンピュータで読み取り可能な記録媒体に記録して提供してもよい。この場合、記録媒体に記録された端末用プログラムは、例えばデータＩ／Ｆ４０８に接続された外部のドライブ装置を介して端末装置２０に供給される。これに限らず、記録媒体に記録された端末用プログラムを、パーソナルコンピュータなど他の情報処理装置上に一旦記憶させ、この他の情報処理装置から通信Ｉ／Ｆ４１０やデータＩ／Ｆ４０８を介した通信により、端末装置２０に供給してもよい。
【０１０２】
端末用プログラムは、例えば、上述した各部（制御部２００１、通信部２００３およびＵＩ部２００４、ならびに、第１実行部２２００および第２実行部２３００）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ４０２が例えばストレージ４０７から端末用プログラムを読み出して実行することにより上記各部が主記憶装置（例えばＲＡＭ４０４）上にロードされ、各部が主記憶装置上に生成されるようになっている。
【０１０３】
図１２は、第１の実施形態に係る、端末装置２０上における端末用プログラムの構成の例を概略的に示す。図１２において、端末用プログラム２０００は、アプリケーション層２１００、ＡＰＩ層２１０１、ＯＳ層２１０２およびハードウェアＩ／Ｆ層２１０３を含む。アプリケーション層２１００は、端末装置２０の利用者が端末装置２０上で実行したい作業を実施する機能を直接的に有する、アプリケーションソフトウェア（以下、アプリと略称する）を含む。図１２の例では、アプリケーション層２１００は、第１実行部２２００および第２実行部２３００を含んでいる。
【０１０４】
ＡＰＩ層２１０１は、ＡＰＩ(Application  Programming  Interface)を含み、アプリケーション層２１００と後述するＯＳ層２１０２との仲介を行う。ＯＳ層２１０２は、ＯＳ(Operating  System)を含み、端末用プロブラム２０００の全体の動作を制御する。ＯＳは、アプリケーション層２１００の各アプリが共通して利用できる様々なサービスを含む。例えば、制御部２００１、通信部２００３およびＵＩ部２００４は、ＯＳ層２１０２に含まれる。ハードウェアＩ／Ｆ（ＨＷ  Ｉ／Ｆ）層２１０３は、ＯＳ層２１０２と、ストレージ２００２や通信Ｉ／Ｆ４１０などのハードウェアとの仲介を行う。
【０１０５】
なお、アプリケーション層２１００に含まれるアプリのうち、インターネットなどのネットワーク上の様々なデータを閲覧するのに好適なブラウザアプリや、電子メールのやり取りを行うメーラアプリなど基本的な機能を提供するアプリは、端末装置２０に対して、ＯＳと共に、初期から標準で搭載されている場合が多い。
【０１０６】
アプリケーション層２１００に含まれる各アプリは、ＡＰＩ層２１０１を介してＯＳ層２１０２とデータやコマンドの受け渡しを行う。これにより、各アプリは、端末装置２０が有するハードウェア機能を利用したり、各アプリ間でのデータやコマンドのやり取りを行う。
【０１０７】
第１に実施形態に係る第１実行部２２００は、第２実行部２３００から呼び出されることで、主記憶装置上にロードされるようにできる。また、第１実行部２２００を構成するためのプログラムは、当初は端末装置２０上に存在せず、第２実行部２３００から呼び出された際に、ネットワークなどから提供されるようにもできる。
【０１０８】
図１３を用いて、第１の実施形態に係る、第２実行部２３００が第１実行部２２００を呼び出す際の動作の流れについて、概略的に説明する。ここでは、当初、第２実行部２３００が起動されて主記憶装置上にロードされた状態において、第１実行部２２００が未だ起動されていないものとする。すなわち、当初のアプリケーション層２１００は、第２実行部２３００が含まれる一方で、第１実行部２２００が含まれていない。この状態において、第２実行部２３００が第１実行部２２００を呼び出す。
【０１０９】
第２実行部２３００は、例えばユーザ操作により第１実行部２２００の呼び出しが指示されると、図１３（ａ）に例示されるように、ＯＳに対して第１実行部２２００の起動を要求する（ステップＳ１０）。ＯＳは、この要求に応じて、第１実行部２２００を実行させるためのプログラム（第１実行部用プログラムと呼ぶ）が端末装置２０にインストール済みか否かを判定する。ここでは、ＯＳは、ストレージ２００２に第１実行部用プログラムが格納されているか否かでこの判定を行うものとする（ステップＳ１１）。これに限らず、ＯＳは、ＲＡＭ４０４などに予め読み込んだ、端末装置２０にインストール済みのアプリのリストなどを参照してこの判定を行なってもよい。
【０１１０】
ＯＳは、第１実行部用プログラムがインストール済みであると判定した場合、図１３（ｂ）に例示されるように、第１実行部用プログラムを例えばストレージ２００２から読み出して主記憶装置であるＲＡＭ４０４にロードし（ステップＳ１２）、第１実行部２２００を起動させる。そして、ＯＳは、例えばアプリの実行権を第２実行部２３００から第１実行部２２００に移動させる。
【０１１１】
一方、ＯＳは、第１実行部用プログラムが端末装置２０に未だインストールされていないと判定した場合、図１３（ｃ）に例示されるように、通信Ｉ／Ｆ４１０を制御して、ネットワークを介して外部から当該第１実行部用プログラムを取得する（ステップＳ１３）。取得された第１実行部用プログラムは、一旦ストレージ２００２に格納され、所定の手順にてインストール処理が開始される。第１実行部用プログラムがインストールされると、ＯＳは、上述したステップＳ１２の処理により、第１実行部２２００を起動させる。
【０１１２】
図１４は、第１の実施形態に係る第１実行部２２００の機能を説明するための一例の機能ブロック図である。図１４において、第１実行部２２００は、撮像画像取得部２２０１と、送信部２２０２と、受信部２２０３と、設定部２２０４と、受付部２２０５と、呼出部２２０６と、保存部２２０７と、提示部２２０８とを含む。
【０１１３】
撮像画像取得部２２０１は、撮像部４１１による撮像動作を制御し、撮像画像を取得する。送信部２２０２は、ネットワークを介した情報の送信処理を行う。例えば、送信部２２０２は、画像検索システム２００Ａのネットワーク上のアドレス情報を予め有し、ネットワークを介した画像検索システム２００Ａに対する送信処理を行う。撮像画像取得部２２０１が取得した撮像画像は、送信部２２０２により画像検索システム２００Ａに送信される。受信部２２０３は、ネットワークを介して送信された情報の受信処理を行う。例えば、受信部２２０３は、画像検索システム２００Ａに含まれる画像検索サーバ１１の提示部１０４から提示される連携情報を受信する。
【０１１４】
設定部２２０４は、外部から渡されたパラメータに従い、第１実行部２２００の実行時の振る舞いを設定する。例えば、設定部２２０４は、起動された第１実行部２２００の表示上の外観（スキン）を、パラメータに応じて設定することができる。例えば、設定部２２０４は、異なる幾つかのスキンを予め用意し、用意されたスキンからパラメータに応じたスキンを選択することが考えられる。
【０１１５】
なお、スキンは、例えば画像データや描画コマンド、レイアウト情報を含んで構成される。第１実行部２２００は、スキンを構成するデータを予め複数持つことができる。これに限らず、第１実行部２２００は、スキンを構成するデータをネットワークを介して外部から取得してもよいし、第１実行部２２００を呼び出す第２実行部２３００から取得してもよい。
【０１１６】
また、設定部２２０４は、第１実行部２２００のＵＩをパラメータに応じて設定することができる。例えば、設定部２２０４は、パラメータに応じて、ＵＩに設けられるボタンなど各部品の表示やレイアウトを設定することが考えられる。このとき、第１実行部２２００は、ＵＩに設けられる各部品の表示やレイアウトといった、ＵＩを構成するための情報を、予め複数持つことができる。これに限らず、第１実行部２２００は、ＵＩを構成するための情報をネットワークを介して外部から取得してもよいし、第１実行部２２００を呼び出す第２実行部２３００から取得してもよい。
【０１１７】
さらに、設定部２２０４は、指定されたパラメータに基づき、画像検索に使用する画像検索サーバ１１とＤＢ１２とを設定することができる。例えば、指定されたパラメータに「サーバ名」および「ＤＢ名」が含まれている場合、これら「サーバ名」および「ＤＢ名」を送信部２２０２に渡す。送信部２２０２は、撮像画像４０を画像検索システム２００Ａに送信する際に、これら「サーバ名」および「ＤＢ名」を撮像画像４０に付加する。
【０１１８】
受付部２２０５は、例えば第２実行部２３００から渡されたパラメータを受け付ける。受付部２２０５は、受け付けたパラメータを、例えば設定部２２０４に渡す。呼出部２２０６は、当該第１実行部２２００を呼び出した呼び出し元を呼び出す。例えば、呼出部２２０６は、第２実行部２３００から呼び出されて起動された第１実行部２２００が終了される際に、当該第２実行部２３００を呼び出す処理を行う。
【０１１９】
保存部２２０７は、画像検索システム２００Ａによる画像検索結果に基づき取得したコンテンツデータを保存する。このとき、保存部２２０７は、コンテンツデータを、第２実行部２３００から渡されたパラメータに含まれる、呼び出し元を示す情報に関連付けて保存することができる。これに限らず、保存部２２０７は、コンテンツデータと、コンテンツデータの取得元を示す情報（ＵＲＬなど）とを関連付けて保存してもよい。このように、コンテンツデータを呼び出し元や取得元と関連付けて保存することでコンテンツデータが分別可能とされ、コンテンツデータをコレクション化することができる。
【０１２０】
提示部２２０８は、受信部で受信された連携情報に基づき提示情報を生成し、表示部２０１１に渡す。一例として、端末装置２０が画像検索システム２００Ａに送信した１の撮像画像４０に基づく画像検索により、複数の連携情報が取得された場合について考える。なお、図５の部分１４３1および１４３2に示されるように、１のオブジェクトに対して複数の連携情報を定義することができる。
【０１２１】
提示部２２０８は、取得された複数の連携情報を、受付部２２０５に受け付けられたパラメータを用いてフィルタリングして、所定の連携情報を抽出することができる。例えば、パラメータを、１の連携情報の一部または全部を含むように構成する。提示部２２０８は、取得された複数の連携情報とパラメータとを比較して、パラメータに適合する連携情報を抽出する。
【０１２２】
提示部２２０８は、複数の連携情報から１の連携情報を抽出した場合に、当該複数の連携情報において、抽出された１の連携情報を強調表示するように、提示情報を生成することができる。表示部２０１１は、この提示情報に基づき、抽出された１の連携情報を、他の複数の連携情報に対して強調表示するよう、表示情報を生成する。強調表示を行う方法は、太字化や表示色反転など、特に限定されない。これに限らず、提示部２２０８は、複数の連携情報から１の連携情報を抽出した場合に、当該複数の連携情報において、抽出された１の連携情報のみを表示するように提示情報を生成してもよい。
【０１２３】
図１５は、第１の実施形態に係る第２実行部２３００の機能を説明するための一例の機能ブロック図である。図１５において、第２実行部２３００は、処理部２３０１と、呼出部２３０２とを含む。
【０１２４】
処理部２３０１は、第２実行部２３００に特定の処理を実行する。例えば、第２実行部２３００がある歌手のプロモーションを行うためのアプリである場合、処理部２３０１は、当該歌手に関するプロフィールの表示や、プロモーションビデオの再生、イベント情報の表示、コンサートのチケット購入などの処理を行う。また例えば、第２実行部２３００が商店の宣伝を行うためのアプリである場合、処理部２３０１は、店舗のナビゲーション情報や商品情報の表示や、商品の通信販売などの処理を行う。
【０１２５】
呼出部２３０２は、第１実行部２２００を呼び出す。例えば、呼出部２３０２は、ユーザ操作などに応じて図１３（ａ）〜図１３（ｃ）のステップＳ１０〜ステップＳ１３の処理を行い、第１実行部２２００を起動させる。また、呼出部２３０２は、起動させる第１実行部２２００に渡すパラメータを予め有する。呼出部２３０２は、第１実行部２２００を起動させる際に、第１実行部２２００に対してこのパラメータを渡す。パタメータは、例えば、第２実行部２３００からＯＳを介して第１実行部２２００に渡される。
【０１２６】
（第１の実施形態の第１の適用例）
次に、第１の実施形態の第１の適用例について説明する。この第１の適用例は、第２実行部２３００に呼び出された第１実行部２２００が、第２実行部２３００に指定される画像を撮像画像４０として取得して画像検索を行うことで、特定のコンテンツを取得できるようにしたものである。
【０１２７】
図１６は、第１の実施形態の第１の適用例による処理の流れを概略的に示す。なお、ここでは、第２実行部２３００である特定アプリを、例えばプロモーションや告知を行うための特定アプリであるものとするが、第１の適用例に適用可能な特定アプリはこの例に限定されない。端末装置２０において特定アプリが起動されると、端末装置２０の表示装置４０６に特定アプリのトップ画面１０００が表示される。この例では、トップ画面１０００の下部に、当該特定アプリの各機能に対応するボタン画像が表示される。ユーザは、所望の機能に対応するボタン画像の位置に手指などで接触することで、特定アプリの当該機能を実行させることができる。
【０１２８】
なお、この時点では、第１実行部２２００である画像検索用アプリ２２０は、端末装置２０において未だ起動されていないものとする。また、以下では、ボタン画像を単に「ボタン」と呼び、ボタン画像の位置に接触する行為を「ボタンを操作する」と呼ぶ。
【０１２９】
特定アプリは、トップ画面１０００における所定のボタンが操作されると、表示装置４０６の表示を告知画面１００１に切り替える（ステップＳ２０）。この例では、指定された被写体、例えばポスター１２００を撮像した撮像画像４０に基づき画像検索システム２００Ａで画像検索を行うことで、所定のコンテンツ、例えば特典動画へのアクセスを行うＵＲＬが取得できるようになっている。ここでは、図９のコンテンツ配信サイト２１０Ａが当該特典動画を配信するものとする。
【０１３０】
告知画面１００１において、画像検索の機能の追加を行うためのボタン１０１１が配される。特定アプリは、このボタン１０１１が操作されると、画像検索用アプリ２２０を呼び出す。このとき、端末装置２０は、画像検索用アプリ２２０がインストールされているか否かを判定する。例えば、特定アプリは、図１３（ａ）のステップＳ１０に示されるように、ＯＳに対して画像検索用アプリ２２０の起動を要求する。ＯＳは、この要求に応じて、ステップＳ１１で画像検索用アプリ２２０がインストールされているか否かを判定する（ステップＳ１１）。
【０１３１】
端末装置２０により画像検索用アプリ２２０がインストールされていると判定された場合は、特定アプリは、当該画像検索用アプリ２２０を呼び出し起動させる（ステップＳ２１）。その際、特定アプリは、起動される画像検索用アプリ２２０に対して所定のパラメータを渡す。このパラメータは、特定アプリの名称など特定アプリを示す情報と、ポスター１２００を撮像した撮像画像４０に対して画像検索を行うための画像検索サーバ１１およびＤＢ１２のサーバ名およびＤＢ名の情報とを含む。ここで、パラメータに含まれるサーバ名およびＤＢ名は、特定アプリに依存する所定のサーバ名およびＤＢ名が用いられる。
【０１３２】
パラメータは、さらに、画像検索用アプリ２２０が起動された際の実行画面（例えば画像検索用アプリ画面１００２）のスキンを設定するための情報や、画像検索用アプリ２２０のＵＩを設定するための情報を含めてもよい。
【０１３３】
一方、端末装置２０は、画像検索用アプリ２２０の初回利用時など、画像検索用アプリ２２０がインストールされていないと判定した場合は、当該画像検索用アプリ２２０をインストールするためのプログラムを、ネットワークなどを介して外部から取得する必要がある。そのため、端末装置２０において、ステップＳ２２で、特定アプリにより、表示装置４０６における表示を、当該プログラムをネットワークを介してダウンロード（ＤＬ）するためのＤＬ画面１００３に切り替えられる。
【０１３４】
端末装置２０は、このＤＬ画面１００３に対する所定のユーザ操作に応じて、当該プログラムのダウンロードおよびインストールを開始する（ステップＳ２３）。例えば、ＯＳは、図１３（ｃ）に例示されるように、通信Ｉ／Ｆ４１０を制御して、ネットワークを介して外部から当該プログラムを取得し（ステップＳ１３）、端末装置２０に対するインストールを行う。
【０１３５】
当該プログラムのインストールが完了すると、インストールされた当該プログラムが自動的に実行され、画像検索用アプリ２２０が起動される。画像検索用アプリ２２０は、起動されると、表示装置４０６の表示を画像検索用アプリ画面１００２に切り替える。
【０１３６】
画像検索用アプリ２２０が起動された端末装置２０において、指定されたポスター１２００を被写体として、画像検索用アプリ画面１００２に配される所定のボタンを操作することで、当該ポスター１２００の画像が撮像画像４０として取得される（ステップＳ２４）。画像検索用アプリ２２０は、このポスター１２００を撮像した撮像画像４０を画像検索システム２００Ａに送信する。このとき、画像検索用アプリ２２０は、特定アプリから渡されたパラメータに含まれるサーバ名およびＤＢ名を撮像画像４０に付加して画像検索システム２００Ａに送信する。
【０１３７】
画像検索システム２００Ａは、撮像画像４０に付加されるサーバ名およびＤＢ名に従い画像検索サーバ１１およびＤＢ１２を選択し、撮像画像４０に基づく画像検索を行う。画像検索システム２００Ａは、例えば特典動画に対するアクセス先を示す１の連携情報を検索結果として取得し、端末装置２０に送信する（ステップＳ２５）。この連携情報は、端末装置２０において画像検索用アプリ２２０に受信される。
【０１３８】
画像検索用アプリ２２０は、受信した連携情報に従いコンテンツ配信サイト２１０Ａにアクセスし、コンテンツとして特典動画を取得する。画像検索用アプリ２２０は、表示装置４０６の表示をコンテンツ表示画面１００３に切り替え、取得した特典動画を表示させる。このとき、画像検索用アプリ２２０は、呼び出し元の特定アプリを示す情報１００４をコンテンツ表示画面１００３に表示させると、好ましい。
【０１３９】
なお、画像検索用アプリ２２０は、ステップＳ２５で取得されたコンテンツ（特典画像）を保存部２２０７により保存することができる（ステップＳ２６）。保存部２２０７は、当該コンテンツと、呼び出し元を示す情報、あるいは、特典動画を取得したコンテンツ配信サイト２１０Ａを示す情報とを関連付けて、例えばストレージ４０７に保存する。
【０１４０】
画像検索用アプリ２２０は、コンテンツ表示画面１００３または撮像画像４０取得後の画像検索用アプリ画面１００２に対する、コンテンツの保存を要求する所定の操作に応じて、表示装置４０６の表示画面をコンテンツ保存画面１００６に切り替える。画像検索用アプリ２２０は、このコンテンツ保存画面１００６に対する、コンテンツの保存を決定する所定の操作に応じて、保存部２２０７により取得したコンテンツを保存する。保存したコンテンツは、コレクション表示領域１００７に例えば一覧で表示される。
【０１４１】
コンテンツ表示画面１００３において、戻るボタン１００５を操作することで、呼び出し元の特定アプリに戻ることができる。より具体的には、戻るボタン１００５が操作されると、呼出部２２０６は、呼び出し元である特定アプリを呼び出す（ステップＳ２７）。このときの呼び出し動作は、図１３（ａ）および図１３（ｂ）でステップＳ１０〜ステップＳ１２を用いて説明した動作と略共通である。
【０１４２】
第１の適用例に示されるように、第１の実施形態に係る画像検索用アプリ２２０は、起動時に特定アプリから渡されるパラメータに応じた特定コンテンツを、撮像画像４０に基づく画像検索により取得することができる。そのため、特定アプリの提供側は、特定アプリに画像検索用アプリ２２０の機能を追加する機能拡張を容易に行うことができる。
【０１４３】
（第１の実施形態の第２の適用例）
次に、第１の実施形態の第２の適用例について説明する。この第２の適用例は、第２実行部２３００に呼び出された第１実行部２２００が、撮像画像４０に基づく画像検索により取得された連携情報を、第２実行部２３００から渡されたパラメータに従い選択する例である。
【０１４４】
図１７は、第１の実施形態の第２の適用例による処理の流れを概略的に示す。なお、ここでは、第２実行部２３００である特定アプリを、ある商店が店舗の案内やネットワークを介しての商品の販売（電子商取引）を行うために提供する特定アプリであるものとするが、第２の適用例に適用可能な特定アプリは、この例に限定されない。端末装置２０において特定アプリが起動されると、端末装置２０の表示装置４０６に特定アプリのトップ画面１１００が表示される。この例では、トップ画面１１００の上部に商店名「ＸＸＹＹＺＺ」が表示され、その下から、当該特定アプリの各種機能を実行させるための各ボタンが配される。各ボタンのうち、ボタン１１１０は、画像検索の機能の追加を行うためのボタンである。
【０１４５】
なお、この時点では、第１実行部である画像検索用アプリ２２０は、端末装置２０において未だ起動されていないものとする。
【０１４６】
特定アプリは、トップ画面１１００においてボタン１１１０が操作されると、画像検索用アプリ２２０を呼び出す。このとき、端末装置２０は、画像検索用アプリ２２０がインストールされているか否かを判定する。端末装置２０により画像検索用アプリ２２０がインストールされていると判定された場合、特定アプリは、当該画像検索用アプリ２２０を呼び出し起動させる（ステップＳ３０）。画像検索用アプリ２２０は、起動されると、表示装置４０６の表示を画像検索用アプリ画面１１０１に切り替える。
【０１４７】
ここで、特定アプリは、画像検索用アプリ２２０を呼び出す際に、当該画像検索用アプリ２２０に対して所定のパラメータを渡す。このパラメータは、特定アプリの名称など特定アプリを示す情報と、撮像した撮像画像４０に対して画像検索を行うための画像検索サーバ１１およびＤＢ１２のサーバ名およびＤＢ名の情報とを含む。このとき、サーバ名およびＤＢ名は、画像検索システム２００Ａにおけるデフォルトのサーバ名およびＤＢ名を用いる。
【０１４８】
パラメータは、さらに、画像検索用アプリ２２０が起動された際の実行画面（例えば画像検索用アプリ画面１１０１）のスキンを設定するための情報や、画像検索用アプリ２２０のＵＩを設定するための情報を含めてもよい。
【０１４９】
一方、端末装置２０において画像検索用アプリ２２０がインストールされていないと判定された場合、特定アプリは、ステップＳ３１で、表示装置４０６における表示を、画像検索用アプリ２２０をインストールするためのプログラムをネットワークを介してダウンロードするためのＤＬ画面１１０２に切り替える。
【０１５０】
特定アプリは、このＤＬ画面１１０２に対する所定のユーザ操作に応じて、当該プログラムのダウンロードおよびインストールを開始する（ステップＳ３２）。当該プログラムのインストールが完了すると、インストールされた当該プログラムが自動的に実行され、画像検索用アプリ２２０が起動される（ステップＳ３０）。画像検索用アプリ２２０は、起動されると、表示装置４０６の表示を画像検索用アプリ画面１１０１に切り替える。
【０１５１】
この第２の適用例では、画像検索用アプリ２２０が起動された端末装置２０による、画像検索のための被写体は、特定アプリの提供元の商店が取り扱う商品の広告媒体１２０１となる。広告媒体１２０１の制作者は、広告媒体１２０１に含まれる商品の画像などをオブジェクトとして、画像検索システム２００Ａに予め登録する（ステップＳ５０）。
【０１５２】
第２の適用例の場合、広告媒体１２０１の制作者は、例えば広告媒体１２０１が広告する商品のメーカであり、商店すなわち特定アプリの提供元とは直接的な関連性が無い可能性が高い。すなわち、同一の商品が複数の商店により販売され、これら複数の商店により同一の商品を紹介する同一内容の広告媒体１２０１が用いられることになる。
【０１５３】
また、広告媒体１２０１に含まれるオブジェクトを画像検索システム２００Ａに登録する際に、当該広告媒体１２０１が広告する商品を扱う複数の商店にそれぞれ対応する複数の連携情報が、当該オブジェクトに関連付けられる可能性がある。例えば、１の商品の画像によるオブジェクトに対し、当該商品を扱う商店Ａ、ＢおよびＣにそれぞれ対応する複数の連携情報が、画像検索システム２００Ａに登録される。
【０１５４】
また、各商店Ａ、ＢおよびＣは、１の商品の画像によるオブジェクトに対して、それぞれ複数の連携情報を関連付けて登録することができる。例えば、１の商品の画像によるオブジェクトに対して、当該商品の詳細を表示させるための連携情報と、当該商品をネットワークを介して購入するための連携情報とを関連付けて登録することが考えられる。
【０１５５】
端末装置２０において、広告媒体１２０１を被写体として、画像検索用アプリ画面１１０１に配される所定のボタンを操作することで、当該広告媒体１２０１の画像が撮像画像４０として取得される（ステップＳ３３）。画像検索用アプリ２２０は、この広告媒体１２０１を撮像した撮像画像４０を画像検索システム２００Ａに送信する。このとき、画像検索用アプリ２２０は、特定アプリから渡されたパラメータに含まれる、サーバ名およびＤＢ名を撮像画像４０に付加して画像検索システム２００Ａに送信する。
【０１５６】
なお、第２の適用例においては、このサーバ名およびＤＢ名の撮像画像４０に対する付加は、省略することができる。画像検索システム２００Ａは、端末装置２０から送信された撮像画像４０にサーバ名およびＤＢ名が付加されていない場合、システムにデフォルトの画像検索サーバ１１およびＤＢ１２を使用して、画像検索を行う。
【０１５７】
画像検索システム２００Ａは、撮像画像４０に付加されるサーバ名およびＤＢ名に従い画像検索サーバ１１およびＤＢ１２を選択し、撮像画像４０に元づく画像検索を行う。ここでは、サーバ名およびＤＢ名にデフォルト値が用いられているので、画像検索システム２００Ａは、システムにデフォルトの画像検索サーバ１１およびＤＢ１２を選択する。なお、撮像画像４０に対するサーバ名およびＤＢ名の付加が省略されている場合でも、画像検索システム２００Ａは、システムにデフォルトの画像検索サーバ１１およびＤＢ１２を選択する。
【０１５８】
画像検索システム２００Ａは、広告媒体１２０１を撮像した撮像画像４０に基づき画像検索を行う。そして、広告媒体１２０１に含まれるオブジェクトに対応する連携情報を取得する。ここでは、上述したように、当該オブジェクトに対して商店Ａ、ＢおよびＣにそれぞれ対応する３の連携情報が関連付けられているものとし、画像検索システム２００Ａは、画像検索の結果、この３の連携情報を取得する。
【０１５９】
画像検索システム２００Ａは、検索結果として取得した３の連携情報を、端末装置２０に送信する（ステップＳ３４）。この３の連携情報は、端末装置２０において画像検索用アプリ２２０に受信される。
【０１６０】
画像検索用アプリ２２０は、連携情報を受信すると、受信した連携情報のうち、当該画像検索用アプリ２２０を呼び出した特定アプリに対応する連携情報を抽出する。
【０１６１】
例えば、特定アプリが画像検索用アプリ２２０に渡すパラメータに含まれる、特定アプリを示す情報を、当該特定アプリに対応する連携情報の一部を含むように、予め作成する。一例として、連携情報がＵＲＬである場合、ＵＲＬのドメイン名を特定アプリを示す情報としてパラメータに含めることが考えられる。この場合、画像検索用アプリ２２０は、受信した各連携情報（ＵＲＬ）と、パラメータに含まれる特定アプリを示す情報とを比較して、パラメータに含まれる特定アプリを示す情報と一致するドメイン名を含む連携情報を、特定アプリに対応する連携情報として抽出する。このとき、ドメイン名が同一でパス名が異なる複数の連携情報が存在する場合、この複数の連携情報を抽出することができる。
【０１６２】
このように、複数の連携情報をパラメータに基づきフィルタリングすることで、画像検索用アプリ２２０を呼び出した特定アプリに対応する連携情報を抽出することが可能である。
【０１６３】
画像検索用アプリ２２０は、パラメータに基づき抽出された連携情報に基づき、関連情報表示画面１１０２を生成し、表示装置４０６に表示させる。関連情報表示画面１１０２は、広告媒体１２０１に含まれるオブジェクトに関連する関連情報を指定する各ボタンが領域１１０３に配される。ユーザは、領域１１０３に配される所望の関連情報を指定するボタンを操作することで、表示装置４０６の表示を、指定された関連情報を表示する画面に切り替えることができる。
【０１６４】
一例として、領域１１０３に、複数のボタンを配する。複数のボタンのうち第１のボタンは、例えば、広告媒体１２０１に含まれるオブジェクトが示す商品の詳細情報を提示するＵＲＬを指定する。画像検索用アプリ２２０は、第１のボタンが操作されると、当該ＵＲＬにアクセスして、表示装置４０６の表示を、当該ＵＲＬによる商品詳細情報を表示するコンテンツ表示画面１１０４に切り替える（ステップＳ３５）。
【０１６５】
図１７の例では、画像検索用アプリ２２０は、端末装置２０に標準で搭載されるブラウザアプリを、ＵＲＬをパラメータとして渡して起動して当該ＵＲＬにアクセスしている。この場合、当該ブラウザアプリによる画面が、コンテンツ表示画面１１０４となる。これに限らず、画像検索用アプリ２２０の内部の機能を用いてコンテンツ表示画面１１０４を表示させてもよい。
【０１６６】
第２のボタンは、例えば、当該商品をネットワークを介して購入するためのＵＲＬを指定する。画像検索用アプリ２２０は、第２のボタンが操作されると、当該ＵＲＬにアクセスして、表示装置４０６の表示を、当該ＵＲＬによる商品購入画面１１０５に切り替える（ステップＳ３６）。なお、この例では、商品購入画面１１０５から特定アプリトップ画面１１００に移行することができるようになっている（ステップＳ３７）。
【０１６７】
第３のボタンは、例えば、関連情報を端末装置２０に保存する（ステップＳ３８）。画像検索用アプリ２２０は、例えば関連情報表示画面１１０２に示されるＵＲＬ（連携情報）を指定して、指定されたＵＲＬを保存部２２０７により保存することができる。このとき、指定されたＵＲＬによるページを例えば画像として取得し、取得された画像を、ＵＲＬと関連付けてコレクション表示領域１１０７にサムネイル画像として表示させることができる。コレクション表示領域１１０７は、画像検索用アプリ２２０により現在までに保存された画像およびＵＲＬが一覧表示される。
【０１６８】
コレクション表示領域１１０７において、サムネイル画像をユーザ操作により指定することで、指定されたサムネイル画像に関連付けられたＵＲＬにアクセスすることができる。例えば、指定されたサムネイル画像が商品詳細情報を提示するＵＲＬに関連付けられたものであれば、画像検索用アプリ２２０は、表示装置４０６の表示を、コンテンツ表示画面１１０４に切り替える（ステップＳ４０）。同様に、指定されたサムネイル画像が商品購入のためのＵＲＬに関連付けられたものであれば、画像検索用アプリ２２０は、表示装置４０６の表示を、商品購入画面１１０５に切り替える（ステップＳ３９）。
【０１６９】
関連情報表示画面１１０２において、戻るボタン１１１１を操作することで、画像検索用アプリ２２０から特定アプリが呼び出され、処理が画像検索用アプリ２２０から特定アプリに移行される。また、表示装置４０６の表示が特定アプリトップ画面１１００に切り替えられる（ステップＳ４１）。
【０１７０】
第２の適用例に示されるように、第１の実施形態に係る画像検索用アプリ２２０は、撮像画像４０に基づく画像検索より取得した複数の連携情報から、起動時に特定アプリから渡されるパラメータに応じた連携情報を抽出することができる。そのための特定アプリの動作は、特定アプリから画像検索用アプリ２２０を呼び出しパラメータを渡すだけであるので、第２の適用例を実現するための機能拡張が容易である。
【０１７１】
（第２の実施形態）
次に、第２の実施形態について説明する。図１８は、第２の実施形態に係る情報処理システムの一例の構成を示す。なお、図１８において、上述した図９と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１７２】
図１８に例示されるように、第２の実施形態に係る情報処理システム１’は、ネットワーク上に、第１の実施形態における特定アプリと同等の機能を実現可能な特定サイト２４０が設けられる。情報処理システム１’において、端末装置２０からこの特定サイト２４０にアクセスする。特定サイト２４０は、端末装置２０において画像検索用アプリ２２０を呼び出し、起動された画像検索用アプリ２２０に対してパラメータを渡す。パラメータは、少なくとも、呼び出し元の特定サイト２４０を示す情報として、特定サイト２４０のＵＲＬが含まれる。
【０１７３】
パラメータを渡された画像検索用アプリ２２０の動作は、上述の第１の実施形態で説明した動作と同様なので、ここでの詳細な説明を省略する。
【０１７４】
図１９は、第２の実施形態に係る端末装置２０の機能を説明するための一例の機能ブロック図である。なお、図１９において、上述した図１１と共通する部分に同一の符号を付して、詳細な説明を省略する。図１９に例示されるように、端末装置２０は、図１１に示した第２実行部２３００を搭載しない代わりに、ブラウザアプリ２４００を用いて第１実行部２２００を呼び出す。
【０１７５】
図２０〜図２２を用いて、ブラウザアプリ２４００から第１実行部２２００（画像検索用アプリ２２０）を起動させる動作について、概略的に説明する。図２０は、第２の実施形態に係る端末装置２０上における端末用プログラムの構成の例を概略的に示す。なお、図２０において、上述した図１２と共通する部分には同一の符号を付して、詳細な説明を省略する。
【０１７６】
図２０において、端末用プログラム２０００’は、アプリケーション層２１００、ＡＰＩ層２１０１、ＯＳ層２１０２およびハードウェアＩ／Ｆ層２１０３を含み、アプリケーション層２１００がブラウザアプリ２４００および第１実行部２２００を含んでいる。
【０１７７】
図２１は、第２の実施形態に係る、ブラウザアプリ２４００が特定サイト２４０のデータを読み込んで第１実行部２２００を呼び出す際の動作の流れを概略的に示す。なお、図２１は、端末装置２０に対し、第１実行部２２００を実行させるための第１実行部用プログラムが既にインストールされている場合の動作の例である。
【０１７８】
ブラウザアプリ２４００は、所定のＵＲＬに従い、通信Ｉ／Ｆ４１０を介して特定サイト２４０にアクセスする。このアクセスにより、当該ＵＲＬに示されるページのデータが、ネットワークを介して通信Ｉ／Ｆ４１０に送信される（ステップＳ２０）。このデータは、通信Ｉ／Ｆ４１０からハードウェアＩ／Ｆ層２１０３を介してＯＳに渡され（ステップＳ２１）、ＯＳからＡＰＩ層２１０１を介してブラウザアプリ２４００に渡される（ステップＳ２２）。
【０１７９】
ブラウザアプリ２４００に特定サイト２４０のデータが読み込まれると、ブラウザアプリ２４００の表示画面に対して、特定サイト２４０のページによる画面が表示される。この画面には、第１実行部２２００を呼び出しパラメータを渡すためのボタンやハイパーリンクが設けられている。
【０１８０】
これらボタンやハイパーリンクが操作され、第１実行部２２００の呼び出しが指示されると、図２１（ａ）に例示されるように、ブラウザアプリ２４００は、ＯＳに対して第１実行部２２００の起動を要求する（ステップＳ２３）。ＯＳは、この要求に応じて、例えばストレージ２００２にアクセスする（ステップＳ２４）。ＯＳは、図２１（ｂ）に例示されるように、第１実行部用プログラムをストレージ２００２から読み出して主記憶装置であるＲＡＭ４０４にロードし（ステップＳ２５）、第１実行部２２００を起動させる。そして、ＯＳは、例えばアプリの実行権をブラウザアプリ２４００から第１実行部２２００に移動させる。
【０１８１】
図２２は、第２の実施形態に係る、第１実行部２２００を実行させるための第１実行部用プログラムが端末装置２０にインストールされていない場合の、ブラウザアプリ２４００が特定サイト２４０のデータを読み込んで第１実行部２２００を呼び出す際の動作の流れを概略的に示す。なお、図２２では、上述したステップＳ２０〜ステップＳ２２の動作が既に実行され、ブラウザアプリ２４００の表示画面に対して、第１実行部２２００を呼び出しパラメータを渡すためのボタンやハイパーリンクが設けられた特定サイト２４０のページの画像が表示されているものとする。
【０１８２】
ＯＳは、ステップＳ２４にてストレージ２００２にアクセスした結果、第１実行部用プログラムが端末装置２０に未だインストールされていないと判定した場合、通信Ｉ／Ｆ４１０を制御して、ネットワークを介して外部から当該第１実行部用プログラムを取得する（ステップＳ２６）。取得された第１実行部用プログラムは、一旦ストレージ２００２に格納され、所定の手順にてインストール処理が開始される。第１実行部用プログラムがインストールされると、ＯＳは、上述したステップＳ２５の処理により、第１実行部２２００を起動させる。
【０１８３】
上述において、ブラウザアプリ２４００から第１実行部２２００を起動させる際に、ブラウザアプリ２４００は、読み込んだ特定サイト２４０のデータに基づき、第１実行部２２００に対してパラメータを渡す。パラメータは、第１実行部２２００の呼び出し元を示す情報として、例えば特定サイト２４０のＵＲＬを用いることができる。呼び出し元を示す情報として特定サイト２４０のＵＲＬを用いると、第１実行部２２００から戻る際に、ブラウザアプリ２４００により特定サイト２４０がアクセスされることになる。また、パラメータは、画像検索に用いるサーバ名およびＤＢ名を含むことができる。
【０１８４】
第１実行部２２００すなわち画像検索用アプリ２２０は、撮像画像４０を画像検索システム２００Ａに送信する際に、第１の実施形態と同様に、渡されたパラメータに含まれる情報を撮像画像４０に付加する。これにより、画像検索用アプリ２２０は、画像検索の結果として特定サイト２４０に応じた連携情報を取得することができる。また、画像検索用アプリ２２０が取得した連携情報をブラウザアプリ２４００に渡すことで、ブラウザアプリ２４００により、特定サイト２４０に応じたコンテンツ配信サイト２１０Ａやコンテンツ配信サイト２１０Ｂにアクセスすることができる。
【０１８５】
このように、第２の実施形態によれば、端末装置２０を用いて、ネットワーク上のサイトから画像検索用アプリ２２０を起動させて、撮像画像４０に基づく画像検索システム２００Ａによる画像検索を行い、当該サイトに応じた連携情報を取得することができる。近年においては、Ｗｅｂ上にイベント専用のＷｅｂサイトを作成することも多く、イベント参加者は、このＷｅｂサイトからイベントに参加する機会が増えている。この第２の実施形態を適用することで、Ｗｅｂサイトからイベントに参加する場合でも、当該イベントに応じた連携情報を容易に得ることが可能となる。
【０１８６】
上述では、画像検索用アプリ２２０に渡すパラメータを、特定アプリや、ネットワーク上の特定サイト２４０であるように説明したが、これはこの例に限定されない。例えば、端末装置２０にＧＰＳ(Global  Positioning  System)による信号を受信して測位を行うＧＰＳ測位部をさらに儲け、撮像画像４０を取得した位置を示す情報をＧＰＳ測位部により取得する。この位置情報をパラメータに追加して画像検索用アプリ２２０に渡してもよい。画像検索用アプリ２２０は、撮像画像４０に基づく画像検索システム２００Ａによる画像検索により取得した連携情報に示されるＵＲＬにアクセスする際に、この位置情報を当該ＵＲＬのパラメータとして付加して送信する。これにより、連携情報に示されるＵＲＬにおいて、位置情報に応じたコンテンツを端末装置２０に送信することが可能となる。
【０１８７】
また、上述では、特定アプリから画像検索用アプリ２２０に渡すパラメータに応じて、画像検索に用いる画像検索サーバ１１やＤＢ１２の指定、画像検索により取得された連携情報の選択、画像検索用アプリ２２０のスキンやＵＩの設定を行うように説明したが、これはこの例に限定されない。
【０１８８】
例えば、パラメータに応じて画像検索用アプリ２２０の起動画面を設定してもよい。一例として、画像検索用アプリ２２０の起動時に、パラメータに応じて、図１７の画像検索用アプリ画面１１０１を表示させるか、カメラ撮像画面を直接的に表示させるかを設定することが考えられる。カメラ撮像画面を直接的に表示させた場合、例えば、撮像の完了直後に特定アプリトップ画面１１００に戻ることが考えられる。
【０１８９】
また、撮像画像４０を得るために撮像する、被写体となる被撮像媒体は、紙媒体に限られない。被撮像媒体は、例えば、電子ペーパーやサイネージといった、電子画像を表示する媒体であってもよい。
【０１９０】
また例えば、画像検索で取得される連携情報に対して、パラメータに応じて制限を掛けてもよい。例えば、画像検索用アプリ２２０は、画像検索で取得される連携情報の種類をパラメータに応じて制限する。さらに例えば、パラメータに応じて、画像検索用アプリ２２０に適用される言語モードを設定してもよい。言語モードは、一般的には、ＯＳにより設定されるが、これを、パラメータに応じて強制的に変更する。
【０１９１】
なお、上述の実施形態は、本発明の好適な実施の例ではあるがこれに限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変形による実施が可能である。
【符号の説明】
【０１９２】
１，１’  情報処理システム
１１，１１Ａ，１１Ｂ，１１Ｃ  画像検索サーバ
１２，１２Ａ1，１２Ａ2，１２Ａ3，１２Ｂ1，１２Ｃ1，１２Ｃ2  ＤＢ
２０  端末装置
２００，２００Ａ  画像検索システム
２１０Ａ，２１０Ｂ  コンテンツ配信サイト
２２０  画像検索用アプリ
２４０  特定サイト
４０６  表示装置
４０７，２００２  ストレージ
４１０  通信Ｉ／Ｆ
２０００，２０００’  端末用プログラム
２２００  第１実行部
２２０１  撮像画像取得部
２２０２  送信部
２２０３  受信部
２２０４  設定部
２２０５  受付部
２２０６，２３０２  呼出部
２２０７  保存部
２２０８  提示部
２３００  第２実行部
２４００  ブラウザアプリ
【先行技術文献】
【特許文献】
【０１９３】
【特許文献１】特開２０１０−１４０２５０号公報
【図１】
2015018405.tif 000003
【図２】
2015018405.tif 000004
【図３】
2015018405.tif 000005
【図４】
2015018405.tif 000006
【図５】
2015018405.tif 000007
【図６】
2015018405.tif 000008
【図７】
2015018405.tif 000009
【図８】
2015018405.tif 000010
【図９】
2015018405.tif 000011
【図１０】
2015018405.tif 000012
【図１１】
2015018405.tif 000013
【図１２】
2015018405.tif 000014
【図１３】
2015018405.tif 000015
【図１４】
2015018405.tif 000016
【図１５】
2015018405.tif 000017
【図１６】
2015018405.tif 000018
【図１７】
2015018405.tif 000019
【図１８】
2015018405.tif 000020
【図１９】
2015018405.tif 000021
【図２０】
2015018405.tif 000022
【図２１】
2015018405.tif 000023
【図２２】
2015018405.tif 000024