(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、図面等を参照して、本発明の実施形態について説明する。
図1は、実施形態のブレ補正装置を備えるカメラ1を模式的に示す断面図である。
カメラ1は、デジタル一眼レフカメラであり、カメラ筐体1Aと、このカメラ筐体1Aに対して着脱自在に装着されるレンズ鏡筒(光学部材)1Bとを備えている。
【0009】
カメラ筐体1Aは、カメラCPU2A、撮像素子3、記録媒体13、EEPROM14、信号処理回路15、AFセンサ16、レリーズスイッチ17、背面液晶18、ミラー19及びシャッタ20を備えている。
【0010】
カメラCPU2Aは、カメラ1の全体の制御を行う中央処理装置であり、本実施形態のブレ補正装置の一部を構成する。
撮像素子3は、撮影レンズ(4,5,6)により形成された被写体像を撮像する素子であり、被写体光を露光して電気的な画像信号に変換し、信号処理回路15へ出力する。撮像素子3は、例えばCCD、CMOSなどの素子により構成されている。
【0011】
記録媒体13は、撮像された画像データを記録するための媒体であり、SDカード、CFカード等が使用される。
EEPROM14は、角速度センサ12のゲイン値などの調整値情報、レンズ鏡筒固有の情報等を記憶するメモリであって、CPU2に出力する。
信号処理回路15は、撮像素子3からの出力を受けて、ノイズ処理やA/D変換等の処理を行う回路である。
【0012】
AFセンサ16は、AF(自動焦点調節)を行うためのセンサであって、CCD等を用いることができる。
レリーズスイッチ17は、カメラ1の撮影操作を行う部材であって、シャッタ駆動のタイミング等を操作するスイッチである。
【0013】
背面液晶18は、カメラ1のカメラ筐体1Aの背面に設けられ、撮像素子3で撮影した被写体像(再生画像、ライブビュー画像)や操作に関連した情報(メニュー)などを表示するカラー液晶ディスプレイである。
【0014】
シャッタ20は、ミラー19の後方に配置されている。シャッタ20には、ミラー19が上へ回転して撮影可能状態となったときに、被写体光が入射される。シャッタ20は、レリーズスイッチ17などによる撮影指示に応じてシャッタ幕を走行させ、撮像素子3に入射する被写体光を制御する。
【0015】
レンズ鏡筒1Bは、ズームレンズ群4、フォーカスレンズ群5、ブレ補正レンズ群(光学素子)6、ズームレンズ群駆動機構7、フォーカスレンズ群駆動機構8、ブレ補正レンズ群駆動機構(光学素子駆動部)9、絞り10、絞り駆動機構11、角速度センサ12、及びレンズCPU2Bを備える。
【0016】
レンズCPU2Bは、ズームレンズ群4、フォーカスレンズ群5、ブレ補正レンズ群6等のレンズ群の移動量演算を行う。ズームレンズ群駆動機構7、フォーカスレンズ群駆動機構8、ブレ補正レンズ群駆動機構9、及び絞り駆動機構11に移動量を指示してズームレンズ群4、フォーカスレンズ群5、ブレ補正レンズ群6を移動させる。
【0017】
ズームレンズ群4は、ズームレンズ群駆動機構7により駆動され、光軸方向に沿って移動することにより、像の倍率を連続的に変化させるレンズ群である。
フォーカスレンズ群5は、フォーカスレンズ群駆動機構8により駆動され、光軸方向に移動して、焦点を合わせるレンズ群である。
ブレ補正レンズ群6(光学素子)は、VCM等のブレ補正レンズ群駆動機構9により光学的にブレ補正駆動され、光軸に垂直な面上で可動なレンズ群である。
【0018】
絞り10は、絞り駆動機構11に駆動され、撮影レンズ(4,5,6)を通過する被写体光の光量を制御する機構である。
角速度センサ12は、それぞれセンサユニットに生じる振れの角速度を検出するセンサである。
【0019】
図2は、本実施形態のブレ補正装置100のブロック図である。
ブレ補正装置100は、カメラCPU2A、レンズCPU2B、角速度センサ12、ブレ補正レンズ群駆動機構(レンズ駆動部)9、レンズ位置検出部21、及びブレ補正レンズ群6を備える。
【0020】
カメラCPU2Aは、撮像素子3、信号処理部40及び動きベクトル演算部41を備える。
レンズCPU2Bは、増幅部31と、第1A/D変換部32、第2A/D変換部33、基準値演算部34、基準値補正量演算部35、積分部を内部に含む目標位置演算部36、センタバイアス演算部37、センタバイアス除去部38、駆動量演算部39、切替スイッチ45、及び基準値バッファ部46を備える。
角速度センサ12は、レンズ鏡筒1BのX軸回り(Pitch)、Y軸回り(Yaw)、Z軸回り(Roll)の角速度を検出する振動ジャイロ等のセンサである。
【0021】
増幅部31は、角速度センサ12の出力を増幅する。
第1A/D変換部32は、増幅部31の出力をA/D変換する。
基準値演算部34は、角速度センサ12から得られた振動検出信号(第1A/D変換部32の出力)の基準値を演算する。
基準値バッファ部46は、基準値の過去データ(検出遅れ時間Δt分)をメモリに記憶しておく。基準値バッファ部46については後に詳述する。
切替スイッチ45は、基準値演算部34によって演算された基準値をそのまま補正するか、また、基準値バッファ部46において記憶された過去の基準値を補正するかを選択可能なスイッチである。
目標位置演算部36は、減算部43において基準値が減算された後の角速度センサ12の出力を基に、ブレ補正レンズ群6の目標位置を演算する。
【0022】
センタバイアス演算部37は、目標位置演算部36によって算出された像振れ補正レンズ6の目標位置に基づいて、像振れ補正レンズ6を、その可動範囲の中心に向かって移動させるための向心力をバイアス量として演算する。
そして、像振れ補正レンズ6の目標位置から、算出したバイアス量を減算することにより像振れ補正レンズ6の制御位置を算出する。
このようにセンタリングバイアス処理を行うことで、像振れ補正レンズ6がハードリミットに衝突することを有効に防止することができ、さらには、撮影画像の見栄えを向上させることができる。
【0023】
駆動量演算部39は、目標位置演算部36からの目標位置と、レンズ位置検出部21により検出され、第2A/D変換部33によりA/D変換された値から求められたブレ補正レンズ群6の現在位置から、ブレ補正レンズ群駆動機構9の駆動量を演算する。
【0024】
撮像素子3は、撮影光学系の予定焦点面に設けられている。撮像素子3はCCDやCMOSなどのデバイスから構成され、入力される被写体の像を光電変換してアナログ画像信号を生成する。
信号処理部40は、撮像素子3により生成された画像信号について、所定の処理を行なう。
【0025】
動きベクトル演算部41は、信号処理部40により処理された撮影された画像から、像の動き(動き方向、動き量)を示す動きベクトル(第1動きベクトルMV1)を演算する。
具体的には、動きベクトル演算部41は、撮像素子3により撮像された連続する2つのフレーム画像データに含まれる輝度情報を比較することで、像の動き方向および動き量を検出し、第1動きベクトルMV1を演算する。
【0026】
センタバイアス除去部38は、動きベクトル演算部41の出力である第1動きベクトルMV1から、センタバイアス演算部37において演算された(像振れ補正レンズ6の目標位置から減算された)バイアス量を減算する。
基準値補正量演算部(基準値補正部)35は、センタバイアス除去部35においてセンタバイアス量が除去された第2動きベクトル(MV2)をもとに、基準値補正量を演算する。
そして、減算部(基準値補正部)42は、基準値バッファ部46により保存されていたき所定時間前の基準値から、基準値補正量演算部35により求めた基準値補正量を減算する。
【0027】
次に、本実施形態のブレ補正装置100の動作の流れについて説明する。
図3は、本実施形態のブレ補正装置100の動作の流れを示したフローチャートである。
【0028】
カメラ1の電源がONにされた後、ブレ補正装置100は光学防振の為の演算を開始する。カメラによっては、半押しスイッチ45が押された場合、ブレ補正装置100が光学防振の為の演算を開始する(ステップS001)。
【0029】
角速度センサ12の出力を、増幅部31で増幅した後、第1A/D変換部32によりA/D変換する(ステップS002)。
基準値演算部34は、角速度センサ12の出力のA/D変換後の信号を基に、演算上の角速度の基準値(ゼロdeg/s相当の値)を算出する。角速度の基準値は、温度特性や、起動直後のドリフト特性等により変化するため、例えば、工場出荷時における角速度センサ12の静止時出力を基準値に用いることはできない。
【0030】
基準値を算出方法について、所定時間の移動平均を演算する方法や、LPF処理により演算する方法が知られている。本実施形態では、LPF処理による基準値演算を用いることとする。
【0031】
図4は基準値演算部34を説明する図であり、
図4(a)は基準値演算部34(HPF)、
図4(b)は基準値演算部34のLPF34aを示した図である。
【0032】
LPF34のカットオフ周波数fcは、0.1[Hz]程度の低い周波数に設定することが一般的である。これは、手ブレは1〜10[Hz程度の周波数が支配的であることに起因する。0.1[Hz]のfcであれば、手ブレ成分に与える影響は少なく、良好なブレ補正を行うことができる。
【0033】
しかしながら、実際の撮影時には、構図の微調整(パンニング検出できないレベルの)等、低周波の動きが加わるため、ω0演算結果に誤差を持ってしまうこともある。また、fcが低い(時定数が大きい)為に、一端誤差が大きくなってしまった場合、真値に収束するまでに時間を要してしまうという課題がある。本実施形態は、このω0の誤差を補正するものである。
【0034】
本実施形態では、センタバイアス除去部38において第1動きベクトルMV1情報が得られたら、センタバイアス成分を除去し、ω0成分の動きベクトル情報を換算する。そして、この情報を基にω0の補正値であるω0compを算出する。
ここで、本実施形態では、基準値バッファ部46に格納してある、過去の基準値データ(Δt前)にω0compを加え、この値を最新の基準値に置換える処理を行う。
【0035】
図3に戻り、第1動きベクトルMV1の情報が更新された場合(S004,YES)、S005へ進み、更新されていない場合(S004,NO)は、S006へ進む。なお、このS004〜S005の説明については後に詳述する。
また、露光中は第1動きベクトルMV1の情報が得られないため、このステップは、露光直前までの実施となる。
基準値減算後の角速度センサ12の出力を積算し、焦点距離、被写体距離、撮影倍率、ブレ補正レンズ特性情報を基に、ブレ補正レンズ群6の目標位置を演算する(S006)。
ブレ補正レンズ群6が可動端へ到達することを防ぐため、センタバイアス処理を行う(S007)。
【0036】
センタバイアス処理の方法については、目標位置情報に応じてバイアス量を設定する方法や、HPF処理、不完全積分処理(S006にて)等、種々あるが、ここでは方法は問わない。
【0037】
センタバイアス成分を加味した目標位置情報と、ブレ補正レンズ位置情報の差分から、レンズ駆動量を演算する(S008)。
ブレ補正レンズ群6を目標位置まで駆動させ(S009)、S002へ戻る。
【0038】
次に、基準値補正(S004〜S005、S011〜S016)について説明する。
図5は、基準値補正演算を示すフローチャートである。
上述のように、第1動きベクトルMV1の情報が更新された場合(S004)、S005へ進む。更新されていない場合は、S006へ進む。
光学ブレ補正の制御周期は、第1動きベクトルMV1の更新周期に対して十分早い為、第1動きベクトルMV1が更新されるまでは、通常の防振と同様の演算処理を行う。ここでは、光学ブレ補正の制御周期1[ms]、第1動きベクトルMV1の更新周期33[ms](=30[fps])とする。第1動きベクトルMV1の演算方法については、公知技術を用いる。
【0039】
受信した第1動きベクトルMV1を全て合計する(S011)。
S007にて演算したセンタバイアス成分を、第1動きベクトルMV1と同一スケールに換算する(S012)。
換算方法は、焦点距離、被写体距離、撮影倍率、第1動きベクトルMV1の分解能情報を基に演算する。
Bias_MV=Bias_θ*f1+β/MV_pitch
Bias_MV:センタバイアス成分(動きベクトル同一スケール)
Bias_θ:センタバイアス成分(角度)
f:焦点距離
β:撮影倍率
MV_pitch:MV1ピッチサイズ
【0040】
また、第1動きベクトルMV1は検出するまでに遅れ時間が発生するため、センタバイアス成分も、第1動きベクトルMV1と同等の遅れ時間を持たせることが好ましい。例えば、30[fps]で、3フレーム分の遅れ時間を持っている場合、約100[ms]遅れることになる。このため、100[ms]前のバイアス情報を用いることで、より正確に第1動きベクトルMV1に含まれる、センタバイアス成分が演算できる。
【0041】
S012で演算したセンタバイアス成分を第1動きベクトルMV1から減算する(S013)。これにより、基準値誤差による第2動きベクトルMV2の情報を取得することができる。
最新の第2動きベクトルMV2(n)と1フレーム前の第2動きベクトルMV2(n−1)の差分:MV_diffを取得(S014)する。
MV_diffを基に、基準値を補正する量を設定する。基準値は、以下の考えにより、補正量を設定する(S015)。
MV_diff>0:ω0_comp=−ω0_comp_def
MV_diff<0:ω0_comp=+ω0_comp_def
MV_diff=0:ω0_comp=0
ω0_comp :基準値補正量
ω0_comp_def:基準値補正常数
【0042】
S015にて演算したω0_compをS003にて演算した基準値から減算する(S016)。具体的には、
図4(b)中の、V4’の値を補正する。
【0043】
ここで、理解容易のため、まず本実施形態に対する比較形態を説明する。
図6(a)は、
図4(b)中の、V4’の値を補正した基準値を示した本実施形態に対する比較形態を示したグラフである。
比較形態が本実施形態と異なる点は、基準値バッファ部46を備えていない点であり、過去の基準値データ(Δt前)を用いず、現在の基準値データにω0_compを加え、この値を最新の基準値に置換える処理を行う点である。
図中点線は補正しなかった場合の基準値を示し、図中実線は、比較形態により補正した基準値を示す。
【0044】
図6(b)はMV_diffの方向を示したグラフである。例えば、
図6(b)の時刻t1のようにMV_diffがプラス方向の場合、(a)に示すように基準値はマイナスに補正する。
その後、時刻t3まで基準値は、基準値演算部34で演算される値に従い変化する。
時刻t3において、MV_diffがプラス方向に確認されると、また基準値をマイナスに補正する。本実施形態では、このときの補正量は時刻t1のときと一定とする。
その後も、MV_diffが確認される時刻と時刻の間、基準値は、基準値演算部34で演算される値に従い変化する。
また、MV_diffがプラス方向に確認されると、基準値を一定量マイナスに補正する。
また、図中の時刻t22やt25のようにMV_diffがマイナス方向に確認されると、基準値を一定量プラスに補正する。
【0045】
以上のように比較形態においても、基準値を補正することにより、
図6(a)に示すように、補正値は、真値に近い値をとることができる。
【0046】
しかしながら、MV_diff情報の検出は、検出遅れ時間:Δtを有している。この検出遅れ時間による誤差により、正確な基準値を得ることはできない。
【0047】
図7は、ω0の誤差と、MV_diffの検出遅れの関係を示した図である。ここでは、MV_diffの検出遅れが3フレームの場合を例として示す。なお、この検出遅れのフレーム数は、カメラボディ1AのカメラCPU2Aから、動きベクトルMV1,MV2とともに基準値補正量演算部35に伝達される。
【0048】
図示するように、MV_diffの検出に3フレーム分の遅れある場合、ω0の誤差と、検出されるMV_diffは
図7のような関係となる。
例えば、t2時点でのω0誤差をMV_diffにより検出できるのは、3フレーム経過後の時刻t6となる。
【0049】
図8は比較形態においてω0を補正した結果を示したグラフであり、(a)はω0、(b)はMV_diffを示す。比較形態では、例えば、t7の時点でのMV_diffを演算し、t7時点でのω0値を補正することになる。
また、時刻t13では、ω0の演算結果は、ほぼ真値へ収束しているが、MV_diffは、プラス側に値を持っている。この為、ここでは、ω0をマイナス方向へ補正することになり、誤差を増大させてしまうことになる。
特に、基準値の符号が変わった直後(t2以降、t13以降)では、
図8に示すように誤差を悪化させてしまうケースもある。
【0050】
一方、このMV_diffの検出の遅れ時間は、ボディ側の演算処理性能(フレームレート、演算処理能力)により決まる為、遅れ時間情報を取得することは可能である。
そこで、ボディ側から得られたMV_diffの情報と、検出遅れ時間情報を利用して、角速度センサ12の基準値を補正することで、より正確な基準値を得ることが可能となる。
【0051】
図9は本実施形態においてω0を補正した結果を示したグラフであり、(a)はω0、(b)はMV_diffを示す。補正を行った場合を実線で、基準値に対する補正を行わなかった場合を点線で示す。
【0052】
MV_diffの検出に3フレーム分の遅れある場合、時刻t0のときのMV_diffは、時刻t3のときに減算部42において減算可能となる(すなわち、
図9においては時刻t3のMV_diffとなる)。
そこで、時刻t3では、基準値バッファ部46に記憶されている時刻t0の基準値ω0を、時刻t3のときに減算部42において減算可能なMV_diff(すなわち、時刻t0のときのMV_diff,
図9の時刻t3に示すMV_diff)に基づいて補正する。
そして、時刻t3のときの基準値ω0を、時刻t0の基準値ω0を時刻t3のときのMV_diffに基づいて補正した値にする。
【0053】
同様に、時刻t3のときのMV_diffは、時刻t7のときに減算部42において減算可能となる。
そこで、時刻t7では、基準値バッファ部46に記憶されている時刻t3での基準値ω0を、時刻t7のときに減算部42において減算可能なMV_diff(すなわち、時刻t3のときのMV_diff,
図9の時刻t7に示すMV_diff)に基づいて補正する。
そして、時刻t7のときの基準値ω0を、時刻t3の基準値ω0を時刻t7のときのMV_diffに基づいて補正した値にする。
【0054】
以下、それぞれの時刻において同様の補正を行う。なお、本実施形態では時刻t1、t2、t3と連続して補正せず、t1、t3、t7と間を空けて補正している。
【0055】
以上、本実施形態によると、以下の効果を有する。
(1)MV_diff情報の検出は、検出遅れ時間:Δt(本実施形態では3フレーム分)を有している。しかし、本実施形態では、ボディ側から得られたMV_diffの情報と、検出遅れ時間情報を利用して、角速度センサ12の基準値を補正することで、より正確な基準値を得ることが可能となる。
(2)本実施形態では、センタバイアス成分を第1動きベクトルMV1から減算する(S013)。これにより、基準値誤差による第2動きベクトルMV2の情報を取得することができる。
(3)センタリングバイアス処理を行うので、像振れ補正レンズ6がハードリミットに衝突することを有効に防止することができ、さらには、撮影画像の見栄えを向上させることができる。
(4)切替スイッチ45が設けられているため、基準値演算部34によって演算された基準値をそのまま補正するか、また、基準値バッファ部46において記憶された過去の基準値を補正するかを選択可能である。
【0056】
(変形形態)
以上、説明した実施形態に限定されることなく、以下に示すような種々の変形や変更が可能であり、それらも本発明の範囲内である。例えば、以下の条件において基準値補正を実施しないこととしてもよい。
(1)ブレ補正レンズが可動端(演算上のリミット値)を超えた場合
これは、動きベクトル情報に手ブレ成分が加わるため、基準値補正を行うことができない為である。
(2)動きベクトル情報に被写体ブレが含まれていると判定した場合
これは、基準値誤差と被写体ブレの切り分けができない為である。
(3)動きベクトル情報の信頼性が低いと判定された場合
なお、信頼性判定については、公知技術の為、説明は割愛する。
(4)構図変更判定中
(5)三脚判定中
なお、実施形態及び変形形態は、適宜組み合わせて用いることもできるが、詳細な説明は省略する。また、本発明は以上説明した実施形態によって限定されることはない。