(57)【要約】【課題】  透明属性を持つグラデーションとイメージとが重なる領域をデバイス色空間で高画質に再現する。【解決手段】  重なり部分のグラデーションにおいて、対象オブジェクトそれぞれの関数値を合成し、合成関数を算出する。算出された合成関数の出力値に基づいて、重なり部分における新規のグラデーションを生成する。【選択図】      図１０
2008146498.tif 000002
【特許請求の範囲】
【請求項１】
画像処理方法であって、
重なり部分のグラデーションにおいて、対象オブジェクトそれぞれの関数値を合成し、合成関数を算出する合成関数算出工程と、
前記合成関数算出工程で算出された合成関数の出力値に基づいて、重なり部分における新規のグラデーションを生成する生成工程とを有することを特徴とする画像処理方法。
【請求項２】
オブジェクト毎に色空間が指定され、グラデーションにも色空間が定義されており、
前記合成関数算出工程では、前記対象オブジェクトそれぞれの関数値を前記色空間上で合成することを特徴とする請求項１記載の画像処理方法。
【請求項３】
ジョブ又はページ毎にレンダリング色空間が指定されており、
前記合成関数算出工程は、前記対象オブジェクトそれぞれの関数値を前記レンダリング色空間上で合成することを特徴とする請求項１記載の画像処理方法。
【請求項４】
前記対象オブジェクトにおけるα値が関数で指定されていることを特徴とする請求項２又は３記載の画像処理方法。
【請求項５】
画像処理装置であって、
ページ毎にレンダリング色空間又はオブジェクト毎に色空間を指定可能で、グラデーションの重なり部分のグラデーションを再現する際に、対象オブジェクトそれぞれの関数値を前記レンダリング色空間又は指定された色空間上で合成し、合成関数を算出する合成関数算出手段と、
前記合成関数算出手段で算出された合成関数の出力値に基づいて、重なり部分における新規のグラデーションを生成する生成手段とを有し、
前記合成関数の出力値を解析し、新規にグラデーションのデータを作成し、該グラデーションのデータをレンダリングシステムに受け渡し、重なり部分のグラデーションをデバイス色空間上で形成することを特徴とする画像処理装置。
【請求項６】
前記合成関数の出力値を解析する際に、極大点又は極小点を検索し、該極大点又は極小点に基づいてグラデーションを分割することを特徴とする請求項５記載の画像処理装置。
【請求項７】
前記合成関数の出力値を解析する前に、イメージを検査するために、重なる領域における画像の周波数成分を参照し、高周波成分を多く含む画像の場合、前記合成関数の出力値の解析処理を行わないことを特徴とする請求項５記載の画像処理装置。
【請求項８】
コンピュータを請求項５乃至７の何れか一項記載の画像処理装置の手段として機能させるためのプログラム。
【請求項９】
請求項８記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理方法及び画像処理装置に関するものである。
【背景技術】
【０００２】
従来、図形や画像を印刷するカラープリンタなどで扱われる色データは、図形の場合、カラーモードやコマンドによって指定されるＲＧＢ値で与えられ、画像の場合、ＲＧＢ点順次やＲＧＢ面順次の形式で与えられる。また、色データを扱う色空間はＲＧＢだけとは限らず、カラープリンタに特有の（インク特性等による）ＹＭＣ色空間やＣＩＥ等で定義されているＸＹＺ色空間等もある。
【０００３】
何れにしても、カラープリンタ内部で印刷が行われる際に、入力された色データに対してカラープリンタで定義されている色空間に対応する色再現処理が施され（例えばＲＧＢからＹＭＣＫへの変換）、実際の印刷出力が行われる。
【０００４】
一般に、カラープリンタにおいて、他のデバイスが扱う色データとのカラーマッチングを考慮した場合、基準となる色空間を一つ定義し、その色空間で他のデバイスの発光（色）特性にあった色補正を行っている。ここで、他のデバイスは、例えばカラースキャナやＣＲＴ等のカラーディスプレイである。
【０００５】
この場合、カラープリンタ内部の色処理も、基準となる色空間に対応するものになり、例えばカラーディスプレイに表示される画像をカラープリンタで出力しても、忠実に再現することが可能となる。
【０００６】
ところで、図形や画像を扱うグラフィックシステムの中には、描画オブジェクトに対して透明属性を指定できるものが存在する。一般的に、描画するオブジェクトの色の重なり部分は、任意の混色演算式に従って演算処理することができる。ここで、合成される複数の図形は、それぞれが合成属性（α値）を持つ。各図形の合成属性はオブジェクトを形成しているピクセル毎に設定されているため、合成の際には、ピクセル毎に合成ピクセルを計算できるように構成されている。
【０００７】
上述した「合成属性」の値を使った合成処理は、αブレンドとも呼ばれている。これらの変換処理により、合成の対象である２つのオブジェクトの色空間を一つに揃えることができる。各オブジェクトは、同一の色空間（つまり、レンダリング色空間）内で合成処理が実行されることになる。
【０００８】
図１は、２つの透明図形を合成する合成処理を説明するための図である。図１において、２つの透明図形１０１、１０２を合成処理１１０する場合、まず重なり領域を分割し、３つの領域１２１〜１２３として別々の処理１１１〜１１３を行う。そして、重なり部分の合成色を適切に色変換することで、見かけ上、重なりがあるような図形を形成することができる。
【０００９】
また、グラデーションオブジェクトは色が変化する図形であり、例えば矩形のような領域が定義され、複数の点のうち、両端点の色が定義されているものである。その中間の色の値は、端点から端点への変化により表現される図形である。
【００１０】
このグラデーションの図形に対してカラーマッチングをかけた場合には、計算機で発生する量子化誤差に起因して、グラデーション画像上に不要なスジが発生する場合があり、画質を劣化させるという問題が発生する。特に、ハイライト近傍の色で、かつ、描画色の変化が移動距離に対して小さい（勾配が小さい）場合に、量子化誤差が大きくなり、スジが目立つ傾向にある。これを解決するために、以下の処理を行うことが考えられる。
【００１１】
入力された幾何オブジェクト（グラデーションオブジェクト）に対して自身のデバイス色空間へのカラーマッチング処理を施す。その幾何オブジェクトの制御ポイントにおけるカラーマッチング処理の結果に基づき、幾何オブジェクトにおける色の変化値をデバイス色空間上で補間する。
【特許文献１】特開2001-186365号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
しかしながら、図２に示すように、画像２０１の上に、透過指定されたグラデーション図形２０２があった場合に、その重なり部分２０３をどのように処理すべきなのか明確に定義されていない。上述したように、透過属性のあるオブジェクトはレンダリング色空間で処理すべきであり、一方、グラデーションは量子化誤差の影響を避けるためにデバイス色空間で処理すべきである。
【００１３】
つまり、グラデーションが透明属性を指定されている場合には、適切な画像処理の方法が存在していないという問題があった。
【００１４】
本発明は、透明属性を持つグラデーションとイメージとが重なる領域をデバイス色空間で高画質に再現することを目的とする。
【課題を解決するための手段】
【００１５】
本発明は、画像処理方法であって、重なり部分のグラデーションにおいて、対象オブジェクトそれぞれの関数値を合成し、合成関数を算出する合成関数算出工程と、前記合成関数算出工程で算出された合成関数の出力値に基づいて、重なり部分における新規のグラデーションを生成する生成工程とを有することを特徴とする。
【００１６】
また、本発明は、画像処理装置であって、ページ毎にレンダリング色空間又はオブジェクト毎に色空間を指定可能で、グラデーションの重なり部分のグラデーションを再現する際に、対象オブジェクトそれぞれの関数値を前記レンダリング色空間又は指定された色空間上で合成し、合成関数を算出する合成関数算出手段と、前記合成関数算出手段で算出された合成関数の出力値に基づいて、重なり部分における新規のグラデーションを生成する生成手段とを有し、前記合成関数の出力値を解析し、新規にグラデーションのデータを作成し、該グラデーションのデータをレンダリングシステムに受け渡し、重なり部分のグラデーションをデバイス色空間上で形成することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、透明属性を持つグラデーションとイメージとが重なる領域をデバイス色空間で高画質に再現することができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００１９】
まず、図３を用いてグラデーションを形成する処理について説明する。グラデーションは、色が連続的に変化する図形である。いくつかの点、例えば矩形等の領域が定義され、複数の点で端の点の色が指定されている。その中間の色の値は、端点から端点への変化により表現される（数式等を用いて求めることができる）図形である。
【００２０】
このグラデーションの図形に対してカラーマッチングをかけた場合、計算機で発生する量子化誤差に起因して以下の問題が発生する場合がある。
【００２１】
例えば、始点から終点にかけて赤から黒に変化するようなグラデーションオブジェクトを考える。この色変化は図３に示すように、描画ライン上の位置Ｖｉに応じて行う必要がある。このとき、描画位置の変化（Ｖ１−Ｖ２）が移動距離（Ｘ２−Ｘ１）に対して緩い場合、即ち（Ｖ１−Ｖ２）の値が相対的に小さい場合、計算機の量子化誤差に起因して、色変化結果が所望の値にならない。
【００２２】
これは、図４に示す（Ａ）のように、グラデーションオブジェクトが、ＲＧＢ色空間でピクセル展開された後、色変換モジュールにより各ＲＧＢのピクセルがＣＭＹＫ値に変換される場合に該当する。この場合、各ＣＭＹＫのピクセル値は、色変換モジュールによるカラーマッチング処理により量子化誤差の影響を受けてしまう。例えば、ＣＭＹＫ色空間側での変化が単調増加でなければいけない場合でも、量子化誤差の影響を受け、単調増加にならない場合が出てくる。
【００２３】
この問題を解決するためには、以下の処理を行うことが考えられる。
【００２４】
例えば、入力された図形オブジェクトに対して自身のデバイス色空間へのカラーマッチング処理を施す。図形オブジェクトが色の変化を有する幾何オブジェクトの場合は、幾何オブジェクトの制御ポイントにおけるカラーマッチング結果に基づき、幾何オブジェクトにおける色の変化値をデバイス色空間上で補間する。
【００２５】
これは、図４に示す（Ｂ）のように、グラデーションオブジェクトの端点のみ、カラーマッチングを最初に行い、中間のピクセルの描画はＣＭＹＫレンダリング処理の中で生成される場合に該当する。この場合、ＣＭＹＫ色空間内でグラデーションであることを前提に画像を形成すれば、単調増加という条件を満たしながら、画像を形成することが可能となる。
【００２６】
尚、グラデーションの色は、ＲＧＢ値が指定されているが、これがどのＲＧＢ色空間で定義されているかを認識しておく必要がある。また、ＰＤＬの表記としては、ジョブ全体、又は指定されたページ全体におけるデフォルトのＲＧＢ色空間は、適宜に定義（或いは指定）されている。従って、各オブジェクトで指定されているＲＧＢ値は、デフォルトのＲＧＢ色空間におけるＲＧＢ値が設定されていると解釈される。また、ＰＤＬの表記として、オブジェクト毎に色空間を指定することもできる。その場合、指定された色空間が、デフォルトの色空間より優先するよう構成されている。
【００２７】
ここで、グラデーションの色の変換は、指定されているＲＧＢ色空間の値であるので、再現されるべき色の変化は、定義が存在している状態である。プリンタの色空間は通常はＣＭＹＫであり、これは“デバイス色空間”とも呼ばれるが、ＲＧＢ色空間の色の変化と、デバイス色空間の色の変化には相関はない。
【００２８】
例えば、グラデーション図形の端点の色が黒：ＲＧＢ値=（0x00,0x00,0x00）と、白：ＲＧＢ値=（0xff,0xff,0xff）の場合を考える。黒は均等色空間で言えば、ＬＡＢ値＝（0.0, 0.0, 0.0）であり、白はＬＡＢ値＝（100, 0.0, 0.0）である。この図形を描画するに当たり、指定されているＲＧＢ色空間がＨＤＴＶガンマ1.5の時と、ＨＤＴＶガンマ2.2の時を考えてみる。
【００２９】
グラデーションの中間の色で約75％の位置にある色：ＲＧＢ値=（0xC0,0xC0,0xC0）は、ＨＤＴＶガンマ1.5の時はＬＡＢ値＝（65.3, 0.0, 0.0）である。ＨＤＴＶガンマ2.2の時はＬＡＢ値＝（53.6, 0.0, 0.0）である。グラデーションの中間の色で約50％の位置にある色：ＲＧＢ値=（0x80,0x80,0x80）は、ＨＤＴＶガンマ1.5の時は、ＬＡＢ値＝（35.4, 0.0, 0.0）である。ＨＤＴＶガンマ2.2の時はＬＡＢ値＝（21.8, 0.0, 0.0）である。
【００３０】
このように、入力の色空間が異なれば、ＲＧＢ値に対する均等色空間上の値も変化する。上述のように、カラーマッチング処理をしなければ、入力色空間とデバイス色空間とは相関がないため、グラデーション（色）の変化をデバイス（ＣＭＹＫ）色空間で行うと、本来再現すべき色と実際に再現される色との間の色が大きく異なる可能性がある。即ち、ＲＧＢ値又はＲＧＢ値から変換されたＬＡＢ値と、ＣＭＹＫ値又はデバイスのＣＭＹＫ値で再現されるＬＡＢ値との間の色が大きく異なる可能性がある。
【００３１】
特に、グラデーションの場合は、端点から遠い場所、即ち中間部で色差が大きくなる。図５に示す（Ａ）は、中間部での色差が大きくなっている様子を表す図である。この色差を小さくするために、本実施形態では、グラデーションを分割するように構成している。図５に示す（Ｂ）は、グラデーションを４つの領域に分割した場合を示す図である。このように分割された領域内において、デバイス色空間の値を線形に変化させることにより、本来再現すべき色（ＲＧＢ値又はＲＧＢ値から変換されたＬＡＢ値）に対して正確な色（ＣＭＹＫ値）で再現することが可能となる。
【００３２】
従って、上述した方法により、デバイス色空間側で線形にグラデーション図形を形成すれば、ＬＵＴテーブルのデータを補間演算することによる量子化誤差の影響を避けることができる。
【００３３】
また、グラデーションの色空間と、再現デバイス側の色空間とにおいて、相関が悪い時（色差が多くなる場合）はグラデーションを適宜、分割することでそのエラー量（色差）を減らすことができる。
【００３４】
次に、透明な領域におけるグラデーションの画像処理方法を、図６〜図８を用いて説明する。
【００３５】
図６〜図８は、本実施形態におけるグラデーションの画像処理方法を説明するための図である。図６に示すように、グラデーションオブジェクトｇ１と、イメージオブジェクトｇ２とが重なっているものとする。ここで、グラデーションオブジェクトｇ１は、α値がα１である。そして、左端の色から右端の色までは、図７に示すｇ１のグラフのように、単純な線形の変化ではなく、曲線で表されるような関数で表現されている。
【００３６】
一方、イメージオブジェクトｇ２は、α値がα２である。そして、左端の色から右端の色までは、図７に示すｇ２のグラフのように、データが分布している。
【００３７】
また、図６に示すように、重なり部分の領域をＦｒとし、この重なり領域Ｆｒを、以下のように定義する。
【００３８】
Ｆｒ（ｘ，ｙ）＝｛Σαｉ・ｆｉ（ｘ，ｙ）｝／（１．０／Σαｉ）
ｆ１（ｘ，ｙ）＝ｇ１（ｘ，ｙ）
ｆ２（ｘ，ｙ）＝ｇ２（ｘ，ｙ）
上記式において、ｉ＝１、２である。また、ｆ１はグラデーションオブジェクトｇ１における色の値（例えば、ＲＧＢそれぞれの値）である。ｆ２も同様であり、イメージオブジェクトｇ２における色の値を表している。ここで、図形は平面上のオブジェクトと定義されるので、ｘとｙを入力値として持つ。
【００３９】
本実施形態では、図８に示すグラフに対してベクトル解析を行うよう構成する。ここでは、グラフが増加し続けるのか、或いは減少し続けるのかを調べ、関数の極大点、極小点を見つけ出す。一般にグラフの傾きが切り替わる所は、その微分値を調べることで可能であるが、前後の値を直接比較することでも、簡易に見つけ出すことができる。
【００４０】
尚、精度が問題になる場合は、システムとして必要な分解能になるように、その前後の値を補間することで、必要な精度の極大点、極小点を見つけることができる。
【００４１】
図８に示す例では、極大点としてｐ１が、極小点としてｐ２が存在している。ここで、ｐ０からｐ１までの間はＦｒ値は必ず増加し、ｐ１からｐ２までの間は減少し、ｐ２からｐ３までの間は増加するということがわかる。
【００４２】
従って、これらの情報より、合成部分のグラデーションは、ｐ１、ｐ２の２点により、３つの領域に分割し処理すれば良いことになる。
【００４３】
分割された３つのグラデーション領域は、それぞれがｐ０、ｐ１、ｐ２、ｐ３におけるＦｒ値を端点の色として持つ独立のグラデーションである。よって、上述したような一つのグラデーションとして、デバイス色空間での処理、若しくは、更に必要に応じてグラデーション分割を実施することにより、量子化誤差の影響を排除した綺麗なグラデーション画像を生成することができる。
【００４４】
尚、上述したグラデーションの分割処理は、重なり領域の画像の変化が大きい場合は、あまり意味を持たなくなってくる。例えば、イメージオブジェクトにおいて、その内部におけるピクセルの色の変化が激しい場合は、グラデーション（色の変化がゆるやか、比較的面積の広いフラットな図形を意味する）には見えない。
【００４５】
次に、イメージオブジェクトとグラデーションオブジェクトを合成する際に、ベクトル解析を実行するか否かを判断する前段処理を、図９を用いて説明する。
【００４６】
図９は、本実施形態における前段処理を示すフローチャートである。まず、ステップＳ９０１において、オブジェクトｇ１が合成属性を持つグラデーションであるか否かを判断する。判断の結果、オブジェクトｇ１が合成属性を持つグラデーションでなければ、この処理を終了する。しかし、オブジェクトｇ１が合成属性を持つグラデーションであれば、ステップＳ９０２へ処理を進める。
【００４７】
このステップＳ９０２では、２番目のオブジェクトｇ２が単純な図形（フラットフィル、グラデーション等）であるか否かを判断する。判断の結果、２番目のオブジェクトｇ２が単純な図形であれば、ステップＳ９０３へ処理を進め、フラグＲに“１”をセットし、この処理を終了する。しかし、２番目のオブジェクトｇ２が図形ではなくて、イメージであれば、ステップＳ９０４へ処理を進める。
【００４８】
このステップＳ９０４では、イメージの離散コサイン変換（ＤＣＴ）の成分を検査する。ここで、高周波成分が多い場合は、ステップＳ９０５へ処理を進め、フラグＲに“０”をセットし、この処理を終了する。
【００４９】
また、ステップＳ９０４で、低周波成分が多い場合は、ステップＳ９０６へ処理を進め、重なり領域の画像を展開し、領域内の色の変化を更に詳細に調べる。そして、ステップＳ９０７で、グラデーションを綺麗に再現すべき画像であるか否かを判定する。ここで、システムが定義した評価関数に照らし合わせて、グラデーションを綺麗に再現すべき画像であると判定すると、ステップＳ９０５へ処理を進め、フラグＲに“１”をセットする。しかし、グラデーションを綺麗に再現すべき画像でないと判定すると、ステップＳ９０８へ処理を進め、フラグＲに“０”をセットする。
【００５０】
上述した処理を実行後、フラグＲに“１”がセットされていれば、ベクトル解析処理を実行し、セットされていなければ、ベクトル解析を行わないように制御する。
【００５１】
図１０は、本実施形態におけるプリンティングシステムの構成の一例を示す図である。図１０に示すように、プリンティングシステムは、パーソナルコンピュータ（ＰＣ）などのホストコンピュータ１００１とプリンタ１００２とから構成されている。また、ホストコンピュータ１００１側で、グラデーションと透明のオブジェクトを処理するように構成されている。そして、本システムは、ホストコンピュータ１００１とプリンタ１００２のコントローラの両方で印刷に必要な処理を分散して行うシステムである。
【００５２】
ここで、ジョブデータは、以下のコマンド及びその色値を含むものとする。
・フラットフィルを表すコマンド（Ｃ１）及びその色値（ｒｇｂ１）
・グラデーションを表すコマンド（Ｃ２）及びその色値（ｒｇｂ２）
・透過オブジェクトを表すコマンド（Ｃ３）及びその色値（ｒｇｂ３）
尚、本システムでは、フラットフィルはプリンタ１００２側でレンダリングされ、透過オブジェクトはホストコンピュータ１００１側でレンダリングされる。
【００５３】
また、全てのオブジェクト（フラットフィル、グラデーション、透過オブジェクト）のカラーマッチングはホストコンピュータ１００１側で行われる。
【００５４】
グラデーションの処理のためには、端点と中間部とでそれぞれカラーマッチング処理が必要であるが、中間部のカラーマッチング処理は、グラデーションのレンダリング処理を実行する箇所と同じ箇所、即ちホストコンピュータ１００１側で行われる。尚、図１０に示すように、本システムの構成においては、プリンタ１００２側でＣＭＳ処理をする必要はない。
【００５５】
本実施形態によれば、グラデーションに透明属性が指定され、かつイメージが重なっている場合でも、その重なり領域のグラデーションを描画する際に、グラデーションの色の変化をデバイス色空間で再現させることができる。従って、カラーマッチング処理による量子化誤差の影響を避けることができ、非常に綺麗な高画質な画像を形成することが可能となる。
【００５６】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【００５７】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【００５８】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【００５９】
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００６０】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
【００６１】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００６２】
【図１】２つの透明図形を合成する合成処理を説明するための図である。
【図２】透過指定されたグラデーションとイメージとが重なった場合の画像を示す図である。
【図３】グラデーションを形成する処理を説明するための図である。
【図４】グラデーションを処理する際の問題と、その問題を解決するための方法を示す図である。
【図５】中間部での色差が大きくなっている様子を表す図と、グラデーションを４つの領域に分割した場合を示す図である。
【図６】、
【図７】、
【図８】本実施形態におけるグラデーションの画像処理方法を説明するための図である。
【図９】本実施形態における前段処理を示すフローチャートである。
【図１０】本実施形態におけるプリンティングシステムの構成の一例を示す図である。
【図４】
2008146498.tif 000003
【図７】
2008146498.tif 000004
【図８】
2008146498.tif 000005
【図９】
2008146498.tif 000006
【図１】
2008146498.tif 000007
【図２】
2008146498.tif 000008
【図３】
2008146498.tif 000009
【図５】
2008146498.tif 000010
【図６】
2008146498.tif 000011
【図１０】
2008146498.tif 000012