(57)【要約】【課題】  カラー印刷を行う為に使用するメモリ量を軽減すると共に、より高速な印刷を、より簡便な処理でもって行うための技術を提供すること。【解決手段】  描画装置１０５はそれぞれのバンドについて、印刷時に使用する色毎の画像を描画し、圧縮器１０９はそれぞれのバンドを印刷する際に最初に使用される第１の色以外の第２の色について描画した画像を、描画直後に圧縮する。また、第１の色について描画した画像に基づいて印刷を行うと共に、第２の色について描画した画像に基づく印刷を行う場合には、その直前でこの画像を伸張器１１０によって復号し、印刷する。【選択図】  図１
2006248184.tif 000002
【特許請求の範囲】
【請求項１】
印刷データを受信する受信手段と、
前記印刷データに基づく画像をバンド毎に描画する描画手段と、
前記描画手段が描画した画像に基づいて印刷を行う印刷手段とを備え、
前記描画手段は、
それぞれのバンドについて、印刷時に使用する色毎の画像を描画する色画像描画手段と、
それぞれのバンドを印刷する際に最初に使用される第１の色以外の第２の色について前記色画像描画手段が描画した画像を、描画直後に圧縮する圧縮手段とを備え、
前記印刷手段は、
前記第１の色について前記色画像描画手段が描画した画像に基づいて印刷を行う第１の印刷手段と、
前記第２の色について前記色画像描画手段が描画した画像に基づく印刷を行う場合には、その直前で当該画像を復号する復号手段と、
前記復号手段が復号した画像を印刷する第２の印刷手段とを備えることを特徴とする印刷装置。
【請求項２】
前記印刷時に使用する色は、Ｃ、Ｍ、Ｙ、Ｋであり、前記色画像描画手段は、Ｃプレーンの画像、Ｍプレーンの画像、Ｙプレーンの画像、Ｋプレーンの画像をバンド毎に描画することを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記第１の色はＣであり、前記第２の色はＭ、Ｙ、Ｋであることを特徴とする請求項２に記載の印刷装置。
【請求項４】
請求項１乃至３の何れか１項に記載の印刷装置を備えることを特徴とする複合機。
【請求項５】
印刷データを受信する受信工程と、
前記印刷データに基づく画像をバンド毎に描画する描画工程と、
前記描画工程で描画した画像に基づいて印刷を行う印刷工程とを備え、
前記描画工程は、
それぞれのバンドについて、印刷時に使用する色毎の画像を描画する色画像描画工程と、
それぞれのバンドを印刷する際に最初に使用される第１の色以外の第２の色について前記色画像描画工程で描画した画像を、描画直後に圧縮する圧縮工程とを備え、
前記印刷工程は、
前記第１の色について前記色画像描画工程で描画した画像に基づいて印刷を行う第１の印刷工程と、
前記第２の色について前記色画像描画工程で描画した画像に基づく印刷を行う場合には、その直前で当該画像を復号する復号工程と、
前記復号工程で復号した画像を印刷する第２の印刷工程とを備えることを特徴とする印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷技術に関するものである。
【背景技術】
【０００２】
従来、４ドラム電子写真方式のページプリンタ等でホストコンピュータからの画像を発生し、印刷する場合、入力した印刷データをシアン、マゼンタ、イエロー、黒（即ち、Ｃ、Ｍ、Ｙ、Ｋ）の４色の成分に分解し、各色に対するディスプレイリストである処理リストと処理リストによって描画されるデータであるオブジェクトデータをすくなくとも１ページ分発生し、発生した処理リストによりオブジェクトデータから、各色のビットマップ画像を発生し、メモリ上に描画する。
【０００３】
これを印刷プロセスにスキャンし、トナー等で現像することにより、最終画像を印刷用紙上に得ることができる。４ドラム電子写真方式のページプリンタの場合、各色の画像を同時に発生する必要があり、通常、描画して発生した４色の画像データをメモリやその他の記憶手段に少なくとも１ページ分貯めこみ、記憶手段上の画像データを印刷する方法がとられている。また、その他の方法としては、印刷装置の印刷プロセスの進行に同期して部分的な画像データを適宜発生し、印刷する方法もある。ここでは、メモリに貯めこむ方式をスプール方式、適宜部分画像を発生する方式をバンディング方式と呼称することとする。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら上記従来例においては、以下の様な問題点があった。
【０００５】
まず、スプール方式においては、少なくとも１ページの画像データの生成が完了しなければ印刷を開始することができず、ファーストプリントに時間がかかるという問題、さらには印刷スループットを得るためには、複数ページのデータをメモリ上に貯めこむ必要があるため、大量のメモリ容量を必要とし、カラープリンタの場合は、多値データが４色分必要なのでさらに膨大なメモリを必要とする問題がある。
【０００６】
一方、バンディング方式においては、印刷エンジンの印刷プロセスの進行に同期して部分画像を適宜発生するので、画像メモリは部分画像を最低２部分持てばよいので著しく少メモリで実現可能であるが、４ドラムの電子写真式のプリンタでは、各色の印刷プロセスの実行に時間的なずれがあり、部分画像のそれぞれの色に対する発生時期が順次ディレイする。時間を基準にしてみると異なる位置の部分画像を同時に発生する必要がある。
【０００７】
また、この各色のプロセスの進行のずれは通常ページをまたいでおこり、描画制御が複雑になる問題がある。また描画時間のずれから描画処理リストや、描画オブジェクトデータを長時間保持する必要があり結局メモリが必要になる問題もある。
【０００８】
本発明は以上の問題に鑑みて成されたものであり、カラー印刷を行う為に使用するメモリ量を軽減すると共に、より高速な印刷を、より簡便な処理でもって行うための技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成するために、例えば、本発明の印刷装置は以下の構成を備える。
【００１０】
即ち、印刷データを受信する受信手段と、
前記印刷データに基づく画像をバンド毎に描画する描画手段と、
前記描画手段が描画した画像に基づいて印刷を行う印刷手段とを備え、
前記描画手段は、
それぞれのバンドについて、印刷時に使用する色毎の画像を描画する色画像描画手段と、
それぞれのバンドを印刷する際に最初に使用される第１の色以外の第２の色について前記色画像描画手段が描画した画像を、描画直後に圧縮する圧縮手段とを備え、
前記印刷手段は、
前記第１の色について前記色画像描画手段が描画した画像に基づいて印刷を行う第１の印刷手段と、
前記第２の色について前記色画像描画手段が描画した画像に基づく印刷を行う場合には、その直前で当該画像を復号する復号手段と、
前記復号手段が復号した画像を印刷する第２の印刷手段とを備えることを特徴とする。
【００１１】
なお、上記構成を有する印刷装置を備える複合機についても本発明の範疇である。
【００１２】
本発明の目的を達成するために、例えば、本発明の印刷装置の制御方法は以下の構成を備える。
【００１３】
即ち、印刷データを受信する受信工程と、
前記印刷データに基づく画像をバンド毎に描画する描画工程と、
前記描画工程で描画した画像に基づいて印刷を行う印刷工程とを備え、
前記描画工程は、
それぞれのバンドについて、印刷時に使用する色毎の画像を描画する色画像描画工程と、
それぞれのバンドを印刷する際に最初に使用される第１の色以外の第２の色について前記色画像描画工程で描画した画像を、描画直後に圧縮する圧縮工程とを備え、
前記印刷工程は、
前記第１の色について前記色画像描画工程で描画した画像に基づいて印刷を行う第１の印刷工程と、
前記第２の色について前記色画像描画工程で描画した画像に基づく印刷を行う場合には、その直前で当該画像を復号する復号工程と、
前記復号工程で復号した画像を印刷する第２の印刷工程とを備えることを特徴とする。
【発明の効果】
【００１４】
本発明の構成により、カラー印刷を行う為に使用するメモリ量を軽減すると共に、より高速な印刷を、より簡便な処理でもって行うことができる。
【発明を実施するための最良の形態】
【００１５】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１６】
［第１の実施形態］
＜印刷装置の構成、及び基本的な動作について＞
図１は、本実施形態に係る印刷装置のハードウェア構成を示すブロック図である。同図において、１０１はＣＰＵ、１０２はメインメモリ、１０３はメモリコントローラ、１０４はインターフェース、１０５は描画装置、１０６は割り込みコントローラ、１０７は画像メモリ、１０８はメモリコントローラ、１０９は圧縮器、１１０は伸張器、１１１はエンジンインターフェース、１１２は印刷エンジン、１１３はＩＯポートである。
【００１７】
先ず、同図を用いて本実施形態に係る印刷装置の基本的な印刷動作について説明する。まず印刷の指示および印刷データはインターフェース１０４を介して、不図示のホストコンピュータから送られる。印刷データは、インターフェース１０４からメモリコントローラ１０３によって、メインメモリ１０２上の所定の領域に格納される。
【００１８】
少なくとも１ページ分の印刷データがメインメモリ１０２に格納されると、この印刷データはＣＰＵ１０１によって解釈され、メインメモリ１０２上に描画ディスプレイリストである処理リストと描画オブジェクト（オブジェクトデータ）とを部分ページ、即ち印刷バンドに分割して構成する。
【００１９】
ＣＰＵ１０１は十分な処理リストとオブジェクトデータとがメインメモリ１０２上に生成されると、印刷バンド単位で描画動作を行うように、ＩＯポート１１３を介して起動信号を描画装置１０５に対して出力する。
【００２０】
描画装置１０５はこの信号を受けると、メインメモリ１０２上の処理リストとオブジェクトデータとをメモリコントローラ１０３を介して読み出し、メモリコントローラ１０８を介して画像メモリ１０７上にバンド画像（１バンド分の画像）を描画し、形成する。指定された描画が終了すると、描画装置１０５は、描画終了割り込み信号を割り込みコントローラ１０６に出力するので、割り込みコントローラ１０６はＣＰＵ１０１に処理の終了を通知する。
【００２１】
またＣＰＵ１０１は圧縮器１０９に対して、画像メモリ１０７上に形成されたバンド画像を圧縮させるべく、ＩＯポート１１３を介して指示する。圧縮器１０９はこの指示を受けると、指定された画像データをメモリコントローラ１０８を介して読み出し、所定の圧縮方式で圧縮し、画像メモリ１０７の別の領域に圧縮画像を形成する。
【００２２】
指定された１バンド分の画像の圧縮が終了すると、圧縮器１０９は割り込みコントローラ１０６に圧縮終了割り込み信号を出力するので、割り込みコントローラ１０６は処理の終了をＣＰＵ１０１に通知する。
【００２３】
さらにＣＰＵ１０１は、伸張器１１０に対して、画像メモリ１０７上に形成された圧縮バンド画像を伸張させるべく、ＩＯポート１１３を介して指示する。伸張器１１０は指定された圧縮画像データをメモリコントローラ１０８を介して読み出し、所定の伸張方式で伸張し、画像メモリ１０７の別の領域に伸張画像を復元する。
【００２４】
指定された１バンド分の画像の伸張が終了すると、伸張器１１０は割り込みコントローラ１０６に伸張終了割り込み信号を出力するので、割り込みコントローラ１０６は処理の終了をＣＰＵ１０１に通知する。
【００２５】
加えて、ＣＰＵ１０１は、ＩＯポート１１３を介して、エンジンインターフェース１１１にＣ、Ｍ、Ｙ、Ｋの各色の印刷動作をそれぞれ独立に指示する。エンジンインターフェース１１１は画像メモリ１０７上の指定されたバンド画像をメモリコントローラ１０８を介して読み出し、これをビデオ信号に変換して印刷エンジン１１２に出力するので、印刷エンジン１１２はこのビデオ信号に従って印刷処理を行う。
【００２６】
指定された１バンド分の印刷が終了すると、割り込みコントローラ１０６にそれぞれＣ、Ｍ、Ｙ、Ｋの印刷終了割り込み信号を出力し、割り込みコントローラ１０６はバンド画像の印刷の終了をＣＰＵ１０１に通知する。
【００２７】
なお、ＣＰＵ１０１は、ＩＯポート１１３を介して、印刷エンジン１１２からＣ、Ｍ、Ｙ、Ｋそれぞれの印刷開始タイミングである垂直同期信号を入力し、各色の印刷タイミングを知ることができる。
【００２８】
図２は、印刷データに基づいた画像描画処理の流れを示す図で、２０１は描画処理リスト、２０２は描画処理リストのビットフィールドの構成、２０３は描画オブジェクト、２０４、２０５は描画オブジェクトのヘッダ部分のビットフィールドの構成、２０６はマスクデータ発生器、２０７はカラー発生器、２０８は論理演算器でである。また同図において図１と同じ部分については同じ番号を付けており、その説明は省略する。
【００２９】
メインメモリ１０２上に構成された描画処理リスト２０１は処理コマンドのチェインとして構成され、その１つの処理コマンドは２０２で示す如く、描画論理、コマンド、描画座標、マスクオブジェクトの指定、カラーオブジェクトの指定、回転、拡大等の修飾情報で構成されており、描画装置１０５はこの処理コマンドに従って画像を形成する。
【００３０】
オブジェクトデータ２０３は、処理コマンドと同様にメインメモリ１０２上に構成され、マスクオブジェクトはヘッダ部分と、ボディ部分で構成される。同図では、マスクオブジェクトは圧縮フォントの文字Ａでボディ部分にはＡを構成するデータが格納されている。マスクオブジェクトのヘッダ部分２０４には種類（すなわち圧縮フォントオブジェクト）と、ボディの格納される先頭アドレスが示されている。マスク発生器２０６はこのヘッダ部分を参照し、先頭アドレスで指定されるアドレスに格納されているボディデータからＡという文字の画像を発生する。
【００３１】
一方、カラーオブジェクトと指定されたのが、２０５で示すヘッダで、種類はカラーオブジェクトが示され、同様にボディデータの先頭アドレスと、印刷色のＹ、Ｍ、Ｃ、Ｋ各プレーンの先頭アドレスまでのオフセット情報（プレーンオフセット）が格納されている。ボディデータとしては、各印刷色プレーンの濃度データが格納されている。カラー発生器２０７はこのオブジェクトヘッダを参照し、各プレーンに対する濃度データを発生する。
【００３２】
マスク発生器２０６で発生されたマスク画像と、カラー発生器２０７で発生された濃度データは描画座標で指定された場所の元画像データとは、論理演算回路２０８で処理コマンドで指定された描画論理、すなわち、ＯＲ，ＡＮＤ、ＸＯＲ、ＮＯＴ等の論理で演算され、描画座標で指定された位置に書き込むことにより画像を形成する。一般的には、描画論理は、濃度データをマスクデータでクリッピングし、元画像とＯＲして書き込む場合が多い。また通常、マスクデータ、カラーデータのほかにパターンデータも発生し、論理演算するのが一般的であるが、本実施形態の本質をなすものではないので、説明を明解にするため、２つのオブジェクトデータで描画する構成として説明した。描画装置１０５は以上説明したように画像メモリ１０７上に画像を形成する。
【００３３】
図３は上記構成を有する印刷装置が行う印刷動作を時系列で説明する図で、３０１は描画動作、３０２、３０３、３０４、３０５はそれぞれ、印刷色Ｃ、Ｍ、Ｙ、Ｋの印刷動作をバンド単位で表している。同図に示す如く、印刷される順であるＣ、Ｍ、Ｙ、Ｋの順で同一バンドの描画を行い、Ｃプレーンのデータは、画像メモリから直接印刷し、Ｍ、Ｙ、Ｋのデータはそのまま圧縮する。圧縮されたデータは各色の印刷のタイミングになると伸張し、用いる。このように一番先行するＣプレーンの印刷プロセスに同期して、全色の描画を行い、ディレイのあるプレーンはその場で圧縮し、印刷時に伸張して印刷するようにする。
【００３４】
＜印刷動作の詳細について＞
次に、上記構成を備える印刷装置が行う印刷処理について詳細に説明する。図４は、印刷データを受信し、これに基づく画像の描画、及びこの画像の圧縮を行う処理のフローチャートである。
【００３５】
先ず、インターフェース１０４を介して外部装置から印刷データが送信されるので、ＣＰＵ１０１はこの印刷データをインターフェース１０４からメモリコントローラ１０３によって、メインメモリ１０２上の所定の領域に格納する（ステップＳ１）。
【００３６】
そして１ページ分の印刷データを受信すると、処理をステップＳ２を介してステップＳ３に進め、ＣＰＵ１０１はこの印刷データを解釈し、メインメモリ１０２上に処理リストと描画オブジェクト（オブジェクトデータ）とをバンド毎に生成する（ステップＳ３）。そして次に、変数ｎが保持する値を１に初期化する（ステップＳ４）。
【００３７】
次に、ＣＰＵ１０１はｎバンド目のＣプレーンの画像を描画すべく、ＩＯポート１１３を介して起動信号を描画装置１０５に対して出力する（ステップＳ５）。これにより描画装置１０５はＣプレーンの画像の描画処理を開始する。Ｃプレーンの画像は画像メモリ１０７上に描画される。Ｃプレーンの画像の描画が終了すると、描画装置１０５は、描画終了割り込み信号を割り込みコントローラ１０６に出力するので、割り込みコントローラ１０６はＣＰＵ１０１に処理の終了を通知する。
【００３８】
よってＣＰＵ１０１はこの終了の通知を受けると処理をステップＳ６を介してステップＳ７に進め、変数ｎが保持する値が１であるのか否かを判断する（ステップＳ７）。ｎ＝１の場合には処理をステップＳ８に進める。一方、ｎ＝１ではない場合には処理をステップＳ１７に進め、前のバンド、すなわち（ｎ−１）バンド目のＫプレーンの圧縮動作が終了するまで待機する（ステップＳ１７）。そして、Ｋプレーンの圧縮動作終了の通知を圧縮器１０９から受けると処理をステップＳ８に進める。
【００３９】
次に、ＣＰＵ１０１はｎバンド目のＭプレーンの画像を描画すべく、ＩＯポート１１３を介して起動信号を描画装置１０５に対して出力する（ステップＳ８）。これにより描画装置１０５はＭプレーンの画像の描画処理を開始する。Ｍプレーンの画像は画像メモリ１０７上に描画される。Ｍプレーンの画像の描画が終了すると、描画装置１０５は、描画終了割り込み信号を割り込みコントローラ１０６に出力するので、割り込みコントローラ１０６はＣＰＵ１０１に処理の終了を通知する。
【００４０】
よってＣＰＵ１０１はこの終了の通知を受けると処理をステップＳ９を介してステップＳ１０に進め、描画装置１０５によって描画されたＭプレーンの画像を圧縮すべく、ＣＰＵ１０１は圧縮器１０９に対してＩＯポート１１３を介して指示する（ステップＳ１０）。圧縮器１０９はこの指示を受けると、画像メモリ１０７上に描画されたＭプレーンの画像を圧縮する。圧縮器１０９はＭプレーンの画像の圧縮が完了すると割り込みコントローラ１０６に圧縮終了割り込み信号を出力するので、割り込みコントローラ１０６は処理の終了をＣＰＵ１０１に通知する。
【００４１】
更にＣＰＵ１０１は、ｎバンド目のＹプレーンの画像を描画すべく、ＩＯポート１１３を介して起動信号を描画装置１０５に対して出力する（ステップＳ１０）。これにより描画装置１０５はＹプレーンの画像の描画処理を開始する。Ｙプレーンの画像は画像メモリ１０７上に描画される。Ｙプレーンの画像の描画が終了すると、描画装置１０５は、描画終了割り込み信号を割り込みコントローラ１０６に出力するので、割り込みコントローラ１０６はＣＰＵ１０１に処理の終了を通知する。
【００４２】
そしてＣＰＵ１０１は、割り込みコントローラ１０６からＭプレーンの画像の圧縮完了の旨を受けると共に、Ｙプレーンの画像の描画処理が完了した旨を受けると処理をステップＳ１１を介してステップＳ１２に進め、描画装置１０５によって描画されたＹプレーンの画像を圧縮すべく、ＣＰＵ１０１は圧縮器１０９に対してＩＯポート１１３を介して指示する（ステップＳ１２）。圧縮器１０９はこの指示を受けると、画像メモリ１０７上に描画されたＹプレーンの画像を圧縮する。圧縮器１０９はＹプレーンの画像の圧縮が完了すると割り込みコントローラ１０６に圧縮終了割り込み信号を出力するので、割り込みコントローラ１０６は処理の終了をＣＰＵ１０１に通知する。
【００４３】
更にＣＰＵ１０１は、ｎバンド目のＫプレーンの画像を描画すべく、ＩＯポート１１３を介して起動信号を描画装置１０５に対して出力する（ステップＳ１２）。これにより描画装置１０５はＫプレーンの画像の描画処理を開始する。Ｋプレーンの画像は画像メモリ１０７上に描画される。Ｋプレーンの画像の描画が終了すると、描画装置１０５は、描画終了割り込み信号を割り込みコントローラ１０６に出力するので、割り込みコントローラ１０６はＣＰＵ１０１に処理の終了を通知する。
【００４４】
そしてＣＰＵ１０１は、割り込みコントローラ１０６からＹプレーンの画像の圧縮完了の旨を受けると共に、Ｋプレーンの画像の描画処理が完了した旨を受けると処理をステップＳ１３を介してステップＳ１４に進め、描画装置１０５によって描画されたＫプレーンの画像を圧縮すべく、ＣＰＵ１０１は圧縮器１０９に対してＩＯポート１１３を介して指示する（ステップＳ１４）。圧縮器１０９はこの指示を受けると、画像メモリ１０７上に描画されたＫプレーンの画像を圧縮する。圧縮器１０９はＫプレーンの画像の圧縮が完了すると割り込みコントローラ１０６に圧縮終了割り込み信号を出力するので、割り込みコントローラ１０６は処理の終了をＣＰＵ１０１に通知する。
【００４５】
一方、ＣＰＵ１０１は、変数ｎが保持する値が総バンド数であるのか否か、即ち、全てのバンドについてＣ、Ｍ、Ｙ、Ｋの各プレーンの画像を描画、圧縮したのかを判断し（ステップＳ１５）、変数ｎが保持する値が総バンド数ではない場合には処理をステップＳ１６に進め、変数ｎが保持する値に１を加えて更新し（ステップＳ１６）、処理をステップＳ５に戻し、次のバンドについてステップＳ５以降の処理を行う。
【００４６】
一方、変数ｎが保持する値が総バンド数である場合には処理をステップＳ１８に進め、ＣＰＵ１０１は、割り込みコントローラ１０６からＫプレーンの画像の圧縮完了の旨を受けると本処理を完了する。
【００４７】
図５Ａ、５Ｂは、圧縮されたバンド毎の画像（各プレーンの画像）を伸張し、印刷する為の処理のフローチャートである。なお、図５Ａ、５Ｂに示したフローチャートに従った処理は、図４に示したフローチャートに従った処理と並行してＣＰＵ１０１によって行われるものであり、この並行動作はいわゆるＣＰＵ１０１のマルチタスク処理によって実現される。
【００４８】
先ず、変数ｉ、ｊ、ｌ、ｍが保持する値を０に初期化する（ステップＳ５０１）。次に、１バンド目のＫプレーンの画像の描画処理が完了した（即ち、割り込みコントローラ１０６からＫプレーンの画像の描画処理が完了した旨を受けた）場合には、印刷開始可能なタイミングと判断し、処理をステップＳ５０２を介してステップＳ５０３に進め、印刷エンジン１１２を起動する（ステップＳ５０３）。
【００４９】
次に、変数ｉに値「１」を格納し（ステップＳ５０４）、１バンド目のＣプレーンの画像の印刷を行うべく、ＣＰＵ１０１は、ＩＯポート１１３を介して、エンジンインターフェース１１１に１バンド目のＣプレーンの画像の印刷動作を指示する（ステップＳ５０５）。これによりエンジンインターフェース１１１は画像メモリ１０７上の１バンド目のＣプレーンの画像をメモリコントローラ１０８を介して読み出し、これをビデオ信号に変換して印刷エンジン１１２に出力するので、印刷エンジン１１２はこのビデオ信号に従って１バンド目のＣプレーンの画像の印刷処理を行う。
【００５０】
更に、この印刷処理と並行して、ＣＰＵ１０１は、１バンド目の圧縮されたＭプレーンの画像、Ｙプレーンの画像、Ｋプレーンの画像の復号（伸張）を行うべく、伸張器１１０に対して、画像メモリ１０７上に形成された１バンド目の圧縮されたＭプレーンの画像、Ｙプレーンの画像、Ｋプレーンの画像の伸張をＩＯポート１１３を介して指示する（ステップＳ５０５）。伸張器１１０は１バンド目の圧縮されたＭプレーンの画像、Ｙプレーンの画像、Ｋプレーンの画像をメモリコントローラ１０８を介して読み出して伸張し、画像メモリ１０７の別の領域に伸張画像を復元する。
【００５１】
次に、ＣＰＵ１０１は、変数ｉが保持する値が０であるのか否かを判断し（ステップＳ５０６）、変数ｉが保持する値が０である場合には処理をステップＳ５１２に進める。一方、変数ｉが保持する値が０ではない場合には処理をステップＳ５０７に進め、ｉバンド目の印刷が完了したか否かを判断する（ステップＳ５０７）。
【００５２】
ｉバンド目の印刷が完了していない場合には処理をステップＳ５１２に進める。一方、ｉバンド目の印刷が完了していれば処理をステップＳ５０８に進め、ｉバンド目が最終バンドであるのか（変数ｉが保持する値が総バンド数であるのか）を判断する（ステップＳ５０８）。
【００５３】
ｉバンド目が最終バンドである場合には処理をステップＳ５１１に進め、変数ｉが保持する値を０に初期化し（ステップＳ５１１）、その後、処理をステップＳ５１２に進める。一方、ｉバンド目が最終バンドではない場合には処理をステップＳ５０９に進め、変数ｉが保持する値に１を加えて更新し（ステップＳ５０９）、ｉバンド目のＣプレーンの画像の印刷を行うべく、ＣＰＵ１０１は、ＩＯポート１１３を介して、エンジンインターフェース１１１にｉバンド目のＣプレーンの画像の印刷動作を指示する（ステップＳ５１０）。これによりエンジンインターフェース１１１は画像メモリ１０７上のｉバンド目のＣプレーンの画像をメモリコントローラ１０８を介して読み出し、これをビデオ信号に変換して印刷エンジン１１２に出力するので、印刷エンジン１１２はこのビデオ信号に従ってｉバンド目のＣプレーンの画像の印刷処理を行う。
【００５４】
次に、変数ｊが保持する値が０であるのか否かを判断する（ステップＳ５１２）。変数ｊが保持する値が０ではない場合には処理をステップＳ５１７に進める。一方、変数ｊが保持する値が０である場合には処理をステップＳ５１３に進め、Ｍプレーンの画像の印刷を開始するタイミングであるのかを判断する（ステップＳ５１３）。開始するタイミングではない場合には処理をステップＳ５２４に進める。一方、開始するタイミングである場合には処理をステップＳ５１４に進め、変数ｊに値「１」を格納する（ステップＳ５１４）。
【００５５】
そして１バンド目のＭプレーンの画像の印刷を行うべく、ＣＰＵ１０１は、ＩＯポート１１３を介して、エンジンインターフェース１１１に１バンド目のＭプレーンの画像の印刷動作を指示する（ステップＳ５１５）。これによりエンジンインターフェース１１１は画像メモリ１０７上の伸張済みの１バンド目のＭプレーンの画像をメモリコントローラ１０８を介して読み出し、これをビデオ信号に変換して印刷エンジン１１２に出力するので、印刷エンジン１１２はこのビデオ信号に従って１バンド目のＭプレーンの画像の印刷処理を行う。
【００５６】
次に、ＣＰＵ１０１は、２バンド目の圧縮されたＭプレーンの画像の復号（伸張）を行うべく、伸張器１１０に対して、画像メモリ１０７上に形成された２バンド目の圧縮されたＭプレーンの画像の伸張をＩＯポート１１３を介して指示する（ステップＳ５１６）。これにより、伸張器１１０は、２バンド目の圧縮されたＭプレーンの画像をメモリコントローラ１０８を介して読み出して伸張し、画像メモリ１０７の別の領域に伸張画像を復元する。
【００５７】
次に、ｊバンド目の印刷が完了したか否かを判断する（ステップＳ５１７）。ｊバンド目の印刷が完了していない場合には処理をステップＳ５２４に進める。一方、ｊバンド目の印刷が完了していれば処理をステップＳ５１８に進め、ｊバンド目が最終バンドであるのか（変数ｊが保持する値が総バンド数であるのか）を判断する（ステップＳ５１８）。
【００５８】
ｊバンド目が最終バンドである場合には処理をステップＳ５２３に進め、変数ｊが保持する値を０に初期化し（ステップＳ５２３）、その後、処理をステップＳ５２４に進める。一方、ｊバンド目が最終バンドではない場合には処理をステップＳ５１９に進め、変数ｊが保持する値に１を加えて更新し（ステップＳ５１９）、ｊバンド目のＭプレーンの画像の印刷を行うべく、ＣＰＵ１０１は、ＩＯポート１１３を介して、エンジンインターフェース１１１にｊバンド目のＭプレーンの画像の印刷動作を指示する（ステップＳ５２０）。これによりエンジンインターフェース１１１は画像メモリ１０７上のｊバンド目のＭプレーンの画像をメモリコントローラ１０８を介して読み出し、これをビデオ信号に変換して印刷エンジン１１２に出力するので、印刷エンジン１１２はこのビデオ信号に従ってｊバンド目のＭプレーンの画像の印刷処理を行う。
【００５９】
次に、ｊバンド目が最終バンドであるのか（変数ｊが保持する値が総バンド数であるのか）を判断する（ステップＳ５２１）。
【００６０】
ｊバンド目が最終バンドである場合には処理をステップＳ５２２に進め、ＣＰＵ１０１は、（ｊ＋１）バンド目の圧縮されたＭプレーンの画像の復号（伸張）を行うべく、伸張器１１０に対して、画像メモリ１０７上に形成された（ｊ＋１）バンド目の圧縮されたＭプレーンの画像の伸張をＩＯポート１１３を介して指示する（ステップＳ５２２）。これにより、伸張器１１０は、（ｊ＋１）バンド目の圧縮されたＭプレーンの画像をメモリコントローラ１０８を介して読み出して伸張し、画像メモリ１０７の別の領域に伸張画像を復元する。
【００６１】
一方、ｊバンド目が最終バンドではない場合には処理をステップＳ５２４に進め、変数ｌが保持する値が０であるのか否かを判断する（ステップＳ５２４）。変数ｌが保持する値が０ではない場合には処理をステップＳ５２９に進める。一方、変数ｌが保持する値が０である場合には処理をステップＳ５２５に進め、Ｙプレーンの画像の印刷を開始するタイミングであるのかを判断する（ステップＳ５２５）。開始するタイミングではない場合には処理をステップＳ５３６に進める。一方、開始するタイミングである場合には処理をステップＳ５２６に進め、変数ｌに値「１」を格納する（ステップＳ５２６）。
【００６２】
そして１バンド目のＹプレーンの画像の印刷を行うべく、ＣＰＵ１０１は、ＩＯポート１１３を介して、エンジンインターフェース１１１に１バンド目のＹプレーンの画像の印刷動作を指示する（ステップＳ５２７）。これによりエンジンインターフェース１１１は画像メモリ１０７上の伸張済みの１バンド目のＹプレーンの画像をメモリコントローラ１０８を介して読み出し、これをビデオ信号に変換して印刷エンジン１１２に出力するので、印刷エンジン１１２はこのビデオ信号に従って１バンド目のＹプレーンの画像の印刷処理を行う。
【００６３】
次に、ＣＰＵ１０１は、２バンド目の圧縮されたＹプレーンの画像の復号（伸張）を行うべく、伸張器１１０に対して、画像メモリ１０７上に形成された２バンド目の圧縮されたＹプレーンの画像の伸張をＩＯポート１１３を介して指示する（ステップＳ５２８）。これにより、伸張器１１０は、２バンド目の圧縮されたＹプレーンの画像をメモリコントローラ１０８を介して読み出して伸張し、画像メモリ１０７の別の領域に伸張画像を復元する。
【００６４】
次に、ｌバンド目の印刷が完了したか否かを判断する（ステップＳ５２９）。ｌバンド目の印刷が完了していない場合には処理をステップＳ５３６に進める。一方、ｌバンド目の印刷が完了していれば処理をステップＳ５３０に進め、ｌバンド目が最終バンドであるのか（変数ｌが保持する値が総バンド数であるのか）を判断する（ステップＳ５３０）。
【００６５】
ｌバンド目が最終バンドである場合には処理をステップＳ５３５に進め、変数ｌが保持する値を０に初期化し（ステップＳ５３５）、その後、処理をステップＳ５３６に進める。一方、ｌバンド目が最終バンドではない場合には処理をステップＳ５３１に進め、変数ｌが保持する値に１を加えて更新し（ステップＳ５３１）、ｌバンド目のＹプレーンの画像の印刷を行うべく、ＣＰＵ１０１は、ＩＯポート１１３を介して、エンジンインターフェース１１１にｌバンド目のＹプレーンの画像の印刷動作を指示する（ステップＳ５３２）。これによりエンジンインターフェース１１１は画像メモリ１０７上のｌバンド目のＹプレーンの画像をメモリコントローラ１０８を介して読み出し、これをビデオ信号に変換して印刷エンジン１１２に出力するので、印刷エンジン１１２はこのビデオ信号に従ってｌバンド目のＹプレーンの画像の印刷処理を行う。
【００６６】
次に、ｌバンド目が最終バンドであるのか（変数ｌが保持する値が総バンド数であるのか）を判断する（ステップＳ５３３）。
【００６７】
ｌバンド目が最終バンドである場合には処理をステップＳ５３６に進める。一方、ｌバンド目が最終バンドではない場合には処理をステップＳ５３４に進め、ＣＰＵ１０１は、（ｌ＋１）バンド目の圧縮されたＹプレーンの画像の復号（伸張）を行うべく、伸張器１１０に対して、画像メモリ１０７上に形成された（ｌ＋１）バンド目の圧縮されたＹプレーンの画像の伸張をＩＯポート１１３を介して指示する（ステップＳ５３４）。これにより、伸張器１１０は、（ｌ＋１）バンド目の圧縮されたＹプレーンの画像をメモリコントローラ１０８を介して読み出して伸張し、画像メモリ１０７の別の領域に伸張画像を復元する。
【００６８】
次に、変数ｍが保持する値が０であるのか否かを判断する（ステップＳ５３６）。変数ｍが保持する値が０ではない場合には処理をステップＳ５４１に進める。一方、変数ｍが保持する値が０である場合には処理をステップＳ５３７に進め、Ｋプレーンの画像の印刷を開始するタイミングであるのかを判断する（ステップＳ５３７）。開始するタイミングではない場合には処理をステップＳ５０６に戻す。一方、開始するタイミングである場合には処理をステップＳ５３８に進め、変数ｍに値「１」を格納する（ステップＳ５３８）。
【００６９】
そして１バンド目のＫプレーンの画像の印刷を行うべく、ＣＰＵ１０１は、ＩＯポート１１３を介して、エンジンインターフェース１１１に１バンド目のＫプレーンの画像の印刷動作を指示する（ステップＳ５３９）。これによりエンジンインターフェース１１１は画像メモリ１０７上の伸張済みの１バンド目のＫプレーンの画像をメモリコントローラ１０８を介して読み出し、これをビデオ信号に変換して印刷エンジン１１２に出力するので、印刷エンジン１１２はこのビデオ信号に従って１バンド目のＫプレーンの画像の印刷処理を行う。
【００７０】
次に、ＣＰＵ１０１は、２バンド目の圧縮されたＫプレーンの画像の復号（伸張）を行うべく、伸張器１１０に対して、画像メモリ１０７上に形成された２バンド目の圧縮されたＫプレーンの画像の伸張をＩＯポート１１３を介して指示する（ステップＳ５４０）。これにより、伸張器１１０は、２バンド目の圧縮されたＫプレーンの画像をメモリコントローラ１０８を介して読み出して伸張し、画像メモリ１０７の別の領域に伸張画像を復元する。
【００７１】
次に、ｍバンド目の印刷が完了したか否かを判断する（ステップＳ５４１）。ｍバンド目の印刷が完了していない場合には処理をステップＳ５０６に戻す。一方、ｍバンド目の印刷が完了していれば処理をステップＳ５４２に進め、ｍバンド目が最終バンドであるのか（変数ｍが保持する値が総バンド数であるのか）を判断する（ステップＳ５４２）。
【００７２】
ｍバンド目が最終バンドである場合には本処理を終了する。一方、ｍバンド目が最終バンドではない場合には処理をステップＳ５４３に進め、変数ｍが保持する値に１を加えて更新し（ステップＳ５４３）、ｍバンド目のＫプレーンの画像の印刷を行うべく、ＣＰＵ１０１は、ＩＯポート１１３を介して、エンジンインターフェース１１１にｍバンド目のＫプレーンの画像の印刷動作を指示する（ステップＳ５４４）。これによりエンジンインターフェース１１１は画像メモリ１０７上のｍバンド目のＫプレーンの画像をメモリコントローラ１０８を介して読み出し、これをビデオ信号に変換して印刷エンジン１１２に出力するので、印刷エンジン１１２はこのビデオ信号に従ってｍバンド目のＫプレーンの画像の印刷処理を行う。
【００７３】
次に、ｍバンド目が最終バンドであるのか（変数ｍが保持する値が総バンド数であるのか）を判断する（ステップＳ５４５）。
【００７４】
ｍバンド目が最終バンドである場合には処理をステップＳ５０６に戻す。一方、ｍバンド目が最終バンドではない場合には処理をステップＳ５４６に進め、ＣＰＵ１０１は、（ｍ＋１）バンド目の圧縮されたＫプレーンの画像の復号（伸張）を行うべく、伸張器１１０に対して、画像メモリ１０７上に形成された（ｍ＋１）バンド目の圧縮されたＫプレーンの画像の伸張をＩＯポート１１３を介して指示する（ステップＳ５４６）。これにより、伸張器１１０は、（ｍ＋１）バンド目の圧縮されたＫプレーンの画像をメモリコントローラ１０８を介して読み出して伸張し、画像メモリ１０７の別の領域に伸張画像を復元する。
【００７５】
以上の説明により、本実施形態によって、描画したプレーンの画像は即座に圧縮し（Ｃプレーンの画像は除く）、印刷時において復号して用いるので、メモリには印刷されるプレーンの画像のみが復号されて保持されていることになり、全てのプレーンの画像を圧縮していない状態でメモリに保持している従来に比べて、メモリの使用量を軽減させることができる。
【００７６】
また、「各プレーンの画像は印刷時に復号する」というように、簡便な規則に従って各プレーンの画像（Ｃプレーンの画像は除く）に基づく印刷を行うので、比較的簡便な処理でもってカラー印刷処理を行うことができる。
【００７７】
また本実施形態は、１バンド分のＣ、Ｍ、Ｙ、Ｋの各プレーンの画像が得られれば印刷処理を開始するので、１ページ分の画像データが得られてから印刷処理を開始する従来よりも、より高速に印刷処理を行うことができる。
【００７８】
［第２の実施形態］
バンド単位の４プレーンの描画予測時間が、印刷プロセスの実行時間より大きい場合は、あらかじめバンドの描画を印刷装置起動前に行い、圧縮して保持しておき、印刷のタイミングにおいて、圧縮バンド画像を伸張して印刷するようにすれば、描画速度が低速な描画装置を用いても第１の実施形態で説明した処理が実施でき、より安価な印刷装置が実現できる。
【００７９】
［第３の実施形態］
第２の実施形態において、時間予測を各バンドの各プレーン単位で行い、どうしても間に合わないプレーンのバンド描画のみ、印刷前に描画するようにすれば、より効率のよい印刷装置が構成できる。
【００８０】
また、上記各実施形態に係る印刷装置は単体で動作するものとして説明したが、これに限定するものではなく、コピー機能、プリント機能、ＦＡＸ機能、ＢＯＸ機能、またはファイル送信機能などの機能を有する複合機に備わっている印刷機構部分に上記各実施形態に係る印刷装置を適用するようにしても良い。
【００８１】
また、上記各実施形態では印刷に使用する色をＣ、Ｍ、Ｙ、Ｋとしたが、これ以外の色を用いる場合についても上記各実施形態は適用可能である。
【００８２】
また、上記各実施形態に係る印刷装置による印刷方法は、特定の方式に従ったものに限定するものではないし、以上説明したもの以外の機構については特に限定するものではない。
【図面の簡単な説明】
【００８３】
【図１】本発明の第１の実施形態に係る印刷装置のハードウェア構成を示すブロック図である。
【図２】印刷データに基づいた画像描画処理の流れを示す図である。
【図３】本発明の第１の実施形態に係る印刷装置が行う印刷動作を時系列で説明する図である。
【図４】印刷データを受信し、これに基づく画像の描画、及びこの画像の圧縮を行う処理のフローチャートである。
【図５Ａ】圧縮されたバンド毎の画像（各プレーンの画像）を伸張し、印刷する為の処理のフローチャートである。
【図５Ｂ】圧縮されたバンド毎の画像（各プレーンの画像）を伸張し、印刷する為の処理のフローチャートである。
【図１】
2006248184.tif 000003
【図２】
2006248184.tif 000004
【図３】
2006248184.tif 000005
【図４】
2006248184.tif 000006
【図５Ａ】
2006248184.tif 000007
【図５Ｂ】
2006248184.tif 000008