(57)【特許請求の範囲】
【請求項１】
可動光学部材がマニュアル操作可能な光学装置と、前記光学装置に脱着可能であり前記可動光学部材をサーボ駆動する駆動装置と、から成るレンズシステムであって、
前記光学装置は前記可動光学部材の位置を検出する第１の位置検出手段を有し、
前記駆動装置は、前記光学装置に接続された時に、前記第１の位置検出手段より高い分解能で前記可動光学部材の位置の変位量を検出する第２の位置検出手段を有し、
前記可動光学部材の駆動範囲における、前記第１の位置検出手段の出力値の変化と、該変化時の第２の位置検出手段の出力値と、を対応させて記憶する第１の記憶手段を有する、
ことを特徴とするレンズシステム。
【請求項２】
前記第１の記憶手段は前記光学装置に備えられることを特徴とする請求項１に記載のレンズシステム。
【請求項３】
前記光学装置は、前記第１の位置検出手段の出力値の変化を検出した後、該変化に対応する前記第１の記憶手段に記憶されている値と、該検出の時間を特定するための時間情報と、を前記駆動装置に出力する第１の制御手段を有する、ことを特徴とする請求項１又は２に記載のレンズシステム。
【請求項４】
前記時間情報は、前記第１の位置検出手段の出力値の変化から前記通信の開始までの時間と、前記光学装置より取得した情報のデータ長と通信速度とに基づいて得られた通信時間とに基づいて構成されることを特徴とする請求項３に記載のレンズシステム。
【請求項５】
前記駆動装置は、前記第２の位置検出手段の出力値を周期的に取得し、前記第２の記憶装置に順次記憶する第２の制御手段を有する、ことを特徴とする請求項４に記載のレンズシステム。
【請求項６】
前記第２の制御手段は、前記光学装置から取得した前記時間情報に基づいて、前記第２の記憶手段に記憶された値を選択し、該選択された値と第１の記憶手段に記憶された値とに基づいて前記第２の位置検出手段の現在の出力値を補正する、ことを特徴とする請求項５に記載のレンズシステム。
【請求項７】
前記光学装置は、前記第１の位置検出手段の出力値の変化の前回の検出から今回の検出までの経過時間を計測する時間計測手段と、前記時間計測手段で計測された時間の最大値を記憶する最大時間記憶部とを有し、
前記第１の制御手段は、前記最大時間記憶部の値が変化した場合に、前記第１の位置検出手段の変化に基づく前記第１の記憶手段に記憶されている値を前記駆動装置に出力する、
ことを特徴とする請求項１又は２に記載のレンズシステム。
【請求項８】
前記第２の制御手段は、前記第１の制御手段から通知された値を前記第２の位置検出手段の現在の出力値として設定することを特徴とする請求項７に記載のレンズシステム。
【請求項９】
前記第１の制御手段は、前記時間計測手段で計測された時間が所定の時間より長い場合は、前記第１の位置検出手段の出力値の変化に基づく前記第１の記憶手段の値を前記駆動装置に通知しない、ことを特徴とする請求項７又は８に記載のレンズシステム。
【請求項１０】
前記第１の制御手段は、電源投入又は前記駆動装置が前記光学装置に接続されたことを認識した場合、前記第１の位置検出手段の出力値の変化に基づく前記第１の記憶手段の値を前記駆動装置に通知する、ことを特徴とする請求項９に記載のレンズシステム。
【請求項１１】
前記駆動範囲は機械的可動範囲であることを特徴とする請求項１乃至１０のいずれか１項に記載のレンズシステム。
【請求項１２】
前記駆動範囲はサーボ制御の駆動範囲であることを特徴とする請求項１乃至１０のいずれか１項に記載のレンズシステム。
【請求項１３】
請求項１乃至１２のいずれか１項に記載のレンズシステムと、該レンズシステムと接続し、該レンズシステムからの被写体光を受光する撮像素子を備えるカメラと、を有する撮像システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レンズシステムに関し、特に可動光学要素を有するレンズ装置と該レンズ装置に着脱可能な可動光学要素を駆動する駆動装置とからなるレンズシステム及び該レンズシステムを有する撮像システムに関するものである。
【背景技術】
【０００２】
近年、デジタル一眼レフの動画撮影機能が急速に向上し、一般的なビデオムービーを超える性能を有するデジタル一眼レフも量産されるようになってきた。また、安価な一眼レフにムービー専用のシネレンズを装着して撮影したいというニーズが生まれおり、さらに映画やＴＶコマーシャルなどの撮影においては、大型なシステムではなく小型軽量で撮影が可能なシステムが好まれてきている。例えば、迫力のある映像を撮るために、被写体に近づいてローアングルで撮影するような場合、従来のような大型システムでは撮影が難しい場合がある。
【０００３】
一方、放送業界で使用される撮影装置においては、レンズの操作はサーボ駆動をすることが多く、外付けの駆動装置をレンズに接続するようなシステムになっている。
また、近年では、撮影された映像がバーチャルスタジオでのＣＧ合成やＡＲ（拡張現実）などの処理に供されることが多くなり、さらに映像画面の大型化で合成精度の向上が要求されている。
【０００４】
特許文献１では、マニュアル操作可能なレンズに外部ドライブユニットを接続する技術が開示されている。
特許文献２では、ポテンショメータとエンコーダのZ相を使用した制御技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第３４５０７９７号公報
【特許文献２】特開２００５−２８３２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
マニュアル操作が主体であるシネレンズの情報としてカメラに送信しているデータは光学補正のために用いられるデータで、厳密な位置精度を必要としないため、レンズ内にある例えばズームレンズの絶対値エンコーダの位置情報の分解能は一般的に低い。このようなレンズ内にある絶対値エンコーダからの出力は分解能が粗いため、絶対値エンコーダからの出力に基づいてズームレンズをサーボ制御することは適当ではない。そこでレンズを駆動するためのドライブユニット側に高分解のエンコーダを搭載して、その出力にもとづいてレンズのサーボ制御を行うことが行われている。
【０００７】
またドライブユニット側に存在するエンコーダが相対値出力の場合、ズームレンズ位置の絶対値が必要となる。このときズームレンズの絶対値を確定するためにエンコーダにＺ相を搭載したり、レンズ内の絶対値エンコーダと同期をとってドライブユニット内の相対値エンコーダの絶対値を確定することが行われている。しかし、このようなシステムではズームレンズが駆動中にレンズとドライブユニット間の通信行うため、通信遅延より相対値エンコーダの絶対値確定精度がよくないことが発生する。画角変化とレンズ位置情報の差が小型高倍率のレンズほど影響が大きくなる。そして一度精度が悪い絶対値が確定すると、カメラに送信するズーム位置データに誤差が乗ったままになってしまうことになる。
【０００８】
このように、ズームレンズやフォーカスレンズ、ＩＲＩＳなどの絶対値の位置情報の精度が悪いと、例えば、バーチャルスタジオで掌に物体を合成しようとした場合、掌に乗らずに物体と掌の間に空間が出来てしまい、違和感が発生することが懸念される。特に大型画面では目立つことになる。またコンピュータの処理性能が上がり、リアルタイムでの処理が可能になってきているため、ズーミングしたときに掌の物体位置がずれてしまう可能性がある。
【０００９】
本発明は上記のような点に鑑みてなされたものであり、相対値エンコーダの絶対値の精度を向上することで、バーチャルスタジオでのＣＧ合成やＡＲ（拡張現実）など処理を経た映像に違和感が発生しないようにすることを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するために、本発明は、
可動光学部材がマニュアル操作可能な光学装置と、前記光学装置に脱着可能であり前記可動光学部材をサーボ駆動する駆動装置と、から成るレンズシステムであって、前記光学装置は前記可動光学部材の位置を検出する第１の位置検出手段を有し、
前記駆動装置は、前記光学装置に接続された時に、前記第１の位置検出手段より高い分解能で前記可動光学部材の位置の変位量を検出する第２の位置検出手段を有し、前記可動光学部材の駆動範囲における、前記第１の位置検出手段の出力値の変化と、該変化時の第２の位置検出手段の出力値と、を対応させて記憶する第１の記憶手段を有する、ことを特徴とするレンズシステムであることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、光学装置の絶対値エンコーダを利用することで駆動装置の相対値エンコーダの初期化を精度よく設定することができる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施例におけるシステム図
【図２】絶対値エンコーダ例
【図３】記憶部ａのデータ例
【図４】相対値エンコーダ初期化方法
【図５】ＣＰＵａによる相対値エンコーダの初期化処理
【図６】ＣＰＵｂによる相対値エンコーダの初期化処理
【図７】第２の実施例に置けるシステム図
【図８】相対値エンコーダ初期化方法
【図９】ＣＰＵａによる相対値エンコーダの初期化処理
【図１０】ＣＰＵｂによる相対値エンコーダの初期化処理
【図１１】記憶部ａのデータ記憶方法
【発明を実施するための形態】
【００１３】
以下に、本発明の好ましい実施の形態を、添付の図面に基づいて詳細に説明する。
【実施例１】
【００１４】
図１は、本発明のレンズシステム及びそれを有する撮像システムの実施形態にかかわる全体ブロック図である。
【００１５】
光学装置１００はマニュアル操作可能なズームレンズ１０４（可動光学部材）を備えている。光学装置１００には、ズームレンズ１０４を駆動する駆動装置１２０、および光学装置１００からの被写体光を受光する撮像素子を有するカメラ１１０が脱着可能に接続されている。以下の説明においては、光学装置の可動部材としてズームレンズ１０４を例示して説明するが、本発明はズームレンズの駆動操作に限定されることはない。ズームレンズに代えて、フォーカスレンズ、ＩＲＩＳなど他の可動光学部材に対しても本発明は同様に適用可能である。
【００１６】
ズームレンズ１０４の移動に伴って値の変化するエンコーダとして、光学装置１００は絶対位置を検出する絶対値エンコーダ１０２（第１の位置検出手段）を備え、駆動装置１２０は相対位置を検出する相対値エンコーダ１２３（第２の位置検出手段）を備える。相対値エンコーダ１２３は、ズームレンズ１０４の位置の変位量を検出する。駆動装置１２０の相対値エンコーダ１２３は、光学装置１００の絶対値エンコーダ１０２より分解能が高い。絶対値エンコーダ１０２の出力は光学装置１００内のＣＰＵａ１０１に入力され、ズームレンズ１０４の位置が認識可能となっている。
【００１７】
また相対値エンコーダ１２３の出力は駆動装置１２０内のＣＰＵｂ１２１に入力され、ズームレンズ１０４の位置の変位量の認識が可能となるとともに、ＣＰＵｂ１２１は制御部１２４を通して光学装置１００のズームレンズ１０４の駆動のサーボ制御を行う。
【００１８】
光学装置１００のＣＰＵａ１０１にはタイマａ１０５（時間計測手段）が接続され、光学装置１００での後述するイベント間の時間の計測等の時間管理を行う。またＣＰＵｂ１２１にもタイマｂ１２５が接続され、駆動装置１２０内での後述するイベントの時間管理を行う。また光学装置１００のＣＰＵａ１０１はカメラ１１０のＣＰＵｃ１１１と通信ラインｃ１４２を通して情報を交換し、駆動装置１２０のＣＰＵｂ１２１と通信ラインａ１４０を通して情報を交換する。
【００１９】
また駆動装置１２０のＣＰＵｂ１２１はコントローラ１３０と通信ラインｂ１４１を介して通信可能であり、コントローラ１３０からの制御信号に基づいてズームレンズ１０４の制御が可能となっている。ここで通信ラインａ１４０、通信ラインｂ１４１、通信ラインｃ１４２は、シリアル通信で構成されていてもパラレル通信で構成されていても構わない。以下、シリアル通信で構成されているものとして説明を行う。
【００２０】
光学装置１００は、ＣＰＵａ１０１がデータの読み出し及び書き込みを行う記憶部ａ１０３を有する。ここで記憶部ａ１０３は不揮発性メモリが望ましいが、バックアップ用の電池やコンデンサなどを搭載してデータが消えないように構成されておれば不揮発性メモリでなくても構わない。また駆動装置１２０は、ＣＰＵｂ１２１がデータの読み出し及び書き込みを行う記憶部ｂ１２２を有する。
【００２１】
ここで光学装置１００の記憶部ａ１０３には、例えば工場出荷時において、光学装置１００のズームレンズ１０４をワイド端からテレ端まで移動させた時の絶対値エンコーダ１０２の値が変化する位置それぞれにおける駆動装置１２０の相対値エンコーダの値が記憶されている。この値は絶対値エンコーダ１０２の取り付け誤差を含む、光学装置１００における相対値エンコーダ１２３の出力値となる。例えばワイド端を基準として相対値エンコーダ１２３に０（零）をセットする。次にズームレンズ１０４をテレ端方向に移動させたときに絶対値エンコーダ１０２の値が変化する位置での相対値エンコーダ１２３の出力値を記憶部ａ１０３に設定する。そしてズームレンズ１０４をテレ端まで移動させながら、同様に記憶部ａ１０３に相対値エンコーダ１２３の値を設定していく。これによって記憶部ａ１０３にはズームレンズ１０４の詳細位置が記憶されることになる。ここでズームレンズ１０４の基準位置をワイド端としたが、テレ端を基準にしても構わない。
【００２２】
同様に、駆動装置１２０には記憶部ｂ１２２が備えられている。ＣＰＵｂ１２１はタイマｂ１２５により周期時間Ｔｓごとに、相対値エンコーダ１２３の値を記憶部ｂ１２２に設定するタイマ割り込みが入る。また、記憶部ｂ１２２はリングバッファで構成されており、ＣＰＵｂ１２１は相対値エンコーダ１２３の値をタイマ割り込み毎に記憶部ｂ１２２にアドレス順に設定していく。
【００２３】
ここで、タイマａ１０５とタイマｂ１２５は時刻が同期していなくても構わない。
また駆動装置１２０にはコントローラ１３０が接続されており、ＣＰＵｂ１２１に通信ラインｂ１４１を通してコントローラ１３０によるズームレンズ１０４の制御が可能となっている。
【００２４】
図２（ａ）は光学装置１００に備えられている絶対値エンコーダ１０２の例である。４ビットのグレイコードで構成されている。絶対値エンコーダは例えばバイナリやＢＣＤ、グレイコードなどで構成することが可能であるが、２進数を前後のハミング距離が１になるように符号化されているグレイコードが使用されることが多い。これは絶対値の変化においてノイズの影響を受けにくくするためである。また図２（ｂ）にはグレイコードとバイナリコードの変換方法の例を示す。グレイコードとバイナリコードの対応表を用意して変換することも可能である。
【００２５】
図３は、記憶部ａ１０３の相対値エンコーダ１２３の値の記憶例である。絶対値エンコーダ１０２の値が変化する位置ごとの相対値エンコーダ１２３の値が記憶されている。この例では、ワイド端を基準として絶対値エンコーダ１０２の値が１から２もしくは２から１へ変化する位置での相対値エンコーダ１２３の値である９５が記憶部ａ１０３のアドレスａ３０１に設定されている。また絶対値エンコーダ１０２の値が２から３もしくは３から２へ変化する位置での相対値エンコーダ１２３の値である１００が記憶部ａ１０３のアドレスｂ３０２に設定されている。さらに絶対値エンコーダ１０２の値が３から４もしくは４から３へ変化する位置での相対値エンコーダ１２３の値である１５０が記憶部ａ１０３のアドレスｃ３０３に設定されている。同様に絶対値エンコーダ１０２の値が変化する各位置での相対値エンコーダ１２３の各値が記憶部ａ１０３の各アドレスに記憶されている。
【００２６】
図４を用いて、ズームレンズ１０４の初期化方法を説明する。
【００２７】
ズームレンズ１０４の初期化が終了していない場合（例えば電源投入時や駆動装置１２０が光学装置１００に接続されたときなど）、ズームレンズ１０４の位置は不定となっている。そこで仮の位置として、絶対値エンコーダ１０２の値は分かるため、現在の位置を中心とした２つの絶対値エンコーダ１０２の位置が変化する値の平均値を用いるものとする。例えば、絶対値エンコーダ１０２の値が２であった場合、記憶部ａ１０３から１から２へ変化する位置での値であるアドレスａ３０１の値の９５と２から３へ変化する位置での値であるアドレスｂ３０２の値の１００との平均値である９７を使用し、相対値エンコーダ１２３に設定する。小数点以下を切り捨てして使用しているが、切り上げもしくは四捨五入して使用しても構わない。
【００２８】
図４（ａ）において、４０１はズームレンズ１０４が移動した場合の各時刻における絶対値エンコーダ１０２の出力値を示している。時刻Ｔａ１では絶対値エンコーダ１０２の出力が２から３へ変化している。このときＣＰＵａ１０１は記憶部ａ１０３より絶対値エンコーダ１０２の変化に対応したデータを取得する。取得したデータ（以下、ＰｏｓＭｅｍｏとする）は絶対値エンコーダ１０２の出力が２から３へ変化している場合のためアドレスｂ３０２の値である１００となる。ＣＰＵａ１０１は、タイマａ１０５やタスクの優先順位により駆動装置１２０のＣＰＵｂ１２１との通信が可能となる時刻Ｔａ２まで待つ。時刻Ｔａ２になると、ＣＰＵａ１０１はズームレンズ１０４の初期化データａ４０２を駆動装置１２０のＣＰＵｂ１２１へ通信ラインａ１４０を介して送信する。
【００２９】
ここでＣＰＵａ１０１がＣＰＵｂ１２１へ送信した初期化データａ４０２について説明する。初期化データａ４０２は、当該データが初期化データａ４０２であることを示す通信用ヘッダ部、記憶部ａ１０３より取得したデータＰｏｓＭｅｍｏ、絶対値エンコーダ１０２の値の変化の検出から初期化データａ４０２の通信終了までの時間Ｔｐ３、で構成される。ここで各構成データ長は１６ビット、通信速度は１００Ｋｂｐｓとする。
【００３０】
光学装置１００のＣＰＵａ１０１が絶対値エンコーダ１０２の変化を検出した時刻Ｔａ１から駆動装置１２０のＣＰＵｂ１２１に通信を開始する時刻Ｔａ２までに経過する時間Ｔｐ１は式（１）で表わされる。
Ｔｐ１＝Ｔａ２−Ｔａ１  ・・・（１）
【００３１】
また、初期化データａ４０２の構成は既知でありデータ長は一定であるため、通信にかかる時間をＴｐ２とすると、Ｔｐ２は式（２）から固定値となる。
Ｔｐ２＝（１６ビット×３）÷ １００Ｋｂｐｓ＝４８０μｓ  ・・・（２）
【００３２】
したがって、ＣＰＵａ１０１が絶対値エンコーダ１０２の変化を検出してからＣＰＵｂ１２１への通信が終了するまでの時間Ｔｐ３は式（３）で算出される。
Ｔｐ３＝Ｔｐ１＋Ｔｐ２  ・・・（３）
【００３３】
次に、駆動装置１２０のＣＰＵｂ１２１の処理を説明する。
【００３４】
ＣＰＵｂ１２１はタイマｂ１２５を用いて相対値エンコーダ１２３の出力をモニタするタイミングを決めている。このモニタ周期をＴｓとすると、４０４はそのモニタするタイミングを表している。ＣＰＵｂ１２１は、モニタした相対値エンコーダ１２３の値を、その都度、記憶部ｂ１２２に設定する。記憶部ｂ１２２はリングバッファ方式となっており、各アドレスに順次相対値エンコーダ１２３の値を設定する。
【００３５】
ＣＰＵｂ１２１がＣＰＵａ１０１から初期化データａ４０２を受信した時刻をＴｂ３とすると、絶対値エンコーダ１０２の値が変化した時刻Ｔｂ１は式（４）で算出される。
Ｔｂ１＝Ｔｂ３−Ｔｐ３  ・・・（４）
（４）式により、ＣＰＵｂ１２１は、絶対値エンコーダ１０２の値が変化した時刻Ｔｂ１を演算することができる。
【００３６】
次に図４（ｂ）を用いて、時刻Ｔｂ１における相対値エンコーダ１２３の出力値の算出方法を説明する。
【００３７】
記憶部ｂ１２２には、周期Ｔｓでの相対値エンコーダ１２３からの出力値が順次設定されているため、時刻Ｔｂ１における相対値エンコーダの出力値が設定されているアドレスを算出することで時刻Ｔｂ１における相対値エンコーダ１２３からの出力値を選択して取得することができる。記憶部ｂ１２２への現在のアドレスをＡｄｒｓＣｕｒｒとしたとき、時刻Ｔｂ１でのアドレスＡｄｒｓＴｂ１は式（５）、（６）により算出できる。
ＡｄｒｓＯｆｆｓｅｔ＝Ｒｏｕｎｄ（Ｔｐ３／Ｔｓ）  ・・・（５）
ＡｄｒｓＴｂ１＝ＡｄｒｓＣｕｒｒ−ＡｄｒｓＯｆｆｓｅｔ  ・・・（６）
ここで、Ｒｏｕｎｄは小数点以下を四捨五入する演算子である。ここで小数点以下を切り捨て、切り上げしても構わない。
【００３８】
次に記憶部ｂ１２２のアドレスＡｄｒｓＴｂ１におけるデータＰｏｓＴｂ１（本例での値は１１１）と現在のアドレスＡｄｒｓＣｕｒｒにおけるデータＰｏｓＣｕｒｒ（本例での値は１１５）の差分ＰｏｓｓＯｆｆｓｅｔを算出する。
ＰｏｓＯｆｆｓｅｔ＝ＰｏｓＣｕｒｒ−ＰｏｓＴｂ１  ・・・（７）
【００３９】
式（７）を用いると、本実施例では以下の値となる。
ＰｏｓＯｆｆｓｅｔ＝１１５−１１１＝４
このＰｏｓＯｆｆｓｅｔは、ＣＰＵａ１０１が絶対値エンコーダ１０２の変化検出時からＣＰＵｂ１２１がＣＰＵａ１０１から送信された初期化データａ４０２を受信完了するまでにかかった時間内にズームレンズ１０４が移動したときの相対値エンコーダ１２３の出力値が変化した値となっている。
【００４０】
従って、ズームレンズ１０４の現在位置ＰｚＣｕｒｒは式（８）により算出される。
ＰｚＣｕｒｒ＝ＰｏｓＭｅｍｏ＋ＰｏｓＯｆｆｓｅｔ  ・・・（８）
このＰｚＣｕｒｒを相対値エンコーダ１２３に設定することにより、ズームレンズ１０４の精度の良い絶対位置が得られることになる。
【００４１】
すなわち、本実施例では
ＰｚＣｕｒｒ＝１００＋４＝１０４
となる。
このＰｚＣｕｒｒを相対値エンコーダ１２３に設定することになる。図４（ａ）の４０５がＰｚＣｕｒｒの値である１０４を設定したときの相対値エンコーダの出力を表したものとなる。
【００４２】
この効果は、絶対値エンコーダ１０２の分解能に対して相対値エンコーダ１２３の分解能が高ければその効果は大きなものとなる。
【００４３】
図５を用いて、ＣＰＵａ１０１の相対値エンコーダ１２３の初期化処理を説明する。
【００４４】
ステップＳ５０１では、ズームレンズ１０４の移動に伴う絶対値エンコーダ１０２の出力値を取得し、ステップＳ５０２へ進む。ステップＳ５０２ではその出力値の変化をチェックする。変化が無い場合には、ステップＳ５０１に戻る。変化が検出された場合、ステップＳ５０３に進む。
【００４５】
ステップＳ５０３ではタイマａ１０５より変化のあった時刻Ｔａ１を取得する。そしてステップ５０４に進む。
【００４６】
ステップＳ５０４では記憶部ａ１０３の絶対値エンコーダ１０２の変化に対応したアドレスからデータＰｏｓＭｅｍｏを取得する。そしてステップＳ５０５へ進む。
【００４７】
ステップＳ５０５では、駆動装置１２０のＣＰＵｂ１２１との通信が可能かどうかをチェックする。例えば、タイマａ１０５がＣＰＵａ１０１とＣＰＵｂ１２１の通信タイミングを管理していたり（１０ｍｓ毎に通信するような構成等）、ＣＰＵａ１０１とＣＰＵｂ１２１の通信よりも優先度の高い処理が存在する場合等により通信タイミングが限定されていることがあるためである。
ステップ５０５でＣＰＵｂ１２１との通信が許可されていない場合は、ステップＳ５０５に戻り、通信許可を待つ。また許可されている場合は、ステップ５０６に進む。
【００４８】
ステップ５０６では通信開始時刻Ｔａ２をタイマａ１０５より取得する。そしてステップ５０７へ進む。
【００４９】
ステップＳ５０７では、絶対値エンコーダ１０２の出力が変化した時刻Ｔａ１から通信開始までの経過時間Ｔｐ１を式（１）を用いて算出する。そしてステップＳ５０８へ進む。
【００５０】
ステップＳ５０８では、初期化データａ４０２の通信時間Ｔｐ２を算出する。これは図４（ａ）を用いて説明したようにデータフォーマットが固定なため、通信時間は固定となる。従って、あらかじめ決められた通信時間を用いてもよい。そして、ステップＳ５０９へ進む。
【００５１】
ステップＳ５０９では、式（３）により、絶対値エンコーダ１０２の出力値が変化した時刻から初期化データａ４０２の通信が終了するまでの時間を算出する。そしてステップＳ５１０へ進む。
【００５２】
ステップＳ５１０では、駆動装置１２０のＣＰＵｂ１２１に初期化データａ４０２を送信する。初期化データａ４０２は、ヘッダ部、絶対値エンコーダ１０２の出力が変化した時刻Ｔａ１を特定するための時間情報であるＴｐ３、絶対値エンコーダ１０２の変化に対応したデータとして取得されたデータであるＰｏｓＭｅｍｏで構成される。
【００５３】
そして、初期化処理を終了する。
【００５４】
図６を用いてＣＰＵｂ１２１の相対値エンコーダ１２３の初期化処理を説明する。
図６（ａ）は、ＣＰＵｂ１２１がタイマｂ１２５の割り込み処理による周期的な処理のフローである。
【００５５】
タイマｂ１２５からＣＰＵｂ１２１に割り込み処理が発生するとステップＳ６０１に進む。ステップＳ６０１では、ＣＰＵｂ１２１は相対値エンコーダ１２３の出力値を読み込み、ズームレンズ１０４の位置情報として記憶部ｂ１２２に設定する。記憶部ｂ１２２はリングバッファで構成され、ズームレンズ１０４の位置情報はタイマ割り込みが発生する毎に順次記憶されていくものとする。
【００５６】
そして、ＣＰＵｂ１２１のタイマ割り込み処理を終了する。
【００５７】
次に図６（ｂ）を用いて、ＣＰＵｂ１２１の相対値エンコーダ１２３の初期化処理を説明する。
【００５８】
ステップＳ６０２では、ＣＰＵｂ１２１はＣＰＵａ１０１からの初期化データａ４０２が送信されて来たかどうかをチェックする。無しの場合、ステップＳ６０２に戻る。有りの場合、ステップＳ６０３に進む。
【００５９】
ステップ６０３では、ＣＰＵａ１０１から送信された初期化データａ４０２およびタイマｂ１２５の割り込み周期をＴｓより式（５）を用いて、記憶部ｂ１２２の現在のアドレスからのアドレスオフセットＡｄｒｓＯｆｆｓｅｔを算出する。次に、式（６）を用いて、ＣＰＵａ１０１が絶対値エンコーダ１０２の出力が変化した時刻Ｔｂ１における記憶部ｂ１２２のアドレスＡｄｒｓＴｂ１を算出する。さらに、アドレスＡｄｒsＴｂ１における記憶部ｂ１２２のデータＰｏｓＴｂ１を取得する。そしてステップＳ６０４へ進む。
【００６０】
ステップＳ６０４では、式（７）を用いて、ＣＰＵａ１０１とＣＰＵｂ１２１の通信時間遅れによる相対値エンコーダ１２３の出力変化分ＰｏｓＯｆｆｓｅｔを算出する。そしてステップＳ６０６へ進む。
【００６１】
ステップＳ６０６では、初期化データａ４０２のＰｏｓＭｅｍｏとＰｏｓＯｆｆｓｅｔから式（８）を用いて、ズームレンズ１０４の絶対値を算出する。そしてステップＳ６０６へ進む。
ステップＳ６０６では、算出されたズームレンズ１０４の絶対値を相対値エンコーダ１２３に設定する。
【００６２】
そして、ＣＰＵｂ１２１の相対値エンコーダ１２３の初期化処理を終了する。
【００６３】
このように、相対値エンコーダ１２３の初期化済みのデータを搭載し、絶対値エンコーダ１０２の出力が変化する位置を利用することで相対値エンコーダ１２３の出力の初期化を行い、さらに通信時間を考慮して相対値エンコーダ１２３の出力値を補正する。それにより、光学装置１００と駆動装置１２０の脱着に伴う初期化が容易に行われることが可能となり、ズームレンズ１０４の詳細な絶対値による位置情報の取得やサーボ制御が可能となる。
【００６４】
本実施例においては、初期化データａを駆動装置１２０に送信する通信時間は光学装置１００で予め計算され、その値を駆動装置に送信していたが、駆動装置へ初期化データａを送信後に駆動装置内で計算されるようにしてもよい。
【実施例２】
【００６５】
図７は、本発明のレンズシステムの実施形態にかかわる全体ブロック図である。
図１における駆動装置１２０の記憶部ｂ１２２をなくしたものである。従ってＣＰＵｂ１２１がタイマｂ１２５によるタイマ割り込みごとに相対値エンコーダ１２３の値を記憶部ｂ１２２に設定することが無いこと以外は同等な機能なため、全体ブロックの説明を省略する。
【００６６】
図８を用いて、ズームレンズ１０４の初期化方法を説明する。
【００６７】
ズームレンズ１０４の初期化が終了していない場合(例えば電源投入時や駆動装置１２０が光学装置１００に接続されたときなど)、ズームレンズ１０４の位置は不定となっている。そこで仮の位置として、絶対値エンコーダ１０２の値は分かるため、現在の位置を中心とした２つの絶対値エンコーダ１０２の位置が変化する値の平均値を用いるものとする。例えば、絶対値エンコーダ１０２の値が２であった場合、記憶部ａ１０３から１から２へ変化する位置での値であるアドレスａ３０１の値の９５と２から３へ変化する位置での値であるアドレスｂ３０２の値の１００との平均値である９７を使用し、相対値エンコーダ１２３に設定する。小数点以下を切り捨てして使用しているが、切り上げして使用しても構わない。
【００６８】
また、記憶部ａ１０３の相対値エンコーダ１２３の値の記憶例は図３で説明したとおりである。
【００６９】
図８において、８０１はズームレンズ１０４が移動した場合の各時刻における絶対値エンコーダ１０２の出力値を示している。時刻Ｔａ１０では絶対値エンコーダ１０２の出力が２から３へ変化している。時刻Ｔａ１１では絶対値エンコーダ１０２の出力が３から４へ変化している。時刻Ｔａ１２では絶対値エンコーダ１０２の出力が４から５へ変化している。時刻Ｔａ１３では絶対値エンコーダ１０２の出力が５から６へ変化している。
【００７０】
それぞれの変化検出時にＣＰＵａ１０１は記憶部ａ１０３より絶対値エンコーダ１０２の変化に対応したデータを取得する。例えば、Ｔａ１０では取得したデータ（以下、ＰｏｓＭｅｍｏとする）は絶対値エンコーダ１０２の出力が２から３へ変化している場合のためアドレスｂ３０２の値である１００となる。ＣＰＵａ１０１はタイマａ１０５やタスクの優先順位により駆動装置１２０のＣＰＵｂ１２１との通信が可能状態になるまで待つ。通信可能になるとＣＰＵａ１０１は駆動装置１２０のＣＰＵｂ１２１へズームレンズ１０４の初期化データｂ８０２を通信ラインａ１４０を用いて送信する。
【００７１】
ここでＣＰＵａ１０１がＣＰＵｂ１２１へ初期化データｂ８０２を送信する条件を説明する。
【００７２】
時刻Ｔａ１０と時刻Ｔａ１１の経過時間をＴｐ１１（＝Ｔａ１１−Ｔａ１０）、時刻Ｔａ１１と時刻Ｔａ１２の経過時間をＴｐ１２（＝Ｔａ１２−Ｔａ１１）、時刻Ｔａ１２と時刻Ｔａ１３の経過時間をＴｐ１３（＝Ｔａ１３−Ｔａ１２）とする。
【００７３】
時刻Ｔａ１０を光学装置１００のＣＰＵａ１０１が初めて絶対値エンコーダ１０２の出力値の変化を検出した時刻とする。ＣＰＵａ１０１は記憶部ａ１０３より絶対値エンコーダ１０２の変化に対応したアドレスより記憶されているデータＰｏｓＭｅｍｏを取得する。そして初期化データｂ８０２を駆動装置１２０のＣＰＵｂ１２１へ送信する。
【００７４】
ＣＰＵａ１０１がＣＰＵｂ１２１へ送信した初期化データｂ８０２について説明をする。初期化データｂ８０２は、初期化データｂ８０２が送信されたことを知らせるための通信用ヘッダ部、記憶部ａ１０３より取得したデータＰｏｓＭｅｍｏから構成されている。
【００７５】
次に時刻Ｔａ１１でＣＰＵａ１０１は記憶部ａ１０３より絶対値エンコーダ１０２の変化に対応したアドレスより記憶されているデータＰｏｓＭｅｍｏを取得する。
【００７６】
そして初期化データｂ８０２を駆動装置１２０のＣＰＵｂ１２１へ送信する。また、この時、経過時間Ｔｐ１１をその時点までの経過時間の最大値として記憶部ｃ（最大時間記憶部）１０６に保存する。
【００７７】
次に時刻Ｔａ１２でＣＰＵａ１０１は、前回の絶対値エンコーダ１０２の出力値の変化があった時刻Ｔａ１１から今回の時刻Ｔａ１２までの経過時間Ｔｐ１２を、記憶部ｃ（最大時間記憶部）１０６に保存されているその時点での経過時間の最大値（この場合は、経過時間Ｔｐ１１）と比較する。
【００７８】
経過時間Ｔｐ１１より経過時間Ｔｐ１２の方が短いので、ＣＰＵａ１０１は、記憶部ａ１０３より絶対値エンコーダ１０２の変化に対応したアドレスより記憶されているデータＰｏｓＭｅｍｏを取得することなく、また、ＣＰＵｂ１２１へ初期化データｂ８０２を送信することもしない。これは、ズームレンズ１０４の移動による駆動装置１２０における相対値エンコーダ１２３の値の変化速度が時刻Ｔａ１１のときより時刻Ｔａ１２の方が早いため、通信時間による遅れによる誤差が大きくなるからである。
【００７９】
さらに時刻Ｔａ１３でＣＰＵａ１０１は、前回の絶対値エンコーダ１０２の出力値の変化があった時刻Ｔａ１２から今回の時刻Ｔａ１３までの経過時間Ｔｐ１３を、記憶部ｃ（最大時間記憶部）１０６に保存されているその時点での経過時間の最大値（この場合は、経過時間Ｔｐ１１）と比較する。記憶部ａ１０３より絶対値エンコーダ１０２の変化に対応したアドレスより記憶されているデータＰｏｓＭｅｍｏを取得する。
【００８０】
経過時間Ｔｐ１１より経過時間Ｔｐ１３が長いので、ＣＰＵａ１０１は、記憶部ａ１０３より絶対値エンコーダ１０２の変化に対応したアドレスより記憶されているデータＰｏｓＭｅｍｏを取得し、ＣＰＵｂ１２１へ初期化データｂ８０２を送信する。これは、ズームレンズ１０４の移動による駆動装置１２０における相対値エンコーダ１２３の値の変化速度が時刻Ｔａ１１のときより時刻Ｔａ１３の方が遅いため、通信時間による遅れによる誤差が小さくなるからである。ここで基準となる比較経過時間Ｔｐ１１は、初期化データｂ８０２を最後に送信したときの経過時間である。したがって、次に絶対値エンコーダ１０２の出力変化を検出したときには、基準となる比較経過時間はＴｐ１３となる。
【００８１】
すなわち、本実施例においては、記録されている経過時間の最大値が更新される度に、初期化データが駆動装置に送信されることになる。
【００８２】
ここで絶対値エンコーダ１０２の出力値が変化する時刻間の経過時間をＴｐ２２とすると、ズームレンズ１０４が停止から駆動開始した場合、経過時間Ｔｐ２２はかなり長い時間となり、ズームレンズ１０４の速度が遅いと判断される可能性がある。これを防ぐために停止認識基準時間ＴｐＳｔｏｐＳｔｄを設定する。
【００８３】
ＣＰＵａ１０１がＣＰＵｂ１２１へ初期化データｂ８０２を送信する条件として式（８）が成立することを確認する。
ＴｐＳｔｏｐＳｔｄ＞Ｔｐ２２  ・・・（８）
【００８４】
また相対値エンコーダ１２３の初期化が完了するために、初期化完了基準時間ＴｐＩｎｉｔＳｔｄを設定する。これは、ＣＰＵａ１０１が絶対値エンコーダ１０２の出力変化を検出してからＣＰＵｂ１２１が相対値エンコーダ１２３へＰｏｓＭｅｍｏを設定するまでにズームレンズ１０４の移動による相対値エンコーダ１２３の変化がない（無視できるほど十分小さい場合も含む）と判断できる時間である。式（９）が成立することにより、その判断を行う。
ＴｐＩｎｉｔＳｔｄ＜Ｔｐ２２  ・・・（９）
【００８５】
以上のように、光学装置１００のＣＰＵａ１０１と駆動装置１２０のＣＰＵｂ１２１の通信時間およびズームレンズ１０４の移動速度を考慮して相対値エンコーダ１２３の初期化を行うため、通信のたびごとに相対値エンコーダ１２３の初期化精度がよくなる。またズームレンズ１０４の移動停止を考慮したため、停止状態から急な動き開始に対しても相対値エンコーダ１２３の誤った初期化が無くなる。さらに、初期化完了するための基準時間を設けたため、相対値エンコーダ１２３の初期化がいつまでも終了することが無い状態も防げるようになる。
【００８６】
図９を用いて、ＣＰＵａ１０１の相対値エンコーダ１２３の初期化処理を説明する。
【００８７】
ステップＳ９０１では、ズームレンズ１０４の移動による絶対値エンコーダ１０２の位置の変化情を取得し、ステップＳ９０２で、変化があったかどうかを確認する。変化が無かった場合、ステップＳ９０１へ戻る。変化があった場合、ステップＳ９０３へ進む。
【００８８】
ステップＳ９０３では、現在時刻Ｔａ２２を取得する。そしてステップＳ９０４へ進む。
【００８９】
ステップＳ９０４では、前回の変化時刻Ｔａ２１からの経過時間Ｔｐ２２（＝Ｔａ２２−Ｔａ２１）を算出する。そしてステップＳ９０５へ進む。
【００９０】
ステップＳ９０５では、式（１０）により、次回の変化検出時に今回の変化検出時刻を前回の変化時刻として扱うための変化検出時刻の更新を行う。そしてステップＳ９０６へ進む。
Ｔａ２１＝Ｔａ２２  ・・・（１０）
【００９１】
ステップＳ９０６では、経過時間Ｔｐ２２と所定の停止認識基準時間ＴｐＳｔｏｐＳｔｄとの比較を行う。
ＴｐＳｔｏｐＳｔｄ＜Ｔｐ２２  ・・・（１１）
【００９２】
式（１１）が成立する場合は、ステップＳ９０７へ進み、成立しない場合は、ズームレンズ１０４は停止していたとしてステップＳ９０１へ戻る。
【００９３】
ステップＳ９０７では、前回の経過時間Ｔｐ２１と今回の経過時間Ｔｐ２２を比較する。
Ｔｐ２２＞Ｔｐ２１  ・・・（１２）
【００９４】
式（１２）が成立する場合は、ステップ９０８へ進み、成立しない場合は、ズームレンズ１０４は前回検出時より早く移動していると判断してステップＳ９０１へ戻る。
【００９５】
ステップＳ９０８では、式（１３）により、次回の変化検出時に今回の変化検出経過時間Ｔｐ２２を前回の変化検出経過時間Ｔｐ２１として扱うために変化検出経過時間を更新する。
Ｔｐ２１＝Ｔｐ２２  ・・・（１３）
そしてステップＳ９０９へ進む。
【００９６】
ステップＳ９０９では記憶部ａ１０３の絶対値エンコーダ１０２の変化に対応したアドレスからデータＰｏｓＭｅｍｏを取得する。そしてステップＳ９１０へ進む。
ステップＳ９１０では、ＣＰＵａ１０１が通信許可状態まで待ち、通信許可状態になった場合、ＣＰＵａ１０１はＣＰＵｂ１２１へ初期化データｂ８０２（初期化データを表す通信ヘッダとＰｏｓＭｅｍo）を送信する。
【００９７】
ステップＳ９１１では、今回の変化検出経過時間Ｔｐ２２と初期化完了基準時間ＴｐＩｎｉｔＳｔｄとの比較を行う。
ＴｐＩｎｉｔＳｔｄ＜Ｔｐ２２  ・・・（１３）
【００９８】
式（１３）が成立した場合は、初期化を完了とし、成立しない場合は、ズームレンズ１０４の移動速度が速いと判断し、さらに相対値エンコーダ１２３の初期化精度を上げるためにステップＳ９０１へ進む。
【００９９】
図１０を用いて、ＣＰＵｂ１２１の相対値エンコーダ１２３の初期化処理を説明する。
【０１００】
ステップＳ１００１では、ＣＰＵａ１０１からの初期化データｂ８０２の通信があったかどうかを確認する。通信有りの場合、ステップＳ１００２へ進む。通信が無い場合、ステップＳ１００１へ戻る。
【０１０１】
ステップＳ１００２では、ＣＰＵａ１０１の初期化データｂ８０２からＰｏｓＭｅｍｏを取得し、相対値エンコーダ１２３に設定し、ステップＳ１００１へ戻る。
【０１０２】
図１１を用いて、光学装置１００の記憶部ａ１０３へのデータ記憶方法について説明する。
図１１（ａ）は、第１の記憶方法である。
【０１０３】
光学装置１００に駆動装置１２０と同じ機能構成の調整用駆動装置１１０１を接続し、通信ラインａ１４０を用いて通信可能となっている。また調整用駆動装置１１０１はコントローラ１３０と通信ラインｂ１４１を用いて通信可能となっている。
【０１０４】
調整モードに入るためにコントローラ１３０は調整用駆動装置１１０１の図示しないＣＰＵｂ１２１へ調整用コマンドを送る。同様にＣＰＵｂ１２１は図示しないＣＰＵａ１０１へ調整用コマンドを送る。
【０１０５】
ＣＰＵａ１０１は調整用コマンドに基づき、図示しないズームレンズ１０４をワイド端まで移動させる。ワイド端に到着後、ＣＰＵａ１０１はＣＰＵｂ１２１へワイド端に到着したことを知らせる。ＣＰＵｂ１２１は図示しない相対値エンコーダ１２３に初期値０を設定する。設定完了後、ＣＰＵｂ１２１はＣＰＵａ１０１に設定完了を知らせる。
次にＣＰＵａ１０１はズームレンズ１０４をテレ端まで移動させながら、ＣＰＵｂ１２１から相対値エンコーダ１２３の値を取得する。
【０１０６】
絶対値エンコーダ１０２の出力値の変化検出毎にＣＰＵｂ１２１より取得した相対値エンコーダ１２３の出力値を図示しない記憶部ａ１０３へ順次設定していく。
【０１０７】
ズームレンズ１０４がテレ端に到着後、ＣＰＵａ１０１はＣＰＵｂ１２１へ調整完了を知らせる。
【０１０８】
以上の様に、駆動装置１２０と同機能を持った調整用駆動装置１１０１を光学装置１００に接続し、またコントローラ１３０を調整用駆動装置１１０１に接続して、調整モードにて相対値エンコーダ１２３の値を記憶部ａ１０３に記憶させることができる。
【０１０９】
図１１（ｂ）は、第２の記憶方法である。
光学装置１００の構成はＣＰＵａ１０１やタイマａ１０５が省略されているが、図１と同等であるため説明を省略する。
【０１１０】
調整用工具１１０２はＣＰＵｄ１１０３、タイマｄ１１０６、相対値エンコーダ１１０４、制御部ｄ１１０５により構成されている。
【０１１１】
ＣＰＵｄ１１０３は光学装置１００の記憶部ａ１０３に対して読み書きが可能になっている。またＣＰＵｄ１１０３は、光学装置１００の絶対値エンコーダ１０２の出力と、調整用工具１１０２の相対値エンコーダ１１０４出力が読めるように構成されている。光学装置１００のズームレンズ１０４は絶対値エンコーダ１０２と調整用工具１１０２の相対値エンコーダ１１０４に接続され、ズームレンズ１０４の移動により絶対値エンコーダ１０２や相対値エンコーダ１１０４の出力値が変化するように構成されている。ＣＰＵｄ１１０３は制御部ｄ１１０５によりズームレンズ１０４を制御することが可能である。またタイマｄ１１０６がＣＰＵｄ１１０３に接続されているため、ズームレンズ１０４の制御や調整のための時間管理が可能である。ＣＰＵｄ１１０３は調整用コントローラ１１０７（例えばＰＣなど）と接続され、調整用コントローラ１１０７からの指令により調整が行われる。
【０１１２】
ＣＰＵｄ１１０３は調整用コントローラ１１０７からの調整開始命令を受信すると、ズームレンズ１０４をワイド端まで移動させる。そしてＣＰＵｄ１１０３は相対値エンコーダ１１０４に初期値０を設定する。
ＣＰＵｄ１１０３はズームレンズ１０４をテレ端方向に移動しながら、絶対値エンコーダ１０２の出力値の変化を検出するたびに相対値エンコーダ１１０４の出力値を読み込み記憶部ａ１０３へ順次設定していく。
【０１１３】
ズームレンズ１０４がテレ端まで移動したらＣＰＵｄ１１０３は調整を終了する。
そして調整用コントローラ１１０７へ終了を通知する。
【０１１４】
図１１（ａ）及び（ｂ）の説明において、光学装置１００はマニュアル操作可能なため、ワイド端は機械構造的にそれ以上光学方向に移動できない位置（機械的可動範囲の端）とする。また、サーボ駆動範囲の端をワイド端、テレ端としてもよい。このとき、サーボ端から物理端までの相対値エンコーダ１２３の出力による位置情報に関しては端と同じ値もしくはオーバーワイド端、オーバーテレ端としてワイド方向ではマイナス値、テレ方向ではテレ端値より連続な値を用いてもよい。
【０１１５】
また、光学装置１００のズームレンズ１０４を調整開始時にワイド端へ移動したがテレ端へ移動して、ワイド端方向に移動させても構わない。
【０１１６】
これまで、ズームレンズ１０４を用いて説明を行ったが、フォーカスレンズ、ＩＲＩＳなど他の光学部材に適応可能である。また絶対値エンコーダの変化を割り込み処理で検出することも可能である。さらに各ＣＰＵ間の通信許可は各タイマによる割り込み処理を使用して通信することも可能である。
【０１１７】
以上のように、光学装置内の絶対値エンコーダを利用することにより駆動装置内に使用する相対値エンコーダにＺ相をもつような高価な相対値エンコーダをする必要が無く、また通信遅れや光学部材の移動速度などを考慮することにより相対値エンコーダの初期化を精度よく行うことが可能となる。
【０１１８】
以上、本発明の好ましい実施形態について説明したが、本発明はこれらの実施形態に限定されず、その要旨の範囲内で種々の変形及び変更が可能である。
【符号の説明】
【０１１９】
１００  光学装置
１２０  駆動装置
１０１  ＣＰＵａ
１０２  絶対値エンコーダ（第１の位置検出手段）
１０３  記憶部ａ（第１の記憶手段）
１０４  ズームレンズ（可動光学部材）
１２３  相対値エンコーダ（第２の位置検出手段）
【図１】
0006343190.tif 000002
【図２】
0006343190.tif 000003
【図３】
0006343190.tif 000004
【図４】
0006343190.tif 000005
【図５】
0006343190.tif 000006
【図６】
0006343190.tif 000007
【図７】
0006343190.tif 000008
【図８】
0006343190.tif 000009
【図９】
0006343190.tif 000010
【図１０】
0006343190.tif 000011
【図１１】
0006343190.tif 000012