(57)【特許請求の範囲】
【請求項１】
動画を構成する複数の画像の中から１つを指定する指定部と、
前記複数の画像のうちの前記指定部によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別部と、
前記複数の画像の中から前記指定部が指定する画像を変えて、前記指定部及び前記選別部の処理を含んで繰り返す所定の処理により、仮想特徴点軌道を構築する仮想特徴点軌道構築部と、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道を時間方向に平滑化する平滑化部と、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道と、前記平滑化部によって平滑化された前記仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正部と、
を備え、
前記選別部は、
前記所定数の画像のうちの各画像について、前記所定数の画像のうちの各画像とは異なる画像との間における特徴点の移動量を取得し、
取得した前記移動量に基づいて、前記所定数の画像の中から、前記基礎行列の取得対象となる画像を選別する、
ことを特徴とする画像処理装置。
【請求項２】
動画を構成する複数の画像の中から１つを指定する指定部と、
前記複数の画像のうちの前記指定部によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別部と、
前記複数の画像の中から前記指定部が指定する画像を変えて、前記指定部及び前記選別部の処理を含んで繰り返す所定の処理により、仮想特徴点軌道を構築する仮想特徴点軌道構築部と、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道を時間方向に平滑化する平滑化部と、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道と、前記平滑化部によって平滑化された前記仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正部と、
を備え、
前記選別部は、
前記所定数の画像のうちの各画像について、前記所定数の画像のうちの各画像とは異なる画像との間における、複数の特徴点の移動量を取得し、
取得した前記複数の特徴点の前記移動量を積算した積算値に基づいて、前記所定数の画像の中から、前記基礎行列の前記取得対象となる画像を選別する、
ことを特徴とする画像処理装置。
【請求項３】
前記選別部は、
前記特徴点の前記移動量の前記積算値と閾値との大小関係に基づいて、前記所定数の画像の中から、前記基礎行列の前記取得対象となる画像を選別する、
ことを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記閾値は、前記移動量を取得する前記特徴点の数に応じて設定される、
ことを特徴とする請求項３に記載の画像処理装置。
【請求項５】
前記選別部によって選別された画像のそれぞれについて、前記指定部によって指定された画像との関係を表す前記基礎行列を取得する基礎行列取得部と、
前記基礎行列取得部によって取得された前記基礎行列に基づいて、前記選別部によって選別された画像内の互いに対応する特徴点を前記指定された画像にエピポーラ投影をすることにより、前記指定された画像内における仮想特徴点を生成する仮想特徴点生成部と、
を更に備える、
ことを特徴とする請求項１乃至４の何れか１項に記載の画像処理装置。
【請求項６】
前記所定の処理は、前記指定部、前記選別部、前記基礎行列取得部及び前記仮想特徴点生成部の処理を繰り返すことである、
ことを特徴とする請求項５に記載の画像処理装置。
【請求項７】
請求項１乃至６の何れか１項に記載の前記画像処理装置と、
被写体を撮像することにより、前記動画を構成する画像を生成する撮像部と、
を備える、
ことを特徴とする撮像装置。
【請求項８】
動画を構成する複数の画像の中から１つを指定する指定処理と、
前記複数の画像のうちの前記指定処理によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別処理と、
前記複数の画像の中から前記指定処理によって指定する画像を変えて、前記指定処理及び前記選別処理を含んで繰り返す所定の処理により、仮想特徴点軌道を構築する仮想特徴点軌道構築処理と、
前記仮想特徴点軌道構築処理によって構築された前記仮想特徴点軌道を時間方向に平滑化する平滑化処理と、
前記仮想特徴点軌道構築処理によって構築された前記仮想特徴点軌道と、前記平滑化処理によって平滑化された前記仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正処理と、
を含み、
前記選別処理は、
前記所定数の画像のうちの各画像について、前記所定数の画像のうちの各画像とは異なる画像との間における特徴点の移動量を取得し、
取得した前記移動量に基づいて、前記所定数の画像の中から、前記基礎行列の取得対象となる画像を選別する、
ことを特徴とする画像処理方法。
【請求項９】
前記選別処理によって選別された画像のそれぞれについて、前記指定処理によって指定された画像との関係を表す前記基礎行列を取得する基礎行列取得処理と、
前記基礎行列取得処理によって取得された前記基礎行列に基づいて、前記選別処理によって選別された画像内の互いに対応する特徴点を前記指定された画像にエピポーラ投影をすることにより、前記指定された画像内における仮想特徴点を生成する仮想特徴点生成処理と、
を更に含む、
ことを特徴とする請求項８に記載の画像処理方法。
【請求項１０】
前記所定の処理は、前記指定処理、前記選別処理、前記基礎行列取得処理及び前記仮想特徴点生成処理を繰り返すことである、
ことを特徴とする請求項９に記載の画像処理方法。
【請求項１１】
コンピュータを、
動画を構成する複数の画像の中から１つを指定する指定部、
前記複数の画像のうちの前記指定部によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別部、
前記複数の画像の中から前記指定部が指定する画像を変えて、前記指定部及び前記選別部の処理を含んで繰り返す所定の処理により、仮想特徴点軌道を構築する仮想特徴点軌道構築部、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道を時間方向に平滑化する平滑化部、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道と、前記平滑化部によって平滑化された前記仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正部、
として機能させ、
前記選別部は、
前記所定数の画像のうちの各画像について、前記所定数の画像のうちの各画像とは異なる画像との間における特徴点の移動量を取得し、
取得した前記移動量に基づいて、前記所定数の画像の中から、前記基礎行列の取得対象となる画像を選別する、
ことを特徴とするプログラム。
【請求項１２】
前記コンピュータを、
前記選別部によって選別された画像のそれぞれについて、前記指定部によって指定された画像との関係を表す前記基礎行列を取得する基礎行列取得部、
前記基礎行列取得部によって取得された前記基礎行列に基づいて、前記選別部によって選別された画像内の互いに対応する特徴点を前記指定された画像にエピポーラ投影をすることにより、前記指定された画像内における仮想特徴点を生成する仮想特徴点生成部、
として更に機能させる、
ことを特徴とする請求項１１に記載のプログラム。
【請求項１３】
前記所定の処理は、前記指定部、前記選別部、前記基礎行列取得部及び前記仮想特徴点生成部の処理を繰り返すことである、
ことを特徴とする請求項１２に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、撮像装置、画像処理方法、及びプログラムに関する。
【背景技術】
【０００２】
動画に対する手ぶれを補正する方法として、特徴点追跡方式と呼ばれる技術が知られている。特徴点追跡方式においては、動画に含まれる各フレームの画像から特徴点を抽出し、各特徴点の移動ベクトルから構成したオプティカルフローを時間的に平滑化することにより、動画に対して手ぶれを補正する。
【０００３】
しかし、特徴点追跡方式は三次元物体の視差の影響を考慮していないため、手ぶれ補正後の動画に不自然な歪みが生じることがあるという欠点があった。
【０００４】
特徴点追跡方式が有する上述の欠点を克服する方法として、エピポーラ幾何を応用した手ぶれ補正の方法（以下、エピポーラ転送方式と呼ぶ）が知られている。例えば、非特許文献１は、エピポーラ転送方式で手ぶれを補正することにより、視差の影響を抑制し、手ぶれ補正後の動画に生じる不自然な歪みを軽減する技術を開示している。
【先行技術文献】
【非特許文献】
【０００５】
【非特許文献１】Amit Goldstein and. Raanan Fattal, " Video Stabilization using Epipolar Geometry ", ACM Transactions on Graphics (TOG), Volume 31, Issue 5, August 2012, Article No.126.
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、エピポーラ転送方式の手ぶれ補正は、手ぶれ補正の対象となる各フレームの画像について、例えば過去１０フレームの画像との間でのオプティカルフローの計算、及び１フレーム当たり数千本から数万本に及ぶエピポーラ線の投影等、多くの座標計算を必要とする。このため、演算負荷が非常に大きかった。
【０００７】
本発明は、上記の課題に鑑みてなされたものであり、視差の影響を考慮した手ぶれ補正を簡易な演算により実行することを目的とする。
【課題を解決するための手段】
【０００８】
前記目的を達成するため、本発明に係る画像処理装置の一態様は、
動画を構成する複数の画像の中から１つを指定する指定部と、
前記複数の画像のうちの前記指定部によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別部と、
前記複数の画像の中から前記指定部が指定する画像を変えて、前記指定部及び前記選別部の処理を含んで繰り返す所定の処理により、仮想特徴点軌道を構築する仮想特徴点軌道構築部と、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道を時間方向に平滑化する平滑化部と、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道と、前記平滑化部によって平滑化された前記仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正部と、
を備え、
前記選別部は、
前記所定数の画像のうちの各画像について、前記所定数の画像のうちの各画像とは異なる画像との間における特徴点の移動量を取得し、
取得した前記移動量に基づいて、前記所定数の画像の中から、前記基礎行列の取得対象となる画像を選別する、
ことを特徴とする。
また、前記目的を達成するため、本発明に係る画像処理装置の他の態様は、
動画を構成する複数の画像の中から１つを指定する指定部と、
前記複数の画像のうちの前記指定部によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別部と、
前記複数の画像の中から前記指定部が指定する画像を変えて、前記指定部及び前記選別部の処理を含んで繰り返す所定の処理により、仮想特徴点軌道を構築する仮想特徴点軌道構築部と、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道を時間方向に平滑化する平滑化部と、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道と、前記平滑化部によって平滑化された前記仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正部と、
を備え、
前記選別部は、
前記所定数の画像のうちの各画像について、前記所定数の画像のうちの各画像とは異なる画像との間における、複数の特徴点の移動量を取得し、
取得した前記複数の特徴点の前記移動量を積算した積算値に基づいて、前記所定数の画像の中から、前記基礎行列の前記取得対象となる画像を選別する、
ことを特徴とする。
また、前記目的を達成するため、本発明に係る画像処理方法の一態様は、
動画を構成する複数の画像の中から１つを指定する指定処理と、
前記複数の画像のうちの前記指定処理によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別処理と、
前記複数の画像の中から前記指定処理によって指定する画像を変えて、前記指定処理及び前記選別処理を含んで繰り返す所定の処理により、仮想特徴点軌道を構築する仮想特徴点軌道構築処理と、
前記仮想特徴点軌道構築処理によって構築された前記仮想特徴点軌道を時間方向に平滑化する平滑化処理と、
前記仮想特徴点軌道構築処理によって構築された前記仮想特徴点軌道と、前記平滑化処理によって平滑化された前記仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正処理と、
を含み、
前記選別処理は、
前記所定数の画像のうちの各画像について、前記所定数の画像のうちの各画像とは異なる画像との間における特徴点の移動量を取得し、
取得した前記移動量に基づいて、前記所定数の画像の中から、前記基礎行列の取得対象となる画像を選別する、
ことを特徴とする。
また、前記目的を達成するため、本発明に係るプログラムの一態様は、
コンピュータを、
動画を構成する複数の画像の中から１つを指定する指定部、
前記複数の画像のうちの前記指定部によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別部、
前記複数の画像の中から前記指定部が指定する画像を変えて、前記指定部及び前記選別部の処理を含んで繰り返す所定の処理により、仮想特徴点軌道を構築する仮想特徴点軌道構築部、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道を時間方向に平滑化する平滑化部、
前記仮想特徴点軌道構築部によって構築された前記仮想特徴点軌道と、前記平滑化部によって平滑化された前記仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正部、
として機能させ、
前記選別部は、
前記所定数の画像のうちの各画像について、前記所定数の画像のうちの各画像とは異なる画像との間における特徴点の移動量を取得し、
取得した前記移動量に基づいて、前記所定数の画像の中から、前記基礎行列の取得対象となる画像を選別する、
ことを特徴とする。
【発明の効果】
【０００９】
本発明によれば、視差の影響を考慮した手ぶれ補正を簡易な演算により実行できる。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態に係る撮像装置の構成を例示するブロック図である。
【図２】本発明の実施形態に係る撮像装置及び画像処理装置の機能構成を例示するブロック図である。
【図３】エピポーラ幾何の概念を説明するための図である。
【図４】エピポーラ転送の概念を説明するための図である。
【図５】エピポーラ転送を利用した仮想特徴点軌道の構築を説明するための図である。
【図６】エピポーラ転送方式の手ぶれ補正の概要を説明するための図である。
【図７】エピポーラ転送を利用した手ぶれ補正後の特徴点軌道の構築を説明するための図である。
【図８】本発明の実施形態に係る画像処理装置が実行する手ぶれ補正処理を説明するためのフローチャートである。
【図９】本発明の実施形態に係る画像処理装置が実行するオプティカルフロー取得処理を説明するためのフローチャートである。
【図１０】本発明の実施形態に係る画像処理装置が実行するオプティカルフロー取得処理を説明するための図である。
【図１１】本発明の実施形態に係る画像処理装置が実行するオプティカルフロー選別処理を説明するためのフローチャートである。
【図１２】本発明の実施形態に係る画像処理装置が実行するオプティカルフロー選別処理を説明するための図である。
【図１３】本発明の実施形態に係る画像処理装置が実行する基礎行列取得処理を説明するためのフローチャートである。
【図１４】本発明の実施形態に係る画像処理装置が実行する仮想特徴点生成処理を説明するためのフローチャートである。
【図１５】本発明の実施形態に係る画像処理装置が実行する仮想特徴点軌道準備処理を説明するためのフローチャートである。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態に係る画像処理装置、撮像装置、及び画像処理方法を、図面を参照しながら詳細に説明する。尚、図中同一又は同等の部分には同じ符号を付す。
【００１２】
撮像装置１は、図１に示すように、撮像部１０と、データ処理部２０と、ユーザインタフェース部３０と、を備える。
【００１３】
撮像部１０は、光学レンズ１１とイメージセンサ１２とを含む。撮像部１０は、後述する操作部３２が受け付けたユーザの操作に従って被写体を撮像することにより、手ぶれ補正対象の動画を生成する。生成された動画は、時間的に連続して撮像された（連続する複数のフレームにわたって撮像された）複数の画像を含んでいる。
【００１４】
光学レンズ１１は、被写体から射出された光を集光するレンズと、焦点、露出、ホワイトバランス等の撮像設定パラメータを調整するための周辺回路と、を備える。
【００１５】
イメージセンサ１２は、例えば、ＣＣＤ（Ｃｈａｒｇｅ  Ｃｏｕｐｌｅｄ  Ｄｅｖｉｃｅ）やＣＭＯＳ（Ｃｏｍｐｌｅｍｅｎｔａｒｙ  Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）等を備える。イメージセンサ１２は、光学レンズ１１が光を集光することによって結像した被写体の光学像を取得して、取得した光学像の電圧情報をアナログ／デジタル変換器（図示せず）によりデジタル画像データに変換する。そして、得られたデジタル画像データを後述する外部記憶部２３に保存する。
【００１６】
データ処理部２０は、主記憶部２１と、出力部２２と、外部記憶部２３と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）２４と、画像処理装置１００と、を含む。
【００１７】
主記憶部２１は、例えばＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等を備える。主記憶部２１は、ＣＰＵ２４のワークメモリとして機能し、画像データやプログラムを一時的に記憶する。
【００１８】
出力部２２は、主記憶部２１や外部記憶部２３に記憶された画像データを読み出し、この画像データに対応するＲＧＢ（Ｒ（Ｒｅｄ、赤）、Ｇ（Ｇｒｅｅｎ、緑）、Ｂ（Ｂｌｕｅ、青））信号を生成して、後述する表示部３１に出力する。また、出力部２２は、生成したＲＧＢ信号をＣＰＵ２４や画像処理装置１００へ供給する。
【００１９】
外部記憶部２３は、不揮発性メモリ（例えば、フラッシュメモリやハードディスク）を備え、撮像装置１全体の制御に必要な制御プログラムを含む種々のプログラム、種々の固定データ等を固定的に記憶する。外部記憶部２３は、記憶しているプログラムやデータをＣＰＵ２４や後述する画像処理装置１００へ供給し、撮像部１０が生成した動画を含む種々のデータを固定的に記憶する。
【００２０】
ＣＰＵ２４は、外部記憶部２３に記憶された制御プログラムを実行することにより撮像装置１全体を制御するとともに、外部記憶部２３に記憶された種々のプログラムを実行する。
【００２１】
画像処理装置１００は、動画に対してエピポーラ転送方式の手ぶれ補正を施す。画像処理装置１００は、図２に示すように、機能的に、指定部１０１、選別部１０２、基礎行列取得部１０３、仮想特徴点生成部１０４、仮想特徴点軌道構築部１０５、平滑化部１０６、及び補正部１０７を備える。これら各部は、ＣＰＵ２４の機能によって実現される。
【００２２】
尚、画像処理装置１００は、通常の画像処理装置と同様に、トリミング機能や画像拡大・縮小機能等を有するが、以下では、本実施形態に特徴的な、エピポーラ転送方式の手ぶれ補正を動画に施す機能を中心に説明する。
【００２３】
指定部１０１は、手ぶれ補正対象の動画を構成する複数の画像の中から１つを指定する。選別部１０２は、手ぶれ補正対象の動画を構成する複数の画像のうちの指定部１０１によって指定された画像以外の所定数（本実施形態では、１０フレーム分）の画像の中から、基礎行列の取得対象となる画像を選別する。
【００２４】
選別部１０２は、指定部１０１によって指定された画像以外の１０フレーム分の画像のうちの各画像について、これら１０フレーム分の画像のうち該各画像とは異なる画像との間における、複数の特徴点ｐｉの移動量を取得する。選別部１０２は、取得した複数の特徴点ｐｉの移動量を積算した積算値と閾値との大小関係に基づいて、１０フレーム分の画像の中から、基礎行列の取得対象となる画像を選別する。
【００２５】
具体的には、選別部１０２は、指定部１０１により指定された画像と指定された画像より以前の１０フレームの画像それぞれとから互いに対応する特徴点ｐｉを抽出することにより、指定部１０１により指定された画像と指定された画像より以前の１０フレームの画像それぞれとの間の、特徴点ｐｉの移動ベクトルを取得する。そして、取得した特徴点ｐｉの移動ベクトルの大きさ（特徴点ｐｉの移動量）を積算した積算値が閾値以上であるか否かに基づいて、指定された画像より以前の１０フレームの画像の中から、指定された画像との間のエピポーラ関係を表す基礎行列の取得対象となる画像を選別する。
【００２６】
選別部１０２は、図２に示すように、オプティカルフロー取得部１０２ａと、オプティカルフロー選別部１０２ｂと、を備える。
【００２７】
オプティカルフロー取得部１０２ａは、オプティカルフロー取得処理を実行することにより、画像間の特徴点ｐｉの移動ベクトルによって形成される画像間のオプティカルフローと、特徴点ｐｉの複数のフレームに亘る移動の軌跡である特徴点軌道ｐと、を取得する。
【００２８】
具体的には、オプティカルフロー取得部１０２ａは、手ぶれ補正対象の動画が含む連続する複数のフレームの画像それぞれから互いに対応する特徴点ｐｉを抽出する（特徴点ｐｉの座標（例えば、同次座標）を取得する）。
【００２９】
以下、特徴点をｐｉｋと表記する。ｉは特徴点を識別するためのインデックスであり、ｋは特徴点が含まれている画像がどのフレームの画像かを示すインデックスである。なお、どのフレームの画像であるか特定する必要がない場合は、インデックスｋを省略してｐｉと表記する。
【００３０】
三次元空間内の（被写体上の）単一の点が、第Ｅフレームの画像では特徴点ｐｉＥに投影され、第Ｆフレームの画像では特徴点ｐｉＦに投影されている場合、２つの特徴点ｐｉＥ、ｐｉＦは「互いに対応している」と表現する。
【００３１】
異なる１対のフレームの画像がそれぞれ含む互いに対応する１対の特徴点ｐｉの一方を始点として、他方を終点として有するベクトルを、これらの画像間の特徴点ｐｉの移動ベクトルという。特徴点ｐｉの移動ベクトルは、一方の画像における特徴点ｐｉが他方の画像においてどこへ移動しているかを示す。異なるフレームの画像間のオプティカルフローは、少なくとも１つ以上の特徴点ｐｉの、これらの画像間における移動ベクトルによって形成され、特徴点ｐｉの移動ベクトルの画像内における分布を示す。
【００３２】
オプティカルフロー取得部１０２ａは、手ぶれ補正対象の動画に含まれる各フレーム中の互いに対応する特徴点ｐｉ、すなわち特徴点ｐｉの移動ベクトルの始点または終点、の座標を取得することにより、特徴点ｐｉの移動ベクトルと、これらの特徴点ｐｉの移動ベクトルが形成するオプティカルフローと、を取得する。
【００３３】
特徴点軌道ｐは、特徴点ｐｉの複数のフレームに亘る軌跡を示す。オプティカルフロー取得部１０２ａは、オプティカルフロー取得処理を実行することにより、手ぶれ補正対象の動画が含む各フレームの画像から互いに対応する特徴点ｐｉを抽出し、抽出した特徴点ｐｉを追跡することにより特徴点軌道ｐを取得する。
【００３４】
なお、オプティカルフロー取得部１０２ａは、任意の公知技術を用いて複数のフレームの画像から互いに対応する特徴点ｐｉを抽出する。例えば、ＫＬＴ法（ＫＬＴトラッキング）を用いることができる。ＫＬＴ法を用いて特徴点ｐｉを抽出する技術は、非特許文献１に開示されているとおり、当該技術分野において周知であるため詳細な説明は省略する。
【００３５】
オプティカルフロー取得部１０２ａが実行するオプティカルフロー取得処理については、後に図９のフローチャートを参照しながら詳細に説明する。
【００３６】
オプティカルフロー選別部１０２ｂは、オプティカルフロー選別処理を実行することにより、オプティカルフロー取得部１０２ａによって取得されたオプティカルフローを形成する特徴点ｐｉの移動ベクトルのうち所定数（本実施形態では、１００個）の特徴点ｐｉの移動ベクトルの大きさ（特徴点ｐｉの移動量）の積算値を求める。そして、この積算値が閾値以上であるか否かに基づいて、指定部１０１により指定された画像より以前の１０フレームの画像の中から、基礎行列取得部１０３による基礎行列取得処理の対象となる画像を選別する。
【００３７】
後述するように、仮想特徴点生成部１０４は仮想特徴点生成処理を実行し、基礎行列取得部１０３が取得した基礎行列Ｆに基づくエピポーラ転送により仮想特徴点ｖｉを生成する。具体的には、仮想特徴点生成部１０４は、指定部１０１により指定された画像に、この画像の直前の１０フレームの画像に含まれる仮想特徴点ｖｉが投影するエピポーラ線を基礎行列Ｆに基づいて求め、求めたエピポーラ線の交点をこの画像における仮想特徴点ｖｉとして取得する。なお、仮想特徴点ｖｉについては後に詳細に説明する。
【００３８】
ここで、異なる２フレームの画像が互いに類似している場合、これら２つの画像中の仮想特徴点ｖｉの座標はほぼ同じである。そのため、これら２つの画像中の仮想特徴点ｖｉがそれぞれ投影する２本のエピポーラ線はほぼ平行であり、これらのエピポーラ線が与える交点（エピポーラ交点）は信頼性に欠ける。
【００３９】
そこで、オプティカルフロー選別部１０２ｂは、画像間の類似度を、画像間のオプティカルフローを形成する特徴点ｐｉの移動ベクトルの大きさ（特徴点ｐｉの移動量）に基づいて評価する。そして、類似度が高い複数の画像を発見した場合、そのうち何れか１つの画像のみを基礎行列取得部１０３によって実行される基礎行列取得処理の対象として選別する。これにより、類似度が高い複数の画像が含む仮想特徴点ｖｉからそれぞれエピポーラ線が投影され、信頼性に欠けるエピポーラ交点が生成されることを防止することができる。
【００４０】
具体的には、オプティカルフロー選別部１０２ｂは、手ぶれ補正対象の動画を構成する各画像について、オプティカルフロー取得部１０２ａによって取得された、各画像と他の画像との間のオプティカルフローを形成する特徴点ｐｉの移動ベクトルのうちランダムに抽出された所定数（本実施形態では、１００個）の特徴点ｐｉの移動ベクトルの大きさ（特徴点ｐｉの移動量）をそれぞれ取得する。そして、取得した特徴点ｐｉの移動ベクトルの大きさ（特徴点ｐｉの移動量）を積算した積算値が閾値以上であるか否かを判別する。各画像は、他の画像との間のオプティカルフローを形成する特徴点ｐｉの移動ベクトルのうち１００個の特徴点ｐｉの移動ベクトルの大きさ（特徴点ｐｉの移動量）の積算値が閾値以上である場合のみ、基礎行列取得処理部１０３による基礎行列取得処理の対象として選別される。
【００４１】
２つの画像が互いに類似している場合、これら２つの画像がそれぞれ含む互いに対応する特徴点ｐｉは、２つの画像においてほぼ同じ位置に存在する。このため、２つの画像間のオプティカルフローを形成する特徴点ｐｉの移動ベクトルの大きさ、すなわち２つの画像がそれぞれ含む互いに対応する特徴点ｐｉ間の移動ベクトルの大きさは、２つの画像が類似していない場合に比べて、小さい。従って、画像間のオプティカルフローを形成する所定数の特徴点ｐｉの移動ベクトルの大きさの積算値が閾値以上であるか否かに基づいて、画像間の類似度を評価することができる。オプティカルフロー選別部１０２ｂは、他の画像との間のオプティカルフローを形成する特徴点ｐｉの移動ベクトルのうち１００個の特徴点ｐｉの移動ベクトルの大きさの積算値が閾値以上である画像のみを選別することにより、類似度が高い複数の画像のうち何れか１つの画像のみを基礎行列取得処理の対象として選別している。
【００４２】
本実施形態において、オプティカルフロー選別部１０２ｂは、特徴点ｐｉの移動ベクトルそれぞれのＬ２ノルムを各特徴点ｐｉの移動ベクトルの大きさとして取得する。
【００４３】
また、類似度判別の基準となる閾値は、任意の方法により設定すればよい。例えば、画像間の類似度と、画像間の特徴点ｐｉの移動ベクトルの大きさの積算値と、の間の相関を実験等により求めることにより、予め閾値を設定しておくことができる。
【００４４】
オプティカルフロー選別部１０２ｂが実行するオプティカルフロー選別処理については、後に図１１のフローチャートを参照しながら詳細に説明する。
【００４５】
基礎行列取得部１０３は、選別部１０２によって選別された画像のそれぞれについて、指定部１０１によって指定された画像との関係を表す基礎行列Ｆを取得する。
【００４６】
基礎行列Ｆは、手ぶれ補正前の２つの画像間の幾何的関係（エピポーラ関係）を表す３行３列の行列である。
【００４７】
図３を参照して、エピポーラ幾何の概念を説明する。異なる時刻に撮像された第Ｑフレームの画像と第Ｒフレームの画像は、それぞれ、互いに異なる点Ｃ１と点Ｃ２とに配置された撮像装置１によって撮像された画像と見なすことができる。すなわち、第Ｑフレームの画像と第Ｒフレームの画像は、それぞれ、点Ｃ１と点Ｃ２とを投影中心とする投影面を表す画像と見なすことができる。点Ｃ１と点Ｃ２との位置の相違は、手ぶれ等の影響により撮像装置１の位置が変動したことに由来する。三次元空間内の単一の点Ｐは、第Ｑフレームの画像中では点ｍ１に投射される一方、第Ｒフレームの画像中では点ｍ２に投影される。すなわち、点ｍ１と点ｍ２は互いに対応する点である。
【００４８】
三次元空間内の点Ｐと点Ｃ１とを結ぶ直線は、第Ｑフレームの画像上では点ｍ１に投影される一方、第Ｒフレームの画像上では、点Ｐ、点Ｃ１、及び点Ｃ２を通る平面（エピポーラ面）と第Ｒフレームの画像との交線である線Ｌ１として投影される。線Ｌ１は、第Ｑフレームの画像中の点ｍ１が第Ｒフレームの画像に投影するエピポーラ線である。同様に、線Ｌ２は、第Ｒフレームの画像中の点ｍ２が第Ｑフレームの画像に投影するエピポーラ線である。
【００４９】
第Ｑフレームの画像中の任意の点ｑが第Ｒフレームの画像に投影するエピポーラ線ＬＱ、Ｒは、次の式（１）により表される。ここで、ＦＱ，Ｒは、第Ｑフレームの画像と第Ｒフレームの画像との間のエピポーラ関係を表す基礎行列である。ＦＱ，Ｒは、第Ｑフレームの画像中の任意の点ｍ１と、点ｍ１に対応する第Ｒフレームの画像中の点ｍ２と、を用いて次の式（２）で表される。
【数１】
0006451300.tif 000002
【数２】
0006451300.tif 000003
【００５０】
式（２）から明らかなように、基礎行列Ｆは、ｆ１１からｆ３２までの８個の未知数を有するため、少なくとも８組の対応する点ｍ１、ｍ２に基づいて求めることができる。すなわち、８箇所の対応点が与えられれば基礎行列Ｆを算出することができる。
【００５１】
基礎行列取得部１０３は、指定部１０１によって指定された画像と選別部１０２によって選別された各画像とからそれぞれオプティカルフロー取得部１０２ａが抽出した８組の互いに対応する特徴点ｐｉの座標に基づき、標準的な８ポイントアルゴリズムと誤差を最小化するためのＲＡＮＳＡＣ法とを用いて基礎行列Ｆを取得する。８ポイントアルゴリズムとＲＡＮＳＡＣ法を用いて基礎行列Ｆを取得する方法は、非特許文献１に開示されているとおり、当該技術分野において周知であるため詳細な説明は省略する。
【００５２】
基礎行列取得部１０３が実行する基礎行列取得処理については、後に図１３のフローチャートを参照しながら詳細に説明する。
【００５３】
仮想特徴点生成部１０４は、仮想特徴点生成処理を実行し、基礎行列取得部１０３によって取得された基礎行列Ｆに基づいて、選別部１０２によって選別された画像内の互いに対応する特徴点ｐｉ又は仮想特徴点ｖｉを指定部１０１により指定された画像にエピポーラ投影することにより、指定された画像内における仮想特徴点ｖｉを生成する。
【００５４】
具体的には、仮想特徴点生成部１０４は、画像間のエピポーラ関係を表す基礎行列Ｆに基づいて、対応点を生成するエピポーラ転送という方法により仮想特徴点ｖｉを生成する。
【００５５】
図４を参照して、エピポーラ転送の概念を説明する。第Ｘフレームの画像と第Ｙフレームの画像とにおける互いに対応する点ｍ３、ｍ４がそれぞれ第Ｚフレームの画像に投影するエピポーラ線Ｌ３、Ｌ４は、第Ｚフレームの画像中の、点ｍ３及び点ｍ４に対応する点ｍ５で交わる。エピポーラ線Ｌ３、Ｌ４及びその交点である点ｍ５は、画像間のエピポーラ関係を表す基礎行列ＦＸ、Ｚ、ＦＹ、Ｚに基づいて算出できる。すなわち、第Ｚフレーム中の対応点である点ｍ５を、画像間のエピポーラ関係を表す基礎行列Ｆに基づいて生成できる。
【００５６】
仮想特徴点生成部１０４は、このエピポーラ転送を用いて、指定された画像内における仮想特徴点ｖｉを生成する。
【００５７】
図４に示すように、少なくとも２本のエピポーラ線があればその交点として仮想特徴点ｖｉを取得できるものの、実際にはノイズやトラッキングエラー、モデリングエラー等の影響により交点の信頼性は損なわれている。そこで、仮想特徴点生成部１０４は、最大１０本のエピポーラ線のうち組み合わせ可能な異なる２本のエピポーラ線の交点（最大で１０Ｃ２＝４５個の交点）を求め、求めた交点の座標の平均を求めることにより、より正確な仮想特徴点ｖｉを取得する。
【００５８】
具体的には、図５に示すように、仮想特徴点生成部１０４は、第ｔフレームの画像に、この画像の直前に撮像された連続する１０フレーム分の画像（第（ｔ−１０）フレームから第（ｔ−１）フレームまでの過去１０フレーム）に含まれる仮想特徴点ｖｉｔ−１〜ｖｉｔ−１０がそれぞれ投影する１０本のエピポーラ線を、基礎行列取得部１０３によって取得された基礎行列Ｆｔ、ｔ−１〜Ｆｔ、ｔ−１０に基づいて求める。そして、求めた１０本のエピポーラ線の交点の平均を、第ｔフレームの画像中の仮想特徴点ｖｉｔとして取得する。
【００５９】
仮想特徴点生成部１０４が実行する仮想特徴点生成処理については、後に図１４のフローチャートを参照しながら詳細に説明する。
【００６０】
仮想特徴点軌道構築部１０５は、手ぶれ補正対象の動画を構成する複数の画像の中から指定部１０１が指定する画像を変えて、指定部１０１、選別部１０２、基礎行列取得部１０３、及び仮想特徴点生成部１０４の処理を繰り返すことにより、仮想特徴点軌道ｖを構築する。
【００６１】
仮想特徴点軌道ｖは、仮想特徴点ｖｉの複数のフレームに亘る軌跡である。仮想特徴点軌道構築部１０５は、仮想特徴点生成部１０４に、手ぶれ補正対象の動画を構成する各フレームの画像において仮想特徴点ｖｉを生成させることにより仮想特徴点ｖｉを時間的に追跡し（複数のフレームに亘って追跡し）、仮想特徴点軌道ｖを構築する。
【００６２】
仮想特徴点軌道ｖは、図６に示すように、手ぶれ補正前の（手ぶれの影響を受けた）撮像装置１の動きを表している。
【００６３】
特徴点軌道ｐが画像からＫＬＴ法を用いて抽出された特徴点ｐｉによって構成されるのに対し、仮想特徴点軌道ｖはエピポーラ転送により生成された仮想特徴点ｖｉによって構成される。
【００６４】
三次元空間内の被写体の一部分が、あるフレームの画像において物体の影に隠れてしまったり、撮像装置１の視野から外れてしまったりした場合、この部分に含まれる点の、当該フレームの画像における投影点である特徴点ｐｉをＫＬＴ法により抽出することはできない。しかし、このフレームの画像内の仮想特徴点ｖｉは、過去のフレームの画像内の対応する仮想特徴点ｖｉをエピポーラ転送することにより生成できる。また、ＫＬＴ法ではトラッキングエラーとなり特徴点ｐｉが抽出できない場合でも、エピポーラ転送によれば仮想特徴点ｖｉを生成することができる。
【００６５】
このため、仮想特徴点軌道ｖは、特徴点軌道ｐよりも長く（多くのフレームにわたって）連続している。
【００６６】
仮想特徴点軌道構築部１０５が実行する仮想特徴点軌道ｖの構築処理については、後に図８のフローチャートを参照しながら詳細に説明する。
【００６７】
平滑化部１０６は、仮想特徴点軌道構築部１０５によって構築された仮想特徴点軌道ｖを時間方向に平滑化することにより、平滑化された仮想特徴点軌道〜ｖを取得する。
【００６８】
具体的には、平滑化部１０６は、下記の式（３）を用い、仮想特徴点軌道ｖを構成する仮想特徴点ｖｉそれぞれの座標とガウシアンカーネルとの畳み込みを作ることにより、平滑化された仮想特徴点軌道〜ｖを構成する手ぶれ補正後の仮想特徴点〜ｖｉｔの座標を取得する。ここで、ｇは下記の式（４）で表されるガウシアンカーネルである。
【数３】
0006451300.tif 000004
【数４】
0006451300.tif 000005
【００６９】
本実施形態では、σ＝５０のガウシアンカーネルを用いて仮想特徴点軌道ｖを平滑化する。
【００７０】
仮想特徴点軌道ｖが手ぶれ補正前の（手ぶれの影響を受けた）撮像装置１の動きを表していたのに対し、平滑化された仮想特徴点軌道〜ｖは、手ぶれ補正後の（手ぶれの影響を除去した）撮像装置１の動きを表す。
【００７１】
具体的には図６に示すように、手ぶれ補正後の動画を構成する各フレームの画像は、平滑化された仮想特徴点軌道〜ｖによって定義される。すなわち、手ぶれ補正前の動画を構成する各フレームの画像と手ぶれ補正後の動画を構成する各フレームの画像との間の関係は、仮想特徴点軌道ｖと平滑化された仮想特徴点軌道〜ｖとの間の関係によって定義される。
【００７２】
補正部１０７は、仮想特徴点軌道構築部１０５によって構築された仮想特徴点軌道ｖと、平滑化部１０６によって平滑化された仮想特徴点軌道〜ｖと、の間の関係に基づいて、手ぶれ補正対象の動画を構成する複数の画像それぞれを補正する。
【００７３】
具体的には、補正部１０７は、手ぶれ補正前の動画が含む各フレームの画像に対し、手ぶれ補正前の画像における特徴点ｐｉを手ぶれ補正後の画像における手ぶれ補正後の特徴点〜ｐｉへ移すような射影変換を施すことにより、手ぶれ補正を実行する。
【００７４】
例えば、補正部１０７は、手ぶれ補正前の動画を構成する各フレームの画像に対し、各フレームの画像における任意の点（ｘ、ｙ）を次の式（５）を満たす点（ｘ’、ｙ’）へ移す射影変換を施すことにより、手ぶれ補正後の画像を取得する。ここで、式（５）中の射影変換パラメータａ〜ｈは、下記の式（６）を用いて求めることができる。
【数５】
0006451300.tif 000006
【数６】
0006451300.tif 000007
【００７５】
式（６）から明らかなように、射影変換パラメータａ〜ｈは、少なくとも４組の対応点（ｘ１，ｙ１）と（ｘ１’、ｙ１’）〜（ｘ４，ｙ４）と（ｘ４’とｙ４’）が与えられれば求めることができる。補正部１０７は、手ぶれ補正前の各フレームの画像に含まれる特徴点ｐｉと、これに対応する手ぶれ補正後のフレームの画像に含まれる手ぶれ補正後の特徴点〜ｐｉと、を式（６）に代入することにより、射影変換パラメータａ〜ｈを取得し、射影変換を行う。
【００７６】
手ぶれ補正後の画像が手ぶれ補正後の撮像装置１の動きを表す平滑化された仮想特徴点軌道〜ｖによって定義されるため、手ぶれ補正後の特徴点〜ｐｉは、仮想特徴点軌道ｖと平滑化された仮想特徴点軌道〜ｖとの間の関係に基づいて取得することができる。
【００７７】
具体的には、図６に示すように、手ぶれ補正前の画像と手ぶれ補正後の画像との間のエピポーラ関係を表す基礎行列〜Ｆが、仮想特徴点軌道ｖと平滑化された仮想特徴点軌道〜ｖとの間の関係に基づいて取得される。そして、図７に示すように、手ぶれ補正後の各フレームの画像に、前後５フレーム分の手ぶれ補正前の画像に含まれる特徴点ｐｉを、取得された基礎行列〜Ｆに基づいてエピポーラ転送することにより、手ぶれ補正後の特徴点〜ｐｉが生成される。
【００７８】
このように、補正部１０７は、仮想特徴点軌道ｖと平滑化された仮想特徴点軌道〜ｖとの間の関係に基づいて求めた射影変換パラメータを用いて射影変換を行うことにより、手ぶれ補正対象の動画を構成する各フレームの画像に手ぶれ補正を施す。上述したとおり、エピポーラ転送を用いて構築される仮想特徴点軌道ｖは長く（多くのフレームにわたって）連続しているため、大規模なフィルタを適用し（σ＝５０の大きなガウシアンカーネルを用いて時間方向に平滑化し）、手ぶれ補正後の画像を定義することができる。
【００７９】
図１に戻って、ユーザインタフェース部３０は、表示部３１と、操作部３２と、外部インタフェース３３と、を含む。
【００８０】
表示部３１は、例えばＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌｅｙ）やＣＲＴ（Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅ）、有機ＥＬ（Ｅｌｅｃｔｒｏ  Ｌｕｍｉｎｅｓｃｅｎｃｅ）ディスプレイ等を備え、出力部２２から供給されたＲＧＢ信号に基づいて、撮像部１０により生成され、外部記憶部２３により記憶されている手ぶれ補正対象の動画、画像処理装置１００が手ぶれ補正対象の動画に手ぶれ補正処理を施すことにより生成した動画等を含む種々の動画像を表示する。
【００８１】
操作部３２は、ユーザからの操作指示を受け付ける。操作部３２は、撮像装置１の電源スイッチ、シャッタボタン、撮像装置１の種々の機能を選択するためのボタン等、各種の操作ボタンを備える。操作部３２は、ユーザから操作指示を受け付けると、受け付けた指示情報を撮像部１０やデータ処理部２０のＣＰＵ２４等に供給する。
【００８２】
なお、表示部３１と操作部３２とは、互いに重畳して配置されたいわゆるタッチパネルによって構成されるものであってもよい。
【００８３】
外部インタフェース３３は、撮像装置１の外部の機器とデータをやり取りするためのインタフェースである。例えば、外部インタフェース３３は、画像処理装置１００が手ぶれ補正対象の動画に手ぶれ補正処理を施すことによって生成した動画を、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）規格のデータに変換して、ＵＳＢケーブルを介して外部の機器との間でデータを送受信する。
【００８４】
以下、上述の物理的・機能的構成を有する撮像装置１及び画像処理装置１００が動画に手ぶれ補正を施す動作を、図８〜図１５を参照しながら詳細に説明する。
【００８５】
撮像装置１が備える撮像部１０は、予め、被写体を撮像することにより、手ぶれ補正対象の動画を生成している。当該動画は、時間的に連続して撮像された複数フレームの画像を含んでいる。生成された動画は、外部記憶部２３によって記憶される。
【００８６】
ユーザは、動画の手ぶれを補正することを所望する場合、操作部３２を操作することにより、手ぶれ補正対象の動画のデータを主記憶部２１に展開する。そして、撮像装置１が備える複数の動作モードの１つである「手ぶれ補正モード」を選択する。
【００８７】
操作部３２が、ユーザによる「手ぶれ補正モード」を選択する操作を受け付けると、ＣＰＵ２４は、特徴点抽出プログラムや画像処理プログラムを含む、図８のフローチャートに示す手ぶれ補正処理を実行するためのプログラムを外部記憶部２３から読み出し、主記憶部２１に展開する。
【００８８】
このような状態において、ユーザが、操作部３２を操作して手ぶれ補正の開始を指示すると、画像処理装置１００が、図８のフローチャートに示す手ぶれ補正処理を開始する。
【００８９】
手ぶれ補正処理を開始すると、まず、指定部１０１が、手ぶれ補正開始フレームを指定する（ステップＳ１）。手ぶれ補正開始フレームは、手ぶれ補正対象の動画に含まれる複数のフレームのうち最初の（撮像時刻が最も古い）フレームである。以下、指定部１０１により指定されたフレームを、第ｔフレームと表記する。
【００９０】
オプティカルフロー取得部１０２ａは、オプティカルフロー取得処理を実行する（ステップＳ２）。これにより、オプティカルフロー取得部１０２ａは、第ｔフレームより以前の１０フレーム（第（ｔ−１）フレーム〜第（ｔ−１０）フレーム）分の画像それぞれから互いに対応する特徴点ｐｉを抽出する。そして、画像間の特徴点ｐｉの移動ベクトルによって形成される画像間のオプティカルフローを取得すると共に、特徴点軌道ｐを取得する。
【００９１】
以下、ステップＳ２のオプティカルフロー取得処理の詳細を、図９のフローチャートを参照しながら説明する。
【００９２】
ステップＳ２のオプティカルフロー取得処理を開始すると、オプティカルフロー取得部１０２ａは、まず、図８のフローチャートのステップＳ１において指定部１０１により指定されたフレーム（第ｔフレーム）を第Ａフレームとして設定し（ステップＳ２０１）、第（ｔ−１０）フレーム（第ｔフレームの１０フレーム前のフレーム）を第Ｂフレームとして設定する（ステップＳ２０２）。
【００９３】
次に、オプティカルフロー取得部１０２ａは、第Ａフレームの画像と第Ｂフレームの画像との間のオプティカルフローが、以前に実行されたオプティカルフロー取得処理によって取得済みであるか否かを判別する（ステップＳ２０３）。
【００９４】
取得済みであると判別すると（ステップＳ２０３；ＹＥＳ）、処理はステップＳ２０８へ移る。これにより、既に取得したオプティカルフローを重複して取得することを防止できる。
【００９５】
オプティカルフローが未取得であると判別すると（ステップＳ２０３；ＮＯ）、オプティカルフロー取得部１０２ａは、第Ａフレームの画像から、ＫＬＴ法を用いて特徴点ｐｉを抽出する（ステップＳ２０４）。
【００９６】
そして、オプティカルフロー取得部１０２ａは、第Ｂフレームの画像から、ステップＳ２０４で第Ａフレームの画像から抽出した各特徴点ｐｉに対応する特徴点ｐｉを、ＫＬＴ法を用いて抽出する（ステップＳ２０５）。
【００９７】
ステップＳ２０４及びステップＳ２０５で互いに対応する特徴点ｐｉを抽出すると、オプティカルフロー取得部１０２ａは、抽出した特徴点ｐｉ間のベクトル（特徴点ｐｉの移動ベクトル）を取得することにより、これらの移動ベクトルによって形成される、第Ａフレームの画像と第Ｂフレームの画像との間のオプティカルフローを取得する（ステップＳ２０６）。また、オプティカルフロー取得部１０２ａは、ステップＳ２０４及びステップＳ２０５で抽出した特徴点ｐｉを、それぞれ、特徴点軌道ｐを成す点として取得することにより、特徴点軌道ｐを取得する（ステップＳ２０７）。
【００９８】
オプティカルフローと特徴点軌道ｐとを取得した後、オプティカルフロー取得部１０２ａは、値Ｂを１だけインクリメントする（ステップＳ２０８）。すなわち、オプティカルフロー取得部１０２ａは、ステップＳ２０３〜ステップＳ２０７の処理対象となる第Ｂフレームを、次の（次に撮像時刻が新しい）フレームに移す。例えば、直前に実行したステップＳ２０３〜ステップＳ２０７の処理において、第（ｔ−１０）フレームが第Ｂフレームとして設定されていた場合、ステップＳ２０８において、第（ｔ−１０）フレームの次のフレームである第（ｔ−９）フレームが、新たに第Ｂフレームとして設定される。
【００９９】
値Ｂをインクリメントした後、オプティカルフロー取得部１０２ａは、インクリメントされた後の値Ｂが値Ａに一致するか否か（第Ｂフレームと第Ａフレームとが同一であるか否か）を判別する（ステップＳ２０９）。
【０１００】
インクリメント後の値Ｂが値Ａに一致しない（第Ｂフレームと第Ａフレームとが同一ではない）と判別すると（ステップＳ２０９；ＮＯ）、処理はステップＳ２０３へ戻る。
【０１０１】
すなわち、オプティカルフロー取得部１０２ａは、値Ｂを１ずつインクリメントしながら、インクリメント後の値Ｂが値Ａに一致する（第Ｂフレームと第Ａフレームとが同一である）と判別するまで（ステップＳ２０９においてＹＥＳと判別するまで）ステップＳ２０３〜Ｓ２０８の処理を繰り返す。これにより、特徴点軌道ｐを取得すると共に、図１０に示すように、第Ａフレームの画像と、第ｔフレーム直前の１０フレームのうち第Ａフレームより以前のフレームの画像と、の間のオプティカルフローを取得する。
【０１０２】
最終的に、インクリメント後の値Ｂが値Ａに一致する（第Ｂフレームと第Ａフレームとが同一である）と判別すると（ステップＳ２０９；ＹＥＳ）、オプティカルフロー取得部１０２ａは、値Ａを１だけディクリメントする（ステップＳ２１０）。すなわち、ステップＳ２０２〜ステップＳ２０９の処理対象となる第Ａフレームを、直前の（次に撮像時刻が古い）フレームに移す。例えば、直前に実行したステップＳ２０２〜ステップＳ２０９の処理において、第ｔフレームが第Ａフレームとして設定されていた場合、ステップＳ２１０において、第ｔフレームの直前のフレームである第（ｔ−１）フレームが、新たに第Ａフレームとして設定される。
【０１０３】
ステップＳ２１０で値Ａを１だけディクリメントした後、オプティカルフロー取得部１０２ａは、ディクリメント後の値Ａが値（ｔ−１０）に一致するか否かを判別する（ステップＳ２１１）。
【０１０４】
ディクリメント後の値Ａが値（ｔ−１０）に一致しないと判別すると（ステップＳ２１１；ＮＯ）、処理はステップＳ２０２へ戻る。
【０１０５】
すなわち、オプティカルフロー取得部１０２ａは、値Ａを１ずつディクリメントしながら、ディクリメント後の値Ａが値（ｔ−１０）に一致すると判別するまで（ステップＳ２１１においてＹＥＳと判別するまで）、ステップＳ２０２〜Ｓ２１０の処理を繰り返す。これにより、特徴点軌道ｐを取得すると共に、図１０に示すように、第ｔフレーム及び第ｔフレームの直前の１０フレームそれぞれについて、各フレームの画像と、各フレームより以前のフレームの画像と、の間のオプティカルフローを取得する。
【０１０６】
ディクリメント後の値Ａが値（ｔ−１０）に一致すると判別すると（ステップＳ２１１；ＹＥＳ）、オプティカルフロー取得部１０２ａは、オプティカルフロー取得処理を終了する。
【０１０７】
図８のフローチャートに戻って、ステップＳ２のオプティカルフロー取得処理終了後、オプティカルフロー選別部１０２ｂは、オプティカルフロー選別処理を実行する（ステップＳ３）。これにより、ステップＳ１において指定部１０１により指定されたフレーム（第ｔフレーム）より以前の１０フレームの画像の中から、ステップＳ４の基礎行列取得処理の対象となる画像を選別する。
【０１０８】
以下、ステップＳ３のオプティカルフロー選別処理の詳細を、図１１のフローチャートを参照しながら説明する。
【０１０９】
ステップＳ３のオプティカルフロー選別処理を開始すると、オプティカルフロー選別部１０２ｂは、まず、図８のフローチャートのステップＳ１において指定部１０１が指定したフレーム（第ｔフレーム）の直前のフレーム（第（ｔ−１）フレーム）を第Ｃフレームとして設定する（ステップＳ３０１）。
【０１１０】
そして、オプティカルフロー選別部１０２ｂは、第Ｃフレームが、以前に実行されたオプティカルフロー選別処理においてスキップ対象（基礎行列取得処理の対象から除外されるフレーム）と非スキップ対象（基礎行列取得処理の対象として選別されるフレーム）との何れであるかを既に評価されているか否か判別する（ステップＳ３０２）。
【０１１１】
これにより、既に評価済みのフレームを重複して評価することを防止できる。
【０１１２】
第Ｃフレームが評価済みであると判別された場合（ステップＳ３０２；ＹＥＳ）、処理はステップＳ３１０へ移る。
【０１１３】
第Ｃフレームが未評価であった場合（ステップＳ３０２；ＮＯ）、オプティカルフロー選別部１０２ｂは、第（ｔ−１０）フレーム（第ｔフレームより１０フレーム前のフレーム）を第Ｄフレームに設定する（ステップＳ３０３）。
【０１１４】
第Ｄフレームを設定した後、オプティカルフロー選別部１０２ｂは、ステップＳ２におけるオプティカルフロー取得処理で取得された、第Ｃフレームの画像と第Ｄフレームの画像との間のオプティカルフローを取得する（ステップＳ３０４）。
【０１１５】
第Ｃフレームの画像と第Ｄフレームの画像との間のオプティカルフローを取得すると、オプティカルフロー選別部１０２ｂは、取得したオプティカルフローを形成する特徴点ｐｉ移動ベクトルのうち１００個をランダムに抽出する。そして、抽出した特徴点ｐｉの移動ベクトルそれぞれのＬ２ノルムを各特徴点ｐｉの移動ベクトルの大きさ（特徴点ｐｉの移動量）として算出し、算出した全てのＬ２ノルムを合計することにより積算値を取得する（ステップＳ３０５）。
【０１１６】
そして、オプティカルフロー選別部１０２ｂは、取得した積算値が所定の閾値以上であるか否かを判別する（ステップＳ３０６）。
【０１１７】
これにより、第Ｃフレームの画像と第Ｄフレームの画像とが類似しているか否かを判別する。
【０１１８】
具体的には、積算値が閾値より小さいと判別された場合（ステップＳ３０６；ＮＯ）、この判別結果は、第Ｃフレームの画像と第Ｄフレームの画像とが類似していることを意味する。この場合、オプティカルフロー選別部１０２ｂは、第Ｃフレームをスキップ対象と評価し（ステップＳ３１２）、ステップＳ２のオプティカルフロー取得処理において取得した、第ｔフレームの画像と第Ｃフレームの画像との間のオプティカルフローを、基礎行列取得処理の対象から消去する。その後、処理はステップＳ３１０へ移る。
【０１１９】
一方、積算値が閾値以上であると判別された場合（ステップＳ３０６；ＹＥＳ）、この判別結果は、第Ｃフレームの画像と第Ｄフレームの画像との間の類似度が低いことを意味する。この場合、オプティカルフロー選別部１０２ｂは、値Ｄを１だけインクリメントし（ステップＳ３０７）、インクリメント後の値Ｄが値Ｃに一致するか否かを判別する（ステップＳ３０８）。一致しないと判別した場合（ステップＳ３０８；ＮＯ）、処理はステップＳ３０４へ戻る。
【０１２０】
すなわち、オプティカルフロー選別部１０２ｂは、値Ｄを１ずつインクリメントしながら、インクリメント後の値Ｄが値Ｃに一致すると判別されるまで（ステップＳ３０８においてＹＥＳと判別されるまで）ステップＳ３０４〜ステップＳ３０７の処理を繰り返す。これにより、図１２に示すように、第Ｃフレームの画像と、第ｔフレームより以前の１０フレームのうち第Ｃフレームより以前に撮像された各フレームの画像と、が類似しているか否かを順次判別していく。そして、第Ｃフレームの画像が、第ｔフレームより以前の１０フレームのうちこのフレームより以前に撮像された各フレームの画像の何れにも類似していなければ、このフレームを、基礎行列取得処理の対象として選別する。
【０１２１】
第Ｃフレームの画像が、第ｔフレームの画像より以前の１０フレームのうち第Ｃフレームより以前に撮像された各フレームの画像の何れかに類似していれば、インクリメント後の値Ｄが値Ｃに一致すると判別される（ステップＳ３０８においてＹＥＳと判別される）よりも前に、ステップＳ３０６においてＮＯと判別され、第Ｃフレームはスキップ対象と評価されて（ステップＳ３１２）、処理はステップＳ３１０へ移る。
【０１２２】
第Ｃフレームの画像が、第ｔフレームの画像より以前の１０フレームのうち第Ｃフレームより以前に撮像された各フレームの画像の何れにも類似していなければ、オプティカルフロー選別部１０２ｂは、一度もステップＳ３０６においてＮＯと判別することの無いまま、インクリメント後の値Ｄが値Ｃに一致すると判別する（ステップＳ３０８においてＹＥＳと判別される）まで、ステップＳ３０４〜ステップＳ３０７の処理を繰り返す。そして、インクリメント後の値Ｄが値Ｃに一致すると判別すると（ステップＳ３０８；ＹＥＳ）、オプティカルフロー選別部１０２ｂは、第Ｃフレームを非スキップ対象と評価し（ステップＳ３０９）、ステップＳ２のオプティカルフロー取得処理において取得した、第ｔフレームの画像と第Ｃフレームの画像との間のオプティカルフローを基礎行列取得処理の対象として保存する。その後、処理はステップＳ３１０へ移る。
【０１２３】
ステップＳ３１０において、オプティカルフロー選別部１０２ｂは、値Ｃを１だけディクリメントし、ディクリメント後の値Ｃが値（ｔ−１０）に一致するか否かを判別する（ステップＳ３１１）。一致しないと判別された場合（ステップＳ３１１；ＮＯ）、処理はステップＳ３０２へ戻る。
【０１２４】
すなわち、オプティカルフロー選別部１０２ｂは、値Ｃを１ずつインクリメントしながら、ディクリメント後の値Ｃが値（ｔ−１０）に一致すると判別されるまで（ステップＳ３１１においてＹＥＳと判別されるまで）ステップＳ３０２〜ステップＳ３１０の処理を繰り返す。これにより、図１２に示すように、第ｔフレームの直前の１０フレーム分それぞれの画像について、第ｔフレームより以前の１０フレームのうち当該フレームより以前に撮像された各フレームの画像の何れかに類似しているか否かを順次判別していく。そして、第ｔフレームより以前の１０フレームのうち、当該フレームより以前に撮像された各フレームの画像の何れにも類似していないフレームを、ステップＳ４の基礎行列取得処理の対象として選別する。
【０１２５】
ディクリメント後の値Ｃが値（ｔ−１０）に一致すると判別すると（ステップＳ３１１；ＹＥＳ）、オプティカルフロー選別部１０２ｂは、オプティカルフロー選別処理を終了する。
【０１２６】
図８のフローチャートに戻って、ステップＳ３のオプティカルフロー選別処理が終了した後、基礎行列取得部１０３は、基礎行列取得処理を実行する（ステップＳ４）。これにより、ステップＳ３のオプティカルフロー選別処理により選別されたフレームの画像のそれぞれについて、ステップＳ１において指定部１０１により指定された画像との間の関係（エピポーラ関係）を表す基礎行列Ｆを取得する。
【０１２７】
以下、ステップＳ４の基礎行列取得処理の詳細を、図１３のフローチャートを参照しながら説明する。
【０１２８】
ステップＳ４の基礎行列取得処理を開始すると、基礎行列取得部１０３は、まず、第（ｔ−１０）フレーム（第ｔフレームより１０フレーム前のフレーム）を第Ｇフレームとして設定する（ステップＳ４０１）。
【０１２９】
次に、基礎行列取得部１０３は、第Ｇフレームが、ステップＳ３におけるオプティカルフロー選別処理により、非スキップ対象と評価されているか否かを判別する（ステップＳ４０２）。
【０１３０】
第Ｇフレームの画像が、第ｔフレームより前の１０フレーム分の画像のうち第Ｇフレームより前のフレームの画像の何れかに類似している場合、第Ｇフレームは、オプティカルフロー選別処理により、スキップ対象と評価されている。この場合、第Ｇフレームは非スキップ対象と評価されていなかったと判別され（ステップＳ４０２；ＮＯ）、処理はステップＳ４０５へ移る。
【０１３１】
第Ｇフレームの画像が、第ｔフレームより前の１０フレーム分の画像のうち第Ｇフレームより前のフレームの画像の何れにも類似していなかった場合、第Ｇフレームは、オプティカルフロー選別処理により、非スキップ対象と評価されている。この場合、第Ｇフレームは非スキップ対象と評価されていたと判別され（ステップＳ４０２；ＹＥＳ）、オプティカルフロー取得処理により取得された、第ｔフレームの画像と第Ｇフレームの画像との間のオプティカルフローを取得する（ステップＳ４０３）。
【０１３２】
そして、基礎行列取得部１０３は、取得したオプティカルフローに基づいて、第ｔフレームの画像と第Ｇフレームの画像との間のエピポーラ関係を表す基礎行列Ｆｔ，Ｇを取得する（ステップＳ４０４）。
【０１３３】
具体的には、基礎行列取得部１０３は、第ｔフレームの画像と第Ｇフレームの画像との間のオプティカルフローを形成する特徴点ｐｉの移動ベクトルのうち、複数の特徴点ｐｉの移動ベクトルの始点と終点の座標（例えば、同次座標）を対応点として用い、８ポイントアルゴリズムとＲＡＮＳＡＣ法により上述の式（２）で表される基礎行列Ｆの各パラメータを求める。
【０１３４】
ステップＳ４０４において基礎行列Ｆｔ，Ｇを取得した後、基礎行列取得部１０３は、値Ｇを１だけインクリメントし（ステップＳ４０５）、インクリメント後の値Ｇが値ｔに一致するか否かを判別する（ステップＳ４０６）。一致しないと判別された場合（ステップＳ４０６；ＮＯ）、処理はステップＳ４０２へ戻る。
【０１３５】
すなわち、基礎行列取得部１０３は、値Ｇを１ずつインクリメントしながら、インクリメント後の値Ｇが値ｔに一致すると判別されるまで（ステップＳ４０６においてＹＥＳと判別されるまで）、ステップＳ４０２〜ステップＳ４０５の処理を繰り返す。これにより、指定部１０１によって指定されたフレーム（第ｔフレーム）の画像と、オプティカルフロー選別処理によって選別されたフレームの画像と、の間の基礎行列を取得する。
【０１３６】
インクリメント後の値Ｇが値ｔに一致すると判別した場合（ステップＳ４０６；ＹＥＳ）、基礎行列取得部１０３は、基礎行列取得処理を終了する。
【０１３７】
図８のフローチャートに戻って、ステップＳ４の基礎行列取得処理が終了した後、仮想特徴点生成部１０４は、仮想特徴点軌道構築処理を実行する（ステップＳ５）。これにより、基礎行列取得処理によって取得された基礎行列Ｆに基づいて、ステップＳ１で指定部１０１によって指定されたフレーム（第ｔフレーム）より前の１０フレーム分の画像内の互いに対応する仮想特徴点ｖｉを第ｔフレームの画像にエピポーラ転送することにより、第ｔフレームの画像内における仮想特徴点ｖｉを生成する。
【０１３８】
以下、ステップＳ５の仮想特徴点生成処理の詳細について、図１４のフローチャートを参照しながら説明する。
【０１３９】
仮想特徴点生成処理においては、第ｔフレームより前の１０フレーム分の画像が含む仮想特徴点ｖｉが第ｔフレームへ投影するエピポーラ線を求める必要がある。
【０１４０】
しかし、手ぶれ補正処理の初期段階においては、エピポーラ線の投影元となるべき過去のフレームの画像に含まれる仮想特徴点ｖｉが未だ生成されていないことがある。
【０１４１】
そこで、仮想特徴点生成処理を開始すると、仮想特徴点生成部１０４は、まず、仮想特徴点軌道準備処理を実行する（ステップＳ５０１）。
以下、ステップＳ５０１の仮想特徴点軌道準備処理の詳細について、図１５のフローチャートを参照しながら説明する。
【０１４２】
仮想特徴点軌道準備処理を開始すると、仮想特徴点生成部１０４は、まず、第ｔフレームより前のフレームにおいて構築された仮想特徴点軌道ｖのうち何れか１つを選択する（ステップＳ５０１ａ）。
【０１４３】
そして、仮想特徴点生成部１０４は、選択した仮想特徴点軌道ｖが第（ｔ−１）フレームまで伸びているか否か（第（ｔ−１）フレームから連続しているか否か）を判別する（ステップＳ５０１ｂ）。
【０１４４】
仮想特徴点軌道ｖが第（ｔ−１）フレームまで伸びている（第（ｔ−１）フレームから連続している）と判別した場合（ステップＳ５０１ｂ；ＹＥＳ）、仮想特徴点生成部１０４は、選択した仮想特徴点軌道ｖを仮想特徴点生成のための初期軌道として用いることができるので、処理はステップＳ５０１ｄへ移る。
【０１４５】
一方、仮想特徴点軌道ｖが第（ｔ−１）フレームまで伸びていない（第（ｔ−１）フレームから連続していない）と判別された場合（ステップＳ５０１ｂ；ＮＯ）、第ｔフレームの直前に撮像された５フレーム分の画像から取得された特徴点軌道ｐを仮想特徴点軌道ｖにコピーする（第（ｔ−１）〜第（ｔ−５）フレームの画像から抽出済みの特徴点ｐｉを、これらの画像中の仮想特徴点ｖｉと見なす）ことにより仮想特徴点生成のための初期軌道を取得し（ステップＳ５０１ｃ）、処理はステップＳ５０１ｄへ移る。
【０１４６】
本実施形態では、１００個の仮想特徴点軌道ｖにより、手ぶれ補正前の撮像装置１の動きを定義する（手ぶれ補正前の各フレームの画像を定義する）。そこで、ステップＳ５０１ｄにおいて、仮想特徴点生成部１０４は、１００個の仮想特徴点軌道ｖに対してステップＳ５０１ｂ〜Ｓ５０１ｃの処理を施したか否か判別する（ステップＳ５０１ｄ）。１００個の仮想特徴点軌道ｖに処理を施していないと判別すると（ステップＳ５０１ｄ；ＮＯ）、処理はステップＳ５０１ａへ戻り、仮想特徴点生成部１０４は、別の仮想特徴点軌道ｖを選択してステップＳ５０１ｂ〜Ｓ５０１ｃの処理を実行する。
【０１４７】
最終的に、１００個の仮想特徴点軌道ｖに処理を施したと判別すると（ステップＳ５０１ｄ；ＹＥＳ）、仮想特徴点生成部１０４は、仮想特徴点軌道準備処理を終了する。
【０１４８】
図１４のフローチャートに戻って、ステップＳ５０１の仮想特徴点軌道準備処理を終了した後、仮想特徴点生成部１０４は、仮想特徴点軌道準備処理を施された１００個の仮想特徴点軌道ｖのうち何れか１つを選択する（ステップＳ５０２）。
【０１４９】
次に、仮想特徴点生成部１０４は、第（ｔ−１０）フレーム（第ｔフレームより１０フレーム前のフレーム）を第Ｈフレームとして設定し（ステップＳ５０３）、第Ｈフレームが、ステップＳ３におけるオプティカルフロー選別処理において、非スキップ対象と評価されたか否かを判別する（ステップＳ５０４）。
【０１５０】
第Ｈフレームの画像が、第ｔフレームより前の１０フレーム分の画像のうち第Ｈフレームより前のフレームの画像の何れかに類似している場合、第Ｈフレームは、オプティカルフロー選別処理により、スキップ対象と評価されている。この場合、仮想特徴点生成部１０４は、非スキップ対象と評価されていないと判別し（ステップＳ５０４；ＮＯ）、処理はステップＳ５０６へ移る。
【０１５１】
第Ｈフレームの画像が、第ｔフレームより前の１０フレーム分の画像のうち第Ｈフレームより前のフレームの画像の何れにも類似していなかった場合、第Ｈフレームは、オプティカルフロー選別処理により、非スキップ対象と評価されている。この場合、仮想特徴点生成部１０４は、非スキップ対象と評価されていると判別する（ステップ５０４；ＹＥＳ）。そして、仮想特徴点生成部１０４は、第Ｈフレームの画像が含む仮想特徴点ｖｉＨが第ｔフレームの画像に投影するエピポーラ線を、ステップＳ４における基礎行列取得処理によって取得された、第ｔフレームの画像と第Ｈフレームの画像との間のエピポーラ関係を表す基礎行列Ｆｔ、Ｈに基づいて、取得する（ステップＳ５０５）。
【０１５２】
エピポーラ線を取得した後、仮想特徴点生成部１０４は、値Ｈを１だけインクリメントし（ステップＳ５０６）、インクリメント後の値Ｈが値ｔに一致するか否かを判別する（ステップＳ５０７）。一致しないと判別すると（ステップＳ５０７；ＮＯ）、処理はステップＳ５０４へ戻る。
【０１５３】
すなわち、仮想特徴点生成部１０４は、値Ｈを１ずつインクリメントしながら、インクリメント後の値Ｈが値ｔに一致すると判別されるまで（ステップＳ５０７においてＹＥＳと判別されるまで）、ステップＳ５０４〜ステップＳ５０６の処理を繰り返す。これにより、第ｔフレームより前の１０フレームのうち非スキップ対象と判別されたフレームの画像に含まれる仮想特徴点ｖｉが第ｔフレームの画像に投影するエピポーラ線を取得する。
【０１５４】
最終的に、インクリメント後の値Ｈが値ｔに一致すると判別した場合（ステップＳ５０７；ＹＥＳ）、仮想特徴点生成部１０４は、取得された複数のエピポーラ線から任意の１組を選択し（ステップＳ５０８）。そして、これら１組のエピポーラ線が互いに成す角度が１．５°以上であるか否かを判別する（ステップＳ５０９）。
【０１５５】
１組のエピポーラ線が平行に近いほど、これらのエピポーラ線が与える交点の信頼性は低い。そこで、仮想特徴点生成部１０４は、一定以上に大きな角度を成すエピポーラ線の組が与える交点の座標のみを取得することにより、信頼性の低い交点を排除する。
【０１５６】
具体的には、成す角度が１．５°未満であると判別すると（ステップＳ５０９；ＮＯ）、処理はステップＳ５１１へ移る。一方、成す角度が１．５°以上であると判別すると（ステップＳ５０９；ＹＥＳ）、仮想特徴点生成部１０４は、これらのエピポーラ線の交点の座標を取得し（ステップＳ５１０）、処理はステップＳ５１１へ移る。
【０１５７】
ステップＳ５１１において、仮想特徴点生成部１０４は、取得された複数のエピポーラ線から選択可能な全ての組み合わせを選択したか否かを判別する（ステップＳ５１１）。選択されていない組み合わせがあると判別すると（ステップＳ５１１；ＮＯ）、処理はステップＳ５０８へ戻り、仮想特徴点生成部１０４は、未だ選択されていない組み合わせを選択して、同様の処理を実行する。
【０１５８】
可能な全ての組み合わせが選択されたと判別すると（ステップＳ５１１；ＹＥＳ）、仮想特徴点生成部１０４は、取得された全ての交点座標の平均値を求め、この平均値と、取得された全ての交点座標の中央値と、の間の距離が５画素より小さいか否か判別する（ステップＳ５１２）。
【０１５９】
具体的には、平均値と中央値との間の距離が５画素より小さいと判別すると（ステップＳ５１２；ＹＥＳ）、仮想特徴点生成部１０４は、平均値を第ｔフレーム中の仮想特徴点ｖｉの座標として取得し（ステップＳ５１３）、処理はステップＳ５１４へ移る。
【０１６０】
平均値が中央値から５画素以上離れていると判別すると（ステップＳ５１２；ＮＯ）、処理はステップＳ５１４へ移る。すなわち、交点座標の平均値が中央値から５画素以上離れている場合、トラッキングエラーである可能性が高い。そこで、中央値から５画素以上離れている平均値の取得をスキップすることにより、信頼性に欠ける交点を排除する。
【０１６１】
ステップＳ５１４において、仮想特徴点生成部１０４は、ステップＳ５０１の仮想特徴点軌道準備処理により処理された１００個の仮想特徴点軌道ｖ全てが選択されたか否かを判別する（ステップＳ５１４）。未だ選択されていない仮想特徴点軌道ｖがあると判別すると（ステップＳ５１４；ＮＯ）、処理はステップＳ５０２へ戻り、仮想特徴点生成部１０４は、未選択の仮想特徴点軌道ｖのうち何れか１個を選択して、同様の仮想特徴点生成処理を実行する。
【０１６２】
最終的に、全ての仮想特徴点軌道ｖが選択済みであると判別すると（ステップＳ５１４；ＹＥＳ）、仮想特徴点生成部１０４は、仮想特徴点生成処理を終了する。
【０１６３】
図８のフローチャートに戻り、ステップＳ５の仮想特徴点生成処理が終了した後、仮想特徴点軌道構築部１０５は、仮想特徴点生成処理によって生成された仮想特徴点ｖｉを、仮想特徴点軌道ｖを構成する点として取得することにより、仮想特徴点軌道ｖを延長する（ステップＳ６）。
【０１６４】
そして、仮想特徴点軌道構築部１０５は、指定部１０１が指定したフレーム（第ｔフレーム）が手ぶれ補正終了フレームであるか否かを判別する（ステップＳ７）。手ぶれ補正終了フレームは、手ぶれ補正対象の動画が含む複数のフレームのうち最後の（撮像時刻が最も新しい）フレームである。
【０１６５】
第ｔフレームが手ぶれ補正終了フレームではないと判別すると（ステップＳ７；ＮＯ）、仮想特徴点軌道構築部１０５は、指定部１０１に、直前に実行されたステップＳ２〜ステップＳ６の処理において第ｔフレームとして設定されていたフレームの次の（次に撮像時刻が新しい）フレームを、新たな第ｔフレームとして設定させ（ステップＳ１３）、処理はステップＳ２へ戻る。
【０１６６】
すなわち、仮想特徴点軌道構築部１０５は、手ぶれ補正対象の動画が含む複数フレームの画像の中から指定部１０１が指定する画像を変えて、ステップＳ２〜ステップＳ６の処理を繰り返す。これにより、仮想特徴点軌道構築部１０５は、仮想特徴点軌道ｖを構築する。
【０１６７】
第ｔフレームが手ぶれ補正対象フレームであると判別されると（ステップＳ７；ＹＥＳ）、平滑化部１０６が、構築された仮想特徴点軌道ｖをσ＝５０のガウシアンカーネルにより時間方向に平滑化し、平滑化された仮想特徴点軌道〜ｖを取得する（ステップＳ８）。
【０１６８】
そして、補正部１０７は、仮想特徴点軌道ｖと平滑化された仮想特徴点軌道〜ｖとの間の関係に基づいて、手ぶれ補正前の各フレームの画像と手ぶれ補正後の各フレームの画像との間のエピポーラ関係を表す基礎行列〜Ｆを取得する（ステップＳ９）。
【０１６９】
具体的には、補正部１０７は、仮想特徴点軌道ｖを形成する仮想特徴点ｖｉと、平滑化された仮想特徴点軌道〜ｖを形成する手ぶれ補正後の仮想特徴点〜ｖｉと、を対応点として用い、８ポイントアルゴリズムとＲＡＮＳＡＣ法により基礎行列〜Ｆを求める。
【０１７０】
そして、補正部１０７は、ステップＳ９で取得した基礎行列〜Ｆに基づいてエピポーラ転送を行うことにより、手ぶれ補正後の特徴点軌道〜ｐを取得する（ステップＳ１０）。
【０１７１】
具体的には、補正部１０７は、図６に示すように、手ぶれ補正後の各フレームの画像に、手ぶれ補正前の前後５フレームの画像に含まれる特徴点ｐｉが投影するエピポーラ線を、基礎行列〜Ｆに基づいて取得する。そして、図７に示すように、エピポーラ線の交点により定まる点を、手ぶれ補正後の各フレームの画像が含む手ぶれ補正後の特徴点ｐｉとして取得する。手ぶれ補正後の特徴点軌道〜ｐは、手ぶれ補正後の特徴点ｐｉによって構成される軌道として取得される。
【０１７２】
補正部１０７は、取得された手ぶれ補正後の特徴点軌道〜ｐをσ＝６のガウシアンカーネルを用いて時間方向に平滑化することにより、高周波ジッタを除去する（ステップＳ１１）。
【０１７３】
補正部１０７は、手ぶれ補正対象の動画が含む各フレームの画像に対し、特徴点軌道ｐと手ぶれ補正後の特徴点軌道〜ｐとの間の関係に基づいて射影変換を実行することにより手ぶれを補正する（ステップＳ１２）。以上により、図８のフローチャートに示した手ぶれ補正処理を終了する。
【０１７４】
具体的には、補正部１０７は、特徴点軌道ｐを構成する特徴点ｐｉの座標と、手ぶれ補正後の特徴点軌道〜ｐを構成する手ぶれ補正後の特徴点〜ｐｉの座標と、を対応点として式（６）に代入することにより射影変換パラメータを求める。そして、手ぶれ補正対象の動画を構成する複数の画像それぞれを射影変換し、射影変換された複数の画像によって構成される動画を、手ぶれを補正した動画として生成する。
【０１７５】
以上説明したように、本実施形態に係る撮像装置１及び画像処理装置１００は、エピポーラ幾何を利用することにより、視差の影響を考慮した手ぶれ補正を動画に対して施すことができる。
【０１７６】
さらに、本実施形態に係る撮像装置１及び画像処理装置１００は、手ぶれ補正対象の動画が含む複数の画像間の類似度を、画像間のオプティカルフローを形成する特徴点ｐｉの移動ベクトルの大きさ（特徴点ｐｉの移動量）に基づいて評価し、評価結果に基づいて基礎行列取得処理の対象となる画像を選別している。これにより、信頼性に欠けるエピポーラ交点の取得、該エピポーラ交点を与えるエピポーラ線の取得、及び該エピポーラ線を与える基礎行列の取得といった不必要な演算処理の実行を防止し、演算負荷を軽減することができる。
【０１７７】
以上に本発明の実施形態について説明したが、これらの実施形態は一例であり、本発明の適用範囲はこれに限られない。すなわち、本発明の実施形態は種々の応用が可能であり、あらゆる実施の形態が本発明の範囲に含まれる。
【０１７８】
上記実施形態において、画像処理装置１００は、撮像装置１の内部に具備されていた。しかし、本発明に係る画像処理装置は、撮像装置から独立した装置であってもよい。例えば、コンピュータ等の情報処理装置が、本発明に係る画像処理装置として機能することができる。この場合、画像処理装置は、外部の撮像装置が撮像した動画を手ぶれ補正対象の動画として取得し、上述の手ぶれ補正を施せばよい。
【０１７９】
上記実施形態において、画像処理装置１００は、撮像部１０が被写体を撮像することにより生成し外部記憶部２３に記憶されていた動画を、外部記憶部２３から手ぶれ補正の対象として取得した。撮像装置１は、外部記憶部２３からではなく、外部の画像入力装置（例えば、デジタルカメラやメモリカード、ネットワーク）から手ぶれ補正対象の動画を予め取得し、記憶しておいてもよい。
【０１８０】
上記実施形態では、ＫＬＴ法を用いて各フレームの画像から互いに対応する特徴点ｐｉを抽出した。しかし、本発明では、ＫＬＴ法以外の方法を用いて特徴点ｐｉを抽出してもよい。例えば、Ｈａｒｒｉｓオペレータ、ＳＵＳＡＮオペレータ、Ｆｏｅｒｓｔｎｅｒオペレータ、Ｓｏｊａｋオペレータ、ＳＩＦＴ等を用いることができる。
【０１８１】
上記実施形態では、画像間のオプティカルフローを形成する特徴点ｐｉの移動ベクトルをランダムに１００個抽出し、抽出した特徴点ｐｉの移動ベクトルの大きさと所定の閾値との大小関係を判別することにより、画像間の類似度を評価した。
【０１８２】
しかし、本発明では、特徴点ｐｉの移動ベクトルは、ランダムにではなく、一定の規則に従って抽出することもできる。
【０１８３】
例えば、画像が含む、互いに異なる複数の画像領域（画像ブロック）それぞれから一定数ずつ移動ベクトルを抽出することができる。この方法によれば、画像全体から偏りなく抽出した特徴点ｐｉの移動ベクトルに基づいて、画像間の類似度をより正確に評価することができる。なお、ある画像領域から特徴点ｐｉの移動ベクトルを抽出するとは、始点と終点の少なくとも何れか一方がこの画像領域に含まれている特徴点ｐｉの移動ベクトルを取得することを指す。
【０１８４】
あるいは、撮像装置１又は画像処理装置１００に、被写体人物の体の一部（例えば、顔や目、耳、鼻）を表す画像領域である人物領域を画像から検出する手段（人物検出部）を設け、特徴点ｐｉの移動ベクトルのうち所定の割合を、検出された人物領域から抽出することもできる。この方法によれば、画像間の類似度を、ユーザが強い関心を抱いている可能性の高い被写体である人物を表す画像領域の類似度に基づいて評価し、より的確に評価することができる。人物の体の一部を表す画像領域を画像から検出する技術は当該技術分野において周知であるため、詳細な説明は省略する。なお、人物領域から特徴点ｐｉの移動ベクトルを抽出するとは、始点と終点の少なくとも何れか一方が人物領域に含まれている特徴点ｐｉの移動ベクトルを取得することを指す。
【０１８５】
なお、特徴点ｐｉの移動ベクトルの大きさの積算値を取得する際に、人物領域から取得された特徴点ｐｉの移動ベクトルの大きさの重みが、それ以外の画像領域から取得された特徴点ｐｉの移動ベクトルの大きさの重みよりも大きくなるような重み付けを施した上で各特徴点ｐｉの移動ベクトルの大きさを合計し、この重み付き合計値を積算値として取得してもよい。この方法によれば、画像間の類似度を評価するにあたって、ユーザが強い関心を抱いている可能性の高い被写体である人物を表す画像領域の類似度を参酌する度合いを高め、画像間の類似度をより的確に評価することができる。
【０１８６】
あるいは、撮像装置１又は画像処理装置１００に、移動している物体を表す画像領域である移動領域を画像から検出する手段（移動検出部）を設け、特徴点ｐｉの移動ベクトルのうち所定の割合を、検出された移動領域から抽出することもできる。この方法によれば、移動している物体を表す画像領域から特徴点ｐｉの移動ベクトルが抽出されることが保証されるため、移動していない物体を表す画像領域から抽出された特徴点ｐｉの移動ベクトルのみに基づいて画像間の類似度が評価されることを防止し、画像間の類似度を正確に評価することができる。移動している物体を表す画像領域を画像から検出する技術は当該技術分野において周知であるため、詳細な説明は省略する。なお、移動領域から特徴点ｐｉの移動ベクトルを抽出するとは、始点と終点の少なくとも何れか一方が移動領域に含まれている特徴点ｐｉの移動ベクトルを取得することを指す。
【０１８７】
なお、特徴点ｐｉの移動ベクトルの大きさの積算値を取得する際に、移動領域から取得された特徴点ｐｉの移動ベクトルの大きさの重みが、それ以外の画像領域から取得された特徴点ｐｉの移動ベクトルの大きさの重みよりも大きくなるような重み付けを施した上で各移動ベクトルの大きさを合計し、この重み付き合計値を積算値として取得してもよい。この方法によれば、画像間の類似度を評価するにあたって、手ぶれの影響を受けている可能性が高い、移動している物体を表す画像領域の類似度を参酌する度合いを高め、画像間の類似度をより的確に評価することができる。
【０１８８】
あるいは、撮像装置１又は画像処理装置１００に、背景を表す画像領域である背景領域を画像から検出する手段（背景検出部）を設け、特徴点ｐｉの移動ベクトルのうち所定の割合を、画像中の、検出された背景領域以外の画像領域から抽出することもできる。この方法によれば、手ぶれの影響を受けている可能性が低い、背景領域から抽出された特徴点ｐｉの移動ベクトルのみに基づいて画像間の類似度が評価されることを防止し、画像間の類似度を正確に評価することができる。背景を表す画像領域を画像から検出する技術は当該技術分野において周知であるため、詳細な説明は省略する。なお、背景領域から特徴点ｐｉの移動ベクトルを抽出するとは、始点と終点の少なくとも何れか一方が背景領域に含まれている特徴点ｐｉの移動ベクトルを取得することを指す。
【０１８９】
あるいは、逆に、特徴点ｐｉの移動ベクトルのうち所定の割合を、画像中の、検出された背景領域から抽出することもできる。この方法によれば、被写体からは手ぶれの影響を検出できない（手ぶれの成分を検出できない）ものの背景からは比較的容易に手ぶれの影響を検出できる場合（被写体が非常に画像全体に占める割合が非常に小さい場合や、被写体が激しく動いている場合等）にも、背景領域から抽出された特徴点ｐｉの移動ベクトルに基づいて画像間の類似度を評価することにより、画像間の類似度を正確に評価することができる。
【０１９０】
なお、特徴点ｐｉの移動ベクトルの大きさの積算値を取得する際に、背景領域から取得された特徴点ｐｉの移動ベクトルの大きさの重みが、それ以外の画像領域から取得された特徴点ｐｉの移動ベクトルの大きさの重みよりも小さくなるような重み付けを施した上で各移動ベクトルの大きさを合計し、この重み付き合計値を積算値として取得してもよい。この方法によれば、画像間の類似度を評価するにあたって、手ぶれの影響を大きく受けている可能性が低い背景を表す画像領域よりも、それ以外の画像領域の類似度を参酌する度合いを高め、画像間の類似度をより的確に評価することができる。
【０１９１】
なお、特徴点ｐｉの移動ベクトルの大きさの積算値を取得する際に、画像の中心により近い位置から取得された特徴点ｐｉの移動ベクトルほどその大きさの重みが大きくなるような重み付けを施した上で各移動ベクトルの大きさを合計し、この重み付き合計値を積算値として取得してもよい。この方法によれば、画像間の類似度を評価するにあたって、画像の中心に近く、ユーザが関心を抱いている被写体を表している可能性の高い画像領域の類似度を参酌する度合いを高め、画像間の類似度をより的確に評価することができる。
【０１９２】
上記実施形態では、特徴点ｐｉの移動ベクトルのＬ２ノルムを、特徴点ｐｉの移動ベクトルの大きさとして取得した。しかし、本発明では、Ｌ２ノルム以外の任意の量（例えば、Ｌ１ノルム）を特徴点ｐｉの移動ベクトルの大きさとして取得することができる。
【０１９３】
抽出される特徴点ｐｉの移動ベクトルの数は、任意の方法により予め設定しておくことができる。例えば、特徴点ｐｉの移動ベクトルの大きさの統計的分布を解析することにより抽出する数を設定してもよい。
【０１９４】
あるいは、抽出される特徴点ｐｉの移動ベクトルの数は、画像を解析して得られる情報に基づいて設定することもできる。例えば、上述の検出手段によって人物領域又は移動領域が検出された場合に、検出されなかった場合に比べて抽出される特徴点ｐｉの移動ベクトルの数を増やすこととしてもよい。この方法によれば、ユーザが注目する被写体である可能性が高い人物や手ぶれの影響を受けている可能性が高い移動物体が画像に含まれている場合、含まれていない場合よりも多くの特徴点ｐｉの移動ベクトルに基づいて、より慎重に画像間の類似度を比較し、画像間の類似度を正確に評価することができる。
【０１９５】
上記実施形態では、類似度の判別基準となる閾値は事前に設定されていた。しかし、本発明では、閾値は、画像を解析して得られる情報に基づいて設定してもよい。例えば、抽出される特徴点ｐｉの移動ベクトルの数に応じて閾値を設定してもよい。特徴点ｐｉの移動ベクトルの数が多ければ、これに応じて閾値も高く設定する必要がある。
【０１９６】
上記実施形態では、仮想特徴点軌道ｖをガウシアンカーネルで平滑化することにより、平滑化された仮想特徴点軌道〜ｖを取得した。しかし、本発明では、平滑化は、ガウシアンカーネル以外の関数（例えば、ラプラシアンフィルタ）を用いて行ってもよい。
【０１９７】
上記実施形態では、手ぶれ補正対象の画像全体に対して一括して射影変換を施すことにより手ぶれ補正を実行した。しかし、本発明では、画像が含む複数の画像領域それぞれに射影変換を施し、射影変換後の画像領域を再結合することにより手ぶれ補正を施すこともできる。
【０１９８】
上記実施形態では、本発明に係る画像処理装置、撮像装置及び画像処理方法を、撮像装置１及び画像処理装置１００を例に用いて説明した。本発明に係る画像処理装置、撮像装置、及び画像処理方法は、コンピュータ、携帯電話機、デジタルカメラ、ＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｃｅ）等の任意の電子機器によって実現することができる。
【０１９９】
具体的には、コンピュータ、携帯電話機、デジタルカメラ、ＰＤＡ等を本発明に係る撮像装置及び画像処理装置として動作させるためのプログラムを、これらの電子機器が読み取り可能な記録媒体（例えば、メモリカードやＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＯＭ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ  Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）等）に格納して配布し、インストールすることにより本発明に係る撮像装置及び画像処理装置を実現することができる。
【０２００】
あるいは、上記プログラムを、インターネット等の通信ネットワーク上のサーバ装置が有する記憶装置（例えば、ディスク装置等）に格納しておき、コンピュータ、携帯電話機、デジタルカメラ、ＰＤＡ等がこのプログラムをダウンロードすることによって本発明に係る撮像装置及び画像処理装置を実現してもよい。
【０２０１】
また、本発明に係る撮像装置及び画像処理装置の機能を、オペレーティングシステム（ＯＳ）とアプリケーションプログラムとの協働又は分担により実現する場合には、アプリケーションプログラム部分のみを記録媒体や記憶装置に格納してもよい。
【０２０２】
また、アプリケーションプログラムを搬送波に重畳し、通信ネットワークを介して配信してもよい。例えば、通信ネットワーク上の掲示板（ＢＢＳ：Ｂｕｌｌｅｔｉｎ  Ｂｏａｒｄ  Ｓｙｓｔｅｍ）にアプリケーションプログラムを掲示し、ネットワークを介してアプリケーションプログラムを配信してもよい。そして、このアプリケーションプログラムをコンピュータにインストールして起動し、ＯＳの制御下で、他のアプリケーションプログラムと同様に実行することにより、本発明に係る撮像装置及び画像処理装置を実現してもよい。
【０２０３】
以上、本発明の好ましい実施形態について説明したが、本発明は係る特定の実施形態に限定されるものではなく、本発明には、特許請求の範囲に記載された発明とその均等の範囲が含まれる。以下に、本願出願当初の特許請求の範囲に記載された発明を付記する。
【０２０４】
（付記１）
動画を構成する複数の画像の中から１つを指定する指定部と、
前記複数の画像のうちの前記指定部によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別部と、
前記選別部によって選別された画像のそれぞれについて、前記指定部によって指定された画像との関係を表す基礎行列を取得する基礎行列取得部と、
前記基礎行列取得部によって取得された基礎行列に基づいて、前記選別部によって選別された画像内の互いに対応する特徴点又は仮想特徴点を前記指定された画像にエピポーラ投影することにより、前記指定された画像内における仮想特徴点を生成する仮想特徴点生成部と、
前記複数の画像の中から前記指定部が指定する画像を変えて、前記指定部、前記選別部、前記基礎行列取得部、及び前記仮想特徴点生成部の処理を繰り返すことにより、仮想特徴点軌道を構築する仮想特徴点軌道構築部と、
前記仮想特徴点軌道構築部によって構築された仮想特徴点軌道を時間方向に平滑化する平滑化部と、
前記仮想特徴点軌道構築部によって構築された仮想特徴点軌道と、前記平滑化部によって平滑化された仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正部と、
を備えることを特徴とする画像処理装置。
【０２０５】
（付記２）
前記選別部は、
前記所定数の画像のうちの各画像について、前記所定数の画像のうち該各画像とは異なる画像との間における特徴点の移動量を取得し、
取得した移動量に基づいて、前記所定数の画像の中から、基礎行列の取得対象となる画像を選別する、
ことを特徴とする付記１に記載の画像処理装置。
【０２０６】
（付記３）
前記選別部は、
前記所定数の画像のうちの各画像について、前記所定数の画像のうち該各画像とは異なる画像との間における、複数の特徴点の移動量を取得し、
取得した複数の特徴点の移動量を積算した積算値に基づいて、前記所定数の画像の中から、基礎行列の取得対象となる画像を選別する、
ことを特徴とする付記１または２に記載の画像処理装置。
【０２０７】
（付記４）
前記選別部は、
特徴点の移動量の積算値と閾値との大小関係に基づいて、前記所定数の画像の中から、基礎行列の取得対象となる画像を選別する、
ことを特徴とする付記３に記載の画像処理装置。
【０２０８】
（付記５）
前記閾値は、移動量を取得する特徴点の数に応じて設定される、
ことを特徴とする付記４に記載の画像処理装置。
【０２０９】
（付記６）
付記１乃至５の何れか１つに記載の画像処理装置と、
被写体を撮像することにより、前記動画を構成する画像を生成する撮像部と、
を備えることを特徴とする撮像装置。
【０２１０】
（付記７）
動画を構成する複数の画像の中から１つを指定する指定処理と、
前記複数の画像のうちの前記指定処理によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別処理と、
前記選別処理によって選別された画像のそれぞれについて、前記指定処理によって指定された画像との関係を表す基礎行列を取得する基礎行列取得処理と、
前記基礎行列取得処理によって取得された基礎行列に基づいて、前記選別処理によって選別された画像内の互いに対応する特徴点又は仮想特徴点を前記指定された画像にエピポーラ投影することにより、前記指定された画像内における仮想特徴点を生成する仮想特徴点生成処理と、
前記複数の画像の中から前記指定処理によって指定する画像を変えて、前記指定処理、前記選別処理、前記基礎行列取得処理、及び前記仮想特徴点生成処理を繰り返すことにより、仮想特徴点軌道を構築する仮想特徴点軌道構築処理と、
前記仮想特徴点軌道構築処理によって構築された仮想特徴点軌道を時間方向に平滑化する平滑化処理と、
前記仮想特徴点軌道構築処理によって構築された仮想特徴点軌道と、前記平滑化処理によって平滑化された仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正処理と、
を含むことを特徴とする画像処理方法。
【０２１１】
（付記８）
コンピュータを、
動画を構成する複数の画像の中から１つを指定する指定部、
前記複数の画像のうちの前記指定部によって指定された画像以外の所定数の画像の中から、基礎行列の取得対象となる画像を選別する選別部、
前記選別部によって選別された画像のそれぞれについて、前記指定部によって指定された画像との関係を表す基礎行列を取得する基礎行列取得部、
前記基礎行列取得部によって取得された基礎行列に基づいて、前記選別部によって選別された画像内の互いに対応する特徴点又は仮想特徴点を前記指定された画像にエピポーラ投影することにより、前記指定された画像内における仮想特徴点を生成する仮想特徴点生成部、
前記複数の画像の中から前記指定部が指定する画像を変えて、前記指定部、前記選別部、前記基礎行列取得部、及び前記仮想特徴点生成部の処理を繰り返すことにより、仮想特徴点軌道を構築する仮想特徴点軌道構築部、
前記仮想特徴点軌道構築部によって構築された仮想特徴点軌道を時間方向に平滑化する平滑化部、
前記仮想特徴点軌道構築部によって構築された仮想特徴点軌道と、前記平滑化部によって平滑化された仮想特徴点軌道と、の間の関係に基づいて、前記複数の画像のそれぞれを補正する補正部、
として機能させることを特徴とするプログラム。
【符号の説明】
【０２１２】
１…撮像装置、１０…撮像部、１１…光学レンズ、１２…イメージセンサ、２０…データ処理部、２１…主記憶部、２２…出力部、２３…外部記憶部、２４…ＣＰＵ、３０…ユーザインタフェース部、３１…表示部、３２…操作部、３３…外部インタフェース、１００…画像処理装置、１０１…指定部、１０２…選別部、１０２ａ…オプティカルフロー取得部、１０２ｂ…オプティカルフロー選別部、１０３…基礎行列取得部、１０４…仮想特徴点生成部、１０５…仮想特徴点軌道構築部、１０６…平滑化部、１０７…補正部
【図１】
0006451300.tif 000008
【図２】
0006451300.tif 000009
【図３】
0006451300.tif 000010
【図４】
0006451300.tif 000011
【図５】
0006451300.tif 000012
【図６】
0006451300.tif 000013
【図７】
0006451300.tif 000014
【図８】
0006451300.tif 000015
【図９】
0006451300.tif 000016
【図１０】
0006451300.tif 000017
【図１１】
0006451300.tif 000018
【図１２】
0006451300.tif 000019
【図１３】
0006451300.tif 000020
【図１４】
0006451300.tif 000021
【図１５】
0006451300.tif 000022