(57)【特許請求の範囲】
【請求項１】
複数の画像フレームからなる動画像における手振れの影響を補正処理する装置であって、
前記複数の画像フレームのうちの第ｎの画像フレームＦ(n)の画素データを入力する際の初期の所定期間に入力した画像フレームＦ(n)中の第１エリアの画素データと、画像フレームＦ(n)より前の第(ｎ−１)の画像フレームＦ(n-1)中の第１エリアの特徴点に関する情報とに基づいて、画像フレームＦ(n-1)から画像フレームＦ(n)までの期間Ｔ(n)の画像の動きベクトルを検出する動きベクトル検出部と、
前記動きベクトル検出部により検出された画像の動きベクトルに基づいて画像フレームＦ(n)についての切り出し位置を算出する補正量算出部と、
前記補正量算出部により算出された切り出し位置に基づいて画像フレームＦ(n)中の部分範囲の画素データを切り出して、その切り出し後の画素データを出力する画像切り出し処理部と、
画像フレームＦ(n-1)中の特徴点に関する情報として、該特徴点の座標値を記憶するとともに、これと対応付けて該画像フレームのうち該特徴点を含む一部の画素ブロックの画素データを選択的に記憶する特徴点データメモリと、
画像フレームＦ(n)のうち前記特徴点の座標値に対応する位置を含む一部の画素ブロックの画素データを選択的に記憶するサーチデータメモリと、
を備え、
前記動きベクトル検出部が、前記特徴点データメモリに記憶された画像フレームＦ(n-1)中の特徴点に関する情報と、前記サーチデータメモリに記憶された画像フレームＦ(n)中の一部の画素ブロックの画素データとに基づいて、期間Ｔ(n)の画像の動きベクトルを検出する、
ことを特徴とする手振れ補正処理装置。
【請求項２】
前記動きベクトル検出部が、
各画像フレーム中の第１エリアにおける複数の特徴点を抽出する第１抽出部と、
前記第１抽出部により抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを対応付けて前記特徴点データメモリに保存する第１保存部と、
前記第１保存部により前記特徴点データメモリに保存された画像フレームＦ(n-1)中の第１エリアの各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを読み出し、画像フレームＦ(n-1)中の第１エリアの特徴点を含む画素ブロックの画素データと、前記サーチデータメモリに保存された画像フレームＦ(n)中の第１エリアにおいて該特徴点の座標値に対応する位置を含む画素ブロックの画素データとに基づいて、期間Ｔ(n)の第１エリアの各特徴点の動きベクトルを検出する第１検出部と、
前記第１検出部により検出された期間Ｔ(n)の第１エリアの各特徴点の動きベクトルに基づいて、期間Ｔ(n)の画像の動きベクトルを算出する第１算出部と、
を含み、
前記補正量算出部が、前記第１算出部により算出された期間Ｔ(n)の画像の動きベクトルに基づいて、画像フレームＦ(n)についての切り出し位置を算出する、
ことを特徴とする請求項１に記載の手振れ補正処理装置。
【請求項３】
前記動きベクトル検出部が、
各画像フレーム中の第１エリア以外の第２エリアにおける複数の特徴点を抽出する第２抽出部と、
前記第２抽出部により抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを対応付けて前記特徴点データメモリに保存する第２保存部と、
前記第２保存部により前記特徴点データメモリに保存された画像フレームＦ(n-1)中の第２エリアの各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを読み出し、画像フレームＦ(n-1)中の第２エリアの特徴点を含む画素ブロックの画素データと、前記サーチデータメモリに保存された画像フレームＦ(n)中の第２エリアにおいて該特徴点の座標値に対応する位置を含む画素ブロックの画素データとに基づいて、期間Ｔ(n)の第２エリアの各特徴点の動きベクトルを検出する第２検出部と、
前記第２検出部により検出された期間Ｔ(n)の第２エリアの各特徴点の動きベクトルに基づいて、期間Ｔ(n)の画像の動きベクトルを算出する第２算出部と、
を更に含み、
前記補正量算出部が、前記第１算出部により算出された期間Ｔ(n)の画像の動きベクトルと、前記第２算出部により算出された期間Ｔ(n-1)の画像の動きベクトルとに基づいて、画像フレームＦ(n)についての切り出し位置を算出する、
ことを特徴とする請求項２に記載の手振れ補正処理装置。
【請求項４】
前記第１保存部が、前記第１抽出部により抽出された各特徴点の特徴量をも前記特徴点データメモリに保存し、
前記第１算出部が、前記第１検出部により検出された各特徴点の動きベクトルに対して、前記第１保存部により前記特徴点データメモリに保存された各特徴点の特徴量で重み付けを行って、期間Ｔ(n)の画像の動きベクトルを算出する、
ことを特徴とする請求項２に記載の手振れ補正処理装置。
【請求項５】
前記第２保存部が、前記第２抽出部により抽出された各特徴点の特徴量をも前記特徴点データメモリに保存し、
前記第２算出部が、前記第２検出部により検出された各特徴点の動きベクトルに対して、前記第２保存部により前記特徴点データメモリに保存された各特徴点の特徴量で重み付けを行って、期間Ｔ(n)の画像の動きベクトルを算出する、
ことを特徴とする請求項３に記載の手振れ補正処理装置。
【請求項６】
前記補正量算出部が、前記第１算出部により算出された期間Ｔ(n)の画像の動きベクトルと、前記第２算出部により算出された期間Ｔ(n-1)の画像の動きベクトルとに対して、重み付けを行って画像の動きベクトルを求めて、画像フレームＦ(n)についての切り出し位置を算出する、ことを特徴とする請求項３に記載の手振れ補正処理装置。
【請求項７】
複数の画像フレームからなる動画像における手振れの影響を補正処理する請求項１〜６の何れか１項に記載の手振れ補正処理装置と、
前記複数の画像フレームそれぞれの画素データについて前記手振れ補正処理装置による手振れ補正処理とは異なる画像処理を行う画像信号処理部と、
を備え、
前記画像信号処理部による画像処理および前記手振れ補正処理装置による手振れ補正処理がなされた各画像フレームの画素データを出力する、
ことを特徴とする画像処理システム。
【請求項８】
前記手振れ補正処理装置の前記補正量算出部が、前記画像信号処理部が画像フレームＦ(n)について画像処理後の画素データを出力するときまでに該画像フレームＦ(n)についての切り出し位置を算出し、
前記手振れ補正処理装置の前記画像切り出し処理部が、前記補正量算出部により算出された切り出し位置に基づいて、前記画像信号処理部から出力された該画像フレームＦ(n)中の部分範囲の画素データを切り出して、その切り出し後の画素データを出力する、
ことを特徴とする請求項７に記載の画像処理システム。
【請求項９】
複数の画像フレームからなる動画像における手振れの影響を補正処理する方法であって、
前記複数の画像フレームのうちの第ｎの画像フレームＦ(n)の画素データを入力する際の初期の所定期間に入力した画像フレームＦ(n)中の第１エリアの画素データと、画像フレームＦ(n)より前の第(ｎ−１)の画像フレームＦ(n-1)中の第１エリアの特徴点に関する情報とに基づいて、画像フレームＦ(n-1)から画像フレームＦ(n)までの期間Ｔ(n)の画像の動きベクトルを検出する動きベクトル検出ステップと、
前記動きベクトル検出ステップで検出された画像の動きベクトルに基づいて画像フレームＦ(n)についての切り出し位置を算出する補正量算出ステップと、
前記補正量算出ステップで算出された切り出し位置に基づいて画像フレームＦ(n)中の部分範囲の画素データを切り出して、その切り出し後の画素データを出力する画像切り出し処理ステップと、
を備え、
前記動きベクトル検出ステップにおいて、
画像フレームＦ(n-1)中の特徴点に関する情報として、該特徴点の座標値を記憶するとともに、これと対応付けて該画像フレームのうち該特徴点を含む一部の画素ブロックの画素データを選択的に記憶する特徴点データメモリと、
画像フレームＦ(n)のうち前記特徴点の座標値に対応する位置を含む一部の画素ブロックの画素データを選択的に記憶するサーチデータメモリと、
を用いて、
前記特徴点データメモリに記憶された画像フレームＦ(n-1)中の特徴点に関する情報と、前記サーチデータメモリに記憶された画像フレームＦ(n)中の一部の画素ブロックの画素データとに基づいて、期間Ｔ(n)の画像の動きベクトルを検出する、
ことを特徴とする手振れ補正処理方法。
【請求項１０】
前記動きベクトル検出ステップが、
各画像フレーム中の第１エリアにおける複数の特徴点を抽出する第１抽出ステップと、
前記第１抽出ステップで抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを対応付けて前記特徴点データメモリに保存する第１保存ステップと、
前記第１保存ステップで前記特徴点データメモリに保存された画像フレームＦ(n-1)中の第１エリアの各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを読み出し、画像フレームＦ(n-1)中の第１エリアの特徴点を含む画素ブロックの画素データと、前記サーチデータメモリに保存された画像フレームＦ(n)中の第１エリアにおいて該特徴点の座標値に対応する位置を含む画素ブロックの画素データとに基づいて、期間Ｔ(n)の第１エリアの各特徴点の動きベクトルを検出する第１検出ステップと、
前記第１検出ステップで検出された期間Ｔ(n)の第１エリアの各特徴点の動きベクトルに基づいて、期間Ｔ(n)の画像の動きベクトルを算出する第１算出ステップと、
を含み、
前記補正量算出ステップでは、前記第１算出ステップで算出された期間Ｔ(n)の画像の動きベクトルに基づいて、画像フレームＦ(n)についての切り出し位置を算出する、
ことを特徴とする請求項９に記載の手振れ補正処理方法。
【請求項１１】
前記動きベクトル検出ステップが、
各画像フレーム中の第１エリア以外の第２エリアにおける複数の特徴点を抽出する第２抽出ステップと、
前記第２抽出ステップで抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを対応付けて前記特徴点データメモリに保存する第２保存ステップと、
前記第２保存ステップで前記特徴点データメモリに保存された画像フレームＦ(n-1)中の第２エリアの各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを読み出し、画像フレームＦ(n-1)中の第２エリアの特徴点を含む画素ブロックの画素データと、前記サーチデータメモリに保存された画像フレームＦ(n)中の第２エリアにおいて該特徴点の座標値に対応する位置を含む画素ブロックの画素データとに基づいて、期間Ｔ(n)の第２エリアの各特徴点の動きベクトルを検出する第２検出ステップと、
前記第２検出ステップで検出された期間Ｔ(n)の第２エリアの各特徴点の動きベクトルに基づいて、期間Ｔ(n)の画像の動きベクトルを算出する第２算出ステップと、
を更に含み、
前記補正量算出ステップでは、前記第１算出ステップで算出された期間Ｔ(n)の画像の動きベクトルと、前記第２算出ステップで算出された期間Ｔ(n-1)の画像の動きベクトルとに基づいて、画像フレームＦ(n)についての切り出し位置を算出する、
ことを特徴とする請求項１０に記載の手振れ補正処理方法。
【請求項１２】
前記第１保存ステップでは、前記第１抽出ステップで抽出された各特徴点の特徴量をも前記特徴点データメモリに保存し、
前記第１算出ステップでは、前記第１検出ステップで検出された各特徴点の動きベクトルに対して、前記第１保存ステップで前記特徴点データメモリに保存された各特徴点の特徴量で重み付けを行って、期間Ｔ(n)の画像の動きベクトルを算出する、
ことを特徴とする請求項１０に記載の手振れ補正処理方法。
【請求項１３】
前記第２保存ステップでは、前記第２抽出ステップで抽出された各特徴点の特徴量をも前記特徴点データメモリに保存し、
前記第２算出ステップでは、前記第２検出ステップで検出された各特徴点の動きベクトルに対して、前記第２保存ステップで前記特徴点データメモリに保存された各特徴点の特徴量で重み付けを行って、期間Ｔ(n)の画像の動きベクトルを算出する、
ことを特徴とする請求項１１に記載の手振れ補正処理方法。
【請求項１４】
前記補正量算出ステップでは、前記第１算出ステップで算出された期間Ｔ(n)の画像の動きベクトルと、前記第２算出ステップで算出された期間Ｔ(n-1)の画像の動きベクトルとに対して、重み付けを行って画像の動きベクトルを求めて、画像フレームＦ(n)についての切り出し位置を算出する、ことを特徴とする請求項１１に記載の手振れ補正処理方法。
【請求項１５】
複数の画像フレームからなる動画像における手振れの影響を補正処理する請求項９〜１４の何れか１項に記載の手振れ補正処理方法と、
前記複数の画像フレームそれぞれの画素データについて前記手振れ補正処理方法による手振れ補正処理とは異なる画像処理を行う画像信号処理ステップと、
を備え、
前記画像信号処理ステップによる画像処理および前記手振れ補正処理方法による手振れ補正処理がなされた各画像フレームの画素データを出力する、
ことを特徴とする画像処理方法。
【請求項１６】
前記手振れ補正処理方法の前記補正量算出ステップでは、前記画像信号処理ステップで画像フレームＦ(n)について画像処理後の画素データを出力するときまでに該画像フレームＦ(n)についての切り出し位置を算出し、
前記手振れ補正処理方法の前記画像切り出し処理ステップでは、前記補正量算出ステップで算出された切り出し位置に基づいて、前記画像信号処理ステップから出力された該画像フレームＦ(n)中の部分範囲の画素データを切り出して、その切り出し後の画素データを出力する、
ことを特徴とする請求項１５に記載の画像処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、手振れ補正処理装置および手振れ補正処理方法に関するものである。
【背景技術】
【０００２】
カメラを手に持って動画像を撮影する際に手振れに因りカメラが動くと、取得される動画像に手振れの影響が現れる。このような手振れを補償する装置として、動画像における手振れの影響を補正処理する手振れ補正処理装置が知られている（特許文献１，２）。動画像に対する電子式の手振れ補正処理では、動画像を構成する複数の画像フレームのうち時間的に隣接する前後の画像フレームの画素データに基づいて、手振れに因る画像の動きベクトル（方向および量）が検出され、この動きベクトルの検出結果に基づいて画像フレーム中の部分範囲の画素データが切り出されることで手振れ補正処理が行われる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１５１００８号公報
【特許文献２】特開２００６−２４６２７０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような動きベクトル検出による手振れ補正処理では、補正対象の現時点の画像フレームの画素データがフレームメモリに保持される必要があり、また、過去の画像フレームの画素データもフレームメモリに保持される必要がある。一般にフレームメモリとしてＳＤＲＡＭ（Synchronous Dynamic Random Access Memory）等の大容量のものが用いられ、また、このＳＤＲＡＭを制御するための制御回路が必要となる。これらは、手振れ補正処理装置のコスト上昇の要因となり、また、手振れ補正処理装置を搭載するカメラシステムのコスト上昇の要因となる。
【０００５】
なお、特許文献２に記載された発明は、補正対象の現時点の画像フレームの画素データを保持するフレームメモリを不要としているものの、過去の画像フレームの画素データを保持するフレームメモリを依然として必要としている。
【０００６】
本発明は、上記問題点を解消する為になされたものであり、フレームメモリを使用することなく手振れ補正処理を行うことが可能な手振れ補正処理装置および手振れ補正処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の手振れ補正処理装置は、複数の画像フレームからなる動画像における手振れの影響を補正処理する装置であって、(1) 複数の画像フレームのうちの第ｎの画像フレームＦ(n)の画素データを入力する際の初期の所定期間に入力した画像フレームＦ(n)中の第１エリアの画素データと、画像フレームＦ(n)より前の第(ｎ−１)の画像フレームＦ(n-1)中の第１エリアの特徴点に関する情報とに基づいて、画像フレームＦ(n-1)から画像フレームＦ(n)までの期間Ｔ(n)の画像の動きベクトルを検出する動きベクトル検出部と、(2) 動きベクトル検出部により検出された画像の動きベクトルに基づいて画像フレームＦ(n)についての切り出し位置を算出する補正量算出部と、(3) 補正量算出部により算出された切り出し位置に基づいて画像フレームＦ(n)中の部分範囲の画素データを切り出して、その切り出し後の画素データを出力する画像切り出し処理部と、(4) 画像フレームＦ(n-1)中の特徴点に関する情報として、該特徴点の座標値を記憶するとともに、これと対応付けて該画像フレームのうち該特徴点を含む一部の画素ブロックの画素データを選択的に記憶する特徴点データメモリと、(5) 画像フレームＦ(n)のうち特徴点の座標値に対応する位置を含む一部の画素ブロックの画素データを選択的に記憶するサーチデータメモリと、を備えることを特徴とする。さらに、動きベクトル検出部が、特徴点データメモリに記憶された画像フレームＦ(n-1)中の特徴点に関する情報と、サーチデータメモリに記憶された画像フレームＦ(n)中の一部の画素ブロックの画素データとに基づいて、期間Ｔ(n)の画像の動きベクトルを検出することを特徴とする。
【０００８】
動きベクトル検出部は、(1) 各画像フレーム中の第１エリアにおける複数の特徴点を抽出する第１抽出部と、(2) 第１抽出部により抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを対応付けて特徴点データメモリに保存する第１保存部と、(3) 第１保存部により特徴点データメモリに保存された画像フレームＦ(n-1)中の第１エリアの各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを読み出し、画像フレームＦ(n-1)中の第１エリアの特徴点を含む画素ブロックの画素データと、サーチデータメモリに保存された画像フレームＦ(n)中の第１エリアにおいて該特徴点の座標値に対応する位置を含む画素ブロックの画素データとに基づいて、期間Ｔ(n)の第１エリアの各特徴点の動きベクトルを検出する第１検出部と、(4) 第１検出部により検出された期間Ｔ(n)の第１エリアの各特徴点の動きベクトルに基づいて、期間Ｔ(n)の画像の動きベクトルを算出する第１算出部と、を含むのが好適である。このとき、補正量算出部が、第１算出部により算出された期間Ｔ(n)の画像の動きベクトルに基づいて、画像フレームＦ(n)についての切り出し位置を算出するのが好適である。
【０００９】
動きベクトル検出部は、(1) 各画像フレーム中の第１エリア以外の第２エリアにおける複数の特徴点を抽出する第２抽出部と、(2) 第２抽出部により抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを対応付けて特徴点データメモリに保存する第２保存部と、(3) 第２保存部により特徴点データメモリに保存された画像フレームＦ(n-1)中の第２エリアの各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを読み出し、画像フレームＦ(n-1)中の第２エリアの特徴点を含む画素ブロックの画素データと、サーチデータメモリに保存された画像フレームＦ(n)中の第２エリアにおいて該特徴点の座標値に対応する位置を含む画素ブロックの画素データとに基づいて、期間Ｔ(n)の第２エリアの各特徴点の動きベクトルを検出する第２検出部と、(4) 第２検出部により検出された期間Ｔ(n)の第２エリアの各特徴点の動きベクトルに基づいて、期間Ｔ(n)の画像の動きベクトルを算出する第２算出部と、を更に含むのも好適である。このとき、補正量算出部が、第１算出部により算出された期間Ｔ(n)の画像の動きベクトルと、第２算出部により算出された期間Ｔ(n-1)の画像の動きベクトルとに基づいて、画像フレームＦ(n)についての切り出し位置を算出するのが好適である。
【００１０】
第１保存部は、第１抽出部により抽出された各特徴点の特徴量をも特徴点データメモリに保存するのが好適である。このとき、第１算出部は、第１検出部により検出された各特徴点の動きベクトルに対して、第１保存部により特徴点データメモリに保存された各特徴点の特徴量で重み付けを行って、期間Ｔ(n)の画像の動きベクトルを算出するのが好適である。
【００１１】
第２保存部は、第２抽出部により抽出された各特徴点の特徴量をも特徴点データメモリに保存するのが好適である。このとき、第２算出部は、第２検出部により検出された各特徴点の動きベクトルに対して、第２保存部により特徴点データメモリに保存された各特徴点の特徴量で重み付けを行って、期間Ｔ(n)の画像の動きベクトルを算出するのが好適である。
【００１２】
補正量算出部は、第１算出部により算出された期間Ｔ(n)の画像の動きベクトルと、第２算出部により算出された期間Ｔ(n-1)の画像の動きベクトルとに対して、重み付けを行って画像の動きベクトルを求めて、画像フレームＦ(n)についての切り出し位置を算出するのが好適である。
【００１３】
本発明の画像処理システムは、(1) 複数の画像フレームからなる動画像における手振れの影響を補正処理する上記の本発明の手振れ補正処理装置と、(2) 複数の画像フレームそれぞれの画素データについて手振れ補正処理装置による手振れ補正処理とは異なる画像処理を行う画像信号処理部と、を備えることを特徴とする。そして、本発明の画像処理システムは、画像信号処理部による画像処理および手振れ補正処理装置による手振れ補正処理がなされた各画像フレームの画素データを出力することを特徴とする。
【００１４】
手振れ補正処理装置の補正量算出部は、画像信号処理部が画像フレームＦ(n)について画像処理後の画素データを出力するときまでに該画像フレームＦ(n)についての切り出し位置を算出するのが好適である。このとき、手振れ補正処理装置の画像切り出し処理部は、補正量算出部により算出された切り出し位置に基づいて、画像信号処理部から出力された該画像フレームＦ(n)中の部分範囲の画素データを切り出して、その切り出し後の画素データを出力するのが好適である。
【００１５】
本発明の手振れ補正処理方法は、複数の画像フレームからなる動画像における手振れの影響を補正処理する方法であって、(1) 複数の画像フレームのうちの第ｎの画像フレームＦ(n)の画素データを入力する際の初期の所定期間に入力した画像フレームＦ(n)中の第１エリアの画素データと、画像フレームＦ(n)より前の第(ｎ−１)の画像フレームＦ(n-1)中の第１エリアの特徴点に関する情報とに基づいて、画像フレームＦ(n-1)から画像フレームＦ(n)までの期間Ｔ(n)の画像の動きベクトルを検出する動きベクトル検出ステップと、(2) 動きベクトル検出ステップで検出された画像の動きベクトルに基づいて画像フレームＦ(n)についての切り出し位置を算出する補正量算出ステップと、(3) 補正量算出ステップで算出された切り出し位置に基づいて画像フレームＦ(n)中の部分範囲の画素データを切り出して、その切り出し後の画素データを出力する画像切り出し処理ステップと、を備えることを特徴とする。さらに、動きベクトル検出ステップにおいて、画像フレームＦ(n-1)中の特徴点に関する情報として、該特徴点の座標値を記憶するとともに、これと対応付けて該画像フレームのうち該特徴点を含む一部の画素ブロックの画素データを選択的に記憶する特徴点データメモリと、画像フレームＦ(n)のうち特徴点の座標値に対応する位置を含む一部の画素ブロックの画素データを選択的に記憶するサーチデータメモリと、を用いて、特徴点データメモリに記憶された画像フレームＦ(n-1)中の特徴点に関する情報と、サーチデータメモリに記憶された画像フレームＦ(n)中の一部の画素ブロックの画素データとに基づいて、期間Ｔ(n)の画像の動きベクトルを検出することを特徴とする。
【００１６】
動きベクトル検出ステップは、(1) 各画像フレーム中の第１エリアにおける複数の特徴点を抽出する第１抽出ステップと、(2) 第１抽出ステップで抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを対応付けて特徴点データメモリに保存する第１保存ステップと、(3) 第１保存ステップで特徴点データメモリに保存された画像フレームＦ(n-1)中の第１エリアの各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを読み出し、画像フレームＦ(n-1)中の第１エリアの特徴点を含む画素ブロックの画素データと、サーチデータメモリに保存された画像フレームＦ(n)中の第１エリアにおいて該特徴点の座標値に対応する位置を含む画素ブロックの画素データとに基づいて、期間Ｔ(n)の第１エリアの各特徴点の動きベクトルを検出する第１検出ステップと、(4) 第１検出ステップで検出された期間Ｔ(n)の第１エリアの各特徴点の動きベクトルに基づいて、期間Ｔ(n)の画像の動きベクトルを算出する第１算出ステップと、を含むのが好適である。このとき、補正量算出ステップでは、第１算出ステップで算出された期間Ｔ(n)の画像の動きベクトルに基づいて、画像フレームＦ(n)についての切り出し位置を算出するのが好適である。
【００１７】
動きベクトル検出ステップは、(1) 各画像フレーム中の第１エリア以外の第２エリアにおける複数の特徴点を抽出する第２抽出ステップと、(2) 第２抽出ステップで抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを対応付けて特徴点データメモリに保存する第２保存ステップと、(3) 第２保存ステップで特徴点データメモリに保存された画像フレームＦ(n-1)中の第２エリアの各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを読み出し、画像フレームＦ(n-1)中の第２エリアの特徴点を含む画素ブロックの画素データと、サーチデータメモリに保存された画像フレームＦ(n)中の第２エリアにおいて該特徴点の座標値に対応する位置を含む画素ブロックの画素データとに基づいて、期間Ｔ(n)の第２エリアの各特徴点の動きベクトルを検出する第２検出ステップと、(4) 第２検出ステップで検出された期間Ｔ(n)の第２エリアの各特徴点の動きベクトルに基づいて、期間Ｔ(n)の画像の動きベクトルを算出する第２算出ステップと、を更に含むのが好適である。このとき、補正量算出ステップでは、第１算出ステップで算出された期間Ｔ(n)の画像の動きベクトルと、第２算出ステップで算出された期間Ｔ(n-1)の画像の動きベクトルとに基づいて、画像フレームＦ(n)についての切り出し位置を算出するのが好適である。
【００１８】
第１保存ステップでは、第１抽出ステップで抽出された各特徴点の特徴量をも特徴点データメモリに保存するのが好適である。このとき、第１算出ステップでは、第１検出ステップで検出された各特徴点の動きベクトルに対して、第１保存ステップで特徴点データメモリに保存された各特徴点の特徴量で重み付けを行って、期間Ｔ(n)の画像の動きベクトルを算出するのが好適である。
【００１９】
第２保存ステップでは、第２抽出ステップで抽出された各特徴点の特徴量をも特徴点データメモリに保存するのが好適である。このとき、第２算出ステップでは、第２検出ステップで検出された各特徴点の動きベクトルに対して、第２保存ステップで特徴点データメモリに保存された各特徴点の特徴量で重み付けを行って、期間Ｔ(n)の画像の動きベクトルを算出するのが好適である。
【００２０】
補正量算出ステップでは、第１算出ステップで算出された期間Ｔ(n)の画像の動きベクトルと、第２算出ステップで算出された期間Ｔ(n-1)の画像の動きベクトルとに対して、重み付けを行って画像の動きベクトルを求めて、画像フレームＦ(n)についての切り出し位置を算出するのが好適である。
【００２１】
本発明の画像処理方法は、(1) 複数の画像フレームからなる動画像における手振れの影響を補正処理する上記の本発明の手振れ補正処理方法と、(2) 複数の画像フレームそれぞれの画素データについて手振れ補正処理方法による手振れ補正処理とは異なる画像処理を行う画像信号処理ステップと、を備えることを特徴とする。さらに、本発明の画像処理方法は、画像信号処理ステップによる画像処理および手振れ補正処理方法による手振れ補正処理がなされた各画像フレームの画素データを出力することを特徴とする。
【００２２】
手振れ補正処理方法の補正量算出ステップでは、画像信号処理ステップで画像フレームＦ(n)について画像処理後の画素データを出力するときまでに該画像フレームＦ(n)についての切り出し位置を算出するのが好適である。このとき、手振れ補正処理方法の画像切り出し処理ステップでは、補正量算出ステップで算出された切り出し位置に基づいて、画像信号処理ステップから出力された該画像フレームＦ(n)中の部分範囲の画素データを切り出して、その切り出し後の画素データを出力するのが好適である。
【発明の効果】
【００２３】
本発明によれば、フレームメモリを使用することなく手振れ補正処理を行うことが可能である。
【図面の簡単な説明】
【００２４】
【図１】本実施形態の手振れ補正処理装置１０を備えるカメラシステム１の構成を示す図である。
【図２】動画像を構成する画像フレームＦ(n-2)，Ｆ(n-1)，Ｆ(n)，Ｆ(n+1) ，…の時間的順序を説明する図である。
【図３】画像フレームＦ(n)中の第１エリアおよび第２エリアを説明する図である。
【図４】画像信号処理部２０における画像フレームＦ(n)の入力タイミングおよび出力タイミングを示す図である。
【図５】本実施形態における特徴点抽出方法について説明する図である。
【図６】本実施形態の手振れ補正処理装置１０の動きベクトル検出部１１の構成を示すブロック図である。
【図７】本実施形態の手振れ補正処理方法を説明するフローチャートである。
【発明を実施するための形態】
【００２５】
以下、添付図面を参照して、本発明を実施するための形態を詳細に説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
【００２６】
図１は、本実施形態の手振れ補正処理装置１０を備えるカメラシステム１の構成を示す図である。カメラシステム１は、画像処理システム２，撮像部３０および表示部４０を備える。画像処理システム２は、手振れ補正処理装置１０および画像信号処理部２０を備える。また、手振れ補正処理装置１０は、動きベクトル検出部１１，補正量算出部１２，画像切り出し処理部１３，特徴点データメモリ１４およびサーチデータメモリ１５を含む。
【００２７】
撮像部３０は、被写体の光学像を電気信号に変換して出力するものであって、動画像を構成する複数の画像フレームそれぞれの画素データを手振れ補正処理装置１０および画像信号処理部２０へ出力する。撮像部３０として例えばＣＭＯＳイメージセンサやＣＣＤイメージセンサを含むカメラが用いられる。
【００２８】
画像信号処理部２０は、撮像部３０から出力された各画像フレームの画素データを入力し、各画像フレームの画素データについて手振れ補正処理とは異なる各種の画像処理（例えば、白バランス調整、ノイズ除去、ガンマ補正、色空間変換など）を行って、その処理後の画像フレームの画素データを出力する。
【００２９】
手振れ補正処理装置１０は、複数の画像フレームからなる動画像における手振れの影響を補正処理する。具体的には、手振れ補正処理装置１０は、撮像部３０から出力された各画像フレームの画素データを入力して、これに基づいて画像の動きベクトル（方向および量）を検出し、この検出した動きベクトルに基づいて画像フレームについての切り出し位置を算出する。そして、手振れ補正処理装置１０は、この算出された切り出し位置に基づいて、画像信号処理部２０から出力された画像フレームの画素データのうち部分範囲の画素データを切り出して、その切り出し後の画素データを表示部４０へ出力する。
【００３０】
表示部４０は、画像信号処理部２０による各種画像処理および手振れ補正処理装置１０による手振れ補正処理がなされた各画像フレームの画素データを入力して、動画像を表示する。
【００３１】
手振れ補正処理装置１０の詳細は以下のとおりである。なお、以下では、図２に示されるように、動画像を構成する複数の画像フレームのうち第ｎの画像フレームをＦ(n)と表し、画像フレームＦ(n-1)から画像フレームＦ(n)までの期間をＴ(n)と表す。画像フレームＦ(n-2)，Ｆ(n-1)，Ｆ(n)，Ｆ(n+1)，…の順に一定時間間隔で撮像部３０から画素データが出力される。また、以下では、第ｎの画像フレームＦ(n)の画素データについて手振れ補正処理をする場合について説明する。
【００３２】
動きベクトル検出部１１は、画像フレームＦ(n)の画素データを入力する際の初期の所定期間に入力した画像フレームＦ(n)中の第１エリアの画素データと、画像フレームＦ(n-1)中の第１エリアの特徴点に関する情報とに基づいて、期間Ｔ(n)の画像の動きベクトルを検出する。
【００３３】
特徴点データメモリ１４は、動きベクトル検出部１１が画像の動きベクトルを検出する際に抽出した画像フレームＦ(n)中の特徴点に関するデータを保存する。サーチデータメモリ１５は、動きベクトル検出部１１が画像の動きベクトルを検出する際に用いる画像フレームＦ(n)中の第１エリアの特徴点を含む画素ブロックの画素データを保存する。
【００３４】
動きベクトル検出部１１は、特徴点データメモリ１４に保存された画像フレームＦ(n-1)中の特徴点に関するデータと、サーチデータメモリ１５に保存された画像フレームＦ(n)中の第１エリアの画素データとに基づいて、期間Ｔ(n)の画像の動きベクトルを検出する。
【００３５】
なお、動きベクトル検出部１１は、各画像フレームＦ(n)の画素データを入力する際の初期の所定期間に入力した画像フレームＦ(n)中の第１エリアの特徴点に加えて、第１エリア以外の第２エリアの特徴点をも利用して、画像の動きベクトルを検出してもよい。
【００３６】
補正量算出部１２は、動きベクトル検出部１１により検出された画像の動きベクトルに基づいて画像フレームＦ(n)についての切り出し位置を算出する。そして、画像切り出し処理部１３は、補正量算出部１２により算出された切り出し位置に基づいて、画像信号処理部２０から出力された画像フレームＦ(n)中の部分範囲の画素データを切り出して、その切り出し後の画素データを出力する。
【００３７】
図３は、画像フレームＦ(n)中の第１エリアおよび第２エリアを説明する図である。撮像部３０から各画像フレームＦ(n)の画素データがラスタスキャン順で出力されて、該画像フレームＦ(n)の画素データが手振れ補正処理装置１０に入力されるものとする。すなわち、同図において、画像フレームＦ(n)の上から順に各行の画素データが手振れ補正処理装置１０に入力され、各行においては左から順に画素データが手振れ補正処理装置１０に入力されるものとする。このとき、画像フレームＦ(n)中の上部エリアを第１エリアＦ１(n)とすることができ、また、画像フレームＦ(n)中の中央部エリアを第２エリアＦ２(n)とすることができる。
【００３８】
図４は、画像信号処理部２０における画像フレームＦ(n)の入力タイミングおよび出力タイミングを示す図である。画像信号処理部２０が行う画像処理は、ノイズ除去処理に代表されるようなフィルタ処理を含み、画像フレームＦ(n)中の数行分の画素データを内部に保持することにより行われる。したがって、画像信号処理部２０からの画像フレームＦ(n)の出力タイミングは、画像信号処理部２０への該画像フレームＦ(n)の入力タイミングに対し数行分の遅延を有する。
【００３９】
そこで、補正量算出部１２は、画像信号処理部２０が画像フレームＦ(n)について画像処理後の画素データを出力するときまでに該画像フレームＦ(n)についての切り出し位置を算出するのが好適である。そして、画像切り出し処理部１３は、補正量算出部１２により算出された切り出し位置に基づいて、画像信号処理部から出力された該画像フレームＦ(n)中の部分範囲の画素データを切り出して、その切り出し後の画素データを出力するのが好適である。
【００４０】
次に、本実施形態における特徴点抽出方法について説明する。画像フレームＦ(n-1)から画像フレームＦ(n)までの期間Ｔ(n)の画像の動きベクトルを検出するために、画像の特徴点を用いることができる。画像の特徴点を用いることにより、動きベクトルを求める際の計算量を低減することができ、必要なメモリ容量をも低減することができ、また、画像の動きベクトルを高精度に検出することができる。
【００４１】
画像中の例えばエッジ部やコーナー部を特徴点として抽出する。画像中の隣接画素間の画素データの微分やHarrisオペレータによる評価により、特徴点を抽出することができる。また、その微分値やHarrisオペレータ評価値を該特徴点の特徴量とすることができる。なお、Harrisオペレータは、画像中の各画素データの間の相関性に基づいて特徴点を抽出する手法であって、画像中のエッジやコーナー等の特徴点において相関出力値が大きくなることを利用して特徴点を抽出することができる。
【００４２】
本実施形態では、画像フレームＦ(n)中の第１エリアＦ１(n)において複数個の特徴点を抽出することを基本とする。画像フレームＦ(n)中の第２エリアＦ２(n)においても複数個の特徴点を抽出してもよい。画像フレームＦ(n)中の第１エリアＦ１(n)の大きさ及び特徴点の抽出個数は、図４に示された画像信号処理部２０における画像フレームＦ(n)の入力タイミングから出力タイミングまでの遅延時間に対応することができるように設定されるのが好ましい。画像フレームＦ(n)中の第１エリアＦ１(n)の大きさは例えば１０行分とすることができる。
【００４３】
特徴点の抽出個数が少なすぎると、特徴点の動きベクトルに基づいて算出される画像の動きベクトルの精度が低下する。一方、特徴点の抽出個数が多すぎると、特徴点データメモリ１４およびサーチデータメモリ１５それぞれの必要容量が大きくなる。これらの観点から特徴点の抽出個数は適当な数に設定される。例えば、第１エリアＦ１(n)における特徴点の抽出個数を１０とし、第２エリアＦ２(n)における特徴点の抽出個数を５０とする。特徴量が大きいものを選んで特徴点を抽出する。また、第１エリアＦ１(n)および第２エリアＦ２(n)それぞれにおいて、選択される特徴点が局所領域に偏らないようにするのが好ましく、その為に各エリアをさらに細区分して、区分された各領域内で１つの特徴点を選択するのが好ましい。
【００４４】
図５は、本実施形態における特徴点抽出方法について説明する図である。同図には、第１エリアＦ１(n)および第２エリアＦ２(n)を含む画像フレームＦ(n)に加えて、画像フレームＦ(n-1)中の特徴点Ｐを含む画素ブロックＢｐ(n-1)、および、画像フレームＦ(n)中の該特徴点Ｐの座標値に対応する位置を含む画素ブロックＢｓ(n) も示されている。画素ブロックＢｐ(n-1)は特徴点Ｐを中心とする例えば５×５画素のブロックであって、画素ブロックＢｐ(n-1)の画素データは特徴点データメモリ１４により保持される。画素ブロックＢｓ(n)は特徴点Ｐの対応位置を中心とする例えば横１３画素×縦９画素のブロックであって、画素ブロックＢｓ(n)の画素データはサーチデータメモリ１５により保持される。
【００４５】
動きベクトル検出部１１は、画像フレームＦ(n-1)中の特徴点Ｐを含む画素ブロックＢｐ(n-1)の画素データと、画像フレームＦ(n)中の該特徴点Ｐの対応位置を含む画素ブロックＢｓ(n)の画素データとに基づいて、特徴点Ｐの動きベクトルを検出する。具体的には、動きベクトル検出部１１は、一般に知られている画像間の類似性を評価する手法であるブロックマッチング法を用いる。すなわち、動きベクトル検出部１１は、画素ブロックＢｐ(n-1)をベクトル（Ｖｘ，Ｖｙ）だけ移動させたものと画素ブロックＢｓ(n)とから、互いに対応する位置にある各画素データの差分の絶対値和ＳＡＤ（Sum of Absolute Difference）を両者間の類似度の評価値として求める。そして、動きベクトル検出部１１は、Ｖｘ，Ｖｙを画素単位で様々な値に設定して絶対値和ＳＡＤを求めて、その絶対値和ＳＡＤが最小となるときのベクトル（Ｖｘ，Ｖｙ）を特徴点Ｐの動きベクトルとする。
【００４６】
図６は、本実施形態の手振れ補正処理装置１０の動きベクトル検出部１１の構成を示すブロック図である。動きベクトル検出部１１は、第１抽出部５１，第１保存部５２，第１検出部５３および第１算出部５４を含み、これらにより第１エリアＦ１(n)の画素データの処理を行う。好適には、動きベクトル検出部１１は、第２抽出部６１，第２保存部６２，第２検出部６３および第２算出部６４を更に含み、これらにより第２エリアＦ２(n)の画素データの処理を行う。
【００４７】
なお、図６はベクトル検出部１１の機能ブロックを示している。各画像フレームＦ(n)の第１エリアＦ１(n)の画素データの処理の後に第２エリアＦ２(n)の画素データの処理が行われるので、第１抽出部５１と第２抽出部６１とは共通の回路により実現されてもよく、第１検出部５３と第２検出部６３とは共通の回路により実現されてもよく、また、第１算出部５４と第２算出部６４とは共通の回路により実現されてもよい。
【００４８】
第１抽出部５１は、各画像フレームＦ(n)中の第１エリアＦ１(n)における複数の特徴点を抽出する。第１保存部５２は、第１抽出部５１により抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを対応付けて特徴点データメモリ１４に保存する。好適には、第１保存部５２は、第１抽出部５２により抽出された各特徴点の特徴量をも特徴点データメモリ１４に保存する。
【００４９】
第１検出部５３は、第１保存部５２により特徴点データメモリ１４に保存された画像フレームＦ(n-1)中の第１エリアＦ１(n-1)の各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを読み出し、画像フレームＦ(n-1)中の第１エリアＦ１(n-1)の特徴点を含む画素ブロックＢｐ(n-1)の画素データと、画像フレームＦ(n)中の第１エリアＦ１(n)において該特徴点の座標値に対応する位置を含む画素ブロックＢｓ(n)の画素データとに基づいて、期間Ｔ(n)の第１エリアの各特徴点の動きベクトルを検出する。
【００５０】
第１算出部５４は、第１検出部５３により検出された期間Ｔ(n)の第１エリアの各特徴点の動きベクトルに基づいて、期間Ｔ(n)の画像の動きベクトルを算出する。好適には、第１算出部５４は、第１検出部５１により検出された各特徴点の動きベクトルに対して、第１保存部５２により保存された各特徴点の特徴量で重み付けを行って、期間Ｔ(n)の画像の動きベクトルを算出する。
【００５１】
第１算出部５４により算出される期間Ｔ(n)の画像の動きベクトル（Ｖ1x，Ｖ1y）は下記（１）式で表される。ここで、Ｖ1x(i)は第１エリアの特徴点ｉにおける動きベクトルの水平成分であり、Ｖ1y(i)は第１エリアの特徴点ｉにおける動きベクトルの垂直成分であり、Ｗ1(i)は第１エリアの特徴点ｉの特徴量である。
【００５２】
【数１】
0005869833.tif 000002
【００５３】
第２抽出部６１は、各画像フレームＦ(n)中の第２エリアＦ２(n)における複数の特徴点を抽出する。第２保存部６２は、第２抽出部６１により抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを対応付けて特徴点データメモリ１４に保存する。好適には、第２保存部６２は、第２抽出部６１により抽出された各特徴点の特徴量をも特徴点データメモリ１４に保存する。
【００５４】
第２検出部６３は、第２保存部６２により特徴点データメモリ１４に保存された画像フレームＦ(n-1)中の第２エリアＦ２(n-1)の各特徴点の座標値と該特徴点を含む画素ブロックの画素データとを読み出し、画像フレームＦ(n-1)中の第２エリアＦ２(n-1)の特徴点を含む画素ブロックＢｐ(n-1)の画素データと、画像フレームＦ(n)中の第２エリアＦ２(n)において該特徴点の座標値に対応する位置を含む画素ブロックＢｓ(n)の画素データとに基づいて、期間Ｔ(n)の第２エリアの各特徴点の動きベクトルを検出する。
【００５５】
第２算出部６４は、第２検出部６３により検出された期間Ｔ(n)の第２エリアの各特徴点の動きベクトルに基づいて、期間Ｔ(n)の画像の動きベクトルを算出する。好適には、第２算出部６４は、第２検出部６１により検出された各特徴点の動きベクトルに対して、第２保存部６２により保存された各特徴点の特徴量で重み付けを行って、期間Ｔ(n)の画像の動きベクトルを算出する。
【００５６】
第２算出部６４により算出される期間Ｔ(n)の画像の動きベクトル（Ｖ2x，Ｖ2y）は下記（２）式で表される。ここで、Ｖ2x(i)は第２エリアの特徴点ｉにおける動きベクトルの水平成分であり、Ｖ2y(i)は第２エリアの特徴点ｉにおける動きベクトルの垂直成分であり、Ｗ2(i)は第２エリアの特徴点ｉの特徴量である。
【００５７】
【数２】
0005869833.tif 000003
【００５８】
補正量算出部１２は、第１算出部５４により算出された期間Ｔ(n)の画像の動きベクトル（Ｖ1x，Ｖ1y）に基づいて、画像フレームＦ(n)についての切り出し位置を算出する。好適には、補正量算出部１２は、第１算出部５４により算出された期間Ｔ(n)の画像の動きベクトル（Ｖ1x，Ｖ1y）と、第２算出部６４により算出された期間Ｔ(n-1)の画像の動きベクトル（Ｖ2x，Ｖ2y）とに基づいて、画像フレームＦ(n)についての切り出し位置を算出する。更に好適には、補正量算出部１２は、第１算出部５４により算出された期間Ｔ(n)の画像の動きベクトル（Ｖ1x，Ｖ1y）と、第２算出部６４により算出された期間Ｔ(n-1)の画像の動きベクトル（Ｖ2x，Ｖ2y）とに対して重み付けを行って画像の動きベクトル（Ｍx，Ｍy）を求め、これに基づいて画像フレームＦ(n)についての切り出し位置を算出する。
【００５９】
補正量算出部１２により算出される画像の動きベクトル（Ｍx，Ｍy）は下記（３）式で表される。ここで、ΣＷ1(i)およびＷ2それぞれは重み付けの係数である。重み付け係数Ｗ2は、固定値であってもよく、外部から設定可能であってもよい。重み付け係数Ｗ2は、ｋΣＷ2(i)であってもよく、係数ｋが外部から設定可能であってもよい。ΣＷ1(i)に替えて固定値が用いられてもよい。
【００６０】
【数３】
0005869833.tif 000004
【００６１】
この（３）式が表していることは以下のとおりである。本実施形態における手振れ補正処理では、画像フレーム中の第１エリアの特徴点の動きベクトルに基づいて画像の動きベクトルを求めることを基本とする。しかし、画像フレームの画像の絵柄によっては第１エリアのみでは正確な動きベクトルを検出することができない場合がある。代表的な例としては、第１エリア（例えば画面上部）の絵柄が極端に平坦であって、特徴をもった特徴点が第１エリアにおいて検出されない場合である。このような画像に対してブロックマッチング処理を行うと、画像の特徴よりランダムなノイズ成分に対してマッチングを行ってしまう可能性が高く、手振れ補正処理という目的に対して不適切な動きベクトルが得られてしまう場合がある。
【００６２】
このような場合、第１算出部５４により算出された期間Ｔ(n)の画像の動きベクトル（Ｖ1x，Ｖ1y）より、時刻は１フレーム分だけ過去とはなるが第２算出部６４により算出された期間Ｔ(n-1)の画像の動きベクトル（Ｖ2x，Ｖ2y）のほうが、確率的には真の動きベクトルに近い値をとる可能性が高い。そこで、本実施形態では、画像フレームＦ(n-1)の第２エリアＦ２(n-1)で検出した動きベクトルの値を加味する意図で、特徴量で重みづけを行う。
【００６３】
上記（３）式によれば、第１エリアの絵柄が平坦な場合には、上式の特徴量Ｗ1(i)が小さい値をとり、画像フレームＦ(n)の第１エリアＦ１(n)で検出した動きベクトルの重みと比べて、画像フレームＦ(n-1)の第２エリアＦ２(n-1)で検出した動きベクトルの重みが相対的に大きくなる。重み付け係数Ｗ2は実際のシステム上で適当に決定されればよい。
【００６４】
次に、本実施形態の手振れ補正処理装置１０の動作について説明するとともに、本実施形態の手振れ補正処理方法について説明する。図７は、本実施形態の手振れ補正処理方法を説明するフローチャートである。ここでは、手振れ補正処理装置１０に画像フレームＦ(n)の画素データが入力されたときに行われる処理を説明する。本実施形態の手振れ補正処理方法は、ステップＳ１０〜Ｓ１９を含む動きベクトル検出ステップ，補正量算出ステップＳ２０および画像切り出し処理ステップＳ３０を備える。
【００６５】
ステップＳ１０では、撮像部３０から出力された画像フレームＦ(n)の画素データがラスタスキャン順で動きベクトル検出部１１に入力される。画像フレームＦ(n)の入力期間のうちの初期の所定期間に動きベクトル検出部１１に入力された第１エリアＦ１(n)の画素データは、第１抽出部５１および第１検出部５３に入力されて、ステップＳ１１〜Ｓ１４の処理が行われる。
【００６６】
第１抽出ステップＳ１１では、第１抽出部５１により、画像フレームＦ(n)中の第１エリアＦ１(n)における複数の特徴点が抽出される。第１保存ステップＳ１２では、第１保存部５２により、第１抽出ステップＳ１１で抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データと該特徴点の特徴量とが対応付けられて特徴点データメモリ１４に保存される。
【００６７】
第１検出ステップＳ１３では、第１検出部５３により、第１保存ステップＳ１２で特徴点データメモリ１４に保存された画像フレームＦ(n-1)中の第１エリアＦ１(n-1)の各特徴点の座標値と該特徴点を含む画素ブロックの画素データとが読み出され、画像フレームＦ(n-1)中の第１エリアＦ１(n-1)の特徴点を含む画素ブロックＢｐ(n-1)の画素データと、画像フレームＦ(n)中の第１エリアＦ１(n)において該特徴点の座標値に対応する位置を含む画素ブロックＢｓ(n)の画素データとに基づいて、期間Ｔ(n)の第１エリアの各特徴点の動きベクトルが検出される。
【００６８】
第１算出ステップＳ１４では、第１算出部５４により、第１保存ステップＳ１２で特徴点データメモリ１４に保存された画像フレームＦ(n-1)中の第１エリアＦ１(n-1)の各特徴点の特徴量が読み出され、第１検出ステップＳ１３で検出された各特徴点の動きベクトルに対して各特徴点の特徴量で重み付けが行われて、期間Ｔ(n)の画像の動きベクトル（Ｖ1x，Ｖ1y）が算出される（上記（１）式）。
【００６９】
画像フレームＦ(n)の第１エリアＦ１(n)の画素データの後に動きベクトル検出部１１に入力された第２エリアＦ２(n)の画素データは、第２抽出部６１および第２検出部６３に入力されて、ステップＳ１６〜Ｓ１９の処理が行われる。
【００７０】
第２抽出ステップＳ１６では、第２抽出部６１により、画像フレームＦ(n)中の第２エリアＦ２(n)における複数の特徴点が抽出される。第２保存ステップＳ１７では、第２保存部６２により、第２抽出ステップＳ１６で抽出された各特徴点の座標値と該特徴点を含む画素ブロックの画素データと該特徴点の特徴量とが対応付けられて特徴点データメモリ１４に保存される。
【００７１】
第２検出ステップＳ１８では、第２検出部６３により、第２保存ステップＳ１７で特徴点データメモリ１４に保存された画像フレームＦ(n-1)中の第２エリアＦ２(n-1)の各特徴点の座標値と該特徴点を含む画素ブロックの画素データとが読み出され、画像フレームＦ(n-1)中の第２エリアＦ２(n-1)の特徴点を含む画素ブロックＢｐ(n-1)の画素データと、画像フレームＦ(n)中の第２エリアＦ２(n)において該特徴点の座標値に対応する位置を含む画素ブロックＢｓ(n)の画素データとに基づいて、期間Ｔ(n)の第２エリアの各特徴点の動きベクトルが検出される。
【００７２】
第２算出ステップＳ１９では、第２算出部６４により、第２保存ステップＳ１７で特徴点データメモリ１４に保存された画像フレームＦ(n-1)中の第２エリアＦ２(n-1)の各特徴点の特徴量が読み出され、第２検出ステップＳ１８で検出された各特徴点の動きベクトルに対して各特徴点の特徴量で重み付けが行われて、期間Ｔ(n)の画像の動きベクトル（Ｖ2x，Ｖ2y）が算出される（上記（２）式）。
【００７３】
第１抽出ステップＳ１１および第１保存ステップＳ１２と、第１検出ステップＳ１３および第１算出ステップＳ１４とは、並列処理が可能である。また、第２抽出ステップＳ１６および第２保存ステップＳ１７と、第２検出ステップＳ１８および第２算出ステップＳ１９とは、並列処理が可能である。第１算出ステップＳ１４の後に補正量算出ステップＳ２０が行われる。
【００７４】
補正量算出ステップＳ２０では、補正量算出部１２により、第１算出ステップＳ１４で算出された期間Ｔ(n)の画像の動きベクトル（Ｖ1x，Ｖ1y）と、第２算出ステップＳ１９で算出された期間Ｔ(n-1)の画像の動きベクトル（Ｖ2x，Ｖ2y）とに対して重み付けが行われて画像の動きベクトル（Ｍx，Ｍy）が求められ（上記（３）式）、これに基づいて画像フレームＦ(n)についての切り出し位置が算出される。
【００７５】
画像切り出し処理ステップＳ３０では、画像切り出し処理部１３により、補正量算出ステップＳ２０で算出された切り出し位置に基づいて、画像信号処理部２０による画像信号処理ステップで画像処理がなされて出力された画像フレームＦ(n)中の部分範囲の画素データが切り出されて、その切り出し後の画素データが出力される。
【００７６】
そして、画像信号処理部２０による各種画像処理および手振れ補正処理装置１０による手振れ補正処理がなされた各画像フレームの画素データが表示部４０に入力されて、手振れの影響が低減された動画像が表示部４０により表示される。
【００７７】
本実施形態では、特徴点を抽出して手振れ補正処理をする際に、動きベクトル検出部１１の第１抽出部５１および第２抽出部６１が抽出した画像フレームＦ(n)中の特徴点に関するデータ（特徴点の座標値、特徴点の特徴量、特徴点を含む画素ブロックＢｐ(n)の画素データ）を特徴点データメモリ１４に保存するとともに、動きベクトル検出部１１の第１検出部５３および第２検出部６３が画像の動きベクトルを検出する際に用いる画像フレームＦ(n)中の一部の画素ブロックＢｓ(n)の画素データをサーチデータメモリ１５に保存すればよいので、フレームメモリを使用することなく手振れ補正処理を行うことが可能である。したがって、本実施形態では、手振れ補正処理装置１０のコストを抑えることが可能であり、カメラシステム１や画像処理システム２のコストをも抑えることが可能である。
【００７８】
また、本実施形態では、画像フレームＦ(n)の第１エリアＦ１(n)についての第１算出部５４による処理（第１算出ステップＳ１４）が終了すると、補正量算出部１２による処理（補正量算出ステップＳ２０）が行われるので、画像信号処理部２０が画像フレームＦ(n)について画像処理後の画素データを出力するときまでに補正量算出部１２による切り出し位置算出の処理（補正量算出ステップＳ２０）の終了が可能となる。しがたって、本実施形態では、カメラシステム１における動画像処理で必要とされるリアルタイム処理が可能である。
【符号の説明】
【００７９】
１…カメラシステム、２…画像処理システム、１０…手振れ補正処理装置、１１…動きベクトル検出部、１２…補正量算出部、１３…画像切り出し処理部、１４…特徴点データメモリ、１５…サーチデータメモリ、２０…画像信号処理部、３０…撮像部、４０…表示部、５１…第１抽出部、５２…第１保存部、５３…第１検出部、５４…第１算出部、６１…第２抽出部、６２…第２保存部、６３…第２検出部、６４…第２算出部。
【図１】
0005869833.tif 000005
【図２】
0005869833.tif 000006
【図４】
0005869833.tif 000007
【図５】
0005869833.tif 000008
【図６】
0005869833.tif 000009
【図７】
0005869833.tif 000010
【図３】
0005869833.tif 000011