(57)【特許請求の範囲】
【請求項１】
連続する複数の画像を取得する取得手段と、
前記複数の画像のうちの所定の画像について、複数の被写体領域を判別する判別手段と、
前記複数の被写体領域の輝度差に基づいて、前記複数の被写体領域のそれぞれに対する階調補正量を算出する算出手段と、
前記算出手段により算出された前記複数の被写体領域のそれぞれに対する階調補正量を用いて、第１の階調特性を決定する第１の決定手段と、
前記算出手段により算出された前記複数の被写体領域のそれぞれに対する階調補正量を用いて、前記第１の階調特性と特性の異なる第２の階調特性を決定する第２の決定手段と、
前記第１の階調特性と前記第２の階調特性とを加重加算することにより、前記所定の画像に適用するための第３の階調特性を決定する第３の決定手段と、
前記複数の画像のうち、前記所定の画像以外の画像に適用するための第４の階調特性を決定する第４の決定手段と、を有し、
前記第４の決定手段は、直前に取得された画像に適用するための前記第３の階調特性の決定に用いられた前記加重加算の係数を変更することで前記第４の階調特性を決定する、ことを特徴とする画像処理装置。
【請求項２】
前記算出手段は、前記第４の階調特性を決定する画像については前記複数の被写体領域のそれぞれに対する階調補正量を算出しないことを特徴とする請求項１記載の画像処理装置。
【請求項３】
前記第４の決定手段は、
前記第４の階調特性を決定する画像が露出補正されずに撮影されている場合、前記直前に取得された画像に適用するために決定された階調特性を特定する係数に基づいて前記第４の階調特性を決定し、
前記第４の階調特性を決定する画像が露出補正されて撮影されている場合、前記第４の階調特性を決定する画像について前記算出手段により算出された前記複数の被写体領域のそれぞれに対する階調補正量を用いて前記第４の階調特性を決定する、
ことを特徴とする請求項１に記載の画像処理装置。
【請求項４】
前記第４の決定手段は、前記直前に取得された画像に適用するために決定された階調特性を特定する係数に基づいて前記第４の階調特性を決定する際、前記第４の階調特性を決定する画像と、前記直前に取得された画像との輝度の変化の大きさが予め定められた値より大きければ、前記直前に取得された画像に適用するために決定された階調特性を特定する係数を変更し、前記変更された係数に基づいて前記第４の階調特性を決定することを特徴とする請求項１から３のいずれか１項に記載の画像処理装置。
【請求項５】
前記第１の階調特性はダイナミックレンジを確保するための特性を有し、前記第２の階調特性はコントラストを強調するための特性を有することを特徴とする請求項１に記載の画像処理装置。
【請求項６】
前記第４の決定手段は、前記直前に取得された画像に適用するために決定された階調特性を特定する係数に基づいて前記第４の階調特性を決定する際、前記第４の階調特性を決定する画像と、前記直前に取得された画像との輝度の変化が大きいほど、前記直前に取得された画像に適用するために決定された階調特性を特定する係数の差が大きくなるように変更することを特徴とする請求項４に記載の画像処理装置。
【請求項７】
前記算出手段は、前記複数の被写体領域のうち主被写体領域に対する階調補正量を算出し、前記複数の被写体領域のうち前記主被写体領域以外の被写体領域については、前記主被写体領域に対する階調補正量と、前記主被写体領域との輝度差とに基づいて、階調補正量を算出することを特徴とする請求項１から６のいずれか１項に記載の画像処理装置。
【請求項８】
前記判別手段は、前記被写体領域として、少なくとも人物の顔領域、背景領域、空領域を判別し、
前記第３の決定手段は、前記人物の顔領域を前記主被写体領域として最も高い階調補正量を適用するように、前記第３の階調特性を決定することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
被写体領域を構成する輝度値のヒストグラムを算出し、前記ヒストグラムに応じて、前記階調補正量を適用する前記輝度値の範囲を算出する範囲算出手段をさらに備え、
前記第３の決定手段は、前記輝度値の範囲ごとの前記階調補正量を前記複数の被写体領域に適用することを特徴とする請求項１から８のいずれか１項に記載の画像処理装置。
【請求項１０】
取得手段が、連続する複数の画像を取得する取得工程と、
判別手段が、前記複数の画像のうちの所定の画像について、複数の被写体領域を判別する判別工程と、
算出手段が、前記複数の被写体領域の輝度差に基づいて、前記複数の被写体領域のそれぞれに対する階調補正量を算出する算出工程と、
第１の決定手段が、前記算出工程において算出された前記複数の被写体領域のそれぞれに対する階調補正量を用いて、第１の階調特性を決定する第１の決定工程と、
第２の決定手段が、前記算出工程において算出された前記複数の被写体領域のそれぞれに対する階調補正量を用いて、前記第１の階調特性と特性の異なる第２の階調特性を決定する第２の決定工程と、
前記第１の階調特性と前記第２の階調特性とを加重加算することにより、前記所定の画像に適用するための第３の階調特性を決定する第３の決定工程と、
第４の決定手段が、前記複数の画像のうち、前記所定の画像以外の画像に適用するための第４の階調特性を決定する第４の決定工程と、を有し、
前記第４の決定工程では、直前に取得された画像に適用するための前記第３の階調特性の決定に用いられた前記加重加算の係数を変更することで前記第４の階調特性を決定する、ことを特徴とする画像処理装置の制御方法。
【請求項１１】
コンピュータを、請求項１から９のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置およびその制御方法ならびにプログラムに関し、特に階調制御技術に関する。
【背景技術】
【０００２】
従来、ＨＤＲ（Ｈｉｇｈ  Ｄｙｎａｍｉｃ  Ｒａｎｇｅ）合成や覆い焼き等、入力のダイナミックレンジを拡大した信号を出力する段階で階調圧縮する処理が知られている。特許文献１には、画像を複数の被写体領域に分割し、各被写体領域から算出した代表画素値とエッジ成分により被写体領域ごとのヒストグラムを算出し、算出したヒストグラムに基づいて、各被写体領域に対応する階調変換カーブを生成する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１３０１５０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に開示されている技術では、被写体領域間の明るさのバランスを考慮せずに階調変換カーブを生成するため、ダイナミックレンジを拡大するほどコントラストが低下するなど、得られる画像が不自然になる可能性がある。
【０００５】
さらに、被写体領域間の明るさのバランスを考慮して階調変換カーブを生成しようとすると、被写体領域の抽出から被写体領域に対応する階調変換カーブの生成などに加えて、例えば各被写体領域の判別や判別結果に応じた被写体領域に対する階調変換カーブの調整処理などが必要になることが考えられる。このため、処理内容の増加に伴って処理時間も増大するという課題がある。特に、静止画の連写撮影や動画撮影など連続的に撮影を行う場合には、フレームレートの低下を抑えながら、簡易的かつ適切に階調制御を行う技術が求められる。
【０００６】
本発明は、上述の従来技術の問題点に鑑みてなされ、連続的に撮影を行う場合に、被写体領域間の明るさのバランスを考慮しつつ処理負担を軽減する階調制御を行うことが可能な画像処理装置およびその制御方法ならびにプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、連続する複数の画像を取得する取得手段と、複数の画像のうちの所定の画像について、複数の被写体領域を判別する判別手段と、複数の被写体領域の輝度差に基づいて、複数の被写体領域のそれぞれに対する階調補正量を算出する算出手段と、算出手段により算出された複数の被写体領域のそれぞれに対する階調補正量を用いて、第１の階調特性を決定する第１の決定手段と、算出手段により算出された複数の被写体領域のそれぞれに対する階調補正量を用いて、第１の階調特性と特性の異なる第２の階調特性を決定する第２の決定手段と、第１の階調特性と第２の階調特性とを加重加算することにより、所定の画像に適用するための第３の階調特性を決定する第３の決定手段と、複数の画像のうち、所定の画像以外の画像に適用するための第４の階調特性を決定する第４の決定手段と、を有し、第４の決定手段は、直前に取得された画像に適用するための第３の階調特性の決定に用いられた加重加算の係数を変更することで第４の階調特性を決定する、ことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、連続的に撮影を行う場合に、被写体領域間の明るさのバランスを考慮しつつ処理負担を軽減する階調制御が可能になる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る画像処理装置の一例としてのデジタルカメラ１００の機能構成例を示すブロック図
【図２】本実施形態に係る画像処理部１０４（Ａ）、露光量算出部１０５（Ｂ）、階調特性算出部２０４（Ｃ）の機能構成例を示すブロック図
【図３】被写体領域ごとに階調処理を行う画像生成処理の概略を示す図
【図４】被写体領域の判別例（Ａ）、各被写体領域間の輝度段差（Ｂ）および出力露光量（Ｃ）を説明する図
【図５】輝度信号に対する階調特性（Ａ）およびゲインテーブル（Ｂ）を例示する図
【図６】本実施形態に係る露出量算出処理に係る一連の動作を示すフローチャート
【図７】本実施形態に係る階調処理に係る一連の動作を示すフローチャート
【図８】本実施形態に係る階調特性の算出処理に係る一連の動作を示すフローチャート
【図９】本実施形態に係る複数フレーム間における階調特性の更新処理を示すフローチャート
【図１０】フレーム間の輝度変化に応じた係数ｋの設定例を示す図
【図１１】各被写体領域に対する目標ゲイン量（Ａ）、各被写体領域に適用するゲイン量（Ｂ）を説明する図
【図１２】被写体領域ごとの入力信号の範囲を算出する方法を説明する図
【図１３】本実施形態に係る階調特性作成部４０５により算出される入出力特性の例を示す図
【図１４】被写体領域ごとの入出力特性から画像に適用する２種類の入出力特性を生成する例を示す図
【図１５】連続して撮影されたフレーム画像に対する階調特性の変更方法の一例を示す図
【図１６】実施形態２に係る階調処理に係る一連の動作を示すフローチャート
【図１７】被写体領域に適用する最大のゲインから求められる露出補正量の一例を示す図
【発明を実施するための形態】
【００１０】
（実施形態１）
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下では画像処理装置の一例として、連続した撮影が可能な任意のデジタルカメラに本発明を適用した例を説明する。しかし、本発明は、デジタルカメラに限らず、連続した撮影を行うことが可能な任意の機器にも適用可能である。これらの機器には、例えば携帯電話機、ゲーム機、タブレット端末、パーソナルコンピュータ、時計型や眼鏡型の情報端末などが含まれてよい。
【００１１】
本実施形態では、画像上の被写体領域を判別して、被写体領域ごとに階調処理（領域別トーンマッピングともいう）を行う。図３に示すように、領域別トーンマッピングでは、まず被写体領域ごとに代表輝度値に基づいて最適なゲイン量を算出し、算出した被写体領域ごとのゲイン量を適用した複数の画像を生成する。そして、各画像からそれぞれの被写体領域を抽出して出力画像を得る。なお、本実施形態では、最も効果が高い逆光時の人物シーン、即ち人物が最も暗く、空が最も明るいシーンに対する階調処理について説明する。
【００１２】
（１．  デジタルカメラの構成）
図１は、本実施形態の画像処理装置の一例としてデジタルカメラ１００の機能構成例を示すブロック図である。なお、図１に示す機能ブロックの１つ以上は、ＡＳＩＣやプログラマブルロジックアレイ（ＰＬＡ）などのハードウェアによって実現されてもよいし、ＣＰＵやＭＰＵ等のプログラマブルプロセッサがソフトウェアを実行することによって実現されてもよい。また、ソフトウェアとハードウェアの組み合わせによって実現されてもよい。従って、以下の説明において、異なる機能ブロックが動作主体として記載されている場合であっても、同じハードウェアが主体として実現されうる。
【００１３】
光学系１０１は、ズームレンズやフォーカスレンズから構成されるレンズ群、絞り調整装置およびシャッター装置を備えている。光学系１０１は、撮像部１０２に到達する被写体像の倍率、ピント位置あるいは撮像部１０２に入射する光量を調整する。撮像部１０２は、光学系１０１を通過した被写体の光束を光電変換し電気信号に変換するＣＣＤやＣＭＯＳセンサ等の光電変換素子である。
【００１４】
Ａ／Ｄ変換部１０３は、入力されたアナログ信号をＡ／Ｄ変換回路によってアナログ・デジタル変換して、画素単位のデジタル信号を出力する。
【００１５】
画像処理部１０４は、画素補間処理等の現像処理や記録部１１０に画像を記録するための所定の圧縮処理を行う。また、別途後述する本実施形態に係る階調処理を行って、階調処理を適用した出力画像を生成する。画像処理部１０４はＡ／Ｄ変換部１０３から出力された画像に限らず、記録部１１０から読み出した画像に対しても同様の画像処理や伸張処理を行うことができる。
【００１６】
露光量算出部１０５は、本実施形態に係る階調処理を行うための最適な入力画像を得るため、撮影時の露光量を算出する。画像処理部１０４の処理結果を入力して後述する露光量の算出処理を行い、処理結果を露光量制御部１０６に出力する。
【００１７】
露光量制御部１０６は、露光量算出部１０５により入力された露光量に基づいて光学系１０１および撮像部１０２の絞り、シャッタースピード、センサのアナログゲインを制御する。
【００１８】
制御部１０７は、例えばＣＰＵあるいはＭＰＵであり、不図示のＲＯＭに格納されたプログラムを不図示のＲＡＭの作業エリアに展開し、実行することにより、デジタルカメラ１００の全体を制御する。
【００１９】
記録部１１０は、撮影された画像を記録する機能を有し、例えば、半導体メモリが搭載されたメモリカードや光磁気ディスク等の回転記録体を収容したパッケージなどを用いた記録媒体を含む。
【００２０】
（２．露光量算出処理に係る一連の動作）
適切な階調処理を行うためには、最適な露光量で撮影された画像を得る必要があるため、露光量算出部１０５は、撮影のための適切な露光量を算出する。露光量算出部１０５は、例えば図２（Ｂ）に示す機能ブロックから構成される。露光量算出部１０５には、画像処理部１０４内の輝度値算出部２０３から出力される、被写体領域ごとの代表輝度値が入力される。露光量算出部１０５を構成する各部の処理については、露光量算出処理と合わせて後述する。
【００２１】
画像を取得してから露光量算出部１０５により露光量を算出するまで一連の動作を、図６を参照して説明する。なお、本処理は例えばデジタルカメラ１００の不図示のシャッターボタンが半押しされるとともに、撮影された画像が入力された場合に開始される。以下に説明する各ステップのうち、Ｓ６０１〜Ｓ６０３の処理を画像処理部１０４が実行し、Ｓ６０４〜Ｓ６０６までの処理を露光量算出部１０５が実行するものとし、制御部１０７が各部を制御して露光量算出処理の全体を制御する。
【００２２】
Ｓ６０１において画像処理部１０４は、制御部１０７の指示に基づいて、露光量を算出するために撮影された画像をＡ／Ｄ変換部１０３から取得する。
【００２３】
Ｓ６０２において画像処理部１０４は、取得画像から被写体領域の判別を行う。本実施形態では、人物の顔領域、人物の体領域、雲・太陽等を含む空領域、これら以外の領域を背景領域として計４つの被写体領域を判別する。図４（Ａ）は、入力画像に対して、被写体領域の判別処理を行った結果の例を示している。被写体領域の判別は、特開２００６−３９６６６号公報に記載されるようなニューラルネットワークによる学習データを用いた物体認識等、公知の方法を用いて行うことができるため、判別処理の詳細な説明は省略する。被写体領域の判別精度については、１画素単位あるいは一定のサイズのブロック単位のいずれでも構わないが、本実施形態では１画素単位として説明する。
【００２４】
Ｓ６０３において画像処理部１０４は、Ｓ６０２における被写体領域の判別結果を用いて、被写体領域ごとの代表輝度値を算出する。代表輝度値は、対応する被写体領域内の輝度信号の例えば平均値であってよい。本実施形態では、代表輝度値を人物の顔領域、背景領域、空領域の３被写体領域について算出し、被写体領域の代表輝度値をそれぞれ、HUMAN_Y、BACK_Y、SKY_Yとする。画像処理部１０４は、算出した各被写体領域の代表輝度値を露光量算出部１０５に出力する。
【００２５】
Ｓ６０４において輝度段差算出部３０２は、入力した各被写体領域の代表輝度値から被写体領域間の輝度段差を算出する。各被写体領域の代表輝度値をHUMAN_Y、BACK_Y、SKY_Yとし、各被写体領域の目標輝度値をHUMAN_ref_Y、BACK_ref_Y、SKY_ref_Yとする。そうすると、各被写体領域の目標露光量ΔBV_HUMAN_ref、ΔBV_BACK_ref、ΔBV_SKY_refは、以下の（式１）によって算出される。なお、目標露光量とは、対象とする被写体領域の代表輝度値を目標輝度値にするために、入力画像の露光量から何段オーバーまたはアンダーの露光量にすれば良いか（すなわち、露出補正量）を示すものである。入力画像の露光量よりも多くすることをオーバー、入力画像の露光量よりも少なくすることをアンダーという。目標輝度値は各被写体領域について予め定められた値であるものとする。
【００２６】
【数１】
0006423668.tif 000002
【００２７】
輝度段差算出部３０２は、（式１）により算出された各被写体領域の目標露光量から各被写体領域間の輝度段差を算出する。人物の顔領域と背景領域の輝度段差ΔHB、背景領域と空領域の輝度段差ΔBSおよび人物の顔領域と空領域の輝度段差ΔHSは、（式２）により算出される。ここで、ＡＢＳは絶対値を算出する関数を表す。図４（Ｂ）には、得られる各輝度段差を模式的に示している。
【００２８】
【数２】
0006423668.tif 000003
【００２９】
Ｓ６０５において出力輝度値算出部３０１は、入力画像とＳ６０３で算出された各被写体領域の代表輝度値に基づいて、主被写体の出力輝度値を算出する。ここで主被写体の出力輝度値とは、前述の目標輝度値とは異なり、後の撮影画像で最終的に出力したい主被写体領域の輝度値を指す。人物が含まれるシーンの場合には人物を主被写体として設定するため、人物の顔領域の出力輝度値HUMAN_OUT_Yを算出する。出力輝度値の算出は、特開２００８−１１８３８８号公報に記載されるような、人物の顔領域のみの輝度値と画像全体の輝度値の関係から最終的な人物の顔領域の輝度値を決定する方法等の公知の方法を用いることができる。
【００３０】
Ｓ６０６において露光量決定部３０３は、Ｓ６０４で算出した被写体領域間の輝度段差ΔHB、ΔBS、ΔHSと、Ｓ６０５で算出した主被写体の出力輝度値HUMAN_OUT_Yを入力して、階調処理に適した撮影を行うための露光量を決定する。図４（Ｃ）は、入力画像の露光量に対する各被写体領域の出力露光量を示している。出力露光量は、最終的に出力したい各被写体領域の明るさを実現するために、入力画像の露光量に対し、何段オーバーまたはアンダーの露光量にすれば良いか（すなわち、露出補正量）を示す。人物の顔領域、背景領域、空領域の出力露光量をそれぞれ、ΔBV_HUMAN、ΔBV_BACK、ΔBV_SKYとすると、各被写体領域の出力露光量は、（式３）により算出される。
【００３１】
【数３】
0006423668.tif 000004
【００３２】
（式３）に示すように、露光量決定部３０３は、主被写体の出力露光量ΔBV_HUMANを基準として、人物の顔領域と背景領域の輝度段差ΔHBの１／２を維持するように空領域の出力露光量を決定する。同様に、空領域の出力露光量ΔBV_BACKを基準として空領域の出力露光量ΔBV_SKYを決定する。
【００３３】
露光量決定部３０３は、各被写体領域の出力露光量のうち、最も小さい出力露光量を、階調処理に適した撮影を行うための露光補正量として決定する。即ち、各被写体領域のうち、最も小さい出力露光量である空領域のΔBV_SKYを入力画像の露光量に反映した露光量BV_Captureを、撮影時の露光量として決定する。制御部１０７は、露光量算出部１０５が撮影時の露光量を出力すると、本処理に係る一連の処理を終了する。
【００３４】
上述したような階調処理に適した露光量を算出しない場合、適切な露光量で階調処理を行うことができなくなる。例えば、露光量が必要以上に大きくなると飽和領域等の発生により広ダイナミックレンジの画像を実現できず、反対に、露光量が必要以上に小さくなると、後述する階調処理においてデジタルゲインが必要以上にかかり、増幅したノイズによる画質劣化が発生する。このため、上述した露光量の算出を行うことにより階調処理に最適な画像を入力することが可能になる。
【００３５】
（３．画像処理部１０４の構成）
図２（Ａ）には、画像処理部１０４の機能構成例を示すブロック図を示している。以下の各機能ブロックは、全体として入力画像に対する階調処理を行う。被写体領域判別部２０１は、入力画像に対して被写体領域を判別する。輝度値算出部２０３は、判別された被写体領域ごとの代表輝度値を算出するとともに、ヒストグラム算出部２０２は、被写体領域ごとのヒストグラムを算出する。また、輝度情報算出部２０７は、入力した画像全体の輝度値を算出する。階調特性算出部２０４は、輝度値算出部２０３、ヒストグラム算出部２０２および輝度情報算出部２０７による算出結果を用いて、入力画像に対する階調特性を算出する。階調特性の算出は、被写体領域ごとに適用するゲイン量を算出して得られる階調特性を複数作成し、被写体領域間の輝度段差に応じて作成した階調特性を加重加算することにより行う。ゲインテーブル算出部２０５は、階調特性に応じた階調変換用のゲインテーブルを算出し、ゲイン処理部２０６は、入力画像に対してゲインをかける処理を行う。その後、階調圧縮処理部２０９は、ゲイン処理後の信号を表示系に合わせるために階調圧縮処理を行う。
【００３６】
（４−１．階調処理に係る一連の動作）
次に、階調処理に係る一連の動作について図７等を適宜参照して説明する。本発明に係る階調処理は、被写体領域間の輝度段差を縮めることが可能な階調特性を画像全体に適用することに特徴がある。また、主被写体領域を基準として、主被写体領域以外にシーンに応じてバランス良く階調を割り当てることにより、人間の見た目通りのコントラストと明るさに近づけた画像を出力することができる。
【００３７】
露光量算出処理により決定された露光量BV_Captureに基づいて光学系１０１が調整された後に、例えばシャッターボタンの全押しによる撮影指示により撮影が行われると、連続した撮影が行われる。画像処理部１０４は、階調処理用の露出量で撮影された複数の画像のうち、所定の画像について階調特性を算出し、他の画像については所定の画像についての階調特性を利用して階調特性を簡易的に算出する。なお、所定の画像は複数の画像のうち例えば最初に撮影された画像（フレーム）であってよい。また、複数の画像を予め定められた数ごとにグループ化し、グループごとに階調補正処理を行っても良い。
【００３８】
Ｓ７００において画像処理部１０４は、撮影された画像を取得する。
【００３９】
Ｓ７０１において輝度情報算出部２０７は、輝度情報Yinfo(0)を算出する。ここでYinfo(i)とは、連続して撮影された画像のうちi番目のフレームの画像全体の平均輝度を示しており、Yinfo(0)は最初に撮影された画像に対する平均輝度を示している。なお、輝度情報としては画像全体の平均輝度に限らず、例えば輝度ヒストグラムの最頻値など、明るさを示す評価値であれば良い。
【００４０】
Ｓ７０２において被写体領域判別部２０１は、Ｓ７０１で取得された入力画像に対して、被写体領域の判別処理を行う。被写体領域の判別処理については、Ｓ６０２と同様の処理を行えばよいため、説明は省略する。
【００４１】
Ｓ７０３において輝度値算出部２０３は、Ｓ７０２で判別された被写体領域ごとに代表輝度値を算出する。各被写体領域の代表輝度値の算出処理については、Ｓ６０３と同様の処理を行えばよいため説明は省略する。
【００４２】
Ｓ７０４においてヒストグラム算出部２０２は、被写体領域ごとに輝度信号のヒストグラムを算出する。
【００４３】
Ｓ７０５において階調特性算出部２０４は、Ｓ７０１で算出した輝度情報、Ｓ７０３で算出した各代表輝度値およびＳ７０４で算出した被写体領域ごとのヒストグラムを入力して、入力画像の輝度信号に対する階調特性を算出する。階調特性は、例えば図５（Ａ）に示すように、横軸を入力信号、縦軸を出力信号として、入力信号に応じた出力信号を示す入出力特性である。例えば、階調特性を補正しない場合は、点線で示す様に、入力信号と出力信号の値が等しい入出力特性となる。本ステップにおける階調特性の算出処理の詳細は、図８等を参照して別途詳述する。
【００４４】
Ｓ７０６においてゲインテーブル算出部２０５は、Ｓ７０５で算出した輝度信号に対する階調特性に基づいて、入力信号に応じたゲインを示すゲインテーブルを算出する。ゲインテーブルは、図５（Ｂ）に示す様に横軸を入力信号、縦軸をゲインとする、入力信号に応じたゲインを示すテーブルである。入力信号をx、階調特性によって変換された出力信号をyとすると、ゲインGainは（式４）で表される。ゲインテーブルは特性記憶部２０８により記憶される。
【００４５】
【数４】
0006423668.tif 000005
【００４６】
Ｓ７０７においてゲイン処理部２０６は、Ｓ７０６で算出したゲインテーブルを用いて入力画像にゲインを適用する。画像の最も左上の画素を(0,0)として、画素位置を(x,y)で示したとき、入力信号Yin(x,y)に対して適用するゲインGain(x,y)は、ゲインテーブルをGainTbl関数で表すと（式５）のようになる。なお、Gain(x,y)は入力画像の(x,y)に位置する画素に対応するゲインである。
【００４７】
【数５】
0006423668.tif 000006
【００４８】
ゲイン処理部２０６は、撮影された入力画像のＲ，Ｇ，Ｂ画像に対し、ゲインを乗算する処理を行う。例えば、ゲイン乗算前の(x,y)に位置する画素のＲ，Ｇ，Ｂの信号をそれぞれRin(x,y)、Gin(x,y)、Bin(x,y)とする。このとき、ゲイン乗算後のＲ，Ｇ，Ｂの信号Rout (x,y)、Gout (x,y)、Bout(x,y)は、GainTbl関数を用いて（式６）により算出される。
【００４９】
【数６】
0006423668.tif 000007
【００５０】
なお、画素位置(x,y)において、Ｒ，Ｇ，Ｂのそれぞれの信号にかけるゲインは同じである。なお、本実施形態ではＲＧＢ信号に対してゲイン処理を行ったが、ＹＵＶ信号に対して上記のゲイン処理を行ってもよい。
【００５１】
Ｓ７０８において階調圧縮処理部２０９は、Ｓ７０７でゲイン処理を行ったＲ，Ｇ，Ｂのｍビットの信号を表示系に合わせるためにγ特性を有する階調圧縮処理を行い、ｎビット（ｎはｍ以下）の信号を出力する。画像処理部１０４は、階調圧縮処理を行った信号を出力すると、階調処理に係る一連の動作を終了する。
【００５２】
（４−２．階調特性の算出処理に係る一連の動作）
本実施形態に係る階調特性の算出処理の一連の動作について、図８を参照して説明する。また、図２（Ｃ）には、階調特性の算出処理の一連の動作を実行する、階調特性算出部２０４の機能構成例を示している。なお、階調特性の算出処理は、上述したＳ７０５の処理が呼び出されたときに開始される。
【００５３】
Ｓ８０１において輝度段差算出部４０１は、入力した、被写体領域ごとの代表輝度値を用いて被写体領域間の輝度段差を算出する。輝度段差の算出方法については、図４（Ｂ）、（Ｃ）およびＳ６０４において示した処理と同様であり、図１１（Ａ）および図１１（Ｂ）に示すように、０段を基準とした露光量（露光補正量）をゲイン量と置き換えればよい。
【００５４】
Ｓ８０２において出力輝度値決定部４０２は、主被写体に対する出力輝度値を決定する。主被写体の出力輝度値とは、Ｓ６０５における出力輝度値と同様に、最終的に出力したい主被写体領域の輝度値である。また、本実施形態では、上述のように人物の顔領域を主被写体領域として設定する。出力輝度値の算出方法についてはＳ６０５において示した処理内容と同様であるため説明は省略する。
【００５５】
Ｓ８０３において階調補正量算出部４０３は、Ｓ８０１で算出した被写体領域間の輝度段差と、Ｓ８０２で算出した主被写体の出力輝度値を入力として、各被写体領域の階調補正量を算出する。階調補正量とは、本実施形態では対象の被写体領域ごとに一律に適用するゲイン量である。人物の顔領域のゲイン量GAIN_HUMAN、背景領域のゲイン量GAIN_BACK、空領域のゲイン量GAIN_SKYを（式７）により算出する。
【００５６】
【数７】
0006423668.tif 000008
【００５７】
ここで、HUMAN_Yは人物の顔領域の代表輝度値、HUMAN_OUT_Yは主被写体である人物の顔領域の出力輝度値であり、ΔHBは人物の顔領域と背景領域間の輝度段差、ΔHSは人物の顔領域と空領域間の輝度段差である。このとき、階調補正量算出部４０３は、各被写体領域に対して実現したい入出力特性を（式８）により算出する。ここで、Xは入力画像の入力信号、Yは出力信号を表す。
【００５８】
【数８】
0006423668.tif 000009
【００５９】
被写体領域ごとの入出力特性を参考に画面一様に適用する階調特性を生成する処理をＳ８０４以降で説明する。
【００６０】
Ｓ８０４において適用範囲算出部４０４は、被写体領域毎の輝度のヒストグラムに基づいて、被写体領域ごとの階調補正量（即ちゲイン量）を適応する入力信号の範囲を決定する。適用範囲算出部４０４は、各被写体領域の階調補正量を適用したい入力信号の範囲を示すHUMAN_POINT、BACK_POINT、SKY_POINTを、図１２に示すように、被写体領域ごとに算出した輝度ヒストグラムを用いて算出する。図１２（Ａ）には、入力画像から判別した人物領域における輝度ヒストグラム１２０１、背景領域における輝度ヒストグラム１２０２および空領域における輝度ヒストグラム１２０３を生成した様子を示している。各被写体領域のヒストグラムを利用した具体的なHUMAN_POINT、BACK_POINT、SKY_POINTの算出処理を図１２（Ｂ）を参照して説明する。まず、適用範囲算出部４０４は、人物領域の輝度ヒストグラム１５０１について、最小の信号値から大きい信号値に向かって、各信号値の頻数を加算する。輝度ヒストグラム１２０１について、各信号値の頻度を加算した場合の、入力信号値と頻数の累積加算値の関係を１２０４に示す。適用範囲算出部４０４は、頻数の累積加算値が予め定めた閾値（HUMAN_TH）以上になった時点で最後に頻数を加算した入力信号の値をHUMAN_POINTとする。また、適用範囲算出部４０４は、人物領域に対する処理と同様にして、背景領域に対する輝度ヒストグラム１２０２からBACK_POINTを算出する。
【００６１】
一方、SKY_POINTの算出について適用範囲算出部４０４は、空領域の輝度ヒストグラム１５０２に対して、最小の信号値から徐々に大きい信号値に向かって、空領域と判別された画素の総数から各信号値の頻数を減算した値を算出する。そして、減算した値がある一定の閾値（SKY_TH）以下になった時点で、最後に頻数を減算した入力信号の値をSKY_POINTとする。なお、本実施形態は、空領域が最も明るく、人物領域が最も暗いシーンについて説明を行っているが、反対に、人物領域等が最も高輝度被写体であるシーンの場合には、SKY_POINTと同様の算出処理を行えばよい。
【００６２】
再び図８に戻り、Ｓ８０４以降の処理について説明する。以降の処理では、Ｓ８０３で算出した被写体領域毎の階調補正量と、Ｓ８０４で算出した階調補正量を適用する範囲を用いて、階調特性を生成する。Ｓ８０５とＳ８０６では、それぞれ異なる特徴を有する階調特性を作成する。各ステップで生成する２種類の階調特性について、図１３を参照して説明する。
【００６３】
図１３（Ａ）に記載した３つの入出力特性は、（式８）で示した各被写体領域で実現したい入出力特性である。図１３（Ａ）に対し、図１３（Ｂ）に示すＤレンジ優先とよぶ階調特性と、図１３（Ｃ）に示すコントラスト優先と呼ぶ階調特性の２種類を生成する。まずＤレンジ優先の階調特性について説明する。
【００６４】
Ｓ８０５においてＤレンジ優先階調特性作成部４０５は、ダイナミックレンジを確保するための、Ｄレンジ優先の階調特性を算出する。Ｄレンジ優先の階調特性の特徴は、図１３（Ａ）に記載した人物の顔領域の入出力特性と、空領域の入出力特性の２つを取り入れている点であり、図１３（Ａ）の特性に対して、人物の顔領域と空領域の明るさとコントラストを実現できる。入力信号の0からHUMAN_POINTまでの低輝度側の区間では、人物の顔領域の入出力特性になっており、反対にSKY_POINTから入力信号の最大値までの高輝度側の区間は空領域の入出力特性となっている。HUMAN_POINTからSKY_POINTまでの中間輝度に位置する区間は、低輝度側の人物の顔領域の入出力特性と、高輝度側の空領域の入出力特性をつなげる形となっている。入力信号をX、出力信号をYとして表すと、Ｄレンジ優先の階調は（式９）で表される。
【００６５】
【数９】
0006423668.tif 000010
【００６６】
本実施形態では、高輝度側を飽和させる様な入出力特性にしているが、図１３（Ｂ）の点線かつ曲線の部分のように、高輝度側をできるだけ飽和させないような入出力特性にしても良い。生成したＤレンジ優先の階調特性は、特性記憶部２０８によって記憶される。
【００６７】
次に、Ｓ８０６におけるコントラスト優先の階調特性について説明を行う。Ｓ８０６においてコントラスト優先階調特性作成部４０６は、よりコントラストを強調するための、コントラスト優先の階調特性を算出する。コントラスト優先の階調特性の特徴は、図１３（Ａ）に記載した人物の顔領域の入出力特性に加え、背景領域、空領域の入出力特性の傾きのみ取り入れている点である。即ち、図１３（Ａ）の特性に対して、人物の顔領域は、明るさとコントラスト、背景領域、空領域に関してはコントラストを実現することができる。入力信号のうち、0からHUMAN_POINTまでの区間は、人物の顔領域の入出力特性になっている点は、Ｄレンジ優先の階調特性と等しい。一方、HUMAN_POINTからBACK_POINTの区間では、背景領域の入出力特性のうちの傾きのみを実現した特性となり、BACK_POINTから入力信号の最大値までの区間では、空領域の入出力特性のうち傾きのみ実現した特性となる。入力信号をX、出力信号をYとして表すと、コントラスト優先の階調特性は（式１０）で表される。
【００６８】
【数１０】
0006423668.tif 000011
【００６９】
本実施形態では高輝度側を飽和させる様な入出力特性にしているが、図１３（Ｃ）の曲線の様に、高輝度側をできるだけ飽和させないような入出力特性にしても良い。生成したコントラスト優先の階調特性は、特性記憶部２０８によって記憶される。なお、本実施形態では各入出力特性を折れ線で生成しているが、折れ線を近似した曲線で入出力特性を生成しても良い。以上、Ｄレンジ優先とコントラスト優先の２種類の階調特性について説明したが、当該２種類の階調特性の共通点は、人物の顔領域の入出力特性はいずれの階調特性でもそのまま適用される点である。これは、本実施形態で人物シーンにおいて人物の顔領域は主被写体領域であるため、階調特性として最優先に決めるためである。
【００７０】
Ｓ８０７において階調特性決定部４０７は、生成された２種類の階調特性を加重加算することにより、撮影された画像の階調特性を決定する。
【００７１】
Ｄレンジ優先とコントラスト優先の２種類の階調特性を加重加算する処理として、本実施形態ではＳ８０１で説明した被写体領域間の輝度段差を用いる。階調特性決定部４０７は、中間輝度に位置する被写体である背景領域を基準に、人物の顔領域と背景領域の輝度段差であるΔHB、背景領域と空領域の輝度段差であるΔBSをそれぞれ算出し、２種類の階調特性の加重加算係数として用いる。
【００７２】
階調特性の入力信号をX、出力信号をYとして、Ｄレンジ優先の階調特性とコントラスト優先の階調特性を、（式１１）の様にそれぞれDrange関数、Contrast関数として表す。
【００７３】
【数１１】
0006423668.tif 000012
【００７４】
（式１１）に対し、加重加算した後の階調特性、即ち、撮影された画像に対する階調特性をMIX_OUT関数で表すと（式１２）のように表せる。
【００７５】
【数１２】
0006423668.tif 000013
【００７６】
（式１２）に示すように、人物の顔領域と背景領域の輝度段差ΔHB、背景領域と空領域の輝度段差ΔBSをそれぞれＤレンジ優先、コントラスト優先の加重加算係数として用いている。輝度段差ΔHBおよびΔBSを加重加算に用いることで得られる効果について図１４を参照して詳細に説明する。
【００７７】
図１４（Ａ）に示す３つの入出力特性は、（式８）で示した各被写体領域で実現したい入出力特性である。図１４（Ａ）に示す３つの入出力特性は、（式７）について示したように、被写体領域間の輝度段差を用いて決定されている。被写体領域間の輝度段差は、撮影したシーンに応じて変動し得るため、各被写体領域で実現したい入出力特性もシーンに応じて変動し得る。
【００７８】
例えば、図１４（Ｂ）の左図は、輝度段差ΔHBに対して輝度段差ΔBSが極端に小さい場合の、各被写体領域で実現したい入出力特性を示している。輝度段差ΔBSが小さいため、背景領域の入出力特性は空領域の入出力特性に近づいている。このとき、階調特性の決定においては、図１４（Ｂ）の右図に示すように、Ｄレンジ優先の階調特性を適用する方が背景領域の実現したい入出力特性を実現しやすい傾向がある。これは、輝度段差ΔHBに対して輝度段差ΔBSが極端に小さい場合には、SKY_POINT周辺もしくはそれ以上に背景領域の入力信号が多く分布し、SKY_POINT以降のDレンジ優先の階調特性に背景領域の多くの入力信号があてはまるためである。
【００７９】
また、図１４（Ｃ）の左記は、輝度段差ΔHBに対して輝度段差ΔBSが極端に大きい場合の、各被写体領域で実現したい入出力特性を示している。輝度段差ΔBSが大きいため、背景領域の入出力特性は、人物の顔領域の入出力特性に近づいている。このとき、階調特性の決定においては、図１４（Ｃ）の右図に示すように、コントラスト優先の階調特性を階調処理に利用した方が背景領域の実現したい入出力特性を実現しやすい傾向にある。これは、輝度段差ΔHBに対して輝度段差ΔBSが極端に大きい場合には、HUMAN_POINT周辺からBACK_POINTにかけて背景領域の入力信号が多く分布し、かつ人物の顔領域に背景領域の多くの入力信号があてはまるためである。
【００８０】
従って、人物の顔領域と背景領域の輝度段差ΔHB、背景領域と空領域の輝度段差ΔBSに基づいてDレンジ優先の階調特性とコントラスト優先の入出力特性とを加重加算することにより、撮影された画像に最適な階調特性を効率的に生成することができる。換言すれば、撮影されたシーンにおける被写体領域ごとの明るさのバランスを考慮して、最適な階調特性を生成することができる。
【００８１】
なお、（式１３）に示すように加重加算係数をα、βとすると、撮影された画像に対する階調特性を特定することができ、階調特性決定部４０７は、２つの係数すなわちα＝ΔHB、β＝ΔBSを特性記憶部２０８に記憶させる。
【００８２】
【数１３】
0006423668.tif 000014
【００８３】
本実施形態では、被写体領域間の輝度段差を用いた加重加算により画像に対する階調特性を決定したが、輝度段差以外の別の情報を用いて実現しても良い。具体的には、被写体領域間の面積の比率や固定値を用いた加重加算によって階調特性を決定してもよい。例えば、背景領域の存在する面積が空領域に比べて少ないシーンにおいては、空領域をより実現したい明るさやコントラストに近づけた方が画像の見栄えが良い場合がある。反対に、空領域の存在する面積が背景領域に比べ少ないシーンにおいて、背景領域を実現したいコントラストに近づけた方が画像の見栄えが良い場合がある。従って、上述したαを空領域の占める総画素数、βを背景領域の占める総画素数として（式１３）を適用し、階調特性を決定しても良い。
【００８４】
また、被写体が２つしか存在しないシーンである場合には、被写体領域間の輝度段差の値に応じて加重加算係数を生成し、２つの階調特性を加重加算した方が良い。例えば、人物と空のみのシーンである場合、被写体領域間の輝度段差が小さいシーンでは、高コントラストを優先した方が画像の見栄えが良く、輝度段差が大きいシーンである場合には、広Ｄレンジを優先した方が画像の見栄えが良いためである。被写体が２つである場合の加重加算係数α、βは（式１４）に示すように設定して階調特性を決定すればよい。ここで、Δは２つの被写体領域間の輝度段差である。例えば、人物と空のみのシーンである場合、人物の顔領域と空領域の輝度段差ΔHSの値がΔの値となる。閾値TH1、TH2は、調整用パラメータである。
【００８５】
【数１４】
0006423668.tif 000015
【００８６】
（式１４）の加重加算係数α、βは、本実施形態の方法に限らず、様々な情報を用いて算出して良い。
【００８７】
以上の処理により、階調特性決定部４０７は階調特性を決定すると、階調特性の算出処理に係る一連の処理を完了し、処理をＳ７０５に戻す。
【００８８】
（４−３．複数フレーム間における階調特性の更新処理）
ここまで説明した処理は、連続して撮影された画像における最初のフレームに対して階調特性を算出するものである。以下の説明では、階調特性を算出したフレームの画像以外の次フレーム以降の画像に対して階調特性を決定する処理について説明する。図９に示す一連の動作は、連続して撮影された画像における２枚目以降の画像に対してなされる処理を示したものである。なお、デジタルカメラ１００において連続撮影を行う旨の指示が入力され、最初のフレームに対する処理が完了した時点から本処理が開始される。
【００８９】
Ｓ９００において画像処理部１０４は、撮影された画像を取得する。
【００９０】
Ｓ９０１において輝度情報算出部２０７は、撮影された画像から、輝度情報Yinfo(i)を算出する。Yinfo(i)は、Ｓ７０１と同様にi番目のフレームの画像全体の平均輝度を示している。
【００９１】
Ｓ９０２において階調特性算出部２０４は、Yinfo(i)と、１フレーム前の画像に対して算出されたYinfo(i-1)との段差差分（即ち輝度差）ΔYinfoを、（式１５）により算出する。
【００９２】
【数１５】
0006423668.tif 000016
【００９３】
このとき、階調特性算出部２０４は、ΔYinfoと閾値Th_Y_Hiとを比較して、連続して撮影された画像において輝度が高輝度方向に変化したかを判定する。階調特性算出部２０４は、ΔYinfoが閾値Th_Y_Hiよりも大きい場合、輝度が高輝度方向に変化したと判定してＳ９０３に処理を進め、それ以外の場合はＳ９０４に処理を進める。
【００９４】
Ｓ９０３において階調特性算出部２０４は、特性記憶部２０８が記憶している前フレームに対する２つの係数α、βをΔYinfoに基づいて変更する。まず、階調特性算出部２０４は、図１０に示すように、ΔYinfoの値が大きくなるにしたがって大きな値をとるような係数ｋを設定する。さらに、階調特性算出部２０４は、（式１６）により、α、βおよび係数ｋを用いて新たな係数α′、β′を算出する。
【００９５】
【数１６】
0006423668.tif 000017
【００９６】
これは輝度が高輝度方向に変化した場合に、係数αすなわちＤレンジ優先の階調特性に対する加重加算係数を大きくすることによって、高輝度領域の階調が飽和せずに保たれる特性になることを期待しているためである。
【００９７】
Ｓ９０４において階調特性算出部２０４は、ΔYinfoと閾値Th_Y_Lowとを比較して、連続して撮影された画像において輝度が低輝度方向に変化したかを判定する。階調特性算出部２０４は、ΔYinfoが閾値Th_Y_Lowよりも小さい場合、輝度が低輝度方向に変化したと判定してＳ９０５に処理を進め、その他の場合はＳ９０６に処理を進める。
【００９８】
Ｓ９０５において階調特性算出部２０４は、Ｓ９０３と同様にして特性記憶部２０８が記憶している２つの係数α、βに基づいて、図１０に示す係数ｋと（式１６）により、新たな係数α′、β′を算出する。輝度が低輝度方向に変化した場合に、係数βすなわちコントラスト優先の階調特性に対する加重加算係数を大きくすることによって、低・中輝度領域に対するコントラストが維持される特性になることを期待しているためである。
【００９９】
Ｓ９０６において階調特性算出部２０４は、係数α、βに対する変更を行わずに、前のフレーム画像において記憶されたゲインテーブルを読み出して、Ｓ９０９に処理を進める。
【０１００】
Ｓ９０７において階調特性算出部２０４は、Ｓ９０３あるいはＳ９０５で算出した係数α′、β′を用いて、新たな階調特性を算出する。算出方法は、Ｓ８０７で示したものを用いればよいため説明は省略する。
【０１０１】
以降のＳ９０８〜Ｓ９１０の処理は、Ｓ７０６〜Ｓ７０８における処理と同様であるため、説明は省略する。画像処理部１０４は、Ｓ９１０の処理を終えると、本処理に係る一連の処理を終了する。
【０１０２】
なお、本実施形態では、階調特性を変更する処理において２つの加重加算係数のみを更新することで簡易的に階調特性を得る例について説明したが、２つの階調特性を再生成するようにしても良い。ただしその場合、Ｓ７０２における被写体領域判別の処理〜Ｓ７０５における階調特性の算出処理が必要となるため、処理時間が増大しフレームレートへの影響が懸念される。そこで、それらの処理を時分割で行うことによって対応する一例を、図１５を参照して説明する。
【０１０３】
図１５の上段に示す１９００は、連続して撮影されたフレーム画像を示し、図１５の下段に示す１９１０は、各画像に適用される階調特性を示している。フレームi-2からiに至るまでは、ΔYinfoがほぼ０、即ち輝度変動がほぼ無い状態であり、この区間に対応する画像には、i-2の画像に適用された特性がそのまま適用される。一方、iからi+1においてΔYinfoが閾値Th_Y_Hi以上に変化した場合、i+1の画像に対してＳ７０２で説明した被写体領域の判別処理が行われる。ただし、適用される特性はiと同じすなわちi-2と同じものとする。そしてi+2の画像が撮影されたときに、i+1の画像に対する領域判別結果を用いて、Ｓ７０３〜Ｓ７０５で説明した被写体領域ごとの入出力特性が生成される。このようにして、新たに生成された特性をi+2の画像に適用することによって、より輝度変動後の画像に適した特性を用いて階調制御を行なうことができる。処理時間や輝度変動に対する敏感度などの観点から、上述した処理をさらに時分割するような構成としても良い。また、輝度変動に限らず、例えば加速度センサなどの撮像装置の動きを検出する装置を備え、所定以上の動きが検出された場合に階調特性を変更するような構成としても良い。また、より単純に所定の時間間隔またはフレーム間隔で２つの階調特性を再生成し、その他の区間において加重加算係数を更新するようにしてもよい。このようにすることで、定期的にシーンに適切な階調特性を算出してシーンの大きな輝度変化にも適用可能にしたうえで、簡易的な処理を利用することができる。
【０１０４】
以上説明したように本実施形態では、まず最初のフレームにおいて、被写体領域間の輝度段差を用いて加重加算係数を含む階調特性を決定するようにした。換言すれば、被写体領域間の輝度段差に基づいて階調特性を決定することで、被写体領域ごとの明るさのバランスを考慮した階調特性を決定するようにした。そして、以降のフレームにおいては、前フレームにおいて算出された加重加算係数を用いて現在のフレームの加重加算係数を算出し、当該係数により階調特性を変更するようにした。このようにすることで、各フレームにおける階調特性を算出するための処理量を軽減することができ、フレームレートの低下を抑えながら簡易的かつ適切に階調制御を行うことができる。従って、連続的に撮影を行う場合に、被写体領域間の明るさのバランスを考慮しつつ処理負担を軽減する階調制御を行うことが可能になる。
【０１０５】
（実施形態２）
本発明に係る実施形態２について説明する。なお実施形態１と共通する処理については同一の参照番号を付して説明を省略し、差異点について重点的に説明する。なお、本実施形態では、撮影時の露光量および階調特性を決定する点で実施形態１と共通するが、さらにゲイン量に対して上限値を設け、連続撮影された画像に対する露光量を調整する点が異なる。
【０１０６】
まず、最初に撮影された画像（i=0番目のフレーム）に対する処理については、実施形態１で説明したＳ７００〜Ｓ７０８およびＳ８０１〜Ｓ８０７と同様の処理を行う。但し、本実施形態ではＳ８０３において階調補正量算出部４０３は、GAIN_MAX(0)の値を算出する。GAIN_MAX(0)とは、（式７）で示したGAIN_HUMAN、GAIN_BACK、GAIN_SKYのうち最大となるゲインの値を表す。上述したように、人物の顔領域のゲイン量GAIN_HUMANが最も大きな値をとることから、GAIN_MAX(0)はGAIN_HUMANとなる。
【０１０７】
以下、i=1番目以降のフレームに対する処理を、図１６を参照して説明する。
【０１０８】
Ｓ９００と同様の処理から開始してＳ８０３における被写体領域ごとの階調補正量を算出処理まで処理を進める。
【０１０９】
Ｓ１６０１において階調補正量算出部４０３は、上述したGAIN_MAXの絶対値が2.0よりも大きいかを判定する。階調補正量算出部４０３は、GAIN_MAX(i)の絶対値が2.0よりも大きいと判定した場合、Ｓ１６０２に処理を進め、その他の場合はＳ１６０３に処理を進める。
【０１１０】
Ｓ１６０２において階調補正量算出部４０３は、Ｓ８０３で算出したGAIN_MAX(i)の値に基づいて、露出補正量ΔBv(i)を算出する。図１７に示すように、GAIN_MAXの値が大きいほど露出補正値ΔBvは正の大きな値をとり、GAIN_MAXの値が小さいほど露出補正値ΔBvは負の大きな値をとる。これは、最大ゲイン値GAIN_MAXが2.0以上となる場合に露出を上げてノイズによる画質劣化の発生を抑え、一方、GAIN_MAXが-2.0以下となる場合に露出を下げて白飽和領域が発生するのを抑えるものである。階調補正量算出部４０３は、得られた露出補正値ΔBvを、i+1番目のフレーム画像に対する露出補正量として加算する。このようにすることで、ゲインが２段以上かかることを抑えることができ、ゲインを大きくかけたことによる、ノイズによる画質劣化や白飽和の発生を抑えた適切な階調特性を生成することが可能となる。
【０１１１】
Ｓ１６０３においては、階調補正量算出部４０３は、i-1番目（即ち直前のフレーム）のフレーム画像に対して算出したΔBv(i-1)が０であるか、すなわちi-1番目からi番目の画像に至るまで露出補正がなされたかを判定する。階調補正量算出部４０３は、ΔBv(i-1)が０である場合はＳ９０２に処理を進め、その他の場合はＳ７０４に処理を進める。
【０１１２】
以降の処理では、実施形態１において上述した、加重加算係数α、βを変更する処理あるいは階調特性を生成する処理を行って、Ｓ７０８における階調圧縮処理まで行うと、一連の処理を終了する。
【０１１３】
なお、本実施形態では、最大ゲイン量が大きくなった場合に露光量を変更するようにしたが、これに限らず、より単純な輝度情報に基づいて変更するような構成としても良い。例えば、画像を所定のブロック単位に分割して分割領域毎の平均輝度を算出し、白とびあるいは黒潰れしているブロック数に応じて露光量を補正するようにしても良い。また、本実施形態では、ゲインに応じて露光量を変更するようにして、露出補正が行われたか否かにより、直前のフレームの加重加算係数を用いて階調特性を決定あるいは新たに階調特性を生成するようにした。しかし、露光量の変更に限らず、画像の輝度に影響を与える撮影条件、例えば撮像素子の感度を変更するようにして、感度の変更が行われたか否かにより、階調特性の決定方法を制御してもよい。このようにしても、所定の範囲外のゲイン値を適用することによる画質劣化を低減することができる。
【０１１４】
以上説明したように本実施形態では、高輝度方向に輝度変動があった場合には、露光量を低露出方向に変更し、一方、低輝度方向に輝度変動があった場合には、ゲイン量の上限値を加味しながら露光量を高露出方向に変更するようにした。このようにすることで、実施形態１と同様に、処理負担を軽減した階調制御を実現したうえで、階調特性の変更のみでは追従困難な輝度変動に対して、白とびや黒潰れを抑えた階調特性を実現することが可能になる。
【０１１５】
（その他の実施形態）
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【０１１６】
１０２…撮像部、１０４…画像処理部、１０７…制御部、２０１…被写体領域判別部、２０２…ヒストグラム算出部、２０３…輝度値算出部、２０４…階調特性算出部、２０５…ゲインテーブル算出部、２０６…ゲイン処理部
【図１】
0006423668.tif 000018
【図２】
0006423668.tif 000019
【図３】
0006423668.tif 000020
【図４】
0006423668.tif 000021
【図５】
0006423668.tif 000022
【図６】
0006423668.tif 000023
【図７】
0006423668.tif 000024
【図８】
0006423668.tif 000025
【図９】
0006423668.tif 000026
【図１０】
0006423668.tif 000027
【図１１】
0006423668.tif 000028
【図１２】
0006423668.tif 000029
【図１３】
0006423668.tif 000030
【図１４】
0006423668.tif 000031
【図１５】
0006423668.tif 000032
【図１６】
0006423668.tif 000033
【図１７】
0006423668.tif 000034