JP4364475B2 - Printing device - Google Patents
Printing device Download PDFInfo
- Publication number
- JP4364475B2 JP4364475B2 JP2002052436A JP2002052436A JP4364475B2 JP 4364475 B2 JP4364475 B2 JP 4364475B2 JP 2002052436 A JP2002052436 A JP 2002052436A JP 2002052436 A JP2002052436 A JP 2002052436A JP 4364475 B2 JP4364475 B2 JP 4364475B2
- Authority
- JP
- Japan
- Prior art keywords
- printing
- data
- print job
- descriptor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Record Information Processing For Printing (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、主記憶メモリ以外にハードディスクやフラッシュメモリ等の大容量の不揮発の外部記憶手段を内蔵した印刷装置に関する。
【0002】
【従来の技術】
一般に、印刷装置は、大きく2つのユニットで構成されている。1つは、用紙、封筒、OHPシート等の物理的な記録媒体を吸引および搬送し、その上にインク、トナー等を用いて白黒やカラーの像を形成する印刷ユニットである。もう1つは、ホストコンピュータから印刷データを受信し、この印刷データを処理して前記記録媒体上の像を表すデータ(以下、ビデオデータという)を生成し、前記印刷ユニットを制御しながら前記ビデオデータを前記印刷ユニットへ送信する制御ユニットである。
通常、印刷ユニットは、印刷前の記録媒体を格納しておく入力トレイを1つまたは複数有しており、入力トレイごとに異なるサイズや種類の記録媒体、例えばA4サイズの厚紙、B5サイズの薄紙、封筒、OHPシート等を収納できる。また、印刷ユニットは、印刷後の記録媒体の排出先となる1つまたは複数の出力ビンを有している。例えば、印刷面を上にして排出するための出力ビンや印刷面を下にして排出するための出力ビン、あるいは複写機と同様の複数段の出力ビンを有している。
【0003】
ホストコンピュータが、1ページまたは複数ページで構成される文書を印刷するために印刷装置へ送信するデータ(以下、印刷ジョブデータという)は、通常、印刷に用いる記録媒体の指定、記録媒体を吸引する入力トレイおよび搬出先の出力ビンの指定、あるいは印刷時の解像度の指定、印刷部数の指定等を行うためのジョブ制御コマンドと、そのジョブに属する各ページのページデータと、データの終わりを示すジョブ終端データで構成される。また、各ページデータは、通常、ビットマップ、JPEG、TIFF等の画像データ形式や、文字コード、画像データ、描画コマンド等を含むページ記述言語形式等で送信される。ページデータには、ジョブ制御コマンドと同様に、そのページの印刷に用いる記録媒体や入力ビンを指定するための制御コマンドが含まれている場合もある。
【0004】
制御ユニットは、前記ジョブ制御コマンドを解釈して、印刷の際に印刷ユニットに指定する記録媒体のサイズ、種類、入力トレイ、出力ビン、データの解像度等に関する印刷制御パラメータを取得する。また、ページデータに含まれる画像データの変換やページ記述言語コマンドの解釈・実行等の処理を行い、印刷ユニットへ送出するビデオデータを生成する。
【0005】
ビデオデータの形式としては、印刷ユニットごとに種々の形式があるが、例えば、白黒印刷装置ならば、ビットマップまたはそのビットマップを圧縮した形式が考えられるが、カラー印刷装置ならばシアン、マゼンタ、イエロー、ブラックといった色成分ごとのビットマップあるいは前記色成分ごとのビットマップを圧縮した形式が考えられる。
制御ユニットでは、ビデオデータが生成されると、前記印刷制御パラメータに従って、印刷ユニットに記録媒体の吸引と搬送を指示し、印刷ユニット内での記録媒体の走行に同期して、前記ビデオデータを印刷ユニットへ送出する。
以上のように、制御ユニットは、印刷ジョブデータの受信以降印刷ユニットからの記録媒体の排出までを制御する。
【0006】
図14は、従来の印刷装置の構成を示すブロック図である。この印刷装置1401は、制御ユニット1402と印刷ユニット1403で構成されている。制御ユニット1402は、CPU1404、ROM1405、RAM1406、ホストインタフェース(I/F)デバイス1407、ビデオインタフェース(I/F)デバイス1408、およびコマンドインタフェース(I/F)デバイス1409で構成されている。ROM1405には、制御ユニット1402の機能を実現するためのプログラムが格納されており、それはCPU1404によって実行される。RAM1406は、主メモリであり、受信データやビデオデータを格納する領域や、ROM1405に格納されているプログラムが使用する作業領域が割り振られる。制御ユニット1402は、ホストインタフェースデバイス1407を介してホストコンピュータ1400と接続されており、ホストコンピュータ1400が送信した印刷ジョブデータを受信する。この印刷ジョブデータは、制御ユニット1402内で処理され、ビデオデータが生成される。制御ユニット1402は、コマンドインタフェースデバイス1409を通じて前記ビデオデータを印刷ユニット1403へ送信する。また、印刷ユニット1403からの記録媒体の排出や異常状態の発生等の通知も、コマンドインタフェースデバイス1409を通じて制御ユニット1402へ送信される。
【0007】
このように構成された従来の印刷装置1401では、ホストコンピュータ1400から送信された印刷ジョブデータを受信した順に、前記のような処理手順に従って印刷処理が行われるため、印刷中の印刷ジョブデータがある場合には、その印刷ジョブデータの印刷が終了するか、印刷中の印刷ジョブデータを途中で破棄するまで、次の印刷ジョブデータを処理することができなかった。
【0008】
【発明が解決しようとする課題】
近年、ホストコンピュータ・印刷装置間のデータ通信には、LANやUSB等の高速インタフェースが採用されており、また、制御ユニットに備えられるCPUの動作も高速化されてきているため、印刷ジョブデータの受信と、その解釈・実行によるビデオデータの生成過程が高速化されている。特に、主要なデータが文字であって、1ページ当たりのデータが少ないビジネス文書等の印刷では、ホストコンピュータからの印刷ジョブデータの送信開始から印刷ユニットでの最終ページの排出までの印刷処理工程で、最も時間を要する処理は、印刷ユニット内での記録媒体の吸引、搬送および印刷の工程である。印刷ユニットの処理速度(通常1分当たりの印刷枚数を表すPPM値が用いられる)が全体の処理時間を決定することになるのである。
【0009】
また、昨今、印刷装置の処理速度の向上および印刷装置に収納できる記録媒体の大容量化に伴って、LAN等のネットワークを介して、複数のホストコンピュータから印刷装置へ印刷ジョブデータを送信することによって、1台の印刷装置を複数のホストコンピュータあるいは複数の利用者間で共用する利用形態が増えてきた。また、印刷される文書に含まれるページ数も増加している。
【0010】
このような形態の印刷装置では、印刷ジョブデータが集中している時間帯や、ページ数の多い印刷ジョブデータの印刷処理を行っている場合には、後から印刷ジョブデータを送信した利用者は印刷処理完了まで長く待たされるケースが多くなる。これでは、急を要する文書の印刷を行いたい場合に不都合が生じる。このような場合には、印刷装置に装着されているオペレータ用のパネルを操作して、印刷処理中の印刷ジョブデータを破棄(キャンセル)することも考えられるが、共有された印刷装置では、印刷処理中の印刷ジョブデータが誰の指示によるものかも分からないため、印刷ジョブデータを破棄すること自体が許されない状況にある。そのため、共有されている印刷装置では、印刷処理中の印刷ジョブデータを途中で破棄することなく中断して、優先度の高い印刷ジョブデータを先に処理し、その後に中断した印刷ジョブデータの処理を再開できる機能が望まれている。
【0011】
そこで、本発明は上記のような従来技術の有する問題点に鑑みなされたものであり、その目的は、受信した印刷ジョブデータの先後を問わず、その印刷ジョブデータの処理順序を任意に決定できる印刷装置を提供することにある。
【0012】
【課題を解決するための手段】
〈構成1〉
上記目的を達成するため、本発明の印刷装置は、印刷処理を実行するための印刷手段と、上位装置から印刷ジョブを受信するための受信手段と、受信した印刷ジョブを解読して該ジョブに含まれる各ページを印刷処理可能なビデオデータに順次展開する翻訳手段と、各ビデオデータを展開順に記憶するためのビデオデータ記憶手段と、ビデオデータ記憶手段に各ビデオデータが記憶される毎に印刷手段が各ビデオデータの印刷処理を順次実行するよう制御する印刷制御手段とを備える印刷装置であって、ユーザから中断指示を受け付けるための処理中断ボタンを有する操作入力パネルと、ビデオデータを退避させるための記憶手段とを備え、印刷制御手段は、印刷手段の印刷処理を実行中に処理中断ボタンの押下を検知すると、印刷手段に印刷処理を中断させると共に、翻訳手段に印刷未処理の残ページを解読させてビデオデータに展開させて該残ページ分のビデオデータを記憶手段に退避させ、印刷手段に次の印刷ジョブに基づく印刷処理を実行させて該印刷処理の終了を検知すると、記憶手段の残ページ分のビデオデータを印刷手段に印刷処理させるべく供給することを特徴とする。
【0015】
【発明の実施の形態】
以下、図示した一実施形態により本発明を詳細に説明する。
〈実施の形態1〉
図1は、本実施の形態にかかる印刷装置のハードウェア構成を示すブロック図である。本実施の形態の印刷装置101は、CPU104、ROM105、RAM106、ホストインタフェース(I/F)デバイス107、ビデオインタフェース(I/F)デバイス108、コマンドインタフェース(I/F)デバイス109、ディスクインタフェース(I/F)デバイス110、オペレータパネルインタフェース(I/F)デバイス111からなる制御ユニット102と、カットされた用紙や封筒、OHPシート等の記録媒体上にトナーやインク等を用いて白黒やカラーの像を形成する印刷ユニット103と、ビデオデータを格納するための外部記憶ユニット112と、制御ユニット102や印刷ユニット103に発生するエラーや警報等のメッセージを表示したり、ユーザが印刷処理中の印刷ジョブデータを中断させるためのボタン操作を行うオペレータパネル113と、を含み構成されている。
【0016】
ROM105には、制御ユニット102の機能を実現するためのプログラムが格納されており、これはCPU104によって実行される。RAM106は、主メモリであり、受信データやビデオデータを格納する領域や、ROM105に格納されているプログラムが使用する作業領域が割り振られる。制御ユニット102は、ホストインタフェースデバイス107を介してホストコンピュータ100と接続されており、ホストコンピュータ100が送信した印刷ジョブデータを受信する。この印刷ジョブデータは、制御ユニット102内で処理され、ビデオデータが生成される。このとき生成されるビデオデータの形式としては、例えば、白黒印刷装置ならば1ページ分のビットマップデータあるいはそのビットマップデータを圧縮した後のデータを用いることができる。また、カラー印刷装置の場合には、例えば、1ページ内のシアン、マゼンタ、イエロー、ブラック等の色成分ごとのビットマップデータまたはそのビットマップデータを圧縮した後のデータをビデオデータとすることができる。制御ユニット102は、そのビデオデータをコマンドインタフェースデバイス109を介して印刷ユニット103へ送信する。
【0017】
外部記憶ユニット112は、ディスクインタフェースデバイス110を介して制御ユニット102と接続されており、制御ユニット102からのビデオデータを書き込みまたは読み出しすることができるようになっている。この外部記憶ユニット112はできるだけ大容量のものが好ましく、例えばハードディスクを採用することが考えられる。外部記憶ユニット112内のビデオデータの格納形式としては、例えば、外部記憶ユニット112内にビデオデータを読み書きするための固定長の大容量ランダムアクセスファイルを1つ作成し、ファイルの先頭から印刷処理する順にビデオデータを書き込む形式が好ましい。
【0018】
印刷ユニット103は、制御ユニット102から、コマンドインタフェースデバイス109を介して記録媒体の吸引や印刷のための搬送開始等のタイミングに関する印刷コマンドを受信するとともに、ビデオインタフェースデバイス108を介してビデオデータを受信し、記録媒体の搬送に同期して記録媒体上に前記ビデオデータで表現された像を形成していく。また、印刷ユニット103は、印刷中の記録媒体が排出されたことや、異常が発生したこと等をコマンドインタフェースデバイス109を介して制御ユニット102へ通知する。具体的には、制御ユニット102に対して割り込みを発生させたり、メッセージを送信したりする。
【0019】
制御ユニット102が受信した印刷ユニット103からの記録媒体の排出や異常状態の発生等の通知と、制御ユニット102自身に発生した異常等の通知は、オペレータパネルインタフェースデバイス111を介してオペレータパネル113へ通知され、そのディスプレイ上にメッセージが表示される。また、オペレータパネル113のボタンの押下状態は、制御ユニット102がオペレータパネルインタフェースデバイス111を介して定期的に検出する。
【0020】
次に、印刷装置101を構成する制御ユニット102内のモジュール構成について説明する。制御ユニット102内のモジュールはソフトウェアであり、そのプログラムは図1に示したROM105内に格納されており、これはCPU104によって実行される。図2は、この制御ユニット102内のモジュール構成を示すブロック図である。制御ユニット102は、印刷ジョブデータ受信モジュール201、印刷データ翻訳モジュール202、印刷制御モジュール203およびオペレータパネル監視モジュール204を有しており、各モジュールはそれぞれ独立して動作することが可能である。また、データ受信領域として、受信バッファ205とジョブ記述子スタック206が設けられている。受信バッファ205は、ホストコンピュータ100から受信した印刷ジョブデータを図1に示したRAM106内に書き込み、または前記RAM106内に書き込まれてた印刷ジョブデータを書き込まれた順に読み出すことができる。なお、この印刷ジョブデータの読み書きは排他的に行われる。
【0021】
ジョブ記述子スタック206内の構成は、各印刷ジョブデータに対して1つずつ生成されるジョブ記述子を生成された順に積み上げた配列となっており、ジョブ記述子スタック206へのジョブ記述子の追加削除は排他的に行われる。図3は、ジョブ記述子スタック206の構成の一例を示す図である。ここでは、2つのジョブ記述子301、302が格納されているジョブ記述子スタック206を示している。ジョブ記述子301が印刷中断された印刷ジョブデータを表し、ジョブ記述子302が現在印刷処理がなされているものより後に受信された印刷ジョブデータを表している。また、印刷ジョブポインタ300は、現在印刷中の印刷ジョブデータを示すポインタであり、印刷中の印刷ジョブデータがない場合には0に設定される。
【0022】
ジョブ記述子301は、ページ記述子リスト301aと、ジョブ終端検出フラグ301bと、印刷中断フラグ301cを備えている。ページ記述子リスト301aは、印刷ジョブポインタ300が示す印刷ジョブデータに属するページのページ記述子301a−1、301a−2、…を印刷処理を行う順に配列したものである。ジョブ終端検出フラグ301bは、ページ記述子リスト301aに印刷ジョブポインタ300が示す印刷ジョブデータに属するすべてのページ記述子が配列されている場合には1に、さもなくば0に設定されるフラグである。印刷中断フラグ301cは、印刷ジョブポインタ300が示す印刷ジョブデータの処理が中断された場合には1に、さもなくば0に設定されるフラグである。また、ジョブ記述子302もこのジョブ記述子301と同様に構成されている。
【0023】
ページ記述子が新しく生成されると(例えば、ページ記述子301a−n)、新しく生成されたページ記述子301a−nは、それが所属するページ記述子リスト301aの最後に追加されていく。また、印刷ユニット103内でページデータの印刷は、ページ記述子リスト301aの先頭のページ記述子301a−1から順に行われる。ページ記述子301a−1の印刷処理が終了すると、ページ記述子301a−1はページ記述子リスト301aから削除される。
【0024】
図4は、このページ記述子301a−1の構成の一例を示す図である。ページ記述子301a−1は、外部記憶フラグ301a−1aと、格納位置ポインタ301a−1bを備えている。外部記憶フラグ301a−1aは、前記印刷データ翻訳モジュール202が、印刷ジョブデータに含まれる画像データや文字コード、描画コマンド等を翻訳・実行することによって生成した1ページ分のビデオデータが、外部記憶ユニット112に格納されている場合には1に、制御ユニット102内の主メモリであるRAM106上にある場合には0に設定されるフラグである。格納位置ポインタ301a−1bは前記ビデオデータの格納位置(RAM106上にあるか外部記憶ユニット112内にあるか)を指し示すものである。
【0025】
本実施の形態の印刷装置101では、印刷ジョブデータ受信モジュール201は、ホストインタフェースデバイス107を介して、ホストコンピュータ100が送信した印刷ジョブデータを受信し、この印刷ジョブデータを受信バッファ205に書き込む。また、印刷ジョブデータ受信モジュール201は、受信バッファ205が一杯になった場合あるいは一杯になりかけた場合には、ホストインタフェースデバイス107を介してホストコンピュータ100へ印刷ジョブデータの送信停止要求信号を送る。また、受信バッファ205から印刷ジョブデータが読み出されて空き容量ができると、印刷ジョブデータ受信モジュール201は、ホストコンピュータ100へ印刷ジョブデータの送信再開要求信号を送る。ホストコンピュータ100から送られてくる印刷ジョブデータには、印刷データ翻訳モジュール202が、印刷ジョブデータの境界の検出が可能なように、印刷ジョブデータの終わりを示す所定の終端マーク用のデータやコマンドを付与してある。また、印刷ジョブデータの先頭にその印刷ジョブデータの長さを付与しても同様の効果がある。
【0026】
印刷データ翻訳モジュール202は、受信バッファ205からの印刷ジョブデータの最初のデータを受信した際に、図3に示したジョブ記述子301を生成し、その中のジョブ終端検出フラグ301bと印刷中断フラグ301cを0に設定した後、このジョブ記述子301をジョブ記述子スタック206に積む。その後、受信バッファ205から印刷ジョブデータを逐次読み出して翻訳・実行し、1ページ分のビデオデータがRAM106上に生成されると、図4に示したページ記述子301a−1を生成して、その中の外部記憶フラグ301a−1aを0に設定し、RAM106上のビデオデータの格納アドレスを格納位置ポインタ301a−1bへ書き込む。この後、ジョブ記述子スタック206の一番上にあるジョブ記述子内のページ記述子リストの終わりに、生成したページ記述子を追加する。この処理は、印刷ジョブデータの終端が検出されるまで繰り返される。印刷データ翻訳モジュール202は、印刷ジョブデータの終端を検出すると、ジョブ記述子スタック206の一番上に積まれているジョブ記述子内のジョブ終端検出フラグを0に設定する。このようにして、1つの印刷ジョブデータの処理が終了し、次の印刷ジョブデータも同様の方法で処理していく。
【0027】
前記ページ記述子リストにページ記述子が追加されると、印刷制御モジュール203に状態変化、即ち新たなページ記述子の追加が通知される。印刷データ翻訳モジュール202が停止するのは、印刷ジョブデータを読み出そうとした時に受信バッファ205中に印刷ジョブデータがない場合か、ジョブ記述子やページ記述子を生成するための必要なメモリ領域が獲得できない場合である。印刷データ翻訳モジュール202が、受信バッファ205中に印刷ジョブデータがないことによって停止した場合は、印刷ジョブデータ受信モジュール201が印刷ジョブデータを受信バッファ205へ送ると、印刷データ翻訳モジュール202は動作を再開する。一方、必要なメモリ領域を確保できないために印刷データ翻訳モジュール202が停止したときは、次の場合に印刷データ翻訳モジュール202が動作を再開する。即ち、印刷制御モジュール203がすでに生成されているページの印刷を行って、不要となったページ記述子に割り付けられていたメモリ領域の解放がなされるか、中断された印刷ジョブデータのページを外部記憶ユニット112へビデオデータとして書き込み、このビデオデータが格納されていたメモリ領域を解放するかして、空きメモリ領域ができた場合である。
【0028】
オペレータパネル監視モジュール204は、図1に示したオペレータパネルインタフェースデバイス111を介してオペレータパネル113の処理中断指令用のボタンが押下されたか否かを検出する。処理中断ボタンが押下されたのを検出すると、印刷ジョブポインタ300が0でない場合に、印刷ジョブポインタ300が指し示すジョブ記述子内の印刷中断フラグを1に設定する。
【0029】
次に、印刷制御モジュール203が行う処理の手順を図5に示したプログラムを参照しながら説明する。図5に示すプログラム文は、if-elseやwhile等の制御文を用いてC言語を真似た疑似言語で記載してある。
まず、印刷制御モジュール203は、ジョブ記述子スタック206を空の状態に初期化し、処理中の印刷ジョブデータのジョブ記述子を指す印刷ジョブポインタ300を0に初期化する(500〜501行目)。その後、502〜548行目の処理を繰り返すことになる。
【0030】
ループの先頭では、まず、印刷ジョブポインタ300が0でなく(処理中の印刷ジョブデータが存在し)、かつ、印刷ジョブポインタ300が指し示すジョブ記述子内のページ記述子リストが空でない場合には(503〜504行目)、前記ページ記述子リスト中のページ記述子に対して506〜526行目の処理を繰り返す。もし、印刷ジョブポインタ300が指し示すジョブ記述子の印刷中断フラグが0(印刷中)の場合、ページ記述子内のビデオデータを印刷ユニット103に送信し、印刷を行う(515〜518行目)。その際、印刷ジョブポインタ300が指し示すジョブ記述子が、中断されていた印刷ジョブデータのものならば、そのビデオデータは外部記憶ユニット112内のファイルに格納されているため、ビデオデータをファイルからRAM106上に読み上げる必要がある(511〜513行目)。印刷ジョブポインタ300が指し示すジョブ記述子の印刷中断フラグが1(中断処理中)の場合には、外部記憶ユニット112内のファイルに書き出されていないジョブ記述子リスト内のデータをそのファイルに書き込む(520〜523行目)。
【0031】
ページ記述子リストの終わりに到達すると、印刷ジョブポインタ300が指し示すジョブ記述子の全ページが処理されたか否かを調べる。すべてのページ記述子の処理が終了していない場合には、新たなページ記述子が生成されるまで待つ(545〜547行目)。印刷ジョブポインタ300が指し示すジョブ記述子内の全ページ記述子の処理が完了した場合には、次に処理すべき印刷ジョブデータを選択することになる。ただ、印刷ジョブポインタ300が指すジョブ記述子が、印刷処理されたか中断されたかによって、次に選択される印刷ジョブデータは異なる。
【0032】
印刷ジョブポインタ300が指し示すジョブ記述子の処理が中断された場合には、ジョブ記述子スタック206内の未処理のジョブ記述子の中で、最も古い(スタックのより下にある)ものが、次に処理するジョブ記述子として選択され、処理される(529〜531行目)。未処理のジョブ記述子がない場合には、新たなジョブ記述子が生成され、そこに最初のページ記述子が追加されるまで待つことになる。
【0033】
一方、印刷ジョブポインタ300が指し示すジョブ記述子が印刷処理された場合には、まず、印刷ジョブポインタ300が指すジョブ記述子は不要になったため、ジョブ記述子スタック206から取り除かれ、その分メモリ領域が解放される。次に、ジョブ記述子スタック206中に、処理が中断されているジョブ記述子が存在するか否かを調べる。処理が中断されているジョブ記述子が存在する場合には、最も新しい(スタックのより上側にある)ジョブ記述子を次に処理するジョブ記述子として選ぶ。その際、選択されたジョブ記述子内の印刷中断フラグは0に設定される(535〜537行目)。処理が中断されているジョブ記述子がない場合には、未処理の印刷ジョブデータのジョブ記述子があればそのもっとも古いものを選び、それを次に処理するジョブ記述子とする(538〜539行目)。ジョブ記述子スタック206が空の場合には、新たなジョブ記述子が生成され、そこに最初のページ記述子が登録されるまで待つ。
【0034】
以上説明したように、本実施の形態の印刷装置では、オペレータパネル113に現在印刷中の印刷ジョブデータの処理中断が表示されると、印刷制御モジュール203は現在印刷処理中の印刷ジョブデータの残りページのビデオデータを印刷ユニット103に送るのではなく、外部記憶ユニット112に保存する。通常、圧縮されたビデオデータはそれを印刷ユニット103で印刷するよりも、外部記憶ユニット112に格納するほうが速い。したがって、印刷処理中のビデオデータを最後まで処理することに比べ、印刷処理を中断してビデオデータを外部記憶ユニット112に格納するほうが、速やかに次の印刷ジョブデータの処理に移行できる。
【0035】
例えば、縦横1インチ当たり600ドットの画素(以下、600DPIという)で構成されるA4サイズの白黒の画像を1画素当たり1ビットで表現したビデオデータあるいはビットマップデータは、圧縮を行わない場合4Mバイト程度の容量がある。また、通常のビジネス文書は、面積的に画像データよりも文字データを多く含むため、そのビデオデータを圧縮した場合、1/10〜1/5程度の容量に簡単に圧縮できるものが多い。そのような場合、600DPIのA4サイズ1ページ当たりのビデオデータの容量は、0.4〜0.8Mバイト程度にまで小さくなる。一方、近年のパーソナルコンピュータ(以下、PCという)で用いられている標準的なハードディスクでは、1秒当たり8Mバイト以上のデータ転送速度を実現している。そのため、圧縮しなくても、A4サイズの600DPIの白黒のビデオデータを約0.5秒で書き込める。10/1〜5/1に圧縮した場合には、そのビデオデータを0.05〜0.1秒でハードディスクに書き込める。また、ハードディスクの容量も数Gバイト程度のものが主流となっており、標準的なPCの主メモリに対して数十〜数百倍程度の容量となっている。これに対し、印刷ユニット103での印刷速度はビデオデータの容量に関係なく一定であり、比較的高速な印刷装置でも1分当たりの印刷ページ数(以下PPMという)は20〜50程度であり、1ページ当たりの印刷所要時間は1〜3秒程度を要する。したがって、前記ビデオデータをハードディスクに格納する時間は、印刷ユニット103での印刷時間に比べて、ビデオデータを圧縮できない場合でも1/6〜1/2、圧縮できた場合には1/60〜1/10程度にできる。
【0036】
また、本実施の形態の印刷装置では、通常の文書では、前述のように外部記憶ユニット112へのビデオデータの書き出し時間と、印刷ユニット103での印刷時間の差が大きく開くことを利用し、印刷処理中の印刷ジョブデータを中断する間に、ビデオデータを外部記憶ユニット112へ退避させることによって、印刷処理中の印刷ジョブデータの受信とビデオデータ生成処理を速やかに終了させる。そして、次の印刷ジョブデータの印刷処理を速やかに開始し、その印刷ジョブデータの処理が終了した後に、外部記憶ユニット112に退避させておいたビデオデータを用いて、中断した前記印刷ジョブデータの残りのページ印刷を再開することができる。
【0037】
〈実施の形態2〉
本実施の形態にかかる印刷装置のハードウェア構成は実施の形態1のものと同様であるため、説明は省略する。図6は、本実施の形態の印刷装置601を構成する制御ユニット602内のモジュール構成を示すブロック図である。制御ユニット602内のモジュールはソフトウェアであり、そのプログラムは図1に示したROM105内に格納されており、これはCPU104によって実行される。本実施の形態の印刷装置601のモジュール構成は、図2に示したものに加えて、ビデオデータ格納モジュール603が設けられている。そして、このビデオデータ格納モジュール603を含めた各モジュールはそれぞれ独立して動作することが可能である。
【0038】
本実施の形態の印刷装置601も、実施の形態1のものと同様、印刷処理中の印刷ジョブデータを廃棄することなく、できる限り速やかに中断して、後続の印刷ジョブデータの印刷処理を開始し、それが終了した時点で、中断していた前記印刷ジョブデータの印刷処理を再開することができる。
以下の説明では、実施の形態1の装置と同様の動作が行われる部位の説明は省略している。
【0039】
ビデオデータ格納モジュール603は、オペレータパネル113の処理中断ボタンが押下され、それをオペレータパネル監視モジュール204が検出し、図3に示した印刷ジョブポインタ300が差し示す印刷処理中のジョブ記述子内の中断フラグが1に設定された際に、オペレータパネル監視モジュール204からの信号で作動する。作動したビデオデータ格納モジュール603は、印刷処理中のジョブ記述子内のページ記述子リストを後ろから前に向かってたどりながら、図5に示したプログラムの520〜523行目の記述と同様の方法により、ビデオデータを外部記憶ユニット112に格納し、前記ビデオデータを格納していたRAM106のメモリ領域を解放する。その際、ビデオデータ格納モジュール603は、すでに外部記憶ユニット112に格納されているページ記述子と同じページ記述子と出会うと、そこで処理を中断し待機状態となる。また、印刷データ翻訳モジュール202は、新たに生成したページ記述子を、印刷ジョブポインタ300が指し示す印刷処理中のジョブ記述子のページ記述子リストに追加した際に、ビデオデータ格納モジュール603を作動させる。再度作動したビデオデータ格納モジュール603は、前述した方法で、印刷処理中のジョブ記述子のページ記述子リストを後ろからたどって、当該ビデオデータを外部記憶ユニット112に格納し、RAM106のメモリ領域を解放していく。
【0040】
印刷制御モジュール203は、図7に示すプログラムに従った処理を実行する。特に、実施の形態1の装置と異なるのは次の点である。即ち、図7に示すプログラムの706〜709行目の記述にあるように、印刷ジョブポインタ300が指し示す印刷処理中のジョブ記述子の中断フラグが1に設定された場合(印刷中断要求があった場合)でも、印刷処理中のジョブ記述子のページ記述子リストに最終のページ記述子が生成されるまで、印刷ユニット103では印刷処理を継続する。また、前記ページ記述子リストに最終のページ記述子が追加された際に、印刷処理中のジョブ記述子内の当該ページ記述子リストに他のページ記述子がなかったならば、最終ページも印刷し、中断要求のあった印刷処理中の印刷ジョブデータを中断させずに正常に終了させる。
【0041】
実施の形態1では、印刷ジョブデータが複雑であるため印刷データ翻訳モジュール202がビデオデータを生成するために時間を要する。したがって、現在印刷処理中の印刷ジョブデータの処理を中断しないでそのまま印刷する場合とそれを中断する場合とで、次の印刷ジョブデータの印刷処理が可能になるまでの時間差が殆どないといった状態が発生することがある。
【0042】
そこで、このような欠点を補うため、本実施の形態では、印刷制御モジュール203が印刷処理中の印刷ジョブデータの処理を中断する場合でも、印刷処理中のジョブ記述子内のページ記述子リストに最終のページ記述子が生成されるまでは、印刷ユニット103での印刷の中止は行わない。したがって、印刷データ翻訳モジュール202がビデオデータを生成する速度が印刷ユニット103の印刷速度(PPM値)よりも遅い場合、前記最終のページ記述子が生成された時点で、印刷処理中のジョブ記述子内に前記最終のページ記述子しか存在しない場合には、その最終のページ記述子も印刷するようにしておけば、前述した実施の形態1の装置における問題点も解消できる。
【0043】
また、本実施の形態では、現在印刷処理中の印刷ジョブデータの処理を中断する際に、印刷制御モジュール203自体は、最後のページ記述子が生成されるまでは印刷処理を継続するが、この間ビデオデータ格納モジュール603が印刷処理中のジョブ記述子につながれているページ記述子内のデータを外部記憶ユニット112に書き出していく。したがって、RAM106上で保存されているビデオデータは、印刷ユニット103が印刷中のページのものだけになる。それ以外の未印刷ページのビデオデータ用のメモリ領域は、ビデオデータ格納モジュール603によって解放される。したがって、装置全体としては、利用可能なメモリ領域が増えるため、印刷データ翻訳モジュール202は、より多くのページ記述子を生成することが可能になり、結果として、現在印刷処理中の印刷ジョブデータの処理中断速度が加速される。この効果は、印刷データ翻訳モジュール202によるビデオデータの生成速度が、印刷ユニット103の印刷速度より速いほど大きくなる。
【0044】
〈実施の形態3〉
本実施の形態にかかる印刷装置のハードウェア構成は、図1に示した実施の形態1の装置と同様である。また、印刷装置を構成する制御ユニット内のモジュール構成は図6に示した実施の形態2のものと同様である。本実施の形態の印刷装置では、印刷データ翻訳モジュール202が受信した印刷ジョブデータを外部記憶ユニット112に格納し、中断された印刷ジョブデータの処理を再開する際に、格納しておいた前記印刷ジョブデータを読み出して再度処理を行うものである。
以下の説明では、実施の形態1または2の装置と同様の動作が行われる部位の説明は省略している。
【0045】
図8は、印刷データ翻訳モジュール202が生成するジョブ記述子801の構成の一例を説明するための図である。ジョブ記述子801は、図3に示したジョブ記述子301、302と同様のページ記述子リスト801a、ジョブ終端検出フラグ801b、印刷中断フラグ801cに加え、ページ記述子総数801dと印刷ジョブデータ格納位置ポインタ801eを備えている。ページ記述子総数801dは、印刷ジョブデータの処理を中断した時点(正確には、処理中断に伴い印刷データ翻訳モジュール202がページ記述子の生成を停止した時点)までに生成されていたページ記述子の総数を示すものである。また、印刷ジョブデータ格納位置ポインタ801eは、印刷データ翻訳モジュール202が外部記憶ユニット112に格納した印刷ジョブデータの格納位置を示すポインタである。
【0046】
印刷データ翻訳モジュール202は、最初の印刷ジョブデータを受信したとき、図8に示すジョブ記述子801を生成し、すべての要素を0に初期化する。その後、外部記憶ユニット112上に受信した印刷ジョブデータを格納するためのファイルを生成し、そのファイルへのポインタを印刷ジョブデータ格納位置ポインタ801eに設定する。そして、ジョブ記述子801をジョブ記述子スタック206へ送る。また、印刷データ翻訳モジュール202内にもジョブ記述子801へのポインタを保持しておく。
【0047】
次に、印刷データ翻訳モジュール202は、受信した印刷ジョブデータを外部記憶ユニット112上の前記ファイルに書き込みながら、印刷ジョブデータを翻訳・実行し、1ページ分のビデオデータとページ記述子を生成し、これを前記ジョブ記述子801のページ記述子リスト801aの終わりに追加する。その際、ジョブ記述子801のページ記述子総数801dが1増加される。その後、印刷データ翻訳モジュール202は、ページ記述子801の印刷中断フラグ801cが0か1かを確認し、それが0の間は前記印刷ジョブデータの受信、翻訳・実行、およびページ記述子の生成と、ここで生成されたページ記述子をページ記述子リスト801aへ追加する動作を繰り返す。これに対して、印刷中断フラグ801cが1の場合には、印刷ジョブデータの翻訳・実行は中止し、これ以降は印刷ジョブデータを単に受信して、外部記憶ユニット112に格納するだけのデータ読み込みモードに移行する。そして、印刷ジョブデータの終わりに到達するまで、そのデータ読み込みモードは維持される。
【0048】
印刷制御モジュール203は、実施の形態2の装置と同様に、ジョブ終端検出フラグ802bが設定されるを待つことなく、即座に印刷ジョブデータの処理を停止する。そして、印刷制御モジュール203は、ページ記述子リストに最初のページ記述子が登録されたジョブ記述子がジョブ記述子スタック206に登録されるまで待機する。
【0049】
一方、印刷処理の中断に伴い、印刷ジョブデータの読み出しと外部記憶ユニット112への格納のみを行っている印刷データ翻訳モジュール202は、印刷ジョブデータの終端に到達すると、前記データ読み込みモードを終了し、再び印刷データの翻訳・実行を行うモードに戻る。そして、次の印刷ジョブデータを中断することなく処理し終えた場合には、印刷ジョブポインタが0でなければ、そのポインタが指し示すジョブ記述子から、印刷ジョブデータ格納位置ポインタを取得する。そして、これが示すファイルから印刷ジョブデータを読み込んで、これを翻訳・実行しページ記述子を生成する。ただし、ファイルから読み出した印刷ジョブデータから生成されたページ記述子の個数が、ジョブ記述子に格納されているページ記述子総数を越えない間は、生成したページ記述子を印刷ジョブポインタが指し示すジョブ記述子に登録することなく破棄し、前記ページ記述子総数を越えたものからは、前記ジョブ記述子に追加していく。これにより、1度生成されたビデオデータと同じものが重複して生成されることを防止する。
【0050】
実施の形態1および2の装置は、現在印刷処理中の印刷ジョブデータの処理中断の要請があった場合に、その印刷ジョブデータを終わりまで翻訳・実行し、ビデオデータとページ記述子は生成してしまうが、外部記憶ユニット112へのビデオデータの格納速度に比べかなり低速な印刷ユニット103へのビデオデータの転送および印刷を行わないことによって、印刷処理中の印刷ジョブデータの処理を速やかに中断し、後続の印刷ジョブデータのできる限りはやい処理を可能にしていた。しかし、印刷ジョブデータの翻訳・実行に時間がかかっている場合には、印刷処理中の印刷ジョブデータを最後まで翻訳・実行すること自体に問題があった。
【0051】
この問題点を解決するため、本実施の形態の装置は、印刷データ翻訳モジュール202において、受信した印刷ジョブデータを外部記憶ユニット112に格納し、外部記憶ユニット112に格納しておいた印刷ジョブデータを読み出して処理する機能と、前記ジョブ記述子内の印刷中断フラグが1に設定されると、その後ページ記述子を生成した時点で、印刷ジョブデータの翻訳・実行処理を中止し、印刷ジョブデータの読み込みと外部記憶ユニット112への格納のみを行う機能を追加した。また、印刷ユニット103においては、印刷処理中の印刷ジョブデータの処理を中断した際に、その時点までに印刷したページ数と、印刷データ翻訳モジュール202が外部記憶ユニット112に格納した印刷ジョブデータの格納位置をジョブ記述子に記録しておき、印刷データ翻訳モジュール202が外部記憶ユニット112に格納しておいた印刷ジョブデータを再度読み出してページ記述子を生成した場合に、ジョブ記述子に記録しておいたページ数分のページ記述子を破棄する機能を追加している。
【0052】
即ち、予め印刷ジョブデータを外部記憶ユニット112に格納しておくことにより、印刷処理の中断要求があった場合には、それ以降印刷ジョブデータは翻訳・実行せずに単に外部記憶ユニット112に格納していき、印刷処理再開時に、格納しておいた印刷ジョブデータを先頭から再度翻訳・実行していき、中断前に生成済みのページ以降のページ記述子のみを生成する。これにより、印刷処理中断時の印刷ジョブデータの翻訳・実行による遅延の問題を回避できる。
【0053】
〈実施の形態4〉
実施の形態1〜3に示した装置では、セントロやRS232C、USBのようなホストインタフェースを通して、印刷装置がホストコンピュータから印刷ジョブデータを受信する場合に、これらのインタフェースは、図9に示すように、1つのデータチャンネル上に複数の印刷ジョブデータが逐次送信されてくる状態を想定している。このため、例えば、図9に示す先頭の印刷ジョブデータ900−1の印刷処理を中断して、次の印刷ジョブデータ900−2の印刷処理を開始するには、先に送られた印刷ジョブデータ900−1をすべて受信してから次の印刷ジョブデータ900−2を取り出す必要がある。そこで、実施の形態1〜3の装置では、中断対象の印刷ジョブデータを最後まで翻訳・実行してビデオデータを生成するか、単に印刷ジョブデータを保存しながら読み飛ばすかしているが、何れにせよ、そのことが印刷処理中の印刷ジョブデータの処理を中断する際に状況によっては長い時間を要する原因となっている。
【0054】
一方、図10に示すように、LAN上のTCP/IPプロトコルを用いて、ホストコンピュータ・印刷装置間で複数の仮想チャンネルを張り、各チャンネルごとに1つの印刷ジョブデータを送ることも考えられる。
そこで、本実施の形態では、図10に示した状況において、次の印刷ジョブデータを取り出すために、処理中断した印刷ジョブデータの最後まで読み進むことをせずに、印刷処理中の印刷ジョブデータをより素早く中断することを可能とする。特に、TCP/IPプロトコルを用いた複数の仮想チャンネルから印刷ジョブデータを受信するような環境では、基本的に各印刷ジョブデータはすべて別のチャンネルから受信されるため、どのような印刷ジョブデータであっても、即座に(直近のページ境界)で処理を中断し、別の印刷ジョブデータの印刷処理を開始することが可能となる。
【0055】
本実施の形態にかかる印刷装置のハードウェア構成も図1に示した実施の形態1の装置と同様であるため、説明は省略する。また、図11は、本実施の形態の印刷装置1101を構成する制御ユニット1102内のモジュール構成を示すブロック図である。制御ユニット1102内のモジュールはソフトウェアであり、そのプログラムは図1に示したROM105内に格納されており、これはCPU104によって実行される。本実施の形態のモジュールは、複数のホストインタフェースに対応するため、複数の印刷ジョブデータ受信モジュール1103a、1103b、1103c、…と、複数の受信バッファ1104a、1104b、1104c、…を備えている点を除き、実施の形態2に示した印刷装置のものと同様である。
【0056】
また、図12に示すように、本実施の形態の印刷装置で生成されるジョブ記述子1201は、図8に示したジョブ記述子801と同様の、ページ記述子リスト1201a、ジョブ終端検出フラグ1201b、印刷中断フラグ1201c、ページ記述子総数1201d、印刷ジョブデータ格納位置ポインタ1201eに加え、ホストインタフェース(T/F)識別子1201fを含んでいる。このホストインタフェース識別子1201fは、印刷処理中の印刷ジョブデータの処理を中断する際に、現在受信中のホストインタフェースを認識し、次に処理すべき印刷ジョブデータを処理中断された印刷ジョブデータを受信したホストインタフェース以外から受信できないかを調べる際に参照される。
以下の説明では、実施の形態1〜3の装置と同様の動作が行われる部位の説明は省略している。
【0057】
本実施の形態の印刷装置1101では、印刷データ翻訳モジュール202は、最初または次の印刷ジョブデータの受信を行う際には、ラウンドロビンや固定順序等所定の順番にホストインタフェースにアクセスしてデータの有無を調べ、印刷ジョブデータを有するホストインタフェースからデータの受信を始める。その際、まず、図12に示すジョブ記述子1201を生成し、すべての要素を0に初期化した後、外部記憶ユニット112上に受信した印刷ジョブデータを格納するためのファイルを生成し、そのファイルへのポインタをジョブ記述子1201の印刷ジョブデータ格納位置ポインタ1201eに設定する。また、印刷ジョブデータを受信するホストインタフェースの識別子をジョブ記述子1201のホストインタフェース識別子1201fに設定する。最後に、ジョブ記述子1201をジョブ記述子スタック206へ送る。また、印刷データ翻訳モジュール202内に、ジョブ記述子スタック206へ送ったジョブ記述子1201へのポインタを保持しておく。
【0058】
次に、印刷データ翻訳モジュール202は、受信した印刷ジョブデータを外部記憶ユニット112上の前記ファイルに書き込みながら印刷ジョブデータを翻訳・実行し、1ページ分のビデオデータとページ記述子を生成し、それをジョブ記述子1201のページ記述子リスト1201aの終わりに追加する。その際、ジョブ記述子1201中のページ記述子総数1201dが1増加される。その後、印刷データ翻訳モジュール202はページ記述子1201の印刷中断フラグ1201cが0か1かを調べる。印刷中断フラグ1201cが0の間は、前記の印刷ジョブデータの受信、翻訳・実行、およびページ記述子1201の生成とページ記述子リスト1201aへの追加を繰り返す。一方、印刷中断フラグ1201cが1の場合には、印刷ジョブデータの翻訳・実行を中断する。
【0059】
次に、中断された印刷ジョブデータのジョブ記述子1201に格納されているホストインタフェース識別子1201fを取り出し、この識別子で指定されるホストインタフェースの受信バッファ上に別の印刷ジョブデータがあるか否かを所定の順番にアクセスして調べる。もし、存在していない場合には、実施の形態3の場合と同様に、それ以降は印刷ジョブデータを受信して、外部記憶ユニット112に格納するだけのデータ読み込みモードに移行し、印刷ジョブデータの終わりに到達するまで、そのデータ読み込みモードを継続する。そして、印刷ジョブデータの終わりに到達すると、そこでホストインタフェースを0クリアする。他のホストインタフェース上に印刷ジョブデータがある場合には、中断したジョブ記述子1201中のホストインタフェース識別子1201fはそのままにして、新たなホストインタフェースからの印刷ジョブデータの受信・処理を開始する。
【0060】
中断した印刷ジョブデータのジョブ記述子1201中のホストインタフェース識別子1201fの値が0である場合は、中断した印刷ジョブデータの処理を再開時に、ジョブ記述子1201中の印刷ジョブデータ格納位置ポインタ1201eが指し示す外部記憶ユニット112上のファイルに、すべての印刷ジョブデータが格納済みの状態である。また、ホストインタフェース識別子1201fが0でない場合は、まず、ジョブ記述子1201中の印刷ジョブデータ格納位置ポインタ1201eが指し示す外部記憶ユニット112上のファイルから、印刷ジョブデータを読み出し、すべてのデータを読み出すと、ホストインタフェース識別子1201fが指し示すホストインタフェースから残りのデータを読み出す処理に移る。
【0061】
〈実施の形態5〉
実施の形態1〜4に示した印刷装置では、オペレータパネル113経由で印刷処理中の印刷ジョブデータの処理を中断することを想定しているが、本実施の形態では、LAN等のネットワークに接続されている印刷装置において、送信した印刷ジョブデータそのもの、あるいは印刷ジョブデータを受信したホストインタフェースに優先度をもたせ、その優先度に従って印刷処理中の印刷ジョブデータの処理の中断、再開を制御することを可能にした。
【0062】
本実施の形態にかかる印刷装置のハードウェア構成も図1に示した実施の形態1の装置と同様であるため、説明は省略する。また、図13は、本実施の形態の印刷装置1301を構成する制御ユニット1302内のモジュール構成を示すブロック図である。制御ユニット1302内のモジュールはソフトウェアであり、そのプログラムは図1に示したROM105内に格納されており、これはCPU104によって実行される。本実施の形態では、印刷処理中の印刷ジョブデータの処理を中断するか否かをオペレータパネル113からの指示に従うのではなく、現在印刷処理中の印刷ジョブデータの優先度と新たな印刷ジョブデータを受信したホストインタフェースの優先度との比較によって、現在印刷処理中の印刷ジョブデータの処理を中断して、新たに受信した印刷ジョブデータの印刷処理を行うか否かを決定する。このため、本実施の形態の印刷装置1301の制御ユニット1302内に、ホストインタフェース監視モジュール1303を設けた。
【0063】
このホストインタフェース監視モジュール1303は、複数のホストインタフェースから印刷ジョブデータを受信する受信バッファ1204a、1204b、1204c、…を監視し、新たなデータを受信すると、そのホストインタフェースの優先度を割り出し、これと現在印刷中の印刷ジョブデータのジョブ記述子に格納されている優先度とを比較して、現在印刷中の印刷ジョブデータの優先度が低ければ現在印刷処理中の印刷ジョブデータのジョブ記述子の印刷中断フラグを1に設定する。この他の構成は、図11に示した実施の形態4のものと同様である。
以下の説明では、実施の形態1〜4の装置と同様の動作が行われる部位の説明は省略している。
【0064】
制御ユニット1302中の印刷データ翻訳モジュール202は、最初または次の印刷ジョブデータの受信を行う際には、各ホストインタフェースに割りつけられている優先度の高い順に、印刷ジョブデータの有無を調べ、最も優先度の高いホストインタフェースからデータの受信を開始する。その際、まず、図12に示したジョブ記述子1201を生成するが、印刷ジョブデータを受信したホストインタフェースの優先度をジョブ記述子1201に書き込む。
【0065】
一方、ホストインタフェース監視モジュール1303は、現在印刷処理中または処理が中断されているもの以外のホストインタフェースにはその優先度の順に定期的にアクセスし、新たな印刷ジョブデータの到着の有無を調べる。もし、新たな印刷ジョブデータが到着していた場合には、その印刷ジョブデータを受信したホストインタフェースの優先度を調べる。そして、その優先度が現在印刷処理中の印刷ジョブデータのジョブ記述子1201に書き込まれている優先度より高い場合には、現在印刷処理中の印刷ジョブデータのジョブ記述子1201の印刷中断フラグ1201cを1に設定する。
【0066】
このように、本実施の形態の印刷装置では、ホストインタフェースに優先度を割りつけ、これによって印刷ジョブデータの処理の中断、再開を判定する。したがって、オペレータが印刷装置のそばに出向いてオペレータパネル113の操作を行う必要がない。また、本実施の形態の装置では、ホストインタフェースに優先度を割りつけたが、送信される印刷ジョブデータの先頭に優先度情報を付与しておき、ホストインタフェース監視モジュール1303や印刷データ翻訳モジュール202が、先頭の優先度を読み出すことによっても、同様の処理の中断、再開の機能を実現できる。
【0067】
以上、本発明の一実施形態を図面に沿って説明した。しかしながら本発明はこの実施の形態に示した事項に限定されず、特許請求の範囲の記載に基づいてその変更、改良等が可能であることは云うまでもない。例えば、本発明では、外部記憶ユニット112としてハードディスクを想定しているが、大容量の記憶機能を備えたものであればハードディスクに代えて他の手段を用いることが可能である。また、本発明では、制御ユニット内のモジュールをソフトウェアで構成しているが、これをハードウェアで構成することも可能である。さらに、上記各実施の形態において示した装置構成を組み合わせることも可能である。
【0068】
【発明の効果】
上述のように、本発明によれば、受信した印刷ジョブデータの先後を問わず、受信した印刷ジョブデータの処理順序を任意に設定できる印刷装置を提供できる。
【図面の簡単な説明】
【図1】実施の形態1にかかる印刷装置のハードウェア構成を示すブロック図である。
【図2】実施の形態1にかかる印刷装置のモジュール構成を示すブロック図である。
【図3】ジョブ記述子スタック206の構成の一例を示す図である。
【図4】ページ記述子301a−1の構成の一例を示す図である。
【図5】実施の形態1の印刷装置において、印刷制御モジュール203が行う処理手順のプログラムである。
【図6】実施の形態2にかかる印刷装置のモジュール構成を示すブロック図である。
【図7】実施の形態2の印刷装置において、印刷制御モジュール203が行う処理手順のプログラムである。
【図8】ジョブ記述子801の構成の一例を示す図である。
【図9】1つのデータ通信路を介してホストコンピュータから印刷装置が印刷ジョブデータを受信する状態を説明するための図である。
【図10】複数のデータ通信路を介してホストコンピュータから印刷装置が印刷ジョブデータを受信する状態を説明するための図である。
【図11】実施の形態4にかかる印刷装置のモジュール構成を示すブロック図である。
【図12】ジョブ記述子1201の構成の一例を示す図である。
【図13】実施の形態5にかかる印刷装置のモジュール構成を示すブロック図である。
【図14】従来の印刷装置のハードウェア構成を示すブロック図である。
【符号の説明】
100、1400 ホストコンピュータ
101、601、1101、1301、1401 印刷装置
102、602、1102、1302、1402 制御ユニット
103、1403 印刷ユニット
104、1404 CPU
105、1405 ROM
106、1406 RAM
107、1407 ホストインタフェースデバイス
108、1408 ビデオインタフェースデバイス
109、1409 コマンドインタフェースデバイス
110 ディスクインタフェースデバイス
111 オペレータパネルインタフェースデバイス
112 外部記憶ユニット
113 オペレータパネル
201、1103a、1103b、1103c、… 印刷ジョブデータ受信モジュール
202 印刷データ翻訳モジュール
203 印刷制御モジュール
204 オペレータパネル監視モジュール
205、1104a、1104b、1104c、… 受信バッファ
206 ジョブ記述子スタック
300 印刷ジョブポインタ
301、302、801、1201 ジョブ記述子
301a、302a、801a、1201a ページ記述子リスト
301b、302b、801b、1201b ジョブ終端検出フラグ
301c、302c、801c、1201c 印刷中断フラグ
301a−1〜301a−n、302a−1〜302a−n ページ記述子
301a−1a 外部記憶フラグ
301a−1b 格納位置ポインタ
603 ビデオデータ格納モジュール
801d、1201d ページ記述子総数
801e、1201e 印刷ジョブデータ格納位置ポインタ
900−1〜900−2 印刷ジョブデータ
1201f ホストインタフェース識別子
1303 ホストインタフェース監視モジュール[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a printing apparatus incorporating a large-capacity nonvolatile external storage means such as a hard disk and a flash memory in addition to a main storage memory.
[0002]
[Prior art]
In general, a printing apparatus is mainly composed of two units. One is a printing unit that sucks and conveys physical recording media such as paper, envelopes, and OHP sheets, and forms black and white or color images on the recording medium using ink, toner, or the like. The other receives print data from a host computer, processes the print data to generate data representing an image on the recording medium (hereinafter referred to as video data), and controls the video while controlling the print unit. A control unit for transmitting data to the printing unit;
Usually, the printing unit has one or a plurality of input trays for storing recording media before printing, and recording media of different sizes and types for each input tray, for example, A4 size thick paper, B5 size thin paper. Envelopes, OHP sheets, etc. can be stored. Further, the printing unit has one or a plurality of output bins to which the recording medium after printing is discharged. For example, it has an output bin for discharging with the printing surface facing up, an output bin for discharging with the printing surface facing down, or a multi-stage output bin similar to a copier.
[0003]
The data (hereinafter referred to as print job data) transmitted from the host computer to the printing apparatus for printing a document composed of one page or a plurality of pages normally designates a recording medium used for printing and sucks the recording medium. Job control commands for specifying the input tray and output bin for output, specifying the resolution for printing, specifying the number of copies, etc., the page data for each page belonging to the job, and the job indicating the end of the data Consists of end data. Each page data is usually transmitted in an image data format such as bitmap, JPEG, TIFF or the like, a page description language format including character codes, image data, drawing commands, and the like. Similarly to the job control command, the page data may include a control command for designating a recording medium and an input bin used for printing the page.
[0004]
The control unit interprets the job control command, and acquires print control parameters relating to the size, type, input tray, output bin, data resolution, etc., of the recording medium designated for the print unit at the time of printing. Further, it performs processing such as conversion of image data included in page data and interpretation / execution of page description language commands to generate video data to be sent to the printing unit.
[0005]
There are various formats of video data for each printing unit. For example, in the case of a black and white printing apparatus, a bitmap or a format in which the bitmap is compressed is considered, but in the case of a color printing apparatus, cyan, magenta, A format in which a bitmap for each color component such as yellow or black or a bitmap for each color component is compressed is conceivable.
When the video data is generated, the control unit instructs the printing unit to suck and convey the recording medium according to the printing control parameters, and prints the video data in synchronization with the running of the recording medium in the printing unit. Send to unit.
As described above, the control unit controls from the reception of the print job data to the discharge of the recording medium from the print unit.
[0006]
FIG. 14 is a block diagram illustrating a configuration of a conventional printing apparatus. The
[0007]
In the
[0008]
[Problems to be solved by the invention]
In recent years, high-speed interfaces such as LAN and USB have been adopted for data communication between a host computer and a printing apparatus, and the operation of a CPU provided in a control unit has been accelerated, so that print job data The process of generating video data by receiving and interpreting / executing it has been accelerated. In particular, when printing business documents, etc., in which the main data is characters and the data per page is small, the print processing process from the start of print job data transmission from the host computer to the final page discharge in the print unit The most time consuming process is the steps of sucking, transporting and printing the recording medium in the printing unit. The processing speed of the printing unit (usually a PPM value representing the number of printed sheets per minute is used) determines the overall processing time.
[0009]
In recent years, printing job data is transmitted from a plurality of host computers to a printing apparatus via a network such as a LAN in accordance with an increase in processing speed of the printing apparatus and an increase in capacity of a recording medium that can be stored in the printing apparatus. As a result, usage forms in which one printing apparatus is shared among a plurality of host computers or a plurality of users have increased. In addition, the number of pages included in a printed document is increasing.
[0010]
In such a form of printing apparatus, when the print job data is concentrated or when print processing of print job data with a large number of pages is performed, the user who sent the print job data later In many cases, the printer waits for a long time to complete the printing process. This causes inconvenience when it is desired to print an urgent document. In such a case, it may be possible to discard (cancel) the print job data being printed by operating an operator panel mounted on the printing apparatus. Since it is not known who is instructing the print job data being processed, discarding the print job data itself is not permitted. For this reason, in a shared printing device, the print job data being printed is interrupted without being discarded halfway, high-priority print job data is processed first, and then processing of the interrupted print job data is performed. A function that can resume the process is desired.
[0011]
Therefore, the present invention has been made in view of the above-described problems of the prior art, and the purpose thereof is to arbitrarily determine the processing order of the print job data regardless of the preceding or following of the received print job data. To provide a printing apparatus.
[0012]
[Means for Solving the Problems]
<
In order to achieve the above object, the printing apparatus of the present invention provides:From the printing means for executing the printing process and the host deviceprintingjobReceiveforReceiving means;RecievedprintingjobDecipherEach page included in the job can be printedVideo dataA translating means that sequentially develops the video data, a video data storage means for storing each video data in the order of development, and a printing means each time each video data is stored in the video data storage means.Video dataofPrint processingTo run sequentiallyPrinting control means to controlPrinting apparatus comprisingBecauseFrom userReceived an interruption instructionAn operation input panel having a process interruption button for attaching, and a storage means for saving video data,The print control meansWhen it is detected that the processing interruption button is pressed during execution of the printing process of the printing unit, the printing unit interrupts the printing process, and the translation unit causes the unprinted remaining page to be decoded and expanded into video data to be displayed on the remaining page. Video data for the remaining pages in the storage means is printed on the printing means when the end of the printing process is detected by causing the printing means to execute the printing process based on the next print job. It is characterized by supplying as much as possible.
[0015]
DETAILED DESCRIPTION OF THE INVENTION
Hereinafter, the present invention will be described in detail with reference to an illustrated embodiment.
<
FIG. 1 is a block diagram illustrating a hardware configuration of the printing apparatus according to the present embodiment. The
[0016]
The
[0017]
The
[0018]
The
[0019]
The notification of the discharge of the recording medium from the
[0020]
Next, a module configuration in the
[0021]
The configuration in the
[0022]
The
[0023]
When a page descriptor is newly generated (for example,
[0024]
FIG. 4 is a diagram showing an example of the configuration of the
[0025]
In the
[0026]
When the print
[0027]
When a page descriptor is added to the page descriptor list, the
[0028]
The operator
[0029]
Next, the procedure of processing performed by the
First, the
[0030]
At the head of the loop, first, when the
[0031]
When the end of the page descriptor list is reached, it is checked whether all pages of the job descriptor indicated by the
[0032]
When the processing of the job descriptor pointed to by the
[0033]
On the other hand, when the job descriptor pointed to by the
[0034]
As described above, in the printing apparatus according to the present embodiment, when the processing interruption of the print job data currently being printed is displayed on the
[0035]
For example, video data or bitmap data representing an A4 size black and white image composed of 600 dots per inch vertically and horizontally (hereinafter referred to as 600 DPI) with 1 bit per pixel is 4 Mbytes when compression is not performed. There is a capacity of about. In addition, since ordinary business documents include more character data than image data in terms of area, many of them can be easily compressed to a capacity of about 1/10 to 1/5 when the video data is compressed. In such a case, the capacity of video data per 600 API A4 size page is reduced to about 0.4 to 0.8 Mbytes. On the other hand, a standard hard disk used in a recent personal computer (hereinafter referred to as a PC) realizes a data transfer rate of 8 Mbytes or more per second. Therefore, A4 size 600 DPI monochrome video data can be written in about 0.5 seconds without compression. When compressed to 10/1 to 5/1, the video data can be written to the hard disk in 0.05 to 0.1 seconds. Also, the capacity of the hard disk is mainly about several Gbytes, which is about several tens to several hundred times the capacity of a standard PC main memory. On the other hand, the printing speed in the
[0036]
In the printing apparatus according to the present embodiment, the normal document uses the fact that the difference between the video data writing time to the
[0037]
<
Since the hardware configuration of the printing apparatus according to the present embodiment is the same as that of the first embodiment, description thereof is omitted. FIG. 6 is a block diagram showing a module configuration in the
[0038]
As with the first embodiment, the
In the following description, the description of the part where the same operation as the apparatus of the first embodiment is performed is omitted.
[0039]
In the video
[0040]
The
[0041]
In the first embodiment, since the print job data is complicated, it takes time for the print
[0042]
Therefore, in order to make up for such a drawback, in this embodiment, even when the
[0043]
In this embodiment, when the processing of the print job data currently being printed is interrupted, the
[0044]
<Embodiment 3>
The hardware configuration of the printing apparatus according to the present embodiment is the same as that of the apparatus according to the first embodiment shown in FIG. The module configuration in the control unit constituting the printing apparatus is the same as that of the second embodiment shown in FIG. In the printing apparatus according to the present embodiment, the print job data received by the print
In the following description, the description of the part where the same operation as that of the apparatus of
[0045]
FIG. 8 is a diagram for explaining an example of the configuration of the
[0046]
When the print
[0047]
Next, the print
[0048]
The
[0049]
On the other hand, when the print processing is interrupted, the print
[0050]
The apparatus of the first and second embodiments translates and executes the print job data to the end when there is a request for interruption of the print job data currently being printed, and generates video data and a page descriptor. However, by not transferring and printing the video data to the
[0051]
In order to solve this problem, the apparatus according to the present embodiment stores the received print job data in the
[0052]
In other words, by storing print job data in the
[0053]
<Embodiment 4>
In the apparatuses shown in the first to third embodiments, when the printing apparatus receives print job data from the host computer through a host interface such as Centro, RS232C, or USB, these interfaces are shown in FIG. It is assumed that a plurality of print job data are sequentially transmitted on one data channel. Therefore, for example, in order to interrupt the print processing of the first print job data 900-1 shown in FIG. 9 and start the print processing of the next print job data 900-2, the print job data sent earlier It is necessary to take out the next print job data 900-2 after receiving all of 900-1. Therefore, in the apparatuses of the first to third embodiments, the print job data to be interrupted is translated and executed to generate video data or simply skipped while saving the print job data. In any case, this causes a long time depending on the situation when the processing of the print job data being printed is interrupted.
[0054]
On the other hand, as shown in FIG. 10, a plurality of virtual channels may be provided between the host computer and the printing apparatus using the TCP / IP protocol on the LAN, and one print job data may be sent for each channel.
Therefore, in the present embodiment, in the situation shown in FIG. 10, in order to take out the next print job data, the print job data being printed is not read until the end of the print job data interrupted. Can be interrupted more quickly. In particular, in an environment where print job data is received from a plurality of virtual channels using the TCP / IP protocol, basically, all print job data is received from different channels. Even in such a case, the processing can be interrupted immediately (the latest page boundary), and the print processing of another print job data can be started.
[0055]
The hardware configuration of the printing apparatus according to this embodiment is the same as that of the apparatus according to the first embodiment shown in FIG. FIG. 11 is a block diagram showing a module configuration in the
[0056]
Also, as shown in FIG. 12, the
In the following description, the description of the part where the same operation as that of the apparatus of the first to third embodiments is performed is omitted.
[0057]
In the
[0058]
Next, the print
[0059]
Next, the host interface identifier 1201f stored in the
[0060]
When the value of the host interface identifier 1201f in the
[0061]
<Embodiment 5>
In the printing apparatuses described in the first to fourth embodiments, it is assumed that the processing of print job data that is being printed via the
[0062]
The hardware configuration of the printing apparatus according to this embodiment is the same as that of the apparatus according to the first embodiment shown in FIG. FIG. 13 is a block diagram showing a module configuration in the
[0063]
The host
In the following description, the description of the part where the same operation as that of the apparatus of the first to fourth embodiments is performed is omitted.
[0064]
When receiving the first or next print job data, the print
[0065]
On the other hand, the host
[0066]
As described above, in the printing apparatus according to the present embodiment, priority is assigned to the host interface, thereby determining whether to interrupt or resume the processing of the print job data. Therefore, it is not necessary for the operator to go to the printing apparatus and operate the
[0067]
The embodiment of the present invention has been described with reference to the drawings. However, the present invention is not limited to the matters shown in the embodiments, and it goes without saying that modifications, improvements and the like can be made based on the description of the scope of claims. For example, although a hard disk is assumed as the
[0068]
【The invention's effect】
As described above, according to the present invention, it is possible to provide a printing apparatus that can arbitrarily set the processing order of received print job data regardless of whether the received print job data is ahead or after.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a hardware configuration of a printing apparatus according to a first embodiment.
FIG. 2 is a block diagram illustrating a module configuration of the printing apparatus according to the first embodiment.
FIG. 3 is a diagram illustrating an example of a configuration of a
FIG. 4 is a diagram illustrating an example of a configuration of a
FIG. 5 is a program of a processing procedure performed by the
FIG. 6 is a block diagram illustrating a module configuration of the printing apparatus according to the second embodiment.
7 is a program of a processing procedure performed by the
8 is a diagram illustrating an example of the configuration of a
FIG. 9 is a diagram for explaining a state in which the printing apparatus receives print job data from the host computer via one data communication path.
FIG. 10 is a diagram for explaining a state in which a printing apparatus receives print job data from a host computer via a plurality of data communication paths.
FIG. 11 is a block diagram illustrating a module configuration of a printing apparatus according to a fourth embodiment.
12 is a diagram illustrating an example of the configuration of a
FIG. 13 is a block diagram illustrating a module configuration of a printing apparatus according to a fifth embodiment.
FIG. 14 is a block diagram illustrating a hardware configuration of a conventional printing apparatus.
[Explanation of symbols]
100, 1400 Host computer
101, 601, 1101, 1301, 1401 Printing apparatus
102, 602, 1102, 1302, 1402 Control unit
103, 1403 printing unit
104, 1404 CPU
105, 1405 ROM
106, 1406 RAM
107, 1407 Host interface device
108, 1408 Video interface device
109, 1409 Command interface device
110 Disk interface device
111 Operator panel interface device
112 External storage unit
113 Operator panel
201, 1103a, 1103b, 1103c,... Print job data receiving module
202 Print Data Translation Module
203 Print control module
204 Operator panel monitoring module
205, 1104a, 1104b, 1104c,... Reception buffer
206 Job descriptor stack
300 Print job pointer
301, 302, 801, 1201 Job descriptor
301a, 302a, 801a, 1201a Page descriptor list
301b, 302b, 801b, 1201b Job end detection flag
301c, 302c, 801c, 1201c Print interruption flag
301a-1 to 301a-n, 302a-1 to 302a-n Page descriptor
301a-1a External storage flag
301a-1b Storage position pointer
603 video data storage module
801d, 1201d Total number of page descriptors
801e, 1201e Print job data storage position pointer
900-1 to 900-2 Print job data
1201f Host interface identifier
1303 Host interface monitoring module
Claims (5)
ユーザから中断指示を受け付けるための処理中断ボタンを有する操作入力パネルと、
前記ビデオデータを退避させるための記憶手段とを備え、
前記印刷制御手段は、前記印刷手段の印刷処理を実行中に前記処理中断ボタンの押下を検知すると、前記印刷手段に印刷処理を中断させると共に、前記翻訳手段に印刷未処理の残ページを解読させてビデオデータに展開させて該残ページ分のビデオデータを前記記憶手段に退避させ、前記印刷手段に次の印刷ジョブに基づく印刷処理を実行させて該印刷処理の終了を検知すると、前記記憶手段の残ページ分のビデオデータを前記印刷手段に印刷処理させるべく供給することを特徴とする印刷装置。Printing means for executing print processing, receiving means for receiving a print job from a host device, and decoding the received print job to sequentially develop each page included in the job into video data that can be printed Translating means, video data storage means for storing each video data in the order of development, and each time the video data is stored in the video data storage means, the printing means sequentially executes the printing process of each video data And a printing control means for controlling
An operation input panel having a process interruption button for receiving an interruption instruction from the user;
Storage means for saving the video data,
When the printing control unit detects that the processing interruption button is pressed during execution of the printing process of the printing unit, the printing control unit interrupts the printing process and causes the translation unit to decode the unprocessed remaining page. And storing the video data for the remaining pages in the storage unit, causing the printing unit to execute a printing process based on a next print job and detecting the end of the printing process. A printing apparatus for supplying video data for the remaining pages of the printing means to cause the printing means to perform printing processing.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002052436A JP4364475B2 (en) | 2002-02-27 | 2002-02-27 | Printing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002052436A JP4364475B2 (en) | 2002-02-27 | 2002-02-27 | Printing device |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009170078A Division JP2009255577A (en) | 2009-07-21 | 2009-07-21 | Printing device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003246102A JP2003246102A (en) | 2003-09-02 |
JP4364475B2 true JP4364475B2 (en) | 2009-11-18 |
Family
ID=28664116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002052436A Expired - Fee Related JP4364475B2 (en) | 2002-02-27 | 2002-02-27 | Printing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4364475B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007237693A (en) | 2006-03-10 | 2007-09-20 | Oki Data Corp | Image processor |
JP5338763B2 (en) | 2010-07-26 | 2013-11-13 | ブラザー工業株式会社 | Printing device |
JP5240254B2 (en) * | 2010-08-19 | 2013-07-17 | ブラザー工業株式会社 | Printing device |
-
2002
- 2002-02-27 JP JP2002052436A patent/JP4364475B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003246102A (en) | 2003-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100470518B1 (en) | Printing methods and systems that provide print job buffering for printers on the fast data path. | |
US7999953B2 (en) | Printer having print and receive buffers and a printer control method for controlling same | |
US6985257B2 (en) | Job processing apparatus | |
US7158243B2 (en) | Printing apparatus and printing system, control method, storage medium and program | |
US9359166B2 (en) | Sheet eject device, fullness detecting method, and computer-readable recording medium | |
US20060055952A1 (en) | Continuous raster image processing control across print jobs | |
US20030007180A1 (en) | Printing control method for long pages | |
US20050146749A1 (en) | Image input-output apparatus and method therefor | |
JP4109821B2 (en) | Information processing apparatus and job processing result confirmation method | |
JP4364475B2 (en) | Printing device | |
JP3711433B2 (en) | Printing control method and system, and recording medium | |
JP2009255577A (en) | Printing device | |
JP4449367B2 (en) | Printer | |
JPH03155974A (en) | Printing system and error recovery method thereof | |
JP4226361B2 (en) | Image communication method and image forming apparatus | |
JP2006185112A (en) | Printing apparatus and control method for the same | |
JP2002019212A (en) | Printer | |
US11010111B2 (en) | Image forming apparatus including a constant log storage | |
JP2001047706A (en) | Imaging system in network environment | |
JP4276159B2 (en) | Printing apparatus and program | |
US20120250092A1 (en) | Print management for plurality of print requests in image forming apparatus | |
JP2003285478A (en) | Data transfer device in printer, method of transferring data in printer, and recording medium storing program | |
JP2003127502A (en) | Printer | |
JP2020170212A (en) | Information processing system, information processing device and program | |
JP2002229750A (en) | Printing control system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041228 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050331 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081216 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090216 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090526 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090721 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090818 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090819 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120828 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4364475 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130828 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |