(57)【要約】【課題】ラスタデータと属性ビットからなる画像データについて、圧縮後の出力バッファサイズが制限される場合に、ラスタデータの圧縮率を最低限に抑制し、属性ビットの情報を最大限に残した圧縮を行う。【解決手段】画素ごとの属性情報を示す属性ビットとラスタデータを圧縮する際に、ステップS506で属性ビットとラスタデータの合計サイズが所定値を超えると判定された場合に、ステップS507で属性ビットに応じた置換ビットを決定し、ステップS508で属性ビットを前記置換ビットに置換する。このとき、ラスタデータはステップS505で非可逆圧縮されており、予め可逆圧縮されている置換ビットは、例えば全画素について同一のビット列からなり、置換前の属性ビットよりも圧縮効率が高い。【選択図】    図５
2004214738.tif 000002
【特許請求の範囲】
【請求項１】
画素ごとの属性情報を示す属性ビットを付加した画像データを圧縮する画像圧縮方法であって、
前記属性ビットに応じて、その置換対象となる置換ビットを決定する既定ビット決定工程と、
前記属性ビットと画像データの合計サイズが所定値を超える場合に、前記属性ビットを前記置換ビットに置換する置換工程と、
前記置換ビットに置換された属性ビットと前記画像データを圧縮する圧縮工程と、を有し、
前記置換ビットは、置換前の属性ビットよりも圧縮効率が高いビット列であることを特徴とする画像圧縮方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画素ごとの属性を示す属性ビットを付加した画像データを所定サイズのバッファ内に圧縮して保持する画像処理技術に関する。
【０００２】
【従来の技術】
近年の情報処理システムの普及に伴い、情報処理システムで上で多くの電子ドキュメントがカラーデータとして作成され、カラー印刷装置への出力要求が増大する傾向にある。したがって、カラー印刷装置の高画質化が望まれている。
【０００３】
従来より、カラー印刷装置の高画質化手法として、画像データに属性ビットを付加して適切な画像処理を行なうという方法が知られている。この方法では、ホストコンピュータ上又は印刷装置内でラスタ画像を生成する段階で、そのラスタ画像を構成する描画オブジェクトの種類(文字、図形、イメージ、カラー、モノクロ等)を認識し、そのオブジェクトを構成する各ピクセルに対して、該オブジェクト種を示す属性ビットを付加し、ラスタデータと属性ビットを出力データとする。そして、この出力データの印刷時に、ラスタデータに対して属性ビットを参照しながら適切な画像処理を施すことによって、高画質な印刷出力を得ることができる。
【０００４】
【発明が解決しようとする課題】
上述したラスタデータと属性ビットを出力データとする方法においては通常、ラスタデータ及び属性ビットは圧縮されて出力バッファ内に保持されている。このとき、ラスタデータには非可逆圧縮を施すことができるため、圧縮率により圧縮後のサイズをコントロールすることができる。一方、属性ビットについては、画像処理を行なう段階ではオリジナルのデータが必要となるため、可逆圧縮を施すしかなく、圧縮後のサイズは固定であるため、データの種類によっては圧縮後のサイズが非常に大きくなってしまう場合がある。
【０００５】
したがって、システムのメモリを制限するために出力バッファサイズが固定値に制限される場合、属性ビットの圧縮後のサイズが大きいと、バッファ内において属性ビットの占める割合が大きくなるため、ラスタデータの圧縮率を高くしてそのサイズを小さく抑えなければならない。すると、ラスタデータの圧縮率を上げたことによる画質の低下が、属性ビットの使用による画質向上効果を上回り、結果として出力画像の画質が低下してしまうといった問題があった。
【０００６】
本発明は、上記従来の問題を解決するためになされたものであり、ラスタデータと属性ビットからなる画像データについて、ラスタデータの圧縮率を最低限に抑制し、属性ビットの情報を最大限に残した圧縮を行えるようにすることを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するための一手法として、本発明の画像圧縮方法は以下の工程を備える。
【０００８】
すなわち、画素ごとの属性情報を示す属性ビットを付加した画像データを圧縮する画像圧縮方法であって、前記属性ビットに応じて、その置換対象となる置換ビットを決定する既定ビット決定工程と、前記属性ビットと画像データの合計サイズが所定値を超える場合に、前記属性ビットを前記置換ビットに置換する置換工程と、前記置換ビットに置換された属性ビットと前記画像データを圧縮する圧縮工程と、を有し、前記置換ビットは、置換前の属性ビットよりも圧縮効率が高いビット列であることを特徴とする。
【０００９】
【発明の実施の形態】
本発明は、画素ごとの属性情報を示す属性ビットを付加した画像データを圧縮する画像圧縮方法であって、前記属性ビットに応じて、その置換対象となる置換ビットを決定し、属性ビットと画像データの合計サイズが所定値を超える場合に、前記属性ビットを前記置換ビットに置換し、該置換された属性ビットと前記画像データを圧縮する。ここで置換ビットは、置換前の属性ビットよりも圧縮効率が高いビット列である。
【００１０】
具体的には、画像の全画素について前記属性ビットを前記置換ビットに置換する。また、所定の複数種類のビット列から前記置換ビットを選択する。また、圧縮された画像データについて、前記属性ビットに基づく画像処理を施す。
【００１１】
このような本発明は、具体的に図１〜図６に示す構成において、以下の第１から第３の実施形態と対応して実現できる。
【００１２】
以下、本発明に係る一実施形態について、図面を参照して詳細に説明する。
【００１３】
＜第１実施形態＞
まず、本実施形態の画像圧縮方法を適用するに好適な出力装置であるレーザビームプリンタ(LBP)およびインクジェットプリンタの構成について、図１を参照しながら説明する。なお、本実施形態を適用するプリンタはレーザビームプリンタおよびインクジェットプリンタに限られるものではなく、他のプリント方式のプリンタでも良いことは言うまでもない。
【００１４】
図１において、1000はLBP本体であり、外部にネットワークや直接インターフェースで接続されているホストコンピュータ等の外部情報源から供給される印刷情報（文字コード等）やフォーム情報あるいはマクロ命令等を入力して記憶するとともに、それらの情報に従って対応する文字パターンやフォームパターン等を作成し、記録媒体である記録紙等に像を形成する。1012は操作のためのスイッチおよびLED表示器等が配されている操作パネル、1001はLBP本体1000全体の制御および外部ネットワーク等から供給される文字情報等を解析するプリンタ制御ユニットである。このプリンタ制御ユニット1001は、主に文字情報を対応する文字パターンのビデオ信号に変換してレーザドライバ1002に出力する。レーザドライバ1002は半導体レ−ザ1003を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ1003から発射されるレーザ光1004をオン・オフ切り換えする。レーザ光1004は回転多面鏡1005で左右方向に振らされて静電ドラム1006上を走査露光する。これにより、静電ドラム1007上には文字パターンの静電潜像が形成されることになる。この潜像は、静電ドラム1006周囲に配設された現像ユニット1007により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はLBP1000に装着した用紙カセット1008に収納され、給紙ローラ1009および搬送ローラ1010と搬送ローラ1011とにより、装置内に取り込まれて、静電ドラム1006に供給される。
【００１５】
図２は本実施形態におけるプリンタ制御システムの構成を示すブロック図である。図２のプリンタ制御ユニット1001において、MAIN-CPU1はプリンタのCPUであり、ROM4に記憶された制御プログラムや外部メモリ7に記憶された制御プログラムなどに基づいてシステムバス5に接続される各種のデバイスへのアクセスを総合的に制御し、印刷部インタフェース8を介して接続される印刷部(プリンタエンジン）9に出力情報として画像信号を出力する。ROM4には、後述する図４，図５のフローチャートに示されるようなMAIN-CPU1の制御プログラムや、既定の置き換え用属性ビットデータ等、プリンタ1000の制御に必要なデータを記憶する。
【００１６】
MAIN-CPU1はI/O11を介して、外部ネットワーク3000に接続されているホストコンピュータ等の外部装置と通信可能に構成されている。なお、ホストコンピュータと外部ネットワークを介して通信するとしたが、不図示の直接インタフェースを介してホストコンピュータと接続し、通信を行っても良いことはいうもでもない。2はMAIN-CPU1の主メモリ・ワークエリア等として機能するRAMであり、不図示の増設ポートに接続されるオプションRAMによりメモリ容量を拡張することができる。3はRAM2上に用意される画像出力バッファであり、後述するハードレンダラ20で作成されるラスタイメージ及び属性ビットが記録される。
【００１７】
6はメモリコントローラ（MC）であり、ハードディスク等の外部メモリ7へのアクセスを制御する。20はハードレンダラであり、内部にローカルメモリ21を有する。ハードレンダラ20は、ローカルメモリ21に転送されてきたディスプレイリスト（DL）またはRAM2上にあるDLをそのまま解釈し、ラスタイメージ及びラスタイメージの各ピクセル毎に対応する属性ビットを作成する。
【００１８】
図３に、ハードレンダラ20において生成される各属性ビットの例を示す。同図に示されるように属性ビットは、1ビットのカラービット301、1ビットの細線ビット302及び2ビットのオブジェクト種ビット303の3つのビットフィールドからなる、計4ビットで構成されている。カラービット301は、対応するピクセルがカラーオブジェクトと白黒オブジェクトのいずれを構成するものであるかを示し、このビットが”0”である時にはカラーオブジェクトを構成するピクセルであり、”1”である時には白黒オブジェクトを構成するピクセルであることを示す。細線ビット302は、対応するピクセルが細線を構成するピクセルであるか否かを表し、このビットが”1”である時には細線を構成するピクセルでであることを示す。オブジェクト種ビット303は、対応するピクセルがどのような種類の描画オブジェクトを構成しているかを表し、”01”で文字オブジェクト、”10”でグラフィックスオブジェクト、”11”でイメージオブジェクト、のそれぞれを構成するピクセルを示し、”00”ではそのピクセルはどのようなオブジェクトも構成していない旨を示す。
【００１９】
図２に戻り、非可逆圧縮部22はラスタイメージに対して非可逆圧縮を施し、RAM2上の出力バッファ3へ記憶する。可逆圧縮部23は属性ビットに対して可逆圧縮を施し、出力バッファ3へ記憶する。画像処理部24は、ハードレンダラ20によって生成された属性ビットに基づき、ラスタデータに対して文字用の画像処理、イメージ用の画像処理、グラフィック用の画像処理、カラー用の画像処理、白黒用の画像処理、細線用の画像処理、のいずれかまたはそれらの組み合わせを施す。
以上のように構成された本実施形態のプリンタ制御システムにおける動作について、図４および図５のフローチャートに従って詳細に説明する。
【００２０】
図４は、プリンタ1000の基本動作を示すフローチャートである。まずステップS402においてプリンタ1000が外部ネットワーク3000からPDLデータを受信すると、ステップS403でMAIN-CPU1においてPDLデータの解析処理を行い、ディスプレイリスト（DL）を生成する。そしてステップS404では、作成されたDLをハードレンダラ20によって解釈・レンダリングして、ラスタイメージ及び属性ビットを生成する。ここで生成されたラスタイメージは非可逆圧縮部22で非可逆圧縮され、属性ビットは可逆圧縮部23で可逆圧縮された後、それぞれが出力バッファ3に格納される。そしてステップS405においてラスタデータに対し、出力バッファ3に格納された属性ビットに従った適切な画像処理を施し、ステップS406で画像処理後のラスタデータを印刷部9へ転送して印刷し、処理を終了する。
【００２１】
以下、ステップS404においてハードレンダラ20で生成されたラスタイメージ及び属性ビットが出力バッファ3に格納されるまでの動作を、図５のフローチャートを用いて詳細に説明する。
【００２２】
ステップS501においてハードレンダラ20によるレンダリングが開始されると、ステップS502において、32スキャンラインづつレンダリングされたラスタイメージと、ラスタイメージの各ピクセルに対応する属性ビットを、RAM2上に用意された一時バッファ内に保持する。なお、ここでは32スキャンラインづつのレンダリングを行うとして説明したが、これは一例にすぎず、他のスキャンライン数であっても良いことは言うまでもない。
【００２３】
次にステップS503において、属性ビット置換フラグを検査する。この属性ビット置換フラグが立っていなければ、即ち属性ビット置換が一度も行われていない旨が示され、この場合にはステップS504へ進む。
【００２４】
ステップS504では、RAM2上の一時バッファに保持された属性ビット中のオブジェクト種ビット303をスキャンする。ここでRAM2上には、各描画オブジェクト種類ごと、即ち、文字オブジェクト用、グラフィックオブジェクト用、イメージオブジェクト用のカウンタがそれぞれ用意されており、スキャンしながらオブジェクト種類ビット303に対応するカウンタをインクリメントすることによって、各描画オブジェクトに属するピクセル数がカウントされる。そしてステップS505において、一時バッファ内のラスタイメージを非可逆圧縮部22に転送して非可逆圧縮を施すとともに、一時バッファ内の属性ビットを可逆圧縮部23に転送して可逆圧縮を施す。
【００２５】
そしてステップS506では非可逆圧縮部22及び可逆圧縮部23での圧縮中に、出力バッファ3への出力が可能であるか否か、すなわち出力バッファ3が満杯であるかを常に検査しており、それぞれの圧縮部が共に出力バッファへの出力が可能であれば、ステップS509において、非可逆圧縮されたラスタデータ及び可逆圧縮された属性ビットを出力バッファ3へ格納する。
【００２６】
一方、ステップS506で出力バッファ3が満杯であると判断されるとステップS507へ進み、ステップS503でカウントしている各描画オブジェクト毎のカウンタに基づき、現在の属性ビットの置換に使用する既定の属性ビット（以下、単に「既定ビット」と称する）を選択する。ここで本実施形態においては、既定ビットとして、全ての属性ビットが”0001”で埋められた文字画像用、全ての属性ビットが”0010”で埋められたグラッフィック画像用、全ての属性ビットが”0011”で埋められたイメージ画像用が、予め圧縮されてROM4に格納されている。このように既定ビットは、画像全面について同一のビット列で埋められているため、圧縮効率が高い。ステップS507では、各描画オブジェクト毎のカウンタを比較し、最もカウンタ値が高い、即ちここまでにレンダリングされた画像の中で最も広い面積を占める描画オブジェクトに対応する、既定ビットを選択する。つまり、文字オブジェクト用のカウンタ値が最も高ければ文字用、グラッフィックオブジェクト用のカウンタ値が最も高ければグラッフィク用、イメージオブジェクト用カウンタ値が最も高ければイメージ用の既定ビットについて、その圧縮データが選択される。
【００２７】
このように本実施形態においては、画像の全画素について同一の置換ビットを決定し、また、置換ビットは予め全画素分が圧縮されている。
【００２８】
そしてステップS508では、ここまでに出力バッファ3に格納されている全ての属性ビットを、ステップS507で選択された既定ビットに置き換える。即ち、出力バッファ3に格納されている属性ビットを全て削除し、ここまでにレンダリングされたスキャンライン数と同数分の既定ビットを、出力バッファ3に格納する。そしてさらに、ステップS509で出力バッファ3へ格納されるべき可逆圧縮された属性ビット、つまり現在一時バッファ内に格納されている属性ビットを、可逆圧縮部23で圧縮したものについても既定ビットに置換しておく。このように、出力バッファ3に格納されている属性ビットが全て既定ビットに置換された後、属性ビット置換フラグをセットしてステップS509へ進み、圧縮されたラスタデータ及び属性ビットを出力バッファ3に格納する。
【００２９】
そしてステップS510において、全スキャンラインのレンダリングが終了したか否かを判断し、終了していれば本レンダリングからデータ格納の一連の処理を終了する。終了していなければステップS502へ戻り、次の32スキャンライン分の処理を行う。
【００３０】
一方、ステップS503において属性ビット置換フラグが立っている、即ち属性ビット置換がすでに行われている場合には、ステップS511へ進んで一時バッファ内のラスタイメージのみを非可逆圧縮部22に転送して非可逆圧縮を施す。ここでステップS512において非可逆圧縮部22では、圧縮中に出力バッファ3への出力が可能であるか否か、すなわち出力バッファ3が満杯であるかを常に検査しており、出力バッファ3への出力が可能であればステップS513において、非可逆圧縮されたラスタデータ及び既にステップS507で選択されている既定ビットの32スキャンライン分を、出力バッファ3へ格納する。
【００３１】
一方、ステップS512で出力バッファ3が満杯であると判断された場合には、現在のラスタイメージ用非可逆圧縮部22の圧縮率では出力バッファ3へのデータ格納は不可能であると判断されるため、ステップS514において、より高い圧縮率になるように非可逆圧縮部22を設定し、再レンダリングを行う。即ち、1ライン目からレンダリングをやり直す。
【００３２】
以上説明した様に本実施形態によれば、プリンタ1000に送信されたきたデータに基づいて作成された属性ビットを、予め機器内に格納しておいた、画像全面が同一のビット列で埋められている既定ビットに置換することによって高圧縮率が得られるため、出力バッファ内のより多くの領域を非可逆圧縮ラスタイメージ用に用いることができる。すなわち、ラスタイメージと属性ビットの合計サイズが所定の出力バッファサイズを超えてしまう場合にも、ラスタイメージの圧縮率を必要以上に高めることなく、出力バッファへの格納が可能となるため、高画質な出力画像を得ることができる。
【００３３】
また、置換される既定ビットとしても、現在処理中のデータに最適なものが選択されるために、画像処理部において適切な画像処理を行うことができ、高画質な出力画像を得ることができる。
【００３４】
＜第２実施形態＞
以下、本発明に係る第２実施形態について説明する。
【００３５】
上述した第１実施形態においては、それぞれの既定ビットが予め圧縮されてROM4内に格納されている例を示したが、該圧縮データを置換時に生成するようにしても、第１実施形態と同様の結果を得ることができる。
【００３６】
すなわち第２実施形態においては、第１実施形態における図５のステップS507において、ステップS504でカウントしている各描画オブジェクト毎のカウンタに従い、使用する属性ビットの種類のみを選択する。即ち、文字オブジェクト用カウンタが最も高ければ”0001”が選択され、グラフィックオブジェクト用カウンタが最も高ければ”0010”が選択され、イメージオブジェクト用カウンタが最も高ければ”0011”が選択される。
【００３７】
そしてステップS508において、ここまでにレンダリングされたスキャンライン数と同数分の、ステップS507で選択された属性ビットを生成し、可逆圧縮することによって、出力バッファ3に格納されている属性ビットの置換に必要な既定ビットを生成し、置換する。ステップS508ではまた、32スキャンライン分のステップS507で選択された属性ビットを生成し可逆圧縮した既定ビットで、一時バッファ中の属性ビットを置換しておく。
【００３８】
また、ステップS511では、一時バッファ内の未圧縮の属性ビットを全て、ステップS507で選択された既定ビットに置換した上で、一時バッファ内のラスタイメージを非可逆圧縮部22に転送して非可逆圧縮を行うと共に、一時バッファ内の属性ビットを可逆圧縮部23に転送して可逆圧縮を行う。
【００３９】
さらにステップS513では、ステップS511で圧縮されたラスタデータ及び属性ビットを出力バッファ3に格納する。
【００４０】
以上説明したように第２実施形態によれば、既定ビットの圧縮データを予め用意することなく、置換時に生成することによって、メモリ量を節約しつつ、第１実施形態と同様の効果が得られる。
【００４１】
＜第３実施形態＞
以下、本発明に係る第３実施形態について説明する。
【００４２】
第３実施形態においては、プリンタ1000の基本動作は第１実施形態と同様であり、ステップS404で示したレンダリング処理において、ハードレンダラ20で生成されたラスタイメージ及び属性ビットを出力バッファ3に格納する際に、必要であれば属性ビットを既定ビットへ置換する。このとき、第１実施形態における既定ビットは画像全面について同一であったが、第３実施形態においては、既定ビットを32スキャンライン単位で切り替え可能とすることを特徴とする。
【００４３】
第３実施形態におけるステップS404のレンダリング動作について、図６のフローチャートを用いて詳細に説明する。
【００４４】
ステップS601においてハードレンダラ20によるレンダリングが開始されると、ステップS602において、32スキャンラインづつレンダリングされたラスタイメージと、ラスタイメージの各ピクセルに対応する属性ビットを、RAM2上に用意された一時バッファ内に保持する。なお、ここでは32スキャンラインづつのレンダリングを行うとして説明したが、これは一例にすぎず、他のスキャンライン数であっても良いことは言うまでもない。
【００４５】
ステップS603では、RAM2上の一時バッファに保持された属性ビット中のオブジェクト種ビット303をスキャンする。ここでRAM2上には、各描画オブジェクト種類ごと、即ち、文字オブジェクト用、グラフィックオブジェクト用、イメージオブジェクト用のカウンタがそれぞれ用意されており、スキャンしながらオブジェクト種ビット303に対応するカウンタをインクリメントすることによって、各描画オブジェクトに属するピクセル数がカウントされる。
【００４６】
ステップS604では、ステップS603でカウントしている各描画オブジェクト毎のカウンタに基づき、現在の属性ビットの置換に使用する既定ビットを選択する。ここで本実施形態においては、既定ビットとして、全ての属性ビットが”0001”で埋められた文字画像用、全ての属性ビットが”0010”で埋められたグラッフィック画像用、全ての属性ビットが”0011”で埋められたイメージ画像用が、予め圧縮されてROM4に格納されている。このように、既定ビットは全面が同一のビット列で埋められているために圧縮効率が高い。ステップS604では、各描画オブジェクト毎のカウンタを比較し、最もカウンタ値が高い、即ち一時バッファに含まれる画像の中で最も広い面積を占める描画オブジェクトに対応する、既定ビットを選択する。つまり、文字オブジェクト用のカウンタ値が最も高ければ文字用、グラッフィックオブジェクト用のカウンタ値が最も高ければグラッフィク用、イメージオブジェクト用カウンタ値が最も高ければイメージ用の既定ビットについて、その圧縮データが選択される。
【００４７】
そしてステップS605において各オブジェクト用のカウンタをクリアした後、ステップS606で属性ビット置換フラグを検査する。この属性ビット置換フラグが立っていなければ、即ち属性ビット置換が一度も行われていない旨が示され、この場合にはステップS607へ進み、一時バッファ内のラスタイメージを非可逆圧縮部22に転送して非可逆圧縮を施すとともに、一時バッファ内の属性ビットを可逆圧縮部23に転送して可逆圧縮を施す。
【００４８】
そしてステップS608では非可逆圧縮部22及び可逆圧縮部23での圧縮中に、出力バッファ3への出力が可能であるか否か、すなわち出力バッファ3が満杯であるかを常に検査している。それぞれの圧縮部が共に出力バッファへの出力が可能であればステップS609へ進み、ステップS604で選択された既定ビットの32スキャンライン分をRAM2上の既定ビットバッファに追加・格納した後、ステップS611へ進んで圧縮されたラスタデータ及び属性ビットを出力バッファ3に格納する。既定ビットバッファにはすなわち、ここまでにレンダリングされたピクセルについて、32スキャンライン単位で、その既定ビットが格納されている。
【００４９】
一方、ステップS608で出力バッファ3が満杯であり、出力不能であると判断されるとステップS610へ進み、出力バッファ3内の属性ビットの全てを、ステップS605で既定ビットバッファに格納されている既定ビットに置き換える。そしてさらに、一時バッファ内の属性ビットを可逆圧縮部23で圧縮したものを、ステップS604で選択されている既定ビットの圧縮データに置換した後、既定ビットバッファをクリアし、さらに属性ビット置換フラグをセットした後、ステップS611へ進む。
【００５０】
ステップS611では、圧縮されたラスタデータ及び属性ビットを出力バッファ3に格納した後、ステップS612へ進む。ステップS612では、全スキャンラインのレンダリングが終了したか否かを判断し、終了していれば本レンダリングからデータ格納の一連の処理を終了し、終了していなければステップS602へ戻り、次の32スキャンライン分の処理を行う。
【００５１】
一方、ステップS606において属性ビット置換フラグが立っている、即ち属性ビット置換がすでに行われている場合には、ステップS613へ進んで一時バッファ内のラスタイメージのみを非可逆圧縮部22に転送して非可逆圧縮を施す。ここでステップS614において非可逆圧縮部22では、圧縮中に出力バッファ3への出力が可能であるか否か、すなわち出力バッファ3が満杯であるかを常に検査しており、出力バッファ3への出力が可能であればステップS615において、非可逆圧縮されたラスタデータ及び既にステップS604で選択されている既定ビットの32スキャンライン分を、出力バッファ3へ格納する。
【００５２】
一方、ステップS614で出力バッファ3が満杯であると判断された場合には、現在のラスタイメージ用非可逆圧縮部22の圧縮率では出力バッファ3へのデータ格納は不可能であると判断されるため、ステップS616において、より高い圧縮率になるように非可逆圧縮部22を設定し、再レンダリングを行う。即ち、1ライン目からレンダリングをやり直す。
【００５３】
以上説明したように第３実施形態によれば、上述した第１実施形態に対し、置換対象となる既定ビットが所定ライン（32スキャンライン）単位で同一のビット列で埋められているために、高圧縮率が得られると共に、属性ビットに基づく画像処理をより適切に施すことができ、高画質な出力画像を得ることができる。
【００５４】
【他の実施形態】
なお、本発明は、複数の機器(例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、複写機、ファクシミリ装置など)に適用しても良い。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ(またはCPUまたはMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成されることは言うまでもない。
【００５５】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００５６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどを用いることが出来る。
【００５７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００５９】
【発明の効果】
以上説明したように本発明によれば、ラスタデータと属性ビットからなる画像データについて、ラスタデータの圧縮率を最低限に抑制し、属性ビットの情報を最大限に残した圧縮を行うことができる。
【図面の簡単な説明】
【図１】本発明に係る一実施形態が適用されるプリンタの構成を示す断面図である．
【図２】本実施形態におけるプリンタ制御システムの構成を示すブロック図である．
【図３】本実施形態における属性ビット例を示す図である．
【図４】本実施形態におけるプリンタの基本動作を示すフローチャートである。
【図５】本実施形態におけるレンダリング処理を示すフローチャートである。
【図６】第３実施形態におけるレンダリング処理を示すフローチャートである。
【符号の説明】
1  CPU
2  RAM
3  出力バッファ
20  ハードレンダラ
22  非可逆圧縮部
23  可逆圧縮部
24  画像処理部
1000  プリンタ
1001  プリンタ制御部
3000  外部ネットワーク
【図１】
2004214738.tif 000003
【図２】
2004214738.tif 000004
【図３】
2004214738.tif 000005
【図４】
2004214738.tif 000006
【図５】
2004214738.tif 000007
【図６】
2004214738.tif 000008