(57)【要約】【課題】画像をレタッチ処理し、色変換を行う場合に発生する無彩色への色付きを防止する。【解決手段】撮像装置で撮影した任意の画像データをレタッチし、色変換するためのルックアップテーブルデータを作成する場合に、元となる画像データの彩度が所定のしきい値以下の場合に、レタッチ処理後の画像データの彩度が元の画像データの彩度より小さくなるように、元の画像データの彩度およびレタッチ処理後の画像データの彩度から求められる補正係数をレタッチ処理後の画像データの彩度に乗じることで無彩色の色付きを補正した新たに画像データを生成し、元の画像データと新たに生成された無彩色の色付きのない第３画像データを用いてルックアップテーブルを作成する。【選択図】      図４
2004246671.tif 000002
【特許請求の範囲】
【請求項１】
第１画像データを第２画像データへと色変換するためのルックアップテーブルを作成するルックアップテーブル作成方法であって、
前記第１画像データの彩度が所定のしきい値以下である場合に、前記第２画像データの彩度が前記第１画像データの彩度より小さくなるように、前記第１画像データの彩度および前記第２画像データの彩度から求められる補正係数を前記第２画像データの彩度に乗じることで第３画像データを生成し、前記第１画像データと前記第３画像データを用いてルックアップテーブルを作成する事を特徴とするルックアップテーブル作成方法。
【請求項２】
前記第１画像データは、元となるソース画像であり、前記第２画像データは、ユーザが前記ソース画像をレタッチ処理したディスティネーション画像であることを特徴とする請求項１に記載のルックアップテーブル作成方法。
【請求項３】
前記第１の画像データの色空間は前記第２の画像データの色空間とは異なることを特徴とする請求項１又は２に記載のルックアップテーブル作成方法。
【請求項４】
第１の色空間上の第１信号と、第２の色空間上の第２信号から、前記第１信号から第２信号へと色変換し、さらに、前記第２の色空間上の第３の信号へと色変換することを特徴とする請求項１、２に記載のルックアップテーブル作成方法。
【請求項５】
前記ルックアップテーブルはＮ次元であることを特徴とする請求項１乃至４のいずれか１項に記載のルックアップテーブル作成方法。
【請求項６】
ソース画像データと、前記ソース画像データをレタッチ処理したディスティネーション画像データとを用いて、任意画像を色変換するためのルックアップテーブルを作成するルックアップテーブル作成方法であって、
前記ソース画像データの色成分信号値が所定のしきい値以下である場合に、前記ディスティネーション画像データの色成分信号値が前記ソース画像データの色成分信号値よりも小さくなるようにルックアップテーブルを作成する事を特徴とするルックアップテーブル作成方法。
【請求項７】
前記ソース画像データの色成分信号値および前記ディスティネーション画像データの色成分信号値から求められる補正係数を、前記ディスティネーション画像データの色成分信号値に乗じることで前記ディスティネーション画像データの色成分信号を補正処理し、前記ソース画像データの色成分信号値と補正された前記ディスティネーション画像データの色成分信号値を用いてルックアップテーブルを作成することを特徴とする請求項６に記載のルックアップテーブル作成方法。
【請求項８】
前記ソース画像データの色空間と前記ディスティネーション画像の色空間とは異なることを特徴とする請求項６又は７に記載のルックアップテーブル作成方法。
【請求項９】
請求項１乃至９のいずれか１項に記載のルックアップテーブルはＮ次元で構成されたＮ次元ルックアップテーブルであることを特徴とするルックアップテーブル作成方法。
【請求項１０】
請求項１乃至９のいずれか１項に記載のルックアップテーブル作成方法を実行することを特徴とする撮像装置。
【請求項１１】
請求項１乃至９のいずれか１項に記載のルックアップテーブル作成方法をコンピュータに実行させるコンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムを実行することを特徴とする撮像装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、画像データの色変換処理を行うためのルックアップテーブルの作成方法に関し、特に、被写体を撮像して得られた画像データの色変換処理を行うためのルックアップテーブルの作成方法に関するものである。
【０００２】
【従来の技術】
色変換を行う手法としてルックアップテーブルを用いて色変換を行う手法が考案されている。このルックアップテーブルを用いた色変換は色空間上の局所的な色だけを変換できる等、自由に色変換を行うパラメータを設計（カスタマイズ）することが可能ということで注目されている。
【０００３】
【発明が解決しようとする課題】
しかし、このルックアップテーブルを用いた色変換手法においてはパラメータの設定を十分考慮して行わないと階調の不連続性が発生する場合がある。特に無彩色においては人間の知覚特性上、無彩色への色付きによる不連続性が知覚される場合が多い。
【０００４】
また従来、Ｎ次元ルックアップテーブルを用いた色変換処理ではないが、色変換時の無彩色への色付きを抑える発明として、無彩色周辺の彩度をゲインまたはテーブルを用いて一律に抑えてしまう発明もあるが、さまざまな輝度レベルの無彩色の微妙な色相および輝度の変化に対応できないという問題があった。
【０００５】
本発明は、前述の問題点にかんがみ、画像のレタッチ処理において、無彩色への色付きを防止することを目的とする。
【０００６】
【課題を解決するための手段】
本発明のルックアップテーブル作成方法は、第１画像データを第２画像データへと色変換するためのルックアップテーブルを作成するルックアップテーブル作成方法であって、前記第１画像データの彩度が所定のしきい値以下である場合に、前記第２画像データの彩度が前記第１画像データの彩度より小さくなるように、前記第１画像データの彩度および前記第２画像データの彩度から求められる補正係数を前記第２画像データの彩度に乗じることで第３画像データを生成し、前記第１画像データと前記第３画像データを用いてルックアップテーブルを作成する事を特徴としている。
【０００７】
本発明のルックアップテーブル作成方法は、ソース画像データと、前記ソース画像データをレタッチ処理したディスティネーション画像データとを用いて、任意画像を色変換するためのルックアップテーブル作成方法であって、前記ソース画像データの色成分信号値が所定のしきい値より小さい場合に、前記ディスティネーション画像データの色成分信号値が前記ソース画像データの色成分信号値よりも小さくなるようにルックアップテーブルを作成する事を特徴としている。
【０００８】
【発明の実施の形態】
（第１の実施の形態）
本発明の実施例を以下に説明する。
【０００９】
図１は本発明のＮ次元ルックアップテーブル作成処理を用いた色変換処理システムの簡単なブロック図である。以下図１のブロック図と図３のフローチャートを用いて、本実施例のＮ次元ルックアップテーブル作成方法および、そこで作成されたＮ次元ルックアップテーブルを用いた色変換処理について説明する。また本実施例では説明を簡単にするために、Ｎ次元ルックアップテーブルのＮを３にして説明を行う。
【００１０】
図１中１０１のテーブル作成用画像入力部は３次元ルックアップテーブルを作成する基となる画像データを入力する処理部である。図３のステップ（以下、Ｓと記載）３０１において、ユーザは変換元となる画像データであるソース（元）画像を自分の好みに応じて局所的または、全体的に色をレタッチ処理する（Ｓ３０２）。ここで、ソース画像とは、例えば、撮像装置で撮影された画像等であり、ディスティネーション（目的、目標）画像とは、ソース画像をレタッチした画像である。その結果、ディスティネーション画像が作成される（Ｓ３０３）。ソース画像およびディスティネーション画像は１０２の３次元ルックアップテーブル作成部へと送られ、ソース画像およびディスティネーション画像に基づき３次元ルックアップテーブルが作成される（Ｓ３０４）。３次元ルックアップテーブルが作成されると、次にこの３次元ルックアップテーブルを用いて変換する画像データが１０３の変換画像データ入力部へと入力される（Ｓ３０５）。ここでは画像データのフォーマットに基づき信号値が読み出され、１０４の３次元色変換処理部へと送られる。この３次元色変換処理部では１０２の３次元ルックアップテーブル作成部にて作成された３次元ルックアップテーブルを用いて、色変換処理が行われる（Ｓ３０６）。色変換処理が行われた画像の信号値は１０５の画像データ出力部において、ユーザが指定した画像データフォーマットに基づき、フォーマット変換されて出力される（Ｓ３０７）。以上が簡単な流れである。次に個々の処理部についてより詳しく説明する。
【００１１】
次に、１０２の３次元ルックアップテーブル作成部内部のブロック図を図２に示し、ルックアップテーブル作成部における無彩色補正処理の流れを図４のフローチャートを用いて説明する。
【００１２】
本実施例においては、格子点間隔を信号値を３２ステップとすることにより９×９×９の７２９個の格子点を持つ３次元ルックアップテーブルとし、さらにＲ方向にＩ、Ｇ方向にＪ、Ｂ方向にＫ番目の３次元ルックアップテーブルの格子点値を、
Ｒｇ＝３２×Ｉ      式（１）
Ｇｇ＝３２×Ｊ      式（２）
Ｂｇ＝３２×Ｋ      式（３）
また、この格子点値に対応する格子点格納値を
Ｒｔ＝３ＤＴａｂｌｅＲ（Ｉ，Ｊ，Ｋ）    式（４）
Ｇｔ＝３ＤＴａｂｌｅＧ（Ｉ，Ｊ，Ｋ）    式（５）
Ｂｔ＝３ＤＴａｂｌｅＢ（Ｉ，Ｊ，Ｋ）    式（６）
（ただしＩ＝０〜８、Ｊ＝０〜８、Ｋ＝０〜８）
と表現するものとする。例えば、Ｉ＝１、Ｊ＝２、Ｋ＝３であれば、格子点値は（３２×１，３２×２，３２×３）＝（３２，６４，９６）、格子点格納値は（３ＤｔａｂｌｅＲ（１，２，３），３ＤｔａｂｌｅＧ（１，２，３），３ＤｔａｂｌｅＢ（１，２，３））であり、この３次元ルックアップテーブルを用いてデータ変換を行えば、（３２，６４，９６）という入力信号は、（３ＤｔａｂｌｅＲ（１，２，３），３ＤｔａｂｌｅＧ（１，２，３），３ＤｔａｂｌｅＢ（１，２，３））という信号に変換されることを意味している。また、すべての格子点においてＲｔ＝Ｒｇ、Ｇｔ＝Ｇｇ、Ｂｔ＝Ｂｇとなるよう３次元ルックアップテーブルを設定すると、入力と出力が等しくなる３次元ルックアップテーブルとなる。
【００１３】
２０１のデータ検出部では格子点値（Ｒｇ，Ｇｇ，Ｂｇ）近辺の信号値が求められる。ここでソース画像の信号値を（Ｒｓ（ｘ，ｙ），Ｇｓ（ｘ，ｙ），Ｂｓ（ｘ，ｙ））（ただしｘ，ｙは画像の座標値）とすると、まず格子点値と信号値の差Ｅは以下の式により求められる（Ｓ４０１）。
【００１４】
Ｅ＝√（（Ｒｇ−Ｒｓ（ｘ，ｙ））＾２＋（Ｇｇ−Ｇｓ（ｘ，ｙ））＾２＋（Ｂｇ−Ｂｓ（ｘ，ｙ））＾２）    式（７）
この信号値の差Ｅが予め決定されている値がしきい値以下であれば、格子点近辺の値ということになる（Ｓ４０２）。ここで使用される値Ｌは人間が異なる色として認識できる信号値の差により決定されるものであり、色毎により異なる値が設定されることが望ましいが、本実施例においては説明を簡単にするため、すべての色において同じ値Ｌを用いる場合について説明する。格子点近辺の値、すなわち信号値の差がＬ以下であること（Ｅ≦Ｌ）を満たす画像がソース画像からサーチされると、２０２のデータ比較部にてその画素の座標（ｘ，ｙ）に対応するディスティネーション画像の信号値（Ｒｄ（ｘ，ｙ），Ｇｄ（ｘ，ｙ），Ｂｄ（ｘ，ｙ））が読み出され、ソース画像の信号値とディスティネーション画像の信号値は、次式により色相Ｈ、彩度Ｓ、輝度Ｙの信号へと変換される（Ｓ４０３）。
【００１５】
ソース画像の信号値は、ＲＧＢ信号値からそれぞれ以下の式でＨＳＹ信号値へと変換される。
【００１６】
Ｙｓ＝０．３×Ｒｓ（ｘ，ｙ）＋０．５９×Ｇｓ（ｘ，ｙ）＋０．１１×Ｂｓ（ｘ，ｙ）    式（８）
Ｕｓ＝（Ｂｓ（ｘ，ｙ）−Ｙｓ）×０．５６４    式（９）
Ｖｓ＝（Ｒｓ（ｘ，ｙ）−Ｙｓ）×０．７１３    式（１０）
Ｈｓ＝Ｔａｎ−１（Ｕｓ／Ｖｓ）                式（１１）
Ｓｓ＝√Ｕｓ＾２＋Ｖｓ＾２                    式（１２）
同様に、ディスティネーション画像の信号値も、ＲＧＢ信号値からそれぞれ以下の式でＨＳＹ信号値へと変換される。
【００１７】
Ｙｄ＝０．３×Ｒｄ（ｘ，ｙ）＋０．５９×Ｇｄ（ｘ，ｙ）＋０．１１×Ｂｄ（ｘ，ｙ）    式（１３）
Ｕｄ＝（Ｂｄ（ｘ，ｙ）−Ｙｄ）×０．５６４    式（１４）
Ｖｄ＝（Ｒｄ（ｘ，ｙ）−Ｙｄ）×０．７１３    式（１５）
Ｈｄ＝Ｔａｎ−１（Ｕｄ／Ｖｄ）                式（１６）
Ｓｄ＝√Ｕｄ＾２＋Ｖｄ＾２                    式（１７）
ここで、ソース画像の信号値の彩度Ｓｓとしきい値Ｔとの比較と、Ｓｓとディスティネーション画像の信号値の彩度Ｓｄとの比較が行われる（Ｓ４０４）。ソース画像の信号値Ｓｓがしきい値Ｔ以下である（Ｓｓ≦Ｔ）場合は、Ｓｓは、無彩色を示し、そして、ディスティネーション画像の信号値の彩度Ｓｄより小さい（Ｓｓ＜Ｓｄ）場合は、彩度に異常があり、無彩色の色付きが発生していることを示す。ここで使用されるしきい値Ｔの大きさは人間が無彩色と認識するその色空間上の彩度値により決定される値である。
【００１８】
逆にＳｓ＞Ｔであれば、その信号は、無彩色ではないと判断し、また、Ｓｓ≦ＴかつＳｓ≧Ｓｄであれば無彩色の彩度が強調され無彩色に色付きが発生することもないため、ディスティネーション画像の信号値の補正は行わなわれない。従って、ディスティネーション画像の信号値Ｒｄ（ｘ，ｙ）、Ｇｄ（ｘ，ｙ）、Ｂｄ（ｘ，ｙ）はそのまま、次式を用いてｄＲ、ｄＧ、ｄＢが求められる（Ｓ４０８）。
【００１９】
ｄＲ＝Ｒｓ（ｘ，ｙ）−Ｒｄ（ｘ，ｙ）    式（１８）
ｄＧ＝Ｇｓ（ｘ，ｙ）−Ｇｄ（ｘ，ｙ）    式（１９）
ｄＢ＝Ｂｓ（ｘ，ｙ）−Ｂｄ（ｘ，ｙ）    式（２０）
また、Ｓ４０４において、Ｓｓ≦ＴかつＳｓ＜Ｓｄであれば、２０３の無彩色補正処理部にて次式を用いて補正ディスティネーション画像信号Ｒｄ’（ｘ，ｙ）、Ｇｄ’（ｘ，ｙ）、Ｂｄ’（ｘ，ｙ）を計算してｄＲ、ｄＧ、ｄＢが求められる（Ｓ４０６）。
【００２０】
α＝Ｓｓ／Ｓｄ    式（２１）
Ｕｄ’＝Ｓｄ×α×Ｓｉｎ（Ｈｄ）            式（２２）
Ｖｄ’＝Ｓｄ×α×Ｃｏｓ（Ｈｄ）            式（２３）
Ｒｄ’（ｘ，ｙ）＝Ｖｄ’／０．７１３＋Ｙｄ    式（２４）
Ｂｄ’（ｘ，ｙ）＝Ｕｄ’／０．５６４＋Ｙｄ    式（２５）
Ｇｄ’（ｘ，ｙ）＝（Ｙｄ−０．３×Ｒｄ’（ｘ，ｙ）−０．１１×Ｂｄ’（ｘ，ｙ））／０．５９    式（２６）
ｄＲ＝Ｒｓ（ｘ，ｙ）−Ｒｄ’（ｘ，ｙ）        式（２７）
ｄＧ＝Ｇｓ（ｘ，ｙ）−Ｇｄ’（ｘ，ｙ）        式（２８）
ｄＢ＝Ｂｓ（ｘ，ｙ）−Ｂｄ’（ｘ，ｙ）        式（２９）
上記の様に格子点値（Ｒｇ，Ｇｇ，Ｂｇ）においてソース画像全域のｄＲ、ｄＧ、ｄＢの平均値ｄＲａｖｅ、ｄＧａｖｅ、ｄＢａｖｅを求める。またソース画像中に格子点近辺の値が存在しない場合（Ｅ＞Ｌの場合）は、ｄＲａｖｅ＝ｄＧａｖｅ＝ｄＢａｖｅ＝０とする（Ｓ４０９）。
【００２１】
上記手法で求められたｄＲａｖｅ、ｄＧａｖｅ、ｄＢａｖｅは２０４のテーブルデータ生成部におくられ、次式によりカスタマイズされた３次元ルックアップテーブルの格子点値（Ｒｇ，Ｇｇ，Ｂｇ）に対応する格子点格納値（Ｒｔ，Ｇｔ，Ｂｔ）が求められる（Ｓ４０７）。
【００２２】
Ｒｔ＝Ｒｇ−ｄＲａｖｅ    式（３０）
Ｇｔ＝Ｇｇ−ｄＧａｖｅ    式（３１）
Ｂｔ＝Ｂｇ−ｄＢａｖｅ    式（３２）
【００２３】
以上処理を格子点すべてに行うことにより３次元ルックアップテーブルが作成される。ここで実際に値を例にして本発明の実施例における具体的な効果の説明をおこなう。ソース画像中のＲＧＢ値（６４，６７，６８）がディスティネーション画像中で色相および彩度ともに変更され（６４，７１，７１）となっている場合について説明する。（６４，６７，６８）にもっとも近い格子点（Ｒｇ，Ｇｇ，Ｂｇ）は（６４，６４，６４）であり、式（８）〜式（１７）を用いて計算を行うと、Ｓｓ＝１．８７、Ｓｄ＝３．６８となる。ここで上記しきい値Ｔ＝１０と定義すると、Ｓｓ≦ＴかつＳｓ＜Ｓｄの条件を満たすことになる。次に式（２１）〜式（２９）をもちいて計算した結果（ｄＲ，ｄＧ，ｄＢ）＝（−２．４１，−２．９７，−１．９７）が求められ、式（３０）、（３１）、（３２）により（Ｒｔ，Ｇｔ，Ｂｔ）＝（６６，６７，６６）という値が求められる。すなわち、（６４，６４，６４）という信号が（６６，６７，６６）に変換される３次元ルックアップテーブル値が求められたことになる。一方、本実施例１の演算を用いないでそのまま求めた場合の値について計算を以下に示す。ソース画像中の信号からディスティネーション画像中の信号の差分は（ｄＲ，ｄＧ，ｄＢ）＝（６４−６４，６７−７１，６８−７１）＝（０，−４，−３）となり、式（３０）、（３１）、（３２）により（Ｒｔ，Ｇｔ，Ｂｔ）＝（６４．４，６８，６７）という値が求められる。実施例１で求めたテーブルの信号値（６６，６７，６６）の彩度は０．４５であるのに対して、本実施例１を用いないで計算した場合の信号値（６４，６８，６７）の彩度は１．９３になる。またそれぞれの信号値の輝度を計算してみると両方とも６７であり、無彩色の彩度を抑えながら、色相、輝度レベルの変更が可能となることがわかる。
【００２４】
次に１０４の３次元色変換処理部について説明する。１０３の変換画像入力部から送られてくる画像のＲＧＢ信号値Ｒ，Ｇ，Ｂから格子点のインデックスを示す値Ｉ，Ｊ，Ｋが求められる（ただしＩ，Ｊ，Ｋは小数点以下切捨て）。
【００２５】
Ｉ＝Ｒ／３２    式（３３）
Ｊ＝Ｇ／３２    式（３４）
Ｋ＝Ｂ／３２    式（３５）
さらに画像のＲＧＢ信号値Ｒ，Ｇ，Ｂの値がそれぞれの格子点からどれぐらい離れているかを示す値Ｒｆ，Ｇｆ，Ｂｆの値を次式で求める。
【００２６】
Ｒｆ＝Ｒ−Ｉ×３２    式（３６）
Ｇｆ＝Ｇ−Ｊ×３２    式（３７）
Ｂｆ＝Ｂ−Ｋ×３２    式（３８）
以上の値を用いて、画像のＲＧＢ信号値Ｒ、Ｇ、Ｂを３次元ルックアップテーブルと立方体補間演算を用いて、求められる変換後の値Ｒｏ、Ｇｏ、Ｂｏは以下の式で求められる。
【００２７】
Ｒｏ＝
（３ＤｔａｂｌｅＲ（Ｉ，Ｊ，Ｋ）×（３２−Ｒｆ）×（３２−Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＲ（Ｉ＋１，Ｊ，Ｋ）×（Ｒｆ）×（３２−Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＲ（Ｉ，Ｊ＋１，Ｋ）×（３２−Ｒｆ）×（Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＲ（Ｉ，Ｊ，Ｋ＋１）×（３２−Ｒｆ）×（３２−Ｇｆ）×（Ｂｆ）
＋３ＤｔａｂｌｅＲ（Ｉ＋１，Ｊ＋１，Ｋ）×（Ｒｆ）×（Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＲ（Ｉ＋１，Ｊ，Ｋ＋１）×（Ｒｆ）×（３２−Ｇｆ）×（Ｂｆ）
＋３ＤｔａｂｌｅＲ（Ｉ，Ｊ＋１，Ｋ＋１）×（３２−Ｒｆ）×（Ｇｆ）×（Ｂｆ）
＋３ＤｔａｂｌｅＲ（Ｉ＋１，Ｊ＋１，Ｋ＋１）×（Ｒｆ）×（Ｇｆ）×（Ｂｆ））／（３２×３２×３２）    式（３９）
【００２８】
Ｇｏ＝
（３ＤｔａｂｌｅＧ（Ｉ，Ｊ，Ｋ）×（３２−Ｒｆ）×（３２−Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＧ（Ｉ＋１，Ｊ，Ｋ）×（Ｒｆ）×（３２−Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＧ（Ｉ，Ｊ＋１，Ｋ）×（３２−Ｒｆ）×（Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＧ（Ｉ，Ｊ，Ｋ＋１）×（３２−Ｒｆ）×（３２−Ｇｆ）×（Ｂｆ）
＋３ＤｔａｂｌｅＧ（Ｉ＋１，Ｊ＋１，Ｋ）×（Ｒｆ）×（Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＧ（Ｉ＋１，Ｊ，Ｋ＋１）×（Ｒｆ）×（３２−Ｇｆ）×（Ｂｆ）
＋３ＤｔａｂｌｅＧ（Ｉ，Ｊ＋１，Ｋ＋１）×（３２−Ｒｆ）×（Ｇｆ）×（Ｂｆ）
＋３ＤｔａｂｌｅＧ（Ｉ＋１，Ｊ＋１，Ｋ＋１）×（Ｒｆ）×（Ｇｆ）×（Ｂｆ））／（３２×３２×３２）    式（４０）
【００２９】
Ｂｏ＝
（３ＤｔａｂｌｅＢ（Ｉ，Ｊ，Ｋ）×（３２−Ｒｆ）×（３２−Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＢ（Ｉ＋１，Ｊ，Ｋ）×（Ｒｆ）×（３２−Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＢ（Ｉ，Ｊ＋１，Ｋ）×（３２−Ｒｆ）×（Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＢ（Ｉ，Ｊ，Ｋ＋１）×（３２−Ｒｆ）×（３２−Ｇｆ）×（Ｂｆ）
＋３ＤｔａｂｌｅＢ（Ｉ＋１，Ｊ＋１，Ｋ）×（Ｒｆ）×（Ｇｆ）×（３２−Ｂｆ）
＋３ＤｔａｂｌｅＢ（Ｉ＋１，Ｊ，Ｋ＋１）×（Ｒｆ）×（３２−Ｇｆ）×（Ｂｆ）
＋３ＤｔａｂｌｅＢ（Ｉ，Ｊ＋１，Ｋ＋１）×（３２−Ｒｆ）×（Ｇｆ）×（Ｂｆ）
＋３ＤｔａｂｌｅＢ（Ｉ＋１，Ｊ＋１，Ｋ＋１）×（Ｒｆ）×（Ｇｆ）×（Ｂｆ））／（３２×３２×３２）    式（４１）
【００３０】
以上の変換により、１０３の変換画像データ入力部に入力された画像のＲ、Ｇ、Ｂ信号は画素毎に１０２で作成され、１０３で無彩色が補正された３次元ルックアップテーブルと補間演算を用いてＲｏ、Ｇｏ、Ｂｏへと変換され１０５の画像データ出力部へと送られる。
【００３１】
また、本実施例においてはソース画像データ（ソース画像信号）およびディスティネーション画像データ（ディスティネーション画像信号）にＲＧＢ信号を用いたが、これに限られるものではなく、ＹＵＶ信号、ＣＭＹ信号、ＣＭＹＧ信号等のどのようなものでも、ルックアップテーブルの次元と彩度を含む色空間へと変換する演算手法を変更すれば対応することが可能である。また２０３の黒補正処理部で求められるＧａｉｎ値αの求め方は式（２１）に限定されるものではなく、Ｓｓ／Ｓｄを引数とした関数および、ルックアップテーブルのどのようなものでも構わない。例えばα×Ｓｓ／Ｓｄ（α＜１）としてもよい。またα×Ｓｓ／Ｓｄを予め計算して、それをテーブルに格納し、テーブル参照するようにしてもよい。また本実施例においてソース画像の信号値の彩度とディスティネーション画像の信号値の彩度の計算をＹＵＶ空間へと変換して、そのＵ、Ｖの値から彩度を求めたが、これに限らずＬ＊ａ＊ｂ＊の空間へ変更して、ａ＊、ｂ＊を用いて彩度を求めるようにしても構わない。
【００３２】
また本実施例のルックアップテーブルデータは式（３０）、式（３１）、式（３２）で求められたＲｔ、Ｇｔ、Ｂｔをそのまま使用してＲＧＢ信号からＲＧＢ信号へと変換するルックアップテーブルデータを作成しているが、このＲｔ、Ｇｔ、Ｂｔを次式にてＹＵＶ信号に変換して３次元ルックアップテーブルデータとして用いることによりＲＧＢ信号からＹＵＶ信号へと変換するルックアップテーブルデータとして使用することが可能となる。以下に、ＲＧＢ信号の３次元ルックアップテーブルデータをＹＵＶ信号の３次元ルックアップテーブルデータへと変換する場合の式を示す。
【００３３】
Ｙｔ＝０．３×Ｒｔ＋０．５９×Ｇｔ＋０．１１×Ｂｔ    式（４２）
Ｕｔ＝（Ｂｔ−Ｙｔ）×０．５６４                      式（４３）
Ｖｔ＝（Ｒｔ−Ｙｔ）×０．７１３                      式（４４）
これによりＲＧＢ信号からＹＵＶ信号へと変換する処理を省くことが可能となる。
【００３４】
（実施例２）
本発明の第２の実施例を以下に説明する。
【００３５】
ブロック図は実施例１と変わらないため、同じ図を用いて説明する。
【００３６】
また本実施例では説明を簡単にするために、Ｎ次元ルックアップテーブルのＮを３にして説明を行う。また本実施例においては実施例１においてはＲＧＢ信号からＲＧＢ信号へと変換する３次元ルックアップテーブルデータを作成したのに対して、ＲＧＢ信号からＹＵＶ信号へと変換する３次元ルックアップテーブルデータを作成する場合について説明する。また実施例１と同じ部分に関しては説明を省略する。
【００３７】
１０２の３次元ルックアップテーブル作成部内部のブロック図を図２に示す。２０１のデータ検出部では格子点値（Ｒｇ，Ｇｇ，Ｂｇ）近辺の信号値が求められる。ここでソース画像の信号値を（Ｒｓ（ｘ，ｙ），Ｇｓ（ｘ，ｙ），Ｂｓ（ｘ，ｙ））（ただしｘ，ｙは画像の座標値）とすると、まず格子点値と信号値の差Ｅは以下の式により求められる。
【００３８】
Ｅ＝√（（Ｒｇ−Ｒｓ（ｘ，ｙ））＾２＋（Ｇｇ−Ｇｓ（ｘ，ｙ））＾２＋（Ｂｇ−Ｂｓ（ｘ，ｙ））＾２）    式（４５）
この信号値の差Ｅが予め決定されている値Ｌ以下であれば、格子点近辺の値ということになる。格子点近辺の値、すなわち、Ｅ≦Ｌを満たす画像がソース画像からサーチされると、２０２のデータ比較部にてその画素の座標（ｘ，ｙ）に対応するディスティネーション画像の信号値（Ｒｄ（ｘ，ｙ），Ｇｄ（ｘ，ｙ），Ｂｄ（ｘ，ｙ））が読みだされ、ソース画像の信号値とディスティネーション画像の信号値は、次式により色相Ｈ、彩度Ｓ、輝度Ｙの信号へと変換される。
【００３９】
Ｙｓ（ｘ，ｙ）＝０．３×Ｒｓ（ｘ，ｙ）＋０．５９×Ｇｓ（ｘ，ｙ）＋０．１１×Ｂｓ（ｘ，ｙ）    式（４６）
Ｕｓ（ｘ，ｙ）＝（Ｂｓ（ｘ，ｙ）−Ｙｓ（ｘ，ｙ））×０．５６４    式（４７）
Ｖｓ（ｘ，ｙ）＝（Ｒｓ（ｘ，ｙ）−Ｙｓ（ｘ，ｙ））×０．７１３    式（４８）
Ｈｓ（ｘ，ｙ）＝Ｔａｎ−１（Ｕｓ（ｘ，ｙ）／Ｖｓ（ｘ，ｙ））    式（４９）
Ｓｓ（ｘ，ｙ）＝√Ｕｓ（ｘ，ｙ）＾２＋Ｖｓ（ｘ，ｙ）＾２    式（５０）
Ｙｄ（ｘ，ｙ）＝０．３×Ｒｄ（ｘ，ｙ）＋０．５９×Ｇｄ（ｘ，ｙ）＋０．１１×Ｂｄ（ｘ，ｙ）    式（５１）
Ｕｄ（ｘ，ｙ）＝（Ｂｄ（ｘ，ｙ）−Ｙｄ（ｘ，ｙ））×０．５６４    式（５２）
Ｖｄ（ｘ，ｙ）＝（Ｒｄ（ｘ，ｙ）−Ｙｄ（ｘ，ｙ））×０．７１３    式（５３）
Ｈｄ（ｘ，ｙ）＝Ｔａｎ−１（Ｕｄ（ｘ，ｙ）／Ｖｄ（ｘ，ｙ））    式（５４）
Ｓｄ（ｘ，ｙ）＝√Ｕｄ（ｘ，ｙ）＾２＋Ｖｄ（ｘ，ｙ）＾２    式（５５）
【００４０】
ここで、ソース画像の信号値の彩度Ｓｓ（ｘ，ｙ）がしきい値Ｔ以下である（Ｓｓ≦Ｔ）場合には、ディスティネーション画像の信号値の彩度Ｓｄ（ｘ，ｙ）との比較が行われる。もし、Ｓｓ（ｘ，ｙ）≧Ｓｄ（ｘ，ｙ）であれば、次式を用いてｄＹ、ｄＵ、ｄＶが求められる。
【００４１】
ｄＹ＝Ｙｓ（ｘ，ｙ）−Ｙｄ（ｘ，ｙ）    式（５６）
ｄＵ＝Ｕｓ（ｘ，ｙ）−Ｕｄ（ｘ，ｙ）    式（５７）
ｄＶ＝Ｖｓ（ｘ，ｙ）−Ｖｄ（ｘ，ｙ）    式（５８）
また、Ｓｓ（ｘ，ｙ）＜Ｓｄ（ｘ，ｙ）であれば、２０３の黒補正処理部にて次式を用いてｄＹ、ｄＵ、ｄＶが求められる。
【００４２】
α＝Ｓｓ（ｘ，ｙ）／Ｓｄ（ｘ，ｙ）    式（５９）
Ｕｄ’（ｘ，ｙ）＝Ｓｄ（ｘ，ｙ）×α×Ｓｉｎ（Ｈｄ（ｘ，ｙ））    式（６０）
Ｖｄ’（ｘ，ｙ）＝Ｓｄ（ｘ，ｙ）×α×Ｃｏｓ（Ｈｄ（ｘ，ｙ））    式（６１）
ｄＹ＝Ｙｓ（ｘ，ｙ）−Ｙｄ（ｘ，ｙ）    式（６２）
ｄＵ＝Ｕｓ（ｘ，ｙ）−Ｕｄ’（ｘ，ｙ）    式（６３）
ｄＶ＝Ｖｓ（ｘ，ｙ）−Ｖｄ’（ｘ，ｙ）    式（６４）
【００４３】
上記の様に格子点値（Ｒｇ，Ｇｇ，Ｂｇ）においてソース画像全域のｄＹ、ｄＵ、ｄＶの平均値ｄＹａｖｅ、ｄＵａｖｅ、ｄＶａｖｅを求める。またソース画像中に格子点近辺の値が存在しない場合は、ｄＹａｖｅ＝ｄＵａｖｅ＝ｄＶａｖｅ＝０とする。
【００４４】
上記手法で求められたｄＹａｖｅ、ｄＵａｖｅ、ｄＶａｖｅは２０４のテーブル作成部におくられ、次式によりカスタマイズされた３次元ルックアップテーブルの格子点値（Ｒｇ，Ｇｇ，Ｂｇ）に対応する格子点格納値（Ｙｔ，Ｕｔ，Ｖｔ）が求められる。
【００４５】
Ｙｇ＝０．３×Ｒｇ＋０．５９×Ｇｇ＋０．１１×Ｂｇ    式（６５）
Ｕｇ＝（Ｂｇ−Ｙｇ）×０．５６４                      式（６６）
Ｖｇ＝（Ｒｇ−Ｙｇ）×０．７１３                      式（６７）
Ｙｔ＝Ｙｇ−ｄＹａｖｅ                                式（６８）
Ｕｔ＝Ｕｇ−ｄＵａｖｅ                                式（６９）
Ｖｔ＝Ｖｇ−ｄＶａｖｅ                                式（７０）
以上処理を格子点すべてに行うことにより３次元ルックアップテーブルが作成される。
【００４６】
実施例２に示したように、ＲＧＢ信号から３次元ルックアップテーブルを用いてＹＵＶ信号へ変換することにより、画像データをＪＰＥＧフォーマットとして記録する場合において、ＲＧＢ信号からＹＵＶ信号へと変換するマトリクス演算を省略することが可能となり、演算処理時間の短縮、および演算処理回路規模の削減が可能になる。
【００４７】
（実施例３）
本発明の第３の実施例を以下に説明する。
【００４８】
ブロック図は実施例１と変わらないため、同じ図を用いて説明する。
【００４９】
また本実施例では説明を簡単にするために、Ｎ次元ルックアップテーブルのＮを３にして説明を行う。また本実施例においては実施例１においてはＲＧＢ信号からＲＧＢ信号へと変換する３次元ルックアップテーブルデータを作成したのに対して、ＲＧＢ信号からＹＵＶ信号へと変換する３次元ルックアップテーブルデータを作成する場合について説明する。また、実施例２において、ソース画像とディスティネーション画像が同じ色空間信号であった場合の例をのべたが、本実施例においてはソース画像がＲＧＢ信号とディスティネーション画像がＹＵＶ信号といったように異なる場合について説明する。また実施例１と同じ部分に関しては説明を省略する。
【００５０】
１０２の３次元ルックアップテーブル作成部内部のブロック図を図２に示す。２０１のデータ検出部では格子点値（Ｒｇ，Ｇｇ，Ｂｇ）近辺の信号値が求められる。ここでソース画像の信号値を（Ｒｓ（ｘ，ｙ），Ｇｓ（ｘ，ｙ），Ｂｓ（ｘ，ｙ））（ただしｘ，ｙは画像の座標値）とすると、まず格子点値と信号値の差Ｅは以下の式により求められる。
【００５１】
Ｅ＝√（（Ｒｇ−Ｒｓ（ｘ，ｙ））＾２＋（Ｇｇ−Ｇｓ（ｘ，ｙ））＾２＋（Ｂｇ−Ｂｓ（ｘ，ｙ））＾２）    式（７１）
この信号値の差Ｅが予め決定されている値Ｌ以下であれば、格子点近辺の値ということになる。格子点近辺の値、すなわち、Ｅ≦Ｌを満たす画像がソース画像からサーチされると、２０２のデータ比較部にてその画素の座標（ｘ，ｙ）に対応するディスティネーション画像の信号値（Ｙｄ（ｘ，ｙ），Ｕｄ（ｘ，ｙ），Ｖｄ（ｘ，ｙ））が読みだされ、ソース画像の信号値とディスティネーション画像の信号値は、次式により色相Ｈ、彩度Ｓ、輝度Ｙの信号へと変換される。
【００５２】
Ｙｓ（ｘ，ｙ）＝０．３×Ｒｓ（ｘ，ｙ）＋０．５９×Ｇｓ（ｘ，ｙ）＋０．１１×Ｂｓ（ｘ，ｙ）    式（７２）
Ｕｓ（ｘ，ｙ）＝（Ｂｓ（ｘ，ｙ）−Ｙｓ（ｘ，ｙ））×０．５６４    式（７３）
Ｖｓ（ｘ，ｙ）＝（Ｒｓ（ｘ，ｙ）−Ｙｓ（ｘ，ｙ））×０．７１３    式（７４）
Ｈｓ（ｘ，ｙ）＝Ｔａｎ−１（Ｕｓ（ｘ，ｙ）／Ｖｓ（ｘ，ｙ））    式（７５）
Ｓｓ（ｘ，ｙ）＝√Ｕｓ（ｘ，ｙ）＾２＋Ｖｓ（ｘ，ｙ）＾２      式（７６）
Ｈｄ（ｘ，ｙ）＝Ｔａｎ−１（Ｕｄ（ｘ，ｙ）／Ｖｄ（ｘ，ｙ））    式（７７）
Ｓｄ（ｘ，ｙ）＝√Ｕｄ（ｘ，ｙ）＾２＋Ｖｄ（ｘ，ｙ）＾２      式（７８）
ここで、ソース画像の信号値の彩度Ｓｓ（ｘ，ｙ）がしきい値Ｔより小さい場合には、ディスティネーション画像の信号値の彩度Ｓｄ（ｘ，ｙ）との比較が行われる。もし、Ｓｓ（ｘ，ｙ）≧Ｓｄ（ｘ，ｙ）であれば、次式を用いてｄＹ、ｄＵ、ｄＶが求められる。
【００５３】
ｄＹ＝Ｙｓ（ｘ，ｙ）−Ｙｄ（ｘ，ｙ）    式（７９）
ｄＵ＝Ｕｓ（ｘ，ｙ）−Ｕｄ（ｘ，ｙ）    式（８０）
ｄＶ＝Ｖｓ（ｘ，ｙ）−Ｖｄ（ｘ，ｙ）    式（８１）
また、Ｓｓ（ｘ，ｙ）＜Ｓｄ（ｘ，ｙ）であれば、２０３の黒補正処理部にて次式を用いてｄＹ、ｄＵ、ｄＶが求められる。
【００５４】
α＝Ｓｓ（ｘ，ｙ）／Ｓｄ（ｘ，ｙ）    式（８２）
Ｕｄ’（ｘ，ｙ）＝Ｓｄ（ｘ，ｙ）×α×Ｓｉｎ（Ｈｄ（ｘ，ｙ））    式（８３）
Ｖｄ’（ｘ，ｙ）＝Ｓｄ（ｘ，ｙ）×α×Ｃｏｓ（Ｈｄ（ｘ，ｙ））    式（８４）
ｄＹ＝Ｙｓ（ｘ，ｙ）−Ｙｄ（ｘ，ｙ）    式（８５）
ｄＵ＝Ｕｓ（ｘ，ｙ）−Ｕｄ’（ｘ，ｙ）    式（８６）
ｄＶ＝Ｖｓ（ｘ，ｙ）−Ｖｄ’（ｘ，ｙ）    式（８７）
上記の様に格子点値（Ｒｇ，Ｇｇ，Ｂｇ）においてソース画像全域のｄＹ、ｄＵ、ｄＶの平均値ｄＹａｖｅ、ｄＵａｖｅ、ｄＶａｖｅを求める。またソース画像中に格子点近辺の値が存在しない場合は、ｄＹａｖｅ＝ｄＵａｖｅ＝ｄＶａｖｅ＝０とする。
【００５５】
上記手法で求められたｄＹａｖｅ、ｄＵａｖｅ、ｄＶａｖｅは２０４のテーブルデータ生成部におくられ、次式によりカスタマイズされた３次元ルックアップテーブルの格子点値（Ｒｇ，Ｇｇ，Ｂｇ）に対応する格子点格納値（Ｙｔ，Ｕｔ，Ｖｔ）が求められる。
【００５６】
Ｙｇ＝０．３×Ｒｇ＋０．５９×Ｇｇ＋０．１１×Ｂｇ    式（８８）
Ｕｇ＝（Ｂｇ−Ｙｇ）×０．５６４                      式（８９）
Ｖｇ＝（Ｒｇ−Ｙｇ）×０．７１３                      式（９０）
Ｙｔ＝Ｙｇ−ｄＹａｖｅ                                式（９１）
Ｕｔ＝Ｕｇ−ｄＵａｖｅ                                式（９２）
Ｖｔ＝Ｖｇ−ｄＶａｖｅ                                式（９３）
以上処理を格子点すべてに行うことにより３次元ルックアップテーブルが作成される。
【００５７】
実施例３では、ソース画像とディスティネーション画像の色空間が異なる場合について無彩色の色付き補正は可能であることを示した。ソース画像がＲＧＢ信号であって、ディスティネーション信号がＹＵＶ信号である場合でも実施例２と同様に実施例３においてもＲＧＢ信号から３次元ルックアップテーブルを用いてＹＵＶ信号へ変換することにより、画像データをＪＰＥＧフォーマットとして記録する場合において、ＲＧＢ信号からＹＵＶ信号へと変換するマトリクス演算を省略することが可能となり、演算処理時間の短縮、および演算処理回路規模の削減が可能となる。
【００５８】
ここで述べた本発明の実施例１〜３のルックアップテーブル作成方法は、例えば、デジタルカメラ上あるいは、ＰＣ上においても実現することが可能である。
【００５９】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることはいうまでもない。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているオペレーティングシステム（ＯＳ）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張カードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張カードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることはいうまでもない。
【００６０】
また、デジタルカメラ等の撮像装置上において本発明を実現した場合は、無彩色の色付きの発生を防いだ適切なレタッチ処理を撮像装置単体で完了させることが可能となる。
【００６１】
【発明の効果】
以上説明したように本発明によれば、ルックアップテーブル作成時に無彩色を表す信号が確実に無彩色に変換されるようにテーブルを作成するため、ルックアップテーブルを用いて色変換を行った場合における無彩色画像への色付きによる不連続性の発生を防ぐことが可能となる。
【図面の簡単な説明】
【図１】本発明の実施例における色変換処理の簡単なブロック図
【図２】本発明の実施例における３次元ルックアップテーブル作成部の簡単なブロック図
【図３】３次元ルックアップテーブルを用いた色変換処理に関するフローチャート
【図４】実施例１のルックアップテーブル作成部の無彩色補正処理に関するフローチャート
【符号の説明】
１０１  テーブル作成用画像データ入力部
１０２  ３次元ルックアップテーブル作成部
１０３  変換画像データ入力部
１０４  ３次元色変換処理部
１０５  画像データ出力部
２０１  データ検出部
２０２  データ比較部
２０３  無彩色補正処理部
２０４  テーブルデータ生成部
【図１】
2004246671.tif 000003
【図２】
2004246671.tif 000004
【図３】
2004246671.tif 000005
【図４】
2004246671.tif 000006