(57)【特許請求の範囲】
【請求項１】
入力されたページ記述言語形式の印刷データに基づいてバンド単位のイメージデータを生成して出力する画像処理装置であって、
イメージデータの圧縮処理、及び、圧縮されたイメージデータの伸長処理を行なう第１、第２の圧縮伸長回路と、前記第１、第２の圧縮伸長回路を並列配列、又は、直列配列のいずれかに切り替えるスイッチと、該スイッチによって直列配列した場合の前記第１、第２の圧縮伸長回路の間に位置する論理演算部とを有する圧縮伸長部と、
情報を一時的に記憶するメモリと、
前記入力されたページ記述言語形式の印刷データを、バンド単位に中間コードデータへ変換し、変換して得られた中間コードデータを前記メモリに格納する変換手段と、
前記変換手段による中間コードデータへの変換処理中に、前記メモリに格納される中間コードデータの総量が予め定めた基準値を越えるか判断する第１の判断手段と、
該第１の判断手段によって、中間コードデータの総量が基準値を超えないと判断したまま、１ページ分の中間コードデータへの変換が終了した場合、前記メモリに格納された中間コードデータをバンド単位に読込み、バンド毎のイメージデータを生成し、出力する第１の出力制御手段と、
前記第１判断手段によって、１ページ分の中間コードデータへの変換中に、中間コードデータの総量が前記基準値を超えたと判断した場合、前記メモリに存在する中間コードデータが、前記圧縮伸長部で圧縮された既にビットマップ展開を行なったバンドのイメージデータに対して合成すべき中間コードデータであるか否かを判断する第２の判断手段と、
該第２の判断手段で、前記メモリに存在する中間コードデータが、前記圧縮伸長部で圧縮された既にビットマップ展開を行なったバンドのイメージデータに対して合成すべき中間コードデータではないと判断した場合、前記メモリに格納されている中間コードデータから２バンド分のイメージデータを生成し、前記スイッチを制御して前記第１、第２の圧縮伸長回路を並列配列させ、前記第１、第２の圧縮伸長回路に、生成された２バンド分のイメージデータを並列に圧縮させ、当該２バンド分の圧縮データを前記メモリに格納すると共に、圧縮したバンドのイメージデータを生成する際に用いた中間コードデータを前記メモリから削除する処理（ａ）を行ない、
前記第２の判断手段で、前記メモリに存在する中間コードデータが、前記圧縮伸長部で圧縮された既にビットマップ展開を行なったバンドのイメージデータに対して合成すべき中間コードであると判断した場合、その判定処理に応じて前記スイッチを制御して前記第１、第２の圧縮伸長回路を直列配列させ、前記第１の圧縮伸長回路を用いて該当するバンドの圧縮されたイメージデータを伸長させ、当該中間コードデータに基づいて生成される新たなイメージデータと当該伸長処理後のイメージデータとを前記論理演算部によって論理合成させ、当該論理合成後のイメージデータを前記第２の圧縮伸長回路によって圧縮させ、当該圧縮データを前記メモリに格納すると共に、圧縮したイメージデータを生成する際に用いた中間コードデータを前記メモリから削除する処理（ｂ）を行ない、
注目ページの全中間コードデータに基づく各バンドの圧縮データが前記メモリに格納されるまで、前記処理（ａ）又は処理（ｂ）を繰り返し行ない、前記注目ページの全中間コードデータに基づく圧縮データが前記メモリに格納された場合、前記圧縮伸長部を制御して各バンドの圧縮データを伸長し、伸長して得られた各バンドのイメージデータを出力する第２の出力制御手段と
を備えることを特徴とする画像処理装置。
【請求項２】
前記第２の出力制御手段が、各バンドイメージデータを出力する場合、前記スイッチを制御して、前記第１、第２の圧縮伸張回路を並列配列させ、２バンド分の圧縮イメージデータを並列して伸長させることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
イメージデータの圧縮処理、及び、圧縮されたイメージデータの伸長処理を行なう第１、第２の圧縮伸長回路と、前記第１、第２の圧縮伸長回路を並列配列、又は、直列配列のいずれかに切り替えるスイッチと、該スイッチによって直列配列した場合の前記第１、第２の圧縮伸長回路の間に位置する論理演算部とを有する圧縮伸長部と、
情報を一時的に記憶するメモリとを備え、
入力されたページ記述言語形式の印刷データに基づいてバンド単位のイメージデータを生成して出力する画像処理装置の制御方法であって、
前記入力されたページ記述言語形式の印刷データを、バンド単位に中間コードデータへ変換し、変換して得られた中間コードデータを前記メモリに格納する変換工程と、
前記変換工程による中間コードデータへの変換処理中に、前記メモリに格納される中間コードデータの総量が予め定めた基準値を越えるか判断する第１の判断工程と、
該第１の判断工程によって、中間コードデータの総量が基準値を超えないと判断したまま、１ページ分の中間コードデータへの変換が終了した場合、前記メモリに格納された中間コードデータをバンド単位に読込み、バンド毎のイメージデータを生成し、出力する第１の出力制御工程と、
前記第１判断工程によって、１ページ分の中間コードデータへの変換中に、中間コードデータの総量が前記基準値を超えたと判断した場合、前記メモリに存在する中間コードデータが、前記圧縮伸長部で圧縮された既にビットマップ展開を行なったバンドのイメージデータに対して合成すべき中間コードデータであるか否かを判断する第２の判断工程と、
該第２の判断工程で、前記メモリに存在する中間コードデータが、前記圧縮伸長部で圧縮された既にビットマップ展開を行なったバンドのイメージデータに対して合成すべき中間コードデータではないと判断した場合、前記メモリに格納されている中間コードデータから２バンド分のイメージデータを生成し、前記スイッチを制御して前記第１、第２の圧縮伸長回路を並列配列させ、前記第１、第２の圧縮伸長回路に、生成された２バンド分のイメージデータを並列に圧縮させ、当該２バンド分の圧縮データを前記メモリに格納すると共に、圧縮したバンドのイメージデータを生成する際に用いた中間コードデータを前記メモリから削除する処理（ａ）を行ない、
前記第２の判断工程で、前記メモリに存在する中間コードデータが、前記圧縮伸長部で圧縮された既にビットマップ展開を行なったバンドのイメージデータに対して合成すべき中間コードであると判断した場合、その判定処理に応じて前記スイッチを制御して前記第１、第２の圧縮伸長回路を直列配列させ、前記第１の圧縮伸長回路を用いて該当するバンドの圧縮されたイメージデータを伸長させ、当該中間コードデータに基づいて生成される新たなイメージデータと当該伸長処理後のイメージデータとを前記論理演算部によって論理合成させ、当該論理合成後のイメージデータを前記第２の圧縮伸長回路によって圧縮させ、当該圧縮データを前記メモリに格納すると共に、圧縮したイメージデータを生成する際に用いた中間コードデータを前記メモリから削除する処理（ｂ）を行ない、
注目ページの全中間コードデータに基づく各バンドの圧縮データが前記メモリに格納されるまで、前記処理（ａ）又は処理（ｂ）を繰り返し行ない、前記注目ページの全中間コードデータに基づく圧縮データが前記メモリに格納された場合、前記圧縮伸長部を制御して各バンドの圧縮データを伸長し、伸長して得られた各バンドのイメージデータを出力する第２の出力制御工程と
を備えることを特徴とする画像処理装置の制御方法。
【請求項４】
前記第２の出力制御工程で、各バンドイメージデータを出力する場合、前記スイッチを制御して、前記第１、第２の圧縮伸張回路を並列配列させ、２バンド分の圧縮イメージデータを並列して伸長させることを特徴とする請求項３に記載の画像処理装置の制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は画像処理装置及び制御方法、詳しくは受信したデータに基づいてバンド単位に出力画像を生成する画像処理装置及び制御方法に関するものである。
【０００２】
【従来の技術】
ページプリンタとして主流であるレーザプリンタにおいては、印刷エンジン部は一定速度で画像を形成していく。そのため、ビットマップデータを形成するコントローラ部はエンジンの動作に追いつくようにビットマップデータを生成しなければならない。
【０００３】
【発明が解決しようとする課題】
或るプリンタのコントローラ部では、メモリ容量を抑えるため、１ページを上下方向に複数のバンドに分割し、ホストなどから送られるデータからバンドごとに中間データを作成しておき、印刷するときは印刷エンジンを動作させながら先頭のバンドからビットマップデータの生成を行なうものもある。しかし中間データの構成数が多過ぎて作業用のメモリエリアがとれなくなることがある。なお、ここで言う中間データ（もしくは中間コード）とは、ホストコンピュータから送られてきたページ記述言語形式のデータに基づいて生成する、より低レベルなデータ（コード）であり、ビットマップを効率良く行なうためのものである。
【０００４】
さて、上記のようにメモリエリアの不足が生じたときは、一部の中間データが生成された時点でそれをラスタ展開し、生成したビットマップデータの圧縮とメモリの再配置によって空きエリアを確保しながら、残りの中間データの生成とその圧縮を繰り返し行なう等が先ず考えられる。そして、１ページ分の圧縮されたビットマップデータを一旦生成したら、エンジンの動作に遅れないようにデータを復元し出力する。ビットマップデータを圧縮して保存するのは、コントローラ部が必要なデータを少なくするためである。この方式によれば中間データが複雑すぎて展開の速度がエンジンの印刷速度に間に合わない場合もある程度はカバーできる。
【０００５】
上記の１ページ分の圧縮されたビットマップデータを作成する過程において、ある中間言語を展開し作られたビットマップデータを既に圧縮済みのビットマップデータに重ね書きなどをしなければならないことが起こり得る。この場合は、圧縮済みのビットマップデータを一旦復元してから新しくラスタ展開した画像を論理合成し、再度圧縮する必要がある。
【０００６】
【課題を解決するための手段】
本発明は入力データに基づいてバンド単位のイメージデータの生成を、限られた資源を有効活用し、しかも高速に行なうことを可能ならしめる画像処理装置及び制御方法を提供しようとするものである。
【０００７】
この課題を解決するため、例えば本発明の画像処理装置は以下に示す構成を備える。すなわち、
入力されたページ記述言語形式の印刷データに基づいてバンド単位のイメージデータを生成して出力する画像処理装置であって、
イメージデータの圧縮処理、及び、圧縮されたイメージデータの伸長処理を行なう第１、第２の圧縮伸長回路と、前記第１、第２の圧縮伸長回路を並列配列、又は、直列配列のいずれかに切り替えるスイッチと、該スイッチによって直列配列した場合の前記第１、第２の圧縮伸長回路の間に位置する論理演算部とを有する圧縮伸長部と、
情報を一時的に記憶するメモリと、
前記入力されたページ記述言語形式の印刷データを、バンド単位に中間コードデータへ変換し、変換して得られた中間コードデータを前記メモリに格納する変換手段と、
前記変換手段による中間コードデータへの変換処理中に、前記メモリに格納される中間コードデータの総量が予め定めた基準値を越えるか判断する第１の判断手段と、
該第１の判断手段によって、中間コードデータの総量が基準値を超えないと判断したまま、１ページ分の中間コードデータへの変換が終了した場合、前記メモリに格納された中間コードデータをバンド単位に読込み、バンド毎のイメージデータを生成し、出力する第１の出力制御手段と、
前記第１判断手段によって、１ページ分の中間コードデータへの変換中に、中間コードデータの総量が前記基準値を超えたと判断した場合、前記メモリに存在する中間コードデータが、前記圧縮伸長部で圧縮された既にビットマップ展開を行なったバンドのイメージデータに対して合成すべき中間コードデータであるか否かを判断する第２の判断手段と、
該第２の判断手段で、前記メモリに存在する中間コードデータが、前記圧縮伸長部で圧縮された既にビットマップ展開を行なったバンドのイメージデータに対して合成すべき中間コードデータではないと判断した場合、前記メモリに格納されている中間コードデータから２バンド分のイメージデータを生成し、前記スイッチを制御して前記第１、第２の圧縮伸長回路を並列配列させ、前記第１、第２の圧縮伸長回路に、生成された２バンド分のイメージデータを並列に圧縮させ、当該２バンド分の圧縮データを前記メモリに格納すると共に、圧縮したバンドのイメージデータを生成する際に用いた中間コードデータを前記メモリから削除する処理（ａ）を行ない、
前記第２の判断手段で、前記メモリに存在する中間コードデータが、前記圧縮伸長部で圧縮された既にビットマップ展開を行なったバンドのイメージデータに対して合成すべき中間コードであると判断した場合、その判定処理に応じて前記スイッチを制御して前記第１、第２の圧縮伸長回路を直列配列させ、前記第１の圧縮伸長回路を用いて該当するバンドの圧縮されたイメージデータを伸長させ、当該中間コードデータに基づいて生成される新たなイメージデータと当該伸長処理後のイメージデータとを前記論理演算部によって論理合成させ、当該論理合成後のイメージデータを前記第２の圧縮伸長回路によって圧縮させ、当該圧縮データを前記メモリに格納すると共に、圧縮したイメージデータを生成する際に用いた中間コードデータを前記メモリから削除する処理（ｂ）を行ない、
注目ページの全中間コードデータに基づく各バンドの圧縮データが前記メモリに格納されるまで、前記処理（ａ）又は処理（ｂ）を繰り返し行ない、前記注目ページの全中間コードデータに基づく圧縮データが前記メモリに格納された場合、前記圧縮伸長部を制御して各バンドの圧縮データを伸長し、伸長して得られた各バンドのイメージデータを出力する第２の出力制御手段とを備える。
【０００８】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【０００９】
図２は本発明を適用可能なページプリンタの構成を示す断面図であり、印刷方式はレーザビームプリンタ（ＬＢＰ）の構成としている。
【００１０】
図において、１５００はＬＢＰ本体であり、外部に接続されているホストコンピュータから供給されるページ記述データを入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。１５０１は操作のためのセレクタおよびＬＥＤ表示器等が配されている操作パネルである。１０００はプリンタコントローラであって、ＬＢＰ本体１５００全体の制御およびホストコンピュータからは、主にホストコンピュータから送られるデータを対応するビデオ信号に変換してレーザドライバ１５０２に出力する。
【００１１】
レーザドライバ１５０２は半導体レーザ１５０３を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ１５０３から発射されるレーザ光５０４をオン・オフ切り換えする。レーザ光１５０４は回転多面鏡１５０５で左右方向に振らされて静電ドラム１５０６上を走査露光する。これにより、静電ドラム１５０６上には文字パターン等の静電潜像が形成されることになる。この潜像は、静電ドラム１５０６周囲に配設された現像ユニット１５０７により現像された後、記録紙に転写され、不図示の定着器で定着された後、外部に排出される。この記録紙にはカットシートを用いカットシート記録紙はＬＢＰ１５００に装着した用紙カセット１５０８に収納され、給紙ローラ１５０９および搬送ローラ１５１０と搬送ローラ１５１１とにより、装置内に取り込まれて、静電ドラム１５０６に供給される。
【００１２】
図１は本実施形態を示すプリンタコントローラ１００のブロック構成図である。ここでは、レーザビームプリンタ（図２）を例にして説明する。なお、実施形態の機能が実行されるのであれば、複数の機器からなるシステムであっても、ＬＡＮ等のネットワークを介して処理が行われるシステムであっても本発明を適用できることは言うまでもない。また、レーザビームプリンタに限らず、他の方式のページプリンタ（例えばＬＥＤプリンタ等）であっても構わない。
【００１３】
図において、３０００はホストコンピュータで、ＣＰＵ、ＲＡＭ、ハードディスク（ＨＤ）、キーボード、ＣＲＴディスプレイ、プリンタとの通信制御を行なうインターフェースコントローラなどから構成される。
【００１４】
プリンタコントローラ１０００において、１２はプリンタＣＰＵで、ＲＯＭ１３のプログラム用ＲＯＭに記憶された制御プログラム等に基づいてシステムバス１５に接続される各種のデバイスとのアクセスを総括的に制御し、印刷部インターフェース１６を介して接続される印刷部（プリンタエンジン）１７に出力情報としての画像信号を出力する。また、このプログラムＲＯＭ１３には、図４のフローチャートで示されるようなＣＰＵ１２の制御プログラム等が記憶されている他に、出力情報を生成する際に使用するフォントデータ等も記憶されている。
【００１５】
ＣＰＵ１２は入力部１８を介してホストコンピュータとの双方向通信処理が可能となっており、プリンタ内の情報等をホストコンピュータ３０００に通知可能に構成されている。１９はＣＰＵ１２の主メモリ、ワークエリア等として機能するＲＡＭで、受信バッファや、ビットマップデータ展開領域環境データ格納領域等に用いられる。また、製品の部品コストを下げるために１ページ分のビットマップデータを格納するよりも小さい容量になっている。
【００１６】
２００は実施形態の特徴である圧縮伸張部であり、システムバス１５に接続されている。２０１、２０２は共に圧縮伸長回路であり、圧縮または伸長の動作をする。２０５はＣＰＵ１２が設定可能なビットのレジスタであり、圧縮伸長回路２０１及び２０２の動作モード（符号化モードと復号化モード）をそれぞれ独立して指示するためのものである。２０３はＦＩＦＯメモリであり、２０４はＦＩＦＯ２０３と圧縮伸長回路２０１から出力される２つのビットマップデータの論理ＯＲ等の論理演算を行なう論理演算ブロックである。ＦＩＦＯ２０３は圧縮伸長回路２０１から出力されるビットマップデータと画像の位置を同期させるために設けられたファーストインファーストアウトメモリ回路として動作させるためのものである。２０６は圧縮伸張回路２０２への入力として、論理演算ブロック２０４からの信号或いはバス１６からの信号のいずれかを選択させるためのスイッチであり、これはＣＰＵ１２による制御信号によって切り替わる。２０７は圧縮伸張部２００とＲＡＭ１９等の画像データの送受信を行なうＤＭＡＣである。
【００１７】
実施形態の圧縮伸長回路２０１の内部構成を図３に示し、説明する。なお、圧縮伸張回路２０２も同じ構成である。また、本実施形態の圧縮伸長のアルゴリズムとしては国際標準規格であるＪＢＩＧの最低解像度の変換アルゴリズムを例に説明する。
【００１８】
図において、ＰＩＸ１０１は画像データであり、入力信号を表わす。符号化モードのときは１つのデータが１画素に対応する。１０２は、注目画素近傍のＣＸ（コンテクスト）は注目画素近傍のすでに観測された１０画素からなる１０ビットの信号を格納するに設けられたラインバッファである。
【００１９】
ＣＸはラインバッファ１０２内の１０画素分の信号（１０ビット）であって、ＲＡＭ１０３のアドレスとして供給される。ＲＡＭ１０３からはＣＸに対応するＭＰＳ（注目画素の予測値）とＳＴ（状態値）が出力される。ＳＴはさらにＲＯＭ１０３とＲＯＭ１０４へ入力され、ＲＯＭ１０４からはＳＴの値に対応したＬＳＺ値（１５ｂｉｔ）が出力される。このＬＳＺは注目画素の予測がはずれる確率に相当するものであり、ＲＯＭ１０４には全てのＳＴ値に対するＬＳＺの値があらかじめ格納されている。同様にＲＯＭ１０５には、与えられた状態からどの状態へ遷移するかという情報と予測が外れた場合に、次に同一コンテクストが派生したときの予測値ＭＰＳを反転させるかという情報（ＳＷＩＴＣＨ）が格納されている。ただし遷移する状態は予測が当ったか、外れたか（つまりＹＮ信号の値）によって二通りあるので信号ＹＮの値で一方（ｎｅｗ  ＳＴ）が選択されＲＡＭ１０３へ入力される。ｎｅｗ  ＳＴと後述するｎｅｗ  ＭＰＳは、算術符号回路１０６がｕｐｄａｔｅ信号を有効にしたときだけＲＡＭ１０３内のそのコンテクストに対応するアドレスへは書き込まれる。
【００２０】
算術符号回路１０６はＬＳＺの値を用いて再帰的にＰＩＸの出現確率区間を分割していく事によって、符号化モードであるときはその分割区間の座標をＣＯＤＥとして出力する。復号化時も同様に算術符号回路１０６はＬＳＺの値を用いて再帰的にＰＩＸの出現確率区間を分割していき、与えられた座標（ＣＯＤＥ）とＬＳＺによって与えられる分割位置とを比較する事によってＰＩＸがＭＰＳと等しいか否かを求めていく。算術符号回路１０６が符号化モードであるか復号化モードであるかはＥＮＣ１０８の信号によって指定される。この信号ＥＮＣは先に説明したようにＣＰＵ１２がレジスタ２０５にセットした信号に対応する。
【００２１】
図４は本実子形態の印刷動作の手順を説明するフローチャート図である。まずＣＰＵ１２はホストコンピュータ３０００から送信されるデータの受信を開始する。受信したデータは一旦ＲＡＭ１９の受信バッファ領域に蓄えられる（ステップＳ４０１）。
【００２２】
ＣＰＵ１２はＲＡＭ１９内の受信データを解釈し、バンド単位ごとに中間データへの変換処理を開始する。変換して得られた中間データはＲＡＭ１９内に再格納する（ステップＳ４０２）。
【００２３】
以後中間データの総量が予め定められた基準値を超えないか、または任意のバンドの中間データは複雑過ぎて後の展開処理で時間がかかりすぎないかをチェックし（ステップ４０３）、また、１ページの受信データに対する中間データへの変換が完了したかどうかもチェックする（ステップＳ４０４）。
【００２４】
なお、ステップＳ４０３における中間データの総量が越える否かと、ビットマップ展開に時間がかかるか否かは、おおよそ比例するので、いずれか一方で判定しても良い。但し、１つ１つの中間データの種類に応じた、ビットマップ展開に要する時間をテーブル等で格納しておき、そのトータルの時間でもって判定してもよい。
【００２５】
いずれにしても、中間データの総量が規準量以上になる、或いは、ビットマップ展開に要する時間が印刷部１７による印刷速度に追い付かない、といった問題がないまま１ページ分の中間データの作成が完了すると、処理はステップＳ４０５に進んで、生成した中間データに従ってバンド単位のビットマップ展開を行ない、印刷処理を行なわせる（通常は、この工程を通ることになる）。
【００２６】
ステップＳ４０５では、ＣＰＵ１２は印刷部１７へ印刷動作開始の命令を与え、ページの先頭のバンドの中間データから順にビットマップデータへ変換し印刷部インターフェース１６へ転送する。印刷部１７においては紙搬送、静電ドラム１５０６、回転多面鏡１５０５の動作が開始される。ビットマップデータは印刷部インターフェース１６にて、回転多面鏡１５０５のスキャン動作に同期がとられてビデオ信号としてレーザドライバ１５０２へ出力される。印刷部インターフェース１６には２バンド分のメモリーが内蔵されていて、一方はビットマップデータの書き込み用、もう一方が印刷部１７へ出力するための読み取り用として機能し、これらが１ライン毎に交互に切り替わるようになっている。
【００２７】
一方、中間データの総量が規準量以上になる、或いは、ビットマップ展開に要する時間が印刷部１７による印刷速度に追い付かない可能性が高いと判断された場合には、ステップＳ４０８に進む。これ以降は１ページの画像情報を圧縮されたバンドデータとして持つためのプロセスとなる。
【００２８】
最初にステップ４０８に進んだ場合には、それ以前にビットマップイメージについて圧縮したバンドは存在しないから、ステップＳ４０９に進む。
【００２９】
ここでは、先頭２バンド分の中間データに基づいて先頭の２バンド分のビットマップデータを生成する。
【００３０】
そして、ステップＳ４１０に進み、圧縮伸張回路２０１、２０２それぞれを符号化モードにして、尚且つ、スイッチ２０６をバス１５に接続させる。そして、ＤＭＡＣ２０７に対してそれぞれのバンドのビットマップデータを転送を行なわせる。
【００３１】
この結果、２つの圧縮伸張回路２０１、２０２はそれぞれ入力したビットマップイメージを符号化することになり、生成された符号化データは再びＲＡＭ１９に格納させることが可能になる。
【００３２】
こうして２バンド分のビットマップ展開が完了すると、処理はステップＳ４１２に進んで、次の中間データに対する処理を行なうため、ステップＳ４０７に進む。ステップＳ４０７では、上記のようにしてビットマップ展開した用済みの中間データを削除して、残った受信データに対する中間データの生成を行なう。そして、ステップＳ４０８に進むことになる。
【００３３】
一般に、印刷データは、記録紙の上部から下部にむかってホストコンピュータから転送されることが多いが、アプリケーションによっては必ずしもそうとは限らない場合がある。ステップＳ４０８では、既にビットマップ展開を行ったバンドに対して、展開すべきであった中間データがあるかを判断する。
【００３４】
この場合には、既に圧縮してしまった該当バンド（複数バンドにまたがる場合もあり得る）を伸張し、その伸張して得たビットマップイメージを再度圧縮することが必要になる。
【００３５】
そこで、本第２の実施形態では、ステップＳ４１４において、該当する中間データに対するビットマップイメージをＲＡＭ１９に展開し、ステップＳ４１５に進んで、注目バンドに対する復元、合成、再圧縮を行なわせる。具体的には、ステップＳ４１４で展開されたビットマップデータをＦＩＦＯ２０３に転送するとともに、圧縮伸張回路２０１に対して復号化モードを設定、圧縮伸張回路２０２に対しては符号化モードを設定し、更にはスイッチ２０６を論理演算ブロック２０４を選択するように設定する。
【００３６】
そして、新たに展開したビットマップデータ（遅れて生成した中間データに対応するビットマップデータ）と既に圧縮されているデータの同期を論理演算ブロック２０４で合成させ、その合成されたビットマップイメージデータを圧縮伸張回路２０２で再度圧縮させ、ＲＡＭ１９に再格納する。
【００３７】
こうして、全バンドに対する圧縮が完了すると、各圧縮バンドを圧縮伸張回路２０１、２０２のいずれか、或いは両方を使用して、伸張処理しながら印刷を行なうことになる（ステップＳ４１３）。
【００３８】
以上の結果、２つの圧縮伸張回路２０１、２０２を用いて２バンド分のビットマップイメージの圧縮が行なえると共に、一度圧縮したバンドに対する合成すべきビットマップがあった場合には、その圧縮伸張回路２０１、２０２を直列に接続させることで、効率良く合成と再圧縮が行えるようになる。
【００３９】
なお、実施形態ではレーザビームプリンタを例にして説明したが、上記の説明から明らかなように、これに限るものではなく、ＬＥＤプリンタ等に適用できよう。また、他の方式、例えばインクジェットプリンタ等にも適用できるが、本実施形態は、ページプリンタの如く、一旦、印刷処理がはじまると、一定速度でしかも高速に印刷処理を行なう場合に、特に有効である。この意味では、ページプリンタに適用することが望まれる。
【００４０】
また、実施形態では、圧縮伸張回路としてＪＢＩＧを例にして説明したが、これに限らず如何なる方式であっても構わない。
【００４１】
【発明の効果】
以上説明したように本発明によれば、入力データに基づいてバンド単位のイメージデータの生成を、限られた資源を有効活用し、しかも高速に行なうことが可能になる。
【００４２】
【図面の簡単な説明】
【図１】実施形態における印刷装置のプリンタコントローラのブロック構成図である。
【図２】実施形態における印刷装置の断面構造図である。
【図３】実施形態における圧縮伸張回路の構成図である。
【図４】実施形態における印刷処理手順を示すフローチャートである。
【図１】
0003950506.tif 000002
【図２】
0003950506.tif 000003
【図３】
0003950506.tif 000004
【図４】
0003950506.tif 000005