(57)【要約】【課題】  描画結果としてビットマップと、ビットマップに対応した属性情報を生成するプリンタにおいて、ビットマップを圧縮する際に、画像劣化をなるべく少なく高速な印刷を実現する。【解決手段】  入力データを中間データに変換する手段と、中間データとその属性からビットマップと属性プレーンを生成する手段とを備える印刷装置において、ビットマップを圧縮する際に、属性情報に従って圧縮方法、圧縮率を切り替える手段を備える。【選択図】        図７
2006159458.tif 000002
【特許請求の範囲】
【請求項１】
所定のページ記述言語で表現される画像記述データを記憶する記憶手段と、
当該記憶手段に記憶される当該画像記述データから非圧縮イメージデータを検出する非圧縮イメージデータ検出手段と、
当該非圧縮イメージデータ検出手段で検出した非圧縮イメージデータを圧縮するイメージ圧縮手段と、
当該記憶手段に記憶される当該画像記述データに含まれる非圧縮イメージデータを、これに対応する当該イメージ圧縮手段で圧縮された圧縮イメージデータと交換するイメージ交換手段と、
当該記憶手段に記憶される当該画像記述データからディスプレイリストを作成するリスト作成手段と、
当該リスト作成手段により作成されるディスプレイリストからラスタイメージを作成するレンダラとを具備することを特徴とする画像出力装置。
【請求項２】
更に、当該記憶手段に記憶される当該画像記述データが所定量以上になると、当該非圧縮イメージデータ検出手段を起動する制御手段を具備する請求項１に記載の画像出力装置。
【請求項３】
入力データを中間データに変換する手段と、中間データとその属性からビットマップと属性プレーンを生成する手段とを備える画像出力装置において、
ビットマップを圧縮する際に、ビットマップの描画対象ごとの属性情報を判断する第１判断手段と、
１ページ内でビットマップを複数回描画する必要性を判断する第２判断手段と、
前記第１判断手段と前記第２判断手段による判断結果に基づいて、ビットマップを圧縮する際に属性情報を用いて圧縮方法を切り替える手段とを備えることを特徴とする画像出力装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像出力装置に関し、ページ記述言語に基づきページ単位で画像を出力する画像出力装置に関する。
【背景技術】
【０００２】
従来、ページ記述言語（ＰＤＬ）に対応するプリンタは、ＰＤＬで表現されるデータ（ＰＤＬデータ又は画像記述データ）を解釈した上で中間言語であるディスプレイリスト（ＤＬ）を作成し、このＤＬからラスタイメージを生成（レンダリング）するのが一般的である。この一連の処理の中で、レンダリング部分は非常に処理が重いので、レンダリング専用ハードウエア（ハードレンダラ）として実装されるのが一般的である（例えば特許文献１参照）。
【０００３】
しかし、ハードウエアによる実装では、あらかじめ定められた限定されたメモリ空間にしかアクセスできない、レンダリングする領域（通常は、１ページ）のＤＬを全てこの限定されたメモリ空間に収めなければならない、という制約がある。
【特許文献１】特開平８−２２４９１７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来のこのような制約を回避する為にフォールバックと呼ばれる処理が考えられている。フォールバックは、ＤＬのサイズがハードレンダラのアクセス可能なメモリ空間を超えると、一度そこまでのＤＬをレンダリングしてラスタイメージとすると共に、それまでに作成したＤＬをクリアする。生成したラスタイメージを描画エリアのバックグラウンドイメージとして、再び、ＤＬに追加する。
【０００５】
通常、このバックグラウンドイメージは圧縮され、追加されるＤＬのサイズは限定されたメモリ空間のサイズよりも小さくなる。そこで、メモリ空間の空いた領域に残りのＤＬを追加することができる。このようにして、限定されたメモリ空間で大きなサイズのＤＬを処理できる。
【０００６】
ここで、フォールバック処理が行われると、フォールバックが起きない時に比べ、途中までのＤＬをレンダリングしバックグラウンドイメージを作成する時間及び作成されたバックグラウンドイメージを圧縮する時間が余計にかかってしまうという問題点がある。
【０００７】
フォールバック処理が極力起きないようにする為に、ＰＤＬデータに含まれる非圧縮のイメージデータを常に圧縮することにより、ＤＬサイズを小さくするという方法もある。しかし、この方法では、イメージデータを圧縮する時間、及びハードレンダラで解凍する時間が常にかかるということがあった。
【０００８】
本発明は、このような問題点を解決する画像出力装置を提示することを目的とする。
【０００９】
また、本発明は、ビットマップを圧縮する際に、画像劣化を少なく印刷保証を行う画像出力装置を提示することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係る画像出力装置はまた、所定のページ記述言語で表現される画像記述データを記憶する記憶手段と、当該記憶手段に記憶される当該画像記述データから非圧縮イメージデータを検出する非圧縮イメージデータ検出手段と、当該非圧縮イメージデータ検出手段で検出した非圧縮イメージデータを圧縮するイメージ圧縮手段と、当該記憶手段に記憶される当該画像記述データに含まれる非圧縮イメージデータを、これに対応する当該イメージ圧縮手段で圧縮された圧縮イメージデータと交換するイメージ交換手段と、当該記憶手段に記憶される当該画像記述データからディスプレイリストを作成するリスト作成手段と、当該リスト作成手段により作成されるディスプレイリストからラスタイメージを作成するレンダラとを具備することを特徴とする。
【００１１】
また、本発明に係る画像出力装置は、入力データを中間データに変換する手段と、中間データとその属性からビットマップと属性プレーンを生成する手段とを備える画像出力装置において、ビットマップを圧縮する際に、ビットマップの描画対象ごとの属性情報を判断する第１判断手段と、１ページ内でビットマップを複数回描画する必要性を判断する第２判断手段と、前記第１判断手段と前記第２判断手段による判断結果に基づいて、ビットマップを圧縮する際に属性情報を用いて圧縮方法を切り替える手段とを備えることを特徴とする。
【発明の効果】
【００１２】
本発明によれば、パフォーマンスの劣化なしにＤＬサイズを圧縮し、その結果、フォールバックへの移行を削減して高速な描画処理を実現できる。また、フォールバック時には、圧縮率やパラメータを属性情報に応じて適宜切り替えるので、メモリ効率を向上させることができる。
【発明を実施するための最良の形態】
【００１３】
以下、図面を参照して、本発明の実施例を詳細に説明する。
【実施例】
【００１４】
［第１の実施の形態］
図１は、本発明を適用するレーザビームプリンタ（ＬＢＰ）の内部構造を示す断面図である。このプリンタでは、図示しないデータ源から文字パターン及び定型書式（フォームデータ）などを登録できる。本発明は、レーザビームプリンタに限らず、インクジェットプリンタ、その他の方式のプリンタに適用できる。
【００１５】
１０はプリンタ本体であり、直接又はネットワークを介して接続するホストコンピュータから供給される文字情報（文字コード）、フォーム情報及びマクロ命令などを記憶すると共に、それらの情報に従って対応する文字パターン及びフォームパターンなどを作成し、記録媒体である記録紙上に固定像を形成する。１２は、操作スイッチ及びＬＥＤ表示器などを有する操作パネル、１４は、プリンタ本体１０の全体を制御し、ホストコンピュータから供給される文字情報などを解析するプリンタ制御ユニットである。
【００１６】
プリンタ制御ユニット１４は主に、文字情報を対応する文字パターンの画像信号に変換してレーザ駆動回路１６に出力する。レーザ駆動回路１６は、入力する画像信号に応じて半導体レーザ１８を駆動する。半導体レーザ１８から出力されるレーザ光２０は、回転多面鏡２２で左右方向に振られ、静電ドラム２４上を走査する。これにより、静電ドラム２４上に文字パターンに応じた静電潜像が形成される。この潜像は、静電ドラム２４に隣接する現像ユニット２６により現像された後、記録紙に転写される。記録紙はカットシートである。記録紙は、プリンタ本体１０に装着した用紙カセット２８に収納され、給紙ローラ３０及び搬送ローラ３２，３４により装置内に取り込まれて、静電ドラム２４に供給される。
【００１７】
図２は、図１に示すプリンタを制御するプリンタ制御システムの概略構成ブロック図を示す。プリンタ制御ユニット１４は、メインＣＰＵ４２、サブＣＰＵ４４、ＲＡＭ４６、ＲＯＭ４８、メモリ制御回路５０、印刷インターフェース５２、ハードレンダラ５４、通信インターフェース及びシステムバス５８を具備する。メモリ制御回路５０には外部メモリ６０が接続し、印刷インターフェース５２には印刷部６２が接続し、バス５８には操作装置６４が接続する。
【００１８】
メインＣＰＵ４２は、ＲＯＭ４８及び／又は外部メモリ６０に記憶される制御プログラム等に基づいて、システムバス５８に接続する各種のデバイスへのアクセスを総合的に制御し、印刷インターフェース８を介して印刷部６２に出力用の画像信号を出力する。サブＣＰＵ４４は、メインＣＰＵ４２と並列動作が可能である。サブＣＰＵ４４は、メインＣＰＵ４２と同様に、システムバス５８に接続する各デバイスにアクセス可能であり、主にＰＤＬデータに含まれる非圧縮イメージデータを圧縮する。
【００１９】
ＲＯＭ４８には、メインＣＰＵ４２及びサブＣＰＵ４４の制御プログラム、並びに、プリンタ１０の制御に必要なデータを記憶する。メインＣＰＵ４２は、通信Ｉ／Ｆ５６に接続する外部ネットワーク６６に接続するホストコンピュータ等の外部装置（図示せず。）と通信可能である。勿論、そのような外部装置は、直接、プリンタ１０に接続しても良い。
【００２０】
ＲＡＭ４６は、メインＣＰＵ４２及びサブＣＰＵ４４の主メモリ及びワークエリア等として機能する。図示しない増設ポートにオプションＲＡＭを接続することによりメモリ容量を拡張できる。メモリ制御回路５０は、ハードディスク等の外部メモリ６０へのアクセスを制御する。
【００２１】
ハードレンダラ５４は、内部にローカルメモリ５４ａとイメージ解凍回路５４ｂを具備する。ハードレンダラ５４は、ローカルメモリ５４ａに１ページ分のディスプレイリスト（ＤＬ）が全て格納されると、そのＤＬを解釈し、ラスタイメージを作成する。ハードレンダラ５４はまた、ローカルメモリ５４ａ中のＤＬに含まれる圧縮イメージをイメージ解凍回路５４ｂで解凍することにより、非圧縮イメージとして利用できる。
【００２２】
図３及び図４に示すフローチャートを参照して、本実施例におけるＰＤＬ解釈、ＤＬ作成及びレンダリングの動作を説明する。
【００２３】
プリンタ１０が、外部ネットワーク６６からＰＤＬデータを受け取ると、メインＣＰＵ４２は、そのＰＤＬ解釈してＤＬを作成し、作成したＤＬをハードレンダラ５４に転送する処理（図４）を開始し、サブＣＰＵ４４は、ＰＤＬデータに含まれる非圧縮イメージを圧縮する処理（図３）を開始する。受信したＰＤＬデータをＲＡＭ４６又は外部メモリ６０に蓄積しておき、操作装置６４又は外部ネットワーク６６からのＰＤＬデータ印刷指示に応じて、これらの処理を開始しても良い。
【００２４】
図５は、サブＣＰＵ４４が図３に示す処理によって作成する圧縮イメージを管理する圧縮イメージ管理表の一例を示す。この圧縮イメージ管理表は、ＲＡＭ４６又は外部メモリ６０上に形成される。圧縮イメージ管理表の各行は、サブＣＰＵ４４で新たにイメージの圧縮処理を開始すると追加される。圧縮イメージ管理表のエントリ７０は圧縮イメージの管理番号であり、ＰＤＬデータ中に現れる非圧縮イメージの順番を示す。エントリ７２は現在のイメージの状態を示すエントリであり、イメージの状態としては「圧縮中」、「圧縮済み」及び「交換済み」の３種類がある。「圧縮中」は、現在、サブＣＰＵ４４により圧縮処理が行われていることを示し、「圧縮済み」は、すでに圧縮処理が終わり、必要であればメインＣＰＵ４２で作成中のＤＬに含まれる対応する非圧縮イメージと交換可能な状態であることを示す。「交換済み」は、メインＣＰＵ４２で作成中のＤＬに含まれる対応する非圧縮イメージと既に交換されたことを示す。エントリ７４は圧縮イメージのサイズを示し、エントリ７６は圧縮イメージの格納されている領域の先頭アドレスを示す。
【００２５】
図３に示すサブＣＰＵ４４の圧縮処理を説明する。サブＣＰＵ４４は、先ず、圧縮イメージ管理表を空の状態に初期化する（Ｓ１）。与えられたＰＤＬデータを頭から検索する（Ｓ２）。この時、通常のＰＤＬデータの解析を行わずに、ＰＤＬデータに含まれるイメージ描画命令のみを検索して、非圧縮イメージを検索する（Ｓ３）。非圧縮イメージを見つけると（Ｓ３）、圧縮イメージ管理表にエントリを圧縮中として新規登録し（Ｓ４）、発見した非圧縮イメージを圧縮し（Ｓ５）、イメージの圧縮終了後、圧縮イメージ管理表の該当するイメージのエントリを「圧縮済み」に書き換えると同時に、エントリ７４に作成した圧縮イメージのサイズを書き込み、ステップ２へ戻る（Ｓ６）。
【００２６】
非圧縮イメージが見つからなかい場合（Ｓ３）、ＰＤＬデータの検索が終了したかどうかを判断する（Ｓ７）。検索すべきＰＤＬデータが残っていれば（Ｓ７）、Ｓ２に戻り、残っていなければ終了する。
【００２７】
一方、メインＣＰＵ４２は、受信したＰＤＬデータを頭から順次、解析し（Ｓ１１）、ハードレンダラ５４で処理できる中間言語であるＤＬを作成する（Ｓ１２）。この時、ＰＤＬデータが非圧縮イメージを含んでいても、メインＣＰＵ４２は、そのイメージを圧縮しない。現在までに作成されたＤＬのサイズをチェックし、フォールバックに陥るかどうか（ＤＬのサイズがローカルメモリ５４ａのサイズを超えるかどうか）を判断する（Ｓ１３）。フォールバックに陥る場合（Ｓ１３）、前述の圧縮イメージ管理表を参照することにより、現在までに作成したＤＬ中の非圧縮イメージを圧縮した圧縮イメージがサブＣＰＵ４４によりすでに作られているか否かを判断する（Ｓ１４）。圧縮イメージが存在する場合（Ｓ１４）、その圧縮イメージとＤＬ中の対応する非圧縮イメージを交換し、圧縮イメージ管理表の該当するエントリ７２を「交換済み」に書き換える（Ｓ１５）。そして、再びＤＬのサイズをチェックする（Ｓ１３）。サブＣＰＵ４４で作成された圧縮イメージが無い場合（Ｓ１４）、フォールバック処理を行い（Ｓ１６）、残りのＰＤＬデータを解釈する（Ｓ１１）。
【００２８】
その時点でのＤＬのサイズがローカルメモリ５４ａのサイズより小さく、フォールバックに陥らない場合（Ｓ１３）、解釈すべきＰＤＬデータが残っているかどうかを判断する（Ｓ１７）。解釈すべきＰＤＬデータが残っていれば（Ｓ１７）、ＰＤＬデータの解釈を続け（Ｓ１１）、残っていなければ（Ｓ１７）、作成したＤＬをローカルメモリ５４ａに転送し、ハードレンダラ５４にラスタイメージを作成させる（Ｓ１８）。
【００２９】
ハードレンダラ５４に含まれるイメージ解凍回路５４ｂで解凍できるイメージ圧縮フォーマットを限定してもよい。その場合、図３のステップＳ３では、ＰＤＬデータに含まれるイメージ解凍回路５４ｂで解凍不能なイメージも検索対象とし、ステップＳ５では、圧縮イメージの時にはイメージの解凍処理を行うようにし、さらに図４のステップＳ１２では、イメージ解凍回路５４ｂで解凍不能なイメージを解凍し、非圧縮イメージとしてＤＬに追加すればよい。このようにすることで、先に説明したのと同様の効果が得られる。
【００３０】
図６は、図２の変更実施例の概略構成ブロック図を示す。メインＣＰＵ８０は、図３及び図４に示す処理をマルチタスクで並列に実行し、ハードウエアからなるイメージ圧縮回路８２が、非圧縮イメージを圧縮する。イメージ圧縮回路８２は、メインＣＰＵ８０の動作を妨げることなく継続的に動作する。
【００３１】
図４に示すフローチャートでは、現在までに作成したＤＬ中の非圧縮イメージを圧縮した圧縮イメージがサブＣＰＵ４４によりまだ作成されていない場合（Ｓ１４）、フォールバック処理を行っている（Ｓ１６）。しかし、現在までに作成したＤＬ中に非圧縮イメージがある場合、図３に示すフローで圧縮イメージが作成されるのを待つようにしても、同様の効果が得られることはいうまでもない。
【００３２】
上記実施例では、ＰＤＬを解釈しＤＬを作成するメインプロセッサとは別のコプロセッサ又はタスクを利用して、メインプロセッサでＰＤＬ解釈しＤＬを作成するのと並行して、ＰＤＬデータを先読みすることによりＰＤＬデータに含まれるイメージデータを見つけ、見つけたイメージを圧縮しておき、さらにフォールバックが起きそうになったら、メインプロセッサで作成したＤＬに含まれる非圧縮イメージと、コプロセッサで作成しておいた圧縮イメージを交換することにより、パフォーマンスの劣化なしにＤＬサイズを圧縮しフォールバックへの移行を削減し高速な描画処理を行うことができる。
【００３３】
［第２の実施の形態］
図７は、本第１実施形態におけるカラープリンタ１０によるデータ処理手順の一例を説明するフローチャートであり、図２に示した制御ユニット１４の制御処理手順である。
【００３４】
まず、ステップＳ１において、制御ユニットが、ホストコンピュータより印刷データを受信する。この受信した印刷データは一旦、送受信バッファに格納され、入力コマンド単位で読み取られる。ここでホストコンピュータのプリンタドライバで生成される印刷データは、ＲＧＢ２４ビット（各８ビット）である。
【００３５】
次にステップＳ２では、入力コマンド単位で読み取った印刷データをコマンド解析部１１０により解析し、入力コマンドが排紙命令データかどうかを判断する。入力コマンドが排紙命令データであると判断した場合はステップＳ４に進み、入力コマンドが排紙命令データではないと判断した場合は、ステップＳ３に進む。
【００３６】
ステップＳ３では、中間データ変換部により、描画コマンドを中間データに変換し、中間データ格納部に格納する。中間データには、各描画オブジェクト毎に描画に必要な情報（印字位置、形状、色など）と共に、その描画オブジェクトの属性として、文字、イメージ、図形といった、描画オブジェクトの種類を格納する。ここで生成される中間データは、従来のようなＹＭＣＫの中間データではなく、入力される印刷データと同じくＲＧＢ２４ビットの色属性で生成される。
【００３７】
中間データに変換後はステップＳ１に戻り、次の印刷データを受信する。
【００３８】
またステップＳ４では、描画部により、中間データ格納部に格納された中間データを描画オブジェクト単位で読み出し、ＲＧＢ２４ビット／ピクセルのビットマップ１として描画し、ＢＭ１格納部に格納する。さらに、描画部により、中間データ格納部に格納された中間データを描画オブジェクト単位で読み出し、中間データに含まれる属性を用いて３ビット／ピクセルの属性ビットマップ２として描画する。
【００３９】
ステップＳ４で中間データ格納部に格納された１ページ分の中間データを全て描画した後、ステップＳ５に進む。
【００４０】
ステップＳ５では、メモリ判定部により、描画部で描画されたビットマップ２が、ＢＭ２格納部に格納可能か否かを判定する。格納可能であると判定された場合はステップＳ７に進み、格納不可能であると判定された場合はステップＳ６に進む。
【００４１】
ステップＳ６では、圧縮部により、３ビット／ピクセルのビットマップ２を圧縮し、ステップＳ７に進む。
【００４２】
ステップＳ７では、ステップＳ６で圧縮されている場合には圧縮されたビットマップ２を、圧縮されていない場合には描画されたビットマップ２をそのままＢＭ２格納部に格納し、１ページ分の第一種の色属性のビットマップ１と、１ページ分の描画オブジェクトに対応する属性情報とが格納されると、ステップＳ８に進む。
【００４３】
ステップＳ８では、ＢＭ１格納部とＢＭ２格納部から、それぞれビットマップ１とビットマップ２を読み出し、ビットマップ２が圧縮されたデータであるか否かを判断する。圧縮されていればステップＳ９に進み、圧縮されていなければステップＳ１０に進む。
【００４４】
ステップＳ９では、ＢＭ２格納部に保持されたビットマップ２を読み出して伸長し、ステップＳ１０に進む。
【００４５】
ステップＳ１０では、ビットマップ２として格納されている属性情報に基づいてビットマップ１に描画されている座標のイメージがどの描画オブジェクト（文字、図形、イメージ）であるかを判断し、描画テーブルに格納されているルックアップテーブルから複数のディザパターンのうちどのディザパターンを使用するかを判断し、決定されたディザパターンを用いて２４ビットＲＧＢのイメージであるビットマップ１を１６ビットＹＭＣＫのイメージビットマップ３にいろ変換及び階調変換して、ＢＭ３格納部に格納する。
【００４６】
次のステップＳ１１では、ステップＳ１０のビットマップ３の生成に同期して、画像出力部により、プリンタエンジンに対して、ＢＭ３格納部に格納されているビットマップデータ３を出力する。ＢＭ３格納部は２つのバンドメモリに分けられており、１つのバンドメモリにビットマップデータ３を描画している間に、もう１つのバンドメモリにすでに描画されているビットマップデータ３をＤＭＡ等の画像出力部により読み出してプリンタエンジンに出力する。この動作制御を交互に行うことにより、連続した出力を可能としている。
【００４７】
なお、本第２実施形態では、ステップＳ４において、ビットマップ１をＲＧＢ２４ビット／ピクセルとしたが、色空間、ビット深さは任意であってよく、また、ビットマップ２を３ビット／ピクセルとしたが、ビット深さは任意でよい。さらに、本第２実施形態では、ステップＳ１０において、ビットマップ３をＹＭＣＫ４ビット／ピクセルとしたが、色空間、ビット深さは任意で良い。
【００４８】
また、描画オブジェクトの属性情報を３ビット／ピクセルのビットマップ２としたが、ビットマップとしてではなく、単なる属性情報として保持しても良い。
【００４９】
また、ステップＳ１０において、ビットマップ１からビットマップ３への変換処理を色変換および諧調変換としたが、ビットマップ１の色空間、ビット数、ビットマップ３の色空間、ビット数は任意に変更可能である。
【００５０】
以下に、ステップＳ３で作成される中間データと、ステップＳ４で作成される属性情報ビットマップ２について図８を参照して説明する。
【００５１】
図８において、（ａ）は望まれる印刷結果、（ｂ）は中間データ、（ｃ）はビットマップ１の描画結果、（ｄ）はビットマップ２の描画結果を示す。
【００５２】
ステップＳ３では、まず、入力コマンドが文字コマンドか、図形コマンドか、イメージコマンドかを判定し、中間データ格納部１２０に格納する中間データにそれぞれのフラグを備える（図８（ｂ））。
【００５３】
一例として、望まれる印刷結果が図８（ａ）に示すような文字３０１、自然画像３０２、グラフィック画像３０３を含む画像であるものとする。この場合、中間データは、文字３０１を示すｏｂｊｅｃｔ１として、属性：文字、印字位置（Ｘ，Ｙ）、フォント、サイズ、文字コード、色の情報を有し、グラフィック画像３０３を示すｏｂｊｅｃｔ２として、属性：図形、印字位置（Ｘ，Ｙ）、形状（円）、半径、色の情報を有し、自然画像３０２を示すｏｂｊｅｃｔ３として、属性：イメージ、印字位置（Ｘ，Ｙ）、イメージの幅、高さ、イメージの実体へのポインタの情報を有する。
【００５４】
このように、中間データは、それぞれの描画オブジェクトの形、色、印字位置の情報を含んでいる。
【００５５】
中間データを描画部により描画すると、図８（ｃ）に示すような望まれる印刷結果と同等の結果、および図８（ｄ）に示すような印刷結果の各ピクセルに対応した属性を備えるビットマップ２が得られる。
【００５６】
ビットマップ２は、例えば、文字領域は「１」（００１）、図形領域は「２」（０１０）、イメージ領域は「４」（１００）、その他の領域は「０」（０００）により表現される、各ピクセル３ビットの情報で表現可能である。
【００５７】
なお、上記ステップＳ３で中間データのオブジェクト属性として格納する種類は上記に限るものではなく、高解像度オブジェクトか高諧調オブジェクトといった、求められる画像処理の種類、高品位オブジェクトか品位が落ちても良いオブジェクトかといったオブジェクトの品位処理の種類、また、カラーか白黒かといったオブジェクトのカラーの種類であっても良い。
【００５８】
上記の通り本第２実施形態によれば、描画コマンドを受信し、解析して中間データに変換し、１ページ分の中間データをビットマップ１に描画し、かつ、１ページ分の中間データを属性情報としてビットマップ２に描画し、ビットマップ１を、ビットマップ２を用いてビットマップ３に変換するプリンタにおいて、ビットマップ２を格納する際に、ビットマップ２格納用のメモリが不足していると判断すると、ビットマップ２を圧縮して格納するため、空きメモリ容量が少ない時でも確実にビットマップ２が保存されることになり、属性情報に即したビットマップ３の作成が可能になる。これにより、高画質の印刷結果を得ることができる。
【００５９】
［第３の実施の形態］
上記第２実施形態では、図７のステップＳ６においてビットマップ２を圧縮したが、本第３実施形態においては、解像度を落とす場合について図９を参照して説明する。なお、図９において、図７と同様の処理には同じステップ番号を付し、第２実施形態の特徴である処理についてのみ説明をする。
【００６０】
図９において、ステップＳ４では、描画部により、中間データ格納部に格納された中間データを描画オブジェクト単位で読み出し、解像度６００ｄｐｉ、ＲＧＢ２４ビット／ピクセルのビットマップ１として描画し、ＢＭ１格納部に格納する。さらに、描画部により、中間データ格納部に格納された中間データを描画オブジェクト単位で読み出し、中間データに含まれる属性を用いて、解像度６００ｄｐｉ、３ビット／ピクセルの属性ビットマップ２として描画する。
【００６１】
ステップＳ４で中間データ格納部に格納された１ページ分の中間データを全て描画した後、ステップＳ５に進む。
【００６２】
ステップＳ５では、メモリ判定部により、描画部で描画されたビットマップ２が、ＢＭ２格納部に格納可能か否かを判定する。格納可能であると判定された場合はステップＳ７に進み、格納不可能であると判定された場合はステップＳ２６に進む。
【００６３】
ステップＳ２６では、圧縮部により、６００ｄｐｉ、３ビット／ピクセルのビットマップ２を３００ｄｐｉに解像度変換してステップＳ７に進み、ビットマップ２をＢＭ２格納部に格納する。
【００６４】
ステップＳ２８では、ＢＭ１格納部とＢＭ２格納部から、ビットマップ１とビットマップ２を読み出し、ビットマップ２が解像度変換されたデータであるか否かを判断する。解像度変換されていればステップＳ２９に進み、解像度変換されていなければステップＳ１０に進む。
【００６５】
ステップＳ２９では、ＢＭ２格納部に保持されたビットマップ２を読み出し、それを６００ｄｐｉに解像度変換してステップＳ１０に進む。
【００６６】
上記の通り本第３実施形態によれば、ビットマップ２を格納する際に、ビットマップ２格納用のメモリが不足していると判断すると、ビットマップ２を解像度変換して格納するため、空きメモリ容量が少ない時でも確実にビットマップ２が保存されることになり、属性情報に即したビットマップ３の作成が可能になる。これにより、高画質の印刷結果を得ることができる。
【図面の簡単な説明】
【００６７】
【図１】本発明を適用するレーザビームプリンタ（ＬＢＰ）の内部構造を示す断面図
【図２】プリンタ制御システムの概略構成ブロック図
【図３】非圧縮イメージを圧縮する処理のフローチャート
【図４】作成したＤＬをハードレンダラ５４に転送する処理のフローチャート
【図５】圧縮イメージを管理する圧縮イメージ管理表の一例を示す図
【図６】プリンタ制御システムの概略構成ブロック図
【図７】フォールバック時のデータ処理手順の一例を説明するフローチャート
【図８】印刷される中間データとビットマップとの関係図
【図９】フォールバック時のデータ処理手順の一例を説明するフローチャート
【符号の説明】
【００６８】
Ｓ１  受信
Ｓ４  描画
Ｓ７  格納
Ｓ１０  変換
Ｓ１１  出力
【図１】
2006159458.tif 000003
【図２】
2006159458.tif 000004
【図３】
2006159458.tif 000005
【図４】
2006159458.tif 000006
【図５】
2006159458.tif 000007
【図６】
2006159458.tif 000008
【図７】
2006159458.tif 000009
【図８】
2006159458.tif 000010
【図９】
2006159458.tif 000011