(57)【特許請求の範囲】
【請求項１】
像ブレ補正手段によって画像の像ブレを補正する像ブレ補正装置であって、
撮像された画像の画像データから検出される動きベクトルの座標演算を行う演算手段と、
前記演算手段により座標演算が行われていない動きベクトルを用いて像ブレ補正を制御する第１の制御と、前記演算手段により座標演算が行われた動きベクトルを用いて像ブレ補正を制御する第２の制御を行う制御手段を備えることを特徴とする像ブレ補正装置。
【請求項２】
前記制御手段は、前記第１の制御にて前記像ブレ補正手段により、撮像光学系の制御を行うことで像ブレ補正を制御することを特徴とする請求項１に記載の像ブレ補正装置。
【請求項３】
前記制御手段は、前記第２の制御にて前記像ブレ補正手段による前記画像データの画像処理の制御を行うことを特徴とする請求項１に記載の像ブレ補正装置。
【請求項４】
像ブレ補正手段によって画像の像ブレを補正する像ブレ補正装置であって、
撮像された画像の画像データから検出される動きベクトルの座標演算と、前記画像データの幾何変形処理を行う演算手段と、
前記演算手段により座標演算が行われていない動きベクトルを用いて像ブレ補正を制御する第１の制御と、前記演算手段により座標演算が行われた動きベクトルを用いて像ブレ補正を制御する第２の制御を行う制御手段と、を備え、
前記制御手段は前記第２の制御にて、前記座標演算が行われた動きベクトルを用いて行われる前記幾何変形処理を前記演算手段に実行させることを特徴とする像ブレ補正装置。
【請求項５】
前記演算手段は、前記幾何変形処理を実行していないときに前記動きベクトルの座標演算を行い、前記制御手段は座標演算が行われた前記動きベクトルを取得し、
前記演算手段は、前記幾何変形処理を実行しているときには前記動きベクトルの座標演算を行わず、前記制御手段は前記座標演算が行われていない動きベクトルを取得することを特徴とする請求項４に記載の像ブレ補正装置。
【請求項６】
請求項１から５のいずれか１項に記載の像ブレ補正装置と、
撮像された画像に対して検出枠を配置して動きベクトルを算出するベクトル検出手段を備えることを特徴とする撮像装置。
【請求項７】
画像の像ブレを補正する像ブレ補正手段を有する撮像光学系と、
撮像された画像に対して検出枠を配置して動きベクトルを算出するベクトル検出手段と、
前記ベクトル検出手段により算出された動きベクトルの座標演算を行い、撮像された画像の画像データに幾何変形処理を行う演算手段と、
前記演算手段により座標演算が行われていない動きベクトルを用いて、前記像ブレ補正手段により像ブレ補正を制御する第１の制御と、前記演算手段により座標演算が行われた動きベクトルを用いて、前記演算手段により像ブレ補正を制御する第２の制御を行う制御手段と、を備え、
前記演算手段は、前記幾何変形処理を実行していないときに前記動きベクトルの座標演算を行い、座標演算が行われた前記動きベクトルを前記制御手段に出力し、前記幾何変形処理を実行しているときには前記動きベクトルの座標演算を行わず、前記制御手段は前記座標演算が行われていない動きベクトルを取得することを特徴とする撮像装置。
【請求項８】
撮像された前記画像データを取得して画像を表示する表示手段をさらに備え、
前記制御手段は、前記演算手段により座標演算が行われていない前記動きベクトルを用いて画像処理を行った前記画像データを前記表示手段に表示させる制御を行うことを特徴とする請求項６または７に記載の撮像装置。
【請求項９】
前記制御手段は前記第１の制御にて、前記ベクトル検出手段より、座標演算が行われる前の動きベクトルを前記検出枠ごとに取得することを特徴とする請求項６から８のいずれか１項に記載の撮像装置。
【請求項１０】
前記制御手段は前記第１の制御にて、前記ベクトル検出手段より、複数の前記検出枠を含む列または行ごとに、座標演算が行われる前の動きベクトルを取得することを特徴とする請求項６から８のいずれか１項に記載の撮像装置。
【請求項１１】
前記制御手段は、前記演算手段により座標演算が行われていない動きベクトルを用いて、前記像ブレ補正手段の駆動により画角制御を行うことを特徴とする請求項６から１０のいずれか１項に記載の撮像装置。
【請求項１２】
前記演算手段により座標演算が行われた動きベクトルを用いて、複数の画像の位置合わせを行って合成する画像合成手段をさらに備えることを特徴とする請求項６から１１のいずれか１項に記載の撮像装置。
【請求項１３】
前記制御手段は、撮像された画像から被写体像を検出して、当該被写体像を追跡しながら画角調節を制御する際、前記演算手段により座標演算が行われていない動きベクトルを用いて、画角調節用のレンズの駆動制御を行うことを特徴とする請求項６から１０のいずれか１項に記載の撮像装置。
【請求項１４】
像ブレ補正手段によって画像の像ブレを補正する像ブレ補正装置にて実行される像ブレ補正方法であって、
撮像された画像の画像データから動きベクトルを検出する検出工程と、
前記検出工程にて検出された前記動きベクトルの座標演算を演算手段が行う演算工程と、
前記演算手段により座標演算が行われていない動きベクトルを用いて像ブレ補正を制御する第１の制御と、前記演算手段により座標演算が行われた動きベクトルを用いて像ブレ補正を制御する第２の制御を行う制御工程を有することを特徴とする像ブレ補正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像から動きベクトルを検出するベクトル検出処理に関する。
【背景技術】
【０００２】
撮像装置では、撮影者の手振れ等に起因する像ブレの補正装置が知られている。特許文献１に開示の装置は、撮像された複数フレームの画像データをメモリに保持し、前後のフレーム間で画像を比較（テンプレートマッチング）して動きベクトルを検出する。動きベクトルによって手振れ量を算出することで、像ブレを抑圧する処理が行われる。また、特許文献２には、画像の幾何変形処理によって、光学系の歪曲収差や、撮像センサのローリングシャッター歪み、像ブレの回転成分を補正する技術が開示されている。
【０００３】
図１２を参照して、幾何変形処理について説明する。図１２（Ａ）は幾何変形処理前の元画像を例示し、図１２（Ｂ）は幾何変形処理後の画像例を示す。図１２（Ａ）および（Ｂ）において、撮像領域１２０１内に１点鎖線で出力画領域１２０２の枠を示す。動きベクトルの検出枠１２０３を矩形枠で示し、検出枠１２０３内には、それぞれの重心１２０４を起点とする動きベクトル１２０５を示す。像ブレ補正処理を行うための手振れ量の算出処理は、時間遅れなくリアルタイムで算出されることが望ましい。そのために、幾何変形処理による歪み補正前の画像である、図１２（Ａ）の元画像を用いて動きベクトル検出が行われる。しかし、実際の出力画像は、幾何変形処理による歪み補正後の画像、つまり図１２（Ｂ）の画像である。このため、検出枠１２０３、重心１２０４、動きベクトル１２０５が歪んでしまうと、動きベクトルの精度が低下するという問題が生じる。この問題を解決するために、動きベクトルに対して、画像の変形量を考慮した座標変換処理（アフィン変換）を実施し、動きベクトルの歪みを補正する技術が特許文献３に開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２６１７５７号公報
【特許文献２】特開２００６−１２７０８３号公報
【特許文献３】特開２００９−２５８８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、幾何変形処理における画像の変形量の算出および座標変換処理は一般的に計算負荷が大きいため、ハードウェア処理が望ましいが、回路規模が大きくなることが問題である。そこで解決策として、座標演算処理部と回路リソースを共有することによって、動きベクトルの歪みを補正することが考えられる。しかし、この場合には、画像の幾何変形処理が実施されていない期間に、動きベクトルの補正処理を実施する必要があるため、動きベクトル値が使用可能となるまでに遅延時間が生じることが懸念される。処理例の詳細については図１３および図１４を用いて後述する。
【０００６】
本発明は、像ブレ補正装置において、座標演算が行われていない動きベクトルを用いる迅速な像ブレ補正と、座標演算が行われた動きベクトルを用いる、より正確な像ブレ補正を実現することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る装置は、像ブレ補正手段によって画像の像ブレを補正する像ブレ補正装置であって、撮像された画像の画像データから検出される動きベクトルの座標演算を行う演算手段と、前記演算手段により座標演算が行われていない動きベクトルを用いて像ブレ補正を制御する第１の制御と、前記演算手段により座標演算が行われた動きベクトルを用いて像ブレ補正を制御する第２の制御を行う制御手段を備える。
【発明の効果】
【０００８】
本発明によれば、像ブレ補正装置において、座標演算が行われていない動きベクトルを用いる迅速な像ブレ補正と、座標演算が行われた動きベクトルを用いる、より正確な像ブレ補正を実現できる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１実施形態に係る撮像装置の構成例を示すブロック図である。
【図２】動きベクトル検出におけるテンプレート配置例を示す図である。
【図３】幾何変形処理の概念図である。
【図４】第１実施形態における座標演算処理部の構成例を示す図である。
【図５】第１実施形態における像ブレ補正制御を説明するフローチャートである。
【図６】第１実施形態における像ブレ補正制御のタイミングチャートである。
【図７】ベクトル検出結果のヒストグラムを示す図である。
【図８】ベクトル補正時の座標演算処理部の構成を示す図である。
【図９】幾何変形処理時とベクトル補正時の歪曲収差補正パラメータの説明図である。
【図１０】本発明の第２実施形態に係る撮像装置の構成例を示すブロック図である。
【図１１】図１０の撮像光学系１０１による画角制御の説明図である。
【図１２】ベクトル補正を説明する概念図である。
【図１３】ベクトル補正を行わない場合の像ブレ補正制御のタイミングチャートである。
【図１４】ベクトル補正を行う場合の像ブレ補正制御のタイミングチャートである。
【発明を実施するための形態】
【００１０】
以下に本発明の各実施形態を、添付図面にしたがって詳細に説明する。本発明は、デジタルカメラ、一眼レフレックスカメラ、ビデオカメラ、監視カメラ、Ｗｅｂカメラ、携帯電話等の撮像装置に適用可能である。
【００１１】
［第１実施形態］
図１は、本発明の第１実施形態に係る像ブレ補正装置を搭載した、実施例１としての撮像装置の構成例を示すブロック図である。撮像装置の撮像光学系１０１は、ズームレンズやフォーカスレンズ、像ブレ補正用レンズ等の光学部材を備える。
【００１２】
撮像素子１０２は、撮像光学系１０１を通して結像された光学像を光電変換して画像信号をメモリ１０３およびベクトル検出部１０４にそれぞれ出力する。撮像素子１０２が出力する画像信号はメモリ１０３に一旦保持される。メモリ１０３は、保持した画像信号をベクトル検出部１０４と幾何変形部１０５に出力する。
【００１３】
ベクトル検出部１０４は、撮像素子１０２が出力する画像信号と、メモリ１０３が出力する１フレーム前の画像信号を取得して比較することにより、動きベクトル（単にベクトルともいう）検出を行い、動きベクトル値を算出する。算出された動きベクトル値はシステム制御部１０６が取得する。
【００１４】
幾何変形部１０５は座標演算部１０５−２を備える。幾何変形部１０５は出力画素における幾何変形量に基づいて、幾何変形処理に必要となる画素群のアドレス（メモリ１０３のアドレス情報）を算出する。幾何変形部１０５は、幾何変形処理に必要となる画素群のアドレス信号をメモリ０１０３に出力する。メモリ１０３は、幾何変形部１０５から入力されたアドレス信号にしたがって、格納されている画像信号のうち、アドレス指定された画素群に相当する信号を幾何変形部１０５に出力する。幾何変形部１０５は、メモリ１０３から順次に読み出された画像信号と、幾何変形量に基づいて、出力画素における補間画素データを生成する。幾何変形による画像処理後の画像信号は、出力画像信号（像ブレ補正された画像信号）として出力される。例えば、画像信号は表示部１０７の画面に画像表示されるか、または記録部１０８によって記録媒体に画像データが記録される。
【００１５】
幾何変形部１０５内の座標演算部１０５−２は、ベクトル検出部１０４が算出した動きベクトル値を取得可能である。この動きベクトル値は、歪み補正前の動きベクトル値である。座標演算部１０５−２は、ベクトル検出部１０４から取得した動きベクトル値の歪み補正を行い、歪み補正後の動きベクトル値をベクトル検出部１０４へ出力する。
【００１６】
システム制御部１０６は、撮像装置全体を制御する中枢部であり、ＣＰＵ（中央演算処理装置）を備える。システム制御部１０６はＣＰＵが制御プログラムを実行することにより各種の処理を行う。例えばシステム制御部１０６は、撮像光学系１０１の焦点距離、絞り値、フォーカス距離（フォーカスレンズ位置に相当）等の情報を取得し、撮像素子１０２の駆動制御を行う。システム制御部１０６は、撮像光学系１０１を構成する像ブレ補正用レンズの駆動制御により像ブレ補正の制御を行い、フォーカスレンズの駆動制御により焦点調節を行う。またシステム制御部１０６は、ベクトル検出部１０４から動きベクトル値を取得する処理、およびベクトル検出部１０４に対する設定処理を行う。システム制御部１０６は幾何変形部１０５に対して、幾何変形処理およびベクトル歪み補正の設定処理を行う。
【００１７】
次に、本実施形態におけるベクトル検出部１０４の詳細について説明する。
ベクトル検出部１０４は、システム制御部１０６により決定されたテンプレート配置に基づいて、入力された２枚のフレーム画像間の動きベクトルを検出する。動きベクトル検出方法に関して本実施形態では、テンプレートマッチング方式を用いる。撮像素子１０２より取得される画像信号を原画像信号とし、メモリ１０３より入力される画像信号を参照画像信号とする。図２は原画像２０１におけるテンプレート配置を例示する。原画像２０１中の任意の位置にテンプレート２０２が配置される。テンプレート２０２の水平サイズはTX個分の画素に相当し、テンプレート２０２の垂直サイズはTY個分の画素に相当する。テンプレート配置に関しては、動きベクトルの探索範囲２０３のサイズを、左右方向にてSX個分の画素で示し、上下方向にてSY個分の画素で示す。隣り合うテンプレート２０２同士の距離（間隔）は、水平方向にてDX個分の画素で、垂直方向にてDY個分の画素で設定され、格子上に枠配置が為される。または、より少ないテンプレート数で、広範囲の動きベクトルを観察できるように、千鳥格子状にテンプレートを配置してもよい。尚、TX、TY、DX、DY、SX、SYの各パラメータ値については、目的に応じて任意の値に変更が可能である。
【００１８】
演算処理では、テンプレート２０２の画像と参照画像における各領域との相関値が算出される。参照画像の全領域に対して相関値を算出する場合、演算量が膨大となるため、実際には参照画像上の相関値を算出するための矩形領域が探索範囲２０３として設定される。探索範囲２０３の位置や大きさについては特に制限は無いが、探索範囲２０３の内部にテンプレート２０２の移動先に相当する領域が含まれていないと、正しい動きベクトルを検出することはできない。
【００１９】
本実施形態では、相関値の算出方法の一例として差分絶対値和（Ｓｕｍ  ｏｆ  Ａｂｓｏｌｕｔｅ  Ｄｉｆｆｅｒｅｎｃｅ、以下ではＳＡＤと略記する）を使用する。ＳＡＤの計算式を下記（式１）に示す。
【数１】
0006516574.tif 000002
（式１）において（ｉ，ｊ）はテンプレート２０２内の画像に対して設定される２次元座標を表す。ｆ（ｉ，ｊ）は座標（ｉ，ｊ）における画素値を表し、ｇ（ｉ，ｊ）は探索範囲２０３において相関値算出の対象となる領域内の座標（ｉ，ｊ）での画素値を表す。相関値算出の対象領域は、テンプレート２０２のサイズと同じ大きさである。ＳＡＤ演算では、テンプレートのブロック内の各画素値ｆ（ｉ，ｊ）と、対象領域のブロック内の各画素値ｇ（ｉ，ｊ）との差分の絶対値が計算され、その総和を求めることで相関値Ｓ＿ＳＡＤが得られる。従って、相関値Ｓ＿ＳＡＤの値が小さいほど、両ブロック間の画素値（輝度値）の差分が小さい。つまり、これはテンプレート２０２と相関値算出の対象領域との間でテクスチャが類似していることを表している。尚、本実施形態では、相関値の一例としてＳＡＤを例示したが、差分二乗和（ＳＳＤ）や正規化相互相関（ＮＣＣ）等の他の相関値を用いてもよい。
【００２０】
次に、幾何変形部１０５を詳細に説明する。
本実施形態における幾何変形処理では、出力画像に画素値の欠落が生じないように入力画像上で画素のサンプリング及び補間が行われる。図３は左側に撮像領域内の入力画像３０１を示し、右側に出力画像３０２を示す概念図である。入力画像３０１上の画素の座標を（X，Y）と表記し、出力画像３０２の画素の座標を（X’，Y’）と表記する。出力画像３０２の座標（X’，Y’）に基づいて幾何変換処理が実現される。
【００２１】
幾何変形部１０５は、出力画像上の画素を順次スキャンし、出力画像上の画素座標を入力画像上の画素座標（X，Y）に変換する処理を行う。幾何変形部１０５は、座標演算部１０５−２より入力された入力画像上の画素座標（X，Y）に基づいてサンプリングを行い、補間により出力画素のデータを生成する。補間処理としては、例えば４点の近傍画素値を用いて線形補間を行うバイリニア補間処理がある。補間処理によっては、必要となるサンプリング座標近傍の画素群が異なるので、幾何変形部１０５は、入力される画素座標（X，Y）の情報と、補間に必要となるサンプリング座標近傍の画素座標（X”，Y”）の情報を、メモリ１０３に記憶する。幾何変形部１０５から入力される座標情報に従って、メモリ１０３から、補間処理に必要となるサンプリング座標近傍の画素群のデータが読み出され、幾何変形部１０５に伝送する制御が行われる。
【００２２】
次に、幾何変形量算出処理を詳細に説明する。
座標演算部１０５−２は、複数の幾何変形による座標変換を１つの座標変換に合成し、入力される出力画像上の画素ごとの座標を、入力画像上でのサンプリング座標に順次変換する座標演算を行う。図４を参照して座標演算部１０５−２について説明する。図４は幾何変形処理時における座標演算部１０５−２の構成例を示すブロック図である。
【００２３】
座標演算部１０５−２は、複数の幾何変形要素に対応した第１の座標演算部４０１および第２の座標演算部４０２と、座標移動ベクトル合成部４０３で構成される。第１の座標演算部４０１は、歪曲収差を補正するための座標演算を行い、第２の座標演算部４０２は射影変換のための座標演算を行う。各座標演算部は、システム制御部１０６から入力される座標演算情報（それぞれの幾何変形パラメータと幾何変換前座標）から、座標移動ベクトルと、幾何変換処理後の座標を算出する。以下、各演算の具体例を説明する。
【００２４】
第１の座標演算部４０１は、幾何変換前座標（X，Y）と歪曲収差補正処理のパラメータPrを取得し、歪曲収差補正前の座標移動ベクトル（drx，dry）と、歪曲収差補正後の座標（Xr，Yr）を算出する。座標移動ベクトル（drx，dry）と座標（Xr，Yr）は下記計算式で算出される。XdはXrに相当し、YdはYrに相当する。
【数２】
0006516574.tif 000003
【００２５】
（式２）において、収差補正パラメータPdx，PdyはパラメータPrに相当し、下記（式５）のように理想像高rnと実像高rdとの比である。PdはX方向の成分PdxとY方向の成分Pdyにそれぞれ分解される。
【数３】
0006516574.tif 000004
第１の座標演算部４０１は歪曲収差補正前の座標移動ベクトル（drx，dry）を座標移動ベクトル合成部４０３に出力し、歪曲収差補正後の座標（Xr，Yr）を第２の座標演算部４０２に出力する。
【００２６】
第２の座標演算部４０２は幾何変換前座標（Xr，Yr）と幾何変形パラメータPhを取得し、射影変換の座標移動ベクトル（dhx，dhy）と、射影変換後の座標（Xh，Yh）を算出する。座標移動ベクトル（dhx，dhy）と座標（Xh，Yh）は下記計算式で算出される。
【数４】
0006516574.tif 000005
【００２７】
上記式において幾何変形パラメータPhは、射影変換行列Hと変換の中心座標（X0h，Y0h）である。射影変換行列Hについては、例えば、光軸に対する３軸（ヨー方向，ピッチ方向，ロール方向）に関する回転をカメラのモーションパラメータとして算出する方法等がある。（式６）および（式７）中のｍは実数値をとり、[X/m,Y/m]=[X,Y,m]で定義される。（式６）ではｍ値が１に設定されている。このような座標表現は同次座標（もしくは斉次座標）と呼ばれ、表現しようとする空間の次元より１つ多い数の組で座標を表わす。本実施形態では、二次元空間を表現するために３組の数である、[X,Y,m]を用いる。第２の座標演算部４０２は，射影変換の座標移動ベクトル（dhx，dhy）を座標移動ベクトル合成部４０３に出力する。
【００２８】
座標移動ベクトル合成部４０３は、幾何変換前座標（X，Y）と、各座標演算で求められた移動ベクトル（drx，dry），（dhx，dhy）を重み付け合成する。下記計算式により、合成座標ベクトル（dcx，dcy）と幾何変換後座標（Xc，Yc）が得られる。
【数５】
0006516574.tif 000006
（式１０）において、幾何変形パラメータPcは、合成時の重み付け演算に用いる各係数ax，bx，ay，byである。幾何変換後座標（Xc，Yc）は、変換によって元画像の座標に対応する関係にある。
【００２９】
本実施形態では歪曲収差と射影変換のパラメータについて述べたが、これは一例である。例えば、ローリングシャッターによる図形歪みの補正パラメータや、並進像ブレ補正のための画像切り出しパラメータを幾何変形パラメータに合成してもよい。
【００３０】
次に、座標演算部１０５−２を使用した、動きベクトルの歪み補正処理（ベクトル補正処理）について説明する。ベクトル補正処理の順序については、本線処理である映像の幾何変形処理における座標演算とは逆順となる。図８は、ベクトル補正時における座標演算部１０５−２の構成を示すブロック図である。
【００３１】
幾何変形処理時には出力画像の座標が入力されるのに対し、ベクトル補正時には幾何変形前の画像で算出されたベクトル値（幾何変形処理における入力画像に相当）が入力される。このため、座標演算の考え方が逆となる。すなわち、ベクトル補正時の座標演算部１０５−２は、図４の構成に対して、射影変換に係る座標演算部８０２と歪曲収差補正に係る座標演算部８０１とが入れ替わった構成となる。
【００３２】
ベクトル補正時に座標演算部１０５−２は、入力画像の座標（X，Y）に基づいた座標演算を行うことでベクトルの補正座標（X’，Y’）の算出を行う。ベクトル検出部１０４から、各ベクトル検出枠のベクトル起点座標（Vsx，Vsy）と、ベクトル終点座標（Vex，Vey）が座標演算部１０５−２へ入力される。座標演算部１０５−２は幾何変形量の算出処理の場合と同様の考え方で補正ベクトルの起点座標（Vsx’，Vsy’）と補正ベクトルの終点座標（Vex’，Vey’）を演算する。以下、ベクトル補正処理における各座標演算部のパラメータについて説明する。
【００３３】
射影変換に係る座標演算部８０２は、ベクトル補正時には幾何変形前の座標が入力され、映像の幾何変形処理時には幾何変形後の座標が入力される。このため、ベクトル補正時に使用する射影変換行列Xnは、下記（式１２）で示すように、幾何変形処理で使用する射影変換行列Hnの逆行列となる。
【数６】
0006516574.tif 000007
【００３４】
歪曲収差座標演算についても考え方は同様であるため、ベクトル補正時に使用する歪曲収差補正値については、映像の幾何変形処理時の補正量に対して、符号が反転した値を使用する。図９は幾何変形処理時とベクトル補正時の歪曲収差補正パラメータを例示し、横軸は像高を表し、縦軸は歪曲収差補正量を表す。図９は映像の幾何変形処理時の補正量９０１を示すグラフ曲線９０２と、ベクトル補正時の補正量９０３を示すグラフ曲線９０４を例示している。図９で示すように、映像の幾何変形処理時の補正量９０１に対し、ベクトル補正時には符号が反転した補正量９０３が使用される。
【００３５】
本実施形態では、歪曲収差と射影変換のパラメータについてのみ述べたが、ローリングシャッターによる図形歪みの補正パラメータを幾何変形パラメータに合成してもよい。ただし、その際にも、本線処理である映像の幾何変形処理とは異なるパラメータを設定する必要がある。また、ベクトル検出部１０４は、ベクトル（Vx，Vy）のみを保持しておき、下記計算式でベクトル起点座標（Vsx,Vsy）およびベクトル終点座標（Vex,Vey）に変換してもよい。（式１３）中、画像の左上端枠の開始座標を（Sx，Sy）と記し、テンプレートサイズを（Tx，Ty）と記し、テンプレート間隔を（Dx，Dy）と記す。Nは左端枠を０としたときの水平枠カウント数を示し、Mは上端枠を０としたときの垂直枠カウント数を示す。
【数７】
0006516574.tif 000008
【００３６】
次に図１３および図１４を参照して、ベクトル補正を行わない場合と、ベクトル補正を行う場合における、それぞれの像ブレ補正制御の相違について説明する。図１３および図１４には垂直同期信号ＶＤ１６０１と、撮像素子の信号読み出しの期間１６０２を示す。期間１６０３は動きベクトルの検出期間を示し、期間１６０５は動きベクトルの演算期間を示す。期間１６０６は光学的な像ブレ補正制御の期間を示し、期間１６０７は動きベクトルの読み出しおよび幾何変形パラメータの生成期間を示す。期間１６０４は幾何変形処理の期間を示す。「ＯＩＳ」は光学的な像ブレ補正制御が終了する時点を示し、「ＥＩＳ」は幾何変形パラメータの生成期間１６０７が終了する時点を示す。期間１６０８，１７０２は１フレーム前の画像の幾何変形処理期間を示す。
【００３７】
図１３は、ベクトル補正を行わない場合の、ベクトル検出処理、像ブレ補正制御、および幾何変形処理のタイミングを例示する。撮像された画像から検出される動きベクトルの検出期間１６０３においてＣＰＵの割り込みが発生すると、動きベクトルの読み出しおよび演算が行われる。ＣＰＵは、手振れ量を遅れなく算出するために、動きベクトルの検出期間１６０３にて、例えば、１水平ライン分のベクトル検出枠（図２における２０４−１，２，３参照）の単位で、ベクトル検出部１０４から動きベクトル値を読み出す。その際、動きベクトルの補正処理は実施されない。最後の水平ラインの動きベクトル値が読み出されると、期間１６０５では後述するグローバルモーション（Ｇｌｏｂａｌ Ｍｏｔｉｏｎ：以下ではＧＭと記す）、つまり画面全体の動きに関する演算処理が実行される。ＣＰＵは期間１６０６中に手振れ量を算出して撮像光学系１０１の像ブレ補正制御を行う。そしてＣＰＵは期間１６０７にて、補正されていない動きベクトル値に基づき、幾何変形パラメータの生成を行い、期間１６０４において幾何変形処理を実行する。
【００３８】
図１４は、回路リソースを共有してベクトル補正を行う場合の、ベクトル検出処理、像ブレ補正制御、および幾何変形処理のタイミングを例示する。期間１７０１はベクトル補正処理の期間を示す。図１４では動きベクトルの検出後の期間１７０１に動きベクトルの補正処理が行われる。そして期間１６０５では補正済みの動きベクトル値が読み出された後、ＣＰＵが期間１６０６中に手振れ量を算出して撮像光学系１０１の像ブレ補正制御を行う。その後、期間１６０７においてＣＰＵは補正済みの動きベクトル値を用いて幾何変形パラメータを生成し、期間１６０４で幾何変形処理を実行する。動きベクトルの検出期間１６０３の終了時点から、期間１６０７の終了時点（または期間１６０４の開始時点）までの期間は、動きベクトルの補正が可能な期間である。
【００３９】
図１４に示す処理では、動きベクトルの検出期間１６０３が終了しても、映像の幾何変形処理の期間１６０４が終了しないと座標演算部のリソースが解放されない。このため、動きベクトルの補正処理が実施できない（期間１７０２参照）。従って、ベクトル検出処理が完了し、かつ、幾何変形処理が完了した期間１７０１にて、動きベクトルの歪み補正処理が実施される。このように、動きベクトルの補正処理が行われることで、図１３に示す処理に比べて、動きベクトル値が使用可能となる時間に遅れが発生してしまう。その結果、撮像光学系の制御タイミングの遅延時間が長くなると、光学的な像ブレ補正性能の低下を招く可能性がある。
【００４０】
光学的な像ブレ補正では、撮像光学系の像ブレ補正用部材（シフトレンズ等）のフィードバック制御が早いタイミングで行われないと、位相ずれが生じ、像ブレ補正性能が低下する可能性がある。つまり、動きベクトル値の取得タイミングの遅れが問題となる。一方、画像処理によって行う電子的な像ブレ補正では、動きベクトルの品質が要求される。つまり、歪み補正を行わない動きベクトルを使用したのでは、正しい幾何変形が実現できず、像ブレ補正性能が低下する可能性がある。そこで、本実施形態は、制御目的に応じて其々に最適なベクトルを使用することで、像ブレ補正性能を向上させるための処理を実行する。以下、図５および図６を参照して、本実施形態における像ブレ補正処理について説明する。図５は本実施形態における像ブレ補正制御の流れを説明するフローチャートである。図６は本実施形態における像ブレ補正制御のタイミングチャートを示す。図６には垂直同期信号ＶＤ６０１と、各期間６０２〜６０９を示す。
【００４１】
・撮像素子の信号読み出し期間６０２。
・動きベクトルの検出期間６０３。
・動きベクトルの読み出し期間６０４。
・動きベクトル（ＧＭ）の演算期間６０４−２。
・光学的な像ブレ補正制御の期間６０５。
・ベクトル補正処理の期間６０６。
・動きベクトルの読み出しおよび幾何変形パラメータの生成期間６０７。
・幾何変形処理の期間６０８。
・１フレーム前の画像の幾何変形処理期間６０９。
「ＯＩＳ」は光学的な像ブレ補正制御の期間６０５が終了する時点を示し、「ＥＩＳ」は幾何変形パラメータの生成期間６０７が終了する時点を示す。
【００４２】
図５のＳ５０１では、垂直同期信号ＶＤ（６０１）のタイミングに合わせて，撮像素子１０２より、映像信号が入力される（期間６０２）。ベクトル検出部１０４は、撮像素子１０２より、検出枠の映像信号が入力されるタイミングで、ベクトル検出処理を開始する。Ｓ５０２でベクトル検出部１０４は、所定数のベクトル検出が完了すると、完了通知の割り込み信号をシステム制御部１０６に出力する。本実施形態では、水平方向の１ライン分の検出枠（図２：２０３−１，２，３参照）におけるベクトル検出処理が完了した時点で割り込み信号がシステム制御部１０６へ伝達される。ただし、このような仕様に限らず、１つの検出枠のベクトル検出処理が完了する度に、ベクトル検出部１０４が割り込み信号をシステム制御部１０６に伝達してもよい。あるいは、水平方向にて複数のライン分、つまり複数行の検出枠ごとに、または垂直方向での複数列の検出枠ごとにベクトル検出処理が完了した時点でベクトル検出部１０４がシステム制御部１０６に割り込み信号を伝達する仕様でもよい。
【００４３】
Ｓ５０３でシステム制御部１０６は、ベクトル検出部１０４からの割り込み信号をクリアする。Ｓ５０４でシステム制御部１０６は、ベクトル検出部１０４から動きベクトル値を取得する（期間６０４）。システム制御部１０６は、像ブレ補正制御のためのＧＭの算出用演算を適宜に行う。本実施形態におけるＧＭの算出処理では、Ｘ方向とＹ方向の其々について、図７に例示するヒストグラムが算出される。以下、ＧＭ算出処理を説明する。
【００４４】
図７の横軸は動きベクトル値を表し、縦軸は度数を表す。検出枠の全てのベクトル値でヒストグラム７０１が算出されると、そのうちの最頻値７０２を示す動きベクトル値がＧＭ値として決定される。システム制御部１０６は動きベクトル値を取得すると、そのベクトル値に応じた階数（度数）をカウントして、ヒストグラムを適宜に更新していく。撮像光学系１０１の駆動制御に対するフィードバックが遅くなった場合には、期待される像ブレ補正の制御タイミングに対して位相がずれていくため、像ブレ補正性能が低下する可能性がある。そこで本実施形態では、水平方向の１ライン分の検出が完了する度に、ＧＭ値を算出するためのヒストグラム処理が実行される。これにより、像ブレ補正の性能低下が抑制される。
【００４５】
Ｓ５０５でシステム制御部１０６は、全ての動きベクトルの読み出しが完了したか否かを判断する。読み出しが完了してない場合、Ｓ５０１〜Ｓ５０４の処理が繰り返される。Ｓ５０５で全ての動きベクトルが読み出されたことが判断された場合、Ｓ５０６とＳ５０９へそれぞれ移行する並行処理が実行される。つまり、Ｓ５０６へ移行する第１の制御処理と、Ｓ５０９へ移行する第２の制御処理とが並列して行われる。
【００４６】
第１の制御処理では、先ず、Ｓ５０６にてＸ方向とＹ方向の其々のＧＭ値の算出処理が行われる（期間６０４−２）。つまり、Ｓ５０５にて全てのベクトル値の読み出しが完了しているので、この時点でヒストグラムが完成している。システム制御部１０６はヒストグラムの最頻値を示す動きベクトル値からＧＭ値を算出する。Ｓ５０７でシステム制御部１０６は、Ｓ５０６で算出されたＧＭ値より、既知の方法で撮像光学系１０１の像ブレ補正のための駆動量を算出する（期間６０５）。Ｓ５０８では、Ｓ５０７で算出された駆動量に基づいて撮像光学系の像ブレ補正制御が行われる。
【００４７】
また、第２の制御処理では、Ｓ５０５からＳ５０９に移行してシステム制御部１０６は映像の幾何変形処理が完了したか否かを判断する。幾何変形処理が完了している場合にはＳ５１０へ進むが、幾何変形部１０５による、映像に対する幾何変形処理が完了するまでの間、待機状態となる。動きベクトル値が求められた時点で、既に幾何変形処理が終了していた場合には、Ｓ５０９からＳ５１０へ移行する。
【００４８】
Ｓ５１０でシステム制御部１０６は、前述したベクトル補正処理を実行する。ベクトル補正処理は一括で行われる（期間６０６）。Ｓ５１１では、補正されたベクトルを一括で読み出す処理が行われる。システム制御部１０６は補正後のベクトルを用いて映像に対する幾何変形パラメータを算出し、算出した幾何変形パラメータを幾何変形部１０５に設定する。（期間６０７）。Ｓ５１２で幾何変形部１０５は、算出された幾何変形パラメータにしたがって映像の幾何変形処理を行う（期間６０８）。こうして画像処理による電子的な像ブレ補正が実施される。
【００４９】
以上のように本実施形態では、像ブレ補正部を有する撮像光学系と、座標演算を行う幾何変形部が設けられており、補正前の動きベクトルと補正後の動きベクトルを使い分けている。すなわち、撮像光学系１０１での像ブレ補正制御のための駆動量の算出時には、より早いタイミングで取得可能な、補正前のベクトルが使用される。光学的な像ブレ補正制御（第１の制御）では、動きベクトル値の取得タイミングに遅れが発生しないように、座標演算が行われていない動きベクトルが使用される。一方、幾何変形部の回路リソースを共有して行われる演算処理での電子的な像ブレ補正制御（第２の制御）では、動きベクトルの品質が要求されるため、補正後の動きベクトルが使用される。幾何変形部１０５が行う像ブレ補正制御のための幾何変形量の算出時には、精度の高い補正後のベクトルが使用される。これにより、像ブレ補正された高品質の映像を生成できる。
【００５０】
また本実施形態では、幾何変形部１０５が使用する幾何変形パラメータは、補正されたベクトルを用いて生成する構成であるが、遅延なく映像を表示させる場合には補正前のベクトルを使用すればよい。例えば、撮影時の映像を逐次に表示してユーザに提示するライブビュー映像表示等の場合、表示の遅延時間をできるだけ短くすることが要請される。このような場合には歪み補正前のベクトルを使用することで、歪み補正後のベクトルを使用して幾何変更処理を行う場合よりも高速に制御することができる。その場合、図１３で示す制御タイミングチャートとなる。
【００５１】
本実施形態によれば、座標演算が行われていない動きベクトルを用いて迅速に行われる像ブレ補正と、座標演算が行われた動きベクトルを用いて行われる、より正確な像ブレ補正を、並行処理によって実現できる。なお、装置の仕様によっては、図５のＳ５０６へ移行する第１の制御処理と、図５のＳ５０９へ移行する第２の制御処理とが並列処理ではなく、撮影条件や撮影状態等の各種条件に応じて第１の制御処理と第２の制御を切り替える制御が行われてもよい。このような制御の変更については後述の実施形態でも同じである。
【００５２】
［第２実施形態］
次に本発明の第２実施形態を説明する。
図１０は、本実施形態に係る像ブレ補正装置を搭載した、実施例２としての撮像装置の構成例を示すブロック図である。本実施形態において第１実施形態の場合と同様の構成については既に使用した符号を用いることでそれらの詳細な説明を省略し、相違点を中心に説明する。尚、図１０では表示部１０７と記録部１０８の図示を省略する。
【００５３】
本実施形態の撮像装置では、撮像光学系１０１の像ブレ補正駆動を利用した画角制御処理と、画像合成部１００８を用いた２フレームの画像合成処理が追加されている。メモリ１００７は、幾何変形部１０５が生成した幾何変形処理後の画像データを記憶する。画像合成部１００８は、メモリ１００７に記憶された第１のフレームの画像データと、幾何変形部１０５より出力される第２のフレームの画像データを取得し、既知の方法で画像合成処理を行い、１枚の画像のデータを生成する。システム制御部１００６は、撮像光学系１０１の像ブレ補正および画角制御処理のためのレンズ駆動制御を行う。
【００５４】
以下に撮像光学系１０１の画角制御処理を説明する。画角制御処理の目的は、被写体が撮像光学系１０１の画角内に収まるように、撮像光学系１０１を構成する像ブレ補正用の光学部材（シフトレンズ等の補正レンズ）を駆動させることである。図１１を参照して、ベクトル検出部１０４を用いた画角制御の具体例を説明する。
【００５５】
図１１は、連続したフレームの画像例として、１フレーム目の画像を図１１（Ａ）に示し、２フレーム目の画像を図１１（Ｂ）に示す。図１１は、ユーザによりカメラのパンニング動作が行われたことで、画角内の被写体像１１０１が水平方向に移動している場合を例示している。ベクトル検出枠１１０２については、像ブレ補正処理を目的としたベクトル検出処理と同様に、固定位置に配置されるか、あるいは、既知の被写体検出処理によって検出された被写体に合わせて、専用のベクトル検出枠が配置される。本実施形態では、検出された被写体に応じて、被写体追跡専用にベクトル検出枠を配置する構成例を説明する。動きベクトルの検出方法については、第１実施形態の場合と同様である。
【００５６】
図１１（Ｃ）は、図１１（Ａ）から図１１（Ｂ）への変化における、被写体像の移動方向と移動量をベクトルで示している。図１１（Ｄ）は、画角制御によって被写体像が図１１（Ａ）に相当する画角に収まった状態での画像を示している。システム制御部１００６は、図１１（Ｃ）にて求めたカメラ移動量の符号を反転させ、反転値に相当する像ブレ補正の駆動量を算出して、撮像光学系１０１に対して設定する。補正レンズの駆動制御により画角制御処理が行われる。画角制御処理では、撮像光学系１０１の駆動制御に関して早いフィードバックが求められる。動きベクトルの取得タイミングが遅れると、位相がずれてしまい、被写体が撮像光学系１０１の画角内に収まりにくくなる。従って、システム制御部１００６は、ベクトル補正前の動きベクトル値をベクトル検出部１０４から取得する。これにより、撮像光学系１０１での補正レンズの駆動において早いタイミングでフィードバック制御を実現できる。
【００５７】
次に本実施形態における画像合成処理について説明する。
図１０の画像合成部１００８は、幾何変形後の画像信号に対し、動きベクトルを用いた既知の方法で、位置合わせをして画像合成を行う。このため、位置合わせに使用する動きベクトルとして、補正後のベクトルが使用される。画像合成後の画像データは表示部１０７、記録部１０８に出力される。本実施形態における補正後のベクトルの生成タイミングについては、第１実施形態の場合と同様であるため、その説明を省略する。
【００５８】
本実施形態では、画角制御処理のために行われる撮像光学系１０１の補正レンズの駆動量を算出するときには、より早いタイミングで取得可能な補正前のベクトルを使用する。また、画像合成処理での幾何変形量の算出時や位置合わせパラメータの算出時には、精度の高い補正後のベクトルを使用することで、高品質な映像を生成できる。
本発明は、撮像された画像から被写体像を検出する被写体検出部を備え、検出した被写体像を追跡しながら画角調節を行う機能を有する撮像装置に適用することができる。この場合、システム制御部は被写体追跡用にベクトル検出枠を配置して被写体像に係る動きベクトルの検出処理を実行し、撮像光学系１０１の画角調節用のレンズ（シフトレンズ等）の駆動制御によって画角調節を行う。被写体追跡の遅れ時間を低減させるため、撮像光学系１０１の画角調節用のレンズの駆動量を算出する際にシステム制御部は、より早いタイミングで取得可能な補正前のベクトル（座標演算が行われていない動きベクトル）を使用する。
【００５９】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００６０】
１０１  撮像光学系
１０２  撮像素子
１０４  ベクトル検出部
１０５  幾何変形部
１０５−２  座標演算部
１０６，１００６  システム制御部
１００８  画像合成部
【図１】
0006516574.tif 000009
【図２】
0006516574.tif 000010
【図３】
0006516574.tif 000011
【図４】
0006516574.tif 000012
【図５】
0006516574.tif 000013
【図６】
0006516574.tif 000014
【図７】
0006516574.tif 000015
【図８】
0006516574.tif 000016
【図９】
0006516574.tif 000017
【図１０】
0006516574.tif 000018
【図１１】
0006516574.tif 000019
【図１２】
0006516574.tif 000020
【図１３】
0006516574.tif 000021
【図１４】
0006516574.tif 000022