以下、この発明をその実施の形態を示す図面に基づいて具体的に説明する。
<実施の形態>
図1は、本実施の形態に係るデジタルカメラ100の構成の一例を示すブロック図である。
図1に示すように、デジタルカメラ100は、撮像部1、画像処理部2、参照画像格納部3およびハイダイナミックレンジ画像生成部4から構成されている。ここで、画像処理部2は、輝度値分布抽出部21、特徴量抽出部22、グループ判別部23、露出条件算出部24および係数格納部25から構成されている。
なお、ハイダイナミックレンジ画像生成部4では、同一被写体を異なる露出条件で撮像した複数の参照画像を合成することにより、ハイダイナミックレンジ画像を生成する。本実施の形態では、当該ハイダイナミックレンジ画像生成部4は、デジタルカメラ100内に配設されている。しかしながら、当該ハイダイナミックレンジ画像の生成は、デジタルカメラ100外のたとえばパーソナルコンピュータ(PC)等で実施しても良い。この場合には、デジタルカメラ100の参照画像格納部3から、所定の参照画像をPCが読み出した後、当該読み出した参照画像を合成することにより、PCはハイダイナミックレンジ画像を生成する。
次に、本実施の形態に係るデジタルカメラ100の動作について説明する。なお、当該デジタルカメラ100の動作の説明を通じて、デジタルカメラ100内の各ブロック1〜4,21〜25の機能・動作も明らかになる。
<1枚目の参照画像より特徴量取得>
まず、図2に示すように、撮像部1は、所定の被写体を、予め設定された所定の露出条件にて撮像する(ステップS1)。当該撮像部1における撮像により、1枚目の参照画像(第一の参照画像と把握できる)がデジタルデータとして得られる。当該1枚目の参照画像は、撮像部1から出力され、参照画像格納部3へ送信される(ステップS2)。そして、当該1枚目の参照画像は、参照画像格納部3内に格納されると共に、画像処理部2内の輝度値分布抽出部21へ送信される(ステップS2)。
次に、輝度値分布抽出部21では、1枚目の参照画像を構成する全画素から輝度値を各々抽出する。そして、輝度値分布抽出部21は、抽出した各輝度値を用いて、図3に例示するような輝度値分布を取得する(ステップS3)。図3に例示するように、ステップS3で得られる輝度値分布は、折れ線グラフとして表記される。ここで、図3の横軸は輝度値であり、図面右方向に進むに連れて輝度値が高くなる。また、図3の縦軸は度数であり、図面上方向に進むに連れて度数が高くなる。さらに、輝度値分布抽出部21では、ステップS3で求めた輝度値分布の折れ線に対して平滑化処理を施し、図4に示すように平滑処理後の輝度値分布を取得する。
次に、輝度値分布抽出部21は、図3または図4に示す輝度値分布を、特徴量抽出部22へ送信する。そして、特徴量抽出部22では、受信した輝度値分布より特徴量を取得する(ステップS4)。ここで、特徴量とは、輝度値分布より得られる統計量である。本実施の形態では、特徴量として、輝度値の平均値(average)、輝度値の分散値(variance)、輝度値の最小極大値(local maxmin)および輝度値の最大極大値(local maxmax)である。ここで、最小極大値とは、輝度値分布における全ての極大値において、輝度値が最小となる極大値である。また、最大極大値とは、輝度値分布における全ての極大値において、輝度値が最大となる極大値である。たとえば、図4に例示する輝度値分布では、点Aが最小極大値となり、点Bが最大極大値となる。
本実施の形態では、当該特徴量から求められる露出条件にて、上記と同じ所定の被写体を撮像することにより、2枚目以降の参照画像(第二の参照画像と把握できる)を得る。以下、2枚目以降の参照画像を得る動作を具体的に説明する。
<1枚目の参照画像のグループ判別>
まず、取得した特徴量に基づいて、1枚目の参照画像が複数のグループの内の何れかのグループに属するのかの判別を行う。ここで、各グループには個別に、処理フローが規定されている。当該処理フローは、2枚目以降の参照画像撮像の露出条件を求めるためのフローである。1枚目の参照画像がどのグループに属するかにより、当該処理フローが異なる。
本実施の形態では、複数のグループとして、第一のグループから第七のグループが存在する。ここで、第一のグループには、黒潰れ過多部分を有する参照画像(予め定める領域以上が黒潰れである参照画像)が属する。第二のグループには、アンダー露出の参照画像が属する。第三のグループには、白飛び部分を有するアンダー露出の参照画像が属する。第四のグループには、アンダー露出とオーバ露出との間の露出(ベース露出と称する)の参照画像が属する。第五のグループには、黒潰れ部分を有するオーバ露出の参照画像が属する。第六のグループには、オーバ露出の参照画像が属する。そして、第七のグループには、白飛び過多部分を有する参照画像(予め定める領域以上が白飛びである参照画像)が属する。
なお、本実施の形態では、1枚目の参照画像が上記第二乃至六のグループの何れかに属する場合に、2枚目以降の参照画像撮像のための露出条件を求める。
図5のフローチャートを用いて、1枚目の参照画像のグループ分けの動作について説明する。なお、図5の各大小関係判断フローに示されている数値は一例であり、ユーザにおいて任意の値を採用できる。
特徴量抽出部22は、1枚目の参照画像の輝度値分布から取得した各特長量を、グループ判別部23へと送信する。グループ判別部23は、受信した1枚目の参照画像の特徴量(輝度値、分散値、最小極大値および最大極大値)を用いた、1枚目の参照画像のグループ判別をスタートする。
グループ判別部23は、図5に示すように、平均値が「85」以上であるか否かを判断する(ステップS11)。
平均値が「85」よりも小さい場合には(ステップS11で「no」)、次にグループ判別部23は、分散値が「1600」より小さいか否かを判断する(ステップS12)。ここで、分散値が「1600」より小さい場合には(ステップS12で「yes」)、グループ判別部23は、1枚目の参照画像が第一のグループに属すると判断する(ステップG1)。他方、分散値が「1600」以上である場合には(ステップS12で「no」)、グループ判別部23は、最大極大値が「250」より小さいか否かを判断する(ステップS13)。
最大極大値が「250」よりも小さい場合には(ステップS13で「yes」)、次にグループ判別部23は、当該最大極大値が「127.5」以上であるか否かを判断する(ステップS14)。他方、最大極大値が「250」以上である場合には(ステップS13で「no」)、グループ判別部23は、1枚目の参照画像が第三のグループに属すると判断する(ステップG3)。
なお、最大極大値が「127.5」以上である場合には(ステップS14で「yes」)、グループ判別部23は、1枚目の参照画像が第二のグループに属すると判断する(ステップG2)。他方、最大極大値が「127.5」よりも小さい場合には(ステップS14で「no」)、グループ判別部23は、1枚目の参照画像が第一のグループに属すると判断する(ステップG1)。
ステップS11に話を戻す。平均値が「85」以上である場合には(ステップS11で「yes」)、次にグループ判別部23は、輝度値が「170」より小さいか否かを判断する(ステップS15)。ここで、輝度値が「170」より小さい場合には(ステップS15で「yes」)、グループ判別部23は、1枚目の参照画像が第四のグループに属すると判断する(ステップG4)。他方、輝度値が「170」以上である場合には(ステップS15で「no」)、グループ判別部23は、分散値が「1600」より小さいか否かを判断する(ステップS16)。
分散値が「1600」より小さい場合には(ステップS16で「yes」)、グループ判別部23は、1枚目の参照画像が第七のグループに属すると判断する(ステップG7)。他方、分散値が「1600」以上である場合には(ステップS16で「no」)、グループ判別部23は、最小極大値が「15」以上であるか否かを判断する(ステップS17)。
最小極大値が「15」以上である場合には(ステップS17で「yes」)、次にグループ判別部23は、当該最小極大値が「127.5」より小さいか否かを判断する(ステップS18)。他方、最小極大値が「15」より小さい場合には(ステップS17で「no」)、グループ判別部23は、1枚目の参照画像が第五のグループに属すると判断する(ステップG5)。
なお、最小極大値が「127.5」より小さい場合には(ステップS18で「yes」)、グループ判別部23は、1枚目の参照画像が第六のグループに属すると判断する(ステップG6)。他方、最小極大値が「127.5」以上である場合には(ステップS18で「no」)、グループ判別部23は、1枚目の参照画像が第七のグループに属すると判断する(ステップG7)。
<1枚目の参照画像が第二のグループに属する場合>
次に、1枚目の参照画像が第二のグループに属する場合における、2枚目以降の参照画像(第二の参照画像)の撮像動作について図6を用いて説明する。
ここで、図6のステップG21〜G24のフローを1度実施或いは複数回繰り返し実施することにより、オーバ露出の参照画像または黒潰れ部分を含むオーバ露出の参照画像を得ることが可能となる。また、図6のステップG26〜G28のフローを1度実施或いは複数回繰り返し実施することにより、ベース露出の参照画像を得ることが可能となる。
まず、輝度値の平均値が予め設定された第一の値(任意の値を採用できるが、ここでは「170」)となるような露出条件で、上記所定の被写体を撮像する(ステップG21)。当該撮像により、2枚目の参照画像を得る。また、当該第一の値は、たとえば、オーバ露出方向のグループと判断する図5のステップS15の値を目安とされ決定される。ステップG21の詳細な動作は以下の通りである。
まず、露出条件算出部24は、輝度値の平均値が「170」(より具体的には、「170」または「170」を超える輝度値の平均値で最も「170」に近い輝度値の平均値)となるような露出条件を算出する。ここで、具体的な露出条件算出方法については、図13〜15を用いて後述する。
なお、露出条件を段階的に変化させた場合には、輝度値の平均値は離散的に変化する。たとえば、輝度値の平均値が「170」となる露出条件を算出できた場合には、露出条件算出部24は採用する露出条件を、当該算出した露出条件に決定する。これに対して、n番目の露出条件の場合に輝度値の平均値が「160」で、n+1番目の露出条件の場合に輝度値の平均値が「168」で、n+2番目の露出条件の場合に輝度値の平均値が「174」で、n+3番目の露出条件の場合に輝度値の平均値が「179」であったとする。このような場合には、露出条件算出部24は、採用する露出条件を、「170」を超える輝度値の平均値で最も「170」に近い輝度値の平均値「174」の露出条件である、n+2番目の露出条件に決定する。
露出条件算出部24が露出条件を決定すると、当該決定された露出条件により、撮像部1は、上記と同じ所定の被写体を撮像する。当該撮像により、2枚目の参照画像が取得される。なお、取得された参照画像は、ステップS2と同様に、参照画像格納部3に格納される。
次に、ステップS3と同様の動作により、輝度値分布抽出部21は、2枚目の参照画像における輝度値分布を取得する。そして、ステップS4と同様の動作により、特徴量抽出部22は、2枚目の参照画像の輝度値の特徴量(平均値、分散値、最小極大値および最大極大値)を取得する(ステップG22)。当該取得された特徴量は、グループ判別部23に送信される。
グループ判別部23では、図5と同様のフローにより、2枚目の参照画像が属するグループの判別を行う(ステップG23)。
ステップG23において、2枚目の参照画像が第七のグループに属すると判断されたとする。この場合には、デジタルカメラ100は、ステップG21のフローに戻り、3枚目の参照画像を撮像し、3枚目の参照画像に対してステップG22,G23を実施する。
ステップG23において、2枚目の参照画像が第二乃至四のグループに属すると判断されたとする。この場合には、デジタルカメラ100は、撮像部1の露出の上昇が不可能か否かを判断する(ステップG24)。露出の上昇が不可能と判断された場合には(ステップG24で「yes」)、これ以降の参照画像の取得を行わず、動作は終了する。他方、露出の上昇が可能と判断された場合には(ステップG24で「no」)、デジタルカメラ100は、ステップG21のフローに戻り、3枚目の参照画像を撮像し、3枚目の参照画像に対してステップG22,G23を実施する。露出上昇可能と判断された場合には、オーバ露出の参照画像または黒潰れ部分を含むオーバ露出の参照画像を取得できるまで、ステップG21〜G24を繰り返し実施する。
ステップG23において、2枚目の参照画像が第五または六のグループに属すると判断されたとする。この場合には、今までに、上記と同じ被写体のベース露出である参照画像を未撮影か否かを、デジタルカメラ100は判断する(ステップG25)。既にベース露出の参照画像を撮影し取得している場合には(ステップG25で「no」)、これ以降の参照画像の取得を行わず、動作は終了する。他方、未だ、ベース露出の参照画像を撮影していない場合には(ステップG25で「yes」)、ベース露出の参照画像取得のために、ステップG26に移行する。
まず、輝度値の平均値が予め設定された第二の値(任意の値を採用できるが、ここでは「127.5」)となるような露出条件で、上記所定の被写体を撮像する(ステップG26)。当該撮像により、参照画像を得る。また、当該第二の値は、たとえば、アンダー露出方向のグループと判断する図5のステップS11の値とオーバ露出方向のグループと判断する図5のステップS15の値との中間値を目安とされ決定される。ステップG26の詳細な動作は以下の通りである。
まず、露出条件算出部24は、輝度値の平均値が「127.5」(より具体的には、「127.5」または「127.5」を超える輝度値の平均値で最も「127.5」に近い輝度値の平均値)となるような露出条件を算出する。ここで、具体的な露出条件算出方法については、図13〜15を用いて後述する。露出条件算出部24が露出条件を決定すると、当該決定された露出条件により、撮像部1は、上記と同じ所定の被写体を撮像する。当該撮像により、参照画像が取得される。なお、取得された参照画像は、ステップS2と同様に、参照画像格納部3に格納される。
次に、ステップS3と同様の動作により、輝度値分布抽出部21は、ステップG26で取得した参照画像における輝度値分布を取得する。そして、ステップS4と同様の動作により、特徴量抽出部22は、ステップG26で取得した参照画像の輝度値の特徴量(平均値、分散値、最小極大値および最大極大値)を取得する(ステップG27)。当該取得された特徴量は、グループ判別部23に送信される。
グループ判別部23では、図5と同様のフローにより、ステップG26で取得された参照画像が第四のグループに属するか否かを判別する(ステップG28)。
ステップG28において、ステップG26で取得された参照画像が第四のグループに属さないと判断されたとする(ステップG28で「no」)。この場合には、デジタルカメラ100は、ステップG26のフローに戻り、さらに参照画像を撮像し、撮像した参照画像に対してステップG27,G28を実施する。ベース露出の参照画像が取得されるまで、ステップG26〜G28を繰り返し実施する。
ステップG28において、ステップG26で取得された参照画像が第四のグループに属すると判断したとする(ステップG28で「yes」)。この場合には、これ以降の参照画像の取得を行わず、動作は終了する。
図6のフロー結果、アンダー露出の参照画像、オーバ露出の参照画像(または、黒潰れ部分を含むオーバ露出の参照画像)およびベース露出の参照画像が得られたとする。この場合には、ハイダイナミックレンジ画像生成部4は、参照画像格納部3に格納されているこれらの参照画像を合成することにより、ハイダイナミックレンジ画像を生成する。
<1枚目の参照画像が第六のグループに属する場合>
次に、1枚目の参照画像が第六のグループに属する場合における、2枚目以降の参照画像(第二の参照画像)の撮像動作について図7を用いて説明する。
ここで、図7のステップG61〜G64のフローを1度実施或いは複数回繰り返し実施することにより、アンダー露出の参照画像または白飛び部分を含むアンダー露出の参照画像を得ることが可能となる。また、図7のステップG66〜G68のフローを1度実施或いは複数回繰り返し実施することにより、ベース露出の参照画像を得ることが可能となる。
まず、輝度値の平均値が予め設定された第一の値(任意の値を採用できるが、ここでは「85」より小さい値で、当該「85」に最も近い値)となるような露出条件で、上記所定の被写体を撮像する(ステップG61)。当該撮像により、2枚目の参照画像を得る。また、当該第一の値は、たとえば、アンダー露出方向のグループと判断する図5のステップS11の値を目安とされ決定される。ステップG61の詳細な動作は以下の通りである。
まず、露出条件算出部24は、輝度値の平均値が「85」よりも小さい値で当該「85」に最も近い値となるような露出条件を算出する。ここで、具体的な露出条件算出方法については、図13〜15を用いて後述する。
なお、露出条件を段階的に変化させた場合には、輝度値の平均値は離散的に変化する。たとえば、n番目の露出条件の場合に輝度値の平均値が「80」で、n+1番目の露出条件の場合に輝度値の平均値が「84」で、n+2番目の露出条件の場合に輝度値の平均値が「89」であったとする。このような場合には、露出条件算出部24は、採用する露出条件を、「85」より小さい値で当該「85」に最も近い値の平均値「84」の露出条件である、n+1番目の露出条件に決定する。
露出条件算出部24が露出条件を決定すると、当該決定された露出条件により、撮像部1は、上記と同じ所定の被写体を撮像する。当該撮像により、2枚目の参照画像が取得される。なお、取得された参照画像は、ステップS2と同様に、参照画像格納部3に格納される。
次に、ステップS3と同様の動作により、輝度値分布抽出部21は、2枚目の参照画像における輝度値分布を取得する。そして、ステップS4と同様の動作により、特徴量抽出部22は、2枚目の参照画像の輝度値の特徴量(平均値、分散値、最小極大値および最大極大値)を取得する(ステップG62)。当該取得された特徴量は、グループ判別部23に送信される。
グループ判別部23では、図5と同様のフローにより、2枚目の参照画像が属するグループの判別を行う(ステップG63)。
ステップG63において、2枚目の参照画像が第一のグループに属すると判断されたとする。この場合には、デジタルカメラ100は、ステップG61のフローに戻り、3枚目の参照画像を撮像し、3枚目の参照画像に対してステップG62,G63を実施する。
ステップG63において、2枚目の参照画像が第四乃至六のグループに属すると判断されたとする。この場合には、デジタルカメラ100は、撮像部1の露出の下降が不可能か否かを判断する(ステップG64)。露出の下降が不可能と判断された場合には(ステップG64で「yes」)、これ以降の参照画像の取得を行わず、動作は終了する。他方、露出の下降が可能と判断された場合には(ステップG64で「no」)、デジタルカメラ100は、ステップG61のフローに戻り、3枚目の参照画像を撮像し、3枚目の参照画像に対してステップG62,G63を実施する。露出下降可能と判断された場合には、アンダー露出の参照画像または白飛び部分を含むアンダー露出の参照画像を取得できるまで、ステップG61〜G64を繰り返し実施する。
ステップG63において、2枚目の参照画像が第二または三のグループに属すると判断されたとする。この場合には、今までに、上記と同じ被写体のベース露出である参照画像を未撮影か否かを、デジタルカメラ100は判断する(ステップG65)。既にベース露出の参照画像を撮影し取得している場合には(ステップG65で「no」)、これ以降の参照画像の取得を行わず、動作は終了する。他方、未だ、ベース露出の参照画像を撮影していない場合には(ステップG65で「yes」)、ベース露出の参照画像取得のために、ステップG66に移行する。
まず、輝度値の平均値が予め設定された第二の値(任意の値を採用できるが、ここでは「127.5」より小さい値で「127.5」に最も近い値)となるような露出条件で、上記所定の被写体を撮像する(ステップG66)。また、当該第二の値は、たとえば、アンダー露出方向のグループと判断する図5のステップS11の値とオーバ露出方向のグループと判断する図5のステップS15の値との中間値を目安とされ決定される。当該撮像により、参照画像を得る。ステップG66の詳細な動作は以下の通りである。
まず、露出条件算出部24は、輝度値の平均値が「127.5」より小さい値で「127.5」に最も近い値となるような露出条件を算出する。ここで、具体的な露出条件算出方法については、図13〜15を用いて後述する。露出条件算出部24が露出条件を決定すると、当該決定された露出条件により、撮像部1は、上記と同じ所定の被写体を撮像する。当該撮像により、参照画像が取得される。なお、取得された参照画像は、ステップS2と同様に、参照画像格納部3に格納される。
次に、ステップS3と同様の動作により、輝度値分布抽出部21は、ステップG66で取得した参照画像における輝度値分布を取得する。そして、ステップS4と同様の動作により、特徴量抽出部22は、ステップG66で取得した参照画像の輝度値の特徴量(平均値、分散値、最小極大値および最大極大値)を取得する(ステップG67)。当該取得された特徴量は、グループ判別部23に送信される。
グループ判別部23では、図5と同様のフローにより、ステップG66で取得された参照画像が第四のグループに属するか否かを判別する(ステップG68)。
ステップG68において、ステップG66で取得された参照画像が第四のグループに属さないと判断されたとする(ステップG68で「no」)。この場合には、デジタルカメラ100は、ステップG66のフローに戻り、さらに参照画像を撮像し、撮像した参照画像に対してステップG67,G68を実施する。ベース露出の参照画像が取得されるまで、ステップG66〜G68を繰り返し実施する。
ステップG68において、ステップG66で取得された参照画像が第四のグループに属すると判断したとする(ステップG68で「yes」)。この場合には、これ以降の参照画像の取得を行わず、動作は終了する。
図7のフロー結果、アンダー露出の参照画像(または、白飛び部分を含むアンダー露出の参照画像)、オーバ露出の参照画像およびベース露出の参照画像が得られたとする。この場合には、ハイダイナミックレンジ画像生成部4は、参照画像格納部3に格納されているこれらの参照画像を合成することにより、ハイダイナミックレンジ画像を生成する。
<1枚目の参照画像が第三のグループに属する場合>
次に、1枚目の参照画像が第三のグループに属する場合における、2枚目以降の参照画像(第二の参照画像)の撮像動作について図8を用いて説明する。
ここで、図8のステップG301〜G305のフローを1度実施或いは複数回繰り返し実施することにより、白飛び部分を補正する参照画像を得ることが可能となる。また、図8のステップG308〜G312のフローを1度実施或いは複数回繰り返し実施することにより、黒潰れ部分を補正する参照画像を得ることが可能となる。さらに、図8のステップG313〜G317のフローを1度実施或いは複数回繰り返し実施することにより、オーバ露出の参照画像を得ることが可能となる。
ステップG301〜G305により、輝度値の最大極大値が所定の範囲内(任意に設定可能であるが、ここでは170≦最大極大値<250)となるような露出条件で撮像を行い、白飛び部分を補正する参照画像を得る。なお、ステップG301〜G304の各値は、白飛び部分を補正する最適な参照画像を得るという観点から、事前に実験的に決定された値である。
具体的にまず、露出条件算出部24は、輝度値の最大極大値が「210」よりも小さい値で当該「210」に最も近い値となるような露出条件を算出する。ここで、具体的な露出条件算出方法については、図13〜15を用いて後述する。露出条件算出部24が露出条件を決定すると、当該決定された露出条件により、撮像部1は、上記と同じ所定の被写体を撮像する(ステップG301)。当該撮像により、2枚目の参照画像が取得される。なお、取得された参照画像は、ステップS2と同様に、参照画像格納部3に格納される。
次に、ステップS3と同様の動作により、輝度値分布抽出部21は、2枚目の参照画像における輝度値分布を取得する。そして、ステップS4と同様の動作により、特徴量抽出部22は、2枚目の参照画像の輝度値の特徴量(平均値、分散値、最小極大値および最大極大値)を取得する(ステップG302)。当該取得された特徴量は、グループ判別部23に送信される。
グループ判別部23では、ステップG303,G304において、受信した特徴量(具体的には最大極大値)を用いて、当該最大極大値が予め設定された上記所定の範囲内(170≦最大極大値<250)となるか否かを判断する。
具体的に、グループ判別部23は、まずステップG302で取得した最大極大値が「170」以上であるか否かを判断する(ステップG303)。
最大極大値が「170」より小さい場合には(ステップS303で、「no」)、デジタルカメラ100は、ステップG301のフローに戻り、輝度値の最大極大値が「170」以上となるような参照画像を取得するまで、ステップG301〜G303のフローを繰り返し実施する。これに対して、最大極大値が「170」以上である場合には(ステップS303で、「yes」)、グループ判別部23は、まずステップG302で取得した最大極大値が「250」より小さいか否かを判断する(ステップG304)。
最大極大値が「250」より小さい場合には(ステップS304で、「yes」)、デジタルカメラ100は、最大極大値が上記所定の範囲内(170≦最大極大値<250)となるような参照画像(換言すれば、白飛び部分を補正する参照画像)を取得したことになるので、ステップG306に移行する。これに対して、最大極大値が「250」以上である場合には(ステップS304で、「no」)、デジタルカメラ100は、撮像部1の露出の下降が不可能か否かを判断する(ステップG305)。
露出の下降が不可能と判断された場合には(ステップG305で「yes」)、白飛び部分を補正する参照画像の取得を中止し、ステップG306へ移行する。他方、露出の下降が可能と判断された場合には(ステップG305で「no」)、デジタルカメラ100は、ステップG301のフローに戻り、露出下降可能と判断される限り、最大極大値が上記所定の範囲内(170≦最大極大値<250)となるような参照画像(換言すれば、白飛び部分を補正する参照画像)を取得できるまで、ステップG301〜G305を繰り返し実施する。
さて、ステップG306では、グループ判別部23は、1枚目の参照画像の特徴量を再度読み込む。当該ステップG306のフローを可能せしめるためには、1枚目の参照画像の特徴量を、たとえば特徴量抽出部22が格納していることが必要である。
次に、グループ判別部23は、再度読み込んだ最小極大値を用いて、当該最小極大値が第一の値(当該値は任意に設定できるが、ここでは「48」)より小さいか否かの判断を行う(ステップG307)。当該最小極大値を用いたステップG307のフローは、1枚目の参照画像に黒潰れ部分を有するか否かの判断ステップである。なお、ステップG307の値は、参照画像に黒潰れ部分を有すると判断できる或いはできないという閾値的値であり、当該観点から事前に実験的に決定された値である。
最小極大値が「48」より小さいと判断した場合には(ステップG307で「yes」)、1枚目の参照画像に黒潰れ部分を有するので、ステップG308〜G312のフローを実施する。当該ステップG308〜G312では、輝度値の最小極大値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは48≦最小極大値<128)となるような露出条件で撮像を行い、1枚目の参照画像における黒潰れ部分を補正する参照画像を得る。なお、ステップG308〜G311の各値は、黒潰れ部分を補正する最適な参照画像を得るという観点から、事前に実験的に決定された値である。
具体的にまず、露出条件算出部24は、輝度値の最小極大値が「88」または「88」より大きい値で「88」に最も近い値となるような露出条件を算出する。ここで、具体的な露出条件算出方法については、図13〜15を用いて後述する。露出条件算出部24が露出条件を決定すると、当該決定された露出条件により、撮像部1は、上記と同じ所定の被写体を撮像する(ステップG308)。当該撮像により参照画像が取得され、取得された参照画像は、ステップS2と同様に参照画像格納部3に格納される。
次に、ステップS3と同様の動作により、輝度値分布抽出部21は、ステップG308で取得した参照画像における輝度値分布を取得する。そして、ステップS4と同様の動作により、特徴量抽出部22は、ステップG308で取得した参照画像の輝度値の特徴量(平均値、分散値、最小極大値および最大極大値)を取得する(ステップG309)。当該取得された特徴量は、グループ判別部23に送信される。
グループ判別部23では、ステップG310,G311において、受信した特徴量(具体的には最小極大値)を用いて、当該最小極大値が上記所定の範囲内(48≦最小極大値<128)となるか否かを判断する。
具体的に、グループ判別部23は、まずステップG309で取得した最小極大値が「128」より小さいか否かを判断する(ステップG310)。
最小極大値が「128」以上である場合には(ステップS310で、「no」)、デジタルカメラ100は、ステップG308のフローに戻り、輝度値の最小極大値が「128」より小さくなるような参照画像を取得するまで、ステップG308〜G310のフローを繰り返し実施する。これに対して、最小極大値が「128」より小さい場合には(ステップS310で、「yes」)、グループ判別部23は、まずステップG309で取得した最小極大値が「48」以上であるか否かを判断する(ステップG311)。
最小極大値が「48」以上である場合には(ステップS311で、「yes」)、デジタルカメラ100は、最小極大値が上記所定の範囲内(48≦最小極大値<128)となるような参照画像(換言すれば、黒潰れ部分を補正する参照画像)を取得したことになるので、これ以降の参照画像の取得を行わず、動作は終了する。これに対して、最小極大値が「48」より小さい場合には(ステップS311で、「no」)、デジタルカメラ100は、撮像部1の露出の上昇が不可能か否かを判断する(ステップG312)。
露出の上昇が不可能と判断された場合には(ステップG312で「yes」)、黒潰れ部分を補正する参照画像の取得を中止し、これ以降の参照画像の取得を行わず、動作は終了する。他方、露出の上昇が可能と判断された場合には(ステップG312で「no」)、デジタルカメラ100は、ステップG308のフローに戻り、露出上昇可能と判断される限り、最小極大値が上記所定の範囲内(48≦最小極大値<128)となるような参照画像(換言すれば、黒潰れ部分を補正する参照画像)を取得できるまで、ステップG308〜G312を繰り返し実施する。
ステップG307に話を戻す。最小極大値が「48」以上であると判断した場合には(ステップG307で「no」)、1枚目の参照画像に黒潰れ部分が無いと判断できるので、ステップG313〜G317のフローを実施する。当該ステップG313〜G317では、輝度値の平均値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは127.5≦平均値<170)となるような露出条件で撮像を行い、オーバ露出の参照画像を得る。なお、ステップG313〜G316の各値は、オーバ露出の参照画像を得るという観点から、事前に実験的に決定された値である。ステップG315およびG316の各値は、たとえば図5のステップS11の値、ステップS15の値を参考に決定することもできる(ステップG316の値は、たとえばステップS11の値とステップS15の値との中間値)。
具体的にまず、露出条件算出部24は、輝度値の平均値が「148.75」または「148.75」より大きい値で「148.75」に最も近い値となるような露出条件を算出する。ここで、具体的な露出条件算出方法については、図13〜15を用いて後述する。露出条件算出部24が露出条件を決定すると、当該決定された露出条件により、撮像部1は、上記と同じ所定の被写体を撮像する(ステップG313)。当該撮像により参照画像が取得され、取得された参照画像は、ステップS2と同様に参照画像格納部3に格納される。
次に、ステップS3と同様の動作により、輝度値分布抽出部21は、ステップG313で取得した参照画像における輝度値分布を取得する。そして、ステップS4と同様の動作により、特徴量抽出部22は、ステップG313で取得した参照画像の輝度値の特徴量(平均値、分散値、最小極大値および最大極大値)を取得する(ステップG314)。当該取得された特徴量は、グループ判別部23に送信される。
グループ判別部23では、ステップG315,G316において、受信した特徴量(具体的には平均値)を用いて、当該平均値が上記所定の範囲内(127.5≦平均値<170)となるか否かを判断する。
具体的に、グループ判別部23は、まずステップG314で取得した平均値が「170」より小さいか否かを判断する(ステップG315)。
平均値が「170」以上である場合には(ステップS315で、「no」)、デジタルカメラ100は、ステップG313のフローに戻り、輝度値の平均値が「170」より小さくなるような参照画像を取得するまで、ステップG313〜G315のフローを繰り返し実施する。これに対して、平均値が「170」より小さい場合には(ステップS315で、「yes」)、グループ判別部23は、まずステップG314で取得した平均値が「127.5」以上であるか否かを判断する(ステップG316)。
平均値が「127.5」以上である場合には(ステップS316で、「yes」)、デジタルカメラ100は、平均値が上記所定の範囲内(127.5≦平均値<170)となるような参照画像(換言すれば、オーバ露出の参照画像)を取得したことになるので、これ以降の参照画像の取得を行わず、動作は終了する。これに対して、輝度値が「127.5」より小さい場合には(ステップS316で、「no」)、デジタルカメラ100は、撮像部1の露出の上昇が不可能か否かを判断する(ステップG317)。
露出の上昇が不可能と判断された場合には(ステップG317で「yes」)、オーバ露出の参照画像の取得を中止し、これ以降の参照画像の取得を行わず、動作は終了する。他方、露出の上昇が可能と判断された場合には(ステップG317で「no」)、デジタルカメラ100は、ステップG313のフローに戻り、露出上昇可能と判断される限り、平均値が上記所定の範囲内(127.5≦平均値<170)となるような参照画像(換言すれば、オーバ露出の参照画像)を取得できるまで、ステップG313〜G317を繰り返し実施する。
図8のフロー結果、白飛び部分を補正することができる参照画像、黒潰れ部分を補正することができる参照画像およびオーバ露出の参照画像の内の何れか1以上が得られたとする。この場合には、ハイダイナミックレンジ画像生成部4は、参照画像格納部3に格納されている前記得られた参照画像および1枚目の参照画像である白飛び部分を含むアンダー露出の参照画像を合成することにより、ハイダイナミックレンジ画像を生成する。
<1枚目の参照画像が第五のグループに属する場合>
次に、1枚目の参照画像が第五のグループに属する場合における、2枚目以降の参照画像(第二の参照画像)の撮像動作について図9を用いて説明する。
ここで、図9のステップG501〜G505のフローを1度実施或いは複数回繰り返し実施することにより、黒潰れ部分を補正する参照画像を得ることが可能となる。また、図9のステップG508〜G512のフローを1度実施或いは複数回繰り返し実施することにより、白飛び部分を補正する参照画像を得ることが可能となる。さらに、図9のステップG513〜G517のフローを1度実施或いは複数回繰り返し実施することにより、アンダー露出の参照画像を得ることが可能となる。
ステップG501〜G505により、輝度値の最小極大値が所定の範囲内(任意に設定可能であるが、ここでは15≦最小極大値<85)となるような露出条件で撮像を行い、黒潰れ部分を補正する参照画像を得る。なお、ステップG501〜G505の各値は、黒潰れ部分を補正する最適な参照画像を得るという観点から、事前に実験的に決定された値である。
具体的にまず、露出条件算出部24は、輝度値の最小極大値が「50」あるいは「50」よりも大きい値で当該「50」に最も近い値となるような露出条件を算出する。ここで、具体的な露出条件算出方法については、図13〜15を用いて後述する。露出条件算出部24が露出条件を決定すると、当該決定された露出条件により、撮像部1は、上記と同じ所定の被写体を撮像する(ステップG501)。当該撮像により、2枚目の参照画像が取得される。なお、取得された参照画像は、ステップS2と同様に、参照画像格納部3に格納される。
次に、ステップS3と同様の動作により、輝度値分布抽出部21は、2枚目の参照画像における輝度値分布を取得する。そして、ステップS4と同様の動作により、特徴量抽出部22は、2枚目の参照画像の輝度値の特徴量(平均値、分散値、最小極大値および最大極大値)を取得する(ステップG502)。当該取得された特徴量は、グループ判別部23に送信される。
グループ判別部23では、ステップG503,G504において、受信した特徴量(具体的には最小極大値)を用いて、当該最小極大値が予め設定された上記所定の範囲内(15≦最小極大値<85)となるか否かを判断する。
具体的に、グループ判別部23は、まずステップG502で取得した最小極大値が「85」より小さいか否かを判断する(ステップG503)。
最小極大値が「85」以上である場合には(ステップS503で、「no」)、デジタルカメラ100は、ステップG501のフローに戻り、輝度値の最小極大値が「85」より小さくなるような参照画像を取得するまで、ステップG501〜G503のフローを繰り返し実施する。これに対して、最小極大値が「85」より小さい場合には(ステップS503で、「yes」)、グループ判別部23は、まずステップG502で取得した最小極大値が「15」以上であるか否かを判断する(ステップG504)。
最小極大値が「15」以上である場合には(ステップS504で、「yes」)、デジタルカメラ100は、最小極大値が上記所定の範囲内(15≦最小極大値<85)となるような参照画像(換言すれば、黒潰れ部分を補正する参照画像)を取得したことになるので、ステップG506に移行する。これに対して、最小極大値が「15」より小さい場合には(ステップS504で、「no」)、デジタルカメラ100は、撮像部1の露出の上昇が不可能か否かを判断する(ステップG505)。
露出の上昇が不可能と判断された場合には(ステップG505で「yes」)、黒潰れ部分を補正する参照画像の取得を中止し、ステップG506へ移行する。他方、露出の上昇が可能と判断された場合には(ステップG505で「no」)、デジタルカメラ100は、ステップG501のフローに戻り、露出上昇可能と判断される限り、最小極大値が上記所定の範囲内(15≦最小極大値<85)となるような参照画像(換言すれば、黒潰れ部分を補正する参照画像)を取得できるまで、ステップG501〜G505を繰り返し実施する。
さて、ステップG506では、グループ判別部23は、1枚目の参照画像の特徴量を再度読み込む。当該ステップG506のフローを可能せしめるためには、1枚目の参照画像の特徴量を、たとえば特徴量抽出部22が格納していることが必要である。
次に、グループ判別部23は、再度読み込んだ最大極大値を用いて、当該最大極大値が第一の値(当該値は任意に設定できるが、ここでは「208」)以上であるか否かの判断を行う(ステップG507)。当該最大極大値を用いたステップG507のフローは、1枚目の参照画像に白飛び部分を有するか否かの判断ステップである。なお、ステップG507の値は、参照画像に白飛び部分を有すると判断できる或いはできないという閾値的値であり、当該観点より事前に実験的に決定された値である。
最大極大値が「208」以上であると判断した場合には(ステップG507で「yes」)、1枚目の参照画像に白飛び部分を有するので、ステップG508〜G512のフローを実施する。当該ステップG508〜G512では、輝度値の最大極大値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは128≦最大極大値<208)となるような露出条件で撮像を行い、1枚目の参照画像における白飛び部分を補正する参照画像を得る。なお、ステップG508〜G512の各値は、白飛び部分を補正する最適な参照画像を得るという観点から、事前に実験的に決定された値である。
具体的にまず、露出条件算出部24は、輝度値の最大極大値が「168」より小さい値で「168」に最も近い値となるような露出条件を算出する。ここで、具体的な露出条件算出方法については、図13〜15を用いて後述する。露出条件算出部24が露出条件を決定すると、当該決定された露出条件により、撮像部1は、上記と同じ所定の被写体を撮像する(ステップG508)。当該撮像により参照画像が取得され、取得された参照画像は、ステップS2と同様に参照画像格納部3に格納される。
次に、ステップS3と同様の動作により、輝度値分布抽出部21は、ステップG508で取得した参照画像における輝度値分布を取得する。そして、ステップS4と同様の動作により、特徴量抽出部22は、ステップG508で取得した参照画像の輝度値の特徴量(平均値、分散値、最小極大値および最大極大値)を取得する(ステップG509)。当該取得された特徴量は、グループ判別部23に送信される。
グループ判別部23では、ステップG510,G511において、受信した特徴量(具体的には最大極大値)を用いて、当該最大極大値が上記所定の範囲内(128≦最大極大値<208)となるか否かを判断する。
具体的に、グループ判別部23は、まずステップG509で取得した最大極大値が「128」以上であるか否かを判断する(ステップG510)。
最大極大値が「128」より小さい場合には(ステップS510で、「no」)、デジタルカメラ100は、ステップG508のフローに戻り、輝度値の最大極大値が「128」以上となるような参照画像を取得するまで、ステップG508〜G510のフローを繰り返し実施する。これに対して、最大極大値が「128」以上である場合には(ステップS510で、「yes」)、グループ判別部23は、まずステップG509で取得した最大極大値が「208」より小さいか否かを判断する(ステップG511)。
最大極大値が「208」より小さい場合には(ステップS511で、「yes」)、デジタルカメラ100は、最大極大値が上記所定の範囲内(128≦最大極大値<208)となるような参照画像(換言すれば、白飛び部分を補正する参照画像)を取得したことになるので、これ以降の参照画像の取得を行わず、動作は終了する。これに対して、最大極大値が「208」以上である場合には(ステップS511で、「no」)、デジタルカメラ100は、撮像部1の露出の下降が不可能か否かを判断する(ステップG512)。
露出の下降が不可能と判断された場合には(ステップG512で「yes」)、白飛び部分を補正する参照画像の取得を中止し、これ以降の参照画像の取得を行わず、動作は終了する。他方、露出の下降が可能と判断された場合には(ステップG512で「no」)、デジタルカメラ100は、ステップG508のフローに戻り、露出下降可能と判断される限り、最大極大値が上記所定の範囲内(128≦最大極大値<208)となるような参照画像(換言すれば、白飛び部分を補正する参照画像)を取得できるまで、ステップG508〜G512を繰り返し実施する。
ステップG507に話を戻す。最大極大値が「208」より小さいと判断した場合には(ステップG507で「no」)、1枚目の参照画像に白飛び部分が無いと判断できるので、ステップG513〜G517のフローを実施する。当該ステップG513〜G517では、輝度値の平均値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは85≦平均値<127.5)となるような露出条件で撮像を行い、アンダー露出の参照画像を得る。なお、ステップG513〜G516の各値は、アンダー露出の参照画像を得るという観点から、事前に実験的に決定された値である。ステップG515およびG516の各値は、たとえば図5のステップS11の値、ステップS15の値を参考に決定することもできる(ステップG516の値は、たとえばステップS11の値とステップS15の値との中間値)。
具体的にまず、露出条件算出部24は、輝度値の平均値が「106.25」より小さい値で「106.25」に最も近い値となるような露出条件を算出する。ここで、具体的な露出条件算出方法については、図13〜15を用いて後述する。露出条件算出部24が露出条件を決定すると、当該決定された露出条件により、撮像部1は、上記と同じ所定の被写体を撮像する(ステップG513)。当該撮像により参照画像が取得され、取得された参照画像は、ステップS2と同様に参照画像格納部3に格納される。
次に、ステップS3と同様の動作により、輝度値分布抽出部21は、ステップG513で取得した参照画像における輝度値分布を取得する。そして、ステップS4と同様の動作により、特徴量抽出部22は、ステップG513で取得した参照画像の輝度値の特徴量(平均値、分散値、最小極大値および最大極大値)を取得する(ステップG514)。当該取得された特徴量は、グループ判別部23に送信される。
グループ判別部23では、ステップG515,G516において、受信した特徴量(具体的には平均値)を用いて、当該平均値が上記所定の範囲内(85≦平均値<127.5)となるか否かを判断する。
具体的に、グループ判別部23は、まずステップG514で取得した平均値が「85」以上であるか否かを判断する(ステップG515)。
平均値が「85」より小さい場合には(ステップS515で、「no」)、デジタルカメラ100は、ステップG513のフローに戻り、輝度値の平均値が「85」以上となるような参照画像を取得するまで、ステップG513〜G515のフローを繰り返し実施する。これに対して、平均値が「85」より小さい場合には(ステップS515で、「yes」)、グループ判別部23は、まずステップG514で取得した平均値が「127.5」より小さいか否かを判断する(ステップG516)。
平均値が「127.5」より小さい場合には(ステップS516で、「yes」)、デジタルカメラ100は、平均値が上記所定の範囲内(85≦平均値<127.5)となるような参照画像(換言すれば、アンダー露出の参照画像)を取得したことになるので、これ以降の参照画像の取得を行わず、動作は終了する。これに対して、輝度値が「127.5」以上である場合には(ステップS516で、「no」)、デジタルカメラ100は、撮像部1の露出の下降が不可能か否かを判断する(ステップG517)。
露出の下降が不可能と判断された場合には(ステップG517で「yes」)、アンダー露出の参照画像の取得を中止し、これ以降の参照画像の取得を行わず、動作は終了する。他方、露出の下降が可能と判断された場合には(ステップG517で「no」)、デジタルカメラ100は、ステップG513のフローに戻り、露出下降可能と判断される限り、平均値が上記所定の範囲内(85≦平均値<127.5)となるような参照画像(換言すれば、アンダー露出の参照画像)を取得できるまで、ステップG513〜G517を繰り返し実施する。
図9のフロー結果、黒潰れ部分を補正することができる参照画像、白飛び部分を補正することができる参照画像およびアンダー露出の参照画像の内の何れか1以上が得られたとする。この場合には、ハイダイナミックレンジ画像生成部4は、参照画像格納部3に格納されている前記得られた参照画像および1枚目の参照画像である黒飛び部分を含むオーバ露出の参照画像を合成することにより、ハイダイナミックレンジ画像を生成する。
<1枚目の参照画像が第四のグループに属する場合>
次に、1枚目の参照画像が第四のグループに属する場合における、2枚目以降の参照画像(第二の参照画像)の撮像動作については、図10,11,12に示す。
まず、図10において、グループ判別部23は、1枚目の参照画像から取得した輝度値の平均値が「127.5(他の値であっても良い)」以上であるか否かを判断する(ステップG401)。当該平均値が「127.5」以上である場合には(ステップG401で「yes」)、図11のフローチャートへと移行する。他方、当該平均値が「127.5」より小さい場合には(ステップG401で「no」)、図12のフローチャートへと移行する。
次に、図11のフローチャートについて説明する。
グループ判別部23は、1枚目の参照画像から取得した輝度値の最大極大値が第一の値(当該値は任意に設定できるが、ここでは「208」)以上であるか否かの判断を行う(ステップG402)。当該最大極大値を用いたステップG402のフローは、図9のステップG507と同様に、1枚目の参照画像に白飛び部分を有するか否かの判断ステップである。
最大極大値が「208」以上であると判断した場合には(ステップG402で「yes」)、1枚目の参照画像に白飛び部分を有するので、ステップG403〜G407のフローを実施する。当該ステップG403〜G407では、輝度値の最大極大値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは128≦最大極大値<208)となるような露出条件で撮像を行い、1枚目の参照画像における白飛び部分を補正する参照画像を得る。なお、当該ステップG403〜G407のフローは、図9のステップG508〜G512のフローと同じである。したがって、当該ステップG403〜G407のフローの詳細な説明は、省略する。
他方、最大極大値が「208」より小さいと判断した場合には(ステップG402で「no」)、1枚目の参照画像に白飛び部分が無いと判断できるので、ステップG408〜G412のフローを実施する。当該ステップG408〜G412では、輝度値の平均値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは55≦平均値<85)となるような露出条件で撮像を行い、アンダー露出の参照画像を得る。なお、当該ステップG408〜G412のフローは、図9のステップG513〜G517のフローと、各フロー内の数値は異なるものの、フローの内容は同様である。したがって、当該ステップG408〜G412のフローの詳細な説明は、省略する。
ステップG413では、グループ判別部23は、1枚目の参照画像から取得した特徴量を再度読み込む。そして、グループ判別部23は、当該読み込んだ特徴量の一つである輝度値の最小極大値が第二の値(当該値は任意に設定できるが、ここでは「15」)より小さいか否かの判断を行う(ステップG414)。当該最小極大値を用いたステップG414のフローは、図8のステップG307と同様に、1枚目の参照画像に黒潰れ部分を有するか否かの判断ステップである。
最小極大値が「15」より小さいと判断した場合には(ステップG414で「yes」)、1枚目の参照画像に黒潰れ部分を有するので、ステップG415〜G419のフローを実施する。当該ステップG415〜G419では、輝度値の最小極大値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは15≦最小極大値<85)となるような露出条件で撮像を行い、1枚目の参照画像における黒潰れ部分を補正する参照画像を得る。なお、当該ステップG415〜G419のフローは、図9のステップG501〜G505のフローと同じである。したがって、当該ステップG415〜G419のフローの詳細な説明は、省略する。
他方、最小極大値が「15」以上であると判断した場合には(ステップG414で「no」)、1枚目の参照画像に黒潰れ部分が無いと判断できるので、ステップG420〜G424のフローを実施する。当該ステップG420〜G424では、輝度値の平均値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは170≦平均値<200)となるような露出条件で撮像を行い、オーバ露出の参照画像を得る。なお、当該ステップG420〜G424のフローは、図8のステップG313〜G317のフローと、各フロー内の数値は異なるものの、フローの内容は同様である。したがって、当該ステップG420〜G424のフローの詳細な説明は、省略する。
図11のフロー結果、黒潰れ部分を補正することができる参照画像、白飛び部分を補正することができる参照画像、オーバ露出の参照画像およびアンダー露出の参照画像の内の何れか1以上が得られたとする。この場合には、ハイダイナミックレンジ画像生成部4は、参照画像格納部3に格納されている前記得られた参照画像および1枚目の参照画像であるベース露出の参照画像を合成することにより、ハイダイナミックレンジ画像を生成する。
次に、図12のフローチャートについて説明する。
グループ判別部23は、1枚目の参照画像から取得した輝度値の最大極大値が第一の値(当該値は任意に設定できるが、ここでは「250」)以上であるか否かの判断を行う(ステップG430)。当該最大極大値を用いたステップG430のフローは、図9のステップG507と同様に、1枚目の参照画像に白飛び部分を有するか否かの判断ステップである。
最大極大値が「250」以上であると判断した場合には(ステップG430で「yes」)、1枚目の参照画像に白飛び部分を有するので、ステップG431〜G435のフローを実施する。当該ステップG431〜G435では、輝度値の最大極大値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは170≦最大極大値<250)となるような露出条件で撮像を行い、1枚目の参照画像における白飛び部分を補正する参照画像を得る。なお、当該ステップG431〜G435のフローは、図8のステップG301〜G305のフローと同じである。したがって、当該ステップG431〜G435のフローの詳細な説明は、省略する。
他方、最大極大値が「250」より小さいと判断した場合には(ステップG430で「no」)、1枚目の参照画像に白飛び部分が無いと判断できるので、ステップG436〜G440のフローを実施する。当該ステップG436〜G440では、輝度値の平均値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは55≦平均値<85)となるような露出条件で撮像を行い、アンダー露出の参照画像を得る。なお、当該ステップG436〜G440のフローは、図9のステップG513〜G517のフローと、各フロー内の数値は異なるものの、フローの内容は同様である。したがって、当該ステップG436〜G440のフローの詳細な説明は、省略する。
ステップG441では、グループ判別部23は、1枚目の参照画像から取得した特徴量を再度読み込む。そして、グループ判別部23は、当該読み込んだ特徴量の一つである輝度値の最小極大値が第二の値(当該値は任意に設定できるが、ここでは「48」)より小さいか否かの判断を行う(ステップG442)。当該最小極大値を用いたステップG442のフローは、図8のステップG307と同様に、1枚目の参照画像に黒潰れ部分を有するか否かの判断ステップである。
最小極大値が「48」より小さいと判断した場合には(ステップG442で「yes」)、1枚目の参照画像に黒潰れ部分を有するので、ステップG443〜G447のフローを実施する。当該ステップG443〜G447では、輝度値の最小極大値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは48≦最小極大値<128)となるような露出条件で撮像を行い、1枚目の参照画像における黒潰れ部分を補正する参照画像を得る。なお、当該ステップG443〜G447のフローは、図8のステップG308〜G312のフローと同じである。したがって、当該ステップG443〜G447のフローの詳細な説明は、省略する。
他方、最小極大値が「48」以上であると判断した場合には(ステップG442で「no」)、1枚目の参照画像に黒潰れ部分が無いと判断できるので、ステップG448〜G452のフローを実施する。当該ステップG448〜G452では、輝度値の平均値が、予め設定された所定の範囲内(任意に設定可能であるが、ここでは170≦平均値<200)となるような露出条件で撮像を行い、オーバ露出の参照画像を得る。なお、当該ステップG448〜G452のフローは、図8のステップG313〜G317のフローと、各フロー内の数値は異なるものの、フローの内容は同様である。したがって、当該ステップG448〜G452のフローの詳細な説明は、省略する。
図12のフロー結果、黒潰れ部分を補正することができる参照画像、白飛び部分を補正することができる参照画像、オーバ露出の参照画像およびアンダー露出の参照画像の内の何れか1以上が得られたとする。この場合には、ハイダイナミックレンジ画像生成部4は、参照画像格納部3に格納されている前記得られた参照画像および1枚目の参照画像であるベース露出の参照画像を合成することにより、ハイダイナミックレンジ画像を生成する。
<露出条件の算出>
ステップG21、G26,G61,G66,G301,G308,G313,G501,G508,G513,G403,G408,G415,G420,G431,G436,G443,G448の各撮像(撮影)ステップでは、露出条件の算出を行う。以下、露出条件算出部24で実施される当該露出条件の算出方法の具体的な説明を、図13,14,15を用いて行う。
まず、図13のフローチャートについて説明する。
上記列記の各撮像ステップにおいて、露出条件算出部24は、当該撮像ステップにおいて撮像することとなる所定の被写体に関する参照画像の枚数が2枚目となるか否かを判断する(ステップS51)。
露出条件算出部24が、当該撮像ステップにおいて撮像される参照画像が2枚目となると判断したとする。換言すれば、露出条件算出部24が、当該撮像ステップ到達時までに、既に1枚目の参照画像のみを撮像していると判断したとする。この場合には(ステップS51で「yes」)、ステップS52に移行して、露出条件算出部24は図14に示す動作を開始する。
他方、露出条件算出部24が、当該撮像ステップにおいて撮像される参照画像が3枚目以降となると判断したとする。換言すれば、露出条件算出部24が、当該撮像ステップ到達時までに、既に、少なくとも1枚目の参照画像および2枚目の参照画像を撮像していると判断したとする。この場合には(ステップS51で「no」)、露出条件算出部24は、当該撮像ステップにおける露出条件算出の際に用いられる特徴量が、輝度値の平均値であるか否かを判断する(ステップS53)。
たとえば、図6のステップG21,G26や図7のステップG61,G66などにおける各撮像ステップでは、露出条件算出の際に用いられる特徴量は、輝度値の平均値であった。また、図8のステップG301や図9のステップG508などにおける各撮像ステップでは、露出条件算出の際に用いられる特徴量は、輝度値の最大極大値であった。さらに、図8のステップG308や図9のステップG501などにおける各撮像ステップでは、露出条件算出の際に用いられる特徴量は、輝度値の最小極大値であった。
露出条件算出の際に用いられる特徴量が輝度値の平均値であると判断した場合には(ステップS53で「yes」)、ステップS54に移行して、露出条件算出部24は図15に示す動作を開始する。他方、露出条件算出の際に用いられる特徴量が輝度値の平均値以外(たとえば、輝度値の最小極大値や最大極大値)であると判断した場合には(ステップS53で「no」)、露出条件算出部24は、2枚目の参照画像の特徴量が所望通りの値となったか否かを判断する(ステップS55)。
たとえば、図8のステップG301において2枚目の参照画像を撮像し、当該2枚目の参照画像から取得される輝度値の最大極大値が、所望の範囲である170≦最大極大値<250であったとする。この場合は、2枚目の参照画像の撮像の際の露出条件算出ではステップS52を用いており、事前学習の係数の利用が当該露出条件算出の際にうまく適合していた場合である。したがって、当該場合には、ステップS55で「yes」となり、ステップG308では、露出条件算出部24は図14に従い露出条件を算出する(ステップS52)。他方、当該2枚目の参照画像から取得される輝度値の最大極大値が、所望の範囲である170≦最大極大値<250でなかったとする。この場合は、2枚目の参照画像の撮像の際の露出条件算出ではステップS52を用いており、事前学習の係数の利用が当該露出条件算出の際にうまく適合していなかった場合である。したがって、この場合には、ステップS55で「no」となり、ステップG301などの撮像ステップにおける3枚目以降の参照画像の撮像では、露出条件算出部24は図15に従い露出条件を算出する(ステップS54)。当該ステップS55の判断および当該判断後の動作を図8を例にして説明したが、図9,11,12においても同様の動作が成立する。
<係数を用いた露出条件の算出>
次に、図14のフロー(図13のステップS52)の動作を具体的に説明する。
ここで、動作の説明の前に、図1に示す係数格納部25の構成について説明する。係数格納部25には、図16に例示するようなテーブルが格納されている。当該テーブルは、輝度値の各特徴量の各値と、当該各値に対応する係数(α、β)とから構成されている。当該テーブルは、予め同一シーンに対する複数の露出画像を複数のシーンで撮影することにより、作成される。図16に例示するテーブルでは、たとえば輝度値の平均値A2に対応して係数(αA2、βA2)が格納されている。また、たとえば輝度値の最大極大値MA1に対応して係数(αMA1、βMA2)が格納されている。
さて、ステップS52においてまずはじめに、露出条件算出部24は、直前に撮像された参照画像の特徴量(Init)を取得する(ステップS521)。
次に、露出条件算出部24は、これから撮像する予定の参照画像の特徴量が幾らとなるべきかを取得する(ステップS522)。たとえば、図7のステップG61の撮像ステップでは、ステップS522において露出条件算出部24は、輝度値の平均値である「85(=Set)」を取得する。また、たとえば図9のステップG501の撮像ステップでは、ステップS522において露出条件算出部24は、輝度値の最小極大値である「50(=Set)」を取得する。また、たとえば図12のステップG431の撮像ステップでは、ステップS522において露出条件算出部24は、輝度値の最大極大値である「210(=Set)」を取得する。
次に、露出条件算出部24は、係数格納部25に格納されているテーブルから、ステップS521の特徴量の値に対応する係数(α、β)を取得する(ステップS523)。
次に、露出条件算出部24は、y=Set−Initを求める(ステップS524)。当該yは、特徴量の変化量(直前に撮像された参照画像の特徴量から、これから撮像する予定の参照画像の所望の特徴量までの変化量)を示している。
さらに、露出条件算出部24は、y=αx+βの一次関数を、ステップS523で取得した係数(α、β)を用いて求める(ステップS525)。ここで、xは、特徴量をyだけ変化させたときの露出条件の変化量(直前に撮像された参照画像の露出条件から、これから撮像する予定の参照画像の露出条件までの変化量)である。さらに、露出条件算出部24は、ステップS524で求めたy(直前に撮像された参照画像の特徴量から、これから撮像する予定の参照画像の所望の特徴量までの変化量)を、前記で求めた1次関数のyに代入し、x(直前に撮像された参照画像の露出条件から、これから撮像する予定の参照画像の露出条件までの変化量)を求める(ステップS525)。
次に、露出条件算出部24は、当該撮像ステップにおいてステップS522で求めた特徴量以上の特徴量を所望しているか否かを判断する(ステップS526)。そして、ステップS522で求めた特徴量以上の特徴量を所望していると判断した場合には(ステップS526で「yes」)、露出条件算出部24は、ステップS525で求めたxの小数点以下を切り上げる(ステップS527)。他方、ステップS522で求めた特徴量より小さい特徴量を所望していると判断した場合には(ステップS526で「no」)、露出条件算出部24は、ステップS525で求めたxの小数点以下を切り捨てる(ステップS528)。
その後、露出条件算出部24は、ステップS527またはステップS528で求めた値(=x’)を直前に撮像された参照画像の露出条件に加えることにより、これから撮像する予定の参照画像の露出条件を決定する。なお、x’の値がマイナスの場合には、−x’を直前に撮像された参照画像の露出条件に加えることになる(換言すれば、x’を直前に撮像された参照画像の露出条件から差分する)。また、当該決定された露出条件を正式な露出条件として、当該正式な露出条件の下、撮像部1は、所定の被写体の参照画像を撮像する。
図14の動作を、たとえば図8のステップS308(当該撮像ステップでは、対象となる特徴量は最小極大値である)の場面に当て嵌めて考察する。この場合には、直前に撮像された参照画像から輝度値の最小極大値(Init)が取得される(ステップS521)。当該取得した最小極大値は、図16のMI2であるとする。次に、「88(=Set)」が取得される(ステップS522)。次に、係数格納部25に格納されているテーブルから、最小極大値MI2に対応する係数(αMI2,βMI2)が取得される(ステップS523)。次に、y=88−MI2が求められる(ステップS524)。次に、x={(88−MI2)−βMI2}/αMI2が、求められる(ステップS525)。ステップG308では最小極大値≧88となるような撮像を目的としている。したがって、「88(Set)」以上の特徴量を所望していることとなり(ステップS526で「yes」)、ステップS527が実施される。
また、図14の動作を、たとえば図9のステップS508(当該撮像ステップでは、対象となる特徴量は最大極大値である)の場面に当て嵌めて考察する。この場合には、直前に撮像された参照画像から輝度値の最大極大値(Init)が取得される(ステップS521)。当該取得した最大極大値は、図16のMAsであるとする。次に、「168(=Set)」が取得される(ステップS522)。次に、係数格納部25に格納されているテーブルから、最大極大値MAsに対応する係数(αMAs,βMAs)が取得される(ステップS523)。次に、y=168−MAsが求められる(ステップS524)。次に、x={(168−MAs)−βMAs}/αMAsが、求められる(ステップS525)。ステップG508では最大極大値<88となるような撮像を目的としている。したがって、「168(Set)」より小さい特徴量を所望していることとなり(ステップS526で「no」)、ステップS528が実施される。
<過去の参照画像の撮像の露出条件および特徴量を用いた露出条件の算出>
次に、図15のフロー(図13のステップS54)の動作を具体的に説明する。
ステップS54においてまずはじめに、露出条件算出部24は、過去に撮像された複数の参照画像の全ての特徴量と、当該複数の参照画像の撮像時の全ての露出条件との関係を取得する(ステップS541)。たとえば、第一の露出条件により所定の被写体を撮像したとき、当該撮像により第一の特徴量を有する参照画像が得られたとする。また、第二の露出条件により所定の被写体を撮像したとき、当該撮像により第二の特徴量を有する参照画像が得られたとする。また、第Nの露出条件により所定の被写体を撮像したとき、当該撮像により第Nの特徴量を有する参照画像が得られたとする。この場合には、露出条件算出部24は、(第一の露出条件、第一の特徴量)、(第二の露出条件、第二の特徴量)および(第Nの露出条件、第Nの特徴量)の対の関係(x、y)を各々取得する。当該取得可能せしめるためには、各参照画像撮像の際に、露出条件と当該露出条件で撮像されたとき得られる参照画像の特徴量との関係を、随時デジタルカメラ100は記憶していることが要される。
次に、露出条件算出部24は、ステップS541で取得された複数の対の関係(x、y)を、x(露出条件)−y(特徴量)平面にプロットする。そして、当該プロットの結果において最小自乗法を実施することにより、線形近似1次関数(y=φx+π)を取得する(ステップS542:前記φ、πの決定ステップと把握できる)。
次に、露出条件算出部24は、これから撮像する予定の参照画像の特徴量が幾らとなるべきかを取得する(ステップS543)。たとえば、図6のステップG21の撮像ステップでは、ステップS543において露出条件算出部24は、輝度値の平均値である「170(=Om)」を取得する。また、たとえば図8のステップG301の撮像ステップでは、ステップS543において露出条件算出部24は、輝度値の最大極大値である「210(=Om)」を取得する。また、たとえば図11のステップG415の撮像ステップでは、ステップS543において露出条件算出部24は、輝度値の最小極大値である「50(=Om)」を取得する。
次に、露出条件算出部24は、ステップS542で求めたy=φx+πの一次関数のyに、ステップS543で取得したOmを代入することにより、x(これから撮像する参照画像の露出条件)を取得する(ステップS544)。
次に、露出条件算出部24は、当該撮像ステップにおいてステップS543で求めた特徴量以上の特徴量を所望しているか否かを判断する(ステップS545)。そして、ステップS543で求めた特徴量以上の特徴量を所望していると判断した場合には(ステップS545で「yes」)、露出条件算出部24は、ステップS544で求めたxの小数点以下を切り上げる(ステップS546)。他方、ステップS543で求めた特徴量より小さい特徴量を所望していると判断した場合には(ステップS545で「no」)、露出条件算出部24は、ステップS544で求めたxの小数点以下を切り捨てる(ステップS547)。
その後、露出条件算出部24は、ステップS546またはステップS547で求めた値(=x’)を正式な露出条件として決定する。そして、当該正式な露出条件により、撮像部1は所定の被写体の参照画像を撮像する。
図15の動作を、たとえば図6のステップG26(当該撮像ステップでは、対象となる特徴量は平均値である)の場面に当て嵌めて考察する。ステップG26に至るまでに、1枚目の参照画像(露出条件D1、輝度値の平均値T1)と2枚目の参照画像(露出条件D2,輝度値の平均値T2)とを撮像されていたとする。この場合には、(露出条件D1、輝度値の平均値T1)および(露出条件D2,輝度値の平均値T2)が取得される(ステップS541)。次に、(露出条件D1、輝度値の平均値T1)および(露出条件D2,輝度値の平均値T2)から、最小自乗法により1次関数y=φ1x+π1が取得される(ステップS542)。次に、「127.5(=Om)」が取得される(ステップS543)。次に、x1={(127.5−π1}/φ1が、求められる(ステップS544)。ステップG26では平均値≧127.5となるような撮像を目的としている。したがって、「127.5(Om)」以上の特徴量を所望していることとなり(ステップS545で「yes」)、ステップS546が実施される。
また、図15の動作を、たとえば図9のステップG513(当該撮像ステップでは、対象となる特徴量は平均値である)の場面に当て嵌めて考察する。ステップG513に至るまでに、1枚目の参照画像(露出条件D11、輝度値の平均値T11)と2枚目の参照画像(露出条件D12,輝度値の平均値T12)とを撮像されていたとする。この場合には、(露出条件D11、輝度値の平均値T11)および(露出条件D12,輝度値の平均値T12)が取得される(ステップS541)。次に、(露出条件D11、輝度値の平均値T11)および(露出条件D12,輝度値の平均値T12)から、最小自乗法により1次関数y=φ11x+π11が取得される(ステップS542)。次に、「106.25(=Om)」が取得される(ステップS543)。次に、x11={(106.25−π11}/φ11が、求められる(ステップS544)。ステップG513では平均値<106.25となるような撮像を目的としている。したがって、「106.25(Om)」より小さい特徴量を所望していることとなり(ステップS545で「no」)、ステップS547が実施される。
以上のように、本実施の形態にかかわるデジタルカメラの動作方法では、過去に撮像された参照画像の輝度値の度数分布より特徴量を取得し、当該特徴量を用いて露出条件を決定し、当該露出条件により次の参照画像を撮像する。ここで、前記において撮像に係る被写体は、同一の被写体である。
したがって、参照画像の撮像において、撮像される被写体に応じて(換言すれば撮影した画像に応じて)、次に撮像するべき露出条件が適応的に決定することができる。よって、少ない撮像回数で、ハイダイナミックレンジ画像生成の際に使用される有効的な参照画像群を得ることができる。
また、本実施の形態では、図5に示したように1枚目の参照画像(第一の参照画像)のグループ判別を行っており、各グループ毎に露出条件算出のためのフローが規定されている。
このように、第一の参照画像の撮像結果に応じて異なる露出条件算出フローが実施されるので、最低限の撮像回数で、有効的な参照画像群を得ることができる。
また、本実施の形態では、1枚目の参照画像(第一の参照画像)が第二のグループに属する場合には、輝度値の平均値が予め設定された値となるような露出条件で撮像を行い、2枚目以降の参照画像(第二の参照画像)を得る。そして、当該第二の参照画像から輝度値の度数分布を取得し、当該度数分布から特徴量を取得し、当該取得した特徴量に基づいて、第二の参照画像のグループ判別を行っている(図6のステップG21〜G23参照)。
したがって、アンダー露出である第一の参照画像が得られたときに、第二の参照画像が、ハイダイナミックレンジ画像の生成で有効的となるオーバ露出の参照画像または黒潰れ部分を含むオーバ露出の参照画像であるかの判別が可能となる。または、露出条件を変えた更なる第二の参照画像の撮像が必要であるかの判別が可能となる。
また、本実施の形態では、1枚目の参照画像(第一の参照画像)が第二のグループに属する場合には、輝度値の平均値が予め設定された値となるような露出条件で撮像を行い、2枚目以降の参照画像(第二の参照画像)を得る。そして、当該第二の参照画像から輝度値の度数分布を取得し、当該度数分布から特徴量を取得し、当該取得した特徴量に基づいて、第二の参照画像が第四のグループに属するか否かの判断を行っている(図6のステップG26〜G28参照)。
したがって、アンダー露出である1枚目の参照画像が得られたときに、第二の参照画像が、ハイダイナミックレンジ画像の生成で有効的となるベース露出の参照画像であるかの判別が可能となる。または、露出条件を変えた更なる第二の参照画像の撮像が必要であるかの判別が可能となる。
また、本実施の形態では、1枚目の参照画像(第一の参照画像)が第六のグループに属する場合には、輝度値の平均値が予め設定された値となるような露出条件で撮像を行い、2枚目以降の参照画像(第二の参照画像)を得る。そして、当該第二の参照画像から輝度値の度数分布を取得し、当該度数分布から特徴量を取得し、当該取得した特徴量に基づいて、第二の参照画像のグループ判別を行っている(図7のステップG61〜G63参照)。
したがって、オーバ露出である第一の参照画像が得られたときに、第二の参照画像が、ハイダイナミックレンジ画像の生成で有効的となるアンダー露出の参照画像または白飛び部分を含むアンダー露出の参照画像であるかの判別が可能となる。または、露出条件を変えた更なる第二の参照画像の撮像が必要であるかの判別が可能となる。
また、本実施の形態では、1枚目の参照画像(第一の参照画像)が第六のグループに属する場合には、輝度値の平均値が予め設定された値となるような露出条件で撮像を行い、2枚目以降の参照画像(第二の参照画像)を得る。そして、当該第二の参照画像から輝度値の度数分布を取得し、当該度数分布から特徴量を取得し、当該取得した特徴量に基づいて、第二の参照画像が第四のグループに属するか否かの判断を行っている(図7のステップG66〜G68参照)。
したがって、オーバ露出である1枚目の参照画像が得られたときに、第二の参照画像が、ハイダイナミックレンジ画像の生成で有効的となるベース露出の参照画像であるかの判別が可能となる。または、露出条件を変えた更なる第二の参照画像の撮像が必要であるかの判別が可能となる。
また、本実施の形態では、1枚目の参照画像(第一の参照画像)が第三のグループに属する場合には、輝度値の最大極大値が予め設定された所定の範囲となるような露出条件で撮像を行い、白飛び部分を補正する2枚目以降の参照画像(第二の参照画像)を得る(図8のステップG301〜G305参照)。
したがって、白飛び部分を有するアンダー露出である第一の参照画像が得られたときに、当該白飛び部分を補正することができる最適な第二の参照画像を、必要最小限の撮像回数で得ることができる。
また、本実施の形態では、1枚目の参照画像(第一の参照画像)が第三のグループに属する場合には、第一の参照画像から得られる最小極大値が、所定の値より小さいか否かの判断を行う(図8のステップG307参照)。
したがって、第一の参照画像が黒潰れ部分を有するか否かが判明し、その後で必要とされる第二の参照画像の種類が把握できる。
また、本実施の形態では、前記において最小極大値が所定の値より小さいと判断したときには、輝度値の最小極大値が、予め設定された所定の範囲内となるような露出条件で撮像を行い、黒潰れ部分を補正する第二の参照画像を得る(図8のステップG308〜G312)。
したがって、簡易な数値比較により第一の参照画像が黒潰れ部分を有すると判明でき、さらに当該黒潰れ部分を補正することができる最適な第二の参照画像を、必要最小限の撮像回数で得ることができる。
また、本実施の形態では、前記において最小極大値が所定の値以上であると判断したときには、輝度値の平均値が、予め設定された所定の範囲内となるような露出条件で撮像を行い、オーバ露出となる第二の参照画像を得る(図8のステップG313〜G317)。
したがって、簡易な数値比較により第一の参照画像が黒潰れ部分を有さないと判明でき、さらにオーバ露出となる最適な第二の参照画像を、必要最小限の撮像回数で得ることができる。
また、本実施の形態では、1枚目の参照画像(第一の参照画像)が第五のグループに属する場合には、輝度値の最小極大値が予め設定された所定の範囲となるような露出条件で撮像を行い、黒潰れ部分を補正する2枚目以降の参照画像(第二の参照画像)を得る(図9のステップG501〜G505参照)。
したがって、黒潰れ部分を有するオーバ露出である第一の参照画像が得られたときに、当該黒潰れ部分を補正することができる最適な第二の参照画像を、必要最小限の撮像回数で得ることができる。
また、本実施の形態では、1枚目の参照画像(第一の参照画像)が第五のグループに属する場合には、第一の参照画像から得られる最大極大値が、所定の値以上であるか否かの判断を行う(図9のステップG507参照)。
したがって、第一の参照画像が白飛び部分を有するか否かが判明し、その後で必要とされる第二の参照画像の種類が把握できる。
また、本実施の形態では、前記において最大極大値が所定の値以上であると判断したときには、輝度値の最大極大値が、予め設定された所定の範囲内となるような露出条件で撮像を行い、白飛び部分を補正する第二の参照画像を得る(図9のステップG508〜G512)。
したがって、簡易な数値比較により第一の参照画像が白飛び部分を有すると判明でき、さらに当該白飛び部分を補正することができる最適な第二の参照画像を、必要最小限の撮像回数で得ることができる。
また、本実施の形態では、前記において最大極大値が前記所定の値より小さいと判断したときには、輝度値の平均値が、予め設定された所定の範囲内となるような露出条件で撮像を行い、アンダー露出となる第二の参照画像を得る(図9のステップG513〜G517)。
したがって、簡易な数値比較により第一の参照画像が白飛び部分を有さないと判明でき、アンダー露出となる最適な第二の参照画像を、必要最小限の撮像回数で得ることができる。
また、本実施の形態では、1枚目の参照画像(第一の参照画像)が第四のグループに属する場合には、第一の参照画像から得られる最大極大値が、所定の値以上であるか否かの判断を行う(図11のステップG402および図12のステップG430参照)。
したがって、第一の参照画像が白飛び部分を有するか否かが判明し、その後で必要とされる第二の参照画像の種類が把握できる。
また、本実施の形態では、前記において最大極大値が所定の値以上であると判断したときには、輝度値の最大極大値が、予め設定された所定の範囲内となるような露出条件で撮像を行い、白飛び部分を補正する第二の参照画像を得る(図11のステップG403〜G407および図12のステップG431〜G435)。
したがって、簡易な数値比較により第一の参照画像が白飛び部分を有すると判明でき、さらに当該白飛び部分を補正することができる最適な第二の参照画像を、必要最小限の撮像回数で得ることができる。
また、本実施の形態では、前記において最大極大値が前記所定の値より小さいと判断したときには、輝度値の平均値が、予め設定された所定の範囲内となるような露出条件で撮像を行い、アンダー露出となる第二の参照画像を得る(図11のステップG408〜G412および図12のステップG436〜G440)。
したがって、簡易な数値比較により第一の参照画像が白飛び部分を有さないと判明でき、アンダー露出となる最適な第二の参照画像を、必要最小限の撮像回数で得ることができる。
また、本実施の形態では、1枚目の参照画像(第一の参照画像)が第四のグループに属する場合には、第一の参照画像から得られる最小極大値が、所定の値より小さいか否かの判断を行う(図11のステップG414および図12のステップG442参照)。
したがって、第一の参照画像が黒潰れ部分を有するか否かが判明し、その後で必要とされる第二の参照画像の種類が把握できる。
また、本実施の形態では、前記において最小極大値が所定の値より小さいと判断したときには、輝度値の最小極大値が、予め設定された所定の範囲内となるような露出条件で撮像を行い、黒潰れ部分を補正する第二の参照画像を得る(図11のステップG415〜G419および図12のステップG443〜G447)。
したがって、簡易な数値比較により第一の参照画像が黒潰れ部分を有すると判明でき、さらに当該黒潰れ部分を補正することができる最適な第二の参照画像を、必要最小限の撮像回数で得ることができる。
また、本実施の形態では、前記において最小極大値が前記所定の値以上である判断したときには、輝度値の平均値が、予め設定された所定の範囲内となるような露出条件で撮像を行い、オーバ露出となる第二の参照画像を得る(図11のステップG420〜G424および図12のステップG44836〜G452)。
したがって、簡易な数値比較により第一の参照画像が黒潰れ部分を有さないと判明でき、オーバ露出となる最適な第二の参照画像を、必要最小限の撮像回数で得ることができる。
また、本実施の形態では、特徴量を入力として予め格納されているテーブルから当該入力に対応する係数を取得し、第二の参照画像の輝度値に関する特徴量が所望の値となるように、当該所望の値と前記係数とを用いて露出条件を求めている(図14参照)。
したがって、事前に取得された情報(テーブルの係数)を用いて、適切な露出条件を簡単に求めることができる。
また、本実施の形態では、参照画像の輝度値に関する特徴量が所望の値となるように、過去に撮像された複数の参照画像の各々から得られる複数の特徴量と、過去に撮像された複数の参照画像の各過去露出条件と、前記所望の値とを用いて、露出条件を求める(図15参照)。
したがって、過去の参照画像から得られる情報(露出条件、特徴量)を用いて、適切な露出条件を簡単に求めることができる。
また、本実施の形態では、デジタルカメラ100内において、同一の被写体に対する複数の参照画像を合成することにより、ハイダイナミックレンジ画像を生成することができる。
したがって、参照画像の撮像を行ったデジタルカメラ100自身において、余分な装置を用いる事無く、ハイダイナミックレンジ画像を生成することができる。
なお、上記では、所望する参照画像が得られたときに、ハイダイナミックレンジ画像生成部4は、参照画像格納部3に格納されている当該所望する参照画像を合成し、ハイダイナミックレンジ画像を生成する、場合について言及した。
ここで、図6,7,8,9,11,12の各フローにおいて、所望する参照画像が得られずに当該各フローが終了することもある。このように所望する参照画像が得られない場合には、次のパターンを実施する。第一のパターンは、合成処理は行わず、ハイダイナミックレンジ画像は生成しない。第二のパターンは、撮影した参照画像の中で、最もベースな画像を、結果画像とする。第三のパターンは、撮影した参照画像を用いて強制的に合成を実行し、当該合成画像を結果画像とする。なお、上記3パターンの中から、ユーザが事前にどのパターンを選択するかを決定することができる。ここで、「最もベースな画像」とは、輝度値分布の平均値が最も中間的な(つまり127.5に近い)値である画像を指す。