画像処理装置、及びその制御方法及びプログラム
【課題】露出の異なる複数の画像を合成して階調範囲を拡張する際に、白飛び領域、中間階調領域、及び黒潰れ領域の合成における像の不連続を回避する。
【解決手段】露出の異なる複数の画像を取得し、当該複数の画像の階調レベルを合わせた後、複数の画像間における画素値の差分から被写体に変化が生じた画素を検出する。そして、複数の画像について、被写体に変化が生じた画素における白飛び及び黒潰れ画素を計数し、当該画素の合計が最小数である画像、あるいは当該画素の合計が画像の被写体に変化が最小数と所定の閾値以下である画像を選択する。さらに、選択された画像の被写体に変化が生じた画素を、生成するダイナミックレンジが拡張された画像における、被写体に変化が生じた画素に対応する画素として用いる。
【解決手段】露出の異なる複数の画像を取得し、当該複数の画像の階調レベルを合わせた後、複数の画像間における画素値の差分から被写体に変化が生じた画素を検出する。そして、複数の画像について、被写体に変化が生じた画素における白飛び及び黒潰れ画素を計数し、当該画素の合計が最小数である画像、あるいは当該画素の合計が画像の被写体に変化が最小数と所定の閾値以下である画像を選択する。さらに、選択された画像の被写体に変化が生じた画素を、生成するダイナミックレンジが拡張された画像における、被写体に変化が生じた画素に対応する画素として用いる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、露出の異なる複数の画像を合成することにより、階調範囲を拡張するダイナミックレンジ拡張技術に関する。
【背景技術】
【0002】
近年、デジタルカメラやデジタルビデオカメラ等の撮像装置の中には、露出時間を異ならせて被写体を撮影することにより得られた、露出の異なる複数の画像を合成することにより階調範囲を拡張した画像を得る、ダイナミックレンジ拡張機能を有するものがある。
【0003】
ダイナミックレンジ拡張機能で用いられるダイナミック拡張技術、所謂HDR(High Dynamic Range)画像生成技術の基本概念は、以下のようになる。
・高露出画像において白飛びが生じた領域の画素を、当該画像より露出時間の短い画像から補う
・低露出画像において黒潰れが生じた領域の画素を、当該画像より露出時間の長い画像から補う
【0004】
このようにすることで、黒潰れや白飛びを生じさせずに、画像が有する階調範囲を拡張することができる。具体的には、生成される階調範囲が拡張された画像(HDR画像)の各画素は、露出の異なる画像や適正露出画像の該当画素への置き換えや、処理に用いる全ての画像の重み付け平均等の処理を行うことにより生成される。なお、露出の異なる画像を、重み付け平均処理等で合成する場合は、露出時間の違いによって階調レベルが異なるため、正規化を行った上でなされる。
【0005】
このようなダイナミックレンジ拡張技術によるHDR画像の生成には、被写体について露出時間を異ならせた複数回の撮影を行って得られる複数枚の合成用の画像を必要とする。しかしながら、被写体の中に動体が存在する場合、合成用の画像間において当該動体の被写体の存在する領域にずれが生じるため、合成用の画像を合成して得られたHDR画像において像が不連続となる問題が生じる。
【0006】
具体的には、被写体の中に動体が存在した場合に、複数回の撮影によって得られた画像を合成して得られたHDR画像には、以下のような像の不連続に係る問題が生じうる。例えば図2に示すように、高露出画像200において動体領域201内に白飛び領域202が存在する場合を想定すると、
1.白飛び領域202と同じ位置の領域に、動体が既に存在しない低露出画像220の画素を用いて画素の置き換えを行うと、HDR画像230の動体領域内に背景が見える透明領域231が生じてしまう(透明化)。
2.また、白飛び領域202と同じ位置の領域に動体は存在するが、その位置が異なっている低露出画像220の画素を用いて画素の置き換えを行うことにより、当該領域232の境界において動体表面のテクスチャは不連続となる。
3.さらに、図2とは異なり、高露出画像において背景の領域に白飛び領域があり、低露出画像において当該領域を遮蔽する位置に動体が存在する場合は、白飛び領域の画素の低露出画像への置き換えにより動体の像が複数あるように合成されてしまう(残像)。
【0007】
また、画素の置き換えによる処理に限らず、中間階調における複数の画像の重み付け平均を用いた合成処理により、従来の画像合成時に係る問題である、動体周囲の多重エッジや、加算された動体領域におけるパターン混合等の、像の不連続も生じる。
【0008】
このような、動体が含まれる場合のダイナミックレンジ拡張画像生成処理により出力された合成画像における像の不連続を回避するために、ダイナミックレンジ拡張画像生成処理における画像合成を動的に制御する技術が開示されている。
【0009】
特許文献1には、低露出画像と高露出画像の2枚の画像を用いてHDR画像を生成する場合に、正規化した各画像の階調レベルの差分に基づいて像の不連続が生じうる領域を特定し、当該領域で低露出画像への置き換えを行わないことが開示されている。
【0010】
また特許文献2には、中間階調における複数の画像の重み付け平均による合成処理において、合成画像間における動体の動きベクトルが閾値以上の画像を合成処理に用いないように制御することで、多重エッジやパターン混合を回避することが開示されている。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2002−101347号公報
【特許文献2】特開平10−243288号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、上述の特許文献1の方法では、高露出画像における閾値以上の階調レベルを有する領域(白飛び領域)の画像を、低露出画像に置き換える場合のことを想定しており、低露出画像において黒潰れ領域が存在する場合については考慮されていなかった。即ち、上述の特許文献1の技術は、白飛び領域における像の不連続を解消するものであり、白飛び領域、中間階調領域、及び黒潰れ領域全てにおける像の不連続を同時に解決することはできなかった。
【0013】
また特許文献1の方法は、露出の異なる2枚の画像を合成する場合についてのみ想定しているため、3枚以上の画像の合成については適用することができなかった。
【0014】
さらに、特許文献2の方法は、中間階調領域における像の不連続を回避するものであるが、動きベクトルを検出するハードウェアあるいは工程を必要とするため、回路規模の増大や計算に係る処理時間の増大等の問題が生じうる。
【0015】
本発明は、上述の問題点に鑑みてなされたものであり、露出の異なる複数の画像を合成して階調範囲を拡張する際に、白飛び領域、中間階調領域、及び黒潰れ領域の合成における像の不連続を回避することを目的とする。
【課題を解決するための手段】
【0016】
前述の目的を達成するために、本発明の一態様の画像処理装置は、以下の構成を備える。
露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成手段を備える画像処理装置であって、複数の画像を取得する取得手段と、取得手段により取得された複数の画像の階調レベルを合わせるようにゲインを適用する調整手段と、階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出手段と、階調レベルが合わせられた複数の画像の各々で、検出手段により検出された被写体に変化が生じた画素について白飛び画素と判定する画素及び黒潰れ画素と判定する画素を計数する計数手段と、を備え、生成手段は、階調レベルが合わせられた複数の画像のうち、計数手段により計数された白飛び画素と判定する画素及び黒潰れ画素と判定する画素の合計が最小数である画像、あるいは白飛び画素と判定する画素及び黒潰れ画素と判定する画素の合計と最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、被写体に変化が生じた画素を、生成するHDR画像の被写体に変化が生じた画素に対応する画素として用いることを特徴とする。
【0017】
また本発明の別の態様の画像処理装置は、以下の構成を備える。
露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成手段を備える画像処理装置であって、複数の画像を取得する取得手段と、取得手段により取得された複数の画像の階調レベルを合わせるようにゲインを適用する調整手段と、階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出手段と、検出手段により検出された被写体に変化が生じた画素を、隣接する画素が1つのグループとなるように分類する分類手段と、階調レベルが合わせられた複数の画像の各々で、分類手段により分類されたグループごとに、当該グループ内の画素について白飛び画素と判定する画素及び黒潰れ画素と判定する画素を計数する計数手段と、を備え、生成手段は、分類手段により分類されたグループそれぞれについて、階調レベルが合わせられた複数の画像のうち、計数手段により計数された白飛び画素と判定する画素及び黒潰れ画素と判定する画素の合計が最小数である画像、あるいは白飛び画素と判定する画素及び黒潰れ画素と判定する画素の合計と最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、被写体に変化が生じた画素を、生成するHDR画像の当該グループに対応する位置の画素として用いる
ことを特徴とする。
【発明の効果】
【0018】
このような構成により本発明によれば、露出の異なる複数の画像を合成して階調範囲を拡張する際に、白飛び領域、中間階調領域、及び黒潰れ領域の合成における像の不連続を回避することが可能となる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施形態に係るデジタルカメラ100の機能構成を示したブロック図
【図2】従来のダイナミックレンジ拡張処理により生じる、HDR画像における像の不連続を説明するための図
【図3】本発明の実施形態1に係るダイナミックレンジ拡張画像生成処理のフローチャート
【図4】本発明の実施形態に係る、露出の異なる複数の画像の例
【図5】露出時間の違いによる、階調レベル合わせ後の階調範囲を説明するための図
【図6】本発明の実施形態に係る、検出された動き画素を示した図
【図7】本発明の実施形態に係る、露出の異なる複数の画像ごとの、動き画素における白飛び及び黒潰れ画素を示した図
【図8】本発明の実施形態に係るトーンマッピング処理を説明するための図
【図9】本発明の実施形態2に係るダイナミックレンジ拡張画像生成処理のフローチャート
【図10】本発明の実施形態2に係る、動き画素のグループ化処理を説明するための図
【図11】本発明の変形例1に係る、テンプレートマッチングによる動きベクトル検出を説明するための図
【発明を実施するための形態】
【0020】
(実施形態1)
以下、本発明の好適な一実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、画像処理装置の一例としての、異なる露出時間で被写体を撮影して得られた複数の画像を合成して、ダイナミックレンジを拡張した画像(HDR画像)を出力可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、異なる露出時間で被写体を撮影して得られた複数の画像を合成して、ダイナミックレンジを拡張した画像を出力することが可能な任意の機器に適用可能である。また、本明細書において、「像の不連続」とは、上述したHDR画像における透明化、テクスチャの不連続、残像、多重エッジ、及びパターン混合の問題を総称するものとして説明する。
【0021】
(デジタルカメラの機能構成)
図1は、本発明の実施形態に係るデジタルカメラ100の機能構成を示すブロック図である。
制御部101は、例えばCPUであり、ROM102に記憶された、後述するダイナミックレンジ拡張画像生成処理のプログラムを読み出してRAM103に展開して実行することにより、デジタルカメラ100が備える各ブロックの動作を制御する。ROM102は、例えば書き換え可能な不揮発性メモリ等のレジスタであり、ダイナミックレンジ拡張画像生成処理のプログラムに加え、デジタルカメラ100が備える各ブロックの動作に必要な制御パラメータ等の情報を格納する。RAM103は、例えば揮発性メモリであり、ダイナミックレンジ拡張画像生成処理のプログラムの展開領域としてだけでなく、デジタルカメラ100が備える各ブロックの動作において出力された中間データを一時的に格納する記憶領域として用いられる。
【0022】
なお、本実施形態ではハードウェアとしてデジタルカメラ100が備える各ブロックにおいて各処理が実現されるものとして説明するが、本発明の実施はこれに限らず、各ブロックの処理は当該各ブロックと同様の処理を行うプログラムで実現されてもよい。
【0023】
絞り105は、光学系104の瞳面に配置されて撮像部107面上に入射する光を部分的に遮ることで光量を調整する露出制御要素である。メカシャッタ106は、撮像部107面上に入射する光線を物理的に遮蔽することにより時間的な入射光量を調整する露出制御要素である。
【0024】
撮像部107は、撮像素子であり、例えばベイヤ配列状にカラーフィルタを敷き詰めて一面で被写体像を受光する単板素子、または図示しない分光プリズムにより色情報を3つ以上に分離し、それぞれの光を別々の撮像素子で受光する3板素子等で構成される。撮像部107は、複数枚のレンズ及びミラーから構成される光学系104を介して結像された被写体像を光電変換することにより、アナログ画像信号を前処理部108に出力する。
【0025】
なお、撮像部107が3板式の場合、分光光学素子が必要となるが、後述の画像処理部110におけるベイヤ配列補間処理を省略することが可能である。また撮像部107は、撮像素子が電子シャッタ機能を備えており、撮像素子の蓄積時間及び読み出しタイミングを制御することにより光量調整を行う露出制御要素でもある。
【0026】
前処理部108は、入力されたアナログ画像信号に対し、相関二重サンプリング(CDS)によるノイズ除去、オートゲインコントロール(AGC)によるゲイン調整を用いた露出制御、黒レベル補正、及びA/D変換処理を適用してデジタル画像信号を出力する。前処理部108で行われる各種処理は、アナログ画像信号に対する前処理であるため、AFE(アナログフロントエンド)処理とも呼ばれる。
【0027】
本実施形態では、露出の異なる複数の画像を時分割で撮影するため、露出制御部109を用いて絞り105、メカシャッタ106、撮像部107、及び前処理部108における露出制御の動作を制御する。具体的には露出制御部109は、制御部101から入力された複数の画像それぞれの露出の情報に従い、絞り105の絞り量、メカシャッタ106の開放時間、撮像素子の蓄積時間及び読み出しタイミング、及び前処理部108におけるゲイン調整量を制御する。
【0028】
画像処理部110は、入力されたデジタル画像信号に対し、ベイヤ配列補間、線形化マトリクス処理、ホワイトバランス調整、YCC変換、色差・階調・コントラスト補正、エッジ強調処理等の画像処理を適用する。画像処理部110は、これらの画像処理を適用することにより、一枚の出力画像(通常の1枚撮影に係る画像)を生成可能である。生成された画像は、例えば後述する画像メモリ111に格納される、あるいは記録媒体I/F部114を介して記録媒体115に記録される。また画像処理部110で行われる各種画像処理は、前処理部のAFE処理に対してDBE(デジタルバックエンド)処理と呼ばれる。
【0029】
また本実施形態では、画像処理部110は、露出の異なる複数の画像からダイナミックレンジを拡張したHDR画像を生成するための各工程で実行される、合成処理を含む画像処理を実行するものとする。ダイナミックレンジ拡張画像生成処理で用いられる、露出の異なる複数の画像は、画像処理部110におけるDBE処理の適用後、画像メモリ111に順次蓄積されており、画像処理部110は当該画像メモリ111から各画像を読み出して必要な処理を適用する。
【0030】
また、画像処理部110は、例えばROM102に記憶されている、撮影された画像の記録フォーマットに従い、圧縮・符号化等の変換処理が必要である場合は該処理を画像データに適用し、記録用の画像データを生成する。
【0031】
画像メモリ111は、デジタルカメラ100が備える、画像用の格納領域であり、ダイナミックレンジ拡張画像生成処理に限らず、DBE処理の一部の処理が適用されて得られた中間画像データが必要に応じて一時的に格納されてもよい。画像メモリ111に格納される画像は、例えばベイヤ配列補間、線形化マトリクス処理が適用された3プレーンのRAW画像データ、さらにホワイトバランス調整を行ったRGB画像、あるいはさらにYCC変換が適用されたYCC画像であってもよい。なお、本実施形態では画像メモリ111に格納されるダイナミックレンジ拡張画像生成処理用の画像はYCC画像であるものとして、以下に説明するものとする。しかしながら、後述するダイナミックレンジ拡張画像生成処理で用いられる画像は、YCC色空間に限らず、他の色空間の画像が用いられてもよい。
【0032】
表示部112は、例えば小型LCD等のデジタルカメラ100が備える表示装置であり、撮影された画像、生成されたHDR画像、あるいは後述する記録媒体I/F部114を介して記録媒体115から読み出された画像が表示される。
【0033】
操作部113は、例えば撮影ボタンやメニューボタン等のデジタルカメラ100が備える、ユーザからの操作入力を受け付けるためのユーザインタフェースである。操作部113は、ユーザによりなされた操作入力を解析し、当該操作入力に対応する信号を制御部101に出力する。また操作部113は、上述した撮影ボタンやメニューボタン等の物理的な操作部材に限らず、タッチパネルセンサを備えてもよく、例えばユーザにより操作された表示部112の表示領域上の位置の情報を制御部101に出力する。
【0034】
記録媒体I/F部114は、例えば画像処理部110で生成された画像データ等の接続された記録媒体115への書き込み、あるいは記録媒体115からのデータの読み出し等を行うためのインタフェースである。また記録媒体115は、例えばデジタルカメラ100が備える内蔵メモリや、メモリカードやHDD等のデジタルカメラ100に着脱可能に接続される記録装置であってよい。
【0035】
(ダイナミックレンジ拡張画像生成処理)
このような構成をもつ本実施形態のデジタルカメラ100のダイナミックレンジ拡張画像生成処理について、図3のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、制御部101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本ダイナミックレンジ拡張画像生成処理は、例えばデジタルカメラ100の撮影モードがHDR画像撮影モードに設定された状態で、ユーザが撮影ボタンを操作することにより撮影指示がなされた際に開始されるものとして説明する。
【0036】
S301で、制御部101は、HDR画像の合成に必要な画像の数、及び当該画像それぞれの露出量を決定し、露出制御部109に絞り105、メカシャッタ106、撮像部107、及び前処理部108を制御させて、時分割撮影された複数の画像を取得する。HDR画像の合成に必要な画像の数、及び当該画像それぞれの露出量の情報は、例えば予め設定されてROM102に記憶されていてもよいし、被写体の測光処理の結果に応じて決定されてもよい。なお、取得された時分割撮影された、露出の異なる複数の画像は、前処理部108及び画像処理部110における所定の処理が適用されてYCC形式の画像に変換された上で、画像メモリ111に格納される。
【0037】
なお、本実施形態では簡単のため、図4に示すような3枚の露出の異なる画像401、402、403を用いてHDR画像の合成を行うものとして説明するが、本発明の実施はこれに限らず、2枚以上の露出の異なる画像による合成において適用可能である。画像401〜403は、401、402、403の順に露出量が小さくなっており、時系列において同様の順番で撮影されるものとする。以下ではこれらの画像を、高露出画像401、中間露出画像402、低露出画像403と称して説明するものとする。またそれぞれの画像には、被写体として静止物体410及び411と動物体412及び413が含まれ、複数の画像の撮影中、動物体412及び413はデジタルカメラ100に対して右方向に動いている。
【0038】
また、デジタルカメラ100が不図示の光学式及び電子式の少なくともいずれかの防振機能と類似のレジストレーション機能を備える場合、該機能はS301で得られる露出の異なる複数の画像に適用される。
【0039】
S302で、制御部101は、画像メモリ111に格納されている複数の画像間で、同一の被写体に係る画素値を均一にするために、画像処理部110に各画像の露出に関する階調レベル合わせ処理を行わせる。具体的には画像処理部110は、画像メモリ111に格納されている複数の画像のそれぞれに対し、最長露出の画像の露出時間を基準とした各画像の露出時間の比の逆数を乗算することにより、階調レベル合わせを行う。なお、制御部101は、画像処理部110に当該レベル合わせ後の画像を画像メモリ111に出力させ、格納させる。
【0040】
図5は、階調レベル合わせを行った後の、各画像の階調範囲と、複数の画像を用いて生成されるHDR画像で表現可能な階調範囲を示した図である。図では階調範囲として画像の輝度Y成分の画素値を用いている。またレベル合わせ後の各画像において白飛びの輝度閾値HLV、黒潰れの輝度閾値LLVは参照符号を用いて表現され、それぞれaは高露出画像401、bは中間露出画像402、cは低露出画像403に対応している。
【0041】
なお、本実施形態において、画素値とは画素が有する階調データを示し、画素が有色である場合は、色空間の成分の数の構成要素を有するベクトル量として表現するものとする。即ち、輝度のように色空間の特定成分の値についてはスカラー量を表すものとする。
【0042】
S303で、制御部101は、画像メモリ111に格納されているレベル合わせ後の複数の画像間における、被写体に変化が生じている画素(動き画素)、即ち動物体が存在する領域と黒潰れあるいは白飛びの状態が変化する画素を検出する。具体的には制御部101は、画像処理部110に格納されているレベル合わせ後の複数の画像を2枚ずつ読み出し、同一座標の画素に係る画素値の差分を算出し、当該画素値の差分が予め定められた閾値以上である場合に、当該画素を動き画素として検出する。
【0043】
例えばレベル合わせ後の高露出画像401を基準として、中間露出画像402及び低露出画像403について輝度値の差分を算出する場合、3枚の画像の各画素が動き画素であるか否かを示す論理型変数BMOVは、次の論理式により判断する。
BMOV=F(Yb−Ya)∨F(Yc−Ya)・・・(1)
【0044】
ここで、Fは画素の輝度値の差分ΔYが、当該画素が動き画素であるかを判断するために予め定められた閾値ThMOVを超えるか否かを判断するための関数であり、次のように表される。
【0045】
なお、本実施形態では画像メモリ111に格納されているYCC画像の画素値の輝度成分を用いて動き画素を検出するものとして説明するが、本発明の実施はこれに限らない。例えば、画像メモリ111に記憶されている画像がRGB画像やRAW画像である場合は、画素が動き画素であるか否かを、画素値を構成する各色成分を示すベクトルの絶対値、あるいは特定の色成分を用いて判断してもよい。
【0046】
また、本実施形態ではHDR画像を合成するために用いる画像が3枚の場合について説明するが、それ以外の枚数を用いて合成を行う場合は、(1)の論理式は枚数に依存して変化する。複数の画像間において、同一座標の画素が動き画素であるか否かは、合成に用いる画像の数−1回の差分演算が少なくとも必要であり、論理式の項は当該回数と同じ数になり、全ての項はOR条件で結合した論理式を(1)の代わりに用いればよい。なお、本実施形態では1つの画像を基準として、当該画像とその他の画像の輝度値の差分を算出して論理式を判断するものとして説明するが、基準の画像を設定せずに例えば時系列で連続する2つの画像間で輝度値の差分を算出してもよい。
【0047】
図4に示した高露出画像401、中間露出画像402、及び低露出画像403の間で動き画素を検出すると、画像の各画素は例えば図6に示すように分類される。図では、動き画素は黒丸、動き画素に該当しない画素は白丸で示されている。
【0048】
S304で、制御部101は、S303で検出された動き画素について、HDR画像の合成時に当該画素に対応する画素として抽出する画像を、画像メモリ111に格納されている、レベル合わせ後の複数の画像のうちから選択する。具体的には、制御部101は、画像メモリ111に格納されているレベル合わせ後の露出の異なる複数の画像のそれぞれを読み出す。そして制御部101は、動き画素と判定された各画像の画素について、各画像で設定された白飛び画素値の閾値を上回る、あるいは黒潰れ画素値の閾値を下回る輝度値を有する画素、即ち白飛び画素及び黒潰れ画素を計数する。計数後、制御部101は画像メモリ111に格納されているレベル合わせ後の複数の画像のうち、動き画素における白飛び画素及び黒潰れ画素の合計が最小数である画像を、HDR画像の当該動き画素に対応する画素として用いる画像として選択する。
【0049】
露出の異なる複数の画像から、動き画素における白飛び及び黒潰れ画素の合計が最小数である画像を選択するためには、例えば以下の数1を用いればよい。
【0050】
【数1】
【0051】
ここで、xは動き画素(dyn_corr)、
は当該動き画素の座標、iは露出の異なる複数の画像を識別する識別子(a,b,c,・・・)を示している。また
は、識別子iの画像におけるiの画素が、白飛び画素あるいは黒潰れ画素であるかを示す論理型の変数であり、次の式で定義される。
【0052】
ここで
は識別子iの画像における
の画素の画素値、
はそれぞれ識別子iの画像における白飛び画素値の閾値、または黒潰れ画素値の閾値を示している。なお、このときベクトル同士の大小比較は、一方の画素値ベクトルの全ての色成分の値が、他方の色成分の値を上回る場合に前者の画素値ベクトルが大きいと判断する。また反対に、一方の画素値ベクトルの全ての色成分の値が、他方の色成分の値を下回る場合に前者の画素値ベクトルが小さいと判断する。
【0053】
即ち、数1は、露出の異なる複数の画像それぞれについて、動き画素における白飛び画素及び黒潰れ画素を計数し、合計が最小数である画像の識別子を返す。なお、本実施形態ではレベル合わせ後の複数の画像について、白飛び及び黒潰れ画素の判定には輝度値を用いて判断するものとして説明するが、数1に示すように、各画素値は色成分を構成要素とするベクトルであってもよい。
【0054】
例えば図4の高露出画像401、中間露出画像402、及び低露出画像403の動き画素における白飛び画素及び黒潰れ画素の分布は図7のようになり、白飛び及び黒潰れ画素が最小数である低露出画像403がHDR画像の動き画素に用いる画像として選択される。
【0055】
本実施形態では、重み付け平均による画像の合成あるいは画素の置き換えを行うことにより生じうる、像の不連続の問題を回避するために、HDR画像において動き画素に相当する画素は、1つの画像から得られた画素のみで構成されるようにする。即ち、露出の異なる複数の画像間において被写体の変化が生じた領域については、HDR画像の生成において重み付け平均による合成や、一部の画素を置き換えるのではなく、当該領域全てを露出の異なる複数の画像のうちの1つの画像の画素で構成する。またこのとき選択される、当該領域の画素全てを抽出する画像は、露出の異なる複数の画像のうち、白飛び及び黒潰れ画素の合計が当該領域において最小数である画像を選択する。このようにすることで、像の不連続を回避しつつ、変化が生じた領域の被写体を最も広い階調範囲で再現したHDR画像を生成することが可能になる。
【0056】
なお、本実施形態では、レベル合わせ後の複数の画像それぞれについて、白飛び及び黒潰れ画素値の閾値を用いて、白飛び及び黒潰れ画素を計数するものとして説明した。この方法では動き画素に含まれる被写体のうち、単に黒色あるいは白色を呈する動物体についても、白飛び画素あるいは黒潰れ画素として計数されることになる。しかしながら、露出の異なる複数の画像は、短時間の間に時分割で撮影されるため輝度は不変と考えることができ、当該動物体の画素値は変化せず、また当該動物体の移動量も小さく、露光時間による被写体ぶれの影響も少ないと考えることができる。このため、露出の異なる複数の画像間において、黒色あるいは白色を呈する動物体の画素数は一定であると考えることができ、上述した方法を用いても、実質的に白飛び及び黒潰れ画素の合計が最小数である画像を選択することができることは容易に想像されよう。
【0057】
また、本ステップにおいて、白飛び及び黒潰れ画素の合計が最小数である画像と選択される画像が複数存在する場合、あるいは当該画素の合計と最小数との差が所定の閾値以下に収まる画像が存在する場合は、次のように選択画像を決定してもよい。例えば、高露出画像の方が相対的にS/N比の高い画像である可能性が高いため、該当する複数の画像のうち、最も露出が高い画像を選択するようにしてもよい。即ち本発明の実施は、レベル合わせ後の複数の画像のうち、白飛び及び黒潰れ画素の合計が最小数である画像、または当該画素の合計と最小数との差が閾値以下の画像のうちの最も高露出の画像を選択する。そして当該選択した画像の被写体に変化が生じた画素を、生成するHDR画像の被写体に変化が生じた画素に対応する画素として用いる。またさらに、黒潰れ画素の数と白飛び画素の数にそれぞれ異なる重み付けをした判定式を用いて、撮影者の所望する階調範囲となるように、選択する画像を決定してもよい。
【0058】
S305で、制御部101は画像処理部110を制御し、ダイナミックレンジを拡張したHDR画像を生成させる。具体的には制御部101は、S303で検出された動き画素の情報を画像処理部110に伝送し、動き画素とそれ以外の画素に応じて処理を切り替えてHDR画像を生成させる。画像処理部110は、入力された動き画素の情報に従い、生成するHDR画像のそれぞれの画素の画素値を次のように生成する。
【0059】
動き画素と判定された画素については、画像処理部110はS304で選択した、当該動き画素に白飛び及び黒潰れ画素の合計が最小数である画像における、同一座標の画素値をそのまま代入する。
【0060】
動き画素以外の画素については、S303で動き画素として判定されていない、即ち露出の異なる複数の画像の全てにおいて、画素値の変化が閾値以内に収まっているため、いずれの画像の画素値を代入してもよい。なお、撮像素子の性能が低い場合、または前処理部108が電気的な影響を受けやすい場合には画素値にノイズが混入することも考えられるため、動き画素以外の画素については露出の異なる画像の全てあるいは一部の画像の画素値の重み付け平均値としてもよい。低露出画像がレベル合わせ処理において相対的に大きなゲインが乗じられており、ノイズやA/D変換の階調レベルの有限性による量子誤差の影響を受けやすいため、例えば重み付け平均では低露出画像の重み付けを小さくすればよい。
【0061】
なお、本ステップで画像処理部110により生成されたHDR画像は、画像メモリ111に格納されるものとする。
【0062】
S306で、制御部101は、S305で生成されたHDR画像に対して、画像処理部110にトーンマッピング処理あるいはレンジ圧縮処理を適用させ、最終的な出力のHDR画像を生成する。
【0063】
なおレンジ圧縮処理は、出力画像が所望のビット深度よりも大きい場合にビット深度を一致させるための処理である。
【0064】
またトーンマッピング処理は、例えば画像中の暗領域について階調を持ち上げさせ、明領域については階調を圧縮させる等、所望の階調表現となるような補正処理である。ダイナミックレンジを拡張した画像の生成において、ダイナミックレンジ拡張後にも残る白飛び、黒潰れ階調の画素を目立たなくするようにトーンマッピング処理を適用することは有効である。
【0065】
本実施形態では、動き画素として検出された画素については、HDR画像の生成時に1つの露出画像の画素値が割り当てられるため、当該露出画像の白飛び及び黒潰れ画素がそれぞれ階調表現の最大あるいは最小値に近づくようにトーンマッピング処理を行えばよい。このようにすることで、最終的な出力のHDR画像において、白飛び及び黒潰れ画素を目立たなくさせることができる。
【0066】
また、HDR画像の生成時に、動き画素として検出された画素に割り当てられる露出画像が有する白飛び画素の数と黒潰れ画素の数に応じて、トーンマッピング処理でマッピングする階調変換曲線を異ならせてもよい。
【0067】
例えばHDR画像の生成時に、動き画素として検出された画素に割り当てられる露出画像において、白飛び画素に対して黒潰れ画素が多い場合は、図8に示す801のような変換曲線にマッピングされるように処理を行えばよい。図8は、横軸がトーンマッピング対象画像の階調値、縦軸がトーンマッピング後の階調値を示しており、軸はそれぞれ右方向あるいは上方向にいくほど高階調となっている。図8において対角線上に示した破線804はトーンマッピングによる階調補正を行わない場合の階調変換曲線を表している。つまり、変換曲線801は、露出画像における黒潰れ画素を目立たなくするために、黒潰れ画素の階調値が低階調端に近づけられるようになっており、黒潰れ階調以上の画素の階調表現の幅を拡張するような曲線となっている。
【0068】
反対に、露出画像において黒潰れ画素に対して白飛び画素が多い場合は、802のような変換曲線にマッピングされる。また被写体のダイナミックレンジが広く、露出画像において黒潰れ画素と白飛び画素の両方が同様の割合で存在する場合は、803に示すような変換曲線を用いる。これにより、黒潰れ画素の階調値が低階調端に近づけられ、白飛び画素の階調値が高階調端に近づけられるため、中間階調における階調表現を広くするとともに、黒潰れ画素及び白飛び画素を目立たなくすることができる。
【0069】
このように、トーンマッピング処理において適用する階調変換曲線を動的に変化させることで、最終的な出力のHDR画像において、黒潰れ画素及び白飛び画素を目立ちにくくすることが可能となる。
【0070】
また、本ステップの処理は、S305で生成されたHDR画像のビット深度が最終的な出力のHDR画像のビット深度と同一、あるいは階調特性が既に所望の特性を呈している場合は行う必要がない。
【0071】
S307で、制御部101は、最終的な出力のHDR画像を、予め定められた記録形式に変換するために画像処理部110において所定の符号化処理を適用させた後、記録媒体I/F部114を介して記録媒体115に出力し、記録させて本処理を完了する。また制御部101は、焦点距離や絞り値等の露出制御情報をメタデータとしてHDR画像と同時記録する場合には、制御部より必要な撮影設定情報や状態情報を取得し、記録媒体115に記録させる。
【0072】
なお、本実施形態では、最終的な出力のHDR画像を記録するものとして説明したが、HDR画像に対して、さらに階調・色調・コントラスト補正、エッジ強調等の画像処理を適用する場合は、当該HDR画像を画像メモリ111に格納すればよい。
【0073】
また、本実施形態では、例えば三脚を用いて撮影された画像のように、撮影シーンに含まれる、静止している被写体の画像内の位置が変化しない複数の画像を用いてHDR画像を生成するものとして説明した。しかしながら、本発明はこれに限らず、撮影された画像が手ぶれ等の影響により、撮影シーンに含まれる、静止している被写体の画像内の位置が変化する場合は、公知の方法により画像間の位置あわせを行った上で、被写体に変化が生じた画素を判断してもよい。
【0074】
また、本実施形態では、時分割で撮影された露出の異なる複数の画像を用いるものとして説明したが、本発明の実施は、例えば撮影日が異なる同一時刻の画像等、同一の撮影シーンを撮影した画像を用いてHDR画像を生成する場合にも適用可能である。
【0075】
(まとめ)
以上説明したように、本実施形態の画像処理装置は、露出の異なる複数の画像を合成して階調範囲を拡張する際に、白飛び領域、中間階調領域、及び黒潰れ領域の合成における像の不連続を回避することができる。具体的には画像処理装置は、露出の異なる複数の画像を取得し、当該複数の画像の階調レベルを合わせた後、複数の画像間における画素値の差分から被写体に変化が生じた画素を検出する。そして、複数の画像について、被写体に変化が生じた画素における白飛び及び黒潰れ画素を計数し、当該画素の合計が最小数である画像、あるいは当該画素の合計が画像の被写体に変化が最小数と所定の閾値以下である画像を選択する。さらに、選択された画像の被写体に変化が生じた画素を、生成するダイナミックレンジが拡張された画像における、被写体に変化が生じた画素に対応する画素として用いる。
【0076】
このようにすることで、時分割して撮影された複数の画像を用いたHDR画像の生成において、被写体に変化が生じた領域で複数の画像を合成することが回避されるため、像の不連続の発生を回避することが可能になる。
【0077】
(実施形態2)
上述した実施形態1では、HDR画像における動き画素に対応する画素は、露出の異なる複数の画像のうちの、白飛び及び黒潰れ画素の数が相対的に少ない1つの画像の画素を用いられるものとして説明した。従って、実施形態1では、HDR画像の動き画素に対応する画素に用いられる画素は、HDR画像全体を通して共通の1つの画像から抽出される。一方、本実施形態の画像処理装置では、被写体に変化が生じている画素をグループに分類し、HDR画像の生成において、グループごとに最適な露出画像を選択して当該画像の画素値をグループの画素に用いる。これにより、よりダイナミックレンジが拡張された画像を生成する方法について説明する。
【0078】
(ダイナミックレンジ拡張画像生成処理)
以下、本実施形態のダイナミックレンジ拡張画像生成処理について、図9のフローチャートを用いて詳細に説明する。なお、本ダイナミックレンジ拡張画像生成処理において、上述した実施形態1の当該処理と同様の処理を行うステップについては、同一の参照符号を付して説明を省略し、本実施形態について特徴的な処理の説明に留める。
【0079】
S303で動き画素を検出した後、制御部101は、S901で動き画素のグループ化を行う。具体的には、制御部101は、グループ化は主に当該画素の画像座標情報を元に行い、輝度値およびYCCからの変換により得られる色情報を追加情報として行う。
【0080】
ここで、本ステップで行う動き画素のグループ化について、図10を用いて説明する。例えばS303で検出された動き画素が図10(a)のように分布している場合、同一の条件に当てはまる動き画素をグループ化するために、制御部101は領域成長法を用いてグループ化に係る処理を実行すればよい。
【0081】
領域成長法とは、最初は細かく(例えば画素単位に)分かれた要素をある評価値に基づき、グループの評価値と要素の評価値の差があらかじめ決めた閾値以下の場合には合体し、それ以外は合体しないようにグループ化する、一般的な画像処理の一つである。領域成長法については、例えば「新編 画像解析ハンドブック,高木幹雄・下田陽久,東京大学出版会」に示されている。
【0082】
領域成長法は、近接する画素あるいはグループ間で逐次行なわれる。当該方法は、グループの重心座標と併合される画素あるいは他のグループの重心座標とを結んだ直線上における互いのグループの最外郭外周がなす距離が予め定められた閾値以上となった場合に停止されるものとする。また領域成長法は、グループの平均階調と併合される画素あるいは他のグループの平均階調との差が、予め定められた閾値以上になった場合にも停止される。さらに方法は、領域成長の可否を判断する追加情報として、レベル合わせ後の露出画像の輝度値の情報、色差情報等、または他の階調情報をさらに用いて、実行されてもよい。また、グループ化の精度向上のために、アニーリング等の他の画像処理手法を組み合わせても良い。このような領域成長法を用いることで、S303で検出された動き画素は、例えば図10(b)のように複数のグループに分類される。
【0083】
グループ化に領域成長法を用いた場合、開始画素あるいは探索する画素の選択順に依存して結果が変化することがある。領域成長法の開始画素として選択する画素は、任意の動き画素と判定された画素で良い。但し過剰に開始画素を省略すると、正しい領域分割結果が得られなくなる。例えば、動き画素に判定された全ての画素を開始画素とする。各開始画素について隣接画素と同領域に属するかどうかを判定し、同領域と判定した場合には、併合してひとまわり大きい領域を作る。これを繰り返すことによって領域分割結果を得る。判定基準としてもっとも単純な例は評価画素間の距離を基準とする方法である。例えば、「隣接距離3画素以内の比較画素は同領域とする」などの評価方法が考えられる。このため、例えば領域成長法を用いることによりグループ化された結果に対して、さらに期待値最大化(EM:Expectation Maximization)推定を実行することにより、探索する画素の選択順による影響を除去してもよい。
【0084】
なお、EM推定とは、期待値をもとめるステップ、当該期待値を用いて尤度を最大にする確率変数の値を更新するステップからなる処理である。本実施例において期待値として、例えばグループ内の輝度値の分散、グループ重心からの画素の距離、またはグループ内の個々の画素の隣接する画素との距離の平均を設定可能である。このような期待値の尤度が高まるように更新処理を行なうことにより、動き画素の各グループがそれぞれの動物体に対応するようにグループ化の精度を向上させることができる。EM推定は、例えば「これなら分かる最適化数学−基礎原理から計算手法まで−,金谷健一,共立出版」に示されている。
【0085】
そしてS902で、制御部101は分類されたグループごとに上述した数1に従い、HDR画像の生成時に当該グループの位置にある画素に用いる画像を、画像メモリ111に格納されているレベル合わせ後の複数の画像の中からグループごとに抽出する。例えば本ステップの処理の結果、図10(c)のようにそれぞれのグループごとに異なる画像が選択される。
【0086】
このようにすることで、時分割して撮影された複数の画像を用いたHDR画像の生成において、被写体に変化が生じた領域で複数の画像を合成することが回避されるため、像の不連続の発生を回避する。さらに、動き画素のグループごとにHDR画像の生成に用いる最適な画像を選択することができるため、よりダイナミックレンジを拡張したHDR画像を生成することができる。
【0087】
なお、本実施形態のダイナミックレンジ拡張画像生成処理の説明において、領域成長法によるグループ化の信頼度をさらに向上させるために、動き画素における被写体の動きベクトルを用いてもよい。動きベクトルは、画像メモリ111に格納されているレベル合わせ後の複数の画像のうち2つの画像を選択し、S303で検出された動き画素の画像に対して例えばテンプレートマッチングにより算出されればよい。なお、当該動きベクトルの検出に用いられる2つの画像は、画像メモリ111に格納されている複数の画像のうち、白飛び及び黒潰れ画素の合計が少ない順に選択した2枚の画像、あるいは露出の低い2枚の画像が選択されればよい。
【0088】
図11にテンプレートマッチングを説明する概略図を示す。図11において左ステレオ画像を基準画像1101、右ステレオ画像を参照画像1102とする。基準画像1101中における任意の動き画素の位置をテンプレートマッチングで対応点を求める基準点1103とし、当該基準点周辺の、正方形で囲まれた領域1104を検出のテンプレートとする。そして制御部101は参照画像となる右ステレオ画像1102中において当該テンプレートに対応する対応点を探索する。なお、対応点探索範囲1105は参照画像1102中に任意に設定されるものとする。本実施形態において、対応点探索範囲1105は、入力の2枚の露出画像を撮影したフレーム間で想定される最大の変位量を設定する。当該探索範囲は可能な限り限定することで、対応点探索における誤認識を回避可能である。
【0089】
さらに制御部101は、対応点探索範囲1105中の対応点候補1106の個々について基準点1103との相関値を求める。相関値の演算は、テンプレート1104及び対応点候補1106の周辺から基準点に対して設定した、テンプレート1104と同サイズのウィンドウ領域1107について画素値の正規相互相関や、画素値の差分和を算出することによって実行される。探索範囲中に存在する対応点候補1106のそれぞれに対し、相関値をそれぞれ求めていく。そして、最も相関が高い対応点候補1106を対応点として選択し、基準点から当該対応点に向かうベクトルを動きベクトルとして決定する。
【0090】
なお、相関値演算に際して、ウィンドウ領域1104もしくは1107に含まれる周辺画素の対応する画素のどちらかが白飛び画素または黒潰れ画素の場合は、相関演算から除外すればよい。
【0091】
また動き画素のグループ化について、本実施形態では領域拡張法を用いるものとして説明したが、その他の方法を用いることにより同一条件に該当する領域ごとに動き画素を分類してもよい。
【0092】
動き画素の位置情報に基づくグループ化手法をメインとする手法以外に、輝度の大きく違うオブジェクトが孤立して存在する単純な配置の場合には、例えば、グループ化に領域の位置情報を用いないヒストグラムの閾値処理に基づく領域分割結果を用いることが考えられる。オブジェクト毎に輝度が明確に異なるシーンで本方式は有効である。閾値決定は例えば統計分析値に基づく手法を利用する。大津の閾値処理が単純で有用である。また、AIC情報基準の概念に基づき領域内の輝度の統計分布が自然な分布(例えばガウス分布)になるまで閾値決定及び領域分割を繰り返すことにより、複数オブジェクトの分割を行うことができる。分布モデルに輝度分布の統計値の当てはめを行い、誤差が大きい間は分割を再帰的に繰り返す。また、白飛び、黒潰れ画素からなる動き画素の領域は過分割となり易いため、ヒストグラムの高輝度画素及び低輝度範囲は分割を控える。但し、本方法は、動き画素の座標情報を用いた領域成長法によるグループ化結果に対して実行し、精密化にこの手法を用いるような組み合わせ方をしても良い。
【0093】
また色情報を入力とする場合には色情報についての多次元空間、例えば色差について均等なスケールのYUV空間においてグループ化が考えられる。YCC情報をYUV色情報に変換し、多次元におけるヒストグラム処理により領域分割を実行する。
【0094】
また、動き画素のグループ化は、主に当該画素の画像座標情報を元に行い、輝度値およびYCCからの変換により得られる色情報を追加情報として行っても良い。特徴量としては画像座標、輝度、色情報以外に画像の領域分割やクラスタリングで利用される一般的な画像特徴を用いることができる。例えば画像をピラミッド化して得られる局所勾配情報の集合であるSIFT特徴の様な多次元特徴量を補助情報としてグループ化をさらに精密にすることが考えられる。
【0095】
グループ化方法としては、動き画素の距離情報に基づく手法を基本として、輝度(階調)及び色情報の様な、特徴量に基づく一般的に考えうる任意の画像領域分割手法を用いることが可能である。また、前記特徴量に基づきクラスタリングやEM推定を行い、各露出画像に領域分割手法を適用することで得られた領域境界の重なり具合を基にグループ化を精密化させてもよい。
【0096】
領域境界の重なり具合の評価においては画像の拡縮やピラミッド化、モルフォロジ手法を用いて些細な領域境界の位置のずれを吸収して領域境界の重なり具合を評価する。領域境界の重なり具合の評価には領域境界の位置座標のラベルを基にテーブル比較やグラフ探索アルゴリズムを用いて行う。多くの露出画像内の領域境界が重畳する場合、その境界により領域分割結果を更に詳細に分割してグループ化を精細化する。
【0097】
また、一般的な画像分割手法として、ごく近傍の画素との関係に基づいた領域分割を行ってもよい。例えば平均値シフトアルゴリズムにより平均値シフト特徴量を算出し、最頻値位置が同一の領域を同一グループと判断して領域分割を行ってもよい。
【0098】
さらに局所領域の特徴量を算出し、その特徴量に基づいて領域分割を行ってもよい。例えば当該領域に対応するSIFT特徴量を算出し、それらの関係をグラフを用いて表現し、クラスタリングを行うことにより領域分割を行ってもよい。
【0099】
(変形例1)
上述した実施形態1及び2では、HDR画像生成用の、露出が異なる複数の画像を撮影中に生じる被写体ぶれを考慮したダイナミックレンジ拡張画像生成処理について説明した。本変形例では、露出が異なる複数の画像を撮影中に生じる、撮影者が把持することに起因するデジタルカメラ100の揺れ、所謂手ぶれの影響を考慮したダイナミックレンジ拡張画像生成処理の処理について説明する。
【0100】
本変形例1では、デジタルカメラ100が、例えば加速度センサ、加速度センサ及び地磁気センサの少なくともいずれかで構成される姿勢変化検出部120を備えるものとする。姿勢変化検出部120は、露出の異なる複数の画像を撮影中におけるデジタルカメラ100の姿勢変化を取得し、制御部101に伝える。制御部101は、露出の異なる複数の画像を時分割で撮影している間の姿勢変化の情報を、例えばRAM103に一時的に格納する。
【0101】
そして制御部101は、S304で、HDR画像の生成時に動き画素に対応する画素に用いる画素値をサンプリングする画像を選択する際に、露出の異なる複数の画像のうち、露出中に検出された姿勢変化の積分値が閾値以上の画像を除外する。これにより、例えば露出時間の長い画像において、撮影者の手ぶれに起因して像ぶれが生じている画像を、HDR画像における動き画素の画素値に割り当てないようにすることができるため、状態の悪いHDR画像が生成されることを回避可能となる。
【0102】
なお、本変形例では露出中に検出された姿勢変化の積分値が閾値を超えるか否かにより、HDR画像における動き画素の画素値に割り当て可能な画像の候補を変化させるものとしたが、本発明の実施はこれに限らない。即ち、例えば露出の異なる複数の画像それぞれについて、露出中の姿勢変化の積分値を算出し、当該積分値の大きさが相対的に上位の、予め定められた数の画像は、S304における選択候補から除外してもよい。
【0103】
(変形例2)
また上述した変形例1では、露出時間中の撮影者の手ぶれに起因して像ぶれが生じている画像を、HDR画像の生成時に動き画素に対応する画素に用いる画素を抽出する画像として選択しないようにする態様について説明した。本変形例2では、露出時間中の被写体の移動量に起因して像ぶれが生じている画像を、HDR画像の生成時に動き画素に対応する画素に用いる画素を抽出する画像として選択しないようにする方法について説明する。
【0104】
本変形例2では、デジタルカメラ100は、例えば複眼ステレオカメラまたはTime of Flightカメラ等のデジタルカメラ100に対する被写体の深度情報を取得することにより被写体の動きを検出する被写体動き検出部130を備えるものとする。具体的には被写体動き検出部130は、露出時間よりも短い時間で取得された深度情報の差分を、露出時間について積分することにより、露出の異なる複数の画像それぞれの被写体の動き量を取得する。
【0105】
そして制御部101は、変形例1と同様に、S304でHDR画像の生成時に動き画素に対応する画素に用いる画素値をサンプリングする画像を選択する際に、露出の異なる複数の画像のうち、露出中に検出された被写体の動き量が閾値以上の画像を除外する。これにより、例えば露出時間の長い画像において、被写体の移動に起因して像ぶれが生じている画像を、HDR画像における動き画素の画素値に割り当てないようにすることができるため、状態の悪いHDR画像が生成されることを回避可能となる。
【0106】
また、デジタルカメラ100が不図示の光学式及び電子式の少なくともいずれかの防振機能、または複数枚合成を目的とした防振機能と類似のレジストレーション機能を備える場合、被写体動き検出部130は当該防振機能の補正を考慮して動き量を決定してもよい。具体的には、例えばデジタルカメラ100が光学式防振機能を備える場合、制御部101は撮影時の光学系のシフト情報を被写体動き検出部130に伝送し、深度情報の取得範囲をデジタルカメラ100の画角範囲と同期するように変化させればよい。
【0107】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【技術分野】
【0001】
本発明は、露出の異なる複数の画像を合成することにより、階調範囲を拡張するダイナミックレンジ拡張技術に関する。
【背景技術】
【0002】
近年、デジタルカメラやデジタルビデオカメラ等の撮像装置の中には、露出時間を異ならせて被写体を撮影することにより得られた、露出の異なる複数の画像を合成することにより階調範囲を拡張した画像を得る、ダイナミックレンジ拡張機能を有するものがある。
【0003】
ダイナミックレンジ拡張機能で用いられるダイナミック拡張技術、所謂HDR(High Dynamic Range)画像生成技術の基本概念は、以下のようになる。
・高露出画像において白飛びが生じた領域の画素を、当該画像より露出時間の短い画像から補う
・低露出画像において黒潰れが生じた領域の画素を、当該画像より露出時間の長い画像から補う
【0004】
このようにすることで、黒潰れや白飛びを生じさせずに、画像が有する階調範囲を拡張することができる。具体的には、生成される階調範囲が拡張された画像(HDR画像)の各画素は、露出の異なる画像や適正露出画像の該当画素への置き換えや、処理に用いる全ての画像の重み付け平均等の処理を行うことにより生成される。なお、露出の異なる画像を、重み付け平均処理等で合成する場合は、露出時間の違いによって階調レベルが異なるため、正規化を行った上でなされる。
【0005】
このようなダイナミックレンジ拡張技術によるHDR画像の生成には、被写体について露出時間を異ならせた複数回の撮影を行って得られる複数枚の合成用の画像を必要とする。しかしながら、被写体の中に動体が存在する場合、合成用の画像間において当該動体の被写体の存在する領域にずれが生じるため、合成用の画像を合成して得られたHDR画像において像が不連続となる問題が生じる。
【0006】
具体的には、被写体の中に動体が存在した場合に、複数回の撮影によって得られた画像を合成して得られたHDR画像には、以下のような像の不連続に係る問題が生じうる。例えば図2に示すように、高露出画像200において動体領域201内に白飛び領域202が存在する場合を想定すると、
1.白飛び領域202と同じ位置の領域に、動体が既に存在しない低露出画像220の画素を用いて画素の置き換えを行うと、HDR画像230の動体領域内に背景が見える透明領域231が生じてしまう(透明化)。
2.また、白飛び領域202と同じ位置の領域に動体は存在するが、その位置が異なっている低露出画像220の画素を用いて画素の置き換えを行うことにより、当該領域232の境界において動体表面のテクスチャは不連続となる。
3.さらに、図2とは異なり、高露出画像において背景の領域に白飛び領域があり、低露出画像において当該領域を遮蔽する位置に動体が存在する場合は、白飛び領域の画素の低露出画像への置き換えにより動体の像が複数あるように合成されてしまう(残像)。
【0007】
また、画素の置き換えによる処理に限らず、中間階調における複数の画像の重み付け平均を用いた合成処理により、従来の画像合成時に係る問題である、動体周囲の多重エッジや、加算された動体領域におけるパターン混合等の、像の不連続も生じる。
【0008】
このような、動体が含まれる場合のダイナミックレンジ拡張画像生成処理により出力された合成画像における像の不連続を回避するために、ダイナミックレンジ拡張画像生成処理における画像合成を動的に制御する技術が開示されている。
【0009】
特許文献1には、低露出画像と高露出画像の2枚の画像を用いてHDR画像を生成する場合に、正規化した各画像の階調レベルの差分に基づいて像の不連続が生じうる領域を特定し、当該領域で低露出画像への置き換えを行わないことが開示されている。
【0010】
また特許文献2には、中間階調における複数の画像の重み付け平均による合成処理において、合成画像間における動体の動きベクトルが閾値以上の画像を合成処理に用いないように制御することで、多重エッジやパターン混合を回避することが開示されている。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2002−101347号公報
【特許文献2】特開平10−243288号公報
【発明の概要】
【発明が解決しようとする課題】
【0012】
しかしながら、上述の特許文献1の方法では、高露出画像における閾値以上の階調レベルを有する領域(白飛び領域)の画像を、低露出画像に置き換える場合のことを想定しており、低露出画像において黒潰れ領域が存在する場合については考慮されていなかった。即ち、上述の特許文献1の技術は、白飛び領域における像の不連続を解消するものであり、白飛び領域、中間階調領域、及び黒潰れ領域全てにおける像の不連続を同時に解決することはできなかった。
【0013】
また特許文献1の方法は、露出の異なる2枚の画像を合成する場合についてのみ想定しているため、3枚以上の画像の合成については適用することができなかった。
【0014】
さらに、特許文献2の方法は、中間階調領域における像の不連続を回避するものであるが、動きベクトルを検出するハードウェアあるいは工程を必要とするため、回路規模の増大や計算に係る処理時間の増大等の問題が生じうる。
【0015】
本発明は、上述の問題点に鑑みてなされたものであり、露出の異なる複数の画像を合成して階調範囲を拡張する際に、白飛び領域、中間階調領域、及び黒潰れ領域の合成における像の不連続を回避することを目的とする。
【課題を解決するための手段】
【0016】
前述の目的を達成するために、本発明の一態様の画像処理装置は、以下の構成を備える。
露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成手段を備える画像処理装置であって、複数の画像を取得する取得手段と、取得手段により取得された複数の画像の階調レベルを合わせるようにゲインを適用する調整手段と、階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出手段と、階調レベルが合わせられた複数の画像の各々で、検出手段により検出された被写体に変化が生じた画素について白飛び画素と判定する画素及び黒潰れ画素と判定する画素を計数する計数手段と、を備え、生成手段は、階調レベルが合わせられた複数の画像のうち、計数手段により計数された白飛び画素と判定する画素及び黒潰れ画素と判定する画素の合計が最小数である画像、あるいは白飛び画素と判定する画素及び黒潰れ画素と判定する画素の合計と最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、被写体に変化が生じた画素を、生成するHDR画像の被写体に変化が生じた画素に対応する画素として用いることを特徴とする。
【0017】
また本発明の別の態様の画像処理装置は、以下の構成を備える。
露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成手段を備える画像処理装置であって、複数の画像を取得する取得手段と、取得手段により取得された複数の画像の階調レベルを合わせるようにゲインを適用する調整手段と、階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出手段と、検出手段により検出された被写体に変化が生じた画素を、隣接する画素が1つのグループとなるように分類する分類手段と、階調レベルが合わせられた複数の画像の各々で、分類手段により分類されたグループごとに、当該グループ内の画素について白飛び画素と判定する画素及び黒潰れ画素と判定する画素を計数する計数手段と、を備え、生成手段は、分類手段により分類されたグループそれぞれについて、階調レベルが合わせられた複数の画像のうち、計数手段により計数された白飛び画素と判定する画素及び黒潰れ画素と判定する画素の合計が最小数である画像、あるいは白飛び画素と判定する画素及び黒潰れ画素と判定する画素の合計と最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、被写体に変化が生じた画素を、生成するHDR画像の当該グループに対応する位置の画素として用いる
ことを特徴とする。
【発明の効果】
【0018】
このような構成により本発明によれば、露出の異なる複数の画像を合成して階調範囲を拡張する際に、白飛び領域、中間階調領域、及び黒潰れ領域の合成における像の不連続を回避することが可能となる。
【図面の簡単な説明】
【0019】
【図1】本発明の実施形態に係るデジタルカメラ100の機能構成を示したブロック図
【図2】従来のダイナミックレンジ拡張処理により生じる、HDR画像における像の不連続を説明するための図
【図3】本発明の実施形態1に係るダイナミックレンジ拡張画像生成処理のフローチャート
【図4】本発明の実施形態に係る、露出の異なる複数の画像の例
【図5】露出時間の違いによる、階調レベル合わせ後の階調範囲を説明するための図
【図6】本発明の実施形態に係る、検出された動き画素を示した図
【図7】本発明の実施形態に係る、露出の異なる複数の画像ごとの、動き画素における白飛び及び黒潰れ画素を示した図
【図8】本発明の実施形態に係るトーンマッピング処理を説明するための図
【図9】本発明の実施形態2に係るダイナミックレンジ拡張画像生成処理のフローチャート
【図10】本発明の実施形態2に係る、動き画素のグループ化処理を説明するための図
【図11】本発明の変形例1に係る、テンプレートマッチングによる動きベクトル検出を説明するための図
【発明を実施するための形態】
【0020】
(実施形態1)
以下、本発明の好適な一実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、画像処理装置の一例としての、異なる露出時間で被写体を撮影して得られた複数の画像を合成して、ダイナミックレンジを拡張した画像(HDR画像)を出力可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、異なる露出時間で被写体を撮影して得られた複数の画像を合成して、ダイナミックレンジを拡張した画像を出力することが可能な任意の機器に適用可能である。また、本明細書において、「像の不連続」とは、上述したHDR画像における透明化、テクスチャの不連続、残像、多重エッジ、及びパターン混合の問題を総称するものとして説明する。
【0021】
(デジタルカメラの機能構成)
図1は、本発明の実施形態に係るデジタルカメラ100の機能構成を示すブロック図である。
制御部101は、例えばCPUであり、ROM102に記憶された、後述するダイナミックレンジ拡張画像生成処理のプログラムを読み出してRAM103に展開して実行することにより、デジタルカメラ100が備える各ブロックの動作を制御する。ROM102は、例えば書き換え可能な不揮発性メモリ等のレジスタであり、ダイナミックレンジ拡張画像生成処理のプログラムに加え、デジタルカメラ100が備える各ブロックの動作に必要な制御パラメータ等の情報を格納する。RAM103は、例えば揮発性メモリであり、ダイナミックレンジ拡張画像生成処理のプログラムの展開領域としてだけでなく、デジタルカメラ100が備える各ブロックの動作において出力された中間データを一時的に格納する記憶領域として用いられる。
【0022】
なお、本実施形態ではハードウェアとしてデジタルカメラ100が備える各ブロックにおいて各処理が実現されるものとして説明するが、本発明の実施はこれに限らず、各ブロックの処理は当該各ブロックと同様の処理を行うプログラムで実現されてもよい。
【0023】
絞り105は、光学系104の瞳面に配置されて撮像部107面上に入射する光を部分的に遮ることで光量を調整する露出制御要素である。メカシャッタ106は、撮像部107面上に入射する光線を物理的に遮蔽することにより時間的な入射光量を調整する露出制御要素である。
【0024】
撮像部107は、撮像素子であり、例えばベイヤ配列状にカラーフィルタを敷き詰めて一面で被写体像を受光する単板素子、または図示しない分光プリズムにより色情報を3つ以上に分離し、それぞれの光を別々の撮像素子で受光する3板素子等で構成される。撮像部107は、複数枚のレンズ及びミラーから構成される光学系104を介して結像された被写体像を光電変換することにより、アナログ画像信号を前処理部108に出力する。
【0025】
なお、撮像部107が3板式の場合、分光光学素子が必要となるが、後述の画像処理部110におけるベイヤ配列補間処理を省略することが可能である。また撮像部107は、撮像素子が電子シャッタ機能を備えており、撮像素子の蓄積時間及び読み出しタイミングを制御することにより光量調整を行う露出制御要素でもある。
【0026】
前処理部108は、入力されたアナログ画像信号に対し、相関二重サンプリング(CDS)によるノイズ除去、オートゲインコントロール(AGC)によるゲイン調整を用いた露出制御、黒レベル補正、及びA/D変換処理を適用してデジタル画像信号を出力する。前処理部108で行われる各種処理は、アナログ画像信号に対する前処理であるため、AFE(アナログフロントエンド)処理とも呼ばれる。
【0027】
本実施形態では、露出の異なる複数の画像を時分割で撮影するため、露出制御部109を用いて絞り105、メカシャッタ106、撮像部107、及び前処理部108における露出制御の動作を制御する。具体的には露出制御部109は、制御部101から入力された複数の画像それぞれの露出の情報に従い、絞り105の絞り量、メカシャッタ106の開放時間、撮像素子の蓄積時間及び読み出しタイミング、及び前処理部108におけるゲイン調整量を制御する。
【0028】
画像処理部110は、入力されたデジタル画像信号に対し、ベイヤ配列補間、線形化マトリクス処理、ホワイトバランス調整、YCC変換、色差・階調・コントラスト補正、エッジ強調処理等の画像処理を適用する。画像処理部110は、これらの画像処理を適用することにより、一枚の出力画像(通常の1枚撮影に係る画像)を生成可能である。生成された画像は、例えば後述する画像メモリ111に格納される、あるいは記録媒体I/F部114を介して記録媒体115に記録される。また画像処理部110で行われる各種画像処理は、前処理部のAFE処理に対してDBE(デジタルバックエンド)処理と呼ばれる。
【0029】
また本実施形態では、画像処理部110は、露出の異なる複数の画像からダイナミックレンジを拡張したHDR画像を生成するための各工程で実行される、合成処理を含む画像処理を実行するものとする。ダイナミックレンジ拡張画像生成処理で用いられる、露出の異なる複数の画像は、画像処理部110におけるDBE処理の適用後、画像メモリ111に順次蓄積されており、画像処理部110は当該画像メモリ111から各画像を読み出して必要な処理を適用する。
【0030】
また、画像処理部110は、例えばROM102に記憶されている、撮影された画像の記録フォーマットに従い、圧縮・符号化等の変換処理が必要である場合は該処理を画像データに適用し、記録用の画像データを生成する。
【0031】
画像メモリ111は、デジタルカメラ100が備える、画像用の格納領域であり、ダイナミックレンジ拡張画像生成処理に限らず、DBE処理の一部の処理が適用されて得られた中間画像データが必要に応じて一時的に格納されてもよい。画像メモリ111に格納される画像は、例えばベイヤ配列補間、線形化マトリクス処理が適用された3プレーンのRAW画像データ、さらにホワイトバランス調整を行ったRGB画像、あるいはさらにYCC変換が適用されたYCC画像であってもよい。なお、本実施形態では画像メモリ111に格納されるダイナミックレンジ拡張画像生成処理用の画像はYCC画像であるものとして、以下に説明するものとする。しかしながら、後述するダイナミックレンジ拡張画像生成処理で用いられる画像は、YCC色空間に限らず、他の色空間の画像が用いられてもよい。
【0032】
表示部112は、例えば小型LCD等のデジタルカメラ100が備える表示装置であり、撮影された画像、生成されたHDR画像、あるいは後述する記録媒体I/F部114を介して記録媒体115から読み出された画像が表示される。
【0033】
操作部113は、例えば撮影ボタンやメニューボタン等のデジタルカメラ100が備える、ユーザからの操作入力を受け付けるためのユーザインタフェースである。操作部113は、ユーザによりなされた操作入力を解析し、当該操作入力に対応する信号を制御部101に出力する。また操作部113は、上述した撮影ボタンやメニューボタン等の物理的な操作部材に限らず、タッチパネルセンサを備えてもよく、例えばユーザにより操作された表示部112の表示領域上の位置の情報を制御部101に出力する。
【0034】
記録媒体I/F部114は、例えば画像処理部110で生成された画像データ等の接続された記録媒体115への書き込み、あるいは記録媒体115からのデータの読み出し等を行うためのインタフェースである。また記録媒体115は、例えばデジタルカメラ100が備える内蔵メモリや、メモリカードやHDD等のデジタルカメラ100に着脱可能に接続される記録装置であってよい。
【0035】
(ダイナミックレンジ拡張画像生成処理)
このような構成をもつ本実施形態のデジタルカメラ100のダイナミックレンジ拡張画像生成処理について、図3のフローチャートを用いて具体的な処理を説明する。当該フローチャートに対応する処理は、制御部101が、例えばROM102に記憶されている対応する処理プログラムを読み出し、RAM103に展開して実行することにより実現することができる。なお、本ダイナミックレンジ拡張画像生成処理は、例えばデジタルカメラ100の撮影モードがHDR画像撮影モードに設定された状態で、ユーザが撮影ボタンを操作することにより撮影指示がなされた際に開始されるものとして説明する。
【0036】
S301で、制御部101は、HDR画像の合成に必要な画像の数、及び当該画像それぞれの露出量を決定し、露出制御部109に絞り105、メカシャッタ106、撮像部107、及び前処理部108を制御させて、時分割撮影された複数の画像を取得する。HDR画像の合成に必要な画像の数、及び当該画像それぞれの露出量の情報は、例えば予め設定されてROM102に記憶されていてもよいし、被写体の測光処理の結果に応じて決定されてもよい。なお、取得された時分割撮影された、露出の異なる複数の画像は、前処理部108及び画像処理部110における所定の処理が適用されてYCC形式の画像に変換された上で、画像メモリ111に格納される。
【0037】
なお、本実施形態では簡単のため、図4に示すような3枚の露出の異なる画像401、402、403を用いてHDR画像の合成を行うものとして説明するが、本発明の実施はこれに限らず、2枚以上の露出の異なる画像による合成において適用可能である。画像401〜403は、401、402、403の順に露出量が小さくなっており、時系列において同様の順番で撮影されるものとする。以下ではこれらの画像を、高露出画像401、中間露出画像402、低露出画像403と称して説明するものとする。またそれぞれの画像には、被写体として静止物体410及び411と動物体412及び413が含まれ、複数の画像の撮影中、動物体412及び413はデジタルカメラ100に対して右方向に動いている。
【0038】
また、デジタルカメラ100が不図示の光学式及び電子式の少なくともいずれかの防振機能と類似のレジストレーション機能を備える場合、該機能はS301で得られる露出の異なる複数の画像に適用される。
【0039】
S302で、制御部101は、画像メモリ111に格納されている複数の画像間で、同一の被写体に係る画素値を均一にするために、画像処理部110に各画像の露出に関する階調レベル合わせ処理を行わせる。具体的には画像処理部110は、画像メモリ111に格納されている複数の画像のそれぞれに対し、最長露出の画像の露出時間を基準とした各画像の露出時間の比の逆数を乗算することにより、階調レベル合わせを行う。なお、制御部101は、画像処理部110に当該レベル合わせ後の画像を画像メモリ111に出力させ、格納させる。
【0040】
図5は、階調レベル合わせを行った後の、各画像の階調範囲と、複数の画像を用いて生成されるHDR画像で表現可能な階調範囲を示した図である。図では階調範囲として画像の輝度Y成分の画素値を用いている。またレベル合わせ後の各画像において白飛びの輝度閾値HLV、黒潰れの輝度閾値LLVは参照符号を用いて表現され、それぞれaは高露出画像401、bは中間露出画像402、cは低露出画像403に対応している。
【0041】
なお、本実施形態において、画素値とは画素が有する階調データを示し、画素が有色である場合は、色空間の成分の数の構成要素を有するベクトル量として表現するものとする。即ち、輝度のように色空間の特定成分の値についてはスカラー量を表すものとする。
【0042】
S303で、制御部101は、画像メモリ111に格納されているレベル合わせ後の複数の画像間における、被写体に変化が生じている画素(動き画素)、即ち動物体が存在する領域と黒潰れあるいは白飛びの状態が変化する画素を検出する。具体的には制御部101は、画像処理部110に格納されているレベル合わせ後の複数の画像を2枚ずつ読み出し、同一座標の画素に係る画素値の差分を算出し、当該画素値の差分が予め定められた閾値以上である場合に、当該画素を動き画素として検出する。
【0043】
例えばレベル合わせ後の高露出画像401を基準として、中間露出画像402及び低露出画像403について輝度値の差分を算出する場合、3枚の画像の各画素が動き画素であるか否かを示す論理型変数BMOVは、次の論理式により判断する。
BMOV=F(Yb−Ya)∨F(Yc−Ya)・・・(1)
【0044】
ここで、Fは画素の輝度値の差分ΔYが、当該画素が動き画素であるかを判断するために予め定められた閾値ThMOVを超えるか否かを判断するための関数であり、次のように表される。
【0045】
なお、本実施形態では画像メモリ111に格納されているYCC画像の画素値の輝度成分を用いて動き画素を検出するものとして説明するが、本発明の実施はこれに限らない。例えば、画像メモリ111に記憶されている画像がRGB画像やRAW画像である場合は、画素が動き画素であるか否かを、画素値を構成する各色成分を示すベクトルの絶対値、あるいは特定の色成分を用いて判断してもよい。
【0046】
また、本実施形態ではHDR画像を合成するために用いる画像が3枚の場合について説明するが、それ以外の枚数を用いて合成を行う場合は、(1)の論理式は枚数に依存して変化する。複数の画像間において、同一座標の画素が動き画素であるか否かは、合成に用いる画像の数−1回の差分演算が少なくとも必要であり、論理式の項は当該回数と同じ数になり、全ての項はOR条件で結合した論理式を(1)の代わりに用いればよい。なお、本実施形態では1つの画像を基準として、当該画像とその他の画像の輝度値の差分を算出して論理式を判断するものとして説明するが、基準の画像を設定せずに例えば時系列で連続する2つの画像間で輝度値の差分を算出してもよい。
【0047】
図4に示した高露出画像401、中間露出画像402、及び低露出画像403の間で動き画素を検出すると、画像の各画素は例えば図6に示すように分類される。図では、動き画素は黒丸、動き画素に該当しない画素は白丸で示されている。
【0048】
S304で、制御部101は、S303で検出された動き画素について、HDR画像の合成時に当該画素に対応する画素として抽出する画像を、画像メモリ111に格納されている、レベル合わせ後の複数の画像のうちから選択する。具体的には、制御部101は、画像メモリ111に格納されているレベル合わせ後の露出の異なる複数の画像のそれぞれを読み出す。そして制御部101は、動き画素と判定された各画像の画素について、各画像で設定された白飛び画素値の閾値を上回る、あるいは黒潰れ画素値の閾値を下回る輝度値を有する画素、即ち白飛び画素及び黒潰れ画素を計数する。計数後、制御部101は画像メモリ111に格納されているレベル合わせ後の複数の画像のうち、動き画素における白飛び画素及び黒潰れ画素の合計が最小数である画像を、HDR画像の当該動き画素に対応する画素として用いる画像として選択する。
【0049】
露出の異なる複数の画像から、動き画素における白飛び及び黒潰れ画素の合計が最小数である画像を選択するためには、例えば以下の数1を用いればよい。
【0050】
【数1】
【0051】
ここで、xは動き画素(dyn_corr)、
は当該動き画素の座標、iは露出の異なる複数の画像を識別する識別子(a,b,c,・・・)を示している。また
は、識別子iの画像におけるiの画素が、白飛び画素あるいは黒潰れ画素であるかを示す論理型の変数であり、次の式で定義される。
【0052】
ここで
は識別子iの画像における
の画素の画素値、
はそれぞれ識別子iの画像における白飛び画素値の閾値、または黒潰れ画素値の閾値を示している。なお、このときベクトル同士の大小比較は、一方の画素値ベクトルの全ての色成分の値が、他方の色成分の値を上回る場合に前者の画素値ベクトルが大きいと判断する。また反対に、一方の画素値ベクトルの全ての色成分の値が、他方の色成分の値を下回る場合に前者の画素値ベクトルが小さいと判断する。
【0053】
即ち、数1は、露出の異なる複数の画像それぞれについて、動き画素における白飛び画素及び黒潰れ画素を計数し、合計が最小数である画像の識別子を返す。なお、本実施形態ではレベル合わせ後の複数の画像について、白飛び及び黒潰れ画素の判定には輝度値を用いて判断するものとして説明するが、数1に示すように、各画素値は色成分を構成要素とするベクトルであってもよい。
【0054】
例えば図4の高露出画像401、中間露出画像402、及び低露出画像403の動き画素における白飛び画素及び黒潰れ画素の分布は図7のようになり、白飛び及び黒潰れ画素が最小数である低露出画像403がHDR画像の動き画素に用いる画像として選択される。
【0055】
本実施形態では、重み付け平均による画像の合成あるいは画素の置き換えを行うことにより生じうる、像の不連続の問題を回避するために、HDR画像において動き画素に相当する画素は、1つの画像から得られた画素のみで構成されるようにする。即ち、露出の異なる複数の画像間において被写体の変化が生じた領域については、HDR画像の生成において重み付け平均による合成や、一部の画素を置き換えるのではなく、当該領域全てを露出の異なる複数の画像のうちの1つの画像の画素で構成する。またこのとき選択される、当該領域の画素全てを抽出する画像は、露出の異なる複数の画像のうち、白飛び及び黒潰れ画素の合計が当該領域において最小数である画像を選択する。このようにすることで、像の不連続を回避しつつ、変化が生じた領域の被写体を最も広い階調範囲で再現したHDR画像を生成することが可能になる。
【0056】
なお、本実施形態では、レベル合わせ後の複数の画像それぞれについて、白飛び及び黒潰れ画素値の閾値を用いて、白飛び及び黒潰れ画素を計数するものとして説明した。この方法では動き画素に含まれる被写体のうち、単に黒色あるいは白色を呈する動物体についても、白飛び画素あるいは黒潰れ画素として計数されることになる。しかしながら、露出の異なる複数の画像は、短時間の間に時分割で撮影されるため輝度は不変と考えることができ、当該動物体の画素値は変化せず、また当該動物体の移動量も小さく、露光時間による被写体ぶれの影響も少ないと考えることができる。このため、露出の異なる複数の画像間において、黒色あるいは白色を呈する動物体の画素数は一定であると考えることができ、上述した方法を用いても、実質的に白飛び及び黒潰れ画素の合計が最小数である画像を選択することができることは容易に想像されよう。
【0057】
また、本ステップにおいて、白飛び及び黒潰れ画素の合計が最小数である画像と選択される画像が複数存在する場合、あるいは当該画素の合計と最小数との差が所定の閾値以下に収まる画像が存在する場合は、次のように選択画像を決定してもよい。例えば、高露出画像の方が相対的にS/N比の高い画像である可能性が高いため、該当する複数の画像のうち、最も露出が高い画像を選択するようにしてもよい。即ち本発明の実施は、レベル合わせ後の複数の画像のうち、白飛び及び黒潰れ画素の合計が最小数である画像、または当該画素の合計と最小数との差が閾値以下の画像のうちの最も高露出の画像を選択する。そして当該選択した画像の被写体に変化が生じた画素を、生成するHDR画像の被写体に変化が生じた画素に対応する画素として用いる。またさらに、黒潰れ画素の数と白飛び画素の数にそれぞれ異なる重み付けをした判定式を用いて、撮影者の所望する階調範囲となるように、選択する画像を決定してもよい。
【0058】
S305で、制御部101は画像処理部110を制御し、ダイナミックレンジを拡張したHDR画像を生成させる。具体的には制御部101は、S303で検出された動き画素の情報を画像処理部110に伝送し、動き画素とそれ以外の画素に応じて処理を切り替えてHDR画像を生成させる。画像処理部110は、入力された動き画素の情報に従い、生成するHDR画像のそれぞれの画素の画素値を次のように生成する。
【0059】
動き画素と判定された画素については、画像処理部110はS304で選択した、当該動き画素に白飛び及び黒潰れ画素の合計が最小数である画像における、同一座標の画素値をそのまま代入する。
【0060】
動き画素以外の画素については、S303で動き画素として判定されていない、即ち露出の異なる複数の画像の全てにおいて、画素値の変化が閾値以内に収まっているため、いずれの画像の画素値を代入してもよい。なお、撮像素子の性能が低い場合、または前処理部108が電気的な影響を受けやすい場合には画素値にノイズが混入することも考えられるため、動き画素以外の画素については露出の異なる画像の全てあるいは一部の画像の画素値の重み付け平均値としてもよい。低露出画像がレベル合わせ処理において相対的に大きなゲインが乗じられており、ノイズやA/D変換の階調レベルの有限性による量子誤差の影響を受けやすいため、例えば重み付け平均では低露出画像の重み付けを小さくすればよい。
【0061】
なお、本ステップで画像処理部110により生成されたHDR画像は、画像メモリ111に格納されるものとする。
【0062】
S306で、制御部101は、S305で生成されたHDR画像に対して、画像処理部110にトーンマッピング処理あるいはレンジ圧縮処理を適用させ、最終的な出力のHDR画像を生成する。
【0063】
なおレンジ圧縮処理は、出力画像が所望のビット深度よりも大きい場合にビット深度を一致させるための処理である。
【0064】
またトーンマッピング処理は、例えば画像中の暗領域について階調を持ち上げさせ、明領域については階調を圧縮させる等、所望の階調表現となるような補正処理である。ダイナミックレンジを拡張した画像の生成において、ダイナミックレンジ拡張後にも残る白飛び、黒潰れ階調の画素を目立たなくするようにトーンマッピング処理を適用することは有効である。
【0065】
本実施形態では、動き画素として検出された画素については、HDR画像の生成時に1つの露出画像の画素値が割り当てられるため、当該露出画像の白飛び及び黒潰れ画素がそれぞれ階調表現の最大あるいは最小値に近づくようにトーンマッピング処理を行えばよい。このようにすることで、最終的な出力のHDR画像において、白飛び及び黒潰れ画素を目立たなくさせることができる。
【0066】
また、HDR画像の生成時に、動き画素として検出された画素に割り当てられる露出画像が有する白飛び画素の数と黒潰れ画素の数に応じて、トーンマッピング処理でマッピングする階調変換曲線を異ならせてもよい。
【0067】
例えばHDR画像の生成時に、動き画素として検出された画素に割り当てられる露出画像において、白飛び画素に対して黒潰れ画素が多い場合は、図8に示す801のような変換曲線にマッピングされるように処理を行えばよい。図8は、横軸がトーンマッピング対象画像の階調値、縦軸がトーンマッピング後の階調値を示しており、軸はそれぞれ右方向あるいは上方向にいくほど高階調となっている。図8において対角線上に示した破線804はトーンマッピングによる階調補正を行わない場合の階調変換曲線を表している。つまり、変換曲線801は、露出画像における黒潰れ画素を目立たなくするために、黒潰れ画素の階調値が低階調端に近づけられるようになっており、黒潰れ階調以上の画素の階調表現の幅を拡張するような曲線となっている。
【0068】
反対に、露出画像において黒潰れ画素に対して白飛び画素が多い場合は、802のような変換曲線にマッピングされる。また被写体のダイナミックレンジが広く、露出画像において黒潰れ画素と白飛び画素の両方が同様の割合で存在する場合は、803に示すような変換曲線を用いる。これにより、黒潰れ画素の階調値が低階調端に近づけられ、白飛び画素の階調値が高階調端に近づけられるため、中間階調における階調表現を広くするとともに、黒潰れ画素及び白飛び画素を目立たなくすることができる。
【0069】
このように、トーンマッピング処理において適用する階調変換曲線を動的に変化させることで、最終的な出力のHDR画像において、黒潰れ画素及び白飛び画素を目立ちにくくすることが可能となる。
【0070】
また、本ステップの処理は、S305で生成されたHDR画像のビット深度が最終的な出力のHDR画像のビット深度と同一、あるいは階調特性が既に所望の特性を呈している場合は行う必要がない。
【0071】
S307で、制御部101は、最終的な出力のHDR画像を、予め定められた記録形式に変換するために画像処理部110において所定の符号化処理を適用させた後、記録媒体I/F部114を介して記録媒体115に出力し、記録させて本処理を完了する。また制御部101は、焦点距離や絞り値等の露出制御情報をメタデータとしてHDR画像と同時記録する場合には、制御部より必要な撮影設定情報や状態情報を取得し、記録媒体115に記録させる。
【0072】
なお、本実施形態では、最終的な出力のHDR画像を記録するものとして説明したが、HDR画像に対して、さらに階調・色調・コントラスト補正、エッジ強調等の画像処理を適用する場合は、当該HDR画像を画像メモリ111に格納すればよい。
【0073】
また、本実施形態では、例えば三脚を用いて撮影された画像のように、撮影シーンに含まれる、静止している被写体の画像内の位置が変化しない複数の画像を用いてHDR画像を生成するものとして説明した。しかしながら、本発明はこれに限らず、撮影された画像が手ぶれ等の影響により、撮影シーンに含まれる、静止している被写体の画像内の位置が変化する場合は、公知の方法により画像間の位置あわせを行った上で、被写体に変化が生じた画素を判断してもよい。
【0074】
また、本実施形態では、時分割で撮影された露出の異なる複数の画像を用いるものとして説明したが、本発明の実施は、例えば撮影日が異なる同一時刻の画像等、同一の撮影シーンを撮影した画像を用いてHDR画像を生成する場合にも適用可能である。
【0075】
(まとめ)
以上説明したように、本実施形態の画像処理装置は、露出の異なる複数の画像を合成して階調範囲を拡張する際に、白飛び領域、中間階調領域、及び黒潰れ領域の合成における像の不連続を回避することができる。具体的には画像処理装置は、露出の異なる複数の画像を取得し、当該複数の画像の階調レベルを合わせた後、複数の画像間における画素値の差分から被写体に変化が生じた画素を検出する。そして、複数の画像について、被写体に変化が生じた画素における白飛び及び黒潰れ画素を計数し、当該画素の合計が最小数である画像、あるいは当該画素の合計が画像の被写体に変化が最小数と所定の閾値以下である画像を選択する。さらに、選択された画像の被写体に変化が生じた画素を、生成するダイナミックレンジが拡張された画像における、被写体に変化が生じた画素に対応する画素として用いる。
【0076】
このようにすることで、時分割して撮影された複数の画像を用いたHDR画像の生成において、被写体に変化が生じた領域で複数の画像を合成することが回避されるため、像の不連続の発生を回避することが可能になる。
【0077】
(実施形態2)
上述した実施形態1では、HDR画像における動き画素に対応する画素は、露出の異なる複数の画像のうちの、白飛び及び黒潰れ画素の数が相対的に少ない1つの画像の画素を用いられるものとして説明した。従って、実施形態1では、HDR画像の動き画素に対応する画素に用いられる画素は、HDR画像全体を通して共通の1つの画像から抽出される。一方、本実施形態の画像処理装置では、被写体に変化が生じている画素をグループに分類し、HDR画像の生成において、グループごとに最適な露出画像を選択して当該画像の画素値をグループの画素に用いる。これにより、よりダイナミックレンジが拡張された画像を生成する方法について説明する。
【0078】
(ダイナミックレンジ拡張画像生成処理)
以下、本実施形態のダイナミックレンジ拡張画像生成処理について、図9のフローチャートを用いて詳細に説明する。なお、本ダイナミックレンジ拡張画像生成処理において、上述した実施形態1の当該処理と同様の処理を行うステップについては、同一の参照符号を付して説明を省略し、本実施形態について特徴的な処理の説明に留める。
【0079】
S303で動き画素を検出した後、制御部101は、S901で動き画素のグループ化を行う。具体的には、制御部101は、グループ化は主に当該画素の画像座標情報を元に行い、輝度値およびYCCからの変換により得られる色情報を追加情報として行う。
【0080】
ここで、本ステップで行う動き画素のグループ化について、図10を用いて説明する。例えばS303で検出された動き画素が図10(a)のように分布している場合、同一の条件に当てはまる動き画素をグループ化するために、制御部101は領域成長法を用いてグループ化に係る処理を実行すればよい。
【0081】
領域成長法とは、最初は細かく(例えば画素単位に)分かれた要素をある評価値に基づき、グループの評価値と要素の評価値の差があらかじめ決めた閾値以下の場合には合体し、それ以外は合体しないようにグループ化する、一般的な画像処理の一つである。領域成長法については、例えば「新編 画像解析ハンドブック,高木幹雄・下田陽久,東京大学出版会」に示されている。
【0082】
領域成長法は、近接する画素あるいはグループ間で逐次行なわれる。当該方法は、グループの重心座標と併合される画素あるいは他のグループの重心座標とを結んだ直線上における互いのグループの最外郭外周がなす距離が予め定められた閾値以上となった場合に停止されるものとする。また領域成長法は、グループの平均階調と併合される画素あるいは他のグループの平均階調との差が、予め定められた閾値以上になった場合にも停止される。さらに方法は、領域成長の可否を判断する追加情報として、レベル合わせ後の露出画像の輝度値の情報、色差情報等、または他の階調情報をさらに用いて、実行されてもよい。また、グループ化の精度向上のために、アニーリング等の他の画像処理手法を組み合わせても良い。このような領域成長法を用いることで、S303で検出された動き画素は、例えば図10(b)のように複数のグループに分類される。
【0083】
グループ化に領域成長法を用いた場合、開始画素あるいは探索する画素の選択順に依存して結果が変化することがある。領域成長法の開始画素として選択する画素は、任意の動き画素と判定された画素で良い。但し過剰に開始画素を省略すると、正しい領域分割結果が得られなくなる。例えば、動き画素に判定された全ての画素を開始画素とする。各開始画素について隣接画素と同領域に属するかどうかを判定し、同領域と判定した場合には、併合してひとまわり大きい領域を作る。これを繰り返すことによって領域分割結果を得る。判定基準としてもっとも単純な例は評価画素間の距離を基準とする方法である。例えば、「隣接距離3画素以内の比較画素は同領域とする」などの評価方法が考えられる。このため、例えば領域成長法を用いることによりグループ化された結果に対して、さらに期待値最大化(EM:Expectation Maximization)推定を実行することにより、探索する画素の選択順による影響を除去してもよい。
【0084】
なお、EM推定とは、期待値をもとめるステップ、当該期待値を用いて尤度を最大にする確率変数の値を更新するステップからなる処理である。本実施例において期待値として、例えばグループ内の輝度値の分散、グループ重心からの画素の距離、またはグループ内の個々の画素の隣接する画素との距離の平均を設定可能である。このような期待値の尤度が高まるように更新処理を行なうことにより、動き画素の各グループがそれぞれの動物体に対応するようにグループ化の精度を向上させることができる。EM推定は、例えば「これなら分かる最適化数学−基礎原理から計算手法まで−,金谷健一,共立出版」に示されている。
【0085】
そしてS902で、制御部101は分類されたグループごとに上述した数1に従い、HDR画像の生成時に当該グループの位置にある画素に用いる画像を、画像メモリ111に格納されているレベル合わせ後の複数の画像の中からグループごとに抽出する。例えば本ステップの処理の結果、図10(c)のようにそれぞれのグループごとに異なる画像が選択される。
【0086】
このようにすることで、時分割して撮影された複数の画像を用いたHDR画像の生成において、被写体に変化が生じた領域で複数の画像を合成することが回避されるため、像の不連続の発生を回避する。さらに、動き画素のグループごとにHDR画像の生成に用いる最適な画像を選択することができるため、よりダイナミックレンジを拡張したHDR画像を生成することができる。
【0087】
なお、本実施形態のダイナミックレンジ拡張画像生成処理の説明において、領域成長法によるグループ化の信頼度をさらに向上させるために、動き画素における被写体の動きベクトルを用いてもよい。動きベクトルは、画像メモリ111に格納されているレベル合わせ後の複数の画像のうち2つの画像を選択し、S303で検出された動き画素の画像に対して例えばテンプレートマッチングにより算出されればよい。なお、当該動きベクトルの検出に用いられる2つの画像は、画像メモリ111に格納されている複数の画像のうち、白飛び及び黒潰れ画素の合計が少ない順に選択した2枚の画像、あるいは露出の低い2枚の画像が選択されればよい。
【0088】
図11にテンプレートマッチングを説明する概略図を示す。図11において左ステレオ画像を基準画像1101、右ステレオ画像を参照画像1102とする。基準画像1101中における任意の動き画素の位置をテンプレートマッチングで対応点を求める基準点1103とし、当該基準点周辺の、正方形で囲まれた領域1104を検出のテンプレートとする。そして制御部101は参照画像となる右ステレオ画像1102中において当該テンプレートに対応する対応点を探索する。なお、対応点探索範囲1105は参照画像1102中に任意に設定されるものとする。本実施形態において、対応点探索範囲1105は、入力の2枚の露出画像を撮影したフレーム間で想定される最大の変位量を設定する。当該探索範囲は可能な限り限定することで、対応点探索における誤認識を回避可能である。
【0089】
さらに制御部101は、対応点探索範囲1105中の対応点候補1106の個々について基準点1103との相関値を求める。相関値の演算は、テンプレート1104及び対応点候補1106の周辺から基準点に対して設定した、テンプレート1104と同サイズのウィンドウ領域1107について画素値の正規相互相関や、画素値の差分和を算出することによって実行される。探索範囲中に存在する対応点候補1106のそれぞれに対し、相関値をそれぞれ求めていく。そして、最も相関が高い対応点候補1106を対応点として選択し、基準点から当該対応点に向かうベクトルを動きベクトルとして決定する。
【0090】
なお、相関値演算に際して、ウィンドウ領域1104もしくは1107に含まれる周辺画素の対応する画素のどちらかが白飛び画素または黒潰れ画素の場合は、相関演算から除外すればよい。
【0091】
また動き画素のグループ化について、本実施形態では領域拡張法を用いるものとして説明したが、その他の方法を用いることにより同一条件に該当する領域ごとに動き画素を分類してもよい。
【0092】
動き画素の位置情報に基づくグループ化手法をメインとする手法以外に、輝度の大きく違うオブジェクトが孤立して存在する単純な配置の場合には、例えば、グループ化に領域の位置情報を用いないヒストグラムの閾値処理に基づく領域分割結果を用いることが考えられる。オブジェクト毎に輝度が明確に異なるシーンで本方式は有効である。閾値決定は例えば統計分析値に基づく手法を利用する。大津の閾値処理が単純で有用である。また、AIC情報基準の概念に基づき領域内の輝度の統計分布が自然な分布(例えばガウス分布)になるまで閾値決定及び領域分割を繰り返すことにより、複数オブジェクトの分割を行うことができる。分布モデルに輝度分布の統計値の当てはめを行い、誤差が大きい間は分割を再帰的に繰り返す。また、白飛び、黒潰れ画素からなる動き画素の領域は過分割となり易いため、ヒストグラムの高輝度画素及び低輝度範囲は分割を控える。但し、本方法は、動き画素の座標情報を用いた領域成長法によるグループ化結果に対して実行し、精密化にこの手法を用いるような組み合わせ方をしても良い。
【0093】
また色情報を入力とする場合には色情報についての多次元空間、例えば色差について均等なスケールのYUV空間においてグループ化が考えられる。YCC情報をYUV色情報に変換し、多次元におけるヒストグラム処理により領域分割を実行する。
【0094】
また、動き画素のグループ化は、主に当該画素の画像座標情報を元に行い、輝度値およびYCCからの変換により得られる色情報を追加情報として行っても良い。特徴量としては画像座標、輝度、色情報以外に画像の領域分割やクラスタリングで利用される一般的な画像特徴を用いることができる。例えば画像をピラミッド化して得られる局所勾配情報の集合であるSIFT特徴の様な多次元特徴量を補助情報としてグループ化をさらに精密にすることが考えられる。
【0095】
グループ化方法としては、動き画素の距離情報に基づく手法を基本として、輝度(階調)及び色情報の様な、特徴量に基づく一般的に考えうる任意の画像領域分割手法を用いることが可能である。また、前記特徴量に基づきクラスタリングやEM推定を行い、各露出画像に領域分割手法を適用することで得られた領域境界の重なり具合を基にグループ化を精密化させてもよい。
【0096】
領域境界の重なり具合の評価においては画像の拡縮やピラミッド化、モルフォロジ手法を用いて些細な領域境界の位置のずれを吸収して領域境界の重なり具合を評価する。領域境界の重なり具合の評価には領域境界の位置座標のラベルを基にテーブル比較やグラフ探索アルゴリズムを用いて行う。多くの露出画像内の領域境界が重畳する場合、その境界により領域分割結果を更に詳細に分割してグループ化を精細化する。
【0097】
また、一般的な画像分割手法として、ごく近傍の画素との関係に基づいた領域分割を行ってもよい。例えば平均値シフトアルゴリズムにより平均値シフト特徴量を算出し、最頻値位置が同一の領域を同一グループと判断して領域分割を行ってもよい。
【0098】
さらに局所領域の特徴量を算出し、その特徴量に基づいて領域分割を行ってもよい。例えば当該領域に対応するSIFT特徴量を算出し、それらの関係をグラフを用いて表現し、クラスタリングを行うことにより領域分割を行ってもよい。
【0099】
(変形例1)
上述した実施形態1及び2では、HDR画像生成用の、露出が異なる複数の画像を撮影中に生じる被写体ぶれを考慮したダイナミックレンジ拡張画像生成処理について説明した。本変形例では、露出が異なる複数の画像を撮影中に生じる、撮影者が把持することに起因するデジタルカメラ100の揺れ、所謂手ぶれの影響を考慮したダイナミックレンジ拡張画像生成処理の処理について説明する。
【0100】
本変形例1では、デジタルカメラ100が、例えば加速度センサ、加速度センサ及び地磁気センサの少なくともいずれかで構成される姿勢変化検出部120を備えるものとする。姿勢変化検出部120は、露出の異なる複数の画像を撮影中におけるデジタルカメラ100の姿勢変化を取得し、制御部101に伝える。制御部101は、露出の異なる複数の画像を時分割で撮影している間の姿勢変化の情報を、例えばRAM103に一時的に格納する。
【0101】
そして制御部101は、S304で、HDR画像の生成時に動き画素に対応する画素に用いる画素値をサンプリングする画像を選択する際に、露出の異なる複数の画像のうち、露出中に検出された姿勢変化の積分値が閾値以上の画像を除外する。これにより、例えば露出時間の長い画像において、撮影者の手ぶれに起因して像ぶれが生じている画像を、HDR画像における動き画素の画素値に割り当てないようにすることができるため、状態の悪いHDR画像が生成されることを回避可能となる。
【0102】
なお、本変形例では露出中に検出された姿勢変化の積分値が閾値を超えるか否かにより、HDR画像における動き画素の画素値に割り当て可能な画像の候補を変化させるものとしたが、本発明の実施はこれに限らない。即ち、例えば露出の異なる複数の画像それぞれについて、露出中の姿勢変化の積分値を算出し、当該積分値の大きさが相対的に上位の、予め定められた数の画像は、S304における選択候補から除外してもよい。
【0103】
(変形例2)
また上述した変形例1では、露出時間中の撮影者の手ぶれに起因して像ぶれが生じている画像を、HDR画像の生成時に動き画素に対応する画素に用いる画素を抽出する画像として選択しないようにする態様について説明した。本変形例2では、露出時間中の被写体の移動量に起因して像ぶれが生じている画像を、HDR画像の生成時に動き画素に対応する画素に用いる画素を抽出する画像として選択しないようにする方法について説明する。
【0104】
本変形例2では、デジタルカメラ100は、例えば複眼ステレオカメラまたはTime of Flightカメラ等のデジタルカメラ100に対する被写体の深度情報を取得することにより被写体の動きを検出する被写体動き検出部130を備えるものとする。具体的には被写体動き検出部130は、露出時間よりも短い時間で取得された深度情報の差分を、露出時間について積分することにより、露出の異なる複数の画像それぞれの被写体の動き量を取得する。
【0105】
そして制御部101は、変形例1と同様に、S304でHDR画像の生成時に動き画素に対応する画素に用いる画素値をサンプリングする画像を選択する際に、露出の異なる複数の画像のうち、露出中に検出された被写体の動き量が閾値以上の画像を除外する。これにより、例えば露出時間の長い画像において、被写体の移動に起因して像ぶれが生じている画像を、HDR画像における動き画素の画素値に割り当てないようにすることができるため、状態の悪いHDR画像が生成されることを回避可能となる。
【0106】
また、デジタルカメラ100が不図示の光学式及び電子式の少なくともいずれかの防振機能、または複数枚合成を目的とした防振機能と類似のレジストレーション機能を備える場合、被写体動き検出部130は当該防振機能の補正を考慮して動き量を決定してもよい。具体的には、例えばデジタルカメラ100が光学式防振機能を備える場合、制御部101は撮影時の光学系のシフト情報を被写体動き検出部130に伝送し、深度情報の取得範囲をデジタルカメラ100の画角範囲と同期するように変化させればよい。
【0107】
(その他の実施形態)
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
【特許請求の範囲】
【請求項1】
露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成手段を備える画像処理装置であって、
前記複数の画像を取得する取得手段と、
前記取得手段により取得された前記複数の画像の階調レベルを合わせるようにゲインを適用する調整手段と、
前記階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、前記階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出手段と、
前記階調レベルが合わせられた複数の画像の各々で、前記検出手段により検出された被写体に変化が生じた画素について白飛び画素と判定する画素及び黒潰れ画素と判定する画素を計数する計数手段と、を備え、
前記生成手段は、前記階調レベルが合わせられた複数の画像のうち、前記計数手段により計数された前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計が最小数である画像、あるいは前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計と前記最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、前記被写体に変化が生じた画素を、生成する前記HDR画像の前記被写体に変化が生じた画素に対応する画素として用いることを特徴とする画像処理装置。
【請求項2】
露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成手段を備える画像処理装置であって、
前記複数の画像を取得する取得手段と、
前記取得手段により取得された前記複数の画像の階調レベルを合わせるようにゲインを適用する調整手段と、
前記階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、前記階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出手段と、
前記検出手段により検出された被写体に変化が生じた画素を、隣接する画素が1つのグループとなるように分類する分類手段と、
前記階調レベルが合わせられた複数の画像の各々で、前記分類手段により分類されたグループごとに、当該グループ内の画素について白飛び画素と判定する画素及び黒潰れ画素と判定する画素を計数する計数手段と、を備え、
前記生成手段は、前記分類手段により分類されたグループそれぞれについて、前記階調レベルが合わせられた複数の画像のうち、前記計数手段により計数された前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計が最小数である画像、あるいは前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計と前記最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、前記被写体に変化が生じた画素を、生成する前記HDR画像の当該グループに対応する位置の画素として用いる
ことを特徴とする画像処理装置。
【請求項3】
前記分類手段は、領域成長法を用いて前記被写体に変化が生じた画素を分類することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記検出手段は、前記階調レベルが合わせられた複数の画像について、当該複数の画像のうちの1つの基準画像とその他の少なくとも1つの画像との画素値の差分が閾値以上である画素を、前記被写体に変化が生じた画素として検出することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記検出手段は、前記階調レベルが合わせられた複数の画像について、当該複数の画像のうちの1つの基準画像とその他の少なくとも1つの画像との画素値の輝度成分の差分が閾値以上である画素を、前記被写体に変化が生じた画素として検出することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記複数の画像それぞれの撮影時における、当該複数の画像を撮影した撮像装置の姿勢変化を検出する姿勢変化検出手段をさらに備え、
前記生成手段は、前記階調レベルが合わせられた複数の画像のうち、前記姿勢変化検出手段により検出された撮影時における、前記撮像装置の姿勢変化が予め定められた閾値以上である画像の前記被写体に変化が生じた画素を、前記生成するHDR画像の前記被写体に変化が生じた画素に対応する画素として用いないことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記複数の画像それぞれの撮影時における、被写体の動き量を検出する被写体動き検出手段をさらに備え、
前記生成手段は、前記階調レベルが合わせられた複数の画像のうち、前記被写体動き検出手段により検出された撮影時における、前記被写体の動き量が予め定められた閾値以上である画像の前記被写体に変化が生じた画素を、前記生成するHDR画像の前記被写体に変化が生じた画素に対応する画素として用いないことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
生成手段が、露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成工程を備える画像処理装置の制御方法であって、
取得手段が、前記複数の画像を取得する取得工程と、
調整手段が、前記取得工程において取得された前記複数の画像の階調レベルを合わせるようにゲインを適用する調整工程と、
検出手段が、前記階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、前記階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出工程と、
計数手段が、前記階調レベルが合わせられた複数の画像の各々で、前記検出工程において検出された被写体に変化が生じた画素について白飛び画素と判定する画素及び黒潰れ画素と判定する画素を計数する計数工程と、を備え、
前記生成工程において前記生成手段は、前記階調レベルが合わせられた複数の画像のうち、前記計数工程において計数された前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計が最小数である画像、あるいは前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計と前記最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、前記被写体に変化が生じた画素を、生成する前記HDR画像の前記被写体に変化が生じた画素に対応する画素として用いることを特徴とする画像処理装置の制御方法。
【請求項9】
生成手段が、露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成工程を備える画像処理装置の制御方法であって、
取得手段が、前記複数の画像を取得する取得工程と、
調整手段が、前記取得工程において取得された前記複数の画像の階調レベルを合わせるようにゲインを適用する調整工程と、
検出手段が、前記階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、前記階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出工程と、
分類手段が、前記検出工程において検出された被写体に変化が生じた画素を、隣接する画素が1つのグループとなるように分類する分類工程と、
計数手段が、前記階調レベルが合わせられた複数の画像の各々で、前記分類工程において分類されたグループごとに、当該グループ内の画素について白飛び画素あるいは黒潰れ画素と判定する画素を計数する計数工程と、を備え、
前記生成工程において前記生成手段は、前記分類工程において分類されたグループそれぞれについて、前記階調レベルが合わせられた複数の画像のうち、前記計数工程において計数された前記白飛び画素あるいは黒潰れ画素と判定する画素の合計が最小数である画像、あるいは前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計と前記最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、前記被写体に変化が生じた画素を、生成する前記HDR画像の当該グループに対応する位置の画素として用いることを特徴とする画像処理装置の制御方法。
【請求項10】
コンピュータを、請求項1乃至7のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【請求項1】
露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成手段を備える画像処理装置であって、
前記複数の画像を取得する取得手段と、
前記取得手段により取得された前記複数の画像の階調レベルを合わせるようにゲインを適用する調整手段と、
前記階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、前記階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出手段と、
前記階調レベルが合わせられた複数の画像の各々で、前記検出手段により検出された被写体に変化が生じた画素について白飛び画素と判定する画素及び黒潰れ画素と判定する画素を計数する計数手段と、を備え、
前記生成手段は、前記階調レベルが合わせられた複数の画像のうち、前記計数手段により計数された前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計が最小数である画像、あるいは前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計と前記最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、前記被写体に変化が生じた画素を、生成する前記HDR画像の前記被写体に変化が生じた画素に対応する画素として用いることを特徴とする画像処理装置。
【請求項2】
露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成手段を備える画像処理装置であって、
前記複数の画像を取得する取得手段と、
前記取得手段により取得された前記複数の画像の階調レベルを合わせるようにゲインを適用する調整手段と、
前記階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、前記階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出手段と、
前記検出手段により検出された被写体に変化が生じた画素を、隣接する画素が1つのグループとなるように分類する分類手段と、
前記階調レベルが合わせられた複数の画像の各々で、前記分類手段により分類されたグループごとに、当該グループ内の画素について白飛び画素と判定する画素及び黒潰れ画素と判定する画素を計数する計数手段と、を備え、
前記生成手段は、前記分類手段により分類されたグループそれぞれについて、前記階調レベルが合わせられた複数の画像のうち、前記計数手段により計数された前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計が最小数である画像、あるいは前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計と前記最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、前記被写体に変化が生じた画素を、生成する前記HDR画像の当該グループに対応する位置の画素として用いる
ことを特徴とする画像処理装置。
【請求項3】
前記分類手段は、領域成長法を用いて前記被写体に変化が生じた画素を分類することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記検出手段は、前記階調レベルが合わせられた複数の画像について、当該複数の画像のうちの1つの基準画像とその他の少なくとも1つの画像との画素値の差分が閾値以上である画素を、前記被写体に変化が生じた画素として検出することを特徴とする請求項1乃至3のいずれか1項に記載の画像処理装置。
【請求項5】
前記検出手段は、前記階調レベルが合わせられた複数の画像について、当該複数の画像のうちの1つの基準画像とその他の少なくとも1つの画像との画素値の輝度成分の差分が閾値以上である画素を、前記被写体に変化が生じた画素として検出することを特徴とする請求項1乃至4のいずれか1項に記載の画像処理装置。
【請求項6】
前記複数の画像それぞれの撮影時における、当該複数の画像を撮影した撮像装置の姿勢変化を検出する姿勢変化検出手段をさらに備え、
前記生成手段は、前記階調レベルが合わせられた複数の画像のうち、前記姿勢変化検出手段により検出された撮影時における、前記撮像装置の姿勢変化が予め定められた閾値以上である画像の前記被写体に変化が生じた画素を、前記生成するHDR画像の前記被写体に変化が生じた画素に対応する画素として用いないことを特徴とする請求項1乃至5のいずれか1項に記載の画像処理装置。
【請求項7】
前記複数の画像それぞれの撮影時における、被写体の動き量を検出する被写体動き検出手段をさらに備え、
前記生成手段は、前記階調レベルが合わせられた複数の画像のうち、前記被写体動き検出手段により検出された撮影時における、前記被写体の動き量が予め定められた閾値以上である画像の前記被写体に変化が生じた画素を、前記生成するHDR画像の前記被写体に変化が生じた画素に対応する画素として用いないことを特徴とする請求項1乃至6のいずれか1項に記載の画像処理装置。
【請求項8】
生成手段が、露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成工程を備える画像処理装置の制御方法であって、
取得手段が、前記複数の画像を取得する取得工程と、
調整手段が、前記取得工程において取得された前記複数の画像の階調レベルを合わせるようにゲインを適用する調整工程と、
検出手段が、前記階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、前記階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出工程と、
計数手段が、前記階調レベルが合わせられた複数の画像の各々で、前記検出工程において検出された被写体に変化が生じた画素について白飛び画素と判定する画素及び黒潰れ画素と判定する画素を計数する計数工程と、を備え、
前記生成工程において前記生成手段は、前記階調レベルが合わせられた複数の画像のうち、前記計数工程において計数された前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計が最小数である画像、あるいは前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計と前記最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、前記被写体に変化が生じた画素を、生成する前記HDR画像の前記被写体に変化が生じた画素に対応する画素として用いることを特徴とする画像処理装置の制御方法。
【請求項9】
生成手段が、露出の異なる複数の画像を用いて、ダイナミックレンジを拡張したHDR画像を生成する生成工程を備える画像処理装置の制御方法であって、
取得手段が、前記複数の画像を取得する取得工程と、
調整手段が、前記取得工程において取得された前記複数の画像の階調レベルを合わせるようにゲインを適用する調整工程と、
検出手段が、前記階調レベルが合わせられた複数の画像のうち、少なくとも2つの画像間で値が異なる画素を、前記階調レベルが合わせられた複数の画像についての被写体に変化が生じた画素として検出する検出工程と、
分類手段が、前記検出工程において検出された被写体に変化が生じた画素を、隣接する画素が1つのグループとなるように分類する分類工程と、
計数手段が、前記階調レベルが合わせられた複数の画像の各々で、前記分類工程において分類されたグループごとに、当該グループ内の画素について白飛び画素あるいは黒潰れ画素と判定する画素を計数する計数工程と、を備え、
前記生成工程において前記生成手段は、前記分類工程において分類されたグループそれぞれについて、前記階調レベルが合わせられた複数の画像のうち、前記計数工程において計数された前記白飛び画素あるいは黒潰れ画素と判定する画素の合計が最小数である画像、あるいは前記白飛び画素と判定する画素及び前記黒潰れ画素と判定する画素の合計と前記最小数との差が所定の閾値以下の画像のうちの最も高露出の画像の、前記被写体に変化が生じた画素を、生成する前記HDR画像の当該グループに対応する位置の画素として用いることを特徴とする画像処理装置の制御方法。
【請求項10】
コンピュータを、請求項1乃至7のいずれか1項に記載の画像処理装置の各手段として機能させるためのプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2012−217102(P2012−217102A)
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願番号】特願2011−82188(P2011−82188)
【出願日】平成23年4月1日(2011.4.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
【公開日】平成24年11月8日(2012.11.8)
【国際特許分類】
【出願日】平成23年4月1日(2011.4.1)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】
[ Back to top ]