(57)【要約】【課題】複数の撮影画像から高速かつ高精度に光源色を特定できるようにする。【解決手段】まず、基準画像と参照画像とを複数のブロックに分割し、これらの画像の間のズレ量を求める。そして、求めたズレ量を基にアフィン変換により位置合わせを行う。続いて、これらの位置合わせされた画像のラインデータの少なくともどちらか一方に高輝度の画素が存在する画素位置において、輝度値の差分絶対値を算出し、閾値判定を行うことにより鏡面反射領域を特定し、信号値の差分を算出して光源色を特定する。【選択図】図１
2016072924.tif 000002
【特許請求の範囲】
【請求項１】
視差を有する複数の撮影画像を取得する取得手段と、
前記複数の撮影画像の間で位置合わせを行う位置合わせ手段と、
前記位置合わせ手段によって位置合わせされたそれぞれの撮影画像から輝度値が所定値以上の領域を検出し、前記検出された領域における前記複数の撮影画像の間の輝度値の差分から鏡面反射領域を検出する検出手段と、
前記検出手段によって検出された鏡面反射領域の信号値の差分を算出して光源色を特定する特定手段と、
を備えることを特徴とする画像処理装置。
【請求項２】
前記検出手段は、前記輝度値が所定値以上の隣り合う領域の間の距離が前記位置合わせを行ったズレ量よりも小さく、かつ前記隣り合う領域の間に輝度値が所定の閾値よりも低い領域が存在する場合は、当該領域を鏡面反射領域として検出しないようにすることを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記位置合わせ手段は、上下または左右の位置変動のある撮影画像の間で位置合わせを行うことを特徴とする請求項１又は２に記載の画像処理装置。
【請求項４】
前記位置合わせ手段は、アフィン変換または射影変換を用いて位置合わせを行うことを特徴とする請求項１〜３の何れか１項に記載の画像処理装置。
【請求項５】
前記検出手段は、前記位置合わせ手段によって位置合わせされた方向に基づくラインごとに鏡面反射領域を検出することを特徴とする請求項１〜４の何れか１項に記載の画像処理装置。
【請求項６】
視差を有する複数の撮影画像を取得する取得工程と、
前記複数の撮影画像の間で位置合わせを行う位置合わせ工程と、
前記位置合わせ工程において位置合わせされたそれぞれの撮影画像から輝度値が所定値以上の領域を検出し、前記検出された領域における前記複数の撮影画像の間の輝度値の差分から鏡面反射領域を検出する検出工程と、
前記検出工程において検出された鏡面反射領域の信号値の差分を算出して光源色を特定する特定工程と、
を備えることを特徴とする画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、特に、光源色を推定するために用いて好適な画像処理装置及び画像処理方法に関する。
【背景技術】
【０００２】
従来、デジタルカメラやデジタルビデオカメラ等で撮影した画像から物体の鏡面反射領域を検出し、検出された鏡面反射領域より光源色を推定して撮影画像のホワイトバランスの精度を向上させる技術が知られている。ここで、物質からの反射光は、図５に示すように、鏡面反射光成分と乱反射光成分との２つに大きく分けることができる。
【０００３】
鏡面反射光成分は光源色に等しい成分を含み、物質表面での入射角θiと反射角θrとが等しくなるときに強度が最大となる。一方、乱反射光成分は物質内で入射光が乱反射した後に出力される反射光成分であって物質色を含み、入射角及び反射角に対する強度の依存性はなく一様である。同一の物質表面の２点Ａ、Ｂにおける反射光をそれぞれＩａ、Ｉｂとすると、以下の（１）式および（２）式によって反射光成分が算出される。
Ｉａ＝ｆａ×Ｓ＋Ｄａ    ・・・（１）
Ｉｂ＝ｆｂ×Ｓ＋Ｄｂ    ・・・（２）
【０００４】
ここで、ｆａ、ｆｂは物体表面の２点Ａ、Ｂにおける鏡面反射光の反射率を表し、前述の通り、入反射角に依存する。Ｓは鏡面反射光が物体表面で１００％反射された場合の反射光強度を表す。また、Ｄａ、Ｄｂは２点Ａ、Ｂにおける乱反射光成分を表している。２点Ａ、Ｂがそれぞれ同一物体表面の近傍に位置する場合、乱反射光成分Ｄａ、Ｄｂはほぼ等しいとみなせるため、以下の（３）式が成り立つ。
（Ｉａ−Ｉｂ）＝（ｆａ−ｆｂ）×Ｓ  ・・・（３）
【０００５】
上記（３）式は２点Ａ、Ｂでの反射光成分の差分（Ｉａ−Ｉｂ）が鏡面反射光成分に比例することを示している。つまり鏡面反射領域の輝度差を検出すれば鏡面反射光成分（光源色）を推定することができる。
【０００６】
この反射光の性質を利用して光源色を推定する方法は、例えば特許文献１及び２に開示されている。特許文献１には、ブロック毎に画素値を輝度に応じて分類し、最も明るい輝度領域の平均値と２番目に明るい輝度領域の平均値との少なくとも一部の差分に基づいて光源色を特定する技術が開示されている。また、特許文献２には、直線上を移動しながら撮影した複数の視差画像から視点の移動量に対して視差画像上の位置の変化量が比例しない特定領域を検出することにより鏡面反射領域を検出する技術が開示されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特許第４４４７５２０号公報
【特許文献２】特許第３９４３２８８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に示される従来技術では、差分をとる画像領域が一様な表面でない場合に、物体表面の色や模様が異なることによって乱反射光成分に違いが生じるため、検出される鏡面反射光成分の信頼度が低下してしまうという課題があった。また、特許文献２に示される従来技術では、曲線成分を抽出するために、撮像素子を直線上に移動させて複数枚撮影する必要があるため、デジタルビデオカメラ等の高速性が求められる機器については適用が困難である。
【０００９】
本発明は前述の問題点に鑑み、複数の撮影画像から高速かつ高精度に光源色を特定できるようにすることを目的としている。
【課題を解決するための手段】
【００１０】
本発明に係る画像処理装置は、視差を有する複数の撮影画像を取得する取得手段と、前記複数の撮影画像の間で位置合わせを行う位置合わせ手段と、前記位置合わせ手段によって位置合わせされたそれぞれの撮影画像から輝度値が所定値以上の領域を検出し、前記検出された領域における前記複数の撮影画像の間の輝度値の差分から鏡面反射領域を検出する検出手段と、前記検出手段によって検出された鏡面反射領域の信号値の差分を算出して光源色を特定する特定手段と、を備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、複数の撮影画像から高速かつ高精度に光源色を特定することができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係るデジタルビデオカメラの構成例を示すブロック図である。
【図２】実施形態における基本的な処理手順の一例を示すフローチャートである。
【図３】画像変換部による位置合わせ処理の詳細な手順の一例を示すフローチャートである。
【図４】鏡面反射領域の検出処理及び光源色の推定処理の詳細な手順の一例を示すフローチャートである。
【図５】鏡面反射光成分および乱反射光成分を説明するための図である。
【図６】複数のブロックに分割された視差画像を説明するための図である。
【図７】ズレ量を算出する手順を説明するための図である。
【図８】アフィン変換に使用するズレ量を選択する方法を説明するための図である。
【図９】位置合わせ後の視差画像においてブロック分割する方法を説明するための図である。
【図１０】カラーフィルターの一例を示す図である。
【図１１】Ｒ、Ｇ、Ｂプレーンを作成するためのフィルターを示す図である。
【図１２】ラインデータの方向を示す図である。
【図１３】ラインデータを切り出す位置及び輝度値を示す図である。
【図１４】鏡面反射領域を特定する方法を説明するための図である。
【図１５】視差のある２枚の画像にオクルージョン領域が発生する場合の例を示す図である。
【図１６】低輝度領域を含むライン上の輝度分布の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下に、本発明の好ましい実施形態を、添付の図面に基づいて詳細に説明する。
図１は、本実施形態に係るデジタルビデオカメラ１００の構成例を示すブロック図である。
図１において、操作入力部１０１は、ユーザーからの撮影指示を制御部１０２に伝えるための入力ボタンであり、制御部１０２は、操作入力部１０１からの指示を受けてデジタルビデオカメラ１００全体の制御を行う。
【００１４】
撮像部１０３は、光学レンズとＣＣＤやＣＭＯＳ素子のセンサーとを備え、センサーの前段には入射光をＲＧＢの各色成分に分離するカラーフィルターを備える。カラーフィルターは、一般的には図１０（ａ）に示すようなベイヤー配列のカラーフィルターが用いられる。ＡＤ変換部１０４は、撮像部１０３からの入力信号を画像データに変換し、記憶部１０５に保存する。記憶部１０５は、画像データを一時的に保持するための内部メモリであり、ＤＲＡＭ等の揮発性メモリで構成される。
【００１５】
カメラ位置検出部１０６は、撮影時のカメラ位置を検出するための位置検出器である。具体的には、画像毎にデジタルビデオカメラ１００の上下、左右および前後の位置変動を検知するための加速度センサーと、デジタルビデオカメラ１００の水平角及び垂直角の位置変動を検知するためのジャイロセンサーとからなる。画像変換部１０７は、視差量のある２枚の画像データの各領域における動きベクトルを基に画像変換を行うことにより、連続して撮影された２枚の画像データの位置合わせを行う。
【００１６】
鏡面反射領域検出部１０８は、画像中の高輝度領域を検出し、検出した高輝度領域における輝度値の差分を算出し、算出された値をあらかじめ設定された閾値と比較することにより鏡面反射領域を特定する。光源色検出部１０９は、検出された鏡面反射領域におけるＲ、Ｇ、Ｂの各信号値の差分から光源色成分を算出する。
【００１７】
画像処理部１１０は、算出された光源色成分をもとに画像データに対してホワイトバランス処理を施すとともに、ＮＲ、エッジ強調などの各種現像処理を施す。画像圧縮部１１１は、現像後の画像データを圧縮してＪＰＥＧ等のデータ形式に変換する。外部記憶装置１１３は、圧縮された画像データを保存するためのＳＤカード等の外部記憶メモリである。外部記憶制御部１１２は、外部記憶装置１１３との間で画像データの読み出し及び書き込みを制御する。
【００１８】
図２は、本実施形態における基本的な処理手順の一例を示すフローチャートである。
まず、ユーザーの操作により操作入力部１０１から撮影指示を受けると処理を開始し、Ｓ２０１において、撮像部１０３およびＡＤ変換部１０４により、複数枚の画像を連続して撮影し、記憶部１０５に複数の撮影画像を保存する。また、カメラ位置検出部１０６は、画像毎に撮影時のカメラ位置情報を検出する。そして、制御部１０２は、検出されたカメラ位置情報をもとに、連続して撮影された撮影画像の中から所望の位置変動を持った画像（以降、視差画像）を検出する。
【００１９】
続いてＳ２０２において、画像変換部１０７は、検出された２枚の視差画像のズレ量ベクトル（動きベクトル）を基に画像変換を行い、２枚の画像の位置合わせを行う。なお、この処理の詳細については後述するが、本実施形態では画像変換としてアフィン変換を用いる。このため、Ｓ２０１で検出する視差画像は、アフィン変換で位置合わせできる上下・左右の平行移動分の位置変動がある画像のみを対象とする。
【００２０】
また、Ｓ２０１では、アフィン変換で位置合わせできない水平角、垂直角の位置変動のある画像は視差画像として検出しないようにする。さらに画像の拡大・縮小に影響する前後移動についても位置合わせの精度が低下する恐れがあるため視差画像として用いないものとする。代わりに、カメラ位置の水平角、垂直角の位置変動については、射影変換による画像変換を用いることによって位置合わせを行うことができる。ただしその場合、ズレ量ベクトルの算出および位置合わせにかかる計算量はアフィン変換に比べ増大するため、アフィン変換を用いて位置合わせを行う方がより好ましい。
【００２１】
続いてＳ２０３において、鏡面反射領域検出部１０８は、位置合わせされた２枚の視差画像間の輝度の差分絶対値を算出することにより鏡面反射領域を特定する。そして、光源色検出部１０９は、特定した鏡面反射領域におけるＲ，Ｇ，Ｂ各信号値の差分から光源色を推定する。
【００２２】
次のＳ２０４においては、画像処理部１１０は、推定された光源色を基にＷＢ処理を実施する。そして、Ｓ２０５において、画像処理部１１０は、ＷＢ処理が施された画像に対してノイズリダクションやエッジ強調等の各種画像処理を施し、ＹＵＶ形式のデータに変換する。続いてＳ２０６において、画像圧縮部１１１は、ＹＵＶ形式のデータをＪＰＥＧ形式の画像データに圧縮する。そして、Ｓ２０７において、外部記憶制御部１１２は、圧縮された画像データを外部記憶装置１１３に保存し、処理を終了する。
【００２３】
図３は、図２のＳ２０２における画像変換部１０７による位置合わせ処理の詳細な手順の一例を示すフローチャートである。
まず、Ｓ３０１において、検出された２枚の視差画像のうち、最初に撮影された方を基準画像、後に撮影された方を第１の参照画像とする。そして、それぞれの視差画像を、制御部１０２及び画像処理部１１０により、図１０（ａ）に示すベイヤー配列からＹＵＶ形式のデータに簡易現像した後、図６に示すように、基準画像６０１及び第１の参照画像６０２を複数のブロックに分割する。
【００２４】
続いてＳ３０２において、それぞれのブロックについて、基準画像６０１と第１の参照画像６０２との間のズレ量を求める。ズレ量の算出方法としては、図７（ａ）に示す位置から、基準ブロック６０３内で参照ブロック６０４を移動させながら相関値を求める。そして、図７（ｂ）に示すように相関値が最も小さい位置までの動きベクトルをその領域のズレ量とする。相関値としては、例えば差分絶対値和（ＳＡＤ）などがある。差分絶対値和による相関値を算出する方法については、例えば特許第４７８１２３３号公報に記載されている方法を用いる。
【００２５】
続いてＳ３０３において、検出された各ブロックのズレ量を基に、被写体の位置ずれ量を示すパラメータを算出する。本実施形態では、位置合わせにアフィン変換を使用するため、アフィン変換のパラメータを算出する。パラメータの算出手順は、まず、図８に示すように、Ｓ３０２で検出された各ブロックのズレ量から、アフィン変換に使用するズレ量を選択する。ズレ量の選択は、図８に示すように、全体のズレ量ベクトル８０１の傾向と合致しているズレ量を選択する。これは移動体の影響で、誤検出したズレ量ベクトルの影響を取り除くためである。
【００２６】
続いて、前記選択したズレ量からアフィンパラメータを推定する。アフィン変換は、並行移動、回転移動、および拡大・縮小のみと仮定すると、次の（４）式のように表わされる。
【００２７】
【数１】
2016072924.tif 000003
【００２８】
ここで、Ａ、Ｂ、Ｃ、Ｄはアフィンパラメータを表し、座標（ｘ，ｙ）は入力画像の座標を表し、座標（ｘ'，ｙ'）は出力画像の座標を表す。ズレ量は入力座標と出力座標との組み合わせと考えることができるため、前述したように、最低２つのズレ量を選択すれば、４つの未知数に対して式が４つできるため、アフィンパラメータを決定することができる。
【００２９】
続いてＳ３０４において、Ｓ３０３で算出したアフィンパラメータに基づいて第１の参照画像にアフィン変換を施す。アフィン変換によって第１の参照画像は、基準画像と重なるような形に変形（位置合わせ）される。位置合わせされた第１の参照画像は第２の参照画像として記憶部１０５に保存される。
【００３０】
図４は、図２のＳ２０３における鏡面反射領域の検出処理及び光源色の推定処理の詳細な手順の一例を示すフローチャートである。
まず、Ｓ４０１において、鏡面反射領域検出部１０８は、図９に示すように、基準画像６０１のうち、第２の参照画像９０１の含まれる画像領域を有効領域９０２として複数のブロックに分割する。以降、基準画像６０１と第２の参照画像９０１とのそれぞれから切り出したブロックを基準ブロック、参照ブロックとする。次に、Ｓ４０２において、鏡面反射領域検出部１０８は、１つの基準ブロック及び参照ブロックを選択する。
【００３１】
続いてＳ４０３において、鏡面反射領域検出部１０８は、選択した基準ブロック及び参照ブロックの各画素位置での輝度データを算出する。輝度データを算出する際には、まず、ベイヤー配列の画像データから、図１０（ｂ）〜図１０（ｄ）に示すように、Ｒ、Ｇ、Ｂそれぞれの信号のみを抽出した後、図１１に示すようなフィルターを施し、Ｒ、Ｇ、Ｂプレーンを作成する。そして、各プレーンの同じ画素位置から以下の（５）式を用いてそれぞれの画素位置による簡易輝度値Ｙを求めることにより輝度データを算出する。
Ｙ＝０．３×Ｒ＋０．６×Ｇ＋０．１×Ｂ      ・・・（５）
【００３２】
続いてＳ４０４において、鏡面反射領域検出部１０８は、算出された輝度データを用いて、ブロック中に輝度値が所定値以上の高輝度画像領域が存在するか否かを判定する。鏡面反射が生じている画像領域は乱反射光成分と鏡面反射光成分との両方の成分が含まれるため、輝度値が高くなる。この特性を利用して、鏡面反射領域を特定する際には、高輝度画像領域が含まれるブロックのみを対象に移行の処理を実施する。ただし、輝度が飽和している画像領域に関しては鏡面反射光成分の検出精度が低下してしまうため使用しないようにする。この判定の結果、高輝度画像領域が存在しない場合はＳ４０２に戻り、次のブロックを選択する。
【００３３】
一方、Ｓ４０４の判定の結果、高輝度画像領域が存在する場合は、Ｓ４０５に進む。そして、Ｓ４０５において、鏡面反射領域検出部１０８は、基準ブロック及び参照ブロックそれぞれの輝度データから、図１３（ａ）及び図１３（ｂ）に示すように１ライン分の輝度データ（以降、ラインデータ）を切り出す。このとき、切り出すラインデータの方向は、図１２（ａ）〜図１２（ｄ）に示すような縦、横、斜め４方向のうち、図３のＳ３０３で検出したズレ量方向に最も近い方向とする。以降、基準ブロックから抽出されたラインデータを基準ラインデータと呼び、参照ブロックから抽出されたラインデータを参照ラインデータと呼ぶ。
【００３４】
続いてＳ４０６において、鏡面反射領域検出部１０８は、図１４に示すように、基準ラインデータと参照ラインデータとの少なくともどちらか一方に高輝度の画素が存在する画素位置において、輝度値の差分絶対値を算出し、閾値判定を行う。前述のように、鏡面反射が生じている領域では、視差による物体表面での入反射角の変化により反射光成分の強度に差異が生じる。この違いを検出することにより、光源色を推定することが可能な鏡面反射領域が特定される。
【００３５】
ただし、物体表面の形状によっては、図１５に示すように、視差のある２枚の画像に死角（オクルージョン領域）が発生する場合がある。オクルージョンによる輝度の差分値が鏡面反射領域として検出されてしまうと、光源色を推定する精度を低下させてしまう。オクルージョンは高コントラストのエッジ部で発生し易いため、高コントラストのエッジ部を検出して光源色を推定する範囲から取り除く必要がある。そこで、例えば図１６に示すように、隣り合う高輝度領域Ａ、Ｂ間の距離Ｌを算出する。距離Ｌが図３のＳ３０３で検出された位置ズレ量ｄよりも小さく、かつ隣り合う高輝度領域Ａ、Ｂの間に所定の閾値Ｙｔｈ２よりも輝度値の低い低輝度領域が存在する場合は、高コントラストのエッジ部とみなす。したがって、この条件を満たす場合は光源色を推定する範囲から取り除く。
【００３６】
続いてＳ４０７において、鏡面反射領域検出部１０８は、取得したラインデータがブロック内の最終ラインか否かを判定する。この判定の結果、最終ラインでない場合はＳ４０５に戻り、同様の処理を繰り返す。一方、最終ラインである場合は、次のＳ４０８に進む。
【００３７】
続いてＳ４０８において、光源色検出部１０９は、検出された鏡面反射領域に対応する基準ブロックおよび参照ブロックの各Ｒ、Ｇ、Ｂプレーンから信号値の差分を算出して鏡面反射光成分を抽出する。
【００３８】
ここで、抽出される鏡面反射光成分は、ブロック内で検出された各鏡面反射領域の輝度差に依存して異なる。例えば、領域Ｘ、Ｙにおける信号値をＸ（Ｒ，Ｇ，Ｂ）、Ｙ（Ｒ，Ｇ，Ｂ）とし、Ｘ（１００，２００，４００）、Ｙ（１０，２０，４０）である場合は、光の強さは１０倍異なる。ところが、光源色が等しい場合は同じホワイトバランスゲインが得られる。例えば、領域Ｘ、Ｙから算出されるＲ、Ｂに対するホワイトバランスゲインをそれぞれＧａｉｎＲ（Ｘ）、ＧａｉｎＲ（Ｙ）、ＧａｉｎＢ（Ｘ）とＧａｉｎＢ（Ｙ）とする。この場合、算出されるＲ、Ｂそれぞれのホワイトバランスゲインは、以下の（６）式〜（９）式に示すように同じ値となる。
ＧａｉｎＲ（Ｘ）＝２００／１００＝２．０      ・・・（６）
ＧａｉｎＢ（Ｘ）＝２００／４００＝０．５      ・・・（７）
ＧａｉｎＲ（Ｙ）＝２０／１０＝２．０          ・・・（８）
ＧａｉｎＢ（Ｙ）＝２０／４０＝０．５          ・・・（９）
【００３９】
後述するＳ４１０では、ブロック全体で検出された鏡面反射領域におけるホワイトバランスゲインの平均値を算出することにより、光源色を推定する精度が向上することが見込まれる。
【００４０】
続いてＳ４０９において、光源色検出部１０９は、選択されたブロックが、画像内の最終ブロックか否かを判定する。この判定の結果、最終ブロックでない場合はＳ４０２に戻り、同様の処理を繰り返す。一方、Ｓ４０９の判定の結果、選択されたブロックが最終ブロックである場合は、Ｓ４１０に進む。
【００４１】
Ｓ４１０においては、光源色検出部１０９は、各ブロックで算出されたホワイトバランスゲインの平均値をそれぞれ算出し、光源色を推定する。このように、画像全体から検出された光源色（ホワイトバランスゲイン）の平均値を算出することにより、精度良く光源色を推定することが可能となる。
【００４２】
以上のように本実施形態によれば、まず、基準画像と参照画像とで位置合わせを行うことにより、鏡面反射成分を検出する際に乱反射光成分の影響を低減させる。そして、位置合わせされた２枚の画像の輝度差から鏡面反射光成分を検出するようにしたので、高速かつ精度良く光源色を推定することができる。以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【００４３】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４４】
１０２  制御部
１０３  撮像部
１０６  カメラ位置検出部
１０７  画像変換部
１０８  鏡面反射領域検出部
１０９  光源色検出部
【図１】
2016072924.tif 000004
【図２】
2016072924.tif 000005
【図３】
2016072924.tif 000006
【図４】
2016072924.tif 000007
【図１０】
2016072924.tif 000008
【図１１】
2016072924.tif 000009
【図１２】
2016072924.tif 000010
【図１４】
2016072924.tif 000011
【図１６】
2016072924.tif 000012
【図５】
2016072924.tif 000013
【図６】
2016072924.tif 000014
【図７】
2016072924.tif 000015
【図８】
2016072924.tif 000016
【図９】
2016072924.tif 000017
【図１３】
2016072924.tif 000018
【図１５】
2016072924.tif 000019