【文献】
島村 潤 他,プロジェクタ・カメラシステムにおける射影変換行列と直線パターン検出に基づく複数平面の検出,映像情報メディア学会誌,日本,(社)映像情報メディア学会,2007年 1月 1日,第61巻 第1号,pp.76-84
(58)【調査した分野】(Int.Cl.,DB名)
被写体を撮影して得られる複数の画像の内の基準となる基準画像の各画素に対する該基準画像以外の1枚以上の参照画像の各画素の位置ずれ量を射影変換行列を用いて算出する位置ずれ量算出部と、
該位置ずれ量算出部により算出された前記位置ずれ量に基づいて変換した前記参照画像を前記基準画像に合成して、合成画像を生成する画像合成部とを備え、
前記位置ずれ量算出部が、前記参照画像における前記位置ずれ量が異なる平面ごとに前記射影変換行列を算出する多平面射影変換行列算出部と、前記平面ごとに算出された各前記射影変換行列を用いて前記参照画像を変換した複数の位置合わせ画像を生成し、これら複数の位置合わせ画像と前記基準画像との各差分値に基づき、前記参照画像の各画素が属する前記平面およびこれら平面ごとに適用する前記射影変換行列を選択した平面マップを生成する平面選択部と、前記平面マップにおける前記射影変換行列の選択の誤りを抑制する選択エラー低減処理部と、前記射影変換行列の選択の誤りが抑制された前記平面マップに基づき、前記平面ごとに前記位置ずれ量の演算処理を行う演算処理部とを備え、
前記選択エラー低減処理部が、前記平面選択部により前記位置合わせ画像を生成する際の前記射影変換行列を用いた幾何変換に起因する前記射影変換行列の選択の誤りを抑制する変換誤差低減処理部を備え、
前記変換誤差低減処理部が、前記平面マップに膨張処理を施した後に収縮処理を施す画像処理装置。
前記膨張処理が、前記平面マップにおける対象となる複数の前記画素の内の最大の画素値で前記対象となる複数の画素を置き換え、前記収縮処理が、前記平面マップにおける対象となる前記複数の画素の内の最小の画素値で前記対象となる複数の画素を置き換える請求項1に記載の画像処理装置。
前記選択エラー低減処理部が、前記平面マップを縮小するマップ縮小処理部と、該マップ縮小処理部により縮小された前記平面マップを縮小前の解像度に戻すマップ拡大処理部とを備える請求項1から請求項4のいずれかに記載の画像処理装置。
被写体を撮影して得られる複数の画像の内の基準となる基準画像の各画素に対する該基準画像以外の1枚以上の参照画像の各画素の位置ずれ量を射影変換行列を用いて算出する位置ずれ量算出工程と、
該位置ずれ量算出工程により算出された前記位置ずれ量に基づいて変換した前記参照画像を前記基準画像に合成して、合成画像を生成する画像合成工程とを含み、
前記位置ずれ量算出工程が、前記参照画像における前記位置ずれ量が異なる平面ごとに前記射影変換行列を算出する多平面射影変換行列算出工程と、前記平面ごとに算出された各前記射影変換行列を用いて前記参照画像を変換した複数の位置合わせ画像を生成し、これら複数の位置合わせ画像と前記基準画像との差分値に基づき、前記参照画像の各画素が属する前記平面およびこれら平面ごとに適用する前記射影変換行列を選択した平面マップを生成する平面選択工程と、前記平面マップにおける前記射影変換行列の選択の誤りを抑制する選択エラー低減処理工程と、前記射影変換行列の選択の誤りが抑制された前記平面マップに基づき、前記平面ごとに前記位置ずれ量の算出処理を行う演算処理工程とを含み、
前記選択エラー低減処理工程が、前記平面選択工程により前記位置合わせ画像を生成する際の前記射影変換行列を用いた幾何変換に起因する前記射影変換行列の選択の誤りを抑制する変換誤差低減工程を含み、
前記変換誤差低減工程では、前記平面マップに膨張処理を施した後に収縮処理を施す画像処理方法。
被写体を撮影して得られる複数の画像の内の基準となる基準画像の各画素に対する該基準画像以外の参照画像の各画素の位置ずれ量を射影変換行列を用いて算出する位置ずれ量算出工程と、
該位置ずれ量算出工程により算出された前記位置ずれ量に基づいて変換した前記参照画像を前記基準画像に合成して、合成画像を生成する画像合成工程とをコンピュータに実行させる画像処理プログラムであって、
前記位置ずれ量算出工程が、前記参照画像における前記位置ずれ量が異なる平面ごとに前記射影変換行列を算出する多平面射影変換行列算出工程と、前記平面ごとに算出された各前記射影変換行列を用いて前記参照画像を変換した複数の位置合わせ画像を生成し、これら複数の位置合わせ画像と前記基準画像との差分値に基づき、前記参照画像の各画素が属する前記平面およびこれら平面ごとに適用する前記射影変換行列を選択した平面マップを生成する平面選択工程と、前記平面マップにおける前記射影変換行列の選択の誤りを抑制する選択エラー低減処理工程と、前記射影変換行列の選択の誤りが抑制された前記平面マップに基づき、前記平面ごとに前記位置ずれ量の算出処理を行う演算処理工程とを含み、
前記選択エラー低減処理工程が、前記平面選択工程により前記位置合わせ画像を生成する際の前記射影変換行列を用いた幾何変換に起因する前記射影変換行列の選択の誤りを抑制する変換誤差低減工程を含み、
前記変換誤差低減工程では、前記平面マップに膨張処理を施した後に収縮処理を施す画像処理プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の画像処理装置では、位置合わせ画像と基準画像の差分が、平面が異なる要因以外にも、特に位置合わせ時の射影変換によるエッジなどの高周波成分の変化によって発生し得る。そのため、単純に位置合わせ画像と基準画像の差分値を用いただけでは、正しく平面を選択できず、奥行がある被写体で位置ずれが発生し、合成画像にアーティファクトが発生するという問題がある。
【0007】
本発明は、上述した事情に鑑みてなされたものであって、奥行きがあり複数の平面が混在するような被写体についても、位置ずれによるアーティファクトを抑制した高精細な合成画像を生成することができる画像処理装置、撮像システム、画像処理方法および画像処理プログラムを提供することを目的としている。
【課題を解決するための手段】
【0008】
上記目的を達成するため、本発明は以下の手段を提供する。
本発明の第1態様は、被写体を撮影して得られる複数の画像の内の基準となる基準画像の各画素に対する該基準画像以外の1枚以上の参照画像の各画素の位置ずれ量を射影変換行列を用いて算出する位置ずれ量算出部と、該位置ずれ量算出部により算出された前記位置ずれ量に基づいて変換した前記参照画像を前記基準画像に合成して、合成画像を生成する画像合成部とを備え、前記位置ずれ量算出部が、前記参照画像における前記位置ずれ量が異なる平面ごとに前記射影変換行列を算出する多平面射影変換行列算出部と、前記平面ごとに算出された各前記射影変換行列を用いて前記参照画像を変換した複数の位置合わせ画像を生成し、これら複数の位置合わせ画像と前記基準画像との各差分値に基づき、前記参照画像の各画素が属する前記平面およびこれら平面ごとに適用する前記射影変換行列を選択した平面マップを生成する平面選択部と、前記平面マップにおける前記射影変換行列の選択の誤りを抑制する選択エラー低減処理部と、前記射影変換行列の選択の誤りが抑制された前記平面マップに基づき、前記平面ごとに前記位置ずれ量の演算処理を行う演算処理部とを備える画像処理装置である。
【0009】
本態様によれば、位置ずれ量算出部において、多平面射影変換行列算出部により、参照画像における基準画像との位置ずれ量が異なる平面ごとに射影変換行列が算出され、平面選択部により、各射影変換行列により参照画像が変換された複数の位置合わせ画像が生成される。そして、平面選択部により、各位置合わせ画像と基準画像との差分値に基づいて、参照画像の各画素が属する平面およびこれら平面ごとに適用される射影変換行列が選択された平面マップが生成され、演算処理部により、平面マップに基づいて平面ごとに位置ずれ量が算出される。これにより、画像合成部において、算出された位置ずれ量に基づいて参照画像が変換されて、平面の領域ごとの基準画像との位置ずれが解消され、参照画像と基準画像とが位置合わせされた合成画像が生成される。
【0010】
ここで、平面の領域が異なる要因以外にも、他の要因により位置合わせ画像と基準画像とに差分が生じ、適用する射影変換行列の選択に誤りが生じることがある。この場合において、選択エラー低減処理部により、平面マップにおける射影変換行列の選択の誤りが抑制されることで、適切な平面マップに基づいて、適切な領域に適切な位置ずれ量を適用することができる。これにより、奥行きがあり複数の平面が混在するような被写体についても、位置ずれによるアーティファクトを抑制した高精細な合成画像を生成することができる。
【0011】
上記態様においては、前記選択エラー低減処理部が、前記平面選択部により前記位置合わせ画像を生成する際の前記射影変換行列を用いた幾何変換に起因する前記射影変換行列の選択の誤りを抑制する変換誤差低減処理部を備えることとしてもよい。
【0012】
平面選択部により生成される位置合わせ画像には、射影変換行列を用いた幾何変換によって高周波成分(エッジ等)の絵柄変化が発生することがあり、絵柄変化が発生した位置合わせ画像と基準画像とでは差分値が大きく出てしまい、適用する射影変換行列の選択に誤りが生じることになる。変換誤差低減処理部により、射影変換行列を用いた幾何変換に起因する射影変換行列の選択の誤りを抑制することで、幾何変換による高周波成分の変化の影響を低減し、演算処理部により、適切な平面マップに基づいて、平面ごとに適切な位置ずれ量を算出することができる。
【0013】
上記態様においては、前記変換誤差低減処理部が、前記平面マップに膨張処理を施した後に収縮処理を施すこととしてもよい。
このように構成することで、平面ごとに正しく選択された射影変換行列は維持されたまま、誤って選択された射影変換行列を正すことができる。
【0014】
上記態様においては、前記膨張処理が、前記平面マップにおける対象となる複数の前記画素の内の最大の画素値で前記対象となる複数の画素を置き換え、前記収縮処理が、前記平面マップにおける対象となる前記複数の画素の内の最小の画素値で前記対象となる複数の画素を置き換えることとしてもよい。
【0015】
このように構成することで、膨張処理により、対象となる複数の画素内のエッジや孤立点が周辺の画素値によって置き換えられる一方、収縮処理により、対象となる複数の画素を含む領域において膨張処理により削られた領域の射影変換行列を復元することができる。
【0016】
上記態様においては、前記選択エラー低減処理部が、ノイズに起因する前記射影変換行列の選択の誤りを抑制するマップフィルタ処理部を備えることとしてもよい。
【0017】
ノイズの影響により位置合わせ画像と基準画像の差分が大きくなるかもしくは小さくなると、適用する射影変換行列の選択に誤りが生じることがある。マップフィルタ処理部により、ノイズに起因する射影変換行列の選択の誤りを抑制することで、ノイズの影響を低減し、演算処理部により、適切な平面マップに基づいて、平面ごとに適切な位置ずれ量を算出することができる。
【0018】
上記態様においては、前記マップフィルタ処理部が、前記平面マップに対してメディアンフィルタ処理を施すこととしてもよい。
ノイズに起因する選択エラーの場合、孤立点のようにランダム的に異なる平面が存在するため、メディアンフィルタ処理を施すことで、被写体としての連続性を維持していない、孤立点のようにランダム的に発生する選択の誤りを効率的に抑制することができる。
【0019】
上記態様においては、前記選択エラー低減処理部が、前記平面マップを縮小するマップ縮小処理部と、該マップ縮小処理部により縮小された前記平面マップを縮小前の解像度に戻すマップ拡大処理部とを備えることとしてもよい。
【0020】
このように構成することで、マップ縮小処理部により縮小された状態の平面マップにおける射影変換行列の選択の誤りを抑制すれば、平面マップが縮小されている分だけ、射影変換行列の選択の誤りを抑制するための演算量を削減することができる。
【0021】
上記態様においては、前記マップ縮小処理部が、前記選択エラー低減処理部により前記射影変換行列の選択の誤りが抑制される前に前記平面マップの解像度を低減し、
前記マップ拡大処理部が、前記選択エラー低減処理部により前記射影変換行列の選択の誤りが抑制された後に、前記平面マップの解像度を拡大することとしてもよい。
このように構成することで、演算量を効果的に削減することができる。
【0022】
本発明の第2態様は、被写体の複数の画像を取得する撮像部と、該撮像部により取得された前記複数の画像を処理する上記いずれかの画像処理装置とを備える撮像システムである。
本態様によれば、奥行きがあり複数の平面が混在するような被写体についても、撮像部により取得された被写体の複数の画像を用いて、画像処理装置により、位置ずれによるアーティファクトを抑制した高精細な合成画像を生成することができる。
【0023】
本発明の第3態様は、被写体を撮影して得られる複数の画像の内の基準となる基準画像の各画素に対する該基準画像以外の1枚以上の参照画像の各画素の位置ずれ量を射影変換行列を用いて算出する位置ずれ量算出工程と、該位置ずれ量算出工程により算出された前記位置ずれ量に基づいて変換した前記参照画像を前記基準画像に合成して、合成画像を生成する画像合成工程とを含み、前記位置ずれ量算出工程が、前記参照画像における前記位置ずれ量が異なる平面ごとに前記射影変換行列を算出する多平面射影変換行列算出工程と、前記平面ごとに算出された各前記射影変換行列を用いて前記参照画像を変換した複数の位置合わせ画像を生成し、これら複数の位置合わせ画像と前記基準画像との差分値に基づき、前記参照画像の各画素が属する前記平面およびこれら平面ごとに適用する前記射影変換行列を選択した平面マップを生成する平面選択工程と、前記平面マップにおける前記射影変換行列の選択の誤りを抑制する選択エラー低減処理工程と、前記射影変換行列の選択の誤りが抑制された前記平面マップに基づき、前記平面ごとに前記位置ずれ量の算出処理を行う演算処理工程と含む画像処理方法である。
【0024】
本態様によれば、位置ずれ量算出工程において、多平面射影変換行列算出工程により、参照画像における位置ずれ量が異なる平面ごとに射影変換行列が算出され、平面選択
工程により、射影変換行列が切り替えられながら参照画像が変換された複数の位置合わせ画像が生成される。そして、平面選択工程により、各位置合わせ画像と基準画像との差分値に基づいて、参照画像の各画素が属する平面およびこれら平面ごとに適用される射影変換行列が選択された平面マップが生成され、演算処理工程により、平面マップに基づいて平面ごとに位置ずれ量が算出される。これにより、画像合成工程において、算出された位置ずれ量に基づいて参照画像が変換されて、平面の領域ごとの基準画像との位置ずれが解消され、参照画像と基準画像とが位置合わせされた合成画像が生成される。
【0025】
この場合において、選択エラー低減処理工程により射影変換行列の選択の誤りが抑制されることで、適切な平面マップに基づいて、適切な領域に適切な位置ずれ量を適用することができる。これにより、奥行きがあり複数の平面が混在するような被写体についても、位置ずれによるアーティファクトを抑制した高精細な合成画像を生成することができる。
【0026】
本発明の第4態様は、被写体を撮影して得られる複数の画像の内の基準となる基準画像の各画素に対する該基準画像以外の参照画像の各画素の位置ずれ量を射影変換行列を用いて算出する位置ずれ量算出工程と、該位置ずれ量算出工程により算出された前記位置ずれ量に基づいて変換した前記参照画像を前記基準画像に合成して、合成画像を生成する画像合成工程とをコンピュータに実行させる画像処理プログラムであって、前記位置ずれ量算出工程が、前記参照画像における前記位置ずれ量が異なる平面ごとに前記射影変換行列を算出する多平面射影変換行列算出工程と、前記平面ごとに算出された各前記射影変換行列を用いて前記参照画像を変換した複数の位置合わせ画像を生成し、これら複数の位置合わせ画像と前記基準画像との差分値に基づき、前記参照画像の各画素が属する前記平面およびこれら平面ごとに適用する前記射影変換行列を選択した平面マップを生成する平面選択工程と、前記平面マップにおける前記射影変換行列の選択の誤りを抑制する選択エラー低減処理工程と、前記射影変換行列の選択の誤りが抑制された前記平面マップに基づき、前記平面ごとに前記位置ずれ量の算出処理を行う演算処理工程とを含む画像処理プログラムである。
【0027】
本態様によれば、コンピュータの実行により、位置ずれ量算出工程においては、多平面射影変換行列算出工程によって、参照画像における位置ずれ量が異なる平面ごとに射影変換行列が算出され、平面選択
工程によって、射影変換行列が切り替えられながら参照画像が変換された複数の位置合わせ画像が生成される。そして、平面選択工程によって、各位置合わせ画像と基準画像との差分値に基づいて、参照画像の各画素が属する平面およびこれら平面ごとに適用される射影変換行列が選択された平面マップが生成され、演算処理工程によって、平面マップに基づいて平面ごとに位置ずれ量が算出される。これにより、画像合成工程においては、算出された位置ずれ量に基づいて参照画像が変換されて、平面の領域ごとの基準画像との位置ずれが解消され、参照画像と基準画像とが位置合わせされた合成画像が生成される。
【0028】
この場合において、選択エラー低減処理工程によって射影変換行列の選択の誤りが抑制されることで、適切な平面マップに基づいて、適切な領域に適切な位置ずれ量を適用することができる。これにより、コンピュータに実行によって、奥行きがあり複数の平面が混在するような被写体についても、位置ずれによるアーティファクトを抑制した高精細な合成画像を生成することができる。
【発明の効果】
【0029】
本発明によれば、装置を大型化させることなく、奥行きがあり複数の平面が混在するような被写体についても、位置ずれによるアーティファクトを抑制した高精細な合成画像を生成するという効果を奏する。
【発明を実施するための形態】
【0031】
本発明の一実施形態に係る画像処理装置、撮像システム、画像処理方法および画像処理プログラムについて図面を参照して以下に説明する。
本実施形態に係る撮像システム100は、例えば、デジタルカメラである。この撮像システム100は、
図1に示されるように、被写体(図示略)の複数の画像を取得する撮像部1と、A−AMP(Analogue Amplifier)3と、ADC(Analoge to Digital Converter)5と、DRAM(Dynamic Random Access Memory)7と、画像処理部(画像処理装置)9と、ビデオエンコーダ11と、表示部13と、CPU15と、操作部17と、FLASHメモリ19とを備えている。
【0032】
撮像部1は、被写体からの光を集光する撮影レンズ21と、撮影レンズ21により集光された光束の量を制限する絞り23と、絞り23を通過した光を遮断可能なメカシャッタ25と、メカシャッタ25を通過した光を撮影する撮像素子27とを備えている。
【0033】
撮影レンズ21は、被写体の像を撮像素子27に形成するための単一または複数のレンズから構成された光学系である。撮影レンズ21としては、単焦点レンズでもズームレンズでもよい。
絞り23は、撮影レンズ21の光軸上に配置されており、その口径を変化し得るように構成されている。
【0034】
メカシャッタ25は、絞り23の後方に配置され、開閉自在に構成されている。メカシャッタ25の開放時間を調節することにより、被写体からの被写体光束が撮像素子27に入射する入射時間を調節することができるようになっている。すなわち、メカシャッタ25は、撮像素子27の露光時間を調整することができるようになっている。メカシャッタ25としては、公知のフォーカルプレーンシャッタやレンズシャッタ等が採用され得る。
【0035】
撮像素子27は、撮影レンズ21の光軸上であって、メカシャッタ25の後方で、かつ撮影レンズ21により被写体光束が結像される位置に配置されている。この撮像素子27は、画素を構成するフォトダイオード(図示略)が二次元的に配置されて構成されている。
【0036】
撮像素子27を構成するフォトダイオードは、受光量に応じた電荷を生成するようになっている。フォトダイオードにおいて発生した電荷は、各フォトダイオードに接続されているキャパシタに蓄積されるようになっている。CPU15からの制御信号に従い、キャパシタに蓄積された電荷が画像信号として読み出されるようになっている。
【0037】
画素を構成するフォトダイオードの前面には、例えば、ベイヤ配列のカラーフィルタ(図示略)が配置されている。ベイヤ配列は、水平方向にR画素とG(Gr)画素が交互に配置されたラインと、G(Gb)画素とB画素が交互に配置されたラインとを有している。
【0038】
A−AMP3は、撮像素子27から送られてくる画像信号のアナログゲイン調整を行うようになっている。
ADC5は、アナログデジタル変換器であり、A−AMP3によってアナログゲイン調整された画像信号をデジタル形式の画像信号(画素データ)に変換するようになっている。以下、本明細書においては、複数の画素データの集まりを撮像データと記す。また、画素データによって示される各々の画素に係る値を画素値と記す。ADC5により作成された撮像データは、DRAM7に書き込まれるようになっている。
【0039】
DRAM7は、電気的に書き換え可能なメモリであり、撮像データ(画素データ)、記録用画像データ、表示用画像データ、CPU15における処理データといった各種データを一時的に記憶することができるようになっている。一時的な記憶用としては、DRAM7に代えて、SDRAM(Synchronous Dynamic Random Access Memory)が用いられてもよい。
【0040】
画像処理部9は、例えば、ASIC(Application Specific Integrated Circuit)によって構成されている。この画像処理部9は、DRAM7から画像データを読み出して画像処理を行い、表示用画像データおよび記録用画像データとしてDRAM7に書き戻すようになっている。
【0041】
また、画像処理部9は、例えば、静止画像の記録の際には、静止画記録用の画像処理を施して静止画像データを生成し、動画像の記録の際には、動画記録用の画像処理を施して動画像データを生成するようになっている。さらに、画像処理部9は、ライブビュー表示時には、表示用の画像処理を施して表示用画像データを生成するようになっている。
【0042】
このような画像処理部9は、
図2に示すように、位置合わせ量算出部(位置ずれ量算出部)29と、画像合成部31と、ホワイトバランス(WB)補正処理部33と、同時化処理部35と、輝度特性変換部37と、エッジ強調処理部39と、ノイズ低減(NR:ノイズリダクション)処理部41と、色再現処理部43とを備えている。
【0043】
画像処理部9を構成する各種構成部としては、上述した構成部のみに限らず、他の構成部も含まれる。画像処理部9におけるその他の構成部としては、例えば、圧縮伸張処理部等がある。しかしながら、上述の構成部以外のその他の構成部については、本発明に直接関連しない部分であるので、それらの図示は省略し、またその説明も省略する。
【0044】
位置合わせ量算出部29は、撮像部1により取得された複数の画像の内の基準となる基準画像と基準画像以外の1枚以上の参照画像をDRAM7から読み出し、読み出した基準画像の各画素に対する参照画像の各画素の位置ずれ量を算出するようになっている。
【0045】
この位置合わせ量算出部29について、
図3を用いてさらに説明する。位置合わせ量算出部29は、多平面射影変換行列算出部45と、平面選択部47と、選択エラー低減処理部49と、演算処理部51とを備えている。
【0046】
多平面射影変換行列算出部45は、参照画像における位置ずれ量が異なる平面ごとに射影変換行列を算出するようになっている。具体的には、多平面射影変換行列算出部45は、画像の特徴点を抽出して同一平面と想定される特徴点ごとにグルーピングし、グルーピングした特徴点の情報を用いて射影変換行列を求めるようになっている。射影変換行列はグループ数分算出される。
【0047】
ここで、
図4に示すように、奥行2つの平面が存在する被写体を想定する。奥の被写体(木)Tは、手前の被写体(人物)Pよりも実世界上では大きい。しかし、奥の被写体Tは、手前の被写体Pよりも被写体距離が遠いため、撮像した投影像では小さくなる。そのため、奥の被写体Tの大きさが手前の被写体Pよりも実世界上ではるかに大きくとも、投影像上は奥の被写体Tと手前の被写体Pとが同等の大きさで映ることが有り得る。
【0048】
この状況において、例えば
図5に示すように、カメラが平行移動したとすると、被写体距離の近い手前の被写体Pは投影像上で大きく運動するが、被写体距離の遠い奥の被写体Tは運動量が少ない。そのため、被写体距離の異なる各被写体P,Tの画像領域に応じて、位置ずれ量の違いが発生する。このように画像内で複数の位置ずれ量が存在することから、それを正しく位置合わせするために複数の射影変換行列が必要となる。
【0049】
平面選択部47は、多平面射影変換行列算出部45により算出された複数の射影変換行列の内、画素位置ごとにいずれの射影変換行列を用いて位置ずれ量を算出すべきかを判断するようになっている。具体的には、平面選択部47は、まず、平面ごとに算出されたすべての射影変換行列を用いて参照画像を変換した複数の位置合わせ画像を生成するようになっている。そして、生成した複数の位置合わせ画像と基準画像との差分値を画素ごとに算出し、画素ごとに差分値が最も小さい位置合わせ画像を生成する際に用いた射影変換行列を選択して、参照画像の各画素が属する平面およびこれら平面ごとに適用する射影変換行列を選択した平面マップを生成するようになっている。
【0050】
選択エラー低減処理部49は、
図3に示すように、マップ縮小処理部53と、マップフィルタ処理部55と、変換誤差低減処理部57と、マップ拡大処理部59とを備え、平面マップにおける射影変換行列の選択の誤りを抑制するようになっている。
【0051】
マップ縮小処理部53は、平面選択部47により生成された各画素位置の所属する平面および適用すべき射影変換行列の情報、すなわち平面マップを縮小するようになっている。平面マップを縮小することで、後段のフィルタ処理における演算量を削減することができる。
【0052】
マップフィルタ処理部55は、画像のノイズに起因する平面マップの選択エラーを抑制するようになっている。ノイズの影響により位置合わせ画像と基準画像の差分が大きくなるかもしくは小さくなると、適用する射影変換行列の選択に誤りが生じることがある。マップフィルタ処理部55により、ノイズに起因する射影変換行列の選択の誤りを抑制することで、ノイズの影響を低減することができる。
【0053】
変換誤差低減処理部57は、位置合わせ画像生成時の幾何変換に起因する平面選択の誤りを抑制するようになっている。位置合わせ画像には、射影変換行列を用いた幾何変換によって高周波成分(エッジ等)の絵柄変化が発生することがあり、絵柄変化が発生した位置合わせ画像と基準画像とでは差分値が大きく出てしまい、適用する射影変換行列の選択に誤りが生じることになる。変換誤差低減処理部57により、射影変換行列を用いた幾何変換に起因する射影変換行列の選択の誤りを抑制することで、幾何変換による高周波成分の変化の影響を低減することができる。
【0054】
マップ拡大処理部59は、マップ縮小処理部53により縮小された平面マップを縮小前の解像度と同等となるように拡大するようになっている。
【0055】
演算処理部51は、選択エラー低減処理部49により射影変換行列の選択の誤りが抑制された平面マップに基づき、平面ごとに位置ずれ量の演算処理を行うようになっている。例えば、演算処理部51は、まず、平面マップと射影変換行列を用いて、参照画像の基準画像上での座標を求めるようになっている。
【0056】
参照画像の座標位置をx,yとし、求められる基準画像上での座標位置をx',y'とし、画素位置の平面選択結果をP(x,y)とする。
P(x,y)が平面Aの場合は、基準画像上の座標位置x’,y’は式(1)により求められる。
【数1】
【0057】
また、P(x,y)が平面Bの場合は、基準画像上の座標位置x’,y’は式(2)により求められる。
【数2】
【0058】
そして、演算処理部51は、式(3),(4)により位置ずれ量を算出するようになっている。
dif_x=x−x’・・・(3)
dif_y=y−y’・・・(4)
ここで、dif_x,dif_y: 参照画像の座標位置を基準画像の座標位置に位置合わせする際の位置ずれ量である。
【0059】
図2に戻り、画像合成部31は、演算処理部51により算出された位置ずれ量に基づいて、例えば参照画像に幾何学的な変換を施し、変換した参照画像を基準画像に合成して、合成画像を生成するようになっている。
【0060】
合成処理は、例えば、位置合わせ画像と基準画像の同じ座標位置の画素値を単純に加算平均する手法でもよく、手法を限定するものではない。また合成処理の目的もノイズリダクション、HDR(High Dynamic Range)、超解像といった様々な目的が考えられ、これを限定するものではない。
【0061】
ホワイトバランス補正処理部33は、画像合成部31により生成された合成画像のデータの各色成分を所定のゲイン量で増幅し、合成画像の色バランスを補正するようになっている。
【0062】
同時化処理部35は、例えば撮像素子27の色フィルタのベイヤ配列に対応して撮像素子27を介して出力される撮像データを用いて生成された合成画像において、1つの画素が1つの色成分に対応している撮像データについて、1つの画素が複数の色成分に対応している画像データに変換するようになっている。
【0063】
輝度特性変換部37は、同時化処理部35で生成された合成画像の輝度特性を表示や記録に適するように変換するようになっている。
【0064】
エッジ強調処理部39は、輝度特性変換部37からの合成画像の出力データ(画像データ)からバンドパスフィルタ等を用いて抽出したエッジ信号にエッジ強調係数を乗じ、その結果を元の合成画像の画像データに加算して、対象とする合成画像の画像データにおけるエッジ(輪郭)成分を強調するようになっている。
【0065】
ノイズ低減処理部41は、コアリング処理等を用いて、エッジ強調処理部39からの合成画像の出力データ(画像データ)におけるノイズ成分を除去するようになっている。
【0066】
色再現処理部43は、合成画像の色再現を適切なものとするための各種の処理を行うようになっている。色再現処理部43により行われる処理としては、例えばカラーマトリクス演算処理等がある。カラーマトリクス演算処理は、合成画像のデータに対して、例えばホワイトバランスモードに応じたカラーマトリクス係数を乗じるようになっている。色再現処理部43では、この他に、例えば彩度・色相の補正処理等を行うようになっている。
【0067】
図1に戻り、ビデオエンコーダ11は、画像処理部9によって生成されてDRAM7に一時的に記憶された表示用画像データを読み出し、読み出した表示用画像データを表示部13に出力するようになっている。
【0068】
表示部13は、例えば、液晶ディスプレイ(LCD:Liquid Crystal display))や有機ELディスプレイであって、デジタルカメラの背面等に配置される。この表示部13は、ビデオエンコーダ11から送られてくる表示用画像データに従って画像を表示するようになっている。また、表示部13は、ライブビュー表示や記録済み画像の表示等にも使用することができる。
【0069】
CPU15は、制御信号を発信し、撮像素子27の制御、絞り23の開口径制御、メカシャッタ25の開閉制御、画像処理部9の駆動、ビデオエンコーダ11の駆動および撮像システム100の全体制御を行うようになっている。また、CPU15は、撮像素子27により取得される画像が基準画像となるか参照画像となるかを判断するようになっている。
【0070】
操作部17は、電源ボタン、レリーズボタン、再生ボタン、メニューボタンといった各種の操作ボタンおよびタッチパネル等の各種の操作部材を含んでいる。操作部17により入力されたユーザからの指示は、CPU15による処理によって認識されるようになっている。
【0071】
FLASHメモリ19は、デジタルカメラとしての撮像システム100に内蔵または装填自在に構成されており、記録用画像データを所定の形式の画像ファイルとして記録することができるようになっている。
【0072】
図1において、符号61はバスを示している。バス61は、ADC5、DRAM7、CPU15、画像処理部9、FLASHメモリ19およびビデオエンコーダ11に接続されている。これら各部で発生した各種のデータは、バス61を介して転送されるようになっている。
【0073】
次に、本実施形態に係る画像処理部9を備える撮像システム100を用いた画像処理方法について説明する。
本実施形態に係る画像処理方法は、
図6のフローチャートに示されるように、被写体を撮影して得られる基準画像の各画素に対する1枚以上の参照画像の各画素の位置ずれ量を算出する位置ずれ量算出工程(ステップSA5)と、位置ずれ量算出工程(ステップSA5)により算出された位置ずれ量に基づいて変換した参照画像を基準画像に合成して、合成画像を生成する画像合成工程(ステップSA6)とを含んでいる。
【0074】
位置ずれ量算出工程(ステップSA5)は、
図7のフローチャートに示されるように、参照画像における位置ずれ量が異なる平面ごとに射影変換行列を算出する多平面射影変換行列算出工程(ステップSB1)と、多平面射影変換行列算出工程(ステップSB1)により平面ごとに算出された各射影変換行列を用いて参照画像を変換した複数の位置合わせ画像を生成し、これら複数の位置合わせ画像と基準画像との差分値に基づいて平面マップを生成する平面選択工程(ステップSB2)と、平面マップにおける射影変換行列の選択の誤りを抑制する選択エラー低減処理工程(ステップSB3−SB6)と、射影変換行列の選択の誤りが抑制された平面マップに基づいて、平面ごとに位置ずれ量の算出処理を行う演算処理工程(ステップSB7)と含んでいる。
【0075】
次に、このように構成された画像処理部9を備える撮像システム100および画像処理方法の作用について説明する。
本実施形態に係る撮像システム100による静止画記録の処理の一例を
図6のフローチャートに示す。静止画記録は、例えば、ライブビュー表示中にレリーズボタンとしての操作部17が押圧されたときに開始される。ここでは、静止画記録の処理について説明するが、動画記録の動作においても同様の処理が行われ得る。なお、
図6を参照して説明する処理は、CPU15が制御を行い、画像処理部9のASICが実行する。これら処理に係るプログラムは、光ディスクや磁気ディスクや半導体メモリ等、各種記録媒体にも記録され得る。
【0076】
図6のフローチャートに示されるように、まず、CPU15の作動により、静止画記録用の撮影が開始され(ステップSA1)、今回の撮影が基準画像となるか否かが判断される(ステップSA2)。基準画像か否かの判断は、時系列的に連続撮影される静止画像群の中で、例えば最初の静止画か否かで判断する。
【0077】
今回の撮影が基準画像である場合は、撮影画像は基準画像としてバス61を介してDRAM7に書き込まれ(ステップSA3)、次の撮影に移行される。DRAM7に書き込まれた基準画像は、連続撮影が終了するまでDRAM7に保存される。
今回の撮影が基準画像でなかった場合は、撮影画像は参照画像としてバス61を介してDRAM7に保存される(ステップSA4)。
【0078】
次に、DRAM7に保存されている基準画像および参照画像が画像処理部9により読み出され、位置合わせ量算出部29により、位置ずれ量算出処理が行われる(ステップSA5)。位置ずれ量算出処理の詳細については後述する。
【0079】
次に、画像合成部31により、位置合わせ量算出部29によって算出された位置ずれ量に基づいて参照画像に幾何学的な変換が施され、変換された参照画像が基準画像に合成されて、合成画像が生成される(ステップSA6)。
【0080】
次いで、CPU15により、連続撮影が終了したか否かが判断される(ステップSA7)。具体的には、CPU15により、連続撮影停止の指示が入力されたか否かが判定される。撮影停止の指示は、例えば、静止画撮影中に操作部17としてのレリーズボタンが再度押圧されることで入力される。連続撮影停止の指示が入力されていないときは、次の参照画像の撮影のため、ステップSA2に戻る。一方、撮影停止の指示が入力された場合は、ステップSA8に進む。
【0081】
次いで、画像処理部9内のホワイトバランス補正処理部33、同時化処理部35、輝度特性変換部37、エッジ強調処理部39、ノイズ低減処理部41、色再現処理部43により、合成画像の現像処理が行われる(ステップSA8)。
【0082】
画像処理部9において現像処理された合成画像は、バス61を介してDRAM7に書き込まれる(ステップSA9)。
CPU15により、DRAM7に書き込まれた記録用の合成画像がFLASHメモリ19に記録される(ステップSA10)。その後、処理は終了する。
【0083】
次に、ステップSA5の位置ずれ量算出処理の詳細について、
図7のフローチャートを参照して説明する。
位置ずれ量算出処理は、まず、多平面射影変換行列算出部45により、参照画像における位置ずれ量が異なる平面ごとに射影変換行列が算出される(ステップSB1)。具体的には、まず、多平面射影変換行列算出部45により、画像内の特徴点抽出と特徴点マッチングが行われ、基準画像と参照画像の対応点の座標位置が求められる。対応点の抽出は、公知のオプティカルフローを用いた動きベクトルやSIFT(Scale−Invariant Feature Transform)やSURF(Speeded Up Robust Features)といった手法が用いられる。
【0084】
続いて、多平面射影変換行列算出部45により、対応点のグルーピングが行われる。対応点のグルーピングは、単純に基準画像と参照画像の対応点の座標位置のずれ量が近しい対応点を同一グループにするやり方でもよいし、一旦、任意にグルーピングした対応点で射影変換行列を求めた後、例えば実際に参照画像の対応点の座標位置を基準画像上に射影し、座標位置の誤差が最小となるようにグループを更新していくような再帰的な処理で求めてもよく、手法を限定するものではない。
【0085】
本実施形態においては、例えば、
図8に示すように、多平面射影変換行列算出部45により、まず、位置ずれ量が異なる2つのグループW1,W2とそれぞれに属する対応点の座標が求められる。
図8において、各グループW1,W2の黒丸は対応点を示している。
次いで、多平面射影変換行列算出部45により、同一グループW1の対応点および同一グループW2の対応点がそれぞれ4点用いられて、射影変換行列が求められる。
【0086】
図8に示す例の場合は、2つのグループW1,W2が存在するため、下記式(3),(4)の様に、射影変換行列でモデル化される幾何変換関数が求められる。下記式(3),(4)は、未知数が8つの連立方程式となるため、4つの対応点を与えることで解くことができる。
【0087】
【数3】
ここで、x1,y1:位置ずれ量グループW1の基準画像上の対応点座標、x2,y2:位置ずれ量グループW1の基準画像上の対応点座標、H1〜H8:位置ずれ量グループW1の射影変換行列である。
【0088】
【数4】
ここで、x1’,y1':位置ずれ量グループW2の参照画像上の対応点座標、x2’,y2’:位置ずれ量グループW2の参照画像上の対応点座標、G1〜G8:位置ずれ量グループW2の射影変換行列である。
【0089】
次に、平面選択部47により平面選択が行われる(ステップSB2)。平面選択では、多平面射影変換行列算出部45により算出されたすべての射影変換行列が用いられて、複数の位置合わせ画像が生成される。
【0090】
例えば、2つの射影変換行列(H1〜H8)と(G1〜G8)が算出された場合は、平面選択部47により、
図9に示すように、参照画像が射影変換行列(H1〜H8)により変換された位置合わせ画像と、参照画像が射影変換行列(G1〜G8)により変換された位置合わせ画像の2つが生成される。
【0091】
そして、ある画素位置において平面を選択する場合、平面選択部47により、その画素位置の射影変換行列(H1〜H8)で求めた画像と基準画像の差分と、射影変換行列(G1〜G8)で求めた画像と基準画像の差分が比較され、差分値が低い画像の射影変換行列が選択される。
【0092】
図9に示すように、異なる平面の射影変換行列で位置合わせを行うため、位置ずれが発生し、差分値が大きくなる。左記の処理が全画素位置に対して行われ、各画素位置の所属する平面および適用すべき射影変換行列が決定されて、各画素位置の選択結果である平面マップが出力される。平面マップは、例えば、平面が2つしか存在しない場合は、2つの射影変換行列(H1〜H8)と射影変換行列(G1〜G8)のいずれを適用すべきかが0か1で示される2値画像となる。
【0093】
続いて、マップ縮小処理部53により平面マップの縮小処理が行われる(ステップSB3)。縮小処理は、補間によって更なる選択エラーを発生させぬように、補間でなく間引き処理でリサイズすることが望ましい。
図10では、縦横8x8の平面マップを1/2に縮小する場合を例示するが、縮小率やマップの縦横サイズはこれに限定されるものではない。
【0094】
図10において、縦横8x8の平面マップに対して水平垂直方向に1/2間引きが行われた場合は、例えば、水平方向の画素は偶数位置の結果のみが抽出され、かつ垂直方向の画素も偶数位置の結果のみが抽出されて、水平垂直サイズが1/2となる。縮小した平面マップが以降の処理の入力となる。
【0095】
続いて、マップフィルタ処理部55により、縮小した平面マップにマップフィルタ処理が施される(ステップSB4)。マップフィルタ処理は、縮小した平面マップに対して、ノイズ除去フィルタが適用される。マップフィルタ処理で抑制すべき選択エラーは、画像のノイズ起因による選択エラーである。
【0096】
通常、位置合わせ画像と基準画像の差分値が大きく出る位置ずれに起因する場合は、特定の被写体領域に被写体の面積をもって発生する。一方、ノイズ起因による選択エラーの場合は、孤立点のようにランダム的に異なる平面が存在する。そのため、被写体としての連続性を維持していない孤立点のようにランダム的に発生する選択のエラーは、ノイズ除去フィルタ、例えばメディアンフィルタ(メディアンフィルタ処理)によって抑制できる。
【0097】
続いて、変換誤差低減処理部57により、平面マップに変換誤差低減処理が施される(ステップSB5)。射影変換行列を用いた位置合わせ画像の生成において、射影変換後の座標位置は整数精度で表現されないケースがある。その場合、整数画素位置の画素値を生成するために、バイキュービック補間などの周辺画素を用いた重みづけ補間で生成することが一般的である。
【0098】
補間は、特にエッジ部の画素値に影響を与え、ひいては差分画像に影響を与える。例えば、
図11は、基準画像と参照画像の間で、カメラが20°回転運動した場合にサンプリングされた画像データを示す。一方、
図12は、射影変換行列を用いて参照画像をデジタル的に幾何変換した結果である。
【0099】
図11に示す例では、必ず撮像素子27の区画精度でサンプリングされるため、整数精度で白黒の模様が撮像される。一方、
図12に示すように、デジタル処理で幾何変換する場合は、計算上の小数精度は、例えば周辺画素の重みづけ混合等で表現され、白黒のエッジ成分は、重みづけ補間による影響で白もしくは黒が混合したグレーとなる。その結果、
図11で生成された画像と
図12で生成された画像は、カメラの運動を正しく推定できていたとしても、差分が発生する。そのため、平面マップはエッジ部で誤判定となる。
【0100】
次に、変換誤差低減処理部57により、平面マップに変換誤差低減処理が施される。変換誤差低減処理は、平面マップに膨張処理が施された後に収縮処理が施される。これにより、正しい平面選択が維持されたまま、エッジ部の選択エラーが除去される。
図13に示す平面マップには、正しくは1すなわち白の平面となるのが正しい領域にもかかわらず、エッジ部の誤判定により、0すなわち黒の平面が混在している。これを除去するために、膨張処理フィルタが適用される。
【0101】
膨張処理フィルタは、例えば、3x3の画素内の最大となる画素値でフィルタの対象となる画素値を置き換える処理が行われる。膨張処理フィルタを適用することで、1〜2画素内のエッジや孤立点は、周辺の画素値によって置き換えられる。
【0102】
一方、膨張処理を施したのみでは、
図14に示す正しい平面選択結果の場合は、領域が削られてしまう。そのため、次に膨張処理フィルタが適用された平面マップに対して、収縮フィルタ処理が施される。
【0103】
収縮処理フィルタは、例えば、3x3の画素内、最小となる画素値でフィルタの対象となる画素値が置き換えられる。収縮処理を行うことで、3画素以上の領域を含む平面選択結果は、削られた領域が復元する。一方、
図13に示すエッジ部の選択エラーは、除去されたままである。なお、膨張/収縮フィルタのフィルタサイズは、3x3のサイズに限定されるものではなく、用途や画像サイズに応じて可変にしてもよい。
【0104】
次に、マップ拡大処理部59により、縮小された処理後の平面マップが拡大される(ステップSB6)。マップ拡大処理では、縮小前の画像と同等の解像度すなわち基準画像と同等の解像度に平面マップが拡大される。
【0105】
次に、演算処理部51により、平面マップの各画素位置の平面選択結果とそれに紐づく射影変換行列が用いられて、各画素の位置ずれ量が算出される(ステップSB7)。算出された各画素の位置ずれ量は画像合成部31に送られる。これにより、
図6のフローチャートのステップSA6に戻り、画像合成部31において、演算処理部51からの各画素の位置ずれ量に基づいて参照画像が変換されて、基準画像との合成画像が生成されることになる。
【0106】
以上説明したように、本実施形態に係る画像処理部9を備える撮像システム100および画像処理方法によれば、画像合成部31において、平面マップに基づき参照画像が変換されて平面の領域ごとに基準画像との位置ずれが解消され、参照画像と基準画像とが位置合わせされた合成画像が生成される。
【0107】
ここで、複数の平面が存在するような奥行きがある物体が含まれる画像においては、平面の領域が異なる要因以外にも、他の要因により位置合わせ画像と基準画像とに差分が生じて、適用する射影変換行列の選択に誤りが生じることがあるが、選択エラー低減処理部49により、平面マップにおける射影変換行列の選択の誤りが抑制される。これにより、適切な平面マップに基づいて、適切な領域に適切な位置ずれ量を適用することができる。したがって、奥行きがあり複数の平面が混在するような被写体についても、位置ずれによるアーティファクトを抑制した高精細な合成画像を生成することができる。
【0108】
本実施形態においては、画像処理方法をハードウェアによって実現する構成について説明したが、コンピュータにより実行可能な画像処理プログラムによって実現することとしてもよい。
【0109】
以上、本発明の一実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。例えば、本実施形態においては、撮像システム100としてのデジタルカメラを例示して説明したが、デジタルカメラに限らず、基準画像と参照画像が存在する複数の撮像データさえあれば、上述の技術は適用され得る。