説明

手ぶれ補正装置、手ぶれ補正プログラム、手ぶれ補正方法

【課題】撮影装置の撮像成功率(手ぶれ補正効果)を大幅に改善させる技術を提供する。
【解決手段】 撮像装置の動きを示す回転角速度を検出し、検出された角速度から直流成分を除去した直流カットデータを出力し、出力された直流カットデータに基づき撮像装置の位置を位置データとして出力し、出力された位置データから撮像時に生ずる手ぶれによる変動に基づいた周波数以下の周波数である低周波成分データを出力し、撮像装置における露光処理の状態を判定し、判定された露光処理の開始のタイミングにおける低周波成分データを低周波保存データとして保存し、露光処理中でないと判定された場合、位置データに対し低周波成分データをオフセット値として演算し、露光処理中であると判定された場合、位置データに対し低周波保存データを固定オフセット値として演算し手ぶれ補正量を出力した。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、撮像装置で撮像するときに生ずる手ぶれを補正するための手ぶれ補正装置、手ぶれ補正プログラム、および手ぶれ補正方法に関する。
【背景技術】
【0002】
撮像装置で撮像するときに生ずる手ぶれを補正するための手ぶれ補正方法として、光学式手ぶれ補正の一種であるシフトレンズを使用する方法(シフトレンズ方式)が知られている。シフトレンズ方式は、光の屈折を利用した手ぶれ補正方法であり、角速度センサ等を備えることで撮像装置の動きを検知し、露光開始の瞬間から露光終了までの間に、角速度センサにて検知された動き(撮像素子に届いた光のずれ)を打ち消す方向にシフトレンズを駆動させ、光軸を修正することで本来の到達点に光が届くようにする。
【0003】
よって、シフトレンズ方式における補正範囲は、シフトレンズの駆動範囲等によって制限があり、この駆動範囲内で補正を行う必要がある。また、シフトレンズがレンズの中心付近にある場合は、シフトレンズは広範囲に駆動することができるため補正範囲は広くなるが、中心から乖離するほど、補正範囲も狭くなる。このことから、露光開始の瞬間では、シフトレンズはレンズの中心付近にある方が、より手ぶれ補正撮像成功率は向上する。
【0004】
シフトレンズをレンズの中心付近に保つ方法として、角速度センサから検知された動きに基づいて得られる変動信号に対し、ハイパスフィルタ処理を行うことで、低周波成分を除去する方法がある。しかしながらこの方法では、使用者が意図しない体の動作により生じた超低域周波成分も除去することとなり、低域側の手ぶれ補正量が著しく低下してしまう。
【0005】
また従来技術として、補正範囲以上を検出したときに手ぶれ補正量を落としていき、一定レベル(シストレンズがレンズの中心付近)になったら再度、手ぶれ補正量を上げていく手ぶれ補正方法が知られている。この方法では、手ぶれ補正量の切れ間が発生し、撮像成功率が低下してしまう。
【0006】
また、露光の開始タイミングでデジタルフィルタの係数または定数を変更することで特性を変更する方法が知られている(例えば特許文献1)。更に撮像装置は補正演算を常時行い、露光開始と共に制御出力のオン/オフの制御を行う方法も知られている(例えば特許文献2)。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2005−99831号公報
【特許文献2】特開平5−207356号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
しかしながら、上述のデジタルフィルタには、次数によって前回の値や前々回の値を使用し、演算する時定数があるため、特許文献1のように時定数の変更を行っても瞬時に有効な値を得ることは困難である。また、特許文献2のように、露光開始と共に出力を制御するのみでは、シフトレンズがレンズの中心から制御が開始されるとは限らず補正範囲を有効に使用できない。
【0009】
本発明は上述した課題を解決するためになされたものであり、補正範囲を有効に活用できるようにし、露光開始の瞬間に瞬時に特性を切り替えるとともに、露光中は手ぶれ補正量の連続性を保つことで撮像成功率(手ぶれ補正効果)を大幅に改善させることを目的とする。
【課題を解決するための手段】
【0010】
上述した課題を解決するため、本実施形態の手ぶれ補正装置は、撮像装置の手ぶれ補正を行う手ぶれ補正装置であって、角速度検出部と、ハイパスフィルタ部と、積分処理部と、ローパスフィルタ部と、モードコントロール部と、低周波成分保存部と、オフセット制御部とを有する。前記角速度検出部は、前記撮像装置の動きを示す回転角速度を検出する。前記ハイパスフィルタ部は、前記角速度検出部にて検出された角速度から直流成分を除去した直流カットデータを出力する。前記積分処理部は、前記ハイパスフィルタ部にて出力された直流カットデータに基づき前記撮像装置の位置を位置データとして出力する。前記ローパスフィルタ部は、前記積分処理部にて出力された位置データから撮像時に生ずる手ぶれによる変動に基づいた周波数以下の周波数である低周波成分データを出力する。前記モードコントロール部は、前記撮像装置における露光処理の状態を判定する。前記低周波成分保存部は、前記モードコントロール部にて判定された前記露光処理の開始のタイミングにおける前記ローパスフィルタ部にて出力された低周波成分データを低周波保存データとして保存する。前記オフセット制御部は、前記モードコントロール部にて前記露光処理中でないと判定された場合には、前記積分処理部にて出力された位置データに対し前記低周波成分データをオフセット値として演算し、前記モードコントロール部にて前記露光処理中であると判定された場合には、前記積分処理部にて出力された位置データに対し前記低周波成分保存部に保存された低周波保存データを固定オフセット値として演算し、手ぶれ補正量を出力する。
【図面の簡単な説明】
【0011】
【図1】実施の形態1における、手ぶれ補正制御部1を示す機能ブロック図である。
【図2】実施の形態1における、手ぶれ補正装置を示す構成図である。
【図3】実施の形態1における、手ぶれ補正制御部1の処理フローを示す図である。
【図4】実施の形態1における、「通常補正モード」のタイムチャートを示す図である。
【図5】実施の形態1における、「中心に戻すモード」のタイムチャートを示す図である。
【図6】実施の形態1における、「露光時のみ補正するモード」のタイムチャートを示す図である。
【図7】実施の形態2における、手ぶれ補正制御部1を示す機能ブロック図である。
【図8】実施の形態2における、手ぶれ補正制御部1の処理フローを示す図である。
【図9】図1に示した実施の形態1における手ぶれ補正制御部1の機能ブロックと本発明における構成の対応関係を示す図である。
【発明を実施するための形態】
【0012】
(実施の形態1)
以下、本発明の実施の形態について図面を参照しつつ説明する。尚、本実施の形態は、手ぶれ補正の方式として光学式手ぶれ補正の一種であるシフトレンズ方式を採用する。また、図9は手ぶれ補正制御部の概略構成を示す図であり、図1は手ぶれ補正制御部1を示す機能ブロック図、図2は手ぶれ補正装置を示す構成図である。
【0013】
まず、図2の手ぶれ補正装置の構成図について説明する。手ぶれ補正装置100は、回転角速度を検出する角速度センサ101を備え、角速度センサ101から出力される角速度信号の出力を増幅させる角速度センサアンプ102を備える。また手ぶれ補正装置100は、角速度センサ101から出力される角速度信号に基づき、手ぶれ補正量(DA)を算出する手ぶれ補正制御部1を備える。さらに手ぶれ補正装置100は、露光開始のトリガとなる露光信号を手ぶれ補正制御部1に出力し、更に撮像の動作方法に関する情報である撮像動作モード情報を手ぶれ補正制御部1に出力する上位システム103を備える。
【0014】
また、手ぶれ補正装置100はシフトレンズ駆動部106を備え、シフトレンズ駆動部106内に、手ぶれによる変動を打ち消す方向に駆動させるシフトレンズ104(光学系)を備え、更にシフトレンズ駆動部106内に、シフトレンズ104の位置を検出する位置センサ105を備える。
【0015】
本実施の形態における手ぶれ補正装置100の動作について説明する。まず角速度センサ101が、手ぶれによる動きである回転角速度を角速度信号として検知し、角速度センサアンプ102が検知された角速度信号を増幅する。手ぶれ補正制御部1は、増幅された角速度信号に基づいた手ぶれ補正量(DA)を算出し、シフトレンズ駆動部106に対し手ぶれ補正量(DA)を出力する(位置指令)。シフトレンズ駆動部106は、入力した手ぶれ補正量(DA)に基づき、シフトレンズ104を駆動させるとともに、位置センサ105がシフトレンズ104の位置を検知し、位置情報として手ぶれ補正制御部1に伝達する。
【0016】
手ぶれ補正制御部1は更に、上位システム103から出力される露光信号および撮像動作モード情報に基づき、シフトレンズ駆動部106へ出力する手ぶれ補正量(DA)を切り替える。
【0017】
次に、本発明の実施の形態における手ぶれ補正制御部1の概略構成を図9を用いて説明する。手ぶれ補正制御部1には、角速度検出し撮像装置の動きを示す変動信号を取得する変動信号取得部201と、この変動信号取得部にて取得される変動信号からハイパスフィルタにて所定の周波数以上の周波数の信号を抽出した第1信号を取得する第1信号取得部202と、前記変動信号取得部にて取得される変動信号からローパスフィルタにて前記所定の周波数よりも低い周波数の信号を抽出し、前記第1信号に加えてなる第2信号を取得する第2信号取得部203と、前記撮像装置における露光処理の開始を判定する露光開始判定部204と、前記露光開始判定部にて露光開始と判定されるタイミングに基づいて、前記第1信号取得部により取得される前記第1信号から前記第2信号取得部により取得される前記第2信号に切り替えて出力する信号切替部ならびに前記信号切替部により出力された信号に基づいて手ぶれ補正量を演算する補正量演算部205とを備える。
【0018】
次に、本発明の実施の形態における手ぶれ補正制御部1を図1の機能ブロック図を用いて説明する。手ぶれ補正制御部1は、角速度センサ101からの角速度信号(角速度信号は角速度センサアンプ102によって増幅済み)に対しハイパスフィルタ処理を行うことで直流成分を除去するハイパスフィルタ部2を備え、またハイパスフィルタ部2にて処理された角速度信号に対し積分処理を行い、位置データ(Y0)(変動信号)に変換する積分処理部3を備える。
【0019】
また手ぶれ補正制御部1は、積分処理部3にて得られた位置データ(Y0)に対し、撮像時に生ずる手ぶれによる変動に基づいた周波数以下である低周波成分を抽出し、低周波成分データ(DC0)を出力するローパスフィルタ部4を備える。更に手ぶれ補正制御部1は、上位システム103の画像処理により得られる撮像対象物の動きベクトルに対し、符号反転による逆数演算を行うことで動きベクトル演算データ(V0)を出力する動きベクトル演算部5を備える。また手ぶれ補正制御部1は、上位システム103から出力された撮像動作モード情報を管理し、さらに上位システム103から出力された露光信号の状態(露光処理の状態)を管理するモードコントロール部6を備える。
【0020】
また手ぶれ補正制御部1は、モードコントロール部6が露光信号を入力するタイミングで、露光開始直前の位置データ(Y0)を位置保存データ(Y1)という固定値として保存する位置データ保存部7を備え、モードコントロール部6が露光信号を入力するタイミングで、露光開始直前の低周波成分データ(DC0)を低周波保存データ(DC1)という固定値として保存する低周波成分保存部8を備える。
【0021】
更に手ぶれ補正制御部1は、モードコントロール部6にて管理された撮像動作モード情報に基づいて、上述の位置データ(Y0)、低周波成分データ(DC0)、位置保存データ(Y1)、低周波保存データ(DC1)、および動きベクトル演算データ(V0)のいずれかをオフセット値として選択するセレクタ部9を備える。また手ぶれ補正制御部1は、位置データ(Y0)に対し、セレクタ部9により選択されたオフセット値で減算するオフセット制御部10を備える。
【0022】
オフセット制御部10により算出されたデータが、手ぶれ補正量(DA)として、シフトレンズ駆動部106へ出力され、シフトレンズ駆動部106は、手ぶれ補正量(DA)に基づきシフトレンズ104を駆動させる。
【0023】
次に、本実施の形態における手ぶれ補正制御部1の処理フローを図3に示し、手ぶれ補正制御部1のタイムチャートを図4から図6に示す。図4から図6のタイムチャートは、モードコントロール部6で管理された撮像動作モード情報によって分けられ、図4に「通常補正モード」示し、図5に「中心に戻すモード」を示し、さらに図6に「露光時のみ補正するモード」を示す。尚、図4から図6までのタイムチャートは、横軸に時間を、縦軸に手ぶれ補正量(DA)を表し、高周波成分を実線で、低周波成分を破線で表す。また図4から図6までのタイムチャートにおいて、(A)に手ぶれ補正処理を行わない場合のタイムチャート、(B)に各モードに基づいた手ぶれ補正処理を行った場合のタイムチャート、(C)に露光信号のタイムチャートを示す。
【0024】
まず、「通常補正モード」について説明する。角速度センサ101からの角測度信号(角速度センサアンプ102によって増幅済み)は、手ぶれ補正装置100に対し手ぶれが生じていない状態(静止している状態)においても、直流成分が出力されているためゼロとならない。この直流成分を除去するため、ハイパスフィルタ部2は、角速度信号に対しハイパスフィルタ(直流カット)処理を施す(ステップS1)。
【0025】
ハイパスフィルタ処理が行われた角速度信号を、積分処理部3は積分処理を施すことで位置データ(Y0)に変換する(ステップS2)。このように積分処理された位置データ(Y0)のみによるタイムチャートを、図4(A)に示す。位置データ(Y0)のみの変動は、高周波成分および低周波成分が混在しているものとなる。
【0026】
次に、ローパスフィルタ部4は、前述の位置データ(Y0)から低周波成分を抽出することで、位置データ(Y0)を低周波成分データ(DC0)に変換する(ステップS3)。
【0027】
処理フローのステップS4以降は、モードコントロール部6によって管理される露光信号の状態によって処理が異なるため、各露光信号の状態別に説明する。尚、露光信号の状態は「露光開始前」、「露光開始の瞬間」(露光開始と判定されるタイミング)、「露光中」、および「露光後」と遷移する。
【0028】
まず、露光信号が「露光開始前」の状態である場合の処理について説明する。モードコントロール部6は、上位システム103から出力された露光信号の状態を確認し、「露光開始の瞬間」(露光信号の立下りエッジ)か否かを判定する(ステップS4)。ここで、露光信号が「露光開始前」の状態であるため「露光開始の瞬間」でないと判定され(ステップS4、No)、そのまま処理が続けられる(ステップS6へ)。次にモードコントロール部6は、露光信号が「露光中」の状態(以下、必要に応じて「Lレベル」と表記)であるか、「露光中」の状態でないか(以下、必要に応じて「Hレベル」と表記)を判定する(ステップS6)。ここで、露光信号が「露光開始前」の状態であるため(ステップS6、Hレベル)、セレクタ部9は、オフセット値として低周波成分データ(DC0)を設定し、更にオフセット制御部10は「手ぶれ補正量(DA)=位置データ(Y0)− 低周波成分データ(DC0)」と演算する(ステップS8)。このように演算された手ぶれ補正量(DA)に基づき、シフトレンズ駆動部106はシフトレンズ104を駆動させる。
【0029】
手ぶれ補正制御部1による手ぶれ補正の処理が、引き続き行われる場合は(ステップS9、No)、ステップS1へ戻り、再び位置データ(Y0)、低周波成分データ(DC0)の値が設定される。このことより、位置データ(Y0)および低周波成分データ(DC0)の値は常に変動することとなる。
【0030】
手ぶれ補正制御部1による手ぶれ補正の処理が終了する場合は(ステップS9、Yes)、処理フローは終了する。
【0031】
「通常補正モード」における「露光開始前」のタイムチャートを、図4(B)の「露光開始前」にて示す。「露光開始前」の手ぶれ補正量(DA)は、図4(A)に示した位置データ(Y0)のみによる変動量から、低周波成分データ(DC0)を減算することで低周波成分がカットされ、高周波成分のみの変動量となる。よってシフトレンズ104は常にレンズの中心付近で補正制御が行われ、常時、補正範囲の中心へ向かって(センターリング)制御されるようになり、補正範囲を有効に利用することができる。また、使用者が意識的に動かす低速のパン・チルト操作に対しては、補正制御をしないため複雑なロジックを削除することができる。
【0032】
しかしながら、上記の状態のままで撮像を行うと、補正対象周波数の低域側の補正量が著しく低下してしまうため、次に説明する「露光開始の瞬間」において、手ぶれ補正の特性を切り替える。
【0033】
「通常補正モード」における、露光信号が「露光開始の瞬間」および「露光中」の状態である場合の処理について説明する。まず露光信号が「露光開始の瞬間」の状態である場合、モードコントロール部6は、上位システム103からの露光信号を入力することで、露光信号が「露光開始の瞬間」(露光信号が立下りエッジ)の状態であると判定し(ステップS4、Yes)、「露光開始の瞬間」における低周波成分データ(DC0)の値を低周波保存データ(DC1)として低周波成分保存部8に保存するとともに、セレクタ部9はオフセット値として低周波保存データ(DC1)を設定(固定)する(ステップS5)。また、モードコントロール部6は、露光信号が「露光開始の瞬間」の状態であるため「露光中」の状態(Lレベル)と判定し(ステップS6、Lレベル)、オフセット制御部10は、上述した「手ぶれ補正量(DA)=位置データ(Y0)− 低周波成分データ(DC0)」の処理を中断するとともに、「手ぶれ補正量(DA)=位置データ(Y0)− 低周波保存データ(DC1)」と演算する(ステップS7)。
【0034】
オフセット制御部10により演算された手ぶれ補正量(DA)に基づき、シフトレンズ駆動部106はシフトレンズ104を駆動させる。
【0035】
手ぶれ補正制御部1による手ぶれ補正の処理が、上述の「露光開始の瞬間」から「露光中」の状態として引き続き行われる場合は(ステップS9、No)、ステップS1へ戻り、再び位置データ(Y0)、低周波成分データ(DC0)の値が設定される(ステップS2、ステップS3)。
【0036】
その後、モードコントロール部6は、現在露光信号が「露光中」の状態であるため、「露光開始の瞬間」(露光信号が立下りエッジ)ではないと判定し(ステップS4、No)、更にモードコントロール部6は露光信号が「露光中」(Lレベル)の状態であると判定する(ステップS6、Lレベル)。この判定結果により、オフセット制御部10は、再設定された位置データ(Y0)から、前述の「露光開始の瞬間」の状態時にセレクタ部9により設定された低周波保存データ(DC1)をオフセット値のまま(固定値)として減算することで、手ぶれ補正量(DA)を算出する(ステップS7)。
【0037】
このように、露光開始直前までは、オフセット制御部10から出力される手ぶれ補正量(DA)は「手ぶれ補正量(DA)=位置データ(Y0)− 低周波成分データ(DC0)」であったのに対し、露光開始直後は、「手ぶれ補正量(DA)=位置データ(Y0)− 低周波保存データ(DC1)」となる。ここで、露光信号が「露光開始の瞬間」の状態においては、「低周波成分データ(DC0)=低周波保存データ(DC1)」であるため、露光開始前後の手ぶれ補正量(DA)には差が生じない。よって手ぶれ補正量(DA)は、露光開始の瞬間においても切れ間は発生せず、連続性を保つことができる。
【0038】
「通常補正モード」における「露光開始の瞬間」から「露光中」の状態における手ぶれ補正量(DA)は、図4(B)の「露光中」のとおりとなる。手ぶれ補正量(DA)は、位置データ(Y0)から、低周波成分データ(DC0)という変動値に替え、「露光開始の瞬間」における低周波成分(DC1)という固定値を減算させるだけであるため、位置データ(Y0)の周波数成分をそのままにしたものとなる。よって、使用者が意図しない体の動作により生じた超低域周波成分も補正の対象とすることができる。
【0039】
「通常補正モード」における、露光信号が「露光後」の状態である場合は、再び露光信号がHレベルの状態となるため、モードコントロール部6は、「露光開始の瞬間」(露光信号が立下りエッジ)ではないと判定し(ステップS4、No)、更にHレベルである判定する(ステップS6、Hレベル)。よって上述した「露光開始前」の状態と同様の処理フローとなるため、説明を省略する。また「通常補正モード」における「露光後」のタイムチャートは、図4(B)の「露光後」のとおりとなるが、こちらも上述した「露光開始前」の状態と同様であるため、説明を省略する。
【0040】
上述の処理により、露光開始前後に発生する補正の切れ間を防止し、補正演算の連続性を保持したまま、露光開始の瞬間に手ぶれ補正の特性を切り替えることができる。また、Hレベル時は、低周波成分データをカットした高周波成分のみを手ぶれ補正量(DA)として補正の対象としているため、シフトレンズ104をレンズの中心付近に保持させることができ、露光信号が「露光中」の状態時に補正範囲を最大限に利用することができ、撮像成功率を大幅に改善できる。
【0041】
次に、「中心に戻すモード」について説明する。本モードは、露光開始の瞬間に、シフトレンズ104をレンズの中心に強制的に駆動させる(リセットさせる)モードである。尚、露光信号がHレベルの状態における処理フローおよびタイムチャートは、前述「通常補正モード」と同様のため、説明は省略する。
【0042】
「中央に戻すモード」における、露光信号が「露光開始の瞬間」および「露光中」の状態である場合について説明する。まず「露光開始の瞬間」の状態の場合、モードコントロール部6は、上位システム103から露光信号を入力することで、「露光開始の瞬間」(露光信号が立下りエッジ)と判定する(ステップS4、Yes)。その後モードコントロール部6は、「露光開始の瞬間」における位置データ(Y0)の値を、位置保存データ(Y1)という固定値として位置データ保存部7に保存するとともに、セレクタ部9はオフセット値として位置保存データ(Y1)を設定(固定)する(ステップS5)。
【0043】
更にモードコントロール部6は、露光信号の状態が「露光開始の瞬間」であるため、「露光中」(Lレベル)の状態と判定し(ステップS6、Lレベル)、オフセット制御部10は、「露光開始前」の状態に行っていた「手ぶれ補正量(DA)=位置データ(Y0)− 低周波成分データ(DC0)」の処理を中断し、「手ぶれ補正量(DA)=位置データ(Y0)− 位置保存データ(Y1)」と演算する(ステップS7)。
【0044】
上述のように演算された手ぶれ補正量(DA)に基づき、シフトレンズ駆動部106はシフトレンズ104を駆動させる。
【0045】
手ぶれ補正制御部1による手ぶれ補正の処理が、上述の「露光開始の瞬間」から「露光中」の状態として引き続き行われる場合は(ステップS9、No)、ステップS1へ戻り、再び位置データ(Y0)、低周波成分データ(DC0)の値が設定される(ステップS2、ステップS3)。このことより、位置データ(Y0)および低周波成分データ(DC0)の値は常に変動することとなる。
【0046】
その後、モードコントロール部6は、現在露光信号が「露光中」の状態であるため、「露光開始の瞬間」(露光信号が立下りエッジ)ではないと判定し(ステップS4、No)、更にモードコントロール部6は露光信号が「露光中」(Lレベル)の状態であると判定する(ステップS6、Lレベル)。この判定結果により、オフセット制御部10は、再設定された位置データ(Y0)から、前述の「露光開始の瞬間」の状態時にセレクタ部9により設定された位置保存データ(Y1)をオフセット値のまま(固定値)として減算することで、手ぶれ補正量(DA)を算出する(ステップS7)。
【0047】
露光信号の状態が「露光開始の瞬間」においては、「位置データ(Y0)=保存位置データ(Y1)」であり、「手ぶれ補正量(DA)=位置データ(Y0)− 保存位置データ(Y1)」の値はゼロとなっているため、シフトレンズ104は強制的にレンズの中心に駆動される(リセットされる)とともに、「露光中」の状態の手ぶれ補正量(DA)は、リセットされた値を初期値として出力される。
【0048】
「中央に戻すモード」における、「露光開始の瞬間」から「露光中」の状態のタイムチャートを、図5(B)の「露光中」に示す。「露光中」の状態時においては、位置データ(Y0)から、低周波成分データ(DC0)という変動値に替え、「露光開始の瞬間」における保存位置データ(Y1)という固定値を減算させるだけであるため、位置データ(Y0)の周波数成分はそのままにした手ぶれ補正量(DA)となる。よって上述の「通常補正モード」と同様に、使用者が意図しない体の動作により生じた超低域周波成分も補正の対象とすることができる。
【0049】
この処理により、瞬時に補正の特性を切り替えることができるとともに、露光開始の直前でシフトレンズ104を強制的にレンズの中心へと駆動できる。よって、露光信号が「露光中」の状態においては、補正範囲の最大値を有効に使用できるようになり、撮像成功率を大幅に改善することができる。またシフトレンズ104をレンズの中心へと駆動させた後においては(露光信号が「露光中」の状態)、保存位置データ(Y1)という固定値をオフセット値として減算させるだけであるため、その後の補正演算は瞬時に誤差なく演算され、且つ「露光中」は連続性を保つことができる。
【0050】
次に、「露光時のみ補正するモード」について説明する。本モードは、Hレベルの状態(「露光開始前」または、「露光後」)において、シフトレンズ104を常にレンズの中心に静止させ、露光中の状態時のみ手ぶれ補正を有効にするモードである。
【0051】
「露光時のみ補正するモード」における「露光開始前」の処理を図3フローチャートに基づいて説明する。ステップS1からステップS3までの処理は、前述の「通常補正モード」と同様であるため、説明を省略する。
【0052】
露光信号の状態が「露光開始前」であるため、モードコントロール部6は「露光開始の瞬間」(露光信号の立下りエッジ)でないと判定し(ステップS4、No)、露光信号をHレベルと判定する(ステップS6、Hレベル)。
【0053】
セレクタ部9は、オフセット値として位置データ(Y0)を設定し、またオフセット制御部10は、「手ぶれ補正量(DA)=位置データ(Y0)− 位置データ(Y0)」と演算する(ステップS8)。このように演算された手ぶれ補正量(DA)はゼロとなる。手ぶれ補正制御部1による手ぶれ補正処理が続く限り(ステップS9、No)、且つモードコントロール部6が「露光開始の瞬間」(露光信号の立下りエッジ)でないと判定し(ステップS4、No)、露光信号をHレベルと判定する(ステップS6、Hレベル)限り、手ぶれ補正量(DA)の値はゼロとなり、シフトレンズ104はレンズの中心で静止した状態となる。
【0054】
「露光時のみ補正するモード」における「露光開始の瞬間」(ステップS4、Yes)および「露光中」の状態(ステップS6、Lレベル)は、「中央に戻すモード」における「露光開始の瞬間」および「露光中」の状態と同様であるため、説明を省略する。また、露光信号が「露光後」の状態の場合は、上述の本モードにおける「露光開始前」と同様であるため、説明を省略する。
【0055】
「露光時のみ補正するモード」におけるタイムチャートを図6(B)に示す。露光信号の状態がHレベルの場合(図6(B)の「露光開始前」および「露光後」)における手ぶれ補正量(DA)は、ゼロの値を保ち、露光信号が「露光中」の状態のみ、低周波成分および高周波成分を伴った手ぶれ補正量(DA)となる。また、「露光中」の状態時においては、位置データ(Y0)から、「露光開始の瞬間」における保存位置データ(Y1)という固定値を減算させるだけであるため、位置データ(Y0)の周波数成分はそのままにした手ぶれ補正量(DA)となる。よって上述の「通常補正モード」と同様に、使用者が意図しない体の動作により生じた超低域周波成分も補正の対象とすることができる。
【0056】
この処理により、露光中だけ補正制御を行うことができ、補正演算は連続性を保持し、且つ瞬時に誤差なく演算される。また露光開始の瞬間までシフトレンズ104はレンズの中心で静止しているため、補正範囲の最大値を有効に使用できるようになり、撮像成功率を大幅に改善することができる。また、露光中以外(Hレベル時)ではシフトレンズ104は静止しているため、シフトレンズ104を駆動させるために消費される電力を押さえることができる。
【0057】
次に、上述した各モードの応用例として、対象物が動く場合において、対象物を追いかけながら撮像を行う「流し取りモード」について説明する。対象物を追いかけながら撮像を行う場合は、静止している対象物を撮像するよりもブレが発生するが、本モードにより良好な撮像を行うことができる。
【0058】
モードコントロール部6によって「露光開始の瞬間」と判定された場合、セレクタ部9は、動きベクトル演算部5により出力された動きベクトル演算データ(V0)をオフセット値として設定し、更にオフセット制御部10は、手ぶれ補正装置100を意図的に動かす成分を含めた位置データ(Y0)から、動きベクトル演算データ(V0)を加算させ、手ぶれ補正量(DA)として出力させる。このことによって、手ぶれ補正を行いながらシフトレンズ104を駆動させることができ、結果として自動的に流し取りを行うことができる。尚、「流し取りモード」におけるHレベル(「露光開始前」および「露光後」)の状態の場合は、上述した「通常補正モード」と同様であるため、説明を省略する。
【0059】
(実施の形態2)
本実施の形態における手ぶれ補正制御部は、上述した実施の形態1における「中央に戻すモード」および「露光時のみ補正するモード」での「露光開始の瞬間」の際に、低周波成分データ(DC0)に対し微分等の方法で手ぶれにより生じた傾きを算出する。算出された傾きの方向と大きさにより、これからの(近未来の)動きを予測することができ、傾きの量に応じてシフトレンズの中心よりさらにオフセットをとることで、より大きな補正の制御範囲を得ることが可能となる。
【0060】
本実施の形態における手ぶれ補正制御部の機能ブロックを図7に示す。上述した実施の形態1における手ぶれ補正制御部1内に、ローパスフィルタ部4により抽出された低周波成分データ(DC0)に基づき、傾き成分(ΔDC0×K)を算出する傾き検出部11を設ける。上述以外は、実施の形態1と同様であるためここでの説明は省略する。
【0061】
本実施の形態における処理を図8のフロー図を参照しつつ説明する。尚、露光信号が「露光開始前」および「露光後」の状態での処理(図8のフロー図におけるステップS4、Noで、且つステップS6、Hレベルの処理)は、実施の形態1の「中央に戻すモード」および「露光時のみ補正するモード」における「露光開始前」および「露光後」と同様の処理であるため、ここでの説明は省略する。
【0062】
露光信号が「露光開始の瞬間」の状態である場合、モードコントロール部6は、上位システム103から露光信号を入力することで、「露光開始の瞬間」(露光信号が立下りエッジ)と判定する(ステップS4、Yes)。その後モードコントロール部6は、「露光開始の瞬間」における位置データ(Y0)の値を、位置保存データ(Y1)という固定値として位置データ保存部7に保存する(ステップS5A)。尚、ステップS1からステップS3までの処理は実施の形態1と同様であるためここでの説明は省略する。
【0063】
傾き検出部11は、低周波成分データ(DC0)に対し微分処理を行うことで、手ぶれにより生じた傾き(ΔDC0)を算出し、この傾き(ΔDC0)に一定の係数(K)を積算することで傾き成分(ΔDC0×K)を算出する(ステップS5B)。
【0064】
傾き検出部11は更に、算出した傾き成分(ΔDC0×K)を上述の位置保存データ(Y1)に加算し、傾き成分保存データ(Y2)として位置データ保存部7に保存する。よって位置データ保存部7に保存される値(傾き成分保存データ(Y2))は、「Y2 = Y1 + ΔDC0×K」となる(ステップS5C)。
【0065】
セレクタ部9はオフセット値として傾き成分保存データ(Y2)を設定(固定)する(ステップS5C)。
【0066】
更にモードコントロール部6は、露光信号の状態が「露光開始の瞬間」であるため、「露光中」(Lレベル)の状態と判定し(ステップS6、Lレベル)、オフセット制御部10は、「露光開始前」の状態に行っていた処理(「中央に戻すモード」の場合は「手ぶれ補正量(DA)=位置データ(Y0)− 低周波成分データ(DC0)」であり、「露光時のみ補正するモード」の場合は「手ぶれ補正量(DA)=位置データ(Y0)− 位置データ(Y0)」)の処理を中断し、「手ぶれ補正量(DA)=位置データ(Y0)− 位置保存データ(Y2)」と演算する(ステップS7)。
【0067】
上述のように演算された手ぶれ補正量(DA)に基づき、シフトレンズ駆動部106はシフトレンズ104を駆動させる。
【0068】
手ぶれ補正制御部1による手ぶれ補正の処理が、上述の「露光開始の瞬間」から「露光中」の状態として引き続き行われる場合は(ステップS9、No)、ステップS1へ戻り、再び位置データ(Y0)、低周波成分データ(DC0)の値が設定される(ステップS2、ステップS3)。このことより、位置データ(Y0)および低周波成分データ(DC0)の値は常に変動することとなる。
【0069】
その後、モードコントロール部6は、現在露光信号が「露光中」の状態であるため、「露光開始の瞬間」(露光信号が立下りエッジ)ではないと判定し(ステップS4、No)、更にモードコントロール部6は露光信号が「露光中」(Lレベル)の状態であると判定する(ステップS6、Lレベル)。この判定結果により、オフセット制御部10は、再設定された位置データ(Y0)から、前述の「露光開始の瞬間」の状態時に設定された傾き成分保存データ(Y2)をオフセット値のまま(固定値)として減算することで、手ぶれ補正量(DA)を算出する(ステップS7)。露光信号が「露光中」の場合は、本処理(ステップS9、NoからステップS1へのループ)が繰り返される。
【0070】
本実施の形態によって、手ぶれ補正装置100は「露光開始の瞬間」時にシフトレンズを中心付近の最良点へ強制的に移動させることで、補正範囲の最大値を露光時に使用することができ、これにより「露光中」の補正の制御範囲をさらに確保することができる。更に「露光中」において、手ぶれ補正装置100は超低域から高域まで補正を行うことができ、且つ補正演算の連続性を保ったまま制御すことができる。
【0071】
実施の形態1および実施の形態2は、シフトレンズ104を駆動させることで補正を行うが、手ぶれ補正機能を有する撮像装置全般において、実施の形態1および実施の形態2を利用することができる。例えばCCD等の撮像素子を駆動させることで手ぶれ補正を行うシステムにおいても有効な手段である。
【0072】
また、実施の形態1および実施の形態2おける手ぶれ補正装置は、デジタルスチルカメラに代表される撮像装置全般に利用することができる。更に、実施の形態1および実施の形態2を、手ぶれ補正方法や、撮像方法に利用することができ、またコンピュータに実行させる手ぶれ補正プログラムや、撮像プログラムとして利用することができる。
【0073】
尚、実施の形態1における「露光時のみ補正するモード」は、撮像装置の手ぶれ補正を行う手ぶれ補正装置であって、撮像装置の動きを示す変動信号を取得する変動信号取得部と、前記変動信号取得部にて取得される変動信号から手ぶれ補正に用いる手ぶれ補正用周波数の信号を抽出してなる信号を取得する信号取得部と、前記撮像装置における露光処理の開始を判定する露光開始判定部と、前記露光開始判定部にて露光開始と判定されるタイミングに基づいて、前記信号取得部により取得される信号を用いて手ぶれ補正量を演算する補正量演算部とを備えてなる手ぶれ補正装置を用いることでも実現できる。
【0074】
また、実施の形態1における「露光時のみ補正するモード」は、撮像装置の手ぶれ補正をコンピュータに実行させる手ぶれ補正プログラムであって、撮像装置の動きを示す変動信号を取得する変動信号取得ステップと、前記変動信号取得ステップにて取得される変動信号から手ぶれ補正に用いる手ぶれ補正用周波数の信号を抽出してなる信号を取得する信号取得ステップと、前記撮像装置における露光処理の開始を判定する露光開始判定ステップと、前記露光開始判定ステップにて露光開始と判定されるタイミングに基づいて、前記信号取得ステップにより取得される信号を用いて手ぶれ補正量を演算する補正量演算ステップとをコンピュータに実行させる手ぶれ補正プログラムを用いることでも実現できる。
【0075】
更に、実施の形態1における「露光時のみ補正するモード」は、撮像装置の手ぶれ補正を行う手ぶれ補正方法であって、撮像装置の動きを示す変動信号を取得する変動信号取得ステップと、前記変動信号取得ステップにて取得される変動信号から手ぶれ補正に用いる手ぶれ補正用周波数の信号を抽出してなる信号を取得する信号取得ステップと、前記撮像装置における露光処理の開始を判定する露光開始判定ステップと、前記露光開始判定ステップにて露光開始と判定されるタイミングに基づいて、前記信号取得ステップにより取得される信号を用いて手ぶれ補正量を演算する補正量演算ステップとを実行する手ぶれ補正方法を用いることでも実現できる。
【産業上の利用可能性】
【0076】
以上説明したように、本発明によれば、手ぶれ補正効果による撮像成功率を大幅に向上させることができる。
【符号の説明】
【0077】
1 手ぶれ補正制御部、2 ハイパスフィルタ部、3 積分処理部、4 ローパスフィルタ部、5 動きベクトル演算部、6 モードコントロール部、7 位置データ保存部、8 低周波成分保存部、9 セレクタ部、10 オフセット制御部、11 傾き検出部、100 手ぶれ補正装置、101 角速度センサ、102 角速度センサアンプ、103 上位システム、104 シフトレンズ、105 位置センサ、106 シフトレンズ駆動部、201 変動信号取得部、202 第1信号取得部、203 第2信号取得部、204 露光開始判定部、205 信号切替部および補正量演算部。

【特許請求の範囲】
【請求項1】
撮像装置の手ぶれ補正を行う手ぶれ補正装置であって、
撮像装置の動きを示す回転角速度を検出する角速度検出部と、
前記角速度検出部にて検出された角速度から直流成分を除去した直流カットデータを出力するハイパスフィルタ部と、
前記ハイパスフィルタ部にて出力された直流カットデータに基づき前記撮像装置の位置を位置データとして出力する積分処理部と、
前記積分処理部にて出力された位置データから撮像時に生ずる手ぶれによる変動に基づいた周波数以下の周波数である低周波成分データを出力するローパスフィルタ部と、
前記撮像装置における露光処理の状態を判定するモードコントロール部と、
前記モードコントロール部にて判定された前記露光処理の開始のタイミングにおける前記ローパスフィルタ部にて出力された低周波成分データを低周波保存データとして保存する低周波成分保存部と、
前記モードコントロール部にて前記露光処理中でないと判定された場合には、前記積分処理部にて出力された位置データに対し前記低周波成分データをオフセット値として演算し、前記モードコントロール部にて前記露光処理中であると判定された場合には、前記積分処理部にて出力された位置データに対し前記低周波成分保存部に保存された低周波保存データを固定オフセット値として演算し、手ぶれ補正量を出力するオフセット制御部と
を備えてなる手ぶれ補正装置。
【請求項2】
撮像装置の手ぶれ補正をコンピュータに実行させる手ぶれ補正プログラムであって、
撮像装置の動きを示す回転角速度を検出する角速度検出ステップと、
前記角速度検出ステップにて検出された角速度から直流成分を除去した直流カットデータを出力するハイパスフィルタステップと、
前記ハイパスフィルタステップにて出力された直流カットデータに基づき前記撮像装置の位置を位置データとして出力する積分処理ステップと、
前記積分処理ステップにて出力された位置データから撮像時に生ずる手ぶれによる変動に基づいた周波数以下の周波数である低周波成分データを出力するローパスフィルタステップと、
前記撮像装置における露光処理の状態を判定するモードコントロールステップと、
前記モードコントロールステップにて判定された前記露光処理の開始のタイミングにおける前記ローパスフィルタステップにて出力された低周波成分データを低周波保存データとして保存する低周波成分保存ステップと、
前記モードコントロールステップにて前記露光処理中でないと判定された場合には、前記積分処理ステップにて出力された位置データに対し前記低周波成分データをオフセット値として演算し、前記モードコントロールステップにて前記露光処理中であると判定された場合には、前記積分処理ステップにて出力された位置データに対し前記低周波成分保存ステップにて保存された低周波保存データを固定オフセット値として演算し、手ぶれ補正量を出力するオフセット制御ステップと
をコンピュータに実行させる手ぶれ補正プログラム。
【請求項3】
撮像装置の手ぶれ補正を行う手ぶれ補正方法であって、
撮像装置の動きを示す回転角速度を検出する角速度検出ステップと、
前記角速度検出ステップにて検出された角速度から直流成分を除去した直流カットデータを出力するハイパスフィルタステップと、
前記ハイパスフィルタステップにて出力された直流カットデータに基づき前記撮像装置の位置を位置データとして出力する積分処理ステップと、
前記積分処理ステップにて出力された位置データから撮像時に生ずる手ぶれによる変動に基づいた周波数以下の周波数である低周波成分データを出力するローパスフィルタステップと、
前記撮像装置における露光処理の状態を判定するモードコントロールステップと、
前記モードコントロールステップにて判定された前記露光処理の開始のタイミングにおける前記ローパスフィルタステップにて出力された低周波成分データを低周波保存データとして保存する低周波成分保存ステップと、
前記モードコントロールステップにて前記露光処理中でないと判定された場合には、前記積分処理ステップにて出力された位置データに対し前記低周波成分データをオフセット値として演算し、前記モードコントロールステップにて前記露光処理中であると判定された場合には、前記積分処理ステップにて出力された位置データに対し前記低周波成分保存ステップにて保存された低周波保存データを固定オフセット値として演算し、手ぶれ補正量を出力するオフセット制御ステップと
を実行する手ぶれ補正方法。
【請求項4】
撮像装置の手ぶれ補正を行う手ぶれ補正装置であって、
撮像装置の動きを示す回転角速度を検出する角速度検出部と、
前記角速度検出部にて検出された角速度から直流成分を除去した直流カットデータを出力するハイパスフィルタ部と、
前記ハイパスフィルタ部にて出力された直流カットデータに基づき前記撮像装置の位置を位置データとして出力する積分処理部と、
前記積分処理部にて出力された位置データから撮像時に生ずる手ぶれによる変動に基づいた周波数以下の周波数である低周波成分データを出力するローパスフィルタ部と、
前記撮像装置における露光処理の状態を判定するモードコントロール部と、
前記モードコントロール部にて判定された前記露光処理の開始のタイミングにおける前記積分処理部にて出力された位置データを位置保存データとして保存する位置データ保存部と、
前記モードコントロール部にて前記露光処理中でないと判定された場合には、前記積分処理部にて出力された位置データに対し前記低周波成分データをオフセット値として演算し、前記モードコントロール部にて前記露光処理中であると判定された場合には、前記積分処理部にて出力された位置データに対し前記位置データ保存部に保存された位置保存データを固定オフセット値として演算し、手ぶれ補正量を出力するオフセット制御部と
を備えてなる手ぶれ補正装置。
【請求項5】
撮像装置の手ぶれ補正をコンピュータに実行させる手ぶれ補正プログラムであって、
撮像装置の動きを示す回転角速度を検出する角速度検出ステップと、
前記角速度検出ステップにて検出された角速度から直流成分を除去した直流カットデータを出力するハイパスフィルタステップと、
前記ハイパスフィルタステップにて出力された直流カットデータに基づき前記撮像装置の位置を位置データとして出力する積分処理ステップと、
前記積分処理ステップにて出力された位置データから撮像時に生ずる手ぶれによる変動に基づいた周波数以下の周波数である低周波成分データを出力するローパスフィルタステップと、
前記撮像装置における露光処理の状態を判定するモードコントロールステップと、
前記モードコントロールステップにて判定された前記露光処理の開始のタイミングにおける前記積分処理ステップにて出力された位置データを位置保存データとして保存する位置データ保存ステップと、
前記モードコントロールステップにて前記露光処理中でないと判定された場合には、前記積分処理ステップにて出力された位置データに対し前記低周波成分データをオフセット値として演算し、前記モードコントロールステップにて前記露光処理中であると判定された場合には、前記積分処理ステップにて出力された位置データに対し前記位置データ保存ステップにて保存された位置保存データを固定オフセット値として演算し、手ぶれ補正量を出力するオフセット制御ステップと
をコンピュータに実行させる手ぶれ補正プログラム。
【請求項6】
撮像装置の手ぶれ補正を行う手ぶれ補正方法であって、
撮像装置の動きを示す回転角速度を検出する角速度検出ステップと、
前記角速度検出ステップにて検出された角速度から直流成分を除去した直流カットデータを出力するハイパスフィルタステップと、
前記ハイパスフィルタステップにて出力された直流カットデータに基づき前記撮像装置の位置を位置データとして出力する積分処理ステップと、
前記積分処理ステップにて出力された位置データから撮像時に生ずる手ぶれによる変動に基づいた周波数以下の周波数である低周波成分データを出力するローパスフィルタステップと、
前記撮像装置における露光処理の状態を判定するモードコントロールステップと、
前記モードコントロールステップにて判定された前記露光処理の開始のタイミングにおける前記積分処理ステップにて出力された位置データを位置保存データとして保存する位置データ保存ステップと、
前記モードコントロールステップにて前記露光処理中でないと判定された場合には、前記積分処理ステップにて出力された位置データに対し前記低周波成分データをオフセット値として演算し、前記モードコントロールステップにて前記露光処理中であると判定された場合には、前記積分処理ステップにて出力された位置データに対し前記位置データ保存ステップにて保存された位置保存データを固定オフセット値として演算し、手ぶれ補正量を出力するオフセット制御ステップと
を実行する手ぶれ補正方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2012−78868(P2012−78868A)
【公開日】平成24年4月19日(2012.4.19)
【国際特許分類】
【出願番号】特願2012−1332(P2012−1332)
【出願日】平成24年1月6日(2012.1.6)
【分割の表示】特願2009−506239(P2009−506239)の分割
【原出願日】平成20年2月18日(2008.2.18)
【出願人】(000003078)株式会社東芝 (54,554)
【出願人】(301063496)東芝ソリューション株式会社 (1,478)
【Fターム(参考)】