説明

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

【課題】 印刷ジョブに対して異なる色変換処理を設定し、オブジェクトに適した処理を行う。
【解決手段】 グラデーションオブジェクトに応じたデータ群にカラーマッチング処理を行い、カラーマッチングの結果に基づき、そのデータ群に対する色の変化傾向を検出し、そのデータ群から中間のピクセルを補間演算により求める。そして、中間のピクセルの値が変化傾向に従って単調に増加或いは減少していない場合に、ピクセルの値を変化傾向に従って補正する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、文字や図形の展開、或いは写真などの自然画像の描画を行う画像処理装置及びその処理方法に関するものである。
【背景技術】
【0002】
従来、図形やイメージデータを印刷するカラープリンタ等において扱われる色データは、図形の場合、カラーモードやコマンドにより指定されるRGB値で与えられ、イメージデータの場合、RGB点順次やRGB面順次の形式で与えられる。また、色データを扱う色空間はRGBとは限らず、カラープリンタ特有の(インク特性等による)YMC色空間やCIE等で定義されているXYZ色空間等もある。
【0003】
何れにしても、カラープリンタ内部で印刷が行われる際に、入力された色データに対してカラープリンタで定義されている色空間に対応する色再現処理が施され(例えばRGBからYMCKへの変換)、実際の印刷出力が行われる。
【0004】
一般に、カラープリンタにおいて、他のデバイスが扱う色データとのカラーマッチングを考慮した場合、基準となる色空間を一つ定義し、他のデバイスとの間でそれぞれの発光(色)特性にあった色補正を行っている。他のデバイスとしては、例えばカラースキャナやCRT等のカラーディスプレイである。
【0005】
この場合、カラープリンタ内部の色処理も、基準となる色空間に対応するものになり、例えばカラーディスプレイに表示されるイメージをカラープリンタで出力しても、忠実に再現することが可能となる。
【0006】
例えば、カラースキャナ、カラーディスプレイ、カラープリンタ等のデバイスで同一の色データを扱うために、基準となる色空間、即ちデバイス非依存色空間を定義し、各デバイスに対応する色空間変換処理を用いて各デバイス固有の色空間へ変換する。これにより、各デバイス間でカラーマッチングを実現することができる。
【0007】
実際には、各デバイスが本質的に持つ物理的な特性により、各デバイスにおける色再現範囲が異なっているため、測色学的な一致を追求するのは難しい。しかしながら、一般的には、CIE1976 L*a*b*等に代表される色差式で色差を最小にするような色補正が提案されている。
【0008】
カラーディスプレイではスクリーンに、カラープリンタでは記録紙に、というように、異なるメディア上に表現される2色が等しいか否かを評価する方法において多くの色差式が提案されている。しかしながら、絶対的に確立されたものはなく、それらは多くの場合、利用する目的により使い分けられているのが実情である。
【0009】
また、これと同時に、色再現にも幾つかの方法が存在し、やはりその目的により使い分けられている。上述のカラーマッチングを考慮した場合、どのような色再現を目的とするかで評価する方法も必然的に異なってくる。特に、カラープリンタにおいて、その内部の色再現方法は出力される印刷物の画質に影響する重要な要素となる。
【0010】
一般には、上述したように、CIE1976 L*a*b*色差式等を用いて、その色差が最小となるような補正を行うことが試みられている。この方法は、カラースキャナから読み取った色データをカラープリンタで色再現するような場合には有効である。これは、元が反射原稿(紙上に再現されていた色)であり、それを印刷装置のインクで再現するのは比較的容易だからである。基本的に、物理的発色の仕組が同一なので、インク特性の違いやその濃度(諧調性)の問題があるにしてもその他のメディアに比べれば色再現は容易である。
【0011】
ところが、カラーディスプレイのスクリーン上に発光されるような色は、物理的な特性自体も反射原稿と異なっており、一般的な色差式による色再現性の追求には限界がある。このようなメディアにおいて出力される画像が自然画であった場合、一般にプリファードマッチングと呼ばれる色再現が利用されている場合が多い。これは、再現画像が元画像と等色であるかどうかという観点から離れて、画像中で最も重要ないくつかの色(例えば、人の肌色等)についてより好ましい色再現を達成しようとするものである。
【0012】
しかし、自然画像のようなデータを扱う際には、このような色再現が有効であっても、コンピュータグラフィックス(CG)画像のようなデータを扱う場合は等色を考慮しないような色再現処理では不都合が生じる。
【0013】
そこで、処理するデータに合わせてその色再現処理が変更可能であれば、上述の問題も解決可能である。従って、扱うデータに対応した色再現処理を選択することにより、より好ましい画質で印刷出力できる多色印刷装置を提供することができる。
【0014】
図1は、従来のプリンタにおける色処理に関する主な処理を示す図である。図1に示すように、入力データは、まず入力部101で一時的に記憶された後、データ解析部102へ送られる。そして、データ解析部102で入力データがイメージデータかCGデータであるかが解析される。具体的には、入力データのデータ形式を認識し、ピクセルサイズと各ピクセルのRGB値が点順次形式で並んでいれば、イメージデータと解析する。また、図形の種類を表すデータとその座標値や色指定値のRGBデータ等がその処理体系に合致する形式で並んでいれば、CGデータと解析する。
【0015】
次に、データ解析部102で解析した結果に基づいて入力データをそのデータの処理に合う展開系へと分岐させる。即ち、データ解析部102で解析した結果がイメージデータであれば、入力データはデータ解析部102からイメージ展開系103へ送られる。そしてイメージ展開系103で色変換処理部104を参照しながらYMCデータへ変換されて描画データに展開され、ページバッファ107に描画される。
【0016】
また、データ解析部102で解析した結果がCGデータであれば、入力データはデータ解析部102からCG展開系105へ送られる。そしてCG展開系105で色変換処理部106を参照しながらYMCデータへ変換されて描画データに展開され、ページバッファ107に描画される。
【0017】
これに対して、モニタへのグラフィックデザインの表示を重視したSVG(Scaleable Vector Graphic)のオブジェクトには、透明な図形と、グラデーション図形が存在する。以下、透明な図形とグラデーション図形について、図面を用いて詳細に説明する。まず、透明な図形について説明する。
【0018】
図2は、2つの図形データを合成する合成処理を説明するための図である。一般的に、描画する画像の色の重なり部分は、任意の混色演算式に従って演算処理することができる。この例では、画像として2つの矩形オブジェクト210、220を入力し、1つの矩形オブジェクト210が透過、合成属性値としてα_CG1を持ち、別の矩形オブジェクト220が透過、合成属性値としてα_CG2を持つものとする。また、各図形の透過、合成属性値は画像を形成しているピクセル毎に設定されているため、合成の際には、ピクセル毎に合成ピクセルを計算することができるように構成されている。
【0019】
この重なった部分242とそれ以外の部分241、243とでは、カラーマッチングの処理が異なるため、図2に示すように、適宜領域231〜233の分解処理が行われる。このような「透過、合成属性値」を使った合成処理は、「αブレンド」と呼ばれることがある。
【0020】
ここで、αブレンドが適用されるオブジェクト(図形)に対して、カラーマッチングを行う方法について説明する。一般的には、以下に挙げられるように、2つの方法が考えられる。
【0021】
1つ目の方法は、図3に示すように、αブレンドの前の段階で、カラーマッチング処理(ガマット圧縮処理)が行われる場合である。PDL(ページ記述言語)ジョブの中には、印刷ページを形成するために必要な各図形(オブジェクト)の情報が含まれる。一般的に、各図形に対しては、任意の色空間を独立に指定することができる。例えば、図2に示す矩形オブジェクト210に対して、ある規格の色空間A(例えば、A−RGB色空間とする)が指定されており、また別の矩形オブジェクト220には、別の規格の色空間B(同様にB−RGB色空間)が指定されているとする。
【0022】
また、システムにおける印刷するデバイスはプリンタAであり、プリンタAへの入力色空間は、RGB色空間(即ち、デバイスRGB色空間)として定義されているとする。
【0023】
ここでは、デバイス非依存の色空間、例えばXYZやLab等の色空間からデバイス色空間へ色変換する際に、プリンタAのICCプロファイル(例えば、XYZからデバイスRGBへの変換)を利用するように構成されている。
【0024】
図2に示す2つの矩形オブジェクトにおける色空間の違いは、プリンタAのICCプロファイルを使うことにより、一つの色空間(ここでは、デバイス色空間)に揃えることができるようになる。
【0025】
具体的には、矩形オブジェクト210に対しては、A−RGB色空間からXYZ色空間へ変換し、このXYZ色空間からプリンタAのICCプロファイルを利用してプリンタAのデバイス色空間へ変換する。このとき、プリンタデバイスのガマットに合わせた色空間圧縮が行われる(ガマットマップ+色変換)。また、矩形オブジェクト210と同様に、矩形オブジェクト220に対しても同じ処理が適用され、デバイスRGB値を得ることができる。
【0026】
これらの変換により、合成の対象となっている2つの矩形オブジェクトの色空間を一つに揃えることができ、各オブジェクトは、同一の色空間、即ち、デバイスRGB色空間内で合成処理が実行される。そして、プリンタ側では、各オブジェクトの合成後のデバイスRGB色空間値を受け取り、プリンタの内部で、このデバイスRGB色空間からプリンタ色空間CMYKへ変換が行われ、印刷出力が実行される。
【0027】
次に、2つ目の方法として、αブレンドが適用されるオブジェクト(図形)を合成処理後に、デバイス色空間へのカラーマッチング処理(ガマット圧縮処理)が行われる場合について説明する。ここでは、PDLスクリプト又はシステムの定義として、レンダリング色空間(ここでの定義は広義、例えば合成等のオペレーションを行う色空間もレンダリング色空間とする)が定義されていることを前提とする。また、レンダリング色空間としては、プリンタのガマットを定義した色空間ではなく、ディスプレイ等の規格から定義されて色空間が指定されているものとする(例えば、標準的な色空間sRGB等)。
【0028】
上述のように、PDL(ページ記述言語)ジョブの中には、印刷ページを形成するために必要な各図形(オブジェクト)の情報が含まれる。一般的に、各図形に対しては、任意の色空間を独立に指定することができる。
【0029】
図2に示す矩形オブジェクト210に対して、ある規格の色空間A(例えば、A−RGB色空間とする)が指定されており、また別の矩形オブジェクト220には、別の規格の色空間B(同様にB−RGB色空間)が指定されているとする。
【0030】
図4に示すように、まず各色空間からレンダリング色空間へ色変換が行われる。ここで、レンダリング色空間として、sRGB色空間が指定されている場合、色空間圧縮を行う必要がないため、単に色空間変換(白色点、色度、又はγ等が影響を受ける線形な変換)が行われる。次に、2つの矩形オブジェクトは、同一の色空間(レンダリング色空間)に変換された後、合成処理が実行される。その後、レンダリング色空間からデバイス色空間(デバイスRGB色空間)へ変換される。このとき、レンダリング色空間とデバイス色空間のガマットは異なるために色空間圧縮がなされる(ガマットマップ+色変換)。
【0031】
プリンタ側では、各オブジェクトの合成後のデバイスRGB色空間値を受け取り、プリンタの内部で、このデバイスRGB色空間からプリンタ色空間CMYKへ変換が行われ、印刷出力が実行される。
【0032】
ここで、上述した2種類の方法(図3及び図4)を対比させ、どちらの方法を適用することが好ましいかについて考察する。まず、前提として合成の処理はPDLがその動作を規定していると考えられる。この前提を踏まえた上で、PDLジョブのレンダリング結果を、ディスプレイやプリンタへ出力する場合を考察する。
【0033】
画像の処理としては、一つのレンダリング色空間上で合成処理がなされ、その合成結果が各デバイスへ流れる場合、各デバイスの色空間に変換されると考えるのが自然である。合成処理は一種の算術演算であり、合成処理を実施する色空間が異なれば、結果も異なってしまい、各デバイスにおける色空間に変換した後、合成処理を行うと不都合が発生する。
【0034】
よって、一般的に考えると、2つ目の方法(図4)、即ち合成処理した後に、デバイス色空間へ色空間圧縮する方法が好ましいと言える。
【0035】
次に、オブジェクトにグラデーションが存在し、そのグラデーションの処理を行う場合について説明する。ここで、グラデーションとは、図形であって、いくつかの点、例えば矩形のような領域が定義されており、複数の点で端点の色が定義されているものである。そして、その中間の色の値は、端点から端点への変化により表現される図形である。
【0036】
図5は、グラデーションの処理を説明するための図である。このグラデーションの図形に対して、カラーマッチング処理を行う場合、計算により発生する量子化誤差に起因して以下の問題が発生する場合がある。図5に示す(A)は、グラデーションオブジェクトであり、図5に示す(B)は8点補間法による補間演算処理を模式的に示している。この補間演算は、次元を順次落としていき、最終的に補間結果を得るものである。
【0037】
例えば、始点から終点にかけて赤から黒に変化するようなグラデーションオブジェクトを考える。この色変換は図5に示すように、描画ライン上の位置Viに応じて行う必要がある。このとき、描画位置の変化(V1−V2)が移動距離(X2−X1)に対して小さい場合、即ち(V1−V2)の値が相対的に低い場合、計算による量子化誤差に起因して、色変換結果が、所望の値にならない場合がある。
【0038】
この問題を、図6を用いて説明すると、グラデーションオブジェクトが、RGB色空間でピクセル展開された後、カラーマッチング処理で各RGBのピクセルが、CMYK値に変換される場合がこれに該当する。各CMYKピクセルの値は、カラーマッチング処理による量子化誤差の影響を受けてしまう。つまり、例えばCMYK色空間側での変化が単調増加でなければいけない場合でも、図6に示す(A)のように量子化誤差の影響を受け、単調増加にならない場合が出てくる。
【0039】
これを解決するためには、例えばカラーマッチング処理と、グラデーションの制御点におけるカラーマッチング結果に基づき、グラデーションにおける色の変化値をデバイス色空間上で補間することが考えられる。
【0040】
即ち、図6に示す(B)を用いて説明すると、まずグラデーションオブジェクトの端点のみカラーマッチング処理を行い、その後、中間のピクセル描画をCMYKレンダリング処理の中で生成する場合がこれに該当する。CMYK色空間内で、グラデーションであることを前提に画像を形成すれば、単調増加という条件を満たしながら画像を形成することが可能となる。
【0041】
よって、一般的に考えると、グラデーションの場合は、図6に示す(B)の方法、即ち端点のみデバイス色空間へ色空間圧縮した後、デバイス色空間で中間ピクセルを生成する方法が好ましいと言える。
【先行技術文献】
【特許文献】
【0042】
【特許文献1】特開2001-218079号公報
【発明の概要】
【発明が解決しようとする課題】
【0043】
このように、オブジェクトにαブレンドが存在する場合はRGB色空間(レンダリング色空間)、グラデーションが存在する場合はデバイスCMYK色空間(デバイス色空間)で処理を行うことが望ましい。しかしながら、従来の印刷システムでは、この点は考察されていなかった。
【0044】
また、上述したように、単純に一つの方法だけを採用すれば、全ての印刷要求を満足できるというものでもない。例えば、高速印刷を行いたい場合やジョブをマルチスレッドで処理し、かつレンダリング色空間としてRGB色空間のみを利用したい場合等をさまざまな処理を実現するための装置構成について検討の余地があった。
【0045】
本発明は上記課題を解決するためになされたもので、印刷ジョブに対して異なる色変換処理を設定し、オブジェクトに適した処理を行うことを目的とする。
【課題を解決するための手段】
【0046】
本発明は、画像処理装置であって、
グラデーションオブジェクトに応じたデータ群にカラーマッチング処理を行う処理手段と、
前記カラーマッチングの結果に基づき、前記データ群に対する色の変化傾向を検出し、前記データ群から中間のピクセルを補間演算により求める演算手段と、
前記中間のピクセルの値が前記変化傾向に従って単調に増加或いは減少していない場合に、前記ピクセルの値を前記変化傾向に従って補正する補正手段とを有することを特徴とする。
【発明の効果】
【0047】
本発明によれば、印刷ジョブに対して異なる色変換処理を設定し、オブジェクトに適した処理を行うことができる。
【図面の簡単な説明】
【0048】
【図1】従来のプリンタにおける色処理に関する主な処理を示す図である。
【図2】2つの図形データを合成する合成処理を説明するための図である。
【図3】透明図形を合成する前にカラーマッチング処理(色空間圧縮)を行う例を示す図である。
【図4】透明図形を合成した後にカラーマッチング処理(色空間圧縮)を行う例を示す図である。
【図5】グラデーションの処理を説明するための図である。
【図6】グラデーション処理における量子化誤差とCMYKレンダリング処理を示す図である。
【図7】第1の実施形態による多色印刷装置(プリンタ)で印刷ジョブを処理する方法を示す図である。
【図8】第1の実施形態におけるプリンタの構成の一例を示すブロック図である。
【図9】第1の実施形態におけるプリント処理ブロックの構成及び設定画面の一例を示す図である。
【図10】グラデーションオブジェクトの分割処理を示すフローチャートである。
【図11】第2の実施形態におけるプリンタで印刷ジョブを処理する方法を示す図である。
【図12】第2の実施形態におけるプリント処理ブロックの構成及び設定画面の一例を示す図である。
【図13】自動設定が選択された場合にプロファイルのLUTのグリッド数から分割数を決定するシーケンスを示す図である。
【図14】補間演算を行った際に、グラデーションの色の変化において単調変化すべき値が反転する例を説明するための図である。
【図15】グラデーションデータが入り口から色立方体内に入り、出口から色立方体の外へ出ていく様子を示す模式図である。
【図16】1つのグラデーションデータが複数の色立方体を横切る時の様子を示す模式図である。
【図17】、
【図18】上昇トレンド時における色立方体内部の補正処理を説明するための図である。
【図19】第3の実施形態における反転補正処理を示すフローチャートである。
【図20】第3の実施形態におけるプリント処理ブロックの構成及びUI設定部の設定画面の一例を示す図である。
【図21】第4の実施形態におけるUI設定部の設定画面を示す図である。
【発明を実施するための形態】
【0049】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【0050】
[第1の実施形態]
図7は、第1の実施形態による多色印刷装置(プリンタ)で印刷ジョブを処理する方法を示す図である。ここで、印刷ジョブは、ジョブスクリプト710としてプリンタ720に入力される。また、1つのジョブスクリプト710に対して1つのカラーチケット構造体731が発行され、それはPDLインタープリタ721、レンダー722、ポストレンダー色変換部723等の必要なモジュールに適宜渡される。
【0051】
まず、透明オブジェクト(αブレンドオブジェクト)がPDLインタープリタ721に渡された場合、オブジェクトの色がレンダリング色空間に変換される(色空間圧縮/カラーマッチングは適用なし)。次に、レンダー722内部で合成処理がレンダリング色空間(例えば、s-RGB、Adobe-RGB等)上で行われる。そして、ポストレンダー色変換部723でレンダリング色空間からデバイス色空間(例えば、プリンタに依存したCMYK色空間)へ色変換が行われる(色空間圧縮はここで適用される)。
【0052】
一方、グラデーションオブジェクトの場合は、PDLインタープリタ721で端点のみカラーマッチング処理が行われる。この段階で、グラデーションオブジェクトの端点(即ちA、B)のみデバイス色空間への色空間圧縮が行われてプリンタに依存したCMYK値が得られ、これがレンダー722に渡される。レンダー722でグラデーションを描画する命令を実行する際に、端点A、BのCMYK値に基づいて、中間のピクセル値を生成していく。例えば、線形補間等の計算を行いながら、中間のピクセル値を算出する。尚、グラデーションオブジェクトに関しては、ポストレンダー色変換部723の処理は不要となる。
【0053】
個々のオブジェクトは、それぞれ異なる処理がなされるが、それらの動作はUI設定部730からユーザにより指示された情報に基づいて生成されるカラーチケット構造体731を参照しながら制御される。カラーチケット構造体731の情報は、各処理部(PDLインタープリタ721、レンダー722、ポストレンダー色変換部723)が適宜読み取り、各処理内の動作を制御するのに利用される情報である。このカラーチケット構造体は、各オブジェクトに対し、PDLインタープリタ721で色空間圧縮を実施するか、ポストレンダー色変換部723で色変換するかを記述した構造体である。尚、カラーチケット構造体は、後述する図9のユーザインタフェースを用いたユーザ指示に応じて発行される。
【0054】
次に、図8を用いて、第1の実施形態におけるプリンタで行われる具体的な印刷ジョブの処理について詳細に説明する。
【0055】
図8は、第1の実施形態におけるプリンタの構成の一例を示すブロック図である。図8において、アプリケーション810で生成された印刷ジョブは、不図示のネットワーク等を経由してプリンタ820へ転送されてくる。プリンタ820の内部には、PDLインタープリタ721、レンダー722、ポストレンダー色変換部723毎に、オブジェクトを判別するオブジェクト判別部824がある。そして、オブジェクト判別部824で、オブジェクトが透過オブジェクトかグラデーションオブジェクトかを判別する。各オブジェクトデータは適宜、処理部825へ転送される。
【0056】
処理部825では、カラーマッチング処理のために、色変換処理部826を適宜、呼び出す構造となっている。色変換処理部826は、プリンタ制御部823からの制御により適時変換処理内容を切り替えるように構成されている。
【0057】
例えば、透過オブジェクトを処理する場合や、合成色の計算が必要な場合は、変換処理827を呼び出す。また、グラデーションオブジェクトの端点等、一つの色について色変換を行う場合は、変換処理828を呼び出すように構成されている。変換処理827は、入力されたオブジェクトC1、C2を、LUTに基づいて透過、合成処理を行い、カラーマッチング処理して出力する。一方、変換処理828は、入力されたオブジェクトCを、LUTに基づいてカラーマッチング処理して出力する。
【0058】
また、プリンタ制御部823は、カラーチケット構造体822の情報に従ってその制御を決定する。カラーチケット構造体822は、プリンタ820のUI設定部821からの情報に基づいて設定され、色変換処理部826の処理内容を切り替えるのに利用されるものである。
【0059】
次に、図9を用いて、第1の実施形態におけるプリンタ820のプリント処理ブロックの構成及びUI設定部821の設定画面について説明する。
【0060】
図9は、第1の実施形態におけるプリント処理ブロックの構成及び設定画面の一例を示す図である。ここで、クライアントPC900からの印刷ジョブがプリント処理ブロック920へ出力され、プリント処理ブロック920内の処理によって不図示のエンジン部へデータ出力が行われるように構成されている。
【0061】
図9に示すように、プリント処理ブロック920は、いくつかの内部処理ブロックから構成されている。まず、印刷応答処理ブロック921は、ネットワーク等から入力されるクライアントPC900からの印刷要求に対して応答を行い、クライアントPC900から送信されてくる印刷データの受信処理を行う。次に、スプーリング処理ブロック922は、印刷応答処理ブロック921が受け取った印刷データをスプーリング領域に、一時的に格納する。
【0062】
印刷処理ブロック923では、印刷データに対して解析処理を行った上で、印刷を行うための画像形成処理を担当する。透過オブジェクト処理ブロック924、グラデーション処理ブロック925は、印刷データ内に含まれるαブレンド、グラデーションの計算処理を行う。制御ブロック926は、後述する印刷のモードに従って、透過オブジェクト処理ブロック924、グラデーション処理ブロック925の処理を制御する。
【0063】
そして、910は印刷のモードをユーザが提供するためのユーザインタフェースであり、UI設定部821の設定画面に表示される。図9に示す例では、「高画質印刷モード」911、「高速印刷モード」912、「デフォルト設定」913、「詳細設定」914、「OK」915、「適用」916、「キャンセル」917の各指示ボタンが表示されている。
【0064】
例えば、高画質印刷モード911が選択されると、αブレンドオブジェクトにはレンダリング色空間としてRGB色空間を適用する。そして、RGB色空間のピクセル単位のビットマップにレンダリングし、その後、色空間圧縮を行いデバイス色空間であるCMYK色空間への変換が行なわれる。一方、グラデーションオブジェクトには、先に色空間圧縮を行い、デバイスCMYK色空間に変換後、レンダリングを適用することでピクセル単位のビットマップを得る。また、高速印刷モード912が選択されると、レンダリング色空間として、RGB色空間のみを適用する。
【0065】
第1の実施形態によれば、カラーチケット構造体を用いて、αブレンドオブジェクトにはRGB色空間(レンダリング色空間)を、グラデーションにはデバイスCMYK色空間(デバイス色空間)を適用するというように色空間を切り替えることができる。
【0066】
また、高速印刷モードでは、αブレンドオブジェクトもグラデーションオブジェクトのいずれもRGB色空間をレンダリング色空間として、レンダリングを行った後、色空間圧縮を行う。何れも該当する印刷ジョブに対して異なる設定のカラーチケット構造体を発行することで、上述したようにレンダリング色空間圧縮処理を実現することができる。
【0067】
[第2の実施形態]
次に、図面を参照しながら本発明に係る第2の実施形態について詳細に説明する。第1の実施形態では、グラデーションオブジェクトに対する処理として、まず端点のみカラーマッチングを行い、その後、中間ピクセルの描画をCMYKレンダリング処理で生成していた。このように、CMYK色空間内でグラデーションを形成すれば、例えばグラデーションの端点から別の端点への色信号の変化が単調増加(減少)という条件を満たした画像を形成することが可能となる。
【0068】
しかし、グラデーションの変化はPDLジョブスクリプト内のカラー色空間で定義されているものである。第1の実施形態の方法では、厳密に言えば、レンダリング色空間内のグラデーションコマンドの色の変化が色空間圧縮後のデバイスの色空間でできているとは限らない。つまり、CMYKのようなデバイス色空間で線形補間等を使って中間ピクセルを生成すると忠実な色再現が行えないという問題がある。
【0069】
そこで、第2の実施形態では、これを回避するために、グラデーションオブジェクトを適宜分割し、分割したオブジェクト毎に、その端点に対してカラーマッチング処理を行うものである。
【0070】
図10は、グラデーションオブジェクトの分割処理を示すフローチャートである。まず、ステップS1001において、初期化処理を行い、ステップS1002では、グリッド(GRID)の生成処理を行う。例えば、グラデーションオブジェクトの分割分解能は、後述するUI設定部で設定できるが、ここでは分解能指定値と対象となるオブジェクトのレンダリング展開時の大きさからグリッド数を決定する。具体的には、分解能として縦横に10DPIが指定されている場合、グラデーションオブジェクトの展開後の大きさが600DPI、プリンタで3000ピクセルであれば、5インチの大きさで画像が形成される。この場合、期待されるグラデーションの分解能を10DPIとすると、その分割数は50が適切な値となる。
【0071】
次に、ステップS1003において、グリッド毎に端点のカラーマッチング値として、デバイスCMYK値を求める。このとき、求めたグリッド点のCMYK値と、その縦横のグリッド点との差分値をDXi,DYiとして記録しておく。そして、DXi,DYiと差分値の最大値(DMX,DMY)とを比較し、DXi,DYiが差分値の最大値を超えた場合はDMX,DMYを適宜更新する。上述の処理を全てのグリッドに対して行う。
【0072】
次に、ステップS1004において、差分値の最大値(DMX,DMY)をDX,DYに代入する。そして、ステップS1005で、後述するUI設定部で指定される閾値と、DX,DYとを比較し、DX,DYの何れかが閾値を超えた場合はステップS1006へ進み、グリッドを再分割する。
【0073】
尚、閾値により再分割を行っているが、差分値、即ちグリッド間のCMYK値の変化が大きい場合、その領域の色の変化が線形性を保てていないことになり、現在のグリッド分割よりも微小な領域に分割する必要が生じる。
【0074】
このステップS1006では、グリッド数の増加を行う。例えば、縦横のグリッド数が50であった場合、グリッド数100をセットする。そして、ステップS1007では、設定されたグリッド数がシステムのグリッドリミット値を超えているか否かを判断する。ここで、超えていなければステップS1003に戻り、上述の処理を繰り返す。
【0075】
尚、グリッドリミット値は、例えば600DPI程度のプリンタでは、300が妥当である。また、視覚特性上も、200〜300程度で画質は満足されると推定されるため、通常はグリッドリミット値として200が設定される。
【0076】
次に、図11を用いて、第2の実施形態におけるプリンタで行われる印刷ジョブの処理について詳細に説明する。
【0077】
図11は、第2の実施形態におけるプリンタで印刷ジョブを処理する方法を示す図である。ここで、印刷ジョブは、ジョブスクリプト1110としてプリンタ1120に入力される。各ジョブには、それぞれカラーチケット構造体1131が発行され、PDLインタープリタ1121、レンダー1122、ポストレンダー色変換部1123等の必要なモジュールに適宜渡される。
【0078】
まず、透明オブジェクト(αブレンドオブジェクト)がPDLインタープリタ1121に渡され、この透明オブジェクトのそれぞれの色がレンダリング色空間に変換される(色空間圧縮なし)。次に、レンダー1122内部で合成処理がレンダリング色空間(例えばs-RGB、Adobe-RGB等)上で行われる。その後、ポストレンダー色変換部1123でレンダリング色空間からデバイス色空間(例えばプリンタに依存したCMYK色空間)へ変換が行われる(ここで色空間圧縮を適用する)。
【0079】
一方、グラデーションオブジェクトの場合は、PDLインタープリタ1121の段階で、再分割処理とカラーマッチング処理が行われる。グラデーションオブジェクトに対する再分割処理は、図10を用いて説明したように、グラデーション解像度や差分値の閾値等の条件に基づいて分割される。尚、このグラデーション解像度や上述の差分値の閾値等の情報は、カラーチケット構造体1131の内部に情報が格納されている。ここで分割されたグラデーションの各オブジェクト(グリッド)の端点は、PDLインタープリンタ1121において色空間圧縮処理が行われ、その結果におけるデバイスCMYK値が求められ、圧縮後のCMYK値は全てレンダー1122に渡される。
【0080】
レンダー1122でグラデーションを描画する命令を実行する際に、端点のCMYK値に基づいて中間のピクセル値を生成していく。例えば、線形補間等の計算を行いながら、その間のピクセル値を算出する。このように、グラデーションオブジェクトに関しては、ポストレンダー色変換部1123の処理は不要である。以上の処理により、図11の1124に示す様に、分解されたグラデーションオブジェクトの端点は、忠実な色再現が可能となる。またグラデーションオブジェクトの2つの端点に挟まれた中間ピクセルは、第1の実施形態に比べ忠実な色再現を実現した上で、色の単調変化も同時に実現できる。
【0081】
透明オブジェクトとグラデーションオブジェクトの2つのオブジェクトは、それぞれ異なる処理がなされるが、それらの動作はカラーチケット構造体1131を参照しながら制御される。カラーチケット構造体1131の情報は、各処理ブロック(PDLインタープリタ1121、レンダー1122、ポストレンダー色変換部1123)が適宜読み取り、各処理内の動作を制御するよう構成されている。
【0082】
また、カラーチケット構造体1131は第1の実施形態と同様に、UI設定部1130からの情報に基づいて生成されるものである。
【0083】
次に、第2の実施形態におけるプリンタ1120のプリント処理ブロックの構成及びUI設定部1130の設定画面を、図12及び図13を用いて説明する。
【0084】
図12は、第2の実施形態におけるプリント処理ブロックの構成及び設定画面の一例を示す図である。図12に示すプリント処理ブロック1220の構成は、図9を用いて説明した第1の実施形態と同様であり、その説明は省略する。また、印刷のモードを設定する設定画面1210も第1の実施形態と同様であるが、第2の実施形態では詳細な設定画面を更に表示し、設定をカスタマイズ可能に構成するものである。
【0085】
図12に示すように、詳細設定ボタン1214が押下されると、詳細設定項目1230が表示される。ここで、透過オブジェクト、グラデーションオブジェクトに対してカラーマッチングのモードを選択することができる。この例では、透過オブジェクトにはPre又はPost-CMS処理、或いは自動の何れかを選択できる。尚、PreCMS処理とは、レンダー1122によるレンダリング後に色空間圧縮を行う処理である。グラデーションオブジェクトには通常処理、高画質化処理、或いは自動の何れかを選択できる。この例では、透過オブジェクトには自動処理が選択され、グラデーションオブジェクトには高画質化処理が選択された状態である。
【0086】
更に、グラデーションオブジェクトに対して高画質化処理を選択した場合に、自動設定又は手動設定が選択できることが示されている。ここで、更に手動設定を選択した場合には、図12に示すように、手動設定項目1240が表示され、グラデーションを処理する際のグリッド解像度及び差分の閾値をそれぞれ設定できるように構成されている。
【0087】
一方、自動設定を選択した場合には、色空間圧縮処理において用いるICCプロファイル等のプロファイルのLUTのグリッド数から分割数を決定するように構成されている。図13に示すシーケンス図を使って簡単に説明すると、カラーマッチング用のコンバーターオブジェクト(コンバーターオブジェクトはカラーマッチング用の一時的なデータ構造であり、プロファイル情報等を保持する)としてA及びBの2つを用意する。このコンバーターオブジェクトは、それぞれプロファイルAとBとが割り当てられている。また、レンダリングインテントとしては、それぞれ1と0とが割り当てられている。
【0088】
実際のプロファイルにアクセスすると、該当するLUTのグリッド数が得られるので、この情報をコンバーターオブジェクトに格納する。図13では、それぞれ17と、33というグリッド数が割り当てられている。
【0089】
PDLジョブに対する処理がスタートし、グラデーションに対してカラーマッチングを適用する段階で、コンバーターオブジェクトからグリッド数の情報を得ることができる。この段階で、グラデーションの分割数は、グリッド数−1と導出される。
【0090】
レンダリングシステムは、指定された分割数でグラデーションを適宜分割し、グラデーションを形成する。図13に示す例では、グラデーションAはコンバーターオブジェクト_Aを使うように指示されており、このコンバーターオブジェクト_Aの中には利用しているプロファイルのグリッド数が17であることから、グラデーションの分割数は16となる。
【0091】
第2の実施形態によれば、グラデーションオブジェクトを適宜分割し、分割した端点に対してカラーマッチング処理を行うことにより、グラデーションのスムーズな勾配を表現することができる。
【0092】
[第3の実施形態]
次に、図面を参照しながら本発明に係る第3の実施形態について詳細に説明する。第3の実施形態は、第2の実施形態に比べて、グラデーションのスムーズな勾配をより良好に実現するものである。
【0093】
グラデーションの色空間(PDLジョブスクリプトの色空間)とデバイスの色空間とで線形性が強い場合は、グラデーションオブジェクトをデバイスの色空間に変換後、レンダリング処理をしても、色再現性上の問題はないと考えられる。尚、グラデーションの色空間は、PDL等の表現で宣言されている、所謂、レンダリングカラースペースやグラデーションカラースペース等の定義のことで、例えばモニタRGB等に相当する。一方、デバイスの色空間は、例えばプリンタのデバイスRGBやデバイスCMYK等である。
【0094】
しかし、線形性が弱い場合は、グラデーションオブジェクトをデバイス色空間に変換後、補間処理を行い中間ピクセルを生成する処理では形成されたグラデーションの各ピクセルはカラーマッチングという観点から厳密に正しい結果とはならない可能性がある。このことにより、デバイス色空間でグラデーションを形成する処理は、厳密なカラーマッチングの正確性よりもグラデーションにおける色変化のスムーズさや高速印刷処理を望む場合に有効な手段と言える。
【0095】
一方、カラーマッチングという観点から、より厳密に正しい色を追求する場合は、グラデーションの色空間にてレンダリングを行い、レンダリング後の各ピクセルによるグラデーションを形成し、全てのピクセルにカラーマッチングを適用する方法もある。しかし、この方法では、図6に示す(A)のように、量子化誤差の影響を受けて画質が劣化するという問題がある。
【0096】
ここで、量子化誤差の影響で画質が劣化する理由に関して、図14を用いて、更に詳細に説明する。
【0097】
図14は、補間演算を行った際に、グラデーションの色の変化において単調変化すべき値が反転する例を説明するための図である。グラデーションオブジェクトにおいて、反転現象が発生すると、その個所に色の段差等が発生し、結果として、視覚的な画質の劣化を感じるようになる。
【0098】
実際に、カラーマッチング処理において補間処理が伴うために計算上の誤差によって反転が起きる場合を、具体的な数値を挙げて説明する。ここでは、カラーLUTのグリーンチャネルの出力データを、8ビット精度の8点補間演算処理より求める場合を説明する。図14に示すように、カラーLUTの入力側の座標であるグリッドデータは、R軸上のグリッド点で160、176の値を、G軸上のグリッド点で192、208の値を、B軸上のグリッド点で240、255の値を持つものとする。この格子上のデータは図14に示す通りである。
【0099】
今、LUT格子の中を通過するグラデーションデータが(RGB)=(159、199、251)→(RGB)=(175、207、251)に変化する場合、このグラデーションデータを変換したグリーンの出力値は単調増加になることが期待される。何故なら、この格子内の変化において端点の値を比較すると、値が増加しているからである。グラデーションの定義として、少なくともこの格子内では、増加或いは減少という変化が維持されることが期待される。多くの場合、この期待通りの計算結果が算出される。
【0100】
しかしながら、例えば8ビットの整数型精度で演算すると、以下の演算結果のように、反転現象が起きることが確認できる。具体的には、補間演算は8点補間で、R→G→Bの順で補間次元を畳み込んでいくように計算していくと、この格子内の出力値Gは入力値が168、203、251の時点で、その出力値Gが前ピクセルの値より低くなる。これは反転が発生していることを示す計算結果である。
<演算結果>
入力値 出力値G
167、203、251 ⇒ 230
168、203、251 ⇒ 229(反転発生)
168、204、251 ⇒ 230。
【0101】
よって、LUTと補間演算とを組み合わせたカラーマッチング処理でグラデーションを作成すると、色再現的には正しい値に近づくが、量子化誤差の影響で反転減少が発生し、その結果、視覚的な劣化が発生することになる。
【0102】
上述したように、グラデーションオブジェクトの場合、デバイス色空間で処理する方法と、グラデーションオブジェクトをカラーマッチングする前のグラデーションが定義されている色空間(レンダリングカラースペースなど)で処理する方法の2種類がある。しかし、それぞれの処理には一長一短がある。
【0103】
第3の実施形態におけるグラデーション処理では、入力パラメータとして、グラデーションオブジェクトの開始点の色情報、終了点の色情報、及びグラデーションオブジェクトで生成すべきピクセル数(デバイス解像度に依存する)を入力する。
【0104】
そして、グラデーション処理は、入力パラメータを受けた後、該当するカラーLUTの立方体(CUBE)において、グラデーションデータの色値の変化傾向(トレンドとも称す)を調査する。更に、その変化傾向に基づいて反転の有無を判定し、反転がある場合には、反転補正処理を行う。
【0105】
次に、カラーLUTの立方体(以下、色立方体)における色値の変化方向(単調に増加或いは減少)を検出する処理(トレンド調査)を詳細に説明する。
【0106】
グラデーションデータは、色立方体の内部や表面を直線的、かつ連続に変化するデータ群である。今、グラデーションデータが入力されると、そのデータ群はグラデーション色空間上にある均等に配置された、複数の色立方体を横切るデータとなる。そして、1つの色立方体を横切る際には、入り口から色立方体内に入り、出口から色立方体の外へ出ていく。
【0107】
図15は、グラデーションデータが入り口から色立方体内に入り、出口から色立方体の外へ出ていく様子を示す模式図である。
【0108】
図16は、1つのグラデーションデータが複数の色立方体を横切る時の様子を示す模式図である。図16に示すように、グリッド面1601〜1603には、グラデーションの色立方体に対する交点が存在する。ここで、交点P1、P2、P3の座標値は、それぞれ計算により求めることができる。
【0109】
次に、色立方体1611、1612において、それぞれ値の増減の傾向(トレンド)を決定していく。このトレンドの決定には幾つかの方法が考えられるが、第3の実施形態では、グリッド面上の入り口及び出口の交点において、それぞれ値を求めた後、その差分を取ることでトレンドを決定するものとする。即ち、図16に示すように、左端に位置するグリッド面上の入り口P1と右端に位置するグリッド面上の出口P2との値を、色立方体1611を構成するグリッド上の値より線形の補間演算で求める。そして、このカラーマッチング処理で得られた値をq1とq2とし、その差分をトレンドTrendとして求める。
【0110】
q1=CMS(p1)
q2=CMS(p2)
Trend=(q2-q1)
上記トレンドを計算した結果、値が正の数の場合は、上昇トレンドであり、負の場合は、下降トレンドとなる。また、“0”の場合は、上昇と下降のどちらにも属さないので、「トレンドなし」と定義される。尚、トレンドは、カラーマッチング前のP1とP2との差で求めても良い。
【0111】
次に、上昇トレンド時における色立方体内部の補正処理を、図17及び図18を用いて説明する。上述したように、色立方体内のトレンドを決定した後、グラデーションを生成していくために、図17に示すように、更にその内部の色値を順次求めていく。これは、デバイス解像度に依存した粒度でピクセル値を計算することで求める。各ピクセル値は、補間演算により求めることができるが、それぞれの値は独立に量子化誤差を持った状態で計算されることもあり、場合によっては反転データとなってしまうことがある。このような状態を回避するために、先に求めたトレンドが上昇トレンドであるにも係わらず図18に示すように、Pnで求めた色値がPn-1で求めた色値よりも低い場合は反転が発生したと判断する。そして、Pnの色値を採用せずに、Pn-1の色値を採用する。即ち、反転を補正するための反転補正処理を行う。
【0112】
この一連の処理を示すフローチャートが図19である。ここで、このフローチャートの各処理について説明する。まず、ステップS1901では、パラメータを入力する。ここでは、このパラメータとして、始点の色、終了点の色、及びグラデーションオブジェクトが必要とするピクセル数を指定する。次に、ステップS1902では、パラメータで指定された始点と終了点で指定された色の値に基づいて、指定されたグラデーションデータが通過する複数の色立方体を特定する。そして、色立方体毎にグラデーションデータのトレンドを調べる。即ち、グリッド面上の入り口P1と出口P2の差を求める。次に、ステップS1903では、パラメータで指定されたグラデーションオブジェクトのピクセル数分、ステップS1904以降のループ処理を繰り返すために、ループ制御に使うカウンタの値をリセットする。
【0113】
ステップS1904では、始点色、終点色、及びカウンタの値により、現在のグラデーション色における入力値を求める。このとき、精度を高めるために、好ましくは8ビット以上の精度(この例では、16ビット)でデータを保持するようにキャスト処理を行う。次に、ステップS1905では、色変換処理(カラーマッチング)を行う。ここでは、16ビットの精度で補間演算処理を行う。次に、ステップS1906で、現在カラーマッチング処理している色が属する色立方体におけるトレンドデータをステップS1902でのトレンド調査と画素の信号値の変化に基づいてトレンドチェックする。尚、画素の信号値の変化は、現在カラーマッチングをした画素と1画素前にカラーマッチングをした画素との間の信号値の変化である。
【0114】
次に、ステップS1907では、チェックの結果により、反転の有無を検査し、反転がある場合はステップS1908へ処理を進めるが、反転がない場合はステップS1909へ処理を進める。このステップS1908では、上述した反転補正処理を行う。ステップS1909では、ストア処理を行う。尚、このストア処理では、必要に応じてビット調整(キャスト処理)を行う。例えば、出力が8ビットのデータが必要な場合は、この時点で16ビットから8ビットへの丸め処理を行う。
【0115】
次に、ステップS1910では、カウンタ値がグラデーションの必要ピクセル数に到達したか否かをチェックし、到達していなければステップS1904に戻り、上述の処理を繰り返す。また、カウンタ値がグラデーションの必要ピクセル数に到達した場合は、この処理を終了する。
【0116】
次に、図20を用いて、第3の実施形態におけるプリント処理ブロックの構成及びUI設定部の設定画面を説明する。尚、第3の実施形態では、第1及び第2の実施形態と同様に、2つの印刷モード(高画質印刷2011と高速印刷2012)から選択できるように構成されている。また、詳細設定ボタン2014が押下された場合に表示される詳細設定項目2030も第2の実施形態と同様である。
【0117】
ここで、ユーザが高画質印刷モードを選択した場合には、αブレンドオブジェクトと、グラデーションオブジェクトのレンダリングをRGB色空間(レンダリング色空間)で行い、上述したピクセル単位のカラーマッチングを適用する。尚、この場合、グラデーションオブジェクトの処理は、上述したようにトレンドを考慮した反転部を検出した上で、その反転部に対して補正処理を実行する。
【0118】
一方、ユーザが高速印刷モードを選択した場合には、αブレンドオブジェクトはRGB色空間(レンダリング色空間)でレンダリングを行う。また、グラデーションオブジェクトに関しては、CMYK色空間(デバイス色空間)でレンダリングを行う。この場合、第2の実施形態のように、グラデーションを形成する処理は、グラデーションの端点(開始点、終了点、又はその間の複数の分割点等)のみカラーマッチング処理を適用し、中間のグラデーションは、CMYK色空間内で補間処理で形成される。グラデーションオブジェクトに補間処理を伴う画素単位のカラーマッチングを行わないので高速な処理が可能となる。
【0119】
上述したように、第3の実施形態では、グラデーションオブジェクトを高画質印刷する際に、反転が生じることなく厳密な色再現ができ、第2の実施形態と比べ、よりスムーズな勾配のグラデーションを形成することができる。第2の実施形態では、レンダリングカラースペースで形成したグラデーションに対して補正する手段を持たないため、高画質グラデーションは、デバイスカラースペースで形成したグラデーションを高画質としていた。
【0120】
しかし、第3の実施形態では、デバイスカラースペースで形成したグラデーションよりも、レンダリングカラースペースでグラデーションに対して補正する手段を持たせた方が、より高画質になるということから適用するカラースペースが逆転している。
【0121】
より簡単に述べると、グラデーションの画質が高い方から並べると、以下の順になる。
1.レンダリングカラースペースで形成したグラデーション+補正する手段有り
2.デバイスカラースペースで形成したグラデーション
3.レンダリングカラースペースで形成したグラデーション+補正する手段なし
第3の実施形態では、上記1と2がシステムに実装されており、第2の実施形態では、上記2と3がシステムに実装されている。
【0122】
第3の実施形態によれば、レンダリングカラースペースでグラデーションのスムーズな勾配をより良好に実現することができる。
【0123】
[第4の実施形態]
次に、図面を参照しながら本発明に係る第4の実施形態について詳細に説明する。第4の実施形態の基本的な構成は、第3の実施形態と同じである。しかし、カラーマッチング処理を行う時の補間方法を切り替える点が異なる。通常カラーマッチング処理は、カラーLUTにアクセスし、入力値より該当する立方体を探し出し、その立方体を構成する点、即ちグリッドから出力値の情報を得た後、線形の補間演算により、入力点に対応する出力値を算出している。
【0124】
ここで、補間演算には、大きく分けて2つの方法が存在している。一つは、8点補間法であり、図5に示すように、次元を順次落としていく方法である。もう一つは4点補間法であり、これは公知であるため、図面は省略するが、4つの点から線形に演算するものである。一般的に、2つの補間方法の違いによる演算結果の違いについては、あまり注意が払われていないが、実際には演算の結果は驚くほど違う。グラデーションオブジェクトを形成する上で、画質上より好ましい補間方法として、検討した結果、8点補間法が最良であることがわかった。8点補間法であっても、数値演算上の誤差(量子化誤差)の影響により、単調増加であるべき出力値が反転することも今回判明した。
【0125】
この8点補間法では、演算に使う点は固定であり、比較的安定した演算値を出力する。これが4点補間法になると、演算に使う点が立方体内の位置によって適宜に切り替わってしまう。これでは、更に演算の誤差を助長してしまう結果となる。実際にグラデーションオブジェクトを形成した実験を行うと、8点補間法で作成されたグラデーションの方が、画質は高いということが判明した。
【0126】
第3の実施形態で説明したように、反転の個所を見つけ、その部分に補正をかけることで、量子化誤差の影響を排除できると思われるが、基本部である計算出力結果が不安定であっては、補正処理が有効に機能しないこともわかってきた。
【0127】
画質的には、8点補間法が最良であるが、一方で、画質的な問題よりも、印刷の速度が重要視されるプリント物も存在する。4点補間法は、8点補間法と比べて常に高速に処理できるという利点がある。
【0128】
そこで、第4の実施形態では、上述の問題に鑑みて、印刷モードやユーザの設定により、補間演算方法を適切に切り替えるものである。
【0129】
図21は、第4の実施形態におけるUI設定部の設定画面を示す図である。印刷モードはユーザの選択により、高速モード又は高画質モードの何れかを選択することができる。高速モードを選択した場合、更に「グラデーションの画質を優先する」か否かを検査し、補間処理方法を切り替えるよう構成されている。
【0130】
ここで、カラーマッチング処理A(高速)とは、4点補間法を用いた補間方法であり、カラーマッチング処理B(高画質)とは、8点補間法を用いた補間方法である。
【0131】
第4の実施形態のプリンタで用いるカラーマッチング処理としては、文字やベタ塗りのグラフィックス、或いは写真等に対して実施するものと、グラデーションオブジェクトに対して行うカラーマッチング処理が、それぞれ独立に設定できる。通常は、前者と後者のカラーマッチング処理は一致させる必要がある。もしこれが異なっていると、補間方法の違いから生じる演算誤差等に起因して同じ色でも異なる色で出力されることになる。
【0132】
そこで、高速モードで、かつグラデーションの画質を優先しない場合は、カラーマッチング処理A(高速)、即ち4点補間法を用いた補間方法を適用する。また、高速モードで、かつグラデーションの画質だけを高画質化したい場合は、カラーマッチング処理B(高画質)、即ち8点補間法を用いた補間処理を適用する。
【0133】
一方、印刷モードで高画質モードを選択した場合は、グラデーションの画質を優先する/しないに関わらず、カラーマッチング処理B(高画質)、即ち8点補間法を用いた補間処理を適用する。
【0134】
第1及び第2の実施形態によれば、カラーチケット構造体を用いて、各オブジェクトに適用する色空間を切り替えることで、オブジェクトに適した色空間を適用できる。例えば、αブレンドオブジェクトにはRGB色空間(レンダリング色空間)を、グラデーションにはデバイスCMYK色空間(デバイス色空間)を適用できる。
【0135】
これにより、αブレンドオブジェクトを印刷した画像は、他のデイバス、例えばモニタディスプレイと一致したカラー再現を実現することができる。また、グラデーション画像では、カラーマッチング処理時の量子化誤差の影響を受けない、滑らかな美しいグラデーション画像を得ることができる。
【0136】
第3の実施形態によれば、第1及び第2の実施形態と同様に、αブレンドオブジェクトにはRGB色空間(レンダリング色空間)を適用するために他のデイバス、例えばモニタディスプレイと一致したカラー再現を実現することができる。グラデーションの画像処理は、印刷のモードに応じて、適切に切り替わるように構成されている。
【0137】
このように、第3の実施形態では、従来の課題であったグラデーションに対するCMS処理における色の再現性、正確性に関する問題を解決し、量子化誤差の影響を受けない、滑らかな美しいグラデーション画像を得ることができる。
【0138】
第4の実施形態によれば、CMS処理で適用する補間演算(4点補間又は8点補間)を切り替える機構を有し、単色や写真画像などのオブジェクトに対するCMS補間処理と、グラデーションオブジェクトのCMS補間処理を独立に制御できる。
【0139】
また、印刷システムとしては、プリンタ内部でジョブをマルチスレッドで処理する構成となっていた場合でも、カラーチケット構造体を各ジョブスレッド毎に発行することで、お互いが干渉することなく動作が可能となる。
【0140】
また、印刷のモードを切り替える場合、例えば高速印刷モードで、レンダリング色空間としてRGB色空間のみを利用する場合も、該当するジョブに対して異なる設定のカラーチケットを発行することで問題なく処理が行える。
【0141】
尚、本発明は複数の機器(例えば、ホストコンピュータ,インターフェース機器,リーダ,プリンタなど)から構成されるシステムに適用しても、1つの機器からなる装置(例えば、複写機,ファクシミリ装置など)に適用しても良い。
【0142】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(CPU若しくはMPU)が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【0143】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【0144】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー(登録商標)ディスク,ハードディスク,光ディスク,光磁気ディスク,CD−ROM,CD−R,磁気テープ,不揮発性のメモリカード,ROMなどを用いることができる。
【0145】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているOS(オペレーティングシステム)などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
【0146】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。

【特許請求の範囲】
【請求項1】
画像処理装置であって、
グラデーションオブジェクトに応じたデータ群にカラーマッチング処理を行う処理手段と、
前記カラーマッチングの結果に基づき、前記データ群に対する色の変化傾向を検出し、前記データ群から中間のピクセルを補間演算により求める演算手段と、
前記中間のピクセルの値が前記変化傾向に従って単調に増加或いは減少していない場合に、前記ピクセルの値を前記変化傾向に従って補正する補正手段とを有することを特徴とする画像処理装置。
【請求項2】
ユーザインタフェースからの指示で発行されるカラーチケットに応じて前記カラーマッチング処理が行われることを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記カラーマッチングにおいて適用される補間演算方法を印刷モード及び前記グラデーションの画質を優先するか否かに応じて切り替えることを特徴とする請求項1に記載の画像処理装置。
【請求項4】
画像処理装置の処理方法であって、
処理手段が、グラデーションオブジェクトに応じたデータ群にカラーマッチング処理を行う処理工程と、
演算手段が、前記カラーマッチングの結果に基づき、前記データ群に対する色の変化傾向を検出し、前記データ群から中間のピクセルを補間演算により求める演算工程と、
補正手段が、前記中間のピクセルの値が前記変化傾向に従って単調に増加或いは減少していない場合に、前記ピクセルの値を前記変化傾向に従って補正する補正工程とを有することを特徴とする画像処理装置の処理方法。
【請求項5】
ユーザインタフェースからの指示で発行されるカラーチケットに応じて前記カラーマッチング処理が行われることを特徴とする請求項4に記載の画像処理装置の処理方法。
【請求項6】
前記カラーマッチングにおいて適用される補間演算方法を印刷モード及び前記グラデーションの画質を優先するか否かに応じて切り替えることを特徴とする請求項4に記載の画像処理装置の処理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図9】
image rotate

【図10】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図5】
image rotate

【図7】
image rotate

【図8】
image rotate

【図11】
image rotate

【図15】
image rotate


【公開番号】特開2012−90326(P2012−90326A)
【公開日】平成24年5月10日(2012.5.10)
【国際特許分類】
【出願番号】特願2011−284442(P2011−284442)
【出願日】平成23年12月26日(2011.12.26)
【分割の表示】特願2006−346655(P2006−346655)の分割
【原出願日】平成18年12月22日(2006.12.22)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】