(57)【特許請求の範囲】
【請求項１】
撮影光学系により結像された被写体像を画像信号に変換する撮像手段と、
前記撮像手段により得られた画像信号を記憶する記憶手段と、
前記撮像手段で得られた２つの画像信号から画像の変位量を示す動きベクトル値を検出する動きベクトル検出手段と、
前記動きベクトル値に基づいて前記記憶手段からの画像信号の読み出し位置を制御する読み出し位置制御手段と、
前記動きベクトル値の信頼性を判定する信頼性判定手段とを有する撮像装置であって、
前記信頼性判定手段による判定結果に基づいて前記動きベクトル値を補間した動きベクトル補間値を決定する補間手段を備え、
前記補間手段は、前記信頼性判定手段により判定された信頼性が所定値よりも低く、現フレーム又は現フィールドの画像の変位量を示す動きベクトル値を補間した動きベクトル補間値を生成する場合に、前記現フレーム又は前記現フィールドより前のフレーム又はフィールドの動きベクトル値の変化が増加傾向にあるときには、前記動きベクトル補間値を前記記憶手段に記憶された前回フレーム又は前回フィールドの動きベクトル値に比べて増加させ、前記現フレーム又は前記現フィールドより前のフレーム又はフィールドの動きベクトル値の変化が減少傾向にあるときには、前記動きベクトル補間値を前記記憶手段に記憶された前回フレーム又は前回フィールドの動きベクトル値に比べて減少させることを特徴とする撮像装置。
【請求項２】
前記動きベクトル検出手段は、前記画像信号について、現フィールドと前フィールドとの間の相関値又は現フレームと前フレームとの間の相関値を求める相関演算手段を含み、
前記信頼性判定手段は、前記相関演算手段より得られる相関値の大きさに基づいて前記動きベクトル値の信頼性を算出することを特徴とする請求項１記載の撮像装置。
【請求項３】
前記信頼性判定手段は、前記相関演算手段により得られる相関値の最小値と、前記相関値の最小値を取り得る画素アドレスに隣接する両隣の画素の相関値との差分又は比率に基づいて信頼性を判定することを特徴とする請求項２記載の撮像装置。
【請求項４】
撮像手段が、撮影光学系により結像された被写体像を画像信号に変換する撮像ステップと、
記憶手段が、前記撮像ステップで得られた画像信号を記憶する記憶ステップと、
動きベクトル検出手段が、前記撮像ステップで得られた２つの画像信号から画像の変位量を示す動きベクトル値を検出する動きベクトル検出ステップと、
読み出し位置制御手段が、前記動きベクトル値に基づいて前記記憶ステップで記憶された画像信号の読み出し位置を制御する読み出しステップと、
信頼性判定手段が、前記動きベクトル検出ステップで得られた前記動きベクトル値の信頼性を判定する判定ステップと、
補間手段が、前記判定ステップでの判定結果に基づいて前記動きベクトル値を補間した動きベクトル補間値を決定する補間ステップとを有し、
前記補間ステップでは、前記判定ステップで判定された信頼性が所定値よりも低く、現フレーム又は現フィールドの画像の変位量を示す動きベクトル値を補間した動きベクトル補間値を生成する場合に、前記現フレーム又は前記現フィールドより前のフレーム又はフィールドの動きベクトル値の変化が増加傾向にあるときには、前記動きベクトル補間値を前記記憶ステップで記憶された前回フレーム又は前回フィールドの動きベクトル値に比べて増加させ、前記現フレーム又は前記現フィールドより前のフレーム又はフィールドの動きベクトル値の変化が減少傾向にあるときには、前記動きベクトル補間値を前記記憶ステップで記憶された前回フレーム又は前回フィールドの動きベクトル値に比べて減少させることを特徴とする撮像装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像のぶれから得られる動きベクトル検出情報を用いて、手ぶれによる撮像画のぶれを補正する撮像装置、及び撮像装置の制御方法に関する。
【背景技術】
【０００２】
ビデオカメラ等の動画像を撮影する撮像装置では、レンズを望遠側にズームしたときの手ぶれによって画像にぶれが生じることが問題となる。このような手ぶれに起因する画像のぶれを防止する方法として、撮影した画像信号から画像の動きベクトルを検出し、この動きベクトルに基づいて画像のぶれを補正する技術が提案されている（例えば、特許文献１参照）。
【０００３】
動画像の動きベクトルを検出する方法としては、従来より、相関演算に基づく相関法やブロックマッチング法等が知られているが、尾上守夫らにより詳しく論じられているので（例えば、非特許文献１参照）、ここでの説明は省略する。
【０００４】
しかしながら、従来の撮像装置では、動きベクトルを検出しにくい条件、例えば、被写体のコントラストが低い場合や大きなぶれが生じた場合には、画像の相関の検出精度が低下し、適正な代表ベクトルが求められなくなる。検出される動きベクトル値の誤差が大きくなり、動きベクトル値に誤差が生じると、ぶれ補正の精度の低下や誤補正が生じ、撮像画のぶれが不連続に発生してしまう可能性がある。
【０００５】
この問題を解決する方法として、動きベクトルの検出精度が低下しているか否かを判定し、検出精度が低下したと判定された場合には、代表ベクトルの検出を中断し、ぶれ補正を停止する方法がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平７−１０７３６７号公報
【非特許文献】
【０００７】
【非特許文献１】尾上守夫，前田紀彦，斎藤優、「パターン情報処理：残差逐次検定法による画像の重ね合わせ」、情報処理、情報処理学会、１９７６年７月、ｖｏｌ．１７、Ｎｏ．７、ｐ．６３４〜６４０
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、動きベクトル値の信頼性が設定された基準以上の場合にぶれ補正を行い、信頼性の低いベクトル情報が得られた場合にぶれ補正を停止してしまうと、ぶれ補正が間欠的に実行されることになるため、撮像画のぶれ補正が不連続となってしまう。このようなぶれ補正が断続的に行われた動画像は、その動画像を観賞する人に対して、映像酔い等の症状を引き起こすことがある。
【０００９】
本発明は、ぶれ補正の不連続性を軽減し、十分且つ正確にぶれ補正された画像を安定して提供することができる撮像装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記課題を解決するため、本願発明に係る撮像装置は、撮影光学系により結像された被写体像を画像信号に変換する撮像手段と、前記撮像手段により得られた画像信号を記憶する記憶手段と、前記撮像手段で得られた２つの画像信号から画像の変位量を示す動きベクトル値を検出する動きベクトル検出手段と、前記動きベクトル値に基づいて前記記憶手段からの画像信号の読み出し位置を制御する読み出し位置制御手段と、前記動きベクトル値の信頼性を判定する信頼性判定手段とを有する撮像装置であって、前記信頼性判定手段による判定結果に基づいて前記動きベクトル値を補間した動きベクトル補間値を決定する補間手段を備え、前記補間手段は、前記信頼性判定手段により判定された信頼性が所定値よりも低く、現フレーム又は現フィールドの画像の変位量を示す動きベクトル値を補間した動きベクトル補間値を生成する場合に、前記現フレーム又は前記現フィールドより前のフレーム又はフィールドの動きベクトル値の変化が増加傾向にあるときには、前記動きベクトル補間値を前記記憶手段に記憶された前回フレーム又は前回フィールドの動きベクトル値に比べて増加させ、前記現フレーム又は前記現フィールドより前のフレーム又はフィールドの動きベクトル値の変化が減少傾向にあるときには、前記動きベクトル補間値を前記記憶手段に記憶された前回フレーム又は前回フィールドの動きベクトル値に比べて減少させることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、動画像のぶれから得られる動きベクトル検出情報を用いて、撮像画の手ぶれを補正する撮像装置において、ぶれ補正の不連続性を軽減することにより、十分且つ正確にぶれ補正された画像を安定して提供することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の第１実施形態に係る撮像装置が備えるぶれ補正回路のブロック図である。
【図２】本発明の第１実施形態に係る撮像装置の概略構成を示すブロック図である。
【図３】本発明の第１実施形態に係る撮像装置で実行されるぶれ補正のフローチャートである。
【図４】ブロック単位のベクトル値の信頼性が低いと判定された場合に、本発明の第１実施形態に係る撮像装置で実行される動きベクトル補間値を用いてぶれ補正を行った場合の全体の動きベクトル値の変化と、ぶれ補正を停止させた場合の全体の動きベクトル値の変化とを対比して説明する図である。
【図５】本発明の第２実施形態に係る撮像装置が備えるぶれ補正回路のブロック図である。
【図６】本発明の第２実施形態に係る撮像装置で実行されるぶれ補正のフローチャートである。
【図７】本発明の第２実施形態における、動きベクトル補間値の算出処理を説明するためのグラフである。
【図８】本発明の第３実施形態における、現フレームと前フレームとの間の画像移動量と相関値との関係を示すグラフである。
【図９】本発明の第３実施形態おける、信頼性判定回路において行われる信頼性判定処理のフローチャートである。
【図１０】本発明の第４実施形態に係るぶれ補正において、動きベクトル補間値を算出するための補間処理回路におけるベクトル値の変換特性を示すグラフである。
【図１１】本発明の第４実施形態に係るぶれ補正において、動きベクトル補間値を算出するための補間処理回路におけるベクトル値の別の変換特性を示すグラフである。
【図１２】本発明の第５実施形態に係る、動きベクトル補間値の補正方法を説明するためのグラフである
【図１３】本発明の第５実施形態に係る、動きベクトル補間値の補正方法のフローチャートである。
【発明を実施するための形態】
【００１３】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１４】
＜第１実施形態＞
図１は、本発明の第１実施形態に係る撮像装置が備えるぶれ補正回路のブロック図である。このぶれ補正回路は、ベクトル検出法によりぶれを抑制する撮像装置に適用される。以下に説明するぶれ補正回路による処理は、中央演算処理装置（ＣＰＵ）が、ＲＯＭに格納された各種処理を実行するためのプログラムをＲＡＭに展開し、実行することにより実現される。
【００１５】
図１に示したぶれ補正回路では、先ず、動きベクトルの検出対象となる画像信号（フィールド又はフレーム）が、入力端子１０１から画像メモリ１１０及びフィルタ１０２に入力される。以下の説明では、フィールド画像信号を取り上げることとする（第２実施形態についても同様）。
【００１６】
画像メモリ１１０は画像信号を一時記憶し、フィルタ１０２は画像信号から動きベクトル検出に有用な空間周波数成分の抽出、即ち、画像信号からの低空間周波数成分と高空間周波数成分の除去を行う。フィルタ１０２を通過した画像信号は２値化回路１０３に入力される。２値化回路１０３は、ゼロレベルを基準として画像信号を２値化し、具体的には、出力信号の符号ビットを出力する。２値化回路１０３によって２値化された画像信号は、相関演算回路１０４と１フィールド期間遅延手段としてのメモリ１０５に入力される。相関演算回路１０４には、更に、メモリ１０５から前のフィールドの画像信号が入力されている。
【００１７】
相関演算回路１０４はブロックマッチング法に従い、画像領域を適当な大きさのブロックに分割し、ブロック単位で現フィールドと前フィールドとの相関演算を行う。なお、ブロックマッチング法については、先述の非特許文献１に詳細に説明されているので、ここでの説明を省略する。動きベクトル検出回路１０６は、算出された相関値からフィールド間の変位量である動きベクトル値をブロック単位で検出する。具体的には、相関値が最小（異なる符号ｂｉｔ数が最小）となる前フィールドのブロックを探索し、その相対的なずれを動きベクトル値とする。動きベクトル検出回路１０６で得られたブロック単位の動きベクトル値は、動きベクトル決定回路１０７と信頼性判定回路１２１に入力される。動きベクトル決定回路１０７は、ブロック単位の動きベクトル値から全体の動きベクトル値（フィールド間の代表ベクトル量）を決定する。具体的には、ブロック単位の動きベクトル値の中央値又は平均値が、画像全体の動きベクトル値とされる。
【００１８】
信頼性判定回路１２１は、動きベクトル決定回路１０７において得られる全体の動きベクトル値の信頼性（正確さの尺度）を求め、具体的には、ブロック単位の動きベクトル値の分散値を求め、その分散値に基づいて全体の動きベクトル値の信頼性を決定する。信頼性判定回路１２１は、分散値が小さい（つまり、分散していない）場合に、全体の動きベクトル値の信頼性は高いと判定し、逆に分散値が大きい（つまり、分散している）場合に、全体の動きベクトル値の信頼性は低いと判定する。これは、映像信号の動き方向が均一な場合には、その画像から得られるブロック単位の動きベクトル値は均一なベクトル量であることに基づいている。なお、信頼性判定回路１２１における信頼性の判定の基準となる基準値は、予め、定められる。信頼性判定回路１２１による信頼性の判定結果と、動きベクトル決定回路１０７で得られた全体の動きベクトル値は、補間処理回路１２２に入力される。
【００１９】
補間処理回路１２２は、動きベクトル決定回路１０７より出力された全体の動きベクトル値を用いるか、又は、動きベクトル補間値を用いるかを選択する。第１実施形態における“動きベクトル補間値”は、信頼性判定回路１２１によってブロック単位の動きベクトル値の信頼性が低いと判定された場合に用いられる値である。動きベクトル補間値としては、例えば、前のフィールドで用いた全体の動きベクトル値が用いられる。そのため、補間処理回路１２２は、用いた全体の動きベクトル値を逐次記憶する。
【００２０】
補間処理回路１２２が選択したベクトル値は、積分回路１０８に入力され、積分処理されて、積算された動きベクトル値に変換される。積算された動きベクトル値は、メモリ読み出し制御回路１０９に入力される。メモリ読み出し制御回路１０９は、積算された動きベクトル値に応じて画像の動きが相殺されるように、画像メモリ１１０の読み出し位置を制御し、これにより画像メモリ１１０からは、ぶれが補正された画像信号が出力される。
【００２１】
なお、上述したぶれ補正回路の構成要素のうち、フィルタ１０２、２値化回路１０３、相関演算回路１０４、メモリ１０５、動きベクトル検出回路１０６及び動きベクトル決定回路１０７が、代表ベクトル検出回路２２を構成する。
【００２２】
図２は、上述したぶれ補正回路を備えたビデオカメラ等の撮像装置の概略構成を示すブロック図である。この撮像装置では、撮像光学系１２を通してＣＣＤ等の撮像素子１３の受光面に結像した被写体像は、撮像素子１３によって電気信号に変換された後、カメラ信号処理回路１４において、画像信号としての標準ビデオ信号等に変換される。
【００２３】
カメラ信号処理回路１４で得られた画像信号は、１フィールド毎に画像メモリ１１０に入力されると共に、代表ベクトル検出回路２２に入力される。代表ベクトル検出回路２２では、図１を参照して説明した通りに、ブロック単位の動きベクトル値と全体の動きベクトル値が画像の動きに応じて算出される。そして、ブロック単位の動きベクトル値は信頼性判定回路１２１へと出力され、全体の動きベクトル値は補間処理回路１２２へと出力される。
【００２４】
なお、信頼性判定回路１２１、補間処理回路１２２、積分回路１０８、メモリ読み出し制御回路１０９、画像メモリ１１０の制御は図１の説明と同じなので割愛する。こうして、ぶれが補正されたビデオ信号が、画像メモリ１１０からレコーダ１７へと出力され、レコーダ１７に記録される。
【００２５】
図３は、図２に示した撮像装置で実行されるぶれ補正処理のフローチャートであり、ブロック単位の動きベクトル値の検出からぶれ補正されたビデオ信号の出力に至る処理を示している。
【００２６】
先ず、動きベクトル検出回路１０６が、ブロック単位の動きベクトル値を検出する（ステップＳ３０１）。このステップＳ３０１の処理は、ブロック単位の動きベクトル値が検出される毎に、同期して繰り返し実行される。続いて、ステップＳ３０１で検出されたブロック単位の動きベクトル値は、動きベクトル決定回路１０７と信頼性判定回路１２１に取り込まれる（ステップＳ３０２）。
【００２７】
次に、フィールド内のブロック単位のベクトル値の算出が全て完了したか否かが判定される（ステップＳ３０３）。算出が完了している場合（Ｓ３０３で“ＹＥＳ”）、処理はステップＳ３０４へ進み、算出が完了していない場合（Ｓ３０３で“ＮＯ”）、処理は終了する。
【００２８】
ステップＳ３０４では、動きベクトル決定回路１０７によって、複数のブロック単位の動きベクトル値から１つの全体の動きベクトル値が求められる。ステップＳ３０４の後、信頼性判定回路１２１によって、複数のブロック単位の動きベクトル値の分散値が求められ（ステップＳ３０５）、分散値が予め定められた基準値より大きいかが判定される（ステップＳ３０６）。分散値が基準値より大きい場合（Ｓ３０６で“ＹＥＳ”）、信頼性は低いと判定されて、処理はステップＳ３０７へ進められる。一方、分散値が基準値以下の場合（Ｓ３０６で“ＮＯ”）、信頼性は高いと判定されて、処理はステップＳ３０８へ進められる。なお、ステップＳ３０６で用いられる基準値は、例えば、１フィールドで求められるブロック単位の動きベクトル値の１／５〜１／３程度が一致する場合の分散値に相当する値でよい。但し、撮像装置の形状による揺れの違いや光学焦点距離を考慮して、適宜、適切な値に設定されることが望ましい。
【００２９】
ステップＳ３０７では、補間処理回路１２２は、動きベクトル補間値（例えば、前回の全体の動きベクトル値）を動きベクトル値として採用して、ぶれ補正を行うことを決定し、その後、処理はステップＳ３１０へ進められる。一方、ステップＳ３０８に進んだ場合には、補間処理回路１２２は、今回の全体の動きベクトル値を採用して、ぶれ補正を行うことを決定する。今回の全体の動きベクトル値は信頼性が高いと判定されているので、次回の動きベクトル補間値として用いることができるように、補間処理回路１２２はその値を記憶し（ステップＳ３０９）、その後、処理はステップＳ３１０へ進められる。このとき、記憶されている前回の全体の動きベクトル値は消去してもよい。
【００３０】
ステップＳ３１０では、積分回路１０８による積分演算によってぶれ補正値が求められ、メモリ読み出し制御回路１０９により、得られたぶれ補正値に基づいて画像メモリ１１０からの読み出しが行われ（ステップＳ３１１）、その後、処理は終了する。
【００３１】
以上のようにして、検出された動きベクトル情報の信頼性に基づいて、ブロック単位の動きベクトル値の信頼性が低い場合には全体の動きベクトル値を補間することにより、連続性を損うことなく、円滑な補正を実現することができる。これにより、十分且つ正確にぶれ補正された画像が安定して得られる。
【００３２】
次に、ブロック単位のベクトル値の信頼性が低いと判定された場合に、図３のステップＳ３０７に従って動きベクトル補間値を用いてぶれ補正を実行する場合と、ぶれ補正を停止させた場合とを対比して説明する。
【００３３】
図４は、動きベクトル補間値を用いてぶれ補正を行った場合の全体の動きベクトル値の変化（実施例）と、ぶれ補正を停止させた場合の全体の動きベクトル値の変化（参考例）とを対比して説明する図である。図４（ａ）〜（ｃ）の各図は、全体の動きベクトル値の時間変化を示しており、横軸には時間が、縦軸には画像の揺れ量（つまり、算出される全体の動きベクトル値）が取られている。
【００３４】
図４（ａ）は、全体の動きベクトル値が、破線で示されている揺れ４０２に伴って検出されることを想定しており、ベクトル値の検出がエラー無く行われた場合を示している。なお、実際のぶれ補正に用いられる全体の動きベクトル値は２次元（２軸）であるが、ここでは、説明の便宜上、全体の動きベクトル値を１次元（縦１軸）で示している。
【００３５】
図４（ａ）〜（ｃ）の横軸に示される単位時間４０１は、例えば、映像信号のフィールド周期等であり、単位時間４０１毎に全体の動きベクトル値が得られる。図４（ａ）において、矢印４０３のように黒い矢印は、信頼性が高いとされる全体の動きベクトル値を示しており、矢印４０４のように白抜きの矢印は信頼性が低いとされる全体の動きベクトル値を示している。なお、ここでは、信頼性が低い動きベクトル値として、単位時間当たりの変化率が大きいものを想定している。その理由は、単位時間当たりの変化量が大きい（、単位時間当たりの揺れ量が大きい）場合には、撮像素子に蓄積されている間にぶれが生じ、像ぶれによる撮像画のコントラストが低下していると考えらる。これにより、先に説明したブロックマッチング法による検出精度が低下するものと考えられるからである。
【００３６】
図４（ａ）に示されるように、揺れ４０２に伴う全体の動きベクトル値が理想的に検出された場合には、全体の動きベクトル値は揺れ４０２に重なる。これに対し、図４（ｂ）には、ブロック単位のベクトル値の信頼性が低いと判定された場合に、ぶれ補正を停止する（全体の動きベクトル値を算出せず、かつ動きベクトル補間値も用いない）従来の方法によって得られる全体の動きベクトル値の変化が示されている。より具体的には、図４（ｂ）では、図４（ａ）の矢印４０４で示される信頼性が低いと判定された全体の動きベクトル値が、矢印４０５で示される値のようにゼロ（零）のベクトル値に置換されている。図４（ｂ）から明らかなように、ある単位時間４０１の全体の動きベクトル値の信頼性が低いと判定された場合に、ベクトル値をゼロとしたときに得られる全体の動きベクトル値の変化の様子は、実際の揺れ量とは大きく異なるものとなる。つまり、十分なぶれ補正が実現されず、不連続な制御となってしまうことがわかる。
【００３７】
これに対し、図４（ｃ）には、図４（ｂ）の値がゼロの矢印４０５で示されるベクトル値に代えて、動きベクトル補間値を示す矢印４１１を用いた場合の全体の動きベクトル値の変化の様子を示している。信頼性の低い全体の動きベクトル値（矢印４０４）に代えて、前回の全体の動きベクトル値４０２と同値である動きベクトル補間値を示す矢印４１１で補間する。これにより全体の動きベクトル値の変化の様子は、実際の揺れ４０２に近付き、滑らかに変化することがわかる。
【００３８】
＜第２実施形態＞
第２実施形態では、概略、信頼性の判定方法において、ブロック単位で現フィールドと前フィールドとの相関値に基づいて信頼性を示す値（以下「信頼性指示値」という）を算出する。そして、この信頼性指示値に基いて定められた補正係数（補正係数については図７で詳細に説明する）を動きベクトル補間値に乗じることで動きベクトル補間値を補正し、ぶれ補正を行う。
【００３９】
図５は、本発明の第２実施形態に係る撮像装置が備えるぶれ補正回路のブロック図である。同様に図５に示された構成を備えたぶれ補正回路が組み込まれたビデオカメラ等の撮像装置における構成及び動作は、図２に示した第１実施形態の撮像装置の構成及び動作に準ずる。そのため、第１実施形態と重複する説明は割愛する。
【００４０】
信頼性判定回路１２１ａは、動きベクトル決定回路１０７において得られる、全体の動きベクトル値の信頼性（正確さの尺度）を求めるものである。信頼性判定回路１２１ａは、相関演算回路１０４より得られるブロック単位の相関値の大小によりフィールド間の相関の大きさを求め、得られた相関の大きさに基づいて算出される動きベクトル値の信頼性を決定する。算出される動きベクトル値の信頼性はフィールド間の相関の大きさが小さい（フィールド間の符号Ｂｉｔの差分が０近傍を取り得る）場合は高くなり、逆にフィールド間の相関の大きさが大きい（フィールド間の符号Ｂｉｔの差分が所定量より大きい）場合は低くなる。
【００４１】
具体的には、コントラストの高い被写体では映像信号より得られる符号Ｂｉｔの精度が高く得られ、かつ、フィールド間の被写体移動がブロック単位の検出エリアに対し十分小さい場合には、フィールド間の相関の大きさは小さくなる。そのため、算出される動きベクトル値の信頼性は高くなる。反対に、コントラストが低い場合やフィールド間での被写体の移動が大きく、撮像素子の蓄積時間中のぶれが生じている場合には、フィールド間の相関の大きさが大きくなる。そのため、算出される動きベクトル値の信頼性は低くなる。
【００４２】
フィールド間の相関の大きさは、２値化回路１０３の精度が影響する。コントラストが高いほど、２値化回路１０３の変換特性や精度に依存することなく、２値化の処理結果が良好に得られるが、コントラストが低い場合には、２値化回路１０３の変換特性や精度の影響が大きく現れる。
【００４３】
信頼性判定回路１２１ａは、具体的には、相関演算回路１０４により求められた複数のブロック単位の相関値の最小値の平均値（以下「相関平均値」という）を１から減じた値を信頼性を示す値（以下「信頼性指示値」という）として算出する。即ち、
・信頼性指示値  ＝  １−相関平均値
となる。したがって、相関平均値が小さい、つまり、相関が高いという結果が得られれば、信頼性指示値は大きくなり、逆に、相関平均値が大きい、つまり、相関が低いという結果が得られれば、信頼性指示値は小さくなる。但し、“０≦  １−相関平均値  ＝  信頼性指示値  ≦１”となる。
【００４４】
次に、図５を参照して説明したぶれ補正処理について、フローチャートを参照して説明する。図６は、第２実施形態に係る撮像装置で実行されるぶれ補正処理のフローチャートである。このフローチャートは、撮像画の入力からメモリ読み出しによるぶれ補正に至るまでの処理を示している。
【００４５】
先ず、被写体を撮像している画像信号がフィルタ１０２に入力されると、フィルタ１０２は先述のフィルタ信号処理を行う（ステップＳ４０１）。続いて、フィルタ信号処理された画像信号は、２値化回路１０３によって二値化処理される（ステップＳ４０２）。その後、相関演算回路１０４が、先述の相関演算（相関値算出）を行う（ステップＳ４０３）。続いて、動きベクトル検出回路１０６によりブロック単位の動きベクトル値が算出される（ステップＳ４０４）。
【００４６】
そして、１フィールドのベクトル算出が完了したか否かが判定される（ステップＳ４０５）。１フィールドのベクトル算出が完了した場合（Ｓ４０５で“ＹＥＳ”）、処理はステップＳ４０６へ進み、完了していない場合（Ｓ４０５で“ＮＯ”）は処理を終了する。
【００４７】
ステップＳ４０６では、動きベクトル決定回路１０７によって、１つの全体の動きベクトル値が出力される。そしてステップＳ４０７においては、信頼性判定回路１２１ａが、現フィールドにおける信頼性指示値を算出する。続いて、ステップＳ４０８においては信頼性指示値が信頼性基準値より小さいか否かが判定される。これは、信頼性指示値が値いさくなるほど、検出精度が低くなるため、本フィールドにおけるベクトルの検出精度が基準とした検出精度よりも高いか低いかを判定する。
【００４８】
信頼性指示値が信頼性基準値より小さい場合（Ｓ４０８で“ＹＥＳ”）、得られる動きベクトル値の検出精度は低いと判定され、処理はステップＳ４０９へ進められる。
【００４９】
ステップＳ４０９では、補間処理回路１２２は、１フィールド前の動きベクトル値と１フィールド前の信頼性指示値から動きベクトル補間値を算出する。そして、算出された動きベクトルはぶれ補正の演算に用いる動きベクトル値とされる。第２実施形態における「動きベクトル補間値」とは、例えば、１フィールド前に決定された全体の動きベクトル値に、１フィールド前に信頼性判定回路１２１ａで得られた信頼性指示値を乗じることにより得られるベクトル値である。即ち、
・動きベクトル補間値  ＝  信頼性指示値に基いて定められた所補正係数  ×  １フィールド前に決定された全体の動きベクトル値
となる。
【００５０】
一方、信頼性指示値が信頼性基準値以上である場合（Ｓ４０８で“ＮＯ”）、得られる動きベクトル値の検出精度は高いと判定され、処理はステップＳ４１０へ進められる。そしてステップＳ４１０では、補間処理回路１２２によって、今回のフィールドの全体の動きベクトル値が、ぶれ補正の演算に用いる動きベクトル値とされる。今回の全体の動きベクトル値の信頼性が高いため、補間処理回路１２２は、これを次の動きベクトル補間値として用いることができるように記憶する（ステップＳ４１１）。また、今回の相関平均値も、次の動きベクトル補関値を算出するために、記憶される（ステップＳ４１２）。なお、ステップＳ４１１では記憶されている前回の全体の動きベクトル値が、ステップＳ４１２では記憶されている前回の相関平均値が、それぞれ消去される。
【００５１】
ステップＳ４０９又はステップＳ４１２の後には、積分回路１０８による積分演算によってぶれ補正値が求められる（ステップＳ４１３）。そして、得られたぶれ補正値に基づいて、メモリ読み出し制御回路１０９による画像メモリ１１０からの読み出しが行われ（ステップＳ４１４）、こうして、ぶれ補正された画像信号が得られる。その後、処理は終了する。
【００５２】
次に、図６におけるステップＳ４０９にて補間処理回路１２２が実行する動きベクトル補間値の算出処理について説明する。図７は、動きベクトル補間値の処理を説明するためのグラフである。
【００５３】
図７のグラフにおいて、横軸は、信頼性判定回路１２１ａによって求められた１フィールド前の信頼性指示値であり、縦軸は、動きベクトル補間値を求めるための補正係数である。図７では、信頼性指示値を１００倍してパーセント（％）で表示している。
【００５４】
上述の通り、補間処理回路１２２では、１フィールド前に検出、記憶された全体の動きベクトル値に、信頼性判定回路１２１ａによって得られる信頼性指示値に基いて予め決められた所定の補正係数を乗じることにより補間ベクトル値を算出する。
【００５５】
図７のグラフに示されるように、例えば１次の相関特性５０１に基づいて、信頼性指示値が信頼性基準値である０．８、即ち８０％であれば、補正係数を１倍とする。そして信頼性指示値が例えば０．２、即ち２０％へと下がるにつれて補正係数を小さくして、２０％以下では補正係数を０とする。なお、本実施例においては、信頼性指示値が０．２以下で補正係数を０としたが、補正係数を０となる点は信頼性指示値が０より大きく信頼性基準値未満であれば任意の値でよい。なお、本実施形態においては信頼性指示値が８０％以上であるならば、動きベクトル補間値の演算自体が行われない（図６のステップＳ４０８でＮｏなのでステップＳ４１０へ進むため、ステップＳ４０９の処理が行われない）ので、補正係数は必要ない。
【００５６】
以上の説明の通り、全体の動きベクトル値の信頼性が低い場合に、信頼性判定回路１２１ａにより得られる信頼性指示値を用いて求めた動きベクトル補間値を用いることにより、滑らかなぶれ補正を実現することができる。これにより、十分且つ正確にぶれ補正された画像が安定して得られる。なお、相関特性５０１は一次関数として説明したが、必ずしも一次関数である必要はない。
【００５７】
＜第３実施形態＞
第３実施形態は、図５における第２実施形態に係るぶれ補正回路が備える信頼性判定回路１２１ａにおける信頼性判定の仕組みを変更したものである。そのため、第３実施形態に係る撮像装置と、この撮像装置が備えるぶれ補正回路のブロック図について、図示を省略する。
【００５８】
第３実施形態に係る撮像装置が備える信頼性判定回路（図５の１２１ａに相当）は、相関値の最小値（以下「相関最小値」という）と、この相関最小値を取り得る画素アドレスに隣接する画素の相関値との差分又は比率に基づいて信頼性を算出する。なお、第１，第２実施形態では、フィールド画像信号を取り上げたが、第３実施形態では、フレーム画像信号を取り上げる。勿論、第３実施形態は、フィールド画像信号に対しても、そのまま適用することができる。
【００５９】
図８は、相関演算回路１０４による現フレームと前フレームとの間の画像移動量（＝動きベクトル量）と相関値との関係を示すグラフである。
【００６０】
図８において、実線で示される相関値５５１は、フレーム間の相関差分の小さい被写体を撮影した際の画像移動量に対する相関値を示している。また、破線で示される相関値５５５は、フレーム間の相関差分の大きい被写体を撮影した際の画像移動量に対する相関値を示している。
【００６１】
ブロックマッチングを用いた場合、はっきりした（明暗や色彩配置が明瞭な）絵柄等のコントラストの高い被写体像の場合、フレーム間の相関差分は小さくなり相関値５５１に示される最小値５５２を取る。はっきりした絵柄等のコントラストの高い被写体像の場合は、画像移動量に対する相関差分の変化が明瞭であるため、相関最小値が明確に求まる。このように相関値が明確に求まる被写体条件においては、画像移動量に対する相関値の変化が急峻であるため、最小値５５２を取る画素アドレスに隣接する両隣の画素が取る画像移動量の相関値５５３，５５４との差分も大きくなり、その先鋭度は鋭くなる。
【００６２】
一方、ピントがぼけた被写体等のコントラストの低い被写体像の場合は、画像移動量に対する相関差分の変化が小さいため、相関最小値が求め難くなる。さらに、相関値が求め難い被写体条件においては、画像移動量に対する相関値の変化が小さく、最小値５５６を取る画素アドレスに隣接する両隣の画素が取る画像移動量の相関値５５７，５５８との差分も小さくなり、先鋭度は鈍くなる。
【００６３】
したがって、画像移動量を求める際に求めた相関最小値を取る画素アドレスとその両隣の画素の相関値との差を求めたときに、その差が大きければ得られる全体の動きベクトル値の信頼性は高いと言える。反対に、その差が小さければ、得られる全体の動きベクトル値の信頼性は低いと言える。なお、上記説明は、一軸上の画像移動量と相関値との関係についてのものであるが、実際には撮像装置は２つの直交する画素配列を有するため、各画素配列軸上で同じ処理が行われることとなる。
【００６４】
図９は、第３実施形態における信頼性判定回路において行われる信頼性判定処理のフローチャートである。このフローチャートに示される処理は、図６の一部を変更したものであり、第２実施形態についての説明で参照した図６のフローチャートに示されるステップＳ４０７，Ｓ４０８の処理に相当する。よって、図９の信頼性算出処理は、図６のフローチャートに示されるステップＳ４０６全体の動きベクトル値の算出）の後に開始される。
【００６５】
信頼性算出処理では、先ず、相関演算回路１０４が、相関値をサーチして相関最小値を求める（ステップＳ６０１）。続いて、求められた相関最小値と、この相関最小値を取る画素に隣接する両隣の画素の相関値との差分を求める（ステップＳ６０２）。ステップＳ６０２における演算は、例えば、“差分＝｜相関最小値−（一方の隣接画素の相関値＋他方の隣接画素の相関値）／２｜”によって行うことができる。
【００６６】
こうして求めた差分が所定の基準値より大きいか否かが判定される（ステップＳ６０３）。ここでの所定の基準値とは、例えば相関値の最大値（即ち、ベクトル検出ブロック同士が一致しない時の値）の１０％とする。差分が基準値より大きい場合（Ｓ６０３で“ＹＥＳ”）、信頼性は高いと判定される（ステップＳ６０４）。一方、差分が基準値以下の場合（Ｓ６０３で“ＮＯ”）、信頼性が低いと判定される（ステップＳ６０４）。ステップＳ６０４，６０５の判定がなされることで、信頼性判定処理は終了する。
【００６７】
なお、ステップＳ６０４の判定がなされた場合には、今回の全体の動きベクトル値がぶれ補正の演算に用いられ、ステップＳ６０５の判定がなされた場合には、動きベクトル補間値がぶれ補正の演算に用いられることとなる。
【００６８】
このような第３実施形態の信頼性判定を行うことによっても、連続的で、滑らかなぶれ補正を実現することができる。これにより、十分且つ正確にぶれ補正された画像が安定して得られる。
【００６９】
なお、上記形態では、相関最小値と、相関最小値を取り得る画素アドレスに隣接する両隣の画素の相関値との差分を求めることにより信頼性を判定した。これに限られず、相関最小値と、相関最小値を取り得る画素アドレスに隣接する両隣の画素の相関値との比率を求めることによっても、同様な信頼性判定を行うことができる。その際の演算式としては、例えば、“比率＝相関最小値／（一方の隣接画素の相関値＋他方の隣接画素の相関値）”を用いることができる。
【００７０】
＜第４実施形態＞
第４実施形態は、第２実施形態に係るぶれ補正回路が備える補間処理回路１２２での補間処理に変更を加えるものであり、動きベクトル補間値の算出のために用いられる動きベクトル値の大きさに応じて、新たに算出される動きベクトル補間値を補正する。なお、第４実施形態に係る撮像装置と、この撮像装置が備えるぶれ補正回路のブロック図、ぶれ補正処理のフローチャートは、第２実施形態のものと同様（図５、図６）のため、図示を省略する。
【００７１】
図１０は、動きベクトル補間値を算出するための、補間処理回路におけるベクトル値の変換特性を示すグラフである。図１０のグラフにおいて、横軸は、前回（前フィールド）に記憶された全体の動きベクトル値であり、縦軸は、横軸の全体の動きベクトル値に応じて実際に算出される動きベクトル補間値（補正された動きベクトル補間値）を示している。
【００７２】
図１０のグラフに示される変換特性（入出力特性）５６１によれば、前回に記憶された全体の動きベクトル値が小さい場合には、前回に記憶された全体の動きベクトル値と同じ値で動きベクトル補間値が出力される。
【００７３】
そして、前回に記憶された全体の動きベクトル値が所定値を越えると（図１では１０画素）、前回に記憶された全体の動きベクトル値が大きくなるに従って、出力される動きベクトル値が前回に記憶された全体の動きベクトル値よりも小さくなるように補正される。このように、第４実施形態では、動きベクトル補間値の最大値を制限する。即ち、
・補正後の動きベクトル補間値  ＝  前回に記憶された全体の動きベクトル値  （前回に記憶された全体の動きベクトル値  ≦  所定値）、
・補正後の動きベクトル補間値  ＜  前回に記憶された全体の動きベクトル値  （所定値  ≦  前回に記憶された全体の動きベクトル値）
となる。
【００７４】
このような補正を行う理由は、以下の通りである。即ち、一般に大きな動きベクトル値は、先にも述べたように、撮像素子の蓄積時間中のぶれ量も大きく、検出精度が低下していると考えられる。そのため、正確な全体の動きベクトル値ではない可能性が大きく、また、補正範囲が有限であるという制約や、撮像素子での蓄積ぶれによる画質低下により、連続した大きな動きベクトル値の全てに対して必ずしもぶれ補正を行う必要はないと考えられる。
【００７５】
動きベクトル補間値を算出するための、補間処理回路におけるベクトル値の変換特性は、図１０に示される変換特性５６１に限定されない。図１１は、動きベクトル補間値を算出するための、補間処理回路におけるベクトル値の別の変換特性を示すグラフである。
【００７６】
図１１のグラフに示される変換特性５６６によれば、前回に記憶された全体の動きベクトル値が所定値以下の場合には、前回に記憶された全体の動きベクトル値と同じ値で動きベクトル補間値が出力される。そして、前回に記憶された全体の動きベクトル値が所定値より大きい場合には、出力される動きベクトル値はその所定値に置き換られる。即ち、
・補正後の動きベクトル補間値  ＝  前回に記憶された全体の動きベクトル値  （前回に記憶された全体の動きベクトル値  ≦  所定値）”、
・補正後の動きベクトル補間値  ＝  所定値（所定値  ≦  前回に記憶された全体の動きベクトル値）
となる。
【００７７】
図１０及び図１１に示すいずれの変換特性５６１，５６６を用いても、連続的で、滑らかなぶれ補正を実現することができる。これにより、十分且つ正確にぶれ補正された画像が安定して得られる。
【００７８】
なお、実際のぶれ補正に用いられる全体の動きベクトル値は２次元（２軸）であるが、ここでも、説明の便宜上、全体の動きベクトル値を１次元（縦１軸）で示した。
【００７９】
＜第５実施形態＞
第５実施形態は、第２実施形態に係るぶれ補正回路が備える補間処理回路１２２での補間処理に変更を加えるものであり、動きベクトル補間値の算出の際に用いる全体の動きベクトル値の時間軸に対する変化に応じ、新たに算出される動きベクトル補間値を補正する。なお、第５実施形態に係る撮像装置と、この撮像装置が備えるぶれ補正回路のブロック図は、第２実施形態のものと同様になるため、図示を省略する。
【００８０】
図１２は、動きベクトル補間値の補正方法を説明するためのグラフである。このグラフの横軸は時間軸であり、全体の動きベクトル値が検出されるフィールド単位で、全体の動きベクトル値が示されており、縦軸は揺れ量（全体の動きベクトル値）を示している。よって、このグラフは、時間軸に対する全体の動きベクトル値の変化を示している。
【００８１】
図１２において、ベクトル５７０，５７１，５７２，５７３では、ベクトル値の変化量が増加傾向にある。一方、ベクトル５８０，５８１，５８２，５８３では、ベクトル値の変化量が減少傾向にある。
【００８２】
ここで、例えば、ベクトル５７３のベクトル値の信頼性が低いために、これを用いずに動きベクトル補間値を用いる場合、ベクトル値の変化が増加傾向にあるため、動きベクトル補間値も、前回記憶したベクトル５７２に相当するベクトル値に比べて増加する。
【００８３】
逆に、ベクトル５８３のベクトル値の信頼性が低いために、これを用いずに動きベクトル補間値を用いる場合、ベクトル値の変化が減少傾向にあるため、動きベクトル補間値も、前回記憶したベクトル５８２に相当するベクトル値に比べて減少する。
【００８４】
そのため、増加傾向が見られる場合には、動きベクトル補間値について、その増加量を見込んだ補正を行うことが好ましく、一方、減少傾向が見られる場合には、その減少量を見込んだ補正を行うこと画好ましい。
【００８５】
以下に、このような補正を伴う補間処理について以下に説明する。図１３は、動きベクトル補間値の補正方法のフローチャートである。この補正方法では、補間処理回路１２２が、連続した３つの動きベクトル値を２つ記憶する必要があり、この点で、図６に示したフローチャートでの処理と異なる。
【００８６】
動きベクトル補間値の算出の開始は、複数のブロック単位の動きベクトル値が算出されるタイミングに合わせて、繰り返し行われる。先ず、補間処理回路１２２に記憶されている連続した３つの動きベクトル値が時間軸順番で増加傾向にあるか否かが判定される（ステップＳ７０１）。例えば、ベクトル５７０＜ベクトル５７１＜ベクトル５７２、となるか否かが判定される。その結果、増加傾向にはないと判定された場合（Ｓ７０１で“ＮＯ”）、処理はステップＳ７０２へ進められる。一方、増加傾向であると判定された場合（Ｓ７０１で“ＹＥＳ”）、処理はステップＳ７０３へ進められる。
【００８７】
ステップＳ７０２では、補間処理回路１２２に記憶されている連続した３つの動きベクトル値が時間軸順番で減少傾向にあるか否かが判定される。例えば、ベクトル５８０＞ベクトル５８１＞ベクトル５８２、となるか否かが判定される。その結果、減少傾向にはないと判定された場合（Ｓ７０２で“ＮＯ”）、処理はステップＳ７０４へ進められ、一方、減少傾向であると判定された場合（Ｓ７０２で“ＹＥＳ”）、処理はステップＳ７０５へ進められる。
【００８８】
ステップＳ７０３では、連続した増加傾向があると判定されているので、動きベクトル補間値を、前回に記憶された動きベクトル値に対して増加傾向で補正する。この補正演算は、例えば、“動きベクトル補間値＝前回に記憶された動きベクトル値＋（前回に記憶された動きベクトル値−前々回に記憶された動きベクトル値）”の式を用いて行うことができる。
【００８９】
ステップＳ７０４では、増加傾向も減少傾向もないため、前回に記憶された動きベクトル値をそのまま動きベクトル補間値として用いる。
【００９０】
ステップ７０５では、連続した減少傾向があると判定されているので、動きベクトル補間値を、前回に記憶された動きベクトル値に対して減少傾向で補正する。この補正演算は、例えば、
・動きベクトル補間値  ＝  前回に記憶された動きベクトル値  −  （前々回に記憶された動きベクトル値  −  前回に記憶された動きベクトル値）
の式を用いて行うことができる。こうして、実際に用いる動きベクトル補間値が決定されて、処理は終了する。
【００９１】
このように、第５実施形態では、動きベクトル補間値に対して、動きベクトル値の時間軸に対する変化に応じた補正を行うことにより、連続的で、滑らかなぶれ補正を実現することができる。これにより、十分且つ正確にぶれ補正された画像が安定して得られる。
【００９２】
なお、実際のぶれ補正に用いられる全体の動きベクトル値は２次元（２軸）であるが、ここでも、説明の便宜上、全体の動きベクトル値を１次元（縦１軸）で示した。
【００９３】
＜その他の実施形態＞
以上、本発明の実施の形態について説明したが、上述した実施の形態は本発明の一例を示すものであって、本発明はこれに限定されるものではなく、各実施の形態の構成及び動作は、本発明の趣旨の範囲内において、適宜変更が可能である。例えば、本発明は、以下の処理を実行することによっても実現される。
【００９４】
例えば、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施の形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵ、ＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００９５】
１２    撮像光学系
２２    代表ベクトル検出回路
１２１，１２１ａ    信頼性判定回路
１２２    補間処理回路
【図１】
0005506374.tif 000002
【図２】
0005506374.tif 000003
【図３】
0005506374.tif 000004
【図４】
0005506374.tif 000005
【図５】
0005506374.tif 000006
【図６】
0005506374.tif 000007
【図７】
0005506374.tif 000008
【図８】
0005506374.tif 000009
【図９】
0005506374.tif 000010
【図１０】
0005506374.tif 000011
【図１１】
0005506374.tif 000012
【図１２】
0005506374.tif 000013
【図１３】
0005506374.tif 000014