(57)【要約】【課題】  処理後画像データをユーザに迅速に提供すること。【解決手段】  ユーザは、操作部１６を操作することによって、複数種類のフィルタ処理の中から２種類以上のフィルタ処理を順に選択する。中央サーバ５０は、複数の画像処理サーバ７０，９０，９２の中から、ユーザによって選択された２種類以上のフィルタ処理を順に実行すべき２以上の画像処理サーバ７０，９０を決定する。多機能機１０は、最初にフィルタ処理を実行すべき画像処理サーバ９０に選択画像データ２８を送信する。画像処理サーバ９０は、選択画像データ２８に対してフィルタ処理を実行することによって中間画像データを生成し、中間画像データを画像処理サーバ７０に送信する。画像処理サーバ７０は、中間画像データに対してフィルタ処理を実行することによって処理後画像データを生成し、処理後画像データを多機能機１０に送信する。【選択図】  図１
2010278665.tif 000002
【特許請求の範囲】
【請求項１】
中央サーバと複数の画像処理サーバとに通信可能に接続される通信装置であって、
第１画像データを取得する処理前画像データ取得手段と、
複数種類の画像処理の中から２種類以上の画像処理を順に選択することをユーザに許容する選択許容手段と、
前記ユーザによって選択された前記２種類以上の画像処理に対応する種類情報と、前記２種類以上の画像処理の選択順序に関する選択順序情報と、を含む特定の情報であって、前記第１画像データを含まない前記特定の情報を前記中央サーバに送信する情報送信手段と、
前記選択順序情報に対応する前記選択順序に従って、前記種類情報に対応する前記２種類以上の画像処理を順に実行すべき２以上の画像処理サーバであって、前記複数の画像処理サーバの中から前記中央サーバによって決定される前記２以上の画像処理サーバの中の最初に画像処理を実行すべき第１画像処理サーバに対応する第１位置情報を含むスケジュール情報を、前記中央サーバから取得するスケジュール情報取得手段と、
前記スケジュール情報に含まれる前記第１位置情報に対応する前記第１画像処理サーバに前記第１画像データを送信する処理前画像データ送信手段と、
前記２以上の画像処理サーバが、前記第１画像データに対して、前記選択順序に従って、前記２種類以上の画像処理を順に実行することによって生成される第２画像データを取得する処理後画像データ取得手段と、
を備える通信装置。
【請求項２】
前記スケジュール情報取得手段は、前記２以上の画像処理サーバの中の最後に画像処理を実行すべき第２画像処理サーバに対応する第２位置情報をさらに含む前記スケジュール情報を取得し、
前記処理前画像データ送信手段は、前記第１画像処理サーバに前記第１画像データを送信し終えた場合に、前記通信装置と前記第１画像処理サーバとの間の通信セッションを切断し、
前記処理後画像データ取得手段は、前記第２位置情報に対応する前記第２画像処理サーバにリクエストを送信することによって、前記第２画像処理サーバから前記第２画像データを取得する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記第１画像データの縮小画像データに対して、前記選択順序に従って、前記２種類以上の画像処理を順に実行することによって生成される２以上の処理後縮小画像データを取得する処理後縮小画像データ取得手段と、
前記２以上の処理後縮小画像データが生成された順序に従って、前記２以上の処理後縮小画像データを表示手段に順に表示させる第１表示制御手段と、
をさらに備える
ことを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
前記２以上の画像処理サーバによって実行される前記２種類以上の画像処理のそれぞれの終了タイミングに関するタイミング情報を取得するタイミング情報取得手段をさらに備え、
前記第１表示制御手段は、前記２種類以上の画像処理のそれぞれの前記終了タイミングに同期するように、前記２以上の処理後縮小画像データを前記表示手段に順に表示させる
ことを特徴とする請求項３に記載の通信装置。
【請求項５】
前記第１表示制御手段は、前記２種類以上の画像処理のそれぞれについて、当該画像処理の前記終了タイミングにおいて、当該画像処理の次に実行されるべき画像処理によって生成された前記処理後縮小画像データを前記表示手段に表示させる
ことを特徴とする請求項４に記載の通信装置。
【請求項６】
前記スケジュール情報取得手段は、前記第１画像データの前記縮小画像データに対して前記２種類以上の画像処理を実行すべき第３画像処理サーバに対応する第３位置情報をさらに含む前記スケジュール情報を取得し、
前記スケジュール情報に含まれる前記第３位置情報に対応する前記第３画像処理サーバに前記第１画像データの前記縮小画像データを送信する処理前縮小画像データ送信手段をさらに備え、
前記処理後縮小画像データ取得手段は、前記第３画像処理サーバから前記２以上の処理後縮小画像データを取得する
ことを特徴とする請求項３から５のいずれか一項に記載の通信装置。
【請求項７】
前記２以上の画像処理サーバが前記第１画像データから前記第２画像データを生成するのに必要であると予測されるトータルの処理時間に関する処理時間情報を取得する処理時間情報取得手段と、
前記第２画像データを印刷する印刷手段と、
前記トータルの処理時間と前記印刷手段が前記第２画像データを印刷するのに必要であると予測される印刷時間との和である表示時間をカウントダウンさせながら表示手段に表示させる第２表示制御手段と、
をさらに備える
ことを特徴とする請求項１から６のいずれか一項に記載の通信装置。
【請求項８】
前記第２表示制御手段は、前記処理後画像データ取得手段が前記第２画像データを取得した際の前記表示時間が前記印刷時間に一致しない場合に、前記表示時間に代えて前記印刷時間を前記表示手段に表示させ、前記印刷時間をカウントダウンさせながら前記表示手段に表示させる
ことを特徴とする請求項７に記載の通信装置。
【請求項９】
請求項１から８のいずれか一項に記載の通信装置と、
前記中央サーバと、
前記複数の画像処理サーバと、
を備える画像処理システム。
【請求項１０】
前記中央サーバは、
前記複数の画像処理サーバのそれぞれの負荷に関する情報を取得する負荷情報取得手段と、
前記特定の情報が受信された時点での負荷が他の画像処理サーバより小さい前記２以上の画像処理サーバを決定する画像処理サーバ決定手段と、
を備える
ことを特徴とする請求項９に記載の画像処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理の技術に関する。
【背景技術】
【０００２】
例えば、特許文献１には、１つの画像処理サーバと複数の通信装置とを含むシステムが開示されている。各通信装置は、画像データを画像処理サーバに送信し、その画像データに対して画像処理を実行することを画像処理サーバに指示する。画像処理サーバは、上記の指示を受信すると、画像処理を実行することによって処理後画像データを生成し、その処理後画像データを上記の指示の送信元の通信装置に送信する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２８３７４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
処理後画像データを通信装置のユーザに迅速に提供することが求められる。例えば、複数の通信装置から画像処理の依頼が同時的に送信されると、画像処理サーバに処理待ちの多数の依頼が蓄積される。この場合、画像処理サーバが処理後画像データを生成するのに長時間を要する。本明細書では、処理後画像データを通信装置のユーザに迅速に提供することができる技術を提供する。
【課題を解決するための手段】
【０００５】
本明細書によって開示される一つの技術は、中央サーバと複数の画像処理サーバとに通信可能に接続される通信装置である。なお、中央サーバは、画像処理を実行可能であってもよいし、実行不可能であってもよい。前者の場合、中央サーバは、中央サーバとして機能するとともに、画像処理サーバとして機能する。この通信装置は、処理前画像データ取得手段と選択許容手段と情報送信手段とスケジュール情報取得手段と処理前画像データ送信手段と処理後画像データ取得手段とを備える。
【０００６】
処理前画像データ取得手段は、第１画像データ（処理対象の画像データと言い換えることもできる）を取得する。なお、処理前画像データ取得手段は、例えば、外部装置から送信される画像データを受信することによって、第１画像データを取得してもよい。また、処理前画像データ取得手段は、例えば、通信装置が備える記憶部又は外部メモリに記憶されている複数の画像データの中から１つの画像データを選択することをユーザに許容し、ユーザによって選択された画像データを読み込むことによって、第１画像データを取得してもよい。選択許容手段は、複数種類の画像処理の中から２種類以上の画像処理を順に選択することをユーザに許容する。情報送信手段は、ユーザによって選択された２種類以上の画像処理に対応する種類情報と、２種類以上の画像処理の選択順序に関する選択順序情報と、を含み、第１画像データを含まない特定の情報を中央サーバに送信する。
【０００７】
スケジュール情報取得手段は、選択順序情報に対応する選択順序に従って、種類情報に対応する上記の２種類以上の画像処理（ユーザによって選択された２種類以上の画像処理）を順に実行すべき２以上の画像処理サーバであって、複数の画像処理サーバの中から中央サーバによって決定される２以上の画像処理サーバの中の最初に画像処理を実行すべき第１画像処理サーバに対応する第１位置情報を含むスケジュール情報を、中央サーバから取得する。上記の第１位置情報（第１位置情報のみならず、後述の第２位置情報及び第３位置情報を含む）は、画像処理サーバの位置に関するあらゆる情報を含む概念である。位置情報の例として、ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｅｒ）、ＩＰアドレス等を挙げることができる。なお、中央サーバは、例えば、他の画像処理サーバより負荷が小さい２以上の画像処理サーバを選択してもよい。中央サーバは、例えば、特定の種類の画像処理を実行すべき画像処理サーバを選択する際に、その特定の種類の画像処理を実行するのが比較的に得意である画像処理サーバ（他の画像処理サーバより小さい負荷で上記の特定の種類の画像処理を実行可能である画像処理サーバ）を選択してもよい。中央サーバは、例えば、ランダムに２以上の画像処理サーバを選択してもよい。また、中央サーバは、例えば、予め決められた順序で２以上の画像処理サーバを選択してもよい。画像処理サーバを選択するための様々な手法を例示したが、中央サーバは、上記の様々な手法を２つ以上組み合わせて利用してもよい。
【０００８】
処理前画像データ送信手段は、スケジュール情報に含まれる第１位置情報に対応する第１画像処理サーバに第１画像データを送信する。処理後画像データ取得手段は、２以上の画像処理サーバが、第１画像データに対して、上記の選択順序に従って、上記の２種類以上の画像処理を順に実行することによって生成される第２画像データを取得する。
【０００９】
本明細書によって開示される構成によると、ユーザによって選択された２種類以上の画像処理を、中央サーバによって決定される２つ以上の画像処理サーバに分散して実行させることができる。１つの画像処理サーバしか存在しないシステムと比べると、１つの画像処理サーバに画像処理の依頼が集中することを避けることができる。例えば、１つの画像処理サーバしか存在しないシステムにおいて、第１の通信装置において画像処理Ｔ１と画像処理Ｔ２とが選択され、それと同時的に、第２の通信装置において画像処理Ｔ３と画像処理Ｔ４とが選択された場合には、画像処理Ｔ１〜Ｔ４が同時的に画像処理サーバに依頼されることになる。これに対し、本明細書によって開示される上記の構成を利用すると、上記の例において、中央サーバは、例えば、画像処理Ｔ１とＴ３を画像処理サーバＶ１に実行させ、画像処理Ｔ２とＴ４を画像処理サーバＶ２に実行させることを決定し得る。この場合、画像処理Ｔ１〜Ｔ４が１つの画像処理サーバに依頼される場合と比べて、処理後画像データを迅速に生成することができる。この結果、処理後画像データを通信装置のユーザに迅速に提供することができる。
【００１０】
例えば、通信装置が中央サーバにスケジューリングを依頼する際に、上記の種類情報と、上記の選択順序情報と、処理対象の第１画像データと、を含む情報を、通信装置から中央サーバに送信する手法（以下では特定の手法と呼ぶ）が考えられる。この場合、中央サーバは、最初に画像処理を実行すべき第１画像処理サーバに第１画像データを送信することによって、画像処理を依頼することができる。しかしながら、上記の特定の手法の場合、通信装置から中央サーバに第１画像データを送信する第１の通信処理と、中央サーバから第１画像処理サーバに第１画像データを送信する第２の通信処理とが行なわれることになる。即ち、上記の特定の手法では、同じ第１画像データが２回も通信されるので、通信時間が長くなってしまう。これに対し、本明細書によって開示される上記の構成では、通信装置が中央サーバにスケジューリングを依頼する際に送信される上記の特定の情報は、第１画像データを含まない。即ち、通信装置から中央サーバに第１画像データを送信する通信処理を実行する必要がなく、通信装置から第１画像処理サーバに第１画像データを送信する通信処理を実行すれば足りる。中央サーバから通信装置に第１画像処理サーバに対応する第１位置情報を送信する必要があるが、第１位置情報（例えばテキストデータ）は、処理対象の第１画像データと比べてデータサイズが小さい。従って、本明細書によって開示される上記の構成を用いると、上記の特定の手法と比べて、通信時間を短くすることができる。この結果、通信装置のユーザに処理後画像データである第２画像データを迅速に提供することができる。
【００１１】
例えば、１つの画像処理サーバしか存在しないシステムでは、通常、通信装置が画像処理サーバに画像処理を依頼してから処理後画像データを取得するまで、通信装置と画像処理サーバとの間の通信セッションが確立された状態が維持される。通信セッションが確立されている間は、画像処理サーバの負荷が高くなる。画像処理サーバの負荷を低減させるために、以下の構成を採用してもよい。
【００１２】
即ち、スケジュール情報取得手段は、上記の２以上の画像処理サーバの中の最後に画像処理を実行すべき第２画像処理サーバに対応する第２位置情報をさらに含むスケジュール情報を取得してもよい。処理前画像データ送信手段は、第１画像処理サーバに第１画像データを送信し終えた場合に、通信装置と第１画像処理サーバとの間の通信セッションを切断してもよい。処理後画像データ取得手段は、第２位置情報に対応する第２画像処理サーバにリクエストを送信することによって、第２画像処理サーバから第２画像データを取得してもよい。
【００１３】
上記の構成によると、第１画像処理サーバに第１画像データを送信し終えた場合に、通信装置と第１画像処理サーバとの間の通信セッションが切断される。通信装置が処理後画像データを取得するまで、通信装置と第１画像処理サーバとの間の通信セッションが確立された状態が維持される構成と比べると、第１画像処理サーバの負荷を低減させることができる。また、通信装置は、最後に画像処理を実行すべき第２画像処理サーバに対応する第２位置情報を取得することができ、第２画像処理サーバにリクエストを送信することによって第２画像処理サーバから第２画像データを取得することができる。
【００１４】
上記の通信装置は、処理後縮小画像データ取得手段と第１表示制御手段とをさらに備えていてもよい。処理後縮小画像データ取得手段は、第１画像データの縮小画像データに対して、上記の選択順序に従って、上記の２種類以上の画像処理を順に実行することによって生成される２以上の処理後縮小画像データを取得してもよい。第１表示制御手段は、上記の２以上の処理後縮小画像データが生成された順序に従って、上記の２以上の処理後縮小画像データを表示手段に順に表示させてもよい。
【００１５】
上記の構成によると、ユーザは、上記の２以上の処理後縮小画像データを順に見ることができる。ユーザは、自身が選択した順序に従って各画像処理が順に実行される様子を知ることができる。
【００１６】
上記の通信装置は、上記の２以上の画像処理サーバによって実行される上記の２種類以上の画像処理のそれぞれの終了タイミングに関するタイミング情報を取得するタイミング情報取得手段をさらに備えていてもよい。なお、タイミング情報は、予測の終了タイミングであってもよい。この場合、例えば、中央サーバが、上記の２種類以上の画像処理のそれぞれの終了タイミングを予測してもよい。また、例えば、通信装置が、終了タイミングを予測してもよい。一方において、タイミング情報は、実際の終了タイミングであってもよい。この場合、各画像処理サーバは、画像処理が終了する毎に、タイミング情報を通信装置に送信してもよい。第１表示制御手段は、上記の２種類以上の画像処理のそれぞれの終了タイミングに同期するように、上記の２以上の処理後縮小画像データを表示手段に順に表示させてもよい。
【００１７】
上記の「第１表示制御手段は、・・・同期するように、上記の２以上の処理後縮小画像データを表示手段に順に表示させ」は、例えば、以下の（１）又は（２）のように言い換えてもよい。
（１）第１表示制御手段は、上記の２種類以上の画像処理のそれぞれについて、当該画像処理の終了タイミングにおいて、当該画像処理によって生成された処理後縮小画像データを表示手段に表示させてもよい。この構成によると、画像処理サーバにおいて現在実行されている画像処理によって生成される画像データに対応する処理後縮小画像データが、当該画像処理が終了するタイミングで表示される。
（２）第１表示制御手段は、上記の２種類以上の画像処理のそれぞれについて、当該画像処理の終了タイミングにおいて、当該画像処理の次に実行されるべき画像処理によって生成された処理後縮小画像データを表示手段に表示させてもよい。この構成によると、画像処理サーバにおいて現在実行されている画像処理によって生成される画像データに対応する処理後縮小画像データが、当該画像処理の実行中に表示される。
【００１８】
上記の（１）及び（２）の構成によると、各画像処理サーバが各画像処理を終了するタイミングにおいて、各画像処理によって実際に生成される画像データに対応する処理後縮小画像データが表示される。ユーザは、各画像処理サーバにおいて各画像処理が実行されている様子を知ることができる。
【００１９】
なお、上記の２以上の処理後縮小画像データは、画像処理サーバによって生成されてもよいし、通信装置によって生成されてもよい。前者の場合、以下の構成を採用してもよい。即ち、スケジュール情報取得手段は、第１画像データの縮小画像データに対して上記の２種類以上の画像処理を実行すべき第３画像処理サーバに対応する第３位置情報をさらに含むスケジュール情報を取得してもよい。上記の通信装置は、スケジュール情報に含まれる第３位置情報に対応する第３画像処理サーバに第１画像データの縮小画像データを送信する処理前縮小画像データ送信手段をさらに備えていてもよい。処理後縮小画像データ取得手段は、第３画像処理サーバから上記の２以上の処理後縮小画像データを取得してもよい。
【００２０】
上記の通信装置は、上記の２以上の画像処理サーバが第１画像データから第２画像データを生成するのに必要であると予測されるトータルの処理時間に関する処理時間情報を取得する処理時間情報取得手段をさらに備えていてもよい。なお、中央サーバがトータルの処理時間を予測してもよいし、通信装置がトータルの処理時間を予測してもよい。上記の通信装置は、第２画像データを印刷する印刷手段と、上記のトータルの処理時間と印刷手段が第２画像データを印刷するのに必要であると予測される印刷時間との和である表示時間をカウントダウンさせながら表示手段に表示させる第２表示制御手段と、をさらに備えていてもよい。この構成によると、ユーザは、第２画像データが印刷された結果を得るまでの残り時間を知ることができる。
【００２１】
第２表示制御手段は、処理後画像データ取得手段が第２画像データを取得した際の表示時間が印刷時間に一致しない場合に、表示時間に代えて印刷時間を表示手段に表示させ、印刷時間をカウントダウンさせながら表示手段に表示させてもよい。この構成によると、第２画像データを取得した際の実際の残り時間（即ち印刷時間）と表示時間とが異なる場合に、残り時間を修正することができる。ユーザは、より正確な残り時間を知ることができる。
【００２２】
なお、上記の通信装置を実現するための制御方法、及び、コンピュータプログラムも、新規で有用である。上記の中央サーバを実現するための制御方法、及び、コンピュータプログラムも、新規で有用である。また、上記の画像サーバを実現するための制御方法、及び、コンピュータプログラムも、新規で有用である。また、上記の通信装置と、上記の中央サーバと、上記の複数の画像処理サーバと、を備える画像処理システムも、新規で有用である。中央サーバは、複数の画像処理サーバのそれぞれの負荷に関する情報を取得する負荷情報取得手段と、上記の特定の情報が受信された時点での負荷が他の画像処理サーバより小さい上記の２以上の画像処理サーバを決定する画像処理サーバ決定手段と、を備えていてもよい。この構成によると、中央サーバは、比較的に負荷の小さい画像処理サーバを決定することができる。
【図面の簡単な説明】
【００２３】
【図１】画像処理システムの構成の一例を示す。
【図２】サーバテーブルの一例を示す。
【図３】各デバイスが実行する処理のシーケンス図を示す。
【図４】図３の続きのシーケンス図を示す。
【図５】図４の続きのシーケンス図を示す。
【図６】処理テーブルの一例を示す。
【図７】フィルタテーブルの一例を示す。
【図８】多機能機が実行するメイン処理のフローチャートを示す。
【図９】多機能機が実行する実行状況表示処理のフローチャートを示す。
【図１０】表示部に表示される画面の一例を示す。
【発明を実施するための形態】
【００２４】
ここでは、以下の実施例に記載の技術の一部を列挙しておく。
（形態１）画像処理サーバに通信可能に接続される次の通信装置も新規で有用である。この通信装置は、以下の各手段を備えていてもよい。
（１）第１画像データを取得する処理前画像データ取得手段。
（２）複数種類の画像処理の中から２種類以上の画像処理を順に選択することをユーザに許容する選択許容手段。
（３）ユーザによって選択された２種類以上の画像処理に対応する種類情報と、２種類以上の画像処理の選択順序に関する選択順序情報と、第１画像データと、を画像処理サーバに送信する情報送信手段。
（４）画像処理サーバが、第１画像データに対して、選択順序情報に対応する選択順序に従って、種類情報に対応する２種類以上の画像処理を順に実行することによって生成される第２画像データを取得する処理後画像データ取得手段。
（５）画像処理サーバによって実行される上記の２種類以上の画像処理のそれぞれの終了タイミングに関するタイミング情報を取得するタイミング情報取得手段。なお、タイミング情報は、予測の終了タイミングであってもよいし、実際の終了タイミングであってもよい。
（６）第１画像データの縮小画像データに対して、上記の選択順序に従って、上記の２種類以上の画像処理を順に実行することによって生成される２以上の処理後縮小画像データを取得する処理後縮小画像データ取得手段。
（７）上記の２以上の処理後縮小画像データが生成された順序に従って、上記の２以上の処理後縮小画像データを表示手段に順に表示させる第１表示制御手段。第１表示制御手段は、上記の２種類以上の画像処理のそれぞれの終了タイミングに同期するように、上記の２以上の処理後縮小画像データを表示手段に順に表示させてもよい。第１表示制御手段は、上記の２種類以上の画像処理のそれぞれについて、当該画像処理の終了タイミングにおいて、当該画像処理によって生成された処理後縮小画像データを表示手段に表示させてもよい。また、第１表示制御手段は、上記の２種類以上の画像処理のそれぞれについて、当該画像処理の終了タイミングにおいて、当該画像処理の次に実行されるべき画像処理によって生成された処理後縮小画像データを表示手段に表示させてもよい。
【００２５】
（形態２）中央サーバは、例えば、上記の２以上の画像処理サーバのそれぞれについて、当該画像処理サーバが画像処理を実行するのに必要であると予測される処理時間に関する情報を含むスケジュール情報を通信装置に送信してもよい。この情報は、各画像処理の終了タイミングに関するタイミング情報に対応する。また、通信装置は、各処理時間の和を計算することによって、第１画像データから第２画像データを生成するのに必要であると予測されるトータルの処理時間を取得してもよい。
【００２６】
（形態３）上記の２以上の画像処理サーバは、最初に画像処理を実行すべき第１画像処理サーバと、最後に画像処理を実行すべき第２画像処理サーバと、を含んでいてもよい。この場合、以下の手法が考えられる。第１画像処理サーバは、第１画像データに対して第１種類の画像処理を実行することによって中間画像データを生成し、中間画像データを通信装置に送信してもよい。通信装置は、中間画像データを第２画像処理サーバに送信してもよい。第２画像処理サーバは、中間画像データに対して第２種類の画像処理を実行することによって第２画像データを生成し、第２画像データを通信装置に送信してもよい。この構成の場合、第１画像処理サーバから通信装置に中間画像データを送信する第１の通信処理と、通信装置から第２画像処理サーバに中間画像データを送信する第２の通信処理と、を実行する必要がある。即ち、同じ中間画像データを２回通信する必要がある。従って、以下の構成を採用するのが好ましい。第１画像処理サーバは、第１画像データに対して第１種類の画像処理を実行することによって中間画像データを生成し、中間画像データを第２画像処理サーバに送信してもよい。第２画像処理サーバは、中間画像データに対して第２種類の画像処理を実行することによって第２画像データを生成し、第２画像データを前記通信装置に送信してもよい。この構成によると、中間画像データを１回通信すれば足りる。
【実施例】
【００２７】
（システムの構成）
図面を参照して実施例を説明する。図１は、本実施例の画像処理システム２の概略図を示す。画像処理システム２は、インターネット４と複数の多機能機１０，４０と中央サーバ５０と複数の画像処理サーバ７０，９０，９２等を備える。インターネット４には、複数の多機能機１０，４０と中央サーバ５０と複数の画像処理サーバ７０，９０，９２とが接続されている。各デバイス１０，４０，５０，７０，９０，９２は、インターネット４を介して、相互に通信可能である。
【００２８】
（多機能機１０の構成）
多機能機１０の構成について詳しく説明する。なお、多機能機４０は、多機能機１０と同様の構成を有する。多機能機１０は、制御部１２と表示部１４と操作部１６とＵＳＢインターフェイス１８とネットワークインターフェイス２０と印刷部２２と記憶部２４等を備える。制御部１２は、記憶部２４に記憶されているプログラム３６に従って処理を実行する。表示部１４は、様々な情報を表示する。操作部１６は、複数のキーを備える。ユーザは、操作部１６を操作することによって、様々な指示を多機能機１０に入力することができる。ＵＳＢインターフェイス１８には、ＵＳＢメモリ（図示省略）等が接続される。ネットワークインターフェイス２０は、インターネット４に接続されている。印刷部２２は、画像データを印刷する。
【００２９】
記憶部２４は、ワーク領域２６を有する。ワーク領域２６は、制御部１２が処理を実行する過程で生成されるデータを記憶する。ワーク領域２６は、例えば、選択画像データ２８と選択画像サムネイルデータ３２等を記憶する。選択画像データ２８は、フィルタ処理（画像処理）の対象である画像データである。本実施例では、ＵＳＢメモリに記憶されている複数の画像データから選択画像データ２８がユーザによって選択される。選択画像サムネイルデータ３２は、選択画像データ２８に対応する画像を表す画像データであって、選択画像データ２８よりデータサイズが小さい画像データである。選択画像サムネイルデータ３２は、多機能機１０が選択画像データ２８から生成してもよいし、ＵＳＢメモリに予め記憶されていてもよい。記憶部２４は、制御部１２によって実行されるべきプログラム３６を記憶している。記憶部２４は、さらに、上記の各情報２８〜３６以外の情報を記憶するための記憶領域３８を有する。
【００３０】
（中央サーバ５０の構成）
続いて、中央サーバ５０の構成について説明する。中央サーバ５０は、制御部５２とネットワークインターフェイス５４と記憶部５６等を備える。制御部５２は、記憶部５６に記憶されているプログラム６２に従って処理を実行する。ネットワークインターフェイス５４は、インターネット４に接続されている。
【００３１】
記憶部５６は、機能リスト５８を記憶する。機能リスト５８は、画像処理サーバ７０，９０，９２が実行可能である複数種類のフィルタ処理のそれぞれの名称とフィルタＩＤとを含んでいる。なお、本実施例の画像処理サーバ７０，９０，９２は、肌色補正、トリミング、ぼかし、赤目補正等の複数種類のフィルタ処理を実行可能である。従って、機能リスト５８は、複数種類のフィルタ処理のそれぞれについて、当該フィルタ処理の名称（肌色補正等）と、フィルタＩＤ（「１」、「２」等）と、を含んでいる。記憶部５６は、ワーク領域６０を有する。ワーク領域６０は、制御部５２が処理を実行する過程で生成されるデータを記憶する。記憶部５６は、制御部５２によって実行されるべきプログラム６２を記憶している。記憶部５６は、サーバテーブル６４を記憶している。記憶部５６は、さらに、上記の各情報５８，６２，６４以外の情報を記憶するための記憶領域６６を有する。
【００３２】
図２は、サーバテーブル６４の一例を示す。サーバテーブル６４は、複数の組合せ情報１００，１０２，１０４を含む。１つの組合せ情報は、１つの画像処理サーバに対応する。本実施例では、組合せ情報１００が画像処理サーバ７０に対応し、組合せ情報１０２が画像処理サーバ９０に対応し、組合せ情報１０４が画像処理サーバ９２に対応する。各組合せ情報１００，１０２，１０４は、サーバＵＲＬ１０６と基準処理時間１０８と負荷値１１０とが対応づけられた情報である。サーバＵＲＬ１０６は、画像処理サーバのＵＲＬである。基準処理時間１０８は、画像処理サーバが各フィルタＩＤに対応するフィルタ処理を実行するための基準処理時間である。基準処理時間は、画像処理サーバの負荷値が所定値である場合に、画像処理サーバが所定サイズの画像データに対して画像処理を実行するのに必要である時間である。例えば、組合せ情報１００では、画像処理サーバ７０がフィルタＩＤ「１」に対応するフィルタ処理を実行するための基準処理時間としてｔ１１が設定されており、画像処理サーバ７０がフィルタＩＤ「２」に対応するフィルタ処理を実行するための基準処理時間としてｔ２１が設定されている。同じフィルタＩＤに対応するフィルタ処理であっても、各画像処理サーバ７０，９０，９２の基準処理時間１０８が異なることがある。例えば、図２に示されるｔ１１とｔ１２とｔ１３は、異なる値である。即ち、各画像処理サーバ７０，９０，９２は、得意なフィルタ処理（他の画像処理サーバより速く実行可能であるフィルタ処理）や不得意なフィルタ処理（他の画像処理サーバの方が速く実行可能であるフィルタ処理）を有していると言える。負荷値１１０は、画像処理サーバの負荷に関する値である。負荷値１１０は、例えば、ＣＰＵの現在の処理負荷（例えばベンチマーク速度）であってもよいし、ワークメモリの残容量であってもよいし、それらの組合せに関する情報であってもよい。中央サーバ５０は、各画像処理サーバ７０，９０，９２から定期的に負荷値を取得し、サーバテーブル６４の負荷値１１０を更新する。なお、サーバテーブル６４のサーバＵＲＬ１０６及び基準処理時間１０８は、予め設定されている情報であって、更新されるべき情報ではない。
【００３３】
（画像処理サーバ７０の構成）
続いて、図１を参照して、画像処理サーバ７０の構成について説明する。なお、画像処理サーバ９０，９２は、画像処理サーバ７０と同様の構成を有する。画像処理サーバ７０は、制御部７２とネットワークインターフェイス７４と記憶部７６等を備える。制御部７２は、記憶部７６に記憶されているプログラム８０に従って処理を実行する。ネットワークインターフェイス７４は、インターネット４に接続されている。記憶部７６は、ワーク領域７８を有する。ワーク領域７８は、制御部７２が処理を実行する過程で生成されるデータを記憶する。記憶部７６は、制御部７２によって実行されるべきプログラム８０を記憶している。プログラム８０は、複数種類のフィルタ処理を実行するためのプログラムを含む。記憶部７６は、さらに、上記の情報８０以外の情報を記憶するための記憶領域８２を有する。
【００３４】
（各デバイス１０，５０，７０，９０，９２が実行する処理）
続いて、各デバイス１０等が実行する処理について説明する。図３〜図５は、各デバイス１０等が実行する処理のシーケンス図を示す。中央サーバ５０は、各画像処理サーバ７０，９０，９２に定期的に負荷リクエスト１２０，１２６，１３２を送信する。各画像処理サーバ７０，９０，９２は、負荷リクエスト１２０，１２６，１３２の受信時での自身の負荷値１２４，１３０，１３６を含むレスポンス１２２，１２８，１３４を送信する。中央サーバ５０は、サーバテーブル６４の負荷値１１０（図２参照）を、レスポンス１２２，１２８，１３４に含まれる負荷値１２４，１３０，１３６に更新する。
【００３５】
多機能機１０は、操作部１６（図１参照）において所定の操作が実行された場合（Ｓ２）に、プレビュー画面表示処理を実行する（Ｓ４）。本実施例のプレビュー画面表示処理では、ＵＳＢメモリに記憶されている複数の画像データのサムネイルが表示部１４に表示される。ユーザは、操作部１６を操作することによって、複数のサムネイルの中から１つのサムネイルを選択する画像選択操作を実行することができる（Ｓ６）。画像選択操作が実行されると、多機能機１０は、選択されたサムネイルを選択画像サムネイルデータ３２（図１参照）としてワーク領域２６に記憶させる。また、多機能機１０は、選択されたサムネイルのオリジナルの画像データを選択画像データ２８（図１参照）としてワーク領域２６に記憶させる。
【００３６】
次いで、多機能機１０は、コマンド１３８を中央サーバ５０に送信する機能リスト問合せ処理を実行する（Ｓ８）。この結果、中央サーバ５０は、機能リスト５８（図１参照）を多機能機１０に送信する。多機能機１０は、機能リスト表示処理を実行する（Ｓ１０）。機能リスト表示処理では、機能リスト５８に含まれる複数種類のフィルタ処理の名称が表示部１４（図１参照）に表示される。
【００３７】
図４に示されるように、ユーザは、操作部１６を操作することによって、表示部１４に表示された複数種類のフィルタの中から所望の種類のフィルタ処理を選択するフィルタ選択操作を実行することができる（Ｓ１２）。ユーザは、１種類のフィルタ処理のみを選択することもできるし、２種類以上のフィルタ処理を順に選択することもできる。本実施例では、フィルタ選択操作において２種類以上のフィルタ処理が順に選択された場合を例にして、以下の説明を続ける。なお、フィルタ選択操作を実行する際に、ユーザは、さらに、フィルタ処理の程度を示すパラメータを選択することができる。例えば、ユーザは、肌色補正というフィルタ処理を選択した場合、肌色補正の補正量を示すパラメータをさらに選択することができる。なお、各種類のフィルタ処理に対応するパラメータは、上記の機能リスト５８に含まれる。
【００３８】
ユーザは、２種類以上のフィルタ処理（さらにパラメータ）を順に選択した後に、操作部１６に含まれる図示省略の決定ボタンを操作することができる。この場合、多機能機１０は、中央サーバ５０にスケジュールリクエスト１４０を送信するリクエスト送信処理を実行する（Ｓ１４）。スケジュールリクエスト１４０は、選択画像データ２８（図１参照）の画像サイズ１４２と、フィルタＩＤ１４４と、パラメータ１４６と、選択順序１４８と、を含む。フィルタＩＤ１４４とパラメータ１４６は、フィルタ選択操作（Ｓ１２）で選択されたフィルタ処理に対応するフィルタＩＤとパラメータである。本実施例では、フィルタ選択操作（Ｓ１２）で２種類以上のフィルタ処理が順に選択されることから、フィルタＩＤ１４４は２つ以上のフィルタＩＤを含むとともに、パラメータ１４６は２つ以上のパラメータを含む。選択順序１４８は、フィルタ選択操作（Ｓ１２）で選択された２種類以上のフィルタ処理の選択順序に関する情報である。中央サーバ５０は、スケジュールリクエスト１４０を受信すると、サーバテーブル６４（図２参照）を用いて、スケジューリング処理を実行する（Ｓ１６）。スケジューリング処理の内容について、次に詳しく説明する。
【００３９】
上述したように、サーバテーブル６４の基準処理時間１０８は、負荷値が所定値である場合に、所定サイズの画像データに対して画像処理を実行するのに必要である時間である。中央サーバ５０は、スケジュールリクエスト１４０に含まれる画像サイズ１４２を上記の所定サイズで除算することによって、サイズ比を算出する。また、中央サーバは、各画像処理サーバ７０，９０，９２のそれぞれについて、当該画像処理サーバの現在の負荷値（サーバテーブル６４の負荷値１１０）を上記の所定値で除算することによって、負荷比を算出する。
【００４０】
次いで、中央サーバ５０は、スケジュールリクエスト１４０に含まれるフィルタＩＤ１４４のうちの最初に選択された第１のフィルタＩＤを、スケジュールリクエスト１４０に含まれる選択順序１４８に基づいて特定する。中央サーバ５０は、複数の画像処理サーバ７０，９０，９２のそれぞれについて、当該画像処理サーバに対応する第１のフィルタＩＤの基準処理時間１０８に、上記のサイズ比と当該画像処理サーバの上記の負荷比とを乗算することによって、予測処理時間を算出する。例えば、第１のフィルタＩＤがフィルタＩＤ「２」である場合、中央サーバ５０は、画像処理サーバ７０について、ｔ２１と、上記のサイズ比と、画像処理サーバ７０の上記の負荷比と、を乗算することによって、第１のフィルタＩＤの予測処理時間を算出する。同様に、中央サーバ５０は、画像処理サーバ９０について第１のフィルタＩＤの予測処理時間を算出し、画像処理サーバ９２について第１のフィルタＩＤの予測処理時間を算出する。
【００４１】
続いて、中央サーバ５０は、スケジュールリクエスト１４０に含まれるフィルタＩＤ１４４のうちの次に選択された第２のフィルタＩＤを、スケジュールリクエスト１４０に含まれる選択順序１４８に基づいて特定する。中央サーバ５０は、第１のフィルタＩＤの予測処理時間を算出する場合と同様の手法を用いて、複数の画像処理サーバ７０，９０，９２のそれぞれについて、第２のフィルタＩＤの予測処理時間を算出する。中央サーバ５０は、フィルタＩＤ１４４のうちの最後に選択されたフィルタＩＤについて予測処理時間が算出されるまで、同様の処理を実行する。
【００４２】
例えば、フィルタＩＤ１４４が第１のフィルタＩＤと第２のフィルタＩＤと第３のフィルタＩＤとを含む場合、画像処理サーバ７０について算出された第１のフィルタＩＤの予測処理時間と、画像処理サーバ９０について算出された第２のフィルタＩＤの予測処理時間と、画像処理サーバ９２について算出された第３のフィルタＩＤの予測処理時間と、の和は、画像処理サーバ７０が第１のフィルタＩＤに対応するフィルタ処理を実行し、画像処理サーバ９０が第２のフィルタＩＤに対応するフィルタ処理を実行し、画像処理サーバ９２が第３のフィルタＩＤに対応するフィルタ処理を実行する場合に必要であると予測されるトータルの処理時間（以下では第１のトータルの処理時間と呼ぶ）である。
【００４３】
また、例えば、画像処理サーバ９０について算出された第１のフィルタＩＤの予測処理時間と、画像処理サーバ７０について算出された第２のフィルタＩＤの予測処理時間と、画像処理サーバ７０について算出された第３のフィルタＩＤの予測処理時間と、の和は、画像処理サーバ９０が第１のフィルタＩＤに対応するフィルタ処理を実行し、画像処理サーバ７０が第２のフィルタＩＤに対応するフィルタ処理を実行し、画像処理サーバ７０が第３のフィルタＩＤに対応するフィルタ処理を実行する場合に必要であると予測されるトータルの処理時間（以下では第２のトータルの処理時間と呼ぶ）である。
【００４４】
中央サーバ５０は、上記の第１及び第２のトータルの処理時間を算出する場合と同様にして、画像処理サーバ７０，９０，９２とフィルタＩＤ１４４に含まれる複数のフィルタＩＤとの様々な組合せのそれぞれについて、トータルの処理時間を算出する。３つの画像処理サーバ７０，９０，９２と３つのフィルタＩＤである上記の例の場合、２７通りの組合せのそれぞれについて、トータルの処理時間が算出される。次いで、中央サーバ５０は、トータルの処理時間が最も小さい組合せを決定する。中央サーバ５０は、決定された組合せに従って、処理テーブル１５２を生成する。
【００４５】
図６は、処理テーブル１５２の一例を示す。処理テーブル１５２は、複数の組合せ情報３００，３０２，３０４，３１０を含む。各組合せ情報３００等は、番号３２０とサーバＵＲＬ３２２と処理時間３２４とが対応づけられた情報である。番号３２０は、「１」からはじまる通し番号である。１つの番号は、フィルタＩＤ１４４に含まれる１つのフィルタＩＤに対応する。従って、フィルタＩＤ１４４に３つのフィルタＩＤが含まれる場合、番号３２０には、「１」から「３」までの通し番号が書き込まれる。なお、番号３２０に含まれる「９９」については、後で詳しく説明する。サーバＵＲＬ３２２は、フィルタ処理を実行すべき画像処理サーバのＵＲＬ（即ち上記のトータルの処理時間が最も小さい組合せの各画像処理サーバのＵＲＬ）である。また、処理時間３２４は、上記の予測処理時間である。
【００４６】
本実施例では、上記のトータルの処理時間が最も小さい組合せは、画像処理サーバ９０が第１のフィルタＩＤに対応するフィルタ処理を実行し、画像処理サーバ７０が第２のフィルタＩＤに対応するフィルタ処理を実行し、画像処理サーバ７０が第３のフィルタＩＤ（最後に選択されたフィルタＩＤ）に対応するフィルタ処理を実行する場合である。この場合、処理テーブル１５２において、番号「１」に対応するサーバＵＲＬ３２２として画像処理サーバ９０のＵＲＬが書き込まれる。同様に、番号「２」に対応するサーバＵＲＬ３２２として画像処理サーバ７０のＵＲＬが書き込まれ、番号「３」に対応するサーバＵＲＬ３２２として画像処理サーバ７０のＵＲＬが書き込まれる。また、番号「１」に対応する処理時間３２４として、画像処理サーバ９０が第１のフィルタＩＤに対応するフィルタ処理を実行する場合の予測処理時間が書き込まれる。同様に、番号「２」に対応する処理時間３２４として、画像処理サーバ７０が第２のフィルタＩＤに対応するフィルタ処理を実行する場合の予測処理時間が書き込まれ、番号「３」に対応する処理時間３２４として、画像処理サーバ７０が第３のフィルタＩＤに対応するフィルタ処理を実行する場合の予測処理時間が書き込まれる。
【００４７】
中央サーバ５０は、さらに、フィルタテーブル１５４を生成する。図７は、フィルタテーブル１５４の一例を示す。フィルタテーブル１５４は、複数の組合せ情報４００，４０２，４０４を含む。各組合せ情報４００，４０２，４０４は、番号４２０とフィルタＩＤ４２２とパラメータ４２４とが対応づけられた情報である。番号４２０は、「１」からはじまる通し番号である。処理テーブル１５２（図６参照）の番号３２０と同様に、１つの番号は、フィルタＩＤ１４４に含まれる１つのフィルタＩＤに対応する。フィルタＩＤ４２２とパラメータ４２４には、選択順序１４８に従って、フィルタＩＤ１４４に含まれる各フィルタＩＤとパラメータ１４６に含まれる各パラメータが書き込まれる。
【００４８】
上述したように、中央サーバ５０は、選択画像データ２８（図１参照）から処理後画像データを生成するための２種類以上のフィルタ処理を実行すべき２以上の画像処理サーバ（図６の例では組合せ情報３００〜３０４のサーバＵＲＬ３２２に書き込まれた画像処理サーバ７０，９０）を決定する。以下では、これらの２以上の画像処理サーバのことを選択画像用の画像処理サーバと呼ぶ。中央サーバ５０は、さらに、選択画像サムネイルデータ３２に対してフィルタ処理を実行すべき画像処理サーバを決定する。以下では、この画像処理サーバのことをサムネイル用の画像処理サーバと呼ぶ。本実施例では、中央サーバ５０は、選択画像用の画像処理サーバとして決定されなかった画像処理サーバを、サムネイル用の画像処理サーバとして決定する。例えば、図６の処理テーブル１５２の例では、選択画像用の画像処理サーバは、画像処理サーバ７０，９０である。従って、中央サーバ５０は、画像処理サーバ９２を、サムネイル用の画像処理サーバとして決定する。なお、全ての画像処理サーバ７０，９０，９２が選択画像用の画像処理サーバとして決定された場合には、中央サーバ５０は、最初に画像処理を実行すべき選択画像用の画像処理サーバ以外の２以上の画像処理サーバの中から１つの画像処理サーバ（例えば負荷値の最も小さい画像処理サーバ）を、サムネイル用の画像処理サーバとして決定する。
【００４９】
中央サーバ５０は、サムネイル用の画像処理サーバを決定すると、処理テーブル１５２に番号「９９」を含む組合せ情報３１０（図６参照）を生成する。組合せ情報３１０に含まれるサーバＵＲＬ３２２は、サムネイル用の画像処理サーバのＵＲＬである。組合せ情報３１０に含まれる処理時間３２４は、サムネイル用の画像処理サーバが、選択画像サムネイルデータ３２に対して、フィルタＩＤ１４４に含まれる各フィルタＩＤに対応するフィルタ処理を順に実行するのに必要であると予測される時間である。組合せ情報３１０に含まれる処理時間３２４は、予め決められた時間であってもよいし、所定の計算式によって算出されてもよい。
【００５０】
図４に示されるように、スケジューリング処理（Ｓ１６）が終了すると、中央サーバ５０は、スケジュール情報１５０を多機能機１０に送信する。スケジュール情報１５０は、処理テーブル１５２とフィルタテーブル１５４とを含む。次いで、多機能機１０は、実行状況表示処理を開始する（Ｓ１８）。実行状況表示処理の内容については、後で詳しく説明する。
【００５１】
続いて、多機能機１０は、処理テーブル１５２からサムネイル画像用の画像処理サーバのＵＲＬを特定する。即ち、多機能機１０は、処理テーブル１５２に含まれる番号「９９」に対応するサーバＵＲＬ３２２を特定する。次いで、多機能機１０は、サムネイル画像用の画像処理サーバ（図４の例では画像処理サーバ９２）のＵＲＬを送信先として、サムネイル画像処理リクエスト１６０を送信するリクエスト送信処理を実行する（Ｓ２０）。サムネイル画像処理リクエスト１６０は、選択画像サムネイルデータ３２（図１参照）とフィルタテーブル１５４とを含む。
【００５２】
画像処理サーバ９２は、サムネイル画像処理リクエスト１６０を受信すると、サムネイル画像処理を実行する（Ｓ２２）。画像処理サーバ９２は、選択画像サムネイルデータ３２に対して、フィルタテーブル１５４の番号４２０の順序に従って、複数のフィルタ処理を順に実行する。即ち、画像処理サーバ９２は、まず、選択画像サムネイルデータ３２に対して、フィルタＩＤ「５」に対応するフィルタ処理を、パラメータ「３」を用いて実行する。これにより、第１のサムネイルデータが生成される。次いで、画像処理サーバ９２は、第１のサムネイルデータに対して、フィルタＩＤ「４」に対応するフィルタ処理を、パラメータ「３」を用いて実行する。これにより、第２のサムネイルデータが生成される。最後に、画像処理サーバ９２は、第２のサムネイルデータに対して、フィルタＩＤ「２」に対応するフィルタ処理を、パラメータ「４」を用いて実行する。これにより、第３のサムネイルデータが生成される。なお、以下では、第１〜第３のサムネイルデータを符号１７２で表現する。
【００５３】
多機能機１０は、サムネイル画像処理リクエスト１６０を送信すると、多機能機１０と画像処理サーバ９２との間の通信セッションを切断する。次いで、多機能機１０は、画像処理サーバ９２にサムネイル画像送信リクエスト１７０を送信する。多機能機１０は、サムネイル画像送信リクエスト１７０に対するレスポンスを受信するまで、サムネイル画像送信リクエスト１７０を定期的に送信する。画像処理サーバ９２は、上記の第１〜第３のサムネイルデータを生成すると、サムネイル画像送信リクエスト１７０に対するレスポンスを送信する。このレスポンスは、上記の第１〜第３のサムネイルデータ１７２を含む。
【００５４】
続いて、多機能機１０は、処理テーブル１５２から、選択画像用の画像処理サーバであって最初に処理を実行すべき画像処理サーバのＵＲＬを特定する。即ち、多機能機１０は、処理テーブル１５２に含まれる番号「１」に対応するサーバＵＲＬ３２２を特定する。次いで、図５に示されるように、多機能機１０は、特定された画像処理サーバ（図５の例では画像処理サーバ９０）のＵＲＬを送信先として、選択画像処理リクエスト１８０を送信するリクエスト送信処理を実行する（Ｓ２４）。選択画像処理リクエスト１８０は、選択画像データ２８（図１参照）と処理テーブル１５２とフィルタテーブル１５４とを含む。
【００５５】
画像処理サーバ９０は、選択画像処理リクエスト１８０を受信すると、選択画像処理を実行する（Ｓ２６）。画像処理サーバ９０は、まず、処理テーブル１５２とフィルタテーブル１５４とから、自身が実行すべきフィルタ処理の種類とパラメータとを特定する。図６と図７の例の場合、画像処理サーバ９０は、自身のＵＲＬに対応する番号「１」を処理テーブル１５２から特定し、その番号「１」に対応するフィルタＩＤ「５」とパラメータ「３」とをフィルタテーブル１５４から特定する。次いで、画像処理サーバ９０は、選択画像データ２８に対して、フィルタＩＤ「５」に対応するフィルタ処理を、パラメータ「３」を用いて実行する。これにより、第１の中間画像データが生成される。なお、以下では、第１の中間画像データを符号１９２で表現する。
【００５６】
続いて、画像処理サーバ９０は、処理テーブル１５２から、自身の次にフィルタ処理を実行すべき画像処理サーバを特定する。図６の例の場合、画像処理サーバ９０は、自身のＵＲＬに対応する番号「１」の次の番号「２」に対応する画像処理サーバ７０のＵＲＬを特定する。画像処理サーバ９０は、特定された画像処理サーバ７０のＵＲＬを送信先として、選択画像処理リクエスト１９０を送信する。選択画像処理リクエスト１９０は、第１の中間画像データ１９２と処理テーブル１５２とフィルタテーブル１５４とを含む。
【００５７】
画像処理サーバ７０は、選択画像処理リクエスト１９０を受信すると、選択画像処理を実行する（Ｓ２８）。画像処理サーバ９０の場合と同様に、画像処理サーバ７０は、まず、処理テーブル１５２とフィルタテーブル１５４とから、自身が実行すべきフィルタ処理の種類とパラメータとを特定する。図６と図７の例の場合、画像処理サーバ７０は、フィルタＩＤ「４」とパラメータ「３」とを特定するとともに、フィルタＩＤ「２」とパラメータ「４」とを特定する。次いで、画像処理サーバ７０は、第１の中間画像データ１９２に対して、フィルタＩＤ「４」に対応するフィルタ処理を、パラメータ「３」を用いて実行する。これにより、第２の中間画像データが生成される。続いて、画像処理サーバ７０は、第２の中間画像データに対して、フィルタＩＤ「２」に対応するフィルタ処理を、パラメータ「４」を用いて実行する。これにより、処理後画像データ（フィルタテーブル１５４に含まれる全てのフィルタ処理が順に実行されることによって得られた画像データ）が生成される。なお、以下では、処理後データを符号２１０で表現する。
【００５８】
なお、多機能機１０は、選択画像処理リクエスト１８０を送信すると、多機能機１０と画像処理サーバ９０との間の通信セッションを切断する。次いで、多機能機１０は、処理テーブル１５２から、最後にフィルタ処理を実行すべき画像処理サーバ７０のＵＲＬを特定する。即ち、多機能機１０は、処理テーブル１５２に含まれる「９９」を除く最後の番号「３」に対応するサーバＵＲＬ３２２を特定する。多機能機１０は、特定された画像処理サーバ７０のＵＲＬを送信先として、処理後画像送信リクエスト２００を送信するリクエスト送信処理を実行する（Ｓ３０）。多機能機１０は、処理後画像送信リクエスト２００に対するレスポンスを受信するまで、処理後画像送信リクエスト２００を定期的に送信する。画像処理サーバ７０は、上記の処理後画像データ２１０を生成すると、処理後画像送信リクエスト２００に対するレスポンスを送信する。このレスポンスは、処理後画像データ２１０を含む。続いて、多機能機１０は、処理後画像データ２１０を印刷する印刷処理を実行する（Ｓ３２）。これにより、処理後画像データ２１０がユーザに提供される。
【００５９】
（多機能機１０が実行する処理）
続いて、多機能機１０の制御部１２が実行する処理の内容について詳しく説明する。図８は、制御部１２が実行するメイン処理のフローチャートを示す。図８では、図３のＳ４、Ｓ８、Ｓ１０等の処理に関する記載を省略している。
【００６０】
制御部１２は、スケジュールリクエスト１４０（図４参照）を中央サーバ５０に送信する（Ｓ５０）。この結果、中央サーバ５０は、スケジュール情報１５０（図４参照）を多機能機１０に送信する。制御部１２は、スケジュール情報１５０を受信する（Ｓ５２）。続いて、制御部１２は、実行状況表示処理を開始する（Ｓ５４）。実行状況表示処理については、図９のフローチャートを参照しながら後で説明する。
【００６１】
次いで、制御部１２は、処理テーブル１５２（図６参照）に含まれる番号「９９」に対応するサーバＵＲＬ３２２（本実施例では画像処理サーバ９２のＵＲＬ）を送信先として、サムネイル画像処理リクエスト１６０（図４参照）を送信する（Ｓ５６）。次いで、制御部１２は、サムネイル画像処理リクエスト１６０の送信先の画像処理サーバ９２との間の通信セッションを切断する（Ｓ５８）。続いて、制御部１２は、処理テーブル１５２（図６参照）に含まれる番号「１」に対応するサーバＵＲＬ３２２（本実施例では画像処理サーバ９０のＵＲＬ）を送信先として、選択画像処理リクエスト１８０（図５参照）を送信する（Ｓ６０）。次いで、制御部１２は、選択画像処理リクエスト１８０の送信先の画像処理サーバ９０との間の通信セッションを切断する（Ｓ６２）。
【００６２】
続いて、制御部１２は、サムネイル画像処理リクエスト１６０の送信先の画像処理サーバ９２にサムネイル画像送信リクエスト１７０（図４参照）を送信する（Ｓ６４）。この結果、画像処理サーバ９２は、複数のサムネイルデータ１７２（上記の第１〜第３のサムネイルデータ）を多機能機１０に送信する。制御部１２は、複数のサムネイルデータ１７２を受信する（Ｓ６６）。次いで、制御部１２は、処理テーブル１５２（図６参照）に含まれる「９９」を除く最後の番号「３」に対応するサーバＵＲＬ３２２（本実施例では画像処理サーバ７０のＵＲＬ）を送信先として、処理後画像送信リクエスト２００（図５参照）を送信する（Ｓ６８）。この結果、画像処理サーバ７０は、処理後画像データ２１０を多機能機１０に送信する。制御部１２は、処理後画像データ２１０を受信する（Ｓ７０）。制御部１２は、処理後画像データ２１０を印刷部２２（図１参照）に印刷させる。
【００６３】
（多機能機１０が実行する実行状況表示処理）
続いて、図８のＳ５４で開始される実行状況表示処理の内容について説明する。制御部１２は、処理テーブル１５２（図６参照）に含まれる番号「９９」を除く各番号に対応する処理時間３２４の合計を算出する（Ｓ９０）。図６の例の場合、５＋１０＋３＝１８が算出される。次いで、制御部１２は、Ｓ９０で算出された合計と印刷予測時間との和を算出する（Ｓ９２）。印刷予測時間は、処理後画像データ２１０を印刷部２２（図１参照）が印刷するのに必要であると予測される時間である。印刷予測時間は、予め決められている値であってもよいし、選択画像データ２８の画像サイズに応じて決定されてもよい。
【００６４】
次いで、制御部１２は、表示部１４（図１参照）に所定の表示画面を表示させる表示処理を実行する（Ｓ９４）。なお、Ｓ９４の処理を実行する前に、図８のＳ６６の処理において、複数のサムネイルデータ（上記の第１〜第３のサムネイルデータ）１７２が受信されている。データサイズが比較的に小さいサムネイルに対するフィルタ処理は短時間で終了するからである。図１０（ａ）は、Ｓ９４で表示される表示画面の一例を示す。表示部１４は、時間表示領域５００と、フィルタ名表示領域５０２と、処理前画像表示領域５０４と、処理後画像表示領域５０６と、を含む。制御部１２は、Ｓ９２で算出された値（図１０（ａ）の例では２５秒）を時間表示領域５００に表示させる。これにより、ユーザは、残り２５秒で印刷が終了することを知ることができる。制御部１２は、時間表示領域５００に表示される時間のカウントダウンを開始する。制御部１２は、フィルタテーブル１５４（図７参照）に含まれる番号「１」のフィルタＩＤ４２２に対応するフィルタ処理の名称をフィルタ名表示領域５０２に表示させる。これにより、ユーザは、現在実行されているフィルタ処理の名称（種類）を知ることができる。なお、フィルタ名表示領域５０２には、実際には、「肌色補正」等の名称が表示されるが、図１０（ａ）では、フィルタ名表示領域５０２にフィルタＩＤが示されている。制御部１２は、さらに、選択画像サムネイルデータ３２を処理前画像表示領域５０４に表示させ、上記の第１のサムネイルデータ１７２ａを処理後画像表示領域５０６に表示させる。これにより、ユーザは、現在実行されているフィルタ処理（フィルタＩＤ「５」）の実行前の選択画像サムネイルデータ３２と、現在実行されているフィルタ処理（フィルタＩＤ「５」）の実行後のサムネイルデータ１７２ａ（現在実行されているフィルタ処理で得られる上記の第１の中間画像データ１９２（図５参照）に対応するサムネイルデータ）と、を知ることができる。
【００６５】
次いで、制御部１２は、処理番号Ｎとして「１」を特定する（Ｓ９６）。続いて、制御部１２は、タイマをスタートする（Ｓ９８）。制御部１２は、処理テーブル１５２（図６参照）から、処理番号Ｎに対応する処理時間３２４を特定する。例えば、処理番号Ｎが「１」である場合、番号「１」に対応する５秒が特定される。制御部１２は、タイマの値が特定された処理時間（上記の例では５秒）に到達することを監視する（Ｓ１００）。ここでＹＥＳの場合、制御部１２は、表示更新処理を実行する（Ｓ１０４）。
【００６６】
Ｓ１０４の表示更新処理では、制御部１２は、フィルタ名表示領域５０２に現在表示されているフィルタ名称（図１０（ａ）の例ではフィルタＩＤ「５」）を、次に実行されるべきフィルタ名称（フィルタテーブル１５４において番号「Ｎ＋１」のフィルタＩＤに対応するフィルタ名称）に変更する。次いで、制御部１２は、処理前画像表示領域５０４に現在表示されているサムネイルデータ（図１０（ａ）の例では選択画像サムネイルデータ３２）を、処理後画像表示領域５０６に現在表示されているサムネイルデータ（図１０（ｂ）の例では第１のサムネイルデータ１７２ａ）に変更する。さらに、制御部１２は、次に実行されるべきフィルタ処理（フィルタテーブル１５４において番号「Ｎ＋１」のフィルタＩＤに対応するフィルタ処理）によって生成された第２のサムネイルデータ１７２ｂを処理後画像表示領域５０６に表示させる。この結果、図１０（ｂ）に示されるように、フィルタ名表示領域５０２と処理前画像表示領域５０４と処理後画像表示領域５０６との表示内容が更新される。
【００６７】
Ｓ１０４を終えると、制御部１２は、処理番号Ｎに１を加算することによって、新たな処理番号Ｎ（即ちＮ＝２）を生成する（Ｓ１０６）。制御部１２は、新たな処理番号Ｎが、処理テーブル１５２（図６参照）において「９９」を除く最後の番号「３」に等しいのか否かを判断する（Ｓ１０８）。ここでＮＯの場合、制御部１２は、タイマをリセットしてリスタートする（Ｓ９８）。次に実行されるＳ１００では、制御部１２は、処理テーブル１５２（図６参照）から、新たな処理番号（即ちＮ＝２）に対応する処理時間３２４を特定する。即ち、処理番号Ｎが「２」である場合、番号「２」に対応する１０秒が特定される。制御部１２は、タイマの値が特定された処理時間（上記の例では１０秒）に到達することを監視する（Ｓ１００）。ここでＹＥＳの場合、制御部１２は、表示更新処理を再び実行する（Ｓ１０４）。この結果、図１０（ｃ）に示されるように、フィルタ名表示領域５０２に次に実行されるべきフィルタＩＤ「２」が表示され、処理前画像表示領域５０４に第２のサムネイルデータ１７２ｂが表示され、処理後画像表示領域５０６に第３のサムネイルデータ１７２ｃが表示される。
【００６８】
次いで、制御部１２は、Ｓ１０６を実行することによって、新たな処理番号Ｎ（即ちＮ＝３）を生成する。この場合、制御部１２は、Ｓ１０８においてＹＥＳと判断し、処理後画像データ２１０（図５参照）を受信するまで待機する（Ｓ１１０）。処理後画像データ２１０が受信されると、Ｓ１１２に進む。一方において、制御部１２は、Ｓ１００の監視と同時に、処理後画像データ２１０を受信することも監視している（Ｓ１０２）。Ｓ１０２でＹＥＳの場合も、Ｓ１１２に進む。
【００６９】
Ｓ１１２の表示更新処理では、制御部１２は、図１０（ｄ）に示されるように、フィルタ名表示領域５０２と処理前画像表示領域５０４と処理後画像表示領域５０６を消去し、代わりに、「印刷中」という文字を表示させる。制御部１２は、さらに、時間表示領域５００に現在表示されている時間と上記の印刷予測時間とが一致するのか否かを判断する。現在表示されている時間と上記の印刷予測時間とが一致しない場合には、制御部１２は、時間表示領域５００に上記の印刷予測時間を表示し（即ち時間を修正し）、その印刷予測時間のカウントダウンを開始する。印刷予測時間のカウントダウンによって時間表示領域５００に「０」が表示されると、実行状況表示処理が終了する。
【００７０】
本実施例の画像処理システム２について詳しく説明した。画像処理システム２によると、ユーザによって選択された２種類以上のフィルタ処理を、中央サーバ５０によって決定される２つ以上の選択画像用の画像処理サーバ７０，９０に分散して実行させることができる。１つの画像処理サーバしか存在しないシステムと比べると、１つの画像処理サーバにフィルタ処理の依頼が集中することを避けることができる。この結果、多機能機１０のユーザに処理後画像データ２１０（図５参照）を迅速に提供することができる。
【００７１】
また、本実施例では、スケジュールリクエスト１４０（図４参照）は、選択画像データ２８（図１参照）が含まれない。即ち、多機能機１０から中央サーバ５０に選択画像データ２８を送信する通信処理を実行する必要がない。従って、多機能機１０と中央サーバ５０との間で実行される通信時間を短くすることができる。この結果、多機能機１０のユーザに処理後画像データ２１０（図５参照）を迅速に提供することができる。
【００７２】
また、多機能機１０は、画像処理サーバ９０に選択画像データ２８を含む選択画像処理リクエスト１８０（図５参照）を送信し終えた場合に、画像処理サーバ９０との間の通信セッションを切断する。多機能機１０が処理後画像データ２１０を取得するまで、多機能機１０と画像処理サーバ９０との間の通信セッションが確立された状態が維持される構成と比べると、画像処理サーバ９０の負荷を少なくすることができる。また、多機能機１０は、最後に画像処理を実行すべき画像処理サーバ７０のＵＲＬを取得することができ、画像処理サーバ７０に処理後画像送信リクエスト２００（図５参照）を送信することによって画像処理サーバ７０から処理後画像データ２１０を取得することができる。
【００７３】
また、図１０（ａ）〜（ｃ）に示されるように、多機能機１０は、複数のサムネイルデータ１７２ａ〜１７２ｃを順に表示する。ユーザは、自身が選択した順序に従って各フィルタ処理が順に実行される様子を知ることができる。特に、本実施例では、選択画像用の画像処理サーバ９０，９２においてフィルタ処理が終了するタイミング（予測されるタイミング）において、そのフィルタ処理の次に実行されるべきフィルタ処理によって生成されたサムネイルデータ１７２ａ〜１７２ｃ（サムネイル画像用の画像処理サーバ９２において生成されたサムネイルデータ）が表示される。例えば、図１０（ａ）に表示されているフィルタＩＤ「５」に対応するフィルタ処理が画像処理サーバ９０において終了すると、図１０（ｂ）に示されるように、フィルタＩＤ「５」の次に実行されるべきフィルタＩＤ「４」に対応するフィルタ処理によって画像処理サーバ９２において生成されたサムネイルデータ１７２ｂが表示される。また、例えば、フィルタＩＤ「４」に対応するフィルタ処理が画像処理サーバ７０において終了すると、図１０（ｃ）に示されるように、フィルタＩＤ「４」の次に実行されるべきフィルタＩＤ「２」に対応するフィルタ処理によって画像処理サーバ９２において生成されたサムネイルデータ１７２ｃが表示される。ユーザは、各画像処理サーバ７０，９０において各フィルタ処理が実行されている様子を知ることができる。
【００７４】
図１０（ａ）〜（ｄ）に示されるように、多機能機１０は、処理後画像データ２１０の印刷結果が得られるまでの残り時間を表示する。ユーザは、残り時間を知ることができる。しかも、多機能機１０は、処理後画像データ２１０を取得した際に表示されている残り時間が印刷に要する印刷予測時間に一致しない場合に、その印刷予測時間を表示させる（図９のＳ１１２参照）。即ち、多機能機１０は、残り時間を修正することができる。ユーザは、より正確な残り時間を知ることができる。
【００７５】
上記の実施例の各構成要素と本発明の各構成要素との間の対応関係を記載しておく。本実施例の選択画像データ２８（図１参照）が第１画像データの一例であり、処理後画像データ２１０（図５参照）が第２画像データの一例である。また、操作部１６が選択許容手段の一例である。スケジュールリクエスト１４０（図４参照）が特定の情報の一例であり、フィルタＩＤ１４４が種類情報の一例であり、選択順序１４８が選択順序情報の一例である。また、図６の組合せ情報３００に含まれるサーバＵＲＬ３２２が第１位置情報の一例であり、組合せ情報３０４に含まれるサーバＵＲＬ３２２が第２位置情報の一例であり、組合せ情報３１０に含まれるサーバＵＲＬ３２２が第３位置情報の一例である。また、図６の処理時間３２４がタイミング情報の一例である。なお、図６の処理時間３２４は、処理時間情報の一例でもある。
【００７６】
上記の実施例の変形例を以下に列挙する。
（１）上記の実施例では、中央サーバ５０は、サーバテーブル６４（図２参照）を用いて上記の計算を行なうことによって、複数の選択画像用の画像処理サーバ７０，９０を決定する。しかしながら、中央サーバ５０は、上記の計算を行なわず、負荷値１１０が所定値より小さい複数の画像処理サーバを特定することによって、複数の選択画像用の画像処理サーバ７０，９０を決定してもよい。また、中央サーバ５０は、負荷値１１０に関わらず、ランダムに複数の画像処理サーバを特定することによって、複数の選択画像用の画像処理サーバ７０，９０を決定してもよい。また、中央サーバ５０は、予め決められた順序で複数の画像処理サーバを特定することによって、複数の選択画像用の画像処理サーバ７０，９０を決定してもよい。
【００７７】
（２）上記の実施例では、中央サーバ５０は、複数の選択画像用の画像処理サーバ７０，９０以外の画像処理サーバ９２を特定することによって、サムネイル画像用の画像処理サーバ９２を決定する。しかしながら、中央サーバ５０は、負荷値１１０が最も小さい画像処理サーバを特定することによって、サムネイル画像用の画像処理サーバ９２を決定してもよい。また、中央サーバ５０は、ランダムに１つの画像処理サーバを特定することによって、サムネイル画像用の画像処理サーバ９２を決定してもよい。また、中央サーバ５０は、予め決められた順序で１つの画像処理サーバを特定することによって、サムネイル画像用の画像処理サーバ９２を決定してもよい。
【００７８】
（３）上記の実施例では、選択画像用の画像処理サーバ７０，９０のフィルタ処理の終了タイミングにおいて、当該フィルタ処理の次に実行されるべきフィルタ処理によって画像処理サーバ９２において生成されたサムネイルデータが表示される。しかしながら、選択画像用の画像処理サーバ７０，９０のフィルタ処理の終了タイミングにおいて、当該フィルタ処理によって画像処理サーバ９２において生成されたサムネイルデータが表示されてもよい。例えば、図１０（ａ）の表示画面において、画像処理サーバ９０においてフィルタＩＤ「５」が実行されている間は、そのフィルタＩＤ「５」に対応するフィルタ処理によって画像処理サーバ９２において生成された第１のサムネイルデータ１７２ａは表示しなくてもよい。この場合、画像処理サーバ９０においてフィルタＩＤ「５」に対応するフィルタ処理が終了したタイミングにおいて、第１のサムネイルデータ１７２ａを表示してもよい。また、画像処理サーバ７０においてフィルタＩＤ「４」に対応するフィルタ処理が終了したタイミングで第２のサムネイルデータ１７２ｂを表示し、画像処理サーバ７０においてフィルタＩＤ「２」に対応するフィルタ処理が終了したタイミングで第３のサムネイルデータ１７２ｃを表示してもよい。
【００７９】
（４）上記の実施例では、中央サーバ５０は、各フィルタ処理の終了タイミング（即ち図６の処理時間３２４）を予測し、その終了タイミングを多機能機１０に送信する。しかしながら、選択画像用の画像処理サーバ７０，９０は、フィルタ処理が終了する毎に、所定の情報を多機能機１０に送信してもよい。多機能機１０は、上記の所定の情報を受信することによって、フィルタ処理が終了したことを知ることができる。多機能機１０は、上記の所定の情報を受信すると、サムネイルデータ１７２ａ〜１７２ｃの表示を更新してもよい。
【００８０】
（５）上記の実施例では、処理後画像データ２１０を印刷するシステムを開示している。しかしながら、処理後画像データ２１０を表示したり、別のデバイスに送信したり、加工したりするシステムにも、本実施例の技術を適用することができる。また、多機能機１０の代わりに、プリンタ、スキャナ、ＰＣ、サーバ等を用いてシステムを構築することもできる。
【００８１】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【００８２】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【００８３】
２：画像処理システム、４：インターネット、１０，４０：多機能機、１２：制御部、１４：表示部、１６：操作部、２４：記憶部、２６：ワーク領域、２８：選択画像データ、３２：選択画像サムネイルデータ、３６：プログラム、５０：中央サーバ、５２：制御部、５６：記憶部、５８：機能リスト、６０：ワーク領域、６２：プログラム、６４：サーバテーブル、７０，９０，９２：画像処理サーバ、７２：制御部、７６：記憶部、７８：ワーク領域、８０：プログラム、１４０：スケジュールリクエスト、１４２：画像サイズ、１４４：フィルタＩＤ、１４６：パラメータ、１４８：選択順序、１５０：スケジュール情報、１５２：処理テーブル、１５４：フィルタテーブル、１６０：サムネイル画像処理リクエスト、１７０：サムネイル画像送信リクエスト、１７２，１７２ａ〜１７２ｃ：サムネイルデータ、１８０，１９０：選択画像処理リクエスト、２００：処理後画像送信リクエスト、２１０：処理後画像データ、５００：時間表示領域、５０２：フィルタ名表示領域、５０４：処理前画像表示領域、５０６：処理後画像表示領域
【図１】
2010278665.tif 000003
【図２】
2010278665.tif 000004
【図３】
2010278665.tif 000005
【図４】
2010278665.tif 000006
【図５】
2010278665.tif 000007
【図６】
2010278665.tif 000008
【図７】
2010278665.tif 000009
【図８】
2010278665.tif 000010
【図９】
2010278665.tif 000011
【図１０】
2010278665.tif 000012