(57)【要約】【課題】複数の印刷ジョブを順次受け付け、印刷ジョブの印刷の可否判断をＰＤＬ展開処理と印刷処理とに反映させて印刷可能な印刷ジョブを迅速に印刷できるようにする。【解決手段】ＣＰＵが少なくとも３つのマルチコア（コア１、コア２、コア３）で構成され、印刷する用紙サイズがトレイにない場合は給紙不可となり、印刷処理が不可能と判定される。コア１がジョブ１の画像データを作成し、コア２がジョブ２の画像データを作成し、コア３がジョブ３の画像データを作成するように、分散処理が行われる。コア１がジョブ１の画像データを２ページ作成した時点で給紙不可と判定されると、割り当て配分手段がコア１によるジョブ１の画像データ作成を中断させる。受け付け順がジョブ１の次に新しく、給紙不可か判明していないジョブ２の画像データ作成にコア１とコア２を集中させる。【選択図】図４
2011131433.tif 000002
【特許請求の範囲】
【請求項１】
複数の印刷ジョブを順次受け付けて印刷を実行するための画像処理を行う画像形成装置であって、
受け付けた前記複数の印刷ジョブのＰＤＬデータを印刷可能な画像データに展開処理する複数の処理手段と、
前記複数の処理手段で展開処理される画像データの印刷処理が可能か否かを判定する印刷処理判定手段と、
前記複数の処理手段による処理状況と、前記印刷処理判定手段による判定結果とに基づいて、前記画像データの展開処理を前記複数の処理手段を用いて並行処理、あるいは、集中処理させるように前記複数の処理手段の割り当てを配分する割り当て配分手段と、
を備え、前記割り当て配分手段は、印刷を開始するジョブがある場合には、当該ジョブに前記複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、前記複数の処理手段を均等に割り当てることを特徴とする画像形成装置。
【請求項２】
前記印刷処理判定手段は、前記処理手段で展開処理されるページ毎の画像データを印刷する印刷用紙が給紙不可能と判明した場合に、印刷処理不可能と判定し、画像データを印刷する印刷用紙が給紙不可能と判明するまでは、印刷処理可能と判定することを特徴とする請求項１に記載の画像形成装置。
【請求項３】
前記割り当て配分手段は、印刷を開始するジョブがある場合には、当該ジョブに前記複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、前記印刷処理判定手段により印刷処理可能なジョブに前記複数の処理手段を均等に割り当てることを特徴とする請求項１または２に記載の画像形成装置。
【請求項４】
さらに、前記複数の処理手段の割り当てが適切か否かの判定と、前記割り当て配分手段による割り当てを再度実施するタイミングの判定とを行う再割り当て判定手段を備え、
前記再割り当て判定手段により、前記複数の処理手段の割り当てを再度実施した方が良いと判定された時に、前記割り当て配分手段は、前記複数の処理手段の再割り当てを実施することを特徴とする請求項１〜３のいずれか一つに記載の画像形成装置。
【請求項５】
前記再割り当て判定手段は、ＰＤＬデータを印刷可能な画像データに展開処理する前記印刷ジョブの総数の変化によって判定することを特徴とする請求項４に記載の画像形成装置。
【請求項６】
前記再割り当て判定手段は、前記複数の処理手段の割り当てが適切か否かの判定を、装置本体の状態変化に基づいて判定し、前記印刷処理判定手段が最新の状態で前記複数の処理手段で展開処理される画像データの印刷処理が可能か否かの判定を再度実行することを特徴とする請求項４または５に記載の画像形成装置。
【請求項７】
前記処理手段は、
展開処理するページ毎の画像データを印刷する印刷用紙が給紙可能か否かを判定するためのデータ走査を行うデータ走査処理部と、
前記ＰＤＬデータを印刷可能なビットマップデータにＰＤＬ展開処理するＰＤＬ展開処理部と、
を備え、前記処理手段で展開処理される画像データの印刷処理が可能か否かを前記データ走査部で実施することを特徴とする請求項１〜６のいずれか一つに記載の画像形成装置。
【請求項８】
前記割り当て配分手段は、１つの印刷ジョブのＰＤＬ展開処理に割り当てていた前記処理手段を、前記データ走査処理部と前記ＰＤＬ展開処理部とに均等に割り当てることを特徴とする請求項７に記載の画像形成装置。
【請求項９】
前記割り当て配分手段は、印刷を開始するジョブがあって、当該ジョブに前記複数の処理手段を集中させるように割り当てる場合に、前記データ走査処理部の処理を中断して、前記ＰＤＬ展開処理部にのみ集中して割り当てることを特徴とする請求項８に記載の画像形成装置。
【請求項１０】
さらに、他に印刷処理を開始しているジョブがないか否かを判断する印刷処理開始判断手段を備え、
前記印刷処理判定手段は、前記印刷処理開始判断手段により他に印刷処理を開始しているジョブがないと判断されると、特定ページ数が給紙可能である場合に、印刷処理の開始が可能と判定することを特徴とする請求項１〜９のいずれか一つに記載の画像形成装置。
【請求項１１】
コンピュータを、
受け付けた複数の印刷ジョブのＰＤＬデータを印刷可能な画像データに展開処理する複数の処理手段と、
前記複数の処理手段で展開処理される画像データの印刷処理が可能か否かを判定する印刷処理判定手段と、
前記複数の処理手段による処理状況と、前記印刷処理判定手段による判定結果とに基づいて、前記画像データの展開処理を前記複数の処理手段を用いて並行処理、あるいは、集中処理させるように前記複数の処理手段の割り当てを配分する割り当て配分手段と、
として機能させ、前記割り当て配分手段を、印刷を開始するジョブがある場合には、当該ジョブに前記複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、複数の処理手段を均等に割り当てるように機能させるためのプログラム。
【請求項１２】
請求項１１に記載のプログラムを記憶したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジョブスキップ処理を行う画像形成装置、プログラム、およびコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来、プリンタ等の画像形成装置においては、印刷ジョブに対応する用紙が給紙可能か否かを給紙前に判定し、印刷不可とされたジョブを事前に停止状態にして、印刷可能な後続ジョブを先に印刷する技術は知られている（以下、これをジョブスキップ処理という）。
【０００３】
例えば、図１６は、従来の印刷処理の説明図であり、図１７は、従来の印刷処理の印刷不可エラー発生時の説明図であり、図１８は、従来のジョブスキップ処理の説明図である。図１６に示すように、従来のプリンタ印刷処理では、ＰＤＬ（Page Description Language:ページ記述言語）コマンドをビットマップに変換するＰＤＬ展開処理と、作成されたビットマップ画像を順次印字する印刷処理の２つがある。各ジョブにおけるＰＤＬ展開処理と印刷処理とは非同期となっていて、現在の印刷処理完了を待たずに投入されたＰＤＬコマンドデータに対して、ＰＤＬ展開処理を次々に実施する。印刷処理は、ＰＤＬ展開処理で展開済みのビットマップがあれば、それを順次印刷する。しかし、印刷処理の途中で該当サイズの用紙がトレイに無いなど印刷不可エラーがあると、図１７に示すように、エラーが解決するまでそれ以降の印刷処理が停止する。そこで、図１８に示すように、印刷を開始する前に印刷できないことが判明した場合は、印刷ジョブについて印刷処理を保留し、次のジョブの印刷を可能とするのが従来のジョブスキップ処理であった。
【０００４】
続いて、図１９〜２１を用いて、従来の印刷処理動作を説明する。ここで、図１９は、従来のジョブ管理のフロー図であり、図２０は、従来のＰＤＬ展開のフロー図であり、図２１は、従来のジョブスキップ処理のフロー図である。図１９に示すように、従来のジョブ管理は、次のジョブデータの有無を判定し（ステップＳ１０００）、次のジョブデータがある場合（ステップＳ１０００でＹｅｓ）は、ＰＤＬ展開処理を行うと（ステップＳ１００１）、ステップＳ１０００に進んで次のジョブデータの有無を判定する。次のジョブデータがなくなると（ステップＳ１０００でＮｏ）、処理が終了する。
【０００５】
図１９のＰＤＬ展開処理（ステップＳ１００１）は、図２０に示すように、１ジョブにおける１ページのＰＤＬコマンドをビットマップに変換すると（ステップＳ１１００）、１ジョブ内のデータが終了したか否かを判定し（ステップＳ１１０１）、データが終了していなければ（ステップＳ１１０１でＮｏ）、ステップＳ１１００に進んでビットマップ変換処理を繰り返す。１ジョブ内のデータが終了すると（ステップＳ１１０１でＹｅｓ）、図１９のＰＤＬ展開処理が終了する。
【０００６】
また、図２１に示す印刷管理では、ＰＤＬ展開処理された印刷ジョブが印刷可能か否かを判定し（ステップＳ１２００）、印刷可能であれば（ステップＳ１２００でＹｅｓ）、印刷処理を行い（ステップＳ１２０１）、ステップＳ１２０２に進み、次の印刷ジョブの有無を判定する（ステップＳ１２０２）。次の印刷ジョブがある場合は（ステップＳ１２０２でＹｅｓ）、ステップＳ１２００に進んで、印刷ジョブが印刷可能か否かを判定する。印刷不可能な場合（ステップＳ１２００でＮｏ）は、印刷処理を行わずにスキップして、次の印刷ジョブの有無を判定する（ステップＳ１２０２）。このように、従来の画像形成装置では、印刷を開始する前に印刷できないことが判明すると、印刷ジョブについての印刷処理を保留し、次のジョブの印刷を可能とするジョブスキップ処理を行っている。
【０００７】
さらに、特許文献１では、受け取った印刷データを圧縮して記憶部に格納する際に、ジョブ制御部により印刷部の印刷資源が印刷データの条件を充たすか否かをチェックし、印刷処理を行っている。１ページも画像形成することなく資源不足が判明した場合は、後続ジョブによる追い越しを可能としている。１ページでも画像形成した場合は、印刷部を開放せずに資源の回復を待つことにより、複数のジョブの画像形成出力の重なりを防止している。また、ジョブの追い越しを認めることによって、装置の有効利用と、生産性の向上とを図っている。このように、特許文献１には、ジョブスキップ処理に関する記載があり、ＰＤＬ展開処理については、順次展開を行い、印刷処理において印刷不可の場合は印刷保留処理を行う構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上記図を用いて説明した従来の画像形成装置にあっては、印刷開始前に印刷できないことが判明すると、印刷ジョブについての印刷処理が保留され、次のジョブの印刷を可能とするジョブスキップ処理が行われている。このため、従来のジョブスキップ処理は、印刷処理の可否に関係なくＰＤＬ展開処理を行い、印刷開始前に印刷できないことが判明してから当該印刷不可ジョブをスキップするので、印刷できない印刷ジョブをＰＤＬ展開処理する時間が無駄となり、その分印刷可能な他の印刷ジョブの印刷が遅れるという問題があった。
【０００９】
また、上記特許文献１に記載された技術にあっては、ＰＤＬ展開処理が投入されたジョブから順次実施し、追い越しの要否の判断を行っている。このため、追い越しが必要と判断してから次のジョブの処理が開始されるため、追い越し時における印刷開始が遅くなるという問題があった。
【００１０】
本発明は、上記に鑑みてなされたものであって、複数の印刷ジョブを順次受け付けている状況で、印刷ジョブの印刷の可否判断をＰＤＬ展開処理と印刷処理とに反映させ、印刷可能な印刷ジョブを迅速に印刷することができる画像形成装置、プログラム、およびコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明にかかる画像形成装置は、複数の印刷ジョブを順次受け付けて印刷を実行するための画像処理を行う画像形成装置であって、受け付けた前記複数の印刷ジョブのＰＤＬデータを印刷可能な画像データに展開処理する複数の処理手段と、前記複数の処理手段で展開処理される画像データの印刷処理が可能か否かを判定する印刷処理判定手段と、前記複数の処理手段による処理状況と、前記印刷処理判定手段による判定結果とに基づいて、前記画像データの展開処理を前記複数の処理手段を用いて並行処理、あるいは、集中処理させるように前記複数の処理手段の割り当てを配分する割り当て配分手段と、を備え、前記割り当て配分手段は、印刷を開始するジョブがある場合には、当該ジョブに前記複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、前記複数の処理手段を均等に割り当てることを特徴とする。
【００１２】
また、本発明にかかるプログラムは、コンピュータを、受け付けた複数の印刷ジョブのＰＤＬデータを印刷可能な画像データに展開処理する複数の処理手段と、前記複数の処理手段で展開処理される画像データの印刷処理が可能か否かを判定する印刷処理判定手段と、前記複数の処理手段による処理状況と、前記印刷処理判定手段による判定結果とに基づいて、前記画像データの展開処理を前記複数の処理手段を用いて並行処理、あるいは、集中処理させるように前記複数の処理手段の割り当てを配分する割り当て配分手段と、として機能させ、前記割り当て配分手段を、印刷を開始するジョブがある場合には、当該ジョブに前記複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、複数の処理手段を均等に割り当てるように機能させる。
【００１３】
また、本発明にかかる記録媒体は、前記プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【００１４】
本発明によれば、複数の処理手段によって、受け付けた複数の印刷ジョブのＰＤＬ展開処理を行い、印刷処理判定手段により、ＰＤＬ展開処理される画像データの印刷処理が可能か否かを判定する。割り当て配分手段は、複数の処理手段による処理状況と、印刷処理判定手段による判定結果とに基づいて、印刷を開始するジョブがある場合には、当該ジョブに複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、複数の処理手段を均等に割り当てる。このため、ＰＤＬ展開処理の途中で印刷処理判定手段により当該ジョブの印刷処理が不可能と判定されると、当該ジョブのＰＤＬ展開処理を中止し、中止した処理手段を印刷開始ジョブのＰＤＬ展開処理に割り当てることで、ＰＤＬ展開処理を優先的かつ迅速に行うことができるという効果を奏する。印刷処理も処理手段を集中させることにより、効率的な印刷処理が実現できるという効果を奏する。また、印刷を開始したジョブがない場合は、ジョブ間に優先度の差がないため、複数の処理手段を均等に割り当てて、並行処理させることができるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】図１は、第１の実施の形態にかかるプリンタを含む印刷システムの構成を示すブロック図である。
【図２】図２は、第１の実施の形態にかかるプリンタの構成を示すブロック図である。
【図３】図３は、図２のプログラムＲＯＭに記憶されたプログラムを構成するモジュールの構成図である。
【図４】図４は、第１の実施の形態にかかるジョブスキップ処理を説明する図である。
【図５】図５は、第１の実施の形態にかかるＰＤＬ展開処理のフロー図である。
【図６】図６は、第１の実施の形態にかかるＰＤＬ展開処理の他のフロー図である。
【図７】図７は、各イベントの理由を説明する図である。
【図８】図８は、第１の実施の形態にかかる印刷処理動作のフロー図である。
【図９】図９は、第１の実施の形態にかかるＰＤＬ展開処理のコア割り当てのフロー図である。
【図１０】図１０は、第１の実施の形態にかかるＰＤＬ展開処理のコア割り当ての他のフロー図である。
【図１１】図１１は、第２の実施の形態にかかるジョブスキップ処理を説明する図である。
【図１２】図１２は、第２の実施の形態にかかる印刷処理動作のフロー図である。
【図１３】図１３は、第２の実施の形態にかかるＰＤＬ展開処理のフロー図である。
【図１４】図１４は、第１の実施の形態にかかるＰＤＬ展開処理のコア割り当てのフロー図である。
【図１５】図１５は、本実施の形態にかかる印刷可能判定の一例を示す図である。
【図１６】図１６は、従来の印刷処理の説明図である。
【図１７】図１７は、従来の印刷処理の印刷不可エラー発生時の説明図である。
【図１８】図１８は、従来のジョブスキップ処理の説明図である。
【図１９】図１９は、従来のジョブ管理のフロー図である。
【図２０】図２０は、従来のＰＤＬ展開のフロー図である。
【図２１】図２１は、従来のジョブスキップ処理のフロー図である。
【発明を実施するための形態】
【００１６】
以下に添付図面を参照して、この発明にかかる画像形成装置、プログラム、およびコンピュータ読み取り可能な記録媒体の最良な実施の形態を詳細に説明する。以下の実施の形態では、本発明の画像形成装置をレーザプリンタに適用した例を示す。但し、レーザプリンタに限られず、ファクシミリ、スキャナ機能やコピー、ファックス、プリンタなどの画像処理を行うものであれば、本発明を適用することができる。 
【００１７】
（第１の実施の形態）
図１は、本発明の第１の実施の形態にかかるプリンタを含む印刷システムの構成を示すブロック図である。本第１の実施の形態にかかる印刷システムは、プリンタ１０、および、複数のパーソナルコンピュータ等のホストＰＣ２０を有して構成される。また、プリンタ１０とホストＰＣ２０とは、インターネット等のネットワーク１００により接続される。プリンタ１０は、ネットワーク１００を介してホストＰＣ２０から送信されたＰＤＬデータを受信し、受信したＰＤＬデータをビットマップに変換して、印刷処理を実行する。
【００１８】
図２は、本発明の第１の実施の形態にかかるプリンタの構成を示すブロック図である。本第１の実施の形態にかかるプリンタ１０は、大別すると、コントローラ３０、プリンタエンジン４０、および操作パネル５０を備える。また、本第１の実施の形態にかかるプリンタ１０は、上述したように、ネットワーク１００を介して各種データ等を送受信するホストＰＣ２０と接続されている。 
【００１９】
コントローラ３０は、操作パネル５０、ホストＰＣ２０、もしくはネットワーク１００からの制御信号にしたがって、ホストＰＣ２０からの印字データを、ビデオデータに変換し、当該ビデオデータを示すビデオ信号および制御信号をプリンタエンジン４０へ出力する制御機構の総称である。 
【００２０】
操作パネル５０は、プリンタ１０の状態を示す表示部、およびプリンタ１０のモード、フォント等を切替えるスイッチ部などからなる。また、蓄積された文書の一覧画面を表示し、選択した文書の印刷や消去を指示する。また、操作パネル５０は、プリンタ１０のモードおよびフォントの切り替え、文書の印刷や消去の指示等を設定する制御信号をコントローラ３０に出力する。さらに、操作パネル５０は、画像を印刷する用紙の用紙サイズを印刷条件として受け付ける。 
【００２１】
プリンタエンジン４０は、画像印刷に際して、コントローラ３０からのビデオ信号および制御信号により、感光体上に静電潜像を作り、現像し、また給紙部４０ｂより転写紙を給紙し、転写および定着し、画像を形成する。本第１の実施の形態にかかるプリンタエンジン４０は、給紙トレイ部４０ａ、給紙部４０ｂ、印刷部４０ｃ、排紙部４０ｄ、および排紙トレイ４０ｅを備えている。 
【００２２】
給紙トレイ部４０ａは、複数の給紙トレイを有し、ＳＥＦ方向のＡ４、ＬＥＦ方向のＡ５などの複数の用紙サイズの用紙を給紙可能な給紙先であるロール紙、ＳＥＦ方向のＡ３、ＬＥＦ方向のＡ４などの複数の用紙サイズの用紙を給紙可能な給紙先であるロール紙、ＬＥＦ方向のＡ４の用紙を給紙可能な給紙先であるカット紙、およびＬＥＦ方向のＢ５の用紙を給紙可能な給紙先であるカット紙などが各給紙トレイに収納されている。
【００２３】
給紙部４０ｂは、コントローラ３０からの指示に応じて、印刷部４０ｃに給紙する用紙を選択して、選択した用紙を印刷部４０ｃに給紙する。印刷部４０ｃは、所定の記録方式、例えば、電子写真方式等で、コントローラ３０から入力されるビデオ信号および制御信号により感光体上に静電潜像を作り、現像し、現像された画像を給紙された用紙に転写および定着させて、画像を形成する。排紙部４０ｄは、画像が記録された用紙を排紙トレイ４０ｅに排出する。排紙トレイ４０ｅは、排紙部４０ｄにより排紙された用紙を蓄積する。 
【００２４】
次に、本第１の実施の形態にかかるコントローラ３０の詳細な構成について説明する。本第１の実施の形態にかかるコントローラ３０は、ホストＩ／Ｆ３１、プログラムＲＯＭ（Read  Only  Memory）３３、フォントＲＯＭ３５、パネルＩ／Ｆ３７、ＣＰＵ（Central  Processing  Unit）３２、ＲＡＭ（Random  Access  Memory）３４、ＮＶ（Non  Volatile）−ＲＡＭ３６、エンジンＩ／Ｆ３８等のようなモジュールで構成されている。なお、コントローラ３０を構成する各モジュールは、バスを介して接続されている。 
【００２５】
ホストＩ／Ｆ３１は、ホストＰＣ２０からプリンタ１０への制御信号およびデータ、およびプリンタ１０からホストＰＣ２０へのステータス信号のインターフェイスである。ホストインタＩ／Ｆ３１を通してホストＰＣ２０から送られてきたデータは、ＣＰＵ３２により印字データおよび印字制御データとその他に分けられ、印字データおよび印字制御データは、制御コードに変換されてＲＡＭ３４に記憶される。ホストＰＣ２０からのプリント命令、またはホストＰＣ２０から受け取ったデータが１ページ分を超えた場合、コントローラ３０は、まず中間コードをビデオデータに変換し、それが終了したらエンジンＩ／Ｆ３８を通してプリンタエンジン４０にプリントスタートの命令を出す。以上のような一連の流れにより、ホストＰＣ２０からの印字データがプリンタエンジン４０を介して印字される。
【００２６】
パネルＩ／Ｆ３７は、操作パネル５０からコントローラ３０への制御信号のインターフェイスである。つまり、プリンタ１０の状態、モード、フォント等の切替えを行うための信号のインターフェイスである。エンジンＩ／Ｆ３８は、コントローラ３０からプリンタエンジン４０への制御信号やビデオ信号、およびプリンタエンジン４０からコントローラ３０へのステータス信号のインターフェイスである。フォントＲＯＭ３５は、印字に使用されるさまざまな種類のフォントを有する。 
【００２７】
ＮＶ−ＲＡＭ３６は、電源を切っても保持したいデータを格納しておく為の不揮発性ＲＡＭである。 
【００２８】
ＲＡＭ３４は、電源を切ってしまうとデータが消えてしまう揮発性の記憶デバイスであり、ＣＰＵ３２が処理するときのワークメモリ、ホストからのデータをページ単位に管理して一時的に記憶するバッファ、およびバッファに記憶されたデータを実際の印字パターンに変換し、ビデオデータを記憶するビットマップメモリ等に使用される。 
【００２９】
なお、本第１の実施の形態のプリンタ１０で実行されるプログラムは、プログラムＲＯＭ３３に予め組み込まれて提供されるものとしたが、これに限るものではない。例えば、プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。 
【００３０】
さらに、本第１の実施の形態のプリンタ１０で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でＮＶ−ＲＡＭ３６にダウンロードさせることにより提供するように構成しても良い。また、本第１の実施の形態のプリンタ１０で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。 
【００３１】
ＣＰＵ３２は、プリンタ１０の主要部であって各部を集中的に制御するものであり、プログラムＲＯＭ３３に記憶されているプログラムに従って、ホストＰＣ２０からのデータ（印字データ、制御信号）等の処理を実施する（印刷処理判定手段、データ走査処理部、ＰＤＬ展開処理部、割り当て配分手段、再割り当て判定手段などを構成している。）。本第１の実施の形態にかかる複数の処理手段としてのＣＰＵ３２は、マルチコアで構成された点に特徴がある。マルチコア（Multiple core、Multi-core）技術とは、１つのプロセッサ・パッケージ内に複数のプロセッサ・コアを封入した技術である。マルチコアを１つのプロセッサとして集中的に使用したり、複数のプロセッサとして並列処理を行ったりすることが可能となる。なお、本第１の実施の形態では、マルチコアを用いて実施したが、必ずしもこれに限定されず、複数のプロセッサを使って、集中処理あるいは並列処理を行うように構成することも可能である。処理対象としては、ＰＤＬデータを展開処理するＰＤＬ展開処理の他、展開後のビットマップデータを用いて印刷する印刷処理などがある。
【００３２】
このシステム全体の動作を制御するＣＰＵ３２は、このシステムの主記憶装置として使用されるプログラムＲＯＭ３３に記憶されているプログラムに基づいて各種処理を実行する。 
【００３３】
ここで、ＣＰＵ３２がプログラムＲＯＭ３３に記憶されたプログラムを構成するモジュールについて説明する。図３は、図２のプログラムＲＯＭに記憶されたプログラムを構成するモジュールの構成図である。
【００３４】
プログラムＲＯＭ３３に記憶されたプログラムを構成するモジュールは、大別すると、ＰＤＬ展開モジュール６１、ジョブ管理モジュール６２、およびサービス提供モジュール群６８を有して構成される。なお、サービス提供モジュール群６８は、ネットワーク管理モジュール６３、メモリ管理モジュール６４、印刷管理モジュール６５、システム管理モジュール６６、および操作パネル管理モジュール６７による各種サービスを提供するモジュールの総称である。サービス提供モジュール群６８に含まれる各モジュールは、互いに通信をし合ってプリンタ１０の基本動作を分担し、協力して上位層のモジュールからの要求に対応する。 
【００３５】
ＰＤＬ展開モジュール６１は、プリンタ１０がホストＰＣ２０から受信したＰＤＬデータ（印字データ）を解析して印刷画像（ビデオデータ）を生成するモジュールである。ＰＤＬ展開モジュール６１は、ジョブ管理モジュール６２の仲介によりネットワーク管理モジュール６３よりＰＤＬデータを受け取り、同じくジョブ管理モジュール６２の仲介によりメモリ管理モジュール６４から確保したメモリ（ＲＡＭ３４）上に印刷画像を生成することが主な責務である。また、印刷画像生成の際には機器構成情報、例えば給紙トレイ・排紙トレイの構成や、給紙トレイに収納された給紙先から給紙可能な用紙の用紙サイズといった情報が必要になるが、これらの情報はジョブ管理モジュール６２の仲介によりシステム管理モジュール６６から取得する。 
【００３６】
ジョブ管理モジュール６２は、ＰＤＬ処理全般に関わる制御を行っており、主にＰＤＬ展開モジュール６１側が必要とする処理を仲介して他モジュールに対して要求を行うモジュールである。ネットワーク管理モジュール６３が受け取ったＰＤＬデータをＰＤＬ展開モジュール６１へ受け渡す仲介、ＰＤＬ展開モジュール６１がシステム管理モジュール６６により管理される機器構成情報を取得する仲介、ＰＤＬ展開モジュール６１がメモリ管理モジュール６４から必要なメモリ（ＲＡＭ３４）を確保する仲介、ＰＤＬ展開モジュール６１が作成した印刷画像に関し印刷管理モジュール６５に対する印刷要求の発行などを行う。 
【００３７】
メモリ管理モジュール６４は、メモリ（ＲＡＭ３４、ＮＶ−ＲＡＭ３６）および外部記憶装置を管理するモジュールであり、他モジュールの要求に基づいてメモリおよび外部記憶装置の割り当て・解放を行うことが主な責務である。 
【００３８】
印刷管理モジュール６５は、ＰＤＬ展開モジュール６１が生成した印刷画像の印刷処理に関する制御を行うモジュールである。メモリ管理モジュール６４が管理するメモリ（ＲＡＭ３４、ＮＶ−ＲＡＭ３６）／外部記憶装置内に格納された印刷画像を、プリンタエンジン４０に印刷させるために必要な各種処理を実行するのが主な責務であり、給排紙命令の発行、後処理実行命令の発行、印刷に関わるエラー状態の検知と他モジュールへの通知などを行う。 
【００３９】
ネットワーク管理モジュール６３は、ネットワーク１００の管理、ネットワーク１００を介してホストＰＣ２０から受信した制御信号およびデータの処理、およびネットワーク１００を介してプリンタ１０からホストＰＣ２０へのステータス信号の送信を制御するモジュールである。ホストＰＣ１０からのデータの受信の際に欠かせない通信プロトコル（ｆｔｐやｌｐｒなど）を制御してネットワーク１００からデータを受信し、他モジュールへ受信したデータを受け渡すことが主な責務である。 
【００４０】
操作パネル管理モジュール６７は、操作パネル５０の表示およびユーザによるパネル操作の管理を行うモジュールである。他モジュールからの要求に基づいて、プリンタ１０の状態の表示、システム管理モジュール６６が管理する機器設定の変更を行うメニュー画面の表示、エラー画面を表示してユーザに適切な処置を促すことなどが主な責務である。また、メニュー画面やエラー画面などでボタンを表示した際には、押下されたボタンを認識して他モジュールへ通知することも行う。 
【００４１】
次に、プリンタ印刷処理において、印刷不可ジョブのジョブスキップ処理について説明する。図４は、第１の実施の形態にかかるジョブスキップ処理を説明する図である。ここでは、図４と比較する比較例として、上記図１６〜図１８を参照して説明する。
【００４２】
まず、比較例１におけるプリンタ印刷処理は、図１６に示すように、ＰＤＬコマンドからビットマップに画像展開するＰＤＬ展開処理と、作成されたビットマップ画像を順次実際に印字する、印刷処理との２つに分かれている。印刷処理は、ＰＤＬ展開処理より処理時間が通常長いため、印刷処理を待たずに次のジョブのＰＤＬ展開処理が次々に実施される。また、図１７の比較例２に示すように、印刷不可エラーが発生すると、エラーが解決されるまで、それ以降の印刷処理が全て停止する。そこで、図１８の比較例１のジョブスキップでは、印刷不可エラーとなるジョブ１の印刷を予め保留し、印刷可能なジョブ２から先に印刷することで印刷処理が全て停止するのを防止していた。
【００４３】
これに対し、図４を用いて、本第１の実施の形態のジョブスキップ処理を説明する。図４に示すように、本第１の実施の形態にかかる画像形成装置は、ＣＰＵが少なくとも３つのマルチコア（コア１、コア２、コア３）で構成されており、印刷する用紙サイズがトレイにない場合は給紙不可となり、印刷処理が不可能と判定される。図４では、当初、コア１がジョブ１の画像データを作成し、コア２がジョブ２の画像データを作成し、コア３がジョブ３の画像データを作成するように、分散処理が行われている。
【００４４】
この状態で、印刷処理判定手段は、コア１がジョブ１の画像データを２ページ作成した時点で給紙不可と判定すると、割り当て配分手段がコア１によるジョブ１の画像データ作成を中断させる。そして、その割り当て配分手段は、受け付け順がジョブ１の次に新しく、給紙が可能な（給紙不可が判明していない状態も含む）ジョブ２の画像データ作成にコア１とコア２を集中させる。これにより、印刷開始が決定するまでの画像データの作成時間を短縮することができる。
【００４５】
また、印刷処理判定手段は、コア１およびコア２がジョブ２の画像データを３ページ作成した時点で給紙不可と判定すると、割り当て配分手段がコア１およびコア２によるジョブ２の画像データの作成を中断させる。そして、割り当て配分手段は、受け付け順がジョブ２の次に新しく、給紙可能な（給紙不可が判明していない状態も含む）ジョブ３の画像データ作成にコア１、コア２、コア３を集中させる。これにより、印刷開始が決定するまでの画像データ作成時間を大幅に短縮することができる。ジョブ３では、３ページ目まで給紙可能であることが判明したため、印刷処理を開始する。印刷開始後のジョブ３は、コア１〜３を集中させて画像データを作成するため、印刷処理よりも時間のかかる画像データ作成処理を印刷処理に間に合わせることが可能となって、効率良く、迅速に印刷処理することができる。
【００４６】
次に、印刷ジョブを受け付けたＰＤＬデータを、印刷可能な画像データに展開処理するＰＤＬ展開処理動作について、図５を用いて説明する。図５は、第１の実施の形態にかかるＰＤＬ展開処理のフロー図であり、図６は、第１の実施の形態にかかるＰＤＬ展開処理の他のフロー図である。まず、図５に示すＰＤＬ展開処理では、図３のＰＤＬ展開モジュール６１により、１ページ単位でコマンドデータをビットマップデータに変換する（ステップＳ２００）。システム管理モジュール６６は、ＰＤＬ展開モジュール６１により受信したＰＤＬデータの用紙サイズと、検索された用紙の用紙サイズとが一致せず、印刷不可と判断された場合は（ステップＳ２０１でＹｅｓ）、ステップＳ２０２においてＰＤＬ展開処理を中断し（ステップＳ２０２）、ステップＳ２０３による再開指示があるまで処理を中断する。
【００４７】
また、システム管理モジュール６６は、ＰＤＬ展開モジュール６１により受信したＰＤＬデータの用紙サイズと、検索された用紙の用紙サイズとが一致し、印刷可能と判断された場合は（ステップＳ２０１でＮｏ）、ＰＤＬ展開処理を継続するため、ステップＳ２０４でＰＤＬ画像作成が完了したか否かを判断し、ＰＤＬ画像作成が完了していなければ（ステップＳ２０４でＮｏ）となり、ステップＳ２００に進み、作成ページの印刷が可能か否かを判断しながらＰＤＬ展開処理を繰り返す。ステップＳ２０４でＰＤＬ画像作成が完了していれば（ステップＳ２０４でＹｅｓ）、メインルーチンに戻る。
【００４８】
また、図６に示すＰＤＬ展開処理は、図５の発展形であり、１つのジョブのＰＤＬ展開処理が完了してから印刷するのではなく、特定のｍページまで印刷が可能であり、且つ他に印刷中のジョブがない場合に、印刷可能とするものである。まず、図３のＰＤＬ展開モジュール６１により、１ページ単位でコマンドデータをビットマップデータに変換する（ステップＳ３００）。システム管理モジュール６６は、ＰＤＬ展開モジュール６１により受信したＰＤＬデータの用紙サイズと、検索された用紙の用紙サイズとが一致せず、印刷不可と判断された場合は（ステップＳ３０１でＹｅｓ）、ステップＳ３０２においてＰＤＬ展開処理が中断され（ステップＳ３０２）、ステップＳ３０３による再開指示があるまで処理を中断する。
【００４９】
また、システム管理モジュール６６は、ＰＤＬ展開モジュール６１により受信したＰＤＬデータの用紙サイズと、検索された用紙の用紙サイズとが一致し、印刷可能と判断された場合は（ステップＳ３０１でＮｏ）、ＰＤＬ展開処理が継続され、ステップＳ３０４でＰＤＬ画像作成がｍページまで作成済みか否かを判定する。ｍページまで作成済みの場合は（ステップＳ３０４でＹｅｓ）、他に印刷を開始しているジョブがないか否かを判定して、他に印刷を開始しているジョブがない場合は（ステップＳ３０５でＹｅｓ）、印刷開始可能であることを通知して（ステップＳ３０６）、ステップＳ３０７に進む。また、他に印刷を開始しているジョブがある場合も（ステップＳ３０５でＮｏ）、ステップＳ３０７に進む。さらに、ステップＳ３０４において、ビットマップデータがｍページまで作成されていない場合も（ステップＳ３０４でＮｏ）、ステップＳ３０７に進む。ステップＳ３０７では、ＰＤＬ画像作成が完了したか否かを判断し、ＰＤＬ画像作成が完了していなければ（ステップＳ３０７でＮｏ）となり、ステップＳ３００に進む。ステップＳ３０７でＰＤＬ画像作成が完了していれば（ステップＳ３０７でＹｅｓ）、メインルーチンに戻る。
【００５０】
このように、図６に示すＰＤＬ展開処理は、ｍページまでで印刷可能かを判断することにより、印刷可能な最低枚数と印刷開始までの待機時間とを調整することで、より適切なジョブスキップ判断を実施することができる。
【００５１】
また、図７および図８は、上記図５および図６の各ＰＤＬ展開処理を管理する管理処理を説明する図であり、図９および図１０におけるマルチコア割り当ての結果によって、図５および図６で中断状態に移行していた中断時点からＰＤＬ展開処理を継続することが可能となる。ここで、図７は、各イベントの理由を説明する図であり、図８は、第１の実施の形態にかかる印刷処理動作のフロー図であり、図９は、第１の実施の形態にかかるＰＤＬ展開処理のコア割り当てのフロー図であり、図１０は、第１の実施の形態にかかるＰＤＬ展開処理のコア割り当ての他のフロー図である。
【００５２】
図８では、マルチコアにより、現在のジョブ数に対応する複数のＰＤＬ展開処理にコアを分散して処理が行われる。また、並行処理されるＰＤＬ展開処理のイベントによって、ＰＤＬ展開処理のコア再配分が必要になった場合には、割り当ての見直しが行われる。まず、新規ジョブが投入され、本体の状態変更があった場合は（ステップＳ４００）、ＰＤＬ展開処理のコア割り当てが行われる（ステップＳ４０１）。このＰＤＬ展開処理のコア割り当ての詳細については、後述の図９、図１０で説明する。
【００５３】
ＰＤＬ展開処理のコア割り当てが行われると、割り当てられたコア毎にジョブ１〜ジョブｎまでのＰＤＬ展開処理が並列に処理される（ステップＳ４０２、４０３、４０４）。その後、図７に示すようなイベントが発生し、全ＰＤＬ展開処理が完了したか否かを判定する（ステップＳ４０５）。全ＰＤＬ展開処理が完了していない場合（ステップＳ４０５でＮｏ）は、ステップＳ４０６に進み、発生したイベント内容に応じて再コアの割り当てが必要か否かを判定する。ここで、再コアの割り当てが必要でなければ（ステップＳ４０６でＮｏ）、他のイベントの発生を待機し（ステップＳ４０７）、ステップＳ４０６に進んで、再び、イベントにより再コアの割り当てが必要か否かを判定する。再コアの割り当てが必要になった場合は（ステップＳ４０６でＹｅｓ）、ステップＳ４０１に進んでＰＤＬ展開処理のコアの再割り当て処理が行われる。また、上記ステップＳ４０５において、全ＰＤＬ展開処理が完了した場合は（ステップＳ４０５でＹｅｓ）、処理が終了する。
【００５４】
上記ステップＳ４０７において、コアの再割り当てが有効なイベントとしては、（１）あるジョブの展開が終了した場合（つまり、ＰＤＬ展開処理の総数が減ってコアが余る場合）、（２）新規に印刷不可のジョブが判明した場合（つまり、印刷不可ジョブのコアを他に半分する必要がある場合）、（３）あるジョブが印刷可能となる場合（つまり、印刷可能となったジョブにコアを集中させる場合）などがある。また、これ以外にも、ステップＳ４００に示すように、新規ジョブを投入する場合（つまり、新規ジョブのＰＤＬ展開処理にコアを割り当てる場合）や、本体状態が変更した場合（印刷可／不可の状態が変化する可能性のある場合）などがある。
【００５５】
次に、図８のステップＳ４０１における、ＰＤＬ展開処理のコア割り当てについては、図９に示すように、印刷開始可能なジョブがあるか否かを判定し（ステップＳ５００）、印刷開始可能なジョブがある場合は、最初の開始可能ジョブの印刷を開始する（ステップＳ５０１）。そして、印刷を開始したジョブにコアを集中的に割り当てるようにする（ステップＳ５０２）。また、ステップＳ５００において、印刷開始可能なジョブがない場合は（ステップＳ５００でＮｏ）、全ジョブにコアを分散割り当てする（ステップＳ５０３）。このように、印刷開始可能なジョブがある場合は、印刷開始後に、印刷処理よりもＰＤＬ展開処理に時間がかかるため、コアを集中させてＰＤＬ展開処理を最速で行うことで、印刷処理がＰＤＬ展開処理待ちにより、紙に印字する印刷処理が停止するのを防止することができる。また、印刷開始可能なジョブがない場合には、ＰＤＬ展開処理の処理速度を上げる必要がないため、コアを全ジョブに分散させて並列処理する。
【００５６】
また、図９のＰＤＬ展開処理は、ステップＳ６００において、印刷開始可能なジョブがあるか否かを判定し、印刷開始可能なジョブがある場合は（ステップＳ６００でＹｅｓ）、最初の開始可能ジョブの印刷を開始し（ステップＳ６０１）、印刷を開始したジョブにコアを集中的に割り当てるようにする（ステップＳ６０２）。また、ステップＳ６００において、印刷開始可能ジョブがない場合は（ステップＳ６００でＮｏ）、「印刷不可」以外のジョブがあるか否かを判定する（ステップＳ６０３）。印刷不可以外のジョブとは、印刷不可のジョブであると判明していないものであり、印刷可能なものと、印刷不可の可能性があっても未だ判明していないものが含まれる。つまり、印刷不可以外のジョブであれば（ステップＳ６０３でＹｅｓ）、印刷できる可能性があるため、印刷不可以外のジョブにコアを分散割り当てして、ＰＤＬ展開処理を行わせる（ステップＳ６４０）。また、ステップＳ６０３で、印刷不可以外のジョブでない場合、つまり、全てのジョブに印刷不可が判明した場合は（ステップＳ６０３でＮｏ）、ステップＳ６０５において全ジョブにコアを分散割り当てする。これは、ジョブの印刷不可が判明するとＰＤＬ展開処理が中断されるが、全てのジョブで印刷が不可能なため割り当てを変える必要がなく、通常のコア割り当てとなる。
【００５７】
このように、第１の実施の形態によれば、複数の印刷ジョブを順次受け付けて印刷を実行するためのＰＤＬ展開処理を行う場合に、マルチコアを各ジョブに割り当てて分散処理する。しかし、各ジョブで使用するサイズの印刷用紙が切れている場合は、印刷不可となるため、ＰＤＬ展開処理に用いていたコアを他のジョブの処理に割り当てることで、印刷処理全体がより効率的となり、迅速に印刷処理することができる。
【００５８】
また、第１の実施の形態によれば、印刷を開始するジョブがある場合は、当該ジョブにマルチコアを集中させるコア割り当てを行うことで、印刷処理よりも時間のかかるＰＤＬ展開処理の処理能力を高め、印刷処理がＰＤＬ展開処理待ちになることを防ぎ、紙に印字する印刷処理が停止するのを防止することができる。
【００５９】
また、第１の実施の形態によれば、新規ジョブの投入時、装置本体の状態が変更した時、あるジョブの展開処理が終了した時、新規に印刷不可のジョブが判明した時、あるいは、あるジョブが印刷可能になった時に、マルチコアの再割り当てを行うことで、状況に応じて、適切にマルチコアを割り当てることができる。再割り当ての判断を行う際は、常に最新の状態において、画像データの印刷処理が可能か否かを判定することにより、一層適切にマルチコアを割り当てられるようになる。
【００６０】
（第２の実施の形態）
第２の実施の形態にかかる画像形成装置の特徴は、各ジョブのＰＤＬ展開処理を、ＰＤＬ走査処理と、ＰＤＬ展開処理とに分割して実施する点に特徴がある。これにより、一層早く印刷の可／不可の判定を行って、マルチコアの再割り当てを実施することができる。
【００６１】
ここで、図１１は、第２の実施の形態にかかるジョブスキップ処理を説明する図であり、図１２は、第２の実施の形態にかかる印刷処理動作のフロー図であり、図１３は、第２の実施の形態にかかるＰＤＬ展開処理のフロー図であり、図１４は、第１の実施の形態にかかるＰＤＬ展開処理のコア割り当てのフロー図であり、図１５は、本実施の形態にかかる印刷可能判定の一例を示す図である。
【００６２】
以下、図１１を用いて、第２の実施の形態のジョブスキップ処理を説明する。第２の実施の形態のかかる画像形成装置は、図１１に示すように、各ジョブのＰＤＬ展開処理を、画像データの印刷処理が可能か否かを判定するためのデータ走査処理部によるデータ走査と、ＰＤＬ展開処理部とに分けて実施している。つまり、コア１がジョブ１のデータ走査を行い、コア２がジョブ１のＰＤＬ展開処理を行い、コア３がジョブ２のデータ走査を行い、コア４がジョブ２のＰＤＬ展開処理を行うようにコア割り当てが行われている。
【００６３】
まず、コア１によるジョブ１のデータ走査により、２ページ目で印刷不可が判明すると、コア２が行っていたジョブ１の画像データ作成（ＰＤＬ展開処理）も中断させる。ここで、使われなくなったコア１は、ジョブ２のデータ走査を行うコア３と一緒にデータ走査を行う。また、使われなくなったコア２は、ジョブ２の画像データ作成を行うコア４と一緒にＰＤＬ展開処理を行う。そして、一定のページ数（ここでは、３ページ目）まで印刷可能と判断すると、データ走査を行っていたコア１とコア３を開放して、ジョブ２の画像データ作成に集中するようにコアの再割り当てが行われる。これにより、ジョブ２のＰＤＬ展開処理は、ジョブ１〜４を使って高速に処理することができるため、印刷処理が開始されても印刷処理がＰＤＬ展開処理待ちになることを防止することができる。
【００６４】
以下、図１２〜図１４を用いて、第２の実施の形態にかかる動作を説明する。図１２に示すデータ走査処理では、１ページ分のコマンドの走査を行い（ステップＳ７００）、その走査の結果、ページが印刷不可か否かを判定する（ステップＳ７０１）。ページが印刷不可と判定されると（ステップＳ７０１でＹｅｓ）、当該ジョブのデータ走査処理を中断すると共に（ステップＳ７０２）、同じジョブのＰＤＬ展開処理も中断させる（ステップＳ７０３、ステップＳ７０４）。そして、このＰＤＬ展開処理は、再開の指示があるまでは再開されない（ステップＳ７０５）。
【００６５】
また、ステップＳ７０１において、走査の結果、ページが印刷不可でないと判定された場合は（ステップＳ７０１でＮｏ）、ｎページまで走査が済んだか否かを判断する（ステップＳ７０６）。ｎページまで走査が済んだ場合は（ステップＳ７０６でＹｅｓ）、他に印刷が開始されているジョブがないか否かを判定する（ステップＳ７０７）。印刷が開始されているジョブがない場合は（ステップＳ７０７でＹｅｓ）、印刷開始が可能であることを通知する（ステップＳ７０８）。ここで、印刷が開始されるとデータ走査処理は終了するが（ステップＳ７０９でＹｅｓ）、印刷が開始されない場合は（ステップＳ７０９でＮｏ）、ステップＳ７１０に進んで、全ページのデータ走査が完了したか否かを判定する（ステップＳ７１０）。全ページのデータ走査が完了すると処理が終了となるが（ステップＳ７１０でＹｅｓ）、まだ全ページのデータ走査が完了していなければ（ステップＳ７１０でＮｏ）、ステップＳ７００に進んで上記処理を繰り返す。
【００６６】
また、図１３に示す第２の実施の形態にかかるＰＤＬ展開処理は、１ページのコマンドデータをビットマップデータに変換処理する（ステップＳ８００）。そして、ジョブデータが終了したか否かを判断し（ステップＳ８０１）、ジョブデータが終了していなければステップＳ８００に進み（ステップＳ８０１でＮｏ）、ジョブデータが終了していれば（ステップＳ８０１でＹｅｓ）、メインルーチンに戻る。
【００６７】
また、図１４に示す第２の実施の形態にかかるＰＤＬ展開処理は、印刷開始可能なジョブの有無を判断し（ステップＳ９００）、印刷開始可能なジョブが有る場合は（ステップＳ９００でＹｅｓ）、ステップＳ９０１に進んで、最初の開始可能なジョブの印刷を開始し、印刷を開始したジョブのＰＤＬ展開処理にコアを集中して割り当てるようにする（ステップＳ９０２）。また、ステップＳ９００において、印刷開始可能なジョブがない場合は（ステップＳ９００でＮｏ）、ステップＳ９０３で「印刷不可」以外のジョブが有るか否かを判定する。「印刷不可」以外のジョブが有る場合は（ステップＳ９０３でＹｅｓ）、印刷不可以外のジョブのＰＤＬ走査処理とＰＤＬ展開処理にコアを分散割り当てする（ステップＳ９０４）。さらに、ステップＳ９０３において、「印刷不可」以外のジョブがない場合は（ステップＳ９０３でＮｏ）、ステップＳ９０５に進んで、全ジョブのＰＤＬ走査処理とＰＤＬ展開処理にコアを分散割り当てする。
【００６８】
印刷可能判定は、本実施の形態では図１５に示すように、各トレイの用紙が給紙可能か否かを全てのトレイについて判定し、印刷ジョブが要求する用紙が給紙できない状態にあるときは、印刷不可と判定する。
【００６９】
このように、第２の実施の形態によれば、各ジョブのＰＤＬ展開処理を、ＰＤＬ走査処理と、ＰＤＬ展開処理とに分割して実施するようにしたため、印刷可能判定をより早く行えるようになり、マルチコアの再割り当てを迅速に実施することができる。また、ＰＤＬ走査処理による印刷可能判定後は、コアをＰＤＬ展開処理に集中させることができるため、より高速にＰＤＬ展開処理を行うことが可能となり、印刷処理が開始しても印刷処理がＰＤＬ展開処理待ちになることを防止することができる。
【符号の説明】
【００７０】
１０  プリンタ
２０  ホストＰＣ
３０  コントローラ
３１  ホストＩ／Ｆ
３２  ＣＰＵ
３３  プログラムＲＯＭ
３４  ＲＡＭ
３５  フォントＲＯＭ
３６  ＮＶ−ＲＡＭ
３７  パネルＩ／Ｆ
３８  エンジンＩ／Ｆ
３９  オプションＲＡＭ
４０  プリンタエンジン
４０ａ  給紙トレイ
４０ｂ  給紙部
４０ｃ  印刷部
４０ｄ  排紙部
４０ｅ  排紙トレイ
５０  操作パネル
６１  ＰＤＬ展開モジュール
６２  ジョブ管理モジュール
６３  ネットワーク管理モジュール
６４  メモリ管理モジュール
６５  印刷管理モジュール
６６  システム管理モジュール
６７  操作パネル管理モジュール
６８  サービス提供モジュール群
１００  ネットワーク
【先行技術文献】
【特許文献】
【００７１】
【特許文献１】特開２００２−２００８２１号公報
【図１】
2011131433.tif 000003
【図２】
2011131433.tif 000004
【図３】
2011131433.tif 000005
【図４】
2011131433.tif 000006
【図５】
2011131433.tif 000007
【図６】
2011131433.tif 000008
【図７】
2011131433.tif 000009
【図８】
2011131433.tif 000010
【図９】
2011131433.tif 000011
【図１０】
2011131433.tif 000012
【図１１】
2011131433.tif 000013
【図１２】
2011131433.tif 000014
【図１３】
2011131433.tif 000015
【図１４】
2011131433.tif 000016
【図１５】
2011131433.tif 000017
【図１６】
2011131433.tif 000018
【図１７】
2011131433.tif 000019
【図１８】
2011131433.tif 000020
【図１９】
2011131433.tif 000021
【図２０】
2011131433.tif 000022
【図２１】
2011131433.tif 000023