(57)【要約】      （修正有）【課題】レンズの位置を正確に制御することができる駆動装置を提供する。【解決手段】予め定められた周期で受信される、制御対象１０の制御指令値に基づいて制御対象１０の駆動制御を行う制御部１２０を備え、制御部１２０は、周期を超えて制御指令値が受信されない場合に駆動制御に用いるべき次の制御指令値を過去の制御指令値から推測する推測部１２１を有する駆動装置１００。【選択図】図１
2019016237.tif 000002
【特許請求の範囲】
【請求項１】
予め定められた周期で受信される、制御対象の制御指令値に基づいて前記制御対象の駆動制御を行う制御部を備え、
前記制御部は、
前記周期を超えて前記制御指令値が受信されない場合に駆動制御に用いるべき次の前記制御指令値を過去の前記制御指令値から推測する推測部を有する駆動装置。
【請求項２】
前記推測部は、
前記制御指令値が受信される場合に、受信した制御指令値を用いて次の前記制御指令値を推測しておき、
前記制御部は、
前記周期を超えて次の前記制御指令値が受信されない場合に、推測済みの次の前記制御指令値に基づいて前記周期で駆動制御を行う、請求項１に記載の駆動装置。
【請求項３】
前記推測部は、前記周期を超えて次の前記制御指令値が受信されない場合に、過去に推測された前記制御指令値を用いて次の制御指令値を推測する、請求項１または２に記載の駆動装置。
【請求項４】
前記推測部は、前記周期の経過毎に次の前記制御指令値を推測する、請求項１〜３のいずれか１項に記載の駆動装置。
【請求項５】
前記制御指令値は、前記制御対象のシフト量を示し、
前記推測部は、複数の過去の前記制御指令値の移動平均を次の制御指令値とする、請求項１〜４のいずれか１項に記載の駆動装置。
【請求項６】
前記制御指令値は、前記制御対象の目標位置を示し、
前記推測部は、複数の過去の前記制御指令値の差分の移動平均を直前の前記制御指令値に加算して、次の制御指令値とする、請求項１〜４のいずれか１項に記載の駆動装置。
【請求項７】
前記制御指令値は、前記周期で算出され、
前記周期を超えて前記制御指令値が算出または受信される場合に、前記制御指令値に基づく前記制御対象のシフト量を、前回の前記制御指令値と今回の前記制御指令値との間の算出または受信のインターバルの長さに応じて補償する補償処理部を備える請求項１〜６の何れか１項に記載の駆動装置。
【請求項８】
予め定められた周期で算出および受信される、制御対象の制御指令値に基づいて前記制御対象の駆動制御を行う制御部と、
前記周期を超えて前記制御指令値が算出または受信される場合に、前記制御指令値に基づく前記制御対象のシフト量を、前回の前記制御指令値と今回の前記制御指令値との間の算出または受信のインターバルの長さに応じて補償する補償処理部と、
を備える駆動装置。
【請求項９】
前記補償処理部は、前記今回の制御指令値に基づく前記シフト量に前記インターバルの長さを乗算することで前記シフト量を補償する、請求項７または８に記載の駆動装置。
【請求項１０】
前記制御指令値は、前記制御対象の物理量に基づいて算出され、
前記補償処理部は、前記インターバルの前後の少なくとも一方での前記物理量に基づいて前記シフト量を補償する、請求項７または８に記載の駆動装置。
【請求項１１】
前記補償処理部は、前記少なくとも一方での前記物理量に前記インターバルの長さを乗算することで前記シフト量を補償する、請求項１０に記載の駆動装置。
【請求項１２】
前記補償処理部は、前記前回の制御指令値が算出または受信されてから、前記今回の制御指令値が受信または算出されるまでの経過時間を前記インターバルの長さとして用いる、請求項７〜１１のいずれか１項に記載の駆動装置。
【請求項１３】
前記補償処理部は、前記周期の整数倍の長さを前記インターバルの長さとして用いる、請求項７〜１２のいずれか１項に記載の駆動装置。
【請求項１４】
前記制御部は、
前記制御対象の検出位置および前記制御指令値が入力され、前記制御指令値に基づく位置に前記制御対象の位置を近づけるように制御する操作量を出力するフィードバック回路と、
前記操作量に基づき、前記制御対象を移動させるアクチュエータを駆動する駆動回路と、
を有する、請求項１から１３のいずれか一項に記載の駆動装置。
【請求項１５】
前記制御対象の位置を検出する位置センサと、
請求項１から１４のいずれか一項に記載の駆動装置と、
を備えるデバイス。
【請求項１６】
請求項１５に記載のデバイスと、
前記制御部による駆動制御に応じて前記制御対象を移動させるアクチュエータと、
を備える駆動システム。
【請求項１７】
前記制御対象の物理量を検出する検出部と、
前記物理量に基づいて制御対象の制御指令値を前記周期で算出するプロセッサと、
を備える請求項１６に記載の駆動システム。
【請求項１８】
前記制御対象は、レンズを含み、
当該駆動システムは、前記レンズの手振れ補正制御を行う
請求項１６または１７に記載の駆動システム。
【請求項１９】
コンピュータを、請求項１から１４のいずれか一項に記載の駆動装置として機能させるプログラム。
【請求項２０】
制御対象の制御指令値を予め定められた周期で受信する受信段階と、
前記周期を超えて前記制御指令値が受信されない場合に駆動制御に用いるべき次の前記制御指令値を過去の前記制御指令値から推測する推測段階と、
前記制御指令値に基づいて前記制御対象の駆動制御を行う制御段階と、
を備える駆動方法。
【請求項２１】
予め定められた周期で算出される制御対象の制御指令値を前記周期で受信する受信段階と、
前記周期を超えて前記制御指令値が算出または受信される場合に、前記制御指令値に基づく前記制御対象のシフト量を、前回の前記制御指令値と今回の前記制御指令値との間の算出または受信のインターバルの長さに応じて補償する補償処理段階と、
前記制御指令値に基づいて前記制御対象の駆動制御を行う制御段階と、
を備える駆動方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、駆動装置、デバイス、駆動システム、プログラムおよび駆動方法に関する。
【背景技術】
【０００２】
従来、デジタルカメラ、携帯電話、小型ＰＣ等に搭載される光学モジュールは、レンズの位置をアクチュエータ等で移動させて制御し、手振れ補正機能等を実行している（例えば、特許文献１参照）。
特許文献１  国際公開第２０１３／０８７５３３号
【発明の概要】
【発明が解決しようとする課題】
【０００３】
このようなアクチュエータ等を駆動する駆動回路は、レンズ位置を制御するための制御指令値をプロセッサから受け取っている。従って、プロセッサが制御指令値の算出を他の処理と時分割で行う場合などに制御指令値の算出、受信のタイミングが周期的なタイミングから遅れてしまうことがある。この場合、駆動回路は、遅れた時間の間に、制御指令値の情報がないまま動作を継続させることになってしまい、レンズの位置を正確に制御することが困難になってしまうことがある。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、予め定められた周期で受信される、制御対象の制御指令値に基づいて制御対象の駆動制御を行う制御部を備え、制御部は、周期を超えて制御指令値が受信されない場合に駆動制御に用いるべき次の制御指令値を過去の制御指令値から推測する推測部を有する駆動装置を提供する。
【０００５】
本発明の第２の態様においては、予め定められた周期で算出および受信される、制御対象の制御指令値に基づいて制御対象の駆動制御を行う制御部と、周期を超えて制御指令値が算出又は受信される場合に、制御指令値に基づく制御対象のシフト量を、前回の制御指令値と今回の制御指令値との間の算出または受信のインターバルの長さに応じて補償する補償処理部と、を備える駆動装置を提供する。
【０００６】
本発明の第３の態様においては、制御対象の制御指令値を予め定められた周期で受信する受信段階と、周期を超えて制御指令値が受信されない場合に駆動制御に用いるべき次の制御指令値を過去の制御指令値から推測する推測段階と、制御指令値に基づいて制御対象の駆動制御を行う制御段階と、を備える駆動方法を提供する。
【０００７】
本発明の第４の態様においては、予め定められた周期で算出される制御対象の制御指令値を周期で受信する受信段階と、周期を超えて制御指令値が算出または受信される場合に、制御指令値に基づく制御対象のシフト量を、前回の制御指令値と今回の制御指令値との間の算出または受信のインターバルの長さに応じて補償する補償処理段階と、制御指令値に基づいて制御対象の駆動制御を行う制御段階と、を備える駆動方法を提供する。
【０００８】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る駆動システム１０００の構成例を、検出部２およびプロセッサ４と共に示す。
【図２】プロセッサ４の動作を示す。
【図３】ステップＳ１２を行うためのプロセッサ４の機能ブロックを示す。
【図４】駆動システム１０００の動作を示す。
【図５】推測される制御指令値および目標位置を示す。
【図６】本実施形態に係るプロセッサ４による理想的な処理タイミングと、負荷が大きいときの処理タイミングとの一例を示す。
【図７】フィードバック回路１２２に供給される制御指令値を示す。
【図８】プロセッサ４の機能ブロックを示す。
【図９】推測部１２１を示す。
【図１０】本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ２２００の例を示す。
【発明を実施するための形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、本実施形態に係る駆動システム１０００の構成例を、検出部２およびプロセッサ４と共に示す。駆動システム１０００は、外部から制御信号を受け取り、受け取った制御信号に基づいて制御対象を制御する。
【００１２】
なお、本実施形態では一例として、駆動システム１０００が光学部品の移動を制御する例を示す。駆動システム１０００は、例えば、外部からの光学部品の制御指令値の情報を受信し、制御指令値に基づいて当該光学部品を移動させる。例えば制御対象である光学部品は、レンズ１０を含む。また、制御対象の制御指令値を示す制御信号が検出部２およびプロセッサ４から駆動システム１０００に供給される。
【００１３】
検出部２は、制御対象に関する物理量を検出する。例えば、検出部２は、光学部品または光学部品が搭載される機器等の動きを検出する。一例として、検出部２は、角速度センサ等を有し、レンズ１０の角速度ωを検出する。プロセッサ４は、検出部２の検出結果に基づきレンズ１０の制御指令値を算出し、当該制御指令値を示す制御信号を駆動システム１０００に送信する。本実施形態では一例として、制御指令値はレンズ１０のシフト量を示す。ここで、プロセッサ４は角速度の取得、制御指令値の算出、出力を予め定められた周期で行うよう設定されているものの、他の処理との時分割処理によりそれらのタイミングには遅延が生じうる。本実施形態では一例として、プロセッサ４は、レンズ１０の角速度ωを積分してレンズ１０の移動角度を算出し、これを元に戻すための制御指令値の情報を制御信号として駆動システム１０００に送信する。
【００１４】
駆動システム１０００は、一例として制御信号に応じてレンズ１０の角度を制御指令値に応じて移動させることで、カメラ等の手振れ補正制御を実行する。駆動システム１０００は、レンズ１０と、アクチュエータ２０と、位置センサ３０と、駆動装置１００と、を備える。
【００１５】
本実施形態において、レンズ１０は、制御対象の一例を示す。これに代えて、またはこれに加えて、制御対象は、プリズム、ミラー、およびグレーティング等の光学部品でよい。また、制御対象は、光学部品に限定されることはない。外部からの制御信号に応じて、制御対象を制御するシステムであれば、制御対象は光学部品に限らず適用可能である。
【００１６】
アクチュエータ２０は、駆動装置１００からの制御信号に応じて制御対象を駆動する。アクチュエータ２０は、磁力によって制御対象を移動させてよい。例えば、アクチュエータ２０は、コイルを含み、当該コイルに通電することによって磁力を発生させる電磁石を有してよい。アクチュエータ２０は、制御対象に設けられた磁石を吸着または離間させるように磁力を発生させ、制御対象を移動させてよい。
【００１７】
アクチュエータ２０は、例えば、制御対象の一方向の位置を変更する。また、アクチュエータ２０は、複数のアクチュエータを有し、制御対象の異なる複数の方向の位置を変更させるように移動させてよい。一例として、アクチュエータ２０は、異なる２方向（例えばＸおよびＹ方向）または異なる３方向（例えばＸ、Ｙ、およびＺ方向）に制御対象を移動させる。なお、Ｘ、ＹおよびＺ方向は互いに直交する方向であり、Ｚ方向はレンズ１０の光軸方向である。
【００１８】
位置センサ３０は、制御対象の位置を検出する。位置センサ３０は、制御対象の１方向の角度および／または位置を検出してよい。また、位置センサ３０は、制御対象の複数の方向の角度および／または位置をそれぞれ検出してもよい。位置センサ３０は、例えば、制御対象の位置に応じて変動する磁場、反射光、渦電流、静電容量、および超音波等をセンスして、制御対象の位置を検出する。
【００１９】
一例として、制御対象が磁石等を有する場合、位置センサ３０は、当該磁石の磁場を検出する磁気センサでよい。位置センサ３０は、ホール素子、ＧＭＲ（Ｇｉａｎｔ  Ｍａｇｎｅｔｏ  Ｒｅｓｉｓｔｉｖｅ）素子、インダクタンスセンサ等を有してよい。位置センサ３０は、制御対象の位置の検出信号を駆動装置１００に供給する。なお、位置センサ３０および駆動装置１００は、一体のデバイスとして形成されてよい。
【００２０】
駆動装置１００は、プロセッサ４からの制御信号と、位置センサ３０からの制御対象の位置情報とに基づき、制御対象を移動させる。制御対象がレンズ１０の場合、駆動装置１００は、レンズの手振れ補正制御またはフォーカス制御を実行するように、アクチュエータ２０を駆動してよい。駆動装置１００は、受信部１１０、タイミング生成部１１２、補償処理部１１４および制御部１２０を有する。
【００２１】
受信部１１０は、プロセッサ４から制御信号を受信する。受信部１１０は、例えば、伝送インタフェースを介してプロセッサ４に接続され、プロセッサ４がソフトウェア処理により出力する制御信号を受信する。受信部１１０は、受信した制御信号をタイミング生成部１１２および補償処理部１１４に供給する。
【００２２】
ここで、受信部１１０は、制御信号を予め定められた周期で受信する。本実施形態では一例として、受信部１１０はプッシュ型の通信により制御信号を受動的に受信する。また、本実施形態では一例として、受信部１１０は、ＯＳ等によって伝送信号の優先順位等が制御される伝送インタフェース、例えばＩ２Ｃ（アイ・スクエアド・シー）を用いてプロセッサ４から制御信号を受信する。そのため、予め定められた周期でプロセッサ４が制御信号を生成しても、ＯＳが例えば音楽データ、画像データ、および他の制御信号等の伝送を優先させて実行すると、受信タイミングは遅延し得る。
【００２３】
タイミング生成部１１２は、周期的なタイミング信号を生成する。タイミング生成部１１２は、例えば、制御信号に基づき略一定の周期のタイミング信号を生成する。タイミング生成部１１２は、遅延が生じていない理想的な制御信号の周期（理想周期とも称する）と略同一周期のタイミング信号を生成することが望ましい。理想周期は例えば１ｍｓ〜１０ｍｓの範囲内であってよい。
【００２４】
ここで、上述の受信部１１０は、プロセッサ４での制御指令値の算出、および、伝送インタフェースでの制御信号の伝送などに一時的な遅延が生じていない場合、略一定の周期で制御信号を受信する。したがって、受信した制御信号の周波数特性は、理想周期に対応する周波数成分がより大きな値となる。そこで、タイミング生成部１１２は、受信した制御信号の周波数特性に応じた周期のタイミング信号を生成してよい。この場合、タイミング生成部１１２は、例えば、制御信号を周波数変換し、ピーク値となる周波数と略同一の周波数のタイミング信号を生成する。タイミング生成部１１２は、フーリエ変換等の演算処理を用いて制御信号を周波数変換してよい。これに代えて、タイミング生成部１１２は、プロセッサ４から同期信号を取得してもよい。この場合、タイミング生成部１１２は、同期信号に基づき、理想周期のタイミング信号を生成する。タイミング生成部１１２は、生成したタイミング信号を補償処理部１１４に供給する。
【００２５】
補償処理部１１４は、理想周期を超えて制御部１２０が制御信号を受信する場合に、制御指令値に基づく制御対象のシフト量を、前回の制御信号と今回の制御信号との間の受信インターバル（遅延受信インターバルとも称する）の長さに応じて補償する。補償処理部１１４は、遅延受信インターバルの長さに応じて補償されたシフト量を示す制御信号を制御部１２０に供給する。補償処理部１１４は、制御部１２０が理想周期で制御信号を受信する場合には、シフト量の補償を行わずに、受信された制御信号を制御部１２０に供給する。
【００２６】
ここで、遅延受信インターバルの長さは、例えば制御部１２０が直前に制御信号を受信してから新たに制御信号を受信するまでの経過時間である。遅延受信インターバルは、制御部１２０が直前に制御信号を受信したタイミングから補償処理部１１４が次の制御信号を受信したタイミングまでにカウントされた時間でもよいし、このカウント時間に基づいて算出される時間でもよい。一例として、補償処理部１１４が制御信号を受信してから制御部１２０に供給するまでの所要時間が決まっている場合には、この所要時間をカウント時間に加えることで経過時間を算出してよい。遅延受信インターバルは理想周期の整数倍の長さであってよい。この場合にはシフト量の補償が容易化される。
【００２７】
制御部１２０は、制御指令値に基づいて、制御対象の駆動制御を行う。本実施形態では一例として、制御部１２０は、制御信号と位置センサ３０からの検出信号とに基づき、制御対象の駆動制御を行う。例えば、制御部１２０は、制御指令値で示されるシフト量だけ制御対象を移動させてもよいし、シフト量から算出される目標位置まで制御対象を移動させてもよい。制御部１２０は、アクチュエータ２０に接続され、当該アクチュエータ２０を駆動する駆動信号をアクチュエータ２０に供給する。制御部１２０は、推測部１２１、フィードバック回路１２２および駆動回路１２４を含む。
【００２８】
推測部１２１は、理想周期を超えて制御部１２０が制御信号を受信しない場合に代わりに駆動制御に用いるべき次の制御指令値を、１または複数の過去の制御指令値から推測する。過去の制御指令値には、過去に推測された制御指令値が含まれてよい。本実施形態では一例として、推測部１２１は補償処理部１１４とフィードバック回路１２２との間に介在する。そして、推測部１２１は、補償処理部１１４から理想周期で制御信号を受信しない場合には、推測した制御指令値を示す制御信号を理想周期でフィードバック回路１２２に供給し、理想周期で制御信号を受信した場合には、受信した制御信号をフィードバック回路１２２に供給する。但し、補償処理部１１４からの制御信号と、推測部１２１により推測された制御指令値を示す制御信号とがそれぞれフィードバック回路１２２に供給され、制御部１２０が制御信号を受信したタイミングが理想周期を超えていたか否かに基づいて使用対象の制御信号をフィードバック回路１２２が選択してもよい。
【００２９】
推測部１２１は、制御部１２０が制御信号を受信する毎に経過時間をカウントするタイマを有してよい。推測部１２１は、制御信号を理想周期で受信したか否かを、このタイマによるカウント時間に基づいて判定してよい。タイマはカウント時間を補償処理部１１４にも供給してよい。
【００３０】
フィードバック回路１２２は、制御対象の位置を検出した検出信号および制御信号を受信し、制御対象の位置を制御信号に基づく位置に近づけるように制御する操作量を出力する。フィードバック回路１２２は、例えば、ＰＩＤ（Ｐｒｏｐｏｒｔｉｏｎａｌ  Ｉｎｔｅｇｒａｌ  Ｄｉｆｆｅｒｅｎｔｉａｌ）制御に基づく操作量を発生させて駆動回路１２４に供給する。
【００３１】
駆動回路１２４は、操作量に基づき、アクチュエータ２０を駆動する駆動信号を出力する。駆動回路１２４は、例えば、増幅回路等を有し、操作量に応じた駆動信号でアクチュエータ２０を駆動する。
【００３２】
以上の本実施形態に係る駆動システム１０００によれば、理想周期を超えて制御指令値を受信しない場合に、代わりに駆動制御に用いるべき次の制御指令値を、推測部１２１が過去の制御指令値から推測する。従って、制御指令値の受信タイミングが理想周期から遅れる場合であっても、制御指令値の情報がないまま駆動制御が行われることが防止される。よって、レンズ１０の位置を正確に制御することができる。
【００３３】
また、理想周期を超えて制御指令値を受信する場合に、遅延受信インターバルの長さに応じて補償処理部１１４が制御対象のシフト量を補償する。従って、制御指令値の受信が一時的に中断して理想周期から遅れた後に再開する場合であっても、レンズ１０の実際の角度変化と制御指令値に基づくシフト量とが乖離するのが防止されて、レンズ１０の実際の角度変化にシフト量が追従する。よって、レンズ１０の位置をいっそう正確に制御することができる。
【００３４】
続いて、駆動システム１０００の動作について説明する。
図２は、プロセッサ４の動作を示す。プロセッサ４は、ステップＳ１１〜Ｓ１３の処理を実行することにより、レンズ１０の制御指令値を駆動システム１０００に供給する。
【００３５】
まず、ステップＳ１１においてプロセッサ４は、検出部２によって検出されたレンズ１０の角速度ωを取得する。次に、ステップＳ１２においてプロセッサ４は、角速度ωに基づいてレンズ１０の制御指令値を算出する。そして、ステップＳ１３においてプロセッサ４は、算出した制御指令値を示す制御信号を駆動システム１０００に供給する。なお、プロセッサ４はステップＳ１１〜Ｓ１３の処理をそれぞれ理想周期で行うよう設定されているものの、他の処理との時分割処理により実行タイミングにはそれぞれ遅延が生じうる。
【００３６】
図３は、ステップＳ１２を行うためにプロセッサ４に具備される機能ブロックを示す。これらの機能ブロックは、ハードウェアにより実現されてもよいし、ハードウェアとソフトウェアとが協働することで実現されてもよい。プロセッサ４は、オフセット除去部４１、数値積分部４３、ハイパスフィルタ部４５、位相補償フィルタ部４７およびクリッピング処理部４９を有する。オフセット除去部４１は、角速度ωを受信してその直流成分のオフセットを除去する。数値積分部４３は、角速度ωの数値積分により角度θを算出する。ハイパスフィルタ部４５は、角度θにハイパスフィルタを掛けて角度θの手振れ補正成分のみを抽出する。なお、フィルタ係数は角度θの高周波成分と、クリッピング処理での飽和の有無とに応じて動的に変更されてよい。位相補償フィルタ部４７は、前段までのフィルタ処理等で発生する群遅延の補償を行う。クリッピング処理部４９は、クリッピング処理によって制御指令値を上限値および下限値の範囲内に収まる値にする。
【００３７】
図４は、駆動システム１０００の動作を示す。駆動システム１０００は、ステップＳ２１〜Ｓ３４の処理を実行することにより、レンズ１０の手振れ補正を行う。
【００３８】
まず、ステップＳ２１において補償処理部１１４は、制御信号を受信部１１０がプロセッサ４から受信したか否かを判定する。受信は理想周期で行われてもよいし、理想周期から外れてもよい。制御信号を受信したと判定された場合（ステップＳ２１；Ｙｅｓ）にはステップＳ２２に処理が移行し、受信しないと判定された場合（ステップＳ２１；Ｎｏ）にはステップＳ３１に処理が移行する。
【００３９】
ステップＳ２２においてタイミング生成部１１２は、受信部１１０で受信された制御信号の周波数特性に応じた理想周期のタイミング信号を生成して補償処理部１１４および制御部１２０に出力する。
【００４０】
次に、ステップＳ２３において補償処理部１１４は、制御信号の受信が理想周期を超えている否かを判定する。例えば、補償処理部１１４は、理想周期を超えて制御部１２０に制御信号が受信されるか否かを判定し、一例として、後述のステップＳ３１において制御信号の受信が理想周期を超えたか否かを判定する。補償処理部１１４は、制御部１２０が制御信号を受信する毎に経過時間をカウントするタイマが推測部１２１に設けられる場合には、このタイマのカウント時間に基づいて判定を行ってよい。受信が理想周期を超えていないと判定された場合（ステップＳ２３；Ｎｏ）にはステップＳ２４に処理が移行し、越えていたと判定された場合（ステップＳ２３；Ｙｅｓ）にはステップＳ２５に処理が移行する。
【００４１】
ステップＳ２４において制御部１２０は、受信した制御指令値に基づいてレンズ１０を駆動することで手振れ補正を行う。例えば、補償処理部１１４は、受信部１１０が受信した制御信号を補償せずにフィードバック回路１２２に出力する。これにより、プロセッサ４により算出された制御指令値がそのままフィードバック回路１２２に供給される。そして、供給される制御指令値と、レンズ１０の実際の位置とに基づいてフィードバック回路１２２が操作量を生成して駆動回路１２４に供給し、この操作量に基づいてアクチュエータ２０がレンズ１０を駆動する。ステップＳ２４が終了したら、ステップＳ２７に処理が移行する。
【００４２】
また、ステップＳ２５において補償処理部１１４は、受信部１１０が受信した制御信号の制御指令値で示されるシフト量を遅延受信インターバルの長さに応じて補償する。例えば、補償処理部１１４は、今回受信した制御指令値に基づくシフト量に遅延受信インターバルの長さを乗算することでシフト量を補償する。
【００４３】
次に、ステップＳ２６において制御部１２０は、補償された制御指令値に基づいてレンズ１０を駆動することで手振れ補正を行う。フィードバック回路１２２およびアクチュエータ２０の動作は上述のステップＳ２４と同様である。
【００４４】
次に、ステップＳ２７において推測部１２１は、理想周期を超えて制御信号を受信しない場合に代わりに駆動制御に用いるべき次の制御指令値を、過去の制御指令値から新たに推測しておく。ここで、ステップＳ２７の処理が行われる場合には、制御部１２０が制御指令値を受信しているため、推測部１２１は、受信した制御指令値を用いて次の制御指令値を推測する。推測される次の制御指令値は、実際に理想周期を超えて制御指令値を受信しない場合に、後述のステップＳ３２において駆動制御に用いられる。これにより、レンズ１０の駆動制御が周期的に行われる。
【００４５】
ここで、推測部１２１は、複数の過去の制御指令値の移動平均を次の制御指令値とする。本実施形態では一例として移動平均は単純移動平均であるが、加重移動平均でもよい。加重移動平均が用いられる場合には、新しい制御指令値、または古い制御指令値ほど、重み係数が大きくてよい。なお、推測部１２１は、移動平均の代わりに、過去の複数の制御指令値に対する近似式（２次、３次など）を算出して次の制御指令値を推測してもよい。
【００４６】
ステップＳ２７が終了したら、処理が上述のステップＳ２１に移行する。なお、制御指令値が理想周期で受信される場合には、ステップＳ２７の処理は理想周期の経過毎に行われてよい。この場合、推測部１２１は、理想周期の経過毎に次の制御指令値を推測する。これにより、レンズ１０の駆動制御が周期的に行われる。
【００４７】
上述したように、ステップＳ２１の処理において制御信号が受信されないと判定された場合（ステップＳ２１；Ｎｏ）には、ステップＳ３１の処理が行われる。ステップＳ３１において推測部１２１は、制御信号の受信が理想周期を超えたか否かを判定する。受信が理想周期を超えていないと判定された場合（ステップＳ３１；Ｎｏ）には、ステップＳ２１に処理が移行し、超えたと判定された場合（ステップＳ３１；Ｙｅｓ）には、ステップＳ３２に処理が移行する。
【００４８】
ステップＳ３２において制御部１２０は、推測された制御指令値に基づいてレンズ１０を駆動することで手振れ補正を行う。例えば、推測部１２１は、上述のステップＳ２７または後述のステップＳ３３による推測済みの制御指令値を示す制御信号をフィードバック回路１２２に出力する。これにより、理想周期を超えて次の制御指令値を受信しない場合には、推測済みの次の制御指令値に基づいて理想周期で駆動制御が行われる。なお、フィードバック回路１２２およびアクチュエータ２０の動作は上述のステップＳ２４と同様である。
【００４９】
次に、ステップＳ３３において推測部１２１は、上述のステップＳ２７と同様にして次の制御指令値を推測しておく。但し、このステップＳ２７の処理が行われる場合には、直近の少なくとも１つの制御指令値の受信が理想周期を超えている。そのため、推測部１２１は、受信されなかった制御指令値の代わりに、推測済みの制御指令値を用いて次の制御指令値を推測してよい。
【００５０】
次に、ステップＳ３４において制御部１２０は、処理を継続するか否かを判定する。例えば、制御部１２０は、駆動システム１０００に対する停止操作が行われていないかを判定してよい。継続すると判定された場合（ステップＳ３４；Ｙｅｓ）にはステップＳ２１に処理が移行し、継続しないと判定された場合（ステップＳ３４；Ｎｏ）には処理が終了する。
【００５１】
図５は、推測される制御指令値および目標位置を示す。図中の縦軸は制御対象の目標位置を示し、例えばＸ方向またはＹ方向における位置を示す。横軸は時間を示し、時点（ｎ）が現在、その左側が過去、右側が未来を示す。
【００５２】
各プロットは理想周期（ΔＴ）ごとの或る時点での目標位置を示し、例えば図中、右から２番目のプロットは現在の時点（ｎ）での目標位置（Ｖｔ（ｎ））を示す。なお、黒塗りのプロットは、プロセッサ４から受信された制御指令値に基づく目標位置であるが、推測された制御指令値に基づく目標位置でもよい。網掛けのプロットは、推測された制御指令値に基づく目標位置である。本実施形態では一例として、図中の１つ目の数式に示すように、推測される次の目標位置（Ｖｔ'（ｎ＋１））は、推測されるシフト量の制御指令値（Ｄ'）を目標位置（Ｖｔ（ｎ））に加算して算出される。また、図中の２つ目の数式に示すように、推測される次の制御指令値（Ｄ'（ｎ））は、直近の４つの制御指令値（Ｄ（ｎ）〜Ｄ（ｎ−３））の移動平均となっている。
【００５３】
図６は、本実施形態に係るプロセッサ４による理想的な処理タイミングと、負荷が大きいときの処理タイミングとの一例を示す。図中の横軸は時間を示す。理想的な処理においてプロセッサ４は、理想周期（ΔＴ）ごとに角速度の受信、制御指令値の算出および制御信号の出力を行っている。
【００５４】
但し、図中の下段に示すように、プロセッサ４での制御指令値の算出、および、伝送インタフェースでの制御信号の伝送などに一時的な遅延が生じてしまうと、制御信号は遅延したタイミングで出力される。
【００５５】
図７は、フィードバック回路１２２に供給される制御指令値を示す。図中の縦軸は目標位置を示し、横軸は時間を示す。各プロットは駆動制御における目標位置を示し、前後のプロットの縦軸方向の差分が制御指令値を示す。なお、黒塗りのプロットは、プロセッサ４から受信された制御指令値に基づく目標位置を示し、網掛けのプロットは、推測された制御指令値に基づく目標位置を示し、白抜きのプロットは、補償された制御指令値に基づく目標位置を示す。
【００５６】
この動作例では、制御信号の受信が遅延した間に目標位置が推測されている。そのため、制御信号の受信タイミングが理想周期（ΔＴ）から遅れる場合であっても、推測される制御指令値に基づいてレンズ１０の駆動制御が行われる。よって、レンズ１０の位置を正確に制御することができる。
【００５７】
また、制御信号の受信が再開した後に、シフト量が補償されている。そのため、レンズ１０の実際の角度変化にシフト量が追従する。よって、レンズ１０の位置をいっそう正確に制御することができる。
【００５８】
なお、上記の実施形態では、補償処理部１１４は受信した制御指令値に基づくシフト量に遅延受信インターバルの長さを乗算することでシフト量を補償することとして説明したが、遅延受信インターバルの前後の少なくとも一方での角速度に基づいてシフト量を補償してもよい。例えば、補償処理部１１４は、遅延受信インターバルの前後少なくとも一方での角速度に遅延受信インターバルの長さを乗算してプロセッサ４に制御指令値を算出させることでシフト量を補償してよい。この場合、補償処理部１１４は検出部２およびプロセッサ４の間に設けられてもよいし、プロセッサ４内に設けられてもよい。プロセッサ４内に補償処理部１１４が設けられる場合には、図８に示すように、オフセット除去部４１と、数値積分部４３の間に設けられてよい。また、補償処理部１１４はプロセッサ４と協働して、遅延受信インターバルの前後少なくとも一方での角速度を遅延受信インターバルの長さで積分することで、シフト量を補償してもよい。この場合にも、補償処理部１１４はプロセッサ４内に設けられてよく、一例として数値積分部４３と一体的に設けられてよい。遅延受信インターバルの前後少なくとも一方の角速度とは、前後何れか一方の角速度でもよいし、前後両方の角速度の平均値でもよい。
【００５９】
また、補償処理部１１４は、理想周期を超えて制御部１２０が制御信号を受信する場合に遅延受信インターバルの長さに応じてシフト量を補償することとして説明したが、プロセッサ４による前回の制御指令値および今回の制御指令値の間の算出インターバルの長さに応じて補償してもよい。この場合、補償処理部１１４は、プロセッサ４が制御指令値を算出した時点のタイムスタンプで示される時間を用いて算出インターバルを取得してもよいし、プロセッサ４が制御指令値を算出するごとに経過時間をカウントするタイマを用いて算出インターバルを取得してもよい。
【００６０】
また、制御指令値を制御対象のシフト量として説明したが、制御対象の目標位置としてもよい。この場合には、補償処理部１１４は、理想周期を超えて制御部１２０が制御信号を受信する場合に、前回の目標位置と今回の目標位置との差分で示されるシフト量を補償してよい。また、推測部１２１は過去の目標位置から次の目標位置を推測してよい。例えば、推測部１２１は、複数の過去の目標位置の差分の移動平均を直前の目標位置に加算して、次の目標位置としてよい。
【００６１】
図９は、このような動作を行う推測部１２１を示す。推測部１２１は、タイマ１２１０、マルチプレクサ１２１１、フリップフロップ１２１２、減算器１２１３、複数の飽和処理回路１２１４（１）〜（２）、複数のシフトレジスタ１２１６（１）〜（４）、複数の加算器１２１７（１）〜（３）、除算器１２１８および加算器１２１９を有する。
【００６２】
タイマ１２１０は、推測部１２１が制御信号を受信する毎に経過時間をカウントする。例えば、タイマ１２１０は、制御信号を受信する毎に経過時間をリセットしてよい。タイマ１２１０は、経過時間が閾値（ＴＩＭＥＯＵＴ  ＴＨ）を超える場合に、タイムアウト信号をマルチプレクサ１２１１に出力する。タイマ１２１０は、カウントした経過時間を補償処理部１１４にも供給してよい。閾値は一例として理想周期であり、タイミング生成部１１２から出力されるタイミング信号に基づいて設定されてよい。閾値は可変でもよい。
【００６３】
マルチプレクサ１２１１は、補償処理部１１４から供給される、ｎ番目のタイミングでの目標位置（Ｖｔ（ｎ））を示す制御信号を「０」側の入力とし、後述の加算器１２１９から供給される、ｎ＋１番目のタイミングでの目標位置（Ｖｔ'（ｎ＋１））を示す制御信号を「１」側の入力として、何れか一方の制御信号を理想周期ごとにフリップフロップ１２１２に供給する。マルチプレクサ１２１１は、タイマ１２１０からタイムアウト信号が供給されない場合（一例としてタイムアウト信号がローの場合）には「０」側の入力を制御信号として出力し、タイムアウト信号が供給される場合（一例としてタイムアウト信号がハイの場合）には「１」側の入力を制御信号として出力する。
【００６４】
フリップフロップ１２１２は、マルチプレクサ１２１１から供給される制御信号をラッチした後、理想周期ごとにフィードバック回路１２２を介してアクチュエータ２０に供給する。これにより、アクチュエータ２０はｎ番目の目標位置（Ｖｔ'（ｎ））に応じて制御対象を駆動する。
【００６５】
また、フリップフロップ１２１２は、ラッチした制御信号を加算器１２１９にも供給する。これにより、後述のシフトレジスタ１２１６（１）〜（４）、加算器１２１７（１）〜（３）、除算器１２１８および加算器１２１９によってｎ＋１番目の目標位置（Ｖｔ'（ｎ＋１））が推測される。
【００６６】
減算器１２１３は、フリップフロップ１２１２によるラッチ前後の制御信号で示される目標位置の差分、つまりレンズ１０のシフト量を算出する。減算器１２１３は、算出した差分を飽和処理回路１２１４（１）に供給する。
【００６７】
飽和処理回路１２１４（１）は、目標位置の差分をクリッピングしてシフトレジスタ１２１６（１）に格納する。例えば、飽和処理回路１２１４（１）は、差分の大きさが予め定められた範囲を超えたことに応じて、差分の大きさを予め定められた値としてよい。飽和処理回路１２１４（１）は、差分の上限値および下限値を予め定め、差分が上限値を超えた場合は上限値を、下限値を下回った場合は下限値を、差分の値としてよい。これにより、推測される目標位置が移動しすぎることが防止される。また、データのビット数が低減される。飽和処理回路１２１４（１）は、クリッピングした差分をシフトレジスタ１２１６（１）に供給する。
【００６８】
シフトレジスタ１２１６（１）〜（４）は、飽和処理回路１２１４（１）に対して直列に接続されており、飽和処理回路１２１４（１）から供給される直近の４つの差分をラッチして理想周期ごとにシフトするとともに、加算器１２１７（１）〜（３）に供給する。
【００６９】
加算器１２１７（１）〜（３）は、全体としてシフトレジスタ１２１６（１）〜（４）から供給される差分を加算する。これにより、本実施形態では一例として、理想周期ごとに直近の４つの差分（Ｄ（ｎ）〜Ｄ（ｎ−３））の合計値が算出される。加算器１２１７（１）〜（３）は、４つの差分の合計値を除算器１２１８に供給する。
【００７０】
除算器１２１８は、加算器１２１７（１）〜（３）から供給される、４つの差分の合計値を４で除算する。これにより、理想周期ごとに直近の４つの差分の移動平均が算出される。除算器１２１８は、算出した移動平均の値を加算器１２１９に供給する。
【００７１】
加算器１２１９は、ｎ番目の制御信号で示される目標位置（ＶＴ'（ｎ））に移動平均を加算する。これにより、ｎ＋１番目の目標位置（Ｖｔ'（ｎ＋１））が推測される。加算器１２１９は、ｎ＋１番目の目標位置（Ｖｔ'（ｎ＋１））を示す制御信号を飽和処理回路１２１４（２）に供給する。
【００７２】
飽和処理回路１２１４（２）は、ｎ＋１番目の目標位置（Ｖｔ'（ｎ＋１））の値をクリッピングする。例えば、飽和処理回路１２１４（２）は、目標位置の大きさが予め定められた範囲を超えたことに応じて、目標位置の大きさを予め定められた値としてよい。飽和処理回路１２１４（２）は、目標位置の上限値および下限値を予め定め、移動平均が上限値を超えた場合は上限値を、下限値を下回った場合は下限値を、目標位置の値としてよい。これにより、推測される目標位置が移動しすぎることが防止される。また、データのビット数が低減される。飽和処理回路１２１４（２）は、クリッピングした移動平均をマルチプレクサ１２１１に供給する。
以上の推測部１２１によれば、過去の目標位置から次の目標位置が推測される。
【００７３】
なお、本発明の様々な実施形態は、フローチャートおよびブロック図を参照して記載されてよく、ここにおいてブロックは、（１）操作が実行されるプロセスの段階または（２）操作を実行する役割を持つ装置のセクションを表わしてよい。特定の段階およびセクションが、専用回路、コンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプログラマブル回路、および／またはコンピュータ可読媒体上に格納されるコンピュータ可読命令と共に供給されるプロセッサによって実装されてよい。専用回路は、デジタルおよび／またはアナログハードウェア回路を含んでよく、集積回路（ＩＣ）および／またはディスクリート回路を含んでよい。プログラマブル回路は、論理ＡＮＤ、論理ＯＲ、論理ＸＯＲ、論理ＮＡＮＤ、論理ＮＯＲ、および他の論理操作、フリップフロップ、レジスタ、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プログラマブルロジックアレイ（ＰＬＡ）等のようなメモリ要素等を含む、再構成可能なハードウェア回路を含んでよい。
【００７４】
コンピュータ可読媒体は、適切なデバイスによって実行される命令を格納可能な任意の有形なデバイスを含んでよく、その結果、そこに格納される命令を有するコンピュータ可読媒体は、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく実行され得る命令を含む、製品を備えることになる。コンピュータ可読媒体の例としては、電子記憶媒体、磁気記憶媒体、光記憶媒体、電磁記憶媒体、半導体記憶媒体等が含まれてよい。コンピュータ可読媒体のより具体的な例としては、フロッピー（登録商標）ディスク、ディスケット、ハードディスク、ランダムアクセスメモリ（ＲＡＭ）、リードオンリメモリ（ＲＯＭ）、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭまたはフラッシュメモリ）、電気的消去可能プログラマブルリードオンリメモリ（ＥＥＰＲＯＭ）、静的ランダムアクセスメモリ（ＳＲＡＭ）、コンパクトディスクリードオンリメモリ（ＣＤ-ＲＯＭ）、デジタル多用途ディスク（ＤＶＤ）、ブルーレイ（ＲＴＭ）ディスク、メモリスティック、集積回路カード等が含まれてよい。
【００７５】
コンピュータ可読命令は、アセンブラ命令、命令セットアーキテクチャ（ＩＳＡ）命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはＳｍａｌｌｔａｌｋ、ＪＡＶＡ（登録商標）、Ｃ＋＋等のようなオブジェクト指向プログラミング言語、および「Ｃ」プログラミング言語または同様のプログラミング言語のような従来の手続型プログラミング言語を含む、１または複数のプログラミング言語の任意の組み合わせで記述されたソースコードまたはオブジェクトコードのいずれかを含んでよい。
【００７６】
コンピュータ可読命令は、汎用コンピュータ、特殊目的のコンピュータ、若しくは他のプログラム可能なデータ処理装置のプロセッサまたはプログラマブル回路に対し、ローカルにまたはローカルエリアネットワーク（ＬＡＮ）、インターネット等のようなワイドエリアネットワーク（ＷＡＮ）を介して提供され、フローチャートまたはブロック図で指定された操作を実行するための手段を作成すべく、コンピュータ可読命令を実行してよい。プロセッサの例としては、コンピュータプロセッサ、処理ユニット、マイクロプロセッサ、デジタル信号プロセッサ、コントローラ、マイクロコントローラ等を含む。
【００７７】
図１０は、本発明の複数の態様が全体的または部分的に具現化されてよいコンピュータ２２００の例を示す。コンピュータ２２００にインストールされたプログラムは、コンピュータ２２００に、本発明の実施形態に係る装置に関連付けられる操作または当該装置の１または複数のセクションとして機能させることができ、または当該操作または当該１または複数のセクションを実行させることができ、および／またはコンピュータ２２００に、本発明の実施形態に係るプロセスまたは当該プロセスの段階を実行させることができる。そのようなプログラムは、コンピュータ２２００に、本明細書に記載のフローチャートおよびブロック図のブロックのうちのいくつかまたはすべてに関連付けられた特定の操作を実行させるべく、ＣＰＵ２２１２によって実行されてよい。
【００７８】
本実施形態によるコンピュータ２２００は、ＣＰＵ２２１２、ＲＡＭ２２１４、グラフィックコントローラ２２１６、およびディスプレイデバイス２２１８を含み、それらはホストコントローラ２２１０によって相互に接続されている。コンピュータ２２００はまた、通信インタフェース２２２２、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭドライブ２２２６、およびＩＣカードドライブのような入／出力ユニットを含み、それらは入／出力コントローラ２２２０を介してホストコントローラ２２１０に接続されている。コンピュータはまた、ＲＯＭ２２３０およびキーボード２２４２のようなレガシの入／出力ユニットを含み、それらは入／出力チップ２２４０を介して入／出力コントローラ２２２０に接続されている。
【００７９】
ＣＰＵ２２１２は、ＲＯＭ２２３０およびＲＡＭ２２１４内に格納されたプログラムに従い動作し、それにより各ユニットを制御する。グラフィックコントローラ２２１６は、ＲＡＭ２２１４内に提供されるフレームバッファ等またはそれ自体の中にＣＰＵ２２１２によって生成されたイメージデータを取得し、イメージデータがディスプレイデバイス２２１８上に表示されるようにする。
【００８０】
通信インタフェース２２２２は、ネットワークを介して他の電子デバイスと通信する。ハードディスクドライブ２２２４は、コンピュータ２２００内のＣＰＵ２２１２によって使用されるプログラムおよびデータを格納する。ＤＶＤ−ＲＯＭドライブ２２２６は、プログラムまたはデータをＤＶＤ−ＲＯＭ２２０１から読み取り、ハードディスクドライブ２２２４にＲＡＭ２２１４を介してプログラムまたはデータを提供する。ＩＣカードドライブは、プログラムおよびデータをＩＣカードから読み取り、および／またはプログラムおよびデータをＩＣカードに書き込む。
【００８１】
ＲＯＭ２２３０はその中に、アクティブ化時にコンピュータ２２００によって実行されるブートプログラム等、および／またはコンピュータ２２００のハードウェアに依存するプログラムを格納する。入／出力チップ２２４０はまた、様々な入／出力ユニットをパラレルポート、シリアルポート、キーボードポート、マウスポート等を介して、入／出力コントローラ２２２０に接続してよい。
【００８２】
プログラムが、ＤＶＤ−ＲＯＭ２２０１またはＩＣカードのようなコンピュータ可読媒体によって提供される。プログラムは、コンピュータ可読媒体から読み取られ、コンピュータ可読媒体の例でもあるハードディスクドライブ２２２４、ＲＡＭ２２１４、またはＲＯＭ２２３０にインストールされ、ＣＰＵ２２１２によって実行される。これらのプログラム内に記述される情報処理は、コンピュータ２２００に読み取られ、プログラムと、上記様々なタイプのハードウェアリソースとの間の連携をもたらす。装置または方法が、コンピュータ２２００の使用に従い情報の操作または処理を実現することによって構成されてよい。
【００８３】
例えば、通信がコンピュータ２２００および外部デバイス間で実行される場合、ＣＰＵ２２１２は、ＲＡＭ２２１４にロードされた通信プログラムを実行し、通信プログラムに記述された処理に基づいて、通信インタフェース２２２２に対し、通信処理を命令してよい。通信インタフェース２２２２は、ＣＰＵ２２１２の制御下、ＲＡＭ２２１４、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭ２２０１、またはＩＣカードのような記録媒体内に提供される送信バッファ処理領域に格納された送信データを読み取り、読み取られた送信データをネットワークに送信し、またはネットワークから受信された受信データを記録媒体上に提供される受信バッファ処理領域等に書き込む。
【００８４】
また、ＣＰＵ２２１２は、ハードディスクドライブ２２２４、ＤＶＤ−ＲＯＭドライブ２２２６（ＤＶＤ−ＲＯＭ２２０１）、ＩＣカード等のような外部記録媒体に格納されたファイルまたはデータベースの全部または必要な部分がＲＡＭ２２１４に読み取られるようにし、ＲＡＭ２２１４上のデータに対し様々なタイプの処理を実行してよい。ＣＰＵ２２１２は次に、処理されたデータを外部記録媒体にライトバックする。
【００８５】
様々なタイプのプログラム、データ、テーブル、およびデータベースのような様々なタイプの情報が記録媒体に格納され、情報処理を受けてよい。ＣＰＵ２２１２は、ＲＡＭ２２１４から読み取られたデータに対し、本開示の随所に記載され、プログラムの命令シーケンスによって指定される様々なタイプの操作、情報処理、条件判断、条件分岐、無条件分岐、情報の検索／置換等を含む、様々なタイプの処理を実行してよく、結果をＲＡＭ２２１４に対しライトバックする。また、ＣＰＵ２２１２は、記録媒体内のファイル、データベース等における情報を検索してよい。例えば、各々が第２の属性の属性値に関連付けられた第１の属性の属性値を有する複数のエントリが記録媒体内に格納される場合、ＣＰＵ２２１２は、第１の属性の属性値が指定される、条件に一致するエントリを当該複数のエントリの中から検索し、当該エントリ内に格納された第２の属性の属性値を読み取り、それにより予め定められた条件を満たす第１の属性に関連付けられた第２の属性の属性値を取得してよい。
【００８６】
上で説明したプログラムまたはソフトウェアモジュールは、コンピュータ２２００上またはコンピュータ２２００近傍のコンピュータ可読媒体に格納されてよい。また、専用通信ネットワークまたはインターネットに接続されたサーバーシステム内に提供されるハードディスクまたはＲＡＭのような記録媒体が、コンピュータ可読媒体として使用可能であり、それによりプログラムを、ネットワークを介してコンピュータ２２００に提供する。
【００８７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００８８】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００８９】
２  検出部、４  プロセッサ、１０  レンズ、２０  アクチュエータ、３０  位置センサ、４１  オフセット除去部、４３  数値積分部、４５  ハイパスフィルタ部、４７  位相補償フィルタ部、４９  クリッピング処理部、１００  駆動装置、１１０  受信部、１１２  タイミング生成部、１１４  補償処理部、１２０  制御部、１２１  推測部、１２２  フィードバック回路、１２４  駆動回路、１０００  駆動システム、１２１０  タイマ、１２１１  マルチプレクサ、１２１２  フリップフロップ、１２１３  減算器、１２１４  飽和処理回路、１２１６  シフトレジスタ、１２１７  加算器、１２１８  除算器、１２１９  加算器、２２００  コンピュータ、２２０１  ＤＶＤ−ＲＯＭ、２２１０  ホストコントローラ、２２１２  ＣＰＵ、２２１４  ＲＡＭ、２２１６  グラフィックコントローラ、２２１８  ディスプレイデバイス、２２２０  入／出力コントローラ、２２２２  通信インタフェース、２２２４  ハードディスクドライブ、２２２６  ＤＶＤ−ＲＯＭドライブ、２２３０  ＲＯＭ、２２４０  入／出力チップ、２２４２  キーボード
【図１】
2019016237.tif 000003
【図２】
2019016237.tif 000004
【図３】
2019016237.tif 000005
【図４】
2019016237.tif 000006
【図５】
2019016237.tif 000007
【図６】
2019016237.tif 000008
【図７】
2019016237.tif 000009
【図８】
2019016237.tif 000010
【図９】
2019016237.tif 000011
【図１０】
2019016237.tif 000012