(57)【特許請求の範囲】
【請求項１】
第１色空間に属する第１の点を示す第１の座標値を、色変換情報に基づき第２色空間に属する第２の点を示す第２の座標値に変換する変換ユニットと、
前記色変換情報を格納するためのライブラリとを有する装置であって、
前記色変換情報は、前記第１色空間を複数の部分第１色空間に分割するための分割情報と、
前記分割情報により規定された第１の部分第１色空間を複数の格子に分割し、それぞれの格子の格子点の座標値に対応する前記第２色空間の座標値を格納した３次元ＬＵＴと、
前記分割情報により規定された第２の部分第１色空間の座標値から前記第２色空間の座標値を求めるための変換関数を定義した関数情報とを含み、
前記変換ユニットは、
前記分割情報に基づき、前記第１の点の属する部分第１色空間を判断する機能と、
前記第１の点が前記第１の部分第１色空間に属する場合は、前記３次元ＬＵＴを用いて前記第２の座標値を求める第１の機能と、
前記第１の点が前記第２の部分第１色空間に属する場合は、前記変換関数を用いて前記第２の座標値を求める第２の機能とを含む、装置。
【請求項２】
請求項１において、
前記第１の部分第１色空間と前記第２の部分第１色空間とは隣接しており、前記関数情報は、前記第２の部分第１色空間との境界面近傍における補正パラメータと、前記補正パラメータを適用する補正範囲パラメータとを含み、
前記第２の座標値を求める第２の機能は、前記第１の点が前記補正範囲パラメータの範囲内であれば、前記変換関数に前記補正パラメータを適用して前記第２の座標値を求める機能を含む、装置。
【請求項３】
第１色空間に属する第１の点を示す第１の座標値を、色変換情報に基づき第２色空間に属する第２の点を示す第２の座標値に変換する方法であって、
前記色変換情報は、
前記第１色空間を複数の部分第１色空間に分割するための分割情報と、
前記分割情報により規定された第１の部分第１色空間を複数の格子に分割し、それぞれの格子の格子点の座標値に対応する前記第２色空間の座標値を格納した３次元ＬＵＴと、
前記分割情報により規定された第２の部分第１色空間の座標値から前記第２色空間の座標値を求めるための変換関数を定義した関数情報とを含み、
前記方法は、
前記分割情報に基づき、前記第１の点の属する部分第１色空間を判断することと、
前記第１の点が前記第１の部分第１色空間に属する場合は、前記３次元ＬＵＴを用いて前記第２の座標値を求めることと、
前記第１の点が前記第２の部分第１色空間に属する場合は、前記変換関数を用いて前記第２の座標値を求めることとを含む、方法。
【請求項４】
請求項３において、
前記第１の部分第１色空間と前記第２の部分第１色空間とは隣接しており、前記関数情報は、前記第２の部分第１色空間との境界面近傍における補正パラメータと、前記補正パラメータを適用する補正範囲パラメータとを含み、
前記第２の座標値を求めることは、前記第１の点が前記補正範囲パラメータの範囲内であれば、前記変換関数に前記補正パラメータを適用して前記第２の座標値を求めることを含む、方法。
【請求項５】
コンピュータに、第１色空間に属する第１の点を示す第１の座標値を、色変換情報に基づき第２色空間に属する第２の点を示す第２の座標値に変換させる命令を含むプログラムであって、
前記コンピュータは、前記色変換情報を格納するためのメモリを有し、
前記色変換情報は、前記第１色空間を複数の部分第１色空間に分割するための分割情報と、
前記分割情報により規定された第１の部分第１色空間を複数の格子に分割し、それぞれの格子の格子点の座標値に対応する前記第２色空間の座標値を格納した３次元ＬＵＴと、
前記分割情報により規定された第２の部分第１色空間の座標値から前記第２色空間の座標値を求めるための変換関数を定義した関数情報とを含み、
前記第２の座標値に変換させる命令は、
前記分割情報に基づき、前記第１の点の属する部分第１色空間を判断することと、
前記第１の点が前記第１の部分第１色空間に属する場合は、前記３次元ＬＵＴを用いて前記第２の座標値を求めることと、
前記第１の点が前記第２の部分第１色空間に属する場合は、前記変換関数を用いて前記第２の座標値を求めることとを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある色空間に属する座標値を、他の色空間に属する座標値に変換するのに適した方法および装置に関するものである。
【背景技術】
【０００２】
特許文献１には、第１の色空間に属する複数の点について定めた色補正値を記憶するルックアップテーブルを備え、第１の色空間に属する点の色値を、ルックアップテーブルが記憶する色補正値に基づいて第２の色空間に属する点の色値に変換する色変換装置において、第１の色空間を複数の格子に分割してあり、ルックアップテーブルは、格子の格子点及び重心、並びに格子の格子面の重心について色補正値を定めてあることを特徴とする色変換装置が記載されている。
【０００３】
特許文献２には、３次元ルックアップテーブルである誤差値格納手段の実使用時に必要なメモリ容量を節約することを可能とした色変換装置を提供することが記載されている。そのため、係数値ＬＵＴ参照部により係数値ＬＵＴを参照して、入力値に対して、入力値の属する領域に対応した係数値を選択し、該選択した係数値と入力値に対する近似関数値を関数値演算部で計算し、該算出した近似関数値と、誤差値ＬＵＴ参照部により誤差値ＬＵＴを参照して得た入力値に対応する誤差値とを加算部で加算することにより、３次元ＬＵＴの出力値を得ることが記載されている。ＬＵＴの出力値と近似関数値の出力値との誤差（差分）を見ると、元々のＬＵＴの出力値の値域と比較して狭くなっており、誤差値については、ＬＵＴの出力値よりも少ないビット数で表現できる。したがって、近似関数値の計算に必要な係数値の個数が少なければ、誤差値格納テーブルのサイズと係数値の格納領域のサイズとを加えても、なお、元々の３次元ＬＵＴのサイズより小さくできるため、ＬＵＴを使用する際のメモリ容量を節約することができる。
【特許文献１】特開２００６−１２１５３０号公報
【特許文献２】特開２００６−２４６２３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
カラー画像出力の需要は高く、様々な機器およびシステムにおいて、カラー画像を出力することが要求されている。たとえば、個人用および業務用を含むプリンタおよびコピー機などの印刷システム、様々なタイプのディスプレイを含むシステムにおいてカラー画像を出力することが要求されている。
【０００５】
カラー画像の出力においては、出力対象の画像情報に対して、色を安定して再現することが要望され、出力方式、ディスプレイタイプなどに合致した色変換（色補正）を行うことが重要である。この色変換処理の１つの方法として、３次元ＬＵＴ（ルックアップテーブル）を用いた方法（３次元補間法）が公知である。３次元ＬＵＴは、精度を向上するためには格子点を増やすことが望ましい。しかしながら、格子点を増やすと３次元ＬＵＴが膨大になる。
【０００６】
色変換処理の他の１つの方法として、近似関数を用いた方法が公知である。近似関数の定義に必要な係数の個数が少なければ、誤差値を格納することを考慮しても、それらを格納するためのメモリ領域を、３次元ＬＵＴを格納するメモリ領域よりも小さくできる可能性がある。しかしながら、色空間の全ての領域において、他の色空間へ変換するための近似関数の定義に必要な係数の個数が少なくできるか否かは問題がある。特に、変換精度を向上しようとした場合、近似関数を複雑にするか、あるいは、係数を定義する領域のサイズ（範囲）を細かく（狭く）する必要が生ずる。したがって、色変換の精度を向上することと、そのために３次元ＬＵＴまたは近似関数の係数および誤差値を格納するためのメモリ容量を節約することとを両立させることは難しい。
【課題を解決するための手段】
【０００７】
本発明の１つの態様は、第１色空間に属する第１の点を示す第１の座標値を、色変換情報に基づき第２色空間に属する第２の点を示す第２の座標値に変換する変換ユニットと、色変換情報を格納するためのライブラリとを有する装置である。色変換情報は、第１色空間を複数の部分第１色空間に分割するための分割情報と、分割情報により規定された第１の部分第１色空間を複数の格子に分割し、それぞれの格子の格子点の座標値に対応する第２色空間の座標値を格納した３次元ＬＵＴと、分割情報により規定された第２の部分第１色空間の座標値から第２色空間の座標値を求めるための変換関数を定義した関数情報とを含む。変換ユニットは、分割情報に基づき、第１の点の属する部分第１色空間を判断する機能と、第１の点が第１の部分第１色空間に属する場合は、３次元ＬＵＴを用いて第２の座標値を求める第１の機能と、第１の点が第２の部分第１色空間に属する場合は、変換関数を用いて第２の座標値を求める第２の機能とを含む。
【０００８】
第１色空間の第１の点を第２色空間の第２の点に変換する場合、その変換特性が、第１色空間の全域にわたって線形あるいはそれに近い状態である場合は少なく、また、第１色空間の全域にわたって変換特性が非線形である場合は少ない。また、色空間には、視覚的に敏感な領域と、それほど敏感ではない領域とが含まれることが多い。
【０００９】
この装置においては、変換元の第１の点が属する部分第１色空間を判断するための分割情報を用意しているので、第１の点が属する部分第１色空間により、第１の機能により、３次元ＬＵＴを用いて第２の点に変換することができる。また、第１の点が属する部分第１色空間によっては、第２の機能により、変換関数を用いて第２の点に変換することができる。したがって、変換特性が線形またはそれに近い領域、あるいは、視覚的に敏感でない領域など、変換のために簡易な関数を用いた方が、色変換情報を格納するライブラリのメモリ容量を小さくできる領域（部分色空間）は、第２の機能により変換されるように分割情報を生成できる。変換特性が非線形な領域、あるいは、視覚的に敏感な領域など、変換のために３次元ＬＵＴを用いた方がライブラリのメモリ容量を小さくできる領域（部分色空間）は、第１の機能により変換されるように分割情報を生成できる。このため、色変換の精度を向上することと、そのために要する色変換情報を格納するためのメモリ容量を節約することとを両立させることができる。
【００１０】
第１の部分第１色空間と第２の部分第１色空間とが隣接している場合は、関数情報は、第２の部分第１色空間との境界面近傍における補正パラメータと、補正パラメータを適用する補正範囲パラメータとを含んでいることが望ましい。また、第２の座標値を求める第２の機能は、第１の点が補正範囲パラメータの範囲内であれば、変換関数に補正パラメータを適用して第２の座標値を求める機能を含んでいることが望ましい。関数により変換する部分色空間の境界面における変換結果（第２の点）と、３次元ＬＵＴにより変換する部分色空間の変換結果とのずれを抑制でき、色変換の品質を向上できる。
【００１１】
本発明の他の態様の１つは、第１色空間に属する第１の点を示す第１の座標値を、色変換情報に基づき第２色空間に属する第２の点を示す第２の座標値に変換する方法である。この方法は以下の工程を含む。
・分割情報に基づき、第１の点の属する部分第１色空間を判断すること。
・第１の点が第１の部分第１色空間に属する場合は、３次元ＬＵＴを用いて第２の座標値を求めること。
・第１の点が第２の部分第１色空間に属する場合は、変換関数を用いて第２の座標値を求めること。
【００１２】
さらに、第１の部分第１色空間と第２の部分第１色空間とは隣接しており、関数情報は、第２の部分第１色空間との境界面近傍における補正パラメータと、補正パラメータを適用する補正範囲パラメータとを含む場合は、第２の座標値を求める工程は、第１の点が補正範囲パラメータの範囲内であれば、変換関数に補正パラメータを適用して第２の座標値を求めることを含むことが望ましい。
【００１３】
本発明のさらに他の態様の１つは、コンピュータに、第１色空間に属する第１の点を示す第１の座標値を、色変換情報に基づき第２色空間に属する第２の点を示す第２の座標値に変換させる命令を含むプログラムである。第２の座標値に変換させる命令は、分割情報に基づき、第１の点の属する部分第１色空間を判断することと、第１の点が第１の部分第１色空間に属する場合は、３次元ＬＵＴを用いて第２の座標値を求めることと、第１の点が第２の部分第１色空間に属する場合は、変換関数を用いて第２の座標値を求めることとを含む。
【発明を実施するための最良の形態】
【００１４】
図１に、本発明の１つの実施形態として、色変換処理を含む画像処理機能を備えたプリンタを示している。このプリンタ１は、パーソナルコンピュータなどのホスト２またはデジタルカメラ３などから画像データを受け入れ、選択された用紙に画像データを印刷する。プリンタ１は、制御ユニット１０と、インクジェット方式により画像を印刷するための印刷機構１２とを有する。印刷機構１２は、レーザ光を用いたページプリンタ方式、熱転写方式、昇華方式など、他の画像を形成する方式を採用したものであっても良い。制御ユニット１０は、画像データを受け入れるための入力インターフェイス１４と、メモリ１５と、ＣＰＵ１６と、画像処理ユニット２０と、出力インターフェイス１７とを含む。入力インターフェイス１４は、例えば、ホスト２またはデジタルカメラ３と接続可能なＵＳＢインターフェイスであり、ＳＤカードなどのメモリカードを装着できるインターフェイス、ＬＡＮインターフェイスであっても良い。
【００１５】
メモリ１５は、ＲＯＭ、ＲＡＭ、ハードディスクなどの揮発性または不揮発性のストレージとしての機能を提供できるものであれば良い。メモリ１５には、ＣＰＵ１６にダウンロードされ、ＣＰＵ１６にプリンタ１を制御するための所定の機能を発揮させるプログラム１８が格納されている。以下で説明する画像処理ユニット２０としての機能をＣＰＵ１６により提供するためのプログラムが格納されていても良い。また、メモリ１５の一部は、色変換処理のための情報（色変換情報）３０を格納するためのライブラリ３９となっている。さらに、メモリ１５は、入力された画像データ、処理中のデータおよび出力用の画像データなどを一時的に格納する機能も果たす。
【００１６】
画像処理ユニット２０は、ＲＧＢデータ（ＲＧＢ色空間）で与えられた画像データ（入力データ）を、ＣＭＹＫデータの画像データ（出力データ）に変換して出力する。この例では、出力データは印刷機構１２において利用可能なＣＭＹＫデータであるが、色変換処理の出力データはＣＭＹＫデータに限定されない。色変換処理は、１つの色空間のデータを、他の色空間のデータ、または、同一の色空間のデータであって画像出力デバイスの発色の特性などにマッチしたデータに変換することであっても良い。
【００１７】
画像処理ユニット２０は、ＲＧＢデータの前処理を行うＲＧＢ処理ユニット２１と、色変換ユニット２５と、ＣＭＹＫデータの後処理を行うＣＭＹＫ処理ユニット２２とを含む。ＲＧＢ処理ユニット２１は、必要に応じて、階調補正処理、領域分離処理を行う。色変換ユニット２５は、ＲＧＢ色空間のデータをＣＭＹＫ色空間のデータに変換する。ＣＭＹＫ処理ユニット２２は、空間フィルタ処理、階調再現処理などを必要に応じて行う。なお、色変換ユニット２５により、ＣＭＹ色空間のデータに変換し、ＣＭＹＫ処理ユニット２２に黒生成処理を含めても良い。
【００１８】
色変換ユニット２５は、ＲＧＢ色空間（第１色空間）に属する第１の点を示す第１のデータ（第１の座標値）２８を、ライブラリ３９の色変換情報３０を用いて、ＣＭＹＫ色空間（第２色空間）に属する第２の点を示す第２のデータ（第２の座標値）２９に変換する。色変換情報３０は、ＲＧＢ色空間を複数の部分ＲＧＢ色空間（部分色空間）に分割するための分割情報３１を含む。色変換情報３０は、さらに、分割情報により規定された部分色空間（第１の部分ＲＧＢ色空間）を複数の格子に分割し、それぞれの格子の格子点の座標値に対応するＣＭＹＫ色空間の座標値を格納した３次元ＬＵＴ（変換用ＬＵＴ）３２を含む。色変換情報３０は、さらに、分割情報により規定された異なる部分色空間（第２の部分ＲＧＢ色空間）の座標値からＣＭＹＫ色空間の座標値を求めるための変換関数（近似関数）を定義した関数情報３３を含む。典型的には、３次元ＬＵＴ３２および関数情報３３は、それぞれ１つではなく、複数である。
【００１９】
図２に、色変換情報３０の概要を示している。この図では、分割情報３１により分割された状態を３次元ＬＵＴ−Ａにより示している。このＬＵＴ−Ａ３１は、ＲＧＢ色空間Ｓ１をいくつかの部分色空間に分割するためのＬＵＴである。ＬＵＴ−Ａ３１に含まれる格子数は、異なる色変換用の３次元ＬＵＴ３２または色変換用の関数情報３３を適用する部分色空間の数に少なくとも相当すればよい。したがって、ＬＵＴ−Ａ３１に含まれる格子の数は限定され、ＬＵＴ−Ａ３１を格納するために要するメモリ量はそれほど多くならない。ＬＵＴ−Ａ３１に含まれる格子の形状は、同一の３次元ＬＵＴ３２または関数情報３３が適用される領域（部分色空間）に依存し、立方体あるいは直方体である必要はなく、また、すべての格子の形状が同一である必要はない。しかしながら、それぞれのＬＵＴ−Ａ３１に含まれる格子点の座標値を格子点毎に定義することは、ＬＵＴ−Ａ３１に含まれるデータ量が増加する要因になる可能性がある。このため、本例のＬＵＴ−Ａ３１は適当なサイズと数の立方体または直方体の格子を用意し、それらの格子により規定される部分色空間のうち、複数の部分色空間に対して同一の３次元ＬＵＴ３２または同一の関数情報３３を適用する方法を採用している。
【００２０】
図２に示したＬＵＴｉおよびＬＵＴｋは、色変換用の３次元ＬＵＴ３２の例である。ＬＵＴｉ３２は、ＬＵＴ−Ａ３１により定義された部分色空間ｉに対応し、その部分色空間ｉをさらに細かな格子に分割した、それぞれの格子点（ＲＧＢ色空間の格子点）に対応するＣＭＹＫ色空間の点の座標値（補正値）を含んでいる。色変換用のＬＵＴ３２はＬＵＴ−Ａ３１の各格子に対応していても良く、ＬＵＴｋ３２のように、複数の格子に対応していても良い。ＬＵＴｋ３２は、４つの格子からなる部分色空間ｋに対応した色変換用のＬＵＴである。
【００２１】
図２に示した関数ｆｊ（ｒ，ｇ，ｂ）および関数ｆｍ（ｒ，ｇ，ｂ）は、関数情報３３により定義された変換関数（近似関数）である。近似関数の種類は特に限定されない。典型的な関数は、図３に示すような、ＲＧＢ色空間の座標値（ｒ，ｇ，ｂ）をＣＭＹＫ色空間の座標値（ｃ，ｍ，ｙ，ｋ）に変換するマトリクスで表現されるものである。
【００２２】
図４に、色変換情報３０のさらに具体的なデータ構造を示している。色変換情報３０は、領域情報部３５と、変換情報部３６とを含む。領域情報部３５は、ＲＧＢ色空間の点が属する部分色空間（領域）を規定する情報を備えている。具体的には、領域情報部３５は、部分色空間（領域）番号３５ａと、ＬＵＴ−Ａ３１で与えられる領域内外判定条件３５ｂと、その領域の変換方法を指定しているデータ、すなわち、変換情報部３６のアドレスを示す変換方法指定部アドレス３５ｃとを含む。変換情報部３６は、ＬＵＴまたは近似関数により変換方法を示す変換方法指定部３６ａを含む。変換情報部３６は、さらに、変換方法が近似関数の場合は、その近似関数を規定する情報を含む関数情報部３３を含む。変換情報部３６は、また、変換方法がＬＵＴの場合は、色変換用のＬＵＴ３２のデータを含む。
【００２３】
図１に戻って、画像処理ユニット２０の変換ユニット２５は、３次元ＬＵＴ−Ａ３１に基づき、ＲＧＢ色空間の第１の点の座標値（ｒ，ｇ，ｂ）の属する領域（部分色空間）を判断する判別機能２６と、色変換用のＬＵＴ３２を用いて座標値（ｒ，ｇ，ｂ）をＣＭＹＫ色空間の座標値（ｃ，ｍ，ｙ，ｋ）に変換する第１の機能２３と、関数情報部３３により定義された変換関数を用いて座標値（ｒ，ｇ，ｂ）をＣＭＹＫ色空間の座標値（ｃ，ｍ，ｙ，ｋ）に変換する第２の機能２４とを含む。変換ユニット２５は、座標値（ｒ，ｇ，ｂ）の属する部分色空間（領域）によって、色変換用のＬＵＴ３２を用い、色変換用のＬＵＴ３２の格子点の座標と補正式とにより座標値（ｃ，ｍ，ｙ，ｋ）を求めることができ、また、近似関数ｆｎ（ｒ，ｇ，ｂ）により座標値（ｃ，ｍ，ｙ，ｋ）を求めることができる。なお、ｎは任意の記号または整数などである。
【００２４】
図５に、ＲＧＢ色空間Ｓ１が領域（部分色空間）に分割され、領域毎に異なる変換方法を用いる様子を２次元のイメージで模式的に示している。変換特性が非線形の領域００には、中程度に分割された色変換用のＬＵＴｐ３２が適用され、変換特性がほとんど線形の領域０１には、近似関数ｆ０１が適用され、変換特性が非線形ではあるが特異点になるような部分を含まない領域０２には、粗く分割された色変換用のＬＵＴｑ３２が適用される。変換特性が線形またはそれに近い領域１０〜１２には、それぞれ近似関数ｆ１０、ｆ１１、ｆ１２が適用される。変換特性が非線形ではあるが特異点になるような部分を含まない領域２０には、粗く分割された色変換用のＬＵＴｒ３２が適用され、特異点に近い領域２１には、中程度に分割された色変換用のＬＵＴｓ３２が適用され、特異点を含み視覚的に敏感な領域２２には、細かく分割された色変換用のＬＵＴｕ３２が適用される。
【００２５】
図６に、ＲＧＢ色空間Ｓ１の座標値（ｒ，ｇ，ｂ）が、ＣＭＹＫ色空間Ｓ２の座標値（ｃ，ｍ，ｙ，ｋ）に変換される様子を１次元のイメージで模式的に示している。領域００においては、色変換用のＬＵＴｐ３２により入力値（座標値）（ｒ，ｇ，ｂ）が出力値（座標値）（ｃ，ｍ，ｙ，ｋ）に変換される。領域１０においては、近似関数ｆ１０により入力値が出力値に変換される。領域２０においては、色変換用のＬＵＴｒ３２により入力値が出力値に変換される。領域３０においては、近似関数ｆ３０により入力値が出力値に変換される。それぞれの領域の近似関数ｆ１０あるいはｆ３０は、図３の（１）式に示したマトリクスで与えられ、マトリクスの係数を含む関数情報３３としてライブラリ３９に格納されている。
【００２６】
さらに、関数情報３３は、部分色空間、すなわち、領域の境界面近傍における補正パラメータ（ｄｅｖ）と、補正パラメータを適用する補正範囲パラメータ（ｄＬ）とを含む。そして、変換ユニット２５の第２の機能２４は、入力値、すなわち、ＲＧＢ色空間Ｓ１の座標値（第１の座標値）が補正範囲パラメータの範囲内であれば、近似関数（変換関数）に補正パラメータを適用して出力値、すなわち、ＣＭＹＫ色空間Ｓ２の座標値（第２の座標値）を求める機能２４ａを含む。近似関数により変換する領域、たとえば領域１０と、ＬＵＴにより変換する領域、たとえば領域２０の境界面１２で、それぞれの領域の変換値に差があると、不連続な変換となる。このため、ＣＭＹＫ色空間Ｓ２において色むらなどの視覚に見える違いが発生する可能性がある。そのような場合には、近似関数ｆ１０の変換値を補正することで精度を上げることができる。ＬＵＴｒ３２で変換する領域２０の側は格子点を詳細にすることで精度を保つことができるので補正は行わず、ＬＵＴ変換による境界面１２での変換値に、近似関数ｆ１０による境界面１２での変換値を合わせるように補正することが望ましい。補正式の一例は以下の通りである。
ｆ´ｉ（ｘ）＝ｆｉ（ｘ）＋ｄｅｖ（ｄＬ−ｄｘ）／ｄＬ・・・（２）
ここで、ｘは入力値、ｄｘは入力値の境界面からの距離、ｄＬは補正範囲を示すパラメータであり、座標Ｌの境界面１２からの距離を示す。ｆｉ（ｘ）は、近似関数であり、ｆ´ｉ（ｘ）は補正後の近似関数である。ｄｅｖは、補正パラメータであり、境界面におけるＬＵＴから求められた座標値と近似関数ｆｉ（ｘ）から求められた座標値との差分を示す。領域１０と領域２０との境界面１２においては、式（２）を適用すると以下のようになる。
ｆ´１０（ｘ）＝ｆ１０（ｘ）
＋ｄｅｖ１２（ｄＬ１２−ｄｘ）／ｄＬ１２・・・（２´）
ここで、ｄＬ１２は境界面１２に対する補正範囲を示すパラメータであり、境界面１２からの距離を示す。ｆ１０（ｘ）は、近似関数であり、ｆ´１０（ｘ）は補正後の近似関数である。ｄｅｖ１２は、境界面１２におけるＬＵＴｒから求められた座標値と近似関数ｆ１０（ｘ）から求められた座標値との差分を示す。
【００２７】
図７に示すように、破線で示す近似関数ｆ１０では境界面１２において、領域１０と領域２０とにおける変換値（出力値）に差が発生する。これに対し、実線で示す補正項を持った近似関数ｆ´１０を適用することにより、境界面１２において、領域１０と領域２０とにおける変換値（出力値）に差が発生するのを防止できる。
【００２８】
図８に、色変換ユニット２５における変換処理（変換方法）５０をフローチャートにより示している。まず、ステップ６０において、分割情報３１に基づき、入力値、すなわち、第１の座標値により、ＲＧＢ色空間Ｓ１の第１の点の属する領域（部分第１色空間）を判断する。この判断は、ＬＵＴ−Ａのような３次元ＬＵＴを用いても良く、座標値からＲＧＢ色空間Ｓ１における領域（部分色空間）を求めても良い。図９は、分割サイズが分割情報３１として与えられている例である。この場合は、ステップ６１において、第１の軸、たとえば、Ｒ軸の分割番号ｍを求め、ステップ６２において、第２の軸、たとえば、Ｇ軸の分割番号ｎを求め、ステップ６３において、第３の軸、たとえば、Ｂ軸の分割番号ｌを求め、ステップ６４において、領域番号ｍｎｌを出力する。
【００２９】
変換処理５０においては、ステップ６０において、入力値により示された入力点の領域が決まると、ステップ５１において変換方法を判断し、入力値（第１の点の座標値）がＬＵＴを適用する領域にあれば、ステップ５２において、色変換用のＬＵＴを用いて出力値、すなわち、ＣＭＹＫ色空間の座標値を求める。一方、入力値が近似関数（変換関数）を適用する領域にあれば、ステップ５３において、近似関数を用いて出力値を求める。ステップ５４において、変換された値を出力し、ステップ５５において、画像を形成するためのすべての入力データが変換されるまで上記を繰り返す。
【００３０】
図８に示した変換方法は、上記の処理を実行可能な回路として提供することが可能である。また、ＣＰＵなどの汎用の処理ユニットにより上記の処理を実行させるためのプログラムとして提供することも可能である。したがって、図１における色変換ユニット２５の機能をＣＰＵ１６により実行させることが可能であり、さらに、画像処理ユニット２０の機能をＣＰＵ１６により実行させることも可能である。その場合は、それらの機能を実行するための命令を含むプログラム１８が提供され、メモリ１５に格納される。
【００３１】
また、画像処理ユニット２０の機能を、パーソナルコンピュータなどにより実現されるホスト２にインストールされるプリンタドライバ５により実現することも可能である。この場合、プリンタドライバ５は、色変換ユニット２５の機能を含む画像処理ユニット２０の機能を実現するための命令を含むプログラムであり、ＣＤ−ＲＯＭ６などの適当な記録媒体に記録して提供され、ホスト２にインストールされる。
【００３２】
本発明に含まれる装置および方法においては、第１色空間、たとえばＲＧＢ色空間から第２色空間、たとえばＣＭＹＫ色空間に色変換する場合、部分的な空間（領域）の変換特性により、近似関数で十分な変換精度で変換できる特性であれば近似関数を適用できる。一方、部分的な空間の変換特性が、近似関数では変換が難しいあるいは近似関数を用いると関数を定義する情報量が過多になる場合は、３次元ＬＵＴを用いて変換のための情報量を削減できる。このため、色変換の精度を向上することと、そのために要する色変換情報を格納するためのメモリ１５の容量を節約することとを両立させることができる。
【００３３】
さらに、図５に示すように、色変換のための３次元ＬＵＴの格子数あるいは格子密度を、その３次元ＬＵＴによりカバーする色空間の非線形性、たとえば、特異点を含むなどの相違により変えることができる。したがって、３次元ＬＵＴとして用意する色変換のための情報量を部分的な空間の変換特性により変えることが可能となり、この点でも、色変換の精度を向上することと、そのために要する色変換情報の情報量を抑制することとを両立させることができる。
【００３４】
なお、上記では、ＲＧＢ色空間のデータをＣＭＹＫ色空間のデータに変換する例を説明しているが、入力側の第１色空間Ｓ１および出力側の第２色空間Ｓ２は、ＲＧＢ色空間に限らず、ＣＩＥ・Ｌ＊ａ＊ｂ＊色空間、物体色の刺激値を表すＸＹＺ色空間など、他の色空間であっても良い。また、上記の方法および装置は、同じ色空間であっても、出力デバイスの特性、ユーザの志向などにより特性の異なる色空間の間でデータを変換する場合にも適用できる。
【００３５】
また、上記では、プリンタを例に本発明に含まれる装置を説明しているが、コピー機、複合機などの他の多種多様な印刷装置に対しても本発明を適用できる。また、液晶ディスプレイ、プラズマディスプレイを始めとする多種多様な表示デバイスを備えた装置においても、本発明を適用できる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態にかかるプリンタの概略構成を示す。
【図２】本発明の実施形態に係る変換情報の一例を示す。
【図３】変換関数（近似関数）の一例を示す。
【図４】変換情報のデータ構造の一例を示す。
【図５】領域毎の変換方法を２次元で模式的に示す。
【図６】変換される様子を１次元で模式的に示す。
【図７】境界面における変換を模式的に示す。
【図８】変換方法を示すフローチャート。
【図９】領域を判定する方法を示すフローチャート。
【符号の説明】
【００３７】
１  プリンタ、  ２  ホスト（パーソナルコンピュータ）、  ３  デジタルカメラ
５  プリンタドライバ
１０  制御ユニット、  １２  印刷機構
２０  画像処理ユニット、  ２５  色変換ユニット
３０  変換情報、  ３１  分割情報
３２  色変換用の３次元ＬＵＴ、  ３３  関数情報
【図１】
0004992023.tif 000002
【図２】
0004992023.tif 000003
【図３】
0004992023.tif 000004
【図４】
0004992023.tif 000005
【図５】
0004992023.tif 000006
【図６】
0004992023.tif 000007
【図７】
0004992023.tif 000008
【図８】
0004992023.tif 000009
【図９】
0004992023.tif 000010