(57)【要約】【課題】良好な階調を保ったまま色域を変換すること。【解決手段】色域変換装置１００は、入力画像の色域を、当該入力画像を出力する出力色空間の色域へ変換する色域変換装置であって、輝度色差分離空間における変換対象色を含む等色相面において、出力色空間の色域外から当該色域内に向かう補正方向に沿って、変換対象色に対して彩度を圧縮すると共に輝度を増加する補正を行う第１の補正手段１０４を備え、第１の補正手段１０４は、変換対象色の輝度または彩度の少なくとも一方が大きくなるほど、補正において彩度の圧縮量に対する輝度の増加量の比を大きくし、等色相面において、白色点および最大彩度点を通る第１の直線上に変換対象色点が位置する場合には、補正方向を第１の直線に沿って白色点に向かう方向とする。【選択図】図１
2014033273.tif 000002
【特許請求の範囲】
【請求項１】
入力画像の色域を、当該入力画像を出力する出力色空間の色域へ変換する色域変換装置であって、
輝度色差分離空間における変換対象色を含む等色相面において、前記出力色空間の色域外から当該色域内に向かう補正方向に沿って、前記変換対象色に対して彩度を圧縮すると共に輝度を増加する補正を行う第１の補正手段を備え、
前記第１の補正手段は、前記変換対象色の輝度または彩度の少なくとも一方が大きくなるほど、前記補正において彩度の圧縮量に対する輝度の増加量の比を大きくし、前記等色相面において、白色点および最大彩度点を通る第１の直線上に前記変換対象色点が位置する場合には、前記補正方向を前記第１の直線に沿って前記白色点に向かう方向とすることを特徴とする色域変換装置。
【請求項２】
請求項１に記載の色域変換装置において、
前記第１の補正手段は、前記補正によって、黒色点と前記最大彩度点とを通る第２の直線よりも低輝度側にある変換対象色を、前記第２の直線上もしくは前記第２の直線よりも高輝度側に変換することを特徴とする色域変換装置。
【請求項３】
請求項１または２のいずれか一項に記載の色域変換装置において、
前記等色相面において、前記変換対象色に対して輝度を保ったまま彩度のみを圧縮する補正を行う第２の補正手段をさらに備え、
前記第２の補正手段は、前記補正によって、前記第１の直線よりも高輝度側にある変換対象色を、前記第１の直線上もしくは前記第１の直線よりも低輝度側に変換することを特徴とする色域変換装置。
【請求項４】
請求項１〜３のいずれか一項に記載の色域変換装置において、
前記第１の補正手段は、前記等色相面において、前記変換対象色点が前記第１の直線よりも低輝度側にある場合は、彩度の圧縮量に対する輝度の増加量の比を、前記変換対象色点が前記第１の直線上にある場合よりも小さくし、且つ前記変換対象色点が前記第１の直線に近いほど、彩度の圧縮量に対する輝度の増加量の比を大きくすることを特徴とする色域変換装置。
【請求項５】
請求項１〜４のいずれか一項に記載の色域変換装置において、
前記第１の補正手段は、前記等色相面において、黒色点と前記変換対象色点とを通る第３の直線と前記第１の直線との交点から前記黒色点までの距離に対する、前記変換対象色点から前記黒色点までの距離の比が大きいほど、彩度の圧縮量に対する輝度の増加量の比を大きくすることを特徴とする色域変換装置。
【請求項６】
請求項１〜５のいずれか一項に記載の色域変換装置において、
前記第１の補正手段は、前記変換対象色点を通り前記第１の直線の傾きと平行な第４の直線を軸とする座標系における前記変換対象色点の座標値に応じて、彩度の圧縮量を変更することを特徴とする色域変換装置。
【請求項７】
請求項３に記載の色域変換装置において、
前記第２の補正手段は、黒色点と前記変換対象色点とを通る第３の直線を軸とする座標系における前記変換対象色点の座標値に応じて、彩度の圧縮量を変更することを特徴とする色域変換装置。
【請求項８】
被写体像を撮像する撮像手段と、
請求項１〜７のいずれか一項に記載の色域変換装置と、
を備え、
前記色域変換装置は、前記撮像手段により撮像された画像に対して前記補正処理を行うことを特徴とするデジタルカメラ。
【請求項９】
コンピュータを、請求項１〜７のいずれか一項に記載の色域変換装置として機能させることを特徴とする色域変換プログラム。
【請求項１０】
入力画像の色域を、当該入力画像を出力する出力色空間の色域へ変換する色域変換方法であって、
輝度色差分離空間における変換対象色を含む等色相面において、前記出力色空間の色域外から当該色域内に向かう補正方向に沿って、前記変換対象色に対して彩度を圧縮すると共に輝度を増加する補正を行う補正工程を有し、
前記補正工程では、前記変換対象色の輝度または彩度の少なくとも一方が大きくなるほど、前記補正において彩度の圧縮量に対する輝度の増加量の比を大きくし、前記等色相面において、白色点および最大彩度点を通る第１の直線上に前記変換対象色点が位置する場合には、前記補正方向を前記第１の直線に沿って前記白色点に向かう方向とすることを特徴とする色域変換方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、色域変換装置、デジタルカメラ、色域変換プログラムおよび色域変換方法に関する。
【背景技術】
【０００２】
入力画像の色域より、当該入力画像を出力する出力デバイスの色域が狭い場合、出力デバイスの色域外に位置する色は、出力デバイスの色域の境界にクリップされ、階調変化が消失したり、色相が意図した色相から変化したりするといった問題が生じる。この様な問題を解決する手段として、ガマットマッピングという入力画像の色域から出力デバイスの色域に変換する方法が各種提案されている。例えば、等色相面において、明度を保ったまま彩度のみを圧縮する方法や、グレー軸上の一点に向かって色域外の色を圧縮する方法が知られている（特許文献１参照)。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平９−４６５３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上記従来技術では、赤や青のように高彩度色の輝度が低い場合に高彩度色が圧縮され過ぎてしまい、暗くなりやすく、また階調飛びが生じてしまうという問題があった。
【課題を解決するための手段】
【０００５】
（１）請求項１に記載の発明による色域変換装置は、入力画像の色域を、当該入力画像を出力する出力色空間の色域へ変換する色域変換装置であって、輝度色差分離空間における変換対象色を含む等色相面において、出力色空間の色域外から当該色域内に向かう補正方向に沿って、変換対象色に対して彩度を圧縮すると共に輝度を増加する補正を行う第１の補正手段を備え、第１の補正手段は、変換対象色の輝度または彩度の少なくとも一方が大きくなるほど、補正において彩度の圧縮量に対する輝度の増加量の比を大きくし、等色相面において、白色点および最大彩度点を通る第１の直線上に変換対象色点が位置する場合には、補正方向を第１の直線に沿って白色点に向かう方向とすることを特徴とする。
（２）請求項８に記載の発明によるデジタルカメラは、被写体像を撮像する撮像手段と、請求項１〜７のいずれか一項に記載の色域変換装置と、を備え、色域変換装置は、撮像手段により撮像された画像に対して補正処理を行うことを特徴とする。
（３）請求項９に記載の発明による色域変換プログラムは、コンピュータを、請求項１〜７のいずれか一項に記載の色域変換装置として機能させることを特徴とする。
（４）請求項１０に記載の発明による色域変換方法は、入力画像の色域を、当該入力画像を出力する出力色空間の色域へ変換する色域変換方法であって、輝度色差分離空間における変換対象色を含む等色相面において、出力色空間の色域外から当該色域内に向かう補正方向に沿って、変換対象色に対して彩度を圧縮すると共に輝度を増加する補正を行う補正工程を有し、補正工程では、変換対象色の輝度または彩度の少なくとも一方が大きくなるほど、補正において彩度の圧縮量に対する輝度の増加量の比を大きくし、等色相面において、白色点および最大彩度点を通る第１の直線上に変換対象色点が位置する場合には、補正方向を第１の直線に沿って白色点に向かう方向とすることを特徴とする。
【発明の効果】
【０００６】
本発明によれば、良好な階調を保ったまま色域を変換することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の一実施の形態による色域変換装置（デジタルカメラ）の構成例を説明するブロック図である。
【図２】画像処理の流れを説明するフローチャートである。
【図３】出力色空間の色域形状を説明する図である。
【図４】出力色空間の色域形状を説明する図である。
【図５】階調補正軸を説明する図である。
【図６】階調カーブを説明する図である。
【図７】彩度補正軸を説明する図である。
【図８】ガマットマッピングを説明する図である。
【図９】圧縮ゲインを説明する図である。
【図１０】コンピュータを例示する図である。
【発明を実施するための形態】
【０００８】
以下、図面を参照して本発明を実施するための形態について説明する。図１は、本発明の一実施形態による色域変換装置１００の構成を例示するブロック図である。本実施形態では、色域変換装置１００としてデジタルカメラを用いる例を説明する。デジタルカメラ１００は、操作部材１０１と、撮像レンズ１０２と、撮像素子１０３と、制御装置１０４と、メモリカードスロット１０５と、モニタ１０６とを備える。操作部材１０１は、使用者によって操作される種々の入力部材、例えば電源ボタン、レリーズボタン、ズームボタン、メニューボタンなどを含む。
【０００９】
撮像レンズ１０２は、被写体像を撮像素子１０３の撮像面に結像するように配置されている。撮像レンズ１０２は、図１では代表して１枚のレンズで表しているが、実際は複数の光学レンズから構成される。
【００１０】
撮像素子１０３は、例えばＣＭＯＳイメージセンサなどによって構成される。撮像素子１０３は、撮像レンズ１０２で結像される被写体像を撮像し、得られた画像信号を制御装置１０４へ出力する。撮像素子１０３には、Ｒ（赤）、Ｇ（緑）、Ｂ（青）がBayer配列されたカラーフィルタが形成されている。このため、デジタルカメラ１００で取得される画像の色は、機器依存のＲＧＢ表色系で表される。
【００１１】
制御装置１０４は、ＣＰＵ、メモリ、およびその他の周辺回路により構成され、デジタルカメラ１００が行う撮影動作を制御する。制御装置１０４を構成するメモリには、ＳＤＲＡＭやフラッシュメモリが含まれる。ＳＤＲＡＭは揮発性のメモリであって、制御装置１０４がプログラム実行時にプログラムを展開するためのワークメモリとして使用される。また、ＳＤＲＡＭは、データを一時的に記憶するためのバッファメモリとしても使用される。一方、フラッシュメモリは不揮発性のメモリであって、制御装置１０４が実行するプログラムや、プログラム実行時に読込まれる種々のパラメータなどを記憶する。
【００１２】
メモリカードスロット１０５は、記憶媒体としてのメモリカードを挿入するためのスロットである。制御装置１０４は、撮影処理を行うことによって生成した画像ファイルを、メモリカードスロット１０５に挿入されているメモリカードへ書込んで記録する。また、制御装置１０４は、メモリカードスロット１０５に挿入されているメモリカード内に記録されている画像ファイルを読込む。
【００１３】
モニタ１０６は、デジタルカメラ１００の背面に搭載された液晶モニタ（いわゆる背面モニタ）である。当該モニタ１０６には、メモリカードに記録されている画像ファイルに基づく再生画像や、デジタルカメラ１００を設定するための設定メニューなどが表示される。また、使用者が操作部材１０１を操作してデジタルカメラ１００を、背面液晶を使用する撮影モードに設定すると、制御装置１０４は、撮像素子１０３から時系列で取得した画像の表示用画像データをモニタ１０６に出力する。これにより、モニタ１０６にスルー画を表示することもできる。
【００１４】
本実施形態は、上記デジタルカメラ１００が実行する画像処理に特徴を有するので、以下の説明はこの画像処理を中心に行う。図２は、この画像処理の流れを説明するフローチャートである。なお、この画像処理は、制御装置１０４のメモリに記憶された画像処理プログラムに従って制御装置１０４が実行する処理である。
【００１５】
図２のステップＳ１において、制御装置１０４は、撮像素子１０３から読み出されたＲＧＢ画像データを取得する。そして制御装置１０４は、このＲＧＢ画像データに対して、補間、ホワイトバランス、ノイズ除去などの処理を施して、ステップＳ２へ進む。
【００１６】
ステップＳ２において制御装置１０４は、ステップＳ１で処理が施されたＲＧＢ画像データを、撮像素子１０３固有のＲＧＢ空間から、階調補正および彩度補正を行うための色空間であるＹＣＣ空間に変換して、ステップＳ３へ進む。この変換は、画像を出力する色空間（出力色空間）として例えばｓＲＧＢ空間を利用する場合、以下の式（１）〜（３）により行われる。なお、以下の式（１）〜（３）において、（Ｒ，Ｇ，Ｂ）は、式（１）の入力値（上記ＲＧＢ画像データ）である。（Ｒ１，Ｇ１，Ｂ１）は、式（１）の出力値且つ式（２）の入力値である。（Ｒ２，Ｇ２，Ｂ２）は、式（２）の出力値且つ式（３）の入力値である。（Ｙ，Ｃｂ，Ｃｒ）は、式（３）の出力値である。また、ＭＲＧＢ２ＸＹＺは、撮像素子１０３固有のＲＧＢ空間からＸＹＺ空間（例えばＣＩＥ １９６４ ＸＹＺ）へ変換するための変換マトリックスであり、撮像素子１０３の分光感度特性や撮影時の照明条件などに基づいて決定される。また、ＭＸＹＺ２ｓＲＧＢは、ＸＹＺ空間からｓＲＧＢ空間へ変換するための変換マトリックスである。また、ＬＵＴ１は、標準のｓＲＧＢ空間におけるγ変換を行うためのルックアップテーブルである。また、ＭｓＲＧＢ２ＹＣＣは、ｓＲＧＢ空間からＹＣＣ空間へ変換するための変換マトリックスである。
【数１】
2014033273.tif 000003
【数２】
2014033273.tif 000004
【数３】
2014033273.tif 000005
【００１７】
ステップＳ３において制御装置１０４は、ステップＳ２で変換されたＹＣｂＣｒ画像データにおいて、輝度に応じた彩度の見えを補正するため、輝度に応じて彩度を補正し、ステップＳ４へ進む。
【００１８】
ステップＳ４において制御装置１０４は、ステップＳ３で補正されたＹＣｂＣｒ画像データにおいて、彩度に応じて輝度を補正し、ステップＳ５へ進む。
【００１９】
ステップＳ５において制御装置１０４は、ステップＳ４で補正されたＹＣｂＣｒ画像データにおいて、１画素ごとに色相を算出して、ステップＳ６へ進む。なお、色相は、例えばＣｂとＣｒとの比や、ＣｒまたはＣｂと、ＣｒおよびＣｂの絶対値を用いた彩度近似値との比に基づいて算出される。
【００２０】
ステップＳ６において制御装置１０４は、ＹＣｂＣｒ画像データの１画素ごとに、ステップＳ５で算出した色相の等色相面における出力色空間（ｓＲＧＢ空間）の色域形状を算出する。
【００２１】
ＹＣＣ空間における等色相面において、出力色空間（ｓＲＧＢ空間）の色域を表すと、図３に示すように、黒色点Ｂｐと白色点Ｗｐと最大彩度点Ｃｐとを結んだ三角形で近似して表すことができる。なお、図３において、縦軸が輝度（Ｙ）であり、横軸が彩度（Ｃ）である。ＹＣＣ空間では、Ｙ軸方向が輝度を表し、ＣｂＣｒ面での原点まわりの角度が色相を表す。つまり、Ｙ軸を含んでＣｂ軸あるいはＣｒ軸と一定の角度をなす平面上の色はみな同じ色相となり、これを等色相面と呼んでいる。等色相面ではＹ軸からの距離が彩度を表している。また、黒色点Ｂｐは、出力色空間で表現しうる最も輝度が低い色を示し、白色点Ｗｐは、出力色空間で表現しうる最も輝度が高い色を示す。最大彩度点Ｃｐは、各色相において出力色空間で表現しうる最も彩度が高い色を示す。
【００２２】
また、出力色空間の等色相面での色域形状は、色相によって異なる。これは、最大彩度点Ｃｐにおける輝度が色相によって異なるためである。例えば、赤や青は黄色より暗く感じられるため、図４に示すように、赤や青の最大彩度点Ｃｐにおける輝度は、黄色の最大彩度点Ｃｐにおける最大輝度より低い。また、有彩色の最大彩度点Ｃｐの輝度は、無彩色の最大輝度（すなわち白色点Ｗｐ）よりも低い。
【００２３】
ステップＳ６では、各画素の色相について、等色相面における、白色点Ｗｐと最大彩度点Ｃｐとを通る第１の直線Ｌ１の傾き（以下、第１の傾きと呼ぶ）ｐｄｙ１と、黒色点Ｂｐと最大彩度点Ｃｐとを通る第２の直線Ｌ２の傾き（以下、第２の傾きと呼ぶ）ｐｄｙ２とを、対象画素の色相における出力色空間の色域形状として算出する。なお、本説明においては、傾きを絶対値で扱うこととし、ｐｄｙ１およびｐｄｙ２もそれぞれ絶対値で算出する。またここでは、黒色点Ｂｐの輝度および彩度を（０，０）とし、白色点Ｗｐの輝度および彩度を（１，０）として、各画素の輝度および彩度が正規化されているとする。
【００２４】
ここで、赤、黄、緑における第１の傾きｐｄｙ１は、それぞれ反対色であるシアン、青、マゼンタにおける第２の傾きｐｄｙ２と等しい。一方、赤、黄、緑における第２の傾きｐｄｙ２は、それぞれ反対色であるシアン、青、マゼンタにおける第１の傾きｐｄｙ１と等しい。そこで、制御装置１０４内のメモリ（不図示）には、少なくとも３色（例えば赤、黄、緑）において、それぞれ第１の傾きｐｄｙ１および第２の傾きｐｄｙ２が予め記録されている。制御装置１０４は、このメモリに記録された赤、黄、緑における第１の傾きｐｄｙ１および第２の傾きｐｄｙ２に基づいて、シアン、青、マゼンタにおける第１の傾きｐｄｙ１および第２の傾きｐｄｙ２についても求めることができる。
【００２５】
ステップＳ６では、この計６色（赤、黄、緑、シアン、青、マゼンタ）のうち、対象画素の色相に隣接する２色相における第１の傾きｐｄｙ１および第２の傾きｐｄｙ２を用いて、対象画素の色相における第１の傾きｐｄｙ１および第２の傾きｐｄｙ２を算出する。例えば、対象画素の色相が緑からシアンの間にある場合は、メモリに記録された赤における第１の傾きｐｄｙ１および第２の傾きｐｄｙ２を用いて、シアンにおける第１の傾きｐｄｙ１および第２の傾きｐｄｙ２を求める。そして、このシアンにおける第１の傾きｐｄｙ１および第２の傾きｐｄｙ２と、メモリに記録された緑における第１の傾きｐｄｙ１および第２の傾きｐｄｙ２を、対象画素の色相と緑およびシアンとの差分を考慮して重み付けして、対象画素の色相における第１の傾きｐｄｙ１および第２の傾きｐｄｙ２を算出する。
【００２６】
このようにして制御装置１０４は、ＹＣｂＣｒ画像データの１画素ごとに、その画素の色相における第１の傾きｐｄｙ１および第２の傾きｐｄｙ２を算出して、ステップＳ７へ進む。
【００２７】
ステップＳ７において制御装置１０４は、ＹＣｂＣｒ画像データに対して階調補正を行う。この階調補正では、輝度（Ｙ）軸に沿って補正するのではなく、図５に示すように、補正を行う画素の色（補正対象色）の等色相面において、補正対象色の輝度および彩度を示す点（補正対象色点）Ｔｐと黒色点Ｂｐとを結ぶ第３の直線Ｌ３に沿って輝度および彩度が変化するように補正する。
【００２８】
この階調補正について具体的に説明する。なお、以下の説明において、ＹＣｂＣｒ画像データは、Ｙの最小値（最小輝度）を０とし、Ｙの最大値（最大輝度）を１として正規化された値を用いている。まず、制御装置１０４は、補正対象色のＣｂ値およびＣｒ値から、次式（４）により、補正対象色の彩度Ｃの近似値を算出する。式（４）における除算（／４）はビットシフトを用いて対応してもよい。
C = (｜Cb｜+｜Cr｜+｜Cb + Cr｜+｜Cb - Cr｜)/4  …（４）
【００２９】
なお、処理負荷を軽くしつつ良好な彩度近似値を算出するため、式（４）を用いたが、処理負荷に余裕がある場合は、次の式（５）を用いたり、式（４）、（５）以外の式で彩度Ｃを算出したりしてもよい。
C = (Cb2+ Cr2)1/2  …（５）
【００３０】
次に、制御装置１０４は、第３の直線Ｌ３を軸とする座標系（以下、階調補正座標系と呼ぶ）における補正対象色点Ｔｐの座標値を階調補正パラメータyGainInとして算出する。この階調補正座標系は、黒色点Ｂｐの座標値が０であり、第３の直線Ｌ３と第１の直線Ｌ１との交点Ｐ３１の座標値が１であり、黒色点Ｂｐから交点Ｐ３１へ向かう方向に座標値が大きくなる座標系であるとする。具体的には、制御装置１０４は、補正対象色の輝度Ｙおよび彩度Ｃと第１の傾きｐｄｙ１とを用いて、次式（６）により、階調補正パラメータyGainInを算出する。
yGainIn = Y + C * pDy1  …（６）
【００３１】
すなわち、補正対象色点Ｔｐが黒色点Ｂｐ上にあればyGainIn＝０となり、補正対象色点Ｔｐが交点Ｐ３１上にあればyGainIn＝１となる。また、補正対象色点Ｔｐが黒色点Ｂｐと交点Ｐ３１との間にある場合は、０＜yGainIn＜１となり、補正対象色点Ｔｐが交点Ｐ３１に近くなるほどyGainInは１に向かって大きくなり、補正対象色点Ｔｐが黒色点Ｂｐに近くなるほどyGainInは０に向かって小さくなる。また、補正対象色点Ｔｐが交点Ｐ３１よりも黒色点Ｂｐから遠い場合には、yGainIn＞１となる。この場合、補正対象色点Ｔｐは出力色空間の色域外に位置している。
【００３２】
次に、制御装置１０４は、階調補正ゲインyGainを求める。階調補正ゲインyGainとは、階調補正前の輝度（Input）に対する階調補正後の輝度（Output）の比（Output/Input）である。階調補正ゲインyGainは、例えば、図６に示すようなＳ字の階調カーブTcを用いて階調補正が行われるように設定されている。なお、図６では、横軸がInputであり、縦軸がOutputである。また、階調補正ゲインyGainは、Inputが０以上１以下である場合にはInputに階調補正ゲインyGainを乗算した値であるOutputが０以上１以下となるように設定されており、色域内の色は色域内に変換される。なお、Inputが１より大きい場合にはInputに階調補正ゲインyGainを乗算した値であるOutputが１より大きくなるように設定されており、色域外の色は色域外に変換される。
【００３３】
制御装置１０４のメモリには、Inputを入力すると、このように設定された階調補正ゲインyGainを出力するルックアップテーブルＬＵＴ２が予め記録されている。制御装置１０４は、このルックアップテーブルＬＵＴ２を用いて、次式（７）により階調補正ゲインyGainを算出する。すなわち、階調補正パラメータyGainInをルックアップテーブルＬＵＴ２の入力値として階調補正ゲインyGainを求める。
yGain = LUT2(yGainIn)   …（７）
【００３４】
次に、制御装置１０４は、次式（８）〜（１１）により、補正対象色のＹＣｂＣｒおよび彩度Ｃに対して、それぞれ階調補正ゲインyGainを乗算することで、階調が補正されたＹ１Ｃｂ１Ｃｒ１および彩度Ｃ１を算出する。
Y１ = Y * yGain   …（８）
Cb１ = Cb * yGain   …（９）
Cr１ = Cr * yGain   …（１０）
C１ = C * yGain   …（１１）
【００３５】
以上のように制御装置１０４は、ＹＣｂＣｒ画像データの各画素に対して上記階調補正を行うと、ステップＳ８へ進む。
【００３６】
ステップＳ８において制御装置１０４は、ステップＳ７の階調補正後の画像データ（Ｙ１Ｃｂ１Ｃｒ１）に対して、彩度補正を行う。この彩度補正では、彩度（Ｃ）軸に沿って補正するのではなく、図７に示すように、補正対象色点Ｔｐを通り且つ第１の直線Ｌ１に平行である第４の直線Ｌ４に沿って輝度および彩度が変化するように補正する。
【００３７】
この彩度補正について具体的に説明する。まず、制御装置１０４は、第４の直線Ｌ４を軸とする座標系（以下、彩度補正座標系と呼ぶ）における補正対象色点Ｔｐの座標値を彩度補正パラメータcGainInとして算出する。この彩度補正座標系では、第２の直線Ｌ２と第４の直線Ｌ４との交点Ｐ４２の座標値が１であり、第４の直線Ｌ４と輝度（Ｙ）軸（すなわち黒色点Ｂｐと白色点Ｗｐとを通る直線）との交点Ｐ４Ｙから交点Ｐ４２へ向かう方向に座標値が大きくなる座標系であるとする。具体的には、制御装置１０４は、補正対象色の輝度Ｙ１および彩度Ｃ１と第２の傾きｐｄｙ２とを用いて、次式（１２）により、彩度補正パラメータcGainInを算出する。
cGainIn = 1 -Y１ + pDy2 * C１  …（１２）
【００３８】
すなわち、補正対象色点Ｔｐが交点Ｐ４２上にあればcGainIn＝１となる。また、補正対象色点Ｔｐが交点Ｐ４Ｙと交点Ｐ４２との間にある場合は、cGainIn＜１となり、補正対象色点Ｔｐが交点Ｐ４２に近くなるほどcGainInは１に向かって大きくなり、補正対象色点Ｔｐが交点Ｐ４Ｙに近くなるほどcGainInは小さくなる。また、補正対象色点Ｔｐが交点Ｐ４２よりも交点Ｐ４Ｙから遠い場合には、cGainIn＞１となる。この場合、補正対象色点Ｔｐは出力色空間の色域外に位置している。
【００３９】
次に、制御装置１０４は、彩度補正ゲインcGainを求める。彩度補正ゲインcGainとは、彩度補正前の彩度（Input）に対する彩度補正後の彩度（Output）の比（Output/Input）である。彩度補正ゲインcGainは、例えば、Inputに対して上述した図６と同様のＳ字状である彩度カーブを用いて彩度補正が行われるように設定されている。また、彩度補正ゲインcGainは、Inputが０以上１以下である場合にはInputに彩度補正ゲインcGainを乗算した値であるOutputが０以上１以下となるように設定されており、色域内の色は色域内に変換される。なお、Inputが１より大きい場合にはInputに彩度補正ゲインcGainを乗算した値であるOutputが１より大きくなるように設定されており、色域外の色は色域外に変換される。
【００４０】
制御装置１０４のメモリには、Inputを入力すると、このように設定された彩度補正ゲインcGainを出力するルックアップテーブルＬＵＴ３が予め記録されている。制御装置１０４は、このルックアップテーブルＬＵＴ３を用いて、次式（１３）により彩度補正ゲインcGainを算出する。すなわち、彩度補正パラメータcGainInをルックアップテーブルＬＵＴ３の入力値として彩度補正ゲインcGainを求める。
cGain = LUT3(cGainIn)   …（１３）
【００４１】
次に、制御装置１０４は、補正対象色のＹ１およびＣ１と第１の傾きｐｄｙ１と彩度補正ゲインcGainとに基づいて、次式（１４）により、彩度が補正されたＹ２を算出する。また制御装置１０４は、次式（１５）〜（１７）により、補正対象色のＣｂ１Ｃｒ１および彩度Ｃ１に対して、それぞれ彩度補正ゲインcGainを乗算することで、彩度が補正されたＣｂ２Ｃｒ２および彩度Ｃ２を算出する。
Y２ = Y１ - C１ * (cGain-1) * pDy1   …（１４）
Cb２ = Cb１ * cGain   …（１５）
Cr２ = Cr１ * cGain   …（１６）
C２ = C１ * cGain   …（１７）
【００４２】
以上のように制御装置１０４は、ＹＣｂＣｒ画像データの各画素に対して上記彩度補正を行うと、ステップＳ９へ進む。
【００４３】
ステップＳ９において制御装置１０４は、ガマットマッピングのレベル（すなわち色域圧縮の強度）を設定する。ここで、本実施形態のガマットマッピングでは、cGainIn＞１となる領域にある色と、yGainIn＞１となる領域にある色とでガマットマッピングの方法を変えるようになっている。なお、cGainIn＞１となる領域とは、第２の直線Ｌ２よりも低輝度の領域であり、出力色空間（ｓＲＧＢ）においてＲＧＢのいずれかが負値となる領域である。また、yGainIn＞１となる領域とは、第１の直線Ｌ１よりも高輝度の領域であり、出力色空間（ｓＲＧＢ）においてＲＧＢのいずれかが最大値以上となる領域である。以下、cGainIn＞１となる領域にある色を圧縮するためのガマットマッピングを低輝度ガマットマッピングと呼び、yGainIn＞１となる領域にある色を圧縮するためのガマットマッピングを高輝度ガマットマッピングと呼ぶ。低輝度ガマットマッピングおよび高輝度ガマットマッピングについて、詳しくは後述する。ステップＳ９では、低輝度ガマットマッピングのレベルと高輝度ガマットマッピングのレベルとをそれぞれ設定する。
【００４４】
具体的に制御装置１０４は、ステップＳ８の彩度補正後のＹ２Ｃｂ２Ｃｒ２において、上記式（６）および式（１２）により階調補正パラメータyGainInおよび彩度補正パラメータcGainInを算出する。制御装置１０４は、算出した階調補正パラメータyGainInおよび彩度補正パラメータcGainInのヒストグラムを作成し、このヒストグラムからyGainIn＞１となる画素数の分布と、cGainIn＞１となる画素数の分布とをそれぞれ求める。そして制御装置１０４は、cGainIn＞１となる画素数の分布に応じて低輝度ガマットマッピングのレベルを設定し、yGainIn＞１となる画素数の分布に応じて高輝度ガマットマッピングのレベルを設定する。例えば、cGainIn＞１またはyGainIn＞１となる画素数が多いほど、低輝度ガマットマッピングまたは高輝度ガマットマッピングのレベルを大きく設定し、cGainIn＞１またはyGainIn＞１となる画素数が少ないほど、低輝度ガマットマッピングまたは高輝度ガマットマッピングのレベルを小さく設定する。
【００４５】
なお、低輝度ガマットマッピングおよび高輝度ガマットマッピングのレベルは、ユーザにより設定された色再現モード（彩度強調モード、または、彩度は強調せず階調感を重視する階調感重視モードなど）に応じて調整してもよい。例えば、階調を残すより高彩度において階調が潰れ気味でも全体の彩度感を重視する彩度強調モードの場合には、低輝度ガマットマッピングおよび高輝度ガマットマッピングのレベルを最低（すなわちガマットマッピングを行わない）に設定する。一方、階調感重視モードの場合には、低輝度ガマットマッピングおよび高輝度ガマットマッピングのレベルを上述したようにヒストグラムに応じて設定する。
【００４６】
このようにして制御装置１０４は、低輝度ガマットマッピングおよび高輝度ガマットマッピングのレベルをそれぞれ設定すると、ステップＳ１０へ進む。
【００４７】
ステップＳ１０において制御装置１０４は、ステップＳ８の彩度補正後のＹＣｂＣｒ画像データに対して、低輝度ガマットマッピングおよび高輝度ガマットマッピングを行う。以下、低輝度ガマットマッピングおよび高輝度ガマットマッピングについて具体的に説明する。まず、低輝度ガマットマッピングについて説明する。低輝度ガマットマッピングでは、図８においてcGainIn＞１の領域内に矢印で示すように、色変換を行う画素の色（変換対象色）の等色相面において、出力色空間の色域外から当該色域内に向かう方向に沿って、変換対象色に対して彩度を圧縮すると共に輝度を増加する補正を行う。
【００４８】
この補正では、輝度および彩度を補正する方向（色補正方向）の傾き（すなわち彩度の圧縮量に対する輝度の増加量の比）を、変換対象色の階調補正パラメータyGainInに応じて変更する。具体的に、変換対象色においてyGainIn＝０の場合には、色補正方向の傾きを０とする（すなわち彩度のみを圧縮する）。また、変換対象色においてyGainIn＝１の場合には、色補正方向の傾きを第１の傾きｐｄｙ１とする（すなわち白点Ｗｐに向かう方向（第１の直線Ｌ１）に沿って補正する）。また、変換対象色において０＜yGainIn＜１の場合には、色補正方向の傾きが０よりも大きく且つｐｄｙ１よりも小さいとし、yGainInが大きくなるにつれ、色補正方向の傾きがｐｄｙ１に向かって大きくなるようにする。また、変換対象色においてyGainIn＞１の場合には、yGainInが大きくなるにつれ、色補正方向の傾きがｐｄｙ１からさらに大きくなるようにする。したがって、０＜yGainInの場合には、yGainInに応じて、輝度の補正量が単調増加するようになっている。尚、yGainIn＞１の場合、低輝度ガマットマッピング後、後述する高輝度ガマットマッピングも行われることになるため、合成圧縮方向を考慮して、色補正方向の傾きはyGainIn＝１と同じくｐｄｙ１としてもよい。
【００４９】
また、色の圧縮率（圧縮ゲイン）については、低輝度ガマットマッピング用のルックアップテーブルＬＵＴ４に、変換対象色の彩度補正パラメータcGainInを入力して求める。ルックアップテーブルＬＵＴ４では、入力値（cGainIn）と出力値（圧縮ゲイン）との関係が図９に示す曲線で示されるように、入力値と出力値とが対応付けられている。図９に示す曲線は、入力値が所定の閾値ａ以下である場合に出力値が１となり（すなわち色圧縮を行わない）、入力値が当該閾値ａ以上である場合には出力値が１以下となり（すなわち色圧縮を行う）、閾値ａにおいて滑らかにつながり且つ以後単調減少するような非線形関数である。なお、閾値ａ≦１であり、cGainIn＞１となる領域、すなわち出力色空間の色域外となる領域に加え、当該色域内も含めて色圧縮を行ってもよい。
【００５０】
またルックアップテーブルＬＵＴ４については、制御装置１０４がステップ９で設定した低輝度ガマットマッピングレベルに応じて選択するようになっている。制御装置１０４は、例えば、低輝度ガマットマッピングレベルが大きいほど、閾値ａ（すなわち圧縮を開始する値）が低いルックアップテーブルを選択することで、彩度を圧縮する範囲を広くし、階調感を強調する。一方、制御装置１０４は、低輝度ガマットマッピングレベルが小さいほど、閾値ａが高いルックアップテーブルを選択することで、彩度を圧縮する範囲を狭くし、彩度感を残す。閾値ａ＝１の場合、出力色空間の色域外の色のみ色域境界に圧縮し、色域内の色は圧縮しないため、色域外でも色相変化は小さく、かつ彩度感は保存される。
【００５１】
制御装置１０４は、このような低輝度ガマットマッピングを、次式（１８）〜（２１）を用いて行う。式（１８）〜（２０）において、Y２Cb２Cr２はステップＳ８の彩度補正後の画像データであり、Y３Cb３Cr３は低輝度ガマットマッピング後の画像データである。
Y３ = Y２ + (1 - LUT4(cGainIn)) * C２ * pDy1 * yGainIn  …（１８）
Cb３ = Cb２* {LUT4(cGainIn) - (1 - LUT4(cGainIn))* pDy3 *(1 - yGainIn)}  …（１９）
Cr３ = Cr２* {LUT4(cGainIn) - (1 - LUT4(cGainIn))* pDy3 *(1 - yGainIn)}  …（２０）
pDy3 = pDy1 / pDy2  …（２１）
【００５２】
なお、式（１８）では、yGainIn＝１である場合（白点Ｗｐに向かう補正の場合）における輝度の増加量に対してyGainInを乗算した量を、低輝度ガマットマッピング前の輝度Ｙ２に加算することで、低輝度ガマットマッピング後の輝度Ｙ３を求めている。すなわち、yGainInが大きくなるほど、輝度の増加量をより大きくし、色補正方向の傾きを大きくしている。
【００５３】
また、式（１９）および（２０）では、yGainIn＝１である場合の輝度の増加量と当該増加量にyGainInを乗算した量（すなわち変換対象色における輝度の増加量）との差分を、第２の直線の傾きpdy2によって除算した量を求め、この量を、低輝度ガマットマッピング前の彩度（色差Ｃｂ２Ｃｒ２）に圧縮ゲイン（LUT4(cGainIn)）を乗算した値から引算して、低輝度ガマットマッピング後の彩度（色差Ｃｂ３Ｃｒ３）を求めている。すなわち、yGainInが小さくなるほど、上記引算する量を大きくすることで彩度の圧縮量をより増やし、色補正方向の傾きを小さくしている。
【００５４】
次に、高輝度ガマットマッピングについて説明する。高輝度ガマットマッピングでは、図８においてyGainIn＞１の領域内に矢印で示すように、変換対象色の等色相面において、色域境界（第１の直線Ｌ１）に向かって、輝度を変えずに彩度のみを圧縮する。色の圧縮率（圧縮ゲイン）については、高輝度ガマットマッピング用のルックアップテーブルＬＵＴ５に、変換対象色の階調補正パラメータyGainInを入力して求める。ルックアップテーブルＬＵＴ５では、ルックアップテーブルＬＵＴ４と同様に、入力値（yGainIn）と出力値（圧縮ゲイン）との関係が図９に示す曲線で示される。なお、ルックアップテーブルＬＵＴ５においても、閾値ａ≦１であり、yGainIn＞１となる領域、すなわち出力色空間の色域外となる領域に加え、当該色域内も含めて色圧縮を行ってもよい。また、ルックアップテーブルＬＵＴ４およびＬＵＴ５は同一の関数であっても異なる関数であってもよい。
【００５５】
またルックアップテーブルＬＵＴ５については、制御装置１０４がステップ９で設定した高輝度ガマットマッピングレベルに応じて選択するようになっている。この選択方法については、ルックアップテーブルＬＵＴ４の場合と同様である。
【００５６】
制御装置１０４は、このような高輝度ガマットマッピングを、次式（２２）〜（２４）を用いて行う。なお、式（２２）〜（２４）において、Y３Cb３Cr３は低輝度ガマットマッピング後の画像データであり、Y４Cb４Cr４は高輝度ガマットマッピング後の画像データである。
Y４ = Y３  …（２２）
Cb４ = Cb３* LUT5(yGainIn)  …（２３）
Cr４ = Cr３* LUT5(yGainIn)  …（２４）
【００５７】
以上のガマットマッピング処理の結果、cGainIn＞１且つyGainIn＜１である領域にある色は、低輝度ガマットマッピングによりcGainIn＜１である領域内に変換される。また、cGainIn＜１且つyGainIn＞１である領域にある色は、高輝度ガマットマッピングによりyGainIn＜１である領域内に変換される。また、cGainIn＞１且つyGainIn＞１である領域にある色は、低輝度ガマットマッピングによりcGainIn＜１である領域内に変換された後、高輝度ガマットマッピングによりyGainIn＜１である領域内に変換される。
【００５８】
このようにして制御装置１０４は、低輝度ガマットマッピングおよび高輝度ガマットマッピングを行うと、ステップＳ１１へ進む。
【００５９】
ステップＳ１１において制御装置１０４は、ステップＳ１０のガマットマッピング後のＹＣｂＣｒ画像データを、公知の変換式を用いて出力色空間（ここではｓＲＧＢ空間）の値へ変換して、ステップＳ１２へ進む。
【００６０】
ステップＳ１２において制御装置１０４は、ステップＳ１１で出力色空間に変換した画像データを、出力ファイルフォーマットに従ってエンコーディングを行い、メモリカードスロット１０５に挿入されているメモリカードへ記録して、図２の処理を終了する。
【００６１】
以上説明した実施形態によれば、次の作用効果が得られる。
（１）デジタルカメラ１００は、輝度色差分離空間（ＹＣＣ空間）における変換対象色を含む等色相面において、出力色空間の色域外から当該色域内に向かう補正方向に沿って、変換対象色に対して彩度を圧縮すると共に輝度を増加する補正（低輝度ガマットマッピング）を行う制御装置１０４を備え、制御装置１０４は、変換対象色の輝度または彩度の少なくとも一方が大きくなるほど、補正において彩度の圧縮量に対する輝度の増加量の比（色補正方向の傾き）を大きくし、等色相面において、白色点Ｗｐおよび最大彩度点Ｃｐを通る第１の直線Ｌ１上に変換対象色点Ｔｐが位置する場合には、補正方向を第１の直線Ｌ１に沿って白色点Ｗｐに向かう方向とするように構成した。これにより、高彩度色の輝度が低い場合にも高彩度色を圧縮し過ぎることなく、高彩度色が暗くなり過ぎず、良好な階調を保ったまま入力画像の色域を出力色空間の色域へ変換することができる。
【００６２】
（２）上記（１）のデジタルカメラ１００において、制御装置１０４は、上記補正によって、黒色点Ｂｐと最大彩度点Ｃｐとを通る第２の直線Ｌ２よりも低輝度側にある変換対象色を、第２の直線Ｌ２上もしくは第２の直線Ｌ２よりも高輝度側に変換するように構成した。これにより、変換対象色が出力色空間の色域外にある場合に、変換対象色を出力色空間の色域内へ補正することができる。
【００６３】
（３）上記（１）または（２）のデジタルカメラ１００において、等色相面において、変換対象色に対して輝度を保ったまま彩度のみを圧縮する補正（高輝度ガマットマッピング）を行う制御装置１０４をさらに備え、制御装置１０４は、当該補正によって、第１の直線Ｌ１よりも高輝度側にある変換対象色を、第１の直線Ｌ１上もしくは第１の直線Ｌ１よりも低輝度側に変換するように構成した。これにより、変換対象色が高輝度である場合に、明るさを保ちながら彩度のみを圧縮でき、変換対象色を出力色空間の色域内へ補正することができる。
【００６４】
（４）上記（１）〜（３）のデジタルカメラ１００において、制御装置１０４は、等色相面において、変換対象色点Ｔｐが第１の直線Ｌ１よりも低輝度側にある場合は、彩度の圧縮量に対する輝度の増加量の比（色補正方向の傾き）を、変換対象色点Ｔｐが第１の直線Ｌ１上にある場合（すなわち第１の傾きｐｄｙ１）よりも小さくし、且つ変換対象色点Ｔｐが第１の直線Ｌ１に近いほど、彩度の圧縮量に対する輝度の増加量の比を大きくするように構成した。これにより、良好な階調を保ったまま入力画像の色域を出力色空間の色域へ変換することができる。
【００６５】
（５）上記（１）〜（４）のデジタルカメラ１００において、制御装置１０４は、等色相面において、変換対象色点と黒色点Ｂｐとを通る第３の直線Ｌ３と第１の直線Ｌ１との交点Ｐ３１から黒色点Ｂｐまでの距離に対する、変換対象色点Ｔｐから黒色点Ｂｐまでの距離の比（すなわちyGainIn）が大きいほど、彩度の圧縮量に対する輝度の増加量の比を大きくするように構成した。これにより、良好な階調を保ったまま入力画像の色域を出力色空間の色域へ変換することができる。
【００６６】
（６）上記（１）〜（５）のデジタルカメラ１００において、制御装置１０４は、彩度を圧縮すると共に輝度を増加する補正（低輝度ガマットマッピング）では、変換対象色点Ｔｐを通り第１の直線Ｌ１の傾きと平行な第４の直線Ｌ４を軸とする座標系における変換対象色点Ｔｐの座標値（cGainIn）に応じて、彩度の圧縮量を変更するように構成した。すなわち、上述したように、第２の傾きｐＤｙ２を用いて彩度補正パラメータcGainInを算出し、ルックアップテーブルＬＵＴ４の入力値とするようにしたので、処理負荷の重い除算処理をほぼ行わなくてよく、ガマットマッピングを簡易に行うことができる。なお、式（４）では、４による除算が入るが、これはビットシフトの手法を用いれば非常に小さな負荷で実現できる。
【００６７】
（７）上記（３）のデジタルカメラ１００において、制御装置１０４は、輝度を保ったまま彩度のみを圧縮する補正（高輝度ガマットマッピング）では、黒色点Ｂｐと変換対象色点Ｔｐとを通る第３の直線Ｌ３を軸とする座標系における変換対象色点Ｔｐの座標値（yGainIn）に応じて、彩度の圧縮量を変更するように構成した。すなわち、上述したように、第１の傾きｐＤｙ１を用いて階調補正パラメータyGainInを算出し、ルックアップテーブルＬＵＴ５の入力値とするようにしたので、処理負荷の重い除算処理をほぼ行わなくてよく、ガマットマッピングを簡易に行うことができる。なお、式（４）では、４による除算が入るが、これはビットシフトの手法を用いれば非常に小さな負荷で実現できる。
【００６８】
（変形例１）
上述した実施の形態では、出力色空間としてｓＲＧＢ空間を用いる例について説明した。しかしながら、出力色空間として、ＡｄｏｂｅＲＧＢやその他の多原色色空間を用いるようにしてもよい。
【００６９】
（変形例２）
上述した実施の形態では、色補正を行う色空間としてＹＣＣ空間を用いる例について説明した。しかしながら、色補正を行う色空間として、ＣＩＥＬＡＢ空間やＨＳＶ空間など、その他の輝度色差（彩度）分離空間を用いるようにしてもよい。
【００７０】
（変形例３）
上述した実施の形態では、デジタルカメラ１００に色域変換装置を搭載する例を説明したが、色域変換装置をパーソナルコンピュータによって構成するようにしてもよい。また図１０に示すパーソナルコンピュータ２００に図２に例示したフローチャートの処理を行うプログラムを実行させることにより、色域変換装置を構成してもよい。プログラムをパーソナルコンピュータ２００に取込んで使用する場合には、パーソナルコンピュータ２００のデータストレージ装置にプログラムをローディングした上で、当該プログラムを実行させることによって色域変換装置として使用する。
【００７１】
パーソナルコンピュータ２００に対するプログラムのローディングは、プログラムを格納したＣＤ−ＲＯＭなどの記憶媒体２０１をパーソナルコンピュータ２００にセットして行ってもよいし、ネットワークなどの通信回線２０２を経由する方法でパーソナルコンピュータ２００へローディングしてもよい。通信回線２０２を経由する場合は、通信回線２０２に接続されたサーバー（コンピュータ）２０３のハードディスク装置２０４などにプログラムを格納しておく。プログラムは、記憶媒体２０１や通信回線２０２を介する提供など、種々の形態のコンピュータプログラム製品として供給することができる。
【００７２】
なお、パーソナルコンピュータ２００が処理対象として入力する（ステップＳ１）ＲＧＢ画像は、いわゆるＲＡＷデータ（すなわち、撮像素子１０２の受光光量に対して線形階調のＲＧＢ画像）である。
【００７３】
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。また、上記実施形態に各変形例の構成を適宜組み合わせてもかまわない。
【符号の説明】
【００７４】
１００…デジタルカメラ、１０１…操作部材、１０２…撮像レンズ、１０３…撮像素子、１０４…制御装置、１０５…メモリカードスロット、１０６…モニタ
【図１】
2014033273.tif 000006
【図２】
2014033273.tif 000007
【図３】
2014033273.tif 000008
【図４】
2014033273.tif 000009
【図５】
2014033273.tif 000010
【図６】
2014033273.tif 000011
【図７】
2014033273.tif 000012
【図８】
2014033273.tif 000013
【図９】
2014033273.tif 000014
【図１０】
2014033273.tif 000015