"振動に応じて撮像装置の光軸を補正する振動補正制御回路であって、前記撮像装置の振動を検出する振動検出素子の出力信号に応じて前記撮像装置の移動量を示す振動成分信号を生成する振動成分信号生成部と、駆動されるレンズの位置を検出する位置検出素子の出力信号および前記振動成分信号に基づいて、前記レンズの位置を補正すべく駆動素子を制御するための駆動信号を生成する駆動信号生成部と、を備え、前記振動成分信号生成部は、前記振動成分信号に前記レンズの楕円状の可動範囲に対応するリミットを設定するリミット回路を含むことを特徴とする振動補正制御回路。前記リミット回路は、前記振動成分信号が前記レンズの楕円状の可動範囲を超えたとき、その振動成分を示す一次方程式と、前記レンズの楕円状の可動範囲を示す楕円方程式の連立方程式を解くことにより、前記振動成分信号にリミットを設定することを特徴とする請求項1に記載の振動補正制御回路。前記リミット回路は、前記連立方程式を解くための除算回路および平方根回路を含み、前記除算回路および前記平方根回路は、それぞれ筆算アルゴリズムにより除算および平方根演算を実行する回路であることを特徴とする請求項2に記載の振動補正制御回路。前記振動成分信号のx軸成分およびy軸成分の値が、単位期間ごとにxn,yn、xn1,yn1、と遷移するとき、前記リミット回路は、xn1のリミット値をxn,ynから算出し、yn1のリミット値をxn1,ynから算出することを特徴とする請求項3に記載の振動補正制御回路。振動に応じて撮像装置の光軸を補正する振動補正制御回路であって、前記撮像装置の振動を検出する振動検出素子の出力信号に応じて前記撮像装置の移動量を示す振動成分信号を生成する振動成分信号生成部と、駆動される撮像素子の位置を検出する位置検出素子の出力信号および前記振動成分信号に基づいて、前記撮像素子の位置を補正すべく駆動素子を制御するための駆動信号を生成する駆動信号生成部と、を備え、前記振動成分信号生成部は、前記振動成分信号に前記撮像素子の楕円状の可動範囲に対応するリミットを設定するリミット回路を含むことを特徴とする振動補正制御回路。上述した機構を用いた光学式手振れ補正では、補正枠を超えてレンズを動かすことはできない。そこで、振動検出素子から出力される信号にリミッターを設定する必要がある。本発明者はこのリミッターを改良することにより、従来の光学式手振れ補正と比較し、補正精度を高める手法を見出した。本発明はこうした状況に鑑みなされたものであり、その目的は、手振れなどの振動による光軸のずれを光学的に補正する方式において、その補正精度を高める技術を提供することにある。本発明のある態様の振動補正制御回路は、振動に応じて撮像装置の光軸を補正する振動補正制御回路であって、撮像装置の振動を検出する振動検出素子の出力信号に応じて撮像装置の移動量を示す振動成分信号を生成する振動成分信号生成部と、駆動されるレンズの位置を検出する位置検出素子の出力信号および振動成分信号に基づいて、レンズの位置を補正すべく駆動素子を制御するための駆動信号を生成する駆動信号生成部と、を備える。振動成分信号生成部は、振動成分信号にレンズの楕円状の可動範囲に対応するリミットを設定するリミット回路を含む。本発明の別の態様もまた、振動補正制御回路である。この振動補正制御回路は、振動に応じて撮像装置の光軸を補正する振動補正制御回路であって、撮像装置の振動を検出する振動検出素子の出力信号に応じて撮像装置の移動量を示す振動成分信号を生成する振動成分信号生成部と、駆動される撮像素子の位置を検出する位置検出素子の出力信号および振動成分信号に基づいて、撮像素子の位置を補正すべく駆動素子を制御するための駆動信号を生成する駆動信号生成部と、を備える。振動成分信号生成部は、振動成分信号に撮像素子の楕円状の可動範囲に対応するリミットを設定するリミット回路を含む。本発明によれば、手振れなどの振動による光軸のずれを光学的に補正する方式において、その補正精度を高めることができる。図1は、本発明の実施の形態に係る振動補正制御回路100を搭載した撮像装置500の構成を示すブロック図である。撮像装置500は、レンズ70、駆動素子90、位置検出素子80、振動検出素子60、振動補正制御回路100、撮像素子200および画像処理部300を備える。振動補正制御回路100は、ADC20、振動成分信号生成部30、駆動信号生成部40およびDAC50を有する。振動成分信号生成部30は、HPF32、積分回路34、センタリング処理回路36およびリミット回路38を含む。駆動信号生成部40は、加算回路42およびサーボ回路44を含む。撮像素子200は、光学部品であるレンズ70を透過した光信号を電気信号に変換する。撮像素子200にはCCDセンサまたはCMOSComplementaryMetalOxideSemiconductorイメージセンサを採用することができる。画像処理部300は、撮像素子200により撮像された画像信号に対し、各種加工を施したり、圧縮符号化したりする。駆動素子90はレンズ70を駆動する。位置検出素子80はレンズ70の位置を検出する。振動検出素子60は撮像装置500に加わる振動を検出する。振動成分信号生成部30は、振動検出素子60の出力信号に応じて撮像装置500の移動量を求め、その移動量を補正するための振動成分信号を生成する。撮像装置500の移動量は、振動検出素子60の出力信号を積分して求めることができる。駆動信号生成部40は、位置検出素子80の出力信号および振動成分信号生成部30により生成された信号に基づいて、レンズ70の位置を補正すべく駆動素子90を制御するための駆動信号を生成する。駆動素子90は、この駆動信号に基づき、レンズ70の光軸と撮像素子200の中心とが一致するようレンズ70の位置を制御する。以下、振動補正制御回路100の構成および動作をより具体的に説明する。以下、振動検出素子60にジャイロセンサ60a、位置検出素子80にホール素子80a、駆動素子90にボイスコイルモータ90aを採用する例で説明する。ジャイロセンサ60aは撮像装置500を持つユーザの手振れによる振動を角速度として検出するセンサである。ジャイロセンサ60aは、撮像装置500のXYの2軸方向の角速度を検出する。ジャイロセンサによって得られたアナログ形式の角速度信号は、図示しない増幅回路により増幅された後、ADC20に出力される。ADC20は、当該増幅回路により増幅されたアナログ形式の角速度信号をデジタル形式の角速度信号に変換する。ADC20から出力された角速度信号は、振動成分信号生成部30に出力される。当該角速度信号はHPF32に入力される。HPF32は、ジャイロセンサ60aから出力された角速度信号のうち、手振れによる周波数成分より低い周波数成分を除去する。一般的に、手振れによる周波数成分は、1~20Hzであるため、たとえば、角速度信号から0.7Hz以下の周波数成分が除去される。積分回路34は、HPF32から出力される角速度信号を積分して、撮像装置500の移動量を示す振動成分信号を生成する。たとえば、積分回路34は、図示しないデジタルフィルタを含んで構成することが好適であり、図示しないレジスタに設定されたフィルタ係数に応じたフィルタ処理を行うことによって振動成分信号、つまり撮像装置500の移動量を求める。センタリング処理回路36は、積分回路34から出力される振動成分信号を原点方向にセンタリングする。センタリング処理回路36は、ハイパスフィルタで構成することが好適である。なお、センタリング処理回路36は静止画の撮影時にはオフされる。リミット回路38は、センタリング処理回路36から出力された振動成分信号に、レンズ70の楕円状の可動範囲に対応するリミットを設定する。リミット回路38の詳細な構成および動作は後述する。リミット回路38から出力される振動成分信号は、駆動信号生成部40より厳密には加算回路42に出力される。ホール素子80aは、ホール効果を利用した磁気センサであり、レンズ70のX軸およびY軸方向の位置検出素子として機能する。ホール素子80aによって得られたレンズ70の位置情報を含むアナログ形式の位置信号は、図示しない増幅回路により増幅された後、ADC20に出力される。ADC20は、当該増幅回路により増幅されたアナログ形式の位置信号をデジタル形式の位置信号に変換する。ADC20は上記アナログ形式の角速度信号および上記アナログ形式の位置信号を時分割でデジタルの信号に変換する。なお、ADC20は振動補正制御回路100内に搭載されるのではなく、モジュール化されたジャイロセンサ60aおよびホール素子80aにそれぞれ搭載されていてもよい。ADC20から出力された位置信号は駆動信号生成部40に出力される。駆動信号生成部40の加算回路42には、当該位置信号および振動成分信号生成部30から出力された振動成分信号が入力される。加算回路42は、入力された位置信号と振動成分信号とを加算し、サーボ回路44に出力する。サーボ回路44は、加算回路42からの出力信号に応じて、ボイスコイルモータ90aの駆動を制御するための駆動信号を生成する。なお、サーボ回路44において、サーボ制御用のデジタルフィルタを用いたフィルタ処理が行われてもよい。DAC50は、サーボ回路44から出力されたデジタル形式の駆動信号をアナログ形式の駆動信号に変換する。当該駆動信号は、図示しない増幅回路により増幅された後、ボイスコイルモータ90aに出力される。ボイスコイルモータ90aは、当該駆動信号に基づいてレンズ70のX軸およびY軸方向の位置を移動させる。以下、本実施の形態に係る撮像装置500の動作を手振れがない場合と手振れがある場合に分けて説明する。手振れがない場合の動作手振れがない場合、撮像装置500に角速度が生じないため、振動成分信号生成部30が出力する信号は0となる。ボイスコイルモータ90aによって駆動されるレンズ70の位置は、その光軸と撮像装置500に備えられる撮像素子200の中心とが一致する。この状態では、ホール素子80aから出力される位置信号は0であり、サーボ回路44は、現在のレンズ70の位置を維持するための駆動信号をボイスコイルモータ90aに出力する。また、レンズ70の光軸と撮像素子200の中心とが一致しない場合、ホール素子80aから出力される位置信号は0と異なる値となり、サーボ回路44は、その値に応じて、位置信号の値を0にするための駆動信号をボイスコイルモータ90aに出力する。この動作を繰り返すことによって、レンズ70の光軸と撮像素子200の中心とが一致するように、レンズ70の位置が制御される。手振れがある場合の動作上述したように、ボイスコイルモータ90aによって駆動されるレンズ70の位置は、その光軸と撮像素子200の中心とが一致するよう制御される。両者が一致している状態では、ホール素子80aから出力される位置信号は0である。一方、手振れによって撮像装置500が移動するため、振動成分信号生成部30は、ジャイロセンサ60aにより検出された角速度信号に基づいて、撮像装置500の移動量を示す振動成分信号を駆動信号生成部40に出力する。加算回路42は、ホール素子80aが出力する0の位置信号と、振動成分信号生成部30が出力する0以外の振動成分信号とを加算する。サーボ回路44は、この信号に応じて、ボイスコイルモータ90aの駆動信号を生成する。この駆動信号はレンズ70を移動させる補正信号となる。ボイスコイルモータ90aは、サーボ回路44が出力する補正信号に基づいてレンズ70を移動させる。これにより、撮像素子200は手振れによる被写体のぶれを抑制した信号を得ることができる。この制御を繰り返すことによって、手振れ補正制御が実現される。図2a、bは、リミット回路38によるリミット値の設定方法を説明するための図である。上述したように、リミット回路38はレンズ70の可動範囲すなわち、アクチュエータの駆動範囲に収まるようにセンタリング処理回路36から出力される振動成分信号にリミット値を設定する。リミット値を固定値にする場合、レンズ70の駆動範囲はX、Y平面上において四角になる。図2aは、四角リミッターLsを採用した場合のレンズ70の可動範囲を示す図である。四角リミッターLsはX軸の正負のリミット値、Y軸の正負のリミット値の四つの固定値でリミット値を設定できる。ただし、レンズ70の形状は楕円円を含む状であり、このような四角リミッターLsは可動範囲に制限ができ非効率である。図2bは、楕円リミッターLeを採用した場合のレンズ70の可動範囲を示す図である。楕円図2bでは真円の例を描いているリミッターLeを採用すると四角リミッターLsを採用する場合と比較し、レンズ70の可動範囲が広くなることが分かる。図3は、四角リミッターを採用する場合のリミット回路38の構成を示す図である。当該リミット回路38は、第1レジスタR1、比較器C1および第3レジスタR3を含む。第1レジスタR1には値±Xnが入力され、第1レジスタR1は所定のタイミングで保持している値±Xnを比較器C1に出力する。比較器C1は第1レジスタR1から入力される値±Xnと、リミット値Lmtxとを比較し、前者が後者以上のとき、値±Lmtxを第2レジスタR2に出力し、前者が後者未満のとき、値±Xnを第2レジスタR2に出力する。図4は、楕円リミッターを採用する場合の基本アルゴリズムを説明するための図である。楕円リミッターを採用する場合において、センタリング処理回路36から出力される振動成分信号がレンズ70の楕円状の可動範囲を超えたとき、リミット回路38は、その振動成分を示す一次方程式と、レンズ70の楕円状の可動範囲を示す楕円方程式の連立方程式を解くことにより、上記振動成分信号にリミット値を設定する。図4に示すようにAxA,yA点をBxB,yB点に移動させるための楕円リミッターを考える。すなわち、楕円リミッターから外れた点を原点方向に収束させ、楕円リミッターまで移動させる。なお、楕円リミッターを設定する際、アクチュエータの物理的駆動範囲が考慮される。交点Bの値は下記式1および式2から導かれる。x2/a2y2/b2=1...式1y=yA/xAx...式2上記式1および式2を解くと、下記式3および式4が導かれる。x2=a2b2xA2/b2xA2a2yA2∴x=±√a2b2xA2/b2xA2a2yA2...式3y2=a2b2yA2/b2xA2a2yA2∴y=±√a2b2yA2/b2xA2a2yA2...式4図5は、図4をより一般化した図である。上記式3および式4を演算するにあたって、楕円半径のa2やb2が多用されており、演算量削減のため、a2、b2を固定値として設定する。上記式3および式4の解として、図5に示すB点、B2点、B3点、B4点の四つが存在するが、第2象限~第4象限は第1象限の鏡像であるため、リミッターの設定値としては第1象限の解のみを扱う。求めた解を、リミット回路38のリミット値として毎回書き換えを行い、楕円リミッター動作を行う。なお、A2点のように楕円リミッター内の値に対しては、リミット回路38の出力値はA2点の値となる。以下、上述した演算処理を実行する際の工夫について説明する。センタリング処理回路36から出力される振動成分信号のx軸成分およびy軸成分の値が、単位期間ごとにxn,yn、xn1,yn1、と遷移するとき、リミット回路38は、xn1のリミット値をxn,ynから算出し、yn1のリミット値をxn1,ynから算出する。なお、nは整数である。以下、より具体的に説明する。振動成分信号のx軸成分およびy軸成分の動きが、x0,y0、x1,y1、x2,y2と遷移するとき、原則的に、y1のリミット値はx1,y1から、x2のリミット値はx2,y1から演算されるべきである。しかしながら、上記式3および式4から分かるように、リミット値の演算は、除算と平方根の演算が必要であり、リアルタイム処理1クロック処理では回路規模が増大する。また、筆算アルゴリズムによる処理数10クロック処理では、所定の時間内に処理が完了しない。当該クロックは振動補正制御回路100で使用されているシステムクロックを指す。なお、筆算アルゴリズムとは加算、減算、ビットシフト、比較といった基本演算を繰り返すことにより、乗算、除算、平方根といった高度な演算を実現するものである。そこで、本実施の形態に係るリミッターの演算処理では、x軸成分およびy軸成分の動きが連続していることを利用して、前置を用いてリミット値を計算する。より具体的には、y1のリミット値はx1,y0から演算し、x2のリミット値はx1,y1から演算する。これにより、y1のリミット値はx1の確定後、y1が確定するまでに演算が終了すればよく、x2のリミット値はy1の確定後、x2が確定するまでに演算が終了すればよい。このように、前置を用いることにより演算処理の時間を確保できる。したがって、除算や平方根の演算を筆算アルゴリズムにより実現でき、回路規模の増大を抑制しつつ、精度が低下しない楕円リミッターを提供できる。以下、リミット値の具体的な計算例を挙げる。a2、b2、A0点、A1点、A2点、A3点に関する以下の前提をもとに、B1点、B2点、B3点のリミット値を計算する。a2=0.82=0.64b2=0.52=0.25A0-0.1、0.9A10.0、1.0A20.2、0.8A30.3、0.7XLmt1=√a2b2xA02/b2xA02a2yA02=√0.640.25-0.12/0.25-0.120.640.92=√0.0016/0.5209=0.0554YLmt1=√a2b2yA02/b2xA12a2yA02=√0.640.250.92/0.250.020.640.92=√0.1296/0.5184=0.50XLmt2=√a2b2xA12/b2xA12a2yA12=√0.640.250.02/0.250.020.641.02=√0.0/0.64=0.0YLmt2=√a2b2yA12/b2xA22a2yA12=√0.640.251.02/0.250.220.641.02=√0.16/0.65=0.496XLmt3=√a2b2xA22/b2xA22a2yA22=√0.640.250.22/0.250.220.640.82=√0.0064/0.4196=0.124YLmt3=√a2b2yA22/b2xA32a2yA22=√0.640.250.82/0.250.320.640.82=√0.1024/0.4321=0.487図6は、上記計算例をまとめた表を示す図である。図7は、上記式3および式4を解くための具体的な回路構成を示す図である。当該回路はリミット回路38に搭載される。当該回路は、フィルタ回路、除算回路D1および平方根回路S1を備える。当該フィルタ回路は、第3レジスタR3、第1乗算器M1、第4レジスタR4、第2乗算器M2、第5レジスタR5、第5乗算器M5、第9レジスタR9、第6レジスタR6、第3乗算器M3、第7レジスタR7、第4乗算器M4、第8レジスタR8、加算器AD1および第10レジスタR10を含む。なお、以下の説明ではxA=x0、yA=y0とする。第3レジスタR3にx0、y0が入力され、第3レジスタR3は所定のタイミングで保持しているx0、y0を第1乗算器M1に出力する。第1乗算器M1はx0、y0を二乗し、x02、y02を第4レジスタR4に出力する。第4レジスタR4はx02、y02を一時保持し、所定のタイミングで第2乗算器M2に出力する。第2乗算器M2は、x02、y02にb2、a2をそれぞれ乗算し、第5レジスタR5に出力する。第5レジスタR5は、b2x02、a2y02を一時保持し、所定のタイミングで第5乗算器M5および加算器AD1にそれぞれ出力する。第5乗算器M5は、b2x02、a2y02にa2、b2をそれぞれ乗算し、第9レジスタR9に出力する。第9レジスタR9は、a2b2x02、b2a2y02を一時保持し、所定のタイミングで除算回路D1に出力する。上記式3および式4に示したようにa2b2x02、b2a2y02は、除算する際の被除数分子となる。第6レジスタR6にy0、x0が入力され、第6レジスタR6は所定のタイミングで保持しているy0、x0を第3乗算器M3に出力する。第3乗算器M3はy0、x0を二乗し、y02、x02を第7レジスタR7に出力する。第7レジスタR7はy02、x02を一時保持し、所定のタイミングで第4乗算器M4に出力する。第4乗算器M4は、y02、x02にa2、b2をそれぞれ乗算し、第8レジスタR8に出力する。第8レジスタR8は、a2y02、b2x02を一時保持し、所定のタイミングで加算器AD1に出力する。加算器AD1はb2x02、a2y02とa2y02、b2x02とをそれぞれ加算し、第10レジスタR10に出力する。第10レジスタR10は、b2x02a2y02、b2x02a2y02を一時保持し、所定のタイミングで除算回路D1に出力する。上記式3および式4に示したようにb2x02a2y02、b2x02a2y02は、除算する際の除数分母となる。除算回路D1は、a2b2x02、b2a2y02をb2x02a2y02、b2x02a2y02で除算する。除算回路D1は除算結果を平方根回路S1に出力する。平方根回路S1は、当該除算結果の平方根を演算し、リミット値として出力する。なお、除算回路D1および平方根回路S1は筆算アルゴリズムを実現するための筆算回路で構成される。以上説明したように本実施の形態によれば、リミッターを楕円に設定することにより、手振れなどの振動による光軸のずれを光学的に補正する方式において、その補正精度を高めることができる。すなわち、リミッターを四角に設定する場合と比較し、レンズ70の可動範囲を広めることができる。以上、本発明をいくつかの実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。なお、上述した実施の形態では、振動検出素子60、位置検出素子80および駆動素子90をそれぞれジャイロセンサ60a、ホール素子80aおよびボイスコイルモータ90aとする例を説明した。本発明はそれに限られるものではない。たとえば、振動検出素子60は直線方向の加速度を検出するセンサを用いて、加速度信号に基づいて撮像装置500の振動を検出する構成にすることができる。また、駆動素子90はピエゾ素子やステッピングモータなどを用いることができる。位置検出素子80はMR素子またはフォトスクリーンダイオードなどを用いることができる。また、以上の実施の形態では、レンズを駆動させて手振れ補正処理を行うレンズシフト式としたが、本発明はこれに限られるものではない。たとえば、本発明は撮像装置500のブレに応じて撮像素子200をシフトさせる撮像素子シフト方式にも適用できる。このとき、位置検出素子80は撮像素子200の位置を検出し、駆動素子90は撮像素子200を駆動する。"