(57)【特許請求の範囲】
【請求項１】
被写体像が形成される撮像素子を有する電子スコープと、前記電子スコープが着脱自在に接続されるとともに映像を表示するための表示装置が接続され、前記撮像素子から読み出される前記被写体像に応じた画像信号に基づいて映像信号を前記表示装置に出力するプロセッサとを備えた電子内視鏡装置であって、
光を放射する光源と、
前記電子スコープ内に形成され、前記光源からの光を前記電子スコープの前記プロセッサ側から前記撮像素子のある先端側へ導く光ファイババンドルと、
前記光源からの光が入射する前記光ファイババンドルの入射端と前記光源との間に介在し、前記入射端に入射する光量を増減させる絞りと、
前記被写体像の明るさを適正な明るさに維持するために所定時間間隔毎に光量調整する光量調整手段を備え、
前記光量調整手段が、
前記撮像素子から読み出される前記画像信号に基づいて、前記表示装置に表示される前記被写体像の明るさを示す代表輝度値を順次算出する代表輝度値算出手段と、
前記代表輝度値が前記被写体像の適正な明るさを示す参照輝度値より大きい第１の輝度状態であるか、前記代表輝度値が前記参照輝度値より小さい第２の輝度状態であるかを順次判別し、前記第１の輝度状態であれば前記絞りの移動方向を前記絞りの閉じる閉塞方向に、前記第２の輝度状態であれば前記絞りの移動方向を前記絞りの開く開放方向に定める絞り移動方向決定手段と、
前記代表輝度値と前記参照輝度値との輝度値差を順次検出する輝度値差検出手段と、
前記第１の輝度状態であれば前記輝度値差を第１のメモリに順次記憶し、前記第２の輝度状態であれば前記輝度値差を第２のメモリに順次記憶する輝度値差検出結果記憶手段と、
最新の前記輝度値差を含む所定の読出期間に、前記第１のメモリおよび前記第２のメモリに記憶された読出期間内輝度値差を読み出し、前記読出期間内輝度値差のうち前記第１のメモリに記憶された前記輝度値差の総和である第１の輝度値差総和と、前記読出期間内輝度値差のうち前記第２のメモリに記憶された前記輝度値差の総和である第２の輝度値差総和とを算出する輝度値差総和算出手段とを有し、
前記移動方向決定手段において定められた前記絞りの移動方向と、前記輝度値差検出手段によって検出された前記輝度値差に応じて定められる目標移動量とに応じて前記絞りを移動させ、
前記目標移動量が、
一連の第１の絞り移動量、および前記一連の第１の絞り移動量に比べて移動量の少ない一連の第２の絞り移動量のどちらか一方に基づいて定められ、
前記一連の第２の絞り移動量が、
前記第１の輝度値差総和と前記第２の輝度値差総和とが所定の総和値以上であり、且つ、前記第１の輝度値差総和と前記第２の輝度値差総和とが概ね等しい値である場合において用いられることを特徴とする電子内視鏡装置。
【請求項２】
被写体像が形成される撮像素子を有する電子スコープと、前記電子スコープが着脱自在に接続されるとともに映像を表示するための表示装置が接続され、前記撮像素子から読み出される前記被写体像に応じた画像信号に基づいて映像信号を前記表示装置に出力するプロセッサとを備えた電子内視鏡装置であって、
光を放射する光源と、
前記電子スコープ内に形成され、前記光源からの光を前記電子スコープのプロセッサ側から前記撮像素子のある先端側へ導く光ファイババンドルと、
前記光源からの光が入射する前記光ファイババンドルの入射端と前記光源との間に介在し、前記入射端に入射する光量を増減させる絞りと、
前記被写体像の明るさを適正な明るさに維持するために所定時間間隔毎に光量調整する光量調整手段を備え、
前記光量調整手段が、
前記撮像素子から読み出される前記画像信号に基づいて、前記表示装置に表示される前記被写体像の明るさを示す代表輝度値を順次算出する代表輝度値算出手段と、
前記代表輝度値が被写体像の適正な明るさを示す参照輝度値より大きい第１の輝度状態であるか、前記代表輝度値が前記参照輝度値より小さい第２の輝度状態であるかを順次判別し、前記第１の輝度状態であれば前記絞りの移動方向を前記絞りの閉じる閉塞方向に、前記第２の輝度状態であれば前記絞りの移動方向を前記絞りの開く開放方向に定める移動方向決定手段と、
前記代表輝度値と前記参照輝度値との輝度値差を順次検出する輝度値差検出手段と、
前記輝度値差に基づいて順次前記絞りの目標移動量を定める絞り移動量設定手段と、
前記第１の輝度状態であれば、前記目標移動量を第１のメモリに順次記憶し、前記第２の輝度状態であれば、前記目標移動量を第２のメモリに順次記憶する移動量検出結果記憶手段と、
最新の前記目標移動量を含む所定の読出期間に前記第１のメモリおよび前記第２のメモリに記憶された前記読出期間内移動量を読み出し、前記読出期間内移動量のうち前記第１のメモリに記憶された前記目標移動量の総和である第１の移動量総和と、前記読出期間内移動量のうち前記第２のメモリに記憶された前記目標移動量の総和である第２の移動量総和とを算出する移動量総和算出手段とを有し、
前記移動方向決定手段において定められた前記絞りの移動方向と、前記絞り移動量設定手段により定められた前記目標移動量に応じて前記絞りを移動させ、
前記目標移動量が、
一連の第１の絞り移動量、および前記一連の第１の絞り移動量に比べて移動量の少ない一連の第2の絞り移動量のどちらか一方に基づいて定められ、
前記一連の第２の絞り移動量が、
前記第１の移動量総和と前記第２の移動量総和とがそれぞれ所定の総和値以上であり、且つ、前記第１の移動量総和と前記第２の移動量総和とが概ね等しい値である場合に用いられることを特徴とする電子内視鏡装置。
【請求項３】
前記光量調整手段は、
前記輝度値差が所定の輝度値差より小さい値の場合、前記光量調整を行わないとともに、前記第１のメモリに記憶された前記輝度値差と前記第２のメモリに記憶された前記輝度値差とを消去し、次回算出される前記輝度値差が前記最新の輝度値差に設定されることを特徴とする請求項１に記載の電子内視鏡装置。
【請求項４】
前記光量調整手段は、
前記輝度値差が所定の輝度値差より小さい値の場合、前記光量調整を行わないとともに、前記第１のメモリに記憶された前記目標移動量と前記第２のメモリに記憶された前記目標移動量とを消去し、次回定められる前記目標移動量が前記最新の目標移動量に設定されることを特徴とする請求項２に記載の電子内視鏡装置。
【請求項５】
前記目標移動量が前記第２の絞り移動量により定められたときから所定のハンチング検出後処理時間の経過までを計測するハンチング処理時間計測手段を更に有し、前記光量調整手段は前記所定時間が経過するまでの間、前記一連の第２の絞り移動量に基づいて定められた前記目標移動量に応じて前記絞りを移動させるハンチング検出後処理が実行されることを特徴とする請求項１に記載の電子内視鏡装置。
【請求項６】
前記ハンチング検出後処理時間が経過するまでの間において、前記輝度値差が所定値より大きいか否かを判定する輝度値差判定手段を更に有し、前記輝度値差が前記所定値より大きいと判定されたとき、前記ハンチング検出後処理が中止されることを特徴とする請求項５に記載の電子内視鏡装置。
【請求項７】
前記光量調整手段が、前記ハンチング検出後処理時間内において、所定のルーチン間隔毎に前記絞りを移動させることを特徴とする請求項５に記載の電子内視鏡装置。
【請求項８】
前記目標移動量が前記一連の第２の絞り移動量により定められたときから所定のハンチング検出後処理時間の経過までを計測するハンチング処理時間計測手段を更に有し、前記光量調整手段は、前記ハンチング検出後処理時間が経過するまでの間、前記第２の絞り移動量に基づいて定められた前記目標移動量に応じて前記絞りを移動させるハンチング検出後処理が実行されることを特徴とする請求項２に記載の電子内視鏡装置。
【請求項９】
前記ハンチング検出処理時間が経過するまでの間において、前記輝度値差が所定値より大きいか否かを判定する輝度値差判定手段を更に有し、前記輝度値差が前記所定値より大きいと判定されたとき、前記ハンチング検出後処理が中止されることを特徴とする請求項８に記載の電子内視鏡装置。
【請求項１０】
前記光量調整手段が、前記ハンチング検出後処理時間内において、所定のルーチン間隔毎に前記絞りを移動させることを特徴とする請求項８に記載の電子内視鏡装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、内視鏡スコープを生体内に挿入し、観察部位を照射することにより撮影した観察部位の映像をモニタ画面上に映し出す電子内視鏡装置に関し、特に被写体像の明るさを一定に維持する自動調光に関する。
【０００２】
【従来の技術】
従来の電子内視鏡装置では、生体内の観察部位の映像を常に適正な明るさでモニタに表示するため、被写体の明るさを輝度値として検出し、この輝度値に基づいてスコープのライトガイド入射端と光源の間にある絞りを開閉させることにより光量を自動的に調節する自動調光機能が備えられている。この調光方式では、例えば、被写体の明るさの平均値を示す輝度平均値を算出し、この輝度平均値と、基準となる明るさを示す輝度値（参照輝度値）とを比較する。輝度平均値と参照輝度値とに差があれば、その差に基づいて、適正な絞りの位置までの回転量を算出し、絞りを回転させるモータの駆動量を定め、絞りを開き（もしくは閉じ）、光量を調節する。
【０００３】
【発明が解決しようとする課題】
このような調光方式において、画面を早く適正な明るさにするために前述のモータの駆動量を多くし、絞りを早く回転させると、絞りが必要以上に回転してしまい、絞りが適正な位置に定まらなくなり、絞りのハンチング（発振現象）が生じる場合がある。一旦ハンチングが発生してしまうとしばらくの間、画面が適切な明るさに定まらず、迅速な生体内の観察ができない場合があり、作業効率が低下する。
【０００４】
本発明は以上の問題点を解決するものであり、ハンチングが発生しても迅速にハンチングを解消し、適切な光量調整をすることが可能な電子内視鏡装置を得ることを目的とする。
【０００５】
【課題を解決するための手段】
本発明は、被写体像が形成される撮像素子を有する電子スコープと、電子スコープが着脱自在に接続されるとともに映像を表示するための表示装置が接続され、撮像素子から読み出される被写体像に応じた画像信号に基づいて映像信号を表示装置に出力するプロセッサとを備えた電子内視鏡装置に関するものである。本発明の電子内視鏡装置は、光を放射する光源と、電子スコープ内に形成され、光源からの光を電子スコープのプロセッサ側から撮像素子のある先端側へ導く光ファイババンドルと、光源からの光が入射する光ファイババンドルの入射端と光源との間に介在し、入射端に入射する光量を増減させる絞りと、被写体像の明るさを適正な明るさに維持するために所定時間間隔毎に光量調整する光量調整手段とを備える。そして光量調整手段は、撮像素子から読み出される画像信号に基づいて、表示装置に表示される被写体像の明るさを示す代表輝度値を順次算出する代表輝度値算出手段と、代表輝度値が被写体像の適正な明るさを示す参照輝度値より大きい第１の輝度状態であるか、代表輝度値が参照輝度値より小さい第２の輝度状態であるかを順次判別して第１の輝度状態であれば絞りの移動方向を絞りの閉じる閉塞方向に、第２の輝度状態であれば絞りの移動方向を絞りの開く開放方向に定める絞り移動方向決定手段と、代表輝度値と参照輝度値との輝度値差を順次検出する輝度値差検出手段と、第１の輝度状態であれば輝度値差を第１のメモリに順次記憶し、第２の輝度状態であれば輝度値差を第２のメモリに順次記憶する輝度値差検出結果記憶手段と、最新の輝度値差を含む所定の読出期間に第１のメモリおよび第2のメモリに記憶された読出期間内輝度値差を読み出し、読出期間内輝度値差のうち第１のメモリに記憶された輝度値差の総和である第１の輝度値差総和と、読出期間内輝度値差のうち第２のメモリに記憶された輝度値差の総和である第２の輝度値差総和とを算出する輝度値差総和算出手段とを有する。移動方向決定手段において定められた絞りの移動方向と、輝度値差検出手段によって検出された輝度値差に応じて定められる絞りの目標移動量とに応じて絞りを移動させる。そして、目標移動量は、一連の第１の絞り移動量、および一連の第１の絞り移動量に比べて移動量の少ない一連の第２の絞り移動量のどちらか一方に基づいて定められ、一連の第２の絞り移動量が、第１の輝度値差総和と第２の輝度値差総和とが所定の総和値以上であり、且つ、第１の輝度値差総和と第２の輝度値差総和とが概ね等しい値である場合において用いられることを特徴とする。このように第１の輝度値差総和と第２の輝度値差総和とが所定の条件を満たすときハンチングが発生しているとみなし、絞りの移動量を少なくする。よってハンチングが発生しても迅速にハンチングを解消することができる。
【０００６】
また、本発明は、被写体像が形成される撮像素子を有する電子スコープと、電子スコープが着脱自在に接続されるとともに映像を表示するための表示装置が接続され、撮像素子から読み出される被写体像に応じた画像信号に基づいて映像信号を表示装置に出力するプロセッサとを備えた電子内視鏡装置に関するものであって、光を放射する光源と、電子スコープ内に形成され、光源からの光を電子スコープのプロセッサ側から撮像素子のある先端側へ導く光ファイババンドルと、光源からの光が入射する光ファイババンドルの入射端と光源との間に介在し、入射端に入射する光量を増減させる絞りと、被写体像の明るさを適正な明るさに維持するために所定時間間隔毎に光量調整する光量調整手段を備える。この光量調整手段は、撮像素子から読み出される画像信号に基づいて、表示装置に表示される被写体像の明るさを示す代表輝度値を順次算出する代表輝度値算出手段と、代表輝度値が被写体像の適正な明るさを示す参照輝度値より大きい第１の輝度状態であるか、または代表輝度値が参照輝度値より小さい第２の輝度状態であるかを順次判別し、第１の輝度状態であれば絞りの移動方向を絞りの閉じる閉塞方向に、第２の輝度状態であれば絞りの移動方向を絞りの開く開放方向に定める移動方向決定手段と、代表輝度値と参照輝度値との輝度値差を順次検出する輝度値差検出手段と、輝度値差に基づいて順次、絞りの目標移動量を定める絞り移動量設定手段と、第１の輝度状態であれば、目標移動量を第１のメモリに順次記憶し、第２の輝度状態であれば、目標移動量を第２のメモリに順次記憶する移動量検出結果記憶手段と、最新の目標移動量を含む所定の読出期間に実行された光量調整において第１のメモリおよび第２のメモリに記憶された読出期間内移動量を読み出し、読出期間内移動量のうち第１のメモリに記憶された目標移動量の総和である第１の移動量総和と、読出期間内移動量のうち第２のメモリに記憶された目標移動量の総和である第２の移動量総和とを算出する移動量総和算出手段とを有し、移動方向決定手段において定められた絞りの移動方向と、絞り移動量設定手段により定められた目標移動量に応じて絞りを移動させ、目標移動量が、一連の第１の絞り移動量、および一連の第１の絞り移動量に比べて移動量の少ない一連の第2の絞り移動量のどちらか一方に基づいて定められる。そして一連の第２の絞り移動量が、第１の移動量総和と第２の移動量総和とがそれぞれ所定の総和値以上であり、且つ、第１の移動量総和と第２の移動量総和とが概ね等しい値である場合に用いられる。このような場合でも、ハンチングの発生を検出することができ、ハンチングを解消することができる。
【０００７】
光量調整手段は、輝度値差が所定の輝度値差より小さい値の場合、光量調整を行わないことが望ましい。これにより輝度値差が微小であり、絞りを移動させる必要がない場合にまで光量調整されることが防止される。また、このとき第１のメモリに記憶された輝度値差（目標移動量）と第２のメモリに記憶された輝度値差（目標移動量）とは消去され、次回算出される輝度値差（定められる目標移動量）が最新の輝度値差（目標移動量）に設定されることが望ましい。
【０００８】
好ましくは、目標移動量が第２の絞り移動量により定められたときから所定のハンチング検出後処理時間の経過までを計測するハンチング処理時間計測手段を更に有し、光量調整手段は所定時間が経過するまでの間、一連の第２の絞り移動量に基づいて定められた目標移動量に応じて絞りを移動させるハンチング検出後処理が実行される。これにより、一旦ハンチングの発生が検出された後は、しばらく絞りを少ない移動量で移動させ、その後はより早く絞りを通常の移動状態に回復させることができる。
【０００９】
ハンチングの発生が検出され、少ない移動量で絞りを移動させる時間内であっても、輝度値差が大きいときは、絞りをすばやく移動させるため、例えば、ハンチング検出後処理時間が経過するまでの間において、輝度値差が所定値より大きいか否かを判定する輝度値差判定手段を更に有し、輝度値差が所定値より大きいと判定されたときは被写体と電子スコープとの位置関係が変化した状態であるため、ハンチング検出後処理が中止され、次回の光量調整においてハンチングの検出動作が行われる。
【００１０】
ハンチングが発生している間は、絞りの１回の移動が終了してから、次の動作をするために、例えば、光量調整手段が、ハンチング検出後処理時間内において、所定のルーチン間隔で絞りを移動させる。すなわち絞りの移動を間引いておこなう。
【００１１】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態について説明する。
【００１２】
図１は第１の実施の形態である電子内視鏡装置を示すブロック図である。この電子内視鏡装置は電子スコープであるスコープ３０を生体内に挿入して撮影し、観察部位Ｓの映像をプロセッサ１０を介してモニタ２３の画面上に表示させる装置である。
【００１３】
スコープ３０内には、光ファイババンドルのライトガイド３２が設けられており、プロセッサ１０にスコープ３０が接続された状態で、プロセッサ１０内のキセノンランプ等の光源１９からの光をスコープ３０の先端側へ導く。光源１９から放射された光は、光を収束させる集光レンズ２７を介してライトガイド３２の入射端３２ａに入射する。ライトガイド３２を伝搬した光はライトガイド３２の出射端３２ｂから出射し、光の配光角を広げる拡散レンズ３４を介して観察部位Ｓを照射する。観察部位Ｓに照射される光量は、光源１９と集光レンズ２７との間に設けられる絞り１８により調節される。すなわち、絞り１８の開閉にしたがって、絞り１８を通過し入射端３２ａに入射する光量が増減される。絞り１８は、絞り制御回路１７からのパルス信号により制御されるステッピングモータ２６によって駆動される。
【００１４】
観察部位Ｓの像は、対物レンズＬを介して、ＣＣＤ等の撮像素子３１上に結像される。撮像素子３１の各画素上には赤色（Ｒ）、緑色（Ｇ）、青色（Ｂ）のカラーモザイクフィルタが設けられ、光電変換により各色に応じた画像信号が発生する。発生した１フレーム分の画像信号は所定間隔毎に順次読み出され、プロセッサ１０に送られる。なお、本実施形態では撮像方式としてＮＴＳＣ方式が採用されており、１／３０ｓｅｃ間隔毎に１フレーム分の画像信号が読み出される。
【００１５】
プロセッサ１０に送られた１フレーム分の画像信号は、ＣＣＤプロセス回路１１においてそれぞれ各色（Ｒ、Ｇ、Ｂ）に応じた画像信号毎に分離され、増幅処理等が施される。処理された画像信号は、Ａ／Ｄ変換器１２においてアナログの画像信号からデジタルの画像信号に変換され、信号処理回路１３に送られる。
【００１６】
信号処理回路１３では、画像信号に対するリセット雑音の除去等、種々な信号処理が施され、信号処理の施された画像信号はホワイトバランス調整回路１４に送られる。
【００１７】
ホワイトバランス調整回路１４では、各色（Ｒ、Ｇ、Ｂ）に応じた画像信号に基づいて色温度補正処理（ホワイトバランス調整）が施される。ここでは、白い被写体を撮像した時に、その画像を構成する全ての画素におけるＲ、Ｇ、Ｂの画像信号の比が１になるように調整される。ホワイトバランス調整された画像信号は信号変換回路２５とＤ／Ａ変換器２４とに送られる。
【００１８】
信号変換回路２５ではＲ、Ｇ、Ｂ各色に応じた画像信号に基づいて輝度信号が求められ、この輝度信号はヒストグラム処理回路１６に送られる。ヒストグラム処理回路１６では、輝度信号に基づいてヒストグラム処理が施され、ヒストグラムデータが生成される。ここでのヒストグラム処理は、画像の各画素の輝度について、各輝度レベルに対応する画素の度数を計数する処理である。生成されたヒストグラムデータは、ＣＰＵ２２によって読み出される。ＣＰＵ２２では、ヒストグラムデータに基づいて観察部位Ｓの像の輝度値の平均値を示す輝度平均値（代表輝度値）ｖａが算出される。
【００１９】
Ｄ／Ａ変換器２４では、デジタルの画像信号がアナログの画像信号に変換され、ビデオプロセス回路１５に送られる。ビデオプロセス回路１５では、Ｒ、Ｇ、Ｂの画像信号が映像信号であるＮＴＳＣ信号等に変換され、モニタ２３に送られる。これにより映像信号に基づいて、モニタ２３の画面上に観察部位Ｓの映像が映し出される。
【００２０】
ＣＰＵ２２には、操作パネル２０におけるスイッチの操作や、キーボード２１の操作による信号が入力され、これにより自動調光時における基準の輝度値となる参照輝度値の設定や、モニタ２３における表示画面の変更等が行われる。また、ステッピングモータ２６を駆動するための制御信号がＣＰＵ２２から絞り制御回路１７に送られる。
【００２１】
絞り制御回路１７は、ＣＰＵ２２からの制御信号に基づき、絞り１８を開く正相のパルス、または絞り１８を閉じる逆相のパルスのパルス信号をステッピングモータ２６に送る。パルス信号がステッピングモータ２６に送られるとステッピングモータ２６が該パルス信号の正相または逆相に対応した方向にパルス数の分だけ駆動（回転）し、これにより絞り１８が開閉する。
【００２２】
スコープ３０内のＥＥＰＲＯＭ３３には、ＣＣＤ３１の画素数等のスコープ３０の特性に関するデータが記憶されており、スコープ３０がプロセッサ１０に接続されたときにＣＰＵ２２によって読み出される。
【００２３】
図２は絞り１８およびステッピングモータ２６を、絞り１８から光源１９へ向かう方向にみたときの平面図である。
【００２４】
絞り１８の先端部１８ａ（遮光部）は、光源１９から平行に出射する光束（不図示）を全て遮光できるような円形状に形成されている。先端部１８ａから延びる平板状の支持アーム１８ｂの端部には、ステッピングモータ２６がギア（図示せず）を介して接続されており、ステッピングモータ２６が回転すると、絞り１８はステッピングモータ２６の回転軸を中心に回転する。絞り１８が回転すると、先端部１８ａの位置に応じて、絞り１８を通過する光量、すなわち観察部位Ｓに照射される光量が変化する。ここでは、絞り１８が光源１９の光束側に向かって回転する方向を絞り１８の閉じる方向、絞り１８が光源１９の光束から離れるように回転する方向を絞りの開く方向とする。
【００２５】
鉛直線に対する絞り１８の回転角度ａは、絞り１８が開くほど増加し、全閉で０°、全開で３０°である。すなわち、絞り１８はステッピングモータ２６の回転軸を中心に０〜３０°の範囲で回転する。ステッピングモータ２６の回転軸の回転量を示す回転量変数ｐは、０〜２４０の値を取り、０で絞り１８は全閉、２４０で絞り１８は全開となる。絞り１８の回転角度ａとステッピングモータ２６の回転量変数ｐには線形関係が成り立っており、絞り１８の回転角度ａが１°に対し、ステッピングモータ２６の回転量変数ｐは８となる。本実施形態では、回転角度ａの代わりに回転量変数ｐによって絞り１８の位置、すなわち開度を示す。例えば、回転量変数ｐが１２０である場合、絞り１８の開度は全開の時を基準として半分の開度となる。
【００２６】
さらに、本実施形態では、ステッピングモータ２６に入力されるパルス数ｖｐに関し、１パルスは回転量変数ｐを１だけ変動させる。例えば、パルス数ｖｐ＝１６のパルス信号がステッピングモータ２６に送られた場合、回転量変数ｐは１６だけ変動し、絞り１８を開かせる（閉じさせる）。このとき、絞り１８は２°だけ回転する。このように、パルス数ｖｐは、絞り１８の回転量（目標移動量）に対応する。
【００２７】
図３は、ＣＰＵ２２によって実行される電子内視鏡装置全体の動作に関するメインルーチンを示すフローチャートである。
【００２８】
電源スイッチ（図示せず）がオン状態に定められると、ステップＳ１０１において絞り１８、各制御に関する変数、モニタ２３の画面上の文字表示等がそれぞれ初期値に設定される。
【００２９】
ステップＳ１０２では、操作パネル２０のスイッチ操作に基づいて、光源１９の明るさの設定や自動調光時の参照輝度値の設定等が行われる。ステップＳ１０３では、キーボード２１の操作に基づいて、モニタ２３への文字の入力や表示画面の変更等が行われる。
【００３０】
ステップＳ１０４ではスコープ３０の接続に関する処理が施され、新たにスコープ３０がプロセッサ１０に接続されると、接続されたスコープ３０のＥＥＰＲＯＭ３３からスコープ特性に関するデータが読み出される。ステップＳ１０５では、その他の処理、例えば、モニタ２３の画面上において時刻が表示される。以上のようなメインルーチンは電源スイッチ（図示せず）がオフ状態に定められるまで繰り返し行われる。またそれぞれの各ステップにおいては、サブルーチンが実行される。
【００３１】
次に図４を用いてハンチングについて説明する。図４は、ハンチングの発生している状態の輝度平均値ｖａの変化を示す図であり、横軸は光量調整動作の回数を表し、縦軸は光量調整動作において算出される輝度平均値ｖａとしてとり得る値（０≦ｖａ≦２５５）を表す。なお、ここで基準となる明るさ（参照輝度値ｖｒ）は１１２である。
【００３２】
第１〜第３回目の光量調整動作では、例えば、被写体がスコープ３０に急速に近づけられることにより、算出される輝度平均値ｖａの値が増加している状態である（Ｐ１〜Ｐ３）。第１回目〜第３回目の光量調整動作において算出された輝度平均値ｖａは参照輝度値ｖｒの値を大幅に上回り、画面が明るすぎる状態である。輝度平均値ｖａを参照輝度値ｖｒに近づけるために、絞り１８は閉じる方向に回転する。第４回目の光量調整動作では、輝度平均値ｖａは参照輝度値ｖｒの値より大きいため、絞り１８はさらに閉じる方向に回転する（Ｐ４）。
【００３３】
第５回目の光量調整動作で算出された輝度平均値ｖａは参照輝度値ｖｒを下回る値となる（Ｐ５）。すなわち第３、４回目の光量調整動作において、絞り１８が必要以上に回転し、画面が暗すぎる状態になる。絞り１８が駆動されてから、その結果が輝度平均値ｖａに反映されるまでに時間差が生じるため、第６回目および第７回目の光量調整動作において、算出された輝度平均値ｖａはさらに参照輝度値ｖｒから離れた値、すなわち、画面が更に暗すぎる状態になる（Ｐ６、Ｐ７）。
【００３４】
第６、７回目の光量調整動作では検出された輝度平均値ｖａに基づいて、絞り１８は更に開く方向に回転する。第８回目の光量調整動作では算出された輝度平均値ｖａは参照輝度値ｖｒと概ね等しい値になる。従って、この時、絞り１８は駆動されない。しかし、絞り１８が駆動されてから輝度平均値ｖａに反映されるまでの上述の時間差により、第９回目の光量調整動作において算出される輝度平均値ｖａは第７回目の回転の結果として参照輝度値ｖｒより大きい値、すなわち画面が明るすぎる状態になる。したがって第９回目の光量調整動作から再び、輝度平均値ｖａを参照輝度値ｖｒに近づけるために絞り１８は閉じる方向に回転する。以上のように絞り１８が上述の時間差によって必要以上に回転することにより絞り１８の位置が定まらなくなる。これに伴って輝度平均値ｖａの参照輝度値ｖｒ付近での振動（ハンチング）が発生する。
【００３５】
図４に示すようにハンチングの発生した状態では、グラフ中のＰ１〜Ｐ４の領域Ａにおいて輝度平均値ｖａが参照輝度値ｖｒを上回る状態（第１の状態）が発生し、その後、Ｐ５〜Ｐ８の領域Ｂにおいて輝度平均値ｖａが参照輝度値ｖｒを下回る状態（第２の状態）が発生する。さらにその後、Ｐ９〜Ｐ１２の領域Ｃにおいて第１の状態が発生する。
【００３６】
そして、ハンチングが発生した状態では、輝度平均値ｖａと参照輝度値ｖｒとの輝度値差において第２の状態における輝度値差の総和（第２の総和ｖｓｍ）と、第１の状態における輝度値差の総和（第１の総和ｖｓｐ）とは概ね等しい値になる。
【００３７】
そこで本実施形態では、以上のような第１の状態と第２の状態が発生し（第１の総和ｖｓｐと第２の総和ｖｓｍとがそれぞれ所定値以上であり）、第１の総和ｖｓｐと第２の総和ｖｓｍとの比が概ね１に近い値、すなわち第１の総和ｖｓｐと第２の総和ｖｓｍとが概ね等しい値のときは、ハンチングが発生しているとみなす。このハンチングの発生を検知したときは、通常時と比較して少ない回転量により絞り１８を回転させることにより、絞り１８が必要以上に回転することを防止し、ハンチングの繰り返しを防止する。
【００３８】
図５は、自動調光による光量調整動作を示す割り込みルーチンである。この割り込みルーチンは、約１／３０secごとに実行されるルーチンであり、図３のステップＳ１０２〜Ｓ１０５が実行されている間に割り込んで処理される。以下では、図６、図７を同時に参照しながら光量調整動作について説明する。
【００３９】
ステップＳ２０１では１画面分のヒストグラムのデータがＣＰＵ２２によって、ヒストグラム処理回路１６から読み出され、得られたヒストグラムデータに基づき輝度平均値ｖａ（０≦ｖａ≦２５５）が算出される。輝度平均値ｖａは次式に示すように各画素で検出された輝度値の総和を１フレーム分の総画素数で割ることにより算出される。ただし、ｊは輝度レベル、ｎｊは輝度レベルｊの個数（度数）を示す。
ｖａ＝（Σｎｊ×ｊ）／Σｎｊ（ｊ＝０〜２５５）
【００４０】
ステップＳ２０２では、後述するハンチング検出動作において設定されるハンチング変数ｖｈが、ハンチングの発生が検出されていないことを示す０に定められているか否かが判定される。ハンチング変数ｖｈが０に定められている、すなわちハンチングの発生が検出されていないと判定されたときは、ステップＳ２０３からステップＳ２０８までのハンチング検出に関する各変数の設定動作に進む。一方、ハンチング変数ｖｈが０に定められていないと判定されたとき、すなわち、すでにハンチングの発生が検出されていると判定されたときは、後述するステップＳ２２０からステップＳ２２７までのハンチング検出後の処理動作に進む。
【００４１】
ステップＳ２０３では、輝度平均値ｖａと参照輝度値ｖｒとの差（以下、単に輝度値差という）が許容範囲値Ｃ１（所定の輝度値差）よりも大きいか否かが判定される。許容範囲値Ｃ１は輝度値差の許容値、すなわち輝度平均値ｖａと参照輝度値ｖｒとが概ね等しい値とみなされ、絞り１８を回転させる必要がない範囲を示す値であり、ここでは５である。輝度値差が許容範囲値Ｃ１よりも大きいと判定された場合、すなわち絞り１８を回転させる必要があると判定された場合、ステップＳ２０４に進む。
【００４２】
ステップＳ２０４では、第１の総和ｖｓｐと第２の総和ｖｓｍとを算出するために用いられる変数である第１の配列ｖｓｐ［ｉ］と第２の配列ｖｓｍ［ｉ］が設定される。第１の配列ｖｓｐ［ｉ］は図示しない第１のメモリに、第２の配列ｖｓｍ［ｉ］は図示しない第２のメモリにそれぞれ記憶される。ｉは１〜ｋの値を示す。ここでｋは任意の自然数であり、第１の総和ｖｓｐと第２の総和ｖｓｍにおいて算入される光量調整動作の回数を表す。したがってこのｋによってハンチング発生を判定するための期間が定められる。例えば、ｋ＝８とすると第１の総和ｖｓｐと第２の総和ｖｓｍは現ルーチンで算出される輝度値差を含む前８回の光量調整動作において算出された輝度値差の総和を示す値となり、第１の配列ｖｓｐ［ｉ］と第２の配列ｖｓｍ［ｉ］は前８回のルーチンでそれぞれ算出された輝度値差に基づいて定められた値となる。
【００４３】
現ルーチンにおいて算出される輝度値差を入力するために、前ルーチンで設定された第１の配列ｖｓｐ［ｉ］、第２の配列ｖｓｍ［ｉ］とが１ずつシフトされる。例えば上述の例（ｋ＝８）で示すと、前ルーチンにおける第１の配列ｖｓｐ[２]の値が第１の配列ｖｓｐ[１]の値に代入される。同様に前ルーチンで設定された第１の配列ｖｓｐ[３]の値が第１の配列ｖｓｐ[２]の値に、前ルーチンで設定された第１の配列ｖｓｐ[４]の値が第１の配列ｖｓｐ[３]の値に代入される。以下同様に前ルーチンで設定された第１の配列ｖｓｐ［ｉ］全ての値がシフトされる。なお、前ルーチンにおける第１の配列ｖｓｐ[１]の値は消去される。同様に前ルーチンで設定された第２の配列ｖｓｍ[１]〜第２の配列ｖｓｍ［ｋ］の値も１ずつシフトされる。
【００４４】
ステップＳ２０５では、現ルーチンで算出された輝度平均値ｖａが参照輝度値ｖｒよりも大きいか否か、すなわち、輝度値差を第１の配列ｖｓｐ［ｋ］に代入するか、第２の配列ｖｓｍ［ｋ］に代入するかが判定される。輝度平均値ｖａが参照輝度値ｖｒよりも大きい、すなわち画面が明る過ぎると判定された場合、ステップＳ２０６に進み、算出された輝度値差は、第１の配列ｖｓｐ［ｋ］に代入され、第１のメモリに記憶される。このとき第２の配列ｖｓｍ［ｋ］は０を代入され、第２のメモリに記憶される。
【００４５】
一方、ステップＳ２０５において輝度平均値ｖａが参照輝度値ｖｒよりも大きくないと判定された場合、すなわち画面が暗すぎると判定された場合、ステップＳ２０７に進み、輝度値差が第２の数ｖｓｍ［ｋ］に代入され、第２のメモリに記憶される。このとき第１の配列ｖｓｐ［ｋ］は０を代入され、第１のメモリに記憶される。
【００４６】
ステップＳ２０８では、現ルーチンにおいて代入された第１の配列ｖｓｐ［ｋ］を含む第１の配列ｖｓｐ［ｉ］の総和である第１の総和ｖｓｐと、同様に現ルーチンにおいて代入された第２の配列ｖｓｍ［ｋ］を含む第２の配列ｖｓｍ［ｉ］の総和である第２の総和ｖｓｍがそれぞれ算出され、ハンチング検出に関する各変数の設定が終了し、ステップＳ２０９からステップＳ２１１までのハンチング検出動作に進む。
【００４７】
ステップＳ２０９では、第２の総和ｖｓｍが第１の総和許容値Ｃ７以上か否かが判定される。第１の総和許容値Ｃ７は、ハンチングの発生の可能性がある第２の総和ｖｓｍの値であり、ここでは４０である。すなわち本実施形態では第２の総和ｖｓｍが４０以上の値であるときはハンチングの発生の可能性が高いと判定される。なお、この第１の総和許容値Ｃ７は後述するステップＳ２１０において第１の総和値ｖｓｐの許容値としても用いられる。第２の総和ｖｓｍが第１の総和許容値Ｃ７以上でないと判定されたとき、ハンチングは発生していないとみなされ、ステップＳ２１２に進む。
【００４８】
ステップＳ２１２では、ハンチング変数ｖｈが、ハンチングの発生が検出されていないことを示す０に定められ、その後ステップＳ２１３において図６に示す表Ｔ１に基づいてステッピングモータ２６のパルス数ｖｐが定められる。
【００４９】
表Ｔ１は、通常時における絞り１８の回転量に対応するパルス数ｖｐを定めるための表であり、表Ｔ１には、輝度値差に対しその差に応じたパルス数ｖｐが示されている。例えば、輝度値差が３４である場合、パルス数ｖｐは１０であり、絞り１８の回転量（回転量変数ｐ）は１０に定められる。なお、表Ｔ１は、メモリ（図示せず）にあらかじめデータとして格納されている。パルス数ｖｐが定められると、輝度平均値ｖａと参照輝度値ｖｒとを比較し、輝度平均値ｖａが小さいときは開く方向に、輝度平均値ｖａが大きいときは閉じる方向に定められたパルス数ｖｐだけ絞り１８が移動し、その後このルーチンは終了する。
【００５０】
一方、ステップＳ２０９において第２の総和ｖｓｍが第１の総和許容値Ｃ７以上であると判定されたとき、すなわち、ハンチングの発生の可能性が高いと判定されたときはステップＳ２１０に進む。ステップＳ２１０では、第１の総和ｖｓｐが第１の総和許容値Ｃ７以上か否か、すなわち第１の総和ｖｓｐに関してハンチングの発生の可能性があるか否かが判定される。第１の総和ｖｓｐが第１の総和許容値Ｃ７以上ではないと判定されたとき、すなわち、ハンチングは発生していないと判定されたときは、上述のステップＳ２１２に進む。
【００５１】
一方、ステップＳ２１０において、第１の総和ｖｓｐが第１の総和許容値Ｃ７以上であると判定されたとき、すなわち、ハンチングの発生の可能性が高いと判定されたときはステップＳ２１１に進む。ステップＳ２１１では、第１の総和ｖｓｐと第２の総和ｖｓｍとの比が、第１の総和許容比Ｃ８（Ｃ８＜１）以上であり、かつ第１の総和許容比Ｃ８の逆数（１／Ｃ８）以下であるか否かが判定される。第１の総和許容比Ｃ８は、第１の総和ｖｓｐと第２の総和ｖｓｍとの比が概ね1であり、ハンチングの発生の可能性が高いとみなされる範囲を示す値であり、ここでは０．６である。すなわち、本実施形態では、第１の総和ｖｓｐと第２の総和ｖｓｍとの比が０．６以上であり、かつ１．７（１／０．６）以下であるときは、第１の総和ｖｓｐと第２の総和ｖｓｍとの値が概ね等しい値であり、ハンチングの発生する可能性が高いとみなされ、ステップＳ２１４に進む。
【００５２】
ステップＳ２１４に進む場合、すなわち、第２の総和ｖｓｍと、第１の総和ｖｓｐとが第１の総和許容値Ｃ７以上の値であり（ステップＳ２０９、ステップＳ２１０）、かつ、第１の総和ｖｓｐと第２の総和ｖｓｍの値が概ね等しい値であると判定された場合は、ハンチングが発生しているとみなされハンチングに対する処理が実行される。ハンチング変数ｖｈがハンチングの発生を検出したことを示す１に定められ、後述するハンチング検出後の処理において用いられる時間計測変数ｖｃ２が０に設定される。
【００５３】
ステップＳ２１５では、通常時におけるパルス数ｖｐを定める表Ｔ１と比較して、パルス数ｖｐが少なく設定されている表Ｔ２（図７に示す）によってパルス数ｖｐが定められ、輝度平均値ｖａと参照輝度値ｖｒとを比較し、輝度平均値ｖａが小さいときは開く方向に、輝度平均値ｖａが大きいときは閉じる方向に絞り１８が表Ｔ２により定められたパルス数だけ移動する。その後このルーチンは終了する。
【００５４】
表Ｔ１と表Ｔ２とを比較すると、例えば輝度値差が３４である場合、表Ｔ１によると上述のようにパルス数ｖｐは１０であるが、表Ｔ２によるときのパルス数ｖｐは５である。このようにハンチングが発生していると判定された場合には、少ないパルス数ｖｐによりステッピングモータ２６を駆動させることにより、絞り１８が必要以上に回転することが防止され、ハンチングを回避することが可能となる。なお、表Ｔ２は、表Ｔ１と同じようにあらかじめデータとしてメモリに記憶されている。
【００５５】
一方、ステップＳ２０３において輝度値差が許容範囲値Ｃ１より大きくないと判定された場合、概ね輝度平均値ｖａは参照輝度値ｖｒと等しいとみなされ、ステップＳ２３０に進み、設定されているハンチング検出に関する各変数を初期値に戻すための処理に移行する。
【００５６】
ステップＳ２３０では、第２の配列ｖｓｍ［ｋ］の値が０に定められているか否かが判定される。第２の配列ｖｓｍ［ｋ］の値が０に定められてないと判定されたとき、すなわち前ルーチンにおいて輝度値差が第２の配列ｖｓｍ［ｋ］に設定されていると判定されたときは、ステップＳ２３１において設定されているハンチング検出に関する各変数が初期値に設定される。すなわち、前ルーチンで設定された第１の配列ｖｓｐ［ｉ］と第２の配列ｖｓｍ［ｉ］との全ての値に０が代入される。なお、ここでｉは１〜ｋまでの値である。その後、絞り１８の駆動は実行されずにこのルーチンは終了する。一方、ステップＳ２３０において第２の配列ｖｓｍ［ｋ］が０に定められていると判定されたときはステップＳ２３２に進む。
【００５７】
ステップＳ２３２では、第１の配列ｖｓｐ［ｋ］が０に定められているか否かが判定される。第１の配列ｖｓｐ［ｋ］が０に定められていないと判定されたとき、すなわち前ルーチンにおいて輝度値差が第１の配列ｖｓｐ［ｋ］に設定されていると判定されたときは上述のステップＳ２３１に進み、設定されているハンチング検出に関する各変数が初期値に設定される。一方、第１の配列ｖｓｐ［ｋ］が０に定められていると判定されたときは、ステップＳ２３０の判定結果から、第１の配列ｖｓｐ［ｋ］、第２の配列ｖｓｍ［ｋ］の両者が０に定められている場合、すなわち前ルーチンにおけるステップＳ２３１においてハンチング検出に関する各変数が初期値に設定された場合は、各変数の初期化も、絞り１８の駆動も実行されずにこのままこのルーチンは終了する。
【００５８】
一方、ステップＳ２０２においてハンチング変数ｖｈが０に定められていないと判定された場合、すなわちハンチングの発生が検出されていると判定された場合、ステップＳ２２０に進み、ハンチング検出後の処理が開始される。ステップＳ２２０では、輝度値差が許容範囲値Ｃ１よりも大きいか否かが判定される。輝度値差が許容範囲値Ｃ１よりも大きいと判定された場合、ステップＳ２２１に進む。一方、輝度値差が許容範囲値Ｃ１より大きいと判定されなかった場合、輝度平均値ｖａは参照輝度値ｖｒと概ね等しい値であるとみなされ、ステップＳ２２４に進む。
【００５９】
ステップＳ２２１では輝度平均値ｖａが参照輝度値ｖｒよりも大きいか否か、すなわち、画面が明る過ぎる状態か否かが判定される。輝度平均値ｖａが参照輝度値ｖｒよりも大きいと判定された場合、すなわち画面が明るすぎると判定された場合はステップＳ２２２に進み、表Ｔ２に基づいて絞り１８を閉じる方向に回転させ、その後ステップＳ２２４に進む。一方、輝度平均値ｖａが参照輝度値ｖｒより大きくないと判定された場合、すなわち画面が暗すぎると判定された場合ステップＳ２２３に進み、表Ｔ２に基づいて絞り１８を開く方向に回転させ、ステップＳ２２４に進む。
【００６０】
以上のようにハンチング変数ｖｈが１に定められるときに開始されるハンチング検出後の処理では、ハンチング検出に関する各変数の設定動作（ステップＳ２０３〜ステップＳ２０８）、ハンチング検出動作（ステップＳ２０９〜ステップＳ２１１）は実行されず、絞り１８を表Ｔ２に基づいて回転させる。
【００６１】
ステップＳ２２４では時間計測変数ｖｃ２が１だけ、インクリメントされる。時間計測変数ｖｃ２はハンチングの発生が検出された時に０に定められ（ステップＳ２１４）ハンチング検出後の処理が実行される度にインクリメントされる変数である。ステップＳ２２５では、時間計測変数ｖｃ２がハンチング検出後処理値Ｃ９より大きいか否かが判定される。ハンチング検出後処理値Ｃ９はハンチングの発生が検出されてからハンチング検出後の処理が繰り返される所定時間を示す値であり、ここでは２００であり約７secに相当する。
【００６２】
ステップＳ２２５において時間計測変数ｖｃ２がハンチング検出後処理値Ｃ９より大きいと判定されたとき、すなわち、ハンチング検出後の処理が繰り返し実行される時間が経過したと判定されたときは、ステップＳ２２７に進む。ステップＳ２２７では、ハンチング検出に関する各変数、およびハンチング変数ｖｈが初期値に設定される。その後ルーチンは終了する。
【００６３】
一方、ステップＳ２２５において、時間計測変数ｖｃ２がハンチング検出後処理値Ｃ９より大きくないと判定されたとき、すなわち、ハンチング検出後の処理が繰り返し実行される時間が経過していないと判定されたときは、ステップＳ２２６に進む。ステップＳ２２６では、輝度値差が状況変化輝度値差Ｃ１０よりも大きいか否かが判定される。状況変化輝度値差Ｃ１０は、観察状況（スコープ３０と観察部位Ｓとの位置関係）が変化したことを示す値であり、ここでは８０である。この状況変化輝度値差Ｃ１０より輝度値差が大きいときは、ステップＳ２２７に進み、ハンチング検出後の処理が実行される時間の経過前である（ステップＳ２２５）と判定されても、ハンチング検出に関する各変数、およびハンチング変数ｖｈが初期値に設定される。すなわち観察状況が変化したので次のルーチンでは、ハンチング検出後の処理は実行されず、ステップＳ２０３からステップＳ２１５までのハンチング検出に関する変数の設定、ハンチングの検出が実行される。その後ルーチンは終了する。
【００６４】
以上のような第１の実施形態によると、算出された輝度値差の総和について所定の条件を満たす場合、ハンチングが発生しているとみなして、絞り１８の駆動量を少なく設定するので、ハンチングが発生しても迅速に通常の絞り駆動状態に戻すことができる。
【００６５】
なお、本実施形態においては、ヒストグラムに基づいて輝度平均値ｖａを取得したが、ヒストグラムによらずにハードウェアにより得られた輝度値を入力して用いてもよい。また、輝度平均値ｖａの代わりに各画素の輝度データの中の真ん中の輝度値である中央輝度値や１画面の最大値であるピーク値を参照輝度値ｖｒと比較して自動調光してもよい。
【００６６】
本実施形態は、パルス数ｖｐと回転量変数ｐとが線形関係にあり、また、回転量変数ｐと回転角度ａとが線形関係にあるが、回転量変数ｐとパルス数ｖｐおよび回転量変数ｐと回転角度ａとが線形関係でない場合、回転量変数ｐとパルス数ｖｐおよび回転角度ａと回転量変数ｐとを満たす関係式（例えば、ｐ＝ｆ（ｖｐ）、ａ＝ｇ（ｐ））に基づいて絞り１８の移動量、すなわちパルス数ｖｐを定めればよい。また、絞り１８は図２に示すような軸支回りに回転する絞りに限定されず、他の絞り（例えば、U字型絞り、スリット状の絞り等）であってもよい。
【００６７】
次に図８を用いて第２の実施形態について説明する。第２の実施形態では第１の実施形態と異なり、パルス数ｖｐによりハンチングの発生を検出する。その他の構成については第１の実施形態と同じである。
【００６８】
上述のようにハンチングの発生した状態では、第１状態と、第２の状態が順次発生し、また第１の状態における輝度値差の総和と、第２の状態における輝度値差の総和が概ね等しい値になる（図４参照）。ステッピングモータ２６を駆動させるパルス数ｖｐは算出された輝度値差に基づいて定められるので、ハンチングの発生は輝度値差と同様に、定められたパルス数、すなわち絞り１８の移動量によっても判定することが可能である。
【００６９】
図８は、第２の実施形態における自動調光による光量調整動作を示す割り込みルーチンである。
【００７０】
ステップＳ３０１〜ステップＳ３０４までは、図５におけるステップＳ２０１〜ステップＳ２０４の輝度平均値ｖａの入力等と、ステップＳ３２０〜ステップＳ３２７は図５におけるステップＳ２２０〜ステップＳ２２７のハンチング検出後の処理と、ステップＳ３３０〜ステップＳ３３２は図５におけるステップＳ２３０〜ステップＳ２３２のハンチング検出に関する各変数を初期値に戻すための処理と同じである。すなわち、第２の実施形態では、ハンチング検出に関する各変数の設定動作、およびハンチング検出動作が第１の実施形態と異なる。
【００７１】
ハンチングに関する変数の設定動作において、ステップＳ３０５では検出された輝度平均値ｖａから表Ｔ１に基づいてパルス数ｖｐが設定される。第２の実施形態では、ステッピングモータ２６に入力されるパルス数ｖｐに基づいてハンチングの発生を検出するので、第１の実施形態と異なり、輝度平均値ｖａに基づいて一旦、表Ｔ１によりパルス数ｖｐが設定される。
【００７２】
ステップＳ３０６では、輝度平均値ｖａが参照輝度値ｖｒより大きいか否かが判定される。輝度平均値ｖａが参照輝度値ｖｒより大きいと判定された場合、ステップＳ３０７に進み、ステップＳ３０５において設定されたパルス数ｖｐが第２の配列ｖｓｍ［ｋ］の値に設定される。このとき第１の配列ｖｓｐ［ｋ］の値は０に設定される。一方、ステップＳ３０６において輝度平均値ｖａが参照輝度値ｖｒより大きくないと判定された場合、ステップＳ３０８に進み、ステップＳ３０５において設定されたパルス数ｖｐが第１の配列ｖｓｐ［ｋ］の値に設定される。このとき第２の配列ｖｓｍ［ｋ］の値は０に設定される。
【００７３】
ステップＳ３０９では、設定されている第２の配列ｖｓｍ［ｉ］の総和である第２の総和ｖｓｍと、第１の配列ｖｓｐ［ｉ］の総和である第１の総和ｖｓｐとがそれぞれ算出される。
【００７４】
ステップＳ３１０〜ステップＳ３１６は第１の実施形態におけるハンチング検出動作と略同様である。すなわちステップＳ３１０では、第２の総和ｖｓｍが第２の総和許容値Ｃ１１より大きいか否かが判定され、ステップＳ３１１では、第１の総和が第２の総和許容値Ｃ１１より大きいか否かが判定され、ステップＳ３１２では第１の総和ｖｓｐと第２の総和ｖｓｍとの比が第２の総和許容比Ｃ１２（Ｃ１２＜１）以上であり、かつ第２の総和許容比の逆数以下（１／Ｃ１２）であるか否かが判定される。ここで第２の総和許容値Ｃ１１はパルス数ｖｐの総和の許容値であり、ここでは１０である。また、第２の総和許容比Ｃ１２は、第１の総和ｖｓｐと第２の総和ｖｓｍとの比が概ね1であるとみなされる範囲を示す値であり、ここでは０．７である。
【００７５】
ステップＳ３１１〜ステップＳ３１２においてハンチングが発生しているとみなされたときはステップＳ３１５に進み、ハンチング変数ｖｈが１に定められ、時間計測変数ｖｃ２が０に定められ、その後ステップＳ３１６に進む。ステップＳ３１６ではパルス数ｖｐが表Ｔ２により定められる。すなわちステップＳ３０５において表Ｔ１により定められたパルス数ｖｐを表Ｔ２に基づいて再設定する。この再設定されたパルス数ｖｐにより絞り１８が駆動する。一方、ハンチングが発生していないと判定されたときはステップＳ３１３に進み、ハンチング変数ｖｈが０に設定され、その後ステップＳ３１４に進む。ステップＳ３１４では、ステップＳ３０５において定められたパルス数ｖｐにより絞り１８が駆動する。以下は第１の実施形態と同様である。
【００７６】
以上のような第２の実施形態では、設定されたパルス数ｖｐの総和について所定の条件を満たす場合、ハンチングが発生しているとみなして、絞り１８の駆動量を通常時と比較して少なく設定するので、第１の実施形態と同様にハンチングが発生しても、迅速にハンチングのない通常の絞り駆動状態に戻すことができる。
【００７７】
次に図９を用いて第３の実施形態について説明する。第３の実施形態ではハンチング変数ｖｈが０に定められていないと判定された場合に実行されるハンチング検出後の処理において、絞り１８の駆動を１回おきに中止する絞り駆動の間引きが実行される。その他の構成については第１の実施形態と同じである。
【００７８】
図９は、第３の実施形態における自動調光による光量調整動作を示す割り込みルーチンである。
【００７９】
ステップＳ４０１〜ステップＳ４１３までは、図５におけるステップＳ２０１〜ステップＳ２１３の輝度平均値ｖａの算出動作等と、およびステップＳ４３１〜ステップＳ４３３は図５におけるステップＳ２３０〜ステップＳ２３２のハンチング検出に関する各変数を初期値に戻すための処理と同じである。すなわち第３の実施形態は、ハンチング検出後の処理について第１の実施形態と異なる。
【００８０】
ハンチング検出動作におけるステップＳ４１４では、ハンチングが発生しているとみなされ、第１の実施形態と同様にハンチング変数ｖｈが１に、時間計測変数ｖｃ２が０に設定される。更に本実施形態では、次のルーチンにおいてハンチング検出後の処理における絞り１８の駆動を行わないか否かを表す間引き変数ｖｈ２が、次のルーチンにおいて絞りを駆動させない、すなわち絞り駆動の間引きをすることを示す１に定められる。ステップＳ４１５において表Ｔ２に基づいてパルス数ｖｐが定められ、輝度平均値ｖａと参照輝度値ｖｒとを比較し、輝度平均値ｖａが小さいときは開く方向に、輝度平均値ｖａが大きいときは閉じる方向に定められたパルス数ｖｐに基づいて絞り１８が移動し、その後このルーチンは終了する。
【００８１】
ステップＳ４０２において、ハンチング変数ｖｈが０に定められていない、すなわちハンチングの発生が検出されていると判定された場合、ステップＳ４２０からのハンチング検出後の処理に進む。ステップＳ４２０では間引き変数ｖｈ２が０に定められているか、すなわち絞り駆動の間引きをしないか否かが判定される。間引き変数ｖｈ２が０に定められている、すなわち絞り駆動の間引きを行わないと判定されたときは、ステップＳ４２１に進む。ステップＳ４２１では、間引き変数ｖｈ２が１に定められ、次回のルーチンでは絞り駆動の間引きを実行する、すなわち次回はハンチング検出後の処理において、絞り１８を駆動させないように間引き変数ｖｈ２が設定される。その後ステップＳ４２２に進む。
【００８２】
ステップＳ４２２〜ステップＳ４２５では、第１の実施形態と同様に絞り駆動が実行される。すなわちステップＳ４２２において輝度値差が許容範囲値Ｃ１より大きいか否かが判定され、許容範囲値Ｃ１より大きくないと判定されたとき、絞り駆動は実行されずに、ステップＳ４２７からの、設定されているハンチング検出に関する各変数を初期値に戻すための処理に移行する。許容範囲値Ｃ１より大きいと判定されたときは、ステップＳ４２３に進み、輝度平均値ｖａが参照輝度値ｖｒより大きいか否かが判定される。輝度平均値ｖａが大きいと判定されたときはステップＳ４２４において、表Ｔ２に基づいてパルス数ｖｐが算出され、絞り１８が閉じる方向に駆動される。輝度平均値ｖａが大きくないと判定されたときはステップＳ４２５において表Ｔ２に基づいてパルス数ｖｐが算出され、絞り１８が開く方向に駆動される。その後ステップＳ４２７からの設定された各変数を初期値に戻すための処理に移行する。
【００８３】
一方、ステップＳ４２０において、間引き変数ｖｈ２が０に定められてない、すなわち、間引きが実行され、絞り１８を駆動させないと判定されたときはステップＳ４２６に進む。ステップＳ４２６では次回のルーチンでは間引きを実行しない、すなわち次回は絞り１８を駆動させるように間引き変数ｖｈ２が０に設定される。その後、ステップＳ４２７に進む。ステップＳ４２７からは第１の実施形態と同様に時間計測変数ｖｃ２の値が判定される。
【００８４】
以上のような第３の実施形態によれば、ハンチングの発生が検出され、少ない駆動量により絞り１８が移動した後、次回の１ルーチンでは絞り１８の間引きが実行されるので、間引きが実行されている間に絞り１８の駆動の結果を次の輝度値ｖａに反映させることができる。これにより、ハンチングが発生しているときは正確に絞り１８を移動させることが可能となり、ハンチングを解消し、正常な絞り駆動状態により早く戻すことが可能である。なお、第３の実施形態は第２の実施形態に適用できることは言うまでも無い。
【００８５】
なお、第１〜第３の実施形態では、プロセッサ１０内に設けられた光源１９からの光に対して、絞り１８の開閉により光量調整し、観察部位Ｓを照射する構成であるが、スコープ３０の先端に例えば発光ダイオード（ＬＥＤ）を設けて観察部位Ｓを照射してもよい。この場合、第１〜第３の実施形態における絞り１８の駆動量（ステッピングモータに送られるパルス数ｖｐ）は、ＬＥＤに送られる電流の変化量の大小に対応する。
【００８６】
【発明の効果】
このように本発明によれば、ハンチングが発生しても迅速に通常の絞り駆動の状態に回復し、光量制御を行うことができる電子内視鏡装置を得ることができる。
【図面の簡単な説明】
【図１】本発明を適用した電子内視鏡装置のブロック図である。
【図２】絞りを示した平面図である。
【図３】電子内視鏡装置のメインルーチンを示すフローチャートである。
【図４】ハンチングの発生した状態を説明するための図である。
【図５】第１の実施形態における光量調整動作を示すフローチャートである。
【図６】輝度平均値と参照輝度値との差に対するパルス数を記載した第１の表を示した図である。
【図７】輝度平均値と参照輝度値との差に対するパルス数を記載した第２の表を示した図である。
【図８】第２の実施形態における光量調整動作を示すフローチャートである。
【図９】第３の実施形態における光量調整動作を示すフローチャートである。
【符号の説明】
１８  絞り
２２  ＣＰＵ
２６  ステッピングモータ
ｖａ  輝度平均値（代表輝度値）
ｖｒ  参照輝度値
ｖｓｐ  第１の総和（第１の輝度値差総和、第１の移動量総和）
ｖｓｐ［ｉ］  第１の配列
ｖｓｍ  第２の総和（第２の輝度値差総和、第２の移動量総和）
ｖｓｍ［ｉ］  第２の配列
ｖｈ  ハンチング変数
ｖｃ２  時間計測変数
ｖｈ２  間引き変数
【図１】
0003995954.tif 000002
【図２】
0003995954.tif 000003
【図３】
0003995954.tif 000004
【図４】
0003995954.tif 000005
【図５】
0003995954.tif 000006
【図６】
0003995954.tif 000007
【図７】
0003995954.tif 000008
【図８】
0003995954.tif 000009
【図９】
0003995954.tif 000010