(57)【要約】【課題】簡便な方法で位置精度を向上させることが可能な位置検出装置、撮像装置、および位置検出方法を提供する。【解決手段】移動可能な部材の位置に応じたアナログ信号を出力する検出素子と、アナログ信号をデジタル値に変換するＡ／Ｄ変換を行うＡ／Ｄ変換器と、Ａ／Ｄ変換器により所定の時間間隔にてＡ／Ｄ変換を実行させ、デジタル値に基づいて上記部材の位置を検出する位置検出部を具備し、部材が停止していると判定している時に（停止状態Ｓｓ）、第１の数のデジタル値の平均値を第１の閾値と比較し、より大きいと判別すると部材が移動していると判定し（Ｔ１の期間）、部材が移動していると判定している時に（操作状態Ｏｓ）、最新のデジタル値と第２の数だけ前に取得したデジタル値の差を第２の閾値と比較し、より小さいと判別すると部材が停止したと判定する（Ｔ２の期間）。【選択図】  図５
2018081249.tif 000002
【特許請求の範囲】
【請求項１】
移動可能な部材の位置に応じたアナログ信号を出力する検出素子と、
上記アナログ信号をデジタル値に変換するＡ／Ｄ変換を行うＡ／Ｄ変換器と、
上記Ａ／Ｄ変換器により所定の時間間隔にてＡ／Ｄ変換を実行させ、上記デジタル値に基づいて上記部材の位置を検出する位置検出部と、
を具備し、
上記位置検出部は、上記部材が停止していると判定している時に、第１の数のデジタル値の平均値を第１の閾値と比較し、より大きいと判別すると上記部材が移動していると判定し、
上記部材が移動していると判定している時に、最新のデジタル値と第２の数だけ前に取得したデジタル値の差を第２の閾値と比較し、より小さいと判別すると上記部材が停止したと判定する、
ことを特徴とする位置検出装置。
【請求項２】
上記位置検出部は、上記部材が停止していると判定している時に、最新のデジタル値を第１の閾値より大きい第３の閾値と比較し、より大きいと判別すると上記部材が移動していると判定することを特徴とする請求項１に記載の位置検出装置。
【請求項３】
上記位置検出部は、上記部材が移動していると判定している時に、上記第１の数より小さい第３の数のデジタル値の平均値を上記部材の位置として更新することを特徴とする請求項１または２に記載の位置検出装置。
【請求項４】
上記位置検出部は、上記部材が停止したと判定した後に、第４の数のデジタル値の平均値を停止位置とすることを特徴とする請求項１乃至３のいずれか一項に記載の位置検出装置。
【請求項５】
上記位置検出部は、上記停止位置に基づいて上記第１の閾値を決定することを特徴とする請求項４に記載に位置検出装置。
【請求項６】
上記位置検出部は、上記停止位置に基づいて上記第３の閾値を決定することを特徴とする請求項４に記載の位置検出装置。
【請求項７】
撮影レンズを含むレンズ鏡筒内に設けられ、光軸方向に移動可能なレンズを有する撮像装置において、
操作部材と、
上記操作部材の位置に応じたアナログ信号を出力する検出素子と、
上記アナログ信号をデジタル値に変換するＡ／Ｄ変換を行うＡ／Ｄ変換器と、
上記Ａ／Ｄ変換器により所定の時間間隔にてＡ／Ｄ変換を実行させ、上記デジタル値に基づいて上記部材の位置を検出する位置検出部と、
上記位置に基づいて上記レンズの位置を制御する制御部と、
を具備し、
上記位置検出部は、上記操作部材が停止していると判定している時に、第１の数のデジタル値の平均値を第１の閾値と比較し、より大きいと判別すると上記操作部材が移動していると判定し、
上記操作部材が移動していると判定している時に、最新のデジタル値と第２の数だけ前に取得したデジタル値の差を第２の閾値と比較し、より小さいと判別すると上記操作部材が停止したと判定する、
ことを特徴とする撮像装置。
【請求項８】
上記位置検出部は、上記部材が停止していると判定している時に、最新のデジタル値を第１の閾値より大きい第３の閾値と比較し、より大きいと判別すると上記部材が移動していると判定することを特徴とする請求項７に記載の撮像装置。
【請求項９】
上記位置検出部は、上記部材が移動していると判定している時に、上記第１の数より小さい第３の数のデジタル値の平均値を上記部材の位置として更新することを特徴とする請求項７または８に記載の撮像装置。
【請求項１０】
上記位置検出部は、上記部材が停止したと判定した後に、第４の数のデジタル値の平均値を停止位置とすることを特徴とする請求項７乃至９のいずれか一項に記載の撮像装置。
【請求項１１】
上記位置検出部は、上記停止位置に基づいて上記第１の閾値を決定することを特徴とする請求項１０に記載に撮像装置。
【請求項１２】
上記位置検出部は、上記停止位置に基づいて上記第３の閾値を決定することを特徴とする請求項１０に記載の撮像装置。
【請求項１３】
上記レンズは、焦点調節レンズであることを特徴とする請求項７乃至１２のいずれか一項に記載の撮像装置。
【請求項１４】
上記レンズは、ズームレンズであることを特徴とする請求項７乃至１２のいずれか一項に記載の撮像装置。
【請求項１５】
上記操作部材は、上記レンズ鏡筒に設けられていることを特徴とする請求項７乃至１４のいずれか一項に記載の撮像装置。
【請求項１６】
移動可能な部材の位置に応じたアナログ信号を出力する検出素子と、上記アナログ信号をデジタル値に変換するＡ／Ｄ変換を行うＡ／Ｄ変換器を有する位置検出装置において、上記Ａ／Ｄ変換器により所定の時間間隔にてＡ／Ｄ変換を実行させ、上記デジタル値に基づいて上記部材の位置を検出する位置検出方法において、
上記部材が停止していると判定している時に、第１の数のデジタル値の平均値を第１の閾値と比較し、より大きいと判別すると上記部材が移動していると判定し、
上記部材が移動していると判定している時に、最新のデジタル値と第２の数だけ前に取得したデジタル値の差を第２の閾値と比較し、より小さいと判別すると上記部材が停止したと判定する、
ことを特徴とする位置検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電圧変化等の電気的なアナログ変化をＡ／Ｄコンバータでデジタル値に変換し、このＡＤ値に基づいて位置を検出する位置検出装置、撮像装置、および位置検出方法に関する。
【背景技術】
【０００２】
電気的なアナログ変化を利用して位置を検出する位置検出装置として、例えば、レンズ鏡筒における操作環の回転操作位置を検出する位置検出装置が知られている。すなわち、操作環の回転操作に応じてエンコーダによって検出される電圧が変化するので、この電圧をＡ／Ｄ変換することによって、例えば、焦点距離や設定距離等を検出することができる。検出に当たって、電気的なノイズの影響を受けないようにするために、起動判断および停止判断の際に、ヒステリシス閾値を持たせて判断している（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−２６７９０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
起動判断および停止判断の閾値の幅が検出可能な位置精度（分解能）となっていた。このため、設定距離を変化させる際に拡大画像を表示させると、像の動きの粗さかが目立ってしまう。また、ズーミング（焦点距離変化）させる際には、フォーカストラッキングのトラッキング精度が劣化していた。閾値は電気的なノイズ量によって決まることから、位置精度を向上させるには電気的ノイズを減少させるしかなく、限界があった。
【０００５】
本発明は、このような事情を鑑みてなされたものであり、簡便な方法で位置精度を向上させることが可能な位置検出装置、撮像装置、および位置検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため第１の発明に係る位置検出装置は、移動可能な部材の位置に応じたアナログ信号を出力する検出素子と、上記アナログ信号をデジタル値に変換するＡ／Ｄ変換を行うＡ／Ｄ変換器と、上記Ａ／Ｄ変換器により所定の時間間隔にてＡ／Ｄ変換を実行させ、上記デジタル値に基づいて上記部材の位置を検出する位置検出部と、を具備し、上記位置検出部は、上記部材が停止していると判定している時に、第１の数のデジタル値の平均値を第１の閾値と比較し、より大きいと判別すると上記部材が移動していると判定し、上記部材が移動していると判定している時に、最新のデジタル値と第２の数だけ前に取得したデジタル値の差を第２の閾値と比較し、より小さいと判別すると上記部材が停止したと判定する。
【０００７】
第２の発明に係る位置検出装置は、上記第１の発明において、上記位置検出部は、上記部材が停止していると判定している時に、最新のデジタル値を第１の閾値より大きい第３の閾値と比較し、より大きいと判別すると上記部材が移動していると判定する。
第３の発明に係る位置検出装置は、上記第１または第２の発明において、上記位置検出部は、上記部材が移動していると判定している時に、上記第１の数より小さい第３の数のデジタル値の平均値を上記部材の位置として更新する。
【０００８】
第４の発明に係る位置検出装置は、上記第１ないし第３の発明において、上記位置検出部は、上記部材が停止したと判定した後に、第４の数のデジタル値の平均値を停止位置とする。
第５の発明に係る位置検出装置は、上記第４の発明において、上記位置検出部は、上記停止位置に基づいて上記第１の閾値を決定する。
第６の発明に係る位置検出装置は、上記第４の発明において、上記位置検出部は、上記停止位置に基づいて上記第３の閾値を決定する。
【０００９】
第７の発明に係る撮像装置は、撮影レンズを含むレンズ鏡筒内に設けられ、光軸方向に移動可能なレンズを有する撮像装置において、操作部材と、上記操作部材の位置に応じたアナログ信号を出力する検出素子と、上記アナログ信号をデジタル値に変換するＡ／Ｄ変換を行うＡ／Ｄ変換器と、上記Ａ／Ｄ変換器により所定の時間間隔にてＡ／Ｄ変換を実行させ、上記デジタル値に基づいて上記部材の位置を検出する位置検出部と、上記位置に基づいて上記レンズの位置を制御する制御部と、を具備し、上記位置検出部は、上記操作部材が停止していると判定している時に、第１の数のデジタル値の平均値を第１の閾値と比較し、より大きいと判別すると上記操作部材が移動していると判定し、上記操作部材が移動していると判定している時に、最新のデジタル値と第２の数だけ前に取得したデジタル値の差を第２の閾値と比較し、より小さいと判別すると上記操作部材が停止したと判定する。
【００１０】
第８の発明に係る撮像装置は、上記第７の発明において、上記位置検出部は、上記部材が停止していると判定している時に、最新のデジタル値を第１の閾値より大きい第３の閾値と比較し、より大きいと判別すると上記部材が移動していると判定する。
第９の発明に係る位置検出装置は、上記第７または第８の発明において、上記位置検出部は、上記部材が移動していると判定している時に、上記第１の数より小さい第３の数のデジタル値の平均値を上記部材の位置として更新する。
【００１１】
第１０の発明に係る撮像装置は、上記第７ないし第９の発明において、上記位置検出部は、上記部材が停止したと判定した後に、第４の数のデジタル値の平均値を停止位置とする。
第１１の発明に係る撮像装置は、上記第１０の発明において、上記位置検出部は、上記停止位置に基づいて上記第１の閾値を決定する。
第１２の発明に係る撮像装置は、上記第１０の発明において、上記位置検出部は、上記停止位置に基づいて上記第３の閾値を決定する。
【００１２】
第１３の発明に係る撮像装置は、上記第７ないし１２の発明において、上記レンズは、焦点調節レンズである。
第１４の発明に係る撮像装置は、上記第７ないし１２の発明において、上記レンズは、ズームレンズである。
第１５の発明に係る撮像装置は、上記第７ないし１４の発明において、上記操作部材は、上記レンズ鏡筒に設けられている。
【００１３】
第１６の発明に係る位置検出方法は、移動可能な部材の位置に応じたアナログ信号を出力する検出素子と、上記アナログ信号をデジタル値に変換するＡ／Ｄ変換を行うＡ／Ｄ変換器を有する位置検出装置において、上記Ａ／Ｄ変換器により所定の時間間隔にてＡ／Ｄ変換を実行させ、上記デジタル値に基づいて上記部材の位置を検出する位置検出方法において、上記部材が停止していると判定している時に、第１の数のデジタル値の平均値を第１の閾値と比較し、より大きいと判別すると上記部材が移動していると判定し、上記部材が移動していると判定している時に、最新のデジタル値と第２の数だけ前に取得したデジタル値の差を第２の閾値と比較し、より小さいと判別すると上記部材が停止したと判定する。
【発明の効果】
【００１４】
本発明によれば、簡便な方法で位置精度を向上させることが可能な位置検出装置、撮像装置、および位置検出方法を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の一実施形態に係るカメラの構成を示すブロック図である。
【図２】本発明の一実施形態に係るカメラの主として電気的構成を示すブロック図である。
【図３】本発明の一実施形態に係るカメラのリニアエンコーダであって、図３（ａ）はリニアエンコーダの電気的構成を示す図であり、図３（ｂ）はリニアエンコーダの出力特性を示すグラフである。
【図４】本発明の一実施形態に係るカメラにおいて、停止状態と操作状態の遷移を示す制御概要図である。
【図５】本発明の一実施形態に係るカメラにおいて、ＡＤ値の算出を説明するグラフである。
【図６】本発明の一実施形態に係るカメラにおいて、起動判断を説明するグラフである。
【図７】本発明の一実施形態に係るカメラにおいて、操作中一更新を説明するグラフである。
【図８】本発明の一実施形態に係るカメラにおいて、停止判断を説明するグラフである。
【図９】本発明の一実施形態に係るカメラにおいて、機械的停止位置と電気的停止位置の関係を示す図である。
【図１０】本発明の一実施形態に係るカメラにおいて、位置検出のジェネラルフローを示すフローチャートである。
【図１１】本発明の一実施形態に係るカメラにおいて、Ｃｕｒ（ｉ）＿ＡＤ更新の動作を示すフローチャートである。
【図１２】本発明の一実施形態に係るカメラにおいて、Ｓｕｍ＿Ｃｕｒ＿ＡＤ更新の動作を示すフローチャートである。
【図１３】本発明の一実施形態に係るカメラにおいて、Ｄｅｌ＿Ｃｕｒ＿ＡＤ更新の動作を示すフローチャートである。
【図１４】本発明の一実施形態に係るカメラにおいて、Ｄｅｌ＿Ｓｕｍ＿ＡＤ更新の動作を示すフローチャートである。
【図１５】本発明の一実施形態に係るカメラにおいて、操作＿起動判断処理の動作を示すフローチャートである。
【図１６】本発明の一実施形態に係るカメラにおいて、操作＿停止判断処理の動作を示すフローチャートである。
【図１７】本発明の一実施形態に係るカメラにおいて、操作状態位置更新の動作を示すフローチャートである。
【図１８】本発明の一実施形態に係るカメラにおいて、停止状態位置更新の動作を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、添付図面にしたがって本発明に係る実施形態を詳細に説明する。なお、以下の説明は撮像装置としてデジタルカメラを例にあげ、このカメラの交換レンズに適用した場合について説明する。しかし、本発明はこれに限定されず、回転操作や直線操作等に応じた位置を検出する装置であれば広く適用することができる。なお、本実施形態に係る撮像装置は、撮影レンズを含むレンズ鏡筒内に設けられ、光軸方向に移動可能なレンズを有している。
【００１７】
図１は、本発明の一実施形態に係るカメラの構成を示すブロック図であり、図２は、このカメラにおける電気的構成を示すブロック図である。このカメラは、交換レンズ１００とカメラ本体２００から構成される。しかし、レンズ鏡筒とカメラ本体を一体に構成しても勿論かまわない。
【００１８】
交換レンズ１００内には、レンズ１１ａ〜１１ｃからなる撮影レンズ１１が備えられている。撮影レンズ１１によって被写体像が形成される。このうち、フォーカスレンズ１１ｂは焦点調節用のレンズであり、フォーカスレンズ駆動機構２５によって光軸方向に移動可能である。フォーカスレンズ駆動機構２５は、フォーカスレンズ用アクチュエータとフォーカスレンズ用ドライブ回路を有している。また、レンズ１１ａ〜１１ｃの一部は、焦点距離を変化させるためのズームレンズである。したがって、交換レンズ１００内にはズームレンズ群が設けられている。
【００１９】
またフォーカスレンズ基準位置検出部２７は、フォーカスレンズ１１ｂが基準位置に達すると検出信号を制御部であるＣＰＵ４１に出力する。フォーカスレンズ位置検出部２７は、フォーカスレンズ基準位置検出用センサと、このセンサからの信号を処理し、検出信号を出力する信号処理回路を有する。基準位置検出用センサとしては、本実施形態においては、フォトインタラプタ（ＰＩ）を用いるが、これ以外のセンサによって検出するようにしてもよい。なお、本実施形態においては、フォーカスレンズ１１ｂの位置検出は、基準位置を検出すると、その位置を基準にして、フォーカスレンズ用のアクチュエータ（ステッピングモータ使用）への印加パルス数（Ｐｌｓ数）に基づいて行う。
【００２０】
レンズ１１ａと１１ｂの間には、絞り１３が配置されている。絞り１３は、絞り駆動機構２１によって開口径が変化し、撮影レンズ１１を通過する被写体光量を変化させる。絞り駆動機構２１は、絞り用アクチュエータと絞り用ドライバ回路等を有する。アクチュエータとしては、ステッピングモータを使用し、マイクロステップ駆動によって細かい制御を行う。なお、絞り１３は、レンズ１１ａと１１ｂの間以外に配置しても勿論かまわない。
【００２１】
絞り基準位置検出部２３は、絞りの開口径が基準位置に達すると、検出信号をＣＰＵ４１に出力する。絞り基準位置検出部２３は、絞り基準位置検出用センサと、このセンサからの信号を処理し、検出信号を出力する信号処理回路を有する。絞り位置は、基準位置検出部２３によって基準位置を取得し、相対的な位置検出によって絞り位置を管理する。相対的な位置検出はステッピングモータへの印加パルス数によって検出し、基準位置の検出は、本実施形態においては、フォトインタラプタ（ＰＩ）によって検出する。
【００２２】
交換レンズ１００の外周には、距離環５１が配置されている。距離環５１は、交換レンズ１００の外周を回動自在であると共に、撮影レンズ１１の光軸方向の所定範囲内で、スライド自在である。この距離環５１は、被写体側にスライドすると、非ＲＦ（非レンジフォーカス）（ＭＦ（マニュアルフォーカス）という場合もある）位置に設定され、本体側にスライドすると、ＲＦ（レンジフォーカス）位置に設定される。距離環５１のスライドにより、ＲＦモードと非ＲＦモード（ＭＦモード）の切り換えを行う。このモードの検出は、ＲＦモード検出部３３が行う。また、距離環５１は、至近と無限遠の間で回動自在に構成されている。
【００２３】
非ＲＦモードは、ユーザが距離環５１の回転方向および回転量に応じてピント合わせを行うモードであり、一方ＲＦモードは距離環５１によって指定された距離にピントを合わせるモードである。すなわち、非ＲＦモードもＲＦモードもマニュアルフォーカスであるが、非ＲＦモードでは距離環５１は相対的な距離指定を行うのに対して、ＲＦモードでは絶対距離を指定する点で相違する。
【００２４】
距離環５１のスライドによってＭＦモードが設定されると、距離環５１の回転により、距離環５１の内側にある遮光羽根が一体となって回転する。この遮光羽根の回転をフォトインタラプタ（ＰＩ）によってカウントし、このカウント値に応じてフォーカスレンズ１１ｂを駆動する。なお、距離環５１の回転方向および回転量は、フォトインタラプタ以外のセンサによって検出するようにしても勿論かまわない。
【００２５】
距離環５１のスライドによってＲＦモードが設定され、距離環５１が回転されると、その回転位置をＲＦ位置検出部３１が検出する。ＲＦ位置検出部３１は、エンコーダを有し、距離環５１の回転位置の絶対位置を検出する。フォーカスレンズ駆動機構２５は、ＣＰＵ４１からの制御信号に従って、距離環５１の回転位置に応じた撮影距離に、フォーカスレンズ１１ｂを駆動する。このレンズ駆動は、後述するフォーカスレンズ駆動用モータ（ＬＤＭＴ７３）によって行われる。ＲＦモードに設定された際の距離環５１は、本実施形態において、操作部材として機能する。この操作部材は、レンズ鏡筒に設けられている。
【００２６】
ＲＦモード検出部３３は、ＲＦ／ＭＦモード検出スイッチ８３（図２参照）の出力に基づいて、距離環５１が非ＲＦ位置（ＭＦ位置）、ＲＦ位置のいずれかに設定されているかを検出する。
【００２７】
ＭＦ位置検出部３５は、リング部材の回転量と回転方向を検出する検出回路を含み、距離環５１が非ＲＦ位置（ＭＦ位置）に設定されている際に、距離環５１の回転方向および回転量を検出する。このＭＦ位置検出部３５の検出結果に基づいて、マニュアルフォーカスを行う。ＭＦ位置検出部３５は、後述するＭＦＰＩ６３ａ、６３ｂ、ＭＦＰＩ二値化回路６１ａ、６１ｂ等によって構成される。
【００２８】
ＭＦ位置検出部３５は、リング部材の回転量と回転方向を検出する回転検出部として機能する。この回転検出部は、周期毎にリング部材の回転量と回転方向を検出する。また、ＭＦ位置検出部３５において検出された距離環５１の回転に応じて出力されるパルス信号を所定時間の間、カウントし、回転速度を検出する。なお、リング部材の回転量と回転方向の検出部として、フォトインタラプタを用いた例について説明した。しかし、これに限らず、フォトレフレクタや、磁気センサ等、他のセンサを用いても勿論かまわない。
【００２９】
交換レンズ１００の外周であって、距離環５１より本体側には、ズーム環５２が外周を回動自在に配置されている。撮影レンズは焦点距離を可変なズームレンズであり、ユーザが手動でズーム環５２を回転させるとズーミングを行うことができる。ズーミング動作を電動で行ってもよいが、本実施形態においては、手動操作で直接機械的機構を介してズームレンズを駆動する。ズーム環５２は、本実施形態において、操作部材として機能する。この操作部材は、レンズ鏡筒に設けられている。
【００３０】
ズーム位置検出部３４は、ズーム環５２の回転位置の絶対値を検出し、ＣＰＵ４１に出力する位置検出センサを含む。ズーム位置検出部３４は、後述するように、リニアエンコーダＺＭ位置検出部８２を有しており、このリニアエンコーダ位置検出部８２の出力はＣＰＵ４１内のＡ／Ｄ変換器４４によってＡＤ変換され、このＡＤ変換値は焦点距離を表す。
【００３１】
記憶部３７は、フラッシュメモリ等の書き換え可能な不揮発メモリ等を有し、ＣＰＵ４１用のプログラムや、交換レンズの光学データ等の各種情報や、各種調整値や各種パラメータ等を記憶する。
【００３２】
制御部であるＣＰＵ４１は、前述した記憶部３７に記憶されているプログラムに従い、カメラ本体２００からの制御命令に応じて、交換レンズ１００内の制御を行うコントローラである。ＣＰＵ４１は、絞り基準位置検出部２３、フォーカスレンズ基準位置検出部２７、ＲＦ位置検出部３１、ＲＦモード検出部３３、およびＭＦ位置検出部３５からの検出信号を入力し、またフォーカスレンズ駆動機構２５および絞り駆動機構２１に制御信号を出力する。
【００３３】
カメラ本体２００内には、撮像素子２０１、制御部内のＣＰＵ２０３、記憶部２０５、操作入力部２０７が配置されている。この撮像素子２０１は、撮影レンズ１１の結像位置付近に配置されており、撮影レンズ１１に形成される被写体像を光電変換し、画像データを出力する。また、ＣＰＵ２０３は交換レンズ１００内のＣＰＵ４１と通信を行う。記憶部２０５は、カメラシステム全体の制御用のプログラムを有しており、ＣＰＵ２０３はカメラシステムの全体制御を行う。操作入力部２０７は、レリーズ釦、十字釦等の各種操作部材を有する。
【００３４】
次に、図２を用いて、電気的構成の詳細について説明する。ＣＰＵ４１は、前述したように、カメラ本体２００と通信が可能である。また、ＣＰＵ４１は、モータドライバ７１に接続されており、このモータドライバ７１は、ＬＤＰＩ６９、ＬＤＭＴ７３、ＡＶＭＴ７５、およびＡＶＰＩ７７の駆動を行う。
【００３５】
ＬＤＰＩ６９は、フォーカスレンズ１１ｂの基準位置検出用のフォトインタラプタであり、このＬＤＰＩ６９の出力はＬＤＰＩ二値化回路６７に接続されている。ＬＤＰＩ６９およびＬＤＰＩ二値化回路６７は、前述のフォーカスレンズ基準位置検出部２７に対応する。
【００３６】
ＬＤＭＴ７３は、レンズ駆動用モータ（ＬＤモータ）であり、前述のフォーカスレンズ駆動機構２５内のフォーカスレンズ用アクチュエータとして機能する。ＬＤモータとしては、本実施形態においては、ステッピングモータを採用するが、他のモータ、例えば、一般的なＶＣＭ（ボイスコイルモータ）を用いても勿論かまわない。ＶＣＭモータ等を採用した場合には、フォーカスレンズの相対的位置検出用のセンサを設ければよい。ＡＶＭＴ７５は、絞りモータであり、前述の絞り駆動機構２１内の絞り用アクチュエータとして機能する。
【００３７】
ＡＶＰＩ７７は、絞り１３の基準位置検出用のフォトインタラプタであり、このＡＶＰＩ７７の出力はＡＶＰＩ二値化回路７９に接続されている。ＡＶＰＩ７７およびＡＶＰＩ二値化回路７９は、前述の絞り基準位置検出部２３に対応する。
【００３８】
ＭＦＰＩドライバ６５は、距離環５１がＭＦ位置にスライドされた場合に、距離環５１の回動を検出するための第１のＭＦＰＩ６３ａと第２のＭＦＰＩ６３ｂのドライバである。第１および第２のＭＦＰＩ６３ａ、６３ｂは、それぞれ光センサと発光部を有し、光センサと発光部の間を、遮光羽根が通過可能に構成されている。ＭＦＰＩドライバ６５は、ＣＰＵ４１からの指示に従って、第１および第２のＭＦＰＩの６３ａ、６３ｂの発光部を点灯させ、また消灯させる。
【００３９】
第１のＭＦＰＩ（図においては、「ＭＦＰＩ１」と略記する）６３ａと第２のＭＦＰＩ（図においては、「ＭＦＰＩ２」と略記する）６３ｂは、遮光羽根の回動方向に沿って少し離れた位置にそれぞれ、設けられている。第１のＭＦＰＩ６３ａと第２のＭＦＰＩ６３ｂの設置個所は、２個のＭＦＰＩ６３ａとＭＦＰＩ６３ｂからの信号の位相差が９０度ずれるような位置関係となるようにする。距離環５１がユーザによって回転操作されると、遮光羽根は連動して動き、この遮光羽根によって、ＭＦＰＩ６３は遮光状態と透過状態となり、２個の第１および第２のＭＦＰＩ６３ａ、６３ｂから９０度、位相のずれたパルス信号が出力される。
【００４０】
第１のＭＦＰＩ６３ａの出力は、第１のＭＦＰＩ二値化回路６１ａに接続されており、第１のＭＦＰＩ二値化回路６１ａによって二値化される。同様に、第２のＭＦＰＩ６３ｂの出力は、第２のＭＦＰＩ二値化回路６１ｂに接続されており、第２のＭＦＰＩ二値化回路６１ｂによって二値化される。二値化されたパルス信号の立ち上がりと立ち下りをエッジと称する。第１および第２のＭＦＰＩ二値化回路６１ａ、６１ｂ、第１および第２のＭＦＰＩ６３ａ、６３ｂ、ＭＦＰＩドライバ６５は、前述のＭＦ位置検出部３５に対応する。
【００４１】
二値化されたＭＦＰＩ６３からのパルス信号は、ＣＰＵ４１に出力され、ＣＰＵ４１内の２相カウンタによって、距離環５１の回転速度に対応したパルス（エッジ）がカウントされ、また回転方向も検出される。
【００４２】
リニアエンコーダＲＦ位置検出部８１は、距離環５１がＲＦ位置にスライドされた場合に、距離環５１の回転方向における絶対値（回転角）を検出するためのリニアエンコーダである。リニアエンコーダＲＦ位置検出部８１は、距離環５１の回動に応じて検出接点が移動するように設けられており、距離環５１の回動方向での絶対位置に応じてアナログ信号を出力する。
【００４３】
リニアエンコーダＺＭ位置検出部８２は、ズーム環５２の回転方向における絶対値（回転角）を検出するためのエンコーダである。リニアエンコーダＺＭ位置検出部８２は、ズーム環５２の回動方向に沿って設けられており、ズーム環５２の回転方向での絶対位置に応じてアナログ信号を出力する。なお、リニアエンコーダＲＦ位置検出部８１およびリニアエンコーダＺＭ位置検出部８２で用いられるリニアエンコーダの詳細については、図３を用いて後述する。
【００４４】
ＲＦ／ＭＦモード検出スイッチ（ＳＷ）８３は、距離環５１がＲＦモードに設定されているか、ＭＦモードに設定されているかを検出するためのスイッチである。このＲＦ／ＭＦモード検出ＳＷ８３は、距離環５１の光軸方向の位置を検出し、ＲＦモード設定時またはＭＦモード設定時にオンまたはオフとなり、このオンオフ状態はＣＰＵ４１に出力される。
【００４５】
ＣＰＵ４１内には、Ａ／Ｄ変換器４３が設けられており、リニアエンコーダＲＦ位置検出部８１からのアナログ信号をデジタル信号に変換する。Ａ／Ｄ変換器４３によるＡ／Ｄ変換値は、ユーザによって指定される撮影距離（絶対距離）を表す。リニアエンコーダＲＦ位置検出部８１およびＡ／Ｄ変換器４３は、前述のＲＦ位置検出部３１に対応する。
【００４６】
また、ＣＰＵ４１内には、Ａ／Ｄ変換器４４が設けられており、リニアエンコーダＺＭ位置検出部８２からのアナログ信号をデジタル信号に変換する。Ａ／Ｄ変換器４４によるＡ／Ｄ変換値（「ＺＭＥＮＣ」と称す）は、ユーザによって設定される焦点距離を表す。
【００４７】
ＣＰＵ４１内のＡ／Ｄ変換器４３、４４は、本実施形態においては、アナログ信号をデジタル値に変換するＡ／Ｄ変換を行うＡ／Ｄ変換器として機能する。また、ＣＰＵ４１は、本実施形態においては、Ａ／Ｄ変換器により所定の時間間隔にてＡ／Ｄ変換を実行させ、デジタル値に基づいて部材の位置を検出する位置検出部として機能する（例えば、図１０参照）。この位置検出部は、部材が停止していると判定している時に、第１の数のデジタル値の平均値を第１の閾値と比較し、より大きいと判別すると部材が移動していると判定し（例えば、図１５のＳ５９、Ｓ６３参照）、部材が移動していると判定している時に、最新のデジタル値と第２の数だけ前に取得したデジタル値の差を第２の閾値と比較し、より小さいと判別すると上記部材が停止したと判定する（例えば、図１６参照）。
【００４８】
また、上述の位置検出部は、部材が停止していると判定している時に、最新のデジタル値を第１の閾値より大きい第３の閾値と比較し、より大きいと判別すると上記部材が移動していると判定する（例えば、図１５のＳ５１、Ｓ５５参照）。上述の位置検出部は、部材が移動していると判定している時に、第１の数より小さい第３の数のデジタル値の平均値を部材の位置として更新する（例えば、図１７のＳ８１参照）。上述の位置検出部は、部材が停止したと判定した後に、第４の数のデジタル値の平均値を停止位置とする（例えば、図１８のＳ８３参照）。上述の位置検出部は、停止位置に基づいて第１の閾値を決定する（例えば、図１５のＳ５９、Ｓ６３及び図１４のＳ４９参照）。上述の位置検出部は、停止位置に基づいて第３の閾値を決定する（例えば、図１５のＳ５１、Ｓ５５参照）。
【００４９】
また、ＣＰＵ４１は、操作部材の位置に基づいてレンズの位置を制御する制御部として機能する。このレンズは、焦点調節レンズである（本実施形態においては、前述のフォーカスレンズ１１ｂが焦点調節レンズとして機能する）。また、レンズはズームレンズである（本実施形態においては、撮影レンズ１１中のズームレンズ）。
【００５０】
次に、図３を用いて、リニアエンコーダＲＦ位置検出部８１およびリニアエンコーダＺＭ位置検出部８１において用いられるリニアエンコーダについて説明する。リニアエンコーダは、図３（ａ）に示すように、抵抗スライダ式の電気部品であり、Ａ点は、電源Ｖｃｃに接続され、Ｂ点は、グランド（ＧＮＤ）に接続され、出力点ＯＵＴは、ズーム環５２またはＲＦモードに設定された際の距離環５１の位置に応じてメカ的にスライドする。出力点ＯＵＴの位置が変化すると、抵抗分割された出力電圧は図３（ｂ）に示すように変化する。リニアエンコーダの出力電圧は、Ａ／Ｄ変換器４３、４４によってデジタルデータに変換され、ＣＰＵ４１に出力される。リニアエンコーダＲＦ位置検出部８１またはリニアエンコーダＺＭ位置検出部８２内のスライダ式の抵抗は、本実施形態においては、移動可能な部材の位置に応じたアナログ信号を出力する検出素子として機能する。
【００５１】
次に、本実施形態における位置制御について説明する。本実施形態においては、概ね下記（１）〜（５）の制御を行うようにしている。
【００５２】
（１）  ユーザ操作の開始を「起動」、ユーザ操作の開始を検出する処理を「起動判断処理」と呼ぶものとする。起動判断処理の際に、誤起動検出をなくすために、操作遅延として許容できる時間以内に設定可能なサンプル数でデータを取得し平滑化してノイズを抑圧している（図６参照）。これにより、電気ノイズよりも狭い起動判断閾値を設定可能かつ有効とし、ユーザ操作の開始の検出精度を向上させている。操作遅延として許容できる時間とは、例えばカメラ背面モニタの表示のリフレッシュレート（６０Ｈｚ＝１６．７ｍｓ）以下であれば、遅れとして認識しないので、１６．７ｍｓを許容できる時間と考えることができる。
【００５３】
（２）  Ａ／Ｄ変換値（ＡＤ値）の変化量が明らかにノイズより大きい場合は、ユーザが大きな操作を行ったと判断する（後述する図１５のＳ５１、Ｓ５５参照）。これを判断するために起動判断スレッシュよりも大きい即時起動判断スレッシュを設けておき、ＡＤ値の変化値がスレッシュ以上であれば、起動したと判断し、前述の上記起動判断スレッシュによる起動判断処理を省略して起動応答性を向上させる。
【００５４】
（３）  停止状態と操作状態の２つの状態を設けておく（２つの状態については、図４参照）。起動したと判断すると、停止状態から操作状態に状態遷移させる。操作状態では、追従性良く位置検出を行うために、起動よりも少ないサンプル数で位置検出を行う（図７参照）。
【００５５】
（４）  操作状態に遷移すると、操作中は絶えず基準位置（Pre_AD値）を更新し、現在のＡＤ値と過去のＡＤ値の変化量（傾き）を算出し、操作変化量で停止判断処理を行う（後述する図８、図１６参照）。従来の位置検出装置においては、ＡＤ値を停止判断用の閾値と比較して停止判断していたので、ノイズ込みのＡＤ値（位置情報）が停止判断用閾値以内であれば、停止と判断としていた。しかし、本実施形態においては、操作変化量で停止判断を行っている。このため、ユーザ操作が停止したとの判断の精度を向上させることができる。
【００５６】
（５）  停止と判断されると、操作状態から停止状態に状態遷移させる。停止判断後の現在位置は、停止判断中またはその後に複数サンプリングした位置データの平均的な位置データを真の位置として記憶する。これにより、ノイズ成分をキャンセルし、メカ的（物理的）な停止位置と、電気的に検出した停止位置を高精度に一致させる。停止位置の検出精度を向上させることができる（図８、図９参照）。
【００５７】
次に、図４を用いて停止状態と操作状態の状態遷移の制御について説明する。ここでは、ズーム環５２の操作の場合を例に挙げて説明する。ユーザがズーム操作を行っている間を「操作状態」Ｏｓと称し、またズーム操作を行っていない間を「停止状態」Ｓｓと称する。起動判断Ａｊは、前述の起動判断処理であり、停止状態Ｓｓにおいて、ユーザがズーム操作を開始したか否かの判断である。停止判断Ｓｊは、前述の停止判断処理であり、操作状態Ｏｓにおいて、ユーザがズーム操作を終了したか否かの判断である。起動判断Ａｊの詳細については、図６および図１５を用いて、また、停止判断Ｓｊの詳細については、図８および図１６を用いて後述する。
【００５８】
次に、図５を用いて、ＡＤ値の確定について説明する。図５は、横軸に時間を示し、縦軸にズーム（ＺＭ）位置（ＡＤ値）を示している。ユーザがズーム環５２を操作すると、ズーム操作に応じて焦点距離が変化する。図５に点線で示すラインＬ１は、ズーム操作量に応じたズーム位置を示す。また実線で示すラインＬ２は、リニアエンコーダＺＭ位置検出部８２からの出力をＡ／Ｄ変換器４４によって変換したＡＤ値の確定値を示す。以下ではＡＤ値の確定値を確定ＡＤ値、１回のＡ／Ｄ変換によるＡＤ値を単にＡＤ値と呼ぶものとする。
【００５９】
最初、ユーザはズーム操作を行っておらず、停止状態にあるが、時刻ｔ１において、ズーム操作を開始する。停止状態では、起動判定Ａｊを行っており、操作遅延として許容できる遅延時間Ｔ１内に起動判断を行う（本実施形態においては、遅延時間は、１６．７ｍｓ）。また、この遅延時間により、確定ＡＤ値はＤ３だけ段差を生じる（本実施形態においては、例えばＤ３＝±２ＬＳＢをねらいとする）。起動判断Ａｊは、所定時間内の複数のサンプリングの平均的なズレに基づいて、操作が開始されたか否かを判断する。なお、ＬＳＢは、最下位ビット（lease significant bit）を意味する。起動判断の詳細については、図６を用いて後述する。
【００６０】
図５において、起動と判断された場合には、ユーザ操作の開始の時刻ｔ１からの遅延時間後である時刻ｔ２から、確定ＡＤ値（Ｌ２）がユーザ操作（Ｌ１）に追従する操作状態Ｏｓに移行する。操作状態Ｏｓにおいて、確定ＡＤ値は、実際の操作量を示すＡＤ値（１回のＡ／Ｄ変換によるＡＤ値）に対して位置検出遅れＧｐ分ずれて追従することができる。操作状態Ｏｓでは、次に、ズーム環５２の回転操作が停止された否かの判断、つまり停止判断処理が行われる。操作状態Ｏｓ中の停止判断処理の詳細については、図７を用いて後述する。
【００６１】
また、操作中には、所定時間内の複数サンプリングによるＡＤ値の変化量（傾きＫ）から停止判断を行う。時刻ｔ３において、ズーム環５２の操作が停止したと判断されると、ＡＤ値の変化が停止する。このときには、ＡＤ値と機械的なズーム位置との差は、ＡＤ値に含まれる誤差Ｄ１の範囲内に位置するが、遅延時間Ｔ２（時刻ｔ３より１６．７ｍｓ後の時刻ｔ４までの時間）後には、後述する停止状態位置更新の処理により、ＡＤ値が真の停止位置から±１ＬＳＢの範囲Ｄ２内となるように停止位置を算出する。
【００６２】
従来における位置検出装置においては、電気的なノイズ量に相当するものが、起動判断時の閾値となっていた。これに対して、本実施形態においては、操作遅延として許容できる遅延時間Ｔ１を使い、また、電気ノイズよりも狭い起動判断閾値で起動判断を行っている。ユーザが操作中は、許容できる応答遅れを考慮した平均処理を行って位置検出を行う。
【００６３】
また、従来における位置検出装置においては、停止判断の際にもノイズの影響を低減するためにＡＤ値を平均化処理して位置検出を行っていた。平均化処理によりノイズの影響は低減するものの、残存する電気的なノイズ量を閾値として設定する必要があり、メカ的な真の位置と電気的な検出位置は、最大で閾値分だけずれてしまっていた。これに対して、本実施形態においては、電気的なノイズ量より狭い閾値で停止判断を行い、メカ的な真の位置と電気的な検出位置を離散誤差以下の精度に収めることができる（図５において誤差量をＤ２以内としている）。
【００６４】
次に、図６を用いて、起動判断処理について説明する。この起動判断処理は、距離環５１またはズーム環５２等の操作部材が停止している状態で、ユーザが回転操作等の操作を開始したか否かを判断するための処理である。起動判断にあたっては、起動判断用の閾値（本実施形態においては、Lau_Thr_ADと称す）を用いて判定し、図６（ａ）は、起動していないと判断される場合（起動スレッシュ以内の場合）を示し、図６（ｂ）は、起動したと判断される場合（起動スレッシュ超過の場合）を示す。
【００６５】
図６（ａ）（ｂ）の上段は、横軸は時間を示し、縦軸はＡＤ値を示す。グラフで左端の丸は、確定ＡＤ値Pre_ADであり、確定ＡＤ値Pre_ADは更新した移動平均ＡＤ値（Cur（i）_AD）を保持するための変数である。また、Pre_ADの右側に所定時間間隔で示された白丸は、それぞれの時刻毎に測定されたＡＤ値を所定時間内で平均化した移動平均ＡＤ値であり、Cur（i）_ADで表す（ｉ＝１〜ｋ）。遅延許容時間Ｔ１内における移動平均ＡＤ値の累積値Sum_Cur_For_Del_ADは、移動平均ＡＤ値Cur（i）_ADをｉ＝１〜ｋまで加算した値となる。ｋは、Cnt_Buf_Lau個であり、遅延許容時間Ｔ１をＡＤ変換間隔で除算することにより、得られる。たとえば、図６においては、ｋ＝１６としている。周期処理毎の移動平均ＡＤ値Cur（i）_ADの更新に伴い、Sum_Cur_For_Del_ADも更新される。図６（ａ）（ｂ）の上段のグラフにおける斜線を施した部分の面積は、Sum_Cur_For_Del_ADの値に相当する。
【００６６】
図６（ａ）（ｂ）の中段は、各ＡＤ変換タイミングにおいて全て確定ＡＤ値Pre_ADをプロットした状態を示している。起動判断の結果がＮｏの場合、すなわち、ユーザが操作部材を操作しなかったと判断された場合には、確定ＡＤ値Pre_ADは維持される。斜線を施した部分の面積は、(Cnt_Buf_Lau)＊Pre_ADに相当する。なお、＊は乗算を意味する。
【００６７】
図６（ａ）（ｂ）の下段の斜線を施した部分は、上段の斜線を施した部分から、中段の斜線を施した部分を減算した値に相当する。すなわち、下段の斜線を施した部分Del_Sum_ADは、上段の斜線部分Sum_Cur_For_Del_ADから中段の斜線部分(Cnt_Buf_Lau)＊Pre_ADを減算した値に相当する。
【００６８】
各ＡＤ変換タイミングおいて変換されたＡＤ値を移動平均した移動平均ＡＤ値Cur（i）は、ノイズ成分を含んでおり、１つの値だけでは、検出したい分解能（例えば、２ＬＳＢ）のデータ変化とノイズの区別ができない。ノイズはランダムに発生することから、サンプル数を増やして平滑化することによりノイズを抑制することができる。基準位置となる確定ＡＤ値Pre_AD（図６の中段参照）に対して、移動平均ＡＤ値Cur（i）_ADのサンプル数を増やし（図６の上段参照）、両者の差分の絶対値の累積値Del_Sum_ADを求めた結果を図６の下段に示す。図６（ａ）下段に示すDel_Sum_ADのように、ノイズがランダムに発生していれば、基準となる確定Pre_ADに対してノイズによって大きくなったＡＤ値と小さくなったＡＤ値がPre_ADに対して相殺され、平均値としてはPre_ADに近くなる。
【００６９】
ユーザが操作部材を操作していない場合には、このように十分なサンプル数を確保すれば、Del_Sum_ADは０に収束する（図６（ａ）の下段参照）。一方、ユーザが操作部材を操作していると、Del_Sum_ADの平均値は、操作量に応じてPre_ADから変化した値となる（図６（ｂ）の下段参照）。
【００７０】
図６（ａ）は、起動判断がＮｏとなる場合を示す。この場合は、図６（ａ）の最下段に示すDel_Sum_AD（斜線部面積）が、起動判断の閾値Lau_Thr_AD（不図示）以内と判断され、起動していないと判断される場合である。起動判断の結果がＮｏの場合、すなわち起動していないと判断されると、次の遅延許容時間Ｔ１間において、確定ＡＤ値Pre_ADは更新しない。この場合には、フラグDrv_Flag＝０とし、「停止状態」を維持する（後述の図１５のＳ５９Ｎｏ、Ｓ６３Ｎｏを参照）。
【００７１】
図６（ｂ）は、起動判断がＹｅｓとなる場合を示す。この場合は、図６（ｂ）の最下段に示すDel_Sum_AD（斜線部面積）が、起動判断の閾値Lau_Thr_AD（不図示）より大きくなり起動と判断とされる場合を示している。起動判断の結果がＹｅｓの場合、すなわち起動したと判断されると、次の遅延許容時間Ｔ１間において、Cur（k）_ADを確定ＡＤ値Pre_ADとして保持する。Cur（k）_ADは、周期処理データ更新の最新のCur（i）_AD値である。起動判断Ｙｅｓ後の周期処理は、フラグDrv_Flag＝１とし、「操作状態」に変更する。フラグ状態の変更により、次回周期処理は、操作状態の周期処理が実行される（後述の図１５のＳ５９Ｙｅｓ、Ｓ６１、Ｓ６３Ｙｅｓ、Ｓ６５参照）。
【００７２】
操作部材の動きを表すアナログ値をＡＤ変換することによって得られた値は、離散的な値である。しかし、図６に示すような処理を施すことによって、１ＬＳＢ未満の小数点レベルの情報を得ることができる。例えば、Cnt_Buf_Lau（遅延許容時間Ｔ１内のサンプル数）が１６であれば、起動判断閾値Lau_Thr_ADに換算すると、１ＬＳＢは１６相当となり、同様に２ＬＳＢは３２となる。そして、検出精度２．５ＬＳＢで検出したい場合には、Lau_Thr_ADは、１６＊２．５＝４０とすればよい。サンプル数を４０にすることによって、２．５ＬＳＢでの精度で検出することが可能となる。
【００７３】
次に、図７を用いて、操作中の位置更新について説明する。図７は操作中のＡＤ値を示しており、ラインＬ１１は、理想的な位置検出軌跡であり、ラインＬ１２はDel_Cur_ADの軌跡を示し、ラインＬ１３は実際の移動平均ＡＤ値Cur（i）_ADを繋げた軌跡である。ここで、Del_Cur_ADは、（最新Cur_AD値）から（Cnt_Buf_Stop前の最も古いCur_AD値）を減算した値であり、Cur（Cnt_Buf_Stop）_AD − Cur（1）_ADに相当する。
【００７４】
起動したと判断されると、図４に示す状態遷移図において、「停止状態」から「操作状態」に遷移する。操作状態では、周期処理毎に、検出したCur（i）_ADで確定ＡＤ値Pre_ADを更新する。例えば、移動平均回数Cnt_Aveが２であれば、操作状態は、２回移動平均で検出されるので、起動判断時の１６回移動平均よりも応答性が向上する。なお、移動平均回数Cnt_Aveは、起動判断処理用、操作中位置更新用としてそれぞれ記憶部３７に記憶されている。
【００７５】
次に、図８を用いて、停止判断について説明する。図８において左側の遅延許容時間Ｔ１１における停止判断処理は停止判断がＮｏとなる場合であり、右側の遅延許容時間Ｔ１２における停止判断処理は停止判断がＹｅｓとなる場合である。また、図８中の丸は移動平均ＡＤ値Cur（i）_ADである。なお、図８では遅延許容時間（周期処理時間）内の移動平均ＡＤ値Cur（i）_ADの個数を１６個として示しているが、本実施例では例えば６４個のCur（i）_ADを取得するものとする。操作状態における位置更新は、応答性を良くするために周期処理毎に確定ＡＤ値Pre_ADを移動平均ＡＤ値Cur（i）_ADで更新している。操作状態において、Cur（i）_ADは、移動平均回数２回と設定しており、少ないので起動判断処理の移動平均１６回に比較してノイズ成分が大きくなる。
【００７６】
停止判断は、図８の遅延許容時間Ｔ１１、Ｔ１２における移動平均ＡＤ値Cur（i）_ADの変化の傾きＫ１１、Ｋ１２に相当する値を算出する。この傾きＫ１１、Ｋ１２に相当する値は、前述のDel_Cur_ADであり、Del_Cur_AD＝Cur（k）_AD − Cur（1）_ADにより求める。Del_Cur_ADが停止判断閾値Stop_Thr_AD以内であるか否かを判定し、停止判断閾値以内であれば、停止したと判断する。最新の移動平均ＡＤ値とｋ個（周期内のサンプル数）の過去の移動平均ＡＤ値の変化の傾きＫ（変化率）が停止へ収束しているか否か、傾きＫが０に近いか否かを判断する。なお、最新の移動平均ＡＤ値Cur（k）_ADから数えて、Cnt_Buf_Stop個前の移動平均ＡＤ値がCur（1）_ADとなる。すなわち、ｋが最新、１が過去におけるＡＤ値を示す。
【００７７】
前述したように、操作状態での移動平均ＡＤ値Cur（i）_ADは、移動平均回数が小さいためノイズ成分が大きい。停止判断時の確定ＡＤ値Pre_ADは次の周期処理の基準ＡＤ値となるが、停止位置がばらつくと、基準ＡＤ値がずれた位置となり、次回の周期処理で誤った起動判断をしてしまう可能性がある。そこで、停止判断の後では、移動平均回数がより大きい移動平均処理を行う多移動平均ＡＤ値Lon_Cur_ADを算出し、より高精度に停止位置を求める。停止位置をより高精度に求めることにより前述のような次回の周期処理の誤った起動判断を防ぐことができる。多移動平均ＡＤ値Lon_Cur_ADは、予め決めた移動平均回数Cnt_Buf_Lon_Curと、この間のＡＤ値Cur（i）_ADの累積値Sum_Cur_For_Lon_ADを用いて、下記式から算出する。下記式の意味については後述する。
Lon_Cur_AD ＝ INT （Sum_Cur_For_Lon_AD／Cnt_Buf_Lon_Cur ＋ 0.5）
ここで、ＩＮＴは括弧内の整数値を意味する。
【００７８】
前述のように、傾きＫ１１、Ｋ１２に相当するDel_Cur_ADが、停止判断閾値以内と判定すると、停止判断とする。停止判断した場合には、このときの移動平均ＡＤ値Lon_Cur_ADで確定ＡＤ値Pre_ADを更新する。Lon_Cur_ADは、Cnt_Buf_Lon_Cur回の移動平均ＡＤ値であり、Cnt_Buf_Lon_Curは、停止判断時のＡＤ値のサンプル数（上記式）を意味し、記憶部３７に予め記憶されている。
【００７９】
図８の左側（遅延許容時間Ｔ１１の期間に相当）は、停止判断がＮｏとなる場合である。この場合は、Del_Cur_ADが、停止判断の閾値Stop_Thr_ADの範囲を超えている場合である。停止判断がなされなかった場合には、「操作状態」が継続し、ＡＤ値Cur（i）_ADで確定ＡＤ値Pre_ADを更新する。
【００８０】
図８の右側（遅延許容時間Ｔ１２の期間に相当）は、停止判断がＹｅｓとなる場合である。この場合は、Del_Cur_ADが、停止判断の閾値Stop_Thr_AD以内の場合である。停止判断がＹｅｓの場合には、移動平均ＡＤ値Cur（i）_ADではなく、多移動平均ＡＤ値Lon_Cur_ADで確定ＡＤ値Pre_ADを更新する。停止判断Ｙｅｓ後の周期処理は、フラグDrv_Flag ＝ ０とし、停止状態に変更する。フラグ状態の変更により、次の周期処理は起動判断の処理が実行される。
【００８１】
次に、停止判断後あるいは並行して、停止位置をより高精度に求める処理（前述の式）について説明する。例えば、図９に示すように、停止判断用の閾値Stop_Thr_ADを４、停止判断用サンプル数Cnt_Buf_Stopを６４、移動平均ＡＤ値算出用のサンプル数Cnt_Buf_Lon_Curを１６として停止判断処理と停止位置算出を実行する。閾値Stop_Thr_ADを、電気的ノイズ量以下にすると原理的に停止判断ができないことになるので、電気的ノイズ成分以下の値にはできない。電気的ノイズ成分を考慮して停止判断用の閾値Stop_Thr_ADを４と設定している。図９に示す場合、停止判断処理にて、（Cur(64)_AD−Cur(1)_AD）≦Thr_ADとの判定結果により、停止と判断される。ここでは、停止判断用サンプル数Cnt_Buf_Stopが６４であることから、６４個のデータの先頭Cur(1)_ADと６４個の最後のデータCur(64)_ADの差が４ＬＳＢの大きさとなる。仮に、ＡＤ値が線形で変化しているとすると、６４個のデータの変化が４ＬＳＢであることより、１ＬＳＢに相当するのは１６個のデータ変化分となる。
【００８２】
そこで、６４個のデータの最後の１６個のデータに基づいて前述の式を用いて停止位置（Lon_Cur_AD）を算出することにより、１ＬＳＢ以下の精度で停止位置を求めることができる。すなわち、停止位置は、Cnt_Buf_Lon_Curが１６であり、４ＬＳＢ＊１６／６４＝１ＬＳＢを平均化するので（すなわち、２で割って）、０．５ＬＳＢとなる。つまり、離散誤差以下の精度で、メカ的な停止位置と電気的な停止位置を一致させることができる。図９にて、Lon_Cur_ADを網掛けのある白丸で示す。
【００８３】
次に、図１０ないし図１８に示すフローチャートを用いてズーム環５２の位置検出の動作について説明する。これらのフローチャートは、記憶部３７に記憶されたプログラムに従って、ＣＰＵ４１が交換レンズ１００内の各部を制御することにより実行する。なお、距離環５１がＲＦモードに設定された際も、このフローチャートを適宜修正することにより距離環５１の位置を検出することができる。
【００８４】
位置検出のフローが動作を開始すると、まず、Tim_AD_Det経過したか否かを判定する（Ｓ１）。ここでは、Ａ／Ｄ変換器４４によって行われるズーム環５２の位置検出のＡＤ更新周期が経過したか否かを判定する。このＡＤ更新周期はパラメータとして予め設定され、記憶部３７に記憶されている。この判定の結果、ＡＤ更新周期が経過していない場合には経過するのを待つ。
【００８５】
ステップＳ１における判定の結果、Tim_AD_Detが経過すると、次に、ＡＤ変換処理を行い、Once_ADを更新する（Ｓ３）。ここでは、Ａ／Ｄ変換器４４によってＡＤ変換を行い取得したＡＤ値Once_ADとして更新する。このＡＤ値Once_ADは平均化処理が施していないＡＤ変換値そのものである。
【００８６】
ＡＤ変換処理を行い、Once_ADを更新すると、次に、Once_ADを調整値と比較し、丸め処理を行う（Ｓ５）。ここではステップＳ３で更新したＡＤ値Once_ADと、ＺＭ位置調整値（ワイド側：ADJ_ZM_LINER_AD_WIDE、テレ側：ADJ_ZM_LINER_AD_TELE）を比較し、比較結果に応じて丸め処理を行う。すなわち、ADJ_ZM_LINER_AD_WIDE＜Once_ADなら、ＡＤ値Once_ADを、ADJ_ZM_LINER_AD_WIDEに丸める。一方、ADJ_ZM_LINER_AD_TELE ＞ Once_ADなら、ＡＤ値Once_ADを、ADJ_ZM_LINER_AD_TELEに丸める。但し、この丸め処理は、ADJ_ZM_LINER_AD_TELE ＜ ADJ_ZM_LINER_AD_WIDEの関係を有する交換レンズの場合であり、この大小関係が逆になる交換レンズの場合には、大小関係を逆にして丸め処理を行う。
【００８７】
丸め処理を行うと、次に、Cur（i）_AD更新処理を行う（Ｓ７）。ここでは、ステップＳ３で取得し丸め処理を行ったＡＤ値Once_ADの移動平均化処理を行い、移動平均化したＡＤ値Cur（i）_ADを算出する。この処理について、図１１を用いて説明する。
【００８８】
図１１に示すCur（i）_AD更新のフローに入ると、Cnt_Ave回のOnce_ADの移動平均を算出し、Cur（i）_ADとする（Ｓ４１）。Cnt_Ave回は、取得したＡＤ（Once_AD値）の移動平均回数であり、パラメータとして予め記憶部３７に記憶されている。このステップでは、Once_AD値をCnt_Ave回だけ移動平均し、Cur（i）_AD値を算出する。平均化処理によって小数点以下が生じた場合には、四捨五入によって整数にする。この移動平均による平均処理は、更新周期毎に行われる。
【００８９】
Cur（i）_ADのiは、Cnt_Cur_Arr_k個の配列であり、このCnt_Cur_Arr_kは、バッファとして一時できるデータの数を示し、Cnt_Cur_Arr_kとkは同じ意味である。ステップＳ４１の添え字のｉは、１〜ｋまで変化する。ｋが周期処理の最新ＡＤ値から算出したCur（i）_ADに対応する。また、１は、最古のｋ回周期処理前のCur（i）_ADに対応する。ステップＳ４１におけるCur（i）_AD処理が終わると元のフローに戻る。
【００９０】
ステップＳ７においてCur（i）_AD更新を行うと、次に、Sum_Cur_AD更新を行う（Ｓ９）。ここでは、移動平均ＡＤ値Cur（i）_ADを用いて、２種類の累積ＡＤ値、すなわち、Sum_Cur_For_Del_ADとSum_Cur_For_Lon_ADを演算する。この累積ＡＤ値は、図６の上段のグラフにおける斜線部の面積に相当する。この処理について、図１２を用いて説明する。
【００９１】
図１２に示すSum_Cur_AD更新のフローに入ると、まず、Sum_Cur_For_Del_ADを求める（Ｓ４３）。Sum_Cur_For_Del_ADは、Del_Sum_AD値算出に使用する累積ＡＤ値であって、Cur（1）_AD〜Cur（k）_ADまでのCnt_Buf_Lau個のCur（i）_ADの和である。Cnt_Buf_Lauは、平均ＡＤ値（Cur（i）_AD値）の累積処理の回数であり、パラメータとして予め記憶部３７に記憶されている。
【００９２】
ステップＳ４３において、Sum_Cur_For_Del_ADを算出すると、次に、Sum_Cur_For_Lon_ADを求める（Ｓ４５）。Sum_Cur_For_Lon_ADは、Cur（1）_AD〜Cur（k）_ADまでのCnt_Buf_Lon_Cur個のCur（i）_ADの和である。Cnt_Buf_Lon_Curは、平均ＡＤ値（Cur（i）_AD値）の累積処理の回数であり、パラメータとして予め記憶部３７に記憶されている。ステップＳ４５においてSum_Cur_For_Lon_AD処理を終了すると、元のフローに戻る。
【００９３】
ステップＳ９において、Sum_Cur_AD更新を行うと、次に、Del_Cur_AD更新を行う（Ｓ１１）。このDel_Cur_ADは、図８の傾きＫ１１、Ｋ１２に相当する。この更新処理について、図１３を用いて説明する。
【００９４】
図１３に示すDel_Cur_AD更新のフローに入ると、Cur（k）_AD−Cur（1）_ADを算出する（Ｓ４７）。Del_Cur_ADは、周期処理（Cnt_Buf_Stop−1）個前のCur（1）_ADと最新の平均ＡＤ値の差の値である。ここで、ｋと1は、Cnt_Buf_Stop個前のデータと最新のデータの関係であり、Cur（k）_ADは最新のCur（i）_ADであり、Cur（1）_ADは最古のCur（i）_ADである。ステップＳ４７においてDel_Cur_ADを算出すると、元のフローに戻る。
【００９５】
ステップＳ１１において、Del_Cur_AD更新を行うと、次に、Del_Sum_AD更新を行う（Ｓ１３）。このDel_Sum_ADは、図８の中段のグラフの斜線部の面積に相当する。この更新処理について、図１４を用いて説明する。
【００９６】
図１４に示すDel_Sum_AD更新のフローに入ると、Sum_Cur_For_Del_AD −（Cnt_Buf_Lau個）＊Pre_ADを演算する（Ｓ４９）。ここで、Sum_Cur_For_Del_ADは、ステップＳ９（ステップＳ４３）において算出されている。また、Cnt_Buf_Lauは、起動判断の際に使用するＡＤ値（Cur（i）_AD）の記憶用のバッファ数であり、パラメータとして予め記憶部３７に記憶されている。Pre_ADは、更新したＡＤ値（Cur（i）_AD）を保持するための変数であり、図６の上段および中段のグラフにおいて左端の値に相当する。ステップＳ４９においてDel_Sum_ADを算出すると、元のフローに戻る。
【００９７】
ステップＳ１１においてDel_Sum_AD更新を行うと、次に、駆動中か否かを判定する（Ｓ１５）。ユーザがズーム環５２を操作中である場合にはステップＳ１７においてフラグDrv_Flagに１がセットされ、一方、操作中でない場合にはステップＳ２１においてフラグDrv_Flagに０がセットされる。このステップＳ１５においては、フラグDrv_Flagに基づいて判定する。
【００９８】
ステップＳ１５における判定の結果、駆動中でない場合、すなわちDrv_Flag＝０の場合には、操作起動判断処理を行う（Ｓ１７）。この状態では、ユーザはズーム環５２を操作し始めたか否かを、Ａ／Ｄ変換器４４からの出力に基づいて判定する。この操作起動判断処理の詳しい動作について図１５を用いて後述する。
【００９９】
ステップＳ１７において操作起動判断処理を行うと、次に、起動判断されたか否かを判定する（Ｓ１９）。ここでは、フラグDrv_Flagに基づいて判定する。ステップＳ１５における判定結果が駆動中ではなく、ステップＳ１７における判断処理の結果、駆動フラグDrv_Flag＝１となった場合には、今まで停止していた状態から駆動を開始したことから操作が起動した判断する。この判定の結果、起動していない場合、すなわち、Drv_Flag＝０の場合には、位置検出のフローを終了する。
【０１００】
一方、ステップＳ１９における判定の結果、起動判断された場合、すなわち、Drv_Flag＝１の場合には、操作状態位置更新を行う（Ｓ２５）。この場合は、今まで停止した状態であったのが、ユーザの操作によって起動した場合（Ｓ１５Ｎｏ→Ｓ１７→Ｓ１９Ｙｅｓ）、または、操作状態が継続しており、次の更新周期になった場合（Ｓ１５Ｙｅｓ→Ｓ２１→Ｓ２３Ｙｅｓ）である。このステップでは、フラグDrv_Flag＝１を維持し、また、更新ＡＤ値Pre_ADの更新を行う。この操作状態位置更新処理について、図１７を用いて説明する。
【０１０１】
図１７に示す操作状態位置更新のフローに入ると、フラグ処理等を行い、Pre_ADの更新処理を行う（Ｓ８１）。フラグ処理として、駆動状態を示すDrv_Flag＝１とし、操作状態を維持する。また、ステップＳ７で取得した最新の移動平均ＡＤ値Cur（i）_ADを更新ＡＤ値Pre_ADとして更新する。操作状態位置更新を行うと、このフローを終了し、元のフローに戻る。
【０１０２】
ステップＳ１５に戻り、このステップにおける判定の結果が駆動中の場合、すなわち、フラグDrv_Flag＝１の場合には、操作停止判断処理を行う（Ｓ２１）。この状態では、ユーザはズーム環５２の操作を停止したか否かを、Ａ／Ｄ変換器４４からの出力に基づいて判定する。この操作停止判断処理の詳しい動作について図１６を用いて後述する。
【０１０３】
ステップＳ２１において操作停止判断処理を行うと、次に、操作は継続されていたか否かを判定する（Ｓ２３）。ここでは、フラグDrv_Flagに基づいて判定する。ステップＳ１５における判定結果が駆動中であり、ステップＳ２１における判断処理の結果、駆動フラグDrv_Flag＝１の場合には、今までの操作状態が継続していると判断し、前述のステップＳ２５に進む。
【０１０４】
一方、ステップＳ２３における判定の結果、操作は継続されていない場合、すなわち、Drv_Flag＝０の場合には、今まで駆動中であったが（Ｓ１５Ｙｅｓ）、操作停止判断処理の結果、停止状態となったことから（Ｓ２１、Ｓ２３Ｎｏ）、停止状態位置更新処理を行う（Ｓ２７）。この場合は、今まで操作状態であったのが、ユーザが操作を停止した状態である。このステップでは、フラグDrv_Flag＝０にリセットし、また、図８、および図９を用いて説明した停止時のＡＤ値の更新を行う。この停止状態位置更新処理について、図１８を用いて説明する。
【０１０５】
図１８に示す停止状態位置更新のフローに入ると、まず、停止位置Lon_Cur_ADを算出する（Ｓ８３）。Lon_Cur_ADは、図８に示すように、遅延許容時間Ｔ１２の終了時のＡＤ値（図８の網掛けのある白丸）に対応する。また、図９を用いて説明した式を用いて、離散誤差以下の精度で、メカ的な停止位置と電気的な停止位置を一致させることができる。
【０１０６】
ステップＳ８３においてLon_Cur_ADを算出すると、次にフラグ処理等を行う（Ｓ８５）。ここでは、ステップＳ８３において算出した停止位置Lon_Cur_ADを更新ＡＤ値Pre_ADとして置き換える。また、移動平均ＡＤ値Cur（i）_ADの初期化を行う。初期化としては、Cnt_Cur_Ark_k個のCur（i）_ADを格納するアレーバッファ（Cur（k）_AD〜Cur（1）_AD）を最新のLon_Cur_ADで置き換える。置き換えたCur（k）_ADで、次の周期処理からSum_Cur_For_Del_AD、Sum_Cur_For_Lon_AD、Del_Cur_ADを再計算する。ステップＳ８３の処理が終わると、停止状態位置更新のフローを終了し、元のフローに戻る。
【０１０７】
ステップＳ２７の停止状態位置更新または、ステップＳ２５の操作状態位置更新の処理が終わると、次に、Ｔｒａｃ−ＺＭＥＮＣ演算を行う（Ｓ２９）。ここでは、Ａ／Ｄ変換器４４のＡＤ値に基づいて焦点距離を示すデータを算出する。すなわち、確定ＡＤ値Pre_ADに基づいて、焦点距離データ（Ｔｒａｃ−ＺＭＥＮＣ）に変換する。焦点距離データに変換すると、これを通知する（Ｓ３１）。ここでは、現在の焦点距離データＴｒａｃ−ＺＭＥＮＣをカメラ本体２００内のＣＰＵ２０３に通知する。Ｔｒａｃ−ＺＭＥＮＣ演算を行うと、位置検出のフローを終了する。
【０１０８】
なお、図１０に示した位置検出のフローは、ズーム環５２の操作位置をＡＤ変換によって検出する場合について説明した。距離環５１がＲＦ位置に設定された場合には、Ａ／Ｄ変換器４３によるＡＤ値を用いてステップＳ１〜Ｓ２７までを実行し、ステップＳ２９、Ｓ３１における処理を、焦点距離データ（Ｔｒａｃ−ＺＭＥＮＣ）ではなく、距離データ（１／Ｌ）に変換すれば、同様に、位置検出を行うことができる。
【０１０９】
次に、図１５に示すフローチャートを用いて、ステップＳ１７における操作起動判断処理の詳しい動作について説明する。
【０１１０】
図１５に示す操作起動判断処理のフローに入ると、まず、移動平均ＡＤ値Cur（i）がPre_AD − Lau_Thr2_ADよりも小さいか否かを判断する（Ｓ５１）。ここでは、ステップＳ７において取得した移動平均ＡＤ値Cur（i）_ADと、確定ＡＤ値Pre_ADとパラメータとして記憶部３７に記憶されている即時操作判断値Lau_Thr2_ADの差分を比較する。即時操作判断値Lau_Thr2_ADは、ズーム環５２が大きく動かされた際に、移動平均ＡＤ値Cur（i)と比較することにより直ちにズーム操作がなされたことを判断できるように、後述する閾値Lau_Thr_ADよりは大きな値としておく。この値は、電気的ノイズよりは十分大きな値である。なお、以下では（Pre_AD-Lau_Thr2_AD）、（Pre_AD＋Lau_Thr2_AD）を即時操作判断値と称する。
【０１１１】
ステップＳ５１における判定の結果がＮｏであった場合には、すなわち、移動平均ＡＤ値Cur（i）が即時操作判断値（Pre_AD-Lau_Thr2_AD）よりも小さくなかった場合には、ズーム環５２が大きく動かされていないと判断する。そして、次に、移動平均ＡＤ値Cur（i）が即時操作判断値（Pre_AD ＋ Lau_Thr2_AD）よりも大きいか否かを判断する（Ｓ５５）。ステップＳ５５における判定の結果がＮｏの場合は、ズーム環５２が大きく動かされていないと判断する。
【０１１２】
ステップＳ５１またはＳ５５における判定の結果がＹｅｓの場合には、即時操作判断値を越えるほどズーム操作感５２が大きく動かされたと判断し、フラグ処理等として、フラグDrv_Flag＝１とする（Ｓ５３、Ｓ５７）。ここでは、判定の結果、操作状態にあることから、Drv_Flagに１を設定する。このフラグ処理を行うと、元のフローに戻る。
【０１１３】
ステップＳ５５における判定の結果がＮｏの場合には、次に、ステップＳ５９およびＳ６３において、図６を用いて説明した移動平均ＡＤ値の累積値である差分Ｓｕｍ値Del_Sum_ADを用いた起動判断を行う。まず、差分Ｓｕｍ値が起動判断閾値よりも小さいか否かを判定する（Ｓ５９）。ここでは、差分Ｓｕｍ値Del_Sum_ADが、閾値Lau_Thr_ADに−１を乗算した値よりも小さいか否かを判定する。
【０１１４】
ステップＳ５９における判定の結果がＮｏであった場合には、次に、差分Ｓｕｍ値が起動判断閾値よりも大きいか否かを判定する（Ｓ６３）。ここでは、差分Ｓｕｍ値Del_Sum_ADが、閾値Lau_Thr_ADよりも大きいか否かを判定する。
【０１１５】
ステップＳ５９またはＳ６３における判定の結果がＹｅｓであった場合には、フラグ処理等として、フラグDrv_Flag＝１とする（Ｓ６１、Ｓ６５）。この場合は、図６（ｂ）の最下段に示した例のように、周期内において移動平均ＡＤ値Cur（i）_ADの累積値の絶対値が、確定ＡＤ値Pre_ADの累積値よりも大きいことから、電気的ノイズよりも大きな変化が有ったといえる。そこで、操作状態にあると判定し、Drv_Flagに１を設定する。このフラグ処理を行うと、元のフローに戻る。
【０１１６】
一方、ステップＳ６３における判定の結果がＮｏの場合には、フラグ処理等を行うことなく、すなわち、フラグは停止状態を示すDrv_Flag＝０を維持し、元のフローに戻る。この場合は、図６（ａ）の最下段に示した例のように、周期内において移動平均ＡＤ値Cur（i）_ADの累積値の絶対値と、確定ＡＤ値Pre_ADの累積値は、ほぼ同じくらいである（差は閾値内）。変化は、電気的ノイズよりも小さく、操作されていないと判定される。
【０１１７】
次に、図１６に示すフローチャートを用いて、ステップＳ２１における操作停止判断処理の詳しい動作について説明する。
【０１１８】
図１６に示す操作停止判断処理のフローに入ると、まず、Del_Cur_AD値が停止判断閾値以上か否かを判定する（Ｓ７１）。ここでは、ステップＳ１１において算出され、図８における傾きＫ１１、Ｋ１２に相当するDel_Cur_AD値が、閾値Stop_Thr_ADの−１を乗算した値以上であるか否かを判定する。この判定の結果がＮｏであった場合には、図８の傾きＫ１１の負の傾き（減少傾向）の場合に対応し、傾きＫ１１が閾値よりも小さい、すなわち傾きが大きいので停止ではないと判断され、移動平均ＡＤ値Cur（i）_ADの変化が大きく、ユーザ操作中であることから、フラグ処理を行うことなく、元のフローに戻る。
【０１１９】
ステップＳ７１における判定の結果が、Ｙｅｓであった場合には、図８の傾きＫ１２の負の傾き（減少傾向）の場合に対応し、傾きＫ１２が閾値以上、すなわち傾きが小さいで停止と判断される。次に、正の傾き（増加傾向）の場合について、次に、Del_Cur_AD値が停止判断閾値以下か否かを判定する（Ｓ７３）。ここでは、ステップＳ１１において算出され、図８における傾きＫ１１、Ｋ１２に相当するDel_Cur_AD値が、閾値Stop_Thr_AD以下であるか否かを判定する。この判定の結果がＮｏであった場合には、図８の傾きＫ１１に対応し、傾きＫ１１が閾値より大きいので停止ではないと判断され、移動平均ＡＤ値Cur（i）_ADの変化が大きく、ユーザ操作中と判断されることから、フラグ処理を行うことなく、元のフローに戻る。
【０１２０】
ステップＳ７３における判定の結果がＹｅｓであった場合には、図８の傾きＫ１２に対応し、傾きＫ１２が閾値以下であり停止と判断され、フラグ処理を行う（Ｓ７５）。Del_Cur_AD値と閾値との比較より、駆動状態から停止状態に変化したことが判明したので、フラグDrv_Flagを停止状態を示す０とする。フラグ処理を行うと元のフローに戻る。
【０１２１】
以上説明したように、本発明の一実施形態における位置検出装置においては、Ａ／Ｄ変換器により所定の時間間隔にてＡ／Ｄ変換を実行させ（例えば、図１５のＳ５１参照）、デジタル値に基づいて部材の位置を検出している。そして、部材が停止していると判定している時に、第１の数のデジタル値の平均値を第１の閾値と比較し、より大きいと判別すると部材が移動していると判定している（例えば、図１０のＳ１５Ｎｏ、Ｓ１７、図１５のＳ５９、Ｓ６３参照）。また、部材が移動していると判定している時に、最新のデジタル値と第２の数だけ前に取得したデジタル値の差を第２の閾値と比較し、より小さいと判別すると上記部材が停止したと判定している（例えば、図１０のＳ１５Ｙｅｓ、Ｓ２１、図１６のＳ７１、Ｓ７３参照）。
【０１２２】
このため、本発明の一実施形態においては、簡便な方法で位置精度を向上させることができる。すなわち、Ａ／Ｄ変換された複数のＡＤ値の平均値を閾値と比較していることから、電気的ノイズによらず位置精度を向上させることができる。また、複数のＡＤ値の差と閾値を比較していることから、この場合にも電気的ノイズによらず位置精度を向上させることができる。
【０１２３】
なお、本発明の一実施形態においては、アナログ信号を出力する検出素子としてスライダ式の抵抗を用いた例について説明した（図３参照）。しかし、移動可能な部材の位置に応じて、アナログ信号を出力可能であれば、抵抗に限らず、例えば、コンデンサ等の検出素子であってもよく、また電圧に限らず電流等を検出してもよく、磁気等の物理量を検出するようにしてもよい。
【０１２４】
また、本発明の一実施形態においては、操作部材として距離環やズーム環に適用した例について説明したが、位置検出装置としては、いずれか一方のみを備えるようにしてもよく、またこれ以外の操作部材、レンズ鏡筒内の操作部材には限られず、例えば、絞り値設定部材、シャッタ速度設定部材等にも適用することができる。
【０１２５】
また、本発明の一実施形態においては、アナログ信号をＡ／Ｄ変換して位置検出を行う例について説明した。しかし、これに限らず、フォトインタラプタ等によって、操作部材の動きに応じたパルス信号を検出する場合にも本発明を適用することができる。すなわち、僅かな動きでもエッジ信号が出力される場合には、ユーザが意図しない変化に応じて、エッジ信号が検出されてしまう。この場合には、本実施形態のように、所定時間内のエッジ数の累積値や傾き等を算出し、操作状態や停止状態の判定を行えばよい。例えば、本実施形態においては、マニュアルフォーカスモード（ＭＦモード）に設定された場合の距離環の動き検出に応用することが可能である。
【０１２６】
また、本発明の一実施形態においては、制御部はＣＰＵ４１によって実現されていたが、ＣＰＵ以外、またはＣＰＵに加えて、ヴェリログ（Verilog）によって記述されたプログラム言語に基づいて生成されたゲート回路等のハードウエア構成でもよく、またＤＳＰ（Digital Signal Processor）等のソフトを利用したハードウエア構成を利用してもよい。これらは適宜組み合わせてもよいことは勿論である。
【０１２７】
また、本発明の一実施形態においては、撮像のための機器として、デジタルカメラを用いて説明したが、カメラとしては、デジタル一眼レフカメラでもミラーレスカメラでもコンパクトデジタルカメラでもよく、ビデオカメラ、ムービーカメラのような動画用のカメラでもよく、さらに、携帯電話、スマートフォン、携帯情報端末、パーソナルコンピュータ（ＰＣ）、タブレット型コンピュータ、ゲーム機器等に内蔵されるカメラ、医療用カメラ、顕微鏡等の科学機器用のカメラ、自動車搭載用カメラ、監視用カメラでも構わない。いずれにしても、手動で回転操作する撮像のための機器であれば、本発明を適用することができる。
【０１２８】
また、本発明の一実施形態においては、撮像装置を対象としていた。しかし、本発明は撮像装置に限らず、他の装置、例えば、医療機器、科学機器等で高精度で位置検出を行う回転操作部材の位置検出にも適用できる。また、遠隔操作医療を行う際に、医師が遠隔画像を観察しながら、手術用の操作部材の位置検出にも適用できる。
【０１２９】
また、本明細書において説明した技術のうち、主にフローチャートで説明した制御に関しては、プログラムで設定可能であることが多く、記録媒体や記録部に収められる場合もある。この記録媒体、記録部への記録の仕方は、製品出荷時に記録してもよく、配布された記録媒体を利用してもよく、インターネットを介してダウンロードしたものでもよい。
【０１３０】
また、特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず」、「次に」等の順番を表現する言葉を用いて説明したとしても、特に説明していない箇所では、この順で実施することが必須であることを意味するものではない。
【０１３１】
本発明は、上記実施形態にそのまま限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素の幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【符号の説明】
【０１３２】
１１ａ〜１１ｃ・・・レンズ、１３・・・絞り、２１・・・絞り駆動機構、２３・・・絞り基準位置検出部、２５・・・フォーカスレンズ駆動機構、２７・・・フォーカスレンズ基準位置検出部、３１・・・ＲＦ位置検出部、３３・・・ＲＦモード検出部、３４・・・ズーム位置検出部、３５・・・ＭＦ位置検出部、３７・・・記憶部、４１・・・ＣＰＵ、４３・・・Ａ／Ｄ変換器、４４・・・Ａ／Ｄ変換器、５１・・・距離環、５２・・・ズーム環、６１ａ・・・第１のＭＦＰＩ二値化回路、６１ｂ・・・第２のＭＦＰＩ二値化回路、６３ａ・・・第１のＭＦＰＩ、６３ｂ・・・第２のＭＦＰＩ、６５・・・ＭＦＰＩドライバ、６７・・・ＦＣＰＩ二値化回路、６９・・・ＬＤＰＩ、７１・・・モータドライバ、７３・・・ＬＤモータ、７５・・・ＡＶモータ、７７・・・ＡＶフォトインタラプタ、７９・・・ＡＶフォトインタラプタ二値化回路、８１・・・リニアエンコーダＲＦ位置検出部、８２・・・リニアエンコーダＺＭ位置検出部、８３・・・ＲＦ／ＭＦモード検出ＳＷ、１００・・・交換レンズ、２００・・・カメラ本体、２０１・・・撮像素子、２０３・・・ＣＰＵ、２０５・・・記憶部、２０７・・・操作入力部
【図１】
2018081249.tif 000003
【図２】
2018081249.tif 000004
【図３】
2018081249.tif 000005
【図４】
2018081249.tif 000006
【図５】
2018081249.tif 000007
【図６】
2018081249.tif 000008
【図７】
2018081249.tif 000009
【図８】
2018081249.tif 000010
【図９】
2018081249.tif 000011
【図１０】
2018081249.tif 000012
【図１１】
2018081249.tif 000013
【図１２】
2018081249.tif 000014
【図１３】
2018081249.tif 000015
【図１４】
2018081249.tif 000016
【図１５】
2018081249.tif 000017
【図１６】
2018081249.tif 000018
【図１７】
2018081249.tif 000019
【図１８】
2018081249.tif 000020