(57)【要約】【課題】  新たに投入する印刷ジョブを早急に実行したい場合に、効率的に割り込み印刷処理を行うことを目的とする。【解決手段】  入力画像情報に基づき描画処理を行いラスタデータに変換して画像形成エンジンに供給し、印刷する印刷装置であって、割込みによる印刷要求の検出手段、前記割込みによる印刷要求の検出手段の検出に対応して、レンダリング中のジョブデータの処理を中断する印刷中断手段、割込まれたジョブのレンダリング中のデータを保存するレンダリングデータ保存手段、割込まれたジョブのレンダリング中断位置を保存する中断位置保存手段、割込まれたジョブを再開するとき、前記レンダリングデータ保存手段から保存されたレンダリングデータを読出し、前記レンダリング中断位置保存手段から読み出した中断位置からレンダリングを再開する手段とを備えることを特徴とする。【選択図】  図１
2007130887.tif 000002
【特許請求の範囲】
【請求項１】
入力画像情報に基づき描画処理を行いラスタデータに変換して画像形成エンジンに供給し、印刷する印刷装置であって、割込みによる印刷要求の検出手段、前記割込みによる印刷要求の検出手段の検出に対応して、レンダリング中のジョブデータの処理を中断する印刷中断手段、割込まれたジョブのレンダリング中のデータを保存するレンダリングデータ保存手段、レンダリング中断位置を保存する中断位置保存手段、割込まれたジョブを再開するとき、前記レンダリングデータ保存手段から保存されたレンダリングデータを読出し、前記レンダリング中断位置保存手段から読み出した中断位置からレンダリングを再開する手段とを備えることを特徴とする印刷装置。
【請求項２】
入力画像情報に基づきバンド単位で描画処理を行いラスタデータに変換して画像形成エンジンに供給し、印刷する印刷装置であって、バンド単位に割込みによる印刷要求の検出手段、前記割込みによる印刷要求の検出手段の検出に対応して、レンダリング中のジョブデータの処理を中断する印刷中断手段、割込まれたジョブのレンダリング中のデータを保存するレンダリングデータ保存手段、レンダリング中断位置を保存する中断位置保存手段、割込まれたジョブを再開するとき、前記レンダリングデータ保存手段から保存されたレンダリングデータを読出し、前記レンダリング中断位置保存手段から読み出した中断位置からレンダリングを再開する手段とを備えることを特徴とする印刷装置。
【請求項３】
割込み印刷処理において、レンダリング中の中間コードを保存する中間コード保存手段、中間コードの中断位置を保存する中断位置保存手段を備えることを特徴とする請求項１及び請求項２記載の印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は印刷装置に関し、特に印刷データをページ単位に連続して印刷する印刷装置と印刷データの処理方法に関するものである。
【背景技術】
【０００２】
プリンタ、複写機、ファクシミリ等の印刷装置は、画像情報に基づいて被記録材上にドットパタ−ンからなる画像を記録するように構成されている。最近の安価なパーソナルコンピュータの出現により、フルカラーによる文字、図形、イメージデータのハンドリングが、容易に行える環境が整った。その結果、カラーを用いた文書、アート、デザイン等の広範な分野でカラー情報が利用されている。
【０００３】
このようなカラー情報を用いたアプリケーションで作成した印刷データを、印刷装置に記録する際に、ホストコンピュータの処理機能を利用し、ホストコンピュータ側で文字、イメージ、図形を印刷装置の解像度に合わせて、イメージに展開した後、印刷装置に送るという、いわゆるダムプリンタまたはビデオプリンタと呼ばれる利用形態がある。この処理方式はプリンタ側の機構をシンプルにし、ホストコンピュータ側で多くの処理を実行する点に特徴がある。しかし、カラー情報を取り扱う場合はそのデータ量の多さから、通信に多くの時間をさかれ、スループットが非常に落ちる場合があるという問題がある。
【０００４】
一方、ページ記述言語（Page Description Languageの略であり、以後ＰＤＬと略す。）という、ホストコンピュータから文字、図形、イメージを言語として送り、印刷装置でＰＤＬを解釈し、各種情報をラスタメモリ中にスキャン変換（走査変換）することにより、ページイメージを生成する処理方式もある。このようなＰＤＬを用いたプリンタにおいて、メモリの節約のため１ページ分の印刷データを複数のバンドに区切り、バンド毎にビットマップ展開を行うのもがある。このような印刷装置で用いられる印刷データは、１つの図形を１オブジェクトとして複数のオブジェクトから構成される。これらのオブジェクトは、主にフォント、ビットマップといったもので、それぞれの展開（以後レンダリングいう）処理方式の違いにより種類分けされる。また、レンダリングを高速に行うためにハードウエアレンダリング手段を備えるものもある。この場合、ホストコンピュータから受信したＰＤＬデータをバンド毎に解釈し、ハードウエアレンダリング手段に入力するための中間コード（ディスプレイリストともいう）に変換し、これを高速レンダリングハードウエアでレンダリングメモリに展開処理し、レンダリングメモリの内容をエンジン(印刷処理部)に送り印刷処理を行うという手順になる。ここで、該ハードウエアレンダリング手段でサポートしきれなかった高度な展開処理については、ディスプレイリストをソフトウエアによるレンダリングで行うように切り替える手段をもつものもある。さらに、コストを抑えるために、ハードウエアレンダリング手段を持たず、ディスプレイリストをソフトウエアだけで解釈し、レンダリングを行うプリンタもある。
【０００５】
プリンタ、複写機、ファクシミリ等の印刷装置において、ホストコンピュータ等から入力した印刷処理に関するジョブが複数入力された場合、原則として入力した順序でジョブが処理される。しかし、例えば、非常に処理時間の長いジョブが先に入力された後に、処理時間の短いジョブが新たに入力された場合には、後のジョブが長時間待たされてしまう等の問題点があった。これを解決するため、従来、設定された優先度の高いジョブや処理時間の短いジョブから優先して処理するものがあった。（例えば特許文献１参照。）
また、割り込まれたジョブを再開する方法として、入力されるジョブデータを保存しておき、再開時にジョブが中断したページ位置からジョブデータの解釈を実行し、印刷をする方法があった。（例えば特許文献２参照。）
【特許文献１】特開２００１−１２７９２８号
【特許文献２】特開平１１−３１２０６２号
【発明の開示】
【発明が解決しようとする課題】
【０００６】
ホストコンピュータから送られてくるＰＤＬデータを入力、解析、ディスプレイリストの生成を経て、レンダリング、印刷を行う方式のプリンタにおいて、コストを低く抑えるため、ハードウエアレンダリング手段を持たず、ディスプレイリストをソフトウエアだけで解釈し、レンダリングを行うプリンタがある。このようなプリンタでは、印刷オブジェクトの重なり具合や複雑さによっては、１ページのレンダリング処理だけで何十秒から数分以上もの時間を要することがある。
【０００７】
しかしながら従来の方法でジョブの割込み処理を行う場合、割込みの受付が１ページ単位のため、受付までかなりの時間待たされる場合があった。この種のプリンタは従来のプリンタ以上にジョブの割込み処理の必要性が高い。
【０００８】
またページの途中で割込み印刷を受付けるようにすると、割り込まれたジョブはレンダリングを中止する場合、記従来例のように中断したジョブデータを保存する方法では、印刷再開時レンダリングをページの先頭からやり直さなければならなかった。特にディスプレイリストをソフトウエアだけで解釈し、レンダリングを行うプリンタにおいて、これはかなり効率の悪い方法であった。
【課題を解決するための手段】
【０００９】
本発明は上記の目的を達成するため、例えば以下の構成を備える。
【００１０】
すなわち、入力画像情報に基づきバンド単位で描画処理を行いラスタデータに変換して画像形成エンジンに供給し、印刷する印刷装置であって、割込みによる印刷要求の検出手段、前記割込みによる印刷要求の検出手段の検出に対応して、レンダリング中のジョブデータの処理を中断する印刷中断手段、割込まれたジョブのレンダリング中のデータを保存するレンダリングデータ保存手段、割込まれたジョブのレンダリング中断位置を保存する中断位置保存手段、割込まれたジョブを再開するとき、前記レンダリングデータ保存手段から保存されたレンダリングデータを読出し、前記レンダリング中断位置保存手段から読み出した中断位置からレンダリングを再開する手段とを備えることを特徴とする。
【発明の効果】
【００１１】
ディスプレイリストをソフトウエアだけで解釈し、レンダリングを行うプリンタがある。このようなプリンタでは１ページの印刷処理時間に占めるレンダリングの割合が高く、印刷データによってはレンダリング処理だけで数十秒から数分以上を要するものもある。この種のプリンタは従来のプリンタ以上にジョブの割込み処理の必要性が高い。
【００１２】
本発明によれば、ジョブ割込みを検知したら１ページのレンダリング途中でも割込み処理を受付け、割込みにより中断されたジョブのレンダリング途中結果と中断位置を保存しておき、割込み印刷を行い、割込まれたジョブの再開後、保存してあったレンダリング途中結果と中断位置を読み出して再び残りのレンダリングを継続するよう構成した。
【００１３】
この結果、急ぎの印刷を即時実行でき、割込まれた印刷ジョブも、再度同じページの先頭からレンダリングする必要がなくなり、特にレンダリングをソフトウエアで行うような種類のプリンタでは効率的に印刷作業を実施することができる。
【発明を実施するための最良の形態】
【００１４】
図２および図３はそれぞれカラーPDLインクジェット式印刷装置のコントローラ部およびプリンタエンジン部の概略構成を示すブロック図である。
【００１５】
先ず図２でコントローラ部の機能および概略動作について説明する。CPU2601はUSBインタフェース2609あるいはIEEE1394インタフェース2610を介してホストPC2611(2612)に接続されており、制御プログラムを格納したROM2606や更新可能な制御プログラムや処理プログラムや各種定数データなどを格納したEEPROM2608、及びホストPC2611(2612)から受信したコマンド信号や画像情報を格納するためのRAM2604にアクセスし、これらのメモリに格納された情報に基づいて記録動作を制御する。
【００１６】
操作パネル2614のキーから入力される指示情報は操作パネルインタフェース2613を介してCPU2601に伝達され、またCPU2601からの命令により同様に操作パネルインタフェース2613を介して操作パネル2614のLED点灯やLCD表示が制御される。
【００１７】
拡張インタフェース2615はLANコントローラやHDDなどの拡張カードを接続することにより機能拡張を行うためのインタフェースである。
【００１８】
データ処理ブロック2616においてホストPCから受信したPDLデータを解釈して描画処理を行い、さらにプリンタエンジン仕様に適合した各インク色の画像形成データに変換された後に、プリンタエンジン通信ブロック2618を介してプリンタエンジン(図外)へ出力される。
【００１９】
またコントローラとプリンタエンジンの間の各種コマンドやステータス情報の送受信は同様にプリンタエンジン通信ブロック2618を介して行われる。
【００２０】
データ処理ブロック2616における詳細なデータ処理フローについては後述する。データ処理ブロック2616にはそのワーキングメモリとしてRAM2617が接続されている。RAM2617は図２のように主に中間コードメモリ201、バンドメモリ202、入力バッファ203から構成されている。これらは処理状況により占める領域が変更される。また、これらは図１の中間コードメモリ307、バンドメモリ309、入力バッファ304と同じ物を指す。
【００２１】
次に図３でプリンタエンジン部の機能および動作概要について説明する。プリンタエンジン部はバンドメモリ制御ブロック2712を介してコントローラ(図外)と接続されている。
【００２２】
CPU2701は制御プログラムを格納したROM2703や更新可能な制御プログラムや処理プログラムや各種定数データなどを格納したEEPROM2704、及びコントローラ(図外)から受信したコマンド信号や画像情報を格納するためのRAM2702にアクセスし、これらのメモリに格納された情報に基づいて記録動作を制御する。
【００２３】
入出力ポート2705及びキャリッジモータ制御回路2707を介してキャリッジモータ1709を動作させることによりキャリッジ2711を移動させ、また、入出力ポート2705及び紙送りモータ制御回路2706を介して紙送り紙送りモータ2708を動作させることにより搬送ローラなどの紙搬送機構2710を動作させる。
【００２４】
CPU2701は、RAM2702に格納されている各種情報に基づきバンドメモリ制御ブロック2712や印刷ヘッド制御ブロック2714を制御して印刷ヘッド2715を駆動することにより記録媒体上に所望の画像を記録することができる。
【００２５】
また、図外の電源回路からは、CPUや各種制御回路を動作させるためのロジック駆動電圧Vcc(たとえば3.3V)、各種モータ駆動電圧Vm(たとえば24V)、印刷ヘッドを駆動させるためのヒート電圧Vh(たとえば12V)、等が出力される。
【００２６】
次に図１を用いて、ＰＤＬデータ処理の流れを説明する。図１は図２のデータ処理ブロック2616とその外部のＰＤＬデータの流れを詳細に示すブロック図である。３０１は、カラーアプリケーションとしてカラー情報を作成し、このカラー情報に対応するカラーデータをＰＤＬ言語形式に変換して、変換したＰＤＬ言語データを印刷装置の印刷装置コントローラ３０２に送出するホストコンピュータである。これは図２の２６１１及び２６１２で示すものと同じである。ホストコンピュータ３０１とコントローラ３０２間にＰＤＬ言語データが流れる。このＰＤＬ言語データの通信形態はシリアル、ネットワーク、バス接続等何であっても問題はないが、パフォーマンス的には高速通信路であることが望ましい。コントローラ３０２へ送られたＰＤＬ言語データは入力バッファ（データ入力用バッファ）３０４に一時格納される。
【００２７】
コントローラの中間コード生成手段３０５は入力バッファ３０４のＰＤＬ言語データを読込み解釈して、レンダラ３０８のハードウェアが処理しやすい形の中間コードを生成する。ここで中間コード生成手段３０５は画像処理を行うプロファイル３０６を用いて、中間コードを作成し、中間コードメモリ３０７に格納する。
【００２８】
中間コード生成手段で行なわれる画像処理は、通常ホストコンピュータで利用されているモニタの表色系のレッド，グリーン，ブルーのＲＧＢ（加法混色）から印刷装置のインク処理で用いるイエロー，マゼンタ，シアン，ブラックのＹＭＣＫ（減法混色）への変換を行うものある。
【００２９】
レンダラ３０８は、カラーレンダリング処理をＡＳＩＣ（特定用途向けＩＣ）ハードウェアで実行することにより、印刷装置のプリンタエンジン３０３へのビデオ転送に同期して実時間でレンダリング処理を行い、少ないメモリ容量でのバンディング処理を実現するものである。またレンダラ３０８はコストダウンのためハードウェアでなくソフトウエアで実現してもよい。ソフトウエアで実現する場合も同じ形式の中間コードを使用する。レンダラ３０８は中間コードメモリ３０７に格納してある中間コードを解釈しバンドメモリ３０９に展開する。バンドメモリ３０９は、レンダリングされたビットイメージを格納する領域であり、例えば１２８ラインを標準サイズとする。
【００３０】
ドットデータ生成手段３１０はバンドメモリ３０９から読み出したKCMY各色4bitデータに対して網点マトリクスを用いて画像形成の解像度(出力解像度)のKCMY各色1bitデータに変換する。例えばレンダリング解像度を６００ｄｐｉ×６００ｄｐｉに対して２×２の網点マトリクスを用いて出力解像度１２００ｄｐｉ×１２００ｄｐｉのドット・データを生成する。
【００３１】
プリンタエンジン３０３はドットデータ生成手段３１０を介して渡されたドットデータを印刷する。プリンタエンジン３０３の詳細は前述した図３で示すブロック図で示してある。
【００３２】
割込み制御手段３１１は入力バッファ３０４に入力した割込み信号により現在のジョブを中断し割込み印刷処理を制御するものである。
【００３３】
次に本実施例における通常の印刷処理の手順について図４のフローチャートを用いて説明する。
【００３４】
ステップＳ１０１で図１におけるコントローラ３０２のＣＰＵ２６０１は入力バッファ３０４にホストコンピュータからのＰＤＬ印刷データを待つ。
【００３５】
データが入力されたらステップＳ１０２において中間コード生成手段３０５で中間コードを生成する。前述したとおり中間コード生成手段３０５は画像処理を行うプロファイル３０６を用いて、中間コードを作成し、中間コードメモリ３０７に格納する。ここで、省メモリ及び本実施例の割込み処理を迅速に実行するために１ページを複数のバンドに分けて処理する。例えば１２８ラインを標準サイズとする。
【００３６】
次にステップＳ１０３で、レンダラ３０８は中間コードメモリ３０７にある中間コードを１バンド分レンダリングしバンドメモリ３０９に格納する。バンドメモリ３０９にレンダリングされたデータはドットデータ生成手段３１０を介してプリンタエンジン３０３に出力される。プリンタエンジン３０３はこれを図３のＲＡＭ２７０２に保存する。ここで保存する前に圧縮することも可能である。圧縮したときは印刷時に伸張処理を行う。ステップＳ１０４で１ページ終了か調べる。終了していなかったら同様にしてステップＳ１０１からＳ１０４を繰り返し処理する。１ページ分のレンダリングが終了したらＳ１０５で印刷を行う。次にＳ１０６で全ページ終了したか調べ、終了していなかったらＳ１０１から同様にして繰り返し次のページの印字を行う。
【００３７】
次に本実施例における割込み印刷処理について図１で説明する。あるジョブの印刷を実行中にコントローラ３０２の割込み制御手段は入力バッファ３０４で割込み信号を検知すると、その時点の印刷済みのページ番号、レンダリング済みのバンド番号、さらにレンダリング済みの中間コードの位置などを記録する。図５はこのときのＲＡＭ２７０２内の使用領域を示すメモリマップである。ここで領域Ａはレンダリングが済んだドットデータがアドレス上位方向へ保存されていく。割込みが発生すると領域Ｂにレンダリング済み情報として印刷済みのページ番号、レンダリング済みのバンド番号、さらにレンダリング済みの中間コード位置、レンダリング済みメモリ終了位置が記録される。その後割込みジョブのレンダリングが開始されると空き領域Ｃに書き込まれる。このような構成にしたため多重の割込みがあっても対応可能である。すなわち割込み印刷中にまた別の割込みがあった場合、同様にしてアドレス上位方向にレンダリング済みデータ、レンダリング情報を積み重ねていく。
【００３８】
次に本実施例における通常の印刷処理の手順について図６のフローチャートを用いて説明する。
【００３９】
ステップＳ２０１で図１におけるコントローラ３０２のＣＰＵ２６０１は入力バッファ３０４にホストコンピュータからのＰＤＬ印刷データを待つ。
【００４０】
データが入力されたらステップＳ２０２において中間コード生成手段３０５で中間コードを生成する。前述したとおり中間コード生成手段３０５は画像処理を行うプロファイル３０６を用いて、中間コードを作成し、中間コードメモリ３０７に格納する。ここで、省メモリ及び本実施例の割込み処理を迅速に実行するために１ページを複数のバンドに分けて処理する。例えば１２８ラインを標準サイズとする。
【００４１】
次にステップＳ２０３で、レンダラ３０８は中間コードメモリ３０７にある中間コードを１バンド分レンダリングしバンドメモリ３０９に格納する。バンドメモリ３０９にレンダリングされたデータはドットデータ生成手段３１０を介してプリンタエンジン３０３に出力される。プリンタエンジン３０３は、これを図３のＲＡＭ２７０２に保存する。
【００４２】
ステップＳ２０４で割込み印刷があるか調べる。割込み印刷がある場合はステップＳ２０８で前述したとおり現在のレンダリング済み情報として印刷済みのページ番号、レンダリング済みのバンド番号、さらにレンダリング済みの中間コード位置、レンダリング済みメモリ終了位置などが記録される。ここで、必ずしもすべての割込み印刷を行うとは限らない。ＲＡＭ２７０２の空き容量が少なくなった場合や割込まれたジョブが終了間際の場合は割込み処理を行わない。
【００４３】
次にステップＳ２０９で割込み印刷を実行する。処理内容はステップＳ２０１からステップＳ２０７の処理と同様になる。その結果多重の割込み印刷も可能となる。
【００４４】
割込み印刷が終了したらステップＳ２１０で保存してあったレンダリング済み情報を読込み中断した時点から処理を継続する。
【００４５】
ステップＳ２０５に戻り、１ページ分のレンダリングが終了したか調べる。終了していなかったら同様にしてステップＳ２０１からＳ２０４を繰り返し処理する。１ページ分のレンダリングが終了したらＳ２０６で印刷を行う。次にＳ２０７で全ページ終了したか調べ、終了していなかったらＳ２０１から同様にして繰り返し次のページの印字を行う。
【００４６】
ここではバンド毎に割込みを調べたがバンド途中の割り込み処理も同様に可能である。
【００４７】
本実施例では割込み印刷時レンダリング済みデータのみ保存したが中間コードも保存する構成もとることが可能である。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施例のデータ処理の基本構成を示すブロック図である。
【図２】インクジェット印刷装置におけるコントローラ部の概略ブロック図である。
【図３】インクジェット印刷装置におけるエンジン部の概略ブロック図である。
【図４】実施例における通常印刷の流れを説明するフローチャートである。
【図５】ＲＡＭ２７０２内の使用領域を示すメモリマップである。
【図６】実施例における割込み印刷の流れを説明するフローチャートである。
【符号の説明】
【００４９】
３０１  ホストコンピュータ
３０２  コントローラ
３０３  プリンタエンジン
３０４  入力バッファ
３０５  中間コード生成手段
３０６  プロファイル
３０７  中間コードメモリ
３０８  レンダラ
３０９  バンドメモリ
３１０  ドットデータ生成手段
３１１  割込み制御手段
【図１】
2007130887.tif 000003
【図２】
2007130887.tif 000004
【図３】
2007130887.tif 000005
【図４】
2007130887.tif 000006
【図５】
2007130887.tif 000007
【図６】
2007130887.tif 000008