(57)【特許請求の範囲】
【請求項１】
異なる処理プロセスを並行して実行可能であるラスタライズ部により、印刷ジョブデータに対して複数の処理プロセスを実行するための処理装置であって、
複数の印刷ジョブデータを受信する受信手段と、
印刷ジョブデータのジョブ設定を特定する第１特定手段と、前記第１特定手段により特定されたジョブ設定に基づいて、各印刷ジョブデータにおいて複数の処理プロセスのうち負荷の高い処理プロセスを特定する第２特定手段と、
前記第２特定手段により特定された負荷の高い処理プロセスに基づいて、前記受信手段が受信した複数の印刷ジョブデータのラスタライズ処理の順序を決定する決定手段と、
前記ラスタライズ部に前記決定手段により決定した順序で前記複数の処理プロセスを実行させる制御手段と、
を有することを特徴とする処理装置。
【請求項２】
前記決定手段は、前記ラスタライズ部において、各印刷ジョブデータにおいて負荷の高い処理プロセスが並列処理されるようにラスタライズ処理の順序を決定することを特徴とする請求項１に記載の処理装置。
【請求項３】
前記決定手段は、前記第２特定手段により特定された負荷の高い処理プロセスに基づいて、複数の印刷ジョブデータの処理時間の合計が短くなるように順序を決定することを特徴とする請求項１又は２に記載の処理装置。
【請求項４】
前記受信手段が受信した印刷ジョブデータのうち順序を決定する範囲を設定する設定手段をさらに備え、
前記決定手段は、前記設定手段により設定された範囲の印刷ジョブデータの順序を決定することを特徴とする請求項１〜３のいずれか１項に記載の処理装置。
【請求項５】
前記第１特定手段は、前記印刷ジョブデータに付加された設定情報に基づいて特定することを特徴とする請求項１〜４のいずれか１項に記載の処理装置。
【請求項６】
前記決定手段は、前記第２特定手段により特定された負荷の高い処理プロセスが複数の印刷ジョブデータにおいて同じである場合は、受信手段により受信した順序をラスタライズ処理の順序とすることを特徴とする請求項１〜５のいずれか１項に記載の処理装置。
【請求項７】
前記制御手段は、前記受信手段により受信した複数の印刷ジョブデータを前記決定手段により決定した順序で前記ラスタライズ部に投入することにより、前記決定手段により決定した順序で前記複数の処理プロセスを実行させることを特徴とする請求項１に記載の処理装置。
【請求項８】
前記ジョブ設定は、出力サイズ、画像補正の有無、及び出力レイアウトのうち少なくとも１つを含むことを特徴とする請求項１又は２に記載の処理装置。
【請求項９】
前記ラスタライズ部をさらに有し、
前記ラスタライズ部は、前記複数の処理プロセスを実行することにより、印刷ジョブデータからビットマップデータを生成することを特徴とする請求項１〜３のいずれか１項に記載の処理装置。
【請求項１０】
前記決定手段は、ページ単位又はジョブ単位で順序を決定することを特徴とする請求項１〜９のいずれか１項に記載の処理装置。
【請求項１１】
前記受信手段が受信した印刷ジョブデータをスプールするスプーラ部に、所定量以上の前記印刷ジョブデータがスプールされている場合に、前記決定手段は、前記受信手段が受信した順序とは異なる順序となるように、順序を決定することを特徴とする請求項１〜１０のいずれか１項に記載の処理装置。
【請求項１２】
前記受信手段が受信した印刷ジョブデータをスプールするスプーラ部をさらに備えることを特徴とする請求項１〜１１のいずれか１項に記載の処理装置。
【請求項１３】
前記ラスタライズ部が処理して得られたデータに基づいて、画像を印刷する印刷部をさらに備えることを特徴とする請求項１〜１２のいずれか１項に記載の処理装置。
【請求項１４】
異なる処理プロセスを並行して実行可能であるラスタライズ部により、印刷ジョブデータに対して複数の処理プロセスを実行するための処理方法であって、
複数の印刷ジョブデータを受信する受信工程と、
印刷ジョブデータのジョブ設定を特定する第１特定工程と、
前記第１特定工程により特定されたジョブ設定に基づいて、各印刷ジョブデータにおいて複数の処理プロセスのうち負荷の高い処理プロセスを特定する第２特定工程と、
前記第２特定工程において特定された負荷の高い処理プロセスに基づいて、前記受信工程において受信した複数の印刷ジョブデータのラスタライズ処理の順序を決定する決定工程と、
前記ラスタライズ部に前記決定工程において決定した順序で前記複数の処理プロセスを実行させる実行工程と、
を有することを特徴とする処理方法。
【請求項１５】
請求項１〜１３のいずれか１項に記載の処理装置の各手段としてコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、その制御方法及び制御プログラムに関するものである。
【背景技術】
【０００２】
プリンタなどに代表される画像形成装置において、印刷用データの供給が停止することがないように、印刷ジョブのラスタライズだけを行い、印刷用データを印刷前に大量にスプールしておくことがある。しかしながら、ラスタライズが必要とする時間は、印刷ジョブの内容により様々であるため、入力された順にラスタライズを行うと、印刷開始までにラスタライズが完了しないことがある。印刷前に完了すべきラスタライズが全て完了していない場合、その後の印刷効率が著しく低下してしまう。それに対して、特許文献１には、印刷ジョブデータとその関連情報から所要展開残時間及び所要印刷残時間を算出し、これらに基づいて受付した印刷ジョブと展開処理中の印刷ジョブの展開順を設定する方法が提案されている。
【０００３】
また、特許文献２では、ラスタライズ自体を高速化するために、印刷ジョブの描画命令をＰＤＬ解析処理やラスタライズ処理等の複数の処理プロセス（ステージ）に分割し、分割された該処理をパイプライン化する方法が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−６１９５
【特許文献２】特開２０１３−２８０１２
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、印刷ジョブの受付時刻、データ種類、サイズ、印刷枚数から展開時間を推定し、推定された展開時間で最も小さいものを最優先に処理するよう順序を決定する。しかしながら、ラスタライズ処理における内部処理については記載がなく、複数の処理プロセスに分割した場合に処理効率を上げることはできない。一方、特許文献２では、ＰＤＬを解析して描画に関わる各処理の処理負荷を特定し、特定された処理負荷に基づいてパイプライン処理の構成を決定することにより、印刷ジョブ毎に最適なパイプライン処理を行うことができる。しかしながら、さらに、大量のジョブ全体の効率的なラスタライズをすること求められている。
【０００６】
本発明は、上記課題に鑑みてなされたものであり、大量のジョブを印刷前にラスタライズする場合に、描画処理を複数の処理ステージに分割したパイプライン処理をより効率的に行う画像処理装置、その制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するため、本発明に係る処理装置は、異なる処理プロセスを並行して実行可能であるラスタライズ部により、印刷ジョブデータに対して複数の処理プロセスを実行するための処理装置であって、複数の印刷ジョブデータを受信する受信手段と、印刷ジョブデータのジョブ設定を特定する第１特定手段と、前記第１特定手段により特定されたジョブ設定に基づいて、各印刷ジョブデータにおいて複数の処理プロセスのうち負荷の高い処理プロセスを特定する第２特定手段と、前記第２特定手段により特定された負荷の高い処理プロセスに基づいて、前記受信手段が受信した複数の印刷ジョブデータのラスタライズ処理の順序を決定する決定手段と、前記ラスタライズ部に前記決定手段により決定した順序で前記複数の処理プロセスを実行させる制御手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、ラスタライズ処理をより効率的に実行することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る画像形成装置のハードウェア構成の一例を示す図である。
【図２】実施形態１に係る画像形成装置のソフトウェア構成の一例を示す図である。
【図３】実施形態１に係るラスタライズ部に実現される処理形態を示す図である。
【図４】実施形態１に係るラスタライズ部の処理の流れを示すフローチャートである。
【図５】実施形態１に係るラスタライズ部の処理状況の一例を示す図である。
【図６】ジョブ単位調停を示すフローチャートである。
【図７】ジョブ設定による各処理ステージにおける負荷の差を示す図である。
【図８】実施形態１に係るジョブ解析結果の一例について示す図である。
【図９】実施形態１に係る表示部の一例を示す図である。
【図１０】実施形態１に係る管理テーブル情報の一例を示す図である。
【図１１】実施形態１に係るジョブ単位調停による処理状況を示す図である。
【図１２】実施形態１に係るページ単位調停処理を示すフローチャートである。
【図１３】実施形態１に係るページ単位調停による処理状況を示す図である。
【図１４】実施形態１に係るルール設定の一例を示す図である。
【図１５】画像処理装置の構成の例を示す図である。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明の好適な実施の形態を例示的に詳細に説明する。但し、この実施の形態に記載されている構成要素の相対配置、装置形状等は、あくまで例示であり、この発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
（実施形態１）
本実施形態では、画像処理装置の一例として、画像処理装置を含む画像形成装置を例に挙げて説明する。
【００１２】
図１は、本発明の一実施形態に係る画像形成装置１００のハードウェアの構成の一例を表す図である。なお、本実施形態では、画像形成装置１００として、印刷機能を有するプリンタを例に挙げて説明する。プリンタとしては、例えば、印刷機能のみを有するシングルファンクションプリンタであってもよいし、また、例えば、印刷機能、ＦＡＸ機能、スキャナ機能等の複数の機能を有するマルチファンクションプリンタであってもよい。また、画像形成装置は、プリンタに限定されず、例えば、印刷機能とその他の機能を複合した複合機や、記録紙上に画像やパターンを形成する製造装置等であってもよい。
【００１３】
画像形成装置１００は、図１に示すように、中央処理装置（ＣＰＵ）１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、操作部１０４と、通信部１０５と、記録部１０６と、表示部１０７とを有する。なお、これらはシステムバスを介して互いに接続されている。
【００１４】
ＣＰＵ１０１は、ＲＯＭ１０２に記憶されているプログラムに従って、ＲＡＭ１０３、通信部１０５、記録部１０６、操作部１０４及び表示部１０７を制御する。
【００１５】
ＲＯＭ１０２は、ＣＰＵ１０１が実行する各種制御プログラムや印刷装置１００の各種動作に必要な固定データを格納する。例えば、印刷装置１００の記録（印刷）処理を実行するプログラムを記憶する。
【００１６】
ＲＡＭ１０３は、ＣＰＵ１０１の作業エリアとして用いられたり、種々の受信データの一時格納領域として用いられたり、各種設定データを記憶させたりする。外部装置１１０から送られてくる印刷ジョブデータは、ＲＡＭ１０３に一時的に記憶される。
【００１７】
通信部１０５は、外部装置と印刷装置１００との通信を制御する。
【００１８】
操作部１０４は、電源ボタン、リセットボタンなどの各種ボタンを含み、ユーザが印刷装置１００を操作する際に使用される。表示部１０７は、例えば、タッチパネルの液晶ディスプレイで構成され、印刷装置１００の状態や各種設定を表示する。ユーザは、表示部１０７を介して、各種設定の入力を行うこともできる。表示部１０７は、操作指示の受付や装置状態の表示を行う。なお、本実施形態では、操作部１０４の少なくとも一部と表示部１０７がタッチパネルから構成され、一体となっている。
【００１９】
画像処理部１０８は、受信した印刷ジョブデータに対して画像処理を実行し、画像データを生成する。
【００２０】
記録部（印刷部）１０６は、後述するプリンタエンジン部を有する。記録部１０６は、画像データに基づいて記録媒体に画像を形成する。
【００２１】
画像形成装置１００は、外部装置１１０とネットワーク等を介して接続可能であり、例えば、外部装置１１０から印刷ジョブデータを含む印刷ジョブを受信する。
【００２２】
図２は、本実施形態に係る画像形成装置における画像処理部の制御構成を説明するためのブロック図である。
【００２３】
画像形成装置１００の画像処理部は、外部装置１１０から入力される印刷ジョブの受信・制御を行うジョブ制御部２０２と、印刷用画像を生成するラスタライズ部２０３と、を含む。
【００２４】
図１５を用いて、図１に示した画像形成装置１００に含まれる画像処理部の構成について説明する。本実施形態では、図１５（ａ）に示すように、ジョブ制御部２０２およびラスタライズ部２０３はそれぞれ独立した構成とし、ジョブ制御部２０２がシステムバスを介して表示部１０７及びプリンタエンジン部１０５と接続されるものとする。なお、これに限定されるものではなく、例えば、図１５（ｂ）に示すように、ラスタライズ部２０３が、ジョブ制御部２０２に組み込まれた構成とし、ジョブ制御部２０２がシステムバスを介して表示部１０７及びプリンタエンジン部１０５と接続されていてもよい。また、本実施形態では、画像処理部は、画像形成装置が備えるものとしたが、図１５（ｃ）に示すように、ジョブ制御部２０２およびラスタライズ部２０３のみとしてもよい。例えば、画像処理装置は、外部装置１１０、表示部１０７、及びプリンタエンジン部１０５とは分離した構成としてもよい。
【００２５】
ジョブ制御部２０２は、印刷ジョブ受信部２０６と、ジョブを保持するスプーラ部２０７と、ジョブを管理するスプーラ管理部２０８と、ラスタライズ部２０３と通信を行う通信部２１３と、を有する。また、ジョブ制御部２０２は、効率的なラスタライズ処理を行うため、ジョブ解析部２０９と、ジョブ調停範囲決定部２１０と、ジョブ処理負荷推定部２１１と、ジョブ調停部２１２を有する。
【００２６】
印刷ジョブ受信部２０６では、外部装置１１０から入力された印刷ジョブを受信し、スプーラ部２０７へ格納する。
【００２７】
スプーラ部２０７は、受信した印刷ジョブ及びラスタライズ部２０３で生成されるラスタライズデータを格納する。また、印刷ジョブ内容と各処理ステージ負荷とを対応付けた負荷管理の情報を負荷管理テーブルとして格納する。負荷管理テーブルは、詳細は後述するが、各処理ステージの負荷を推定するために用いられる。また、スプーラ部２０７は、印刷ジョブの処理順序を決定するための調停管理情報が調停管理テーブルとして格納される。調停管理テーブルは、負荷カテゴリ毎に最適な調停方法が管理されており、詳細は後述するが、印刷ジョブの処理順序を決定するために用いられる。
【００２８】
スプーラ管理部２０８は、スプーラ部２０７に格納された印刷ジョブが即ラスタライズ処理されるものか、未ラスタライズ状態で保持されるものかを管理する。更に、スプーラ管理部２０８は、スプーラ部２０７に格納された未ラスタライズ状態の印刷ジョブの量、及び未ラスタライズ状態の印刷ジョブの量が閾値に到達したかを管理する。
【００２９】
ジョブ解析部２０９は、受信した印刷ジョブを解析し、ＰＤＦやＪＰＥＧといったジョブデータの種別やサイズ、ラスタライズ部２０３で実施される処理内容などを取得する。ジョブ調停範囲決定部２１０は、スプーラ管理部２０８で監視される未ラスタライズ状態の印刷ジョブが閾値に到達した場合に、ジョブの処理順を決定する範囲を定める。
【００３０】
ジョブ処理負荷推定部２１１は、ジョブ解析部２０９の解析結果とスプーラ部２０７に格納される負荷管理テーブルの情報に基づいて、印刷ジョブ毎の各処理ステージ負荷を推定する。ここで、負荷が高いとは、ラスタライズ部２０３における処理時間が長いものを指す。各印刷ジョブの設定内容と負荷管理テーブルの情報により、ジョブ毎に負荷タイプがカテゴライズされる。ジョブ調停部２１２では、ジョブ処理負荷推定部２１１でカテゴライズされたジョブ毎の負荷タイプと、スプーラ部２０７に格納される調停管理テーブルの情報によって印刷ジョブの処理順序を決定する。印刷ジョブの処理順序は、ジョブ調停範囲決定部２１０で定められた範囲に対して行う。
【００３１】
ラスタライズ部２０３は、ジョブ制御部２０２と通信を行う通信部２１６と、補正処理を施す画像補正部２１７と、印刷用の画像データを生成するＲＩＰ部２１８と、印刷ジョブ設定に適合するように画像データの整形を行う回転・面付部２１９とを有する。通信部２１６、画像補正部２１７、ＲＩＰ部２１８、及び回転・面付部２１９には、それぞれ異なるプロセッサ（ＣＰＵ）２１５が割り当てられる。なお、画像補正部２１７は、例えば、赤目補正等の補正を行う。ラスタライズ部２０３は、通信部２１６を介して印刷ジョブを受信し、各印刷ジョブデータに対して実行する画像処理を複数の処理プロセスに分割し、これらの処理を順に行う。これにより、印刷ジョブデータからビットマップデータを生成する。なお、本実施形態では、ラスタライズ部２０３は、印刷ジョブデータに対して実行する画像処理を画像補正処理、ＲＩＰ処理、回転・面付け処理に分割する。ここで、ラスタライズ部２０３では、分割した複数の処理プロセスをパイプライン処理する。ラスタライズ部２０３におけるパイプライン処理とは、それぞれ重複しない処理プロセスを同時に（並行して）実行する処理方式であり、各処理プロセスにおける処理対象のページは、互いに異なるページである。具体的には、画像補正処理中の３ページ目と、ＲＩＰ処理中の２ページ目と、回転・面付け処理中の１ページ目を並行して処理する。なお、同じページに対して異なる処理プロセスを実行（例えば１ページ目の画像補正処理と、１ページ目のＲＩＰ処理を同時に実行）することはできない。
【００３２】
図３を用いて、図１に示すラスタライズ部２０３が実行可能な処理形態について説明する。ここでは、画像データの描画処理（画像処理）が、処理１、処理２、処理３の３ステージに分割された場合、逐次処理及びパイプライン処理それぞれについて処理の流れを説明する。
【００３３】
図３（ａ）は、逐次処理について示している。逐次処理では１ページ目の全処理を完了してから２ページ目、３ページ目と処理を行う。図３（ｂ）はパイプライン処理について示している。１ページ目の処理１が完了後、１ページ目の処理２が始まると並列して２ページ目の処理１を処理する。同様に、２ページ目の処理１が完了後、３ページ目の処理１を処理する。なお、パイプライン処理では、各処理がそれぞれ別のプロセスとして動作するため複数のプロセッサを必要とする。本実施形態では、ラスタライズ部２０３は、逐次処理も可能であるが、高速化のためにパイプライン処理を行う。
【００３４】
図５を用いて、ラスタライズ部２０３において実行する処理について具体例を挙げて説明する。ここでは、図５（ａ）に示す３つの印刷ジョブ５００が入力された場合について説明する。図５（ａ）に示す印刷ジョブ５００は、それぞれジョブＡ、ジョブＢ、ジョブＣとする。ジョブＡ及びジョブＢは画像補正を行う印刷ジョブであり、ジョブＣは画像補正を行わない印刷ジョブである。図５（ｂ）にラスタライズ部２０３の構成の一例を示す。ラスタライズ部２０３は、描画処理を複数の処理ステージに分割して実行する。具体的には受信処理、画像補正処理、ＲＩＰ処理、回転・面付け処理、送信処理の５つを行う。受信処理５０１及び送信処理５０５は、通信部２１６が行う。画像補正処理５０２は画像補正部２１７、ＲＩＰ処理５０３はＲＩＰ部２１８、回転・面付け処理５０４は回転・面付け部２１９がそれぞれ実行する。各処理部の前後にはそれぞれバッファ５０６が設けられ、次の処理部の処理対象となるデータが格納される。各処理部はバッファ５０６を介して処理対象となるデータの受け渡しを行う。バッファ５０６は、格納されたものから順にデータ処理が開始されるデータ構造（キュー）となっている。ここで、受信処理５０１の後で且つ画像補正処理５０２の前に設けられるバッファ５０６を用いて、バッファ５０６内の領域について説明する。バッファ５０６のうち、画像補正処理５０２に最も近い領域を先頭領域、受信処理５０１に最も近い領域を末尾領域、先頭領域及び末尾領域以外が中間領域である。先頭領域には、次の処理部である画像補正処理５０２で処理される直前のデータが格納され、末尾領域には、受信処理５０１で処理された直後のデータが格納される。各処理部は、バッファ５０６の先頭領域から処理対象となるデータを取得し、処理実施後、バッファ５０６の末尾領域へ格納する。バッファ５０６は、一の処理部にとっての出力バッファであり、その次の処理部にとっての入力バッファでもある。例えば、受信処理５０１（通信部２１６）の後で且つ画像補正処理５０２（画像補正部２１７）の前に設けられるバッファ５０６は、受信処理５０１で処理した処理済みデータを出力する出力バッファであり、また、画像補正処理５０２へ入力するデータを格納する入力バッファでもある。
【００３５】
ここで、図４を用いて、ジョブ制御部２０２より入力された印刷ジョブに対するラスタライズ部２０３の処理の流れについて説明する。
【００３６】
ラスタライズ部２０３は、ジョブ制御部２０２から入力される印刷ジョブを、通信部２１６を介して受信し（Ｓ４０１）、ジョブの設定を確認する。具体的には、ジョブの設定が、画像補正ＯＮとなっているか、すなわち、画像補正を行う設定となっているか判定する（Ｓ４０２）。
【００３７】
画像補正ＯＮとなっている、すなわち、印刷ジョブに含まれる画像データに対し補正を行う設定となっている場合（Ｓ４０２でＹｅｓ）、受信した印刷ジョブの設定に従って画像補正を行う（Ｓ４０３）。画像補正の完了後、ＲＩＰ部２１８によりＲＩＰ処理を行う（Ｓ４０４）。
【００３８】
画像補正がＯＮとなっていない、すなわち、画像データに対し補正が不要の設定となっている場合（Ｓ４０２でＮｏ）、そのままＲＩＰ部２１８によりＲＩＰ処理を行う（Ｓ４０４）。
【００３９】
ＲＩＰ処理後に生成されたデータに、印刷ジョブの設定に基づいて回転・面付け部２１９により回転・面付け処理を行う（Ｓ４０５）。すなわち、回転・面付け部２１９は、印刷ジョブに設定された内容に適合するように回転・面付け処理を行う（Ｓ４０５）。これにより、印刷用データを生成する。
【００４０】
生成されたデータは、通信部２１６を介してジョブ制御部２０２に送信する（Ｓ４０６）。
【００４１】
図５（ｃ）に、図５（ａ）に示す印刷ジョブ５００がラスタライズ部２０３で処理される場合の処理状況の推移を示す。ラスタライズ部２０３は、パイプライン化されており、かつ処理ステージの実施順は決まっている。また、ラスタライズ部２０３の処理部（画像補正部２１７、ＲＩＰ部２１８、回転・面付け部２１９）毎にプロセッサが割り当てられている。プロセッサ数によるが、同じ処理ステージは並列して実行できないため、他のジョブまたはページで実行したい処理が実施されていればその処理が完了するまで、処理待機状態５０７が発生する。例えば、ジョブＡの１ページの画像補正処理５０２が始まるとジョブＢの１ページ目や２ページ目は、画像補正処理５０２を並列動作できない。そのため、ジョブＡの１ページ目の画像補正処理が完了するまで、ジョブＢの１ページ目は処理待機状態となる。一方、ジョブＣは、画像補正を行わないジョブであり、ＲＩＰ部２１８は、動作していないため、ジョブＣの１ページ目のＲＩＰ処理５０３は開始可能である。したがって、ＲＩＰ部２１８は、ジョブＣの１ページ目のＲＩＰ処理５０３を実施する。ジョブＡの画像補正処理が完了するより前に、ジョブＣの２ページ目のＲＩＰ処理が登録され、ジョブＣの１ページ目の後は、ジョブＣの２ページ目のＲＩＰ処理が実施される。その後、ジョブＣの２ページ目のＲＩＰ処理が完了すると、ＲＩＰ部２１８は、ジョブＡの１ページ目のＲＩＰ処理を開始する。
【００４２】
ラスタライズ部２０３への印刷ジョブは、ジョブＡの１ページ目、ジョブＢの１ページ目、２ページ目、ジョブＣの１ページ目、２ページ目の順序で入力される。しかしながら、ＲＩＰ処理は、ジョブＣの１ページ目、２ページ目、ジョブＡ、ジョブＢの１ページ目、２ページ目と処理される。
【００４３】
ここで、図６を用いて、本実施形態に係る画像処理の流れの一例について詳細に説明する。なお、ＣＰＵ１０１は、ＲＯＭ１０２に格納されているプログラムをＲＡＭ１０３にロードし、それを実行することにより、図６に示すフローチャートを実行する。外部装置１１０から印刷ジョブが入力されると、印刷ジョブ受信部２０６が入力された印刷ジョブを受信する（Ｓ６０１）。受信した印刷ジョブは、スプーラ部２０７へ格納する。
【００４４】
スプーラ部２０７に格納された印刷ジョブに対して、スプーラ管理部２０８がラスタライズ処理を開始するかを判定する（Ｓ６０２）。詳細は後述するが、所定の開始条件を満たしている場合は、ラスタライズ処理を開始すると判定する。
【００４５】
ラスタライズ処理を開始すると判定した場合（Ｓ６０２でＮｏ）、印刷データをラスタライズ部２０３に入力しラスタライズを行う（Ｓ６１２）。
【００４６】
ラスタライズ処理を開始しないと判定した場合（Ｓ６０２でＹｅｓ）、スプーラ部２０７に十分な印刷ジョブがあるか判定する（Ｓ６０３）。具体的には、スプーラ部２０７にスプールされている印刷ジョブの量（以下、スプール量ともいう）が所定量以上であるか判定する。なお、本実施形態では、スプール量は、スプーラ部２０７にスプールされた印刷ジョブ数とし、閾値は１００とする。ただし、スプール量及び閾値はこれに限定されるものではなく、例えば、スプール量は印刷ジョブのデータサイズで判定してもよい。
【００４７】
スプーラ部２０７に十分な印刷ジョブがないと判定した場合、すなわち、スプール量が閾値未満である場合（Ｓ６０３でＮｏ）、ユーザインタフェース部１０７から入力される設定値に従い、ラスタライズを開始するか判定する（Ｓ６０４）。具体的には、ラスタライズを開始すると判定した場合（Ｓ６０４でＹｅｓ）、ラスタライズ処理を実行する（Ｓ６１２）。一方、ラスタライズを開始しないと判定した場合（Ｓ６０４でＮｏ）、Ｓ６０３へ戻る。
【００４８】
スプーラ部２０７に十分な印刷ジョブがあると判定した場合、すなわち、スプール量が閾値以上である場合（Ｓ６０３でＹｅｓ）、ジョブ解析部２０９によりスプールされている印刷ジョブを解析する（Ｓ６０５）。
【００４９】
また、スプーラ部２０７にスプールされた印刷ジョブのスプール量に基づいて、ジョブの調停範囲決定部２１０において、スプーラ部２０７にスプールされた印刷ジョブのうちラスタライズ部２０３に投入する投入順序を変更する範囲を決定する（Ｓ６０６）。本実施形態では、ユーザインタフェース部２０４から入力される設定値に従い、調停範囲は５０ジョブに決定し、スプーラ部２０７にスプールされたジョブについて先頭から５０ジョブずつジョブ調停を行う。なお、スプーラ部２０７にスプールされているジョブ数が調停範囲の設定値以下である場合、スプーラ部２０７にスプールされている全てのジョブにジョブ調停を行う。調停範囲は、所定のジョブ数としてもよいし、一定時間内にスプーラ部２０７に投入された範囲のジョブとしてもよい。
【００５０】
なお、Ｓ６０５のジョブ解析は、印刷ジョブを受信した直後に実施してもよいし、調停範囲が定まった後で解析を実施してもよいし、Ｓ６０５のジョブ解析及びＳ６０６の決定は、並行して実行してもよい。
【００５１】
ジョブの調停範囲決定部２１０において定められた範囲内の印刷ジョブについて、ジョブ解析結果を元に、ジョブ設定が全て同じであるか判定する（Ｓ６０７）。ここで判定に用いるジョブの設定としては、処理対象のジョブの種類（例えば、ＪＰＥＧ、ＰＤＦ等のフォーマットの種類）、赤目補正や美肌補正等の画像補正処理の有無、レイアウト（例えば、１ｉｎ１、２ｉｎ１等の出力レイアウト）、Ａ３やＡ４等の出力用紙サイズが挙げられる。
【００５２】
調停範囲内のジョブについて、処理対象ジョブの種類やレイアウトなどのジョブ設定が全て同一であれば（Ｓ６０７でＹｅｓ）、ラスタライズ部２０３への投入順を変更しない（Ｓ６１１）。すなわち、ラスタライズ部２０３への投入順は、スプーラ部２０７への投入順そのままとする。これにより、ラスタライズ部２０３はスプーラ部２０７へ投入された順序で処理を行う（Ｓ６１２）。
【００５３】
調停範囲内のジョブについて、ジョブ設定が全て同一ではない場合、すなわち、ジョブ設定が異なった場合（Ｓ６０７でＮｏ）、それぞれのジョブに対して、ジョブ処理負荷推定部２１１は、各ジョブの処理負荷を推定する（Ｓ６０８）。各ジョブの処理負荷は、スプーラ部２０７に格納される負荷管理テーブル情報とＳ６０５で解析した解析結果とを用いて推定する。言い換えれば、スプーラ部２０７に格納される負荷管理テーブル情報及びＳ６０５で解析した解析結果に基づいて、各ジョブの負荷カテゴリを特定する。なお、負荷カテゴリについては、詳細は後述する。
【００５４】
負荷設定後、調停対象範囲内の印刷ジョブが全て同じ負荷タイプにカテゴライズされたか判定する（Ｓ６０９）。
【００５５】
印刷ジョブの負荷カテゴリが全て同一カテゴリとなった場合（Ｓ６０９でＹｅｓ）、投入順序の調停を行わない、すなわち、ラスタライズ部２０３への投入順を変更しない（Ｓ６１１）。すなわち、ラスタライズ部２０３への投入順は、スプーラ部２０７への投入順そのままとする。これにより、ラスタライズ部２０３は、投入された順にラスタライズ処理を行う（Ｓ６１２）。
【００５６】
印刷ジョブの負荷カテゴリが異なった場合（Ｓ６０９でＮｏ）、ジョブ調停部２１２において設定された負荷カテゴリを利用してジョブの調停を行い、処理順序を決定する（Ｓ６１０）。本実施形態では、ラスタライズ部２０３は、投入された順に印刷ジョブデータに対して処理を行うため、言い換えれば、印刷ジョブデータの投入順を決定する。ジョブの調停は、スプーラ部２０７に格納された調停管理テーブルを用いて行う。詳細は後述するが、調停管理テーブルに設定された負荷カテゴリの調停方法に基づいて、ジョブの調停を行う。ジョブの調停が完了した後、ラスタライズ部２０３にジョブの調停により決定した順に印刷ジョブの印刷データを投入し、ラスタライズ部２０３は、投入された順にラスタライズ処理を開始する（Ｓ６１２）。すなわち、ラスタライズ部２０３は、ジョブの調停により決定された処理順序で処理を実行する。
【００５７】
図７を用いて、ラスタライズ部２０３における各処理ステージ負荷と印刷ジョブの負荷タイプの設定の関係について説明する。ラスタライズ処理は、図４で説明した通り、受信、画像補正、ＲＩＰ、回転・面付け、送信の順で実施され、画像補正のみ実施可否がジョブに設定できる。
【００５８】
図７（ａ）は、画像補正がＯＮの場合と画像補正がＯＦＦの場合の処理負荷の違いを示す図である。画像補正を実施するジョブ７００は、画像補正を実施しないジョブ７０１と比べて、画像補正の処理ステージ７０２があるため処理負荷が大きくなる。
【００５９】
図７（ｂ）は、印刷ジョブのフォーマットの種類による違いを示す図である。ＰＤＦジョブ７０４は、ＪＰＥＧジョブ７０３に比べ、ＲＩＰ処理ステージ７０５の処理負荷が大きくなる。
【００６０】
図７（ｃ）は、最終的な印刷データの出力レイアウトによる違いを示す図である。１ｉｎ１印刷ジョブ７０５は、画像７０７のように、１枚で１枚の画像を確認できるようにレイアウトされる。２ｉｎ２印刷ジョブ７０６は、中綴じ製本後に見開き状態で１枚の画像が確認できるように、画像７０８のように左右別々のデータをレイアウトされる。２ｉｎ２印刷ジョブ７０６は、画像データが２枚必要となるため、１ｉｎ１印刷ジョブ７０５に比べてＲＩＰステージ７０９及び回転面付処理ステージ７１０の負荷が大きくなる。また、出力レイアウトが同じ１ｉｎ１でも、最終的な出力用紙サイズが異なる場合、例えばＡ３とＡ４では、Ａ３の方がＲＩＰ７０９及び回転面付処理７１０の負荷が大きくなる。
【００６１】
また、図８にジョブ解析部２０９が解析した印刷ジョブの解析結果の例を示す図である。ジョブ解析部２０９は、ジョブ解析部２０９でスプールされた印刷ジョブを解析し、印刷ジョブ毎に解析結果８００を得る。図７に示したように、ジョブの設定は各処理ステージの負荷に影響する。ジョブ解析部２０９は、解析結果８００として、負荷に影響を与える情報を取得する。具体的には、例えば、ジョブ管理のためのジョブＩＤ８０１、ジョブの種類８０２、出力サイズ８０２、画像補正の実施の有無８０４、出力レイアウト８０５等の各種ジョブ設定情報を取得する。本実施形態では、印刷ジョブデータに含まれるジョブ設定情報を解析して解析結果８００を得る。これにより、ジョブ解析を高速化することができる。なお、印刷ジョブのジョブ設定の解析方法は、これに限定されず、ラスタライズ対象に含まれる描画命令をより詳細に解析してもよい。
【００６２】
図９は、ユーザインタフェース部１０７に表示される表示画面の一例を示す図である。ユーザインタフェース部１０７で設定された内容により図７に示す処理の流れが決定される。
【００６３】
図９に示す表示画面は、画像処理部の処理条件の設定や画像処理部の状態確認を行うことができる画面であり、例えば、ユーザがユーザインタフェース部１０７の表示画面において、画像処理部の設定等を選択することにより、表示される。
【００６４】
表示画面は、ラスタライズ部に格納するかを設定する設定部９０１と、解析開始条件を設定する設定部９０２と、調停設定条件を設定する設定部９０３と、待機条件を設定する設定部９０４と、調停範囲を設定する設定部９０５と、を有する。また、表示画面は、調停開始条件を設定する設定部９０６と、調停モードを設定する設定部９０７と、管理テーブル情報の更新を設定する設定部９０７と、スプーラモニタ９０９と、ジョブステータスモニタ９１０と、を有する。
【００６５】
設定部９０１は、受信したジョブをＲＩＰ待機状態でスプーラ部２０７に格納するか、受信したジョブをすぐにラスタライズ処理を行うかを設定できる。図９に示す設定部９０１においてＯＮのチェックボックスが選択されている場合、受信したジョブをＲＩＰ待機状態でスプーラ部２０７に格納する。一方、図９に示す設定部９０１においてＯＦＦのチェックボックスが選択されている場合、受信したジョブをＲＩＰ待機状態でスプーラ部２０７に格納する。
【００６６】
設定部９０２は、受信したジョブのジョブ解析部２０９による解析開始タイミングを設定することができる。図９に示す設定部９０２において、解析開始条件としてジョブ受信のチェックボックスが選択されている場合、ジョブを受信したタイミングでジョブ解析部２０９が解析を開始する。図９に示す設定部９０２において、解析開始条件として調停開始のチェックボックスが選択されている場合、調停を開始したタイミングでジョブ解析部２０９が解析を開始する。
【００６７】
設定部９０３は、調停設定条件を設定することができる。最短解のチェックボックスが選択されている場合、ラスタライズ処理が最短で終了するように調停を行い、最適解のチェックボックスが選択されている場合、負荷タイプに応じた最適なラスタライズ処理を実行するように調停を行う。最適なラスタライズ処理が選択された場合は、調停管理テーブルに基づいて調停を行う。ここで、「ラスタライズ処理が最短」とは、例えば、複数の印刷ジョブデータの処理時間の合計が短くなることを指す。
【００６８】
設定部９０４は、ＲＩＰ待機状態ジョブとして扱うかどうかを設定することができる。具体的には、設定部９０４で選択されたジョブについては、ＲＩＰ待機をしないように設定することができる。割込みジョブのチェックボックスが選択されている場合、割込みジョブはＲＩＰ待機をせず、再印刷ジョブのチェックボックスが選択されている場合、再印刷ジョブはＲＩＰ待機をしない。なお、「常に」のチェックボックスが選択されている場合、全ての印刷ジョブは、ＲＩＰ待機をせずに、すぐにラスタライズ処理を実行するようにする。すなわち、図９の場合、割り込みジョブや再印刷ジョブが入力された場合、それらのジョブはすぐにラスタライズを開始する。
【００６９】
設定部９０６は、ジョブ調停を開始する条件を設定することができる。設定部９０６で設定された条件は、スプーラ管理部２０８でスプールされた印刷ジョブのスプール量が閾値以上かの判定で使用される。設定部９０６において、ＲＩＰ待機ジョブのチェックボックスが選択されている場合、スプーラ部２０７にスプールされた印刷ジョブの数がプルダウンメニューにより設定されたＲＩＰ数以上となった場合、調停を開始する。本実施形態では、スプーラ部２０７にスプールされたジョブ数が１００以上となった場合に、調停が開始される。なお、本実施形態では閾値を１００と設定しているため、例えば、スプーラ部２０７にスプールされたジョブ数が１０の場合は、調停を開始せず、スプールされたジョブ数が１００以上となった場合に調停を開始する。なお、ここでは閾値を設定したが、スプール可能な空き容量によっては、閾値に到達する前に調停を開始する。例えば、調停開始条件がジョブ数で、閾値が１００の場合について説明する。ジョブを３０スプールした時点でスプーラの空き容量が０となると、閾値１００に到達できないため、調停を開始する。その際、調停開始条件のジョブ数の閾値を１００で維持するか、開始した値とするかを、ユーザが判断する。また、開始条件を自動で変えてもよい。一方、経過時間のチェックボックスが選択されている場合、スプーラ部２０７にスプールされてからの経過時間がプルダウンメニューにより設定された経過時間以上となった場合、調停を開始する。
【００７０】
スプーラモニタ９０９は、スプーラ管理部２０８で管理している情報を表示する。ここでは、スプーラ利用率と、ラスタライズ（ＲＩＰ）が完了したジョブ数と、ラスタライズ（ＲＩＰ）を待機しているジョブ数と、が表示される。
【００７１】
設定部９０５は、調停範囲を設定することができ、ジョブの調停範囲決定部２１０は、設定部９０５で設定された調停範囲に従って調停範囲を決定する。言い換えれば、ジョブの調停範囲決定部２１０は、設定部９０５の設定を取得し、取得した設定に基づいてジョブの調停範囲を決定する。ジョブ数のチェックボックスが選択されている場合、プルダウンメニューにより設定されたジョブ数を調停範囲とする。例えば、図９に示す例では５０ジョブ単位で調停を行う。ジョブ設定のチェックボックスが選択されている場合、プルダウンメニューにより設定されたジョブ設定のジョブを調停範囲とする。図９に示す例では、レイアウト設定により調停範囲を決定する。合計処理時間のチェックボックスが選択されている場合、各ジョブのＲＩＰ処理時間の合計がプルダウンメニューにより設定された合計処理時間となるジョブまでを調停範囲とする。
【００７２】
設定部９０７は、調停を実施する単位を設定することができる。調停なしのチェックボックスが選択されている場合、調停は実行されない。ジョブ単位のチェックボックスが選択されている場合、ジョブ単位で調停が実行され、ページ単位のチェックボックスが選択されている場合、ページ単位で調停が実行される。
【００７３】
設定部９０８は、管理テーブルの更新設定を行うことができる。具体的には、スプーラ部２０７に格納された負荷管理テーブル及び調停管理テーブルのそれぞれについて、ラスタライズ処理が進む過程に従って更新するか否かを設定することができる。チェックボックスが選択されたテーブルについては、ラスタライズ処理が進む過程に従って更新される。
【００７４】
ジョブステータスモニタは、画像形成装置１００に入力された印刷ジョブの設定および処理状態を表示する。図９では、各ジョブのジョブＩＤ、解析情報、処理ステータス、調停ステータスを表示する。解析情報としては、各ジョブの種類、各ジョブの出力サイズ、画像補正を行うか否か、各ジョブの出力レイアウトが表示される。処理ステータスとしては、「印刷済み」、「ＲＩＰ中」、「ＲＩＰ完了」、「ＲＩＰ待機」等が挙げられる。調停ステータスは、「調停済」、「調停中」、「調停未実施」が挙げられる。
【００７５】
図１０に、スプーラ部２０７に格納される管理情報の一例を示す。スプーラ部２０７に格納される管理情報としては、印刷ジョブの処理開始前に予め生成された管理テーブルと、印刷ジョブ処理開始後に生成される管理情報とが挙げられる。
【００７６】
図１０（ａ）は、印刷ジョブの処理開始前に予め生成された管理情報の一例を示す図である。本実施形態では、予め生成される管理情報は、負荷カテゴライズテーブル１０００、ステージ処理負荷テーブル１００１、及び調停管理テーブル１００２である。
【００７７】
負荷カテゴライズテーブル１０００は、ジョブの種類やジョブのサイズ等のジョブ設定に基づいて分類した処理負荷のタイプ（以下、負荷カテゴリともいう）を管理する。負荷カテゴリは、ラスタライズ部２０３において律速要因となる処理負荷の高い処理ステージを分類するための情報である。本実施形態では、律速要因となり得るラスタライズ部２０３の処理ステージは、画像補正、ＲＩＰ、及び回転面付のいずれかとする。図７で示すように、印刷ジョブの種類、印刷ジョブのサイズ、赤目補正や美肌補正などの画像補正処理の実施有無、出力レイアウトにより各処理ステージにおける律速要因となる処理ステージを特定し、それにより負荷カテゴリを分類している。負荷カテゴライズテーブル１０００は、ジョブの処理負荷推定部２１１で印刷ジョブ毎の負荷分類を設定する際に参照される。なお、負荷カテゴライズテーブル１０００は処理開始前に予め生成されたものを使用してもよいし、処理結果情報を学習させて更新したものを使用してもよい。本実施形態では、各処理ステージのうち画像補正処理が律速要因となるものをＴｙｐｅ−Ａとし、出力サイズによりＲＩＰ処理と回転面付処理が律速要因となるものをＴｙｐｅ−Ｂとする。また、レイアウトによりＲＩＰ処理と回転面付処理が律速要因となるものをＴｙｐｅ−Ｃ、フォーマットによりＲＩＰ処理が律速要因となるものをＴｙｐｅ−Ｄとする。
【００７８】
ステージ処理負荷テーブル１００１は、負荷カテゴリの情報に基づいて推定した各処理ステージの処理時間を管理する。
【００７９】
調停管理テーブル１００２は、負荷カテゴリ付けされた印刷ジョブに対する最適処理を管理する。すなわち、各印刷ジョブの最も処理効率が上がる調停順序を管理する。各印刷ジョブに設定可能な調停順序は複数存在するが、本実施形態では、最も高速に処理され且つ調停対象となる負荷カテゴリ毎に律速要因とされる処理ステージがより重複している調停順序を設定する。なお、ここでは、調停管理テーブル１００２は、調停範囲内の印刷ジョブの情報を管理する。調停管理テーブル１００２はジョブ調停部２１２で参照される。
【００８０】
図１０（ｂ）は、印刷ジョブ処理を開始した後に作成される管理情報を示す図である。処理を開始した後に作成される管理情報としては、印刷ジョブ毎のジョブ解析結果１００３、１００４、１００５と、負荷推定結果１００６が挙げられる。ジョブ解析結果１００３、１００４、１００５は、ジョブ解析部２０９で生成され、負荷推定結果１００６はジョブ処理負荷推定部２１１で生成される。ジョブ解析結果１００３、１００４、１００５は、印刷ジョブ本体に付随する（付加された）印刷ジョブ設定情報から抽出して生成する。ここで抽出される情報としては、ジョブ種別、画像補正実施の有無、平綴じ／中綴じ等の処理負荷の推定に用いられる情報である。
【００８１】
負荷推定結果１００６は、ジョブ毎に生成されたジョブ解析結果と負荷カテゴライズテーブル１０００とに基づいて、ジョブ毎に負荷カテゴリ分類された情報である。すなわち、負荷推定結果１００６は、印刷ジョブと負荷カテゴリを関連付けた情報である。例えば、Ｊｏｂ１１は、ジョブの種類がＪＰＥＧ、サイズが４×６、画像補正がＯＮ、レイアウトが１ｉｎ１というジョブ設定であるため、負荷カテゴライズテーブルの１行目に相当する。したがって、Ｊｏｂ１１は、負荷カテゴリがＴｙｐｅ−Ａであると特定されて、負荷推定結果として記憶される。Ｊｏｂ１２及びＪｏｂ１３についても同様に、ジョブ設定に基づいて負荷カテゴライズテーブルから負荷カテゴリが特定される。
【００８２】
図１４を用いて、調停管理テーブル１００２におけるルール設定ついて説明する。図１４（ａ）は、調停管理テーブル１００２における各調停順序を設定するための処理の流れを示す図である。なお、ＣＰＵ１０１は、ＲＯＭ１０２に格納されているプログラムをＲＡＭ１０３にロードし、それを実行することにより、図１４（ａ）に示すフローチャートを実行する。図１４（ｂ）は、図１４（ａ）に示した処理の流れに従い調停順序を決定する際に使用される処理状況を可視化した例を示す図である。本実施形態では、各印刷ジョブの負荷カテゴリがＴｙｐｅ−Ａ、Ｔｙｐｅ−Ｃ、Ｔｙｐｅ−Ｄの場合におけるルール設定について説明する。また、それぞれの印刷ジョブは１ページずつとする。
【００８３】
負荷カテゴリに応じて印刷ジョブの処理順序の候補を特定する（Ｓ１４０１）。本実施形態では、処理順序の候補は、ＡＣＤ、ＡＤＣ、ＣＡＤ、ＣＤＡ、ＤＡＣ、ＤＣＡの６種類となる。処理順序の候補は、調停順序のルール設定を行う印刷ジョブの負荷カテゴリの種類により変動する。
【００８４】
次に、処理順序の候補が複数存在するか判定する（Ｓ１４０２）。処理順序候補は６種類なので複数存在すると判定し（Ｓ１４０２でＹｅｓ）、処理順序候補毎にラスタライズ部２０３における各処理ステージの処理時間を特定する（Ｓ１４０３）。図１４（ｂ）は、各処理順序候補の処理時間の模式図である。なお、図４（ｂ）は、第１印刷ジョブがＴｙｐｅＡ、第２印刷ジョブがＴｙｐｅＣ、第３印刷ジョブがＴｙｐｅＤの場合の処理推移の予測を示す図である。１４０８は、ＡＣＤの順に処理を行った場合の各処理ステージの処理推移の予測である。１４０９は、ＡＤＣの処理順序順、１４１０はＣＡＤの処理順序、１４１１はＣＤＡの処理順序順、１４１２はＤＡＣの処理順序、１４１３はＤＣＡの処理順序で処理を行った場合の各処理ステージの処推移の予測である。
【００８５】
図１４（ｂ）に示された各処理順序候補のうち、処理が最短で完了する処理順序をルール候補に設定する（Ｓ１４０４）。図１４（ｂ）の場合、１４１０と１４１１の２つと判断され、ＣＡＤとＣＤＡの２つの処理順序が調停管理テーブルに設定されるルール候補となる。
【００８６】
ルールとなる処理順序候補が複数あるか判定する（Ｓ１４０５）。設定されたルール候補が１つの場合（Ｓ１４０５でＮｏ）、その処理順序が調停管理テーブルに設定される調停ルールとなり（Ｓ１４０７）、処理を終了する。
【００８７】
ルール候補が２つ以上ある場合（Ｓ１４０５でＹｅｓ）、そのルール候補に対して、所定の選択基準に基づき、処理順序を１つ選択する（Ｓ１４０６）。本実施形態では、負荷カテゴリ毎に律速要因とされる処理ステージが重なっている時間が最も長い処理順序候補を選択する。各ジョブにおける律速要因となる処理ステージが並列処理されることにより、リソース使用率を向上することができる。なお、負荷カテゴリＴｙｐｅ−Ａは各処理ステージのうち画像補正処理が律速要因であり、Ｔｙｐｅ−ＣはＲＩＰ処理と回転面付処理が律速要因であり、Ｔｙｐｅ−ＤはＲＩＰ処理が律速要因である。したがって、本実施形態における選択基準は、Ｔｙｐｅ−Ａの画像補正処理と、Ｔｙｐｅ−ＣのＲＩＰ処理または回転面付処理と、Ｔｙｐｅ−ＤのＲＩＰ処理とが、より長い時間重複する処理順序を選択することになる。１４１０と１４１１は共に１４１４に示すように異なる３処理が重複する部分が存在する。ここで、Ｔｙｐｅ−ＡのＲＩＰ処理及びＴｙｐｅ−Ｄの画像補正処理は、それぞれの負荷カテゴリに対する律速要因ではない。したがって、１４１１、すなわち、ＣＤＡの処理順序がルールとして選択される。なお、選択基準はこれに限定されるものではなく、例えば、各処理ステージ間の隙間が少ないものを選択するようにしてもよい。Ｓ１４０６で選択したルール（処理順序）を調停管理テーブルに設定する（Ｓ１４０７）。
【００８８】
上述した方法により、負荷の組み合わせがＡＣＤの場合は、処理順序をＣＤＡとすることが決定される。
【００８９】
ここで、具体例を挙げて、本実施形態に係る印刷ジョブの調停方法について説明する。図１１は、本実施形態に係るジョブ調停の一例を示す。印刷ジョブ１１０１、印刷ジョブ１１０２、印刷ジョブ１１０３の順序でスプーラ部２０７に投入された場合について説明する。本実施形態では、印刷ジョブは先頭のページから順番に１ページずつ、ジョブ単位で処理されていくものとする。すなわち、１ジョブ目の１ページ目から最終ページまで順に処理された後に２ジョブ目の１ページ目の処理を行うものとする。ジョブ毎の処理負荷分類は、負荷カテゴライズテーブル１１０４に従うものとし、調停範囲内の印刷ジョブの処理順序は、調停管理テーブル１１０５に設定されたルールに従うものとする。各印刷ジョブ（印刷ジョブ１１０１、１１０２、１１０３）、負荷カテゴライズテーブル１１０４、及び調停管理テーブル１１０５は、スプーラ部２０７に格納済みであるとする。また、調停範囲は、印刷ジョブ１１０１、１１０２、１１０３の３ジョブとする。
【００９０】
図１１（ａ）は、各印刷ジョブに基づく画像のイメージ図である。図１１（ａ）に示すように、各印刷ジョブ（印刷ジョブ１１０１、１１０２、１１０）はそれぞれ２ページで構成され、印刷ジョブ１１０１は、印刷ジョブ１１０２及び１１０３とは出力サイズが異なる。
【００９１】
図１１（ｂ）は、本実施形態で用いる負荷カテゴライズテーブル１１０４及び調停管理テーブル１１０５と、印刷ジョブ１１０１のジョブ解析結果１００６と、負荷推定結果１１０８と、調停前後の印刷ジョブの処理順序１１０９とを示す。
【００９２】
調停が開始されると、ＣＰＵ１０１は、ジョブ解析部２０９に印刷ジョブ１１０１の設定情を解析させ、解析結果１１０６をスプーラ部２０７に格納させる。解析結果１１０６には、ジョブ種別、ジョブの総ページ数、出力設定、補正設定等が記述される。印刷ジョブ１１０２、１１０３についても同様に解析を行う。
【００９３】
次に、ＣＰＵ１０１は、ジョブ処理負荷推定部２１１に解析結果１１０６を取得させ、負荷推定結果を生成させる。負荷推定とは、負荷カテゴライズテーブル１１０４と解析結果１１０６に基づいて、処理負荷分類を行うことである。本実施形態では、ジョブ種別、サイズ、補正設定、レイアウト設定により処理負荷を分類する。解析結果１１０６から処理負荷を分類するために必要な参照情報１１０７を取得し、負荷カテゴライズテーブル１１０４と照合する。参照情報１１０７は、負荷カテゴライズテーブル１１０４の１行目と適合する。したがって、印刷ジョブ１１０１は、負荷カテゴリがＴｙｐｅ−Ａと判別される。同様に印刷ジョブ１１０２、１１０３について負荷カテゴリを判別し、印刷ジョブと判定結果を関連付けた負荷推定結果１１０８をスプーラ部２０７に生成する。
【００９４】
その後、ＣＰＵ１０１は、ジョブ調停部２１２に負荷推定結果１１０８と調停管理テーブル１１０５により調停順序を決定させる。ジョブ調停部２１２は、調停管理テーブル１１０５を参照することで、負荷推定結果１１０８に存在する負荷カテゴリの組合せをどのような順序に調停されるかを決定する。負荷推定結果１１０８に存在する負荷カテゴリはＡＣＤであり、負荷の組み合わせは調停管理テーブル１１０５の２行目と適合する。調停管理テーブル１１０５のルールに従い、負荷カテゴリＣＤＡの順で処理することを決定する。すなわち、印刷ジョブ１１０２、１１０３、１１０１の順序で処理するよう調停する。
【００９５】
図１１（ｃ）は、ジョブ調停が未実施の場合のラスタライズ部２０３における各処理ステージの処理推移の予測と、ジョブ調停を実施した場合のラスタライズ部２０３における各処理ステージの処理推移の予想を示す図である。ジョブ調停が未実施の場合、印刷ジョブのスプーラ部２０７への投入順、すなわち、印刷ジョブ１１０１の１ページ目、２ページ目、印刷ジョブ１１０２の１ページ目、２ページ目、印刷ジョブ１１０３の１ページ目、２ページ目の順でラスタライズ処理される。これに対し、ジョブ調停を実施した場合、印刷ジョブ１１０２の１ページ目、２ページ目、印刷ジョブ１１０３の１ページ目、２ページ目、印刷ジョブ１１０１の１ページ目、２ページ目の順でラスタライズ処理される。これにより、ジョブ調停を未実施の場合の処理推移１１１０と比べ、ジョブ調停を実施することでラスタライズ処理に要する時間が短縮され、処理効率が向上する。さらに、各ジョブにおける律速要因となる処理ステージ１１１２が並列処理されるようになり、リソース使用率も向上する。
【００９６】
以上のように、描画処理を複数の処理ステージに分割し、それぞれ並列処理可能なパイプライン化されたラスタライズ処理において、各処理ステージの負荷を推定しジョブ調停を行うことにより、効率的なラスタライズ処理が実施可能となる。具体的には、複数の印刷ジョブデータの処理時間の合計が短くなるように順序を決定する。
【００９７】
さらに、本実施形態では、最も処理負荷の高い処理ステージが並列処理されるように、印刷ジョブが調停されるため、リソースの使用効率が向上する。
【００９８】
また、複数の印刷ジョブデータのラスタライズ処理の実行時間を短縮することができるため、省電力やメンテナンス効率を向上させることもできる。
【００９９】
（実施形態２）
実施例１では、ジョブの調停をジョブ単位で実行していたのに対し、本実施形態では、ジョブの調停をページ単位で実行する。
【０１００】
図１２を用いて、本実施形態に係る処理の流れの一例について詳細に説明する。なお、ＣＰＵ１０１は、ＲＯＭ１０２に格納されているプログラムをＲＡＭ１０３にロードし、それを実行することにより、図１２に示すフローチャートを実行する。
【０１０１】
Ｓ１２０１〜Ｓ１２０９は、図６のＳ６０１〜６０９と同様であるため説明を省略する。なお、調停範囲内のジョブの設定が全て同じ場合（Ｓ１２０７でＹｅｓ）、Ｓ１２１６へ進み、投入順序の調停を行なわず（投入順を変更せず）、ラスタライズ処理を開始する（Ｓ１２１７）。
【０１０２】
印刷ジョブの負荷タイプの負荷カテゴリが異なった場合（Ｓ１２０９でＮｏ）、ジョブ調停部２１２において、調停範囲内の印刷ジョブについて負荷カテゴリ毎の総ページ数を取得する（Ｓ１２１０）。取得された各負荷カテゴリの総ページ数が同じか判定する（Ｓ１２１１）。なお、ここではページ数が同じか判定するものとしたが、これに限定されず、例えば、負荷カテゴリのばらつきが許容できるか判定するようにしてもよい。具体的には、ページ数の差が所定の範囲内か判定するようにしてもよい。
【０１０３】
各負荷カテゴリの総ページ数が同じ場合（Ｓ１２１１でＹｅｓ）、ジョブ調停部２１２において設定された負荷カテゴライズテーブルを利用して処理ページ順序の調停を行い（Ｓ１２１５）、ラスタライズ処理を開始する（１２１７）。
【０１０４】
各負荷カテゴリの総ページ数が異なる場合（Ｓ１２１１でＮｏ）、まず、取得した処理対象となる各印刷ジョブデータの総ページ数を比較する。そして、処理対象となる各印刷ジョブデータのそれぞれを所定ページ数分、具体的には、処理対象となる印刷ジョブデータのなかにおける最小のページ数と同じページ数分の処理ページ順序の調停を行う（Ｓ１２１２）。次に、調停が実施されなかった残りのページに対して、処理ページ内容を解析して負荷カテゴリを再設定するか判定する（Ｓ１２１３）。未調停ページに対する負荷カテゴリの再設定の判定については、ユーザインタフェース部１０７に表示された表示画面における設定に従う。再設定を行わない場合（Ｓ１２１３でＮｏ）、未調停ページの負荷カテゴリに対して調停管理テーブルを参照し、処理ページ順序の調停を行う（Ｓ１２１５）。未調停ページに対して再設定する場合（Ｓ１２１３でＹｅｓ）、ページ単位で負荷カテゴリを再設定し（Ｓ１２１４）。負荷カテゴリの再設定は、ページを詳細に解析して行ってもよいし、データサイズや画像枚数のような簡易解析に基づいて行ってもよい。再設定後、再度負荷カテゴリ毎のページ数を比較し（Ｓ１２１１）、処理ページ順序の調停を行う。
【０１０５】
図１３を用いて、図１２で示したフローチャートによるジョブ調停について具体例を挙げて説明する。
【０１０６】
図１３（ａ）は、各ジョブに含まれるページ数が同じ場合の説明図である。負荷推定結果情報１３０１は、ジョブ処理負荷推定部２１１が生成する。負荷推定結果情報１３０１には、ジョブＩＤと、負荷カテゴリと、各ジョブの総ページ数とを含む。負荷推定結果情報１３０１から負荷カテゴリが３種類でいずれも５ページずつであることを特定することができる。図１２における処理において、図１３（ａ）に示す場合、各負荷カテゴリはページ数が同じであるため（Ｓ１２１１でＹｅｓ）、１３０２に示す範囲のページ、すなわち、各印刷ジョブデータの全てのページについてジョブ調停を行う。負荷カテゴリの組み合わせがＡＢＣであるため調停管理テーブル情報に従い、ＣＢＡの順で処理するように調停する。すなわち、ジョブ２２の１ページ目、ジョブ２１の１ページ目、ジョブ２０の１ページ目の順序で処理されるように調停する。ジョブの調停を実行せずにジョブを処理した場合の各処理ステージの処理推移１３０３と、ジョブの調停を実施した場合の各処理ステージの処理推移１３０４とを比較すると、ジョブの調停を実施することにより処理時間が短くなることがわかる。
【０１０７】
図１３（ｂ）は、各ジョブに含まれるページ数が異なる場合の説明図である。負荷推定結果情報１３０５は、ジョブ処理負荷推定部２１１生成する。負荷推定結果情報１３０５から負荷カテゴリが３種類で総ページ数がそれぞれ異なることを特定することができる。図１２における処理において、図１３（ｂ）に示す場合、各負荷カテゴリはページ数が異なるため（Ｓ１２１１でＮｏ）、処理対象となる印刷ジョブのなかにおいて最小ページ数（ジョブＩＤ０２５の３ページ）分のジョブ調停を行う（Ｓ１２１２）。すなわち、１３０６に示す範囲についてジョブ調停を行う。これにより、各印刷ジョブの３ページ目まで順序が決定する。具体的には、ジョブ２５の１ページ目、ジョブ２４の１ページ目、ジョブ２３の１ページ目の順序で処理される。次に、未調停ページ１３０７について負荷カテゴリの再設定を行うか判定する（Ｓ１２１３）。本実施形態では未調停ページ１３０７について負荷カテゴリの再設定は行わない。未調停ページ１３０７は、調停によりジョブ２４の４ページ目、ジョブ２３の４ページ目、５ページ目の順序で処理される。ジョブの調停を実施せずにジョブを処理した場合の各処理ステージの処理推移１３０８と、ジョブの調停を実施した場合の各処理ステージの処理推移１３０４とを比較すると、ジョブの調停を実施することにより処理時間が短くなることがわかる。
【０１０８】
本実施形態では、ジョブの処理の開始は、例えば、未調停ページ１３０７が調停完了後とするが、これに限定されるものではない。例えば、調停対象ページ１３０６の処理完了までに未調停ページ１３０７の調停を完了できる場合は、調停済みページの処理を開始するようにしてもよい。
【０１０９】
以上のように、各処理ステージの負荷を推定して、ページ単位でジョブ調停を行うことで、より効率的なラスタライズ処理が実施可能となる。ページ数が膨大な場合は、ジョブ単位で調停を行う場合よりもさらに効率的にラスタライズ処理を実行することができる。さらに、本実施形態では、最も処理負荷の高い処理ステージを並列処理するように調停されるため、リソースの使用効率が向上する。
【０１１０】
（他の実施形態）
本発明は上述した実施形態に限定されるものではない。例えば、上述した実施形態では、画像処理部が負荷の組み合わせを決定できるようにしたが、調停管理テーブルの結果を他の処理部や外部装置から取得するようにしてもよい。
【０１１１】
また、上述した実施形態では、画像処理装置が有する画像処理部において、ジョブの調停を行うようにしたが、これに限定されるものではない。例えば、ジョブ調停範囲決定部２１０及びジョブ調停部２１２が実行する処理を他の処理部やＰＣ等の他の外部装置が実行するようにしてもよい。
【０１１２】
また、上述した実施形態では、負荷カテゴリを決定するために、ジョブ設定として、ジョブの種類、補正の実行の有無、レイアウトを判定するものとしたが、これに限定されるものではない。例えば、ジョブの種類、補正の実行の有無、及びレイアウトのうち１又は２つの設定に基づいて負荷カテゴリを決定してもよいし、他の設定をさらに考慮して負荷カテゴリを決定してもよい。
【０１１３】
上述した実施形態は、以下の処理を実行することによっても実現される。すなわち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。また、プログラムは、１つのコンピュータで実行させても、複数のコンピュータを連動させて実行させるようにしてもよい。また、上記した処理の全てをソフトウェアで実現する必要はなく、処理の一部または全部をＡＳＩＣ等のハードウェアで実現するようにしてもよい。また、ＣＰＵも１つのＣＰＵで全ての処理を行うものに限らず、複数のＣＰＵが適宜連携をしながら処理を行うものとしてもよい。
【符号の説明】
【０１１４】
１００  画像形成装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
２０２  ジョブ制御部
２０３  ラスタライズ部
【図１】
0006512902.tif 000002
【図２】
0006512902.tif 000003
【図３】
0006512902.tif 000004
【図４】
0006512902.tif 000005
【図５】
0006512902.tif 000006
【図６】
0006512902.tif 000007
【図７】
0006512902.tif 000008
【図８】
0006512902.tif 000009
【図９】
0006512902.tif 000010
【図１０】
0006512902.tif 000011
【図１１】
0006512902.tif 000012
【図１２】
0006512902.tif 000013
【図１３】
0006512902.tif 000014
【図１４】
0006512902.tif 000015
【図１５】
0006512902.tif 000016