(57)【要約】      （修正有）【課題】各領域毎に諧調特性を設定して補正を行うにあたり、異なる色温度で撮影されたシーンにおいて、領域毎の境界部分で発生する色つきを低減させることにより、広ダイナミックレンジかつ高コントラストな好ましい画像を生成する。【解決手段】入力画像に対して被写体領域の判定を行い、被写体領域判定の結果から第１の画像認識領域と、第１画像認識領域以外の第２の画像認識領域を検出し、第１の画像認識領域において検出された画像評価値および前記第２の画像認識領域において検出された画像評価値に基づいて第１の階調補正量を決定し、第１の画像認識領域およびに前記第２の画像認識領域の色温度を検出し、色温度差分を算出し、色温度差分と第１の階調補正量によって決定された諧調特性に基づいて、第２の階調補正量を決定する。【選択図】図７
2019040382.tif 000002
【特許請求の範囲】
【請求項１】
画像の階調補正を行う画像処理装置であって、
画像を入力する入力手段と、
入力画像に対して被写体領域の判定を行う被写体領域判定手段と、
前記被写体領域判定手段の結果から第１の画像認識領域を検出する第１の画像認識検出手段と、
前記第１画像認識領域以外の第２の画像認識領域を検出する第２の画像認識領域手段と、
前記第１および第２の画像認識領域において前記画質評価値算出手段により検出された画像評価値に基づいて、第１の階調補正量を決定する第１の階調補正量決定手段と、
前記第１の画像認識領域における色温度を検出する第１の色温度検出手段と、
前記第２の画像認識領域に対して色温度を検出する第２の色温度検出手段と、
前記第１の色温度と前記第２の色温度との差分を算出する色温度差分検出手段と、
前記色温度差分と前記第１の階調補正量決定手段によって決定された諧調特性に基づいて、第２の階調補正量を決定する第２の階調特性決定手段と、
を有し、
前記第２の階調補正量決定手段によって決定された諧調補正量に基づいて前画像諧調補正を行う手段を有することを特徴とする画像処理装置。
【請求項２】
前記第２の諧調特性補正量決定手段は、前記色温度差分が大きい場合には、第１の階調補正量決定手段で決定された諧調特性を比較し、諧調特性の差分が所定の範囲になるように諧調特性を決定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第２の画像認識領域が第１の画像認識領域に隣接するか判定する隣接判定手段を有し、前記隣接判定手段によって隣接していると判定された場合に、第２の諧調補正量決定手段によって諧調補正量決定を行うことを特徴とする請求項１又は請求項２に記載の画像処理装置。
【請求項４】
前記第１の画像領域認識手段は顔認識を行う人物領域判定手段であって、前記人物領域判定手段は識領域の顔の大きさを検出する顔検出手段を有し、第２の諧調特性補正量決定手段は、前記顔検出の顔の大きさが大きい場合には、顔領域から算出した補正量をもちいて補正量を決定することを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記第１の画像領域認識手段は顔認識を行う人物領域判定手段であって、前記人物領域判定手段は識領域の顔の大きさを検出する顔検出手段を有し、第２の諧調特性補正量決定手段は、前記顔検出の顔の大きさが小さい場合には、背景領域から算出した補正量をもちいて補正量を決定することを特徴とする請求項３に記載の画像処理装置。
【請求項６】
ストロボ発光装置を有し、第１の画像認識領域は、ストロボ照射領域を判定する領域判定手段であることを特徴する請求項１乃至請求項５の何れか一項に記載の画像処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力画像の階調補正を行う画像処理技術に関する。
【背景技術】
【０００２】
従来から、ハイダイナミックレンジ合成（ＨＤＲ）や覆い焼き等、ダイナミックレンジが拡大された入力信号に対して、階調圧縮を行って出力する処理がある。
【０００３】
特許文献１には、入力画像に対して被写体領域の判定を行い、被写体領域の判定結果を用いて被写体領域毎の代表輝度値とヒストグラムを算出し、代表輝度値から被写体領域毎の階調補正量を算出して、階調特性を決定する技術が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−１５３９５９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１では、背景領域と被写体領域とくに人物領域との間に色温度差分がある場合、被写体のエッジ部分に色つきが発生してしまうという問題点がある。
【０００６】
特にストロボ発光時においては、被写体にストロボ光があたっている部分と背景部分のストロボが非照射領域において、色温度が異なる場合が多く、顕著に発生しやすい。
【課題を解決するための手段】
【０００７】
上記の課題を解決するために、本発明に係る画像処理装置は、
画像の階調補正を行う画像処理装置であって、
入力画像に対して被写体領域の判定を行う被写体領域判定手段と、
前記被写体領域判定手段の結果から第１の画像認識領域と、
前記第１画像認識領域以外の第２の画像認識領域を検出する手段と、
前記第１の画像認識領域において前記画質評価値算出手段により検出された画像評価値および前記第２の画像認識領域において前記画質評価値算出手段により検出された画像評価値に基づいて第１の階調補正量を決定する第１の階調補正量決定手段と、
前記第１の画像認識領域およびに前記第２の画像認識領域の色温度を検出し、色温度差分を算出する色温度差分検出手段と、
前記色温度差分と前記第１の階調補正量決定手段によって決定された諧調特性に基づいて、第２の階調補正量を決定する第２の階調特性決定手段と、
を有し、
前記第２の階調補正量決定手段によって決定された諧調補正量に基づいて、前画像諧調補正を行う手段を有することを特徴とする。
【発明の効果】
【０００８】
本発明に係る画像処理装置によれば、各領域毎に諧調特性を設定して補正を行うにあたり、異なる色温度で撮影されたシーンにおいて、領域毎の境界部分で発生する色つきを低減させることにより、広ダイナミックレンジかつ高コントラストな好ましい画像を生成することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明に係る実施形態の装置構成を示すブロック図
【図２】画像処理部の構成の一部を示すブロック図
【図３】露光量算出部の構成を示すブロック図
【図４】階調補正量を算出する処理を示すフローチャート
【図５】ゲイン処理部の構成を示すブロック図
【図６】露光量算出処理を示すフローチャート
【図７】画像処理部による階調処理を示すフローチャート
【図８】階調特性算出部による処理を示すフローチャート
【図９】領域間の輝度段差に加え目標露光量と露光量の決定方法を説明する図
【図１０】領域間の輝度段差の算出方法を説明する図
【図１１】黒体放射軸上の色温度とＷＢ評価値との関係を示した概念図
【図１２】各領域で実現したい入出力特性を説明する図
【図１３】ＨＵＭＡＮ＿ＰＯＩＮＴ、ＢＡＣＫ＿ＰＯＩＮＴ、ＳＫＹ＿ＰＯＩＮＴの算出方法を説明する図
【図１４】各領域で実現したい入出力特性と、ダイナミックレンジ優先とコントラスト優先の階調特性を説明する図
【図１５】領域毎の階調補正量を適応する入力信号の範囲を説明する図
【図１６】領域間の輝度段差を２種類の階調特性の加重加算係数に用いることにより得られる効果を説明する図
【図１７】階調特性からゲインテーブルへの変換を説明する図
【図１８】γ特性による階調圧縮処理を説明する図
【図１９】第２の諧調補正量算出手段のフローを示したフローチャート
【図２０】顔サイズ・隣接ブロック、色温度差分による線形補間係数の例
【図２１】第２実施例におけるストロボ発光領域算出するための画像取得のタイミングを示したタイミングチャート
【図２２】第２実施例におけるストロボ発光領域の算出する例
【発明を実施するための形態】
【００１０】
以下に、本発明を実施するための形態について詳細に説明する。尚、以下に説明する実施の形態は、本発明を実現するための一例であり、本発明が適用される装置の構成や各種条件によって適宜修正又は変更されるべきものであり、本発明は以下の実施の形態に限定されるものではない。
【００１１】
[実施例１]
以下、本発明の画像処理装置を、例えば、デジタルスチルカメラやデジタルビデオカメラ等に代表される撮像装置に適用した実施形態について説明する。図１を参照して、本発明に係る実施形態の撮像装置の構成及び機能の概略について説明する。
【００１２】
本実施形態は、画像領域の情報を用いて最適な階調処理を行う。なお、本実施形態は、本発明による効果が最も高い逆光時の人物シーンを想定し、人物が最も暗く、空が最も明るいシーンを想定した階調処理について説明する。ただし、本発明の技術思想は上記シーン以外にも適用可能であることは言うまでもない。
【００１３】
図１において、光学系１０１は、ズームレンズやフォーカスレンズから構成されるレンズ群、絞り調整装置、および、シャッタ装置を備えている。この光学系１０１は、撮像部１０２に結像される被写体像の倍率やピント位置、あるいは、入射光量を調整する。撮像部１０２は、光学系１０１を通過した被写体の光束を光電変換するＣＣＤやＣＭＯＳ等の光電変換素子からなるイメージセンサを含む。Ａ／Ｄ変換部１０３は、撮像部１０２から入力された映像信号をデジタルの画像に変換する。
【００１４】
画像処理部１０４は、通常の信号処理に加えて、後述する階調処理を行う。画像処理部１０４はＡ／Ｄ変換部１０３から出力されたデジタル画像信号だけでなく、記録部１１０から読み出された画像データに対しても同様の画像処理を行うことができる。
【００１５】
露光量算出部１０５は、本実施形態の階調処理を行うために最適な入力画像を得るために、撮影時の露光量を算出する。露光量算出部１０５は、画像処理部１０４による処理結果を入力し、算出した露光量を露光量制御部１０６へ出力する。露光量算出部１０５の詳細については後述する。露光量制御部１０６は、露光量算出部１０５により算出された露光量に応じて、光学系１０１と撮像部１０２を制御して、絞り、シャッタスピード、撮像部１０２のアナログゲインを制御する。
【００１６】
システム制御部１０７は、本実施形態の装置全体の動作を統括して制御する。画像処理部１０４で処理された画像信号から得られる輝度値や操作部１０８から送信された指示信号に基づいて、光学系１０１や撮像部１０２の駆動制御も行う。表示部１０９は、液晶ディスプレイや有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイで構成され、撮像部１０２で生成された画像信号や、記録部１１０から読み出した画像データを表示する。
【００１７】
記録部１１０は、画像データを記録する機能を有し、例えば、半導体メモリが搭載されたメモリカードや光磁気ディスク等の回転記録体を収容したパッケージなどを用いた情報記録媒体を含んでも良いし、この情報記録媒体を着脱可能にしても良い。バス１１１は、画像処理部１０４、システム制御部１０７、表示部１０９、および、記録部１１０の間で画像信号や制御信号を伝送するための伝送路である。
【００１８】
次に、図３を参照して、露光量算出部１０５の構成及び機能について説明する。露光量算出部１０５は、階調処理を行うために最適な露光量で撮影された画像信号を得るために必要な露光量を算出する。本実施形態では、露光量の算出についても画像領域の情報を用いる。なお、以下では、露光量算出部１０５への入力情報として、図２に示す画像処理部１０４の領域別輝度値算出部２０３の出力結果を用いる。画像処理部１０４の構成及び機能については後述する。
【００１９】
露光量算出部１０５は、領域別輝度値算出部２０３の出力結果を入力して、主被写体出力輝度値算出部３０１と領域間輝度段差算出部３０２で処理を行った後、露光量決定部３０３で露光量を決定し、露光量制御部１０６へ出力する。
【００２０】
図６は、露光量を算出するための画像信号を取得してから、露光量算出部１０５で露光量を算出するまでの処理を示し、Ｓ６０１からＳ６０３までが画像処理部１０４で行う処理、Ｓ６０４からＳ６０６までが露光量算出部１０５で行う処理である。なお、図６の処理は、システム制御部１０７が、不揮発性メモリに格納されたプログラムを、揮発性メモリのワークエリアに展開し、上記各部を制御することにより実現される。
【００２１】
Ｓ６０１では、画像処理部１０４は、露光量を算出するために撮像部１０２により撮像された画像信号を取得する。Ｓ６０２では、画像処理部１０４は、Ｓ６０１で取得した画像信号から領域の認識を行う。本実施形態では、領域として、人物の顔領域、人物の顔以外の体領域、雲・太陽等を含む空領域、上記以外の領域を背景領域として合計４つの領域を認識する。図９（ａ）は、入力画像に対して領域認識を行った結果を例示している。領域の認識方法については、ニューラルネットワークによる学習データを用いた物体認識等、公知の方法で良い（特開２００６−３９６６６号公報）。また、領域の認識方法については、１画素毎ではなく、一定のサイズで区切られたブロック毎に認識する方法でもよい。
【００２２】
Ｓ６０３では、画像処理部１０４は、Ｓ６０２での領域認識結果を用いて、領域毎の代表輝度値を算出する。代表輝度値は、該当する領域内の輝度信号の平均値、もしくは座標に応じた重み付けによる加重平均値とする。代表輝度値を算出する領域として、人物の顔領域、空領域、人物の顔領域と空領域以外の背景領域の３つの領域を算出する。
【００２３】
以下では、各領域の代表輝度値をそれぞれ、ＨＵＭＡＮ＿Ｙ、ＢＡＣＫ＿Ｙ、ＳＫＹ＿Ｙと呼ぶ。また、本実施形態では、人物の顔領域と空領域の各代表輝度値は、該当する領域内の輝度信号の平均値から算出し、背景領域の代表輝度値は、座標に応じた重み付けによる加重平均値から算出する。Ｓ６０４では、露光量算出部１０５は、Ｓ６０３で算出した各領域の代表輝度値を用いて領域間の輝度段差を算出する。以下、算出した主被写体である人物の顔領域の出力輝度値をＨＵＭＡＮ＿ＯＵＴ＿Ｙとする。詳細は後述する。
【００２４】
Ｓ６０５では、露光量算出部１０５は、入力画像とＳ６０３で算出された各領域の代表輝度値を用いて主被写体の出力輝度値を算出する。以下、人物の顔領域と背景領域の輝度段差をΔＨＢ、背景領域と空領域の輝度段差をΔＢＳ、人物の顔領域と空領域の輝度段差をΔＨＳとする。
【００２５】
Ｓ６０６では、露光量算出部１０５は、Ｓ６０４で算出した領域間の輝度段差ΔＨＢ、ΔＢＳ、ΔＨＳと、Ｓ６０５で算出した主被写体の出力輝度値ＨＵＭＡＮ＿ＯＵＴ＿Ｙを入力し、階調処理を行うために最適な画像を撮影するための露光量を決定する。詳細は後述する。
【００２６】
＜輝度段差算出方法＞
次に、Ｓ６０４の領域間の輝度段差の算出について図９（ｂ）を用いて説明する。図９（ｂ）は、入力画像の露光量を基準に各領域の目標露光量を例示している。目標露光量とは、算出対象の領域の代表輝度値を目標輝度値にするために、入力画像の露光量から何段オーバー、何段アンダーの露光量に設定すれば良いかを示すものである。
【００２７】
露光量オーバーとは入力画像の露光量よりも大きくすること、露光量アンダーとは入力画像の露光量よりも小さくすることを示す。なお、目標輝度値は各領域によって予め決定された値である。
【００２８】
各領域の代表輝度値をＨＵＭＡＮ＿Ｙ、ＢＡＣＫ＿Ｙ、ＳＫＹ＿Ｙとし、各領域の目標輝度値をＨＵＭＡＮ＿ｒｅｆ＿Ｙ、ＢＡＣＫ＿ｒｅｆ＿Ｙ、ＳＫＹ＿ｒｅｆ＿Ｙとする。各領域の目標露光量ΔＢＶ＿ＨＵＭＡＮ＿ｒｅｆ、ΔＢＶ＿ＢＡＣＫ＿ｒｅｆ、ΔＢＶ＿ＳＫＹ＿ｒｅｆは、式１によって算出される。
【００２９】
ΔＢＶ＿ＨＵＭＡＮ＿ｒｅｆ＝ＬＯＧ２（ＨＵＭＡＮ＿ｒｅｆ＿Ｙ／ＨＵＭＡＮ＿Ｙ）
ΔＢＶ＿ＢＡＣＫ＿ｒｅｆ＝ＬＯＧ２（ＢＡＣＫ＿ｒｅｆ＿Ｙ／ＢＡＣＫ＿Ｙ）
ΔＢＶ＿ＳＫＹ＿ｒｅｆ＝ＬＯＧ２（ＳＫＹ＿ｒｅｆ＿Ｙ／ＳＫＹ＿Ｙ）
・・・（１）
式１によって算出された各領域の目標露光量から各領域間の輝度段差を算出する。ΔＨＢ、ΔＢＳ、ΔＨＳはそれぞれ、式２から算出される。
【００３０】
ΔＨＢ＝ＡＢＳ（ΔＢＶ＿ＨＵＭＡＮ＿ｒｅｆ−ΔＢＶ＿ＢＡＣＫ＿ｒｅｆ）
ΔＢＳ＝ＡＢＳ（ΔＢＶ＿ＢＡＣＫ  ＿ｒｅｆ−ΔＢＶ＿ＳＫＹ＿ｒｅｆ）
ΔＨＳ＝ＡＢＳ（ΔＢＶ＿ＨＵＭＡＮ＿ｒｅｆ−ΔＢＶ＿ＳＫＹ＿ｒｅｆ）
・・・（２）
式２によって算出された各領域間の輝度段差ΔＨＢ、ΔＢＳ、ΔＨＳは、Ｓ６０６の露光量を決定する処理で用いる。
【００３１】
＜目標輝度値算出方法＞
次に、Ｓ６０５における主被写体の出力輝度値を算出方法について説明を行う。
【００３２】
主被写体の出力輝度値とは、前述の目標輝度値とは別であり、後の撮影画像で最終的に出力したい主被写体領域の輝度値を示す。本実施形態では、人物が含まれるシーンの場合、人物を主被写体として考えるため、人物の顔領域の出力輝度値を算出する。本実施形態では、出力輝度値の算出方法として、人物の顔領域のみの輝度値と画像全体の輝度値の関係を見て最終的な人物の顔領域の輝度値を決定する公知の方法を用いる（例えば、特許第４７８９７７６号公報）。
【００３３】
なお、この方法に限らず、領域間の輝度段差を用いて、中間輝度に位置する被写体を基準にして、人物の顔領域の輝度値を決定する方法を用いても良い。また、人物の顔領域の目標輝度値をそのまま出力輝度値としても良い。
【００３４】
＜露光量決定方法＞
次に、Ｓ６０６における主被写体の露出量の決定方法について図９（ｃ）を用いて説明を行う。図９（ｃ）は、入力画像信号の露光量に対する各領域の出力露光量を例示している。出力露光量とは、最終的に出力したい各領域の明るさを実現するために、入力画像の露光量に対し、何段オーバー、何段アンダーの露光量に設定すれば良いかを示したものである。人物の顔領域、背景領域、空領域の出力露光量をそれぞれ、ΔＢＶ＿ＨＵＭＡＮ、ΔＢＶ＿ＢＡＣＫ、ΔＢＶ＿ＳＫＹとすると、各領域の出力露光量は、式３から算出される。
【００３５】
ΔＢＶ＿ＨＵＭＡＮ＝ＬＯＧ２（ＨＵＭＡＮ＿ＯＵＴ＿Ｙ／ＨＵＭＡＮ＿Ｙ）
ΔＢＶ＿ＢＡＣＫ＝ΔＢＶ＿ＨＵＭＡＮ−ΔＨＢ／２
ΔＢＶ＿ＳＫＹ＝ΔＢＶ＿ＨＵＭＡＮ−ΔＨＳ／２
・・・（３）
式３のように、Ｓ６０５で算出した出力輝度値により決定された主被写体の露光量を基準に、Ｓ６０４で算出した領域間の輝度段差を１／２に縮めた段差を維持するように主被写体以外の領域の露光量を決定する。
【００３６】
各領域の出力露光量のうち、最も露光量の小さい出力露光量を、階調処理を行うために最適な画像を撮影するための露光量として決定する。つまり、各領域のうち、最も露光量の小さい出力露光量である空領域のΔＢＶ＿ＳＫＹを撮影時の露光量として決定する。本実施形態では上述した方法により撮影時の露光量を決定するが、この方法に加え、主被写体の出力露光量に対してある一定の値までしか露光量を小さくできない等、露光量を小さくできる上限を設けて撮影時の露光量を決定しても良い。
【００３７】
以上のように、露光量算出部１０５は、入力画像を取得して最適な露光量を決定する。
【００３８】
＜階調処理＞
次に、図２及び図７を参照して、画像処理部１０４による階調処理について説明する。
【００３９】
画像処理部１０４は、露光量算出部１０５によって決定された露光量で撮影した画像信号を入力して階調処理を行う。
【００４０】
なお、本実施形態の階調処理は、領域間の輝度段差を縮めるような階調特性を画像全体に適用する。また、主被写体領域を最優先とした上で、主被写体以外の領域をシーンに応じてバランス良く階調を割り当てることにより、人間の見た目通りのコントラストと明るさの出力画像を生成する。
【００４１】
図２は、画像処理部１０４の構成の一部、図７は階調処理をそれぞれ示している。なお、図７の処理は、システム制御部１０７が、不揮発性メモリに格納されたプログラムを、揮発性メモリのワークエリアに展開し、上記画像処理部を制御することにより実現される。Ｓ７０１では、画像処理部１０４は、撮像部１０２により撮影された画像信号を取得する。Ｓ７０２では、画像処理部１０４は、Ｓ７０１で取得した画像信号に対し、領域の認識を行う。この領域認識処理については、前述したＳ６０２の処理と同様である。
【００４２】
Ｓ７０３では、画像処理部１０４は、Ｓ７０１で取得した画像信号を入力情報として、Ｓ７０２で認識された領域毎に代表輝度値を算出する。各領域の代表輝度値の算出方法については、前述したＳ６０３と同様である。Ｓ７０４では、画像処理部１０４は、Ｓ７０１で取得した画像信号を入力情報として、Ｓ７０２で認識された領域毎にヒストグラムを算出する。本実施形態では、輝度信号のヒストグラムを算出する。なお、ヒストグラムの算出対象の領域は、代表輝度値の算出と同様に、人物の顔領域、空領域、背景領域である。
【００４３】
Ｓ７０５では、画像処理部１０４は、領域毎に算出した代表輝度値を入力情報として、領域毎の第１の階調補正量を算出する。Ｓ７０６では、主被写体領域および背景領域に対して色温度の検出を行う。主被写体領域の色温度の検出方法は、顔検出結果で顔領域に対して色味の解析を行う。詳細は後述する。Ｓ７０７は主被写体領域と非主被写体領域の隣接の有無を判定する。判定方法は画像領域を複数のブロックに分割を行い、ブロック領域毎に領域の判別結果のラベリングを行い、隣接ブロックに主被写体領域と非主被写体領域のラベルが隣接しているブロック数を数えるなどをすればよい。
【００４４】
Ｓ７０８では、画像処理部１０４は、Ｓ７０７で算出した領域毎の階調補正量と、Ｓ７０６で算出した色温度差分、Ｓ７０８で算出した領域隣接判定結果を用いて第２の諧調補正量を決定する。この階調補正量の算出方法については後述する。Ｓ７０９では、Ｓ７０４で算出した領域毎のヒストグラムおよび、Ｓ７０８で算出した第２の諧調補正量に基づいて諧調特性の算出を行う。詳細は後述する。
【００４５】
なお、Ｓ７０８で算出する階調特性とは、図１７（ａ）のように横軸を入力信号、縦軸を出力信号として、入力信号に応じた出力信号を表す入出力特性である。例えば、階調特性を変化させない場合は、点線で示したグラフとなり、入力信号と出力信号の値は等しくなる。なお、本実施形態では、図１７（ａ）の入力信号や出力信号は輝度信号を示す。
【００４６】
Ｓ７１０では、画像処理部１０４は、Ｓ７０８で算出した階調特性を用いて、図１７（ｂ）のように横軸を入力信号、縦軸をゲインとした、入力信号に応じたゲインを示すゲインテーブルに変換する（ゲインテーブル変換処理）。本実施形態では、図１７（ｂ）の入力信号は輝度信号を示す。入力信号をｘ、階調特性により入力信号に応じた出力信号をｙとすると、ゲインＧａｉｎは、式４により算出される。
【００４７】
Ｇａｉｎ＝ｙ／ｘ                                           ・・・（４）
Ｓ７１１では、画像処理部１０４は、Ｓ７０６で得たゲインテーブルを参照して撮影画像にゲインをかける処理を行う。
【００４８】
ここで、図５を用いて、ゲイン処理部２０６によるゲイン処理について説明する。左上に位置する画素を（０，０）として、入力画像の画素位置を（ｘ，ｙ）で示した場合、入力信号Ｙｉｎ（ｘ，ｙ）から出力されるゲインをＧａｉｎ（ｘ，ｙ）として、Ｓ７０６で得たゲインテーブルをＧａｉｎＴｂｌ関数として表すと、式１０のようになる。
【００４９】
Ｇａｉｎ（ｘ，ｙ）＝ＧａｉｎＴｂｌ（Ｙｉｎ（ｘ，ｙ））      ・・・（５）
Ｇａｉｎ（ｘ，ｙ）は入力画像の（ｘ，ｙ）に位置する画素に対応するゲインである。
【００５０】
ゲインを算出するための入力信号であるＹｉｎは、撮影された入力画像を用いて、ゲイン算出用画像生成部５０１で生成される。ゲイン算出用画像生成方法としては、コントラストを向上させるため、入力画像を輝度画像データに変換し、平均化処理を行う。輝度画像データを入力としてゲインを算出することにより、よりコントラストを向上させる効果が得られる。ゲイン変換部５０２は、ゲイン算出用画像生成部５０１で生成されたＹｉｎ信号を用いて、式１７ように、ゲイン信号に変換する処理を行う。
【００５１】
ゲイン乗算部５０３は、ゲイン変換部５０２で算出されたゲインを用いて入力画像信号に対し、ゲインを乗算する処理を行う。本実施形態では、撮影された入力画像から、既にデモザイキング処理を終えたＲ，Ｇ，Ｂ画像信号に対し、ゲインを乗算する処理を行う。ゲイン乗算前の（ｘ，ｙ）に位置する入力画像のＲ，Ｇ，Ｂ信号をそれぞれＲｉｎ（ｘ，ｙ）、Ｇｉｎ（ｘ，ｙ）、Ｂｉｎ（ｘ，ｙ）とする。その場合、ゲイン乗算後のＲ，Ｇ，Ｂ信号Ｒｏｕｔ（ｘ，ｙ）、Ｇｏｕｔ（ｘ，ｙ）、Ｂｏｕｔ（ｘ，ｙ）は、式１０のＧａｉｎＴｂｌ関数を用いて、式６により算出することができる。
【００５２】
Ｒｏｕｔ（ｘ，ｙ）＝Ｒｉｎ（ｘ，ｙ）×ＧａｉｎＴｂｌ（Ｙｉｎ（ｘ，ｙ））
Ｇｏｕｔ（ｘ，ｙ）＝Ｇｉｎ（ｘ，ｙ）×ＧａｉｎＴｂｌ（Ｙｉｎ（ｘ，ｙ））
Ｂｏｕｔ（ｘ，ｙ）＝Ｒｉｎ（ｘ，ｙ）×ＧａｉｎＴｂｌ（Ｙｉｎ（ｘ，ｙ））
・・・（６）
式６のように、画素位置（ｘ，ｙ）であれば、Ｒ，Ｇ，Ｂの信号にかけるゲインは同じである。
【００５３】
なお、本実施形態ではＲＧＢ信号に対してゲイン処理を行ったが、ＹＵＶ信号に対して上述したゲイン処理を行っても良い。
【００５４】
Ｓ７１２では、画像処理部１０４は、Ｓ７１１でゲイン処理を行ったＲ，Ｇ、Ｂのｍビットの信号を表示部１０９の特性に合わせるため、γ特性で階調圧縮処理を行い、ｎ（ｍ≧ｎ）ビットの信号を出力する。本実施形態では、このγ特性として、図１８に示すように実線と点線で示した２種類の特性を用いる。点線で示したγ特性は、逆光時の人物の顔領域がフレアの影響等により低コントラストになってしまう対策として、低輝度部分のコントラストを向上するような特性になっている。点線で示したγ特性は、逆光時の人物シーンに対して用い、実線で示したγ特性は、逆光時の人物シーン以外で用いる。
【００５５】
尚、図７の階調処理において、図２に示す画像処理部１０４の各部は、領域検出部２０１および２１３がＳ７０２、領域別ヒストグラム算出部２０２がＳ７０４、領域別輝度値算出部２０３がＳ７０３の各処理を行う。
【００５６】
また、第１の階調補正量算出部２０８がＳ７０５、色温度検出部２０９および色温度差分検出部２１０がＳ７０６、領域隣接判定部２１２がＳ７０７の各処理を行う。そして、第２の諧調補正量算出部１４がＳ７０８の処理を行う。階調特性算出部２０４がＳ７０９、ゲインテーブル算出部２０５がＳ７１０、ゲイン処理部２０６がＳ７１１、階調圧縮処理部２０７がＳ７１２の各処理を行う。
【００５７】
＜被写体領域色温度検出方法＞
次に、Ｓ７０６で行う、主被写体領域および背景領域に対して色温度の検出についての説明をおこなう。
【００５８】
本実施例では、主被写体領域の色温度の検出方法は顔検出結果で顔領域に対して色味の解析を行い、背景領域に対しては通常のオートホワイトバランス制御を用った結果で行う。
【００５９】
オートホワイトバランスの制御方法は、撮像した画像から白色と思われる部分を自動検出し、画面全体の各色成分の平均値からホワイトバランス係数を求め、算出したホワイトバランス係数を画面全体に適用することが一般的である。従来のオートホワイトバランス制御について説明する。撮像素子から出力された信号はＡ／Ｄ変換によってデジタル化され、複数のブロックに分割される。
【００６０】
各ブロックはＲＧＢの色画素で構成されており、ブロック毎に、例えば以下の算出式により、色評価値（Ｃｘ［ｉ］、Ｃｙ［ｉ］）を求める。
【００６１】
Ｃｘ［ｉ］＝（Ｒ［ｉ］−Ｂ［ｉ］）／Ｙ［ｉ］×１０２４
Ｃｙ［ｉ］＝（Ｒ［ｉ］＋Ｂ［ｉ］−２Ｇ［ｉ］）／Ｙ［ｉ］×１０２４
・・・（７）
（ただし、ｉはブロックの番号、Ｒ［ｉ］，Ｇ［ｉ］，Ｂ［ｉ］はブロックｉに含まれるＲＧＢ画素の平均値、Ｙ［ｉ］＝（Ｒ［ｉ］＋２Ｇ［ｉ］＋Ｂ［ｉ］／４））
ブロックが白であると判定する。そして、そのブロックに含まれる色画素の積分値ＳｕｍＲ、ＳｕｍＧ、ＳｕｍＢを算出して、以下の式のようにホワイトバランス係数（ＷＢＣｏ＿Ｒ，ＷＢＣｏ＿Ｇ，ＷＢＣｏ＿Ｂ）を算出する。
【００６２】
ＷＢＣｏ＿Ｒ＝ＳｕｍＹ×１０２４／ｓｕｍＲ
ＷＢＣｏ＿Ｇ＝ＳｕｍＹ×１０２４／ｓｕｍＧ
・・・（８）
ＷＢＣｏ＿Ｂ＝ＳｕｍＹ×１０２４／ｓｕｍＢ
ただし、ＳｕｍＹ＝（ｓｕｍＲ＋２×ｓｕｍＧ＋ＳｕｍＢ）／４
ホワイトバランス係数と色温度との関係は、あらかじめ黒体放射軸とＷＢ係数との関係を算出しておき、ＷＢ係数から色温度の算出を行う。
【００６３】
図１１に示したグラフａ）および表ｂ）は、黒体放射軸（以降、白軸と称する）であり、色温度とＣｘＣｙ値との関係を示したものである。あらかじめ黒体放射軸上の既知の色温度光源にてカメラで画像データを取得し、ＣｘＣｙを算出することで色温度とＣｘＣｙ値との対応関係を明確にすることができる。もちろん色温度方向だけではなく、前述の白色蛍光灯のグリーン方向やマゼンタ方向の光源に対しても同様にＣｘＣｙ値との対応関係を明確にすることが可能である。
【００６４】
また、前述したストロボの発光色温度に対応したＣｘＣｙ値も取得しておくことで、ストロボの発光色温度がわかれば、そのストロボ光源に対するＷＢ補正値を算出が可能である。また顔領域によるＷＢ係数の算出方法は、特許５４１４２１６に詳しく開示されているためここでの説明は省略する。
【００６５】
また空領域においては、青味が強いため色温度が高いと判定される。空領域の色温度値をあらかじめ決定しておいてもよいし、被写体輝度（以下Ｂｖ値と記す）やブロック平均値に応じて色温度を決定しておいてもよい。後者の場合、ブロックごとのＣｘＣｙ値は加算平均され、図１１ｃ）のようにＢｖ値に応じて所定の範囲でクリップを実施することで色温度を決定してもよい。
【００６６】
＜第１の諧調補正量算出方法＞
図４は第１の階調補正量算出処理を示している。なお、図４の処理は、システム制御部１０７が、不揮発性メモリに格納されたプログラムを、揮発性メモリのワークエリアに展開し、各部を制御することにより実現される。
【００６７】
Ｓ４０１では、画像処理部１０４は、領域毎に算出した代表輝度値を用いて領域間の輝度段差を算出する。輝度段差の算出方法については、図１０（ａ）のように、Ｓ６０４の処理において露光量をゲイン量と置き換えれば良い。Ｓ４０２では、画像処理部１０４は、主被写体の出力輝度値を算出する。主被写体の出力輝度値とは、Ｓ６０５と同様に、最終的に出力したい主被写体領域の輝度値である。また、本実施形態では、前述と同様に人物の顔領域を主被写体領域とし、算出方法はＳ６０５の処理と同様である。
【００６８】
Ｓ４０３では、画像処理部１０４は、Ｓ４０１で算出した領域間の輝度段差と、Ｓ４０２で算出した主被写体の出力輝度値を入力情報として、各領域の第１の階調補正量を算出する。なお、第１の階調補正量とは、本実施形態では一律ゲイン量のことを示しており、対象の領域毎にかけたい一律ゲイン量を算出する。領域毎の階調補正量の算出方法については、図１０（ｂ）に示すように、Ｓ６０６において露光量を階調補正量に置き換えれば良い。
【００６９】
各領域の第１の階調補正量の算出方法は、人物の顔領域のゲイン量、背景領域のゲイン量、空領域のゲイン量をそれぞれ、ＧＡＩＮ＿ＨＵＭＡＮ、ＧＡＩＮ＿ＢＡＣＫ、ＧＡＩＮ＿ＳＫＹとすると、式４により算出される。なお、ＨＵＭＡＮ＿Ｙは人物の顔領域の代表輝度値、ＨＵＭＡＮ＿ＯＵＴ＿Ｙは主被写体である人物の顔領域の出力輝度値であり、ΔＨＢは人物の顔領域と背景領域間の輝度段差、ΔＨＳは人物の顔領域と空領域間の輝度段差である。
【００７０】
ＧＡＩＮ＿ＨＵＭＡＮ＝ＬＯＧ２（ＨＵＭＡＮ＿ＯＵＴ＿Ｙ／ＨＵＭＡＮ＿Ｙ）
ＧＡＩＮ＿ＢＡＣＫ＝ＧＡＩＮ＿ＨＵＭＡＮ−ΔＨＢ／２
ＧＡＩＮ＿ＳＫＹ＝ＧＡＩＮ＿ＨＵＭＡＮ−ΔＨＳ／２
・・・（９）
【００７１】
本実施形態では、０段未満のゲイン量では行わないため、式７でＧＡＩＮ＿ＨＵＭＡＮ、ＧＡＩＮ＿ＢＡＣＫ、ＧＡＩＮ＿ＳＫＹを算出した後、ＧＡＩＮ＿ＨＵＭＡＮ、ＧＡＩＮ＿ＢＡＣＫ、ＧＡＩＮ＿ＳＫＹに負の値になっているものがあれば、０にクリップする。領域毎の第１の階調補正量を入出力特性で表すと、図１２のようになる。入力信号をＸ、出力信号をＹとすると、各領域で実現したい入出力特性は、式１０により得られる。
【００７２】
人物の顔領域の入出力特性       ：Ｙ＝２（ＧＡＩＮ＿ＨＵＭＡＮ）×Ｘ
背景領域の入出力特性    ：Ｙ＝２（ＧＡＩＮ＿ＢＡＣＫ）×Ｘ        ・・・（１０）
空領域の入出力特性             ：Ｙ＝２（ＧＡＩＮ＿ＳＫＹ）×Ｘ
各領域の入出力特性が、それぞれ領域毎に適用する階調特性である。各領域の入出力特性の傾きが、各領域で実現したいコントラストであり、出力信号が各領域で実現したい明るさを示している。
【００７３】
＜第２の諧調補正量算出方法＞
次に、Ｓ７０８における第２の諧調補正量算出方法について説明を行う。Ｓ７０８では、画像処理部１０４は、Ｓ７０５で算出した領域毎に算出した第１の階調補正量と、Ｓ７０６で算出した色温度差分およびＳ７０７で算出した隣接判定結果を入力して、第２の階調補正量を算出する。なお、人物の顔領域のゲイン量、背景領域のゲイン量、空領域のゲイン量をそれぞれ、ＧＡＩＮ＿ＨＵＭＡＮ＿２、ＧＡＩＮ＿ＢＡＣＫ＿２、ＧＡＩＮ＿ＳＫＹ＿２とする。
【００７４】
図１９は、本実施例における、第２の諧調補正量算出手段のフローを示したフローチャートである。Ｓ９０１は、人物領域と背景領域が隣接しているか否かの判定を行う。隣接している場合、Ｓ９０２は人物領域と背景領域の色温度差分が所定の値以上大きいか判定を行う。Ｓ９０３は、顔領域が大きいか否かの判定を行う。
【００７５】
Ｓ９０４において、Ｓ９０１−Ｓ９０３において色温度差分が大きく顔の大きさがあらかじめ設定した所定の値以上の場合には、
ＧＡＩＮ＿ＨＵＭＡＮ＿２＝ＧＡＩＮ＿ＨＵＭＡＮ
ＧＡＩＮ＿ＢＡＣＫ＿２  ＝ＧＡＩＮ＿ＨＵＭＡＮ             ・・・（１１）
に設定をする。
【００７６】
Ｓ９０５において、色温度差分が大きく、顔の大きさがあらかじめ設定した所定の値以下の場合には、
ＧＡＩＮ＿ＨＵＭＡＮ＿２＝ＧＡＩＮ＿ＢＡＣＫ
ＧＡＩＮ＿ＢＡＣＫ＿２  ＝ＧＡＩＮ＿ＢＡＣＫ ・・・（１２）
と設定を行う。
【００７７】
Ｓ９０１およびＳ９０２において、色温度差分が小さいまたは隣接領域がない場合には
ＧＡＩＮ＿ＨＵＭＡＮ＿２＝ＧＡＩＮ＿ＨＵＭＡＮ
ＧＡＩＮ＿ＢＡＣＫ＿２  ＝ＧＡＩＮ＿ＢＡＣＫ ・・・（１３）
と設定を行う。
【００７８】
またＳ９０１−Ｓ９０５のステップは下記の式で代用することも可能である。隣接の程度が所定の範囲で高くなるほど大きい値に決定される隣接度合い補間係数α［０−１］、色温度差分が所定の範囲まで大きくなるほど大きい値に決定される色温度差分線形補間係数β［０−１］、顔の大きさが所定の範囲で大きくなるほど大きい値に決定される顔サイズ線形補間係数をγ［０−１］として、人物用、背景用のゲインを下記のとおり決定してもよい。
【００７９】
ＧＡＩＮ＿ＨＵＭＡＮ＿２＝
α×β×（γ×ＧＡＩＮ＿ＨＵＭＡＮ＋（１−γ）×ＧＡＩＮ＿ＢＡＣＫ））＋
（１−α×β）×（ＧＡＩＮ＿ＨＵＭＡＮ）
ＧＡＩＮ＿ＢＡＣＫ＿２＝
α×β×（γ×ＧＡＩＮ＿ＨＵＭＡＮ＋（１−γ）×ＧＡＩＮ＿ＢＡＣＫ））＋
（１−α×β）×（ＧＡＩＮ＿ＢＡＣＫ）        ・・・（１４）
【００８０】
図２１は、顔サイズ・隣接ブロック、色温度差分による線形補間係数の例である。Ｓ９０６では背景領域と空領域が隣接しているか判定を行う。Ｓ９０７では背景領域と空領域の色温度の差分が大きいかの判定を行う、Ｓ９０８では、色温度差分が大きく、かつ隣接している場合には、空領域のゲイン量を背景領域のゲイン量と同じ設定にする。
【００８１】
ＧＡＩＮ＿ＳＫＹ＿２＝ＧＡＩＮ＿ＢＡＣＫ＿２ ・・・（１５）
もちろん式１４と同様に、隣接の程度が所定の範囲で高くなるほど大きい値に決定される隣接度合い補間係数α［０−１］、色温度差分が所定の範囲まで大きくなるほど大きい値に決定される色温度差分線形補間係数β［０−１］として、空領域用のゲインを下記のとおり決定してもよい。
【００８２】
ＧＡＩＮ＿ＳＫＹ＿２＝
α×β×（ＧＡＩＮ＿ＳＫＹ＿２）＋（１−α×β）×（ＧＡＩＮ＿ＢＡＣＫ）
・・・（１６）
また、入力信号をＸ、出力信号をＹとすると、各領域で実現したい入出力特性は、式１７により得られる。
【００８３】
人物の顔領域の入出力特性       ：Ｙ＝２（ＧＡＩＮ＿ＨＵＭＡＮ＿２）×Ｘ
背景領域の入出力特性    ：Ｙ＝２（ＧＡＩＮ＿ＢＡＣＫ＿２）×Ｘ    ・・・（１７）
空領域の入出力特性             ：Ｙ＝２（ＧＡＩＮ＿ＳＫＹ＿２）×Ｘ
【００８４】
＜諧調特性算出方法＞
次に、Ｓ７０９における諧調特性算出方法について説明を行う。図８を参照して、階調特性算出部２０４による階調特性算出処理に関し、領域毎の入出力特性を参考にして、画面一様に適用する階調特性を作成する処理について説明する。Ｓ８０４では、階調特性算出部２０４は、領域毎の輝度のヒストグラムを用いて、Ｓ７０８で算出した領域毎の第２の階調補正量を適用する入力信号の範囲を決定する。
【００８５】
図１５に示した３つの入出力特性は、式１７で示した各領域で実現したい入出力特性である。入出力特性の横軸のＨＵＭＡＮ＿ＰＯＩＮＴ、ＢＡＣＫ＿ＰＯＩＮＴ、ＳＫＹ＿ＰＯＩＮＴが各領域の入出力特性を適用する入力信号の範囲を決定する指標となる。０からＨＵＭＡＮ＿ＰＯＩＮＴまでの入力信号の範囲を（１）、０からＢＡＣＫ＿ＰＯＩＮＴまでの入力信号の範囲を（２）、ＳＫＹ＿ＰＯＩＮＴから入力信号で表現できる最大値までの入力信号の範囲を（３）として示している。（１）は人物の顔領域の入出力特性を適用したい入力信号の範囲、（２）は背景領域の入出力特性を適用したい入力信号の範囲、（３）は空領域の入出力特性を適用したい入力信号の範囲をそれぞれ示している。
【００８６】
ＨＵＭＡＮ＿ＰＯＩＮＴ、ＢＡＣＫ＿ＰＯＩＮＴ、ＳＫＹ＿ＰＯＩＮＴの算出方法について、図１３を用いて説明する。ＨＵＭＡＮ＿ＰＯＩＮＴ、ＢＡＣＫ＿ＰＯＩＮＴ、ＳＫＹ＿ＰＯＩＮＴの算出は、図１３（ａ）のように領域毎に算出した輝度のヒストグラムを用いる。ＨＵＭＡＮ＿ＰＯＩＮＴの算出は、人物の顔領域の輝度のヒストグラムを用い、ＢＡＣＫ＿ＰＯＩＮＴの算出は、背景領域の輝度のヒストグラム、ＳＫＹ＿ＰＯＩＮＴ算出は、空領域の輝度ヒストグラムをそれぞれ用いる。
【００８７】
各領域の輝度のヒストグラムを用いた、ＨＵＭＡＮ＿ＰＯＩＮＴ、ＢＡＣＫ＿ＰＯＩＮＴ、ＳＫＹ＿ＰＯＩＮＴの算出方法を例示しているのが図１３（ｂ）である。まず、ＨＵＭＡＮ＿ＰＯＩＮＴの算出について説明する。
【００８８】
本実施形態では、人物の顔領域の輝度のヒストグラムに対し、最小の信号値から徐々に大きい信号値にかけて、頻数を加算していく。そして、加算値が所定の閾値以上になった時点で最後に頻数を加算した入力信号の値をＨＵＭＡＮ＿ＰＯＩＮＴとする。なお、閾値をＨＵＭＡＮ＿ＴＨとすると、式１８により算出することができる。
【００８９】
ＨＵＭＡＮ＿ＴＨ＝ＨＵＭＡＮ＿ＡＲＥＡＳＵＭ×Ｐ＿ＨＵＭＡＮ  ・・・（１８）
（ただし、０．０＜Ｐ＿ＨＵＭＡＮ≦１．０）
ＨＵＭＡＮ＿ＡＲＥＡＳＵＭは人物の顔領域と認識された画素の総数、Ｐ＿ＨＵＭＡＮは調整パラメータである。式１８に示すように、頻数の加算値が、人物の顔領域の画素の総数に対し、所定の閾値（％）に達したかでＨＵＭＡＮ＿ＰＯＩＮＴを決定している。
【００９０】
次に、ＢＡＣＫ＿ＰＯＩＮＴの算出について説明する。本実施形態では、ＨＵＭＡＮ＿ＰＯＩＮＴと同様に、背景領域の輝度のヒストグラムに対し、最小の信号値から徐々に大きい信号値にかけて、頻数を加算していく。そして、加算値が所定の閾値以上になった時点で最後に頻数を加算した入力信号の値をＢＡＣＫ＿ＰＯＩＮＴとする。閾値はＨＵＭＡＮ＿ＴＨと同様の方法で設定する。
【００９１】
最後に、ＳＫＹ＿ＰＯＩＮＴの算出について説明する。本実施形態では、ＨＵＭＡＮ＿ＰＯＩＮＴやＢＡＣＫ＿ＰＯＩＮＴとは反対に、空領域の輝度ヒストグラムに対し、空領域と認識された画素の総数から最小の信号値から徐々に大きい信号値にかけて、頻数を減算していく。そして、減算値が所定の閾値以下になった時点で、最後に頻数を減算した入力信号の値をＳＫＹ＿ＰＯＩＮＴとする。閾値はＨＵＭＡＮ＿ＴＨと同様の方法で設定する。
【００９２】
このように、高輝度被写体である空領域、中間輝度被写体及び低輝度被写体である背景領域、人物の顔領域で、それぞれ算出方法が異なる。本実施形態では、空領域が最も明るく、人物の顔領域が最も暗いシーンについて説明したが、背景領域が最も高輝度被写体である場合はＳＫＹ＿ＰＯＩＮＴと同じ算出方法を用い、空領域が中間輝度被写体である場合はＢＡＣＫ＿ＰＯＩＮＴと同じ算出方法を用いる。
【００９３】
Ｓ８０５とＳ８０６では、階調特性算出部２０４は、それぞれ別々の特徴を持った階調特性を作成する。Ｓ８０５およびＳ８０６は、Ｓ７０８で算出した領域毎の第２の階調補正量ＨＵＭＡＮ＿ＧＡＩＮ＿２、ＢＡＣＫ＿ＧＡＩＮ＿２、ＳＫＹ＿ＧＡＩＮ＿２と、Ｓ８０４で算出した領域毎の階調補正量を適用する範囲の指標となるＨＵＭＡＮ＿ＰＯＩＮＴ、ＢＡＣＫ＿ＰＯＩＮＴ、ＳＫＹ＿ＰＯＩＮＴを用いて、階調特性を作成する。
【００９４】
本実施形態では、別々の特徴を持った複数（２種類）の階調特性を作成し、作成した２つの階調特性を加重加算することにより最終的な階調特性の算出を行う。
【００９５】
図１４（ａ）に示す３つの入出力特性は、式１７で示した各領域で実現したい入出力特性である。入出力特性の横軸のＨＵＭＡＮ＿ＰＯＩＮＴ、ＢＡＣＫ＿ＰＯＩＮＴ、ＳＫＹ＿ＰＯＩＮＴが各領域の入出力特性を適用する入力信号の範囲を決定する指標である。図１４（ａ）に対し、本実施形態では、図１４（ｂ）に示したダイナミックレンジ優先と呼ぶ階調特性と、図１４（ｃ）に示したコントラスト優先と呼ぶ階調特性の２種類を作成する。
【００９６】
Ｓ８０５とＳ８０６で作成する２種類の階調特性について、図１４を用いて詳細に説明する。まず、図１４（ｂ）に示したダイナミックレンジ優先の階調特性について説明する。ダイナミックレンジ優先の階調特性の特徴は、図１４（ａ）に示した人物の顔領域の入出力特性と、空領域の入出力特性の２つを取り入れている点である。図１４（ａ）の特性に対し、人物の顔領域と、空領域の明るさとコントラストを実現する点が長所である。
【００９７】
入力信号の０からＨＵＭＡＮ＿ＰＯＩＮＴまでの低輝度側の区間は人物の顔領域の入出力特性になっており、反対に、ＳＫＹ＿ＰＯＩＮＴから入力信号で表現できる最大値までの高輝度側の区間は空領域の入出力特性となっている。ＨＵＭＡＮ＿ＰＯＩＮＴからＳＫＹ＿ＰＯＩＮＴまでの中間輝度に位置する区間は、低輝度側の人物の顔領域の入出力特性と、高輝度側の空領域の入出力特性をつなげる形となっている。入力信号をＸ、出力信号をＹとすると、ダイナミックレンジ優先の階調は、式１９で表される。
【００９８】
Ｙ＝２（ＧＡＩＮ＿ＨＵＭＡＮ＿２）×Ｘ       （０≦Ｘ＜ＨＵＭＡＮ＿ＰＯＩＮＴ）
Ｙ＝（２（ＧＡＩＮ＿ＳＫＹ＿２）×ＳＫＹ＿ＰＯＩＮＴ−２（ＧＡＩＮ＿ＨＵＭＡＮ＿２）×ＨＵＭＡＮ＿ＰＯＩＮＴ）×Ｘ／（ＳＫＹ＿ＰＯＩＮＴ−ＨＵＭＡＮ＿ＰＯＩＮＴ）＋２（ＧＡＩＮ＿ＨＵＭＡＮ）×ＨＵＭＡＮ＿ＰＯＩＮＴ      （ＨＵＭＡＮ＿ＰＯＩＮＴ≦Ｘ＜ＳＫＹ＿ＰＯＩＮＴ）
Ｙ＝２（ＧＡＩＮ＿ＳＫＹ＿２）×Ｘ    （ＳＫＹ＿ＰＯＩＮＴ≦Ｘ）
・・・（１９）
本実施形態では、高輝度側を飽和させるような入出力特性にしているが、図１４（ｂ）の点線かつ曲線の部分のように、高輝度側をできるだけ飽和させないような入出力特性にしても良い。なお、本実施形態は折れ線で入出力特性を作成しているが、折れ線を近似した曲線で入出力特性を作成しても良い。ダイナミックレンジ優先の階調特性はＳ８０５で作成される。
【００９９】
次に、図１４（ｃ）に示したコントラスト優先の階調特性について説明を行う。コントラスト優先の階調特性の特徴は、図１４（ａ）に記載した人物の顔領域の入出力特性に加え、背景領域及び空領域の入出力特性の傾きのみを取り入れている点である。図１４（ａ）の特性に対し、人物の顔領域は明るさとコントラスト、背景領域及び空領域はコントラストを実現する点が長所である。
【０１００】
入力信号のうち、０からＨＵＭＡＮ＿ＰＯＩＮＴまでの区間は人物の顔領域の入出力特性になっている点では、ダイナミックレンジ優先の階調特性と同等である。ＨＵＭＡＮ＿ＰＯＩＮＴからＢＡＣＫ＿ＰＯＩＮＴの区間では背景領域の入出力特性のうち傾きのみを実現した特性となり、ＢＡＣＫ＿ＰＯＩＮＴから入力信号で表現できる最大値までの区間は、空領域の入出力特性のうち傾きのみ実現した特性となっている。入力信号をＸ、出力信号をＹとすると、コントラスト優先の階調は、式２０で表される。
【０１０１】
Ｙ＝２（ＧＡＩＮ＿ＨＵＭＡＮ＿２）×Ｘ         （０≦Ｘ＜ＨＵＭＡＮ＿ＰＯＩＮＴ）
Ｙ＝２（ＧＡＩＮ＿ＢＡＣＫ＿２）×Ｘ＋２（ＧＡＩＮ＿ＨＵＭＡＮ＿２）×ＨＵＭＡＮ＿ＰＯＩＮＴ
（ＨＵＭＡＮ＿ＰＯＩＮＴ≦Ｘ＜ＢＡＣＫ＿ＰＯＩＮＴ）
Ｙ＝２（ＧＡＩＮ＿ＳＫＹ＿２）×Ｘ＋２（ＧＡＩＮ＿ＢＡＣＫ＿２）×（ＢＡＣＫ＿ＰＯＩＮＴ−ＨＵＭＡＮ＿ＰＯＩＮＴ）＋２（ＧＡＩＮ＿ＨＵＭＡＮ＿２）×ＨＵＭＡＮ＿ＰＯＩＮＴ
（ＢＡＣＫ＿ＰＯＩＮＴ≦Ｘ）
・・・（２０）
【０１０２】
本実施形態では、高輝度側を飽和させるような入出力特性にしているが、図１４（ｃ）の点線かつ曲線の部分のように、高輝度側をできるだけ飽和させないような入出力特性にしても良い。なお、本実施形態は折れ線で入出力特性を作成しているが、折れ線を近似した曲線で入出力特性を作成しても良い。コントラスト優先の階調特性はＳ８０６で作成される。
【０１０３】
以上、ダイナミックレンジ優先とコントラスト優先の２種類の階調特性について説明したが、２種類の階調特性の共通点としては、人物の顔領域の入出力特性についてはどちらも実現する点である。この理由としては、本実施形態で人物シーンにおいて人物の顔領域は主被写体領域であるため、階調特性として最優先に決定する必要があるからである。
【０１０４】
また、２つの階調特性の作成方法は領域が２つしかない場合にも同様である。例えば、人物と高輝度被写体である空しかいないシーンの場合は、図１４の２つの階調特性に対し、ＢＡＣＫ＿ＰＯＩＮＴ、ＢＡＣＫ＿ＧＡＩＮをそれぞれＳＫＹ＿ＰＯＩＮＴ、ＳＫＹ＿ＧＡＩＮに置き換える。
【０１０５】
以上、Ｓ８０５とＳ８０６の処理によって、ダイナミックレンジ優先とコントラスト優先の２種類の優先度に応じた階調特性が作成される。作成された２種類の階調特性をＳ８０７で加重加算することにより撮影された画像の階調特性を決定する。
【０１０６】
ここで、図１６を参照してＳ８０７での階調特性の決定処理について詳細に説明する。ダイナミックレンジ優先とコントラスト優先の２種類の優先度に応じて階調特性を加重加算する方法として、本実施形態ではＳ８０１で算出した領域間の輝度段差を用いる（加重加算係数算出処理）。中間輝度に位置する被写体である背景領域を基準に、人物の顔領域と背景領域の輝度段差ΔＨＢ、背景領域と空領域の輝度段差ΔＢＳを２種類の階調特性の加重加算係数として用いる。
【０１０７】
階調特性の入力信号をＸ、出力信号をＹとしてダイナミックレンジ優先の階調特性とコントラスト優先の階調特性を、式２１のように、それぞれＤｒａｎｇｅ関数、Ｃｏｎｔｒａｓｔ関数で表すとする。
【０１０８】
Ｙ＝Ｄｒａｎｇｅ（Ｘ）
Ｙ＝Ｃｏｎｔｒａｓｔ（Ｘ）                                 ・・・（２１）
【０１０９】
式２１に対し、加重加算した後の階調特性、つまり撮影された画像の階調特性をＭＩＸ＿ＯＵＴ関数で表すと、式１５のようになる。
【０１１０】
Ｙ＝ＭＩＸ＿ＯＵＴ（Ｘ）
＝（ΔＨＢ×Ｄｒａｎｇｅ（Ｘ）＋ΔＢＳ×Ｃｏｎｔｒａｓｔ（Ｘ））／（ΔＨＢ＋ΔＢＳ）                                           ・・・（２２）
式２２のように、人物の顔領域と背景領域の輝度段差ΔＨＢ、背景領域と空領域の輝度段差ΔＢＳをそれぞれダイナミックレンジ優先、コントラスト優先の加重加算係数として用いている。
【０１１１】
人物の顔領域と背景領域の輝度段差ΔＨＢ、背景領域と空領域の輝度段差ΔＢＳを加重加算に用いることにより得られる効果について図１６を用いて詳細に説明する。
【０１１２】
図１６（ａ）に示した３つの入出力特性は、式１７で示した各領域で実現したい入出力特性である。図１６（ａ）の３つの入出力特性は、領域間の輝度段差を用いて決定される。撮影したシーンに応じては領域間の輝度段差は変わるため、各領域で実現したい入出力特性もシーンに応じて変わる。図１６（ｂ）の左側に示したのは、人物の顔領域と背景領域の輝度段差ΔＨＢに対して、背景領域と空領域の輝度段差ΔＢＳが極端に小さいシーンにおいて、各領域で実現したい入出力特性である。式７により各領域で実現したい入出力特性の傾きが決まるため、背景領域の入出力特性は空領域の入出力特性に近づく傾向にある。
【０１１３】
上記の場合、図１６（ｂ）の右側に示したダイナミックレンジ優先の階調特性を階調処理に利用した方が背景領域の入出力特性を実現しやすい傾向にある。この理由は、輝度段差ΔＢＳが極端に小さい場合、ＳＫＹ＿ＰＯＩＮＴ周辺やそれ以降に背景領域の入力信号が多く分布する傾向となり、ＳＫＹ＿ＰＯＩＮＴ以降のダイナミックレンジ優先の階調特性に背景領域の多くの入力信号があてはまるためである。
【０１１４】
また、図１６（ｂ）とは反対に、図１６（ｃ）の左側に示したのは、人物の顔領域と背景領域の輝度段差ΔＨＢに対し、背景領域と空領域の輝度段差ΔＢＳが極端に大きいシーンにおいて、各領域で実現したい入出力特性である。式１７により各領域で実現したい入出力特性の傾きが決まるため、背景領域の入出力特性は人物の顔領域の入出力特性に近づく傾向にある。
【０１１５】
上記の場合、図１６（ｃ）の右側に示したコントラスト優先の階調特性を階調処理に利用した方が背景領域の実現したい入出力特性を実現しやすい傾向にある。輝度段差ΔＨＢに対し、輝度段差ΔＢＳが極端に大きい場合には、ＨＵＭＡＮ＿ＰＯＩＮＴ周辺からＢＡＣＫ＿ＰＯＩＮＴにかけて背景領域の入力信号が多く分布する傾向にあり、かつ人物の顔領域と背景領域の入出力特性は近い傾きとなる。これにより、ＢＡＣＫ＿ＰＯＩＮＴ以下のコントラスト優先の階調特性に対し、背景領域で実現したい入出力特性が近づく傾向になる。
【０１１６】
式１７のように、人物の顔領域と背景領域の輝度段差ΔＨＢ、背景領域と空領域の輝度段差ΔＢＳを加重加算に用いることにより３つの領域の実現したい入出力特性を用いて、撮影された画像に最適な階調特性を効率的に作成することができる。
【０１１７】
本実施形態では、式２２から領域間の輝度段差を用いて、撮影された画像の階調特性を作成したが、式２３のように、加重加算係数をα、βとして、別の情報を用いて実現しても良い。領域間の面積の比率や、領域間の輝度段差に応じた値、また、シーンによらない固定値を与えても良い。
【０１１８】
Ｙ＝ＭＩＸ＿ＯＵＴ（Ｘ）
＝（α×Ｄｒａｎｇｅ（Ｘ）＋β×Ｃｏｎｔｒａｓｔ（Ｘ））／（α＋β）
・・・（２３）
【０１１９】
例えば、背景領域の存在する面積が、空領域に比べて少ないシーンにおいては、空領域をより実現したい明るさ、コントラストに近づけた方が画像の見栄えが良い場合がある。反対に、空領域の存在する面積が、背景領域に比べ少ないシーンにおいて、背景領域を実現したいコントラストに近づけた方が画像の見栄えが良い場合がある。このような理由から、αを空領域の占める総画素数、βを背景領域の占める総画素数として、式２３を適用して階調特性を作成しても良い。
【０１２０】
また、被写体が２つしか存在しないシーンの場合には、領域間の輝度段差の値に応じて加重加算係数を算出し、２つの階調特性を加重加算した方が良い。この理由として、例えば人物と空のみのシーンであった場合、領域間の輝度段差が元々小さいシーンでは、広ダイナミックレンジよりも高コントラストを優先した方が画像の見栄えが良いからである。また、領域間の輝度段差が元々大きいシーンでは、コントラストよりもダイナミックレンジを優先した方が、画像の見栄えが良いからである。よって、式１６の加重加算係数α、βを、式１７によって算出する。Δは２つの領域間の輝度段差である。例えば、人物と空のみのシーンである場合は、人物の顔領域と空領域の輝度段差ΔＨＳの値が、Δの値となる。閾値ＴＨ１、ＴＨ２は、調整パラメータである。
【０１２１】
α＝０．０、β＝１．０  （ＴＨ１≧Δ）
α＝１．０／（ＴＨ２−ＴＨ１）×（Δ−ＴＨ１）、β＝１．０−α    
（ＴＨ１≦Δ＜ＴＨ２）
α＝１．０、β＝０．０  （Δ≦ＴＨ２）                     ・・・（２４）
【０１２２】
以上のように、式２４の加重加算係数α、βは、本実施形態のやり方にとどまらず、様々な情報を用いて算出して良い。
【０１２３】
上述した実施形態においては、本発明をデジタルビデオカメラなどの撮像装置に適用した場合を例にして説明したが、これに限られず、領域の情報を用いて階調処理を行う装置であれば、他の装置にも適用可能である。
【０１２４】
なお、本発明は、以下の処理を実行することによっても実現される。即ち、本実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵなど）がプログラムを読み出して実行する処理である。
【０１２５】
[実施例２]
続いて第２の実施例について説明する。第２実施例においては、本露光撮影時にストロボ発光した場合について説明を行う。本実施例において、第２の画像認識領域はストロボ照射領域である。
【０１２６】
図２１はストロボ照射を伴う本画像撮影時において、ライブ画像と本発光画像の撮影するタイミングチャートである。ライブ画像と本発光の画像から領域ごとに積分を実施し、ライブ画像の積分値に対して露光量や感度の差分演算にて本露光にあわせるように演算をし、本露光とライブ画像の積分値の差分演算を行うことでストロボ照射量を取得できる。
【０１２７】
図２２はライブ画像と本露光画像からストロボ照射量と外光比率を生成するフローを示したブロック図である。
【０１２８】
領域ごと外光ストロボ光比率生成手段４０５でのブロック比率から、ストロボ光が所定の比率を超えた領域をストロボ照射領域とし、所定の値以下の比率で外光ブロック領域として外光ブロックとストロボ領域のブロックのラベリングが可能である。このストロボ照射領域を主被写体領域に、外光領域を非主被写体領域の第２の画像認識領域の設定を行う。
【０１２９】
ストロボ領域の色温度算出手段は、第１実施例と同様にストロボ領域から色味の検出を行い色温度の検出を行う方法のほか、外光量域とストロボ領域の光量比および、ストロボの色温度とライブ撮影時の外光色温度から該当ブロックの色温度の差分を算出しても良い。また色温度差分算出手段は、隣接ブロック間の色温度差分を算出し、その色温度差分の最大値、平均値、中央値などを色温度差分値と設定してもよい。
【符号の説明】
【０１３０】
１０１  光学系、１０２  撮像部、１０３  Ａ／Ｄ変換部、１０４  画像処理部
【図１】
2019040382.tif 000003
【図２】
2019040382.tif 000004
【図３】
2019040382.tif 000005
【図４】
2019040382.tif 000006
【図５】
2019040382.tif 000007
【図６】
2019040382.tif 000008
【図７】
2019040382.tif 000009
【図８】
2019040382.tif 000010
【図９】
2019040382.tif 000011
【図１０】
2019040382.tif 000012
【図１１】
2019040382.tif 000013
【図１２】
2019040382.tif 000014
【図１３】
2019040382.tif 000015
【図１４】
2019040382.tif 000016
【図１５】
2019040382.tif 000017
【図１６】
2019040382.tif 000018
【図１７】
2019040382.tif 000019
【図１８】
2019040382.tif 000020
【図１９】
2019040382.tif 000021
【図２０】
2019040382.tif 000022
【図２１】
2019040382.tif 000023
【図２２】
2019040382.tif 000024