(57)【要約】【課題】高解像度での画像形成が可能であるとともに、高解像度化の際の白抜けを防止し、かつそのような描画処理を高速に行える画像処理装置及び画像処理方法を提供する。【解決手段】中間コード画像データ生成部２３が描画命令から生成する中間コード画像データには、高解像度化処理のための黒色の情報および中間コード画像データ中のＲＧＢの色情報の有効／無効を設定した色指定有効／無効情報を含んでいる。中間コード画像データ解釈部３１で中間コード画像データを解釈してレンダリング処理を行う際に、色指定有効／無効情報が色情報を無効とする設定の場合、高解像度化処理のための黒色の情報を含む属性情報をバンドバッファ１４に書き込み、色情報については書き込まない。これによって、高解像度化処理の際の白抜けを防止するため、背景色をそのまま残すことができる。【選択図】  図１
2004334533.tif 000002
【特許請求の範囲】
【請求項１】
入力される描画命令に基づいてビットマップイメージを作成する画像処理装置において、前記描画命令あるいは前記描画命令から生成された中間コード画像データに基づいてレンダリング処理を行い前記ビットマップイメージを生成する描画手段と、該描画手段によって生成されたビットマップイメージ及び属性情報を保持するイメージ記憶手段を有し、前記描画命令あるいは前記中間コード画像データは、色情報とともに該色情報を使用するか否かを示す色指定有効／無効情報を保持しており、前記描画手段は、前記色指定有効／無効情報に従って前記色情報を前記イメージ記憶手段に書き込むか否かを判断してレンダリング処理を行うことを特徴とする画像処理装置。
【請求項２】
前記描画手段は、前記色指定有効／無効情報が前記色情報を使用する設定の場合には、前記色情報に基づいて属性情報とともに前記イメージ記憶手段への書き込みを行い、前記色情報を使用しない設定の場合には属性情報を前記イメージ記憶手段に書き込むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記描画手段は、前記描画命令あるいは前記中間コード画像データが色情報としてＲＧＢ色空間の色情報を保持しかつ黒色の情報を保持する場合に、前記色指定有効／無効情報に基づいて前記ビットマップイメージの黒色の情報を決定することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記描画手段は、前記描画命令あるいは前記中間コード画像データが色情報としてＲＧＢ色空間の色情報を保持しかつ黒色の情報を保持している場合であって、さらに前記色指定有効／無効情報が前記色情報を使用しない設定の場合には、前記描画命令あるいは前記中間コード画像データが保持する黒色の情報に基づいて前記ビットマップイメージの黒色の情報を決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記描画命令あるいは前記中間コード画像データは、黒色の情報を属性情報の一部として保持していることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記描画手段は、前記描画命令あるいは前記中間コード画像データが色情報としてＲＧＢ色空間の色情報を保持しかつ黒色の情報を保持している場合であって、さらに前記色指定有効／無効情報が前記色情報を使用しない設定の場合に論理演算が指示されたときには、前記黒色の情報と前記色情報のそれぞれについて指示された論理演算を行い、演算結果に基づいて前記イメージ記憶手段への書き込みを行うことを特徴とする請求項３ないし請求項５のいずれか１項に記載の画像処理装置。
【請求項７】
前記色指定有効／無効情報は、各色毎に独立に設定可能であることを特徴とする請求項１ないし請求項６のいずれか１項に記載の画像処理装置。
【請求項８】
前記描画命令あるいは前記中間コード画像データが保持する黒色の情報は、高解像度化のためのパターン情報であることを特徴とする請求項１ないし請求項７のいずれか１項に記載の画像処理装置。
【請求項９】
前記描画手段の全部又は一部の機能は、専用の回路で構成されていることを特徴とする請求項１ないし請求項７のいずれか１項に記載の画像処理装置。
【請求項１０】
入力される描画命令に基づいてビットマップイメージを作成する画像処理方法において、前記描画命令あるいは前記描画命令から生成された中間コード画像データに基づいてレンダリング処理を行い前記ビットマップイメージを生成し、生成されたビットマップイメージ及び属性情報をイメージ記憶手段に書き込むものであって、前記描画命令あるいは前記中間コード画像データは、色情報とともに該色情報を使用するか否かを示す色指定有効／無効情報を保持しており、前記レンダリング処理時に、前記色指定有効／無効情報に従って前記色情報を前記イメージ記憶手段に書き込むか否かを判断してレンダリング処理を行うことを特徴とする画像処理方法。
【請求項１１】
前記レンダリング処理において、前記色指定有効／無効情報が前記色情報を使用する設定の場合には、前記色情報に基づいて属性情報とともに前記イメージ記憶手段への書き込みを行い、前記色情報を使用しない設定の場合には属性情報を前記イメージ記憶手段に書き込むことを特徴とする請求項１０に記載の画像処理方法。
【請求項１２】
前記レンダリング処理において、前記描画命令あるいは前記中間コード画像データが色情報としてＲＧＢ色空間の色情報を保持しかつ黒色の情報を保持している場合に、前記色指定有効／無効情報に基づいて前記ビットマップイメージの黒色の情報を決定することを特徴とする請求項１０または請求項１１に記載の画像処理方法。
【請求項１３】
前記レンダリング処理において、前記描画命令あるいは前記中間コード画像データが色情報としてＲＧＢ色空間の色情報を保持しかつ黒色の情報を保持している場合であって、さらに前記色指定有効／無効情報が前記色情報を使用しない設定の場合には、前記描画命令あるいは前記中間コード画像データが保持する黒色の情報に基づいて前記ビットマップイメージの黒色の情報を決定することを特徴とする請求項１２に記載の画像処理方法。
【請求項１４】
前記描画命令あるいは前記中間コード画像データは、黒色の情報を属性情報の一部として保持していることを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記レンダリング処理において、前記描画命令あるいは前記中間コード画像データが色情報としてＲＧＢ色空間の色情報を保持しかつ黒色の情報を保持している場合であって、さらに前記色指定有効／無効情報が前記色情報を使用しない設定の場合に論理演算が指示されたときには、前記黒色の情報と前記色情報のそれぞれについて指示された論理演算を行い、演算結果に基づいて前記イメージ記憶手段への書き込みを行うことを特徴とする請求項１２ないし請求項１４のいずれか１項に記載の画像処理方法。
【請求項１６】
前記色指定有効／無効情報は、各色毎に独立に設定可能であることを特徴とする請求項１０ないし請求項１５のいずれか１項に記載の画像処理方法。
【請求項１７】
前記描画命令あるいは前記中間コード画像データが保持する黒色の情報は、高解像度化のためのパターン情報であることを特徴とする請求項１０ないし請求項１６のいずれか１項に記載の画像処理方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、入力される描画命令あるいは描画命令から生成された中間コード画像データに基づいてレンダリング処理してビットマップイメージを作成し、印字装置等に出力する画像処理技術に関するものである。
【０００２】
【従来の技術】
パーソナルコンピュータなどの上位処理装置から印字命令を受けた画像処理装置は、実際の印字情報である描画命令を受信して順に解釈し、ビットマップイメージを作成して出力する。この処理過程において、画像処理装置がページバッファを保持している場合には、解釈したビットマップイメージをそのままページバッファに書き込み（レンダリング処理）、ページ単位で出力する。また、ページバッファは多大な記憶容量を必要とするため、ページバッファではなく、１ページを複数に分割したバンド単位のバッファ（バンドバッファ）を保持している場合も多い。このような場合には、一度バンド単位の中間コード画像データに変換し、全ての描画命令の解釈および中間コード画像データの生成終了後、バンド単位で中間コード画像データを解釈し、ビットマップイメージをバンドバッファに書き込むレンダリング処理を行う。
【０００３】
通常、ページバッファあるいはバンドバッファに書き込まれたビットマップイメージは、印字装置等に送信される前に補正処理が施される。例えば、描画命令による色空間指定がＲＧＢの場合、印字装置に出力するためには色空間をＣＭＹＫに変換しなければならない。しかし、全てのビットマップイメージに対して一律に色空間変換を行うと印字の品質に問題が生じるため、描画内容（フォント、グラフィックス、イメージなど）に応じた処理が望ましい。描画内容に応じた処理を行うためには、それぞれの描画命令の内容がどのような描画内容（フォント、グラフィックス、イメージなど）かを示す属性情報が色変換処理時に必要となる。そのため、描画命令の描画内容に基づいて、レンダリング処理によってビットマップイメージを生成する際に１ないし数画素毎に属性情報を付加しておく。なお、バンドバッファを保持してバンド単位でレンダリング処理を行う画像処理装置においては、中間コード画像データに描画命令の属性情報が渡され、バンドバッファに展開されたビットマップイメージに対して属性情報が付加される。そして、ビットマップイメージに付加されている属性情報を参照して、展開されたビットマップイメージに対して補正処理が行われる。
【０００４】
一方、描画命令あるいは中間コード画像データによる色空間指定を、始めから印字装置などが要求する色空間であるＣＭＹＫ色空間にすることにより、色変換処理が必要なくなり、少なくとも色変換のための属性情報を保持する必要はなくなる。しかし、上位処理装置上のソフトウェアがＷｉｎｄｏｗｓ（登録商標）のＧＤＩ（Ｇｒａｐｈｉｃ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ）を使用している場合、画像処理装置は論理演算（ＲＯＰ：Ｒａｓｔｅｒ  Ｏｐｅｒａｔｉｏｎ）の処理に対応しなければならない。このＲＯＰ処理は色空間としてＲＧＢを前提としているため、描画命令あるいは中間コード画像データの色空間指定を始めからＣＭＹＫとしてしまうと、論理演算後の結果が想定したものとは異なることにより印字品質が低下する。
【０００５】
そのため、描画命令あるいは中間コード画像データの色空間はＲＧＢが前提となり、特にフォントなどの印字品質を向上させるためには忠実に各ドットの描画内容を保持することが重要となり、グラフィックスなど別の描画内容の背景が存在する場合にはなおさらである。
【０００６】
一例として、特許文献１に記載されている画像処理方法では、テキストオブジェクトの描画命令には文字列、文字色および背景色を表す情報が含まれ、背景色にはグラフィックス用、文字色にはテキスト用の色処理を施すことが考案されている。これによって、文字の周囲での背景色に対する処理の変更を防ぎ、一様な背景色の描画を行っている。
【０００７】
また、例えば特許文献２には、エッジ部分について黒色の色材による黒画像の形成に代えて、他の色（例えばシアン（Ｃ）、マゼンタ（Ｍ）、イエロー（Ｙ））の色材あるいはこれらの色の色材と黒の色材を混合して使用することが記載されている。これによって、カラー背景上における単独色の黒色オブジェクトのエッジ部における各色の画像の位置合わせズレによる好ましくない白か又は薄い色の縁取りの発生や、周囲の画素との色材量の差に起因する画質劣化を防止し、黒のオブジェクトの再現性を向上させている。
【０００８】
フォントや線画などを描画する場合、従来より用いられている印字装置などの解像度では斜めのエッジ部にジャギーと呼ばれる凹凸が視認され、視覚的な画質の劣化を生じてしまう場合がある。このようなジャギーを低減するため、いくつかの手法が提案されている。
【０００９】
その一つとして、パルス幅変調方式がある。パルス幅変調方式は、印字装置として電子写真方式を用いる場合の高解像度化の方法の一つである。具体的には、中間調のビデオデータに対し、参照する三角波の種類やしきい値などを切り替えて出力することによって、１画素における画像形成位置や面積を制御し、擬似的に解像度を向上させる技術である。例えば特許文献３などにも記載されている。
【００１０】
図１３は、パルス幅変調方式における画像形成位置の一例の説明図、図１４は、パルス幅変調方式により描画された画像の一例の拡大図である。例えば図１３に示す例では、出力解像度を主／副走査線ともに２倍にするものとして１画素を４分割し、そのいずれの位置を濃度に応じて選択し、画像形成を行う。具体例として、図１４（Ａ）に示すように文字や線画の斜め線が存在する場合、そのままでは階段状の凹凸が視認されやすい。ここでパルス変調方式を用いることによって、図１４（Ｂ）に示すように１画素以下（ここでは１／４）の画像形成が行われ、階段状の部分の凹凸が小さくなって視覚的になめらかな斜め線が形成されることになる。
【００１１】
図１５は、パルス幅変調方式を適用した場合の白抜けへの対応の説明図である。上述のようなパルス幅変調方式を用いる場合、背景色上に黒の文字や線画を描画すると、図１３に示したパターンを用いて画像形成する画素については黒の画素として処理してしまうため、１画素の領域のうち画像形成された領域以外の部分が白く抜けてしまうという問題がある。例えば図１５（Ａ）に示した例では、中央の画素において右下の１／４を黒で画像形成しているが、残りの３／４の領域は白抜けを起こしてしまう。この白抜けが原因となり、文字そのものの画質は向上しても、ページ全体で見た場合に画質が劣化してしまう場合がある。
【００１２】
このような不具合を解消するため、図１３に示したようなパターンのいずれを用いるかを示す情報を黒色の濃度の代わりに保持するとともに、他のＣＭＹ色については黒の文字や線画としての描画を行わずに背景の色を残すことが考えられている。そして、黒色については指定されたパターンで擬似的に高解像度で画像形成するとともに、他の色については背景色による画像形成を行う。これによって図１５（Ｂ）に示すように擬似的に高解像度で画像形成した画素についても白抜けを防止することができ、印字装置において高画質の画像を形成することができる。なお、このような白抜けの防止処理については、例えば特許文献４等に記載されている。
【００１３】
例えば上述の特許文献１に記載されている技術において、このようなパルス幅変調方式の技術を利用しようとすると、背景色の描画を行った上に文字や線画の描画を行うため、文字や線画のエッジ部分における白抜けを防止することができない。また、特許文献２に記載されている技術では、エッジ部分の黒を他の色による黒色に変更してしまうため、背景色は残らず、パルス幅変調方式などを適用することができない。さらに、特許文献３や特許文献４では、基本的にＣＭＹＫなどの黒成分を含む色空間において、黒色の濃度情報の代わりに図１３に示すパターンのいずれを用いるかを示す情報を保持するものであり、黒色を含まない例えばＲＧＢ色空間において図１３に示すパターンのいずれを用いるかを示す情報をどのように保持するかについては考慮されていない。さらに、図１３に示すパターンのいずれを用いるかを示す情報と背景色をともに保持するための描画処理の高速化が望まれている。
【００１４】
【特許文献１】
特開２００１−２３６１９９号公報
【特許文献２】
特開平１０−０５２９４７号公報
【特許文献３】
特許第３２６６５７６号公報
【特許文献４】
特開２０００−２４２４６１号公報
【００１５】
【発明が解決しようとする課題】
本発明は、上述した事情に鑑みてなされたもので、高解像度での画像形成が可能であるとともに、高解像度化の際の白抜けを防止し、かつそのような描画処理を高速に行える画像処理装置及び画像処理方法を提供することを目的とするものである。
【００１６】
【課題を解決するための手段】
本発明は、入力される描画命令に基づいてビットマップイメージを作成する画像処理装置または画像処理方法であって、描画命令あるいは描画命令から生成された中間コード画像データ中に、色情報とともに該色情報を使用するか否かを示す色指定有効／無効情報を保持させておく。そして、そのような描画命令あるいは中間コード画像データに基づいてレンダリング処理を行う際に、色指定有効／無効情報に従って、色情報をイメージ記憶手段に書き込むか否かを判断してレンダリング処理を行う。例えば色指定有効／無効情報が色情報を使用する設定の場合には、各色情報の値に基づいてビットマップイメージ及び属性情報をイメージ記憶手段へ書き込む。また色指定有効／無効情報が色情報を使用しない設定の場合には、属性情報についてはイメージ記憶手段へ書き込み、各色情報のイメージ記憶手段へ書き込みを行わないことにより背景色を保存する。このように背景色を保存することによって、例えばパルス幅変調方式などによる高解像度化の処理にも対応することができる。それとともに、高解像度化処理の際の白抜けを防止し、文字や線画などの画質を向上させることができる。また、背景色を意識することなく保存することができるため、描画処理を高速化することができる。なお、黒色の情報は、色情報とは別に、例えば属性情報として保持しておくことができる。
【００１７】
また本発明では、１画素に対して背景色（Ｒ／Ｇ／Ｂ）の情報と黒色（Ｋ）の情報の２つの値を同時に持つ。そのため、ＲＧＢ色空間上で実行される論理演算に対しては、背景色と黒色（に対応するＲ＝Ｇ＝Ｂの値）のそれぞれに対して論理演算を行い、それぞれの結果に基づいてイメージ記憶手段への書き込みを行う。例えば、黒色の情報についての論理演算の結果、ＲＧＢ全ての色要素の値が等しく、かつ論理演算前の値と等しい場合には、既に演算後の黒色の情報がイメージ記憶手段に保持されているものとする。また、ＲＧＢ全ての色要素の値が等しいが、論理演算前の値と等しくない場合には、黒色の情報についての論理演算の結果から、演算後の黒色の情報を決定する。これらの場合には、背景色の演算結果はそのまま有効としておく。さらに、ＲＧＢの色要素の値に１つでも等しくないものが含まれる場合には、色情報について行った論理演算の結果を無効とし、黒色の情報についての論理演算の結果を、演算後の色情報とすることができる。このとき、属性情報内の描画オブジェクトの種類をグレイフォントあるいはグレイラインからそれぞれフォントあるいはグラフィックスに変更しておく。このような論理演算時の処理を行うことによって、描画された画像の不連続性を防止し、画質を向上させることができる。
【００１８】
なお、色指定有効／無効情報は、各色毎に独立に設定可能に構成することができる。また、描画手段の全部又は一部の機能は、専用の回路で構成することができる。
【００１９】
【発明の実施の形態】
図１は、本発明の実施の一形態を示す機能ブロック図である。図中、１は上位処理装置、２は画像処理装置、３は印字装置、１１は中間コード生成部、１２は中間コードメモリ、１３は中間コード画像データ展開部、１４はバンドバッファ、１５は出力制御部である。画像処理装置２は、本発明の画像処理装置あるいは本発明の画像処理方法を実現する装置の一例であり、この例では描画命令を受け取ってバンド毎の中間コード画像データを生成した後、バンド単位のビットマップイメージを作成し、出力する場合を示している。ここでは、描画命令は例えばパーソナルコンピュータなどの上位処理装置１から受け取り、作成したビットマップイメージを印字装置３に出力するものとして図示している。なお、上位処理装置１と画像処理装置２は、ケーブル接続されたり、あるいはＬＡＮなどのネットワークによって通信可能に接続されていてよい。また、画像処理装置２と印字装置３とは、配線などによって直結されている場合が多いが、これに限られるものではない。
【００２０】
画像処理装置２は、中間コード生成部１１、中間コードメモリ１２、中間コード画像データ展開部１３、バンドバッファ１４、出力制御部１５を含んで構成されている。中間コード生成部１１は、上位処理装置１から送られてくる描画命令を受け取り、その描画命令を解釈してバンド単位の中間コード画像データを生成する。
【００２１】
生成する中間コード画像データには、描画する色の情報とともに描画オブジェクトの種類などの属性情報が含まれており、その属性情報の一部として、あるいは属性情報とは別に、その中間コード画像データ中の色情報を使用するか否かを示す色指定有効／無効情報を含んでいる。この色指定有効／無効情報は、例えば色情報中の色成分毎に設定可能にしておくことができる。例えば文字や線画のエッジ部など、高解像度により画像形成が必要な部分では、黒色の情報として例えば図１３に示したような高解像度化のためのパターンのいずれを選択するかを示す情報を含んでおり、この場合に色指定有効／無効情報は色情報を使用しない設定とする。
【００２２】
描画オブジェクトの種類としては種々の指定が考えられるが、ここでは特に本発明により影響がある描画オブジェクトの種類として少なくとも色情報を使用して文字を描画する「フォント」及び線画などを描画する「グラフィックス」と、高解像度化の処理を行うため色情報を使用せずに文字を描画する「グレイフォント」及び線画などを描画する「グレイライン」が使用されるものとする。なお、中間コード画像データのデータフォーマットの例については後述する。
【００２３】
中間コードメモリ１２は、中間コード生成部１１で生成した中間コード画像データを記憶する。また、例えば中間コード生成部１１で上位処理装置１から受け取った描画命令を記憶するなど、中間コード生成部１１における処理において利用することも可能である。
【００２４】
中間コード画像データ展開部１３は、本発明の描画手段の機能を含み、中間コードメモリ１２からバンド単位に中間コード画像データを読み出してレンダリングし、ビットマップイメージ及び属性情報を作成してバンドバッファ１４に書き込む。なお、属性情報はビットマップイメージの１ないし複数画素毎に付加することができる。ビットマップイメージに付加する属性情報には、上述の高解像度化の処理を行うための黒色の情報を含めておくことができる。
【００２５】
中間コード画像データ展開部１３は、レンダリング処理の際に中間コード画像データ中の色指定有効／無効情報を参照し、色指定有効／無効情報に従って色情報を前記イメージ記憶手段に書き込むか否かを判断してレンダリング処理を行う。例えば色指定有効／無効情報が色情報を使用する設定の場合には、中間コード画像データ中の色情報に基づいてビットマップイメージを属性情報とともにバンドバッファ１４へ書き込む。また、色指定有効／無効情報が色情報を使用しない設定の場合には、色情報についてはバンドバッファ１４へ書き込まずに属性情報をバンドバッファ１４に書き込む。これによって、既に描画処理が行われた画素については、属性情報は書き換えられるものの、色情報が背景色として残ることになる。従ってレンダリング処理時には背景色に関する特別な処理を行わなくてよいため、処理を高速化することができる。特にレンダリング処理ではバンドバッファ１４のアクセスが非常に多く、時間がかかる。従って、バンドバッファ１４へのアクセスが減少すれば、それだけ処理を短時間で終えることができ、高速化することができる。なお、ビットマップイメージに付加する属性情報中に黒色の情報を含める場合、その黒色の情報は、中間コード画像データが保持する黒色の情報に基づいて決定することができる。
【００２６】
さらに中間コード画像データ展開部１３は、描画命令（中間コード画像データ）により論理演算（ＲＯＰ）処理が指示された場合、指示されたＲＯＰ処理を実行する。このとき、色指定有効／無効情報が色情報を使用しない設定で黒色の情報を保持している場合、ＲＯＰ処理は黒色の情報と色情報のそれぞれについて行い、演算結果に基づいてバンドバッファ１４への書き込みを行う。この処理についての詳細は後述する。
【００２７】
バンドバッファ１４は本発明におけるイメージ記憶手段に対応するものであり、中間コード画像データ展開部１３で展開したバンド単位のビットマップイメージ及び属性情報を保持する。なお、バンドバッファ１４は例えばカラーのビットマップイメージを記憶する際には、色成分毎に別々のプレーンとして記憶する面順次データとして記憶したり、あるいは画素毎にすべての色成分のデータを保持する点順次データとして記憶することができる。また、バンドバッファ１４として、１バンド分の記憶領域を有するほか、複数バンド分の記憶領域を有し、中間コード画像データ展開部１３によるビットマップイメージ及び属性情報の書き込みと、出力制御部１５による読み出しを並行して行えるように構成することもできる。ビットマップイメージと属性情報は、画素毎に両者を保持するほか、ビットマップイメージと属性情報を別々の領域に保持しても良い。
【００２８】
出力制御部１５は、バンドバッファ１４に展開されたビットマップイメージを読み出し、印字装置３などに転送する。このとき、高解像度化のための黒色の情報を含む場合には、その黒色の情報に従って印字装置３を制御し、高解像度の画像形成を行わせる。その場合、背景色についても画像形成を行わせ、白抜けを防止する。
【００２９】
図２は、本発明の実施の一形態における、より具体的な機能ブロック図である。図中、２１は入力制御部、２２は描画命令解釈部、２３は中間コード画像データ生成部、３１は中間コード画像データ解釈部、３２は圧縮／伸長処理部、３３は縮小／拡大処理部、３４は色変換部、３５は点面変換部である。実線の矢印はデータの流れを示し、破線の矢印は制御の流れを示している。
【００３０】
この例では、中間コード生成部１１は、入力制御部２１、描画命令解釈部２２、中間コード画像データ生成部２３を含んで構成されている。また中間コード画像データ展開部１３は、中間コード画像データ解釈部３１、圧縮／伸長処理部３２、縮小／拡大処理部３３、色変換部３４、点面変換部３５を含んで構成されている。
【００３１】
入力制御部２１は、上位処理装置１などから送られてくる描画命令を受信し、中間コードメモリ１２に記憶させる。そして描画命令解釈部２２を起動する。描画命令解釈部２２は、中間コードメモリ１２に記憶されている描画命令を順に読み出し、解釈する。そして、この描画命令の解釈処理によって得られた情報（属性情報、色情報、エッジ情報、イメージなど）を中間コード画像データ生成部２３に引き渡す。中間コード画像データ生成部２３は、上述の中間コード生成部１１における中間コード画像データの生成に関する各種の機能を実行し、描画命令解釈部２２から渡された情報から、バンド単位で中間コード画像データを生成し、中間コードメモリ１２に格納する。
【００３２】
図３は、従来の中間コード画像データの一例の説明図、図４は、本発明において用いる中間コード画像データの一例の説明図である。描画オブジェクトの種類としては、グラフィックス、フォント、イメージなどが挙げられる。このうち、グラフィックスやフォントについては、中間コード画像データのみで表現可能であるが、イメージの場合には、中間コード画像データとイメージの２つで構成される。
【００３３】
従来の中間コード画像データでは、いずれの描画オブジェクトの場合もヘッダ部とボディ部で構成されている。ヘッダ部は、例えばグラフィックスやフォントの場合には、図３（Ａ）に示すようにコマンドＩＤ、属性情報フィールドと、色情報、その他の情報が含まれている。また例えばイメージの場合には、図３（Ｂ）に示すように、コマンドＩＤ、属性情報フィールドと、イメージへのポインタ、その他の情報が含まれている。イメージの場合には、色情報はイメージ自体が保持することになる。ボディ部には、描画命令解釈部２２から渡されたエッジ情報から作成した描画領域を指定する情報、例えばランレングス情報等を保持する。
【００３４】
図３に示した例では、色情報としてＲＧＢ色空間におけるそれぞれの色成分の情報を保持するものとし、３つのフィールドで構成されている。例えばＣＭＹＫ色空間における色情報を保持する場合は、４つのフィールドによって構成されることになる。なお、イメージについても同様であるが、例えば２値画像であれば１フィールドのみで構成される。
【００３５】
最近、上位処理装置１上のドキュメント作成のアプリケーションでは、ディスプレイ上で複数の画像が重なる位置に描かれる場合に、元の画像と新たに書き込まれた画像に対し指定された論理演算により両方の画像を重ね合わせて表示し、また作成したドキュメントを印字する場合には、例えばＭｉｃｒｏｓｏｆｔ社製のＧＤＩなどのインタフェースを通して、合成された画像ではなく、元の画像と新たに書き込まれた画像とそれらの重ね合わせを行う論理演算子をドライバソフトウェアに渡し、それらをもとにドライバソフトウェアは描画命令を生成する。これにより、画像処理装置２が受信した描画命令の色空間はＲＧＢであり、また元の画像と新たに書き込まれた画像間の論理演算はまだ実行されていないため、中間コード画像データ生成部１５で生成される中間コード画像データの色空間はＲＧＢである必要がある。そのため、図３に示した例における色情報は、ＲＧＢ色空間を使用して示している。グレイ色を表現する場合には、グラフィックスやフォントの場合には色情報としてＲ＝Ｇ＝Ｂとすれば良く、イメージの場合にも画素の色情報をＲ＝Ｇ＝Ｂとすればよい。
【００３６】
本発明の中間コード画像データのデータフォーマットの一例を図４に示している。図４に示す例では、通常、中間コード画像データが扱う色空間としてＣＭＹＫ色空間とＲＧＢ色空間の両方を想定しているために色情報を格納するフィールドを４つ設けている。この場合、色空間がＲＧＢ色空間の場合には、色情報を格納するフィールドが１つ余る。このフィールドを色指定有効／無効情報と黒色の情報を格納するフィールドとして使用することができる。通常、１つの色成分の情報を格納する領域のサイズは８ビット（各色のレベルが０〜２５５により）である。１つ余ったフィールドも８ビットを利用できるので、色指定有効／無効情報の領域として１ビット、残りの領域に黒色の情報を格納することができる。
【００３７】
この場合、黒色の情報を保持する領域が７ビットとなってしまい、黒色のレベルが０〜１２７の範囲しか設定できなくなる。しかし、パルス幅変調方式を用いた高解像度化の処理を行うために、例えば図１３に示したようなパターンのいずれかを示すだけであれば０〜１５の値を保持できればよく、４ビット分の領域があれば十分である。ただし、図４に示した黒色の情報の領域に設定された値は実際の濃度値とは異なるものであるため、この黒色の情報が有効か否かを識別するために、ここでは描画オブジェクトの種類として、黒色の情報を有する「フォント」として「グレイフォント」、黒色の情報を有する「グラフィックス」として「グレイライン」の２種類を追加している。
【００３８】
ここでは色指定有効／無効情報と黒色の情報を同じフィールドに含めた例を示しているが、例えば当該フィールドを黒色の情報のみで使用し、色指定有効／無効情報は属性情報フィールドやその他のフィールドに含めても良い。
【００３９】
図５は、本発明において用いる中間コード画像データの別の例の説明図である。図５に示す例では、黒色の情報を属性情報フィールドに含め、また色指定有効／無効情報をその他の情報の一部として含めて構成した例を示している。また図５に示す例では、色指定有効／無効情報を色成分毎に独立に持たせている。これにより汎用性を高めている。また、上述の図４に示す例ではＣＭＹＫ色空間である場合には色指定有効／無効情報を保持することができないが、図５に示す例ではＣＭＹＫ色空間の場合でも同様に各色に対して色情報の有効／無効を設定可能となる。
【００４０】
なお、高解像度化のための黒色の情報は、例えば図１３に示したパターンのいずれかを示すものに限られるものではなく、様々な分割パターンを適用することができる。
【００４１】
図２に戻り、中間コード画像データ展開部１３の中間コード画像データ解釈部３１は、上述の中間コード画像データ展開部１３の機能として説明した多くの機能を実行するものであり、中間コードメモリ１２から中間コードを順に取り出して解釈し、バンド単位でバンドバッファ１４に描画処理し、ビットマップイメージに展開する。また、描画した画素に対応する属性情報についてもビットマップイメージとともにバンドバッファ１４に格納する。図６は、バンドバッファへの書き込み処理の一例の説明図である。中間コード画像データ解釈部３１は、バンドバッファ１４へビットマップイメージを書き込む際に、中間コード画像データ中の色指定有効／無効情報を参照する。そして、色指定有効／無効情報が色情報を使用する設定の場合には、図６（Ａ）に示すように、中間コード画像データ中の色情報（Ｒ，Ｇ，Ｂ）及び属性情報をバンドバッファ１４へ書き込む。また、色指定有効／無効情報が色情報を使用しない設定の場合には、図６（Ｂ）に示すように、色情報についてはバンドバッファ１４へ書き込まず、属性情報をバンドバッファ１４に書き込む。これによって、既に描画処理が行われた画素については、属性情報は書き換えられるものの、色情報が背景色として残ることになる。また、図６における属性情報には、高解像度化の処理を行うための黒色の情報を含めておく。従って高解像度化の処理を行う際には、属性情報中の黒色の情報によって高解像度の画像形成を行うことができるとともに、背景色の情報を用いた白抜けを防止するための処理を行うことができる。また中間コード画像データ解釈部３１は、論理演算が指定された場合に、指定された論理演算についても実際に実行する。このとき、バンドバッファ１４に書き込むビットマップイメージの色空間としてＲＧＢ色空間を採用することによって、正しく簡単に論理演算を行うことができる。なお、黒色の情報を保持している場合には、色情報と黒色の情報についてそれぞれ論理演算し、その結果に応じて演算結果を決定する。
【００４２】
再び図２に戻り、圧縮／伸長処理部３２は、圧縮されたイメージを伸長してバンドバッファ１４に書き込む。縮小／拡大処理部３３は、描画するオブジェクトがイメージの時、中間コードメモリ１２に格納されている中間コード画像データ中の拡大率に従って、イメージを縮小あるいは拡大処理する。
【００４３】
色変換部３４は、バンドバッファ１４中のビットマップイメージに対して、それぞれの描画オブジェクトに応じた色空間変換処理や色補正処理などを行う。このときビットマップイメージに付加されている属性情報に従って処理を行うことができる。色空間変換処理として、上述のようにビットマップイメージの色情報としてＲＧＢ色空間の色情報をバンドバッファ１４に書き込んでいる場合、印字装置３が要求する例えばＣＭＹＫ色空間の色情報に変換する。このとき、黒色の情報が高解像度化の処理のための情報である場合には、この黒色の情報を保存するように色変換を行う。また、高解像度化の処理を行わないグレイなどの色では、例えばグラフィックスやフォントの場合には単独色の黒色に変換し、イメージの場合にはプロセス黒（シアン、マゼンダ、黄色あるいはさらに黒色の混色）に変換するなどといったことが可能である。
【００４４】
点面変換部３５は、バンドバッファ１４にビットマップイメージを記憶する際に、例えば図６に示すように画素毎にすべての色成分のデータを保持する点順次データとして記憶しているとき、印字装置３が色成分毎に別々のプレーンとして記憶する面順次データを要求する場合、点順次データから面順次データへ変換する。もちろん、面順次データとして記憶されているビットマップイメージを、点順次データへ変換する機能を有していても良い。
【００４５】
なお、中間コード画像データ展開部１３の全部又は一部の構成、あるいはさらにバンドバッファ１４などは、専用の回路で構成することが可能である。これによって高速に処理を行うことが可能である。
【００４６】
次に、本発明の実施の一形態における動作の一例について説明する。例えば、パーソナルコンピュータなどの上位処理装置１と画像処理装置２がネットワークなどで接続されているようなプリントシステムにおいては、上位処理装置１からネットワークなどを通じて描画命令が画像処理装置２に送られてくるので、画像処理装置２は入力制御部２１で描画命令を受け取って中間コードメモリ１２に格納する。一連の描画命令を受信したら、あるいは描画命令の受信と並行して、描画命令解釈部２２及び中間コード画像データ生成部２３が動作する。描画命令解釈部２２は、上位処理装置１から受け取った描画命令を解釈し、解釈結果を中間コード画像データ生成部２３に渡す。画像データ生成部２３は、描画命令解釈部２２から渡された解釈結果に基づき、それぞれのバンド毎の中間コード画像データを生成する。このとき、文字や線画のエッジ部分など、高解像度化の処理を行う必要のある部分については、そのパターン情報を黒色の情報として生成し、また色指定有効／無効情報については色情報を無効に設定しておく。さらに描画オブジェクトの種類として「グレイフォント」あるいは「グレイライン」に設定する。
【００４７】
例えば１ページ分など、一連の描画命令について中間コード画像データの生成が終了したら、中間コード画像データ展開部１３が起動され、中間コード画像データ解釈部３１は中間コードメモリ１２に格納されている中間コード画像データに従ってレンダリング処理を行う。
【００４８】
図７は、本発明の実施の一形態における基本的なレンダリング処理の一例を示すフローチャートである。なお、図７に示す処理例では、中間コード画像データはそれぞれの主走査ライン毎に描画開始点と終了点あるいはランレングスとの組（エッジリスト）を１ないし複数組保持しているものとする。
【００４９】
Ｓ４１において、中間コードメモリ１２に格納されている中間コード画像データを１つ取り出し、そのヘッダ部の情報を解析する。このヘッダ部には、図４や図５に示したようにＲＧＢの色情報や高解像度化の処理のための黒色の情報、色指定有効／無効情報などが含まれている。Ｓ４２において色指定有効／無効情報を調べ、色情報が有効か否かを判定する。色情報が有効であれば、中間コード画像データ中のボディ部に格納されているそれぞれのエッジリストについて、Ｓ４３〜Ｓ４７の処理を繰り返す。また、それぞれのエッジリストについて、描画開始点から描画終了点までの画素数、あるいはランレングスで指定された画素数だけＳ４４〜Ｓ４６を繰り返し、Ｓ４５において、それぞれの画素について図６（Ａ）に示したようにＲＧＢの色情報と属性情報をバンドバッファ１４に書き込む。
【００５０】
また、Ｓ４２で色指定有効／無効情報が色情報を無効とする設定であると判定された場合には、それぞれのエッジリストについてＳ４８〜Ｓ５２を繰り返し、またエッジリスト中のそれぞれの画素についてＳ４９〜Ｓ５１を繰り返し、Ｓ５０において、図６（Ｂ）に示したように１画素について属性情報のみをバンドバッファ１４に書き込む。この場合、ＲＧＢの色情報の部分はそのまま残しておく。
【００５１】
このように、色指定有効／無効情報に従ってＳ４３〜Ｓ４７またはＳ４８〜Ｓ５２の処理を、それぞれの中間コード画像データについて実行する。そして、１バンド分の中間コード画像データについて順に上述の処理を行うことによって、バンドバッファ１４に１バンド分の画像が描画されることになる。
【００５２】
図７に示した処理の一例では、単純に上書き描画を行う場合について示しているが、描画命令において論理演算が指定されている場合もある。図８、図９は、論理演算を伴うレンダリング処理の一例を示すフローチャートである。なお、ここでは中間コード画像データによりバンドバッファ１４に書き込む描画オブジェクトの種類は、高解像度化の処理のための黒色の情報を伴わない通常の描画オブジェクトであるものとする。また、ここでは論理演算の一例として、デスティネーション画像とソース画像の間で論理演算を行うものとし、新たに中間コード画像データから得られる画像をソース画像、すでにバンドバッファ１４に書き込まれている画像をデスティネーション画像とする。もちろん２つの画像間の論理演算に限らず、ペン、マスクなどと呼ばれる画像情報を用いる場合であってもよい。
【００５３】
中間コード画像データを１つ取り出し、その中間コード画像データに登録されているそれぞれのエッジリスト毎にＳ６１〜Ｓ８０の処理を繰り返し、また１つのエッジリストにより描画するそれぞれの画素毎にＳ６２〜Ｓ７９の処理を繰り返す。
【００５４】
Ｓ６３において、バンドバッファ１４に書き込まれているビットマップイメージの属性情報から、描画オブジェクトの種類が「グレイフォント」や「グレイライン」などのように高解像度化処理のための黒色の情報を保持している描画オブジェクトの種類であるか否かを判定する。
【００５５】
バンドバッファ１４に書き込まれているビットマップイメージの描画オブジェクトの種類が「グレイフォント」や「グレイライン」などでなければ、通常の論理演算を伴う描画処理を行う。すなわち、Ｓ６４においてバンドバッファ１４に格納されているビットマップイメージの色情報をデスティネーションとし、また中間コード画像データから得られる色情報をソースとして、指示された論理演算をＳ６５において実行する。Ｓ６６において、演算結果をバンドバッファ１４に書き込み、１画素の論理演算を伴う描画処理を終了する。これによって、描画オブジェクトの種類が「グレイフォント」や「グレイライン」などでない場合の論理演算を伴う１画素の描画処理が行われる。
【００５６】
バンドバッファ１４に書き込まれているビットマップイメージの描画オブジェクトの種類が「グレイフォント」や「グレイライン」などの場合には、ＲＧＢの色情報と黒色の情報とについて、それぞれ、論理演算を実行する。そして、その結果に応じてイメージバッファ１４への書き込みを行う。
【００５７】
すなわち、まずＳ６７においてバンドバッファ１４に格納されているビットマップイメージの色情報をデスティネーションとし、また中間コード画像データから得られる色情報をソースとして、指示された論理演算をＳ６８において実行し、Ｓ６９において、演算結果の色情報をバンドバッファ１４に書き込む。これは、背景色に対する論理演算であり、周囲の色との一致性を保証するためのものである。
【００５８】
さらに、バンドバッファ１４に書き込まれているビットマップイメージ中の高解像度化処理のための黒色の情報について、論理演算を行う。Ｓ７０において、バンドバッファ１４に書き込まれている属性情報中の黒色の情報からＲＧＢの色情報を算出し、これをデスティネーションとする。また中間コード画像データから得られる色情報をソースとして、指示された論理演算をＳ７１において行う。
【００５９】
このようにしてバンドバッファ１４に書き込まれている属性情報中の高解像度化処理のための黒色の情報とビットマップイメージの色情報とについてそれぞれ論理演算を行う。そして、論理演算の結果をバンドバッファ１４に書き戻す際には、ここでは黒色の情報に対して行った論理演算の結果に基づいて行う。高解像度化処理を行わなければ、当該画素はグレイ色（黒色）によって描画されていた画素であるので、黒色の情報に対して行った論理演算の結果を優先するためである。
【００６０】
Ｓ７２において、黒色の情報に対して行った論理演算の結果をＲ’Ｇ’Ｂ’とするとき、Ｒ’＝Ｇ’＝Ｂ’であるか否かを判定する。Ｒ’＝Ｇ’＝Ｂ’であれば、論理演算の結果はグレイ色であるので、黒色の情報を保持して良いことが想定される。この場合、さらにＳ７３において、論理演算前のＲＧＢ（Ｒ＝Ｇ＝Ｂ）の値と論理演算後のＲ’Ｇ’Ｂ’（Ｒ’＝Ｇ’＝Ｂ’）の値を比較する。値の比較はＲ＝Ｇ＝Ｂ及びＲ’＝Ｇ’＝Ｂ’であるので、Ｒ成分、Ｇ成分、Ｂ成分のいずれを比較しても良いが、ここでは論理演算前のＲと論理演算後のＲ’を比較している。比較の結果、両者が同じ値であれば演算前の黒色の情報をそのまま保持すればよい。従って、属性情報のバンドバッファ１４への書き込みは行わない。
【００６１】
また、論理演算前のＲと論理演算後のＲ’を比較した結果、等しくない場合には、論理演算によってグレイ色としての濃度が変更されることになる。このような場合には、Ｓ７４において論理演算後のＲ’（＝Ｇ’＝Ｂ’）から改めて高解像度化処理のための黒色の情報を作成し、属性情報としてバンドバッファ１４に書き込む。
【００６２】
Ｓ７２でＲ＝Ｇ＝Ｂではない（例えばＲ≠ＧやＲ≠Ｂなど）場合には、論理演算によってグレイ（黒）以外の色に変更されることを示している。従って、論理演算結果を当該画素の色情報として保持する必要がある。そのためＳ７５において、論理演算後の色情報をバンドバッファ１４に書き込む。これによって、Ｓ６９で書き込まれた背景色を用いた論理演算結果は無効となる。
【００６３】
また、Ｓ７６で中間コード画像データの描画オブジェクトの種類が「グレイフォント」か否かを判定し、「グレイフォント」であればＳ７７で描画オブジェクトの種類を「フォント」に変更するとともに色指定有効／無効情報を有効に設定し、属性情報をバンドバッファ１４に書き込む。また、中間コード画像データの描画オブジェクトの種類が「グレイライン」であれば、Ｓ７８において描画オブジェクトの種類を「グラフィックス」に変更するとともに色指定有効／無効情報を有効に設定し、属性情報をバンドバッファ１４に書き込む。
【００６４】
このようにして、１画素分の論理演算処理を伴う描画処理を行うことができる。このＳ６３〜Ｓ７８の処理を、エッジリストによって指定される区間あるいはランレングスで指定された画素数だけＳ６２〜Ｓ７９で繰り返し、さらに、このような処理をそれぞれのエッジリストについてＳ６１〜Ｓ８０で繰り返す。これによって、１つの中間コード画像データについての論理演算を伴う描画処理を行うことができる。
【００６５】
上述のバンドバッファ１４に書き込まれているビットマップイメージの描画オブジェクトの種類が「グレイフォント」や「グレイライン」などの場合の１画素の処理について、例を用いて説明する。図１０は、バンドバッファ１４に書き込まれているビットマップイメージが属性情報として黒色の情報を含む場合の論理演算処理の一例の説明図である。図１０において、色の違いはハッチングを異ならせて示している。図１０では、論理演算結果においても高解像度化処理のための黒色の情報を保持する場合を示している。いま、バンドバッファ１４には図１０（Ａ）に示すように右下の１／４を描画する黒色の情報が属性情報として保持され、また背景色が色情報として保持されているものとする。そして、図１０（Ｂ）に示す中間コード画像データから得られる色情報との間で論理演算を行うものとする。
【００６６】
この場合、図８のＳ６７〜Ｓ６９で説明したように、まず、背景色について論理演算を行う。すなわち、図１０（Ｄ）に示すようにバンドバッファ１４に書き込まれているビットマップイメージのＲＧＢの色情報をデスティネーションとし、図１０（Ｅ）に示すように中間コード画像データから得られる色情報をソースとして論理演算を行う。これによって図１０（Ｆ）に示す色情報が得られる。とりあえず、この論理演算によって得られた色情報をバンドバッファ１４に書き込む。
【００６７】
また、図１０（Ｇ）に示す黒色の情報は、そのままではＲＧＢの色情報ではないため、Ｒ＝Ｇ＝Ｂの色情報に変換する。そして、変換したＲ＝Ｇ＝Ｂの色情報をデスティネーションとし、図１０（Ｈ）に示す中間コード画像データから得られる色情報をソースとして論理演算を行う。この例では論理演算後もＲ’＝Ｇ’＝Ｂ’の関係が保たれ、さらにＲ＝Ｒ’の場合を示しており、図１０（Ｉ）に示すように図１０（Ｇ）と同じ黒色の情報が得られる。この場合には、もともと図１０（Ｉ）と同じ黒色の情報がすでに書き込まれていることから、図１０（Ｉ）に示す論理演算後の黒色の情報はバンドバッファ１４には書き込まないことによって、処理を高速化する。黒色の情報をバンドバッファ１４に書き込まなくても、論理演算後の画素は図１０（Ｃ）に示すように黒色の情報および論理演算後の背景色を有することになる。
【００６８】
なお、論理演算後もＲ’＝Ｇ’＝Ｂ’の関係が保たれているがＲ≠Ｒ’である場合には、Ｒ’（またはＧ’、Ｂ’）から新たに生成した黒色の情報を属性情報としてバンドバッファ１４に書き込むことになる。具体例として論理演算の一つである反転を考えると、図１０（Ｇ）のパターンは図１３からＲ＝Ｇ＝Ｂ＝６５（＝０１０００００１（２進８ビット））の値を持つ色情報に変換される。そして、この色情報に対して反転の論理演算を行う。論理演算の結果としてＲ’＝Ｇ’＝Ｂ’＝１９０（＝１０１１１１１０（２進８ビット））が得られる。論理演算の前後で値が異なるので、Ｒ’の値（＝１９０）から黒色の情報を得ることになる。図１３を参照して分かるように、値１９０の形状は、値６５の形状を反転したものとなる。このように、論理演算後も反転したエッジの形状を保持することになる。
【００６９】
図１１は、バンドバッファ１４に書き込まれているビットマップイメージが属性情報として黒色の情報を含む場合の論理演算処理の別の例の説明図である。図１１においても、色の違いはハッチングを異ならせて示している。図１１では、論理演算の結果、別の色に変更されてしまう場合を示している。いま、バンドバッファ１４には図１１（Ａ）に示すように右下の１／４を描画する黒色の情報が属性情報として保持され、また背景色が色情報として保持されているものとする。そして、図１１（Ｂ）に示す中間コード画像データから得られる色情報との間で論理演算を行うものとする。
【００７０】
この場合も、まず背景色について論理演算を行う。すなわち、図１１（Ｄ）に示すようにバンドバッファ１４に書き込まれているビットマップイメージのＲＧＢの色情報をデスティネーションとし、図１１（Ｅ）に示すように中間コード画像データから得られる色情報をソースとして論理演算を行う。これによって図１１（Ｆ）に示す色情報が得られる。とりあえず、この論理演算によって得られた色情報をバンドバッファ１４に書き込む。
【００７１】
また、図１１（Ｇ）に示す黒色の情報は、そのままではＲＧＢの色情報ではないため、Ｒ＝Ｇ＝Ｂの色情報に変換する。そして、変換したＲ＝Ｇ＝Ｂの色情報をデスティネーションとし、図１１（Ｈ）に示す中間コード画像データから得られる色情報をソースとして論理演算を行う。この例では論理演算後のＲ’、Ｇ’、Ｂ’はＲ’＝Ｇ’＝Ｂ’の関係を満たしていないとする。例えばＢ’≠Ｇ’であったり、Ｇ’≠Ｒ’である場合、Ｒ’＝Ｇ’＝Ｂ’の関係を満たさなくなる。このような場合には、図１１（Ｉ）に論理演算結果を示しているが、この論理演算結果をバンドバッファ１４にビットマップイメージの色情報として書き込む。これによって、図１１（Ｆ）に示した背景色に対する論理演算結果は上書きされて無効となる。演算結果としては図１１（Ｃ）に示すように、図１１（Ｉ）に示した論理演算結果となる。なお、この場合には、描画オブジェクトの種類を「グレイフォント」から「フォント」へ、あるいは「グレイライン」から「グラフィックス」へ変更する。これによって、黒色の情報は参照されなくなり、右下１／４の黒の描画は行われなくなる。よって図１１（Ｉ）に示すような論理演算結果が得られる。
【００７２】
なお、上述の論理演算を伴う描画処理の例では、中間コード画像データは黒色の情報を伴わないものとして説明しているが、中間コード画像データが黒色の情報を伴う場合には、中間コード画像データの黒色の情報をＲ＝Ｇ＝Ｂの色情報に変換してソースとし、論理演算を行えばよい。あるいは、中間コード画像データが黒色の情報を伴っている場合には上書き描画のみとしてもよい。
【００７３】
図１２は、本発明の実施の一形態における色変換処理の一例を示すフローチャートである。上述のようにして例えば１バンド分の中間コード画像データに従ったレンダリング処理が終了すると、バンドバッファ１４にはＲＧＢ色空間の色情報と属性情報を有するビットマップイメージが書き込まれている。例えば印字装置３がＣＭＹＫ色空間の色情報を必要とする場合、ＲＧＢ色空間からＣＭＹＫ色空間への変換が必要になる。色変換部３４は、この色空間の変換を行う。
【００７４】
色変換部３４は、Ｓ９１〜Ｓ９６の処理を１バンド分のそれぞれの画素について行う。Ｓ９２において、当該画素の描画オブジェクトの種類が「グレイフォント」または「グレイライン」であるか否かを判定する。これらの描画オブジェクトの種類である場合には、Ｓ９３において、背景色となるＲＧＢ色空間の色情報を、ＣＭＹ色空間の色情報に変換する。この場合には、Ｋを用いないように変換する。そして、Ｓ９４において属性情報中の高解像度化処理のための黒色の情報に基づいてＫの値を決定する。これによって、高解像度化処理のための黒色の情報とともに背景色を残したまま、色変換を行うことができる。
【００７５】
また、当該画素の描画オブジェクトの種類が「グレイフォント」または「グレイライン」以外の場合には、Ｓ９５において、ＲＧＢ色空間の色情報を、ＣＭＹＫ色空間の色情報に変換すればよい。
【００７６】
このようにして色変換されたビットマップイメージは、さらに必要に応じて点面変換部３５において点順次の情報を面順次の情報に変換する点面変換処理を行った後、出力制御部１５がビットマップイメージを印字装置３などに出力する。このとき、Ｋ色の情報として高解像度化処理のための黒色の情報が格納されている場合には、印字装置３を制御して、その画素について局所的に高解像度化のための処理を行う。例えばパルス幅変調方式を用いる場合には、パルスの種類や閾値などの制御を行うことによって、擬似的に高解像度で画素を形成することができる。
【００７７】
以上、本発明の実施の一形態について説明したが、本発明はこの実施の形態に限られるものではなく、種々の変形が可能である。例えば上述の説明では、バンド毎に中間コード画像データを生成してからレンダリング処理を行っているが、例えばページ単位にレンダリングしたり、中間コード画像データを生成せずに描画命令から直接、レンダリング処理を行うように構成しても良い。
【００７８】
【発明の効果】
以上の説明から明らかなように、本発明によれば、高解像度化の処理に対応して高画質の画像を形成することができるとともに、その際の白抜けを防止し、画質を向上させることができる。また、レンダリング処理時には背景色を意識する必要がないため、白抜けを防止するための処理を高速に実行することができる。さらに、高解像度化の処理のための黒色の情報を保存しながら、論理演算を伴う描画処理も正確に行うことができる。このように、全体として高速に、しかも高画質の画像を得ることができるという効果がある。
【図面の簡単な説明】
【図１】本発明の実施の一形態を示す機能ブロック図である。
【図２】本発明の実施の一形態における、より具体的な機能ブロック図である。
【図３】従来の中間コード画像データの一例の説明図である。
【図４】本発明において用いる中間コード画像データの一例の説明図である。
【図５】本発明において用いる中間コード画像データの別の例の説明図である。
【図６】バンドバッファへの書き込み処理の一例の説明図である。
【図７】本発明の実施の一形態における基本的なレンダリング処理の一例を示すフローチャートである。
【図８】論理演算を伴うレンダリング処理の一例を示すフローチャートである。
【図９】論理演算を伴うレンダリング処理の一例を示すフローチャート（続き）である。
【図１０】バンドバッファ１４に書き込まれているビットマップイメージが属性情報として黒色の情報を含む場合の論理演算処理の一例の説明図である。
【図１１】バンドバッファ１４に書き込まれているビットマップイメージが属性情報として黒色の情報を含む場合の論理演算処理の別の例の説明図である。
【図１２】本発明の実施の一形態における色変換処理の一例を示すフローチャートである。
【図１３】パルス幅変調方式における画像形成位置の一例の説明図である。
【図１４】パルス幅変調方式により描画された画像の一例の拡大図である。
【図１５】パルス幅変調方式を適用した場合の白抜けへの対応の説明図である。
【符号の説明】
１…上位処理装置、２…画像処理装置、３…印字装置、１１…中間コード生成部、１２…中間コードメモリ、１３…中間コード画像データ展開部、１４…バンドバッファ、１５…出力制御部、２１…入力制御部、２２…描画命令解釈部、２３…中間コード画像データ生成部、３１…中間コード画像データ解釈部、３２…圧縮／伸長処理部、３３…縮小／拡大処理部、３４…色変換部、３５…点面変換部。
【図１】
2004334533.tif 000003
【図２】
2004334533.tif 000004
【図３】
2004334533.tif 000005
【図４】
2004334533.tif 000006
【図５】
2004334533.tif 000007
【図６】
2004334533.tif 000008
【図７】
2004334533.tif 000009
【図８】
2004334533.tif 000010
【図９】
2004334533.tif 000011
【図１０】
2004334533.tif 000012
【図１１】
2004334533.tif 000013
【図１２】
2004334533.tif 000014
【図１３】
2004334533.tif 000015
【図１４】
2004334533.tif 000016
【図１５】
2004334533.tif 000017