(57)【特許請求の範囲】
【請求項１】
撮像素子から予め決められた周期で出力される画像信号から、予め決められた情報を検知して、該検知した情報を示す検知信号を出力する検知手段と、
前記検知信号を、新しい方から複数周期分、記憶する記憶手段と、
前記記憶手段に記憶された前記複数周期分の検知信号のうち、最も新しい検知信号を除く、新しい方から予め決められた数の検知信号に基づいて、第１の予測値を算出する第１の算出手段と、
前記第１の予測値と、前記最も新しい検知信号の値との差に基づいて、第２の予測値を求めるための係数を演算する演算手段と、
前記記憶手段に記憶された前記複数周期分の検知信号のうち、前記最も新しい検知信号を含む、新しい方から前記予め決められた数の検知信号と、前記係数とに基づいて、第２の予測値を算出する第２の算出手段と、
前記第２の予測値に基づいて、前記画像信号を得るために用いられる予め決められた構成部材を制御するための制御信号を生成する生成手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記検知手段は、前記予め決められた情報として振れ量を検知し、前記構成部材は振れ補正手段を含むことを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記検知信号の値が、予め決められた複数の周期の間、連続して予め決められた範囲内にある場合に、前記生成手段は、前記第２の予測値を用いずに、前記最も新しい検知信号の値に基づいて、前記制御信号を生成することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記検知手段は、前記予め決められた情報として焦点状態を検知し、前記構成部材は焦点調節手段を含むことを特徴とする請求項１乃至３のいずれか１項に記載の画像処理装置。
【請求項５】
前記検知手段は、前記予め決められた情報として輝度情報を検知し、前記構成部材は絞り及びシャッタの少なくともいずれかを含むことを特徴とする請求項１乃至４のいずれか１項に記載の画像処理装置。
【請求項６】
前記検知手段は、前記検知信号の信頼性を示す情報を更に出力し、
前記第２の算出手段は、前記最も新しい検知信号の前記信頼性が予め決められた信頼性より低い場合に、前記最も新しい検知信号の値の代わりに、前記第１の予測値を用いて前記第２の予測値を算出することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項７】
前記検知信号の信頼性を判定する判定手段を更に有し、
前記第２の算出手段は、前記最も新しい検知信号の前記信頼性が予め決められた信頼性より低い場合に、前記最も新しい検知信号の値の代わりに、前記第１の予測値を用いて前記第２の予測値を算出することを特徴とする請求項１乃至５のいずれか１項に記載の画像処理装置。
【請求項８】
前記記憶手段は、前記最も新しい検知信号の前記信頼性が前記予め決められた信頼性より低い場合に、前記最も新しい検知信号の前記検知信号の代わりに、前記第１の予測値を記憶し、
前記記憶手段に記憶された前記第１の予測値の数が、予め決められた数を超えた場合に、前記第２の算出手段は、前記最も新しい検知信号の前記信頼性に関わらず、前記最も新しい検知信号の値を用いて前記第２の予測値を算出することを特徴とする請求項６または７に記載の画像処理装置。
【請求項９】
前記記憶手段は、前記最も新しい検知信号の前記信頼性が予め決められた閾値より低い場合に、前記最も新しい検知信号の前記検知信号の代わりに、前記第１の予測値を記憶し、
前記記憶手段に記憶された前記第１の予測値の数が、連続して予め決められた数を超えた場合に、前記第２の算出手段は、前記最も新しい検知信号の前記信頼性に関わらず、前記最も新しい検知信号を用いて前記第２の予測値を算出することを特徴とする請求項６または７に記載の画像処理装置。
【請求項１０】
前記撮像素子と、
請求項１乃至９のいずれか１項に記載の前記画像処理装置と
を有することを特徴とする撮像装置。
【請求項１１】
検知手段が、撮像素子から予め決められた周期で出力される画像信号から、予め決められた情報を検知して、該検知した情報を示す検知信号を出力する検知工程と、
記憶手段に、前記検知工程で出力された検知信号を、新しい方から複数周期分、記憶する記憶工程と、
第１の算出手段が、前記記憶手段に記憶された前記複数周期分の検知信号のうち、最も新しい検知信号を除く、新しい方から予め決められた数の検知信号に基づいて、第１の予測値を算出する第１の算出工程と、
演算手段が、前記第１の予測値と、前記最も新しい検知信号の値との差に基づいて、第２の予測値を求めるための係数を演算する演算工程と、
第２の算出手段が、前記記憶手段に記憶された前記複数周期分の検知信号のうち、前記最も新しい検知信号を含む、新しい方から前記予め決められた数の検知信号と、前記係数とに基づいて、第２の予測値を算出する第２の算出工程と、
生成手段が、前記第２の予測値に基づいて、前記画像信号を得るために用いられる予め決められた構成部材を制御するための制御信号を生成する生成工程と
を有することを特徴とする画像処理装置の制御方法。
【請求項１２】
コンピュータを、請求項１乃至９のいずれか１項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項１３】
コンピュータに、請求項１１に記載の制御方法の各工程を実行させるためのプログラム。
【請求項１４】
請求項１２または１３に記載のプログラムを記憶したコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は画像処理装置及びその制御方法、撮像装置に関し、更に詳しくは、撮像装置に設けられた撮像素子から得た信号に基づいて制御を行う画像処理装置及びその制御方法、撮像装置に関する。
【背景技術】
【０００２】
近年、撮像素子の高機能化が進展しており、画素数、フレームレートの向上などが図られている。また、撮像素子から得られる信号を利用して複数の画像間で対象物の動きを表すベクトルデータ（オプティカルフロー）を求める方法が知られている。更に、オプティカルフローに基づいて複数画像の合成や、移動物体の検知を行う技術が知られている。なお、オプティカルフローの求め方としては、非特許文献１に開示された方法を用いることができる。
【０００３】
一方で、信号処理による時系列的な信号の予測や、予測に基づく制御方法についても提案がなされている。特許文献１では、観測信号に一定時間異常値が発生するようなシステムにおいて、異常値発生時の信号を予測器によって生成する信号処理方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１３−１１８４５０号公報
【非特許文献１】「ディジタル画像処理」  ＣＧ−ＡＲＴＳ協会  ｐ２４３〜ｐ２４５）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１は、現在の観測信号から将来の信号を予測するための技術であり、現在の観測信号ですでに生じている遅延を補償することはできなかった。
【０００６】
本発明は上記問題点を鑑みてなされたものであり、撮像素子から出力される信号に基づく光学系の調整において、遅延の影響を低減することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために、本発明の画像処理装置は、撮像素子から予め決められた周期で出力される画像信号から、予め決められた情報を検知して、該検知した情報を示す検知信号を出力する検知手段と前記検知信号を、新しい方から複数周期分、記憶する記憶手段と、前記記憶手段に記憶された前記複数周期分の検知信号のうち、最も新しい検知信号を除く、新しい方から予め決められた数の検知信号に基づいて、第１の予測値を算出する第１の算出手段と、前記第１の予測値と、前記最も新しい検知信号の値との差に基づいて、第２の予測値を求めるための係数を演算する演算手段と、前記記憶手段に記憶された前記複数周期分の検知信号のうち、前記最も新しい検知信号を含む、新しい方から前記予め決められた数の検知信号と、前記係数とに基づいて、第２の予測値を算出する第２の算出手段と、前記第２の予測値に基づいて、前記画像信号を得るための予め決められた構成部材を制御するための制御信号を生成する生成手段とを有する。
【発明の効果】
【０００８】
本発明によれば、撮像素子から出力される信号に基づく光学系の調整において、遅延の影響を低減することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態における撮像装置のブロック図。
【図２】オプティカルフローの算出方法を説明する図。
【図３】第１の実施形態における予測信号生成部の構成を示すブロック図。
【図４】サンプリング遅延及び本実施形態における予測信号生成部の具体的な動作を説明する図。
【図５】本実施形態におけるカメラシステムの動作を示すフローチャート。
【図６】変形例における撮像装置の構成を示す外観図及びブロック図。
【図７】第２の実施形態における予測信号生成部の構成を示すブロック図。
【図８】第２の実施形態における信頼性データの生成方法を説明するための図。
【図９】第３の実施形態における予測信号生成部の構成を示すブロック図。
【図１０】第４の実施形態における予測信号生成部の構成を示すブロック図
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明を実施するための形態を詳細に説明する。
【００１１】
＜第１の実施形態＞
図１は、カメラシステムの概略構成を示すブロック図である。本実施形態のカメラシステムは、主に、カメラ本体１と、カメラ本体１に着脱可能なレンズユニット２とからなる。カメラ本体１とレンズユニット２は、電気接点１１を介して電気的に接続される。
【００１２】
レンズユニット２は、光軸４上に配された、フォーカスレンズ及び振れ補正レンズ（構成部材）を含む複数のレンズ及び絞り（構成部材）からなる撮影光学系３、レンズシステム制御回路１２、レンズ駆動部１３を含む。
【００１３】
撮影光学系３を介して入射した被写体からの光は、シャッタ機構１４（構成部材）を介して撮像素子６（構成部材）の撮像面に結像される。撮像素子６は、入射した光を光電変換し、光量に応じた電気信号（画像信号）を出力する。
【００１４】
画像処理部７は、内部にＡ／Ｄ変換器、ホワイトバランス調整回路、ガンマ補正回路、補間演算回路、色補間処理回路等を有し、所定の画素補間処理や色変換処理を行って、記録用の画像データ及び表示用の画像データを生成することができる。また、画像処理部７は、予め定められた方法を用いて、画像データや音声データの圧縮を行う。更に、Ａ／Ｄ変換された画像データを用いて所定の演算処理を行い、得られた演算結果に基づいて、カメラシステム制御回路５が、ＴＴＬ（スルー・ザ・レンズ）方式のオートフォーカス（ＡＦ）処理、自動露出（ＡＥ）処理を行うことができる。これにより、カメラシステム制御回路５は、撮影光学系３に含まれるフォーカスレンズの駆動量、及び、絞りの絞り値と、シャッタ機構１４による露光時間とを求める。そして、電気接点１１を介してレンズシステム制御回路１２にフォーカスレンズの駆動量及び絞りの絞り値を通知する。レンズシステム制御回路１２は、通知されたフォーカスレンズの駆動量及び絞りの絞り値に基づいてレンズ駆動部１３を制御し、フォーカスレンズ及び絞りを駆動する。また、カメラシステム制御回路５は、求めた露光時間によりシャッタ機構１４を制御する。
【００１５】
また、画像処理部７は、撮像素子６から得られた画像信号に基づく複数の画像間の比較を行って振れ検知信号を生成する、振れ検知部７０を含む。なお、振れ検知部７０における処理については、詳細に後述する。
【００１６】
画像処理部７により生成された記録用の画像データは、カメラシステム制御回路５によりメモリ８に出力される。一方、表示用の画像データは、カメラシステム制御回路５により表示部９に表示される。また、表示部９を用いて、撮像した画像データを逐次表示することで、電子ビューファインダー（ＥＶＦ）機能を実現することができる。なお、表示部９は、カメラシステム制御回路５の指示により任意に表示をＯＮ／ＯＦＦすることが可能であり、表示をＯＦＦにした場合にはカメラ本体１の電力消費を大幅に低減することができる。
【００１７】
カメラシステム制御回路５は、一時的な記憶領域及び演算部を備え、カメラシステム全体を制御する。上述した制御に加え、撮像の際のタイミング信号などを生成して出力すると共に、ユーザによる外部操作に応じて、撮像系、画像処理系、記録再生系をそれぞれ制御する。例えば、不図示のシャッターレリーズ釦の押下を操作検出部１０が検出すると、撮像素子６の駆動、及び、画像処理部７における画像信号処理及び圧縮処理、記録処理、表示部９に表示する情報の表示内容等を制御する。表示部９はタッチパネルになっており、操作検出部１０に接続されている。
【００１８】
また、カメラシステム制御回路５は、振れ検知部７０から得られる振れ検知信号に基づいて、振れを予測し、予測した振れを表す振れ予測信号を出力する予測信号生成部５０を含む。そして、予測した振れ予測信号に基づいてレンズ駆動部１３を介して振れ補正レンズを制御する。
【００１９】
図２は、振れ検知部７０で行われる、複数の画像間の比較に基づく振れ検知信号である、オプティカルフローの求め方の一例を説明する図である。図２ではいわゆるブロックマッチング法について説明するが、他の方法を用いても良い。本実施形態では、振れ検知信号をライブビューや動画撮影時に求めるものとし、予め決められた周期で撮像素子６に蓄積され、読み出された画像信号が用いられる。
【００２０】
図２（ａ）は、撮像素子６から画像信号を読み出した直近の時刻をtnとした場合に、１周期前の時刻tn-1で読み出した画像、図２（ｂ）は時刻tnで読み出した画像を示す。また、図２（ｃ）は、時刻tn-1及びtnで読み出した画像を重ねて示し、検知されたベクトル（振れ検知信号）を模式的に示した図である。
【００２１】
まず、図２（ａ）に示す時刻tn-1で読み出した画像において、被写体６２の領域のうち、領域６３に着目する。この領域６３の大きさは任意に設定可能であるが、例えば８ｘ８画素などとすればよい。この領域６３が、図２（ｂ）に示す時刻tnで取得した画像のどこに移動したかを、差分絶対値（ＳＡＤ）などを基準に探索する。具体的には、図２（ｂ）の画像内において、領域６３に位置が対応する領域６５を中心として、予め定められた範囲、矢印６６に示すように領域をずらしながらＳＡＤを計算する。ＳＡＤを基準に用いた場合は、最小となる位置が、領域６３に対応する領域６７となる。結果として、図２（ｃ）に示すように、２つの画像間で、図２（ａ）に示す領域６３はベクトル６９で示すように移動したことが分かる。
【００２２】
上記の動作を画面内に設定された複数の領域について行い、複数の移動ベクトルを検知する。その後、主被写体に注目してベクトルを選択をする、ＲＡＮＳＡＣ（Ｒａｎｄｏｍ Ｓａｍｐｌｅ Ｃｏｎｓｅｎｓｕｓ）などの方法によって推定値を求める、などの方法で２つの画像間の移動ベクトルの評価値を１つ決める。なお、ＲＡＮＳＡＣは既知の技術であり、本願発明の要部ではないので説明は割愛する。このようにして、振れ検知部７０は振れ検知信号を求めて出力する。
【００２３】
図３は、本実施形態のカメラシステム制御回路５に含まれる予測信号生成部５０の構成例を示すブロック図である。本実施形態では、振れ予測信号の生成をライブビューや動画撮影時に行うものとする。撮像素子６から周期的に読み出された画像信号は、画像処理部７の振れ検知部７０において比較され、振れ検知信号u(m)が出力され、予測信号生成部５０に入力する。なお、かっこ内のmはmサンプル目であることを示す。
【００２４】
入力した振れ検知信号u(m)は、直列に接続された複数の遅延器２４（z-1）によって、それぞれ１周期ずつ遅延される。直近で読み出された画像信号をnサンプル目とした場合に、振れ検知信号u(n)を１つ遅延させたものが振れ検知信号u(n-1)であり、n-1サンプル目にサンプリングされた画像信号に基づく振れ検知信号であることを表している。以下同様に振れ検知信号u(n-2)、…、u(n-M+1)、u(n-M)が定義される。この、複数周期分の振れ検知信号u(n)、u(n-1)、…u(n-M+1)、u(n-M)は、カメラシステム制御回路５内の不図示のバッファメモリに蓄積される。バッファメモリを、例えばリングバッファで形成し、新しく振れ検知信号u(n)が入力する度に、現在の書き込み位置のデータの置換と、書き込み位置の変更を行うことで、効率的にバッファリングできる。そして、式（１）に示す演算により、フィルタ係数２５とバッファされた振れ検知信号を一連の加算器２６を用いて畳み込み積分する。これにより、バッファメモリに蓄積された複数周期分の振れ検知信号u(m)のうち、１サンプル前の振れ検知信号u(n-1)までの予め決められた数の振れ検知信号u(m)から、直近の振れ検知信号u(n)の予測値y(n)（第１の予測値）を得る。なお、hn-1はn-1サンプル目までに求められたフィルタ係数２５を示している。
【００２５】
0006521752.tif 000002
【００２６】
式（１）は時系列的な予測を線形結合によって行うことを示している。滑らかな信号や繰り返し性の高い信号は式（１）のような形でよく近似できることが知られている。撮影光学系３を制御するための信号もこのような特徴と持つものは多い。
【００２７】
この時の誤差eは、次の式（２）で定義することができる。これは、直近の振れ検知信号u(n)から、一連の加算器２６により得られた予測値y(n)を、加算器２８を用いて減算することにより得ることができる。
e = u(n) - y(n)      …（２）
【００２８】
このように定義することで、適応アルゴリズム処理部２９で既知の適応アルゴリズムを用いることで適応的に１周期先を予測するフィルタが形成される。適応アルゴリズムの一例として、ＬＭＳアルゴリズムによるフィルタ係数の更新式を式（３）に示す。式（３）は適応アルゴリズムの例であり、他のアルゴリズム（ＮＬＭＳやＲＬＳ等）を用いても良い。
hn(i)=hn-1(i)+μeu(i)      …（３）
(i = 1, 2, … ,M)
なお、上記式（３）において、μはステップサイズパラメータを示している。サンプリング毎に式（１）から式（３）の計算を繰り返し、hを更新することで、適応的にフィルタが形成される。
上記のように更新されたフィルタ係数３０を用いて、次の式（４）に示す演算により、振れ検知信号u(m)を一連の加算器２６を用いて畳み込み積分することで、振れ予測信号yp(n)（第２の予測値）を求める。
【００２９】
0006521752.tif 000003
【００３０】
上記式（４）において、振れ予測信号yp(n)は、バッファメモリに蓄積された複数周期分の振れ検知信号u(m)のうち、予め決められた数の現在までの振れ検知信号u(m)から予測された、１サンプル先の信号である。式（４）は式（１）と類似しているが、以下の点が異なっている。まず式（３）で更新されたフィルタ係数hnを用いている。また、演算に用いる最も古い振れ検知信号u(n-M)ではなくu(n-M+1)であり、且つ、現在の振れ検知信号u(n)を利用している。これらの結果、現在までにサンプリングされた信号から予測された１サンプル先の振れ予測信号yp(n)を計算する式になっている。直近の振れ検知信号u(n)から予測された１サンプル先の予測信号yp(n)は蓄積遅延を排除した現在の推定値となるが、これについては図４を用いて後述する。
なお、式（１）から式（４）の説明では、あるサンプリングタイミングに着目して式（１）と式（４）を個別に計算するように説明をした。しかしながら、式（４）は式（１）のnをn+1で置き換えたものになっている。すなわち振れ予測信号yp(n)は次のサンプリングにおけるy(n+1)として利用することができる。そのため振れ予測信号yp(n)をメモリ上に保持することで計算を削減することができる。次のサンプリング時間では振れ予測信号yp(n)をy(n+1)としてすぐに式（２）、式（３）、式（４）の順で計算を進めればよい。なお、一番最初のサンプリング時間においては式（１）から計算すればよい。
【００３１】
スイッチ３２は、後述する三脚判定に応じて切り替えられ、三脚を用いて撮影を行う場合等、振れが少ない場合には振れ検知信号u(n)をそのまま出力するように制御され、その他の場合は振れ予測信号yp(n)が出力されるように制御される。スイッチ３２の出力が撮影光学系３の制御に用いられる。
【００３２】
なお、図３では、分かり易くするために振れ検知信号u(n)をそのまま出力するときはスイッチ３２で切り替えて出力させているが、フィルタ係数hn(1)=1、hn(i)=0（i＝2、3、…、M）とすることで同じ出力を得ることができる。この場合、振れ検知信号u(n)をそのまま出力する場合でも、バッファメモリに保持された振れ検知信号u(n-1)からu(n-M+1)に基づいて出力を生成している。この時の処理は、現在の観測値が良い予測値になっている場合の処理に相当する。
【００３３】
次に、図４を参照して、蓄積による遅延と振れ予測信号の生成の様子及びサンプリング周期の違いによる誤差の発生の違いについて説明する。
【００３４】
図４（ａ）は、あるサンプリング周期の時の蓄積遅延及び第１の実施形態における信号処理を説明する図である。図４（ａ）において、横軸は時間を、縦軸は、振れ検知信号u(m)の信号レベルを示している。また、曲線４１は、カメラシステムの実際の振れを表している。
【００３５】
曲線４１のように振れが変化している場合、本実施形態のシステムにおいては、振れ検知部７０が、撮像素子６において予め決められた時間、電荷を蓄積して得られた画像信号から、振れ検知信号u(m)を算出している。これを図４（ａ）では、振れが蓄積されているものとして、１サンプリング周期に対応する時間tn-5からtn-4における領域４４として図示している。次の時刻tn-4で読み出された画像信号に基づく振れ検知信号u(n-4)としては、振れ検知部７０の演算方法にもよるが、時間tn-5からtn-4における振れの平均値に近い値４５を得ることができる。
【００３６】
上述した処理を逐次繰り返していくと、時刻tn+3で読み出された画像信号に基づく振れ検知信号u(n+3)は、信号値４３のようになる。ここで注意すべきことは、いわゆる０次ホールドよりも遅延が大きいことである。図４（ａ）の例ではほぼ１サンプル分の遅延が発生するため、実際の振れ４１と、信号値４３により表される、検知された振れ検知信号u(n+3)との間では、誤差４６が生じる。この誤差４６は、遅延による誤差なので、信号の微分値が大きい個所で大きくなる。周波数空間上で考えると、サンプリング遅延が無視できない周波数成分は誤差となって現れる。
【００３７】
図４（ｂ）は、同じ実際の振れ４１に対して、サンプリング周期を短くして観測した場合を示している。この時も領域５４によって、信号値５５に示すような振れ検知信号u(m)が検知され、これを繰り返すことで信号値５３に示すような振れ検知信号u(m)が検知される。この時の誤差５６は明らかに図４（ａ）における誤差４６よりも小さい。このように、サンプリングによる誤差が無視できるか否かは、観測すべき信号に含まれる周波数帯域（制御したい帯域、ここでは、振れの周波数）とサンプリング周期とから決まる遅延量によって決定される。すなわち、制御したい帯域に対してサンプリング周期が十分に短い（一般的にはサンプリング周波数が制御したい帯域の１０倍程度の）場合にはサンプリングによる遅延の影響は無視できる。しかしながら、現在の撮像素子６からのサンプリング周期は通常６０フレーム/秒程度であり、例えば手振れのような信号を考えたときに十分なサンプリング周期とは言えず、遅延が無視できない。
【００３８】
図４（ａ）に戻って、予測に基づくサンプリング遅延の補償について説明する。まず、時刻tnでの処理を考える。図３を参照して説明した式（１）〜（４）におけるMを３とした場合、バッファメモリには、時刻tn、tn-1、tn-2、tn-3で得られた振れ検知信号u(n)、u(n-1)、u(n-2)、u(n-3)の信号が収められている。これらの信号を用いて、式（１）の計算を行う。この計算を図４（ａ）では模式的に下側に線を引き出して示している。すなわち、振れ検知信号u(n-1)、u(n-2)、u(n-3)とフィルタ係数hn-1(1)、hn-1(2)、hn-1(3)とから、予測値y(n)を計算する。
【００３９】
その後、適応アルゴリズム処理部２９によってフィルタ係数hを更新し、フィルタ係数hn(1)、hn(2)、hn(3)を得る。そして、式（４）に基づいて、振れ予測信号yp(n)を計算する。この計算を図４（ａ）では模式的に上側に線を引き出して示している。すなわち、振れ検知信号u(n)、u(n-1)、u(n-2)と、フィルタ係数hn(1)、hn(2)、hn(3)とから、振れ予測信号yp(n)を計算する。こうして得られた振れ予測信号yp(n)の値は、点線で示す信号値４７のようになる。
【００４０】
領域４４と信号値４５を用いて説明したように、振れ検知部７０により検知される振れ検知信号u(m)は１サンプル程度遅延している。そこで、振れ予測信号yp(n)は現在までの信号から予測された１サンプル先である時刻tn+1の信号であるが、これを現在の時刻tnにおける振れ検知信号の推定値として利用する。つまり１サンプル先の信号の予測値を、現在の推定値として利用する。振れ予測信号yp(n)を計算するために将来の観測値u(n+1)は利用していないので、矛盾なく計算を行うことができる。図４（ａ）に示したように蓄積遅延が存在するようなシステムにおいては、１サンプル先の信号の振れ予測信号yp(n)と、実際の振れ４１との差は小さい。時刻tnに限らず他の時刻においても差は小さい。つまり良い現在の推定値になっていることが分かる。
【００４１】
結果として、撮像素子６の信号を基に、撮像素子６における蓄積遅延の影響を低減させて、撮影光学系３を調整することができる。蓄積遅延の影響が小さいため、より適切な防振制御を行うことができ、より高品位な、振れの低減された画像を得ることができる。
【００４２】
次に、図５のフローチャートを参照して、本実施形態におけるカメラシステムの制御について説明する。図５（ａ）はカメラシステムの動作の全体の流れを示しており、特に本発明と関連する処理を示している。図５（ｂ）は防振制御を含む、露光／光学制御を示している。
【００４３】
図５（ａ）において、カメラシステムの電源ＯＮ動作などにより処理を開始すると、Ｓ１１０において、予測信号生成部５０のフィルタをリセットする。このＳ１１０において、図３に示すバッファされた振れ検知信号u(n)、u(n-1)、…、u(n-M+1)、u(n-M)及びフィルタ係数h0(1)、h0(2)、…、h0(M)が予め定められた値に置き換えられる。ここでは、例えば、すべてゼロを設定する。
【００４４】
Ｓ１２０では、カメラシステムが固定して設置されているか否かの判定を行う。例えば、三脚に設置されたようにカメラシステムが固定されている場合は、振れが小さくなるので、本実施形態の振れ検知方法を省略することで、演算量を低減させることができる。例えば、振れ検知部７０で検知される振れ検知信号u(m)の絶対値が予め定められた閾値を所定周期の間、連続して下回った（振れ検知信号u(m)が予め決められた範囲内にある）場合は、三脚等にカメラシステムが設置されていると判断する。そして、その旨を示すフラグをセットする。
【００４５】
Ｓ１３０では、電源のＯＦＦを監視する。電源がＯＦＦされた場合は、動作を停止して処理を終了し、そうでない場合はＳ１４０に進む。Ｓ１４０では、露光及び防振制御を行う。なお、Ｓ１４０における詳細な処理については、図５（ｂ）を参照して後述する。
【００４６】
Ｓ１５０では、撮影して得られた画像を表示する。これは、Ｓ１４０及びＳ１５０における処理は撮影予備動作中に行われるためであり、Ｓ１５０では画像の記録は行わず、カメラ本体１に設けられた表示部９に画像の表示を行う。これによりユーザーは構図の確認などを行うことができる。
【００４７】
Ｓ１６０では、録画の開始を判断する。ユーザーの操作により録画が開始が指示された場合はＳ１７０に進み、そうでない場合はＳ１２０に戻り、撮影予備動作が繰り返される。
【００４８】
Ｓ１７０では、バッファメモリのリセット及び振れ補正レンズのセンタリングを行う。この動作により、振れ補正レンズは光軸中心に近い位置になり、どの方向にも同程度動けるため、振れ補正レンズが駆動範囲の限界に到達する確率が下がり、画質の向上や防振範囲の拡大を図ることができる。
【００４９】
Ｓ１８０では、撮影予備動作中のＳ１４０と同じ処理を行う。ただし後述するように、センサの読み出し方法はそれぞれの方式に適した形で行っても良い。Ｓ１９０では、撮影した画像の表示及び記録を行う。Ｓ１８０とＳ１９０を繰り返すことで撮影が行われる。ここでは撮影動作と呼ぶ。
【００５０】
Ｓ２００では、録画の終了を判断する。ユーザーの操作により録画の終了が指示された場合はＳ１２０に進み、撮影予備動作に戻る。そうでない場合はＳ１８０に戻って撮影動作が繰り返される。
【００５１】
次に、図５（ｂ）を参照して、露光／光学制御について説明する。図５（ｂ）に示す露光／光学制御は、撮影予備動作中のＳ１４０及び撮影動作中のＳ１８０の双方から呼び出される。
【００５２】
処理が呼び出されると、Ｓ３１０において撮像素子６から画像信号の読み出しを行う。同時にリセットが行われ、次の読み出しまでの蓄積が開始される。なお、Ｓ３１０の読み出しは、撮影予備動作及び撮影動作にそれぞれ適した方法で行えば良い。例えば、撮影予備動作で出力する画像がカメラ本体１に設けられた表示部９である場合、その解像度に合わせた画像を得られれば良いため、間引き読み出しを行うことで消費電力を抑えることができる。また、撮影動作においてはユーザーの設定によって解像度や読み出し範囲（いわゆるクロップ撮影）を変化させる。
【００５３】
Ｓ３１０で画像信号が読み出されると、読み出した画像信号を用いた防振制御が開始される。Ｓ３２０では、振れ検知部７０が上述したようにしてオプティカルフローの演算を行い、振れ検知信号u(m)を得る。Ｓ３３０では三脚に設置されているか否かを、Ｓ１２０で設定されたフラグによって判断する。三脚に設置していると判断されているときはＳ３４０に進み、スルー出力を行う。ここでいうスルーとは、防振制御に用いる信号として、振れ検知部７０で検知したままの振れ検知信号u(m)を出力することを示している。これは、図３のスイッチ３２を切り替えて、入力した振れ検知信号u(m)をそのまま制御信号とすることに対応している。
【００５４】
一方、三脚に設置されていない場合はＳ３５０に進み、振れ予測信号を演算して出力する。ここでは、防振制御に用いる制御信号として、図３に示したフィルタで処理した振れ予測信号ypを出力することを示している。これは、図３のスイッチ３２を切り替えて、振れ予測信号yp(n)を制御信号とすることに対応している。
【００５５】
Ｓ３６０では、Ｓ３４０またはＳ３５０で得られた制御信号に基づいて振れ補正レンズの位置制御を行うことにより、撮影光学系３の駆動を行う。以上の処理が終了すると、図５（ａ）の処理に戻る。
【００５６】
上記の通り本実施形態によれば、蓄積遅延が発生する撮像素子の画像信号を利用して撮影光学系３の調整を行う場合に、遅延の影響を低減することができる。結果として、蓄積遅延の影響が小さいため、より適切な防振制御がなされ、映像品質を向上することができる。
【００５７】
なお、上述した例では、撮影光学系３に含まれる振れ補正レンズを駆動することにより防振制御する場合について説明したが、撮像素子６を駆動することによっても、防振制御を行うことが可能である。
【００５８】
また、上述した例では、振れを予測する場合について説明したが、本発明は振れの予測及び振れ補正レンズの制御に限られるものではなく、撮像素子から出力された画像信号を用いた、カメラシステムの各部の様々な制御に適用することができる。例えば、撮像面位相差ＡＦを利用して焦点調節を行う場合には、画像の焦点状態を示す信号、露出を制御するためには、画像の明るさを示す輝度情報を示す信号を用いて、予測値を求め、フォーカスレンズ、絞り、シャッタ速度等を制御することが考えられる。
【００５９】
＜変形例＞
本発明の変形例を図６に示す。図６は、変形例における撮像装置１００を示す図であり、レンズユニットとカメラ本体とが一体的に構成された場合を示す。図６（ａ）及び（ｂ）は、撮像装置の外観を示す正面及び背面からの斜視図であり、図６（ｃ）は電気的構成を示すブロック図である。このような撮像装置では、レンズユニットとカメラ本体との境界が明確でなく、それぞれに独立してシステム制御部を備えていない場合も多い。図６（Ｃ）において、カメラシステム制御回路１０５は、レンズ駆動部１３を直接制御することで、撮影光学系３の制御を行う。なお、図１と同様の機能を有する構成には同じ番号を付し、説明を省略する。
【００６０】
図６に示す構成を有する撮像装置１００においても、第１の実施形態と同様の処理を行うことができる。
【００６１】
＜第２の実施形態＞
次に、本発明の第２の実施形態について説明する。図７は、第２の実施形態における予測信号生成部５０’の構成を示すブロック図であり、図１または図６に示す予測信号生成部５０の代わりに用いることができる。なお、予測信号生成部５０’以外の構成は、図１または図６に示すものと同様であるため、ここでは説明を省略する。
【００６２】
図７に示す予測信号生成部５０’と図３に示す予測信号生成部５０との違いは、比較器３５及びスイッチ３６を更に有する点である。それ以外の構成は、図３に示すものと同様であるため、同じ参照番号を付し、説明を省略する。
【００６３】
また、第２の実施形態では、振れ検知部７０では、振れ検知信号u(m)に加えて、信頼性に関するデータも得る。なお、信頼性に関するデータの取得方法については後述する。信頼性データは比較器３５に入力される。そして、得られた信頼性が、予め定められた信頼性よりも低いと判断される場合はスイッチ３６を動作させて、バッファメモリへの入力を、振れ検知部７０の振れ検知信号u(n)から、予測信号生成部５０で得られた１サンプル前の予測値y(n)に切り替える。
【００６４】
適応フィルタが適切に形成されていれば、予測値y(n)は、振れ検知信号u(n)の良い予測値になっているはずである。少数のサンプルであれば、予測値y(n)を振れ検知信号u(n)の代わりに用いても信号が破たんすることはない。そのため、例えば振れ検知部７０で検出を失敗した場合など、信頼性の低い振れ検知信号を用いるよりも適切な処理を行うことができる。
【００６５】
ここで、図８を用いて、信頼性が低下するような場面と、信頼性データの生成方法について説明する。図８（ａ）は時系列的に複数の視点から画像を取得する様子を模式的に示した図である。矢印７９は光源からの光線を示し、８０は被写体を示している。ここでは一例として、矢印８１，８２，８３により表される３つの視点から画像を取得することを模式的に表している。図８（ａ）に示すように、複数の視点８１，８２，８３から撮影すると、それぞれの画像には、異なる位置に同一の被写体８０の被写体像８４，８５，８６が結像する。なお、８４ａ，８５ａ，８６ａは、それぞれ被写体像８４，８５，８６上の鏡面反射成分の位置を示している。
【００６６】
振れ検知部７０によって、被写体像８４，８５，８６からオプティカルフローを求め、被写体８０が重なるようにすると、図８（ｂ）のような像が得られる。すなわち被写体像８４，８５，８６が重なり、反対に像の取得範囲を示す枠８１ａ，８２ａ，８３ａがずれた状態である。８７は位置合わせのために用いる部分領域を示す枠である。
【００６７】
図８（ｂ）の像においては、鏡面反射成分８４ａ，８５ａ，８６ａは互いに異なる位置となっており、このような被写体では、像の一致度が低下する。像の一致度が低下するような場面では、鏡面反射成分に基づいて定めたオプティカルフローと、拡散反射成分に基づいて定めたオプティカルフローとで値が異なってしまう。また、そのいずれが選択されるかは、鏡面反射成分と拡散反射成分の信号の強度やオプティカルフローを計算する時の着目領域の大きさなどに依存する。すなわちオプティカルフローが安定しないことが想定される。
【００６８】
そこで、このような像の一致度を信頼性データとして用いることができる。像の一致度が低い場合には、信頼性が低いことを表す信頼性データを出力する。別の方法としては、像の一致度を、明るさや一致度の変化率で除して無次元化しても良い。
【００６９】
上記の通り第２の実施形態によれば、振れ検知部から得られる振れ検知信号の信頼性が低い場合においても、より適切な振れ補正制御を行うことができる。
【００７０】
＜第３の実施形態＞
次に、本発明の第３の実施形態について説明する。図９は、第３の実施形態における予測信号生成部５０”の構成を示すブロック図であり、図１または図６に示す予測信号生成部５０の代わりに用いることができる。なお、予測信号生成部５０”以外の構成は、図１または図６に示すものと同様であるため、ここでは説明を省略する。
【００７１】
図９に示す予測信号生成部５０”は、図７に示す予測信号生成部５０’と類似しているが、比較器３５に変えて、連続性判断器３７を備えているところが異なる。連続性判断器３７には、振れ検知部７０の出力である振れ検知信号u(m)オプティカルフローが入力される。一定周期で被写体の動きを観察している場合、突然閾値を超えて振れ検知信号u(m)の値が変化することは考えにくい。つまり、１周期の間に画面の端から端まで動くようなものは主被写体であるとは考えにくい。そこで、図９の例では連続性判断器３７において、振れ検知部７０の時系列的な出力に基づいて信頼性を判定する。閾値を超えて変化した場合は信頼性が低いとしてスイッチ３６を動作させて、バッファメモリへの入力を振れ検知部７０からの振れ検知信号u(m)から、予測信号生成部５０”の１サンプル前の予測値y(n)に切り替える。
【００７２】
上記の通り第３の実施形態によれば、振れ検知部から得られる振れ検知信号の信頼性が低い場合においても、より適切な制御を行うことができる。
【００７３】
＜第４の実施形態＞
次に、本発明の第４の実施形態について説明する。図１０を用いて、スイッチ３２の別の切り替え制御について説明する。図１０は予測信号生成部５０'の構成を示したブロック図であり、図７に示す構成と同様である。ただし、図１０（ａ）及び図１０（ｂ）において、網けきして示した遅延器２４はその直前のバッファ内容が予測信号生成部５０で得られた、１サンプル前の予測値y(n)となっていることを示している。すなわち図１０（ａ）では、振れ検知信号の信頼性が高い場合には振れ検知信号u(n)、u(n-2)、u(n-M+2)がバッファされるところ、１サンプル前の予測値y(n)、y(n-2)、y(n-M+2)がバッファされたことを表している。また、図１０（ｂ）では振れ検知信号u(n),u(n-1),u(n-2)の代わりに、予測値y(n)、y(n-1)、y(n-2)がバッファされたことを表している。
【００７４】
図１０（ａ）は１サンプル前の予測値y(n)での置き換えが、連続はしていないが一定の比率に達した場合を示す模式図であり、図１０（ｂ）は１サンプル前の予測値y(n)での置き換えが連続して発生した場合を示している。
【００７５】
図１０（ａ）に示すように、現在の振れ予測信号yp(n)を生成するためにM+1サンプル目にバッファされた値を参照している。このうちの多くが１サンプル前の予測値y(n)信号となった場合は、振れ検知部７０の振れ検出信号u(n)を参照せず、予測値y(n)ばかりになって、振れ予測信号yp(n)が十分良い予測値ではなくなってしまう可能性がある。そこで、バッファメモリに保持された予測値y(n)の数が予め定められた数を超えた場合には、スイッチ３２を動作させて、振れ検知部７０の信号に基づいて振れ補正レンズを動作させる。これは、遅延の影響を受けていても、予測値y(n)よりも良いと考えられるからである。
【００７６】
同様に、図１０（ｂ）のように連続して予測値y(n)による置き換えが発生する場合には急速に振れ予測信号yp(n)の質が低下することも考えられる。そこで、バッファメモリに保持された予測値y(n)の数が連続して予め定められた数を超えた場合には、図１０（ａ）の場合と同様に、スイッチ３２を動作させて、振れ検知部７０からの振れ検知信号u(n)に基づいて振れ補正レンズを動作させる。
【００７７】
＜他の実施形態＞
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７８】
１：カメラ本体、２：レンズユニット、３：撮影光学系、４：光軸、５：カメラシステム制御回路、６：撮像素子、７：画像処理部、１１：電気接点、１２：レンズシステム制御回路、１３：レンズ駆動部、１４：シャッタ機構、２４：遅延器、２５，３０：フィルタ係数、２６，２８：加算器、２９：適応アルゴリズム処理部、３２，３６：スイッチ、３５：比較器、３７：連続性判断器、５０，５０’，５０”：予測信号生成部、７０：振れ検知部、１００：撮像装置
【図１】
0006521752.tif 000004
【図２】
0006521752.tif 000005
【図３】
0006521752.tif 000006
【図４】
0006521752.tif 000007
【図５】
0006521752.tif 000008
【図６】
0006521752.tif 000009
【図７】
0006521752.tif 000010
【図８】
0006521752.tif 000011
【図９】
0006521752.tif 000012
【図１０】
0006521752.tif 000013