以下、添付図面に従って本発明を実施するための最良の形態について説明する。
<撮像部>
図1は、本発明が適用されたデジタルカメラ1の電気的構成を示すブロック図である。
同図に示すように、本実施の形態のデジタルカメラ1は、CPU111、操作部112、ズームレンズ用モータドライバ114、ズームレンズ10、フォーカスレンズ用モータドライバ115、フォーカスレンズ11、手ぶれ補正制御部117、手ぶれ補正部118、タイミングジェネレータ119、CCDドライバ120、CCD13、アナログ信号処理部122、A/D変換器123、画像入力コントローラ124、画像信号処理回路125、圧縮処理回路126、ビデオエンコーダ127、画像表示装置128、バス129、メディアコントローラ130、記録メディア131、メモリ(SDRAM)132、AF検出回路133、AE検出回路134等を備えて構成される。
各部はCPU111に制御されて動作し、CPU111は、操作部112からの入力に基づき所定の制御プログラムを実行することにより、デジタルカメラ1の各部を制御する。
CPU111はプログラムROMを内蔵しており、このプログラムROMにはCPU111が実行する制御プログラムのほか、制御に必要な各種データ等が記録されている。CPU111は、このプログラムROMに記録された制御プログラムをメモリ132に読み出し、逐次実行することにより、デジタルカメラ1の各部を制御する。
なお、このメモリ132は、プログラムの実行処理領域として利用されるほか、画像データ等の一時記憶領域、各種作業領域として利用される。
操作部112は、レリーズボタン113の他、電源スイッチや撮影モードダイヤル、手ぶれ補正スイッチ等のカメラの一般的な操作手段を含み、操作に応じた信号をCPU111に出力する。レリーズボタン113は、半押し時にONしてフォーカスロック、測光等の撮影準備を行わせるスイッチS1と、全押し時にONして画像の取り込みを行わせるスイッチS2とを有している。
フォーカスレンズ11は、フォーカス用モータドライバ115に駆動されて、ズームレンズ10の光軸上を前後移動する。CPU111は、フォーカス用モータドライバ115を介してフォーカスレンズ11の移動を制御し、フォーカシングを行う。
ズームレンズ10は、ズームレンズ用モータドライバ114に駆動されて、フォーカスレンズ11の光軸上を前後移動する。CPU111は、ズームレンズ用モータドライバ114を介してズームレンズ10の移動を制御し、ズーミングを行う。
手ぶれ補正部118は、補正レンズ12を含み、手ぶれ補正制御部117により制御され、ズームレンズ10、及びフォーカスレンズ11を介した被写体像の手ぶれを補正する。手ぶれ補正制御部117及び手ぶれ補正部118の詳細については、後述する。
CCD13は、手ぶれ補正部118の後段に配置されており、補正レンズ12を透過した被写体光を受光する。CCD13は、周知のように多数の受光素子がマトリクス状に配列された受光面を備えている。補正レンズ12を透過した被写体光は、このCCD13の受光面上に結像され、各受光素子によって電気信号に変換される。
このCCD13は、タイミングジェネレータ119からCCDドライバ120を介して供給される垂直転送クロック及び水平転送クロックに同期して、各画素に蓄積された電荷を1ラインずつシリアルな画像信号として出力する。CPU111は、タイミングジェネレータ119を制御して、CCD13の駆動を制御する。
なお、各画素の電荷蓄積時間(露出時間)は、タイミングジェネレータ119から与えられる電子シャッタ駆動信号によって決められる。CPU111は、タイミングジェネレータ119に対して電荷蓄積時間を指示する。
また、画像信号の出力は、デジタルカメラ1が撮影モードにセットされると開始される。すなわち、デジタルカメラ1が撮影モードにセットされると、画像表示装置128にスルー画像を表示するため、画像信号の出力が開始される。このスルー画像用の画像信号の出力は、本撮影の指示が行われると、一旦停止され、本撮影が終了すると、再度開始される。
CCD13から出力される画像信号は、アナログ信号であり、このアナログの画像信号は、アナログ信号処理部122に取り込まれる。
アナログ信号処理部122は、相関二重サンプリング回路(CDS)、及び自動ゲインコントロール回路(AGC)を含んで構成される。CDSは、画像信号に含まれるノイズの除去を行い、AGCは、ノイズ除去された画像信号を所定のゲインで増幅する。このアナログ信号処理部122で所要の信号処理が施されたアナログの画像信号は、A/D変換器123に取り込まれる。
A/D変換器123は、取り込んだアナログの画像信号を所定ビットの階調幅を持ったデジタルの画像信号に変換する。この画像信号は、いわゆるRAWデータであり、画素ごとR、G、Bの濃度を示す階調値を有している。
画像入力コントローラ124は、所定容量のラインバッファを内蔵しており、A/D変換器123から出力された1コマ分の画像信号を蓄積する。この画像入力コントローラ124に蓄積された1コマ分の画像信号は、バス129を介してメモリ132に格納される。
バス129には、上記CPU111、メモリ132、画像入力コントローラ124のほか、画像信号処理回路125、圧縮処理回路126、ビデオエンコーダ127、メディアコントローラ130、AF検出回路133、AE検出回路134等が接続されており、これらはバス129を介して互いに情報を送受信できるようにされている。
メモリ132に格納された1コマ分の画像信号は、点順次(画素の順番)に画像信号処理回路125に取り込まれる。
画像信号処理回路125は、点順次に取り込んだR、G、Bの各色の画像信号に対して所定の信号処理を施し、輝度信号Yと色差信号Cr、Cbとからなる画像信号(Y/C信号)を生成する。
AF検出回路133は、CPU111の指令に従い、画像入力コントローラ124を介してメモリ132に格納されたR、G、Bの画像信号を取り込み、AF(Automatic Focus)制御に必要な焦点評価値を算出する。このAF検出回路133は、G信号の高周波成分のみを通過させるハイパスフィルタ、絶対値化処理部、画面に設定された所定のフォーカス領域内の信号を切り出すフォーカス領域抽出部、及び、フォーカス領域内の絶対値データを積算する積算部を含み、この積算部で積算されたフォーカス領域内の絶対値データを焦点評価値としてCPU111に出力する。CPU111は、AF制御時、このAF検出回路133から出力される焦点評価値が極大となる位置をサーチし、その位置にフォーカスレンズ11を移動させることにより、主要被写体への焦点合わせを行う。
AE検出回路134は、CPU111の指令に従い、画像入力コントローラ124を介してメモリ132に格納されたR、G、Bの画像信号を取り込み、AE制御に必要な積算値を算出する。CPU111は、積算値から輝度値を算出し、輝度値から露出値を求める。また露出値から所定のプログラム線図に従って、絞り値及びシャッタスピードを決定する。このとき、必要であれば、撮影補助光としてストロボ136を用いる決定をする。
圧縮処理回路126は、CPU111からの圧縮指令に従い、入力された輝度信号Yと色差信号Cr、Cbとからなる画像信号(Y/C信号)に所定形式(たとえば、JPEG)の圧縮処理を施し、圧縮画像データを生成する。また、CPU111からの伸張指令に従い、入力された圧縮画像データに所定形式の伸張処理を施して、非圧縮の画像データを生成する。
ビデオエンコーダ127は、CPU111からの指令に従い、画像表示装置128への表示を制御する。
メディアコントローラ130は、CPU111からの指令に従い、記録メディア131に対してデータの読み/書きを制御する。なお、記録メディア131は、メモリカードのようにカメラ本体に対して着脱自在なものでもよいし、また、カメラ本体に内蔵されたものでもよい。着脱自在とする場合は、カメラ本体にカードスロットを設け、このカードスロットに装填して使用する。
<手ぶれ補正のレンズ移動機構>
次に、手ぶれ補正制御部117及び手ぶれ補正部118について説明する。
デジタルカメラ1は、操作部112によって、手ぶれONモードと手ぶれOFFモードとをユーザが切り替えることが可能である。手ぶれONモードでは、手ぶれがキャンセルされるように、補正レンズ12を移動制御する。手ぶれOFFモードでは、補正レンズ12を停止するように制御する。
図2は、デジタルカメラ1の光学系を示した図である。デジタルカメラ1の光学系は、ズームレンズ10、フォーカスレンズ11、補正レンズ12から構成されている。この光学系の光軸14上にCCD13が配置されており、このCCD13は、前述したように、被写体の画像を電気信号に変換する。
手ぶれが発生すると、1フレーム内で被写体の画像がCCD13上で動くために、CCD13からは、ぼけた画像の電気信号が発生する。この手ぶれの発生を検出するために、カメラボディ又はレンズアセンブリ内に、X方向ジャイロセンサ50(図6参照)及びY方向ジャイロセンサ(図示せず)が設けられている。これらのジャイロセンサは、角速度を表す信号を出力する。また、角加速度を表す信号を出力するジャイロセンサを用いてもよい。
手ぶれが発生していないときは、補正レンズ12の光軸が、光学系の光軸14に一致している。Xジャイロセンサ50及び/又はYジャイロセンサにより手ぶれが検出されると、補正レンズ12は、手ぶれの大きさと方向に応じて、X方向及び/又はY方向に移動する。これにより、CCD13上に形成される画像がほぼ停止した状態となり、シャープな画像を表す信号がCCD13から出力される。
次に、手ぶれ補正制御部117及び手ぶれ補正部118のレンズ移動機構について説明する。図3は、レンズ移動機構を示す分解斜視図であり、図4は、カバーが取り外されている状態のレンズ移動機構の正面図である。また、図5は、レンズ移動機構の一部を示す断面図である。
図3及び図4において、レンズ鏡筒15には、ズームレンズ10及びフォーカスレンズ11が取り付けられている。このレンズ鏡筒15は、レンズアセンブリに固定されている。また、レンズ鏡筒15には、X方向に延びたメインガイド軸16と、Y方向に延びたメインガイド軸17とが設けられており、また、X方向に移動可能なXスライダ18と、Y方向に移動可能なYスライダ19とが収納されている。Xスライダ18及びYスライダ19は、平面から見た形がほぼL字形をしている。
Xスライダ18には、一対の軸孔18aが形成されており、これらの軸孔18aがメインガイド軸16にスライダブリに嵌まっている。同様に、Yスライダ19の一対の軸孔19aは、メインガイド軸17にスライダブリに嵌まっている。
また、Xスライダ18には、一対の軸孔18bが形成されている。この軸孔18bは、Y方向の延びたサブガイド軸20にスライダブリに嵌まっている。Yスライダ19の一対の軸孔19bは、X方向の延びたサブガイド軸21にスライダブリに嵌まっている。
Xスライダ18には、偏平なリング状のコイル22が取り付けられている。同様に、Yスライダ19にもコイル23が取り付けられている。コイル22との間にX方向の電磁力を発生するために、永久磁石26を内側に取り付けたヨーク25がレンズ鏡筒15に取り付けられている。なお、コイル23と間にY方向の電磁力を発生するためのヨーク及び永久磁石は、図では省略してある。
レンズホルダ30は、補正レンズ12を保持している。このレンズホルダ30には、一対の穴30aが形成されており、これらにX方向の延びたサブガイド軸21の両端が嵌合され、そしてサブガイド軸21が動かないように接着剤などで固定されている。同様に、一対の穴30bにサブガイド軸20がしっかりと保持されている。
スライダ18、19を隠すように、レンズホルダ30にカバー32が配置されている。このカバー32は、レンズ鏡筒15のステップ15aに載せられている。カバー32の内面には、2個の永久磁石33、34が取り付けられている。永久磁石33はヨーク25に対面し、永久磁石34は別のヨーク(図示せず)に対面する。
図5に示すように、コイル22の両側には、永久磁石26、33が位置しており、また、ヨーク25の折り曲片25aがコイル22内に入り込んでいる。コイル22を通電すると、コイル22に発生した磁界と、永久磁石26、33の磁界により電磁力が発生する。この電磁力は、コイル22の電流の向きに応じて、+X方向又は−X方向に作用し、Xスライダ18を+X方向又は−X方向に移動する。同様に、コイル23に通電すると、コイル23に発生した磁界と、図示しない永久磁石及び永久磁石34の磁界から発生した電磁力により、Yスライダ19を+Y方向又は−Y方向に移動する。
また、レンズ鏡筒15の穴15b、15cには、Xホール素子40、Yホール素子41が収納されている。Xホール素子40は、Xスライダ18の下面に埋め込まれた小さな磁石42の磁界に応答して電圧を発生する。この電圧は、Xスライダ18のX方向での位置に対応している。また、Yホール素子41も、Yスライダ19の下面に埋め込まれた磁石43の磁界に応答して電圧を発生し、この電圧はYスライダ19のY方向での位置に対応している。各ホール素子40、41は、補正レンズ12の位置に応じて、例えば0〜5Vの電圧範囲の信号を発生する。各ホール素子40、41の出力信号が2.5V(基準電圧)のときには、Xスライダ18はX基準位置に位置し、Yスライダ19がY基準位置に位置している。この状態では、補正レンズ12の光軸が光学系の光軸14に一致している。
次に、手ぶれ補正制御部117及び手ぶれ補正部118のレンズ移動機構の作用について説明する。撮影準備のためにデジタルカメラの電源をONにすると、制御回路(図6参照)は、基準電圧(2.5V)を目標レンズ位置信号とする。そして、制御回路は、各ホール素子40、41の出力信号が目標レンズ位置信号である基準電圧に到達するように、コイル22、23に供給する電流の向き及び大きさをフィードバック制御する。このフィードバック制御により、Xスライダ18はX基準位置に向けて移動され、Yスライダ19はY基準位置に向けて移動される。スライダ18、19が基準位置にセットされると、補正レンズ12の光軸が光学系の光軸14に一致する。手ぶれOFFモードでは、手ぶれがあっても、目標レンズ位置信号は基準電圧に保たれる。これにより、レンズホルダ30は手ぶれがあっても、停止したままとなる。
手ぶれONモードでは、手ぶれに応じて補正レンズ12がレンズホルダ30とともに移動する。X方向の手ぶれはXジャイロセンサ50で検知され、またY方向の手ぶれはYジャイロセンサで検知される。手ぶれが発生すると、各ジャイロセンサは角速度信号を発生する。各ジャイロセンサの角速度信号は個別に積分され、X方向とY方向の角度信号にそれぞれ変換される。この角度信号は、補正レンズ12の直線移動に相当したレンズ変位量信号に変換される。得られたレンズ変位量信号は、基準電圧(2.5V)に加算されて、目標レンズ位置信号となる。ここで、レンズ変位量信号は、手ぶれの方向に応じて正負の符号を有するため、目標レンズ位置信号は、基準電圧(2.5V)を中心にして変化する。
例えば、+X方向に手ぶれが発生すると、マイナスのレンズ変位量信号が基準電圧に加算されて、目標レンズ位置信号が算出される。次に、Xホール素子40の出力信号が目標レンズ位置信号となるように、コイル22の電流の向き及び大きさが決められる。このコイル22の通電により発生した磁界と、永久磁石26、33の磁界とにより、−X方向の電磁力がコイル22に作用する。この電磁力により、Xスライダ18は、メインガイド軸16に沿って−X方向に移動する。また、Xスライダ18はサブガイド軸20を介してレンズホルダ30に連結されているため、Xスライダ18は、レンズホルダ30を−X方向に押す。
ここで、レンズホルダ30に固定されたサブガイド軸21は、Yスライダ19の軸孔19bにガイドされる。これにより、Xスライダ18とレンズホルダ30は、メインガイド軸16及びYスライダ19の一対の軸孔19aにガイドされながら一緒に移動する。
Xスライダ18が、目標レンズ位置信号に対応したレンズ位置まで移動すると、Xホール素子40の出力信号が目標レンズ位置信号に一致する。これにより、レンズホルダ30が、手ぶれのストロークに対応した距離を一X方向に移動するので、CCD13上に形成される画像は殆ど移動しない。したがって、CCD13からは、鮮明な画像の電気信号が発生する。
手ぶれが停止すると、レンズ変位量信号が0になるから、目標レンズ位置信号は基準電圧(2.5V)となる。Xホール素子40の出力信号が基準電圧に戻るように、コイル22の電流の向き及び大きさが決定される。これにより、Xスライダ18がX基準位置に向けて徐々に移動する。Xスライダ18がX基準位置に戻った後は、このX基準位置に維持されるように、コイル22の電流の向きと大きさが制御される。レンズホルダ30は、Xスライダ18と一緒に戻るから、補正レンズ12の光軸が光学系の光軸14に一致した状態となる。
−X方向の手ぶれが発生すると、手ぶれの大きさに応じた値を持ったプラスのレンズ変位量信号が基準電圧に加算され、目標レンズ位置信号が算出される。Xホール素子40の出力信号が目標レンズ位置信号になるように、コイル22の電流の向き及び大きさが決められる。このコイル22の通電により、Xスライダ18は、メインガイド軸16に沿って+X方向に移動する。−X方向の手ぶれがなくなると、Xスライダ18はX基準位置に徐々に戻し、そしてXスライダ18をX基準位置に維持する。このときには、補正レンズ12の光軸は光学系の光軸14に一致している。
Y方向の手ぶれに対しても同様である。このY方向の手ぶれに対しては、コイル23によってYスライダ19をY方向に移動する。このときにサブガイド軸21を介してレンズホルダ30がY方向に押される。Yスライダ19は、メインガイド軸17にガイドされ、レンズホルダ30のサブガイド軸20は、Xスライダ18の軸孔18bにガイドされる。レンズホルダ30が、Yスライダ19と一緒にY方向に移動すると、Y方向の手ぶれによる画像の移動が防止され、CCD13上に形成される画像はほぼ停止する。Y方向の手ぶれがなくなると、Yスライダ19は、Y基準位置に徐々に戻される。
実際の手ぶれは、X方向とY方向の両方で発生するため、レンズホルダ30がX方向とY方向の両方へ同時に移動する。
<手ぶれ補正のレンズ移動制御回路>
次に、手ぶれ補正制御部117及び手ぶれ補正部118の制御回路について説明する。制御回路は、X方向と、Y方向の2つが設けられている。図6は、手ぶれ補正制御部117及び手ぶれ補正部118の、X方向の手ぶれを抑制するための制御回路の構成を示すブロック図である。Xジャイロセンサ50は、X方向の手ぶれが発生すると、角速度信号を発生する。この角速度信号は、ハイパスフィルタ51に送られ、高周波の角速度信号が抽出された後、アンプ52において増幅される。これにより、デジタルカメラ1がゆっくり動かされたときに発生する角速度信号は除去され、デジタルカメラ1が急激に動かされたときに発生する角速度信号だけが増幅されてから、CPU80に送られる。
CPU80はA/D変換器53を備え、アンプ52からのアナログの角速度信号をデジタルの角速度信号に変換する。このA/D変換器53は、16kHzのサンプリングパルスによって、アナログの角速度信号をサンプリングして、10ビットのデジタルの角速度信号に変換する。この10ビットの角速度信号は、平均回路54に送られ、ここで16個の角速度信号の平均値が算出される。これにより、1ms毎に1個の角速度信号が得られる。これは、角速度信号の転送速度が1kHzであることを表している。
平均化された角速度信号は、減算器55と長時間積分器56に送られる。長時間積分器56は、角速度信号を循環積分することで、角速度信号のドリフト成分を算出する。循環積分は、具体的には、現在の信号と、1つ前の信号との差(正負がある)を求め、これを積算するものである。得られたドリフト成分は、減算器55に送られ、入力中の角速度信号から減算される。
ドリフト補正された角速度信号は、コアリング回路57に入力される。このコアリング回路57は、減算器55から出力された角速度がスレシュホードレベル以下のときに、0に変換する。これにより、微細な手ぶれに対しては抑制動作をしないので、補正レンズ12のふらつきを防止することができる。
コアリング処理された角速度信号は、積分回路60に送られる。この積分回路60は、まず入力角速度信号A1を積分して角度信号An+1に変換する。この積分には次式が使われる。
[数1]
An+1=(A1−An)×α+An
ここで、αは係数であり、Anはレジスタから読み出した前回の積分値である。
上記積分により、手ぶれによって発生した光学系の傾き角度が算出される。得られた角度信号An+1は、リミッタに送られる。このリミッタは、傾き角度がリミット角度(例えば2度)を越えた場合には、越えた部分がカットされる。したがって、角度信号An+1の最大値は、リミット角度である。なお、リミット角度は、光学系の焦点距離に関係なく、一定の値である。このリミット処理された角度信号An+1は、積分回路60の出力信号として位相補償器61に送られる。これとともに、角度信号An+1がレジスタに格納され、次の積分演算において積分値Anとして用いられる。
位相補償器61は、角度信号の位相調整をする。位相補償器61に入力された角速度信号は、デジタルカメラ1の振れに対するXジャイロセンサ50からの信号出力までの時間や、積分回路60での積分処理時間の位相遅れが発生しており、位相補償器61は、これらの時間を加算した位相遅れを補償する。
位相補償処理された角度信号は乗算器63に入力される。この乗算器63は、メモリ64から読み出したメカ係数γと角度信号を乗算して、レンズの変位量を算出する。メカ係数γは、光学系の焦点距離に応じた値となっており、焦点距離が大きいほどメカ係数γの値が大きい。実際には、メカ係数γは、焦点距離の外に、コイル22、23の変換効率などを考慮して決められている。各焦点距離におけるメカ係数γとしては、例えば図7に示す数値が用いられる。このメカ係数γにより、同じ手ぶれであっても、焦点距離が長いときは、焦点距離が短いときに比べて、補正レンズ12の移動量が大きくなる。
乗算器63から出力されたレンズ変位量信号は、加算器65で基準電圧(2.5V)に加算され、目標レンズ位置信号が算出される。前述したように、この目標レンズ位置信号は、光学系のぶれ角度の大きさと方向に応じて、基準電圧を中心にして変化した値となっている。この目標レンズ位置信号は、乗算器66において、感度制御部74の出力と乗算され、CPU80の出力信号として減算器70に送られる。
感度制御部74は、ホール素子40の感度を定電流回路71を介して制御する。定電流回路71は、感度制御部74の出力に応じてXホール素子40に定電流を供給する。このXホール素子40は、磁石42の磁界に応答して、Xスライダ18の位置を検出する。また、アンプ76は、Xホール素子40の出力信号と、シフト制御部75の出力値をD/A変換器77でアナログ信号に変換した値との差分を出力する。アンプ76の出力信号は、A/D変換器73でデジタル信号に変換され、加算器78に入力される。加算器78は、A/D変換器73の出力値とシフト制御部75の出力値を加算する。このように、Xホール素子40の出力値をシフト制御部75の出力値との差分を取って、さらにシフト制御部75の出力値を加算することにより、A/D変換器73を有効に使用することができる。このA/D変換器73のシフト制御についての詳細は、後述する。
加算器78の出力値は減算器70に入力され、減算器70は、乗算器66及び加算器78から入力された2つの信号の差に応じた信号をドライバ72に送る。ドライバ72は、減算器70の出力信号の大きさに応じた値で、出力信号の符号に応じた向きの電流をコイル22に流して、補正レンズ12を+X方向又は−X方向に移動させる。
なお、コアリング回路57のスレッシュホールドレベル、積分回路60の係数α及びリミッタ値、メモリ62の加算係数β、メモリ64のメカ係数γ、加算器65の基準電圧などは、CPU111によって設定される。
次に、手ぶれ補正制御部117及び手ぶれ補正部118の制御回路の作用について説明する。Xジャイロセンサ50は、例えば+X方向に手ぶれが起こると、符号がマイナスで、角速度の大きさに応じた値の角速度信号を発生する。また、手ぶれが収まるときには、プラスの符号で、収束の角速度に大きさに応じた値の角速度信号が発生する。この角速度信号は、ハイパスフィルタ51で所定周波数以上のものが抽出され、かつアンプ52で増幅されてから、CPU80に送られる。
CPU80のA/D変換器53は角速度信号をデジタル信号に変換し、平均回路54が16個の角速度信号の平均値を算出する。平均化された角速度信号は、減算器55でドリフト成分が除去される。
コアリング回路57は、角速度信号が所定値以下のときに、角速度信号を0に置き換える。コアリング処理がされた角速度信号は、積分回路60で積分されて角度信号に変換され、所定値以上の角度信号はリミット値に置き換えられる。角度信号は、手ぶれの発生時には値が0から増加し、手ぶれが収束するときには値が0に向かって減少する。したがって、手ぶれがないときには、角度信号は0である。また、角度信号には、手ぶれの向きに応じてプラス又はマイナスの符号を持っている。
リミット処理された角度信号は、位相補償器61に送られ、位相補償処理が施される。位相補償処理された角度信号は、乗算器63でメカ係数が乗算され、レンズ変位量信号に変換される。加算器65は、レンズ変位量信号に基準電圧を加算して、目標レンズ位置信号に変換する。この目標レンズ位置信号は、感度制御部74で決定された増幅率に乗算器66で乗算されてから、減算器70に入力される。
減算器70は、Xホール素子40の出力信号と、目標レンズ位置信号との差分を算出し、ドライバ72を介してコイル22に流す電流の向きと大きさとを制御する。
前述したように、CPU80は、手ぶれが発生していないときは、目標レンズ位置信号として基準電圧(2.5V)を出力し、手ぶれが発生しているときは、レンズ変位量に応じた電圧だけ、基準電圧よりも大きい又は小さい電圧を目標レンズ位置信号として出力する。ドライバ72は、Xホール素子40の出力信号が目標レンズ位置信号と一致するように、コイル22に流す電流の向き及び大きさを制御する。これにより、Xスライダ18を介して補正レンズ12が移動して、手ぶれを抑制する。また、手ぶれが収まると、目標レンズ位置信号は基準電圧となるので、Xスライダ18は基準位置に戻る。
<第1の実施の形態>
次に、第1の実施の形態のデジタルカメラ1の、A/D変換器73のシフト制御について説明する。図8は、Xホール素子40の出力範囲、A/D変換器73の入力であるアンプ76の出力範囲、及びA/D変換器73のA/D変換可能範囲を示した図である。
感度制御部74で設定した感度をAとしたときの、ホール素子40の出力範囲、アンプ76の出力範囲を図8(a)に示す。このアンプ76の出力値の最小値から最大値の範囲は、補正レンズ12が機構的に移動可能な範囲で端から端まで移動したときの出力値を示している。即ち、Xスライダ18が−X方向の端に移動したときにホール素子40及びアンプ76は−3Vを出力し、Xスライダ18が+X方向の端に移動したときにホール素子40及びアンプ76は3Vを出力する。また、A/D変換器73は、−3Vから3Vの範囲のアナログ入力信号をデジタル信号に変換可能である。したがって、アンプ76の出力値の全範囲をカバーしており、補正レンズ12がどの位置に移動してもアンプ76の出力信号であるアナログ信号をデジタル信号に変換することが可能である。
次に、感度制御部74で設定した感度を2×Aとしたときの、ホール素子40の出力範囲、及びアンプ76の出力範囲を図8(b)に示す。感度制御部74が感度を2×Aに設定すると、定電流回路71は、Xホール素子40に供給する定電流を感度がAのときの2倍に制御する。供給される定電流が2倍になると、Xホール素子の出力値も2倍になる。したがって、Xホール素子40の出力範囲は、感度がAの場合と比較し、出力幅が2倍となる。またアンプ76は、D/A変換器77の出力がグラウンドレベルであれば単なるバッファとして働くため、アンプ76が出力する電圧範囲も、感度がAの場合と比較して2倍になる。即ち、補正レンズ12が移動可能な端から端まで移動すると、アンプ76の出力値は−6Vから6Vまで変化することになる。
しかし、A/D変換器73の変換可能な入力信号の範囲は変わらないため、図8(b)に示すように、補正レンズ12の位置によっては、A/D変換器73がアンプ76の出力値をデジタル値に変換できない。例えば、図8(b)において、Xホール素子40の出力値(三角印部分)及びアンプ76の出力値(菱形印部分)が4Vであるとすると、A/D変換器73は、この値をデジタル値に変換することは不可能である。
このような場合には、A/D変換器73のシフト制御を行う(図8(c))。まず、シフト制御部75が、デジタル値でシフト量を出力する。シフト制御部75の出力値はD/A変換器77によりアナログ値に変換され、アンプ76に入力される。例えば、Xホール素子40が4Vを出力しているときに、シフト制御部75がデジタル値で3Vのシフト量を出力すると、D/A変換器77はこのシフト量を3Vのアナログ値に変換し、その結果、アンプ76はXホール素子40の出力値(4V)とシフト量(3V)との差分である1Vを出力する。A/D変換器73は、この1Vのアナログ入力をデジタル出力に変換し、加算器78に出力する。加算器78は、A/D変換器73の出力である1Vのデジタル値と、シフト制御部75の出力値である3Vのデジタル値を加算し、Xホール素子40の出力値である4Vを出力する。このようにして、Xホール素子40の出力値がA/D変換器73の変換可能範囲を超えた場合であっても、Xホール素子40の出力値を算出し、補正レンズ12の位置を検出することが可能となる。なお、Y方向においても同様の制御を行う。
ここで、急激なぶれによりXホール素子40の出力値がA/D変換器73の変換可能範囲から外れた場合は、シフト量を−3Vに変更すればよい。
A/D変換器73の変換ビット数は限られているため、アンプ76の出力値と同じ電圧範囲まで変換可能範囲を広げてしまうと、分解能が下がってしまう。逆に、分解能を維持したまま変換可能範囲を広げるためには、変換ビット数を増やす必要があり、コストアップになってしまう。本発明のシフト制御によれば、ホール素子の感度を上げてもA/D変換器の分解能は変わらないため、結果としてA/D変換器の分解能を上げていることと等価となる。
このように構成することで、例えば、手ぶれ補正の精度がそれほど必要の無いスルー画像表示中は、ホール素子の感度を通常値のAにして大きな手ぶれにも対応可能とし、本撮影時においては、ホール素子の感度を2×Aに上げて手ぶれ補正の精度を上げることができる。
なお、本実施の形態では、感度制御部74は、定電流回路71の定電流量を制御してホール素子の感度を上げているが、アンプ76の増幅率を制御して感度を上げてもよい。また、感度を2倍に上げているが、感度を上げる場合の倍率は2倍に限定されるものではない。
<第2の実施の形態>
第2の実施の形態のデジタルカメラ1は、第1の実施の形態のシフト制御を行う場合に、ホール素子の出力値がA/D変換器73の変換可能範囲の中心に来るように常にシフト量の変更を行う。
図9は、アンプ76の出力範囲とA/D変換器73の変換可能範囲を示した図である。
図8(a)の状態において、A/D変換器73の出力値は2Vである。この状態から感度制御部74がホール素子の感度を2倍にする場合には、シフト制御部75は、シフト量を2Vの2倍の4Vとする。図9(a)に示すように、ホール素子の感度を2倍にした場合に−4Vのシフト制御を行うと、アンプ76の出力値は0Vとなり、アンプ76の出力はA/D変換器73の変換可能範囲の中心となる。このとき、A/D変換器73の出力値である0Vと、シフト制御部の出力値である4Vを加算器78で加算することにより、Xホール素子40の出力値は4Vであることがわかる。また、目標レンズ位置信号である加算器65の出力値は、感度制御部74の出力値である2と乗算器66で乗算される。減算器70は、この値と加算器78の出力値の差分を算出し、この差分に応じてXドライバ72は補正レンズ12を移動制御する。
その後、Xホール素子40の出力値が変化し、アンプ76の出力値が−1Vになったとする。図9(b)に示すように、A/D変換器73は、このアンプ76の出力値をデジタルの−1Vに変換する。この値とシフト制御部75の出力値である4Vを加算器78で加算し、Xホール素子40の出力値は3Vであることがわかる。加算器78の出力は減算器70に入力され、同様に補正レンズ12が移動制御される。
ここで、シフト制御部75は、Xホール素子40の出力値がA/D変換器73の変換可能範囲の中心に来るように、シフト制御を行う。A/D変換器73の出力値は−1Vであるため、現在の状態から+1Vのシフト制御を行えばよい。すでに−4Vのシフト制御を行っているため、全体として−3Vのシフト制御を行うことになる。図9(c)は、全体として−3Vのシフト制御を行った状態のアンプ76の出力範囲とA/D変換器73の変換可能範囲を示した図である。
その後、Xホール素子40の出力値が変化し、アンプ76の出力値が+0.5Vになったとする。図9(d)に示すように、A/D変換器73は、このアンプ76の出力値をデジタルの+0.5Vに変換する。この値とシフト制御部75の出力値である3Vを加算器78で加算し、Xホール素子の出力値は3.5Vであることがわかる。加算器78の出力は減算器70に入力され、同様に補正レンズ12が移動制御される。
さらに、シフト制御部75は、Xホール素子40の出力値がA/D変換器73の変換可能範囲の中心になるように、シフト制御を行う。A/D変換器73の出力値は+0.5Vであるため、現在の状態から−0.5Vのシフト制御を行えばよい。すでに−3Vのシフト制御を行っているため、全体として−3.5Vのシフト制御を行うことになる。図9(e)は、全体として−3.5Vのシフト制御を行った状態のアンプ76の出力範囲とA/D変換器73の変換可能範囲を示した図である。
このように、常にXホール素子40の出力値がA/D変換器73の変換可能範囲の中心に来るようにシフト制御することにより、大きなぶれによりXホール素子40の出力値が大きく変化するような場合においても、Xホール素子40の出力がA/D変換器73の変換可能範囲を超える可能性が減り、常にA/D変換器73の変換可能範囲が狭い状態でA/D変換を行うことが可能となる。なお、Y方向においても同様の制御を行うことにより、Y方向についても常にA/D変換器の変換可能範囲が狭い状態でA/D変換を行うことが可能となる。即ち、変換可能範囲がホール素子の出力全体をカバーしていないA/D変換器を用いた場合でも、手ぶれ補正を実現することが可能となる。
なお、A/D変換器73の分解能を上げて手ぶれ補正を行っている場合に、急激なぶれによりXホール素子40の出力値がA/D変換器73の変換可能範囲から外れた場合は、一度感度を初期値に戻して、A/D変換器73の変換範囲をホール素子の出力全体に広げ、シフト量の再設定を行う。
なお、本発明のシフト制御においては、アンプ76の入力にオフセットをかけることによりアンプ76の出力をシフトさせているが、ホール素子にバイアス電圧をかけてホール素子の出力をシフトさせてもよい。
また本発明の実施の形態においては、ぶれに応じて補正レンズを制御させることにより手ぶれ補正を行っているが、手ぶれ補正の方式はこれに限定されるものではなく、例えば撮像素子の位置を制御して手ぶれ補正を行ったものに適用してもよい。その他、屈曲光学系の屈曲角度を制御して手ぶれ補正を行う方式や、撮像レンズ及び撮像素子全体を制御して手ぶれ補正を行う方式についても適用可能である。また、フィルムを用いるアナログカメラの手ぶれ補正においても適用可能である。
1…デジタルカメラ、10…ズームレンズ、11…フォーカスレンズ、12…補正レンズ、13…CCD、15…レンズ鏡筒、18…Xスライダ、19…Yスライダ、22…コイル、25…ヨーク、26…永久磁石、33…永久磁石、40…Xホール素子、41…Yホール素子、50…Xジャイロセンサ、70…減算器、71…定電流回路、72…Xドライバ、73…A/D変換器、74…感度制御部、75…シフト制御部、76…アンプ、77…D/A変換器、78…加算器、111…CPU、112…操作部、117…手ぶれ補正制御部、118…手ぶれ補正部、134…AE検出回路