説明

画像処理装置、画像処理方法及びプログラム

【課題】領域毎に最適なホワイトバランス制御を可能とする。
【解決手段】外光画像色味情報取得部722は、ストロボ非発光時に撮影された画像データを複数の領域に分割し、前記複数の領域毎に色味評価値を算出する。本露光画像色味補正部721は、ストロボ発光時に撮影された画像データを前記複数の領域に分割し、前記複数の領域毎に色味評価値を算出する。動き量推定部723は、外光画像色味情報取得部722により算出された色味評価値と本露光画像色味補正部721により算出された色味評価値との差分に基づいて、複数の領域毎に動き判定を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像データに対するホワイトバランス制御技術に関するものである。
【背景技術】
【0002】
デジタルカメラやデジタルビデオカメラ等の、撮像素子を用いる撮像装置においては、撮影によって得られた画像データの色調を調整するホワイトバランス制御機能を備えている。ホワイトバランス制御には、マニュアルホワイトバランス制御とオートホワイトバランス制御とがある。マニュアルホワイトバランス制御は、予め白色被写体を撮像してホワイトバランス係数を算出しておき、算出したホワイトバランス係数を画面全体に適用する。オートホワイトバランス制御は、撮影した画像データから白色と思われる部分を自動検出し、画面全体の各色成分の平均値からホワイトバランス係数を算出し、算出したホワイトバランス係数を画面全体に適用する。
【0003】
従来のオートホワイトバランス制御においては、ストロボ発光シーンにおいて画像データ内にストロボ光と異なる光源が存在する場合、上記のように算出されたホワイトバランス係数を画面全体に適用してホワイトバランス制御を行う。そのため、各光源をともに適正な色味とするホワイトバランス制御を行うことが困難であった。例えば、ストロボ発光シーンで環境光に電球色光源のような低色温度光源が存在する場合、ストロボ光が高色温度光源であるため、ストロボ光にホワイトバランスを合わせると低色温度光源にホワイトバランスが合わなくなってしまう。一方、低色温度光源にホワイトバランスを合わせた場合には、ストロボ光にホワイトバランスが合わなくなってしまう。また、両方の光源の中間にホワイトバランスを合わせてホワイトバランス制御を行ったとしても、両方の光源にホワイトバランスが合わず、ストロボ光で照射されている領域は青みを帯び、低色温度光源で照射されている領域は赤味を帯びるような色味となってしまう。
【0004】
これに対し、特許文献1には次のような技術が開示されている。即ち、特許文献1に開示される技術は、ストロボ発光時に撮影された画像データとストロボ非発光時に撮影された画像データとを、任意の被写体領域毎に比較してデータの比を求め、その比の値によりストロボ光の寄与度を判定する。そして、判定した寄与度に応じてストロボ発光し、露光させたときの画像データに対して被写体領域毎にホワイトバランス制御値を選択して、ホワイトバランス制御を行う。
【0005】
特許文献2には次のような技術が開示されている。即ち、特許文献2に開示される技術は、ストロボ発光時に撮影された画像データとストロボ非発光時に撮影された画像データとからストロボ発光成分を抽出する。そして、それぞれのストロボ発光成分に基づいてホワイトバランス制御を切り替える際に、被写体のぶれ領域を検出し、被写体の非ぶれ領域のホワイトバランス係数と被写体のぶれ領域のホワイトバランス係数とを補間により算出して画像データに適応する。その際、被写体のぶれを検出するために、画像データの高周波成分が検出される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特許第3540485号公報
【特許文献2】特許第4389671号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、特許文献1に開示される技術では、ストロボ非発光時に撮影された画像データとストロボ発光時に撮影された画像データとの差分をとることにより、ストロボ照射量を推定し、そのストロボ照射量に応じたホワイトバランス制御を行う必要がある。しかしながら、被写体が動いている場合、ストロボ照射量を正確に求めることができなくなり、間違ったホワイトバランス制御を行うことにより、まだら模様のような画像データが生成され、良好な画像データを取得することが難しい。
【0008】
特許文献2に開示される技術では、ぶれ領域の検出に高周波成分を検出するという手法を採用している。しかしながら、特許文献2に開示される技術は、画像データ中における画像の高周波成分であるか、被写体ぶれや手ぶれによる高周波成分であるかを区別することができないため、最適なホワイトバランス制御を行うことができず、良好な画像データの取得が難しい。
【0009】
そこで、本発明の目的は、領域毎に最適なホワイトバランス制御を可能とすることにある。
【課題を解決するための手段】
【0010】
本発明の画像処理装置は、ストロボ非発光時に撮影された画像データを複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第1の評価値算出手段と、ストロボ発光時に撮影された画像データを前記複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第2の評価値算出手段と、前記第1の評価値算出手段により算出された色味評価値と前記第2の評価値算出手段により算出された色味評価値との差分に基づいて、前記複数の領域毎に動き判定を行う動き判定手段とを有することを特徴とする。
【発明の効果】
【0011】
本発明によれば、領域毎に最適なホワイトバランス制御を行うことが可能となる。
【図面の簡単な説明】
【0012】
【図1】本発明の実施形態に係る撮像装置の回路構成を示す図である。
【図2】ストロボ発光時のWB係数である第1のWB係数の算出処理を示すフローチャートである。
【図3】白検出の際に使用されるグラフを示す図である。
【図4】色温度とCxCy値との対応を示す図である。
【図5】撮影制御を時系列に並べて示した図である。
【図6】静止画撮影駆動モードにおけるWB係数とEVF撮影駆動モードにおけるWB係数とを示す図である。
【図7】本発明の実施形態に係る撮像装置の機能的な構成を示す図である。
【図8】ストロボ発光時画像データとストロボ非発光時画像データ間での被写体の動き判定処理を示すフローチャートである。
【図9】ブロック毎の色味評価値の差分の合計値に基づいて動き量を算出する処理について説明するための図である。
【図10】動き量と色温度差分との関係から定まる合成比率の一例を表で示す図である。
【図11】画像合成処理を示すフローチャートである。
【発明を実施するための形態】
【0013】
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。
【0014】
図1は、本発明の実施形態に係る撮像装置の回路構成を示す図である。図1において、101は、CCDやCMOS等からなる固体撮像素子であり、その表面は例えばベイヤー配列のようなRGBカラーフィルタにより覆われ、カラー撮影が可能な構成となっている。なお、本実施形態に係る撮像装置は、画像処理装置の適用例となる構成である。
【0015】
CPU114は、画像データ全体が所定の輝度になるようなシャッタ速度、絞り値を計算するとともに、合焦領域内にある被写体に合焦するようにフォーカスレンズの駆動量を計算する。CPU114によって計算された露出値(シャッタ速度、絞り値)及びフォーカスレンズの駆動量は鏡筒制御回路113に送られ、各値に基づいてそれぞれ鏡筒装置115が制御される。また、ストロボ発光制御の場合も同様に、CPU114がストロボの発光量(以下、ストロボ発光量)を計算し、ストロボ発光装置116を所定の光量で発光させる。
【0016】
103はホワイトバランス制御回路(以下、WB制御回路)であり、メモリ102に記憶された画像データに基づいてホワイトバランス係数(以下、WB係数)を算出し、算出したWB係数を用いて、メモリ102に記憶された画像データに対してWB補正を行う。なお、このWB制御回路103によるWB係数の算出方法の詳細については後述する。
【0017】
104は、WB制御回路103によりWB補正された画像データが最適な色で再現されるように色ゲインをかけて色差信号R−Y、B−Yに変換する色マトリックス回路である。105は、色差信号R−Y、B−Yの帯域を制限するローパスフィルタ(以下、LPF)回路である。106は、LPF回路105で帯域制限された画像データのうち、飽和部分の偽色信号を抑圧するCSUP(Chroma Supress)回路である。一方、WB制御回路103によりWB補正された画像データは輝度信号(Y)生成回路111にも出力されて輝度信号Yが生成され、エッジ強調回路112は、生成された輝度信号Yに対してエッジ強調処理を施す。
【0018】
CSUP回路106から出力される色差信号R−Y、B−Yと、エッジ強調回路112から出力される輝度信号Yとは、RGB変換回路107にてRGB信号に変換され、ガンマ(γ)補正回路108にて階調補正が施される。階調補正が施されたRGB信号は、色輝度変換回路109にてYUV信号に変換され、さらに圧縮回路110にて圧縮されて、外部記録媒体又は内部記録媒体に画像データとして記録される。
【0019】
次に、WB制御回路103におけるWB係数の算出処理について詳細に説明する。先ず、図2のフローチャートを参照しながら、ストロボ発光時のWB係数である第1のWB係数の算出処理について説明する。なお、第1のWB係数は、ストロボ発光時に撮影された画像データ(以下、ストロボ発光時画像データ)より算出される値である。
【0020】
ステップS201において、WB制御回路103は、メモリ102に記憶されたストロボ発光時画像データを読み出し、当該ストロボ発光時画像データを任意のm個のブロックに分割する。ステップS202において、WB制御回路103は、ブロック(1〜m)毎に、画素値を色毎に加算平均して色平均値(R[i],G[i],B[i])を算出し、次の式を用いて色味評価値(Cx[i],Cy[i])を算出する。
Cx[i]=(R[i]−B[i])/Y[i]×1024
Cy[i]=(R[i]+B[i]−2G[i])/Y[i]×1024
但し、Y[i]=(R[i]+2G[i]+B[i])/4
【0021】
WB制御回路103は、図3に示すような座標軸を持つグラフを用いて白検出を行う。x座標(Cx)の負方向が高色温度被写体の白を撮影したときの色味評価値を表し、正方向が低色温度被写体の白を撮影したときの色味評価値を表す。また、y座標(Cy)は光源の緑成分の度合いを意味しており、負方向になるにつれGreen成分が大きくなり、つまり蛍光灯であることを示している。
【0022】
図4は、色温度とCxCy値との対応を示す図である。図4(a)は、色温度とCxCy値との対応をグラフで示しており、図4(b)は、色温度とCxCy値との対応を表で示している。予め黒体放射軸上の既知の色温度の光源を用いてカメラで画像データを取得し、CxCy値を算出することにより、色温度とCxCy値との対応を明確にすることができる。もちろん色温度だけではなく、上述した白色蛍光灯のグレーン方向やマゼンタ方向の光源に対しても同様にCxCy値との対応を明確にすることが可能である。また、ストロボの発光色温度に対応したCxCy値も取得しておくことにより、ストロボの発光色温度がわかれば、当該ストロボに対するCxCy値を算出することが可能である。
【0023】
ステップS203において、WB制御回路103は、ステップS202で算出したi番目のブロックの色味評価値(Cx[i],Cy[i])が、予め設定される白検出範囲(図3の301)に含まれるか否かを判定する。白検出範囲301は、ストロボが既知の光源であるために検出範囲が限定されている。i番目のブロックの色味評価値(Cx[i],Cy[i])が予め設定される白検出範囲301に含まれる場合、処理はステップS204に移行する。一方、i番目のブロックの色味評価値(Cx[i],Cy[i])が予め設定される白検出領域301に含まれない場合、処理はステップS204をスキップして、ステップS205に移行する。
【0024】
ステップS204において、WB制御回路103は、i番目のブロックが白色であると判定して、当該ブロックの色平均値(R[i],G[i],B[i])を積分する。なお、ステップS203、S204の処理は次の式によって表すことができる。
【0025】
【数1】

【0026】
ここで、上記式において、色味評価値(Cx[i],Cy[i])が白検出範囲301に含まれる場合にはSw[i]を1とし、色味評価値(Cx[i],Cy[i])が白検出範囲301に含まれない場合にはSw[i]を0とする。これにより、ステップS203、S204において、色平均値(R[i],G[i],B[i])を積分するか、積分しないかを実質的に行っている。
【0027】
ステップS205において、WB制御回路103は、全てのブロックについて上記処理を行ったか否かを判定する。未処理のブロックが存在する場合、処理はステップS202に戻って上記処理を繰り返す。一方、全てのブロックについて処理を行った場合、処理はステップS206に移行する。
【0028】
ステップS206において、WB制御回路103は、得られた色平均値の積分値(SumR1,SumG1,SumB1)から、次の式を用いて、第1のWB係数(WBCol_R1,SumG1,SumB1)を算出する。
WBCol_R1=SumY1×1024/SumR1
WBCol_G1=SumY1×1024/SumG1
WBCol_B1=SumY1×1024/SumB1
但し、SumY1=(SumR1+2×SumG1+SumB1)/4
なお、第1のWB係数としてストロボ光のWB係数を既知のものとして予め設定してもよい。
【0029】
次に、ストロボ非発光時のWB係数である第2のWB係数の算出処理について説明する。なお、第2のWB係数は、ストロボ非発光時に撮影された画像データ(以下、ストロボ非発光時画像データ)より算出される値である。図5は、撮影制御を時系列に並べて示した図である。図5に示すように、SW1の押下前には、EVF(Electronic View Finder)撮影駆動モードにおいてライブビュー画像データが定期的に撮影され、SW1の押下時には、AFロックとAEロックとが行われる。SW2の押下後には、テスト発光と本露光とが行われるが、テスト発光前の「外光」と表記されている時間に露光され、撮影された画像データを、ここではストロボ非発光時画像データとする。なお、本露光後に露光され、撮影された画像データをストロボ非発光時画像データとしてもよいし、ライブビュー画像データをストロボ非発光時画像データとしてもよい。
【0030】
第2のWB係数の算出処理は、上述した第1のWB係数の算出処理と同様の方法によって行われる。但し、第1のWB係数の算出処理とは、図3の302に示すような外光用の白検出範囲で処理する点で異なる。これはストロボが既知の光源であるのに対し、外光は既知の光源ではないため、ストロボ発光時の白検出範囲301のように限定できないからである。白検出範囲302は、予め異なる光源下で白を撮影し、算出した色味評価値をプロットしたものである。この白検出範囲は撮影駆動モードによって個別に設定できるものとする。第2のWB係数は、撮影駆動モードが異なる場合にも適応でき、例えば、過去に算出されたEVF撮影駆動モードのWB係数を使用することができる。但し、撮影駆動モードにより分光差分が生じる場合、WB制御回路103はWB係数を補正する。図6は、静止画撮影駆動モードにおけるWB係数とEVF撮影駆動モードにおけるWB係数とを示す図である。過去に撮影されたEVF撮影駆動モードのWB係数を用いて、静止画撮影駆動モードのWB係数を算出する場合、図6に示すように、WB制御回路103は、EVF撮影駆動モードのWB係数601(EvfCx,EvfCy)をΔCx、ΔCyだけ補正する。これにより、静止画撮影駆動モードのWB係数602(CapCx,CapCy)が算出される。
【0031】
図7は、本実施形態に係る撮像装置の機能的な構成を示す図である。撮像装置は、撮影指示がなされると、ストロボ非発光時画像データ702とストロボ発光時画像データ700とを保存する。外光WB係数算出処理部707は、ストロボ非発光時画像データ702から外光用WB係数を算出する。第1のWB処理部709aは、外光用WB係数をストロボ発光時画像データ700に対して乗算してWB処理(ホワイトバランス処理)を行う。第1の現像処理部713aは、WB処理後のストロボ発光時画像データ700を現像し、外光用YUV画像データを生成する。なお、外光用WB係数の算出方法は、上述した第2のWB係数の算出方法と同様である。
【0032】
ストロボWB係数算出処理部711は、ストロボ発光量を示す発光量情報710に基づいてストロボ用WB係数を算出する。第2のWB処理部709bは、ストロボ用WB係数をストロボ発光時画像データ700に対して乗算してWB処理を行う。第2の現像処理部713bは、WB処理後のストロボ発光時画像データ700を現像し、ストロボ用YUV画像データを生成する。このとき、第1のWB係数を用いてストロボ発光時画像データ700をWB処理し、ストロボ用YUV画像データを生成するようにしてもよい。
【0033】
リサイズ処理部701は、ストロボ発光時画像データ700をストロボ非発光時画像データ702相当のサイズにリサイズし、リサイズ後のストロボ発光時画像データ700を複数のブロックに分割し、各ブロックの色平均値を積分した積分値を算出する。同様に、リサイズ処理部701は、ストロボ非発光時画像データ702を複数のブロックに分割し、各ブロックの色平均値を積分した積分値を算出する。その際、各ブロックの領域は、ストロボ非発光時画像データ702とストロボ発光時画像データ700とで画角に対して同一の設定とする。露光量演算部703は、本露光時の感度、絞り値、シャッタ速度と、外光時の感度、絞り値、シャッタ速度との関係から、本露光時に設定された露光量と外光時に設定された露光量との差分を計算する。そして露光量演算部703は、ストロボ非照射領域において色平均値の積分値が同一の露光量になるようにストロボ非発光時画像データ702の色平均値の積分値を換算する。領域毎ストロボ発光量演算部704は、ブロック毎にストロボ照射量を演算する。外光画像色味情報取得部722は、ストロボ非発光時画像データ702から色味評価値を算出する。本露光画像色味情報取得部720は、ストロボ発光時画像データ700の色平均値の積分値をリサイズ処理部701から取得する。本露光画像色味補正部721は、本露光画像色味取得部720によって取得されたストロボ発光時画像データ700の色平均値の積分値に対して、ブロック毎のストロボ照射量に応じたWB補正を行い、ストロボ発光時画像データ700の色味評価値を取得する。なお、外光画像色味情報取得部722は、第1の評価値算出手段の適用例となる構成であり、本露光画像色味補正部721は、第2の評価値算出手段の適用例となる構成である。
【0034】
動き量推定部723は、本露光画像色味補正部721によって算出されたストロボ発光時画像データ700の色味評価値と、外光画像色味情報取得部722によって算出されたストロボ非発光時画像データ702の色味評価値との差分を、被写体の動き量として算出する。画像合成比率決定部705は、ストロボ照射量及び被写体の動き量に基づいて、画像データのブロック毎の合成比率を決定する。リサイズ処理部706は、ブロック毎の合成比率をストロボ非発光時画像データ702と同じサイズまで拡大させる。画像合成部714は、ストロボ用YUV画像データと外光用YUV画像データとを上記合成比率に従って合成する。
【0035】
図8は、ストロボ発光時画像データ700とストロボ非発光時画像データ702間での被写体の動き判定処理を示すフローチャートである。
【0036】
図5に示すようにSW1保持中に撮影指示としてSW2が押されると、ステップS801において、外光画像色味情報取得部722は、最新のストロボ非発光時画像データ702を取得する。ステップS802において、外光画像色味情報取得部722は、ストロボ非発光時画像データ702のブロック(1〜n)毎に、画素値を色毎に加算平均して色平均値(R2[i],G2[i],B2[i])を算出する。そして外光画像色味情報取得部722は、次の式に従って、外光用WB係数からブロック毎にストロボ非発光時画像データ702の色味評価値WCx_evf、WCy_evfを算出する。
R2´[i]=WB_R_evf[i]×R2[i]
G2´[i]=WB_G_evf[i]×G2[i]
R2´[i]=WB_B_evf[i]×B2[i]
WCx_evf[i]=(R2´[i]−B2´[i])/Y2´[i]×1024
WCy_evf[i]=(R2´[i]+B2´[i]−2G2´[i])/Y2´[i]×1024
但し、Y2´[i]=(R2´[i]+2G2´[i]+B2´[i])/4
ここで、WB_R_evfは、赤色(R)の外光用WB係数である。緑色(G)、青色(B)に関しても同様である。
【0037】
ステップS803において、本露光画像色味情報取得部720は、ストロボ発光時画像データ700を取得する。ステップS804において、本露光画像色味補正部721は、発光量情報710からストロボ光の色温度(以下、ストロボ色温度)を取得する。ここで、ストロボ色温度は、キセノン管の発光特性としての色温度と発光時間等の関係から定まるため、ストロボ用WB係数も上述したように発光量情報710から算出することができる。
【0038】
ステップS805において、本露光画像色味取得部720は、ステップS803で取得したストロボ発光時画像データ700のブロック(1〜n)毎に、画素値を色毎に加算平均して色平均値(R1[i],G1[i],B1[i])を算出する。
【0039】
ステップS806において、外光画像色味情報取得部722は、次の式に示すように、ステップS802で算出したストロボ非発光時画像データ702の各ブロックの色平均値に基づいて、外光の輝度成分a[i]を算出する。また、本露光画像色味情報取得部720は、次の式に示すように、ステップS805で算出したストロボ発光時画像データの各ブロックの色平均値に基づいて、輝度成分b[i]を算出する。そして、本露光画像色味情報取得部720は、次の式に示すように、それらの輝度値の差分として、ストロボ光の輝度成分c[i]を算出する。
【0040】
【数2】

【0041】
なお、ストロボ発光時画像データ700とストロボ非発光時画像データ702との間にシャッタスピード、絞り値、感度設定等の露光量や感度設定が異なる場合、本露光画像色味情報取得部720は、外光の輝度成分b[i]に対してその露光差分を補正する。これにより、ストロボ光の輝度成分を算出することができる。
【0042】
ステップS807において、本露光画像色味補正部721は、ステップS806で算出したストロボ光の輝度成分c[i]とステップS804で取得したストロボ色温度とに基づいて、ストロボ発光時画像データ700の色味評価値を算出する。
【0043】
ここで、本露光画像色味補正部721は、次の式に示すように、それぞれ対応するブロック毎の外光の輝度成分a[i]とストロボ光の輝度成分c[i]との比率に基づいて、Mix比率αを算出する。
α[i]=c[i]/(a[i]+c[i])
【0044】
そして、本露光画像色味補正部721は、次の式に従って、外光用WB係数とストロボ用WB係数とMix比率αとに基づいて、本露光用WB係数を算出する。ここで、X色に対する本露光用WB係数をWB_X_cap[i]、X色に対する外光用WB係数をWB_X_evf[i]、X色に対するストロボ用WB係数をWB_X_flashとする。但し、XはR、G、Bの何れかの色を示す。
WB_R_cap[i]=WB_R_evf[i]×(1−α[i])+WB_R_flash×α[i]
WB_G_cap[i]=WB_G_evf[i]×(1−α[i])+WB_G_flash×α[i]
WB_B_cap[i]=WB_B_evf[i]×(1−α[i])+WB_B_flash×α[i]
【0045】
そして、本露光画像色味補正部721は、次の式に示すように、本露光用WB係数を各ブロックの色平均値に乗算し、色味評価値WCx_cap[i]、WCy_cap[i]を算出する。
R1´[i]=WB_R_cap[i]×R1[i]
G1´[i]=WB_G_cap[i]×G1[i]
B1´[i]=WB_B_cap[i]×B1[i]
WCx_cap[i]=(R1´[i]−B1´[i])/Y1´[i]×1024
WCy_cap[i]=(R1´[i]+B1´[i]−2G1´[i])/Y1[i]×1024
但し、Y1´[i]=(R1´[i]+2G1´[i]+B1´[i])/4
【0046】
ステップS808において、本露光画像色味補正部721は、次の式に示すように、ストロボ発光時画像データ700の色味評価値WCx_cap[i]、WCy_cap[i]と、ストロボ非発光時画像データ702の色味評価値WCx_evf[i]、WCy_evf[i]との差分を算出する。
ΔWCx=|WCx_cap[i]−WCx_evf[i]|
ΔWCy=|WCy_cap[i]−WCy_evf[i]|
【0047】
そして、本露光画像色味補正部721は、次の式に示すように、色味評価値の差分の合計値を算出する。
ΔWCxCy=ΔWCx+ΔWCy
【0048】
なお、ストロボ照射量は、ストロボ発光時画像データ700の輝度値とストロボ非発光時画像データ702の輝度値との差分から算出されており、被写体が動いていない場合においてはストロボ照射量が適正に算出される。被写体や光源に動きがなく、ストロボ照射量の算出が成功していれば、WB係数も所望の値が算出され、色味評価値も正しく算出される。一方、被写体が動いたり急激に光源の光量が変化したりした場合等は、ストロボ照射量の推定を間違えてしまい、WB係数を正しく算出することができなくなり、結果として色味評価値を間違えて算出することになる。従って、この色味評価値の差分に基づいて、被写体の移動や光源変動の有無を判定することが可能である。
【0049】
ステップS809において、動き量推定部723は、ブロック毎に算出された、色味評価値の差分の合計値に基づいて動き量を算出する。
【0050】
図9は、ブロック毎の色味評価値の差分の合計値に基づいて動き量を算出する処理について説明するための図である。なお、図9の各ブロック内の数値は、ステップS808にて算出される色味評価値の差分の合計値ΔWCxCyを示している。
【0051】
動き量推定部723は、色味評価値の差分の合計値ΔWCxCyに対して閾値判定を行う。図9(a)では、閾値Th=50と設定された例を示しており、動き量推定部723は、閾値以上のΔWCxCyをもつブロックを動きブロックとして判定する。即ち、図9(a)において、太線で囲まれたブロックが動きブロックとして判定される。なお、本実施形態では、閾値を一定値としているが、ストロボ非発光時画像データ702の色味評価値WCx、WCyに応じて閾値を変化させてもよい。色味評価値の差分は、被写体の色味やストロボ非発光時画像データ702の撮影環境である色温度によって色毎に敏感度が異なるためであり、色毎に敏感度を変化させることにより、被写体の動き判定処理の精度を向上させることができる。
【0052】
また、被写体の動き判定処理で算出された色味評価値の差分の合計値は、光源の色温度に応じてWB係数が掛け合わされているが、色味成分の補正までは行われていない。グレーの領域に対しては、正確に算出することが可能であるものの、有彩色に対しては若干の誤差を有する。例えば低色光源であれば、赤み被写体や、高色温度光源下の青み被写体等は色味が強く発色する傾向がある。これら色温度毎による発色性の差分の誤差を減らすためには、もとの外光色温度や外光用WB係数に応じた色味補正や被写体の色味毎の補正を行うことで精度を向上させることが可能である。
【0053】
例えば、ストロボ非発光時画像データ702及びストロボ発光時画像データ700の両方の色味評価値に対して、色温度や適応されたWB係数毎に、WCx、WCyの補正ゲインを予め算出しておくことで実現可能である。例えば、WCx、WCyをWB係数や色温度に応じて次の式に従って補正してもよい。
【0054】
【数3】

【0055】
ここで、補正値a、b、c、dは、例えば色チャートを色温度毎に撮影し、色毎にWCx、WCyを算出し、5000KのときのWCx、WCyを基準に、各色温度のWCx、WCyが略同じ値になるようにするための係数を予め求めておけばよい。もちろん算出された補正値は、色温度毎に線形補間を行うことにより、取得された色温度以外の中間色温度においても計算可能であることはいうまでもない。この色味変換処理は、色温度毎の色味の差分を吸収させる色再現マトリックスと同様の効果を有し、これらの処理により色温度毎の色味の差分を吸収させることにより、被写体の動き判定処理を精度よく行うことが可能になる。
【0056】
図9(b)は、上記動きブロックに対して8近傍連結を行っている例を示している。本実施形態では、走査方向、副走査方向に順に動きブロックを探索し、動きブロックを検出した場合には、右手探索を行い、動きブロックの連結サイズを算出している。図9(b)の例では、4(縦)×5(横)ブロックが1つ、2(縦)×2(横)ブロックが1つ、1(縦)×1(横)ブロックが2つ検出されている状態を示している。以上の検出結果に基づいて、動き量推定部723は、最大ブロックサイズを画面全体における動きとして抽出する。8近傍連結を行う前に、光源等のフリッカやネオンの点滅等によって発生する細かい動きブロックの除去としてブロック状態でメディアンフィルタ等を行うことでも計算を簡略化することが可能である。また、最大ブロックサイズを算出する以外の手法として、動きブロック数やその面積、色味評価値の差分とブロック数とを乗算した積分値等の手法を用いてもよい。
【0057】
次に、被写体の動きが検出された場合における画像合成比率決定部705の動作について説明する。図10は、動き量と色温度差分との関係から定まる合成比率の一例を表で示す図である。図10において、動き量とは、ステップS809の動きブロックの数に対応したものであり、動きブロックの数に応じて動きレベルを5段階に分類している。また色温度差分とは、外光の色温度とストロボ光の色温度との差分である。
【0058】
また、図10に示す表の中にある割合の数字は、本露光用WB係数と外光用WB係数の補正割合S[i]を示しており、値が小さいほど、両者のWB係数の差分が小さくなるように制御するパラメータである。
WB_R_evf´[i]=(WB_R_evf[i]−WB_R_awb)×S[i]+WB_R_awb
WB_G_evf´[i]=(WB_G_evf[i]−WB_G_awb)×S[i]+WB_G_awb
WB_B_evf´[i]=(WB_B_evf[i]−WB_B_awb)×S[i]+WB_B_awb
WB_R_cap´[i]=(WB_R_cap[i]−WB_R_awb)×S[i]+WB_R_awb
WB_G_cap´[i]=(WB_G_cap[i]−WB_G_awb)×S[i]+WB_G_awb
WB_B_cap´[i]=(WB_B_cap[i]−WB_B_awb)×S[i]+WB_B_awb
ここで、WB_X_awbは、オートホワイトバランスのX色のWB係数(オートホワイトバランス用WB係数)である。WB_X_capは、X色の本露光用WB係数である。WB_X_evfは、X色の外光用WB係数である。但し、XはRGBの何れかである。
【0059】
上述したように動きの大きい被写体においては、ストロボ照射量の算出を間違える領域が大きくなるため、その大きい動き領域において色ムラが発生する。一方、ストロボ光の色温度は一般的に高色温度であり、日陰やクール系の蛍光灯等で外光の色温度が高い場合には、外光の色温度とストロボ光の色温度との差分が少なくなる。そのような場合においては、WB係数自体も近い値となるため、色むらが発生しにくいため多少の被写体に動きによる影響は少ないが、逆に電球色とストロボ光の合成では色温度差分が大きいため、WB係数の差分が大きくなり、多少の被写体の動きにおいても色ムラが強く発生する。つまり、動き被写体の動き量、及び、外光の色温度とストロボ光の色温度との差分の両方をみて、色ムラが発生しそうな被写体や環境であることを自動的に判別することができる。本露光用WB係数とストロボ用WB係数とをオートホワイトバランス用WB係数の値に近づけることにより、合成による色ムラを減らすことができる。
【0060】
次に、図11のフローチャートを参照しながら、画像合成処理について説明する。ステップステップS1101において、第1のWB処理部709aは、外光用WB係数を用いてストロボ発光時画像データ700をWB処理する。そして、第1の現像処理部713aは、WB処理後のストロボ発光時画像データ700を現像して外光用YUV画像データを生成する。ステップS1102において、第2のWB処理部709bは、ストロボ用WB係数(又は、第1のWB係数)を用いてストロボ発光時画像データ700をWB処理する。そして、第2の現像処理部713bは、WB処理後のストロボ発光時画像データ700を現像してストロボ用YUV画像データを生成する。ステップS1103において、画像合成処理部714は、上記合成比率を用いて、外光用YUV画像データとストロボ用YUV画像データとを合成し、YUV合成画像データを生成する。
【0061】
YUV合成画像データにおける色味評価値(Y3[i],u3[i],v3[i])は、ストロボ用YUV画像データにおける色味評価値(Y1[i],u1[i],v1[i])、外光用YUV画像データにおける色味評価値(Y2[i],u2[i],v2[i])を用いて、次の式のように算出される。
【0062】
【数4】

【0063】
なお、ブロック境界部分の色味ずれを緩和するため、画素補間処理を行うことによりブロック毎の合成比率から画素毎の合成比率を算出してもよい。例えば、画素補間処理としてバイリニア補間を用い、ブロック毎の合成比率から画素毎の合成比率を算出する。そして、画素毎の合成比率を用いてストロボ用YUV画像データと外光用YUV画像データとが合成され、YUV合成画像データが生成される。このときのYUV合成画像データにおける色味評価値(Y3[j],u3[j],v3[j])は、ストロボ用YUV画像データにおける色味評価値(Y1[j],u1[j],v1[j])、外光用YUV画像データにおける色味評価値(Y2[j],u2[j],v2[j])を用いて、次の式のように算出される。
【0064】
【数5】

【0065】
本実施形態においては、ストロボ発光したシーンにおいて、主被写体と背景とをともに適正な色味とする画像データを生成する上で、合成比率を決定するにあたり、ストロボ発光時画像データとストロボ非発光時画像データと用いて被写体の動きを判定している。これにより、本実施形態によれば、ブロック毎に最適なWB制御が可能となる。
【0066】
本発明は、複数の機器(例えばホストコンピュータ、インターフェイス機器、カメラヘッドなど)から構成されるシステムを適用しても、一つの機器からなる装置(例えば、デジタルスチルカメラ、デジタルビデオカメラなど)に適用してもよい。
【0067】
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【符号の説明】
【0068】
700:ストロボ発光時画像データ、701、706:リサイズ処理部、702:ストロボ非発光時画像データ、703:露光量演算部、704:領域毎ストロボ発光量演算部、705:画像合成比率決定部、707:外光WB係数算出部、709a:第1のWB処理部、709b:第2のWB処理部、710:発光量情報、711:ストロボWB係数算出部、713a:第1の現像処理部、713b:第2の現像処理部、714:画像合成処理部、720:本露光画像色味情報取得部、721:本露光画像色味補正部、722:外光画像色味情報取得部、723:動き量推定部

【特許請求の範囲】
【請求項1】
ストロボ非発光時に撮影された画像データを複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第1の評価値算出手段と、
ストロボ発光時に撮影された画像データを前記複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第2の評価値算出手段と、
前記第1の評価値算出手段により算出された色味評価値と前記第2の評価値算出手段により算出された色味評価値との差分に基づいて、前記複数の領域毎に動き判定を行う動き判定手段とを有することを特徴とする画像処理装置。
【請求項2】
前記第2の評価値算出手段は、ストロボ光の輝度とストロボ光の色温度とに基づいて、前記ストロボ発光時に撮影された画像データの色味評価値を算出することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記第1の評価値算出手段は、前記ストロボ非発光時に撮影された画像データに対してストロボ非発光時のホワイトバランス係数を乗算することにより、前記ストロボ非発光時に撮影された画像データの色味評価値を算出することを特徴とする請求項1又は2に記載の画像処理装置。
【請求項4】
前記動き判定手段は、前記複数の領域毎に、前記第1の評価値算出手段により算出された色味評価値と前記第2の評価値算出手段により算出された色味評価値との差分を算出し、当該差分と所定の閾値とを比較することにより、前記複数の領域毎に動き判定を行うことを特徴とする請求項1乃至3の何れか1項に記載の画像処理装置。
【請求項5】
前記動き判定手段は、前記複数の領域毎の動き判定結果に基づいて、画面全体における動き量を判定することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記動き判定手段は、動きありと判定した領域を連結し、その連結サイズに基づいて画面全体における動き量を判定することを特徴とする請求項5に記載の画像処理装置。
【請求項7】
前記動き判定手段は、動きありと判定した領域の面積に基づいて画面全体における動き量を判定することを特徴とする請求項5に記載の画像処理装置。
【請求項8】
前記所定の閾値は、前記ストロボ非発光時に撮影された画像データの色味評価値に応じて決定されることを特徴とする請求項4乃至7の何れか1項に記載の画像処理装置。
【請求項9】
前記動き判定手段による動き判定結果に基づいて、ストロボ非発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データと、ストロボ発光時のホワイトバランス係数を用いてホワイトバランス処理された画像データとの合成比率を決定する決定手段を更に有することを特徴とする請求項1乃至8の何れか1項に記載の画像処理装置。
【請求項10】
画像処理装置によって実行される画像処理方法であって、
ストロボ非発光時に撮影された画像データを複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第1の評価値算出ステップと、
ストロボ発光時に撮影された画像データを前記複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第2の評価値算出ステップと、
前記第1の評価値算出ステップにより算出された色味評価値と前記第2の評価値算出ステップにより算出された色味評価値との差分に基づいて、前記複数の領域毎に動き判定を行う動き判定ステップとを有することを特徴とする画像処理方法。
【請求項11】
ストロボ非発光時に撮影された画像データを複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第1の評価値算出ステップと、
ストロボ発光時に撮影された画像データを前記複数の領域に分割し、前記複数の領域毎に色味評価値を算出する第2の評価値算出ステップと、
前記第1の評価値算出ステップにより算出された色味評価値と前記第2の評価値算出ステップにより算出された色味評価値との差分に基づいて、前記複数の領域毎に動き判定を行う動き判定ステップとをコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2012−235358(P2012−235358A)
【公開日】平成24年11月29日(2012.11.29)
【国際特許分類】
【出願番号】特願2011−103212(P2011−103212)
【出願日】平成23年5月2日(2011.5.2)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】