(57)【要約】【課題】オープンループ制御では補正レンズの変位を検出することができないので、補正レンズの変位を適切に補正できない。【解決手段】第１の記憶部１０３は、カメラモジュール１０８の傾きに応じて、カメラ座標系で作用する方向が変化する第１の力に対する補正量であって、カメラモジュール１０８の標準の傾きでの第１の補正量を記憶する。制御部１０７は、手振れ補正量を算出し、カメラモジュール１０８の傾きと第１の補正量とに基づいて、カメラモジュール１０８の傾きでの傾き補正量を求め、手振れ補正量と、傾き補正量とに基づいて、光学系１０９に含まれる補正レンズ１１０が光軸に垂直な面内でシフトするように補正レンズ１１０の位置を制御する。【選択図】図１
2018106051.tif 000002
【特許請求の範囲】
【請求項１】
カメラモジュールの手振れ補正を制御するカメラコントローラであって、
前記カメラモジュールの傾きに応じて、カメラ座標系で作用する方向が変化する第１の力に対する補正量であって、前記カメラモジュールの標準の傾きでの第１の補正量を記憶する第１の記憶部と、
振動検出センサによる検出結果に基づいて手振れ補正量を算出し、傾き検出センサにより検出されたカメラモジュールの傾きと前記標準の傾きとの差と前記第１の補正量とに基づいて、前記検出されたカメラモジュールの傾きでの傾き補正量を求め、前記手振れ補正量と、前記傾き補正量とに基づいて、光学系に含まれる補正レンズが光軸に垂直な面内でシフトするように前記補正レンズの位置を制御する制御部とを備えたカメラコントローラ。
【請求項２】
前記カメラモジュールの傾きに応じて、カメラ座標系で作用する方向が変化しない第２の力に対する第２の補正量を記憶する第２の記憶部を備え、
前記制御部は、前記手振れ補正量と、前記傾き補正量と、前記第２の補正量とに基づいて、光学系に含まれる補正レンズが光軸に垂直な面内でシフトするように前記補正レンズの位置を制御する、請求項１記載のカメラコントローラ。
【請求項３】
前記制御部は、前記手振れ補正量と、前記検出されたカメラの傾きでの傾き補正量と、前記第２の補正量とを加算して得られる加算補正量に基づいて、前記補正レンズの位置を制御する、請求項２記載のカメラコントローラ。
【請求項４】
前記第１の力は、重力であり、前記補正レンズが重力方向に変位し、
前記第２の力は、サスペンションが前記補正レンズを支持する力であり、前記サスペンションを支持する力が前記補正レンズの部位によって相違することによって、前記補正レンズが変位する、請求項２記載のカメラコントローラ。
【請求項５】
前記制御部は、
前記補正レンズを駆動するためのドライバと、
前記補正レンズの位置のキャリブレーション時に、ホストＣＰＵからの指示信号に従って、前記補正レンズを駆動するドライバにドライバの出力値を出力するテスト回路と、
前記キャリブレーション時に前記テスト回路の出力をドライバに供給し、通常動作時に前記加算補正量をドライバに供給するスイッチと備える、請求項２記載のカメラコントローラ。
【請求項６】
前記テスト回路は、前記補正レンズの位置のキャリブレーション時に、前記ホストＣＰＵからの信号に従って、前記第１の補正量を前記第１の記憶部に書き込み、前記ホストＣＰＵからの信号に従って、前記第２の補正量を前記第２の記憶部に書き込む、請求項５記載のカメラコントローラ。
【請求項７】
カメラモジュールの手振れ補正に用いられる補正レンズのキャリブレーション方法であって、
前記補正レンズには、第１の力と第２の力とが作用し、第１の力は、前記カメラモジュールの傾きに応じてカメラ座標系での作用する方向が変化する力であり、第２の力は、前記カメラモジュールの傾きに応じてカメラ座標系での作用する方向が変化しない力であり、前記補正レンズは、前記補正レンズを駆動するドライバの出力値によって変位量が変化し、前記カメラ座標系は、前記カメラモジュールの光学系の光軸と一致する第１軸と、前記第１軸と直交する第２軸および第３軸とを含み、
前記カメラモジュールの第１軸の第１方向に所定距離離れて、前記カメラモジュールの前記第２軸および前記第３軸を含む平面と平行にチャートを含むシートを設置するステップと、
前記第２軸の第１方向が前記第１の力の方向になるように前記カメラモジュールを回転させるステップと、
前記補正レンズを前記第２軸の第１方向の端に移動させるように前記ドライバの出力値を設定したときのイメージセンサの出力画像中の前記チャートの前記第２軸の座標を第１座標として求めるステップと、
前記補正レンズを前記第２軸の第２方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標を第２座標として求めるステップと、
前記補正レンズを前記第２軸に沿って移動させながら、前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標が前記第１座標と前記第２座標の中点となるときの前記ドライバの出力値を第１のドライバの出力値とするステップと、
前記第２軸の第２方向が前記第１の力の方向になるようにカメラモジュールを回転させるステップと、
前記補正レンズを前記第２軸の第１方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標を第３座標として求めるステップと、
前記補正レンズを前記第２軸の第２方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標を第４座標として求めるステップと、
前記補正レンズを前記第２軸に沿って移動させながら、前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標が前記第３座標と前記第４座標の中点となるときの前記ドライバの出力値を第２のドライバの出力値とするステップと、
前記第１のドライバの出力値と前記第２のドライバの出力値とに基づいて、前記第１の力の方向が前記第２軸の第１の方向と一致したときの前記第１の力に対する前記第２軸の方向の補正量である第１の補正量と、前記第２の力に対する前記第２軸の方向の補正量である第２の補正量とを計算するステップとを備え、
前記計算するステップは、
前記第１のドライバの出力値と前記第２のドライバの出力値との和の１／２を計算して、前記第１の補正量とするステップと、
前記第１のドライバの出力値から前記第２のドライバの出力値を減算した値の１／２を計算して、前記第２の補正量とするステップとを備える、補正レンズのキャリブレーション方法。
【請求項８】
前記第３軸の第１方向が前記第１の力の方向になるように前記カメラモジュールを回転させるステップと、
前記補正レンズを前記第３軸の第１方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標を第５座標として求めるステップと、
前記補正レンズを前記第３軸の第２方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標を第６座標として求めるステップと、
前記補正レンズを前記第３軸に沿って移動させながら、前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標が前記第５座標と前記第６座標の中点となるときの前記ドライバの出力値を第３のドライバの出力値とするステップと、
前記第３軸の第２方向が前記第１の力の方向になるように前記カメラモジュールを回転させるステップと、
前記補正レンズを前記第３軸の第１方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標を第７座標として求めるステップと、
前記補正レンズを前記第３軸の第２方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標を第８座標として求めるステップと、
前記補正レンズを前記第３軸に沿って移動させながら、前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標が前記第７座標と前記第８座標の中点となるときの前記ドライバの出力値を第４のドライバの出力値とするステップと、
前記第３のドライバの出力値と前記第４のドライバの出力値とに基づいて、前記第１の力の方向が前記第３軸の第１方向と一致したときの前記第１の力に対する前記第３軸の方向の補正量である第３の補正量と、前記第２の力に対する前記第３軸の方向の補正量である第４の補正量とを計算するステップとを備え、
前記計算するステップは、
前記第３のドライバの出力値と前記第４のドライバの出力値との和の１／２を計算して、前記第３の補正量とするステップと、
前記第３のドライバの出力値から前記第４のドライバの出力値を減算した値の１／２を計算して、前記第４の補正量とするステップとを備える、請求項７記載の補正レンズのキャリブレーション方法。
【請求項９】
カメラモジュールの手振れ補正に用いられる補正レンズのキャリブレーション方法であって、
前記補正レンズには、第１の力と第２の力とが作用し、第１の力は、前記カメラモジュールの傾きに応じてカメラ座標系での作用する方向が変化する力であり、第２の力は、前記カメラモジュールの傾きに応じてカメラ座標系での作用する方向が変化しない力であり、前記補正レンズは、前記補正レンズを駆動するドライバの出力値によって変位量が変化し、前記カメラ座標系は、前記カメラモジュールの光学系の光軸と一致する第１軸と、前記第１軸と直交する第２軸および第３軸とを含み、
前記第１軸の第１方向が前記第１の力の方向になるようにカメラモジュールを回転させるステップと、
前記カメラモジュールの前記第１軸の第１方向に所定距離離れて、前記カメラモジュールの前記第２軸および前記第３軸を含む平面と平行にチャートを含むシートを設置するステップと、
前記補正レンズを前記第２軸の第１方向の端に移動させるように前記ドライバの出力値を設定したときのイメージセンサの出力画像中の前記チャートの前記第２軸の座標を第１座標として求めるステップと、
前記補正レンズを前記第２軸の第２方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標を第２座標として求めるステップと、
前記補正レンズを前記第２軸に沿って移動させながら、前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標が前記第１座標と前記第２座標の中点となるときの前記ドライバの出力値を前記第２の力に対する前記第２軸の方向の補正量とするステップとを備える、補正レンズのキャリブレーション方法。
【請求項１０】
前記補正レンズを前記第３軸の第１方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標を第３座標として求めるステップと、
前記補正レンズを前記第３軸の第２方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標を第４座標として求めるステップと、
前記補正レンズを前記第３軸に沿って移動させながら、前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標が前記第３座標と前記第４座標の中点となるときの前記ドライバの出力値を前記第２の力に対する前記第３軸の方向の補正量とするステップとを備える、請求項９記載の補正レンズのキャリブレーション方法。
【請求項１１】
前記第１軸が前記第１の力の方向と直交し、かつ前記第２軸の第２方向と前記第１の力の方向とが所定の角度となるようにカメラモジュールを回転させるステップと、
前記カメラモジュールの前記第１軸の第１方向に所定距離離れて、前記カメラモジュールの前記第２軸および前記第３軸を含む平面と平行にチャートを含むシートを設置するステップと、
前記補正レンズを前記第２軸の第１方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標を第５座標として求めるステップと、
前記補正レンズを前記第２軸の第２方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標を第６座標として求めるステップと、
前記補正レンズを前記第２軸に沿って移動させながら、前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標が前記第５座標と前記第６座標の中点となるときの前記ドライバの出力値を第１のドライバの出力値とするステップと、
前記第２の力に対する前記第２軸の方向の補正量と、前記第１のドライバの出力値とに基づいて、前記第１の力の方向が前記第２軸の第１方向と一致したときの前記第１の力に対する前記第２軸の方向の補正量である第１の補正量を計算するステップとを備える、請求項１０記載の補正レンズのキャリブレーション方法。
【請求項１２】
前記補正レンズを前記第３軸の第１方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標を第７座標として求めるステップと、
前記補正レンズを前記第３軸の第２方向の端に移動させるように前記ドライバの出力値を設定したときの前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標を第８座標として求めるステップと、
前記補正レンズを前記第３軸に沿って移動させながら、前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標が前記第７座標と前記第８座標の中点となるときの前記ドライバの出力値を第２のドライバの出力値とするステップと、
前記第２の力に対する前記第３軸の方向の補正量と、前記第２のドライバの出力値とに基づいて、前記第１の力の方向が前記第３軸の第１方向と一致したときの前記第１の力に対する前記第３軸の方向の補正量である第２の補正量を計算するステップとを備える、請求項１１記載の補正レンズのキャリブレーション方法。
【請求項１３】
前記シートと前記カメラモジュールの相対的な位置関係を維持しつつ、前記第１軸が前記第１の力の方向と直交し、かつ前記第２軸の第２方向と前記第１の力の方向とが所定の角度となるようにカメラモジュールを回転させるステップと、
前記補正レンズを前記第２軸に沿って移動させながら、前記イメージセンサの出力画像中の前記チャートの前記第２軸の座標が前記第１座標と前記第２座標の中点となるときの前記ドライバの出力値を第３のドライバの出力値とするステップと、
前記第２の力に対する前記第２軸の方向の補正量と、前記第３のドライバの出力値とに基づいて、前記第１の力の方向が前記第２軸の第１方向と一致したときの前記第１の力に対する前記第２軸の方向の補正量を計算するステップとを備える、請求項１０記載の補正レンズのキャリブレーション方法。
【請求項１４】
前記補正レンズを前記第３軸に沿って移動させながら、前記イメージセンサの出力画像中の前記チャートの前記第３軸の座標が前記第３座標と前記第４座標の中点となるときの前記ドライバの出力値を第４のドライバの出力値とするステップと、
前記第２の力に対する前記第３軸の方向の補正量と、前記第４のドライバの出力値とに基づいて、前記第１の力の方向が前記第３軸の第１方向と一致したときの前記第１の力に対する前記第３軸の方向の補正量を計算するステップとを備える、請求項１３記載の補正レンズのキャリブレーション方法。
【請求項１５】
前記所定の角度は、４５度であり、
前記第１の補正量を計算するステップは、
前記第１のドライバの出力値から前記第２の力に対する前記第２軸の方向の補正量を減算して、√２倍した値を前記第１の補正量とするステップを備え、
前記第２の補正量を計算するステップは、
前記第２のドライバの出力値から前記第２の力に対する前記第３軸の方向の補正量を減算して√２倍した値を前記第２の補正量とするステップを備える、請求項１１〜１４のいずれか１項に記載の補正レンズのキャリブレーション方法。
【請求項１６】
前記第１の力は、重力であり、前記補正レンズが重力方向に変位し、
前記第２の力は、サスペンションが前記補正レンズを支持する力であり、前記サスペンションを支持する力が前記補正レンズの部位によって相違することによって、前記補正レンズが変位する、請求項７〜１５のいずれか１項に記載の補正レンズのキャリブレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、カメラコントローラ、およびカメラの補正レンズのキャリブレーション方法に関し、たとえば、カメラの傾きに応じて変化する力、または補正レンズを支持するサスペンションなどによって補正レンズ位置が変化するのを調整する方法に関する。
【背景技術】
【０００２】
従来から、手振れ補正の補正レンズの位置をクローズドループ制御する技術が知られている。たとえば、特許文献１に記載の撮影装置において、補正レンズは、撮影レンズを介して受光した被写体像の振れを光学的に軽減する。位置検出部は、補正レンズの位置を検出し、検出された位置を示す位置検出信号を出力する。目標位置演算部は、振動検出部からの検出信号に基づいて振れ補正部の目標位置を演算する。駆動制御部は、位置検出部からの位置検出信号に基づき、目標位置へ補正レンズを駆動するよう制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１６８９３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
オープンループ制御では、位置検出素子を設ける必要がないため、クローズドループ制御よりも、低コスト化できるという利点がある。
【０００５】
補正レンズは、重力などのカメラの傾きに依存する力によって変位する。また、補正レンズは、サスペンションなどのカメラの傾きに依存しない力によっても変位する。
【０００６】
補正レンズの位置を検出するクローズドループ制御では、これらの力による補正レンズの変位を適切に補正できる。一方、オープンループ制御では補正レンズの変位を検出することができないので、これらの力による補正レンズの変位を適切に補正できない。
【０００７】
その他の課題と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
【課題を解決するための手段】
【０００８】
一実施形態のカメラコントローラによれば、カメラモジュールの傾きに応じてカメラ座標系で作用する方向が変化する第１の力に対する検出されたカメラモジュールの傾きでの傾き補正量と、手振れ補正量とに基づいて、光学系に含まれる補正レンズが光軸に垂直な面内でシフトするように補正レンズの位置を制御する。
【発明の効果】
【０００９】
一実施形態によれば、手振れ補正のための補正レンズの位置を検出する素子を設けなくても、重力などのカメラの傾きに依存する力による補正レンズの変位を適切に補正することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態のカメラコントローラおよびカメラモジュールの構成を表わす図である。
【図２】第１の参考例のカメラシステムの構成を表わす図である。
【図３】第２の参考例のカメラシステムの構成を表わす図である。
【図４】（ａ）は、第１の参考例のカメラシステムにおける手振れ補正なしのときの補正レンズの位置を表わす図である。（ｂ）は、第２の参考例のカメラシステムにおける手振れ補正なしのときの補正レンズの位置を表わす図である。
【図５】第２の実施形態のカメラシステムの構成を表わす図である。
【図６】光学系の構成を表わす図である。
【図７】カメラモジュールの傾きの例を表わす図である。
【図８】（ａ）は、カメラモジュール４を表わす図である。（ｂ）は、第３の実施形態における補正レンズの位置のキャリブレーション時のカメラモジュールおよびチャートの位置を表わす図である。
【図９】第３の実施形態における補正レンズの位置のキャリブレーションの手順を表わす図である。
【図１０】第３の実施形態における補正レンズの位置のキャリブレーションの手順を表わす図である。
【図１１】第３の実施形態における補正レンズの位置のキャリブレーションの手順を表わす図である。
【図１２】第３の実施形態における補正レンズの位置のキャリブレーションの手順を表わす図である。
【図１３】第３の実施形態における補正レンズの位置のキャリブレーションの手順を表わす図である。
【図１４】第３の実施形態における補正レンズの位置のキャリブレーションの手順を表わす図である。
【図１５】キャリブレーションの第１処理時の補正レンズの位置を説明するための図である。
【図１６】キャリブレーションの第２理時の補正レンズの位置を説明するための図である。
【図１７】キャリブレーションの第４処理時の補正レンズの位置を説明するための図である。
【図１８】キャリブレーションの第５処理時の補正レンズの位置を説明するための図である。
【図１９】第４の実施形態における補正レンズの位置のキャリブレーション時のカメラモジュールおよびチャートの位置を表わす図である。
【図２０】第４の実施形態における補正レンズの位置のキャリブレーションの手順を表わす図である。
【図２１】第４の実施形態における補正レンズの位置のキャリブレーションの手順を表わす図である。
【図２２】第４の実施形態における補正レンズの位置のキャリブレーションの手順を表わす図である。
【図２３】第４の実施形態における補正レンズの位置のキャリブレーションの手順を表わす図である。
【図２４】第５の実施形態における補正レンズの位置のキャリブレーションの手順の一部を表わす図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について、図面を用いて説明する。
［第１の実施形態］
図１は、第１の実施形態のカメラコントローラおよびカメラモジュールの構成を表わす図である。
【００１２】
カメラコントローラ１００は、光学式手振れ補正を制御する。カメラコントローラ１００は、制御部１０７と、第１の記憶部１０３と、第２の記憶部１０４とを備える。カメラモジュール１０８は、補正レンズ１１０を含む光学系１０９を備える。
【００１３】
第１の記憶部１０３は、カメラモジュール１０８の傾きに応じて、カメラ座標系で作用する方向が変化する第１の力に対する補正量であって、カメラモジュール１０８の標準の傾きでの第１の補正量を記憶する。カメラ座標系とは、カメラモジュール１０８に設定された固有の座標系である。
【００１４】
第２の記憶部１０４は、カメラモジュール１０８の傾きに応じて、カメラ座標系で作用する方向が変化しない第２の力に対する第２の補正量を記憶する。
【００１５】
制御部１０７は、振動検出センサ１０１による検出結果に基づいて光学系１０９における光軸のブレを検出し、ブレを補正するために、光学式手振れ補正量を算出する。制御部１０７は、傾き検出センサ１０２により検出されたカメラモジュール１０８の傾きと標準の傾きとの差と、第１の補正量とに基づいて、検出されたカメラモジュール１０８の傾きでの傾き補正量を求める。制御部１０７は、光学式手振れ補正量と、検出されたカメラモジュール１０８の傾きでの傾き補正量と、第２の補正量とに基づいて、光学系１０９に含まれる補正レンズ１１０が光軸に垂直な面内でシフトするように補正レンズ１１０の位置を制御する。
【００１６】
以上のように、本実施の形態によれば、予め記憶されたカメラモジュールの傾きに応じて、カメラ座標系で作用する方向が変化する第１の力に対する補正量であって、カメラモジュールの標準の傾きでの第１の補正量と、カメラモジュールの傾きに応じて、カメラ座標系で作用する方向が変化しない第２の力に対する第２の補正量を用いる。これによって、手振れ補正のための補正レンズの位置を検出する素子を設けなくても、重力などのカメラの傾きに依存する力およびサスペンションなどのカメラの傾きに依存しない力による補正レンズの変位を適切に補正することができる。
【００１７】
本実施の形態では、光学式手振れ補正量と、第１の補正量から求めた検出されたカメラモジュール１０８の傾きでの傾き補正量と、第２の補正量とに基づいて、補正レンズ１１０が光軸に垂直な面内でシフトするように補正レンズ１１０の位置を制御するものとしたが、これに限定するものではない。カメラモジュール１０８の傾きに応じて、カメラ座標系で作用する方向が変化しない第２の力を補正レンズ１１０が受けない場合には、第２の補正量は不要である。したがって、制御部１０７は、振動検出センサ１０１による検出結果に基づいて手振れ補正量を算出し、傾き検出センサ１０２により検出されたカメラモジュール１０８の傾きと標準の傾きとの差と第１の補正量とに基づいて、検出されたカメラモジュール１０８の傾きでの傾き補正量を求める。制御部１０７は、手振れ補正量と、傾き補正量とに基づいて、光学系１０９に含まれる補正レンズ１１０が光軸に垂直な面内でシフトするように補正レンズ１１０の位置を制御する。
【００１８】
［第２の実施形態］
本実施の形態では、光学系に含まれる補正レンズ２１が、第１の力と第２の力とを受けるものとする。第１の力は、カメラの傾きに応じてカメラ座標系での作用する方向が変化する。本実施の形態では、第１の力は、重力とする。重力によって、補正レンズ２１が重力方向に変位する。第２の力は、カメラの傾きに応じて、カメラ座標系での作用する方向が変化しない。本実施の形態では、第２の力は、サスペンション２０が補正レンズ２１を支持する力である。サスペンションを支持する力が補正レンズ２１の部位によって相違する（以下、サスペンションの不平衡という）ことによって、補正レンズ２１が変位する。
【００１９】
図２は、第１の参考例のカメラシステムの構成を表わす図である。
このカメラシステムは、クローズドループ制御によって、補正レンズ２１の位置を制御する。制御ＩＣ５２内の減算器５７が、手振れ補正部８からの手振れ補正量と、カメラモジュール５４内の位置検出素子５６ａ、５６ｂによって検出された補正レンズ２１の位置との偏差を検出する。ＰＩＤ（Proportional-Integral-Differential）制御部５３が、減算器５７から出力される偏差に基づいて、補正レンズ２１の位置をＰＩＤ制御する。
【００２０】
図３は、第２の参考例のカメラシステムの構成を表わす図である。
このカメラシステムは、オープンループ制御によって、補正レンズ２１の位置を制御する。このカメラシステムは、位置検出素子を備えない。そのため、制御ＩＣ６２は、ＡＤＣ５５、減算器５７、およびＰＩＤ５３を備えない。オープンループ制御では、補正レンズ２１の位置を検出しないで、補正レンズ２１の位置が制御される。
【００２１】
図４（ａ）は、第１の参考例のカメラシステムにおける手振れ補正なしのときの補正レンズ２１の位置を表わす図である。
【００２２】
補正レンズ２１は、重力の方向に力を受けて変位する。また、補正レンズ２１は、サスペンションの不平衡によっても変位する。位置検出素子５６ａ、５６ｂによって補正レンズ２１の位置を検出し、クローズドループ制御することによって、補正レンズ２１の位置を中央位置に調整することができる。
【００２３】
図４（ｂ）は、第２の参考例のカメラシステムにおける手振れ補正なしのときの補正レンズ２１の位置を表わす図である。
【００２４】
オープンループ制御では、補正レンズ２１の位置を検出することができないので、補正レンズ２１の位置を中央位置に調整することができない。
【００２５】
図５は、第２の実施形態のカメラシステムの構成を表わす図である。本実施の形態のカメラシステムも、オープンループ制御によって、補正レンズ２１の位置を制御する。
【００２６】
図５に示すように、カメラシステムは、振動検出センサ６と、傾き検出センサ７と、制御ＩＣ２と、カメラモジュール４と、Ｈｏｓｔ＿ＣＰＵ３とを備える。このカメラシステムは、デジタルカメラ、またはスマートフォンのカメラなどに搭載される。
【００２７】
振動検出センサ６は、たとえばジャイロセンサによって構成される。振動検出センサ６は、カメラモジュール４の振動を検出する。
【００２８】
傾き検出センサ７は、たとえば加速度センサによって構成される。傾き検出センサ７はカメラモジュール４の傾きを検出する。
【００２９】
カメラモジュール４は、コイル１７Ｘ，１７Ｙと、マグネット１８Ｘ，１８Ｙと、光学系８１と、イメージセンサ１９と、信号処理回路１６とを備える。
【００３０】
図６は、光学系８１の構成を表わす図である。
光学系８１は、ズームレンズ２１１、補正レンズ２１、絞り２１３、およびフォーカスレンズ２１４を含む。ズームレンズ２１１は、被写体の像の倍率を変化させる。補正レンズ２１は、被写体の像のブレを補正する。補正レンズ２１は、カメラモジュール４のブレを相殺する方向に移動することにより、イメージセンサ１９上の被写体の像のブレを小さくする。絞り２１３は、光学系８１を通過する光の量を調整する。フォーカスレンズ２１４は、イメージセンサ１９に形成される被写体の像のフォーカス状態を変化させる。
【００３１】
図６は、光学系８１の構成を表わす図である。
図６に示すように、カメラ座標系のＺ軸が、光軸に沿って設定される。Ｚ軸の正方向Ｚ+が光軸の光が進む方向に設定され、Ｚ軸の負方向Ｚ-が光軸の光が進む方向と逆方向に設定される。補正レンズ２１が第１の力を受けず、かつ第２の力による不均衡を受けないときの補正レンズ２１と光軸との交点がカメラ座標系の原点に設定される。光軸と垂直にカメラ座標系のＸ軸（正方向がＸ+、負方向がＸ-）およびＹ軸（正方向がＹ+、負方向がＹ-）に設定される。補正レンズ２１は、光学系８１の光軸に垂直な面内（すなわち、ＸＹ平面内）で駆動される。
【００３２】
イメージセンサ１９は、光学系８１を介して入射した光を光電変換することによって、撮像画像を生成する。イメージセンサ１９は、たとえば、ＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）イメージセンサである。ＣＭＯＳイメージセンサは、２次元に配列された複数の単位画素を含み、それぞれの単位画素は、フォトダイオードと、フォトダイオードに蓄積された電荷を浮遊拡散領域（ＦＤ（Floating Diffusion））に転送する転送ゲートと、浮遊拡散領域の電荷をリセットするリセットトランジスタとを備える。イメージセンサ１９は、画像データを出力する。
【００３３】
コイル１７Ｘ，１７Ｙと、マグネット１８Ｘ，１８Ｙと、光学系８１と、イメージセンサ１９とは、ソケット２３に収容されている。弾性体で構成されるサスペンション２０は、補正レンズ２１を支持するためにカメラモジュール４のレンズホルダ内に設けられる。
【００３４】
コイル１７Ｘとマグネット１８Ｘとは、補正レンズ２１をＸ軸方向に駆動する第１のアクチュエータを構成する。コイル１７Ｙとマグネット１８Ｙは、補正レンズ２１をＹ軸方向に駆動する第２のアクチュエータを構成する。
【００３５】
コイル１７Ｘに流れる電流と、マグネット１８Ｘが発生する磁界とによって電磁力が発生し、補正レンズ２１がＸ軸方向に移動する。コイル１７Ｘに流れる電流の向きを逆にすると、補正レンズ２１がＸ軸方向の逆向きに移動する。コイル１７Ｘに流れる電流が大きくなるほど、補正レンズ２１のＸ軸方向への移動量が大きくなる。
【００３６】
コイル１７Ｙに流れる電流と、マグネット１８Ｙが発生する磁界とによって電磁力が発生し、補正レンズ２１がＹ軸方向に移動する。コイル１７Ｙに流れる電流の向きを逆にすると、補正レンズ２１がＹ軸方向の逆向きに移動する。コイル１７Ｙに流れる電流が大きくなるほど、補正レンズ２１のＹ軸方向への移動量が大きくなる。
【００３７】
信号処理回路１６は、イメージセンサ１９から出力される画像データのＡ／Ｄ変換、増幅などを行なう。
【００３８】
制御ＩＣ２は、制御部５１と、第１メモリ１１と、第２メモリ１２とを備える。制御部５１は、ドライバ１０と、テスト回路９と、スイッチＳＷと、手振れ補正部８と、傾き補正部１３と、加算器１４と、加算器１５とを備える。
【００３９】
手振れ補正部８は、振動検出センサ６による検出結果に基づいて光学系８１における光軸のブレを検出し、ブレを補正するために、Ｘ軸方向の補正レンズ２１の位置補正量とＹ軸方向の補正レンズ２１の位置補正量を算出する。手振れ補正部８は、Ｘ軸方向の補正レンズ２１の位置補正量に対応するＸ軸方向に対するドライバ出力値ＴＸと、Ｙ軸方向の補正レンズ２１の位置補正量に対応するＹ軸方向に対するドライバ出力値ＴＹとを求める。
【００４０】
第１メモリ１１は、カメラモジュール４の標準の傾きでの第１の力に対するＸ軸方向の補正レンズ２１の位置補正量に対応するＸ軸方向に対するドライバ出力値ＧＸ（以下、Ｘ軸方向重力補正量）とＹ軸方向の補正レンズ２１の位置補正量に対応するＹ軸方向に対するドライバ出力値ＧＹ（以下、Ｙ軸方向重力補正量）を記憶する。
【００４１】
第２メモリ１２は、第２の力に対するＸ軸方向の補正レンズ２１の位置補正量に対応するＸ軸方向に対するドライバ出力値ＭＸ（以下、Ｘ軸方向サスペンション不平衡補正量）とＹ軸方向の補正レンズ２１の位置補正量に対応するＹ軸方向に対するドライバ出力値ＭＹ（以下、Ｙ軸方向サスペンション不平衡補正量）を記憶する。
【００４２】
傾き補正部１３は、傾き検出センサ７により検出されたカメラモジュール４の傾きと、第１メモリ１１に記憶されているドライバ出力値ＧＸとドライバ出力値ＧＹとに基づいて、検出されたカメラモジュール４の傾きでの第１の力に対するＸ軸方向の補正レンズ２１の位置補正量に対応するＸ軸方向に対するドライバ出力値ＧＸ′を算出する。傾き補正部１３は、さらに、Ｙ軸方向の補正レンズ２１の位置補正量に対応するＹ軸方向に対するドライバ出力値ＧＹ’を算出する。
【００４３】
図７は、カメラモジュール４の傾きの例を表わす図である。
第１の力である重力とＸ軸の正方向（Ｘ+）とのなす角度がθであり、重力とＹ軸の正方向（Ｙ+）とのなす角度がφのときに、以下の式が成り立つ。θおよびφは、傾き検出センサ７から傾き補正部１３に供給される。θおよびφが０のときのカメラモジュール４の傾きが、カメラモジュール４の標準の傾きである。
【００４４】
ＧＸ′＝ＧＸｃｏｓ（θ）…（A1）
ＧＹ′＝ＧＹｃｏｓ（φ）…（A2）
加算器１４は、手振れ補正部８の出力（ドライバ出力値ＴＸ、ＴＹ）と、傾き補正部１３の出力（ドライバ出力値ＧＸ′、ＧＹ′）とを加算する。
【００４５】
加算器１５は、加算器１４の出力（ＴＸ＋ＧＸ′、ＴＹ＋ＧＹ′）と、第２メモリ１２に記憶されているドライバ出力値ＭＸ、ＭＹとを加算する。
【００４６】
スイッチＳＷは、通常動作時には、加算器１５の出力（ＴＸ＋ＧＸ′＋ＭＸ、ＴＹ＋ＧＹ′＋ＭＹ）をドライバ１０に供給する。スイッチＳＷは、補正レンズ２１の位置のキャリブレーション時には、テスト回路９の出力をドライバ１０に供給する。
【００４７】
ドライバ１０は、補正レンズ２１を駆動する。ドライバ１０は、スイッチＳＷからの出力に基づいて、コイル１７Ｘ，１７Ｙに電流を供給する。ドライバ１０は、スイッチＳＷから出力されるＸ軸方向に対するドライバ出力値に応じた電流をコイル１７Ｘに供給する。ドライバ１０は、スイッチＳＷから出力されるＹ軸方向に対するドライバ出力値に応じた電流をコイル１７Ｙに供給する。
【００４８】
コイル１７Ｘに電流が供給されることによって、補正レンズ２１が光軸に垂直な面内で電流の大きさに応じた分だけＸ軸方向にシフトする。コイル１７Ｙに電流が供給されることによって、補正レンズ２１が光軸に垂直な面内で電流の大きさに応じた分だけＹ軸方向にシフトする。
【００４９】
テスト回路９は、補正レンズ２１の位置のキャリブレーション時に、Ｈｏｓｔ＿ＣＰＵ３からの指示信号に従って、補正レンズ２１を駆動するドライバ１０にドライバ出力値を出力する。
【００５０】
テスト回路９は、補正レンズ２１の位置のキャリブレーション時に、Ｈｏｓｔ＿ＣＰＵ３からの信号に従って、Ｘ軸方向重力補正量ＧＸと、Ｙ軸方向重力補正量ＧＹとを第１メモリ１１に書き込む。テスト回路９は、補正レンズ２１の位置のキャリブレーション時に、Ｈｏｓｔ＿ＣＰＵ３からの信号に従って、Ｘ軸方向サスペンション不平衡補正量ＭＸと、軸方向サスペンション不平衡補正量ＭＹとを第２メモリ１２に書き込む。
【００５１】
スイッチＳＷは、キャリブレーション時にテスト回路９とドライバ１０とを接続する。スイッチＳＷは、キャリブレーション時にテスト回路９の出力をドライバ１０に供給する。スイッチＳＷは、通常動作時に加算器１５とドライバ１０とを接続する。スイッチＳＷは、通常動作時に加算器１５の出力をドライバ１０に供給する。
【００５２】
以上のように、本実施の形態によれば、予め記憶された重力に対する補正量と、サスペンションから受ける力に対する補正量とを用いることによって、手振れ補正のための補正レンズの位置を検出する素子を設けなくても、重力およびサスペンションから受ける力による補正レンズの変位を適切に補正することができる。
【００５３】
[第３の実施形態]
図８（ａ）は、カメラモジュール４を表わす図である。カメラモジュール４は、補正レンズ２１を含む光学系、および光学系を制御する制御ＩＣ２を備える。  図８（ｂ）は、第３の実施形態における補正レンズ２１の位置のキャリブレーション時のカメラモジュールおよびチャートの位置を表わす図である。
【００５４】
図８に示すように、光学系８１の光軸が重力方向に垂直になるように設定される。Ｚ-方向に光学系８１の光軸に対して垂直にチャートシート５が設けられる。チャートシート５上にチャート７１が印刷されている。カメラモジュール４が組み込まれているソケット２３がロール方向に回転可能に設定される。
【００５５】
図９〜図１４は、第３の実施形態における補正レンズ２１の位置のキャリブレーションの手順を表わす図である。
【００５６】
図１５は、キャリブレーションの第１処理時の補正レンズ２１の位置を説明するための図である。図１６は、キャリブレーションの第２処理時の補正レンズ２１の位置を説明するための図である。図１７は、キャリブレーションの第４処理時の補正レンズ２１の位置を説明するための図である。図１８は、キャリブレーションの第５処理時の補正レンズ２１の位置を説明するための図である。
【００５７】
ステップＳ１００において、Ｈｏｓｔ＿ＣＰＵ３は、テスト回路９を有効にするように指示する信号を制御ＩＣ２に出力する。これにより、制御ＩＣ２は、テスト回路９を有効にする。また、Ｈｏｓｔ＿ＣＰＵ３は、スイッチＳＷを制御して、テスト回路９とドライバ１０とを接続させる。
【００５８】
ステップＳ１０１において、カメラモジュール４のソケット２３は、Ｘ+方向が重力方向と一致するような傾きに設定される。
【００５９】
次に、ステップＳ１０２〜Ｓ１１３の第１処理が実行される。
ステップＳ１０２において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＸ-方向の端へ移動させるための指示値ＰＸを制御ＩＣ２に送信する。
【００６０】
ステップＳ１０３において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＸに基づいて、補正レンズ２１をＸ−方向の端へ移動させるドライバ出力値ＩＸを特定し、特定したトライバ出力値ＩＸを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１がＸ-方向に変位する（図１５（ａ）に示す）。
【００６１】
ステップＳ１０４において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【００６２】
ステップＳ１０５において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標Ｘ１を判断する。
【００６３】
ステップＳ１０６において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＸ+方向の端へ移動させるための指示値ＰＸを制御ＩＣ２に送信する。
【００６４】
ステップＳ１０７において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＸに基づいて、補正レンズ２１をＸ+方向の端へ移動させるドライバ出力値ＩＸを特定し、特定したトライバ出力値ＩＸを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１がＸ+方向に変位する（図１５（ｂ）に示す）。
【００６５】
ステップＳ１０８において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【００６６】
ステップＳ１０９において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標Ｘ２を判断する。
【００６７】
ステップＳ１１０において、Ｈｏｓｔ＿ＣＰＵ３は、カメラモジュール４のイメージセンサ１９から出力される画像データのチャート７１のＸ座標が（Ｘ１＋Ｘ２）／２となるようにテスト回路９への指示値ＰＸを順次変化させる。
【００６８】
ステップＳ１１１において、制御ＩＣ２のテスト回路９が、指示値とドライバ出力値の対応テーブルに従って、順次受信する指示値ＰＸに基づいて、ドライバ出力値ＩＸが順次変化するように制御信号を順次変化させる。ドライバ１０は、順次変化する制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１が順次Ｘ方向に変位する（図１５（ｃ）に示す）。
【００６９】
ステップＳ１１２において、カメラモジュール４のイメージセンサ１９は、順次チャート７１を撮影して画像データを順次出力し、カメラモジュール４の信号処理回路は、順次生成される画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【００７０】
ステップＳ１１３において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標が（Ｘ１＋Ｘ２）／２のときの指示値ＯＵＴ１を保持する。
【００７１】
次に、ステップＳ１１４〜Ｓ１２６の第２処理が実行される。
ステップＳ１１４において、カメラモジュール４のソケット２３は、Ｘ-方向が重力方向と一致するような傾きに設定される。
【００７２】
ステップＳ１１５において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＸ+方向の端へ移動させるための指示値ＰＸを制御ＩＣ２に送信する。
【００７３】
ステップＳ１１６において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＸに基づいて、補正レンズ２１をＸ+方向の端へ移動させるドライバ出力値ＩＸを特定し、特定したトライバ出力値ＩＸを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＸコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１がＸ-方向に変位する（図１６（ａ）に示す）。
【００７４】
ステップＳ１１７において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【００７５】
ステップＳ１１８において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標Ｘ３を判断する。
【００７６】
ステップＳ１１９において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＸ-方向の端へ移動させるための指示値ＰＸを制御ＩＣ２に送信する。
【００７７】
ステップＳ１２０において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＸに基づいて、補正レンズ２１をＸ-方向の端へ移動させるドライバ出力値ＩＸを特定し、特定したトライバ出力値ＩＸを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１がＸ-方向に変位する（図１６（ｂ）に示す）。
【００７８】
ステップＳ１２１において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【００７９】
ステップＳ１２２において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標Ｘ４を判断する。
【００８０】
ステップＳ１２３において、Ｈｏｓｔ＿ＣＰＵ３は、カメラモジュール４のイメージセンサ１９から出力される画像データのチャート７１のＸ座標が（Ｘ３＋Ｘ４）／２となるようにテスト回路９への指示値ＰＸを順次変化させる。
【００８１】
ステップＳ１２４において、制御ＩＣ２のテスト回路９が、指示値とドライバ出力値の対応テーブルに従って、順次受信する指示値ＰＸに基づいて、ドライバ出力値ＩＸが順次変化するように制御信号を順次変化させる。ドライバ１０は、順次変化する制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１が順次Ｘ方向に変位する（図１６（ｃ）に示す）。
【００８２】
ステップＳ１２５において、カメラモジュール４のイメージセンサ１９は、順次チャート７１を撮影して画像データを順次出力し、カメラモジュール４の信号処理回路は、順次生成される画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【００８３】
ステップＳ１２６において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標が（Ｘ３＋Ｘ４）／２のときの指示値ＯＵＴ２を保持する。
【００８４】
次に、ステップＳ１２７〜Ｓ１２９の第３処理が実行される。
ステップＳ１２７において、Ｈｏｓｔ＿ＣＰＵ３は、保持している指示値ＯＵＴ１とＯＵＴ２に基づいて、Ｘ軸方向重力補正量ＯＵＴＧＸと、Ｘ軸方向サスペンション不平衡補正量ＯＵＴＭＸを算出する。ＯＵＴ１は、重力とサスペンション２０の不平衡を補正しているため、ＯＵＴ１＝ＯＵＴＭＸ＋ＯＵＴＧＸとなる。ＯＵＴ２は、重力とサスペンション２０の不平衡を補正しており、かつ、カメラモジュール４のソケット２３を１８０度回転させたことによってＯＵＴ１を測定した状態から重力の影響は反転しているので、ＯＵＴ２＝ＯＵＴＭＸ−ＯＵＴＧＸとなる。従って、Ｘ軸方向重力補正量ＯＵＴＧＸと、Ｘ軸方向サスペンション不平衡補正量ＯＵＴＭＸとは、以下の式で表される。
【００８５】
ＯＵＴＧＸ＝（ＯＵＴ１−ＯＵＴ２）／２…(A3）
ＯＵＴＭＸ＝（ＯＵＴ１＋ＯＵＴ２）／２…(A4)
ステップＳ１２８において、Ｈｏｓｔ＿ＣＰＵ３は、Ｘ軸方向重力補正量ＯＵＴＧＸを制御ＩＣ２へ送る。制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信したＸ軸方向重力補正量ＯＵＴＧＸをドライバ１０の出力値に変換して変換した値ＧＸを第１メモリ１１へ書き込む。
【００８６】
ステップＳ１２９において、Ｈｏｓｔ＿ＣＰＵ３は、Ｘ軸方向サスペンション不平衡補正量ＯＵＴＭＸを制御ＩＣ２へ送る。制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信したＸ軸方向サスペンション不平衡補正量ＯＵＴＭＸをドライバ１０の出力値に変換して、変換した値ＭＸを第２メモリ１２へ書き込む。
【００８７】
次に、ステップＳ１３０〜Ｓ１４２の第４処理が実行される。
ステップＳ１３０において、カメラモジュール４のソケット２３は、Ｙ+方向が重力方向と一致するような傾きに設定される。
【００８８】
ステップＳ１３１において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＹ-方向の端へ移動させるための指示値ＰＹを制御ＩＣ２に送信する。
【００８９】
ステップＳ１３２において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＹに基づいて、補正レンズ２１をＹ−方向の端へ移動させるドライバ出力値ＩＹを特定し、特定したトライバ出力値ＩＹを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１がＹ-方向に変位する（図１７（ａ）に示す）。
【００９０】
ステップＳ１３３において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【００９１】
ステップＳ１３４において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標Ｙ１を判断する。
【００９２】
ステップＳ１３５において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＹ+方向の端へ移動させるための指示値ＰＹを制御ＩＣ２に送信する。
【００９３】
ステップＳ１３６において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＹに基づいて、補正レンズ２１をＹ+方向の端へ移動させるドライバ出力値ＩＹを特定し、特定したトライバ出力値ＩＹを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１がＹ+方向に変位する（図１７（ｂ）に示す）。
【００９４】
ステップＳ１３７において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【００９５】
ステップＳ１３８において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標Ｙ２を判断する。
【００９６】
ステップＳ１３９において、Ｈｏｓｔ＿ＣＰＵ３は、カメラモジュール４のイメージセンサ１９から出力される画像データのチャート７１のＹ座標が（Ｙ１＋Ｙ２）／２となるようにテスト回路９への指示値ＰＹを順次変化させる。
【００９７】
ステップＳ１４０において、制御ＩＣ２のテスト回路９が、指示値とドライバ出力値の対応テーブルに従って、順次受信する指示値ＰＹに基づいて、ドライバ出力値ＩＹが順次変化するように制御信号を順次変化させる。ドライバ１０は、順次変化する制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１が順次Ｙ方向に変位する（図１７（ｃ）に示す）。
【００９８】
ステップＳ１４１において、カメラモジュール４のイメージセンサ１９は、順次チャート７１を撮影して画像データを順次出力し、カメラモジュール４の信号処理回路は、順次生成される画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【００９９】
ステップＳ１４２において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標が（Ｙ１＋Ｙ２）／２のときの指示値ＯＵＴ３を保持する。
【０１００】
次に、ステップＳ１４３〜Ｓ１５５の第５処理が実行される。
ステップＳ１４３において、カメラモジュール４は、Ｙ-方向が重力方向と一致するような傾きに設定される。
【０１０１】
ステップＳ１４４において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＹ+方向の端へ移動させるための指示値ＰＹを制御ＩＣ２に送信する。
【０１０２】
ステップＳ１４５において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＹに基づいて、補正レンズ２１をＹ+方向の端へ移動させるドライバ出力値ＩＹを特定し、特定したトライバ出力値ＩＹを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１がＹ-方向に変位する（図１８（ａ）に示す）。
【０１０３】
ステップＳ１４６において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１０４】
ステップＳ１４７において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標Ｙ３を判断する。
【０１０５】
ステップＳ１４８において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＹ-方向の端へ移動させるための指示値ＰＹを制御ＩＣ２に送信する。
【０１０６】
ステップＳ１４９において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＹに基づいて、補正レンズ２１をＹ-方向の端へ移動させるドライバ出力値ＩＹを特定し、特定したトライバ出力値ＩＹを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１がＹ-方向に変位する（図１８（ｂ）に示す）。
【０１０７】
ステップＳ１５０において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１０８】
ステップＳ１５１において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標Ｙ４を判断する。
【０１０９】
ステップＳ１５２において、Ｈｏｓｔ＿ＣＰＵ３は、カメラモジュール４のイメージセンサ１９から出力される画像データのチャート７１のＹ座標が（Ｙ３＋Ｙ４）／２となるようにテスト回路９への指示値ＰＹを順次変化させる。
【０１１０】
ステップＳ１５３において、制御ＩＣ２のテスト回路９が、指示値とドライバ出力値の対応テーブルに従って、順次受信する指示値ＰＹに基づいて、ドライバ出力値ＩＹが順次変化するように制御信号を順次変化させる。ドライバ１０は、順次変化する制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１が順次Ｙ方向に変位する（図１８（ｃ）に示す）。
【０１１１】
ステップＳ１５４において、カメラモジュール４のイメージセンサ１９は、順次チャート７１を撮影して画像データを順次出力し、カメラモジュール４の信号処理回路は、順次生成される画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１１２】
ステップＳ１５５において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標が（Ｙ３＋Ｙ４）／２のときの指示値ＯＵＴ４を保持する。
【０１１３】
次に、ステップＳ１５６〜Ｓ１５９の第６処理が実行される。
ステップＳ１５６において、Ｈｏｓｔ＿ＣＰＵ３は、保持している指示値ＯＵＴ３とＯＵＴ４に基づいて、重力補正量ＯＵＴＧＹと、サスペンション２０不平衡補正量ＯＵＴＭＹを算出する。ＯＵＴ３は、重力とサスペンション２０の不平衡を補正しているため、ＯＵＴ３＝ＯＵＴＭＹ＋ＯＵＴＧＹとなる。ＯＵＴ４は、重力とサスペンション２０の不平衡を補正しており、かつ、カメラモジュール４のソケット２３を１８０度回転させたことによってＯＵＴ３を測定した状態から重力の影響は反転しているので、ＯＵＴ４＝ＯＵＴＭＹ−ＯＵＴＧＹとなる。従って、Ｙ軸方向重力補正量ＯＵＴＧＹと、Ｙ軸方向サスペンション不平衡補正量ＯＵＴＭＹとは、以下の式で表される。
【０１１４】
ＯＵＴＧＹ＝（ＯＵＴ３−ＯＵＴ４）／２…(A5)
ＯＵＴＭＹ＝（ＯＵＴ３＋ＯＵＴ４）／２…(A6)
ステップＳ１５７において、Ｈｏｓｔ＿ＣＰＵ３は、Ｙ軸方向重力補正量ＯＵＴＧＹを制御ＩＣ２へ送る。制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信したＹ軸方向重力補正量ＯＵＴＧＹをドライバ１０の出力値に変換して、変換した値ＧＹを第１メモリ１１へ書き込む。
【０１１５】
ステップＳ１５８において、Ｈｏｓｔ＿ＣＰＵ３は、Ｙ軸方向サスペンション不平衡補正量ＯＵＴＭＹを制御ＩＣ２へ送る。制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信したＹ軸方向サスペンション不平衡補正量ＯＵＴＭＹをドライバ１０の出力値に変換して、変換した値ＭＹを第２メモリ１２へ書き込む。
【０１１６】
ステップＳ１５９において、Ｈｏｓｔ＿ＣＰＵ３は、テスト回路９を無効にするように指示する信号を制御ＩＣ２に出力する。これにより、制御ＩＣ２は、テスト回路９を無効にする。また、Ｈｏｓｔ＿ＣＰＵ３は、スイッチＳＷを制御して、加算器１５とドライバ１０とを接続させる。
【０１１７】
なお、Ｈｏｓｔ＿ＣＰＵ３が、ＯＵＴ１〜ＯＵＴ４を制御ＩＣ２へ送り、制御ＩＣ２のテスト回路９が、ＯＵＴ１〜ＯＵＴ４から、ＯＵＴＧＸ、ＯＵＴＭＸ、ＯＵＴＭＸ、ＯＵＴＭＹを算出することとしてもよい。
【０１１８】
以上のように、本実施の形態によれば、重力およびサスペンション不平衡に基づく補正レンズの変位を補正するための補正量を第１メモリおよび第２メモリに書き込むことができる。これにより、カメラモジュールの実際の動作時（通常動作時）に、これらの補正量を用いることによって、手振れ補正時の補正レンズの位置を適切に制御することができる。
【０１１９】
［第４の実施形態］
図１９は、第４の実施形態における補正レンズ２１の位置のキャリブレーション時のカメラモジュール４およびチャート７１の位置を表わす図である。
【０１２０】
図２０〜図２３は、第４の実施形態における補正レンズ２１の位置のキャリブレーションの手順を表わす図である。
【０１２１】
ステップＳ２００において、Ｈｏｓｔ＿ＣＰＵ３は、テスト回路９を有効にするように指示する信号を制御ＩＣ２に出力する。これにより、制御ＩＣ２は、テスト回路９を有効にする。また、Ｈｏｓｔ＿ＣＰＵ３は、スイッチＳＷを制御して、テスト回路９とドライバ１０とを接続させる。
【０１２２】
ステップＳ２０１において、カメラモジュール４が組み込まれているソケット２３は、上向きの状態、すなわちＺ+方向が重力方向と一致するような傾きに設定される。チャートシート５は、カメラモジュール４のソケット２３からＺ-方向に所定距離だけ離れてＺ軸に垂直に設置される（図１９（ａ）に示す）。
【０１２３】
ステップＳ２０２において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＸ-方向の端へ移動させるための指示値ＰＸを制御ＩＣ２に送信する。
【０１２４】
ステップＳ２０３において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＸに基づいて、補正レンズ２１をＸ−方向の端へ移動させるドライバ出力値ＩＸを特定し、特定したトライバ出力値ＩＸを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１がＸ-方向に変位する。
【０１２５】
ステップＳ２０４において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１２６】
ステップＳ２０５において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標Ｘ１を判断する。
【０１２７】
ステップＳ２０６において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＸ+方向の端へ移動させるための指示値ＰＸを制御ＩＣ２に送信する。
【０１２８】
ステップＳ２０７において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＸに基づいて、補正レンズ２１をＸ+方向の端へ移動させるドライバ出力値ＩＸを特定し、特定したトライバ出力値ＩＸを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１がＸ+方向に変位する。
【０１２９】
ステップＳ２０８において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１３０】
ステップＳ２０９において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標Ｘ２を判断する。
【０１３１】
ステップＳ２１０において、Ｈｏｓｔ＿ＣＰＵ３は、カメラモジュール４のイメージセンサ１９から出力される画像データのチャート７１のＸ座標が（Ｘ１＋Ｘ２）／２となるようにテスト回路９への指示値ＰＸを順次変化させる。
【０１３２】
ステップＳ２１１において、制御ＩＣ２のテスト回路９が、指示値とドライバ出力値の対応テーブルに従って、順次受信する指示値ＰＸに基づいて、ドライバ出力値ＩＸが順次変化するように制御信号を順次変化させる。ドライバ１０は、順次変化する制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１が順次Ｘ方向に変位する。
【０１３３】
ステップＳ２１２において、カメラモジュール４のイメージセンサ１９は、順次チャート７１を撮影して画像データを順次出力し、カメラモジュール４の信号処理回路は、順次生成される画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１３４】
ステップＳ２１３において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標が（Ｘ１＋Ｘ２）／２のときの指示値ＯＵＴＭＸを保持する。
【０１３５】
ステップＳ２１４において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＹ-方向の端へ移動させるための指示値ＰＹを制御ＩＣ２に送信する。
【０１３６】
ステップＳ２１５において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＹに基づいて、補正レンズ２１をＹ−方向の端へ移動させるドライバ出力値ＩＹを特定し、特定したトライバ出力値ＩＹを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１がＹ-方向に変位する。
【０１３７】
ステップＳ２１６において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１３８】
ステップＳ２１７において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標Ｙ１を判断する。
【０１３９】
ステップＳ２１８において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＹ+方向の端へ移動させるための指示値ＰＹを制御ＩＣ２に送信する。
【０１４０】
ステップＳ２１９において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＹに基づいて、補正レンズ２１をＹ+方向の端へ移動させるドライバ出力値ＩＹを特定し、特定したトライバ出力値ＩＹを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１がＹ+方向に変位する。
【０１４１】
ステップＳ２２０において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１４２】
ステップＳ２２１において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標Ｙ２を判断する。
【０１４３】
ステップＳ２２２において、Ｈｏｓｔ＿ＣＰＵ３は、カメラモジュール４のイメージセンサ１９から出力される画像データのチャート７１のＹ座標が（Ｙ１＋Ｙ２）／２となるようにテスト回路９への指示値ＰＹを順次変化させる。
【０１４４】
ステップＳ２２３において、制御ＩＣ２のテスト回路９が、指示値とドライバ出力値の対応テーブルに従って、順次受信する指示値ＰＹに基づいて、ドライバ出力値ＩＹが順次変化するように制御信号を順次変化させる。ドライバ１０は、順次変化する制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１が順次Ｙ方向に変位する。
【０１４５】
ステップＳ２２４において、カメラモジュール４のイメージセンサ１９は、順次チャート７１を撮影して画像データを順次出力し、カメラモジュール４の信号処理回路は、順次生成される画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１４６】
ステップＳ２２５において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標が（Ｙ１＋Ｙ２）／２のときの指示値ＯＵＴＭＹを保持する。
【０１４７】
ステップＳ２２６において、Ｘ軸方向およびＹ軸方向には、重力が作用しないので、ＯＵＴＭＸ、ＯＵＴＭＹがサスペンション２０の不平衡による影響を補正するサスペンション不平衡補正量となるので、Ｈｏｓｔ＿ＣＰＵ３は、Ｘ軸方向サスペンション不平衡補正量ＯＵＴＭＸと、Ｙ軸方向サスペンション不平衡補正量ＯＵＴＭＹを制御ＩＣ２へ送る。制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信したＸ軸方向サスペンション不平衡補正量ＯＵＴＭＸと、Ｙ軸方向サスペンション不平衡補正量ＯＵＴＭＹをドライバ１０の出力値に変換して、変換された値ＭＸ、ＭＹと第２メモリ１２へ書き込む。
【０１４８】
ステップＳ２２７において、カメラモジュール４は、立てた状態、すなわちＸ-方向およびＹ-方向と重力方向との差が４５度となるような一致するような傾きに設定される。チャートシート５は、カメラモジュール４のソケット２３からＺ-方向に所定距離だけ離れてＺ軸に垂直に設置される（図１９（ｂ）、（ｃ）に示す）。
【０１４９】
ステップＳ２２８において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＸ-方向の端へ移動させるための指示値ＰＸを制御ＩＣ２に送信する。
【０１５０】
ステップＳ２２９において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＸに基づいて、補正レンズ２１をＸ−方向の端へ移動させるドライバ出力値ＩＸを特定し、特定したトライバ出力値ＩＸを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１がＸ-方向に変位する。
【０１５１】
ステップＳ２３０において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１５２】
ステップＳ２３１において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標Ｘ３を判断する。
【０１５３】
ステップＳ２３２において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＸ+方向の端へ移動させるための指示値ＰＸを制御ＩＣ２に送信する。
【０１５４】
ステップＳ２３３において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＸに基づいて、補正レンズ２１をＸ+方向の端へ移動させるドライバ出力値ＩＸを特定し、特定したトライバ出力値ＩＸを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１がＸ+方向に変位する。
【０１５５】
ステップＳ２３４において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１５６】
ステップＳ２３５において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標Ｘ４を判断する。
【０１５７】
ステップＳ２３６において、Ｈｏｓｔ＿ＣＰＵ３は、カメラモジュール４のイメージセンサ１９から出力される画像データのチャート７１のＸ座標が（Ｘ３＋Ｘ４）／２となるようにテスト回路９への指示値ＰＸを順次変化させる。
【０１５８】
ステップＳ２３７において、制御ＩＣ２のテスト回路９が、指示値とドライバ出力値の対応テーブルに従って、順次受信する指示値ＰＸに基づいて、ドライバ出力値ＩＸが順次変化するように制御信号を順次変化させる。ドライバ１０は、順次変化する制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１が順次Ｘ方向に変位する。
【０１５９】
ステップＳ２３８において、カメラモジュール４のイメージセンサ１９は、順次チャート７１を撮影して画像データを順次出力し、カメラモジュール４の信号処理回路は、順次生成される画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１６０】
ステップＳ２３９において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標が（Ｘ３＋Ｘ４）／２のときの指示値ＯＵＴＸを保持する。
【０１６１】
ステップＳ２４０において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＹ-方向の端へ移動させるための指示値ＰＹを制御ＩＣ２に送信する。
【０１６２】
ステップＳ２４１において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＹに基づいて、補正レンズ２１をＹ−方向の端へ移動させるドライバ出力値ＩＹを特定し、特定したトライバ出力値ＩＹを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１がＹ-方向に変位する。
【０１６３】
ステップＳ２４２において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１６４】
ステップＳ２４３において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標Ｙ３を判断する。
【０１６５】
ステップＳ２４４において、Ｈｏｓｔ＿ＣＰＵ３は、補正レンズ２１をＹ+方向の端へ移動させるための指示値ＰＹを制御ＩＣ２に送信する。
【０１６６】
ステップＳ２４５において、制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信した指示値ＰＹに基づいて、補正レンズ２１をＹ+方向の端へ移動させるドライバ出力値ＩＹを特定し、特定したトライバ出力値ＩＹを表わす制御信号をドライバ１０へ送る。ドライバ１０は、制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１がＹ+方向に変位する。
【０１６７】
ステップＳ２４６において、カメラモジュール４のイメージセンサ１９は、チャート７１を撮影して画像データを出力し、カメラモジュール４の信号処理回路は、画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１６８】
ステップＳ２４７において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標Ｙ４を判断する。
【０１６９】
ステップＳ２４８において、Ｈｏｓｔ＿ＣＰＵ３は、カメラモジュール４のイメージセンサ１９から出力される画像データのチャート７１のＹ座標が（Ｙ３＋Ｙ４）／２となるようにテスト回路９への指示値ＰＹを順次変化させる。
【０１７０】
ステップＳ２４９において、制御ＩＣ２のテスト回路９が、指示値とドライバ出力値の対応テーブルに従って、順次受信する指示値ＰＹに基づいて、ドライバ出力値ＩＹが順次変化するように制御信号を順次変化させる。ドライバ１０は、順次変化する制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１が順次Ｙ方向に変位する。
【０１７１】
ステップＳ２５０において、カメラモジュール４のイメージセンサ１９は、順次チャート７１を撮影して画像データを順次出力し、カメラモジュール４の信号処理回路は、順次生成される画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１７２】
ステップＳ２５１において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標が（Ｙ３＋Ｙ４）／２のときの指示値ＯＵＴＹを保持する。
【０１７３】
ステップＳ２５２において、Ｈｏｓｔ＿ＣＰＵ３は、ＯＵＴＸ、ＯＵＴＹ、ＯＵＴＭＸ、ＯＵＴＭＹから以下の式に従って、ＯＵＴＧＸ、ＯＵＴＧＹを算出する。
【０１７４】
ＯＵＴＧＸ＝√２＊（ＯＵＴＸ−ＯＵＴＭＸ）…(A7)
ＯＵＴＧＹ＝√２＊（ＯＵＴＹ−ＯＵＴＭＹ）…(A8)
ステップＳ２２６において、Ｈｏｓｔ＿ＣＰＵ３は、Ｘ軸方向重力補正量ＯＵＴＧＸ、Ｙ軸方向重力補正量ＯＵＴＧＹを制御ＩＣ２へ送る。制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信したＸ軸方向重力補正量ＯＵＴＧＸ、Ｙ軸方向重力補正量ＯＵＴＧＹをドライバ１０の出力値に変換して、変換した値ＧＸ、ＧＹを第１メモリ１１へ書き込む。
【０１７５】
ステップＳ２２７において、Ｈｏｓｔ＿ＣＰＵ３は、テスト回路９を無効にするように指示する信号を制御ＩＣ２に出力する。これにより、制御ＩＣ２は、テスト回路９を無効にする。また、Ｈｏｓｔ＿ＣＰＵ３は、スイッチＳＷを制御して、加算器１５とドライバ１０とを接続させる。
【０１７６】
以上のように、本実施の形態によれば、第３の実施形態と同様に、重力およびサスペンション不平衡に基づく補正レンズの変位を補正するための補正量を第１メモリおよび第２メモリに書き込むことができる。これにより、カメラモジュールの実際の動作時（通常動作時）に、これらの補正量を用いることによって、手振れ補正時の補正レンズの位置を適切に制御することができる。
【０１７７】
[第５の実施形態]
図２４は、第５の実施形態における補正レンズ２１の位置のキャリブレーションの手順の一部を表わす図である。
【０１７８】
本実施の形態でも、第４の実施形態のステップＳ２０１〜Ｓ２２６を実行する。本実施の形態では、その後の処理が、第４の実施形態と相違する。以下、相違する処理について説明する。
【０１７９】
ステップＳ３２７において、カメラモジュール４とチャートシート５との相対的な位置関係を維持するためにカメラモジュール４とチャートシート５の間に固定部材９９ａ，９９ｂ，９９ｃを取り付け、カメラモジュール４を前方に９０度回転させ、その後横方向に４５度回転させる。これによって、カメラモジュール４をチャートシート５との間の相対的な位置関係を維持しつつ、カメラモジュール４のＸ-方向およびＹ-方向と重力方向との差が４５度となるような傾きに設定される。これによって、Ｘ３、Ｘ４、Ｙ３、Ｙ４を求める処理を省略できる（図１９（ｂ）に示す）。
【０１８０】
ステップＳ３２８において、Ｈｏｓｔ＿ＣＰＵ３は、カメラモジュール４のイメージセンサ１９から出力される画像データのチャート７１のＸ座標が（Ｘ１＋Ｘ２）／２となるようにテスト回路９への指示値ＰＸを順次変化させる。ここで、Ｘ１は、図２０のステップＳ２０５で得られる値であり、Ｘ２は、図２０のステップＳ２０９で得られる値である。
【０１８１】
ステップＳ３２９において、制御ＩＣ２のテスト回路９が、指示値とドライバ出力値の対応テーブルに従って、順次受信する指示値ＰＸに基づいて、ドライバ出力値ＩＸが順次変化するように制御信号を順次変化させる。ドライバ１０は、順次変化する制御信号で表されるドライバ出力値（電流）ＩＸをコイル１７Ｘに供給する。コイル１７Ｘから発生する磁界の変化で補正レンズ２１が順次Ｘ方向に変位する。
【０１８２】
ステップＳ３３０において、カメラモジュール４のイメージセンサ１９は、順次チャート７１を撮影して画像データを順次出力し、カメラモジュール４の信号処理回路は、順次生成される画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１８３】
ステップＳ３３１において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＸ座標が（Ｘ１＋Ｘ２）／２のときの指示値ＯＵＴＸを保持する。
【０１８４】
ステップＳ３３２において、Ｈｏｓｔ＿ＣＰＵ３は、カメラモジュール４のイメージセンサ１９から出力される画像データのチャート７１のＹ座標が（Ｙ１＋Ｙ２）／２となるようにテスト回路９への指示値ＰＹを順次変化させる。ここで、Ｙ１は、図２１のステップＳ２１７で得られる値であり、Ｙ２は、図２１のステップＳ２２１で得られる値である。
【０１８５】
ステップＳ３３３において、制御ＩＣ２のテスト回路９が、指示値とドライバ出力値の対応テーブルに従って、順次受信する指示値ＰＹに基づいて、ドライバ出力値ＩＹが順次変化するように制御信号を順次変化させる。ドライバ１０は、順次変化する制御信号で表されるドライバ出力値（電流）ＩＹをコイル１７Ｙに供給する。コイル１７Ｙから発生する磁界の変化で補正レンズ２１が順次Ｙ方向に変位する。
【０１８６】
ステップＳ３３４において、カメラモジュール４のイメージセンサ１９は、順次チャート７１を撮影して画像データを順次出力し、カメラモジュール４の信号処理回路は、順次生成される画像データを信号処理（増幅、ノイズ除去、Ａ／Ｄ変換など）して、Ｈｏｓｔ＿ＣＰＵ３に送る。
【０１８７】
ステップＳ３３５において、Ｈｏｓｔ＿ＣＰＵ３は、受信した画像データからチャート７１のＹ座標が（Ｙ１＋Ｙ２）／２のときの指示値ＯＵＴＹを保持する。
【０１８８】
ステップＳ３３６において、Ｈｏｓｔ＿ＣＰＵ３は、ＯＵＴＸ、ＯＵＴＹ、ＯＵＴＭＸ、ＯＵＴＭＹから、ＯＵＴＧＸ、ＯＵＴＧＹを算出する。ＯＵＴＸ、ＯＵＴＹは、Ｘ軸方向およびＹ軸方向が重力方向と４５度離れたときの重力とサスペンション２０の不平衡を補正している。したがって、Ｈｏｓｔ＿ＣＰＵ３は、以下の式を計算する。
【０１８９】
ＯＵＴＧＸ＝√２＊（ＯＵＴＸ−ＯＵＴＭＸ）…(A9)
ＯＵＴＧＹ＝√２＊（ＯＵＴＹ−ＯＵＴＭＹ）…(A10)
ステップＳ３３７において、Ｈｏｓｔ＿ＣＰＵ３は、Ｘ軸方向重力補正量ＯＵＴＧＸ、Ｙ軸方向重力補正量ＯＵＴＧＹを制御ＩＣ２へ送る。制御ＩＣ２のテスト回路９は、指示値とドライバ出力値の対応テーブルに従って、受信したＸ軸方向重力補正量ＯＵＴＧＸ、Ｙ軸方向重力補正量ＯＵＴＧＹをドライバ１０の出力値に変換して、変換した値ＧＸ、ＧＹを第１メモリ１１へ書き込む。
【０１９０】
ステップＳ３３８において、Ｈｏｓｔ＿ＣＰＵ３は、テスト回路９を無効にするように指示する信号を制御ＩＣ２に出力する。これにより、制御ＩＣ２は、テスト回路９を無効にする。また、Ｈｏｓｔ＿ＣＰＵ３は、スイッチＳＷを制御して、加算器１５とドライバ１０とを接続させる。
【０１９１】
以上のように、本実施の形態によれば、第３および第４の実施形態と同様に、重力およびサスペンション不平衡に基づく補正レンズの変位を補正するための補正量を第１メモリおよび第２メモリに書き込むことができる。これにより、カメラモジュールの実際の動作時（通常動作時）に、これらの補正量を用いることによって、手振れ補正時の補正レンズの位置を適切に制御することができる。
【０１９２】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
【符号の説明】
【０１９３】
２，５２，６２  制御ＩＣ、３，６３  Ｈｏｓｔ＿ＣＰＵ、４，５４  カメラモジュール、５  チャートシート、６，１０１  振動検出センサ、７  傾き検出センサ、８  手振れ補正部、９  テスト回路、１０  ドライバ、１１  第１メモリ、１２  第２メモリ、１３  傾き補正部、１４  加算器、１５  加算器、１６  信号処理回路、１７Ｘ，１７Ｙ  コイル、１８Ｘ，１８Ｙ  マグネット、１９  イメージセンサ、２０  サスペンション、２１，１１０  補正レンズ、２３  ソケット、５１  信号処理部、５３  ＰＩＤ制御部、５５  ＡＤＣ、５６ａ，５６ｂ  位置検出素子、５７  減算器、８１  光学系、１００  カメラコントローラ、１０２  傾き検出センサ、１０３  第１の記憶部、１０４  第２の記憶部、１０７  制御部、１０９  光学系、ＳＷ  スイッチ。
【図１】
2018106051.tif 000003
【図２】
2018106051.tif 000004
【図３】
2018106051.tif 000005
【図４】
2018106051.tif 000006
【図５】
2018106051.tif 000007
【図６】
2018106051.tif 000008
【図７】
2018106051.tif 000009
【図８】
2018106051.tif 000010
【図９】
2018106051.tif 000011
【図１０】
2018106051.tif 000012
【図１１】
2018106051.tif 000013
【図１２】
2018106051.tif 000014
【図１３】
2018106051.tif 000015
【図１４】
2018106051.tif 000016
【図１５】
2018106051.tif 000017
【図１６】
2018106051.tif 000018
【図１７】
2018106051.tif 000019
【図１８】
2018106051.tif 000020
【図１９】
2018106051.tif 000021
【図２０】
2018106051.tif 000022
【図２１】
2018106051.tif 000023
【図２２】
2018106051.tif 000024
【図２３】
2018106051.tif 000025
【図２４】
2018106051.tif 000026