情報処理装置、情報処理方法およびプログラム
【課題】ユーザーが所持しているファイルの中で、実際に編集したいファイルに応じて機能を追加する。選択した画像の画像情報に応じて、画像処理アプリケーションに追加したい機能をユーザーが選択できること。
【解決手段】記録媒体に記録されている画像を処理するための機能を有するアプリケーションが動作する情報処理装置であって、記録媒体から選択された画像の特徴を判別し、判別した特徴に基づいてアプリケーションに追加する機能を検索して決定し、決定された機能に対応するプログラムを外部から情報処理装置にインストールするよう構成されている。
【解決手段】記録媒体に記録されている画像を処理するための機能を有するアプリケーションが動作する情報処理装置であって、記録媒体から選択された画像の特徴を判別し、判別した特徴に基づいてアプリケーションに追加する機能を検索して決定し、決定された機能に対応するプログラムを外部から情報処理装置にインストールするよう構成されている。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置、特に画像を処理するアプリケーションプログラムに機能を追加することを可能とする情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
例えばPCなどの処理装置で動作するアプリケーションプログラム(以下、アプリケーションと記載する)には、現状のアプリケーションに無い機能を、拡張機能として追加できるものがある。このような拡張機能はプラグインと呼ばれることが多く、ユーザーがアプリケーションをインストールした後でも、必要に応じて機能を追加することを可能としている。
このような機能追加を行う方法として、サーバで公開されている機能のリストからユーザーが所望の機能を選択して追加する方法がある。
また、端末にデータを取り込んだ際に、取り込んだデータの種類に応じて追加できるアプリケーションを表示して、ユーザーに選択させる方法もある(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−61020号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、一覧表示されたリストから機能を選択して追加する場合、単に数多くの追加機能が提示されているだけだと、機能を選択する際にユーザーが迷ってしまうことが考えられる。また、その際、ユーザーが適当に機能を選択して追加したとしても、手持ちのファイルに対しては使えない機能である可能性もある。
そのような場合を避けるためには、ユーザーが処理(例えば編集)したいファイルに応じて追加機能を選択でき、その結果ユーザーが使いたい機能だけを追加できる処理装置が切望される。
【0005】
本件発明の目的は、アプリケーションで処理される画像ファイルに応じてアプリケーションに追加できる処理機能を選択可能とすることにより、画像ファイルに応じた処理機能の追加を適切に行うことが可能な画像処理装置の提供を目的とする。
【課題を解決するための手段】
【0006】
上記本件発明の目的を達成するため、本件発明の情報処理装置は、記録媒体に記録されている画像を処理するための機能を有するアプリケーションが動作する情報処理装置であって、記録媒体から選択された画像の特徴を取得し、取得した特徴に基づいてアプリケーションに追加する機能を選択し、選択された機能に対応するプログラムを外部から情報処理装置にインストールするよう構成されている。
【発明の効果】
【0007】
本件発明の情報処理装置によれば、ユーザーが選択した画像の特徴に応じて画像処理アプリケーションの追加機能(候補機能)を検索してその結果をユーザーに提示できる。これによりユーザーは、選択した画像に応じた機能を容易にかつ適切に追加することができる。
【図面の簡単な説明】
【0008】
【図1】本発明の一実施形態に係る画像処理アプリケーションの表示画面を示す図である。
【図2】本発明の一実施形態に係る情報処理装置のシステム構成を示す図である。
【図3】本発明の一実施形態に係る画像情報の取得と画像処理アプリケーションにインストールされている機能の情報の取得を行うためのフローチャートを示す図である。
【図4】本発明の一実施形態に係る画像情報とインストールされている機能の情報の構成を示す図である。
【図5】本発明の一実施形態に係る追加機能を決定する処理のフローチャートを示す図である。
【図6】本発明の一実施形態に係る画像情報と機能情報との対応関係を示す図である。
【図7】本発明の一実施形態に係る追加機能情報の表示処理のフローチャートを示す図である。
【図8】本発明の一実施形態において複数の画像が選択されたときの画像処理アプリケーションの機能情報表示画面を示す図である。
【図9】本発明の一実施形態において選択された複数の画像の画像情報および画像情報と機能情報との対応関係を示す図である。
【図10】本発明の一実施形態において、多数の画像が選択されたときに画像処理アプリケーションが表示する機能情報表示画面を示す図である。
【図11】本発明の一実施形態において多数の画像が選択されたときの、選択された画像中で画像情報を有する選択画像の割合および画像情報と機能情報との対応関係を示す図である。
【図12】本発明の一実施形態に係る画像処理アプリケーションにおいて編集機能を実行する際に表示する機能情報表示画面を示す図である。
【図13】本発明の一実施形態に係る画像処理アプリケーションにおいて編集機能を実行するためのフローチャートを示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施形態を説明する。
【0010】
図2は、本発明のシステム構成を示す図である。図2の201は、画像処理機能を有するアプリケーションプログラム(以下、アプリケーションと記載する)がインストールされている情報処理装置(以下、PCと記す)である。208はPC201の外部装置となる情報処理装置(以下、サーバーと記す)であり、画像処理アプリケーションや、追加機能用のインストールプログラムをユーザーに提供するための機能を有する。本発明では、PC201で動作する画像処理アプリケーションにおいて、ユーザーが画像を選択した状態で機能追加を実行すると、選択されている画像の画像情報を用いて追加機能(例えば追加可能な機能や追加を推奨する候補の機能)を検索する。そして、検索された機能の情報を画像処理アプリケーションで表示することで、選択した画像に応じた追加機能をユーザーに提示している。202はPC201全体を制御するためのCPUである。204は、ハードディスクなどの二次記憶装置であり、CPU202によってPC201の動作を制御するためのプログラムや画像ファイルなどのデータを格納する。203は、RAMなどの一次記憶装置であり、二次記憶装置から読み出されたプログラムを格納するとともに、プログラムの実行時のワークエリアを提供する。205は、液晶ディスプレーなどの表示部である。206は、キーボードやマウスなどの操作部である。207は、他のコンピュータと通信する手段として、Ethernet(登録商標)端子などのネットワーク装置である。208は前述のとおりサーバである。209はサーバ208全体を制御するためのCPUである。211は、ハードディスクなどの二次記憶装置であり、CPU209によってサーバ208を制御するためのプログラムを格納する。また、本発明の実施例に応じて画像処理アプリケーションに追加できる機能の情報も格納している。
【0011】
図2のシステムは、以下に説明する本件発明の実施例の構成を達成するための基本構成であり、各実施例の具体的構成はPC201およびサーバ208のそれぞれの二次記憶装置に格納されている制御プログラムに従ったCPUの制御動作により実現される。
【0012】
第1の実施例
図1(a)は、本実施例においてPC201で動作する画像処理アプリケーションの表示画面である。101はフォルダ選択エリアである。このエリアに表示されるフォルダを選択すると、選択したフォルダに保存されている画像のサムネイルをサムネイル表示エリア103に表示する。画像は、撮影情報、属性情報などのデータとともにファイル形式でフォルダ内に格納され、フォルダは二次記憶装置記憶されている。図1(a)の場合は、フォルダ102を選択しており、サムネイル表示エリア103に3枚の画像を表示している。サムネイルエリア103に表示されている画像は、例えば操作部206を操作することで、画像処理の対象として選択することができ、図1(a)の場合はサムネイル画像104が処理対象として選択されている。画像が選択されると、選択された画像の枠が図のように強調されて表示される。言うまでもなく、他の表示方法で選択を表してもよい。
【0013】
サムネイルエリア103に表示している画像を選択すると、メニューに表示している機能追加処理105を選択して実行することができる。機能追加処理は、コンテキストメニューや専用のボタンから実行するようにしてもよい。
【0014】
図3のフローチャートは、画像選択の処理が行われてから、機能追加の処理を実行するときの、PC201が行う処理を示す。この処理は、CPU202が二次記憶装置204に格納されているプログラムに従ってPC201の各構成要素を制御して画像処理アプリケーションを実行することによって実現される。
【0015】
まず、ステップS301で、CPU202は選択している画像の特徴を取得するための特徴取得の処理を行う。ここで、画像の特徴とは、例えば画像を撮影したときの日時情報や絞り値、撮影モードなどの撮影情報を含む。しかし、これに限るものではなく、例えばCPU202が画像の属性情報や画像の明るさや色味、被写体の種類などを解析し、その解析結果を表現した特徴量のデータでも良い。
以下の説明では、上記の撮影情報や特徴量データなど、その画像の特徴を示す情報を総じて、画像情報と呼ぶこととする。
【0016】
図1(a)の画像処理アプリケーションで選択している画像104の画像情報の例を図4(a)に示す。図に示すように、画像情報は画像情報の種類と値、そして種類と値それぞれに対応したIDから構成される。例えば画像情報402は、撮影モードが水中であることを示している。ここで、「撮影モード」という画像情報の種類には「002」というIDが、「水中」という撮影情報の値には「008」というIDが割り振られている。プログラム内部での処理や、サーバとの通信では、「撮影モード」および「水中」という情報を送受信するのではなく、画像情報の種類として「002」、画像情報の値として「008」というIDを送受信する。このようにIDを用いることで、扱う情報の量を少なくすることができる。また、画像処理アプリケーションを多言語にローカライズしたときに、言語の影響を受けることなく、サーバとの通信を行うことができる。
【0017】
図4(a)によれば、画像104の画像情報は画像フォーマットがJPGであり(401)、撮影モードが水中であり(402)、GPS情報がある(403)ことになる。ステップS301での画像情報の取得は、画像データから画像情報を直接読み取ってもよいし、画像処理アプリケーションが管理しているデータベースから読み取ってもよい。また、画像情報にはサムネイル画像も含まれる。このサムネイル画像は、一般的に画像解像度が縦120ピクセル、横160ピクセルで構成される縮小画像である。
【0018】
ステップS302で、CPU202は画像処理アプリケーションの機能としてPC201に既にインストールされている機能の情報を取得する機能取得の処理を実行する。画像処理アプリケーションは、自身のアプリケーションにインストールされている機能の情報をレジリストなどに格納しているので、このレジストリの情報を参照して、インストールされている機能の情報を取得することが可能である。この取得される機能情報の例を図4(b)に示す。機能情報は、IDと機能名から構成される。IDは他の機能と重複しない固有の値を持っており、画像処理アプリケーションの開発者が機能ごとに固有の値を付けるものとする。図4(b)は、PC201に自動調整(404)と、動画カット(405)と、RAW現像(406)の機能が既にインストールされていることを示している。
【0019】
ステップS303において、CPU202はステップS302で取得した画像情報と機能情報をサーバに送信する。サーバ208への送信は、ネットワーク装置207を介して行う。なお、上述したように画像自体を画像情報として使用する場合は、図4(a)の画像情報に加えて画像またはその縮小画像自体を画像情報として送信する。
【0020】
このように本実施例では、ステップS302でPCにインストールされている機能の情報を取得し、ステップS303でその機能情報をサーバへ送信している。これは、機能追加に際しては、PCにインストールされていない追加機能のみをユーザーに提示するためである。そこで、既にインストールされている機能の情報をサーバに送信し、サーバで画像情報に対応した機能を検索する際に、既にインストールされている機能が見つかっても、その機能情報をPCに送信しないようにしている。また、PC201から送信された機能情報は、サーバ208においてPC201にすでにインストールされている機能の更新状況をチェックするのに使用することができる。
【0021】
図5のフローチャートは、PC201がステップS303で送信した画像情報と機能情報を利用して、サーバ208がPC201に追加を推奨する機能を検索し、選択的に追加機能をPC201に通知する処理を示す。
【0022】
ステップS501で、CPU209はPC201から送られてきた画像情報と機能情報を受信する。PC201から送られてきた情報の受信は、ネットワーク装置214を介して行う。
【0023】
ステップS502で、CPU209は受信した画像情報と機能情報を用いて、PC201に送信する機能情報を生成する。この機能情報は、PC201から受信した画像情報と機能情報を用いて、図6に示す機能情報管理表として二次記憶装置211に記憶されている管理情報から、PC201に追加できる機能を検索し、決定することによりで生成する。
【0024】
図6に示されるように、機能情報管理表は、画像情報601と機能情報602の2つに分けることができる。画像情報601には、PCから送られてくる可能性のある全ての画像情報が含まれる。画像情報601の構成は、図4(a)で説明した画像情報の構成と同じである。例えば、図4(a)にある画像フォーマットがJPGという画像情報401は、図6の603に存在している。同じように、図4(a)にある画像情報402と画像情報403も、図6の604と605に存在している。機能情報602には、検索対象となる機能が含まれる。この機能は画像情報と関連付けられている。例えば、606で示した機能(静止画切り出し、動画結合、動画カット)は、画像フォーマットが動画という画像情報と関連付けられている。このように画像情報601と機能情報602とを関連付けること(対応関係)によって、PCから送られてきた画像情報に対応する機能を検索することができる。また、機能情報602の構成は、図4(b)で説明した画像情報の構成と同様に、IDと機能名を含む。また、機能情報602は、後述するように機能の表示優先度情報を含んでもよい。
【0025】
ステップS502の追加機能の検索の説明に戻る。CPU209は、受信した画像情報に関連付けられている機能を、機能情報管理表から検索する。例えば、図4(a)に示す画像情報が送られてきた場合、図6の機能情報管理表の太線のように、画像情報401、402および403に関連付けられている機能情報607、機能情報608および機能情報609が検索結果となる。すなわち、明るさ補正、トリミング(JPG)、コントラスト調整、傾き補正、水中補正および地図表示が機能の検索結果となる。ここで検索された機能は、追加される候補機能としてPC201に通知される。そしてPC201では、この候補機能からインストールを希望する機能を選択する機能選択の処理を行うことにより、選択した機能のみを、または全ての機能を、追加する対象として選択することが可能となる。
ここで、画像情報401に関連付けられている機能情報610(自動調整)が検索結果から外れている理由について説明する。前述したように、ユーザーが機能追加を実行するとき、既にPC201にインストールされている機能を新たに提示する必要はない。そこで、ステップS501で受信した機能情報に含まれている機能である自動調整の情報は、ステップS502の検索結果から外している。このように検索結果をすでにPCにインストールされている機能以外の機能に絞り込むことで、PCに既にインストールされている機能情報をユーザーに提示しないようにする。
【0026】
また、サーバ208は、PC201から受信した機能情報に含まれるインストール済みの機能の更新状況を取得するように構成してもよい。例えば、インストール済みの機能の最新バージョン情報を取得してPC201に追加機能の検索結果とともに送信するようにしてもよい。このようにすれば、画像処理アプリケーションで既にインストールされている機能であっても、より新しいバージョンに関する更新情報を、追加機能の提示と一緒に行う様な事も可能となす。
【0027】
ステップS503で、CPU209は検索結果に含まれる各機能で画像を処理する。ここで述べる画像処理とは、サムネイル画像を用いて、明るさ補正や水中補正などの機能を実行することである。画像処理に使用するサムネイル画像は、PC201から受信された画像情報に含まれるものを使用する。ステップS502での検索結果が機能情報607〜609の場合は、図6に示される合計6つの機能で画像処理を行う。
ステップS504で、CPU209は検索結果の機能情報と、ステップS503での処理された処理結果画像データをPC201へ送信する。例えば、図4(a)に示す画像情報が送られてきた場合は、検索結果の機能情報607〜609と、ステップS502で作成した6つのサムネイル画像をPC201へ送信する。このように、サーバ208の送信処理により送信された機能は、PC201が追加する機能の候補となる。
ここで、PC201へ機能情報を送信する際は、例えば「002」というIDだけでなく、「明るさ補正」という機能名も送信する。IDだけでなく機能名も送信するのは、追加機能の場合はPCに今まで存在していないIDの機能を表示させるので、IDだけでは機能名が分らないためである。また、本実施例では、PC201へ送信する機能情報に、表示優先度611の情報も含ませる。表示優先度は、PC201において画像処理アプリケーションでサーバ208から受信した機能情報を表示する際の優先順位を示す情報である。表示優先度はサーバ管理者が設定、修正できる情報とし、各機能の表示優先度は他の機能と重複しない固有の値をとする。PC201の画像処理アプリケーションは、表示優先度の番号が若い順に機能情報を表示する構成されている。このように、自由に表示優先度を設定できるようにすることで、ユーザーに積極的に提示させたい機能を適宜決定、変更できる。さらには、上述したように、サーバ208はPC201に既にインストールされている機能の最新バージョン情報をもPC201に送信するように構成してもよい。このようにすれば、PC201においてインストール済みの機能のバージョンチェックを行うことができ、その結果に基づいてユーザーに機能の更新を促すことが可能となる。
【0028】
図7のフローチャートは、サーバ208が送信した機能情報と処理された画像データをPC201が受信したときにPC201が行う処理を示す。
【0029】
ステップS701で、CPU202はサーバ208から送られてきた機能情報と処理された画像データを受信する。
ステップS702で、CPU202は受信した機能情報と処理された画像データを画像処理アプリケーションにより表示する。図1(b)は、図1(a)の画像を選択した状態で機能追加を実行したときに、受信した機能情報と処理された画像データを画像処理アプリケーションに表示した画面を示す。つまり、図1(a)の状態で機能追加を実行すると、PC201はサーバとの通信を行い、その結果、画像処理アプリケーションはその表示画面を図1(b)の状態に変更する。108は受信した機能情報と処理された画像データを表示する機能情報表示エリアである。109はサーバ208から受信した機能情報の1つである。110は受信した処理された画像データである。このように機能情報と処理された画像データをセットで表示することで、選択した画像を追加機能で処理した結果が一目で分かるようになり、ただ機能名だけを表示するよりも、追加することのできる機能をユーザーが認識し易くなる。また、CPU202は受信した機能情報を機能情報表示エリア108に表示する際に、機能情報に含まれる表示優先度に従って表示を制御する。図1(b)の場合は、受信した表示優先度の番号が若い順に、画面左から機能情報を表示している。ここで、受信した機能情報が機能情報表示エリア108に入りきらない場合は、機能情報エリア108にスクロールバーを設けて、スクロールバーを動かすことで全ての機能情報を表示優先度順に表示できるようにしてもよい。また、機能情報エリア108にボタンを設置して、そのボタンを押下すると別ウィンドウが開いて、入りきらなかった機能情報を別ウィンドウに表示してもよい。また、表示優先度に基づく表示を行うかどうかをユーザーに選択させる機能を画像処理アプリケーションに持たせてもよい。また、サーバ208からインストール済みの機能の最新バージョン情報をも受信している場合は、インストール済みの機能で更新可能な機能を示す情報を表示するようにしてもよい。
【0030】
図1(b)において、機能表示エリア108に表示されている機能から、インストールを希望する機能をユーザーが選択する操作をPC201が受け付けると、その機能を示す情報をサーバに送信する(ステップS703)。すると、選択された機能を示す情報を受信したサーバは、選択された機能をインストールするためのプログラムをPC201に送信するプログラム送信処理を実行する(不図示)。ステップS704では、サーバから読み出されてPC201に送られてきたインストールプログラムを取得すると、そのインストールプログラムを起動して、新しい機能がアプリケーションに追加される(プログラム取得手段)。
例えば、ユーザーが109の水中補正を選択した場合、CPU202は選択した機能に対応するIDをサーバ208に送信する。サーバ208は受信したIDに対応する機能を検索し、その機能のプログラムを画像処理アプリケーションに追加するためのインストーラーをPC201へ送信する。PC201では、受信したインストーラーを実行して、画像処理アプリケーションに機能を追加する。インストール済みの機能で更新可能な機能を表示している場合も同様の処理ができるように構成することも可能である。
【0031】
本実施例は、サーバが追加機能となりえる候補機能を検索することを基本構成としている。この点を考慮した場合、例えば次のように本実施例を変形することが可能である。 第1の実施例では、図1(b)の追加機能の情報の表示において既にインストール済みの機能を表示させないために、選択した画像の画像情報をサーバに送信する際に、インストール済みの機能の情報も合わせてサーバに送信していた。これにより、サーバ208がステップS502で機能を検索したときに、インストール済みの機能を検索結果から外していた。しかし、インストール済みの機能情報を表示させない方法として、PC201がステップS702で機能を表示する際に、インストール済みの機能を表示対象外にすることも可能である。そこで、第1の実施例の第1の変形例として、インストール済みの機能の情報をサーバに送信せず、サーバから追加機能の検索結果を受信したPC201がインストール済みの機能を表示対象外にする。すなわち、PC201がステップ702で機能情報を表示する際に、インストール済みの機能を表示対象外にする。
【0032】
まず、図3のステップS302を実行するが、ステップS303でCPU202がサーバに送信する情報は、画像情報である。これに対応して、ステップS501でサーバ208が受信する情報も画像情報である。そして、ステップS502では受信した画像情報を用いて追加機能の検索を行う。即ち、図4(a)に示す画像情報を受信した場合は、図6の機能情報607〜610に示す全ての機能が検索結果となる。先ほどの説明ではPCにインストール済みの機能610が検索結果から外れていたが、今回の手順ではこの時点でPCにインストール済みの機能かどうかは分らないため、受信した画像情報に関連付けられている全ての機能が検索結果となる。そして、サーバ208は検索結果である機能情報をPC201へ送信する。PC201では、サーバが送信した機能情報を受信する。そして、ステップ702の前に、取得してある既にPCにインストールされている機能の情報に基づいてサーバから受信した機能情報のうち、既にPCにインストールされている機能を除外する。このようにステップS702で表示する機能情報を限定することで、PCにインストール済みの機能の情報を画像処理アプリケーションに表示しないようにすることができる。以上が、インストール済みの機能の情報を画像処理アプリケーションに表示させないための、もう一つの方法である。なお、ステップ302の処理を行なわずに、ステップS701と702の間で行うようにすることも可能である。また、本変形例は、後述する他の変形例にも適用することが可能である。ところで、本変形例では、サーバに機能情報を送信していないので、機能追加の際にインストール済みに機能の最新バージョン情報の取得ができなくなる。
【0033】
次に、第1の実施例の第2の変形例を説明する。本変形例は、画像編集アプリケーションで選択する画像を複数の画像に拡張できる構成とすることにより、選択した複数の画像に対して第1の実施例の機能追加を実行することを可能とする。なお、本変形例においても選択された画像の画像情報とインストール済みの機能の機能情報がPC201からサーバ208に送信される構成は第1の実施例と同様である。
【0034】
図8は、複数の画像を選択して機能追加を実行した際の画像処理アプリケーションの表示画面を示している。図8では、サムネイル表示エリアの画像801、802をユーザーが選択している。複数の画像の選択は、操作部206の操作、例えばマウスのドラッグ操作や、キーボード操作で行うことができる。この状態で機能追加を実行すると、選択している2枚の画像の画像情報を機能情報(例えば図4(b))とともにサーバ208に送信する。すなわち、PC201は、図3のフローチャートに従って選択されている各画像にたいして処理を行う。例えば、図8で選択している2つの画像の画像情報がそれぞれ図9(a)および(b)であったとすると、画像情報901〜904と画像801、802のそれぞれのサムネイル画像およびステップS302で取得される機能情報がサーバ208に送信される。サーバ208は、図5のフローチャートに従って、まず受信した画像情報と機能情報とを用いて、図9(c)に示す機能情報管理表からPC201へ送信する追加機能を検索、決定する。本実施例では、複数の画像の画像情報がサーバ208に送られてきた場合は、まず受信した画像情報と関連付けられている機能を検索結果とする。即ち、図9(a)および(b)に示す画像情報が送られてきた場合は、PC201から受信した機能情報を参照して機能情報管理表の中の機能905〜907を検索結果とする。905の機能は、画像フォーマットがJPGという画像情報に関連付けられたものであり、906の機能は撮影モードが夜景という画像情報に関連付けられたものであり、907の機能は撮影モードがスポーツという画像情報に関連付けられたものである。
【0035】
次に、サーバ208は前述の検索結果の機能の中で、選択されている全ての画像で適用できる機能を検索する。即ち、図9(a)および(b)に示す画像情報が送られてきた場合は、画像フォーマットがJPGという画像情報が共通であるので、905の機能が2つの画像に適用できることになる。そこで、この機能905にはフラグを付けておく。このフラグは、検索された機能の中で、選択している全ての画像で適用できる機能と、いずれかの画像で適用できる機能を区別するためのものである。従って、機能906、907の方にフラグを付けてもよいし、フラグ以外の方法で区別してもよい。このように、本変形例では選択された画像が複数であることを考慮して、ユーザーによる機能追加にとって有益となる処理を追加している。
【0036】
次に、ステップS503の画像処理を実行する際は、検索結果の機能を適用できる全ての画像に対して、画像処理を行う。即ち、画像801、802のサムネイルに対して共通な機能905に含まれる明るさ補正、トリミング、コントラスト調整、傾き補正を行う。画像801のサムネイルに対しては機能906の夜景補正を行い、画像802のサムネイルに対しては機能907の手ブレ補正を行う。ステップS504でサーバ208が機能情報を送信する際は、機能情報905〜907と、先ほど付けたフラグも送信する。また、処理された画像データを送信する際も、前述した全ての処理された画像データを送信する。画像処理アプリケーションでは、機能情報を受信すると、選択したいずれかの画像で適用できる機能と処理された画像データを表示する。図8では、画像801に適用できる夜景補正機能803と、その処理された画像804を表示するとともに、画像802に適用できる手ブレ補正機能805と、その処理された画像806を表示する。また、画像801と802の両方に適用できる明るさ補正機能807と、その処理された画像808と809をも表示する。ここで、選択しているいずれかの画像に適用できる機能の表示モードと、選択している全ての画像で適用できる機能の表示モードとは、ラジオボタン810と811で切り替えることができる。デフォルトの状態では、いずれかの画像で適用できる機能を表示しているため、検索結果のORを示すラジオボタン810が選択されている。検索結果のANDを示すラジオボタン811を選択すると、選択している全ての画像で適用できる機能の表示のみを行う。ここで、画像処理アプリケーションが選択している全ての画像で適用できる機能の表示を行うためには、サーバから送信されたフラグを参照する。サーバで追加機能の検索を行った際に、選択している全ての画像で適用できる機能にフラグを付けた場合は、ラジオボタン811を選択すると、フラグが付与された機能情報だけを表示する。即ち、図9(c)にある905の機能情報を表示する。このように、サーバで付けたフラグを参照することで、選択している全ての画像で適用できる機能の表示と、いずれかの画像で適用できる機能の表示を切り替えることができる。
【0037】
本変形は第1の実施例の構成を前提としているが、上記第1の変形例の構成を前提としても本変形例のフラグの付与にはなんら変更を生じない。この場合、PC201側でサーバ208から受信した検索結果からインストール済みの機能の情報を除いた結果に対して上記説明の表示制御を行えばよい。PC201側でのインストール済みの機能の除外の結果、選択画像に共通の追加機能情報が無くなったときは、そのように表示制御が行われるだけである。
【0038】
第3の変形例として、選択している画像が100枚などの大量枚数の場合に好適な第1の実施例の変形例を説明する。例えば選択している画像が100枚であり、その中の99枚に共通な画像情報があっても、残りの1枚にその画像情報が存在しない場合は、図8のラジオボタン811(AND)を選択しても、99枚に共通な機能は表示されない。また、ラジオボタン810を選択すれば、99枚に共通な機能は表示されるが、その他に多数の機能情報が表示されることが予想されるため、99枚に共通な画像情報に関連付けられた機能をユーザーが探すのに手間がかかってしまう。このような事態は、例えば選択した100枚全ての画像を、ユーザーは夜景という撮影モードで撮影したと思っていても、実際は99枚の撮影モードが夜景であり、残りの1枚の撮影モードがスポーツであった場合などに起こることが考えられる。そこで、多数の画像を選択して機能追加を実行する際は、サーバ208で機能を検索するときに、選択している複数の画像の中で所定の閾値以上の割合で存在する画像情報に関連付けられている機能を検索して決定するようにする。
【0039】
以下、図10を参照して本変形例を説明する。なお、本変形例においても選択された画像の画像情報とインストール済みの機能の機能情報がPC201からサーバ208に送信される構成は第1の実施例と同様である。すなわち、以下の説明では第1の実施例に従って機能情報がPC201からサーバ208に送信される構成において複数画像が選択された場合を前提としている。
【0040】
図10は、サムネイル表示エリア1001に表示されている100枚の画像を選択した状態で、機能追加を実行した際の画像処理アプリケーションの表示画面を示している。サムネイル表示エリア1001で選択されている複数の画像が有する画像情報の割合を図11(a)に示す。同図によれば、画像情報1101については、選択している100枚の画像の中で85枚の画像フォーマットがJPGであり、15枚が動画であり、5枚がRAWであることを示している。画像情報1102については、10枚の撮影モードが夜景であり、90枚がスポーツであり、撮影モードが水中の画像は無いことを示している。画像情報1103については、60枚にGPS情報が付加されており、40枚には付加されていないことを示している。ユーザーが100枚の画像を選択して機能追加を実行すると、PC201は図11(a)に示す画像情報をサーバ208に送信する。なお、図11(a)の情報を作成できるかどうかの判断の基準は、画像処理アプリケーション側に例えば画像の選択数としてユーザーが設定できるようにすることで達成できる。あるいは、サーバ管理者がサーバ側の都合で画像処理アプリケーションに設定するようにしてもよい。
【0041】
サーバ208では、受信した100枚の画像に対して所定の閾値以上の割合を持つ画像情報に関連付けられている機能を検索して決定する。例えば、サーバ管理者が閾値を50%に設定していたとする。この場合、選択している画像の中で、画像情報の割合が50%を超えているのは、図11(a)にある画像情報1104〜1106である。そこで、サーバ208は、図11(b)に示す機能情報管理表を用いて、画像情報1104〜1106に関連付いた機能を検索する。図11(b)においては、機能情報1106〜1108が検索結果となる。検索結果に自動調整機能が含まれていないのは第3の実施例と同様の理由による。サーバ208は、検索結果の機能情報1106〜1108をPC201へ送信する。画像処理アプリケーションでは、受信した機能情報を表示優先度に従って表示する。図10の場合は、表示優先度が高い順に画面左から、手ブレ補正機能1002、地図表示機能1003、明るさ補正機能1004を表示している。ここで、サーバ208で設定する閾値は、サーバ管理者が自由に設定することが可能である。このように、選択した画像に対して所定の閾値以上の割合を持つ画像情報に関連付けられている機能を検索することで、多数の画像を選択して機能追加を実行した際も、効率良く機能を検索することができる。
【0042】
なお、図10に示されているように、本実施例においても処理されたサムネイル画像が追加機能名とともに表示される。このためには、例えばサーバ208が、受信した画像情報の割合に含まれる画像情報を有する画像を受信した画像情報から識別する必要がある。そして、検索された追加機能に対応するすべてのサムネイル画像を処理して、追加機能とセットにしてPC201に送信することになる。この処理は基本的に第1の実施例と同様である。選択画像の数が多いので、追加機能の表示は、表示優先度に対するスクロールバー(水平方向)と処理画像に対するスクロールバー(垂直方向)を設けるなどで対処できる。
【0043】
本変形例は、多くの画像を選択して機能追加を実行するときに、所定の閾値以上の割合で存在している画像情報に関連付けられている機能を検索するが、画像情報の割合が高い順に、所定の数だけ機能を検索する構成としてもよい。例えば、サーバ208で受信した画像情報の中で割合が高い順に、7つの機能を検索することを考える。この「7」という値はサーバ管理者が自由に設定できるものとする。図11(a)に示す画像情報の中で、選択した画像に対する割合が高い順に検索を行うと、まずは90%の割合を持つ、撮影モードがスポーツという画像情報1105に対する検索が行われる。この画像情報に関連付けられている機能を、図11(b)に示す機能情報管理表を用いて検索すると、1107に示す手ブレ補正機能が検索される。このようにして、選択した画像に対する画像情報の割合が高い順に、7つの機能が見つかるまで検索を行うと、1106〜1109の機能が検索結果となる。この場合においても、PC201でインストール済みの機能については検索結果から除外されている。また、同じ画像情報に関連付けられている機能が複数あり、その機能を全て検索結果にすると所定の閾値を超えてしまう場合は、表示優先度が高い機能を優先するものとする。サーバ208は、検索結果の機能情報をPC201へ送信して、画像処理アプリケーションでは受信した機能情報を表示する。即ち、選択した画像の画像情報の割合が図11(a)に示すものであれば、サーバでの検索結果である1106〜1109の機能情報を画像処理アプリケーションに表示する。このように、サーバ管理者が検索結果の機能数に所定の閾値を設定することで、多数の画像の画像情報がサーバに送信された際も、ユーザーが効率良く機能を検索することができる。
【0044】
第2の実施例
第1の実施例およびその変形例では、画像を選択した状態で機能追加を選択、実行したときに、選択した画像の画像情報に関連付けられていた機能をサーバで検索して、ユーザーに提示した。本実施例では、画像を選択した状態でメニューの編集機能を選択すると、その画面上で既にPCにインストールされている機能のうち選択した画像に適用できる機能と機能追加処理を選択、実行することのできる構成とする。
【0045】
まず、編集メニューでの機能の選択について図12(a)を参照して説明する。基本的な画面構成は図1(a)と同じであるが、本実施例の画像処理アプリケーションのメニューには編集1202がある。この編集メニュー1202は、ユーザーがサムネイル表示エリアに表示されている画像を選択すると、選択、実行することができる。なお、編集メニュー1202は、画像を編集する機能を実行するためのものであり、コンテキストメニューや専用のボタンから行うようにしてもよい。図12(a)は、サムネイル表示エリアに表示されている画像1201を選択して、1202の編集メニューを選択した際の画像処理アプリケーションの表示画面を示している。編集メニュー1202を選択すると、画像処理アプリケーションは既にPCにインストールされている機能の中で、選択している画像に適用できる機能1203を表示する。この表示は、第1の実施例と同様に、CPU202が画像処理アプリケーションの機能としてPC201に既にインストールされている機能の情報を取得することで行なうことが可能である。図12(a)の場合は、自動調整と水中補正の機能が既にPCにインストールされていることを示している。例えば、自動調整という機能を選択した場合は、選択している画像1201に対して自動調整を実行する。また、PCに他の機能がインストールされていたとしても、選択している画像1201に適用できない機能である場合は、1203には表示しない。機能1203の下には、機能追加1204の表示を行う。機能追加1204を選択すると、選択している画像の画像情報に関連付けられている機能をサーバ208で検索して、その機能情報を画像処理アプリケーションに表示する。この部分の処理については、前述した実施例の処理と同様である。
すなわち、図12(a)において、機能追加1204を選択するとサーバ208と通信を行い、サーバでの検索結果である機能情報を受信して、図12(b)のように受信した機能情報1205を表示する。例えば、選択している画像1201の画像情報が図4(a)である場合を考える。また、PCには自動調整と水中補正という機能が既にインストールされているものとする。この場合、選択されている画像1201の画像情報とPCにインストールされている機能情報を送信すると、サーバ208は図6(b)に示す機能情報管理表を用いることで、607と609の機能が検索結果となる。608と610の機能は、PCに既にインストールされているため、検索結果から外れる。そして、サーバ208は検索結果の機能情報をPC201へ送信し、画像処理アプリケーションでは、受信した機能情報を表示する。受信した機能情報1205は、例えば機能追加1204の右側に表示される。また、選択している画像で実行できる機能がPCに1つもインストールされていない場合は、例えば機能追加1204のみを表示するようにする。このように、編集メニューを選択すると、既にPCにインストールされている機能の中で選択している画像に適用できる機能が表示され、ユーザーは選択した画像に適用できる編集機能のみを選択することができる。また、現在インストールされていない追加機能をユーザーが欲している場合は、同じ操作で機能の追加を実行することができる。また、選択している画像で実行できる機能が1つもインストールされていない場合でも、同じ操作で機能の追加を実行することができる。
【0046】
なお、図12(a)で複数の画像が選択されている場合は、第1の実施例の第2または第3の変形例と同様にサーバ208へ送信する画像情報の生成およびサーバ208での検索処理を行ってもよい。そうすれば、上記第2または第3の変形例と同様の追加機能の表示構成を図12(b)の表示1205において達成することが可能となる。例えば、図8のORおよびANDボタンに対応した表示および図10の画像情報の割合に基づく表示も第2および第3の変形例と同様に可能である。なお、追加機能が選択画像に共通かどうかは、表示される機能名にマークなどを付けて識別することができる。
【0047】
また、本実施例では、追加機能の検索に伴うサーバ208で処理されたサムネイル画像の表示がないので、選択画像の画像情報とともにサムネイル画像をPC201からサーバ208に送信しない構成にしても画像処理アプリケーションでは問題を生じない。同様に、例えば第1の実施例のようにサムネイル画像をサーバに送信して、その処理画像を受信する構成のままでもかまわない。
【0048】
第3の実施例
第2の実施例では追加機能の検索をサーバ208で行っているが、本実施例ではPC201側で行う構成とする。すなわち、本実施例では、PC201にインストールされている画像処理アプリケーションに付随するデータベースとして機能情報管理表をPC201内に保持するよう画像処理アプリケーションを構成する。そうすれば、追加機能の検索機能をPC201において実行することが可能となる。これにより、追加機能の検索を行う際に、サーバ208との通信を行わなくても、選択された画像に適用できる追加機能を提示することが可能となる。
【0049】
本実施例の機能情報管理表は、機能の追加メニューを選択する前に、予め画像処理アプリケーションに付随してサーバ208から提供されて、二次記憶装置204に格納されているものとする。また、この機能情報管理表は、アプリケーションの機能により、またはサ−バー208からの指示により随時、最新の管理表に更新可能に構成されている。また、機能情報管理表の構成を、上記実施例1または2と同じとすればサーバ208で実行されていた検索処理をそのまま画像処理アプリケーションに移行することが可能となる。すなわち、画像処理アプリケーションは、選択画像の画像情報と既にインストール済みの機能の情報とを用いて機能情報管理表を検索することになる。また、図12(b)の機能情報1205の表示を、表示優先度に従って制御することも可能となる。さらには、複数の画像が選択された場合の追加機能の検索処理についても、第2の実施例で説明したように、第1の実施例の変形例で説明した処理を、画像処理アプリケーションに移行することで可能となる。ただし、第1の実施例の変形例で使用される「所定の閾値」は、機能情報管理表とともにサーバ208からPC201に予め与えておくものとする。
【0050】
以上に加えて、機能情報管理表に各機能のバージョン情報を追加しておけば、既にPC201にインストールされている機能のバージョンを検索時に判定することができ、ユーザーに機能の更新の有無を提示することが可能となる。例えば、既にインストールされている機能のバージョンが最新のバージョンでない場合は、図12(a)の表示1203において該当する機能名にマークなどを付すことで更新できることを提示することができる。
【0051】
図13のフローチャートを参照して本実施例の処理の流れを説明する。本処理は、上述のようにすべてPC201内で実行される。
【0052】
ステップS1301において図12(a)の画面で表示されている画像が選択する。なお、図12(a)の画面が表示されたときにはすでに機能情報管理表が画像処理アプリケーションに付随するデータベースとしてPC201内に取得されているとする。次いで、ステップS1302において、編集メニューが選択されたかどうか判定する。選択されていないと判定されたときは、本判定を繰り返す。選択されたと判定されたときは、ステップ1303において編集メニューの表示、即ち図12(a)の画面表示を行う。この表示は、第2の実施例と同様に、CPU202が画像処理アプリケーションの機能としてPC201に既にインストールされている機能の情報を取得することで行なうことが可能である。次いで、ステップS1304で、表示メニューの選択を判定する。機能追加が選択されたと判定されたときは、ステップS1305において追加機能の検索を行なう。この検索処理は、PC201内で実行されること以外は上記第2の実施例と同じである。ステップS1304で編集機能が選択されたと判定されたときは、選択されている画像に対して選択された編集機能を実行する。ステップS1307では、ステップS1305での追加機能の検索またはステップS1306での編集機能の実行の結果を表示する。
【0053】
その他の実施例
上記の実施例では追加機能をインストールするためのプリグラムを記憶する装置は外部サーバであるとして説明を行ったが、これに限るものではない。例えば、追加機能を選択した外部サーバとは異なる別のサーバや、ネットワーク上のハードディスクといった外部記録装置や、CD−ROM等の外部記録媒体に、追加機能をインストールするためのプログラムを記憶しておき、インストールしようとする追加機能に対応するプログラムを、この外部記録装置または外部記録媒体から読み出すように構成しても良い。
【0054】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又はコンピュータ読み取り可能な各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行することで本件発明を実現する。
【0055】
「コンピュータ読み取り可能な各種記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、一定時間プログラムを保持しているものも含むものとする。例えば、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)が該当する。
【0056】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【技術分野】
【0001】
本発明は、情報処理装置、特に画像を処理するアプリケーションプログラムに機能を追加することを可能とする情報処理装置、情報処理方法およびプログラムに関する。
【背景技術】
【0002】
例えばPCなどの処理装置で動作するアプリケーションプログラム(以下、アプリケーションと記載する)には、現状のアプリケーションに無い機能を、拡張機能として追加できるものがある。このような拡張機能はプラグインと呼ばれることが多く、ユーザーがアプリケーションをインストールした後でも、必要に応じて機能を追加することを可能としている。
このような機能追加を行う方法として、サーバで公開されている機能のリストからユーザーが所望の機能を選択して追加する方法がある。
また、端末にデータを取り込んだ際に、取り込んだデータの種類に応じて追加できるアプリケーションを表示して、ユーザーに選択させる方法もある(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2001−61020号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、一覧表示されたリストから機能を選択して追加する場合、単に数多くの追加機能が提示されているだけだと、機能を選択する際にユーザーが迷ってしまうことが考えられる。また、その際、ユーザーが適当に機能を選択して追加したとしても、手持ちのファイルに対しては使えない機能である可能性もある。
そのような場合を避けるためには、ユーザーが処理(例えば編集)したいファイルに応じて追加機能を選択でき、その結果ユーザーが使いたい機能だけを追加できる処理装置が切望される。
【0005】
本件発明の目的は、アプリケーションで処理される画像ファイルに応じてアプリケーションに追加できる処理機能を選択可能とすることにより、画像ファイルに応じた処理機能の追加を適切に行うことが可能な画像処理装置の提供を目的とする。
【課題を解決するための手段】
【0006】
上記本件発明の目的を達成するため、本件発明の情報処理装置は、記録媒体に記録されている画像を処理するための機能を有するアプリケーションが動作する情報処理装置であって、記録媒体から選択された画像の特徴を取得し、取得した特徴に基づいてアプリケーションに追加する機能を選択し、選択された機能に対応するプログラムを外部から情報処理装置にインストールするよう構成されている。
【発明の効果】
【0007】
本件発明の情報処理装置によれば、ユーザーが選択した画像の特徴に応じて画像処理アプリケーションの追加機能(候補機能)を検索してその結果をユーザーに提示できる。これによりユーザーは、選択した画像に応じた機能を容易にかつ適切に追加することができる。
【図面の簡単な説明】
【0008】
【図1】本発明の一実施形態に係る画像処理アプリケーションの表示画面を示す図である。
【図2】本発明の一実施形態に係る情報処理装置のシステム構成を示す図である。
【図3】本発明の一実施形態に係る画像情報の取得と画像処理アプリケーションにインストールされている機能の情報の取得を行うためのフローチャートを示す図である。
【図4】本発明の一実施形態に係る画像情報とインストールされている機能の情報の構成を示す図である。
【図5】本発明の一実施形態に係る追加機能を決定する処理のフローチャートを示す図である。
【図6】本発明の一実施形態に係る画像情報と機能情報との対応関係を示す図である。
【図7】本発明の一実施形態に係る追加機能情報の表示処理のフローチャートを示す図である。
【図8】本発明の一実施形態において複数の画像が選択されたときの画像処理アプリケーションの機能情報表示画面を示す図である。
【図9】本発明の一実施形態において選択された複数の画像の画像情報および画像情報と機能情報との対応関係を示す図である。
【図10】本発明の一実施形態において、多数の画像が選択されたときに画像処理アプリケーションが表示する機能情報表示画面を示す図である。
【図11】本発明の一実施形態において多数の画像が選択されたときの、選択された画像中で画像情報を有する選択画像の割合および画像情報と機能情報との対応関係を示す図である。
【図12】本発明の一実施形態に係る画像処理アプリケーションにおいて編集機能を実行する際に表示する機能情報表示画面を示す図である。
【図13】本発明の一実施形態に係る画像処理アプリケーションにおいて編集機能を実行するためのフローチャートを示す図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施形態を説明する。
【0010】
図2は、本発明のシステム構成を示す図である。図2の201は、画像処理機能を有するアプリケーションプログラム(以下、アプリケーションと記載する)がインストールされている情報処理装置(以下、PCと記す)である。208はPC201の外部装置となる情報処理装置(以下、サーバーと記す)であり、画像処理アプリケーションや、追加機能用のインストールプログラムをユーザーに提供するための機能を有する。本発明では、PC201で動作する画像処理アプリケーションにおいて、ユーザーが画像を選択した状態で機能追加を実行すると、選択されている画像の画像情報を用いて追加機能(例えば追加可能な機能や追加を推奨する候補の機能)を検索する。そして、検索された機能の情報を画像処理アプリケーションで表示することで、選択した画像に応じた追加機能をユーザーに提示している。202はPC201全体を制御するためのCPUである。204は、ハードディスクなどの二次記憶装置であり、CPU202によってPC201の動作を制御するためのプログラムや画像ファイルなどのデータを格納する。203は、RAMなどの一次記憶装置であり、二次記憶装置から読み出されたプログラムを格納するとともに、プログラムの実行時のワークエリアを提供する。205は、液晶ディスプレーなどの表示部である。206は、キーボードやマウスなどの操作部である。207は、他のコンピュータと通信する手段として、Ethernet(登録商標)端子などのネットワーク装置である。208は前述のとおりサーバである。209はサーバ208全体を制御するためのCPUである。211は、ハードディスクなどの二次記憶装置であり、CPU209によってサーバ208を制御するためのプログラムを格納する。また、本発明の実施例に応じて画像処理アプリケーションに追加できる機能の情報も格納している。
【0011】
図2のシステムは、以下に説明する本件発明の実施例の構成を達成するための基本構成であり、各実施例の具体的構成はPC201およびサーバ208のそれぞれの二次記憶装置に格納されている制御プログラムに従ったCPUの制御動作により実現される。
【0012】
第1の実施例
図1(a)は、本実施例においてPC201で動作する画像処理アプリケーションの表示画面である。101はフォルダ選択エリアである。このエリアに表示されるフォルダを選択すると、選択したフォルダに保存されている画像のサムネイルをサムネイル表示エリア103に表示する。画像は、撮影情報、属性情報などのデータとともにファイル形式でフォルダ内に格納され、フォルダは二次記憶装置記憶されている。図1(a)の場合は、フォルダ102を選択しており、サムネイル表示エリア103に3枚の画像を表示している。サムネイルエリア103に表示されている画像は、例えば操作部206を操作することで、画像処理の対象として選択することができ、図1(a)の場合はサムネイル画像104が処理対象として選択されている。画像が選択されると、選択された画像の枠が図のように強調されて表示される。言うまでもなく、他の表示方法で選択を表してもよい。
【0013】
サムネイルエリア103に表示している画像を選択すると、メニューに表示している機能追加処理105を選択して実行することができる。機能追加処理は、コンテキストメニューや専用のボタンから実行するようにしてもよい。
【0014】
図3のフローチャートは、画像選択の処理が行われてから、機能追加の処理を実行するときの、PC201が行う処理を示す。この処理は、CPU202が二次記憶装置204に格納されているプログラムに従ってPC201の各構成要素を制御して画像処理アプリケーションを実行することによって実現される。
【0015】
まず、ステップS301で、CPU202は選択している画像の特徴を取得するための特徴取得の処理を行う。ここで、画像の特徴とは、例えば画像を撮影したときの日時情報や絞り値、撮影モードなどの撮影情報を含む。しかし、これに限るものではなく、例えばCPU202が画像の属性情報や画像の明るさや色味、被写体の種類などを解析し、その解析結果を表現した特徴量のデータでも良い。
以下の説明では、上記の撮影情報や特徴量データなど、その画像の特徴を示す情報を総じて、画像情報と呼ぶこととする。
【0016】
図1(a)の画像処理アプリケーションで選択している画像104の画像情報の例を図4(a)に示す。図に示すように、画像情報は画像情報の種類と値、そして種類と値それぞれに対応したIDから構成される。例えば画像情報402は、撮影モードが水中であることを示している。ここで、「撮影モード」という画像情報の種類には「002」というIDが、「水中」という撮影情報の値には「008」というIDが割り振られている。プログラム内部での処理や、サーバとの通信では、「撮影モード」および「水中」という情報を送受信するのではなく、画像情報の種類として「002」、画像情報の値として「008」というIDを送受信する。このようにIDを用いることで、扱う情報の量を少なくすることができる。また、画像処理アプリケーションを多言語にローカライズしたときに、言語の影響を受けることなく、サーバとの通信を行うことができる。
【0017】
図4(a)によれば、画像104の画像情報は画像フォーマットがJPGであり(401)、撮影モードが水中であり(402)、GPS情報がある(403)ことになる。ステップS301での画像情報の取得は、画像データから画像情報を直接読み取ってもよいし、画像処理アプリケーションが管理しているデータベースから読み取ってもよい。また、画像情報にはサムネイル画像も含まれる。このサムネイル画像は、一般的に画像解像度が縦120ピクセル、横160ピクセルで構成される縮小画像である。
【0018】
ステップS302で、CPU202は画像処理アプリケーションの機能としてPC201に既にインストールされている機能の情報を取得する機能取得の処理を実行する。画像処理アプリケーションは、自身のアプリケーションにインストールされている機能の情報をレジリストなどに格納しているので、このレジストリの情報を参照して、インストールされている機能の情報を取得することが可能である。この取得される機能情報の例を図4(b)に示す。機能情報は、IDと機能名から構成される。IDは他の機能と重複しない固有の値を持っており、画像処理アプリケーションの開発者が機能ごとに固有の値を付けるものとする。図4(b)は、PC201に自動調整(404)と、動画カット(405)と、RAW現像(406)の機能が既にインストールされていることを示している。
【0019】
ステップS303において、CPU202はステップS302で取得した画像情報と機能情報をサーバに送信する。サーバ208への送信は、ネットワーク装置207を介して行う。なお、上述したように画像自体を画像情報として使用する場合は、図4(a)の画像情報に加えて画像またはその縮小画像自体を画像情報として送信する。
【0020】
このように本実施例では、ステップS302でPCにインストールされている機能の情報を取得し、ステップS303でその機能情報をサーバへ送信している。これは、機能追加に際しては、PCにインストールされていない追加機能のみをユーザーに提示するためである。そこで、既にインストールされている機能の情報をサーバに送信し、サーバで画像情報に対応した機能を検索する際に、既にインストールされている機能が見つかっても、その機能情報をPCに送信しないようにしている。また、PC201から送信された機能情報は、サーバ208においてPC201にすでにインストールされている機能の更新状況をチェックするのに使用することができる。
【0021】
図5のフローチャートは、PC201がステップS303で送信した画像情報と機能情報を利用して、サーバ208がPC201に追加を推奨する機能を検索し、選択的に追加機能をPC201に通知する処理を示す。
【0022】
ステップS501で、CPU209はPC201から送られてきた画像情報と機能情報を受信する。PC201から送られてきた情報の受信は、ネットワーク装置214を介して行う。
【0023】
ステップS502で、CPU209は受信した画像情報と機能情報を用いて、PC201に送信する機能情報を生成する。この機能情報は、PC201から受信した画像情報と機能情報を用いて、図6に示す機能情報管理表として二次記憶装置211に記憶されている管理情報から、PC201に追加できる機能を検索し、決定することによりで生成する。
【0024】
図6に示されるように、機能情報管理表は、画像情報601と機能情報602の2つに分けることができる。画像情報601には、PCから送られてくる可能性のある全ての画像情報が含まれる。画像情報601の構成は、図4(a)で説明した画像情報の構成と同じである。例えば、図4(a)にある画像フォーマットがJPGという画像情報401は、図6の603に存在している。同じように、図4(a)にある画像情報402と画像情報403も、図6の604と605に存在している。機能情報602には、検索対象となる機能が含まれる。この機能は画像情報と関連付けられている。例えば、606で示した機能(静止画切り出し、動画結合、動画カット)は、画像フォーマットが動画という画像情報と関連付けられている。このように画像情報601と機能情報602とを関連付けること(対応関係)によって、PCから送られてきた画像情報に対応する機能を検索することができる。また、機能情報602の構成は、図4(b)で説明した画像情報の構成と同様に、IDと機能名を含む。また、機能情報602は、後述するように機能の表示優先度情報を含んでもよい。
【0025】
ステップS502の追加機能の検索の説明に戻る。CPU209は、受信した画像情報に関連付けられている機能を、機能情報管理表から検索する。例えば、図4(a)に示す画像情報が送られてきた場合、図6の機能情報管理表の太線のように、画像情報401、402および403に関連付けられている機能情報607、機能情報608および機能情報609が検索結果となる。すなわち、明るさ補正、トリミング(JPG)、コントラスト調整、傾き補正、水中補正および地図表示が機能の検索結果となる。ここで検索された機能は、追加される候補機能としてPC201に通知される。そしてPC201では、この候補機能からインストールを希望する機能を選択する機能選択の処理を行うことにより、選択した機能のみを、または全ての機能を、追加する対象として選択することが可能となる。
ここで、画像情報401に関連付けられている機能情報610(自動調整)が検索結果から外れている理由について説明する。前述したように、ユーザーが機能追加を実行するとき、既にPC201にインストールされている機能を新たに提示する必要はない。そこで、ステップS501で受信した機能情報に含まれている機能である自動調整の情報は、ステップS502の検索結果から外している。このように検索結果をすでにPCにインストールされている機能以外の機能に絞り込むことで、PCに既にインストールされている機能情報をユーザーに提示しないようにする。
【0026】
また、サーバ208は、PC201から受信した機能情報に含まれるインストール済みの機能の更新状況を取得するように構成してもよい。例えば、インストール済みの機能の最新バージョン情報を取得してPC201に追加機能の検索結果とともに送信するようにしてもよい。このようにすれば、画像処理アプリケーションで既にインストールされている機能であっても、より新しいバージョンに関する更新情報を、追加機能の提示と一緒に行う様な事も可能となす。
【0027】
ステップS503で、CPU209は検索結果に含まれる各機能で画像を処理する。ここで述べる画像処理とは、サムネイル画像を用いて、明るさ補正や水中補正などの機能を実行することである。画像処理に使用するサムネイル画像は、PC201から受信された画像情報に含まれるものを使用する。ステップS502での検索結果が機能情報607〜609の場合は、図6に示される合計6つの機能で画像処理を行う。
ステップS504で、CPU209は検索結果の機能情報と、ステップS503での処理された処理結果画像データをPC201へ送信する。例えば、図4(a)に示す画像情報が送られてきた場合は、検索結果の機能情報607〜609と、ステップS502で作成した6つのサムネイル画像をPC201へ送信する。このように、サーバ208の送信処理により送信された機能は、PC201が追加する機能の候補となる。
ここで、PC201へ機能情報を送信する際は、例えば「002」というIDだけでなく、「明るさ補正」という機能名も送信する。IDだけでなく機能名も送信するのは、追加機能の場合はPCに今まで存在していないIDの機能を表示させるので、IDだけでは機能名が分らないためである。また、本実施例では、PC201へ送信する機能情報に、表示優先度611の情報も含ませる。表示優先度は、PC201において画像処理アプリケーションでサーバ208から受信した機能情報を表示する際の優先順位を示す情報である。表示優先度はサーバ管理者が設定、修正できる情報とし、各機能の表示優先度は他の機能と重複しない固有の値をとする。PC201の画像処理アプリケーションは、表示優先度の番号が若い順に機能情報を表示する構成されている。このように、自由に表示優先度を設定できるようにすることで、ユーザーに積極的に提示させたい機能を適宜決定、変更できる。さらには、上述したように、サーバ208はPC201に既にインストールされている機能の最新バージョン情報をもPC201に送信するように構成してもよい。このようにすれば、PC201においてインストール済みの機能のバージョンチェックを行うことができ、その結果に基づいてユーザーに機能の更新を促すことが可能となる。
【0028】
図7のフローチャートは、サーバ208が送信した機能情報と処理された画像データをPC201が受信したときにPC201が行う処理を示す。
【0029】
ステップS701で、CPU202はサーバ208から送られてきた機能情報と処理された画像データを受信する。
ステップS702で、CPU202は受信した機能情報と処理された画像データを画像処理アプリケーションにより表示する。図1(b)は、図1(a)の画像を選択した状態で機能追加を実行したときに、受信した機能情報と処理された画像データを画像処理アプリケーションに表示した画面を示す。つまり、図1(a)の状態で機能追加を実行すると、PC201はサーバとの通信を行い、その結果、画像処理アプリケーションはその表示画面を図1(b)の状態に変更する。108は受信した機能情報と処理された画像データを表示する機能情報表示エリアである。109はサーバ208から受信した機能情報の1つである。110は受信した処理された画像データである。このように機能情報と処理された画像データをセットで表示することで、選択した画像を追加機能で処理した結果が一目で分かるようになり、ただ機能名だけを表示するよりも、追加することのできる機能をユーザーが認識し易くなる。また、CPU202は受信した機能情報を機能情報表示エリア108に表示する際に、機能情報に含まれる表示優先度に従って表示を制御する。図1(b)の場合は、受信した表示優先度の番号が若い順に、画面左から機能情報を表示している。ここで、受信した機能情報が機能情報表示エリア108に入りきらない場合は、機能情報エリア108にスクロールバーを設けて、スクロールバーを動かすことで全ての機能情報を表示優先度順に表示できるようにしてもよい。また、機能情報エリア108にボタンを設置して、そのボタンを押下すると別ウィンドウが開いて、入りきらなかった機能情報を別ウィンドウに表示してもよい。また、表示優先度に基づく表示を行うかどうかをユーザーに選択させる機能を画像処理アプリケーションに持たせてもよい。また、サーバ208からインストール済みの機能の最新バージョン情報をも受信している場合は、インストール済みの機能で更新可能な機能を示す情報を表示するようにしてもよい。
【0030】
図1(b)において、機能表示エリア108に表示されている機能から、インストールを希望する機能をユーザーが選択する操作をPC201が受け付けると、その機能を示す情報をサーバに送信する(ステップS703)。すると、選択された機能を示す情報を受信したサーバは、選択された機能をインストールするためのプログラムをPC201に送信するプログラム送信処理を実行する(不図示)。ステップS704では、サーバから読み出されてPC201に送られてきたインストールプログラムを取得すると、そのインストールプログラムを起動して、新しい機能がアプリケーションに追加される(プログラム取得手段)。
例えば、ユーザーが109の水中補正を選択した場合、CPU202は選択した機能に対応するIDをサーバ208に送信する。サーバ208は受信したIDに対応する機能を検索し、その機能のプログラムを画像処理アプリケーションに追加するためのインストーラーをPC201へ送信する。PC201では、受信したインストーラーを実行して、画像処理アプリケーションに機能を追加する。インストール済みの機能で更新可能な機能を表示している場合も同様の処理ができるように構成することも可能である。
【0031】
本実施例は、サーバが追加機能となりえる候補機能を検索することを基本構成としている。この点を考慮した場合、例えば次のように本実施例を変形することが可能である。 第1の実施例では、図1(b)の追加機能の情報の表示において既にインストール済みの機能を表示させないために、選択した画像の画像情報をサーバに送信する際に、インストール済みの機能の情報も合わせてサーバに送信していた。これにより、サーバ208がステップS502で機能を検索したときに、インストール済みの機能を検索結果から外していた。しかし、インストール済みの機能情報を表示させない方法として、PC201がステップS702で機能を表示する際に、インストール済みの機能を表示対象外にすることも可能である。そこで、第1の実施例の第1の変形例として、インストール済みの機能の情報をサーバに送信せず、サーバから追加機能の検索結果を受信したPC201がインストール済みの機能を表示対象外にする。すなわち、PC201がステップ702で機能情報を表示する際に、インストール済みの機能を表示対象外にする。
【0032】
まず、図3のステップS302を実行するが、ステップS303でCPU202がサーバに送信する情報は、画像情報である。これに対応して、ステップS501でサーバ208が受信する情報も画像情報である。そして、ステップS502では受信した画像情報を用いて追加機能の検索を行う。即ち、図4(a)に示す画像情報を受信した場合は、図6の機能情報607〜610に示す全ての機能が検索結果となる。先ほどの説明ではPCにインストール済みの機能610が検索結果から外れていたが、今回の手順ではこの時点でPCにインストール済みの機能かどうかは分らないため、受信した画像情報に関連付けられている全ての機能が検索結果となる。そして、サーバ208は検索結果である機能情報をPC201へ送信する。PC201では、サーバが送信した機能情報を受信する。そして、ステップ702の前に、取得してある既にPCにインストールされている機能の情報に基づいてサーバから受信した機能情報のうち、既にPCにインストールされている機能を除外する。このようにステップS702で表示する機能情報を限定することで、PCにインストール済みの機能の情報を画像処理アプリケーションに表示しないようにすることができる。以上が、インストール済みの機能の情報を画像処理アプリケーションに表示させないための、もう一つの方法である。なお、ステップ302の処理を行なわずに、ステップS701と702の間で行うようにすることも可能である。また、本変形例は、後述する他の変形例にも適用することが可能である。ところで、本変形例では、サーバに機能情報を送信していないので、機能追加の際にインストール済みに機能の最新バージョン情報の取得ができなくなる。
【0033】
次に、第1の実施例の第2の変形例を説明する。本変形例は、画像編集アプリケーションで選択する画像を複数の画像に拡張できる構成とすることにより、選択した複数の画像に対して第1の実施例の機能追加を実行することを可能とする。なお、本変形例においても選択された画像の画像情報とインストール済みの機能の機能情報がPC201からサーバ208に送信される構成は第1の実施例と同様である。
【0034】
図8は、複数の画像を選択して機能追加を実行した際の画像処理アプリケーションの表示画面を示している。図8では、サムネイル表示エリアの画像801、802をユーザーが選択している。複数の画像の選択は、操作部206の操作、例えばマウスのドラッグ操作や、キーボード操作で行うことができる。この状態で機能追加を実行すると、選択している2枚の画像の画像情報を機能情報(例えば図4(b))とともにサーバ208に送信する。すなわち、PC201は、図3のフローチャートに従って選択されている各画像にたいして処理を行う。例えば、図8で選択している2つの画像の画像情報がそれぞれ図9(a)および(b)であったとすると、画像情報901〜904と画像801、802のそれぞれのサムネイル画像およびステップS302で取得される機能情報がサーバ208に送信される。サーバ208は、図5のフローチャートに従って、まず受信した画像情報と機能情報とを用いて、図9(c)に示す機能情報管理表からPC201へ送信する追加機能を検索、決定する。本実施例では、複数の画像の画像情報がサーバ208に送られてきた場合は、まず受信した画像情報と関連付けられている機能を検索結果とする。即ち、図9(a)および(b)に示す画像情報が送られてきた場合は、PC201から受信した機能情報を参照して機能情報管理表の中の機能905〜907を検索結果とする。905の機能は、画像フォーマットがJPGという画像情報に関連付けられたものであり、906の機能は撮影モードが夜景という画像情報に関連付けられたものであり、907の機能は撮影モードがスポーツという画像情報に関連付けられたものである。
【0035】
次に、サーバ208は前述の検索結果の機能の中で、選択されている全ての画像で適用できる機能を検索する。即ち、図9(a)および(b)に示す画像情報が送られてきた場合は、画像フォーマットがJPGという画像情報が共通であるので、905の機能が2つの画像に適用できることになる。そこで、この機能905にはフラグを付けておく。このフラグは、検索された機能の中で、選択している全ての画像で適用できる機能と、いずれかの画像で適用できる機能を区別するためのものである。従って、機能906、907の方にフラグを付けてもよいし、フラグ以外の方法で区別してもよい。このように、本変形例では選択された画像が複数であることを考慮して、ユーザーによる機能追加にとって有益となる処理を追加している。
【0036】
次に、ステップS503の画像処理を実行する際は、検索結果の機能を適用できる全ての画像に対して、画像処理を行う。即ち、画像801、802のサムネイルに対して共通な機能905に含まれる明るさ補正、トリミング、コントラスト調整、傾き補正を行う。画像801のサムネイルに対しては機能906の夜景補正を行い、画像802のサムネイルに対しては機能907の手ブレ補正を行う。ステップS504でサーバ208が機能情報を送信する際は、機能情報905〜907と、先ほど付けたフラグも送信する。また、処理された画像データを送信する際も、前述した全ての処理された画像データを送信する。画像処理アプリケーションでは、機能情報を受信すると、選択したいずれかの画像で適用できる機能と処理された画像データを表示する。図8では、画像801に適用できる夜景補正機能803と、その処理された画像804を表示するとともに、画像802に適用できる手ブレ補正機能805と、その処理された画像806を表示する。また、画像801と802の両方に適用できる明るさ補正機能807と、その処理された画像808と809をも表示する。ここで、選択しているいずれかの画像に適用できる機能の表示モードと、選択している全ての画像で適用できる機能の表示モードとは、ラジオボタン810と811で切り替えることができる。デフォルトの状態では、いずれかの画像で適用できる機能を表示しているため、検索結果のORを示すラジオボタン810が選択されている。検索結果のANDを示すラジオボタン811を選択すると、選択している全ての画像で適用できる機能の表示のみを行う。ここで、画像処理アプリケーションが選択している全ての画像で適用できる機能の表示を行うためには、サーバから送信されたフラグを参照する。サーバで追加機能の検索を行った際に、選択している全ての画像で適用できる機能にフラグを付けた場合は、ラジオボタン811を選択すると、フラグが付与された機能情報だけを表示する。即ち、図9(c)にある905の機能情報を表示する。このように、サーバで付けたフラグを参照することで、選択している全ての画像で適用できる機能の表示と、いずれかの画像で適用できる機能の表示を切り替えることができる。
【0037】
本変形は第1の実施例の構成を前提としているが、上記第1の変形例の構成を前提としても本変形例のフラグの付与にはなんら変更を生じない。この場合、PC201側でサーバ208から受信した検索結果からインストール済みの機能の情報を除いた結果に対して上記説明の表示制御を行えばよい。PC201側でのインストール済みの機能の除外の結果、選択画像に共通の追加機能情報が無くなったときは、そのように表示制御が行われるだけである。
【0038】
第3の変形例として、選択している画像が100枚などの大量枚数の場合に好適な第1の実施例の変形例を説明する。例えば選択している画像が100枚であり、その中の99枚に共通な画像情報があっても、残りの1枚にその画像情報が存在しない場合は、図8のラジオボタン811(AND)を選択しても、99枚に共通な機能は表示されない。また、ラジオボタン810を選択すれば、99枚に共通な機能は表示されるが、その他に多数の機能情報が表示されることが予想されるため、99枚に共通な画像情報に関連付けられた機能をユーザーが探すのに手間がかかってしまう。このような事態は、例えば選択した100枚全ての画像を、ユーザーは夜景という撮影モードで撮影したと思っていても、実際は99枚の撮影モードが夜景であり、残りの1枚の撮影モードがスポーツであった場合などに起こることが考えられる。そこで、多数の画像を選択して機能追加を実行する際は、サーバ208で機能を検索するときに、選択している複数の画像の中で所定の閾値以上の割合で存在する画像情報に関連付けられている機能を検索して決定するようにする。
【0039】
以下、図10を参照して本変形例を説明する。なお、本変形例においても選択された画像の画像情報とインストール済みの機能の機能情報がPC201からサーバ208に送信される構成は第1の実施例と同様である。すなわち、以下の説明では第1の実施例に従って機能情報がPC201からサーバ208に送信される構成において複数画像が選択された場合を前提としている。
【0040】
図10は、サムネイル表示エリア1001に表示されている100枚の画像を選択した状態で、機能追加を実行した際の画像処理アプリケーションの表示画面を示している。サムネイル表示エリア1001で選択されている複数の画像が有する画像情報の割合を図11(a)に示す。同図によれば、画像情報1101については、選択している100枚の画像の中で85枚の画像フォーマットがJPGであり、15枚が動画であり、5枚がRAWであることを示している。画像情報1102については、10枚の撮影モードが夜景であり、90枚がスポーツであり、撮影モードが水中の画像は無いことを示している。画像情報1103については、60枚にGPS情報が付加されており、40枚には付加されていないことを示している。ユーザーが100枚の画像を選択して機能追加を実行すると、PC201は図11(a)に示す画像情報をサーバ208に送信する。なお、図11(a)の情報を作成できるかどうかの判断の基準は、画像処理アプリケーション側に例えば画像の選択数としてユーザーが設定できるようにすることで達成できる。あるいは、サーバ管理者がサーバ側の都合で画像処理アプリケーションに設定するようにしてもよい。
【0041】
サーバ208では、受信した100枚の画像に対して所定の閾値以上の割合を持つ画像情報に関連付けられている機能を検索して決定する。例えば、サーバ管理者が閾値を50%に設定していたとする。この場合、選択している画像の中で、画像情報の割合が50%を超えているのは、図11(a)にある画像情報1104〜1106である。そこで、サーバ208は、図11(b)に示す機能情報管理表を用いて、画像情報1104〜1106に関連付いた機能を検索する。図11(b)においては、機能情報1106〜1108が検索結果となる。検索結果に自動調整機能が含まれていないのは第3の実施例と同様の理由による。サーバ208は、検索結果の機能情報1106〜1108をPC201へ送信する。画像処理アプリケーションでは、受信した機能情報を表示優先度に従って表示する。図10の場合は、表示優先度が高い順に画面左から、手ブレ補正機能1002、地図表示機能1003、明るさ補正機能1004を表示している。ここで、サーバ208で設定する閾値は、サーバ管理者が自由に設定することが可能である。このように、選択した画像に対して所定の閾値以上の割合を持つ画像情報に関連付けられている機能を検索することで、多数の画像を選択して機能追加を実行した際も、効率良く機能を検索することができる。
【0042】
なお、図10に示されているように、本実施例においても処理されたサムネイル画像が追加機能名とともに表示される。このためには、例えばサーバ208が、受信した画像情報の割合に含まれる画像情報を有する画像を受信した画像情報から識別する必要がある。そして、検索された追加機能に対応するすべてのサムネイル画像を処理して、追加機能とセットにしてPC201に送信することになる。この処理は基本的に第1の実施例と同様である。選択画像の数が多いので、追加機能の表示は、表示優先度に対するスクロールバー(水平方向)と処理画像に対するスクロールバー(垂直方向)を設けるなどで対処できる。
【0043】
本変形例は、多くの画像を選択して機能追加を実行するときに、所定の閾値以上の割合で存在している画像情報に関連付けられている機能を検索するが、画像情報の割合が高い順に、所定の数だけ機能を検索する構成としてもよい。例えば、サーバ208で受信した画像情報の中で割合が高い順に、7つの機能を検索することを考える。この「7」という値はサーバ管理者が自由に設定できるものとする。図11(a)に示す画像情報の中で、選択した画像に対する割合が高い順に検索を行うと、まずは90%の割合を持つ、撮影モードがスポーツという画像情報1105に対する検索が行われる。この画像情報に関連付けられている機能を、図11(b)に示す機能情報管理表を用いて検索すると、1107に示す手ブレ補正機能が検索される。このようにして、選択した画像に対する画像情報の割合が高い順に、7つの機能が見つかるまで検索を行うと、1106〜1109の機能が検索結果となる。この場合においても、PC201でインストール済みの機能については検索結果から除外されている。また、同じ画像情報に関連付けられている機能が複数あり、その機能を全て検索結果にすると所定の閾値を超えてしまう場合は、表示優先度が高い機能を優先するものとする。サーバ208は、検索結果の機能情報をPC201へ送信して、画像処理アプリケーションでは受信した機能情報を表示する。即ち、選択した画像の画像情報の割合が図11(a)に示すものであれば、サーバでの検索結果である1106〜1109の機能情報を画像処理アプリケーションに表示する。このように、サーバ管理者が検索結果の機能数に所定の閾値を設定することで、多数の画像の画像情報がサーバに送信された際も、ユーザーが効率良く機能を検索することができる。
【0044】
第2の実施例
第1の実施例およびその変形例では、画像を選択した状態で機能追加を選択、実行したときに、選択した画像の画像情報に関連付けられていた機能をサーバで検索して、ユーザーに提示した。本実施例では、画像を選択した状態でメニューの編集機能を選択すると、その画面上で既にPCにインストールされている機能のうち選択した画像に適用できる機能と機能追加処理を選択、実行することのできる構成とする。
【0045】
まず、編集メニューでの機能の選択について図12(a)を参照して説明する。基本的な画面構成は図1(a)と同じであるが、本実施例の画像処理アプリケーションのメニューには編集1202がある。この編集メニュー1202は、ユーザーがサムネイル表示エリアに表示されている画像を選択すると、選択、実行することができる。なお、編集メニュー1202は、画像を編集する機能を実行するためのものであり、コンテキストメニューや専用のボタンから行うようにしてもよい。図12(a)は、サムネイル表示エリアに表示されている画像1201を選択して、1202の編集メニューを選択した際の画像処理アプリケーションの表示画面を示している。編集メニュー1202を選択すると、画像処理アプリケーションは既にPCにインストールされている機能の中で、選択している画像に適用できる機能1203を表示する。この表示は、第1の実施例と同様に、CPU202が画像処理アプリケーションの機能としてPC201に既にインストールされている機能の情報を取得することで行なうことが可能である。図12(a)の場合は、自動調整と水中補正の機能が既にPCにインストールされていることを示している。例えば、自動調整という機能を選択した場合は、選択している画像1201に対して自動調整を実行する。また、PCに他の機能がインストールされていたとしても、選択している画像1201に適用できない機能である場合は、1203には表示しない。機能1203の下には、機能追加1204の表示を行う。機能追加1204を選択すると、選択している画像の画像情報に関連付けられている機能をサーバ208で検索して、その機能情報を画像処理アプリケーションに表示する。この部分の処理については、前述した実施例の処理と同様である。
すなわち、図12(a)において、機能追加1204を選択するとサーバ208と通信を行い、サーバでの検索結果である機能情報を受信して、図12(b)のように受信した機能情報1205を表示する。例えば、選択している画像1201の画像情報が図4(a)である場合を考える。また、PCには自動調整と水中補正という機能が既にインストールされているものとする。この場合、選択されている画像1201の画像情報とPCにインストールされている機能情報を送信すると、サーバ208は図6(b)に示す機能情報管理表を用いることで、607と609の機能が検索結果となる。608と610の機能は、PCに既にインストールされているため、検索結果から外れる。そして、サーバ208は検索結果の機能情報をPC201へ送信し、画像処理アプリケーションでは、受信した機能情報を表示する。受信した機能情報1205は、例えば機能追加1204の右側に表示される。また、選択している画像で実行できる機能がPCに1つもインストールされていない場合は、例えば機能追加1204のみを表示するようにする。このように、編集メニューを選択すると、既にPCにインストールされている機能の中で選択している画像に適用できる機能が表示され、ユーザーは選択した画像に適用できる編集機能のみを選択することができる。また、現在インストールされていない追加機能をユーザーが欲している場合は、同じ操作で機能の追加を実行することができる。また、選択している画像で実行できる機能が1つもインストールされていない場合でも、同じ操作で機能の追加を実行することができる。
【0046】
なお、図12(a)で複数の画像が選択されている場合は、第1の実施例の第2または第3の変形例と同様にサーバ208へ送信する画像情報の生成およびサーバ208での検索処理を行ってもよい。そうすれば、上記第2または第3の変形例と同様の追加機能の表示構成を図12(b)の表示1205において達成することが可能となる。例えば、図8のORおよびANDボタンに対応した表示および図10の画像情報の割合に基づく表示も第2および第3の変形例と同様に可能である。なお、追加機能が選択画像に共通かどうかは、表示される機能名にマークなどを付けて識別することができる。
【0047】
また、本実施例では、追加機能の検索に伴うサーバ208で処理されたサムネイル画像の表示がないので、選択画像の画像情報とともにサムネイル画像をPC201からサーバ208に送信しない構成にしても画像処理アプリケーションでは問題を生じない。同様に、例えば第1の実施例のようにサムネイル画像をサーバに送信して、その処理画像を受信する構成のままでもかまわない。
【0048】
第3の実施例
第2の実施例では追加機能の検索をサーバ208で行っているが、本実施例ではPC201側で行う構成とする。すなわち、本実施例では、PC201にインストールされている画像処理アプリケーションに付随するデータベースとして機能情報管理表をPC201内に保持するよう画像処理アプリケーションを構成する。そうすれば、追加機能の検索機能をPC201において実行することが可能となる。これにより、追加機能の検索を行う際に、サーバ208との通信を行わなくても、選択された画像に適用できる追加機能を提示することが可能となる。
【0049】
本実施例の機能情報管理表は、機能の追加メニューを選択する前に、予め画像処理アプリケーションに付随してサーバ208から提供されて、二次記憶装置204に格納されているものとする。また、この機能情報管理表は、アプリケーションの機能により、またはサ−バー208からの指示により随時、最新の管理表に更新可能に構成されている。また、機能情報管理表の構成を、上記実施例1または2と同じとすればサーバ208で実行されていた検索処理をそのまま画像処理アプリケーションに移行することが可能となる。すなわち、画像処理アプリケーションは、選択画像の画像情報と既にインストール済みの機能の情報とを用いて機能情報管理表を検索することになる。また、図12(b)の機能情報1205の表示を、表示優先度に従って制御することも可能となる。さらには、複数の画像が選択された場合の追加機能の検索処理についても、第2の実施例で説明したように、第1の実施例の変形例で説明した処理を、画像処理アプリケーションに移行することで可能となる。ただし、第1の実施例の変形例で使用される「所定の閾値」は、機能情報管理表とともにサーバ208からPC201に予め与えておくものとする。
【0050】
以上に加えて、機能情報管理表に各機能のバージョン情報を追加しておけば、既にPC201にインストールされている機能のバージョンを検索時に判定することができ、ユーザーに機能の更新の有無を提示することが可能となる。例えば、既にインストールされている機能のバージョンが最新のバージョンでない場合は、図12(a)の表示1203において該当する機能名にマークなどを付すことで更新できることを提示することができる。
【0051】
図13のフローチャートを参照して本実施例の処理の流れを説明する。本処理は、上述のようにすべてPC201内で実行される。
【0052】
ステップS1301において図12(a)の画面で表示されている画像が選択する。なお、図12(a)の画面が表示されたときにはすでに機能情報管理表が画像処理アプリケーションに付随するデータベースとしてPC201内に取得されているとする。次いで、ステップS1302において、編集メニューが選択されたかどうか判定する。選択されていないと判定されたときは、本判定を繰り返す。選択されたと判定されたときは、ステップ1303において編集メニューの表示、即ち図12(a)の画面表示を行う。この表示は、第2の実施例と同様に、CPU202が画像処理アプリケーションの機能としてPC201に既にインストールされている機能の情報を取得することで行なうことが可能である。次いで、ステップS1304で、表示メニューの選択を判定する。機能追加が選択されたと判定されたときは、ステップS1305において追加機能の検索を行なう。この検索処理は、PC201内で実行されること以外は上記第2の実施例と同じである。ステップS1304で編集機能が選択されたと判定されたときは、選択されている画像に対して選択された編集機能を実行する。ステップS1307では、ステップS1305での追加機能の検索またはステップS1306での編集機能の実行の結果を表示する。
【0053】
その他の実施例
上記の実施例では追加機能をインストールするためのプリグラムを記憶する装置は外部サーバであるとして説明を行ったが、これに限るものではない。例えば、追加機能を選択した外部サーバとは異なる別のサーバや、ネットワーク上のハードディスクといった外部記録装置や、CD−ROM等の外部記録媒体に、追加機能をインストールするためのプログラムを記憶しておき、インストールしようとする追加機能に対応するプログラムを、この外部記録装置または外部記録媒体から読み出すように構成しても良い。
【0054】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又はコンピュータ読み取り可能な各種記憶媒体を介してシステム或いは装置に供給する。そして、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行することで本件発明を実現する。
【0055】
「コンピュータ読み取り可能な各種記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、一定時間プログラムを保持しているものも含むものとする。例えば、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発メモリ(RAM)が該当する。
【0056】
以上、本発明をその好適な実施形態に基づいて詳述してきたが、本発明はこれら特定の実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の様々な形態も本発明に含まれる。上述の実施形態の一部を適宜組み合わせてもよい。
【特許請求の範囲】
【請求項1】
画像処理機能を有するアプリケーションプログラムが動作しているクライアントと通信する情報処理装置であって、
前記アプリケーションプログラムで処理対象となる画像の特徴を取得する特徴取得手段と、
前記取得手段により取得された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択手段と、
前記機能選択手段により選択された機能に対応するインストールプログラムを取得して前記クライアントに送信するプログラム送信手段とを備えることを特徴とする画像処理装置。
【請求項2】
前記取得手段が取得する画像の特徴は、前記クライアントにおいて選択された処理対象の画像に対応する画像データの解析の結果または属性情報であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
更に、前記取得手段が取得した前記特徴に基づき候補機能を示す情報を前記クライアントに送信する送信手段と、
前記候補機能の中から前記クライアントにより選択された候補機能の情報を受信する受信手段とを有し
前記選択手段は、前記受信手段により受信した候補機能を前記アプリケーションプログラムに追加する機能として選択することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記取得手段は、複数の処理対象の画像に対応した画像データまたは属性情報を取得し、前記機能選択手段は、複数の画像データまたは複数の属性情報に基づき機能を選択することを特徴とする請求項1ないし3のいずれか一項に記載の情報処理装置。
【請求項5】
画像処理機能を有するアプリケーションプログラムが動作している情報処理装置であって、
前記アプリケーションプログラムで処理対象となる画像を選択する画像選択手段と、
前記画像選択手段により選択された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択手段と、
前記機能選択手段により選択された機能に対応するインストールプログラムを取得するプログラム取得手段と、
前記プログラム取得手段で取得した前記インストールプログラムを用いて機能を追加する制御手段とを有することを特徴とする情報処理装置。
【請求項6】
前記機能選択手段は、前記画像選択手段で選択された処理対象の画像に対応する画像データの解析結果または属性情報に基づき前記機能を選択することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
更に外部サーバと通信する通信手段を有し、
前記機能選択手段は、前記画像選択手段で選択された画像の特徴に基づき前記外部サーバで決定した候補機能の中から機能を選択することを特徴とする請求項5または6に記載の情報処理装置。
【請求項8】
前記プログラム取得手段は、前記機能選択手段で選択された機能に対応するインストールプログラムを、前記通信手段を介して前記外部サーバから取得することを特徴とする請求項7に記載の情報処理装置。
【請求項9】
さらに画像の特徴と、追加すべき機能との対応関係を示す情報を記憶する記憶手段、
前記機能選択手段は、前記記憶手段に記憶している情報を用いて、前記画像選択手段で選択した画像の特徴に対応した機能を選択することを特徴とする請求項5に記載の情報処理装置。
【請求項10】
更に外部サーバと通信する通信手段を有し、
前記機能選択手段で選択された機能に対応するインストールプログラムを前記通信手段を介して前記外部サーバから取得することを特徴とする請求項9に記載の情報処理装置。
【請求項11】
更に、前記機能選択手段で選択された機能に対応するインストールプログラムを、外部記録媒体から読み出す読み出し手段を有することを特徴とする請求項9に記載の情報処理装置。
【請求項12】
画像処理機能を有するアプリケーションプログラムが動作しているクライアントと通信する情報処理装置の制御方法であって、
前記アプリケーションプログラムで処理対象となる画像の特徴を取得する特徴取得ステップと、
前記取得ステップで取得された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択ステップと、
前記機能選択ステップで選択された機能に対応するインストールプログラムを取得して前記クライアントに送信するプログラム送信ステップとを備えることを特徴とする制御方法。
【請求項13】
コンピュータを、
画像処理機能を有するアプリケーションプログラムが動作しているクライアントと通信する情報処理装置の制御方法において、
前記アプリケーションプログラムで処理対象となる画像の特徴を取得する特徴取得手段、前記取得手段により取得された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択手段、前記機能選択手段により選択された機能に対応するインストールプログラムを取得して前記クライアントに送信するプログラム送信手段として機能させるプログラム。
【請求項14】
請求項13のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【請求項15】
画像処理機能を有するアプリケーションプログラムが動作している情報処理装置の制御方法において、
前記アプリケーションプログラムで処理対象となる画像を選択する画像選択ステップと、
前記画像選択ステップで選択された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択ステップと、
前記機能選択ステップで選択された機能に対応するインストールプログラムを取得するプログラム取得ステップと、
前記プログラム取得ステップで取得した前記インストールプログラムを用いて機能を追加する制御ステップとを備えることを特徴とする制御方法。
【請求項16】
コンピュータを、
画像処理機能を有するアプリケーションプログラムが動作している情報処理装置において、
前記アプリケーションプログラムで処理対象となる画像を選択する画像選択手段、前記画像選択手段により選択された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択手段、前記機能選択手段により選択された機能に対応するインストールプログラムを取得するプログラム取得手段、前記プログラム取得手段で取得した前記インストールプログラムを用いて機能を追加する制御手段として機能させるプログラム。
【請求項17】
請求項16のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【請求項1】
画像処理機能を有するアプリケーションプログラムが動作しているクライアントと通信する情報処理装置であって、
前記アプリケーションプログラムで処理対象となる画像の特徴を取得する特徴取得手段と、
前記取得手段により取得された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択手段と、
前記機能選択手段により選択された機能に対応するインストールプログラムを取得して前記クライアントに送信するプログラム送信手段とを備えることを特徴とする画像処理装置。
【請求項2】
前記取得手段が取得する画像の特徴は、前記クライアントにおいて選択された処理対象の画像に対応する画像データの解析の結果または属性情報であることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
更に、前記取得手段が取得した前記特徴に基づき候補機能を示す情報を前記クライアントに送信する送信手段と、
前記候補機能の中から前記クライアントにより選択された候補機能の情報を受信する受信手段とを有し
前記選択手段は、前記受信手段により受信した候補機能を前記アプリケーションプログラムに追加する機能として選択することを特徴とする請求項1または2に記載の情報処理装置。
【請求項4】
前記取得手段は、複数の処理対象の画像に対応した画像データまたは属性情報を取得し、前記機能選択手段は、複数の画像データまたは複数の属性情報に基づき機能を選択することを特徴とする請求項1ないし3のいずれか一項に記載の情報処理装置。
【請求項5】
画像処理機能を有するアプリケーションプログラムが動作している情報処理装置であって、
前記アプリケーションプログラムで処理対象となる画像を選択する画像選択手段と、
前記画像選択手段により選択された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択手段と、
前記機能選択手段により選択された機能に対応するインストールプログラムを取得するプログラム取得手段と、
前記プログラム取得手段で取得した前記インストールプログラムを用いて機能を追加する制御手段とを有することを特徴とする情報処理装置。
【請求項6】
前記機能選択手段は、前記画像選択手段で選択された処理対象の画像に対応する画像データの解析結果または属性情報に基づき前記機能を選択することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
更に外部サーバと通信する通信手段を有し、
前記機能選択手段は、前記画像選択手段で選択された画像の特徴に基づき前記外部サーバで決定した候補機能の中から機能を選択することを特徴とする請求項5または6に記載の情報処理装置。
【請求項8】
前記プログラム取得手段は、前記機能選択手段で選択された機能に対応するインストールプログラムを、前記通信手段を介して前記外部サーバから取得することを特徴とする請求項7に記載の情報処理装置。
【請求項9】
さらに画像の特徴と、追加すべき機能との対応関係を示す情報を記憶する記憶手段、
前記機能選択手段は、前記記憶手段に記憶している情報を用いて、前記画像選択手段で選択した画像の特徴に対応した機能を選択することを特徴とする請求項5に記載の情報処理装置。
【請求項10】
更に外部サーバと通信する通信手段を有し、
前記機能選択手段で選択された機能に対応するインストールプログラムを前記通信手段を介して前記外部サーバから取得することを特徴とする請求項9に記載の情報処理装置。
【請求項11】
更に、前記機能選択手段で選択された機能に対応するインストールプログラムを、外部記録媒体から読み出す読み出し手段を有することを特徴とする請求項9に記載の情報処理装置。
【請求項12】
画像処理機能を有するアプリケーションプログラムが動作しているクライアントと通信する情報処理装置の制御方法であって、
前記アプリケーションプログラムで処理対象となる画像の特徴を取得する特徴取得ステップと、
前記取得ステップで取得された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択ステップと、
前記機能選択ステップで選択された機能に対応するインストールプログラムを取得して前記クライアントに送信するプログラム送信ステップとを備えることを特徴とする制御方法。
【請求項13】
コンピュータを、
画像処理機能を有するアプリケーションプログラムが動作しているクライアントと通信する情報処理装置の制御方法において、
前記アプリケーションプログラムで処理対象となる画像の特徴を取得する特徴取得手段、前記取得手段により取得された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択手段、前記機能選択手段により選択された機能に対応するインストールプログラムを取得して前記クライアントに送信するプログラム送信手段として機能させるプログラム。
【請求項14】
請求項13のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【請求項15】
画像処理機能を有するアプリケーションプログラムが動作している情報処理装置の制御方法において、
前記アプリケーションプログラムで処理対象となる画像を選択する画像選択ステップと、
前記画像選択ステップで選択された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択ステップと、
前記機能選択ステップで選択された機能に対応するインストールプログラムを取得するプログラム取得ステップと、
前記プログラム取得ステップで取得した前記インストールプログラムを用いて機能を追加する制御ステップとを備えることを特徴とする制御方法。
【請求項16】
コンピュータを、
画像処理機能を有するアプリケーションプログラムが動作している情報処理装置において、
前記アプリケーションプログラムで処理対象となる画像を選択する画像選択手段、前記画像選択手段により選択された画像の特徴に基づき、前記アプリケーションプログラムに追加する機能を選択する機能選択手段、前記機能選択手段により選択された機能に対応するインストールプログラムを取得するプログラム取得手段、前記プログラム取得手段で取得した前記インストールプログラムを用いて機能を追加する制御手段として機能させるプログラム。
【請求項17】
請求項16のプログラムを記録したコンピュータが読み取り可能な記録媒体。
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図9】
【図11】
【図13】
【図1】
【図8】
【図10】
【図12】
【図3】
【図4】
【図5】
【図6】
【図7】
【図9】
【図11】
【図13】
【図1】
【図8】
【図10】
【図12】
【公開番号】特開2013−50900(P2013−50900A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2011−189401(P2011−189401)
【出願日】平成23年8月31日(2011.8.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願日】平成23年8月31日(2011.8.31)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]