(57)【要約】【課題】レーザ変位計やレーザドップラー測定器を用いずに、線形補償に必要なデータを取得する。【解決手段】アクチュエータドライバは、位置検出信号Ｓ２に応じた第１検出コードＤ２をレンズの変位に対して線形である第２検出コードＤ３に変換する。第１検出コードＤ２を第２検出コードＤ３に変換するための関係式を取得するキャリブレーション工程では、撮像装置に基準となる被写体を提示する（Ｓ１００）。アクチュエータドライバがアクチュエータを制御してレンズを複数のポイントに変位させながら、各ポイントで第１検出コードＤ２と撮像素子が撮像した像の移動距離とを取得する（Ｓ１０２〜Ｓ１０８）。各ポイントで得られた像の移動距離と第１検出コードＤ２とにもとづいて、第１検出コードＤ２を第２検出コードＤ３に変換するための関係式が生成される（Ｓ１１０）。【選択図】図６
2018138984.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置であって、
撮像素子と、
前記撮像素子への入射光路上に設けられたレンズと、
前記レンズを光軸と垂直な面内で変位させるアクチュエータと、
前記レンズの変位を示す位置検出信号を生成する位置検出素子と、
前記レンズの目標変位を示すターゲットコードと前記位置検出信号にもとづいて前記アクチュエータをフィードバック制御するアクチュエータドライバと、
を備え、
前記アクチュエータドライバは、
前記位置検出信号に応じた第１検出コードを、前記レンズの実際の変位と線形な関係を有する第２検出コードに変換する補正回路と、
前記第２検出コードが前記ターゲットコードに近づくように前記アクチュエータを制御する制御回路と、
を備え、
前記第１検出コードを前記第２検出コードに変換するための関係式を取得するキャリブレーション工程において、前記レンズの前記実際の変位は、前記撮像素子によって撮像される像の移動距離にもとづいていることを特徴とする撮像装置。
【請求項２】
前記像の移動距離は、前記像が移動する画素数と前記撮像素子の画素ピッチから算出されることを特徴とする請求項１に記載の撮像装置。
【請求項３】
前記第１検出コードを前記第２検出コードに変換するための関係式は、複数の区間に分割され、各区間において直線近似されることを特徴とする請求項１または２に記載の撮像装置。
【請求項４】
前記第１検出コードを前記第２検出コードに変換するための関係式は温度依存性を有することを特徴とする請求項１から３のいずれかに記載の撮像装置。
【請求項５】
撮像装置のキャリブレーション方法であって、
前記撮像装置は、
撮像素子と、
前記撮像素子への入射光路上に設けられたレンズと、
前記レンズを光軸と垂直な面内で変位させるアクチュエータと、
前記レンズの変位を示す位置検出信号を生成する位置検出素子と、
前記レンズの目標変位を示すターゲットコードと前記位置検出信号にもとづいて前記アクチュエータをフィードバック制御するアクチュエータドライバと、
を備え、
前記アクチュエータドライバは、
前記位置検出信号に応じた第１検出コードを、前記レンズの実際の変位と線形な関係を有する第２検出コードに変換する補正回路と、
前記第２検出コードが前記ターゲットコードに近づくように前記アクチュエータを制御する制御回路と、
を備え、
前記キャリブレーション方法は、
前記撮像装置に基準となる被写体を提示するステップと、
前記アクチュエータドライバが前記アクチュエータを制御して前記レンズを複数のポイントに変位させながら、各ポイントで前記第１検出コードと前記撮像素子が撮像した像の移動距離とを取得するステップと、
各ポイントで得られた前記像の移動距離と前記第１検出コードとにもとづいて、前記第１検出コードを前記第２検出コードに変換するための関係式を生成するステップと、
を備えることを特徴とするキャリブレーション方法。
【請求項６】
各ポイントで得られた前記像の移動距離を前記レンズの前記実際の変位に変換するステップをさらに備え、
前記第１検出コードを前記第２検出コードに変換するための関係式は、各ポイントで得られた前記レンズの前記実際の変位と前記第１検出コードとにもとづいて、生成されることを特徴とする請求項５に記載のキャリブレーション方法。
【請求項７】
撮像装置に使用されるアクチュエータドライバであって、
前記撮像装置は、
撮像素子と、
前記撮像素子への入射光路上に設けられたレンズと、
前記レンズを光軸と垂直な面内で変位させるアクチュエータと、
前記レンズの変位を示す位置検出信号を生成する位置検出素子と、
前記レンズの目標変位を示すターゲットコードと前記位置検出信号にもとづいて前記アクチュエータをフィードバック制御する前記アクチュエータドライバと、
を備え、
前記アクチュエータドライバは、
前記位置検出信号に応じた第１検出コードを、前記レンズの実際の変位と線形な関係を有する第２検出コードに変換する補正回路と、
前記第２検出コードが前記ターゲットコードに近づくように前記アクチュエータを制御する制御回路と、
前記第１検出コードを前記第２検出コードに変換するための関係式を取得するためのキャリブレーションプログラムを実行するプロセッサと、
を備え、
前記キャリブレーションプログラムの実行中に取得される前記レンズの前記実際の変位は、前記撮像素子によって撮像される像の移動距離にもとづいていることを特徴とするアクチュエータドライバ。
【請求項８】
前記キャリブレーションプログラムによって、前記レンズを複数ポイントで移動させるための前記ターゲットコードを、前記アクチュエータドライバの内部で自動生成する機能が提供されることを特徴とする請求項７に記載のアクチュエータドライバ。
【請求項９】
前記キャリブレーションプログラムによって、前記第１検出コードを前記第２検出コードに変換するための関係式を、前記アクチュエータドライバの内部で自動生成する機能が提供されることを特徴とする請求項７または８に記載のアクチュエータドライバ。
【請求項１０】
ひとつの基板に一体集積化されることを特徴とする請求項７から９のいずれかに記載のアクチュエータドライバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置に関する。
【背景技術】
【０００２】
近年、スマートフォンなどに搭載されるカメラモジュールに、光学手ぶれ補正（ＯＩＳ：Optical Image Stabilizer）の採用が進められている。光学手ぶれ補正付きのカメラモジュールは、撮像素子の撮像面と水平方向（ＸＹ平面）に移動可能なレンズ（手振れ補正用レンズと称する）を備える。ジャイロセンサなどのブレ検出手段によってブレが検出されると、ブレが相殺されるように、レンズをシフトさせる。
【０００３】
図１は、手振れ補正機能を備えるカメラモジュールのブロック図である。カメラモジュール１０００は、撮像素子１００２、レンズ１００４、アクチュエータ１００６、アクチュエータドライバ１００８、位置検出素子１０１０、ブレ検出手段１０１２、ＣＰＵ（Central Processing Unit）１０１４を備える。
【０００４】
撮像素子１００２は、レンズ１００４を透過した像を撮影する。ブレ検出手段１０１２は、カメラモジュール１０００のブレを検出する。アクチュエータドライバ１００８は、ブレ検出手段１０１２が検出したブレ量を示す信号を受け、ブレが相殺されるように、レンズ１００４の変位の目標値を示すターゲットコードを生成する。アクチュエータドライバ１００８は、内部で生成したターゲットコードにもとづいて、アクチュエータ１００６に対する駆動信号Ｓ５を生成する。アクチュエータ１００６は、駆動信号Ｓ５に応じてレンズ１００４を位置決めする。
【０００５】
手振れ補正では、レンズ１００４を正確に位置決めする必要があるため、フィードバック制御（クローズドループ制御）が採用される。位置検出素子１０１０は、レンズ１００４の変位を示す位置検出信号Ｓ２を生成する。アクチュエータドライバ１００８は、位置検出信号Ｓ２の示すレンズ１００４の位置が、ターゲットコードが示す目標位置と一致するように、駆動信号Ｓ５をフィードバック制御する。
【０００６】
アクチュエータドライバ１００８は、ブレ検出手段１０１２の出力にもとづいて計算される角度ぶれ量とレンズ１００４の変位との間で線形制御を行う。したがって、カメラモジュール１０００においては、検出したレンズ１００４の変位と実際の変位との間に直線性が確保されていることが重要となる。しかしながら、位置検出素子１０１０が生成する位置検出信号Ｓ２と、実際のレンズ１００４の変位の間に、完全な線形性を保証することは難しいため、補正が必要となる。
【０００７】
特許文献１には、ＯＩＳにおける位置検出素子の出力の非線形性を補正するために補正関数や補正テーブルを用いることが開示されている。また特許文献２には、温度変化によって生じるＯＩＳ用位置検出素子の出力変動を補償することが開示されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１４５６３５号公報
【特許文献２】特開２０１０−２０４５７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
このような補正（以下、線形補償という）のために、あらかじめ位置検出信号Ｓ２とレンズ１００４の実際の位置の関係を測定する必要がある。
レンズ１００４の光軸方向（Ｚ軸）の変位情報は、比較的安価なレーザ変位計などを利用して測定することができ、製造工程内に設置されるケースも多くある。
【００１０】
レーザ変位計によって光学手振れ補正の制御に必要となる光軸に垂直な方向（ＸＹ軸）の変位情報を取得するためには、レーザを、レンズ１００４に対して光軸と垂直な方向から照射する必要がある。しかしながら実際には、レンズ１００４の側面は、図示しないその他の部材で覆われているため、レーザ変位計によりレンズ１００４の変位を測定することは困難である。
【００１１】
ＸＹ方向の変位をＺ軸方向から検出する変位計もあるが、専用のターゲットを貼り付ける必要があって、測定に手間がかかることや、装置自体が高価なため、変位情報を得るのにコストがかかる。レーザドップラー測定器でもＸＹ方向の変位を測定できるが、同様に高価である。
【００１２】
本発明はかかる状況に鑑みてなされたものであり、そのある態様の例示的な目的のひとつは、レーザ変位計やレーザドップラー測定器を用いずに、線形補償に必要なデータを取得する技術の提供にある。
【課題を解決するための手段】
【００１３】
本発明のある態様は、撮像装置に関する。撮像装置は、撮像素子と、撮像素子への入射光路上に設けられたレンズと、レンズを光軸と垂直な面内で変位させるアクチュエータと、レンズの変位を示す位置検出信号を生成する位置検出素子と、レンズの目標変位を示すターゲットコードと位置検出信号にもとづいてアクチュエータをフィードバック制御するアクチュエータドライバと、を備える。アクチュエータドライバは、位置検出信号に応じた第１検出コードを、レンズの実際の変位と線形な関係を有する第２検出コードに変換する補正回路と、第２検出コードがターゲットコードに近づくようにアクチュエータを制御する制御回路と、を備える。第１検出コードを第２検出コードに変換するための関係式を取得するキャリブレーション工程において、レンズの実際の変位は、撮像素子によって撮像される像の移動距離にもとづいている。
【００１４】
この態様によると、レンズの実際の変位をレーザ変位計やレーザドップラー測定器を用いずに測定でき、それから得られる情報を利用して線形補償に必要なデータを取得できる。
【００１５】
像の移動距離は、像が移動する画素数と撮像素子の画素ピッチから算出されてもよい。
【００１６】
本発明の別の態様は、撮像装置のキャリブレーション方法に関する。撮像装置は、撮像素子と、撮像素子への入射光路上に設けられたレンズと、レンズを光軸と垂直な面内で変位させるアクチュエータと、レンズの変位を示す位置検出信号を生成する位置検出素子と、レンズの目標変位を示すターゲットコードと位置検出信号にもとづいてアクチュエータをフィードバック制御するアクチュエータドライバと、を備える。アクチュエータドライバは、位置検出信号に応じた第１検出コードを、レンズの実際の変位と線形な関係を有する第２検出コードに変換する補正回路と、第２検出コードがターゲットコードに近づくようにアクチュエータを制御する制御回路と、を備える。キャリブレーション方法は、撮像装置に基準となる被写体を提示するステップと、アクチュエータドライバがアクチュエータを制御してレンズを複数のポイントに変位させながら、各ポイントで第１検出コードと撮像素子が撮像した像の移動距離とを取得するステップと、各ポイントで得られた像の移動距離をレンズの実際の変位に変換するステップと、各ポイントで得られたレンズの実際の変位と第１検出コードとにもとづいて、第１検出コードを第２検出コードに変換するための関係式を生成するステップと、を備える。
【００１７】
本発明のさらに別の態様は、撮像装置に使用されるアクチュエータドライバに関する。撮像装置は、撮像素子と、撮像素子への入射光路上に設けられたレンズと、レンズを光軸と垂直な面内で変位させるアクチュエータと、レンズの変位を示す位置検出信号を生成する位置検出素子と、レンズの目標変位を示すターゲットコードと位置検出信号にもとづいてアクチュエータをフィードバック制御するアクチュエータドライバと、を備える。アクチュエータドライバは、位置検出信号に応じた第１検出コードを、レンズの実際の変位と線形な関係を有する第２検出コードに変換する補正回路と、第２検出コードがターゲットコードに近づくようにアクチュエータを制御する制御回路と、第１検出コードを第２検出コードに変換するための関係式を取得するためのキャリブレーションプログラムを実行するプロセッサと、を備える。キャリブレーションプログラムの実行中、レンズの実際の変位は、撮像素子によって撮像される像の移動距離にもとづいている。
【００１８】
本発明の別の態様は、撮像装置に関する。撮像装置は、撮像レンズと、撮像素子と、撮像レンズを駆動するためのアクチュエータと、撮像レンズの位置を検出するための位置検出手段と、を備え、位置検出手段による位置検出信号と、撮像レンズの変位との関係の直線性を補正するための線形補償手段を有し、撮像レンズの変位を、撮像素子の画像情報から撮像レンズの移動時の像の移動距離として算出することを特徴としている。
【００１９】
以上の構成によれば、高価な変位測定器を用いることなく撮像レンズの変位情報を得ることができ、得られた変位情報に基づいて位置検出信号と撮像レンズの変位との関係の直線性を補正することが可能となるため、撮像レンズの高精度かつ高速の位置決めが可能となる。
【００２０】
またある態様では、像の移動距離は、像が移動する画素数と撮像素子の画素ピッチから算出してもよい。
【００２１】
以上の構成によれば、簡単な計算で撮像レンズの変位を算出することができる。
【００２２】
また、ある態様の撮像装置では、線形補償手段は、位置検出信号と撮像レンズの変位との関係を関数化し、実際に検出された位置検出信号に対して関数を利用して撮像レンズの変位を算出し、算出された撮像レンズの変位に対して所定の直線となるように位置検出信号を補正してもよい。
【００２３】
以上の構成によれば、位置検出信号と撮像レンズの変位との関係の直線性を補正することが可能となるため、撮像レンズの高精度かつ高速の位置決めが可能となる。
【００２４】
また、ある態様の撮像装置では、関数を直線のつなぎ合わせによって近似してもよい。
【００２５】
以上の構成によれば、複雑な関数計算を行うことなく、１次関数を用いた計算によって直線化が実現できるため、直線化のための計算を簡略化できる。
【００２６】
また、ある態様の撮像装置では、位置検出信号と撮像レンズの変位との関係を撮像装置の工場出荷時までに算出し、撮像装置内のメモリに記録しておいてもよい。
【００２７】
以上の構成によれば、記録された位置検出信号と撮像レンズの変位との関係に基づいて、位置検出信号と撮像レンズの変位との関係の直線性を補正することが可能となる。
【００２８】
また、ある態様の撮像装置では、位置検出信号と撮像レンズの変位との関係を所定のタイミングで算出してもよい。
【００２９】
以上の構成によれば、たとえばスマートフォンのカメラ起動時に撮像レンズを変位させ、推奨する被写体の像の変位を測定し、このときの位置検出信号と撮像レンズの変位との関係に基づいて、位置検出信号と撮像レンズの変位との関係の直線性を補正することが可能となる。さらには、実際にカメラを使用している状態での位置検出信号と撮像レンズの変位との関係がわかるため、温度変化や経年変化の影響まで補正できる。
【００３０】
また、ある態様の撮像装置では、位置検出信号と撮像レンズの変位との関係を使用者の命令にしたがって算出してもよい。
【００３１】
以上の構成によれば、たとえばスマートフォンのユーザが線形補償する命令ボタンを押したときに撮像レンズを変位させ、推奨する被写体の像の変位を測定し、このときの位置検出信号と撮像レンズの変位との関係に基づいて、位置検出信号と撮像レンズの変位との関係の直線性を補正することが可能となる。さらには、実際にカメラを使用している状態での位置検出信号と撮像レンズの変位との関係がわかるため、温度変化や経年変化の影響まで補正できる。
【００３２】
また、ある態様の撮像装置では、線形補償手段に加えて温度補償手段を有し、位置検出信号と撮像レンズとの変位との関係の直線性を補正するとともに、関係の温度による変化も補正してもよい。
【００３３】
以上の構成によれば、線形補償に加えて温度補償も行えるため、撮像レンズのより高精度かつ高速の位置決めが可能となる。
【００３４】
また、ある態様の撮像装置では、温度補償手段の温度検出は、位置検出手段の内部抵抗の温度による変化を利用して行ってもよい。
【００３５】
以上の構成によれば、アクチュエータ内部にあるホール素子の端子間抵抗の変化を利用して温度を検出するので、温度補償すべき対象物近傍の温度を正確に把握することができ、高精度の温度補償が可能となる。
【００３６】
本発明の別の態様は、アクチュエータドライバに関する。アクチュエータドライバは、制御対象の位置を示す位置検出値を生成する位置検出部と、位置検出値を補正する補正部と、補正後の位置検出値と、制御対象の目標位置を示す位置指令値とが一致するように制御指令値を生成するコントローラと、制御指令値に応じた駆動信号をアクチュエータに印加するドライバ部と、を備え、補正部は、撮像素子の画像情報における像の移動情報から得られる変位情報を利用して、位置検出値と、制御対象の実際の変位との関係の直線性を補正することを特徴としている。
【００３７】
この態様によれば、高価な変位測定器を用いることなく制御対象の変位情報を得ることができ、得られた変位情報に基づいて位置検出信号と制御対象の変位との関係の直線性を補正することが可能となるため、制御対象の高精度かつ高速の位置決めが可能となる。
【００３８】
また、ある態様のアクチュエータドライバでは、補正部は、位置検出信号と、制御対象の実際の変位との関係を関数化し、実際に検出された位置検出信号に対して関数を利用して制御対象の変位を算出し、算出された制御対象の変位に対して所定の直線となるように位置検出信号を補正してもよい。
【００３９】
また、ある態様のアクチュエータドライバでは、関数を直線のつなぎ合わせによって近似してもよい。
【００４０】
また、ある態様のアクチュエータドライバでは、補正部は、位置検出信号と制御対象の変位との関係の直線性を補正するとともに、関係の温度による変化も補正してもよい。
【００４１】
なお、以上の構成要素の任意の組み合わせや本発明の構成要素や表現を、方法、装置、システムなどの間で相互に置換したものもまた、本発明の態様として有効である。さらに、この課題を解決するための手段の記載は、すべての欠くべからざる特徴を説明するものではなく、したがって、記載されるこれらの特徴のサブコンビネーションも、本発明たり得る。
【発明の効果】
【００４２】
本発明によれば、レーザ変位計やレーザドップラー測定器を用いずに、線形補償に必要なデータを取得することができる。
【図面の簡単な説明】
【００４３】
【図１】手振れ補正機能を備えるカメラモジュールのブロック図である。
【図２】実施の形態に係るカメラモジュールのブロック図である。
【図３】図３（ａ）は、第１検出コード、レンズの実際の変位および第２検出コードの関係を示す図であり、図３（ｂ）は、ターゲットコードとレンズの変位の関係を示す図である。
【図４】図４（ａ）〜（ｃ）は、レンズの変位測定の原理を説明する図である。
【図５】像の移動距離とレンズの変位の関係の一例を示す図である。
【図６】撮像素子のキャリブレーションのフローチャートである。
【図７】撮像装置の構成例を示す図である。
【図８】第１実施形態に係る撮像装置における線形補償と温度補償の処理を示すフローチャートである。
【図９】図９（ａ）、（ｂ）は、像の変位を算出する方法を説明するための図である。
【図１０】位置検出信号と像変位との関係の一例を示す図である。
【図１１】関数化された曲線と理想直線の関係を示す図である。
【図１２】図１０の結果に対して直線補正した後の結果を示す図である。
【図１３】直線補正後の位置検出信号と像変位との関係が温度によって変化する結果を示す図である。
【図１４】図１３の結果に対して温度補償を行った後の結果を示す図である。
【図１５】第２実施形態に係る撮像装置の関数を直線近似する方法を説明する図である。
【図１６】レンズ制御装置の具体的なブロック図である。
【発明を実施するための形態】
【００４４】
以下、本発明を好適な実施の形態をもとに図面を参照しながら説明する。各図面に示される同一または同等の構成要素、部材、処理には、同一の符号を付するものとし、適宜重複した説明は省略する。また、実施の形態は、発明を限定するものではなく例示であって、実施の形態に記述されるすべての特徴やその組み合わせは、必ずしも発明の本質的なものであるとは限らない。
【００４５】
また図面に記載される各部材の寸法（厚み、長さ、幅など）は、理解の容易化のために適宜、拡大縮小されている場合がある。さらには複数の部材の寸法は、必ずしもそれらの大小関係を表しているとは限らず、図面上で、ある部材Ａが、別の部材Ｂよりも厚く描かれていても、部材Ａが部材Ｂよりも薄いこともあり得る。
【００４６】
本明細書において、「部材Ａが、部材Ｂと接続された状態」とは、部材Ａと部材Ｂが物理的に直接的に接続される場合のほか、部材Ａと部材Ｂが、それらの電気的な接続状態に実質的な影響を及ぼさない、あるいはそれらの結合により奏される機能や効果を損なわせない、その他の部材を介して間接的に接続される場合も含む。
【００４７】
同様に、「部材Ｃが、部材Ａと部材Ｂの間に設けられた状態」とは、部材Ａと部材Ｃ、あるいは部材Ｂと部材Ｃが直接的に接続される場合のほか、それらの電気的な接続状態に実質的な影響を及ぼさない、あるいはそれらの結合により奏される機能や効果を損なわせない、その他の部材を介して間接的に接続される場合も含む。
【００４８】
図２は、実施の形態に係るカメラモジュール１０００のブロック図である。図２のカメラモジュール１０００の基本構成は、図１のそれと同様である。レンズ１００４は、撮像素子１００２への入射光路上に設けられる。アクチュエータ１００６は、レンズ１００４を光軸と垂直な面（撮像素子１００２の撮像面と水平な面）内にて変位させる。位置検出素子１０１０は、ホールセンサなどであり、レンズ１００４の変位を示す位置検出信号（ホール信号）Ｓ２を生成する。ブレ検出手段１０１２はたとえばジャイロセンサであり、カメラモジュール１０００のブレを検出する。アクチュエータドライバ１１００は、ブレが相殺されるように、レンズ１００４の変位の目標値を示すターゲットコードＤ１を生成する。アクチュエータドライバ１１００は、ターゲットコードＤ１にもとづいて、アクチュエータ１００６に対する駆動信号Ｓ５を生成する。アクチュエータ１００６の可動子にはレンズ１００４が取り付けられており、レンズ１００４は、ターゲットコードＤ１に応じた位置に移動する。一般的なカメラモジュールでは、アクチュエータ１００６によりレンズ１００４は、ＯＩＳに関連して２次元で変位可能であるが、以下では明確化のため１次元のみで変位するものとする。
【００４９】
より詳しくは、アクチュエータドライバ１１００は、ブレ量を示す角速度信号Ｓ１と位置検出信号Ｓ２にもとづいてアクチュエータ１００６をフィードバック制御する。
【００５０】
アクチュエータドライバ１１００は、インタフェース回路１１０２、Ａ／Ｄコンバータ１１０４、補正回路１１０６、ジャイロコントローラ１１０７、制御回路１１０８を備える。インタフェース回路１１０２は、ブレ検出手段１０１２からブレ量に応じたデジタルの角速度信号Ｓ１を受信する。Ａ／Ｄコンバータ１１０４は、位置検出素子１０１０からの位置検出信号Ｓ２をデジタルの第１検出コードＤ２に変換する。Ａ／Ｄコンバータ１１０４の前段には、アンプが設けられてもよい。位置検出信号Ｓ２がデジタル信号である場合、Ａ／Ｄコンバータ１１０４は省略可能である。
【００５１】
補正回路１１０６は、第１検出コードＤ２を、レンズ１００４の実際の変位と線形な関係を有する第２検出コードＤ３に変換する（線形補償）。ジャイロコントローラ１１０７は、角速度信号Ｓ１にもとづいて、ターゲットコードＤ１を生成する。
【００５２】
制御回路１１０８は、第２検出コードＤ３がターゲットコードＤ１に近づくようにアクチュエータ１００６を制御する。制御回路１１０８は、コントローラ１１１０およびドライバ部１１１２を含む。コントローラ１１１０は、第２検出コードＤ３とターゲットコードＤ１の誤差がゼロに近づくように制御指令値Ｓ４を生成する。ドライバ部１１１２は制御指令値Ｓ４に応じた駆動信号Ｓ５をアクチュエータ１００６に供給する。
【００５３】
以上がカメラモジュール１０００の全体の構成である。続いて補正回路１１０６における補正処理を説明する。
【００５４】
図３（ａ）は、第１検出コードＤ２、レンズ１００４の実際の変位および第２検出コードＤ３の関係を示す図であり、図３（ｂ）は、ターゲットコードＤ１とレンズ１００４の変位の関係を示す図である。
【００５５】
図３（ａ）に実線で示すように、第１検出コードＤ２とレンズ１００４の実際の変位の関係は多くの場合、非線形である。一方、ジャイロコントローラ１１０７は、ターゲットコードＤ１に対して、レンズ１００４が線形に変位することを前提として手振れ補正の演算を行う。補正回路１１０６による補正を行わない場合、第１検出コードＤ２がターゲットコードＤ１と一致するようにフィードバック制御がかかることになる。その結果、図３（ｂ）に実線で示すように、ターゲットコードに対してレンズの変位量は弓形となり、手振れ補正の精度が低下する。
【００５６】
補正回路１１０６による補正により得られる第２検出コードＤ３は、図３（ａ）に破線で示すように、レンズ１００４の実際の変位ｘに対して線形に変化する。第２検出コードＤ３がターゲットコードＤ１と一致するようにフィードバック制御がかかると、図３（ｂ）に示すように、ターゲットコードＤ１に対してレンズは線形に変位する。
【００５７】
補正回路１１０６における補正処理には、図３（ａ）における第１検出コードＤ２を第２検出コードＤ３に変換するための関係式Ｄ３＝Ｆ（Ｄ２）が必要となる。この関係式Ｄ３＝Ｆ（Ｄ２）は、製品出荷前のキャリブレーション工程で取得される。キャリブレーション工程では、レンズ１００４の実際の変位ｘを正確に測定する必要がある。
【００５８】
キャリブレーション工程において、レンズ１００４の実際の変位は、撮像素子１００２によって撮像される像の移動距離にもとづいて取得される。図４（ａ）〜（ｃ）は、レンズ１００４の変位測定の原理を説明する図である。レンズ１００４の光軸１００５上に、物体（以下、標準被写体１２００）が置かれ、その位置は不変である。この標準被写体１２００が撮像素子１００２の撮像面上で結像するように、光学系が調整されている。図４（ａ）に示すように変位がゼロのとき、標準被写体１２００は、レンズ１００４の中央に結像する。図４（ｂ）、図４（ｃ）と、レンズ１００４を右に変位させていくと、標準被写体１２００が結像する位置が移動していく。
【００５９】
結像位置（単に像ともいう）の移動距離ｌ１，ｌ２と、レンズ１００４の変位ｘ１，ｘ２は、一対一で対応付けられ、それらの関係式は幾何光学から計算によって求めることができる。あるいは、カメラモジュール１０００と同一（ただし側方からレーザ照射が容易）な光学系を構築し、レーザ変位計を用いて、移動距離ｌとレンズ１００４の変位ｘの関係を測定してもよい。
【００６０】
図５は、像の移動距離ｌとレンズの変位ｘの関係の一例を示す図である。像の移動距離ｌは、撮像素子１００２が撮影した画像データを解析することで求めることができ、具体的には像の移動距離ｌは、画像の中で像の位置が移動した画素数に、画素ピッチを乗算することで求めることができる。
【００６１】
図５の関係式ｘ＝Ｇ（ｌ）は、光学系の構成に依存して一意に定まるため、像の移動距離ｌについて、それと対応するレンズ１００４の実際の変位が一意に定まる。
【００６２】
図６は、撮像素子のキャリブレーションのフローチャートである。はじめにカメラモジュール１０００に基準となる像（標準被写体１２００）を提示する（Ｓ１００）。続いて、アクチュエータドライバ１１００がアクチュエータ１００６を制御して、レンズ１００４を複数のポイント（Ｎ個のポイントＰ１〜ＰＮ）に変位させながら、各ポイントで第１検出コードＤ２と撮像素子１００２が撮像した像の移動距離ｌとを取得する（Ｓ１０２〜Ｓ１０８）。
【００６３】
具体的には、レンズ１００４を初期ポイントＰ１にセットし（Ｓ１０２）、第１検出コードＤ２および像の移動距離ｌを取得する（Ｓ１０４）。初期ポイントを１番目として、ｉ番目のポイントＰｉにおける検出コードをＤ２［ｉ］、移動距離をｌ［ｉ］とする。すべてのポイントＰ１〜ＰＮの処理が完了したかを判定し（Ｓ１０６）、完了してなければ（Ｓ１０６のＮ）、レンズ１００４を次のポイントに移動させ（Ｓ１０８）、処理Ｓ１０４に戻る。
【００６４】
すべてのポイントの処理が完了すると（Ｓ１０６のＹ）、各ポイントで得られた像の移動距離ｌ［１］〜ｌ［Ｎ］を、レンズ１００４の実際の変位ｘ［１］〜ｘ［Ｎ］に変換してもよい。この変換には、図５に示すｘ＝Ｇ（ｌ）の関係式が利用される（Ｓ１１０）。なお処理Ｓ１１０は、各ポイントＰｉにおいてＤ２［ｉ］、ｌ［ｉ］を取得するたびに行ってもよい。
【００６５】
そして、各ポイントで得られたレンズ１００４の実際の変位ｘ［１］〜ｘ［Ｎ］と第１検出コードＤ２［１］〜Ｄ２［Ｎ］とにもとづいて、第１検出コードＤ２を第２検出コードＤ３に変換するための関係式を生成する。
Ｄ３＝Ｆ（Ｄ２）
【００６６】
なお多くの光学系において、図５の関係式ｘ＝Ｇ（ｌ）は線形であることが幾何光学的に保証されている。このような光学系では、図５の変換式は単なるスケーリングに過ぎず、像の移動距離ｌをレンズの実際の変位ｘとして扱うことができる。この場合、処理Ｓ１１０を省略することができる。
【００６７】
以上でキャリブレーション処理は終了である。関係式Ｄ３＝Ｆ（Ｄ２）は、アクチュエータドライバ１１００のＲＯＭやＦｅＲＡＭなどの不揮発性メモリ（図２の１１２２）に格納してもよい。あるいは、ＣＰＵ１０１４に付随するＲＯＭ（図２に不図示）に格納しておき、アクチュエータドライバ１１００を起動する際に、アクチュエータドライバ１１００のレジスタ（図２に不図示）に書き込んでもよい。
【００６８】
図２に戻る。アクチュエータドライバ１１００は、プログラム（ファームウェアともいう）を実行可能なプロセッサコア（組み込みプロセッサ）１１２０を備える場合がある。この場合、コントローラ１１１０および補正回路１１０６は、プロセッサコア１１２０およびプログラムの組み合わせによって実装される。キャリブレーションプログラムは、アクチュエータドライバ１１００に内蔵の（あるいは外付けの）メモリ１２０２に格納される。
【００６９】
アクチュエータドライバ１１００を、キャリブレーションプログラムを実行可能に構成し、アクチュエータドライバ１１００が主体となって、上述のキャリブレーション処理を提供してもよい。
【００７０】
キャリブレーションプログラムは、以下の機能の少なくともひとつを提供してもよい。
（機能１）アクチュエータドライバ１１００にキャリブレーションスタートのコマンドを与えると、アクチュエータドライバ１１００が自動的に、レンズ１００４を複数のポイントＰ１〜ＰＮに変位させる機能
すなわちキャリブレーションプログラムは、ブレ検出手段１０１２からの角速度信号Ｓ１を無視してターゲットコードＤ０を自動生成する機能を提供する。
【００７１】
（機能２）複数のポイントＰ１〜ＰＮで得られた像の移動距離ｌ［１］〜ｌ[Ｎ]を与えると、変換式Ｄ３＝Ｆ（Ｓ２）を自動生成する機能。
すなわちプロセッサコア１１２０は、レンズ１００４の実際の変位ｘ［１］〜ｘ［Ｎ］を、像の移動距離ｌ［１］〜ｌ[Ｎ]にもとづいて取得する。
【００７２】
（機能２’）  複数のポイントＰ１〜ＰＮで得られたレンズの実際の変位ｘ［１］〜ｘ[Ｎ]を与えると、変換式Ｄ３＝Ｆ（Ｓ２）を自動生成する機能。
【００７３】
以上が、カメラモジュール１０００の構成およびキャリブレーションの基本原理である。
【００７４】
カメラモジュール１０００の環境温度が変化すると、図３（ａ）の実際の変位と位置情報の関係は変動するため、上述のキャリブレーション処理は、温度依存性を考慮して行ってもよい。温度を考慮したキャリブレーションについては後述する。
【００７５】
本発明は、上述の説明から導かれるさまざまな装置、回路に及ぶものであり、特定の構成に限定されるものではない。以下、本発明の範囲を狭めるためではなく、発明の本質や回路動作の理解を助け、またそれらを明確化するために、より具体的な構成例や変形例を説明する。
【００７６】
本実施の形態では、まずは撮像装置の具体的な構成について説明する。図７は、撮像装置を示す図である。撮像装置３００は、デジタルカメラやデジタルビデオカメラ、スマートフォンやタブレット端末に内蔵されるカメラモジュールである。撮像装置３００は、撮像素子３０２、レンズ３０４、プロセッサ３０６およびレンズ制御装置４００を備える。
【００７７】
撮像装置３００は図２のカメラモジュール１０００に、撮像素子３０２は図２の撮像素子１００２に、レンズ３０４は図２のレンズ１００４に、プロセッサ３０６は図２のＣＰＵ１０１４に、レンズ制御装置４００は図２のアクチュエータドライバ１１００およびアクチュエータ１００６に対応する。
【００７８】
レンズ３０４は、撮像素子３０２に入射する光の光軸上に配置される。たとえばレンズ３０４はオートフォーカス（ＡＦ）用レンズであってもよいし、手ぶれ補正用レンズであってもよい。たとえばＡＦの場合、レンズ制御装置４００は、プロセッサ３０６からの位置指令値ＰＲＥＦにもとづいて、レンズ３０４を位置決めする。ＯＩＳの場合、レンズ制御装置４００は、ジャイロセンサ３０８からの角速度信号にもとづいて位置指令値ＰＲＥＦを生成し、位置指令値ＰＲＥＦにもとづいてレンズ３０４を位置決めする。
【００７９】
たとえばレンズ３０４がＡＦ用レンズの場合、レンズ制御装置４００は、レンズ３０４を光軸方向（Ｚ軸方向）に変位させる。プロセッサ３０６は、撮像素子３０２が撮像した画像のコントラストが高くなるように、位置指令値ＰＲＥＦを生成する（コントラストＡＦ）。あるいは撮像素子３０２の外部に設けられ、あるいは撮像面に埋め込まれたＡＦセンサからの出力にもとづいて、位置指令値ＰＲＥＦが生成されてもよい（位相差ＡＦ）。
【００８０】
レンズ３０４がＡＦおよびＯＩＳの両方の目的で用いられる場合、レンズ制御装置４００はレンズ３０４を光軸方向（Ｚ軸方向）および撮像素子３０２と平行な面内で光軸に垂直な方向（Ｘ軸および／またはＹ軸方向）に変位させる。プロセッサ３０６は、ＡＦに対しては上記と同じで、ＯＩＳに対してはジャイロセンサ３０８からの出力にもとづいて、位置指令値ＰＲＥＦを生成する。ジャイロセンサ３０８は、図２のブレ検出手段１０１２に対応する。
【００８１】
以下では、レンズ３０４をＡＦおよびＯＩＳの両方の目的で用いられるレンズ（撮像レンズともいう）として説明を進める。
【００８２】
レンズ制御装置４００は、位置フィードバックにより、アクチュエータ４０２を制御する。具体的にはレンズ制御装置４００は、アクチュエータ４０２、位置検出素子（ＡＦ、ＯＩＳ）４０４、温度検出素子（ＡＦ、ＯＩＳ）４０６およびアクチュエータドライバＩＣ（Integrated Circuit）５００を備える。ＯＩＳ用の位置検出素子４０４は、図２の位置検出素子１０１０に対応する。
【００８３】
アクチュエータ４０２は、たとえばボイスコイルモータであり、レンズ３０４はホルダー３１０に搭載され、Ｚ軸方向可動に支持されている。ホルダー３１０にはＡＦコイル３１２が巻回されており、ＡＦコイル３１２に対向して永久磁石３１４が配置されている。ＡＦコイル３１２に通電することにより、永久磁石３１４との磁気的相互作用によりレンズ３０４とホルダー３１０は一体的にＺ軸方向に駆動される。一方、永久磁石３１４を含めたＡＦ駆動機構全体がＸ軸および／またはＹ軸方向可動に支持されており、固定部に配置されたＯＩＳコイル３１６に通電することにより、永久磁石３１４との磁気的相互作用によりレンズ３０４、ホルダー３１０、永久磁石３１４などはＸ軸および／またはＹ軸方向に駆動される。ボイスコイルモータの固定部は、撮像装置３００の筐体に対して固定されている。
【００８４】
位置検出素子４０４は、たとえばホール素子などの磁気的検出手段が多く用いられており、ここではホール素子を前提に説明する。ボイスコイルモータのＡＦ可動部、たとえばホルダー３１０には、永久磁石３１８が取り付けられ、動かない部分にはＡＦ用ホール素子３２０が取り付けられる。これらの組み合わせによりＡＦ用の位置検出素子４０４が形成される。一方、永久磁石３１４に対向して固定部にはＯＩＳ用のホール素子３２２が取り付けられる。これらの組み合わせによりＯＩＳ用の位置検出素子４０４が形成される。なお、ホール素子３２２は、図７ではＸ軸用のものしか示していないが、図では影にかくれて見えない位置にＹ軸用のホール素子も存在する。位置検出素子４０４は、レンズ３０４の現在の位置に応じた電気信号（以下、位置検出信号ＰＦＢ）を生成し、位置検出信号ＰＦＢは、アクチュエータドライバＩＣ５００にフィードバックされる。位置検出信号ＰＦＢは、図２の位置検出信号Ｓ２に対応する。
【００８５】
アクチュエータドライバＩＣ５００は、ひとつの半導体基板に集積化された機能ＩＣであり、図２のアクチュエータドライバ１１００に対応する。ここでの「集積化」とは、回路の構成要素のすべてが半導体基板上に形成される場合や、回路の主要構成要素が一体集積化される場合が含まれ、回路定数の調節用に一部の抵抗やキャパシタなどが半導体基板の外部に設けられていてもよい。回路を１つのチップ上に集積化することにより、回路面積を削減することができるとともに、回路素子の特性を均一に保つことができる。
【００８６】
アクチュエータドライバＩＣ５００は、フィードバックされた位置検出信号ＰＦＢが、位置指令値ＰＲＥＦと一致するように、アクチュエータ４０２をフィードバック制御する。
【００８７】
このようにレンズ３０４の位置を検出して、これをフィードバックして位置制御に用いることにより、ステップ応答における過渡振動を抑えて収束を速めたり、目標位置への位置決め精度を高めたりできる。
【００８８】
理想的には、位置検出素子４０４の出力（すなわち位置検出信号ＰＦＢ）もしくはそれに対応する位置指令値ＰＲＥＦ（以下、これを変数ｙとしても表記する）と、レンズ３０４（アクチュエータ４０２）の実際の変位（以下、これを変数ｘとして表記する）の関係（以下、ｘ−ｙ特性ともいう）は線形かつ温度変動等に関して不変であり、ばらつきも存在しないことが望ましい。しかしながら現実的には、ｘ−ｙ特性は非線形であり、また撮像装置３００ごとにばらつきが存在し、さらに、位置検出素子４０４の温度によってもそれらの関係（ｘ−ｙ特性）は変動する。したがって、位置検出信号ＰＦＢと位置指令値ＰＲＥＦが一致するように制御したとしても、この関係（ｘ−ｙ特性）が変化すると、レンズ３０４の実際の位置が変化することになる。
【００８９】
以上のように、非線形性、温度変化は位置決め精度を悪化させるため、位置検出信号ＰＦＢに対して線形補償、温度補償を行うことが望ましい。線形補償は、位置検出信号ＰＦＢと実際の変位との関係を示す関数を、理想とする１次関数（直線）に変換するように位置検出信号ＰＦＢの値を補正することで実現される。温度補償は、温度変化によって変化する位置検出信号ＰＦＢと実際の変位との関係の傾きやオフセットを、温度ごとに補正することで実現される。
【００９０】
まずは、線形補償について詳細に説明する。ＡＦの線形補償の場合、レーザ変位計などを用いて実際の変位の情報を得ることが容易であるが、ＯＩＳの線形補償の場合、変位測定の対象となるレンズやホルダーが、アクチュエータの筐体内部に入り込んでいるため、レーザ変位計での変位測定が困難である。そこで、ＯＩＳでは画像情報を用いて実際の変位を測定する。この点がＡＦの場合と異なるだけで、以降の処理は同じなので、ここではＯＩＳにおける線形補償として説明する。
【００９１】
レンズ３０４をＸ軸またはＹ軸方向に変位させたとき、レンズ３０４と一体的に永久磁石３１４もＸ軸またはＹ軸方向に変位するため、ホール素子３２２は位置検出信号を出力する。この変位にともなって、特定パターンの被写体の像も撮像素子３０２上で動く。すなわち、撮像素子３０２が画像変位検出素子４０８として作用し、変位検出信号ＰＤを出力する。ここで検出される画像の変位量は、特定パターンの画像が何画素分動いたかの情報に画素ピッチを掛け算することで得られる。このようにして得られる像の変位量は、実際のレンズの変位量と同じではない。光学的な倍率が間に作用するためである。しかしながら、基本的には両者は比例関係であり、非線形の関数を決める場合も理想的な線形関数を決める場合も、実際のレンズの変位を像の変位として表すので、レンズの変位と像の変位の差は影響しない。補正の対象となるのは、ホール素子３２０、３２２で検出される位置検出信号ＰＦＢのみである。非線形関数を線形関数に変換することで線形補償がなされる。
【００９２】
次に、温度補償について説明する。この補正のために、温度検出素子４０６が設けられる。温度検出素子４０６は、位置検出素子４０４の温度を検出する。ＡＦの温度補償を行う場合は、ＡＦ用のホール素子３２０の温度を検出する。ＯＩＳの温度補償を行う場合は、ＯＩＳ用のホール素子３２２の温度を検出する。温度検出は、ホール素子の内部抵抗の温度による変化を利用して行うことができる。なお、位置検出素子４０４の温度と周囲温度が一致する場合、あるいは強い相関を有する場合、温度検出素子４０６は周囲温度を測定してもよい。検出された温度情報Ｔは、アクチュエータドライバＩＣ５００に入力される。アクチュエータドライバＩＣ５００は、温度情報Ｔにもとづいて、アクチュエータ４０２の駆動制御を補正する。温度検出素子４０６は、サーミスタやポジスタ、熱電対などであってもよい。
【００９３】
以下では、小さいメモリ容量で、温度変動や個体ばらつきを抑制した制御を行うための補正処理について、第１実施形態から第２実施形態を参照して説明する。以下で説明する補正処理は、大きく、位置検出信号（位置指令値）と実際の変位を線形化する線形補償と、温度変動を補正する温度補償と、を含む。
【００９４】
＜第１実施形態＞
本発明の第１実施形態について、図８ないし図１４を用いて説明する。図８は、撮像装置の第１実施形態における線形補償と温度補償の処理を示すフローチャートである。図８を参照して、線形補償と温度補償の全体の処理を説明する。第１実施形態では、位置検出信号と像変位との関係に対して曲線で関数化した上で、直線に補正する。
【００９５】
処理Ｓ２０１〜Ｓ２０３は、撮像装置３００の製造後、出荷前の検査工程で行われるものとして説明するが、これに限定される訳ではない。後述するが、ユーザがカメラを使用中にこの処理を行えば、使用中の温度での関数が導けるので、直線化後の温度補償が不要となる。処理Ｓ２０４は開発段階の実験データなどから設定される。上記のように、ユーザがカメラを使用中に関数化を行った場合は、温度補償のための係数設定も不要となる。処理Ｓ２０１では、所定温度（基準温度ともいう）Ｔ０、たとえば製造工場の設定温度などにおいて、位置検出信号ｙ（図７の位置検出値ＰＦＢ）と変位ｘの関係（ｘ−ｙ特性）を取得しておく。本実施形態では、変位ｘは、レンズを変位させたときの撮像素子上の特定パターンの変位とする。位置検出信号ｙは、ホール素子の出力電圧でもよい。サーボをかけて測定する場合はターゲットコード（図７の位置指令値ＰＲＥＦ）でもかまわない。なぜならターゲットコードは目標のアクセス位置を示すコードであり、サーボをかけて目標位置に収束させると、ホール素子の出力電圧と等価になるからである。このようにして測定された位置検出信号ｙと変位ｘとの関係は、直線性が保たれているとは限らないし、温度がＴ０から変化することによって関係も変化することが考えられる。処理Ｓ２０１は、すべての個体について行われる。
【００９６】
像変位の測定方法について説明する。図９（ａ）、（ｂ）は、像の変位を算出する方法を説明するための図である。図９（ａ）は特定パターンを有する被写体の例を示し、図９（ｂ）は撮像素子上の被写体の特定パターン像がレンズの移動によりシフトする様子を示す。像変位を測定するために被写体（標準被写体）８の特定パターンとしては、たとえば図９（ａ）に示すようなドットパターン９を使うとよい。ただし、ドットパターンは図９（ａ）に限定される訳ではなく、黒地に白のドットでもいい。また、ドットは複数あってもよいし、ドットの代わりにクロスラインのようなパターンを用いてもよい。このようなドットパターンを被写体として、レンズをシフトさせたとき、ドットパターンの像１０は図９（ｂ）のように画素上を移動する。図９（ｂ）の破線は画素ピッチ１１を示す。ドットパターンの像１０は複数の画素にまたがっている可能性があるが、たとえばドットの中心が何画素分シフトしたかを検出すれば、それに画素ピッチを掛け算することで、画素上の画像移動量（像変位）が算出できる。ドットパターンの中心の代わりにエッジのシフトを検出してもよい。このような測定をレンズの可動範囲内の複数ポイントで行うことにより、複数点での位置検出信号と像変位との関係を取得することができる。
【００９７】
図１０は、位置検出信号と像変位との関係の一例を示す図である。実線１２は、複数の測定ポイントの結果をなめらかな曲線でつないだものである。ＯＩＳ用のアクチュエータは、通常バネの中立状態の両側に可動範囲を有するため、バネの中立状態をグラフの像変位０としている。また、この位置での位置検出信号を０としている。図からもわかるように、像変位、すなわちレンズのシフト量が小さい領域では直線性が比較的良好であるが、像変位、すなわちレンズのシフト量が大きくなると直線性が若干悪くなる。
【００９８】
処理Ｓ２０２では、取得した位置検出信号ｙと像変位ｘとの関係を関数化する。図１１は、関数化された曲線と理想直線の関係を示す図である。たとえば、上記関係が図１１の実線１３のような形状のとき、通常はｙ＝ｆ（ｘ）の形で関数化されるが、ここでは逆関数を取り、ｘ＝ｆ（ｙ）のように関数化する。関数は、直線ではない関係をフィットさせるので、２次以上の関数が必要である（多項式近似）。次数を上げた方がフィット誤差は小さくなるが、計算量が増えるので、実態に合わせて次数を設定すればよい。以下の線形補償では５次関数を用いた。
【００９９】
ｘ＝ｆ（ｙ）＝ｋ０＋ｋ１ｙ＋ｋ２ｙ２＋ｋ３ｙ３＋ｋ４ｙ４＋ｋ５ｙ５      …（１）
なお、実際の撮像装置の中で線形補償する場合は、このような５次関数の演算を行っていると計算時間がかかり、計算途中に必要なメモリ容量も大きくなるため、関数を直線のつなぎ合わせによって補間してもかまわない。これについては、実施形態２の中で説明する。
【０１００】
処理Ｓ２０３では、線形関数ｙ＝ａｘ＋ｂを設定する。線形関数ｙ＝ａｘ＋ｂの傾きａと切片ｂは、処理Ｓ２０１で得られたｘ−ｙ特性を考慮して規定することが望ましい。たとえばｘ−ｙ特性を線形近似することにより、傾きａ、切片ｂを求めてもよい。なお、線形関数ｙ＝ａｘ＋ｂは、基準温度Ｔ０におけるｘ−ｙ特性とは無関係に定めてもよい。
【０１０１】
測定時に０点調整を行った場合は、測定段階から原点を通る、すなわちｂ＝０となるため、傾きａのみを求めればよい。一方、測定結果が原点を通らない場合、オフセット補正（ｂ≠０）を行って原点を通るようにシフトさせてもよいし、図１１に示すように、測定結果１３の任意の２点、たとえば実用ストローク範囲の両端の２点（ｘ０１，ｙ０１）と（ｘ０２，ｙ０２）を結ぶ直線１４としてｙ＝ａｘ＋ｂを規定してもよい。
【０１０２】
処理Ｓ２０４では、実際温度Ｔ１と所定温度Ｔ０との差の影響を補正するため、傾き補正係数ｃとオフセット補正係数ｄを設定する。これらの係数は、個体ごとに様々な温度Ｔ１に対して設定するのが補償精度の点ではベストであるが、製品１個ごとに温度特性まで測定するのは工程コストがかさむため、現実的ではない。そこで、実験室または工程のオフラインにおいて、複数個の代表的なサンプルの温度特性を測定し、最適な補正係数ｃとｄを設定するのが望ましい。基準温度に対して、温度が変化すると補正係数がどのように変化するのかをつかんでおく。基準温度でのｘ−ｙ特性は個体ごとに測定するので、このときの補正係数に対する変化を想定して、各温度における最適補正係数を設定する。実際温度Ｔ１は離散的でもかまわない。後述する温度測定手段で測定された実際の温度が、あらかじめ補正係数を設定した温度の中間であれば、補間計算して補正係数を設定すればよい。
【０１０３】
処理Ｓ２０５〜Ｓ２０７は、アクチュエータドライバＩＣ５００の実動作中の処理である。実動作中に位置検出素子４０４から得られる位置検出信号ｙの値をｙ１とする。
【０１０４】
処理Ｓ２０５では、関数ｆを用いて位置検出信号ｙ１に対する変位ｘ１を求める。関数ｆは所定温度Ｔ０におけるｘ−ｙ特性に対して設定した関数であるが、他の温度でも同じ関数を用いる。上述の通り、各温度においても当該温度で設定される関数を用いると補正の精度アップができるが、各温度の関数を設定するには各温度の温度特性を各サンプルに対して測定する必要があるため、現実的ではなく、この例のようにすべての温度に対して所定温度Ｔ０での関数を用いることとする。
【０１０５】
処理Ｓ２０６では、このようにして求められた変位ｘ１を最初に設定した線形関数にあてはめて、線形補償された検出コードｙ２を算出する。
【０１０６】
図１２は、図１０の結果に対して直線補正した後の結果を示す図である。ただし、これはＴ１＝Ｔ０の場合の結果である。図１３は、直線補正後の位置検出信号と像変位との関係が温度によって変化する結果を示す図である。所定温度Ｔ０を３０℃として、この温度での関数を用いているので、他の温度Ｔ１では若干ではあるが傾きの変化が見られる。
【０１０７】
処理Ｓ２０７では、Ｔ０と異なる温度Ｔ１での結果に対して、傾き補正とオフセット補正を行い、Ｔ０での結果と同じになるように補正する。すなわち、直線化後の検出コードｙ２に対して、温度補償後の検出コードｙ３を算出する。
【０１０８】
図１４は、図１３の結果に対して温度補償を行った後の結果を示す図である。異なる温度での結果もほぼ同一の直線に補正されている。なお、ここでは図１３の直線がほぼ原点を通っているため、オフセット補正は行っておらず、傾きのみを補正している。
【０１０９】
このように、線形補償と温度補償を行うことにより、温度の影響を受けないほぼ直線のｘ−ｙ特性を得ることができるとともに、線形補償の際の実際のレンズの変位の情報を得るために像の変位情報を利用することにより、高価な変位測定器や手間のかかる測定が不要で、高精度の位置決めが可能となる。
【０１１０】
なお、図８のフローは一例を示すもので、処理の順序まですべて規定するものではない。たとえば、先に変位成分に対する温度補償を行い、温度補償後の結果に対して線形補償を行ってもかまわない。
【０１１１】
＜第２実施形態＞
本発明の第２実施形態について、図１５を用いて説明する。図１５は、撮像装置の第２実施形態における関数を直線近似する方法を説明する図である。
【０１１２】
第１の実施形態では、所定温度Ｔ０における位置検出信号ｙと像変位ｘとの関係が曲線である場合に、高次の関数、第１の実施形態では５次関数として補正処理に利用していた。すなわち、工場出荷前の検査工程などで取得した関数をメモリに保存しておく。しかし、実際の撮像装置の中で線形補償する場合は、このような５次関数の演算を行っていると計算時間がかかり、計算途中に必要なメモリ容量も大きくなるため、関数を直線のつなぎ合わせによって補間してもかまわない。若干、計算精度が落ちる可能性はあるが、なめらかな変化を示すｘ−ｙ特性のアクチュエータでは、直線補間でもほとんど影響はない。通常のカメラモジュールのＡＦおよびＯＩＳのストローク範囲であれば、１６点から２０点程度のポイントをつなぎ合わせた直線補間で十分である。
【０１１３】
図１５では、測定ポイントを丸印で示し、これらのポイントでのデータにフィットさせた高次関数を破線で、ポイント間を直線で結ぶことで近似した結果を実線で示している。十分なポイント数があれば、高次関数でも直線のつなぎ合わせでも、結果に大きな差は生じていない。各測定ポイントでのｘとｙの値を補正テーブルとしてメモリに保存しておくとよい。図８の処理Ｓ２０５において、測定ポイント間の位置検出信号ｙ１が検出された場合は、その両側の測定ポイントのデータを用い、この２点を結ぶ１次関数としてｘ１の値を求めればよい。
【０１１４】
なお、第１実施形態の場合も同様であるが、処理Ｓ２０１のｘ−ｙ特性の取得を工場出荷前の検査工程で行うことで説明してきたが、これに限定される訳ではない。スマートフォンなどの商品になった後で、たとえばカメラの起動時などに特定の被写体（たとえば図９（ａ）のようなドットパターン）にカメラを向け、ｘとｙの関係データを取得し、補正関数や補正テーブルを更新してもよい。また、たとえばユーザが更新を命令（更新ボタンを押す）したときに、同じように更新してもよい。工場出荷前の検査工程でのデータはＲＯＭに保存しておき、これをＲＡＭに書き込んで使用したり、上記のように更新する場合はＲＡＭのデータを更新するとよい。カメラがオフされたときや一定時間以上使用されないときは、ＲＯＭデータを再びＲＡＭに書き込んでもよい。
【０１１５】
このようにカメラの使用状態において、ｘとｙの関係データを更新することで、そのときの環境温度におけるｘとｙの関係に基づいて線形補償を行うことができるので、さらに温度補償を行う必要がなくなり、補正処理が簡略化できる。本願の方法を用いることにより、専用の測定器を用いることなくレンズの変位情報を得ることができるので、スマートフォンなどの商品になった後からでも、ｘ−ｙの関係データを取得でき、リアルタイムでの線形補償が可能となる。もちろん、温度補償は不要となる。
【０１１６】
＜温度検出について＞
続いてレンズ制御装置４００の具体的な構成例を説明する。
【０１１７】
図１６は、レンズ制御装置４００の具体的なブロック図である。アクチュエータドライバＩＣとしては、ＯＩＳにおけるひとつの軸に対する構成の例として示しており、同様の構成がＯＩＳの他の軸やＡＦ用にも存在する。位置検出素子４０４はホール素子３２であり（図７では３１８または３２０）、アクチュエータ４０２の可動部の変位に応じたホール電圧Ｖ＋，Ｖ−を発生し、アクチュエータドライバＩＣ５００のホール検出ピン（ＨＰ，ＨＮ）に供給する。
【０１１８】
位置検出部５１０は、ホール電圧Ｖ＋，Ｖ−に基づいて、アクチュエータ４０２の可動部の位置（変位）を示すデジタルの位置検出値ＰＦＢを生成する。位置検出部５１０は、ホール電圧を増幅するホールアンプ５１２と、ホールアンプ５１２の出力をデジタル値の位置検出値ＰＦＢに変換するＡ／Ｄコンバータ５１４を含む。
【０１１９】
温度検出部５２０は、温度を示す温度検出値Ｔを生成する。上述したように、温度は、位置検出素子４０４の温度を示すことが望ましい。図１６では、位置検出素子４０４であるホール素子３２を、温度検出素子４０６としても利用する。これは、ホール素子３２の内部抵抗ｒが温度依存性を有することを利用したものである。温度検出部５２０は、ホール素子３２の内部抵抗ｒを測定し、温度を示す情報として利用する。
【０１２０】
温度検出部５２０は、定電流回路５２２とＡ／Ｄコンバータ５２４を含む。定電流回路５２２は、ホール素子３２に所定のバイアス電流ＩＢＩＡＳを供給する。このバイアス電流ＩＢＩＡＳは、ホール素子３２を動作させるために必要な電源信号でもあり、したがって定電流回路５２２は、ホールバイアス回路として把握することができる。
【０１２１】
ホール素子３２の両端間には、電圧降下ＩＢＩＡＳ×ｒが発生する。この電圧降下は、ホールバイアスピン（ＨＢ）に入力される。Ａ／Ｄコンバータ５２４は、ＨＢピンの電圧ＶＨＢ（＝ＩＢＩＡＳ×ｒ）をデジタル値Ｔに変換する。バイアス電流ＩＢＩＡＳは既知で一定であるから、デジタル値Ｔは内部抵抗ｒに比例する信号であり、したがって、ホール素子３２の温度の情報を含んでいる。内部抵抗ｒと温度の関係は事前に測定し、関数化し、またはテーブル化されており、後段の補正部５３０において、デジタル値Ｔが温度情報に変換される。
【０１２２】
インタフェース回路５４０は、ジャイロセンサ３０８から、デジタルの角速度信号を受信する。たとえばインタフェース回路５４０は、ＳＰＩ（Serial Peripheral Interface）であってもよい。ジャイロコントローラ５５０はインタフェース回路５４０が受信した角速度信号にもとづいて、位置指令値ＰＲＥＦを生成する。
【０１２３】
補正部５３０は、位置検出部５１０からの位置検出値ＰＦＢを補正する。具体的には、補正部５３０は、線形補償部５３２、温度補償部５３４、メモリ５３６を含む。線形補償部５３２は、位置検出値ＰＦＢと実際の変位の関係（上述のｘ−ｙ特性）の直線性を補正する。メモリ５３６には、上述のパラメータａ，ｂ，関数ｘ＝ｆ（ｙ）を記述するデータ（たとえば係数ｋ０〜ｋ５）、パラメータｃ，ｄなどが格納される。メモリ５３６は、ＲＯＭやフラッシュメモリなどの不揮発性メモリであってもよいし、回路の起動のたびに外部のＲＯＭから供給されるデータを一時的に保持する揮発性メモリであってもよい。
【０１２４】
温度補償部５３４は、位置検出値ＰＦＢと実際の変位との関係に対して、温度変化によって関係が変化するのを補正する。
【０１２５】
コントローラ５６０は、位置指令値ＰＲＥＦと、補正部５３０による補正後の位置検出値ＰＦＢ＿ＣＭＰを受ける。コントローラ５６０は、位置検出値ＰＦＢ＿ＣＭＰが位置指令値ＰＲＥＦと一致するように、制御指令値ＳＲＥＦを生成する。アクチュエータ４０２がボイスコイルモータである場合、制御指令値ＳＲＥＦはボイスコイルモータに供給すべき駆動電流の指令値である。コントローラ５６０は、たとえば誤差検出器５６２とＰＩＤ制御器５６４を含む。誤差検出器５６２は、位置検出値ＰＦＢ＿ＣＭＰと位置指令値ＰＲＥＦの差分（誤差）ΔＰを生成する。ＰＩＤ制御器５６４は、ＰＩＤ（比例・積分・微分）演算によって、制御指令値ＳＲＥＦを生成する。ＰＩＤ制御器５６４に換えて、ＰＩ制御器を用いてもよいし、非線形制御を採用してもよい。
【０１２６】
ドライバ部５７０は、制御指令値ＳＲＥＦに応じた駆動電流をアクチュエータ４０２に供給する。
【０１２７】
図１６からもわかるように、ホール素子３２からのホール電圧Ｖ＋，Ｖ−は、制御電流の印加とは別の端子から出力される。
【０１２８】
補正部５３０およびコントローラ５６０の処理は、加算器、乗算器などのハードウェアによって実現してもよいし、ＣＰＵとソフトウェアプログラムの組み合わせによって実現してもよい。
【０１２９】
このようなレンズ制御装置は、Ｘ、Ｙ、Ｚの各軸の制御に対応して設けてもよいし、必要に応じて集積化し、１チップまたは２チップ化してもよい。
【０１３０】
以上のようなレンズ制御装置は、携帯電話用のカメラモジュールなどに用いられる。特に、本発明のレンズ制御装置の好適な応用のひとつは、光学手ぶれ補正（ＯＩＳ）機能を備えた撮像装置である。本発明を利用することで、高価な測定器を使うことなく線形補償が可能となり、温度補償と併用することにより高速かつ高精度のレンズの位置決めが可能となるので、本発明はＯＩＳ機能を備えた撮像装置に適用するのが好適である。
【符号の説明】
【０１３１】
３００…撮像装置、３０２…撮像素子、３０４…レンズ、３０６…プロセッサ、４００…レンズ制御装置、４０２…アクチュエータ、４０４…位置検出素子、４０６…温度検出素子、５００…アクチュエータドライバＩＣ、５１０…位置検出部、５１２…ホールアンプ、５１４…Ａ／Ｄコンバータ、５２０…温度検出部、５２２…定電流回路、５２４…Ａ／Ｄコンバータ、５３０…補正部、５３２…線形補償部、５３４…温度補償部、５４０…インタフェース回路、５５０…ジャイロコントローラ、５６０…コントローラ、５６２…誤差検出器、５６４…ＰＩＤ制御器、５７０…ドライバ部、３２…ホール素子、１０００…カメラモジュール、１００２…撮像素子、１００４…レンズ、１００６…アクチュエータ、１００８…アクチュエータドライバ、１０１０…位置検出素子、１０１２…ブレ検出手段、１０１４…ＣＰＵ、１１００…アクチュエータドライバ、１１０２…インタフェース回路、１１０４…Ａ／Ｄコンバータ、１１０６…補正回路、１１０７…ジャイロコントローラ、１１０８…制御回路、１１１０…コントローラ、１１１２…ドライバ部、１１２０…プロセッサコア、１１２２…メモリ、１２００…標準物体、Ｄ１…ターゲットコード、Ｓ２…位置検出信号、Ｄ２…第１検出コード、Ｄ３…第２検出コード。
【図１】
2018138984.tif 000003
【図２】
2018138984.tif 000004
【図３】
2018138984.tif 000005
【図４】
2018138984.tif 000006
【図５】
2018138984.tif 000007
【図６】
2018138984.tif 000008
【図７】
2018138984.tif 000009
【図８】
2018138984.tif 000010
【図９】
2018138984.tif 000011
【図１０】
2018138984.tif 000012
【図１１】
2018138984.tif 000013
【図１２】
2018138984.tif 000014
【図１３】
2018138984.tif 000015
【図１４】
2018138984.tif 000016
【図１５】
2018138984.tif 000017
【図１６】
2018138984.tif 000018