(57)【要約】【課題】アプリケーションを紹介する際に、アプリケーションの実行サンプルを提示することで、そのアプリケーションがなぜ紹介されたのかをユーザに理解させることが可能な情報処理装置を提供する。【解決手段】アプリケーションを一意に特定するためのアプリケーションＩＤ、コンテンツ情報及びコンテンツ情報をアプリケーションで加工した加工コンテンツ情報を関連付けて保存している保存部から、コンテンツ情報と、コンテンツ情報に関連付けられた加工コンテンツ情報とを関連づけて１または２以上出力する出力部と、出力部が出力したコンテンツ情報または加工コンテンツ情報を選択し、該選択したコンテンツ情報または加工コンテンツ情報に基づいて、アプリケーションＩＤを選択する選択部と、を備える、情報処理装置が提供される。【選択図】図１
2011113401.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーションを一意に特定するためのアプリケーションＩＤ、コンテンツ情報及び前記コンテンツ情報を前記アプリケーションで加工した加工コンテンツ情報を関連付けて保存している保存部から、指定された入出力に適合する前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて１または２以上出力する出力部と、
前記出力部が出力したコンテンツ情報または加工コンテンツ情報を選択し、該選択したコンテンツ情報または加工コンテンツ情報に基づいて、前記アプリケーションＩＤを選択する選択部と、
を備える、情報処理装置。
【請求項２】
前記選択部が選択したコンテンツ情報に基づいて推薦アプリケーションを複数推薦するアプリケーション推薦部をさらに備え、
前記出力部は、前記推薦アプリケーションを表す情報を１または２以上出力する、請求項１に記載の情報処理装置。
【請求項３】
前記出力部は、アプリケーションのカテゴリ単位で表示し、
前記選択部によって前記カテゴリを選択すると、前記出力部は加工前後のコンテンツを出力する、請求項２に記載の情報処理装置。
【請求項４】
前記選択部は、選択したアプリケーションＩＤに対応するアプリケーションが自装置で実行可能かどうかを確認し、実行可能で無ければ他の装置からのダウンロードを要求する、請求項２に記載の情報処理装置。
【請求項５】
前記選択部が選択したコンテンツ情報に基づいて、加工前後のコンテンツを作成するコンテンツ加工部をさらに備える、請求項１に記載の情報処理装置。
【請求項６】
前記コンテンツ加工部が加工するために前記選択部が選択したコンテンツ情報は、原画像のサイズを縮小した縮小画像である、請求項５に記載の情報処理装置。
【請求項７】
前記出力部は、コンテンツが作成された環境に関する環境情報を用いて、前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて出力する、請求項１に記載の情報処理装置。
【請求項８】
前記出力部は、アプリケーションの実行前に行われる処理に関連した前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて１または２以上出力する、請求項１に記載の情報処理装置。
【請求項９】
前記出力部は、複数のコンテンツ情報及び加工コンテンツ情報を繋ぎ合わせることで指定された入出力に適合するものを１または２以上出力する、請求項１に記載の情報処理装置。
【請求項１０】
前記出力部は、指定された入出力に適合するコンテンツ情報及び加工コンテンツ情報が存在しない場合には、複数のコンテンツ情報及び加工コンテンツ情報を繋ぎ合わせることで指定された入出力に適合するもの存在を検索する、請求項９に記載の情報処理装置。
【請求項１１】
前記出力部は、加工コンテンツ情報を全て出力する、請求項９に記載の情報処理装置。
【請求項１２】
アプリケーションを一意に特定するためのアプリケーションＩＤ、コンテンツ情報及び前記コンテンツ情報を前記アプリケーションで加工した加工コンテンツ情報を関連付けて保存している保存部から、指定された入出力に適合する、前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて１または２以上出力する出力ステップと、
前記出力ステップが出力したコンテンツ情報または加工コンテンツ情報を選択し、該選択したコンテンツ情報または加工コンテンツ情報に基づいて、前記アプリケーションＩＤを選択する選択ステップと、
を備える、情報処理方法。
【請求項１３】
コンピュータに、
アプリケーションを一意に特定するためのアプリケーションＩＤ、コンテンツ情報及び前記コンテンツ情報を前記アプリケーションで加工した加工コンテンツ情報を関連付けて保存している保存部から、指定された入出力に適合する、前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて１または２以上出力する出力ステップと、
前記出力ステップが出力したコンテンツ情報または加工コンテンツ情報を選択し、該選択したコンテンツ情報または加工コンテンツ情報に基づいて、前記アプリケーションＩＤを選択する選択ステップと、
を実行させる、コンピュータプログラム。
【請求項１４】
アプリケーションを一意に特定するためのアプリケーションＩＤ、コンテンツ情報及び前記コンテンツ情報を前記アプリケーションで加工した加工コンテンツ情報を関連付けて保存している保存部と、
指定された入出力に適合する、前記保存部に保存されている前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて他の装置へ１または２以上出力する出力部と、
前記出力部が出力したコンテンツ情報または加工コンテンツ情報の中から前記他の装置で選択された一のコンテンツ情報または加工コンテンツ情報に基づいて前記アプリケーションＩＤを選択する選択部と、
を備える、情報処理サーバ。
【請求項１５】
前記出力部は、コンテンツが作成された環境に関する環境情報を用いて、前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて出力する、請求項１４に記載の情報処理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、コンピュータプログラム及び情報処理サーバに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）や携帯型の端末（例えば携帯電話や携帯型のゲーム機等）等の情報処理装置においては、様々な情報処理を実行するために種々のアプリケーションやプログラムが利用される。例えば、販売店等でアプリケーションが格納されたＣＤ−ＲＯＭ等を購入し、購入したＣＤ−ＲＯＭからアプリケーションをＰＣにインストールしたり、ネットワーク経由でサーバからダウンロードしたアプリケーションをＰＣにインストールしたりすることで、ＰＣ上でのアプリケーションの実行が可能になる。
【０００３】
ユーザが利用することが出来るアプリケーションは、インターネットの普及に伴って日々増加している。このようなアプリケーションは多くのアプリケーション提供者から提供されているが、ユーザ側から見れば、膨大なアプリケーションの各々について、内容や実行可能な処理の正確な把握は非常に困難である。また、ユーザが新たなアプリケーションを購入またはダウンロードして、ＰＣ等にインストールしても、ユーザが期待した処理が実行できないという場合も珍しくない。
【０００４】
そこで、様々なデータ処理を実行するアプリケーションプログラムの紹介処理や、アプリケーションの実行環境を的確に構築し、ユーザのアプリケーション操作を支援するための技術が、各種提案されている。また、アプリケーションをＰＣにインストールせずに、サーバ上でアプリケーションを動作させて、ユーザの所望する処理を実行する技術が多数提案されている。例えば特許文献１では、ユーザが用意した画像データ等をウェブサーバにアップロードし、補正したいファイルを選ぶことで、ウェブサーバ上に補正の施された画像データを得ることが出来る技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２２９９０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかし、従来のアプリケーションプログラムの紹介処理では、数あるアプリケーションの中からなぜそのアプリケーションが選ばれて紹介されたのか、ユーザにとって分かり難いという問題があった。例えば、あるアプリケーションを実行中に、そのアプリケーションについての情報に基づいて、当該アプリケーションに関連するアプリケーションを選択して提示することは可能であるが、単にアプリケーションの名称やアイコンを画面に表示させるだけでは、ユーザは、そのアプリケーションで何が出来るのか、そのアプリケーションを使用するとどのような利点があるのかが分かり難いという問題があった。
【０００７】
そこで、本発明は、上記問題に鑑みてなされたものであり、本発明の目的とするところは、アプリケーションを紹介する際に、アプリケーションの実行サンプルを提示することで、なぜそのアプリケーションが紹介されたのかをユーザに理解させることが可能な、新規かつ改良された情報処理装置、情報処理方法、コンピュータプログラム及び情報処理サーバを提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、本発明のある観点によれば、アプリケーションを一意に特定するためのアプリケーションＩＤ、コンテンツ情報及び前記コンテンツ情報を前記アプリケーションで加工した加工コンテンツ情報を関連付けて保存している保存部から、指定された入出力に適合する前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて１または２以上出力する出力部と、前記出力部が出力したコンテンツ情報または加工コンテンツ情報を選択し、該選択したコンテンツ情報または加工コンテンツ情報に基づいて、前記アプリケーションＩＤを選択する選択部と、を備える、情報処理装置が提供される。
【０００９】
前記選択部が選択したコンテンツ情報に基づいて推薦アプリケーションを複数推薦するアプリケーション推薦部をさらに備え、前記出力部は、前記推薦アプリケーションを表す情報を１または２以上出力してもよい。
【００１０】
前記出力部は、アプリケーションのカテゴリ単位で表示し、前記選択部によって前記カテゴリを選択すると、前記出力部は加工前後のコンテンツを出力してもよい。
【００１１】
前記選択部は、選択したアプリケーションＩＤに対応するアプリケーションが自装置で実行可能かどうかを確認し、実行可能で無ければ他の装置からのダウンロードを要求するようにしてもよい。
【００１２】
前記選択部が選択したコンテンツ情報に基づいて、加工前後のコンテンツを作成するコンテンツ加工部をさらに備えていてもよい。
【００１３】
前記コンテンツ加工部が加工するために前記選択部が選択したコンテンツ情報は、原画像のサイズを縮小した縮小画像であってもよい。
【００１４】
前記出力部は、コンテンツが作成された環境に関する環境情報を用いて、前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて出力するようにしてもよい。
【００１５】
前記出力部は、アプリケーションの実行前に行われる処理に関連した前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて１または２以上出力するようにしてもよい。
【００１６】
前記出力部は、複数のコンテンツ情報及び加工コンテンツ情報を繋ぎ合わせることで指定された入出力に適合するものを１または２以上出力するようにしてもよい。
【００１７】
前記出力部は、指定された入出力に適合するコンテンツ情報及び加工コンテンツ情報が存在しない場合には、複数のコンテンツ情報及び加工コンテンツ情報を繋ぎ合わせることで指定された入出力に適合するもの存在を検索するようにしてもよい。
【００１８】
前記出力部は、加工コンテンツ情報を全て出力するようにしてもよい。
【００１９】
また、上記課題を解決するために、本発明の別の観点によれば、アプリケーションを一意に特定するためのアプリケーションＩＤ、コンテンツ情報及び前記コンテンツ情報を前記アプリケーションで加工した加工コンテンツ情報を関連付けて保存している保存部から、指定された入出力に適合する、前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて１または２以上出力する出力ステップと、前記出力ステップが出力したコンテンツ情報または加工コンテンツ情報を選択し、該選択したコンテンツ情報または加工コンテンツ情報に基づいて、前記アプリケーションＩＤを選択する選択ステップと、を備える、情報処理方法が提供される。
【００２０】
また、上記課題を解決するために、本発明の別の観点によれば、コンピュータに、アプリケーションを一意に特定するためのアプリケーションＩＤ、コンテンツ情報及び前記コンテンツ情報を前記アプリケーションで加工した加工コンテンツ情報を関連付けて保存している保存部から、指定された入出力に適合する、前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて１または２以上出力する出力ステップと、前記出力ステップが出力したコンテンツ情報または加工コンテンツ情報を選択し、該選択したコンテンツ情報または加工コンテンツ情報に基づいて、前記アプリケーションＩＤを選択する選択ステップと、を実行させる、コンピュータプログラムが提供される。
【００２１】
また、上記課題を解決するために、本発明の別の観点によれば、アプリケーションを一意に特定するためのアプリケーションＩＤ、コンテンツ情報及び前記コンテンツ情報を前記アプリケーションで加工した加工コンテンツ情報を関連付けて保存している保存部と、指定された入出力に適合する、前記保存部に保存されている前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて他の装置へ１または２以上出力する出力部と、前記出力部が出力したコンテンツ情報または加工コンテンツ情報の中から前記他の装置で選択された一のコンテンツ情報または加工コンテンツ情報に基づいて前記アプリケーションＩＤを選択する選択部と、を備える、情報処理サーバが提供される。
【００２２】
前記出力部は、コンテンツが作成された環境に関する環境情報を用いて、前記コンテンツ情報と、前記コンテンツ情報に関連付けられた前記加工コンテンツ情報とを関連づけて出力するようにしてもよい。
【発明の効果】
【００２３】
以上説明したように本発明によれば、アプリケーションを紹介する際に、アプリケーションの実行サンプルを提示することで、なぜそのアプリケーションが紹介されたのかをユーザに理解させることが可能な、新規かつ改良された情報処理装置、情報処理方法、コンピュータプログラム及び情報処理サーバを提供することができる。
【図面の簡単な説明】
【００２４】
【図１】本発明の一実施形態にかかる情報処理システムの構成について示す説明図である。
【図２】本発明の一実施形態にかかる情報処理装置１００の構成について示す説明図である。
【図３】本発明の一実施形態にかかるアプリケーション推薦システム１０による、アプリケーション推薦処理の基本概念について示す説明図である。
【図４】情報処理装置１００で画像編集アプリケーションを実行している場合における、アプリケーションの提示例について示す説明図である。
【図５】制御アプリケーション１６２及び画像加工アプリケーション１７１の機能ブロックの機能ブロックを示す説明図である。
【図６】制御アプリケーション１６２で用いるメタデータ（環境・加工情報ファイル）のタグ構成の一例を示す説明図である。
【図７】情報処理装置１００の内部でサンプルデータを生成し、生成したサンプルデータを制御アプリケーション１６２が表示する場合について示す説明図である。
【図８】サンプル情報保持部２０４へのサンプルデータの登録処理について示す流れ図である。
【図９】サンプル情報保持部２０４へのサンプルデータの登録処理について示す流れ図である。
【図１０】管理サーバ１２０へのサンプルデータの登録処理について示す流れ図である。
【図１１】制御アプリケーション１６２による画面１６０へのサンプルの一連の表示例について示す説明図である。
【図１２】制御アプリケーション１６２による画面１６０へのサンプルの一連の表示例について示す説明図である。
【図１３】制御アプリケーション１６２による画面１６０へのサンプルの一連の表示例について示す説明図である。
【図１４】制御アプリケーション１６２による画面１６０へのサンプルの一連の表示例について示す説明図である。
【図１５】制御アプリケーション１６２による画面１６０へのサンプルの一連の表示例について示す説明図である。
【図１６】制御アプリケーション１６２によって画面１６０に表示される処理の目的と、サンプル表示領域１６５に表示されるアプリケーションの処理サンプルの紐付けについて示す説明図である。
【図１７】各アプリケーションに対応して作成されるアプリケーション情報ファイル１７０１と、各アプリケーションを用いて生成されるサンプルに対応して生成される環境・加工情報ファイル１７０２との対応例について示す説明図である。
【図１８】画面へのサンプルの提示処理例について示す説明図である。
【図１９】制御アプリケーション１６２による画面１６０へのサンプルの提示処理、およびアプリケーションの実行処理を示す流れ図である。
【図２０】制御アプリケーション１６２による画面１６０へのサンプルの提示処理例について示す説明図である。
【図２１】制御アプリケーション１６２による画面１６０へのサンプルの提示処理を示す流れ図である。
【図２２】制御アプリケーション１６２による画面１６０へのサンプルの提示処理例について示す説明図である。
【図２３】制御アプリケーション１６２による画面１６０へのサンプルの提示処理を示す流れ図である。
【図２４】画面へのサンプルの提示処理例について示す説明図である。
【図２５】デジタルカメラ３００及び管理サーバ１２０の構成について示す説明図である。
【図２６】画面へのサンプルの提示処理およびアプリケーションの実行処理を示す流れ図である。
【図２７】機能の推薦処理及びサンプルの提示処理の応用例について示す説明図である。
【図２８】機能の推薦処理及びサンプルの提示処理の別の応用例について示す説明図である。
【図２９】図２８に示したサンプル表示処理について示す流れ図である。
【図３０】複数のサンプルを繋げることで、情報処理装置１００のユーザの処理目的や入出力情報等に適合する入出力のパスを探し出す処理の概要を示す説明図である。
【図３１】中間サンプルを画面１６０に提示する場合のサンプル表示処理について示す流れ図である。
【図３２】中間サンプルが含まれるサンプルデータの例を示す説明図である。
【図３３】制御アプリケーション１６２が中間サンプルを画面１６０に表示する場合に用いられる環境・加工情報ファイルのデータ構造の例を示す説明図である。
【図３４】制御アプリケーション１６２がアプリケーション及びサンプルデータを画面１６０に表示する際の表示例を示す説明図である。
【図３５】制御アプリケーション１６２がアプリケーション及びサンプルデータを画面１６０に表示する際の別の表示例を示す説明図である。
【図３６】情報処理装置１００のユーザがテキストボックス１６７に入力した内容から制御アプリケーション１６２がサンプルデータを抽出する処理の一例について示す流れ図である。
【図３７】制御アプリケーション１６２がアプリケーション及びサンプルデータを画面１６０に表示する際の別の表示例を示す説明図である。
【図３８】情報処理装置１００のユーザがテキストボックス１６７に入力した内容から制御アプリケーション１６２がサンプルデータを抽出する処理の一例について示す流れ図である。
【図３９】音声入力によりサンプルデータを抽出して表示する場合について説明図である。
【発明を実施するための形態】
【００２５】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００２６】
なお、説明は以下の順序で行うものとする。
＜１．本発明の一実施形態＞
［１−１．情報処理システムの構成］
［１−２．情報処理装置の構成］
［１−３．アプリケーション推薦処理の基本概念］
［１−４．アプリケーション推薦システムの動作］
＜２．まとめ＞
【００２７】
＜１．本発明の一実施形態＞
［１−１．情報処理システムの構成］
まず、本発明の一実施形態にかかる情報処理装置と、情報処理装置を用いた情報処理システムの構成について説明する。図１は、本発明の一実施形態にかかる情報処理システムの構成について示す説明図である。以下、図１を用いて本発明の一実施形態にかかる情報処理システムの構成について説明する。
【００２８】
図１に示したように、本発明の一実施形態にかかる情報処理システム１は、情報処理装置１００と、管理サーバ１２０と、アプリケーション提供サーバ１３１、１３２、１３３、・・・と、を含んで構成される。
【００２９】
情報処理装置１００は、様々なアプリケーションを実行するアプリケーション実行クライアントであり、例えばパーソナルコンピュータや携帯型の端末等、アプリケーションプログラムの実行機能を有する装置である。アプリケーションプログラムは、例えば情報処理装置１００の内部のハードディスクにインストールされ、ユーザからの起動指示に応じてハードディスクから読み出されて実行される。アプリケーションプログラムには、例えば、画像閲覧アプリケーション、画像編集アブリケーション、音楽再生アプリケーション、音楽編集アプリケーション、文書作成アプリケーション、ゲームアプリケーション、地図ルート検索アプリケーション、会計処理アプリケーション、メール作成アプリケーション等がある。ユーザは、様々なアプリケーションの中から所望する機能を有するアプリケーションを起動して使用することができる。
【００３０】
情報処理装置１００は、プログラム実行機能としてのＣＰＵ、プログラムやデータ格納領域としてのメモリ（ハードディスクやＲＡＭ、ＲＯＭ等）を備えている。情報処理装置１００の実行するプログラムにはオペレーティングシステム（ＯＳ）、アプリケーションプログラムなどが含まれる。情報処理装置１００は、ＣＤ−ＲＯＭなどのメディアからインストールしたアプリケーション、またはネットワークを介してダウンロードしたアプリケーションをメモリに格納し、ユーザがこれらのアプリケーションを適宜、選択して実行してもよい。
【００３１】
図１に示すアプリケーション提供サーバＡ１３１〜アプリケーション提供サーバＣ１３３は、情報処理装置１００に対して様々なアプリケーションを提供するサーバである。各アプリケーション提供サーバが提供するアプリケーションは、有料である場合もあり、無料である場合もある。情報処理装置１００は、アプリケーション提供サーバＡ１３１〜アプリケーション提供サーバＣ１３３の提供するアプリケーションをネットワーク経由でダウンロードして、情報処理装置１００内のメモリに格納して実行することが可能である。
【００３２】
図１に示す管理サーバ１２０は、アプリケーション提供サーバＡ１３１〜アプリケーション提供サーバＣ１３３の提供するアプリケーションに関する情報をアプリケーション提供サーバＡ１３１〜アプリケーション提供サーバＣ１３３から取得し管理する。管理サーバ１２０は、これらの情報をユーザの利用する情報処理装置１００に提供する。
【００３３】
情報処理装置１００は、管理サーバ１２０から受信したアプリケーション情報に基づいて、ユーザの利用する情報処理装置１００が利用できるアプリケーションや、アプリケーションが備える機能の紹介画面の提示処理などを行う。例えば情報処理装置１００において実行中のアプリケーションに関連する他のアプリケーションや、アプリケーションが備える機能についての推薦情報を生成して、情報処理装置１００が備える、または情報処理装置１００に接続されるディスプレイに表示する処理などを行う。
【００３４】
具体的には、例えば情報処理装置１００において、画像閲覧アプリケーションを実行している場合、管理サーバ１２０は、画像編集アプリケーションや、画像アップロードサービスアプリケーションなど、画像の編集や管理処理などを実行する関連アプリケーションの情報を提供する。
【００３５】
なお、図１では、管理サーバ１２０はアプリケーション提供サーバＡ１３１〜アプリケーション提供サーバＣ１３３と別のサーバとして示してあるが、管理サーバ１２０自身がアプリケーション提供サーバの機能を有する構成であってもよい。
【００３６】
以上、図１を用いて本発明の一実施形態にかかる情報処理システム１の構成について説明した。次に、本発明の一実施形態にかかる情報処理装置１００の構成について説明する。
【００３７】
［１−２．情報処理装置の構成］
図２は、本発明の一実施形態にかかる情報処理装置１００の構成について示す説明図である。以下、図２を用いて本発明の一実施形態にかかる情報処理装置１００の構成について説明する。
【００３８】
図２に示したように、本発明の一実施形態にかかる情報処理装置１００は、制御部１５１と、出力部１５２と、入力部１５３と、通信部１５４と、記憶部１５５と、を含んで構成される。
【００３９】
制御部１５１は、情報処理装置１００の各部を制御するものであり、例えばＣＰＵ等で構成される。出力部１５２は例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）、有機ＥＬディスプレイ等の表示デバイスや、音声を出力するスピーカ等によって構成される。入力部１５３はキーボード、各種の入力操作部である。なお入力部１５３は、タッチパネル等の出力部と入力部が一体化した構成であってもよい。
【００４０】
通信部１５４は、インターネット等のネットワークを介した通信を実行し、例えば図１に示す管理サーバ１２０、アプリケーション提供サーバ１３１〜１３３との通信を実行する。記憶部１５５は、アプリケーションや各種データを記憶するものであり、例えばハードディスクやフラッシュメモリ、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等、様々な記憶手段によって構成される。
【００４１】
制御部１５１は、アプリケーション実行部１５６と、アプリケーション管理部１５７と、を含んで構成される。
【００４２】
アプリケーション実行部１５６は、アプリケーションプログラムを実行するものである。このアプリケーション実行部１５６が実行するアプリケーションプログラムは、例えば記憶部１５５に格納される。記憶部１５５は、アプリケーション実行時のパラメータ、データなどの格納領域としても利用される。
【００４３】
記憶部１５５には、さらに、記憶部１５５に記憶されているアプリケーションを管理するアプリケーション管理プログラム、および記憶部１５５に記憶されているアプリケーションを管理するためのアプリケーション管理情報が記録される。アプリケーション管理情報は、制御部１５１のアプリケーション管理部１５７が生成する情報と、管理サーバ１２０が提供する情報とが含まれる。先に説明したように、図１に示した管理サーバ１２０は、アプリケーション提供サーバ１３１〜１３３の提供するアプリケーションに関する情報を情報処理装置１００に提供する。
【００４４】
アプリケーション管理部１５７は、記憶部１５５に記憶されているアプリケーション管理プログラムを実行して、例えば管理サーバ１２０から受信する情報に基づいて、ユーザに対して推薦する関連アプリケーションや関連機能の提示処理などを実行する。
【００４５】
以上、本発明の一実施形態にかかる情報処理装置１００の構成について説明した。次に、本発明の一実施形態にかかる管理サーバ１２０や情報処理装置１００で実行されるアプリケーション推薦処理の基本概念について説明する。
【００４６】
［１−３．アプリケーション推薦処理の基本概念］
図３は、本発明の一実施形態にかかるアプリケーション推薦システム１０による、アプリケーション推薦処理の基本概念について示す説明図である。以下、図３を用いてアプリケーション推薦処理の基本概念について説明する。
【００４７】
アプリケーション推薦システム１０によるアプリケーション推薦処理は、情報処理装置１００で今実行されているアプリケーションや、表示・再生されているコンテンツなどの情報から、状況と目的に適した機能を持つアプリケーションのみをフィルタリングして、そのアプリケーションの名称やアイコン等を情報処理装置１００の画面に表示するものである。
【００４８】
アプリケーションを推薦する際には、図３に示したように、情報処理装置１００にインストールされているアプリケーションのみならず、ネットワーク上（アプリケーション提供サーバ１３１、１３２、１３３等）に置かれているアプリケーション群もフィルタリングの対象とする。情報処理装置１００にインストールされているアプリケーションは、推薦されたものをそのまま実行することができる。一方、ネットワーク上のアプリケーションを推薦された場合には、そのアプリケーションを情報処理装置１００にダウンロードして実行したり、処理対象のファイルをサーバにアップロードしてサーバ上で実行したりすることができる。
【００４９】
なお、アプリケーションのフィルタリングは、情報処理装置１００で実行されているアプリケーションの種類、アプリケーションに関する情報（入力される、または出力するファイルの種類等の情報）、情報処理装置１００のユーザのアプリケーションの実行履歴の情報等に基づいて行われる。
【００５０】
このように、アプリケーションの情報処理装置１００へのインストールの有無に関わらず、適切なアプリケーションをフィルタリングして情報処理装置１００に提示し、情報処理装置１００上で（またはネットワークに接続されたサーバ上で）アプリケーションを実行することが出来る。
【００５１】
しかし、単に適切なアプリケーションをフィルタリングして画面に提示するだけでは、情報処理装置１００のユーザは何故そのアプリケーションが画面に提示されたのかを理解することは難しい。そこで、本発明の一実施形態にかかるアプリケーション推薦システム１０では、アプリケーションを提示する際に、そのアプリケーションの実行結果を示すサンプルを併せて提示することで、提示されたアプリケーションを実行するとどのような結果が得られるかが分かり、ユーザは提示されたアプリケーションの実行結果をイメージし易くなるという効果がある。
【００５２】
以下、複数の実施例によって、本発明の一実施形態にかかるアプリケーション推薦システム１０の動作について説明する。
【００５３】
［１−４．アプリケーション推薦システムの動作］
まずは、情報処理装置１００で画像編集アプリケーションを実行している場合にアプリケーションを提示する場合の例について説明する。図４は、情報処理装置１００で画像編集アプリケーションを実行している場合における、アプリケーションの提示例について示す説明図である。
【００５４】
図４は、情報処理装置１００の画面１６０に、（例えば情報処理装置１００にインストールされている）画像編集アプリケーション１６１が表示され、さらに、画像編集アプリケーション１６１に関連しているアプリケーションをユーザに提示するための制御アプリケーション１６２も表示されている状態を示している。なお、画像編集アプリケーション１６１及び制御アプリケーション１６２は、図２に示したアプリケーション実行部１５７によって実行される。
【００５５】
図４には、制御アプリケーション１６２を拡大したものを併せて示している。図４に示したように、制御アプリケーション１６２には、情報処理装置１００で実行中の画像編集アプリケーション１６１に関連するアプリケーションを起動するためのアイコン１６３ａ、１６３ｂ、１６３ｃ、・・・が画面１６０に表示される。これらのアイコンは、図４に示したように、アプリケーションの処理のカテゴリ単位で画面１６０に表示されるようにしてもよく、具体的なアプリケーション名や各アプリケーション固有のアイコンが画面１６０に表示されるようにしてもよい。
【００５６】
これらの画面１６０に表示されたアイコン１６３ａ、１６３ｂ、１６３ｃ、・・・に、ユーザが例えばマウスカーソル１６４を合わせたり、アイコン１６３ａ、１６３ｂ、１６３ｃ、・・・をマウスカーソル１６４でクリックしたりすると、画面１６０にサンプル表示領域１６５が表示され、そのアイコンに対応したアプリケーションを実行した場合のサンプルが、サンプル表示領域１６５に表示される。なお、以下の説明では、ユーザがマウスカーソル１６４を合わせたり、アイコン１６３ａ、１６３ｂ、１６３ｃ、・・・をマウスカーソル１６４でクリックしたりすることを単に「アイコンを選択する」と称する。
【００５７】
図４に示した例では、制御アプリケーション１６２によって、画像の加工を実行する画像加工アプリケーションに対応したアイコン１６３ａと、画像の印刷を実行する印刷アプリケーションに対応したアイコン１６３ｂと、所定のウェブサーバへの画像のアップロードを実行するアップロードアプリケーションに対応したアイコン１６３ｃと、が画面１６０に表示されている。
【００５８】
ここで、制御アプリケーション１６２が画面１６０に表示したアイコンの中から、ユーザによってアイコン１６３ａが選択されると、アプリケーション実行部１５７によって、画面１６０にサンプル表示領域１６５が表示される。サンプル表示領域１６５には、画像の加工を実行するアプリケーションの実行サンプルが表示される。この実行サンプルは、例えば情報処理装置１００の内部に保持していてもよく、管理サーバ１２０やアプリケーション提供サーバ１３１、１３２、１３３等からダウンロードしたものを用いても良い。
【００５９】
図５は、各アプリケーションの機能ブロックを示す説明図である。図５には、制御アプリケーション１６２及び画像加工アプリケーション１７１の機能ブロックが示されている。以下、図５を用いて制御アプリケーション１６２及び画像加工アプリケーション１７１の機能ブロックについて説明する。なお、画像加工アプリケーション１７１は、情報処理装置１００にインストールされていてもよく、管理サーバ１２０が実行するものであってもよい。
【００６０】
図５に示したように、制御アプリケーション１６２は、制御アプリケーションＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）部２０１と、制御モジュール２０２と、制御アプリケーションＩ／Ｏモジュール２０３と、サンプル情報保持部２０４と、を含んで構成される。また、画像加工アプリケーション１７１は画像加工アプリケーションＵＩ部２１１と、画像加工モジュール２１２と、画像加工アプリケーションＩ／Ｏモジュール２１３と、を含んで構成される。
【００６１】
制御アプリケーションＵＩ部２０１は、制御アプリケーション１６２に対する情報処理装置１００のユーザからの操作を受け付けるものである。例えば、ユーザから画像加工アプリケーション１７１を用いた画像の加工指示が制御アプリケーションＵＩ部２０１に渡されると、制御アプリケーションＵＩ部２０１は制御モジュール２０２に対して画像の加工を実行するように指示する。
【００６２】
制御モジュール２０２は、制御アプリケーション１６２の動作、及び制御アプリケーション１６２と連携して動作するアプリケーションの動作を制御するものである。制御アプリケーションＩ／Ｏモジュール２０３は、制御アプリケーション１６２と、制御アプリケーション１６２に連携して動作するアプリケーション（すなわち画像加工アプリケーション１７１）との間の入出力をインタフェースするものである。
【００６３】
サンプル情報保持部２０４は、画像加工アプリケーション１７１での画像加工処理のサンプルデータを保持するものである。サンプル情報保持部２０４に保持されたサンプルデータは、制御アプリケーション１６２が推薦するアプリケーションを表示する際に、併せて画面１６０に表示される。
【００６４】
画像加工アプリケーションＵＩ部２１１は、画像加工アプリケーション１７１に対する情報処理装置１００のユーザからの操作を受け付けるものである。例えば、ユーザから画像の加工指示が画像加工アプリケーションＵＩ部２１１に渡されると、画像加工アプリケーションＵＩ部２１１は画像加工モジュール２１２に対して画像の加工を実行するように指示する。
【００６５】
画像加工モジュール２１２は、画像データに対する加工処理を実行するものである。画像加工モジュール２１２が実行する加工処理には、例えば画像データの解像度の変換、画像サイズの変換、色の変換等がある。画像加工モジュール２１２によって加工処理が施された画像データは、画像加工アプリケーションＩ／Ｏモジュール２１３に送られて制御アプリケーション１６２に渡されたり、画像加工アプリケーションＵＩ部２１１に送られて画面１６０に表示されたりする。
【００６６】
画像加工アプリケーションＩ／Ｏモジュール２１３は、画像加工アプリケーション１７１と、画像加工アプリケーション１７１に連携して動作するアプリケーション（すなわち制御アプリケーション１６２）との間の入出力をインタフェースするものである。
【００６７】
制御アプリケーション１６２及び画像加工アプリケーション１７１が、図５に示したような構成を有することで、制御アプリケーション１６２は画像加工アプリケーション１７１での画像加工処理のサンプルを画面１６０に表示することができる。
【００６８】
以上、図５を用いて制御アプリケーション１６２及び画像加工アプリケーション１７１の機能ブロックについて説明した。次に、制御アプリケーション１６２及び画像加工アプリケーション１７１の動作について説明する。
【００６９】
図６は、制御アプリケーション１６２で用いるメタデータ（環境・加工情報ファイル）２１０のタグ構成の一例を示す説明図である。図６に示すようなメタデータ（環境・加工情報ファイル）２１０によって、制御アプリケーション１６２は、どのようなサンプルがどのような処理によって生成されたかを知ることが出来る。
【００７０】
メタデータ（環境・加工情報ファイル）２１０の“＜作成者コメント＞”タグには、サンプルの作成者のコメントが格納される。コメントの格納は任意であってもよい。“＜環境情報＞”タグには、画面に表示されるサンプルのような処理を実行するために必要な環境についての情報が格納される。図６に示したように、例えば“＜環境情報＞”タグの下位に“＜対応機種＞”タグを設けて、画面に表示されるサンプルのような処理を実行するために必要となる、アプリケーションの対応機種情報や、アプリケーションを実行するために必要最低限のメモリ、ＣＰＵなどのハードウェアスペックに関する情報が記述されていてもよい。
【００７１】
“＜入力コンテンツ＞”タグには、入力されるデータについての情報が記述され、“＜出力コンテンツ＞”タグには、出力されるサンプルデータについての情報が記述される。これらのタグには、サンプルデータがどのような入力データを受け付けて、どのような出力データに変換したサンプルかについての情報が記述される。入力が同様のデータタイプであれば、同じ手順でアプリケーションを実行して出力データと同様の結果を得ることが可能である。“＜入力コンテンツ＞”タグの下位には、図６に示したように“＜入力概要説明＞”、“＜コンテンツのタイプ＞”、“＜サンプルデータのアドレス＞”、および“＜類似比較できるメタ＞”タグが設けられる。また“＜出力コンテンツ＞”タグの下位には、図６に示したように“＜出力概要説明＞”、“＜コンテンツのタイプ＞”、および“＜サンプルデータのアドレス＞”タグが設けられる。“＜入力概要説明＞”タグには、例えば、アプリケーションが受け取ることができる入力について、ユーザに理解できるように解説した文章に関する情報が記述され、“＜入力概要説明＞”タグに記述された内容は、必要に応じて制御アプリケーション１６２が画面上に表示する。“＜コンテンツのタイプ＞”タグには、アプリケーションに入力可能なデータのタイプ、例えばＪＰＥＧ、ＢＭＰ、ＭＰＥＧ２、ＷＡＶなどの静止画、動画、音声のフォーマットが記入される。“＜サンプルデータのアドレス＞”タグには、入力／出力サンプルのサムネイル（画像、動画、音声、テキストなど）を取得できる場所（機器上、サーバ上）が書かれたアドレスについての情報が記述される。“＜類似比較できるメタ＞”タグには、例えば、何らかの情報処理によって出されたスコアにより、選択中の画像と当サンプルの類似度を定量的に比較するためのデータが記述される。このタグには、例えばサンプルに用いられている顔画像が男性なのか女性なのか、大人なのか子供なのか、どの程度の笑顔で写っているか（笑顔度はどの程度か）、メガネをかけているかいないのか、等のそれぞれのスコアが書かれているとして、選択中の画像の同様のスコアと比較することで、選択中の画像の状態に似た画像に対して行っているような処理をフィルタリングすることができる。
【００７２】
“＜サンプル評価＞”タグには、サンプルに対する第三者の評価についての情報が記述される。この“＜サンプル評価＞”タグには、作成者や、他のユーザが気に入ったサンプルを登録、ランク評価した記録に関する情報が記述されていてもよく、タグに記述された内容を制御アプリケーション１６２によって画面上に表示してもよい。“＜作成手順＞”タグには、サンプルデータを作成するための手順についての情報が記述される。
【００７３】
このような、コンテンツを加工した時の生成手順や、入力コンテンツと出力コンテンツのサムネイルの格納場所などの情報が書かれたメタデータ（環境・加工情報ファイル）を情報処理装置１００の内部で保持、または管理サーバ１２０から取得することで、制御アプリケーション１６２は、状況に応じたアプリケーションの推薦やサンプルの提示を実行することができる。
【００７４】
図７は、情報処理装置１００の内部でサンプルデータを生成し、生成したサンプルデータを制御アプリケーション１６２が表示する場合について示す説明図である。情報処理装置１００のユーザが、画像加工アプリケーション１７１を用いて上手くコンテンツを加工できたと思った場合には、当該ユーザは、データの入出力結果を、サンプル情報保持部２０４へ登録する。サンプルデータの入出力結果の、サンプル情報保持部２０４への登録は、ユーザが手動で行ってもよく、画像加工アプリケーション１７１が自動的に登録してもよい。
【００７５】
サンプル情報保持部２０４へサンプルデータの入出力に関する情報を登録することで、情報処理装置１００のユーザがどのようにコンテンツを加工したかどうか忘れてしまった場合でも、サンプル情報保持部２０４に登録されたサンプルデータを制御アプリケーション１６２が取得して画面１６０に表示することで、ユーザは過去の加工処理と同じ処理を情報処理装置１００で実行することができる。
【００７６】
図８は、サンプル情報保持部２０４へのサンプルデータの登録処理について示す流れ図である。図８に示した例は、画像加工アプリケーション１７１の作成者によるサンプルデータの登録処理について示したものである。以下、図８を用いてサンプル情報保持部２０４へのサンプルデータの登録処理について説明する。
【００７７】
まず、アプリケーション作成者がアプリケーションを作成する（ステップＳ８０１）。アプリケーション作成者は、作成したアプリケーションを用いて生成するサンプルデータの環境・加工情報を入力する（ステップＳ８０２）。この環境・加工情報は、サンプルデータを作成するための条件を含んでおり、例えば図６に示したようなメタデータの形式で生成される。アプリケーション作成者は、環境・加工情報へ、例えば作成したアプリケーションの説明や機能についての情報を入力してもよい。
【００７８】
アプリケーション作成者がサンプルデータの環境・加工情報を入力すると、続いてアプリケーション作成者は、サンプルデータの生成及び、生成したサンプルデータと、上記ステップＳ８０２で入力した環境・加工情報との紐付けを行う（ステップＳ８０３）。ステップＳ８０３で、サンプルデータの生成及び紐付けが行われると、環境・加工情報及びサンプルデータをサンプル情報保持部２０４のようなデータベースに保存する（ステップＳ８０４）と共に、管理サーバ１２０にアップロードする（ステップＳ８０５）。
【００７９】
このように、画像加工アプリケーション１７１の作成者が代表的な使い方をサンプルとして登録することで、まだ誰も使用していないアプリケーションであってもサンプルを見る人が効果を確認できる。
【００８０】
図９は、サンプル情報保持部２０４へのサンプルデータの登録処理について示す流れ図である。図９に示した例は、情報処理装置１００のユーザが画像加工アプリケーション１７１を用いて生成したデータをサンプルデータとして登録する場合について示したものである。以下、図９を用いてサンプル情報保持部２０４へのサンプルデータの登録処理について説明する。
【００８１】
情報処理装置１００のユーザは、画像加工アプリケーション１７１を用いて画像を加工する（ステップＳ９０１）。情報処理装置１００のユーザが画像加工アプリケーション１７１を用いて画像を加工すると、情報処理装置１００はこの画像加工に伴って環境・加工情報を生成する（ステップＳ９０２）。環境・加工情報の生成は、例えば画像加工モジュール２１２が実行してもよい。
【００８２】
環境・加工情報が生成されると、画像加工アプリケーション１７１は、画像加工モジュール２１２によってユーザの加工処理に基づいた加工後の画像を生成する（ステップＳ９０３）。画像加工モジュール２１２によって加工後の画像が生成されると、画像加工アプリケーション１７１は、加工後の画像を加工例のサンプルとして保存するかどうかを画面１６０に提示して、情報処理装置１００のユーザの判断を待機する（ステップＳ９０４）。
【００８３】
情報処理装置１００のユーザが、加工後の画像を加工例のサンプルとして保存することを選択すると、画像加工アプリケーション１７１は、上記ステップ９０２で生成した環境・加工情報、及びステップＳ９０３で生成した加工後の画像をサンプル情報保持部２０４に保存して（ステップＳ９０５）、処理を終了する。一方、情報処理装置１００のユーザが、加工後の画像を加工例のサンプルとして保存しないことを選択すると、環境・加工情報や加工後の画像の保存は行わずに、そのまま処理を終了する。
【００８４】
図１０は、管理サーバ１２０へのサンプルデータの登録処理について示す流れ図である。図１０に示した例は、情報処理装置１００のユーザが画像加工アプリケーション１７１を用いて生成したデータをサンプルデータとして管理サーバ１２０へ登録する場合について示したものである。以下、図１０を用いて管理サーバ１２０へのサンプルデータの登録処理について説明する。
【００８５】
情報処理装置１００のユーザは、画像加工アプリケーション１７１を用いて画像を加工する（ステップＳ１００１）。情報処理装置１００のユーザが画像加工アプリケーション１７１を用いて画像を加工すると、情報処理装置１００はこの画像加工に伴って環境・加工情報を生成する（ステップＳ１００２）。環境・加工情報の生成は、例えば画像加工モジュール２１２が実行してもよい。
【００８６】
環境・加工情報が生成されると、画像加工アプリケーション１７１は、画像加工モジュール２１２によってユーザの加工処理に基づいた加工後の画像を生成する（ステップＳ１００３）。画像加工モジュール２１２によって加工後の画像が生成されると、画像加工アプリケーション１７１は、加工後の画像を加工例のサンプルとして管理サーバ１２０へアップロードするかどうかを画面１６０に提示して、情報処理装置１００のユーザの判断を待機する（ステップＳ１００４）。
【００８７】
情報処理装置１００のユーザが、加工後の画像を加工例のサンプルとして管理サーバ１２０へアップロードすることを選択すると、画像加工アプリケーション１７１は、上記ステップ１００２で生成した環境・加工情報、及びステップＳ１００３で生成した加工後の画像をサンプル情報保持部２０４に保存して（ステップＳ１００５）、処理を終了する。一方、情報処理装置１００のユーザが、加工後の画像を加工例のサンプルとして管理サーバ１２０へアップロードしないことを選択すると、環境・加工情報や加工後の画像の保存は行わずに、そのまま処理を終了する。
【００８８】
このように、画像加工アプリケーション１７１を使用したユーザの実際のアプリケーション利用による加工例を増やすことで、画像加工アプリケーション１７１を使用することによる効果がさらに確認し易くなる。また、画像加工アプリケーション１７１を実行する際に、管理サーバ１２０にアップロードされた他人のサンプルを見ることで、画像加工アプリケーション１７１の思い掛けない使い道を発見できるといった効果も期待できる。
【００８９】
続いて、制御アプリケーション１６２による画面１６０へのサンプルの表示例について説明する。図１１〜図１５は、制御アプリケーション１６２による画面１６０へのサンプルの一連の表示例について示す説明図である。
【００９０】
図１１は、情報処理装置１００の画面１６０への、画像編集アプリケーション１６１の表示例を示したものである。情報処理装置１００で画像編集アプリケーション１６１が実行されると、例えば図１１に示したような画像データの一覧画面が画面１６０に表示される。画像編集アプリケーション１６１によって画面１６０に一覧表示された画像データから任意の画像をユーザが選択すると、その画像に対する編集処理が開始される。
【００９１】
図１２は、画像編集アプリケーション１６１に一覧表示された画像データの中から、ユーザ操作によって１つの画像が選択された場合における表示例を示したものである。画像編集アプリケーション１６１に一覧表示された画像データの中から、ユーザ操作によって１つの画像が選択されると、選択された画像が画面１６０に表示されると共に、制御アプリケーション１６２が実行され、状況に応じた処理の一覧が（例えばコンテキストメニューの形式等で）画面１６０に表示される。図１２には、状況に応じた処理の一覧としてアイコン１６３ａ〜１６３ｅが画面１６０に表示されている例を示している。なお、アイコン１６３ａ〜１６３ｅの背景色は、情報処理装置１００の内部にインストールされているアプリケーションと、情報処理装置１００にインストールされていないアプリケーションとで区別しても良い。図１２に示した例では、アイコン１６３ａ〜１６３ｃは情報処理装置１００の内部にインストールされているアプリケーションを起動するためのものであるから、例えば背景を薄い紫色で表示し、アイコン１６３ｄ、１６３ｅは情報処理装置１００の内部にインストールされていないアプリケーションを起動するためのものであるから、例えば背景を薄い水色で表示するようにしてもよい。
【００９２】
制御アプリケーション１６２によって表示された処理の一覧の中から任意の処理をユーザが選択することで、情報処理装置１００は、画像編集アプリケーション１６１で選択して画面１６０に表示された画像に対する処理を実行することができる。
【００９３】
ここでは、図１２に表示された処理の一覧の中から、情報処理装置１００のユーザが「加工」を選択した場合の画面表示例について説明する。図１３は、図１２に表示された処理の一覧の中から、情報処理装置１００のユーザが「加工」を選択した場合の画面表示例を示す説明図である。図１３には、画像をセピアカラーに変換するためのサンプルと、グレースケールに変換するためのサンプルと、色を鮮やかに変換するサンプル（無題のサンプル）とを図示している。情報処理装置１００のユーザが「加工」を選択すると、図１３に示したように、画面１６０には、制御アプリケーション１６２によって画像の加工前後のサンプルがサンプル表示領域１６５に表示される。このサンプル表示領域１６５に表示された画像の加工サンプルは、情報処理装置１００にインストールされているアプリケーションによって生成されるものであってもよく、情報処理装置１００にインストールされていないアプリケーションによって生成されるものであってもよい。
【００９４】
情報処理装置１００のユーザは、画面１６０に表示されたサンプルを見ることで、画像に対してどのような加工が行われるかを把握することができる。ここでは、画面１６０に表示されたサンプルの中から、情報処理装置１００のユーザがセピアカラーへの変更を実行するために「セピア」を選択した場合について説明する。
【００９５】
図１４に示したように、情報処理装置１００のユーザがマウスカーソル１６４等で、サンプル表示領域１６５に表示されたセピアカラーへの変更サンプルを選択すると、情報処理装置１００は、画像編集アプリケーション１６１で選択して画面１６０に表示された画像をセピアカラーへと変更する加工処理を実行する。図１５は、画面１６０に表示された画像が画像加工アプリケーション１７１によってセピアカラーへと変更された状態の表示例を示す説明図である。
【００９６】
このように、制御アプリケーション１６２によって画面１６０に画像加工処理のサンプルデータを表示することで、情報処理装置１００のユーザに対して、どのような加工処理が出来るのかを理解させる効果が期待できる。
【００９７】
なお、図１５に示したように、制御アプリケーション１６２によって画面１６０に表示される処理の一覧は、画像の加工処理後に変化させてもよい。図１２と図１５とを比較すると、制御アプリケーション１６２によって画面１６０に表示される処理の一覧が変化していることが分かる。このように、制御アプリケーション１６２は状況に応じて画面１６０に表示する処理を変化させることで、情報処理装置１００のユーザの処理効率の向上を図ることが期待できる。
【００９８】
以上、図１１〜図１５を用いて制御アプリケーション１６２による画面１６０へのサンプルの表示例について説明した。次に、制御アプリケーション１６２によって画面１６０に表示される「処理の目的」と、サンプル表示領域１６５に表示されるアプリケーションの「処理サンプル」との紐付け処理について説明する。
【００９９】
図１６は、制御アプリケーション１６２によって画面１６０に表示される処理の目的と、サンプル表示領域１６５に表示されるアプリケーションの処理サンプルの紐付けについて示す説明図である。
【０１００】
処理の目的と処理サンプルとは、各サンプルデータに対応する環境・加工情報ファイルに、処理の目的についての情報を記述しておくことで紐付けが可能になる。図１６は、画像の加工を目的としたサンプルであることを示すデータを環境・加工情報ファイル２２０に記述しておくことで、制御アプリケーション１６２によって画面１６０に表示される処理の目的と、サンプル表示領域１６５に表示されるアプリケーションの処理サンプルとを紐付ける場合について示したものである。
【０１０１】
図１６に示したような情報を環境・加工情報ファイル２２０に記述しておくことで、制御アプリケーション１６２は、予め用意されたサンプルがどのような処理目的で作成されたものであるのかを判別することができ、画面１６０に処理内容と紐付けてサンプルを表示することができる。
【０１０２】
図１７は、各アプリケーションに対応して作成されるアプリケーション情報ファイル１７０１と、各アプリケーションを用いて生成されるサンプルに対応して生成される環境・加工情報ファイル１７０２との対応例について示す説明図である。図１７には、ＪＰＥＧ形式で保存された画像をセピアカラーに加工してＪＰＥＧ形式で出力するアプリケーションのアプリケーション情報ファイル１７０１と、ビットマップ形式で保存された画像をＪＰＥＧ形式の画像に変換し、さらにセピアカラーに加工して出力するサンプルの環境・加工情報ファイル１７０２の例が示されている。
【０１０３】
アプリケーション情報ファイルは、アプリケーションが作成された時点でアプリケーションの作成者によって生成される。図１７に示したアプリケーション情報ファイル１７０１は、画像をセピアカラーに加工するアプリケーションの作成者によって情報が記述されたものであり、アプリケーション情報ファイル１７０１には、アプリケーションの目的についての情報と、アプリケーションのファイル名についての情報が、アプリケーションの作成者によって記述される。
【０１０４】
環境・加工情報ファイル１７０２は、サンプルデータが作成された時点でサンプルデータの作成者によって生成される。図１７に示した環境・加工情報ファイル１７０２は、ビットマップ形式の画像から、セピアカラーに加工されたＪＰＥＧ形式のファイルを生成して出力するサンプルの作成者によって情報が記述されたものであり、環境・加工情報ファイル１７０２には、サンプルの処理の目的と、サンプルを実行するための作成手順についての情報が、サンプルの作成者によって記述される。
【０１０５】
図１７に示したように、アプリケーションの処理目的とサンプルの処理目的とを紐付けるための情報を、アプリケーション情報ファイル及び環境・加工情報ファイルに記述することで、アプリケーションとサンプルデータとの紐付けが可能になる。
【０１０６】
続いて、画面へのサンプルの提示処理の他の例について説明する。まず、あるユーザが管理サーバ１２０にアップロードしたサンプルデータを他のユーザが確認して、クライアント上でアプリケーションを実行する場合におけるサンプルの提示処理例を説明する。
【０１０７】
図１８は、画面へのサンプルの提示処理例について示す説明図である。あるユーザが、画像データを加工するアプリケーション（例えば上述したような画像加工アプリケーション）を用いて画像データの加工を実行したところ、画像データの加工が上手くできたので、サンプルとして他のユーザにも使ってもらうためにそのサンプルをサーバ（管理サーバ１２０）へアップロードする場合を想定する。
【０１０８】
上記画像加工アプリケーションの使用に慣れていない他のユーザが、例えば情報処理装置１００で画像編集アプリケーション１６１を起動すると、制御アプリケーション１６２は、画像編集アプリケーション１６１に関連するアプリケーションを画面１６０に提示する。上述したように、アプリケーションに対応するアイコン等をユーザが選択すると、制御アプリケーション１６２は、当該アプリケーションで実行できる処理をサンプルデータと共に表示する。そのサンプルデータには、上記のあるユーザが画像加工アプリケーションを用いて作成したサンプルも含まれていても良い。
【０１０９】
そこで、当該ユーザは、制御アプリケーション１６２によって画面１６０に表示されたサンプルを見ることで、画像加工アプリケーションで実行できる処理の具体的な内容を確認することができる。また、当該ユーザが使用する情報処理装置１００に、画像加工アプリケーションがインストールされていない場合には、情報処理装置１００は、制御アプリケーション１６２の動作の下、アプリケーション提供サーバ等から画像加工アプリケーションをダウンロードしてインストールすることができる。
【０１１０】
図１９は、制御アプリケーション１６２による画面１６０へのサンプルの提示処理、およびアプリケーションの実行処理を示す流れ図である。図１９は、サーバ（管理サーバ１２０）に登録されたサンプルデータを取得して情報処理装置１００に表示する場合におけるサンプルの提示処理、およびアプリケーションの実行処理について示したものである。以下、図１９を用いて画面へのサンプルの提示処理およびアプリケーションの実行処理について説明する。
【０１１１】
まず、情報処理装置１００のユーザが、情報処理装置１００で画像編集アプリケーション１６１を起動して、一覧表示された画像の中から編集対象の画像を選択する（ステップＳ１９０１）。情報処理装置１００のユーザによって編集対象の画像が選択されると、情報処理装置１００から管理サーバ１２０に対して、入力情報、出力情報、情報処理装置１００の環境情報を通知する（ステップＳ１９０２）。これらの情報の通知は制御アプリケーション１６２が実行する。入力情報や出力情報は、例えば画像データのファイル形式であり、情報処理装置１００の環境情報は、例えば情報処理装置１００の種別、機種、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）及びそのバージョン等である。
【０１１２】
情報処理装置１００から送信された入力情報、出力情報、情報処理装置１００の環境情報を受け取った管理サーバ１２０は、これらの情報から、適合するサンプルデータを抽出する（ステップＳ１９０３）。管理サーバ１２０では、サンプルデータを抽出した後、他にサンプルの候補があるかどうかを判断する（ステップＳ１９０４）。他にサンプルの候補がある場合には、管理サーバ１２０は上記ステップＳ１９０３に戻ってサンプルデータの抽出を継続し、他にサンプルの候補が無い場合には、管理サーバ１２０は抽出したサンプルを情報処理装置１００でダウンロード可能な状態に置く。情報処理装置１００で動作する制御アプリケーション１６２は、管理サーバ１２０からサンプルデータをダウンロードし、画面１６０に表示する（ステップＳ１９０５）。
【０１１３】
サンプルデータが画面１６０に表示されると、情報処理装置１００のユーザは、表示されたサンプルデータの中から、使用したい任意のサンプルデータを選択する（ステップＳ１９０６）。情報処理装置１００のユーザによってサンプルデータが選択されると、制御アプリケーション１６２は、ユーザが選択したサンプルデータの様に画像を加工するためのアプリケーションが、情報処理装置１００にインストールされているかどうかを判断する（ステップＳ１９０７）。
【０１１４】
上記ステップＳ１９０７の判断の結果、該当するアプリケーションが情報処理装置１００にインストールされていないと判断した場合には、制御アプリケーション１６２は、サーバ（アプリケーション提供サーバ１３１、１３２、１３３、・・・）から必要なアプリケーションを情報処理装置１００へダウンロードする（ステップＳ１９０８）。そして、必要なアプリケーションの情報処理装置１００へのダウンロードが完了し、当該アプリケーションのインストールが完了すると、制御アプリケーション１６２は、サンプルデータと共に取得した加工情報（環境・加工情報ファイルに記述される）に従ってアプリケーションを実行し、上記ステップＳ１９０１で選択された画像データの加工処理を実行する（ステップＳ１９０９）。一方、上記ステップＳ１９０７の判断の結果、該当するアプリケーションが情報処理装置１００にインストールされていると判断した場合には、制御アプリケーション１６２は、上記加工情報に従ってアプリケーションを実行し、上記ステップＳ１９０１で選択された画像データの加工処理を実行する（ステップＳ１９０９）。
【０１１５】
次に、あるユーザが管理サーバ１２０にアップロードしたサンプルデータを他のユーザが確認して、サーバ上でアプリケーションを実行する場合におけるサンプルの提示処理例を説明する。
【０１１６】
図２０は、制御アプリケーション１６２による画面１６０へのサンプルの提示処理例について示す説明図である。このケースでは、図１８で示したケースと同様に、あるユーザが、画像データを加工するアプリケーション（例えば上述したような画像加工アプリケーション）を用いて画像データの加工を実行したところ、画像データの加工が上手くできたので、サンプルとして他のユーザにも使ってもらうためにそのサンプルをサーバ（管理サーバ１２０）へアップロードする場合を想定する。
【０１１７】
上記画像加工アプリケーションの使用に慣れていない他のユーザが、例えば情報処理装置１００で画像編集アプリケーション１６１を起動すると、制御アプリケーション１６２は、画像編集アプリケーション１６１に関連するアプリケーションを画面１６０に提示する。上述したように、アプリケーションに対応するアイコン等をユーザが選択すると、制御アプリケーション１６２は、当該アプリケーションで実行できる処理をサンプルデータと共に表示する。そのサンプルデータには、上記のあるユーザが画像加工アプリケーションを用いて作成したサンプルも含まれていても良い。
【０１１８】
そこで、当該ユーザは、制御アプリケーション１６２によって画面１６０に表示されたサンプルを見ることで、画像加工アプリケーションで実行できる処理の具体的な内容を確認することができる。また、当該ユーザが使用する情報処理装置１００に、画像加工アプリケーションがインストールされていない場合には、画像ファイルをアプリケーション提供サーバ等にアップロードし、当該サーバ等で画像加工アプリケーションを実行して画像ファイルを加工し、加工後の画像ファイルを情報処理装置１００にダウンロードする。このように、当該ユーザが使用する情報処理装置１００に、サンプルデータの様な処理を実行するアプリケーションがインストールされていない場合であっても、サンプルデータの様な処理をあたかも情報処理装置１００で実行した場合と同等の処理が可能となる。
【０１１９】
図２１は、制御アプリケーション１６２による画面１６０へのサンプルの提示処理を示す流れ図である。図２１は、サーバ（管理サーバ１２０）に登録されたサンプルデータを取得して情報処理装置１００に表示する場合におけるサンプルの提示処理、およびアプリケーションの実行処理について示したものである。以下、図２１を用いて画面へのサンプルの提示処理およびアプリケーションの実行処理について説明する。
【０１２０】
まず、情報処理装置１００のユーザが、情報処理装置１００で画像編集アプリケーション１６１を起動して、一覧表示された画像の中から編集対象の画像を選択する（ステップＳ２１０１）。情報処理装置１００のユーザによって編集対象の画像が選択されると、情報処理装置１００から管理サーバ１２０に対して、入力情報、出力情報、情報処理装置１００の環境情報を通知する（ステップＳ２１０２）。これらの情報の通知は制御アプリケーション１６２が実行する。入力情報や出力情報は、例えば画像データのファイル形式であり、情報処理装置１００の環境情報は、例えば情報処理装置１００の種別、機種、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）及びそのバージョン等である。
【０１２１】
情報処理装置１００から送信された入力情報、出力情報、情報処理装置１００の環境情報を受け取った管理サーバ１２０は、これらの情報から、適合するサンプルデータを抽出する（ステップＳ２１０３）。管理サーバ１２０では、サンプルデータを抽出した後、他にサンプルの候補があるかどうかを判断する（ステップＳ２１０４）。他にサンプルの候補がある場合には、管理サーバ１２０は上記ステップＳ２１０３に戻ってサンプルデータの抽出を継続し、他にサンプルの候補が無い場合には、管理サーバ１２０は抽出したサンプルを情報処理装置１００でダウンロード可能な状態に置く。情報処理装置１００で動作する制御アプリケーション１６２は、管理サーバ１２０からサンプルデータをダウンロードし、画面１６０に表示する（ステップＳ２１０５）。
【０１２２】
サンプルデータが画面１６０に表示されると、情報処理装置１００のユーザは、表示されたサンプルデータの中から、使用したい任意のサンプルデータを選択する（ステップＳ２１０６）。情報処理装置１００のユーザによってサンプルデータが選択されると、制御アプリケーション１６２は、上記ステップＳ２１０１で選択した画像データをサーバ（例えばアプリケーション提供サーバ１３１）へアップロードする（ステップＳ２１０７）。
【０１２３】
上記ステップＳ２１０１で選択した画像データがサーバへアップロードされると、サーバでは、上記ステップＳ２１０６で情報処理装置１００のユーザによって選択されたサンプルデータの加工情報に従って、アップロードされた画像に対する加工処理を実行する（ステップＳ２１０８）。加工処理が完了すると、サーバは加工後の画像データをダウンロード可能な状態に置く。制御アプリケーション１６２は、加工後の画像データをサーバから情報処理装置１００へダウンロードして、情報処理装置１００の画面１６０に表示する（ステップＳ２１０９）。
【０１２４】
次に、あるユーザがサーバにアップロードしたデータをサーバ上で加工して、クライアントにサンプルとして提示する場合におけるサンプルの提示処理例を説明する。
【０１２５】
図２２は、制御アプリケーション１６２による画面１６０へのサンプルの提示処理例について示す説明図である。このケースでは、図１８や図２０で示したケースとは異なり、あるユーザが画像データをサーバにアップロードし、サーバ上でデータの種別や処理目的に適合するアプリケーションを実行して、その出力結果をサンプルとしてクライアントに提示する場合を想定する。ここで、サーバにアップロードする画像は、原画像そのものであってもよいが、サーバでのサンプル作成負荷の軽減という観点から、原画像のサイズを縮小したものであってもよい。
【０１２６】
まず、あるユーザが情報処理装置１００で画像編集アプリケーション１６１を実行し、画像編集アプリケーション１６１が画面１６０に表示した複数の画像の中から、１つの（または複数の）画像を選択する。画像編集アプリケーション１６１で画像が選択されると、制御アプリケーション１６２は、情報処理装置１００で実行中の画像編集アプリケーション１６１に関連するアプリケーションを起動するためのアイコンを画面１６０に表示するとともに、ユーザが選択した画像を、情報処理装置１００の環境情報と共にサーバ（例えば管理サーバ１２０）に送信する。
【０１２７】
サーバは、情報処理装置１００から送信された画像や、情報処理装置１００の環境情報に基づいて、適切なサンプルに関する情報を抽出し、情報処理装置１００から送信された画像を用いて、（例えばアプリケーション提供サーバ１３１等にインストールされている）アプリケーションを実行してサンプルデータを生成する。情報処理装置１００で実行されている制御アプリケーション１６２は、生成されたサンプルデータをダウンロードして画面１６０に表示する。これにより、情報処理装置１００にアプリケーションがインストールされていなくても、情報処理装置１００のユーザは画像の加工処理結果をサンプルとして確認できる。アプリケーションはサーバ上で実行するので、情報処理装置１００が非力な処理能力しか有していないものでも、情報処理装置１００においてサンプルデータの確認が可能であり、また現在選択中の画像に対する処理結果を情報処理装置１００で直接確認することができる。
【０１２８】
図２３は、制御アプリケーション１６２による画面１６０へのサンプルの提示処理を示す流れ図である。図２３は、クライアントからサーバ（例えば管理サーバ１２０）へデータを送信し、サーバ上でサンプルデータを生成して情報処理装置１００に表示する場合におけるサンプルの提示処理、およびアプリケーションの実行処理について示したものである。以下、図２３を用いて画面へのサンプルの提示処理およびアプリケーションの実行処理について説明する。
【０１２９】
まず、情報処理装置１００のユーザが、情報処理装置１００で画像編集アプリケーション１６１を起動して、一覧表示された画像の中から編集対象の画像を選択する（ステップＳ２３０１）。情報処理装置１００のユーザによって編集対象の画像が選択されると、情報処理装置１００から管理サーバ１２０に対して、入力情報、出力情報、及び上記ステップＳ２３０１で選択された画像を送信する（ステップＳ２３０２）。情報処理装置１００から管理サーバ１２０へは、原画像のサイズの画像を送信しても良いが、サンプルデータの生成という観点から、小さく縮小したものを送信しても良い。
【０１３０】
情報処理装置１００から送信された入力情報、出力情報、情報処理装置１００の環境情報を受け取った管理サーバ１２０は、これらの情報から、適合するサンプルデータを１つ、または２つ以上抽出する（ステップＳ２３０３）。サンプルデータを抽出した管理サーバ１２０は、上記ステップＳ２３０２で情報処理装置１００から送信された画像から、上記ステップＳ２３０３で抽出したサンプルデータを用いてサンプルを作成する（ステップＳ２３０４）。なお、実際のサンプルの作成は、アプリケーション実行サーバ１３１で実行するようにしてもよい。管理サーバ１２０は、ステップＳ２３０４でサンプルを作成すると、作成したサンプルをダウンロード可能な状態に置く。制御アプリケーション１６２は、管理サーバ１２０からサンプルをダウンロードして、画面１６０に表示する（ステップＳ２３０５）。
【０１３１】
サンプルデータが画面１６０に表示されると、情報処理装置１００のユーザは、表示されたサンプルデータの中から、使用したい任意のサンプルデータを選択する（ステップＳ２３０６）。情報処理装置１００のユーザによってサンプルデータが選択されると、制御アプリケーション１６２は、上記ステップＳ２３０１で選択した画像データをサーバ（例えば管理サーバ１２０）へ再度アップロードする（ステップＳ２３０７）。
【０１３２】
上記ステップＳ２３０１で選択した画像データがサーバへアップロードされると、サーバでは、上記ステップＳ２３０６で情報処理装置１００のユーザによって選択されたサンプルデータの加工情報に従って、アップロードされた画像に対する加工処理を実行する（ステップＳ２３０８）。加工処理が完了すると、サーバは加工後の画像データをダウンロード可能な状態に置く。制御アプリケーション１６２は、加工後の画像データをサーバから情報処理装置１００へダウンロードして、情報処理装置１００の画面１６０に表示する（ステップＳ２３０９）。
【０１３３】
次に、デジタルカメラや携帯電話で撮影した画像データをサーバ上で加工して、撮影したデジタルカメラや携帯電話にサンプルとして提示する場合におけるサンプルの提示処理例を説明する。
【０１３４】
図２４は、画面へのサンプルの提示処理例について示す説明図である。このケースでは、あるユーザがデジタルカメラや携帯電話で撮影した画像データをサーバにアップロードし、サーバ上でデータの種別や処理目的に適合するアプリケーションを実行して、その出力結果をサンプルとして、そのデジタルカメラや携帯電話に提示する場合を想定する。
【０１３５】
まず、あるユーザがデジタルカメラ３００や携帯電話４００で撮影した画像を、そのデジタルカメラ３００や携帯電話４００の環境情報と共にサーバ（例えば管理サーバ１２０）に送信する。サーバは、デジタルカメラ３００や携帯電話４００から送信された画像や、デジタルカメラ３００や携帯電話４００の環境情報に基づいて、適切なサンプルに関する情報を抽出し、デジタルカメラ３００や携帯電話４００から送信された画像を用いて、（例えばアプリケーション提供サーバ１３１等にインストールされている）アプリケーションを実行してサンプルデータを生成する。
【０１３６】
例えば、デジタルカメラ３００で撮影された画像をサーバで加工する場合には、サーバは、例えば「一眼レフカメラで」「望遠レンズを用いて」「夜に撮影された」画像についてよく行われる加工処理を抽出してサンプルデータを作成する。また例えば、携帯電話４００で撮影された画像をサーバで加工する場合には、サーバは、例えば「携帯電話で」「昼に」「花を撮影した時に」よく行われる加工処理を抽出してサンプルデータを作成する。
【０１３７】
デジタルカメラ３００や携帯電話４００で実行されている制御アプリケーション１６２は、生成されたサンプルデータをサーバからダウンロードしてデジタルカメラ３００や携帯電話４００の画面に表示する。これにより、デジタルカメラ３００や携帯電話４００にアプリケーションがインストールされていなくても、デジタルカメラ３００や携帯電話４００のユーザは画像の加工処理結果をサンプルとして確認できる。アプリケーションはサーバ上で実行するので、デジタルカメラ３００や携帯電話４００が非力な処理能力しか有していないものでも、デジタルカメラ３００や携帯電話４００においてサンプルデータの確認が可能であり、またデジタルカメラ３００や携帯電話４００で撮影した画像を、そのデジタルカメラ３００や携帯電話４００で直接確認することができる。
【０１３８】
図２５は、デジタルカメラ３００及び管理サーバ１２０の構成について示す説明図である。以下、図２５を用いてデジタルカメラ３００及び管理サーバ１２０の構成について説明する。
【０１３９】
図２５に示したように、デジタルカメラ３００は、アプリケーション推薦モジュール３１０と、撮影画像保持部３２０と、カメラ通信モジュール３３０と、を含んで構成される。また、管理サーバ１２０は、アプリケーション保持部１４１と、アプリケーション実行モジュール１４２と、サンプル情報保持部１４３と、適合サンプル抽出モジュール１４４と、サンプル情報制御モジュール１４５と、サーバ通信モジュール１４６と、を含んで構成される。
【０１４０】
アプリケーション推薦モジュール３１０は、デジタルカメラ３００のユーザに対して状況に応じて適切なアプリケーションを提示するものであり、提示されるアプリケーションは、デジタルカメラ３００に組み込まれていたり、管理サーバ１２０が管理したりするアプリケーションの中から選択される。図２５に示したように、アプリケーション推薦モジュール３１０は、カメラアプリケーション推薦（ＵＩ）ユーザインタフェース部３１１と、アプリケーション推薦制御モジュール３１２と、縮小画像生成モジュール３１３と、アプリケーション推薦Ｉ／Ｏモジュール３１４と、を含んで構成される。
【０１４１】
カメラアプリケーション推薦ユーザインタフェース部３１１は、デジタルカメラ３００のユーザからの各種操作を受け付けるためのインタフェースである。例えば、デジタルカメラ３００のユーザが、操作ボタン（図示せず）等を用いて撮影画像を選択すると、カメラアプリケーション推薦ユーザインタフェース部３１１は、選択された画像についての情報をアプリケーション推薦制御モジュール３１２に通知する。
【０１４２】
アプリケーション推薦制御モジュール３１２は、アプリケーション推薦モジュール３１０の動作、及びアプリケーション推薦モジュール３１０と連携して動作するアプリケーションの動作を制御するものである。縮小画像生成モジュール３１３は、デジタルカメラ３００に記録されている撮影画像を所定のサイズに縮小した画像を生成するものである。アプリケーション推薦Ｉ／Ｏモジュール３１４は、アプリケーション推薦モジュール３１０と、アプリケーション推薦モジュール３１０に連携して動作するアプリケーションとの間の入出力をインタフェースするものである。
【０１４３】
撮影画像保持部３２０は、デジタルカメラ３００で撮影した画像を保持しておくものであり、例えば各種フラッシュメモリや記録媒体を用いることができる。カメラ通信モジュール３３０は、デジタルカメラ３００と管理サーバ１２０との間の通信処理を実行するものである。例えば、カメラ通信モジュール３３０は、デジタルカメラ３００のユーザが選択した画像を送信し、管理サーバ１２０からデジタルカメラ３００から送信した画像に対する各種加工処理が施された画像を受信する。
【０１４４】
アプリケーション保持部１４１は、アプリケーション実行モジュール１４２で実行するアプリケーションを保持しておくものである。なお、図２５に示した例では、管理サーバ１２０の内部にアプリケーションを保持するためのアプリケーション保持部１４１を備えているが、本発明はかかる例に限定されないことは言うまでも無い。
【０１４５】
アプリケーション実行モジュール１４２は、アプリケーション保持部１４１が保持しているアプリケーションを、必要に応じて読み出して実行するものである。サンプル情報保持部１４３は、アプリケーション保持部１４１が保持しているアプリケーションを用いたサンプルデータに関する情報を保持するものである。サンプルデータに関する情報としては、例えば、サンプルを生成するための入出力情報、サンプルを生成する順序、サンプルを生成するためのアプリケーションの情報等があり、サンプル情報保持部１４３は、これらの情報を図６に示すようなメタデータの形式で保持していても良い。
【０１４６】
適合サンプル抽出モジュール１４４は、サンプル情報保持部１４３が保持するサンプルデータの中から、サンプル情報制御モジュール１４５から通知された情報に適合するサンプルデータを抽出するものである。図２５に示した例では、サンプル情報制御モジュール１４５から適合サンプル抽出モジュール１４４に通知される情報としては、例えばデジタルカメラ３００で撮影された画像のついての情報や、撮影機種、撮影時間についての情報がある。
【０１４７】
サンプル情報制御モジュール１４５は、サンプルデータの生成に関する各種処理を実行すると共に、アプリケーション実行モジュール１４２や適合サンプル抽出モジュール１４４の動作を制御するものである。サーバ通信モジュール１４６は、管理サーバ１２０とデジタルカメラ３００との間の通信処理を実行するものである。
【０１４８】
以上、図２５を用いてデジタルカメラ３００及び管理サーバ１２０の構成について説明した。次に、図２５に示したデジタルカメラ３００及び管理サーバ１２０を用いた画面へのサンプルの提示処理について説明する。
【０１４９】
図２６は、画面へのサンプルの提示処理およびアプリケーションの実行処理を示す流れ図である。図２６は、図２５に示したデジタルカメラ３００及び管理サーバ１２０を用いた、デジタルカメラ３００へのサンプルの提示処理、およびアプリケーションの実行処理について示したものである。以下、図２６を用いて画面へのサンプルの提示処理およびアプリケーションの実行処理について説明する。
【０１５０】
まず、デジタルカメラ３００のユーザが、デジタルカメラ３００の撮影画像保持部３２０に記録された撮影画像の中から、編集対象となる撮影画像を選択する（ステップＳ２６０１）。選択された撮影画像の情報はカメラアプリケーション推薦ユーザインタフェース３１１が検知し、カメラアプリケーション推薦ユーザインタフェース３１１からアプリケーション推薦制御モジュール３１２へ送られる。
【０１５１】
撮影画像がデジタルカメラ３００のユーザによって選択されると、アプリケーション推薦制御モジュール３１２は、選択された撮影画像の撮影情報（例えば撮影時間や撮影場所など、撮影時の環境に関する情報）や撮影機種の情報をアプリケーション推薦Ｉ／Ｏモジュール３１４に送ると共に、選択された撮影画像の情報を縮小画像生成モジュール３１３に送る。縮小画像生成モジュール３１３は、上記ステップＳ２６０１で選択された撮影画像の情報を用いて、撮影画像保持部３２０から画像データを取得して、所定のサイズに縮小加工し、縮小加工した画像データをアプリケーション推薦Ｉ／Ｏモジュール３１４に送る。
【０１５２】
アプリケーション推薦Ｉ／Ｏモジュール３１４は、アプリケーション推薦制御モジュール３１２から送られた撮影情報や縮小画像生成モジュール３１３で縮小した画像データを、カメラ通信モジュール３３０を介して管理サーバ１２０へ送信する（ステップＳ２６０２）。
【０１５３】
デジタルカメラ３００から撮影情報や画像データを受信した管理サーバ１２０は、サンプル情報制御モジュール１４５から適合サンプル抽出モジュール１４４へ、受信した撮影情報を送る。適合サンプル抽出モジュール１４４は、受け取った撮影情報を用いて、デジタルカメラ３００の機種や撮影状況に応じたサンプル情報を、１つまたは２つ以上、サンプル情報保持部１４３から抽出する（ステップＳ２６０３）。
【０１５４】
適合サンプル抽出モジュール１４４が、デジタルカメラ３００の機種や撮影状況に応じたサンプル情報をサンプル情報保持部１４３から抽出すると、抽出したサンプル情報をサンプル情報制御モジュール１４５に送る。サンプル情報を受け取ったサンプル情報制御モジュール１４５は、デジタルカメラ３００から送信された画像データと、抽出したサンプル情報に記述されている使用アプリケーションの情報をアプリケーション実行モジュール１４２に送る。アプリケーション実行モジュール１４２は、サンプル情報制御モジュール１４５から送られたアプリケーションの情報に基づいて、アプリケーション保持部１４１（またはアプリケーションが組み込まれている他のサーバ）からアプリケーションを読み出して、サンプル情報に基づいてサンプル画像を作成する（ステップＳ２６０４）。
【０１５５】
アプリケーション実行モジュール１４２は、生成したサンプル画像をサンプル情報制御モジュール１４５に送る。サンプル情報制御モジュール１４５は、アプリケーション実行モジュール１４２を生成したサンプル画像を、サーバ通信モジュール１４６を通じてデジタルカメラ３００に送信する。カメラ通信モジュール３３０を通じて管理サーバ１２０からサンプル画像を受け取ったデジタルカメラ３００は、管理サーバ１２０で生成されたサンプル画像を、アプリケーション推薦Ｉ／Ｏモジュール３１３、アプリケーション推薦制御モジュール３１２、カメラアプリケーション推薦ユーザインタフェース３１１を通じて画面（図示せず）に表示する（ステップＳ２６０５）。
【０１５６】
管理サーバ１２０で生成されたサンプル画像がデジタルカメラ３００の画面に表示されると、デジタルカメラ３００のユーザは、表示されたサンプル画像の中から使用したいサンプルを選択することができる（ステップＳ２６０６）。デジタルカメラ３００のユーザによって、画面に表示されたサンプル画像の中から一のサンプル画像が選択されたことをカメラアプリケーション推薦ユーザインタフェース３１１が検知すると、カメラアプリケーション推薦ユーザインタフェース３１１は、上記ステップＳ２６０１で選択した画像データを、撮影画像保持部３２０から再度取得し、上記ステップＳ２６０６で選択されたサンプル画像に関する情報と共に、管理サーバ１２０へアップロードする（ステップＳ２６０７）。
【０１５７】
デジタルカメラ３００から、ユーザが選択したサンプル画像についての情報と、ユーザが選択した画像データを受信した管理サーバ１２０は、デジタルカメラ３００で選択されたサンプル画像の加工情報に従って、デジタルカメラ３００から送信された画像データの加工処理を実行する（ステップＳ２６０８）。具体的には、サーバ通信モジュール１４６で受信した画像データ及びサンプル画像についての情報をサンプル情報制御モジュール１４５で受け取り、サンプル情報制御モジュール１４５が、アプリケーション実行モジュール１４２に対して画像データに対する加工処理を指示する。アプリケーション実行モジュール１４２は、サンプル情報制御モジュール１４５から送られたアプリケーションの情報に基づいて、アプリケーション保持部１４１（またはアプリケーションが組み込まれている他のサーバ）からアプリケーションを読み出して、画像データに対する加工処理を実行する。
【０１５８】
アプリケーション実行モジュール１４２で加工処理が完了すると、加工処理が施された画像データをデジタルカメラ３００でダウンロード可能な状態に置く。デジタルカメラ３００は、加工処理が施された画像データを管理サーバ１２０からダウンロードする（ステップＳ２６０９）。デジタルカメラ３００にダウンロードした画像データは、カメラアプリケーション推薦ユーザインタフェース３１１によって画面に表示する。また、デジタルカメラ３００にダウンロードした画像データはアプリケーション推薦制御モジュール３１２によって撮影情報保持部３２０に格納しても良い。
【０１５９】
以上、図２６を用いて、デジタルカメラ３００及び管理サーバ１２０を用いた、サンプルの提示処理およびアプリケーションの実行処理について説明した。
【０１６０】
次に、上述した機能の推薦処理及びサンプルの提示処理の応用例について説明する。図２７は、機能の推薦処理及びサンプルの提示処理の応用例について示す説明図である。
【０１６１】
図２７に示した例は、制御アプリケーション１６２によって画面１６０に提示された機能の中から、情報処理装置１００のユーザがある機能を選択すると、その機能を実行する前に可能な処理をサンプルと共に表示する場合について示したものである。図２７に示した例では、情報処理装置１００のユーザが、所定のサーバに対する画像のアップロード処理を実行するために、制御アプリケーション１６２によって画面１６０に提示された機能の中から“Ｕｐｌｏａｄ”を選択すると、画像のアップロード処理の実行前に可能な処理（例えばアップロードする画像に対する各種加工処理）のサンプルを表示している。表示されたサンプルを情報処理装置１００のユーザが選択すると、選択したサンプルと同様の処理を、アップロードしようとする画像に対して、情報処理装置１００または管理サーバ１２０で画像の加工処理を実行する。画像の加工処理が完了すると、加工が施された画像を所定のサーバに対してアップロードする。
【０１６２】
なお、情報処理装置１００のユーザがある機能を選択した場合に、当該機能の実行前に可能な処理を抽出するには、例えば、情報処理装置１００や管理サーバ１２０で処理ごとのログを保持しておき、当該ログを用いても良い。例えば、ある処理が実行された後に実行される可能性の高い処理をログの中から抽出することで、情報処理装置１００のユーザがある機能を選択した場合に、当該機能の実行前に可能な処理を選び出すことが可能となる。
【０１６３】
このように、画面１６０に提示された機能の中から、情報処理装置１００のユーザがある機能を選択すると、当該機能の実行前に可能な処理をサンプルとともに提示することで、情報処理装置１００のユーザに対して、ある処理に連携して実行可能な別の処理の気付きをもたらす効果が期待できる。
【０１６４】
図２８は、機能の推薦処理及びサンプルの提示処理の別の応用例について示す説明図である。
【０１６５】
図２８に示した例は、制御アプリケーション１６２によって画面１６０にテキストボックス１６７を表示することで、情報処理装置１００のユーザから処理したい内容の入力を受け付ける場合についてのものである。
【０１６６】
情報処理装置１００のユーザが、テキストボックス１６７に「アップロード」と入力すると、制御アプリケーション１６２は、テキストボックス１６７に入力された文字を解析することで情報処理装置１００のユーザの処理目的を認識する。情報処理装置１００のユーザの処理目的を認識した制御アプリケーション１６２は、処理目的に合致したアプリケーション動作サンプルを、情報処理装置１００や管理サーバ１２０の中から抽出し、情報処理装置１００のユーザの処理目的に合致した処理手順をアプリケーション動作サンプルと共に画面１６０に表示する。図２８に示した例では、所定のサーバへの画像データのアップロードの際に４通りのアプリケーション動作サンプルを制御アプリケーション１６２が抽出した場合について示している。情報処理装置１００のユーザが、制御アプリケーション１６２によって画面１６０に表示されたサンプルデータを選択すると、制御アプリケーション１６２は、画像の加工から、加工後の画像データのサーバへのアップロードまでを一括して実行する。
【０１６７】
このように、複数のアプリケーション動作サンプルの入出力を繋げて表示することで、が途中でどのような処理が行われるかについて情報処理装置１００のユーザが把握できるという効果が期待できる。
【０１６８】
図２９は、図２８に示したサンプル表示処理について示す流れ図である。以下、図２９を用いて、図２８に示したような、複数のアプリケーション動作サンプルの入出力を繋げてサンプルを表示する場合のサンプル表示処理について説明する。
【０１６９】
制御アプリケーション１６２が情報処理装置１００の画面１６０にテキストボックス１６７を表示すると、情報処理装置１００のユーザから文字入力を受け付けることが出来る状態となる。この状態で、情報処理装置１００のユーザがテキストボックス１６７に処理目的を入力すると（ステップＳ２９０１）、制御アプリケーション１６２は、テキストボックス１６７に入力されたユーザの処理目的を解析し、ユーザの処理目的に合致した入出力情報及び情報処理装置１００の環境情報を取得する（ステップＳ２９０２）。制御アプリケーション１６２が取得したこれらの情報や、ユーザがテキストボックス１６７に入力した処理目的の情報は、管理サーバ１２０に送られるようにしてもよい。
【０１７０】
制御アプリケーション１６２、または制御アプリケーション１６２が取得した上記各情報を受信した管理サーバ１２０は、各情報に適合するサンプルデータの検索を開始する（ステップＳ２９０３）。管理サーバ１２０でのサンプルデータの検索は、例えば図２５に示したサンプル情報制御モジュール１４５が実行しても良い。以下の説明では、サンプルデータの抽出処理はサンプル情報制御モジュール１４５が実行するとして説明するが、もちろん情報処理装置１００の制御アプリケーション１６２が実行しても良い。上記ステップＳ２９０３での検索の結果、ユーザの処理目的や入出力情報等に適合するサンプルが存在するかどうかをサンプル情報制御モジュール１４５が判断する（ステップＳ２９０４）。
【０１７１】
ユーザの処理目的や入出力情報等に適合するサンプルが存在するとサンプル情報制御モジュール１４５が判断した場合には、続いて、情報処理装置１００に表示するために必要な数のサンプルを抽出したかどうかをサンプル情報制御モジュール１４５が判断する（ステップＳ２９０５）。一方、ユーザの処理目的や入出力情報等に適合するサンプルが存在しないとサンプル情報制御モジュール１４５が判断した場合には、続いて、複数のサンプルを繋げることで、ユーザの処理目的や入出力情報等に適合する入出力のパスが存在するかどうかをサンプル情報制御モジュール１４５が検索し（ステップＳ２９０６）、適合する入出力のパスが存在するかどうかをサンプル情報制御モジュール１４５で判断する（ステップＳ２９０７）。適合する入出力のパスが存在する場合には、上記ステップＳ２９０５に進み、情報処理装置１００に表示するために必要な数のサンプルを抽出したかどうかをサンプル情報制御モジュール１４５が判断する。一方、適合する入出力のパスが存在しない場合には、適合サンプルが１件以上存在するかをサンプル情報制御モジュール１４５が判断し（ステップＳ２９０８）、存在する場合には後述のステップＳ２９０９に進み、存在していなければ処理を終了する。
【０１７２】
図３０は、複数のサンプルを繋げることで、情報処理装置１００のユーザの処理目的や入出力情報等に適合する入出力のパスを探し出す処理の概要を示す説明図である。図３０には、サンプル１〜サンプル４の４つのサンプルから、情報処理装置１００のユーザの処理目的や入出力情報等に適合する入出力のパスを探し出す場合が示されている。
【０１７３】
情報処理装置１００のユーザの処理目的や入出力情報等に適合する入出力は、「入力１」を入力して「出力４」を出力するものである。しかし、サンプル１からサンプル４の中には、「入力１」を入力して「出力４」を出力するようなものは存在しないので、サンプル情報制御モジュール１４５は、そのままサンプルを抽出することはできない。
【０１７４】
そこで、サンプル情報制御モジュール１４５は、サンプル１〜サンプル４の４つのサンプルから、情報処理装置１００のユーザの処理目的や入出力情報等に適合する入出力のパスが存在するかどうかを探し出す。図３０に示した例では、サンプル１→サンプル２→サンプル４と繋げば、「入力１」を入力して「出力４」を出力するパスが完成する。従って、サンプル情報制御モジュール１４５はサンプル１→サンプル２→サンプル４と繋がるパスを、情報処理装置１００のユーザの処理目的や入出力情報等に適合するものとして抽出することができる。
【０１７５】
上記ステップＳ２９０５での判断の結果、情報処理装置１００に表示するために必要な数のサンプルを抽出していない場合には、上記ステップＳ２９０３に戻って、サンプル情報制御モジュール１４５は、適合するサンプルデータの検索を継続する。一方、上記ステップＳ２９０５での判断の結果、情報処理装置１００に表示するために必要な数のサンプルの抽出が完了した場合には、その抽出したサンプルを情報処理装置１００へダウンロードし、ダウンロードしたサンプルを、制御アプリケーション１６２が情報処理装置１００の画面１６０へ表示する（ステップＳ２９０９）。
【０１７６】
管理サーバ１２０からダウンロードされたサンプルが画面１６０に表示されると、情報処理装置１００のユーザは表示されたサンプルを選択することで、サンプルと同じ加工手順が情報処理装置１００（または管理サーバ１２０等）で実行される。情報処理装置１００のユーザが画面１６０に表示されたサンプルを選択すると（ステップＳ２９１０）、制御アプリケーション１６２が選択されたサンプルを検知し、ユーザが選択したサンプルと同じ加工手順を実行する（ステップＳ２９１１）。
【０１７７】
このように、情報処理装置１００のユーザの処理目的や入出力情報等に適合するサンプルが存在すればそのサンプルを、存在しなければ入出力が繋がるようなサンプルを抽出することで、制御アプリケーション１６２は、情報処理装置１００のユーザに対してデータの加工手順を提示しながらアプリケーションの推薦を行うことが出来る。
【０１７８】
なお、情報処理装置１００のユーザの処理目的や入出力情報等に適合するサンプルが複数の処理によって生成される場合に、中間サンプル（中間の生成物）が存在するときは、制御アプリケーション１６２は、その中間サンプルも併せて画面１６０に表示しても良い。図３１は、中間サンプルを画面１６０に提示する場合のサンプル表示処理について示す流れ図である。
【０１７９】
制御アプリケーション１６２が情報処理装置１００の画面１６０にテキストボックス１６７を表示すると、情報処理装置１００のユーザから文字入力を受け付けることが出来る状態となる。この状態で、情報処理装置１００のユーザがテキストボックス１６７に処理目的を入力すると（ステップＳ３１０１）、制御アプリケーション１６２は、テキストボックス１６７に入力されたユーザの処理目的を解析し、ユーザの処理目的に合致した入出力情報及び情報処理装置１００の環境情報を取得する（ステップＳ３１０２）。制御アプリケーション１６２が取得したこれらの情報や、ユーザがテキストボックス１６７に入力した処理目的の情報は、管理サーバ１２０に送られるようにしてもよい。
【０１８０】
制御アプリケーション１６２、または制御アプリケーション１６２が取得した上記各情報を受信した管理サーバ１２０は、各情報に適合するサンプルデータの検索を開始する（ステップＳ３１０３）。管理サーバ１２０でのサンプルデータの検索は、例えば図２５に示したサンプル情報制御モジュール１４５が実行しても良い。以下の説明では、サンプルデータの抽出処理はサンプル情報制御モジュール１４５が実行するとして説明するが、もちろん情報処理装置１００の制御アプリケーション１６２が実行しても良い。上記ステップＳ３１０３での検索の結果、ユーザの処理目的や入出力情報等に適合するサンプルが存在するかどうかをサンプル情報制御モジュール１４５が判断する（ステップＳ３１０４）。
【０１８１】
ユーザの処理目的や入出力情報等に適合するサンプルが存在するとサンプル情報制御モジュール１４５が判断した場合には、続いて、情報処理装置１００に表示するために必要な数のサンプルを抽出したかどうかをサンプル情報制御モジュール１４５が判断する（ステップＳ３１０５）。一方、ユーザの処理目的や入出力情報等に適合するサンプルが存在しないとサンプル情報制御モジュール１４５が判断した場合には、続いて、複数のサンプルを繋げることで、ユーザの処理目的や入出力情報等に適合する入出力のパスが存在するかどうかをサンプル情報制御モジュール１４５が検索し（ステップＳ３１０６）、適合する入出力のパスが存在するかどうかをサンプル情報制御モジュール１４５で判断する（ステップＳ３１０７）。適合する入出力のパスが存在する場合には、上記ステップＳ３１０５に進み、情報処理装置１００に表示するために必要な数のサンプルを抽出したかどうかをサンプル情報制御モジュール１４５が判断する。一方、適合する入出力のパスが存在しない場合には、適合サンプルが１件以上存在するかをサンプル情報制御モジュール１４５が判断し（ステップＳ３１０８）、存在する場合には後述のステップＳ３１０９に進み、存在していなければ処理を終了する。
【０１８２】
上記ステップＳ３１０５での判断の結果、情報処理装置１００に表示するために必要な数のサンプルを抽出していない場合には、上記ステップＳ３１０３に戻って、サンプル情報制御モジュール１４５は、適合するサンプルデータの検索を継続する。一方、上記ステップＳ３１０５での判断の結果、情報処理装置１００に表示するために必要な数のサンプルの抽出が完了した場合には、その抽出したサンプルを情報処理装置１００へダウンロードし、ダウンロードしたサンプルを、制御アプリケーション１６２が情報処理装置１００の画面１６０へ表示する（ステップＳ３１０９）。ここで、ダウンロードしたサンプルに中間サンプルが含まれている場合には、制御アプリケーション１６２は中間サンプルも含めて画面１６０に表示する。管理サーバ１２０からダウンロードされたサンプルが画面１６０に表示されると、情報処理装置１００のユーザは表示されたサンプルを選択することで、サンプルと同じ加工手順が情報処理装置１００（または管理サーバ１２０等）で実行される。情報処理装置１００のユーザが画面１６０に表示されたサンプルを選択すると（ステップＳ３１１０）、制御アプリケーション１６２が選択されたサンプルを検知し、ユーザが選択したサンプルと同じ加工手順を実行する（ステップＳ３１１１）。
【０１８３】
図３２は、中間サンプルが含まれるサンプルデータの例を示す説明図である。図３２には、情報処理装置１００のユーザの処理目的や入出力情報等に適合する入出力と、サンプル１〜サンプル４の入出力が示されている。
【０１８４】
情報処理装置１００のユーザの処理目的や入出力情報等に適合する入出力が、「入力１」を入力して「出力４」を出力するものであるとする。ここで、図３２に示したサンプル１〜サンプル４は、いずれも「入力１」を入力して「出力４」を出力するものであり、いずれも情報処理装置１００のユーザの処理目的や入出力情報等に適合するものである。
【０１８５】
ここで、図３２に示すように、サンプル１は中間サンプルとして「中間出力１Ａ」を出力し、サンプル２は中間サンプルとして「中間出力２Ａ」及び「中間出力２Ｂ」を出力し、サンプル３は中間サンプルとして「中間出力３Ａ」及び「中間出力３Ｂ」を出力し、サンプル４は中間サンプルとして「中間出力４Ａ」を出力する。
【０１８６】
従って、制御アプリケーション１６２は、これらの中間サンプルも管理サーバ１２０からダウンロードして、画面１６０に表示する。制御アプリケーション１６２が、処理前後のサンプルデータだけでなく、中間サンプルも管理サーバ１２０からダウンロードして画面１６０に表示することで、情報処理装置１００のユーザはどのような処理が実行されるのかを把握できるという効果が期待できる。
【０１８７】
図３３は、制御アプリケーション１６２が中間サンプルを画面１６０に表示する場合に用いられる環境・加工情報ファイルのデータ構造の例を示す説明図である。
【０１８８】
上述したように、環境・加工情報ファイルには、サンプルの作成手順の中にアプリケーションについての情報（アプリケーションの名称やアプリケーションのファイル名）が記述されており、環境・加工情報ファイルに記述されたアプリケーションを実行することでサンプル通りの処理が可能となる。このアプリケーションについての情報の替わりにサンプルについての情報を環境・加工情報ファイルに記述しておくことで、サンプルをアプリケーションの一つとして扱うことができる。
【０１８９】
図３３には、画像の加工処理を行うサンプルの情報が記述された環境・加工情報ファイル３３０１を示している。この環境・加工情報ファイル３３０１には、写真の顔にモザイクを入れるサンプルについて処理手順が記述されている。図３３で示した例では、環境・加工情報ファイル３３０１には、“＜作成手順＞”タグの中に、顔の位置を特定するためのサンプルと、画像にモザイク処理を施すためのサンプルとが記述されている。
【０１９０】
図３３には、顔の位置を特定するためのサンプルの情報が記述された環境・加工情報ファイル３３０２、及び画像にモザイク処理を施すためのサンプルの情報が記述された環境・加工情報ファイル３３０３を示している。環境・加工情報ファイル３３０１と、環境・加工情報ファイル３３０２、３３０３とは、サンプル名（環境・加工情報ファイル３３０２、３３０３の“＜サンプル名＞”タグに記述された情報）によって紐付けることができる。
【０１９１】
従って、制御アプリケーション１６２が中間サンプルを画面１６０に表示する場合には、制御アプリケーション１６２は、加工情報ファイル３３０２、３３０３に記述されたサンプルデータのアドレスからサンプルデータを取得し、取得したサンプルデータを画面１６０に表示する。このように中間サンプルも管理サーバ１２０からダウンロードして画面１６０に表示することで、情報処理装置１００のユーザはどのような処理が実行されるのかを把握できるという効果が期待できる。
【０１９２】
以上、制御アプリケーション１６２が画面１６０にテキストボックス１６７を表示して、情報処理装置１００のユーザがテキストボックス１６７に処理内容を入力することで、制御アプリケーション１６２がアプリケーション及びサンプルデータを画面１６０に表示する場合について説明した。次に、情報処理装置１００のユーザがテキストボックス１６７に処理内容を入力することで、制御アプリケーション１６２がアプリケーション及びサンプルデータを画面１６０に表示する処理の応用例を説明する。
【０１９３】
図３４は、制御アプリケーション１６２がアプリケーション及びサンプルデータを画面１６０に表示する際の表示例を示す説明図である。制御アプリケーション１６２が画面１６０に表示した機能の中から、情報処理装置１００のユーザが一つの機能を選択すると、制御アプリケーション１６２はサンプル表示領域１６５を表示し、サンプルデータを表示する。
【０１９４】
一方、図３５は、制御アプリケーション１６２がアプリケーション及びサンプルデータを画面１６０に表示する際の別の表示例を示す説明図である。図３５に示した例は、制御アプリケーション１６２が画面１６０にテキストボックス１６７を表示し、情報処理装置１００のユーザのテキストボックス１６７への入力内容に基づいて、制御アプリケーション１６２がサンプル表示領域１６５を表示し、サンプルデータを表示する場合についてのものである。図３５では、テキストボックス１６７に入力された「顔にぼかしを入れる」という文章を制御アプリケーション１６２が解析し、顔にぼかしを入れるための処理を抽出し、サンプルデータとしてサンプル表示領域１６５へ表示している。このように、制御アプリケーション１６２は、テキストボックス１６７に入力された文章を解析し、情報処理装置１００のユーザがテキストボックス１６７に入力した内容に合致するアプリケーション及びサンプルデータを抽出することで、情報処理装置１００のユーザが希望する処理をユーザに提示することができる。
【０１９５】
図３６は、情報処理装置１００のユーザがテキストボックス１６７に入力した内容から制御アプリケーション１６２がサンプルデータを抽出する処理の一例について示す流れ図である。以下、図３６を用いて、情報処理装置１００のユーザがテキストボックス１６７に入力した内容から制御アプリケーション１６２がサンプルデータを抽出する処理の一例について説明する。
【０１９６】
まず、情報処理装置１００のユーザが、情報処理装置１００で画像編集アプリケーション１６１を起動して、画像編集アプリケーション１６１に表示された画像の中から、処理対象の画像を選択する（ステップＳ３６０１）。情報処理装置１００のユーザが処理対象の画像を選択すると、制御アプリケーション１６２は画面１６０にテキストボックス１６７を表示する。情報処理装置１００のユーザによってテキストボックス１６７に処理目的が文字で入力されると（ステップＳ３６０２）、制御アプリケーション１６２は、情報処理装置１００のユーザが上記ステップＳ３６０１で選択した画像の情報を入力情報に変換し（ステップＳ３６０３）、上記ステップＳ３６０２で情報処理装置１００のユーザによってテキストボックス１６７に入力された目的文字列を、サンプルに記入されている目的の形式に変換する（ステップＳ３６０４）。
【０１９７】
上記ステップＳ３６０４での、目的文字列からサンプルに記入されている目的の形式への変換は、例えば、文章のあいまいさを吸収するための辞書を用意しておき、制御アプリケーション１６２がその辞書を参照することで行うようにしても良い。例えば、図３５に示したように、テキストボックス１６７に「顔にぼかしを入れる」という文字列が情報処理装置１００のユーザにより入力された場合には、制御アプリケーション１６２は、「ぼかしを入れる」という表現から、画像データに対して何らかの加工を行う処理（例えば、モザイク処理や目線を入れる処理など）に変換して、情報処理装置１００内部や管理サーバ１２０に格納されているサンプルの抽出を実行する。
【０１９８】
上記ステップＳ３６０４での、目的文字列からサンプルに記入されている目的の形式への変換が完了すると、制御アプリケーション１６２は、情報処理装置１００の環境情報や入出力情報、目的情報を用いて、適合するサンプルを抽出する（ステップＳ３６０５）。適合するサンプルの抽出が完了すると、制御アプリケーション１６２は画面１６０にサンプル表示領域１６５を表示して、抽出されたサンプルを表示する（ステップＳ３６０６）。
【０１９９】
以上、図３６を用いて、情報処理装置１００のユーザがテキストボックス１６７に入力した内容から制御アプリケーション１６２がサンプルデータを抽出する処理の一例について説明した。
【０２００】
図３５、図３６で示した処理を応用すると、制御アプリケーション１６２は、入力された文章の係り受け構造などを解析して、複数の処理を繋ぎ合わせたサンプルを画面１６０に提示することも出来る。以下において、入力された文章を解析して複数の処理を繋ぎ合わせたサンプルを画面１６０に提示する場合の処理例を説明する。
【０２０１】
図３７は、制御アプリケーション１６２がアプリケーション及びサンプルデータを画面１６０に表示する際の別の表示例を示す説明図である。図３７に示した例は、図３５に示した例と同様に、制御アプリケーション１６２が画面１６０にテキストボックス１６７を表示し、情報処理装置１００のユーザのテキストボックス１６７への入力内容に基づいて、制御アプリケーション１６２がサンプル表示領域１６５を表示し、サンプルデータを表示する場合についてのものである。図３７では、テキストボックス１６７に入力された「顔にぼかしを入れてアップロード」という文章を制御アプリケーション１６２が解析し、顔にぼかしを入れるための処理、及び画像を所定のサーバにアップロードするための処理を抽出し、サンプルデータとしてサンプル表示領域１６５へ表示している。このように、制御アプリケーション１６２は、テキストボックス１６７に入力された文章の係り受け構造などを解析し、情報処理装置１００のユーザがテキストボックス１６７に入力した内容に合致するアプリケーション及びサンプルデータを抽出することで、情報処理装置１００のユーザが希望する処理をユーザに提示することができる。
【０２０２】
図３８は、情報処理装置１００のユーザがテキストボックス１６７に入力した内容から制御アプリケーション１６２がサンプルデータを抽出する処理の一例について示す流れ図である。以下、図３８を用いて、情報処理装置１００のユーザがテキストボックス１６７に入力した内容から制御アプリケーション１６２がサンプルデータを抽出する処理の一例について説明する。
【０２０３】
まず、情報処理装置１００のユーザが、情報処理装置１００で画像編集アプリケーション１６１を起動して、画像編集アプリケーション１６１に表示された画像の中から、処理対象の画像を選択する（ステップＳ３８０１）。情報処理装置１００のユーザが処理対象の画像を選択すると、制御アプリケーション１６２は画面１６０にテキストボックス１６７を表示する。情報処理装置１００のユーザによってテキストボックス１６７に処理目的が文字で入力されると（ステップＳ３８０２）、制御アプリケーション１６２は、情報処理装置１００のユーザが上記ステップＳ３８０１で選択した画像の情報を入力情報に変換し（ステップＳ３８０３）、上記ステップＳ３８０２で情報処理装置１００のユーザによってテキストボックス１６７に入力された目的文字列を、サンプルに記入されている目的の形式に変換する（ステップＳ３８０４）。
【０２０４】
続いて、制御アプリケーション１６２は、情報処理装置１００のユーザによってテキストボックス１６７に入力された文字列の係り受け構造を構文解析して、複数の入出力に変換する（ステップＳ３８０５）。ステップＳ３８０５での複数の入出力への変換は、例えば、文章の係り受け構造を収録した辞書を用意しておき、制御アプリケーション１６２がその文章の係り受け構造を収録した辞書を参照することで行うようにしても良い。
【０２０５】
ここで、制御アプリケーション１６２では、構文解析によって文章のいわゆる５Ｗ１Ｈ（Ｗｈｏ、Ｗｈａｔ、Ｗｈｅｎ、Ｗｈｅｒｅ、Ｗｈｙ、Ｈｏｗ）を判断するが、仮に足りない箇所がある場合には、その足りない箇所を情報処理装置１００のユーザに問い合わせるためのインタフェースを用意しても良い。例えば、構文解析の結果、５Ｗ１Ｈの内、どこに（Ｗｈｅｒｅ）という情報が不足している場合には、制御アプリケーション１６２は、画面１６０に「どこにアップロードしますか？」とメッセージを表示した上でテキストボックスを新たに表示してもよい。また例えば、構文解析の結果、５Ｗ１Ｈの内、どこに（Ｗｈｅｒｅ）という情報が不足している場合には、制御アプリケーション１６２は、画面１６０に「○×にアップロードしますか？」というメッセージを表示しても良い。このように制御アプリケーション１６２がテキストボックスやメッセージを表示して、情報処理装置１００のユーザからの入力を受け付けることで、制御アプリケーション１６２は対話的にアプリケーションの絞込みを図ることが可能となる。
【０２０６】
上記ステップＳ３８０５での、目的文字列から複数の入出力への変換が完了すると、制御アプリケーション１６２は、情報処理装置１００の環境情報や入出力情報、目的情報を用いて、適合するサンプルを抽出する（ステップＳ３８０６）。適合するサンプルの抽出が完了すると、制御アプリケーション１６２は画面１６０にサンプル表示領域１６５を表示して、抽出されたサンプルを表示する（ステップＳ３８０７）。
【０２０７】
以上、図３８を用いて、情報処理装置１００のユーザがテキストボックス１６７に入力した内容から制御アプリケーション１６２がサンプルデータを抽出する処理の一例について説明した。
【０２０８】
なお、図３５から図３８に示した例では、制御アプリケーション１６２が画面１６０にテキストボックス１６７を表示して、情報処理装置１００のユーザからの目的処理を受け付けていたが、本発明はかかる例に限定されない。例えば、携帯電話のように、文字入力よりも音声入力の方が簡便に行えるデバイスで、これまで説明したようなサンプル提示処理を実行する場合には、図３９に示したように、携帯電話４００においてユーザの音声を文章に変換した上で、その文章を解析して、適合するサンプルの抽出処理を実行しても良い。図３９は、携帯電話４００を用いて上述のサンプル表示処理を実行する場合について示したものである。
【０２０９】
＜２．まとめ＞
以上説明したように本発明の実施形態によれば、情報処理装置１００で実行中のアプリケーションに連携して実行するアプリケーションを推薦して画面に提示する際に、アプリケーションの実行前後の状態を分かり易く示すことができるサンプルを併せて提示する。このようにアプリケーションの実行前後の状態を示すサンプルを画面に提示することにより、情報処理装置１００のユーザに対して、なぜそのアプリケーションが推薦されているのか、そのアプリケーションを実行するとどのようなことが出来るのか、について理解が容易になるという効果が期待できる。
【０２１０】
サンプルデータの提示に際しては、必ずしも情報処理装置１００にインストールされているアプリケーションに限らず、インストールされていないアプリケーションによるサンプルデータを画面に提示しても良い。インストールされていないアプリケーションによるサンプルデータを提示することで、情報処理装置１００のユーザは、アプリケーションを購入してインストールする前に、そのアプリケーションを実行するとどのような処理が可能であるかを把握することができるという効果が期待できる。
【０２１１】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【産業上の利用可能性】
【０２１２】
本発明は、情報処理装置、情報処理方法、コンピュータプログラム及び情報処理サーバに適用可能であり、特に情報処理装置で実行中のアプリケーションに連携したアプリケーションが推薦される情報処理装置、情報処理方法、コンピュータプログラム及び情報処理サーバに適用可能である。
【符号の説明】
【０２１３】
１    情報処理システム
１００    情報処理装置
１２０    管理サーバ
１３１、１３２、１３３    アプリケーション提供サーバ
１４１    アプリケーション保持部
１４２    アプリケーション実行モジュール
１４３    サンプル情報保持部
１４４    適合サンプル抽出モジュール
１４５    サンプル情報制御モジュール
１４６    サーバ通信モジュール
１５１    制御部
１５２    出力部
１５３    入力部
１５４    通信部
１５５    記憶部
１６０    画面
１６１    画像編集アプリケーション
１６２    制御アプリケーション
１６４    マウスカーソル
１６５    サンプル表示領域
１７１    画像加工アプリケーション
２０１    制御アプリケーションＵＩ部
２０２    制御モジュール
２０３    制御アプリケーションＩ／Ｏモジュール
２０４    サンプル情報保持部
３００    デジタルカメラ
３１０    アプリケーション推薦モジュール
３１１    カメラアプリケーション推薦ユーザインタフェース部
３１２    アプリケーション推薦制御モジュール
３１３    縮小画像生成モジュール
３１４    アプリケーション推薦Ｉ／Ｏモジュール
３２０    撮影画像保持部
３３０    カメラ通信モジュール
４００    携帯電話
【図１】
2011113401.tif 000003
【図２】
2011113401.tif 000004
【図３】
2011113401.tif 000005
【図４】
2011113401.tif 000006
【図５】
2011113401.tif 000007
【図６】
2011113401.tif 000008
【図７】
2011113401.tif 000009
【図８】
2011113401.tif 000010
【図９】
2011113401.tif 000011
【図１０】
2011113401.tif 000012
【図１１】
2011113401.tif 000013
【図１２】
2011113401.tif 000014
【図１３】
2011113401.tif 000015
【図１４】
2011113401.tif 000016
【図１５】
2011113401.tif 000017
【図１６】
2011113401.tif 000018
【図１７】
2011113401.tif 000019
【図１８】
2011113401.tif 000020
【図１９】
2011113401.tif 000021
【図２０】
2011113401.tif 000022
【図２１】
2011113401.tif 000023
【図２２】
2011113401.tif 000024
【図２３】
2011113401.tif 000025
【図２４】
2011113401.tif 000026
【図２５】
2011113401.tif 000027
【図２６】
2011113401.tif 000028
【図２７】
2011113401.tif 000029
【図２８】
2011113401.tif 000030
【図２９】
2011113401.tif 000031
【図３０】
2011113401.tif 000032
【図３１】
2011113401.tif 000033
【図３２】
2011113401.tif 000034
【図３３】
2011113401.tif 000035
【図３４】
2011113401.tif 000036
【図３５】
2011113401.tif 000037
【図３６】
2011113401.tif 000038
【図３７】
2011113401.tif 000039
【図３８】
2011113401.tif 000040
【図３９】
2011113401.tif 000041