(57)【要約】【課題】３次元ＬＵＴの容量を抑えて、精度の高い変換を可能とする。【解決手段】３次元ＬＵＴ３０には、第１の空間を複数の格子に分割するための格子点における変換値と、複数の格子の各々の中心点における変換値とを含める。色変換ユニット２５は、第１の点が属する第１の格子に隣接する第２の格子であって、第１の点に最も近い第２の格子を判断する機能ユニット２６と、第１の格子および第２の格子に属する辺の中で第１の点に最も近い第１の辺と、第１の格子の中心点および第２の格子の中心点を結ぶ第２の辺とを含む第１の四面体の各頂点の変換値を用いて第２のデータを求める機能ユニット２７とを含む。【選択図】図１
2010287918.tif 000002
【特許請求の範囲】
【請求項１】
第１の空間に属する第１の点を示す第１のデータを、３次元ＬＵＴに格納された変換値を用いて第２の空間に属する第２の点を示す第２のデータに変換する方法であって、
前記３次元ＬＵＴは、前記第１の空間を複数の格子に分割するための格子点における変換値と、前記複数の格子の各々の中心点における変換値とを含み、
当該方法は、
前記第１の点が属する第１の格子に隣接する第２の格子であって、前記第１の点に最も近い第２の格子を判断することと、
前記第１の格子および前記第２の格子に属する辺の中で前記第１の点に最も近い第１の辺と、前記第１の格子の中心点および前記第２の格子の中心点を結ぶ第２の辺とを含む第１の四面体の各頂点の変換値を用いて前記第２のデータを求めることとを含む、方法。
【請求項２】
請求項１において、前記３次元ＬＵＴは、さらに、前記複数の格子の最外層の格子のさらに外側に隣接する仮想格子の各々の中心点における変換値を含む、方法。
【請求項３】
請求項１または２において、
前記第２のデータを求めることは、前記第１の辺を前記第１の点により分割した第１の比と、前記第２の辺を前記第１の点により分割した第２の比とにより、前記第１の四面体の各頂点の変換値を補間して求めることを含む、方法。
【請求項４】
請求項１ないし３のいずれかにおいて、前記第１の空間は、第１の色空間であり、前記第２の空間は、第２の色空間であり、前記３次元ＬＵＴに格納された変換値は、前記第１の色空間に属する色値を、前記第２の色空間に属する色値に変換するための値である、方法。
【請求項５】
第１の空間に属する第１の点を示す第１のデータを、３次元ＬＵＴに格納された変換値を用いて第２の空間に属する第２の点を示す第２のデータに変換する変換ユニットと、
前記３次元ＬＵＴを格納するためのストレージとを有する装置であって、
前記３次元ＬＵＴは、前記第１の空間を複数の格子に分割するための格子点における変換値と、前記複数の格子の各々の中心点における変換値とを含み、
前記変換ユニットは、
前記第１の点が属する第１の格子に隣接する第２の格子であって、前記第１の点に最も近い第２の格子を判断する機能と、
前記第１の格子および前記第２の格子に属する辺の中で前記第１の点に最も近い第１の辺と、前記第１の格子の中心点および前記第２の格子の中心点を結ぶ第２の辺とを含む第１の四面体の各頂点の変換値を用いて前記第２のデータを求める機能とを含む、装置。
【請求項６】
請求項５において、前記３次元ＬＵＴは、さらに、前記複数の格子の最外層の格子のさらに外側に隣接する仮想格子の各々の中心点における変換値を含む、装置。
【請求項７】
請求項５または６において、
前記第２のデータを求める機能は、前記第１の辺を前記第１の点により分割した第１の比と、前記第２の辺を前記第１の点により分割した第２の比とにより、前記第１の四面体の各頂点の変換値を補間して求める機能を含む、装置。
【請求項８】
コンピュータに、第１の空間に属する第１の点を示す第１のデータを、３次元ＬＵＴに格納された変換値を用いて第２の空間に属する第２の点を示す第２のデータに変換させることを含むプログラムであって、
前記３次元ＬＵＴは、前記第１の空間を複数の格子に分割するための格子点における変換値と、前記複数の格子の各々の中心点における変換値とを含み、
当該プログラムは、
前記第１の点が属する第１の格子に隣接する第２の格子であって、前記第１の点に最も近い第２の格子を判断することと、
前記第１の格子および前記第２の格子に属する辺の中で前記第１の点に最も近い第１の辺と、前記第１の格子の中心点および前記第２の格子の中心点を結ぶ第２の辺とを含む第１の四面体の各頂点の変換値を用いて前記第２のデータを求めることとを含む、プログラム。
【請求項９】
請求項８において、前記３次元ＬＵＴは、さらに、前記複数の格子の最外層の格子のさらに外側に隣接する仮想格子の各々の中心点における変換値を含む、プログラム。
【請求項１０】
請求項８または９において、
前記第２のデータを求めることは、前記第１の辺を前記第１の点により分割した第１の比と、前記第２の辺を前記第１の点により分割した第２の比とにより、前記第１の四面体の各頂点の変換値を補間して求めることを含む、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ある色空間に属する値を、他の色空間に属する値に変換するのに適した方法および装置に関するものである。
【背景技術】
【０００２】
特許文献１には、ＬＵＴ容量の増加を防止しつつ、補間精度の高精度化を図ることができる色変換装置を提供することが記載されている。そのため、輝度入力を第１の等価中性濃度空間へ変換する１次元ＬＵＴと、その出力を入力空間として構成された３次元ＬＵＴと補間演算とを用いて、第１の等価中性濃度空間を第２の等価中性濃度空間へ変換する３次元補間演算システムとを備える色変換装置であって、１次元ＬＵＴは、３次元補間演算システムの入出力特性が、入力域全体、或いは視覚的に特に敏感な領域において最大の線形性を持つように構成することが記載されている。
【０００３】
特許文献２には、第１の色空間に属する複数の点について定めた色補正値を記憶するルックアップテーブルを備え、第１の色空間に属する点の色値を、ルックアップテーブルが記憶する色補正値に基づいて第２の色空間に属する点の色値に変換する色変換装置において、第１の色空間を複数の格子に分割してあり、ルックアップテーブルは、格子の格子点及び重心、並びに格子の格子面の重心について色補正値を定めてあることを特徴とする色変換装置が記載されている。
【特許文献１】特開２００３−１１０８６５号公報
【特許文献２】特開２００６−１２１５３０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
カラー画像出力の需要は高く、様々な機器およびシステムにおいて、カラー画像を出力することが要求されている。たとえば、個人用および業務用を含むプリンタおよびコピー機などの印刷システム、様々なタイプのディスプレイを含むシステムにおいてカラー画像を出力することが要求されている。
【０００５】
カラー画像の出力においては、出力対象の画像情報に対して、色を安定して再現することが要望され、出力方式、ディスプレイタイプなどに合致した色変換（色補正）を行うことが重要である。この色変換処理の１つの方法として、３次元ＬＵＴ（ルックアップテーブル）を用いた方法（３次元補間法）が公知である。３次元ＬＵＴは、精度を向上するためには格子点を増やすことが望ましい。しかしながら、格子点を増やすと３次元ＬＵＴが膨大になる。
【０００６】
３次元ＬＵＴを用いて第１のデータを、第２のデータに変換する方法では、立方体補間、三角柱補間、四面体補間が知られている。四面体補間では、１つの格子を６つの四面体に分けて、それぞれの四面体に含まれる４つの格子点を用いて補間する。したがって、補間の演算に要する処理が簡単になり、精度も高いので、３次元ＬＵＴを用いた変換方法では多く採用されている。特許文献２の記載によると、立方格子の重心点、何れか１つの格子面に属する重心点、及びこの格子面に属する４つの格子点のうち、隣り合う２つの格子点を頂点とした四面体を構成することにより、各立方格子を２４個の四面体に分割する。１６×１６×１６個の立方格子により空間を分割することを考えた場合、この方法であると、単純に各格子を４等分した場合は、格子点が４９１３個から３５９３７個（７．３倍）に増加するのに対し、立方格子の重心点と、各格子面に属する重心点とを追加することにより３次元ＬＵＴに含まれる点を２２０６５個に収めることができる。したがって、特許文献２の記載では、ＬＵＴのサイズの増加を大幅に抑制できるとしている。しかしながら、ＬＵＴのサイズ（変換値の数）は４．５倍になりＬＵＴのサイズはかなり大きくなる。このため、ＬＵＴのサイズの増加を抑えて、変換精度を向上できる方法が常に要求されている。
【課題を解決するための手段】
【０００７】
本発明の１つの態様は、第１の空間に属する第１の点を示す第１のデータを、３次元ＬＵＴに格納された変換値を用いて第２の空間に属する第２の点を示す第２のデータに変換する方法である。３次元ＬＵＴは、第１の空間を複数の格子に分割するための格子点における変換値と、複数の格子の各々の中心点における変換値とを含む。そして、この方法は、第１の点が属する第１の格子に隣接する第２の格子であって、第１の点に最も近い第２の格子を判断することを含む。さらに、この方法は、第１の格子および第２の格子に属する辺の中で第１の点に最も近い第１の辺と、第１の格子の中心点および第２の格子の中心点を結ぶ第２の辺とを含む第１の四面体の各頂点の変換値を用いて第２のデータを求めることを含む。
【０００８】
この方法においては、第１の点が属する第１の格子に加え、隣接する第２の格子を判断し、第２の格子の中心点を利用して四面体を形成する。このため、格子の中心点を３次元ＬＵＴに追加するだけで、各格子を２４個の四面体に分割できる。したがって、３次元ＬＵＴに含まれる変換値の数をほぼ倍増させるだけで、変換精度を向上できる。
【０００９】
３次元ＬＵＴは、さらに、複数の格子の最外層の格子のさらに外側に隣接する仮想格子の各々の中心点における変換値を含むことが望ましい。最外層の格子に含まれる第１の点の第１のデータを、それ以外の格子に含まれる第１の点の第１のデータと同じ方法（アルゴリズム）で、第２のデータに変換できる。また、仮想格子の格子点を追加しなくてよいので、３次元ＬＵＴのサイズ増加も抑制できる。
【００１０】
第２のデータを求めること（補間アルゴリズム）の一例は、第１の辺を第１の点により分割した第１の比と、第２の辺を第１の点により分割した第２の比とにより、第１の四面体の各頂点の変換値を補間して求めることを含むものである。
【００１１】
また、第１の空間の好適な例は、第１の色空間であり、第２の空間の好適な例は、第２の色空間であり、３次元ＬＵＴに格納された変換値は、第１の色空間に属する色値を、第２の色空間に属する色値に変換するための値である。
【００１２】
本発明の他の態様の１つは、第１の空間に属する第１の点を示す第１のデータを、３次元ＬＵＴに格納された変換値を用いて第２の空間に属する第２の点を示す第２のデータに変換する変換ユニットと、３次元ＬＵＴを格納するためのストレージとを有する装置である。３次元ＬＵＴは、第１の空間を複数の格子に分割するための格子点における変換値と、複数の格子の各々の中心点における変換値とを含む。また、変換ユニットは、第１の点が属する第１の格子に隣接する第２の格子であって、第１の点に最も近い第２の格子を判断する機能と、第１の格子および第２の格子に属する辺の中で第１の点に最も近い第１の辺と、第１の格子の中心点および第２の格子の中心点を結ぶ第２の辺とを含む第１の四面体の各頂点の変換値を用いて第２のデータを求める機能とを含む。
【００１３】
ストレージに格納される３次元ＬＵＴは、さらに、複数の格子の最外層の格子のさらに外側に隣接する仮想格子の各々の中心点における変換値を含むことが好ましい。また、第２のデータを求める機能は、第１の辺を第１の点により分割した第１の比と、第２の辺を第１の点により分割した第２の比とにより、第１の四面体の各頂点の変換値を補間して求める機能を含むことが好ましい。
【００１４】
本発明の他の態様のさらに異なるものの１つは、コンピュータに、第１の空間に属する第１の点を示す第１のデータを、３次元ＬＵＴに格納された変換値を用いて第２の空間に属する第２の点を示す第２のデータに変換させることを含むプログラムである。３次元ＬＵＴは、第１の空間を複数の格子に分割するための格子点における変換値と、複数の格子の各々の中心点における変換値とを含む。さらに、プログラムは、第１の点が属する第１の格子に隣接する第２の格子であって、第１の点に最も近い第２の格子を判断することと、第１の格子および第２の格子に属する辺の中で第１の点に最も近い第１の辺と、第１の格子の中心点および第２の格子の中心点を結ぶ第２の辺とを含む第１の四面体の各頂点の変換値を用いて第２のデータを求めることとを含む。このプログラムは、ＲＯＭ、ＣＤ−ＲＯＭなどの適当な記録媒体に記録して提供できる。コンピュータネットワークなどのデータ伝達システムによっても提供できる。また、コンピュータは、マイクロコンピュータなど、チップベースで汎用的あるいは専用的な制御機能を提供する装置も含む。
【００１５】
３次元ＬＵＴは、コンピュータのメモリ、ディスクなどのストレージに格納できる。さらには、コンピュータネットワークなどの伝達手段を介して、適切な３次元ＬＵＴを取得しても良い。この３次元ＬＵＴは、さらに、複数の格子の最外層の格子のさらに外側に隣接する仮想格子の各々の中心点における変換値を含むことが望ましい。
【００１６】
このプログラムにおいて、コンピュータにより第２のデータを求めること（アルゴリズム）は、第１の辺を第１の点により分割した第１の比と、第２の辺を第１の点により分割した第２の比とにより、第１の四面体の各頂点の変換値を補間して求めることを含むことが望ましい。
【発明を実施するための最良の形態】
【００１７】
図１に、本発明の１つの実施形態として、色変換処理を含む画像処理機能を備えたプリンタを示している。このプリンタ１は、パーソナルコンピュータなどのホスト２またはデジタルカメラ３などから画像データを受け入れ、選択された用紙に画像データを印刷する。プリンタ１は、制御ユニット１０と、インクジェット方式により画像を印刷するための印刷機構１２とを有する。印刷機構１２は、レーザ光を用いたページプリンタ方式、熱転写方式、昇華方式など、他の画像を形成する方式を採用したものであっても良い。制御ユニット１０は、画像データを受け入れるための入力インターフェイス１４と、メモリ１５と、ＣＰＵ１６と、画像処理ユニット２０と、出力インターフェイス１７とを含む。入力インターフェイス１４は、例えば、ホスト２またはデジタルカメラ３と接続可能なＵＳＢインターフェイスであり、ＳＤカードなどのメモリカードを装着できるインターフェイス、ＬＡＮインターフェイスであっても良い。
【００１８】
メモリ１５は、ＲＯＭ、ＲＡＭ、ハードディスクなどの揮発性および不揮発性のストレージとしての機能を提供できるものであれば良い。メモリ１５には、ＣＰＵ１６にダウンロードされ、ＣＰＵ１６にプリンタ１を制御するための所定の機能を発揮させるプログラム１８が格納されている。以下で説明する画像処理ユニット２０としての機能をＣＰＵ１６により提供するためのプログラムが格納されていても良い。また、メモリ１５には、色変換処理のための３次元ＬＵＴ３０が格納されている。さらに、メモリ１５は、入力された画像データ、処理中のデータおよび出力用の画像データなどを一時的に格納する機能も果たす。
【００１９】
画像処理ユニット２０は、ＲＧＢデータ（ＲＧＢ色空間）で与えられた画像データ（入力データ）を、ＣＭＹＫデータの画像データ（出力データ）に変換して出力する。この例では、出力データは印刷機構１２において利用可能なＣＭＹＫデータであるが、色変換処理の出力データはＣＭＹＫデータに限定されない。色変換処理は、１つの色空間のデータを、他の色空間のデータ、または、同一の色空間のデータであって画像出力デバイスの発色の特性などにマッチしたデータに変換することであっても良い。
【００２０】
画像処理ユニット２０は、ＲＧＢデータの前処理を行うＲＧＢ処理ユニット２１と、色変換ユニット２５と、ＣＭＹＫデータの後処理を行うＣＭＹＫ処理ユニット２２とを含む。ＲＧＢ処理ユニット２１は、必要に応じて、階調補正処理、領域分離処理を行う。色変換ユニット２５は、ＲＧＢ色空間のデータをＣＭＹ色空間のデータに変換する。ＣＭＹＫ処理ユニット２２は、黒生成処理、空間フィルタ処理、階調再現処理などを必要に応じて行う。なお、３次元ＬＵＴ３０のサイズは多少増加するが、黒生成処理を行う代わりに、３次元ＬＵＴ３０にＣＭＹへの変換値だけではなく、ＣＭＹＫへの変換値を格納し、３次元ＬＵＴ３０を用いて、ＲＧＢデータをＣＭＹＫデータに変換することも可能である。
【００２１】
色変換ユニット２５は、メモリ１５に格納されている３次元ＬＵＴ３０を用いて色変換する。色変換ユニット２５は、ＲＧＢ色空間（第１の空間）に属する第１の点を示す第１のデータ２８を、３次元ＬＵＴ３０に格納された変換値を用いて、ＣＭＹ色空間（第２の空間）に属する第２の点を示す第２のデータ２９に変換する。３次元ＬＵＴ３０は、ＲＧＢ空間（第１の空間）を複数の格子に分割するための格子点における変換値と、複数の格子の各々の中心点（体心、重心）における変換値とを含む。色変換ユニット２５は、入力された第１のデータ２８により示される、ある点（第１の点）ｗｐの属するＲＧＢ空間（第１の空間）の第１の格子を判断（決定）し、さらに、その第１の格子に隣接する第２の格子であって、第１の点ｗｐに最も近い第２の格子を判断する機能ユニット（格子選択機能ユニット）２６を含む。さらに、色変換ユニット２５は、第１の格子および第２の格子に属する辺の中で第１の点ｗｐに最も近い第１の辺Ｌ１と、第１の格子の中心点および第２の格子の中心点を結ぶ第２の辺Ｌ２とを含む第１の四面体の各頂点の変換値を用いて第２のデータを求める機能ユニット（四面体補間機能ユニット）２７を含む。
【００２２】
図２に、色変換ユニット２５において、ＲＧＢ色空間で与えられた第１のデータ２８をＣＭＹ空間の第２のデータ２９に変換する過程をフローチャートにより示している。まず、ステップ４１において、格子選択機能ユニット２６により、第１のデータ２８により示される第１の点ｗｐが属する第１の格子Ｇ１を判断（決定）する。次に、ステップ４２において、第１の格子Ｇ１に隣接する第２の格子Ｇ２であって、第１の点ｗｐに最も近い第２の格子Ｇ２を判断（決定）する。
【００２３】
図３は、入力空間であるＲＧＢ色空間（第１の空間）を示す模式図である。この例では、ＲＧＢ色空間ＷＳ１の各軸（Ｒ軸、Ｇ軸、Ｂ軸）をｎ等分（ｎは整数）し、ｎ×ｎ×ｎ個の格子（立方格子）からなる色空間を構成している。ｎの一例は１６であり、その場合、各色成分が０〜２５５の階調値をとれば各軸を１６等分して立方格子を形成しているため各立方格子の軸方向の階調数は１６となる。すなわち、立方格子の格子間隔を１６と定義することができる。なお、以降においては、入力空間のＲＧＢ色空間ＷＳ１の各軸（Ｒ軸、Ｇ軸、Ｂ軸）を一般化して（ｘ軸、ｙ軸、ｚ軸）と呼ぶことにする。
【００２４】
３次元ＬＵＴ３０は、各格子の格子点Ｐ０〜Ｐ７と、各格子の中心点（体心点、重心点）Ｃとにおける変換値、すなわち、各格子点Ｐ０〜Ｐ７と中心点ＣのＲＧＢ色空間（第１の空間）ＷＳ１に対応するＣＭＹ色空間（第２の空間）ＷＳ２の値を含む。３次元ＬＵＴ３０は、さらに、最外層の格子のさらに外側に隣接する仮想格子の各々の中心点における変換値を含む。
【００２５】
図４は、内部の格子に第１の点ｗｐが属する場合を模式的に示している。図５は、最外層の格子に第１の点ｗｐが属する場合を模式的に示している。図４に示すように、第１の点ｗｐが属する第１の格子Ｇ１の周囲には、第１の格子Ｇ１と隣接する（共通した面を有する）６つの第２の格子Ｇ２が存在する。したがって、第１の格子Ｇ１の中心点Ｃから６方向（ｘｙｚの±方向）の、格子の一辺と等しい距離Ｌに、第２の格子Ｇ２のそれぞれの中心点Ｃ´が存在する。
【００２６】
図５に示すように、第１の点ｗｐが最外層（例えば、最上層）の格子Ｇ１に属する場合、格子Ｇ１の上面に隣接する格子は存在しない。しかしながら、３次元ＬＵＴ３０には、仮想格子Ｇ３の中心点Ｃ´´が含まれている。したがって、第１の格子Ｇ１が最外層の格子であっても、第１の格子Ｇ１の中心点Ｃから６方向（ｘｙｚの±方向）の距離Ｌの位置に、６つの中心点Ｃ´およびＣ´´が存在する。このため、第１の点ｗｐが属する第１の格子Ｇ１が最外層の格子であっても、内層の格子と同様の処理で変換が可能となっている。したがって、以降においては、仮想格子Ｇ３を含めて隣接格子とし、仮想格子Ｇ３の中心点Ｃ´´を含めて第２の格子Ｇ２の中心点Ｃ´として説明する。
【００２７】
第１の点ｗｐに最も近い第２の格子Ｇ２（以降では単に第２の格子Ｇ２）を判断する１つの方法は、第１の格子Ｇ１の面Ｓ１〜Ｓ６のうち、第１の点ｗｐに最も近い面を決定し、その面を共有する格子を第２の格子Ｇ２として判断することである。そのため、第１の点ｗｐの座標を（ｘ、ｙ、ｚ）、格子点Ｐ０〜Ｐ７の各点の座標を（ｘｐ０、ｙｐ０、ｚｐ０）〜（ｘｐ７、ｙｐ７、ｚｐ７）として、以下の式（１）の演算を行う（図６参照）。
ｘ−（ｘｐ１−ｘｐ０）／２＝Ｘｄ
ｙ−（ｙｐ４−ｙｐ０）／２＝Ｙｄ
ｚ−（ｚｐ３−ｚｐ０）／２＝Ｚｄ  ・・・（１）
【００２８】
Ｘｄ、ＹｄおよびＺｄは、中心点Ｃから第１の点ｗｐがＸ、Ｙ、Ｚ方向のそれぞれに離れている距離（プラスマイナスを含めた）を示す。したがって、Ｘｄ、ＹｄおよびＺｄの中で絶対値の最大のものと、その符号により隣接面が以下の条件（２）により判断できる。
絶対値最大    符号    隣接面
Ｘｄ          ＋    （Ｐ１、Ｐ２、Ｐ６、Ｐ５）
Ｘｄ          −    （Ｐ０、Ｐ３、Ｐ７、Ｐ４）
Ｙｄ          ＋    （Ｐ４、Ｐ５、Ｐ６、Ｐ７）
Ｙｄ          −    （Ｐ０、Ｐ１、Ｐ２、Ｐ３）
Ｚｄ          ＋    （Ｐ２、Ｐ６、Ｐ７、Ｐ３）
Ｚｄ          −    （Ｐ０、Ｐ１、Ｐ５、Ｐ４）    ・・・（２）
【００２９】
図６に示したケースであると、絶対値Ｙｄが最大となり、符号は−になる。したがって、隣接面（Ｐ０、Ｐ１、Ｐ２、Ｐ３）が選択され、この隣接面を共有する格子が第２の格子Ｇ２として選択される。この例では、第１の格子Ｇ１の下側（−Ｙ方向）に隣接する格子が第２の格子Ｇ２となる。
【００３０】
第２の格子Ｇ２が決まると、ステップ４３において、四面体補間機能ユニット２７により、第１の点ｗｐが含まれる四面体ｈを判断（決定）する。図７に示すように、第１の格子Ｇ１の中心点Ｃと、隣接面（Ｐ０、Ｐ１、Ｐ２、Ｐ３）に含まれる各格子点と、第２の格子Ｇ２の中心点Ｃ´とにより定義される四面体は４つある。なお、６つの隣接面毎に、四面体は４つあるので、上記のプロセスにより、第１の格子Ｇ１を２４の四面体に分割することができ、第１の点ｗｐを２４の四面体のいずれかを用いて補間することができる。
【００３１】
第１の点ｗｐが属する四面体を判断する１つの方法は、隣接面を、中心と格子点を含む三角形により４分割し、そのいずれに第１の点ｗｐが属するかを判断することである。すなわち、第１の格子Ｇ１の中心点Ｃと、隣接面（Ｐ０、Ｐ１、Ｐ２、Ｐ３）に含まれる各格子点と、第２の格子Ｇ２の中心点Ｃ´とにより定義される４つの四面体ｈ０〜ｈ３を、隣接面（Ｐ０、Ｐ１、Ｐ２、Ｐ３）に対して中心点Ｃの方向から見ると、図８に示すように隣接面（Ｐ０、Ｐ１、Ｐ２、Ｐ３）を４分割する。したがって、以下の式（３）を計算し、条件（４）により、第１の点ｗｐが四面体ｈ０〜ｈ３のいずれに属するかを判断する。
（ｚ−ｚｐ０）−（ｘ−ｘｐ０）＝Ｗ１
（ｚ−ｚｐ３）＋（ｘ−ｘｐ０）＝Ｗ２  ・・・（３）
（Ｗ１、Ｗ２）    選択される四面体
（−  、−  ）      ｈ０
（−  、＋  ）      ｈ１
（＋  、＋  ）      ｈ２
（＋  、−  ）      ｈ３・・・（４）
【００３２】
図６に示したケースでは、四面体ｈ０が選択される。したがって、ステップ４４において、第１の格子Ｇ１および第２の格子Ｇ２に属する辺の中で第１の点ｗｐに最も近い第１の辺Ｌ１と、第１の格子Ｇ１の中心点Ｃおよび第２の格子Ｇ２の中心点Ｃ´を結ぶ第２の辺Ｌ２とを含む第１の四面体ｈ０の各頂点、すなわち、格子点Ｐ０、Ｐ１および中心点ＣおよびＣ´の変換値を用い、バイリニア補間により第２のデータを求める。図９に示すように、本例において、格子は立方体なので、四面体ｈ０の辺Ｌ１および辺Ｌ２は長さが同じで直交する。
【００３３】
図１０に、この四面体ｈ０を頂点Ｃの方向から見た状態を示している。図１１に、四面体ｈ０を頂点Ｐ０の方向から見た状態を示している。頂点Ｃと第１の点ｗｐとを通り、辺Ｌ１と交わる点ａにおける変換値Ｐａは以下の式（５）により得られる。値Ｄａは、辺Ｌ１上の点Ｐ０から点ａの距離と、辺Ｌ１の長さＬとの比である。
Ｐａ＝Ｐ０＋Ｄａ（Ｐ１−Ｐ０）  ・・・（５）
【００３４】
頂点Ｐ０と第１の点ｗｐとを通り、辺Ｌ２と交わる点ｂにおける変換値Ｐｂは以下の式（６）により得られる。値Ｄｂは、辺Ｌ２上の点Ｃ´から点ｂの距離と、辺Ｌ２の長さＬとの比である。
Ｐｂ＝Ｃ´＋Ｄｂ（Ｃ−Ｃ´）  ・・・（６）
【００３５】
したがって、第１の点ｗｐにおける変換値（第２のデータ）Ｐｗｐは以下の式（７）により得られる。値Ｄｃは、点ａと点ｂとを結ぶ線上の点ａから点ｗｐの距離と、点ａから点ｂの距離との比である（図１２参照）。
Ｐｗｐ＝Ｐａ＋Ｄｃ（Ｐｂ−Ｐａ）  ・・・（７）
【００３６】
このようにして、色変換ユニット２５において、第１の空間の第１の点ｗｐに対応する第２の空間の値（第２のデータ）Ｐｗｐを得ることができる。したがって、ステップ４５で第２のデータＰｗｐを出力し、ステップ４６で次の第１のデータがあれば、上記と同じ処理を繰り返す。
【００３７】
このバイリニア補間（バイリニア類似の補間）方法は、第１の辺Ｌ１を第１の点ｗｐにより分割した第１の比Ｄａと、第２の辺Ｌ２を第１の点ｗｐにより分割した第２の比Ｄｂとにより、第１の四面体ｈ０の各頂点の変換値を補間して求める方法である。この補間方法は、第１の点ｗｐに近い位置で補間用の点ａおよび点ｂを定めることができ、点ａおよび点ｂを接続する線分をさらに第１の点ｗｐにより分割した第３の比Ｄｃを用いて補間する。このため、補間された変換値の精度を向上できる。四面体補間により第２のデータＰｗｐを求める方法は上記のバイリニア補間にかぎらない。たとえば、第２のデータＰｗｐを、四面体の各辺の距離の比率のベクトル和として求めることが可能である。しかしながら、この方法であると、第１の点ｗｐから離れた頂点の差分にベクトル長Ｄｉをかける場合があり、バイリニア補間と比較すると精度が低下する可能性がある。
【００３８】
図２に示した変換方法は、上記の処理を実行可能な回路として提供することが可能である。また、ＣＰＵなどの汎用の処理ユニットにより上記の処理を実行させるためのプログラムとして提供することも可能である。したがって、図１における色変換ユニット２５の機能をＣＰＵ１６により実行させることが可能であり、さらに、画像処理ユニット２０の機能をＣＰＵ１６により実行させることも可能である。その場合は、それらの機能を実行するための命令を含むプログラム１８が提供され、メモリ１５に格納される。
【００３９】
また、画像処理ユニット２０の機能を、パーソナルコンピュータなどにより実現されるホスト２にインストールされるプリンタドライバ５により実現することも可能である。この場合、プリンタドライバ５は、色変換ユニット２５の機能を含む画像処理ユニット２０の機能を実現するための命令を含むプログラムであり、ＣＤ−ＲＯＭ６などの適当な記録媒体に記録して提供され、ホスト２にインストールされる。
【００４０】
特許文献２と同様に、第１の空間ＷＳ１を１６×１６×１６個の立方格子により分割することを考えた場合、１つの立方格子を２４個の四面体に分割して補間する点では共通する。しかしながら、特許文献２の方法では、３次元ＬＵＴに２２０６５個の点（変換値）を用意する必要がある。これに対し、上記の装置および方法においては、３次元ＬＵＴ３０には、格子点４９１３（１７×１７×１７）に加えて、各格子の中心点と仮想格子の中心点（最外の６面の外側に位置する中心点のみ）の数５６３２（１６×１６×１６＋１６×１６×６）の、合計１０５４５個の点（変換値）を用意すれば良く、３次元ＬＵＴのサイズを半分以下にすることができる。
【００４１】
また、従来の３次元ＬＵＴ（格子点のみ）と四面体補間とを行う変換方式と比較した場合、ほぼ同じサイズの３次元ＬＵＴを用いることを前提とすると、以下のようになる。上記の中心点Ｃを用いた方式であると、一辺の長さＡの第１の空間ＷＳ１を８×８×８個の立方格子により分割したときに３次元ＬＵＴに含まれる値の数は１６２５（９×９×９＋８×８×８＋８×８×６）になる。また、補間を行う四面体の各頂点の最大距離（辺Ｌ１の長さＬに相当）はＡ／８（すなわち、０．１２５Ａ）になる。
【００４２】
格子点だけで３次元ＬＵＴを生成すると、第１の空間ＷＳ１を１１×１１×１１個の立方格子により分割したときに、３次元ＬＵＴに含まれる値の数は１７２８（１２×１２×１２）になり、上記の３次元ＬＵＴとほぼ同じサイズになる。このとき、補間を行う四面体の各頂点の最大距離はＡ／１１・（√２）（すなわち、０．１２９Ａ）になる。
【００４３】
また、一辺の長さＡの第１の空間ＷＳ１を３２×３２×３２個の立方格子により分割したときに３次元ＬＵＴに含まれる値の数は７４８４９（３３×３３×３３＋３２×３２×３２＋３２×３２×６）になる。また、補間を行う四面体の各頂点の最大距離（辺Ｌ１の長さＬに相当）はＡ／３２（すなわち、０．０３１２５Ａ）になる。一方、格子点だけで３次元ＬＵＴを生成すると、第１の空間ＷＳ１を４１×４１×４１個の立方格子により分割したときに、３次元ＬＵＴに含まれる値の数は７４０８８（４２×４２×４２）になり、上記の３次元ＬＵＴとほぼ同じサイズになる。このとき、補間を行う四面体の各頂点の最大距離はＡ／４１・（√２）（すなわち、０．０３４４９Ａ）になる。
【００４４】
このように、本発明に含まれる装置および方法を採用することにより、同規模の３次元ＬＵＴを用いた場合であっても、いっそう高い精度で補間することが可能となり、変換精度を向上できる。また、分割数が増えると、本発明に含まれる装置および方法を採用するメリットは増大する傾向である。
【００４５】
なお、上記では、ＲＧＢ色空間のデータをＣＭＹ色空間のデータに変換する例を説明しているが、入力側の第１の空間ＷＳ１および出力側の第２の空間ＷＳ２は、ＲＧＢ色空間に限らず、ＣＩＥ・Ｌ＊ａ＊ｂ＊色空間、物体色の刺激値を表すＸＹＺ色空間など、他の色空間であっても良い。また、上記の方法および装置は、同じ色空間であっても、出力デバイスの特性、ユーザの志向などにより特性の異なる色空間の間でデータを変換する場合にも適用できる。さらに、上記の方法および装置は、色空間に限らず、３次元で表現できる空間から空間へのデータ変換に対しても適用できる。
【００４６】
また、上記では、プリンタを例に本発明に含まれる装置を説明しているが、コピー機、複合機などの他の多種多様な印刷装置に対しても本発明を適用できる。また、液晶ディスプレイ、プラズマディスプレイを始めとする多種多様な表示デバイスを備えた装置においても、本発明を適用できる。
【図面の簡単な説明】
【００４７】
【図１】本発明の実施形態にかかるプリンタの概略構成を示す。
【図２】本発明の実施形態に係る色変換の過程を示す。
【図３】色空間を格子で分割する例を示す。
【図４】隣接する格子の状態を示す。
【図５】最外層の格子の状態を示す。
【図６】格子の一例を示す。
【図７】四面体の例を示す。
【図８】四面体の選択方法を示す。
【図９】四面体の一例を示す。
【図１０】四面体補間の過程を示す。
【図１１】図１０に続く、四面体補間の過程を示す。
【図１２】図１１に続く、四面体補間の過程を示す。
【符号の説明】
【００４８】
１  プリンタ、  ２  ホスト（パーソナルコンピュータ）、  ３  デジタルカメラ
５  プリンタドライバ
１０  制御ユニット、  １２  印刷機構
２０  画像処理ユニット、  ２５  色変換ユニット
３０  ３次元ＬＵＴ
【図１】
2010287918.tif 000003
【図２】
2010287918.tif 000004
【図３】
2010287918.tif 000005
【図４】
2010287918.tif 000006
【図５】
2010287918.tif 000007
【図６】
2010287918.tif 000008
【図７】
2010287918.tif 000009
【図８】
2010287918.tif 000010
【図９】
2010287918.tif 000011
【図１０】
2010287918.tif 000012
【図１１】
2010287918.tif 000013
【図１２】
2010287918.tif 000014