(57)【特許請求の範囲】
【請求項１】
被写体の撮影時に装置本体が振れても撮影画像にブレが生じるのを抑える振れ補正機能を有する撮像装置において、
前記装置本体の振れを検出する角速度センサと、
前記角速度センサの出力を積分し、撮像レンズによる撮像素子面上の像の振れ量を算出する振れ量算出手段と、
前記撮像レンズによる像の振れを、前記装置本体の振れに追従する変位駆動により補正する振れ補正手段と、
前記振れ補正手段の変位量を検出する変位量検出手段と、
前記振れ量算出手段により算出された振れ量と前記変位量検出手段により検出された変位量の偏差に基づいて、前記振れ補正手段に出力する駆動指令値を生成する振れ補正制御手段と、
前記装置本体の姿勢方向を検出する水準器センサと、
前記水準器センサにて検出される装置本体の姿勢方向に基づき、重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であるか、重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるかを判定する姿勢判定手段と、を備え、
前記振れ補正制御手段は、
前記偏差に基づく駆動指令値に、前記角速度センサからの出力の大きさが小さいほど大きな値を加算し、前記角速度センサからの出力の大きさが大きいほど小さな値を加算し、
更に、前記装置本体が重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であると判定時に、第１のフィードフォワード制御指令値を算出し、前記装置本体が重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であると判定時に、前記第１のフィードフォワード制御指令値とは異なる第２のフィードフォワード制御指令値を算出し、
更に、前記装置本体が重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であるとの判定時、前記角速度センサの出力の大きさの絶対値が第１の設定値以下のとき、第１の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさの絶対値が第１の設定値を超えるとき、第１の係数より小さい第２の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、
前記装置本体が重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるとの判定時、前記角速度センサの出力の大きさの絶対値が第１の設定値以下のとき、第３の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさの絶対値が第１の設定値を超えるとき、第３の係数より小さい第４の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出することを特徴とする撮像装置。
【請求項２】
請求項１に記載された撮像装置において、
前記振れ補正制御手段は、前記振れ量と変位量の偏差を無くすように算出されるフィードバック制御指令値に、前記角速度センサからの出力の大きさが小さいほど大きな値による係数を設定し、前記角速度センサからの出力に前記設定した係数を乗じることで得られるフィードフォワード制御指令値を加算し、前記振れ補正手段に出力する駆動指令値を生成することを特徴とする撮像装置。
【請求項３】
請求項２に記載された撮像装置において、
前記振れ補正制御手段は、前記角速度センサの出力の大きさが第１の設定値以下のとき、角速度センサの出力に第１の係数を乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさが第１の設定値を超えているとき、角速度センサの出力に第１の係数より小さい第２の係数を乗じてフィードフォワード制御指令値を算出することを特徴とする撮像装置。
【請求項４】
請求項３に記載された撮像装置において、
前記振れ補正制御手段は、前記第１の設定値よりも大きな第２の設定値を定めておき、前記角速度センサの出力の大きさが第２の設定値を超えているとき、フィードフォワード制御指令値を算出するときの角速度センサの出力に乗じる係数の値を、前記第２の係数より小さいゼロを含む値に設定することを特徴とする撮像装置。
【請求項５】
被写体の撮影時に装置本体が振れても撮影画像にブレが生じるのを抑える振れ補正機能を有する撮像装置において、
前記装置本体の振れを検出する角速度センサと、
前記角速度センサの出力を積分し、撮像レンズによる撮像素子面上の像の振れ量を算出する振れ量算出手段と、
前記撮像レンズによる像の振れを、前記装置本体の振れに追従する変位駆動により補正する振れ補正手段と、
前記振れ補正手段の変位量を検出する変位量検出手段と、
前記振れ量算出手段により算出された振れ量と前記変位量検出手段により検出された変位量の偏差に基づいて、前記振れ補正手段に出力する駆動指令値を生成する振れ補正制御手段と、
前記装置本体の姿勢方向を検出する水準器センサと、
前記水準器センサにて検出される装置本体の姿勢方向に基づき、重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であるか、重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるかを判定する姿勢判定手段と、
前記角速度センサの出力の符号と前記角速度センサの出力微分値の符号が同じか異なるかを判定する極性判定手段と、を備え、
前記振れ補正制御手段は、
前記偏差に基づく駆動指令値に、前記角速度センサからの出力の大きさが小さいほど大きな値を加算し、前記角速度センサからの出力の大きさが大きいほど小さな値を加算し、
更に、前記装置本体が重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であるとの判定時、前記角速度センサの出力の大きさの絶対値が設定値以下で、前記極性判定手段により両符号が同じと判定されたとき、第１の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさの絶対値が設定値以下で、前記極性判定手段により両符号が異なると判定されたとき、前記第１の係数より小さい第２の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、
前記装置本体が重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であると判定時、前記角速度センサの出力の大きさの絶対値が設定値以下で、前記極性判定手段により両符号が同じと判定されたとき、第３の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさの絶対値が設定値以下で、前記極性判定手段により両符号が異なると判定されたとき、前記第３の係数より小さい第４の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出することを特徴とする撮像装置。
【請求項６】
請求項５に記載された撮像装置において、
前記振れ補正制御手段は、前記振れ量と変位量の偏差を無くすように算出されるフィードバック制御指令値に、前記角速度センサからの出力の大きさが小さいほど大きな値による係数を設定し、前記角速度センサからの出力に前記設定した係数を乗じることで得られるフィードフォワード制御指令値を加算し、前記振れ補正手段に出力する駆動指令値を生成することを特徴とする撮像装置。
【請求項７】
請求項６に記載された撮像装置において、
前記振れ補正制御手段は、前記角速度センサの出力の大きさが第１の設定値以下のとき、角速度センサの出力に第１の係数を乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさが第１の設定値を超えているとき、角速度センサの出力に第１の係数より小さい第２の係数を乗じてフィードフォワード制御指令値を算出することを特徴とする撮像装置。
【請求項８】
請求項７に記載された撮像装置において、
前記振れ補正制御手段は、前記第１の設定値よりも大きな第２の設定値を定めておき、前記角速度センサの出力の大きさが第２の設定値を超えているとき、フィードフォワード制御指令値を算出するときの角速度センサの出力に乗じる係数の値を、前記第２の係数より小さいゼロを含む値に設定することを特徴とする撮像装置。
【請求項９】
請求項１乃至８のいずれか一項に記載された撮像装置において、
前記振れ補正制御手段は、第１の係数と第２の係数と第３の係数と第４の係数を、振れ補正時における前記装置本体の姿勢角度と姿勢方向に基づき算出することを特徴とする撮像装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、被写体の撮影時に装置本体が振れても撮影画像にブレが生じるのを抑える振れ補正機能を有するデジタルスチールカメラ等の撮像装置に関する。
【背景技術】
【０００２】
従来、補正レンズを駆動する際に、摩擦力の影響を低減させることにより、振れ補正効果を向上させることを目的とするブレ補正装置が知られている（例えば、特許文献１参照）。
【０００３】
この従来のブレ補正装置は、光学機器に加わる振れ情報を検出するための振れ検出手段と、該振れ検出手段の検出結果を信号処理する信号処理手段と、補正レンズを駆動して前記振れによる像振れを補正する制御手段と、を有する。そして、前記制御手段は、前記補正レンズの駆動方向に応じて、前記信号処理手段の結果に設定値を加算もしくは減算し、その結果に基づいて前記補正レンズの駆動制御を行うようにしている。
【特許文献１】特開２０００−６６２５８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来のブレ補正装置にあっては、目標位置演算部及びフィードフォワード演算部の出力信号に基づいて、駆動部を駆動制御するというように、信号処理手段の結果（出力信号）に対する補正制御である。このため、摩擦力の影響が信号処理手段の結果に表れた後、事後的に摩擦力の影響を取り除こうとする補正制御となり、ブレ補正制御の誤差が最も発生しやすい補正レンズが静止状態から動き出すとき、大きな制御誤差の発生を許してしまう、という問題があった。
【０００５】
また、従来のブレ補正装置にあっては、摩擦力の影響を低減させる補正量として固定された設定値を加算もしくは減算するものである。一方、摩擦は、補正レンズの駆動速度ゼロのときに静止摩擦となるため最も摩擦力の影響が大きく、補正レンズの駆動速度が大きい時には動摩擦に移行しているので摩擦力の影響は少ない。そのため、固定された設定値を加算もしくは減算したのでは、補正レンズの駆動速度ゼロ近傍では不足であり、補正レンズの駆動速度大のときには過大となる、という問題があった。
【０００６】
本発明は、上記問題に着目してなされたもので、振れ補正制御時、応答良く、かつ、適正に摩擦力の影響を低減することで、振れ補正手段の駆動速度の大きさにかかわらず全駆動域にて制御誤差を小さく抑えることができる撮像装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、請求項１に係る発明では、被写体の撮影時に装置本体が振れても撮影画像にブレが生じるのを抑える振れ補正機能を有する撮像装置において、
前記装置本体の振れを検出する角速度センサと、
前記角速度センサの出力を積分し、撮像レンズによる撮像素子面上の像の振れ量を算出する振れ量算出手段と、
前記撮像レンズによる像の振れを、前記装置本体の振れに追従する変位駆動により補正する振れ補正手段と、
前記振れ補正手段の変位量を検出する変位量検出手段と、
前記振れ量算出手段により算出された振れ量と前記変位量検出手段により検出された変位量の偏差に基づいて、前記振れ補正手段に出力する駆動指令値を生成する振れ補正制御手段と、
前記装置本体の姿勢方向を検出する水準器センサと、
前記水準器センサにて検出される装置本体の姿勢方向に基づき、重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であるか、重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるかを判定する姿勢判定手段と、を備え、
前記振れ補正制御手段は、
前記偏差に基づく駆動指令値に、前記角速度センサからの出力の大きさが小さいほど大きな値を加算し、前記角速度センサからの出力の大きさが大きいほど小さな値を加算し、
更に、前記装置本体が重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であると判定時に、第１のフィードフォワード制御指令値を算出し、前記装置本体が重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であると判定時に、前記第１のフィードフォワード制御指令値とは異なる第２のフィードフォワード制御指令値を算出し、
更に、前記装置本体が重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であるとの判定時、前記角速度センサの出力の大きさの絶対値が第１の設定値以下のとき、第１の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさの絶対値が第１の設定値を超えるとき、第１の係数より小さい第２の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、
前記装置本体が重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるとの判定時、前記角速度センサの出力の大きさの絶対値が第１の設定値以下のとき、第３の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさの絶対値が第１の設定値を超えるとき、第３の係数より小さい第４の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出することを特徴とする。
【０００８】
請求項２に係る発明では、請求項１に記載された撮像装置において、
前記振れ補正制御手段は、前記振れ量と変位量の偏差を無くすように算出されるフィードバック制御指令値に、前記角速度センサからの出力の大きさが小さいほど大きな値による係数を設定し、前記角速度センサからの出力に前記設定した係数を乗じることで得られるフィードフォワード制御指令値を加算し、前記振れ補正手段に出力する駆動指令値を生成することを特徴とする。
【０００９】
請求項３に係る発明では、請求項２に記載された撮像装置において、
前記振れ補正制御手段は、前記角速度センサの出力の大きさが第１の設定値以下のとき、角速度センサの出力に第１の係数を乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさが第１の設定値を超えているとき、角速度センサの出力に第１の係数より小さい第２の係数を乗じてフィードフォワード制御指令値を算出することを特徴とする。
【００１０】
請求項４に係る発明では、請求項３に記載された撮像装置において、
前記振れ補正制御手段は、前記第１の設定値よりも大きな第２の設定値を定めておき、前記角速度センサの出力の大きさが第２の設定値を超えているとき、フィードフォワード制御指令値を算出するときの角速度センサの出力に乗じる係数の値を、ゼロを含み第２の係数より小さい値にすることを特徴とする。
【００１１】
請求項５に係る発明では、被写体の撮影時に装置本体が振れても撮影画像にブレが生じるのを抑える振れ補正機能を有する撮像装置において、
前記装置本体の振れを検出する角速度センサと、
前記角速度センサの出力を積分し、撮像レンズによる撮像素子面上の像の振れ量を算出する振れ量算出手段と、
前記撮像レンズによる像の振れを、前記装置本体の振れに追従する変位駆動により補正する振れ補正手段と、
前記振れ補正手段の変位量を検出する変位量検出手段と、
前記振れ量算出手段により算出された振れ量と前記変位量検出手段により検出された変位量の偏差に基づいて、前記振れ補正手段に出力する駆動指令値を生成する振れ補正制御手段と、
前記装置本体の姿勢方向を検出する水準器センサと、
前記水準器センサにて検出される装置本体の姿勢方向に基づき、重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であるか、重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるかを判定する姿勢判定手段と、
前記角速度センサの出力の符号と前記角速度センサの出力微分値の符号が同じか異なるかを判定する極性判定手段と、を備え、
前記振れ補正制御手段は、
前記偏差に基づく駆動指令値に、前記角速度センサからの出力の大きさが小さいほど大きな値を加算し、前記角速度センサからの出力の大きさが大きいほど小さな値を加算し、
更に、前記装置本体が重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であるとの判定時、前記角速度センサの出力の大きさの絶対値が設定値以下で、前記極性判定手段により両符号が同じと判定されたとき、第１の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさの絶対値が設定値以下で、前記極性判定手段により両符号が異なると判定されたとき、前記第１の係数より小さい第２の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、
前記装置本体が重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であると判定時、前記角速度センサの出力の大きさの絶対値が設定値以下で、前記極性判定手段により両符号が同じと判定されたとき、第３の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさの絶対値が設定値以下で、前記極性判定手段により両符号が異なると判定されたとき、前記第３の係数より小さい第４の係数を前記角速度センサの出力に乗じてフィードフォワード制御指令値を算出することを特徴とする。
【００１２】
請求項６に係る発明では、請求項５に記載された撮像装置において、
前記振れ補正制御手段は、前記振れ量と変位量の偏差を無くすように算出されるフィードバック制御指令値に、前記角速度センサからの出力の大きさが小さいほど大きな値による係数を設定し、前記角速度センサからの出力に前記設定した係数を乗じることで得られるフィードフォワード制御指令値を加算し、前記振れ補正手段に出力する駆動指令値を生成することを特徴とする。
【００１３】
請求項７に係る発明では、請求項６に記載された撮像装置において、
前記振れ補正制御手段は、前記角速度センサの出力の大きさが第１の設定値以下のとき、角速度センサの出力に第１の係数を乗じてフィードフォワード制御指令値を算出し、前記角速度センサの出力の大きさが第１の設定値を超えているとき、角速度センサの出力に第１の係数より小さい第２の係数を乗じてフィードフォワード制御指令値を算出することを特徴とする。
【００１４】
請求項８に係る発明では、請求項７に記載された撮像装置において、
前記振れ補正制御手段は、前記第１の設定値よりも大きな第２の設定値を定めておき、前記角速度センサの出力の大きさが第２の設定値を超えているとき、フィードフォワード制御指令値を算出するときの角速度センサの出力に乗じる係数の値を、前記第２の係数より小さいゼロを含む値に設定することを特徴とする。
【００１８】
請求項９に係る発明では、請求項１乃至８のいずれか一項に記載された撮像装置において、
前記振れ補正制御手段は、第１の係数と第２の係数と第３の係数と第４の係数を、振れ補正時における前記装置本体の姿勢角度と姿勢方向に基づき算出することを特徴とする。
【発明の効果】
【００１９】
よって、請求項１に係る撮像装置にあっては、振れ補正制御手段において、偏差に基づく駆動指令値に、角速度センサからの出力の大きさが小さい、つまり、速度が小さく静止摩擦の影響が大きいほど大きな値が加算され、角速度センサからの出力の大きさが大きい、つまり、速度が大きく摩擦力の影響が小さいほど小さな値が加算される。このため、振れ補正制御時、応答良く、かつ、適正に摩擦力の影響を低減することで、振れ補正手段の駆動速度の大きさにかかわらず全駆動域にて制御誤差を小さく抑えることができる。更に、摩擦力の影響が、重力方向に逆らった方向に駆動するときと重力方向に従った駆動するときとで異なるのに対応し、精度の良い手振れ補正制御を行うことができる。更に、摩擦力の影響が、重力方向の駆動か反重力方向の駆動かで異なることに対応すると共に、角速度が小さいか大きいかにより異なることに対応し、精度の良い手振れ補正制御を行うことができる。
【００２０】
請求項２、６に係る撮像装置にあっては、振れ補正制御手段において、振れ量と変位量の偏差を無くすように算出されるフィードバック制御指令値に、角速度センサからの出力の大きさが小さいほど大きな値による係数が設定され、角速度センサからの出力に設定した係数を乗じることで得られるフィードフォワード制御指令値が加算され、振れ補正手段に出力する駆動指令値が生成される。このため、振れそのものの発生情報を表す角速度センサからの出力を用いた簡単なフィードフォワード制御系を追加するだけの構成により、振れ補正手段の全駆動域にて制御誤差を小さく抑える駆動指令値を生成することができる。
【００２１】
請求項３、７に係る撮像装置にあっては、振れ補正制御手段において、角速度センサの出力の大きさが第１の設定値以下のとき、角速度センサの出力に第１の係数を乗じてフィードフォワード制御指令値が算出され、角速度センサの出力の大きさが第１の設定値を超えているとき、角速度センサの出力に第１の係数より小さい第２の係数を乗じてフィードフォワード制御指令値が算出される。このため、２つの係数を使い分ける簡単な補正制御としながら、速度ゼロ近傍での駆動指令値の不足を解消し、速度ゼロ近傍でないときに駆動指令値を適正に戻すことができる。
【００２２】
請求項４、８に係る撮像装置にあっては、振れ補正制御手段において、第１の設定値よりも大きな第２の設定値を定めておき、角速度センサの出力の大きさが第２の設定値を超えているとき、フィードフォワード制御指令値を算出するときの角速度センサの出力に乗じる係数の値が、ゼロを含み第２の係数より小さい値にされる。このため、角速度センサの出力の大きさ判断による簡単な補正制御としながら、速度大のときに駆動指令値が過大になるのを確実に防ぐことができる。
【００２３】
請求項５に係る撮像装置にあっては、振れ補正制御手段において、偏差に基づく駆動指令値に、角速度センサからの出力の大きさが小さい、つまり、速度が小さく静止摩擦の影響が大きいほど大きな値が加算され、角速度センサからの出力の大きさが大きい、つまり、速度が大きく摩擦力の影響が小さいほど小さな値が加算される。このため、振れ補正制御時、応答良く、かつ、適正に摩擦力の影響を低減することで、振れ補正手段の駆動速度の大きさにかかわらず全駆動域にて制御誤差を小さく抑えることができる。更に、摩擦力の影響が、重力方向の駆動か反重力方向の駆動かで異なることに対応すると共に、角速度が小さいか大きいかにより異なることに対応するのに加え、加速するときと減速するときとで異なることに対応し、精度の良い手振れ補正制御を行うことができる。
【００３０】
請求項９に係る撮像装置にあっては、振れ補正制御手段において、第１の係数と第２の係数と第３の係数と第４の係数が、振れ補正時における装置本体の姿勢角度と姿勢方向に基づき算出される。このため、装置本体の姿勢角度と姿勢方向により決まる摩擦力の影響を適正に低減することで、精度の良い手振れ補正制御を行うことができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の撮像装置を実現する最良の形態を、図面に示す実施例１〜実施例８に基づいて説明する。
【実施例１】
【００３２】
まず、構成を説明する。
図１は、実施例１のデジタルスチールカメラ（撮像装置の一例であり、以下、単に「デジタルカメラ」という。）を示す正面図である。図２は、実施例１のデジタルカメラを示す背面図である。図３は、実施例１のデジタルカメラを示す平面図である。以下、デジタルカメラの外観構成を説明する。
【００３３】
カメラ本体の上面（被写体側を正面としたときの上面）には、図１および図３に示すように、レリーズスイッチＳＷ１（レリーズシャッター）、モードダイアルＳＷ２、サブ液晶ディスプレイ１（サブＬＣＤともいう）が配設されている。
【００３４】
カメラ本体の正面（被写体側）には、図１に示すように、撮像レンズを含む鏡胴ユニット７、光学ファインダ４、ストロボ発光器３、測距ユニット５、リモートコントロール受光部６が設けられている。
【００３５】
カメラ本体の背面（撮影者側）には、図２に示すように、電源スイッチＳＷ１３、ＬＣＤモニタ１０、ＡＦＬＥＤ８、ストロボＬＥＤ９、光学ファインダ４、広角方向ズームスイッチＳＷ３、望遠方向ズームスイッチＳＷ４、セルフタイマの設定・削除スイッチＳＷ５、メニュースイッチＳＷ６、上移動・ストロボセットスイッチＳＷ７、右移動スイッチＳＷ８、ディスプレイスイッチＳＷ９、下移動・マクロスイッチＳＷ１０、左移動・画像確認スイッチＳＷ１１、ＯＫスイッチＳＷ１２、手振れ補正スイッチＳＷ１４が設けられている。カメラ本体の側面には、図１に示すように、メモリカード／電池装填室の蓋２が設けられている。
【００３６】
図４は、実施例１のデジタルカメラの全体システム構成の概要を示すブロック図である。以下、デジタルカメラの全体システム構成を説明する。
【００３７】
実施例１のデジタルカメラは、図４に示すように、鏡胴ユニット７と、モータドライバ２０と、ＣＣＤ２１と、画像処理部２２と、ＣＣＤステージ２３と、ＣＣＤアクチュエータ２４と、ＣＣＤ位置検出部２５と、ＣＰＵ２６と、ＲＯＭ２７と、ＳＤＲＡＭ２８と、を備えている。
【００３８】
前記鏡胴ユニット７は、被写体の光学画像をＣＣＤ２１に取り込むズームレンズ、フォーカスレンズ、絞り、メカシャッタ等を備えている。そして、これらのズームレンズ、フォーカスレンズ、絞り、メカシャッタは、各モータにより動かされ、各モータには、モータ駆動を行うモータドライバ２０を有する。そして、モータドライバ２０は、ＣＰＵ２６からの駆動指令により駆動制御される。
【００３９】
前記ＣＣＤ２１は、鏡胴ユニット７のレンズ群による光軸上に配置され、光学画像を光電変換するための固体撮像素子である。このＣＣＤ２１に接続された画像処理部２２は、画像ノイズ除去のための相関二重サンプリングを行うＣＤＳと、利得調整用のＡＧＣと、アナログ信号をデジタル信号に変換するＡ／Ｄ変換回路を有する。なお、撮像素子としては、例えば、ＣＭＯＳ等を使用することもできる。
【００４０】
前記ＣＣＤステージ２３は、前記ＣＣＤ２１の撮像面を図４の上下方向（Ｙ方向）と図４の左右方向（Ｘ方向）に移動可能に支持する部材である。つまり、ＣＣＤステージ２３に対し、手振れを止める方向にＣＣＤ２１を移動させることによって、カメラ本体の手振れによる被写体の撮影画像のぶれを抑える。
【００４１】
前記ＣＣＤアクチュエータ２４は、ＣＣＤ２１のＹ方向とＸ方向に駆動させるもので、例えば、コイルや圧電セラミックやパルスモータ等が用いられる。
【００４２】
前記ＣＣＤ位置検出部２５は、ＣＣＤ２１のＹ方向の位置とＸ方向の位置を検出するもので、ホール素子や磁気抵抗素子等の磁気センサが用いられる。そして、ＣＣＤ位置検出部２５によりＣＣＤ２１の位置を検出しながら、ＣＣＤアクチュエータ２４をＣＰＵ２６からの駆動指令により駆動制御することで、ＣＣＤ２１の位置制御が行われる。
【００４３】
前記ＣＰＵ２６は、ＣＣＤ２１より画像処理の出力データにホワイトバランス設定やガンマ設定を行い、フィルタリング処理により、輝度データ・色差データへの変換を行う制御ブロックを有する。また、前述した装置各部の動作を制御するブロック、前述した制御に必要なデータ等を一時的に保存するＳＤＲＡＭ２８、パソコン等の外部機器とＵＳＢ通信を行うＵＳＢブロック、パソコンなどの外部機器とシリアル通信を行うシリアルブロック、ＪＰＥＧ圧縮・伸張を行うブロック、画像データのサイズを補間処理により拡大／縮小するブロック、画像データを液晶モニタやＴＶなどの外部表示機器に表示するためのビデオ信号に変換するＴＶ信号表示ブロック、撮影された画像データを記録するメモリカードの制御を行うメモリカードブロックを有する。
【００４４】
前記ＲＯＭ２７には、ＣＰＵ２６にて解読可能なコードで記述された制御プログラムや制御するためのパラメータが格納されている。このデジタルカメラの電源がオン状態になると、前記プログラムは図示しないメインメモリにロードされ、前記ＣＰＵ２６は、そのプログラムに従って装置各部の動作を制御するとともに、制御に必要なデータ等を、一時的に、図示しないＲＡＭ及びＳＲＡＭに保存する。ＲＯＭ２７として、書き換え可能なフラッシュＲＯＭを使用することで、制御プログラムや制御するためのパラメータを変更することが可能となり、機能のバージョンアップが容易に行える。
【００４５】
前記ＳＤＲＡＭ２８は、前述したＣＰＵ２６で画像データに各種処理を施す際に、画像データを一時的に保存する。保存される画像データは、例えば、ＣＣＤ２１から、画像処理を経由して取り込んで、ホワイトバランス設定、ガンマ設定が行われた状態の「ＲＡＷ−ＲＧＢ画像データ」や輝度データ・色差データ変換が行われた状態の「ＹＵＶ画像データ」、ＪＰＥＧ圧縮された「ＪＰＥＧ画像データ」等である。なお、このシステムには、記憶媒体として、メモリカードスロットルにメモリカードが装着されていない場合でも、撮影した画像データを記憶できるようにするためのメモリも備えている。
【００４６】
実施例１のデジタルカメラは、図４に示すように、温度検出部２９と、ＬＣＤモニタ１０と、外部I/O３０と、操作部材ＳＷ１〜ＳＷ１４と、音声記録ユニット３１と、音声再生ユニット３２と、測光ユニット３３と、測距ユニット５と、ストロボ発光器３と、サブ液晶ディスプレイ１と、手振れ検出部３４と、を備えている。
【００４７】
前記温度検出部２９は、カメラ内の温度情報をＣＰＵ２６に送り、カメラ内の温度補正に使用される。温度センサとしては、例えば、サーミスター、正温度係数抵抗器、半導体等が用いられる。
【００４８】
前記ＬＣＤモニタ１０は、撮影前に被写体の状態を監視するため、撮影した画像を確認するため、メモリカードや前述した内臓メモリに記録した画像データを表示するため、等として用いられるモニタである。
【００４９】
前記外部I/O３０は、パソコンなどの外部機器とシリアル通信を行うために、シリアルブロックの出力信号を電圧変換するための回路である。
【００５０】
前記操作部材ＳＷ１〜ＳＷ１４は、図１〜図３に示すように、ユーザーが操作するＫｅｙ回路によるスイッチである。
【００５１】
前記音声記録ユニット３１は、ユーザーが音声信号を入力するマイク、入力された音声信号を増幅するマイクＡＭＰ、増幅された音声信号を記録する音声記録回路からなる。
【００５２】
前記音声再生ユニット３２は、記録された音声信号をスピーカーから出力できる信号に変換する音声再生回路、変換された音声信号を増幅し、スピーカーを駆動するためのオーディオＡＭＰ、音声信号を出力するスピーカーからなる。
【００５３】
前記測光ユニット３３は、絞りと露光時間を決める測光情報をＣＰＵ２６へ送る。前記測距ユニット５は、フォーカスレンズの合焦位置を決める測距情報をＣＰＵ２６へ送る。
【００５４】
前記手振れ検出部３４は、手振れ検出情報である角速度データをＣＰＵ２６へ送る。この手振れ検出部３４は、ジャイロセンサ341と、ハイパスフィルタ342と、ローパスフィルタ343と、を有して構成される（図６参照）。
【００５５】
図５は、実施例１のデジタルカメラにおいてＣＣＤ２１およびＣＣＤステージ２３（振れ補正手段）を示す分解斜視図である。
【００５６】
ＣＣＤステージ２３は、ＣＣＤ２１を固定するｙ可動枠231と、ｙガイド軸234を有するｘ可動枠232と、ｘガイド軸235を有する固定枠233と、を備えている。
【００５７】
前記ｙ可動枠231は、ｘ可動枠232に固定されたｙガイド軸234に沿ってｙ方向に移動可能に支持されている。また、前記ｘ可動枠232は、固定枠233に設けられたｘガイド軸235に沿ってｘ方向に移動可能に支持されている。前記固定枠233は、鏡胴ユニット７に固定されており、こうすることでＣＣＤ２１はｘ、ｙ両方向に移動可能となる。
【００５８】
さらに、ｙ可動枠231には、ｘ駆動コイル242aとｙ駆動コイル242bが、それぞれ固定枠233に設けられたｘ駆動マグネット242cとｙ駆動マグネット242dに対向する位置に設けられる。ｘ駆動コイル242aとｙ駆動コイル242bは、ｘ方向とｙ方向に駆動するＣＣＤアクチュエータ２４のコイル242を構成する。
【００５９】
前記ＣＣＤ２１のｘ方向とｙ方向の位置は、それぞれホール素子251によるｘ位置センサ251aとｙ位置センサ251bで検出される。前記ｘ位置センサ251aとｙ位置センサ251bは、ＣＣＤ２１と一体にｘ、ｙ方向に移動するｙ可動枠231に固定されていて、ｘ駆動マグネット242cとｙ駆動マグネット242dによる磁界の変化を検知して、ＣＣＤ２１の位置を検出する。
【００６０】
図６は、実施例１のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【００６１】
実施例１のデジタルカメラにおける振れ補正制御系は、手振れ検出部３４（角速度センサ）と、ＣＣＤアクチュエータ２４と、ＣＣＤ位置検出部２５（変位量検出手段）と、ＣＰＵ２６と、を備えている。
【００６２】
前記手振れ検出部３４は、図６に示すように、装置本体の振れを検出するジャイロセンサ341と、センサ出力から基準電圧Vrefに対するオフセットを除去するハイパスフィルタ342と、オフセットが除去された角速度信号から高周波ノイズを除去するローパスフィルタ343と、を有して構成される。
【００６３】
前記ＣＣＤアクチュエータ２４は、図６に示すように、ＣＰＵ２６からの駆動指令値をコイル駆動電流に変換する駆動回路241と、該駆動回路241からの駆動電流が印加されるコイル242（ｘ駆動コイル242a、ｙ駆動コイル242b）と、を有して構成される。
【００６４】
前記ＣＣＤ位置検出部２５は、図６に示すように、ホール素子251（ｘ位置センサ251a、ｙ位置センサ251b）と、ホール素子251にて検出された信号から高周波ノイズを除去するローパスフィルタ252と、を有して構成されている。
【００６５】
前記ＣＰＵ２６は、手振れ検出部３４からのアナログ信号による角速度データをデジタル変換して制御ＩＣ261（振れ補正制御手段）に取り込むA/D変換器262と、制御ＩＣ261からのデジタル信号による駆動指令値をアナログ変換してＣＣＤアクチュエータ２４に出力するD/A変換器263と、ＣＣＤ位置検出部２５からのアナログ信号によるＣＣＤ位置検出値をデジタル変換して制御ＩＣ261に取り込むA/D変換器264と、を備えている。
【００６６】
前記制御ＩＣ261は、フィードバック制御系として、手振れ検出部３４からの角速度信号ωｘ，ωｙを積分処理することで角度信号θｘ，θｙとする積分器265と、角度信号θｘ，θｙにジャイロセンサ341の感度と撮像レンズの焦点距離に応じた係数ｋを乗じて目標ＣＣＤ位置CCDx*，CCDy*を得る係数乗算器266と、係数乗算器266からの目標ＣＣＤ位置CCDx*，CCDy*と、ＣＣＤ位置検出部２５からの実ＣＣＤ位置CCDx，CCDyとの位置偏差ｄｘ，ｄｙを算出する差分器267と、制御安定性を確保するために位相進み補償等を行う位相補償器268と、位置偏差ｄｘ，ｄｙにフィードバックゲインＧ（比例ゲインGPや積分ゲインGIや微分ゲインGD）を乗じることでフィードバック項FBx，FBy（フィードバック制御指令値）を算出するフィードバックゲイン設定器269と、を備えている。
【００６７】
前記制御ＩＣ261は、フィードフォワード制御系として、手振れ検出部３４からの角速度信号ωｘ，ωｙに応じた係数ｃ（c1＞c2＞０）と、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する可変係数設定器270を備えている。そして、加算器271において、フィードバックゲイン設定器269からのフィードバック項FBx，FByと、可変係数設定器270からのフィードフォワード項FFx，FFyを加算し、ＣＣＤアクチュエータ２４に出力する駆動指令値を生成する。
【００６８】
図７は、実施例１のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートで、以下、各ステップについて説明する。
なお、このフローチャートは、モードダイアルＳＷ２を撮影モードに設定して電源スイッチＳＷ１３を押し、さらに、手振れ補正スイッチＳＷ１４を入れ、例えば、レリーズスイッチＳＷ１（レリーズシャッター）の二段押し下げ操作により撮影する場合の露光中に実行される。
【００６９】
ステップＳ101では、手振れ検出部３４からの角速度信号ωｘ，ωｙを読み込み、ステップＳ102へ移行する。
【００７０】
ステップＳ102では、ステップＳ101での角速度信号ωｘ，ωｙの読み込みに続き、積分器265において、角速度信号ωｘ，ωｙを積分処理することで角度信号θｘ，θｙとし、ステップＳ103へ移行する。
【００７１】
ステップＳ103では、ステップＳ102での角度信号θｘ，θｙの算出に続き、係数乗算器266において、角度信号θｘ，θｙにジャイロセンサ341の感度と撮像レンズの焦点距離に応じた係数ｋを乗じて目標ＣＣＤ位置CCDx*，CCDy*を算出し、ステップＳ104へ移行する。
【００７２】
ステップＳ104では、ステップＳ103での目標ＣＣＤ位置CCDx*，CCDy*の算出に続き、ＣＣＤ位置検出部２５から実ＣＣＤ位置CCDx，CCDyを読み込み、ステップＳ１０５へ移行する。
【００７３】
ステップＳ105では、ステップＳ104での実ＣＣＤ位置CCDx，CCDyの読み込みに続き、差分器267において、係数乗算器266からの目標ＣＣＤ位置CCDx*，CCDy*と、ＣＣＤ位置検出部２５からの実ＣＣＤ位置CCDx，CCDyとの位置偏差ｄｘ，ｄｙを算出し、ステップＳ106へ移行する。
【００７４】
ステップＳ106では、ステップＳ105での位置偏差ｄｘ，ｄｙの算出に続き、位相補償器268において、制御安定性を確保するために位相進み補償等を行い、ステップＳ107へ移行する。
【００７５】
ステップＳ107では、ステップＳ106での位相進み補償に続き、フィードバックゲイン設定器269において、位置偏差ｄｘ，ｄｙにフィードバックゲイン（例えば、ＰＩＤ制御の場合、比例ゲインGPと積分ゲインGIと微分ゲインGD）を乗じることでフィードバック項FBx，FByを算出し、ステップＳ108へ移行する。
【００７６】
ステップＳ108では、ステップＳ107でのフィードバック項FBx，FByの算出に続き、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第１の設定値Ａ１以下であるか否かを判断し、YESの場合はステップＳ109へ移行し、NOの場合はステップＳ111へ移行する。
【００７７】
ステップＳ109では、ステップＳ108でのωｘ≦Ａ１，ωｙ≦Ａ１であるとの判断に続き、可変係数設定器270において、係数ｃとして第１の係数c1を設定し、ステップＳ110へ移行する。
【００７８】
ステップＳ110では、ステップＳ109でのｃ＝c1に続き、第１の係数c1に、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ116へ移行する。
【００７９】
ステップＳ111では、ステップＳ108でのωｘ＞Ａ１，ωｙ＞Ａ１であるとの判断に続き、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第２の設定値Ａ２（＞Ａ１）以下であるか否かを判断し、YESの場合はステップＳ112へ移行し、NOの場合はステップＳ114へ移行する。
【００８０】
ステップＳ112では、ステップＳ111でのωｘ≦Ａ２，ωｙ≦Ａ２であるとの判断に続き、可変係数設定器270において、係数ｃとして第２の係数c2（＜c1）を設定し、ステップＳ113へ移行する。
【００８１】
ステップＳ113では、ステップＳ112でのｃ＝c2に続き、第２の係数c2に、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ116へ移行する。
【００８２】
ステップＳ114では、ステップＳ111でのωｘ＞Ａ２，ωｙ＞Ａ２であるとの判断に続き、可変係数設定器270において、係数ｃとしてｃ＝０（＜c2）を設定し、ステップＳ115へ移行する。
【００８３】
ステップＳ115では、ステップＳ114でのｃ＝０に続き、手振れ検出部３４からの角速度信号ωｘ，ωｙに０を乗じることでフィードフォワード項FFx（＝０），FFy（＝０）を算出し、ステップＳ116へ移行する。
【００８４】
ステップＳ116では、ステップＳ110，ステップＳ113，ステップＳ115でのフィードフォワード項FFx，FFyの算出に続き、加算器271において、ステップＳ107で算出されたフィードバック項FBx，FByと、ステップＳ110，ステップＳ113，ステップＳ115で算出されたフィードフォワード項FFx，FFyを加算し、ＣＣＤアクチュエータ２４に出力する駆動指令値Ｄｘ，Ｄｙを生成し、リターンへ移行する。
【００８５】
次に、作用を説明する。
実施例１のデジタルカメラの作用を、「手振れ補正の原理」と「角速度信号が第１の設定値以下のときの振れ補正作用」と「角速度信号が第１の設定値を超え第２の設定値以下のときの振れ補正作用」と「角速度信号が第２の設定値を超えるときの振れ補正作用」に分けて説明する。
【００８６】
［手振れ補正の原理］
図８は、手振れ補正の原理を説明するための説明図であって、(a)はデジタルカメラが実線で示す手振れのない状態から破線で示すように傾いた状態を示し、(b)はカメラ本体の撮像レンズとＣＣＤ２１の撮像面との関係を示す部分拡大図である。
【００８７】
手振れによるカメラの移動がない状態のとき、ＣＣＤ２１の撮像面が位置Ｐ１、すなわち、中央位置にあるとき、被写体の像が図８(b)に実線で示す撮像面の位置Ｐ１の原点Ｏに投影されていたとする。ここで、手振れによりカメラがθ（θｘ、θｙ）方向に傾いたとする。すると、撮像面は図８(b)に破線で示す撮像面の位置Ｐ２に移動し、被写体の像はＯ’に移動する。そこで、破線で示す撮像面の位置Ｐ２が実線で示す撮像面の位置Ｐ１と重なるように、ｘ方向にｄｘ、ｙ方向にｄｙだけ撮像面（ＣＣＤ面）を平行移動させることにより、被写体の像は元の原点位置Ｏに戻ることになる。
【００８８】
［角速度信号が第１の設定値以下のときの振れ補正作用］
図９は、実施例１のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【００８９】
手振れ検出部３４からの角速度信号ωｘ，ωｙが、第１の設定値Ａ１以下であるときは、図７のフローチャートにおいて、ステップＳ101→ステップＳ102→ステップＳ103→ステップＳ104→ステップＳ105→ステップＳ106→ステップＳ107→ステップＳ108→ステップＳ109→ステップＳ110→ステップＳ116→リターンへと進む流れが繰り返される。
【００９０】
すなわち、ステップＳ109では、係数ｃとして最も大きな値による第１の係数c1が設定され、ステップＳ110では、第１の係数c1に角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyが算出される。そして、ステップＳ116では、ステップＳ107で算出されたフィードバック項FBx，FByに、ステップＳ110で算出されたフィードフォワード項FFx，FFyが加算され、ＣＣＤアクチュエータ２４に出力する駆動指令値Ｄｘ，Ｄｙが生成される。
【００９１】
例えば、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下で小さく、静止摩擦の影響が大きく受けるときは、ＣＣＤステージ２３の動きが大きな抵抗により鈍る。このとき、例えば、フィードバック制御だけとした場合は、目標ＣＣＤ位置CCDx*，CCDy*と実ＣＣＤ位置CCDx，CCDyの位置偏差ｄｘ，ｄｙが大きくなるまで、ＣＣＤアクチュエータ２４に出力する駆動指令値が大きくならず、急激に制御誤差が増してしまうことになる。
【００９２】
これに対し、実施例１では、図９に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下である時間帯Δt1では、角速度信号ωｘ，ωｙを、c1倍（例えば、約1.5倍）するような加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【００９３】
したがって、手振れ検出部３４から入力される角速度信号ωｘ，ωｙに基づき、予め摩擦の方向（速度と逆方向）とは逆方向に、ＣＣＤステージ２３に加えられる摩擦力に打ち勝つような大きな駆動力を与えることで、ＣＣＤアクチュエータ２４の駆動速度が小さく静止摩擦の影響が大きい角速度信号ωｘ，ωｙが第１の設定値Ａ１以下の領域にて、制御誤差を小さく抑えることができる。
【００９４】
［角速度信号が第１の設定値を超え第２の設定値以下のときの振れ補正作用］
手振れ検出部３４からの角速度信号ωｘ，ωｙが、第１の設定値Ａ１を超えているが第２の設定値Ａ２以下であるときは、図７のフローチャートにおいて、ステップＳ101→ステップＳ102→ステップＳ103→ステップＳ104→ステップＳ105→ステップＳ106→ステップＳ107→ステップＳ108→ステップＳ111→ステップＳ112→ステップＳ113→ステップＳ116→リターンへと進む流れが繰り返される。
【００９５】
すなわち、ステップＳ112では、係数ｃとして第１の係数c1よりも小さな値による第２の係数c2が設定され、ステップＳ113では、第２の係数c2に角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyが算出される。そして、ステップＳ116では、ステップＳ107で算出されたフィードバック項FBx，FByに、ステップＳ113で算出されたフィードフォワード項FFx，FFyが加算され、ＣＣＤアクチュエータ２４に出力する駆動指令値Ｄｘ，Ｄｙが生成される。
【００９６】
例えば、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えているが第２の設定値Ａ２以下のときには、静止摩擦の影響ほどでもないが摩擦の影響を多少受けてＣＣＤステージ２３の動きに抵抗が生じる。このとき、例えば、フィードバック制御だけとした場合は、目標ＣＣＤ位置CCDx*，CCDy*と実ＣＣＤ位置CCDx，CCDyの位置偏差ｄｘ，ｄｙが大きくなるまで、ＣＣＤアクチュエータ２４に出力する駆動指令値が大きくならず、制御誤差が増してしまうことになる。
【００９７】
これに対し、実施例１では、図９に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えて第２の設定値Ａ２以下である時間帯Δt2では、角速度信号ωｘ，ωｙを、c2倍（例えば、約0.3倍）するような加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【００９８】
したがって、手振れ検出部３４から入力される角速度信号ωｘ，ωｙに基づき、予め摩擦の方向（速度と逆方向）とは逆方向に、ＣＣＤステージ２３に加えられる摩擦力に打ち勝つような駆動力を与えることで、ＣＣＤステージ２３が静止状態から動き出していて、摩擦の影響を多少受ける角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えて第２の設定値Ａ２以下の領域にて、制御誤差を小さく抑えることができる。
【００９９】
［角速度信号が第２の設定値を超えるときの振れ補正作用］
手振れ検出部３４からの角速度信号ωｘ，ωｙが、第２の設定値Ａ２を超えているときは、図７のフローチャートにおいて、ステップＳ101→ステップＳ102→ステップＳ103→ステップＳ104→ステップＳ105→ステップＳ106→ステップＳ107→ステップＳ108→ステップＳ111→ステップＳ114→ステップＳ115→ステップＳ116→リターンへと進む流れが繰り返される。
【０１００】
すなわち、ステップＳ114では、係数ｃとして第２の係数c2よりも小さな値（実施例１ではゼロ）が設定され、ステップＳ115では、ゼロに角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx（＝０），FFy（＝０）が算出される。そして、ステップＳ116では、フィードフォワード項FFx，FFyが加算されることなく、ステップＳ107で算出されたフィードバック項FBx，FByにより、ＣＣＤアクチュエータ２４に出力する駆動指令値Ｄｘ，Ｄｙが生成される。
【０１０１】
例えば、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超えているときには、静止状態から動きだし、摩擦の影響を受けないでスムーズにＣＣＤステージ２３が駆動している。このとき、例えば、ＣＣＤアクチュエータ２４に出力する駆動指令値に加算量を与えると、駆動指令値が過大となり、オーバーシュートによる制御誤差が生じることになる。
【０１０２】
これに対し、実施例１では、図９に示すように、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超える時間帯Δt3では、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０１０３】
したがって、摩擦の影響を受けないでスムーズにＣＣＤステージ２３が駆動しているとき、加算量をゼロとすることで、駆動指令値が過大となることが防止され、ＣＣＤステージ２３の過剰駆動によるオーバーシュートを防止することができる。
【０１０４】
図１０は、実施例１のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。図１１は、デジタルカメラにおける振れ補正制御で加算量のないフィードバック制御のみとした場合の目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【０１０５】
実施例１は、摩擦などの影響で振れ補正機構の動きに抵抗が生じとときに、フィードバック制御だけでは目標位置と現在位置との差が大きくなるまで制御信号が大きくならず制御誤差が増してしまうため、予め摩擦の方向（速度と逆方向）とは逆方向に、摩擦力に打ち勝つような駆動力を与えられるように、速度を所定の係数倍した信号を制御信号に加算するようにしている。このとき乗ずる係数ｃは、速度が小さく摩擦の影響が大きい時に大きく、速度が大きく摩擦の影響が小さい時に小さく設定する。こうすることにより、速度が小さい時には効果的に摩擦の影響を低減でき、速度が大きい時は過大なフィードフォワード項を加算してしまうのを防ぐことができる。図１１はフィードフォワード項を加算しなかったときの変位と制御誤差であるが、変位の山と谷付近（速度ゼロ付近）で制御誤差が大きくなっている。これに対し、図１０はフィードフォワード項を加算した実施例１の変位と制御誤差であるが、図１１との対比からも明らかなように、制御誤差が小さくなっている。
【０１０６】
次に、効果を説明する。
実施例１のデジタルカメラにあっては、下記に列挙する効果を得ることができる。
【０１０７】
(1) 被写体の撮影時に装置本体が振れても撮影画像にブレが生じるのを抑える振れ補正機能を有する撮像装置（デジタルカメラ）において、前記装置本体の振れを検出する角速度センサ（ジャイロセンサ341を有する手振れ検出部３４）と、前記角速度センサの出力を積分し、撮像レンズによる撮像素子面上の像の振れ量を算出する振れ量算出手段（係数乗算器266、ステップＳ103）と、前記撮像レンズによる像の振れを、前記装置本体の振れに追従する変位駆動により補正する振れ補正手段（ＣＣＤステージ２３）と、前記振れ補正手段の変位量を検出する変位量検出手段（ＣＣＤ位置検出部２５）と、前記振れ量算出手段により算出された振れ量と前記変位量検出手段により検出された変位量の偏差に基づいて、前記振れ補正手段に出力する駆動指令値を生成する振れ補正制御手段（制御ＩＣ261、図７）と、を備え、前記振れ補正制御手段は、前記偏差に基づく駆動指令値に、前記角速度センサからの出力の大きさが小さいほど大きな値を加算し、前記角速度センサからの出力の大きさが大きいほど小さな値を加算する。このため、振れ補正制御時、応答良く、かつ、適正に摩擦力の影響を低減することで、振れ補正手段（ＣＣＤステージ２３）の駆動速度の大きさにかかわらず全駆動域にて制御誤差を小さく抑えることができる。
【０１０８】
(2) 前記振れ補正制御手段（制御ＩＣ261、図７）は、前記振れ量と変位量の偏差を無くすように算出されるフィードバック制御指令値（フィードバック項FBx，FBy）に、前記角速度センサ（ジャイロセンサ341を有する手振れ検出部３４）からの出力の大きさが小さいほど大きな値による係数を設定し、前記角速度センサからの出力に前記設定した係数を乗じることで得られるフィードフォワード制御指令値（フィードフォワード項FFx，FFy）を加算し、前記振れ補正手段（ＣＣＤステージ２３）に出力する駆動指令値を生成する。このため、振れそのものの発生情報を表す角速度センサからの出力を用いた簡単なフィードフォワード制御系を追加するだけの構成により、振れ補正手段（ＣＣＤステージ２３）の全駆動域にて制御誤差を小さく抑える駆動指令値を生成することができる。
【０１０９】
(3) 前記振れ補正制御手段（制御ＩＣ261、図７）は、前記角速度センサ（ジャイロセンサ341を有する手振れ検出部３４）の出力の大きさが第１の設定値Ａ１以下のとき、角速度センサの出力に第１の係数c1を乗じてフィードフォワード制御指令値（フィードフォワード項FFx，FFy）を算出し、前記角速度センサの出力の大きさが第１の設定値Ａ１を超えているとき、角速度センサの出力に第１の係数c1より小さい第２の係数c2を乗じてフィードフォワード制御指令値（フィードフォワード項FFx，FFy）を算出する。このため、２つの係数c1,c2を使い分ける簡単な補正制御としながら、速度ゼロ近傍での駆動指令値Ｄｘ，Ｄｙの不足を解消し、速度ゼロ近傍でないときに駆動指令値Ｄｘ，Ｄｙを適正に戻すことができる。
【０１１０】
(4) 前記振れ補正制御手段（制御ＩＣ261、図７）は、前記第１の設定値Ａ１よりも大きな第２の設定値Ａ２を定めておき、前記角速度センサ（ジャイロセンサ341を有する手振れ検出部３４）の出力の大きさが第２の設定値Ａ２を超えているとき、フィードフォワード制御指令値（フィードフォワード項FFx，FFy）を算出するときの角速度センサの出力に乗じる係数の値を、前記第２の係数c2より小さいゼロを含む値に設定する。このため、角速度センサの出力の大きさ判断による簡単な補正制御としながら、速度大のときに駆動指令値Ｄｘ，Ｄｙが過大になるのを確実に防ぐことができる。
【実施例２】
【０１１１】
実施例２は、振れ補正手段が駆動するときの加速と減速を判定し、摩擦の影響が大きい加速のときにのみ駆動指令値に加算するようにした例である。
なお、実施例２のデジタルカメラにおいて、図１，２，３，５の各構成については、実施例１と同様であるので、図示、並びに、説明を省略する。
【０１１２】
図１２は、実施例２のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【０１１３】
前記制御ＩＣ261は、図１２に示すように、フィードバック制御系として、積分器265と、係数乗算器266と、差分器267と、位相補償器268と、フィードバックゲイン設定器269と、を備えている。
【０１１４】
前記制御ＩＣ261は、図１２に示すように、フィードフォワード制御系として、手振れ検出部３４からの角速度信号ωｘ，ωｙに応じた係数ｃ（c1＞c2＞０）と、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する可変係数設定器270を備えている。加えて、手振れ検出部３４からの角速度信号ωｘ，ωｙを微分処理する微分器272と、微分処理した角加速度信号αｘ，αｙから高周波ノイズを除去するローパスフィルタ273と、角速度信号ωｘ，ωｙの符号（正負）と角加速度信号αｘ，αｙの符号（正負）の極性を判定する極性判定器274（極性判定手段）と、角速度信号ωｘ，ωｙの符号と角加速度信号αｘ，αｙの符号が同符号の場合にONとし、異符号の場合にOFFとする切換器275と、を備えている。そして、加算器271において、切換器275のON時、フィードバックゲイン設定器269からのフィードバック項FBx，FByと、可変係数設定器270からのフィードフォワード項FFx，FFyを加算し、ＣＣＤアクチュエータ２４に出力する駆動指令値を生成する。また、切換器275のOFF時、フィードフォワード項FFx，FFyを算出せず、フィードバックゲイン設定器269からのフィードバック項FBx，FByをそのままＣＣＤアクチュエータ２４に出力する駆動指令値として生成する。
【０１１５】
図１３は、実施例２のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートで、以下、各ステップについて説明する。
なお、このフローチャートにおいて、ステップＳ201〜ステップＳ216の各ステップは、図７に示すフローチャートのステップＳ101〜ステップＳ116の各ステップと同様の処理を行うステップであるため、説明を省略する。
【０１１６】
ステップＳ217では、ステップＳ207でのフィードバック項FBx，FByの算出に続き、微分器272において、手振れ検出部３４からの角速度信号ωｘ，ωｙを微分処理し、角加速度信号αｘ，αｙを算出し、ステップＳ218へ移行する。
【０１１７】
ステップＳ218では、ステップＳ217での角加速度信号αｘ，αｙの算出に続き、角速度信号ωｘと角加速度信号αｘが同符号であるか、また、角速度信号ωｙと角加速度信号αｙが同符号であるかを判断し、YESの場合はステップＳ208へ移行し、NOの場合はステップＳ219へ移行する。
【０１１８】
ステップＳ219では、ステップＳ218でのωｘとαｘが異符号である、あるいは、ωｙとαｙが異符号であるとの判断に続き、異符号であると判断された方向のフィードフォワード項FFx，FFyをゼロに設定し、ステップＳ216へ移行する。
【０１１９】
次に、作用を説明する。
実施例２のデジタルカメラの作用を、「ＣＣＤステージの加速動作による振れ補正制御作用」と「ＣＣＤステージの減速動作による振れ補正制御作用」に分けて説明する。
【０１２０】
［ＣＣＤステージの加速動作による振れ補正制御作用］
図１４は、実施例２のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【０１２１】
ＣＣＤステージ２３の加速動作による振れ補正時には、図１３のフローチャートにおいて、ステップＳ201→ステップＳ202→ステップＳ203→ステップＳ204→ステップＳ205→ステップＳ206→ステップＳ207→ステップＳ217→ステップＳ218→ステップＳ208へと進む流れとなる。
【０１２２】
そして、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第１の設定値Ａ１以下であるときは、図１３のフローチャートにおいて、ステップＳ208からステップＳ209→ステップＳ210→ステップＳ216→リターンへと進む流れが繰り返される。そして、図１４に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下である時間帯Δt1では、角速度信号ωｘ，ωｙを、c1倍（例えば、約1.5倍）するような加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０１２３】
一方、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第１の設定値Ａ１を超えているが第２の設定値Ａ２以下であるときは、図１３のフローチャートにおいて、ステップＳ208からステップＳ211→ステップＳ212→ステップＳ213→ステップＳ216→リターンへと進む流れが繰り返される。そして、図１４に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えて第２の設定値Ａ２以下である時間帯Δt2では、角速度信号ωｘ，ωｙを、c2倍（例えば、約0.3倍）するような加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０１２４】
また、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第２の設定値Ａ２を超えているときは、図１３のフローチャートにおいて、ステップＳ208からステップＳ211→ステップＳ214→ステップＳ215→ステップＳ216→リターンへと進む流れが繰り返される。そして、図１４に示すように、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超える時間帯Δt3では、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０１２５】
したがって、ＣＣＤステージ２３が加速動作であるときは、摩擦の影響を適正に低減するという実施例１と同様の作用を示し、制御誤差を小さく抑えることができる。
【０１２６】
［ＣＣＤステージの減速動作による振れ補正制御作用］
ＣＣＤステージ２３の減速動作による振れ補正時には、図１３のフローチャートにおいて、ステップＳ201→ステップＳ202→ステップＳ203→ステップＳ204→ステップＳ205→ステップＳ206→ステップＳ207→ステップＳ217→ステップＳ218→ステップＳ219→ステップＳ216へと進む流れが繰り返される。
【０１２７】
そして、図１４に示すように、角速度信号ωｘ，ωｙの符号（正）と角加速度信号αｘ，αｙの符号（負）が異なる時間帯Δt4では、加算量が算出されず、フィードフォワード項FFx，FFyがゼロとされる。
【０１２８】
すなわち、実施例２では、フィードフォワード項FFx，FFyを加算する際に極性判定を行い、所定の条件を満たした時にフィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算する。極性判定の方法を説明する。角速度信号ωｘ，ωｙと、角速度信号ωｘ，ωｙを微分してローパスフィルタ273で高周波ノイズを除去した角加速度信号αｘ，αｙが極性判定器274に入力される。両者の符号が同じ場合のみフィードフォワード項FFx，FFyの加算を行い、符号が異なる場合はフィードフォワード項FFx，FFyの加算はしない。すなわち、角速度がプラスで角加速度もプラスの場合、プラス方向に向かって加速している状態を表している。この場合はフィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算する。角速度がプラスで角加速度がマイナスの場合、プラス方向に動いているが減速していることを示す。この場合はフィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算しない。
【０１２９】
摩擦抵抗は、静止状態から動き始める時すなわち加速時に大きく働き、動いている状態、例えば速度大のときや減速のときには小さい。加速しているときは加速を妨げる方向に大きな摩擦力が働くため、それを打ち消すフィードフォワード項FFx，FFyの加算が有効であるが、減速しているときは摩擦の影響は少ないため、フィードフォワード項FFx，FFyを加算するとコイル242の駆動力が大きすぎることとなる。角速度がマイナスの場合も同様に、角加速度がマイナスの場合、マイナス方向に加速しているのでフィードフォワード項FFx，FFyを加算し、角加速度がプラスの場合、マイナス方向に動いているが減速しているので、フィードフォワード項FFx，FFyの加算を行わない。
【０１３０】
したがって、実施例２では、静止状態から動き出す（加速する）ときに、摩擦の影響を補正するために駆動指令値Ｄｘ，Ｄｙに加算し、動いている状態から停止する（減速する）ときには駆動指令値Ｄｘ，Ｄｙに加算しないようにすることにより、駆動指令値Ｄｘ，Ｄｙが過大になってしまうのを防ぎ、より適正に摩擦力の影響を低減して制御誤差を小さくすることができる。
【０１３１】
図１５は、実施例２のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【０１３２】
実施例１のデジタルカメラにおける振れ補正制御での目標位置と検出位置と制御誤差のタイムチャート（図１０）では、山と谷の手前（減速中）にもフィードフォワード項FFx，FFyを加算しているためＣＣＤ位置が目標位置を超えてしまい、わずかに制御誤差を生じてしまっている。これに対し、実施例２では、図１５に示すように、山と谷の手前（減速時）にはフィードフォワード項FFx，FFyを加算していないため、コイル242で過大な駆動力を生じない。この結果、制御誤差がほとんどなく正確にＣＣＤ位置を目標位置に制御できている。フィードフォワード項FFx，FFyを算出するための係数ｃは、実施例１と同じである。
【０１３３】
次に、効果を説明する。
実施例２のデジタルカメラにあっては、実施例１の(1)〜(4)の効果に加え、下記の効果を得ることができる。
【０１３４】
(5) 前記角速度センサ（ジャイロセンサ341を有する手振れ検出部３４）の出力（角速度信号ωｘ，ωｙ）の符号と前記角速度センサの出力微分値（角加速度信号αｘ，αｙ）の符号が同じか異なるかを判定する極性判定器274を設け、前記振れ補正制御手段（制御ＩＣ261、図１３）は、両符号が同じであると判定されたとき、フィードフォワード項FFx，FFyを算出し、両符号が異なると判定されたとき、フィードフォワード項FFx，FFyを算出しない。このため、静止状態から動き出す（＝加速する）とき、摩擦の影響を取り除く補正をし、動いている状態から停止する（＝減速する）とき、摩擦の影響を取り除く補正をしないことで、振れ補正手段（ＣＣＤステージ２３）が減速するときに駆動指令値Ｄｘ，Ｄｙが過大になるのを確実に防ぐことができる。
【実施例３】
【０１３５】
実施例３は、水準器センサにて検出されるカメラの姿勢から振れ補正手段の駆動方向が重力方向に従ったものなのか逆らったものなのかを判定し、重力方向に逆らった方向であるときにのみ駆動指令値に加算するようにした例である。
なお、実施例３のデジタルカメラにおいて、図１，図２，図３，図５の各構成については、実施例１と同様であるので、図示、並びに、説明を省略する。
【０１３６】
図１６は、実施例３のデジタルカメラの全体システム構成の概要を示すブロック図である。実施例３のデジタルカメラは、図１６に示すように、装置本体の姿勢方向を検出する水準器センサ３５が追加されている点でのみ、図４に示す実施例１のデジタルカメラと異なる。他の構成は、図４と同様であるので説明を省略する。
【０１３７】
図１７は、実施例３のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【０１３８】
前記制御ＩＣ261は、図１７に示すように、フィードバック制御系として、積分器265と、係数乗算器266と、差分器267と、位相補償器268と、フィードバックゲイン設定器269と、を備えている。
【０１３９】
前記制御ＩＣ261は、図１７に示すように、フィードフォワード制御系として、手振れ検出部３４からの角速度信号ωｘ，ωｙに応じた係数ｃ（c1＞c2＞０）と、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する可変係数設定器270を備えている。加えて、水準器センサ３５からのカメラ姿勢方向信号を入力し、カメラ姿勢方向と振れ補正手段であるＣＣＤステージ２３の駆動方向により、ＣＣＤステージ２３の駆動方向が重力方向に従ったものなのか逆らったものなのかを判定する姿勢判定器276（姿勢判定手段）と、ＣＣＤステージ２３の駆動方向が重力方向に逆らった方向の場合にONとし、ＣＣＤステージ２３の駆動方向が重力方向に従った方向の場合にOFFとする切換器277と、を備えている。そして、加算器271において、切換器277のON時、フィードバックゲイン設定器269からのフィードバック項FBx，FByと、可変係数設定器270からのフィードフォワード項FFx，FFyを加算し、ＣＣＤアクチュエータ２４に出力する駆動指令値を生成する。また、切換器277のOFF時、フィードフォワード項FFx，FFyを算出せず、フィードバックゲイン設定器269からのフィードバック項FBx，FByをそのままＣＣＤアクチュエータ２４に出力する駆動指令値として生成する。
【０１４０】
図１８は、実施例３のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートで、以下、各ステップについて説明する。
なお、このフローチャートにおいて、ステップＳ301〜ステップＳ316の各ステップは、図７に示すフローチャートのステップＳ101〜ステップＳ116の各ステップと同様の処理を行うステップであるため、説明を省略する。
【０１４１】
ステップＳ317では、ステップＳ307でのフィードバック項FBx，FByの算出に続き、水準器センサ３５から装置本体（カメラ本体）の姿勢方向信号を読み込み、ステップＳ318へ移行する。
【０１４２】
ステップＳ318では、ステップＳ317での姿勢方向信号の読み込みに続き、姿勢判定器276において、ＣＣＤステージ２３の駆動方向が重力方向に逆らった方向であるか否かを判断し、YES（重力方向に逆らった方向）の場合はステップＳ308へ移行し、NO（重力方向に従った方向）の場合はステップＳ319へ移行する。
【０１４３】
ステップＳ319では、ステップＳ318でのＣＣＤステージ２３の駆動方向が重力方向に従ったであるとの判断に続き、フィードフォワード項FFx，FFyをゼロに設定し、ステップＳ316へ移行する。
【０１４４】
次に、作用を説明する。
実施例３のデジタルカメラの作用を、「重力に逆らった方向の振れ補正制御作用」と「重力に従った方向の振れ補正制御作用」に分けて説明する。
【０１４５】
［重力に逆らった方向の振れ補正制御作用］
図１９は、実施例３のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【０１４６】
ＣＣＤステージ２３の駆動方向が重力に逆らった方向の振れ補正時には、図１８のフローチャートにおいて、ステップＳ301→ステップＳ302→ステップＳ303→ステップＳ304→ステップＳ305→ステップＳ306→ステップＳ307→ステップＳ317→ステップＳ318→ステップＳ308へと進む流れとなる。
【０１４７】
そして、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第１の設定値Ａ１以下であるときは、図１８のフローチャートにおいて、ステップＳ308からステップＳ309→ステップＳ310→ステップＳ316→リターンへと進む流れが繰り返される。そして、図１９に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下である時間帯Δt1では、角速度信号ωｘ，ωｙを、c1倍（例えば、約1.5倍）するような加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０１４８】
一方、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第１の設定値Ａ１を超えているが第２の設定値Ａ２以下であるときは、図１８のフローチャートにおいて、ステップＳ308からステップＳ311→ステップＳ312→ステップＳ313→ステップＳ316→リターンへと進む流れが繰り返される。そして、図１９に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えて第２の設定値Ａ２以下である時間帯Δt2では、角速度信号ωｘ，ωｙを、c2倍（例えば、約0.3倍）するような加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０１４９】
また、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第２の設定値Ａ２を超えているときは、図１８のフローチャートにおいて、ステップＳ308からステップＳ311→ステップＳ314→ステップＳ315→ステップＳ316→リターンへと進む流れが繰り返される。そして、図１９に示すように、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超える時間帯Δt3では、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０１５０】
したがって、ＣＣＤステージ２３の駆動方向が重力に逆らった方向の振れ補正時には、摩擦の影響を適正に低減するという実施例１と同様の作用を示し、制御誤差を小さく抑えることができる。
【０１５１】
［重力に従った方向の振れ補正制御作用］
ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時には、図１８のフローチャートにおいて、ステップＳ301→ステップＳ302→ステップＳ303→ステップＳ304→ステップＳ305→ステップＳ306→ステップＳ307→ステップＳ317→ステップＳ318→ステップＳ319→ステップＳ316へと進む流れが繰り返される。
【０１５２】
そして、図１９に示すように、ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時間帯Δt4では、加算量が算出されず、フィードフォワード項FFx，FFyがゼロとされる。
【０１５３】
すなわち、実施例３では、フィードフォワード項FFx，FFyを加算する際にカメラ姿勢判定を行い、ＣＣＤステージ２３の駆動方向が重力に逆らった方向であるという条件を満たした時にのみ、フィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算する。カメラ姿勢判定の方法を説明する。水準器センサ３５は、カメラ姿勢を検出するので、デジタルカメラが縦置きされているのか、横置きされているのか、あるいは斜め置きされているのかを判別することができる。これにより、ＣＣＤステージ２３の駆動方向が重力方向に対し、順方向なのか逆方向なのかの判断が可能となる。
【０１５４】
そして、重力と摩擦などの影響で振れ補正手段の動きに抵抗が生じとときに、フィードバック制御だけでは目標位置と現在位置との差が大きくなるまで制御信号が大きくならず制御誤差が増してしまう。このため、重力の方向（水準器センサ３５より類推された方向）と摩擦の方向（速度と逆方向）とは逆方向に、摩擦力に打ち勝つような駆動力を与えられるように、速度を所定の係数倍した信号を制御信号に加算するのである。このとき乗ずる係数ｃは、重力方向とは逆でかつ、速度が小さく摩擦の影響が大きい時に大きく、速度が大きく摩擦の影響が小さい時に小さく設定するが、重力方向に沿った移動をする場合はフィードフォワード制御を行わない。こうすることにより、カメラの姿勢によって、速度が小さい時には効果的に重力と摩擦の影響を低減でき、速度が大きい時は過大なフィードフォワード項を加算してしまうのを防ぐことができる。
【０１５５】
したがって、実施例３では、水準器センサ３５でカメラ姿勢を検出し、駆動対象が静止状態から重力方向と反対方向に動き出す場合、速度が小さく静止摩擦の影響が大きいときには、重力と摩擦の影響を補正するために駆動信号に加算する値を大きくして、速度が大きく動摩擦に移行したあとで摩擦力の影響が小さい時には、摩擦の影響を補正するために駆動信号に加算する値を小さくすることにより、重力と摩擦力の影響を適正に低減して制御誤差を小さくすることができる。
【０１５６】
図２０は、実施例３のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。図２１は、重力方向と逆に振れ補正手段が移動する場合と重力方向に振れ補正手段が移動する場合の目標値・ホール素子出力・制御誤差の関係特性を示す図である。
【０１５７】
重力方向と逆に振れ補正手段が移動する場合には、図２１に示すように制御誤差が大きく出ているのに対し、重力方向に振れ補正手段が移動する場合には、図２１に示すように制御誤差が小さい。つまり、重力影響が振れ補正手段の動きに抵抗を生じさせる原因となっていることが分かると共に、重力方向に振れ補正手段が移動する場合に加算すると、過大な駆動力を生じさせることも分かる。これに対し、実施例３のデジタルカメラでは、図２０に示すように、重力方向に振れ補正手段が移動する場合にはフィードフォワード項FFx，FFyを加算していないため、コイル242で過大な駆動力を生じない。この結果、制御誤差がほとんどなく正確にＣＣＤ位置を目標位置に制御できている。フィードフォワード項FFx，FFyを算出するための係数ｃは、実施例１と同じである。
【０１５８】
次に、効果を説明する。
実施例３のデジタルカメラにあっては、実施例１の(1)〜(4)の効果に加え、下記の効果を得ることができる。
【０１５９】
(6) 前記装置本体の姿勢方向を検出する水準器センサ３５と、該水準器センサ３５にて検出される装置本体の姿勢方向に基づき、重力方向に逆らった方向に前記振れ補正手段（ＣＣＤステージ２３）を駆動させる姿勢であるか、重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるかを判定する姿勢判定器276と、を設け、前記振れ補正制御手段（制御ＩＣ261、図１８）は、前記装置本体が重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であると判定されたとき、フィードフォワード項FFx，FFyを算出し、前記装置本体が重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であると判定されたとき、フィードフォワード項FFx，FFyを算出しない。このため、重力方向に逆らった方向に振れ補正手段（ＣＣＤステージ２３）を駆動させるとき、摩擦の影響を取り除く補正をし、重力方向に従った方向に振れ補正手段を駆動させるとき、摩擦の影響を取り除く補正をしないことで、重力により振れ補正手段の駆動が促されるときに駆動指令値Ｄｘ，Ｄｙが過大になるのを確実に防ぐことができる。
【実施例４】
【０１６０】
実施例４は、振れ補正手段による振れ補正時、加速駆動条件と反重力方向駆動条件が共に成立するときにのみ駆動指令値に加算するようにした例である。
なお、実施例４のデジタルカメラにおいて、図１，２，３，５の各構成については、実施例１と同様であり、図１６の構成については、実施例３と同様であるので、図示、並びに、説明を省略する。
【０１６１】
図２２は、実施例４のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【０１６２】
前記制御ＩＣ261は、図２２に示すように、フィードバック制御系として、積分器265と、係数乗算器266と、差分器267と、位相補償器268と、フィードバックゲイン設定器269と、を備えている。
【０１６３】
前記制御ＩＣ261は、図２２に示すように、フィードフォワード制御系として、手振れ検出部３４からの角速度信号ωｘ，ωｙに応じた係数ｃ（c1＞c2＞０）と、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する可変係数設定器270を備えている。加えて、手振れ検出部３４からの角速度信号ωｘ，ωｙを微分処理する微分器272と、微分処理した角加速度信号αｘ，αｙから高周波ノイズを除去するローパスフィルタ273と、角速度信号ωｘ，ωｙの符号（正負）と角加速度信号αｘ，αｙの符号（正負）の極性を判定する極性判定器274（極性判定手段）と、角速度信号ωｘ，ωｙの符号と角加速度信号αｘ，αｙの符号が同符号の場合にONとし、異符号の場合にOFFとする切換器275と、を備えている。また、水準器センサ３５からのカメラ姿勢方向信号を入力し、カメラ姿勢方向と振れ補正手段であるＣＣＤステージ２３の駆動方向により、ＣＣＤステージ２３の駆動方向が重力方向に従ったものなのか逆らったものなのかを判定する姿勢判定器276（姿勢判定手段）と、ＣＣＤステージ２３の駆動方向が重力方向に逆らった方向の場合にONとし、ＣＣＤステージ２３の駆動方向が重力方向に従った方向の場合にOFFとする切換器277と、を備えている。そして、加算器271において、切換器275がONで、かつ、切換器277がONの時、フィードバックゲイン設定器269からのフィードバック項FBx，FByと、可変係数設定器270からのフィードフォワード項FFx，FFyを加算し、ＣＣＤアクチュエータ２４に出力する駆動指令値を生成する。また、切換器275と切換器277のうち、少なくとも一方がOFFの時、フィードフォワード項FFx，FFyを算出せず、フィードバックゲイン設定器269からのフィードバック項FBx，FByをそのままＣＣＤアクチュエータ２４に出力する駆動指令値として生成する。
【０１６４】
図２３は、実施例４のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートで、以下、各ステップについて説明する。
なお、このフローチャートにおいて、ステップＳ401〜ステップＳ416の各ステップは、図７に示すフローチャートのステップＳ101〜ステップＳ116の各ステップと同様の処理を行うステップであるため、説明を省略する。
【０１６５】
ステップＳ417では、ステップＳ407でのフィードバック項FBx，FByの算出に続き、微分器272において、手振れ検出部３４からの角速度信号ωｘ，ωｙを微分処理し、角加速度信号αｘ，αｙを算出し、ステップＳ418へ移行する。
【０１６６】
ステップＳ418では、ステップＳ417での角加速度信号αｘ，αｙの算出に続き、角速度信号ωｘと角加速度信号αｘが同符号であるか、また、角速度信号ωｙと角加速度信号αｙが同符号であるかを判断し、YESの場合はステップＳ419へ移行し、NOの場合はステップＳ421へ移行する。
【０１６７】
ステップＳ419では、ステップＳ418でのωｘとαｘ、または、ωｙとαｙが同符号であるとの判断に続き、水準器センサ３５から装置本体（カメラ本体）の姿勢方向信号を読み込み、ステップＳ420へ移行する。
【０１６８】
ステップＳ420では、ステップＳ419での姿勢方向信号の読み込みに続き、姿勢判定器276において、ＣＣＤステージ２３の駆動方向が重力方向に逆らった方向であるか否かを判断し、YES（重力方向に逆らった方向）の場合はステップＳ408へ移行し、NO（重力方向に従った方向）の場合はステップＳ421へ移行する。
【０１６９】
ステップＳ421では、ステップＳ418でのωｘとαｘが異符号である、あるいは、ωｙとαｙが異符号であるとの判断、あるいは、ステップＳ420でのＣＣＤステージ２３の駆動方向が重力方向に従った方向であるとの判断に続き、フィードフォワード項FFx，FFyをゼロに設定し、ステップＳ416へ移行する。
【０１７０】
次に、作用を説明する。
実施例４のデジタルカメラの作用を、「加速駆動と反重力方向駆動の条件成立時の振れ補正制御作用」と「加速駆動と反重力方向駆動の条件不成立時の振れ補正制御作用」に分けて説明する。
【０１７１】
［加速駆動と反重力方向駆動の条件成立時の振れ補正制御作用］
図２４は、実施例４のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【０１７２】
ＣＣＤステージ２３の加速動作による振れ補正時であって、かつ、ＣＣＤステージ２３の駆動方向が重力に逆らった方向の振れ補正時には、図２３のフローチャートにおいて、ステップＳ401→ステップＳ402→ステップＳ403→ステップＳ404→ステップＳ405→ステップＳ406→ステップＳ407→ステップＳ417→ステップＳ418→ステップＳ419→ステップＳ420→ステップＳ408へと進む流れとなる。
【０１７３】
そして、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第１の設定値Ａ１以下であるときは、図２３のフローチャートにおいて、ステップＳ408からステップＳ409→ステップＳ410→ステップＳ416→リターンへと進む流れが繰り返される。そして、図２４に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下である時間帯Δt1では、角速度信号ωｘ，ωｙを、c1倍（例えば、約1.5倍）するような加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０１７４】
一方、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第１の設定値Ａ１を超えているが第２の設定値Ａ２以下であるときは、図２３のフローチャートにおいて、ステップＳ408からステップＳ411→ステップＳ412→ステップＳ413→ステップＳ416→リターンへと進む流れが繰り返される。そして、図２４に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えて第２の設定値Ａ２以下である時間帯Δt2では、角速度信号ωｘ，ωｙを、c2倍（例えば、約0.3倍）するような加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０１７５】
また、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第２の設定値Ａ２を超えているときは、図２３のフローチャートにおいて、ステップＳ408からステップＳ411→ステップＳ414→ステップＳ415→ステップＳ416→リターンへと進む流れが繰り返される。そして、図２４に示すように、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超える時間帯Δt3では、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０１７６】
したがって、ＣＣＤステージ２３が加速動作であり、かつ、ＣＣＤステージ２３の駆動方向が重力に逆らった方向の振れ補正時には、摩擦の影響を適正に低減するという実施例１と同様の作用を示し、制御誤差を小さく抑えることができる。
【０１７７】
［加速駆動と反重力方向駆動の条件不成立時の振れ補正制御作用］
ＣＣＤステージ２３の減速動作による振れ補正時には、図２３のフローチャートにおいて、ステップＳ401→ステップＳ402→ステップＳ403→ステップＳ404→ステップＳ405→ステップＳ406→ステップＳ407→ステップＳ417→ステップＳ418→ステップＳ421→ステップＳ416へと進む流れが繰り返される。
【０１７８】
そして、図２４に示すように、角速度信号ωｘ，ωｙの符号（正）と角加速度信号αｘ，αｙの符号（負）が異なる時間帯Δt4では、加算量が算出されず、フィードフォワード項FFx，FFyがゼロとされる。
【０１７９】
また、ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時には、図２３のフローチャートにおいて、ステップＳ401→ステップＳ402→ステップＳ403→ステップＳ404→ステップＳ405→ステップＳ406→ステップＳ407→ステップＳ417→ステップＳ418→ステップＳ419→ステップＳ420→ステップＳ421→ステップＳ416へと進む流れが繰り返される。
【０１８０】
そして、図２４に示すように、ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時間帯Δt5では、加算量が算出されず、フィードフォワード項FFx，FFyがゼロとされる。
【０１８１】
すなわち、実施例４では、フィードフォワード項FFx，FFyを加算する際、極性判定により同符号であるという加速駆動条件を満たし、かつ、姿勢判定により重力に逆らった方向の駆動であるという条件を満たした時、フィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算する。
【０１８２】
したがって、実施例４では、実施例２と同様に、静止状態から動き出す（加速する）ときに、摩擦の影響を補正するために駆動指令値Ｄｘ，Ｄｙに加算し、動いている状態から停止する（減速する）ときには駆動指令値Ｄｘ，Ｄｙに加算しないようにすることにより、駆動指令値Ｄｘ，Ｄｙが過大になってしまうのを防ぎ、より適正に摩擦力の影響を低減して制御誤差を小さくすることができる。
【０１８３】
加えて、実施例４では、実施例３と同様に、水準器センサ３５でカメラ姿勢を検出し、駆動対象が静止状態から重力方向と反対方向に動き出す場合、速度が小さく静止摩擦の影響が大きいときには、重力と摩擦の影響を補正するために駆動信号に加算する値を大きくして、速度が大きく動摩擦に移行したあとで摩擦力の影響が小さい時には、摩擦の影響を補正するために駆動信号に加算する値を小さくすることにより、重力と摩擦力の影響を適正に低減して制御誤差を小さくすることができる。
【０１８４】
図２５は、実施例４のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【０１８５】
実施例４では、図２５に示すように、山と谷の手前となる減速時、並びに、重力方向に従って振れ補正手段が移動する時には、フィードフォワード項FFx，FFyを加算していないため、コイル242で過大な駆動力を生じない。この結果、制御誤差がほとんどなく正確にＣＣＤ位置を目標位置に制御できている。フィードフォワード項FFx，FFyを算出するための係数ｃは、実施例１と同じである。
【０１８６】
次に、効果を説明する。
実施例４のデジタルカメラにあっては、実施例１の(1)〜(4)の効果に加え、下記の効果を得ることができる。
【０１８７】
(7) 前記角速度センサ（ジャイロセンサ341を有する手振れ検出部３４）の出力（角速度信号ωｘ，ωｙ）の符号と前記角速度センサの出力微分値（角加速度信号αｘ，αｙ）の符号が同じか異なるかを判定する極性判定器274を設け、前記装置本体の姿勢方向を検出する水準器センサ３５と、該水準器センサ３５にて検出される装置本体の姿勢方向に基づき、重力方向に逆らった方向に前記振れ補正手段（ＣＣＤステージ２３）を駆動させる姿勢であるか、重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるかを判定する姿勢判定器276を設け、前記振れ補正制御手段（制御ＩＣ261、図２３）は、両符号が同じであると判定され、かつ、前記装置本体が重力方向に逆らった方向に振れ補正手段を駆動させる姿勢であると判定されたとき、フィードフォワード項FFx，FFyを算出し、極性判定条件と姿勢判定条件の少なくとも一方の条件が成立しないとき、フィードフォワード項FFx，FFyを算出しない。このため、振れ補正手段（ＣＣＤステージ２３）が加速状態であり、かつ、重力に逆らって振れ補正手段が駆動される補正要求が高い駆動モードに着目してフィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算することにより、重力と摩擦の影響を取り除く補正を行うことができると共に、それ以外の補正不必要時に駆動指令値Ｄｘ，Ｄｙが過大になるのを確実に防ぐことができる。
【実施例５】
【０１８８】
実施例５は、振れ補正手段による振れ補正時、反重力方向駆動条件と加速駆動条件が共に成立するとき、予め記憶されている個体差毎の係数を用いたフィードフォワード項を駆動指令値に加算するようにした例である。
なお、実施例５のデジタルカメラにおいて、図１，２，３，５の各構成については、実施例１と同様であり、図１６の構成については、実施例３と同様であるので、図示、並びに、説明を省略する。
【０１８９】
図２６は、実施例５のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【０１９０】
前記制御ＩＣ261は、図２６に示すように、フィードフォワード制御系として、姿勢判定器276（姿勢判定手段）と、極性判定器274（極性判定手段）と、可変係数設定器278を備えている。なお、姿勢判定器276と極性判定器274については、実施例４と同様の構成である。
【０１９１】
実施例５では、姿勢判定器276において、重力に逆らって振れ補正手段であるＣＣＤステージ２３が駆動されていると判定され、かつ、極性判定器274において、振れ補正手段であるＣＣＤステージ２３が加速状態であると判定されたとき、可変係数設定器278において、手振れ検出部３４からの角速度信号ωｘ，ωｙに、係数ｃを乗じることでフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する。なお、重力に従って振れ補正手段であるＣＣＤステージ２３が駆動されていると判定された場合には、フィードフォワード項FFx，FFyを算出しない。
【０１９２】
ここで、例えば、ＲＯＭ２７（書き換え可能なフラッシュＲＯＭ）には、手振れ検出部３４からの角速度信号ωｘ，ωｙに乗じる個体差毎の係数ｃ（c1M＞c2M＞０）が調整・記憶されている。そして、可変係数設定器278では、ＲＯＭ２７から係数記憶情報（c1M,c2M）を読み込み、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下であるとき、第１記憶係数値c1Mを用い、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えていて第２の設定値Ａ２以下であるとき、第２記憶係数値c2Mを用いる。なお、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超えている場合には、フィードフォワード項FFx，FFyを算出しない。
【０１９３】
図２７は、実施例５のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートで、以下、各ステップについて説明する。
なお、このフローチャートにおいて、ステップＳ501〜ステップＳ520の各ステップのうち、ステップＳ513、ステップＳ514、ステップＳ517、ステップＳ518を除く各ステップは、図２３に示すフローチャートの対応する各ステップと同様の処理を行うステップであるため、説明を省略する。
【０１９４】
ステップＳ513では、ステップＳ512での角速度信号ωｘと角加速度信号αｘが同符号である、または、角速度信号ωｙと角加速度信号αｙが同符号であるとの判断に続き、係数ｃとして、個体差毎に調整・記憶されている第１記憶係数値c1Mを設定し、ステップＳ514へ移行する。
【０１９５】
ステップＳ514では、ステップＳ513でのｃ＝c1Mの設定に続き、第１記憶係数値c1Mに、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ520へ移行する。
【０１９６】
ステップＳ517では、ステップＳ516での角速度信号ωｘと角加速度信号αｘが同符号である、または、角速度信号ωｙと角加速度信号αｙが同符号であるとの判断に続き、係数ｃとして、個体差毎に調整・記憶されている第２記憶係数値c2Mを設定し、ステップＳ518へ移行する。
【０１９７】
ステップＳ518では、ステップＳ517でのｃ＝c2Mの設定に続き、第２記憶係数値c2Mに、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ520へ移行する。
【０１９８】
次に、作用を説明する。
実施例５のデジタルカメラの作用を、「反重力方向駆動の条件成立時の振れ補正制御作用」と「反重力方向駆動の条件不成立時の振れ補正制御作用」に分けて説明する。
【０１９９】
［反重力方向駆動の条件成立時の振れ補正制御作用］
図２８は、実施例５のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【０２００】
ＣＣＤステージ２３の駆動方向が重力に逆らった方向の振れ補正時には、図２７のフローチャートにおいて、ステップＳ501→ステップＳ502→ステップＳ503→ステップＳ504→ステップＳ505→ステップＳ506→ステップＳ507→ステップＳ508→ステップＳ509→ステップＳ510へと進み、ステップＳ510からステップＳ511以降へと進む流れとなる。
【０２０１】
そして、手振れ検出部３４からの角速度信号ωｘ，ωｙが第１の設定値Ａ１以下であり、かつ、ＣＣＤステージ２３の加速動作による振れ補正条件成立時には、図２７のフローチャートにおいて、ステップＳ510からステップＳ511→ステップＳ512→ステップＳ513→ステップＳ514→ステップＳ520→リターンへと進む流れが繰り返される。そして、図２８に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下である時間帯Δt1では、角速度信号ωｘ，ωｙに、予め個体差毎に調整・記憶された第１記憶係数値c1Mを乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２０２】
一方、手振れ検出部３４からの角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えているが第２の設定値Ａ２以下であり、かつ、ＣＣＤステージ２３の加速動作による振れ補正条件成立時には、図２７のフローチャートにおいて、ステップＳ510からステップＳ511→ステップＳ515→ステップＳ516→ステップＳ517→ステップＳ518→ステップＳ520→リターンへと進む流れが繰り返される。そして、図２８に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えて第２の設定値Ａ２以下である時間帯Δt2では、角速度信号ωｘ，ωｙに、予め個体差毎に調整・記憶された第２記憶係数値c2Mを乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２０３】
また、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第２の設定値Ａ２を超えているときは、図２７のフローチャートにおいて、ステップＳ510からステップＳ511→ステップＳ515→ステップＳ519→ステップＳ520→リターンへと進む流れが繰り返される。そして、図２８に示すように、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超える時間帯Δt3では、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０２０４】
同様に、ＣＣＤステージ２３の加速動作による振れ補正条件の不成立時には、図２７のフローチャートにおいて、ステップＳ510からステップＳ511→ステップＳ512→ステップＳ519→ステップＳ520→リターンへと進む流れが繰り返される。または、ステップＳ510からステップＳ511→ステップＳ515→ステップＳ516→ステップＳ519→ステップＳ520→リターンへと進む流れが繰り返される。そして、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０２０５】
したがって、実施例４と同様に、重力に逆らって振れ補正手段であるＣＣＤステージ２３が駆動され、かつ、振れ補正手段であるＣＣＤステージ２３が加速状態である補正要求が高い駆動モードに着目して、フィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算することにより、重力と摩擦の影響を取り除く補正を行うことができると共に、それ以外の補正不必要時に駆動指令値Ｄｘ，Ｄｙが過大になるのを確実に防ぐことができる。
【０２０６】
加えて、ＣＣＤステージ２３を構成する手振れ機構部品の特性や摩擦係数にはバラツキがあるため、角速度信号ωｘ，ωｙに乗じる係数ｃは、カメラ個体差毎に調整する必要がある。これに対し、実施例５では、予め工程内で個々に調整を行い、かつ、特性値である第１記憶係数値c1Mと第２記憶係数値c2MをＲＯＭ２７に記憶することにより、ＣＣＤステージ２３を構成する手振れ機構部品の特性や摩擦係数の個体バラツキ影響が抑えられ、精度の良い手振れ補正制御を行うことができる。
【０２０７】
［反重力方向駆動の条件不成立時の振れ補正制御作用］
ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時には、図２７のフローチャートにおいて、ステップＳ510からステップＳ511→ステップＳ519→ステップＳ520→リターンへと進む流れが繰り返される。
【０２０８】
そして、図２８に示すように、ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時間帯Δt4および補正時間帯Δt5では、加算量が算出されず、フィードフォワード項FFx，FFyがゼロとされる。
【０２０９】
したがって、実施例５では、実施例３と同様に、水準器センサ３５でカメラ姿勢を検出し、駆動対象が静止状態から重力方向と反対方向に動き出す場合、速度が小さく静止摩擦の影響が大きいときには、重力と摩擦の影響を補正するために駆動信号に加算する値を大きくして、速度が大きく動摩擦に移行したあとで摩擦力の影響が小さい時には、摩擦の影響を補正するために駆動信号に加算する値を小さくすることにより、重力と摩擦力の影響を適正に低減して制御誤差を小さくすることができる。
【０２１０】
図２９は、実施例５のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【０２１１】
実施例５では、実施例４に比べ、ＣＣＤステージ２３を構成する手振れ機構部品の特性や摩擦係数の個体バラツキ影響が抑えられることになり、図２９に示すように、制御誤差がほとんどなく正確にＣＣＤ位置を目標位置とする精度の良い手振れ補正制御を行うことができる。
【０２１２】
次に、効果を説明する。
実施例５のデジタルカメラにあっては、実施例１の(1)〜(4)の効果と、実施例４の(7)の効果に加え、下記の効果を得ることができる。
【０２１３】
(8) 前記角速度センサ（ジャイロセンサ341を有する手振れ検出部３４）からの出力（角速度信号ωｘ，ωｙ）に乗ずる係数ｃを、前記装置本体（カメラ）の個体差毎に予め調整・記憶する係数記憶手段（ＲＯＭ２７）を設け、前記振れ補正制御手段（制御ＩＣ261、図２７）は、前記係数記憶手段の係数記憶値（c1M，c2M）を、前記角速度センサの出力に乗じてフィードフォワード制御指令値（フィードフォワード項FFx，FFy）を算出する。このため、振れ補正手段（ＣＣＤステージ２３）を構成する部品の特性や摩擦係数の個体バラツキ影響が抑えられることになり、精度の良い手振れ補正制御を行うことができる。
【実施例６】
【０２１４】
実施例６は、振れ補正手段による振れ補正時、反重力方向駆動条件が成立するとき、予め記憶されている個体差毎の係数を用いたフィードフォワード項を駆動指令値に加算するようにした例である。
なお、実施例６のデジタルカメラにおいて、図１，２，３，５の各構成については、実施例１と同様であり、図１６の構成については、実施例３と同様であるので、図示、並びに、説明を省略する。
【０２１５】
図３０は、実施例６のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【０２１６】
前記制御ＩＣ261は、図３０に示すように、フィードフォワード制御系として、姿勢判定器276（姿勢判定手段）と、可変係数設定器279を備えている。なお、姿勢判定器276については、実施例３と同様の構成である。
【０２１７】
実施例６では、姿勢判定器276において、重力に逆らって振れ補正手段であるＣＣＤステージ２３が駆動されていると判定されたとき、可変係数設定器279において、手振れ検出部３４からの角速度信号ωｘ，ωｙに、係数ｃを乗じることでフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する。なお、重力に従って振れ補正手段であるＣＣＤステージ２３が駆動されていると判定された場合には、フィードフォワード項FFx，FFyを算出しない。
【０２１８】
ここで、ＲＯＭ２７（係数記憶手段：書き換え可能なフラッシュＲＯＭ）には、手振れ検出部３４からの角速度信号ωｘ，ωｙに乗じる個体差毎の係数ｃ（c1M＞c2M＞０）が調整・記憶されている。そして、可変係数設定器279では、ＲＯＭ２７から係数記憶情報（c1M,c2M）を読み込み、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下であるとき、第１記憶係数値c1Mを用い、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えていて第２の設定値Ａ２以下であるとき、第２記憶係数値c2Mを用いる。なお、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超えている場合には、フィードフォワード項FFx，FFyを算出しない。
【０２１９】
図３１は、実施例６のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートで、以下、各ステップについて説明する。
なお、このフローチャートにおいて、ステップＳ601〜ステップＳ619の各ステップのうち、ステップＳ611、ステップＳ612、ステップＳ614、ステップＳ615を除く各ステップは、図１８に示すフローチャートの対応する各ステップと同様の処理を行うステップであるため、説明を省略する。
【０２２０】
ステップＳ611では、ステップＳ610でのωｘ≦Ａ１，ωｙ≦Ａ１であるとの判断に続き、係数ｃとして、個体差毎に調整・記憶されている第１記憶係数値c1Mを設定し、ステップＳ612へ移行する。
【０２２１】
ステップＳ612では、ステップＳ611でのｃ＝c1Mの設定に続き、第１記憶係数値c1Mに、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ619へ移行する。
【０２２２】
ステップＳ614では、ステップＳ613でのωｘ≦Ａ２，ωｙ≦Ａ２であるとの判断に続き、係数ｃとして、個体差毎に調整・記憶されている第２記憶係数値c2Mを設定し、ステップＳ615へ移行する。
【０２２３】
ステップＳ615では、ステップＳ614でのｃ＝c2Mの設定に続き、第２記憶係数値c2Mに、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ619へ移行する。
【０２２４】
次に、作用を説明する。
実施例６のデジタルカメラの作用を、「反重力方向駆動の条件成立時の振れ補正制御作用」と「反重力方向駆動の条件不成立時の振れ補正制御作用」に分けて説明する。
【０２２５】
［反重力方向駆動の条件成立時の振れ補正制御作用］
図３２は、実施例６のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【０２２６】
ＣＣＤステージ２３の駆動方向が重力に逆らった方向の振れ補正時には、図３１のフローチャートにおいて、ステップＳ601→ステップＳ602→ステップＳ603→ステップＳ604→ステップＳ605→ステップＳ606→ステップＳ607→ステップＳ608→ステップＳ609へと進み、ステップＳ609からステップＳ610以降へと進む流れとなる。
【０２２７】
そして、手振れ検出部３４からの角速度信号ωｘ，ωｙが第１の設定値Ａ１以下であるときには、図３１のフローチャートにおいて、ステップＳ609からステップＳ610→ステップＳ611→ステップＳ612→ステップＳ619→リターンへと進む流れが繰り返される。そして、図３２に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下である時間帯Δt1では、角速度信号ωｘ，ωｙに、予め個体差毎に調整・記憶された第１記憶係数値c1Mを乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２２８】
一方、手振れ検出部３４からの角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えているが第２の設定値Ａ２以下であるときには、図３１のフローチャートにおいて、ステップＳ609からステップＳ610→ステップＳ613→ステップＳ614→ステップＳ615→ステップＳ619→リターンへと進む流れが繰り返される。そして、図３２に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えて第２の設定値Ａ２以下である時間帯Δt2では、角速度信号ωｘ，ωｙに、予め個体差毎に調整・記憶された第２記憶係数値c2Mを乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２２９】
また、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第２の設定値Ａ２を超えているときは、図３１のフローチャートにおいて、ステップＳ609からステップＳ610→ステップＳ613→ステップＳ616→ステップＳ617→ステップＳ619→リターンへと進む流れが繰り返される。そして、図３２に示すように、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超える時間帯Δt3では、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０２３０】
したがって、実施例３と同様に、重力に逆らって振れ補正手段であるＣＣＤステージ２３が駆動される補正要求が高い駆動モードに着目してフィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算することにより、重力影響を取り除く補正を行うことができると共に、重力により振れ補正手段であるＣＣＤステージ２３の駆動が促されるときに駆動指令値Ｄｘ，Ｄｙが過大になるのを確実に防ぐことができる。
【０２３１】
加えて、ＣＣＤステージ２３を構成する手振れ機構部品の特性や摩擦係数にはバラツキがあるため、角速度信号ωｘ，ωｙに乗じる係数ｃは、カメラ個体差毎に調整する必要がある。これに対し、実施例６では、実施例５と同様に、予め工程内で個々に調整を行い、かつ、特性値である第１記憶係数値c1Mと第２記憶係数値c2MをＲＯＭ２７に記憶することにより、ＣＣＤステージ２３を構成する手振れ機構部品の特性や摩擦係数の個体バラツキ影響が抑えられ、精度の良い手振れ補正制御を行うことができる。
【０２３２】
［反重力方向駆動の条件不成立時の振れ補正制御作用］
ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時には、図３１のフローチャートにおいて、ステップＳ609からステップＳ618→ステップＳ619→リターンへと進む流れが繰り返される。
【０２３３】
そして、図２８に示すように、ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時間帯Δt4では、加算量が算出されず、フィードフォワード項FFx，FFyがゼロとされる。
【０２３４】
したがって、実施例６では、実施例３と同様に、水準器センサ３５でカメラ姿勢を検出し、駆動対象が静止状態から重力方向と反対方向に動き出す場合、速度が小さく静止摩擦の影響が大きいときには、重力と摩擦の影響を補正するために駆動信号に加算する値を大きくして、速度が大きく動摩擦に移行したあとで摩擦力の影響が小さい時には、摩擦の影響を補正するために駆動信号に加算する値を小さくすることにより、重力と摩擦力の影響を適正に低減して制御誤差を小さくすることができる。
【０２３５】
図３３は、実施例６のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【０２３６】
実施例６では、実施例３に比べ、ＣＣＤステージ２３を構成する手振れ機構部品の特性や摩擦係数の個体バラツキ影響が抑えられることになり、図３３に示すように、制御誤差がほとんどなく正確にＣＣＤ位置を目標位置とする精度の良い手振れ補正制御を行うことができる。
【０２３７】
次に、効果を説明する。
実施例６のデジタルカメラにあっては、実施例１の(1)〜(4)の効果と、実施例３の(6)の効果に加え、実施例５の(8)の効果を得ることができる。
すなわち、前記角速度センサ（ジャイロセンサ341を有する手振れ検出部３４）からの出力（角速度信号ωｘ，ωｙ）に乗ずる係数ｃを、前記装置本体の個体差毎に予め調整・記憶する係数記憶手段（ＲＯＭ２７）を設け、前記振れ補正制御手段（制御ＩＣ261、図３１）は、前記係数記憶手段の係数記憶値（c1M，c2M）を、前記角速度センサの出力に乗じてフィードフォワード制御指令値（フィードフォワード項FFx，FFy）を算出する。このため、振れ補正手段（ＣＣＤステージ２３）を構成する部品の特性や摩擦係数の個体バラツキ影響が抑えられることになり、精度の良い手振れ補正制御を行うことができる。
【実施例７】
【０２３８】
実施例７は、振れ補正手段による振れ補正時、反重力方向駆動条件の成立・不成立にかかわらず、それぞれフィードフォワード項を算出し、駆動指令値に加算するようにした例である。
なお、実施例７のデジタルカメラにおいて、図１，２，３，５の各構成については、実施例１と同様であり、図１６の構成については、実施例３と同様であるので、図示、並びに、説明を省略する。
【０２３９】
図３４は、実施例７のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【０２４０】
前記制御ＩＣ261は、図３４に示すように、フィードフォワード制御系として、姿勢判定器276（姿勢判定手段）と、切換器277と、第１可変係数設定器280と、第２可変係数設定器281と、を備えている。なお、姿勢判定器276については、実施例３と同様の構成である。
【０２４１】
前記切換器277は、姿勢判定器276にて重力に逆らって振れ補正手段であるＣＣＤステージ２３が駆動されていると判定されると第１可変係数設定器280を選択し、姿勢判定器276にて重力に従って振れ補正手段であるＣＣＤステージ２３が駆動されていると判定されると第２可変係数設定器281を選択する。
【０２４２】
前記第１可変係数設定器280には、手振れ検出部３４からの角速度信号ωｘ，ωｙに乗じる第１の係数ｃ1と第２の係数c2（c1＞c2＞０）が予め設定されている。そして、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が、第１の設定値Ａ１以下であるときには、角速度信号ωｘ，ωｙに第１の係数c1を乗じることでフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する。また、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が、第１の設定値Ａ１を超えていて第２の設定値Ａ２以下であるときには、角速度信号ωｘ，ωｙに第２の係数c2を乗じることでフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する。
【０２４３】
前記第２可変係数設定器281には、手振れ検出部３４からの角速度信号ωｘ，ωｙに乗じる第３の係数ｃ3と第４の係数c4（c3＞c4＞０）が予め設定されている。そして、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が、第１の設定値Ａ１以下であるときには、角速度信号ωｘ，ωｙに第３の係数c3を乗じることでフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する。また、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が、第１の設定値Ａ１を超えていて第２の設定値Ａ２以下であるときには、角速度信号ωｘ，ωｙに第４の係数c4を乗じることでフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する。
【０２４４】
図３５は、実施例７のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートで、以下、各ステップについて説明する。
なお、このフローチャートにおいて、ステップＳ701〜ステップＳ726の各ステップのうち、ステップＳ718〜ステップＳ725を除く各ステップは、図１８に示すフローチャートの対応する各ステップと同様の処理を行うステップであるため、説明を省略する。
【０２４５】
ステップＳ718では、ステップＳ709での重力に従った方向への振れ補正であるとの判断に続き、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が、第１の設定値Ａ１以下であるか否かを判断し、YESの場合はステップＳ719へ移行し、NOの場合はステップＳ721へ移行する。
【０２４６】
ステップＳ719では、ステップＳ718での|ωｘ|≦Ａ１，|ωｙ|≦Ａ１であるとの判断に続き、係数ｃとして第３の係数c3を設定し、ステップＳ720へ移行する。
【０２４７】
ステップＳ720では、ステップＳ719でのｃ＝c3の設定に続き、第３の係数c3に、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ726へ移行する。
【０２４８】
ステップＳ721では、ステップＳ718での|ωｘ|≦Ａ１，|ωｙ|≦Ａ１ではないとの判断に続き、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が、第２の設定値Ａ２以下であるか否かを判断し、YESの場合はステップＳ722へ移行し、NOの場合はステップＳ724へ移行する。
【０２４９】
ステップＳ722では、ステップＳ721での|ωｘ|≦Ａ２，|ωｙ|≦Ａ２であるとの判断に続き、係数ｃとして第４の係数c4を設定し、ステップＳ723へ移行する。
【０２５０】
ステップＳ723では、ステップＳ722でのｃ＝c4の設定に続き、第４の係数c4に、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ726へ移行する。
【０２５１】
ステップＳ724では、ステップＳ721での|ωｘ|≦Ａ２，|ωｙ|≦Ａ２ではないとの判断に続き、係数ｃとしてｃ＝０を設定し、ステップＳ725へ移行する。
【０２５２】
ステップＳ725では、ステップＳ724でのｃ＝０の設定に続き、手振れ検出部３４からの角速度信号ωｘ，ωｙに０を乗じることでフィードフォワード項FFx（＝０），FFy（＝０）を算出し、ステップＳ726へ移行する。
【０２５３】
次に、作用を説明する。
実施例７のデジタルカメラの作用を、「反重力方向駆動の条件成立時の振れ補正制御作用」と「反重力方向駆動の条件不成立時の振れ補正制御作用」に分けて説明する。
【０２５４】
［反重力方向駆動の条件成立時の振れ補正制御作用］
図３６は、実施例７のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【０２５５】
ＣＣＤステージ２３の駆動方向が重力に逆らった方向の振れ補正時、あるいは、ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時には、図３５のフローチャートにおいて、ステップＳ701→ステップＳ702→ステップＳ703→ステップＳ704→ステップＳ705→ステップＳ706→ステップＳ707→ステップＳ708→ステップＳ709へと進み、ステップＳ709からステップＳ710以降へと進む流れとなる。
【０２５６】
そして、手振れ検出部３４からの角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が第１の設定値Ａ１以下であるときには、図３５のフローチャートにおいて、ステップＳ709からステップＳ710→ステップＳ711→ステップＳ712→ステップＳ726→リターンへと進む流れが繰り返される。そして、図３６に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下である時間帯Δt1では、角速度信号ωｘ，ωｙに、第１の係数c1を乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２５７】
一方、手振れ検出部３４からの角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が第１の設定値Ａ１を超えているが第２の設定値Ａ２以下であるときには、図３５のフローチャートにおいて、ステップＳ709からステップＳ710→ステップＳ713→ステップＳ714→ステップＳ715→ステップＳ726→リターンへと進む流れが繰り返される。そして、図３６に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えて第２の設定値Ａ２以下である時間帯Δt2では、角速度信号ωｘ，ωｙに、第２の係数c2を乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２５８】
また、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第２の設定値Ａ２を超えているときは、図３５のフローチャートにおいて、ステップＳ709からステップＳ710→ステップＳ713→ステップＳ716→ステップＳ717→ステップＳ726→リターンへと進む流れが繰り返される。そして、図３６に示すように、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超える時間帯Δt3では、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０２５９】
したがって、実施例３と同様に、重力に逆らって振れ補正手段であるＣＣＤステージ２３が駆動されることで、重力と摩擦の影響を補正する必要がある時にフィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算することにより、重力と摩擦の影響を取り除く補正を行うことができると共に、重力により振れ補正手段であるＣＣＤステージ２３の駆動が促されるときに駆動指令値Ｄｘ，Ｄｙが過大になるのを確実に防ぐことができる。
【０２６０】
加えて、摩擦は、速度ゼロの時に静止摩擦となるため最も摩擦力の影響が大きく、速度が大きいときには動摩擦に移行しているので、摩擦力の影響は少ない。そのため、角速度信号ωｘ，ωｙの大きさを３段階に分け、角速度信号ωｘ，ωｙに乗じる係数ｃを、c1＞c2＞０に分けることで、摩擦力の影響度合いに応じた適正なフィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算することができる。
【０２６１】
［反重力方向駆動の条件不成立時の振れ補正制御作用］
ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時であって、手振れ検出部３４からの角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が第１の設定値Ａ１以下であるときには、図３５のフローチャートにおいて、ステップＳ709からステップＳ718→ステップＳ719→ステップＳ720→ステップＳ726→リターンへと進む流れが繰り返される。そして、図３６に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１以下である時間帯Δt4では、角速度信号ωｘ，ωｙに、第３の係数c3を乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２６２】
一方、手振れ検出部３４からの角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が第１の設定値Ａ１を超えているが第２の設定値Ａ２以下であるときには、図３５のフローチャートにおいて、ステップＳ709からステップＳ718→ステップＳ721→ステップＳ722→ステップＳ723→ステップＳ726→リターンへと進む流れが繰り返される。そして、図３６に示すように、角速度信号ωｘ，ωｙが第１の設定値Ａ１を超えて第２の設定値Ａ２以下である時間帯Δt5では、角速度信号ωｘ，ωｙに、第４の係数c4を乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２６３】
また、手振れ検出部３４からの角速度信号ωｘ，ωｙが、第２の設定値Ａ２を超えているときは、図３５のフローチャートにおいて、ステップＳ709からステップＳ718→ステップＳ721→ステップＳ724→ステップＳ725→ステップＳ726→リターンへと進む流れが繰り返される。そして、図３６に示すように、角速度信号ωｘ，ωｙが第２の設定値Ａ２を超える時間帯Δt6では、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０２６４】
したがって、実施例７では、水準器センサ３５でカメラ姿勢を検出し、駆動対象が静止状態から重力方向と同方向に動き出す場合、速度が小さく静止摩擦の影響が大きいときには、重力と摩擦の影響を補正するために駆動信号に加算する値を若干大きくして、速度が大きく動摩擦に移行したあとで摩擦力の影響が小さい時には、摩擦の影響を補正するために駆動信号に加算する値を十分小さくすることにより、重力と摩擦力の影響を適正に低減して制御誤差を小さくすることができる。
【０２６５】
図３７は、実施例７のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【０２６６】
実施例７では、ＣＣＤステージ２３の駆動方向が重力に逆らった方向であるときだけではなく、ＣＣＤステージ２３の駆動方向が重力に従った方向であるときにも、摩擦力の影響を抑える振れ補正を行うようにしているため、図３７に示すように、制御誤差がほとんどなく正確にＣＣＤ位置を目標位置とする精度の良い手振れ補正制御を行うことができる。
【０２６７】
次に、効果を説明する。
実施例７のデジタルカメラにあっては、実施例１の(1)〜(4)の効果に加え、下記の効果を得ることができる。
【０２６８】
(9) 前記装置本体の姿勢方向を検出する水準器センサ３５と、前記水準器センサ３５にて検出される装置本体の姿勢方向に基づき、重力方向に逆らった方向に前記振れ補正手段（ＣＣＤステージ２３）を駆動させる姿勢であるか、重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるかを判定する姿勢判定手段（姿勢判定器276）と、を設け、前記振れ補正制御手段（制御ＩＣ261、図３５）は、前記装置本体が重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であると判定時に（ステップ709でYES）、第１のフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出し（ステップＳ712,715,717）、前記装置本体が重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であると判定時に（ステップ709でNO）、前記第１のフィードフォワード項FFx，FFy（フィードフォワード制御指令値）とは異なる第２のフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する（ステップＳ720,722,724）。このため、摩擦力の影響が、重力方向に逆らった方向に駆動するときと重力方向に従った駆動するときとで異なるのに対応し、精度の良い手振れ補正制御を行うことができる。
【０２６９】
(10) 前記振れ補正制御手段（制御ＩＣ261、図３５）は、前記装置本体が重力方向に逆らった方向に前記振れ補正手段（ＣＣＤステージ２３）を駆動させる姿勢であるとの判定時（ステップ709でYES）、前記角速度センサ（手振れ検出部３４）の出力（ωｘ，ωｙ）の大きさの絶対値（|ωｘ|，|ωｙ|）が第１の設定値Ａ１以下のとき（ステップＳ710でYES）、第１の係数c1を前記角速度センサの出力（ωｘ，ωｙ）に乗じてフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出し（ステップＳ712）、前記角速度センサの出力（ωｘ，ωｙ）の大きさの絶対値（|ωｘ|，|ωｙ|）が第１の設定値Ａ１を超えるとき、第１の係数c1より小さい第２の係数c2を前記角速度センサ（ωｘ，ωｙ）の出力に乗じてフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出し（ステップＳ715）、前記装置本体が重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるとの判定時（ステップ709でNO）、前記角速度センサの出力（ωｘ，ωｙ）の大きさの絶対値（|ωｘ|，|ωｙ|）が第１の設定値Ａ１以下のとき、第３の係数c3を前記角速度センサの出力（ωｘ，ωｙ）に乗じてフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出し（ステップＳ720）、前記角速度センサの出力の大きさの絶対値（|ωｘ|，|ωｙ|）が第１の設定値Ａ１を超えるとき、第３の係数c3より小さい第４の係数c4を前記角速度センサの出力（ωｘ，ωｙ）に乗じてフィードフォワード項FFx，FFy（フィードフォワード制御指令値）を算出する（ステップＳ723）。このため、摩擦力の影響が、重力方向の駆動か反重力方向の駆動かで異なることに対応すると共に、角速度が小さいか大きいかにより異なることに対応し、精度の良い手振れ補正制御を行うことができる。
【実施例８】
【０２７０】
実施例８は、振れ補正手段による振れ補正時、反重力方向駆動条件の成立・不成立にかかわらず、演算により求めた係数を用いてそれぞれフィードフォワード項を算出し、駆動指令値に加算するようにした例である。
なお、実施例８のデジタルカメラにおいて、図１，２，３，５の各構成については、実施例１と同様であり、図１６の構成については、実施例３と同様であるので、図示、並びに、説明を省略する。
【０２７１】
図３８は、実施例８のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【０２７２】
前記制御ＩＣ261は、図３８に示すように、フィードフォワード制御系として、極性判定器274（極性判定手段）と、切換器275,275'と、姿勢判定器276（姿勢判定手段）と、切換器277と、第１の係数演算器282と、第２の係数演算器283と、第３の係数演算器284と、第４の係数演算器285と、を備えている。なお、極性判定器274については、実施例２と同様の構成である。姿勢判定器276については、実施例３と同様の構成である。
【０２７３】
前記切換器277は、姿勢判定器276にて重力に逆らって振れ補正手段であるＣＣＤステージ２３が駆動されていると判定されると第１，第２の係数演算器282，283を選択し、姿勢判定器276にて重力に従って振れ補正手段であるＣＣＤステージ２３が駆動されていると判定されると第３，第４の係数演算器284，285を選択する。
【０２７４】
前記切換器275は、極性判定器274にて符号が同じであると判定されると第１の係数演算器282を選択し、極性判定器274にて符号が異なると判定されると第２の係数演算器283を選択する。
【０２７５】
前記切換器275'は、極性判定器274にて符号が同じであると判定されると第３の係数演算器284を選択し、極性判定器274にて符号が異なると判定されると第４の係数演算器285を選択する。
【０２７６】
前記第１の係数演算器282、第２の係数演算器283、第３の係数演算器284、第４の係数演算器285は、第１の係数c1と第２の係数c2と第３の係数c3と第４の係数c4を、振れ補正時におけるカメラの姿勢角度と姿勢方向に基づき算出する。
【０２７７】
図３９は、実施例８のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートで、以下、各ステップについて説明する。
なお、このフローチャートにおいて、ステップＳ801〜ステップＳ827の各ステップのうち、ステップＳ811〜ステップＳ816、および、ステップＳ819〜ステップＳ824を除く各ステップは、図２３に示すフローチャートの対応する各ステップと同様の処理を行うステップであるため、説明を省略する。
【０２７８】
ステップＳ811では、ステップＳ810での重力に逆らった方向への振れ補正であるとの判断に続き、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が、設定値Ａ以下であるか否かを判断し、YESの場合はステップＳ812へ移行し、NOの場合はステップＳ817へ移行する。
【０２７９】
ステップＳ812では、ステップＳ811での|ωｘ|≦Ａ，|ωｙ|≦Ａであるとの判断に続き、ωｘとαｘが同符号、ωｙとαｙが同符号であるか否かという極性判定を行い、YESの場合はステップＳ813へ移行し、NOの場合はステップＳ815へ移行する。
【０２８０】
ステップＳ813では、ステップＳ812でのωｘとαｘが同符号、ωｙとαｙが同符号であるとの判断に続き、振れ補正時におけるカメラの姿勢角度と姿勢方向に基づき第１の係数c1を演算し、ステップＳ814へ移行する。
【０２８１】
ステップＳ814では、ステップＳ813での第１の係数c1の演算に続き、第１の係数c1に、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ827へ移行する。
【０２８２】
ステップＳ815では、ステップＳ812でのωｘとαｘが異符号、ωｙとαｙが異符号であるとの判断に続き、振れ補正時におけるカメラの姿勢角度と姿勢方向に基づき第２の係数c2（＜c1）を演算し、ステップＳ816へ移行する。
【０２８３】
ステップＳ816では、ステップＳ815での第２の係数c2の演算に続き、第２の係数c2に、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ827へ移行する。
【０２８４】
ステップＳ819では、ステップＳ810での重力に従った方向への振れ補正であるとの判断に続き、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が、設定値Ａ以下であるか否かを判断し、YESの場合はステップＳ820へ移行し、NOの場合はステップＳ825へ移行する。
【０２８５】
ステップＳ820では、ステップＳ819での|ωｘ|≦Ａ，|ωｙ|≦Ａであるとの判断に続き、ωｘとαｘが同符号、ωｙとαｙが同符号であるか否かという極性判定を行い、YESの場合はステップＳ821へ移行し、NOの場合はステップＳ823へ移行する。
【０２８６】
ステップＳ821では、ステップＳ820でのωｘとαｘが同符号、ωｙとαｙが同符号であるとの判断に続き、振れ補正時におけるカメラの姿勢角度と姿勢方向に基づき第３の係数c3を演算し、ステップＳ822へ移行する。
【０２８７】
ステップＳ822では、ステップＳ821での第３の係数c3の演算に続き、第３の係数c3に、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ827へ移行する。
【０２８８】
ステップＳ823では、ステップＳ820でのωｘとαｘが異符号、ωｙとαｙが異符号であるとの判断に続き、振れ補正時におけるカメラの姿勢角度と姿勢方向に基づき第４の係数c4（＜c3）を演算し、ステップＳ824へ移行する。
【０２８９】
ステップＳ824では、ステップＳ823での第４の係数c4の演算に続き、第４の係数c4に、手振れ検出部３４からの角速度信号ωｘ，ωｙを乗じることでフィードフォワード項FFx，FFyを算出し、ステップＳ827へ移行する。
【０２９０】
次に、作用を説明する。
実施例７のデジタルカメラの作用を、「反重力方向駆動の条件成立時の振れ補正制御作用」と「反重力方向駆動の条件不成立時の振れ補正制御作用」に分けて説明する。
【０２９１】
［反重力方向駆動の条件成立時の振れ補正制御作用］
図４０は、実施例８のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【０２９２】
ＣＣＤステージ２３の駆動方向が重力に逆らった方向の振れ補正時、あるいは、ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時には、図３９のフローチャートにおいて、ステップＳ801→ステップＳ802→ステップＳ803→ステップＳ804→ステップＳ805→ステップＳ806→ステップＳ807→ステップＳ808→ステップＳ809→ステップＳ810へと進み、ステップＳ810からステップＳ811以降へと進む流れとなる。
【０２９３】
そして、手振れ検出部３４からの角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が設定値Ａ以下であり、かつ、同符号であると極性判定されたときには、図３９のフローチャートにおいて、ステップＳ810からステップＳ811→ステップＳ812→ステップＳ813→ステップＳ814→ステップＳ827→リターンへと進む流れが繰り返される。そして、図４０に示すように、角速度信号の絶対値|ωｘ|，|ωｙ|が設定値Ａ以下であり、同符号であるとの極性判定される時間帯Δt1では、角速度信号ωｘ，ωｙに、演算による第１の係数c1を乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２９４】
一方、手振れ検出部３４からの角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が設定値Ａ以下であり、かつ、異符号であると極性判定されたときには、図３９のフローチャートにおいて、ステップＳ810からステップＳ811→ステップＳ812→ステップＳ815→ステップＳ816→ステップＳ827→リターンへと進む流れが繰り返される。そして、図４０に示すように、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が設定値Ａ以下であり、異符号であるとの極性判定される時間帯Δt2では、角速度信号ωｘ，ωｙに、演算による第２の係数c2を乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２９５】
また、手振れ検出部３４からの角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が、設定値Ａを超えているときは、図３９のフローチャートにおいて、ステップＳ810からステップＳ811→ステップＳ817→ステップＳ818→ステップＳ827→リターンへと進む流れが繰り返される。そして、図４０に示すように、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が設定値Ａを超える時間帯では、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０２９６】
したがって、実施例３と同様に、重力に逆らって振れ補正手段であるＣＣＤステージ２３が駆動されることで、重力と摩擦の影響を補正する必要がある時にフィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算することにより、重力と摩擦の影響を取り除く補正を行うことができると共に、重力により振れ補正手段であるＣＣＤステージ２３の駆動が促されるときに駆動指令値Ｄｘ，Ｄｙが過大になるのを確実に防ぐことができる。
【０２９７】
加えて、極性が同符号になり静止状態から動き出すときと、極性が異符号になり動いている状態から停止するときでは、静止状態から動き出す（加速）ときの方が摩擦力の影響が大きく、動いている状態から停止する（減速）ときの方が摩擦力の影響は少ない。そのため、極性判定を加え、角速度信号ωｘ，ωｙに乗じる係数ｃを、c1＞c2＞０に分けることで、摩擦力の影響度合いに応じた適正なフィードフォワード項FFx，FFyを駆動指令値Ｄｘ，Ｄｙに加算することができる。
【０２９８】
［反重力方向駆動の条件不成立時の振れ補正制御作用］
ＣＣＤステージ２３の駆動方向が重力に従った方向の振れ補正時であって、手振れ検出部３４からの角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が設定値Ａ以下であり、かつ、同符号であると極性判定されたときには、図３９のフローチャートにおいて、ステップＳ810からステップＳ819→ステップＳ820→ステップＳ821→ステップＳ822→リターンへと進む流れが繰り返される。そして、図４０に示すように、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が設定値Ａ以下であり、同符号であると極性判定される時間帯Δt4では、角速度信号ωｘ，ωｙに、演算による第３の係数c3を乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０２９９】
一方、手振れ検出部３４からの角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が設定値Ａ以下であり、かつ、異符号であると極性判定されたときには、図３９のフローチャートにおいて、ステップＳ810からステップＳ819→ステップＳ820→ステップＳ823→ステップＳ824→ステップＳ827→リターンへと進む流れが繰り返される。そして、図４０に示すように、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が設定値Ａ以下であり、異符号であるとの極性判定される時間帯Δt5では、角速度信号ωｘ，ωｙに、演算による第４の係数c4を乗じた加算量（＝フィードフォワード項FFx，FFy）が与えられる。
【０３００】
また、手振れ検出部３４からの角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が、設定値Ａを超えているときは、図３９のフローチャートにおいて、ステップＳ810からステップＳ819→ステップＳ825→ステップＳ826→ステップＳ827→リターンへと進む流れが繰り返される。そして、図４０に示すように、角速度信号ωｘ，ωｙの絶対値|ωｘ|，|ωｙ|が設定値Ａを超える時間帯では、加算量（＝フィードフォワード項FFx，FFy）がゼロとされる。
【０３０１】
したがって、実施例８では、水準器センサ３５でカメラ姿勢を検出し、駆動対象が静止状態から重力方向と同方向に動き出す場合、速度が小さく静止摩擦の影響が大きいときには、重力と摩擦の影響を補正するために駆動信号に加算する値を若干大きくして、速度が大きく動摩擦に移行したあとで摩擦力の影響が小さい時には、摩擦の影響を補正するために駆動信号に加算する値を十分小さくすることにより、重力と摩擦力の影響を適正に低減して制御誤差を小さくすることができる。
【０３０２】
図４１は、実施例８のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【０３０３】
実施例８では、ＣＣＤステージ２３の駆動方向が重力に逆らった方向であるときだけではなく、ＣＣＤステージ２３の駆動方向が重力に従った方向であるときにも、摩擦力の影響を抑える振れ補正を行うようにし、かつ、極性が同符号であるか異符号であるかという摩擦力影響も考慮しているため、図４１に示すように、制御誤差がほとんどなく正確にＣＣＤ位置を目標位置とする精度の良い手振れ補正制御を行うことができる。
【０３０４】
次に、効果を説明する。
実施例８のデジタルカメラにあっては、実施例１の(1)〜(4)の効果に加え、下記の効果を得ることができる。
【０３０５】
(11) 前記装置本体の姿勢方向を検出する水準器センサ３５と、前記水準器センサ３５にて検出される装置本体の姿勢方向に基づき、重力方向に逆らった方向に前記振れ補正手段（ＣＣＤステージ２３）を駆動させる姿勢であるか、重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であるかを判定する姿勢判定手段（姿勢判定器276）と、前記角速度センサ（手振れ検出部３４）の出力の符号（ωｘ，ωｙ）と前記角速度センサの出力微分値（αｘ，αｙ）の符号が同じか異なるかを判定する極性判定手段（極性判定器274）と、を設ける。前記振れ補正制御手段（制御ＩＣ261、図３９）は、前記装置本体が重力方向に逆らった方向に前記振れ補正手段を駆動させる姿勢であるとの判定時、前記角速度センサの出力（ωｘ，ωｙ）の大きさの絶対値（|ωｘ|，|ωｙ|）が設定値Ａ以下で、前記極性判定手段により両符号が同じと判定されたとき、第１の係数c1を前記角速度センサの出力（ωｘ，ωｙ）に乗じてフィードフォワード項FFx,FFy（フィードフォワード制御指令値）を算出し、前記角速度センサの出力（ωｘ，ωｙ）の大きさの絶対値（|ωｘ|，|ωｙ|）が設定値Ａ以下で、前記極性判定手段により両符号が異なると判定されたとき、前記第１の係数c1より小さい第２の係数c2を前記角速度センサの出力（ωｘ，ωｙ）に乗じてフィードフォワード項FFx,FFy（フィードフォワード制御指令値）を算出する。そして、前記装置本体が重力方向に従った方向に前記振れ補正手段を駆動させる姿勢であると判定時、前記角速度センサの出力（ωｘ，ωｙ）の大きさの絶対値（|ωｘ|，|ωｙ|）が設定値Ａ以下で、前記極性判定手段により両符号が同じと判定されたとき、第３の係数c3を前記角速度センサの出力（ωｘ，ωｙ）に乗じてフィードフォワード項FFx,FFy（フィードフォワード制御指令値）を算出し、前記角速度センサの出力（ωｘ，ωｙ）の大きさの絶対値（|ωｘ|，|ωｙ|）が設定値Ａ以下で、前記極性判定手段により両符号が異なると判定されたとき、前記第３の係数c3より小さい第４の係数c4を前記角速度センサの出力（ωｘ，ωｙ）に乗じてフィードフォワード項FFx,FFy（フィードフォワード制御指令値）を算出する。このため、摩擦力の影響が、重力方向の駆動か反重力方向の駆動かで異なることに対応すると共に、角速度が小さいか大きいかにより異なることに対応するのに加え、加速するときと減速するときとで異なることに対応し、精度の良い手振れ補正制御を行うことができる。
【０３０６】
(12) 前記振れ補正制御手段（制御ＩＣ261、図３９）は、第１の係数c1と第２の係数c2と第３の係数c3と第４の係数c4を、振れ補正時における前記装置本体の姿勢角度と姿勢方向に基づき算出する。このため、装置本体の姿勢角度と姿勢方向により決まる摩擦力の影響を適正に低減することで、精度の良い手振れ補正制御を行うことができる。
【０３０７】
以上、本発明の撮像装置を実施例１〜実施例８に基づき説明してきたが、具体的な構成については、これらの実施例に限られるものではなく、特許請求の範囲の各請求項に係る発明の要旨を逸脱しない限り、設計の変更や追加等は許容される。
【０３０８】
実施例１〜実施例８では、撮像素子であるＣＣＤを移動させて振れ補正をする例を用いて説明したが、例えば、特開２００６−１５４０１４号公報に記載されているように、振れ補正レンズを移動させて撮像素子上の像の振れを防止するようにした場合も同様の効果を奏する。
【０３０９】
実施例１〜実施例８では、撮像素子としてＣＣＤを用いる例を示したが、ＣＭＯＳ等の他の撮像素子を用いる例としても良い。
【０３１０】
実施例１〜実施例８では、角速度センサとしてジャイロセンサを有する手振れ検出部３４の例を示したが、カメラ本体の角速度を検出するセンサであれば、ジャイロセンサに限られることはない。
【０３１１】
実施例１〜実施例８では、角速度センサからの出力（角速度信号）に対し、第１の設定値Ａ１と第２の設定値Ａ２、あるいは、設定値Ａを決めておき、係数ｃとして３段階の係数を与えることで、加算量を決める例を示した。しかし、角速度センサからの出力に応じて２段階あるいは３段階を超える多段階により係数を与え、加算量を決めるようにしても良い。また、角速度センサからの出力に応じて無段階の値による係数を与え、加算量を決めるようにしても良い。
【０３１２】
実施例１〜実施例８では、決定した係数に角速度センサからの出力（角速度信号）を乗じて加算値を決める例を示したが、係数を用いることなく、角速度センサからの出力（角速度信号）に応じて予め加算値を決めておくような例としても良い。
【産業上の利用可能性】
【０３１３】
実施例１〜実施例８では、デジタルスチールカメラに対し本発明の撮像装置を適用する例を示したが、デジタル動画カメラやデジタルビデオカメラ等の撮像装置に対しても適用することができる。要するに、被写体の撮影時に装置本体が振れても撮影画像にブレが生じるのを抑える振れ補正機能を有する撮像装置であれば適用できる。
【図面の簡単な説明】
【０３１４】
【図１】実施例１のデジタルスチールカメラ（撮像装置の一例）を示す正面図である。
【図２】実施例１のデジタルカメラを示す背面図である。
【図３】実施例１のデジタルカメラを示す平面図である。
【図４】実施例１のデジタルカメラの全体システム構成の概要を示すブロック図である。
【図５】実施例１のデジタルカメラにおいてＣＣＤ２１およびＣＣＤステージ２３（振れ補正手段）を示す分解斜視図である。
【図６】実施例１のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【図７】実施例１のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートである。
【図８】本発明に係わるデジタルカメラの手振れ補正の原理を説明するための図であって、(a)はデジタルカメラの傾きを示し、(b)はデジタルカメラの撮像レンズとＣＣＤの撮像面との関係の部分拡大を示す。
【図９】実施例１のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【図１０】実施例１のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【図１１】デジタルカメラにおける振れ補正制御で加算量のないフィードバック制御のみとした場合の目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【図１２】実施例２のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【図１３】実施例２のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートである。
【図１４】実施例２のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【図１５】実施例２のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【図１６】実施例３のデジタルカメラの全体システム構成の概要を示すブロック図である。
【図１７】実施例３のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【図１８】実施例３のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートである。
【図１９】実施例３のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【図２０】実施例３のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【図２１】重力方向と逆に振れ補正手段が移動する場合と重力方向に振れ補正手段が移動する場合の目標値・ホール素子出力・制御誤差の関係特性を示す図である。
【図２２】実施例４のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【図２３】実施例４のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートである。
【図２４】実施例４のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【図２５】実施例４のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【図２６】実施例５のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【図２７】実施例５のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートである。
【図２８】実施例５のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【図２９】実施例５のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【図３０】実施例６のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【図３１】実施例６のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートである。
【図３２】実施例６のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【図３３】実施例６のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【図３４】実施例７のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【図３５】実施例７のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートである。
【図３６】実施例７のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【図３７】実施例７のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【図３８】実施例８のデジタルカメラにおける振れ補正制御系を示す制御ブロック図である。
【図３９】実施例８のデジタルカメラのＣＰＵ２６の制御ＩＣ261にて実行される手振れ補正制御処理の流れを示すフローチャートである。
【図４０】実施例８のデジタルカメラにおける振れ補正制御での角速度検出値（＝角速度信号ωｘ，ωｙ）と加算量（＝フィードフォワード項FFx，FFy）を示すタイムチャートである。
【図４１】実施例８のデジタルカメラにおける振れ補正制御での目標位置（＝目標ＣＣＤ位置CCDx*，CCDy*）と検出位置（＝実ＣＣＤ位置CCDx，CCDy）と制御誤差（＝位置偏差ｄｘ，ｄｙ）を示すタイムチャートである。
【符号の説明】
【０３１５】
２１  ＣＣＤ（撮像素子）
２２  画像処理部
２３  ＣＣＤステージ（振れ補正手段）
２４  ＣＣＤアクチュエータ
２５  ＣＣＤ位置検出部（変位量検出手段）
２６  ＣＰＵ
３４  手振れ検出部（角速度センサ）
３５  水準器センサ
261  制御ＩＣ
262  A/D変換器
263  D/A変換器
264  A/D変換器
265  積分器
266  係数乗算器
267  差分器
268  位相補償器
269  フィードバックゲイン設定器
270  可変係数設定器
271  加算器
272  微分器
273  ローパスフィルタ
274  極性判定器（極性判定手段）
275  切換器
276  姿勢判定器（姿勢判定手段）
277  切換器
ωｘ，ωｙ  角速度信号
αｘ，αｙ  角加速度信号
ｃ  係数
FFx，FFy  フィードフォワード項（フィードフォワード制御指令値）
FBx，FBy  フィードバック項（フィードバック制御指令値）
Ｄｘ，Ｄｙ  駆動指令値
【図１】
0005332438.tif 000002
【図２】
0005332438.tif 000003
【図３】
0005332438.tif 000004
【図４】
0005332438.tif 000005
【図５】
0005332438.tif 000006
【図６】
0005332438.tif 000007
【図７】
0005332438.tif 000008
【図８】
0005332438.tif 000009
【図９】
0005332438.tif 000010
【図１０】
0005332438.tif 000011
【図１１】
0005332438.tif 000012
【図１２】
0005332438.tif 000013
【図１３】
0005332438.tif 000014
【図１４】
0005332438.tif 000015
【図１５】
0005332438.tif 000016
【図１６】
0005332438.tif 000017
【図１７】
0005332438.tif 000018
【図１８】
0005332438.tif 000019
【図１９】
0005332438.tif 000020
【図２０】
0005332438.tif 000021
【図２１】
0005332438.tif 000022
【図２２】
0005332438.tif 000023
【図２３】
0005332438.tif 000024
【図２４】
0005332438.tif 000025
【図２５】
0005332438.tif 000026
【図２６】
0005332438.tif 000027
【図２７】
0005332438.tif 000028
【図２８】
0005332438.tif 000029
【図２９】
0005332438.tif 000030
【図３０】
0005332438.tif 000031
【図３１】
0005332438.tif 000032
【図３２】
0005332438.tif 000033
【図３３】
0005332438.tif 000034
【図３４】
0005332438.tif 000035
【図３５】
0005332438.tif 000036
【図３６】
0005332438.tif 000037
【図３７】
0005332438.tif 000038
【図３８】
0005332438.tif 000039
【図３９】
0005332438.tif 000040
【図４０】
0005332438.tif 000041
【図４１】
0005332438.tif 000042