(57)【要約】【課題】  高品質の色域マッピングを得るための、ユーザのパラメータ調整に関する負荷を軽減すること。【解決手段】  圧縮曲線ＤＢ生成部１０６は、マンセル色相環が示す各色相毎の第１の範囲内の色データ群を第２の範囲内の色データ群に変換し、変換前の色データが示す位置と、この色データの変換後の色データが示す位置とを通る曲線を規定するパラメータを求める。【選択図】    図１
2005354227.tif 000002
【特許請求の範囲】
【請求項１】
所定の色空間において所定の色相環が示す各色相毎の第１の範囲内の色データ群を前記所定の色空間において当該第１の範囲よりも色再現範囲が狭い第２の範囲内の色データ群に変換する変換工程と、
前記変換工程による変換前の色データが示す前記所定の色空間における位置と、当該色データを前記変換工程により変換された後の色データが示す前記所定の色空間における位置とを通る曲線を規定するパラメータを求めるパラメータ計算工程と
を備えることを特徴とする画像処理方法。
【請求項２】
前記第１の範囲内の色データ群を包含する前記所定の色空間における第１の多面体を生成する第１の多面体生成工程と、
前記第２の範囲内の色データ群を包含する前記所定の色空間における第２の多面体を生成する第２の多面体生成工程とを備え、
前記変換工程では、前記第１の多面上における前記各色相毎の第１の範囲内の色データ群を、前記第２の多面体上における色データ群に変換することを特徴とする請求項１に記載の画像処理方法。
【請求項３】
前記第１の多面体生成工程、及び前記第２の多面体生成工程では多面体の生成の前段で、同じ色を示す色データは間引き、当該間引き処理後の色データ群を彩度の高い順番に並び替え、当該並び替えたことによる色データ群を彩度の高い順に参照して多面体を生成することを特徴とする請求項２に記載の画像処理方法。
【請求項４】
前記変換工程は、
前記所定の色空間において前記所定の色相環が示す各色相毎に、前記第１の範囲内の色データ群のうち最大の彩度を示す色データを、当該最大の彩度を示す色データの各色成分についてどの成分をどの程度保持するのかを示すパラメータに従って前記第２の範囲内の色データに変換する第１の工程と、
前記所定の色空間において前記所定の色相環が示す各色相毎に、前記第１の範囲内の色データ群のうち最大の彩度を示す色データ以外の色データを、明度を制御するためのパラメータに従って前記第２の範囲内の色データに変換する第２の工程と
を備えることを特徴とする請求項１に記載の画像処理方法。
【請求項５】
前記最大の彩度を示す色データの各色成分についてどの成分をどの程度保持するのかを示すパラメータ、前記明度を制御するためのパラメータはＧＵＩを用いて設定されることを特徴とする請求項４に記載の画像処理方法。
【請求項６】
前記第２の工程では、前記所定の色空間において前記所定の色相環が示す各色相毎に、前記第１の範囲内の色データ群のうち彩度が所定値以上の色データの明度を彩度が高いほど低くさせる為のパラメータを用いて、前記彩度が所定値以上の色データの明度を彩度が高いほど低くさせる処理を行い、当該処理後の色データを含む前記第１の範囲内の色データ群を前記第２の範囲における色データ群に変換することを特徴とする請求項４に記載の画像処理方法。
【請求項７】
前記所定の色相環はマンセル色相環であることを特徴とする請求項１乃至６の何れか１項に記載の画像処理方法。
【請求項８】
更に、
前記パラメータでもって規定される曲線群のうち、前記所定の色空間内の色圧縮対象データが示す位置近傍の４本の曲線を特定する曲線特定工程と、
前記４本の曲線で囲まれている領域を複数の領域に分割する分割工程と、
前記所定の色空間内の色圧縮対象データが示す位置が、前記分割工程で分割されたそれぞれの領域のうち何れの領域内に存在するのかを特定する特定工程と、
前記分割工程で分割されたそれぞれの領域のうち前記特定工程で特定された領域以外のそれぞれの領域内で、前記特定工程で特定した領域内の前記色圧縮対象データが示す位置に対応する位置を特定する位置特定工程と、
前記位置特定工程で特定した各領域内の各位置を通る曲線を規定するパラメータを求める計算工程と、
前記計算工程で求めたパラメータに従った曲線上で、指示された圧縮率に応じた位置の色データを、前記色圧縮対象データの前記第２の範囲内への変換後の色データとして求める工程と
を備えることを特徴とする請求項１乃至７の何れか１項に記載の画像処理方法。
【請求項９】
前記所定の色空間はＬ＊ａ＊ｂ＊色空間であることを特徴とする請求項１乃至８の何れか１項に記載の画像処理方法。
【請求項１０】
第１の色空間を第２の色空間にマッピングする画像処理方法であって、
色相曲線データベースを保持する保持工程と、
ある色相について色空間圧縮パラメータに関するユーザ指示を入力する入力工程と、
前記入力された色空間圧縮パラメータと前記色相曲線データベースに基づき、前記第１の色空間を第２の色空間にマッピングする工程と
を備えることを特徴とする画像処理方法。
【請求項１１】
前記色相曲線データベースは、マンセル色相曲線データベースであることを特徴とする請求項１０に記載の画像処理方法。
【請求項１２】
前記色空間圧縮パラメータは、明度および彩度に関するパラメータを含むことを特徴とする請求項１０に記載の画像処理方法。
【請求項１３】
前記彩度に関するパラメータは、前記色相における前記第１の色空間の最大彩度点のマッピング位置を制御するパラメータであることを特徴とする請求項１２に記載の画像処理方法。
【請求項１４】
前記パラメータは、前記色相における前記第１の色空間の最大彩度点より高明度部分と低明度部分について設定可能であることを特徴とする請求項１２に記載の画像処理方法。
【請求項１５】
前記パラメータは、前記色相における第１の色空間の境界上に位置する複数の点のそれぞれについて、該色相における第２の色空間内へのマッピングポイントを設定するものであることを特徴とする請求項１２に記載の画像処理方法。
【請求項１６】
さらに、楕円関数を用いて前記色相における色空間圧縮パラメータを求めることを特徴とする請求項１５に記載の画像処理方法。
【請求項１７】
前記色相は、１次色および２次色であり、その他の色相については１次色、２次色について設定されたパラメータに基づき自動的に設定されることを特徴とする請求項１０に記載の画像処理方法。
【請求項１８】
前記圧縮曲線データベースは３Ｄ表示されることを特徴とする請求項１０に記載の画像処理方法。
【請求項１９】
所定の色空間において所定の色相環が示す各色相毎の第１の範囲内の色データ群を前記所定の色空間において当該第１の範囲よりも色再現範囲が狭い第２の範囲内の色データ群に変換する変換手段と、
前記変換手段による変換前の色データが示す前記所定の色空間における位置と、当該色データを前記変換手段により変換された後の色データが示す前記所定の色空間における位置とを通る曲線を規定するパラメータを求めるパラメータ計算手段と
を備えることを特徴とする画像処理装置。
【請求項２０】
コンピュータに請求項１乃至１８の何れか１項に記載の画像処理方法を実行させることを特徴とするプログラム。
【請求項２１】
請求項２０に記載のプログラムを格納することを特徴とする、コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、入力色データを所定の色再現に応じて変換するものに関する。
【背景技術】
【０００２】
カラーデータを出力する装置として、モニタやプリンタ（ハードコピー装置）などがあり、モニタはＲＧＢの加法混色で表現され、ハードコピー装置はＣＭＹＫの減法混色で表現されている。
【０００３】
一般的にモニタの方がハードコピー装置よりも色再現範囲が広いため、モニタで表示された画像をハードコピー装置で忠実に再現することはできない。
【０００４】
そこでハードコピー装置で再現できない色を再現できる色に置き換える処理が必要となる。この方法として色空間圧縮方法がある。色空間圧縮方法には様々な方法があるが、圧縮前と圧縮後とで視覚的な一致を図るという観点では、色再現範囲内の色はできる限り圧縮せず忠実に再現し、色再現範囲外の色は色再現範囲内の高彩度部へ圧縮することにより階調性を保持する方法がある。
【０００５】
例えば、第１段階で明度方向に圧縮し、第２段階で彩度方向に圧縮するという方法が知られている。この方法では色信号に対して第１の段階，第２の段階の他に補正処理等、複数段階の処理工程が必要になってしまうため元の色が保持され難く色再現範囲内の色の色信号変換精度も落ちてしまう。
【０００６】
モニタやハードコピー装置の色域（色再現範囲）を定量的に表現する手法としては一次色（Ｒ，Ｇ，Ｂ）、二次色（Ｃ，Ｍ，Ｙ）と白（Ｗ）、黒（Ｂｋ）の８点で１２面体近似が従来使われてきたが、実際の色域はＬ＊ａ＊ｂ＊色空間内では非線形に歪んでいるため近似精度が落ちる問題が指摘されていた。そこで非線形な歪みも表現できる多面体近似（Ｃｏｎｖｅｘ  Ｈｕｌｌ３Ｄ）を用いることで精度を高める方法がある。
【０００７】
また圧縮の際には何らかの色相曲線に沿った方が視覚的一致は図られるが、従来の方法ではこの色相曲線を決定する可変パラメータが多いためユーザーへの負担が大きい。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
本発明は以上の問題に鑑みて成されたものであり、高品質の色域マッピングを得るための、ユーザのパラメータ調整に関する負荷を軽減することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の目的を達成する為に、例えば本発明の画像処理方法は以下の構成を備える。
【００１０】
すなわち、所定の色空間において所定の色相環が示す各色相毎の第１の範囲内の色データ群を前記所定の色空間において当該第１の範囲よりも色再現範囲が狭い第２の範囲内の色データ群に変換する変換工程と、
前記変換工程による変換前の色データが示す前記所定の色空間における位置と、当該色データを前記変換工程により変換された後の色データが示す前記所定の色空間における位置とを通る曲線を規定するパラメータを求めるパラメータ計算工程と
を備えることを特徴とする。
【００１１】
本発明の目的を達成する為に、例えば本発明の画像処理装置は以下の構成を備える。
【００１２】
すなわち、所定の色空間において所定の色相環が示す各色相毎の第１の範囲内の色データ群を前記所定の色空間において当該第１の範囲よりも色再現範囲が狭い第２の範囲内の色データ群に変換する変換手段と、
前記変換手段による変換前の色データが示す前記所定の色空間における位置と、当該色データを前記変換手段により変換された後の色データが示す前記所定の色空間における位置とを通る曲線を規定するパラメータを求めるパラメータ計算手段と
を備えることを特徴とする。
【００１３】
本発明の目的を達成する為に、例えば本発明の画像処理装置は以下の構成を備える。
【００１４】
すなわち、第１の色空間を第２の色空間にマッピングする画像処理方法であって、
色相曲線データベースを保持する保持工程と、
ある色相について色空間圧縮パラメータに関するユーザ指示を入力する入力工程と、
前記入力された色空間圧縮パラメータと前記色相曲線データベースに基づき、前記第１の色空間を第２の色空間にマッピングする工程と
を備えることを特徴とする。
【発明の効果】
【００１５】
本発明の構成により、高品質の色域マッピングを得るための、ユーザのパラメータ調整に関する負荷を軽減することができる。
【発明を実施するための最良の形態】
【００１６】
以下添付図面を参照して、本発明を好適な実施形態に従って詳細に説明する。
【００１７】
［第１の実施形態］
図１は本実施形態に係る画像処理装置１１０の機能構成を示す図である。本実施形態に係る画像処理装置は、第１の色空間の多面体部１０１，第２の色空間の多面体部１０３、圧縮パラメータ設定ＵＩ１０４，マンセル色相曲線ＤＢ１０５、圧縮曲線ＤＢ生成部１０６，色空間圧縮部１０７により構成されている。本実施形態ではこれら各部はハードウェアにより構成されているものとする。
【００１８】
以下の説明では先ず、色圧縮対象の際に使用する圧縮曲線を生成する為の処理について説明し、その後、この圧縮曲線を用いた圧縮処理について説明する。
【００１９】
圧縮対象の色データとしては、ｓＲＧＢ、ＡｄｏｂｅＲＧＢ、ＷｉｄｅＧａｍｕｔＲＧＢ等の色空間に属する色のデータや、何らかのデバイスに依存する色空間のＲＧＢもしくはＣＭＹＫの色のデータを、デバイス非依存のＬ＊ａ＊ｂ＊のデータに変換したものである。何らかのデバイスに依存する色空間とは、例えば、デジタルカメラで撮影した画像を示すＲＧＢであったり、スキャナにより原稿から読み取られた画像を示すＲＧＢであったり、あるプリンタに出力すべきＣＭＹＫであってもよい。
【００２０】
＜圧縮曲線生成処理＞
圧縮曲線を生成する処理について説明する。先ず、第１の色空間内の各色（各点）のデータ（第１の色空間内の点群データ１００）、第２の色空間内の各色（各点）のデータ（第２の色空間内の点群データ１０２）のそれぞれが第１の色空間の多面体部１０１、第２の色空間の多面体部１０３に入力され、第１の色空間の多面体部１０１、第２の色空間の多面体部１０３はそれぞれ、第１の色空間の点群データ１００が示す各点を包含することで形成される多面体、第２の色空間の点群データ１０２が示す各点を包含することで形成される多面体を生成する。それぞれの多面体は、第１の色空間の点群データ１００が示す点群によって規定される色再現範囲（第１の色再現範囲）、第２の色空間の点群データ１０２が示す点群によって規定される色再現範囲（第２の色再現範囲）を示すものである。
【００２１】
ここで、点群データから多面体を生成する方法としては様々な方法が考えられるが、例えばＣｏｎｖｅｘ  Ｈｕｌｌ  ３Ｄを用いて生成することを考える。また、第１の色空間の点群データ１００は、色圧縮対象となるデータの色空間と同じである必要がある。例えば、圧縮対象となるデータとしてデジタルカメラによるＲＧＢ画像が入力される場合は、デジタルカメラのＲＧＢ色空間のＲＧＢ値とＬ＊ａ＊ｂ＊値との対応に基づいてＬ＊ａ＊ｂ＊値に変換されたものとなる。同様に、プリンタのＣＭＹＫ画像が入力される場合は、プリンタのＣＭＹＫ色空間のＣＭＹＫ値とＬ＊ａ＊ｂ＊値との対応に基づいてＬ＊ａ＊ｂ＊に変換されたものとなる。
【００２２】
図２は、色空間内の点群データに基づいて生成された、色空間の再現範囲を表現した多面体の一例を示す図である。
【００２３】
第１の色空間の多面体部１０１、第２の色空間の多面体部１０３によって生成された多面体のデータは後段の圧縮曲線ＤＢ生成部１０６に入力される。圧縮曲線ＤＢ生成部１０６は、第１の色再現範囲を示す多面体のデータ、第２の色再現範囲を示す多面体のデータを用いて、第１の色空間における色を第２の色空間における色に色圧縮するための圧縮曲線を生成する処理を行う。以下、圧縮曲線ＤＢ生成部１０６による圧縮曲線を求める処理について説明する。
【００２４】
この生成する圧縮曲線は、マンセル色相環（マンセル色相曲線）をベースとする。マンセル色相環のデータはマンセル色相曲線ＤＢ１０５に保持されており、これを読み出して用いる。マンセル色相環をベースとすることで、色相曲線の設定にかかるユーザの負担を軽減することができる。
【００２５】
図３は、Ｌ＊＝５０の場合のマンセル色相環を示す図である。図３のマンセル色相環は、Ｌ＊＝５０であるときのａ＊−ｂ＊平面内の色相環を示すものである。以下説明する圧縮曲線生成処理では、Ｌ＊方向（明度方向）のマンセル色相環を求めることになる。
【００２６】
図４は、ある色相におけるＣ＊−Ｌ＊平面における第１の色空間の点群データ１００が占める部分と第２の色空間の点群データ１０２が占める部分とを示す図である。以下の説明では、この第１の色空間の点群データ１００を第２の色空間の点群データ１０２に色圧縮する際に用いる圧縮曲線を求める処理について説明する。
【００２７】
まず、第１の色空間の点群データ１００を用いて生成された多面体を任意の色相で切った時に、最大彩度を持つ点（同図において「最大彩度点」と示した位置における色データ）のマッピングポイント（色圧縮後のＬ＊ａ＊ｂ＊値）を決定する。換言すれば、最大彩度点の色圧縮後の第２の色空間における色データを決定する。
【００２８】
色空間圧縮の際には、色相、明度、彩度を変化させる必要があるが、色相に関しては上記マンセル色相曲線に沿わせる。明度、彩度に関しては各々をどれだけ保持して圧縮するかによってマッピングポイントが異なってくる。明度を保持して圧縮する場合は彩度を変化させる明度保持優先圧縮になり、彩度を保持して圧縮する場合は明度を変化させる彩度保持優先圧縮となる。明度を変化させないで色圧縮を行う場合には、第１の色空間における最大彩度点は第２の色空間において矢印４０１で指す位置に色圧縮され、彩度を変化させないで色圧縮を行う場合には、第１の色空間における最大彩度点は第２の色空間において矢印４０２で指す位置に色圧縮される。なお、明度、彩度それぞれを所定の割合（例えば明度を８０％、彩度を２０％）で保持して色圧縮を行うようにしても良い。その場合、最大彩度点から、矢印４０１の方向成分の８０％、矢印４０２の方向成分の２０％を合成した方向成分を有する矢印が第２の色空間の点群データ１０２が占める部分と初めて交差する位置の色データに色圧縮を行う。このように、最大彩度点における色データの色圧縮を行う際の、明度、彩度のそれぞれの割合は圧縮パラメータ設定ＵＩ１０４でもって設定することができる。
【００２９】
次に、最大彩度点以外の第１の色空間の最外域点のマッピングポイントを決定する。すなわち、第１の色空間の点群データ１００が占める部分のエッジ部分の色データのマッピングポイント（色圧縮後のＬ＊ａ＊ｂ＊値）を決定する。
【００３０】
まずマッピングポイントの明度を決定する。その際、図５に示すように最大彩度点のマッピングポイントに従って決定すると全体的に明度が変化し、元の色みを保持できなくなる。低彩度の部分はなるべく元の明度を保持する方が出力画像が好ましくなる。
【００３１】
そこで、例えば図６に示す如く、最大彩度点よりも上部（第１の色空間の点群データ１００の部分６０１においてＣ＊−Ｌ＊平面において傾きが負の部分）に関しては一点鎖線６０２で示す如く湾曲させる。この湾曲は制御点Ｃ１〜Ｃ４をコントロールし、曲線を生成することで決定する。
【００３２】
Ｃ１のｘ座標（彩度Ｃ＊）は可変で、圧縮パラメータ設定ＵＩ１０４でもって設定することができる。Ｃ４のｘ座標は最大彩度点の彩度と同じである。またＣ２、Ｃ３のｘ座標はＣ１のｘ座標、Ｃ４のｘ座標間を４等分するように決定される。
【００３３】
一方、C1のｙ座標（明度）は可変であり圧縮パラメータ設定UI１０４でもって設定することができる。C4のｙ座標は最大彩度点の明度である。Ｃ２のｙ座標ｙ２，Ｃ３のｙ座標ｙ３は、例えばＣ１、Ｃ４における微分係数をそれぞれｒ１，ｒ４とすると、式ｒ１,ｒ４が圧縮パラメータ設定UI１０４で設定した値と同じなるようにＣ２のｙ座標ｙ２,Ｃ３のｙ座標ｙ３をコントロールする。
【００３４】
当然、ｙ２，ｙ３の求め方はこれに限定するものではなく、その他にも例えば、楕円関数により一点鎖線を楕円の一部分に近時する方法により決定しても構わない。
【００３５】
このようにして、最大彩度点よりも上部の色データの色圧縮後の明度を決定する。次に色圧縮後の彩度を決定する。そのための方法としては図７に示す如く、Ｃ＊−Ｌ＊平面において、上記Ｃ１からＣ４（同図ではＰ１とＣ１とが重なっている）のそれぞれのｙ座標（明度）と同じ第２の色空間の点群データ（Ｐ１’、Ｐ２’、Ｐ３’、Ｐ４’）を特定する。これにより、第１の色空間の点群データ１００においてＰ１〜Ｐ４の色圧縮後の色データＰ１’〜Ｐ４’を求めることができる。このＰ１’〜Ｐ４’は何れも第２の色空間の点群データ１０２を用いて生成された多面体の表面上の点である。
【００３６】
以上のような処理を最大彩度点を境に上部と下部とで、元の点とマッピング後の点の対を複数組（例えば２０組）求める。なお、最大彩度点よりも下部（第１の色空間の点群データ１００の部分６０１においてＣ＊−Ｌ＊平面において傾きが正の部分）に関しては一点鎖線６０２で示す如く湾曲させる以外は上部と同じ処理を行う。
【００３７】
そして、元の点とマッピング後の点とを通る曲線を圧縮曲線として求める。元の点とマッピング後の点の対を２０組求めたのであれば、この圧縮曲線は２０本求まる。ここで、圧縮曲線を求める方法について説明する。
【００３８】
圧縮曲線は上述の通り、元の点とマッピング後の点とを通る曲線であるが、この２点だけではこの２点を通る曲線を求めることはできない。そこで、その一例として、以下のような方法が適用可能である。例えば図７におけるＰ３とＰ３’とを通る曲線を求める場合、Ｐ３のｘ座標値をＰ４と同じにした位置（Ｐ３’’）、Ｐ３’のｘ座標値を０にした位置（Ｐ３’’’）を求め、Ｐ３’’’、Ｐ３’、Ｐ３，Ｐ３’’の順に通る曲線を、周知のスプライン関数（例えばリーゼンフェルトスプライン関数）を用いて生成することができ、これを「Ｐ３とＰ３’とを通る曲線」として求めることができる。これはその他の点間を通る圧縮曲線を求める場合にも同様である。
【００３９】
尚、求めたそれぞれの圧縮曲線は互いに交差していないことが前提であって、交差してしまう場合には、一方が他方を交差しないようにする処理が必要となる。それぞれの圧縮曲線が交差しないようにする方法については特に限定するものではない。
【００４０】
図８はある色相における圧縮曲線の一例を示す図である。同図において８０１は第１の色再現範囲を示す多面体、８０２は第２の色再現範囲を示す多面体を示す。同図に示す如く、第２の色再現範囲は第１の色再現範囲よりも一般的に色再現範囲は狭いので、第１の色再現範囲を示す多面体８０１は、第２の色再現範囲を示す多面体８０２よりもサイズが大きく、且つ第２の色再現範囲を示す多面体８０２を包含している。なお、図中では見やすくするためにそれぞれの多面体は１２面体で表している。また同図において８０３は上記処理により求めた圧縮曲線群で、点の対だけ存在する。
【００４１】
このような圧縮曲線群を、図３に示したマンセル色相環の最外周上の各位置（同図では４０点の各位置）におけるａ＊、ｂ＊について求める。
【００４２】
以上のようにして、第１の色空間の点群データ１００と第２の色空間の点群データ１０２とで、元の色データと圧縮後の色データとの対応関係を、圧縮曲線として求めることができる。
【００４３】
＜色圧縮処理＞
次に、上記処理により求めた圧縮曲線を用いて、色圧縮を行う処理について説明する。色圧縮部１０６には、色圧縮する対象の色データが入力される。従って色圧縮部１０６は、この入力された色データに対して、圧縮曲線ＤＢ生成部１０６が生成した上記圧縮曲線データを用いて、指定された圧縮率に従った第２の色空間への色圧縮を行う。
【００４４】
この色圧縮処理の第１段階としては、入力色データが示すＬ＊ａ＊ｂ＊値を通る圧縮曲線を、上記圧縮曲線データを用いて補間処理により求める。この補間処理については、様々な補間方法が考えられるが、その一例を図９を用いて以下説明する。
【００４５】
図９は、入力色データが示すＬ＊ａ＊ｂ＊値を通る圧縮曲線を、先に求めた上記複数の圧縮曲線を用いて補間処理により求める処理のフローチャートである。
【００４６】
先ず、入力色データが示すＬ＊ａ＊ｂ＊値のうち色相が、Ｌ＊ａ＊ｂ＊色空間内で上記複数の圧縮曲線のうち、どの圧縮曲線の間に位置するのかを特定する（ステップＳ２０１）。すなわち、入力色データが示すＬ＊ａ＊ｂ＊値のうち色相が、どの２本の圧縮曲線間に位置するのかを求める。
【００４７】
図１０は、ステップＳ２０１における処理を説明する図である。同図において１００１は入力色データのａ＊―ｂ＊平面における位置を示す。この位置１００１は、色相方向では圧縮曲線１００２，１００３の間にある。従ってこの場合、ステップＳ２０１では、特定すべき２つの圧縮曲線は１００２，１００３の２本となる。
【００４８】
次に、入力色データが示すＬ＊ａ＊ｂ＊値のうち明度が、Ｌ＊ａ＊ｂ＊色空間内で上記複数の圧縮曲線のうち、どの圧縮曲線の間に位置するのかを特定する（ステップＳ２０２）。すなわち、入力色データが示すＬ＊ａ＊ｂ＊値のうち明度が、どの２本の圧縮曲線間に位置するのかを求める。
【００４９】
図１１は、ステップＳ２０２における処理を説明する図である。同図において１１０１は入力色データのＬ＊―ｂ＊平面における位置を示す。この位置１１０１は、明度方向、すなわちＬ＊軸方向では圧縮曲線１１０２，１１０３の間にある。従ってこの場合、ステップＳ２０２では、特定すべき２つの圧縮曲線は１１０２，１１０３の２本となる。
【００５０】
以上のステップＳ２０１，ステップＳ２０２による処理によって、入力色データは４本の圧縮曲線（図１０，１１の場合、圧縮曲線１００２，１００３，１１０２，１１０３）に囲まれた領域内に存在する可能性があることが分かる。
【００５１】
図１２は、Ｌ＊ａ＊ｂ＊色空間において、上記処理により特定した４本の圧縮曲線を示す図である。同図において１２０１が入力色データが示すＬ＊ａ＊ｂ＊値の位置で、１２０２〜１２０５が特定した４本の圧縮曲線を示す。
【００５２】
次に、彩度方向で走査する（ステップＳ２０３）。ステップＳ２０３における処理の詳細は、ステップＳ３０１〜ステップＳ３０７である。以下、ステップＳ３０１〜ステップＳ３０７の各ステップにおける処理を説明することで、ステップＳ２０３における処理の詳細について説明する。
【００５３】
なお本実施形態では各圧縮曲線を事前に等分（等分に限らないが）し、各等分した位置に順にインデックスを付けているものとするが、圧縮曲線を生成する際に複数の点（例えば１４点）を用いた場合には、これら１４点のそれぞれにインデックスを付けるようにしても良い。本実施形態では各圧縮曲線上の１４点にそれぞれインデックスを付けているものとするが、インデックスの上限値は１４に限定するものではない。
【００５４】
ステップＳ２０３における処理では先ずｉ，（ｉ＋１）番目（変数ｉ、そして後述の処理で用いる変数ｊは共に事前に１に初期化されている）の点の合計８点で構成される六面体（実際にはねじれの位置の関係にある点対が存在する場合があるため六面体以上）の中に入力色データが示すＬ＊ａ＊ｂ＊値が存在するか否かを判断する（ステップＳ３０１）。
【００５５】
図２１は、この４本の圧縮曲線において、ｉ，（ｉ＋１）番目の点の合計８点で構成される六面体を示す図で、同図において２１０１，２１０２，２１０３，２１０４がそれぞれこの４本の圧縮曲線を示しており、２１００がこの六面体を示している。２１００ａ、２１００ｂ、２１００ｃ、２１００ｄはそれぞれ、圧縮曲線２１０１，２１０３，２１０４，２１０２においてｉ番目の点を示しており、２１００ｅ、２１００ｆ、２１００ｇ、２１００ｈはそれぞれ、圧縮曲線２１０１，２１０３，２１０４，２１０２において（ｉ＋１）番目の点を示している。これにより、ｉ，（ｉ＋１）番目の点の合計８点で構成される六面体が構成される。従って以下の処理では、この変数ｉを１つずつ増やしていくことで、この六面体の位置を圧縮曲線の一端から他端まで移動させ、どの六面体内に入力色データが示すＬ＊ａ＊ｂ＊値が存在するかを検索する。本実施形態では変数ｉの取る範囲は１≦ｉ≦１３となる。
【００５６】
図９のフローチャートに戻って、ステップＳ３０２で存在しないと判断した場合には処理をステップＳ３０３に進めると共に、変数ｉの値に１を加算して更新し、更新後の変数ｉの値が１３であるか否かを判断する（ステップＳ３０３）。変数ｉの値が１３である場合にはステップＳ２０３における処理を「限定失敗」として終了する。
【００５７】
一方、ステップＳ３０３において変数ｉの値が１３ではないと判断した場合には、更新後の変数ｉを用いてステップＳ３０１，ステップＳ３０２における処理を行う。
【００５８】
また、ステップＳ３０２における判断処理において、存在すると判断した場合には処理をステップＳ３０４に進め、Ｌ＊ａ＊ｂ＊値がその中に存在すると判断した六面体を構成する６つの四面体のうちｊ番目の四面体内に入力色データが示すＬ＊ａ＊ｂ＊値が存在するか否かを判断する（ステップＳ３０４）。
【００５９】
六面体を６つの四面体に分割するのは事前に行うものであるが、この分割に係る技術については周知のものであるので、ここでの説明は省略する。また、各六面体（本実施形態では１４個の六面体）内の６つの四面体には事前に１〜６のインデックスが付けられているものとする。従って、四面体に対するインデックスを１つ指定すると、各六面体から１つの四面体を特定することができ、計１４個の四面体が指定されることになる。また、各六面体を構成する四面体において、同じ四面体インデックスを有する四面体同士は、四面体を構成する各頂点の対応がとれているものとする。
【００６０】
そして、ｊ番目の四面体内に存在しないと判断した場合には処理をステップＳ３０５からステップＳ３０６に進め、変数ｊの値に１を加算して更新し、更新後の変数ｊの値が７であるか否かを判断する（ステップＳ３０６）。変数ｊの値が７である場合にはステップＳ２０３における処理を「限定失敗」として終了する。
【００６１】
一方、ステップＳ３０６において変数ｊの値が７ではないと判断した場合には、更新後の変数ｊを用いてステップＳ３０４，ステップＳ３０５における処理を行う。
【００６２】
そして、ステップＳ３０５においてｊ番目の四面体内に存在すると判断した場合には処理をステップＳ３０５からステップＳ３０７に進め、ステップＳ３０２で入力色データが示すＬ＊ａ＊ｂ＊値がその中に存在すると判断した六面体が何番目のものであるのかを示す変数ｉの値（ステップＳ３０２で存在すると判断したときの変数ｉの値）と、ステップＳ３０５で入力色データが示すＬ＊ａ＊ｂ＊値がその中に存在すると判断した四面体が何番目のものであるのかを示す変数ｊの値（ステップＳ３０５で存在すると判断したときの変数ｊの値）を記憶する。
【００６３】
図１３は、Ｌ＊ａ＊ｂ＊色空間において入力色データが示すＬ＊ａ＊ｂ＊値の位置１３０１が属する四面体１３０２を示す図である。
【００６４】
そして以上のようにしてステップＳ２０３の処理が完了すると、処理をステップＳ２０４に進め、ステップＳ２０３の処理結果が「限定成功」であるか否か（換言すれば「限定失敗」ではなかったか）を判定し（ステップＳ２０４）、「限定失敗」と判定した場合には処理をステップＳ２０９に進め、ステップＳ２０１で特定した２本の圧縮曲線以外の２本の圧縮曲線、ステップＳ２０２で特定した２本の圧縮曲線以外の２本の圧縮曲線を選択し、ステップＳ２０３以降の処理を繰り返す。従ってステップＳ２０９から処理をステップＳ２０３に移行した場合には、前回ステップＳ２０１で特定した２本の圧縮曲線以外の２本の圧縮曲線、前回ステップＳ２０２で特定した２本の圧縮曲線以外の２本の圧縮曲線の合計４本の圧縮曲線を以下の処理で用いるものとする。
【００６５】
一方、ステップＳ２０５で「限定成功」であると判断した場合には（「限定失敗」ではないと判断した場合には）、処理をステップＳ２０５に進め、ステップＳ３０７で得られた変数ｊで特定される四面体を構成する各頂点に対する重み値を計算する（ステップＳ２０５）。この重み値は、この四面体の各頂点位置と、入力色データが示すＬ＊ａ＊ｂ＊値の位置との相対的な位置関係を表すもので、例えば自頂点と入力色データが示すＬ＊ａ＊ｂ＊値の位置との距離をこの自頂点に対する重み値とするなど、様々なものが考えられる。
【００６６】
次に以下の処理を行うことで、入力色データのＬ＊ａ＊ｂ＊値を通る圧縮曲線を求める（ステップＳ２０６）。
【００６７】
先ずすべての六面体において、ステップＳ３０７で記憶した四面体のインデックスと同じインデックスを有する四面体を特定する。図１４は、ステップＳ３０７で記憶した四面体のインデックスと同じインデックスを有する１４の四面体を示す図である。
【００６８】
そして特定した各四面体の各頂点に対して、ステップＳ２０５で求めた重み値を対応する頂点に与える。これにより、ステップＳ３０７で記憶した四面体のインデックスと同じインデックスを有する各四面体内に点を設けることができる。この点は、四面体の各頂点との相対位置関係が、入力色データが示すＬ＊ａ＊ｂ＊値の位置を包含する四面体の各頂点とこの位置との相対関係と同じである。
【００６９】
従って、これらの点を通る曲線をスプラインなどの曲線でもって求めることにより入力色データのＬ＊ａ＊ｂ＊値を通る圧縮曲線を求める（ステップＳ２０６）。図１５は、入力色データのＬ＊ａ＊ｂ＊値を通る圧縮曲線を示す図である。
【００７０】
次に、実際に、入力色データに対して色圧縮処理を行うのであるが、その際、圧縮率が圧縮パラメータ設定ＵＩ１０４でもって設定される。ここで、実際の色圧縮処理は、入力色データを、入力色データの位置を通る圧縮曲線上を圧縮率に従った位置の色データに変換することであるが、その処理について図１６を用いて説明する。
【００７１】
図１６は圧縮曲線、圧縮率を用いて入力色データを色圧縮する処理を説明する図である。同図において１６０１が入力色データのＬ＊ａ＊ｂ＊色空間における位置を示しており、１６００はこの位置を通る圧縮曲線である。同図では入力色データは、第２の色再現範囲外、すなわち第１の色再現範囲内の色データである。上述の通り、この圧縮曲線１６００は彩度が０の点１６０４から最大彩度点１６０５間を結ぶものであり、その途中には第２の色再現範囲の境界線１６０２との交点１６０３が存在する。よって圧縮曲線１６００上において、１６０３〜１６０４の間が第２の色再現範囲内である。
【００７２】
ここで圧縮率は０％から１００％までの間の数値を取ることができ、圧縮率が１００％の場合には、入力色データは１６０３の位置の色データに変換され、圧縮率が０％の場合には、入力色データは１６０４の位置の色データに変換される。
【００７３】
ここで、入力色データが第２の色再現範囲内である場合（入力色データの位置１６０１が圧縮曲線１６００上の１６０３〜１６０４の間の位置にある場合）、
（１）  現在の入力色データの位置における入力色データを圧縮後の色データとする
（２）  上述の通り圧縮率に従った位置における色データを圧縮後の色データとする
の二つの方法が考えられる。（１）の方法では第２の色再現範囲内の入力色データは忠実に再現されるが階調性は失われるため（２）の方法を採用する。（２）の方法として線形に圧縮すると全体的に元の彩度が保持されない。従って、図１７に示すように、線形圧縮を元の彩度がある程度保持されるようかつ階調性が損なわれないよう非線形に圧縮することを考える。非線形圧縮する方法としては様々な方法があり、どのような方法を用いても構わないが、例えば、図１７に示すように、制御点Ｇ１〜Ｇ４を設けＧ１，Ｇ４の位置を設定した後Ｇ１，Ｇ４における微分係数によってＧ２，Ｇ３を設定する。但しＧ１，Ｇ４の位置や各々の微分係数は可変であり、状況に応じて変化させる。
【００７４】
以上の手順により決定したマッピングポイントへ入力色データを移動させる。この方法としては様々な方法があり、どのような方法を用いても構わないが、圧縮曲線は三次元的に歪曲した連続点データなので例えば、圧縮曲線をパラメトリックスプラインとしてｓとｔをそれぞれ変数とするＢ−スプラインで表現することを考える。この方法は通常はｓ，ｔ２変数で曲面を表現するものだが今回は曲線のためｓ成分を要素１つのみとして利用する。
【００７５】
図１８は、上記色圧縮処理を行うために設定すべきパラメータを操作するためのＧＵＩ（グラフィカルユーザインターフェース）の表示例を示す図である。同図のＧＵＩは圧縮パラメータ設定ＵＩ１０４に相当する。
【００７６】
領域４０２は圧縮パラメータ設定ＵＩ１０４を操作することで指定されたＩＣＣプロファイルより抽出した色空間情報（第１色空間および第２色空間それぞれが何であるかを示す情報など）を表示する。領域４０５は、領域４０２内に表示されているＩＣＣプロファイルを基に３Ｄ  Ｃｏｎｖｅｘ  Ｈｕｌｌによって計算した色再現範囲（第１の色再現範囲、第２の色再現範囲）の多面体を描画するための領域である。
【００７７】
また領域４０２には圧縮曲線DB作成のために１次色、２次色の圧縮曲線を表示しても良い。その場合、これら圧縮曲線は各々ＲＧＢ、ＣＭＹの色で描画され、アクティブの圧縮曲線は鮮やかに、非アクティブの圧縮曲線は薄い色で表示し見分けやすくする。そしてアクティブな色に関して明度・彩度の圧縮設定を領域４０３，４０４内に表示されるＧＵＩを用いて行う。
【００７８】
領域４０３では最大彩度点およびそれ以外の最外域の点のマッピングポイントの明度を制御するための（図６を用いて説明した）制御点の位置を設定することができ、その結果を連動して領域４０５内に反映させる。尚、図６の説明では詳しくはふれなかったが、図１９に示すように、最大彩度点の下部に対する制御点Ｃ４〜Ｃ７も領域４０３内で制御することができる。従って実際には図１９に示すＧＵＩが領域４０３内に表示される。
【００７９】
領域４０４には図１７に示すようなＧＵＩが表示され、上記制御点Ｇ１〜Ｇ４の位置を操作する為のＧＵＩ表示する領域であり、その操作の結果を連動して領域４０５内に反映させる。
【００８０】
圧縮パラメータ設定ＵＩ１０４により決定するＣ１〜Ｃ７のパラメータは１次色、２次色（ＲＧＢＣＭＹに対応するＬ＊ａ＊ｂ＊）を通る色相曲線にのみ行えばよい。それ以外の色相曲線、例えば、RとYに挟まれる領域内の色相曲線については、RとYにおける圧縮パラメータを基に線形補間により求めた値をパラメータとして用いることで自動的に生成される。そのためユーザーは簡単に圧縮曲線DBを作成することができる。
【００８１】
以上の説明の通り、本実施形態によって、色圧縮処理の際に従来に比べても比較的少ない工数で処理するため、精度よく色圧縮処理を行うことができる。また、入出力色空間の特性の違いを吸収し、様々な色空間で高精度な圧縮曲線を動的に生成することができる。
【００８２】
尚本実施形態ではデバイス非依存の色空間としてＬ＊ａ＊ｂ＊色空間を用いて説明したが、この色空間の代わりとして適用可能なものはこれ以外にも考えられ、例えばＬ＊ｕ＊ｖ＊などの他の色空間でも構わない。
【００８３】
［第２の実施形態］
第１の実施形態で点群に基づいてこの点群を包含する多面体を生成するためにＣｏｎｖｅｘ  Ｈｕｌｌ  ３Ｄを用いた。このＣｏｎｖｅｘ  Ｈｕｌｌ３Ｄのアルゴリズムは以下の手順を踏む。
【００８４】
（処理１）  点群データから初期値として１〜４番目の点を各頂点とする多面体（初期四面体）を作成する。
【００８５】
（処理２）  次に５番目の点が既に作成した四面体の内にあるか外にあるかを判定する。内外判定の方法を以下に示す。
【００８６】
内外判定したい点と四面体を構成する一面（一つの三角形）との表裏判定を行う。図２２は、内外判定対象の点と、四面体を構成する（表裏判定で用いる）一面を示す図である。同図において内外判定対象の点ｐの三角形２２０１に対する表裏判定は、点Ｐと三角形２２０１を構成する１つの頂点ｑとを結ぶベクトル２２０２と、三角形２２０１の法線ベクトルｎｏｒとの内積（ｐｑ・ｎｏｒ）が正か負かで決定する。内積結果が正の場合には、点ｐは三角形２２０１の裏側に位置しており、内積結果が負の場合には、点ｐは三角形２２０１の表側（法線ベクトルの向いている側）に位置していることになる。
【００８７】
この性質を利用して内外判定対象の点の四面体に対する内外判定処理は、図２３に示す如く、四面体２３０１を構成する全ての面の法線ベクトル２３０２〜２３０５を四面体２３０１の重心に対して外側を向くように予め設定しておき、全ての面に対して図２２を用いて説明した表裏判定処理を行う。その結果、１つ以上の面に対して表である場合には点ｐは四面体２３０１の外部に位置することになり、逆に全ての面に対して裏である場合には、点ｐは四面体２３０１の内部に位置することになる。
【００８８】
よって以上のことから、５番目の点が四面体の内部に位置するのであれば次の点、すなわち６番目の点に対して同様にこの四面体に対する内外判定処理を行う。一方、５番目の点が四面体の外部に位置する場合には、この５番目の点を新たな多面体の頂点とし、その結果新たな多面体を再構成する処理を行う必要がある。
【００８９】
１つの頂点が加わることで新たな多面体の再構成する方法について以下説明する。図２４は１つの頂点が加わることで新たな多面体の再構成する方法を説明する図である。同図では、多面体に対して点Ｐを新たな頂点として加え、その結果新たな多面体を構成する場合について示したものである。
【００９０】
先ず点ｐの位置から多面体２４０１を見て、見える面（多面体２４０１においてメッシュで示していない部分）と見えない面（多面体２４０１においてメッシュで示している部分）を判定する。判定方法には先述した点と面の表裏判定が利用できる。すなわち、見える面とは、点ｐを表と判定する面群により構成される部分であり、見えない部分とは点ｐを裏と判定する面群により構成されている部分である。
【００９１】
このとき、見える面と見えない面の境界となる辺を結んでできる面を地平面と以下呼称する。ここで、地平面と点ｐにより多角形錐ができる。この多角形錐の内部に含まれる点は点ｐの追加により削除される点である。よって再構成される多面体はこの多角形錐と見えない面を結合したものとなる。
【００９２】
（処理３）  （処理２）を点群データ全てについて行う。
【００９３】
図２５（ａ）は、点群を示す図で、図２５（ｂ）は図２５（ａ）に示した点群に基づいて以上説明したＣｏｎｖｅｘ  Ｈｕｌｌ３Ｄにより作成した多面体を示す図である。
【００９４】
ここで、（処理２）の手順において、参照している点が多面体の内部であれば別段何も処理を行うことなく次に点に対して内外判定を行うのであるが、逆に参照している点が多面体の外部に位置している場合には上述の通り、新たに多面体を再構成するという、参照している点が多面体の内部である場合に比べて処理や複雑になる。
【００９５】
このことから、点データの並び方によっては非常に時間がかかる場合がある。また既に処理した点とまったく同じ点や、前回処理した点と非常に近接した点を今回の参照する点とする場合、それが特異点となり多面体が構成できない場合がある。
【００９６】
そこでこれらの問題を解消するために、色データ群を用いて多面体を生成する前段で、この色データ群を整理する。具体的には先ず、まったく同じ点（全く同じ色を示す色データ）に関しては間引き、次に、間引き処理後に残った色データ群を彩度の高い順に並び替える。
【００９７】
Ｃｏｎｖｅｘ  Ｈｕｌｌ３Ｄのアルゴリズムの性質上、処理する点がその時点での多面体の内にある回数が多いことが処理速度の向上に繋がる。よって並び替える条件は、なるべく最終的に多面体の外側を構成するであろう彩度の高い点が、全色相方向偏り無く早い段階で参照対象となることである。よってこの条件を満たすべく色データ群を並び替える。並び替える方法としては、まず最終的に多面体の構成点のなることがわかっているＲ、Ｇ、Ｂ、Ｃ、Ｍ、Ｙ、Ｗ、Ｂｋのデータを先頭に移動すること。一次色、二次色以外にも特色などで多面体を構成しそうな点があればそれも先頭の方に移動することでも効果はあがる。それ以外の点はＣ＊（彩度）で降順に並び替えることである。但し、もしＲ、Ｇ、Ｂ、Ｃ、Ｍ、Ｙ、Ｗ、Ｂｋのデータを特定できない場合は以下の（処理４）〜（処理６）に示す処理を行う。
【００９８】
（処理４）  データのＬ＊成分を考慮しないでａ＊−ｂ＊の二次元平面でＣｏｎｖｅｘ  Ｈｕｌｌ  ２Ｄを適用する。
【００９９】
（処理５）  Ｃｏｎｖｅｘ  Ｈｕｌｌ  ２Ｄによって選出された点群をデータの先頭に移動する。
【０１００】
（処理６）  それ以外の点はＣ＊（彩度）で降順に並び替える。
【０１０１】
以上の処理により、各点の内外判定処理の早期段階で多面体の形状が決定するので、これ以降は多面体の再構成処理が無いので、全体として多面体生成処理にかかる時間を従来よりも軽減させることができる。
【０１０２】
因みにＣｏｎｖｅｘ  Ｈｕｌｌ  ２Ｄのアルゴリズムは以下の（処理７）〜（処理１０）の通りである。
【０１０３】
（処理７）  点群データ（ａ＊、ｂ＊成分のみ考慮）入力
（処理８）  図２６に示す如くａ＊−ｂ＊平面において原点と無限遠点を結ぶ直線を反時計回りにθ＝０から回転させ、この直線に最初にぶつかった点（θ＝ａ）を第１の凸多角形構成点とする。図２７は、第１の凸多角形構成点を検索した状態を示す図で、同図において２７０１が第１の凸多角形構成点を示す。
【０１０４】
（処理９）  ぶつかった点（図２７では点２７０１）と無限遠点を結ぶθ＝ａの直線をぶつかった点を中心に反時計回りに回転させる。そして次にぶつかった点を凸多角形構成点に追加する。図２８は、次の凸多角形構成点を検索した状態を示す図で、同図において２８０１が第１の凸多角形構成点２７０１の次に見つかった凸多角形構成点である。そして次には、この凸多角形構成点２８０１と無限遠点を結ぶ直線２８０２を点２８０１を中心に反時計回りに回転させる。そして次にぶつかった点を凸多角形構成点に追加する。図２９は、次の凸多角形構成点を検索した状態を示す図で、同図において２９０１が凸多角形構成点２８０１の次に見つかった凸多角形構成点である。そして次には、この凸多角形構成点２９０１と無限遠点を結ぶ直線２９０２を点２９０１を中心に反時計回りに回転させる。
【０１０５】
（処理１０）  直線が一回転（θ＝２π）になるまで（処理９）を繰り返す（ここでθは、時計回りに回転させた直線の角度を示す）。そしてθ＝２πとなったときには図３０に示す如く、凸多角形が得られる。
【０１０６】
以上の方法で一次色、二次色および該当する特色が特定できる。Ｗ、Ｂｋに関しては点群データを明度方向で昇順（降順でも可）することで得ることができる。
【０１０７】
点群データを並び替えた場合と並び替えない場合とでの多面体の生成過程を図３１に示す。同図において左側の図（図３１（ａ）〜（ｅ））が点群を並び替えしないで多面体を作成する過程を示した図で、右側の図（図３１（ｆ）〜（ｊ））が点群を並び替えして多面体を作成する過程を示した図である。
【０１０８】
右側、左側の両方とも上から８点、５０点、１００点、２００点、４００点を入力した時点でのGamutを示す。並び替えた場合の方が早い段階で最終的な多面体に近い形状をしていることがわかる。
【０１０９】
［第３の実施形態］
図３２は作成した圧縮曲線DBの色相をユーザが編集するためのＧＵＩを示す図である。同図において３２０６がこのＧＵＩのウィンドウを示す。編集結果は領域３２０７内に連動して表示される。同図のＧＵＩは圧縮パラメータ設定ＵＩ１０４に相当する。
【０１１０】
具体的な編集方法としては、例えば第１色空間のマゼンタを通る圧縮曲線を編集する場合、圧縮曲線と第２色空間の交点をマウス等により移動させる方法である。まず、マウスで動かしたい色相曲線をクリックする。すると領域３２０７では選択された色相曲線が太い線で表示される。また色相曲線の可動範囲は３２０９に示す如くその範囲を示すポインタでもって表示する。なお、ポインタの形状はこれに限定するものではない。なおこの可動範囲はパラメータとしてユーザ指定も可能である。
【０１１１】
例えば、３２０８で示す点をクリックすると、３２１０で示す如くウィンドウを表示する。ウィンドウ３２１０では選択された色相曲線の色相番号が領域３２１１内に表示され、ユーザは色相を動かす可動範囲をスライダ３２１２でもって指定すると、指定した色相値が領域３２１４内に表示される。領域３２１３内に表示される限界可動範囲の初期値として人間が色相の変化を視認できるか否かの境界、弁別閾（ΔＥ９４≒１．０等）を設けることで、色相移動による色の大きな破綻を防ぐことができる。
【０１１２】
色相の移動ができる圧縮曲線は第１色空間の一次色、二次色を通る曲線のみであり、それ以外の圧縮曲線に関しては、一次色、二次色の色相の移動に伴って、交差しないように自動的に滑らかに調整（移動）される。今回の例ではマゼンタを通る圧縮曲線を移動させたので、図３３乃至３５に示す如く、マゼンタの両隣りに位置するレッドとブルーに挟まれる圧縮曲線が連動して移動する。
【０１１３】
［第４の実施形態］
第１の実施形態では図１に示した各部はハードウェアにより構成されているものとして説明したが、各部の機能をコンピュータのＣＰＵに実現させる為のプログラムでもって同図の各部を構成するようにしても良い。その場合、このプログラムを実行するコンピュータは第１の実施形態と同様の処理を行うことになるので、このコンピュータは第１の実施形態に係る画像処理装置を構成することになる。
【０１１４】
図２０はこのコンピュータの基本構成を示す図である。
【０１１５】
２００１はＣＰＵで、ＲＡＭ２００２やＲＯＭ２００３に格納されているプログラムやデータを用いてコンピュータ全体の制御を行うと共に、第１の実施形態に係る上記入り圧縮処理に係る一連の処理を実行する。
【０１１６】
２００２はＲＡＭで、外部記憶装置２００６からロードされたプログラムやデータを一時的に格納するためのエリアを備えると共に、ＣＰＵ２００１が各種の処理を行う際に使用するワークエリアも備える。また、後述するインターフェース２００７を介して受信するプログラムやデータを一時的に格納するためのエリアも備える。
【０１１７】
２００３はＲＯＭで、ブートプログラムやコンピュータの設定データなどを格納する。
【０１１８】
２００４は操作部で、キーボードやマウスなどにより構成されており、各種の指示をＣＰＵ２００１に対して入力することができ、例えば図１８等に示したＧＵＩに対して各種の入力を行う際に使用するものである。また図１では、圧縮パラメータ設定ＵＩ１０４としても機能するものである。
【０１１９】
２００５は表示部で、ＣＲＴや液晶画面などにより構成されており、ＣＰＵ２００１によって処理された結果を画像や文字などにより表示することができ、例えば図１９に示したＧＵＩを表示することができる。
【０１２０】
２００６は外部記憶装置で、ハードディスクドライブ装置などの大容量情報記憶装置であって、ここにＯＳ（オペレーティングシステム）やＣＰＵ２００１に第１の実施形態で説明した色圧縮処理に係る一連の処理を実行させるためのプログラムやデータが保存されており、これらの一部もしくは全部はＣＰＵ２００１の制御により、ＲＡＭ２００２にロードされる。なお、このプログラムには、図１の第１の色空間の多面体部１０１，第２の色空間の多面体部１０３、圧縮曲線ＤＢ生成部１０６，色空間圧縮部１０７の各部をＣＰＵ２００１に実行させるためのプログラムが含まれている。また、外部記憶装置２００６にはマンセル色相曲線ＤＢ１０５として機能する為のエリアが備わっているが、マンセル色相曲線ＤＢ１０５はＲＡＭ２００２内に設けるようにしても良い。また上記実施形態で登場した各種のＧＵＩに係るプログラムやデータもこの外部記憶装置２００６に保存させておき、必要に応じてＣＰＵ２００１の制御によりＲＡＭ２００２にロードし、ＣＰＵ２００１がこれを実行することにより、このコンピュータのユーザは上記各種のＧＵＩを使用することができる。
【０１２１】
２００７はＩ／Ｆで、ここにプリンタやハードコピー装置などを接続することができ、それぞれからの色データを受信することができる。
【０１２２】
２００８は上述の各部を繋ぐバスである。
【０１２３】
［その他の実施形態］
本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記録媒体（または記憶媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記録媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。この場合、記録媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【０１２４】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２５】
さらに、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【０１２６】
本発明を上記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャート（機能構成）に対応するプログラムコードが格納されることになる。
【図面の簡単な説明】
【０１２７】
【図１】本発明の第１の実施形態に係る画像処理装置１１０の機能構成を示す図である。
【図２】色空間内の点群データに基づいて生成された、色空間の再現範囲を表現した多面体の一例を示す図である。
【図３】Ｌ＊＝５０の場合のマンセル色相環を示す図である。
【図４】ある色相におけるＣ＊−Ｌ＊平面における第１の色空間の点群データ１００が占める部分と第２の色空間の点群データ１０２が占める部分とを示す図である。
【図５】最外域点のマッピングポイントに従って決定する処理を説明する為の図である。
【図６】最大彩度点よりも上部（第１の色空間の点群データ１００の部分６０１においてＣ＊−Ｌ＊平面において傾きが負の部分）に関しては一点鎖線６０２で示す如く湾曲させる処理を説明するための図である。
【図７】色圧縮後の彩度を決定する処理を説明するための図である。
【図８】ある色相における圧縮曲線の一例を示す図である。
【図９】入力色データが示すＬ＊ａ＊ｂ＊値を通る圧縮曲線を、先に求めた上記複数の圧縮曲線を用いて補間処理により求める処理のフローチャートである。
【図１０】ステップＳ２０１における処理を説明する図である。
【図１１】ステップＳ２０２における処理を説明する図である。
【図１２】Ｌ＊ａ＊ｂ＊色空間において、上記処理により特定した４本の圧縮曲線を示す図である。
【図１３】Ｌ＊ａ＊ｂ＊色空間において入力色データが示すＬ＊ａ＊ｂ＊値の位置１３０１が属する四面体１３０２を示す図である。
【図１４】ステップＳ３０７で記憶した四面体のインデックスと同じインデックスを有する１４の四面体を示す図である。
【図１５】入力色データのＬ＊ａ＊ｂ＊値を通る圧縮曲線を示す図である。
【図１６】圧縮曲線、圧縮率を用いて入力色データを色圧縮する処理を説明する図である。
【図１７】線形圧縮を元の彩度がある程度保持されるようかつ階調性が損なわれないよう非線形に圧縮する為の処理の原理について示した図である。
【図１８】色圧縮処理を行うために設定すべきパラメータを操作するためのＧＵＩ（グラフィカルユーザインターフェース）の表示例を示す図である。
【図１９】領域４０３内に表示されるＧＵＩを示す図である。
【図２０】本発明の第４の実施形態に係るコンピュータの基本構成を示す図である。
【図２１】４本の圧縮曲線において、ｉ，（ｉ＋１）番目の点の合計８点で構成される六面体を示す図である。
【図２２】内外判定対象の点と、四面体を構成する（表裏判定で用いる）一面を示す図である。
【図２３】内外判定対象の点の四面体に対する内外判定処理を説明するための図である。
【図２４】１つの頂点が加わることで新たな多面体の再構成する方法を説明する図である。
【図２５】（ａ）は、点群を示す図で、（ｂ）は（ａ）に示した点群に基づいて以上説明したＣｏｎｖｅｘ  Ｈｕｌｌ３Ｄにより作成した多面体を示す図である。
【図２６】第１の凸多角形構成点を検索するための処理を説明する為の図である。
【図２７】第１の凸多角形構成点を検索した状態を示す図である。
【図２８】第１の凸多角形構成点の次の凸多角形構成点を検索した状態を示す図である。
【図２９】凸多角形構成点２８０１の次の凸多角形構成点を検索した状態を示す図である。
【図３０】（処理７）〜（処理１０）により得られた凸多角形を示す図である。
【図３１】点群データを並び替えた場合と並び替えない場合とでの多面体の生成過程を示す図である。
【図３２】作成した圧縮曲線DBの色相をユーザが編集するためのＧＵＩを示す図である。
【図３３】マゼンタの両隣りに位置するレッドとブルーに挟まれる圧縮曲線が連動して移動する処理を説明するための図である。
【図３４】マゼンタの両隣りに位置するレッドとブルーに挟まれる圧縮曲線が連動して移動する処理を説明するための図である。
【図３５】マゼンタの両隣りに位置するレッドとブルーに挟まれる圧縮曲線が連動して移動する処理を説明するための図である。
【図１】
2005354227.tif 000003
【図２】
2005354227.tif 000004
【図３】
2005354227.tif 000005
【図４】
2005354227.tif 000006
【図５】
2005354227.tif 000007
【図６】
2005354227.tif 000008
【図７】
2005354227.tif 000009
【図８】
2005354227.tif 000010
【図９】
2005354227.tif 000011
【図１０】
2005354227.tif 000012
【図１１】
2005354227.tif 000013
【図１２】
2005354227.tif 000014
【図１３】
2005354227.tif 000015
【図１４】
2005354227.tif 000016
【図１５】
2005354227.tif 000017
【図１６】
2005354227.tif 000018
【図１７】
2005354227.tif 000019
【図１８】
2005354227.tif 000020
【図１９】
2005354227.tif 000021
【図２０】
2005354227.tif 000022
【図２１】
2005354227.tif 000023
【図２２】
2005354227.tif 000024
【図２３】
2005354227.tif 000025
【図２４】
2005354227.tif 000026
【図２５】
2005354227.tif 000027
【図２６】
2005354227.tif 000028
【図２７】
2005354227.tif 000029
【図２８】
2005354227.tif 000030
【図２９】
2005354227.tif 000031
【図３０】
2005354227.tif 000032
【図３１】
2005354227.tif 000033
【図３２】
2005354227.tif 000034
【図３３】
2005354227.tif 000035
【図３４】
2005354227.tif 000036
【図３５】
2005354227.tif 000037