(58)【調査した分野】(Int.Cl.,DB名)
前記画像処理装置は、さらに、前記領域設定部により前記第1の画像と前記第1補正画像とそれぞれに対して設定された後処理で用いる領域の座標を、魚眼光学系の射影方式に応じた座標に変換する後処理領域座標変換部を備え、
前記切り出し画像生成部は、前記後処理領域座標変換部により変換された前記第1の画像と前記第1補正画像との後処理で用いるそれぞれの領域を切り出して第1切り出し画像と第2切り出し画像とを生成する
請求項7に記載の画像処理装置。
前記画像処理装置は、さらに、撮影に用いた光学系の光軸周りの回転角度または前記光学系の光軸に対して互いに垂直な2軸のうち少なくとも1つの軸周りの回転角度を計測し、計測した前記回転角度を、前記第2の画像の前記第1の画像に対する3軸周り方向の位置ずれ量を示す移動量と推定するセンサ推定部を備える
請求項1、3〜8のいずれか1項に記載の画像処理装置。
前記移動量推定部は、さらに、前記特徴点マッチング部によって推定された第1移動量または前記センサ推定部によって推定された第1移動量を、前記複数の画像間の位置ずれを補正するために用いる第1移動量と決定し、決定した第1移動量を領域設定部および移動量合成部に出力する補正手段決定部を備える
請求項9に記載の画像処理装置。
【背景技術】
【0002】
カメラで撮影された映像(動画像)の揺れを画像処理で補正する方法がある。例えば、それは、時間的に連続して撮影された2枚の画像を用い、画像間で共通に写っている対象の情報を利用し、MPEG技術などに代表される動きベクトルを検出することで、フレーム間(画像間)のカメラの揺れを推定して補正する方法である。このような動きベクトルを用いた方法では、動きベクトルを検出するために画像の領域を利用するというアルゴリズムの性質上、精度および計算コスト面での制限が存在する。そのため、検出可能なカメラの揺れの大きさの上限は事前に設定されており、例えば歩行時に撮影された映像や、ファインダレスで撮影された映像に含まれる揺れのような大きな揺れに対しては揺れの検出ができなかった。つまり、動きベクトルを用いた手法では扱えない大きさの揺れがあり、そのような大きさの揺れについては揺れを補正ができないという課題があった。
【0003】
それに対して、動きベクトルを用いた手法では扱えない大きさの揺れを補正する方式として、特徴点ベースのマッチング手法がある。これは時間的に連続して撮影された2枚の画像間で共通に存在する被写体上のいくつかの特徴的な点を用いる。
【0004】
ここで、特徴点ベースのマッチング手法(特徴点マッチングとも記載)について具体的に説明する。
【0005】
図1A〜
図1Dは、特徴点ベースのマッチング手法を説明するための図である。以下、2枚の画像のうち、時間的に先に撮影された画像を画像t−1、時間的に後に撮影された画像を画像tと表記する。
【0006】
図1Aは、画像t−1と、画像t−1より時間的に後に撮影された画像tとを表す図である。
図1Bは、
図1Aに示す画像t−1、画像tから抽出された特徴点を表す図である。
図1Cは、
図1Bに示す画像t−1、画像tから抽出された特徴点の性質の種類を示す図である。
図1Dは、
図1Bに示す画像t−1、画像tから抽出された特徴点のマッチングを示す図である。ここで、特徴点とは、上述したように、画像処理によって検出可能な画像上の特徴的な点である。
【0007】
図1Aに示す画像t−1、画像t上のコントラストの高い画素が、
図1Bに示す特徴点として選択される。
図1Bに示すように、コントラストが極めて高いようなコーナーに存在する特徴点は画像間(画像t−1および画像t)で共通して抽出されやすいが、コントラストがそれほど高くないような特徴点は画像間(画像t−1および画像t)で共通して抽出されにくい。
【0008】
図1Bに示す特徴点には、画像間(画像t−1および画像t)で共通に写っている領域から得られた特徴点(
図1C中に○で示す特徴点)と、画像間(画像t−1および画像t)で共通に写っている領域から得られているが画像間(画像t−1および画像t)で位置が変わっている特徴点(
図1C中に△で示す特徴点)とがある。また、
図1Bに示す特徴点には、画像間(画像t−1および画像t)で共通に写っていない領域から得られた特徴点(
図1C中に×で示す特徴点)も存在する。
図1Bに示す特徴点のうちマッチング可能な特徴点は、画像間(画像t−1および画像t)で共通に写っている領域から得られた特徴点である(
図1C中に○で示す特徴点)。
【0009】
しかし、画像間(画像t−1および画像t)で共通して写っている領域から得られた特徴点の位置や比は、マッチング前には未知であるため、どの特徴点が画像間(画像t−1および画像t)で共通に写っている領域から得られた特徴点であるかも未知である。そのため、RANSAC(RANdom SAmple Consensus)などの手法を使い、画像t−1で抽出された特徴点と画像tで抽出された特徴点とからそれぞれ特徴点の組合せを選び出し、事前に設定した評価関数でそれぞれの特徴点の組合せの評価値を求める(
図1D)。この評価値は、画像間(画像t−1および画像t)で共通に写っている領域から得られている特徴点の組合せ(以下、inlierと表記する)であった場合に高くなりやすいように設計される。
【0010】
具体的には、画像t−1で抽出された特徴点と画像tで抽出された特徴点とから選んだ2組の特徴点の組合せから回転行列を生成する。そして、生成した回転行列が正しいかどうかを検算するために、選んだ特徴点の組合せ以外の画像t−1の特徴点を生成した回転行列で回転させ、回転させた後の画像t−1の特徴点が画像tの特徴点と一致するかを確認する。回転させた後の画像t−1の特徴点が画像tの特徴点と一致していれば、生成した回転行列が正しい画像間の揺れ量(位置ずれの程度)を表している可能性が高い事が分かるため、この一致度合を評価値とした評価関数を設定する。この評価関数を用いて規定回数探索を行った段階で探索を打ち切り、その時点で最大の評価値を得たinlierを用いて回転行列を推定する。なお、このinlierは
図1C中で○に示す特徴点のような画像間で共通に存在する特徴点であり、主に撮影された画像内における遠景領域から得られる特徴点である。そして、遠景特徴点であるinlierから推定された回転行列を用いて画像の揺れを補正する。遠景領域とは、撮影された画面の中で、背景に相当する部分の領域であり、画面内で遠方となる部分の領域である。
【0011】
一般的には、このような処理により、特徴点マッチングが行われる。つまり、特徴点マッチングは、画像間(画像t−1および画像t)で生じた揺れを、画像t−1と画像tとで共通に写っている領域から得られる画像t−1の特徴点の分布と画像tの特徴点の分布とができるだけ一致するように反復的に探索を行う手法であり、画像t−1と画像tとの共通に写っている領域から得られる特徴点分布が最も一致する時の移動量を画像間(画像t−1および画像t)の揺れ量とを推定する手法である。そして、この特徴点マッチングを行い、画像間(フレーム間)で生じた揺れ量を毎画像で推定し続けることで、推定した揺れ量を用いて映像(毎画像)の揺れを補正することができる。
【0012】
また、特徴点マッチングでは、一般的なアルゴリズムの特性として、特徴点分布における画像間(フレーム間)の類似性を用いるため、画像の部分的な領域情報を扱う動きベクトルを用いた手法と比較すると計算コストが低いという特徴がある。さらに、特徴点マッチングでは、画像全体の特徴点を用いたマッチングを行うことが可能であるため、ある程度の大きな揺れ量の推定も可能である。そのため、特徴点マッチングを適用することで、歩行時に撮影された映像やファインダレスで撮影された映像に含まれる大きな揺れであっても推定可能である。つまり、特徴点マッチングでは、動きベクトルを用いた手法では扱えない大きさの揺れを補正することができる。
【0013】
しかしながら、特徴点マッチングでは揺れ量の推定精度が十分ではないという課題がある。すなわち、特徴点マッチングでは、画像上の特徴点位置を用いて揺れ量(画像間の位置ずれ量)の推定を行うため、フレーム間(画像間)で揺れ量の推定に用いられる特徴点の位置が変わってしまう場合にはフレーム間(画像間)の揺れ量を十分な精度では推定できないという課題がある。
【0014】
このフレーム間(画像間)の特徴点位置の変化は、照明条件の変化、近景の変化、カメラが動くことによる見え方の変化など、何らかの変化がフレーム間(画像間)で生じた場合に発生し得る。これは、画像を用いている限りにおいては避けられない。結果として推定精度が低下した場合、フレーム間(画像間)におけるおおよその揺れ量は補正されているものの、若干の揺れが残留してしまう。そして、人は、この若干の揺れでさえ、敏感に感じ取ってしまい、画像が揺れていると捉えてしまうという現実がある。
【0015】
そのため、特徴点マッチングの推定精度を改善する方式が必要となる。その方式の1つとして、特徴点マッチング後に後処理を追加して精度を改善する方式が考えられる。この後処理を実現する方法としてはセンサを利用する方法または画像処理を利用する方法の2種類の方法が候補として挙げられる。ただし、例えば歩行時に撮影された映像などには歩行時に発生する衝撃があるため、センサを利用する方法だと、この衝撃がセンサに加わるため、推定精度が低下する。このような使用場面を考慮して、画像処理を利用して後処理を実現するのが好ましい。すなわち特徴点マッチング後に、追加の画像処理を行い、特徴点マッチングの推定精度低下を補間することで高精度な映像の揺れ量の推定を行うのが好ましい。後処理を実現する画像処理としては、例えば動きベクトル検出や特定オブジェクトのトレースなどの方法を利用する方法がある。これは、もともと生じている大きな揺れであっても、特徴点マッチングによる補正後では誤差程度の小さな揺れ量となっているため、動きベクトルなどの検出方法の適用が現実的になっていることによる。
【0016】
特徴点マッチングの推定精度の低下を、画像処理を利用する後処理で補う場合、後処理として画像中のどの領域を用いて画像処理を行うかが非常に重要である。なぜなら、画像中には様々な被写体が写っているため、画像処理を利用する後処理で揺れ量を推定するための領域が不適切だとかえって推定精度が落ちる結果を招くこととなるからである。
【0017】
このように、画像処理で揺れ量を推定するための適切な領域を選択することは重要であり、これまでいくつかの手法が提案されている。例えば、特許文献1では、画像中で特定オブジェクトが存在することが既知の場合に、その特定オブジェクトに特有の画像特徴を抽出した領域を揺れ量推定領域として設定する方法が開示されている。また例えば特許文献2および特許文献3では、画像中の消失点を検出し消失点周辺の領域を揺れ量推定領域として設定する方法が開示されている。
【発明を実施するための形態】
【0030】
以下、本発明の各実施の形態について図面を参照しながら説明する。
【0031】
(実施の形態1)
図2は、本発明の実施の形態1における全体構成を示すブロック図である。
【0032】
撮像部10は、例えばデジタルスチルカメラやデジタルビデオカメラなどCCDやCMOSセンサ等の撮像素子を備えたカメラであり、映像を撮影して電気信号として出力する。
【0033】
画像処理装置20は、時間的に連続して撮影された複数の画像間の位置ずれを補正するための画像処理装置であって、画像処理部20aと画像取得部21とを備える。
【0034】
画像取得部21は、処理対象の画像データを取得する。具体的には、画像取得部21は、撮像部10で時間的に連続して撮影された複数の画像のうち第1の画像(画像t−1)と、第1の画像(画像t−1)の時間的に後に撮影された第2の画像(画像t)の2枚の画像データを取得する。
【0035】
ここで、画像t−1は第1の画像の例であり、画像tは第2の画像の例である。また、説明を簡単にするため、画像t−1は(第1の画像)時系列上で画像t(第2の画像)の直前に撮影された画像であり、画像tは画像t−1が撮影された直後に撮影された画像であるとする。この画像t−1および画像tの画像データは一般的なJPEG形式で圧縮符号化されたものでも良いし、MPEG4等の動画形式で記録されたものでも良い。
【0036】
画像処理部20aは、移動量推定部22と、領域設定部23と、後処理部24と、移動量合成部25と、画像補正部26とを備え、画像取得部21により取得した画像データを画像処理する。
【0037】
移動量推定部22は、特徴点抽出部221と、歪み補正部222と、特徴点マッチング部223と備え、第1の画像の時間的に後に撮影された第2の画像の前記第1の画像に対する互いに垂直な3軸の軸周り方向の回転位置ずれ量を示す回転移動量を推定する。
【0038】
特徴点抽出部221は、第1の画像と第2の画像とからそれぞれ特徴点を抽出する。具体的には、特徴点抽出部221は、画像取得部21により取得された画像t−1、画像tが入力され、入力された画像t−1および画像tの特徴点の抽出を行い、それぞれ特徴点データt−1および特徴点データtを生成する。
【0039】
ここで特徴点とは、上述したように、画像処理によって検出可能な画像上の特徴的な点であり、例えば画像中の縦方向・横方向のエッジが共に強く出ているエッジの交差した点、ローカルの近傍に2つの異なる方向を向いた強いエッジの存在する点などである。特徴点は、時系列上で連続した画像t−1と画像tとの2枚の画像間で共通に写っている点から安定的に検出(推定)できるもの(inlier)が好ましい。しかし、特徴点抽出部221が特徴点を抽出する際、画像t−1と画像tの正確な位置関係は未知である。そのため、何らかの基準を用いて共通に存在する特徴点を抽出する必要がある。
【0040】
以下、共通に存在する特徴点を抽出するために用いる基準について説明する。
【0041】
例えば、特徴点の抽出にHarrisを用いた場合、画像のエッジを基準として縦・横のエッジが交差するようなコーナー点が抽出される。
【0042】
具体的には、特徴点抽出部221は、画素ごとにエッジの交差度を表す特徴点スコアを算出することにより上記のコーナー点を抽出する。ここで、理論上は、特徴点抽出部221により画素ごとに特徴点スコアが算出され存在することになる。しかし、例えば組込み系などリソース制限のある環境で画像処理装置20が実装される場合、後段の特徴点マッチング部223でマッチング処理に用いる特徴点数に上限が存在する場合がある。これを考慮すると、特徴点抽出部221で算出された全ての特徴点を用いて、特徴点マッチング部223でマッチング処理を行うことは計算コストおよび演算精度の面から好ましくない。そのため、特徴点スコアの高いものから順に規定数に達するまでを特徴点として採用した上でマッチング処理を行うことが好ましい。
【0043】
ここで、特徴点スコアの高いものから順に規定数に達するまでを特徴点として採用するのが好ましい理由について説明する。Harrisで使用されるエッジは画像のコントラスト(輝度値)変化を反映するため、照明条件が多少変化する程度である場合は画像のコントラストは保存され、エッジは消失しない。つまり、遮蔽によって障害物などに隠され、エッジ自体が消失する場合を除いては、エッジは画像間(画像フレーム間)で消失する可能性は低いからである。そのため、エッジ情報をベースとした特徴点スコアの高い点は、画像t−1と画像tとにおいて特徴点として共通して存在する可能性が高い。
【0044】
以上から、共通に存在する特徴点を抽出するために用いる基準として特徴点スコアを使用する場合は、特徴点抽出部221は、ある特定の閾値よりもスコアの高い特徴点を抽出することになる。ここで、特徴点スコアを用いて特徴点を抽出する場合、上記の特定の閾値は画像内の平均スコアの値を用いてもよいし、複数の画像の時系列上でのスコアの平均などを基に決めた値を用いてもよい。また、上記の特定の閾値は、画像全体で1つの閾値を用いる必要はなく、領域ごとに生成される閾値を用いるとしてもよい。さらに、この領域ごとに生成される閾値は単一の画像を基に決めるとしてもよいし、時系列上の複数の画像を利用して決めるとしてもよい。
【0045】
また、特徴点スコアは、何らかのオブジェクトの認識を行った場合のオブジェクトのスコアを基に決めるとしてもよい。
【0046】
なお、この特徴点抽出部221を実現する代表的な方法としては、この他にSIFT、SURFなどの方法が存在する。
【0047】
歪み補正部222は、特徴点抽出部221により抽出された第1の画像および第2の画像の特徴点における撮影に用いた光学系の光学歪みに起因する歪みを補正する。ここで、歪みとは、撮影された複数の画像の特徴点の座標を撮影に用いた光学系の光学歪みに起因する座標位置ずれである。
【0048】
なお、撮影に用いた光学系の光学歪みに起因する歪みを補正しないとしてもよい。その場合には、移動量推定部22は、歪み補正部222を構成しないとし、特徴点抽出部221により抽出された第1の画像と第2の画像との特徴点とを、直接、特徴点マッチング部223に入力させる。
【0049】
特徴点マッチング部223は、歪み補正部222により歪みを補正された第1の画像の特徴点と第2の画像の特徴点とでマッチングを行うことにより、第1の画像に対する第2の画像の互いに垂直な3軸の軸周り方向の回転位置ずれ量を示す回転移動量を推定する。
【0050】
具体的には、特徴点マッチング部223は、画像t−1の特徴点データt−1と画像tの特徴点データtとの間のマッチングすなわち対応関係の推定を行う。ここで、特徴点データt−1は、前フレーム期間で画像t−1から特徴点抽出部221が抽出し、例えばメモリ224に記憶させていたものを用いるとする。また、特徴点データtは、現フレーム期間で画像tから特徴点抽出部221が抽出した特徴点データtを用いるとする。ここで、垂直な3軸の軸周り方向(3軸周り方向)の回転位置ずれ量を示す回転移動量は、典型的には、後述するroll、pitch、yawの回転成分から構成される。
【0051】
特徴点マッチング部223は、これら特徴点データt−1と特徴点データtとを用いて画像t−1および画像tの間に生じたカメラの動きを示す回転行列の推定を行う。ここで、回転行列の算出方法はRANSAC(RANdom SAmple Consensus)などの手法を用いる。この回転行列からはフレーム間すなわち画像間で発生したカメラの揺れ量を表すroll、pitch、yawの回転成分が得られる。なお、回転行列の推定に失敗した場合には、roll、pitch、yawには0を設定し、画像間では回転がなかったとして取り扱う。
【0052】
なお、移動量推定部22が歪み補正部222を構成しない場合には、特徴点マッチング部223は、特徴点抽出部221により抽出された第1の画像と第2の画像の特徴点とについて直接マッチングを行う。すなわち、特徴点マッチング部223は、特徴点抽出部221により抽出された第1の画像の特徴点と第2の画像との特徴点でマッチングを行うことにより、第1の画像に対する第2の画像の3軸周り方向の位置ずれ量を示す回転移動量を推定する。
【0053】
以上のように、移動量推定部22は構成される。
【0054】
領域設定部23は、
図3に示すように、補正画像生成部231と、後処理用領域設定部232と、判定部233とを備える。領域設定部23は、第1の画像および第2の画像から抽出された特徴点に基づき、第1の画像と、推定された回転移動量を用いて第2の画像の位置ずれを補正した第1補正画像とそれぞれに対して、後処理で用いる領域を設定する。具体的には、領域設定部23は、第1の画像および第1補正画像それぞれに対して、移動量推定部で前記第1の画像および前記第2の画像から抽出された特徴点のうち第1移動量の推定時に用いられた特徴点に基づき後処理で用いる領域を設定する。ここで、第1移動量の推定時に用いられた特徴点は、inlierである。つまり、領域設定部23は、特徴点マッチング部223で得られた例えば画像t上の遠景特徴点のinlierを用い、後処理部24で移動量の推定に使用する領域の設定を行う。なお、
図3は、本発明の実施の形態1における領域設定部23の構成を示すブロック図である。
【0055】
補正画像生成部231は、移動量推定部22により推定された第1移動量を用いて第2の画像の位置ずれを補正した第1補正画像を生成する。つまり、補正画像生成部231は、特徴点マッチング部223で推定された回転移動量(例えば上述した回転行列)、第2の画像の3軸周り方向の位置ずれを補正した第1補正画像を生成する。
【0056】
後処理用領域設定部232は、移動量推定部22で第1の画像および第2の画像から抽出された特徴点のうち第1移動量の推定時に用いられた第1特徴点に基づき、第1の画像と第1補正画像とそれぞれに対して所定の領域を設定する。
【0057】
判定部233は、後処理用領域設定部232により設定された第1補正画像の領域に、第1特徴点の数が閾値以上含まれているか否かを判定し、当該領域に第1特徴点の数が閾値以上含まれていると判定する場合に、当該領域のinlierは遠景特徴点であると判定し、当該領域を後処理で用いる領域とする。
【0058】
ここで、領域設定部23が特徴点マッチング部223で得られた画像t上の遠景特徴点のinlierを用いて、後処理部24で用いる領域の設定を行う理由について説明する。
【0059】
すなわち、特徴点マッチング部223で推定された画像間(フレーム間)の揺れ量が完璧に正しい場合には、推定した揺れ量の値に誤差は存在せず画像t−1と画像tとにおけるinlierの座標は一致する。しかし、実際には画像t−1と画像tとにおけるinlierの座標には誤差が生じるため、この誤差を後処理部24で抑える必要がある。そのため、領域設定部23は、後処理部24で用いる領域の設定を行う。
【0060】
また、特徴点マッチング部223で得られたinlierは、マッチングが成功している場合、フレーム間(画像間)で共通に存在する遠景領域から抽出された特徴点である可能性が高い。そのため、領域設定部23すなわち後処理用領域設定部232は、このinlierを用いて遠景領域に後処理部24が後処理で用いる領域を設定する。
【0061】
次に、inlierを用いて遠景領域に後処理部24が後処理で用いる領域を設定する理由を説明する。仮に後処理部24が後処理で用いる領域を近景領域に設定された場合、後処理部24は、カメラの動きとは異なる被写体の動きを推定することになってしまい、フレーム間(画像間)で発生したカメラの揺れ量を正しく推定できない。一方、後処理部24が後処理で用いる領域を遠景領域に設定された場合は、カメラの動きと大きさは同じで逆方向の動きをする背景領域の動きを推定することになるため、カメラの揺れ量を正しく推定することができる。そのため、遠景領域に後処理部24が後処理で用いる領域を設定するのが好ましい。
【0062】
ただし、特徴点マッチング部223で得られるinlierは、遠景領域の特徴点である可能性が高いが、RANSACの評価関数の設定などにより確率的にinlierが遠景領域の特徴点ではない場合も存在する。そのため、inlierが遠景領域の特徴点でないことを避けるため、後処理用領域設定部232により後処理で用いるために設定された領域が遠景領域内にある確率を高める必要がある。つまり、領域設定部23すなわち後処理用領域設定部232は、inlier単体ではなく一定数以上のinlierを用いて、
図4に示すように第1の画像(画像t−1)と第1補正画像(画像tの補正画像)とにおける遠景領域に後処理部24が後処理で用いる領域を設定する。
【0063】
なお、
図4は、inlierを用いて設定された後処理で用いるための領域の例を示す図である。ここで、
図4の左図(画像t−1)の領域の方が、
図4の右図(画像tの補正画像)の領域の方が大きく設定されている。これは後処理で画像t−1と画像tの補正画像との位置ずれの比較をし易くするために、inlierの座標に生じる誤差を考慮して一方の領域を大きくしているからである。ここで、領域を大きくするのは、後処理の計算コストとのトレードオフになるが、特徴点マッチング後に生じる誤差量を基準として設定し、例えば2〜3%程度だけ大きくするのが好ましい。
【0064】
なお、後処理用領域設定部232がある一定数以上のinlierを用いた領域の設定方法としては、次のようなものが例示される。複数のinlierの重心座標を中心とした一定領域として設定する方法、画像中の特定領域を設定しその領域内の複数inlierの重心座標を中心とした一定領域として設定する方法、特定カラーの領域内の複数inlierの重心座標を中心とした一定領域として設定する方法、特定オブジェクトの領域内の複数inlierの重心座標を中心とした一定領域として設定する方法、などである。いずれの方法を用いた場合も、後処理用領域設定部232は、後処理部24で特徴点マッチング部223が推定した揺れ量の精度を向上させるために、特徴点マッチング部223で推定されたフレーム間(画像間)の揺れ量で実際に画像tの各inlierの座標を補正した後の座標を用いて領域を設定する。
【0065】
以上のように領域設定部23は、構成される。
【0066】
後処理部24は、
図5に示すように、切り出し画像生成部241と、切りだし画像位置合わせ部242とを備える。
図5は、本発明の実施の形態1における後処理部の構成を示すブロック図である。
【0067】
後処理部24は、第1の画像と第1補正画像とのそれぞれに設定された領域から、第1切り出し画像と第2切り出し画像とを生成し、第1切り出し画像に対する第2切り出し画像の位置ずれ量を示す第2移動量を推定する後処理を行う。具体的には、後処理部24は、領域設定部23で設定された画像tの補正画像(第2の画像)の領域と、画像tの補正画像(第2の画像)で設定された領域の座標値を用いて設定される画像t−1(第1の画像)の領域との2枚の画像(第1切り出し画像および第2切り出し画像)を用いて、後処理を行う。これは、上述したように、特徴点マッチング部223で推定されたフレーム間(画像間)の揺れ量の推定精度を向上させる目的で後処理部24により行われる。
【0068】
切り出し画像生成部241は、第1の画像と第1補正画像とのそれぞれから、第1の画像と第1補正画像とに設定された前記領域を切り出すことにより第1切り出し画像と第2切り出し画像とを生成する。
【0069】
切りだし画像位置合わせ部242は、切り出し画像生成部241により生成された第1切り出し画像の領域と第2切り出し画像の領域とでマッチング(切りだし画像位置合わせ)を行うことにより、第1切り出し画像に対する第2切り出し画像の第2移動量を推定する。
【0070】
なお、後処理部24が行う具体的な処理の内容としては、並進推定、回転推定、傾き推定などの処理に加え、これらの処理の組合せでも構わない。つまり、第2移動量とは、並進移動量、回転移動量、傾き移動量のいずれでも構わない。例えば、第2移動量が並進推定から推定される並進移動量の場合は、第1切り出し画像および第2切り出し画像の2枚の画像から動きベクトルを算出して並進移動量成分x、yを推定する。そして、後段の移動量合成部25で、移動量推定部22(具体的には特徴点マッチング部223)で推定された回転移動量(第1移動量)であるroll、pitch、yawと、並進移動量(第2移動量)であるx、yを移動量が合成される。
【0071】
以上のように後処理部24は、構成される。
【0072】
移動量合成部25は、推定された第1移動量および第2移動量に基づき、第1の画像と第2の画像との間の位置ずれ量を示す移動量を合成する。具体的には、移動量合成部25は、後処理部24で推定された第1移動量と特徴点マッチング部223で推定された回転移動量とを合成し、映像の揺れ量を示す移動量を得る。
【0073】
ここで、移動量合成部25は、移動量の合成を、roll、pitch、yawを変換して並進移動成分x、yで表す2軸のパラメータでも行うとしても構わない。また、並進移動量成分x、yを回転移動量成分roll、pitch、yawに変換して最終的に3軸のパラメータで行うとしても構わないし、さらには、移動量成分x、yおよび回転移動量成分roll、pitch、yawの5軸のパラメータで行うとしても構わない。
【0074】
例えば、後処理部24が回転推定の処理を行う場合は、特徴点マッチング部223で用いていた特徴点の情報は画像間(フレーム間)で位置の変更が起こりやすく推定精度が低下するため、特徴点マッチング部223で用いていた点ベースの評価関数ではなく領域ベースの評価関数で再計算を行うとしてもよい。その場合、後処理部24は、特徴点マッチング部223で推定した揺れ量の誤差を、回転移動成分roll、pitch、yawで推定し、移動量合成部25で、特徴点マッチング部223で推定した揺れ量に加算する合成を行うことで、最終的に3軸のパラメータから構成される移動量を合成すればよい。
【0075】
また、例えば、後処理部24が下記のような理由から傾き推定の処理を行うとしても良い。特徴点マッチング部223で推定される揺れ量はあくまでフレーム間(画像間)の相対的な値であるため、ある基準のフレーム(画像)からの揺れ量は取得可能であるが絶対的な揺れ量は取得できない。つまり、特徴点マッチング部223で推定される揺れ量には推定誤差が生じる。この誤差が積算されると実態とかけ離れることが起こってしまう。
【0076】
また、特徴点マッチング部223で推定されるroll、pitch、yawの3パラメータのうち、画像の傾きを表すrollでこの誤差が積算されると補正された画像が傾いてしまうため、この誤差をリセットすることが好ましい。これが傾き推定の処理を行うとする理由である。したがって、後処理部24は、画像の傾きを表すrollの誤差をリセットする目的で画像処理から傾き角度を推定する必要がある場合に、領域設定部23で設定された遠景領域から、画像中の構造物上に存在する線分情報を利用して画像の傾き角度rollを推定する。そして、移動量合成部25は、後処理部24はで推定されたrollのみを特徴点マッチング部223で推定される揺れ量に加算することで、最終的に3軸のパラメータからなる移動量を合成するとしてもよい。なお、後処理部24での推定が失敗した場合には、推定した移動量を0と設定する。
【0077】
以上のようにして、移動量合成部25は映像の揺れ量を示す移動量を合成する。
【0078】
画像補正部26は、移動量合成部25で合成された複数の画像間の位置ずれを補正するための画像間の位置ずれ量(揺れ量)を示す移動量(最終的な補正値)を用いて画像を補正する。具体的には、画像補正部26は、移動量合成部25で合成された移動量(揺れ量)を用いて、画像t−1(第1の画像)、画像t(第2の画像)の画像間(フレーム間)で生じたカメラの動きによる位置ずれ(揺れ量)を補正する。
【0079】
例えば、画像補正部26は、移動量合成部25で合成された移動量(揺れ量)が並進移動量成分すなわちx、yの2軸からなる場合は、合成されたx、yに応じた平行移動を画像t(第2の画像)に行うことで画像t(第2の画像)の画像t−1(第1の画像)に対する補正を行う。また、例えば、画像補正部26は、移動量合成部25で合成された移動量(揺れ量)が回転移動量成分すなわちroll、pitch、yawの3軸からなる場合は、合成されたroll、pitch、yawでアフィン変換を画像t(第2の画像)に行うことで補正を行う。また、例えば、画像補正部26は、移動量合成部25で合成された移動量(揺れ量)が並進移動量成分および回転移動量成分すなわちx、y、roll、pitch、yawの5軸からなる場合は、x、yに応じて画像t(第2の画像)に平行移動を行った後にさらにroll、pitch、yawでアフィン変換を行う事で補正を行う。
【0080】
次に、以上のように構成された画像処理装置20の処理の流れについて説明する。
【0081】
図6および
図7は、本発明の実施の形態1における画像処理装置20の処理の流れについて説明するためのフローチャートである。
図8A〜
図9Cは、本発明の実施の形態1における画像処理装置20の処理を説明するための図である。
【0082】
まず、画像処理装置20は、画像取得部21で処理対象の画像データを取得する。具体的には、画像取得部21は、撮像部10から得られる画像tおよび画像t−1の画像データをそれぞれ読み込む。
【0083】
次に、移動量推定部22は、第1の画像の時間的に後に撮影された第2の画像の前記第1の画像に対する3軸周り方向の位置ずれ量を示す回転移動量を推定する(S10)。具体的には、特徴点抽出部221は、第1の画像と第2の画像とからそれぞれ特徴点を抽出する(S101)。歪み補正部222は、特徴点抽出部221により抽出された第1の画像および第2の画像の特徴点における撮影に用いた光学系の光学歪みに起因する歪みを補正する。次いで、特徴点マッチング部223は、歪み補正部222により歪みを補正された第1の画像の特徴点と第2の画像の特徴点とのマッチングを行うことにより、第1の画像に対する第2の画像の3軸周り方向の位置ずれ量を示す回転移動量を推定する(S102)。S102において、より詳細には、特徴点マッチング部223は、例えば
図8Aまたは
図9Aに示すように画像t−1の特徴点データt−1と画像tの特徴点データtとの間のマッチングすなわち対応関係の推定を行う。そして、特徴点マッチング部223は、○で示す共通の特徴点(inlier)を用いて画像tに対する画像t−1の間の回転移動量(例えばroll、pitch、yawの回転成分)を推定する。なお、
図8Aと
図9Aはそれぞれ、画像t−1と画像tにおいて抽出された特徴点の種類を示す異なる例を示している。
【0084】
次に、領域設定部23は、第1の画像と、推定された回転移動量を用いて第2の画像の位置ずれを補正した第1補正画像とそれぞれに対して、第1の画像および第2の画像から抽出される特徴点に基づき後処理で用いる領域を設定する(S20)。具体的には、まず、補正画像生成部231は、移動量推定部22により推定された第1移動量を用いて第2の画像の位置ずれを補正した第1補正画像を生成する(S201)。次いで、後処理用領域設定部232は、移動量推定部22で第1の画像および第2の画像から抽出された特徴点のうち第1移動量の推定時に用いられた第1特徴点(inlier)に基づき、特徴点マッチング部223は、例えば
図8Bまたは
図9Bに示すように第1の画像と第1補正画像とそれぞれに対して所定の領域を設定する(S202)。ここで、
図8Bと
図9Bはそれぞれ、後処理用領域設定部により画像tの補正画像に、一旦後処理用の領域が設定された異なる例を示している。次いで、判定部233は、後処理用領域設定部232により設定された第1補正画像の領域に、第1特徴点(inlier)の数が閾値以上含まれているか否かを判定する(S203)。判定部233は、当該領域に第1特徴点の数が閾値以上含まれていると判定する場合に、当該領域のinlierは遠景特徴点であると判定し、例えば
図9Cに示すように当該領域を後処理で用いる領域として、S30に進む。ここで、
図9Cは、画像tの補正画像に設定された後処理用の所定の領域が条件を満たし、後処理領域が設定されたことを示す図である。なお、判定部233は、該領域に第1特徴点(遠景特徴点すなわちinlier)の数が閾値以上含まれていないと判定する場合には、当該領域のinlierは遠景特徴点ではないと判定し、後処理部24での処理は行わない旨(例えばゼロ値)を移動量合成部25に伝達する(例えば
図8C)。ここで、
図8Cは、画像tの補正画像に設定された後処理用の所定の領域が条件を満たさず、後処理領域が設定されなかったことを示す図である。
【0085】
次に、第1の画像と第1補正画像とそれぞれから、領域設定部23に設定された領域を切り出した第1切り出し画像と第2切り出し画像とを生成し、第1切り出し画像に対する第2切り出し画像の位置ずれ量を示す第2移動量を推定する後処理を行う(S30)。具体的には、切り出し画像生成部241は、第1の画像と第1補正画像とそれぞれから、設定された前記領域を切り出した第1切り出し画像と第2切り出し画像とを生成する(S301)。切りだし画像位置合わせ242は、切り出し画像生成部により生成された第1切り出し画像の領域と第2切り出し画像の領域とでマッチング(切りだし画像位置合わせ)を行うことにより、第1切り出し画像に対する第2切り出し画像の第2移動量を推定する(S302)。
【0086】
次に、移動量合成部25は、推定された第1移動量および第2移動量に基づき、第1の画像と第2の画像との間の位置ずれ量を示す移動量を合成する。なお、移動量合成部25は、判定部233により後処理部24での処理は行わない旨を伝達された場合には、第2移動量をゼロ値として第1の画像と第2の画像との間の位置ずれ量を示す移動量を合成する。
【0087】
次に、画像補正部26は、移動量合成部25で合成された移動量を用いて、画像t−1(第1の画像)、画像t(第2の画像)の画像間で生じたカメラの動きによる位置ずれ(揺れ量)を補正する。つまり、画像補正部26は、移動量合成部25で合成された移動量を用いて、映像の揺れを補正する。
【0088】
以上のようにして、画像処理装置20は処理を行う。
【0089】
以上のように、特徴点マッチングにより推定された画像t−1(第1の画像)および画像t(第2の画像)におけるinlierの座標には誤差を包含する可能性が高いため、移動量推定部22により推定された第1移動量(回転移動量)には誤差がある可能性が高い。そのため、本実施の形態における後処理部24を設け、第1移動量(回転移動量)の誤差を抑えるための第2移動量を推定する。具体的には、第1移動量(回転移動量)を推定時に用いられた遠景特徴点のinlierを用いて画像処理の後処理用の領域設定を行うことにより、映像の揺れを高精度に補正することができる。
【0090】
したがって、実施の形態の画像処理装置および画像処理方法によれば、時間的に連続して撮影された複数の画像間の揺れ量を高精度に補正することができる。
【0091】
なお、上記では、画像処理装置20は、画像取得部21と画像処理部20aとを備えるとしたがそれに限られない。画像処理装置20の最小構成として、画像処理部20aを備えていればよい。画像処理装置20は、この画像処理部20aを少なくとも備えることにより、時間的に連続して撮影された複数の画像間の揺れ量を高精度に補正することができる。
【0092】
(実施の形態2)
実施の形態1では、第1移動量(回転移動量)を移動量推定部22で画像処理を行うことにより推定していたが、それに限らない。第1移動量(回転移動量)をセンサでも同時に推定するとしてもよい。以下、本発明の実施の形態2における画像処理装置および画像処理方法について、図を参照しながら説明する。
【0093】
図10は、本発明の実施の形態2における全体構成を示すブロック図である。
図2と同様の構成要素については同じ符号を用いて説明を省略し、異なる構成要素についてのみ説明を行う。
【0094】
図10に示す本実施の形態の画像処理部30aは、
図3に示す実施の形態1の画像処理部20aに対して、移動量推定部の構成が異なる。具体的には、本実施の形態の移動量推定部32は、実施の形態1の移動量推定部22に対して、センサ推定部323、補正手段決定部324をさらに備える点で異なる。
【0095】
センサ推定部323は、撮影に用いた光学系の光軸周りの回転角度または前記光学系の光軸に対して互いに垂直な2軸のうち少なくとも1つの軸周りの回転角度を計測し、計測した前記回転角度を、前記第2の画像の前記第1の画像に対する3軸周り方向の第1移動量と推定する。具体的には、センサ推定部323は、センサを用いて画像間(フレーム間)のカメラの揺れ量(3軸周り方向の回転移動量)を推定する。ここで、センサ推定部323は、角加速度センサ、角速度センサ、加速度センサ、ジャイロセンサおよび方位センサのうち少なくとも1種類のセンサによって構成される。なお、センサは、上記のうちいずれか、またはいくつかのセンサを用いて、画像間(フレーム間)に生じたカメラの揺れ量(3軸周り方向の回転移動量)を計測する。
【0096】
補正手段決定部324は、特徴点マッチング部によって推定された第1移動量またはセンサ推定部323によって推定された第1移動量を、前記複数の画像間の位置ずれを補正するために用いる第1移動量と決定し、決定した第1移動量を領域設定部および移動量合成部に出力する。具体的には、補正手段決定部324は、判定部233で画像処理の結果が適用不可能と判定された場合に、センサ推定部323で推定された画像間(フレーム間)の揺れ量(移動量)が適用可能かを決定する。具体的には、補正手段決定部324は、加速度センサもしくはジャイロセンサなどのセンサを用いて、画像間(フレーム間)または複数画像(複数フレーム)における挙動を観測することにより、センサ推定部323で推定された揺れ量(移動量)を用いるか用いないかを決定する。
【0097】
なお、画像間(フレーム間)または複数画像(複数フレーム)における挙動の観測は、例えば複数画像間(フレーム間)でセンサの値が激しく揺らいでいる場合にはカメラの揺れ量(回転移動量)が大きいと判定することができる。そのため、補正手段決定部324は、センサの値が激しく揺らいでいる場合にセンサの推定精度が下がるとしてセンサ推定部323で推定された揺れ量(移動量)を用いての補正は行わないことを決定するとしてもよい。反対に、逆にセンサの挙動が安定している場合にはカメラが静止状態にあるとしてセンサ推定部323で推定された揺れ量(移動量)を用いての補正を行うことを決定するとしてもよい。
【0098】
以上のように画像処理装置30は構成される。
【0099】
なお、本発明の実施の形態2を用いた場合でも、特徴点マッチング部223から得られる遠景特徴点であるinlierが利用可能であるため、領域設定部23を用いて領域を設定し、後処理によって高精度に移動量(揺れ量)を算出することが可能である。
【0100】
次に、本実施の形態における画像処理装置30の処理の流れについて説明する。
【0101】
図11は、本発明の実施の形態2における画像処理装置30の処理の流れについて説明するためのフローチャートである。なお、
図7と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【0102】
すなわち、S10において、まず、移動量推定部22では、S101〜S102で、特徴点マッチング部223が第1移動量(回転移動量)を推定する。それとともに、移動量推定部22では、S103で、センサ推定部323が第1移動量(回転移動量)を推定する。次いで、移動量推定部22では、補正手段決定部324が特徴点マッチング部223により推定された第1移動量またはセンサ推定部323により推定された第1移動量を、画像間の位置ずれを補正するために用いる第1移動量と決定し、決定した第1移動量を領域設定部23および移動量合成部25に出力する(S104)。
【0103】
以降のS20〜S50については、実施の形態1でのS20〜S50の処理と同様のため説明を省略する。
【0104】
以上のようにして、画像処理装置30は、処理を行う。
【0105】
以上、本実施の形態によれば、第1移動量(回転移動量)を推定時に用いられた遠景特徴点のinlierを用いて画像処理の後処理用の領域設定を行うことにより、時間的に連続して撮影された複数の画像間の揺れ量を高精度に補正することができる画像処理装置および画像処理方法を実現することできる。
【0106】
(実施の形態3)
実施の形態3では、撮影された映像すなわち時間的に連続して撮影された複数の画像が魚眼光学系を用いて撮影された場合の例について説明する。以下、本発明の実施の形態3における画像処理装置および画像処理方法について、図を参照しながら説明する。
【0107】
図12は、本発明の実施の形態3における全体構成を示すブロック図である。なお、
図2または
図10と同様の構成要素については同じ符号を用い、説明を省略し、異なる構成要素についてのみ説明を行う。
図13は、魚眼光学系を用いて撮影された場合に画像処理装置40が行う画像処理の例を示す図である。
図13(a)は魚眼レンズで撮影された画像を示しており、
図13(b)は、
図13(a)に示す画像の一部を切り出した画像を示している。
【0108】
図12に示す本実施の形態の画像処理部40aは、
図10に示す実施の形態2の画像処理部30aに対して、特徴点座標変換部425と後処理領域座標変換部47をさらに備える点で構成が異なる。
【0109】
実施の形態1および2では、撮影された映像すなわち時間的に連続して撮影された複数の画像が通常画角の光学系もしくは広角の光学系を用いて撮影された場合の例について説明した。それに対して本実施の形態では、撮影された映像すなわち時間的に連続して撮影された複数の画像が魚眼レンズ等の魚眼光学系を用いて撮影された場合の例を説明する。
【0110】
魚眼レンズを用いる場合、
図13(a)に示す魚眼レンズで撮影された画像からわかるように、通常画角の光学系とは射影方式が異なるため、採用している射影方式に応じて外界からの光がレンズに入射する経路が変化する。画像処理で画像(フレーム間)のカメラの揺れ量を推定する場合は、カメラが外界に対してどのように動いたかを知る必要がある。言い換えると、正しいカメラの揺れ量を求めるには、各画素が外界のどの位置から得られたかを知る必要がある。そのため、魚眼レンズで用いられている射影方式に応じた座標変換を行う必要がある(例えば
図13(b)の画像)。
【0111】
特徴点座標変換部425は、特徴点抽出部221により抽出された第1の画像の特徴点と第2の画像の特徴点との座標を魚眼光学系の射影方式に応じた座標に変換する。具体的には、特徴点座標変換部425は、時間的に連続して撮影された複数の画像が魚眼光学系を用いて撮影された場合に、撮影された複数の画像の特徴点の座標を魚眼レンズで採用されている射影方式に応じた特徴点の座標に変換する座標変換を行う。それに対応して、特徴点マッチング部223は、特徴点座標変換部425により変換された第1の画像の特徴点の座標と第2の画像の特徴点の座標とでマッチングを行うことにより、前記第1の画像に対する前記第2の画像の位置ずれ量を示す移動量を推定する。
【0112】
なお、このような座標変換を行うのは、上述したように、魚眼光学系の超広角光学系で採用している射影方式によって入力画像から得られる特徴点座標の位置と外界における位置が異なるからである。そのため、正しいカメラの揺れ量を画像から推定するために、入力画像から得られる特徴点座標の位置と外界における位置とを一致させる必要がある。そこで、特徴点座標変換部425は、入力画像から得られる特徴点の座標に対して射影変換の逆変換を行い、各特徴点の外界での位置を算出する。なお、この座標変換は、少なくとも特徴点マッチング部223から得られる遠景特徴点のinlierの座標に対して行われるが、遠景特徴点のinlierの座標に対する座標変換のみに限らず、画像全体の座標変換を行うとしてもよい。
【0113】
後処理領域座標変換部47は、領域設定部23により第1の画像と第1補正画像とそれぞれに対して設定された後処理で用いる領域の座標を、魚眼光学系の射影方式に応じた座標に変換する。つまり、後処理領域座標変換部47は、後処理部24では切り出し後の映像に対して揺れ量の推定を行う必要があるため、領域設定部23で設定された後処理用の領域の座標変換を行う。それに対応して、切り出し画像生成部241は、後処理領域座標変換部47により変換された第1の画像と第1補正画像との後処理で用いるそれぞれの領域を切り出して第1切り出し画像と第2切り出し画像とを生成する。このように、魚眼レンズを用いて撮影された映像の揺れを補正する場合、魚眼レンズで撮影された映像の一部を切り出し画像生成部241で切り出して補正のための移動量を推定する。
【0114】
次に、以上のように構成された、実施の形態3における画像処理装置40の処理の流れについて説明する。
【0115】
図14A〜
図14Cは、魚眼光学系を用いて撮影された場合に画像処理装置40が行う画像処理の例を示す図である。
図14Aは
図13(a)に対して特徴点が抽出された時の画像を示しており、
図14Bは
図13(a)を推定された揺れ量で補正した画像(第1補正画像)の一部を切り出し、中心付近の遠景特徴点であるinlierを抽出した画像を示している。
図14Cは、
図14Bのinlierの重心座標を中心に後処理用の領域が設定された場合の例を示している。
【0116】
図15は、本発明の実施の形態3における画像処理装置40の処理の流れについて説明するためのフローチャートである。
図7および
図11と同様の要素には同一の符号を付しており、詳細な説明は省略する。
【0117】
すなわち、S10において、まず、S101において、例えば
図14Aに示すように、特徴点抽出部221は第1の画像と第2の画像とからそれぞれ特徴点を抽出する。次いで、S101aにおいて、特徴点座標変換部425は、特徴点抽出部221により抽出された第1の画像の特徴点と第2の画像の特徴点との座標を魚眼光学系の射影方式に応じた座標に変換する。次いで、S102aにおいて、特徴点マッチング部223は、特徴点座標変換部425により変換された第1の画像の特徴点の座標と前記第2の画像の特徴点の座標とでマッチングを行うことにより、第1の画像に対する第2の画像の位置ずれ量を示す移動量を推定する。次いで、移動量推定部22は、補正手段決定部324で特徴点マッチング部223によって推定された第1移動量またはセンサ推定部323によって推定された第1移動量を、画像間の位置ずれを補正するために用いる第1移動量と決定し、決定した第1移動量を領域設定部23および移動量合成部25に出力する(S104)。
【0118】
次に、領域設定部23は、第1の画像と、推定された回転移動量を用いて第2の画像の位置ずれを補正した第1補正画像とそれぞれに対して、第1の画像および第2の画像から抽出される特徴点に基づいて後処理で用いる領域を設定する(S20)。つまり、領域設定部23は、第1移動量が推定される時に用いられた遠景特徴点のinlier(例えば
図14B)を用いて画像処理の後処理用の領域(例えば
図14C)を設定する。
【0119】
次に、後処理領域座標変換部47は、前記領域設定部23により第1の画像と第1補正画像とそれぞれに対して設定された後処理で用いる領域の座標を、魚眼光学系の射影方式に応じた座標に変換する(S25)。
【0120】
次に、S30において、切り出し画像生成部241は、後処理領域座標変換部47により変換された第1の画像と第1補正画像との後処理で用いるそれぞれの領域を切り出して第1切り出し画像と第2切り出し画像とを生成する(S301a)。
【0121】
なお、以降のS302、S40、S50については、
図7に示す処理と同様のため説明を省略する。
【0122】
以上のようにして、画像処理装置40は、処理を行う。
【0123】
なお、魚眼レンズで撮影された映像の一部を切り出さずに補正する場合には、後処理領域座標変換部47は不要である。
【0124】
以上、本実施の形態によれば、第1移動量(回転移動量)を推定時に用いられた遠景特徴点(inlier)を用いて画像処理の後処理用の領域設定を行うことにより、時間的に連続して撮影された複数の画像間の揺れ量を高精度に補正することができる画像処理装置および画像処理方法を実現することできる。
【0125】
以上、本発明によれば、時間的に連続して撮影された複数の画像間の揺れ量を高精度に補正することができる画像処理装置および画像処理方法を実現することできる。
【0126】
なお、回転移動量を示す第1移動量や第2移動量の推定に失敗する場合も考えられる。その場合、第1移動量や第2移動量が0であったとして取り扱えればよい。
【0127】
具体的には、本発明の画像処理装置において、領域設定部23の前段に、第1移動量の算出が成功したか否かを判定する移動量判定部をさらに備えるとしてもよい。その場合には、移動量判定部は、第1移動量の算出が成功したと判定する場合に、当該第1移動量を領域設定部23に出力する。移動量判定部は、移動量判定部は、第1移動量の算出が失敗したと判定する場合に、当該第1移動量を、画像間に位置ずれがないことを示すゼロ値に代えて、領域設定部23および移動量合成部25に出力し、移動量合成部25に、前記第1の画像と前記第2の画像との間の位置ずれ量を示す移動量を当該ゼロ値に決定させるとすればよい。また、本発明の画像処理装置において、後処理部24の後段に第2移動量の算出が成功したか否かを判定する後処理判定部を備えるとしてもよい。その場合には、後処理判定部は、第2移動量の算出が成功したと判定する場合には、移動量合成部25に当該第2移動量を出力し、第2移動量の算出が失敗したと判定する場合には、当該第2移動量を位置ずれがないことを示すゼロ値に代えて移動量合成部25に出力するとすればよい。
【0128】
また、本発明における画像処理装置は、補正を行う画像がいつ撮影されたものであるかは関知しない。また、上述の画像処理装置は、デジタルスチルカメラやデジタルビデオカメラに内蔵し、撮像画像をその場で補正する構成をとっているがそれに限られない。例えば、パーソナルコンピュータ上でアプリケーションとして実装するなど、撮像装置とは別に、画像処理装置を用意し、カメラなどの記録デバイスと直接ケーブル等で接続して撮像画像を入力するような構成にしてもよいし、SDメモリカード等の記録媒体やネットワークを介して画像データを読み込んでもよい。
【0129】
以上、本発明の画像処理装置、画像処理方法、プログラムについて、実施の形態に基づいて説明してきたが、本発明は、これらの実施の形態に限定されないのはもちろんである。以下のような場合も本発明に含まれる。
【0130】
(1)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0131】
(2)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0132】
(3)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0133】
(4)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
【0134】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0135】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0136】
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0137】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を、前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0138】
(5)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。