(57)【要約】      （修正有）【課題】  色信号をモニターやプリンタなどのデバイスの色域にマッピングする色圧縮処理に関し、マッピング後の点を短時間に探索する。【解決手段】  出力デバイスの色域を示す測色値を取得し（Ｓ１００−Ｓ１０１）、測色値から色域の境界を示す情報を生成し（Ｓ１０３−Ｓ１０４）、色信号が境界の外側にあるか否かを判定し（Ｓ１０７）、境界の外側にある色信号を、色域の境界を示す情報に基づき、境界にマッピングする（Ｓ１０９−Ｓ１１０）。【選択図】  図２
2006140972.tif 000002
【特許請求の範囲】
【請求項１】
対象色を所定の色域内にマッピングする色処理方法であって、
所定の色域を示す、複数の多角形で構成される多面体を示す情報を取得し、
対象色と前記多面体内の位置関係を判定し、
前記判定の結果、前記対象色が前記多面体外であると判定された場合は、前記多面体を構成する複数の多角形から、前記対象色に近い多角形を検索し、前記対象色を前記多角形上にマッピングすることを特徴とする色処理方法。
【請求項２】
前記所定の色域はデバイスの色域であり、前記デバイスの特性を示す複数の測色値を取得し、前記測色値から前記複数の多角形で構成される多面体を示す情報を生成することを特徴とする請求項1に記載された色処理方法。
【請求項３】
前記マッピングは、前記対象色を前記多角形上の最近点にマッピングすることを特徴とする請求項1または請求項2に記載された色処理方法。
【請求項４】
出力デバイスの色域を示す測色値を取得し、
前記測色値から前記色域の境界を示す情報を生成し、
色信号が前記境界の外側にあるか否かを判定し、
前記境界の外側にある色信号を、前記色域の境界を示す情報に基づき、前記境界にマッピングすることを特徴とする色処理方法。
【請求項５】
前記色域の境界を示す情報を、複数の三角形から構成される多面体として生成することを特徴とする請求項4に記載の色処理方法。
【請求項６】
前記色域の境界を示す情報を、前記測色値に対応するデバイスRGB値の六面体の、各面に対応する前記測色値から生成することを特徴とする請求項4に記載の色処理方法。
【請求項７】
前記境界の外側にある入力色信号は、幾何学的な色差を最小にする色空間圧縮を施すことを特徴とする請求項4から請求項6の何れかに記載された色処理方法。
【請求項８】
前記境界の内側にある入力色信号は、色空間圧縮を施さないことを特徴とする請求項4から請求項6の何れかに記載された色処理方法。
【請求項９】
出力デバイスの色域を示す測色値を取得する取得手段と、
前記測色値から前記色域の境界を示す情報を生成する生成手段と、
色信号が前記境界の外側にあるか否かを判定する判定手段と、
前記境界の外側にある色信号を、前記色域の境界を示す情報に基づき、前記境界にマッピングするマッピング手段とを有することを特徴とする色処理装置。
【請求項１０】
コンピュータを用いて、請求項1から請求項8の何れかに記載された色処理を実現することを特徴とするプログラム。
【請求項１１】
請求項10に記載されたプログラムが記録されたことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色信号をデバイスの色域にマッピングする色処理に関する。
【背景技術】
【０００２】
カラー画像を出力する装置としてモニタや、プリンタなどのハードコピー装置がある。モニタはRGBの加法混色で色を表現し、ハードコピー装置はCMYKの減法混色で色を表現する。一般に、モニタの色再現範囲の方が、ハードコピー装置の色再現範囲よりも広く、モニタに表示したカラー画像をハードコピー装置で忠実に再現することはできない。
【０００３】
そこで、色味の視覚的な一致を図るための技術として色空間圧縮がある。色空間圧縮には、以下のような様々な方法がある。
(1) 色再現範囲全体を線形にマッピングする方法
(2) 色再現範囲外の色だけを色再現範囲の外縁に圧縮する方法
(3) 色再現範囲内は元の色を保存するためにできる限り圧縮せず、色再現範囲外の色は色再現範囲の高彩度部へ圧縮して、階調性を保つ方法
【０００４】
上記(1)の方法は、線形にマッピングするため階調性は損わないが、視覚的に異なる色に見える場合がある。また、(2)の方法は、プルーフ用途など、色再現範囲内において数値的な色の一致が要求される場合に用いられるが、色再現範囲外のある二点が色再現範囲外縁の同じ位置にマッピングされる場合があり、階調性が崩れて画像のもつ情報を失うことがある。さらに、(3)の方法は、階調性が失われず、かつ、彩度が低い部分に関しては元の色が保存されるため、人間の視覚的にもっとも違和感が少なく、写真の出力などに用いられる。
【０００５】
上記(2)の方法においては、デバイスの色再現範囲内の最も近い点がどこにあるかを探すために、すべて点の色差を求め、色差が小さい（近い）点から補間してマッピング後の点を決定するため、デバイス色域を表す点群が多くなればなるほど、マッピング後の点の探索に時間がかかる欠点がある（特開2002-094812号公報）。
【０００６】
【特許文献１】特開2002-094812号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明は、マッピング後の点を短時間に探索することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【０００９】
本発明は、対象色を所定の色域内にマッピングする際に、所定の色域を示す、複数の多角形で構成される多面体を示す情報を取得し、対象色と前記多面体内の位置関係を判定し、前記判定の結果、前記対象色が前記多面体外であると判定された場合は、前記多面体を構成する複数の多角形から、前記対象色に近い多角形を検索し、前記対象色を前記多角形上にマッピングすることを特徴とする。
【発明の効果】
【００１０】
本発明によれば、マッピング後の点を短時間に探索することができる。
【発明を実施するための最良の形態】
【００１１】
以下、本発明にかかる実施例の画像処理を図面を参照して詳細に説明する。
【実施例１】
【００１２】
図1は実施例1の画像処理装置の構成例を示すブロック図で、汎用のパーソナルコンピュータに画像処理ソフトウェアなどを供給することで実現される。
【００１３】
CPU 301は、RAM 302をワークメモリとして、ROM 303やハードディスクドライブ(HDD)304に格納されたオペレーティングシステム(OS)やアプリケーションソフトウェアなど様々なプログラムを実行し、システムバス309に接続された各構成を制御する。なお、後述する画像処理もCPU 301によって実行される。
【００１４】
液晶ディスプレイ(LCD)305は、ユーザインタフェイス画面、入力および出力画像を含む様々な処理の状況・結果を表示するためのモニタである。操作部307は、例えばキーボードやマウスなどのポインティングデバイスを含み、ユーザがコマンドやデータを画像処理装置へ入力するためのものである。汎用インタフェイス308は、例えばUSB (Universal Serial Bus)やIEEE1394などのシリアルバス、SCSI、GPIB、IEEE1284やPCカードバスなどのパラレルインタフェイス、RS232CやRS422などのシリアルインタフェイスなどで（複数の組み合わせも可能）、例えば測色器、イメージスキャナ、フィルムスキャナ、ディジタルカメラ、ビデオカメラなどの入力デバイス、並びに、プリンタなどの出力デバイスを接続することができる。
【００１５】
なお、図1には記載しないが、HDD 304とシステムバス309の間、LCD 305とシステムバス309の間、および、操作部307とシステムバス309の間にはそれぞれインタフェイスが存在する。
【００１６】
また、HDD 304には、汎用インタフェイス308に接続される様々な入出力デバイス用のドライバ（ソフトウェア）が格納され、CPU 301と入出力デバイスの間のインタフェイス機能を提供する。
【００１７】
図2は実施例1の画像処理を示すフローチャートで、CPU 301が実行する処理である。
【００１８】
まず、汎用インタフェイス308に接続されたプリンタのような出力デバイスにパッチデータを出力してカラーチャートを印刷し(S100)、カラーチャートの測色値を汎用インタフェイス308に接続された測色器などから入力する(S101)。そして、ステップS101で得られた出力デバイスの特性を示す測色値をCIE CAM97モデルを用いて観察条件を考慮したJab値に変換し(S102)、パッチデータ（デバイスRGB値）とJab値の関係を表す三次元のRGB-Jabテーブルを作成する(S103)。なお、観察条件は、測色値に組み込んでもよいし、LCD 305にユーザインタフェイスを表示して、操作部307から入力させてもよい。
【００１９】
図3はRGB-JabテーブルのRGB立方体を示す図で、格子値=0、64、128、192および255の5×5×5三次元テーブルの例である。本実施例では、RGB立方体の表面に相当する部分だけを抽出し、そのRGB値に対するJab値をもつ複数の三角形（三角平面）からなる多面体を生成する(S104)。この多面体は出力デバイスの色域（境界）を示す。なお、図3の例では、立方体の各面が4×4×2=32個の三角形を有するから、全体では32×6=192個の三角形で多面体を生成することになる。
【００２０】
次に、外部機器から汎用インタフェイス308を介して画像データを入力し(S105)、その値をJab値に変換し(S106)、上記の多面体を用いて色域の内外判定を行う(S107)。なお、観察条件は、画像データに組み込んでもよいし、LCD 305にユーザインタフェイスを表示して、操作部307から入力させてもよい。
【００２１】
内外判定の結果、色域の内側のJab値は対応するRGB値を出力し(S108)、色域の外側のJab値は最も近い三角形を検索し(S109)、詳細は後述するが、検索した三角形の最も近い位置に貼り付けて出力する(S110)。なお、ステップS108またはS110で出力される画像データは、一旦、RAM 302またはHDD 304に格納され、RGB値から出力デバイスのYMCK値に変換され、汎用インタフェイス308を介して出力デバイスに送られる。
【００２２】
そして、画像データの入力が終了したか否かを判定し(S111)、未了であればステップS105からS109の処理を繰り返す。なお、色域境界を示す多面体が生成済みの出力デバイスの場合は、ステップS105から処理を開始すればよい。
【００２３】
図4は出力デバイスの色域（境界）を複数の三角形で表す場合に、最も簡単な12面体の例を示す図である。以下では、簡単のために、出力デバイスの色域（境界）が図4に示す12面体で表される場合を説明するが、実際は、パッチデータの点集合から凸閉包（convex hull：実線形空間で与えられた点の集まりを含む最小の凸集合）を用いて多面体を作成したり、図3に示すRGB立方体の表面に対応する色信号で多面体を作成する。
【００２４】
入力されたJab値が、図4に示す12面体の内部か外部かを判定するには、図5に示すような各三角形の法線ベクトル(a[i], b[i], c[i])を算出する。なお、iは三角形のインデックス番号を表し、図4に示す12面体の場合は0≦i≦11、図3に示す192面体の場合は0≦i≦191である。以下、Jab平面をxyzの三次元幾何学的に扱うためにJ≡x、a≡y、b≡zとする。
【００２５】
図5に示す三頂点xyz1[i]、xyz2[i]、xyz3[i]の平面を通る法線ベクトルは次式で表される。
(a[i], b[i], c[i]) = (xyz2[i] - xyz1[i])×(xyz3[i] - xyz1[i])      …(1)
【００２６】
また、平面の方程式は次式で表される。
a[i]x + b[i]y + c[i]z + d[i] = 0      …(2)
【００２７】
Jab座標のJ軸上に任意の点xyz0を設定するとxyz0、xyz1[i]、xyz2[i]、xyz3[i]の四点からなる四面体が生成できる。この四面体の重心は、必ず、色域内部の点(xyz0 + xyz1[i] + xyz2[i] + xyz3[i])/4であるから、この重心の座標を(3)式に代入した結果が正の値(e＞0)ならば正が内部、負が外部、また、負の値(e＜0)ならば負が内部、正が外部という判別になる。入力されたJab値を(3)式に代入して、その正負から内外判定を行い、これをすべての三角形で繰り返す（つまりインデックス番号iをインクリメントする）。
e = a[i]x + b[i]y + c[i]z + d[i]      …(3)
【００２８】
そして、すべての三角形において、内側と判別されたJab値は色域内、一つでも外側と判別されたJab値は色域外という判定になる(S106)。色域内と判定したJab値はその値をそのまま出力する。一方、色域外と判定したJab値は、色差最小で色空間圧縮するために、次の処理を施す。
【００２９】
図5において、入力点xyzと、点xyz1[i]を結ぶ直線のベクトルV1[i]、点xyz2[i]を結ぶ直線のベクトルV2[i]、点xyz3[i]を結ぶ直線のベクトルV3[i]を次式のように定義する。
V1[i] = xyz1[i] - xyz      …(4)
V2[i] = xyz2[i] - xyz      …(5)
V3[i] = xyz3[i] - xyz      …(6)
【００３０】
また、入力点xyzと、平面上の最近接点xyz0を結ぶ直線のベクトルV0は次の関係を有す。
V0 = sV1[i] + tV2[i] + uV3[i] = k{a[i]/m, b[i]/m, c[i]/m)}      …(7)
ここで、m = √(a[i]2 + b[i]2 + c[i]2)
s + t + u = 1
【００３１】
ここで、(8)(9)式を定義すると、(7)式は(10)式のように書き換えることができる。
Vj[i] = (Vj[i].x, Vj[i].y, Vj[i],z)      …(8)
K = k/m                              …(9)
┌                       ┐┌ ┐    ┌    ┐
│V1[i].x V2[i].x V3[i].x││s│    │a(i)│
│V1[i].y V2[i].y V3[i].y││t│ = K│b(i)│      …(10)
│V1[i].z V2[i].z V3[i].z││u│    │c(i)│
└                       ┘└ ┘    └    ┘
┌ ┐    ┌                       ┐-1┌    ┐
│s│    │V1[i].x V2[i].x V3[i].x│  │a(i)│
│t│ = K│V1[i].y V2[i].y V3[i].y│  │b(i)│      …(11)
│u│    │V1[i].z V2[i].z V3[i].z│  │c(i)│
└ ┘    └                       ┘  └    ┘
【００３２】
さらに、(12)式を定義すると、(13)式のようにs、t、uが求まる。
┌                       ┐-1┌                          ┐
│V1[i].x V2[i].x V3[i].x│  │Inv11[i] Inv12[i] Inv13[i]│
│V1[i].y V2[i].y V3[i].y│ =│Inv21[i] Inv22[i] Inv23[i]│      …(13)
│V1[i].z V2[i].z V3[i].z│  │Inv31[i] Inv32[i] Inv33[i]│
└                       ┘  └                          ┘
【００３３】
従って、(7)式のs+t+u=1と、(9)式よりkは(14)式のように求まる。
k =  m/(Inv1[i]・a[i] + Inv1[i]・b[i] + Inv3[i]・c[i])      …(14)
ここで、m = √(a[i]2 + b[i]2 + c[i]2)
Inv1[i] = Inv11[i] + Inv21[i] + Inv31[i]
Inv2[i] = Inv12[i] + Inv22[i] + Inv32[i]
Inv3[i] = Inv13[i] + Inv23[i] + Inv33[i]
【００３４】
このような方法により、i=0〜11の三角形についてkを求め、絶対値|k|が最小になるインデックス番号iの三角形が、入力点xyzに一番近い三角形である。そして、絶対値が最小のkを用いて、入力点xyzから最も近い三角形上の点xyz0を次式で求める。
┌      ┐  ┌     ┐  ┌    ┐
│xyz0.x│  │xyz.x│  │a(i)│
│xyz0.y│ =│xyz.y│+k│b(i)│      …(15)
│xyz0.z│  │xyz.z│  │c(i)│
└      ┘  └     ┘  └    ┘
【００３５】
式(15)により求まる点xyz0が出力デバイスの色域において、入力点xyzから最も近い、つまり色差最小の点である。これを色差を最小にする色空間圧縮後の出力RGB値として採用する（つまり、ステップS108における、検索した三角形の最も近い位置に貼り付けて出力するに対応する）。このようにして、図5に示す入力点xyzは点xyz0へ変換される。
【００３６】
このように、実施例1によれば、出力デバイスの色域（境界）を何らかの三角形の集合体である多面体で表現することにより、入力点と各三角形の距離を求めて、任意の入力点に最も近い出力デバイスの色域（境界）へマッピングすることができる。従って、出力デバイスの色域全体に含まれる点群から、入力点に最も近い点を検索する必要がなく、その検索時間を大幅に短縮することができる上、入力点を幾何学的に最も近い位置へマッピングすることで、印刷シミュレーションなどの用途において数値的に近い色を再現することができる。
【００３７】
［変形例］
上記では、非線形彩度圧縮を用いるために任意点を色域の外縁（境界）に移動する例を説明したが、第一の色空間の四面体から第二の色空間の四面体へ線形圧縮するなど、他の圧縮方法を用いても構わない。
【００３８】
また、上記では、出力デバイスの色域（境界）を表す多面体を作る際にconvex hullやRGB立方体を用いる例を説明したが、その他、どのような方法を用いても構わない。
【００３９】
また、出力デバイスは、レーザビームプリンタ、インクジェットプリンタ、熱転写または熱昇華型プリンタなどの画像形成を行うハードコピー装置や、モニタなどの表示装置など画像を出力するものであれば構わない。
【００４０】
また、上記実施形態では、出力デバイスの色域にマッピングする場合を説明したが、出力デバイスの色域ではなく、例えばsRGB色空間の色域など他の色域にマッピングする場合にも適用することができる。
【００４１】
また、外部からJab色信号を入力するのではなく、自機の画像読取部から色信号を入力しても構わない。その際、Jab値に限らず、Lab値、Luv値、YIQ値など、他の色空間の信号を採用しても構わない。
【００４２】
［他の実施例］
なお、本発明は、複数の機器（例えばホストコンピュータ、インタフェイス機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置など）に適用してもよい。
【００４３】
また、本発明の目的は、前述した実施例の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはCPUやMPU）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施例の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム(OS)などが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００４４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施例の機能が実現される場合も含まれることは言うまでもない。
【００４５】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【００４６】
【図１】実施例1の画像処理装置の構成例を示すブロック図、
【図２】実施例1の画像処理を示すフローチャート、
【図３】RGB-JabテーブルのRGB立方体を示す図、
【図４】出力デバイスの色域（境界）を複数の三角形で表す場合に、最も簡単な12面体の例を示す図、
【図５】出力デバイスの色域の内外判定を説明する図である。
【図１】
2006140972.tif 000003
【図２】
2006140972.tif 000004
【図３】
2006140972.tif 000005
【図４】
2006140972.tif 000006
【図５】
2006140972.tif 000007