(57)【要約】【課題】  複数の色処理を合成して作成した色変換テーブルに対し、各色処理の特性を考慮した平滑化処理を行う事を可能にする。【解決手段】  本発明にかかる色処理装置は、入力色信号を第一の色信号に変換する第一の変換手段と、前記第一の変換手段により変換された第一の色信号を第二の色信号に変換する第二の変換手段と、前記第一の変換手段により変換された第一の色信号の階調特性を検出する検出手段と、前記入力色信号と前記第二の変換手段により変換された第二の色信号との対応関係を規定するテーブルを生成するテーブル生成手段と、前記生成手段により生成されたテーブルの前記第二の色信号に対し、前記階調特性に基づき平滑化処理を行う平滑化手段とを有することを特徴とする。【選択図】  図２
2009260473.tif 000002
【特許請求の範囲】
【請求項１】
入力色信号を第一の色信号に変換する第一の変換手段と、
前記第一の変換手段により変換された第一の色信号を第二の色信号に変換する第二の変換手段と、
前記第一の変換手段により変換された第一の色信号の階調特性を検出する検出手段と、
前記入力色信号と前記第二の変換手段により変換された第二の色信号との対応関係を規定するテーブルを生成するテーブル生成手段と、
前記生成手段により生成されたテーブルの前記第二の色信号に対し、前記階調特性に基づき平滑化処理を行う平滑化手段と
を有することを特徴とする色処理装置。
【請求項２】
前記第一の変換手段は、入力デバイスの色信号である前記入力色信号を前記入力デバイスに依存しない色空間のデータである前記第一の色信号に変換することを特徴とする請求項１に記載の色処理装置。
【請求項３】
前記入力色信号は、前記入力色信号の色空間上に配置される格子点に対応することを特徴とする請求項１又は２に記載の色処理装置。
【請求項４】
前記階調特性は、前記格子点を頂点とする四面体の体積に基づいて算出されることを特徴とする請求項３に記載の色処理装置。
【請求項５】
前記平滑化手段は、前記階調特性により表される階調が反転しているか又は潰れている場合は、前記平滑化処理を行わないことを特徴とする請求項１乃至４の何れか一項に記載の色処理装置。
【請求項６】
前記第二の変換手段は、さらに前記第一の変換手段により変換された第一の色信号を第三の色信号に変換する第三の変換手段を有し、前記第三の変換手段により変換された前記第三の色信号を前記第二の色信号に変換し、
前記検出手段は、さらに前記第三の変換手段により変換された第三の色信号の階調特性を検出し、
前記平滑化手段は、さらに前記第一の色信号の階調特性と前記第三の色信号の階調特性とに基づき平滑化処理を行うことを特徴とする請求項１乃至５の何れか一項に記載の色処理装置。
【請求項７】
入力色信号を第一の色信号に変換する第一の変換工程と、
前記第一の変換工程により変換された第一の色信号を第二の色信号に変換する第二の変換工程と、
前記第一の変換工程により変換された第一の色信号の階調特性を検出する検出工程と、
前記入力色信号と前記第二の変換工程により変換された第二の色信号との対応関係を規定するテーブルを生成するテーブル生成工程と、
前記生成工程により生成されたテーブルの前記第二の色信号に対し、前記階調特性に基づき平滑化処理を行う平滑化工程と
を有することを特徴とする色処理方法。
【請求項８】
コンピュータ装置を制御して、請求項１乃至６の何れか一項に記載された色処理装置の各手段として機能させることを特徴とするコンピュータプログラム。
【請求項９】
請求項８に記載されたプログラムが記録されたことを特徴とするコンピュータが読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カラーマッチングにおける色処理方法及び装置、制御プログラム、記憶媒体に関する。
【背景技術】
【０００２】
デジタルカメラやモニタ、プリンタなど、機器によって再現できる色の範囲が異なるため、機器間での色を合わせるための、いわゆるカラーマッチング処理が必要となる。例えば、モニタとプリンタの色を合わせるためのカラーマッチング処理として、モニタとプリンタの色特性を考慮した色変換テーブルを参照し、補間演算を行う色処理方法が知られている。
【０００３】
上記の色変換テーブルを作成する方法の例を以下に挙げる。まず、入力デバイスであるモニタの色特性データを用いてモニタＲＧＢ値をデバイスに非依存な色空間であるＸＹＺ値やＬａｂ値に変換する。次に、プリンタで再現できるように、前記デバイス非依存の色値をプリンタの色再現範囲に色域圧縮する。さらに、出力デバイスであるプリンタの色特性データを用いて、前記圧縮されたデバイス非依存の色値をプリンタＣＭＹＫ値に変換する。変換されたＣＭＹＫ値を用いて、モニタＲＧＢ値をプリンタＣＭＹＫ値に変換するための色変換テーブルが作成される。
【０００４】
ここで、作成される色変換テーブルは、様々な要因により、色変換精度が低下する。例えば、プリンタの色特性データは、一般に、プリンタで印刷出力したカラーパッチを測色機で測色することにより得る。従って、この測色時の測定精度に色変換テーブルの精度が影響を受けることとなる。他の精度低下要因としては、計算処理結果を量子化する際の量子化誤差等が挙げられる。上記に例を挙げたような要因により、テーブルの値の変化が滑らかでなくなる場合がある。その結果、色変換後の画像において階調変化が滑らかでなくなり、擬似輪郭等が発生しやすくなる。
【０００５】
そこで従来は、色変換テーブルの値の変化を滑らかにするため、色変換テーブルに対して平滑化処理を行っていた。この平滑化処理として、色空間上の複数位置に対して、平滑化によるテーブル値の変動許容量を設定し、平滑化処理を行う方法が知られている（特許文献１）。
【特許文献１】特開２００６−０３３２４５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の方法では、入力と出力の色が対応付けられた色変換テーブルのみを用いて平滑化を行うため、平滑化時には、例えば入力デバイスの色特性や色域圧縮処理における色再現特性は考慮されていなかった。これにより、例えば、入力デバイスの色特性に階調反転などの例外的階調特性が含まれていた際、平滑化により、この特性が失われてしまう場合があった。これは、忠実カラーマッチングのように、例外的階調特性も含めた階調特性が保存される事が望ましい場合などで問題であった。
【０００７】
また、色域圧縮処理において意図的に階調を潰すように作られた階調再現も、平滑化処理によって失われてしまう場合があるという問題があった。
【０００８】
図１７に、１次元テーブルに対して平滑化を行った場合の例を示す。平滑化前のデータは、Ｇｒｉｄ５で階調反転が発生しているが、特性を考慮しない平滑化処理を適用した場合、平滑化後にＧｒｉｄ５の階調反転特性が失われてしまう。
【０００９】
そこで、上述した問題を解決するため、本発明は、複数の色処理を合成して作成した色変換テーブルに対し、各色処理の特性を考慮した平滑化処理を行う事を可能にすることを目的とする。
【課題を解決するための手段】
【００１０】
本発明は、前記の目的を達成する一手段として、以下の構成を備える。
【００１１】
本発明にかかる色処理装置は、入力色信号を第一の色信号に変換する第一の変換手段と、前記第一の変換手段により変換された第一の色信号を第二の色信号に変換する第二の変換手段と、前記第一の変換手段により変換された第一の色信号の階調特性を検出する検出手段と、前記入力色信号と前記第二の変換手段により変換された第二の色信号との対応関係を規定するテーブルを生成するテーブル生成手段と、前記生成手段により生成されたテーブルの前記第二の色信号に対し、前記階調特性に基づき平滑化処理を行う平滑化手段とを有することを特徴とする。
【００１２】
本発明にかかる色処理方法は、入力色信号を第一の色信号に変換する第一の変換工程と、前記第一の変換工程により変換された第一の色信号を第二の色信号に変換する第二の変換工程と、前記第一の変換工程により変換された第一の色信号の階調特性を検出する検出工程と、前記入力色信号と前記第二の変換工程により変換された第二の色信号との対応関係を規定するテーブルを生成するテーブル生成工程と、前記生成工程により生成されたテーブルの前記第二の色信号に対し、前記階調特性に基づき平滑化処理を行う平滑化工程とを有することを特徴とする。
【発明の効果】
【００１３】
以上説明したように、本発明によれば、複数の色処理を合成して作成した色変換テーブルにおいて各色処理の特性を考慮した平滑化処理を行う事が可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本実施形態の画像処理装置について、図面を参照して説明する。なお、各構成に続く括弧で括った数字は、図面中における各構成の符号に対応する。
【００１５】
＜第１の実施形態＞
図１は、第１の実施形態としての色処理装置である画像処理装置の構成例を示すブロック図である。
【００１６】
図１において、ＣＰＵ（１０１）は、ＲＯＭ（１０２）およびハードディスク（ＨＤ）（１０７）などに格納されたプログラムに従い、装置全体の動作を司る。その際、ＲＡＭ（１０３）をワークメモリに利用して、本実施形態に係る色処理をはじめとする各種の処理を実行する。入力インタフェース（１０４）は入力デバイス（１０５）を接続するためのインタフェースである。ハードディスクインタフェース（１０６）はＨＤ（１０７）を接続するためのビデオインタフェース（１０８）はビデオデバイス（１０９）を接続するためのインタフェースである。出力インタフェース（１１０）は出力デバイス（１１１）を接続するためのインタフェースである。
【００１７】
なお、本実施形態が対象とする入力デバイスには、デジタルスチルカメラやデジタルビデオカメラなどの撮影機器、並びに、イメージスキャナやフィルムスキャナなどのイメージリーダをはじめとする各種の画像入力機器が含まれる。ビデオデバイスには、ＣＲＴやＬＣＤなどのカラーモニタなどの表示機器が含まれる。また、出力デバイスには、インクジェットプリンタや電子写真プリンタといったカラープリンタなどの画像出力機器が含まれる。
【００１８】
また、インタフェースとして汎用のインタフェースが利用できる。その用途に応じて、例えば、ＵＳＢおよびＩＥＥＥ１３９４などのシリアルインタフェース、並びに、ＳＣＳＩおよびセントロニクスなどのパラレルインタフェースが利用可能である。
【００１９】
図２は、第１の実施形態に係る色処理装置の機能構成例を示すブロック図である。
【００２０】
色変換ＬＵＴ生成部（２０１）は、入力格子データ生成部（２０２）で入力色空間における格子点に対応するデータである格子点データを生成する。ここでは、入力色空間がＲＧＢの例で説明するが、ＣＭＹＫなど他の色空間を入力としても良い。
【００２１】
生成された入力色信号ＲＧＢの格子点データは、第一の色処理部（２０３）でデバイスに依存しない色空間のデータである第一の色信号に変換される。ここでは、デバイスに依存しない色空間としてＬａｂの例を用いて説明するが、ＸＹＺやＪＣｈなど、他の色空間を利用しても良い。また、Ｌａｂに変換された格子点データは、変換されたＬａｂと対応付けられ、第一のＬＵＴ（２０８）として生成される。次に、第二の色処理部（２０４）で、Ｌａｂの格子点データを出力色空間のデータである第二の色信号に変換し、初期色変換ＬＵＴ（２０７）を生成する。ここでは、出力色空間がＲＧＢの例で説明するが、ＣＭＹＫなど他の色空間を出力としても良い。平滑化制御部（２０５）は、第一の色処理部（２０３）から出力された第一のＬＵＴ（２０８）を利用して、平滑化処理を制御するための平滑化制御パラメータを生成する。平滑化制御パラメータの詳細は後述する。平滑化処理部（２０６）は、平滑化制御部（２０５）で生成された平滑化制御パラメータを用いて、初期色変換ＬＵＴ（２０７）に対して平滑化処理を適用し、色変換ＬＵＴ（２０９）を生成する。平滑化処理の詳細は後述する。
【００２２】
図３は、本実施形態における初期色変換ＬＵＴ（２０７）及び色変換ＬＵＴ（２０９）の例を示した図である。
【００２３】
初期色変換ＬＵＴ（２０７）及び色変換ＬＵＴ（２０９）は、入力のＲＧＢ値と、色変換後の出力のＲＧＢ値との対応関係が規定されている。ここでは、入力ＲＧＢ値は、ＲＧＢ色空間において規則的に配置された格子点の色座標データであり、Ｒ、Ｇ、Ｂの各軸が格子状に９個の格子点で構成されている。但し、格子点数は前記に限らず任意で、格子点データは非均等に配置されていても良い。
【００２４】
図４は、図３に示すＬＵＴの入力格子点を表した模式図である。
【００２５】
図４では、Ｒ、Ｇ、Ｂの各軸が９個の格子点で構成されており、ブラック（Ｂｋ）、レッド（Ｒ）、ブルー（Ｂ）、シアン（Ｃ）、イエロー（Ｙ）、ホワイト（Ｗ）等の各格子点のＲＧＢ値、ならびにグリッド番号による各格子点のグリッド座標とが記されている。各格子点に対して、対応する出力ＲＧＢ値が関連づけられており、これらの関連付けを格納したテーブルが図３で示したものとなる。図３において、特に、入力ＲＧＢ値の色座標データとグリッド番号が固定で定義されている場合などは、入力ＲＧＢデータは省略し、出力ＲＧＢ値だけのデータ構成であっても良い。
【００２６】
図５は、本実施形態における第一のＬＵＴ（２０８）の例を示した図である。
【００２７】
第一のＬＵＴ（２０８）は、第一の色処理部によって変換される入力のＲＧＢ値と、変換後の出力Ｌａｂ値との対応関係が定義されている。ここで、入力ＲＧＢ値は図３と同じデータであって、ＲＧＢ色空間において規則的に配置された格子点の色座標データであり、Ｒ、Ｇ、Ｂの各軸が９個の格子点で構成されている。また、図３と同様、入力ＲＧＢデータを省略し、出力ＲＧＢ値だけのデータ構成であっても良い。
【００２８】
図６は、第１の実施形態に係る色処理装置の処理の流れを示すフローチャートである。
【００２９】
まず、ステップＳ６０１において、入力格子生成部（２０２）で入力の格子データを生成する。ここでは、前記の説明に合わせ、入力ＲＧＢ値がＲ，Ｇ，Ｂ各軸の格子点数が９の規則的な格子点データとする。
【００３０】
次に、ステップＳ６０２において、第一の色処理部（２０３）で第一の変換により入力ＲＧＢ値を入力デバイスの特性に応じてＬａｂ値に変換する。また、第一のＬＵＴ（２０８）を生成する。
【００３１】
次に、ステップＳ６０３において、第二の色処理部（２０４）で第二の変換によりＬａｂ値を出力デバイスの特性に応じてＲＧＢ値に変換し、初期色変換ＬＵＴ（２０７）を生成する。
【００３２】
次に、ステップＳ６０４において、初期色変換ＬＵＴ（２０７）に平滑化処理を行うかどうかを判定する。平滑化処理は常に実施するように設定しておいても良いし、あるいは外部からの指定によって制御を切り替えても良い。平滑化処理を行う場合はステップＳ６０５に進み、平滑化処理を行わない場合は初期色変換ＬＵＴ（２０７）を色変換ＬＵＴ（２０９）として出力し、処理を終了する。
【００３３】
ステップＳ６０５では、第一のＬＵＴ（２０８）に基づいて、平滑化処理を制御するための制御パラメータを生成する。なお、平滑化制御パラメータの生成の詳細は後述する。
【００３４】
次に、ステップＳ６０６において、平滑化制御パラメータをもとに、初期色変換ＬＵＴ（２０７）に対して平滑化処理を行い、色変換ＬＵＴ（２０９）として出力し、処理を終了する。なお、平滑化処理の詳細は後述する。
【００３５】
以降、ステップＳ６０５における平滑化処理制御パラメータの生成方法、及び、ステップＳ６０６における平滑化処理方法について詳細に説明する。
【００３６】
例えば、忠実カラーマッチングを行う場合、入力デバイスの色特性に階調反転などの例外的階調特性が含まれていたとしても、その例外的階調も含めた前記階調特性が保存された方が望ましいことがある。従来のように、入力ＲＧＢ値と第二の変換が行われた後のＲ’Ｇ’Ｂ’値とを格納した初期色変換ＬＵＴ（２０７）の出力値に対して行う平滑化処理は、出力値の階調が滑らかになるように平滑化される。しかしながら、この出力値は、第一の変換と第二の変換を行った後の値であるため、この出力値のみから、どちらの変換の特性を反映した値であるかを判別することはできない。つまり、この出力値に対して行われる平滑化処理は、出力値の階調のみを平滑化するものであり、例えば、どちらかの変換の特性（階調）に応じて、選択的に平滑化することなどはできない。その結果、従来の平滑化処理では、第一の変換の特性を無視した平滑化処理が行われてしまうことがある。よって、本実施形態では、第一のＬＵＴ（２０８）から入力デバイスの例外的階調を検出し、平滑化後も前記例外的階調を含めた階調特性を保存するために、例外的階調が発生している箇所は平滑化しないという処理の方法について説明する。
【００３７】
図１５は、ステップＳ６０５における平滑化処理制御パラメータの生成、及び、ステップＳ６０６における平滑化処理の流れを示すフローチャートである。ステップＳ１５０１からステップＳ１５０３までが平滑化制御パラメータ生成処理（ステップＳ６０５）、ステップＳ１５０４からステップＳ１５０８までが平滑化処理（ステップＳ６０６）に対応する。
【００３８】
まず、ステップＳ１５０１において、第一のＬＵＴ（２０８）における注目格子点に対する例外的階調を検出する。
【００３９】
例外的階調は、図７に示すような四面体において、以下の式（１）で定義される四面体の体積Ｖに基づいて検出する。
【００４０】
【数１】
2009260473.tif 000003
【００４１】
ここで、×はベクトルの外積、・はベクトルの内積を表す。四面体の階調は、Ｖの値に応じて下記のように分類される。
・Ｖ＞０：正常階調
・Ｖ＝０：例外的階調（潰れ）
・Ｖ＜０：例外的階調（反転）
【００４２】
図８に、ある基準格子点（Ｇｒｉｄ（ｉ，ｊ，ｋ））と、その近傍の７格子点からなる六面体を四面体に分割した場合の例を示す。なお、近傍の７格子点は、Ｇｒｉｄ（ｉ＋１，ｊ，ｋ）、Ｇｒｉｄ（ｉ，ｊ＋１，ｋ）、Ｇｒｉｄ（ｉ，ｊ，ｋ＋１）、Ｇｒｉｄ（ｉ＋１，ｊ＋１，ｋ）、Ｇｒｉｄ（ｉ＋１，ｊ，ｋ＋１）、Ｇｒｉｄ（ｉ，ｊ＋１，ｋ＋１）、Ｇｒｉｄ（ｉ＋１，ｊ＋１，ｋ＋１）である。図８のように、四面体はＴｅｔｒａ１からＴｅｔｒａ６までの６つに分割される。これら、格子点を頂点とする四面体に対して、図９のように、基準格子点に基づきベクトル
【００４３】
【数２】
2009260473.tif 000004
【００４４】
を設定し、式（１）により、各四面体の体積を計算する。
【００４５】
ここで、基準格子点であるＧｒｉｄ（ｉ，ｊ，ｋ）に注目すると、Ｇｒｉｄ（ｉ，ｊ，ｋ）の階調が正常であるとは、Ｇｒｉｄ（ｉ，ｊ，ｋ）が含まれる全ての四面体でＶ＞０となる場合のことを言う。逆に、Ｇｒｉｄ（ｉ，ｊ，ｋ）の階調が例外的階調であるとは、Ｇｒｉｄ（ｉ，ｊ，ｋ）が含まれる全ての四面体のうち少なくとも一つ以上の四面体でＶ＝０またはＶ＜０となる場合のことを言う。
【００４６】
次に、ステップＳ１５０２において、ステップＳ１５０１で検出された例外的階調情報を、図１０に示すような平滑化制御パラメータ格納ＬＵＴに格納する。図１０のＬＵＴは、入力ＲＧＢの各格子点に対応するように例外的階調情報が格納されている。格子点の階調が正常の場合は０、例外的階調の場合は１が格納されている。また、図３と同様、入力ＲＧＢデータを省略し、例外的階調情報だけのデータ構成であっても良い。
【００４７】
次に、ステップＳ１５０３において、第一のＬＵＴ（２０８）の全ての格子点に対して処理を適用したかを判定し、未処理の格子点がある場合はステップＳ１５０１の処理に戻る。
【００４８】
次に、ステップＳ１５０４において、平滑化制御パラメータ格納ＬＵＴに格納された平滑化制御パラメータの値を参照する。ステップＳ１５０５において、ステップＳ１５０４により参照された値が１の場合（例外的階調の場合）はステップＳ１５０７に進み、そうでない場合（階調が正常である場合）はステップＳ１５０６に進む。
【００４９】
ステップＳ１５０６では、注目格子点は正常階調のため、初期色変換ＬＵＴ（２０７）の格子点を平滑化する。平滑化の方法は、例えば初期色変換ＬＵＴ（２０７）の入力のＲＧＢ各軸方向に隣接する格子点に対する出力ＲＧＢ値の平均をとる方法でも良いし、ガウシアン平滑化など、他の一般的な平滑化処理でも良い。
【００５０】
次に、ステップＳ１５０７で色変換ＬＵＴ（２０９）に平滑化処理結果（注目格子点が例外的階調の場合は初期変換ＬＵＴの値）を格納する。
【００５１】
次に、ステップＳ１５０８で、初期色変換ＬＵＴ（２０７）の全ての格子点に対して処理を適用したかを判定し、未処理の格子点がある場合はステップＳ１５０４の処理に戻る。全ての格子点に対して処理を行った場合は、色変換ＬＵＴ（２０８）を出力して、処理を終了する。
【００５２】
以上の処理により、例外的階調を含めた入力デバイスの階調特性を保存した平滑化を行うことができる。
【００５３】
図１８に、本実施形態の平滑化を適用した場合の効果を、１次元テーブルの例で示す。平滑化前のデータは、Ｇｒｉｄ５で階調反転が発生しているが、この例外的階調特性の情報を利用して平滑化を行う事により、平滑化後にもＧｒｉｄ５の例外的階調特性（階調反転）が保存されている事が分かる。
【００５４】
なお、本実施形態における平滑化処理の制御方法として、例外的階調情報をパラメータとし、例外的階調の格子点は平滑化しないという方法としたが、本発明はこれに限られるものではない。例えば、例外的階調情報に基づいて重みを計算し、例外的階調の格子点と周囲の格子点の平滑化結果が滑らかになるような重み付けの平滑化方法も考えられる。あるいは、平滑化前後のデータを例外的階調情報に基づく重みによって混合させるような方法でも良い。また、これらの方法において、特開２００６−０３３２４５号公報に記載されているように、平滑化による変動許容量を例外的階調情報に基づいて設定するようにしても良い。
【００５５】
以上記載のように、本実施形態により、複数の色処理を合成して作成した色変換テーブルにおいて第一の色処理の階調特性を考慮した平滑化処理を行う事が可能となる。
【００５６】
＜第２の実施形態＞
第２の実施形態について説明する。本実施形態については、第１の実施形態と異なる部分についてのみ説明し、重複する部分に関しては説明を省略する。
【００５７】
第２の実施形態は、例えば色域圧縮処理において意図的に階調を潰すといったように作られた階調再現が、平滑化処理により失われてしまう場合の処理について説明する。
【００５８】
図１１は、第２の実施形態に係る色処理装置の機能構成例を示すブロック図である。
【００５９】
色変換ＬＵＴ生成部（１１０１）は、入力格子データ生成部（１１０２）で入力色空間における格子点データを生成する。ここでは、入力色空間がＲＧＢの例で説明するが、ＣＭＹＫなど他の色空間を入力としても良い。
【００６０】
生成されたＲＧＢの格子データは、第一の色処理部（１１０３）でデバイスに依存しない色空間のデータに変換される。ここでは、デバイスに依存しない色空間としてＬａｂの例で説明するが、ＸＹＺやＪＣｈなど、他の色空間を利用しても良い。また、Ｌａｂに変換された格子点データは、第一のＬＵＴ（１１０９）として出力される。次に、第二の色処理部（１１０４）で、Ｌａｂの格子データを別のＬａｂデータに変換する。例えば、第二の色処理部としては色域圧縮処理などが挙げられる。また、変換されたＬａｂの格子点データは、第二のＬＵＴ（１１１０）として出力される。次に、第三の色処理部（１１０５）でＬａｂのデータを出力色空間のデータである第三の色信号に変換し、初期色変換ＬＵＴ（１１０８）を生成する。ここでは、出力色空間がＲＧＢの例で説明するが、ＣＭＹＫなど他の色空間を出力としても良い。平滑化制御部（１１０６）は、第一の色処理部（１１０３）から出力された第一のＬＵＴ（１１０９）及び第二の色処理部（１１０４）から出力された第二のＬＵＴ（１１１０）を利用して、平滑化処理を制御するための平滑化制御パラメータを生成する。平滑化処理部（１１０７）は、平滑化制御部（１１０６）で生成された平滑化制御パラメータを用いて、初期色変換ＬＵＴ（１１０８）に対して平滑化処理を適用し、色変換ＬＵＴ（１１１１）を生成する。
【００６１】
図１２は、本発明の第２の実施形態に係る色処理装置の流れを示すフローチャートである。
【００６２】
まず、ステップＳ１２０１において、入力格子生成部（１１０２）で入力の格子データを生成する。ここでは、第１実施形態と同様、入力ＲＧＢ値がＲ，Ｇ，Ｂ各軸の格子点数が９の規則的な格子点データとする。
【００６３】
次に、ステップＳ１２０２において、第一の色処理部（１１０３）で入力ＲＧＢ値を入力デバイスの特性に応じてＬａｂ値に変換する。また、第一のＬＵＴ（１１０９）を生成する。
【００６４】
次に、ステップＳ１２０３において、第二の色処理部（１１０４）でＬａｂ値を色域圧縮処理し、出力デバイスの色再現範囲内のＬａｂ値に変換する。また、第一の色処理部（１１０３）によって変換される入力のＲＧＢ値と色域圧縮処理した後のＬａｂ値の対応関係を定義し、それぞれの値を格納した第二のＬＵＴ（１１１０）を生成する。
【００６５】
次に、ステップＳ１２０４において、第三の色処理部（１１０５）で、ステップＳ１２０３において変換されたＬａｂ値を出力デバイスの特性に応じて第三の変換によりＲＧＢ値に変換し、初期色変換ＬＵＴ（１１０８）を生成する。
【００６６】
次に、ステップＳ１２０５において、初期色変換ＬＵＴ（１１０８）に平滑化処理を行うかどうかを判定する。平滑化処理は常に実施するように設定しておいても良いし、あるいは外部からの指定によって制御を切り替えても良い。平滑化処理を行う場合はステップＳ１２０６に進み、平滑化処理を行わない場合は初期色変換ＬＵＴ（１１０８）を色変換ＬＵＴ（１１１１）として出力し、処理を終了する。
【００６７】
ステップＳ１２０６では、第一のＬＵＴ（１１０９）及び第二のＬＵＴ（１１１０）に基づいて、平滑化処理を制御するための制御パラメータを生成する。なお、平滑化制御パラメータの生成の詳細は後述する。
【００６８】
次に、ステップＳ１２０７において、平滑化制御パラメータをもとに、初期色変換ＬＵＴ（１１０８）に対して平滑化処理を行い、色変換ＬＵＴ（１１１１）として出力し、処理を終了する。なお、平滑化処理の詳細は後述する。
【００６９】
以降、ステップＳ１２０６における平滑化処理制御パラメータの生成方法、及び、ステップ１２０７における平滑化処理方法について詳細に説明する。
【００７０】
例えば、第二の色処理、つまり色域圧縮処理で意図的に階調を潰すというように階調再現を作ることが考えられるが、色域圧縮時の色作りは最終結果でも保存されている事が望ましい。よって、本実施形態では、第一のＬＵＴ（１１０９）及び第二のＬＵＴ（１１１０）から色域圧縮における色作りを格子点間の距離に基づくパラメータにより判定する。平滑化後も判定結果をできるだけ保存するために、色作りが影響している箇所については、平滑化処理が結果に及ぼす影響を小さくする方法について説明する。
【００７１】
図１６は、ステップＳ１２０６における平滑化処理制御パラメータの生成、及び、ステップＳ１２０７における平滑化処理の流れを示すフローチャートである。ステップＳ１６０１からステップＳ１６０３までが平滑化制御パラメータ生成処理（ステップＳ１２０６）、ステップＳ１６０４からステップＳ１６０７までが平滑化処理（ステップＳ１２０７）に対応する。
【００７２】
まず、ステップＳ１６０１において、第一のＬＵＴ（１１０９）及び第二のＬＵＴ（１１１０）それぞれについて、注目格子点における格子距離比率を算出する。格子距離比率は、格子点間の平均距離から算出するため、先にこの平均距離の算出方法を示す。
【００７３】
図１３は、格子点間の平均距離算出のため模式図である。
【００７４】
ある基準となる格子点、Ｇｒｉｄ（ｉ，ｊ，ｋ）に対して、隣接する格子点を以下の６つとする。Ｇｒｉｄ（ｉ＋１，ｊ，ｋ）、Ｇｒｉｄ（ｉ−１，ｊ，ｋ）、Ｇｒｉｄ（ｉ，ｊ＋１，ｋ）、Ｇｒｉｄ（ｉ，ｊ−１，ｋ）、Ｇｒｉｄ（ｉ，ｊ，ｋ＋１）、Ｇｒｉｄ（ｉ，ｊ，ｋ−１）。Ｌ１、Ｌ２、Ｍ１、Ｍ２、Ｎ１、Ｎ２はそれぞれ、Ｇｒｉｄ（ｉ，ｊ，ｋ）と上記の隣接する格子点とのＬａｂ空間上の距離を表す。Ｇｒｉｄ（ｉ，ｊ，ｋ）における隣接する格子点間の平均距離Ｄ（ｉ，ｊ，ｋ）を、下記の式（２）で定義する。
Ｄ（ｉ，ｊ，ｋ）＝（Ｌ１＋Ｌ２＋Ｍ１＋Ｍ２＋Ｎ１＋Ｎ２）／６        （２）
【００７５】
次に、平滑化制御パラメータとなる、格子距離比率Ｒの算出方法を示す。第一のＬＵＴ（１１０９）における上記平均距離をＤ１（ｉ，ｊ，ｋ）、第二のＬＵＴ（１１１０）における上記平均距離をＤ２（ｉ，ｊ，ｋ）とすると、格子距離比率Ｒは下記の式（３）のようになる。
Ｒ＝Ｄ２（ｉ，ｊ，ｋ）／Ｄ１（ｉ，ｊ，ｋ）        （３）
このＲの値が１より小さいほど、色域圧縮により格子点間距離を縮めるような色作りの傾向が強くなり、Ｒの値が１より大きいほど、格子点間隔を広げるような色作りの傾向が強くなる。
【００７６】
次に、ステップＳ１６０２において、ステップＳ１５０１で算出した格子距離比率を、図１４に示すような平滑化制御パラメータ格納ＬＵＴに格納する。図１４のＬＵＴは、入力ＲＧＢの各格子点に対応するように格子距離比率が格納されている。また、図３と同様、入力ＲＧＢデータを省略し、格子距離比率だけのデータ構成であっても良い。
【００７７】
次に、ステップＳ１６０３において、第一のＬＵＴ（１１０９）及び第二のＬＵＴ（１１１０）の全ての格子点に対してステップＳ１６０２の処理を適用したかを判定し、未処理の格子点がある場合はステップＳ１６０１の処理に戻る。
【００７８】
次に、ステップＳ１６０４において、平滑化制御パラメータ格納ＬＵＴの値を参照する。
【００７９】
次に、ステップＳ１６０５において、ステップＳ１６０４において参照した平滑化制御パラメータの値を利用し、平滑化を行う。平滑化の方法は、例えば初期色変換ＬＵＴ（１１０８）の入力のＲＧＢ各軸方向に隣接する格子点に対する出力ＲＧＢ値の平均をとる方法でも良いし、ガウシアン平滑化など、他の一般的な平滑化処理でも良い。この平滑化後の値と平滑化前の値とを、平滑化制御パラメータ（格子距離比率）の値を用いて算出する合成比率に基づいて合成し、最終的な平滑化結果とする。前記合成比率は、例えば格子距離比率が１の場合は平滑化後の格子点出力値の割合を１００％とし、格子距離比率が１から離れるほど、平滑化前、つまり初期色変換ＬＵＴ（１１０８）の格子点出力値の割合を増やすような方法により算出する。
【００８０】
次に、ステップＳ１６０６で色変換ＬＵＴ（１１１１）に、ステップＳ１１６０５で得られる最終的な平滑化処理結果の値を格納する。
【００８１】
次に、ステップＳ１６０７で、初期色変換ＬＵＴ（１１０８）の全ての格子点に対して処理を適用したかを判定し、未処理の格子点がある場合はステップＳ１６０４の処理に戻る。全ての格子点に対して処理を行った場合は、色変換ＬＵＴ（１１１１）を出力して、処理を終了する。
【００８２】
以上の処理により、色域圧縮において色作りされた箇所の特性を保存した平滑化を行うことができる。
【００８３】
なお、本実施形態における平滑化処理の制御方法として、特開２００３−１７９７６４のように平滑化による変動許容量を設定する方法を利用し、変動許容量を格子距離比率に基づいて決めるようにしても良い。
【００８４】
以上記載のように、本実施形態により、複数の色処理を合成して作成した色変換テーブルにおいて第二の色処理の特性を考慮した平滑化処理を行う事が可能となる。
【００８５】
＜その他の実施形態＞
本発明は、複数の機器（例えばコンピュータ、インタフェース機器、リーダ、プリンタなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、複写機、ファクシミリ装置、制御装置など）に適用してもよい。
【００８６】
また、本発明の目的は、上記実施形態の機能を実現するコンピュータプログラムを記録した記録媒体をシステムまたは装置に供給し、そのシステムまたは装置のコンピュータ（ＣＰＵやＭＰＵ）が前記コンピュータプログラムを実行することでも達成される。この場合、記録媒体から読み出されたソフトウェア自体が上記実施形態の機能を実現することになり、そのコンピュータプログラムと、そのコンピュータプログラムを記憶する、コンピュータが読み取り可能な記録媒体は本発明を構成する。
【００８７】
また、前記コンピュータプログラムの実行により上記機能が実現されるだけではない。つまり、そのコンピュータプログラムの指示により、コンピュータ上で稼働するオペレーティングシステム（ＯＳ）および／または第一の、第二の、第三の、…プログラムなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００８８】
また、前記コンピュータプログラムがコンピュータに接続された機能拡張カードやユニットなどのデバイスのメモリに書き込まれていてもよい。つまり、そのコンピュータプログラムの指示により、第一の、第二の、第三の、…デバイスのＣＰＵなどが実際の処理の一部または全部を行い、それによって上記機能が実現される場合も含む。
【００８９】
本発明を前記記録媒体に適用する場合、その記録媒体には、先に説明したフローチャートに対応または関連するコンピュータプログラムが格納される。
【図面の簡単な説明】
【００９０】
【図１】本実施形態に係る画像処理装置の構成例を示すブロック図である。
【図２】本実施形態に係る色処理装置の機能構成例を示すブロック図である。
【図３】本実施形態に係る色変換ＬＵＴの例を示した図である。
【図４】本実施形態に係る色変換ＬＵＴの入力格子点を表した模式図である。
【図５】本実施形態に係る第一のＬＵＴの例を示した図である。
【図６】本実施形態に係る色処理装置の処理の流れを示すフローチャートである。
【図７】本実施形態に係る四面体を表した模式図である。
【図８】本実施形態に係る第一のＬＵＴの入力格子点からなる六面体を四面体に分割した図である。
【図９】図８の四面体にベクトルを割り当てた図である。
【図１０】本実施形態に係る平滑化制御パラメータを保持するテーブルを示した図である。
【図１１】本実施形態に係る色処理装置の機能構成例を示すブロック図である。
【図１２】本実施形態に係る色処理装置の処理の流れを示すフローチャートである。
【図１３】本実施形態に係る格子点間の平均距離の算出を説明するための図である。
【図１４】本実施形態に係る平滑化制御パラメータを保持するテーブルを示した図である。
【図１５】本実施形態に係る平滑化制御パラメータ生成処理及び平滑化処理の流れを示すフローチャートである。
【図１６】本実施形態に係る平滑化制御パラメータ生成処理及び平滑化処理の流れを示すフローチャートである。
【図１７】従来の方法における平滑化処理結果の一例を示した図である。
【図１８】本実施形態に係る平滑化処理結果の一例を示した図である。
【図１】
2009260473.tif 000005
【図２】
2009260473.tif 000006
【図３】
2009260473.tif 000007
【図４】
2009260473.tif 000008
【図５】
2009260473.tif 000009
【図６】
2009260473.tif 000010
【図７】
2009260473.tif 000011
【図８】
2009260473.tif 000012
【図９】
2009260473.tif 000013
【図１０】
2009260473.tif 000014
【図１１】
2009260473.tif 000015
【図１２】
2009260473.tif 000016
【図１３】
2009260473.tif 000017
【図１４】
2009260473.tif 000018
【図１５】
2009260473.tif 000019
【図１６】
2009260473.tif 000020
【図１７】
2009260473.tif 000021
【図１８】
2009260473.tif 000022