(57)【要約】【課題】演算処理部の資源を有効に活用する。【解決手段】表示部２０は、印刷ジョブのジョブ状態を示すジョブテーブル１３が更新された場合には、マシンスペックから予め設定されている、印刷時間テーブル２１の印刷時間と、各印刷ジョブの属性情報と、現在の進捗状況とに基づいて、残り印刷時間を再計算し、表示パネルに残り印刷時間を表示する。一方、印刷が終了した印刷ジョブがある場合には、表示部２０は、より簡便に、表示行を順次繰り上げるとともに、実時間に基づいて各印刷ジョブの残り印刷時間を更新する。また、ジョブテーブル１３の情報に変更がなく、印刷ジョブの残り印刷時間に大幅な変更を生じることがない場合には、更により簡便に、実時間に基づいて各印刷ジョブの残り印刷時間のみを更新する。【選択図】図１
2016179563.tif 000002
【特許請求の範囲】
【請求項１】
取得した印刷ジョブの属性情報を抽出する抽出手段と、
前記属性情報を抽出した印刷ジョブに対して所定の処理を実行する処理手段と、
前記処理手段による前記所定の処理の進捗状況を管理する管理手段と、
所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または当該画像形成装置の処理能力に基づいて、前記印刷ジョブに対する前記所定の処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算手段と、
を備えることを特徴とする画像形成装置。
【請求項２】
取得した印刷ジョブの属性情報を抽出する抽出手段と、
前記属性情報を抽出した印刷ジョブに対して所定の処理を実行する処理手段と、
前記処理手段による前記所定の処理の進捗状況を管理する管理手段と、
実際の経過時間に基づいて前記印刷ジョブに対する前記所定の処理が完了するまでの残り時間をカウントダウンしていく演算手段と、
を備え、
前記演算手段は、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または当該画像形成装置の処理能力に基づいて前記残り時間を再演算することを特徴とする画像形成装置。
【請求項３】
複数の印刷データの各々の属性情報を抽出する抽出手段と、
前記複数の印刷データに対して印字処理を実行する印字処理手段と、
前記複数の印刷データの各々に対する前記印字処理手段による進捗状況を管理する管理手段と、
所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または当該画像形成装置の処理能力に基づいて、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算手段と、
を備えることを特徴とする画像形成装置。
【請求項４】
前記複数の印刷データのいずれかに対する進捗状況に変化を生じせしめる事象が発生したか否かを判断する判断手段を更に備え、
前記演算手段は、前記判断手段によって進捗状況に変化を生じせしめる事象が発生したと判断された場合に、前記進捗状況に変化があったと判断する、
ことを特徴とする請求項３に記載の画像形成装置。
【請求項５】
前記印字処理手段が印字処理を実行する順番で、前記演算手段によって算出された、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を表示する表示手段を更に備える、
ことを特徴とする請求項３又は４に記載の画像形成装置。
【請求項６】
前記所定の管理項目について前記進捗状況に変化がない期間中は、前記表示手段に表示されている前記演算手段によって算出した残り時間を実際の経過時間に基づいてカウントダウンして更新していく更新手段を更に備える、
ことを特徴とする請求項５に記載の画像形成装置。
【請求項７】
前記印字処理手段は、
前記複数の印刷データを受信して所定のバッファに保存する受信手段を含む、
ことを特徴とする請求項３乃至６のいずれか一項に記載の画像形成装置。
【請求項８】
前記印字処理手段は、
前記複数の印刷データの各々からビットマップ画像を生成する画像処理手段を含む、
ことを特徴とする請求項３乃至６のいずれか一項に記載の画像形成装置。
【請求項９】
前記印字処理手段は、
前記複数の印刷データの印字が完了した用紙を排紙する排紙手段を含む、
ことを特徴とする請求項３乃至６のいずれか一項に記載の画像形成装置。
【請求項１０】
画像形成装置の印刷ジョブ管理方法であって、
複数の印刷データの各々の属性情報を抽出するステップと、
前記複数の印刷データに対して印字処理を実行するステップと、
前記複数の印刷データの各々に対する前記印字処理による進捗状況を管理するステップと、
所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または前記画像形成装置の処理能力に基づいて、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算するステップと、
を含むことを特徴とする印刷ジョブ管理方法。
【請求項１１】
画像形成装置のコンピュータに、
複数の印刷データの各々の属性情報を抽出する抽出機能、
前記複数の印刷データに対して印字処理を実行する印字処理機能、
前記複数の印刷データの各々に対する前記印字処理機能による進捗状況を管理する管理機能、
所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または前記画像形成装置の処理能力に基づいて、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算機能、
を実現することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置、印刷ジョブ管理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、複数のコンピュータがネットワークを介してプリンタを共有することができるようになり、１台のプリンタを複数の使用者が共有する場合が多くなっている。そのようなプリンタでは、複数の使用者からの使用要求が重なり、使用者が指示した印刷処理が完了するまで多くの時間待たされる場合も増えている。
【０００３】
そこで、ホストから送信されてくる印刷ジョブを受け付けて印刷を行う場合、印刷実行中のジョブ情報をパネルに表示する技術が知られている（例えば特許文献１参照）。このようなプリンタでは、複数の印刷ジョブを受け付けた場合に、その時点で印刷実行中のジョブ情報を表示するとともに、待機中の後続ジョブの情報をリスト形式で表示する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０８−０１６３３９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記従来技術では、マルチタスクで各構成部を実行している演算処理部（例えばＣＰＵ）は、印刷ジョブに大きな変化がない場合でも、常時（リアルタイムで）、印刷実行中のジョブ情報や、待機中の後続ジョブのリスト形式を更新するために演算を行っている。このため、上記従来技術では、演算処理部（例えばＣＰＵ）の資源を有効に活用できないといった問題があった。
【０００６】
そこで本発明は、演算処理部の資源を有効に活用することを目的とする。
【課題を解決するための手段】
【０００７】
この発明に係る画像形成装置は、取得した印刷ジョブの属性情報を抽出する抽出手段と、前記属性情報を抽出した印刷ジョブに対して所定の処理を実行する処理手段と、前記処理手段による前記所定の処理の進捗状況を管理する管理手段と、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または当該画像形成装置の処理能力に基づいて、前記印刷ジョブに対する前記所定の処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算手段と、を備えることを特徴とする。
【０００８】
この発明に係る画像形成装置は、取得した印刷ジョブの属性情報を抽出する抽出手段と、前記属性情報を抽出した印刷ジョブに対して所定の処理を実行する処理手段と、前記処理手段による前記所定の処理の進捗状況を管理する管理手段と、実際の経過時間に基づいて前記印刷ジョブに対する前記所定の処理が完了するまでの残り時間をカウントダウンしていく演算手段と、を備え、前記演算手段は、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または当該画像形成装置の処理能力に基づいて前記残り時間を再演算することを特徴とする。
【０００９】
この発明に係る画像形成装置は、複数の印刷データの各々の属性情報を抽出する抽出手段と、前記複数の印刷データに対して印字処理を実行する印字処理手段と、前記複数の印刷データの各々に対する前記印字処理手段による進捗状況を管理する管理手段と、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または当該画像形成装置の処理能力に基づいて、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算手段と、を備えることを特徴とする。
【００１０】
この発明に係る印刷ジョブ管理方法は、画像形成装置の印刷ジョブ管理方法であって、複数の印刷データの各々の属性情報を抽出するステップと、前記複数の印刷データに対して印字処理を実行するステップと、前記複数の印刷データの各々に対する前記印字処理による進捗状況を管理するステップと、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または前記画像形成装置の処理能力に基づいて、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算するステップと、を含むことを特徴とする。
【００１１】
この発明に係るプログラムは、画像形成装置のコンピュータに、複数の印刷データの各々の属性情報を抽出する抽出機能、前記複数の印刷データに対して印字処理を実行する印字処理機能、前記複数の印刷データの各々に対する前記印字処理機能による進捗状況を管理する管理機能、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または前記画像形成装置の処理能力に基づいて、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算機能、を実現することを特徴とする。
【発明の効果】
【００１２】
この発明によれば、演算処理部の資源を有効に活用することができる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態による画像形成装置１の機能構成を示すブロック図である。
【図２】本実施形態によるジョブテーブル１３の構成例を示す概念図である。
【図３】本実施形態による印刷行列１５の構成例を示す概念図である。
【図４】本実施形態による印刷行列テーブル１６の構成例を示す概念図である。
【図５】本実施形態による印刷時間テーブル２１の構成例を示す概念図である。
【図６】本実施形態において、片面印刷と両面印刷の間でのモード切替がある場合に印刷時間を補正するための補正テーブル２２の構成例を示す概念図である。
【図７】本実施形態による受信部１０の動作を説明するためのフローチャートである。
【図８】本実施形態による制御部１２の動作を説明するためのフローチャートである。
【図９】本実施形態によるＲＩＰ部１４の動作を説明するためのフローチャートである。
【図１０】本実施形態による転送部１７の動作を説明するためのフローチャートである。
【図１１】本実施形態による排紙部１９の動作を説明するためのフローチャートである。
【図１２】本実施形態による表示部２０の動作を説明するためのフローチャートである。
【図１３】本実施形態による表示部２０の動作を説明するためのフローチャートである。
【図１４】本実施形態による表示部２０の動作を説明するためのフローチャートである。
【図１５】本実施形態による表示部２０の動作を説明するためのフローチャートである。
【図１６】本実施形態による表示部２０の表示パネルへの表示例を示す模式図である。
【発明を実施するための形態】
【００１４】
以下、本発明の実施の形態を、図面を参照して説明する。
【００１５】
Ａ．実施形態の構成
図１は、本発明の実施形態による画像形成装置１の機能構成を示すブロック図である。図２は、本実施形態によるジョブテーブル１３の構成例を示す概念図である。図３は、本実施形態による印刷行列１５の構成例を示す概念図である。図４は、本実施形態による印刷行列テーブル１６の構成例を示す概念図である。図５は、本実施形態による印刷時間テーブル２１の構成例を示す概念図である。図６は、本実施形態において、片面印刷と両面印刷の間でのモード切替がある場合に印刷時間を補正するための補正テーブル２２の構成例を示す概念図である。
【００１６】
図１において、受信部１０は、ホスト２からの印刷データを受信し、印刷ジョブ毎にジョブＩＤ、ユーザ名、文書名、印刷用紙サイズ、印刷速度、片面／両面、総印刷枚数の各情報を抽出し、受信した印刷データを受信バッファ１１に保存する。なお、ジョブＩＤは、重複のないユニークな識別情報である。受信バッファ１１は、受信部１０により受信された印刷データを保持する。
【００１７】
制御部１２は、外部（受信部１０、ＲＩＰ部１４、排紙部１９）からの通知に応じて、印刷ジョブの後述するジョブテーブル１３への登録や、印刷ジョブの状態変化に応じたジョブテーブル１３の更新などを行う。特に、本実施形態では、制御部１２は、ジョブテーブル１３を更新した場合には更新フラグを「１」とし、印刷が終了した印刷ジョブがある場合には更新フラグを「２」とする。
【００１８】
ジョブテーブル１３は、図２に示すように、印刷ジョブ毎に、ジョブＩＤ、ユーザ名、文書名、印刷用紙サイズ、印刷速度、片面／両面、総印刷枚数の各情報に加え、現在の状態としての残り枚数、ジョブ状態（受信中、印刷中、ＲＩＰ中など）を示す情報を保持する。なお、本実施形態では、ジョブテーブル１３は、５つの印刷ジョブを格納できるよう５レコードから構成される。また、残り印刷枚数は、印刷ジョブが存在して印刷している場合には０以上の正の数となりうるため、「−１」を初期値とする。
【００１９】
ＲＩＰ部１４は、制御部１２からのＲＩＰ処理開始通知に従って、後述する印刷行列１５の確保や、図示しない画像メモリの確保、後述する印刷行列テーブル１６の更新、受信バッファ１１の印刷データからビットマップ画像を生成するＲＩＰ処理などを行う。
【００２０】
印刷行列１５は、図３に示すように、印刷行列テーブル１６の状態として、行列個数、書き込み位置、読み出し位置（転送）、読み出し位置（排紙）を示す情報を保持している。行列個数は、印刷行列テーブル１６に登録されているレコード数を示す。書き込み位置は、印刷行列テーブル１６における、ＲＩＰ処理による描画中のレコード番号を示す。読み出し位置（転送）は、印刷行列テーブル１６における、プリンタエンジン１８へ転送しているレコード番号を示す。読み出し位置（排紙）は、印刷行列テーブル１６における、排紙中のレコード番号を示す。
【００２１】
印刷行列テーブル１６は、図４に示すように、現在のＲＩＰ処理対象のページを示す現在ページ番号毎に、対応する画像メモリアドレス、描画状態（描画完了、描画中、転送など）を示す情報を保持している。なお、本実施形態では、印刷行列テーブル１６は、１０レコードから構成される。
【００２２】
転送部１７は、常に印刷行列１５を監視し、印刷行列個数が「１」以上、すなわち印刷行列テーブル１６に印刷ジョブが登録され、かつその印刷ジョブに対するＲＩＰ処理が完了している場合に、画像メモリアドレスで指定された画像メモリの画像データをプリンタエンジン１８に転送する。
【００２３】
プリンタエンジン１８は、転送される画像データを印刷する。排紙部１９は、常に印刷行列１５を監視し、プリンタエンジン１８からの印刷用紙排紙通知を受信すると、印刷行列テーブル１６、印刷行列１５の状態を更新する。
【００２４】
表示部２０は、常に更新フラグを監視し、更新フラグの値に応じて表示処理を振り分ける。具体的には、表示部２０は、更新フラグが「１」である場合、すなわちジョブテーブル１３が更新された場合には、所定の管理項目について所定の処理の進捗状況に変化があったものと判断して、後述する印刷時間テーブル２１を参照し、各印刷ジョブの残り印刷時間の更新・再計算を実行し、図示しない表示パネルに各印刷ジョブの総印刷枚数、残り印刷枚数、残り印刷時間などを表示する。なお、何らかのエラー（ジャムなど）発生の有無や、表示に関する修正事象の発生有無についても、所定の処理の進捗状況に変化があったものと判断する所定の管理項目であり、これらについても後述する。
【００２５】
また、更新フラグが「２」である場合、すなわち印刷が終了した印刷ジョブがある場合には、表示部２０は、より簡便な処理として、表示行を１行ずつ上にシフトするとともに、実時間（実際の経過時間）を計時するタイマによる経過時間に基づいて、各印刷ジョブの残り印刷時間を更新（デクリメント／カウントダウン）する。
【００２６】
また、表示部２０は、更新フラグが「０」である場合、すなわちジョブテーブル１３の情報に変更がなく、印刷ジョブの残り印刷時間に大幅な変更を生じることがない場合（期間中）には、より簡便な処理として、実時間（実際の経過時間）を計時するタイマによる経過時間に基づいて、各印刷ジョブの残り印刷時間のみを更新（デクリメント／カウントダウン）する。
【００２７】
なお、表示パネルは、５行表示構成とし、１〜２行目にプリンタ状態または現在印刷中ジョブ情報を表示し、３〜５行目に後続の印刷ジョブに関する情報を表示するものとする。
【００２８】
印刷時間テーブル２１は、図５に示すように、プリンタエンジン１８の仕様に従って予め設定された印刷に要する印刷時間を保持している。より具体的には、印刷用紙サイズ（Ａ３、Ｂ４、Ａ４）毎に、印刷速度（高速、標準）、片面印刷又は両面印刷のそれぞれの場合に、１枚目の印刷時間、２枚目以降の印刷時間が保持されている。
【００２９】
なお、図５に示す例では、同一サイズの用紙が搬送方向の違いで印刷時間が異なることは除外してある。また、両面印刷の場合の印刷時間は、物理的な用紙の１枚目、２枚目以降の時間を表記しているので、印刷ジョブ内の頁数としては、両面１枚で２頁分となる。また、片面印刷と両面印刷を切り替える場合には、モード切替に所定の時間（秒）を要する。例えば、図６に示す補正テーブル２２に示すように、高速印刷時には、片面から両面への切り替えには、＋０秒、両面から片面への切り替えには、＋２秒、標準速度印刷時には、片面から両面への切り替えには、＋０秒、両面から片面への切り替えには、＋３秒とする。
【００３０】
このように、本実施形態では、マルチタスクで各構成部（受信部１０、制御部１２、ＲＩＰ部１４、転送部１７、排紙部１９、表示部２０）を実行しているＣＰＵ（演算処理部）は、ジョブテーブル１３、印刷行列１５、印刷行列テーブル１６などに変化がない場合、つまり印刷ジョブの残り印刷時間に変化を生じない場合には、それぞれの処理実行を省略するか、より単純な処理とする。これにより、各構成部に割り振るＣＰＵ能力を軽減することが可能となり、ＣＰＵ能力などの資源を有効に活用することが可能になる。つまり、ＣＰＵ能力を軽減することで、ＣＰＵの処理能力を、例えば、より負荷の大きいＲＩＰ処理などに割り当てることが可能となり、結果として、印刷時間を短縮することが可能となる。
【００３１】
Ｂ．実施形態の動作
次に、上述した実施形態の動作について説明する。なお、以下で説明する各部の処理は、図示しないＣＰＵによるマルチタスクによって実行されるものである。
【００３２】
（受信部１０の処理）
図７は、本実施形態による受信部１０の動作を説明するためのフローチャートである。受信部１０は、まず、ホスト２からの印刷データの受信を認識したか否かを判断する（ステップＳ１０）。そして、ホスト２からの印刷データの受信を認識しない場合には（ステップＳ１０のＮＯ）、受信部１０は、ホスト２から印刷データを受信するまで待機する。
【００３３】
一方、ホスト２からの印刷データの受信を認識した場合には（ステップＳ１０のＹＥＳ）、受信部１０は、印刷ジョブ毎に、“ジョブＩＤ”、“ユーザ名”、“文書名”、“印刷用紙サイズ”、“印刷速度”、“片面／両面”、“総印刷枚数”を抽出し（ステップＳ１２）、これらの情報とともに受信開始を制御部１２に通知する（ステップＳ１４）。
【００３４】
次に、受信部１０は、上記受信開始に対する、制御部１２から受信開始許可の応答を受信したか否かを判断する（ステップＳ１６）。そして、制御部１２から受信開始許可の応答を受信しない場合には（ステップＳ１６のＹＥＳ）、受信部１０は、制御部１２から受信開始許可の応答を受信するまで待機する。一方、制御部１２から受信開始許可の応答を受信した場合には（ステップＳ１６のＹＥＳ）、受信部１０は、ホスト２から印刷データを受信し、受信バッファアドレス情報で示された、受信バッファ１１の領域に格納する（ステップＳ１８）。
【００３５】
（制御部１２の処理）
図８は、本実施形態による制御部１２の動作を説明するためのフローチャートである。制御部１２は、まず、外部から通知があったか否かを判断する（ステップＳ２０）。外部からの通知とは、受信部１０からの受信開始の通知、ＲＩＰ部１４からのＲＩＰ完了の通知、または排紙部１９からの排紙完了の通知のいずれかである。そして、外部から通知がない場合には（ステップＳ２０のＮＯ）、制御部１２は、いずれかの通知を受信するまで待機する。
【００３６】
一方、受信部１０から受信開始の通知を受信した場合には（ステップＳ２０の受信開始）、制御部１２は、新たな印刷ジョブに対して、受信バッファ１１にメモリ領域を確保し、その先頭アドレスを、ジョブテーブル１３の“受信バッファアドレス”に設定する（ステップＳ２２）。次に、制御部１２は、ジョブテーブル１３の“レコード番号”の小さいレコードから順次検索し、“ジョブＩＤ”が空きになっている最初のレコードに、通知された“ジョブＩＤ”、“ユーザ名”、“文書名”、“印刷用紙サイズ”、“印刷速度”、“片面／両面”、“総印刷枚数”を登録し、ジョブテーブル１３の“ジョブ状態”を受信中とする（ステップＳ２４）。次に、制御部１２は、受信部１０に対して受信バッファアドレス情報とともに受信開始許可を応答する（ステップＳ２６）。
【００３７】
次に、制御部１２は、受信部１０への受信開始許可を応答した後、ジョブテーブル１３の全レコードを検索し、ＲＩＰ処理が可能であるか否かを判断する（ステップＳ２８）。より具体的には、ジョブテーブル１３内の“ジョブ状態”に「ＲＩＰ中」がない場合には、ＲＩＰ処理が可能であると判断し、「ＲＩＰ中」がある場合には、ＲＩＰ処理が可能でないと判断する。最初の印刷ジョブの場合、レコード番号「１」のレコードの“ジョブ状態”は「受信中」となっているので、ＲＩＰ処理が可能である。そして、ＲＩＰ処理が可能でない場合には（ステップＳ２８のＮＯ）、制御部１２は、更新フラグを「１」に設定し（ステップＳ３４）、ステップＳ２０に戻る。この場合、ＲＩＰ部１４へのＲＩＰ処理開始の通知は行われない。
【００３８】
一方、ＲＩＰ処理が可能である場合には（ステップＳ２８のＹＥＳ）、制御部１２は、ジョブテーブル１３の当該レコードの“ジョブ状態”を「ＲＩＰ中」とし（ステップＳ３０）、“ジョブＩＤ”、“受信バッファアドレス”の各情報とともに、ＲＩＰ処理開始をＲＩＰ部１４に通知する（ステップＳ３２）。その後、制御部１２は、更新フラグを「１（更新あり）」に設定し（ステップＳ３４）、ステップＳ２０に戻る。
【００３９】
一方、ＲＩＰ部１４からＲＩＰ完了の通知を受信した場合には（ステップＳ２０のＲＩＰ完了）、制御部１２は、ジョブテーブル１３の“ジョブ状態”が「ＲＩＰ中」のレコードを検索し、当該レコードの“受信バッファアドレス”で示された領域を解放し（ステップＳ３６）、“受信バッファアドレス”を「０」にし、更にジョブ状態を「印刷中」に変更する（ステップＳ３２）。
【００４０】
その後、制御部１２は、ジョブテーブル１３の“レコード番号”の小さいレコードから順次検索し、“ジョブ状態”が「受信中」であるレコードの有無を判断する（ステップＳ４０）。そして、“ジョブ状態”が「受信中」であるレコードがなかった場合には（ステップＳ４０のＮＯ）、更新フラグを「１」に設定し（ステップＳ４６）、ステップＳ２０に戻る。この場合、ＲＩＰ部１４へのＲＩＰ処理開始の通知は行われない。
【００４１】
一方、“ジョブ状態”が「受信中」であるレコードがあった場合には（ステップＳ４０のＹＥＳ）、この時点ではＲＩＰ処理可能状態であるため、制御部１２は、当該レコードの“ジョブ状態”を「ＲＩＰ中」とし（ステップＳ４２）、“ジョブＩＤ”、“受信バッファアドレス”の各情報とともにＲＩＰ処理開始をＲＩＰ部１４に通知する（ステップＳ４４）。その後、制御部１２は、更新フラグを「１（更新あり）」に設定し（ステップＳ４６）、ステップＳ２０に戻る。
【００４２】
一方、排紙部１９から排紙完了の通知（現在ページ番号を含む）を受信した場合には（ステップＳ２０の排紙完了）、制御部１２は、ジョブテーブル１３を参照し、通知された“ジョブＩＤ”と一致するレコードを検索し、“総印刷枚数”の値から通知された“現在ページ番号”の値を減算して残り枚数を算出し（ステップＳ４８）、当該残り枚数をジョブテーブル１３の“残り印刷枚数”に設定する（ステップＳ５０）。
【００４３】
次に、制御部１２は、上記“残り印刷枚数”が「０」枚であるか否かを判断する（ステップＳ５８）。そして、上記“残り印刷枚数”が「０」でない場合には（ステップＳ５８のＮＯ）、制御部１２は、更新フラグを「１（更新あり）」に設定し（ステップＳ６０）、ステップＳ２０に戻る。
【００４４】
一方、上記“残り印刷枚数”の値が「０」の場合には（ステップＳ５８のＹＥＳ）、最終ページの印刷（排紙）が完了したことになるため、制御部１２は、当該レコードの内容を削除するレコード削除処理を行う（ステップＳ６２）。その後、制御部１２は、更新フラグを「２（削除あり）」に設定し（ステップＳ６４）、ステップＳ２０に戻る。
【００４５】
レコード削除処理では、ジョブテーブル１３の当該レコードを初期化（“ジョブＩＤ”を「空き」、“ユーザ名”を「なし」、“文書名”を「なし」、“印刷用紙サイズ”を「なし」、“印刷速度”を「なし」、“片面／両面”を「なし」、“総印刷枚数”を「０」、“残り印刷枚数”を「−１」、“受信バッファアドレス”を「０」、“ジョブ状態”を「なし」）する。更に、レコード削除処理対象レコードの後続レコードの各情報（“ジョブＩＤ”〜“ジョブ状態”）を一つずつ小さいレコード番号のレコードに移動させる。なお、レコード移動後、最終レコードの各情報（“ジョブＩＤ”〜“ジョブ状態”）は初期化しておく必要がある。
【００４６】
上述したように、制御部１２の処理では、ジョブテーブル１３の内容を更新した場合には、更新フラグを「１（更新あり）」とし、ジョブテーブル１３のいずれかの印刷ジョブ（レコード）を削除した場合には、更新フラグを「２（削除あり）」とする。
【００４７】
（ＲＩＰ部１４の処理）
図９は、本実施形態によるＲＩＰ部１４の動作を説明するためのフローチャートである。ＲＩＰ部１４は、まず、制御部１２からＲＩＰ処理開始の通知を受信したか否かを判断する（ステップＳ７０）。そして、ＲＩＰ処理開始の通知を受信していない場合には（ステップＳ７０のＮＯ）、ＲＩＰ部１４は、ＲＩＰ処理開始の通知を受信するまで待機する。
【００４８】
一方、制御部１２からＲＩＰ処理開始の通知を受信した場合には（ステップＳ７０のＹＥＳ）、ＲＩＰ部１４は、“現在ページ”を「１」とする（ステップＳ７２）。当該“現在ページ”は、ＲＩＰ処理の対象とするページを意味する。次に、ＲＩＰ部１４は、“現在ページ”で示されるページに未ＲＩＰデータがあるか否かを判断する（ステップＳ７４）。そして、該当ページに未ＲＩＰデータがある場合には（ステップＳ７４のＹＥＳ）、ＲＩＰ部１４は、印刷行列１５を確保する（ステップＳ７６）。
【００４９】
より具体的には、まず、印刷行列１５の“行列個数”が「１０」である場合には、印刷行列テーブル１６に空きがないため、“行列個数”が「１０未満」になるまで待つ。そして、“行列個数”が「１０未満」である場合には、印刷行列１５の“書き込み位置”で指定されているレコードを、印刷行列テーブル１６に確保する。
【００５０】
次に、ＲＩＰ部１４は、レコードを確保すると、画像メモリ用のメモリ領域を確保し、その先頭アドレスを、印刷行列テーブル１６の“画像メモリアドレス”に設定する（ステップＳ７８）。次に、ＲＩＰ部１４は、ＲＩＰ処理開始からカウントしているページ数（最初のページは「１」）を示す“現在ページ”を、印刷行列テーブル１６の“現在ページ番号”に設定し、“描画状態”を「描画中」とする（ステップＳ８０）。
【００５１】
次に、ＲＩＰ部１４は、受信バッファ１１から印刷データを読み出し、ＲＩＰ処理を実行し（ステップＳ８２）、１ページ分の画像データが完成したか、すなわちＲＩＰ処理が完了したか否かを判断する（ステップＳ８４）。そして、１ページ分の画像データが完成していない場合には（ステップＳ８４のＮＯ）、ＲＩＰ部１４は、ステップＳ８２に戻り、当該ページに対するＲＩＰ処理を継続する。
【００５２】
一方、１ページ分の画像データが完成した場合には（ステップＳ８４のＹＥＳ）、ＲＩＰ部１４は、印刷行列テーブル１６の当該レコードの“描画状態”を「描画完了」にする（ステップＳ８６）。次に、ＲＩＰ部１４は、印刷行列１５の“行列個数”に「１」を加算し、“書き込み位置”にも「１」を加算する（ステップＳ８８）。なお、“書き込み位置”の値が「１０」を超えたら、その値から「１０」を減算した値に変更する。次に、ＲＩＰ部１４は、ＲＩＰ処理のページを次ページとすべく、“現在ページ”の値に「１」を加算し（ステップＳ９０）、ステップＳ７４に戻り、上述したＲＩＰ処理を継続する。
【００５３】
一方、受信バッファ１１の印刷データをすべてＲＩＰ処理し終えた場合には（ステップＳ７４のＮＯ）、ＲＩＰ部１４は、制御部１２にＲＩＰ完了を通知する（ステップＳ９２）。
【００５４】
（転送部１７の処理）
図１０は、本実施形態による転送部１７の動作を説明するためのフローチャートである。転送部１７は、常に印刷行列１５を監視しており、印刷行列１５の“行列個数”の値が「１以上」であるか否かを判断する（ステップＳ１００）。そして、“行列個数”の値が「１以上」でない場合、すなわち「０」である場合には（ステップＳ１００のＮＯ）、印刷行列テーブル１６が空なので、転送部１７は、“行列個数”の値が「１以上」になるまで待機する。
【００５５】
一方、“行列個数”の値が「１」以上である場合には（ステップＳ１００のＹＥＳ）、転送部１７は、印刷行列１５の“読み出し位置（転送）”で指定されているレコードの、印刷行列テーブル１６の“描画状態”を確認し、「描画完了」であるか否かを判断する（ステップＳ１０２）。そして、“描画状態”が「描画完了」以外である場合には（ステップＳ１０２のＮＯ）、転送部１７は、「描画完了」になるまで待機する。
【００５６】
一方、印刷行列テーブル１６の“描画状態”が「描画完了」である場合には（ステップＳ１０２のＹＥＳ）、転送部１７は、印刷行列テーブル１６の“描画状態”を「転送」にし（ステップＳ１０４）、画像メモリアドレスで指定された画像メモリの画像データをプリンタエンジン１８に転送する（ステップＳ１０６）。プリンタエンジン１８では、転送される画像データを印刷する。
【００５７】
次に、転送部１７は、印刷行列テーブル１６の“画像メモリアドレス”で示された領域を解放し（ステップＳ１０８）、“画像メモリアドレス”を「０」に設定にする（ステップＳ１１０）。更に、転送部１７は、印刷行列１５の“読み出し位置（転送）”の値に「１」を加算する（ステップＳ１１２）。なお、“読み出し位置（転送）”の値が「１０」を超えたら、その値から「１０」を減算した値に変更する。その後、転送部１７は、ステップＳ１００に戻り、上述した処理を繰り返す。
【００５８】
（排紙部１９の処理）
図１１は、本実施形態による排紙部１９の動作を説明するためのフローチャートである。排紙部１９は、常に印刷行列１５を監視しており、印刷行列１５の“行列個数”の値が「１以上」であるか否かを判断する（ステップＳ１２０）。そして、“行列個数”の値が「１以上」でない場合、すなわち「０」である場合には（ステップＳ１２０のＮＯ）、印刷行列テーブル１６が空なので、排紙部１９は、“行列個数”の値が「１」以上になるまで待機する。
【００５９】
一方、“行列個数”の値が「１以上」である場合には（ステップＳ１２０のＹＥＳ）、排紙部１９は、印刷行列１５の“読み出し位置（排紙）”で指定されているレコードの、印刷行列テーブル１６の“描画状態”を確認し、「転送」であるか否かを判断する（ステップＳ１２２）。そして、“描画状態”が「転送」以外である場合には（ステップＳ１２２のＮＯ）、排紙部１９は、「転送」になるまで待機する。
【００６０】
一方、印刷行列テーブル１６の“描画状態”が「転送」である場合には（ステップＳ１２２のＹＥＳ）、排紙部１９は、プリンタエンジン１８から印刷用紙排紙通知を受信したか否かを判断する（ステップＳ１２４）。そして、印刷用紙排紙通知を受信していない場合には（ステップＳ１２４のＮＯ）、排紙部１９は、プリンタエンジン１８から印刷用紙排紙通知を受信するまで待機する。
【００６１】
一方、プリンタエンジン１８から印刷用紙排紙通知を受信した場合には（ステップＳ１２４のＹＥＳ）、排紙部１９は、印刷行列テーブル１６の“ジョブＩＤ”、“現在ページ番号”の各情報とともに排紙完了を制御部１２に通知する（ステップＳ１２６）。その後、排紙部１９は、印刷行列テーブル１６の“ジョブＩＤ”を「空き」に、“現在ページ番号”を「０」に、“描画状態”を「なし」にそれぞれ初期化する（ステップＳ１２８）。更に、排紙部１９は、印刷行列１５の“行列個数”の値から「１」を減算し、“読み出し位置（排紙）”の値に「１」を加算する（ステップＳ１３０）。
【００６２】
（表示部２０の処理）
図１２乃至図１５は、本実施形態による表示部２０の動作を説明するためのフローチャートである。また、図１６（ａ）〜（ｃ）は、本実施形態による表示部２０の表示パネルへの表示例を示す模式図である。
【００６３】
表示部２０は、常に更新フラグの状態を監視しており、更新フラグが「１（更新あり）」であるか否かを判断する（ステップＳ１４０）。そして、更新フラグが「１（更新あり）」である場合には（ステップＳ１４０のＹＥＳ）、表示部２０は、ジョブテーブル１３のレコード番号「１」の“ジョブＩＤ”が空きでないか否かを判断する（ステップＳ１４２）。そして、ジョブテーブル１３のレコード番号「１」の“ジョブＩＤ”が空きである場合には（ステップＳ１４２のＮＯ）、印刷ジョブがないので、表示部２０は、印刷データ受信待ちの表示を行う（ステップＳ１４４）。
【００６４】
図１６（ａ）に印刷データ受信待ち時の表示パネルの一例を示す。表示パネルの１行目に「印刷できます」などのメッセージを表示し、印刷データ受信待ちであることを通知する。
【００６５】
一方、ジョブテーブル１３のレコード番号「１」の“ジョブＩＤ”が空きでない場合には（ステップＳ１４２のＹＥＳ）、表示部２０は、現在印刷中の印刷ジョブの表示を行うべく、まず、表示パネルの１行目に、ジョブテーブル１３のレコード番号「１」の“ユーザ名”、“文書名”の各情報を表示する（ステップＳ１４６）。次に、表示部２０は、印刷時間テーブル２１を参照し、ジョブテーブル１３のレコード番号「１」の印刷ジョブの“印刷用紙サイズ”、“印刷速度”、“片面／両面”、“総印刷枚数”、及び“残り印刷枚数”の値から、“１枚目印刷時間”及び“２枚目以降印刷時間”の各値を取得する（ステップＳ１４８）。
【００６６】
次に、表示部２０は、“残り印刷時間”を「０」にクリアし（ステップＳ１５０）、“総印刷枚数”の値と“残り印刷枚数”の値とが同じであるか否かを判断する（ステップＳ１５２）。そして、“総印刷枚数”の値と“残り印刷枚数”の値とが同じである場合には（ステップＳ１５２のＹＥＳ）、まだ１枚も印刷されていないので、表示部２０は、“１枚目印刷時間”の値を“残り印刷時間”に加算し（ステップＳ１５４）、更に、“残り印刷枚数”の値から「１」減算した枚数に、“２枚目以降印刷時間”の値を乗算し、“残り印刷時間”に加算する（ステップＳ１５６）。
【００６７】
一方、“総印刷枚数”の値と“残り印刷枚数”の値とが同じでない場合には（ステップＳ１５２のＮＯ）、表示部２０は、その印刷ジョブが印刷進行中であるので、“残り印刷枚数”の値に、“２枚目以降印刷時間”の値を乗算し、“残り印刷時間”に加算する（ステップＳ１５８）。
【００６８】
上記ステップＳ１４８〜Ｓ１５８にて、ジョブテーブル１３のレコード番号「１」の印刷ジョブに対する“残り印刷時間”が算出される。
【００６９】
次に、表示部２０は、算出された“残り印刷時間”を表示用に加工（小数部切り上げ、秒数値を分秒表記に変更）し（ステップＳ１６０）、表示パネルの２行目に、ジョブテーブル１３のレコード番号「１」の印刷ジョブに対する“総印刷枚数”、“残り印刷枚数”、“残り印刷時間”の各値を表示する（ステップＳ１６２）。
【００７０】
図１６（ｂ）に現在印刷中の印刷ジョブの表示の一例を示す。表示パネルの１行目にレコード番号「１」の印刷ジョブのユーザ名「ＹＡＭＡＤＡ」、文書名「ＰｒｉｃｅＬｉｓｔ」を表示するとともに、２行目に当該印刷ジョブの総印刷枚数「全００９枚」、残り印刷枚数「残００２枚」、残り印刷時間「０分０３秒」を表示する。
【００７１】
次に、表示部２０は、参照レコード番号ｎを「２」に設定し（ステップＳ１６４）、参照レコード番号ｎが「４」以下であるか否かを判断する（ステップＳ１６６）。本実施形態では、表示パネルは５行表示構成であり、レコード番号「１」の印刷ジョブに対して２行使用し、後続の印刷ジョブにはそれぞれ１行使用する。つまり、表示パネルには、全４レコード分の印刷ジョブに関する情報が表示可能であるので、参照レコード番号ｎが「４」以下であるか判断することで、全ての印刷ジョブに関する情報を表示したか否かを判断している。
【００７２】
そして、参照レコード番号ｎが「４」以下である場合には（ステップＳ１６６のＹＥＳ）、表示部２０は、ジョブテーブル１３のレコード番号ｎの“ジョブＩＤ”が空きでないか否かを判断する（ステップＳ１６８）。そして、ジョブテーブル１３のレコード番号ｎの“ジョブＩＤ”が空きでない場合には（ステップＳ１６８のＹＥＳ）、表示部２０は、印刷時間テーブル２１を参照し、ジョブテーブル１３のレコード番号ｎの印刷ジョブの“印刷用紙サイズ”、“印刷速度”、“片面／両面”、“総印刷枚数”、及び“残り印刷枚数”の値から、“１枚目印刷時間”及び“２枚目以降印刷時間”の各値を取得する（ステップＳ１７０）。
【００７３】
次に、表示部２０は、当該印刷ジョブの“印刷用紙サイズ”、“印刷速度”、“片面／両面”の各情報が直前の印刷ジョブの各情報のいずれかと異なっているか否かを判断する（ステップＳ１７２）。
【００７４】
ここで、当該印刷ジョブの各情報が直前の印刷ジョブの各情報のいずれかと異なっている場合には、直前の印刷ジョブの印刷完了を待って（印刷用紙が完全に排出されるまで待って）から当該印刷ジョブの印刷を開始する必要がある。ゆえに、当該印刷ジョブの１枚目の印刷時間は、直前の印刷ジョブからの連続印刷ではないため、印刷時間テーブル２１から取得した“１枚目印刷時間”の値が適用される。
【００７５】
これに対して、今から印刷を開始する印刷ジョブと直前の印刷ジョブで印刷条件（“印刷用紙サイズ”、“印刷速度”、“片面／両面”）が同じ場合には、直前の印刷ジョブの印刷完了を待たずに、そのまま連続して印刷することが可能となる。この場合、当該印刷ジョブの１枚目の印刷時間は、印刷時間テーブル２１から取得した“２枚目以降印刷時間”の値が適用される。
【００７６】
例えば、用紙サイズが異なる場合には、給紙口切替のために少しだけ時間が加算される。また、例えば、印刷速度が異なる場合には、完全排出待ちするので１枚目の印刷時間から開始する。更に、例えば、片面／両面が異なる場合は、図６の補正テーブル２２に示される切替のために要する時間が加算される。
【００７７】
したがって、当該印刷ジョブの“印刷用紙サイズ”、“印刷速度”、“片面／両面”の各情報が、直前の印刷ジョブの“印刷用紙サイズ、“印刷速度”、“片面／両面”のいずれかと異なっている場合には（ステップＳ１７２のＹＥＳ）、表示部２０は、“１枚目印刷時間”の値を“残り印刷時間”に加算し（ステップＳ１７４）、更に、“総印刷枚数”の値から「１」減算した枚数に、“２枚目以降印刷時間”の値を乗算し、“残り印刷時間”に加算する（ステップＳ１７６）。
【００７８】
一方、当該印刷ジョブの“印刷用紙サイズ”、“印刷速度”、“片面／両面”の各情報が、直前の印刷ジョブの“印刷用紙サイズ”、“印刷速度”、“片面／両面”のいずれとも同じである場合には（ステップＳ１７２のＮＯ）、表示部２０は、“総印刷枚数”の値に、“２枚目以降印刷時間”の値を乗算し、“残り印刷時間”に加算する（ステップＳ１７８）。
【００７９】
次に、表示部２０は、算出された“残り印刷時間”を表示用に加工（小数部切り上げ、秒数値を分秒表記に変更）し（ステップＳ１８０）、表示パネルのｎ＋１行目に、ジョブテーブル１３のレコード番号ｎの印刷ジョブに対する“ユーザ名”、“文書名”、“残り印刷時間”を表示する（ステップＳ１８２）。
【００８０】
次に、表示部２０は、参照レコード番号ｎをインクリメントし（ステップＳ１８４）、ステップＳ１６６に戻り、表示パネルの３、４、５行目に、後続の印刷ジョブの情報を表示する。
【００８１】
図１６（ｃ）に後続の印刷ジョブの表示の一例を示す。表示パネルの３行目には、ジョブテーブル１３のレコード番号「２」の印刷ジョブの情報、４行目には、ジョブテーブル１３のレコード番号「３」の印刷ジョブの情報、５行目には、ジョブテーブル１３のレコード番号「４」の印刷ジョブの情報がそれぞれ表示される。なお、３行目以降には、印刷ジョブ毎の“ユーザ名”、“文書名”、“残り印刷時間”のみが表示される。
【００８２】
一方、参照レコード番号ｎが「４」に達した場合には（ステップＳ１６６のＮＯ）、表示パネルの全ての行に対する表示が全て終了したことを意味し、また、参照レコード番号ｎのジョブＩＤが空きである場合には（ステップＳ１６８のＮＯ）、印刷ジョブがないことを意味するので、表示部２０は、更新フラグを「０」にクリアし（ステップＳ１８８）、ステップＳ１４０に戻り、再び、ジョブテーブル１３に登録や更新等の変更が発生するまで待機する。
【００８３】
一方、更新フラグが「１（更新あり）」でない場合には（ステップＳ１４０のＮＯ）、表示部２０は、更新フラグが「２（削除あり）」であるか否かを判断する（ステップＳ１９０）。そして、更新フラグが「２（削除あり）」である場合には、制御部１２によってジョブテーブル１３のレコードが削除されたこと、すなわち印刷ジョブの印刷が完了した場合や、ユーザにより印刷がキャンセルした場合など、現在進行中又は待機中の印刷ジョブの残り印刷時間に変更が生じることを意味する。
【００８４】
そこで、更新フラグが「２（削除あり）」である場合には（ステップＳ１９０のＮＯ）、表示部２０は、参照レコード番号ｎを「１」に設定し（ステップＳ１９２）、表示パネルの１行目に、ジョブテーブル１３のレコード番号ｎ（＝１）の“ユーザ名”、“文書名”の各情報を表示する（ステップＳ１４６）。次に、表示部２０は、表示パネルの２行目に、ジョブテーブル１３のレコード番号ｎ（＝１）の印刷ジョブに対する“総印刷枚数”、“残り印刷枚数”の各情報を表示するとともに、タイマによる計時時間に基づいて“残り印刷時間”を更新して表示する（ステップＳ１９６）。
【００８５】
以上、ステップＳ１９２〜Ｓ１９６にて、新たにレコード番号「１」になった印刷ジョブ（これまで３行目に表示されていた印刷ジョブ）に関する、“ユーザ名”、“文書名”、“総印刷枚数”、“残り印刷枚数”の各情報、及び“残り印刷時間”が表示パネルの１行目と２行目とに表示される。
【００８６】
次に、表示部２０は、参照レコード番号ｎを「２」に設定し（ステップＳ１９８）、参照レコード番号ｎが「４」以下であるか否かを判断する（ステップＳ２００）。そして、参照レコード番号ｎが「４」以下である場合には（ステップＳ２００のＹＥＳ）、表示部２０は、ジョブテーブル１３のレコード番号ｎの“ジョブＩＤ”が空きでないか否かを判断する（ステップＳ２０２）。
【００８７】
そして、ジョブテーブル１３のレコード番号ｎの“ジョブＩＤ”が空きでない場合には（ステップＳ２０２のＹＥＳ）、表示部２０は、表示パネルのｎ＋１行目に、ジョブテーブル１３のレコード番号ｎの印刷ジョブに対する“ユーザ名”、“文書名”、“残り印刷時間”を表示する（ステップＳ２０４）。次に、表示部２０は、参照レコード番号ｎをインクリメントし（ステップＳ２０６）、ステップＳ２００に戻り、表示パネルの３、４、５行目に後続の印刷ジョブの情報を表示する。
【００８８】
つまり、上述したステップＳ２００〜Ｓ２０６にて、新たにレコード番号「２」〜「４」になった印刷ジョブ（これまで表示パネルの３〜５行目に表示されていた印刷ジョブと後続する印刷ジョブ）に関する、“ユーザ名”、“文書名”、及び“残り印刷時間”が表示パネルの３、４、５行目に表示される。
【００８９】
一方、参照レコード番号ｎが「４」に達した場合には（ステップＳ２００のＮＯ）、表示パネルの全ての行に対する表示が全て終了したことを意味し、また、参照レコード番号ｎのジョブＩＤが空きである場合には（ステップＳ２０２のＮＯ）、印刷ジョブがないことを意味するので、表示部２０は、更新フラグを「０」にクリアし（ステップＳ２０８）、ステップＳ１４０に戻り、再び、ジョブテーブル１３に登録や更新等の変更が発生するまで待機する。
【００９０】
一方、ステップＳ１９０で、更新フラグが「２（削除あり）」でない場合には（ステップＳ１９０のＮＯ）、ジョブテーブル１３に登録や更新等の変更がないことを意味するので、残り印刷時間を計算し直す必要はない。したがって、この場合、表示部２０は、まず、参照レコード番号ｎを「１」に設定し（ステップＳ２１０）、参照レコード番号ｎが「４」以下であるか否かを判断する（ステップＳ２１２）。
【００９１】
そして、参照レコード番号ｎが「４」以下である場合には（ステップＳ２１２のＹＥＳ）、表示部２０は、ジョブテーブル１３のレコード番号ｎの“ジョブＩＤ”が空きでないか否かを判断する（ステップＳ２１４）。ここで、ジョブテーブル１３のレコード番号ｎの“ジョブＩＤ”が空きでない場合には（ステップＳ２１４のＹＥＳ）、表示部２０は、表示パネルのｎ＋１行目の“残り印刷時間”をタイマによる計時時間に基づいて更新して表示する（ステップＳ２１６）。
【００９２】
次に、表示部２０は、参照レコード番号ｎをインクリメントし（ステップＳ２１８）、ステップＳ２１２に戻り、表示パネルのｎ＋１行目（３、４、５行目）の“残り印刷時間”をタイマによる計時時間に基づいて更新して表示する。つまり、ステップＳ２１２〜Ｓ２１８にて、ジョブテーブル１３のレコード番号「１」〜「４」の印刷ジョブに関する“残り印刷時間”をタイマによる計時時間に基づいて更新して表示する。
【００９３】
つまり、上述したステップＳ２１０〜Ｓ２１８にて、既に表示パネルに表示されている、レコード番号「１」〜「４」の各印刷ジョブに関する“残り印刷時間”がタイマによる計時時間に基づいて更新される。
【００９４】
一方、参照レコード番号ｎが「４」に達した場合には（ステップＳ２１２のＮＯ）、表示パネルの全ての行に対する表示が全て終了したことを意味し、また、参照レコード番号ｎのジョブＩＤが空きである場合には（ステップＳ２１４のＮＯ）、印刷ジョブがないことを意味するので、表示部２０は、更新フラグを「０」にクリアし（ステップＳ２２０）、ステップＳ１４０に戻り、再び、ジョブテーブル１３に登録や更新等の変更が発生するまで待機する。
【００９５】
上述した本実施形態による印刷ジョブ管理方法では、一旦プリンタスペックに応じて設定されている印刷時間テーブル２１を参照して計算を済ませたら、その後はエラーなどでプリンタの状況が変化しない限りは、計算し直す必要が無いので、ＣＰＵによってマルチタスクで稼働している各構成部を、常時（リアルタイムで）動作させない、あるいはより負担を軽減した処理を実行させるようにしたので、誤差範囲内で“残り印刷時間”を表示しつつ、ＣＰＵ能力などの資源を有効に活用することができる。
【００９６】
また、ＣＰＵ能力などの資源を有効に活用することで、より負担の大きい処理、例えばＲＩＰ処理などにＣＰＵ能力を優先的に割り振ることができ、結果的に、印刷ジョブの印刷時間を短縮することができる。
【００９７】
特に、表示部２０は、印刷ジョブの情報や、計算した“残り印刷時間”を一旦表示パネルに表示させたら、その後は“残り印刷時間”を単純にカウントダウン表示するように制御する。つまり、所定の管理項目としてのジョブテーブル１３の内容に変更が発生した場合や、何らかのエラー（ジャムなど）や、表示に関する修正事象が発生しない限り、表示パネルに表示している各印刷ジョブの“残り印刷時間”は、実際の残り印刷時間と大きく異なることはない。したがって、このような場合には、“残り印刷時間”を単純にカウントダウン表示することで、そのために使用されるＣＰＵ資源を限りなく少なくすることが可能となる。
【００９８】
また、上述した本実施形態による印刷ジョブ管理方法では、例えば、１行目に表示している“残り印刷枚数”のカウントダウンも、“残り印刷時間”に影響を与えるような状況の変化がない限り補正・調整する必要は無い。そこで、本実施形態では、ＣＰＵによってマルチタスクで稼働している制御部１２は、排紙部１９からの排紙完了の通知がある場合にのみ、ジョブテーブル１３の“残り印刷枚数”を更新し、外部からの通知がない場合には待機する。このように、外部からの通知がない場合に待機させることで、当該制御部１２の処理からＣＰＵを解放することが可能となる。この結果、ＣＰＵ資源の使用を最小限に抑えることができる。
【００９９】
このように、印刷ジョブの“残り印刷時間”に影響を与えるようなイベントには、例えば、エラー発生（用紙のジャムなど）、給紙カセット内の用紙残量、カラー＆Ｋトナー残量、Ｅａｒｌｙ  Ｓｔａｒｔ稼働中から通常印刷速度稼働への切り替わり等が考えられる。
【０１００】
なお、本来、“残りの印刷時間”を表示する意義は、ユーザが自分の印刷ジョブがいつ頃排出完了するのかを知ることで、長時間プリンタの前で無駄に待っていることを無くすためである。したがって、数秒単位の±誤差が許容範囲内（例えば１秒以内）であれば、その正確さよりも、より早く印刷処理を行い、より早く印刷排出完了させることの方が有用である。
【０１０１】
本実施形態によれば、ジョブテーブル１３に変化があった場合には、印刷ジョブの印刷状況と当該印刷ジョブの属性情報（印刷用紙サイズ、印刷速度、片面／両面）に従って印刷時間テーブル２１から得られる印刷時間とに基づいて、複数の印刷ジョブの各々に対する残り印刷時間を算出し、ジョブテーブル１３の内容に変化がない場合には、実時間に基づいて、複数の印刷ジョブの各々に対する残り印刷時間を算出するようにしたので、ＣＰＵ能力などの資源を有効に活用することができる。
【０１０２】
また、本実施形態によれば、印刷ジョブの残り印刷時間に影響を与えるような、エラーの発生（用紙のジャムなど）、給紙カセット内の用紙残量、カラー＆Ｋトナー残量、Ｅａｒｌｙ  Ｓｔａｒｔ稼働中から通常印刷速度稼働への切り替わり等が発生しない場合には、実際の残り印刷時間と大きく異ならない範囲で、複数の印刷ジョブの各々に対する残り印刷時間を算出することができる。
【０１０３】
また、本実施形態によれば、印字処理を実行する順番で、複数の印刷データの各々に対する処理時間を表示するようにしたので、ＣＰＵ能力などの資源を有効に活用することができるとともに、印刷ジョブの印刷が完了するまでの時間を容易に把握することができる。
【０１０４】
また、本実施形態によれば、ジョブテーブル１３の内容に変化がない場合には、実時間に基づいて算出された処理時間で、表示パネルに表示されている処理時間を更新するようにしたので、ＣＰＵ資源の使用を最小限に抑えることができる。
【０１０５】
また、本実施形態によれば、受信部１０による複数の印刷ジョブを受信して受信バッファ１１に保存する処理や、ＲＩＰ部１４による複数の印刷ジョブの印刷データの各々からビットマップ画像を生成する処理、あるいは排紙部１９による複数の印刷ジョブの印字が完了した用紙を排紙する処理の少なくともいずれか１つの進捗状況に変化があった場合に、印刷ジョブの印刷状況と当該印刷ジョブの属性情報（印刷用紙サイズ、印刷速度、片面／両面）に従って印刷時間テーブル２１から得られる印刷時間とに基づいて、複数の印刷ジョブの各々に対する残り印刷時間を算出し、上記それぞれの処理の進捗状況に変化がない場合には、実時間に基づいて、複数の印刷ジョブの各々に対する残り印刷時間を算出するようにしたので、ＣＰＵ能力などの資源を有効に活用することができる。
【０１０６】
以上、この発明のいくつかの実施形態について説明したが、この発明は、これらに限定されるものではなく、特許請求の範囲に記載された発明とその均等の範囲を含むものである。
以下に、本願出願の特許請求の範囲に記載された発明を付記する。
【０１０７】
（付記１）
付記１に記載の発明は、取得した印刷ジョブの属性情報を抽出する抽出手段と、前記属性情報を抽出した印刷ジョブに対して所定の処理を実行する処理手段と、前記処理手段による前記所定の処理の進捗状況を管理する管理手段と、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または当該画像形成装置の処理能力に基づいて、前記印刷ジョブに対する前記所定の処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算手段と、を備えることを特徴とする画像形成装置。
【０１０８】
（付記２）
付記２に記載の発明は、取得した印刷ジョブの属性情報を抽出する抽出手段と、前記属性情報を抽出した印刷ジョブに対して所定の処理を実行する処理手段と、前記処理手段による前記所定の処理の進捗状況を管理する管理手段と、実際の経過時間に基づいて前記印刷ジョブに対する前記所定の処理が完了するまでの残り時間をカウントダウンしていく演算手段と、を備え、前記演算手段は、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または当該画像形成装置の処理能力に基づいて前記残り時間を再演算することを特徴とする画像形成装置。
【０１０９】
（付記３）
付記３に記載の発明は、複数の印刷データの各々の属性情報を抽出する抽出手段と、前記複数の印刷データに対して印字処理を実行する印字処理手段と、前記複数の印刷データの各々に対する前記印字処理手段による進捗状況を管理する管理手段と、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または当該画像形成装置の処理能力に基づいて、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算手段と、を備えることを特徴とする画像形成装置である。
【０１１０】
（付記４）
付記４に記載の発明は、前記複数の印刷データのいずれかに対する進捗状況に変化を生じせしめる事象が発生したか否かを判断する判断手段を更に備え、前記演算手段は、前記判断手段によって進捗状況に変化を生じせしめる事象が発生したと判断された場合に、前記進捗状況に変化があったと判断する、ことを特徴とする付記３に記載の画像形成装置である。
【０１１１】
（付記５）
付記５に記載の発明は、前記印字処理手段が印字処理を実行する順番で、前記演算手段によって算出された、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を表示する表示手段を更に備える、ことを特徴とする付記３又は４に記載の画像形成装置である。
【０１１２】
（付記６）
付記６に記載の発明は、前記所定の管理項目について前記進捗状況に変化がない期間中は、前記表示手段に表示されている前記演算手段によって算出した残り時間を実際の経過時間に基づいてカウントダウンして更新していく更新手段を更に備える、ことを特徴とする付記５に記載の画像形成装置である。
【０１１３】
（付記７）
付記７に記載の発明は、前記印字処理手段は、前記複数の印刷データを受信して所定のバッファに保存する受信手段を含む、ことを特徴とする付記３乃至６のいずれか一つに記載の画像形成装置である。
【０１１４】
（付記８）
付記８に記載の発明は、前記印字処理手段は、前記複数の印刷データの各々からビットマップ画像を生成する画像処理手段を含む、ことを特徴とする付記３乃至６のいずれか一つに記載の画像形成装置である。
【０１１５】
（付記９）
付記９に記載の発明は、前記印字処理手段は、前記複数の印刷データの印字が完了した用紙を排紙する排紙手段を含む、ことを特徴とする付記３乃至６のいずれか一つに記載の画像形成装置である。
【０１１６】
（付記１０）
付記１０に記載の発明は、画像形成装置の印刷ジョブ管理方法であって、複数の印刷データの各々の属性情報を抽出するステップと、前記複数の印刷データに対して印字処理を実行するステップと、前記複数の印刷データの各々に対する前記印字処理による進捗状況を管理するステップと、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または前記画像形成装置の処理能力に基づいて、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算するステップと、を含むことを特徴とする印刷ジョブ管理方法である。
【０１１７】
（付記１１）
付記１１に記載の発明は、画像形成装置のコンピュータに、複数の印刷データの各々の属性情報を抽出する抽出機能、前記複数の印刷データに対して印字処理を実行する印字処理機能、前記複数の印刷データの各々に対する前記印字処理機能による進捗状況を管理する管理機能、所定の管理項目について前記進捗状況に変化があった場合には、前記属性情報または前記画像形成装置の処理能力に基づいて、前記複数の印刷データの各々に対して該印刷データに対する前記印字処理が完了するまでの残り時間を算出し、前記所定の管理項目について前記進捗状況に変化がない期間中は、実際の経過時間に基づいて前記算出した残り時間をカウントダウンしていく演算機能、を実現することを特徴とするプログラムである。
【符号の説明】
【０１１８】
１  画像形成装置
２  ホスト
１０  受信部
１１  受信バッファ
１２  制御部
１３  ジョブテーブル
１４  ＲＩＰ部
１５  印刷行列
１６  印刷行列テーブル
１７  転送部
１８  プリンタエンジン
１９  排紙部
２０  表示部
２１  印刷時間テーブル
２２  補正テーブル
【図１】
2016179563.tif 000003
【図２】
2016179563.tif 000004
【図３】
2016179563.tif 000005
【図４】
2016179563.tif 000006
【図５】
2016179563.tif 000007
【図６】
2016179563.tif 000008
【図７】
2016179563.tif 000009
【図８】
2016179563.tif 000010
【図９】
2016179563.tif 000011
【図１０】
2016179563.tif 000012
【図１１】
2016179563.tif 000013
【図１２】
2016179563.tif 000014
【図１３】
2016179563.tif 000015
【図１４】
2016179563.tif 000016
【図１５】
2016179563.tif 000017
【図１６】
2016179563.tif 000018