以下、図面を参照して本発明の実施形態を説明する。
[第1の実施形態]
まず、第1の実施形態について説明する。図1は、本発明の各実施形態に係る撮像装置の概略の構成を示す図である。図1に示す撮像装置1は、交換レンズ100と、本体200とを有している。交換レンズ100は、本体200に設けられたマウント202を介して本体200に装着される。交換レンズ100が本体200に装着されることによって、交換レンズ100と本体200とは通信自在に接続される。これにより、交換レンズ100と本体200とは協働して動作する。なお、撮像装置1は、必ずしもレンズ交換式の撮像装置でなくて良い。例えば、撮像装置1は、レンズ一体型の撮像装置であっても良い。
交換レンズ100は、光学系102を有している。光学系102は、例えば複数のレンズ及び絞りを含み、図示しない被写体からの光束を本体200の手ぶれ補正ユニット206に入射させる。図1の光学系102は、複数のレンズによって構成されているが、光学系102は、1枚のレンズで構成されていても良い。また、光学系102は、フォーカスレンズを有していても良いし、ズームレンズとして構成されていても良い。これらの場合、光学系102の少なくとも一部のレンズは、光軸Oに沿った方向であるZ方向に沿って移動自在に構成されている。
本体200は、シャッタ204と、手ぶれ補正ユニット206と、モニタ208と、操作部210と、制御回路212とを有している。
シャッタ204は、例えば手ぶれ補正ユニット206の前側(Z方向の正の側とする)に配置されるフォーカルプレーンシャッタである。このシャッタ204は、開かれることにより、手ぶれ補正ユニット206を露出状態にする。また、シャッタ204は、閉じられることにより、手ぶれ補正ユニット206を遮光状態にする。
手ぶれ補正ユニット206は、図示しない被写体を撮像することによって被写体に係る撮像画像を生成する。また、手ぶれ補正ユニット206は、可動部をコイルと磁石とを用いたVCM(ボイスコイルモータ)によって固定部に対して移動させることにより、手ぶれ等によって撮像画像に生じる像ぶれを補正する。手ぶれ補正ユニット206の構成については後で詳しく説明する。
モニタ208は、例えば液晶ディスプレイであり、手ぶれ補正ユニット206で生成された撮像画像に基づく画像を表示する。また、モニタ208は、ユーザが撮像装置1の各種の設定を行うためのメニュー画面を表示する。なお、モニタ208は、タッチパネルを有していても良い。
操作部210は、例えばレリーズボタンである。レリーズボタンは、ユーザが撮像装置1による撮影開始を指示するためのボタンである。なお、操作部210は、レリーズボタン以外の各種の操作部も含む。
制御回路212は、例えばCPUやメモリを含むASICで構成され、撮像装置1における撮影動作等の撮像装置1の全体の動作を制御する。
次に、手ぶれ補正ユニット206の構成についてさらに説明する。図2は、手ぶれ補正ユニット206の組み立て状態の図を示している。図2に示すように、手ぶれ補正ユニット206は、概略的には、2つの固定部301、302と、固定部301及び302の間に挟まれるように配置された可動部303とによって構成されている。このような構成において、手ぶれ補正ユニット206は、可動部303を光軸Oに対して垂直な面内(図2のX方向及びY方向)で平行移動させる。また、手ぶれ補正ユニット206は、可動部303を光軸Oの周りの回転方向に移動させる。
まず、手ぶれ補正ユニット206における可動部303の移動に関する構成について説明する。図3は、手ぶれ補正ユニット206の分解斜視図である。図3に示すように、可動部303から見てモニタ208の側に配置される固定部301は、略長方形状の板部材であって本体200に固定されている。この固定部301の外周には、X方向移動用の磁石3011と、X方向及びY方向の両方の移動用の磁石3012とがそれぞれ接着されている。
磁石3011は、Y方向が長手方向である直方体状であって可動部303の側にN極が向くように配置された第1の磁石と、長手方向であるY方向の長さが第1の磁石よりも短い直方体状であって可動部303の側にS極が向くように配置された第2の磁石とを有している。固定部301の第2の磁石は、可動部303から見て第1の磁石の右側面中央部に隣接するように配置されている。また、磁石3012は、Y方向が長手方向である直方体状であって可動部303の側にN極が向くように配置された第1の磁石と、Y方向の長さが第1の磁石よりも短く、X方向が長手方向である直方体状であって可動部303の側にS極が向くように配置された第2の磁石とを有している。第2の磁石は、可動部303から見て第1の磁石の右側面中央部に隣接するように配置されている。
磁石3012は、長手方向であるX方向の長さが第2の磁石よりも短い直方体状であって可動部303の側にN極が向くように配置された第3の磁石を有している。第3の磁石は、可動部303から見て第2の磁石の下側面に配置されている。すなわち、磁石3012を構成する第2の磁石は、第1の磁石との組合せによってX方向移動用の磁石として機能するとともに、第3の磁石との組合せによってY方向移動用の磁石として機能する。
可動部303から見てシャッタ204の側に配置される固定部302は、可動部303の撮像素子ユニット3034を保持するための開口が形成された略L字状の板部材である。固定部302における固定部301の磁石3011及び3012と対応する位置には、X方向移動用の磁石3021と、X方向及びY方向の両方の移動用の磁石3022とがそれぞれ接着されている。磁石3021は、磁石3011と同一の構成を有しており、磁石3011に対して異極が向くように配置されている。磁石3022は、磁石3012と同一の構成を有しており、磁石3012に対して異極が向くように配置されている。
可動部303は、固定部302と同様の撮像素子ユニット3034を搭載するための開口が形成された略L字状の板部材である。この可動部303の外周部には、X方向移動用のコイル3031及び3032aと、Y方向移動用のコイル3032bとが配置されている。コイル3031は、可動部303のY方向に延びている板状部における磁石3011と磁石3021とに対応する位置に配置されている。コイル3032aは、可動部303のY方向に延びている板状部における磁石3012及び磁石3022の第1の磁石と第2の磁石とに対応する位置に配置されている。コイル3032bは、可動部303のX方向に延びている板状部における磁石3012及び磁石3022の第2の磁石と第3の磁石とに対応する位置に配置されている。
また、可動部303の開口には、撮像素子ユニット3034が搭載されている。撮像素子ユニット3034は、撮像素子及びその制御回路を含むユニットである。本実施形態における撮像素子ユニット3034は、撮像素子と、信号処理部と、A/D変換部と、画像処理部とを有する。撮像素子は、被写体を撮像して被写体に係る撮像画像信号を生成する。信号処理部は、撮像画像信号に対して増幅処理等のアナログ処理を施す。A/D変換部は、信号処理部で処理された撮像画像信号をデジタル信号に変換する。画像処理部は、撮像画像信号に対して画像処理を施して撮像画像を生成する。また、画像処理部は、複数の撮像画像を合成して超解像画像を生成することも行う。
さらに、固定部301には2つのねじ受け3015が形成されており、固定部302のねじ受け3015と対応する部分には、ねじ受け穴3025が形成されている。そして、固定部302は、固定部301との間に可動部303を挟んだ状態でねじ止め固定される。このとき、コイル3031、コイル3032a及び3032bと、磁石3011、磁石3012、磁石3021、磁石3022とは、所定の間隔を維持した非接触状態になっている。
このような構成において、コイル3031、3032a、3032bの何れかに対する通電が開始されると、可動部303は、固定部301と固定部302との間で浮遊状態となる。この状態でコイル3031、3032a、3032bに通電する駆動電流の大きさを制御することで、可動部303は平行移動又は回転する。
次に、可動部303の位置検出に係る構成について説明する。固定部301には、3つの位置検出磁石3013が配置されている。位置検出磁石3013のうちの1つは、固定部301の上部に配置されている。また、位置検出磁石3013のうちの1つは、固定部301の下部に配置されている。また、位置検出磁石3013のうちの1つは、固定部301の左部に配置されている。さらに、可動部303の裏面の位置検出磁石に対応する位置には、図4に示すように3つのホールセンサ3033が設けられている。固定部301の上部に設けられた位置検出磁石3013と可動部303の上部に設けられたホールセンサ3033との対によって可動部303のX方向の第1の変位量を磁界の変化量として検出する。また、固定部301の下部に設けられた位置検出磁石3013と可動部303の下部に設けられたホールセンサ3033との対によって可動部303のX方向の第2の変位量を磁界の変化量として検出する。また、固定部301の左部に設けられた位置検出磁石3013と可動部303の左部に設けられたホールセンサ3033との対によって可動部303のY方向の変位量を磁界の変化量として検出する。そして、それぞれのホールセンサ3033から出力される信号の差異により、可動部303の位置は検出される。
図5は、第1の実施形態に係る撮像装置1の機能ブロック図である。本実施形態における撮像装置1は、手ぶれ補正、通常静止画撮影、超解像撮影を行う。手ぶれ補正は、手ぶれ等に起因して撮像画像に生じる像ぶれを抑制するように可動部303を移動させる処理である。通常静止画撮影は、1回の撮影を行って1枚の撮像画像を得る処理である。超解像撮影は、可動部303を画素ピッチ以下の画素ずらし量だけずらしながら複数回の撮影を行い、複数回の撮影によって得られた複数の撮像画像を合成することにより、本来の撮像素子の画素数よりも高解像度の撮像画像を得る処理である。
図5に示すように、撮像装置1は、手ぶれ補正ユニット206と、位置信号処理部402と、位置信号処理制御部404と、減算部406と、駆動制御部408と、モータドライバ410とを機能ブロックとして有している。これらはハードウェアで構成されていてもよいし、ソフトウェアで構成されていてもよい。ここで、図5の位置信号処理部402と、位置信号処理制御部404と、減算部406と、駆動制御部408と、モータドライバ410とは、VCMの数だけ設けられている。本実施形態では、1つのVCMに対応する構成のみ説明する。なお、図5においては、手ぶれ補正ユニット206に設けられているVCM(移動用磁石とコイルとによって構成されている)のうちの1つがVCM412として、また、手ぶれ補正ユニット206に設けられているホールセンサ3033のうちの1つがホールセンサ414として示されている。
位置信号処理部402は、手ぶれ補正ユニット206のホールセンサ414からのアナログ信号を取り込み、取り込んだアナログ信号を可動部303の位置を表す現在位置信号に変換し、変換した現在位置信号を減算部406に出力する。この位置信号処理部402は、ホールセンサ414からのアナログ信号を可動部303の可動範囲の全範囲に対するアナログ信号として取り込む第1の設定とホールセンサ414からのアナログ信号を可動部303の可動範囲を複数に分割した範囲の何れかに対するアナログ信号として取り込む第2の設定の何れかで現在位置信号の出力動作を行う。
位置信号処理部402は、位置検出回路4021と、アナログデジタル変換部(ADC)4022と、位置信号演算部4023と、位置信号補正部4024とを有している。
位置検出回路4021は、ホールセンサ414から出力されたアナログ信号を第1の設定に対応したアナログ信号又は第2の設定に対応したアナログ信号に変換してADC4022に出力する。図6は、一例の位置検出回路4021の回路構成を示す図である。図6に示すように、一例の位置検出回路4021は、増幅率とオフセットとを設定可能な差動増幅回路であり、オペアンプ4021aと、抵抗4021b、抵抗4021cと、可変抵抗4021d、可変抵抗4021eと、デジタルアナログ変換部(DAC)4021fとを有している。
図6において、オペアンプ4021aのマイナス入力端子は、抵抗4021bの一端に接続されている。この抵抗4021bの他端は、ホールセンサ414の一端に接続されている。オペアンプ4021aのプラス入力端子は、抵抗4021cの一端に接続されている。この抵抗4021cの他端は、ホールセンサ414の他端に接続されている。抵抗4021bの一端とオペアンプ4021aの出力端子との間には、可変抵抗4021dが接続されている。オペアンプ4021aのプラス入力端子と抵抗4021cの一端との間には、可変抵抗4021eの一端が接続されている。この可変抵抗4021eの他端には、DAC4021fが接続されている。このような構成において、位置検出回路4021における増幅率は、抵抗4021b及び4021c並びに可変抵抗4021d及び4021eの抵抗値に応じて決定される。また、位置検出回路4021におけるオフセットは、DAC4021fのデジタル値に応じて決定される。可変抵抗4021d及び4021eの抵抗値並びにDAC4021fに入力されるオフセットのデジタル値は、位置信号処理制御部404によって設定される。
ここで、図6で示した位置検出回路4021の構成は、あくまでも一例である。例えば、図6で示した位置検出回路4021において、抵抗4021b、4021cが可変抵抗、可変抵抗4021d、4021eが固定抵抗であってもよい。
図7(a)は、可動部303のストローク位置(変位量)に対する第1の設定に設定されている位置検出回路4021の出力を示した図である。第1の設定では、可動部303の可動範囲の全範囲のアナログ信号をAD変換部4022のAD変換範囲に収めるように増幅率とオフセットとが設定される。例えば、ストローク位置が可動範囲のマイナス側の最大位置AであるときにADC4022でAD変換可能な下限の電圧値が出力され、可動部303のストローク位置が可動範囲のプラス側の最大位置DであるときにADC4022でAD変換可能な上限の電圧値が出力されるように増幅率とオフセットとが設定される。したがって、増幅率とオフセットとは、ホールセンサ414の感度によって個別に設定されることになる。
図7(b)は、可動部303のストローク位置(変位量)に対する第2の設定にされている位置検出回路4021の出力を示した図である。第2の設定では、可動部303の可動範囲は、位置検出分解能(可動部303の変位に対する位置検出回路4021の出力の変化量)が同等である複数の範囲に分割される。例えば、可動部303のストローク位置の変化に対して位置検出回路4021の出力が線形に変化する場合、可動範囲は等分割される。図7(b)の例では、可動部303の可動範囲は、範囲1、範囲2、範囲3の3つの範囲に等分割されている。そして、第2の設定では、分割された範囲のそれぞれにおいてアナログ信号をAD変換部4022のAD変換範囲に収めるように増幅率とオフセットとが設定される。例えば、範囲1では、ストローク位置が可動範囲のマイナス側の最大位置AであるときにADC4022でAD変換可能な下限の電圧値が出力され、可動部303のストローク位置が可動範囲のプラス側の最大位置BであるときにADC4022でAD変換可能な上限の電圧値が出力されるように増幅率とオフセットとが設定される。範囲2では、ストローク位置が可動範囲のマイナス側の最大位置BであるときにADC4022でAD変換可能な下限の電圧値が出力され、可動部303のストローク位置が可動範囲のプラス側の最大位置CであるときにADC4022でAD変換可能な上限の電圧値が出力されるように増幅率とオフセットとが設定される。範囲3では、ストローク位置が可動範囲のマイナス側の最大位置CであるときにADC4022でAD変換可能な下限の電圧値が出力され、可動部303のストローク位置が可動範囲のプラス側の最大位置DであるときにADC4022でAD変換可能な上限の電圧値が出力されるように増幅率とオフセットとが設定される。このような設定がされた場合、範囲1の直線と、範囲2の直線と、範囲3の直線とは等しい傾きを持つ、すなわち同等の位置検出分解能を持つことになる。また、それぞれの範囲における直線の傾きは、図7(a)に示した全範囲における直線の傾きよりも大きくなる。なお、第2の設定においても、増幅率とオフセットとは、ホールセンサ414の感度によって個別に設定されることになる。ホールセンサ414の感度が高い場合には、範囲の分割数は3つよりも多くなることもあり得る。
ここで、可動部303のストローク位置は温度特性等によって変動し得る。このため、実際には、この変動分を考慮した範囲を可動範囲として増幅率とオフセットとが設定されることが望ましい。例えば、第1の設定について、図7(a)では、可動部303のストローク位置が位置Aよりも所定量だけマイナスされた位置A´であるときにADC4022でAD変換可能な下限の電圧値が出力され、可動部303のストローク位置が位置Dよりも所定量だけプラスされた位置D´であるときにADC4022でAD変換可能な上限の電圧値が出力されるように増幅率とオフセットとが設定されている。また、第2の設定について、図7(b)の範囲1では、可動部303のストローク位置が位置Aよりも所定量だけマイナスされた位置A´であるときにADC4022でAD変換可能な下限の電圧値が出力され、可動部303のストローク位置が位置Bよりも所定量だけプラスされた位置B´であるときにADC4022でAD変換可能な上限の電圧値が出力されるように増幅率とオフセットとが設定されている。同様に、図7(b)の範囲2では、可動部303のストローク位置が位置Bよりも所定量だけマイナスされた位置B´´であるときにADC4022でAD変換可能な下限の電圧値が出力され、可動部303のストローク位置が位置Cよりも所定量だけプラスされた位置C´であるときにADC4022でAD変換可能な上限の電圧値が出力されるように増幅率とオフセットとが設定されている。また、同様に、図7(b)の範囲3では、可動部303のストローク位置が位置Cよりも所定量だけマイナスされた位置C´´であるときにADC4022でAD変換可能な下限の電圧値が出力され、可動部303のストローク位置が位置Dよりも所定量だけプラスされた位置D´であるときにADC4022でAD変換可能な上限の電圧値が出力されるように増幅率とオフセットとが設定されている。
ここで、図5の説明に戻る。ADC4022は、位置検出回路4021から出力されたアナログ信号をデジタル信号であるAD値に変換する。図8(a)は図7(a)で示した位置検出回路4021からの出力のAD変換結果を示す図であり、図8(b)は図7(b)で示した位置検出回路4021からの出力(例えば範囲1)のAD変換結果を示す図である。前述したように、第2の設定におけるストローク位置の変化に対する位置検出回路4021の出力の大きさの変化(図7(b)の直線の傾き)は、第1の設定におけるストローク位置の変化に対する位置検出回路4021の出力の大きさの変化(図7(a)の直線の傾き)よりも大きくなる。したがって、第2の設定におけるAD変換の分解能(デジタル値として取り込まれる信号の最下位ビットが示す長さ[μm/LSB])は、第1の設定におけるAD変換の分解能よりも高くなる。すなわち、第2の設定では、第1の設定よりも高精度の位置検出をすることが可能である。
位置信号演算部4023は、AD変換部4022で得られたAD値から可動部303の現在位置を示す現在位置信号を生成する。現在位置信号は、第1の設定であっても第2の設定であっても同じになるように生成される。すなわち、第1の設定であっても第2の設定であっても、ホールセンサ414から出力されるアナログ信号に対して同じ位置を示すように現在位置信号が生成される。このような現在位置信号は、例えば以下の(式1)の演算によって生成される。
現在位置=A×AD値+B (式1)
ここで、(式1)のAD値は、ADC4022で得られたAD値である。また、A、Bは、第1の設定が行われているか、第2の設定が行われているか、第2の設定が行われている場合には、範囲は範囲1、範囲2、範囲3の何れであるかに応じて設定される定数である。
図9は、A、Bの設定例である。図9で示した範囲毎のA、Bは、位置信号演算部4023の図示しないメモリに記憶されている。ここで、図9の例では、ADC4022のビット数は12ビットである。可動部303の可動範囲は、−50〜1050μmであり、可動部303等の温度特性による影響が考慮されて1000μmの範囲から±50μmだけ拡げられている。この可動範囲のうち、範囲1は−50〜350μmの400μmの範囲であり、範囲2は300μm〜700μmの400μmの範囲であり、範囲3は650μm〜1050μmの400μmの範囲である。前述したように、範囲1、範囲2、範囲3は位置検出分解能が等しくなるように設定されている。このとき、ADC4022における分解能は、第1の設定では0.29[μm/LSB]であり、第2の設定では0.10[μm/LSB]になる。このような設定において、A、Bは、現在位置信号の位置検出分解能を0.10[μm/LSB]にするように設定されている。
図9のようにA、Bが設定されることにより、第1の設定と第2の設定の何れであっても、可動部303のストローク位置に対して同じ現在位置信号を生成することができる。例えば、図10(a)に示すように、第1の設定においては、範囲1の中のストローク位置Eに対応する位置検出回路4021の出力がV1[mV]であったとする。また、図10(b)に示すように、第2の設定においては、範囲1の中のストローク位置Eに対応する位置検出回路4021の出力がV2(V1<V2)[mV]であったとする。このとき図9のようにしてA、Bが設定されている位置信号演算部4023の出力は、第1の設定においては図11(a)に示すものとなり、第2の設定においては図11(b)に示すものとなる。図11(b)の直線は、範囲1だけの直線である以外は、図11(a)の直線と等しい。すなわち、ストローク位置に対する位置信号演算部4023の出力は、第1の設定であっても第2の設定であっても等しくなる。
なお、図9の設定は、一例であり、可動部303の可動範囲の設定、ADC4022のビット数の設定、現在位置信号の位置検出分解能の設定等により、A、Bは適宜変更され得る。
位置信号補正部4024は、位置信号演算部4023で得られた現在位置信号の温度特性等に起因する誤差を補正する。ホールセンサ414等は温度特性を持っている。したがって、位置検出回路4021は、同じ可動部303の位置に対して異なるアナログ信号を出力し得る。このようなアナログ信号に基づいて生成された現在位置信号は、温度によって異なる位置を示すことになる。位置信号補正部4024は、このような温度特性等に起因する誤差を補正する。
図12(a)は、第1の設定が行われているときのストローク位置に対する位置検出回路4021の出力の温度特性の例を示している。図12(a)の破線は常温(20℃付近)の例であり、図12(a)の実線は高温(40℃付近)の例である。前述したように、ホールセンサ414等は温度特性を持つ。このため、温度が異なると、位置検出回路4021は、同じストローク位置に対して異なる大きさのアナログ信号を出力する。一方、図12(b)は、第2の設定が行われているときのストローク位置に対する位置検出回路4021の出力の温度特性の例を示している。図12(b)の破線は常温(20℃付近)の例であり、図12(b)の実線は高温(40℃付近)の例である。第2の設定の場合も第1の設定の場合と同様に、温度が異なると、位置検出回路4021は、同じストローク位置に対して異なる大きさのアナログ信号を出力する。位置信号補正部4024は、このような温度変化に起因する位置検出回路4021の出力のずれを補正するために、位置信号演算部4023で得られた現在位置信号を、第1の設定と第2の設定との切り替え直後のタイミングの現在位置信号に合わせるための補正をする。この際の補正値は、例えば第1の設定と第2の設定との切り替え前後のタイミングでそれぞれ取得された現在位置信号の差分値である。
位置信号処理制御部404は、例えば制御回路212から入力されたタイミング信号に応じて、位置信号処理部402を第2の設定に設定するための位置信号処理パラメータを位置信号処理部402に入力する。位置信号処理パラメータは、位置検出回路4021に対して設定される増幅率及びオフセットを含む。すなわち、位置信号処理制御部404は、第1の設定である可動部303の可動範囲の全範囲に対応した増幅率及びオフセット、第2の設定の範囲1に対応した増幅率及びオフセット、第2の設定の範囲2に対応した増幅率及びオフセット並びに第2の設定の範囲3に対応した増幅率及びオフセットを図示しないメモリに予め記憶している。また、位置信号処理パラメータは、位置信号補正部4024における補正値も含む。すなわち、位置信号処理制御部404は、第1の設定と第2の設定との切り替え前後のタイミングの現在位置信号から補正値を算出する。
減算部406は、例えば制御回路212から入力された可動部303の駆動目標位置を示す駆動目標位置信号と位置信号処理部402で生成された現在位置信号との偏差信号を駆動制御部408に出力する。
駆動制御部408は、減算部406から出力された偏差信号に基づいて、VCM412を駆動するための駆動電流の値を示す駆動信号を生成し、生成した駆動信号をモータドライバ410に出力することによって可動部303の位置のフィードバック制御を行う。
モータドライバ410は、駆動制御部408からの駆動信号に応じた駆動電流をVCM412(実際にはコイル3031、3032a、3032b)に供給することによって可動部303を変位させる。
以下、第1の実施形態における手ぶれ補正ユニット206の動作を説明する。図13は、手ぶれ補正ユニット206の動作を示すフローチャートである。図13の処理は、手ぶれ補正ユニット206においてタイミング信号が取得されたときに開始される。タイミング信号は、例えばユーザによる操作部210の操作によって静止画撮影開始指示又は超解像撮影開始指示が入力された場合に取得される。
ステップS101において、位置信号処理制御部404は、第1の設定の位置信号処理部402から出力される現在位置信号を取得する。第1の設定では、AD変換部4022の分解能は低いものの、可動部303のストローク位置が可動範囲のどこにあっても現在位置信号を取得することが可能である。
ステップS102において、位置信号処理制御部404は、駆動制御部408によるフィードバック制御を停止させる。これは、位置信号処理部402の出力を安定化させるための処理である。フィードバック制御の停止後、処理はステップS103に移行する。
ステップS103において、位置信号処理制御部404は、位置信号処理部402から出力される現在位置信号に基づいて、現在の可動部303の位置が範囲1、範囲2、範囲3の何れにあるかを判定する。ステップS103において、現在の可動部303の位置が範囲1にあると判定された場合には、処理はステップS104に移行する。ステップS103において、現在の可動部303の位置が範囲2にあると判定された場合には、処理はステップS105に移行する。ステップS103において、現在の可動部303の位置が範囲3にあると判定された場合には、処理はステップS106に移行する。
ステップS104において、位置信号処理制御部404は、範囲1の第2の設定を行う。すなわち、位置信号処理制御部404は、範囲1の第2の設定を行うために必要な増幅率とオフセットとを位置検出回路4021に対して設定する。その後、処理はステップS107に移行する。ステップS105において、位置信号処理制御部404は、範囲2の第2の設定を行う。すなわち、位置信号処理制御部404は、範囲2の第2の設定を行うために必要な増幅率とオフセットとを位置検出回路4021に対して設定する。その後、処理はステップS107に移行する。ステップS106において、位置信号処理制御部404は、範囲3の第2の設定を行う。すなわち、位置信号処理制御部404は、範囲3の第2の設定を行うために必要な増幅率とオフセットとを位置検出回路4021に対して設定する。その後、処理はステップS107に移行する。第2の設定では、第1の設定において取得された現在位置信号に基づいて、現在の可動部303の大まかな位置が特定され、この特定された結果に従って、位置検出回路4021の信号取得範囲が制限されることにより、AD変換部4022の分解能を高くすることができる。
ステップS107において、位置信号処理制御部404は、位置検出回路4021の出力が安定化するのを待つ。例えば、位置信号処理制御部404は、位置信号補正部4024から出力される現在位置信号の時間変化量がある一定の閾値になるまで待つ。または、位置信号処理制御部404は、位置検出回路4021の出力が安定化していると考えられる所定時間が経過するまで待つ。位置検出回路4021の出力が安定化した後、処理はステップS108に移行する。
ステップS108において、位置信号処理制御部404は、位置信号処理部402から出力される現在位置信号を取得する。ステップS109において、位置信号処理制御部404は、第2の設定に切り替えられた直後、すなわち、ステップS108において取得された現在位置信号に基づいて位置信号補正部4024における補正値を生成し、生成した補正値を位置信号補正部4024に設定する。この補正値は、例えば第1の設定のときに取得された現在位置信号の値と第2の設定に切り替えられた直後に取得された現在位置信号との差分値である。この補正値に従って第2の設定時の現在位置信号が補正されることにより、温度特性による現在位置信号のずれを補正することが可能である。
ステップS110において、位置信号処理制御部404は、駆動制御部408によるフィードバック制御を再開させる。ステップS111において、制御回路212は、撮影動作を開始させる。撮影動作については後で説明する。撮影動作の終了後、処理はステップS112に移行する。
ステップS112において、位置信号処理制御部404は、駆動制御部408によるフィードバック制御を停止させる。ステップS113において、位置信号処理制御部404は、第1の設定を行う。すなわち、位置信号処理制御部404は、位置検出回路4021に対して第1の設定を行うために必要な増幅率とオフセットとを位置検出回路4021に対して設定する。
ステップS114において、位置信号処理制御部404は、位置検出回路4021の出力が安定化するのを待つ。ステップS115において、位置信号処理制御部404は、位置信号補正部4024において設定されている補正値をクリアする。
ステップS116において、位置信号処理制御部404は、駆動制御部408によるフィードバック制御を再開させる。これにより、次回の処理においては、第1の設定の位置信号処理部402の出力が位置信号処理制御部404において取得される。
図14は、撮影動作中のフローチャートである。ステップS201において、制御回路212は、現在、超解像撮影開始指示が入力されているか否かを判定する。ステップS201において超解像撮影開始指示が入力されていると判定された場合に、処理はステップS202に移行する。ステップS201において超解像撮影開始指示が入力されていない、すなわち静止画撮影開始指示が入力されていると判定された場合に、処理はステップS203に移行する。
ステップS202において、制御回路212は、超解像撮影動作を開始する。以下、図16を参照して超解像撮影動作について説明する。超解像撮影動作において、制御回路212は、i回の超解像撮影を繰り返すためのループ処理を行う。まず、ステップS401において、制御回路212は、手ぶれ補正ユニット206の可動部303を第i位置に移動させるための駆動目標位置を生成する。ここで、超解像撮影の目標位置は、例えば予め設定されている固定値が用いられる。図17(a)及び図17(b)は、超解像撮影の目標位置の例を示している。図17(a)は、初期位置1(i=0に対応)から8回に分けて正方形状に可動部303を移動させる例である。この例では、i=0からi=7の8個の目標位置が設定される。一方、図17(b)は、可動部303の斜め方向の移動も組み入れ、初期位置1から9回に分けて可動部303を移動させる例である。この例では、i=0からi=8の9個の目標位置が設定される。図17(a)及び図17(b)の設定はあくまでも一例である。上、下、左、右、斜め方向の移動の組み合わせによって構成されていれば、目標位置をどのように設定するかは特に限定されない。
また、超解像撮影時に手ぶれが発生している場合には、制御回路212は、手ぶれ量に応じた信号を駆動目標位置信号に重畳する。そして、制御回路212は、この重畳信号を駆動目標位置信号として手ぶれ補正ユニット206に入力する。駆動制御部408は、駆動目標位置信号と現在位置信号との偏差信号に基づいて、VCM412を駆動するための駆動電流の値を示す駆動信号を生成し、生成した駆動信号をモータドライバ410に出力することによって可動部303の位置のフィードバック制御を行う。
ステップS402において、制御回路212は、手ぶれ補正ユニット206の撮像素子の駆動を開始する。そして、制御回路212は、手ぶれ補正ユニット206で得られた撮像画像を図示しないRAMに記録する。その後、i回の撮影が終了していなければ、iがインクリメントされ、処理はループの開始であるステップS401に戻る。i回の撮影が終了してれば、処理はステップS403に移行する。
ステップS403において、手ぶれ補正ユニット206の画像処理部は、i回の撮影によって得られたi枚の撮像画像を合成して超解像画像を生成する。その後、図16の処理は終了する。
ここで、図14の説明に戻る。ステップS203において、制御回路212は、静止画撮影動作を開始する。静止画撮影動作については簡単に説明する。静止画撮影において、制御回路212は、手ぶれが発生している場合には、手ぶれ量に応じた信号を駆動目標位置として生成する。そして、制御回路212は、この駆動目標位置信号を手ぶれ補正ユニット206に入力する。駆動制御部408は、駆動目標位置信号と現在位置信号との偏差信号に基づいて、VCM412を駆動するための駆動電流の値を示す駆動信号を生成し、生成した駆動信号をモータドライバ410に出力することによって可動部303の位置のフィードバック制御を行う。その後、制御回路212は、手ぶれ補正ユニット206の撮像素子の駆動を開始する。そして、制御回路212は、手ぶれ補正ユニット206で得られた撮像画像を図示しないRAMに記録する。その後、手ぶれ補正ユニット206の画像処理部は、撮影によって得られた撮像画像を生成する。これにより、静止画撮影動作は終了する。
ステップS202及びステップS203で撮影動作を開始した後には撮影動作終了をまたずにステップS204に移行する。ステップS204において、位置信号処理制御部404は、範囲の切り替えが必要であるか否かを判定する。位置信号処理部402から取得される現在位置信号の変動があった場合には、範囲の切り替えが必要であると判定される。なお、所定以上の現在位置信号の変動があった場合のみ、範囲の切り替えが必要であると判定されるように構成されていてもよい。ステップS204において範囲の切り替えが必要であると判定された場合に、処理はステップS205に移行する。ステップS204において範囲の切り替えが必要でないと判定された場合には、ステップS206において撮影動作が終了したと判定されるまで処理は再びステップS204に移行する。
ステップS205において、位置信号処理制御部404は、範囲切り替えの処理を行う。以下、図15を参照して範囲切り替えの処理を説明する。
ステップS301において、位置信号処理制御部404は、駆動制御部408によるフィードバック制御を停止させる。フィードバック制御の停止後、処理はステップS302に移行する。
ステップS302において、位置信号処理制御部404は、位置信号処理部402から出力される現在位置信号に基づいて、現在の可動部303の位置が範囲1、範囲2、範囲3の何れにあるかを判定する。ステップS302において、現在の可動部303の位置が範囲1にあると判定された場合には、処理はステップS303に移行する。ステップS302において、現在の可動部303の位置が範囲2にあると判定された場合には、処理はステップS304に移行する。ステップS302において、現在の可動部303の位置が範囲3にあると判定された場合には、処理はステップS305に移行する。
ステップS303において、位置信号処理制御部404は、範囲1の第2の設定を行う。その後、処理はステップS306に移行する。ステップS304において、位置信号処理制御部404は、範囲2の第2の設定を行う。その後、処理はステップS306に移行する。ステップS305において、位置信号処理制御部404は、範囲3の第2の設定を行う。その後、処理はステップS306に移行する。
ステップS306において、位置信号処理制御部404は、位置検出回路4021の出力が安定化するのを待つ。位置検出回路4021の出力が安定化した後、処理はステップS307に移行する。
ステップS307において、位置信号処理制御部404は、位置信号処理部402から出力される現在位置信号を取得する。ステップS308において、位置信号処理制御部404は、範囲の切り替えがなされた直後、すなわち、ステップS307において取得された現在位置信号に基づいて位置信号補正部4024における補正値を生成し、生成した補正値を位置信号補正部4024に設定する。この補正値は、例えば第1の設定のときに取得された現在位置信号の値と範囲が切り替えられた直後に取得された現在位置信号との差分値である。
ステップS309において、位置信号処理制御部404は、駆動制御部408によるフィードバック制御を再開させる。その後、図15の処理は終了される。
ここで、図14の説明に戻る。ステップS205の終了後、ステップS206において撮影動作が終了したと判断されるまでは再びステップS204に移行する。
以上説明したように本実施形態によれば、AD変換の分解能は低分解能であるが広い範囲の可動部303のストローク位置を検出することができる第1の設定によって大まかな可動部303の位置が検出され、その後に狭い範囲の可動部303のストローク位置しか検出できないがAD変換の分解能は高分解能である第2の設定で高精度な可動部303の位置が検出される。これにより、可動部303のストロークの全範囲において高精度の位置検出を行うことが可能である。
また、第2の設定における可動部303の範囲は、位置検出の分解能を同等にするように設定される。これにより、範囲毎に位置検出の分解能が異ならずにどの範囲においても高精度の位置検出が可能である。
ここで、前述の実施形態では、可動部303のストローク位置に対する位置検出回路4021の出力が線形に変化する例が挙げられている。この場合、可動範囲は等分割される。これに対し、位置検出回路4021の特性によっては、図18(a)に示すように、可動部303のストローク位置に対する位置検出回路4021の出力が非線形に変化する場合もある。この場合も、位置検出の分解能を同等にするように範囲が設定される。すなわち、範囲毎の曲線の傾き(例えば各範囲の中心位置における傾き)が等しくなるように範囲が設定される。このような設定では、図18(b)に示すように、範囲1、範囲2、範囲3は等分割されない。このように、本実施形態における範囲の分割は、位置検出の分解能を同等にするように行われるものであり、必ずしも等分割によって行われるものではない。
[第2の実施形態]
次に、本発明の第2の実施形態について説明する。図19は、第2の実施形態に係る撮像装置1の機能ブロック図である。なお、図19において、図5と重複する構成については、図5と同一の参照符号を付すことで詳細な説明を省略する。また、撮像装置1の概略の構成及び手ぶれ補正ユニット206の構成は図1から図4で説明したものと同様であるので説明を省略する。
図19における撮像装置1は、位置信号処理部402に代えて、全範囲位置信号処理部402Aと、高精度位置信号処理部402Bとを有している。また、図19における撮像装置1は、位置信号選択部416を有している。
全範囲位置信号処理部402Aは、第1の実施形態における第1の設定に対応した位置信号処理部である。この全範囲位置信号処理部402Aは、全範囲位置検出回路4021Aと、ADC4022Aと、位置信号演算部4023Aとを有している。また、高精度位置信号処理部402Bは、第1の実施形態における第2の設定に対応した位置信号処理部である。この高精度位置信号処理部402Bは、高精度位置検出回路4021Bと、ADC4022Bと、位置信号演算部4023Bと、位置信号補正部4024Bとを有している。
全範囲位置検出回路4021Aは、ホールセンサ414から出力されたアナログ信号を第1の設定に対応したアナログ信号に変換してADC4022Aに出力する。また、高精度位置検出回路4021Bは、ホールセンサ414から出力されたアナログ信号を第2の設定に対応したアナログ信号に変換してADC4022Bに出力する。
図20は、一例の全範囲位置検出回路4021A及び高精度位置検出回路4021Bの回路構成を示す図である。図20に示すように、一例の全範囲位置検出回路4021Aは、増幅率とオフセットとが固定の差動増幅回路であり、オペアンプ4021Aaと、抵抗4021Abと、抵抗4021Acと、抵抗4021Ad、抵抗4021Aeとを有している。図20において、オペアンプ4021Aaのマイナス入力端子は、抵抗4021Abの一端に接続されている。この抵抗4021Abの他端は、ホールセンサ414の一端に接続されている。オペアンプ4021Aaのプラス入力端子は、抵抗4021Acの一端に接続されている。この抵抗4021Acの他端は、ホールセンサ414の他端に接続されている。抵抗4021Abの一端とオペアンプ4021Aaの出力端子との間には、抵抗4021Adが接続されている。オペアンプ4021Aaのプラス入力端子と抵抗4021Acの一端との間には、抵抗4021Aeの一端が接続されている。この抵抗4021Aeの他端には、所定の電圧オフセット、例えばホールセンサ414の電源電圧Vccの半分のオフセットが与えられる。このような構成において、全範囲位置検出回路4021Aにおける増幅率は、抵抗4021Ab、4021Ac、4021Ad及び4021Aeの抵抗値に応じた固定値である。また、全範囲位置検出回路4021Aにおけるオフセットは、Vcc/2である。
また、図20に示すように、一例の高精度位置検出回路4021Bは、増幅率とオフセットとが可変の差動増幅回路であり、オペアンプ4021Baと、抵抗4021Bbと、抵抗4021Bcと、可変抵抗4021Bd、可変抵抗4021Beと、DAC4021Bfとを有している。図20において、オペアンプ4021Baのマイナス入力端子は、抵抗4021Bbの一端に接続されている。この抵抗4021Bbの他端は、ホールセンサ414の一端に接続されている。オペアンプ4021Baのプラス入力端子は、抵抗4021Bcの一端に接続されている。この抵抗4021Bcの他端は、ホールセンサ414の他端に接続されている。抵抗4021Bbの一端とオペアンプ4021Baの出力端子との間には、可変抵抗4021Bdが接続されている。オペアンプ4021Baのプラス入力端子と抵抗4021Bcの一端との間には、可変抵抗4021Beの一端が接続されている。この可変抵抗4021Beの他端には、DAC4021Bfが接続されている。このような構成において、高精度位置検出回路4021Bにおける増幅率は、抵抗4021Bb及び4021Bc並びに可変抵抗4021Bd及び4021Beの抵抗値に応じて決定される。また、高精度位置検出回路4021Bにおけるオフセットは、DAC4021Bfのデジタル値に応じて決定される。ここで、可変抵抗4021Bd及び4021Beの抵抗値並びにDAC4021Bfに入力されるオフセットのデジタル値は、位置信号処理制御部404によって設定される。図20で示した高精度位置検出回路4021Bの構成は、あくまでも一例である。例えば、抵抗4021Bb、4021Bcが可変抵抗、可変抵抗4021Bd、4021Beが固定抵抗であってもよい。
ADC4022Aは、全範囲位置検出回路4021Aから出力されたアナログ信号をデジタル信号であるAD値に変換する。ADC4022Bは、高精度位置検出回路4021Bから出力されたアナログ信号をデジタル信号であるAD値に変換する。全範囲位置検出回路4021Aからは第1の設定に対応したアナログ信号が出力され、高精度位置検出回路4021Bからは第2の設定に対応したアナログ信号が出力されるので、ADC4022BのAD変換の分解能は、ADC4022AのAD変換の分解能よりも高くなる。
位置信号演算部4023Aは、AD変換部4022Aで得られたAD値から可動部303の現在位置を示す現在位置信号を生成する。位置信号演算部4023Bは、AD変換部4022Bで得られたAD値から可動部303の現在位置を示す現在位置信号を生成する。位置信号演算部4023A及び位置信号演算部4023Bは、前述の(式1)に従って現在位置信号を生成する。ただし、位置信号演算部4023Aは、第1の設定用のA、Bの値のみを記憶しており、位置信号演算部4023Bは、第2の設定の範囲1、範囲2、範囲3用のA、Bの値のみを記憶している。
位置信号補正部4024Bは、位置信号演算部4023Bで得られた現在位置信号の温度特性等に起因する誤差を補正する。補正の仕方は、第1の実施形態と同様である。
位置信号選択部416は、位置信号処理制御部404からの指示に従って全範囲位置信号処理部402Aからの現在位置信号と高精度位置信号処理部402Bからの現在位置信号の何れかを減算部406に出力する。
以下、第2の実施形態における手ぶれ補正ユニット206の動作を説明する。図21は、手ぶれ補正ユニット206の動作を示すフローチャートである。
ステップS501において、位置信号処理制御部404は、全範囲位置信号処理部402Aから出力される現在位置信号に基づいて、現在の可動部303の位置が範囲1、範囲2、範囲3の何れにあるかを判定する。ステップS501において、現在の可動部303の位置が範囲1にあると判定された場合には、処理はステップS502に移行する。ステップS501において、現在の可動部303の位置が範囲2にあると判定された場合には、処理はステップS502に移行する。ステップS501において、現在の可動部303の位置が範囲3にあると判定された場合には、処理はステップS503に移行する。
ステップS502において、位置信号処理制御部404は、範囲1の第2の設定を行う。すなわち、位置信号処理制御部404は、範囲1の第2の設定を行うために必要な増幅率とオフセットとを高精度位置検出回路4021Bに対して設定する。その後、処理はステップS505に移行する。ステップS503において、位置信号処理制御部404は、範囲2の第2の設定を行う。すなわち、位置信号処理制御部404は、範囲2の第2の設定を行うために必要な増幅率とオフセットとを高精度位置検出回路4021Bに対して設定する。その後、処理はステップS505に移行する。ステップS504において、位置信号処理制御部404は、範囲3の第2の設定を行う。すなわち、位置信号処理制御部404は、範囲3の第2の設定を行うために必要な増幅率とオフセットとを高精度位置検出回路4021Bに対して設定する。その後、処理はステップS505に移行する。
ステップS505において、位置信号処理制御部404は、高精度位置検出回路4021Bの出力が安定化するのを待つ。高精度位置検出回路4021Bの出力が安定化した後、処理はステップS506に移行する。
ステップS506において、位置信号処理制御部404は、高精度位置信号処理部402Bから出力される現在位置信号を取得する。ステップS507において、位置信号処理制御部404は、全範囲位置信号処理部402Aから出力される現在位置信号を取得する。ステップS508において、位置信号処理制御部404は、高精度位置信号処理部402B及び全範囲位置信号処理部402Aから取得された現在位置信号に基づいて位置信号補正部4024における補正値を生成し、生成した補正値を位置信号補正部4024Bに設定する。この補正値は、例えば高精度位置信号処理部402Bと全範囲位置信号処理部402Aとから取得された現在位置信号の差分値である。
ステップS509において、位置信号処理制御部404は、高精度位置信号処理部402Bからの現在位置信号が減算部406に入力されるように位置信号選択部416を制御する。これにより、高精度位置信号処理部402Bの出力に基づいて第2の設定に従ってフィードバック制御が行われる。
ステップS510において、制御回路212は、撮影動作を開始させる。撮影動作については後で説明する。撮影動作の終了後、処理はステップS511に移行する。
ステップS511において、位置信号処理制御部404は、全範囲位置信号処理部402Aからの現在位置信号が減算部406に入力されるように位置信号選択部416を制御する。これにより、次回の処理においては、全範囲位置信号処理部402Aの出力に基づいてフィードバック制御が行われる。このため、可動部303のストローク位置が可動範囲のどこにあっても位置検出を行うことが可能である。
ステップS512において、位置信号処理制御部404は位置信号補正部4024Bにおいて設定されている補正値をクリアする。
図22は、撮影動作中のフローチャートである。ステップS601において、制御回路212は、現在、超解像撮影開始指示が入力されているか否かを判定する。ステップS601において超解像撮影開始指示が入力されていると判定された場合に、処理はステップS602に移行する。ステップ601において超解像撮影開始指示が入力されていない、すなわち静止画撮影開始指示が入力されていると判定された場合に、処理はステップS603に移行する。
ステップS602において、制御回路212は、超解像撮影動作を開始する。ステップS603において、制御回路212は、静止画撮影動作を開始する。超解像撮影動作及び静止画撮影動作については、第1の実施形態と同様であるので説明を省略する。
ステップS602及びステップS603で撮影動作を開始した後には撮影動作終了をまたずにステップS604に移行する。ステップS604において、位置信号処理制御部404は、全範囲位置信号処理部402Aから出力される現在位置信号を取得する。
ステップS605において、位置信号処理制御部404は、範囲の切り替えが必要であるか否かを判定する。ステップS605において範囲の切り替えが必要であると判定された場合に、処理はステップS606に移行する。ステップS605において範囲の切り替えが必要でないと判定された場合に、ステップS607で撮影が終了したと判断されるまで処理は再びステップS604に移行する。
ステップS605において、位置信号処理制御部404は、範囲切り替えの処理を行う。以下、図23を参照して範囲切り替えの処理を説明する。
ステップS701において、位置信号処理制御部404は、全範囲位置信号処理部402Aからの現在位置信号が減算部406に入力されるように位置信号選択部416を制御する。
ステップS702において、位置信号処理制御部404は、全範囲位置信号処理部402Aから出力される現在位置信号に基づいて、現在の可動部303の位置が範囲1、範囲2、範囲3の何れにあるかを判定する。ステップS702において、現在の可動部303の位置が範囲1にあると判定された場合には、処理はステップS703に移行する。ステップS702において、現在の可動部303の位置が範囲2にあると判定された場合には、処理はステップS704に移行する。ステップS702において、現在の可動部303の位置が範囲3にあると判定された場合には、処理はステップS705に移行する。
ステップS703において、位置信号処理制御部404は、範囲1の第2の設定を行う。その後、処理はステップS706に移行する。ステップS704において、位置信号処理制御部404は、範囲2の第2の設定を行う。その後、処理はステップS706に移行する。ステップS705において、位置信号処理制御部404は、範囲3の第2の設定を行う。その後、処理はステップS706に移行する。
ステップS706において、位置信号処理制御部404は、高精度位置検出回路4021Bの出力が安定化するのを待つ。高精度位置検出回路4021Bの出力が安定化した後、処理はステップS707に移行する。
ステップS707において、位置信号処理制御部404は、高精度位置信号処理部402Bから出力される現在位置信号を取得する。ステップS708において、位置信号処理制御部404は、全範囲位置信号処理部402Aから出力される現在位置信号を取得する。ステップS709において、位置信号処理制御部404は、高精度位置信号処理部402B及び全範囲位置信号処理部402Aから取得された現在位置信号に基づいて位置信号補正部4024における補正値を生成し、生成した補正値を位置信号補正部4024Bに設定する。
ステップS710において、位置信号処理制御部404は、高精度位置信号処理部402Bからの現在位置信号が減算部406に入力されるように位置信号選択部416を制御する。その後、図23の処理は終了される。
ここで、図22の説明に戻る。ステップS606の処理が終了後は、ステップS607で撮影が終了したと判断されるまでは再びステップS604に移行する。
以上説明したように本実施形態によれば、第1の実施形態と同様に可動部303のストロークの全範囲で高精度の位置検出を行うことができるとともに、第1の設定用の位置信号処理部と第2の設定用の位置信号処理部とを個別に持たせることにより、第1の設定と第2の設定との切り替えの間にフィードバック制御を停止させる必要がなくなる。
以上実施形態に基づいて本発明を説明したが、本発明は上述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。例えば、前述した手ぶれ補正ユニット206の構成は一例であって適宜変更され得る。例えば、VCMの構成が異なっていても良い。例えば、前述の例では、固定部に位置検出磁石が設けられ、可動部にホールセンサが設けられている。これに対して、可動部に位置検出磁石が設けられ、固定部にホールセンサが設けられてもよい。また、手ぶれ補正ユニット206は、撮像素子ではなく、光学系102を移動させるように構成されていてもよい。さらに、前述の実施形態では、超解像撮影時又は静止画撮影時に第2の設定が行われるものとしているが、特に高精度の位置制御が必要な超解像撮影時にのみ第2の設定が行われてもよい。
さらに、前述の各動作フローチャートの説明において、便宜上「まず」、「次に」等を用いて動作を説明しているが、この順で動作を実施することが必須であることを意味するものではない。
また、前述した実施形態による各処理は、コンピュータとしてのCPU等に実行させることができるプログラムとして記憶させておくこともできる。この他、メモリカード、磁気ディスク、光ディスク、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、CPU等は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、上述した処理を実行することができる。
さらに、前記した実施形態には種々の段階の発明が含まれており、開示される複数の構成要件の適当な組合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、上述したような課題を解決でき、上述したような効果が得られる場合には、この構成要件が削除された構成も発明として抽出され得る。