本発明の自動焦点調整装置及びその制御方法の実施の形態について図面を参照しながら説明する。本実施形態の自動焦点調整装置は撮像装置に適用される。
[第1の実施形態]
図1は第1の実施形態における撮像装置の構成を示すブロック図である。撮像装置1は、ズームレンズ群2、フォーカスレンズ群3、これらのレンズ群等からなる撮影光学系を透過する光束の量を制御する絞り4、およびこれらを収容する撮影レンズ鏡筒31を有する。
また、撮像装置1は、撮影光学系を透過して結像した被写体像を光電変換する固体撮像素子(以下、CCDという)5、およびこのCCD5によって光電変換された電気信号を受けて各種の画像処理を施すことにより所定の画像信号を生成する撮像回路6を有する。
また、撮像装置1は、この撮像回路6により生成されたアナログ画像信号をデジタル画像信号に変化するA/D変換回路7、およびこのA/D変換回路7の出力を受けてこの画像信号を一時的に記憶するバッファメモリ等のメモリ(VRAM)8を有する。
また、撮像装置1は、このVRAM8に記憶された画像信号を読み出してこれをアナログ信号に変換するとともに、再生出力に適する形態の画像信号に変換するD/A変換回路9、およびこの画像信号を表示する液晶表示装置(LCD)10を有する。このLCD10は電子ビューファインダとして使用される画像表示装置である。
また、撮像装置1は、半導体メモリ等からなる画像データを記憶する記憶用メモリ12、および圧縮回路と伸長回路とからなる圧縮伸長回路11を有する。圧縮回路は、VRAM8に一時記憶された画像信号を読み出して記憶用メモリ12への記憶に適した形態とするために、画像データの圧縮処理や符号化処理を施す。また、伸長回路は、記憶用メモリ12に記憶された画像データを再生・表示等を行う際に最適な形態とするための復号化処理や伸長処理等を施す。
また、撮像装置1は、A/D変換回路7からの出力を受けて自動露出(AE)処理を行うAE処理回路13、およびA/D変換回路7からの出力を受けて自動焦点調節(AF)処理を行うスキャンAF処理回路14を有する。また、撮像装置1は、演算用のメモリを内蔵し、撮像装置1の制御を行うCPU15を有する。
また、撮像装置1は、所定のタイミング信号を発生するタイミングジェネレータ(以下、TGという)16、CCDドライバ17、絞り4を駆動する絞り駆動モータ21、および絞り駆動モータ21を制御する第1モータ駆動回路18を有する。
また、撮像装置1は、フォーカスレンズ群3を駆動するフォーカス駆動モータ22、およびフォーカス駆動モータ22を制御する第2モータ駆動回路19を有する。また、撮像装置1は、ズームレンズ群2を駆動するズーム駆動モータ23、およびズーム駆動モータ23を制御する第3モータ駆動回路20を有する。
また、撮像装置1は、各種のスイッチ群からなる操作スイッチ24、電気的に書き換え可能な読み出し専用メモリであるEEPROM25、電池26、ストロボ発光部28、およびストロボ発光部28の閃光発光を制御するスイッチング回路27を有する。EEPROM25には、各種制御等を行うプログラムや各種動作を行わせるために使用するデータ等が予め記憶されている。
また、撮像装置1は、警告表示などを行うLEDなどの表示素子29、音声によるガイダンスや警告などを行うためのスピーカ30、LEDなどの光源で構成されるAF補助光33、およびAF補助光33を駆動するためのAF補助光駆動回路32を有する。また、撮像装置1は、手振れなどを検出する振れ検出センサ35、および振れ検出センサ35の信号を処理する振れ検出回路34を有する。
なお、画像データ等の記憶媒体である記憶用メモリとしては、フラッシュメモリ等の固定型の半導体メモリや、カード形状やスティック形状からなり装置に対して着脱自在に形成されるカード型フラッシュメモリ等の半導体メモリが適用される。その他、ハードディスクやフレキシブルディスク等の磁気記憶媒体等、様々な形態のものが適用される。
また、操作スイッチ24には、撮像装置1を起動させ、電源供給を行うための主電源スイッチ、撮影動作(記憶動作)等を開始させるレリーズスイッチ、および再生動作を開始させる再生スイッチが設けられている。また、撮影光学系のズームレンズ群2を移動させ、ズームを行わせるズームスイッチ、光学式ファインダ(OVF)と電子ビューファインダ(EVF)の切り替えスイッチ等が設けられている。
レリーズスイッチは、撮影動作に先立って行われるAE処理、AF処理を開始させる指示信号を発生する第1ストロークのSW(SW1)と、実際の露光動作を開始させる指示信号を発生する第2ストロークのSW(SW2)との二段スイッチから構成される。このSW1のオン操作によって、後述する撮影準備(自動焦点調整動作)が指示される。
また、撮像装置1には、光学式ファインダ45が設けられている。光学式ファインダ(OVF)45と、電子ビューファインダ(EVF)として使用されるLCD10とは、手動あるいはCPU15によって選択的に切り替え可能である。そして、後述するように、CPU15は、OVFあるいはEVFが選択されていることを検知する。
上記構成を有する撮像装置1の動作を示す。まず、撮像装置1の撮影レンズ鏡筒31を透過した被写体光束は、絞り4によってその光量が調整された後、CCD5の受光面に結像する。この被写体像は、CCD5による光電変換処理により電気的な信号に変換され、撮像回路6に出力される。撮像回路6では、入力した信号に対して各種の信号処理が施され、所定の画像信号が生成される。
この画像信号は、A/D変換回路7に出力され、デジタル信号(画像データ)に変換された後、VRAM8に一時的に格納される。VRAM8に格納された画像データは、D/A変換回路9に出力されてアナログ信号に変換され、表示に適した形態の画像信号に変換された後、LCDに画像として表示される。
一方、VRAM8に格納された画像データは、圧縮伸長回路11にも出力される。この圧縮伸長回路11における圧縮回路によって圧縮処理が行われた後、記憶に適した形態の画像データに変換され、記憶用メモリ12に記憶される。
また、例えば、操作スイッチ24のうち、再生スイッチ(図示せず)が操作されてオン状態になると、再生動作が開始する。再生動作では、記憶用メモリ12に圧縮された形で記憶された画像データは、圧縮伸長回路11に出力され、伸長回路において復号化処理や伸長処理等が施された後、VRAM8に出力されて一時的に記憶される。さらに、この画像データは、D/A変換回路9に出力されてアナログ信号に変換され、表示に適した形態の画像信号に変換された後、LCD10に画像として表示される。
他方、A/D変換回路7によってデジタル化された画像データは、VRAM8とは別にAE処理回路13およびスキャンAF処理回路14に対しても出力される。まず、AE処理回路13では、入力されたデジタル画像信号を受け、一画面分の画像データの輝度値に対して累積加算等の演算処理が行われる。これにより、被写体の明るさに応じたAE評価値が算出される。このAE評価値はCPU15に出力される。
また、スキャンAF処理回路14では、入力されたデジタル画像信号を受け、画像データの高周波成分がハイパスフィルタ(HPF)等を介して抽出され、さらに累積加算等の演算処理が行われ、高域側の輪郭成分量等に対応するAF評価値信号が算出される。
具体的に、スキャンAF処理回路14は、AF領域として指定された画面の一部分の領域に相当する画像データの高周波成分を、ハイパスフィルタ(HPF)等を介して抽出し、さらに累積加算等の演算処理を行う。これにより、高域側の輪郭成分量等に対応するAF評価値信号が算出される。このAF領域として指定される場合には、中央部分の一箇所である場合、中央部分とそれに隣接する複数箇所である場合、離散的に分布する複数箇所である場合などがある。
このように、スキャンAF処理回路14は、AF処理を行う過程において、CCD5によって生成された画像信号から所定の高周波成分を検出する高周波成分検出手段の役割を担っている。
一方、TG16から所定のタイミング信号がCPU15、撮像回路6およびCCDドライバ17に出力されている。CPU15は、このタイミング信号に同期させて各種の制御を行う。また、撮像回路6は、TG16からのタイミング信号を受け、これに同期させて色信号の分離等の各種画像処理を行う。さらに、CCDドライバ17は、TG16のタイミング信号を受け、これに同期してCCD5を駆動する。
また、CPU15は、第1モータ駆動回路18、第2モータ駆動回路19および第3モータ駆動回路20をそれぞれ制御する。そして、CPU15は、絞り駆動モータ21、フォーカス駆動モータ22およびズーム駆動モータ23を介して、それぞれ絞り4、フォーカスレンズ群3およびズームレンズ群2を駆動する。すなわち、CPU15は、AE処理回路13において算出されたAE評価値等に基づき、第1モータ駆動回路18を制御して絞り駆動モータ21を駆動し、絞り4の絞り量を適正に調整するAE制御を行う。また、CPU15は、スキャンAF処理回路14において算出されるAF評価値信号に基づき、第2モータ駆動回路19を制御してフォーカス駆動モータ22を駆動し、フォーカスレンズ群3を合焦位置に移動させるAF制御を行う。また、操作スイッチ24のうちズームスイッチ(図示せず)が操作された場合、CPU15は、この操作を受けると、第3モータ駆動回路20を制御してズーム駆動モータ23を駆動する。そして、CPU15は、ズームレンズ群2を移動させ、撮影光学系の変倍動作(ズーム動作)を行う。
図2および図3は撮像装置1における自動焦点調整動作手順を示すフローチャートである。この処理プログラムはEEPROM25に格納されており、CPU15によって実行される。なお、本実施形態では、フォーカスレンズ群(単に、フォーカスレンズともいう)3を所定位置に駆動しながらAF評価値を取得する動作を「スキャン」と言い、AF評価値を取得するフォーカスレンズの位置の間隔を「スキャン間隔」と言う。また、AF評価値を取得する数を「スキャンポイント数」と言い、AF評価値を取得する範囲を「スキャン範囲」と言う。また、撮像装置1の主電源スイッチがオン状態であり、かつ撮像装置1の動作モードが撮影(録画)モードにある時、撮影処理シーケンスが実行される。
まず、CPU15はCCD5に電源を供給して撮像を可能にする(ステップS1)。CPU15は、OVF(光学式ファインダ)に設定されているか否かを確認する(ステップS2)。
OVFに設定されていない場合、つまりEVFに設定されている場合、CPU15はステップS14の処理に進む。
一方、OVFに設定されている場合、CPU15はCCDの読み出し領域をAF領域に限定する(ステップS3)。ここで、CCDの読み出し領域をAF領域に限定する動作について説明する。
まず、CCDの読み出しモードを部分読み出しモードに変更することから始める。そして、CPU15は、TG16からCCDドライバ17を介してCCDに与える読み出しパルスをつぎのように制御する。読み出しパルスを実際に与えるのは、実際にCCDから画素データ(電気信号)の読み出し時である(図2のステップS4など)。
CCDから画素データを読み出す際、まず読み飛ばし垂直転送パルスを与える。その数は読み出し領域(ここでは、AF領域の位置)に依存する。AF領域がN1ライン目からN2ライン目までの場合、読み飛ばし垂直転送パルスをN1−1個与える。そして、N1ライン目を読み出すために垂直転送パルスを与える。読み飛ばし垂直転送パルスと垂直転送パルスとでは、そのパルス幅が異なる。しかし、CCD読み出しモードの仕様によってはパルス幅が等しい場合もある。
垂直転送パルスを与えた後、読み飛ばし水平転送パルスを与える。その数は読み出し領域(ここでは、AF領域の位置)に依存する。AF領域がM1画素目からM2画素目までの場合、読み飛ばし水平転送パルスをM1−1個与える。そして、M1画素からM2画素までの画素を読み出すために水平転送パルスを与える。その数はM2−M1+1個である。読み飛ばし水平転送パルスと水平転送パルスとでは、そのパルス幅が異なる。しかし、CCD読み出しモードの仕様によってはパルス幅が等しい場合もある。
その後、その残りの領域を読み飛ばすために読み飛ばし水平転送パルスを残りの画素数分与える。水平方向の画素数がP個の場合、その数はP−M2個である。
この水平方向の読み出し動作をN2ライン目まで同様に行う。すなわち、垂直転送パルスを与えた後、読み飛ばし水平転送パルスをM1−1個、水平転送パルスをM2−M1+1個、読み飛ばし水平転送パルスをP2−M2個与える動作を、N2ライン目まで全部でN2−N1+1回行う。
その後、残りのライン数分読み飛ばすために、読み飛ばし垂直転送パルスを残りのライン数分与える。垂直方向のライン数がQラインの場合、その数はQ−N2個である。
ステップS3におけるCCDの読み出し領域をAF領域に限定する動作を終えると、CPU15は、CCDのAF領域内の画素を読み出し、その画素データを用いてステップS5で行う5点スキャン時の露出を決定する(ステップS4)。
なお、他のステップ(例えば、S9、S13)においてスキャンを行う際も、ステップS4と同様、事前にCCDのAF領域内の画素を読み出し、その画素データを用いてスキャン時の露出を決定しているが、説明を簡略化するために本フローチャートでは省略する。
CPU15は、5点スキャン時の露出が決定されると、5点スキャンを行う(ステップS5)。この5点スキャンでは、文字通り5点のAF評価値を取得することが行われる。CCDの読み出し領域はAF領域に限定されているので、このAF評価値を求める際に用いられる画素データも、AF領域に相当する画素の部分のみにCCD駆動パルスを与えることで、読み出される。
この5点スキャンは微小なスキャン範囲において行われる。図4はスキャン範囲を示すグラフである。例えば、「A 1」位置から「B1」位置までの範囲をスキャンする。スキャン間隔は、例えば、そのズームポジションにおける開放深度の5倍程度に設定される。
ステップS5で行われる合焦位置を検出するためのスキャンAF処理の概略を説明する。スキャンAFは、CCD5によって生成された画像信号から出力される高周波成分が最も多くなるフォーカスレンズ群3の位置を求めることにより行われる。
CPU15は、フォーカス駆動モータ22を駆動する第2モータ駆動回路19を介してフォーカス駆動モータ22を制御し、フォーカスレンズ群3をスキャン開始位置まで駆動する。ここで、スキャン開始位置は、全域スキャンの場合、無限遠に相当する図4の「A4」の位置である。また、ステップS5の5点スキャンの場合、スキャン開始位置は、図4の「A1」の位置である。各々の撮影モードにおいて設定されるスキャン終了位置は、全域スキャンの場合、至近距離に相当する図4の「B4」位置である。また、ステップS5の5点スキャンの場合、スキャン終了位置は、図4の「B1」の位置である。
CPU15は、フォーカスレンズ群3を駆動しながらスキャンAF処理回路14の出力(AF評価値信号)を取得する。そして、CPU15は、フォーカスレンズ群3の駆動が終了した時点で取得したAF評価値信号から、それが最大になる位置(図4の「C」位置)を求め、その位置にフォーカスレンズ群3を駆動する。
このスキャンAF処理回路14の出力の取得は、スキャンAFの高速化のために、全てのフォーカスレンズ群3の停止位置で行われず、所定ステップ毎に行われる。この場合、図4のa1、a2、a3点において、AF評価値信号が取得される。このような場合、AF評価値信号が最大値となった点とその前後の点とから、合焦位置「C」は計算によって求められる。このように、ステップS5の処理は合焦位置検出手段の一例である。
CPU15は、このような補間計算を行い、AF評価値信号が最大値となる点(図4の合焦位置「C」)を求める前にAF評価値信号の信頼性を評価する合焦判定を行う(ステップS6)。その信頼性が十分である場合、CPU15はAF評価値信号が最大値となる点を求める。一方、AF評価値信号の信頼性を評価した結果、その信頼性が低い場合、CPU15は、AF評価値信号が最大値となる点を求める処理を行わず、定点と呼ばれるスキャン範囲内の適当な位置にフォーカスレンズ位置を制御する。
また、SW1(レリーズスイッチの第1ストローク)のON後に行われたスキャンにおいて、信頼性評価の結果に応じて、CPU15はAFOK表示またはAFNG表示を行う。信頼性が十分な場合、CPU15は、表示素子(LED)29を点灯したり、LCD10に緑の枠を表示することで、AFOK表示を行う。また、AF評価値信号の信頼性を評価した結果、その信頼性が低い場合、CPU15は、表示素子29を点滅表示させたり、LCD10に黄色の枠を表示することで、AFNG表示を行う。
なお、この合焦判定は、取得されたAF評価値が山状になっており、そのピークが検出可能か否かを判定することにより行われる。この詳細は、特開2004−101766号公報に記載されているので、その説明を省略する。
ステップS6で、この微小範囲における5点スキャンで合焦した場合、CPU15は、ステップS10の処理に進む。一方、非合焦の場合、CPU15は、SW1がオンされたか否かの判定を行う(ステップS7)。
SW1がオンされたと判定された場合、CPU15はステップS18の処理に進む。この場合、まだ合焦位置を検出できていないので、CPU15は、合焦位置を検出するために全域スキャンを行う(ステップS18)。すなわち、CPU15は、被写体距離無限遠に相当するフォーカスレンズ位置からそれぞれの状態で合焦可能な最至近距離に相当するフォーカスレンズ位置までの範囲をスキャンする。これは、図4のフォーカスレンズ位置「A4」からフォーカスレンズ位置「B4」までスキャンすることに相当する。この後、CPU15は後述するステップS19の処理に進む。
一方、ステップS7でSW1がOFFと判定された場合、CPU15はスキャン範囲の変更を行う(ステップS8)。このスキャン範囲の変更では、スキャンポイント数を増やすことで、スキャン範囲を拡げることが行われる。すなわち、ステップS5の5点スキャンは微小なスキャン範囲において行われ、その結果、合焦位置を検出できなかったわけであるから、ここでは、スキャン間隔を変えずにスキャンポイント数を+4増やすことで、その分、スキャン範囲を拡げる。
例えば、ステップS5で±10深度程度をスキャン範囲としていた場合、ステップS8のスキャン範囲の変更では、±20深度程度をスキャン範囲とする。変更されたスキャン範囲は、図4の「A2」位置〜「B2」位置の範囲、あるいは「A3」位置〜「B3」位置の範囲に相当する。但し、拡大したスキャン範囲が全域を越える場合、全域をスキャン範囲とする。
そして、CPU15は、この変更されたスキャン範囲をスキャンする(ステップS9)。その後、CPU15は、ステップS6の処理に戻り、合焦判定を行う。スキャン範囲を拡げても合焦できない場合、CPU15は、ステップS7で再びSW1がオンされたか否かの判定を行う。ONの場合、前述したように、CPU15はステップS18の処理を行う。
一方、OFFの場合、CPU15は再びステップS8でスキャン範囲の変更を行う。既に、スキャン範囲を±15深度程度に拡げているので、ここでは、更にスキャン間隔を変えずにスキャンポイント数を+8増やし、スキャン範囲を±40深度程度とする。但し、拡大したスキャン範囲が全域を越える場合、全域をスキャン範囲とすることは前回と同じである。
そして、前回と同様、CPU15は、ステップS9でこのスキャン範囲をスキャンし、ステップS6の処理に戻って合焦判定を行う。CPU15は、この一連の動作を合焦するか、それともSW1がオンされるまで行う。
一方、ステップS6の合焦判定で合焦と判定された場合、CPU15は、輝度変化を監視する(ステップS10)。輝度変化がない場合、CPU15は、パンニングの発生を監視する(ステップS11)。ここで、輝度変化の監視は、CPU15がCCDの読み出し領域における輝度値の累積加算演算値を随時演算し、その値をステップS10の処理に移行する際に演算したCCDの読み出し領域における輝度値の累積加算演算値と比較することで行われる。すなわち、CPU15は、随時演算される累積加算演算値と移行時の累積加算演算値との差の絶対値を求め、その値が所定値以上になった場合、輝度変化が生じたと判定し、ステップS4の処理に戻る。
また、パンニング発生の監視は、CPU15が振れ検出センサ35の出力を振れ検出回路34を介して読み込み、その値を所定値と比較することで行われる。振れ検出センサとして、一般的に振動ジャイロと呼ばれる角速度センサが用いられる。振動ジャイロは、直交する方向に2つ用いられ、ピッチ方向およびヨー方向の2軸の角速度が求められる構成になっている。振れ検出センサ35(振動ジャイロ)の出力は振れ検出回路34に入力し、振れ検出回路34において角変位に変換される。パンニング発生の監視は、この角変位をステップS11の処理への移行時からピッチ方向およびヨー方向毎に累積演算し、その累積値のいずれかが所定値を越えた場合、パンニングが発生したと判定し、CPU15はステップS4の処理に戻る。
ステップS10、S11において、輝度変化もパンニングも発生しない場合、CPU15は、SW1がオンになるか否かをチェックする(ステップS12)。SW1がオンにならない場合、つまり、撮影準備の指示前、CPU15は輝度変化およびパンニング発生の監視を継続する。なお、パンニングの監視に動きベクトルを利用しても構わない。周知のように、動きベクトルは前後の画像の相関演算を行うことで、画像の中の注目部分の画像中での動き量を画素単位で検出する方法に用いられるものである。この動きベクトルを求め、その値が監視移行時より所定値以上になった場合、CPU15はパンニングが発生したと判定する。
ステップS12でSW1がオンになった場合、CPU15は5点スキャンを行う(ステップS13)。このスキャンは、ステップS6の判定で既に合焦状態になっているので、その後の微小なピント位置変化を検出し、合焦位置を修正するためのものである。CPU15は、ステップS5と同様、5点のAF評価値を取得して合焦位置を求める。そして、CPU15は、その合焦位置にフォーカスレンズ群3の位置を制御する(ステップS19)。この処理はフォーカスレンズ制御手段の一例である。この後、CPU15は本処理を終了する。なお、ステップS13の処理は第2の合焦位置検出ステップの一例である。
ここで、CCDの読み出し領域はAF領域に限定されているので、このAF評価値を求める際に用いられる画素データも、AF領域に相当する画素の部分のみにCCD駆動パルスを与えることで、読み出される。
この5点スキャンは微小なスキャン範囲において行われる。例えば、図4の「A 1」位置から「B1」までの範囲をスキャンする。スキャン間隔は、例えば、そのズームポジションにおける開放深度の5倍程度に設定される。
このように、輝度変化やパンニングを監視することは、撮影者によるフレミングの完了をチェックすることに繋がる。輝度変化やパンニング(カメラの動き量)が小さいということは既にフレミングを完了したことを表している。本実施形態では、スキャンAFで合焦した直後にフレミングが完了したか否かをチェックし、完了している場合、SW1オン後のスキャンAFの範囲を微調整の範囲に留めているので、SW1オン後のスキャンAFが高速化される。
一方、ステップS2でEVF(電子ビューファインダ)に設定されている場合、CPU15は、CCD読み出し領域を全域に設定する(ステップS14)。このCCD読み出し領域を全域に設定する動作は、まず、CCDの読み出しモードを全域読み出しモードにすることから始める。そして、CPU15は、TG16からCCDドライバ17を介してCCD5に与える読み出しパルスをつぎのように制御する。読み出しパルスを実際に与えるのは、実際にCCDから画素データを読み出す時である(図2のステップS15、S16など)。CCDから画素データを読み出す際、1ライン目を読み出すために垂直転送パルスを与える。垂直転送パルスを与えた後、1画素以降を読み出すために水平転送パルスを与える。その数はOBを含む水平の画素数と同じである。この水平方向の読み出し動作を2ライン以降も同様に全ラインについて行う。
CPU15は、CCDの全領域内の画素を読み出し(ステップS15)、その画素データを用いてEVF表示の露出を決定する(ステップS16)。このステップS16の処理では、撮影レンズ鏡筒31を透過してCCD5に結像した像はLCD10に画像として表示される。すなわち、ステップS15で決定した露出でCCD5に結像した被写体像は、CCD5によって光電変換され、電気的な信号に変換された後、撮像回路6に出力される。
撮像回路6では、入力した信号に対して各種の信号処理が施され、所定の画像信号が生成された後、A/D変換回路7に出力される。A/D変換回路7でデジタル信号(画像データ)に変換されると、その画像データはVRAM8に一時的に格納される。
VRAM8に格納された画像データは、D/A変換回路9に出力され、アナログ信号に変換される。さらに、表示に適した形態の画像信号に変換された後、この画像信号はLCD10に画像として表示される。
CPU15は、レリーズスイッチの状態を確認する(ステップS17)。CPU15は、撮影者によってレリーズスイッチが操作され、SW1(レリーズスイッチの第1ストローク)がオン状態になるまで、ステップS2以降の処理を行い、オン状態になったことを確認すると、スキャンAF処理(全域スキャン)を行う(ステップS18)。
CPU15は、フォーカス駆動モータ22を駆動する第2モータ駆動回路19を介してフォーカス駆動モータ22を制御する。そして、CPU15は、フォーカスレンズ群3を無限遠に相当する位置(図4の「A4」位置)から各々の撮影モードにおいて設定される至近距離に相当する位置(図4の「B4」位置)まで駆動する。
そして、CPU15は、フォーカスレンズ群3を駆動しながらスキャンAF処理回路14の出力(AF評価値信号)を取得し、フォーカスレンズ群3の駆動が終了した時点で取得したAF評価値信号から、それが最大になる位置(図4の「C」位置)を求める。 CPU15は、AF評価値信号が最大値となる点(図4の「C」位置)を求める前にAF評価値信号の信頼性を評価する。その信頼性が十分である場合、CPU15はAF評価値信号が最大値となる点を求め、AFOK表示を行う。そして、ステップS19において、CPU15は、その合焦位置にフォーカスレンズ群3の位置を制御する。この後、CPU15は本処理を終了する。一方、AF評価値信号の信頼性を評価した結果、その信頼性が低い場合、CPU15は、AF評価値信号が最大値となる点を求める処理を行わず、AFNG表示を行う。なお、ステップS17でSW1がオンされた後、ステップS18で全域スキャンを行う処理は、第1の合焦位置検出ステップの一例である。
このように、第1の実施形態の撮像装置は、OVFの場合、スキャンAFを行う際のCCDからの読み出し領域を狭くすることができる。従って、その分、CCDの読み出し時間を短くすることができ、スキャンAFを高速化することが可能になる。特に、SW1オン前にスキャンAFを実行し、一旦、合焦状態にしておくことにより、SW1オン後のスキャンAFの範囲を狭くすることができ、スキャンAFの高速化が可能になる。
また、フレミングの完了を監視し、フレミングが完了していない場合でも、SW1オン前にスキャンAFを行っているので、SW1オン時には常に合焦に近い状態を維持することができる。従って、SW1オン後のスキャンAFの範囲を狭くすることができ、スキャンAFの高速化が可能になる。
また、OVFの場合、AF領域が最適になるように露出を決めているので、AF領域の露出が最適化される。従って、逆光時など、EVFで画面全体を最適化したときに比べ、AF領域の主被写体の輝度が最適される。これにより、黒くつぶれることがなくなり、AFの精度およびAF能力が向上する。
[第2の実施形態]
第2の実施形態の撮像装置は、EVF(電子ビューファインダ)時においても、SW1オン前に、ContiAFと呼ばれる、微小なスキャンを中心としたスキャンAFを実行する点で、前記第1の実施形態と異なる。ContiAFにおける微小なスキャンは、そのスキャン幅が微小なため、EVF上でフォーカスが変化していることをほとんど認識することができず、EVFの見栄えを損なうことの無いスキャンAF方式である。なお、第2の実施形態の撮像装置の構成は前記第1の実施形態と同じであるので、その説明を省略する。
図5および図6は第2の実施形態の撮像装置1における自動焦点調整動作手順を示すフローチャートである。この処理プログラムはEEPROM25に格納されており、CPU15によって実行される。
まず、CPU15は、CCD5に電源を供給して撮像を可能にする(ステップS21)。CPU15は、OVF(光学式ファインダ)に設定されているか否かを確認する(ステップS22)。OVFに設定されていない、つまりEVFに設定されている場合、CPU15はステップS36の処理に進む。
一方、OVFに設定されている場合、CPU15はCCDの読み出し領域をAF領域に限定する(ステップS23)。このCCDの読み出し領域をAF領域に限定する際の具体的な方法は、前記第1の実施形態と同様であるので、その説明を省略する。ただし、第2の実施形態では、水平方向に画素加算しない読み出しモードを選択している点で、前記第1の実施形態とは異なる。また、低照度時に十分な信号レベルを確保するため画素加算を行うが、この場合も水平方向には画素加算を行わずに、垂直方向の隣接する画素について加算を行う。また、いわゆるγ特性も直線に近いものにし、AF評価値が出やすいようにしている。
CPU15は、CCDのAF領域内の画素を読み出し、その画素データを用いてステップS25で行うスキャン時の露出を決定する(ステップS24)。
なお、他のステップ(例えば、S32)においてスキャンを行う際も、ステップS24と同様、事前にCCDのAF領域内の画素を読み出し、その画素データを用いてスキャン時の露出を決定しているが、説明を簡略化するために本フローチャートでは省略する。
このスキャンは、初期状態において現在のフォーカスレンズ位置を中心とした前後5点でAF評価値を取得する5点スキャンである。例えば、CPU15は、図4の「A 1」位置から「B1」位置までの範囲をスキャンする(ステップS25)。スキャン間隔は、例えば、そのズームポジションにおける開放深度の5倍程度に設定される。また、CCDの読み出し領域はAF領域に限定されているので、このAF評価値を求める際に用いられる画素データも、AF領域に相当する画素の部分のみ読み出される。
CPU15は、このスキャンで合焦したか否かを判定する(ステップS26)。このスキャンで合焦した場合、CPU15はステップS28の処理に進む。一方、非合焦の場合、CPU15は、スキャン範囲の変更を行う(ステップS27)。
このスキャン範囲の変更では、スキャンポイント数を増やすことで、スキャン範囲を拡げることが行われる。すなわち、ステップS25のスキャン範囲では、合焦位置を検出できなかったわけであるから、ここでは、スキャン間隔を変えずにスキャンポイント数を+4増やすことで、その分、スキャン範囲を拡げる。
例えば、ステップS25で±10深度程度をスキャン範囲としていた場合、ステップS27のスキャン範囲の変更では、±20深度程度をスキャン範囲とする。変更されたスキャン範囲は、図4の「A2」位置〜「B2」位置の範囲、あるいは「A3」位置〜「B3」位置の範囲に相当する。但し、拡大したスキャン範囲が全域を越える場合、全域をスキャン範囲とする。
そして、CPU15は、SW1がオンされたか否かの判定を行う(ステップS31)。SW1がオンされていない場合、いくつかのステップ処理を経由した後、CPU15はこのスキャン範囲をステップS25でスキャンする。そして、ステップS26で再び非合焦となった場合、CPU15は、ステップS27で再びスキャン範囲の拡大を行う。
一方、ステップS31でSW1がオンされたと判定された場合、CPU15は5点スキャンを行う(ステップS32)。この5点スキャンの詳細は、前記第1の実施形態のステップS5の5点スキャンと同様である。
この後、CPU15は合焦判定を行う(ステップS33)。合焦している場合、CPU15は、その合焦位置にフォーカスレンズ群3の位置を制御する(ステップS35)。この後、CPU15は本処理を終了する。
一方、ステップS33で非合焦の場合、CPU15は、合焦位置を検出するために、全域スキャンを行う(ステップS34)。すなわち、CPU15は、被写体距離無限遠に相当するフォーカスレンズ位置からそれぞれの状態で合焦可能な最至近距離に相当するフォーカスレンズ位置までをスキャンする。このスキャンは、図4のフォーカスレンズ位置である「A4」位置から「B4」位置までスキャンすることに相当する。
SW1オン後に行われたスキャンにおいては、前記第1の実施形態と同様、CPU15は、合焦・非合焦の結果に応じて、AFOK表示またはAFNG表示を行う。合焦の場合、CPU15は表示素子29を点灯したり、LCD上に緑の枠を表示すること等でAFOK表示を行う。また、非合焦の場合、CPU15は表示素子29を点滅表示したり、LCD上に黄色の枠を表示すること等でAFNG表示を行う。なお、この合焦判定は、取得されたAF評価値が山状になっており、そのピークが検出可能か否かを判定することにより、行われる。この合焦判定の詳細は特開2004−101766号公報に記載されているので、ここではその説明を省略する。そして、ステップS35において、CPU15は、その合焦位置にフォーカスレンズ群3の位置を制御する。この後、CPU15は本処理を終了する。
一方、ステップS26の合焦判定で合焦と判定された場合、CPU15は、合焦した際のスキャン範囲が微小範囲、すなわち初期状態の現在のフォーカスレンズ位置を中心とした前後5点範囲であったか否かを判定する(ステップS28)。初期状態の範囲でない場合、すなわち広い範囲をスキャンした場合、CPU15は、ステップS27でスキャン範囲の変更を行う。この場合の変更は、前述した変更とは違い、スキャン範囲を初期状態、すなわち5点スキャンの範囲に戻す変更である。
その後、CPU15は、ステップS31でSW1がオンしたか否かの判定を行い、オンされていない場合、いくつかのステップ処理を経由した後、初期化されたスキャン範囲をステップS25でスキャンする。そして、合焦となった場合、CPU15はステップS28からステップS29の処理に進む。
CPU15は、初期状態のスキャン範囲で合焦した場合、輝度変化を監視する(ステップS29)。輝度変化があった場合、CPU15はステップS24の処理に戻り、一方、輝度変化がない場合、CPU15は、パンニングの発生を監視する(ステップS30)。このパンニングの監視の詳細は前記第1の実施形態と同様である。パンニングの発生があった場合、CPU15はステップS24の処理に戻り、一方、輝度変化もパンニングも発生していない場合、CPU15は、ステップS31でSW1がオンになるか否かをチェックする。
一方、ステップS22でEVFに設定されている場合、CPU15はCCD読み出し領域を全域に設定する(ステップS36)。この場合、CPU15は、読み出しモードを、OVFの場合と異なり、EVFの見栄えを考慮して、水平方向に画素加算を行うモードに設定する。
CPU15は、CCDの全領域内の画素を読み出し、その画素データを用いてステップS38で行うEVF表示の露出を決定する(ステップS37)。CPU15は、撮影レンズ鏡筒31を透過してCCD5上に結像した像をLCD10に画像として表示する(ステップS38)。
そして、CPU15は、ContiAFと呼ばれる、微小なスキャンを中心としたスキャンAFを実行する(ステップS39)。ContiAFの動作中(図7)にSW1オン信号が検出された場合、CPU15は、動作を中断し、ステップS31の処理へ制御を移す。
図7はContiAFの動作手順を示すフローチャートである。まず、CPU15は、微小駆動という動作を行う(ステップS51)。この動作では、フォーカスレンズの移動量が静止画撮影時の開放深度の半分ほどの量である。また、移動方向は、前回の取得されたAF評価値より今回取得されたAF評価値が増加している場合に前回と同一方向であり、減少している場合に逆方向である。
CPU15は微小駆動の結果から方向判別を行う(ステップS52)。微小駆動において所定回数同一方向にフォーカスレンズが移動された場合、CPU15はその移動方向に合焦位置があると判断することができる。すなわち、その方向に合焦位置があると判断できるので、フォーカスレンズの移動方向が判別可能となる。
CPU15は、フォーカスレンズの移動方向の判別が可能であるか否かを判定する(ステップS53)。方向判別可能な場合、CPU15はステップS57の処理に進む。一方、方向判別不可能な場合、CPU15はステップS54の処理に進む。
ここで、方向判別不可能な理由として、2つのケースが考えられる。その1つは、合焦位置付近にフォーカスレンズが位置しているので、合焦位置(AF評価値ピーク位置)をまたいでフォーカスレンズ移動しているためAF評価値が増加する方向が定まらないケースである。
もう1つは、合焦位置から遠く離れた位置にフォーカスレンズがあるので、AF評価値が非常に小さく、ノイズ等の影響を受けて変動しているためAF評価値が増加する方向が定まらないケースである。
1つ目のケースの場合、AF評価値のピークを越えたときにAF評価値が増加から減少に転じるわけであるから、増加から減少に転じる位置は常に一定になる。そして、フォーカスレンズの移動方向が反転する区間にAF評価値が最大(極大)になる位置が存在する。
2つ目のケースの場合、ノイズ等の影響を受けてAF評価値が変動しているため、フォーカスレンズの移動方向が反転する位置が不定である。従って、AF評価値が最大(極大)になる位置も反転区間内に入るとは限らない。
そこで、方向判別不可能な場合、CPU15は、AF評価値が極大になる位置が、フォーカスレンズの移動方向が反転する区間内にあるか否かの判定を行う(ステップS54)。区間内な極大値がある場合、CPU15はピークを検出したと判断し、ステップS55の処理に進む。一方、区間内の極大値がない場合、CPU15はピークを検出できないと判断し、ステップS59の処理に進む。
ピークを検出した場合、CPU15は、フォーカスレンズ群3をAF評価値が極大となる位置へ移動し、停止させる(ステップS55)。そして、CPU15は、状態変化の監視を行う(ステップS56)。この状態変化の監視はつぎのように行われる。CPU15は、AF評価値および被写体輝度を状態変化の監視に最初に移行した際に記録し、この記録したAF評価値および被写体輝度とその時々のAF評価値および被写体輝度とを比較する。そして、CPU15は、その差の絶対値が所定値以内である場合、状態変化はないと判断し、ステップS55の処理に戻る。一方、所定値を越える場合、CPU15は、ステップS51の処理に戻り、微小駆動動作を行う。
一方、ステップS54でピークが検出できない場合、CPU15は往復スキャンを行う(ステップS59)。この動作は、つぎのように行われる。CPU15はその時点のフォーカスレンズ位置から無限遠端へ向かってフォーカスレンズを移動させた後、移動方向を反転し、至近端へ向かってフォーカスレンズを移動させる。そして、CPU15は、再度、至近端で移動方向を反転し、移動前のフォーカスレンズ位置までフォーカスレンズを移動させながらAF評価値を取得する。これにより、合焦位置から遠く離れた位置にフォーカスレンズがあっても、合焦位置(AF評価値ピーク位置)を見つけることができる。
CPU15は、ステップS59の往復スキャンの結果から、AF評価値のピーク位置を求める(ステップS60)。そして、CPU15は、その位置にフォーカスレンズを駆動し、停止させる(ステップS61)。一方、ステップS60でピークが検出できない場合、CPU15は、ステップS61でそれぞれのズームポジション毎に定められたフォーカスレンズ移動位置(定点)にフォーカスレンズを駆動し、停止させる。コントラストの殆どない被写体を見た場合など、この様なことになることがある。この後、CPU15は、ステップS56の状態変化を監視する処理に進む。
一方、ステップS53で方向判別可能と判断された場合、CPU15は山登り動作を行う(ステップS57)。既に合焦位置のある方向はわかっているので、CPU15は、その方向へフォーカスレンズを移動し、ピークを検出する動作を、ピークが検出されるまで行う(ステップS58)。
フォーカスレンズの移動の速度は合焦度合いによって変えられ、合焦位置に近づくに従って遅くなるようにされている。CPU15は、AF評価値の極大値から一定量AF評価値が減少すると、ピークを検出したと判定し、検出したピーク位置にフォーカスレンズを戻し停止させる。そして、ピーク位置が検出されると、CPU15は、ステップS51の処理に戻り、微小駆動の動作に移行する。
このように、第2の実施形態の撮像装置は、OVFの場合、SW1オン前にスキャンAFを実行し、一旦、合焦状態にしておくことで、SW1オン後のスキャンAFの範囲が狭い状態でも確実に合焦させることができ、スキャンAFの高速化が可能になる。
また、撮像装置は、AFを行う場合のCCDの読み出しモードとして、水平方向に画素加算しない読み出しモードを選択する。この読み出しモードでは、撮像装置は、低照度時、十分な信号レベルを確保するために画素加算を行うが、水平方向に画素加算を行わずに垂直方向の隣接する画素について加算を行う。これにより、AF評価値を算出する際に水平方向の加算による高周波成分の消失が起きないので、高精度のAFが可能になる。また、いわゆるγ特性も直線に近いものにし、AF評価値が出やすいようにしているので、逆光などに影響されないAFが期待できる。
[第3の実施形態]
第3の実施形態の撮像装置は、輝度変化およびパンニングを監視することで撮影者のフレミング完了を判定し、フレミング完了と判定された場合、OVFおよびEVFそれぞれに応じたスキャンをSW1オン前に行い、SW1オン後のAFを高速化している。この点において、第3の実施形態の撮像装置は前記第1および第2の実施形態と異なる。なお、第3の実施形態の撮像装置の構成は前記第1の実施形態と同じであるので、その説明を省略する。
図8および図9は第3の実施形態の撮像装置1における自動焦点調整動作手順を示すフローチャートである。この処理プログラムはEEPROM25に格納されており、CPU15によって実行される。
まず、CPU15は、CCD5に電源を供給して撮像を可能にする(ステップS71)。CPU15はその時点の輝度を記録する(ステップS72)。CPU15はOVFに設定されているか否かを確認する(ステップS73)。
OVFに設定されていない場合、つまりEVFに設定されている場合、CPU15はステップS86の処理に進む。一方、OVFに設定されている場合、CPU15はCCDの読み出し領域をAF領域に限定する(ステップS74)。このCCDの読み出し領域をAF領域に限定するための具体的な方法は、前記第1の実施形態と同様であるので、その説明を省略する。ただし、前記第1の実施形態とは、水平方向に画素加算しない読み出しモードを選択している点で異なる。また、低照度時、十分な信号レベルを確保するため画素加算を行うが、この場合も水平方向に画素加算を行わずに垂直方向の隣接する画素について加算を行う。また、いわゆるγ特性も直線に近いものにし、AF評価値が出やすいようにする。
CPU15は、CCDのAF領域内の画素を読み出し、その画素データを用いてスキャン時の露出を決定する(ステップS75)。
一方、ステップS73でEVFに設定されている場合、CPU15はCCD読み出し領域を全域に設定する(ステップS86)。この場合、読み出しモードは、OVFの場合と異なり、EVFの見栄えを考慮し、水平方向に画素加算を行うモードに設定される。
CPU15は、CCDの全領域内の画素を読み出し、その画素データを用いてステップS88で行うEVF表示の露出を決定する(ステップS87)。この露出値はスキャン時にも適用される。CPU15は、撮影レンズ鏡筒31を透過してCCD5上に結像した像をLCD10に画像として表示する(ステップS88)。
ステップS75あるいはS88の処理後、CPU15は輝度の比較を行う(ステップS76)。すなわち、CPU15は、その時点の輝度と記録されている輝度(初回の場合はステップS72で記録された輝度、それ以降はステップS77で記録される輝度)とを比較する。さらに、CPU15はその時点の輝度を記録する(ステップS77)。
CPU15は輝度変化をチェックする(ステップS78)。ステップS76での比較の結果、輝度変化がない場合、CPU15はパンニングの発生を監視する(ステップS79)。このように、輝度変化やパンニングを監視することは、撮影者によるフレミングの完了をチェックすることに繋がる。すなわち、輝度変化およびパンニング(カメラの動き量)が小さいということは、既にフレミングを完了したことを表している。
輝度変化あるいはパンニングのいずれかが発生している場合、CPU15はステップS89の処理に進む。一方、輝度変化もパンニングも発生していない場合、CPU15はスキャンAFを行う(ステップS80)。このスキャンは、初期状態では現在のフォーカスレンズ位置を中心とした前後5点でAF評価値を取得する5点スキャンである。CPU15は、例えば、図4の「A 1」位置から「B1」位置までの範囲をスキャンする。スキャン間隔は、例えば、そのズームポジションにおける開放深度の5倍程度に設定される。
OVFの場合、CCDの読み出し領域はAF領域に限定され、かつ水平非加算のCCD読み出しモードが選択されているので、このAF評価値を求める際に用いられる画素データも、AF領域に相当する画素の部分のみが読み出される。一方、EVFの場合、CCDの読み出し領域は画面全域であり、かつ水平加算のCCD読み出しモードが選択されているので、このAF評価値を求める際に用いられる画素データは画面全域に亘って読み出される。
CPU15は、ステップS80のスキャンAFによって合焦したか否かを判定する(ステップS81)。このスキャンで合焦した場合、CPU15は、スキャン範囲が初期状態から変更されている場合、スキャン範囲を初期状態に戻す(ステップS82)。この後、CPU15はステップS89の処理に進む。
一方、ステップS81で非合焦の場合、CPU15は、OVFに設定されているか否かのチェックを行う(ステップS83)。OVFに設定されている場合、CPU15はスキャン範囲の拡大を行う(ステップS85)。一方、OVFに設定されていない場合、つまりEVFの場合、CPU15はスキャン範囲のシフトを行う(ステップS84)。OVFの場合、フォーカスレンズの移動に伴うピントの変化はファインダに反映されない。従って、合焦位置を探すために、スキャン範囲を拡大してフォーカスレンズを大きく動かし、ピントを大きく変化させても、それが撮影者に認識させることにはならないので、なんら問題は生じない。よって、合焦位置をより確実に探すために、CPU15はスキャン範囲の拡大を行う。スキャン範囲の拡大はスキャンポイント数を増やすことで行われる。
また、ステップS80のスキャン範囲では、合焦位置を検出できなかったわけであるから、スキャン間隔を変えずに、スキャンポイント数を+4増やし、その分、スキャン範囲を拡げる。ステップS80で±10深度程度をスキャン範囲としていた場合、CPU15は、±20深度程度をスキャン範囲とするように拡大する。図4の「A2」位置〜「B2」位置、「A3」位置〜「B3」位置がこれに相当する。但し、拡大したスキャン範囲が全域を越える場合、全域をスキャン範囲とする。
一方、EVFの場合、フォーカスレンズの移動に伴うピントの変化が電子ビューファインダに反映される。従って、合焦位置を探すためにスキャン範囲を拡大してフォーカスレンズを大きく動かし、ピントを大きく変化させた場合、それが撮影者に認識させ、ファインダの見栄えを落とすとともに、フレミングに影響を与えることになる。よって、合焦位置をより確実に探すためにスキャン範囲の拡大を行うことはできない。
そこで、CPU15は、ステップS80の結果から、遠側あるいは近側のどちらに合焦位置があるかを予測し、その方向にスキャン範囲をシフトする(ステップS84)。このスキャン範囲のシフトでは、スキャンポイント数は同じであり、近側もしくは遠側の合焦位置があると予測した方向に3スキャン間隔分シフトする。例えば、スキャン間隔が5深度であり、かつスキャンポイント数が5ポイントである場合、CPU15はスキャン位置を15深度シフトする。但し、シフトしたスキャン範囲が遠端もしくは近端を越える場合、CPU15は遠端もしくは近端がスキャンの端位置になるようにシフトする。なお、シフト方向の予測方法としては、スキャンで得られた5つのAF評価値を直線近似し、増加している方向をシフトする方向とすることなどが考えられる。但し、この予測方法は、合焦位置から遠く離れている場合、誤判定する可能性がある。よって、スキャン範囲拡大の方が確実に合焦範囲を探索できる。
ステップS84でスキャン範囲のシフト、またはステップS85でスキャン範囲の拡大が終了すると、CPU15はSW1がオンされたか否かの判定を行う(ステップS89)。オンされていない場合、CPU15はステップS73の処理に戻る。
一方、オンされている場合、CPU15は5点スキャンを行う(ステップS90)。この5点スキャンの詳細は、前記第1の実施形態のステップS13の5点スキャンと同様である。
CPU15は合焦判定を行う(ステップS91)。合焦している場合、CPU15は、その合焦位置にフォーカスレンズの位置を制御する(ステップS93)。この後、CPU15は本処理を終了する。一方、非合焦の場合、CPU15は、合焦位置を検出するために全域スキャンを行う(ステップS92)。すなわち、CPU15は、被写体距離無限遠に相当するフォーカスレンズ位置からそれぞれの状態で合焦可能な最至近距離に相当するフォーカスレンズ位置までフォーカスレンズをスキャンする。これは、図4のフォーカスレンズを「A4」位置から「B4」位置までスキャンすることに相当する。このスキャンで合焦した場合も、ステップS93において、CPU15は、その合焦位置にフォーカスレンズの位置を制御する。この後、CPU15は本処理を終了する。非合焦の場合、CPU15は、定点と呼ばれるズームポジションごとの所定の位置にフォーカスレンズの位置を制御する。
また、SW1オン後に行われたスキャンにおいては、前記第1の実施形態と同様、CPU15は、合焦・非合焦の結果に応じて、AFOK表示またはAFNG表示を行う。合焦の場合、CPU15は表示素子29を点灯したり、LCD10に緑の枠を表示する等でAFOK表示を行う。一方、非合焦の場合、CPU15は、表示素子29を点滅表示したり、LCD10に黄色の枠を表示する等でAFNG表示を行う。
なお、この合焦判定は、取得されたAF評価値が山状になっており、かつそのピークが検出可能か否かを判定することにより行われる。合焦判定の詳細については、特開2004−101766号公報に記載されているので、その説明を省略する。
このように、第3の実施形態の撮像装置は、撮影者のフレミングの終了を検知し、SW1オン前にAFを実行してほぼ合焦の状態にするので、SW1オン後のAFを高速化することができる。
なお、本発明は、上記実施形態の構成に限られるものではなく、特許請求の範囲で示した機能、または本実施形態の構成が持つ機能が達成できる構成であればどのようなものであっても適用可能である。
例えば、上記各実施形態では、コンパクトタイプのデジタルカメラを例に説明したが、本発明は、デジタルビデオカメラやデジタルSLR(一眼レフカメラ)の位相差AFにも適用可能である。
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
更に、前述した実施形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。