以下、本発明の実施の形態を図面を参照して詳細に説明する。
図1は、本発明の第1の実施の形態に係る撮像装置のシステム構成図である。
図1において、10は撮像装置1の撮像光学系であり、ズームレンズ11a、焦点調節レンズ11b、シャッタ12、補正レンズユニット11c、絞りユニット13などによって構成される。14は、撮像光学系10の光軸を表す。21は光学像を電気信号に光電変換する撮像素子、22は撮像素子21のアナログ信号出力をデジタル信号に変換するA/D変換器である。24は撮像素子21、A/D変換器22、D/A変換器27にクロック信号や制御信号を供給するタイミング発生部であり、メモリ制御部25及びシステム制御部50により制御される。
23は画像処理部であり、A/D変換器22からのデータ或いはメモリ制御部25からのデータに対して所定の画素補間処理や色変換処理やガンマ処理を行う。また、画像処理部23では、撮像した画像データを用いて所定の処理を行い、得られた結果に基づいてシステム制御部50が露光制御部41、フォーカス制御部42に対して制御を行う。つまり、コントラスト方式のAF(オートフォーカス)処理、AE(自動露出)処理等を行う。さらに、画像処理部23では、撮像した画像データを用いて所定の演算処理を行い、得られた演算結果に基づいてAWB(オートホワイトバランス)処理も行うことも可能である。なお、露光制御部の具体的な演算処理については後に詳述する。
25はメモリ制御部であり、A/D変換器22、画像処理部23、タイミング発生部24、画像表示メモリ26、D/A変換器27、圧縮伸張部28、内部メモリ29を制御する。A/D変換器22のデータが画像処理部23、メモリ制御部25を介して、或いはA/D変換器22のデータが直接メモリ制御部25を介して、画像表示メモリ26或いは内部メモリ29に書き込まれる。26は画像表示メモリ、27はD/A変換器である。7はTFT,LCD等から成る画像表示部であり、画像表示メモリ26に書き込まれた表示用の画像データはD/A変換器27を介して画像表示部7により表示される。画像表示部7を用いて撮像した画像データを逐次表示すれば、電子ファインダ機能を実現することが可能である。また、画像表示部7には画像が表示されるだけでなく、画像表示と共に、若しくは画像を表示することなく、撮像装置1の各種設定に関する様々なメニュー項目も表示する。ユーザは画像表示部7に表示されたメニュー項目を、操作スイッチ5を操作しながら適宜選択することにより、指定した項目の設定を変更することができる。
28は適応離散コサイン変換(ADCT)等により画像データを圧縮伸長する圧縮伸長部であり、内部メモリ29に格納された画像を読み込んで圧縮処理或いは伸長処理を行い、処理を終えたデータを内部メモリ29に書き込む。29は撮影した静止画像や動画像を格納するための内部メモリであり、所定枚数の静止画像や所定時間の動画像を格納するのに十分な記憶量を備えている。これにより、複数枚の静止画像を連続して撮影する連写撮影やパノラマ撮影の場合にも、高速かつ大量の画像書き込みを内部メモリ29に対して行うことが可能となる。また、内部メモリ29はシステム制御部50の作業領域としても使用することが可能である。
30は補正レンズユニット制御部であり、通常の撮影モード時には、振れ検出器33によってカメラの手振れ量を検出し、その振れ量に応じて、駆動制御部31、位置検出センサ32によって補正レンズユニット11cを制御し、カメラ振れによる像振れを抑える。振れ検出器33は例えばジャイロセンサを用いて構成されており、位置検出センサ32は例えばホール素子を用いて構成されている。被写体像に存在する輝点を用いて図形を描画するときには、さらに不揮発性メモリ46に記録されている軌跡データを処理した上で補正レンズユニット11cを制御する。具体的な処理については後に詳述する。
41はシャッタ12や絞りユニット13を制御する露光制御部であり、ストロボ制御部8を介して制御されるストロボ9と連携することにより、ストロボ撮影にも対応する。42は焦点調節レンズ11bを制御するフォーカス制御部であり、43はズームレンズ11aによってズーミングを制御するズーム制御部であり、44はレンズの前面に配置される保護部材であるバリア2の動作を制御するバリア制御部である。
9はストロボであり、ストロボ制御部8によって制御されることにより、AF補助光の投光機能、ストロボ調光機能にも対応する。50は撮像装置1全体を制御するシステム制御部であり、45はシステム制御部50の動作用の定数、変数、プログラム等を一時的に記憶する揮発性メモリである。
46は電気的に消去・記録可能な不揮発性メモリであり、例えばEEPROM等が用いられる。撮像装置1の動作時に必要な定数、変数、プログラム等を、撮像装置1の非動作時にも失われないように記録している。撮像装置1の動作時には、システム制御部50の呼び出し指示に応じて記録されている定数、変数、プログラム等をシステム制御部50に送る。システム制御部は必要に応じて、呼び出した定数、変数、プログラム等を、適宜利用できるようにメモリ45に展開する。また、上述のように軌跡データも不揮発性メモリ46に記録されている。具体的な記録態様や、利用の仕方については後に詳述する。
47はシステム制御部50でのプログラムの実行に応じて、文字、画像、音声等を用いて動作状態やメッセージ等を表示する液晶表示装置等の表示部である。この表示部47は撮像装置1の操作部近辺の視認し易い位置に単数或いは複数個所設置され、例えばLCDやLEDの組み合わせにより構成されている。また、表示部47は、その一部の機能が光学ファインダ6内に設置されていることもある。表示部47では、例えばシャッタスピードや絞り値、露出補正やストロボ発光の設定などを表示する。
3,4及び5はシステム制御部50の各種の動作指示を入力するための操作部であり、スイッチやダイヤル、タッチパネル、音声認識装置等の単数或いは複数の組み合わせで構成される。
3はレリーズスイッチであり、具体的には2段階に押し込むことができるように構成されている。ユーザは、1段目までの押し込み操作である半押し操作(SW1のオン)で撮影準備指示を行い、2段目までの押し込み操作である全押し(SW2のオン)操作で撮影指示を行うことができる。撮影準備指示であるSW1のオンで、システム制御部50は、AF(オートフォーカス)処理や、AE(自動露出)処理などの撮影準備動作を行うように制御する。そして、撮影指示であるSW2のオンで、システム制御部50は、露光制御部41を介してシャッタ12や絞りユニット13を駆動して、被写体画像を撮像素子21により取り込む制御を行う。具体的には、撮像素子21を蓄積状態にして、シャッタ12を開閉駆動することで被写体像を露光する。このシャッタ12の開閉の間が露光時間、すなわちシャッタスピードとなる。シャッタ12が閉状態に戻って撮像素子21の電荷蓄積を終了した後に、蓄積された電荷を信号として読み出す。システム制御部50及びメモリ制御部25は、撮像素子21から読み出した信号を、A/D変換器22、画像処理部23、圧縮伸張部28及び内部メモリ29を用いて一連の現像処理や画像処理を行って画像データを生成する。そして、生成された画像データは、撮像装置1側のインターフェース51とコネクタ52、及び着脱可能である記録媒体60側のコネクタ61とインターフェース62を介して、記録媒体60の記録部63に画像ファイルとして記録される。記録部63としては、ハードディスクやフラッシュメモリなどの、複数枚の画像データを記録するのに十分な容量を有するものが適している。なお、53は撮像装置1に対して記録媒体60が装着されているか否かを検出する記録媒体着脱検出部である。
手振れ補正がオンに設定されているときには、補正レンズユニット制御部30がSW1のオンに合わせて補正レンズユニット11cを動作させて、撮像素子21上で結像される被写体像の、ユーザの手振れに起因して生じる振れを軽減する。
さらに、軌跡描画モードに設定されているときには、補正レンズユニット制御部30は、SW2のオン後の露光時間に指定された図形を描くように、補正レンズユニット11cを駆動する。
4はモードダイヤルであり、電源オフ、撮影モード(通常の撮影モード、軌跡描画モード等)、再生モード、PC接続モード等の各機能モードを切り換えて設定することができる。5は各種ボタンやタッチパネル等からなる操作スイッチであり、メニューボタン、セットボタン、ストロボ設定ボタン等が設けられている。上述の軌跡描画モードでは、メニュー画面により、後述する特殊軌跡モードを選択することができる(図3)。
手振れ補正のオン若しくはオフの設定をするためには、手振れ補正設定のために設けられた、例えばスライドスイッチから成る操作スイッチ5を操作する。
また、軌跡描画機能をオンにする場合には、モードダイヤル4を軌跡描画モードに切り換えた後、画像表示部7に表示される描画メニューを、例えば十字キーから成る操作スイッチ5により選択して設定する。具体的な表示等については後述する。
6は光学ファインダであり、直接的に被写体を確認することが可能である。この場合、画像表示部7による電子ファインダ機能を使用すること無しに、光学ファインダ6のみを用いて撮影を行える。また、光学ファインダ6内には表示部47の一部を配設して、例えば、シャッタスピードや絞り値などを確認できるようにしてもよい。
48は電源制御部であり、電池検出回路、DC/DCコンバータ、通電するブロックを切り換えるスイッチ回路等により構成されている。そして、電池の装着の有無、電池の種類、電池残量の検出を行い検出結果をシステム制御部50に送る。また、システム制御部50の指示に基づいて、必要な電力を適宜撮像装置1の各部へ供給する。
70は供給電源であり、コネクタ71と撮像装置1側のコネクタ49を介して、電源部72の電力を撮像装置1側に供給する。電源部72は、アルカリ電池やリチウム電池等の一次電池、またはNiCd電池やNiMH電池やLi電池等の二次電池、ACアダプター等のいずれか、若しくはこれらの組合わせにより構成される。
54は通信制御部であり、USBやIEEE1394、LAN、無線通信等の各種通信機能をサポートする。55は、通信部54により撮像装置1を他の機器と接続するためのコネクタ、或いは無線通信をするためのアンテナである。
次に、図2から図4を用いて軌跡描画モード及び軌跡描画機能について説明する。
軌跡描画モードは、夕暮れ時や夜間など背景が暗いシーンの中に遠くの街灯などの点光源(輝点)が存在する場合に、撮像素子21の露光時間中(露出期間に)に補正レンズユニット11cを駆動して、その点光源で予定した軌跡(輝線)を撮像素子上に描くモードである。
図2は、通常の撮影モード設定時(軌跡描画機能オフ)と、軌跡描画モード設定時(軌跡描画機能オン)とで得られる画像を比較する概略図である。
図2(a)は、通常の撮影モード設定で撮影したときに得られる画像の例である。主たる被写体である人物が撮像装置1から比較的近い位置におり、その背景は夜景であって街灯などによる点光源がいくつか存在する。この画像の例は、少なくとも露光時には手振れ補正を行いつつ、露光中のあるタイミングでストロボ9を発光させて人物を照射したものである。
このように撮影すると、ストロボ9の照射範囲内に存在する人物は、ストロボ光が反射して明るく写り、ストロボ9の照射範囲外の遠景は、自ら発光する点光源(ここでは街灯)のみが撮像素子21まで到達して写ることになる。ただし、遠景の街灯は撮像装置1に対して照度としては小さいので、いわゆるスローシャッタでなければ被写体像として写らない。そのためここでは手振れ補正をオンにして、点光源が点として写るようにしている。
図2(b)は、図2(a)と同じ構図で、軌跡描画モード設定で撮影したときに得られる画像の例を表している。ここでは、ユーザが予め星型を描画図形として選択していたものとする。撮像素子が露光の状態にある期間、すなわち露光中において、手振れ補正の目標値に星型を描画するための目標値を重畳して補正レンズユニット11cを駆動すると、背景の点光源は撮像素子21上で星型を描いて写ることになる。
一方、人物はストロボ9により照射される。ストロボ9の発光時間は撮像素子21の露光時間に対して十分に短く、また、人物はストロボ発光時以外は何ら照射光を受けることのない低照度下に存在しているので、略ストロボ光が反射した像だけが撮像素子21に届いて静止したように写る。すると図2(b)のように、1枚の画像に、点光源である街灯については星型を描いて写り、人物は静止して写るこということになる。
図2(b)では星型の例を示したが、予め定められた複数の図形やサイズから、ユーザの選択により任意の図形やサイズを選択することができる。
図3は、ユーザによる軌跡図形やサイズの選択等を説明するための図である。具体的には、モードダイヤル4で軌跡描画モードが選択されているときに、メニュー呼び出しのための操作スイッチ5が操作された場合に表示される画像表示部7のメニュー画面である。
301は現在表示されているメニュー項目が、撮影に関する項目であることを示すためのアイコンタブである。この他に再生に関する項目であることを示すためのタブ302と、撮影/再生以外の設定項目であることを示すためのタブ303があり、これらは、操作スイッチ5の一部である十字キーのうち、左右キーの操作により移動及び選択が可能である。
軌跡図形やサイズの選択については、撮影モードの一つである軌跡描画モードに関する項目であるので、撮影に関するアイコンタブ301が選択されたときにメニュー項目として表示される。
304から307は軌跡描画モードに関するメニュー項目である。それぞれのメニュー項目は、操作スイッチ5の一部である十字キーのうち、上下キーの操作により移動及び選択が可能である。撮影に関するメニュー項目はこれら以外にも多数存在し、同様に上下キーを操作することで、メニュー項目はスクロールされて新たな項目が表示される。現在表示されているメニュー項目が、全体のメニュー項目に対してどのくらいの位置にあたるかを示すために、全体を示すためのバー308aと、バー308a上に重ねられた、位置を示すためのバー308bが表示されている。
304は、軌跡描画モードにおいて、同時に手振れ補正を行うか否かを選択するための、「手振れ補正」のメニュー項目である。手振れ補正設定のために別途設けられたスライドスイッチ(操作スイッチ5)で、手振れ補正がオフにされていたとしても、軌跡描画モードが選択されたときには自動的にオンにしたいときなどのために用意されている。これは、軌跡描画モードでは原則としてスローシャッタで撮影することが多いために、手持ち撮影では手振れが起きやすく、軌跡の描画と共に手振れ補正を行った方がきれいな図形が描けるからである。逆に、スライドスイッチでは手振れ補正がオンになっていても、撮像装置1を三脚に固定して軌跡描画をさせる場合には、むしろ手振れ補正機能が邪魔になることがある。このようなときには、予めこのメニュー項目で手振れ補正を「切」に選択しておけばよい。なお、図示では「入」が選択されている様子を表している。
305は、軌跡描画モードで点光源を利用して描かせたい図形を選択するための、「図形選択」のメニュー項目である。図3においては、上下キーによりこの項目が選択されて太枠表示され、アクティブとなっている様子を示している。さらに、メニュー項目がハイライト表示された状態でセットボタン(操作スイッチ5)を操作すると、それぞれの図形が左右キーで選択できる状態になる。図3では、この選択できる状態を表している。また、それぞれの図形はアイコンで表示されている。現在選択されている図形のアイコンは網掛けされた状態で表示され、図3では星型が選択されていることを示す。また、ここに表示された星型、ハート型、丸型以外にも選択可能な図形が用意されている。左向きの三角アイコンはさらに左側に隠れて選択可能な図形が存在することを表し、同様に、右向きの三角アイコンはさらに右側に隠れて選択可能な図形が存在することを表している。隠れて選択可能な図形としては、例えば、ダイヤやスペードがあってもよい。ユーザは左右キーを操作することで網掛け部を移動させ、所望の図形を選択することができる。
306は、図形選択で選択した図形を、どれくらいの大きさで撮影画像中に描かせたいかを選択するための、「図形サイズ」のメニュー項目である。図3の例では「小」、「中」、「大」が選択できるようになっており、ここでは「中」が選択されている様子を示している。
307は、図形選択で選択した図形の、どの点を描画の開始点とするかを選択するための、「描画始点」のメニュー項目である。例えば、「図形選択」で丸型が選択されたときに、補正レンズユニット11cを、「下」→「上」→「下」と一周させるのか、「上」→「下」→「上」と一周させるかによって、描かれる丸とストロボ照射される被写体との相対的な位置関係が変わってくる。したがって、描画の開始点をユーザの意図によって選択できるようにしている。ここでは「上」、「下」、「右」、「左」が選択可能なように用意されており、図3では「下」が選択されている様子を表している。なお、出力される画像と、撮像素子21上に結像される被写体像とでは、上下左右が逆の関係になるので、メニューにおける「上」、「下」、「右」、「左」は、補正レンズユニット11cの始動位置としては「下」、「上」、「左」、「右」に対応することになる。また、選択される図形によっては、「上」、「下」、「右」、「左」に対応する位置が明確ではない場合があるが、これは後に説明する軌跡データに予めどの位置が「上」、「下」、「右」、「左」に対応するかが定義付けられている。
308は、軌跡描画モードにおいて、後述する特殊軌跡モードを選択するための「特殊軌跡モード」のメニュー項目である。
図3では、モードダイヤル4で軌跡描画モードが選択されているときに呼び出されるメニュー画面について説明したが、これ以外のモードが選択されているときには、304から307のメニュー項目はグレーアウトされ、選択ができないようにされる。
次に、描画始点の設定について図4(a)〜図4(c)を用いて説明する。
図4(a)〜図4(c)は、描画始点の違いにより、撮影画像としてどのような差が生じるかを説明する図である。
図4(a)において、中央の点は背景の輝点を示している。そして、撮像装置1の近くに手をかざして、背景の輝点との位置関係が図4(a)の関係になるように構図を決めて撮影する場合について述べる。低照度下でかざされた手はストロボ9の照射範囲内に存在する。なお、ここでは描画する図形として、「図形選択」メニューで「ハート型」が選択されているものとする。
図4(b)は、描画始点として「下」が選択されているときに得られる画像を表すものである。描画始点を「下」にすると、ハート型の最下点から描画が開始されるため、図4(a)での輝点の位置よりも上側に輝線の描画が行われることになる。したがって、描画されるハートは、あたかもかざされた手に乗ったように写し込まれる。
一方、描画始点として「上」が選択されているときには、図4(c)のような撮影画像が得られる。描画始点を「上」にすると、ハート型の上部の一点から描画を開始するため、ハート型は図4(a)での輝点の位置よりも下側に輝線の描画が行われることになる。したがって、かざされた手とハート型が重なった画像となる。
次に、不揮発性メモリ46に記録されている軌跡データについて、図5を用いて説明する。
図5(a)〜図5(c)は、通常軌跡モードにおける軌跡データの記録形式を概念的に説明するための図である。
軌跡データは、メニュー画面でユーザによって選択された設定に従って、補正レンズユニット11cを駆動させるためのデータである。システム制御部50が不揮発性メモリ46から、ユーザによって選択された図形の軌跡データを読み出し、その他の図形サイズや描画始点といった設定項目や、露出情報などと共に駆動制御部31に送る。駆動制御部を構成する軌跡制御部31g(後述)は、これらの情報を受け取り、描画を行うために必要な補正レンズユニット11cの移動量を演算する。
図5(a)は、軌跡データの格納ルールを示す図である。
ある図形を示す軌跡データは配列構造を持ち、先頭アドレスにはその軌跡データがいずれの図形を示すデータであるのかを示す「図形情報」が格納されている。したがってシステム制御部50は、ユーザによって選択された図形をこの図形情報と照合し、一致するものを読み出す。
そして次に「描画始点アドレス」が格納されている。これは、ユーザに選択された描画始点が「上」、「下」、「右」、「左」のいずれかによって、どの座標データから使用するかを示すものである。
「描画始点アドレス」の次には「描画軌跡長」が格納されている。これはその図形の軌跡の長さに相当する。すなわち選択された図形を描き終わるまでに、補正レンズユニット11cをどれだけ動かさなければならないかがこの情報から演算される。したがって、この「描画軌跡長」に基づいて、その図形を描くのに要する時間、すなわち最適な露光時間を決定することができる。
露光時間よりも軌跡描画時間(図形を描くために補正レンズユニット11cを動かす必要がある時間)の方が短ければ、図形を描き終わった後も露光状態が続くことになるので、その図形の終端部分で滲み(高輝度の部分)を生じることになる。また、選択された図形を一回りして描き終わっても留まることなくさらに二回り目、三回り目をした場合に、開始点と終了点が一致していないときに露光時間が終了すると、一つの図形内に輝度の高い軌跡部分と、低い軌跡部分を生じさせることになる。
逆に、露光時間の方が軌跡描画時間よりも短ければ、その図形を描ききる前に露光時間が終了することになるので、途中で途切れた未完成の図形が撮影画像として表れることになる。
したがって、露光時間は、選択された図形を一回りして描く時間、若しくは整数回まわって描く時間である軌跡描画時間と一致することが好ましい。具体的な露光時間の算出と露出条件の決定に関しては、後に詳述する。
「描画軌跡長」の次からは、必要な数だけ座標値が格納されている。座標値は座標1、座標2、座標3…と続き、補正レンズユニット11cは、順番にこれらに対応する位置に駆動されることで、選択された図形をトレースすることになる。矢印は補正レンズユニット11cが次に移動される位置に対応する座標を概念的に示すものである。描画開始時には、描画始点アドレスに従って矢印がセットされる。その後は順次インクリメントされて(矢印が次の座標アドレスへセットされて)座標値が読み出される。
なお、この軌跡データはメニュー項目「図形サイズ」で選択される「中」を基準に作成されている。したがって、「図形サイズ」で「中」が選択されている場合には、軌跡データに記述された座標値に従って補正レンズユニット11cの目標値を設定すればよい。
「大」が選択されている場合には、描画軌跡長を2倍に換算して露光時間等を算出し、さらに、補正レンズユニット11cの移動に関しては、矢印が示す座標値を2倍に換算する。座標値を読み出すサンプリング周期を、補正レンズユニット11cを駆動するサンプリング周期の1/2倍(読み出す時間の間隔を駆動する時間の間隔の2倍)とし、座標値を読み出さないタイミングの座標値は前後の座標値の中間値とする。
つまり、補正レンズユニット11cを駆動するサンプリングについては、2回に1回座標値を読み出すサンプリングに同期し、このときは軌跡データから2倍に換算した座標値が目標値に用いられる。そして、同期していないときには前後の換算座標値の中間値(補間座標)が目標値に用いられることになる。このようにすることで、補正レンズユニット11cは、座標(0,0)を基準とした2倍の大きさの軌跡を、同じ駆動速度で、2倍の時間をかけて移動することができる。
「小」が選択されている場合には、「大」が選択されている場合の逆の関係になる。つまり、描画軌跡長を1/2倍に換算して露光時間等を算出し、さらに、補正レンズユニット11cの移動に関しては、矢印が示す座標値を1/2倍に換算する。座標値を読み出すサンプリング周期を、補正レンズユニット11cを駆動するサンプリング周期の2倍(読み出す時間の間隔を駆動する時間の間隔の1/2倍)とし、補正レンズユニット11cを駆動しないタイミングの座標値は利用せずに無視するものとする。
つまり、座標値を読み出すサンプリングについては、2回に1回補正レンズユニット11cを駆動するサンプリングと同期するが、このときは軌跡データから1/2倍に換算した座標値が目標値として用いられ、同期していないときには用いられないことになる。(もちろん、目標値として用いられないタイミングでは、読み出しを行わないように構成してもよい。)このようにすることで、補正レンズユニット11cは、座標(0,0)を基準とした1/2倍の大きさの軌跡を、同じ駆動速度で、1/2倍の時間で移動することができる。
なお、ここでは基準として格納されている軌跡データをサイズ「中」とし、2倍、1/2倍のサイズに関する例を示したが、線形補間的にこの方法を適用すれば2倍、1/2倍以外の倍率であっても設定することができる。また、基準として格納されてる軌跡データとしては、最小のサイズに対応する座標データを持っていても、逆に最大のサイズに対応する座標データを持っていてもよい。
図5(b)及び図5(c)は、軌跡データの格納ルールを具体的な図形に適用した場合を示す図であり、図5(b)は星型を、図5(c)はハート型を示す図である。それぞれ記述されている値は図5(a)に対応する。例えば図5(b)においては、「図形情報」として先頭アドレスに「星型」が、「描画始点アドレス」として、「上」が選択されたときには「座標1」から読み出し、「下」が選択されたときには「座標20」から読み出すといった情報が記述されている。
また、「描画軌跡長」として「100」が、「座標1」、「座標2」…として、「0、−10」、「2、−13」…が記述されている。「描画始点」のメニュー項目で「上」が選択されている場合には、描画始点アドレスとして「上:座標1」が指示されているので、初期値として矢印を座標1にセットされる。そして、「図形サイズ」として「中」が選択されていれば、座標1から最後の座標まで順に矢印がインクリメントされてセットされ、補正レンズユニット11cを駆動するためのデータとして用いられる。
「描画始点」のメニュー項目で「下」が選択されている場合には、描画始点アドレスとして「下:座標20」が指示されているので、初期値として矢印を座標20(不図示)にセットされる。そして、座標20から最後の座標まで順に矢印がインクリメントされてセットされ、さらに座標1にジャンプして座標19まで同様にインクリメントされて、補正レンズユニット11cを駆動するためのデータとして用いられる。選択された図形を2回り、3回りして描く場合には、これを2回、3回と繰り返せばよい。また、「図形サイズ」として「大」または「小」が選択されているときは、前述のルールに従って読み出される。
「描画開始アドレス」は、例えば丸型のように「上」、「下」、「右」、「左」の位置が幾何学的に明確である場合には、その座標値を対応させて定義付ければよい。しかし、星型や、ハート型については、例えば「右」や「左」は図形の重心に対して必ずしも明確な特徴点を有しない。このような場合は、比較的近くに存在する特徴点である頂点や変極点、または左右方向に最大値、最小値をとるような点を定義付けすればよい。これは、描画軌跡を開始する点として、ユーザが感覚的に認識しやすいからである。
次に、図6を用いて駆動制御部31の内部構成とこれに関連する構成について説明する。図6はこれらの構成をブロック図を用いて示す図である。
まず、モードダイヤル4が軌跡描画モード以外の撮影モードに設定され、スライドスイッチ(操作スイッチ5)で手振れ補正がオンとされている場合について説明する。
振れ検出器33によって検出された信号は、フィルタ31aやアンプ31bによって必要な信号のみ抽出され、A/D変換器31cによってアナログ値からデジタル値に変換される。そして、演算器31dで積分処理されることにより、ユーザの手振れ量に応じた、補正レンズユニット11cを駆動するための第1の移動目標量が演算され(第1の算出手段)、そのまま駆動目標位置演算部31iに入力される。
補正レンズユニット11cの位置検出センサ32によって検出された信号は、アンプ31eにて増幅され、A/D変換器31fを介して補正レンズユニット11cの位置信号として駆動目標位置演算部31iに入力される。
駆動目標位置演算部31iは、これら入力される信号を用いて、フィードバック制御を行う。駆動目標位置演算部31iでは、システム制御部50より入力されるズームレンズ11aの位置情報を用いて算出される敏感度等を考慮して、補正レンズユニット11cの移動目標位置を算出する。そして算出された移動目標位置に従って、駆動ドライバ31jは補正レンズユニット11cのコイルに通電し、補正レンズ(後述の補正レンズ800)を光軸と直交する平面内で移動させて目標位置に到達するように駆動する。
これら一連の動作を高速かつ周期的に繰り返すことにより、ユーザの手振れによって撮像装置1が振れても、撮像素子21上で結像する被写体像は略静止した状態を保つことができ、手振れの影響の軽減された撮影画像を得ることが可能となる。
次に、モードダイヤル4が軌跡描画モードに設定され、「手振れ補正」のメニュー項目304で、手振れ補正が「入」とされている場合について説明する。
振れ検出器33で検出された信号が入力されて、演算器31dで第1の移動目標量が演算されるまでは、上記の通常の手振れ補正の信号処理と同様である。
軌跡描画モードで図形を描くときには、上述の軌跡データがシステム制御部50より軌跡制御部31gに入力される。同時にシステム制御部からは、ユーザによって設定された描画サイズと描画始点の情報が入力され、軌跡制御部31gは、上述のように描画始点のアドレスのセットや、描画サイズに応じた拡大/縮小の演算を行う。そして、補正レンズユニット11cを駆動する周期で、描画のための移動目標量としての第2の移動目標量を演算/生成する(第2の算出手段)。
描画を行うための駆動を開始するタイミングは、シャッタが開いたタイミングに同期する。具体的には、露光制御部41からのタイミング信号が、システム制御部50を介して、軌跡制御部31gに入力されることにより、同期が実現される。
演算器31dより出力されるユーザの手振れ量に応じた移動量である第1の移動目標量と、軌跡制御部31gより出力される描画のための移動量である第2の移動目標量は、加算器31hで加算された後、駆動目標位置演算部31iに入力される。駆動目標位置演算部31iでは、入力された第1の移動目標量と第2の移動目標量の合算量と、A/D変換器31fより入力された補正レンズユニット11cの現在位置から、補正レンズユニット11cの移動目標位置を算出する。そして算出された移動目標位置に従って、駆動ドライバ31jは補正レンズユニット11cのコイルに通電し、補正レンズ(後述の補正レンズ800)を光軸と直交する平面内で移動させて目標位置に到達するように駆動する。
これら一連の動作を撮像素子21の露光時間中に行うことにより、ユーザの手振れの影響を軽減しつつ、選択された図形を設定に従って描画することが可能となる。
次に、モードダイヤル4が軌跡描画モードに設定され、「手振れ補正」のメニュー項目304で、手振れ補正が「切」とされている場合について説明する。
この場合は、システム制御部50の指示により演算器31dの出力が0とされ、振れ検出器からの影響を除去する。したがって、駆動目標位置演算部31iへの入力は第2の移動目標量のみとなる。駆動目標位置演算部31iでは、入力された第2の移動目標量と、A/D変換器31fより入力された補正レンズユニット11cの現在位置から、補正レンズユニット11cの移動目標位置を算出する。そして算出された移動目標位置に従って、駆動ドライバ31jは補正レンズユニット11cのコイルに通電し、補正レンズ(後述の補正レンズ800)を光軸と直交する平面内で移動させて目標位置に到達するように駆動する。
これら一連の動作を撮像素子21の露光時間中に行うことにより、選択された図形を設定に従って描画することが可能となる。このように制御を行うことは、複雑な図形や大きなサイズの図形を描かせる場合であって、露光時間が長くなるような場合に、三脚で撮像装置1を固定して撮影する状況下で有効である。
上記の説明においては、光軸14に対して垂直な面内で移動する補正レンズユニット11cの、平面内の2軸分の駆動をまとめて説明しているが、2軸で移動させるためには各軸方向のそれぞれに上記各要素を有するものとする。
図7(a)〜図7(c)は、図6を用いて説明した、モードダイヤル4が軌跡描画モードに設定され、「手振れ補正」のメニュー項目304で、手振れ補正が「入」とされている場合における、補正レンズユニット11cの動作を概略的に説明するための図である。
図7(a)〜図7(c)において、横軸は撮像素子21の露光開始からの時間の経過を表し、縦軸は光軸中心からの移動量を表す。なお、補正レンズユニット11cは、光軸14に対して垂直な面内で移動するので、2軸の方向を有するが、ここでは簡単のため、1軸方向の動作について説明する。
図7(a)は、被写体像が撮像素子21上で振れることなく、光軸14を中心として結像するように、ユーザの手振れに応答して、補正レンズユニット11cを駆動した場合を表す図である。すなわち、通常の手振れ補正制御による駆動であり、第1の移動目標量のみに基づいて駆動ドライバ31jを制御したときの状態を示したものである。
図7(b)は、軌跡制御部31gが出力する第2の移動目標量のみに基づいて駆動ドライバ31jを制御したときの状態を示した図である。すなわち、補正レンズユニット11cは、軌跡データに基づいて軌跡制御部31gが出力する軌跡を描くこととなる。
なお、ここでは説明のため軌跡データは、
x軸方向に
x=αsin(ωt) …(1)
x軸と直交するy軸方向に、
y=αcos(ωt)−α …(2)
となるように、量子化されて座標値に換算されて与えられ、
露光時間は、
0≦t≦2π/ω …(3)
となるように与えられているものとする。すなわち、補正レンズユニット11cが、露光時間中に、(0,0)を始点として、(0、−α)を中心する半径αの円軌跡を一周描くように軌跡データと露光時間が与えられているものとする。したがって、図7(b)は、このx軸の軌跡データに従って補正レンズユニット11cを駆動した場合の、x軸方向の移動量を表す図である。
図7(c)は、図7(a)で示した第1の移動目標量、及び図7(b)で示した第2の移動目標量を足し合わせた移動目標量に基づいて、駆動ドライバ31jを制御した場合を示した図である。
図7(c)に示す補正レンズユニット11cの移動を行うことで、手振れは第1の移動目標量の効果により補正され、かつ、第2の移動目標量に従って撮像素子21上で設定された図形を描くことが可能となる。
次に、補正レンズユニット11cの駆動機構について図8を用いて説明する。
図8(a)〜図8(c)は、補正レンズユニット11cの補正レンズ800を移動させる機構を概略的に示す図である。
図8(a)において、801はレンズを保持する可動枠、800は補正レンズ、803は鏡筒に取り付けられた固定部、804は可動枠上の支持/案内部、805は支持/案内部と同軸に取り付けられたバネを示す。また、806a、806bは固定部に取り付けられたコイル、807a、807bは可動枠に取り付けられたマグネットを示す。
図8(b)は、図8(a)に示した手振れ補正機構の右側面図である。図8(b)において、810、812は図8(a)には図示しないヨークである。811は図8(a)には図示しない可動部の位置を検出するセンサである。具体的には、位置検出センサ32を構成する要素であり、センサとしてはホール素子が用いられている。
図8(c)は、図8(a)の802矢視図である。可動枠801は支持/案内部804によって固定部803に対して平面運動可能に案内支持されている。図8(c)では、長円形の案内溝813の中に円形の支持/案内部804が挿入されている。手振れ補正機構は、3箇所とも同一の構造とすることによって、撮像光学系10の光軸14の方向には拘束され、光軸14に直行する平面上では運動させることができる。
可動枠801上には、手振れ補正レンズ800及び駆動用のマグネット807a,807bが取り付けられている。また、可動枠801は支持/案内部804と同軸に取り付けられたバネ805によって弾性支持されており、駆動力が発生していないときは手振れ補正レンズ800の中心が光軸14に略一致するように配置されている。駆動部分は図8(b)に示すようにマグネット807aの両側をヨークで挟み込み、片側にコイル806aを備えた構成をしている。駆動部分の原理は図9(a)及び図9(b)を用いて説明する。
図9(a)及び図9(b)は、図8(a)に示す点線808を断面として駆動回路部分を抜粋した矢視図である。駆動用マグネット807aは2極で厚み方向に着磁されている。さらに、マグネット807aの着磁方向の両側にはヨーク810、812が設けられており、多くの磁束は外に漏れることなく、図9(a)の図中に示すような矢印方向の磁界を発生させている。この状態でコイル806aに通電すると、コイル806a上の領域901と902には、それぞれ反対方向の電流が流れる。
一方、磁界の方向も反対であるため、フレミング左手の法則によって同一方向の力が発生する。このときコイルが固定されているため、作用反作用の法則によって可動部に取り付けられたマグネット807aが力を受けて駆動される。
駆動力はコイル806aの電流に比例し、コイル806aに流す電流の向きを反対方向にすることによって、マグネット807aが受ける駆動力も反対にすることができる。駆動力が発生すると、可動部がバネ805によって弾性支持されているので、バネ力と釣り合う点まで変位する。つまり、コイル806aの電流を適切に制御することによって、可動部の位置を制御することができる。
さらに、ヨーク810上にはホール素子811が取り付けられており、図9(b)に示すように、コイル806aに電流を印加することにより発生した駆動力によってマグネット807aが変位すると、ホール素子811上の磁気バランスも変化する。そのため、ホール素子811の信号を得ることによって、マグネット807aの位置を検出することが可能となる。
図8(a)〜図8(c)及び図9(a)及び図9(b)では、可動部にマグネットが配置され、固定部にコイルが配置されたムービングマグネット方式での実施の形態を例示した。しかしながら、本実施の形態は、可動部にコイルが配置され、固定部にマグネットが配置されたムービングコイルについても適用可能である。
次に、本実施の形態に係る撮像装置1の撮像動作について図10〜図12を用いて説明する。
図10及び図11は、撮像装置1における撮像動作処理の手順を示すフローチャートである。なお、図3を用いて説明したメニュー画面等により、種々の動作の実行/不実行が予めユーザの設定によって決定されているものとする。
図10において、ステップS1001では、モードダイヤル4で軌跡描画モードが設定されているか否かを判断する。軌跡描画モードでないときは通常の撮影モードが設定されている(軌跡描画機能オフ)ものとして、ステップS1002へ進む。ここではまず、通常の撮影モードが設定されている場合について説明する。
ステップS1002では、レリーズスイッチ3のSW1の入力待機状態である。ステップS1002でSW1がオンされると、ステップS1003において、システム制御部50はスライドスイッチ(操作スイッチ5)により手振れ補正がオンに設定されているかを確認する。手振れ補正がオンに設定されていれば、ステップS1004で手振れを補正するための補正レンズユニット11cの駆動を開始する。すなわち図7(a)を用いて説明した通常の手振れ補正制御による駆動を開始する。
ステップS1004で手振れを補正するための補正レンズユニット11cの駆動を開始した後、若しくはステップS1003で手振れ補正がオフに設定されていると判断された場合には補正レンズユニット11cを駆動することなく、ステップS1005に進む。
ステップS1005では、システム制御部50及びフォーカス制御部42で焦点調節レンズ11bを制御することにより、AF(オートフォーカス)処理を実行する。具体的には、焦点調節レンズ11bを微小量駆動させつつ連続的に取り込んだ被写体画像のコントラストをシステム制御部50で検出し、コントラストが最も高くなる位置を合焦位置とする公知のコントラスト方式を用いる。
次に、ステップS1006では、システム制御部50がAE(自動露出)処理を行う。具体的には、オートフォーカス実行時に得られる被写体画像を用いて、メインになると想定される被写体、例えば画面中央付近の被写体が適正露出となるように、シャッタスピード、絞り値及び撮像素子21の出力ゲインであるISO感度を演算し決定する。
ステップS1006のAE処理は被写体の測光と露出演算の2段階からなる。被写体の測光としては、オートフォーカス実行時に得られる1枚の被写体画像を複数の領域に分割し、それぞれの輝度値に重み付け等の処理をして平均輝度値を算出することにより行われる。露出演算では、測光結果である平均輝度値と目標輝度値の差分を演算し、この演算結果に基づいて、シャッタスピード、絞り値及びISO感度を決定する。
撮影モードとしては、全自動モード、絞り優先モード、シャッタスピード優先モードが用意されている。全自動モードは、システム制御部50がシャッタスピード、絞り値及びISO感度を任意に決定する。具体的には、予め不揮発性メモリ46に格納されたプログラム線図に則って決定する。このプログラム線図は、例えば被写体輝度が小さい(暗い)場合には、できるだけ手振れを起こさないシャッタスピードと、開放に近い絞り値及び高いISO感度となるように考慮されている。
絞り優先モードの場合には、ユーザが指定した絞り値を維持するように、プログラム線図に則ってシャッタスピードとISO感度を調整する。シャッタスピード優先モードの場合には、ユーザが指定したシャッタスピードを維持するように、プログラム線図に則って被写体輝度に合わせて絞り値とISO感度を調整する。
ステップS1006でAE処理を行った後、ステップS1007では、レリーズスイッチ3のSW2の入力を待つ。ステップS1002のSW1オンから所定時間内にSW2がオンされない場合には、再度ステップS1002まで戻り、SW1オンの入力待機状態となる。
ステップS1007でSW2がオンされると、ステップS1008では、システム制御部50はストロボ制御部8を介してストロボ9の調光発光を行う。なお、ステップS1006のAE処理で被写体輝度が十分大きい(明るい)と判断されれば、ストロボを発光させる必要がないが、ここでは、説明のため被写体輝度が小さくストロボを発光させる必要がある場合について説明する。
ステップS1009では、ステップS1008で調光発光を行った結果を受け、システム制御部50は、その反射量から本発光量を演算する。具体的には、本発光をさせたときに撮像素子21で飽和画素が生じないように(白飛びしないように)調整される。
ステップS1010では、露光制御部41がシステム制御部50の指示を受けて、撮像素子21が露光状態となるように、シャッタ12を開き、絞りユニット13を定められた絞り値に従って絞り込むことにより、露光を開始する。
ステップS1011では、所定のタイミングで、ステップS1009で演算された本発光量に従って、ストロボ制御部8がストロボ9を発光する。
次に、ステップS1006で定められたシャッタスピードに応じた露光時間が経過したときは、ステップS1012で、露光制御部41はシャッタ12を閉じ、絞りを開放状態に戻す。
撮像素子21の露光が終了すると、ステップS1013では、図1を用いて説明したように画像処理を行い、ステップS1014では、処理された画像ファイルを記録媒体60へ記録し、かつ画像表示部7へ処理された画像データを表示し、通常の撮影モードによる一連の撮影動作を終了する。
次に、ステップS1001において、モードダイヤル4で軌跡描画モードが設定されていると判断した場合について説明する。
ステップS1001の判断の結果、モードダイヤル4で軌跡描画モードが設定されて設定されているとき(軌跡描画機能オン)は、さらに、軌跡描画モードのメニュー設定画面(図3)で特殊軌跡モードが選択されているか否かを判断する(ステップS1030)。特殊軌跡モードが選択されていないときは、通常軌跡モードが設定されている。ここで、通常軌跡モードとは、補正レンズユニット11cの駆動のみによって描ける図形の選択を受け付け、これに対応した軌跡データに基づいて描画を行うモードをいう。特殊軌跡モードとは、補正レンズユニット11cの駆動に加え、ズームレンズ11aの駆動も行って描く図形の選択を受け付け、これに対応した軌跡データに基づいて描画を行うモードをいう。
ステップS1030の判断の結果、軌跡描画モードのメニュー設定画面(図3)で特殊軌跡モードが選択されておらず、通常軌跡モードであるときは、ステップS1015以降の処理を実行する(図11)。
図11のステップS1015において、レリーズスイッチ3のSW1がオンされると(ステップS1015でYES)、ステップS1016において、システム制御部50は手振れ補正のメニュー項目304で、手振れ補正を行うように設定されているかを確認する。ここでは、ステップS1003と異なり、図3を用いて説明したように、スライドスイッチ(操作スイッチ5)による手振れ補正の設定に関わらず、メニュー項目304による設定に従う。
手振れ補正がオンに設定されていれば、ステップS1017で手振れを補正するための補正レンズユニット11cの駆動を開始する。すなわち図7(a)を用いて説明した通常の手振れ補正制御による駆動を開始する。
ステップS1017で手振れを補正するための補正レンズユニット11cの駆動を開始した後、若しくはステップS1016で手振れ補正がオフに設定されていると判断された場合には補正レンズユニット11cを駆動することなく、ステップS1018に進む。
ステップS1018では、ステップS1005と同様に、システム制御部50及びフォーカス制御部42で焦点調節レンズ11bを制御することにより、AF(オートフォーカス)処理を実行する。
ステップS1018でAF処理を実行すると、次に、後述する図12の通常AE処理を行う(ステップS1019)。ここで、軌跡描画モードでは、被写体の測光と露出演算の2段階をそれぞれ分けて説明することにする。
図12において、ステップS1201では、被写体の測光を行う。被写体の測光は、ステップS1006で説明した測光と同様に、オートフォーカス実行時に得られる1枚の被写体画像を複数の領域に分割し、それぞれの輝度値に重み付け等の処理をして平均輝度値を算出することにより行われる。
次に露出演算を行うが、測光結果である平均輝度値と目標輝度値の差分を演算し、この演算結果に基づいて、シャッタスピード、絞り値及びISO感度を決定するという原則はステップS1006のAE処理と同様である。ただし、決定の仕方が撮影モードとして用意されている、全自動モード、絞り優先モード、シャッタスピード優先モードのそれぞれで異なる。
ステップS1201で被写体の測光が行われた後、ステップS1202で、システム制御部50は、現在の撮影モードが全自動モードであるか否かを判断する。全自動モードであると判断されると、ステップS1203で、システム制御部50は、図形選択のメニュー項目305で選択されている図形に対応する軌跡データを不揮発性メモリ46から読み出し、その軌跡データの中から描画軌跡長を取得する。
描画軌跡長を取得すると、ステップS1204ではまず、シャッタスピードを決定する。具体的には、まずステップS1203で取得した描画軌跡長を図形サイズのメニュー項目306で選択されているサイズに応じて変換する。「大」が選択されていれば2倍に換算し、「中」が選択されていればそのままとし、「小」が選択されていれば1/2倍に換算する。
そして、例えば描画をさせようとする輝点の輝度に応じて決定される周回回数(選択された図形を露光時間中に何周させて描くか)を更に掛けて、補正レンズ800の移動距離を決定する。この移動距離を予め定められている補正レンズ800が駆動される速度で除することにより、選択された図形を選択されたサイズで描くための時間を求める。この時間がシャッタスピードとして定められる。
このようにシャッタスピードが決定されると、ユーザが選択した図形を、途中で途切れることなく、また、滲みやムラを生じることなく描くことができる。
シャッタスピードが決定されると、このシャッタスピードと、ステップS1201で得られた測光演算結果に基づいて、メインになると想定される被写体、例えば画面中央付近の被写体が適正露出となるように絞り値とISO感度が決定される。
ここで、ステップS1204で軌跡描画モードとして基準となる適正露出は、ステップS1006で通常の撮影モードとして基準となる適正露出に対して、例えば1段程度アンダーに設定される。これは、次の理由による。
軌跡描画モードが想定するシーンの一つとして図2(a)で示したように、背景に点光源が存在し、ストロボ9の照射範囲内に人物が存在する場合に、人物はストロボ発光時以外は照射光をほとんど受けない。しかしながら、人物が完全に照射光を受けない状況は現実的には少なく、実際は何らかの照明下に存在することが多い。
軌跡描画モードではシャッタスピードが長く(長秒時に)なることが多いので、人物にわずかでも光があたっていると、補正レンズユニット11cの駆動により、さらには被写体である人物の揺れにより、人物の部分が全体的にブレや滲みのある画像となってしまう。ここで、例えば1段絞り込んだりISO感度を落とすことにより、このブレや滲みを相対的に暗くすることができる。一方、ストロボの発光量は調光発光により適切に設定され、かつ照射時間は極めて短時間であるので、ストロボ光により照射された期間の像は、適正な明るさであって、ブレや滲みを生じない像となることが期待できる。
具体的には、システム制御部50は、通常の撮影モードで、1/8秒、F2.0、ISO400が適正露出と判断した場合、同一シーンで軌跡描画モードのときは、1/8秒、F4.0、ISO400または1/8秒、F2.0、ISO200を適正露出と判断する。なお、アンダーにする段数は1段に限られるものではなく、1/2段や1/3段などの段数でもよい。また、ステップS1201での被写体測光時に、人物と思われる被写体(画角中央付近の被写体)の輝度を測っておいて、システム制御部がこの輝度に応じてアンダーにする段数を変化させるように構成してもよい。
ステップS1202で、現在の撮影モードが全自動モードでないと判断されると、システム制御部50は、ステップS1205で、現在の撮影モードが絞り優先モードであるか否かを判断する。絞り優先モードであると判断されると、ステップS1206で、システム制御部50は、図形選択のメニュー項目305で選択されている図形に対応する軌跡データを不揮発性メモリ46から読み出し、その軌跡データの中から描画軌跡長を取得する。
描画軌跡長を取得すると、ステップS1207では、すでに絞り値はユーザによって指定されているので、ここではシャッタスピードとISO感度を決定する。このとき、まずシャッタスピードを決定する。ステップS1204と同様に、具体的には、ステップS1206で取得した描画軌跡長を図形サイズのメニュー項目306で選択されているサイズに応じて変換する。「大」が選択されていれば2倍に換算し、「中」が選択されていればそのままとし、「小」が選択されていれば1/2倍に換算する。
そして、例えば描画させようとする輝点の輝度に応じて決定される周回回数(選択された図形を露光時間中に何周させて描くか)を更に掛けて、補正レンズ800の移動距離を決定する。この移動距離を予め定められている補正レンズ800が駆動される速度で除することにより、選択された図形を選択されたサイズで描くための時間を求める。この時間がシャッタスピードとして定められる。
このようにシャッタスピードが決定されると、ユーザが選択した図形を、途中で途切れることなく、また、滲みやムラを生じることなく描くことができる。
シャッタスピードが決定されると、このシャッタスピードと、指示された絞り値と、ステップS1201で得られた測光演算結果に基づいて、メインになると想定される被写体、例えば画面中央付近の被写体が適正露出となるようにISO感度が決定される。
ここで、ステップS1207で軌跡描画モードとして基準となる適正露出は、ステップS1204と同様に、ステップS1006で通常の撮影モードとして基準となる適正露出に対して、例えば1段程度アンダーに設定される。
具体的には、システム制御部50は、通常の撮影モードで、1/8秒、F4.0、ISO400が適正露出と判断される場合は、軌跡描画モードのとき、絞り値F4.0が指定されシャッタスピードが1/8秒と決定されると、ISO200が適正露出と判断される。
ステップS1205で、現在の撮影モードが絞り優先モードでないと判断されると、システム制御部50は、現在の撮影モードをシャッタスピード優先モードと判断する。シャッタスピード優先モードでは、ユーザがシャッタスピードを指示している。したがって、ステップS1203やステップS1206のように軌跡データの中から描画軌跡長を取得することはしない。この場合は、ユーザが指定したシャッタスピードと、選択された図形を選択されたサイズで描く時間とが一致しないことがあり、途中で途切れたり重複して描かれることになるが、ユーザが指定したシャッタスピードに従うものとする。
ステップS1208では、ステップS1201で得られた測光演算結果に基づいて、メインになると想定される被写体、例えば画面中央付近の被写体が適正露出となるように絞り値とISO感度が決定される。ここで、ステップS1208で軌跡描画モードとして基準となる適正露出は、ステップS1204と同様に、ステップS1006で通常の撮影モードとして基準となる適正露出に対して、例えば1段程度アンダーに設定される。
ステップS1204、ステップS1207もしくはステップS1208を経て、シャッタスピード、絞り値及びISO感度が決定されると、ステップS1020では、レリーズスイッチ3のSW2の入力を待つ。ステップS1015のSW1オンから所定時間内にSW2がオンされない場合には、再度ステップS1015まで戻り、SW1オンの入力待機状態となる。
ステップS1020でSW2がオンされると、ステップS1021で、システム制御部50はストロボ制御部8を介してストロボ9の調光発光を行う。
ステップS1022では、ステップS1021で調光発光を行った結果を受け、システム制御部50は、その反射量から本発光量を演算する。具体的には、本発光をさせたときに撮像素子21で飽和画素が生じないように(白飛びしないように)調整される。
ステップS1023では、露光制御部41がシステム制御部50の指示を受けて、撮像素子21が露光状態となるように、シャッタ12を開き、絞りユニット13を定められた絞り値に従って絞り込むことにより撮像素子の露光を開始して、以下の通常軌跡処理を開始する。
この通常軌跡処理では、まず、ステップS1023において、撮像素子の露光開始と同時に、駆動制御部31がシステム制御部50から必要な情報を受け取って、補正レンズユニット11cを動作させて、軌跡駆動を開始する。具体的には、駆動制御部31は、システム制御部からユーザによって選択された図形の軌跡データを受け取り、同じくユーザによって選択されたサイズを受け取って、軌跡データの座標値を上述のように変換する。そして、軌跡データから描画始点アドレスを取得し、ユーザによって選択された描画始点に対応する座標値から描画が開始されるようにセットする。
駆動制御部31は、ステップS1017で手振れ補正駆動を開始している場合は、すでに補正レンズユニット11cを動作させている(図7(a)に相当する動作)。この場合、ステップS1023の撮像装置の露光開始と共に、描画始点としてセットされた座標値に応じた第2の移動目標量を、ユーザの手振れ量に応じた第1の移動目標量に加算することで、補正レンズユニット11cの移動目標量とする。駆動制御部31は、この移動目標量に従って補正レンズユニット11cを駆動する。これを、軌跡データに従って順次座標値をインクリメントし、サンプリング周期に同期して移動目標量を更新していくことにより、ユーザの手振れを補正しつつ、選択された図形を選択されたサイズで描くことが可能になる(図7(c)に相当する動作)。
そして、ステップS1025では、所定のタイミングで、ステップS1022で演算された本発光量に従って、ストロボ制御部8がストロボ9を発光する。
ストロボ本発光後、図形の描画が完了し(ステップS1026)、駆動制御部31は描画のための軌跡駆動を終了する。また、これと同時に、露光制御部41はシャッタ12を閉じ(ステップS1027)、絞りを開放状態に戻して通常軌跡処理を終了する。
ただし、全自動モード及び絞り優先モードでは選択された図形を適切に描けるようにシャッタスピードが設定されているが、シャッタスピード優先モードにおいては、図形の描画完了と露光の終了とが一致するとは限らない。シャッタスピード優先モードでは、場合によっては描画が完了する前に駆動制御部31は描画のための軌跡駆動を終了する。
撮像素子21の露光処理が終了すると、ステップS1028では、図1を用いて説明したように画像処理を行う。ただし、ここで適用される入力輝度値に対する出力輝度値を規定するγ曲線は、ステップS1013において通常の撮影モードで適用されるγ曲線と異なる。
次に、軌跡描画モードにおけるγ補正について説明する。
軌跡描画モードが想定するシーンの一つとして、図2(a)で示したように、背景に点光源が存在しストロボ9の照射範囲内に人物が存在する場合、人物はストロボ発光時以外照射光をほとんど受けない。一方、人物が完全に照射光を受けない状況は現実的には少なく、実際は何らかの照明下に存在することが多い。軌跡描画モードではシャッタスピードが長く(長秒時に)なることが多いので、人物にわずかでも光があたっていると、補正レンズユニット11cの駆動により、さらには被写体である人物の揺れにより、人物の部分が全体的にブレや滲みのある画像となってしまう。すると、点光源によって描いた輝線が、このブレや滲みと重畳してしまい、鮮明にならない場合がある。
そこで、軌跡描画モードでは、輝度の高い輝線と、薄暗く表れるブレや滲みとの間でコントラストを明確にするために、通常の撮影モードにおけるγ補正とは異なるγ補正を施す。具体的には、低輝度の被写体は相対的に目立たなくし、高輝度の被写体は強調されるようなγ曲線を用いたγ補正を行う。
図13(a)は、通常の撮影モードで適用されるγ曲線の一例を示す図であり、図13(b)は、軌跡描画モードで適用されるγ曲線の一例を示す図である。
通常の撮影モードに比べ、軌跡描画モードでは輝線を鮮明にするために、低輝度側の入力信号に対する出力信号を十分に下げ、高輝度側の入力信号に対する出力信号を相対的に上げている。このように変化させることで、低輝度側の被写体に対して高輝度側の被写体が強調され、画像全体としてコントラストが高くなる。
図11に戻り、ステップS1028で画像処理が終わると、図10のステップS1014に進む。ステップS1014では、処理された画像ファイルを記録媒体60へ記録し、かつ画像表示部7へ処理された画像データを表示し、軌跡描画モードによる一連の撮影動作を終了する。
ステップS1030の判断の結果、軌跡描画モードのメニュー設定画面(図3)で特殊軌跡モードが選択されているときは、前述のステップS1015〜S1018にそれぞれ対応するステップS1115〜S1118の各手順を実行して、手振れ補正駆動並びにAF処理を行う。次いで、ステップS1119で、前述の図12の通常AE処理に準ずる特殊AE処理を実行して、露出制御を行う。
この特殊AE処理は、前述の図12の通常AE処理とほぼ同様であり、異なる点は、ステップS1203およびS1206で、軌跡長取得に代えて、特殊軌跡処理のための補正レンズ11cの制御時間を取得する点である(具体的には、図17を用いて説明するタイミングテーブルを参照)。制御テーブルに記述される制御時間のうち最後に記述されている時間は、選択された図形を描き終わる時間を示しているので、この時間に基づいてシャッタスピードが決定される。
次に、前述のステップS1021〜S1023にそれぞれ対応するステップS1121〜S1123の各手順を実行して、ストロボ本発光量を演算した上で露光を開始する。さらに、後述する図15及び図16の特殊軌跡処理を実行して(ステップS1031)、選択された図形に相当する軌跡を撮像素子21上に描かせる。
次いで、図1を用いて説明したように画像処理を行い(ステップS1028)、処理された画像ファイルを記録媒体60へ記録し、かつ画像表示部7へ処理された画像データを表示し(図10のステップS1014)、軌跡描画モードの通常軌跡モードによる一連の撮影動作を終了する。
上記実施の形態では、撮像光学系10に補正レンズユニット11cを配置し、これを駆動することにより、撮像素子21上で結像される被写体像について、ユーザの手振れに起因して生じる振れを軽減すると共に、露光時間に指定された図形を描くように制御した。
しかし、ユーザの手振れに起因して生じる振れを軽減すると共に、露光時間に指定された図形を描く構成は、これに限られるものではない。例えば、撮像素子21が光軸14に対して直交する方向に2次元的にシフト移動するように構成しても、同様の作用を得ることができる。具体的には、撮像素子21が2軸方向に摺動するように2本のガイドバーを設け、撮像素子側にコイル、固定側にマグネットを配置して、その反発力を利用して位置制御を行えばよい。
上記では、撮像装置1の姿勢を通常の横位置にした形態について説明したが、撮像装置1の姿勢を縦位置にしても同様の効果が得られることは云うまでもない。例えば、不図示の姿勢検知センサが撮像装置1の姿勢を検知し、撮像装置1が縦位置であることをシステム制御部50に通知する。そして、システム制御部50では、図形の描画が縦位置となるように駆動制御部31の制御を変更する。
以下、図11のステップS1031で実行される特殊軌跡処理を説明する。
本処理では、操作スイッチ5でユーザが指定した特殊軌跡用の描画図形に応じて、駆動制御部31が不揮発性メモリ46に格納されている軌跡データを参照する。通常軌跡モードにおける軌跡データと特殊軌跡モードにおける軌跡データは、そのデータ構造に違いがあるので、以後特殊軌跡モードにおける軌跡データを特に制御テーブルという。制御テーブルは、補正レンズユニット11c、ズームレンズ11a、及びストロボ9の動作タイミングを規定するタイミングテーブルと、補正レンズユニット11cの駆動パターンを規定するパターンテーブル及びズームレンズ11aの駆動パターンを規定するパターンテーブルとを含む。この制御テーブルは、タイミングテーブル及びパターンテーブルの少なくとも一方を有してもよい。即ち、制御テーブルは、タイミングテーブル及びパターンテーブルの双方を有してもよく、タイミングテーブルのみを有してもよく、パターンテーブルのみを有してもよい。どのようにタイミングテーブルとパターンテーブルを持つかは、予め設定される描画図形に拠るものであり、撮像装置1は、図3で説明した図形選択と同様に、予め特殊軌跡用の描画図形として複数の図形を、ユーザが選択できるように用意している。
この制御テーブルに基づいて、補正レンズユニット11c、ズームレンズ11a、及びストロボ9も駆動制御され、これにより、例えば図14(c)に示すような渦巻き模様で、かつ放射状の描画を行うことができる。
図14(a)は、軌跡描画を行わない設定、即ち軌跡描画モードをオフで撮影したときに得られる画像の一例を示す図である。主たる被写体である人物が撮像装置1から比較的近い位置におり、その背景は街灯などの点光源が存在する夜景である。この画像は、通常の手振れ補正を行いつつ、露光期間の途中でストロボ9を発光させて撮影されたものである。図14(b)は、図14(a)と同じ構図で、軌跡描画モードをオンにして円型の模様を描いたときに得られる画像の一例を示す図である。これらに対して、図14(c)は、特殊軌跡処理時に円型の渦巻き模様で、かつ放射状の描画図形を選択して撮影されたときの画像の一例を示す図である。
図14(c)の円型の渦巻き模様での放射状の描画は、被写体をフレーミングしているズーム位置で露光を開始し、先幕シンクロでストロボ9を発光させて、補正レンズ800を円を描くように移動させながら、ズームレンズ11aを望遠側に移動させることにより得られる。
また、露光を開始する前に、ズームレンズ11aを望遠端に移動し、露光開始と同時に補正レンズ800を円を描くように移動させながら、ズームレンズ11aをフレーミングした位置まで駆動した後、後幕シンクロでストロボ9を発光させることによっても同様の描画を行うことができる。なお、図示例では、円型の渦巻き模様での放射状の描画の場合のみを示すが、星型の渦巻き模様やハート型の渦巻き模様での放射状の描画等も可能である。これらの図形は、特殊軌跡用の描画図形として、ユーザは選択可能である。
図15及び図16は、図11のステップS1031で実行される特殊軌跡処理の手順を示すフローチャートである。
図15において、まず、ステップS2001では、システム制御部50は、図3のメニュー画面上の図形選択メニュー305で指定された図形に対応する制御テーブルのうちタイミングテーブルを不揮発性メモリ46から読み出す。読み出されるタイミングテーブルは、例えば、後述する図17(a)や図17(b)のタイミングテーブルである。
次に、ステップS2002では、制御時間を計測するためのタイマーを0にし、読み出したタイミングテーブルに示された制御時間「0」に対応する処理を開始する。例えば、図17(b)に示すタイミングテーブルにおいては、制御時間0に対応するハート型の図形描画処理が開始される。そして、処理開始と同時にタイマーをスタートし、制御時間の計時を開始する。
次に、システム制御部50は、読み出したタイミングテーブルに基づいて、タイマーにより計時されている制御時間中に駆動制御を行う制御対象が何かを判定する。ステップS2003では、制御対象が補正レンズユニット11cか否かを判定する。この判定の結果、制御対象が補正レンズユニット11cである場合は、ステップS2004〜ステップS2010において、制御対象として補正レンズユニット11cが指定されている場合の制御処理が行われる。
ステップS2004では、システム制御部50は、タイミングテーブルに示された描画図形のパターンテーブルを不揮発性メモリ46から読み出す。読み出されるパターンテーブルは、例えば、後述する図18〜図20に示すパターンテーブルである。
次に、ステップS2005では、読み出したパターンテーブル(図18〜図20)おいて、上述したポインタの初期値を描画始点に応じて変更し、変更したポインタに対応する座標番号の座標データを開始座標に設定する。次に、ステップS2006では、補正レンズユニット11cの移動目標量を算出し、駆動ドライバ31jを駆動制御して、補正レンズユニット11cを該当する座標番号の座標へ移動する。
ステップS2007,S2008,S2009では、ポインタの座標番号に対応する駆動時間が経過するごとにポインタの座標番号を+1ずつインクリメントし、補正レンズユニット11cをポインタの座標番号に対応する座標値に移動させながら図形を描画させる。そして、タイマーによる計時結果が制御時間に達したときは、補正レンズユニット11cの駆動を停止して(ステップS2010)、ステップS2011へ移行する。例えば、図17(b)に示すタイミングテーブルによれば、タイミング番号0〜1において、タイマーが120を経過するまでハート型の図形を描画して、その後停止する駆動制御が行われる。
ステップS2003の判定の結果、制御対象が補正レンズユニット11cでないときは、図16のステップS2014で、システム制御部50は、制御対象がズームレンズ11aか否かを判定する。この判定の結果、制御対象がズームレンズ11aであるときは、ステップS2015〜ステップS2021において、制御対象としてズームレンズが指定されている場合の制御処理が行われる。
ステップS2015では、システム制御部50は、タイミングテーブルに示されたズームのパターンテーブルを不揮発性メモリ46から読み出す。読み出されるズームのパターンテーブルは、例えば、後述する図22のパターンテーブルである。
ステップS2016では、読み出したズームのパターンテーブル(図22)において、タイミングテーブルに示されたズームのパターン番号に対応する駆動速度を設定する。ステップS2017では、ズームのパターンテーブル(図22)において、タイミングテーブル(図17(a),図17(b))に示されたズームのパターン番号に対応する開始位置にズームレンズ11aを移動する。このとき、開始位置が「Wide」のときは広角端へ移動する一方、開始位置が「Tele」のときは望遠端へ移動する。また、開始位置が「Current」である場合には何もしない。
次いで、ズームレンズ11aの開始位置への移動が終了すると(ステップS2018でYES)、パターン番号に対応する停止位置へのズームレンズ11aの駆動を開始する(ステップS2019)。次に、ステップS2020では、タイマーによる計時結果が制御時間に達するか又はズームレンズ11aが停止位置に到達した時点で、ズームレンズ11aの駆動を停止して(ステップS2021)、ステップS2011へ移行する。
ステップS2014の判定の結果、制御対象がズームレンズ11aでなかったときは、制御対象をストロボ9とし、ステップS2022〜ステップS2024の処理を行ってストロボ9を発光する(ステップS2021)。次いで、ストロボ9の発光を終了し(ステップS2023でYES)、タイミングテーブルの制御時間が終了する(ステップS2024でYES)と、ステップS2011に移行する。ストロボ発光のタイミングが、タイミングテーブルの最初にある場合(例えば、図17(a)に示すタイミングテーブル等)には先幕シンクロ、タイミングテーブルの最後にある場合には後幕シンクロとなる。
上述した、補正レンズユニット11cの駆動制御(ステップS2004〜S2010)、ズームレンズ11aの駆動制御(ステップS2015〜S2021)、又はストロボ9の駆動制御(ステップS2022〜S2024)が終了した後、現在の処理を示しているタイミング番号を+1ずつインクリメントし(ステップS2011)、このインクリメントをタイミングテーブルに登録されている全てのタイミング番号に対応する処理が全て終了するまで(ステップS2012でYES)繰り返す。次いで、タイミングテーブルに登録されている処理が全て終了した後、露光時間が経過した時点で(ステップS2013でYES)、本処理を終了する。
上記によれば、制御テーブルは、補正レンズユニット11c、ズームレンズ11a、及びストロボ9の制御タイミングを示したタイミングテーブルと、補正レンズユニット11cの駆動パターンを示したパターンテーブル及びズームレンズ11aの駆動パターンを規定するパターンテーブルを備える。そして、当該制御テーブルに基づいて、補正レンズユニット11c、ズームレンズ11a、及びストロボ9を駆動制御する。これにより、予め設定される選択可能な描画図形のバリエーションを増やすことができ、被写体像に含まれる輝点で、例えばうず巻き模様で放射状を含むような様々な図形を描画することができる。
図17は、タイミングテーブルの一例を示す図であり、(a)は円型の渦巻き模様を描画するためのタイミングテーブル、(b)はハート型→ズーム駆動→星型と順番に描画するためのタイミングテーブルである。
タイミングテーブルには、補正レンズユニット11c、ズームレンズ11a、及びストロボ9の制御タイミングとして、タイミング番号と、制御時間と、制御対象が登録されている。タイミング番号は、各制御タイミングの順番を示している。制御時間は、露光開始からの時間を示している。
図17(a)におけるタイミング番号1では、円型の軌跡を描かせるように補正レンズユニット11cが駆動制御されると同時に、後述するパターンテーブルのパターン10に基づいてズームレンズ11aが駆動制御される。一方、図17(b)におけるタイミングテーブルでは、ハート型の軌跡を描かせるように補正レンズユニット11cを駆動制御した後、パターン3に基づいてズームレンズを駆動制御している。このように、補正レンズユニット11c、ズームレンズ11a、及びストロボ9の各制御タイミングにより、これらのデバイスが同時に駆動制御されても、連続的に駆動制御されてもよい。また、これらデバイスのいずれか一方のみが制御されてもよい。
図18、図19、及び図20は、補正レンズユニットのパターンテーブルの一例を示す図である。図18は円型図形の描画に対応するパターンテーブルの一例を示す図、図19はハート型図形の描画に対応するパターンテーブルの一例を示す図、図20は星型図形の描画に対応するパターンテーブルの一例を示す図である。
補正レンズユニットのパターンテーブルは、座標番号と、座標値と、駆動時間とで構成される。
座標値は、200×200サイズの範囲内で、図形の中心を(0,0)とするx軸及びy軸の座標値から成る。これは、「図形サイズ」のメニュー項目306でユーザに「中」が選択された場合に描画する図形サイズに対応した座標値である。そのため、「図形サイズ」のメニュー項目306でユーザにより「大」が選択された場合には、パターンテーブルの各座標値及び駆動時間を2倍にすることで、図形サイズの変更に対応することが可能である。同様に、「図形サイズ」のメニュー項目306でユーザにより「小」が選択された場合には、座標値及び駆動時間を1/2倍にする。
なお、ここでは基準としてパターンテーブルに登録されているデータをサイズ「中」とし、それを2倍、1/2倍とする例について説明した。一方、線形補間的にこの方法を適用すれば2倍、1/2倍以外の倍率であっても、整数倍や整数分の一の倍率以外のサイズ制御も可能である。また、基準としてパターンテーブルに登録するデータを、最小のサイズの座標値としても、最大のサイズの座標値としてもよい。
姿勢検知センサ(不図示)により撮像装置1の姿勢を検知して、姿勢に応じた軌跡を描く場合について説明する。この場合、座標値(x,y)、カメラの光軸に対する回転角をθとすると、パターンテーブルの座標値を(xcosθ−ysinθ,xsinθ+ycosθ)と座標変換することで適切な軌跡を描くことが可能となる。
次に、パターンテーブルにおける処理順序の変更について説明する。
図18〜図20において、矢印は、読み出すべき座標値及び駆動時間の座標番号を指し示すポインタを模式的に表したものである。ポインタは、駆動時間が経過すると、次の座標番号に移動する。そして、ポインタの指す座標番号の座標値及び駆動時間を読出し、読み出した座標値及び駆動時間に基づいて補正レンズユニット11cの移動目標量を算出する。この移動目標量に基づいて補正レンズユニット11cが軌跡を描くように駆動制御される。
ポインタの初期値は、上述した指定方法でユーザにより指定された描画始点に応じて変更される。
例えば、図18に示す円型のパターンテーブルでは、ユーザにより「描画始点」として「左」が選択された場合、ポインタの初期値が座標番号3に変更される。描画始点アドレスについては、図5を用いて説明したデータ構造と同様に、パターンテーブルの一項目として保持している。そして、座標番号に+1ずつインクリメントされることで座標番号3→4→5→…と移動し、当該座標番号に対応する座標値と駆動時間が読み出される。そして、順番に読み出された座標値と駆動時間に基づいて補正レンズユニット11cが駆動制御され、輝点の右側に円型の軌跡が描かれる。ポインタがパターンテーブルにおける最後の座標番号(ここでは座標番号11)まで移動したときは、再び座標番号0に戻って制御時間が経過するまで動作を繰り返す。
一方、ユーザにより「描画始点」として「上」が選択された場合には、ポインタの初期値が座標番号0のままで0→1→2→…と補正レンズユニット11cが駆動制御され、輝点の下側に円型の軌跡が描かれる。
なお、何らかの理由により、指定された軌跡の模様が描けない場合は、制御テーブルを変更するか又は制御テーブルにおける処理順番を変更するようにしてもよい。また、姿勢検知センサ(不図示)により検知された撮像装置1の姿勢に応じて、制御テーブルの内容又は制御テーブルの処理順序を変更するようにしてもよい。
描画始点は、撮影時の焦点距離、選択された図形、及び図形サイズから描画軌跡の大きさを予め算出し、撮像面から輝点が外れないように自動的に変更される。描画始点の自動変更方法を図21を用いて説明する。
図21において、各始点禁止領域1801〜1808は撮像面に設定された描画始点の禁止領域であり、全始点可能領域1810は撮像面に設定された描画始点の可能領域である。始点禁止領域は、指定された方向を始点として輝線を描く場合、輝線が撮像面から外れてしまう恐れがある領域のことである。始点禁止領域に輝点があり、禁止されている方向を始点として指定されている場合、ポインタの初期値を指定されている方向と逆側の座標とすることで撮像面から輝線が外れないようにすることが可能となる。一方、全始点可能領域は、指定された描画始点がどのようなものであっても描画が可能な領域である。
始点禁止領域の幅は、焦点距離及び図形サイズに応じて変更される。焦点距離が長くなる、すなわち望遠側では画像全体に対する始点禁止領域の占める割合は大きくなり、焦点距離が短くなる、すなわち広角側では始点禁止領域の割合は小さくなる。同様に、指定された図形サイズが大きくなると始点禁止領域の割合は大きくなり、図形サイズが小さくなると始点禁止領域の割合は小さくなる。
図22は、ズームレンズのパターンテーブルの一例を示す図である。
ズームレンズのパターンテーブルは、開始位置と、停止位置と、駆動速度とで構成される。開始位置及び停止位置に示されている「Wide」は広角端、「Tele」は望遠端、「Current」は露光開始前にフレーミングしているズーム位置を表している。駆動速度は、開始位置から停止位置までズーミングするときの速度である。駆動速度を変更することによって、補正レンズユニット11cの駆動によって描いた軌跡の間隔を制御することが可能である。なお、図22では、ズームの開始位置及び停止位置として広角端、望遠端及びフレーミング位置を示したが、任意のズーム位置を指定することも可能である。
特殊軌跡処理(図15及び図16)では、タイミングテーブルの例として、ズームレンズ11a及び補正レンズユニット11cの動作タイミングの他に、ストロボ9の発光タイミングを付加しているが、焦点調整、絞り制御などのタイミングを付加してもよい。
上記実施の形態では、撮像素子21の露光時間中に補正レンズユニット11cを光軸14と直交する平面内で移動することにより、ユーザの手振れの影響を軽減しつつ、選択された図形をメニュー画面上での設定に従って描画する方法について説明した。しかしながら、撮像素子21そのものを移動させる(シフトさせる)ことによって手振れ補正を行う撮像装置に適用しても、本発明の目的が達成されることは云うまでもない。
また、本発明の目的は、以下の処理を実行することによって達成される。即ち、上述した実施の形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)が記憶媒体に格納されたプログラムコードを読み出す処理である。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施の形態の機能を実現することになり、そのプログラムコード及び該プログラムコードを記憶した記憶媒体は本発明を構成することになる。
また、プログラムコードを供給するための記憶媒体としては、次のものを用いることができる。例えば、フロッピー(登録商標)ディスク、ハードディスク、光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−RW、DVD+RW、磁気テープ、不揮発性のメモリカード、ROM等である。または、プログラムコードをネットワークを介してダウンロードしてもよい。
また、コンピュータが読み出したプログラムコードを実行することにより、上記実施の形態の機能が実現される場合も本発明に含まれる。加えて、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)等が実際の処理の一部または全部を行い、その処理によって前述した実施の形態の機能が実現される場合も含まれる。
更に、前述した実施の形態の機能が以下の処理によって実現される場合も本発明に含まれる。即ち、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPU等が実際の処理の一部または全部を行う場合である。