説明

画像処理方法及び画像処理装置

【課題】 透明属性を持つグラデーションとイメージとが重なる領域をデバイス色空間で高画質に再現する。
【解決手段】 重なり部分のグラデーションにおいて、対象オブジェクトそれぞれの関数値を合成し、合成関数を算出する。算出された合成関数の出力値に基づいて、重なり部分における新規のグラデーションを生成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像処理方法及び画像処理装置に関するものである。
【背景技術】
【0002】
従来、図形や画像を印刷するカラープリンタなどで扱われる色データは、図形の場合、カラーモードやコマンドによって指定されるRGB値で与えられ、画像の場合、RGB点順次やRGB面順次の形式で与えられる。また、色データを扱う色空間はRGBだけとは限らず、カラープリンタに特有の(インク特性等による)YMC色空間やCIE等で定義されているXYZ色空間等もある。
【0003】
何れにしても、カラープリンタ内部で印刷が行われる際に、入力された色データに対してカラープリンタで定義されている色空間に対応する色再現処理が施され(例えばRGBからYMCKへの変換)、実際の印刷出力が行われる。
【0004】
一般に、カラープリンタにおいて、他のデバイスが扱う色データとのカラーマッチングを考慮した場合、基準となる色空間を一つ定義し、その色空間で他のデバイスの発光(色)特性にあった色補正を行っている。ここで、他のデバイスは、例えばカラースキャナやCRT等のカラーディスプレイである。
【0005】
この場合、カラープリンタ内部の色処理も、基準となる色空間に対応するものになり、例えばカラーディスプレイに表示される画像をカラープリンタで出力しても、忠実に再現することが可能となる。
【0006】
ところで、図形や画像を扱うグラフィックシステムの中には、描画オブジェクトに対して透明属性を指定できるものが存在する。一般的に、描画するオブジェクトの色の重なり部分は、任意の混色演算式に従って演算処理することができる。ここで、合成される複数の図形は、それぞれが合成属性(α値)を持つ。各図形の合成属性はオブジェクトを形成しているピクセル毎に設定されているため、合成の際には、ピクセル毎に合成ピクセルを計算できるように構成されている。
【0007】
上述した「合成属性」の値を使った合成処理は、αブレンドとも呼ばれている。これらの変換処理により、合成の対象である2つのオブジェクトの色空間を一つに揃えることができる。各オブジェクトは、同一の色空間(つまり、レンダリング色空間)内で合成処理が実行されることになる。
【0008】
図1は、2つの透明図形を合成する合成処理を説明するための図である。図1において、2つの透明図形101、102を合成処理110する場合、まず重なり領域を分割し、3つの領域121〜123として別々の処理111〜113を行う。そして、重なり部分の合成色を適切に色変換することで、見かけ上、重なりがあるような図形を形成することができる。
【0009】
また、グラデーションオブジェクトは色が変化する図形であり、例えば矩形のような領域が定義され、複数の点のうち、両端点の色が定義されているものである。その中間の色の値は、端点から端点への変化により表現される図形である。
【0010】
このグラデーションの図形に対してカラーマッチングをかけた場合には、計算機で発生する量子化誤差に起因して、グラデーション画像上に不要なスジが発生する場合があり、画質を劣化させるという問題が発生する。特に、ハイライト近傍の色で、かつ、描画色の変化が移動距離に対して小さい(勾配が小さい)場合に、量子化誤差が大きくなり、スジが目立つ傾向にある。これを解決するために、以下の処理を行うことが考えられる。
【0011】
入力された幾何オブジェクト(グラデーションオブジェクト)に対して自身のデバイス色空間へのカラーマッチング処理を施す。その幾何オブジェクトの制御ポイントにおけるカラーマッチング処理の結果に基づき、幾何オブジェクトにおける色の変化値をデバイス色空間上で補間する。
【特許文献1】特開2001-186365号公報
【発明の開示】
【発明が解決しようとする課題】
【0012】
しかしながら、図2に示すように、画像201の上に、透過指定されたグラデーション図形202があった場合に、その重なり部分203をどのように処理すべきなのか明確に定義されていない。上述したように、透過属性のあるオブジェクトはレンダリング色空間で処理すべきであり、一方、グラデーションは量子化誤差の影響を避けるためにデバイス色空間で処理すべきである。
【0013】
つまり、グラデーションが透明属性を指定されている場合には、適切な画像処理の方法が存在していないという問題があった。
【0014】
本発明は、透明属性を持つグラデーションとイメージとが重なる領域をデバイス色空間で高画質に再現することを目的とする。
【課題を解決するための手段】
【0015】
本発明は、画像処理方法であって、重なり部分のグラデーションにおいて、対象オブジェクトそれぞれの関数値を合成し、合成関数を算出する合成関数算出工程と、前記合成関数算出工程で算出された合成関数の出力値に基づいて、重なり部分における新規のグラデーションを生成する生成工程とを有することを特徴とする。
【0016】
また、本発明は、画像処理装置であって、ページ毎にレンダリング色空間又はオブジェクト毎に色空間を指定可能で、グラデーションの重なり部分のグラデーションを再現する際に、対象オブジェクトそれぞれの関数値を前記レンダリング色空間又は指定された色空間上で合成し、合成関数を算出する合成関数算出手段と、前記合成関数算出手段で算出された合成関数の出力値に基づいて、重なり部分における新規のグラデーションを生成する生成手段とを有し、前記合成関数の出力値を解析し、新規にグラデーションのデータを作成し、該グラデーションのデータをレンダリングシステムに受け渡し、重なり部分のグラデーションをデバイス色空間上で形成することを特徴とする。
【発明の効果】
【0017】
本発明によれば、透明属性を持つグラデーションとイメージとが重なる領域をデバイス色空間で高画質に再現することができる。
【発明を実施するための最良の形態】
【0018】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【0019】
まず、図3を用いてグラデーションを形成する処理について説明する。グラデーションは、色が連続的に変化する図形である。いくつかの点、例えば矩形等の領域が定義され、複数の点で端の点の色が指定されている。その中間の色の値は、端点から端点への変化により表現される(数式等を用いて求めることができる)図形である。
【0020】
このグラデーションの図形に対してカラーマッチングをかけた場合、計算機で発生する量子化誤差に起因して以下の問題が発生する場合がある。
【0021】
例えば、始点から終点にかけて赤から黒に変化するようなグラデーションオブジェクトを考える。この色変化は図3に示すように、描画ライン上の位置Viに応じて行う必要がある。このとき、描画位置の変化(V1−V2)が移動距離(X2−X1)に対して緩い場合、即ち(V1−V2)の値が相対的に小さい場合、計算機の量子化誤差に起因して、色変化結果が所望の値にならない。
【0022】
これは、図4に示す(A)のように、グラデーションオブジェクトが、RGB色空間でピクセル展開された後、色変換モジュールにより各RGBのピクセルがCMYK値に変換される場合に該当する。この場合、各CMYKのピクセル値は、色変換モジュールによるカラーマッチング処理により量子化誤差の影響を受けてしまう。例えば、CMYK色空間側での変化が単調増加でなければいけない場合でも、量子化誤差の影響を受け、単調増加にならない場合が出てくる。
【0023】
この問題を解決するためには、以下の処理を行うことが考えられる。
【0024】
例えば、入力された図形オブジェクトに対して自身のデバイス色空間へのカラーマッチング処理を施す。図形オブジェクトが色の変化を有する幾何オブジェクトの場合は、幾何オブジェクトの制御ポイントにおけるカラーマッチング結果に基づき、幾何オブジェクトにおける色の変化値をデバイス色空間上で補間する。
【0025】
これは、図4に示す(B)のように、グラデーションオブジェクトの端点のみ、カラーマッチングを最初に行い、中間のピクセルの描画はCMYKレンダリング処理の中で生成される場合に該当する。この場合、CMYK色空間内でグラデーションであることを前提に画像を形成すれば、単調増加という条件を満たしながら、画像を形成することが可能となる。
【0026】
尚、グラデーションの色は、RGB値が指定されているが、これがどのRGB色空間で定義されているかを認識しておく必要がある。また、PDLの表記としては、ジョブ全体、又は指定されたページ全体におけるデフォルトのRGB色空間は、適宜に定義(或いは指定)されている。従って、各オブジェクトで指定されているRGB値は、デフォルトのRGB色空間におけるRGB値が設定されていると解釈される。また、PDLの表記として、オブジェクト毎に色空間を指定することもできる。その場合、指定された色空間が、デフォルトの色空間より優先するよう構成されている。
【0027】
ここで、グラデーションの色の変換は、指定されているRGB色空間の値であるので、再現されるべき色の変化は、定義が存在している状態である。プリンタの色空間は通常はCMYKであり、これは“デバイス色空間”とも呼ばれるが、RGB色空間の色の変化と、デバイス色空間の色の変化には相関はない。
【0028】
例えば、グラデーション図形の端点の色が黒:RGB値=(0x00,0x00,0x00)と、白:RGB値=(0xff,0xff,0xff)の場合を考える。黒は均等色空間で言えば、LAB値=(0.0, 0.0, 0.0)であり、白はLAB値=(100, 0.0, 0.0)である。この図形を描画するに当たり、指定されているRGB色空間がHDTVガンマ1.5の時と、HDTVガンマ2.2の時を考えてみる。
【0029】
グラデーションの中間の色で約75%の位置にある色:RGB値=(0xC0,0xC0,0xC0)は、HDTVガンマ1.5の時はLAB値=(65.3, 0.0, 0.0)である。HDTVガンマ2.2の時はLAB値=(53.6, 0.0, 0.0)である。グラデーションの中間の色で約50%の位置にある色:RGB値=(0x80,0x80,0x80)は、HDTVガンマ1.5の時は、LAB値=(35.4, 0.0, 0.0)である。HDTVガンマ2.2の時はLAB値=(21.8, 0.0, 0.0)である。
【0030】
このように、入力の色空間が異なれば、RGB値に対する均等色空間上の値も変化する。上述のように、カラーマッチング処理をしなければ、入力色空間とデバイス色空間とは相関がないため、グラデーション(色)の変化をデバイス(CMYK)色空間で行うと、本来再現すべき色と実際に再現される色との間の色が大きく異なる可能性がある。即ち、RGB値又はRGB値から変換されたLAB値と、CMYK値又はデバイスのCMYK値で再現されるLAB値との間の色が大きく異なる可能性がある。
【0031】
特に、グラデーションの場合は、端点から遠い場所、即ち中間部で色差が大きくなる。図5に示す(A)は、中間部での色差が大きくなっている様子を表す図である。この色差を小さくするために、本実施形態では、グラデーションを分割するように構成している。図5に示す(B)は、グラデーションを4つの領域に分割した場合を示す図である。このように分割された領域内において、デバイス色空間の値を線形に変化させることにより、本来再現すべき色(RGB値又はRGB値から変換されたLAB値)に対して正確な色(CMYK値)で再現することが可能となる。
【0032】
従って、上述した方法により、デバイス色空間側で線形にグラデーション図形を形成すれば、LUTテーブルのデータを補間演算することによる量子化誤差の影響を避けることができる。
【0033】
また、グラデーションの色空間と、再現デバイス側の色空間とにおいて、相関が悪い時(色差が多くなる場合)はグラデーションを適宜、分割することでそのエラー量(色差)を減らすことができる。
【0034】
次に、透明な領域におけるグラデーションの画像処理方法を、図6〜図8を用いて説明する。
【0035】
図6〜図8は、本実施形態におけるグラデーションの画像処理方法を説明するための図である。図6に示すように、グラデーションオブジェクトg1と、イメージオブジェクトg2とが重なっているものとする。ここで、グラデーションオブジェクトg1は、α値がα1である。そして、左端の色から右端の色までは、図7に示すg1のグラフのように、単純な線形の変化ではなく、曲線で表されるような関数で表現されている。
【0036】
一方、イメージオブジェクトg2は、α値がα2である。そして、左端の色から右端の色までは、図7に示すg2のグラフのように、データが分布している。
【0037】
また、図6に示すように、重なり部分の領域をFrとし、この重なり領域Frを、以下のように定義する。
【0038】
Fr(x,y)={Σαi・fi(x,y)}/(1.0/Σαi)
f1(x,y)=g1(x,y)
f2(x,y)=g2(x,y)
上記式において、i=1、2である。また、f1はグラデーションオブジェクトg1における色の値(例えば、RGBそれぞれの値)である。f2も同様であり、イメージオブジェクトg2における色の値を表している。ここで、図形は平面上のオブジェクトと定義されるので、xとyを入力値として持つ。
【0039】
本実施形態では、図8に示すグラフに対してベクトル解析を行うよう構成する。ここでは、グラフが増加し続けるのか、或いは減少し続けるのかを調べ、関数の極大点、極小点を見つけ出す。一般にグラフの傾きが切り替わる所は、その微分値を調べることで可能であるが、前後の値を直接比較することでも、簡易に見つけ出すことができる。
【0040】
尚、精度が問題になる場合は、システムとして必要な分解能になるように、その前後の値を補間することで、必要な精度の極大点、極小点を見つけることができる。
【0041】
図8に示す例では、極大点としてp1が、極小点としてp2が存在している。ここで、p0からp1までの間はFr値は必ず増加し、p1からp2までの間は減少し、p2からp3までの間は増加するということがわかる。
【0042】
従って、これらの情報より、合成部分のグラデーションは、p1、p2の2点により、3つの領域に分割し処理すれば良いことになる。
【0043】
分割された3つのグラデーション領域は、それぞれがp0、p1、p2、p3におけるFr値を端点の色として持つ独立のグラデーションである。よって、上述したような一つのグラデーションとして、デバイス色空間での処理、若しくは、更に必要に応じてグラデーション分割を実施することにより、量子化誤差の影響を排除した綺麗なグラデーション画像を生成することができる。
【0044】
尚、上述したグラデーションの分割処理は、重なり領域の画像の変化が大きい場合は、あまり意味を持たなくなってくる。例えば、イメージオブジェクトにおいて、その内部におけるピクセルの色の変化が激しい場合は、グラデーション(色の変化がゆるやか、比較的面積の広いフラットな図形を意味する)には見えない。
【0045】
次に、イメージオブジェクトとグラデーションオブジェクトを合成する際に、ベクトル解析を実行するか否かを判断する前段処理を、図9を用いて説明する。
【0046】
図9は、本実施形態における前段処理を示すフローチャートである。まず、ステップS901において、オブジェクトg1が合成属性を持つグラデーションであるか否かを判断する。判断の結果、オブジェクトg1が合成属性を持つグラデーションでなければ、この処理を終了する。しかし、オブジェクトg1が合成属性を持つグラデーションであれば、ステップS902へ処理を進める。
【0047】
このステップS902では、2番目のオブジェクトg2が単純な図形(フラットフィル、グラデーション等)であるか否かを判断する。判断の結果、2番目のオブジェクトg2が単純な図形であれば、ステップS903へ処理を進め、フラグRに“1”をセットし、この処理を終了する。しかし、2番目のオブジェクトg2が図形ではなくて、イメージであれば、ステップS904へ処理を進める。
【0048】
このステップS904では、イメージの離散コサイン変換(DCT)の成分を検査する。ここで、高周波成分が多い場合は、ステップS905へ処理を進め、フラグRに“0”をセットし、この処理を終了する。
【0049】
また、ステップS904で、低周波成分が多い場合は、ステップS906へ処理を進め、重なり領域の画像を展開し、領域内の色の変化を更に詳細に調べる。そして、ステップS907で、グラデーションを綺麗に再現すべき画像であるか否かを判定する。ここで、システムが定義した評価関数に照らし合わせて、グラデーションを綺麗に再現すべき画像であると判定すると、ステップS905へ処理を進め、フラグRに“1”をセットする。しかし、グラデーションを綺麗に再現すべき画像でないと判定すると、ステップS908へ処理を進め、フラグRに“0”をセットする。
【0050】
上述した処理を実行後、フラグRに“1”がセットされていれば、ベクトル解析処理を実行し、セットされていなければ、ベクトル解析を行わないように制御する。
【0051】
図10は、本実施形態におけるプリンティングシステムの構成の一例を示す図である。図10に示すように、プリンティングシステムは、パーソナルコンピュータ(PC)などのホストコンピュータ1001とプリンタ1002とから構成されている。また、ホストコンピュータ1001側で、グラデーションと透明のオブジェクトを処理するように構成されている。そして、本システムは、ホストコンピュータ1001とプリンタ1002のコントローラの両方で印刷に必要な処理を分散して行うシステムである。
【0052】
ここで、ジョブデータは、以下のコマンド及びその色値を含むものとする。
・フラットフィルを表すコマンド(C1)及びその色値(rgb1)
・グラデーションを表すコマンド(C2)及びその色値(rgb2)
・透過オブジェクトを表すコマンド(C3)及びその色値(rgb3)
尚、本システムでは、フラットフィルはプリンタ1002側でレンダリングされ、透過オブジェクトはホストコンピュータ1001側でレンダリングされる。
【0053】
また、全てのオブジェクト(フラットフィル、グラデーション、透過オブジェクト)のカラーマッチングはホストコンピュータ1001側で行われる。
【0054】
グラデーションの処理のためには、端点と中間部とでそれぞれカラーマッチング処理が必要であるが、中間部のカラーマッチング処理は、グラデーションのレンダリング処理を実行する箇所と同じ箇所、即ちホストコンピュータ1001側で行われる。尚、図10に示すように、本システムの構成においては、プリンタ1002側でCMS処理をする必要はない。
【0055】
本実施形態によれば、グラデーションに透明属性が指定され、かつイメージが重なっている場合でも、その重なり領域のグラデーションを描画する際に、グラデーションの色の変化をデバイス色空間で再現させることができる。従って、カラーマッチング処理による量子化誤差の影響を避けることができ、非常に綺麗な高画質な画像を形成することが可能となる。
【0056】
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
【0057】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【0058】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0059】
このプログラムコードを供給するための記録媒体として、例えばフレキシブルディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0060】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
【0061】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【0062】
【図1】2つの透明図形を合成する合成処理を説明するための図である。
【図2】透過指定されたグラデーションとイメージとが重なった場合の画像を示す図である。
【図3】グラデーションを形成する処理を説明するための図である。
【図4】グラデーションを処理する際の問題と、その問題を解決するための方法を示す図である。
【図5】中間部での色差が大きくなっている様子を表す図と、グラデーションを4つの領域に分割した場合を示す図である。
【図6】、
【図7】、
【図8】本実施形態におけるグラデーションの画像処理方法を説明するための図である。
【図9】本実施形態における前段処理を示すフローチャートである。
【図10】本実施形態におけるプリンティングシステムの構成の一例を示す図である。

【特許請求の範囲】
【請求項1】
画像処理方法であって、
重なり部分のグラデーションにおいて、対象オブジェクトそれぞれの関数値を合成し、合成関数を算出する合成関数算出工程と、
前記合成関数算出工程で算出された合成関数の出力値に基づいて、重なり部分における新規のグラデーションを生成する生成工程とを有することを特徴とする画像処理方法。
【請求項2】
オブジェクト毎に色空間が指定され、グラデーションにも色空間が定義されており、
前記合成関数算出工程では、前記対象オブジェクトそれぞれの関数値を前記色空間上で合成することを特徴とする請求項1記載の画像処理方法。
【請求項3】
ジョブ又はページ毎にレンダリング色空間が指定されており、
前記合成関数算出工程は、前記対象オブジェクトそれぞれの関数値を前記レンダリング色空間上で合成することを特徴とする請求項1記載の画像処理方法。
【請求項4】
前記対象オブジェクトにおけるα値が関数で指定されていることを特徴とする請求項2又は3記載の画像処理方法。
【請求項5】
画像処理装置であって、
ページ毎にレンダリング色空間又はオブジェクト毎に色空間を指定可能で、グラデーションの重なり部分のグラデーションを再現する際に、対象オブジェクトそれぞれの関数値を前記レンダリング色空間又は指定された色空間上で合成し、合成関数を算出する合成関数算出手段と、
前記合成関数算出手段で算出された合成関数の出力値に基づいて、重なり部分における新規のグラデーションを生成する生成手段とを有し、
前記合成関数の出力値を解析し、新規にグラデーションのデータを作成し、該グラデーションのデータをレンダリングシステムに受け渡し、重なり部分のグラデーションをデバイス色空間上で形成することを特徴とする画像処理装置。
【請求項6】
前記合成関数の出力値を解析する際に、極大点又は極小点を検索し、該極大点又は極小点に基づいてグラデーションを分割することを特徴とする請求項5記載の画像処理装置。
【請求項7】
前記合成関数の出力値を解析する前に、イメージを検査するために、重なる領域における画像の周波数成分を参照し、高周波成分を多く含む画像の場合、前記合成関数の出力値の解析処理を行わないことを特徴とする請求項5記載の画像処理装置。
【請求項8】
コンピュータを請求項5乃至7の何れか一項記載の画像処理装置の手段として機能させるためのプログラム。
【請求項9】
請求項8記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。

【図4】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図5】
image rotate

【図6】
image rotate

【図10】
image rotate


【公開番号】特開2008−146498(P2008−146498A)
【公開日】平成20年6月26日(2008.6.26)
【国際特許分類】
【出願番号】特願2006−335078(P2006−335078)
【出願日】平成18年12月12日(2006.12.12)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】