(57)【特許請求の範囲】
【請求項１】
撮像手段と、
前記撮像手段の露出を制御する露出制御手段と、
複数の異なる露出で画像を撮影するように前記露出制御手段及び前記撮像手段を制御して画像を取得する画像取得手段と、
前記画像取得手段により取得した前記複数の画像を管理する画像管理手段と、
前記画像管理手段が管理する前記複数の画像から、前記複数の異なる露出以外の露出の画像を生成する画像生成手段とを有し、
前記画像取得手段は、
第１の露出値で撮影した画像の平均輝度値と第２の露出値で撮影した画像の平均輝度値とから、前記第１及び第２の露出値の中央値である第３の露出値における画像の平均輝度値を計算する計算手段と、
前記第３の露出値で撮影した画像の平均輝度値と、前記計算手段により求めた平均輝度値との差に基づいて、前記第３の露出値で撮影した画像を前記画像管理手段により管理するか否かを決定する決定手段と
を有することを特徴とする撮像システム。
【請求項２】
前記決定手段は、上記差の絶対値が閾値を越える場合に前記第３の露出値で撮影した画像を管理し、前記閾値以下の場合には管理しないと決定することを特徴とする請求項１に記載の撮像システム。
【請求項３】
前記第３の露出値で撮影した画像の平均輝度値と、前記計算手段により求めた平均輝度値との上記差の絶対値が閾値を越える場合に、前記第１及び第３の露出値をそれぞれ第１及び第２の露出値とし、また前記第３及び第２の露出値をそれぞれ第１及び第２の露出値として、それぞれ前記画像取得手段による処理を繰り返すように制御する再帰制御手段を更に有することを特徴とする請求項１または２に記載の撮像システム。
【請求項４】
前記第３の露出値で撮影した画像の平均輝度値と、前記計算手段により求めた平均輝度値との上記差の絶対値が閾値以下の場合には、前記第１及び第３の露出値をそれぞれ第１及び第２の露出値とし、また前記第３及び第２の露出値をそれぞれ第１及び第２の露出値として、それぞれ前記画像取得手段による処理を繰り返し、それぞれの中間露出値における計算して得られた平均輝度値と、前記中間露出値で撮影した画像の平均輝度値との差が共に前記閾値以下の場合に、前記決定手段は、前記第３の露出値で撮影した画像を管理しないと決定することを特徴とする請求項１または３に記載の撮像システム。
【請求項５】
前記第１の露出値と前記第２の露出値の差が閾値以下か否かを判定する判定手段と、
前記判定手段により前記閾値以下であると判定された場合に、前記画像取得手段の処理の実行を停止する停止手段と
を更に有することを特徴とする請求項１乃至４のいずれか１項に記載の撮像システム。
【請求項６】
複数の異なる露出で同一被写体の撮影を複数回行う多露出モードと、単露出で被写体の撮影を１回行う通常モードとを切り替える切り替え手段と、
前記露出制御手段及び前記撮像手段を制御して撮影を１回行い、撮影された画像を記憶する通常画像取得手段とを更に有し、
前記切り替え手段により多露出モードが選択されている場合には、前記通常画像取得手段の処理の実行を停止し、前記切り替え手段により通常モードが選択されている場合には、前記画像取得手段の処理の実行を停止することを特徴とする請求項１乃至５のいずれか１項に記載の撮像システム。
【請求項７】
前記画像生成手段が生成した画像を表示する表示手段を更に有することを特徴とする請求項１乃至６のいずれか１項に記載の撮像システム。
【請求項８】
露出を制御して、露出の異なる複数の画像を取得する画像取得工程と、
前記画像取得工程で取得した露出の異なる複数の画像を管理する画像管理工程と、
前記画像管理工程で管理された前記露出の異なる複数の画像から、前記複数の異なる露出以外の露出の画像を生成する画像生成工程とを有し、
前記画像取得工程は、
第１の露出値で画像を撮影する第１の撮影工程と、
第２の露出値で画像を撮影する第２の撮影工程と、
前記第１の露出値で撮影した画像の平均輝度値と前記第２の露出値で撮影した画像の平均輝度値とから、前記第１及び第２の露出値の中央値である第３の露出値における画像の平均輝度値を計算する計算工程と、
前記第３の露出値で画像を撮影する第３の撮影工程と、
前記第３の露出値で撮影した画像の平均輝度値と、前記計算工程で求めた平均輝度値との差に基づいて、前記第３の露出値で撮影した画像を前記画像管理工程で管理するか否かを決定する決定工程と
を有することを特徴とする撮影方法。
【請求項９】
前記決定工程では、上記差の絶対値が閾値を越える場合に前記第３の露出値で撮影した画像を管理し、前記閾値以下の場合には管理しないと決定することを特徴とする請求項８に記載の撮影方法。
【請求項１０】
前記第３の露出値で撮影した画像の平均輝度値と、前記計算工程で求めた平均輝度値との上記差の絶対値が閾値を越える場合に、前記第１及び第３の露出値をそれぞれ第１及び第２の露出値とし、また前記第３及び第２の露出値をそれぞれ第１及び第２の露出値として、それぞれ前記第１の撮影工程乃至前記決定工程を繰り返す再帰制御工程を更に有することを特徴とする請求項８または９に記載の撮影方法。
【請求項１１】
記第３の露出値で撮影した画像の平均輝度値と、前記計算工程で求めた平均輝度値との上記差の絶対値が閾値以下の場合には、前記第１及び第３の露出値をそれぞれ第１及び第２の露出値とし、また前記第３及び第２の露出値をそれぞれ第１及び第２の露出値として、それぞれ前記第１の撮影工程乃至前記決定工程を繰り返し、それぞれの中間露出値における計算して得られた平均輝度値と、前記中間露出値で撮影した画像の平均輝度値との差が共に前記閾値以下の場合に、前記決定工程では、前記第３の露出値で撮影した画像を管理しないと決定することを特徴とする請求項８または１０に記載の撮影方法。
【請求項１２】
前記第１の露出値と前記第２の露出値の差が閾値以下か否かを判定する判定工程と、
前記判定工程により前記閾値以下であると判定された場合に、前記画像取得工程の処理の実行を停止する停止工程と
を更に有することを特徴とする請求項８乃至１１のいずれか１項に記載の撮影方法。
【請求項１３】
複数の異なる露出で同一被写体の撮影を複数回行う多露出モードと、単露出で被写体の撮影を１回行う通常モードとを切り替える切り替え工程と、
撮影を１回行い、撮影された画像を記憶する通常画像取得工程とを更に有し、
前記切り替え工程により多露出モードが選択されている場合には、前記通常画像取得工程の処理の実行を停止し、前記切り替え工程により通常モードが選択されている場合には、前記画像取得工程の処理の実行を停止することを特徴とする請求項８乃至１２のいずれか１項に記載の撮影方法。
【請求項１４】
前記画像取得工程により撮影する画像の最低枚数を設定する工程を更に有することを特徴とする請求項８乃至１３のいずれか１項に記載の撮影方法。
【請求項１５】
コンピュータに、請求項８乃至１４のいずれか１項に記載の撮影方法の各工程を実行させるためのプログラムコードを保持した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、撮像システム及び撮影方法に関し、更に詳しくは、露出制御可能な撮像システムにおける多露出による撮影方法に関するものである。
【０００２】
【従来の技術】
従来のカメラにおいて、撮影時に露出を適正な状態に自動調節する自動露出調整（ＡＥ）機能が存在する。
【０００３】
このようなカメラの露出制御はＣＣＤが受光する光量の平均を変化させる制御を行うことによって行われている。一般に、露出をアンダー（暗い側）からオーバー（明るい側）まで徐々に変化させると、ＣＣＤが受光する光量は徐々に増加し、その結果得られる画像の輝度値（全画素の平均値）もまた徐々に増加する。ただし、光量の増加に対して輝度値が直線的に増加するわけではなく、図９に示すように曲線を描くように変化するが、この曲線の変化は被写体によって異なる。その理由としては、撮影範囲には様々なものが写っているために、そのそれぞれに対応する各画素の出力が光量の増加に対して異なる変化をすることが挙げられる。その結果、画像全体の明るさは直線的に変化しなくなる。
【０００４】
【発明が解決しようとする課題】
上記のようなＡＥ機能による露出調整では、画像全体の明るさ、もしくは特定部分（検出対象領域）の明るさが適切となるような調整を行うので、撮影範囲内に写っている物体すべてをそれぞれ適正な明るさで撮影することが困難であった。
【０００５】
また、撮影後の画像を画像処理して明るさを調整することもできるが、物体の明るさの変化は、物体の光の反射係数や照明条件が詳しく分からない限り予測することが困難である。しかし、画像からだけでは、これらの条件は取得することができない。つまり、個々の物体の明るさ自体は調整可能であるが、明るさの変化については正しく調整することが困難であった。
【０００６】
一方、撮影対象物は、対象物そのものや環境（照明など）が刻々と変化しているため、撮影の都度マニュアルで露出を合わせて撮影を行う操作は面倒であった。更に、ＡＥ機能を動作させていたとしても、動いている物体を撮影する場合などには、その物体のみの明るさを適正にするくらいしか時間の余裕がないため、後に撮影した画像全体を見ると、背景が物体よりかなり明るかった場合には白く抜けてしまったり、逆に暗かった場合には黒くつぶれてしまったりと、明るさを合わせるという点で失敗していたという状況が多く発生していた。
【０００７】
本発明は、上記問題点に鑑みてなされたものであり、様々な被写体を撮影する場合に、適切な露出で撮影された画像を得ることを目的とする。
【０００８】
【課題を解決するための手段】
上記目的を達成するために、本発明の撮像システムは、撮像手段と、前記撮像手段の露出を制御する露出制御手段と、複数の異なる露出で画像を撮影するように前記露出制御手段及び前記撮像手段を制御して画像を取得する画像取得手段と、前記画像取得手段により取得した前記複数の画像を管理する画像管理手段と、前記画像管理手段が管理する前記複数の画像から、前記複数の異なる露出以外の露出の画像を生成する画像生成手段とを有し、前記画像取得手段は、第１の露出値で撮影した画像の平均輝度値と第２の露出値で撮影した画像の平均輝度値とから、前記第１及び第２の露出値の中央値である第３の露出値における画像の平均輝度値を計算する計算手段と、前記第３の露出値で撮影した画前記第３の露出値で撮影し像の平均輝度値と、前記計算手段により求めた平均輝度値との差に基づいて、た画像を前記画像管理手段により管理するか否かを決定する決定手段とを有する。
【０００９】
また、本発明の撮影方法は、露出を制御して、露出の異なる複数の画像を取得する画像取得工程と、前記画像取得工程で取得した露出の異なる複数の画像を管理する画像管理工程と、前記画像管理工程で管理された前記露出の異なる複数の画像から、前記複数の異なる露出以外の露出の画像を生成する画像生成工程とを有し、前記画像取得工程は、第１の露出値で画像を撮影する第１の撮影工程と、第２の露出値で画像を撮影する第２の撮影工程と、前記第１の露出値で撮影した画像の平均輝度値と前記第２の露出値で撮影した画像の平均輝度値とから、前記第１及び第２の露出値の中央値である第３の露出値における画像の平均輝度値を計算する計算工程と、前記第３の露出値で画像を撮影する第３の撮影工程と、前記第３の露出値で撮影した画像の平均輝度値と、前記計算工程で求めた平均輝度値との差に基づいて、前記第３の露出値で撮影した画像を前記画像管理工程で管理するか否かを決定する決定工程とを有する。
【００１２】
また、本発明の好適な一様態によれば、前記決定手段は、上記差の絶対値が閾値を越える場合に前記第３の露出値で撮影した画像を管理し、前記閾値以下の場合には管理しないと決定し、前記決定工程では、上記差の絶対値が閾値を越える場合に前記第３の露出値で撮影した画像を管理し、前記閾値以下の場合には管理しないと決定する。
【００１３】
また、本発明の好適な一様態によれば、前記第３の露出値で撮影した画像の平均輝度値と、前記計算手段により求めた平均輝度値との上記差の絶対値が閾値を越える場合に、前記第１及び第３の露出値をそれぞれ第１及び第２の露出値とし、また前記第３及び第２の露出値をそれぞれ第１及び第２の露出値として、それぞれ前記画像取得手段による処理を繰り返すように制御する再帰制御手段を更に有する。また、前記第３の露出値で撮影した画像の平均輝度値と、前記計算工程で求めた平均輝度値との上記差の絶対値が閾値を越える場合に、前記第１及び第３の露出値をそれぞれ第１及び第２の露出値とし、また前記第３及び第２の露出値をそれぞれ第１及び第２の露出値として、それぞれ前記第１の撮影工程乃至前記決定工程を繰り返す再帰制御工程を更に有する。
【００１４】
また、本発明の好適な別の一様態によれば、前記第３の露出値で撮影した画像の平均輝度値と、前記計算手段により求めた平均輝度値との上記差の絶対値が閾値以下の場合には、前記第１及び第３の露出値をそれぞれ第１及び第２の露出値とし、また前記第３及び第２の露出値をそれぞれ第１及び第２の露出値として、それぞれ前記画像取得手段による処理を繰り返し、それぞれの中間露出値における計算して得られた平均輝度値と、前記中間露出値で撮影した画像の平均輝度値との差が共に前記閾値以下の場合に、前記決定手段は、前記第３の露出値で撮影した画像を管理しないと決定する。また、記第３の露出値で撮影した画像の平均輝度値と、前記計算工程で求めた平均輝度値との上記差の絶対値が閾値以下の場合には、前記第１及び第３の露出値をそれぞれ第１及び第２の露出値とし、また前記第３及び第２の露出値をそれぞれ第１及び第２の露出値として、それぞれ前記第１の撮影工程乃至前記決定工程を繰り返し、それぞれの中間露出値における計算して得られた平均輝度値と、前記中間露出値で撮影した画像の平均輝度値との差が共に前記閾値以下の場合に、前記決定工程では、前記第３の露出値で撮影した画像を管理しないと決定する。
【００１５】
また、本発明の好適な一様態によれば、前記第１の露出値と前記第２の露出値の差が閾値以下か否かを判定する判定手段と、前記判定手段により前記閾値以下であると判定された場合に、前記画像取得手段の処理の実行を停止する停止手段とを更に有する。また、前記第１の露出値と前記第２の露出値の差が閾値以下か否かを判定する判定工程と、前記判定工程により前記閾値以下であると判定された場合に、前記画像取得工程の処理の実行を停止する停止工程とを更に有する。
【００１６】
また、本発明の好適な一様態によれば、複数の異なる露出で同一被写体の撮影を複数回行う多露出モードと、単露出で被写体の撮影を１回行う通常モードとを切り替える切り替え手段と、前記露出制御手段及び前記撮像手段を制御して撮影を１回行い、撮影された画像を記憶する通常画像取得手段とを更に有し、前記切り替え手段により多露出モードが選択されている場合には、前記通常画像取得手段の処理の実行を停止し、前記切り替え手段により通常モードが選択されている場合には、前記画像取得手段の処理の実行を停止する。また、複数の異なる露出で同一被写体の撮影を複数回行う多露出モードと、単露出で被写体の撮影を１回行う通常モードとを切り替える切り替え工程と、撮影を１回行い、撮影された画像を記憶する通常画像取得工程とを更に有し、前記切り替え工程により多露出モードが選択されている場合には、前記通常画像取得工程の処理の実行を停止し、前記切り替え工程により通常モードが選択されている場合には、前記画像取得工程の処理の実行を停止する。
【００１７】
また、本発明の好適な一様態によれば、前記画像生成手段が生成した画像を表示する表示手段を更に有する。
【００１８】
上記構成によれば、露出を制御して複数の露出の異なる画像を撮影し、撮影した画像の内必要な画像のみを記憶し、記憶した複数の画像から任意の露出における画像が生成できるようにしたので、効率よく所望の露出における画像を得ることができる。
【００１９】
また、好ましくは、前記画像取得工程により撮影する画像の最低枚数を設定する工程を更に有することにより、被写体に応じて、必要となる最低撮影回数を変化させるようにしたので、効率よく画像を撮影することができる。
【００２０】
【発明の実施の形態】
以下、添付図面を参照して本発明の好適な実施の形態を詳細に説明する。
【００２１】
図１は、本発明の実施の形態における撮像システムの構成を表すブロック図である。
【００２２】
図１において、１００は撮像システムであり、主に撮像部１０１、ＡＥ回路１０２、ディスプレイ１０３、入力デバイス１０４、ＣＰＵ１０５、ＲＯＭ１０６、ＲＡＭ１０７、外部Ｉ／Ｆ１０８によって構成される。
【００２３】
撮像部１０１は、焦点調節などを行なうレンズなどで構成されるレンズユニット、光量の調節などを行なう絞り、およびこれらを介して入射した光学像を電気的な信号に変換するＣＣＤなどからなる。
【００２４】
ＡＥ回路１０２は、ＣＣＤに入射する光量が適切になるように、シャッタースピードと絞りを調節し、露出調節を行なう。本実施の形態では、ＡＥ制御のためのパラメータ（露出に関する情報）は、シャッタースピードと絞りの値を用いている。したがって、このシャッタースピードと絞り値の組み合わせによって映像の明るさ値を決定することになる。また、露出パラメータはＮ段階（Ｎはカメラの性能によって異なるが、数十から数百段階）の設定が可能である。
【００２５】
ディスプレイ１０３は、撮像部１０１が撮像した映像を表示したり、撮影操作によって保存された画像を表示したりする。入力デバイス１０４は、撮像システム１００に取り付けられたボタンなど、ユーザがシステムを操作する手段として用いられる。
【００２６】
ＣＰＵ１０５は、撮像システム１００全体を統括制御するものであり、撮像部１０１、ＡＥ回路１０２に指令を出したり、入力デバイス１０４から入力されるコマンドを解析したり、画像をディスプレイ１０３に表示したりする。
【００２７】
ＲＯＭ１０６は、ＣＰＵ１０５で実行する処理の各種プログラムを格納している。ＲＡＭ１０７は、撮像システム１００内で実行される処理のプログラムの記憶領域及び作業領域を提供し、また、撮像部１０１から入力された映像データの一時待避領域を提供する。
【００２８】
外部Ｉ／Ｆ１０８は、外部記憶装置１０９と接続するためのＩ／Ｆである。外部記憶装置１０９は、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどの記憶媒体を読み書きできる記憶装置であり、これらの記憶媒体に書き込まれたプログラムをＲＡＭ１０７に読み込むことによっても、システムが動作する。
【００２９】
次に、撮像システム１００の動作を図２のフローチャートを参照して説明する。
【００３０】
図２は、撮像システム１００に電源が投入され、ＲＯＭ１０６もしくは外部記憶装置１０９からシステムの処理に必要なプログラムをＲＡＭ１０７に読み込み、動作処理に必要な変数やテーブルの初期化が終了した後に、撮像システム１００が実行する処理の流れを示したフローチャートである。
【００３１】
同図において、まず、ステップＳ２０１で撮影コマンドを受信したかどうかを判断する。ここで撮影とは、画像システム１００によりユーザが現在撮像している画像を記憶領域に格納することをいう。たとえば、デジタルカメラやビデオカメラなどでスナップショットを撮る操作のことをいう。
【００３２】
ステップＳ２０１で撮影コマンドを受信していない場合には、ステップＳ２１４において、撮像部１０１は映像をキャプチャして映像信号を生成し、その映像信号をＲＡＭ１０７の映像バッファ領域に書き込む。なお、この映像バッファ領域は、システム立ち上げ時に初期化されているものとする。そして、ステップＳ２１５において、ＣＰＵ１０５がＲＡＭ１０７に読み込まれたプログラムにしたがって、映像バッファ領域のデータをディスプレイ１０３に出力する。
【００３３】
撮影コマンドが指令されない間は、ステップＳ２１４、ステップＳ２１５の処理を繰り返すことによって、撮像部１０１がキャプチャした映像が常にディスプレイ１０３に表示されることになる。
【００３４】
ステップＳ２０１で撮影コマンドが受信された場合には、ステップＳ２０２において、指定された撮影が多露出モードか否かを判断する。本実施の形態では撮影のモードには、その時点での画像を１枚だけ撮影する通常モードと、露出を変更して複数の異なる露出で画像を撮影する多露出モードの２モードがあるものとする。これらの撮影モードの設定は、ユーザが入力デバイス１０４を介して入力するもので、撮影モード設定が指示されると、その時点で指定された撮影モードがＲＡＭ１０７の撮影モード格納領域に書き込まれるため、撮影モード格納領域の情報を確認することにより多露出モードか否かを判断することができる。
【００３５】
ステップＳ２０２で多露出モードでないと判断した場合、すなわち通常モードであった場合には、ステップＳ２１１に進み、ステップＳ２１４と同様の処理によって、撮像部１０１がキャプチャした映像データがＲＡＭ１０７の映像バッファ領域に書き込まれる。
【００３６】
次にステップＳ２１２において、ＲＡＭ１０７の映像バッファ領域に書き込まれた映像データを画像形式のデータ（ＪＰＥＧなどデジタルカメラ等で通常使用されている画像形式でよい）に変換して、ＲＡＭ１０７の画像データ格納領域に格納する。本実施の形態においては、画像データは、図４に示すようなリスト形式で管理されているものとする。
【００３７】
図４において、３０１は、撮影した画像を管理するためのテーブルであり、各セルにおいて、種別は、撮影された画像の撮影モードを示し、画像１，２，３…は、撮影した画像データへのポインタを示している。３０２は、多露出モードで撮影された画像を管理するためのリストセルであり、このセルに関しては後述する。３０３は、撮影された各画像データである。
【００３８】
図４に示す例では、画像１および画像２は通常モードで撮影された画像であり、画像３が多露出モードで撮影した画像である場合を示している。
【００３９】
したがって、図２のステップＳ２１２の処理では、図４の３０１にセルを追加し、種別として通常モードであることを示すフラグを設定し、格納した画像データ３０３へのポインタを書き込むことになる。なお、図４に示す画像データは、ＲＡＭ１０７上に書き込まれるが、撮像システム１００の電源が切れても、内蔵電池などによって記憶が保存される領域に書き込まれる。また、画像データは、外部記憶装置１０９への移動および複写、さらに削除が可能である。
【００４０】
そして、ステップＳ２１３において、撮影した画像をディスプレイ１０３に表示する。この画像表示は、タイマーを用いて数秒間表示しても良いし、画像表示の解除指令があるまで表示しても良い。画像表示ステップＳ２１３が終了すると、ステップＳ２０１からの処理を繰り返す。
【００４１】
また、ステップＳ２０２で、多露出モードであると判断された場合には、ステップＳ２０３において、ＡＥ回路１０２の機能をＯＦＦにする。これは多露出モード撮影では、露出を計算された値（後述）に制御して撮影を行うためである。なお、撮影コマンドが指令されていない場合、および、通常モード撮影の場合には、ＡＥ回路１０２の機能はＯＮになっており、常に適切な露出における撮像がなされている。
【００４２】
次に、ステップＳ２０４において、露出を設定できる最低の値に設定し、その値を変数Ｐａに代入する。露出の最低値は、映像で言うと暗い（アンダー）側の値であり、０からＮまでＮ段階で露出が設定できる場合（０からＮまで順にアンダーからオーバーまで、徐々に映像が明るくなっていくものとする。）は、０段階の値になる。また、変数Ｐａは露出制御しながら撮影を行う処理に与える引数であり、詳細については後述する。
【００４３】
次に、ステップＳ２０５において、ステップＳ２１４と同様の処理によって、撮像部１０１がキャプチャした映像データをＲＡＭ１０７の映像バッファ領域に書き込む。
【００４４】
次に、ステップＳ２０６において、ＲＡＭ１０７の映像バッファ領域に書き込まれた映像データを画像形式のデータに変換して、ＲＡＭ１０７の画像データ格納領域に格納する。
【００４５】
本実施の形態では、通常モード撮影の処理で説明したように、図４に示すような形式で撮影した画像を管理している。多露出モードで撮影された場合には、３０１の種別として多露出モード撮影であることを示すフラグが設定され、画像リストを管理するためのリストセル３０２を生成して、そのリストセルへのポインタを書き込む。
【００４６】
各リストセル３０２は、４つのスロツトから構成されており、撮影した露出の値と、画像データへのポインタと、画像の平均輝度値と、次のリストセルへのポインタとからなる。
【００４７】
画像の各画素の輝度値は次式１により計算され、画像全体の各画素の輝度値の総和を画素数で除した値が画像の平均輝度値となる。
Ｙｎ＝０．２９９Ｒｎ＋０．５８７Ｇｎ＋０．１１４Ｂｎ    （式１）
ｎ  ：画素の番号
Ｒｎ：第ｎ画素におけるＲ成分の値
Ｇｎ：第ｎ画素におけるＧ成分の値
Ｂｎ：第ｎ画素におけるＢ成分の値
【００４８】
したがって、ステップＳ２０６においては、第０段階の露出値、撮影した画像データ３０３へのポインタ、画像データ３０３より計算した平均輝度値、次リストセルへのポインタがリストセル３０２に書き込まれる。なお、ここでは、次リストセルがないのでＮＵＬＬ値が入る。
【００４９】
次に、ステップＳ２０７において、露出を設定できる最高の値に設定し、その値を変数Ｐｂに代入する。変数Ｐｂは露出制御しながら撮影を行う処理に与える引数であり、詳細については後述する。
【００５０】
次に、ステップＳ２０８において、ステップＳ２１４と同様の処理によって、撮像部１０１がキャプチャした映像データをＲＡＭ１０７の映像バッファ領域に書き込む。
【００５１】
次に、ステップＳ２０９において、ＲＡＭ１０７の映像バッファ領域に書き込まれた映像データを画像形式のデータに変換して、ＲＡＭ１０７の画像データ格納領域に格納する。
【００５２】
ここでは、ステップＳ２０６のときと同様にリストセル３０２を生成し、第Ｎ段階の露出値、撮影した画像データ３０３へのポインタ、画像データ３０３より計算した平均輝度値、次リストセルへのポインタを書き込むが、この場合は、次リストセルがないのでＮＵＬＬ値が入る。生成したリストセルは、先頭から順に露出値が昇順になるように追加する。リストの追加の仕方は通常のリスト処理と同様であり、新しいリストセルを挿入する際に、その前のリストセルの次リストセルへのポインタを書き換えることによって行われる。
【００５３】
ステップＳ２０９の処理が終了すると、ステップＳ２１０において露出を制御しながら撮影を行う処理を行い、その後、ステップＳ２１１において、ＡＥ回路１０２の機能をＯＮにして、ステップＳ２０１の処理へ戻る。
【００５４】
次に、ステップＳ２１０で行われる露出制御撮影の処理について、図３を参照して説明する。
【００５５】
図３は、露出制御撮影の処理の流れを示すフローチャートである。
【００５６】
同図において、まず、ステップＳ４０１で引数として与えられた変数ＰａおよびＰｂの値を参照して、Ｐｂ−Ｐａが最小ステップであるかどうか判断する。Ｐｂは高い側の露出値であり、Ｐａは低い側の露出値であるが、この両者がＮ段階に設定できる露出値のうち隣どうしの段階の場合、つまり、Ｐａが露出第ｍ段階の値で、Ｐｂが露出第ｍ＋１段階の値（０＜ｍ＜Ｎ）の場合にはこの２つの露出値の中間の露出値を設定することができないので、この判定を必要とする。
【００５７】
ステップＳ４０１で、Ｐｂ−Ｐａが最小ステップでなかった場合には、ステップＳ４０２において、露出値がＰａで撮影された画像の平均輝度値を画像リスト（図４）から検索する。Ｐａの値をもとにリストセルの検索を行い、検索されたリストセル３０２から平均輝度値を取得する。この値をＩａとする。
【００５８】
次に、ステップＳ４０３において、ステップＳ４０２と同様にして、露出値がＰｂで撮影された画像の平均輝度値を取得する。この値をＩｂとする。
【００５９】
次に、ステップＳ４０４において、ステップＳ４０２、ステップＳ４０３で取得したＩａ、Ｉｂより直線式を求める。この直線式の求め方を図５を用いて説明する。
【００６０】
図５は、横軸が露出値、縦軸が画像の平均輝度値のグラフを示している。露出値Ｐａ、Ｐｂにおける画像の平均輝度値がＩａ、Ｉｂとすると、５０１、５０２が示すようにプロットすることができる。この５０１と５０２の２点を通る直線を求めるればよいので、Ｉａ、Ｉｂより求められる直線式は式２のようになる。
【００６１】
0004261715.tif 000002
【００６２】
次に、ステップＳ４０５において、露出値Ｐａ、Ｐｂの中間値（＝Ｐｘ）に露出を設定し、ステップＳ４０６において、露出値Ｐｘで撮像部１０１がキャプチャした映像データをＲＡＭ１０７の画像バッファ領域に書き込む。
【００６３】
次に、ステップＳ４０７において、露出値Ｐｘで撮影された画像の平均輝度値を計算する。この値はＩrealとする。
【００６４】
次に、ステップＳ４０８において、露出値Ｐｘにおける、ステップＳ４０４で求めた直線上の値Ｉｘを計算する。
【００６５】
次に、ステップＳ４０９において、ステップＳ４０７、ステップＳ４０８で求めたＩrealとＩｘとの差が閾値Ｔより小さいかどうかを判断する。ＩrealとＩｘの関係は例えば図５に示すようになり、ステップＳ４０９ではＩrealが直線上の値とどれくらい異なるかを求めることになる。Ｉrealが直線上の値に近い場合は、露出値ＰａからＰｂまでの間は、画像全体が平均的に偏りなく明るさが変化していることが予想される。したがって、露出値ＰａおよびＰｂにおける画像データがあれば、その間の画像は各画素が線形的に明るさが変化すると仮定して、中間の画像を計算によって生成することができる。画像の生成方法については後述する。
【００６６】
また、ステップＳ４０９でＩrealとＩｘとの差が閾値Ｔ以上であると判定した場合には、ステップＳ４１０において、露出値Ｐｘにおいて撮影した画像を図４で説明した画像リストに追加する。
【００６７】
具体的には、ＲＡＭ１０７の映像バッファ領域に書き込まれた映像データを画像形式のデータに変換して、ＲＡＭ１０７の画像データ格納領域に格納する。そして、同時にリストセル３０２を生成し、露出値Ｐｘ、撮影した画像データ３０３へのポインタ、画像データ３０３より計算した平均輝度値Ｉｘ、次リストセルへのポインタを書き込む。ここで生成したリストセル３０２は、先頭から順に露出値が昇順になるようにリスト追加する。
【００６８】
そして次に、ＰａおよびＰｂの値を更新して、ステップＳ４０１からの処理を再帰的に実行するが、ステップＳ４１１、ステップＳ４１２の２つの処理に分岐して、Ｐｘの両側のＰａ，Ｐｂの値についてそれぞれステップＳ４０１からの処理が実行される。ステップＳ４１１では、Ｐａ＝Ｐａ、Ｐｂ＝Ｐｘにセットし、ステップＳ４１２では、Ｐａ＝Ｐｘ、Ｐｂ＝Ｐｂにセットする。
【００６９】
ステップＳ４１１及びステップＳ４１２で分岐して生成されたすべてのＰａ、Ｐｂの組み合わせについて上記処理を行い、最終的にすべてのＰａ、Ｐｂの組み合わせについてＰａ−Ｐｂが最小ステップになるか（ステップＳ４０１でＹＥＳ）、またはＩrealとＩｘの差が閾値Ｔより小さくなり（ステップＳ４０９でＹＥＳ）、処理を終えるまで（ステップＳ４１３でＹＥＳ）繰り返す。
【００７０】
以上説明したように、最高（第Ｎ段階露出値）および最低（第０段階露出値）の画像を撮影し、その中央値における画像を撮影し、撮影して得られた画像が所定条件（｜ＩrealーＩｘ｜≧Ｔ）を満たした場合に限り再帰的処理によって必要な画像のリストを生成するため、少ない撮影回数で効率的に多露出モードの画像群を構成することができる。また、上記実施の形態においては、Ｎ段階の設定可能な露出値すべてを使用する場合について説明したが、最低値をｍ段階、最高値をｎ段階（０≦ｍ＜Ｎ、０＜ｎ≦Ｎ、ｍ＜ｎ）とすることも可能である。また、必要な撮影回数は被写体によって異なるが、各被写体毎に最小限の撮影回数が必ず決定される。
【００７１】
次に、多露出モードで撮影された画像を用いて、任意露出値の画像を生成し表示する処理について説明する。
【００７２】
図６は、多露出モードで撮影された画像から、ユーザによって指定された任意露出値の画像を生成する処理の流れを示すフローチャートである。
【００７３】
同図において、まず、ステップＳ６０１で入力デバイス１０４から入力された指定露出値画像生成コマンドを解析し、指定された露出値を取得する。この値をＰｓとする。
【００７４】
次に、ステップＳ６０２において、多露出モードで撮影された画像リストから指定露出値Ｐｓ前後の露出値で撮影された画像のペアを検索する。上記で説明したように、画像リストは露出値の昇順で構成されているので、リストの先頭から各画像のリストセル３０２の露出値とＰｓを順に比較し、リストに登録された連続する２つの露出値の組で、Ｐ１＜Ｐｓ＜Ｐ２となる露出値Ｐ１、Ｐ２における画像を検索する。
【００７５】
次に、ステップＳ６０３において、Ｐ１、Ｐ２両方の画像が見つかったかどうかの検査を行う。画像が見つからない場合は、指定されたＰｓがＰ０（露出値０段階における値）よりも小さいか、ＰＮ（露出値Ｎ段階における値）よりも大きいことが考えられるので、この場合は、エラーとして以後の画像生成処理を何も行わなずに処理を終了する。
【００７６】
ステップＳ６０３でＰ１、Ｐ２両側の画像が見つかった場合には、ステップＳ６０４において、その値Ｐ１とＰ２を取得する。
【００７７】
次に、ステップＳ６０５において、Ｐ１、Ｐ２における画像からＰｓに対応する画像を生成する。この画像生成の仕方を図７を用いて説明する。
【００７８】
図７において、７０１は露出値Ｐ１において撮影された画像、７０２は露出値Ｐ２において撮影された画像、７０３は生成するＰｓにおける画像を示す。ここで、各画像において、横方向Ｘと縦方向ｙとしたときの画素に注目すると、７１１、７１２、７１３は、それぞれの画像において同じ座標位置にある画素を示している。Ｐ１で撮影された画像の画素７１１の色情報（ＲＧＢ各成分の値）をＲ１、Ｇ１、Ｂ１とし、Ｐ２で撮影された画像の画素７１２の色情報（ＲＧＢ各成分の値）をＲ２、Ｇ２、Ｂ２とすると、Ｐｓにおける画像の画素７１３の色情報（ＲＧＢ各成分の値）は、式３によって計算される。
Ｒｓ＝ｐＲ１＋ｑＲ２
Ｇｓ＝ｐＧ１＋ｑＧ２
Ｂｓ＝ｐＢ１＋ｑＢ２
ｐ＝（Ｐｓ−Ｐ１）／（Ｐ２−Ｐ１）
ｑ＝（Ｐ２−Ｐｓ）／（Ｐ２−Ｐ１）              （式３）
【００７９】
この画素毎の計算を画像全体の画素について行い、Ｐｓにおける画像７０３を生成する。
【００８０】
次に、ステップＳ６０６において、ステップＳ６０５で生成したＰｓにおける画像をディスプレイ１０３に出力する。
【００８１】
【他の実施の形態】
上記実施の形態においては、露出値ＰａとＰｂの中央値における判定を行ったが、まれではあるが、被写体によっては、露出値に対して平均輝度値が図８のように変化する場合がある。このような変化をする場合には、中央値以外のところでは、ＩrealとＩｘの差が大きいにも関わらず、図３のステップＳ４０９でＹＥＳとなり処理を終了してしまうため、中央値以外の露出値における撮影がなされないことになる。
【００８２】
この問題に対応するためには、中央値における判定を２重にすればよい。一度、閾値より小さいと判定しても、さらに中央値の両側の露出値の組み合わせを用いてそれぞれ露出制御撮影を繰り返し、その両側の範囲で閾値より小さいと判断された場合に、一度目に判定した結果が正しいと判断するのである。もし、両側もしくは片側の範囲で閾値よりも大きいと判定された場合には、極端なＳ字を描いて明るさが変化していることが予想されるので、さらに判定を再帰的に繰り返せばよい。
【００８３】
ただし、よほど特殊な被写体を撮影しないかぎり、このような状況にはならないため、特殊な被写体を撮影する場合にのみ実施すればよい。
【００８４】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体（または記録媒体）を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成できる。
【００８５】
その場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００８６】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピーディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどを用いることができる。
【００８７】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【００８８】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示にもとづき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される。
【００８９】
本発明を上記記憶媒体に適用する場合、その記憶媒体には、先に説明したフローチャートに対応するプログラムコードを格納することになるが、簡単に説明すると、露出を制御して、複数の露出の異なる画像を取得する手順と、上記露出の異なる複数の画像を管理する手順と、上記露出の異なる複数の画像から、ににの露出の画像を生成する手順とが記述されたプログラムモジュールを記憶媒体に格納することになる。
【００９０】
【発明の効果】
上記説明したように本発明によれば、露出を制御して複数の露出の異なる画像を撮影し、撮影した画像の内必要な画像のみを記憶し、記憶した複数の画像から任意の露出における画像が生成できるようにしたので、効率よく所望の露出における画像を得ることができる。
【００９１】
さらに、被写体に応じて、必要となる最低撮影回数を変化させるようにしたので、効率よく画像を撮影することができる。
【図面の簡単な説明】
【図１】本発明の実施形態における撮像システムの構成を示すブロック図である。
【図２】本発明の実施形態における撮像システムの処理を示すフローチャートである。
【図３】露出制御撮影の処理の流れを示すフローチャートである。
【図４】本発明による撮像システムが管理する画像リストの構成を示す図である。
【図５】画像を画像リストに追加するかしないかを判定する方法を説明するための図である。
【図６】多露出モードで撮影された画像から、指定された露出値における画像を生成して表示する処理の流れを示すフローチャートである。
【図７】画像の生成方法を説明するための図である。
【図８】中央値の判定が適さない場合を説明するための図である。
【図９】露出値と撮影された画像の平均輝度値との関係の一例を示す図である。
【符号の説明】
１００  撮像システム
１０１  撮像部
１０２  ＡＥ回路
１０３  ディスプレイ
１０４  入力デバイス
１０５  ＣＰＵ
１０６  ＲＯＭ
１０７  ＲＡＭ
１０８  外部Ｉ／Ｆ
１０９  外部記憶装置
【図１】
0004261715.tif 000003
【図２】
0004261715.tif 000004
【図３】
0004261715.tif 000005
【図４】
0004261715.tif 000006
【図５】
0004261715.tif 000007
【図６】
0004261715.tif 000008
【図７】
0004261715.tif 000009
【図８】
0004261715.tif 000010
【図９】
0004261715.tif 000011