(57)【要約】【課題】  安定した白色点補正を行うことができる画像処理装置及び画像処理プログラムを提供する。【解決手段】  入力受付部１２が取得した画像データから、画素抽出部１６が白色点の推定に使用する画素を抽出する。次に、色温度算出部１８が、上記抽出された画素の色温度値に対して色温度領域に応じた重み付けを行い、加重平均色温度を算出し、重み付けした色温度の加重平均値である加重平均色温度を算出する。変換係数生成部２０は、この加重平均色温度に基づいて白色点の変換係数を生成し、画像出力部２８は、この変換係数を使用して入力画像データを変換して出力する。【選択図】        図１
2008148009.tif 000002
【特許請求の範囲】
【請求項１】
画像データから色温度推定対象となる画素を抽出する画素抽出手段と、
前記抽出された画素の色温度値に対して、所定の色温度領域に応じた重み付けを行う重み付け色温度算出手段と、
前記重み付けした色温度の加重平均値である加重平均色温度を算出する加重平均色温度算出手段と、
前記加重平均色温度に基づいて白色点の変換係数を生成する変換係数生成手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
請求項１記載の画像処理装置において、前記所定の色温度領域に応じた重み付けは、所定の低色温度領域と高色温度領域に対する重みを所定の中間色温度領域に対する重みより小さくした重み付けであることを特徴とする画像処理装置。
【請求項３】
請求項２記載の画像処理装置において、前記所定の中間色温度領域は、出力目標となる色温度の近傍領域であることを特徴とする画像処理装置。
【請求項４】
請求項１から請求項３のいずれか一項記載の画像処理装置において、前記重み付け色温度算出手段は、さらに昼光軌跡近傍の距離に応じた重み付けと、輝度に応じた重み付けを行い、前記色温度領域に応じた重み付けと合成した重み付け色温度を算出することを特徴とする画像処理装置。
【請求項５】
請求項１から請求項４のいずれか一項記載の画像処理装置は、前記重み付け色温度算出手段が重み付け処理に使用した画素数が所定数より少ない場合に、以後の処理を禁止する画素数判定手段を備えることを特徴とする画像処理装置。
【請求項６】
請求項１から請求項５のいずれか一項記載の画像処理装置は、前記加重平均色温度算出手段が算出した加重平均色温度が所定の色温度の範囲外である場合に、以後の処理を禁止する色温度判定手段を備えることを特徴とする画像処理装置。
【請求項７】
請求項１から請求項６のいずれか一項記載の画像処理装置は、前記加重平均色温度に所定の補正を行う色温度値補正手段を備えることを特徴とする画像処理装置。
【請求項８】
コンピュータを、
画像データから色温度推定対象となる画素を抽出する画素抽出手段、
前記抽出された画素の色温度値に対して、所定の色温度領域に応じた重み付けを行う重み付け色温度算出手段、
前記重み付けした色温度の加重平均値である加重平均色温度を算出する加重平均色温度算出手段、及び
前記加重平均色温度に基づいて白色点の変換係数を生成する変換係数生成手段、として機能させることを特徴とする画像処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び画像処理プログラムに関する。
【背景技術】
【０００２】
従来より、画像処理装置から出力されるカラー画像の画質劣化を避けるためのホワイトバランス補正処理が種々提案されている。
【０００３】
例えば、下記特許文献１には、黒体軌跡近傍のグレー画素を加算する際に、黒体軌跡からの距離に応じた重み付けを行うホワイトバランス補正方法が開示されている。
【特許文献１】特開２００５−７９６２３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記従来の技術においては、ホワイトバランス（白色点）補正に使用する画素を誤抽出し、あるいは複数の撮影光源が存在すると適切にホワイトバランス補正を行うことができないという問題があった。画素の誤抽出は、被写体の物体色である肌色や空色の一部を抽出することにより生じる。また、現実の撮影では、単一光源下で行われることがむしろ少ないので、複数光源の問題が生じる。
【０００５】
本発明は、上記従来の課題に鑑みなされたものであり、その目的は、安定した白色点補正を行うことができる画像処理装置及び画像処理プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１記載の画像処理装置の発明は、画像データから色温度推定対象となる画素を抽出する画素抽出手段と、前記抽出された画素の色温度値に対して、所定の色温度領域に応じた重み付けを行う重み付け色温度算出手段と、前記重み付けした色温度の加重平均値である加重平均色温度を算出する加重平均色温度算出手段と、前記加重平均色温度に基づいて白色点の変換係数を生成する変換係数生成手段と、を備えることを特徴とする。
【０００７】
請求項２記載の発明は、請求項１記載の発明において、前記所定の色温度領域に応じた重み付けが、所定の低色温度領域と高色温度領域に対する重みを所定の中間色温度領域に対する重みより小さくした重み付けであることを特徴とする。
【０００８】
請求項３記載の発明は、請求項２記載の発明において、前記所定の中間色温度領域が、出力目標となる色温度の近傍領域であることを特徴とする。
【０００９】
請求項４記載の発明は、請求項１から請求項３のいずれか一項記載の発明において、前記重み付け色温度算出手段が、さらに昼光軌跡近傍の距離に応じた重み付けと、輝度に応じた重み付けを行い、前記色温度領域に応じた重み付けと合成した重み付け色温度を算出することを特徴とする。
【００１０】
請求項５記載の発明は、請求項１から請求項４のいずれか一項記載の発明において、前記重み付け色温度算出手段が重み付け処理に使用した画素数が所定数より少ない場合に、以後の処理を禁止する画素数判定手段を備えることを特徴とする。
【００１１】
請求項６記載の発明は、請求項１から請求項５のいずれか一項記載の発明において、前記加重平均色温度算出手段が算出した加重平均色温度が所定の色温度の範囲外である場合に、以後の処理を禁止する色温度判定手段を備えることを特徴とする。
【００１２】
請求項７記載の発明は、請求項１から請求項６のいずれか一項記載の発明において、前記加重平均色温度に所定の補正を行う色温度値補正手段を備えることを特徴とする。
【００１３】
請求項８記載の画像処理プログラムの発明は、コンピュータを、画像データから色温度推定対象となる画素を抽出する画素抽出手段、前記抽出された画素の色温度値に対して、所定の色温度領域に応じた重み付けを行う重み付け色温度算出手段、前記重み付けした色温度の加重平均値である加重平均色温度を算出する加重平均色温度算出手段、及び前記加重平均色温度に基づいて白色点の変換係数を生成する変換係数生成手段、として機能させることを特徴とする。  
【発明の効果】
【００１４】
本発明によれば、誤抽出画素は、低色温度と高色温度領域に含まれることが多いので、画素の抽出時に所定の色温度領域に応じた重み付けを行う本発明によれば、白色点補正における誤抽出画素の影響を低減することができる。
【００１５】
また、低色温度と高色温度の間の所定の中間色温度領域の重みを大きくするので、複数光源時に変換目標となる色温度（６５００Ｋ）以外の光源の影響を低減することができる。
【００１６】
また、昼光軌跡近傍の距離に応じた重み付けと、輝度に応じた重み付けを行うことにより、対象画像の色温度推定値の精度を上げることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明を実施するための最良の形態（以下、実施形態という）を、図面に従って説明する。
【００１８】
図１には、本発明にかかる画像処理装置の一実施形態の機能ブロック図が示される。図１において、画像処理装置１０は、入力受付部１２、前処理部１４、画素抽出部１６、色温度算出部１８、変換係数生成部２０、画素数判定部２２、色温度判定部２４、色温度値補正部２６、画像出力部２８及び記憶部３０を含んで構成されている。
【００１９】
入力受付部１２は、ＵＳＢ（ユニバーサルシリアルバス）ポート、ネットワークポート等の適宜なインターフェースにより実現され、デジタルカメラ、スキャナ等の画像データ生成装置から画像データを取得する。
【００２０】
前処理部１４は、中央処理装置（ＣＰＵ）及びＣＰＵの処理動作を制御するプログラムを含んで実現され、入力受付部１２が受け付けた画像データから画素を間引いて画素数を減らし、画像データの色空間をＸＹＺ色空間を経由してｘｙ色空間に変換する処理を実行する。画像データの色空間としては、例えばｓＲＧＢ色空間等が使用される。
【００２１】
画素抽出部１６は、ＣＰＵ及びＣＰＵの処理動作を制御するプログラムを含んで実現され、前処理部１４が出力したｘｙ色空間の画像データから白色点の推定に使用する画素を抽出する。なお、画素の抽出処理については後述する。
【００２２】
色温度算出部１８は、ＣＰＵ及びＣＰＵの処理動作を制御するプログラムを含んで実現され、画素抽出部１６が抽出した画素の色温度値に対して、所定の色温度領域に応じた重み付けを行い、重み付けした色温度の加重平均値である加重平均色温度を算出する。ここで、色温度算出部１８は、本発明の重み付け色温度算出手段及び加重平均色温度算出手段として機能する。重み付け色温度算出処理及び加重平均色温度算出処理については後述する。
【００２３】
変換係数生成部２０は、ＣＰＵ及びＣＰＵの処理動作を制御するプログラムを含んで実現され、色温度算出部１８が算出した加重平均色温度に基づいて白色点の変換係数を生成する。白色点の変換係数を生成する処理は後述する。
【００２４】
画素数判定部２２は、ＣＰＵ及びＣＰＵの処理動作を制御するプログラムを含んで実現され、色温度算出部１８が重み付け処理に使用した画素数が所定数より少ない場合に、加重平均色温度算出処理以後の処理を禁止する。この場合には、画像出力部２８が出力する画像データは、色温度補正を行わない画像データとなる。画素数判定部２２による画素数の判定処理は、例えば画素抽出部１６から色温度算出部１８が受け取った全画素のうち重み付け処理に使用した画素数の割合が所定の閾値を超えているか否かにより行うことができる。これにより、変換係数生成部２０が、画像データを適切に代表していない色温度に基づいて変換係数を算出することを回避できる。
【００２５】
色温度判定部２４は、ＣＰＵ及びＣＰＵの処理動作を制御するプログラムを含んで実現され、色温度算出部１８が算出した加重平均色温度が所定の色温度の範囲外である場合に、以後の処理を禁止する。この場合にも、画像出力部２８が出力する画像データは、色温度補正を行わない画像データとなる。これにより、画像の青色が灰色側にずれて画像品質が劣化することを抑制できる。
【００２６】
色温度値補正部２６は、ＣＰＵ及びＣＰＵの処理動作を制御するプログラムを含んで実現され、色温度算出部１８が算出した加重平均色温度に対して所定の補正処理を行う。変換係数生成部２０は、補正処理後の加重平均色温度に基づいて白色点の変換係数を生成するのが好適である。この補正処理は、画像に赤味を残し、より自然な画像とするための処理であって、その詳細は後述する。
【００２７】
画像出力部２８は、ＣＰＵ及びＣＰＵの処理動作を制御するプログラムを含んで実現され、変換係数生成部２０が生成した変換係数により白色点を補正した画像データを出力する。この白色点の補正処理は、上記変換係数で構成されるテーブルに基づいて行うのが好適である。
【００２８】
記憶部３０は、リードオンリーメモリ（読み出し専用記憶装置  ＲＯＭ）、ランダムアクセスメモリ（ＲＡＭ）、ハードディスク装置等の磁気記憶装置その他のコンピュータが読み取り可能な記憶装置により実現され、ＣＰＵの処理動作を制御するプログラム、黒体軌跡のデータ、昼光軌跡のデータ、重み付け係数等を格納する。
【００２９】
図２及び図３には、上記画素抽出部１６による画素の抽出処理に使用される黒体軌跡及び昼光軌跡がｘｙ色度図上に示される。なお。図２には、黒体軌跡とともに等色温度線及び等偏差線も示されている。
【００３０】
ここで、上記画素抽出部１６が行う画素の抽出処理について説明する。画素抽出部１６は、実際に演算可能な昼光軌跡の色温度範囲は２５００Ｋ〜１５０００Ｋ（Ｋはケルビン）であることから、この色温度範囲に対応する色度範囲内の画素を抽出する。この色度範囲は、ｘｙ色度図において、
０．２５  ≦  ｘ  ≦  ０．４７  及び  ０．２５  ≦  ｙ  ≦  ０．４７
となる。この色度範囲は、図２に示された矩形の内側の領域である。画素抽出部１６は、この矩形の内側に存在する画素を抽出する。これにより、黒体軌跡に対して所定の範囲内の画素を抽出でき、次に行う昼光軌跡近傍の画素抽出の処理負担を軽減できる。
【００３１】
次に、画素抽出部１６は、昼光軌跡近傍の画素を抽出する。すなわち、図３に示される昼光軌跡に対して、ｘｙ色度図における距離が所定の範囲内にある画素を抽出する。ここで、所定の範囲内とは、図３に破線で示される範囲内である。この距離は、例えば昼光軌跡から０．０１の距離にある画素とするのが好適である。なお、この距離は、注目画素の色度点と、一定間隔にサンプリングした昼光軌跡上のすべての色度点との距離を求め、その最小距離として求めることができる。
【００３２】
さらに、画素抽出部１６は、図３に示された所定の範囲内に存在する画素について、その色度値（ｘｙの値）から色温度を算出し、この色温度が上述した２５００Ｋ〜１５０００Ｋの範囲を外れる画素を除外する。なお、色温度の算出は、例えば以下のＭｃＣａｍｙの式によるのが好適である。
色温度Ｔ＝−４３７ｎ３＋３６０１ｎ２−６８６１ｎ＋５５１４．３１
ここで、ｎ＝（ｘ−０．３３２０）／（ｙ−０．１８５８）
【００３３】
以上述べたように、画素抽出部１６は、所定の色度範囲内にあり、且つ昼光軌跡の近傍にあり、且つ色温度が所定の色度範囲内にある画素を白色点の推定に使用する画素として抽出する。
【００３４】
図４には、色温度算出部１８が本発明の重み付け色温度算出手段として行う重み付けの説明図が示される。図４に示された例では、横軸に画素抽出部１６が抽出した画素の色温度値が、縦軸に色温度領域に応じた重みＴＷが示される。
【００３５】
図４において特徴的な点は、所定の低色温度領域（５０００Ｋ未満）と高色温度領域（６５００Ｋ超）に対する重みを、所定の中間色温度領域（５０００Ｋから６５００Ｋ）の範囲）に対する重みより小さくした点にある。これにより、誤抽出画素の多くが含まれる低色温度領域と高色温度領域の重みが小さくなり、誤抽出画素の影響を低減できる。また、白色点として目標となる６５００Ｋ近傍（５０００Ｋから６５００Ｋ）の色温度値に対する重みを大きくし、この色温度範囲外にある他の光源の影響を低減できるので、複数光源に起因する白色点の推定誤差を抑制できる。
【００３６】
図５（ａ），（ｂ）には、色温度算出部１８が行う他の重み付け方法の例が示される。図５（ａ）は、横軸が昼光軌跡からの距離であり、縦軸が上記距離に応じた重みＤＷである。このＤＷは、昼光軌跡からの距離画小さい（昼光軌跡に近い）ほど値が大きく設定されている。また、図５（ｂ）は、横軸が画素の輝度であり、縦軸が輝度に応じた重みＬＷである。このＬＷは、輝度が大きい（明るい）ほど値が大きく設定されている。
【００３７】
これらのＤＷ及びＬＷは、図４に示したＴＷと合成して使用するのが好適である。これにより、対象画像の色温度推定値の精度を上げることができる。これらの重みの合成は、例えば次のような式により行うのが好適である。
Ｗ＝０．６ＴＷ＋０．２ＤＷ＋０．２ＬＷ
ここで、Ｗは合成した重みである。
【００３８】
また、色温度算出部１８は、本発明の加重平均色温度算出手段として上記重み付けした色温度の加重平均値である加重平均色温度を算出する。すなわち、色温度算出部１８は、画素抽出部１６が抽出した画素の全部または一部について上記重みとの積を積算し、重みの積算で除することにより加重平均色温度を算出する。これを式で表すと、以下のようになる。
加重平均色温度＝Σ（画素の色温度×重みＷ）／Σ重みＷ
【００３９】
次に、上記変換係数生成部２０が行う白色点の変換係数生成処理について説明する。処理の手順は以下の通りである。
【００４０】
（１）加重平均色温度からｘｙ色度値を算出
変換係数生成部２０は、色温度算出部１８が算出した加重平均色温度からｘｙ色度値を算出する。ｘｙ色度値の算出に使用する演算式は、例えば次のようになる。
加重平均色温度≦７０００Ｋの場合
【数１】
2008148009.tif 000003
７０００Ｋ＜加重平均色温度≦２５０００Ｋの場合
【数２】
2008148009.tif 000004
【００４１】
（２）ＣＩＥ（国際照明委員会）の定めた表色系に基づいてｘｙ色度値からＸＹＺ三刺激値を算出し、さらにＸＹＺ三刺激値からｓＲＧＢへ変換する。ＸＹＺ三刺激値からｓＲＧＢへの変換は、ＩＥＣ（国際電気標準化会議）が定めた規格に従って行う。
【００４２】
この場合、ｓＲＧＢ（Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔ）の各値は上限設定処理（グリップ）を行わない。
【００４３】
次に、変換係数生成部２０は、上記加重平均色温度における白色点の色度値を６５００Ｋの色温度における値に変換する変換係数を生成する。下記表１には、この変換係数のテーブルが示される。
【表１】
2008148009.tif 000005
【００４４】
表１では、上記ＸＹＺ三刺激値とＲｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔとが色温度に対応付けて示されている。変換係数生成部２０は、加重平均色温度における白色点のＲｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔの値を、色温度６５００Ｋ（Ｒ，Ｇ，Ｂ＝２５５，２５５，２５５）へ変換する変換係数を生成する。これにより、ＲＧＢのバランスを変更し、白色点の補正を行うことができる。
【００４５】
図６には、表１において矢印で示される加重平均色温度が３０００Ｋの白色点（Ｒｏｕｔ，Ｇｏｕｔ，Ｂｏｕｔ）＝（３２６，２３８，１４１）を、色温度６５００Ｋ（Ｒ，Ｇ，Ｂ＝２５５，２５５，２５５）へ変換する線図（ルックアップテーブル）が示される。図６において、横軸が画像データの入力値（色度値）であり、縦軸が画像データの出力値である。上記ルックアップテーブルは、画像出力部２８が画像データを出力する際に使用する。これにより、入力画像データの加重平均色温度に応じた白色点の補正を容易に行うことができる。
【００４６】
図７には、色温度値補正部２６による加重平均色温度に対する補正処理の説明図が示される。図７において、横軸が入力される加重平均色温度であり、色温度算出部１８が算出した値でである。また、縦軸が補正後に出力される加重平均色温度である。
【００４７】
図７に示されるように、入力される色温度に対して出力される色温度が若干高くなるように補正処理されることが分かる。これにより、上記変換係数生成部２０白色点の変換係数を生成する際に赤色側に（低い色温度側に）シフトした変換係数となり、画像から赤味が過剰に減少することを回避できる。
【００４８】
図８には、本実施形態にかかる画像処理装置の動作例のフロー図が示される。図８において、入力受付部１２が画像データ生成装置から画像データを取得すると（Ｓ１）、前処理部１４が、その画像データから画素を間引いて画素数を減らし、画像データの色空間をＸＹＺ色空間を経由してｘｙ色空間に変換する（Ｓ２）。
【００４９】
次に、画素抽出部１６が、上記前処理部１４が出力したｘｙ色空間の画像データから白色点の推定に使用する画素を抽出する（Ｓ３）。
【００５０】
色温度算出部１８は、上記画素抽出部１６が抽出した画素の色温度値に対して色温度領域に応じた重み付けを行い、加重平均色温度を算出する（Ｓ４）。また、色温度算出部１８は、重み付けした色温度の加重平均値である加重平均色温度を算出する（Ｓ５）。なお、この場合、画素数判定部２２が、重み付け処理に使用された画素数が所定数より少ない場合に、加重平均色温度算出処理以後の処理を禁止する構成となっている。
【００５１】
次に、色温度判定部２４が、上記加重平均色温度が所定の色温度、例えば６５００Ｋ以下か否かを判定する（Ｓ６）。加重平均色温度が所定の色温度より高い場合には、以後の色温度による画像データの補正処理を終了し、入力受付部１２が受け付けた画像データを画像出力部２８が補正しないで出力する（Ｓ７）。
【００５２】
一方、Ｓ６において、加重平均色温度が所定の色温度以下の場合には、色温度値補正部２６が加重平均色温度に対して所定の補正処理を行う（Ｓ８）。この補正処理は、上述したように、画像に赤味を残すための処理である。
【００５３】
次に、変換係数生成部２０は、加重平均色温度に基づいて白色点の変換係数を生成する（Ｓ９）。画像出力部２８は、この変換係数を使用して入力画像データを変換し、出力する（Ｓ１０）。これにより、画像データの色温度に応じて白色点が補正された（色温度補正された）画像を出力することができる。
【図面の簡単な説明】
【００５４】
【図１】本発明にかかる画像処理装置の一実施形態の機能ブロック図である。
【図２】画素の抽出処理に使用される黒体軌跡の例を示す図である。
【図３】画素の抽出処理に使用される昼光軌跡の例を示す図である。
【図４】色温度算出部が行う重み付けの説明図である。
【図５】色温度算出部が行う他の重み付け方法の例を示す図である。
【図６】加重平均色温度が３０００Ｋの白色点を色温度６５００Ｋへ変換する線図である。
【図７】加重平均色温度に対する補正処理の説明図である。
【図８】本発明にかかる画像処理装置の動作例のフロー図である。
【符号の説明】
【００５５】
１０  画像処理装置、１２  入力受付部、１４  前処理部、１６  画素抽出部、１８  色温度算出部、２０  変換係数生成部、２２  画素数判定部、２４  色温度判定部、２６  色温度値補正部、２８  画像出力部、３０  記憶部。
【図１】
2008148009.tif 000006
【図２】
2008148009.tif 000007
【図３】
2008148009.tif 000008
【図４】
2008148009.tif 000009
【図５】
2008148009.tif 000010
【図６】
2008148009.tif 000011
【図７】
2008148009.tif 000012
【図８】
2008148009.tif 000013