(57)【要約】【課題】手ぶれ補正のためのデータ処理をより効果的に行うことが望まれる。【解決手段】変位速度検出器（ジャイロセンサ１２）により検出した撮像装置の変位速度と、位置検出器（ホール素子１０）によって検出した撮像装置の合焦調整部材（レンズ８）についての位置とに基づいて、撮像装置の動きを補償する。入力データ形式変換器４０は変位速度検出器１２において検出された変位速度について固定小数点形式から浮動小数点形式に変換するとともに、検出された合焦部材の位置を浮動小数点データに変換する。また、ジャイロフィルタ２４は、浮動小数点形式のデータ処理によって前記撮像装置の変位量データを算出し、ホールフィルタ２２は浮動小数点形式のデータ処理によって、前記合焦調整部材の駆動データを生成する。そして、ホールフィルタ２２からの浮動小数点形式の駆動データを固定小数点形式の駆動データに変換する。【選択図】図１
2011242498.tif 000002
【特許請求の範囲】
【請求項１】
変位速度検出器により検出した撮像装置の変位速度と、位置検出器によって検出した撮像装置の合焦調整部材についての位置とに基づいて、撮像装置の動きを補償するための前記合焦調整部材の駆動データを算出する撮像制御装置であって、
前記変位速度検出器において検出された変位速度についての固定小数点形式のデータを浮動小数点形式の変位速度データに変換する第１入力データ形式変換器と、
浮動小数点形式の変位速度データから、浮動小数点形式のデータ処理によって前記撮像装置の変位についての変位量データを算出する変位量算出回路と、
前記位置検出器により検出された合焦部材の位置を浮動小数点データの位置データに変換する第２入力データ形式変換器と、
浮動小数点形式の前記合焦調整部材の位置データと浮動小数点形式の前記変位量データとの浮動小数点形式のデータ処理によって、前記合焦調整部材の駆動データを生成する駆動データ生成回路と、
浮動小数点形式の駆動データを固定小数点形式の駆動データに変換する出力データ形式変換回路と、
を有することを特徴とする撮像装置の制御回路。
【請求項２】
請求項１に記載の撮像装置の制御回路において、
前記第１入力データ形式変換回路と、第２入力データ形式変換回路は、１つのデータ形式変換回路を時分割で利用することで構成されることを特徴とする撮像装置の制御回路。
【請求項３】
請求項２に記載の撮像装置の制御回路において、
前記変位速度検出器及び位置検出器からは、アナログの変位速度、位置についての検出信号が出力され、これら検出信号をＡ／Ｄ変換器により時分割でＡ／Ｄ変換して固定小数点形式の変位速度データおよび位置データを得、
得られた固定小数点形式の変位速度データおよび位置データが前記第１及び第２データ形式変換回路に順次供給されることを特徴とする撮像装置の制御回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、変位速度検出器により検出した撮像装置の変位速度と、位置検出器によって検出して撮像装置の合焦調整部材についての位置とに基づいて、撮像装置の動きを補償するための前記合焦調整部材の駆動データを算出する撮像装置の制御回路に関する。
【背景技術】
【０００２】
デジタルカメラや携帯電話に搭載されるカメラなどの撮像装置には、手振れによる画質の低下を抑制するために手振れ補正機能を搭載するものが多くなっている。この手振れ補正の方式にはいくつかの種類が存在するが、その１つとして、ジャイロセンサなどで検知された撮像装置の振動（合焦機構の光軸の角速度）に基づいて、撮像における合焦機構を形成する補正レンズ等の光学部品やＣＣＤイメージセンサ等の撮像素子を変位させるものがある。なお、合焦機構の位置制御のためには、変位させられる部材の位置を検出することが必要であり、この位置検出にはホールセンサなどが用いられる。
【０００３】
ここで、補正レンズなどを変位させるためには、ジャイロセンサから出力された角速度信号に対して、積分処理を行って角速度から角度に応じた変位量への変換を行う。このような信号処理は、通常デジタルデータ処理が利用され、センサからの信号をＡ／Ｄ変換器（ＡＤＣ：Analog-to-Digital Converter）でデジタルデータ変化してから積分などの処理を行う。また、補正レンズなどの実際の駆動を制御するための信号を得るためには、ホールセンサによる位置検出信号も必要であり、このホールセンサの出力もＡ／Ｄ変換して、デジタルデータとして演算処理される。
【０００４】
そして、このようにして得られた補正レンズどの駆動データは、Ｄ／Ａ変換器（ＤＡＣ：Digital-to-Analog Converter）でアナログ信号に変換されて補正レンズを駆動するアクチュエータに供給される。また、アクチュエータをパルス幅変調（ＰＷＭ：Pulse Width Modulation）制御する場合には、ＰＷＭ変調回路にはデジタルデータを供給し、このＰＷＭ回路によってアクチュエータがＰＷＭ制御される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２４６９１３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ここで、Ａ／Ｄ変換器、Ｄ／Ａ変換器、ＰＷＭ回路などは、構成が簡単であることなどから、通常固定小数点形式のデータを入力されるものが用いられる。従って、手ぶれ補正に必要なデジタルデータ処理も通常固定小数点形式のデータ処理によって行われる。
【０００７】
ところが、ジャイロセンサからの出力の処理には積分処理が含まれており、固定小数点形式での演算は、当該積分処理にてオーバーフローを生じやすい。そこで、手ぶれ補正のためのデータ処理をより効果的に行うことが望まれる。
【課題を解決するための手段】
【０００８】
本発明は、変位速度検出器により検出した撮像装置の変位速度と、位置検出器によって検出して撮像装置の合焦調整部材についての位置とに基づいて、撮像装置の動きを補償するための前記合焦調整部材の駆動データを算出する撮像制御装置であって、前記変位速度検出器において検出された変位速度についての固定小数点形式のデータを浮動小数点形式の変位速度データに変換する第１入力データ形式変換器と、浮動小数点形式の変位速度データから、浮動小数点形式のデータ処理によって前記撮像装置の変位についての変位量データを算出する変位量算出回路と、前記位置検出器により検出された合焦部材の位置を浮動小数点データの位置データに変換する第２入力データ形式変換器と、浮動小数点形式の前記合焦調整部材の位置データと浮動小数点形式の前記変位量データとの浮動小数点形式のデータ処理によって、前記合焦調整部材の駆動データを生成する駆動データ生成回路と、浮動小数点形式の駆動データを固定小数点形式の駆動データに変換する出力データ形式変換回路と、を有することを特徴とする。
【０００９】
また、前記第１入力データ形式変換回路と、第２入力データ形式変換回路は、１つのデータ形式変換回路を時分割で利用することで構成されることが好適である。
【００１０】
また、前記変位速度検出器及び位置検出器からは、アナログの変位速度、位置についての検出信号が出力され、これら検出信号をＡ／Ｄ変換器により時分割でＡ／Ｄ変換して固定小数点形式の変位速度データおよび位置データを得、得られた固定焦点形式の変位速度データおよび位置データが前記第１及び第２データ形式変換回路に順次供給されることが好適である。
【発明の効果】
【００１１】
本発明によれば、浮動小数点形式のデータを利用してデータ処理を行うことで、手ぶれ補償のためのデータ処理を効果的に行うことができる。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係るカメラの手振れ補正システムの概略のブロック構成図である。
【図２】実施形態に係るジャイロフィルタの概略の構成を示すブロック図である。
【図３】ジャイロフィルタに用いるデジタルフィルタの構成例を示す概略のブロック図である。
【図４】実施形態に係るカメラの手振れ補正システムの概略のブロック構成図である。
【図５】ＣＰＵによるデータ読み出しのための構成を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について、図面に基づいて説明する。本実施形態に係る撮像装置の制御装置はカメラの手振れ補正機能に用いられる。
【００１４】
図１は、実施形態に係るカメラの手振れ補正システムの概略のブロック構成図である。本手振れ補正システムは、センサ部２、回路部４、及び駆動部６を含む。本システムは、撮像素子（図示せず）の受光面に光学像を形成する光学系に設けられた補正レンズ（レンズ８）を合焦調整部材としその位置を調整して手ぶれ補正する方式を採用している。
【００１５】
センサ部２は、ホール素子１０とジャイロセンサ１２とからなる。ホール素子１０は、レンズ８の位置を検出するセンサであり、レンズ８に固定された磁石の磁場に基づいて、レンズ８との距離に応じた電圧信号ＶPを発生して回路部４へ出力する。光軸に垂直な平面（ｘ−ｙ平面）内でのレンズ８の２次元的な位置（ＰX，ＰY）を検出するために、ホール素子１０はｘ方向、ｙ方向それぞれに対応して設けられ、ｘ方向、ｙ方向それぞれについて信号ＶPを出力する。
【００１６】
ジャイロセンサ１２は、カメラの振動を検出するために設けられたセンサ（変位速度検出器）であり、カメラの変位速度に応じた振動検知信号として、角速度ωに応じた電気信号Ｖωを回路部４へ出力する。ジャイロセンサ１２も２つ設けられ、ｘ軸の回りでの角速度成分及びｙ軸の回りでの角速度成分それぞれについて信号Ｖωを出力する。
【００１７】
変位可能なレンズ８と当該レンズ８を変位させる駆動部６とは振動補償機構を構成し、駆動部６は、例えば、ボイスコイルモータ（Voice Coil Motor：ＶＣＭ）１４で構成される。ＶＣＭ１４は、回路部４が生成する駆動信号に応じて、ＶＣＭを構成する可動コイルの位置を直線変位させ、レンズ８の位置を制御する。ｘ−ｙ平面内での２次元変位を実現するために、可動コイルは一対設けられ、ｘ方向、ｙ方向にそれぞれ変位する。
【００１８】
回路部４は、ＡＤＣ（Ａ／Ｄ変換器）２０、ホールフィルタ２２、ジャイロフィルタ２４、及びＤＡＣ２６を有する。回路部４は、ロジック回路で構成され、例えば、ＡＳＩＣ（Application Specific Integrated Circuit）として構成される。
【００１９】
ＡＤＣ２０には、ホール素子１０、ジャイロセンサ１２の出力信号ＶP，Ｖωがそれぞれ入力される。ＡＤＣ２０は、２つのホール素子１０がそれぞれ出力する電圧信号ＶPと、２つのジャイロセンサ１２がそれぞれ出力する電圧信号Ｖωとを時分割で固定小数点形式の位置データＤP、角速度データＤωに変換する。各信号のＡ／Ｄ変換は、サーボ制御周期毎に周期的に行われる。
【００２０】
ＡＤＣ２０の出力である位置データＤP、角速度データＤωは、入力データ形式変換回路４０に入力される。この入力データ形式変換回路４０は、これら位置データＤP、角速度データＤωを固定小数点形式から浮動小数点形式へ変換する。入力データ形式変換回路４０は、１６ビットの固定小数点形式のデータを３２ビットの浮動小数点形式のデータに変換する。なお、この入力データ形式変換回路４０の処理は、ＡＤＣ２０からの出力に同期して時分割で行われる。
【００２１】
ホール素子１０の出力に基づいて生成された浮動小数点形式の位置データＤPは、ホールフィルタ２２に入力される。一方、ジャイロセンサ１２の出力に基づいて生成された浮動小数点形式の角速度データＤωは、ジャイロフィルタ２４に入力される。
【００２２】
ジャイロフィルタ２４は、カメラの変位量に応じた振動補償データを生成する回路であり、サーボ制御周期毎に所定のサンプリング期間にわたり入力される角速度Ｄωを積分処理して、ｘ軸、ｙ軸それぞれの回りでのカメラの揺動角度θに応じたデータＤθを生成する。ジャイロフィルタ２４は、データＤθに基づいて、ｘ方向、ｙ方向それぞれに対する手振れ量に応じた振動補償データＤSを生成し出力する。この振動補償データＤSがレンズ８をｘ軸、ｙ軸の両方向にどのくらい変位させるかについてのデータである。
【００２３】
ホールフィルタ２２は、加算器３２及びサーボ回路３４を有する。加算器３２は、入力データ形式変換回路４０に入力される位置データＤPと、ジャイロフィルタ２４からの振動補償データＤSとをｘ、ｙ各方向別に加算する。サーボ回路３４は、加算器３２の出力データから、ｘ軸方向、ｙ軸方向それぞれについてのレンズ８が現在位置からどの程度変位すべきかを示す所要変位量に相当するサーボデータＤSVを算出する。
【００２４】
得られたサーボデータＤSVは、出力データ形式変換回路４８に入力され、ここで浮動小数点形式から固定小数点形式に変換され、固定小数点形式のサーボデータＤSVがＤＡＣ２６に供給される。
【００２５】
なお、加算器３２と、サーボ回路３４の間に出力データ形式変換回路４８を配置して、サーボ回路３４への入力データは固定小数点形式とし、サーボ回路３４において固定小数点形式のデータ処理を行い、ここから固定小数点形式のサーボデータＤSVを出力するようにしてもよい。
【００２６】
ＤＡＣ２６は、ホールフィルタ２２から出力されるサーボデータＤSVをアナログ電圧信号に変換する。ＤＡＣ２６が出力する電圧信号は所定の増幅処理を施してＶＣＭ１４に印加される。ＶＣＭ１４は、ＤSVの絶対値が減少する方向に駆動され、これにより、本システムを搭載したカメラは、撮像期間にて、手振れに応じてレンズ８を移動させ、手振れによる撮像素子上での被写体像の変位を補償し、高画質な画像信号を得ることができる。
【００２７】
次に、ジャイロフィルタ２４の構成を説明する。図２は、ジャイロフィルタ２４の概略の構成を示すブロック図である。ジャイロフィルタ２４は、手振れ成分抽出回路４２、積分回路４４、及びセンタリング処理回路４６を有する。
【００２８】
手振れ成分抽出回路４２は高域通過フィルタ（High Pass Filter：ＨＰＦ）であり、時系列の角速度データＤωが入力され、ここに含まれる低周波成分を減衰し目的補償帯域の振動成分を抽出する。目的補償帯域は、カメラの手振れが例えば２〜１０Ｈｚ程度の低い周波数を含むことに対応して、１Ｈｚ以上に設定される。すなわち、手振れ成分抽出回路４２はほとんど直流成分とみなせるような低周波数成分を減衰する一方、数Ｈｚ程度の成分は通過させる。手振れ成分抽出回路４２は浮動小数点形式で演算を行うデジタルフィルタで構成され、図示しないレジスタに設定されたフィルタ係数によりフィルタ特性が設定される。
【００２９】
積分回路４４は、手振れ成分抽出回路４２が出力する浮動小数点形式の角速度データを積分して、撮像装置の変位量を表す角度データＤθを生成する。積分回路４４はＬＰＦを用いて構成することができ、図示しないレジスタに設定されたフィルタ係数によりフィルタ特性が設定される。なお、積分回路４４にて生成される角度データＤθは上述のように撮像装置の変位量を表し、これをホールフィルタ２２への振動補償データＤSとして用いることもできるが、本システムでは、積分回路４４にて得られた角度データＤθに対して、さらにセンタリング処理を行った結果を振動補償データＤSとしてホールフィルタ２２へ供給している。
【００３０】
センタリング処理回路４６は、レンズ８が補償制御機構による可動限界に到達しにくくなるように変位量を修正する処理を行う。センタリング処理回路４６では、積分処理により得られる角度データＤθから、目的補償帯域の下限より低い周波数を有し直流と見なせる成分を減衰する。この場合、センタリング処理回路４６はＨＰＦを用いて構成することができる。このセンタリング用のＨＰＦは浮動小数点形式で演算を行うデジタルフィルタにより構成され、図示しないレジスタに設定されたフィルタ係数によりフィルタ特性を設定される。上述した手振れ成分抽出回路４２を構成するＨＰＦと同様、基本的に、センタリング処理回路４６を構成するＨＰＦのカットオフ周波数は目的補償帯域の下限より低く設定される。上述のようにセンタリング処理回路４６の処理結果が振動補償データＤSとなる。
【００３１】
ここで、本実施形態では、ジャイロセンサ１２は、ｘ軸回り、ｙ軸回りの角速度についての信号Ｖωを検出する。そして、ジャイロフィルタ２４では、信号Ｖωから算出したｘ軸及びｙ軸方向の角度データＤθに基づき、ｘ、ｙ軸方向の移動量である振動補償データＤSを算出し、レンズ８のｘ，ｙ軸方向の移動によって、像の位置を補償している。補償の形式は、これに限らず、その他方向についてレンズ８を移動することも可能である。
【００３２】
センタリング処理回路４６から出力される浮動小数点形式の振動補償データＤSはホールフィルタ２２の加算器３２に入力される。
【００３３】
ジャイロフィルタ２４の処理の過程では、固定小数点で表現できない範囲のデータが生じ得る。例えば、積分回路４４にて直流成分の累積により、積分結果が１６ビットの固定小数点形式データで表現可能な上限を超える値となり得る。この直流成分はセンタリング処理回路４６にて除去され、センタリング処理回路４６の処理結果は固定小数点形式で表現可能な範囲となり得るが、積分回路４４でオーバーフローが生じると、センタリング処理回路４６から出力される振動補償データＤSの精度が低下する。しかし、本システムのジャイロフィルタ２４は、角速度データＤωから振動補償データＤSを生成する処理を浮動小数点形式で表現されたデータに基づいて行うので、固定小数点形式では表現できないようなデータも正しく表現され、その正しい値に基づいて精度の高い振動補償データＤSを求めることができる。
【００３４】
また、ジャイロフィルタ２４では、角速度データＤωから振動補償データＤSを生成する処理をデジタルフィルタで行う構成としている。この構成は、マイクロプロセッサ等を設ける構成に比べて回路面積を縮小することが可能となる。これによって、回路部４が形成される半導体チップのコストを低減することが可能となる。また、上述の浮動小数点形式での演算をマイクロプロセッサで行う場合、固定小数点形式での演算を行う場合に比べて、高性能のプロセッサが必要となり、コスト増の要因となる。これに対してデジタルフィルタを用いる構成はマイクロプロセッサに比べて回路規模が小さいので、浮動小数点形式に対応した構成とする際のコスト増はマイクロプロセッサの場合より少ない。さらに、振動補償データＤSの生成のためにマイクロプロセッサ等を用いる必要がなくなり、回路部４での消費電力を低減することができる。また、ジャイロフィルタ２４をデジタルフィルタで構成することにより、フィルタ係数などの調整データを容易に変更することができる。これによって、撮像装置の設計に応じた調整データの設定を容易に変更することができる。
【００３５】
さらに、本実施形態においては、ホールフィルタ２２の加算器３２においての加算処理は、浮動小数点データである位置データＤPと、振動補償データＤSとの演算になる。
【００３６】
一方のデータが固定小数点形式であると、加算器３２において加算する際、浮動小数点側の出力（例えば、ジャイロフィルタ２４の出力）を固定小数点に変換する必要があり、この際に、固定小数点側にあわせて、上限値を設けたり、ゲインを変更しなければならない。このような処理は面倒であり、また上限値に入れ替えれることによって、精度も悪化するという問題がある。本実施形態では、加算器３２に入力されてくるデータは両方とも浮動小数点データであり、このような問題がない。
【００３７】
なお、本実施形態においては、入力データ形式変換回路４０は、位置データＤPと、角速度データＤωを時分割で出力するが、ホールフィルタ２２、ジャイロフィルタ２４は別回路にしている。このため、ホールフィルタ２２、ジャイロフィルタ２４において、十分な演算時間を確保することができる。
【００３８】
図３は、ジャイロフィルタ２４に用いるデジタルフィルタの構成例示す概略のブロック図である。デジタルフィルタ６０は１次ＩＩＲフィルタであり、乗算器６１，６２，６３、遅延回路６４，６５、及び加算器６６からなる。乗算器６１は、レジスタ等に設定された係数を浮動小数点形式の入力データに乗じ、乗算結果を加算器６６に入力する。乗算器６２は、遅延回路６４で遅延された浮動小数点形式の入力データに対して、レジスタ等に設定された係数を乗じ、乗算結果を加算器６６に入力する。乗算器６３は、加算器６６の出力を遅延回路６５で遅延させた浮動小数点形式のデータに対して、レジスタ等に設定された係数を乗じ、乗算結果を加算器６６に入力する。加算器６６はこれら乗算器６１〜６３の出力を加算して出力する。
【００３９】
デジタルフィルタ６０の演算範囲には上限又は下限を設定することができる。手振れ制御においては、通常、デジタルフィルタ６０内のデータの絶対値が浮動小数点形式で表現可能な最大の数値になることはない。また、例えば、積分回路４４にて演算結果が非常に大きな数値になった場合、正常な振動補償データが得られる状態に収束するまでの時間が長くなり、手振れ制御の追従性が低下する。そこで、本システムのデジタルフィルタ６０は、演算データの絶対値が所定の閾値を上回った場合、演算データを所定の上限値に置き換える。また、演算データの絶対値が、例えば、ＤＡＣ２６等が表現できないような小さな値となる場合、演算データを０に置き換える。これらの処理で用いられる閾値や上限値はレジスタ等に設定したものを用いる。
【００４０】
例えば、上限値、下限値への置き換えは加算器６６が行う。加算器はその演算結果の浮動小数点形式のデータの指数部が所定の閾値を超えた場合、演算結果を上限値に置き換え、一方、指数部が所定の閾値を下回った場合、演算結果を０に置き換える。
【００４１】
本実施形態では、カメラの振動検知、レンズ８の位置検知、及びレンズ８の駆動をそれぞれ、ジャイロセンサ１２、ホール素子１０、ＶＣＭ１４で行う構成としたが、それに限られるものではない。例えば、レンズ８を駆動する素子は、ステッピングモータやピエゾ素子を用いることができる。ステッピングモータを用いる場合、ホールフィルタ２２はホール素子１０に基づいた位置データＤPを用いずに、振動補償データＤSを用いてサーボデータＤSVを算出する。また、振動検知には、直線方向の加速度を検出するセンサを用いて、加速度信号に基づいて撮像装置の振動を検出する構成とすることができる。
【００４２】
また、本実施形態では、合焦調整部材として、レンズを駆動させて手振れ補正を行うレンズシフト方式としたが、撮像装置のぶれに応じてＣＣＤイメージセンサなどの撮像素子を合焦調整部材としてシフトさせるイメージセンサシフト方式にも適用することができる。この場合には、撮像素子の位置をセンサで検出し、当該撮像素子をアクチュエータで変位させる。
【００４３】
図４には、本実施形態の概念的な構成を示してある。ホール素子１０及びジャイロセンサ１２からの電圧信号ＶP，Ｖωは、ＡＤＣ２０において、時分割で固定小数点形式のデジタルデータにＡ／Ｄ変換される。得られた固定小数点形式のデータは、入力データ形式変換回路４０において、時分割で浮動小数点形式の位置データＤP、角度データＤωに変換される。角度データＤωは、ジャイロフィルタ２４に入力され、ここで浮動小数点形式のデータ演算によって、振動補償データＤSが算出され、ホールフィルタ２２に供給される。ホールフィルタ２２では、浮動小数点形式の位置データＤSと振動補償データＤSとからｘ，ｙ方向のサーボデータＤSVを算出し、これを出力データ形式変換回路４８に供給する。出力データ形式変換回路４８は、浮動小数点形式のサーボデータＤSVを固定小数点形式のサーボデータＤSVに変換する。
【００４４】
このようにして得られた、ｘ、ｙ方向の移動量を示すサーボデータＤSVは、ＤＡＣ２６においてアナログ電圧に変換され、ＶＣＭ１４のｘ，ｙ方向の移動用コイルの電流が制御され、検出された振動に対しレンズ８の位置が補償される。なお、ＰＷＭ制御の場合には、サーボデータＤSVがＰＷＭ回路に供給され、このＰＷＭ回路によりＶＣＭ１４のｘ方向コイル、ｙ方向コイルへの電流量がそのデューティーの制御によってコントロールされる。
【００４５】
ここで、上述のように、ホールフィルタ２２、ジャイロフィルタ２４は、演算を浮動小数点形式のデータ処理によって行う。ここで、この処理には、図３に示されるようなデジタルフィルタが使用される。このデジタルフィルタにおいては、乗算の係数や遅延量を設定する必要があり、これらの値は演算によって変更される。従って、これらの値はメモリに記憶しておき、必要に応じてメモリから読み出して書き換える。
【００４６】
通常の場合、これら係数などの書き換えは、ホールフィルタ２２，ジャイロフィルタ２４において、それぞれメモリからのデータを読み出して行うが、これらの処理において外部のマイコンにおけるＣＰＵの処理を伴う場合もある。
【００４７】
ホールフィルタ２２、ジャイロフィルタ２４では、上述のように浮動小数点形式のデータを取り扱うため、メモリにおいても浮動小数点形式のデータを記憶しておくことが好ましい。一方、ＣＰＵにおける演算を浮動小数点形式で行うと、固定小数点形式のデータについての演算に比べて、処理時間が大きくなるという問題がある。
【００４８】
そこで、図５に示すような構成として、ＣＰＵにおいては、固定小数点形式のデータ処理を行う。
【００４９】
各種のデータは、ＳＲＡＭで構成されるメモリ７０に浮動小数点形式のデータで記憶されている。ＣＰＵ７２は、必要とする場合に、メモリ７０内のデータを読み出し演算処理するが、この際に読み取りデータ形式変換部７４を介し、固定小数点データに変換したものを読み込む。そして、ＣＰＵ７２は演算結果を書込データ形式変換部７６を介し、浮動小数点形式に変換して、メモリ７０に書き込む。
【００５０】
ここで、ＣＰＵ７２は、その演算に当たって、固定小数点データについての演算が適切に行われた否かを判定できる。すなわち、演算結果を見れば、その演算においてオーバーフローが起きたりして小数点位置が不適切であることが認識できる。そこで、本実施形態では、演算結果において、固定小数点位置が不適切であった場合には、ＣＰＵ７２が読み取りデータ形式変換部７４に適切な固定小数点位置についての指示を供給し、読み取りデータ形式変換７４において設定する固定小数点形式を変更する。また、その読み取りデータについての演算結果についてメモリ７２に書き込む場合には、ＣＰＵ７２における演算におけるデータの固定小数点位置についての情報を書込データ形式変換回路７６に供給し、書込データ形式変換回路７６おいて指示された固定小数点位置に基づいて、適切な変換を行う。ＣＰＵ７２では、演算途中及び結果の中で一番大きな値において、オーバーフローが発生した場合には、固定小数点位置を１つ繰り上げ、ＭＳＢ及び第２ビットの両方が０の場合に、固定小数点位置１つ繰り下げる等の指示を発生することが好適である。
【００５１】
このようにして、幅広い浮動小数点データに対応して、適切な浮動小数点形式から固定小数点形式への変換が行え、ＣＰＵ７２において精度の問題を解消して、固定小数点形式のデータによる高速の処理が行える。
【符号の説明】
【００５２】
２  センサ部、４  回路部、６  駆動部、８  レンズ、１０  ホール素子、１２  ジャイロセンサ、１４  ボイスコイルモータ（ＶＣＭ）、２０  Ａ／Ｄ変換器（ＡＤＣ）、２２  ホールフィルタ、２４  ジャイロフィルタ、２６  Ｄ／Ａ変換器（ＤＡＣ）、２８  内部モニタ用回路、３２  加算器、３４  サーボ回路、４０  入力データ形式変換回路、４２  手振れ成分抽出回路、４４  積分回路、４６  センタリング処理回路、４８  出力データ形式変換回路、６０  デジタルフィルタ、６１，６２，６３，７２  乗算器、６４，６５  遅延回路、６６  加算器。
【図１】
2011242498.tif 000003
【図２】
2011242498.tif 000004
【図３】
2011242498.tif 000005
【図４】
2011242498.tif 000006
【図５】
2011242498.tif 000007