(57)【要約】      （修正有）【課題】画像形成装置で出力される画像の色再現性を維持し階調性を改善する。【解決手段】入力画像を画像形成装置の色域に合わせる色変換テーブルを生成する情報処理装置で、色変換テーブルの各格子点に定義される出力信号に含まれる複数の色成分で人間の視覚特性の感度が相対的に高い第１成分の信号に、色変換テーブルの第１成分の信号の格子点間の傾きを小さくなるよう補正する補正手段と、出力信号に含まれる複数の色成分で人間の視覚特性の感度が相対的に低い第２成分の信号と補正手段で補正した第１成分の信号とからなる出力信号に基づき、補正の結果を維持するか判定する判定手段と、判定手段で維持しないと判定された場合、補正を行った後の第１成分の信号に対し色域内に含まれるよう調整を行う調整手段と、補正手段による補正、判定手段による判定及び調整手段による調整を繰り返す制御手段とを備える。【選択図】図６
2019103093.tif 000002
【特許請求の範囲】
【請求項１】
入力画像を画像形成装置の色域に合わせるための色変換テーブルを生成する情報処理装置であって、
前記色変換テーブルの各格子点に定義されている出力信号値に含まれる複数の色成分のうち人間の視覚特性に対する感度が相対的に高い第１成分の信号値に対し、前記色変換テーブルにおける当該第１成分の信号値に関する格子点間の傾きの差が小さくなるように補正する補正手段と、
前記出力信号値に含まれる複数の色成分のうち人間の視覚特性に対する感度が相対的に低い第２成分の信号値と前記補正手段で補正を行った後の第１成分の信号値とからなる出力信号値に基づき、前記補正の結果を維持するか判定する判定手段と、
前記判定手段で維持しないと判定された場合、前記補正を行った後の第１成分の信号値に対し前記色域内に含まれるよう調整を行う調整手段と、
前記調整手段で調整を行った後の第１成分の信号値を新たな入力値として、前記補正手段による補正、前記判定手段による判定及び前記調整手段による調整を繰り返し実行する制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記判定手段は、前記第２成分の信号値と前記補正手段で補正を行った後の第１成分の信号値とで特定される出力信号値が前記色域に含まれないとき、前記補正を行った後の第１成分の信号値を維持しないと判定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記判定手段は、前記第２成分の信号値と前記補正手段で補正を行った後の第１成分の信号値とで特定される出力信号値が前記色域に含まれず、かつ、前記補正を行った後の第１成分の信号値がその補正を行う前よりも前記色域から遠ざかるときに、前記補正を行った後の第１成分の信号値を維持しないと判定することを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記判定手段は、所定の色に対応する前記第１成分の信号値に関する基準値に対し、前記補正手段で補正を行った後の第１成分の信号値がその補正を行う前よりも遠いときに、前記補正を行った後の第１成分の信号値を維持しないと判定することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記判定手段は、前記第２成分の信号値と前記補正手段で補正を行った後の第１成分の信号値とで特定される出力信号値が前記色域に含まれず、かつ、所定の色に対応する前記第１成分の信号値に関する基準値に対し、前記補正を行った後の第１成分の信号値がその補正を行う前よりも遠いときに、前記補正を行った後の第１成分の信号値を維持しないと判定することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記所定の色は、プライマリ色であり、
前記基準値は、各プライマリ色における前記第１成分の信号値である
ことを特徴とする請求項４又は５に記載の情報処理装置。
【請求項７】
前記制御手段は、前記補正、前記判定及び前記調整を、予め設定された所定回数繰り返すことを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
前記制御手段は、前記補正、前記判定及び前記調整の繰り返しの終了を、前記傾きの変化を検出する指標についての閾値処理の結果に基づき決定することを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項９】
前記調整手段における調整は、前記補正手段で補正を行った後の第１成分の信号値を、その補正を行う前の値に戻す処理であることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１０】
前記調整手段における調整は、前記補正手段で補正を行った後の第１成分の信号値を、その対応する格子点に関連付けて予め定められた値で置き換える処理であることを特徴とする請求項１乃至８のいずれか１項に記載の情報処理装置。
【請求項１１】
前記予め定められた値で置き換える処理は、
前記補正手段で補正を行った後の第１成分の信号値が予め定められた上限値を上回って色域外となっている場合は当該上限値で置き換え、
前記補正手段で補正を行った後の第１成分の信号値が予め定められた下限値を下回って色域外となっている場合は当該下限値で置き換える処理である
ことを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記制御手段は、前記繰り返しの実行において、最初のN回目（N＜所定回数）までは前記判定手段による判定及び前記調整手段による調整を行わないことを特徴とする請求項１乃至１１のいずれか１項に記載の情報処理装置。
【請求項１３】
前記入力信号値はＲＧＢの色空間で表されることを特徴とする、請求項１乃至１２のいずれか１項に記載の情報処理装置。
【請求項１４】
前記第２成分の信号値と前記繰り返しの結果としての前記第１成分の信号値とを用いて、前記色変換テーブルの出力信号値を書き換える書換手段をさらに備えたことを特徴とする請求項１乃至１３のいずれか１項に記載の情報処理装置。
【請求項１５】
前記書換手段による書き換えを行った後の色変換テーブル、又は、書き換えを行う前の色変換テーブルとの差分を表すデータを、前記画像形成装置へ送信する送信手段をさらに備えたことを特徴とする請求項１４に記載の情報処理装置。
【請求項１６】
前記第１成分の信号値は、輝度または明度を示す信号値であり、
前記第２成分の信号値は、色度を示す信号値である
ことを特徴とする請求項１乃至１５のいずれか１項に記載の情報処理装置。
【請求項１７】
入力画像を画像形成装置の色域に合わせるための色変換テーブルを生成する情報処理方法であって、
前記色変換テーブルの各格子点に定義されている出力信号値に含まれる複数の色成分のうち人間の視覚特性に対する感度が相対的に高い第１成分の信号値に対し、前記色変換テーブルにおける当該第１成分の信号値に関する格子点間の傾きの差が小さくなるように補正する補正ステップと、
前記出力信号値に含まれる複数の色成分のうち人間の視覚特性に対する感度が相対的に低い第２成分の信号値と前記補正ステップで補正を行った後の第１成分の信号値とからなる出力信号値に基づき、前記補正の結果を維持するか判定する判定ステップと、
前記判定ステップで維持しないと判定された場合、前記補正を行った後の第１成分の信号値に対し前記色域内に含まれるよう調整を行う調整ステップと、
前記調整ステップで調整を行った後の第１成分の信号値を新たな入力値として、前記補正ステップでの補正、前記判定ステップでの判定及び前記調整ステップでの調整を繰り返し実行するステップと、
を含むことを特徴とする情報処理方法。
【請求項１８】
コンピュータを、請求項１乃至１６のいずれか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像形成装置で使用される色変換パラメータを補正するための情報処理装置及び情報処理方法ならびにプログラムに関するものである。
【背景技術】
【０００２】
画像形成装置（プリンタ）の一種である電子写真装置では、典型的にシアン、マゼンタ、イエロー、ブラック（以下、C、M、Y、Kで示す）の各トナーを用いて画像を形成する。一方、ディスプレイで表示するための電子データの多くはレッド、グリーン、ブルー（以下、R、G、Bで示す）の色空間で画像を表現する。そのため、ディスプレイで表示される電子データを電子写真装置で出力する場合、RGBの色空間で表現されたデータ（RGBデータ）をCMYK色空間で表現されたデータ（CMYKデータ）に変換する必要がある。
【０００３】
画像形成装置に入力されるRGBデータをCMYKデータに変換する際には、3次元のLUT（Look Up Table、以下3D-LUT）が用いられる。この3D-LUTには一定の間隔で間引いたRGBの入力信号値に対応するCMYKの出力信号値が記載されている。
【０００４】
特許文献1には、出力物の色を目標値に合わせるためにRGBデータをデバイスの色域に依存したRGBデータに変換する3D-LUTと、デバイスの色域に依存したRGBデータをCMYKデータに変換する3D-LUTとを用いたシステムが提案されている。
【０００５】
ところで、3D-LUTでは入力信号値に対応する出力信号値を個々に定義しているため、隣接する（入力信号値が最も近い）各出力信号値間に不連続性が生じ、階調性が悪化する場合がある。例えば、入力画像が、グラデーションに代表される階調変化が滑らかな画像であるとき、出力画像上に疑似輪郭が発生することがある。これに対し特許文献２には、入力信号値に対する出力信号値を補正して階調性を改善する技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１３−１９８０７５号公報
【特許文献２】特開２０１１−６１３３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献２の技術を適用して階調性の改善を行うと、補正後の出力信号値（出力色）が画像形成装置で表現可能な色域の外に出てしまうことがある。このような場合、補正によって色域の外に出てしまった色を色域内の最も近い位置の色へ置き換えるガマットマッピングが一般的に行われる。しかし、ガマットマッピングを行うことによって、補正した出力色の階調性が再び悪化してしまったり、補正前後で出力色の色味が変わってしまったりすることがあった。
【課題を解決するための手段】
【０００８】
本発明に係る情報処理装置は、入力画像を画像形成装置の色域に合わせるための色変換テーブルを生成する情報処理装置であって、前記色変換テーブルの各格子点に定義されている出力信号値に含まれる複数の色成分のうち人間の視覚特性に対する感度が相対的に高い第１成分の信号値に対し、前記色変換テーブルにおける当該第１成分の信号値に関する格子点間の傾きの差が小さくなるように補正する補正手段と、前記出力信号値に含まれる複数の色成分のうち人間の視覚特性に対する感度が相対的に低い第２成分の信号値と前記補正手段で補正を行った後の第１成分の信号値とからなる出力信号値に基づき、前記補正の結果を維持するか判定する判定手段と、前記判定手段で維持しないと判定された場合、前記補正を行った後の第１成分の信号値に対し前記色域内に含まれるよう調整を行う調整手段と、前記調整手段で調整を行った後の第１成分の信号値を新たな入力値として、前記補正手段による補正、前記判定手段による判定及び前記調整手段による調整を繰り返し実行する制御手段と、を備えることを特徴とする。
【発明の効果】
【０００９】
本発明によれば、画像形成装置で出力される画像における色再現性を維持しつつ階調性を改善することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】システム構成の一例を示す図
【図２】印刷用画像処理の流れを示すフローチャート
【図３】（ａ）はRGB入力信号値をプリンタ依存のRGB出力信号値に変換する3D-LUTの一例を示す図、（ｂ）はRGB入力信号値をCMYK出力信号値に変換する3D-LUTの一例を示す図
【図４】3D-LUTにおける入力信号値と出力信号値との関係を模式的に表す図
【図５】（ａ）はバランスが崩れていない3D-LUTを用いて色変換した場合の印刷画像の一例を示す図、（ｂ）はバランスが崩れた3D-LUTを用いて色変換した場合の印刷画像の一例を示す図
【図６】色変換用3D-LUT修正処理の全体の流れを示すフローチャート
【図７】（ａ）はRGBをLabに変換する3D-LUTの一例を示す図、（ｂ）は（ａ）から分離された明度LUTを示す図、（ｃ）は（ａ）から分離された色度LUTを示す図
【図８】実施形態１に係る、階調不連続性の判定処理の詳細を示すフローチャート
【図９】2階差分の説明図
【図１０】実施形態１に係る、階調不連続性の補正処理の詳細を示すフローチャート
【図１１】（ａ）は注目格子点のL値とその隣接格子点のL値をプロットした一例を示す図、（ｂ）は補正処理の結果の一例を示す図、（ｃ）は（ｂ）にガマットマッピングを行った結果を示す図、（ｄ）は調整処理を行った結果を示す図、（ｅ）は補正処理の結果の別の一例を示す図、（ｆ）は注目格子点のL値とその隣接格子点のL値をプロットした他の一例を示す図
【図１２】ガマットマッピングによって階調性が悪化した例を示す図
【図１３】実施形態２に係る、階調不連続性の補正処理の詳細を示すフローチャート
【図１４】調整要否判定処理の考え方を説明する図
【図１５】調整要否判定処理の詳細を示すフローチャート
【図１６】実施形態３に係る、階調不連続性の補正処理の詳細を示すフローチャート
【図１７】明度リミット値設定処理の詳細を示すフローチャート
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について図面を用いて説明する。なお、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【実施形態１】
【００１２】
本実施形態では、色変換用の3D-LUTにおける出力値を明度成分と色度成分とに分離し、入力値と明度成分との関係を定義する3D-LUT、入力値と色度成分との関係を定義する3D-LUTをそれぞれ作成する。そして、明度成分に関する3D-LUTのみを補正することで、色変換後の画像において色再現性を保ったまま階調性を改善させる。以下、詳しく説明する。
【００１３】
（システム構成図）
図１は、本実施形態におけるシステム構成の一例を示す図である。画像形成装置としてのMFP（Multi-Function Printer）１０１は、ネットワーク１１８を介して、情報処理装置としてのPC１２０やPC１３０と接続されている。
【００１４】
MFP１０１について詳細に説明する。ネットワークI/F１１７は印刷データ等の受信を行う。コントローラ１０２は、CPU１０３やレンダラ１０５、画像処理部１０６で構成される。CPU１０３のインタプリタ１０４は、受信した印刷データのPDL（ページ記述言語）部分を解釈し、中間言語データを生成する。生成された中間言語データはレンダラ１０５に渡される。
【００１５】
レンダラ１０５は、中間言語データから、ラスタ形式の画像データを生成する。画像処理部１０６は、レンダラ１０５で生成されたラスタ画像やスキャナ１１１で読み込んだスキャン画像に対して、プリンタ部１１４での印刷処理に必要な所定の画像処理を行なって、印刷用画像データを生成する。画像処理部１０６の詳細については後述する。
【００１６】
プリンタ１１４は、C、M、Y、Kの４種類のトナーを用いて、紙等の記録媒体上に画像を形成する。プリンタ１１４は、不図示のプリントエンジンに所定の用紙を供給する給紙部１１５と画像形成がなされた用紙を排出する排紙部１１６を持つ。
【００１７】
表示装置１１０は、MFP１０１の状態表示等を行うUI（ユーザインタフェース）である。スキャナ１１１は、束上の原稿を自動で読み取るためのADF（Auto Document Feeder）を含み、原稿を一枚ずつ光学的に読み取ってラスタ形式の画像（以下、「スキャン画像」と呼ぶ）を生成する。具体的には、原稿を光源で照射してその反射像をレンズでCCD（Charge Coupled Device）センサ等の撮像素子上に結像することで、ラスタ状の画像読み取り信号を得る。入力装置１１２は、ユーザからの各種指示を受け付けるためのインタフェースである。入力装置１１２をタッチパネルで構成し、表示装置１１０と一体化していてもよい。記憶装置１１３は、コントローラ１０２が受け取った或いは処理した各種データやアプリケーションプログラム等を保存するための、例えばHDDやSSDといった大容量記憶媒体である。
【００１８】
情報処理装置としてのPC１２０は、MFP１０１の画像処理部１０６において使用される3D-LUTの作成や修正を行う色変換用LUT生成部１２１を有する。色変換用LUT生成部１２１の詳細については後述する。PC１３０は、プリンタドライバ１３１を有し、印刷対象文書の印刷データを生成してMFP１０１へ送信する。
【００１９】
（画像処理部１０６の詳細）
次に、画像処理部１０６において実行される、プリンタ部１１４での印刷処理に適した画像を生成するための画像処理について説明する。図２は、画像処理部１０６において実行される印刷用画像処理の流れを示すフローチャートである。以下に示す一連の処理は、画像処理部１０６内にある不図示のASIC（Application Specific Integrated Circuit）が所定のプログラムを実行することにより実現される。
【００２０】
ステップ２０１では、RGB色空間で表現された入力画像が、スキャナ１１１で読み取ったスキャン画像かレンダラ１０５で生成されたラスタ画像かが判定される。ラスタ画像であると判定された場合はsRGB画像として扱い、ステップ２０２に進む。続くステップ２０２では、sRGBをRGBに変換する3D-LUT２１０を用いて、入力されたsRGB画像を、プリンタ１１４の色再現性に依存したRGB画像に変換する。ここで、本実施形態で用いる３次元の色変換テーブルについて確認しておく。図３（ａ）は、RGB入力信号値を、プリンタ１１４に依存したRGB出力信号値に変換するための3D-LUTの一例を示している。また図３（ｂ）は、RGB入力信号値を、印刷処理で用いられる各トナーに対応するCMYK出力信号値に変換するための3D-LUTの一例を示している。このように、3D-LUTには、3次元（3種類）の入力信号値に対して出力信号値が定義されている。図４は、図３（ａ）の3D-LUTにおける入力信号値と出力信号値との関係を模式的に表す図である。図４に示す立方体はR、G、Bの3次元の軸で構成されており、入力信号値をある一定の間隔で示す線が引かれている。線が交差する点は格子点と呼ばれ、各格子点が示す値は3D-LUTにおけるRGBの入力信号値であり、格子点毎に対応する出力信号値が定義されている。図４において、格子点４０１はブラック〔（R,G,B）＝（0,0,0）〕を示し、その対角にある格子点４０２はホワイト〔（R,G,B）＝（255,255,255）〕を示している。3D-LUTの格子点数は要求される色精度や使用可能なメモリ容量に応じて設定され、図３（ａ）や（ｂ）に示す信号値を8ビットで表す3D-LUTの場合はRGBの各軸に16個の格子点となる。つまり、これら３D-LUTでは、全ての入力信号値の組み合わせに対する出力信号値の組み合わせが記述されず、0〜255までのRGBの入力信号値（RGBデータ）が17刻みで間引いて記述される。そして、記述されない部分については、その周囲にある複数の記述された信号値を用いた補間処理によって出力信号値を算出することとしている。これら色変換に用いる3D-LUTは、予めMFP１０１の記憶装置１１３に保存されている。
【００２１】
ステップ２０１でスキャン画像であると判定された場合は、スキャナ１１１の色再現性に依存したスキャンRGB画像として扱い、ステップ２０３及びステップ２０４へ進む。ステップ２０３では、スキャンRGBをRGBに変換する3D-LUT２２０を用いて、入力されたスキャンRGB画像を、プリンタ１１４の色再現性に依存したRGB画像に変換する色変換処理が実行される。3D-LUT２２０は前述の3D-LUT２１０と同様のLUTであるので、詳細な説明は省く。また、ステップ２０３と並行してステップ２０４にて、スキャンRGB画像に対して文字判定処理が実行される。文字判定処理は、画像内に存在するオブジェクトのエッジ等を検出して、当該画像を構成する各画素が文字を構成する画素であるかどうかを判定して、文字判定データを生成する処理である。次にステップ２０５にて、ステップ２０３で得られた色変換後のRGB画像に対して、ステップ２０４で得られた文字判定データを用いたフィルタ処理が実行される。このフィルタ処理では、画像内の文字領域とそれ以外の領域とに対して、それぞれの領域に適した内容の異なるフィルタが適用される。そして、ステップ２０６にて、下地飛ばし処理（Under Cover Removal：UCR）が実行される。これにより、フィルタ処理後のRGB画像から下地色成分が除去される。
【００２２】
次に、ステップ２０７にて、RGBをCMYKに変換する3D-LUT２３０を用いて、ステップ２０２で得られた色変換後のRGB画像又はステップ２０６で得られた下地飛ばし処理後のRGB画像をCMYK画像に変換する色分版処理が実行される。図３（ｂ）に、色分版処理で用いる3D-LUT２３０の一例を示す。3D-LUT２３０も、前述の3D-LUT２１０及び２２０と同様の構造を有しており、RGBの入力信号値に対してCMYKの出力信号値が定義されている。そして、ステップ２０８にて、CMYKそれぞれの色に対応する1次元のLUT（1D-LUT）を用いて、CMYKの各色における階調特性の補正処理が実行される。最後にステップ２０９にて、ディザ処理や誤差拡散処理といったハーフトーン処理が実行されて、網点で表現された例えば2値のCMYK画像が生成される。
【００２３】
以上が、画像処理部１０６が実行する印刷用画像処理の内容である。
【００２４】
（本発明の課題について）
ここで、本発明の課題を確認しておく。上述したように色変換に用いる3D-LUTでは、1つ1つの格子点に対して独立した出力信号値が定義されている。よって、隣接する格子点（注目格子点と同軸上にあり、注目格子点に対応する入力信号値と一番近い入力信号値を持つ格子点）に定義された出力信号値間でそのバランスが崩れることがある。このようにバランスが崩れた3D-LUTを用いて、例えばグラデーションのような階調が滑らかに変化する入力画像に対し色変換処理を行うと、その出力画像において疑似輪郭が発生することがある。図５（ａ）は出力信号値のバランスが崩れていない3D-LUTを用いて色変換した場合の印刷画像、同（ｂ）は出力信号値のバランスが崩れた3D-LUTを用いて色変換した場合の印刷画像をそれぞれ示している。図５（ａ）では階調が滑らかに変化してグラデーションが適切に表現されているのに対し、図５（ｂ）では階調が滑らかに変化しておらず疑似輪郭５０１が発生しているのが分かる。疑似輪郭は、本来は階調が滑らかに変化すべき箇所において、色／濃度等の変化が急激な場合に生じる現象である。本発明では、3D-LUTで定義される明度成分の出力信号値について事前に階調不連続性を判定し、判定結果に応じて明度成分の出力信号値を補正することで疑似輪郭の発生を抑制した3D-LUTを作成する。
【００２５】
（色変換用LUT生成部１２１の詳細）
続いて、PC１２０の色変換用LUT生成部１２１における、色変換用LUTの修正処理について詳しく説明する。図６は、色変換用LUT生成部１２１において実行される色変換用3D-LUT修正処理の全体の流れを示すフローチャートである。以下に示す一連の処理は、例えば、MFP１０１から出力された印刷物に疑似輪郭を発見したユーザによる3D-LUTの修正指示に応答して、PC１２０内の不図示のCPUが、所定のプログラムを実行することにより実現される。修正後の3D-LUT（或いは、修正前の3D-LUTとの差分データ）は、PC１２０が備える不図示のRAMやHDDに一旦保存された後、MFP１０１に送られる。MFP１０１は、受け取った修正後の3D-LUT（或いは差分データを用いて修正した３D-LUT）を記憶装置１１３に保存する。そして、画像処理部１０６が必要に応じて記憶装置１１３から修正がなされた3D-LUTを読み出して、上述の色変換処理（ステップ２０２及び２０３）や色分版処理（ステップ２０７）の際に利用することになる。以下、図６のフローに沿って詳しく説明する。
【００２６】
まず、ステップ６０１にて、修正対象となる3D-LUT（ここでは、sRGBをRGBに変換する3D-LUT２１０）が、例えばMFP１０１の記憶装置１１３からネットワーク１１８を介して読み込まれる。続くステップ６０２では、RGBをLabに変換する3D-LUT６１０を用いて、ステップ６０１で読み込んだ3D-LUT２１０におけるRGBの出力信号値を入力値として、Labの信号値に変換する処理が実行される。図７（ａ）に、RGBをLabに変換する3D-LUT６１０の一例を示す。なお、Labとは、明度を表すL軸、色度を表すa軸とb軸の3つの要素で構成される、CIE（国際照明委員会）が定めたL*a*b*色空間を意味する。
【００２７】
次に、ステップ６０３にて、3D-LUT２１０と3D-LUT６１０とに基づき、sRGBを明度に変換する3D-LUT（以下、明度LUT）６１１と、sRGBを色度abに変換する3D-LUT（以下、色度LUT）６１２が作成される。この明度LUT６１１及び色度LUT６１２の作成は、3D-LUT６１０の出力値であるLab値を、明度成分を表すL値と色度成分を表すab値とに分離することと同義である。例えば、図７（ａ）に示すRGBをLabに変換する3D-LUTからは、図７（ｂ）に示す明度LUTと、図７（ｃ）に示す色度LUTとが作成されることになる。こうして作成された明度LUTと色度LUTは、PC１２０内のRAMやHDD（不図示）に一時保存される。
【００２８】
次に、ステップ６０４にて、明度LUT６１１において階調不連続性が生じているか否かの判定処理が実行される。明度LUT６１１に階調不連続性が生じていると、色変換後の画像上に「疑似輪郭」が現れる可能性が高まることから、階調の不連続性の有無をここで判定することとしている。階調不連続性判定処理の詳細については後述する。この判定処理の結果は、PC１２０内のRAM等に保存される。続くステップ６０５では、ステップ６０４での判定結果に従い、処理の切り分けがなされる。具体的には、明度LUT内の格子点について階調不連続性が生じているとの判定結果で出ていれば、補正処理を行うべくステップ６０６に進む。一方、階調不連続性が生じていないとの判定結果であれば、調整対象の3D-LUT２１０には問題が無いと判定して本処理を終了する。
【００２９】
ステップ６０６では、ステップ６０３で作成された明度LUT６１１に対して、階調不連続性を是正する補正処理が実行される。ここで、明度LUT６１１のみを対象に補正処理を行う理由（色度LUT６１２を補正しない理由）についてここで説明しておく。一般に人間の視覚特性に関しては、色に含まれる成分のうち輝度／明度成分は高周波成分のコントラスト感度が高く、色度成分は低周波成分のコントラスト感度が高いことが知られている。そして、コントラスト感度が高いほど、人間は目視で色／濃度などの変化を判別しやすい。つまり、画像内の高周波成分は、輝度／明度成分との相関が高く、輝度／明度成分が変化すると、画像内の高周波成分の変化量は低周波成分の変化量よりも大きくなると言える。また、画像内の低周波成分は、色度成分との相関が高く、色成分が変化すると、画像内の低周波成分の変化量は高周波成分の変化量よりも大きくなると言える。前述のとおり疑似輪郭は、出力された画像中に本来は存在しないはずの不適切な線が見える現象である。また、線はエッジとして抽出可能で一般的には高周波成分に属するとされる。そのため、明度Lと色度abのうち、高周波成分のコントラスト感度が相対的に高い明度Lを補正すれば、不適切な線として現れる疑似輪郭の発生を抑えることができる。加えて、高周波成分のコントラスト感度が相対的に低く疑似輪郭発生に対する影響が少ない色度abを明度Lと同様に補正した場合には、色再現性が変わってしまうという弊害が生じる可能性がある。したがって、疑似輪郭の発生の抑制に寄与せず、むしろ色再現性を悪化させてしまう可能性がある色度abについては補正しないこととしている。本発明では、色度abを元の3D-LUTに定義される値のまま維持することで、補正により明度Lが変化するにもかかわらず、人間の視覚に対する色再現の印象を元のまま保つことが可能となる訳である。なお、補正後の明度LUT６１１_corrも、PC１２０内のRAMやHDD（不図示）に一時保存される。明度LUTの階調不連続性補正処理の詳細については後述する。
【００３０】
次に、ステップ６０７にて、ステップ６０６で得た補正後の明度LUT６１１_corrとステップ６０３で作成した色度LUT６１２とから得られるLab値を、RGB値に変換する処理（3D-LUTの書換処理）が実行される。具体的には、明度LUT６１１_corrと色度LUT６１２によるLab値と、3D-LUT６１０の出力側Lab値とを順次比較していき、双方の値が最も近くなるときのLab値に対応するRGB値を、3D-LUT２１０における新たな出力側RGB値とする。こうして、sRGBをRGBに変換するための新たな3D-LUT、すなわち、出力側RGB値が書き換えられた3D-LUT２１０_modが生成される。そして、ステップ６０８にて、ステップ６０７で得られた新たな3D-LUT２１０_mod（或いは、修正前の3D-LUT２１０との差分データ）は、PC１２０内のRAMやHDD（不図示）に保存されるか或いはMFP１０１に送られる。
【００３１】
以上が、色変換用3D-LUTの修正処理の概要である。
【００３２】
（階調不連続性の判定処理の詳細）
続いて、階調不連続性の判定処理（ステップ６０４）について詳しく説明する。図８は、本実施形態に係る、階調不連続性の判定処理の詳細を示すフローチャートである。
【００３３】
まず、ステップ８０１にて、補正対象となる明度LUT６１１が読み込まれる。続くステップ８０２では、読み込んだ明度LUT６１１の中から処理対象として注目する格子点とそれに隣り合う隣接格子点（注目格子点と同軸上にあり、注目格子点に対応する入力値と一番近い入力値を有する格子点）が決定される。そして、ステップ８０３では、当該決定された注目格子点と隣接格子点についての明度Lのデータ、すなわち、注目格子点のRGB値に定義されたL値と、その隣接格子点のRGB値に定義されたL値とが取得される。
【００３４】
次に、ステップ８０４にて、注目格子点におけるL値と隣接格子点におけるL値とを用いて、2階差分値が算出される。ここで、図９を参照して2階差分について説明する。図９（ａ）は、前述の図４における破線で囲まれた範囲４１０にある3つの格子点４１１〜４１３のRGB値を抽出してL値に変換したものを、2次元平面（縦軸がL値、横軸が右へ行くほど彩度Ｃが高い色度平面を示す）上にプロットした図である。点９０１は格子点４１１のL値を示しており、これをL0と定義する。同様に格子点４１２に対応する点９０２のL値をL1と定義し、格子点４１３に対応する点９０３のL値をL2と定義する。この場合において注目格子点を格子点４１２としたときの2階差分Difは、以下の式（１）で表される。
Dif = (L2-L1)-(L1-L0)    ・・・式（１）
【００３５】
そして、図９（ａ）において、右下がりの破線矢印９０４は「L1-L0」に相当する点間の傾きを表し、右上がりの破線の矢印９０５は「L2-L1」に相当する点間の傾きを表す。この場合の傾き９０４と傾き９０５との差、すなわち、傾きの変化を示すものが2階差分値である。図９（ａ）のように傾き９０４と傾き９０５との間に大きな差があると2階差分値も大きくなる。このような場合、その対応する格子点により定義される明度において急峻な変化があることになる。また、前述したように明度は高周波成分の感度が高い。よって、2階差分値が大きい場合は、出力した画像に疑似輪郭が発生する可能性が高いと判断できる。このように明度LUTにおける互いに隣接する格子点間の傾きに大きな差があり急峻な変化がある状態を「階調不連続性がある」と定義している。図９（ｂ）は、「階調不連続性がない」状態を説明する図である。このように傾き９０６と傾き９０７との間に差が無い場合、2階差分値は最小になり、疑似輪郭が発生する可能性も低い。図８のフローの説明に戻る。
【００３６】
次に、ステップ８０５にて、ステップ８０４で算出した2階差分値が、予め用意した所定の閾値よりも小さいかどうかの比較処理が実行される。比較の結果、2階差分値が閾値より小さい場合はステップ８０６に進み、閾値以上の場合はステップ８０７に進む。そして、ステップ８０６では、注目格子点について階調不連続性が生じていないと決定され、そのときの2階差分値と決定結果とが当該注目格子点と対応付けられてRAM等に保存される。また、ステップ８０７では、注目格子点について階調不連続性が生じていると決定され、そのときの2階差分値と決定結果とが当該注目格子点と対応付けられてRAM等に保存される。
【００３７】
最後に、ステップ８０８にて、明度LUT６１１内の全ての格子点において定義されているL値が処理されたか否かが判定される。未処理の格子点があればステップ８０２に戻って、次の注目格子点とその隣接格子点を決定して処理を続行する。一方、全ての格子点について処理が完了していた場合、すなわち、全格子点についての2階差分値と階調不連続性の有無の判定結果のデータが取得・保存された場合は、本処理を抜ける（前述の図６のフローのステップ６０４へと移行する）。
【００３８】
以上が、階調不連続性の判定処理の内容である。
【００３９】
（階調不連続性の補正処理）
続いて、階調不連続性の補正処理（ステップ６０６）について詳しく説明する。図１０は、本実施形態に係る、階調不連続性の補正処理の詳細を示すフローチャートである。
まず、ステップ１００１にて、補正処理の対象となる明度LUT６１１が読み込まれる。続くステップ１００２では、前述の階調不連続性判定処理で得られたデータのうち、明度LUT６１１の全格子点についての2階差分値のデータがRAM等から取得される。
【００４０】
次に、ステップ１００３にて、ステップ１００１で読み込んだ明度LUT６１１に含まれる各格子点で定義されているL値を、ステップ１００２で取得した2階差分値データを用いて補正する処理（一次補正処理）が実行される。ここで行われる補正の内容は以下の式（２）で表される。  
L’(R,G,B)= L(R,G,B)-α*grad(R,G,B)        ・・・式（２）
上記式（２）において、L’(R,G,B)は補正後の明度、L(R,G,B)は補正前の明度を示す。また、grad(R,G,B)は2階差分を示し、αは2階差分を増減させるための係数であって、0＜α＜1の範囲で設定される。上記式（２）を用いた補正は最適化手法の1つであり、処理を繰り返すことでgrad(R,G,B)の値が小さくなる。これにより階調性を改善し、出力画像にて疑似輪郭が発生することを抑制する。なお、本実施形態では2階差分値を用いているが、明度の傾きの変化を検出できる指標であればよく例えば2次微分フィルタなどであってもよい。一次補正処理によって得られた格子点毎のL’(R,G,B)のデータは、一次補正後明度LUT６１１’としてRAM等に保存される。
【００４１】
次に、ステップ１００４にて、一次補正処理で得た明度L’(R,G,B)に対し更なる調整（＝二次補正）が必要か否かを判断するための色域判定処理が実行される。この色域判定処理では、一次補正後明度LUT６１１’を適用した場合における各格子点の出力色が、画像形成装置の色域内であるか否かを、予め用意した画像形成装置の色域を表すデータ（色域データ）１０１０を参照してチェックする。より具体的には、上記式（２）で得られた一次補正後の明度L’と色度 LUT６１２における色度abとからなる (L’,a,b)値で特定される出力信号値（＝色）が、色域データ１０１０で特定される色域の範囲内に収まっているかを格子点毎に判定する。色域データ１０１０には、例えばデバイス依存のRGBをLabに変換する3D-LUT６１０を用いることができる。この場合、3D-LUT６１０の単位立方体（８つの格子点を結んで得られる最小の立方体）におけるいずれか４つの格子点に(L’,a,b)値が囲まれるとき、その(L’,a,b)値で特定される色は色域内に含まれると判断できる。こうして得られた格子点毎の色域判定の結果はRAM等に保存される。
【００４２】
次に、ステップ１００５にて、一次補正処理後の明度L’に対する調整処理（二次補正処理）が、色域判定結果に基づき実行される。この調整処理では、上述の色域判定処理において色域外であると判定された明度L’が、一次補正処理を行う前の明度Lに戻される。このような処理を、色域判定結果を参照しつつ全ての格子点に対して行う。調整処理は全ての格子点を対象に行われるが、実際にL値が変わるのは、色域外にあると判定された格子点に対応するL値のみである。調整処理によって得られた格子点毎のL値のデータは、調整後（二次補正後）明度LUT６１１”としてRAM等に保存される。
【００４３】
次に、ステップ１００６にて、上述の一次補正処理（並びにそれに続く色域判定処理及び調整処理）が所定回数行われたか否かが判定される。所定回数は、ユーザが任意の回数を設定してもよいし、予めデフォルト値（例えば50回）を設定しておいてもよい。一次補正処理の実行回数が所定回数に達していない場合はステップ１００７に進み、調整後明度LUT６１１”が読み込まれる。そして、ステップ１００８にて全ての格子点についての2階差分値の算出を行って、ステップ１００３以降の処理を繰り返す。格子点毎の2階差分値の算出方法は、前述の図８のフローにおけるステップ８０２〜ステップ８０４で説明したとおりである。一方、一次補正処理の実行回数が所定回数に達している場合は、本処理を抜ける（前述の図６のフローのステップ６０７へと移行する）。なお、本実施形態では所定回数に到達したかどうかで繰り返し処理の終了を制御しているが、閾値処理に基づいて終了を制御してもよい。例えば2階差分値についての閾値を設定し、2階差分値が閾値以下になった時点（十分に小さくなった時点）で繰り返し処理を終了させるといった具合である。
【００４４】
以上が、本実施形態に係る、階調不連続性の補正処理の内容である。このような処理によって最終的に得られた調整後明度LUT６１１”が、前述の補正後の明度LUT６１１_corrとなる。
【００４５】
ここで、本実施形態において、補正処理後に色域判定処理を行ない、色域判定結果に基づき調整処理（二次補正処理）を行う、という一連の処理を繰り返し実行する意味について説明する。補正処理では、明度Lを変更することによって、当該変更後のL値に対応する色（Lab値）が画像形成装置の色域を出てしまうことがあり得る。この例を図で示す。図１１（ａ）は、色域表面付近のある注目格子点におけるL値と、当該注目格子点に隣り合う隣接格子点におけるL値とを、前述の図９と同じ2次元平面上にプロットした図である。ただし簡単のため、隣接格子点を１次元に省略している。いま、斜線で示す領域が色域内を表し、各格子点に対応するL値を示す点１１０１〜１１０３はいずれも色域内に存在している。なお、典型的に画像形成装置のLab色空間の色域は、0≦R, G, B≦255（８ビットの場合）と平面に囲まれるRGB色空間の定義域とは異なり、やや複雑な形状をしている。そして、補正前の注目格子点におけるL値を示す点１１０１の位置は、補正後には、点１１０４が示す位置に向かって上方向に移動することになる。なぜならば、2階差分値が十分に小（≒0）となるのは図１１（ａ）において点線１１００で示すような直線を成す関係であり、上記式（２）は、注目格子点における明度を、その隣接格子点における明度の平均値（＝点１１０４）に近づけるように作用するためである。その結果、補正前には色域内に存在していた注目格子点の明度Lは、図１１（ｂ）の点１１０１’で示すように、補正によって色域外に出ることになる。
【００４６】
色域外の色は画像形成装置で実際に再現できないので、補正後の結果をそのままにはできない。このような場合、一般的に、色域外の色を色域内の色へ置き換えるガマットマッピングが行われる。図１１（ｂ）の場合、ガマットマッピングによって補正後の明度Lは、図１１（ｃ）の点１１０１”で示すように、色域内で最も近い位置へマッピングされることになる。しかし、ガマットマッピングは各点の置き換え先を個々に決定するため、補正によって改善した階調性が再び悪化してしまうことがある。図１２に、ガマットマッピングによって階調性が悪化した例を示す。図１２は、ある3D-LUTに対して補正処理を繰り返し行ったときの階調性変化の様子を示すグラフである。図１２のグラフにおいて、縦軸は階調性の評価値（2階差分値）、横軸は補正処理の回数を表し、補正処理毎の2階差分値がプロットされている。また、直線１２００は階調性評価の許容ラインを示している。そして、点１２０１は、補正処理を４９回繰り返した後のガマットマッピングの結果をプロットしたものである。図１２のグラフによれば、階調性は補正処理の繰り返しによって許容ラインを下回り徐々に改善して収束していくが、最後のガマットマッピングによって許容ラインよりも悪化しているのが確認できる。また、図１１（ｃ）に示すように元の点１１０１から点１１０１”へと移動することにより、色味の変化を招くこともある。
【００４７】
これに対し、本実施形態では、補正処理を繰り返し行う過程において、色域外であると判定された場合は、1回前の補正値に戻す調整処理（二次補正処理）を行なうこととしている。図１１（ｂ）に示すように一次補正処理によって色域外の点１１０１’へ移動した明度Lは、図１１（ｄ）に示すように、調整処理によって色域内の元の点１１０１へと戻される。このように、1回前の補正結果に戻すことによって、色域内に留めつつ色味の変化を生じさせない補正処理を実現している。そして、ガマットマッピングによる色の置き換えを行わないことからそれによる階調性悪化が生じることもない。つまり、最終的に得られる3D-LUTにおいては、許容ラインを下回る良好な階調性評価値が得られる。また、階調性変化の途中経過と最終結果とが連続性を持つので、どの程度の補正をどの程度繰り返すのが良いのかの見通しもつけやすくなる。また、上述の例では、点１１０１に対応する点を注目格子点としてその動きを考えたが、実際には点１１０２や点１１０３に対応する格子点も、それらの隣接格子点から影響を受けてその明度が変化する。そうすると、あるときは図１１（ａ）のように点１１０１を上方向に補正するのが好ましいと判断される一方で、補正処理が繰り返し進む過程で、別のときには点１１０１を下方向（色域のより内側）に動かすのが好ましいと判断されることがあり得る。例えば図１１（ｅ）に示すように、点１１０２と点１１０３がそれぞれ点１１０２’と点１１０３’の位置へ移動するようなケースである。このような場合に本手法は、例えば各格子点に対応する明度を色域内のある値に固定するなどの方法に比べ、繰り返し各回で状況に応じた適切な補正を与えることができる。また、繰り返し型の処理によって得られる最終結果値は、初期値を出発点とした各補正結果値の蓄積と見做すことができる。補正回数が進んだ場合にその１回前の補正結果に戻すことは、それまでの補正の蓄積のかなりの部分は残ることになり、より適切な解が得られやすいというメリットもある。
【００４８】
以上のとおり、繰り返し処理の各回において、色域外となった明度値を直近の補正後明度値に戻す調整処理を行うことによって、より柔軟に好ましい解を探すことができる。すなわち、最後にガマットマッピングを行う従来手法とは異なり、毎回、その直前になされた調整後の明度に対し補正を行うので、直近の補正における調整結果を考慮に入れた階調改善結果が得られる。
【００４９】
（変形例）
本実施形態では、色成分のうち明度に対して補正を行ったが、これに限定されない。例えば輝度など高周波成分にコントラスト感度の高い色成分であれば同様に適用することができる。
【００５０】
また、本実施形態では、階調不連続性補正処理（ステップ６０６）に先立って階調不連続性が生じているか否かを判定し（ステップ６０４）、生じている場合にだけ補正処理を行うようにしていたが、この判定処理を省略して補正処理を実行してもよい。階調の不連続性が生じていない場合にステップ６０６の補正処理を行っても、補正前後で3D-LUTが同じ又はほとんど変わらないというだけで問題は生じない。
【００５１】
また、本実施形態では、階調連続性補正処理において、一次補正処理の後に色域判定処理と調整（二次補正）処理を行った。しかしながら、これら色域判定や調整処理を行わない方が、補正処理の繰り返しの途中経過においては階調性評価がやや早く良好となることが経験上分かっている。これを利用して、補正処理を所定回数繰り返す過程において、最初のN回目（Nは所定回数未満の任意の値、例えば5〜10）までは色域判定処理と調整処理を行わないようにしてもよい。これによって大局的に好ましい解の概形をより早く得ることができる。
【００５２】
また、本実施形態では、sRGBをRGBに変換する3D-LUT２１０を例に説明を行ったが、これに限定されない。例えば、スキャンRGBをRGBに変換する3D-LUT２２０や、RGBをCMYKに変換する3D-LUT２３０についても同様に適用可能である。さらには、入力値がLabの3D-LUTであってもよく、この場合は例えばRGBからLabへ変換する処理（ステップ６０２）を省略したりすることが可能である。
【００５３】
以上のとおり本実施形態によれば、3D-LUTの各格子点で定義される出力値のうち高周波成分にコントラスト感度の高い色成分を対象として画像形成装置の色域内に収めるように補正処理と調整処理を繰り返し行なう。これにより、ガマットマッピングを行う場合に起こり得る階調性悪化と色味の変化を回避し、より良好な階調性改善を行うことができる。
【実施形態２】
【００５４】
実施形態１では、明度LUTの補正処理を繰り返し行う際に、補正後の明度値が画像形成装置の色域に収まるかどうかの色域判定を行い、色域外であった場合に、直近の補正後の明度値に戻す調整を行なっていた。次に、色域判定において、明度値の補正によってその色（Lab値）が色域に近づいているのかどうかの条件を加えて調整の要否を判定する態様を、実施形態２として説明する。なお、システム構成など実施形態１と共通する内容については説明を省略し、以下では差異点を中心に説明を行うものとする。
【００５５】
今、色域表面付近の3つの格子点に対応するL値の点１１１１〜１１１３が、図１１（ｆ）に示すような位置関係にあるとする。なお、点１１１１が注目格子点に対応しているものとする。図１１（ａ）との主たる違いは、注目格子点に対応する補正前のL値の点１１１１が色域外にあることである。このような状況は、入力信号値がLab値である場合や、階調不連続性補正処理における繰り返しの初期段階で色域判定と調整を省略した場合、さらには、RGBからLabへの変換時（図６のフローのステップ６０２）における計算誤差などによって生じ得る。このような場合に実施形態１の手法では、色域内に収まるように補正できないことがある。その理由は以下のとおりである。
【００５６】
まず、繰り返し処理においては、補正結果が振動するのを抑制するため、前述の式（２）における係数αについて｜α｜≪１にし、補正の刻み幅を小さくとることが多い。そのとき、図１１（ｆ）の場合、点１１１１の明度は、次回の補正にて、点１１１２と点１１１３との平均明度１１１４に近づくように補正されるが、刻み幅が小さいため１回の補正では色域内に入らない。すると色域判定処理（ステップ１００４）にて色域外と判定され、続く調整処理（ステップ１００５）にて１回前の補正明度値（点１１１１の位置）まで戻される。このように、色域外にある明度値が色域内に収まるように補正されず、3D-LUT全体の補正を妨げることがあった。
【００５７】
そこで、本実施形態では、一次補正後の色域判定処理において、補正後の明度値が色域に近づいているのか否かの条件を加えて調整処理の要否判定を行い、3D-LUT全体の補正が妨げられないようにする。
【００５８】
（階調不連続性の補正処理）
以下、図１３のフローを参照して、本実施形態に係る、階調不連続性の補正処理について説明する。
【００５９】
まず、ステップ１３０１にて、明度LUT６１１と色度LUT６１２とが読み込まれる。続くステップ１３０２では、後述の調整要否判定処理の準備として、格子点のグルーピングが実行される。このグルーピングは、色度LUT６１２における各格子点の色が、ab平面上で、プライマリ色X（ここでは、R、G、B、C、M、Yの6色）の中のどの色に最も近いかによってグループ分けする処理である。より詳細には、以下の式（３）で表される距離d_Xが最小となるXのグループに注目格子点が属するようにする。
【００６０】
d_X = √（（a_X − a）^2  ＋（b_X − b）^2）    ・・・式（３）
上記式（３）において、d_Xは注目格子点とプライマリ色Xとの間のab平面上での距離を表し、 (a_X, b_X)はプライマリ色Xの色度を表し、（a, b）は注目格子点の色度を表し、x^2はxの2乗を表す。本実施形態におけるa_X、b_Xは、色度LUT６１２の入力側sRGB値の、R：（255,0,0）、G：（0,255,0）、B：（0,0,255）、C：（0,255,255）、M：（255,0,255）、Y：（255,255,0）に対応する色度abとなる。このようにして、各格子点がどのグループに属するのかを示す情報（格子点グループ情報）が得られる。なお、上述のグループ化においては、パープルやオレンジなど他の高彩度な色をグループの１つとして用いてもよい。また、グレイを加えてもよく、この場合の色度は(R,G,B)＝(128,128,128)に対応する色度、或いは色度(a,b)＝(0,0)とし、基準明度Ls（後述）は(R,G,B)＝(128,128,128)における明度或いはLs=50といった具合に設定すればよい。
【００６１】
続くステップ１３０３及びステップ１３０４は、実施形態１の図１０のフローにおけるステップ１００２及びステップ１００３にそれぞれ対応する。すなわち、明度LUT６１１の全格子点分の2階差分値データの取得処理（ステップ１３０３）、及び、明度LUT６１１の各格子点で定義されているL値を2階差分値データに基づき補正する一次補正処理（ステップ１３０４）が実行される。
【００６２】
次に、ステップ１３０５にて、本実施形態の特徴である調整要否判定処理が実行される。ここで、図１４を参照して、調整要否判定処理の考え方を説明する。図１４は、あるプライマリ色Xを含む色域断面を示しており、点１４０１がプライマリ色Xの明度、点１４０２が注目格子点における一次補正前の明度、点１４０２’が一次補正後の明度を示している。一般には、補正後の色が色域に近づいているのか遠ざかっているのかを正確に判定するには、複雑な３次元形状を持つ色域の表面からの距離を求め、補正の前後で比較するという処理が必要になる。しかし、色度成分abについてはそのままにする本実施形態では、明度Lの変化のみを考えればよい。加えて、典型的な画像形成装置の色域では、プライマリ色付近の色相領域に限れば、図１４に示すように、プライマリ色の明度L（=以下で基準明度Lsと呼ぶ）は彩度Cに拠らず広く色域内に含まれると考えられる。つまり、注目格子点が属するグループのプライマリ色の明度を、補正後の色が色域内にあるかどうかの判断指標として用いることができる。このように本実施形態では、補正後のL’ab値が色域外の場合に、補正によって色域内に近づいているか否かを、上記のような考え方に従って明度に基づき簡易に判断する。
【００６３】
ステップ１３０６では、一次補正処理後の明度L’に対する調整処理（二次補正処理）が、調整要否判定結果に基づき実行される。調整処理の内容については実施形態１で説明したとおりである。以降のステップ１３０７〜ステップ１３０９は、実施形態の図１０のフローの１００６〜ステップ１００８にそれぞれ対応し異なるところはないので説明を省く。
【００６４】
以上が、本実施形態に係る、階調不連続性の補正処理の内容である。
【００６５】
（調整要否判定処理）
図１５は、調整要否判定処理の詳細を示すフローチャートである。以下、図１５のフローに沿って説明する。
【００６６】
まず、ステップ１５０１にて、画像形成装置の色域を示す色域データ１０１０が読み込まれる。続くステップ１５０２では、ステップ１３０１で読み込んだ明度LUT６１１及び色度LUT６１２における注目する格子点が決定される。そして、ステップ１５０３にて、注目格子点の一次補正後のL’ab値が、画像形成装置の色域内か否かが判定される。判定の結果、L’ab値が色域内であった場合は、その回の一次補正の結果を調整する必要はない。よって、ステップ１５０８に進んで調整処理は不要と決定する。一方、L’ab値が色域外であった場合は、ステップ１５０４に進む。
【００６７】
ステップ１５０４では、ステップ１３０４で一次補正を行う前のLab値（2回目以降のルーチンでは、1回前の一次補正後のL’ab値）が、画像形成装置の色域内であったか否かが判定される。判定の結果、一次補正を行う前のLab値が色域内であった場合は、一次補正によって色域内から色域外に出たことを意味するため、この回の一次補正を無効にした方がよい。よって、ステップ１５０９に進み、調整処理が必要と決定する。一方、一次補正を行う前のLab値が色域外であった場合は、色域外から色域外へ補正されたということになる。この場合は、ステップ１５０５へ進む。
【００６８】
ステップ１５０５では、ステップ１３０２でのグルーピング処理の結果である格子点グループ情報を参照して、注目格子点の属するグループがチェックされる。本実施形態では、R、G、B、C、M、Yのいずれかのグループが、グループ格子点情報に基づき特定される。続くステップ１５０６では、注目格子点が属するグループの基準値（ここでは基準明度Ls）が取得される。基準明度Lsは、各グループのプライマリ色Xの明度を指す。例えば、注目格子点が属するグループがRグループであれば、基準明度LsとしてsRGB（255,0,0）に対応する明度Lが取得される。
【００６９】
次に、ステップ１５０７にて、ステップ１５０６で取得した基準明度Lsに対し、一次補正前の明度Lと一次補正後の明度L’のどちらが近いかが判定される。この判定処理は、ステップ１３０４の一次補正処理によって注目格子点の明度Lが基準明度Lsに近づいたか否かを判定する処理と言い換えることができる。判定には、例えば以下の式（４）を用いる。  
｜L’−Ls｜＜｜L−Ls｜   ・・・式（４）
上記式（４）の結果が真であれば、色域内に近づく方向の補正がなされているため、この回の一次補正結果を採用するべく、ステップ１５０８に進む。一方、上記式（４）の結果が偽であれば、色域内から遠ざかる方向の補正がなされているため、この回の一次補正結果を無効にして調整を行うべく、ステップ１５０９に進む。
【００７０】
ステップ１５１０では、すべての格子点について処理が完了したかどうかが判定される。未処理の格子点があればステップ１５０２に戻って、次の注目格子点を決定して処理を続行する。一方、全ての格子点について処理が完了していた場合は、本処理を抜ける（図１３のフローのステップ１３０６へと移行する）。
【００７１】
以上が、本実施形態に係る、調整要否判定処理の内容である。上述した処理においては、たとえ色域外の場合でも、適切な（すなわち色域に近づく）補正が与えられたときにはその一次補正結果を受け入れることになる。このため、補正されないケースが低減し、より好ましい3D-LUTを得ることができる。
【００７２】
（変形例）
本実施形態の手法では、階調性を改善しつつ色域外にある色を色域内に近づけようとする。そこで本実施形態を応用し、敢えて一部色域外の格子点を持つLabデータを初期値として入力してもよい。これにより、実際には再現できない色をターゲットとして、色域内のできるだけ近い色で置き換えた階調性が良好な3D-LUTを作成できるか否かを試行することができる。
【００７３】
また、本実施形態では、格子点毎にその所属先となるプライマリ色グループの情報を保持し、当該情報を基に基準明度Lsを取得していたがこれに限定されない。例えば、格子点毎に基準明度Lsを直接保持するようにしてもよい。
【００７４】
また、上述の調整要否判定処理では、補正前のLab値が色域内にあったかどうかの判定を行った（ステップ１５０４）。しかし、｜α｜≪１であって、１回の補正によって明度Lが変化する量（更新幅）は小さいことを踏まえれば、基準明度Lsとの差だけで調整の要否を決定することも可能である。すなわち、更新幅が十分小さい場合、１回の一次補正処理によって、基準明度Lsを跨いで高明度側あるいは低明度側から逆側の色域外へ出ることはないと仮定する。この仮定の下、補正後のL’ab値が色域外であると確定した場合は、補正前のLab値が色域内かどうかの情報がなくても、基準明度Lsとの差が小さくなるときは色域に近づいており、差が大きくなるときは色域から遠ざかると推測できる。これを踏まえ、ステップ１５０４の色域内外判定処理を省略し、基準明度Lsとの差が小さくなる場合は調整不要と決定し、基準明度Lsとの差が大きくなる場合は調整必要と決定するようにしてもよい。
【実施形態３】
【００７５】
実施形態１及び２では、明度LUTの補正処理を所定回数繰り返し行う場合において、補正後の明度L’と色度abを合わせた（L’,a,b）値に基づき、画像形成装置の色域内かどうかを判定していた。次に、色度abは保持されることを利用し、予め各格子点について、色域内が保証される明度範囲を定めておき、明度のみに基づいて色域判定を行う態様を実施形態３として説明する。なお、実施形態１及び２と共通する内容については説明を省略し、以下では差異点を中心に説明を行うものとする。
【００７６】
以下、図１６のフローを参照して、本実施形態に係る、階調不連続性の補正処理について説明する。
【００７７】
まず、ステップ１６０１にて、明度LUT６１１と色度LUT６１２とが読み込まれる。続くステップ１６０２では、各格子点における明度Lの上限値と下限値を設定する処理（以下、明度リミット値設定処理）が実行される。この明度リミット値設定処理の詳細については後述する。
【００７８】
続くステップ１６０３及びステップ１６０４は、実施形態１の図１０のフローにおけるステップ１００２及びステップ１００３にそれぞれ対応する。すなわち、明度LUT６１１の全格子点分の2階差分値データの取得処理（ステップ１６０３）、及び、明度LUT６１１の各格子点で定義されているL値を2階差分値データに基づき補正する一次補正処理（ステップ１６０４）が実行される。
【００７９】
次に、ステップ１６０５にて、ステップ１６０２で格子点毎に設定された明度Lの上限値と下限値を用いた、色域判定処理が実行される。具体的には、一次補正後の明度が、その対応する格子点について設定された明度の下限値〜上限値の範囲内に含まれているか否かが判定される。設定された下限値〜上限値の範囲内に含まれていればその一次補正後の明度は色域内にあると判定され、範囲内に含まれていなければその一次補正後の明度は色域外にあると判定されることになる。判定の結果はRAM等に保存されることになる。このとき、色域外との判定結果の場合にはその原因（上限値を超えての色域外なのか下限値を超えての色域外なのかを示す情報）を併せて保存するようにしてもよい。
【００８０】
次に、ステップ１６０６にて、調整処理（二次補正処理）が実行される。ここでの調整処理においては、色域外にあると判定された一次補正後の明度を、ステップ１６０２で設定された上限値または下限値のいずれかで置き換える処理を行う。具体的には、一次補正後の明度が上限値を上回って色域外となっている場合は、当該一次補正後の明度を、その上限値で置き換える。同様に、一次補正後の明度が下限値を下回って色域外となっている場合は、一次補正後の明度を、その下限値で置き換える。この置換処理は、例えば以下の式（５）によって表すことができる。  
置き換え後の明度L＝min（明度上限値，max（一次補正後の明度L’，明度下限値））
・・・式（５）
ここで具体例を示すと、ある格子点について下限値＝10、上限値＝60が設定されており、一次補正後のL’値＝7であったとする。この場合、上記式（５）によって、一次補正後のL’値“7”が、下限値である“10”に置き換えられることになる。なお、上記式（５）を用いた演算を行う代わりに、色域外と判定された原因に基づき、端的に上限値又は下限値に置き換えてもよい。このように、１回前の補正値に戻すのではなく、格子点毎に設定された明度のリミット値に置き換える点が、実施形態１及び２とは異なっている。
【００８１】
以降のステップ１６０６〜ステップ１６０９は、実施形態の図１０のフローの１００６〜ステップ１００８にそれぞれ対応し異なるところはないので説明を省く。
【００８２】
以上が、本実施形態に係る、階調不連続性の補正処理の内容である。
【００８３】
（明度リミット値設定処理）
図１７は、明度リミット値設定処理の詳細を示すフローチャートである。以下、図１７のフローに沿って説明する。
【００８４】
まず、ステップ１７０１にて、画像形成装置の色域を示す色域データ１０１０が読み込まれる。続くステップ１７０２では、ステップ１６０１で読み込んだ明度LUT６１１及び色度LUT６１２における注目する格子点が決定され、当該注目格子点における色度を示すab値が取得される。
【００８５】
次に、ステップ１７０３にて、変数Lvの初期化処理が実行される。この初期化では、任意の最低明度、例えば画像形成装置の色域の最低明度の値（あるいは“0”）を代入する。そして、続くステップ１７０４にて、変数Lvと、ステップ１７０２で取得したab値とを合わせた色値（Lv,a,b）が、画像形成装置の色域内であるか否かが判定される。判定の結果、（Lv,a,b）が色域内でない場合は、ステップ１７０５に進んでLvをΔLだけ増加させる。そして、ステップ１７０４に戻り、改めて（Lv,a,b）が色域内にあるかどうかの判定処理を行う。ここで、ΔLの値は小さい程多くの処理時間を要することになるが、視覚的に弁別できない差となる程度の値、例えばΔL=0.1〜0.5とするのが望ましい。こうした判定処理を繰り返し、（Lv,a,b）が色域内であるとの判定結果が出たら、ステップ１７０６に進む。ステップ１７０６では、現在の変数Lvの値を、注目格子点における明度下限値L_minとして保存する。これにより、注目格子点についての明度下限値が決定されたことになる。
【００８６】
次に、ステップ１７０７にて、現在の（Lv,a,b）が、画像形成装置の色域内であるか否かが判定される。判定の結果、現在の（Lv,a,b）が色域内である場合は、ステップ１７０８に進む。そして、ステップ１７０８では、現在の変数Lvの値を、注目格子点における暫定的な明度上限値L_maxとして保存する。続くステップ１７０９では、変数Lvの値をΔLだけ増加させる。なお、ここでのΔLは、上述のステップ１７０５におけるΔLと同じである。そして、ステップ１７０７に戻り、改めて（Lv,a,b）が色域内にあるかどうかの判定処理を行う。こうした処理を、（Lv,a,b）が色域外であると判定されるまで繰り返す。そして、色域内と判定された時点のL_maxが、注目格子点における最終的な明度上限値となり、その時点でステップ１７１０に進む。
【００８７】
ステップ１７１０では、ステップ１７０６で保存されたL_min及びステップ１７０８で保存されたL_maxが、注目格子点に関連付けて明度下限値及び明度上限値としてそれぞれ設定される。そして、ステップ１７１１では、すべての格子点について処理が完了したかどうかが判定される。未処理の格子点があればステップ１７０２に戻って、次の注目格子点を決定して処理を続行する。一方、全ての格子点について処理が完了していた場合は、本処理を抜ける（図１６のフローのステップ１６０３へと移行する）。
【００８８】
以上が、本実施形態に係る、明度リミット値設定処理の内容である。通常は、３次元的な色域の上側の表面及び下側の表面を精密に求めるのは、記述データも膨大で計算量が多くなるため、複雑な処理となりやすい。しかしながら、本実施形態においては、色度abは変更されないため、与えられた色度abに対する明度Lのみを１次元的に考えればよく、比較的簡易な処理で格子点毎の明度の精密な上下限値を求めることができる。
【００８９】
なお、一度作成した明度の上下限値データを保持しておけば、同じ3D-LUTに対し補正処理の繰り返し回数を変更して修正する場合に再利用することができる。これにより、処理時間の低減に繋がる。この場合、ステップ１６０２にて、明度リミット値設定処理を行う代わりに、予め保存しておいた上下限値データを読み出せばよい。
【００９０】
（変形例）
なお、上述の図１７のフローでは説明を簡潔にするため、全ての格子点について明度の上下限値を設定していたが、一部の格子点についてはその設定を省略してもよい。階調性を考慮した3D-LUTの修正において、色域の中心付近の格子点が色域表面まで移動することは考えにくい。また、同様に、明るい格子点が色域の下側、暗い格子点が色域の上側に移動することも考えにくい。このため、例えば、所定の明度値より暗い格子点の明度上限値は求めるのを省略したり、あるいは、所定の明度値より明るい格子点の明度下限値は求めるのを省略したりしてもよい。さらに、最も明るいプライマリ色の明度より高い明度を持つ色（例えば、イエロー）に対応する格子点の下限値、最も暗いプライマリ色の明度より低い明度の色（例えばブルー）に対応する格子点の上限値を省略してもよい。また色域中心の格子点を除くため、彩度による条件を加えてもよい。
【００９１】
本実施形態によれば、格子点毎に設定された明度の上限値及び下限値を用いて明度を調整することにより、色域外の色を精密に求められた色域内の限界値に収めて補正処理を行うことが可能となる。また、一次補正前において色域外に明度Lが存在する場合に、一次補正処理を繰り返し行わなくても、直ちに色域内へと補正することができる。
【００９２】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９３】
１２０  ＰＣ
１２１  色変換用LUT生成部
２１０、２２０、２３０  3D-LUT
【図１】
2019103093.tif 000003
【図２】
2019103093.tif 000004
【図３】
2019103093.tif 000005
【図４】
2019103093.tif 000006
【図５】
2019103093.tif 000007
【図６】
2019103093.tif 000008
【図７】
2019103093.tif 000009
【図８】
2019103093.tif 000010
【図９】
2019103093.tif 000011
【図１０】
2019103093.tif 000012
【図１１】
2019103093.tif 000013
【図１２】
2019103093.tif 000014
【図１３】
2019103093.tif 000015
【図１４】
2019103093.tif 000016
【図１５】
2019103093.tif 000017
【図１６】
2019103093.tif 000018
【図１７】
2019103093.tif 000019