(57)【特許請求の範囲】
【請求項１】
画像から複数の被写体領域を判別する判別手段と、
前記画像から得られる特徴量に基づいて、前記画像が所定の撮影シーンである可能性を示す度合いを算出する度合算出手段と、
前記複数の被写体領域の輝度差に基づいて前記複数の被写体領域のそれぞれに対する階調補正量を算出する算出手段と、
前記階調補正量を、前記度合いに基づいて補正する補正手段と、
前記補正手段が補正した階調補正量を、前記複数の被写体領域に適用する階調処理手段と、を有することを特徴とする画像処理装置。
【請求項２】
前記被写体領域を構成する画素値のヒストグラムを算出し、前記ヒストグラムに応じて、前記階調補正量を適用する前記画素値の範囲を算出する範囲算出手段をさらに備え、
前記階調処理手段は、前記画素値の範囲ごとの前記階調補正量を前記複数の被写体領域に適用することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記算出手段は、前記複数の被写体領域のうち主被写体領域に対する階調補正量を算出し、前記複数の被写体のうち前記主被写体領域以外の被写体領域については、前記主被写体領域に対する階調補正量と、前記主被写体領域との輝度差とに基づいて、階調補正量を算出することを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記算出手段は、前記被写体領域のうち、前記被写体領域を表す輝度値が最も低い前記被写体領域を前記主被写体領域とすることを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記判別手段は、前記複数の被写体領域として少なくとも背景領域と空領域を判別することを特徴とする請求項１ないし４のいずれか１項に記載の画像処理装置。
【請求項６】
前記度合算出手段は、所定の前記被写体領域の画素に占める所定の画素の割合に基づいて、前記特徴量を算出すること特徴とする請求項１ないし５のいずれか１項に記載の画像処理装置。
【請求項７】
前記度合算出手段は、所定の前記被写体領域を表す輝度値が、前記所定の撮影シーンのために予め定められた輝度値の範囲にあるかに基づいて、前記特徴量を算出することを特徴とする請求項１ないし６のいずれか１項に記載の画像処理装置。
【請求項８】
前記度合算出手段は、前記被写体領域のうちの少なくとも２つの、前記複数の被写体領域の輝度差が、前記所定の撮影シーンのために予め定められた値より大きいかに基づいて、前記特徴量を算出することを特徴とする請求項１ないし７のいずれか１項に記載の画像処理装置。
【請求項９】
前記補正手段は、前記度合いが大きいほど、それぞれの前記被写体領域に対する階調補正量の大きさを減少させ、かつ、所定の２つの前記被写体領域に対する階調補正量の差を増加させることを特徴とする請求項１ないし８のいずれか１項に記載の画像処理装置。
【請求項１０】
前記所定の撮影シーンが、夕景または曇天を含むシーンであることを特徴とする請求項５ないし９のいずれか１項に記載の画像処理装置。
【請求項１１】
判別手段が、画像から複数の被写体領域を判別する判別工程と、
度合算出手段が、前記画像から得られる特徴量に基づいて、前記画像が所定の撮影シーンである可能性を示す度合いを算出する度合算出工程と、
算出手段が、前記複数の被写体領域の輝度差に基づいて前記複数の被写体領域のそれぞれに対する階調補正量を算出する算出工程と、
補正手段が、前記階調補正量を、前記度合いに基づいて補正する補正工程と、
階調処理手段が、前記補正手段が補正した階調補正量を、前記複数の被写体領域に適用する階調処理工程と、を有することを特徴とする画像処理装置の制御方法。
【請求項１２】
コンピュータを、請求項１ないし１０のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびその制御方法ならびにプログラムに関し、特に階調処理技術に関する。
【背景技術】
【０００２】
従来、ＨＤＲ（Ｈｉｇｈ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）合成や覆い焼き等、入力のダイナミックレンジを拡大した信号を出力する段階で階調圧縮する処理が知られている。特許文献１には、画像を複数の被写体領域に分割し、各被写体領域から算出した代表画素値とエッジ成分により、被写体領域ごとのヒストグラムを算出し、算出したヒストグラムに基づいて、その被写体領域に対応する階調変換カーブを生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３０１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されている技術では、被写体領域間の明るさのバランスを考慮せずに階調変換カーブを生成するため、ダイナミックレンジを拡大するほどコントラストが低下するなど、得られる画像が不自然になる可能性がある。
【０００５】
さらに、特許文献１に開示されている技術では、夕景シーンや日中シーンといった撮影シーンの違いを考慮せずに階調変換カーブを生成するため、撮影シーンが持つ雰囲気が失われてしまうという課題がある。例えば、薄暗い夕景シーンを撮影した画像の背景領域の明るさを、日中シーンと同等の適正値まで明るくするような階調変換カーブを生成すると、夕景シーンに特徴的な背景領域の持つ薄暗さや、空領域と背景領域の明暗差が失われることがある。
【０００６】
本発明は、上述の従来技術の問題点に鑑みてなされたものであり、撮影シーンに特徴的な被写体領域間のバランスを考慮した階調処理を行うことが可能な画像処理装置およびその制御方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、画像から複数の被写体領域を判別する判別手段と、画像から得られる特徴量に基づいて、画像が所定の撮影シーンである可能性を示す度合いを算出する度合算出手段と、複数の被写体領域の輝度差に基づいて複数の被写体領域のそれぞれに対する階調補正量を算出する算出手段と、階調補正量を、度合いに基づいて補正する補正手段と、補正手段が補正した階調補正量を、複数の被写体領域に適用する階調処理手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、撮影シーンに特徴的な被写体領域間のバランスを考慮した階調処理を行うことが可能になる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る画像処理装置の一例としてのデジタルカメラ１００の機能構成例を示すブロック図
【図２】本実施形態に係る画像処理部１０４の機能構成例を示すブロック図
【図３】本実施形態に係る露光量算出部１０５の機能構成例を示すブロック図
【図４】本実施形態に係る階調特性算出部２０４の機能構成例を示すブロック図
【図５】本実施形態に係るゲイン処理部２０６の機能構成例を示すブロック図
【図６】本実施形態に係る露出量算出処理に係る一連の動作を示すフローチャート
【図７】本実施形態に係る階調処理に係る一連の動作を示すフローチャート
【図８Ａ】本実施形態に係る階調特性の算出処理に係る一連の動作を示すフローチャート
【図８Ｂ】本実施形態に係るゲイン量補正処理に係る一連の動作を示すフローチャート
【図９】夕景度を算出するためのパラメータと夕景度の関係の一例を示す図
【図１０】夕景度に応じて画像全体にかかるゲイン量（Ａ）と、夕景度に応じて背景領域にかかるゲイン量と空領域にかかるゲイン量の差分（Ｂ）を例示する図
【図１１】被写体領域の判別例（Ａ）、各被写体領域間の輝度段差（Ｂ）および出力露光量（Ｃ）を説明する図
【図１２】各被写体領域に対する目標ゲイン量（Ａ）、各被写体領域に適用するゲイン量（Ｂ）を説明する図
【図１３】輝度信号に対する階調特性（Ａ）およびゲインテーブル（Ｂ）を例示する図
【図１４】本実施形態に係る階調特性作成部４０５により算出される入出力特性の例（Ａ）および入出力特性に対する被写体領域ごとの入力信号の範囲（Ｂ）を示す図
【図１５】入出力特性に対する被写体領域ごとの入力信号の範囲を算出する方法を説明する図
【図１６】本実施形態により得られる階調特性の一例を示す図
【図１７】本実施形態に係る被写体領域ごとの階調処理の概略を示す図
【図１８】曇天度を算出するためのパラメータと曇天度の関係の一例を示す図
【発明を実施するための形態】
【００１０】
（実施形態１）
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下では画像処理装置の一例として、階調処理が可能な任意のデジタルカメラに本発明を適用した例を説明する。しかし、本発明は、デジタルカメラに限らず、階調処理を行うことが可能な任意の機器にも適用可能である。これらの機器には、例えば携帯電話機、ゲーム機、タブレット端末、パーソナルコンピュータ、時計型や眼鏡型の情報端末などが含まれてよい。
【００１１】
本実施形態では、画像上の被写体領域を判別して、被写体領域ごとに階調処理（領域別トーンマッピングともいう）を行う。図１７に示すように、領域別トーンマッピングでは、まず被写体領域ごとに代表輝度値に基づいて最適なゲイン量を算出し、算出した被写体領域ごとのゲイン量を適用した複数の画像を生成する。そして、各画像からそれぞれの被写体領域を抽出して出力画像を得る。なお、本実施形態では、領域別トーンマッピングについて、最も効果の得やすい撮影シーンの１つである、背景が最も暗く、空が最も明るい夕景シーンを例に説明する。
【００１２】
（１  デジタルカメラの構成）
図１は、本実施形態の画像処理装置の一例としてデジタルカメラ１００の機能構成例を示すブロック図である。なお、図１に示す機能ブロックの１つ以上は、ＡＳＩＣやプログラマブルロジックアレイ（ＰＬＡ）などのハードウェアによって実現されてもよいし、ＣＰＵやＭＰＵ等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。従って、以下の説明において、異なる機能ブロックが動作主体として記載されている場合であっても、同じハードウェアが主体として実現されうる。
【００１３】
光学系１０１は、ズームレンズやフォーカスレンズから構成されるレンズ群、絞り調整装置およびシャッター装置を備えている。光学系１０１は、撮像部１０２に到達する被写体像の倍率、ピント位置あるいは撮像部１０２に入射する光量を調整する。撮像部１０２は、光学系１０１を通過した被写体の光束を光電変換し電気信号に変換するＣＣＤやＣＭＯＳセンサー等の光電変換素子である。
【００１４】
Ａ／Ｄ変換部１０３は、入力されたアナログ信号をＡ／Ｄ変換回路によってアナログ・デジタル変換して、画素単位のデジタル信号を出力する。
【００１５】
画像処理部１０４は、画素補間処理等の現像処理や記録部１１０に画像を記録するための所定の圧縮処理を行う。また、別途後述する本実施形態に係る階調処理を行う。画像処理部１０４は、階調処理を適用した複数の画像を生成して、各画像から各被写体領域を抽出した出力画像を生成する。画像処理部１０４はＡ／Ｄ変換部１０３から出力された画像に限らず、記録部１１０から読み出した画像に対しても同様の画像処理や伸張処理を行うことができる。
【００１６】
露光量算出部１０５は、本実施形態に係る階調処理を行うために最適な入力画像を得るため、撮影時の露光量を算出する。画像処理部１０４の処理結果を入力として、後述する露光量の算出処理を行って露光量制御部１０６に対して出力する。
【００１７】
露光量制御部１０６は、露光量算出部１０５により入力された露光量に基づいて光学系１０１および撮像部１０２の絞り、シャッタースピード、センサーのアナログゲインを制御する。
【００１８】
制御部１０７は、例えばＣＰＵあるいはＭＰＵであり、不図示のＲＯＭに格納されたプログラムを不図示のＲＡＭの作業エリアに展開し、実行することにより、デジタルカメラ１００の全体を制御する。
【００１９】
記録部１１０は、撮影された画像を記録する機能を有し、例えば、半導体メモリが搭載されたメモリカードや光磁気ディスク等の回転記録体を収容したパッケージなどを用いた記録媒体を含む。
【００２０】
（２−１．露光量算出処理に係る一連の動作）
適切な階調処理を行うためには、最適な露光量で撮影された画像を得る必要があるため、露光量算出部１０５は、撮影のための適切な露光量を算出する。露光量算出部１０５は、例えば図３に示す機能ブロックから構成される。露光量算出部１０５には、画像処理部１０４内の輝度値算出部２０３から出力される、被写体領域ごとの代表輝度値が入力される。露光量算出部１０５を構成する各部の処理については、露光量算出処理と合わせて後述する。
【００２１】
画像を取得してから露光量算出部１０５により露光量を算出するまで一連の動作を、図６を参照して説明する。なお、本処理は例えばデジタルカメラ１００の不図示のシャッターボタンが半押しされるとともに、撮影された画像が入力された場合に開始される。以下に説明する各ステップのうち、Ｓ６０１〜Ｓ６０３の処理を画像処理部１０４が実行し、Ｓ６０４〜Ｓ６０６までの処理を露光量算出部１０５が実行するものとし、制御部１０７が各部を制御して露光量算出処理の全体を制御する。
【００２２】
Ｓ６０１において画像処理部１０４は、制御部１０７の指示に基づいて、露光量を算出するために撮影された画像をＡ／Ｄ変換部１０３から取得する。
【００２３】
Ｓ６０２において画像処理部１０４は、取得画像から被写体領域の判別を行う。本実施形態では、被写体領域の判別対象として、人物の顔領域、人物の体領域、雲・太陽等を含む空領域、これら以外の領域を背景領域として計４つの領域を判別する。図１１（Ａ）は、入力画像に対して、被写体領域の判別処理を行った結果の例を示している。被写体領域の判別は、特開２００６−３９６６６号公報に記載されるようなニューラルネットワークによる学習データを用いた物体認識等、公知の方法を用いて行うことができるため、判別処理の詳細な説明は省略する。被写体領域の判別精度については、１画素単位あるいは一定のサイズのブロック単位のいずれでも構わないが、本実施形態では１画素単位として説明する。
【００２４】
Ｓ６０３において画像処理部１０４は、Ｓ６０２における被写体領域の判別結果を用いて、被写体領域ごとの代表輝度値を算出する。代表輝度値は、対応する被写体領域内の輝度信号の平均値、および座標に応じた重み付けによる加重平均値のいずれかを指す。本実施形態のように、人物が検出されない撮影シーンでは、空領域および背景領域の２領域について代表輝度値を算出する。例えば、画像処理部１０４は、空領域の代表輝度値（SKY_Y）を対応する被写体領域内の輝度信号の平均値から算出し、背景領域の代表輝度値（BACK_Y）を、画像中央の重みが大きくなるような重み付けによる加重平均値から算出する。画像処理部１０４は、算出した各被写体領域の代表輝度値を露光量算出部１０５に出力する。
【００２５】
Ｓ６０４において露光量算出部１０５の輝度段差算出部３０２は、入力した各被写体領域の代表輝度値から被写体領域間の輝度段差を算出する。輝度段差の算出は、図１１（Ｂ）に示すように、入力画像の露光量を基準にして得られる各被写体領域の目標露光量の間の差分絶対値を求めることにより得られる。目標露光量とは、対象とする被写体領域の代表輝度値を目標輝度値にするために、入力画像の露光量から何段オーバーまたはアンダーの露光量にすれば良いか（すなわち、露出補正量）を示すものである。入力画像の露光量よりも多くすることをオーバー、入力画像の露光量よりも少なくすることをアンダーという。目標輝度値は各被写体領域について予め定められた値であるものとする。
【００２６】
代表輝度値BACK_YおよびSKY_Yに対して、各被写体領域の目標輝度値をBACK_ref_Y、SKY_ref_Yとすると、各被写体領域の目標露光量ΔBV_BACK _ref、ΔBV_SKY_refは（式１）によって算出される。
【００２７】
【数１】
0006366432.tif 000002
【００２８】
輝度段差算出部３０２は、（式１）により算出された各被写体領域の目標露光量から各被写体領域間の輝度段差を算出する。背景領域と空領域の輝度段差ΔBSは、（式２）によって算出される。ここで、ＡＢＳは絶対値を算出する関数を表す。
【００２９】
【数２】
0006366432.tif 000003
【００３０】
Ｓ６０５において露光量算出部１０５の出力輝度値算出部３０１は、Ｓ６０３で算出された各被写体領域の目標輝度値に基づいて、主被写体の出力輝度値を算出する。主被写体の出力輝度値とは、前述の目標輝度値とは異なり、後の撮影画像で最終的に出力したい主被写体領域の輝度値を指す。本実施形態では、背景を主被写体とし、背景領域の目標輝度値をそのまま主被写体の出力輝度値（BACK_OUT_Y）とする。
【００３１】
Ｓ６０６において露光量算出部１０５の露光量決定部３０３は、Ｓ６０４で算出した被写体領域間の輝度段差ΔBSと、Ｓ６０５で算出した主被写体の出力輝度値BACK_OUT_Yを入力して、階調処理に適した撮影を行うための露光量を決定する。図１１（Ｃ）は、入力画像の露光量に対する各被写体領域の出力露光量を示している。出力露光量は、最終的に出力したい各被写体領域の明るさを実現するために、入力画像の露光量に対し、何段オーバーまたはアンダーの露光量にすれば良いか（すなわち、露出補正量）を示す。背景領域、空領域の出力露光量をそれぞれ、ΔBV_BACK、ΔBV_SKYとすると、各被写体領域の出力露光量は、（式３）により算出される。露光量決定部３０３は、Ｓ６０５で算出した出力輝度値に基づいて決定した主被写体の出力露光量ΔBV_BACKを基準に、Ｓ６０４で算出した領域間の輝度段差ΔBSの１／２を維持するように主被写体以外の被写体領域（即ち空領域）の出力露光量を決定する。
【００３２】
【数３】
0006366432.tif 000004
【００３３】
露光量決定部３０３は、各被写体領域の出力露光量のうち、最も小さい出力露光量を、階調処理に適した撮影を行うための露光補正量として決定する。即ち、各被写体領域のうち、最も小さい出力露光量である空領域のΔBV_SKYを入力画像の露光量に反映した露光量BV_Captureを、撮影時の露光量として決定する。制御部１０７は、露光量算出部１０５が撮影時の露光量を出力すると、本処理に係る一連の処理を終了する。
【００３４】
上述したような階調処理に適した露光量を算出しない場合、適切な露光量で階調処理を行うことができなくなる。例えば、露光量が必要以上に大きくなると飽和領域等の発生により広ダイナミックレンジの画像を実現できず、反対に、露光量が必要以上に小さくなると、後述する階調処理においてデジタルゲインが必要以上にかかり、増幅したノイズによる画質劣化が発生する。このため、上述した露光量の算出を行うことにより階調処理に最適な画像を入力することが可能になる。
【００３５】
（３．画像処理部１０４の構成）
図２には、画像処理部１０４の機能構成例を示すブロック図を示している。以下の各機能ブロックは、全体として入力画像に対する階調処理を行う。被写体領域判別部２０１は、入力画像に対して被写体領域を判別する。輝度値算出部２０３は、判別された被写体領域ごとの代表輝度値を算出するとともに、ヒストグラム算出部２０２は、被写体領域ごとのヒストグラムを算出する。階調特性算出部２０４は、輝度値算出部２０３およびヒストグラム算出部２０２による算出結果を用いて、入力画像に対する階調特性を算出する。階調特性の算出は、例えば夕景等の撮影シーンの度合いを算出したうえで、被写体領域ごとに適用するゲイン量を算出することにより行う。ゲインテーブル算出部２０５は、階調特性に応じた階調変換用のゲインテーブルを算出し、ゲイン処理部２０６は、入力画像に対してゲインをかける処理を行う。その後、階調圧縮部２０７は、ゲイン処理後の信号を表示系に合わせるために階調圧縮処理を行う。
【００３６】
（４−１．階調処理に係る一連の動作）
次に、階調処理に係る一連の動作について図７等を適宜参照して説明する。本発明に係る階調処理は、被写体領域間の輝度段差を縮めることが可能な階調特性を画像全体に適用することに特徴がある。また、主被写体領域を基準として、主被写体領域以外にシーンに応じてバランス良く階調を割り当てることにより、人間の見た目通りのコントラストと明るさに近づけた画像を出力することができる。
【００３７】
上述した露光量算出処理により決定された露光量BV_Captureに基づいて光学系１０１が調整された後、例えばシャッターボタンの全押しによる撮影指示により撮影が行われると、画像処理部１０４は、撮影された画像に対して階調処理を行う。
【００３８】
Ｓ７０１において画像処理部１０４は、階調処理用に撮影された画像を入力画像として取得する。
【００３９】
Ｓ７０２において被写体領域判別部２０１は、Ｓ７０１で取得された入力画像に対して、被写体領域の判別処理を行う。被写体領域の判別処理については、Ｓ６０２と同様の処理を行えばよいため、説明は省略する。
【００４０】
Ｓ７０３において輝度値算出部２０３は、Ｓ７０２で判別された被写体領域ごとに代表輝度値を算出する。各被写体領域の代表輝度値の算出処理については、Ｓ６０３と同様の処理を行えばよいため説明は省略する。
【００４１】
Ｓ７０４においてヒストグラム算出部２０２は、被写体領域ごとに輝度信号のヒストグラムを算出する。
【００４２】
Ｓ７０５において階調特性算出部２０４は、Ｓ７０３で算出した各代表輝度値と、Ｓ７０４で算出した被写体領域ごとのヒストグラムを入力して、入力画像の輝度信号に対する階調特性を算出する。階調特性は、例えば図１３（Ａ）に示すように、横軸を入力信号、縦軸を出力信号として、入力信号に応じた出力信号を示す入出力特性である。例えば、階調特性を補正しない場合は、点線で示す様に、入力信号と出力信号の値が等しい入出力特性になる。本ステップにおける階調特性の算出処理の詳細は、図８Ａ等を参照して別途詳述する。
【００４３】
Ｓ７０６においてゲインテーブル算出部２０５は、Ｓ７０５で算出した輝度信号に対する階調特性に基づいて、ゲインテーブルを算出する。ゲインテーブルは、図１３（Ｂ）に示す様に横軸を入力信号、縦軸をゲインとする、入力信号に応じたゲインを示すテーブルである。入力信号をx、階調特性によって変換された出力信号をyとすると、ゲインGainは（式４）で表される。
【００４４】
【数４】
0006366432.tif 000005
【００４５】
Ｓ７０７においてゲイン処理部２０６は、Ｓ７０６で算出したゲインテーブルを用いて入力画像にゲインを適用する。図５は、本ステップにおけるゲイン処理に対応するゲイン処理部２０６内の機能構成例を示している。
【００４６】
画像の最も左上の画素を(0,0)として、画素位置を(x,y)で示したとき、入力信号Yin(x,y)に対して適用するゲインGain(x,y)は、ゲインテーブルをGainTbl関数で表すと（式５）のようになる。
【００４７】
【数５】
0006366432.tif 000006
【００４８】
Gain(x,y)は入力画像の(x,y)に位置する画素に対応するゲインである。ゲインを算出するための入力信号であるYin(x,y)は、ゲイン算出用画像生成部５０１により、入力画像に基づいて生成されたゲイン算出用画像の信号である。ゲイン算出用画像生成部５０１は、入力画像の細かいテクスチャに対するゲインの敏感度を下げ、コントラストをより良好に維持するため、入力画像を輝度画像に変換し、平均値処理などのボカし処理を行ってゲイン算出用画像を生成する。
【００４９】
ゲイン変換部５０２は、ゲイン算出用画像の(x,y)に位置する画素値であるYin(x,y)を、入力画像の(x,y)に位置する画素に適用するゲイン信号に変換する処理、即ち、（式５）で示す処理を行う。ゲイン乗算部５０３は、ゲイン変換部５０２で算出したゲインに基づいて、入力画像に対してゲインを乗算する処理を行う。本実施形態では、撮影された入力画像から、既にデモザイキング処理を終えたＲ，Ｇ，Ｂ画像に対し、ゲインを乗算する処理を行う。例えば、ゲイン乗算前の(x,y)に位置する画素のＲ，Ｇ，Ｂの信号をそれぞれRin(x,y)、Gin(x,y)、Bin(x,y)とする。このとき、ゲイン乗算後のＲ，Ｇ，Ｂの信号Rout (x,y)、Gout (x,y)、Bout(x,y)は、GainTbl関数を用いて（式６）により算出される。
【００５０】
【数６】
0006366432.tif 000007
【００５１】
ここで、画素位置(x,y)において、Ｒ，Ｇ，Ｂのそれぞれの信号にかけるゲインは同じである。なお、本実施形態ではＲＧＢ信号に対してゲイン処理を行ったが、ＹＵＶ信号に対して上記のゲイン処理を行ってもよい。
【００５２】
Ｓ７０８において階調圧縮部２０７は、Ｓ７０７でゲイン処理を行ったＲ，Ｇ，Ｂのｍビットの信号を表示系に合わせるためにγ特性を有する階調圧縮処理を行い、ｎビット（ｎはｍ以下）の信号を出力する。画像処理部１０４は、階調圧縮処理を行った信号を出力すると、階調処理に係る一連の動作を終了する。
【００５３】
（４−２．階調特性の算出処理に係る一連の動作）
本発明の主たる特徴である、階調特性の算出処理の一連の動作について、図８Ａに示す８００を参照して説明する。また、図４には、階調特性の算出処理の一連の動作を実行する、階調特性算出部２０４の機能構成例を示している。なお、階調特性の算出処理は、上述したＳ７０５の処理が呼び出されたときに開始される。
【００５４】
Ｓ８１０において輝度段差算出部４０１は、入力した、被写体領域ごとの代表輝度値を用いて被写体領域間の輝度段差を算出する。輝度段差の算出方法については、図１１（Ｂ）、（Ｃ）およびＳ６０４において示した処理と同様であり、図１２（Ａ）および図１２（Ｂ）に示すように、０段を基準とした露光量（露出補正量）をゲイン量と置き換えればよい。
【００５５】
Ｓ８２０において出力輝度値決定部４０２は、主被写体に対する出力輝度値を決定する。主被写体の出力輝度値とは、Ｓ６０５における出力輝度値と同様に、最終的に出力したい主被写体領域の輝度値である。また、本実施形態では、上述のように背景領域を主被写体領域として設定する。出力輝度値の算出方法についてはＳ６０５において示した処理内容と同様であるため説明は省略する。
【００５６】
Ｓ８３０において階調補正量算出部４０３は、Ｓ８１０で算出した被写体領域間の輝度段差と、Ｓ８０２で算出した主被写体の出力輝度値を入力として、各被写体領域の階調補正量を算出する。階調補正量とは、本実施形態では対象の被写体領域に一律に適用するゲイン量である。被写体領域ごとの階調補正量の算出方法について、図８Ａに示す８０１および図８Ｂに示すフローチャートを参照して説明する。
【００５７】
（４−３．階調補正量の決定処理に係る一連の動作）
Ｓ８３１において階調補正量算出部４０３は、各被写体領域の階調補正量［段］をそれぞれ背景領域のゲイン量（GAIN_BACK）、空領域のゲイン量（GAIN_SKY）とすると、それぞれのゲイン量を（式７）により算出する。これらゲイン量は（式３）で求めた出力露光量と同じものである。なお、BACK_Yは背景領域の代表輝度値、BACK_OUT_Yは主被写体である背景領域の出力輝度値であり、ΔBSは背景領域と空領域間の輝度段差である。
【００５８】
【数７】
0006366432.tif 000008
【００５９】
本実施形態では、０段未満のゲイン量に関しては階調補正を適用しないため、（式７）でGAIN_BACK、GAIN_SKYを算出した後、GAIN_BACK、GAIN_SKYのうち、負の値になっているものがあれば、これらの値を０にクリップする。
【００６０】
（４−３．ゲイン量の補正処理に係る一連の動作）
Ｓ８３２においてシーン度合算出部４０６は、各領域に基づく特徴量を算出して画像の示すシーンの度合いを算出し、Ｓ８３１で算出した各領域のゲイン量をさらに補正する処理を行う。ゲイン量の補正処理に係る、より詳細なステップ（Ｓ８３３〜Ｓ８３８）を、図８Ｂに示すフローチャートを参照して説明する。
【００６１】
Ｓ８３３においてシーン度合算出部４０６は、画像において人物が検出されたか否かを判定し、検出されなかった場合には処理をＳ８３４へ進め、検出された場合はゲイン量補正処理を終了する。
【００６２】
Ｓ８３４においてシーン度合算出部４０６は、被写体領域ごとの画素値および輝度段差に基づいて３つの係数α、β、γ（即ち特徴量）を算出し、これらの係数に基づいて夕景である可能性を示す夕景度Score_Sunsetを算出する。
【００６３】
３つの係数の算出方法を、図９を参照して説明する。シーン度合算出部４０６は、夕景度αを、被写体領域判別部２０１によって空領域と判別された画素の総数のうち、色相が赤〜黄（色相角：０〜６０）を示す画素数が占める割合（夕焼け空割合）に基づいて算出する。図９（Ａ）では、シーン度合算出部４０６が、夕焼け空割合が大きいほど夕焼け空である可能性が高いと判断するように、夕景度αを大きな値（最大で１００）としている。
【００６４】
また、シーン度合算出部４０６は、夕景度βを、被写体領域判別部２０１によって判別された空領域の明るさ、即ちＢｖ値（Brightness Value：被写体輝度値）が夕景の空らしい値を持っているか否かに基づいて算出する。例えば、空領域のＢｖ値は、Ｓ７０３で算出した空領域の代表輝度値SKY_Yと空領域の目標輝度値SKY_REF_Y（例えば１０bitで１３３）、そして撮影時の露光量BV_Ｃaptureを用いて、以下の式により算出される。
【００６５】
【数８】
0006366432.tif 000009
【００６６】
例えば図９（Ｂ）では、シーン度合算出部４０６が、空領域のＢｖ値が４〜６である場合に、夕景の空である可能性が高いと判断するように、夕景度βを大きな値（最大で１００）としている。
【００６７】
夕景度γの算出において、シーン度合算出部４０６は、Ｓ８３１で算出した空領域と背景領域の輝度段差ΔBSに基づいて算出される。図９（Ｃ）では、シーン度合算出部４０６が、ΔBSの値が大きいほど、即ち空と背景の輝度段差が大きいほど、夕景の雰囲気を示すシーンである可能性が高いと判断するように、夕景度γを大きな値（最大で１００）としている。
【００６８】
シーン度合算出部４０６は、算出したαおよびβのうち大きい値を選択し、選択した値にγを乗算した値を最終的な夕景度Score_Sunsetとする。夕景シーンでは、日没前までは空の色相が赤〜黄を示すことが多いことからαが大きな値をとる。一方、日没後は空の色相が赤〜黄を示さない反面、Ｂｖ値が日中の晴天時と比較して小さい値をとることからβが大きな値をとるように設定している。従って、本実施形態では、夕景度αおよびβは選択的に用いている。また、後述するように夕景の雰囲気を表す信号として空と背景の明暗の差（輝度段差）を用いることができるため、夕景度γを夕景度の判定に用いている。例えば、入力された画像が日没前の夕景シーンである場合、空の色相が赤〜黄を示す領域を含むために夕景度αの値が大きくなる。そして、太陽を含む空と薄暗い背景とで輝度段差も大きくなることで夕景度γの値が大きくなり、結果的として予め定めた閾値以上の夕景度Score_Sunsetが得られる。
【００６９】
Ｓ８３５においてシーン度合算出部４０６は、Ｓ８３４で算出した夕景度Score_Sunsetが閾値より小さいかを判定し、閾値より小さい場合は処理をＳ８３６に進め、閾値以上である場合はＳ８３８に処理を進める。
【００７０】
Ｓ８３６においてシーン度合算出部４０６は、曇天シーンである可能性を示す曇天度Score_Cloudyを算出する。具体的には、夕景時で述べた場合のように係数α２、β２、γ２を算出する。曇天度α２については、シーン度合算出部４０６は、被写体領域判別部２０１によって空領域と判別された画素の総数に対する、雲領域と判別された画素の総数の比率（雲の割合）に基づいて算出する。図１８（Ａ）に示すように、雲の比率が大きいほど曇り空である可能性が高いと判断するように、α２を大きな値（最大で１００）とする。曇天度β２については、夕景時の判断と同様に式８に基づいて算出する。図１８（Ｂ）に示すように、空のＢｖ値が４〜６であれば曇りの空である可能性が高いと判断するように、曇天度β２を大きな値（最大で１００）とする。さらに、曇天度γ２については、夕景時の判断と同様に輝度段差ΔBSに基づいて算出される。図１８（Ｃ）に示すように、即ち空と背景の輝度段差ΔBSが大きいほど曇天の雰囲気を示すシーンである可能性が高いと判断するようにγ２を大きな値（最大で１００）とする。以降の処理も夕景時の判断と同様に、α２、β２のうち大きい値を選択し、それにγ２を乗算した値を最終的な曇天度Score_ Cloudyとする。
【００７１】
Ｓ８２７においてシーン度合算出部４０６は、算出した曇天度Score_ Cloudyが閾値より小さいかを判定し、閾値より小さい場合はゲイン量補正処理を終了させ、閾値以上である場合はＳ８３８に処理を進める。
【００７２】
Ｓ８３８において階調特性作成部４０５は、算出した夕景度（あるいは曇天度）に基づいて、Ｓ８３１で算出したゲイン量GAIN_BACK、GAIN_SKYの補正を行う。以降の説明では、夕景度が高い場合について説明するが、曇天度が高い場合にも、夕景時の場合と同様にゲイン量GAIN_BACK、GAIN_SKYの補正を行えばよい。本実施形態に係るゲイン量の補正処理を、図１０を参照してさらに説明する。図１０（Ａ）は、ゲインを１０２４階調とした場合の、夕景度に応じて背景領域のゲイン量を補正するための係数（OUT_GAIN）を示し、図１０（Ｂ）は、夕景度に応じて空領域のゲイン量を補正するための係数COMP_Hを示している。そして、これらの係数を用いて、補正ゲイン量GAIN_BACK2、GAIN_SKY2を以下の式により算出する。
【００７３】
【数９】
0006366432.tif 000010
【００７４】
夕景度が増加するほどCOMP_Hが大きくなることから、背景領域にかけるゲイン量と空領域にかけるゲイン量の差が増加する。また、夕景度が増加するほどOUT_GAINが小さくなることから、背景領域にかかるゲイン量が減少し、結果として空領域に係るゲインも減少する。即ち、OUT_GAINおよびCOMP_Hを、夕景度に応じて図１０に示すように変化する値とすることで、夕景時の雰囲気として空と背景領域の輝度差を残し、かつ両領域の明るさを日中シーンよりもアンダーとすることにつながる。このようにシーンの適合度に応じて各領域のゲイン量を制御することで、シーンの雰囲気を残すことが可能になる。シーン度合算出部４０６は、ゲイン量の算出処理を完了するとゲイン量補正処理を終了して、処理をＳ８３２に戻す。
【００７５】
Ｓ８３９において階調特性作成部４０５は、被写体領域ごとの階調補正量から図１４（Ａ）に示す入出力特性を算出する。入力信号をＸ、出力信号をＹとすると、各被写体領域で実現する入出力特性は（式１０）で表される。
【００７６】
【数１０】
0006366432.tif 000011
【００７７】
この式により得られる各被写体領域の入出力特性が、それぞれ、領域別トーンマッピングにおいて被写体領域ごとに適用する階調特性となる。各被写体領域の入出力特性の傾きが、各被写体領域で実現すべきコントラストであり、出力信号は各被写体領域で実現すべき明るさを示している。階調特性作成部４０５は、入出力特性を算出すると、処理をＳ８４０に進める。
【００７８】
次に、被写体領域ごとの輝度のヒストグラムに基づいて、入力信号の範囲を決定する処理について説明する。
【００７９】
Ｓ８４０において適用範囲算出部４０４は、被写体領域ごとの輝度のヒストグラムに基づいて、Ｓ８３０で算出した被写体領域ごとの階調補正量を適応する入力信号の範囲を決定する。入力信号の範囲について図１４（Ｂ）を参照して説明する。
【００８０】
図１４（Ｂ）に示す２つの入出力特性は、（式１０）で示した各被写体領域で実現すべき入出力特性である。入出力特性の横軸に記載されているBACK_POINTおよびSKY_POINTは、対応するそれぞれの被写体領域において、入出力特性を適用する入力信号の範囲を決定する指標である。図１４（Ｂ）のＸ軸は、例えば、０からBACK _POINTまでの入力信号の範囲を入力範囲１４１とし、SKY_POINTから最大値までの入力信号の範囲を入力範囲１４２とした例を示している。入力範囲１４１は、背景領域に対する入出力特性を適用する入力信号の範囲であり、入力範囲１４２は空領域に対する入出力特性を適用する入力信号の範囲である。
【００８１】
BACK_POINT、SKY_POINTの算出は、図１５に示すように、被写体領域ごとに算出した輝度ヒストグラムを用いて行う。図１５（Ａ）には、入力画像から判別した背景領域における輝度ヒストグラム１５０１と、入力画像から判別した空領域における輝度ヒストグラム１５０２を生成した様子を示しており、背景領域および空領域にヒストグラムの偏りが形成されている。各被写体領域のヒストグラムを利用した具体的なBACK_POINT、SKY_POINTの算出処理を図１５（Ｂ）を参照して説明する。まず、適用範囲算出部４０４は、背景領域の輝度ヒストグラム１５０１について、最小の信号値から大きい信号値に向かって、各信号値の頻数を加算する。輝度ヒストグラム１５０１について、各信号値の頻度を加算した場合の、入力信号値と頻数の累積加算値の関係を１５０３に示す。適用範囲算出部４０４は、頻数の累積加算値がある一定の閾値（BACK_TH）以上になった時点で最後に頻数を加算した入力信号の値をBACK_POINTとする。なお、閾値をBACK_THとすると、（式１１）の様に表すことができる。ここで、BACK_AREASUMは、背景領域と判別された画素の総数、P_BACKは調整パラメータである。
【００８２】
【数１１】
0006366432.tif 000012
【００８３】
（式１１）では例えば、頻数の加算値が、背景領域の画素の総数に対して所定の割合に達したことをもってBACK_POINTを決定している。
【００８４】
一方、SKY_POINTの算出について適用範囲算出部４０４は、空領域の輝度ヒストグラム１５０２に対して、最小の信号値から徐々に大きい信号値に向かって、空領域と判別された画素の総数から各信号値の頻数を減算した値を算出する。そして、減算した値がある一定の閾値（SKY_TH）以下になった時点で、最後に頻数を減算した入力信号の値をSKY_POINTとする。SKY_THの決定については、BACK_THと同様に、空領域の画素の総数の所定の割合に達する値を用いればよい。なお、本実施形態は、空領域が最も明るく、背景領域が最も暗いシーンについて説明を行っているが、反対に、背景領域が最も高輝度被写体であるシーンの場合には、SKY_POINTと同じ算出処理を行えばよい。また、空領域が中間輝度被写体のシーンである場合はBACK_POINTと同様の算出処理を行えばよい。
【００８５】
Ｓ８５０において、階調特性決定部４０７は、上述した階調補正量および適用範囲を用いて、画像に一様に適用する階調特性を決定する。即ち、Ｓ８３０で算出した階調補正量GAIN_BACK2およびGAIN_SKY2と、Ｓ８４０で算出した階調補正量を適用する範囲の指標（BACK_POINT、SKY_POINT）とを用いて、階調特性を決定する。図１６は、本実施形態により生成された階調特性を示している。入力信号Xが０〜BACK_POINTの期間（区間１６０１）は、背景領域に適用される入出力特性であり、SKY_POINT〜最大値の期間（区間１６０２）は空領域に適用される入出力特性である。またBACK_POINT〜SKY_POINTの期間は、BACK_POINTおよびSKY_POINTにおける出力値を線形的に変化させた特性とする。このように、画像内の各被写体領域ごとに、撮影シーンに合わせた入出力特性を決定することで、シーンの雰囲気を残した階調補正（例えば、空と背景領域の輝度差を残し、かつ両領域の明るさを日中シーンよりもアンダーとするような階調補正）が可能になる。
【００８６】
画像処理部１０４は、Ｓ８５０における処理を完了すると、階調特性の算出処理に係る一連の動作を終了してＳ７０５に処理を戻す。
【００８７】
なお本実施形態では、人物を含まないシーンを例に挙げて説明しているが、人物が存在する場合においても本発明は適用可能である。人物が検出された場合には、主被写体である人物の顔領域から目標輝度値および出力輝度値を算出する。その上で背景および空領域に対する階調補正量を本実施形態で述べたような手法で制御すれば良い。また、本実施形態では、階調補正処理において雰囲気を残したいシーンとして、夕景および曇天の２つの例を例示したが、本発明はこれに限られるものではない。例えば、スポットライトを浴びた人物が存在し、この人物の領域が明るく、それ以外の背景領域が暗いようなシーンでは、背景領域にかかるゲイン量を小さくするように階調補正量を制御することで、雰囲気を残すことが可能になる。
【００８８】
以上説明したように本実施形態では、所定の撮影シーンの度合いを算出し、当該度合いに応じて階調特性を算出するようにした。このとき、撮影シーンの度合いに応じて各被写体領域間のゲイン量の差および各被写体領域にかけるゲイン量を設定して、各被写体領域に適用される階調特性が撮影シーンの度合いを介して関連性を有するようにした。このようにすることで、撮影シーンに特徴的な被写体領域間のバランスを考慮した階調処理を行うことが可能になる。換言すれば、撮影シーンが持つ雰囲気を残しながらも、被写体領域ごとに最適なコントラストおよび明るさを持つ画像を生成することが可能となる。
【００８９】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００９０】
１０２…撮像部、１０４…画像処理部、１０７…制御部、２０１…被写体領域判別部、２０２…ヒストグラム算出部、２０３…輝度値算出部、２０４…階調特性算出部、２０５…ゲインテーブル算出部、４０６…シーン度合算出部、４０７…階調特性決定部
【図１】
0006366432.tif 000013
【図２】
0006366432.tif 000014
【図３】
0006366432.tif 000015
【図４】
0006366432.tif 000016
【図５】
0006366432.tif 000017
【図６】
0006366432.tif 000018
【図７】
0006366432.tif 000019
【図８Ａ】
0006366432.tif 000020
【図８Ｂ】
0006366432.tif 000021
【図９】
0006366432.tif 000022
【図１０】
0006366432.tif 000023
【図１１】
0006366432.tif 000024
【図１２】
0006366432.tif 000025
【図１３】
0006366432.tif 000026
【図１４】
0006366432.tif 000027
【図１５】
0006366432.tif 000028
【図１６】
0006366432.tif 000029
【図１７】
0006366432.tif 000030
【図１８】
0006366432.tif 000031