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