(57)【要約】【課題】簡便な構成で精度の良い光源色の推定方法を提供する。【解決手段】露光時間が重複した複数の視差画像と視差画像間の対応点を取得して、視差画像間の対応点における輝度差を算出し、光源色を推定する。【選択図】図１
2015122669.tif 000002
【特許請求の範囲】
【請求項１】
露光時間が重複した複数の視差画像を取得する取得手段と、
前記複数の視差画像間の対応する画素位置を取得する対応点取得手段と、
前記複数の視差画像間の前記対応する画素位置における輝度差を算出する算出手段と、
算出手段により算出された前記輝度差から光源色を推定する推定手段を有することを特徴とする画像処理装置。
【請求項２】
前記推定手段は、前記算出手段により算出した輝度差が、鏡面反射成分であるものとして光源色を推定することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記取得手段により３以上の視差画像を取得した場合、前記算出手段は、前記対応する画素位置における最大輝度差を前記輝度差として算出することを特徴とする請求項１または請求項２に記載の画像処理装置。
【請求項４】
前記算出手段および前記推定手段が、視差画像の部分領域ごとに前記輝度差の算出及び前記光源色の推定を行うことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記算出手段は、輝度の一致度が予め定められた範囲である部分領域について前記輝度差を算出することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記複数の視差画像に対してケラレ補正を行う補正手段をさらに有し、
前記算出手段は、前記補正手段が補正した視差画像を用いて前記輝度差を算出することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
請求項１乃至６のいずれか１項に記載の画像処理装置を有する撮像装置であって、
前記取得手段が、直線上あるいは格子状に配置された多眼撮像装置であることを特徴とする撮像装置。
【請求項８】
請求項１乃至６のいずれか１項に記載の画像処理装置を有する撮像装置であって、
前記取得手段が、光束の位置と角度の情報を取得する撮像手段であることを特徴とする撮像装置。
【請求項９】
請求項１乃至６のいずれか１項に記載の画像処理装置を有する撮像装置であって、
前記取得手段が、異なる瞳領域を通過した光束を受光する画素を有する撮像素子を有する撮像手段であることを特徴とする撮像装置。
【請求項１０】
取得手段が、露光時間が重複した複数の視差画像を取得する工程と、
対応点取得手段が、前記複数の視差画像間の対応する画素位置を取得する対応点取得工程と、
算出手段が、前記複数の視差画像間の前記対応する画素位置における輝度差を算出する算出工程と、
推定手段が、前記算出工程で算出された前記輝度差から光源色を推定する推定工程とを有することを特徴とする画像処理装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至６のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置、その制御方法およびプログラムに関し、特には多視点画像を用いた光源色の推定技術に関するものである。
【背景技術】
【０００２】
従来、撮像装置には、様々な色温度の光源のもとで、白色の被写体が正しく白色に表現されるように色成分のゲインを調整するホワイトバランス調整機能が備わっている。より容易な撮影を実現するために、自動ホワイトバランス調整機能が搭載された撮像装置もある。自動ホワイトバランス調整を実現する方法には、画像全体で平均した被写体色がグレイになると仮定してゲインを調整する方法と、より正確な色表現を実現するための方法として光源（の色温度）を推定した上でゲインを調整する方法が知られている。
【０００３】
光源を推定する方法として、光源色を反映する鏡面反射成分を画像から抽出する方法が知られている（特許文献１および特許文献２）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−１３４１５号公報
【特許文献２】特開２００１−１６６１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１の方法では、画像を複数のブロックに分割し、各ブロック内の画素を輝度値に応じて複数の段階に分類し、最も明るい段階に分類された画素の平均輝度（Ａ値）と、２番目に明るい段階に分類された画素の平均輝度（Ｂ値）を求める。そして、全ブロックでのＡ値とＢ値の平均値の差分値を鏡面反射成分として抽出する。この方法では、ブロック内で求めた平均値をさらにブロック間で平均する統計処理を行っているため、画像上の様々な被写体の影響を受けて推定精度が低下する可能性がある。
【０００６】
特許文献２の方法では、複数の視差画像のそれぞれから視点の移動の方向に異なる位置の一次元領域を切り出して順に並べた２次元画像を生成し、画像内の各画素の移動軌跡が直線的或いは曲線的であるかを判定することにより鏡面反射成分の抽出を行っている。画像内の各画素について視差画像間の移動の軌跡の形状を判定する必要があるため、多数の視差画像が必要になるうえ、計算量が多く複雑な処理が必要である。また、１台の撮像装置を移動させて視差画像を取得するため、撮像装置を駆動するための装置が必要なほか、視差画像の取得時刻に差が生じ、被写体が移動する場合には適用が困難であるほか、動画像撮影への適用ができない問題もある。
【０００７】
本発明では、上述の従来技術の問題点に鑑みてなされたものであり、簡便な構成で精度の良い光源色の推定が可能な画像処理装置、その制御方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
この課題を解決するため、例えば本発明の画像処理装置は以下の構成を備える。すなわち、露光時間が重複した複数の視差画像を取得する取得手段と、複数の視差画像間の対応する画素位置を取得する対応点取得手段と、複数の視差画像間の対応する画素位置における輝度差を算出する算出手段と、算出手段により算出された輝度差から光源色を推定する推定手段を有することを特徴とする。
【発明の効果】
【０００９】
本発明によれば、簡便な構成で精度の良い光源色の推定が可能になる。
【図面の簡単な説明】
【００１０】
【図１】拡散反射および鏡面反射の状態と撮像装置における撮像状態を説明する図
【図２】本実施形態に係る画像処理装置の一例としてカメラの構成例を示すブロック図
【図３】本実施形態に係る画像処理装置の一連の処理を示すフローチャート
【図４】カメラシステム制御部のより詳細な構成を示すブロック図
【図５】撮影光学系の一例としてマイクロレンズアレイを備えた光学系を説明する図
【図６】ケラレ状態を説明する図
【図７】視差画像の位置合わせ処理の概要と処理後の画素の輝度値を示す図
【図８】異なる被写体における拡散反射および鏡面反射の状態と撮像装置における撮像状態を説明する図
【発明を実施するための形態】
【００１１】
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下では、画像処理装置の一例としての、光線空間情報を記録可能なライトフィールドカメラ（ＬＦＣ）に本発明を適用した例を説明する。しかし、本発明は露光時間が重複した視差画像を取得可能な多眼カメラ（例えば撮像装置を直線上または格子状に配置して多眼撮像装置を構成するもの）を有する電子機器はもとより、視差画像の撮影や記録に関する機能を有さない電子機器にも適用可能である。これらの電子機器には、携帯電話機、ゲーム機、タブレット端末、パーソナルコンピュータなどが含まれるが、これらは単なる例示である。
【００１２】
図２は本実施形態のライトフィールドカメラの機能構成例を示すブロック図である。
【００１３】
ライトフィールドカメラは、例えばマイクロレンズアレイの各マイクロレンズに対して複数の画素が割り当てられた構造の撮像素子を用いて、光束の位置と角度の情報（光線空間（ライトフィールド）情報と呼ばれることもある）を記録可能なカメラである。１つのマイクロレンズの出射光を複数の画素で受光することで、各画素では異なる角度でマイクロレンズに入射した光の強度を得ることができる。また、同じマイクロレンズに割り当てられた複数の画素の各々は射出瞳面における異なる領域を通過した光束を受光するため、マイクロレンズに対して異なる位置の画素の信号から視差画像を生成することができる。
【００１４】
本実施形態のＬＦＣは、本体１と、着脱可能なレンズ２とから構成される。本体１とレンズ２とは、レンズマウント（不図示）を通じて機械的に接続されるとともに、レンズマウントに設けられた電気接点１１を通じて電気的に接続される。なお、レンズ２が本体１と一体である構成であってもよい。
【００１５】
物体からの光は、撮影光軸４を有する撮影光学部３を介して撮像素子６の撮像面に結像される。本実施形態の撮影素子６はマイクロレンズが格子状に配置されたいわゆるマイクロレンズアレイ（ＭＬＡ）を有し、１つのマイクロレンズの出射光を複数の画素で受光する構成を有している。ＭＬＡの機能や配置の詳細については図５を用いて後述する。撮影素子６の各画素は入射光の強度に応じて電気信号（画像信号）を出力する。
【００１６】
画像処理部７は、撮像素子６が出力した画像信号に対して処理を行う各種回路を有する。画像処理部７は例えば、Ａ／Ｄ変換器、ホワイトバランス回路、ガンマ補正回路、補間演算回路等を有している。また、画像処理部７は、予め定められた方法を用いて画像、動画、音声などのデータを圧縮・伸長する回路を有し、記録用のデータを生成したり、記録されたデータを再生したりする。
【００１７】
記録部８は記録媒体および記録媒体にデータを読み書きするための回路を備えている。記録部８は、画像処理部７の出力したデータを記録媒体に記録する。また、記録媒体に記録されたデータを読み出して表示部９に表示するために画像処理部７へ出力する。表示部９は液晶モニタ等に撮影時や再生時のデータを表示するほか、カメラシステム制御部５の指示に従って撮影に必要な情報を表示する。操作部１０は、レリーズボタン、合焦距離や絞り等の操作のほか、記録データの再生やメニュー画面による操作指示を検出する。
【００１８】
カメラシステム制御部５は、例えばＣＰＵやＭＰＵなどのプログラマブルプロセッサであり、不揮発性メモリに記憶されたプログラムを実行することにより各機能ブロックを制御し、ＬＦＣの機能を実現する。
【００１９】
カメラシステム制御部５は画像処理部７で処理された画像信号に基づいて撮像光学部３の合焦状態や被写体輝度を求める。カメラシステム制御部５は、撮像光学部３が有するフォーカスレンズの位置をレンズシステム制御部１２を通じて制御し、撮像光学部３の合焦距離を調整する。また、カメラシステム制御部５は、被写体輝度に応じて絞り値、シャッタスピード、撮影感度などの露出条件を決定する。カメラシステム制御部５は、撮像光学部３が有する絞りの開口量についてもレンズシステム制御部１２を通じて制御する。レンズシステム制御部１２には不図示の手ぶれ検出センサが接続されており、手ぶれ補正を行うモードにおいては、手ぶれ検出センサの信号を元にレンズ駆動部１３を介してブレ補正レンズを適切に制御する。カメラシステム制御部５はまた、必要に応じて、画像データやメニュー画面などを表示部９に出力する。
カメラシステム制御部５は、画像処理部７により処理された画像データに対して、後に説明する輝度調整処理、視差画像位置合わせ処理、輝度差算出処理、光源色推定処理を行う。
【００２０】
（光源色推定処理の流れ）
本実施形態の光源色推定処理について、図３に示すフローチャートおよび、図２および図４に示すブロック図を用いて説明する。
【００２１】
図４は、カメラシステム制御部５の光源色推定処理に係る機能構成例を示すブロック図である。カメラシステム制御部５は、輝度調整部５０１、視差画像位置合わせ部５０２、輝度差算出部５０３、光源色推定部５０４、出力画像生成部５０５および制御部５０６を有する。制御部５０６は５０１から５０５の各処理部の機能以外について、カメラシステム制御部５として機能するための処理を行う。制御部５０６以外の各処理部の機能は、カメラシステム制御部５が画像処理部７を用いて実現してもよい。
【００２２】
図３においてシステム制御部５は操作部１０に含まれるレリーズボタンの押下を検出すると、画像取得指示が入力されたものとして以降の各ステップを開始する。
【００２３】
Ｓ１０１は視差画像の取得を行うステップである。カメラシステム制御部５は、電気接点１１を通じてレンズシステム制御部１２に指示を出し、レンズ駆動部１３を制御してシャッタ兼絞りの動作を制御し、適切な露出条件で撮像素子６を露光する。さらに、カメラシステム制御部５は、撮像素子６から取得した画像データに対して画像処理部７が上述した補正等の処理を施した画像データを入手する。なお、ＬＦＣは１回の露光動作で複数の視差画像を得ることができる。
【００２４】
Ｓ１０２において輝度調整部５０１は、画像処理部７から画像データを取得して輝度調整処理を行い、視差画像位置合わせ部５０２へ補正後の視差画像データを出力する。輝度調整の詳細については図６（ａ）から図６（ｃ）を用いて後述するが、輝度調整部５０１は、瞳距離等のケラレの決定要因に基づいて予め設定された、各画素に対する補正値を、予め保存された補正値テーブルから読み出して各画素の輝度調整を行う。なお、本実施形態では、複数の視差画像に対して輝度補正処理を行うが、複数の視差画像を生成する前の各画素値に対して行ってもよい。
【００２５】
Ｓ１０３において視差画像位置合わせ部５０２は、被写体像の位置が一致するように視差画像間の位置合わせを行う。本実施形態における視差画像位置合わせ処理の詳細な動作については図７を用いて後述するが、視差画像位置合わせ部５０２は、公知の技術を用いて位置合わせすることができる。例えば、処理対象となる２つの視差画像に対して、視差画像のエピポーラ拘束の条件下で最もマッチングが良い画素の対応点を探すステレオマッチングにより位置合わせすることができる。
【００２６】
視差画像間の位置のずれ（位相差）は視差（図５での瞳領域３０−ａと３０−ｅなどの重心間の距離）および被写体の距離に依存する。一般に平面物体でかつ物体表面がランバート面と仮定できる場合は、ステレオマッチングは容易である。一方で、本発明で対象とする鏡面反射成分を含む場合や位置合わせのブロック内に近距離の被写体と遠距離の被写体が混在する状況ではステレオマッチングの精度が下がる場合がある。
【００２７】
この対策として、視差画像位置合わせ部５０２は、位置合わせに用いるブロックの大きさを被写体の倍率に応じて設定してもよい。また、鏡面反射成分に起因するローカルミニマムに陥らないようにするためには、位置合わせに用いるブロックを大き目に設定してもよい。視差画像位置合わせ部５０２は、複数の視差画像と共に、視差画像の位置合わせの結果求めた視差画像間の対応する画素位置についての情報を出力する。また、視差画像位置合わせ部５０２は、後述する視差画像の像の一致度に基づいて光源色推定に適する画像上の領域を特定し、特定の一致度である領域を示す情報を出力する。
【００２８】
Ｓ１０４において輝度差算出部５０３は、視差画像間の対応する画素における輝度差を算出する。輝度差算出部５０３は、視差画像位置合わせ部５０２において求めた視差画像間の対応する画素位置の情報と視差画像を取得した上で、それぞれの視差画像の対応する画素位置から輝度値を取得してその差分を算出する。また、詳細は後述するがＳ１０１で取得した視差画像の数が３以上の場合には、同位置に対応する画素の輝度値の最大値と最小値の差（最大輝度差）を算出する。
【００２９】
Ｓ１０５で光源色推定部５０４は、Ｒ，Ｇ，Ｂ各色の輝度差を用いて、光源色（波長特性）を推定する。光源色推定の詳細は後述する。
【００３０】
Ｓ１０６で出力画像生成部５０５は、例えば、視差画像に基づく光線空間情報のうち角度情報を積分して出力像を生成する。角度に関して積分する前に各視差画像をずらすことでいわゆるリフォーカスして出力像を生成してもよい。
【００３１】
Ｓ１０７において画像処理部７は、光源色推定部５０４がＳ１０５で求めた光源色の推定結果に基づいて入力画像のホワイトバランス調整を行ない、Ｓ１０６で生成した出力像にホワイトバランス調整を施す。また、画像処理部７は、ホワイトバランス調整後の画像を用い、記録フォーマットに応じた形式の記録用画像ファイルを生成する。画像処理部７は、画像ファイルを生成する際、必要に応じて画像の圧縮符号化も行う。
【００３２】
Ｓ１０３，Ｓ１０４，Ｓ１０５，Ｓ１０７の処理は画像を複数の領域に分けて行うことができる。例えば、外光とは異なる光源特性をもつ光源が撮影装置近傍にある場合、光源の影響を受ける領域と影響を受けない（外光のみの）領域では光源色が異なる。このため領域ごとに光源色を求めてホワイトバランス調整を施すと良い。このような方法を用いれば、例えば日中シンクロと呼ばれる太陽光とストロボ光が当たるような撮影場面において、ストロボ光が支配的な領域と、太陽光が支配的な領域の双方に適当なホワイトバランス調整を施すことが可能となる。
【００３３】
Ｓ１０８において記録部８は、Ｓ１０７で得られた記録用画像ファイルを記録部８に記録して一連の撮像動作を完了する。必要であればカメラシステム制御部５はホワイトバランス調整後の画像を画像処理部７から取得して表示部９に表示させてプレビュー動作なども行う。
【００３４】
（視差画像取得処理）
図３のＳ１０１で行う視差画像の取得処理について図５を示してさらに説明する。図５（ａ）は撮像素子６とＭＬＡ２０の関係を模式的に示す図である。図５（ｂ）は撮像素子６の画素とＭＬＡ２０の対応関係を模式的に示す図である。図５（ｃ）はＭＬＡ２０のレンズによって、レンズに対応する画素が特定の瞳領域と対応づけられることを示す図である。
【００３５】
図５（ａ）に示すように撮像素子６上にはＭＬＡ２０が設けられており、ＭＬＡ２０の前側主点は撮影光学部３の結像面近傍になるように配置されている。図５（ａ）はＬＦＣの横と、正面からＭＬＡ２０を見た状態を示しており、ＬＦＣの正面から見るとＭＬＡ２０が撮像素子６の画素を覆うように配置されている。なお、図５（ａ）ではＭＬＡ２０を構成する各マイクロレンズを見やすくするために、大きく記載したが、実際には図５（ｂ）に示すように各マイクロレンズは画素の数倍から数十倍程度の大きさしかない。
【００３６】
図５（ｂ）は図５（ａ）のＬＦＣ正面からみた図を一部拡大した図である。図５（ｂ）に示す格子状の枠は、撮像素子６の各画素を示している。一方、ＭＬＡ２０を構成する各マイクロレンズは太い円で示した。図５（ｂ）から明らかなようにマイクロレンズ１つに対して複数の画素が割り当てられており、図５（ｂ）の例では、５行x５列＝２５個の画素が１つのマイクロレンズに対して設けられている。（すなわち各マイクロレンズは画素の約２５倍の大きさである。）
図５（ｃ）は撮像素子６を、マイクロレンズ光軸を含みセンサの長手方向が図の横方向になるように切断した図である。図５（ｃ）の２０−ａ、２０−ｂ、２０−ｃ、２０−ｄ、２０−ｅのそれぞれは図５（ｂ）に示した位置の画素（１つの光電変換部）を示している。一方、図５（ｃ）の上方に示した図は撮影光学部３の射出瞳面を示している。実際には、図５（ｃ）の下方に示したセンサの図と方向を合わせると、射出瞳面は図５（ｃ）の紙面垂直方向になるが、説明のために投影方向を変化させている。また、図５（ｃ）においては説明を簡単にするために、１次元の投影／信号処理について説明する。実際の装置においては、これを容易に２次元に拡張することができる。
【００３７】
図５（ｃ）に示すように、ＭＬＡ２０によって各画素は撮影光学部３の射出瞳面上の特定の領域と共役になるように設計されている。図５（ｃ）の例では画素２０−ａと領域３０−ａが、画素２０−ｂと領域３０−ｂが、画素２０−ｃと領域３０−ｃが、画素２０−ｄと領域３０−ｄが、画素２０−ｅと領域３０−ｅがそれぞれ対応している。すなわち画素２０−ａには撮影光学部３の射出瞳面上の領域３０−ａを通過した光束のみが入射する。他の画素も同様である。結果として、瞳面上での通過領域と撮像素子６上の位置関係から角度の情報を取得することが可能となる。
【００３８】
瞳領域３０−ａを通過した光束のみを捉えている画素２０−ａと同じ対応関係にある画素のみ集めた画像と、瞳領域３０−ｅを通過した光束のみを捉えている画素２０−ｅと同じ対応関係にある画素のみ集めた画像は視差画像となる。つまり、画素２０−ａと同じ対応関係にある画素のみ集めた画像は瞳領域３０−ａから見た画像となっており、画素２０−ｅと同じ対応関係にある画素のみ集めた画像は瞳領域３０−ｅから見た画像となる。このように、ＬＦＣでは、一度の露光で得られる信号から、複数の視差画像を得ることができる。
【００３９】
本実施形態では、画像処理部７は、補完等の処理を行った画像データに対してｘ軸及びｙ軸のそれぞれについて５画素単位で画像全体を走査する。本実施形態ではＭＬＡ２０のマイクロレンズ１つあたり２５画素を対応させているため、１回の露光により視差画像を最大２５枚生成することができる。２５の画素のうち、画素２０−ａ、画素２０−ｃ、画素２０−ｅに対応する画素を集めれば３枚の視差画像が得られるが、光源色推定処理の対象や求められる精度に応じて視差画像の枚数を随時調整してもよい。
【００４０】
露光時間が重複した複数の視差画像を得ることにより、被写体の状態が揃った視差画像が得られるため、一台の撮像装置を利用して複数の視差画像を得る場合よりも位置合わせが容易である。加えて、動きのある被写体に対する撮影や動画像において後述する光源推定が適用可能となる利点がある。ＬＦＣのように、露光時間が完全に重複した複数の視差画像が得られる場合、特に高い効果が得られる。
【００４１】
（輝度補正処理）
次に図３のＳ１０２における輝度補正処理について図６を示してさらに説明する。まず輝度補正処理が必要となる原因であるケラレについて図６（ａ）から図６（ｃ）を用いて説明する。
【００４２】
図６（ａ）は撮影光軸４、撮像素子６、絞り４３、各種レンズ枠４２，４４（レンズ保持等を行う部分であり、一般的に画面中心４０では光線を制限しないが像高に応じて光線を制限する端面となりうる個所）とケラレの関係を模式的に示している。図６（ｂ）は画面中心４０での絞り４３および各種レンズ枠４２，４４の位置関係を示す図であり、図６（ｃ）は撮像素子６上のある点４１での絞り４３および各種レンズ枠４２，４４の位置関係を示す図である。
【００４３】
図６（ａ）では説明を容易にするために、絞り４３に対して撮像素子６側とその反対側に１つずつのレンズ枠４２，４４があるものとしたが、これは模式的なものであり必ずしも１つずつである必要はない。図６（ａ）において絞り４３を示す太い直線は開口の大きさを１次元的に示したものである。実際の絞りはほぼ円形であるがその直径を模式的に示していると考えれば良い。これはレンズ枠４２，４４も同様である。画面中心４０から見た場合絞り４３に向かう光線はレンズ枠４２，４４によってケラレが発生することが無い。これを図６（ｂ）に示した。図６（ｂ）は絞り４３およびレンズ枠４２，４４を絞り４３の面に投影したものである。この時４２，４３，４４は同心円をなしており且つ絞り４３の径が最も小さいためにレンズ枠４２，４４によってケラレが発生していない。
【００４４】
一方で、一定の像高がある点４１から見た場合、レンズ枠４２，４４によるケラレが発生する可能性がある。図６（ｃ）の例では撮像素子６側にあるレンズ枠４４によって領域４５にケラレが発生している。図６（ｂ）と同様に点４１からの絞り４３およびレンズ枠４２，４４を絞り４３の面に投影したものを図６（ｃ）に示した。レンズ枠４４によってケラレが発生し、輝度が低下していることが分かる。
【００４５】
図６（ａ）ないし（ｃ）から分かるようにケラレの発生や大きさは、瞳距離、瞳径（Ｆナンバー）、像高、レンズ枠の距離と径に応じて決定される。なお、図６（ａ）では、瞳距離は撮像素子６と絞り４３との距離で、瞳径は絞り４３の幅で、像高は画面中心４０と撮像素子６上のある点４１との距離で表現される。また同様に、図６（ａ）では、レンズ枠の距離は撮像素子６とレンズ枠４２，４４との距離、レンズ枠の径はレンズ枠４２，４４の幅で表される。
【００４６】
輝度に変化が生じていると、位置合わせなどの処理を行う際に演算の失敗や誤差要因になる。そこで本実施形態ではそれらの処理に先立ってＳ１０２で輝度調整（ケラレ補正）を施すことにより、位置合わせや輝度差の算出精度を高めている。
【００４７】
上述したケラレの決定因子のうち、瞳距離およびレンズ枠の距離はレンズ２固有の値である。従って、Ｆナンバーと像高に応じた補正値を予め用意し、例えば補正値テーブルとして保存しておくことができる。そして、輝度調整部５０１は現在のＦナンバー（絞り値）と画素の像高に応じた補正値をテーブルから取得して輝度補正を行うことで、ケラレによる輝度の変化を補正することができる。なお、Ｆナンバーやレンズの固有情報を画像データの付加情報などから取得してケラレ補正を行ってもよい。
【００４８】
また、輝度調整部５０１は、電気接点１１を通じて撮影条件やレンズの情報取得を行いケラレ状態を決定し、例えば像高に応じて画面中心４０からの距離が所定の画素数より大きくなる領域について補正をするようにしてもよい。視差を持つ画像については、対応する瞳領域に応じて画面中心４０の位置が相対的に移動するから、各視差画像においては対応する瞳領域に応じて画面中心４０を所定の画素数分ずらした上で補正を行うようにしてもよい。
【００４９】
（視差画像位置合わせ処理及び輝度差算出処理）
次に、図３のＳ１０３およびＳ１０４で行う視差画像の位置合わせ処理および輝度差算出処理について、図７を用いてさらに説明する。図７（ａ）は複数の視差画像を取得する様子を模式的に示した図である。矢印７９は光源からの光線を、８０は被写体を表す。矢印８１，８２，８３は各視差画像の視点方向を、８４，８５，８６はそれぞれ８１，８２，８３方向から見たときに被写体を、８４ａ，８５ａ，８６ａは、それぞれ被写体像８４，８５，８６上の鏡面反射成分の位置を示している。
【００５０】
図７（ｂ）は位置合わせを行った後の状態を模式的に示す図である。８４（８５および８６は重なっている）は図７（ａ）の被写体像を、８４ａ，８５ａ，８６ａは図７（ａ）と同じ鏡面反射成分の位置を、８１ａ，８２ａ，８３ａは視点８１，８２，８３からの像を位置合わせしたことを示す枠である。８７は位置合わせのために用いる部分領域を示す枠である。
【００５１】
図７（ｃ）は図７（ｂ）の状態での枠８７内の輝度分布を模式的に示した図である。図７（ｃ）の横軸は図７（ｂ）の横方向の位置を、縦軸は輝度を示している。図７（ｃ）において９１，９２，９３はそれぞれ被写体８４，８５，８６の輝度を示すグラフ、９４は背景の輝度レベル、９５は被写体８０の拡散反射レベル９６は拡散反射と鏡面反射を合わせて輝度レベルを示している。
【００５２】
図７（ａ）では３つの視点から同一の被写体８０を撮影している様子を示している。ここでは複数の視点から示すことを模式的に示しており視点の数や位置には特別な意味はない。図７（ａ）に示すように複数の視点８１，８２，８３から撮影するとそれぞれの視差画像には同一の被写体８０が異なる位置に結像８４，８５，８６する。図３で説明したように視差画像間の相対的な位置は、視差と被写体の距離によって決まる。図７（ａ）では横方向にずれて結像している様子を示した。
【００５３】
被写体像を適当な大きさで切り出し被写体像が一致するように位置合わせを行うと図７（ｂ）のような像が得られる。すなわち被写体像８４，８５，８６が重なり、反対に像の取得範囲を示す枠８１ａ，８２ａ，８３ａがずれた状態である。被写体の位置合わせに用いた枠を８７で模式的に示した。枠８７内の輝度分布は図７（ｃ）に示すようになっている。ここで図７（ｃ）は１次元的な広がりを持つように図示しているが、これはエピポーラ拘束と関連している。図７（ａ）の説明で横方向にずれて結像していると記載したが、これは視差が横方向にのみ生じているような視差画像を用いていることを意味している。図５の例に対応させると瞳領域３０−ａ，３０−ｃ，３０−ｅに対応した視差画像を利用すればｘ方向にのみ視差を持ちこの例のようになる。この場合は縦方向には被写体像のずれは生じないので、視差方向に直交する方向（図７では縦方向）の信号を加算して画像を１次元的な広がりを持つように扱うことができる。このようにすることで計算量を削減するとともに信号のＳ／Ｎ比をあげて位置合わせを行うことが可能となる。
【００５４】
鏡面反射による影響が支配的ではない場合、図７（ｃ）に示すように被写体８４，８５，８６は被写体エッジを利用して位置合わせがなされる。被写体の位置合わせに用いる枠８７の大きさを適当に設定すれば、鏡面反射成分に引きずられて位置合わせ精度が低下することを避けることができる。
【００５５】
視差画像位置合わせ部５０２は、輝度調整部５０１による輝度調整のされた画像を取得し、位置合わせ処理を行う。上述のように位置合わせ処理はステレオマッチングとして知られる公知の方法で視差画像間の対応点の探索処理を行えばよい。ＬＦＣにより得られた視差画像は、直線上（例えばｘ方向）にのみ視差をもつ視差画像の組み合わせを容易に選択することができる。視差画像位置合わせ部５０２は、ｘ方向にのみ視差をもつ視差画像の組み合わせを選択して、位置合わせ処理の対象にしてもよい。また、対応点の探索の前処理として公知の方法で被写体のエッジや特徴点の抽出を行ってもよい。視差画像位置合わせ部５０２は、位置合わせ処理の結果により、視差画像間の対応する画像位置の情報を生成する。
【００５６】
また、視差画像の位置合わせ処理は、輝度の一致度に基づいて後の光源色推定処理に適した画像領域を特定することができる。なお、本実施形態で一致度とは、２つの像を位置合わせした後の輝度の差分絶対値の和を指す。例えば、図７では２つの輝度を比較した時に重ならない部分の大きさを指す。
【００５７】
図７（ｃ）に示す被写体８４，８５，８６の信号９１，９２，９３は鏡面反射を強く含む領域８４ａ，８５ａ，８６ａでは像の一致度が低い。一方でその周辺部や被写体８０のエッジでは非常に良く一致する。
【００５８】
詳細は後述するが、被写体上の同じ位置を観察していても鏡面反射成分は視差によって大きく異なっている。図７（ｃ）の位置８４ａ、８５ｂ、８６ｃの部分のように部分的に信号の一致度が低い場合は鏡面反射成分を含むことが考えられるため光源色推定処理に用いるのに適している。換言すれば、視差画像の位置合わせの処理において輝度の一致度が予め定められた範囲となる画像中の部分領域の情報を用いて光源色推定処理を行うと都合が良い。
【００５９】
像の一致度が非常に高い箇所は、鏡面反射ではなく拡散反射成分が支配的で視差間の像の差がほとんどないことが想定される。他方、像の一致度が非常に低い箇所は、オクルージョンや被写体の位置合わせに用いる枠内に距離の異なる物体が複雑に混在している場合が考えられる。これらの場合は、鏡面反射成分を抽出する場面として適しているとは言えない。従って、これらの間における一致度のうち、光源色推定に用いるのに適した一致度の範囲を例えば実験的に求めておく。
【００６０】
別の例として、位置合わせに用いる画像内の一部の領域で一致度が高く、一部の領域で一致度が低い場合に、一致度が低い部分的な領域を利用して光源色推定処理を行うこともできる。これは図７（ｃ）のように鏡面反射光により像の一致度が低下している場合を考えると、鏡面反射光の影響を受ける範囲のみ一致度が低下し、他の部分では一致度が高くなることを利用している。すなわち図７（ｃ）の拡散反射光のレベル９５にある部分（被写体である植木鉢の右側付近）や背景は一致度が高く、鏡面反射光を含む領域８４ａ，８５ａ，８６ａでは像の一致度が低い。一部分のみ一致度が低い場合は、オクルージョンが生じている場合を除いて、光源の鏡面反射の影響を受けている可能性が高い。
【００６１】
視差画像位置合わせ部５０２は、視差画像の位置合わせ処理に加えて輝度の一致度を算出する。視差画像位置合わせ部５０２は、視差画像から対応する画像位置の輝度値を取得して、例えば輝度の差分絶対値の和を一致度として算出する。算出した一致度が、実験等の方法により予め設定された値の範囲に属する場合は、画素位置と対応させた情報にフラグを立てて光源色推定に適した領域（光源色推定対象領域）であることを示す。他方、一致度が設定された値の範囲から外れるときは、フラグを立てずに光源色推定に適さない領域であることを示す。
【００６２】
輝度差算出部５０３は、視差画像位置合わせ部５０２で位置合わせされた視差画像間の対応する画素位置に関する情報を取得する（対応点取得）。輝度差算出部５０３は、対応点取得によって得られた視差画像の対応する画素位置において、それぞれの視差画像の対応する画素位置の輝度値を取得してその差分を算出する。輝度差算出部５０３は、対応する画素位置の情報が存在する全ての画素について輝度差を算出してもよいが、視差画像位置合わせ部５０２にてフラグが立てられた領域のみ輝度差を算出してもよい。
【００６３】
輝度差算出部５０３は、視差画像が３以上の場合には、各画素位置におけるこれらの視差画像の輝度値のうち最大値と最小値の差を求める。これについては光源色推定処理において更に説明する。
【００６４】
以上のように、輝度差の算出は視差画像の対応する画素位置の単位で求められるため、画像全体で統計処理をした場合のように他の様々な被写体の影響を受けて推定精度が低下する問題を軽減することができる。
【００６５】
（光源色推定処理）
次に、図１を用いて反射光の状態と光源色推定処理の動作について説明する。図１（ａ）は被写体がランバート面の場合の拡散反射光の状態を示す図を、図１（ｂ）は鏡面反射光の状態を示す図である。また図１（ｃ）は拡散反射光および鏡面反射光を含む光線を撮像装置でとらえる様子を模式的に示す図を、図１（ｄ）は平行光が物体に当たっている状態を撮像装置でとらえる様子とその時の信号の状態を示す図である。
【００６６】
図１（ａ）において、５０は物体を、５１は光線を、５２は拡散反射光を、θは光線５１の入射角を示す。図１（ｂ）において、５３は鏡面反射光を、６１は光線５１の正反射方向を示す線を示す。図１（ｃ）において、３は撮影光学部を、４は撮影光軸を、６は撮像素子であり、５４は拡散反射光と鏡面反射光を加えた反射光を示す。また３０−ａ、３０−ｅは図５（ｃ）と対応する撮影光学部３の特定の瞳領域である。φaは３０−ａと正反射方向６１がなす角を、φeは３０−ｅと正反射方向６１がなす角である。図１（ｄ）において、５０ａ，５０ｂ，５０ｃ，５０ｄは物体５０上の点を、６ａ，６ｂ，６ｃ，６ｄは撮像素子６上の物体上の点５０ａ，５０ｂ，５０ｃ，５０ｄのそれぞれに対応する点を表す。５１ａ，５１ｂ，５１ｃ，５１ｄは点５０ａ，５０ｂ，５０ｃ，５０ｄに入射する光線を、６１ａ，６１ｂ，６１ｃ，６１ｄは光線５１ａ，５１ｂ，５１ｃ，５１ｄの正反射方向を示す線である。５２−ａ，５２−ｅは瞳領域３０−ａ、３０−ｅを通過した信号の輝度を、５３は瞳領域３０−ａを通過して点５０ｃ上の輝度を、５４は瞳領域３０−ｅを通過して点５０ｃ上の輝度を、５５は拡散反射光のレベルをそれぞれ示している。
【００６７】
以下に説明する反射モデルはいわゆる２色性反射モデルに基づいている。２色性反射モデルは公知であり、その詳細については、例えば「ディジタル画像処理」 CG-ARTS協会 P.281などを参照されたい。
【００６８】
まず拡散反射を考える。拡散反射光は多くの場合完全に乱反射するような反射でモデル化され、ランバート反射（このような反射をする面をランバート面）と呼ばれる。図１（ａ）はランバート面でモデル化された反射特性を図示しており、５２は各方向への反射が均一な様子を分かりやすく示すために反射光の強度の包絡線で示されている。拡散反射光は見る方向によって輝度が変化しないことが特徴である。これを式で記載すると次のようになる。
Ld(λ)=Ie(λ)Kd (λ)cosθ      ・・・(1)
ただしLd(λ)は拡散反射光の輝度、Ie(λ)は光源の輝度、Kd(λ)は拡散反射特性、θは入射角である。
【００６９】
次に鏡面反射を考える。本実施形態ではCGなどで多く利用されているフォンモデルを示す。鏡面反射光は多くのモデルが提案されているため他のモデルを用いても良い。正反射方向となす角によって大きく輝度が変化するという特徴を利用していれば適用可能である。図１（ｂ）はフォン反射モデルでモデル化された反射特性を図示しており、光線５１の正反射方向６１に強いピークを持ち角度が変わると急に減衰する。観察する方向によって反射光が変化する様子を分かりやすく示すために反射光の強度の包絡線を５３で示した。これを式で記載すると次のようになる。
Ls(λ)=Ie(λ) (cosφ)n      ・・・(2)
ただしLs(λ)は鏡面反射光の輝度、φは正反射方向と観察方向のなす角、nは物体の特性によって決まる定数である。数式(2)において鏡面反射光の波長特性は光源の特性と同じという仮定を暗黙に利用している。
【００７０】
観察対象は上記の鏡面反射光と拡散反射光の合成したものであるから、視点pから観察した場合は次の式のように記述される。
L(λ)= Ld(λ) ＋Ls(λ) ＝Ie(λ)Kd (λ)cosθ  ＋  Ie(λ) (cosφp)n            ・・・(3)
ただし、L(λ)は拡散反射光と鏡面反射光を合わせた反射光の輝度、φpは正反射方向と視点pとのなす角である。
【００７１】
次に図１（ｃ）を用いて光線の状態について説明する。画像処理装置は、図１（ｃ）に示すように拡散反射光と鏡面反射光が合成された複雑な輝度分布５４が処理対象となる。この時、瞳領域３０−ｅを通過する光束は正反射方向６１となす角が小さく、この時、瞳領域３０−ａを通過する光束は正反射方向６１となす角が大きい。数式(3)によれば瞳領域３０−ａと瞳領域３０−ｅを通過する光束を比較した場合に、拡散反射光は同じ量含まれているが、鏡面反射光は強度が異なる。
【００７２】
本実施形態で示す画像処理装置は、ＭＬＡを利用すれば瞳の通過領域を分別して光束を取得可能であるから、光源色推定には分別して取得した拘束を利用する。画像処理装置は、瞳領域３０−ａから物体５０上の点５０ａを見た信号と、瞳領域３０−ｅから物体５０上の点５０ａを見た信号の差をとればよい。式で示すと以下のようになる。
Ldiff(λ)= Le(λ) − La(λ)
=(Ie(λ)Kd (λ)cosθ  ＋  Ie(λ) (cosφe)n) 
− (Ie(λ)Kd (λ)cosθ  ＋  Ie(λ) (cosφa)n)
= Ie(λ){ (cosφe)n  −(cosφa)n }      ・・・(4)
ただし、Ldiff(λ)は、瞳領域３０−ａから物体５０上の点５０ａを見た信号と瞳領域３０−ｅから物体５０上の点５０ａを見た信号の差を表す。La(λ)、Le(λ)はそれぞれ瞳領域３０−ａから物体５０上の点５０ａを見た信号と瞳領域３０−ｅから物体５０上の点５０ａを見た信号を表す。φa、φeはそれぞれ瞳領域３０−ａから物体５０上の点５０ａに向かう線と正反射方向６１となす角、瞳領域３０−ｅから物体５０上の点５０ａに向かう線と正反射方向６１となす角である。
【００７３】
数式(4)を見ると明らかなように、”(cosφe)n  −(cosφa)n”は視点によって決まる定数であり波長依存性を持たない。光源の色（波長特性）はLdiff(λ)と比例している。そのためLdiff(λ)から光源の波長特性を知ることが可能となる。このように光源の波長特性を知ることを本実施形態では光源色推定と呼んでいる。
【００７４】
図１（ｄ）を用いて実際の撮影状況と数式(4)の関係について説明する。図１（ｄ）は平行光が物体５０にあたって、その反射光を撮像している様子を示している。図１（ｃ）の説明では省略したが、撮像素子６上には物体の様々な個所の反射光が結像している。すなわち数式(4)などは位置の関数になっている。例えば図１（ｄ）においては物体５０上の点５０ａ，５０ｂ，５０ｃ，５０ｄはそれぞれ撮像素子上の点６ａ，６ｂ，６ｃ，６ｄに対応している。図１（ｄ）の例では簡単のために主レンズピントは物体５０にあっているように記載した。つまり瞳通過領域によらず物体側の点は撮像素子上の同じ位置に結像している。一方で、主レンズピントが物体５０にあっていない場合は瞳通過領域によって結像する位置がずれる。（これは位相差ＡＦの原理としてよく知られているので説明は省略する。）
このような状況で得られる信号は図１（ｄ）の下段のような信号になる。瞳領域３０−ａを通過した信号は５２−ａ、瞳領域３０−ｅを通過した信号は５２−ｅとして図示した。ここで物体の拡散反射光レベル５５は数式(1)、数式(3)のLd(λ)に対応している。
【００７５】
図１（ｄ）の例では５３は物体上の点５０ｃから瞳領域３０−ａを通過した場合の信号を、５４は物体上の点５０ｃから瞳領域３０−ｅを通過した場合の信号を表す。信号５３，５４に注目すると、鏡面反射光の影響で像の一致度が低下している。これは、図７を用いて説明した状況である。図７を用いて説明したように、図１（ｄ）には不図示の物体の輪郭などで信号５２−ａと５２−ｅの位置合わせがなされる。さらに、信号５３は数式(4)のLa(λ)に対応しており、信号５４は数式(4)のLe(λ)に対応している。信号５３と信号５３では鏡面反射光の大きさが大きく異なるのでこの差から光源色推定を行うことができる。
【００７６】
さらに一般的に考えると視点は２つよりも多い複数個である場合が考えられるこのような場合には次の式に従えばよい。
Ldiff(λ)= max{Li(λ)} − min{Li(λ)}  (i=1,2,…,N)      ・・・(5)
ただしmaxは輝度最大の視点を選択する演算子、minは輝度最小の視点を選択する演算子、iは視点に対応する添え字、Nは視点数である。数式(5)において輝度最大、輝度最小としたのは、波長(λの値)ごとに最も大きいものと小さいものの差をとるのではなく、輝度が最大の視点位置と輝度が最小の視点位置を選択したのちに、視点間で波長ごとの値を求めることを示すものである。
【００７７】
数式(5)は数式(4)の自然な拡張になっている。数式(5)によると数式(4)と異なり２より多い視差を一般的に扱うことが可能となる。また最大値と最小値の差を利用することで、Ｓ／Ｎ比が良い状態で光源色推定を行うことが可能となる。特に多数の視差画像がある場合は、鏡面反射光を強く含む視点が含まれる可能性がある。このような視点の情報を積極的に活用するには数式(5)を用いると都合が良い。
【００７８】
図１（ｂ）や数式(2)から分かるように、物体の特性によって決まる定数nが大きい場合は正反射方向と観察方向のなす角が大きくなると鏡面反射光の輝度が急激に減衰する。光源色を正しく（Ｓ／Ｎ比が良い状態で）推定するためには、正反射方向に近い視点があると有利になる。換言すれば、数式(5)を用いて多数の視点を利用することによって、２つの視点を利用する場合に比べてより精度よく光源推定を行うことができる。
【００７９】
図１（ｄ）のように視点によって鏡面反射光の取得状態が異なるということは多くの場面で起こりうる。図８は視点による鏡面反射光の取得状態の異なる例を模式的に示したものである。図８（ａ）は曲面の物体５０に平行光が当たっている状況を、図８（ｂ）は平面に対して拡散光（光源が近い位置にある場合に対応）が当たっている状況をそれぞれ示した。図８に用いる記号は図１（ｄ）と同じものには同じ番号を付した。
【００８０】
図８（ａ）および図８（ｂ）の例では、いずれも瞳領域３０−ａを通過した信号５２−ａは物体上の点５０ｂ近傍に鏡面反射光のピークを持ち、瞳領域３０−ｅを通過した信号５２−ｅは物体上の点５０ｃ近傍に鏡面反射光のピークをもつ。ここで大切なことは視点の違いによって鏡面反射光が異なり、拡散反射光が等しいことである。この特性を利用すれば、被写体が曲面物体である場合や光源が近い場合であっても数式(4)または数式(5)を利用して光源色の推定を行うことが可能となる。
【００８１】
光源色推定部５０４は、輝度差算出部５０３が生成した輝度差を用いて光源推定を行う画素位置を決定し、この画素位置におけるＲ，Ｇ，Ｂ各色の輝度差の組み合わせから光源の色を推定する。視差画像が３以上の場合には、上述のように輝度差算出部５０３は、視差画像間の輝度差の算出において、各画素位置におけるこれらの視差画像の輝度値のうち最大値と最小値の差を求める。これは、輝度が最大の視点位置と輝度が最小の視点位置の組み合わせを選択することに相当する。光源色推定部５０４は、これらの視点位置を構成する各視差画像からＲ，Ｇ，Ｂ各色の輝度差の組み合わせを求め、光源の色を推定する。
【００８２】
このように輝度差を算出することによって簡易な演算で鏡面反射光を抽出することができる。そして、鏡面反射光から容易に光源色を推定することができるため、全体として簡単な方法で視差画像から光源色を推定することができる。また、視差画像の数が増えた場合においても、輝度の差が最大となる視点を選択するだけであるから、計算量の増加が抑えられる。
【００８３】
本実施形態によれば、同時に露光した視差画像について処理を行うことができるから、動画像撮影における光源色推定に適用することが可能であり、ひいては動画像撮影におけるホワイトバランスの処理も可能となる。
【００８４】
以上に説明したように本発明によれば、簡便な構成で精度の良い光源色の推定が可能な画像処理装置、その制御方法およびプログラムを提供することができる。
【００８５】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2015122669.tif 000003
【図２】
2015122669.tif 000004
【図３】
2015122669.tif 000005
【図４】
2015122669.tif 000006
【図５】
2015122669.tif 000007
【図６】
2015122669.tif 000008
【図７】
2015122669.tif 000009
【図８】
2015122669.tif 000010