説明

画像形成装置、プログラム、およびコンピュータ読み取り可能な記録媒体

【課題】複数の印刷ジョブを順次受け付け、印刷ジョブの印刷の可否判断をPDL展開処理と印刷処理とに反映させて印刷可能な印刷ジョブを迅速に印刷できるようにする。
【解決手段】CPUが少なくとも3つのマルチコア(コア1、コア2、コア3)で構成され、印刷する用紙サイズがトレイにない場合は給紙不可となり、印刷処理が不可能と判定される。コア1がジョブ1の画像データを作成し、コア2がジョブ2の画像データを作成し、コア3がジョブ3の画像データを作成するように、分散処理が行われる。コア1がジョブ1の画像データを2ページ作成した時点で給紙不可と判定されると、割り当て配分手段がコア1によるジョブ1の画像データ作成を中断させる。受け付け順がジョブ1の次に新しく、給紙不可か判明していないジョブ2の画像データ作成にコア1とコア2を集中させる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ジョブスキップ処理を行う画像形成装置、プログラム、およびコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【0002】
従来、プリンタ等の画像形成装置においては、印刷ジョブに対応する用紙が給紙可能か否かを給紙前に判定し、印刷不可とされたジョブを事前に停止状態にして、印刷可能な後続ジョブを先に印刷する技術は知られている(以下、これをジョブスキップ処理という)。
【0003】
例えば、図16は、従来の印刷処理の説明図であり、図17は、従来の印刷処理の印刷不可エラー発生時の説明図であり、図18は、従来のジョブスキップ処理の説明図である。図16に示すように、従来のプリンタ印刷処理では、PDL(Page Description Language:ページ記述言語)コマンドをビットマップに変換するPDL展開処理と、作成されたビットマップ画像を順次印字する印刷処理の2つがある。各ジョブにおけるPDL展開処理と印刷処理とは非同期となっていて、現在の印刷処理完了を待たずに投入されたPDLコマンドデータに対して、PDL展開処理を次々に実施する。印刷処理は、PDL展開処理で展開済みのビットマップがあれば、それを順次印刷する。しかし、印刷処理の途中で該当サイズの用紙がトレイに無いなど印刷不可エラーがあると、図17に示すように、エラーが解決するまでそれ以降の印刷処理が停止する。そこで、図18に示すように、印刷を開始する前に印刷できないことが判明した場合は、印刷ジョブについて印刷処理を保留し、次のジョブの印刷を可能とするのが従来のジョブスキップ処理であった。
【0004】
続いて、図19〜21を用いて、従来の印刷処理動作を説明する。ここで、図19は、従来のジョブ管理のフロー図であり、図20は、従来のPDL展開のフロー図であり、図21は、従来のジョブスキップ処理のフロー図である。図19に示すように、従来のジョブ管理は、次のジョブデータの有無を判定し(ステップS1000)、次のジョブデータがある場合(ステップS1000でYes)は、PDL展開処理を行うと(ステップS1001)、ステップS1000に進んで次のジョブデータの有無を判定する。次のジョブデータがなくなると(ステップS1000でNo)、処理が終了する。
【0005】
図19のPDL展開処理(ステップS1001)は、図20に示すように、1ジョブにおける1ページのPDLコマンドをビットマップに変換すると(ステップS1100)、1ジョブ内のデータが終了したか否かを判定し(ステップS1101)、データが終了していなければ(ステップS1101でNo)、ステップS1100に進んでビットマップ変換処理を繰り返す。1ジョブ内のデータが終了すると(ステップS1101でYes)、図19のPDL展開処理が終了する。
【0006】
また、図21に示す印刷管理では、PDL展開処理された印刷ジョブが印刷可能か否かを判定し(ステップS1200)、印刷可能であれば(ステップS1200でYes)、印刷処理を行い(ステップS1201)、ステップS1202に進み、次の印刷ジョブの有無を判定する(ステップS1202)。次の印刷ジョブがある場合は(ステップS1202でYes)、ステップS1200に進んで、印刷ジョブが印刷可能か否かを判定する。印刷不可能な場合(ステップS1200でNo)は、印刷処理を行わずにスキップして、次の印刷ジョブの有無を判定する(ステップS1202)。このように、従来の画像形成装置では、印刷を開始する前に印刷できないことが判明すると、印刷ジョブについての印刷処理を保留し、次のジョブの印刷を可能とするジョブスキップ処理を行っている。
【0007】
さらに、特許文献1では、受け取った印刷データを圧縮して記憶部に格納する際に、ジョブ制御部により印刷部の印刷資源が印刷データの条件を充たすか否かをチェックし、印刷処理を行っている。1ページも画像形成することなく資源不足が判明した場合は、後続ジョブによる追い越しを可能としている。1ページでも画像形成した場合は、印刷部を開放せずに資源の回復を待つことにより、複数のジョブの画像形成出力の重なりを防止している。また、ジョブの追い越しを認めることによって、装置の有効利用と、生産性の向上とを図っている。このように、特許文献1には、ジョブスキップ処理に関する記載があり、PDL展開処理については、順次展開を行い、印刷処理において印刷不可の場合は印刷保留処理を行う構成が開示されている。
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上記図を用いて説明した従来の画像形成装置にあっては、印刷開始前に印刷できないことが判明すると、印刷ジョブについての印刷処理が保留され、次のジョブの印刷を可能とするジョブスキップ処理が行われている。このため、従来のジョブスキップ処理は、印刷処理の可否に関係なくPDL展開処理を行い、印刷開始前に印刷できないことが判明してから当該印刷不可ジョブをスキップするので、印刷できない印刷ジョブをPDL展開処理する時間が無駄となり、その分印刷可能な他の印刷ジョブの印刷が遅れるという問題があった。
【0009】
また、上記特許文献1に記載された技術にあっては、PDL展開処理が投入されたジョブから順次実施し、追い越しの要否の判断を行っている。このため、追い越しが必要と判断してから次のジョブの処理が開始されるため、追い越し時における印刷開始が遅くなるという問題があった。
【0010】
本発明は、上記に鑑みてなされたものであって、複数の印刷ジョブを順次受け付けている状況で、印刷ジョブの印刷の可否判断をPDL展開処理と印刷処理とに反映させ、印刷可能な印刷ジョブを迅速に印刷することができる画像形成装置、プログラム、およびコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【0011】
上述した課題を解決し、目的を達成するために、本発明にかかる画像形成装置は、複数の印刷ジョブを順次受け付けて印刷を実行するための画像処理を行う画像形成装置であって、受け付けた前記複数の印刷ジョブのPDLデータを印刷可能な画像データに展開処理する複数の処理手段と、前記複数の処理手段で展開処理される画像データの印刷処理が可能か否かを判定する印刷処理判定手段と、前記複数の処理手段による処理状況と、前記印刷処理判定手段による判定結果とに基づいて、前記画像データの展開処理を前記複数の処理手段を用いて並行処理、あるいは、集中処理させるように前記複数の処理手段の割り当てを配分する割り当て配分手段と、を備え、前記割り当て配分手段は、印刷を開始するジョブがある場合には、当該ジョブに前記複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、前記複数の処理手段を均等に割り当てることを特徴とする。
【0012】
また、本発明にかかるプログラムは、コンピュータを、受け付けた複数の印刷ジョブのPDLデータを印刷可能な画像データに展開処理する複数の処理手段と、前記複数の処理手段で展開処理される画像データの印刷処理が可能か否かを判定する印刷処理判定手段と、前記複数の処理手段による処理状況と、前記印刷処理判定手段による判定結果とに基づいて、前記画像データの展開処理を前記複数の処理手段を用いて並行処理、あるいは、集中処理させるように前記複数の処理手段の割り当てを配分する割り当て配分手段と、として機能させ、前記割り当て配分手段を、印刷を開始するジョブがある場合には、当該ジョブに前記複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、複数の処理手段を均等に割り当てるように機能させる。
【0013】
また、本発明にかかる記録媒体は、前記プログラムを記録したコンピュータ読み取り可能な記録媒体である。
【発明の効果】
【0014】
本発明によれば、複数の処理手段によって、受け付けた複数の印刷ジョブのPDL展開処理を行い、印刷処理判定手段により、PDL展開処理される画像データの印刷処理が可能か否かを判定する。割り当て配分手段は、複数の処理手段による処理状況と、印刷処理判定手段による判定結果とに基づいて、印刷を開始するジョブがある場合には、当該ジョブに複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、複数の処理手段を均等に割り当てる。このため、PDL展開処理の途中で印刷処理判定手段により当該ジョブの印刷処理が不可能と判定されると、当該ジョブのPDL展開処理を中止し、中止した処理手段を印刷開始ジョブのPDL展開処理に割り当てることで、PDL展開処理を優先的かつ迅速に行うことができるという効果を奏する。印刷処理も処理手段を集中させることにより、効率的な印刷処理が実現できるという効果を奏する。また、印刷を開始したジョブがない場合は、ジョブ間に優先度の差がないため、複数の処理手段を均等に割り当てて、並行処理させることができるという効果を奏する。
【図面の簡単な説明】
【0015】
【図1】図1は、第1の実施の形態にかかるプリンタを含む印刷システムの構成を示すブロック図である。
【図2】図2は、第1の実施の形態にかかるプリンタの構成を示すブロック図である。
【図3】図3は、図2のプログラムROMに記憶されたプログラムを構成するモジュールの構成図である。
【図4】図4は、第1の実施の形態にかかるジョブスキップ処理を説明する図である。
【図5】図5は、第1の実施の形態にかかるPDL展開処理のフロー図である。
【図6】図6は、第1の実施の形態にかかるPDL展開処理の他のフロー図である。
【図7】図7は、各イベントの理由を説明する図である。
【図8】図8は、第1の実施の形態にかかる印刷処理動作のフロー図である。
【図9】図9は、第1の実施の形態にかかるPDL展開処理のコア割り当てのフロー図である。
【図10】図10は、第1の実施の形態にかかるPDL展開処理のコア割り当ての他のフロー図である。
【図11】図11は、第2の実施の形態にかかるジョブスキップ処理を説明する図である。
【図12】図12は、第2の実施の形態にかかる印刷処理動作のフロー図である。
【図13】図13は、第2の実施の形態にかかるPDL展開処理のフロー図である。
【図14】図14は、第1の実施の形態にかかるPDL展開処理のコア割り当てのフロー図である。
【図15】図15は、本実施の形態にかかる印刷可能判定の一例を示す図である。
【図16】図16は、従来の印刷処理の説明図である。
【図17】図17は、従来の印刷処理の印刷不可エラー発生時の説明図である。
【図18】図18は、従来のジョブスキップ処理の説明図である。
【図19】図19は、従来のジョブ管理のフロー図である。
【図20】図20は、従来のPDL展開のフロー図である。
【図21】図21は、従来のジョブスキップ処理のフロー図である。
【発明を実施するための形態】
【0016】
以下に添付図面を参照して、この発明にかかる画像形成装置、プログラム、およびコンピュータ読み取り可能な記録媒体の最良な実施の形態を詳細に説明する。以下の実施の形態では、本発明の画像形成装置をレーザプリンタに適用した例を示す。但し、レーザプリンタに限られず、ファクシミリ、スキャナ機能やコピー、ファックス、プリンタなどの画像処理を行うものであれば、本発明を適用することができる。
【0017】
(第1の実施の形態)
図1は、本発明の第1の実施の形態にかかるプリンタを含む印刷システムの構成を示すブロック図である。本第1の実施の形態にかかる印刷システムは、プリンタ10、および、複数のパーソナルコンピュータ等のホストPC20を有して構成される。また、プリンタ10とホストPC20とは、インターネット等のネットワーク100により接続される。プリンタ10は、ネットワーク100を介してホストPC20から送信されたPDLデータを受信し、受信したPDLデータをビットマップに変換して、印刷処理を実行する。
【0018】
図2は、本発明の第1の実施の形態にかかるプリンタの構成を示すブロック図である。本第1の実施の形態にかかるプリンタ10は、大別すると、コントローラ30、プリンタエンジン40、および操作パネル50を備える。また、本第1の実施の形態にかかるプリンタ10は、上述したように、ネットワーク100を介して各種データ等を送受信するホストPC20と接続されている。
【0019】
コントローラ30は、操作パネル50、ホストPC20、もしくはネットワーク100からの制御信号にしたがって、ホストPC20からの印字データを、ビデオデータに変換し、当該ビデオデータを示すビデオ信号および制御信号をプリンタエンジン40へ出力する制御機構の総称である。
【0020】
操作パネル50は、プリンタ10の状態を示す表示部、およびプリンタ10のモード、フォント等を切替えるスイッチ部などからなる。また、蓄積された文書の一覧画面を表示し、選択した文書の印刷や消去を指示する。また、操作パネル50は、プリンタ10のモードおよびフォントの切り替え、文書の印刷や消去の指示等を設定する制御信号をコントローラ30に出力する。さらに、操作パネル50は、画像を印刷する用紙の用紙サイズを印刷条件として受け付ける。
【0021】
プリンタエンジン40は、画像印刷に際して、コントローラ30からのビデオ信号および制御信号により、感光体上に静電潜像を作り、現像し、また給紙部40bより転写紙を給紙し、転写および定着し、画像を形成する。本第1の実施の形態にかかるプリンタエンジン40は、給紙トレイ部40a、給紙部40b、印刷部40c、排紙部40d、および排紙トレイ40eを備えている。
【0022】
給紙トレイ部40aは、複数の給紙トレイを有し、SEF方向のA4、LEF方向のA5などの複数の用紙サイズの用紙を給紙可能な給紙先であるロール紙、SEF方向のA3、LEF方向のA4などの複数の用紙サイズの用紙を給紙可能な給紙先であるロール紙、LEF方向のA4の用紙を給紙可能な給紙先であるカット紙、およびLEF方向のB5の用紙を給紙可能な給紙先であるカット紙などが各給紙トレイに収納されている。
【0023】
給紙部40bは、コントローラ30からの指示に応じて、印刷部40cに給紙する用紙を選択して、選択した用紙を印刷部40cに給紙する。印刷部40cは、所定の記録方式、例えば、電子写真方式等で、コントローラ30から入力されるビデオ信号および制御信号により感光体上に静電潜像を作り、現像し、現像された画像を給紙された用紙に転写および定着させて、画像を形成する。排紙部40dは、画像が記録された用紙を排紙トレイ40eに排出する。排紙トレイ40eは、排紙部40dにより排紙された用紙を蓄積する。
【0024】
次に、本第1の実施の形態にかかるコントローラ30の詳細な構成について説明する。本第1の実施の形態にかかるコントローラ30は、ホストI/F31、プログラムROM(Read Only Memory)33、フォントROM35、パネルI/F37、CPU(Central Processing Unit)32、RAM(Random Access Memory)34、NV(Non Volatile)−RAM36、エンジンI/F38等のようなモジュールで構成されている。なお、コントローラ30を構成する各モジュールは、バスを介して接続されている。
【0025】
ホストI/F31は、ホストPC20からプリンタ10への制御信号およびデータ、およびプリンタ10からホストPC20へのステータス信号のインターフェイスである。ホストインタI/F31を通してホストPC20から送られてきたデータは、CPU32により印字データおよび印字制御データとその他に分けられ、印字データおよび印字制御データは、制御コードに変換されてRAM34に記憶される。ホストPC20からのプリント命令、またはホストPC20から受け取ったデータが1ページ分を超えた場合、コントローラ30は、まず中間コードをビデオデータに変換し、それが終了したらエンジンI/F38を通してプリンタエンジン40にプリントスタートの命令を出す。以上のような一連の流れにより、ホストPC20からの印字データがプリンタエンジン40を介して印字される。
【0026】
パネルI/F37は、操作パネル50からコントローラ30への制御信号のインターフェイスである。つまり、プリンタ10の状態、モード、フォント等の切替えを行うための信号のインターフェイスである。エンジンI/F38は、コントローラ30からプリンタエンジン40への制御信号やビデオ信号、およびプリンタエンジン40からコントローラ30へのステータス信号のインターフェイスである。フォントROM35は、印字に使用されるさまざまな種類のフォントを有する。
【0027】
NV−RAM36は、電源を切っても保持したいデータを格納しておく為の不揮発性RAMである。
【0028】
RAM34は、電源を切ってしまうとデータが消えてしまう揮発性の記憶デバイスであり、CPU32が処理するときのワークメモリ、ホストからのデータをページ単位に管理して一時的に記憶するバッファ、およびバッファに記憶されたデータを実際の印字パターンに変換し、ビデオデータを記憶するビットマップメモリ等に使用される。
【0029】
なお、本第1の実施の形態のプリンタ10で実行されるプログラムは、プログラムROM33に予め組み込まれて提供されるものとしたが、これに限るものではない。例えば、プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0030】
さらに、本第1の実施の形態のプリンタ10で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でNV−RAM36にダウンロードさせることにより提供するように構成しても良い。また、本第1の実施の形態のプリンタ10で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0031】
CPU32は、プリンタ10の主要部であって各部を集中的に制御するものであり、プログラムROM33に記憶されているプログラムに従って、ホストPC20からのデータ(印字データ、制御信号)等の処理を実施する(印刷処理判定手段、データ走査処理部、PDL展開処理部、割り当て配分手段、再割り当て判定手段などを構成している。)。本第1の実施の形態にかかる複数の処理手段としてのCPU32は、マルチコアで構成された点に特徴がある。マルチコア(Multiple core、Multi-core)技術とは、1つのプロセッサ・パッケージ内に複数のプロセッサ・コアを封入した技術である。マルチコアを1つのプロセッサとして集中的に使用したり、複数のプロセッサとして並列処理を行ったりすることが可能となる。なお、本第1の実施の形態では、マルチコアを用いて実施したが、必ずしもこれに限定されず、複数のプロセッサを使って、集中処理あるいは並列処理を行うように構成することも可能である。処理対象としては、PDLデータを展開処理するPDL展開処理の他、展開後のビットマップデータを用いて印刷する印刷処理などがある。
【0032】
このシステム全体の動作を制御するCPU32は、このシステムの主記憶装置として使用されるプログラムROM33に記憶されているプログラムに基づいて各種処理を実行する。
【0033】
ここで、CPU32がプログラムROM33に記憶されたプログラムを構成するモジュールについて説明する。図3は、図2のプログラムROMに記憶されたプログラムを構成するモジュールの構成図である。
【0034】
プログラムROM33に記憶されたプログラムを構成するモジュールは、大別すると、PDL展開モジュール61、ジョブ管理モジュール62、およびサービス提供モジュール群68を有して構成される。なお、サービス提供モジュール群68は、ネットワーク管理モジュール63、メモリ管理モジュール64、印刷管理モジュール65、システム管理モジュール66、および操作パネル管理モジュール67による各種サービスを提供するモジュールの総称である。サービス提供モジュール群68に含まれる各モジュールは、互いに通信をし合ってプリンタ10の基本動作を分担し、協力して上位層のモジュールからの要求に対応する。
【0035】
PDL展開モジュール61は、プリンタ10がホストPC20から受信したPDLデータ(印字データ)を解析して印刷画像(ビデオデータ)を生成するモジュールである。PDL展開モジュール61は、ジョブ管理モジュール62の仲介によりネットワーク管理モジュール63よりPDLデータを受け取り、同じくジョブ管理モジュール62の仲介によりメモリ管理モジュール64から確保したメモリ(RAM34)上に印刷画像を生成することが主な責務である。また、印刷画像生成の際には機器構成情報、例えば給紙トレイ・排紙トレイの構成や、給紙トレイに収納された給紙先から給紙可能な用紙の用紙サイズといった情報が必要になるが、これらの情報はジョブ管理モジュール62の仲介によりシステム管理モジュール66から取得する。
【0036】
ジョブ管理モジュール62は、PDL処理全般に関わる制御を行っており、主にPDL展開モジュール61側が必要とする処理を仲介して他モジュールに対して要求を行うモジュールである。ネットワーク管理モジュール63が受け取ったPDLデータをPDL展開モジュール61へ受け渡す仲介、PDL展開モジュール61がシステム管理モジュール66により管理される機器構成情報を取得する仲介、PDL展開モジュール61がメモリ管理モジュール64から必要なメモリ(RAM34)を確保する仲介、PDL展開モジュール61が作成した印刷画像に関し印刷管理モジュール65に対する印刷要求の発行などを行う。
【0037】
メモリ管理モジュール64は、メモリ(RAM34、NV−RAM36)および外部記憶装置を管理するモジュールであり、他モジュールの要求に基づいてメモリおよび外部記憶装置の割り当て・解放を行うことが主な責務である。
【0038】
印刷管理モジュール65は、PDL展開モジュール61が生成した印刷画像の印刷処理に関する制御を行うモジュールである。メモリ管理モジュール64が管理するメモリ(RAM34、NV−RAM36)/外部記憶装置内に格納された印刷画像を、プリンタエンジン40に印刷させるために必要な各種処理を実行するのが主な責務であり、給排紙命令の発行、後処理実行命令の発行、印刷に関わるエラー状態の検知と他モジュールへの通知などを行う。
【0039】
ネットワーク管理モジュール63は、ネットワーク100の管理、ネットワーク100を介してホストPC20から受信した制御信号およびデータの処理、およびネットワーク100を介してプリンタ10からホストPC20へのステータス信号の送信を制御するモジュールである。ホストPC10からのデータの受信の際に欠かせない通信プロトコル(ftpやlprなど)を制御してネットワーク100からデータを受信し、他モジュールへ受信したデータを受け渡すことが主な責務である。
【0040】
操作パネル管理モジュール67は、操作パネル50の表示およびユーザによるパネル操作の管理を行うモジュールである。他モジュールからの要求に基づいて、プリンタ10の状態の表示、システム管理モジュール66が管理する機器設定の変更を行うメニュー画面の表示、エラー画面を表示してユーザに適切な処置を促すことなどが主な責務である。また、メニュー画面やエラー画面などでボタンを表示した際には、押下されたボタンを認識して他モジュールへ通知することも行う。
【0041】
次に、プリンタ印刷処理において、印刷不可ジョブのジョブスキップ処理について説明する。図4は、第1の実施の形態にかかるジョブスキップ処理を説明する図である。ここでは、図4と比較する比較例として、上記図16〜図18を参照して説明する。
【0042】
まず、比較例1におけるプリンタ印刷処理は、図16に示すように、PDLコマンドからビットマップに画像展開するPDL展開処理と、作成されたビットマップ画像を順次実際に印字する、印刷処理との2つに分かれている。印刷処理は、PDL展開処理より処理時間が通常長いため、印刷処理を待たずに次のジョブのPDL展開処理が次々に実施される。また、図17の比較例2に示すように、印刷不可エラーが発生すると、エラーが解決されるまで、それ以降の印刷処理が全て停止する。そこで、図18の比較例1のジョブスキップでは、印刷不可エラーとなるジョブ1の印刷を予め保留し、印刷可能なジョブ2から先に印刷することで印刷処理が全て停止するのを防止していた。
【0043】
これに対し、図4を用いて、本第1の実施の形態のジョブスキップ処理を説明する。図4に示すように、本第1の実施の形態にかかる画像形成装置は、CPUが少なくとも3つのマルチコア(コア1、コア2、コア3)で構成されており、印刷する用紙サイズがトレイにない場合は給紙不可となり、印刷処理が不可能と判定される。図4では、当初、コア1がジョブ1の画像データを作成し、コア2がジョブ2の画像データを作成し、コア3がジョブ3の画像データを作成するように、分散処理が行われている。
【0044】
この状態で、印刷処理判定手段は、コア1がジョブ1の画像データを2ページ作成した時点で給紙不可と判定すると、割り当て配分手段がコア1によるジョブ1の画像データ作成を中断させる。そして、その割り当て配分手段は、受け付け順がジョブ1の次に新しく、給紙が可能な(給紙不可が判明していない状態も含む)ジョブ2の画像データ作成にコア1とコア2を集中させる。これにより、印刷開始が決定するまでの画像データの作成時間を短縮することができる。
【0045】
また、印刷処理判定手段は、コア1およびコア2がジョブ2の画像データを3ページ作成した時点で給紙不可と判定すると、割り当て配分手段がコア1およびコア2によるジョブ2の画像データの作成を中断させる。そして、割り当て配分手段は、受け付け順がジョブ2の次に新しく、給紙可能な(給紙不可が判明していない状態も含む)ジョブ3の画像データ作成にコア1、コア2、コア3を集中させる。これにより、印刷開始が決定するまでの画像データ作成時間を大幅に短縮することができる。ジョブ3では、3ページ目まで給紙可能であることが判明したため、印刷処理を開始する。印刷開始後のジョブ3は、コア1〜3を集中させて画像データを作成するため、印刷処理よりも時間のかかる画像データ作成処理を印刷処理に間に合わせることが可能となって、効率良く、迅速に印刷処理することができる。
【0046】
次に、印刷ジョブを受け付けたPDLデータを、印刷可能な画像データに展開処理するPDL展開処理動作について、図5を用いて説明する。図5は、第1の実施の形態にかかるPDL展開処理のフロー図であり、図6は、第1の実施の形態にかかるPDL展開処理の他のフロー図である。まず、図5に示すPDL展開処理では、図3のPDL展開モジュール61により、1ページ単位でコマンドデータをビットマップデータに変換する(ステップS200)。システム管理モジュール66は、PDL展開モジュール61により受信したPDLデータの用紙サイズと、検索された用紙の用紙サイズとが一致せず、印刷不可と判断された場合は(ステップS201でYes)、ステップS202においてPDL展開処理を中断し(ステップS202)、ステップS203による再開指示があるまで処理を中断する。
【0047】
また、システム管理モジュール66は、PDL展開モジュール61により受信したPDLデータの用紙サイズと、検索された用紙の用紙サイズとが一致し、印刷可能と判断された場合は(ステップS201でNo)、PDL展開処理を継続するため、ステップS204でPDL画像作成が完了したか否かを判断し、PDL画像作成が完了していなければ(ステップS204でNo)となり、ステップS200に進み、作成ページの印刷が可能か否かを判断しながらPDL展開処理を繰り返す。ステップS204でPDL画像作成が完了していれば(ステップS204でYes)、メインルーチンに戻る。
【0048】
また、図6に示すPDL展開処理は、図5の発展形であり、1つのジョブのPDL展開処理が完了してから印刷するのではなく、特定のmページまで印刷が可能であり、且つ他に印刷中のジョブがない場合に、印刷可能とするものである。まず、図3のPDL展開モジュール61により、1ページ単位でコマンドデータをビットマップデータに変換する(ステップS300)。システム管理モジュール66は、PDL展開モジュール61により受信したPDLデータの用紙サイズと、検索された用紙の用紙サイズとが一致せず、印刷不可と判断された場合は(ステップS301でYes)、ステップS302においてPDL展開処理が中断され(ステップS302)、ステップS303による再開指示があるまで処理を中断する。
【0049】
また、システム管理モジュール66は、PDL展開モジュール61により受信したPDLデータの用紙サイズと、検索された用紙の用紙サイズとが一致し、印刷可能と判断された場合は(ステップS301でNo)、PDL展開処理が継続され、ステップS304でPDL画像作成がmページまで作成済みか否かを判定する。mページまで作成済みの場合は(ステップS304でYes)、他に印刷を開始しているジョブがないか否かを判定して、他に印刷を開始しているジョブがない場合は(ステップS305でYes)、印刷開始可能であることを通知して(ステップS306)、ステップS307に進む。また、他に印刷を開始しているジョブがある場合も(ステップS305でNo)、ステップS307に進む。さらに、ステップS304において、ビットマップデータがmページまで作成されていない場合も(ステップS304でNo)、ステップS307に進む。ステップS307では、PDL画像作成が完了したか否かを判断し、PDL画像作成が完了していなければ(ステップS307でNo)となり、ステップS300に進む。ステップS307でPDL画像作成が完了していれば(ステップS307でYes)、メインルーチンに戻る。
【0050】
このように、図6に示すPDL展開処理は、mページまでで印刷可能かを判断することにより、印刷可能な最低枚数と印刷開始までの待機時間とを調整することで、より適切なジョブスキップ判断を実施することができる。
【0051】
また、図7および図8は、上記図5および図6の各PDL展開処理を管理する管理処理を説明する図であり、図9および図10におけるマルチコア割り当ての結果によって、図5および図6で中断状態に移行していた中断時点からPDL展開処理を継続することが可能となる。ここで、図7は、各イベントの理由を説明する図であり、図8は、第1の実施の形態にかかる印刷処理動作のフロー図であり、図9は、第1の実施の形態にかかるPDL展開処理のコア割り当てのフロー図であり、図10は、第1の実施の形態にかかるPDL展開処理のコア割り当ての他のフロー図である。
【0052】
図8では、マルチコアにより、現在のジョブ数に対応する複数のPDL展開処理にコアを分散して処理が行われる。また、並行処理されるPDL展開処理のイベントによって、PDL展開処理のコア再配分が必要になった場合には、割り当ての見直しが行われる。まず、新規ジョブが投入され、本体の状態変更があった場合は(ステップS400)、PDL展開処理のコア割り当てが行われる(ステップS401)。このPDL展開処理のコア割り当ての詳細については、後述の図9、図10で説明する。
【0053】
PDL展開処理のコア割り当てが行われると、割り当てられたコア毎にジョブ1〜ジョブnまでのPDL展開処理が並列に処理される(ステップS402、403、404)。その後、図7に示すようなイベントが発生し、全PDL展開処理が完了したか否かを判定する(ステップS405)。全PDL展開処理が完了していない場合(ステップS405でNo)は、ステップS406に進み、発生したイベント内容に応じて再コアの割り当てが必要か否かを判定する。ここで、再コアの割り当てが必要でなければ(ステップS406でNo)、他のイベントの発生を待機し(ステップS407)、ステップS406に進んで、再び、イベントにより再コアの割り当てが必要か否かを判定する。再コアの割り当てが必要になった場合は(ステップS406でYes)、ステップS401に進んでPDL展開処理のコアの再割り当て処理が行われる。また、上記ステップS405において、全PDL展開処理が完了した場合は(ステップS405でYes)、処理が終了する。
【0054】
上記ステップS407において、コアの再割り当てが有効なイベントとしては、(1)あるジョブの展開が終了した場合(つまり、PDL展開処理の総数が減ってコアが余る場合)、(2)新規に印刷不可のジョブが判明した場合(つまり、印刷不可ジョブのコアを他に半分する必要がある場合)、(3)あるジョブが印刷可能となる場合(つまり、印刷可能となったジョブにコアを集中させる場合)などがある。また、これ以外にも、ステップS400に示すように、新規ジョブを投入する場合(つまり、新規ジョブのPDL展開処理にコアを割り当てる場合)や、本体状態が変更した場合(印刷可/不可の状態が変化する可能性のある場合)などがある。
【0055】
次に、図8のステップS401における、PDL展開処理のコア割り当てについては、図9に示すように、印刷開始可能なジョブがあるか否かを判定し(ステップS500)、印刷開始可能なジョブがある場合は、最初の開始可能ジョブの印刷を開始する(ステップS501)。そして、印刷を開始したジョブにコアを集中的に割り当てるようにする(ステップS502)。また、ステップS500において、印刷開始可能なジョブがない場合は(ステップS500でNo)、全ジョブにコアを分散割り当てする(ステップS503)。このように、印刷開始可能なジョブがある場合は、印刷開始後に、印刷処理よりもPDL展開処理に時間がかかるため、コアを集中させてPDL展開処理を最速で行うことで、印刷処理がPDL展開処理待ちにより、紙に印字する印刷処理が停止するのを防止することができる。また、印刷開始可能なジョブがない場合には、PDL展開処理の処理速度を上げる必要がないため、コアを全ジョブに分散させて並列処理する。
【0056】
また、図9のPDL展開処理は、ステップS600において、印刷開始可能なジョブがあるか否かを判定し、印刷開始可能なジョブがある場合は(ステップS600でYes)、最初の開始可能ジョブの印刷を開始し(ステップS601)、印刷を開始したジョブにコアを集中的に割り当てるようにする(ステップS602)。また、ステップS600において、印刷開始可能ジョブがない場合は(ステップS600でNo)、「印刷不可」以外のジョブがあるか否かを判定する(ステップS603)。印刷不可以外のジョブとは、印刷不可のジョブであると判明していないものであり、印刷可能なものと、印刷不可の可能性があっても未だ判明していないものが含まれる。つまり、印刷不可以外のジョブであれば(ステップS603でYes)、印刷できる可能性があるため、印刷不可以外のジョブにコアを分散割り当てして、PDL展開処理を行わせる(ステップS640)。また、ステップS603で、印刷不可以外のジョブでない場合、つまり、全てのジョブに印刷不可が判明した場合は(ステップS603でNo)、ステップS605において全ジョブにコアを分散割り当てする。これは、ジョブの印刷不可が判明するとPDL展開処理が中断されるが、全てのジョブで印刷が不可能なため割り当てを変える必要がなく、通常のコア割り当てとなる。
【0057】
このように、第1の実施の形態によれば、複数の印刷ジョブを順次受け付けて印刷を実行するためのPDL展開処理を行う場合に、マルチコアを各ジョブに割り当てて分散処理する。しかし、各ジョブで使用するサイズの印刷用紙が切れている場合は、印刷不可となるため、PDL展開処理に用いていたコアを他のジョブの処理に割り当てることで、印刷処理全体がより効率的となり、迅速に印刷処理することができる。
【0058】
また、第1の実施の形態によれば、印刷を開始するジョブがある場合は、当該ジョブにマルチコアを集中させるコア割り当てを行うことで、印刷処理よりも時間のかかるPDL展開処理の処理能力を高め、印刷処理がPDL展開処理待ちになることを防ぎ、紙に印字する印刷処理が停止するのを防止することができる。
【0059】
また、第1の実施の形態によれば、新規ジョブの投入時、装置本体の状態が変更した時、あるジョブの展開処理が終了した時、新規に印刷不可のジョブが判明した時、あるいは、あるジョブが印刷可能になった時に、マルチコアの再割り当てを行うことで、状況に応じて、適切にマルチコアを割り当てることができる。再割り当ての判断を行う際は、常に最新の状態において、画像データの印刷処理が可能か否かを判定することにより、一層適切にマルチコアを割り当てられるようになる。
【0060】
(第2の実施の形態)
第2の実施の形態にかかる画像形成装置の特徴は、各ジョブのPDL展開処理を、PDL走査処理と、PDL展開処理とに分割して実施する点に特徴がある。これにより、一層早く印刷の可/不可の判定を行って、マルチコアの再割り当てを実施することができる。
【0061】
ここで、図11は、第2の実施の形態にかかるジョブスキップ処理を説明する図であり、図12は、第2の実施の形態にかかる印刷処理動作のフロー図であり、図13は、第2の実施の形態にかかるPDL展開処理のフロー図であり、図14は、第1の実施の形態にかかるPDL展開処理のコア割り当てのフロー図であり、図15は、本実施の形態にかかる印刷可能判定の一例を示す図である。
【0062】
以下、図11を用いて、第2の実施の形態のジョブスキップ処理を説明する。第2の実施の形態のかかる画像形成装置は、図11に示すように、各ジョブのPDL展開処理を、画像データの印刷処理が可能か否かを判定するためのデータ走査処理部によるデータ走査と、PDL展開処理部とに分けて実施している。つまり、コア1がジョブ1のデータ走査を行い、コア2がジョブ1のPDL展開処理を行い、コア3がジョブ2のデータ走査を行い、コア4がジョブ2のPDL展開処理を行うようにコア割り当てが行われている。
【0063】
まず、コア1によるジョブ1のデータ走査により、2ページ目で印刷不可が判明すると、コア2が行っていたジョブ1の画像データ作成(PDL展開処理)も中断させる。ここで、使われなくなったコア1は、ジョブ2のデータ走査を行うコア3と一緒にデータ走査を行う。また、使われなくなったコア2は、ジョブ2の画像データ作成を行うコア4と一緒にPDL展開処理を行う。そして、一定のページ数(ここでは、3ページ目)まで印刷可能と判断すると、データ走査を行っていたコア1とコア3を開放して、ジョブ2の画像データ作成に集中するようにコアの再割り当てが行われる。これにより、ジョブ2のPDL展開処理は、ジョブ1〜4を使って高速に処理することができるため、印刷処理が開始されても印刷処理がPDL展開処理待ちになることを防止することができる。
【0064】
以下、図12〜図14を用いて、第2の実施の形態にかかる動作を説明する。図12に示すデータ走査処理では、1ページ分のコマンドの走査を行い(ステップS700)、その走査の結果、ページが印刷不可か否かを判定する(ステップS701)。ページが印刷不可と判定されると(ステップS701でYes)、当該ジョブのデータ走査処理を中断すると共に(ステップS702)、同じジョブのPDL展開処理も中断させる(ステップS703、ステップS704)。そして、このPDL展開処理は、再開の指示があるまでは再開されない(ステップS705)。
【0065】
また、ステップS701において、走査の結果、ページが印刷不可でないと判定された場合は(ステップS701でNo)、nページまで走査が済んだか否かを判断する(ステップS706)。nページまで走査が済んだ場合は(ステップS706でYes)、他に印刷が開始されているジョブがないか否かを判定する(ステップS707)。印刷が開始されているジョブがない場合は(ステップS707でYes)、印刷開始が可能であることを通知する(ステップS708)。ここで、印刷が開始されるとデータ走査処理は終了するが(ステップS709でYes)、印刷が開始されない場合は(ステップS709でNo)、ステップS710に進んで、全ページのデータ走査が完了したか否かを判定する(ステップS710)。全ページのデータ走査が完了すると処理が終了となるが(ステップS710でYes)、まだ全ページのデータ走査が完了していなければ(ステップS710でNo)、ステップS700に進んで上記処理を繰り返す。
【0066】
また、図13に示す第2の実施の形態にかかるPDL展開処理は、1ページのコマンドデータをビットマップデータに変換処理する(ステップS800)。そして、ジョブデータが終了したか否かを判断し(ステップS801)、ジョブデータが終了していなければステップS800に進み(ステップS801でNo)、ジョブデータが終了していれば(ステップS801でYes)、メインルーチンに戻る。
【0067】
また、図14に示す第2の実施の形態にかかるPDL展開処理は、印刷開始可能なジョブの有無を判断し(ステップS900)、印刷開始可能なジョブが有る場合は(ステップS900でYes)、ステップS901に進んで、最初の開始可能なジョブの印刷を開始し、印刷を開始したジョブのPDL展開処理にコアを集中して割り当てるようにする(ステップS902)。また、ステップS900において、印刷開始可能なジョブがない場合は(ステップS900でNo)、ステップS903で「印刷不可」以外のジョブが有るか否かを判定する。「印刷不可」以外のジョブが有る場合は(ステップS903でYes)、印刷不可以外のジョブのPDL走査処理とPDL展開処理にコアを分散割り当てする(ステップS904)。さらに、ステップS903において、「印刷不可」以外のジョブがない場合は(ステップS903でNo)、ステップS905に進んで、全ジョブのPDL走査処理とPDL展開処理にコアを分散割り当てする。
【0068】
印刷可能判定は、本実施の形態では図15に示すように、各トレイの用紙が給紙可能か否かを全てのトレイについて判定し、印刷ジョブが要求する用紙が給紙できない状態にあるときは、印刷不可と判定する。
【0069】
このように、第2の実施の形態によれば、各ジョブのPDL展開処理を、PDL走査処理と、PDL展開処理とに分割して実施するようにしたため、印刷可能判定をより早く行えるようになり、マルチコアの再割り当てを迅速に実施することができる。また、PDL走査処理による印刷可能判定後は、コアをPDL展開処理に集中させることができるため、より高速にPDL展開処理を行うことが可能となり、印刷処理が開始しても印刷処理がPDL展開処理待ちになることを防止することができる。
【符号の説明】
【0070】
10 プリンタ
20 ホストPC
30 コントローラ
31 ホストI/F
32 CPU
33 プログラムROM
34 RAM
35 フォントROM
36 NV−RAM
37 パネルI/F
38 エンジンI/F
39 オプションRAM
40 プリンタエンジン
40a 給紙トレイ
40b 給紙部
40c 印刷部
40d 排紙部
40e 排紙トレイ
50 操作パネル
61 PDL展開モジュール
62 ジョブ管理モジュール
63 ネットワーク管理モジュール
64 メモリ管理モジュール
65 印刷管理モジュール
66 システム管理モジュール
67 操作パネル管理モジュール
68 サービス提供モジュール群
100 ネットワーク
【先行技術文献】
【特許文献】
【0071】
【特許文献1】特開2002−200821号公報

【特許請求の範囲】
【請求項1】
複数の印刷ジョブを順次受け付けて印刷を実行するための画像処理を行う画像形成装置であって、
受け付けた前記複数の印刷ジョブのPDLデータを印刷可能な画像データに展開処理する複数の処理手段と、
前記複数の処理手段で展開処理される画像データの印刷処理が可能か否かを判定する印刷処理判定手段と、
前記複数の処理手段による処理状況と、前記印刷処理判定手段による判定結果とに基づいて、前記画像データの展開処理を前記複数の処理手段を用いて並行処理、あるいは、集中処理させるように前記複数の処理手段の割り当てを配分する割り当て配分手段と、
を備え、前記割り当て配分手段は、印刷を開始するジョブがある場合には、当該ジョブに前記複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、前記複数の処理手段を均等に割り当てることを特徴とする画像形成装置。
【請求項2】
前記印刷処理判定手段は、前記処理手段で展開処理されるページ毎の画像データを印刷する印刷用紙が給紙不可能と判明した場合に、印刷処理不可能と判定し、画像データを印刷する印刷用紙が給紙不可能と判明するまでは、印刷処理可能と判定することを特徴とする請求項1に記載の画像形成装置。
【請求項3】
前記割り当て配分手段は、印刷を開始するジョブがある場合には、当該ジョブに前記複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、前記印刷処理判定手段により印刷処理可能なジョブに前記複数の処理手段を均等に割り当てることを特徴とする請求項1または2に記載の画像形成装置。
【請求項4】
さらに、前記複数の処理手段の割り当てが適切か否かの判定と、前記割り当て配分手段による割り当てを再度実施するタイミングの判定とを行う再割り当て判定手段を備え、
前記再割り当て判定手段により、前記複数の処理手段の割り当てを再度実施した方が良いと判定された時に、前記割り当て配分手段は、前記複数の処理手段の再割り当てを実施することを特徴とする請求項1〜3のいずれか一つに記載の画像形成装置。
【請求項5】
前記再割り当て判定手段は、PDLデータを印刷可能な画像データに展開処理する前記印刷ジョブの総数の変化によって判定することを特徴とする請求項4に記載の画像形成装置。
【請求項6】
前記再割り当て判定手段は、前記複数の処理手段の割り当てが適切か否かの判定を、装置本体の状態変化に基づいて判定し、前記印刷処理判定手段が最新の状態で前記複数の処理手段で展開処理される画像データの印刷処理が可能か否かの判定を再度実行することを特徴とする請求項4または5に記載の画像形成装置。
【請求項7】
前記処理手段は、
展開処理するページ毎の画像データを印刷する印刷用紙が給紙可能か否かを判定するためのデータ走査を行うデータ走査処理部と、
前記PDLデータを印刷可能なビットマップデータにPDL展開処理するPDL展開処理部と、
を備え、前記処理手段で展開処理される画像データの印刷処理が可能か否かを前記データ走査部で実施することを特徴とする請求項1〜6のいずれか一つに記載の画像形成装置。
【請求項8】
前記割り当て配分手段は、1つの印刷ジョブのPDL展開処理に割り当てていた前記処理手段を、前記データ走査処理部と前記PDL展開処理部とに均等に割り当てることを特徴とする請求項7に記載の画像形成装置。
【請求項9】
前記割り当て配分手段は、印刷を開始するジョブがあって、当該ジョブに前記複数の処理手段を集中させるように割り当てる場合に、前記データ走査処理部の処理を中断して、前記PDL展開処理部にのみ集中して割り当てることを特徴とする請求項8に記載の画像形成装置。
【請求項10】
さらに、他に印刷処理を開始しているジョブがないか否かを判断する印刷処理開始判断手段を備え、
前記印刷処理判定手段は、前記印刷処理開始判断手段により他に印刷処理を開始しているジョブがないと判断されると、特定ページ数が給紙可能である場合に、印刷処理の開始が可能と判定することを特徴とする請求項1〜9のいずれか一つに記載の画像形成装置。
【請求項11】
コンピュータを、
受け付けた複数の印刷ジョブのPDLデータを印刷可能な画像データに展開処理する複数の処理手段と、
前記複数の処理手段で展開処理される画像データの印刷処理が可能か否かを判定する印刷処理判定手段と、
前記複数の処理手段による処理状況と、前記印刷処理判定手段による判定結果とに基づいて、前記画像データの展開処理を前記複数の処理手段を用いて並行処理、あるいは、集中処理させるように前記複数の処理手段の割り当てを配分する割り当て配分手段と、
として機能させ、前記割り当て配分手段を、印刷を開始するジョブがある場合には、当該ジョブに前記複数の処理手段を集中させるように割り当て、印刷を開始したジョブがない場合には、複数の処理手段を均等に割り当てるように機能させるためのプログラム。
【請求項12】
請求項11に記載のプログラムを記憶したコンピュータ読み取り可能な記録媒体。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate


【公開番号】特開2011−131433(P2011−131433A)
【公開日】平成23年7月7日(2011.7.7)
【国際特許分類】
【出願番号】特願2009−291233(P2009−291233)
【出願日】平成21年12月22日(2009.12.22)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】