図1及び図2は本発明の実施例1に係わる防振制御装置を具備した一眼レフカメラを示す平面図及び側面図であり、図68及び図69の従来例と同じ部分は同一符号を付してある。図68及び図69の従来例と異なるのは、カメラ(防振制御装置)に加わる振れを検出する振動検出部として、角速度計6807p,6807yに加え、加速度を検出する加速度計(acc)101p,101yを設けている点である。この加速度計101p,101y各々の加速度検出軸は矢印101pa,101yaである。
角速度計6807p,6807y及び加速度計101p,101yの出力はともにレンズCPU6808に入力される。そして、それら出力の関連により駆動部6809によって振れ補正部6806が駆動される。
図3は、本発明の実施例1に係る防振制御装置を示すブロック図である。図3では、カメラの鉛直方向に生じる振れ(ピッチ方向:図1及び図2の矢印6806p,101pb方向)の構成のみを示している。しかし、同様な構成はカメラの水平方向に生じる振れ(ヨー方向:図1及び図2の矢印6806y,101yb方向)にも設けられている。これらは基本的には同じ構成になっているので、以下ピッチ方向の構成のみを図示し、その説明を行う。
図3を用いて、まず、角度振れの補正について説明する。
角速度計6807pからの角速度信号はレンズCPU6808に取り込まれる。そして、その角速度信号はHPF積分フィルタ301に入力され、HPF(ハイパスフィルタ或いは高域透過フィルタ)でDC成分をカットされた後に積分され、角度信号に変換される。尚、HPF処理や積分処理は量子化された角速度信号をレンズCPU6808内で演算処理することで得られ、公知の差分方程式などで実現可能である。また、レンズCPU6808に入力される前に、コンデンサや抵抗を利用してアナログ回路で実現する事も可能である。
ここで、手振れの周波数帯域は1Hz〜10Hzの間である。そのため、HPFとしては例えば手振れの周波数帯域から十分離れた、例えば0.1Hz以下の周波数成分をカットする1次のHPF特性になっている。この事を以後、“0.1Hz折点1次HPF処理”と記す。
図4及び図5はその説明をするためのHPF特性のボード線図であり、横軸は周波数、縦軸は利得及び位相であり、手振れの帯域を矢印404で示す。尚、利得は角速度計6807pの出力に対するHPF積分フィルタ301の出力比をデシベル表示で示している。
ここで、図4の“1Hz折点1次HPF処理”では、利得401は1Hz以下の周波数が減衰される特性になっているが、手振れの下限周波数である1Hzにおいても利得が−6db減少し、位相402も矢印403で示すように1Hzでは45度進んでいる。すなわち、1Hzの手振れはその検出精度が低く、十分な画像振れ補正が出来ない。
それに対し、図5に示す“0.1Hz折点1次HPF処理”では、利得501は手振れの下限周波数である1Hzでは僅かの減少で、且つ、位相502も矢印503で示すように1Hzでは5度の進みで済んでいる。そのため、1Hzの手振れに対しても精度よい画像振れ補正が出来る。積分に関しても同様であり、手振れの周波数帯域は1Hz〜10Hzの間である。よって、積分処理としては例えば手振れの周波数帯域から十分離れた、例えば0.1Hz以上の周波数成分を1階積分する特性になっている。この事を以後、“0.1Hz折点1階積分処理”と記す。
図6及び図7はその説明をする積分特性のボード線図であり、横軸は周波数、縦軸は利得及び位相であり、手振れの帯域を矢印404で示す。尚、利得は角速度計6807pの出力信号に対するHPF積分フィルタ301の出力比をデシベル表示で示している。
ここで、図6の“1Hz折点1階積分処理”では、利得601は1Hz以上の周波数においては周波数に比例して利得が小さくなる1階積分特性が得られている。しかし、手振れの下限周波数である1Hzにおいても利得が−6db減少し、位相602も矢印603で示す様に1Hzでは45度進んでいる。すなわち、1Hzの手振れはその検出精度が低く、十分な画像振れ補正が出来ない。ここで、上記1Hzにおいても利得が−6db減少する、との記載の補足説明をする。0.01Hzや0.1Hzなど積分しない周波数では−16dbである。1Hzから積分を開始するのであれば1Hzでも−16dbである筈なのに、実際には1Hzで−22dbになっている。すなわち、1Hzでは6db分更に利得が低くなってしまっている(利得が−6db減少している)ことを意味する。
それに対し、図7に示す“0.1Hz折点1階積分処理”では、利得701は手振れの下限周波数である1Hzでは僅かの減少で、且つ、位相702も矢印703で示す様に1Hzでは5度の進みで済んでいる。そのため、1Hzの手振れに対しても精度よい振れ補正が出来る。この事をボード線図ではなく、実際の手振れと、角速度計6807pが検出する手振れと補正残りの波形を用いて説明する。
図8は手振れの波形及びその処理結果を時間軸で示した図である。横軸は時間、縦軸は上段より実際の手振れ角度、角速度計6807pの検出する手振れ角速度、HPF後の手振れ角速度、HPF後の角速度出力を積分した積分角度、実際の手振れ角度と積分角度の差である補正残りである。
波形801は、実際の手振れの下限周波数である1Hzの振れ角度である。そして、その振れが入力されることで角速度計6807pが検出する角速度を、波形802で示している。ここで実際の角速度計6807pの出力にはDCバイアス成分や長期ドリフト成分が重畳しているので、前述した様に“1Hz折点1次HPF処理”により上記ノイズ成分を減衰させると、波形803となる。
波形803は波形802に比べて振幅が半減し、位相も45度進んでしまう。これは前述した様に手振れ下限周波数である1Hzの波形を“1Hz折点1次HPF処理”したことによる影響である。そして、この波形803を前述した様に“1Hz折点1階積分処理”を行うと、波形804となる。ここでも同様の理由で振幅の半減と位相のずれが生じ、実際の振れ角度波形801と比較すると振幅が大きく減衰し、位相も90度進んでしまう。位相がこのように90度進むのは、1次HPFで45度進み、且つ1階積分時に45度進むためにそれらの合計として位相が90度進むことによる。
波形805は実際の振れ角度波形801から演算で求めた積分角度の差であり、補正残りに相当するが、その振幅は実際の振れ角度波形801の振幅と殆ど差が無い。即ち、この周波数の振れに関しては画像振れ補正は殆ど出来ない。
同様の波形を、今度は“0.1Hz折点1次HPF”及び“0.1Hz折点1階積分処理”した場合を図9に示す。図9においても、横軸は時間、縦軸は上段より実際の手振れ角度、角速度計6807pの検出する手振れ角速度、HPF後の手振れ角速度、HPF後の角速度出力を積分した積分角度、実際の手振れ角度と積分角度の差である補正残りである。
波形901は、実際の振れの下限周波数である1Hzの振れ角度である。そして、その振れが入力される事で角速度計6807pが検出する角速度を、波形902で示している。ここで、実際の角速度計6807pの出力にはDCバイアス成分や長期ドリフト成分が重畳しているので、前述した様に“0.1Hz折点1次HPF処理”により上記ノイズ成分を減衰させると、波形903となる。
波形903は波形902に比べても振幅変化は少なく、位相も5度の進みで収まっている。これは前述した様に手振れ下限周波数である1Hzの波形に対して十分低い周波数である“0.1Hz折点1次HPF”で角速度信号を処理したことによる。そして、この波形903を前述した様に“0.1Hz折点1階積分処理”を行うと、波形904となる。ここでも同様の理由で振幅の減衰は少なく、実際の振れ角度波形901と比較すると、位相も10度の進みで収まっている。このように位相が10度進むのは、1階HPFで5度進み、且つ積分時に5度進むためにそれらの合計として位相が10度進むことによる。
波形905は実際の振れ角度波形901から演算で求めた積分角度の差であり、補正残りに相当する。その補正残りの振幅は実際の振れ角度波形901の振幅の約1/4に減衰している。即ち、HPF及び積分を手振れ下限周波数より十分低い周波数帯域より処理することで、画像振れ補正の効果を得ることが出来る。
図3に戻って、HPF積分フィルタ301の出力(角度信号θ)は敏感度調整部303に入力される。敏感度調整部303は、フォーカスエンコーダやズームエンコーダよりレンズCPU6808に入力されるズーム、フォーカス情報302およびそれらより求まる撮影倍率に基づいてHPF積分フィルタ301の出力を増幅し、角度振れ補正目標値にする。これはレンズのフォーカスやズームなどの光学状態の変化により振れ補正部6806の振れ補正ストロークに対するカメラ像面での振れ補正敏感度が変化することを補正するためである。
レンズCPU6808は、求まった角度振れ補正目標値を駆動部6809に出力し、振れ補正部6806を駆動することで画像振れ補正を行わせる。
以上が、従来行われている角度振れ補正の概略構成である。
これに対し、本発明の実施例1においては、角度振れ補正目標値に、後述する平行振れ補正目標値を加算して、振れ補正部6806を駆動するようにしている。
図10は、振れ補正処理全体の周波数特性を示す図であり、横軸は周波数、縦軸は手振れ角度に対する振れ補正部6806の補正動作の比をデシベル表示で示した利得およびその位相を示す。尚、図6及び図7では、手振れ角速度に対するその積分値の周波数特性の為に手振れ周波数帯域404において利得は周波数に比例して減衰し、位相は90度遅れている。これに対し、図10においては、手振れ角度に対する角度振れ補正目標値(角速度計6807pで検出された振れを演算で求めた振れ角度)の周波数特性であり、角度と角度の比較になるので、手振れ周波数帯域では利得は略一定で、位相も略ゼロとなる。
図10において、波形1001において低周波領域(0.1Hz近辺より低い周波数)が減衰しているのは、前述した“0.1Hz折点1次HPF”及び“0.1Hz折点1階積分処理”による。
前述した様に図6及び図7とは比較の対象が異なるので(図6及び図7では、角度と角速度、図10では角度と角度)、図10の積分処理は0.1Hz以下を減衰させる、HPFと同様な波形となる。また、波形1001において高周波領域(100Hz近辺より高い周波数)が減衰しているのは、振れ補正部6806のメカニカルな応答特性による。
このように手振れ補正帯域は、HPF、積分処理とメカニカルな応答により設定され、矢印404で示す手振れ帯域の画像振れ補正を行っている。前述した様にHPF、積分処理の折点が手振れ周波数帯域に近い場合ばかりでなく、メカニカルな応答特性がよくない場合(例えば10Hz以上は応答しないような振れ補正部)にも、精度よい画像振れ補正は行えない。そのため、手振れ帯域に合わせてHPFや積分の演算処理やメカニカルな応答を高精度に設定している。
図3に戻って、次に、平行振れ補正の構成について説明する。
角速度計6807pの出力はレンズCPU6808に取り込まれる。そして、その出力はHPF積分フィルタ310に入力され、HPF(ハイパスフィルタ或いは高域透過フィルタ)でDC成分をカットされた後に、積分されて角速度出力ωは角度出力θに変換される。尚、HPF積分フィルタ310における積分折点は、HPF積分フィルタ301とは異なっており、その理由は後述する。
HPF積分フィルタ310の出力は利得調整フィルタ(以下、利得調整部)311に入力される。この利得調整部311の役割についても後述する。利得調整部311の出力は後述する出力補正部309により補正され、平行振れ補正目標値とされて、前述した角度振れ補正目標値に加算される。
また、上記処理と同時に、角速度計6807pの出力はHPF位相調整フィルタ(以下、HPF位相調整部)304に入力され、角速度計6807pの出力に重畳するDC成分をカットされると共にその信号の位相調整が行われる。この時のHPF折点および位相調整に関する詳細は後述する。HPF位相調整部304の出力は帯域透過手段である角速度計BPF部(バンドパスフィルタ或いは帯域透過フィルタ)306で所定帯域の周波数成分のみ抽出される。
加速度計101pの出力はHPF積分フィルタ305に入力され、加速度計101pに重畳するDC成分がカットされると共に1階積分して速度Vに変換される。この時のHPFおよび積分折点に関する詳細は後述する。HPF積分フィルタ305の出力は帯域透過手段である加速度計BPF部(バンドパスフィルタ或いは帯域透過フィルタ)307で所定帯域の周波数成分のみ抽出される。
角速度計BPF部306及び加速度計BPF部307の出力は、比較部308で比較され、利得調整部311の出力を補正する補正値(補正係数)が算出される。
出力補正部309にはズーム、フォーカス情報302も入力されており、ズーム、フォーカス情報302より撮影倍率を演算し、求められた撮影倍率及び前述した補正値に基づいて利得調整部311の出力を補正して、平行振れ補正目標値にする。求められた平行振れ補正目標値は前述した角度振れ補正目標値に加算され、駆動部6809に出力される。これにより、振れ補正部6806が駆動部6809により駆動され、角度振れと平行振れの両者の画像振れが補正されることになる。
以上において、先ず比較部308から出力される補正値について説明する。
図11はカメラに加わる角度振れ6803pと平行振れ101pbを示した図である。撮影レンズ6801内の撮像光学系の主点位置における平行振れY(101pb)と角度振れθ(6803p)と回転中心O(1102p)を定めた場合の回転半径L(1101p)の関係は、以下の(1),(2)式にて表せる。
Y=Lθ ………………(1)
V=Lω ………………(2)
尚、回転半径L(1101p)は、回転中心1102pから加速度計101pまでの距離である。
ここで、(1)式は、加速度計101pの出力を2階積分して変位Yを求め、又角速度計6807pの出力を1階積分して角度θを求めた場合の回転半径Lである。(2)式は、加速度計101pの出力を1階積分して速度Vを求め、又角速度計6807pの出力より角速度ωを求めた場合の回転半径Lである。これら式(1),(2)いずれの方法でも回転半径Lを求めることができる。
撮像光学系の主点の位置における平行振れYと撮像光学系の振れ角度θ及び撮像光学系の焦点距離fと撮影倍率βより撮像面に生ずる振れδは、以下の式(3)で求められる。
δ=(1+β)fθ+βY ………………(3)
ここで、右辺第1項のf,βは撮像光学系のズーム、フォーカス及びそれにより得られる撮影倍率βや焦点距離情報fより求まり、振れ角度θは角速度計6807pの積分結果より求まる。よって、その情報に応じて、図3を用いて説明したように角度振れ補正を行うことができる。
また、右辺第2項に関しては、加速度計101pの2階積分値Yとズーム、フォーカス、及びそれにより得られる撮影倍率βにより求まるので、その情報に応じて、図3を用いて説明したように平行振れ補正を行うことが出来る。
しかし、本実施例1においては、式(3)を、以下の式(4)の様に書き直した振れδに対して画像振れ補正を行っている。
δ=(1+β)fθ+βLθ ………………(4)
即ち、平行振れに関しては、加速度計101pより直接求まる平行振れ変位Yを用いるのではない。一旦式(1)或いは式(2)で求まる回転半径Lを求め、この回転半径Lと角速度計6807pの出力の積分結果(θ)とズーム、フォーカス及びそれにより得られる撮影倍率βにより補正している。
ここで、加速度計101pは撮像光学系のレンズ主点位置に配置されており、回転半径L(1101p)は回転中心1102pから撮像光学系のレンズ主点位置までの距離に等しい。加速度計101pの出力を2階積分すれば値Yが求まるので、式(3)を利用して平行振れ補正を行えば良いのに、式(4)を用いて平行振れ補正を行う理由を以下に説明する。
図12は加速度計101pの信号検出系を示すブロック図であり、図11のように回転中心1102pを中心とした振れ角度θの入力時におけるレンズ主点位置の平行振れ変位Y(101pb)の関係を示している。
今、振れ角度θが入力されると、加速度計101pはその傾きによる重力成分の変動も検出する。そして、振れ角度θが大きくない範囲では重力変動により出力される重力加速度α1(回路部1201の出力)は振れ角度θに比例する。
また、振れ角度θに、図11の回転半径L(1101p)を乗じた結果が平行振れ変位Y’(回路部1202の出力)であり、この平行振れ変位Y’を回路部1203にて2階微分した平行振れ加速度α2を加速度計101pは出力する。
更に、加速度計101pの出力にはノイズも重畳している。ノイズの種類は周波数によらず一定のノイズや周波数に関係するノイズなどがあるが、ここでは周波数に依存しないノイズであり、且つ振れ角度θに比例するノイズとして取り扱うものとする。ここではノイズ用の回路部1204がノイズ加速度α3を出力する。
上記の各加速度α1,α2,α3の合計が加速度計101pの出力となり、これが回路部1205により2階積分され、平行振れ変位Yが得られる。
今、重力加速度比例項をG、回転半径をL、ノイズ比例項をk、角周波数をωとすると、図12の信号検出系は、以下の式(5)で表せる。
右辺の第1項は加速度出力と重力加速度出力の項であり、第2項はノイズ項である。
ここで、加速度出力と重力加速度出力は共に振れ角度θの位相と関連しており、ノイズに関しては振れ角度θの位相と関連していないので、式(5)の右辺は2つの項に分けて示しているが、簡略化の為に各項の位相を無視すると以下の式(6)となる。
即ち、平行振れの変位は式(7)の等式(式(6)の結果がゼロになる各周波数)が成り立つ各周波数を境に低周波側は重力加速度とノイズが支配的になり、高周波側でのみ正確な平行振れの変位が計測できる。
今までの計測結果などより、仮に回転半径L等の量を当てはめた場合の式(6)のボード線図を、図13に示す。図13において、横軸は周波数、縦軸は入力振れ角度θに対する加速度計101pが検出した平行振れ変位Yの利得であり、スケールは「倍」、即ち1倍の時は入力振れ角度θに対して正確に平行振れYを求められている事を示す。
ここで、利得1301が1.3Hzで極めて小さくなっているのは、加速度計101pが検出する平行振れ加速度が重力加速度とノイズで相殺されている為である。そして、それより低い周波数帯域では低周波になる程加速度計出力が大きくなっており、これは重力加速度やノイズが支配項になる為である。
一方、矢印1302で示すように、この周波数より高周波側では加速度計101pの出力の信頼性は高くなっている。
今、手振れの帯域は矢印404で示す様に1Hzから10Hzであり、既に重力加速度やノイズの影響がある帯域になっているため、加速度計101pを用いて平行振れを検出することが出来ない。
そこで、矢印1302で示す加速度計101pの信頼できる帯域を用いて平行振れを検出する事を考えると、式(3)の代わりに式(4)を用いる。つまり、加速度出力1階積分値と角速度出力の比較、或いは加速度出力2階積分値と角速度出力1階積分値の比較により回転半径Lを求め、その回転半径Lと角速度出力より平行振れ成分を求める計算式を採用している。
回転半径Lを求める時には、加速度計101pの出力と角速度計6807pの出力を比較(加速度出力を角速度出力で割る)してゆく訳である。しかしここで、加速度出力、角速度出力は図13の矢印1302の帯域のみ抽出して比較することで、上述した重力加速度やノイズの影響を緩和している。
図3に戻り、角速度計BPF部306及び加速度計BPF部307はともに5Hzのみ抽出する同一の帯域透過フィルタであり、その特性を図14に示す。図14において、横軸は周波数、縦軸は入力されるHPF位相調整部304の出力或いはHPF積分フィルタ305の出力に対する角速度計BPF部306或いは加速度計BPF部の出力比の利得であり、デシベル表示で示している。
ここで、このフィルタ特性は、5Hzの信号は透過(0デシベルなので、入力信号がそのまま出力される)、0.5Hzの信号や50Hzの信号は減衰(−20デシベルなので、10分の1に減衰)する特性になっている。勿論、抽出する周波数をより特定する為に高次のフィルタを用いてもよい。例えば2次のBPFフィルタを用いて、図15の利得1501の様に、5Hzの信号は透過(0デシベルなので、入力信号がそのまま出力される)、0.5Hzの信号や50Hzの信号は減衰(−40デシベルなので、100分の1に減衰)する特性にしてもよい。
位相は、5Hzに関しては入力に対する出力位相はゼロであり、その前後においては大きく変化してしまう。しかし、角速度計BPF部306、加速度計BPF部307の互いの出力結果を比較する目的であるので、角速度計BPF部306、加速度計BPF部307ともに位相の変化が同じであれば問題は生じない。
HPF位相調整部304及びHPF積分フィルタ305の折点に関しても、角速度出力と速度出力を比較するだけであれば、HPF積分フィルタ301と折点を揃える必要は無い。よって、HPF折点はより高周波側(例えば1Hz)に設けてDCカット能力を大きくし、積分に関しても折点をより高周波側(例えば1Hz)に設けることができる。
一般にHPFや積分は折点が低周波になる程安定までの時間が必要になるが、上記の様に折点を高周波側に設定することで、安定時間を短縮する事ができる。但し、比較精度を向上させる為に、HPF位相調整部304により生じる位相変化とHPF積分フィルタ305で生じる位相変化は同一にしておくことが好ましい。
図16はHPF積分フィルタ305の特性を示すボード線図であり、このフィルタ処理により加速度計101pの出力(加速度計出力)はHPFでDC成分がカットされ、積分されて速度に変換される。図16において、横軸は周波数、縦軸は加速度出力に対するHPF積分フィルタ305の出力比の利得であり、デシベル表示をしている。
利得1601は1Hz以下の低い周波数が減衰され、1Hz以上の高い周波数は積分(周波数に比例して利得が減少する)される特性になっている。ここで、次の加速度計BPF部307で抽出すべき5Hzの周波数にのみ着目する。位相1602は5Hzにおいて−90度(積分後の理想位相)に対して矢印1603に示す様に23度遅れが足りていない。そのため、HPF位相調整部304においても同様に5Hzで23度遅れが足りなければ比較上、好都合になる。
図17はHPF位相調整部304の特性を示すボード線図であり、このフィルタ処理により角速度計6807pの出力(角速度計出力)はHPFでDC成分がカットされる。図17において、横軸は周波数、縦軸は角速度計出力に対するHPF位相調整部304の出力比の利得であり、デシベル表示をしている。
利得1701は1Hz以下の低い周波数が減衰される特性になっている。ここで、次の角速度計BPF部306で抽出すべき5Hzの周波数にのみ着目する。位相1702は5Hzにおいて矢印1703に示す様に23度進んでおり、HPF積分フィルタ305で生じる位相変化と同一になっている。これは位相調整として更にHPFを追加した2次のHPFになっている為である。
仮に位相調整を省き、HPF積分フィルタ305のHPFと同様に1次のHPFを用いるとする。すると、図18のように、5Hzの位相1802は5Hzにおいて矢印1803に示す様に11度の進みとなり、HPF積分フィルタ305の位相ずれが23度と異なってしまう。そのため、位相調整として更にHPFを追加して、加速度出力のHPF積分フィルタ305による位相ずれと角速度出力のHPF位相調整部304の位相ずれを揃えている。
以上説明したように、図10で示される周波数域(これを第2周波数域とも記す)よりも図14及び図15に示す狭い周波数域(これを第1周波数域とも記す)で角速度計6807pと加速度計101pを比較している。このため、加速度出力に重畳する重力成分やノイズなどの誤差を減衰させた状態で角速度出力と精度よく比較できる。
図3に戻り、比較部308は、角速度計BPF部306の出力ωと加速度計BPF部307の出力Vとを比較して、以下の式(8)
L=V/ω ………………(8)
に示すように回転半径Lを求める。
そして、求められた回転半径Lを利用して、上記式(4)で示した計算式で画像振れ補正を行うことになる。そのために比較部308で求められた回転半径Lを利得調整部311の出力に乗じて、出力補正部309にて平行振れ補正目標値とする。
ここで、式(4)でわかる様に、回転半径Lと手振れの角度出力(振れ角度θ)と撮影倍率β(ズーム、フォーカス情報302より求まる)で、図19のように、HPF積分フィルタ301の出力に直接回転半径Lを補正値として乗じても良さそうである。しかし、そうではなく図3のように平行振れ補正専用にHPF積分フィルタ310及び利得調整部311を設けている点を以下に説明する。
まず、図3の利得調整部311の役割を説明する。
式(8)により回転半径Lは求まるのであるが、厳密には抽出する周波数毎に回転半径Lは異なってくる。図20は、図3の角速度計BPF部306及び加速度計BPF部307の抽出周波数を1Hzから10Hzまで変化させたときの回転半径Lの変化を示している。図20において、横軸は周波数、縦軸は5Hzの回転半径Lを基準とした時の各周波数における回転半径Lの比をデシベル表示している。
回転半径Lの変化2001は周波数に比例して減少しており、これは高周波の振れはカメラと被写体の接点が中心になっており(例えば顔)、周波数が低くなる程に回転中心Lが肘、腰と遠ざかってゆく事を示している。その為に回転半径Lは周波数毎に用意する必要がでてくる。
しかしながら、出力補正部309にて角速度積分出力に乗じることが出来る補正値は複数用意できない。よって、利得調整部311では、HPF積分フィルタ310の角速度積分出力(振れ角度θ)側に周波数に応じた特性を持たせ、一定の補正値を乗じても周波数毎に最適な平行振れ補正目標値が得られるようにしている。即ち、補正値として乗じる回転半径Lの変化を、乗じられる角速度計6807pの積分出力側で調整している。
図21は利得調整部311のボード線図であり、横軸は周波数、縦軸はHPF積分フィルタ310の出力に対する利得調整部311の出力比のデシベル表示と位相である。
ここで、利得2101は高周波になる程出力がほぼ比例して減衰する特性になっている。例えば一定の補正値として5Hz抽出時の回転半径Lを利得調整部311の出力に出力補正部309が乗じた結果は、HPF積分フィルタ310に対して周波数毎に図20で示すような異なる回転半径Lを乗じた場合に近い結果を得ることができる。
しかしながら、位相2102を見ると、手振れ帯域404において大きくずれており、例えば1Hzにおいては18度位相が遅れてしまう。そこで、その位相遅れを相殺する為にHPF積分フィルタ310の特性をHPF積分フィルタ301の特性とは異ならしている。
前述した様に、HPF積分フィルタ301の折点は、HPF、積分とも0.1Hzに設定して、手振れ下限周波数である1Hzの位相ずれを小さくしている。それに対して、HPF積分フィルタ310の積分折点は0.5Hzに設定している。
図22はHPF積分フィルタ310のボード線図であり、横軸は周波数、縦軸は角速度計出力に対するHPF積分フィルタ310の出力比のデシベル表示と位相である。
ここで、利得2201は手振れ帯域404では十分な積分特性(周波数に比例して出力が減衰)を得られている。しかし、位相2202は、矢印2203に示す様に、手振れ下限周波数で34度位相遅れが足りない(実際は位相遅れが90度にならなくてはいけないのが、位相が56度しか遅れていない)。
しかしながら、HPF積分フィルタ310と利得調整部311の両者と透過した角速度計の信号は、利得調整による位相遅れがHPF積分フィルタ310の位相遅れ不足分を相殺する。
図23はHPF積分フィルタ310と利得調整部311の両者と透過した特性のボード線図であり、横軸は周波数、縦軸は角速度計出力に対する利得調整部311出力比のデシベル表示と位相である。
ここで、利得2301は手振れ帯域404では十分な積分特性(周波数に比例して出力が減衰)プラス回転半径の周波数依存を補正する特性が得られており、位相2302も矢印2303に示すように手振れ下限周波数で16度の位相不足で済んでいる。
このように、一定の補正値として5Hz抽出時の回転半径Lを利得調整部311の出力に出力補正部309が乗じた結果は、HPF積分フィルタ310に対して周波数毎に図20で示すような異なる回転半径Lを乗じた場合に近い結果を得ることができる。
図3で示したように、角速度計BPF部306と加速度計BPF部307を設けている。そして、図10で示される振れ補正の為の周波数域(第2周波数域)よりも、図14及び15に示す狭い周波数域(第1周波数域)で角速度計6807pと加速度計101pを比較している。その為に、加速度出力に重畳する重力成分やノイズなどの誤差を減衰させた状態で角速度出力と精度よく比較できる。
また、角速度計6807pの出力に基づいて角度振れ補正目標値と平行振れ補正目標値を演算する訳である。しかし、図3で示したように、角度振れ補正目標値はHPF積分フィルタ301を用いて演算し、平行振れ補正目標値はHPF積分フィルタ310を用いて演算している。即ち、角度振れと平行振れで夫々異なる周波数帯域となっており、又、平行振れ補正目標値の演算は利得調整部311を用いることで、角度振れ補正目標値の演算とは異なる周波数特性を設定している。これにより、角度振れと平行振れの夫々を精度よく補正できるようになっている。
尚、狭い周波数域(第1周波数域)における角速度出力、加速度出力を抽出する方法は上述したBPF処理に限られない。
図24は、比較したい周波数における角速度計6807p、加速度計101pのスペクトルを公知のフーリエ変換法により求め、その結果を比較部308で比較する方式を示している。
角速度計フーリエ変換演算部2401、加速度計フーリエ変換演算部2402は夫々角速度計出力、加速度計出力に対して、抽出したい周波数成分を乗じて、その結果を積分することでスペクトルを求めている。そして、加速度計101pのスペクトルは以下の式(9)、角速度計のスペクトルは以下の式(10)で表される(後述の位相説明も考慮して、ここでは複素正弦波で表現しない)。
ここで、fは抽出したい周波数であり、例えばf=5Hz、nは整数であり、例えばn=1である。又、G(t)、H(t)は抽出する周波数における夫々速度、角速度のサンプリングタイミング毎の出力である。この式は抽出したい周波数の整数周期分における正弦波と余弦波の定積分値の合成を示している。
式(9),(10)の結果を使って速度および角速度を求め、式(8)により回転半径Lを求める事ができる。
図3では、加速度計101pの積分出力(速度)の中で抽出したい周波数成分のみを透過するBPFを用いて、その周波数成分の速度の大きさを求めている。同様に、角速度計6807pの出力の中で抽出したい周波数成分のみを透過するBPFを用いて、その周波数成分の速度の大きさを求めている。そして、それらの比較で回転半径Lを求めている。
図24では、加速度計101pの積分出力(速度)の中で抽出したい周波数成分のスペクトルをフーリエ変換で求め、同様に角速度計6807pの出力の中で周波数成分のスペクトルをフーリエ変換で求めている。そして、それらの比較で回転半径Lを求めている。
ここで、図24に示したHPF位相調整部304、HPF積分フィルタ305の代わりに、図25や図26に示す様に、HPF積分位相調整部2501,2601や、HPF2階積分フィルタ2502,2602を設ける。そして、角速度計6807pの出力ωを積分して角度θとし、加速度計101pの出力αを2階積分して変位Yとして、以下の式(11)より回転半径Lを求めても良い。
L=Y/θ ………………(11)
角速度出力を積分すること及び加速度出力は2階積分することで、高周波成分のノイズの影響を受け難くなる為に安定して回転半径Lを求める事ができる。
次に、式(8)或いは式(11)の結果である回転半径Lを実際はどのようにして求めているか説明する。尚、ここでは式(8)の様に角速度ωと速度Vを比較して回転半径Lを求める方法について説明し、式(11)の様に角度θと変位Yの比較も処理としては同様になる為にその説明は省く。
まず、BPFを用いる場合、図27のように、HPF位相調整部304の出力波形2701及びHPF積分フィルタ305の出力波形2702を一定周期毎にサンプリングし、その結果を夫々角速度ω1、速度V1とする。尚、図27において、横軸時間、縦軸は夫々BPF後の角速度、及び加速度を積分した速度である。
図27の矢印2703,2704,2705,2706,2707,2708,2709は夫々サンプリング周期である。この周期間の角速度の差ωnを、矢印2710(ω1),2711(ω2),2712(ω3),2713(ω4),2714(ω5),2715(ω6),2716(ω7)で示す。同様に、この周期間の速度の差をVnとして、矢印2717(V1),2718(V2),2719(V3),2720(V4),2721(V5),2722(V6),2723(V7)で示す。
サンプリング周期としては抽出周波数の周期の半分を設定しており、例えば抽出周波数を5Hzとした場合には、0.1秒となる。そして、周期2703で得られた角速度の差ω1及び速度の差V1より式(8)を用いて回転半径L1を求める。次のサンプルからも同様に、角速度ω2、速度V2より式(8)を用いて回転半径L2を求める。
この様にして順番に回転半径Lを求めると同時に、求めた回転半径Lを平均することで、安定した回転半径Lを求める。即ち、サンプリングの回数をnとすると、以下の式(12)に示すようにして平均値を求めてゆく。
この様にして求めた回転半径Lを用いて、上記式(4)を用いて像面上での振れ量を計算し、画像振れ補正を行う。即ち、式(12)で求めた回転半径Lを、図3の出力補正部309に補正値として出力する。
周期毎に回転半径Li(例えばL1)を用いて、その瞬間の像面振れ量を式(4)で求めて、その瞬間での画像振れ補正を行うのではなく、各周期で求めた回転中心Lの平均値を求め、その結果より式(4)で像面での振れ量を求めている理由を以下に説明する。
角速度出力、加速度出力にはもともとノイズ成分が多く含まれており、そのため、1周期で求めた回転半径Lの信頼性は低くなる。そこで、回転半径Lを平均化することで安定した回転半径Lを得ることができる。
上記は周期毎にサンプリングした結果で回転半径Lを求める方法であるが、その方法には限定されず、例えば波形のピークを利用する方法や、波形の面積を利用する方法がある。
図28は波形のピークを利用する方法であり、横軸は時間、縦軸は夫々BPF後の角速度、及び加速度を積分した速度である。
矢印2801,2802,2803は夫々サンプリング周期であり、この周期間の極大値と極小値の角速度の差ωnを、矢印2804(ω1),2805(ω2),2806(ω3)で示す。同様に、この周期間の速度の差をVnとして、矢印2807(V1),2808(V2),2809(V3)で示す。
サンプリング周期としては抽出周波数の周期の1周期分を設定しており、例えば抽出周波数を5Hzとした場合には、0.2秒となる。そして、周期2801で得られた角速度の差ω1及び速度の差V1より式(8)を用いて回転半径L1を求める。次のサンプルからも同様に、角速度ω2、速度V2より式(8)を用いて回転半径L2を求める。
この様にして順番に回転半径Lを求めると同時に、求めた回転半径Lを式(12)で平均することで、安定した回転半径Lを求める。
図29は波形の面積を利用する方法であり、横軸は時間、縦軸は夫々BPF後の角速度、及び加速度を積分した速度である。
図29において、2901は角速度出力(HPF位相調整部304の出力)を絶対値化した波形であり、2902は速度出力(HPF積分フィルタ305の出力)を絶対値化した波形である。矢印2903はサンプリング期間であり、例えばカメラの主電源を入れてから撮影を開始するまでの期間である。或いは、カメラのレリーズボタン6804aを半押ししてから撮影を開始するまで、カメラの姿勢が安定してから被写体への合焦が完了するまで、或いは被写体距離が判明するまでの期間である。そして、斜線で示すこの期間内の波形2901の面積2904と波形2902の面積2905を求める。
面積2904をSω、面積2905をSvとすると、それらは以下の式(13),(14)で表すことができる。
ここで、Tはサンプリング期間2903である。このため、回転半径Lは以下の式(15)で求められる。これは回転半径Lの平均値を求めていることになる。
この様にサンプリング期間中の面積を用いることで、ノイズや瞬間的な外乱に影響されない安定した回転半径Lを求める事ができる。
次に、BPFではなく、図24で示した様にフーリエ変換でスペクトルを求め、その結果から回転半径Lを得る方式について説明する。
式(9),(10)を用いて加速度出力を積分した速度のスペクトルVF、角速度のスペクトルωFを求め、以下の式(16)で回転半径LFを求める。
ここで、式(9),(10)におけるnを例えばfとして、抽出したい周波数の1周期分に設定する。即ち、図28におけるサンプリング期間2801,2802,2803毎に各スペクトルVF,ωFに基づいて回転半径LFを算出する。そして、各々の期間で求められた回転半径LFを平均して、図24の出力補正部309に補正値として出力する。
別の方法として、図29に示してあるサンプリング期間2903の間のスペクトルVF,ωFを式(9),(10)で求め、その結果に基づいて式(16)で回転半径LFを求めてもよい。この場合には回転半径LFの平均化処理は行わないが、スペクトルVF,ωFを求める期間が長くなる為に、結果としてスペクトルVF,ωFは平均化され、安定した回転半径Lを得ることができる。
図30は、以上説明した角度振れ補正及び平行振れ補正のタイミングチャートであり、横軸は時間、各々の縦軸は軸上がHi、軸底がLoである。
図30において、3001はカメラ6804のメインスイッチの状態(主電源の状態)を示し、Hiがオン、Loがオフである。3002はレリーズボタン6804aの半押しでオンするスイッチS1の状態を示し、Hiがオン(半押し)、Loがオフ(半押し解除)である。3003はレリーズボタン6804aを更に押し込んだ時にオンするスイッチS2の状態を示し、Hiがオン(押し切り)、Loがオフ(半押し状態)である。
3004はクイックリターンミラー、シャッタ、絞り駆動の各動作、つまり図1の撮像素子6805に被写体情報を蓄積する為に最適な撮影光路を確保する動作を示し、Hiで動作、Loで動作停止である。3005は撮像素子6805に被写体情報を蓄積する露光動作の状態を示し、Hiで動作、Loで蓄積リセットである。尚、実際には露光動作以外でも被写体情報を撮像素子6805に蓄積し、その画像をカメラの背面モニターなどに表示する動作もあるが、図30では含めていない。
3006は不図示のAFセンサで撮影レンズ6801の撮像光学系を通した被写体光束の焦点状態を検出する焦点検出動作の状態を示し、Hiで焦点状態検出、Loで非動作である。3007は不図示のAFセンサの信号を受けて撮影レンズ6801の撮像光学系の一部或いは全てのレンズを繰出して焦点状態を調節するAFレンズ駆動の状態を示し、Hiで調節動作、Loは駆動停止中である。3008は角速度計6807p、加速度計101pの検出動作の状態を示し、Hiで動作中、Loは非動作である。
3009は角速度出力、加速度出力より回転半径Lを算出する回転半径検出動作の状態を示し、Hiは算出期間、Loは算出中止期間である。3010は振れ補正部6806を用いて角度振れを補正する角度振れ補正動作の状態を示し、Hiが補正期間、Loが非補正期間である。3011は振れ補正部6806を用いて平行振れを補正する平行振れ補正動作の状態を示し、Hiが補正期間、Loが非補正期間である。
以上において、時刻t1に主電源がオンされた時のその後の各要素の動作を、図30のタイミングチャートを用いて説明する。
時刻t2でレリーズボタン6804aが半押し(スイッチS1がオン)される(3002)。それに同期して不図示のAFセンサが焦点状態の検出を始める(3006)。又、角速度計6807p、加速度計101pが動作を始める(3008)。尚、撮影者によりレリーズボタン6804aが半押しされていると云う事は、カメラは被写体を狙って安定状態(カメラに大きな揺れが加わっていない状態)であるので、加速度計101p、角速度計6807pの安定した演算が行える。そこで、加速度計101p、角速度計6807pの出力に基づいて回転半径Lの演算を始める(3009)。又、角度振れ補正を始める(3010)。
時刻t3で、不図示のAFセンサの信号により撮像光学系の焦点状態が求まると、撮像光学系の一部或いは全部を繰出して焦点状態の調節を行う(3007)。この時、回転半径Lを求める演算を中止する(3009)。これは撮像光学系が駆動中はその駆動振動が加速度計101pに加わり、正確な振れ検出が行えない為である。
図3などで説明したように、加速度計101pの出力はある周波数(例えば5Hz)のみ抽出している。そのため、上述の駆動ノイズはフィルタで減衰されて問題なくなる筈であるが、実際にはレンズ駆動の振動が大きすぎて加速度計101pの出力が飽和してしまう場合もある。加速度出力が飽和してしまうと、全ての周波数帯域の振動(振れも含む)が検出できなくなり、加速度計101pはエラー信号しか出力しない。そのエラー信号で回転半径Lを求めると誤った平行振れ補正を行う可能性がある。
そこで、焦点調節の為のレンズ(フォーカスレンズ)駆動中には回転半径Lの演算を中止している。勿論、加速度検出範囲を広い加速度計(大きな加速度も検出可能な加速度計)を用いてレンズ駆動の振動では飽和が起きないようにすれば良いのである。しかし、そのように検出範囲の広い加速度計は手振れのように微小な加速度に関する精度が低い為に安定した回転半径検出が出来ない。そこで、加速度検出範囲は多少犠牲にしても手振れ検出精度の高い加速度計を用い、外乱振動入力時の加速度計信号は回転半径演算に用いないようにしている。
時刻t4では、レンズが目標とする位置に到達し、その駆動を停止する(3007)。また、それに同期して不図示のAFセンサが再度焦点状態の検出を行い、所望の焦点状態になったか否かを確認する(3006)。
時刻t5では、AFが所望の焦点状態になった事が確認出来たので、焦点状態検出を終了する(3006)。ここで、所望の焦点状態になっていない事が判明した場合には再度レンズを駆動して焦点状態の再調節を繰り返す。又、所望の焦点状態が確認できた場合には回転半径の算出動作を再開する(3009)。これは、時刻t5以降でレンズ駆動による外乱振動が加速度計に加わる虞がない為である。尚、時刻t5でレンズの駆動が停止した時点で、その繰出し量から被写体距離を求める。そして、ズーム状態との関連より撮影倍率を求めて平行振れ補正目標値に生かす。
時刻t6では、レリーズボタン6804aの押し切り動作によりスイッチS2がオンする(3003)。それと同期して時刻t9までの間に撮影レンズ6801内の絞りやカメラ6804のクイックリターンミラーのアップ、シャッタ開が動作する(3004)。又、回転半径Lの算出を停止する(3009)。これは、絞りの絞り込みやクイックリターンミラーのアップ、シャッタ開の動作に伴う振動により前述した様に加速度計101pが飽和してしまい、回転半径Lの演算精度を低下させてしまうのを防ぐ為である。
時刻t7では、露光を開始する(3005)。それと同期して平行振れ補正を開始する(3011)。尚、平行振れ補正を行う時の回転半径Lは時刻t2からt3迄の期間の平均値及びt5からt6迄の期間に求めた平均値の更に平均を用いている。
時刻t8では、露光を終了する(3005)。又、平行振れの補正も終了する(3011)。この様に平行振れの補正は露光期間しか行っていない。これは、角度振れの補正に加えて平行振れの補正を行うと、振れ補正部6806の補正ストロークが多く必要となり、振れ補正部6806が大型化して撮影レンズ6801が扱い難くなってしまう為である。その為、露光という短い時間にのみ平行振れ補正を行い、露光終了後は角度振れ補正のみに戻す。
時刻t8からt9の間には、シャッタ閉や絞りの開放、クイックリターンミラーダウン動作が行われる(3004)。そして、時刻t9迄の間は回転半径Lの算出を停止している(3009)。これも上述した様に、絞りの開放動作やクイックリターンミラーダウン、シャッタ閉の動作に伴う振動により前述した様に加速度計が飽和してしまい、回転半径Lの演算精度を低下させてしまうのを防ぐ為である。
時刻t9では、回転半径Lの算出を再開する(3009)。時刻t10では、レリーズボタン6804aの押し切り(スイッチS2のオン)が解除され、半押し状態になる(3003)。
時刻t11では、再びレリーズボタン6804aの押し切り動作によりスイッチS2がオンする(3003)。それと同期して時刻t12までの間に、撮影レンズ6801内の絞りやカメラ6804のクイックリターンミラーアップ、シャッタ開が動作する(3004)。又、回転半径Lの算出を停止する(3009)。
時刻t12では、露光を開始する(3005)。それと同期して平行振れ補正を開始する(3011)。尚、平行振れ補正を行う時の回転半径Lは、時刻t2からt3迄の期間の平均値、及び、時刻t5からt6迄の期間に求めた平均値、及び、時刻t9からt11迄の期間の平均値の、更に平均を用いている。この様に、回転半径Lはレリーズボタン6804aの半押し(スイッチS1のオン)が継続している間はリセットされず、累積されて平均が求められる。
時刻t13では、露光を終了する(3005)。又、平行振れの補正も終了する(3011)。時刻t13からt14の間にはシャッタ閉や絞りの開放、クイックリターンミラーダウン動作が行われる(3004)。そして、時刻t14迄の間は回転半径Lの算出を停止している(3009)。
時刻t14では、回転半径Lの算出を再開する(3009)。時刻t15では、レリーズボタン6804aの押し切り(スイッチS2のオン)が解除され、半押し(スイッチS1のオン)状態になる(3003)。
時刻t16では、レリーズボタン6804aの半押し(スイッチS1のオン)が解除される(3002)。それと同期して回転半径Lの算出を停止する(3009)。また、それまで累積して平均を求めてきた回転半径Lの値をリセットさせる。それはレリーズボタン6804aを再度半押し(スイッチS1がオン)した時点ではカメラの把持の方法などが異なっている可能性もある為、今まで求めた回転半径Lがそのまま平行振れ補正に使えるか否か分からない為である。再度レリーズボタン6804aの半押しがされた時には、新たに回転半径Lを求め直すことになる。
時刻t16から所定時間(例えば4秒)経過後の時刻t17では、角速度計6807p、加速度計101pの動作を停止する(3008)。又、角度振れ補正も停止する(3010)。時刻t15で角速度計6807p、加速度計101pの動作や角度振れ補正を停止しないのは、再度レリーズボタン6804aの半押し(スイッチS1のオン)操作が行われた時に、角度振れ補正を瞬時に対処する為である。
時刻t18では、カメラの主電源をオフにする(3001)。
上記タイミングチャートには示していないが、回転半径Lはカメラの姿勢が大きく変化した時も演算を停止しており、それまでの回転半径Lの平均に加えないようにしている。カメラのパンニング操作やその他、大きなカメラの姿勢変化の操作が起きると、その時の回転半径はカメラを構えて被写体を狙っている時とは異なるので、その時に求まる回転半径Lは平行振れ補正精度を劣化させる虞がある為である。
そこで、例えば角速度計6807pの出力が所定時間(例えば0.5秒)所定以上(例えば3deg/s)となった場合にはそれまで求めた回転半径Lをリセットし、角速度計6807pの出力が低くなった時点で新たに回転半径Lを求め直している。同様に、加速度計101pの出力が所定時間(例えば0.5秒)所定変化以上(例えば0.2G)となった場合にはカメラの姿勢が大きく変化したと判定する。そして、それまで求めた回転半径Lをリセットし、加速度計101pの出力変化が小さくなった時点で新たに回転半径Lを求め直している。
尚、時刻t2で回転半径Lの検出をはじめてから直ぐに時刻t6でレリーズボタン6804aの押し切りが行われてしまい、回転半径Lの算出が十分に行えない場合もある。そのような時には予め与えられている回転半径Lを用いて平行振れの補正を行う。
前述した様に手振れの回転中心は周波数毎に異なり、高周波はカメラの接眼部、低周波は撮影者の腰近傍であり、周波数毎に異なる回転半径を処理する為に図21で示した様な特性の利得調整部311を用いている。
ここで、5Hz近傍の振れの回転中心は凡そカメラの接眼部近傍である為に、回転半径Lが不明の時には、図31に示す様に、初期値としてカメラの接眼部から撮像光学系の主点位置までの距離を回転半径3101として設定する。
尚、ここでカメラの接眼部は矢印3102の位置であるが、その位置における光軸3103との交点を回転中心3104とし、回転中心3104と撮像光学系の主点位置3105迄の距離を回転半径3101としている。これは振れ補正部が補正する方向が光軸3103と直交する方向であるため、その方向の平行振れ成分のみ補正するためである。
ここで、時刻t2でレリーズボタン6804aの半押しから直ぐに時刻t6でレリーズボタン6804aの押し切りが行われたとする。この場合は、その初期値を用いて平行振れの補正を行い、時刻t2でレリーズボタン6804aの半押しからt6でレリーズボタン6804aの押し切り迄時間がある場合には算出した回転半径Lを用いる。
また、算出した回転半径Lがカメラの把持状態などの影響で大きく変動する場合がある。例えばカメラを手振れが極めて少ない状態で把持した場合には、手振れが無い為に角速度計の出力は極めて小さい。この様な時に加速度計101pを積分した速度出力にDCバイアス成分などが重畳し、所定の出力があった場合には、式(8)で求まる回転半径Lは極めて大きな値になってしまう。このような時は算出した回転半径Lは用いず、回転半径初期値を用いて平行振れ補正を行う。即ち、角速度出力が極めて小さい場合や、求めた回転半径が所定以上(例えば撮像光学系の主点位置から撮影者の腰までの距離以上)の場合には、回転半径Lとして初期値を用いて平行振れ補正を行う。
図32は、以上の構成を説明するフローチャートであり、このフローはカメラの主電源オンでスタートする。
尚、本発明の主要な構成を分かり易く説明する為に、カメラに設けられる多用な制御動作(例えば、バッテリチェックや測光、測距、AFの為のレンズ駆動、ストロボ充電、そして撮影の為の操作、動作など)は省いている。また、以下のフローにおいては、カメラの角度振れ6803pを角速度計6807pで、平行振れ101pbを加速度計101pで、それぞれ検出する場合を例に説明を進める。しかし、カメラの角度振れ6803yを角速度計6807yで、平行振れ101ybを加速度計101yで、それぞれ検出する場合も同様のフローになる。更に、このフローはいかなるステップへ進んでいようと、カメラの主電源オフで終了するものとする。
図32において、ステップ#3201では、レリーズボタン6804aの半押し(スイッチS1のオン)を待機しており、半押しされるとステップ#3202へ進み、角速度計6807p、加速度計101pを作動させて振れ検出を始める。また、同時に不図示のAFセンサを作動させて焦点状態の検出を始める。ここで、レリーズボタン6804aの半押し操作後に上記作動を行うのは、レリーズボタン6804aの半押し操作が行われるまでは撮影者はカメラを被写体に向かって構え、カメラが安定状態にある為である。
次のステップ#3203では、角速度計93pの角度振れ補正目標値がほぼ得られたか否かを判定し、得られた場合はステップ#3204へ進む。一方、得られなかった場合はステップ#3228へと進む。これは、角速度計6807pの積分出力(図3のHPF積分フィルタ301の出力)が安定するのに多少の時間(例えば0.5秒)が必要な為に、それ迄は角度振れ補正を行わないようするためである。
次のステップ#3204では、振れ補正部6806を駆動して角度振れのみの補正動作を開始する(ここでは平行振れの補正は行わない)。そして、次のステップ#3205にて、AFが完了しているか否かを判定し、完了している場合はステップ#3206へ進み、未完了の場合はステップ#3228へ進む。
まず、AFが未完了の場合を説明する。
AFが未完了であるとしてステップ#3228へ進むと、ここでは今まで述べてきた様に、角速度計6807p、加速度計101pの出力より所望の周波数成分を抽出して比較し、回転半径を求める。更に、定期的に求めた回転半径Lを累積してゆく。そして、次のステップ#3229にて、焦点状態の検出を完了したか否かを判定し、焦点状態の検出を完了している場合はステップ#3230へ進み、そうでない場合はステップ#3234へ進む。
焦点状態の検出が完了していないとしてステップ#3234へ進むと、レリーズボタン6804aの半押しが解除(スイッチS1がオフ)されたか否かを判定する。そして、レリーズボタン6804aの半押しが解除されていると判定した場合はステップ#3201へ戻り、レリーズボタン6804aの半押しがなされるまで待機する。また、レリーズボタン6804aの半押しが解除されていない場合はステップ#3203へ戻り、角度振れ補正可能であるか否かを再度判定する。
上記ステップ#3203で再度角度振れ補正が可能でないと判定した場合はステップ#3228へ進み、次のステップ#3229にて、再び焦点状態の検出完了判定を行う。
また、角度振れ補正準備が整った時はステップ#3203からステップ#3204へ進み、角度振れ補正を開始すると共にステップ#3205にて、AF完了判定を行う。そして、この様にフローが流れる場合にはAFは未完了なのでステップ#3228へ進み、次のステップ#3229にて、再び焦点状態の検出完了判定を行う。
上記ステップ#3229にて焦点状態の検出が完了したと判定するとステップ#3230へ進み、回転半径Lの検出を中止する。これは、これ以降のステップで合焦の為のレンズ駆動を行うので、その駆動ノイズが加速度計出力に重畳して不正確な回転半径Lが求まる事を防ぐ為である。
次のステップ#3231では、合焦の為のレンズ駆動を行う。そして、次のステップ#3232にて、レンズ駆動が完了したか否かを判定し、完了した場合はステップ#3233へ進み、レンズ駆動を停止する。
また、レンズ駆動が完了していない場合はステップ#3232→#3234→#3203を経てステップ#3228へ戻るか、或いはステップ#3232→#3234→#3203→#3404→#3205を経てステップ#3228へ戻る。その後はステップ#3228→→#3229→#3230→#3231を経てステップ#3232へ進み、再びレンズ駆動が完了したかを判定する。即ち、レリーズボタン6804aの半押しが解除されない限りは上記の各ステップを循環してレンズ駆動完了まで待機する。
ステップ#3233でレンズ駆動を停止した後もレリーズボタン6804aの半押しが解除されていない場合はステップ#3203に戻り、ステップ#3204を経て次のステップ#3205にて、AFが完了したか否かを判定する。ここで合焦状態の場合はステップ#3206へ進み、そうで無い時は再びステップ#3228へ戻り、焦点調節を再開する。
ステップ#3206へ進むと、上記ステップ#3228と同様に、定期的に求めた回転半径Lを累積してゆく訳である。しかし、フローがステップ#3228を経てこのステップ#3206に進んできた場合には、既に回転半径Lの検出を始めている訳であり、このステップでの動作は無い。
次のステップ#3207では、カメラがパンニングされているか否かの検出を行う。検出方法としては、角速度計6807pの出力が一定期間(例えば0.5秒)、所定角速度以上(例えば3deg/s)である場合はカメラがパンニングされている(一定方向に振られている)と判定する。或いは、角速度計6807pの積分値(HPF積分フィルタ301の出力)が一定期間(例えば0.2秒)、所定角度以上(例えば1.5deg)の場合はカメラがパンニングされていると判定する。そして、パンニング中であると検出した場合はステップ#3208へ進み、そうでない場合はステップ#3211へ進む。
ステップ#3208へ進むと、回転半径Lの検出を中止すると共にこの方向(矢印6803p方向)の角度振れ補正を停止する。これは、パンニング中は振れが不安定であり、精度良い回転半径Lの検出ができない事や、振れ角が大きく、角度振れ補正を行うと補正レンズがメカ端に行き着いてしまい、メカニカルな制約により矢印6803y方向の画像振れ補正精度も低下してしまう為である。
次のステップ#3209では、再びパンニング中であるか否かの検出を行い、パンニング中であれば直ちにステップ#3211へ進む。また、パンニングが終了している場合はステップ#3210へ進み、カメラが安定して構えられている状態であるので回転半径Lの検出を再開すると共に、角度振れ補正も再開する。そして、ステップ#3211へ進む。
ステップ#3211では、レリーズボタン6804aの半押し解除(スイッチS1がオフ)か否かを判定し、半押し解除の場合はステップ#3235へ進み、そうでない場合はステップ#3212へ進む。
レリーズボタン6804aの半押しが解除されたとしてステップ#3235へ進むと、回転半径Lの検出を中止すると共に、今迄蓄積してきた回転半径Lをリセットし、ステップ#3225へ進む。これはレリーズボタン6804aの半押しを解除したことで、新たな被写体の撮影に移る、或いは、撮影を終了するなど撮影条件が変更されることを予測している為である。但し、再度レリーズボタン6804aの半押し操作が直ぐに行われた場合には(例えば半押し解除から1秒後に再操作)、回転半径Lのリセットを行わないようにしても良い。
ステップ#3225へ進むと、所定時間(例えば4秒)待機する。この間は角度振れ補正は継続しており、角速度計6807p、加速度計101pも作動している。この様にレリーズボタン6804aの半押しが解除されてからも暫く角度振れ補正を継続するのは、再度レリーズボタン6804aを半押しされた時に備えている為である。そして、所定時間経過後、ステップ#3226へ進み、角度振れ補正を停止する。そして、次のステップ#3227にて、角速度計6807p、加速度計101pの作動を停止し、ステップ#3201へ戻る。
上記ステップ#3211でレリーズボタン6804aが継続して半押しされていると判定した場合にはステップ#3212へ進む。そして、ここではレリーズボタン6804aの押し切り操作(スイッチS2がオン)されたか否かを判定し、押し切り操作が行われていなければステップ#3207へ戻り、同様の動作を繰り返す。即ち、角度振れ補正、回転半径Lの検出、且つカメラのパンニング検出を行いながら撮影動作の開始を待機する。撮影動作のためにレリーズボタン6804aの押し切り操作が行われたらステップ#3213へ進む。
撮影動作のためにレリーズボタン6804aの押し切り操作が行われたらステップ#3213へ進み、回転検出Lの平均化を中止する。これは、この後にクイックリターンミラーや絞り、シャッタなどの振動発生動作があり、これにより加速度計101pに外乱が加わり、回転半径Lの検出精度が劣化する為である。ここでは又、今まで求めてきた各期間(図27の期間2703,2704など)の平均を求める。
次のステップ#3214では、求められた回転半径Lが妥当であるか否かを判定し、妥当な場合はステップ#3215へ進み、そうでない場合はステップ#3236へ進む。
ここで、上記ステップ#3214で検出される回転半径が妥当であるか否かの判定は、以下の3点である。
1)回転半径Lの検出期間が短い。
2)求まった回転半径Lが所定値より大きい。
3)角速度が所定以下の状態が長く継続した。
上記1)は、例えばステップ#3201でレリーズボタン6804aの半押し操作が行われたことが判定されてからステップ#3212でレリーズボタン6804aの押し切り操作が行われたことが判定されるまでの期間が短い。そのため、回転半径Lの計算時間が足りない場合である。このような時は正しい回転半径がL求められていないと判定する。
また、上記2)は、外乱などの要因で回転半径Lが予測し得る上限(例えば撮影レンズ主点位置から撮影者の腰相当までの距離)を超えた場合である。このような時は正しい回転半径Lが求められていないと判定する。
また、上記3)は、カメラが三脚などに固定され、静止状態にある為に角速度出力(或いはそれを積分した角度出力)が所定より小さい場合である。このような時に式(8)で回転半径Lを求めると、計算誤差により極めて大きな回転半径Lが計算されてしまう為に正しい回転半径Lが求められていないと判定する。
上記ステップ#3214にて回転半径が妥当でないとしてステップ#3236へ進むと、上記状態になった時には、回転半径Lとして、初期値として与えられている回転半径(図31に示す様にカメラの接眼部から撮像光学系の主点位置までの距離)を用いる。
上記初期値の回転半径は、図31のように、カメラの接眼部から撮影光学系の主点位置迄の距離に限られず、例えばゼロとしても良い。この場合には、平行振れの補正は行われないことになる。
尚、本実施例1では、撮影に先立って回転半径Lを求め、平均化した回転半径Lに基づいて出力補正部309が角速度計出力を補正する方式にポイントを絞って説明している。しかし、回転半径Lを算出し、逐次出力補正部309で角速度計出力を補正するリアルタイム補正方式の場合においても、上記1)、2)、3)の条件に当てはまる場合には回転半径Lとして初期値を求めても良い。
さらに、事前に回転半径Lを求める方法や上述したリアルタイム補正方式において、本実施例1では、カメラに具備されるレンズ駆動部や絞り、ミラー、シャッタ部などの駆動機構が駆動されるときには比較部308は回転半径Lの算出を行わないようにしている。しかし、駆動機構が駆動中でも回転半径Lの算出を継続しており、上記2)に当てはまる(回転半径Lが所定値より大きい)場合や駆動機構が駆動中には補正信頼性判定部は比較部の出力の信頼性が低いと判定する。そして、回転半径Lとして初期値を用いるようにしても良い。
次のステップ#3215では、上記ステップ#3207と同様に、カメラがパンニングされているか否かを判定する。パンニング中である場合はステップ#3217へ進み、そうでない場合はステップ#3216へ進む。ステップ#3215でパンニング中と判定される時はステップ#3208で角度振れ補正を停止しているので、角度振れの補正は行われていない。
パンニング動作であるとしてステップ#3215からステップ#3217へ進むと、撮像素子6805により蓄積動作を開始する。但し、未だシャッタが開いていないので実際の被写体光束は撮像素子6805に入射していない。そして、次のステップ#3218にて、クイックリターンミラーをアップし、レンズの絞りを駆動してシャッタを開く。これにより、撮像素子6805に結像する被写体光束の蓄積が開始される。
次のステップ#3219では、露光に適した撮影期間まで待機する。そして、ステップ#3220にて、露光終了後、平行振れ補正を停止する。尚、カメラがステップ#3215でパンニング状態と判定されて後述のステップ#3216がスキップされているので、ここでは平行振れ補正動作停止は機能しない(もともと平行振れ補正していない為)。続くステップ#3221では、シャッタを閉じ、レンズの絞りを元に戻すと共にクイックリターンミラーをダウンさせる。
このように、ステップ#3215でカメラがパンニング状態と判定された場合には、角度振れ補正、平行振れ補正とも行わないで撮影する。
一方、上記ステップ#3215でカメラがパンニング中でないと判定した場合にはステップ#3216へ進み、上記ステップ#3213で求めた回転半径Lに基づいて平行振れの補正を開始する。そして、次のステップ#3217にて、撮像素子6805により蓄積動作を開始し、以下ステップ#3221まで前述と同様の動作を行う。
このように、ステップ#3215でカメラがパンニング中でないと判定される時はステップ#3204で角度振れの補正が行われているか、或いは、ステップ#3210で角度振れ補正が再開されている。よって、露光中は(被写体光束蓄積中)角度振れ補正と平行振れ補正の両方が行われる。
次のステップ#3222では、撮像素子6805で得られた情報をカメラ背面の液晶モニターなどに表示すると共に記録媒体にその情報を記録する。そして、次のステップ#3223にて、レリーズボタン6804aの押し切り操作が解除されるまで待機する。押し切り操作が解除されるとステップ#3224へ進み、ここではレリーズボタン6804aの半押し状態を判定し、半押し操作が解除されていなければステップ#3206へ戻り、同様の動作を繰り返す。即ち、レリーズボタン6804aの半押しが解除されるまでは回転半径Lを検出しつつ、レリーズボタン6804aの押し切り操作がされるのを待機する事になる。
ステップ#3225以降は、前述した通りである。
ここで、上記ステップ#3204での角度振れ補正と上記ステップ#3216での平行振れ補正の始め方について説明する。
図33は、上記を説明する為に、角度振れ補正目標値および平行振れ補正目標値が振れ補正部6806を駆動する駆動部6809に入力されるまでを、詳細に示したブロック図である。
角度振れ補正目標値を出力する敏感度調整部303および平行振れ補正目標値を出力する出力補正部309より以前のブロックは省略して図示している。尚、実際には全て演算処理で行われる訳であるが、図示化するためにサンプルホールド(以下、S/H部)3302や差動器3303をアナログ系のブロックで示している。
敏感度調整部303より出力される角度振れ補正目標値は、可変ゲイン3301に入力される。可変ゲイン3301は、レリーズボタン6804aの半押しによるスイッチS1のオン信号3304の入力により、角度振れ補正目標値のゲインをゼロから1に例えば0.5秒かけて変更してゆく。これにより、レリーズボタン6804aの半押しにより0.5秒後には精度より角度振れ補正が行われる。この様にゲインを少しずつ変更しているのは、レリーズボタン6804aの半押しで急激に画像振れ補正を開始すると、その時の手振れの状態によりファインダ画面が大きく変動し、撮影者に違和感を与えるためである。これについては後ほど図34を用いて再度説明する。
また、可変ゲイン3301はレリーズボタン6804aの半押し解除より所定時間(例えば4秒)後に角度振れ補正目標値のゲインを1から例えば0.5秒かけてゼロに変更してゆく。これも急激に画像振れ補正を停止する事による画面変動を避けるためである。
尚、レリーズボタン6804aの半押しから所定時間後に画像振れ補正を中止するのは、図32のステップ#3225で述べた様に、再度レリーズボタン6804aを半押しされた時に継続して画像振れ補正が行えるように備えている為である。
出力補正部309より出力される平行振れ補正目標値はS/H部3302に入力されると共に差動器3303に入力されており、差動器3303ではS/H部3302の出力と平行振れ補正目標値の差動出力を行う。即ち、S/H部3302がサンプリング中の時は差動器3303に入力する2つの信号は等しい為に、その出力はゼロである。S/H部3302にはレリーズボタン6804aの押し切りによるスイッチS2のオン信号3305も入力されており、その信号入力により平行振れ補正目標値をホールドする。そのため、その時点でS/H部3302の出力は固定される事になり、差動器3303の出力はレリーズボタン6804a押し切り(スイッチS2のオン信号3305)に同期してゼロから連続的に出力する。これについても後ほど図34で波形を用いて説明する。
また、S/H部3302には露光完了信号3306も入力されており、露光完了信号3306の入力でS/H部3302は平行振れ補正目標値を再度サンプリングする。そのため、露光完了に同期して差動器3303の出力はゼロになる。
図34は以上を手振れ波形で説明する図であり、横軸は経過時間、縦軸は手振れ量或いはその補正量を像面振れに換算した量である。又、横軸におけるタイミングt2,t6,t8,t9,t16,t17は、図30で示したタイミングチャートのタイミングと同じタイミングを同じ符号で示している。
波形3401は、角度振れ及び平行振れにより生じる像面での振れ量であり、ここでは説明のために余弦波で示している。波形3402は、波形3401の中で角度振れにより生じる像面での振れ量成分を抜き出して示している。波形3403は、波形3401の中で平行振れにより生じる像面での振れ量成分を抜き出して示している。
また、波形3404は、図33の可変ゲイン3301で出力される角度振れ補正目標値の像面での換算値であり、波形3402の振れを補正する目標値である。波形3404は、レリーズボタン6804aの半押し(時刻t2)より所定時間(例えば0.5秒)を費やして角度振れ補正目標値を適正ゲインにしている。
波形3402では、時刻t2にて所定の振れ量3307を生じており、このまま画像振れ補正を開始すると振れ補正部6806がゼロ位置より急激に駆動され、ファインダ画面が大きく揺れてしまう。それを避ける為に波形3404で示すように、角度振れ補正目標値ゲインを時刻t2で徐々に適正値にしている。
また、時刻t16にてレリーズボタン6804aの半押しが解除されると、それより4秒後の時刻t17で角度振れ補正目標値ゲインを徐々に小さくし、ゼロに収束させる。波形3402では、時刻t17にて所定の振れ量3308を生じており、突然画像振れ補正を止めると振れ補正部6806がその補正位置より急激にゼロ位置に駆動され、ファインダ画面が大きく揺れてしまう。その為に時刻t17よりゲインを徐々に小さくしてゆく事で画面の急激な変化を防止している。
波形3405は、図33の差動器3303で出力される平行振れ補正目標値の像面での換算値であり、波形3403の振れを補正する目標値である。前述した様に差動器3303の出力はゼロより連続的に出力されるので、波形3405は時刻t6よりゼロより連続的に出力されており、波形3403の時刻t6での出力3309とは異なっている。これは時刻t6時点で出力3309のように急激に振れ補正を始めると、露光開始までに振れ補正部6806が応答できず、十分な平行振れ補正が行われない事の対策である。
平行振れ補正目標値は露光完了の時刻t8でその出力がゼロになる。これは、図33で説明した様に、露光完了に伴い、S/H部3302をサンプリング状態に戻し、差動器3303の出力がゼロになる為である。そのため、振れ補正部6806は平行振れの補正を止めるが、既に露光は完了しているために画像への影響は生じず、また、ミラーアップ中である為に平行振れ補正を急に停止した事が画面で見えてしまうことは無い。
画面振れによる違和感防止の為には画像振れ補正の開始、停止は連続的に行う事が好ましいが、上記の様に画面を確認できない場合に限っては急激な平行振れ補正停止により、早期に次の動作に備えるようにしている。
時刻t9では、クイックリターンミラーのダウンが完了(シャッタ閉は時刻t8で完了)する訳であるが、この時点では既に平行振れ補正停止より所定時間(例えば100ms)経過している。よって、平行振れ補正停止による画面の変動がファインダを通して見える事は無い。波形3406は振れ補正部6806の駆動量の像面での換算値であり、波形3404と波形3405の合成波形とほぼ同じである。
振れ補正部6806の駆動量を見ると、時刻t2より徐々に角度振れ補正を開始し、時刻t6より角度振れ補正と共に平行振れ補正を連続的に開始する。そして、時刻t8で平行振れ補正を停止し、時刻t9でクイックリターンミラーがダウンし、時刻t16ではレリーズボタン6804aの半押しが解除され、その4秒後の時刻t17より角度振れ補正の停止が始まる。
以上のように、角度振れ補正、平行振れ補正ともその補正開始は連続的に行われるように制御されており、振れ補正部6806は常に安定して画像振れ補正を行うことができる。
前述した様にステップ#3213では回転半径検出の平均化を中止しており、これは、この後にクイックリターンミラーや絞り、シャッタなどの振動発生動作があり、これにより加速度計101pに外乱が加わり、回転半径Lの検出精度が劣化する為である。この現象について、図35を用いて説明する。
図35はクイックリターンミラーやシャッタ駆動時の加速度計101pの波形を示しており、横軸は経過時間、縦軸は加速度計101pの出力電圧である。
この加速度計101pは5V駆動であり、基準電圧3502に対して出力波形3501はバイアス電圧3505が重畳している。このバイアス電圧は加速度計に1Gの重力が加わった状態であることを示している。
平行振れの検出(或いは回転半径Lの検出)の為に図31に示したような加速度計101pには常に1Gの重力が加わっている。その為に、その分の加速度出力がバイアス電圧3505として出力される。この加速度計101pの加速度出力可能電圧は0.5Vから4.5Vの間であり、この範囲外では出力が飽和する。
今、加速度計101pの出力波形3501は、ミラー駆動やシャッタ駆動のタイミングで波形3501a,3501b,3501cのように出力が飽和している区間がある。これは既に重力分のバイアス電圧が加わっているので、その分加速度検出範囲が狭くなっている事に加え、クイックリターンミラーやシャッタ、絞りの駆動による大きな振動加速度が加速度計101pに加わる為である。
この問題は検出範囲の広い加速度計を用いる事で解決できるが、検出レンジが広い加速度計は微小加速度の検出精度が低くなる為に高精度の平行振れ加速度を検出できなくなる。そのような精度の低い加速度計を使用するよりは、クイックリターンミラーやシャッタ駆動、絞り、レンズ駆動時は加速度検出を行わず、それ以外の区間で求めた回転半径Lを平均化して利用した方が精度よい平行振れ補正が行われる。そのために、クイックリターンミラーやシャッタ、絞り、レンズ駆動時の加速度出力の飽和が生じる(その区間の加速度出力は使わない)検出レンジが限定された加速度計でも、高精度な平行振れ検出が可能な加速度計を用いている。
図11で説明した様に、回転半径Lは回転中心1102pから加速度計101pまでの長さであり、加速度計101pは撮像光学系の主点位置に配置されているので、この長さは回転中心1102pから撮像光学系の主点位置の長さに等しい。
平行振れは撮像光学系の主点位置の位置ずれにより発生するので、回転半径Lと角速度計6807pを積分した角度出力の積により、撮像光学系の主点位置ずれを求める事ができ、平行振れ補正目標値を得ることができる。
ところで、今までの説明では省略していたが、実際には被写体の位置に合わせた焦点調節によりレンズの光軸上の位置が変化し、それに伴い、加速度計101pの設置位置と撮像光学系の主点位置にずれが生じる。そのため、正確に撮像光学系の主点位置のずれを求める為には、回転半径Lを撮像光学系の主点位置と加速度計101pの設置位置のずれに合わせて補正する必要がある。
図36及び図37は、上記を説明するカメラの振れ状態の説明図であり、図36と図37はレンズと被写体3601,3701の距離が異なる。
図36の被写体3601の位置において、撮像光学系を合焦位置に調整した時の撮像光学系全体の主点位置A(3602)は、加速度計101pの配置と光軸方向で同位置にある。そのため、加速度計101pの出力と角速度計6807pの出力に基づいて回転半径L(1101p)を求め、その回転半径1101pと角速度計6807p出力により上記式(4)の右辺第2項でレンズ主点位置における平行振れ量3603が求まる。
図37では被写体3701が図36の被写体3601よりもレンズから離れており、撮像光学系を合焦位置に調整した時の撮像光学系全体の主点位置B(3702)は、加速度計101pの配置と光軸方向でずれが生じてくる(ずれ量3704)。そのため、加速度計101pの出力と角速度計6807pの出力に基づいて回転半径1101pを求めても、図37のレンズ主点位置における平行振れ量3703は求まらない。
そこで、加速度計101pの出力と角速度計6807pの出力に基づいて求まる回転半径1101pよりずれ量3704を差し引いた修正回転半径3705を求める。そして、その修正回転半径L3705と角速度計6807p出力により式(4)の右辺第2項によりレンズ主点位置B3702における平行振れ量3703を求めている。即ち、被写体距離により回転半径Lを補正している。
撮像レンズの主点位置における平行振れを求めるにはその主点位置に加速度計101pを配置する必要がある。そのため、焦点調節により撮影レンズの主点位置が変化しても、それに伴って加速度計101pの取り付け位置も変化する構成にすれば、上記補正処理は不要になる。例えば、焦点調節の為に繰出すレンズ上に加速度計101pを取り付けることで、主点位置の移動と加速度計の移動を揃えることも可能であるが、そのような構造は複雑になり、レンズ全体が大型化してしまう。
しかし、図37で説明した様な補正を行う事で、加速度計101pを固定したままで、変化する主点位置での平行振れ量を求める事ができる。この補正は焦点調節の為のレンズの位置をフォーカスエンコーダで検出し、その結果で撮像光学系の主点位置を求めて加速度計101pの設置位置とのずれを計算することで行える。
図3で説明した出力補正部309は、利得調整した角度出力に回転半径Lおよび撮影倍率を乗じて平行振れ補正目標値を求めるが、上記説明した様な回転半径Lの補正も行っている。
図38は出力補正部309の内部構成を示すブロック図であり、ズーム、フォーカス情報302のレンズエンコーダからのレンズズーム位置、フォーカス位置に基づいて撮影倍率演算309bは撮影倍率を求める。また、同時に、上記ズーム、フォーカス位置に基づいて撮像光学系の主点位置と加速度計設置位置のずれをずれ演算部309dで求める。
比較部308で求まった回転半径Lの情報は出力補正部309内でずれ演算309dの出力に基づいて回転半径補正309cで補正される。これにより、加速度計101pの設置位置から回転中心までの回転半径Lではなく、その時点の撮像光学系の主点位置から回転中心までの回転半径Lに補正される。
補正された回転半径Lと撮影倍率が利得調整部311の出力と乗算され、平行振れ補正目標値が求められる。この回転半径Lの補正タイミングは、図32におけるステップ#3213で行われる。ステップ#3213では、加速度計101pの設置位置から回転中心までの回転半径Lの平均値から加速度計101pの設置位置とその撮影条件での撮像光学系の主点位置間の長さを引いた、撮像光学系主点位置から回転中心までの補正回転半径Lを求める。そして、その値をステップ#3214で信頼性を評価し、ステップ#3216で平行振れ補正に用いる。
図38のブロック図に示した構成の為に、撮像光学系の主点位置近傍に限定されず、加速度計101pの設置位置の自由度が高くなると共に、撮像光学系の主点位置の変動が起きた場合でも簡単な補正で対応できるようになっている。
上記実施例1に係る防振制御装置は、以下の構成要素により成る。つまり、振れによる画像振れを補正する振れ補正部6806(振れ補正手段)と、振れの角速度を検出する角速度計6807p,6807y(第1振れ検出手段)とを有する。さらに、第1振れ検出手段とは異なる方式で振れを検出する加速度計101p,101y(第2振れ検出手段)を有する。さらに、防振対象の撮像装置の撮影動作が開始されるまでに第1振れ検出手段の出力に基づく第1信号と第2振れ検出手段の出力に基づく第2信号とから回転半径L(補正値)を演算する比較部308(演算手段)を有する。さらに、回転半径L(補正値)を用いて第1振れ検出手段の出力を補正する出力補正部309(出力補正手段)を有する。さらに、出力補正手段により補正された第1振れ検出手段の出力に基づいて振れ補正手段を駆動する駆動部6809(振れ補正駆動手段)を有する防振制御装置としている。
上記振れ補正手段は、撮影動作中は、出力補正手段により補正された第1振れ検出手段の出力に基づいて駆動される(図32のステップ#3216)。
また、上記比較部308(演算手段)は、撮影動作の開始まで回転半径L(補正値)を演算し、撮影動作中は回転半径Lの演算を中止する(図32のステップ#3213)。そして、撮影動作が開始されるまでの期間の回転半径Lを平均し、該平均値を出力補正部309に出力する。
また、比較部308は、撮影動作が開始されるまでの所定の周期毎に演算する回転半径Lの平均値を更新し、撮影動作が開始する時点における更新した回転半径Lの平均値を出力補正手段に出力する(図32のステップ#3216)。
また、上記回転半径L(補正値)は、角速度計の出力に基づく第1信号と加速度計の出力に基づく第2信号を用いて演算される、撮像光学系の主点位置近傍から振れの回転中心位置までの距離に相当するものである。
また、上記補正値の信頼性を判定する信頼性判定手段(図32のステップ#3214)を有する。そして、信頼性判定手段は、補正値を求めるための期間が所定より短い場合、補正値が所定値より大きい場合、第1振れ検出手段の出力が所定値より小さい場合、あるいは、撮像装置に具備される駆動機構の作動時には、信頼性が低いと判定する。
そして、上記のように信頼性が低いと判定された場合、出力補正手段は、予め記憶してある補正値(図32のステップ#3236)を用いて第1振れ検出手段の出力を補正するようにしている。
よって、小型で機動性が高い、扱い易いカメラ、或いはビデオにおいてもマクロ撮影にも安定した(平行振れの高精度な補正を実現する)防振システムを実現可能となる。
上記実施例1では、回転半径Lは図20に示したように手振れ周波数により変化し、それを吸収する為に平行振れ補正の為の角速度計の出力(積分した角度出力)を利得調整部311で周波数毎に利得を調整していた。
しかし、全ての場合において、図20のように回転半径Lに周波数依存がある訳ではない。例えば、しゃがんだ状態でカメラを構えた時、肘を固定して(例えば肘を机に押し付ける)撮影した場合などでは、図20のように周波数が低いほど回転半径Lの利得が増える(回転半径Lが長くなる)ことはない。この様な時に利得調整部311を用いると低い周波数の平行振れを過剰に補正することになり、その帯域では却って振れが増加してしまう虞がある。
そこで、本発明の実施例2では、周波数毎の回転半径Lの変化を検出し、それに合わせて利得調整部311の使用可否を判定するものである。
図39は、本発明の実施例2に係る一眼レフカメラに具備される防振制御装置の構成を示すブロック図である。尚、カメラの外観は,図1及び図2と同様である。
本実施例2に係る防振制御装置は、上記実施例1の防振制御装置(図3)に対して、周波数毎の回転半径L変化の傾向を掴む為に角速度計6807p、加速度計101pのBPFおよび周波数毎の回転半径Lの調整可否を判定する手段を追加している。また、周波数毎の回転半径Lの調整可否判定により周波数毎の回転半径Lの調整実行を制御する入力切換部を設けている。
図39において、角速度計BPF1部3901及び加速度計BPF1部3902は、図3における角速度計BPF部306、加速度計BPF部307と同様に、5Hzにおける角速度出力、速度出力を抽出するフィルタである。そして、比較部3905は、それら出力に基づいて5Hzにおける回転半径Lを求める。また、角速度計BPF2部3903及び加速度計BPF2部3904は、1Hzにおける角速度出力、速度出力を抽出するフィルタである。そして、比較部3906は、それら出力に基づいて1Hzにおける回転半径Lを求める。調整可否判定部3907は比較部3905及び比較部3906の出力を比較している。
上記実施例1でも説明したように、一般的には低周波の回転半径Lに比べて高周波の回転半径Lは小さい。その為、比較部3906の出力である1Hzにおける回転半径Lより比較部3905の出力である5Hzにおける回転半径Lが小さい場合には、実施例1で説明した状態と判定する。
そこで、調整可否判定部3907はその結果を入力切換部3908に出力する。入力切換部3908は、利得調整部311の出力を出力補正部309に出力する。これにより、実施例1と同様に、周波数毎に変化する回転半径Lに相当する平行振れ補正目標値を作成する。
比較部3906の出力である1Hzにおける回転半径Lと比較部3905の出力である5Hzにおける回転半径Lが同じ、或いは、5Hzにおける回転半径Lが大きい場合には、実施例1で説明した状態とは異なる状態と判定する。
調整可否判定部3907はその結果を入力切換部3908に出力する。入力切換部3908はHPF積分フィルタ301の出力を出力補正部309に出力する。即ち、利得調整部311を介さない平行振れ補正目標値を作成する。
ここで、HPF積分フィルタ310の出力を用いないのは、図22で説明したように、HPF積分フィルタ310の出力は利得調整部311の特性を補正する為に通常のHPF積分フィルタ301とは異なる特性になっている為である。この様な構成の為に、撮影者の撮影状況に応じて最適な平行振れ補正が行える。
尚、実施例1においては撮影開始までに求めた回転半径Lの平均値を用いて平行振れ補正目標値を算出していた。しかしながら、被写体を観察する時間が長い場合等のように回転半径Lの算出期間が長い場合には、観察開始時と撮影直前では手振れの状態が変化してくる可能性もある。例えばカメラの構え方が変化することにより回転半径Lそのものの大きさが変化することや、或いは上述した様に周波数と回転半径Lの関連性が被写体観察開始時と撮影直前では異なってくる現象である。この様な場合も考慮すると、撮影直前までに求めた回転半径Lの平均値ではなく、所定期間毎に回転半径Lの平均値を更新する方が好ましい。
図27では、期間を区切った角速度出力ω2710から2716の各々に対して速度出力V2717から2723の出力を比較して、区間毎に角速度出力ωと速度出力Vを演算して回転半径Lを求めていた。図28では、やはり期間を区切った角速度出力ωのピーク2804から2806の各々に対して速度出力Vのピーク2807から2809の出力を比較して区間毎に角速度出力ωと速度出力Vを演算して回転半径Lを求めていた。そして、求まった各回転半径Lを、図32のステップ#3213で平均化して撮影時の平行振れ補正に用いていた。
本発明の実施例2においては、この平均化の演算を移動平均とし、逐次平均値を更新する構成にしている。
図40は上記を説明する概念図であり、横軸は経過時間、縦軸は各タイミングである。
レリーズボタン6804aの半押し(4001)後(スイッチS1のオン)に回転半径Lの検出(4003)が始まり、求まる区間毎の回転半径LをL01からL22で示す。上記実施例1では、レリーズボタン6804aの押し切り(4002)がなされる(スイッチS2のオン)までの回転半径L01からL19までの全ての平均で平行振れ補正に用いる回転半径Lを求めていた。これに対し、本実施例2では、それを所定期間毎に更新するようにしている。
図40で示したように、回転半径L10まで求まると、回転半径L01から回転半径L10までの平均回転半径L0110を求める。その後、回転半径が求まる毎に、回転半径の移動平均を求め、平行振れ補正の為の回転半径を更新してゆく。
図40においては、回転半径L19が求まった時点で撮影が開始される事になるので、その時の移動平均値L1019を用いて平行振れ補正を行うことになる。即ち、回転半径Lの移動平均値の更新を継続し、撮影時には最新の移動平均値を用いて平行振れ補正を行う。
また、図39で示したように、回転半径L1019は5Hzにおける回転半径Lと1Hzにおける回転半径Lの2種を求めておき、その比較結果に基づいて周波数毎の回転半径Lの調整を行うか否かも制御している。
この様に回転半径を更新する事で、撮影状態に適した回転半径Lを用いた精度の良い平行振れ補正が行える。
尚、図29で述べたように面積を求める方式においても、面積を求める期間を区分して、各期間で求めた回転半径Lを図40により移動平均で更新を継続して撮影時には最新の移動平均値を用いて平行振れ補正を行えば良い。
上記のように、移動平均で回転半径Lを求める場合には平均化する期間が実施例1に比べて短くなる。そのため、カメラやレンズの駆動振動時に回転半径Lが求まらないと、その直後の撮影には対応できなくなる。
そこで、本実施例2においては、AFの為のレンズ駆動時には回転半径Lの演算を行うようにしている。但し、実施例1で説明したように、駆動振動により加速度計101p、101yの出力が飽和すると正しい回転半径Lが求まらない。そこで、飽和しないレベルまで加速度計101pの感度を下げ、その状態で振れ加速度を検出して角速度出力と比較している。しかし、加速度感度を下げると、加速度検出出力が劣化してしまう問題がでてくる。その為に駆動振動が発生するタイミングのみ、加速度計101pの感度を下げる構成にしている。
通常の状態では振れ加速度は精度良く検出され、駆動振動が発生する短期間のみ加速度感度を下げる事になる。駆動振動の発生期間の振れ加速度精度は下がる事になるが、その精度劣化も駆動振動前後の回転半径Lとの移動平均で緩和されることになる。
図41は、図39のブロック図に、加速度計101pの感度を制御するブロックを加えた図である。ここで、加速度計101pは、MEMSなどで形成されたメカニカルな領域101pcと初段のアンプ101pd、処理回路101peに分けて図示している。
初段アンプ101pdの利得は利得変更判定部4101の入力で可変になっている。加速度計101pの出力はウィンドコンパレータ4103を介してHPF積分フィルタ305に入力されている。HPF積分フィルタ305の出力は、利得補正部4104を介して加速度計BPF1部3902、加速度計BPF2部3904に入力されている。
また、ウィンドコンパレータ4103の出力は、利得変更判定部4101に入力されている。ウィンドコンパレータ4103は、加速度計101pの出力が第1範囲レベルを超えると利得下げ信号を出力し、その結果、利得変更判定部4101は初段アンプ101pdの利得を下げる。尚、ここで第1範囲は、加速度計出力の飽和レベルの約8割程度に設定されている。
また、ウィンドコンパレータ4103は、加速度計出力が所定時間(例えば0.1秒)第2範囲レベル内であれば利得復帰信号を出力し、その結果、利得変更判定部4101は初段アンプ101pdの利得を元に戻す。尚、第2範囲は、第1範囲の1/3に設定される。これは、利得変更後は初段アンプ101pdの利得が1/3になるので、その状態で第1範囲レベルと同じレベルを判定に用いる為である。
調整可否判定部3907からの回転半径L算出未完了信号は利得復帰禁止部4102に入力されており、その期間、利得復帰禁止部4102は利得変更判定部4101に利得復帰禁止信号を出力する。そのため、比較部3905,3906が回転半径Lを算出している期間中は初段アンプ101pdを元の利得に戻す事はしない。これは、回転半径Lを算出中に初段アンプ101pdの利得を変更する事による回転半径Lの精度劣化を避けるためである。
利得補正部4104は、初段アンプ101pdの利得が小さい時には、その利得を元に戻す役割をしている。ここで、利得補正部4104は、HPF積分フィルタ305より後段に設けられている。駆動振動により加速度計101pの出力は高周波ノイズが重畳し、これにより加速度計101pの出力が飽和してしまうのであるが、HPF積分フィルタ305の出力は加速度計出力を積分している為の高周波の信号は十分減衰される。その為にHPF積分フィルタ305後の出力の利得を大きくしても出力の飽和は生じない。即ち、初段アンプ101pdの利得を小さくして加速度計101pの出力の飽和を回避し、加速度計101p出力積分後に利得の補正を行う事で、初段アンプ101pdの利得変更による回転半径Lの誤差を補正している。
図42は上記の事を加速度計の出力波形で説明する図であり、横軸は経過時間、縦軸は加速度計出力である。
波形4201及び波形4203は、初段アンプ101pdが通常利得時の加速度計101pの出力(期間4204,4206)である。また、波形4202は、初段アンプ101pdの利得を1/3に下げたときの加速度計101pの出力(期間4205)である。
ここで、波形4201は、矢印4209で示す衝撃入力時点でその出力が第1範囲である判定レベル4207範囲を超えてしまったので、ウィンドコンパレータ4103が利得下げ信号を出力して初段アンプ101pdの利得を下げて波形4202とする。
次に、矢印4210で波形4202は第2範囲である判定レベル4208範囲内に収まる。ここで、上述した様に初段アンプ101pdの利得は1/3に下がっているので、第2範囲である判定レベルも第1範囲である判定レベルの1/3に設定して同じレベルで判定するようにしている。
このように、波形4202が第2範囲である判定レベル4208内に収まってから所定の期間(確認期間4211)経過後に、初段アンプ101pdの利得を元に戻すようにしている。
但し、上述した様に上記確認期間4211は単に所定期間(例えば0.1秒)計時しているだけではなく、回転半径L算出の区切りも考慮してある。即ち、所定期間(例えば0.1秒)計時後に後0.04秒で回転半径Lの算出結果が出る場合には、確認期間4211は0.14秒となる。そして、次の回転半径Lは初段アンプ101pdの利得を元に戻した後に算出する。
図43は、加速度計101p、初段アンプ101pdの利得切換え時の動作を示すフローチャートであり、このフローは、加速度計起動と同時にスタートし、加速度計停止までフローを循環する。
ステップ#4301では、加速度計出力が第1範囲4207外にあるか否かをウィンドコンパレータ4103にて検出する。加速度計出力が第1範囲4207外の場合はステップ#4302へ進み、そうで無い時はステップ#4301で第1範囲4207外になるまで待機する。
次のステップ#4302では、利得変更判定部4101が初段アンプ101pdの利得を1/3にする。また、利得補正部4104は積分後の加速度出力を3倍にして利得を補正する。続くステップ#4303では、加速度計出力が第2範囲4208内に戻ったか否かをウィンドコンパレータ4103により検出する。加速度計出力が第2範囲4208内に戻った場合はステップ#4304へ進み、そうで無い時はステップ#4303で第2範囲4208内に戻るまで待機する。
次のステップ#4304では、所定時間(例えば0.1秒)待機し、その後ステップ#4305へ進み、現在期間における回転半径Lの算出が終了するまでステップ#4305で待機する。次のステップ#4306では、利得変更判定部4101が初段アンプ101pdの利得を元に戻す。また、利得補正部4104は積分後の加速度出力を1倍に戻す。その後、ステップ#4301に戻る。
このように、加速度計101pの出力が飽和しそうになるとその利得を下げる事で、加速度計101pの飽和を防ぎ、利得不足は積分後の加速度出力で補正するので補正値が飽和することは無くなる。
図44は本発明の実施例2に係る主要部分の動作を示すフローチャートであり、実施例1における図32に相当するものである。
図44において、図32のフローチャートと異なるうちの一つは、ステップ#3206,#3228の回転半径算出開始に代わって、ステップ#4401,#4403にて、回転半径検出と共に、検出された回転半径の移動平均を求めている点である。
また、ステップ#3230の回転半径検出中止も省かれている。これは加速度計101pの初段アンプ101pdの利得を下げる事で、焦点調節の為のレンズ駆動振動により加速度計出力が飽和する事が無くなり、その期間も回転半径Lを求める事が出来るようになった為である。
ここで、図45は本発明の実施例2に係るタイミングチャートであり、実施例1における図30のタイミングチャートに相当するものである。図30と異なるのは、回転半径検出タイミング3009に代わり、回転半径検出タイミング4501が設けられている点である。
回転半径検出タイミング4501は、角速度計出力、加速度計出力より回転半径を算出する動作であり、Hiは算出期間、Loは算出中止期間である。この回転半径検出タイミング4501と回転半径検出タイミング3009の違いは、時刻t3からt5の間においても回転半径Lを求めるようにしている点である。
図44に戻り、更に図32のフローチャートと異なるのは、ステップ#3213の回転半径検出中止、及び回転半径の平均化に代わり、ステップ#4402が設けられ、回転半径の検出中止と共に最終更新した回転半径を平行振れ補正に使用する設定にしている。その他のフローは図32と同様の為に説明を省く。
図44のフローでわかる様に、シャッタやクイックリターンミラー、絞り駆動のときは依然として回転半径Lの検出を停止している。この期間も回転半径Lの検出を行っても良いのである。しかし、これらの駆動による発生振動は極めて大きく、それらによる加速度計出力の飽和を避けるためには、加速度計101pの初段アンプ101pdをかなり大きく下げる必要があり、利得を大きく下げる事による加速度計出力の不安定が発生してしまう。その為、この期間に算出される回転半径精度は極めて低くなるので、上記のように回転半径Lの検出を中止しているのである。
図38で説明したように実施例1では、加速度計101pの設置位置と撮像光学系の主点位置のずれにより回転半径Lの補正を行っていた。しかしながら、最も撮影倍率が高いときの撮像光学系の主点位置と同位置に加速度計101Pを配置する事が出来れば、それより撮影倍率が低い時は平行振れの影響も小さくなる。よって、回転半径Lの補正を行わなくてもある程度の精度で平行振れの補正が行えるため、システム全体も簡略化できる。
図46では、撮影レンズの最も撮影倍率の高い状態(被写体最至近位置4601)における撮像光学系の主点位置A(4602)と同じ位置に加速度計101pを設けている。そのため、加速度計101pの出力と角速度計6807pの出力で回転半径L1101pを求めると、それは回転中心から撮像光学系の主点位置までの回転半径と等しく、精度の良い平行振れ補正が行える。尚、撮像光学系の主点位置A(4602)での振れ量4603と加速度計101pの設置位置での振れ量4603は等しい。
図47では、被写体4701が撮像光学系から離れた場合である。この場合、この被写体4701に対して焦点調節を行った時の撮像光学系の主点位置B(4702)は加速度計101pの設置位置4602とはずれてくる。撮像光学系の主点位置B(4702)での振れ量4703と加速度計101pの設置位置での振れ量4603は異なる。但し、この時は撮影倍率が低くなっているので、平行振れによる像劣化の影響は小さくなっており、回転半径Lを厳密に定めなくても許容できる精度の平行振れ補正が行える。
大事なことは、撮像光学系の撮影倍率が最も大きくなる時のレンズ主点位置に加速度計101pを配置する事であり、これが可能であるならば実施例1に比べて演算の簡略化が可能になる。
尚、必ずしも加速度計101pを撮影光学系の主点位置に配置する必要は無く、加速度計101pの取り付け位置と撮影光学系の主点位置がずれていても、図38で説明した回転半径補正手段309cによりそのズレを補正してあげればよい。即ち、図38におけるズレ演算手段309dを省いてシステムを簡略化する代わりに回転半径Lの補正値は最大撮影倍率時の撮影光学系主点位置と加速度計間のズレを固定値として用意しておく構成にしている。
図38で説明した様な方法を採用すると加速度計の取り付け位置の自由度はきわめて高くなる。
図36などで説明した様に回転中心がカメラの背面側に存在するので、加速度計はこの回転中心よりできるだけ遠くに配置した方が振れにより生じる加速度が大きくなり、検出精度が高くなる。その為、加速度計は撮影レンズ6801の最も対物側の先端に配置する方が好ましい。
以上の実施例2においては、撮影前までに更新してゆく出力補正部309の角速度計出力の補正値の最新更新値に基づいて角速度計出力を補正し、平行振れの補正を行っている。その為に安定した高精度な平行振れ補正が可能になった。
つまり、比較部3905,3906が、撮影動作が開始されるまでの所定の周期毎(図40のL01〜L10等)に回転半径(補正値)を演算し、その平均した回転半径を更新してゆく。そして、撮影動作の開始する時点における更新された回転半径を出力補正手段である出力補正部309に出力(図44のステップ#4402)するようにしている。
換言すれば、比較部3905,3906は、撮影動作が開始されるまでの所定の周期毎に演算する回転半径の平均値を更新し、撮影動作が開始する時点における更新した回転半径の平均値を出力補正部に出力して、平行振れを行うようにしている。尚、上記補正値を、所定の周期毎に移動平均より演算される平均値を更新したものとしてもよい。
また、実施例2においては、撮像装置の撮像光学系の主点位置の相対変化を検出するずれ演算部309d(主点移動検出手段)と、主点移動検出手段の出力に基づいて補正値を補正する回転半径補正部309c(補正値補正手段)とを有する。
上記補正値補正手段は、撮像光学系の撮影倍率が最大の時に、出力補正手段により補正された第1振れ検出手段の出力に基づく画像振れ補正の精度が最大になるように補正値を補正するようにしている。
また、撮像光学系の撮影倍率が最大の時の主点位置(図37のB(3702))に、第2振れ検出手段である加速度計101p,101yを配置している。