(57)【要約】【課題】  印刷ジョブに対して異なる色変換処理を設定し、オブジェクトに適した処理を行う。【解決手段】  入力された印刷ジョブのオブジェクトを判別し、判別結果と印刷ジョブ毎に設定された色変換処理を指定する情報とに基づいて印刷ジョブのオブジェクトを色変換処理する。そして、そのオブジェクトが透明オブジェクトの場合にはレンダリング色空間で色変換処理し、グラデーションの場合にはデバイス色空間で色変換処理する。オブジェクトがグラデーションの場合、そのオブジェクトを複数のオブジェクトに分割し、各オブジェクトの端点に対してカラーマッチング処理を行い、デバイス色空間で中間ピクセルを形成する。【選択図】      図１１
2008160476.tif 000002
【特許請求の範囲】
【請求項１】
画像処理装置であって、
入力された印刷ジョブのオブジェクトを判別する判別手段と、
前記判別手段での結果と前記印刷ジョブ毎に設定された色変換処理を指定する情報とに基づいて前記オブジェクトを色変換処理する色変換処理手段とを有し、
前記色変換処理手段は、前記オブジェクトが透明オブジェクトの場合にはレンダリング色空間で色変換処理し、グラデーションの場合にはデバイス色空間で色変換処理し、
前記オブジェクトがグラデーションの場合、前記オブジェクトを複数のオブジェクトに分割し、各オブジェクトの端点に対してカラーマッチング処理を行い、デバイス色空間で中間ピクセルを形成することを特徴とする画像処理装置。
【請求項２】
前記印刷ジョブをマルチスレッドで処理する処理手段を更に有し、
前記色変換処理を指定する情報はジョブスレッド毎に発行されることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記オブジェクトがグラデーションの場合、該グラデーションを指定するパラメータを入力し、
前記パラメータに基づいてカラーマッチング処理でグラデーションのデータ群を形成し、該データ群の色値の変化傾向を調べ、
前記データ群から中間のピクセルの値を補間演算により求め、該中間のピクセルの値が前記変化傾向に従って単調に増加或いは減少していない場合に、該値を単調に増加或いは減少するように補正することを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記パラメータは、少なくとも前記グラデーションの開始点の色情報、終了点の色情報、及びグラデーションオブジェクトで生成すべきピクセル数を含むことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記中間のピクセルの値を求める補間演算は、精度を高めて行われることを特徴とする請求項３に記載の画像処理装置。
【請求項６】
前記色変換処理で適用する補間演算方法を印刷モード及び前記グラデーションの画質を優先するか否かに応じて切り替えることを特徴とする請求項１乃至５の何れか一項に記載の画像処理装置。
【請求項７】
画像処理装置の処理方法であって、
入力された印刷ジョブのオブジェクトを判別する判別工程と、
前記判別工程での結果と前記印刷ジョブ毎に設定された色変換処理を指定する情報とに基づいて前記オブジェクトを色変換処理する色変換処理工程とを有し、
前記色変換処理工程は、前記オブジェクトが透明オブジェクトの場合にはレンダリング色空間で色変換処理し、グラデーションの場合にはデバイス色空間で色変換処理し、
前記オブジェクトがグラデーションの場合、前記オブジェクトを複数のオブジェクトに分割し、各オブジェクトの端点に対してカラーマッチング処理を行い、デバイス色空間で中間ピクセルを形成することを特徴とする画像処理装置の処理方法。
【請求項８】
請求項７に記載の画像処理装置の処理方法の各手順をコンピュータに実行させるためのプログラム。
【請求項９】
請求項８に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項１０】
グラデーションオブジェクトに応じたデータ群にカラーマッチング処理を行う手段と、
前記カラーマッチングの結果に基づき、前記データ群に対する色の変化傾向を検出し、前記データ群から中間のピクセルを補間演算により求める手段と、
前記中間のピクセルの値が前記変化傾向に従って単調に増加或いは減少していない場合に、前記ピクセルの値を前記変化傾向に従って補正する手段とを有することを特徴とする画像処理装置。
【請求項１１】
ユーザインタフェースからの指示で発行されるカラーチケットに応じて前記カラーマッチング処理が行われることを特徴とする請求項１０に記載の画像処理装置。
【請求項１２】
前記カラーマッチングにおいて適用される補間演算方法を印刷モード及び前記グラデーションの画質を優先するか否かに応じて切り替えることを特徴とする請求項１０に記載の画像処理装置。
【請求項１３】
グラデーションオブジェクトに応じたデータ群にカラーマッチング処理を行う工程と、
前記カラーマッチングの結果に基づき、前記データ群に対する色の変化傾向を検出し、前記データ群から中間のピクセルを補間演算により求める工程と、
前記中間のピクセルの値が前記変化傾向に従って単調に増加或いは減少していない場合に、前記ピクセルの値を前記変化傾向に従って補正する工程とを有することを特徴とする画像処理方法。
【請求項１４】
ユーザインタフェースからの指示で発行されるカラーチケットに応じて前記カラーマッチング処理が行われることを特徴とする請求項１３に記載の画像処理方法。
【請求項１５】
前記カラーマッチングにおいて適用される補間演算方法を印刷モード及び前記グラデーションの画質を優先するか否かに応じて切り替えることを特徴とする請求項１３に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字や図形の展開、或いは写真などの自然画像の描画を行う画像処理装置及びその処理方法に関するものである。
【背景技術】
【０００２】
従来、図形やイメージデータを印刷するカラープリンタ等において扱われる色データは、図形の場合、カラーモードやコマンドにより指定されるＲＧＢ値で与えられ、イメージデータの場合、ＲＧＢ点順次やＲＧＢ面順次の形式で与えられる。また、色データを扱う色空間はＲＧＢとは限らず、カラープリンタ特有の（インク特性等による）ＹＭＣ色空間やＣＩＥ等で定義されているＸＹＺ色空間等もある。
【０００３】
何れにしても、カラープリンタ内部で印刷が行われる際に、入力された色データに対してカラープリンタで定義されている色空間に対応する色再現処理が施され（例えばＲＧＢからＹＭＣＫへの変換）、実際の印刷出力が行われる。
【０００４】
一般に、カラープリンタにおいて、他のデバイスが扱う色データとのカラーマッチングを考慮した場合、基準となる色空間を一つ定義し、他のデバイスとの間でそれぞれの発光（色）特性にあった色補正を行っている。他のデバイスとしては、例えばカラースキャナやＣＲＴ等のカラーディスプレイである。
【０００５】
この場合、カラープリンタ内部の色処理も、基準となる色空間に対応するものになり、例えばカラーディスプレイに表示されるイメージをカラープリンタで出力しても、忠実に再現することが可能となる。
【０００６】
例えば、カラースキャナ、カラーディスプレイ、カラープリンタ等のデバイスで同一の色データを扱うために、基準となる色空間、即ちデバイス非依存色空間を定義し、各デバイスに対応する色空間変換処理を用いて各デバイス固有の色空間へ変換する。これにより、各デバイス間でカラーマッチングを実現することができる。
【０００７】
実際には、各デバイスが本質的に持つ物理的な特性により、各デバイスにおける色再現範囲が異なっているため、測色学的な一致を追求するのは難しい。しかしながら、一般的には、CIE1976 L*a*b*等に代表される色差式で色差を最小にするような色補正が提案されている。
【０００８】
カラーディスプレイではスクリーンに、カラープリンタでは記録紙に、というように、異なるメディア上に表現される２色が等しいか否かを評価する方法において多くの色差式が提案されている。しかしながら、絶対的に確立されたものはなく、それらは多くの場合、利用する目的により使い分けられているのが実情である。
【０００９】
また、これと同時に、色再現にも幾つかの方法が存在し、やはりその目的により使い分けられている。上述のカラーマッチングを考慮した場合、どのような色再現を目的とするかで評価する方法も必然的に異なってくる。特に、カラープリンタにおいて、その内部の色再現方法は出力される印刷物の画質に影響する重要な要素となる。
【００１０】
一般には、上述したように、CIE1976 L*a*b*色差式等を用いて、その色差が最小となるような補正を行うことが試みられている。この方法は、カラースキャナから読み取った色データをカラープリンタで色再現するような場合には有効である。これは、元が反射原稿（紙上に再現されていた色）であり、それを印刷装置のインクで再現するのは比較的容易だからである。基本的に、物理的発色の仕組が同一なので、インク特性の違いやその濃度（諧調性）の問題があるにしてもその他のメディアに比べれば色再現は容易である。
【００１１】
ところが、カラーディスプレイのスクリーン上に発光されるような色は、物理的な特性自体も反射原稿と異なっており、一般的な色差式による色再現性の追求には限界がある。このようなメディアにおいて出力される画像が自然画であった場合、一般にプリファードマッチングと呼ばれる色再現が利用されている場合が多い。これは、再現画像が元画像と等色であるかどうかという観点から離れて、画像中で最も重要ないくつかの色（例えば、人の肌色等）についてより好ましい色再現を達成しようとするものである。
【００１２】
しかし、自然画像のようなデータを扱う際には、このような色再現が有効であっても、コンピュータグラフィックス（ＣＧ）画像のようなデータを扱う場合は等色を考慮しないような色再現処理では不都合が生じる。
【００１３】
そこで、処理するデータに合わせてその色再現処理が変更可能であれば、上述の問題も解決可能である。従って、扱うデータに対応した色再現処理を選択することにより、より好ましい画質で印刷出力できる多色印刷装置を提供することができる。
【００１４】
図１は、従来のプリンタにおける色処理に関する主な処理を示す図である。図１に示すように、入力データは、まず入力部１０１で一時的に記憶された後、データ解析部１０２へ送られる。そして、データ解析部１０２で入力データがイメージデータかＣＧデータであるかが解析される。具体的には、入力データのデータ形式を認識し、ピクセルサイズと各ピクセルのＲＧＢ値が点順次形式で並んでいれば、イメージデータと解析する。また、図形の種類を表すデータとその座標値や色指定値のＲＧＢデータ等がその処理体系に合致する形式で並んでいれば、ＣＧデータと解析する。
【００１５】
次に、データ解析部１０２で解析した結果に基づいて入力データをそのデータの処理に合う展開系へと分岐させる。即ち、データ解析部１０２で解析した結果がイメージデータであれば、入力データはデータ解析部１０２からイメージ展開系１０３へ送られる。そしてイメージ展開系１０３で色変換処理部１０４を参照しながらＹＭＣデータへ変換されて描画データに展開され、ページバッファ１０７に描画される。
【００１６】
また、データ解析部１０２で解析した結果がＣＧデータであれば、入力データはデータ解析部１０２からＣＧ展開系１０５へ送られる。そしてＣＧ展開系１０５で色変換処理部１０６を参照しながらＹＭＣデータへ変換されて描画データに展開され、ページバッファ１０７に描画される。
【００１７】
これに対して、モニタへのグラフィックデザインの表示を重視したＳＶＧ（Scaleable Vector Graphic）のオブジェクトには、透明な図形と、グラデーション図形が存在する。以下、透明な図形とグラデーション図形について、図面を用いて詳細に説明する。まず、透明な図形について説明する。
【００１８】
図２は、２つの図形データを合成する合成処理を説明するための図である。一般的に、描画する画像の色の重なり部分は、任意の混色演算式に従って演算処理することができる。この例では、画像として２つの矩形オブジェクト２１０、２２０を入力し、１つの矩形オブジェクト２１０が透過、合成属性値としてα＿ＣＧ１を持ち、別の矩形オブジェクト２２０が透過、合成属性値としてα＿ＣＧ２を持つものとする。また、各図形の透過、合成属性値は画像を形成しているピクセル毎に設定されているため、合成の際には、ピクセル毎に合成ピクセルを計算することができるように構成されている。
【００１９】
この重なった部分２４２とそれ以外の部分２４１、２４３とでは、カラーマッチングの処理が異なるため、図２に示すように、適宜領域２３１〜２３３の分解処理が行われる。このような「透過、合成属性値」を使った合成処理は、「αブレンド」と呼ばれることがある。
【００２０】
ここで、αブレンドが適用されるオブジェクト（図形）に対して、カラーマッチングを行う方法について説明する。一般的には、以下に挙げられるように、２つの方法が考えられる。
【００２１】
１つ目の方法は、図３に示すように、αブレンドの前の段階で、カラーマッチング処理（ガマット圧縮処理）が行われる場合である。ＰＤＬ（ページ記述言語）ジョブの中には、印刷ページを形成するために必要な各図形（オブジェクト）の情報が含まれる。一般的に、各図形に対しては、任意の色空間を独立に指定することができる。例えば、図２に示す矩形オブジェクト２１０に対して、ある規格の色空間Ａ（例えば、Ａ−ＲＧＢ色空間とする）が指定されており、また別の矩形オブジェクト２２０には、別の規格の色空間Ｂ（同様にＢ−ＲＧＢ色空間）が指定されているとする。
【００２２】
また、システムにおける印刷するデバイスはプリンタＡであり、プリンタＡへの入力色空間は、ＲＧＢ色空間（即ち、デバイスＲＧＢ色空間）として定義されているとする。
【００２３】
ここでは、デバイス非依存の色空間、例えばＸＹＺやＬａｂ等の色空間からデバイス色空間へ色変換する際に、プリンタＡのＩＣＣプロファイル（例えば、ＸＹＺからデバイスＲＧＢへの変換）を利用するように構成されている。
【００２４】
図２に示す２つの矩形オブジェクトにおける色空間の違いは、プリンタＡのＩＣＣプロファイルを使うことにより、一つの色空間（ここでは、デバイス色空間）に揃えることができるようになる。
【００２５】
具体的には、矩形オブジェクト２１０に対しては、Ａ−ＲＧＢ色空間からＸＹＺ色空間へ変換し、このＸＹＺ色空間からプリンタＡのＩＣＣプロファイルを利用してプリンタＡのデバイス色空間へ変換する。このとき、プリンタデバイスのガマットに合わせた色空間圧縮が行われる（ガマットマップ＋色変換）。また、矩形オブジェクト２１０と同様に、矩形オブジェクト２２０に対しても同じ処理が適用され、デバイスＲＧＢ値を得ることができる。
【００２６】
これらの変換により、合成の対象となっている２つの矩形オブジェクトの色空間を一つに揃えることができ、各オブジェクトは、同一の色空間、即ち、デバイスＲＧＢ色空間内で合成処理が実行される。そして、プリンタ側では、各オブジェクトの合成後のデバイスＲＧＢ色空間値を受け取り、プリンタの内部で、このデバイスＲＧＢ色空間からプリンタ色空間ＣＭＹＫへ変換が行われ、印刷出力が実行される。
【００２７】
次に、２つ目の方法として、αブレンドが適用されるオブジェクト（図形）を合成処理後に、デバイス色空間へのカラーマッチング処理（ガマット圧縮処理）が行われる場合について説明する。ここでは、ＰＤＬスクリプト又はシステムの定義として、レンダリング色空間（ここでの定義は広義、例えば合成等のオペレーションを行う色空間もレンダリング色空間とする）が定義されていることを前提とする。また、レンダリング色空間としては、プリンタのガマットを定義した色空間ではなく、ディスプレイ等の規格から定義されて色空間が指定されているものとする（例えば、標準的な色空間ｓＲＧＢ等）。
【００２８】
上述のように、ＰＤＬ（ページ記述言語）ジョブの中には、印刷ページを形成するために必要な各図形（オブジェクト）の情報が含まれる。一般的に、各図形に対しては、任意の色空間を独立に指定することができる。
【００２９】
図２に示す矩形オブジェクト２１０に対して、ある規格の色空間Ａ（例えば、Ａ−ＲＧＢ色空間とする）が指定されており、また別の矩形オブジェクト２２０には、別の規格の色空間Ｂ（同様にＢ−ＲＧＢ色空間）が指定されているとする。
【００３０】
図４に示すように、まず各色空間からレンダリング色空間へ色変換が行われる。ここで、レンダリング色空間として、ｓＲＧＢ色空間が指定されている場合、色空間圧縮を行う必要がないため、単に色空間変換（白色点、色度、又はγ等が影響を受ける線形な変換）が行われる。次に、２つの矩形オブジェクトは、同一の色空間（レンダリング色空間）に変換された後、合成処理が実行される。その後、レンダリング色空間からデバイス色空間（デバイスＲＧＢ色空間）へ変換される。このとき、レンダリング色空間とデバイス色空間のガマットは異なるために色空間圧縮がなされる（ガマットマップ＋色変換）。
【００３１】
プリンタ側では、各オブジェクトの合成後のデバイスＲＧＢ色空間値を受け取り、プリンタの内部で、このデバイスＲＧＢ色空間からプリンタ色空間ＣＭＹＫへ変換が行われ、印刷出力が実行される。
【００３２】
ここで、上述した２種類の方法（図３及び図４）を対比させ、どちらの方法を適用することが好ましいかについて考察する。まず、前提として合成の処理はＰＤＬがその動作を規定していると考えられる。この前提を踏まえた上で、ＰＤＬジョブのレンダリング結果を、ディスプレイやプリンタへ出力する場合を考察する。
【００３３】
画像の処理としては、一つのレンダリング色空間上で合成処理がなされ、その合成結果が各デバイスへ流れる場合、各デバイスの色空間に変換されると考えるのが自然である。合成処理は一種の算術演算であり、合成処理を実施する色空間が異なれば、結果も異なってしまい、各デバイスにおける色空間に変換した後、合成処理を行うと不都合が発生する。
【００３４】
よって、一般的に考えると、２つ目の方法（図４）、即ち合成処理した後に、デバイス色空間へ色空間圧縮する方法が好ましいと言える。
【００３５】
次に、オブジェクトにグラデーションが存在し、そのグラデーションの処理を行う場合について説明する。ここで、グラデーションとは、図形であって、いくつかの点、例えば矩形のような領域が定義されており、複数の点で端点の色が定義されているものである。そして、その中間の色の値は、端点から端点への変化により表現される図形である。
【００３６】
図５は、グラデーションの処理を説明するための図である。このグラデーションの図形に対して、カラーマッチング処理を行う場合、計算により発生する量子化誤差に起因して以下の問題が発生する場合がある。図５に示す（Ａ）は、グラデーションオブジェクトであり、図５に示す（Ｂ）は８点補間法による補間演算処理を模式的に示している。この補間演算は、次元を順次落としていき、最終的に補間結果を得るものである。
【００３７】
例えば、始点から終点にかけて赤から黒に変化するようなグラデーションオブジェクトを考える。この色変換は図５に示すように、描画ライン上の位置Ｖｉに応じて行う必要がある。このとき、描画位置の変化（Ｖ１−Ｖ２）が移動距離（Ｘ２−Ｘ１）に対して小さい場合、即ち（Ｖ１−Ｖ２）の値が相対的に低い場合、計算による量子化誤差に起因して、色変換結果が、所望の値にならない場合がある。
【００３８】
この問題を、図６を用いて説明すると、グラデーションオブジェクトが、ＲＧＢ色空間でピクセル展開された後、カラーマッチング処理で各ＲＧＢのピクセルが、ＣＭＹＫ値に変換される場合がこれに該当する。各ＣＭＹＫピクセルの値は、カラーマッチング処理による量子化誤差の影響を受けてしまう。つまり、例えばＣＭＹＫ色空間側での変化が単調増加でなければいけない場合でも、図６に示す（Ａ）のように量子化誤差の影響を受け、単調増加にならない場合が出てくる。
【００３９】
これを解決するためには、例えばカラーマッチング処理と、グラデーションの制御点におけるカラーマッチング結果に基づき、グラデーションにおける色の変化値をデバイス色空間上で補間することが考えられる。
【００４０】
即ち、図６に示す（Ｂ）を用いて説明すると、まずグラデーションオブジェクトの端点のみカラーマッチング処理を行い、その後、中間のピクセル描画をＣＭＹＫレンダリング処理の中で生成する場合がこれに該当する。ＣＭＹＫ色空間内で、グラデーションであることを前提に画像を形成すれば、単調増加という条件を満たしながら画像を形成することが可能となる。
【００４１】
よって、一般的に考えると、グラデーションの場合は、図６に示す（Ｂ）の方法、即ち端点のみデバイス色空間へ色空間圧縮した後、デバイス色空間で中間ピクセルを生成する方法が好ましいと言える。
【特許文献１】特開2001-218079号公報
【発明の開示】
【発明が解決しようとする課題】
【００４２】
このように、オブジェクトにαブレンドが存在する場合はＲＧＢ色空間（レンダリング色空間）、グラデーションが存在する場合はデバイスＣＭＹＫ色空間（デバイス色空間）で処理を行うことが望ましい。しかしながら、従来の印刷システムでは、この点は考察されていなかった。
【００４３】
また、上述したように、単純に一つの方法だけを採用すれば、全ての印刷要求を満足できるというものでもない。例えば、高速印刷を行いたい場合やジョブをマルチスレッドで処理し、かつレンダリング色空間としてＲＧＢ色空間のみを利用したい場合等をさまざまな処理を実現するための装置構成について検討の余地があった。
【００４４】
本発明は上記課題を解決するためになされたもので、印刷ジョブに対して異なる色変換処理を設定し、オブジェクトに適した処理を行うことを目的とする。
【課題を解決するための手段】
【００４５】
本発明は、画像処理装置であって、入力された印刷ジョブのオブジェクトを判別する判別手段と、前記判別手段での結果と前記印刷ジョブ毎に設定された色変換処理を指定する情報とに基づいて前記オブジェクトを色変換処理する色変換処理手段とを有し、前記色変換処理手段は、前記オブジェクトが透明オブジェクトの場合にはレンダリング色空間で色変換処理し、グラデーションの場合にはデバイス色空間で色変換処理し、前記オブジェクトがグラデーションの場合、前記オブジェクトを複数のオブジェクトに分割し、各オブジェクトの端点に対してカラーマッチング処理を行い、デバイス色空間で中間ピクセルを形成することを特徴とする。
【００４６】
また、本発明は、グラデーションオブジェクトに応じたデータ群にカラーマッチング処理を行う手段と、前記カラーマッチングの結果に基づき、前記データ群に対する色の変化傾向を検出し、前記データ群から中間のピクセルを補間演算により求める手段と、前記中間のピクセルの値が前記変化傾向に従って単調に増加或いは減少していない場合に、前記ピクセルの値を前記変化傾向に従って補正する手段とを有することを特徴とする。
【発明の効果】
【００４７】
本発明によれば、印刷ジョブに対して異なる色変換処理を設定し、オブジェクトに適した処理を行うことができる
【発明を実施するための最良の形態】
【００４８】
以下、図面を参照しながら発明を実施するための最良の形態について詳細に説明する。
【００４９】
［第１の実施形態］
図７は、第１の実施形態による多色印刷装置（プリンタ）で印刷ジョブを処理する方法を示す図である。ここで、印刷ジョブは、ジョブスクリプト７１０としてプリンタ７２０に入力される。また、１つのジョブスクリプト７１０に対して１つのカラーチケット構造体７３１が発行され、それはＰＤＬインタープリタ７２１、レンダー７２２、ポストレンダー色変換部７２３等の必要なモジュールに適宜渡される。
【００５０】
まず、透明オブジェクト（αブレンドオブジェクト）がＰＤＬインタープリタ７２１に渡された場合、オブジェクトの色がレンダリング色空間に変換される（色空間圧縮／カラーマッチングは適用なし）。次に、レンダー７２２内部で合成処理がレンダリング色空間（例えば、s-RGB、Adobe-RGB等）上で行われる。そして、ポストレンダー色変換部７２３でレンダリング色空間からデバイス色空間（例えば、プリンタに依存したＣＭＹＫ色空間）へ色変換が行われる（色空間圧縮はここで適用される）。
【００５１】
一方、グラデーションオブジェクトの場合は、ＰＤＬインタープリタ７２１で端点のみカラーマッチング処理が行われる。この段階で、グラデーションオブジェクトの端点（即ちＡ、Ｂ）のみデバイス色空間への色空間圧縮が行われてプリンタに依存したＣＭＹＫ値が得られ、これがレンダー７２２に渡される。レンダー７２２でグラデーションを描画する命令を実行する際に、端点Ａ、ＢのＣＭＹＫ値に基づいて、中間のピクセル値を生成していく。例えば、線形補間等の計算を行いながら、中間のピクセル値を算出する。尚、グラデーションオブジェクトに関しては、ポストレンダー色変換部７２３の処理は不要となる。
【００５２】
個々のオブジェクトは、それぞれ異なる処理がなされるが、それらの動作はＵＩ設定部７３０からユーザにより指示された情報に基づいて生成されるカラーチケット構造体７３１を参照しながら制御される。カラーチケット構造体７３１の情報は、各処理部（ＰＤＬインタープリタ７２１、レンダー７２２、ポストレンダー色変換部７２３）が適宜読み取り、各処理内の動作を制御するのに利用される情報である。このカラーチケット構造体は、各オブジェクトに対し、ＰＤＬインタープリタ７２１で色空間圧縮を実施するか、ポストレンダー色変換部７２３で色変換するかを記述した構造体である。尚、カラーチケット構造体は、後述する図９のユーザインタフェースを用いたユーザ指示に応じて発行される。
【００５３】
次に、図８を用いて、第１の実施形態におけるプリンタで行われる具体的な印刷ジョブの処理について詳細に説明する。
【００５４】
図８は、第１の実施形態におけるプリンタの構成の一例を示すブロック図である。図８において、アプリケーション８１０で生成された印刷ジョブは、不図示のネットワーク等を経由してプリンタ８２０へ転送されてくる。プリンタ８２０の内部には、ＰＤＬインタープリタ７２１、レンダー７２２、ポストレンダー色変換部７２３毎に、オブジェクトを判別するオブジェクト判別部８２４がある。そして、オブジェクト判別部８２４で、オブジェクトが透過オブジェクトかグラデーションオブジェクトかを判別する。各オブジェクトデータは適宜、処理部８２５へ転送される。
【００５５】
処理部８２５では、カラーマッチング処理のために、色変換処理部８２６を適宜、呼び出す構造となっている。色変換処理部８２６は、プリンタ制御部８２３からの制御により適時変換処理内容を切り替えるように構成されている。
【００５６】
例えば、透過オブジェクトを処理する場合や、合成色の計算が必要な場合は、変換処理８２７を呼び出す。また、グラデーションオブジェクトの端点等、一つの色について色変換を行う場合は、変換処理８２８を呼び出すように構成されている。変換処理８２７は、入力されたオブジェクトＣ１、Ｃ２を、ＬＵＴに基づいて透過、合成処理を行い、カラーマッチング処理して出力する。一方、変換処理８２８は、入力されたオブジェクトＣを、ＬＵＴに基づいてカラーマッチング処理して出力する。
【００５７】
また、プリンタ制御部８２３は、カラーチケット構造体８２２の情報に従ってその制御を決定する。カラーチケット構造体８２２は、プリンタ８２０のＵＩ設定部８２１からの情報に基づいて設定され、色変換処理部８２６の処理内容を切り替えるのに利用されるものである。
【００５８】
次に、図９を用いて、第１の実施形態におけるプリンタ８２０のプリント処理ブロックの構成及びＵＩ設定部８２１の設定画面について説明する。
【００５９】
図９は、第１の実施形態におけるプリント処理ブロックの構成及び設定画面の一例を示す図である。ここで、クライアントＰＣ９００からの印刷ジョブがプリント処理ブロック９２０へ出力され、プリント処理ブロック９２０内の処理によって不図示のエンジン部へデータ出力が行われるように構成されている。
【００６０】
図９に示すように、プリント処理ブロック９２０は、いくつかの内部処理ブロックから構成されている。まず、印刷応答処理ブロック９２１は、ネットワーク等から入力されるクライアントＰＣ９００からの印刷要求に対して応答を行い、クライアントＰＣ９００から送信されてくる印刷データの受信処理を行う。次に、スプーリング処理ブロック９２２は、印刷応答処理ブロック９２１が受け取った印刷データをスプーリング領域に、一時的に格納する。
【００６１】
印刷処理ブロック９２３では、印刷データに対して解析処理を行った上で、印刷を行うための画像形成処理を担当する。透過オブジェクト処理ブロック９２４、グラデーション処理ブロック９２５は、印刷データ内に含まれるαブレンド、グラデーションの計算処理を行う。制御ブロック９２６は、後述する印刷のモードに従って、透過オブジェクト処理ブロック９２４、グラデーション処理ブロック９２５の処理を制御する。
【００６２】
そして、９１０は印刷のモードをユーザが提供するためのユーザインタフェースであり、ＵＩ設定部８２１の設定画面に表示される。図９に示す例では、「高画質印刷モード」９１１、「高速印刷モード」９１２、「デフォルト設定」９１３、「詳細設定」９１４、「ＯＫ」９１５、「適用」９１６、「キャンセル」９１７の各指示ボタンが表示されている。
【００６３】
例えば、高画質印刷モード９１１が選択されると、αブレンドオブジェクトにはレンダリング色空間としてＲＧＢ色空間を適用する。そして、ＲＧＢ色空間のピクセル単位のビットマップにレンダリングし、その後、色空間圧縮を行いデバイス色空間であるＣＭＹＫ色空間への変換が行なわれる。一方、グラデーションオブジェクトには、先に色空間圧縮を行い、デバイスＣＭＹＫ色空間に変換後、レンダリングを適用することでピクセル単位のビットマップを得る。また、高速印刷モード９１２が選択されると、レンダリング色空間として、ＲＧＢ色空間のみを適用する。
【００６４】
第１の実施形態によれば、カラーチケット構造体を用いて、αブレンドオブジェクトにはＲＧＢ色空間（レンダリング色空間）を、グラデーションにはデバイスＣＭＹＫ色空間（デバイス色空間）を適用するというように色空間を切り替えることができる。
【００６５】
また、高速印刷モードでは、αブレンドオブジェクトもグラデーションオブジェクトのいずれもＲＧＢ色空間をレンダリング色空間として、レンダリングを行った後、色空間圧縮を行う。何れも該当する印刷ジョブに対して異なる設定のカラーチケット構造体を発行することで、上述したようにレンダリング色空間圧縮処理を実現することができる。
【００６６】
［第２の実施形態］
次に、図面を参照しながら本発明に係る第２の実施形態について詳細に説明する。第１の実施形態では、グラデーションオブジェクトに対する処理として、まず端点のみカラーマッチングを行い、その後、中間ピクセルの描画をＣＭＹＫレンダリング処理で生成していた。このように、ＣＭＹＫ色空間内でグラデーションを形成すれば、例えばグラデーションの端点から別の端点への色信号の変化が単調増加（減少）という条件を満たした画像を形成することが可能となる。
【００６７】
しかし、グラデーションの変化はＰＤＬジョブスクリプト内のカラー色空間で定義されているものである。第１の実施形態の方法では、厳密に言えば、レンダリング色空間内のグラデーションコマンドの色の変化が色空間圧縮後のデバイスの色空間でできているとは限らない。つまり、ＣＭＹＫのようなデバイス色空間で線形補間等を使って中間ピクセルを生成すると忠実な色再現が行えないという問題がある。
【００６８】
そこで、第２の実施形態では、これを回避するために、グラデーションオブジェクトを適宜分割し、分割したオブジェクト毎に、その端点に対してカラーマッチング処理を行うものである。
【００６９】
図１０は、グラデーションオブジェクトの分割処理を示すフローチャートである。まず、ステップＳ１００１において、初期化処理を行い、ステップＳ１００２では、グリッド（GRID）の生成処理を行う。例えば、グラデーションオブジェクトの分割分解能は、後述するＵＩ設定部で設定できるが、ここでは分解能指定値と対象となるオブジェクトのレンダリング展開時の大きさからグリッド数を決定する。具体的には、分解能として縦横に１０ＤＰＩが指定されている場合、グラデーションオブジェクトの展開後の大きさが６００ＤＰＩ、プリンタで３０００ピクセルであれば、５インチの大きさで画像が形成される。この場合、期待されるグラデーションの分解能を１０ＤＰＩとすると、その分割数は５０が適切な値となる。
【００７０】
次に、ステップＳ１００３において、グリッド毎に端点のカラーマッチング値として、デバイスＣＭＹＫ値を求める。このとき、求めたグリッド点のＣＭＹＫ値と、その縦横のグリッド点との差分値をＤＸｉ，ＤＹｉとして記録しておく。そして、ＤＸｉ，ＤＹｉと差分値の最大値（ＤＭＸ，ＤＭＹ）とを比較し、ＤＸｉ，ＤＹｉが差分値の最大値を超えた場合はＤＭＸ，ＤＭＹを適宜更新する。上述の処理を全てのグリッドに対して行う。
【００７１】
次に、ステップＳ１００４において、差分値の最大値（ＤＭＸ，ＤＭＹ）をＤＸ，ＤＹに代入する。そして、ステップＳ１００５で、後述するＵＩ設定部で指定される閾値と、ＤＸ，ＤＹとを比較し、ＤＸ，ＤＹの何れかが閾値を超えた場合はステップＳ１００６へ進み、グリッドを再分割する。
【００７２】
尚、閾値により再分割を行っているが、差分値、即ちグリッド間のＣＭＹＫ値の変化が大きい場合、その領域の色の変化が線形性を保てていないことになり、現在のグリッド分割よりも微小な領域に分割する必要が生じる。
【００７３】
このステップＳ１００６では、グリッド数の増加を行う。例えば、縦横のグリッド数が５０であった場合、グリッド数１００をセットする。そして、ステップＳ１００７では、設定されたグリッド数がシステムのグリッドリミット値を超えているか否かを判断する。ここで、超えていなければステップＳ１００３に戻り、上述の処理を繰り返す。
【００７４】
尚、グリッドリミット値は、例えば６００ＤＰＩ程度のプリンタでは、３００が妥当である。また、視覚特性上も、２００〜３００程度で画質は満足されると推定されるため、通常はグリッドリミット値として２００が設定される。
【００７５】
次に、図１１を用いて、第２の実施形態におけるプリンタで行われる印刷ジョブの処理について詳細に説明する。
【００７６】
図１１は、第２の実施形態におけるプリンタで印刷ジョブを処理する方法を示す図である。ここで、印刷ジョブは、ジョブスクリプト１１１０としてプリンタ１１２０に入力される。各ジョブには、それぞれカラーチケット構造体１１３１が発行され、ＰＤＬインタープリタ１１２１、レンダー１１２２、ポストレンダー色変換部１１２３等の必要なモジュールに適宜渡される。
【００７７】
まず、透明オブジェクト（αブレンドオブジェクト）がＰＤＬインタープリタ１１２１に渡され、この透明オブジェクトのそれぞれの色がレンダリング色空間に変換される（色空間圧縮なし）。次に、レンダー１１２２内部で合成処理がレンダリング色空間（例えばs-RGB、Adobe-RGB等）上で行われる。その後、ポストレンダー色変換部１１２３でレンダリング色空間からデバイス色空間（例えばプリンタに依存したＣＭＹＫ色空間）へ変換が行われる（ここで色空間圧縮を適用する）。
【００７８】
一方、グラデーションオブジェクトの場合は、ＰＤＬインタープリタ１１２１の段階で、再分割処理とカラーマッチング処理が行われる。グラデーションオブジェクトに対する再分割処理は、図１０を用いて説明したように、グラデーション解像度や差分値の閾値等の条件に基づいて分割される。尚、このグラデーション解像度や上述の差分値の閾値等の情報は、カラーチケット構造体１１３１の内部に情報が格納されている。ここで分割されたグラデーションの各オブジェクト（グリッド）の端点は、ＰＤＬインタープリンタ１１２１において色空間圧縮処理が行われ、その結果におけるデバイスＣＭＹＫ値が求められ、圧縮後のＣＭＹＫ値は全てレンダー１１２２に渡される。
【００７９】
レンダー１１２２でグラデーションを描画する命令を実行する際に、端点のＣＭＹＫ値に基づいて中間のピクセル値を生成していく。例えば、線形補間等の計算を行いながら、その間のピクセル値を算出する。このように、グラデーションオブジェクトに関しては、ポストレンダー色変換部１１２３の処理は不要である。以上の処理により、図１１の１１２４に示す様に、分解されたグラデーションオブジェクトの端点は、忠実な色再現が可能となる。またグラデーションオブジェクトの２つの端点に挟まれた中間ピクセルは、第１の実施形態に比べ忠実な色再現を実現した上で、色の単調変化も同時に実現できる。
【００８０】
透明オブジェクトとグラデーションオブジェクトの２つのオブジェクトは、それぞれ異なる処理がなされるが、それらの動作はカラーチケット構造体１１３１を参照しながら制御される。カラーチケット構造体１１３１の情報は、各処理ブロック（ＰＤＬインタープリタ１１２１、レンダー１１２２、ポストレンダー色変換部１１２３）が適宜読み取り、各処理内の動作を制御するよう構成されている。
【００８１】
また、カラーチケット構造体１１３１は第１の実施形態と同様に、ＵＩ設定部１１３０からの情報に基づいて生成されるものである。
【００８２】
次に、第２の実施形態におけるプリンタ１１２０のプリント処理ブロックの構成及びＵＩ設定部１１３０の設定画面を、図１２及び図１３を用いて説明する。
【００８３】
図１２は、第２の実施形態におけるプリント処理ブロックの構成及び設定画面の一例を示す図である。図１２に示すプリント処理ブロック１２２０の構成は、図９を用いて説明した第１の実施形態と同様であり、その説明は省略する。また、印刷のモードを設定する設定画面１２１０も第１の実施形態と同様であるが、第２の実施形態では詳細な設定画面を更に表示し、設定をカスタマイズ可能に構成するものである。
【００８４】
図１２に示すように、詳細設定ボタン１２１４が押下されると、詳細設定項目１２３０が表示される。ここで、透過オブジェクト、グラデーションオブジェクトに対してカラーマッチングのモードを選択することができる。この例では、透過オブジェクトにはPre又はPost-CMS処理、或いは自動の何れかを選択できる。尚、PreCMS処理とは、レンダー１１２２によるレンダリング後に色空間圧縮を行う処理である。グラデーションオブジェクトには通常処理、高画質化処理、或いは自動の何れかを選択できる。この例では、透過オブジェクトには自動処理が選択され、グラデーションオブジェクトには高画質化処理が選択された状態である。
【００８５】
更に、グラデーションオブジェクトに対して高画質化処理を選択した場合に、自動設定又は手動設定が選択できることが示されている。ここで、更に手動設定を選択した場合には、図１２に示すように、手動設定項目１２４０が表示され、グラデーションを処理する際のグリッド解像度及び差分の閾値をそれぞれ設定できるように構成されている。
【００８６】
一方、自動設定を選択した場合には、色空間圧縮処理において用いるＩＣＣプロファイル等のプロファイルのＬＵＴのグリッド数から分割数を決定するように構成されている。図１３に示すシーケンス図を使って簡単に説明すると、カラーマッチング用のコンバーターオブジェクト（コンバーターオブジェクトはカラーマッチング用の一時的なデータ構造であり、プロファイル情報等を保持する）としてＡ及びＢの２つを用意する。このコンバーターオブジェクトは、それぞれプロファイルＡとＢとが割り当てられている。また、レンダリングインテントとしては、それぞれ１と０とが割り当てられている。
【００８７】
実際のプロファイルにアクセスすると、該当するＬＵＴのグリッド数が得られるので、この情報をコンバーターオブジェクトに格納する。図１３では、それぞれ１７と、３３というグリッド数が割り当てられている。
【００８８】
ＰＤＬジョブに対する処理がスタートし、グラデーションに対してカラーマッチングを適用する段階で、コンバーターオブジェクトからグリッド数の情報を得ることができる。この段階で、グラデーションの分割数は、グリッド数−１と導出される。
【００８９】
レンダリングシステムは、指定された分割数でグラデーションを適宜分割し、グラデーションを形成する。図１３に示す例では、グラデーションＡはコンバーターオブジェクト＿Ａを使うように指示されており、このコンバーターオブジェクト＿Ａの中には利用しているプロファイルのグリッド数が１７であることから、グラデーションの分割数は１６となる。
【００９０】
第２の実施形態によれば、グラデーションオブジェクトを適宜分割し、分割した端点に対してカラーマッチング処理を行うことにより、グラデーションのスムーズな勾配を表現することができる。
【００９１】
［第３の実施形態］
次に、図面を参照しながら本発明に係る第３の実施形態について詳細に説明する。第３の実施形態は、第２の実施形態に比べて、グラデーションのスムーズな勾配をより良好に実現するものである。
【００９２】
グラデーションの色空間（ＰＤＬジョブスクリプトの色空間）とデバイスの色空間とで線形性が強い場合は、グラデーションオブジェクトをデバイスの色空間に変換後、レンダリング処理をしても、色再現性上の問題はないと考えられる。尚、グラデーションの色空間は、ＰＤＬ等の表現で宣言されている、所謂、レンダリングカラースペースやグラデーションカラースペース等の定義のことで、例えばモニタＲＧＢ等に相当する。一方、デバイスの色空間は、例えばプリンタのデバイスＲＧＢやデバイスＣＭＹＫ等である。
【００９３】
しかし、線形性が弱い場合は、グラデーションオブジェクトをデバイス色空間に変換後、補間処理を行い中間ピクセルを生成する処理では形成されたグラデーションの各ピクセルはカラーマッチングという観点から厳密に正しい結果とはならない可能性がある。このことにより、デバイス色空間でグラデーションを形成する処理は、厳密なカラーマッチングの正確性よりもグラデーションにおける色変化のスムーズさや高速印刷処理を望む場合に有効な手段と言える。
【００９４】
一方、カラーマッチングという観点から、より厳密に正しい色を追求する場合は、グラデーションの色空間にてレンダリングを行い、レンダリング後の各ピクセルによるグラデーションを形成し、全てのピクセルにカラーマッチングを適用する方法もある。しかし、この方法では、図６に示す（Ａ）のように、量子化誤差の影響を受けて画質が劣化するという問題がある。
【００９５】
ここで、量子化誤差の影響で画質が劣化する理由に関して、図１４を用いて、更に詳細に説明する。
【００９６】
図１４は、補間演算を行った際に、グラデーションの色の変化において単調変化すべき値が反転する例を説明するための図である。グラデーションオブジェクトにおいて、反転現象が発生すると、その個所に色の段差等が発生し、結果として、視覚的な画質の劣化を感じるようになる。
【００９７】
実際に、カラーマッチング処理において補間処理が伴うために計算上の誤差によって反転が起きる場合を、具体的な数値を挙げて説明する。ここでは、カラーＬＵＴのグリーンチャネルの出力データを、８ビット精度の８点補間演算処理より求める場合を説明する。図１４に示すように、カラーＬＵＴの入力側の座標であるグリッドデータは、Ｒ軸上のグリッド点で１６０、１７６の値を、Ｇ軸上のグリッド点で１９２、２０８の値を、Ｂ軸上のグリッド点で２４０、２５５の値を持つものとする。この格子上のデータは図１４に示す通りである。
【００９８】
今、ＬＵＴ格子の中を通過するグラデーションデータが（ＲＧＢ）＝（１５９、１９９、２５１）→（ＲＧＢ）＝（１７５、２０７、２５１）に変化する場合、このグラデーションデータを変換したグリーンの出力値は単調増加になることが期待される。何故なら、この格子内の変化において端点の値を比較すると、値が増加しているからである。グラデーションの定義として、少なくともこの格子内では、増加或いは減少という変化が維持されることが期待される。多くの場合、この期待通りの計算結果が算出される。
【００９９】
しかしながら、例えば８ビットの整数型精度で演算すると、以下の演算結果のように、反転現象が起きることが確認できる。具体的には、補間演算は８点補間で、Ｒ→Ｇ→Ｂの順で補間次元を畳み込んでいくように計算していくと、この格子内の出力値Ｇは入力値が１６８、２０３、２５１の時点で、その出力値Ｇが前ピクセルの値より低くなる。これは反転が発生していることを示す計算結果である。
＜演算結果＞
入力値              出力値Ｇ
１６７、２０３、２５１  ⇒  ２３０
１６８、２０３、２５１  ⇒  ２２９（反転発生）
１６８、２０４、２５１  ⇒  ２３０。
【０１００】
よって、ＬＵＴと補間演算とを組み合わせたカラーマッチング処理でグラデーションを作成すると、色再現的には正しい値に近づくが、量子化誤差の影響で反転減少が発生し、その結果、視覚的な劣化が発生することになる。
【０１０１】
上述したように、グラデーションオブジェクトの場合、デバイス色空間で処理する方法と、グラデーションオブジェクトをカラーマッチングする前のグラデーションが定義されている色空間（レンダリングカラースペースなど）で処理する方法の２種類がある。しかし、それぞれの処理には一長一短がある。
【０１０２】
第３の実施形態におけるグラデーション処理では、入力パラメータとして、グラデーションオブジェクトの開始点の色情報、終了点の色情報、及びグラデーションオブジェクトで生成すべきピクセル数（デバイス解像度に依存する）を入力する。
【０１０３】
そして、グラデーション処理は、入力パラメータを受けた後、該当するカラーＬＵＴの立方体（CUBE）において、グラデーションデータの色値の変化傾向（トレンドとも称す）を調査する。更に、その変化傾向に基づいて反転の有無を判定し、反転がある場合には、反転補正処理を行う。
【０１０４】
次に、カラーＬＵＴの立方体（以下、色立方体）における色値の変化方向（単調に増加或いは減少）を検出する処理（トレンド調査）を詳細に説明する。
【０１０５】
グラデーションデータは、色立方体の内部や表面を直線的、かつ連続に変化するデータ群である。今、グラデーションデータが入力されると、そのデータ群はグラデーション色空間上にある均等に配置された、複数の色立方体を横切るデータとなる。そして、１つの色立方体を横切る際には、入り口から色立方体内に入り、出口から色立方体の外へ出ていく。
【０１０６】
図１５は、グラデーションデータが入り口から色立方体内に入り、出口から色立方体の外へ出ていく様子を示す模式図である。
【０１０７】
図１６は、１つのグラデーションデータが複数の色立方体を横切る時の様子を示す模式図である。図１６に示すように、グリッド面１６０１〜１６０３には、グラデーションの色立方体に対する交点が存在する。ここで、交点P1、P2、P3の座標値は、それぞれ計算により求めることができる。
【０１０８】
次に、色立方体１６１１、１６１２において、それぞれ値の増減の傾向（トレンド）を決定していく。このトレンドの決定には幾つかの方法が考えられるが、第３の実施形態では、グリッド面上の入り口及び出口の交点において、それぞれ値を求めた後、その差分を取ることでトレンドを決定するものとする。即ち、図１６に示すように、左端に位置するグリッド面上の入り口P1と右端に位置するグリッド面上の出口P2との値を、色立方体１６１１を構成するグリッド上の値より線形の補間演算で求める。そして、このカラーマッチング処理で得られた値をq1とq2とし、その差分をトレンドTrendとして求める。
【０１０９】
q1=CMS(p1)
q2=CMS(p2)
Trend=(q2-q1)
上記トレンドを計算した結果、値が正の数の場合は、上昇トレンドであり、負の場合は、下降トレンドとなる。また、“０”の場合は、上昇と下降のどちらにも属さないので、「トレンドなし」と定義される。尚、トレンドは、カラーマッチング前のP1とP2との差で求めても良い。
【０１１０】
次に、上昇トレンド時における色立方体内部の補正処理を、図１７及び図１８を用いて説明する。上述したように、色立方体内のトレンドを決定した後、グラデーションを生成していくために、図１７に示すように、更にその内部の色値を順次求めていく。これは、デバイス解像度に依存した粒度でピクセル値を計算することで求める。各ピクセル値は、補間演算により求めることができるが、それぞれの値は独立に量子化誤差を持った状態で計算されることもあり、場合によっては反転データとなってしまうことがある。このような状態を回避するために、先に求めたトレンドが上昇トレンドであるにも係わらず図１８に示すように、Pnで求めた色値がPn-1で求めた色値よりも低い場合は反転が発生したと判断する。そして、Pnの色値を採用せずに、Pn-1の色値を採用する。即ち、反転を補正するための反転補正処理を行う。
【０１１１】
この一連の処理を示すフローチャートが図１９である。ここで、このフローチャートの各処理について説明する。まず、ステップＳ１９０１では、パラメータを入力する。ここでは、このパラメータとして、始点の色、終了点の色、及びグラデーションオブジェクトが必要とするピクセル数を指定する。次に、ステップＳ１９０２では、パラメータで指定された始点と終了点で指定された色の値に基づいて、指定されたグラデーションデータが通過する複数の色立方体を特定する。そして、色立方体毎にグラデーションデータのトレンドを調べる。即ち、グリッド面上の入り口P1と出口P2の差を求める。次に、ステップＳ１９０３では、パラメータで指定されたグラデーションオブジェクトのピクセル数分、ステップＳ１９０４以降のループ処理を繰り返すために、ループ制御に使うカウンタの値をリセットする。
【０１１２】
ステップＳ１９０４では、始点色、終点色、及びカウンタの値により、現在のグラデーション色における入力値を求める。このとき、精度を高めるために、好ましくは８ビット以上の精度（この例では、１６ビット）でデータを保持するようにキャスト処理を行う。次に、ステップＳ１９０５では、色変換処理（カラーマッチング）を行う。ここでは、１６ビットの精度で補間演算処理を行う。次に、ステップＳ１９０６で、現在カラーマッチング処理している色が属する色立方体におけるトレンドデータをステップＳ１９０２でのトレンド調査と画素の信号値の変化に基づいてトレンドチェックする。尚、画素の信号値の変化は、現在カラーマッチングをした画素と１画素前にカラーマッチングをした画素との間の信号値の変化である。
【０１１３】
次に、ステップＳ１９０７では、チェックの結果により、反転の有無を検査し、反転がある場合はステップＳ１９０８へ処理を進めるが、反転がない場合はステップＳ１９０９へ処理を進める。このステップＳ１９０８では、上述した反転補正処理を行う。ステップＳ１９０９では、ストア処理を行う。尚、このストア処理では、必要に応じてビット調整（キャスト処理）を行う。例えば、出力が８ビットのデータが必要な場合は、この時点で１６ビットから８ビットへの丸め処理を行う。
【０１１４】
次に、ステップＳ１９１０では、カウンタ値がグラデーションの必要ピクセル数に到達したか否かをチェックし、到達していなければステップＳ１９０４に戻り、上述の処理を繰り返す。また、カウンタ値がグラデーションの必要ピクセル数に到達した場合は、この処理を終了する。
【０１１５】
次に、図２０を用いて、第３の実施形態におけるプリント処理ブロックの構成及びＵＩ設定部の設定画面を説明する。尚、第３の実施形態では、第１及び第２の実施形態と同様に、２つの印刷モード（高画質印刷２０１１と高速印刷２０１２）から選択できるように構成されている。また、詳細設定ボタン２０１４が押下された場合に表示される詳細設定項目２０３０も第２の実施形態と同様である。
【０１１６】
ここで、ユーザが高画質印刷モードを選択した場合には、αブレンドオブジェクトと、グラデーションオブジェクトのレンダリングをＲＧＢ色空間（レンダリング色空間）で行い、上述したピクセル単位のカラーマッチングを適用する。尚、この場合、グラデーションオブジェクトの処理は、上述したようにトレンドを考慮した反転部を検出した上で、その反転部に対して補正処理を実行する。
【０１１７】
一方、ユーザが高速印刷モードを選択した場合には、αブレンドオブジェクトはＲＧＢ色空間（レンダリング色空間）でレンダリングを行う。また、グラデーションオブジェクトに関しては、ＣＭＹＫ色空間（デバイス色空間）でレンダリングを行う。この場合、第２の実施形態のように、グラデーションを形成する処理は、グラデーションの端点（開始点、終了点、又はその間の複数の分割点等）のみカラーマッチング処理を適用し、中間のグラデーションは、ＣＭＹＫ色空間内で補間処理で形成される。グラデーションオブジェクトに補間処理を伴う画素単位のカラーマッチングを行わないので高速な処理が可能となる。
【０１１８】
上述したように、第３の実施形態では、グラデーションオブジェクトを高画質印刷する際に、反転が生じることなく厳密な色再現ができ、第２の実施形態と比べ、よりスムーズな勾配のグラデーションを形成することができる。第２の実施形態では、レンダリングカラースペースで形成したグラデーションに対して補正する手段を持たないため、高画質グラデーションは、デバイスカラースペースで形成したグラデーションを高画質としていた。
【０１１９】
しかし、第３の実施形態では、デバイスカラースペースで形成したグラデーションよりも、レンダリングカラースペースでグラデーションに対して補正する手段を持たせた方が、より高画質になるということから適用するカラースペースが逆転している。
【０１２０】
より簡単に述べると、グラデーションの画質が高い方から並べると、以下の順になる。
１．レンダリングカラースペースで形成したグラデーション＋補正する手段有り
２．デバイスカラースペースで形成したグラデーション
３．レンダリングカラースペースで形成したグラデーション＋補正する手段なし
第３の実施形態では、上記１と２がシステムに実装されており、第２の実施形態では、上記２と３がシステムに実装されている。
【０１２１】
第３の実施形態によれば、レンダリングカラースペースでグラデーションのスムーズな勾配をより良好に実現することができる。
【０１２２】
［第４の実施形態］
次に、図面を参照しながら本発明に係る第４の実施形態について詳細に説明する。第４の実施形態の基本的な構成は、第３の実施形態と同じである。しかし、カラーマッチング処理を行う時の補間方法を切り替える点が異なる。通常カラーマッチング処理は、カラーＬＵＴにアクセスし、入力値より該当する立方体を探し出し、その立方体を構成する点、即ちグリッドから出力値の情報を得た後、線形の補間演算により、入力点に対応する出力値を算出している。
【０１２３】
ここで、補間演算には、大きく分けて２つの方法が存在している。一つは、８点補間法であり、図５に示すように、次元を順次落としていく方法である。もう一つは４点補間法であり、これは公知であるため、図面は省略するが、４つの点から線形に演算するものである。一般的に、２つの補間方法の違いによる演算結果の違いについては、あまり注意が払われていないが、実際には演算の結果は驚くほど違う。グラデーションオブジェクトを形成する上で、画質上より好ましい補間方法として、検討した結果、８点補間法が最良であることがわかった。８点補間法であっても、数値演算上の誤差（量子化誤差）の影響により、単調増加であるべき出力値が反転することも今回判明した。
【０１２４】
この８点補間法では、演算に使う点は固定であり、比較的安定した演算値を出力する。これが４点補間法になると、演算に使う点が立方体内の位置によって適宜に切り替わってしまう。これでは、更に演算の誤差を助長してしまう結果となる。実際にグラデーションオブジェクトを形成した実験を行うと、８点補間法で作成されたグラデーションの方が、画質は高いということが判明した。
【０１２５】
第３の実施形態で説明したように、反転の個所を見つけ、その部分に補正をかけることで、量子化誤差の影響を排除できると思われるが、基本部である計算出力結果が不安定であっては、補正処理が有効に機能しないこともわかってきた。
【０１２６】
画質的には、８点補間法が最良であるが、一方で、画質的な問題よりも、印刷の速度が重要視されるプリント物も存在する。４点補間法は、８点補間法と比べて常に高速に処理できるという利点がある。
【０１２７】
そこで、第４の実施形態では、上述の問題に鑑みて、印刷モードやユーザの設定により、補間演算方法を適切に切り替えるものである。
【０１２８】
図２１は、第４の実施形態におけるＵＩ設定部の設定画面を示す図である。印刷モードはユーザの選択により、高速モード又は高画質モードの何れかを選択することができる。高速モードを選択した場合、更に「グラデーションの画質を優先する」か否かを検査し、補間処理方法を切り替えるよう構成されている。
【０１２９】
ここで、カラーマッチング処理Ａ（高速）とは、４点補間法を用いた補間方法であり、カラーマッチング処理Ｂ（高画質）とは、８点補間法を用いた補間方法である。
【０１３０】
第４の実施形態のプリンタで用いるカラーマッチング処理としては、文字やベタ塗りのグラフィックス、或いは写真等に対して実施するものと、グラデーションオブジェクトに対して行うカラーマッチング処理が、それぞれ独立に設定できる。通常は、前者と後者のカラーマッチング処理は一致させる必要がある。もしこれが異なっていると、補間方法の違いから生じる演算誤差等に起因して同じ色でも異なる色で出力されることになる。
【０１３１】
そこで、高速モードで、かつグラデーションの画質を優先しない場合は、カラーマッチング処理Ａ（高速）、即ち４点補間法を用いた補間方法を適用する。また、高速モードで、かつグラデーションの画質だけを高画質化したい場合は、カラーマッチング処理Ｂ（高画質）、即ち８点補間法を用いた補間処理を適用する。
【０１３２】
一方、印刷モードで高画質モードを選択した場合は、グラデーションの画質を優先する／しないに関わらず、カラーマッチング処理Ｂ（高画質）、即ち８点補間法を用いた補間処理を適用する。
【０１３３】
第１及び第２の実施形態によれば、カラーチケット構造体を用いて、各オブジェクトに適用する色空間を切り替えることで、オブジェクトに適した色空間を適用できる。例えば、αブレンドオブジェクトにはＲＧＢ色空間（レンダリング色空間）を、グラデーションにはデバイスＣＭＹＫ色空間（デバイス色空間）を適用できる。
【０１３４】
これにより、αブレンドオブジェクトを印刷した画像は、他のデイバス、例えばモニタディスプレイと一致したカラー再現を実現することができる。また、グラデーション画像では、カラーマッチング処理時の量子化誤差の影響を受けない、滑らかな美しいグラデーション画像を得ることができる。
【０１３５】
第３の実施形態によれば、第１及び第２の実施形態と同様に、αブレンドオブジェクトにはＲＧＢ色空間（レンダリング色空間）を適用するために他のデイバス、例えばモニタディスプレイと一致したカラー再現を実現することができる。グラデーションの画像処理は、印刷のモードに応じて、適切に切り替わるように構成されている。
【０１３６】
このように、第３の実施形態では、従来の課題であったグラデーションに対するＣＭＳ処理における色の再現性、正確性に関する問題を解決し、量子化誤差の影響を受けない、滑らかな美しいグラデーション画像を得ることができる。
【０１３７】
第４の実施形態によれば、ＣＭＳ処理で適用する補間演算（４点補間又は８点補間）を切り替える機構を有し、単色や写真画像などのオブジェクトに対するＣＭＳ補間処理と、グラデーションオブジェクトのＣＭＳ補間処理を独立に制御できる。
【０１３８】
また、印刷システムとしては、プリンタ内部でジョブをマルチスレッドで処理する構成となっていた場合でも、カラーチケット構造体を各ジョブスレッド毎に発行することで、お互いが干渉することなく動作が可能となる。
【０１３９】
また、印刷のモードを切り替える場合、例えば高速印刷モードで、レンダリング色空間としてＲＧＢ色空間のみを利用する場合も、該当するジョブに対して異なる設定のカラーチケットを発行することで問題なく処理が行える。
【０１４０】
尚、本発明は複数の機器（例えば、ホストコンピュータ，インターフェース機器，リーダ，プリンタなど）から構成されるシステムに適用しても、１つの機器からなる装置（例えば、複写機，ファクシミリ装置など）に適用しても良い。
【０１４１】
また、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（ＣＰＵ若しくはＭＰＵ）が記録媒体に格納されたプログラムコードを読出し実行する。これによっても、本発明の目的が達成されることは言うまでもない。
【０１４２】
この場合、記録媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記録媒体は本発明を構成することになる。
【０１４３】
このプログラムコードを供給するための記録媒体としては、例えばフロッピー（登録商標）ディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１４４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、次の場合も含まれることは言うまでもない。即ち、プログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合である。
【０１４５】
更に、記録媒体から読出されたプログラムコードがコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込む。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理により前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【０１４６】
【図１】従来のプリンタにおける色処理に関する主な処理を示す図である。
【図２】２つの図形データを合成する合成処理を説明するための図である。
【図３】透明図形を合成する前にカラーマッチング処理（色空間圧縮）を行う例を示す図である。
【図４】透明図形を合成した後にカラーマッチング処理（色空間圧縮）を行う例を示す図である。
【図５】グラデーションの処理を説明するための図である。
【図６】グラデーション処理における量子化誤差とＣＭＹＫレンダリング処理を示す図である。
【図７】第１の実施形態による多色印刷装置（プリンタ）で印刷ジョブを処理する方法を示す図である。
【図８】第１の実施形態におけるプリンタの構成の一例を示すブロック図である。
【図９】第１の実施形態におけるプリント処理ブロックの構成及び設定画面の一例を示す図である。
【図１０】グラデーションオブジェクトの分割処理を示すフローチャートである。
【図１１】第２の実施形態におけるプリンタで印刷ジョブを処理する方法を示す図である。
【図１２】第２の実施形態におけるプリント処理ブロックの構成及び設定画面の一例を示す図である。
【図１３】自動設定が選択された場合にプロファイルのＬＵＴのグリッド数から分割数を決定するシーケンスを示す図である。
【図１４】補間演算を行った際に、グラデーションの色の変化において単調変化すべき値が反転する例を説明するための図である。
【図１５】グラデーションデータが入り口から色立方体内に入り、出口から色立方体の外へ出ていく様子を示す模式図である。
【図１６】１つのグラデーションデータが複数の色立方体を横切る時の様子を示す模式図である。
【図１７】、
【図１８】上昇トレンド時における色立方体内部の補正処理を説明するための図である。
【図１９】第３の実施形態における反転補正処理を示すフローチャートである。
【図２０】第３の実施形態におけるプリント処理ブロックの構成及びＵＩ設定部の設定画面の一例を示す図である。
【図２１】第４の実施形態におけるＵＩ設定部の設定画面を示す図である。
【図１】
2008160476.tif 000003
【図２】
2008160476.tif 000004
【図３】
2008160476.tif 000005
【図４】
2008160476.tif 000006
【図６】
2008160476.tif 000007
【図９】
2008160476.tif 000008
【図１０】
2008160476.tif 000009
【図１２】
2008160476.tif 000010
【図１３】
2008160476.tif 000011
【図１４】
2008160476.tif 000012
【図１６】
2008160476.tif 000013
【図１７】
2008160476.tif 000014
【図１８】
2008160476.tif 000015
【図１９】
2008160476.tif 000016
【図２０】
2008160476.tif 000017
【図２１】
2008160476.tif 000018
【図５】
2008160476.tif 000019
【図７】
2008160476.tif 000020
【図８】
2008160476.tif 000021
【図１１】
2008160476.tif 000022
【図１５】
2008160476.tif 000023