(57)【特許請求の範囲】
【請求項１】
光学系により結像された被写体像を光電変換することにより生成された半球状視野に対応する第１の撮像画像及び半球状視野に対応する第２の撮像画像を取得する取得手段と、
前記第１の撮像画像の２以上のＮ個の部分領域それぞれについて、部分領域の位置に応じた変換パラメータを用いた座標変換を行うことにより、Ｎ個の座標系に対応するＮ個の歪み補正画像を生成し、前記第２の撮像画像の対応するＮ個の部分領域それぞれについて、部分領域の位置に応じた変換パラメータを用いた座標変換を行うことにより、Ｎ個の座標系に対応するＮ個の歪み補正画像を生成する生成手段と、
前記第１の撮像画像から生成された前記Ｎ個の歪み補正画像それぞれを、前記第２の撮像画像から生成された対応する歪み補正画像と比較することにより、Ｎ個の動きベクトルを検出する検出手段と、
前記Ｎ個の動きベクトルそれぞれについて、対応する部分領域の位置に応じた変換パラメータを用いた逆座標変換を行うことにより、Ｎ個の変換動きベクトルを生成する変換手段と、
を備え、
前記Ｎ個の歪み補正画像のそれぞれの座標系は、前記Ｎ個の部分領域を含む撮像画像に対応する半球状視野に対応する半球面と、前記Ｎ個の部分領域を含む撮像画像から前記半球面に向かう、前記Ｎ個の部分領域のそれぞれに対応する視野ベクトルとの交点に対応する座標系であることを特徴とする画像処理装置。
【請求項２】
前記生成手段が用いる前記部分領域の位置に応じた変換パラメータは、前記部分領域の位置に対応する前記視野ベクトルの方位角に基づく係数および天頂角に基づく係数を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記第１の撮像画像の第１の部分領域に対応する第１の画像を出力する出力手段と、
前記Ｎ個の変換動きベクトルに基づいて、前記第２の撮像画像において前記第１の部分領域の移動先に対応する第２の部分領域を識別する識別手段と、
を更に備え、
前記出力手段は、前記第２の撮像画像の前記第２の部分領域に対応する第２の画像を出力する
ことを特徴とする請求項１または２に記載の画像処理装置。
【請求項４】
前記出力手段は、前記第１の画像として、前記第１の部分領域について前記第１の部分領域の位置に応じた変換パラメータを用いた座標変換を行うことにより、第１の歪み補正画像を生成し、前記第２の画像として、前記第２の部分領域について前記第２の部分領域の位置に応じた変換パラメータを用いた座標変換を行うことにより、第２の歪み補正画像を生成する
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記識別手段は、前記Ｎ個の変換動きベクトルのアフィン変換に基づいて前記第１の部分領域の前記移動先を算出する
ことを特徴とする請求項３又は４に記載の画像処理装置。
【請求項６】
前記第１の撮像画像の前記Ｎ個の部分領域それぞれは前記第１の部分領域よりも小さく、前記第２の撮像画像の前記Ｎ個の部分領域それぞれは前記第２の部分領域よりも小さいことを特徴とする請求項３乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
請求項１乃至６のいずれか１項に記載の画像処理装置と、
前記光学系により結像された被写体像を光電変換する撮像手段と、
を備えることを特徴とする撮像装置。
【請求項８】
画像処理装置の制御方法であって、
光学系により結像された被写体像を光電変換することにより生成された半球状視野に対応する第１の撮像画像及び半球状視野に対応する第２の撮像画像を取得する取得工程と、
前記第１の撮像画像の２以上のＮ個の部分領域それぞれについて、部分領域の位置に応じた変換パラメータを用いた座標変換を行うことにより、Ｎ個の座標系に対応するＮ個の歪み補正画像を生成し、前記第２の撮像画像の対応するＮ個の部分領域それぞれについて、部分領域の位置に応じた変換パラメータを用いた座標変換を行うことにより、Ｎ個の座標系に対応するＮ個の歪み補正画像を生成する生成工程と、
前記第１の撮像画像から生成された前記Ｎ個の歪み補正画像それぞれを、前記第２の撮像画像から生成された対応する歪み補正画像と比較することにより、Ｎ個の動きベクトルを検出する検出工程と、
前記Ｎ個の動きベクトルそれぞれについて、対応する部分領域の位置に応じた変換パラメータを用いた逆座標変換を行うことにより、Ｎ個の変換動きベクトルを生成する変換工程と、
を備え、
前記Ｎ個の歪み補正画像のそれぞれの座標系は、前記Ｎ個の部分領域を含む撮像画像に対応する半球状視野に対応する半球面と、前記Ｎ個の部分領域を含む撮像画像から前記半球面に向かう、前記Ｎ個の部分領域のそれぞれに対応する視野ベクトルとの交点に対応する座標系であることを特徴とする制御方法。
【請求項９】
コンピュータを、請求項１乃至６のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、画像処理装置の制御方法、及びプログラムに関する。
【背景技術】
【０００２】
従来、３６０度（全方位）の画像を撮影することが可能な全方位カメラが知られている。例えば特許文献１には、半球状視野画像（全方位画像）を、視野内の任意のオリエンテーション（方向）、回転、及び倍率で、歪みのない通常の遠近画像に変換する技術が開示されている。特許文献１によれば、機械的パン／チルト機構を動かすことなく、半球状視野内の視野空間の任意箇所の被写体像を動画としてもたらすことができる。また、上記パラメータ（オリエンテーション（方向）、回転、及び倍率）の中で、倍率は、画像変換時の焦点距離に対応している。つまり、倍率を小さくすることで実質的な焦点距離を短くすることができ、広い画角をカバーすることができる。一般的に、広い画角をカバーしようとすると、半球状視野内で周辺に位置していた領域と中央に位置していた領域とで、被写体像の引き伸ばし量が変化するという現象が発生する。
【０００３】
また、特許文献１では、上記技術を適用した固定式カメラ装置について開示されているが、上記技術はカメラ装置を車両に設置したりウェアラブル装置として人が身に付けたりした場合にも適用できる。このような場合、車両や人に起因するカメラ装置のブレが発生する可能性がある。
【０００４】
動画ブレ補正については、従来から知られている技術が存在する。例えば特許文献２には、撮像画像データから撮像画像の画面単位の動きベクトルを検出し、この動きベクトルに基づいて画像メモリに蓄えられている撮像画像データの読み出し位置をシフトして手ぶれ補正をする技術が開示されている。また、特許文献３には、多数のローカル動きベクトルを用いて、２画面間の画像全体の動きを表わすグローバルモーションを算出する技術が開示されている。具体的には、画面内に設定された多数のターゲットブロックのそれぞれについての動きベクトル（ローカル動きベクトル）を検出し、これらを用いてグローバルモーションをアフィン変換行列として算出することが行われる。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特表平６−５０１５８５号公報
【特許文献２】特開２００７−２２１６３１号公報
【特許文献３】特開２００９−２５８８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
半球状視野画像では、特に周辺領域において大きな歪みが生じるため、同じ被写体であっても位置に応じて形状が変化する。そのため、半球状視野画像についてローカル動きベクトルを検出する場合、被写体の移動に応じてブロックマッチング処理（２画面間で相関の高いブロックを検出する処理）の精度が低下し、ローカル動きベクトルの検出精度が低下する可能性がある。そこで、特許文献１の技術に従って半球状視野画像のターゲットブロックを変換することによって歪みを補正することが考えられる。
【０００７】
しかしながら、歪み補正を行う場合、半球状視野画像における位置に応じて被写体像の引き伸ばし量が変化する。また、歪み補正画像における被写体の移動方向は、必ずしも、（歪み補正前の）半球状視野画像における同じ被写体の移動方向に一致しない。そのため、被写体の実際の移動量及び移動方向は同じであっても、ターゲットブロックの位置に応じて異なる大きさ及び向きのローカル動きベクトルとして検出される可能性がある。即ち、特許文献１及び特許文献３の技術に従って半球状視野画像から検出されたローカル動きベクトルは、（歪み補正前の）半球状視野画像における被写体の移動を適切に反映していない場合がある。この課題は、半球状視野画像よりも画角が狭い撮像画像についても、程度の差はあれ、同様に発生し得る。
【０００８】
本発明はこのような状況に鑑みてなされたものであり、歪みを伴う撮像画像のためのより適切な動きベクトルを生成する技術を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明は、光学系により結像された被写体像を光電変換することにより生成された半球状視野に対応する第１の撮像画像及び半球状視野に対応する第２の撮像画像を取得する取得手段と、前記第１の撮像画像の２以上のＮ個の部分領域それぞれについて、部分領域の位置に応じた変換パラメータを用いた座標変換を行うことにより、Ｎ個の座標系に対応するＮ個の歪み補正画像を生成し、前記第２の撮像画像の対応するＮ個の部分領域それぞれについて、部分領域の位置に応じた変換パラメータを用いた座標変換を行うことにより、Ｎ個の座標系に対応するＮ個の歪み補正画像を生成する生成手段と、前記第１の撮像画像から生成された前記Ｎ個の歪み補正画像それぞれを、前記第２の撮像画像から生成された対応する歪み補正画像と比較することにより、Ｎ個の動きベクトルを検出する検出手段と、前記Ｎ個の動きベクトルそれぞれについて、対応する部分領域の位置に応じた変換パラメータを用いた逆座標変換を行うことにより、Ｎ個の変換動きベクトルを生成する変換手段と、を備え、前記Ｎ個の歪み補正画像のそれぞれの座標系は、前記Ｎ個の部分領域を含む撮像画像に対応する半球状視野に対応する半球面と、前記Ｎ個の部分領域を含む撮像画像から前記半球面に向かう、前記Ｎ個の部分領域のそれぞれに対応する視野ベクトルとの交点に対応する座標系であることを特徴とする画像処理装置を提供する。
【００１０】
なお、その他の本発明の特徴は、添付図面及び以下の発明を実施するための形態における記載によって更に明らかになるものである。
【発明の効果】
【００１１】
本発明によれば、歪みを伴う撮像画像のためのより適切な動きベクトルを生成することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施形態に係るデジタルカメラ１００の機能構成を示すブロック図。
【図２】画像処理部１０７の詳細な構成を示す図。
【図３】ベクトル検出画像生成部２０３による歪み補正画像（ローカル動きベクトル検出用の画像）の生成を説明するための図。
【図４】ベクトル検出画像生成部２０３が生成する歪み補正画像を説明するための図。
【図５】ブロックマッチング処理によるローカル動きベクトルの検出処理を説明するための図。
【図６】ブレ補正画像生成部２１３による参照フレーム２１２の読み出し領域について説明するための図。
【図７】半球状視野画像の座標系と歪み補正画像の座標系との関係を説明するための図。
【図８】デジタルカメラ１００が実行するブレ補正画像生成処理のフローチャート。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して、本発明の実施形態を説明する。なお、本発明の技術的範囲は、特許請求の範囲によって確定されるのであって、以下の個別の実施形態によって限定されるわけではない。また、実施形態の中で説明されている特徴の組み合わせすべてが、本発明に必須とは限らない。
【００１４】
［第１の実施形態］
本発明の画像処理装置をデジタルカメラに適用した実施形態について説明する。図１は、第１の実施形態に係るデジタルカメラ１００の機能構成を示すブロック図である。以下の説明において、デジタルカメラ１００は半球状視野に対応する円形画像（半球状視野画像）の撮影が可能であるものとする。しかしながら、本実施形態はこれに限定されず、デジタルカメラ１００は半球状視野画像よりも画角の狭い画像を撮影するように構成されていてもよい。
【００１５】
図１において、制御部１０１は、例えばＣＰＵであり、デジタルカメラ１００が備える各ブロックの動作プログラムをＲＯＭ１０２より読み出し、ＲＡＭ１０３に展開して実行することによりデジタルカメラ１００が備える各ブロックの動作を制御する。ＲＯＭ１０２は、書き換え可能な不揮発性メモリであり、デジタルカメラ１００が備える各ブロックの動作プログラムに加え、各ブロックの動作に必要なパラメータ等を記憶する。ＲＡＭ１０３は、書き換え可能な揮発性メモリであり、デジタルカメラ１００が備える各ブロックの動作において出力されたデータの一時的な記憶領域として用いられる。
【００１６】
光学系１０４は、魚眼レンズ等で構成された光学系であり、円状の全方位像を撮像部１０５に結像する。撮像部１０５は、例えばＣＣＤやＣＭＯＳセンサ等の撮像素子であり、光学系１０４により撮像素子に結像された光学像を光電変換し、得られたアナログ画像信号をＡ／Ｄ変換部１０６に出力する。Ａ／Ｄ変換部１０６は、入力されたアナログ画像信号にＡ／Ｄ変換処理を適用し、得られたデジタル画像データをＲＡＭ１０３に出力して記憶させる。
【００１７】
画像処理部１０７は、ＲＡＭ１０３に蓄えられている画像データから画像の画面単位の動きベクトルを検出し、この動きベクトルに基づいてＲＡＭ１０３に蓄えられている画像データの読み出し位置をシフトして手ぶれ補正をする。記録媒体１０８は、着脱可能なメモリカード等であり、ＲＡＭ１０３に記憶されている画像処理部１０７で処理された画像や、Ａ／Ｄ変換部１０６でＡ／Ｄ変換された画像などが、記録画像として記録される。
【００１８】
図２は、図１の画像処理部１０７の詳細な構成を示す図である。図２において、現在のフレーム（本実施形態では、半球状視野画像）であるターゲットフレーム２０１（第１の撮像画像）と、次のフレームである参照フレーム２０２（第２の撮像画像）とが、ベクトル検出画像生成部２０３に入力される。ベクトル検出画像生成部２０３は、ローカル動きベクトル検出用の画像として、入力されたフレームの複数の領域から特許文献１の技術に従って歪み補正された画像を生成する。
【００１９】
ここで、図７を参照して、半球状視野画像から歪み補正画像を生成する処理について説明する。図７は、半球状視野画像の座標系と歪み補正画像の座標系との関係を説明するための図である。図７において、符号７０４は半球面、符号７０２は半球状視野画像のｘｙ座標系、符号７０３は歪み補正画像のｕｖ座標系を示す。ｚ軸は、ｘｙ平面に直交する軸である。Ｒは半球面７０４の半径（円形の半球状視野画像の半径）、αは方位角、βは天頂角、φは回転角を示し、符号７０５は方位角α及び天頂角βにより定まる視野ベクトルを示す。符号７０１は半球面７０４と視野ベクトル７０５との交点を示す。
【００２０】
図７におけるｘｙ座標系とｕｖ座標系の関係は、下記の式（１）及び式（２）により規定される。式（１）及び式（２）に従って歪み補正画像内の点（ｕ，ｖ）に対応する半球状視野画像内の点（ｘ，ｙ）を求め、半球状視野画像から対応する画素値を取得することにより、歪み補正画像を生成することができる。
0006518115.tif 000002
0006518115.tif 000003
ここで、
Ａ＝（ｃｏｓφｃｏｓα−ｓｉｎφｓｉｎαｃｏｓβ）
Ｂ＝（ｓｉｎφｃｏｓα＋ｃｏｓφｓｉｎαｃｏｓβ）
Ｃ＝（ｃｏｓφｓｉｎα＋ｓｉｎφｃｏｓαｃｏｓβ）
Ｄ＝（ｓｉｎφｓｉｎα−ｃｏｓφｃｏｓαｃｏｓβ）
ｍ＝倍率
である。
【００２１】
続いて、図３及び図４を参照して、ベクトル検出画像生成部２０３による歪み補正画像（ローカル動きベクトル検出用の画像）の生成について説明する。図３において、符号３００は、半球状視野画像の領域全体を示し、その半径はＲ０である。ベクトル検出画像生成部２０３は、半球状視野画像のうち、図３に示す７つの部分領域（読み出し領域３０１乃至３０７）から画像を読み出す。即ち、ベクトル検出画像生成部２０３は、ターゲットフレーム２０１及び参照フレーム２０２それぞれについて、固定された読み出し領域３０１乃至３０７から画像を読み出す。各読み出し領域の方位角α、天頂角β、回転角φ、及び倍率ｍは、図３中の表に示す通りである。なお、本実施形態では、読み出し領域３０１乃至３０７は固定された領域であるものとして説明を行うが、本実施形態はこれに限定されない。
【００２２】
ベクトル検出画像生成部２０３は、読み出し領域３０１に対応する歪み補正画像を、図４に示す歪み補正画像４０１として出力する。具体的には、ベクトル検出画像生成部２０３は、図７を参照して説明した式（１）及び式（２）を用いて歪み補正画像４０１内の点（ｕ，ｖ）に対応する半球状視野画像３００内の点（ｘ，ｙ）を求め、対応する読み出し領域３０１内の画素値を読み出す。これにより、読み出し領域３０１に対応する歪み補正画像４０１が生成される。同様に、ベクトル検出画像生成部２０３は、読み出し領域３０２乃至３０７に対応する歪み補正画像を、図４に示す歪み補正画像４０２乃至４０７として出力する。
【００２３】
このように、歪み補正画像の生成は、方位角α等を含む変換パラメータを用いた、ｘｙ座標系からｕｖ座標系への座標変換により行われる。図３から理解できるように、変換パラメータは、読み出し領域の位置に応じて異なる。また、本実施形態においては、読み出し領域３０１乃至３０７の全てについて倍率ｍが１であるものとして説明を行うが、読み出し領域毎に倍率ｍの値が異なっていてもよい。この場合、変換パラメータは、読み出し領域の位置及び大きさに応じて異なることになる。
【００２４】
なお、本実施形態では、読み出し領域の数が７つであるものとして説明を行うが、読み出し領域の数は７つに限定されない。一般化すると、読み出し領域の数は、Ｎ個（Ｎは２以上の整数）である。
【００２５】
再び図２を参照すると、ベクトル検出画像生成部２０３は、ローカル動きベクトル検出部２０６に対して、ターゲット歪み補正画像２０４と参照歪み補正画像２０５とを出力する。ターゲット歪み補正画像２０４は、ターゲットフレーム２０１から生成される歪み補正画像４０１乃至４０７に対応し、参照歪み補正画像２０５は、参照フレーム２０２から生成される歪み補正画像４０１乃至４０７に対応する。ローカル動きベクトル検出部２０６は、ターゲット歪み補正画像２０４と参照歪み補正画像２０５とを比較することにより、歪み補正画像４０１乃至４０７に対応する７つのローカル動きベクトルを検出する。ローカル動きベクトルを検出するためのブロックマッチング処理は、例えば、特許文献３で開示されている技術を利用することができる。
【００２６】
図５は、ブロックマッチング処理によるローカル動きベクトルの検出処理を説明するための図である。図５において、符号５０１はターゲット歪み補正画像の１つ（ここでは、ターゲットフレーム２０１から生成される歪み補正画像４０１とする）を示し、符号５０３は対応する参照歪み補正画像を示す。符号５０２はターゲットブロックを示し、符号５０５はターゲットブロック５０２と相関性が最も高い参照ブロックである動き補償ブロックを示す。符号５０４は参照歪み補正画像５０３上の、ターゲットブロック５０２の射影イメージブロックを示す。符号５０６は、射影イメージブロック５０４の位置（ｕ１，ｖ１）と動き補償ブロック５０５の位置（ｕ１’，ｖ１’）との間の位置ずれ量に対応するローカル動きベクトルを示す。即ち、歪み補正画像４０１に対応するローカル動きベクトルは、（ｕ１，ｖ１）→（ｕ１’，ｖ１’）として検出される。同様に、歪み補正画像４０２乃至４０７に対応するローカル動きベクトルは、（ｕ２，ｖ２）→（ｕ２’，ｖ２’）、（ｕ３，ｖ３）→（ｕ３’，ｖ３’）、・・・、（ｕ７，ｖ７）→（ｕ７’，ｖ７’）のように検出される。
【００２７】
再び図２を参照すると、ローカル動きベクトル検出部２０６は、動きベクトル変換部２０８に対して、ローカル動きベクトル２０７を出力する。ローカル動きベクトル２０７は、歪み補正画像４０１乃至４０７に基づいて検出された７つのローカル動きベクトルに対応する。但し、これら７つのローカル動きベクトルは、歪み補正及びこれに伴う被写体像の引き伸ばしの影響を受けており、大きさ及び向きの基準が共通でない。そこで、動きベクトル変換部２０８は、歪み補正画像のｕｖ座標系に対応するローカル動きベクトル２０７を、半球状視野画像のｘｙ座標系に変換することにより、歪み補正の影響を取り除く。具体的には、動きベクトル変換部２０８は、図７を参照して説明した式（１）及び式（２）を用いて、（ｕ１，ｖ１）を（ｘ１，ｙ１）に、（ｕ１’，ｖ１’）を（ｘ１’，ｙ１’）に変換する。これにより、図３の読み出し領域３０１に対応する変換動きベクトル（ｘ１，ｙ１）→（ｘ１’，ｙ１’）が生成される。同様に、変換動きベクトルは、図３の読み出し領域３０２乃至３０７に対してもそれぞれ（ｘ２，ｙ２）→（ｘ２’，ｙ２’）、（ｘ３，ｙ３）→（ｘ３’，ｙ３’）、・・・、（ｘ７，ｙ７）→（ｘ７’，ｙ７’）のように生成される。このように、動きベクトル変換部２０８は、読み出し領域の位置に応じた変換パラメータを用いた逆座標変換（ベクトル検出画像生成部２０３が実行する座標変換とは逆の座標変換）を行うことにより、変換動きベクトルを生成する。動きベクトル変換部２０８は、生成した７つの変換動きベクトル（変換動きベクトル２０９）を、グローバルモーション算出部２１０へ出力する。
【００２８】
グローバルモーション算出部２１０は、変換動きベクトル２０９からグローバルモーションをアフィン変換行列として算出する。アフィン変換行列を算出する手法としては、特許文献３で開示されている手法を利用可能である。アフィン変換の一般式を、以下に式（３）として示す。
0006518115.tif 000004
ここで、ｘ，ｙは、ターゲットブロックの中心座標の水平成分、垂直成分を示している。また、ｖは、ターゲットブロックの動きベクトルの水平成分（ｘ’−ｘ）、ｗはターゲットブロックの動きベクトルの垂直成分（ｙ’−ｙ）を示し、ａ，ｂ，ｃ，ｄ，ｅ，ｆは、アフィンパラメータを示している。通常のアフィン変換では、アフィンパラメータａ，ｂ，ｃ，ｄ，ｅ，ｆは、固定値である。
【００２９】
グローバルモーションの収束演算過程において求められたアフィンパラメータと、各ターゲットブロックの中心の座標から、グローバルモーションに応じた動きベクトル（このベクトルを理想的な動きベクトルと呼ぶ）が得られる。この理想的なベクトルと、観測（ブロックマッチングにより検出）された動きベクトルとの間のエラーの総和εは、以下のように示される。
0006518115.tif 000005
0006518115.tif 000006
0006518115.tif 000007
ここで、
ｘｎ＝各ブロックｎの中心座標の水平成分
ｙｎ＝各ブロックｎの中心座標の垂直成分
ｖｎ＝各ブロックｎの動きベクトルの水平成分＝（ｘｎ’−ｘｎ）
ｗｎ＝各ブロックｎの動きベクトルの垂直成分＝（ｙｎ’−ｙｎ）
Ｖｎ＝アフィン変換から求められる、各ブロックｎにおける理論上のベクトル
εｎ＝各ブロックｎにおける動きベクトルと理論上の理論ベクトルとの誤差（距離）
ε ＝εｎの総和
である。
【００３０】
グローバルモーションを導出するという命題は、上記のエラーの総和εを最小化するアフィンパラメータａ〜ｆの推定であり、これは、例えば、最小自乗法によって解くことが可能である。以下に、アフィンパラメータａ〜ｆの導出過程と、その結果を示す。
0006518115.tif 000008
ここで、
ｎ＝ブロックの総和
ｘ２＝Σｘ２
ｘｙ＝Σｘｙ
ｙ２＝Σｙ２
ｘ  ＝Σｘ
ｙ  ＝Σｙ
ｖｘ＝Σｖｘ
ｖｙ＝Σｖｙ
ｖ  ＝Σｖ
である。そして、式（７−１）、式（７−２）、及び式（７−３）より、
0006518115.tif 000009
0006518115.tif 000010
0006518115.tif 000011
0006518115.tif 000012
0006518115.tif 000013
0006518115.tif 000014
ここで、
ｗｘ＝Σｗｘ
ｗｙ＝Σｗｙ
ｗ  ＝Σｗ
である。
【００３１】
図２に示すように、グローバルモーション算出部２１０は、算出したグローバルモーション２１１をブレ補正画像生成部２１３へ出力する。ブレ補正画像生成部２１３は、グローバルモーション２１１に基づいて画像データの読み出し位置をシフトすることにより、手ブレ補正を行う。本実施形態では、グローバルモーション算出部２１０には、次のフレームである参照フレーム２１２が入力される。
【００３２】
図６を参照して、ブレ補正画像生成部２１３による参照フレーム２１２の読み出し領域について説明する。符号６００は、半球状視野画像の領域全体を示し、符号６０１は、現在のフレームの読み出し領域（第１の部分領域）を示し、符号６０２は、参照フレーム２１２の読み出し領域（第２の部分領域）を示す。読み出し領域６０２は、変換動きベクトル２０９のアフィン変換に基づいて算出されるグローバルモーション２１１により識別される、読み出し領域６０１の移動先である。読み出し領域６０１と読み出し領域６０２とでは、グローバルモーション２１１に応じて（即ち、読み出し領域の位置に応じて）、図７を参照して説明した式（１）及び式（２）における方位角α及び天頂角βが異なる。倍率ｍについては、いずれの読み出し領域についても０．５である。
【００３３】
ブレ補正画像生成部２１３は、参照フレーム２１２の読み出し領域６０２に対応する歪み補正画像を生成する。具体的には、ブレ補正画像生成部２１３は、図７を参照して説明した式（１）及び式（２）を用いて歪み補正画像内の点（ｕ，ｖ）に対応する半球状視野画像６００内の点（ｘ，ｙ）を求め、対応する読み出し領域６０２内の画素値を読み出す。ブレ補正画像生成部２１３は、こうして生成した歪み補正画像を、ブレ補正画像２１４として出力する。
【００３４】
ところで、図７の視野ベクトル７０５と半球面７０４との交点７０１の座標は、以下の式で表される。
【００３５】
ｘαβ＝Ｒ・ｓｉｎβ・ｃｏｓα      ・・・（１４）
ｙαβ＝Ｒ・ｓｉｎβ・ｓｉｎα      ・・・（１５）
ｚαβ＝Ｒ・ｃｏｓβ                ・・・（１６）
ここで、画像面上の点（ｘαβ，ｙαβ）を、以下では物体面原点位置と呼ぶことにする。
【００３６】
図６の、現在の読み出し領域６０１の物体面原点（ｘαβ，ｙαβ）が次のフレームでどこに移動するかは、図２のグローバルモーション算出部２１０が算出するアフィン変換行列で算出することができる。具体的には、現在の読み出し領域６０１の物体面原点（ｘαβ，ｙαβ）とアフィン変換式（式（３））により、次の読み出し領域６０２の物体面原点は（ｘαβ’，ｙαβ’）として算出される。更に、式（１４）及び式（１５）を用いることで、（ｘαβ’，ｙαβ’）から、次の読み出し領域６０２の方位角α’及び天頂角β’を算出することができる。
【００３７】
本実施形態においては、ブレ補正画像２１４の倍率ｍを０．５、ローカル動きベクトル検出用の画像（ターゲット歪み補正画像２０４及び参照歪み補正画像２０５）の倍率ｍを１としている。即ち、図３の読み出し領域３０１乃至３０７は、図６の読み出し領域６０１及び６０２よりも小さい。このようにすることで、ブレ補正画像２１４については広い画角を確保しつつ、ローカル動きベクトル検出用の画像については狭い画角に留めて、ブロックマッチング処理の難易度を下げることができる。
【００３８】
なお、一般的に、ブレ補正画像生成部２１３は、参照フレーム２１２の読み出し領域６０２に対応する歪み補正画像（第２の画像）の生成前に、現在のフレーム（ターゲットフレーム）の読み出し領域６０１に対応する歪み補正画像（第１の画像）を生成する。これら２つの歪み補正画像の間では、読み出し領域の移動により被写体の移動が打ち消されるため、ブレ補正が実現される。また、本実施形態では、ブレ補正画像生成部２１３がブレ補正画像２１４として歪み補正画像を出力するものとして説明を行ったが、ブレ補正画像生成部２１３は、歪み補正を行わずに読み出し領域６０１及び６０２の画像を出力してもよい。
【００３９】
次に、図８を参照して、デジタルカメラ１００が実行するブレ補正画像生成処理について説明する。本フローチャートの各ステップの処理は、特に断らない限り、制御部１０１がＲＯＭ１０２に格納された動作プログラムに従ってデジタルカメラ１００の各ブロック（特に、画像処理部１０７）を制御することにより、実行可能である。
【００４０】
Ｓ８０１で、ベクトル検出画像生成部２０３は、ターゲットフレーム２０１及び参照フレーム２０２を取得する。Ｓ８０２で、ベクトル検出画像生成部２０３は、ターゲットフレーム２０１及び参照フレーム２０２から、ターゲット歪み補正画像２０４及び参照歪み補正画像２０５を生成する。Ｓ８０３で、ローカル動きベクトル検出部２０６は、ターゲット歪み補正画像２０４及び参照歪み補正画像２０５から、ローカル動きベクトル２０７を検出する。Ｓ８０４で、動きベクトル変換部２０８は、歪み補正画像のｕｖ座標系に対応するローカル動きベクトル２０７を、半球状視野画像のｘｙ座標系に変換することにより、歪み補正の影響が取り除かれた変換動きベクトル２０９を生成する。Ｓ８０５で、グローバルモーション算出部２１０は、変換動きベクトル２０９からグローバルモーション２１１を算出する。Ｓ８０６で、ブレ補正画像生成部２１３は、グローバルモーション２１１に基づいて参照フレーム２１２の読み出し領域６０２（図６）を識別し、読み出し領域６０２に対応するブレ補正画像２１４を生成する。
【００４１】
以上説明したように、第１の実施形態によれば、デジタルカメラ１００は、ターゲットフレーム２０１及び参照フレーム２０２それぞれについて、複数の読み出し領域に対応する複数の歪み補正画像を生成する。そして、デジタルカメラ１００は、これらの歪み補正画像に基づいて複数のローカル動きベクトルを検出し、これら複数のローカル動きベクトルの座標系を歪み補正前の座標系に変換する。
【００４２】
これにより、歪みを伴う撮像画像のためのより適切な動きベクトルを生成することが可能となる。
【００４３】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００４４】
１００…デジタルカメラ、１０１…制御部、１０２…ＲＯＭ、１０３…ＲＡＭ、１０４…光学系、１０５…撮像部、１０６…Ａ／Ｄ変換部、１０７…画像処理部、１０８…記録媒体、２０３…ベクトル検出画像生成部、２０６…ローカル動きベクトル検出部、２０８…動きベクトル変換部、２１０…グローバルモーション算出部、２１３…ブレ補正画像生成部
【図１】
0006518115.tif 000015
【図２】
0006518115.tif 000016
【図３】
0006518115.tif 000017
【図４】
0006518115.tif 000018
【図５】
0006518115.tif 000019
【図６】
0006518115.tif 000020
【図７】
0006518115.tif 000021
【図８】
0006518115.tif 000022