(57)【特許請求の範囲】
【請求項１】
入力輝度値に応じて階調補正の強さが異なる階調補正特性を用いて、画像における輝度の階調補正を行う画像処理装置であって、
前記画像のブロックごとに少なくとも輝度値を含む複数の特徴量を算出し、前記複数の特徴量に基づき、前記階調補正特性を用いて前記画像における輝度の階調補正特性を行った場合における色曲がりの生じやすさを示す飽和特徴量を算出する算出手段と、
前記飽和特徴量に応じて、前記階調補正特性を変更する変更手段と、
前記変更手段により変更された階調補正特性により前記画像における輝度の階調補正を行う補正手段と、を備え、
前記変更手段は、前記飽和特徴量がより色曲がりが生じやすいことを示す場合に、前記階調補正特性の階調補正の強さをより弱く変更することを特徴とする画像処理装置。
【請求項２】
前記複数の特徴量は、彩度値を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記飽和特徴量は、前記ブロックごとの彩度値が所定の彩度値よりも大きい場合、より色曲がりが生じやすいことを示す値をとることを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記複数の特徴量は、明度値を含むことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記飽和特徴量は、前記ブロックごとの明度値が所定の明度値よりも大きい場合、より色曲がりが生じやすいことを示す値をとることを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記画像から、予め決められた被写体を検出する検出手段を更に有し、
前記変更手段は、前記被写体が検出された場合に、前記被写体が検出されなかった場合よりも、前記階調補正の強さの弱め方をより少なくするように変更することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記算出手段は、輝度値が予め決められた範囲内にある画素の信号値を用いて、前記ブロックごとに、前記特徴量を算出することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項８】
前記画像を複数のブロックに分割するブロック分割手段を更に有し、
前記ブロック分割手段は、複数の異なる大きさのブロックにより前記画像を分割することが可能であって、第１の大きさのブロックごとに分散値を求め、該分散値が閾値以下のブロックは、前記第１の大きさのブロックにより分割し、前記分散値が前記閾値よりも高いブロックは、前記第１の大きさより小さい第２の大きさのブロックにより分割し、
前記算出手段は、前記ブロックごとに算出した複数の特徴量を、前記ブロックの大きさに対応するようにそれぞれ重み付けして前記飽和特徴量を算出することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項９】
前記算出手段は、前記特徴量を、前記ブロックに含まれる画素を構成する信号成分の平均値を用いて算出することを特徴とする請求項１乃至８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記補正手段は、前記画像におけるＲＧＢの色バランスを維持したまま、前記輝度の階調補正を行うことを特徴とする請求項１乃至９のいずれか１項に記載の画像処理装置。
【請求項１１】
入力輝度値に応じて階調補正の強さが異なる階調補正特性を用いて、画像における輝度の階調補正を行う画像処理方法であって、
前記画像のブロックごとに少なくとも輝度値を含む複数の特徴量を算出し、前記複数の特徴量に基づき、前記階調補正特性を用いて前記画像における輝度の階調補正を行った場合における色曲がりの生じやすさを示す飽和特徴量を算出する算出工程と、
前記飽和特徴量に応じて、前記階調補正特性を変更する変更工程と、
前記変更工程で変更された階調補正特性により前記画像における輝度の階調補正を行う補正工程と、を備え、
前記変更工程において、前記飽和特徴量がより色曲がりが生じやすいことを示す場合に、前記階調補正特性の階調補正の強さをより弱く変更することを特徴とする画像処理方法。
【請求項１２】
前記複数の特徴量は、前記画像の色に関する特徴量を含むことを特徴とする請求項１１に記載の画像処理方法。
【請求項１３】
前記補正工程において、前記画像のＲＧＢの色バランスを維持したまま、前記輝度の階調補正を行うことを特徴とする請求項１１または１２に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置及び方法に関し、更に詳しくは、入力された画像の階調補正を行う画像処理装置及び方法に関する。
【背景技術】
【０００２】
従来、画像の階調補正を行う技術として、画像中に含まれる暗部の輝度を補正する暗部補正や、画像のコントラストを高めるコントラスト補正といったようなものが行われている。例えば図１０（ａ）に示したような輝度ヒストグラムを持つ画像においては画像中に暗部を多く含んでいるため、図１０（ｂ）のような補正曲線により暗部の輝度を高めることで、より適した明るさの画像を得ることが可能となる。このような階調補正により、多くの撮影シーンにおいては撮影された画像をより好ましい画像になるように補正することが可能である。
【０００３】
しかしながら、画像中に高彩度な領域が多く含まれているようなシーンに対してこのような補正を行った場合、高彩度部の画素を構成する色成分のバランスが崩れてしまう、色曲がりが発生してしまう場合がある。例えば、図１０（ａ）が、画像中央に鮮やかな赤い花が映っているシーンの輝度ヒストグラムを示したものである場合に、花の表面のある一部分のＲＧＢ値が８ｂｉｔにおいてＲＧＢ＝（２５５，５６，９４）を示しているものとする。ここから、以下の式（１）に示すｓＲＧＢで定義される変換式により得られる輝度は、Ｙ＝約１２０となる。
Y = 0.299R + 0.587G + 0.114B      …（１）
【０００４】
この算出された輝度１２０を図１０（ａ）の輝度ヒストグラム上で表すと、ｘで示したような位置となり、輝度としてはそれほど高くないことが窺える。このような輝度は図１０（ｂ）中のｘにおける補正量から分かるように、補正が大きくかかってしまう。しかしながら、Ｒ，Ｇ，Ｂの色バランスを保ちながらこのような領域に暗部補正をかけるためにはＲが２５５を超える必要がある。しかし、Ｒ，Ｇ，Ｂ値を８ｂｉｔで表そうとするとＲ成分は２５５でクロップされてしまうため、結果としてＲ成分は元と変わらず、Ｇ，Ｂ成分のみが持ち上がってしまう。そのため、Ｒ，Ｇ，Ｂの色バランスが元の比率と変わってしまうため、色曲がりが発生してしまう。
【０００５】
このような問題に対し、特許文献１では、彩度補正を行う際に画像中央部の彩度を算出し、その領域内で高彩度画素が占める比率等から補正量を決定している。
【０００６】
また、特許文献２では、画素ごとにその画素の輝度における補正量を算出した後、その画素が高彩度であればあるほど、実際の補正量を小さくする処理を行っている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００７−２４３５４２号公報
【特許文献２】特開２００２−３３５５３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１のように、ある領域内に高彩度画素がどの程度の割合で含まれているかのみを判断基準とする手法を階調補正にも適用する場合、本来ならば階調補正を行っても問題がないようなシーンに対しても補正量を抑制してしまう場合がある。例えば、暗部を補正する場合においては、より自然な見た目にするためにも、図１０（ｂ）に示したように、低輝度すぎる領域、または高輝度すぎる領域は補正量を小さくするのが一般的であるためである。このような階調補正を行う場合、高彩度な領域を多く含むようなシーンであっても、その領域の輝度が高い、もしくは低いものであれば、図１０（ｂ）のような補正を行ったとしても色曲がりが起こりにくい。そして、図１０（ｂ）のような補正を行うことで全体として適切な明るさに補正された好ましい画が得られる場合がある。しかしながら、同じシーンに対して高彩度画素を多く含むという理由のみで階調補正を弱めてしまうと、行っても問題のない階調補正まで抑制してしまうのである。
【０００９】
また、特許文献２のように、画素単位で彩度を調べ、補正量を決定するような手法においては、画素ごとに色相、彩度等の高彩度判定用の情報を算出し、その上で対象の画素の彩度における適正な補正量を算出する必要がある。そのため、画素数が増せば増すほど計算時間が必要となる。さらに、例えば花のような、彩度が一律ではなく、陰影によって彩度にばらつきが存在するようなシーンに対して画素ごとに階調補正を行った場合、彩度飽和する領域は補正量が抑制されるが、その周辺の彩度飽和しない領域は補正が行われる。これにより、彩度飽和を発生させないように補正することが可能となるが、元の画像で存在した彩度のディテールが失われてしまうことがある。図１０（ｃ）は一例として、鮮やかな赤い花が映っているシーンにおいて、ある線分領域における彩度の変動を示したものであるが、画素ごとに補正することにより彩度の変動は図１０（ｄ）のようになる。図１０の（ｃ）と（ｄ）を比較すると、補正後の（ｄ）のほうが彩度の細かい変動が失われてしまっている。特に高彩度領域においてこのような彩度のディテールが低下してしまうと、色曲がりは発生していなくても、色曲がりが起こっているように感じられてしまう場合がある。
【００１０】
本発明は上記問題点を鑑みてなされたものであり、補正によって色曲がりがしやすいような高彩度シーンに適した階調補正を行うことを目的とする。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、入力輝度値に応じて階調補正の強さが異なる階調補正特性を用いて、画像における輝度の階調補正を行う本発明の画像処理装置は、前記画像のブロックごとに少なくとも輝度値を含む複数の特徴量を算出し、前記複数の特徴量に基づき、前記階調補正特性を用いて前記画像における輝度の階調補正特性を行った場合における色曲がりの生じやすさを示す飽和特徴量を算出する算出手段と、前記飽和特徴量に応じて、前記階調補正特性を変更する変更手段と、前記変更手段により変更された階調補正特性により前記画像における輝度の階調補正を行う補正手段と、を備え、前記変更手段は、前記飽和特徴量がより色曲がりが生じやすいことを示す場合に、前記階調補正特性の階調補正の強さをより弱く変更する。
【発明の効果】
【００１２】
本発明によれば、補正によって色曲がりがしやすいような高彩度シーンに適した階調補正を行うことが可能となる。
【図面の簡単な説明】
【００１３】
【図１】本発明の実施形態における撮像装置の概略構成を示すブロック図。
【図２】第１、３、４の実施形態における階調補正処理を示すフローチャート。
【図３】第１の実施形態における飽和特徴量算出時の重みの例を示す図。
【図４】第１の実施形態による補正量の弱め方の例を示す図。
【図５】第２の実施形態における、顔あり時、顔なし時の弱め方の例を示す図。
【図６】第２の実施形態における階調補正処理を示すフローチャート。
【図７】第３の実施形態における、極端に低輝度な領域を持つシーンの例を示す図。
【図８】第４の実施形態における、ブロックの選択方法の例を示す図。
【図９】実施形態おける情報処理装置のブロック構成図。
【図１０】高彩度シーンにおける従来の課題を説明する図。
【発明を実施するための形態】
【００１４】
以下、添付図面を参照して本発明を実施するための最良の形態を詳細に説明する。
【００１５】
＜第１の実施形態＞
第１の実施形態においては、ある撮影画像に対し、そのシーンの色曲がりのしやすさに相当する飽和特徴量を算出し、飽和特徴量に応じて実際の補正量を決定する方法を示す。
【００１６】
図１は、第１の実施形態における画像処理装置の一例として、撮像装置１００の構成を示すブロック図である。撮像装置１００はデジタルカメラ、デジタルビデオカメラなど、被写体を撮像して画像データを得る装置を含む。図１において、光学系１０１は、レンズ、シャッター、絞りから構成され、被写体からの光を適切な量とタイミングで撮像素子１０２に結像させる。撮像素子１０２は、光学系１０１を通って結像した光を画像データに変換する。ＣＰＵ１０３は、入力された信号やプログラムに従って、各種の演算や、撮像装置１００を構成する各部分の制御を行う。
【００１７】
一次記憶装置１０４は、一時的なデータを記憶し、ＣＰＵ１０３の作業用に使われる。二次記憶装置１０５は、撮像装置１００を制御するためのプログラム（ファームウェア）や各種の設定情報を記憶する。記憶媒体１０６は、撮影した画像データなどを記憶する。なお、撮影後に記憶媒体１０６は取り外すことが可能であり、パーソナルコンピュータなどに装着してデータを読み出すことが可能である。つまり、撮像装置１００は記憶媒体１０６へのアクセス機能を有し、記憶媒体１０６へのデータの読み書きが行えればよい。表示部１０７は、撮影時のビューファインダー画像の表示、撮影した画像の表示、対話的な操作のための文字表示などを行う。操作部１０８は、使用者の操作を受け付けるためのものである。操作部１０８は例えばボタンやレバー、タッチパネルなどを用いることが可能である。
【００１８】
通信装置１０９は、外部装置と接続し制御コマンドやデータの送受信を行う。接続を確立し、データ通信するためのプロトコルとしては、例えばＰＴＰ（Picture Transfer Protocol）が用いられる。なお、通信装置１０９は、例えばＵＳＢ（Universal Serial Bus）ケーブルなどの有線接続により通信を行ってもよい。また、無線ＬＡＮなどの無線接続により通信を行ってもよい。また、外部装置と直接接続してもよいし、サーバを経由したりインターネットなどのネットワークを介して外部装置と接続してもよい。
【００１９】
図２は第１の実施形態に係る画像の輝度階調を補正する流れを示した図である。以下に図２を用いて、撮影画像の色曲がりのしやすさに相当する飽和特徴量を算出し、飽和特徴量に応じて実際の補正量を弱める例を示す。
【００２０】
まず、光学系１０１及び撮像素子１０２を通して画像の撮影が行われると（Ｓ２０１）、ＣＰＵ１０３は、得られた画像に対して画像を複数のブロックに分割する（Ｓ２０２）。なお、本第１の実施形態においては、ブロック分割数は予め定めておいた規定数とするが、撮影シーンや被写体に応じて分割数を変更することも可能である。また、記憶媒体１０６に記憶された画像を読み出して、当該処理の対象としても良い。
【００２１】
次に、ＣＰＵ１０３は、Ｓ２０２で分割されたブロックそれぞれに対して、輝度特徴量を算出する（Ｓ２０３）。第１の実施形態においては各ブロック内に含まれる画素の８ビットのＲＧＢ信号の平均値をブロックごとに取得し、前述した式（１）によって得られる８ビットの輝度信号Ｙを計算し、それをブロックの輝度特徴量とする。なお、輝度特徴量算出においては必ずしもＲＧＢ信号の平均値から算出される必要はない。例えば、ブロック内に含まれる画素のＲＧＢ信号それぞれについて、信号値（境界値）Ｍ以上となる画素の数がブロック内の全画素数に対してＮ％となるような信号値ＭをＲＧＢ信号それぞれに対して算出してＭｒ、Ｍｇ、Ｍｂとする。その上で、算出されたＭｒ、Ｍｇ、Ｍｂの値から式（１）によって輝度信号Ｙを算出することも可能である。また、第１の実施形態においては式（１）により得られる輝度信号Ｙを算出しているが、この限りではなく、簡易的にＧ信号を直接使用したり、さらに他の情報を追加して輝度特徴量としたりすることも可能である。
【００２２】
Ｓ２０３でブロックごとの輝度特徴量が得られると、ＣＰＵ１０３はさらにブロックごとの色特徴量の算出を行う（Ｓ２０４）。第１の実施形態においてはＳ２０３において得られた各ブロックのＲＧＢ信号の平均値Ｒ、Ｇ、Ｂから、以下の式（２）によって得られる８ビットの彩度信号Ｓ、明度信号Ｖを計算し、それらをブロックの色特徴量とする。
【００２３】
0005753393.tif 000002
【００２４】
ここで、max(R, G, B)はＲ，Ｇ，Ｂのうちの最大値を示し、min(R, G, B)はＲ，Ｇ，Ｂのうちの最小値を示す。
色特徴量の算出においても、輝度特徴量の算出時と同様に必ずしもＲＧＢ信号の平均値から算出される必要はない。例えば、ブロック内に含まれる画素のＲＧＢ信号それぞれについて、信号値Ｍ以上となる画素の数がブロック内の全画素数に対してＮ％となるような信号値ＭをＲＧＢ信号それぞれに対して算出してＭｒ、Ｍｇ、Ｍｂとする。その上で、算出されたＭｒ、Ｍｇ、Ｍｂの値から式（２）によって彩度信号Ｓ、明度信号Ｖを算出することも可能である。なお、本第１の実施形態においては、式（２）により彩度信号Ｓと明度信号Ｖとを算出しているが、どちらか一つ、もしくはさらに他の情報を追加して色特徴量とすることも可能である。
【００２５】
Ｓ２０３及びＳ２０４においてブロックごとの輝度特徴量及び色特徴量が算出されると、ＣＰＵ１０３は飽和特徴量を算出する（Ｓ２０５）。この飽和特徴量とは階調補正による色曲がりのしやすさの度合いを示したものであるため、各ブロックが以下のような条件を満たすほど、飽和特徴量が高くなるようにする。
（１）輝度が高すぎず、かつ低すぎない。
（２）ある画素を構成する信号成分（例えばＲＧＢ）のうち、最大値と最小値の差が大きい。
（３）ある画素を構成する信号成分のどれかが最大値（８ｂｉｔの場合は２５５）に近い。
【００２６】
まず、（１）はＳ２０３で算出された輝度Ｙから判定が可能な条件である。前述したように階調補正においては低輝度すぎる領域、または高輝度すぎる領域に関しては補正量を小さくするのが一般的である。そのため、（１）の条件を満たす場合にはそのブロックが補正による影響を受けやすく、補正を行うとそのブロック内の信号成分の変化が大きいことを表している。
【００２７】
次に、（２）はＳ２０４で算出された彩度Ｓから判定が可能な条件である。階調補正の手法によっては画素を構成する信号成分の差が小さくなる場合がある。そのため、（２）の条件を満たす場合には、そのブロックの信号成分が、補正前は最大のものと最小のものの差が大きいが、補正を行うとその差が小さくなってしまい得ることを表している。
【００２８】
また、（３）はＳ２０４で算出されたた明度Ｖから判定が可能な条件である。階調補正では明るくするような補正をかける場合においては補正を受ける画素の信号成分は増加する。しかし、（３）の条件を満たす場合には、信号成分が増加することで信号成分が取り得る最大値を超えてしまい、結果として色曲がりが発生してしまい得ることを表している。
【００２９】
本第１の実施形態においては、条件（１）〜（３）の判定のため、Ｓ２０３及びＳ２０４で得られた輝度特徴量と色特徴量に応じて輝度重み、彩度重み、明度重みを算出し、それら全てを組み合わせたものをブロックごとの飽和特徴量としている。この重みの算出においては、例えば、図３（ａ）〜（ｃ）のようなあらかじめ与えられた直線をもとに算出する。
【００３０】
図３（ａ）は条件（１）に対応し、輝度特徴量に対応した輝度重みの算出曲線を示す。所定の輝度値Ｙ0を折り返し点として山型に直線をなしている。所定の輝度値Ｙ0は、基準の補正曲線（補正特性）に依ってその値を変更することで、補正によって色曲がりが発生してしまうかどうかの検出をより正確なものにする。例えば、暗部をより大きく、明るく補正する基準の補正曲線の場合はＹ0の値を対応する暗部よりに、明部をより大きく、明るく補正する基準の補正曲線の場合は、Ｙ0の値は明部よりの値にする。
【００３１】
図３（ｂ）は条件（２）に対応し、色特徴量である彩度Ｓの値に対応した彩度重みの算出曲線を示す。所定の彩度値Ｓ0より大きい場合、飽和特徴量がより色曲がりが生じやすいことを示す値をとるように重みを大きくしている。
【００３２】
図３（ｃ）は色特徴量である明度Ｖの値に対応した明度重みの算出曲線を示す。所定の明度値Ｖ0より大きい場合、飽和特徴量がより色曲がりが生じやすいことを示す値をとるように重みを大きくしている。
【００３３】
そして、それら全てを組み合わせたものをブロックごとの飽和特徴量としている。なお、第１の実施形態においては図３（ａ）〜（ｃ）に示したように、それぞれの重みの最大値を全て同じ値にしているが、これは必ずしも同じ値である必要はない。例えば輝度重みの最大値を他の重みの最大値よりも低くすることにより、輝度の影響を弱めるといったことも可能である。
【００３４】
ステップＳ２０５では、式（３）のようにしてブロックごとに飽和特徴量を算出し、さらにそのシーンにおける画像全体の飽和特徴量の算出を行う。第１の実施形態においては以下の式（３）のようにしてブロックごとに算出された飽和特徴量ｃiから画像全体の飽和特徴量Ｃを算出している。
【００３５】
0005753393.tif 000003
【００３６】
ここで、Ｙi、Ｓi、Ｖiはそれぞれｉ番目のブロックから算出された輝度値、彩度値、明度値を表し、Ｎは全ブロック数を表している。また、ｗＹ（Ｙi）、ｗＳ（Ｓi）、ｗＶ（Ｖi）はそれぞれある入力値Ｙi、Ｓi、Ｖiに対して、図３（ａ）〜（ｃ）により得られる出力重みを表している。
式（３）においては全ブロックを等価に扱って飽和特徴量を算出しているが、例えば図３（ｄ）に示したような、中央に近いブロックほど大きな値を持つ重みＷ（ｉ）を規定し、以下の式（４）のような計算を行うことでエリアごとに重みを付けることも可能である。
【００３７】
0005753393.tif 000004
【００３８】
Ｓ２０５においてシーンの飽和特徴量が算出されると、ＣＰＵ１０３は当該シーンに適用する階調補正の為の補正曲線の生成にあたり、まず、基準となる補正の特性（階調補正特性）を決定するための補正特徴量を算出する（Ｓ２０６）。この補正特徴量の算出においては、例えば図４（ａ）のようなカーブを設定することにより、補正特徴量として得られたヒストグラムの平均値がＡｉｎであったときには、その補正量はＡｖｏｌとなる。図４（ａ）のように、ヒストグラムの平均値が所定値を超えると、平均値が大きいほど補正量を小さくしていく。そして、算出した補正特徴量に基づいて、ＣＰＵ１０３はそのシーンに適した基準階調補正量を算出する（Ｓ２０７）。Ｓ２０６で得られたヒストグラムの平均値を入力とし、図４（ａ）に示す関係に基づいて基準階調補正量を算出することが可能である。その後は通常であれば、まずＳ２０６で得られた補正特徴量を入力輝度Ａｉｎとし、Ｓ２０７で得られた基準階調補正量を基に出力輝度Ａｏｕｔ（＝Ａｉｎ＋Ａｖｏｌ）を算出する。その上で、図４（ｃ）に示したようなＡｉｎ、Ａｏｕｔの交差点に制御点を設け、図４（ｃ）中に破線で示したような階調補正の補正曲線を取得する。このような補正曲線は、このシーンが高彩度な領域を含まないようなシーンであれば、好ましい補正を行うに当たり有効なものとなっている。しかし、このシーンが高彩度な領域を含む場合は図４（ｃ）の破線のような補正曲線を適用してしまうと高彩度な領域において色曲がりが発生してしまう場合がある。そこで、Ｓ２０５で得られた飽和特徴量を基に補正曲線を変化させる。
【００３９】
補正曲線を変化させるために、まず、Ｓ２０８において、Ｓ２０７で算出された補正量に対して飽和特徴量に応じて基準階調補正量を弱める処理を行う。例えば、図４（ｂ）のような飽和特徴量と弱め割合Ｌとの関係を定義することで、算出された飽和特徴量からそのシーンの補正量にかけるべき弱め割合Ｌを算出することができる。この弱め割合Ｌを用いて、以下の式（５）のようにして入力輝度Ａｉｎに対する出力輝度Ａｏｕｔを変化させる。
Aout' = Ain + (Aout - Ain) × (1 - L)      …（５）
【００４０】
これにより、図４（ｃ）のように、Ａｉｎ、Ａｏｕｔ’の点に制御点を設けることにより色曲がりしそうなシーンに対応した補正曲線を算出することが可能となる（Ｓ２０９）。なお、この際暗部の黒浮き、明部の白飛びを防ぐために、暗部、明部に制御点を追加することも可能である。
また、先に補正曲線を求めてから飽和特徴量による制限をかけることも可能である。その場合、図２（ｂ）に示すように、Ｓ２０８、Ｓ２０９の代わりに、Ｓ２１０、Ｓ２１１の処理を行う。この場合は先に図４（ｄ）中に示したような制御点から破線で示したような補正曲線を算出し、この補正曲線全体に対し補正量を弱めることによって色曲がりがしやすいシーンに適した補正曲線を算出することが可能となる。例えば、Ｓ２１０でＹｏｕｔ＝ｆ（Ｙｉｎ）という補正曲線が得られた際には、弱め割合Ｌを基にして、式（６）のようにして色曲がりがしやすいシーンに適した補正曲線Ｙｏｕｔ‘＝ｆ（Ｙｉｎ）を求めることが可能となる。
Yout' = Yin + (Yout - Yin) × (1 - L)      …（６）
【００４１】
そして、変更した補正曲線により、輝度階調補正を行う。
【００４２】
上記の通り第１の実施形態によれば、シーンの飽和特徴量の算出において、輝度を判定条件に用いる。これにより、彩度が高く、補正を行うと色曲がりが発生するようなシーンにおける色曲がりを軽減することができると共に、彩度が高くても、補正を行っても色曲がりが発生しづらいようなシーンに対しては適切な補正を行うことが可能である。
【００４３】
さらに、画像をブロックに分割してブロック処理を行うことにより、局所的な画素が色曲がりしそうかどうかではなく、領域として色曲がりしそうなまとまりがあるかどうかを調べることが可能となる。これにより、彩度にばらつきが存在するようなシーンに対してもより好ましい補正を行うことが可能となる。
【００４４】
＜第２の実施形態＞
第１の実施形態では、色曲がりしそうな領域が画面内に多く存在している場合に補正量を弱める処理の例を示したが、弱め割合は撮影シーンによって好ましい弱め方が異なる。そこで本実施形態では、撮影シーンによって補正量の弱め方を異ならせる。
【００４５】
撮影シーンの違いとして、例えば顔の有無が挙げられる。図５（ｂ）に破線で示したような、輝度Ａｉｎを輝度Ａｏｕｔに補正するための補正曲線が算出された場合について考える。なお、図５（ｂ）は、図４（ｃ）に示す補正曲線において、Ａｉｎ付近を拡大した図である。この時、画面内に顔が存在せず、高彩度な領域が広く存在している場合、人の目は高彩度な領域に注目しやすい。そのため、このようなシーンにおいては高彩度な領域が補正により色曲がりしてしまうのであれば、色曲がりを軽減することを重視した補正をかけることで好ましい補正にできる可能性が高い。そのため、このような場合には色曲がりしそうな度合が高ければ高いほど、階調補正の強さをより弱めて、制御点を図５（ｂ）中のＣ点に近づけていくことで、補正がかかりにくくする。
【００４６】
しかし、色曲がりしそうな領域が広く存在するが、それと同時に顔が存在するような場合、人の目は高彩度な領域とともに顔に関しても注目しやすい。そのため、顔の領域がもともと暗いような場合に、色曲がりしそうな領域が広く存在するからと言って階調補正の強さを弱めすぎてしまうと、顔に関しては好ましくない画像となってしまう。つまり、似たようなシーンであっても、顔がある場合に、顔がない場合と同様に制御点を図５（ｂ）中のＣ点に近づけてしまうと、暗い顔を補正することができなくなってしまう。
【００４７】
そこで、顔があるシーンにおいてはＣ点とは異なる制御点Ｂを定めておき、シーンの色曲がりしそうな度合が高ければ高いほど制御点をＢ点に近づけていくことで、色曲がりは軽減しつつも必要な補正もある程度かけるという補正を行うことが可能となる。そこで、本第２の実施形態においては図６のように、第１の実施形態で説明した図２のフローチャートに被写体を認識する処理（Ｓ３０１）を追加するとともに、第１の実施形態と異なる補正特徴量算出処理（Ｓ３０６）と補正量算出処理（Ｓ３０７）を行う。その他の処理は上述した第１の実施形態と同様であるので、図２と同じ参照番号を付して、適宜説明を省略する。
【００４８】
本第２の実施形態においては、Ｓ２０１で得られた画像から、ＣＰＵ１０３は被写体の検出を行う（Ｓ３０１）。次に、Ｓ２０２〜Ｓ２０５で、ＣＰＵ１０３は第１の実施形態で説明したようにして飽和特徴量の算出を行う。
【００４９】
次に、ＣＰＵ１０３は、補正特徴量の算出を行う（Ｓ３０６）。本第２の実施形態では、Ｓ３０１で例えば被写体として顔が検出されている場合には、補正特徴量として顔の輝度を算出する。顔が検出されなかった場合には、図２のＳ２０６と同様にして補正特徴量を求める。例えばある補正特徴量として得られたヒストグラムの平均値がＡｉｎであったときには、その補正量はＡｖｏｌとなる。そのため、例えば図５（ａ）のようなカーブを設定することにより、ヒストグラムの平均値が一定量より大きくなるほど補正量を小さくしていくことが可能である。補正特徴量が算出されると、ＣＰＵ１０３は顔の輝度に応じて図５（ａ）に示す関係に基づいて基準階調補正量を算出する（Ｓ３０７）。
【００５０】
Ｓ３０７で基準階調補正量が算出されると、Ｓ２０８及びＳ２０９、または、Ｓ２１０及びＳ２１１の処理により、弱め割合Ｌの決定と、補正曲線の生成を行う。なお、Ｓ２０９またはＳ２１１における弱め割合Ｌを、Ｓ３０１で特定の被写体が検出されたかによって異ならせる。
【００５１】
例えば、第１の実施形態においては式（５）に示すようにして入力輝度Ａｉｎに対する出力輝度Ａｏｕｔを変化させたが、本第２の実施形態においては以下の式（７）のようにして入力輝度Ａｉｎに対する出力輝度Ａｏｕｔを変化させる。
Aout' = Aout,                            Aout ≦ Alim
Aout' = Alim + (Aout - Alim) × (1 - L),     Aout＞Alim      …（７）
【００５２】
ここで、Ａｌｉｍは最低限保証する階調補正量であり、Ａｉｎよりも高い値を設定する。
これにより、あるシーンにおいて、色曲がりしそうな度合が非常に高かった場合であって、且つ、顔がない場合は、図５（ｂ）のように制御点をＡからＣに移すことにより、補正量を制限することが可能となる。また、同様なシーンでも顔がある場合は、図５（ｂ）のように制御点をＡからＢに移すことにより、ある程度顔への補正は行いつつ、全体的な補正量を制限することが可能となる。
【００５３】
上記の通り本第２の実施形態によれば、顔などのユーザが着目し得る特定の被写体を含むシーンに対して、より好ましい補正量を算出することが可能となる。
【００５４】
なお、上述した第２の実施形態では、特定の被写体として人の顔を検出したが、本発明はこれに限るものではなく、予め決められた被写体であれば、どのようなものであっても良い。
【００５５】
＜第３の実施形態＞
第１の実施形態では、色曲がりしそうな領域が画面全体に対してどの程度の割合で存在するかを調べていたが、例えば画面内に極端に暗い／明るい領域を含んでいるような場合、人の目はその領域を除いた適切な明るさの領域に注目しやすい。例えば図７（ａ）では高彩度領域以外の領域が極端に暗いシーンを表している。仮に高彩度領域以外の領域が図７（ａ）のような極端に低輝度な領域ではなく、通常の風景等、ある程度適切な輝度を持つ領域であれば、画面全体に対する高彩度領域の割合が小さければそこには人の目は注目しづらい。そのような場合、むしろ高彩度領域以外の輝度がやや暗い程度であれば、そのような領域を明るく補正した方が好ましい画像になりやすい。しかし、図７（ａ）は高彩度領域以外は極端に低輝度な領域になっており、図７（ｂ）のようなヒストグラムを有している。このような場合は人の目は図中の高彩度領域に注目しやすい。このようなシーンにおいても通常シーンと同様に、画面全体に対する高彩度領域の割合が小さいからと言って補正量の弱め割合を低くしてしまうと、注目されやすい高彩度領域に色曲がりが発生してしまう場合がある。
【００５６】
そこで、本第３の実施形態においては、輝度特徴量、色特徴量の算出の際に図７（ｂ）中に破線で示したような輝度値の閾値を設け、閾値範囲内の画素を有効画素としてブロックの特徴量を算出することによりこのようなシーンにより適した補正量の算出を行う。
【００５７】
本第３の実施形態における基本的な処理の流れは、第１の実施形態で図２を参照して説明したものと同様であるが、Ｓ２０３における輝度特徴量算出処理、及びＳ２０４の色特徴量算出処理において動作が異なる。第１の実施形態においては、ブロック内のすべての画素のＲ，Ｇ，Ｂの平均から輝度特徴量、色特徴量を算出していたが、本第３の実施形態では輝度に閾値を設け、閾値範囲内にある画素のみを用いてＲ，Ｇ，Ｂの平均値を算出する。なお、輝度に閾値を設けることにより、各ブロック内に極端に暗い／明るい領域をどの程度含むかによってＲ，Ｇ，Ｂ平均値を求める際の母数が変わってくる。そのため、ブロック内において、輝度が閾値範囲内である画素数を表す有効画素数によって、各ブロックの信頼性が変わってくる。そこで、そのような信頼性を加味して飽和特徴量Ｃを算出する際には、上述した式（４）における重みＷ（ｉ）をブロックの有効画素数とすることでブロック信頼性を加味した飽和特徴量の算出を行うことが可能である。この処理を図７（ａ）で示したようなシーンに適用した場合は以下のようになる。
【００５８】
まず、ブロックごとに飽和特徴量ｃiを求めると、図７（ｃ）に示すように、低輝度なブロックでは飽和特徴量ｃiが０に近くなり、高彩度な領域では１に近くなる。ここで、このまま第１の実施形態のように式（３）によりシーン全体の飽和特徴量を算出すると、以下の式（８）のようになる。
【００５９】
0005753393.tif 000005
【００６０】
このように、画面内のほとんどが極端に低輝度であり、高彩度領域が注目されやすいにもかかわらず、シーンの飽和特徴量Ｃとしては低い値が見積もられてしまう。そこで、本第３の実施形態においては、前述した有効輝度範囲内にある有効画素数を考慮する。例えば図７（ａ）のようなシーンでは図７（ｃ）に示したｅiの値のように、極端に低輝度な領域では有効画素数を０に近くする。これを加味し、式（４）の重みＷ（ｉ）としてｅiを用いることにより、シーン全体の飽和特徴量Ｃは以下の式（９）のようになる。
0005753393.tif 000006
【００６１】
このように、高彩度領域に注目されやすいシーンにおける飽和特徴量として高い値を見積もることが可能となるため、高彩度領域に適した弱め量を算出することが可能となる。
【００６２】
上記の通り本第３の実施形態によれば、極端に暗い／明るい領域を多く含んでいるようなシーンに対しても、より好ましい階調補正量を算出することが可能となる。
【００６３】
＜第４の実施形態＞
本第４の実施形態においては、画像をブロックに分割する際の分割方法の例について説明する。ブロックの分割においては大きいサイズのブロックで分割するほど、画像中の色曲がりしそうな領域をエリアで認識しやすくなる。そのため、大きいサイズのブロックで分割する場合は、例えば高彩度な建物や車、または花のマクロ撮影時等のように、ブロック内に特定の被写体だけを多く含むような場合には色曲がりしそうな領域の検出を行いやすくなる。しかし、そのブロック内に異なる被写体、例えば高彩度な植物を遠景で撮影した際などに、ブロック内に花と葉の両方を含んでしまうような場合においては、これらが平均化されてしまうため、結果として彩度が低く見積もられてしまう。
【００６４】
例えば図８のようなシーンの場合、図８（ａ）はこのシーンを大きなサイズのブロックで分割した時の２ブロックを取り出したものであるが、この場合、左側のブロックではブロック内のほとんどが花の領域となっている。そのため、この範囲内で多少の彩度のばらつきがあったとしても色曲がりしそうな領域としてエリアで認識することが可能である。しかし、右側のブロックではブロック内に花と葉が混在しているため、これらが平均化されてしまい、色曲がりしそうな領域として抽出することができない。
【００６５】
図８（ｂ）ではこのシーンを小さなサイズのブロックで分割した時の１８ブロックを取りだしたものであるが、この場合は、右側の９ブロックはブロックごとに花領域、葉領域を抽出できている。そのため、色曲がりしそうな領域、色曲がりしない領域を抽出することが可能である。しかし、逆に左側の９ブロックでは大きい花を細かく見ることになってしまうため、この花に陰影があった場合、細かい彩度の変動の影響を受けてしまい、花全体として色曲がりしそうかどうかを見ることができなくなる。本第４の実施形態はこのような場合でも、より好ましい階調補正量を算出できるようにする。
【００６６】
本第４の実施形態における基本的な処理の流れは、第１の実施形態で図２を参照して説明したものと同様であるが、本第４の実施形態においては、複数のサイズのブロックを用いてブロック分割を行う点が異なる。上述した第１の実施形態においては、Ｓ２０３及びＳ２０４においてブロックの輝度特徴量及び色特徴量を算出する際に、各ブロックごとにＲ，Ｇ，Ｂの平均値を算出し、そこから輝度値、彩度値、明度値を算出している。一方、本第４の実施形態においては、予め異なる２つのブロックサイズを規定しておく。そして、ブロックサイズが大きい方に関してはブロック内に含まれる画素のＲ値、Ｇ値、Ｂ値それぞれの平均値ＡｖｅＲＬ、ＡｖｅＧＬ、ＡｖｅＢＬ、及びブロック内に含まれる画素のＲ値、Ｇ値、Ｂ値それぞれの分散値ＶａｒＲ、ＶａｒＧ、ＶａｒＢを求めておく。一方、ブロックサイズが小さいほうに関してはブロック内に含まれる画素のＲ値、Ｇ値、Ｂ値それぞれの平均値ＡｖｅＲＳ，ＡｖｅＧＳ，ＡｖｅＢＳを算出しておく。
【００６７】
すなわち、図８（ａ）の各ブロックにおける平均値・分散値と、図８（ｂ）の各ブロックにおける平均値の算出を行う。その上で、まずブロックサイズが大きいほうの分散値を調べる。ここで、図８（ａ）の左側のブロックのように、ブロックの中に花しか含まれていないような場合には分散値は低くなる。逆に、図８（ａ）の右側のブロックのように、ブロック中に花と葉など、異なる被写体を含んでいるような場合においては、分散値は高い値を示す。つまり、そのようなブロックにおいては小さいブロックサイズで判定することが好ましい。そこで、大きいサイズのブロックから算出された分散値が予め決められた閾値よりも高い場合には、小さいサイズのブロックから算出された平均値を用る。一方、大きいサイズのブロックから算出された分散値が閾値以下の場合には大きいサイズのブロックから算出された平均値をそのまま用いる。なお、この閾値処理は例えばＶａｒＲ、ＶａｒＧ、ＶａｒＢの平均値や最大値がある閾値Ｔｈよりも高いかどうかで判断したりすることが可能である。これにより図８（ｃ）のように、花領域のみを含むようなブロックにおいては大きいサイズのブロックから算出した平均値を用い、花領域と葉領域を含むようなブロックにおいては小さいサイズのブロックから算出した平均値を用いることが可能となる。
【００６８】
この際、飽和特徴量の算出には式（４）を用い、重みＷ（ｉ）をブロックを構成する画素数にすることでブロックサイズを考慮した飽和特徴量の算出を行うことが可能となる。
【００６９】
なお、上記第４の実施形態では、２種類のブロックサイズに分割する場合について説明したが、３種類以上のブロックサイズに分割するように構成しても構わない。
【００７０】
以上、本発明の好ましい実施例について説明したが、本発明はこれらの実施例に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００７１】
＜他の実施形態＞
なお、本発明は、複数の機器（例えばホストコンピュータ、インターフェイス機器、カメラヘッド、スキャナなど）から構成されるシステムに適用しても、一つの機器からなる装置（例えば、デジタルスチルカメラ、デジタルビデオカメラなど）に適用してもよい。
【００７２】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【００７３】
図９は、上記プログラムにより本発明を実現可能な情報処理装置２００の概略構成を示すブロック図である。図９において、表示部２０１は、画像処理前の画像の表示、画像処理後の画像の表示、対話的な操作のための文字表示などを行う。操作部２０２は、使用者の操作を受け付けるためのものである。操作部２０２は例えばキーボードやポインティング装置などを用いることが可能である。ＣＰＵ２０３は、入力された信号やプログラムに従って、各種の演算や、情報処理装置２００を構成する各部分の制御を行う。一次記憶装置２０４は、一時的なデータを記憶し、ＣＰＵ２０３の作業用に使われる。二次記憶装置２０５は、画像処理を行うためのプログラムや各種の設定情報を記憶する。通信装置２０６は、外部装置と接続し制御コマンドやデータの送受信を行う。通信装置２０６として、通信装置１０９と同じような形態を選択することも可能である。
【００７４】
また、情報処理装置２００で本発明を実施した場合は、二次記憶装置２０５に格納された画像や通信装置２０６を介して取得された一般の画像を当該処理の対象とすればよく、処理の対象は撮影画像に限らない。
【図１】
0005753393.tif 000007
【図２】
0005753393.tif 000008
【図３】
0005753393.tif 000009
【図４】
0005753393.tif 000010
【図５】
0005753393.tif 000011
【図６】
0005753393.tif 000012
【図７】
0005753393.tif 000013
【図８】
0005753393.tif 000014
【図９】
0005753393.tif 000015
【図１０】
0005753393.tif 000016