領域記述子の作成方法およびその装置
【目的】 領域境界点を任意の方向に沿って定義する方法を提供すること。
【構成】 装置に依存しない独立色空間における所定のパターンの領域から領域境界信号を選択し、これに対する信号を装置依存色空間において決定する。信号の選択にあたっては、領域を所定の間隔で平行な平面に分割し、その平面ごとに、所定の角度をおいた単位ベクトルを選択し、この単位ベクトルと領域境界との交点信号を決定する。
【構成】 装置に依存しない独立色空間における所定のパターンの領域から領域境界信号を選択し、これに対する信号を装置依存色空間において決定する。信号の選択にあたっては、領域を所定の間隔で平行な平面に分割し、その平面ごとに、所定の角度をおいた単位ベクトルを選択し、この単位ベクトルと領域境界との交点信号を決定する。
【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、1つの色空間からの色データを他の色空間へ変換するために使用される領域記述子を作成する方法および装置に関し、より詳しくは、装置に依存しない独立した色空間における領域境界点の中から注意深く選択した点の集合を用いて高速で色較正を可能にするシステムに関する。
【0002】
【従来の技術】CRTやプリンタなどのカラー装置は、3本もしくは4本の色信号に基づいて動作し、色を生成、表示する。CRTには、R(赤)、G(緑)、B(青)といった色信号が使用され、プリンタには、C(シアン)、M(マゼンタ)、Y(黄)、付随的にK(黒)といった色信号を使用する。RGBやCMY信号を使用する色空間は装置依存色空間(DDCS)と呼ばれる。R,G,BやC,M,Yの各信号は、通常は0から255の整数で規定される。プリンタの場合をとれば、C,M,Yの信号範囲は、装置の色範囲立方体つまり図1の色立方体10によって形成される。この立方体10の中には、合計256×256×256(約1660万個)通りのコード値または信号の組合わせが存在し、したがってプリンタは256×256×256種類の色を発生させることができる。プリンタが発生させた色を測定するには、発生する色の色パッチを物理的に測定する測定器が用いられ、測定の結果が、標準CIEXYZ色空間つまり独立色空間(DICS)における位置(点)または色信号を決定する。続いて従来では、位置(点)または色信号は、標準CIEL*a*b*空間またはCIELUV空間といった、独立色空間(DICS)内の点(あるいは色信号)に変換されることもある。256×256×256個の点からなる色立方体10に占められる範囲(体積)は、CIEL*a*b*空間内の信号に変換されると、その装置の領域(gamut)12と呼ばれる。装置の領域とは、その装置が(CIEL*a*b*空間内で)発生させることのできる全ての色を意味する。CIEL*a*b*空間つまり独立色空間に属する領域12の境界に存在する色は、CMYつまり装置依存色空間に属する色立方体10の表面を形作る信号値によって発生する。
【0003】
【発明が解決しようとする課題】上記方法によれば、任意のプリンタの領域を正確に決定することができる。しかし、この方法では、約1660万個もの色パッチを測定する必要があり、実施は不可能に近い。少数の色パッチ(例えば512個)を測定して、それらを独立色空間(CIEL*a*b*)の点または信号に変換する方がより実用的である。通常、これらの色パッチに対する信号値が、立方体10の全範囲を占める格子点として選択されると都合がよい。図2は、CMYおよびCIEL*a*b*空間内の色パッチに対する色立方体格子点の分布を例示している。これらの点をテーブルの形で格納することにより、CMYからCIEL*a*b*への、いわゆる参照テーブル(look-up table )が得られる。この参照テーブルLUTに基づき、補間法を使用して、任意に指定された点をこれらの2つの空間の間で写像することができる。
【0004】図2からもわかるように、立方体10に含まれる格子点は、規則正しく分布しているが、これらに対応する領域12の点はばらばらに分布している。参照テーブルLUTを使用すれば、高速かつ容易に、任意の位置にある色信号をCMYからCIEL*a*b*へ写像することができる。なぜなら、補間が行われる参照テーブルLUTの点が格子点だからである。しかし、CIEL*a*b*からCMYへの逆変換となるとそうはいかない。なぜなら、補間の出発点であるCIEL*a*b*空間の点が格子点ではないからである。この逆変換を効率よく行うには、CIEL*a*b*格子点を出発点とした逆参照テーブルが必要とされる。逆参照テーブルを効率よく作成するには、領域境界を決定する必要があり、そして決定された領域境界が凝縮されれば、CIEL*a*b*空間に属するが領域12の外部にある点を領域12内の点に効率的に変換できるようになる。
【0005】本発明は、上記実情に鑑みてなされたもので、領域境界点を任意の方向に沿って定義する方法を提供することを目的とする。
【0006】また、本発明は、任意の装置の領域境界を記述する、領域記述子、つまり領域境界を簡略に表現したものを作成し使用することを目的とする。
【0007】さらに、本発明は、CMYからCIEL*a*b*への参照テーブルを使用して、領域記述子を作成する方法を提供することを目的とする。
【0008】さらにまた、本発明は、与えられたベクトルが、d次元ベクトル空間Rd内の凸多面錐(CPC)によって包囲されているかどうかを判断する方法を提供することを目的とする。
【0009】さらにまた、本発明は、3点で形成された平面と、その3点で形成された凸多面錐によって囲まれる線との交点を判定するための方法を提供することを目的とする。
【0010】さらにまた、本発明は、2つの三次元空間内の2つの三角形の間における一対一の可逆補間方法を提供することを目的とする。
【0011】さらにまた、本発明は、与えられた参照テーブルに基づき、三角形(平面)の集合を使用して領域境界を定義し構築する方法を提供することを目的とする。
【0012】さらにまた、本発明は、与えられた点あるいは信号が領域内に入っているかどうかを判断するための方法を提供することを目的とする。
【0013】
【課題を解決するための手段】上記目的を達成するために、本発明に係る方法は、領域記述子の作成方法であって、装置に依存しない独立色空間における所定のパターンの領域から領域境界信号を選択する段階と、これに対応する信号を装置依存色空間において決定する段階とを備えることを第1の特徴とする。
【0014】また、本発明に係る方法は、上記特徴に加えて、前記選択する段階は、前記領域を、少なくとも所定の間隔で平行な平面に分割する過程と、前記平面ごとに、少なくとも所定の角度で間隔をおいた単位ベクトルを選択する過程と、前記単位ベクトルと領域境界との交点信号を決定する過程とを備えることを第2の特徴とする。
【0015】さらに、本発明に係る装置は、領域記述子の作成装置であって、装置に特有の装置依存色空間から、装置に依存しない独立色空間に信号を変換するために、参照テーブルを読む入力手段と、境界三角形が列挙されている領域境界テーブルを上記参照テーブルから作成するためのテーブル作成手段と、上記三角形に囲まれた領域境界信号を選択するための境界手段と、各々の境界点に対して三角形補間を実行して領域記述子リストを作成するための補間手段とを有することを第3の特徴とする。
【0016】
【実施例】以下、添付図面を参照して本発明の一実施例を説明する。
【0017】本発明は、装置領域記述子を高速に作成するための方法を提供する。領域識別子を使用して逆参照テーブルILUTを作成する。このテーブルは、装置に依存しない独立色空間DICSの点または信号を、装置依存色空間DDCSの点に写像する。また、装置領域記述子は、逆参照テーブルILUTが利用できないとき、独立色空間DICSから装置依存色空間DDCSへの写像を高速化するために使用することができる。領域記述子は、独立色空間DICS内の注意深く選択された装置領域境界点あるいは信号の小さな集合である。これらの点は、領域境界上に均一に分布し、領域の全ての範囲をカバーする。記述子点は、選択された装置独立空間がCIEL*a*b*空間またはCIELUV空間であれば、軸L*に対して垂直であって等間隔をおいた複数の平面内に位置し、各々の平面に対して等しい角度で位置することが好ましい。領域記述子における領域境界点のこのような分布パターンは、独立色空間DICSから装置依存色空間DDCSへ高速で写像する際に有用な情報である。
【0018】適用されるものによって、数百点から数千点の間で領域記述子の大きさを選択できる。画像や逆参照テーブルILUTの大きさと比較し、領域記述子は小さな集合である。後述するように、領域記述子の計算にはあまり時間がかからない。
【0019】図3に示されているように、本発明の実施例に係る装置は、サンワークステーションやアップルマッキントッシュのようなコンピュータ20と、2台の出力装置としての第1及び第2の装置22、24とを備える。これらの出力装置は、製造者の異なるプリンタやCRTであってもよい。このコンピュータには、画像、つまり、第1の装置22で印刷あるいは表示する画像を作成するのに使用される色信号28が記憶される。この画像に対する色信号は、第1の装置の装置依存色空間に属する色信号である。本発明装置は、このような画像を、第2の装置24に対する装置依存色空間信号に変換するように設計される。この変換方法では、装置依存色空間内の色信号28を独立色空間の色信号30に変換する際に、従来の前進補間と第1の装置22の参照テーブル32とを使用する。後進補間を適用すれば、通常、第2の装置24の色信号34を独立色空間の色信号30に変換する際に使用される参照テーブル36を用いて、第2の装置24に関する独立色空間の色信号30を装置依存色空間の色信号に変換することができる。しかし、逆参照テーブル40と前進補間とを使用して写像を行えば、変換ははるかに高速になる。逆参照テーブル40を作成するには、第2の装置24の参照テーブル36と領域記述子38とを使用する。逆参照テーブルILUT40を効率的に作成する方法に関しては、1993年5月28日に出願された米国特許出願第68,941号といった関連出願において詳述され、また、色信号を独立空間から装置依存空間へ効率よく変換する方法については、1993年5月28日に出願された米国特許出願第68,823号といった関連出願において詳述される。もちろん、第2の装置24のために記録された画像をプリンタ22の画像へ変換する際に、本発明に係る領域記述子42を使用してもよい。
【0020】上記の領域記述子を作成するための手法を説明する前に、今後登場するいくつかのアルゴリズムについて説明する。
【0021】Y={y1 、y2 、...、yn }を、d次元のユークリッド空間Rdにおける点の集合と仮定する。CPC(Y)として示されるYの凸多面錐は、次式で定義されるRd内の集合である。
【0022】
【数1】
CH(Y)として示されるYの凸包は、次式で定義されるRd内の集合である。
【数2】
ベクトルyは、次式のようなn個の係数α1 、α2 、...、αn が存在すれば、錐体CPC(Y)によって囲まれる。
【0023】
【数3】
図4は、ベクトルyを囲む3点y1 、y2 、y3 で定義された凸多面錐の一部を示す。他の部分は、点y1 、y2 、y3 に関連付けられた3個のベクトルを無限に拡大することによって得られる無限範囲の部分である。CPC(y1 、y2 、y3 )は、ベクトルy’をも囲む。
【0024】任意のベクトルyが、Rdに含まれるY={y1 、y2 、...、yn }によって定義される凸多面錐によって囲まれるかどうかは、次の手順1によって判定することができる。
【0025】(1)手順1yがCPC(Y)に含まれるかどうかを判定する。まず、yn+1 =(1、0、...、0)T ,...、yn+d =(0、0、...、1)T をy1 、y2 、...、yn に加える。ここで、Tはベクトルの転置を示し、yn+1 、...yn+d は単位ベクトルである。
【0026】次に、次の線形プログラミングを解く。即ち、
【数4】
を最小化する。但し、以下のことが条件とされる。
【0027】
【数5】
最小化した値がゼロより大きければ、yはCPC(Y)に含まれる(yは錐体によって囲まれない)。それ以外の場合には、yはCPC(Y)に含まれないこととなり、この場合、手順1は上式(3)を満足するn個の係数α1 、α2 、...、αn を返す。
【0028】手順1は、凸多面錐包含問題を解くための一般的な方法である。本発明で問題となるのは、d=n=3で、かつ錐体が三角形によって定義されるような特別な場合である。後述するように、この場合に必要となるのは、ベクトルによって定義された線と3点y1 、y2 、y3 で形成された平面との交点を見つけることである。図4に示されるように、yがCPC(y1 、y2 、y3 )で囲まれていれば、次式を満足する3個の係数α1 、α2 、α3 を呼び戻す。
【0029】
【数6】
式(4)の係数をα=α1 +α2 +α3 で正規化すると、次式が得られる。
【0030】
【数7】
式(5)は、点yが、3点y1 、y2 、y3 の凸包で囲まれていることを示す。y1 、y2 、y3 の凸包は三角形であるから、y’はy1 、y2 、y3 で形成される平面内にあることとなる。交点の計算を次の手順2によって説明する。
【0031】(2)手順2yで定義される線と、y1 、y2 、y3 で形成される平面との交点を判定する。ここで、yはCPC(y1 、y2 、y3 )に含まれる。即ち、まず、手順1を適用して、式(4)を満足する3個の係数α1 、α2 、α3 を求める。次に、式(5)によって交点y’を算出する。
【0032】上記関連出願において、色較正のための凸補間方法が記述されている。以下に、R3の中に3個の点が存在する凸補間の特殊な場合について説明する。この場合、凸補間は、「三角形」補間と呼ばれる。図5に示されるように、y1 、y2、y3 を独立空間CIEL*a*b*内の3点とし、これらに対応する装置依存空間CMY内の三角形24の点をx1 、x2 、x3 とする。CIEL*a*b*において、y1 、y2 、y3 (三角形)の凸包内に存在する、つまりCH(y1、y2 、y3 )に含まれる任意の点をyとする。このシステムで必要となるのは、CMY空間で対応する点xを補間によって計算することである。関連出願に詳述されている凸包包含手順を適用することにより、3個の係数α1 、α2 、α3が得られ、次式を満足する。
【0033】
【数8】
つぎに、このシステムは次の三角形補間公式に従って補間を行う。
【0034】
【数9】
以下の手順3では、CIEL*a*b*空間からCMY空間への三角形補間を詳述する。
【0035】(3)手順3三角形補間により、CH(y1 、y2 、y3 )に含まれる任意の点yを補間する。まず、単位ベクトルy4 =(1、0、0)T 、y5 =(0、1、0)T 、y6 =(0、0、1)T をy1 、y2 、y3 に加える。次に、以下の既知の線形プログラミングを解く。
【0036】
【数10】
を最小化する。但し、
【数11】
が条件とされる。
【0037】続いて、CH(y1 、y2 、y3 )にyが含まれることから、この手順は、式(6)を満足する3個の係数α1 、α2 、α3 を返すこととなる。
【0038】最後に、式(7)により、xを算出する。
【0039】三角形補間は、三角形CH(y1 、y2 、y3 )から三角形CH(x1 、x2、x3 )への一対一写像である。この写像は可逆である。つまり、yを三角形補間してxが得られたならば、同じ手順でxを補間すれば、yが得られる。
【0040】つぎに領域境界について説明する。図2に示されるように、装置領域に対して使用可能な情報は、N3 個の入力項目を有する参照テーブルLUTである(通常、Nは8から11の範囲の値である)。CMY空間における立方体10の表面には、(6N2 −12N+8)個の入力項目が存在し、これと同数の点がCIEL*a*b*空間における領域12に存在する。このシステムで必要なことは、(6N2 −12N+8)個の点に基づいて領域境界を見積もり、領域記述子を作成することである。まず、領域境界の定義の方法について説明し、つぎに、領域記述子の算出方法について説明する。
【0041】参照テーブルLUTに属するN3 個の点は、CMY空間における格子点であるから、立方体10の6個の面の各々にはN2 個の点が存在する。これらの点は、各々の面を(N−1)2 個の正方形に区分けする(図7参照)。合計6(N−1)2 個の正方形が存在することになる。図6に示されるように、CMY空間における正方形26の四隅の点をx1 、...、x4 とし、y1 、...、y4 をこれらに対応するCIEL*a*b*空間における多角形27の4点とする。図6に示されるように、正方形26は、A型またはB型の方法により、2つの三角形28と30、または三角形32と34とに分割される。4個の点y1 、...、y4 が1つの平面内に存在しない場合(通常の場合、曲面の領域境界を考えたとき)、領域境界において4点y1 、...、y4 で形成される部分は、一方の区画方法では凸形に導かれ、他方の区画方法では凹形に導かれる。y1 とy3 の中点y13と、y2 とy4 の中点y24とを算出し、これら中点から軸L*への距離を比較すれば、凹形を形成する区画を決定できる。これらの正方形を三角形に分割するには、図6に示されるような通常の分割方法を使用すると便利であり、高速でもある。CIEL*a*b*空間における対応三角形は、平面と、その平面の外周部分とを画成し、これらにより領域が定義される。また、領域境界面を、小さな曲面の集合として把握してもよい。しかし、この場合、領域境界点を算出するにしても、任意の信号が領域内にあるかどうかを判断するにしても複雑さが増してしまう。
【0042】このシステムで、6(N−1)2 個の正方形の各々を2つの三角形に分割するには、上記の通常の分割方法を使用することが好ましい。CMY空間において合計12(N−1)2 個の三角形、CIEL*a*b*空間においても同数の三角形を得る。CMY空間における三角形を全て合わせると、図7に示される立方体10の表面になり、CIEL*a*b*空間における三角形を全て合わせると、図8に示されている領域12の境界になる。ここで、陰影の付いている三角形はそれぞれ両図において互いに対応している。これらの三角形は、つぎのように、三角形テーブル(表1)に格納することができる。
【0043】
【表1】
上記のような方法で領域境界を定義することの利点は、CMY空間における立体10の表面上の点と、CIEL*a*b*空間における領域境界12上の点との間に、1対1の対応関係が存在することである。後述するように、このような1対1の対応関係を判定することは容易である。手順4に、上記の説明を要約する。
【0044】(4)手順4参照テーブルLUTに基づき、三角形を使用して領域境界を構築する。まず、N3 個の入力項目を有する参照テーブルLUTを読み込む。次に、6(N−1)2 個の参照テーブルLUTの正方形の各々を2個の三角形に分割する。続いて、12(N−1)2 対の三角形をテーブル(表1)に格納する。
【0045】これで領域境界の定義が行われた。つぎに、CIEL*a*b*空間における任意の点y=(1,a,b)が領域12内に存在するかどうかを判定する方法について説明する。図9に示されるように、表1の各々の三角形CH(yi1,yi2,yi3)につき、原点O=(0、0、0)を次式によりO´=(1、0、0)に変換する。
【0046】
【数12】
つぎに、手順1を使用して、三角形CH(y´i1,y´i2,y´i3)を求める。この三角形の凸多面錐はy´を囲む、つまりy´はCPC(y´i1,y´i2,y´i3)に含まれる。続いて、手順2を適用して、線o´y´と、3点y´i1,y´i2,y´i3で定義される平面との交点y/intを求める。CH(y´i1,y´i2,y´i3)=CH(yi1,yi2,yi3)であるから、点y(または信号)が領域の内部に存在するかどうかは、o´y/int間の距離とo´y´間の距離とを比較することで判断することができる。これを下記の手順5で説明する。
【0047】(5)手順5任意の点y=(1、a,b)が領域内に存在するかどうかを判定する。まず、手順4を適用して表1を算出する。次に、手順1を使用して、y´がCPC(y´i1,y´i2,y´i3)に含まれることを条件として、三角形y´i1,y´i2,y´i3を表1から求める(式(8)はyとy´との関係およびその他のベクトルとの関係を記述する)。続いて、手順2を使用して、線o´y´と三角形y´i1,y´i2,y´i3との交点y/intを求める。|o´−y/int|<|o´−y´|なら、yは領域の外に存在する。さもなければ、yは領域の中に存在する。
【0048】つぎに、任意の装置に対して領域記述子を作成する方法について説明する。前述したように、装置の領域記述子は、CIEL*a*b*において注意深く選択された領域境界点の集合である。これらの点は、予め決められたパターンで分布する。例えば、軸L*に対して垂直な複数の平面内に位置する場合もあり、各平面内の点を決められた数に固定する場合もあり、また平面内で隣接する2つの点の間の角度が一定の場合もある。以下に、一例をあげる。
【0049】領域記述子を作成するには、図10に示されるように、軸L*に垂直なk個の平面L*=L1 、L2 、...、Lk を用いて領域12の軸L*を分割する。領域12と平面L*=Li との交わる部分は、図11R>1に示されるように、規則性のない頂角を有する多角形50になる。つぎに、この多角形の境界上で等しい中心角で点u1 ,...,us を選択する(もし、これらの点が多角形の境界から少し外れていれば、よりよい結果が得られるであろう)。uj の角度は、θj =(j−1)×360/s(度)で与えられ、j=1、2、...、sである。s個の点により、平面L*=Liにおける領域境界がほぼ描かれる。このシステムによってこの手順が各々の平面に適用されると、合計k×s個の領域境界点が得られる。これらの点あるいは信号の各々につき、三角形補間(手順3)を使用し、CMY空間に属する立体の表面においてこれらが対応する点あるいは信号を算出する。次のようなテーブル(表2)に全てのデータが格納される。
【0050】
【表2】
要求される精度によってこの領域記述子の大きさが決まる。通常の適用では、kを20前後に設定し、sを180前後に設定する。上記を手順6に要約する。
【0051】(6)手順6参照テーブルLUTに基づき、領域記述子(表2)を作成する。まず、手順4を適用して表1を得る。次に、平面の数kと、各々の平面における領域境界点の個数sを読み込む。続いて、各々の平面L*=Li と、その平面内の各々の単位ベクトルu´j (u´j の角度は[(j−1)×360/s]度である)につき、手順5を使用して、u´j で定義された方向に沿った領域境界点uj を求める。このとき、手順5は次式を満足する3個の係数α1 、α2 、α3 を返す。
【0052】
【数13】
ここで、yt1、yt2、yt3は表1のt番目の三角形に対応する。uj を次式により補間する。
【0053】
【数14】
ここで、xt1、xt2、xt3は、yt1、yt2、yt3の対応点である。uj とvj との対を表2に格納する。最後に、領域記述子テーブル(表2)を出力する。
【0054】図12から図15は、領域記述子を作成するにあたって、前述した手順1ないし6の動作を1つの流れに結合して示したものである。図12に示されるように、第1ステップ60で、CMY空間といった装置依存空間からCIEL*a*b*空間といった、装置に依存しない独立空間へ点を変換するために、参照テーブルを読み出す。次のステップ62で、要求される領域記述子の大きさを読み出す。ステップ64で、領域境界に属する三角形テーブルを作成する。この作成の詳細な流れは図13により説明される。三角形テーブルが作成されると、ステップ65で1つの平面が選択され、ステップ66で平面の中から単位ベクトルが選択され、ステップ68でこの単位ベクトルに沿った領域境界点が補間係数とともに決定される。この動作の流れは、図14に詳細に示されている。つぎに、システムは、ステップ70で三角形補間を実行し、境界点に対するCMY空間における対応値を求める。対応値が決定されると、ステップ72で、この一対の点が領域記述子テーブルに格納される。これ以上の平面および単位ベクトルを処理する必要がなければ、ステップ76において領域記述子テーブルを出力する。
【0055】領域境界テーブルの作成は、図13に示されるように、ステップ90において、分割する必要のある正方形を選択することから開始される。この選択は逐次的に行うことができる。この正方形は、ステップ92において、前述したように2つの三角形に分割され、領域境界三角形テーブルに格納される。正方形がすべて処理されると、領域境界三角形テーブルは、ステップ98において出力される。
【0056】領域境界点を求めるために、システムは、図14に示されるように、まず、ステップ110において、単位ベクトルを囲む領域境界テーブルに属する任意の三角形によって定義される凸多面錐を求める。この動作の流れは、図15に詳細に示される。三角形が決定されると、ステップ112において、単位ベクトルと領域境界との交点を求めるのは容易である。
【0057】図15に示されている手順に従って、単位ベクトルを囲む三角形を求めるとき、三角形テーブル(表1)を検索して、包囲条件を満足できる三角形の候補を見つける必要がある。この検索を容易にするため、以下に示す三角形範囲テーブル(表3)を、前述の三角形テーブルの作成と同時に作成する。この表3は、必要に応じて、表1と結合することができる。
【0058】
【表3】
このテーブルを使用する上で注意しなければならないことは、図9に示されるように平行移動される単位ベクトルは、L*(明度)軸方向の値に結び付いていることである。このL*値は、三角形範囲テーブルを走査するのに使用され、この単位ベクトルのL*値が最小値および最大値間の三角形の範囲(L*の範囲)に収まるといった条件を満たす三角形が選択される。また、単位ベクトルは、図10に示されるように角度θにも関連付けられている。この角度は、三角形の中から最初の走査で見つかった候補を走査して、適当な角度範囲を有する三角形を最終候補として選択するのに使用される。最終候補の三角形が選択されると、3個の単位ベクトルがその三角形に加えられ、ステップ124において、従来の線形プログラミング方程式を解いて、正しい係数を求める。ステップ126において、線形プログラミング方程式に対する解が検証され、対象の関数が0に最小化されたかどうかが判定される。最小化された場合、ステップ128において、求められた係数が格納される。最小化されなかった場合、次の最終候補が三角形テーブル(表3)から読みだされ検査される。
【0059】上記発明の詳細な説明により、本発明の多数の特徴が明らかになったと思う。加えて特許請求の範囲には、本発明の趣旨と範囲に含まれる本発明の特長がすべて記述されている。さらに、本発明には多数の変更が可能なことは当業者には明白なことから、本発明は上記の構成と動作に限定されものではなく、したがって、本発明の範囲内であれば、すべての適当な変更を加えることが可能である。
【0060】
【発明の効果】以上のように本発明の第1の特徴によれば、装置に依存しない独立色空間の領域境界を決定して、独立色空間から装置依存色空間への前進補間に供する逆参照テーブルを容易に提供することができる。したがって、補間を用いて高速かつ容易に任意の位置にある色信号を独立色空間から装置依存色空間へと写像することができる。
【0061】また、本発明の第2の特徴によれば、簡単な方法で領域境界を決定することができる。
【0062】さらに、本発明の第3の特徴によれば、装置に依存しない独立色空間の領域境界を決定して、独立色空間から装置依存色空間への前進補間に供する逆参照テーブルを容易に提供することができる。したがって、補間を用いて高速かつ容易に任意の位置にある色信号を独立色空間から装置依存色空間へと写像することができる。
【図面の簡単な説明】
【図1】装置依存空間の色立方体と、これに対応する独立空間の領域とを示す図である。
【図2】立方体の格子点と、領域を形成する独立空間内の不規則に分布した、格子点に対応する点とを示す図である。
【図3】本発明のハードウェア構成要素を示す図である。
【図4】3つのベクトルy1 、y2 、y3 が形成する凸多面錐を示す図である。
【図5】装置依存空間の三角形と独立空間の三角形との対応を示す図である。
【図6】色立体表面の正方形を分割する方法を示す図である。
【図7】色立方体における任意の三角形を示す図である。
【図8】図7の三角形に対応した領域の三角形を示す図である。
【図9】三角形における境界点を示す図である。
【図10】L*に沿ってK個の平面で分割した領域を示す図である。
【図11】単位ベクトルuj ´と、単位ベクトルuj ´の方向に沿った平面L上の領域境界点uj とを示す図である。
【図12】本発明の動作を説明するためのフローチャートである。
【図13】領域境界テーブルを作成する動作を説明するためのフローチャートである。
【図14】領域境界点を見つけ出す動作を説明するためのフローチャートである。
【図15】単位ベクトルを含む三角形を見つけ出す動作を説明するためのフローチャートである。
【符号の説明】
10 色立方体
12 領域
L 平面
【0001】
【産業上の利用分野】本発明は、1つの色空間からの色データを他の色空間へ変換するために使用される領域記述子を作成する方法および装置に関し、より詳しくは、装置に依存しない独立した色空間における領域境界点の中から注意深く選択した点の集合を用いて高速で色較正を可能にするシステムに関する。
【0002】
【従来の技術】CRTやプリンタなどのカラー装置は、3本もしくは4本の色信号に基づいて動作し、色を生成、表示する。CRTには、R(赤)、G(緑)、B(青)といった色信号が使用され、プリンタには、C(シアン)、M(マゼンタ)、Y(黄)、付随的にK(黒)といった色信号を使用する。RGBやCMY信号を使用する色空間は装置依存色空間(DDCS)と呼ばれる。R,G,BやC,M,Yの各信号は、通常は0から255の整数で規定される。プリンタの場合をとれば、C,M,Yの信号範囲は、装置の色範囲立方体つまり図1の色立方体10によって形成される。この立方体10の中には、合計256×256×256(約1660万個)通りのコード値または信号の組合わせが存在し、したがってプリンタは256×256×256種類の色を発生させることができる。プリンタが発生させた色を測定するには、発生する色の色パッチを物理的に測定する測定器が用いられ、測定の結果が、標準CIEXYZ色空間つまり独立色空間(DICS)における位置(点)または色信号を決定する。続いて従来では、位置(点)または色信号は、標準CIEL*a*b*空間またはCIELUV空間といった、独立色空間(DICS)内の点(あるいは色信号)に変換されることもある。256×256×256個の点からなる色立方体10に占められる範囲(体積)は、CIEL*a*b*空間内の信号に変換されると、その装置の領域(gamut)12と呼ばれる。装置の領域とは、その装置が(CIEL*a*b*空間内で)発生させることのできる全ての色を意味する。CIEL*a*b*空間つまり独立色空間に属する領域12の境界に存在する色は、CMYつまり装置依存色空間に属する色立方体10の表面を形作る信号値によって発生する。
【0003】
【発明が解決しようとする課題】上記方法によれば、任意のプリンタの領域を正確に決定することができる。しかし、この方法では、約1660万個もの色パッチを測定する必要があり、実施は不可能に近い。少数の色パッチ(例えば512個)を測定して、それらを独立色空間(CIEL*a*b*)の点または信号に変換する方がより実用的である。通常、これらの色パッチに対する信号値が、立方体10の全範囲を占める格子点として選択されると都合がよい。図2は、CMYおよびCIEL*a*b*空間内の色パッチに対する色立方体格子点の分布を例示している。これらの点をテーブルの形で格納することにより、CMYからCIEL*a*b*への、いわゆる参照テーブル(look-up table )が得られる。この参照テーブルLUTに基づき、補間法を使用して、任意に指定された点をこれらの2つの空間の間で写像することができる。
【0004】図2からもわかるように、立方体10に含まれる格子点は、規則正しく分布しているが、これらに対応する領域12の点はばらばらに分布している。参照テーブルLUTを使用すれば、高速かつ容易に、任意の位置にある色信号をCMYからCIEL*a*b*へ写像することができる。なぜなら、補間が行われる参照テーブルLUTの点が格子点だからである。しかし、CIEL*a*b*からCMYへの逆変換となるとそうはいかない。なぜなら、補間の出発点であるCIEL*a*b*空間の点が格子点ではないからである。この逆変換を効率よく行うには、CIEL*a*b*格子点を出発点とした逆参照テーブルが必要とされる。逆参照テーブルを効率よく作成するには、領域境界を決定する必要があり、そして決定された領域境界が凝縮されれば、CIEL*a*b*空間に属するが領域12の外部にある点を領域12内の点に効率的に変換できるようになる。
【0005】本発明は、上記実情に鑑みてなされたもので、領域境界点を任意の方向に沿って定義する方法を提供することを目的とする。
【0006】また、本発明は、任意の装置の領域境界を記述する、領域記述子、つまり領域境界を簡略に表現したものを作成し使用することを目的とする。
【0007】さらに、本発明は、CMYからCIEL*a*b*への参照テーブルを使用して、領域記述子を作成する方法を提供することを目的とする。
【0008】さらにまた、本発明は、与えられたベクトルが、d次元ベクトル空間Rd内の凸多面錐(CPC)によって包囲されているかどうかを判断する方法を提供することを目的とする。
【0009】さらにまた、本発明は、3点で形成された平面と、その3点で形成された凸多面錐によって囲まれる線との交点を判定するための方法を提供することを目的とする。
【0010】さらにまた、本発明は、2つの三次元空間内の2つの三角形の間における一対一の可逆補間方法を提供することを目的とする。
【0011】さらにまた、本発明は、与えられた参照テーブルに基づき、三角形(平面)の集合を使用して領域境界を定義し構築する方法を提供することを目的とする。
【0012】さらにまた、本発明は、与えられた点あるいは信号が領域内に入っているかどうかを判断するための方法を提供することを目的とする。
【0013】
【課題を解決するための手段】上記目的を達成するために、本発明に係る方法は、領域記述子の作成方法であって、装置に依存しない独立色空間における所定のパターンの領域から領域境界信号を選択する段階と、これに対応する信号を装置依存色空間において決定する段階とを備えることを第1の特徴とする。
【0014】また、本発明に係る方法は、上記特徴に加えて、前記選択する段階は、前記領域を、少なくとも所定の間隔で平行な平面に分割する過程と、前記平面ごとに、少なくとも所定の角度で間隔をおいた単位ベクトルを選択する過程と、前記単位ベクトルと領域境界との交点信号を決定する過程とを備えることを第2の特徴とする。
【0015】さらに、本発明に係る装置は、領域記述子の作成装置であって、装置に特有の装置依存色空間から、装置に依存しない独立色空間に信号を変換するために、参照テーブルを読む入力手段と、境界三角形が列挙されている領域境界テーブルを上記参照テーブルから作成するためのテーブル作成手段と、上記三角形に囲まれた領域境界信号を選択するための境界手段と、各々の境界点に対して三角形補間を実行して領域記述子リストを作成するための補間手段とを有することを第3の特徴とする。
【0016】
【実施例】以下、添付図面を参照して本発明の一実施例を説明する。
【0017】本発明は、装置領域記述子を高速に作成するための方法を提供する。領域識別子を使用して逆参照テーブルILUTを作成する。このテーブルは、装置に依存しない独立色空間DICSの点または信号を、装置依存色空間DDCSの点に写像する。また、装置領域記述子は、逆参照テーブルILUTが利用できないとき、独立色空間DICSから装置依存色空間DDCSへの写像を高速化するために使用することができる。領域記述子は、独立色空間DICS内の注意深く選択された装置領域境界点あるいは信号の小さな集合である。これらの点は、領域境界上に均一に分布し、領域の全ての範囲をカバーする。記述子点は、選択された装置独立空間がCIEL*a*b*空間またはCIELUV空間であれば、軸L*に対して垂直であって等間隔をおいた複数の平面内に位置し、各々の平面に対して等しい角度で位置することが好ましい。領域記述子における領域境界点のこのような分布パターンは、独立色空間DICSから装置依存色空間DDCSへ高速で写像する際に有用な情報である。
【0018】適用されるものによって、数百点から数千点の間で領域記述子の大きさを選択できる。画像や逆参照テーブルILUTの大きさと比較し、領域記述子は小さな集合である。後述するように、領域記述子の計算にはあまり時間がかからない。
【0019】図3に示されているように、本発明の実施例に係る装置は、サンワークステーションやアップルマッキントッシュのようなコンピュータ20と、2台の出力装置としての第1及び第2の装置22、24とを備える。これらの出力装置は、製造者の異なるプリンタやCRTであってもよい。このコンピュータには、画像、つまり、第1の装置22で印刷あるいは表示する画像を作成するのに使用される色信号28が記憶される。この画像に対する色信号は、第1の装置の装置依存色空間に属する色信号である。本発明装置は、このような画像を、第2の装置24に対する装置依存色空間信号に変換するように設計される。この変換方法では、装置依存色空間内の色信号28を独立色空間の色信号30に変換する際に、従来の前進補間と第1の装置22の参照テーブル32とを使用する。後進補間を適用すれば、通常、第2の装置24の色信号34を独立色空間の色信号30に変換する際に使用される参照テーブル36を用いて、第2の装置24に関する独立色空間の色信号30を装置依存色空間の色信号に変換することができる。しかし、逆参照テーブル40と前進補間とを使用して写像を行えば、変換ははるかに高速になる。逆参照テーブル40を作成するには、第2の装置24の参照テーブル36と領域記述子38とを使用する。逆参照テーブルILUT40を効率的に作成する方法に関しては、1993年5月28日に出願された米国特許出願第68,941号といった関連出願において詳述され、また、色信号を独立空間から装置依存空間へ効率よく変換する方法については、1993年5月28日に出願された米国特許出願第68,823号といった関連出願において詳述される。もちろん、第2の装置24のために記録された画像をプリンタ22の画像へ変換する際に、本発明に係る領域記述子42を使用してもよい。
【0020】上記の領域記述子を作成するための手法を説明する前に、今後登場するいくつかのアルゴリズムについて説明する。
【0021】Y={y1 、y2 、...、yn }を、d次元のユークリッド空間Rdにおける点の集合と仮定する。CPC(Y)として示されるYの凸多面錐は、次式で定義されるRd内の集合である。
【0022】
【数1】
CH(Y)として示されるYの凸包は、次式で定義されるRd内の集合である。
【数2】
ベクトルyは、次式のようなn個の係数α1 、α2 、...、αn が存在すれば、錐体CPC(Y)によって囲まれる。
【0023】
【数3】
図4は、ベクトルyを囲む3点y1 、y2 、y3 で定義された凸多面錐の一部を示す。他の部分は、点y1 、y2 、y3 に関連付けられた3個のベクトルを無限に拡大することによって得られる無限範囲の部分である。CPC(y1 、y2 、y3 )は、ベクトルy’をも囲む。
【0024】任意のベクトルyが、Rdに含まれるY={y1 、y2 、...、yn }によって定義される凸多面錐によって囲まれるかどうかは、次の手順1によって判定することができる。
【0025】(1)手順1yがCPC(Y)に含まれるかどうかを判定する。まず、yn+1 =(1、0、...、0)T ,...、yn+d =(0、0、...、1)T をy1 、y2 、...、yn に加える。ここで、Tはベクトルの転置を示し、yn+1 、...yn+d は単位ベクトルである。
【0026】次に、次の線形プログラミングを解く。即ち、
【数4】
を最小化する。但し、以下のことが条件とされる。
【0027】
【数5】
最小化した値がゼロより大きければ、yはCPC(Y)に含まれる(yは錐体によって囲まれない)。それ以外の場合には、yはCPC(Y)に含まれないこととなり、この場合、手順1は上式(3)を満足するn個の係数α1 、α2 、...、αn を返す。
【0028】手順1は、凸多面錐包含問題を解くための一般的な方法である。本発明で問題となるのは、d=n=3で、かつ錐体が三角形によって定義されるような特別な場合である。後述するように、この場合に必要となるのは、ベクトルによって定義された線と3点y1 、y2 、y3 で形成された平面との交点を見つけることである。図4に示されるように、yがCPC(y1 、y2 、y3 )で囲まれていれば、次式を満足する3個の係数α1 、α2 、α3 を呼び戻す。
【0029】
【数6】
式(4)の係数をα=α1 +α2 +α3 で正規化すると、次式が得られる。
【0030】
【数7】
式(5)は、点yが、3点y1 、y2 、y3 の凸包で囲まれていることを示す。y1 、y2 、y3 の凸包は三角形であるから、y’はy1 、y2 、y3 で形成される平面内にあることとなる。交点の計算を次の手順2によって説明する。
【0031】(2)手順2yで定義される線と、y1 、y2 、y3 で形成される平面との交点を判定する。ここで、yはCPC(y1 、y2 、y3 )に含まれる。即ち、まず、手順1を適用して、式(4)を満足する3個の係数α1 、α2 、α3 を求める。次に、式(5)によって交点y’を算出する。
【0032】上記関連出願において、色較正のための凸補間方法が記述されている。以下に、R3の中に3個の点が存在する凸補間の特殊な場合について説明する。この場合、凸補間は、「三角形」補間と呼ばれる。図5に示されるように、y1 、y2、y3 を独立空間CIEL*a*b*内の3点とし、これらに対応する装置依存空間CMY内の三角形24の点をx1 、x2 、x3 とする。CIEL*a*b*において、y1 、y2 、y3 (三角形)の凸包内に存在する、つまりCH(y1、y2 、y3 )に含まれる任意の点をyとする。このシステムで必要となるのは、CMY空間で対応する点xを補間によって計算することである。関連出願に詳述されている凸包包含手順を適用することにより、3個の係数α1 、α2 、α3が得られ、次式を満足する。
【0033】
【数8】
つぎに、このシステムは次の三角形補間公式に従って補間を行う。
【0034】
【数9】
以下の手順3では、CIEL*a*b*空間からCMY空間への三角形補間を詳述する。
【0035】(3)手順3三角形補間により、CH(y1 、y2 、y3 )に含まれる任意の点yを補間する。まず、単位ベクトルy4 =(1、0、0)T 、y5 =(0、1、0)T 、y6 =(0、0、1)T をy1 、y2 、y3 に加える。次に、以下の既知の線形プログラミングを解く。
【0036】
【数10】
を最小化する。但し、
【数11】
が条件とされる。
【0037】続いて、CH(y1 、y2 、y3 )にyが含まれることから、この手順は、式(6)を満足する3個の係数α1 、α2 、α3 を返すこととなる。
【0038】最後に、式(7)により、xを算出する。
【0039】三角形補間は、三角形CH(y1 、y2 、y3 )から三角形CH(x1 、x2、x3 )への一対一写像である。この写像は可逆である。つまり、yを三角形補間してxが得られたならば、同じ手順でxを補間すれば、yが得られる。
【0040】つぎに領域境界について説明する。図2に示されるように、装置領域に対して使用可能な情報は、N3 個の入力項目を有する参照テーブルLUTである(通常、Nは8から11の範囲の値である)。CMY空間における立方体10の表面には、(6N2 −12N+8)個の入力項目が存在し、これと同数の点がCIEL*a*b*空間における領域12に存在する。このシステムで必要なことは、(6N2 −12N+8)個の点に基づいて領域境界を見積もり、領域記述子を作成することである。まず、領域境界の定義の方法について説明し、つぎに、領域記述子の算出方法について説明する。
【0041】参照テーブルLUTに属するN3 個の点は、CMY空間における格子点であるから、立方体10の6個の面の各々にはN2 個の点が存在する。これらの点は、各々の面を(N−1)2 個の正方形に区分けする(図7参照)。合計6(N−1)2 個の正方形が存在することになる。図6に示されるように、CMY空間における正方形26の四隅の点をx1 、...、x4 とし、y1 、...、y4 をこれらに対応するCIEL*a*b*空間における多角形27の4点とする。図6に示されるように、正方形26は、A型またはB型の方法により、2つの三角形28と30、または三角形32と34とに分割される。4個の点y1 、...、y4 が1つの平面内に存在しない場合(通常の場合、曲面の領域境界を考えたとき)、領域境界において4点y1 、...、y4 で形成される部分は、一方の区画方法では凸形に導かれ、他方の区画方法では凹形に導かれる。y1 とy3 の中点y13と、y2 とy4 の中点y24とを算出し、これら中点から軸L*への距離を比較すれば、凹形を形成する区画を決定できる。これらの正方形を三角形に分割するには、図6に示されるような通常の分割方法を使用すると便利であり、高速でもある。CIEL*a*b*空間における対応三角形は、平面と、その平面の外周部分とを画成し、これらにより領域が定義される。また、領域境界面を、小さな曲面の集合として把握してもよい。しかし、この場合、領域境界点を算出するにしても、任意の信号が領域内にあるかどうかを判断するにしても複雑さが増してしまう。
【0042】このシステムで、6(N−1)2 個の正方形の各々を2つの三角形に分割するには、上記の通常の分割方法を使用することが好ましい。CMY空間において合計12(N−1)2 個の三角形、CIEL*a*b*空間においても同数の三角形を得る。CMY空間における三角形を全て合わせると、図7に示される立方体10の表面になり、CIEL*a*b*空間における三角形を全て合わせると、図8に示されている領域12の境界になる。ここで、陰影の付いている三角形はそれぞれ両図において互いに対応している。これらの三角形は、つぎのように、三角形テーブル(表1)に格納することができる。
【0043】
【表1】
上記のような方法で領域境界を定義することの利点は、CMY空間における立体10の表面上の点と、CIEL*a*b*空間における領域境界12上の点との間に、1対1の対応関係が存在することである。後述するように、このような1対1の対応関係を判定することは容易である。手順4に、上記の説明を要約する。
【0044】(4)手順4参照テーブルLUTに基づき、三角形を使用して領域境界を構築する。まず、N3 個の入力項目を有する参照テーブルLUTを読み込む。次に、6(N−1)2 個の参照テーブルLUTの正方形の各々を2個の三角形に分割する。続いて、12(N−1)2 対の三角形をテーブル(表1)に格納する。
【0045】これで領域境界の定義が行われた。つぎに、CIEL*a*b*空間における任意の点y=(1,a,b)が領域12内に存在するかどうかを判定する方法について説明する。図9に示されるように、表1の各々の三角形CH(yi1,yi2,yi3)につき、原点O=(0、0、0)を次式によりO´=(1、0、0)に変換する。
【0046】
【数12】
つぎに、手順1を使用して、三角形CH(y´i1,y´i2,y´i3)を求める。この三角形の凸多面錐はy´を囲む、つまりy´はCPC(y´i1,y´i2,y´i3)に含まれる。続いて、手順2を適用して、線o´y´と、3点y´i1,y´i2,y´i3で定義される平面との交点y/intを求める。CH(y´i1,y´i2,y´i3)=CH(yi1,yi2,yi3)であるから、点y(または信号)が領域の内部に存在するかどうかは、o´y/int間の距離とo´y´間の距離とを比較することで判断することができる。これを下記の手順5で説明する。
【0047】(5)手順5任意の点y=(1、a,b)が領域内に存在するかどうかを判定する。まず、手順4を適用して表1を算出する。次に、手順1を使用して、y´がCPC(y´i1,y´i2,y´i3)に含まれることを条件として、三角形y´i1,y´i2,y´i3を表1から求める(式(8)はyとy´との関係およびその他のベクトルとの関係を記述する)。続いて、手順2を使用して、線o´y´と三角形y´i1,y´i2,y´i3との交点y/intを求める。|o´−y/int|<|o´−y´|なら、yは領域の外に存在する。さもなければ、yは領域の中に存在する。
【0048】つぎに、任意の装置に対して領域記述子を作成する方法について説明する。前述したように、装置の領域記述子は、CIEL*a*b*において注意深く選択された領域境界点の集合である。これらの点は、予め決められたパターンで分布する。例えば、軸L*に対して垂直な複数の平面内に位置する場合もあり、各平面内の点を決められた数に固定する場合もあり、また平面内で隣接する2つの点の間の角度が一定の場合もある。以下に、一例をあげる。
【0049】領域記述子を作成するには、図10に示されるように、軸L*に垂直なk個の平面L*=L1 、L2 、...、Lk を用いて領域12の軸L*を分割する。領域12と平面L*=Li との交わる部分は、図11R>1に示されるように、規則性のない頂角を有する多角形50になる。つぎに、この多角形の境界上で等しい中心角で点u1 ,...,us を選択する(もし、これらの点が多角形の境界から少し外れていれば、よりよい結果が得られるであろう)。uj の角度は、θj =(j−1)×360/s(度)で与えられ、j=1、2、...、sである。s個の点により、平面L*=Liにおける領域境界がほぼ描かれる。このシステムによってこの手順が各々の平面に適用されると、合計k×s個の領域境界点が得られる。これらの点あるいは信号の各々につき、三角形補間(手順3)を使用し、CMY空間に属する立体の表面においてこれらが対応する点あるいは信号を算出する。次のようなテーブル(表2)に全てのデータが格納される。
【0050】
【表2】
要求される精度によってこの領域記述子の大きさが決まる。通常の適用では、kを20前後に設定し、sを180前後に設定する。上記を手順6に要約する。
【0051】(6)手順6参照テーブルLUTに基づき、領域記述子(表2)を作成する。まず、手順4を適用して表1を得る。次に、平面の数kと、各々の平面における領域境界点の個数sを読み込む。続いて、各々の平面L*=Li と、その平面内の各々の単位ベクトルu´j (u´j の角度は[(j−1)×360/s]度である)につき、手順5を使用して、u´j で定義された方向に沿った領域境界点uj を求める。このとき、手順5は次式を満足する3個の係数α1 、α2 、α3 を返す。
【0052】
【数13】
ここで、yt1、yt2、yt3は表1のt番目の三角形に対応する。uj を次式により補間する。
【0053】
【数14】
ここで、xt1、xt2、xt3は、yt1、yt2、yt3の対応点である。uj とvj との対を表2に格納する。最後に、領域記述子テーブル(表2)を出力する。
【0054】図12から図15は、領域記述子を作成するにあたって、前述した手順1ないし6の動作を1つの流れに結合して示したものである。図12に示されるように、第1ステップ60で、CMY空間といった装置依存空間からCIEL*a*b*空間といった、装置に依存しない独立空間へ点を変換するために、参照テーブルを読み出す。次のステップ62で、要求される領域記述子の大きさを読み出す。ステップ64で、領域境界に属する三角形テーブルを作成する。この作成の詳細な流れは図13により説明される。三角形テーブルが作成されると、ステップ65で1つの平面が選択され、ステップ66で平面の中から単位ベクトルが選択され、ステップ68でこの単位ベクトルに沿った領域境界点が補間係数とともに決定される。この動作の流れは、図14に詳細に示されている。つぎに、システムは、ステップ70で三角形補間を実行し、境界点に対するCMY空間における対応値を求める。対応値が決定されると、ステップ72で、この一対の点が領域記述子テーブルに格納される。これ以上の平面および単位ベクトルを処理する必要がなければ、ステップ76において領域記述子テーブルを出力する。
【0055】領域境界テーブルの作成は、図13に示されるように、ステップ90において、分割する必要のある正方形を選択することから開始される。この選択は逐次的に行うことができる。この正方形は、ステップ92において、前述したように2つの三角形に分割され、領域境界三角形テーブルに格納される。正方形がすべて処理されると、領域境界三角形テーブルは、ステップ98において出力される。
【0056】領域境界点を求めるために、システムは、図14に示されるように、まず、ステップ110において、単位ベクトルを囲む領域境界テーブルに属する任意の三角形によって定義される凸多面錐を求める。この動作の流れは、図15に詳細に示される。三角形が決定されると、ステップ112において、単位ベクトルと領域境界との交点を求めるのは容易である。
【0057】図15に示されている手順に従って、単位ベクトルを囲む三角形を求めるとき、三角形テーブル(表1)を検索して、包囲条件を満足できる三角形の候補を見つける必要がある。この検索を容易にするため、以下に示す三角形範囲テーブル(表3)を、前述の三角形テーブルの作成と同時に作成する。この表3は、必要に応じて、表1と結合することができる。
【0058】
【表3】
このテーブルを使用する上で注意しなければならないことは、図9に示されるように平行移動される単位ベクトルは、L*(明度)軸方向の値に結び付いていることである。このL*値は、三角形範囲テーブルを走査するのに使用され、この単位ベクトルのL*値が最小値および最大値間の三角形の範囲(L*の範囲)に収まるといった条件を満たす三角形が選択される。また、単位ベクトルは、図10に示されるように角度θにも関連付けられている。この角度は、三角形の中から最初の走査で見つかった候補を走査して、適当な角度範囲を有する三角形を最終候補として選択するのに使用される。最終候補の三角形が選択されると、3個の単位ベクトルがその三角形に加えられ、ステップ124において、従来の線形プログラミング方程式を解いて、正しい係数を求める。ステップ126において、線形プログラミング方程式に対する解が検証され、対象の関数が0に最小化されたかどうかが判定される。最小化された場合、ステップ128において、求められた係数が格納される。最小化されなかった場合、次の最終候補が三角形テーブル(表3)から読みだされ検査される。
【0059】上記発明の詳細な説明により、本発明の多数の特徴が明らかになったと思う。加えて特許請求の範囲には、本発明の趣旨と範囲に含まれる本発明の特長がすべて記述されている。さらに、本発明には多数の変更が可能なことは当業者には明白なことから、本発明は上記の構成と動作に限定されものではなく、したがって、本発明の範囲内であれば、すべての適当な変更を加えることが可能である。
【0060】
【発明の効果】以上のように本発明の第1の特徴によれば、装置に依存しない独立色空間の領域境界を決定して、独立色空間から装置依存色空間への前進補間に供する逆参照テーブルを容易に提供することができる。したがって、補間を用いて高速かつ容易に任意の位置にある色信号を独立色空間から装置依存色空間へと写像することができる。
【0061】また、本発明の第2の特徴によれば、簡単な方法で領域境界を決定することができる。
【0062】さらに、本発明の第3の特徴によれば、装置に依存しない独立色空間の領域境界を決定して、独立色空間から装置依存色空間への前進補間に供する逆参照テーブルを容易に提供することができる。したがって、補間を用いて高速かつ容易に任意の位置にある色信号を独立色空間から装置依存色空間へと写像することができる。
【図面の簡単な説明】
【図1】装置依存空間の色立方体と、これに対応する独立空間の領域とを示す図である。
【図2】立方体の格子点と、領域を形成する独立空間内の不規則に分布した、格子点に対応する点とを示す図である。
【図3】本発明のハードウェア構成要素を示す図である。
【図4】3つのベクトルy1 、y2 、y3 が形成する凸多面錐を示す図である。
【図5】装置依存空間の三角形と独立空間の三角形との対応を示す図である。
【図6】色立体表面の正方形を分割する方法を示す図である。
【図7】色立方体における任意の三角形を示す図である。
【図8】図7の三角形に対応した領域の三角形を示す図である。
【図9】三角形における境界点を示す図である。
【図10】L*に沿ってK個の平面で分割した領域を示す図である。
【図11】単位ベクトルuj ´と、単位ベクトルuj ´の方向に沿った平面L上の領域境界点uj とを示す図である。
【図12】本発明の動作を説明するためのフローチャートである。
【図13】領域境界テーブルを作成する動作を説明するためのフローチャートである。
【図14】領域境界点を見つけ出す動作を説明するためのフローチャートである。
【図15】単位ベクトルを含む三角形を見つけ出す動作を説明するためのフローチャートである。
【符号の説明】
10 色立方体
12 領域
L 平面
【特許請求の範囲】
【請求項1】 領域記述子の作成方法であって、装置に依存しない独立色空間における所定のパターンの領域から領域境界信号を選択する段階と、これに対応する信号を装置依存色空間において決定する段階と、を備えることを特徴とする領域記述子の作成方法。
【請求項2】 請求項1記載の方法であって、前記選択する段階は、前記領域を、少なくとも所定の間隔で平行な平面に分割する過程と、前記平面ごとに、少なくとも所定の角度で間隔をおいた単位ベクトルを選択する過程と、前記単位ベクトルと領域境界との交点信号を決定する過程と、を備えることを特徴とする領域記述子の作成方法。
【請求項3】 領域記述子の作成装置であって、装置に特有の装置依存色空間から、装置に依存しない独立色空間に信号を変換するために、参照テーブルを読む入力手段と、境界三角形が列挙されている領域境界テーブルを上記参照テーブルから作成するためのテーブル作成手段と、上記三角形に囲まれた領域境界信号を選択するための境界手段と、各々の境界点に対して三角形補間を実行して領域記述子リストを作成するための補間手段と、を有することを特徴とする領域記述子の作成装置。
【請求項1】 領域記述子の作成方法であって、装置に依存しない独立色空間における所定のパターンの領域から領域境界信号を選択する段階と、これに対応する信号を装置依存色空間において決定する段階と、を備えることを特徴とする領域記述子の作成方法。
【請求項2】 請求項1記載の方法であって、前記選択する段階は、前記領域を、少なくとも所定の間隔で平行な平面に分割する過程と、前記平面ごとに、少なくとも所定の角度で間隔をおいた単位ベクトルを選択する過程と、前記単位ベクトルと領域境界との交点信号を決定する過程と、を備えることを特徴とする領域記述子の作成方法。
【請求項3】 領域記述子の作成装置であって、装置に特有の装置依存色空間から、装置に依存しない独立色空間に信号を変換するために、参照テーブルを読む入力手段と、境界三角形が列挙されている領域境界テーブルを上記参照テーブルから作成するためのテーブル作成手段と、上記三角形に囲まれた領域境界信号を選択するための境界手段と、各々の境界点に対して三角形補間を実行して領域記述子リストを作成するための補間手段と、を有することを特徴とする領域記述子の作成装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図13】
【図12】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図13】
【図12】
【図14】
【図15】
【公開番号】特開平7−30774
【公開日】平成7年(1995)1月31日
【国際特許分類】
【出願番号】特願平6−117261
【出願日】平成6年(1994)5月30日
【出願人】(591264544)イーストマン・コダツク・カンパニー (2)
【公開日】平成7年(1995)1月31日
【国際特許分類】
【出願日】平成6年(1994)5月30日
【出願人】(591264544)イーストマン・コダツク・カンパニー (2)
[ Back to top ]