(57)【要約】【課題】  属性の異なるソースとデスティネーションとが合成される場合でも、後続の処理（色変換など）が適切に行われるようにする。【解決手段】  ＰＤＬ解析部３１は、入力データから複数のオブジェクトを生成し、レンダリング処理部３２は、所定の複数の属性のそれぞれについてそれぞれ多値データである複数の属性レートを画素ごとに設け、複数のオブジェクトのうち、ある画素について、属性の異なるオブジェクトを合成する際に、ソースとなるオブジェクトの属性および合成時の混合割合に応じて、その画素についての複数の属性レートの少なくとも２つを更新する。【選択図】  図１
2011130052.tif 000002
【特許請求の範囲】
【請求項１】
入力データから複数のオブジェクトを生成するオブジェクト生成部と、
所定の複数の属性のそれぞれについてそれぞれ多値データである複数の属性レートを画素ごとに設け、ある画素について、前記複数のオブジェクトのうち、属性の異なるオブジェクトを合成する際に、ソースとなるオブジェクトの属性および合成時の混合割合に応じて、その画素についての前記複数の属性レートの少なくとも２つを更新するレンダリング処理部と、
を備えることを特徴とする画像形成装置。
【請求項２】
前記レンダリング処理部により生成されたビットマップ画像データの色変換を前記複数の属性のそれぞれに対応して行い、前記複数の属性のそれぞれの前記属性レートに基づいて、前記複数の属性のそれぞれの色変換後のデータに対して補正を行い、前記複数の属性のそれぞれの補正後のデータを合成する色変換部を備えることを特徴とする請求項１記載の画像形成装置。
【請求項３】
前記レンダリング処理部は、最初に合成するオブジェクトの画素についての前記複数の属性レートのうち、前記オブジェクトの属性についての属性レートの初期値を１００パーセントとし、前記オブジェクトの属性以外の属性についての属性レートの初期値をゼロパーセントとし、前記ソースとなるオブジェクトの属性についての属性レートに前記混合割合を加算するとともに、１から前記混合割合を減算した値を前記複数の属性レートのそれぞれに乗じて、前記複数の属性レートを更新することを特徴とする請求項１または請求項２記載の画像形成装置。
【請求項４】
前記レンダリング処理部は、ソースとなるオブジェクトの属性、合成時の混合割合、ソース濃度値、およびデスティネーション濃度値に応じて、前記複数の属性レートの少なくとも２つを更新することを特徴とする請求項１または請求項２記載の画像形成装置。
【請求項５】
前記レンダリング処理部は、最初に合成するオブジェクトの画素についての前記複数の属性レートのうち、前記オブジェクトの属性についての属性レートの初期値を１００パーセントとし、前記オブジェクトの属性以外の属性についての属性レートの初期値をゼロパーセントとし、前記ソースとなるオブジェクトの属性についての属性レートに、前記混合割合とソース濃度係数との積を加算するとともに、１から前記混合割合を減算した値およびデスティネーション濃度係数を前記複数の属性レートのそれぞれに乗じて、前記複数の属性レートを更新し、
前記ソース濃度係数は、前記ソース濃度値と前記混合割合による前記ソース濃度値および前記デスティネーション濃度値の加重平均値との商であり、
前記デスティネーション濃度係数は、前記デスティネーション濃度値と前記加重平均値との商であること、
を特徴とする請求項４記載の画像形成装置。
【請求項６】
前記レンダリング処理部によるレンダリング処理の途中において、画素ごとに画素値を保持する中間バッファを備え、
前記複数の属性レートの合計値は一定であり、
前記複数の属性レートの数をＮとすると、前記中間バッファは、画素ごとに、前記複数の属性レートのうちの（Ｎ−１）個の属性レートのみを保持すること、
を特徴とする請求項１記載の画像形成装置。
【請求項７】
前記複数の属性は、イメージ、ベクタ図形およびテキストという３つのオブジェクト種別のうちの少なくとも２つであることを特徴とする請求項１から請求項６のうちのいずれか１項記載の画像形成装置。
【請求項８】
入力データから複数のオブジェクトを生成するステップと、
所定の複数の属性のそれぞれについてそれぞれ多値データである複数の属性レートを画素ごとに設け、ある画素について、前記複数のオブジェクトのうち、属性の異なるオブジェクトを合成する際に、ソースとなるオブジェクトの属性および合成時の混合割合に応じて、その画素についての前記複数の属性レートの少なくとも２つを更新するステップと、
を備えることを特徴とする画像形成方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像形成装置および画像形成方法に関するものである。
【背景技術】
【０００２】
従来から、画像形成装置（プリンタ、コピー機、複合機等）、画像表示装置（ディスプレイ等）などは、複数の画像を種々の態様で合成した画像を形成または表示することができる。
【０００３】
例えば、背景画像などの画像に別の画像（イメージデータによる画像、テキストデータによる画像など）を合成する場合、合成すべき画像は一般に「ソース」と呼ばれ、「ソース」を合成される画像は一般に「デスティネーション」と呼ばれる。
【０００４】
ソースには、表示すべき何らかの画像が含まれる画像領域と、表示すべき画像が含まれない無画像領域とが存在する。そのため、画像領域については、所定の混合割合に従ってソースをデスティネーションに重畳し、無画像領域については、ソースを透明と見做してデスティネーションをそのまま残すようにして、ソースとデスティネーションとの合成処理が行われる。一般に、この合成処理は「アルファブレンド処理」と呼ばれる。アルファブレンド処理では、ソースの透過率が０〜１００パーセントのいずれかに設定され、その透過率に従って、合成後の各画素の値（例えばＲＧＢ値）が計算される。
【０００５】
他方、ある画像形成装置では、プリンタエンジンにより形成される画像が良好になるように、例えばＲＧＢからＣＭＹＫなどへの色変換処理において、テキスト画像（フォント画像）、写真画像（イメージ画像）およびグラフィクス画像（ベクタ図形画像）といったオブジェクトの属性ごとに異なる処理が行われる。これにより、例えば、写真画像の滑らかなグラデーションが忠実に表現される。そのため、そのような画像形成装置では、各オブジェクトについて属性（イメージ、テキストおよびベクタのいずれか）を示す属性情報が保持され、あるオブジェクトについて、そのオブジェクトの属性情報が示す属性に対して最適な処理で色変換が行われる。
【０００６】
ところが、アルファブレンド処理において、ソースとデスティネーションとでオブジェクトの属性が異なる場合がある。その場合、色変換処理やスクリーン処理において、ソースの属性とデスティネーションの属性のいずれに適合した処理を行うかが問題となる。
【０００７】
第１の処理方法では、画素ごとに、ラスタイメージオブジェクトかベクタグラフィックオブジェクトかを示すフラグを用意し、ソースのフラグ値とデスティネーションのフラグ値のＡＮＤ（論理積）を合成後の画素のフラグ値とし、そのフラグ値に従って、後続の処理が行われる（例えば特許文献１参照）。
【０００８】
第２の処理方法では、イメージとベクタ図形とが合成される部分が存在する場合、画像電体を単一の属性（イメージまたはベクタ図形）に統一させる（例えば特許文献２参照）。
【０００９】
第３の処理方法では、属性の異なるソースとデスティネーションとが合成される場合、混合割合に基づいてソースの濃度値とデスティネーションの濃度値を算出し、濃度値の高いものの属性が、合成後の属性として使用される（例えば特許文献３参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第４１８１７１６号公報
【特許文献２】特開２００２−３１２１４１号公報
【特許文献３】特開２００８−１２３１２６号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
上述の処理方法では、属性の異なるソースとデスティネーションとが合成される場合、合成後の属性には、ソースの属性かデスティネーションの属性が選択され使用される。このため、属性の異なるソースとデスティネーションとが合成された画像領域について後続の処理（色変換など）が適切に行われない可能性がある。
【００１２】
例えば、図１１に示すように例えば０〜１００％の透過率グラデーションを有するオブジェクトがソースである場合（つまり、ソースのオブジェクト内の透過率が変化している場合）、属性の異なるソースとデスティネーションとが合成された画像領域において、ある透過率以下の部分の属性とそれ以外の部分の属性とが異なることになり、隣接するそれらの部分の境界において不連続に色変換等の処理方式が変更され、合成後の画像が忠実に表現されない可能性がある。
【００１３】
また、３つ以上のオブジェクトが順次合成される場合、最初に合成したソースとデスティネーションのいずれかのオブジェクトの属性が、合成途中で失われて最後の合成結果に全く反映されず、合成後の画像が忠実に表現されない可能性がある。
【００１４】
本発明は、上記の問題に鑑みてなされたものであり、属性の異なるソースとデスティネーションとが合成される場合でも、後続の処理（色変換など）が適切に行われる画像形成装置および画像形成方法を得ることを目的とする。
【課題を解決するための手段】
【００１５】
上記の課題を解決するために、本発明では以下のようにした。
【００１６】
本発明に係る画像形成装置は、入力データから複数のオブジェクトを生成するオブジェクト生成部と、所定の複数の属性のそれぞれについてそれぞれ多値データである複数の属性レートを画素ごとに設け、ある画素について、複数のオブジェクトのうち、属性の異なるオブジェクトを合成する際に、ソースとなるオブジェクトの属性および合成時の混合割合に応じて、その画素についての複数の属性レートの少なくとも２つを更新するレンダリング処理部とを備える。
【００１７】
これにより、フラグなどの２値データではない多値データである複数の属性レートにより、属性の異なる各オブジェクトの影響の度合いがレンダリング処理完了時まで保持される。このため、この属性レートを後続の処理に使用することで、属性の異なるソースとデスティネーションとが合成される場合でも、後続の処理が適切に行われる。
【００１８】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、画像形成装置は、レンダリング処理部により生成されたビットマップ画像データの色変換を複数の属性のそれぞれに対応して行い、複数の属性のそれぞれの属性レートに基づいて、複数の属性のそれぞれの色変換後のデータに対して補正を行い、複数の属性のそれぞれの補正後のデータを合成する色変換部をさらに備える。
【００１９】
これにより、複数の属性の属性レートを色変換に使用することで、属性の異なるソースとデスティネーションとが合成されている画素についても色変換が適切に行われる。
【００２０】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、レンダリング処理部は、最初に合成するオブジェクトの画素についての複数の属性レートのうち、オブジェクトの属性についての属性レートの初期値を１００パーセントとし、オブジェクトの属性以外の属性についての属性レートの初期値をゼロパーセントとし、ソースとなるオブジェクトの属性についての属性レートに混合割合を加算するとともに、１から混合割合を減算した値を複数の属性レートのそれぞれに乗じて、複数の属性レートを更新する。
【００２１】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、レンダリング処理部は、ソースとなるオブジェクトの属性、合成時の混合割合、ソース濃度値、およびデスティネーション濃度値に応じて、複数の属性レートの少なくとも２つを更新する。
【００２２】
これにより、ソース濃度値およびデスティネーション濃度値が考慮されて属性レートが更新されるため、色変換などの後続の処理がより適切に行われる（つまり、視覚上より自然な印象を与えるように色変換などの後続の処理が行われる）。
【００２３】
また、本発明に係る画像形成装置は、上記の画像形成装置に加え、次のようにしてもよい。この場合、レンダリング処理部は、最初に合成するオブジェクトの画素についての複数の属性レートのうち、オブジェクトの属性についての属性レートの初期値を１００パーセントとし、オブジェクトの属性以外の属性についての属性レートの初期値をゼロパーセントとし、ソースとなるオブジェクトの属性についての属性レートに、混合割合とソース濃度係数との積を加算するとともに、１から混合割合を減算した値およびデスティネーション濃度係数を複数の属性レートのそれぞれに乗じて、複数の属性レートを更新する。そして、ソース濃度係数は、ソース濃度値と混合割合によるソース濃度値およびデスティネーション濃度値の加重平均値との商であり、デスティネーション濃度係数は、デスティネーション濃度値と加重平均値との商である。
【００２４】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、レンダリング処理部によるレンダリング処理の途中において、画素ごとに画素値を保持する中間バッファを備える。そして、複数の属性レートの合計値は一定であり、複数の属性レートの数をＮとすると、中間バッファは、画素ごとに、複数の属性レートのうちの（Ｎ−１）個の属性レートのみを保持する。
【００２５】
これにより、中間バッファに要求される容量が少なくなる。
【００２６】
また、本発明に係る画像形成装置は、上記の画像形成装置のいずれかに加え、次のようにしてもよい。この場合、複数の属性は、イメージ、ベクタ図形およびテキストという３つのオブジェクト種別のうちの少なくとも２つである。
【００２７】
本発明に係る画像形成方法は、入力データから複数のオブジェクトを生成するステップと、所定の複数の属性のそれぞれについてそれぞれ多値データである複数の属性レートを画素ごとに設け、複数のオブジェクトのうち、ある画素について、属性の異なるオブジェクトを合成する際に、ソースとなるオブジェクトの属性および合成時の混合割合に応じて、その画素についての複数の属性レートの少なくとも２つを更新するステップとを備える。
【００２８】
これにより、フラグなどの２値データではない多値データである複数の属性レートにより、属性の異なる各オブジェクトの影響の度合いがレンダリング処理完了時まで保持される。このため、この属性レートを後続の処理に使用することで、属性の異なるソースとデスティネーションとが合成される場合でも、後続の処理が適切に行われる。
【発明の効果】
【００２９】
本発明によれば、画像形成装置および画像形成方法において、属性の異なるソースとデスティネーションとが合成される場合でも、後続の処理（色変換など）が適切に行われる。
【図面の簡単な説明】
【００３０】
【図１】図１は、本発明の実施の形態１に係る画像形成装置の構成を示すブロック図である。
【図２】図２は、図１における色変換部の構成を示すブロック図である。
【図３】図３は、図１に示す画像形成装置の動作について説明するフローチャートである。
【図４】図４は、図３におけるレンダリング処理の詳細について説明するフローチャートである。
【図５】図５は、実施の形態１において、中間バッファに保持される各画素の画素値および属性レートのデータ構造の一例を示す図である。
【図６】図６は、いずれのオブジェクトも合成されていないビットマップ画像とそのビットマップ画像が得られている時点での各画素についての属性レートの例を示す図である。
【図７】図７は、１つのイメージオブジェクトが合成されたビットマップ画像とそのビットマップ画像が得られている時点での各画素についての属性レートの例を示す図である。
【図８】図８は、１つのイメージオブジェクトおよび１つのベクタ図形オブジェクトが合成されたビットマップ画像とそのビットマップ画像が得られている時点での各画素についての属性レートの例を示す図である。
【図９】図９は、１つのイメージオブジェクト、１つのベクタ図形オブジェクトおよび１つのテキストオブジェクトが合成されたビットマップ画像とそのビットマップ画像が得られている時点での各画素についての属性レートの例を示す図である。
【図１０】図１０は、実施の形態２において、中間バッファに保持される各画素の画素値および属性レートのデータ構造の一例を示す図である。
【図１１】図１１は、透過率グラデーションを有するオブジェクトがソースである場合の画像合成の例を示す図である。
【発明を実施するための形態】
【００３１】
以下、図に基づいて本発明の実施の形態を説明する。
【００３２】
実施の形態１．
【００３３】
図１は、本発明の実施の形態１に係る画像形成装置の構成を示すブロック図である。
【００３４】
図１に示す画像形成装置１は、プリンタ、コピー機、ファクシミリ装置、それらの複合機などといった装置である。画像形成装置１は、印刷装置１１、記憶装置１２、インタフェース１３および演算処理装置１４を有する。
【００３５】
印刷装置１１は、印刷データに基づいて文書画像を印刷する内部装置である。なお、コピー機の場合には、他の内部装置としてスキャナを備える。また、ファクシミリ装置の場合には、他の内部装置としてモデムを備える。
【００３６】
記憶装置１２は、各種プログラムおよび各種データを格納可能な装置である。記憶装置１２としては、ハードディスクドライブ、不揮発性メモリなどの不揮発性の記憶媒体が使用される。
【００３７】
インタフェース１３は、ＵＳＢメモリ、メモリカードなどの可搬性のある記録媒体、パーソナルコンピュータといったホスト装置などを接続可能な回路である。インタフェース１３としては、例えば、ＵＳＢインタフェース、メモリカードリーダなどが使用される。メモリカードとしては、ＳＤカード、ＣＦカードなどがある。
【００３８】
演算処理装置１４は、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などを有するコンピュータであり、記憶装置１２、ＲＯＭなどからＲＡＭへプログラムをロードし、そのプログラムをＣＰＵで実行することにより、各種処理部を実現する。この実施の形態では、演算処理装置１４において、通信制御部２１、入力バッファ２２、制御部２３および画像処理部２４が実現される。
【００３９】
通信制御部２１は、インタフェース１３を制御して、ＰＤＬ（Page Description Language）で記述された入力データを受信する処理部である。
【００４０】
入力バッファ２２は、ＲＡＭ上に確保され、受信された入力データを一時的に保存する記憶領域である。
【００４１】
制御部２３は、受信された入力データに基づき、画像処理および画像形成を画像処理部２４および印刷装置１１に実行させる処理部である。
【００４２】
画像処理部２４は、受信された入力データを解析し、入力データからオブジェクトを生成し、それらのオブジェクトを合成してビットマップ画像データを生成し、ビットマップ画像データに対して色変換処理およびスクリーン処理を行い、各色の２値化データを印刷装置１１に出力する処理部である。
【００４３】
画像処理部２４は、ＰＤＬ解析部３１、レンダリング処理部３２、中間バッファ３３、色変換部３４、およびスクリーン処理部３５を有する。
【００４４】
ＰＤＬ解析部３１は、ＰＤＬで記述された入力データを入力バッファ２２から取得し、その入力データを解釈してオブジェクトを生成する処理部である。オブジェクトは、画像として描画すべき１つ１つの要素であり、ここでは、イメージ（ラスタ画像）、ベクタ図形およびテキストのいずれかの属性を有する。
【００４５】
レンダリング処理部３２は、生成された複数のオブジェクトからビットマップ画像データを生成する処理部である。さらに、このレンダリング処理部３２は、ビットマップ画像データにおける各画素について、画素値とともに、イメージ（ラスタ画像）、ベクタ図形およびテキストの３つの属性についてそれぞれの属性レート（イメージ属性レート、ベクタ属性レートおよびテキスト属性レート）を計算する。
【００４６】
このレンダリング処理部３２は、所定の複数の属性のそれぞれについてそれぞれ多値データである複数の属性レートを画素ごとに設け、ある画素について、属性の異なるオブジェクトを合成する際に、ソースとなるオブジェクトの属性および合成時の混合割合に応じて、その画素についての複数の属性レートの少なくとも２つを更新する。
【００４７】
中間バッファ３３は、ＲＡＭ上に確保され、レンダリング処理部３２によるレンダリング処理の途中において、画素ごとに画素値および属性レートを保持する記憶領域である。
【００４８】
ここで、属性レートについて説明する。
【００４９】
この実施の形態１では、オブジェクトの属性としてイメージ、ベクタ図形およびテキストの３つが規定されているため、各画素についての３つの属性レートが設けられている。属性レートは、各画素に対して設けられており、その画素を構成するオブジェクトの属性の割合を示す多値データである。
【００５０】
つまり、１つのオブジェクトのみの画素については、そのオブジェクトの属性の属性レートが１００パーセントとなり、他の属性の属性レートは０パーセントとなる。また、同一属性の複数のオブジェクトが合成された画素については、その属性の属性レートが１００パーセントとなり、他の属性の属性レートは０パーセントとなる。また、異なる属性の複数のオブジェクトが合成されている画素については、合成時の混合割合（つまり、アルファ値）を考慮して、新たに合成されるオブジェクト（つまりソース）の属性に応じて、少なくとも２つの属性レートの値が更新される。デスティネーションの画素が単一属性の１または複数のオブジェクトのみから得られている場合、その属性の属性レートとソースの属性の属性レートのみが更新される。デスティネーションの画素がソースの属性とは異なる複数属性の複数のオブジェクトから得られている場合、３つ以上（ここでは３つ）の属性レートが更新される。
【００５１】
色変換部３４は、レンダリング処理部３２により生成されたカラービットマップ画像データの色変換を行う処理部である。色変換では、例えば、ＲＧＢの色空間から、印刷装置１１などの出力デバイスに対応したＣＹＭＫなどの色空間への変換が行われる。さらに、この色変換部３４は、レンダリング処理部３２により生成されたカラービットマップ画像データの色変換を複数の属性（ここでは、イメージ、ベクタ図形およびテキスト）のそれぞれに対応して行い、その複数の属性のそれぞれの属性レートに基づいて、複数の属性のそれぞれの色変換後のデータに対して補正を行い、複数の属性のそれぞれの補正後のデータを合成する。
【００５２】
スクリーン処理部３５は、色変換された各色のビットマップ画像データに対してスクリーン処理（ハーフトーニング処理）を行う処理部である。
【００５３】
図２は、図１における色変換部３４の構成を示すブロック図である。
【００５４】
色変換部３４は、格子点選択部４１、イメージ属性についてのイメージ用カラールックアップテーブル（ＣＬＵＴ：Color LookUp Table）４２Ｉ、補間演算部４３Ｉおよび補正部４４Ｉ、ベクタ図形属性についてのベクタ用ＣＬＵＴ４２Ｖ、補間演算部４３Ｖおよび補正部４４Ｖ、テキスト属性についてのテキスト用ＣＬＵＴ４２Ｔ、補間演算部４３Ｔおよび補正部４４Ｔ、並びに、合成部４５を有する。
【００５５】
格子点選択部４１は、イメージ用ＣＬＵＴ４２Ｉ、ベクタ用ＣＬＵＴ４２Ｖ、およびテキスト用ＣＬＵＴ４２Ｔをそれぞれ参照して、それぞれのテーブルにおいて、入力データの各画素データの色（例えばＲＧＢ値）に対応する格子点、および補間演算に使用するその他の格子点を特定する処理部である。
【００５６】
イメージ用ＣＬＵＴ４２Ｉ、ベクタ用ＣＬＵＴ４２Ｖ、およびテキスト用ＣＬＵＴ４２Ｔは、イメージ、ベクタ図形、およびテキストに対してそれぞれ最適化されたＣＬＵＴである。なお、ＣＬＵＴ４２Ｉ，４２Ｖ，４２Ｔは、ＲＯＭや記憶装置１２に予め格納されている。
【００５７】
補間演算部４３Ｉ，４３Ｖ，４３Ｔは、格子点選択部４１により指定された格子点についてのＬＵＴデータをＣＬＵＴ４２Ｉ，４２Ｖ，４２Ｔからそれぞれ読み出し、そのＬＵＴデータについての色変換後の値および入力データの値から補間演算を行い、それぞれの属性についての色変換後のデータ（例えばＣＹＭＫ値）を出力する処理部である。
【００５８】
補正部４４Ｉ，４４Ｖ，４４Ｔは、それぞれの属性についての色変換後のデータを、それぞれの属性についての属性レートに基づいて補正する処理部である。合成部４５は、補正部４４Ｉ，４４Ｖ，４４Ｔによる補正後の３つのデータを合成する処理部である。この実施の形態１では、補正部４４Ｉ，４４Ｖ，４４Ｔは、それぞれの属性について、色変換後のデータに属性レートを乗算し、合成部４５は、補正部４４Ｉ，４４Ｖ，４４Ｔによる乗算結果の和（つまり、属性レートによる加重平均）を計算する。この合成部４５の計算結果が、色変換後のデータとしてスクリーン処理部３５に出力される。
【００５９】
次に、上記画像形成装置１の動作について説明する。図３は、図１に示す画像形成装置１の動作について説明するフローチャートである。
【００６０】
まず、通信制御部２１が、インタフェース１３で入力データを受信すると入力バッファ２２に保存する（ステップＳ１）。その後、ＰＤＬ解釈部３１は、その入力データを読み出して解釈し（ステップＳ２）、入力データの記述からオブジェクトを生成する（ステップＳ３）。オブジェクトのデータ（そのオブジェクトの画像をビットマップとして描画するためのコマンドデータ）は、ＲＡＭに一時的に記憶される。
【００６１】
そして、レンダリング処理部３２は、生成されたオブジェクトを１つずつソースとしてデスティネーションに合成していき、最終的にビットマップ画像データを生成する（ステップＳ４）。このとき、複数のオブジェクトが重畳している画素については、重畳している複数のオブジェクトの各属性の割合が各属性レートの値として得られる。レンダリング処理の詳細については後述する。
【００６２】
レンダリング処理が完了すると、生成されたビットマップ画像データの各画素について、色変換部３４は、その画素の値（例えばＲＧＢ値）から複数の属性に適合させた色変換処理をそれぞれ行い（ステップＳ５）、それぞれの属性について得られた色変換後のデータを属性レートで重み付けして合成する（ステップＳ６）。これにより、色変換後のビットマップ画像データが得られる。
【００６３】
そして、スクリーン処理部３５は、色変換後のビットマップ画像データに対してスクリーン処理を行い、２値化データを印刷装置１１に出力する（ステップＳ７）。印刷装置１１は、その２値化データを供給されると、その２値化データに基づいて画像を、印刷用紙などの記録媒体上に印刷する（ステップＳ８）。
【００６４】
ここで、レンダリング処理（ステップＳ４）の詳細について説明する。図４は、図３におけるレンダリング処理（ステップＳ４）の詳細について説明するフローチャートである。
【００６５】
まず、レンダリング処理部３２は、全画素の各色について、画素値（つまりビットマップ画像データ）および属性レートのデータ領域を中間バッファ３３として確保し、初期値を設定する。画素値の初期値には、背景（白、黒、特定の画像など）の画素値が設定される。また、属性レートの初期値は、すべてゼロに設定される。
【００６６】
図５は、実施の形態１において、中間バッファ３３に保持される各画素の画素値および属性レートのデータ構造の一例を示す図である。図５に示すように、この実施の形態１では、各画素に対して、ＲＧＢ各色の画素値について８ビットのデータ領域、および３つの属性レートについて８ビットのデータ領域が確保される。したがって、２５６段階の分解能で０パーセントから１００パーセントまでの属性レートが表現される。
【００６７】
次に、レンダリング処理部３２は、未処理の、合成すべきオブジェクト（つまり、ソースとなるオブジェクト）を選択し読み出す（ステップＳ２２）。
【００６８】
そして、レンダリング処理部３２は、まず、そのオブジェクトの描画領域を特定し、その描画領域内の各画素について次の処理（ステップＳ２３〜Ｓ３０）を行う。
【００６９】
レンダリング処理部３２は、その画素について、アルファブレンドを行うか否かを判定する（ステップＳ２３）。このとき、例えば、ソースのオブジェクトにアルファ値が設定されているか否か、デスティネーションのその画素にオブジェクトが既に描画されているか否かなどに応じて、アルファブレンドを行うか否かが判定される。
【００７０】
その画素についてアルファブレンドを行わない場合、レンダリング処理部３２は、そのオブジェクト（つまり、ソース）による画素値をそのままその画素の画素値とし、そのオブジェクトの属性の属性レートの値を１（つまり、１００パーセント）に設定する（ステップＳ２４）。そして、レンダリング処理部３２は、その画素について得られた画素値および属性レートを中間バッファ３３に書き込む（ステップＳ２５）。
【００７１】
一方、ステップＳ２３においてアルファブレンドを行うと判定した場合、レンダリング処理部３２は、中間バッファ３３からその画素の画素値（つまり、デスティネーションの画素値）を読み出し（ステップＳ２６）、そのデスティネーションの画素値、そのオブジェクトによる画素値（つまり、ソースの画素値）およびアルファ値からアルファブレンド後のその画素の画素値を色（１）に従って計算する（ステップＳ２７）。
【００７２】
Ｄ１＝Ｓ×α＋Ｄ（１−α）  ・・・（１）
【００７３】
ここで、Ｄ１は、アルファブレンド後の画素値であり、Ｓは、ソースの画素値であり、αは、α値であり（０≦α≦１）、Ｄは、デスティネーションの画素値である。
【００７４】
このようにアルファブレンドを実行する場合には、レンダリング処理部３２は、その画素についての属性レートを中間バッファ３３から読み出し、その画素についての属性レートに有意な値が設定されているか否かを判定する（ステップＳ２８）。
【００７５】
ある画素において、ある属性の属性レートは、その画素に対するその属性の寄与割合を示す。そのため、その画素についてのすべての属性レートの和は、１（＝１００パーセント）となる。一方、属性レートの初期値はすべてゼロであるため、その状態では、その画素についてのすべての属性レートの和はゼロであり、属性レートは有意な値を有していない。つまり、その画素についての全属性レートの和が１であれば、属性レートは有意な値が設定されていると判定され、その画素についての全属性レートの和が１でなければ、属性レートは有意な値が設定されていないと判定される。さらに言い換えれば、その画素について、少なくとも１つのオブジェクトが描画されていれば、属性レートは有意な値を有し、オブジェクトが描画されていなければ、属性レートは有意な値を有さない。
【００７６】
その画素についての属性レートに有意な値が設定されていないと判定した場合、レンダリング処理部３２は、その画素についての属性レートのうち、そのオブジェクト（つまり、ソース）の属性の属性レートの値を１（つまり１００パーセント）に設定する（ステップＳ２９）。
【００７７】
一方、その画素についての属性レートに有意な値が設定されていると判定した場合、レンダリング処理部３２は、その画素についての属性レートを、デスティネーションの属性レート、ソースの属性、およびソースのアルファ値に基づいて計算する（ステップＳ３０）。
【００７８】
このとき、ソースの属性が「テキスト」である場合、合成後のその画素についての属性レートは、式（２ａ）〜（２ｃ）に従って計算される。
【００７９】
Ｉ＿ｒａｔｅ１＝Ｉ＿ｒａｔｅ×（１−α）      ・・・（２ａ）
Ｖ＿ｒａｔｅ１＝Ｖ＿ｒａｔｅ×（１−α）      ・・・（２ｂ）
Ｔ＿ｒａｔｅ１＝α＋Ｔ＿ｒａｔｅ×（１−α）  ・・・（２ｃ）
【００８０】
ここで、Ｉ＿ｒａｔｅ１、Ｖ＿ｒａｔｅ１およびＴ＿ｒａｔｅ１は、合成後の属性レートであり、Ｉ＿ｒａｔｅ、Ｖ＿ｒａｔｅおよびＴ＿ｒａｔｅは、デスティネーションの属性レートであり、αは、アルファ値である（以下、同様）。
【００８１】
また、ソースの属性が「ベクタ図形」である場合、合成後のその画素についての属性レートは、式（３ａ）〜（３ｃ）に従って計算される。
【００８２】
Ｉ＿ｒａｔｅ１＝Ｉ＿ｒａｔｅ×（１−α）      ・・・（３ａ）
Ｖ＿ｒａｔｅ１＝α＋Ｖ＿ｒａｔｅ×（１−α）  ・・・（３ｂ）
Ｔ＿ｒａｔｅ１＝Ｔ＿ｒａｔｅ×（１−α）      ・・・（３ｃ）
【００８３】
また、ソースの属性が「イメージ」である場合、合成後のその画素についての属性レートは、式（４ａ）〜（４ｃ）に従って計算される。
【００８４】
Ｉ＿ｒａｔｅ１＝α＋Ｉ＿ｒａｔｅ×（１−α）  ・・・（４ａ）
Ｖ＿ｒａｔｅ１＝Ｖ＿ｒａｔｅ×（１−α）      ・・・（４ｂ）
Ｔ＿ｒａｔｅ１＝Ｔ＿ｒａｔｅ×（１−α）      ・・・（４ｃ）
【００８５】
このように合成後の属性レートを計算することで、すべての属性レートの和が引き続き１（＝１００パーセント）となる。
【００８６】
このようにしてアルファブレンドによる合成後の画素値および属性レートを計算した後、レンダリング処理部３２は、その画素値および属性レートを中間バッファ３３に書き込む（ステップＳ２５）。
【００８７】
そして、ソースとなっているオブジェクトの描画領域内のすべての画素について上述の処理が完了すると、レンダリング処理部３２は、生成されたオブジェクトのすべてのレンダリングが完了したか否かを判定する（ステップＳ３１）。
【００８８】
レンダリングを行っていないオブジェクトがある場合には、レンダリング処理部３２は、次のオブジェクトを選択し、そのオブジェクトについて同様のレンダリング処理を行う。一方、すべてのオブジェクトのレンダリングが完了した場合には、レンダリング処理部３２は、中間バッファ３３から画素値および属性レートを読み出し、色変換部３２へ供給する（ステップＳ３２）。
【００８９】
このようにして、レンダリング処理部３２により、ＰＤＬ解析部３１により生成されたオブジェクトからビットマップ画像データおよび属性レートが生成される。
【００９０】
ここで、属性レートの更新の具体例について図６〜図９を参照して説明する。この具体例では、まず、イメージオブジェクトが合成され、次にベクタ図形が合成され、最後にテキストオブジェクトが合成される。図６〜図９は、ビットマップ画像とそのビットマップ画像が得られている時点での各画素についての属性レートの例を示す図である。
【００９１】
まず、図６に示すように、ビットマップ画像１０１にオブジェクトが合成されていない状態では、ビットマップ画像の全領域における画素の属性レートの値は初期値（つまり、ゼロ）のままである。
【００９２】
次に、図７に示すように、図６に示すビットマップ画像１０１にイメージオブジェクトによる属性「イメージ」の画像１１１がアルファ値を１として合成された状態では、その画像１１１の描画領域内の画素の属性レートのうち、イメージ属性レートの値が１に更新され、ベクタ属性レートおよびテキスト属性レートの値はゼロのままとされる。また、その画像１１１の描画領域以外の領域内の画素の属性レートは、初期値（つまり、すべてゼロ）のままとされる。
【００９３】
次に、図８に示すように、図７に示すビットマップ画像１０１にベクタ図形オブジェクトによる属性「ベクタ図形」の画像１１２がアルファ値を０．２として合成された状態では、その画像１１２の描画領域のうち、他のオブジェクトによる画像（ここでは画像１１１）に重畳しない部分内の画素の属性レートについては、ベクタ属性レートの値が１に更新され、イメージ属性レートおよびテキスト属性レートの値はゼロのままとされる。一方、その画像１１２の描画領域のうち、画像１１１に重畳する部分内の画素の属性レートについては、ベクタ属性レートの値が１から０．８に更新され、ベクタ属性レートが０．２に更新され、テキスト属性レートの値はゼロのままとされる。なお、画像１１２の描画領域以外の領域内の画素の属性レートは、図７に示す状態での値を維持する。
【００９４】
次に、図９に示すように、図８に示すビットマップ画像１０１にテキストオブジェクトによる属性「テキスト」の画像１１３がアルファ値を０．４として合成された状態では、その画像１１３の描画領域のうち、他のオブジェクトによる画像（ここでは画像１１１，１１２）に重畳しない部分内の画素の属性レートについては、テキスト属性レートの値が１に更新され、イメージ属性レートおよびベクタ属性レートの値はゼロのままとされる。一方、その画像１１３の描画領域のうち、画像１１１に重畳し画像１１２に重畳しない部分内の画素の属性レートについては、イメージ属性レートの値が１から０．６に更新され、テキスト属性レートが０．４に更新され、ベクタ属性レートの値はゼロのままとされる。また、その画像１１３の描画領域のうち、画像１１２に重畳し画像１１１に重畳しない部分内の画素の属性レートについては、ベクタ属性レートの値が１から０．６に更新され、テキスト属性レートが０．４に更新され、イメージ属性レートの値はゼロのままとされる。また、その画像１１３の描画領域のうち、画像１１１および画像１１２の両方に重畳する部分内の画素の属性レートについては、イメージ属性レートの値が０．８から０．４８に更新され、ベクタ属性レートが０．２から０．１２に更新され、テキスト属性レートが０．４に更新される。なお、画像１１３の描画領域以外の領域内の画素の属性レートは、図８に示す状態での値を維持する。
【００９５】
このようにして、属性レートにより、レンダリング処理において合成されたオブジェクトの属性の寄与割合が、フラグなどの２値データではなく多値データとして保持される。これにより、透過率グラデーションを有するオブジェクトがソースである場合であっても、属性の異なるソースとデスティネーションとが合成された画像領域において、色変換等の処理方式が滑らかに変更されていくことになる。また、３つ以上のオブジェクトが順次合成される場合でも、最初に合成したソースのオブジェクトの属性の寄与を示す情報が、後続の合成途中で失われることがない。
【００９６】
以上のように、上記実施の形態１によれば、ＰＤＬ解析部３１は、入力データから複数のオブジェクトを生成し、レンダリング処理部３２は、所定の複数の属性のそれぞれについてそれぞれ多値データである複数の属性レートを画素ごとに設け、ある画素について、属性の異なるオブジェクトを合成する際に、ソースとなるオブジェクトの属性および合成時の混合割合に応じて、その画素についての複数の属性レートの少なくとも２つを更新する。
【００９７】
これにより、２値データではない多値データ複数の属性レートにより、属性の異なる各オブジェクトの影響の度合いがレンダリング処理完了時まで保持される。このため、この属性レートを後続の処理に使用することで、属性の異なるソースとデスティネーションとが合成される場合でも、後続の処理が適切に行われる。
【００９８】
実施の形態２．
【００９９】
本発明の実施の形態２に係る画像形成装置では、中間バッファ３３に保持される各画素の画素値および属性レートのデータサイズが少なくされている。
【０１００】
なお、実施の形態２に係る画像形成装置の構成および他の動作については、実施の形態１のものと同様であるので、ここでは省略し、中間バッファ３３における各画素の画素値および属性レートのデータ構造についてのみ説明する。
【０１０１】
実施の形態２では、有意な所定の複数の属性レート（ここでは、上述の３つの属性レート）の合計値は一定であり、複数の属性レートの数をＮとすると、中間バッファ３３は、画素ごとに、Ｎ個の属性レートのうちの（Ｎ−１）個の属性レートのみを保持する。そして、レンダリング処理部３２は、（Ｎ−１）個の属性レートの値から残りの１つの属性レートの値を計算して得る。
【０１０２】
図１０は、実施の形態２において、中間バッファ３３に保持される各画素の画素値および属性レートのデータ構造の一例を示す図である。
【０１０３】
図１０に示すデータ構造では、３つの属性レートのうちのテキスト属性レートが中間バッファ３３に保持されていない。しかしながら、有意な状態のときの３つの属性レートの和は常に１であるので、レンダリング処理部３２は、１からイメージ属性レートの値およびベクタ属性レートの値を減算して、テキスト属性レートの値を得ることができる。この場合、イメージ属性レートの初期値およびベクタ属性レートの初期値をともに１としておき、オブジェクトが描画されていないことを表し、最初にオブジェクトが描画される際に、そのオブジェクトの属性の属性レートが１に、その他の属性レートの値がゼロになるように属性レートに値を設定すればよい。
【０１０４】
また、この実施の形態２では、イメージ属性レートのデータ長が４ビットとされている。したがって、１６段階の分解能で０パーセントから１００パーセントまでの属性レートが表現される。属性レートに数パーセントの誤差があっても色変換に対する影響が少ないため４ビットのデータ長としても、通常、特に問題は生じない。
【０１０５】
以上のように、上記実施の形態２によれば、中間バッファ３３に保持される画素値および属性レートのデータサイズが小さくなるため、中間バッファ３３に要求される容量が少なくなる。
【０１０６】
実施の形態３．
【０１０７】
本発明の実施の形態３に係る画像形成装置では、レンダリング処理部３２が、ソースとなるオブジェクトの属性、合成時の混合割合、ソース濃度値、およびデスティネーション濃度値に応じて、その画素についての複数の属性レートの少なくとも２つを更新する。
【０１０８】
なお、実施の形態３に係る画像形成装置の構成および他の動作については、実施の形態１のものと同様であるので、ここでは省略し、レンダリング処理部３２による属性レートの更新についてのみ説明する。
【０１０９】
実施の形態１では、式（２ａ）〜（２ｃ）、式（３ａ）〜（３ｃ）、および式（４ａ）〜（４ｃ）のいずれかに従って属性レートが更新されるが、実施の形態３では、以下のように、属性レートが更新される。
【０１１０】
まず、レンダリング処理部３２は、式（５）および式（６）に従って、処理対象の画素についてのソース濃度Ｄｓおよびデスティネーション濃度Ｄｄを計算する。
【０１１１】
Ｄｓ＝０．２９９×（１−Ｒｓ）＋０．５８７×（１−Ｇｓ）＋０．１１４×（１−Ｂｓ）  ・・・（５）
Ｄｄ＝０．２９９×（１−Ｒｄ）＋０．５８７×（１−Ｇｄ）＋０．１１４×（１−Ｂｄ）  ・・・（６）
【０１１２】
ここで、（Ｒｓ，Ｇｓ，Ｂｓ）は、ソースのＲＧＢ値であり、（Ｒｄ，Ｇｄ，Ｂｄ）は、デスティネーションのＲＧＢ値である。
【０１１３】
そして、ソースの属性が「テキスト」である場合、合成後のその画素についての属性レートは、式（７ａ）〜（７ｃ）に従って計算される。
【０１１４】
Ｉ＿ｒａｔｅ１＝Ｉ＿ｒａｔｅ×（１−α）×Ｄｄ／（Ｄｓ×α＋Ｄｄ×（１−α））  ・・・（７ａ）
Ｖ＿ｒａｔｅ１＝Ｖ＿ｒａｔｅ×（１−α）×Ｄｄ／（Ｄｓ×α＋Ｄｄ×（１−α））  ・・・（７ｂ）
Ｔ＿ｒａｔｅ１＝α×Ｄｓ／（Ｄｓ×α＋Ｄｄ×（１−α））＋Ｔ＿ｒａｔｅ×（１−α）×Ｄｄ／（Ｄｓ×α＋Ｄｄ×（１−α））  ・・・（７ｃ）
【０１１５】
また、ソースの属性が「ベクタ」である場合、合成後のその画素についての属性レートは、式（８ａ）〜（８ｃ）に従って計算される。
【０１１６】
Ｉ＿ｒａｔｅ１＝Ｉ＿ｒａｔｅ×（１−α）×Ｄｄ／（Ｄｓ×α＋Ｄｄ×（１−α））  ・・・（８ａ）
Ｖ＿ｒａｔｅ１＝α×Ｄｓ／（Ｄｓ×α＋Ｄｄ×（１−α））＋Ｖ＿ｒａｔｅ×（１−α）×Ｄｄ／（Ｄｓ×α＋Ｄｄ×（１−α））  ・・・（８ｂ）
Ｔ＿ｒａｔｅ１＝Ｔ＿ｒａｔｅ×（１−α）×Ｄｄ／（Ｄｓ×α＋Ｄｄ×（１−α））  ・・・（８ｃ）
【０１１７】
また、ソースの属性が「イメージ」である場合、合成後のその画素についての属性レートは、式（９ａ）〜（９ｃ）に従って計算される。
【０１１８】
Ｉ＿ｒａｔｅ１＝α×Ｄｓ／（Ｄｓ×α＋Ｄｄ×（１−α））＋Ｉ＿ｒａｔｅ×（１−α）×Ｄｄ／（Ｄｓ×α＋Ｄｄ×（１−α））  ・・・（９ａ）
Ｖ＿ｒａｔｅ１＝Ｖ＿ｒａｔｅ×（１−α）×Ｄｄ／（Ｄｓ×α＋Ｄｄ×（１−α））  ・・・（９ｂ）
Ｔ＿ｒａｔｅ１＝Ｔ＿ｒａｔｅ×（１−α）×Ｄｄ／（Ｄｓ×α＋Ｄｄ×（１−α））  ・・・（９ｃ）
【０１１９】
このように合成後の属性レートを計算することで、すべての属性レートの和が引き続き１（＝１００パーセント）となる。
【０１２０】
以上のように、上記実施の形態３によれば、ソース濃度値およびデスティネーション濃度値が考慮されて属性レートが更新されるため、色変換などの後続の処理がより適切に行われる（つまり、視覚上より自然な印象を与えるように色変換などの後続の処理が行われる）。
【０１２１】
なお、上述の各実施の形態は、本発明の好適な例であるが、本発明は、これらに限定されるものではなく、本発明の要旨を逸脱しない範囲において、種々の変形、変更が可能である。
【０１２２】
例えば、上記各実施の形態では３つの属性レートが設けられているが、それらの属性レートのうちの２つのみが設けられるようにしてもよい。また、オブジェクトの別の属性を設定してもよい。
【産業上の利用可能性】
【０１２３】
本発明は、例えば、プリンタ、コピー機、複合機などに適用可能である。
【符号の説明】
【０１２４】
１  画像形成装置
３１  ＰＤＬ解析部（オブジェクト生成部の一例）
３２  レンダリング処理部
３３  中間バッファ
３４  色変換部
【図１】
2011130052.tif 000003
【図２】
2011130052.tif 000004
【図３】
2011130052.tif 000005
【図４】
2011130052.tif 000006
【図５】
2011130052.tif 000007
【図６】
2011130052.tif 000008
【図１０】
2011130052.tif 000009
【図７】
2011130052.tif 000010
【図８】
2011130052.tif 000011
【図９】
2011130052.tif 000012
【図１１】
2011130052.tif 000013