(57)【要約】【課題】  演算負荷を抑制しつつも複数画像間の位置ズレ検出を比較的精度よく行う技術を提供する。【解決手段】  画像処理装置は、第１画像および第２画像を取得する取得部と、位置ズレ演算部とを備える。位置ズレ演算部は、第１画像および第２画像の位置ズレを、対称行列である高次の逆行列を用いた第１幾何変換モデルで求める。そして、位置ズレ演算部は、各々が逆行列よりも低次の正方行列をなすように逆行列を複数に等分割し、複数の正方行列の組み合わせで第１幾何変換モデルの演算を行う。【選択図】  図１
2012123652.tif 000002
【特許請求の範囲】
【請求項１】
第１画像および第２画像を取得する取得部と、
前記第１画像および前記第２画像の位置ズレを、対称行列である高次の逆行列を用いた第１幾何変換モデルで求める位置ズレ演算部と、を備え、
前記位置ズレ演算部は、各々が前記逆行列よりも低次の正方行列をなすように前記逆行列を複数に等分割し、複数の前記正方行列の組み合わせで前記第１幾何変換モデルの演算を行う画像処理装置。
【請求項２】
請求項１に記載の画像処理装置において、
前記位置ズレ演算部は、前記第１幾何変換モデルよりも変数の少ない第２幾何変換モデルで前記第１画像および前記第２画像の位置調整を実行し、前記位置調整の後に前記第１幾何変換モデルで前記第１画像および前記第２画像の位置ズレを求める画像処理装置。
【請求項３】
請求項２に記載の画像処理装置において、
前記位置ズレ演算部は、前記第１画像の低解像度画像および前記第２画像の低解像度画像を用いて前記位置調整を実行する画像処理装置。
【請求項４】
請求項２または請求項３に記載の画像処理装置において、
前記位置ズレ演算部は、前記位置調整のときに前記第２幾何変換モデルでの演算を繰り返し実行する画像処理装置。
【請求項５】
第１画像および第２画像を撮像する撮像部と、
請求項１から請求項４のいずれか１項に記載の画像処理装置と、
を備える撮像装置。
【請求項６】
コンピュータに、
第１画像および第２画像を取得する取得処理と、
前記第１画像および前記第２画像の位置ズレを、対称行列である高次の逆行列を用いた第１幾何変換モデルで求める位置ズレ演算処理と、を実行させ、
前記位置ズレ演算処理では、各々が前記逆行列よりも低次の正方行列をなすように前記逆行列を複数に等分割し、複数の前記正方行列の組み合わせで前記第１幾何変換モデルの演算を行うプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置およびプログラムに関する。
【背景技術】
【０００２】
画像合成の基盤技術として、従来から複数画像間の位置合わせの手法が種々提案されている。その一例として、明度勾配法などで動きをモデル化して画像の位置合わせを行う手法が公知である。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第３９１４９７３号
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、上記の動きをモデル化して画像の位置合わせを行う場合、モデルの係数の種類が多くなると高次の行列演算が要求されるので、演算負荷が非常に大きくなる。
【０００５】
上記事情に鑑み、演算負荷を抑制しつつも複数画像間の位置ズレ検出を比較的精度よく行う技術を提供する。
【課題を解決するための手段】
【０００６】
一の態様に係る画像処理装置は、第１画像および第２画像を取得する取得部と、位置ズレ演算部とを備える。位置ズレ演算部は、第１画像および第２画像の位置ズレを、対称行列である高次の逆行列を用いた第１幾何変換モデルで求める。そして、位置ズレ演算部は、各々が逆行列よりも低次の正方行列をなすように逆行列を複数に等分割し、複数の正方行列の組み合わせで第１幾何変換モデルの演算を行う。
【０００７】
上記の一の態様において、位置ズレ演算部は、第１幾何変換モデルよりも変数の少ない第２幾何変換モデルで第１画像および第２画像の位置調整を実行してもよい。そして、位置ズレ演算部は、位置調整の後に第１幾何変換モデルで第１画像および第２画像の位置ズレを求めてもよい。
【０００８】
このとき、位置ズレ演算部は、第１画像の低解像度画像および第２画像の低解像度画像を用いて位置調整を実行してもよい。あるいは、位置ズレ演算部は、位置調整のときに第２幾何変換モデルでの演算を繰り返し実行してもよい。
【０００９】
なお、上記の画像処理装置を撮像部とともに備える撮像装置や、コンピュータを上記の画像処理装置として動作させるプログラムや、当該プログラムを記憶した記憶媒体や、上記の画像処理装置の動作を方法のカテゴリで表現したものは、いずれも本発明の具体的態様として有効である。
【発明の効果】
【００１０】
第１画像および第２画像の位置ズレを対称行列である高次の逆行列を用いた幾何変換モデルで求めるときに、各々が逆行列よりも低次の正方行列をなすように逆行列を複数に等分割し、複数の正方行列の組み合わせで演算を行う。これにより、高次の逆行列演算による幾何変換モデルを低次の行列演算で処理できるので、演算負荷を抑制しつつ複数画像間の位置ズレ検出を比較的精度よく行うことができる。
【図面の簡単な説明】
【００１１】
【図１】一の実施形態での画像処理装置の構成例を示す図
【図２】一の実施形態での画像処理装置の動作例を示す流れ図
【図３】他の実施形態での撮像装置の構成例を示す図
【発明を実施するための形態】
【００１２】
＜一の実施形態の説明＞
図１は、一の実施形態での画像処理装置の構成例を示す図である。一の実施形態での画像処理装置は、複数の画像の合成処理を実行する画像処理プログラムがインストールされたパーソナルコンピュータである。
【００１３】
図１に示すコンピュータ１１は、データ読込部１２、記憶装置１３、ＣＰＵ１４、メモリ１５および入出力Ｉ／Ｆ１６、バス１７を有している。データ読込部１２、記憶装置１３、ＣＰＵ１４、メモリ１５および入出力Ｉ／Ｆ１６は、バス１７を介して相互に接続されている。さらに、コンピュータ１１には、入出力Ｉ／Ｆ１６を介して、入力デバイス１８（キーボード、ポインティングデバイスなど）とモニタ１９とがそれぞれ接続されている。なお、入出力Ｉ／Ｆ１６は、入力デバイス１８からの各種入力を受け付けるとともに、モニタ１９に対して表示用のデータを出力する。
【００１４】
データ読込部１２は、画像のデータや、プログラムを外部から読み込むときに用いられる。例えば、データ読込部１２は、着脱可能な記憶媒体からデータを取得する読込デバイス（光ディスク、磁気ディスク、光磁気ディスクの読込装置など）や、公知の通信規格に準拠して外部の装置と通信を行う通信デバイス（ＵＳＢインターフェース、ＬＡＮモジュール、無線ＬＡＮモジュールなど）である。
【００１５】
記憶装置１３は、例えば、ハードディスクや、不揮発性の半導体メモリなどの記憶媒体で構成される。この記憶装置１３には、画像処理プログラムが記録される。なお、記憶装置１３には、データ読込部１２から読み込んだ画像のデータや、画像処理プログラムで合成された画像のデータを記憶しておくこともできる。
【００１６】
ＣＰＵ１４は、コンピュータ１１の各部を統括的に制御するプロセッサである。このＣＰＵ１４は、画像処理プログラムの実行によって、位置ズレ演算部２１、画像処理部２２として動作する（位置ズレ演算部２１および画像処理部２２の各動作については後述する）。
【００１７】
メモリ１５は、画像処理プログラムでの各種演算結果を一時的に記憶する。このメモリ１５は、例えば揮発性のＳＤＲＡＭである。
【００１８】
次に、図２の流れ図を参照しつつ、一の実施形態での画像処理装置による画像合成処理の動作例を説明する。この図２の流れ図の処理は、ユーザからのプログラム実行指示に応じてＣＰＵ１４が開始する。
【００１９】
ステップ＃１０１：ＣＰＵ１４は、位置合わせの対象となる第１画像のデータをデータ読込部１２から取得する。そして、ＣＰＵ１４は、第１画像のデータを記憶装置１３に記録する。
【００２０】
ステップ＃１０２：ＣＰＵ１４は、位置合わせの対象となる第２画像のデータをデータ読込部１２から取得する。そして、ＣＰＵ１４は、第２画像のデータを記憶装置１３に記録する。
【００２１】
ここで、第１画像および第２画像は、画像間で被写体の位置関係がほぼ同じであることが前提となる。一例として、第１画像および第２画像は、動画撮影または連写撮影で得られた一連の画像群から抽出された２つの画像である。
【００２２】
また、第１画像および第２画像は、同じ画像サイズ（解像度）で同形式のものであればその種類は問われない。例えば、第１画像および第２画像は、色補間処理が施される前のベイヤ配列構造のＲＡＷ画像であってもよく、ＲＡＷ画像に画像処理を施すことで色再現がなされた画像（ＲＧＢ画像、ＹＣｂＣｒ画像、ＪＰＥＧ画像等）であってもよい。
【００２３】
ステップ＃１０３：ＣＰＵ１４は、第２画像（＃１０２）の微分画像を生成する。このとき、ＣＰＵ１４は、第２画像の各画素で隣接画素とのｘ方向（画像の横方向）の差分を求めて、ｘ方向の微分画像を生成する。また、ＣＰＵ１４は、第２画像の各画素で隣接画素とのｙ方向（画像の縦方向）の差分を求めて、ｙ方向の微分画像を生成する。
【００２４】
なお、上記の微分画像は、標本点（演算対象となる画素）での画素値の情報があれば足りる。そのため、＃１０３でのＣＰＵ１４は、隣接する標本点間で差分を求めて微分画像を生成すればよい。
【００２５】
ステップ＃１０４：位置ズレ演算部２１は、変数の少ない簡易的な幾何変換モデルで第１画像および第２画像の位置調整を実行する。
【００２６】
一例として、＃１０４の位置ズレ演算部２１は、式（１）に示す３軸の幾何変換モデルで画像間の位置調整を行う。なお、式（１）は、画像の座標（ｘ，ｙ）が３変数（ｐ0〜ｐ2）の幾何変換モデルによって座標変換される形式で、画像の位置ズレ量を表現している。
【００２７】
【数１】
2012123652.tif 000003
【００２８】
ここで、第１画像Ａと第２画像Ｂとの位置ズレ量の演算は、式（２）の評価値ΔＥを最小化する問題と捉えることができる。
【００２９】
【数２】
2012123652.tif 000004
【００３０】
上記の式（２）では、一方の画像（第１画像Ａ）の座標（ｘ，ｙ）を幾何変換して得た画素値と、他方の画像（第２画像Ｂ）の座標（ｘ，ｙ）の画素値との差の二乗和によって、評価値ΔＥを求めている。上記の評価値ΔＥが小さいほど、２画像間の合致度は高くなる。なお、本明細書において、「ｎ」は画像Ａ，Ｂの差を求める標本点の数を示す。例えば、式（２）の演算を全ての画素で行った場合には、ｎの値は全画素の数となる。
【００３１】
【数３】
2012123652.tif 000005
【００３２】
【数４】
2012123652.tif 000006
【００３３】
なお、本明細書において、「ｄｘ」は第２画像Ｂのｘ方向の微分画像を示し、「ｄｙ」は第２画像Ｂのｙ方向の微分画像を示す。また、下付の添字ｎは、各画像における標本点ｎの座標であることを示している。
【００３４】
【数５】
2012123652.tif 000007
【００３５】
ステップ＃１０５：位置ズレ演算部２１は、＃１０４よりも変数の多い高精度な幾何変換モデルによって第１画像および第２画像の位置ズレを求める。
一例として、＃１０５での位置ズレ演算部２１は、式（５）に示す６軸のアフィン変換モデルで画像間の位置調整を行う。なお、式（１）と式（５）では変数の数が異なっており、変数の数が多い式（５）のモデルの方がより複雑な位置ズレを表現できる。もっとも、変数の数が増加する分、演算負荷は式（５）のモデルの方が大きくなる。
【００３６】
【数６】
2012123652.tif 000008
【００３７】
上記の式（５）は、画像の座標（ｘ，ｙ）が６変数（ｐ0〜ｐ5）の幾何変換モデルによって座標変換される形式で、画像の位置ズレ量を表現している。また、＃１０５での位置ズレ演算部２１は、式（５）に含まれる２行３列の行列が、式（１）に含まれる２行３列の行列と等しくなるようにｐ0〜ｐ5の値を決定すればよい。
【００３８】
ここで、式（１）と同様の考え方で式（５）を変形すると、式（６）を得ることができる。
【００３９】
【数７】
2012123652.tif 000009
【００４０】
上記の式（６）の解を求めるときには、６×６の逆行列の演算が必要となる。高次の逆行列について公知の演算手法は、演算量が多いため演算負荷が大きく、また除算の回数が多いことから丸め誤差などの誤差も発生しやすい。そこで、一の実施形態の位置ズレ演算部２１は、６×６の逆行列が対称行列であることを利用して、６×６の逆行列を低次の正方行列に等分割し、分割された正方行列の組み合わせで演算を行う。
【００４１】
【数８】
2012123652.tif 000010
【００４２】
【数９】
2012123652.tif 000011
【００４３】
【数１０】
2012123652.tif 000012
【００４４】
【数１１】
2012123652.tif 000013
【００４５】
ステップ＃１０６：画像処理部２２は、＃１０５で求めた位置ズレ量を用いて、第１画像および第２画像の合成を行う。例えば、画像処理部２２は、適正露出よりも露光期間を短くして連写撮影された第１画像および第２画像を合成することで、手ブレの補正された合成画像を生成することができる。また、画像処理部２２は、露光条件を変化させて取得した第１画像および第２画像を合成することで、ダイナミックレンジの広い合成画像を生成することができる。そして、ＣＰＵ１４は、上記の合成画像のデータを記憶装置１３に記録する。以上で、図２の流れ図の説明を終了する。
【００４６】
一の実施形態での位置ズレ演算部２１は、第１画像Ａおよび第２画像Ｂの位置ズレを、対称行列である６×６の逆行列を用いた６軸の幾何変換モデル（式（５）〜（６））で求める（＃１０５）。このとき、位置ズレ演算部２１は、幾何変換モデルの高次の逆行列を３×３の低次の正方行列で複数に等分割するとともに、複数の正方行列の組み合わせで高次の逆行列の演算を行う（式（７）〜（９））。これにより、一の実施形態では、６軸の幾何変換モデルの演算において、６×６の逆行列演算を３×３の行列演算の組み合わせで求めるので演算規模および除算回数を少なくできる。したがって、一の実施形態の画像処理装置は、演算負荷を抑制しつつ複数画像間の位置ズレ検出を比較的精度よく行うことができる。
【００４７】
また、一の実施形態での位置ズレ演算部２１は、６軸の幾何変換モデルで位置ズレを求める（＃１０５）ときに、予め３軸の幾何変換モデルで第１画像および第２画像の位置調整を実行する（＃１０４）。これにより、一の実施形態の画像処理装置では、演算負荷の少ない幾何変換モデルで画像間の粗調整をした後に、６軸の幾何変換モデルで画像間の位置ズレを精密に求めるので、処理全体の負荷を小さくできる。
【００４８】
＜他の実施形態の説明＞
図３は、他の実施形態での撮像装置の構成例を示す図である。他の実施形態は、一の実施形態の画像処理装置を電子カメラ３１に実装した例であって、電子カメラ３１の撮像部３３から画像処理装置が第１画像および第２画像を取得する。
【００４９】
電子カメラ３１は、撮影レンズ３２と、撮像部３３と、画像処理エンジン３４と、第１メモリ３５および第２メモリ３６と、記録Ｉ／Ｆ３７と、操作部３８とを備えている。ここで、撮像部３３、第１メモリ３５、第２メモリ３６、記録Ｉ／Ｆ３７および操作部３８は、それぞれ画像処理エンジン３４と接続されている。
【００５０】
撮像部３３は、撮影レンズ３２によって結像された被写体の像を撮像（撮影）するモジュールである。例えば、撮像部３３は、光電変換を行う撮像素子と、アナログ信号処理を行うアナログフロントエンド回路と、Ａ／Ｄ変換およびデジタル信号処理を行うデジタルフロントエンド回路とを含んでいる。
【００５１】
画像処理エンジン３４は、電子カメラ３１の動作を統括的に制御するプロセッサである。例えば、画像処理エンジン３４は、撮影モードにおいて、ユーザの撮影指示入力に応じて、第１画像および第２画像を撮像部３３に連写撮影させる。また、画像処理エンジン３４は、プログラムの実行により、一の実施形態のＣＰＵ１４（位置ズレ演算部２１および画像処理部２２）と同様に動作することができる。
【００５２】
第１メモリ３５は、第１画像および第２画像のデータを一時的に記憶するメモリであって、例えば揮発性の記憶媒体であるＳＤＲＡＭで構成される。また、第２メモリ３６は、画像処理エンジン３４の実行するプログラムを記憶するメモリであって、例えばフラッシュメモリ等の不揮発性メモリで構成される。
【００５３】
記録Ｉ／Ｆ３７は、不揮発性の記憶媒体を接続するためのコネクタを有している。そして、記録Ｉ／Ｆ３７は、コネクタに接続された記憶媒体３９に対して画像のデータの書き込み／読み込みを実行する。上記の記憶媒体３９は、例えば、ハードディスクや、半導体メモリを内蔵したメモリカードである。なお、図３では記憶媒体の一例としてメモリカードを図示する。
【００５４】
操作部３８は、ユーザの操作を受け付ける複数のスイッチを有している。この操作部３８は、例えば、記録用の静止画像の撮影指示を受け付けるレリーズ釦などを含む。
【００５５】
以下、他の態様における電子カメラ３１の動作例を簡単に説明する。他の態様の電子カメラ３１では、ユーザの撮影指示入力に応じて、撮像部３３が第１画像および第２画像を連続的に撮影する。これにより、図２の＃１０１，＃１０２の処理に相当する第１画像および第２画像の取得が行われる。なお、位置合わせの対象となる画像は、動画像（構図確認用のいわゆるスルー画像を含む）の一部のフレームであっても良い。
【００５６】
そして、画像処理エンジン３４は、撮像部３３の取得した第１画像および第２画像を用いて、図２の＃１０３〜＃１０５と同様の手法で画像の位置ズレ量を検出する。その後、画像処理エンジン３４は、図２の＃１０６と同様に位置ズレ量を用いて画像合成処理を実行し、手ブレの補正された合成画像やダイナミックレンジの広い合成画像を生成する。その後、合成画像は記録Ｉ／Ｆ３７を介して記憶媒体３９に記録される。また、画像処理エンジン３４は、不図示の表示部に合成画像を表示してもよい。かかる他の実施形態においても、一の実施形態とほぼ同様の効果を得ることができる。
【００５７】
＜実施形態の補足事項＞
（ａ）上記実施形態で説明した位置合わせの手法はあくまで一例にすぎない。例えば、上記実施形態では評価値を最小二乗法で算出する方法を基に記述したが、評価値の設定やモデル化の手法によっては行列の算出方法は異なるため、式（４）や式（６）の形はこの限りではない。また、上記実施形態で適用した２つの幾何変換モデルは、変数の数が異なるモデルの組み合わせに適宜変更することもできる。
【００５８】
（ｂ）上記実施形態の＃１０５で説明した逆行列の演算手法は、高次の対称行列を等分割して低次の正方行列で表現できる形式であれば、変数の数が異なる幾何変換モデルにも広く応用することができる。例えば、上記実施形態で説明した６つの変数（ｐ0〜ｐ5）に代えて、８つの変数による射影変換を実現する幾何変換モデルにおいても、本発明の演算手法を同様に適用できる。
【００５９】
（ｃ）上記実施形態の位置ズレ演算部２１は、＃１０４の処理のときに、第１画像の低解像度画像および第２画像の低解像度画像を用いて位置調整を実行してもよい。この場合には、＃１０４の処理の演算量が少なくなるので、画像合成処理の効率をより高めることができる。
【００６０】
ただし、この場合には＃１０４で用いる第１画像および第２画像と、＃１０５で用いる第１画像および第２画像との解像度が異なるので、＃１０４、＃１０５の各演算においてそれぞれ微分画像を生成する必要がある。また、位置ズレ演算部２１は、＃１０４で求めた位置ズレ量を用いて＃１０５の初期パラメータを決定するときに、解像度の変化に合わせてチューニングを行う必要がある。
【００６１】
（ｄ）上記実施形態では、画像処理装置の各機能をプログラムによってソフトウエア的に実現する例を説明した。しかし、本発明では、ＡＳＩＣを用いて位置ズレ演算部２１や画像処理部２２の機能をハードウエア的に実現してもかまわない。
【００６２】
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲が、その精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図する。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずであり、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物によることも可能である。
【符号の説明】
【００６３】
１１…コンピュータ，１２…データ読込部，１３…記憶装置，１４…ＣＰＵ，２１…位置ズレ演算部，２２…画像処理部，３１…電子カメラ，３３…撮像部，３４…画像処理エンジン
【図１】
2012123652.tif 000014
【図２】
2012123652.tif 000015
【図３】
2012123652.tif 000016