JPH07248517A - 振動検出装置 - Google Patents
振動検出装置Info
- Publication number
- JPH07248517A JPH07248517A JP4002394A JP4002394A JPH07248517A JP H07248517 A JPH07248517 A JP H07248517A JP 4002394 A JP4002394 A JP 4002394A JP 4002394 A JP4002394 A JP 4002394A JP H07248517 A JPH07248517 A JP H07248517A
- Authority
- JP
- Japan
- Prior art keywords
- conversion
- conversion result
- processing
- camera shake
- converter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/681—Motion detection
- H04N23/6812—Motion detection based on additional sensors, e.g. acceleration sensors
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B17/00—Details of cameras or camera bodies; Accessories therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/68—Control of cameras or camera modules for stable pick-up of the scene, e.g. compensating for camera body vibrations
- H04N23/682—Vibration or motion blur correction
- H04N23/685—Vibration or motion blur correction performed by mechanical compensation
- H04N23/687—Vibration or motion blur correction performed by mechanical compensation by shifting the lens or sensor position
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B2217/00—Details of cameras or camera bodies; Accessories therefor
- G03B2217/005—Blur detection
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Adjustment Of Camera Lenses (AREA)
- Analogue/Digital Conversion (AREA)
- Measurement Of Mechanical Vibrations Or Ultrasonic Waves (AREA)
Abstract
(57)【要約】 (修正有)
【構成】手振れ検出回路の出力をワンチップマイクロコ
ンピュータに内蔵された10ビットA/D変換器により
複数回A/D変換し、そのA/D変換値の複数の和をと
ることで手振れの検出精度を向上させている。 【効果】比較的簡単な処理により、A/D変換器の分解
能に起因する誤差、或いは手振れ検出回路で発生した高
周波ノイズの影響を抑え、精度の良い手振れ補正を可能
とする。
ンピュータに内蔵された10ビットA/D変換器により
複数回A/D変換し、そのA/D変換値の複数の和をと
ることで手振れの検出精度を向上させている。 【効果】比較的簡単な処理により、A/D変換器の分解
能に起因する誤差、或いは手振れ検出回路で発生した高
周波ノイズの影響を抑え、精度の良い手振れ補正を可能
とする。
Description
【0001】
【産業上の利用分野】本発明は、被検出体に生じる振動
を検出する装置に関する。
を検出する装置に関する。
【0002】
【従来の技術】振動を検出する被検出体として、スチル
カメラ、或いは、ビデオカメラ等がある。カメラにおい
ては、撮影時などでいわゆる手振れと称される振動が発
生する。この手振れが生じた場合に、そのまま撮影を行
うと、画像が振れることにより、撮影被写体の鮮明さが
損なわれることがある。これを解決するために、カメラ
に生じた振動を検出し、その検出結果に応じて撮影光学
系の光軸を変化させることで、画像の振れを補正する手
振れ補正機能を備えたカメラが提案されている。
カメラ、或いは、ビデオカメラ等がある。カメラにおい
ては、撮影時などでいわゆる手振れと称される振動が発
生する。この手振れが生じた場合に、そのまま撮影を行
うと、画像が振れることにより、撮影被写体の鮮明さが
損なわれることがある。これを解決するために、カメラ
に生じた振動を検出し、その検出結果に応じて撮影光学
系の光軸を変化させることで、画像の振れを補正する手
振れ補正機能を備えたカメラが提案されている。
【0003】従来は、手振れ検出機能を有するカメラ、
特に手振れ補正機能を備えたカメラにおいて、角速度セ
ンサ等を用いた手振れ検出回路よりカメラに生じた手振
れを検出し、その検出量に基づき、撮影光学系の光軸を
変化させることで手振れを抑える様なカメラが提案され
ている。撮影光学系の光軸を変化させる手段としては、
例えば撮影レンズの一部である補正レンズをシフトさせ
て光軸を変化させることで行なわれる。撮影光学系の光
軸変化手段はモータ等のアクチュエータにより駆動を行
う。詳しく言うならば、モータを用いた場合では、モー
タの回転はギア等で減速し、且つ、ギアの回転運動を直
線運動に変換し補正レンズを駆動するように構成され
る。
特に手振れ補正機能を備えたカメラにおいて、角速度セ
ンサ等を用いた手振れ検出回路よりカメラに生じた手振
れを検出し、その検出量に基づき、撮影光学系の光軸を
変化させることで手振れを抑える様なカメラが提案され
ている。撮影光学系の光軸を変化させる手段としては、
例えば撮影レンズの一部である補正レンズをシフトさせ
て光軸を変化させることで行なわれる。撮影光学系の光
軸変化手段はモータ等のアクチュエータにより駆動を行
う。詳しく言うならば、モータを用いた場合では、モー
タの回転はギア等で減速し、且つ、ギアの回転運動を直
線運動に変換し補正レンズを駆動するように構成され
る。
【0004】この手振れ補正の動作の1例を図1で示さ
れた回路図により説明する。図1は本発明に関わる部分
に関して従来技術を模式的に説明した回路図である。5
はカメラに生じた手振れを検出する手振れ検出回路であ
り、例えば角速度センサを用いてカメラに生じた角速度
を検出し、角速度に比例した信号を出力するものであ
る。手振れ検出回路5の出力はワンチップマイクロコン
ピュータであるCPU1に出力される。CPU1は手振
れ検出回路5の出力値に応じてモータ駆動回路2により
モータ4を制御する。これにより撮影レンズ6〜9内の
補正レンズ8をシフトさせ光軸を変化させることで、像
面での手振れを打ち消す様な構成をとる。補正レンズ8
の位置と、そのシフト速度を検出するための補正レンズ
位置速度検出回路3とにより、この時の補正レンズ8の
実際のシフト速度が検出され、その検出した速度に応じ
て、CPU1によりフィードバック制御される。通常、
この様な補正レンズ8のシフト方向としては、光軸に直
交する面内で駆動させるために、光軸とは直交し、かつ
各々直角に交差する2軸が必要である。しかし、これら
は互いに同様な構成であるので、同図においては1軸分
のみ示している。また、手振れ検出回路5は、例えば角
速度センサを用いた場合には、カメラの手振れにより生
じた角速度に応じてその出力値が変化する。CPU1は
その内部に内蔵された8ビット分解能のA/D変換器に
よりこの検出回路5の出力値をデジタル値に変換(A/
D変換)し、手振れによって生じた角速度を検出する。
また、手振れの検出はリアルタイムに検出する必要から
比較的短い所定のサンプリング間隔、例えば1ms間隔
で手振れ検出回路5の出力をA/D変換する様にしてい
る。また、モータ4の回転は、適当なギア等(不図示)
により直線運動に変換し補正レンズ8を駆動するように
構成される。
れた回路図により説明する。図1は本発明に関わる部分
に関して従来技術を模式的に説明した回路図である。5
はカメラに生じた手振れを検出する手振れ検出回路であ
り、例えば角速度センサを用いてカメラに生じた角速度
を検出し、角速度に比例した信号を出力するものであ
る。手振れ検出回路5の出力はワンチップマイクロコン
ピュータであるCPU1に出力される。CPU1は手振
れ検出回路5の出力値に応じてモータ駆動回路2により
モータ4を制御する。これにより撮影レンズ6〜9内の
補正レンズ8をシフトさせ光軸を変化させることで、像
面での手振れを打ち消す様な構成をとる。補正レンズ8
の位置と、そのシフト速度を検出するための補正レンズ
位置速度検出回路3とにより、この時の補正レンズ8の
実際のシフト速度が検出され、その検出した速度に応じ
て、CPU1によりフィードバック制御される。通常、
この様な補正レンズ8のシフト方向としては、光軸に直
交する面内で駆動させるために、光軸とは直交し、かつ
各々直角に交差する2軸が必要である。しかし、これら
は互いに同様な構成であるので、同図においては1軸分
のみ示している。また、手振れ検出回路5は、例えば角
速度センサを用いた場合には、カメラの手振れにより生
じた角速度に応じてその出力値が変化する。CPU1は
その内部に内蔵された8ビット分解能のA/D変換器に
よりこの検出回路5の出力値をデジタル値に変換(A/
D変換)し、手振れによって生じた角速度を検出する。
また、手振れの検出はリアルタイムに検出する必要から
比較的短い所定のサンプリング間隔、例えば1ms間隔
で手振れ検出回路5の出力をA/D変換する様にしてい
る。また、モータ4の回転は、適当なギア等(不図示)
により直線運動に変換し補正レンズ8を駆動するように
構成される。
【0005】
【発明が解決しようとする課題】しかし、この様に構成
された手振れ補正システムでは以下の様な問題があっ
た。従来の手振れ補正機能を有するカメラに使用される
ワンチップマイクロコンピュータに内蔵されたA/D変
換器の分解能としては、8ビット程度のものしかなかっ
た。ここで、CPU1に内蔵された8ビット分解能のA
/D変換器について、図2を参照してその動作を説明す
る。CPU1に内蔵されたA/D変換部は、A/D変換
される入力側(A/D入力)に手振れ検出回路5の出力
が接続され、それ以外にはA/D変換する時の基準の電
圧となるA/D変換基準電圧がCPU1の外部から供給
されている。そしてA/D変換基準電圧を基準として、
手振れ検出回路5からの出力電圧は8ビットのデジタル
値(10進で0〜255の値)に変換され、その結果は
A/D変換結果レジスタに格納される。A/D変換結果
レジスタの内容はCPU1の内部にあるROM(リード
オンリーメモリ)に書き込まれたプログラムの実行によ
り必要に応じて内部データバスを経由してそのデータを
読み込むことができる。A/D入力に入力された電圧と
A/D変換されたデジタル値の関係を図3に示す。今、
A/D入力電圧が0Vである場合にはA/D変換器で変
換されたA/D変換結果は0であり、A/D変換基準電
圧と同じ電圧が入力された場合のA/D変換結果は25
5になる。入力電圧が0VからA/D変換基準電圧の間
のA/D変換値はその間で256分割され、A/D入力
電圧に比例したA/D変換結果が得られる。
された手振れ補正システムでは以下の様な問題があっ
た。従来の手振れ補正機能を有するカメラに使用される
ワンチップマイクロコンピュータに内蔵されたA/D変
換器の分解能としては、8ビット程度のものしかなかっ
た。ここで、CPU1に内蔵された8ビット分解能のA
/D変換器について、図2を参照してその動作を説明す
る。CPU1に内蔵されたA/D変換部は、A/D変換
される入力側(A/D入力)に手振れ検出回路5の出力
が接続され、それ以外にはA/D変換する時の基準の電
圧となるA/D変換基準電圧がCPU1の外部から供給
されている。そしてA/D変換基準電圧を基準として、
手振れ検出回路5からの出力電圧は8ビットのデジタル
値(10進で0〜255の値)に変換され、その結果は
A/D変換結果レジスタに格納される。A/D変換結果
レジスタの内容はCPU1の内部にあるROM(リード
オンリーメモリ)に書き込まれたプログラムの実行によ
り必要に応じて内部データバスを経由してそのデータを
読み込むことができる。A/D入力に入力された電圧と
A/D変換されたデジタル値の関係を図3に示す。今、
A/D入力電圧が0Vである場合にはA/D変換器で変
換されたA/D変換結果は0であり、A/D変換基準電
圧と同じ電圧が入力された場合のA/D変換結果は25
5になる。入力電圧が0VからA/D変換基準電圧の間
のA/D変換値はその間で256分割され、A/D入力
電圧に比例したA/D変換結果が得られる。
【0006】ここで、コンパクトカメラの通常使用条件
での手振れによる角速度の大きさは−20°/secか
ら+20°/sec程度の範囲になることが多い。今、
手振れ検出回路5は手振れによって生じた角速度を検出
する様な回路である場合に、手振れ検出回路5の出力を
−20°/secの角速度を与えた場合にその出力が0
V、静止時にA/D変換基準電圧の1/2の電圧、+2
0°/secの角速度を与えた場合にA/D変換基準電
圧になるような回路に設定し、通常の手振れによる角速
度範囲−20°/sec〜+20°/secに於いてA
/D変換できるような設定にしたとする。この場合に、
8ビット分解能のA/D変換値の量子化単位(1LS
B)に対する角速度は約0.156°/secに相当す
る。言い換えれば0.156°/sec以下の角速度を
8ビット分解能のA/D変換器では認識できない。つま
り、この認識できないことによりカメラの像面で認識で
きないことによる誤差は1秒間で0.156°の角度の
誤差を生ずる。今、焦点距離105mmの撮影レンズに
よりシャッタ秒時1/4秒で撮影すれば105mm×t
an(0.156°)×(1/4秒)≒71μmの誤差
が生ずる。ましてや、撮影レンズの焦点距離の長い場
合、或いは、秒時がこれ以上長い場合にはこれ以上の誤
差が生ずる。また、実際には手振れ検出回路5の出力は
個々でばらつきがあり、所定の角速度を与えても個々の
手振れ検出回路の出力値は一定値にならない。また、こ
うした手振れ検出回路5は角速度センサの出力を演算増
幅器等により増幅して出力する様な構成をとる場合が多
い。そうした場合は演算増幅器の特性からその出力の下
限は1V程度、上限は電源電圧−1V程度の範囲の出力
しか得られない場合が多い。以上の様な理由で、手振れ
検出回路5は手振れによる角速度の検出しようとする範
囲に対して大きく余裕をみた設計にする。例えば、手振
れ検出回路5の電源電圧を5V、A/D変換基準電圧を
5V、手振れ検出回路の出力範囲が1V〜4Vで静止時
2.5Vの出力が得られる時に、前述の様に−20°/
sec〜+20°/secの手振れによる角速度を検出
しようとした場合に、A/D変換器の1LSBに相当す
る角速度は約0.26°/secに相当する。その時の
焦点距離105mmの撮影レンズによりシャッタ秒時1
/4秒で撮影した場合の像面での誤差は約119μmに
も達する。通常、銀塩カメラに於いて手振れが無視でき
る写真を得るために必要な像面での手振れ量は、50μ
m程度と言われている。この誤差量はきわめて大きい。
での手振れによる角速度の大きさは−20°/secか
ら+20°/sec程度の範囲になることが多い。今、
手振れ検出回路5は手振れによって生じた角速度を検出
する様な回路である場合に、手振れ検出回路5の出力を
−20°/secの角速度を与えた場合にその出力が0
V、静止時にA/D変換基準電圧の1/2の電圧、+2
0°/secの角速度を与えた場合にA/D変換基準電
圧になるような回路に設定し、通常の手振れによる角速
度範囲−20°/sec〜+20°/secに於いてA
/D変換できるような設定にしたとする。この場合に、
8ビット分解能のA/D変換値の量子化単位(1LS
B)に対する角速度は約0.156°/secに相当す
る。言い換えれば0.156°/sec以下の角速度を
8ビット分解能のA/D変換器では認識できない。つま
り、この認識できないことによりカメラの像面で認識で
きないことによる誤差は1秒間で0.156°の角度の
誤差を生ずる。今、焦点距離105mmの撮影レンズに
よりシャッタ秒時1/4秒で撮影すれば105mm×t
an(0.156°)×(1/4秒)≒71μmの誤差
が生ずる。ましてや、撮影レンズの焦点距離の長い場
合、或いは、秒時がこれ以上長い場合にはこれ以上の誤
差が生ずる。また、実際には手振れ検出回路5の出力は
個々でばらつきがあり、所定の角速度を与えても個々の
手振れ検出回路の出力値は一定値にならない。また、こ
うした手振れ検出回路5は角速度センサの出力を演算増
幅器等により増幅して出力する様な構成をとる場合が多
い。そうした場合は演算増幅器の特性からその出力の下
限は1V程度、上限は電源電圧−1V程度の範囲の出力
しか得られない場合が多い。以上の様な理由で、手振れ
検出回路5は手振れによる角速度の検出しようとする範
囲に対して大きく余裕をみた設計にする。例えば、手振
れ検出回路5の電源電圧を5V、A/D変換基準電圧を
5V、手振れ検出回路の出力範囲が1V〜4Vで静止時
2.5Vの出力が得られる時に、前述の様に−20°/
sec〜+20°/secの手振れによる角速度を検出
しようとした場合に、A/D変換器の1LSBに相当す
る角速度は約0.26°/secに相当する。その時の
焦点距離105mmの撮影レンズによりシャッタ秒時1
/4秒で撮影した場合の像面での誤差は約119μmに
も達する。通常、銀塩カメラに於いて手振れが無視でき
る写真を得るために必要な像面での手振れ量は、50μ
m程度と言われている。この誤差量はきわめて大きい。
【0007】以上説明したA/D変換器の分解能に起因
する誤差を減少させるため、ビデオカメラの手振れ補正
システムに於いてマイコンの外部に10ビット分解能の
A/D変換器を設けた手振れ補正の検出システムが存在
する。しかし、外付けしたA/D変換器のために割高の
コストになってしまうという問題がある。また、A/D
変換器をワンチップマイクロコンピュータに内蔵した場
合に比較して、ワンチップマイクロコンピュータの処理
としては、外付けされたA/D変換器の制御、例えば、
A/D変換の開始、停止、或いは、A/D変換結果をA
/D変換器と通信によりワンチップマイクロコンピュー
タにデータ転送するプログラム等が別途必要になるとい
った問題もある。また、手振れ補正を行うためには前述
の様に手振れ検出回路5の出力をリアルタイムで検出
し、かつ、その検出した手振れ量に応じてリアルタイム
で補正レンズ8を制御する、或いは、シャッタ(不図
示)等の制御も1つのワンチップマイクロコンピュータ
で行う様な例ではこの制御処理も必要で、前述の外部A
/D変換器の制御により増加した処理により、これらの
制御を同時に行うことの可能な高性能なワンチップマイ
クロコンピュータはかなり高価なものになっていた。
する誤差を減少させるため、ビデオカメラの手振れ補正
システムに於いてマイコンの外部に10ビット分解能の
A/D変換器を設けた手振れ補正の検出システムが存在
する。しかし、外付けしたA/D変換器のために割高の
コストになってしまうという問題がある。また、A/D
変換器をワンチップマイクロコンピュータに内蔵した場
合に比較して、ワンチップマイクロコンピュータの処理
としては、外付けされたA/D変換器の制御、例えば、
A/D変換の開始、停止、或いは、A/D変換結果をA
/D変換器と通信によりワンチップマイクロコンピュー
タにデータ転送するプログラム等が別途必要になるとい
った問題もある。また、手振れ補正を行うためには前述
の様に手振れ検出回路5の出力をリアルタイムで検出
し、かつ、その検出した手振れ量に応じてリアルタイム
で補正レンズ8を制御する、或いは、シャッタ(不図
示)等の制御も1つのワンチップマイクロコンピュータ
で行う様な例ではこの制御処理も必要で、前述の外部A
/D変換器の制御により増加した処理により、これらの
制御を同時に行うことの可能な高性能なワンチップマイ
クロコンピュータはかなり高価なものになっていた。
【0008】また、手振れ検出回路5の出力をA/D変
換する場合に於いて、A/D変換開始からA/D変換が
終了してA/D変換結果レジスタに格納されるまでの時
間にかなりかかるA/D変換器がある。この時間は大き
いもので100μsec程度かかるものもある。こうし
た場合に、CPU1はこうした手振れ検出回路5の出力
からカメラに生じた手振れを検出する処理の他、補正レ
ンズ8をシフトさせ手振れの補正を行う手振れ補正処理
も同時に行う場合にはA/D変換が終了してからその他
の処理を行うのでは処理が追いつかない場合があり得
る。
換する場合に於いて、A/D変換開始からA/D変換が
終了してA/D変換結果レジスタに格納されるまでの時
間にかなりかかるA/D変換器がある。この時間は大き
いもので100μsec程度かかるものもある。こうし
た場合に、CPU1はこうした手振れ検出回路5の出力
からカメラに生じた手振れを検出する処理の他、補正レ
ンズ8をシフトさせ手振れの補正を行う手振れ補正処理
も同時に行う場合にはA/D変換が終了してからその他
の処理を行うのでは処理が追いつかない場合があり得
る。
【0009】もう一つの問題は、手振れ検出回路5の出
力には、カメラに生じた手振れ信号(通常は1Hz〜1
5Hz程度の周波数域)に手振れ検出回路5を構成する
角速度センサやその信号を増幅する増幅器等で発生した
高周波ノイズが上のせされた信号として出力される。こ
の高周波ノイズのために高分解能なA/D変換器を用い
たとしてもその性能を引き出せないと言う問題も生じ
る。
力には、カメラに生じた手振れ信号(通常は1Hz〜1
5Hz程度の周波数域)に手振れ検出回路5を構成する
角速度センサやその信号を増幅する増幅器等で発生した
高周波ノイズが上のせされた信号として出力される。こ
の高周波ノイズのために高分解能なA/D変換器を用い
たとしてもその性能を引き出せないと言う問題も生じ
る。
【0010】従来の手振れ補正システムのような振動検
出装置に於いては以上の様な問題があり、本発明は比較
的簡単な方法によりA/D変換器の分解能に起因する誤
差、或いは、手振れ検出回路で発生した高周波ノイズの
影響を抑え、振動検出精度とその処理効率を向上させ、
精度の良い振動検出を可能とし、かつ、コストアップを
極力さけることを目的としている。
出装置に於いては以上の様な問題があり、本発明は比較
的簡単な方法によりA/D変換器の分解能に起因する誤
差、或いは、手振れ検出回路で発生した高周波ノイズの
影響を抑え、振動検出精度とその処理効率を向上させ、
精度の良い振動検出を可能とし、かつ、コストアップを
極力さけることを目的としている。
【0011】
【課題を解決するための手段】上記目的を達成するため
に本発明は、以下の構成とした。カメラに生じた手振れ
を検出する手振れ検出装置と、ワンチップマイクロコン
ピュータとを有し、前記ワンチップマイクロコンピュー
タは、少なくとも10ビット以上の分解能のA/D変換
器を内蔵し、前記A/D変換器により前記手振れ検出装
置の出力をA/D変換する様にした。
に本発明は、以下の構成とした。カメラに生じた手振れ
を検出する手振れ検出装置と、ワンチップマイクロコン
ピュータとを有し、前記ワンチップマイクロコンピュー
タは、少なくとも10ビット以上の分解能のA/D変換
器を内蔵し、前記A/D変換器により前記手振れ検出装
置の出力をA/D変換する様にした。
【0012】
【作用】請求項1の発明によれば、振動の検出精度が向
上し、ワンチップマイクロコンピュータの外部に10ビ
ット以上の分解能のA/D変換器を付加させるより、コ
ストを安くでき、かつ、付加された外部A/D変換器の
制御、通信等の処理をしなくても済むようになる。
上し、ワンチップマイクロコンピュータの外部に10ビ
ット以上の分解能のA/D変換器を付加させるより、コ
ストを安くでき、かつ、付加された外部A/D変換器の
制御、通信等の処理をしなくても済むようになる。
【0013】また請求項3の発明では、その複数のA/
D変換結果の加算値、或いは、平均値を算出するように
すれば振動検出回路に乗じた高周波ノイズの影響をも抑
え、より振動検出精度が向上する。
D変換結果の加算値、或いは、平均値を算出するように
すれば振動検出回路に乗じた高周波ノイズの影響をも抑
え、より振動検出精度が向上する。
【0014】
【実施例】本発明における振動を検出する被検出体とし
て、カメラを用いた例を以下に示す。カメラに生じた振
動を検出し、その検出結果に応じて撮影光学系の光軸を
変化させることで、画像の振れを補正する手振れ補正機
能を備えたものである。本発明の実施例に関わる回路図
は従来技術に於ける回路構成と同じであり、図1で示さ
れる。従来技術との相違はCPU1に内蔵されたA/D
変換器の構成とCPU1の内部処理である。 1.A/D変換の量子化分解能を向上させる構成 (1)10ビット以上の分解能のA/D変換器をワンチ
ップマイクロコンピュータに内蔵する構成 本実施例では、CPU1の内部に図4、図5、図6で示
すように、10ビット分解能のA/D変換器を内蔵さ
せ、これにより手振れ検出回路5の出力をA/D変換す
る構成にしている。
て、カメラを用いた例を以下に示す。カメラに生じた振
動を検出し、その検出結果に応じて撮影光学系の光軸を
変化させることで、画像の振れを補正する手振れ補正機
能を備えたものである。本発明の実施例に関わる回路図
は従来技術に於ける回路構成と同じであり、図1で示さ
れる。従来技術との相違はCPU1に内蔵されたA/D
変換器の構成とCPU1の内部処理である。 1.A/D変換の量子化分解能を向上させる構成 (1)10ビット以上の分解能のA/D変換器をワンチ
ップマイクロコンピュータに内蔵する構成 本実施例では、CPU1の内部に図4、図5、図6で示
すように、10ビット分解能のA/D変換器を内蔵さ
せ、これにより手振れ検出回路5の出力をA/D変換す
る構成にしている。
【0015】前述の従来技術のように、CPU1に内蔵
されたA/D変換器の分解能が8ビットの場合は、A/
D変換器の1LSBに相当する角速度は約0.26°/
secに相当していた。その時、焦点距離105mmの
撮影レンズにより、シャッタ秒時1/4秒で撮影した場
合の像面での誤差は約119μmにも達した。ここで、
A/D変換器の分解能を8ビットから10ビットに向上
させたことにより、従来、A/D入力が0VからA/D
変換基準電圧の間で256分割されていたものが、10
24分割に細分化され、4倍の分解能を確保することが
可能になる。このことにより、A/D変換器の1LSB
に相当する角速度は約0.065°/sec、焦点距離
105mmの撮影レンズによりシャッタ秒時1/4秒で
撮影した場合の像面での誤差は約30μmに減少させる
ことが可能となり、手振れの検出として十分使用に耐え
られる精度を得ることができる。また、CPU1の外部
に10ビット分解能のA/D変換器を設ける場合に比
べ、本実施例の様にワンチップマイクロコンピュータ内
部に10ビット分解能のA/D変換器を内蔵させた方
が、はるかに安価に手振れ補正システムを構成できる。
加えて、外部にA/D変換器を設けることによるワンチ
ップマイクロコンピュータの処理の増加を防ぐことがで
きる。例えば、外付けのA/D変換器の制御、或いは、
A/D変換結果をA/D変換器と通信してワンチップマ
イクロコンピュータにデータ転送するためのプログラム
等が必要なくなる。また、図2で示された従来例による
8ビット分解能のA/D変換器に比較して、10ビット
分解能のA/D変換器を内蔵した場合に、A/D変換結
果レジスタ値が8ビットデータから10ビットデータに
変わる他は内蔵されたA/D変換器の制御、たとえば、
A/D変換の開始、停止等の制御に何等変わりない。本
実施例では10ビット分解能のA/D変換器を内蔵する
例を説明したが、A/D変換器の分解能は10ビットに
限定されるものではなく、例えば、12ビット、14ビ
ット、或いは、16ビット以上のA/D変換器を内蔵す
ればより精度の良い手振れの検出を行うことが可能とな
り、より高精度な手振れ補正システムを構成できること
は言うまでもない。 2.A/D変換を複数行う処理 次に、手振れ検出回路5の出力に乗った高周波ノイズの
除去処理について説明する。図2に於いて、手振れ検出
回路5の出力はCPU1に内蔵されたA/D変換器(8
ビット分解能)のA/D入力に入力される。その入力波
形の様子を図21に示す。図21の例では、高周波ノイ
ズが手振れ波形に上乗せされ、A/D変換値は55から
61の間でばらついた値になる。そこで、本実施例で
は、図21に示す様に所定サンプリング間隔で、この例
では1ms間隔でA/D変換を4回づつ行い、その4回
のA/D変換値の和をとることにより、この手振れ波形
に乗った高周波ノイズの影響を極力さける様にしてい
る。次に、図7を用いて、手振れ検出回路5の出力に乗
った、高周波ノイズの除去の処理について説明する。図
7のフローに示されたタイマ割り込み処理は所定時間
毎、本実施例では、1ms間隔毎に行われる処理であ
る。S700からその処理は開始され、S701でA/
D変換の回数としてのCNTをクリアし、S702でA
/D変換結果の和としてのSUMをクリアし、S703
へ進む。S703でA/D変換器を動作させてA/D変
換を開始させ、S704においてS703で開始したA
/D変換が終了するのを待つ。S704でA/D変換が
終了したと判断したら、S705でA/D変換結果レジ
スタに格納されているA/D変換結果とSUMとを加算
し、新たにSUMに代入し、S706へ進む。S706
でCNTに1加算してCNTに入れ、S707でCNT
が4であるか、つまり、A/D変換が4回行われ、4回
のA/D変換結果の和が算出されたかの判定を行い、ま
だ4回A/D変換が行われていなかったらS703へ戻
る。S707で4回A/D変換が行われたと判断したら
S708で本タイマ割り込み処理を終了する。図21で
このA/D変換のタイミングの様子を説明すると、タイ
ミングt0に於いて第1回目のA/Dが行われ、以下同
様にタイミングt1で第2回目、タイミングt2で第3
回目、タイミングt3で第4回目のA/D変換が行われ
ている。このことにより図中・印で示された各A/D変
換値にはばらつきがあるものの、その和を求めるとこで
そのばらつきを抑えている。本タイマ割り込み処理によ
り得られたSUM値に応じて、補正レンズ8をシフトす
ることにより、手振れ検出回路5に乗じた高周波ノイズ
の影響を抑えて手振れ補正が可能となる。
されたA/D変換器の分解能が8ビットの場合は、A/
D変換器の1LSBに相当する角速度は約0.26°/
secに相当していた。その時、焦点距離105mmの
撮影レンズにより、シャッタ秒時1/4秒で撮影した場
合の像面での誤差は約119μmにも達した。ここで、
A/D変換器の分解能を8ビットから10ビットに向上
させたことにより、従来、A/D入力が0VからA/D
変換基準電圧の間で256分割されていたものが、10
24分割に細分化され、4倍の分解能を確保することが
可能になる。このことにより、A/D変換器の1LSB
に相当する角速度は約0.065°/sec、焦点距離
105mmの撮影レンズによりシャッタ秒時1/4秒で
撮影した場合の像面での誤差は約30μmに減少させる
ことが可能となり、手振れの検出として十分使用に耐え
られる精度を得ることができる。また、CPU1の外部
に10ビット分解能のA/D変換器を設ける場合に比
べ、本実施例の様にワンチップマイクロコンピュータ内
部に10ビット分解能のA/D変換器を内蔵させた方
が、はるかに安価に手振れ補正システムを構成できる。
加えて、外部にA/D変換器を設けることによるワンチ
ップマイクロコンピュータの処理の増加を防ぐことがで
きる。例えば、外付けのA/D変換器の制御、或いは、
A/D変換結果をA/D変換器と通信してワンチップマ
イクロコンピュータにデータ転送するためのプログラム
等が必要なくなる。また、図2で示された従来例による
8ビット分解能のA/D変換器に比較して、10ビット
分解能のA/D変換器を内蔵した場合に、A/D変換結
果レジスタ値が8ビットデータから10ビットデータに
変わる他は内蔵されたA/D変換器の制御、たとえば、
A/D変換の開始、停止等の制御に何等変わりない。本
実施例では10ビット分解能のA/D変換器を内蔵する
例を説明したが、A/D変換器の分解能は10ビットに
限定されるものではなく、例えば、12ビット、14ビ
ット、或いは、16ビット以上のA/D変換器を内蔵す
ればより精度の良い手振れの検出を行うことが可能とな
り、より高精度な手振れ補正システムを構成できること
は言うまでもない。 2.A/D変換を複数行う処理 次に、手振れ検出回路5の出力に乗った高周波ノイズの
除去処理について説明する。図2に於いて、手振れ検出
回路5の出力はCPU1に内蔵されたA/D変換器(8
ビット分解能)のA/D入力に入力される。その入力波
形の様子を図21に示す。図21の例では、高周波ノイ
ズが手振れ波形に上乗せされ、A/D変換値は55から
61の間でばらついた値になる。そこで、本実施例で
は、図21に示す様に所定サンプリング間隔で、この例
では1ms間隔でA/D変換を4回づつ行い、その4回
のA/D変換値の和をとることにより、この手振れ波形
に乗った高周波ノイズの影響を極力さける様にしてい
る。次に、図7を用いて、手振れ検出回路5の出力に乗
った、高周波ノイズの除去の処理について説明する。図
7のフローに示されたタイマ割り込み処理は所定時間
毎、本実施例では、1ms間隔毎に行われる処理であ
る。S700からその処理は開始され、S701でA/
D変換の回数としてのCNTをクリアし、S702でA
/D変換結果の和としてのSUMをクリアし、S703
へ進む。S703でA/D変換器を動作させてA/D変
換を開始させ、S704においてS703で開始したA
/D変換が終了するのを待つ。S704でA/D変換が
終了したと判断したら、S705でA/D変換結果レジ
スタに格納されているA/D変換結果とSUMとを加算
し、新たにSUMに代入し、S706へ進む。S706
でCNTに1加算してCNTに入れ、S707でCNT
が4であるか、つまり、A/D変換が4回行われ、4回
のA/D変換結果の和が算出されたかの判定を行い、ま
だ4回A/D変換が行われていなかったらS703へ戻
る。S707で4回A/D変換が行われたと判断したら
S708で本タイマ割り込み処理を終了する。図21で
このA/D変換のタイミングの様子を説明すると、タイ
ミングt0に於いて第1回目のA/Dが行われ、以下同
様にタイミングt1で第2回目、タイミングt2で第3
回目、タイミングt3で第4回目のA/D変換が行われ
ている。このことにより図中・印で示された各A/D変
換値にはばらつきがあるものの、その和を求めるとこで
そのばらつきを抑えている。本タイマ割り込み処理によ
り得られたSUM値に応じて、補正レンズ8をシフトす
ることにより、手振れ検出回路5に乗じた高周波ノイズ
の影響を抑えて手振れ補正が可能となる。
【0016】本実施例では、4回のA/D変換結果の和
をとることで高周波ノイズの影響を抑える様にしている
が、回数はこれに限定されるものではない。また、A/
D変換結果の和をA/D変換の回数で割って、A/D変
換結果の平均値を求める様にしても構わない。また、C
PU1に内蔵されたA/D変換器の分解能は8ビットに
限定されるものではなく、10ビット分解能以上のA/
D変換器を用いても構わない。 3.A/D変換の処理の効率向上処理 以上、手振れ検出回路5の出力に乗った高周波ノイズの
除去処理について説明したが、実際には、A/D変換開
始からA/D変換終了によりA/D変換結果レジスタに
格納されるまで、つまり、図7のS703からS705
まではかなりの時間がかかる。この時間として10μs
ec〜100μsec程度かかるものがある。こうした
場合に、4回程度のA/D変換を行った場合に、その他
S705、S706、S707等の処理も含めると数1
00μsec 程度の処理時間に及ぶ場合がある。CPU
1は、この手振れ検出回路5の出力からカメラに生じた
手振れを検出する処理の他、補正レンズ8をシフトさせ
手振れの補正を行う手振れ補正処理も同時に行う場合に
はCPU1の処理が追いつかない場合があり得る。そこ
で、本発明では以下の処理でA/D変換を行う処理時間
の軽減を行っている。 (1)複数のA/D変換結果バッファを内蔵する処理 図4を用いて処理時間の軽減する第1の例を説明する。
CPU1に内蔵されたA/D変換器は、A/D変換部と
その結果を格納するためのA/D変換結果バッファ0、
A/D変換結果バッファ1、A/D変換結果バッファ
2、A/D変換結果バッファ3とで構成される。まず、
CPU1のプログラムによりA/D変換を開始し、A/
D変換が終了するとA/D変換部からそのA/D変換結
果がA/D変換結果バッファ0に格納される。このタイ
ミングでA/D変換結果バッファ0に今まで格納されて
いた値はA/D変換結果バッファ1へ、A/D変換結果
バッファ1に今まで格納されていた値はA/D変換結果
バッファ2へ、A/D変換結果バッファ2に今まで格納
されていた値はA/D変換結果バッファ3へ順次転送さ
れる。このようなA/D変換器をCPU1の内部に構成
しておき、以下の処理を行うことで、A/D変換を複数
回行うことにより問題となる処理時間の増加を極力さけ
る様にしている。 (1−1)第1の処理 まず、その第1の処理を、図8を用いて説明すると、タ
イミングtaに於いてA/D変換を開始し、A/D変換
が4回行われて、4回のA/D変換結果がA/D変換結
果バッファ0、1、2、3のすべてに格納されたタイミ
ングでA/D変換終了割り込みを発生させ、そのA/D
変換終了割り込みの処理により、A/D変換結果バッフ
ァ0、1、2、3の内容を読み出し、和をとることで行
う。尚、この場合、図4で示されたA/D変換器は、C
PU1のプログラムによりA/D変換を開始し、A/D
変換が終了するとA/D変換部からそのA/D変換結果
がA/D変換結果バッファ0に格納される。このタイミ
ングでA/D変換結果バッファ0に今まで格納されてい
た値はA/D変換結果バッファ1へ、A/D変換結果バ
ッファ1に今まで格納されていた値はA/D変換結果バ
ッファ2へ、A/D変換結果バッファ2に今まで格納さ
れていた値はA/D変換結果バッファ3へ順次転送され
る。この様に4回A/D変換を連続して行い、すべての
A/D変換結果バッファにA/D変換結果格納された時
点でA/D変換終了割り込み処理起動される様に構成し
ておく。次に、図9を用いてA/D変換の開始を所定時
間毎に行う処理を説明する。図9のタイマ割り込み処理
は、所定時間毎に繰り返し行われる処理で、例えば1m
s間隔で本タイマ割り込み処理が起動される。処理はS
900から始まり、S901でA/D変換器の動作を開
始させ、S902で本タイマ割り込みを終了する。この
処理により所定時間毎にA/D変換を繰り返し行うこと
が可能となる。次に、図10は図9のS901でA/D
変換を開始し、4回のA/D変換が終了したことにより
起動されるA/D変換終了割り込み処理であり、図8の
タイミングtbで処理が開始される。まずS1000か
らその処理が開始され、S1001でA/D変換結果バ
ッファ0、A/D変換結果バッファ1、A/D変換結果
バッファ2、A/D変換結果バッファ3の値を読み込
み、その和をとりSUMに入れ、S1002で本A/D
変換終了割り込み処理を終了する。以上の様にすれば、
図7で示される処理より簡単で、かつ、処理に費やす時
間を短縮することが可能となる。 (1−2)第2の処理 次に、第2の処理を、図16を用いて説明する。タイミ
ングtcに於いてA/D変換を開始し、A/D変換が4
回行われて、4回のA/D変換結果がA/D変換結果バ
ッファ0、1、2、3へすべてに格納されるまでの時間
以上を確保した所定時間後(タイミングtd)に、A/
D変換結果バッファ0、1、2、3の内容を読み込む処
理である。尚、A/D変換器の構成は第1の処理と同一
であり、第2の処理の違いは、第1の処理が4回のA/
D変換終了によって起動されるA/D変換終了割り込み
によってA/D変換値の読み込みを行うのに対して、本
第2の処理はA/D変換終了割り込みの起動の機能を必
要としない点である。次に、図17、図18を用いて第
2の処理を説明する。図17で示されるタイマ割り込み
1処理は所定時間毎に繰り返し行われる処理で、例えば
1ms間隔で本タイマ割り込み1処理が起動される。ま
た、図18で示されるタイマ割り込み2処理は、タイマ
割り込み1処理の所定時間(少なくとも4回のA/D変
換が終了するまでの時間以上)後に起動されるタイマ割
り込み処理である。図17のタイマ割り込み1処理はS
1700から始まり、S1701でA/D変換器の動作
を開始させ、S1702で本タイマ割り込み1処理を終
了する。この処理により所定時間毎にA/D変換を繰り
返し行うことが可能となる。尚、本タイマ割り込み1処
理が起動されるタイミングは図16で示すとtcに相当
する。次に、図18で示されるタイマ割り込み2処理は
S1800からその処理が開始され、S1801でA/
D変換結果バッファ0、A/D変換結果バッファ1、A
/D変換結果バッファ2、A/D変換結果バッファ3の
値を読み込み、その和をとりSUMに入れ、S1802
で本タイマ割り込み2処理を終了する。以上の様にすれ
ば、図7で示される処理より簡単で、かつ、処理に費や
す時間を短縮することが可能となる。 (1−3)第3の処理 次に、第3の処理を説明する。第3の処理はA/D変換
を1度開始させ、その後はA/D変換は停止させるまで
連続的に動作させる処理である。この場合、図4で示さ
れたA/D変換器は、CPU1のプログラムにより所定
タイミングからA/D変換を開始すると、A/D変換を
連続して行い、A/D変換が終了する毎にそのA/D変
換結果がA/D変換結果バッファ0に転送され、そのタ
イミングでA/D変換結果バッファ0の値はA/D変換
結果バッファ1に転送され、そのタイミングでA/D変
換結果バッファ1の値はA/D変換結果バッファ2に転
送され、そのタイミングでA/D変換結果バッファ2の
値はA/D変換結果バッファ2に転送されという具合
に、順次A/D変換結果が転送される。また、A/D変
換は1回のA/D変換が終了すると次のA/D変換が開
始され、これを繰り返すため、A/D変換結果バッファ
0、1、2、3の値は常に最新の4回のA/D変換値が
格納されることになる。そして、任意のタイミングでこ
の格納されたA/D変換結果バッファの内容を読み込む
ことで手振れ量を検出する様にする。この処理の様子を
図13のフローを用いて説明する。図13のタイマ割り
込み処理は、所定時間毎に繰り返し行われる処理で、例
えば1ms間隔で本タイマ割り込み処理が起動される。
処理はS1300から始まり、S1301でA/D変換
結果バッファ0、A/D変換結果バッファ1、A/D変
換結果バッファ2、A/D変換結果バッファ3の値を読
み込み、その和をとりSUMに入れ、S1302で本タ
イマ割り込み処理を終了する。尚、A/D変換は本タイ
マ割り込み処理が起動される前に開始させておくことと
する。以上の様にすれば、図7で示される処理、或い
は、図9、図10で示される処理、或いは、図17、図
18で示される処理より簡単で、かつ、処理に費やす時
間を短縮することが可能となる。 (2)複数のA/D入力とそのA/D入力に対応したA
/D変換結果レジスタを内部に内蔵し、手振れ検出回路
の出力を前記複数のA/D入力に接続する処理 次の例は、複数のA/D入力とそのA/D入力に対応し
たA/D変換結果レジスタとを内部に内蔵したワンチッ
プマイクロコンピュータを使用し、手振れ検出回路5の
出力を前記複数のA/D入力に接続する処理である。図
5を用いてその例を説明する。CPU1に内蔵されたA
/D変換器にはそのA/D入力が4つ存在し、それぞれ
をch0、ch1、ch2、ch3とする。入力ch0
のA/D変換結果はA/D変換結果レジスタ0に、入力
ch1のA/D変換結果はA/D変換結果レジスタ1
に、入力ch2のA/D変換結果はA/D変換結果レジ
スタ2に、入力ch3のA/D変換結果はA/D変換結
果レジスタ3にそれぞれ格納される様に構成する。ま
た、4つのA/D入力はすべて手振れ検出回路5の出力
に接続されている。この様にしておいて以下の処理を行
うことでA/D変換を複数回行うことで問題になる処理
時間の増加を極力さける様にしている。 (2−1)第1の処理 まず、その第1の処理を、図8を用いて説明すると、タ
イミングtaに於いてA/D変換を開始し、A/D変換
が4回行われて、4回のA/D変換結果がA/D変換結
果レジスタ0、1、2、3へすべてに格納されたタイミ
ングでA/D変換終了割り込みを発生させ、そのA/D
変換終了割り込みの処理により、A/D変換結果レジス
タ0、1、2、3の内容を読み出し、和をとることで行
う。尚、この場合、図5で示されたA/D変換器は、C
PU1のプログラムによりA/D変換を開始し、まずc
h0の入力をA/D変換してその結果をA/D変換結果
レジスタ0に格納、これに引き継いでch1の入力をA
/D変換してA/D変換結果レジスタ1に格納、これに
引き継いでch2の入力をA/D変換してA/D変換結
果レジスタ2に格納、これに引き継いでch3の入力を
A/D変換してA/D変換結果レジスタ3に格納され
る。A/D変換結果レジスタ3にA/D変換結果が格納
されると、A/D変換終了割り込み処理起動される様に
構成しておく。次に、図9を用いてA/D変換の開始を
所定時間毎に行う処理を説明する。図9のタイマ割り込
み処理は、所定時間毎に繰り返し行われる処理で、例え
ば1ms間隔で本タイマ割り込み処理が起動される。処
理はS900から始まり、S901でA/D変換器の動
作を開始させ、S902で本タイマ割り込みを終了す
る。この処理により所定時間毎にA/D変換を繰り返し
行うことが可能となる。次に、図11は図9のS901
でA/D変換を開始し、4回のA/D変換が終了したこ
とにより起動されるA/D変換終了割り込み処理であ
り、図8のタイミングtbで処理が開始される。まずS
1100からその処理が開始され、S1101でA/D
変換結果レジスタ0、A/D変換結果レジスタ1、A/
D変換結果レジスタ2、A/D変換結果レジスタ3の値
を読み込み、その和をとりSUMに入れ、S1102で
本A/D変換終了割り込み処理を終了する。以上の様に
すれば、図7で示される処理より簡単で、かつ、処理に
費やす時間を短縮することが可能となる。 (2−2)第2の処理 次に、第2の処理を、図16を用いて説明すると、タイ
ミングtcに於いてA/D変換を開始し、A/D変換が
4回行われて、4回のA/D変換結果がA/D変換結果
レジスタ0、1、2、3へすべてに格納されるまでの時
間以上を確保した所定時間後(タイミングtd)にA/
D変換結果レジスタ0、1、2、3の内容を読み込む処
理である。尚、A/D変換器の構成は第1の処理と同一
であり、第2の処理の違いは、第1の処理が4回のA/
D変換終了によって起動されるA/D変換終了割り込み
によってA/D変換値の読み込みを行うのに対して、本
第2の処理はA/D変換終了割り込みの起動の機能を必
要としない点である。次に、図17、図19を用いて第
2の処理を説明する。図17で示されるタイマ割り込み
1処理は所定時間毎に繰り返し行われる処理で、例えば
1ms間隔で本タイマ割り込み1処理が起動される。ま
た、図19で示されるタイマ割り込み2処理は、タイマ
割り込み1処理の所定時間(少なくとも4回のA/D変
換が終了するまでの時間以上)後に起動されるタイマ割
り込み処理である。図17のタイマ割り込み1処理はS
1700から始まり、S1701でA/D変換器の動作
を開始させ、S1702で本タイマ割り込み1処理を終
了する。この処理により所定時間毎にA/D変換を繰り
返し行うことが可能となる。尚、本タイマ割り込み1処
理が起動されるタイミングは図16で示すとtcに相当
する。次に、図19で示されるタイマ割り込み2処理は
S1900からその処理が開始され、S1901でA/
D変換結果レジスタ0、A/D変換結果レジスタ1、A
/D変換結果レジスタ2、A/D変換結果レジスタ3の
値を読み込み、その和をとりSUMに入れ、S1902
で本タイマ割り込み2処理を終了する。以上の様にすれ
ば、図7で示される処理より簡単で、かつ、処理に費や
す時間を短縮することが可能となる。 (2−3)第3の処理 次に、第3の処理を説明する。第3の処理はA/D変換
を1度開始させ、その後はA/D変換は停止させるまで
連続的に動作させる処理である。この場合、図5で示さ
れたA/D変換器は、CPU1のプログラムにより所定
タイミングからA/D変換を開始すると、A/D変換を
連続して行い、まずch0の入力をA/D変換してその
結果をA/D変換結果レジスタ0に格納、これに引き継
いでch1の入力をA/D変換してA/D変換結果レジ
スタ1に格納、これに引き継いでch2の入力をA/D
変換してA/D変換結果レジスタ2に格納、これに引き
継いでch3の入力をA/D変換してA/D変換結果レ
ジスタ3に格納し、ch3のA/D変換が終了するとc
h0のA/D変換に戻り、同様のことを繰り返し連続的
の行うように構成しておく。ことことにより、A/D変
換結果レジスタ0、1、2、3の値は何時も最新の4回
のA/D変換値が格納されることになる。そして、任意
のタイミングでこの格納されたA/D変換結果レジスタ
の内容を読み込むことで手振れ量を検出できるようにす
る。この処理の様子を図14のフローを用いて説明す
る。図14のタイマ割り込み処理は、所定時間毎に繰り
返し行われる処理で、例えば1ms間隔で本タイマ割り
込み処理が起動される。処理はS1400から始まり、
S1401でA/D変換結果レジスタ0、A/D変換結
果レジスタ1、A/D変換結果レジスタ2、A/D変換
結果レジスタ3の値を読み込み、その和をとりSUMに
入れ、S1402で本タイマ割り込み処理を終了する。
尚、A/D変換は本タイマ割り込み処理が起動される前
に開始させておくこととする。以上の様にすれば、図7
で示される処理、或いは、図9、図11で示される処
理、或いは、図17、図19で示される処理より簡単
で、かつ、処理に費やす時間を短縮することが可能とな
る。
をとることで高周波ノイズの影響を抑える様にしている
が、回数はこれに限定されるものではない。また、A/
D変換結果の和をA/D変換の回数で割って、A/D変
換結果の平均値を求める様にしても構わない。また、C
PU1に内蔵されたA/D変換器の分解能は8ビットに
限定されるものではなく、10ビット分解能以上のA/
D変換器を用いても構わない。 3.A/D変換の処理の効率向上処理 以上、手振れ検出回路5の出力に乗った高周波ノイズの
除去処理について説明したが、実際には、A/D変換開
始からA/D変換終了によりA/D変換結果レジスタに
格納されるまで、つまり、図7のS703からS705
まではかなりの時間がかかる。この時間として10μs
ec〜100μsec程度かかるものがある。こうした
場合に、4回程度のA/D変換を行った場合に、その他
S705、S706、S707等の処理も含めると数1
00μsec 程度の処理時間に及ぶ場合がある。CPU
1は、この手振れ検出回路5の出力からカメラに生じた
手振れを検出する処理の他、補正レンズ8をシフトさせ
手振れの補正を行う手振れ補正処理も同時に行う場合に
はCPU1の処理が追いつかない場合があり得る。そこ
で、本発明では以下の処理でA/D変換を行う処理時間
の軽減を行っている。 (1)複数のA/D変換結果バッファを内蔵する処理 図4を用いて処理時間の軽減する第1の例を説明する。
CPU1に内蔵されたA/D変換器は、A/D変換部と
その結果を格納するためのA/D変換結果バッファ0、
A/D変換結果バッファ1、A/D変換結果バッファ
2、A/D変換結果バッファ3とで構成される。まず、
CPU1のプログラムによりA/D変換を開始し、A/
D変換が終了するとA/D変換部からそのA/D変換結
果がA/D変換結果バッファ0に格納される。このタイ
ミングでA/D変換結果バッファ0に今まで格納されて
いた値はA/D変換結果バッファ1へ、A/D変換結果
バッファ1に今まで格納されていた値はA/D変換結果
バッファ2へ、A/D変換結果バッファ2に今まで格納
されていた値はA/D変換結果バッファ3へ順次転送さ
れる。このようなA/D変換器をCPU1の内部に構成
しておき、以下の処理を行うことで、A/D変換を複数
回行うことにより問題となる処理時間の増加を極力さけ
る様にしている。 (1−1)第1の処理 まず、その第1の処理を、図8を用いて説明すると、タ
イミングtaに於いてA/D変換を開始し、A/D変換
が4回行われて、4回のA/D変換結果がA/D変換結
果バッファ0、1、2、3のすべてに格納されたタイミ
ングでA/D変換終了割り込みを発生させ、そのA/D
変換終了割り込みの処理により、A/D変換結果バッフ
ァ0、1、2、3の内容を読み出し、和をとることで行
う。尚、この場合、図4で示されたA/D変換器は、C
PU1のプログラムによりA/D変換を開始し、A/D
変換が終了するとA/D変換部からそのA/D変換結果
がA/D変換結果バッファ0に格納される。このタイミ
ングでA/D変換結果バッファ0に今まで格納されてい
た値はA/D変換結果バッファ1へ、A/D変換結果バ
ッファ1に今まで格納されていた値はA/D変換結果バ
ッファ2へ、A/D変換結果バッファ2に今まで格納さ
れていた値はA/D変換結果バッファ3へ順次転送され
る。この様に4回A/D変換を連続して行い、すべての
A/D変換結果バッファにA/D変換結果格納された時
点でA/D変換終了割り込み処理起動される様に構成し
ておく。次に、図9を用いてA/D変換の開始を所定時
間毎に行う処理を説明する。図9のタイマ割り込み処理
は、所定時間毎に繰り返し行われる処理で、例えば1m
s間隔で本タイマ割り込み処理が起動される。処理はS
900から始まり、S901でA/D変換器の動作を開
始させ、S902で本タイマ割り込みを終了する。この
処理により所定時間毎にA/D変換を繰り返し行うこと
が可能となる。次に、図10は図9のS901でA/D
変換を開始し、4回のA/D変換が終了したことにより
起動されるA/D変換終了割り込み処理であり、図8の
タイミングtbで処理が開始される。まずS1000か
らその処理が開始され、S1001でA/D変換結果バ
ッファ0、A/D変換結果バッファ1、A/D変換結果
バッファ2、A/D変換結果バッファ3の値を読み込
み、その和をとりSUMに入れ、S1002で本A/D
変換終了割り込み処理を終了する。以上の様にすれば、
図7で示される処理より簡単で、かつ、処理に費やす時
間を短縮することが可能となる。 (1−2)第2の処理 次に、第2の処理を、図16を用いて説明する。タイミ
ングtcに於いてA/D変換を開始し、A/D変換が4
回行われて、4回のA/D変換結果がA/D変換結果バ
ッファ0、1、2、3へすべてに格納されるまでの時間
以上を確保した所定時間後(タイミングtd)に、A/
D変換結果バッファ0、1、2、3の内容を読み込む処
理である。尚、A/D変換器の構成は第1の処理と同一
であり、第2の処理の違いは、第1の処理が4回のA/
D変換終了によって起動されるA/D変換終了割り込み
によってA/D変換値の読み込みを行うのに対して、本
第2の処理はA/D変換終了割り込みの起動の機能を必
要としない点である。次に、図17、図18を用いて第
2の処理を説明する。図17で示されるタイマ割り込み
1処理は所定時間毎に繰り返し行われる処理で、例えば
1ms間隔で本タイマ割り込み1処理が起動される。ま
た、図18で示されるタイマ割り込み2処理は、タイマ
割り込み1処理の所定時間(少なくとも4回のA/D変
換が終了するまでの時間以上)後に起動されるタイマ割
り込み処理である。図17のタイマ割り込み1処理はS
1700から始まり、S1701でA/D変換器の動作
を開始させ、S1702で本タイマ割り込み1処理を終
了する。この処理により所定時間毎にA/D変換を繰り
返し行うことが可能となる。尚、本タイマ割り込み1処
理が起動されるタイミングは図16で示すとtcに相当
する。次に、図18で示されるタイマ割り込み2処理は
S1800からその処理が開始され、S1801でA/
D変換結果バッファ0、A/D変換結果バッファ1、A
/D変換結果バッファ2、A/D変換結果バッファ3の
値を読み込み、その和をとりSUMに入れ、S1802
で本タイマ割り込み2処理を終了する。以上の様にすれ
ば、図7で示される処理より簡単で、かつ、処理に費や
す時間を短縮することが可能となる。 (1−3)第3の処理 次に、第3の処理を説明する。第3の処理はA/D変換
を1度開始させ、その後はA/D変換は停止させるまで
連続的に動作させる処理である。この場合、図4で示さ
れたA/D変換器は、CPU1のプログラムにより所定
タイミングからA/D変換を開始すると、A/D変換を
連続して行い、A/D変換が終了する毎にそのA/D変
換結果がA/D変換結果バッファ0に転送され、そのタ
イミングでA/D変換結果バッファ0の値はA/D変換
結果バッファ1に転送され、そのタイミングでA/D変
換結果バッファ1の値はA/D変換結果バッファ2に転
送され、そのタイミングでA/D変換結果バッファ2の
値はA/D変換結果バッファ2に転送されという具合
に、順次A/D変換結果が転送される。また、A/D変
換は1回のA/D変換が終了すると次のA/D変換が開
始され、これを繰り返すため、A/D変換結果バッファ
0、1、2、3の値は常に最新の4回のA/D変換値が
格納されることになる。そして、任意のタイミングでこ
の格納されたA/D変換結果バッファの内容を読み込む
ことで手振れ量を検出する様にする。この処理の様子を
図13のフローを用いて説明する。図13のタイマ割り
込み処理は、所定時間毎に繰り返し行われる処理で、例
えば1ms間隔で本タイマ割り込み処理が起動される。
処理はS1300から始まり、S1301でA/D変換
結果バッファ0、A/D変換結果バッファ1、A/D変
換結果バッファ2、A/D変換結果バッファ3の値を読
み込み、その和をとりSUMに入れ、S1302で本タ
イマ割り込み処理を終了する。尚、A/D変換は本タイ
マ割り込み処理が起動される前に開始させておくことと
する。以上の様にすれば、図7で示される処理、或い
は、図9、図10で示される処理、或いは、図17、図
18で示される処理より簡単で、かつ、処理に費やす時
間を短縮することが可能となる。 (2)複数のA/D入力とそのA/D入力に対応したA
/D変換結果レジスタを内部に内蔵し、手振れ検出回路
の出力を前記複数のA/D入力に接続する処理 次の例は、複数のA/D入力とそのA/D入力に対応し
たA/D変換結果レジスタとを内部に内蔵したワンチッ
プマイクロコンピュータを使用し、手振れ検出回路5の
出力を前記複数のA/D入力に接続する処理である。図
5を用いてその例を説明する。CPU1に内蔵されたA
/D変換器にはそのA/D入力が4つ存在し、それぞれ
をch0、ch1、ch2、ch3とする。入力ch0
のA/D変換結果はA/D変換結果レジスタ0に、入力
ch1のA/D変換結果はA/D変換結果レジスタ1
に、入力ch2のA/D変換結果はA/D変換結果レジ
スタ2に、入力ch3のA/D変換結果はA/D変換結
果レジスタ3にそれぞれ格納される様に構成する。ま
た、4つのA/D入力はすべて手振れ検出回路5の出力
に接続されている。この様にしておいて以下の処理を行
うことでA/D変換を複数回行うことで問題になる処理
時間の増加を極力さける様にしている。 (2−1)第1の処理 まず、その第1の処理を、図8を用いて説明すると、タ
イミングtaに於いてA/D変換を開始し、A/D変換
が4回行われて、4回のA/D変換結果がA/D変換結
果レジスタ0、1、2、3へすべてに格納されたタイミ
ングでA/D変換終了割り込みを発生させ、そのA/D
変換終了割り込みの処理により、A/D変換結果レジス
タ0、1、2、3の内容を読み出し、和をとることで行
う。尚、この場合、図5で示されたA/D変換器は、C
PU1のプログラムによりA/D変換を開始し、まずc
h0の入力をA/D変換してその結果をA/D変換結果
レジスタ0に格納、これに引き継いでch1の入力をA
/D変換してA/D変換結果レジスタ1に格納、これに
引き継いでch2の入力をA/D変換してA/D変換結
果レジスタ2に格納、これに引き継いでch3の入力を
A/D変換してA/D変換結果レジスタ3に格納され
る。A/D変換結果レジスタ3にA/D変換結果が格納
されると、A/D変換終了割り込み処理起動される様に
構成しておく。次に、図9を用いてA/D変換の開始を
所定時間毎に行う処理を説明する。図9のタイマ割り込
み処理は、所定時間毎に繰り返し行われる処理で、例え
ば1ms間隔で本タイマ割り込み処理が起動される。処
理はS900から始まり、S901でA/D変換器の動
作を開始させ、S902で本タイマ割り込みを終了す
る。この処理により所定時間毎にA/D変換を繰り返し
行うことが可能となる。次に、図11は図9のS901
でA/D変換を開始し、4回のA/D変換が終了したこ
とにより起動されるA/D変換終了割り込み処理であ
り、図8のタイミングtbで処理が開始される。まずS
1100からその処理が開始され、S1101でA/D
変換結果レジスタ0、A/D変換結果レジスタ1、A/
D変換結果レジスタ2、A/D変換結果レジスタ3の値
を読み込み、その和をとりSUMに入れ、S1102で
本A/D変換終了割り込み処理を終了する。以上の様に
すれば、図7で示される処理より簡単で、かつ、処理に
費やす時間を短縮することが可能となる。 (2−2)第2の処理 次に、第2の処理を、図16を用いて説明すると、タイ
ミングtcに於いてA/D変換を開始し、A/D変換が
4回行われて、4回のA/D変換結果がA/D変換結果
レジスタ0、1、2、3へすべてに格納されるまでの時
間以上を確保した所定時間後(タイミングtd)にA/
D変換結果レジスタ0、1、2、3の内容を読み込む処
理である。尚、A/D変換器の構成は第1の処理と同一
であり、第2の処理の違いは、第1の処理が4回のA/
D変換終了によって起動されるA/D変換終了割り込み
によってA/D変換値の読み込みを行うのに対して、本
第2の処理はA/D変換終了割り込みの起動の機能を必
要としない点である。次に、図17、図19を用いて第
2の処理を説明する。図17で示されるタイマ割り込み
1処理は所定時間毎に繰り返し行われる処理で、例えば
1ms間隔で本タイマ割り込み1処理が起動される。ま
た、図19で示されるタイマ割り込み2処理は、タイマ
割り込み1処理の所定時間(少なくとも4回のA/D変
換が終了するまでの時間以上)後に起動されるタイマ割
り込み処理である。図17のタイマ割り込み1処理はS
1700から始まり、S1701でA/D変換器の動作
を開始させ、S1702で本タイマ割り込み1処理を終
了する。この処理により所定時間毎にA/D変換を繰り
返し行うことが可能となる。尚、本タイマ割り込み1処
理が起動されるタイミングは図16で示すとtcに相当
する。次に、図19で示されるタイマ割り込み2処理は
S1900からその処理が開始され、S1901でA/
D変換結果レジスタ0、A/D変換結果レジスタ1、A
/D変換結果レジスタ2、A/D変換結果レジスタ3の
値を読み込み、その和をとりSUMに入れ、S1902
で本タイマ割り込み2処理を終了する。以上の様にすれ
ば、図7で示される処理より簡単で、かつ、処理に費や
す時間を短縮することが可能となる。 (2−3)第3の処理 次に、第3の処理を説明する。第3の処理はA/D変換
を1度開始させ、その後はA/D変換は停止させるまで
連続的に動作させる処理である。この場合、図5で示さ
れたA/D変換器は、CPU1のプログラムにより所定
タイミングからA/D変換を開始すると、A/D変換を
連続して行い、まずch0の入力をA/D変換してその
結果をA/D変換結果レジスタ0に格納、これに引き継
いでch1の入力をA/D変換してA/D変換結果レジ
スタ1に格納、これに引き継いでch2の入力をA/D
変換してA/D変換結果レジスタ2に格納、これに引き
継いでch3の入力をA/D変換してA/D変換結果レ
ジスタ3に格納し、ch3のA/D変換が終了するとc
h0のA/D変換に戻り、同様のことを繰り返し連続的
の行うように構成しておく。ことことにより、A/D変
換結果レジスタ0、1、2、3の値は何時も最新の4回
のA/D変換値が格納されることになる。そして、任意
のタイミングでこの格納されたA/D変換結果レジスタ
の内容を読み込むことで手振れ量を検出できるようにす
る。この処理の様子を図14のフローを用いて説明す
る。図14のタイマ割り込み処理は、所定時間毎に繰り
返し行われる処理で、例えば1ms間隔で本タイマ割り
込み処理が起動される。処理はS1400から始まり、
S1401でA/D変換結果レジスタ0、A/D変換結
果レジスタ1、A/D変換結果レジスタ2、A/D変換
結果レジスタ3の値を読み込み、その和をとりSUMに
入れ、S1402で本タイマ割り込み処理を終了する。
尚、A/D変換は本タイマ割り込み処理が起動される前
に開始させておくこととする。以上の様にすれば、図7
で示される処理、或いは、図9、図11で示される処
理、或いは、図17、図19で示される処理より簡単
で、かつ、処理に費やす時間を短縮することが可能とな
る。
【0017】また、各A/D入力のA/D変換特性のば
らつき、例えば、直線量子化誤差、量子化ばらつき等の
特性が各入力で異なった場合にも前述の様に4入力のA
/D変換結果の和を求めることで特性ばらつきを補うこ
とも可能である。 (3)A/D変換終了によりA/D変換結果をRAMの
複数のデータ領域に自動転送する処理 次の例は、A/D変換の終了時にそのA/D変換結果を
プログラム処理の介在なしに内部データバスを通じて所
定のデータ領域(CPU1に内蔵されたメモリ、詳しく
述べるならばRAM)に自動転送する自動データ転送機
能を有するワンチップマイクロコンピュータを使用する
処理である。CPU1は前述の様な自動データ転送機能
を有するものを使用する。図6を用いてその例を説明す
る。CPU1に内蔵されたA/D変換器は所定のタイミ
ングでA/D変換を開始すると、そのA/D変換結果が
A/D変換結果レジスタに格納される。このA/D変換
結果レジスタにA/D変換結果が格納されたタイミング
でそのデータは内部バスを経由して所定のデータ領域に
格納される。この様にしておいて以下の処理を行うこと
でA/D変換を複数回行うことで問題になる処理時間の
増加を極力さける様にしている。 (3−1)第1の処理 まず、その第1の処理を、図8を用いて説明すると、タ
イミングtaに於いてA/D変換を開始し、A/D変換
が4回行われて、4回のA/D変換結果が所定のデータ
領域、図6ではA/D変換結果データ0、1、2、3へ
すべて自動転送されたタイミングで自動転送終了割り込
みを発生させ、その自動転送終了割り込みの処理によ
り、A/D変換結果データ0、1、2、3の内容を読み
出し、和をとることで行う。尚、この場合、図6で示さ
れたデータの自動転送機能は、A/D変換終了によりA
/D変換結果レジスタの内容をデータ領域の最初はA/
D変換結果データ0に自動転送し、引き続いてA/D変
換し、この2回目のA/D変換終了時にA/D変換結果
レジスタの内容をA/D変換結果データ1に自動転送
し、引き続いてA/D変換し、この3回目のA/D変換
終了時にA/D変換結果レジスタの内容をA/D変換結
果データ2に自動転送し、引き続いてA/D変換し、こ
の4回目のA/D変換終了時にA/D変換結果レジスタ
の内容をA/D変換結果データ3に自動転送し、次に、
自動転送終了割り込み処理が起動される様に構成してお
く。次に、図9を用いてA/D変換の開始を所定時間毎
に行う処理を説明する。図9のタイマ割り込み処理は、
所定時間毎に繰り返し行われる処理で、例えば1ms間
隔で本タイマ割り込み処理が起動される。処理はS90
0から始まり、S901でA/D変換器の動作を開始さ
せ、S902で本タイマ割り込みを終了する。この処理
により所定時間毎にA/D変換を繰り返し行うことが可
能となる。次に、図12は図9のS901でA/D変換
を開始し、4回のA/D変換が終了し、A/D変換結果
が所定データ領域に自動転送されたことにより起動され
る自動転送終了割り込み処理であり、図8のタイミング
tbで処理が開始される。まずS1200からその処理
が開始され、S1201でA/D変換結果データ0、A
/D変換結果データ1、A/D変換結果データ2、A/
D変換結果データ3の値を読み込み、その和をとりSU
Mに入れ、S1202で本自動転送終了割り込み処理を
終了する。以上の様にすれば、図7で示される処理より
簡単で、かつ、処理に費やす時間を短縮することが可能
となる。 (3−2)第2の処理 次に、第2の処理を、図16を用いて説明すると、タイ
ミングtcに於いてA/D変換を開始し、A/D変換が
4回行われて、4回のA/D変換結果がA/D変換結果
データ0、1、2、3のすべてにデータ転送れるまでの
時間以上を確保した所定時間後(タイミングtd)にA
/D変換結果データ0、1、2、3の内容を読み込む処
理である。尚、A/D変換器の構成は第1の処理と同一
であり、第2の処理の違いは第1の処理が4回のA/D
変換終了し、4回のA/D変換結果が自動転送されたこ
とによって起動される自動転送終了割り込みによってA
/D変換値の読み込みを行うのに対して、本第2の処理
は自動転送終了割り込みの起動の機能を必要としない点
である。次に、図17、図20を用いて第2の処理を説
明する。図17で示されるタイマ割り込み1処理は所定
時間毎に繰り返し行われる処理で、例えば1ms間隔で
本タイマ割り込み1処理が起動される。また、図20で
示されるタイマ割り込み2処理は、タイマ割り込み1処
理の所定時間(少なくとも4回のA/D変換が終了し、
4回のA/D変換結果が自動転送されるまでの時間以
上)後に起動されるタイマ割り込み処理である。図17
のタイマ割り込み1処理はS1700から始まり、S1
701でA/D変換器の動作を開始させ、S1702で
本タイマ割り込み1処理を終了する。この処理により所
定時間毎にA/D変換を繰り返し行うことが可能とな
る。尚、本タイマ割り込み1処理が起動されるタイミン
グは図16で示すとtcに相当する。次に、図20で示
されるタイマ割り込み2処理はS2000からその処理
が開始され、S2001でA/D変換結果データ0、A
/D変換結果データ1、A/D変換結果データ2、A/
D変換結果データ3の値を読み込み、その和をとりSU
Mに入れ、S2002で本タイマ割り込み2処理を終了
する。以上の様にすれば、図7で示される処理より簡単
で、かつ、処理に費やす時間を短縮することが可能とな
る。 (3−3)第3の処理 次に、第3の処理を説明する。第3の処理はA/D変換
を1度開始させ、その後はA/D変換は停止させるまで
連続的に動作させる処理である。この場合、図6で示さ
れたA/D変換器は、CPU1のプログラムにより所定
タイミングからA/D変換を開始すると、A/D変換を
連続して行い、A/D変換が終了する毎にA/D変換結
果レジスタの値を所定のデータ領域、図6ではA/D変
換結果データ0、1、2、3へ順次自動転送され、ま
た、その順序は、A/D変換を開始してから第1回目の
A/D変換結果をA/D変換結果データ0に転送し、第
2回目のA/D変換結果をA/D変換結果データ1に転
送し、第3回目のA/D変換結果をA/D変換結果デー
タ2に転送し、第4回目のA/D変換結果をA/D変換
結果データ3に転送し、次に、第5回目のA/D変換結
果はA/D変換結果データ0に転送し、以下、同様にA
/D変換結果を自動転送する様に構成する。このことに
より、A/D変換結果データ0、1、2、3の値は何時
も最新の4回のA/D変換値が格納されることになる。
そして、任意のタイミングでこの格納されたA/D変換
結果データの内容を読み込むことで手振れ量を検出でき
る様にする。この処理の様子を図15のフローを用いて
説明する。図15のタイマ割り込み処理は、所定時間毎
に繰り返し行われる処理で、例えば1ms間隔で本タイ
マ割り込み処理が起動される。処理はS1500から始
まり、S1501でA/D変換結果データ0、A/D変
換結果データ1、A/D変換結果データ2、A/D変換
結果データ3の値を読み込み、その和をとりSUMに入
れ、S1502で本タイマ割り込み処理を終了する。
尚、A/D変換は本タイマ割り込み処理が起動される前
に開始させておくこととする。以上の様にすれば、図7
で示される処理、或いは、図9、図12で示される処
理、或いは、図17、図20で示される処理より簡単
で、かつ、処理に費やす時間を短縮することが可能とな
る。 以上の説明したいずれかの処理を用いて手振れ検出回路
5の出力を検出し、そのA/D変換結果の加算値SUM
に基づき、モータ4の回転を制御し、適当なギア等(不
図示)により直線運動に変換し手振れ補正レンズ8を駆
動するようにすれば精度の良い手振れ補正を行うことが
できる。また、以上の説明に用いた図4、5、6に於い
てA/D変換器は10ビット分解能のものを用いたが、
12ビット分解能のものを用いればより精度の良い検出
が行える。あるいは、8ビット分解能のA/D変換器を
用いたとしても手振れ検出回路5の手振れ信号出力に乗
った高周波ノイズに対しては大いに効果がある。また、
本実施例では、4回のA/D変換結果の和をとることで
高周波ノイズの影響を抑える様にしているが、回数はこ
れに限定されるものではない。あるいは、図4のA/D
変換結果バッファの数、図5のA/D変換結果レジスタ
の数、図6の自動転送されたA/D変換結果データの数
は4つに限定されない。多ければ多いほど高周波ノイズ
の影響を減少させることが可能になる。
らつき、例えば、直線量子化誤差、量子化ばらつき等の
特性が各入力で異なった場合にも前述の様に4入力のA
/D変換結果の和を求めることで特性ばらつきを補うこ
とも可能である。 (3)A/D変換終了によりA/D変換結果をRAMの
複数のデータ領域に自動転送する処理 次の例は、A/D変換の終了時にそのA/D変換結果を
プログラム処理の介在なしに内部データバスを通じて所
定のデータ領域(CPU1に内蔵されたメモリ、詳しく
述べるならばRAM)に自動転送する自動データ転送機
能を有するワンチップマイクロコンピュータを使用する
処理である。CPU1は前述の様な自動データ転送機能
を有するものを使用する。図6を用いてその例を説明す
る。CPU1に内蔵されたA/D変換器は所定のタイミ
ングでA/D変換を開始すると、そのA/D変換結果が
A/D変換結果レジスタに格納される。このA/D変換
結果レジスタにA/D変換結果が格納されたタイミング
でそのデータは内部バスを経由して所定のデータ領域に
格納される。この様にしておいて以下の処理を行うこと
でA/D変換を複数回行うことで問題になる処理時間の
増加を極力さける様にしている。 (3−1)第1の処理 まず、その第1の処理を、図8を用いて説明すると、タ
イミングtaに於いてA/D変換を開始し、A/D変換
が4回行われて、4回のA/D変換結果が所定のデータ
領域、図6ではA/D変換結果データ0、1、2、3へ
すべて自動転送されたタイミングで自動転送終了割り込
みを発生させ、その自動転送終了割り込みの処理によ
り、A/D変換結果データ0、1、2、3の内容を読み
出し、和をとることで行う。尚、この場合、図6で示さ
れたデータの自動転送機能は、A/D変換終了によりA
/D変換結果レジスタの内容をデータ領域の最初はA/
D変換結果データ0に自動転送し、引き続いてA/D変
換し、この2回目のA/D変換終了時にA/D変換結果
レジスタの内容をA/D変換結果データ1に自動転送
し、引き続いてA/D変換し、この3回目のA/D変換
終了時にA/D変換結果レジスタの内容をA/D変換結
果データ2に自動転送し、引き続いてA/D変換し、こ
の4回目のA/D変換終了時にA/D変換結果レジスタ
の内容をA/D変換結果データ3に自動転送し、次に、
自動転送終了割り込み処理が起動される様に構成してお
く。次に、図9を用いてA/D変換の開始を所定時間毎
に行う処理を説明する。図9のタイマ割り込み処理は、
所定時間毎に繰り返し行われる処理で、例えば1ms間
隔で本タイマ割り込み処理が起動される。処理はS90
0から始まり、S901でA/D変換器の動作を開始さ
せ、S902で本タイマ割り込みを終了する。この処理
により所定時間毎にA/D変換を繰り返し行うことが可
能となる。次に、図12は図9のS901でA/D変換
を開始し、4回のA/D変換が終了し、A/D変換結果
が所定データ領域に自動転送されたことにより起動され
る自動転送終了割り込み処理であり、図8のタイミング
tbで処理が開始される。まずS1200からその処理
が開始され、S1201でA/D変換結果データ0、A
/D変換結果データ1、A/D変換結果データ2、A/
D変換結果データ3の値を読み込み、その和をとりSU
Mに入れ、S1202で本自動転送終了割り込み処理を
終了する。以上の様にすれば、図7で示される処理より
簡単で、かつ、処理に費やす時間を短縮することが可能
となる。 (3−2)第2の処理 次に、第2の処理を、図16を用いて説明すると、タイ
ミングtcに於いてA/D変換を開始し、A/D変換が
4回行われて、4回のA/D変換結果がA/D変換結果
データ0、1、2、3のすべてにデータ転送れるまでの
時間以上を確保した所定時間後(タイミングtd)にA
/D変換結果データ0、1、2、3の内容を読み込む処
理である。尚、A/D変換器の構成は第1の処理と同一
であり、第2の処理の違いは第1の処理が4回のA/D
変換終了し、4回のA/D変換結果が自動転送されたこ
とによって起動される自動転送終了割り込みによってA
/D変換値の読み込みを行うのに対して、本第2の処理
は自動転送終了割り込みの起動の機能を必要としない点
である。次に、図17、図20を用いて第2の処理を説
明する。図17で示されるタイマ割り込み1処理は所定
時間毎に繰り返し行われる処理で、例えば1ms間隔で
本タイマ割り込み1処理が起動される。また、図20で
示されるタイマ割り込み2処理は、タイマ割り込み1処
理の所定時間(少なくとも4回のA/D変換が終了し、
4回のA/D変換結果が自動転送されるまでの時間以
上)後に起動されるタイマ割り込み処理である。図17
のタイマ割り込み1処理はS1700から始まり、S1
701でA/D変換器の動作を開始させ、S1702で
本タイマ割り込み1処理を終了する。この処理により所
定時間毎にA/D変換を繰り返し行うことが可能とな
る。尚、本タイマ割り込み1処理が起動されるタイミン
グは図16で示すとtcに相当する。次に、図20で示
されるタイマ割り込み2処理はS2000からその処理
が開始され、S2001でA/D変換結果データ0、A
/D変換結果データ1、A/D変換結果データ2、A/
D変換結果データ3の値を読み込み、その和をとりSU
Mに入れ、S2002で本タイマ割り込み2処理を終了
する。以上の様にすれば、図7で示される処理より簡単
で、かつ、処理に費やす時間を短縮することが可能とな
る。 (3−3)第3の処理 次に、第3の処理を説明する。第3の処理はA/D変換
を1度開始させ、その後はA/D変換は停止させるまで
連続的に動作させる処理である。この場合、図6で示さ
れたA/D変換器は、CPU1のプログラムにより所定
タイミングからA/D変換を開始すると、A/D変換を
連続して行い、A/D変換が終了する毎にA/D変換結
果レジスタの値を所定のデータ領域、図6ではA/D変
換結果データ0、1、2、3へ順次自動転送され、ま
た、その順序は、A/D変換を開始してから第1回目の
A/D変換結果をA/D変換結果データ0に転送し、第
2回目のA/D変換結果をA/D変換結果データ1に転
送し、第3回目のA/D変換結果をA/D変換結果デー
タ2に転送し、第4回目のA/D変換結果をA/D変換
結果データ3に転送し、次に、第5回目のA/D変換結
果はA/D変換結果データ0に転送し、以下、同様にA
/D変換結果を自動転送する様に構成する。このことに
より、A/D変換結果データ0、1、2、3の値は何時
も最新の4回のA/D変換値が格納されることになる。
そして、任意のタイミングでこの格納されたA/D変換
結果データの内容を読み込むことで手振れ量を検出でき
る様にする。この処理の様子を図15のフローを用いて
説明する。図15のタイマ割り込み処理は、所定時間毎
に繰り返し行われる処理で、例えば1ms間隔で本タイ
マ割り込み処理が起動される。処理はS1500から始
まり、S1501でA/D変換結果データ0、A/D変
換結果データ1、A/D変換結果データ2、A/D変換
結果データ3の値を読み込み、その和をとりSUMに入
れ、S1502で本タイマ割り込み処理を終了する。
尚、A/D変換は本タイマ割り込み処理が起動される前
に開始させておくこととする。以上の様にすれば、図7
で示される処理、或いは、図9、図12で示される処
理、或いは、図17、図20で示される処理より簡単
で、かつ、処理に費やす時間を短縮することが可能とな
る。 以上の説明したいずれかの処理を用いて手振れ検出回路
5の出力を検出し、そのA/D変換結果の加算値SUM
に基づき、モータ4の回転を制御し、適当なギア等(不
図示)により直線運動に変換し手振れ補正レンズ8を駆
動するようにすれば精度の良い手振れ補正を行うことが
できる。また、以上の説明に用いた図4、5、6に於い
てA/D変換器は10ビット分解能のものを用いたが、
12ビット分解能のものを用いればより精度の良い検出
が行える。あるいは、8ビット分解能のA/D変換器を
用いたとしても手振れ検出回路5の手振れ信号出力に乗
った高周波ノイズに対しては大いに効果がある。また、
本実施例では、4回のA/D変換結果の和をとることで
高周波ノイズの影響を抑える様にしているが、回数はこ
れに限定されるものではない。あるいは、図4のA/D
変換結果バッファの数、図5のA/D変換結果レジスタ
の数、図6の自動転送されたA/D変換結果データの数
は4つに限定されない。多ければ多いほど高周波ノイズ
の影響を減少させることが可能になる。
【0018】また、本実施例で示したように、A/D変
換結果バッファの数、A/D変換結果レジスタの数、或
いは、自動転送されたA/D変換結果データの数を複数
個としたある場合は勿論、これらを各1個しか持たない
ワンチップマイクロコンピュータを使用した場合にも、
本発明はA/D変換結果がA/D変換結果バッファまた
はA/D変換結果レジスタに格納された後に、或いは、
A/D変換結果が所定データ領域に自動転送された後
に、そのA/D変換結果を読み込むようにしているの
で、A/D変換の動作中の待ち時間が不要となる。この
ことにより、本発明を用いれば手振れの検出とそれ以外
の処理、例えば、露光時のシャッタ(不図示)制御等の
処理を同時に行う様な場合に、ワンチップマイクロコン
ピュータの処理速度的にみて有利である。
換結果バッファの数、A/D変換結果レジスタの数、或
いは、自動転送されたA/D変換結果データの数を複数
個としたある場合は勿論、これらを各1個しか持たない
ワンチップマイクロコンピュータを使用した場合にも、
本発明はA/D変換結果がA/D変換結果バッファまた
はA/D変換結果レジスタに格納された後に、或いは、
A/D変換結果が所定データ領域に自動転送された後
に、そのA/D変換結果を読み込むようにしているの
で、A/D変換の動作中の待ち時間が不要となる。この
ことにより、本発明を用いれば手振れの検出とそれ以外
の処理、例えば、露光時のシャッタ(不図示)制御等の
処理を同時に行う様な場合に、ワンチップマイクロコン
ピュータの処理速度的にみて有利である。
【0019】最後に、本実施例では手振れ検出回路5は
角速度センサを用いたカメラに生じた角速度を検出する
例で説明したが、本発明はこれに限定するものではな
く、例えば、手振れによって生じた加速度、或いは、位
置のディメンジョンを有する信号を出力する様な手振れ
検出回路を用いても構わない。また、手振れの補正メカ
ニズムとしてモータ4を駆動させ、撮影レンズの一部で
ある補正レンズ8をシフトさせて光軸を変化させること
で像面での手振れを補正する方式で説明したが、これ以
外にも、補正レンズ8の代わりにバリアングルプリズム
等を使用してもかまわないし、また、モータ4の代わり
にボイスコイル等の他のアクチュエータを使用すること
も可能である。
角速度センサを用いたカメラに生じた角速度を検出する
例で説明したが、本発明はこれに限定するものではな
く、例えば、手振れによって生じた加速度、或いは、位
置のディメンジョンを有する信号を出力する様な手振れ
検出回路を用いても構わない。また、手振れの補正メカ
ニズムとしてモータ4を駆動させ、撮影レンズの一部で
ある補正レンズ8をシフトさせて光軸を変化させること
で像面での手振れを補正する方式で説明したが、これ以
外にも、補正レンズ8の代わりにバリアングルプリズム
等を使用してもかまわないし、また、モータ4の代わり
にボイスコイル等の他のアクチュエータを使用すること
も可能である。
【0020】なお、本実施例では、被検出体をカメラを
対象として説明してきたが、振動を検出するための対象
機種はカメラに限定されるものではない。例えば、双眼
鏡や望遠鏡、さらには一般工作機器を対象機種としても
よい。
対象として説明してきたが、振動を検出するための対象
機種はカメラに限定されるものではない。例えば、双眼
鏡や望遠鏡、さらには一般工作機器を対象機種としても
よい。
【0021】
【発明の効果】以上の様に本発明によれば、比較的簡単
な処理によりA/D変換器の分解能に起因する誤差、或
いは、手振れ検出回路で発生した高周波ノイズの影響を
抑え、手振れ検出精度とその処理効率を向上させ、精度
の良い手振れ補正を可能とし、かつ、コストアップを極
力さけることが可能であると言う効果がある。
な処理によりA/D変換器の分解能に起因する誤差、或
いは、手振れ検出回路で発生した高周波ノイズの影響を
抑え、手振れ検出精度とその処理効率を向上させ、精度
の良い手振れ補正を可能とし、かつ、コストアップを極
力さけることが可能であると言う効果がある。
【0022】特に請求項1の発明では、手振れの検出精
度が向上し、ワンチップマイクロコンピュータの外部に
10ビット以上の分解能のA/D変換器を付加させるよ
り、コストを安くでき、かつ、付加された外部A/D変
換器の制御、通信等の処理をしなくても済むようになっ
た。また請求項3の発明では、その複数のA/D変換結
果の加算値、或いは、平均値を算出するようにすれば手
振れ検出回路に乗じた高周波ノイズの影響をも抑え、よ
り手振れ検出精度が向上する。
度が向上し、ワンチップマイクロコンピュータの外部に
10ビット以上の分解能のA/D変換器を付加させるよ
り、コストを安くでき、かつ、付加された外部A/D変
換器の制御、通信等の処理をしなくても済むようになっ
た。また請求項3の発明では、その複数のA/D変換結
果の加算値、或いは、平均値を算出するようにすれば手
振れ検出回路に乗じた高周波ノイズの影響をも抑え、よ
り手振れ検出精度が向上する。
【図1】本発明に関わる部分を模式的に示した回路図で
ある。
ある。
【図2】従来技術に於けるワンチップマイクロコンピュ
ータに内蔵されたA/D変換器を示す図である。
ータに内蔵されたA/D変換器を示す図である。
【図3】従来技術に於けるA/D入力とA/D変換結果
との関係を示す図である。
との関係を示す図である。
【図4】本発明に於けるワンチップマイクロコンピュー
タに内蔵されたA/D変換器を示す図である。
タに内蔵されたA/D変換器を示す図である。
【図5】本発明に於けるワンチップマイクロコンピュー
タに内蔵されたA/D変換器を示す図である。
タに内蔵されたA/D変換器を示す図である。
【図6】本発明に於けるワンチップマイクロコンピュー
タに内蔵されたA/D変換器とA/D変換結果の自動転
送の様子を示す図である。
タに内蔵されたA/D変換器とA/D変換結果の自動転
送の様子を示す図である。
【図7】本発明のタイマ割り込み処理を示すフローチャ
ートである。
ートである。
【図8】本発明のA/D変換の開始タイミングとA/D
変換終了割り込み、或いは、自動転送終了割り込みの起
動タイミングを示す図である。
変換終了割り込み、或いは、自動転送終了割り込みの起
動タイミングを示す図である。
【図9】本発明のA/D変換開始を行うタイマ割り込み
処理を示すフローチャートである。
処理を示すフローチャートである。
【図10】本発明のA/D変換終了割り込み処理を示す
フローチャートである。
フローチャートである。
【図11】本発明のA/D変換終了割り込み処理を示す
フローチャートである。
フローチャートである。
【図12】本発明の自動転送終了割り込み処理を示すフ
ローチャートである。
ローチャートである。
【図13】本発明のタイマ割り込み処理を示すフローチ
ャートである。
ャートである。
【図14】本発明のタイマ割り込み処理を示すフローチ
ャートである。
ャートである。
【図15】本発明のタイマ割り込み処理を示すフローチ
ャートである。
ャートである。
【図16】本発明のタイマ割り込み1処理とタイマ割り
込み2処理の起動タイミングを示す図である。
込み2処理の起動タイミングを示す図である。
【図17】本発明のタイマ割り込み1処理を示すフロー
チャートである。
チャートである。
【図18】本発明のタイマ割り込み2処理を示すフロー
チャートである。
チャートである。
【図19】本発明のタイマ割り込み2処理を示すフロー
チャートである。
チャートである。
【図20】本発明のタイマ割り込み2処理を示すフロー
チャートである。
チャートである。
【図21】本発明の手振れ検出回路の出力とA/D変換
を複数回行っている様子を示す図である。
を複数回行っている様子を示す図である。
1 CPU 2 モータ駆動回路 3 レンズ位置速度検出回路 4 モータ 5 手振れ検出回路 6 撮影レンズ 7 撮影レンズ 8 撮影レンズ(補正レンズ) 9 撮影レンズ
Claims (4)
- 【請求項1】 被検出体に生じた振動を検出し、検出結
果を出力する振動検出装置と、 ワンチップマイクロコンピュータと、 前記振動検出装置の出力をA/D変換する、少なくとも
10ビット以上の分解能のA/D変換器を内蔵するワン
チップマイクロコンピュータとを有することを特徴とす
る振動検出装置。 - 【請求項2】 前記被検出体は、撮影光軸を変化させる
ことが可能な撮影光学系を有するカメラであって、 前記撮影光学系の光軸の変化させる駆動装置と、 前記駆動装置を制御する駆動制御装置を有し、 前記ワンチップマイクロコンピュータは前記振動検出装
置の出力値のA/d変換結果応じて前記駆動制御装置に
制御信号を出力することを特徴とする請求項1記載の振
動検出装置。 - 【請求項3】 被検出体に生じた振動を検出し、検出結
果を出力する振動検出装置と、 前記振動検出装置の出力をA/D変換する、少なくとも
10ビット以上の分解能のA/D変換器を内蔵し、前記
A/D変換器により振動検出装置の出力を所定時間間隔
で複数回A/D変換するワンチップマイクロコンピュー
タとを有することを特徴とする振動検出機能を有するカ
メラ。 - 【請求項4】 前記被検出体は、撮影光軸を変化させる
ことが可能な撮影光学系を有するカメラであって、 前記撮影光学系の光軸の変化させる駆動装置と、 前記駆動装置を制御する駆動制御装置を有し、 前記ワンチップマイクロコンピュータは前記振動検出装
置の出力値のA/d変換結果応じて前記駆動制御装置に
制御信号を出力することを特徴とする請求項1記載の振
動検出装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4002394A JPH07248517A (ja) | 1994-03-10 | 1994-03-10 | 振動検出装置 |
| US08/377,794 US5621491A (en) | 1994-03-10 | 1995-01-24 | Vibration detection apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP4002394A JPH07248517A (ja) | 1994-03-10 | 1994-03-10 | 振動検出装置 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH07248517A true JPH07248517A (ja) | 1995-09-26 |
Family
ID=12569314
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP4002394A Pending JPH07248517A (ja) | 1994-03-10 | 1994-03-10 | 振動検出装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5621491A (ja) |
| JP (1) | JPH07248517A (ja) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5752092A (en) * | 1994-04-27 | 1998-05-12 | Nikon Corporation | Control unit for a vibration compensation device for use in an optical imaging system |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7854524B2 (en) * | 2007-09-28 | 2010-12-21 | Anorad Corporation | High stiffness low mass supporting structure for a mirror assembly |
| JP2011155361A (ja) * | 2010-01-26 | 2011-08-11 | Sony Corp | 撮像装置、撮像制御方法、プログラム |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US4876903A (en) * | 1988-01-11 | 1989-10-31 | Budinger William D | Method and apparatus for determination and display of critical gas supply information |
| US4989611A (en) * | 1988-08-19 | 1991-02-05 | Seismed Instruments, Inc. | Cardiac compression wave measuring system and method |
| GB2237639B (en) * | 1989-10-31 | 1994-07-06 | British Gas Plc | Measurement system |
| US5192964A (en) * | 1991-03-04 | 1993-03-09 | Ricoh Company, Ltd. | Camera having blurring movement correction mechanism |
-
1994
- 1994-03-10 JP JP4002394A patent/JPH07248517A/ja active Pending
-
1995
- 1995-01-24 US US08/377,794 patent/US5621491A/en not_active Expired - Lifetime
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5752092A (en) * | 1994-04-27 | 1998-05-12 | Nikon Corporation | Control unit for a vibration compensation device for use in an optical imaging system |
Also Published As
| Publication number | Publication date |
|---|---|
| US5621491A (en) | 1997-04-15 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20190346740A1 (en) | Camera module having stabilizer providing stabilization function and electronic device including the camera module | |
| JP5262928B2 (ja) | 撮像装置、携帯端末装置および合焦機構制御方法 | |
| EP0579404A2 (en) | Lens control apparatus | |
| JP2000010141A (ja) | 手振れ補正機能付きデジタルカメラ | |
| US20170272655A1 (en) | Imaging device | |
| JPH07248521A (ja) | 振動検出装置 | |
| JP2000184247A (ja) | レンズ交換式デジタルカメラ | |
| JPH04277728A (ja) | カメラの防振装置 | |
| JPH07248518A (ja) | 振動検出機能を有するカメラ | |
| JPH07248520A (ja) | 振動検出装置 | |
| JPH07248519A (ja) | 手振れ検出機能を有するカメラ | |
| US5621491A (en) | Vibration detection apparatus | |
| JPH08201866A (ja) | 像ぶれ防止のために用いられる装置 | |
| JP3460735B2 (ja) | 調整装置、振れ補正カメラ、及び調整方法 | |
| JP3386189B2 (ja) | 手ブレ検出装置を有するカメラシステム | |
| JP3342251B2 (ja) | 交換レンズ及びそれを用いたカメラシステム | |
| JP2001290183A (ja) | 防振制御装置及びこれを有するカメラ | |
| JP2001285702A (ja) | ビデオカメラシステム | |
| JP3550576B2 (ja) | 振れ補正カメラの調整装置、振れ補正カメラ、及び調整方法 | |
| JP3551464B2 (ja) | 振れ補正カメラの調整装置、振れ補正カメラ、及び調整方法 | |
| JP2002148668A (ja) | 防振制御装置、カメラ及びカメラシステム | |
| JP3551465B2 (ja) | 調整装置、振れ補正カメラ、及び調整方法 | |
| JP2003057710A (ja) | 像振れ補正システム | |
| JP3413932B2 (ja) | 検査装置、振れ補正カメラ、及び検査方法 | |
| JPH07294976A (ja) | 手振れ補正機能を有する撮影装置 |