撮像装置、その制御方法、及びプログラム
【課題】露出の異なる複数の画像を合成して得られる、階調範囲を拡張した画像における像の不連続を回避する。
【解決手段】被写体の全体における画素値の分布から、ダイナミックレンジを拡張した画像の生成に用いる2以上の画像の数、及び画像の各々についての露出条件を決定する。複数の画像から、画像内に含まれる動体領域を特定した後、該動体領域に対応する位置についての適正露出条件を決定し、画像の露出条件のうち、1つの露出条件を該適正露出条件に変更する。そして撮像装置は、決定された露出条件で撮像された画像について、階調レベルを合わせた後、画像間における対応する画素値の差分が閾値以上である領域を特定する。そして、適正露出条件で撮像された画像の画素を、特定された画素値の差分が閾値以上である領域の画素として用い、他の画素については画像を合成してダイナミックレンジを拡張した画像を生成する。
【解決手段】被写体の全体における画素値の分布から、ダイナミックレンジを拡張した画像の生成に用いる2以上の画像の数、及び画像の各々についての露出条件を決定する。複数の画像から、画像内に含まれる動体領域を特定した後、該動体領域に対応する位置についての適正露出条件を決定し、画像の露出条件のうち、1つの露出条件を該適正露出条件に変更する。そして撮像装置は、決定された露出条件で撮像された画像について、階調レベルを合わせた後、画像間における対応する画素値の差分が閾値以上である領域を特定する。そして、適正露出条件で撮像された画像の画素を、特定された画素値の差分が閾値以上である領域の画素として用い、他の画素については画像を合成してダイナミックレンジを拡張した画像を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、撮像装置、その制御方法、及びプログラムに関し、露出の異なる複数の画像を合成することにより、階調範囲を拡張するダイナミックレンジ拡張技術に関する。
【背景技術】
【0002】
近年、デジタルカメラやデジタルビデオカメラ等の撮像装置の中には、露出時間を異ならせて被写体を撮影することにより得られた、露出の異なる複数の画像を合成することにより階調範囲を拡張した画像を得る、ダイナミックレンジ拡張機能を有するものがある。
【0003】
特許文献1には、撮像した画像が所定の輝度レンジに収まらない場合に、高輝度側の最高輝度及び低輝度側の最低輝度を検出して、高輝度側及び低輝度側の各々について輝度レンジに収まる2種類の画像を撮像してHDR画像を生成する撮像装置が開示されている。
【0004】
また、動体が含まれる場合のダイナミックレンジ拡張画像生成処理により出力された合成画像における像の不連続を回避するために、ダイナミックレンジ拡張画像生成処理における画像合成を動的に制御する技術が開示されている。
【0005】
特許文献2には、低露出画像と高露出画像の2枚の画像を用いてHDR画像を生成する場合に、正規化した各画像の階調レベルの差分に基づいて像の不連続が生じうる領域を特定し、当該領域で低露出画像への置き換えを行わないことが開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−104009号公報
【特許文献2】特開2002−101347号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した特許文献2の方法を用いたとしても、合成により生成されたHDR画像の動体領域において、高露出画像及び低露出画像の両方から抽出された画素が使用されることがあり、動体領域におけるテクスチャの不連続の問題が生じうる。
【0008】
本発明は、上述の問題点に鑑みてなされたものであり、露出の異なる複数の画像を合成して得られる、階調範囲を拡張した画像における像の不連続を回避する撮像装置、その制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
前述の目的を達成するために、本発明の撮像装置は、以下の構成を備える。
被写体を撮像して得られた画像を出力する撮像手段と、被写体の全体における画素値の分布から、ダイナミックレンジを拡張した画像の生成に用いる2以上の画像の数、及び該2以上の画像の各々についての露出条件を決定する決定手段と、撮像手段により時分割で撮像された複数の画像から、画像内に含まれる動体領域を特定する第1の特定手段と、第1の特定手段により特定された動体領域に対応する位置についての適正露出条件を決定し、決定手段により決定された2以上の画像の露出条件のうち、1つの露出条件を該適正露出条件に変更する変更手段と、変更手段により変更された適正露出条件を含む、決定手段により決定された露出条件で撮像手段により撮像された2以上の画像について、階調レベルを合わせた後、2以上の画像間における対応する画素値の差分が閾値以上である領域を特定する第2の特定手段と、2以上の画像を合成してダイナミックレンジを拡張した画像を生成する生成手段であって、適正露出条件で撮像された画像の画素を、第2の特定手段により特定された画素値の差分が閾値以上である領域の画素として用いる生成手段と、を有することを特徴とする。
【発明の効果】
【0010】
このような構成により本発明によれば、露出の異なる複数の画像を合成して得られる、階調範囲を拡張した画像における像の不連続を回避することが可能となる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係るデジタルカメラ100の機能構成を示したブロック図
【図2】従来のダイナミックレンジ拡張処理により生じる、HDR画像における像の不連続を説明するための図
【図3】本発明の実施形態に係るダイナミックレンジ拡張画像生成処理のフローチャート
【図4】本発明の実施形態に係る動体領域を説明するための図
【図5】本発明の実施形態に係る露出条件の設定について説明するための図
【図6】本発明の実施形態に係る動物体に対応する画素のグループ化処理を説明するための図
【図7】本発明の実施形態に係る動体領域に対応した測光領域を示した図
【図8】本発明の実施形態に係る露出条件の変更を説明するための図
【図9】本発明の実施形態に係る並行処理を説明するための図
【図10】本発明の実施形態に係る、露出の異なる複数の画像の例
【図11】露出時間の違いによる、階調レベル合わせ後の階調範囲を説明するための図
【図12】本発明の実施形態に係る、検出された動き画素を示した図
【図13】本発明の実施形態に係るトーンマッピング処理を説明するための図
【発明を実施するための形態】
【0012】
以下、本発明の好適な一実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、撮像装置の一例としての、異なる露出時間で被写体を撮影して得られた複数の画像を合成して、ダイナミックレンジを拡張した画像(HDR画像)を出力可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、異なる露出時間で被写体を撮影して得られた複数の画像を合成して、ダイナミックレンジを拡張した画像を出力することが可能な任意の機器に適用可能である。また、本明細書において、「像の不連続」とは、HDR画像における透明化、テクスチャの不連続、残像、多重エッジ、及びパターン混合の問題を総称するものとして説明する。
【0013】
まず、HDR画像における透明化、テクスチャの不連続、残像、多重エッジ、及びパターン混合について説明する。特許文献1のようなダイナミックレンジ拡張技術によるHDR画像の生成には、被写体について露出時間を異ならせた複数回の撮影を行って得られる複数枚の合成用の画像を必要とする。しかしながら、被写体の中に動体が存在する場合、合成用の画像間において当該動体の被写体の存在する領域にずれが生じるため、合成用の画像を合成して得られたHDR画像において像が不連続となる問題が生じる。
【0014】
具体的には、被写体の中に動体が存在した場合に、複数回の撮影によって得られた画像を合成して得られたHDR画像には、以下のような像の不連続に係る問題が生じうる。例えば図2に示すように、高露出画像200において動体領域201内に白飛び領域202が存在する場合を想定すると、
1.白飛び領域202と同じ位置の領域に、動体が既に存在しない低露出画像220の
画素を用いて画素の置き換えを行うと、HDR画像230の動体領域内に背景が見
える透明領域231が生じてしまう(透明化)。
2.また、白飛び領域202と同じ位置の領域に動体は存在するが、その位置が異なっ
ている低露出画像220の画素を用いて画素の置き換えを行うことにより、当該領
域232の境界において動体表面のテクスチャは不連続となる。
3.さらに、図2とは異なり、高露出画像において背景の領域に白飛び領域があり、低
露出画像において当該領域を遮蔽する位置に動体が存在する場合は、白飛び領域の
画素の低露出画像への置き換えにより動体の像が複数あるように合成されてしまう
(残像)。
【0015】
また、画素の置き換えによる処理に限らず、中間階調における複数の画像の重み付け平均を用いた合成処理により、従来の画像合成時に係る問題である、動体周囲の多重エッジや、加算された動体領域におけるパターン混合等の、像の不連続も生じる。
【0016】
なお、上述した特許文献2の方法を用いたとしても、合成により生成されたHDR画像の動体領域において、高露出画像及び低露出画像の両方から抽出された画素が使用されることがあり、動体領域におけるテクスチャの不連続の問題が生じうる。
【0017】
一方、HDR画像の生成用に撮像された複数の画像全ての差分から、画素値の変化量が閾値以上の領域を特定し、該領域の画素については1つの画像から抽出した画素でHDR画像を生成することで、像の不連続を解消する方法が考えられる。しかしながら、画素値の変化量が閾値以上の領域に割り当てる画素を抽出する画像の選択によっては、該画像に白飛び領域や黒潰れ領域が含まれる場合があり、得られるHDR画像では所望のダイナミックレンジ拡張効果が得られない可能性がある。特に、特許文献1のように、最高輝度及び最低輝度に応じてHDR画像生成用の高露出画像及び低露出画像を撮像する場合、いずれの画像にも白飛び領域あるいは黒潰れ領域が含まれることが考えられ、所望のダイナミックレンジ拡張効果は得られない。
【0018】
そこで本発明は、画像内に含まれる動体領域についての適正露出条件を決定し、2以上の画像の露出条件のうち、1つの露出条件を該適正露出条件に変更して2以上の画像を撮像し、動体領域と判定される領域に当該適正露出条件で撮像された画像の画素を使用することを特徴とする。
【0019】
<デジタルカメラの機能構成>
図1は、本発明の実施形態に係るデジタルカメラ100の機能構成を示すブロック図である。
【0020】
制御部101は、例えばCPUであり、ROM102に記憶された、後述するダイナミックレンジ拡張画像生成処理のプログラムを読み出してRAM103に展開して実行することにより、デジタルカメラ100が備える各ブロックの動作を制御する。ROM102は、例えば書き換え可能な不揮発性メモリ等のレジスタであり、ダイナミックレンジ拡張画像生成処理のプログラムに加え、デジタルカメラ100が備える各ブロックの動作に必要な制御パラメータ等の情報を格納する。RAM103は、例えば揮発性メモリであり、ダイナミックレンジ拡張画像生成処理のプログラムの展開領域としてだけでなく、デジタルカメラ100が備える各ブロックの動作において出力された中間データを一時的に格納する記憶領域として用いられる。
【0021】
なお、本実施形態ではハードウェアとしてデジタルカメラ100が備える各ブロックにおいて各処理が実現されるものとして説明するが、本発明の実施はこれに限らず、各ブロックの処理は当該各ブロックと同様の処理を行うプログラムで実現されてもよい。
【0022】
絞り105は、光学系104の瞳面に配置されて撮像部107面上に入射する光を部分的に遮ることで光量を調整する露出制御要素である。メカシャッタ106は、撮像部107面上に入射する光線を物理的に遮蔽することにより時間的な入射光量を調整する露出制御要素である。
【0023】
撮像部107は、撮像素子であり、例えばベイヤ配列状にカラーフィルタを敷き詰めて一面で被写体像を受光する単板素子、または図示しない分光プリズムにより色情報を3つ以上に分離し、それぞれの光を別々の撮像素子で受光する3板素子等で構成される。撮像部107は、複数枚のレンズ及びミラーから構成される光学系104を介して結像された被写体像を光電変換することにより、アナログ画像信号を前処理部108に出力する。
【0024】
なお、撮像部107が3板式の場合、分光光学素子が必要となるが、後述の画像処理部110におけるベイヤ配列補間処理を省略することが可能である。また撮像部107は、撮像素子が電子シャッタ機能を備えており、撮像素子の蓄積時間及び読み出しタイミングを制御することにより光量調整を行う露出制御要素でもある。
【0025】
前処理部108は、入力されたアナログ画像信号に対し、相関二重サンプリング(CDS)によるノイズ除去、オートゲインコントロール(AGC)によるゲイン調整を用いた露出制御、黒レベル補正、及びA/D変換処理を適用してデジタル画像信号を出力する。前処理部108で行われる各種処理は、アナログ画像信号に対する前処理であるため、AFE(アナログフロントエンド)処理とも呼ばれる。
【0026】
本実施形態では、露出の異なる複数の画像を時分割で撮影するため、露出制御部109を用いて絞り105、メカシャッタ106、撮像部107、及び前処理部108における露出制御の動作を制御する。具体的には露出制御部109は、制御部101から入力された複数の画像それぞれの露出の情報に従い、絞り105の絞り量、メカシャッタ106の開放時間、撮像素子の蓄積時間及び読み出しタイミング、及び前処理部108におけるゲイン調整量を制御する。
【0027】
画像処理部110は、入力されたデジタル画像信号に対し、ベイヤ配列補間、線形化マトリクス処理、ホワイトバランス調整、YCC変換、色差・階調・コントラスト補正、エッジ強調処理等の画像処理を適用する。画像処理部110は、これらの画像処理を適用することにより、一枚の出力画像(通常の1枚撮影に係る画像)を生成可能である。生成された画像は、例えば後述する画像メモリ111に格納される、あるいは記録媒体I/F部114を介して記録媒体115に記録される。また画像処理部110で行われる各種画像処理は、前処理部のAFE処理に対してDBE(デジタルバックエンド)処理と呼ばれる。
【0028】
また本実施形態では、画像処理部110は、露出の異なる複数の画像からダイナミックレンジを拡張したHDR画像を生成するための各工程で実行される、合成処理を含む画像処理を実行するものとする。ダイナミックレンジ拡張画像生成処理で用いられる、露出の異なる複数の画像は、画像処理部110におけるDBE処理の適用後、画像メモリ111に順次蓄積されており、画像処理部110は当該画像メモリ111から各画像を読み出して必要な処理を適用する。
【0029】
また、画像処理部110は、例えばROM102に記憶されている、撮影された画像の記録フォーマットに従い、圧縮・符号化等の変換処理が必要である場合は該処理を画像データに適用し、記録用の画像データを生成する。
【0030】
画像メモリ111は、デジタルカメラ100が備える、画像用の格納領域であり、ダイナミックレンジ拡張画像生成処理に限らず、DBE処理の一部の処理が適用されて得られた中間画像データが必要に応じて一時的に格納されてもよい。画像メモリ111に格納される画像は、例えばベイヤ配列補間、線形化マトリクス処理が適用された3プレーンのRAW画像データ、さらにホワイトバランス調整を行ったRGB画像、あるいはさらにYCC変換が適用されたYCC画像であってもよい。なお、本実施形態では画像メモリ111に格納されるダイナミックレンジ拡張画像生成処理用の画像はYCC画像であるものとして、以下に説明するものとする。しかしながら、後述するダイナミックレンジ拡張画像生成処理で用いられる画像は、YCC色空間に限らず、他の色空間の画像が用いられてもよい。
【0031】
表示部112は、例えば小型LCD等のデジタルカメラ100が備える表示装置であり、撮影された画像、生成されたHDR画像、あるいは後述する記録媒体I/F部114を介して記録媒体115から読み出された画像が表示される。
【0032】
操作部113は、例えば撮影ボタンやメニューボタン等のデジタルカメラ100が備える、ユーザからの操作入力を受け付けるためのユーザインタフェースである。操作部113は、ユーザによりなされた操作入力を解析し、当該操作入力に対応する信号を制御部101に出力する。また操作部113は、上述した撮影ボタンやメニューボタン等の物理的な操作部材に限らず、タッチパネルセンサを備えてもよく、例えばユーザにより操作された表示部112の表示領域上の位置の情報を制御部101に出力する。
【0033】
記録媒体I/F部114は、例えば画像処理部110で生成された画像データ等の接続された記録媒体115への書き込み、あるいは記録媒体115からのデータの読み出し等を行うためのインタフェースである。また記録媒体115は、例えばデジタルカメラ100が備える内蔵メモリや、メモリカードやHDD等のデジタルカメラ100に着脱可能に接続される記録装置であってよい。
【0034】
<ダイナミックレンジ拡張画像生成処理>
このような構成をもつ本実施形態のデジタルカメラ100のダイナミックレンジ拡張画像生成処理について、図3のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、制御部101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本ダイナミックレンジ拡張画像生成処理は、例えばデジタルカメラ100の撮影モードがHDR画像撮影モードに設定された状態で、ユーザが撮影ボタンを操作することにより撮影指示がなされた際に開始されるものとして説明する。
【0035】
S301で、制御部101は、撮影画角内の動体領域を特定し(第1の特定)、RAM103に記憶させる。動体領域は、HDR画像の生成のために撮影される画像に含まれる、移動中の被写体等、動きのある被写体が存在する領域を指す。具体的には制御部101は、時分割で撮像された複数の予備撮影画像を画像メモリ111から取得し、該複数の予備撮影画像について画素値の差分を算出する。そして制御部101は、該差分が動体と判断する所定の閾値ThMOV以上であるか否かを判断することにより、画素ごとに動体領域であるか否かを特定する。本実施形態では制御部101は、同一の露出条件で、時分割で撮像された2つの予備撮影画像について、前処理部108及び画像処理部110に所定の処理を適用させてYCC形式の画像を生成させる。そして制御部101は、YCC形式の2つの予備撮影画像の輝度成分について差分を算出させ、画素ごとに閾値ThMOVとの比較を行う。
【0036】
例えば図4(a)及び(b)に示すような、動体410を含む被写体を時分割撮像した2つの予備撮影画像401及び402を用いて動体領域を検出する場合、制御部101は、画像を複数のブロックに分割し、ブロックごとに輝度成分の差分を算出する。図4の例では、被写体の移動により輝度値が変化した、図4(c)に黒丸で示したブロックが動体領域として特定される。
【0037】
なお、本実施形態では制御部101は、同一の露出条件で時分割撮像された2つの予備撮影画像を用いて動体領域を特定する。予備撮影画像の露出条件が異なる場合、2つの予備撮影画像の階調レベルを、同一の被写体について階調レベルが等しくなるように露出条件に応じて調整することで、制御部101は比較を行うことも可能である。しかしながら、露出条件が異なることにより、予備撮影画像内に白飛び領域あるいは黒潰れ領域が含まれる場合、該領域が露出条件によって変化するため、結果的に静止物体の一部の領域も動体領域として検出されてしまう。
【0038】
HDR画像の生成では「動物体に対応する領域に白飛び領域あるいは黒潰れ領域が含まれる」場合に、露出条件の異なる複数の画像からサンプリングされた画素を動体領域に割り当てることで像の不連続が生じうる。このような領域について1枚の画像からサンプリングした画素を割り当てることで、像の不連続を回避することができるが、上述したように該領域に白飛び画素あるいは黒潰れ画素を割り当てた場合、得られる画像のダイナミックレンジの拡張効果は低い。即ち、このような画素の割当てを含む処理により生成されたHDR画像は、像の不連続の問題は回避しているが、そもそもの目的であったダイナミックレンジの拡張については好適な結果が得られない可能性がある。このため本実施形態では、少なくとも動体領域について好適な露出条件(適正露出条件)を設定し、該条件で撮影された画像を用いてHDR画像を生成する。このとき、露出条件の変化に応じて、静止物体の領域に生じた白飛び画素や黒潰れ画素の変化を動体領域として検出してしまうと、決定された露出条件が厳密な動物体についての好適な露出条件から外れてしまうことが考えられる。
【0039】
1つの領域について適正露出条件を決定する場合、制御部101は例えば図5に示すような該領域の階調分布から、階調分布の重み付け重心Igを算出する。そして制御部101は、階調分布の重み付け重心Igが、所定の階調範囲の中央値近傍となる露出条件を決定する。つまり、例えば静止物体の領域存在する白飛び画素の変化を考慮して決定される露出条件は、階調分布の重み付け重心が高階調側にあるため動物体のみを考慮した場合よりも低い露出量となる。即ち、このように決定した露出条件で撮像した画像を動体領域の画素として割り当てる場合、露出が低いため、該領域に黒潰れ画素が含まれることがある。このため、本実施形態では露出条件が異なる複数の予備撮影画像を用いて動体領域を検出する場合は、それぞれの露出条件において白飛び画素及び黒潰れ画素の変化がない、あるいは変化量が小さい予備撮影画像を用いるものとする。
【0040】
なお、本実施形態では同一の露出条件で撮像された2つの予備撮影画像を用いて、動体領域を特定するものとして説明するが、動体領域の特定方法はこれに限られない。例えば、動体領域決定のために用いられる予備撮影画像は3以上であってもよいし、複数の予備撮影画像はそれぞれ異なる露出条件で撮像された画像であってもよい。なお、異なる露出条件で撮像された画像を用いる場合、各画像は上述したように静止物体の領域において白飛び画素や黒潰れ画素による変化が生じない露出条件で撮像されることが好ましい。
【0041】
また、動体領域の特定においては、露出条件によって白飛び領域あるいは黒潰れ領域となる領域内にも動物体が存在することもある。このため制御部101は、低露出側の露出条件及び高露出側の露出条件等、異なる露出条件の各々で取得した複数の予備撮影画像から特定した動体領域を統合して、最終的な動体領域を決定してもよい。
【0042】
また、動体領域は画角内の領域ごとに複数特定する構成であってもよい。複数に分割して特定された動体領域は、動物体に対応する画素のグループ化により得られる。具体的には制御部101は、画素についての座標情報を基準として、画素の輝度値及び色情報を追加情報としてグループ化を行う。
【0043】
ここで動物体に対応する画素のグループ化について、図6を用いて説明する。例えば本ステップで検出された動物体に対応する画素が図6(a)のように分布している場合、同一の条件に当てはまる動物体に対応する画素をグループ化するために、制御部101は領域成長法を用いてグループ化に係る処理を実行すればよい。
【0044】
領域成長法とは、最初は細かく(例えば画素単位に)分かれた要素をある評価値に基づき、グループの評価値と要素の評価値の差があらかじめ決めた閾値以下の場合には合体し、それ以外は合体しないようにグループ化する、一般的な画像処理の一つである。領域成長法については、例えば「新編 画像解析ハンドブック,高木幹雄・下田陽久,東京大学出版会」に示されている。
【0045】
このように動体領域の特定が完了した後、制御部101は処理をS302に移す。
【0046】
S302で、制御部101は、HDR画像の生成に必要な画像の数(2以上)、及び当該画像それぞれの露出量(露出条件)を決定し、RAM103に記憶させる。HDR画像の生成に必要な画像の数、及び当該画像それぞれの露出量の情報は、例えば予め設定されてROM102に記憶されていてもよいし、被写体の測光処理の結果に応じて決定されてもよい。本実施形態では制御部101は、高露出側の露出条件及び低露出側の露出条件のそれぞれで撮像部107に予備撮影を行わせ、得られた画像から被写体の最高輝度部及び最低輝度部を特定する。そして制御部101は、最高輝度及び最低輝度から算出される輝度範囲と、撮像素子のダイナミックレンジとからHDR画像の生成に必要な画像の数を決定する。さらに制御部101は、被写体の最高輝度部を白飛びさせないアンダーな露出量EUNDER、及び最低輝度部分を黒潰れさせないオーバーな露出量EOVERを含む、各露出画像の露出条件を決定する。HDR画像の生成に必要な画像の数が3以上の場合、各画像の露出条件は、例えばEUNDERとEOVERとの間を均等配分するように決定されればよい。
【0047】
なお、本実施形態ではHDR画像の生成に必要な画像の数を被写体の輝度分布に応じて決定するものとして説明したが、HDR画像の生成に用いる画像の数は固定値であってもよい。
【0048】
S303で、制御部101は、動体領域についての適正露出条件を決定し、RAM103に記憶させる。図4(c)のように動体領域が検出された場合、制御部101は、該動体領域に対応する図7のような測光領域について不図示の測光部に測光を行わせ、得られた測光結果を用いて適正露出条件を決定する。適正露出条件の決定方法は、例えば図5を参照して上述したように、測光結果から得られた動体領域の階調分布に応じて決定すればよい。
【0049】
S304で、制御部101は、RAM103に記憶されているS302で決定したHDR画像の生成に用いる2以上の画像についての露出条件のうち、1つの露出条件をS303で決定した適正露出条件に変更する。具体的には制御部101は、HDR画像の生成に用いる2以上の画像についての露出条件のうち、適正露出条件に最も露出量が近い露出条件を特定し、該露出条件を適正露出条件に変更する。
【0050】
即ち、本実施形態ではHDR画像の生成において、少なくとも動体領域については適正露出条件で撮影された1つの画像の画素を割り当てるため、HDR画像の生成に用いる2以上の画像の露出条件には適正露出条件が含まれる必要がある。つまり、S302では被写体の全体についての輝度分布に応じてHDR画像の生成に用いる2以上の画像の露出条件を決定しているため、該露出条件には適正露出条件が含まれていない可能性があり、本ステップにおいて変更を行う。
【0051】
例えば、HDR画像の生成に必要な画像の数が2であり、EUNDER及びEOVERと、適正露出条件EMVとが図8(a)に示されるような関係にある場合を考える。このとき適性露出条件EMVに最も近い露出量はEUNDERであるため、制御部101は図8(b)に示されるように、HDR画像の生成に必要な2つの画像の露出条件を適正露出条件EMVとEOVERとに変更する。また同様にHDR画像の生成に必要な画像の数が3であり、EUNDER、中間階調画像の露出量EMID、及びEOVERと、適正露出条件EMVとが図8(c)に示されるような関係にある場合を考える。このとき適性露出条件EMVに最も近い露出量はEMIDであるため、制御部101は図8(d)に示されるように、HDR画像の生成に必要な3つの画像の露出条件を適正露出条件EMV、EUNDER、及びEOVERに変更する。
【0052】
このように、本ダイナミックレンジ拡張画像生成処理では、S301乃至S304により、被写体の動体領域を検出し、該動体領域についての適正露出条件を含めて、HDR画像の生成に必要な画像の露出条件を決定する。なお、S301及びS302では、それぞれ予備撮影画像を撮像し、予備撮影画像に基づいて制御部101が動体領域及び露出条件を決定するものとして説明した。しかしながら、それぞれのステップにおいて予備撮影動作を行う場合、実際にHDR画像の生成に用いる画像の撮影(本撮影)までに要する時間が増加するため、S301乃至S303の処理は並行して実行されてもよい。
【0053】
例えば図9に示すように、制御部101は露出制御部109に絞り105、メカシャッタ106、撮像部107、及び前処理部108を制御させ、本撮影までに低露出画像901、高露出画像902、及び低露出画像903を時系列順に取得する。制御部101は、高露出画像902が取得された際に最低輝度部を特定し、S302における露出量EOVERの決定を行えばよい。また制御部101は、低露出画像903(低露出画像901と同一の露出条件)が取得された際に最高輝度部を特定してS302における露出量EUNDERを決定し、さらにHDR画像の生成に必要な他の画像の露出条件を決定すればよい。このとき制御部101は並行して低露出画像901と低露出画像903とを比較してS301における動体領域を特定し、さらにS303の適正露出条件を決定すればよい。そしてS304でHDR画像の生成に必要な画像の露出条件のうち1つの露出条件を適正露出条件に変更した後、制御部101は露出制御部109に露出制御を行わせ、S305以降の本撮影処理及びHDR画像の合成処理を実行すればよい。
【0054】
このように並行処理を行うことにより、本撮影までに要する時間を短縮することができるが、例えば直近にHDR画像の生成を行う撮影が行われた場合、本撮影までに要する時間をさらに短縮することもできる。直近に行われたHDR画像の生成は、所定の時間内であれば同一の被写体について行われていると考えられる。このため制御部101は、例えばS301あるいはS303において、動体領域あるいは適正露出条件の情報を直近に行われたHDR画像の生成に用いた動体領域あるいは適正露出条件を使用するようにしてもよい。この場合、動体領域あるいは適正露出条件を示す情報はRAM103に記憶されていればよい。
【0055】
S305で、制御部101は、RAM103に記憶された、S304における変更後の露出条件に従い、露出制御部109に絞り105、メカシャッタ106、撮像部107、及び前処理部108を制御させて、時分割撮影された複数の画像を取得する。なお、取得された時分割撮影された、露出の異なる複数の画像は、前処理部108及び画像処理部110における所定の処理が適用されてYCC形式の画像に変換された上で、画像メモリ111に格納される。
【0056】
なお、本実施形態では簡単のため、図10に示すような3枚の露出の異なる画像1001、1002、1003を用いてHDR画像の生成を行うものとして説明するが、本発明の実施はこれに限らず、2枚以上の露出の異なる画像による生成において適用可能である。画像1001〜1003は、1001、1002、1003の順に露出量が小さくなっており、時系列において同様の順番で撮影されるものとする。以下ではこれらの画像を、高露出画像1001、中間露出画像1002、低露出画像1003と称して説明するものとする。またそれぞれの画像には、被写体として静止物体1010及び1011と動物体1012及び1013が含まれ、複数の画像の撮影中、動物体1012及び1013はデジタルカメラ100に対して右方向に動いている。
【0057】
また、デジタルカメラ100が不図示の光学式及び電子式の少なくともいずれかの防振機能と類似のレジストレーション機能を備える場合、該機能はS305で得られる露出の異なる複数の画像に適用される。
【0058】
S306で、制御部101は、画像メモリ111に格納されている複数の画像間で、同一の被写体に係る画素値を均一にするために、画像処理部110に各画像の露出に関する階調レベル合わせ処理を行わせる。具体的には画像処理部110は、画像メモリ111に格納されている複数の画像のそれぞれに対し、最長露出の画像の露出時間を基準とした各画像の露出時間の比の逆数を乗算することにより、階調レベル合わせを行う。なお、制御部101は、画像処理部110に当該レベル合わせ後の画像を画像メモリ111に出力させ、格納させる。
【0059】
図11は、階調レベル合わせを行った後の、各画像の階調範囲と、複数の画像を用いて生成されるHDR画像で表現可能な階調範囲を示した図である。図では階調範囲として画像の輝度Y成分の画素値を用いている。またレベル合わせ後の各画像において白飛びの輝度閾値HLV、黒潰れの輝度閾値LLVは参照符号を用いて表現され、それぞれaは高露出画像1001、bは中間露出画像1002、cは低露出画像1003に対応している。
【0060】
なお、本実施形態において、画素値とは画素が有する階調データを示し、画素が有色である場合は、色空間の成分の数の構成要素を有するベクトル量として表現するものとする。即ち、輝度のように色空間の特定成分の値についてはスカラー量を表すものとする。
【0061】
S307で、制御部101は、画像メモリ111に格納されているレベル合わせ後の複数の画像間における、被写体に変化が生じている画素(動き画素)、即ち動物体が存在する領域と黒潰れあるいは白飛びの状態が変化する画素を検出する(第2の特定)。具体的には制御部101は、画像処理部110に格納されているレベル合わせ後の複数の画像を2枚ずつ読み出し、同一座標の画素に係る画素値の差分を算出し、当該画素値の差分が予め定められた閾値以上である場合に、当該画素を動き画素として検出する。即ち、本ステップで検出する動き画素は、S301で特定した動体領域とは異なり、露出条件により変化する白飛び領域及び黒潰れ領域を含む。本ステップにおいて検出する動き画素は、HDR画像の生成において、生成ように撮像された画像のうち、適正露出条件で撮像された画像の画素を割り当てる画素を示している。
【0062】
例えばレベル合わせ後の高露出画像1001を基準として、中間露出画像1002及び低露出画像1003について輝度値の差分を算出する場合、3枚の画像の各画素が動き画素であるか否かを示す論理型変数BMOVは、次の論理式により判断する。
BMOV=F(Yb−Ya)∨F(Yc−Ya)・・・(1)
【0063】
ここで、Fは画素の輝度値の差分ΔYが、当該画素が動き画素であるかを判断するために予め定められた閾値ThMOVを超えるか否かを判断するための関数であり、次のように表される。
【0064】
なお、本実施形態では画像メモリ111に格納されているYCC画像の画素値の輝度成分を用いて動き画素を検出するものとして説明するが、本発明の実施はこれに限らない。例えば、画像メモリ111に記憶されている画像がRGB画像やRAW画像である場合は、画素が動き画素であるか否かを、画素値を構成する各色成分を示すベクトルの絶対値、あるいは特定の色成分を用いて判断してもよい。
【0065】
また、本実施形態ではHDR画像を合成するために用いる画像が3枚の場合について説明するが、それ以外の枚数を用いて合成を行う場合は、(1)の論理式は枚数に依存して変化する。複数の画像間において、同一座標の画素が動き画素であるか否かは、合成に用いる画像の数−1回の差分演算が少なくとも必要であり、論理式の項は当該回数と同じ数になり、全ての項はOR条件で結合した論理式を(1)の代わりに用いればよい。なお、本実施形態では1つの画像を基準として、当該画像とその他の画像の輝度値の差分を算出して論理式を判断するものとして説明するが、基準の画像を設定せずに例えば時系列で連続する2つの画像間で輝度値の差分を算出してもよい。
【0066】
図10に示した高露出画像1001、中間露出画像1002、及び低露出画像1003の間で動き画素を検出すると、画像の各画素は例えば図12に示すように分類される。図では、動き画素は黒丸、動き画素に該当しない画素は白丸で示されている。
【0067】
S308で、制御部101は画像処理部110を制御し、ダイナミックレンジを拡張したHDR画像を生成させる。具体的には制御部101は、S307で検出された動き画素の情報を画像処理部110に伝送し、動き画素とそれ以外の画素に応じて処理を切り替えてHDR画像を生成させる。画像処理部110は、入力された動き画素の情報に従い、生成するHDR画像のそれぞれの画素の画素値を次のように生成する。
【0068】
動き画素と判定された画素については、画像処理部110はS303で決定した適正露出条件で、S305において撮像された画像における、同一座標の画素値をそのまま代入する。
【0069】
動き画素以外の画素については、S307で動き画素として判定されていない、即ち露出の異なる複数の画像の全てにおいて、画素値の変化が閾値以内に収まっているため、いずれの画像の画素値を代入してもよい。なお、撮像素子の性能が低い場合、または前処理部108が電気的な影響を受けやすい場合には画素値にノイズが混入することも考えられるため、動き画素以外の画素については露出の異なる画像の全てあるいは一部の画像の画素値の重み付け平均値としてもよい。低露出画像がレベル合わせ処理において相対的に大きなゲインが乗じられており、ノイズやA/D変換の階調レベルの有限性による量子誤差の影響を受けやすいため、例えば重み付け平均では低露出画像の重み付けを小さくすればよい。
【0070】
なお、本ステップで画像処理部110により生成されたHDR画像は、画像メモリ111に格納されるものとする。
【0071】
S309で、制御部101は、S308で生成されたHDR画像に対して、画像処理部110にトーンマッピング処理あるいはレンジ圧縮処理を適用させ、最終的な出力のHDR画像を生成する。
【0072】
なおレンジ圧縮処理は、出力画像が所望のビット深度よりも大きい場合にビット深度を一致させるための処理である。
【0073】
またトーンマッピング処理は、例えば画像中の暗領域について階調を持ち上げさせ、明領域については階調を圧縮させる等、所望の階調表現となるような補正処理である。ダイナミックレンジを拡張した画像の生成において、ダイナミックレンジ拡張後にも残る白飛び、黒潰れ階調の画素を目立たなくするようにトーンマッピング処理を適用することは有効である。
【0074】
本実施形態では、動き画素として検出された画素については、HDR画像の生成時に1つの露出画像の画素値が割り当てられるため、当該露出画像の白飛び及び黒潰れ画素がそれぞれ階調表現の最大あるいは最小値に近づくようにトーンマッピング処理を行えばよい。このようにすることで、最終的な出力のHDR画像において、白飛び及び黒潰れ画素を目立たなくさせることができる。
【0075】
また、HDR画像の生成時に、動き画素として検出された画素に割り当てられる露出画像が有する白飛び画素の数と黒潰れ画素の数に応じて、トーンマッピング処理でマッピングする階調変換曲線を異ならせてもよい。
【0076】
例えばHDR画像の生成時に、動き画素として検出された画素に割り当てられる露出画像において、白飛び画素に対して黒潰れ画素が多い場合は、図13に示す1301のような変換曲線にマッピングされるように処理を行えばよい。図13は、横軸がトーンマッピング対象画像の階調値、縦軸がトーンマッピング後の階調値を示しており、軸はそれぞれ右方向あるいは上方向にいくほど高階調となっている。図13において対角線上に示した破線1304はトーンマッピングによる階調補正を行わない場合の階調変換曲線を表している。つまり、変換曲線1301は、露出画像における黒潰れ画素を目立たなくするために、黒潰れ画素の階調値が低階調端に近づけられるようになっており、黒潰れ階調以上の画素の階調表現の幅を拡張するような曲線となっている。
【0077】
反対に、露出画像において黒潰れ画素に対して白飛び画素が多い場合は、1302のような変換曲線にマッピングされる。また被写体のダイナミックレンジが広く、露出画像において黒潰れ画素と白飛び画素の両方が同様の割合で存在する場合は、1303に示すような変換曲線を用いる。これにより、黒潰れ画素の階調値が低階調端に近づけられ、白飛び画素の階調値が高階調端に近づけられるため、中間階調における階調表現を広くするとともに、黒潰れ画素及び白飛び画素を目立たなくすることができる。
【0078】
このように、トーンマッピング処理において適用する階調変換曲線を動的に変化させることで、最終的な出力のHDR画像において、黒潰れ画素及び白飛び画素を目立ちにくくすることが可能となる。
【0079】
また、本ステップの処理は、S308で生成されたHDR画像のビット深度が最終的な出力のHDR画像のビット深度と同一、あるいは階調特性が既に所望の特性を呈している場合は行う必要がない。
【0080】
S310で、制御部101は、最終的な出力のHDR画像を、予め定められた記録形式に変換するために画像処理部110において所定の符号化処理を適用させた後、記録媒体I/F部114を介して記録媒体115に出力し、記録させて本処理を完了する。また制御部101は、焦点距離や絞り値等の露出制御情報をメタデータとしてHDR画像と同時記録する場合には、制御部より必要な撮影設定情報や状態情報を取得し、記録媒体115に記録させる。
【0081】
なお、本実施形態では、最終的な出力のHDR画像を記録するものとして説明したが、HDR画像に対して、さらに階調・色調・コントラスト補正、エッジ強調等の画像処理を適用する場合は、当該HDR画像を画像メモリ111に格納すればよい。
【0082】
また、本実施形態では、例えば三脚を用いて撮影された画像のように、撮影シーンに含まれる、静止している被写体の画像内の位置が変化しない複数の画像を用いてHDR画像を生成するものとして説明した。しかしながら、本発明はこれに限らず、撮影された画像が手ぶれ等の影響により、撮影シーンに含まれる、静止している被写体の画像内の位置が変化する場合は、公知の方法により画像間の位置あわせを行った上で、被写体に変化が生じた画素を判断してもよい。手ぶれによる影響は、例えば図1に破線で示した姿勢変化検出部120を用いて、各画像について撮像時のデジタルカメラ100の姿勢情報を検出しておき、画像の比較時あるいは合成時に影響を補正すればよい。
【0083】
また、本実施形態では、時分割で撮影された露出の異なる複数の画像を用いるものとして説明したが、本発明の実施は、例えば撮影日が異なる同一時刻の画像等、同一の撮影シーンを撮影した画像を用いてHDR画像を生成する場合にも適用可能である。
【0084】
以上説明したように、本実施形態の撮像装置は、露出の異なる複数の画像を合成して得られる、階調範囲を拡張した画像における像の不連続を回避することができる。具体的には撮像装置は、被写体の全体における画素値の分布から、ダイナミックレンジを拡張した画像の生成に用いる2以上の画像の数、及び該2以上の画像の各々についての露出条件を決定する。また時分割で撮像された複数の画像から、画像内に含まれる動体領域を特定した後、該動体領域に対応する位置についての適正露出条件を決定し、2以上の画像の露出条件のうち、1つの露出条件を該適正露出条件に変更する。そして撮像装置は、変更された適正露出条件を含む、決定された露出条件で撮像された2以上の画像について、階調レベルを合わせた後、2以上の画像間における対応する画素値の差分が閾値以上である領域を特定する。そして、適正露出条件で撮像された画像の画素を、特定された画素値の差分が閾値以上である領域の画素として用い、他の画素については2以上の画像を合成してダイナミックレンジを拡張した画像を生成する。
【0085】
このようにすることで、動物体に対応する領域に白飛び領域あるいは黒潰れ領域が含まれる場合であっても、像の不連続を生じさせないとともに、該領域の画素を好適な露出条件で撮像された画素としたHDR画像を生成することができる。
【0086】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、撮像装置、その制御方法、及びプログラムに関し、露出の異なる複数の画像を合成することにより、階調範囲を拡張するダイナミックレンジ拡張技術に関する。
【背景技術】
【0002】
近年、デジタルカメラやデジタルビデオカメラ等の撮像装置の中には、露出時間を異ならせて被写体を撮影することにより得られた、露出の異なる複数の画像を合成することにより階調範囲を拡張した画像を得る、ダイナミックレンジ拡張機能を有するものがある。
【0003】
特許文献1には、撮像した画像が所定の輝度レンジに収まらない場合に、高輝度側の最高輝度及び低輝度側の最低輝度を検出して、高輝度側及び低輝度側の各々について輝度レンジに収まる2種類の画像を撮像してHDR画像を生成する撮像装置が開示されている。
【0004】
また、動体が含まれる場合のダイナミックレンジ拡張画像生成処理により出力された合成画像における像の不連続を回避するために、ダイナミックレンジ拡張画像生成処理における画像合成を動的に制御する技術が開示されている。
【0005】
特許文献2には、低露出画像と高露出画像の2枚の画像を用いてHDR画像を生成する場合に、正規化した各画像の階調レベルの差分に基づいて像の不連続が生じうる領域を特定し、当該領域で低露出画像への置き換えを行わないことが開示されている。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開2008−104009号公報
【特許文献2】特開2002−101347号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
しかしながら、上述した特許文献2の方法を用いたとしても、合成により生成されたHDR画像の動体領域において、高露出画像及び低露出画像の両方から抽出された画素が使用されることがあり、動体領域におけるテクスチャの不連続の問題が生じうる。
【0008】
本発明は、上述の問題点に鑑みてなされたものであり、露出の異なる複数の画像を合成して得られる、階調範囲を拡張した画像における像の不連続を回避する撮像装置、その制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
前述の目的を達成するために、本発明の撮像装置は、以下の構成を備える。
被写体を撮像して得られた画像を出力する撮像手段と、被写体の全体における画素値の分布から、ダイナミックレンジを拡張した画像の生成に用いる2以上の画像の数、及び該2以上の画像の各々についての露出条件を決定する決定手段と、撮像手段により時分割で撮像された複数の画像から、画像内に含まれる動体領域を特定する第1の特定手段と、第1の特定手段により特定された動体領域に対応する位置についての適正露出条件を決定し、決定手段により決定された2以上の画像の露出条件のうち、1つの露出条件を該適正露出条件に変更する変更手段と、変更手段により変更された適正露出条件を含む、決定手段により決定された露出条件で撮像手段により撮像された2以上の画像について、階調レベルを合わせた後、2以上の画像間における対応する画素値の差分が閾値以上である領域を特定する第2の特定手段と、2以上の画像を合成してダイナミックレンジを拡張した画像を生成する生成手段であって、適正露出条件で撮像された画像の画素を、第2の特定手段により特定された画素値の差分が閾値以上である領域の画素として用いる生成手段と、を有することを特徴とする。
【発明の効果】
【0010】
このような構成により本発明によれば、露出の異なる複数の画像を合成して得られる、階調範囲を拡張した画像における像の不連続を回避することが可能となる。
【図面の簡単な説明】
【0011】
【図1】本発明の実施形態に係るデジタルカメラ100の機能構成を示したブロック図
【図2】従来のダイナミックレンジ拡張処理により生じる、HDR画像における像の不連続を説明するための図
【図3】本発明の実施形態に係るダイナミックレンジ拡張画像生成処理のフローチャート
【図4】本発明の実施形態に係る動体領域を説明するための図
【図5】本発明の実施形態に係る露出条件の設定について説明するための図
【図6】本発明の実施形態に係る動物体に対応する画素のグループ化処理を説明するための図
【図7】本発明の実施形態に係る動体領域に対応した測光領域を示した図
【図8】本発明の実施形態に係る露出条件の変更を説明するための図
【図9】本発明の実施形態に係る並行処理を説明するための図
【図10】本発明の実施形態に係る、露出の異なる複数の画像の例
【図11】露出時間の違いによる、階調レベル合わせ後の階調範囲を説明するための図
【図12】本発明の実施形態に係る、検出された動き画素を示した図
【図13】本発明の実施形態に係るトーンマッピング処理を説明するための図
【発明を実施するための形態】
【0012】
以下、本発明の好適な一実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、撮像装置の一例としての、異なる露出時間で被写体を撮影して得られた複数の画像を合成して、ダイナミックレンジを拡張した画像(HDR画像)を出力可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、異なる露出時間で被写体を撮影して得られた複数の画像を合成して、ダイナミックレンジを拡張した画像を出力することが可能な任意の機器に適用可能である。また、本明細書において、「像の不連続」とは、HDR画像における透明化、テクスチャの不連続、残像、多重エッジ、及びパターン混合の問題を総称するものとして説明する。
【0013】
まず、HDR画像における透明化、テクスチャの不連続、残像、多重エッジ、及びパターン混合について説明する。特許文献1のようなダイナミックレンジ拡張技術によるHDR画像の生成には、被写体について露出時間を異ならせた複数回の撮影を行って得られる複数枚の合成用の画像を必要とする。しかしながら、被写体の中に動体が存在する場合、合成用の画像間において当該動体の被写体の存在する領域にずれが生じるため、合成用の画像を合成して得られたHDR画像において像が不連続となる問題が生じる。
【0014】
具体的には、被写体の中に動体が存在した場合に、複数回の撮影によって得られた画像を合成して得られたHDR画像には、以下のような像の不連続に係る問題が生じうる。例えば図2に示すように、高露出画像200において動体領域201内に白飛び領域202が存在する場合を想定すると、
1.白飛び領域202と同じ位置の領域に、動体が既に存在しない低露出画像220の
画素を用いて画素の置き換えを行うと、HDR画像230の動体領域内に背景が見
える透明領域231が生じてしまう(透明化)。
2.また、白飛び領域202と同じ位置の領域に動体は存在するが、その位置が異なっ
ている低露出画像220の画素を用いて画素の置き換えを行うことにより、当該領
域232の境界において動体表面のテクスチャは不連続となる。
3.さらに、図2とは異なり、高露出画像において背景の領域に白飛び領域があり、低
露出画像において当該領域を遮蔽する位置に動体が存在する場合は、白飛び領域の
画素の低露出画像への置き換えにより動体の像が複数あるように合成されてしまう
(残像)。
【0015】
また、画素の置き換えによる処理に限らず、中間階調における複数の画像の重み付け平均を用いた合成処理により、従来の画像合成時に係る問題である、動体周囲の多重エッジや、加算された動体領域におけるパターン混合等の、像の不連続も生じる。
【0016】
なお、上述した特許文献2の方法を用いたとしても、合成により生成されたHDR画像の動体領域において、高露出画像及び低露出画像の両方から抽出された画素が使用されることがあり、動体領域におけるテクスチャの不連続の問題が生じうる。
【0017】
一方、HDR画像の生成用に撮像された複数の画像全ての差分から、画素値の変化量が閾値以上の領域を特定し、該領域の画素については1つの画像から抽出した画素でHDR画像を生成することで、像の不連続を解消する方法が考えられる。しかしながら、画素値の変化量が閾値以上の領域に割り当てる画素を抽出する画像の選択によっては、該画像に白飛び領域や黒潰れ領域が含まれる場合があり、得られるHDR画像では所望のダイナミックレンジ拡張効果が得られない可能性がある。特に、特許文献1のように、最高輝度及び最低輝度に応じてHDR画像生成用の高露出画像及び低露出画像を撮像する場合、いずれの画像にも白飛び領域あるいは黒潰れ領域が含まれることが考えられ、所望のダイナミックレンジ拡張効果は得られない。
【0018】
そこで本発明は、画像内に含まれる動体領域についての適正露出条件を決定し、2以上の画像の露出条件のうち、1つの露出条件を該適正露出条件に変更して2以上の画像を撮像し、動体領域と判定される領域に当該適正露出条件で撮像された画像の画素を使用することを特徴とする。
【0019】
<デジタルカメラの機能構成>
図1は、本発明の実施形態に係るデジタルカメラ100の機能構成を示すブロック図である。
【0020】
制御部101は、例えばCPUであり、ROM102に記憶された、後述するダイナミックレンジ拡張画像生成処理のプログラムを読み出してRAM103に展開して実行することにより、デジタルカメラ100が備える各ブロックの動作を制御する。ROM102は、例えば書き換え可能な不揮発性メモリ等のレジスタであり、ダイナミックレンジ拡張画像生成処理のプログラムに加え、デジタルカメラ100が備える各ブロックの動作に必要な制御パラメータ等の情報を格納する。RAM103は、例えば揮発性メモリであり、ダイナミックレンジ拡張画像生成処理のプログラムの展開領域としてだけでなく、デジタルカメラ100が備える各ブロックの動作において出力された中間データを一時的に格納する記憶領域として用いられる。
【0021】
なお、本実施形態ではハードウェアとしてデジタルカメラ100が備える各ブロックにおいて各処理が実現されるものとして説明するが、本発明の実施はこれに限らず、各ブロックの処理は当該各ブロックと同様の処理を行うプログラムで実現されてもよい。
【0022】
絞り105は、光学系104の瞳面に配置されて撮像部107面上に入射する光を部分的に遮ることで光量を調整する露出制御要素である。メカシャッタ106は、撮像部107面上に入射する光線を物理的に遮蔽することにより時間的な入射光量を調整する露出制御要素である。
【0023】
撮像部107は、撮像素子であり、例えばベイヤ配列状にカラーフィルタを敷き詰めて一面で被写体像を受光する単板素子、または図示しない分光プリズムにより色情報を3つ以上に分離し、それぞれの光を別々の撮像素子で受光する3板素子等で構成される。撮像部107は、複数枚のレンズ及びミラーから構成される光学系104を介して結像された被写体像を光電変換することにより、アナログ画像信号を前処理部108に出力する。
【0024】
なお、撮像部107が3板式の場合、分光光学素子が必要となるが、後述の画像処理部110におけるベイヤ配列補間処理を省略することが可能である。また撮像部107は、撮像素子が電子シャッタ機能を備えており、撮像素子の蓄積時間及び読み出しタイミングを制御することにより光量調整を行う露出制御要素でもある。
【0025】
前処理部108は、入力されたアナログ画像信号に対し、相関二重サンプリング(CDS)によるノイズ除去、オートゲインコントロール(AGC)によるゲイン調整を用いた露出制御、黒レベル補正、及びA/D変換処理を適用してデジタル画像信号を出力する。前処理部108で行われる各種処理は、アナログ画像信号に対する前処理であるため、AFE(アナログフロントエンド)処理とも呼ばれる。
【0026】
本実施形態では、露出の異なる複数の画像を時分割で撮影するため、露出制御部109を用いて絞り105、メカシャッタ106、撮像部107、及び前処理部108における露出制御の動作を制御する。具体的には露出制御部109は、制御部101から入力された複数の画像それぞれの露出の情報に従い、絞り105の絞り量、メカシャッタ106の開放時間、撮像素子の蓄積時間及び読み出しタイミング、及び前処理部108におけるゲイン調整量を制御する。
【0027】
画像処理部110は、入力されたデジタル画像信号に対し、ベイヤ配列補間、線形化マトリクス処理、ホワイトバランス調整、YCC変換、色差・階調・コントラスト補正、エッジ強調処理等の画像処理を適用する。画像処理部110は、これらの画像処理を適用することにより、一枚の出力画像(通常の1枚撮影に係る画像)を生成可能である。生成された画像は、例えば後述する画像メモリ111に格納される、あるいは記録媒体I/F部114を介して記録媒体115に記録される。また画像処理部110で行われる各種画像処理は、前処理部のAFE処理に対してDBE(デジタルバックエンド)処理と呼ばれる。
【0028】
また本実施形態では、画像処理部110は、露出の異なる複数の画像からダイナミックレンジを拡張したHDR画像を生成するための各工程で実行される、合成処理を含む画像処理を実行するものとする。ダイナミックレンジ拡張画像生成処理で用いられる、露出の異なる複数の画像は、画像処理部110におけるDBE処理の適用後、画像メモリ111に順次蓄積されており、画像処理部110は当該画像メモリ111から各画像を読み出して必要な処理を適用する。
【0029】
また、画像処理部110は、例えばROM102に記憶されている、撮影された画像の記録フォーマットに従い、圧縮・符号化等の変換処理が必要である場合は該処理を画像データに適用し、記録用の画像データを生成する。
【0030】
画像メモリ111は、デジタルカメラ100が備える、画像用の格納領域であり、ダイナミックレンジ拡張画像生成処理に限らず、DBE処理の一部の処理が適用されて得られた中間画像データが必要に応じて一時的に格納されてもよい。画像メモリ111に格納される画像は、例えばベイヤ配列補間、線形化マトリクス処理が適用された3プレーンのRAW画像データ、さらにホワイトバランス調整を行ったRGB画像、あるいはさらにYCC変換が適用されたYCC画像であってもよい。なお、本実施形態では画像メモリ111に格納されるダイナミックレンジ拡張画像生成処理用の画像はYCC画像であるものとして、以下に説明するものとする。しかしながら、後述するダイナミックレンジ拡張画像生成処理で用いられる画像は、YCC色空間に限らず、他の色空間の画像が用いられてもよい。
【0031】
表示部112は、例えば小型LCD等のデジタルカメラ100が備える表示装置であり、撮影された画像、生成されたHDR画像、あるいは後述する記録媒体I/F部114を介して記録媒体115から読み出された画像が表示される。
【0032】
操作部113は、例えば撮影ボタンやメニューボタン等のデジタルカメラ100が備える、ユーザからの操作入力を受け付けるためのユーザインタフェースである。操作部113は、ユーザによりなされた操作入力を解析し、当該操作入力に対応する信号を制御部101に出力する。また操作部113は、上述した撮影ボタンやメニューボタン等の物理的な操作部材に限らず、タッチパネルセンサを備えてもよく、例えばユーザにより操作された表示部112の表示領域上の位置の情報を制御部101に出力する。
【0033】
記録媒体I/F部114は、例えば画像処理部110で生成された画像データ等の接続された記録媒体115への書き込み、あるいは記録媒体115からのデータの読み出し等を行うためのインタフェースである。また記録媒体115は、例えばデジタルカメラ100が備える内蔵メモリや、メモリカードやHDD等のデジタルカメラ100に着脱可能に接続される記録装置であってよい。
【0034】
<ダイナミックレンジ拡張画像生成処理>
このような構成をもつ本実施形態のデジタルカメラ100のダイナミックレンジ拡張画像生成処理について、図3のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、制御部101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本ダイナミックレンジ拡張画像生成処理は、例えばデジタルカメラ100の撮影モードがHDR画像撮影モードに設定された状態で、ユーザが撮影ボタンを操作することにより撮影指示がなされた際に開始されるものとして説明する。
【0035】
S301で、制御部101は、撮影画角内の動体領域を特定し(第1の特定)、RAM103に記憶させる。動体領域は、HDR画像の生成のために撮影される画像に含まれる、移動中の被写体等、動きのある被写体が存在する領域を指す。具体的には制御部101は、時分割で撮像された複数の予備撮影画像を画像メモリ111から取得し、該複数の予備撮影画像について画素値の差分を算出する。そして制御部101は、該差分が動体と判断する所定の閾値ThMOV以上であるか否かを判断することにより、画素ごとに動体領域であるか否かを特定する。本実施形態では制御部101は、同一の露出条件で、時分割で撮像された2つの予備撮影画像について、前処理部108及び画像処理部110に所定の処理を適用させてYCC形式の画像を生成させる。そして制御部101は、YCC形式の2つの予備撮影画像の輝度成分について差分を算出させ、画素ごとに閾値ThMOVとの比較を行う。
【0036】
例えば図4(a)及び(b)に示すような、動体410を含む被写体を時分割撮像した2つの予備撮影画像401及び402を用いて動体領域を検出する場合、制御部101は、画像を複数のブロックに分割し、ブロックごとに輝度成分の差分を算出する。図4の例では、被写体の移動により輝度値が変化した、図4(c)に黒丸で示したブロックが動体領域として特定される。
【0037】
なお、本実施形態では制御部101は、同一の露出条件で時分割撮像された2つの予備撮影画像を用いて動体領域を特定する。予備撮影画像の露出条件が異なる場合、2つの予備撮影画像の階調レベルを、同一の被写体について階調レベルが等しくなるように露出条件に応じて調整することで、制御部101は比較を行うことも可能である。しかしながら、露出条件が異なることにより、予備撮影画像内に白飛び領域あるいは黒潰れ領域が含まれる場合、該領域が露出条件によって変化するため、結果的に静止物体の一部の領域も動体領域として検出されてしまう。
【0038】
HDR画像の生成では「動物体に対応する領域に白飛び領域あるいは黒潰れ領域が含まれる」場合に、露出条件の異なる複数の画像からサンプリングされた画素を動体領域に割り当てることで像の不連続が生じうる。このような領域について1枚の画像からサンプリングした画素を割り当てることで、像の不連続を回避することができるが、上述したように該領域に白飛び画素あるいは黒潰れ画素を割り当てた場合、得られる画像のダイナミックレンジの拡張効果は低い。即ち、このような画素の割当てを含む処理により生成されたHDR画像は、像の不連続の問題は回避しているが、そもそもの目的であったダイナミックレンジの拡張については好適な結果が得られない可能性がある。このため本実施形態では、少なくとも動体領域について好適な露出条件(適正露出条件)を設定し、該条件で撮影された画像を用いてHDR画像を生成する。このとき、露出条件の変化に応じて、静止物体の領域に生じた白飛び画素や黒潰れ画素の変化を動体領域として検出してしまうと、決定された露出条件が厳密な動物体についての好適な露出条件から外れてしまうことが考えられる。
【0039】
1つの領域について適正露出条件を決定する場合、制御部101は例えば図5に示すような該領域の階調分布から、階調分布の重み付け重心Igを算出する。そして制御部101は、階調分布の重み付け重心Igが、所定の階調範囲の中央値近傍となる露出条件を決定する。つまり、例えば静止物体の領域存在する白飛び画素の変化を考慮して決定される露出条件は、階調分布の重み付け重心が高階調側にあるため動物体のみを考慮した場合よりも低い露出量となる。即ち、このように決定した露出条件で撮像した画像を動体領域の画素として割り当てる場合、露出が低いため、該領域に黒潰れ画素が含まれることがある。このため、本実施形態では露出条件が異なる複数の予備撮影画像を用いて動体領域を検出する場合は、それぞれの露出条件において白飛び画素及び黒潰れ画素の変化がない、あるいは変化量が小さい予備撮影画像を用いるものとする。
【0040】
なお、本実施形態では同一の露出条件で撮像された2つの予備撮影画像を用いて、動体領域を特定するものとして説明するが、動体領域の特定方法はこれに限られない。例えば、動体領域決定のために用いられる予備撮影画像は3以上であってもよいし、複数の予備撮影画像はそれぞれ異なる露出条件で撮像された画像であってもよい。なお、異なる露出条件で撮像された画像を用いる場合、各画像は上述したように静止物体の領域において白飛び画素や黒潰れ画素による変化が生じない露出条件で撮像されることが好ましい。
【0041】
また、動体領域の特定においては、露出条件によって白飛び領域あるいは黒潰れ領域となる領域内にも動物体が存在することもある。このため制御部101は、低露出側の露出条件及び高露出側の露出条件等、異なる露出条件の各々で取得した複数の予備撮影画像から特定した動体領域を統合して、最終的な動体領域を決定してもよい。
【0042】
また、動体領域は画角内の領域ごとに複数特定する構成であってもよい。複数に分割して特定された動体領域は、動物体に対応する画素のグループ化により得られる。具体的には制御部101は、画素についての座標情報を基準として、画素の輝度値及び色情報を追加情報としてグループ化を行う。
【0043】
ここで動物体に対応する画素のグループ化について、図6を用いて説明する。例えば本ステップで検出された動物体に対応する画素が図6(a)のように分布している場合、同一の条件に当てはまる動物体に対応する画素をグループ化するために、制御部101は領域成長法を用いてグループ化に係る処理を実行すればよい。
【0044】
領域成長法とは、最初は細かく(例えば画素単位に)分かれた要素をある評価値に基づき、グループの評価値と要素の評価値の差があらかじめ決めた閾値以下の場合には合体し、それ以外は合体しないようにグループ化する、一般的な画像処理の一つである。領域成長法については、例えば「新編 画像解析ハンドブック,高木幹雄・下田陽久,東京大学出版会」に示されている。
【0045】
このように動体領域の特定が完了した後、制御部101は処理をS302に移す。
【0046】
S302で、制御部101は、HDR画像の生成に必要な画像の数(2以上)、及び当該画像それぞれの露出量(露出条件)を決定し、RAM103に記憶させる。HDR画像の生成に必要な画像の数、及び当該画像それぞれの露出量の情報は、例えば予め設定されてROM102に記憶されていてもよいし、被写体の測光処理の結果に応じて決定されてもよい。本実施形態では制御部101は、高露出側の露出条件及び低露出側の露出条件のそれぞれで撮像部107に予備撮影を行わせ、得られた画像から被写体の最高輝度部及び最低輝度部を特定する。そして制御部101は、最高輝度及び最低輝度から算出される輝度範囲と、撮像素子のダイナミックレンジとからHDR画像の生成に必要な画像の数を決定する。さらに制御部101は、被写体の最高輝度部を白飛びさせないアンダーな露出量EUNDER、及び最低輝度部分を黒潰れさせないオーバーな露出量EOVERを含む、各露出画像の露出条件を決定する。HDR画像の生成に必要な画像の数が3以上の場合、各画像の露出条件は、例えばEUNDERとEOVERとの間を均等配分するように決定されればよい。
【0047】
なお、本実施形態ではHDR画像の生成に必要な画像の数を被写体の輝度分布に応じて決定するものとして説明したが、HDR画像の生成に用いる画像の数は固定値であってもよい。
【0048】
S303で、制御部101は、動体領域についての適正露出条件を決定し、RAM103に記憶させる。図4(c)のように動体領域が検出された場合、制御部101は、該動体領域に対応する図7のような測光領域について不図示の測光部に測光を行わせ、得られた測光結果を用いて適正露出条件を決定する。適正露出条件の決定方法は、例えば図5を参照して上述したように、測光結果から得られた動体領域の階調分布に応じて決定すればよい。
【0049】
S304で、制御部101は、RAM103に記憶されているS302で決定したHDR画像の生成に用いる2以上の画像についての露出条件のうち、1つの露出条件をS303で決定した適正露出条件に変更する。具体的には制御部101は、HDR画像の生成に用いる2以上の画像についての露出条件のうち、適正露出条件に最も露出量が近い露出条件を特定し、該露出条件を適正露出条件に変更する。
【0050】
即ち、本実施形態ではHDR画像の生成において、少なくとも動体領域については適正露出条件で撮影された1つの画像の画素を割り当てるため、HDR画像の生成に用いる2以上の画像の露出条件には適正露出条件が含まれる必要がある。つまり、S302では被写体の全体についての輝度分布に応じてHDR画像の生成に用いる2以上の画像の露出条件を決定しているため、該露出条件には適正露出条件が含まれていない可能性があり、本ステップにおいて変更を行う。
【0051】
例えば、HDR画像の生成に必要な画像の数が2であり、EUNDER及びEOVERと、適正露出条件EMVとが図8(a)に示されるような関係にある場合を考える。このとき適性露出条件EMVに最も近い露出量はEUNDERであるため、制御部101は図8(b)に示されるように、HDR画像の生成に必要な2つの画像の露出条件を適正露出条件EMVとEOVERとに変更する。また同様にHDR画像の生成に必要な画像の数が3であり、EUNDER、中間階調画像の露出量EMID、及びEOVERと、適正露出条件EMVとが図8(c)に示されるような関係にある場合を考える。このとき適性露出条件EMVに最も近い露出量はEMIDであるため、制御部101は図8(d)に示されるように、HDR画像の生成に必要な3つの画像の露出条件を適正露出条件EMV、EUNDER、及びEOVERに変更する。
【0052】
このように、本ダイナミックレンジ拡張画像生成処理では、S301乃至S304により、被写体の動体領域を検出し、該動体領域についての適正露出条件を含めて、HDR画像の生成に必要な画像の露出条件を決定する。なお、S301及びS302では、それぞれ予備撮影画像を撮像し、予備撮影画像に基づいて制御部101が動体領域及び露出条件を決定するものとして説明した。しかしながら、それぞれのステップにおいて予備撮影動作を行う場合、実際にHDR画像の生成に用いる画像の撮影(本撮影)までに要する時間が増加するため、S301乃至S303の処理は並行して実行されてもよい。
【0053】
例えば図9に示すように、制御部101は露出制御部109に絞り105、メカシャッタ106、撮像部107、及び前処理部108を制御させ、本撮影までに低露出画像901、高露出画像902、及び低露出画像903を時系列順に取得する。制御部101は、高露出画像902が取得された際に最低輝度部を特定し、S302における露出量EOVERの決定を行えばよい。また制御部101は、低露出画像903(低露出画像901と同一の露出条件)が取得された際に最高輝度部を特定してS302における露出量EUNDERを決定し、さらにHDR画像の生成に必要な他の画像の露出条件を決定すればよい。このとき制御部101は並行して低露出画像901と低露出画像903とを比較してS301における動体領域を特定し、さらにS303の適正露出条件を決定すればよい。そしてS304でHDR画像の生成に必要な画像の露出条件のうち1つの露出条件を適正露出条件に変更した後、制御部101は露出制御部109に露出制御を行わせ、S305以降の本撮影処理及びHDR画像の合成処理を実行すればよい。
【0054】
このように並行処理を行うことにより、本撮影までに要する時間を短縮することができるが、例えば直近にHDR画像の生成を行う撮影が行われた場合、本撮影までに要する時間をさらに短縮することもできる。直近に行われたHDR画像の生成は、所定の時間内であれば同一の被写体について行われていると考えられる。このため制御部101は、例えばS301あるいはS303において、動体領域あるいは適正露出条件の情報を直近に行われたHDR画像の生成に用いた動体領域あるいは適正露出条件を使用するようにしてもよい。この場合、動体領域あるいは適正露出条件を示す情報はRAM103に記憶されていればよい。
【0055】
S305で、制御部101は、RAM103に記憶された、S304における変更後の露出条件に従い、露出制御部109に絞り105、メカシャッタ106、撮像部107、及び前処理部108を制御させて、時分割撮影された複数の画像を取得する。なお、取得された時分割撮影された、露出の異なる複数の画像は、前処理部108及び画像処理部110における所定の処理が適用されてYCC形式の画像に変換された上で、画像メモリ111に格納される。
【0056】
なお、本実施形態では簡単のため、図10に示すような3枚の露出の異なる画像1001、1002、1003を用いてHDR画像の生成を行うものとして説明するが、本発明の実施はこれに限らず、2枚以上の露出の異なる画像による生成において適用可能である。画像1001〜1003は、1001、1002、1003の順に露出量が小さくなっており、時系列において同様の順番で撮影されるものとする。以下ではこれらの画像を、高露出画像1001、中間露出画像1002、低露出画像1003と称して説明するものとする。またそれぞれの画像には、被写体として静止物体1010及び1011と動物体1012及び1013が含まれ、複数の画像の撮影中、動物体1012及び1013はデジタルカメラ100に対して右方向に動いている。
【0057】
また、デジタルカメラ100が不図示の光学式及び電子式の少なくともいずれかの防振機能と類似のレジストレーション機能を備える場合、該機能はS305で得られる露出の異なる複数の画像に適用される。
【0058】
S306で、制御部101は、画像メモリ111に格納されている複数の画像間で、同一の被写体に係る画素値を均一にするために、画像処理部110に各画像の露出に関する階調レベル合わせ処理を行わせる。具体的には画像処理部110は、画像メモリ111に格納されている複数の画像のそれぞれに対し、最長露出の画像の露出時間を基準とした各画像の露出時間の比の逆数を乗算することにより、階調レベル合わせを行う。なお、制御部101は、画像処理部110に当該レベル合わせ後の画像を画像メモリ111に出力させ、格納させる。
【0059】
図11は、階調レベル合わせを行った後の、各画像の階調範囲と、複数の画像を用いて生成されるHDR画像で表現可能な階調範囲を示した図である。図では階調範囲として画像の輝度Y成分の画素値を用いている。またレベル合わせ後の各画像において白飛びの輝度閾値HLV、黒潰れの輝度閾値LLVは参照符号を用いて表現され、それぞれaは高露出画像1001、bは中間露出画像1002、cは低露出画像1003に対応している。
【0060】
なお、本実施形態において、画素値とは画素が有する階調データを示し、画素が有色である場合は、色空間の成分の数の構成要素を有するベクトル量として表現するものとする。即ち、輝度のように色空間の特定成分の値についてはスカラー量を表すものとする。
【0061】
S307で、制御部101は、画像メモリ111に格納されているレベル合わせ後の複数の画像間における、被写体に変化が生じている画素(動き画素)、即ち動物体が存在する領域と黒潰れあるいは白飛びの状態が変化する画素を検出する(第2の特定)。具体的には制御部101は、画像処理部110に格納されているレベル合わせ後の複数の画像を2枚ずつ読み出し、同一座標の画素に係る画素値の差分を算出し、当該画素値の差分が予め定められた閾値以上である場合に、当該画素を動き画素として検出する。即ち、本ステップで検出する動き画素は、S301で特定した動体領域とは異なり、露出条件により変化する白飛び領域及び黒潰れ領域を含む。本ステップにおいて検出する動き画素は、HDR画像の生成において、生成ように撮像された画像のうち、適正露出条件で撮像された画像の画素を割り当てる画素を示している。
【0062】
例えばレベル合わせ後の高露出画像1001を基準として、中間露出画像1002及び低露出画像1003について輝度値の差分を算出する場合、3枚の画像の各画素が動き画素であるか否かを示す論理型変数BMOVは、次の論理式により判断する。
BMOV=F(Yb−Ya)∨F(Yc−Ya)・・・(1)
【0063】
ここで、Fは画素の輝度値の差分ΔYが、当該画素が動き画素であるかを判断するために予め定められた閾値ThMOVを超えるか否かを判断するための関数であり、次のように表される。
【0064】
なお、本実施形態では画像メモリ111に格納されているYCC画像の画素値の輝度成分を用いて動き画素を検出するものとして説明するが、本発明の実施はこれに限らない。例えば、画像メモリ111に記憶されている画像がRGB画像やRAW画像である場合は、画素が動き画素であるか否かを、画素値を構成する各色成分を示すベクトルの絶対値、あるいは特定の色成分を用いて判断してもよい。
【0065】
また、本実施形態ではHDR画像を合成するために用いる画像が3枚の場合について説明するが、それ以外の枚数を用いて合成を行う場合は、(1)の論理式は枚数に依存して変化する。複数の画像間において、同一座標の画素が動き画素であるか否かは、合成に用いる画像の数−1回の差分演算が少なくとも必要であり、論理式の項は当該回数と同じ数になり、全ての項はOR条件で結合した論理式を(1)の代わりに用いればよい。なお、本実施形態では1つの画像を基準として、当該画像とその他の画像の輝度値の差分を算出して論理式を判断するものとして説明するが、基準の画像を設定せずに例えば時系列で連続する2つの画像間で輝度値の差分を算出してもよい。
【0066】
図10に示した高露出画像1001、中間露出画像1002、及び低露出画像1003の間で動き画素を検出すると、画像の各画素は例えば図12に示すように分類される。図では、動き画素は黒丸、動き画素に該当しない画素は白丸で示されている。
【0067】
S308で、制御部101は画像処理部110を制御し、ダイナミックレンジを拡張したHDR画像を生成させる。具体的には制御部101は、S307で検出された動き画素の情報を画像処理部110に伝送し、動き画素とそれ以外の画素に応じて処理を切り替えてHDR画像を生成させる。画像処理部110は、入力された動き画素の情報に従い、生成するHDR画像のそれぞれの画素の画素値を次のように生成する。
【0068】
動き画素と判定された画素については、画像処理部110はS303で決定した適正露出条件で、S305において撮像された画像における、同一座標の画素値をそのまま代入する。
【0069】
動き画素以外の画素については、S307で動き画素として判定されていない、即ち露出の異なる複数の画像の全てにおいて、画素値の変化が閾値以内に収まっているため、いずれの画像の画素値を代入してもよい。なお、撮像素子の性能が低い場合、または前処理部108が電気的な影響を受けやすい場合には画素値にノイズが混入することも考えられるため、動き画素以外の画素については露出の異なる画像の全てあるいは一部の画像の画素値の重み付け平均値としてもよい。低露出画像がレベル合わせ処理において相対的に大きなゲインが乗じられており、ノイズやA/D変換の階調レベルの有限性による量子誤差の影響を受けやすいため、例えば重み付け平均では低露出画像の重み付けを小さくすればよい。
【0070】
なお、本ステップで画像処理部110により生成されたHDR画像は、画像メモリ111に格納されるものとする。
【0071】
S309で、制御部101は、S308で生成されたHDR画像に対して、画像処理部110にトーンマッピング処理あるいはレンジ圧縮処理を適用させ、最終的な出力のHDR画像を生成する。
【0072】
なおレンジ圧縮処理は、出力画像が所望のビット深度よりも大きい場合にビット深度を一致させるための処理である。
【0073】
またトーンマッピング処理は、例えば画像中の暗領域について階調を持ち上げさせ、明領域については階調を圧縮させる等、所望の階調表現となるような補正処理である。ダイナミックレンジを拡張した画像の生成において、ダイナミックレンジ拡張後にも残る白飛び、黒潰れ階調の画素を目立たなくするようにトーンマッピング処理を適用することは有効である。
【0074】
本実施形態では、動き画素として検出された画素については、HDR画像の生成時に1つの露出画像の画素値が割り当てられるため、当該露出画像の白飛び及び黒潰れ画素がそれぞれ階調表現の最大あるいは最小値に近づくようにトーンマッピング処理を行えばよい。このようにすることで、最終的な出力のHDR画像において、白飛び及び黒潰れ画素を目立たなくさせることができる。
【0075】
また、HDR画像の生成時に、動き画素として検出された画素に割り当てられる露出画像が有する白飛び画素の数と黒潰れ画素の数に応じて、トーンマッピング処理でマッピングする階調変換曲線を異ならせてもよい。
【0076】
例えばHDR画像の生成時に、動き画素として検出された画素に割り当てられる露出画像において、白飛び画素に対して黒潰れ画素が多い場合は、図13に示す1301のような変換曲線にマッピングされるように処理を行えばよい。図13は、横軸がトーンマッピング対象画像の階調値、縦軸がトーンマッピング後の階調値を示しており、軸はそれぞれ右方向あるいは上方向にいくほど高階調となっている。図13において対角線上に示した破線1304はトーンマッピングによる階調補正を行わない場合の階調変換曲線を表している。つまり、変換曲線1301は、露出画像における黒潰れ画素を目立たなくするために、黒潰れ画素の階調値が低階調端に近づけられるようになっており、黒潰れ階調以上の画素の階調表現の幅を拡張するような曲線となっている。
【0077】
反対に、露出画像において黒潰れ画素に対して白飛び画素が多い場合は、1302のような変換曲線にマッピングされる。また被写体のダイナミックレンジが広く、露出画像において黒潰れ画素と白飛び画素の両方が同様の割合で存在する場合は、1303に示すような変換曲線を用いる。これにより、黒潰れ画素の階調値が低階調端に近づけられ、白飛び画素の階調値が高階調端に近づけられるため、中間階調における階調表現を広くするとともに、黒潰れ画素及び白飛び画素を目立たなくすることができる。
【0078】
このように、トーンマッピング処理において適用する階調変換曲線を動的に変化させることで、最終的な出力のHDR画像において、黒潰れ画素及び白飛び画素を目立ちにくくすることが可能となる。
【0079】
また、本ステップの処理は、S308で生成されたHDR画像のビット深度が最終的な出力のHDR画像のビット深度と同一、あるいは階調特性が既に所望の特性を呈している場合は行う必要がない。
【0080】
S310で、制御部101は、最終的な出力のHDR画像を、予め定められた記録形式に変換するために画像処理部110において所定の符号化処理を適用させた後、記録媒体I/F部114を介して記録媒体115に出力し、記録させて本処理を完了する。また制御部101は、焦点距離や絞り値等の露出制御情報をメタデータとしてHDR画像と同時記録する場合には、制御部より必要な撮影設定情報や状態情報を取得し、記録媒体115に記録させる。
【0081】
なお、本実施形態では、最終的な出力のHDR画像を記録するものとして説明したが、HDR画像に対して、さらに階調・色調・コントラスト補正、エッジ強調等の画像処理を適用する場合は、当該HDR画像を画像メモリ111に格納すればよい。
【0082】
また、本実施形態では、例えば三脚を用いて撮影された画像のように、撮影シーンに含まれる、静止している被写体の画像内の位置が変化しない複数の画像を用いてHDR画像を生成するものとして説明した。しかしながら、本発明はこれに限らず、撮影された画像が手ぶれ等の影響により、撮影シーンに含まれる、静止している被写体の画像内の位置が変化する場合は、公知の方法により画像間の位置あわせを行った上で、被写体に変化が生じた画素を判断してもよい。手ぶれによる影響は、例えば図1に破線で示した姿勢変化検出部120を用いて、各画像について撮像時のデジタルカメラ100の姿勢情報を検出しておき、画像の比較時あるいは合成時に影響を補正すればよい。
【0083】
また、本実施形態では、時分割で撮影された露出の異なる複数の画像を用いるものとして説明したが、本発明の実施は、例えば撮影日が異なる同一時刻の画像等、同一の撮影シーンを撮影した画像を用いてHDR画像を生成する場合にも適用可能である。
【0084】
以上説明したように、本実施形態の撮像装置は、露出の異なる複数の画像を合成して得られる、階調範囲を拡張した画像における像の不連続を回避することができる。具体的には撮像装置は、被写体の全体における画素値の分布から、ダイナミックレンジを拡張した画像の生成に用いる2以上の画像の数、及び該2以上の画像の各々についての露出条件を決定する。また時分割で撮像された複数の画像から、画像内に含まれる動体領域を特定した後、該動体領域に対応する位置についての適正露出条件を決定し、2以上の画像の露出条件のうち、1つの露出条件を該適正露出条件に変更する。そして撮像装置は、変更された適正露出条件を含む、決定された露出条件で撮像された2以上の画像について、階調レベルを合わせた後、2以上の画像間における対応する画素値の差分が閾値以上である領域を特定する。そして、適正露出条件で撮像された画像の画素を、特定された画素値の差分が閾値以上である領域の画素として用い、他の画素については2以上の画像を合成してダイナミックレンジを拡張した画像を生成する。
【0085】
このようにすることで、動物体に対応する領域に白飛び領域あるいは黒潰れ領域が含まれる場合であっても、像の不連続を生じさせないとともに、該領域の画素を好適な露出条件で撮像された画素としたHDR画像を生成することができる。
【0086】
[その他の実施形態]
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
被写体を撮像して得られた画像を出力する撮像手段と、
前記被写体の全体における画素値の分布から、ダイナミックレンジを拡張した画像の生成に用いる2以上の画像の数、及び該2以上の画像の各々についての露出条件を決定する決定手段と、
前記撮像手段により時分割で撮像された複数の予備撮影画像から、画像内に含まれる動体領域を特定する第1の特定手段と、
前記第1の特定手段により特定された前記動体領域に対応する位置についての適正露出条件を決定し、前記決定手段により決定された前記2以上の画像の露出条件のうち、1つの露出条件を該適正露出条件に変更する変更手段と、
前記変更手段により変更された前記適正露出条件を含む、前記決定手段により決定された露出条件で前記撮像手段により撮像された前記2以上の画像について、階調レベルを合わせた後、前記2以上の画像間における対応する画素値の差分が閾値以上である領域を特定する第2の特定手段と、
前記2以上の画像を合成してダイナミックレンジを拡張した画像を生成する生成手段であって、前記適正露出条件で撮像された画像の画素を、前記第2の特定手段により特定された前記画素値の差分が閾値以上である領域の画素として用いる生成手段と、
を有することを特徴とする撮像装置。
【請求項2】
前記変更手段は、前記決定手段により決定された前記2以上の画像の露出条件のうち、前記適正露出条件と露出量が最も近い露出条件を、前記適正露出条件に変更することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記変更手段は、前記動体領域に白飛び画素が含まれない露出量の範囲のうちの最も高い露出量に基づいて前記適正露出条件を決定することを特徴とする請求項1または2に記載の撮像装置。
【請求項4】
前記第1の特定手段は、前記生成手段により直近にダイナミックレンジを拡張した画像が生成されている場合に、該直近のダイナミックレンジを拡張した画像の生成に用いた動体領域を前記画像内に含まれる動体領域として特定することを特徴とする請求項1乃至3のいずれか1項に記載の撮像装置。
【請求項5】
前記変更手段は、前記生成手段により直近にダイナミックレンジを拡張した画像が生成されている場合に、前記2以上の画像の露出条件のうち、1つの露出条件を、該直近のダイナミックレンジを拡張した画像の生成に用いた適正露出条件に変更することを特徴とする請求項1乃至4のいずれか1項に記載の撮像装置。
【請求項6】
前記第1の特定手段は、同一の露出条件で、時分割で撮像された複数の画像の画素値の差分を用いて、前記動体領域を特定することを特徴とする請求項1乃至5のいずれか1項に記載の撮像装置。
【請求項7】
被写体を撮像して得られた画像を出力する撮像手段を有する撮像装置の制御方法であって、
前記撮像装置の決定手段が、前記被写体の全体における画素値の分布から、ダイナミックレンジを拡張した画像の生成に用いる2以上の画像の数、及び該2以上の画像の各々についての露出条件を決定する決定工程と、
前記撮像装置の第1の特定手段が、前記撮像手段により時分割で撮像された複数の予備撮影画像から、画像内に含まれる動体領域を特定する第1の特定工程と、
前記撮像装置の変更手段が、前記第1の特定工程において特定された前記動体領域に対応する位置についての適正露出条件を決定し、前記決定工程において決定された前記2以上の画像の露出条件のうち、1つの露出条件を該適正露出条件に変更する変更工程と、
前記撮像装置の第2の特定手段が、前記変更工程において変更された前記適正露出条件を含む、前記決定工程において決定された露出条件で前記撮像手段により撮像された前記2以上の画像について、階調レベルを合わせた後、前記2以上の画像間における対応する画素値の差分が閾値以上である領域を特定する第2の特定工程と、
前記撮像装置の生成手段が、前記2以上の画像を合成してダイナミックレンジを拡張した画像を生成する生成工程であって、前記適正露出条件で撮像された画像の画素を、前記第2の特定工程において特定された前記画素値の差分が閾値以上である領域の画素として用いる生成工程と、
を有することを特徴とする撮像装置の制御方法。
【請求項8】
コンピュータを、請求項1乃至6のいずれか1項に記載の撮像装置の撮像手段を除く各手段として機能させるためのプログラム。
【請求項1】
被写体を撮像して得られた画像を出力する撮像手段と、
前記被写体の全体における画素値の分布から、ダイナミックレンジを拡張した画像の生成に用いる2以上の画像の数、及び該2以上の画像の各々についての露出条件を決定する決定手段と、
前記撮像手段により時分割で撮像された複数の予備撮影画像から、画像内に含まれる動体領域を特定する第1の特定手段と、
前記第1の特定手段により特定された前記動体領域に対応する位置についての適正露出条件を決定し、前記決定手段により決定された前記2以上の画像の露出条件のうち、1つの露出条件を該適正露出条件に変更する変更手段と、
前記変更手段により変更された前記適正露出条件を含む、前記決定手段により決定された露出条件で前記撮像手段により撮像された前記2以上の画像について、階調レベルを合わせた後、前記2以上の画像間における対応する画素値の差分が閾値以上である領域を特定する第2の特定手段と、
前記2以上の画像を合成してダイナミックレンジを拡張した画像を生成する生成手段であって、前記適正露出条件で撮像された画像の画素を、前記第2の特定手段により特定された前記画素値の差分が閾値以上である領域の画素として用いる生成手段と、
を有することを特徴とする撮像装置。
【請求項2】
前記変更手段は、前記決定手段により決定された前記2以上の画像の露出条件のうち、前記適正露出条件と露出量が最も近い露出条件を、前記適正露出条件に変更することを特徴とする請求項1に記載の撮像装置。
【請求項3】
前記変更手段は、前記動体領域に白飛び画素が含まれない露出量の範囲のうちの最も高い露出量に基づいて前記適正露出条件を決定することを特徴とする請求項1または2に記載の撮像装置。
【請求項4】
前記第1の特定手段は、前記生成手段により直近にダイナミックレンジを拡張した画像が生成されている場合に、該直近のダイナミックレンジを拡張した画像の生成に用いた動体領域を前記画像内に含まれる動体領域として特定することを特徴とする請求項1乃至3のいずれか1項に記載の撮像装置。
【請求項5】
前記変更手段は、前記生成手段により直近にダイナミックレンジを拡張した画像が生成されている場合に、前記2以上の画像の露出条件のうち、1つの露出条件を、該直近のダイナミックレンジを拡張した画像の生成に用いた適正露出条件に変更することを特徴とする請求項1乃至4のいずれか1項に記載の撮像装置。
【請求項6】
前記第1の特定手段は、同一の露出条件で、時分割で撮像された複数の画像の画素値の差分を用いて、前記動体領域を特定することを特徴とする請求項1乃至5のいずれか1項に記載の撮像装置。
【請求項7】
被写体を撮像して得られた画像を出力する撮像手段を有する撮像装置の制御方法であって、
前記撮像装置の決定手段が、前記被写体の全体における画素値の分布から、ダイナミックレンジを拡張した画像の生成に用いる2以上の画像の数、及び該2以上の画像の各々についての露出条件を決定する決定工程と、
前記撮像装置の第1の特定手段が、前記撮像手段により時分割で撮像された複数の予備撮影画像から、画像内に含まれる動体領域を特定する第1の特定工程と、
前記撮像装置の変更手段が、前記第1の特定工程において特定された前記動体領域に対応する位置についての適正露出条件を決定し、前記決定工程において決定された前記2以上の画像の露出条件のうち、1つの露出条件を該適正露出条件に変更する変更工程と、
前記撮像装置の第2の特定手段が、前記変更工程において変更された前記適正露出条件を含む、前記決定工程において決定された露出条件で前記撮像手段により撮像された前記2以上の画像について、階調レベルを合わせた後、前記2以上の画像間における対応する画素値の差分が閾値以上である領域を特定する第2の特定工程と、
前記撮像装置の生成手段が、前記2以上の画像を合成してダイナミックレンジを拡張した画像を生成する生成工程であって、前記適正露出条件で撮像された画像の画素を、前記第2の特定工程において特定された前記画素値の差分が閾値以上である領域の画素として用いる生成工程と、
を有することを特徴とする撮像装置の制御方法。
【請求項8】
コンピュータを、請求項1乃至6のいずれか1項に記載の撮像装置の撮像手段を除く各手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2013−106149(P2013−106149A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−247962(P2011−247962)
【出願日】平成23年11月11日(2011.11.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願日】平成23年11月11日(2011.11.11)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]