(57)【要約】【課題】移動体によって生じるオクルージョン領域のオクルージョン特性を考慮して、多重像や不自然なボケ、尾引きなどの発生を抑制したＨＤＲ画像を合成する。【解決手段】本発明の一実施形態に係る画像処理装置は、同じシーンに対して、基準露光量で撮影された第１の画像と、基準露光量とは異なる露光量で、第１の画像を撮影する前に撮影された第２の画像と、基準露光量とは異なる露光量で、第１の画像を撮影した後に撮影された第３の画像とを取得する取得手段を有する。また、第１の画像、第２の画像及び第３の画像のうち少なくとも２つの画像を用いて、被写体の移動によって生じるオクルージョン領域のオクルージョン特性を特定するオクルージョン特性特定手段と、第１の画像に対して、特定したオクルージョン特性に応じて第２の画像または第３の画像を合成し、ＨＤＲ画像を生成するＨＤＲ合成手段とを有する。【選択図】図２
2019047336.tif 000002
【特許請求の範囲】
【請求項１】
同じシーンに対して、基準露光量で撮影された第１の画像と、前記基準露光量とは異なる露光量で、前記第１の画像を撮影する前に撮影された第２の画像と、前記基準露光量とは異なる露光量で、前記第１の画像を撮影した後に撮影された第３の画像とを取得する取得手段と、
前記第１の画像、前記第２の画像及び前記第３の画像のうち少なくとも２つの画像を用いて、被写体の移動によって生じるオクルージョン領域のオクルージョン特性を特定するオクルージョン特性特定手段と、
前記第１の画像に対して、前記特定したオクルージョン特性に応じて前記第２の画像または前記第３の画像を合成し、ＨＤＲ画像を生成するＨＤＲ合成手段と
を有することを特徴とする画像処理装置。
【請求項２】
前記オクルージョン特性は、前記被写体の移動によって消失する消失領域を含み、
前記ＨＤＲ合成手段は、前記オクルージョン特性が前記消失領域である場合には、前記第１の画像に対して前記第２の画像を合成することを特徴とする請求項１に記載の画像処理装置。
【請求項３】
前記ＨＤＲ合成手段は、前記オクルージョン特性が前記消失領域でない場合には、前記第１の画像に対して前記第３の画像を合成することを特徴とする請求項２に記載の画像処理装置。
【請求項４】
前記オクルージョン特性特定手段は、前記第２の画像と前記第３の画像から算出された画像の誤差及びオプティカルフローを用いて、前記オクルージョン特性を特定することを特徴とする請求項２または３に記載の画像処理装置。
【請求項５】
前記オクルージョン特性特定手段は、前記オプティカルフローの大きさが所定の閾値より小さく、かつ、前記画像の誤差がゼロでない場合に、前記オクルージョン特性を前記消失領域として特定することを特徴とする請求項４に記載の画像処理装置。
【請求項６】
前記オクルージョン特性特定手段は、ユーザが指定した前記シーンのシーン特性、及び、前記第２の画像と前記第３の画像から算出された画素値の差分を用いて、前記オクルージョン特性を特定することを特徴とする請求項２に記載の画像処理装置。
【請求項７】
前記シーン特性は、前記シーンの背景に対する前記被写体の明るさであることを特徴とする請求項６に記載の画像処理装置。
【請求項８】
前記オクルージョン特性特定手段は、前記背景に対して前記被写体が暗い場合、前記差分が負の領域の前記オクルージョン特性を前記消失領域として特定し、前記背景に対して前記被写体が明るい場合、前記差分が正の領域の前記オクルージョン特性を前記消失領域として特定することを特徴とする請求項７に記載の画像処理装置。
【請求項９】
前記第１乃至第３の画像を撮像する撮像手段と、
請求項１乃至８のいずれか１項に記載の画像処理装置と
を有することを特徴とする撮像装置。
【請求項１０】
同じシーンに対して、基準露光量で撮影された第１の画像と、前記基準露光量とは異なる露光量で、前記第１の画像を撮影する前に撮影された第２の画像と、前記基準露光量とは異なる露光量で、前記第１の画像を撮影した後に撮影された第３の画像とを取得する工程と、
前記第１の画像、前記第２の画像及び前記第３の画像のうち少なくとも２つの画像を用いて、被写体の移動によって生じるオクルージョン領域のオクルージョン特性を特定する工程と、
前記第１の画像に対して、前記特定したオクルージョン特性に応じて前記第２の画像または前記第３の画像を合成し、ＨＤＲ画像を生成する工程と
を含むことを特徴とする画像処理方法。
【請求項１１】
コンピュータを、請求項１乃至８のいずれか１項に記載の画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、露光量の異なる複数の画像を合成し、ＨＤＲ画像を生成する技術に関する。
【背景技術】
【０００２】
一般的に、デジタルカメラやデジタルビデオカメラなどの撮像装置において用いられるＣＣＤやＣＭＯＳといった撮像センサーのダイナミックレンジは、自然界のダイナミックレンジと比較して狭い。そのため、広いダイナミックレンジ（以下、ハイダイナミックレンジと称し、「ＨＤＲ」と略記する）を有するシーンを一般的な方法で撮像した場合には、黒潰れや白飛びなどが発生してしまう。このような広いダイナミックレンジを有するシーン（以下、ＨＤＲシーンと称する）の画像を生成する手法としては、露光量の異なる複数の画像を撮像し、それらを合成して、ＨＤＲシーンの画像（以下、ＨＤＲ画像と称する）を生成する方法がある。この方法では、まず、異なる露光量で複数の画像を撮像する。以降、露光量の多い画像を多露光画像と呼び、露光量の少ない画像を少露光画像と呼ぶ。次に、撮像した複数の画像に対して、露光量に基づきデジタルゲイン補正（以下、露光量補正という）を行い、各画像の露光量を等しくする。最後に、露光量補正を行った各画像データから、画像の領域ごとに適切な画素を選択し、合成することで、ＨＤＲ画像を生成する。以下、このような合成方法をＨＤＲ合成と称する。
【０００３】
しかし、このようなＨＤＲシーンの撮像中に被写体が移動した場合、ＨＤＲ画像を適切に合成できない場合がある。例えば、図１５に示すように、移動体１５０１を含むＨＤＲシーン１５００を撮像し、ＨＤＲ合成を行なう場合、多露光画像の飽和領域（白飛び領域）に少露光画像が合成される。このような場合、移動体１５０１の移動により合成対象の領域１５０２の一部が隠れてしまうため、ＨＤＲ合成を行ってＨＤＲ画像１５０３を生成すると、多重像１５０４などが発生してしまう。以下、複数の画像を合成する際、被写体の移動により変化する領域をオクルージョン領域と称する。このような問題に対して、特許文献１には、オクルージョン領域を検出し、オクルージョン領域に対して多露光画像と少露光画像を混合することで多重像を目立たなくさせる方法が開示されている。また、特許文献２には、複数の画像間の動きベクトルを算出し、動きベクトルの大きさに応じて、画像の合成比率を制御する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−２２０７１７号公報
【特許文献２】特開２０１２−１９３３７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、オクルージョン領域には、被写体の移動により消失する消失領域と、被写体の移動により出現する出現領域とが存在する。以下、消失領域及び出現領域をオクルージョン特性と称する。上述した特許文献１や特許文献２に開示された方法では、オクルージョン特性が考慮されていないため、合成画像には多重像や不自然なボケ、動体の残像（尾引き）などが残ってしまう。
【０００６】
本発明は、このような問題に鑑みてなされたものであり、その目的とするところは、移動体によって生じるオクルージョン領域のオクルージョン特性を考慮して、多重像や不自然なボケ、尾引きなどの発生を抑制したＨＤＲ画像を合成することにある。
【課題を解決するための手段】
【０００７】
本発明の一実施形態に係る画像処理装置は、同じシーンに対して、基準露光量で撮影された第１の画像と、前記基準露光量とは異なる露光量で、前記第１の画像を撮影する前に撮影された第２の画像と、前記基準露光量とは異なる露光量で、前記第１の画像を撮影した後に撮影された第３の画像とを取得する取得手段を有する。また、前記第１の画像、前記第２の画像及び前記第３の画像のうち少なくとも２つの画像を用いて、被写体の移動によって生じるオクルージョン領域のオクルージョン特性を特定するオクルージョン特性特定手段と、前記第１の画像に対して、前記特定したオクルージョン特性に応じて前記第２の画像または前記第３の画像を合成し、ＨＤＲ画像を生成するＨＤＲ合成手段とを有する。
【発明の効果】
【０００８】
本発明によると、移動体によって生じるオクルージョン領域のオクルージョン特性を考慮して、多重像や不自然なボケ、尾引きなどの発生を抑制したＨＤＲ画像を合成することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】第１の実施形態の撮像装置の構成を示すブロック図である。
【図２】第１の実施形態の画像処理のフローチャートを示す図である。
【図３】第１の実施形態の画像処理部の構成を示すブロック図である。
【図４】第１の実施形態のオクルージョン特性算出処理のフローチャートを示す図である。
【図５】第１の実施形態のオクルージョン特性算出部の構成を示すブロック図である。
【図６】第１の実施形態の誤差画像を説明するための図である。
【図７】第１の実施形態のオプティカルフローを説明するための図である。
【図８】第１の実施形態のオクルージョン特性を説明するための図である。
【図９】第１の実施形態のＨＤＲ合成処理のフローチャートを示す図である。
【図１０】第２の実施形態の画像処理のフローチャートを示す図である。
【図１１】第２の実施形態の画像処理部の構成を示すブロック図である。
【図１２】第２の実施形態のオクルージョン特性算出処理のフローチャートを示す図である。
【図１３】第２の実施形態のオクルージョン特性算出部の構成を示すブロック図である。
【図１４】第２の実施形態のユーザインタフェースの一例を示す図である。
【図１５】従来のＨＤＲ合成処理を説明するための図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について、図面を参照して詳細に説明する。尚、本発明の実施形態は、以下に説明する実施形態に必ずしも限定されるものではない。また、以下の実施形態における特徴の組み合わせの全てが、本発明に必須のものとは限らない。尚、同一の構成要素については、同じ符号を付して説明する。
［第１の実施形態］
【００１１】
＜撮像装置の構成＞
図１は、本実施形態における撮像装置１０１の構成を示すブロック図である。撮像装置１０１は、光学部１０２、撮像素子部１０３、ＣＰＵ１０４、ＲＯＭ１０５、ＲＡＭ１０６、撮像系制御部１０７、制御部１０８、操作ボタン１０９、撮影ボタン１１０、及びキャラクタージェネレーション部１１１を備える。また、撮像装置１０１は、Ａ／Ｄ変換部１１２、画像処理部１１３、エンコーダ部１１４、メディアＩ／Ｆ１１５、表示部１１６、及びシステムバス１１８を備える。
【００１２】
光学部１０２は、ズームレンズ、フォーカスレンズ、ブレ補正レンズ、絞り、及びシャッターから構成され、被写体の光情報を集光する。尚、光学部１０２は、被写体の光情報を集光できればよく、その構成は限定されない。
【００１３】
撮像素子部１０３は、光学部１０２にて集光された光情報を電流値へと変換する素子であり、アナログ信号を出力する。また、撮像素子部１０３は、カラーフィルタなどを用いて色情報を取得することができる。光学部１０２及び撮像素子部１０３は、撮像部を構成し、撮像手段として機能する。
【００１４】
ＣＰＵ１０４は、各構成要素の処理を制御し、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０５や、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０６に格納された命令を順次読み込み、解釈し、その結果に従って処理を実行する。
【００１５】
撮像系制御部１０７は、光学部１０２に対して、フォーカスを合わせる、シャッターを開く、絞りを調整するなどのＣＰＵ１０４から指示された制御を行う。
【００１６】
制御部１０８は、操作ボタン１０９や撮影ボタン１１０からのユーザ指示によって、撮影動作の開始及び終了の制御を行う。
【００１７】
キャラクタージェネレーション部１１１は文字やグラフィックなどを生成し、表示部１１６に表示する。
【００１８】
Ａ／Ｄ変換部１１２は、撮像素子部１０３から出力されたアナログ信号に基づいて、被写体の光量をデジタル信号値に変換する。
【００１９】
画像処理部１１３は、デジタル信号に変換された画像データを取得し、画像処理を行う。また、画像処理部１１３は、画像処理を行った画像データを表示部１１６に表示してもよい。画像処理部１１３は、画像処理装置として機能することができる。
【００２０】
エンコーダ部１１４は、画像処理部１１３にて処理した画像データを、Ｊｐｅｇなどのファイルフォーマットに変換する。
【００２１】
メディアＩ／Ｆ（インタフェース）１１５は、ＰＣ／メディア１１７（例えば、ハードディスク、メモリカード、ＣＦカード、ＳＤカードなど）と画像データを送受信するためのインタフェースである。
【００２２】
システムバス１１８は、撮像装置１０１の構成要素間でデータを送受信するためのバスである。
【００２３】
＜画像処理＞
図２は、本実施形態の画像処理のフローチャートを示す。図２のフローチャートの各ステップは、画像処理部１１３によって実行される。また、図３は、本実施形態の画像処理部１１３の構成を示すブロック図である。本実施形態の画像処理部１１３は、現像処理部３０４、露出補正処理部３０５、オクルージョン特性算出部３０６、及びＨＤＲ合成処理部３０７を備える。また、多露光画像記憶部３０８、前少露光画像記憶部３０９、後少露光画像記憶部３１０、オクルージョン特性記憶部３１１、ＨＤＲ合成画像記憶部３１２、及びパラメータ記憶部３１３を備える。以下では、図２及び図３を用いて、本実施形態の画像処理の全体的な流れを詳細に説明する。
【００２４】
まず、ステップＳ２０１で、画像処理部１１３は、前少露光画像３０１、多露光画像３０２、及び後少露光画像３０３を取得する。前少露光画像３０１、多露光画像３０２、及び後少露光画像３０３は、同じシーンを撮影した画像である。多露光画像３０２の露光量を、基準露光量と称する。前少露光画像３０１は、基準露光量より少ない露光量で、多露光画像３０２を撮影する前に撮影された画像である。後少露光画像３０３は、基準露光量より少ない露光量で、多露光画像３０２を撮影した後に撮影された画像である。すなわち本実施形態では、基準露光量と、基準露光量より少ない露光量とを交互に切り替えながら同じシーンを連続して撮影したことにより得られる画像を処理の対象とする。
【００２５】
ステップＳ２０２で、現像処理部３０４は、ステップＳ２０２において取得した多露光画像３０２、前少露光画像３０１、及び後少露光画像３０３に対して、ホワイトバランス補正、デモザイキング、及びノイズリダクションなどの現像処理を行う。現像処理部３０４は、現像処理を行った多露光画像３０２、前少露光画像３０１、及び後少露光画像３０３をそれぞれ、多露光画像記憶部３０８、前少露光画像記憶部３０９及び後少露光画像記憶部３１０に記憶する。
【００２６】
ステップＳ２０３で、露出補正処理部３０５は、ステップＳ２０２にて記憶した前少露光画像３０１及び後少露光画像３０３の露出補正処理を行い、それぞれ、前少露光画像記憶部３０９及び後少露光画像記憶部３１０に再び記憶する。尚、露出補正処理は、多露光画像と少露光画像の露光量を、デジタルゲインによって同じレベルにする処理である。例えば、多露光画像の露光量をＥl、少露光画像の露光量をＥs、露出補正処理前の少露光画像をＳ，露出補正処理後の少露光画像をＳ’とすると、露出補正処理後の少露光画像Ｓ’は、次式（１）のように表すことができる。
Ｓ’＝Ｅl／Ｅs＊Ｓ      （１）
【００２７】
ステップＳ２０４で、オクルージョン特性算出部３０６は、前少露光画像３０１及び後少露光画像３０３を用いてオクルージョン領域のオクルージョン特性を算出し、オクルージョン特性記憶部３１１に記憶する。すなわち、オクルージョン特性算出部３０６は、オクルージョン特性を特定するオクルージョン特性特定手段として機能する。オクルージョン特性算出部３０６は、パラメータ記憶部３１３に予め記憶されたパラメータを用いて、オクルージョン特性を算出してもよい。尚、オクルージョン特性算出処理の詳細については後述する。
【００２８】
ステップＳ２０５で、ＨＤＲ合成処理部３０７は、多露光画像３０２、前少露光画像３０１、後少露光画像３０３、及びステップＳ２０４にて算出したオクルージョン特性を用いて、ＨＤＲ合成処理を行い、ＨＤＲ画像を生成する。ＨＤＲ合成処理部３０７は、生成したＨＤＲ画像をＨＤＲ合成画像記憶部３１２に記憶する。尚、ＨＤＲ合成処理の詳細については後述する。
【００２９】
最後にステップＳ２０６で、画像処理部１１３は、ステップＳ２０５においてＨＤＲ合成画像記憶部３１２に記憶した合成画像（すなわち、ＨＤＲ画像）を出力する。
【００３０】
＜オクルージョン特性算出処理＞
図４は、本実施形態のオクルージョン特性算出処理のフローチャートを示す。図４のフローチャートの各ステップは、オクルージョン特性算出部３０６によって実行される。図５は、本実施形態のオクルージョン特性算出部３０６の構成を示すブロック図である。オクルージョン特性算出部３０６は、誤差算出部５０１、オプティカルフロー算出部５０２、オクルージョン特性設定部５０３、誤差画像記憶部５０４、及びオプティカルフロー記憶部５０５を備える。図６は、本実施形態の誤差画像を説明する図である。図７は、本実施形態のオプティカルフローを説明する図である。図８は、本実施形態のオクルージョン特性を説明する図である。以下では、図４から図７を用いて、上述したステップＳ２０４におけるオクルージョン特性算出処理について詳細に説明する。
【００３１】
まず、ステップＳ４０１で、オクルージョン特性算出部３０６は、前少露光画像記憶部３０９に記憶された前少露光画像３０１、及び後少露光画像記憶部３１０に記憶された後少露光画像３０３を取得する。
【００３２】
ステップＳ４０２で、誤差算出部５０１は、前少露光画像３０１と後少露光画像３０３との誤差画像を算出し、誤差画像記憶部５０４に記憶する。尚、誤差算出部５０１における誤差算出方法は、前少露光画像３０１と後少露光画像３０３との各画素の画素値の誤差を算出する方法であれば、何でもよい。例えば、図６に示すように、誤差画像Ｄ（ｘ，ｙ）は、前少露光画像をＳt-1（ｘ，ｙ）、後少露光画像をＳt+1（ｘ，ｙ）とすると、次式（２）に示すように、絶対値誤差を用いて算出することができる。
【００３３】
【数１】
2019047336.tif 000003
【００３４】
ここでは、各画素の画素値が、ｘｙ平面における座標位置（ｘ，ｙ）を用いて表される。時刻ｔは、多露光画像３０２が撮影される時刻とする。また、ｋは正規化するための係数、Ａは誤差の許容値を制御するための係数である。係数Ａを用いることで、前少露光画像と後少露光画像との差分が小さい場合も、その誤差をゼロとみなすことができる。例えば、誤差画像Ｄ（ｘ，ｙ）は、後述する「静止領域」と「動体領域」においてゼロとなる。係数ｋ及び係数Ａは、予めパラメータ記憶部３１３に記憶されている。尚、誤差の算出は上記方法に限定されるものではなく、例えば、二乗誤差などの方法を用いて算出してもよい。
【００３５】
ステップＳ４０３で、オプティカルフロー算出部５０２は、前少露光画像３０１と後少露光画像３０３を用いて、各画素位置のオプティカルフローＦ（ｘ，ｙ）を算出し、オプティカルフロー記憶部５０５に記憶する。尚、オプティカルフローＦ（ｘ，ｙ）は、図７に示すような各画素に対する移動ベクトルである。オプティカルフローＦ（ｘ，ｙ）の算出方法は、画像間の領域ごとの移動ベクトルを算出する手法であれば何でも良い。例えば、オプティカルフローＦ（ｘ，ｙ）は、Ｌｕｃａｓ−Ｋａｎａｄｅ法を用いて算出することができる。尚、オクルージョン特性が消失領域である場合、オプティカルフローＦ（ｘ，ｙ）の算出対象領域が消失してしまっているので、オプティカルフローＦ（ｘ，ｙ）は算出されない。オプティカルフローＦ（ｘ，ｙ）を算出できない場合、本実施形態では、オプティカルフローＦ（ｘ，ｙ）の値を０に設定する。また、この場合の設定値は０に限定されず、ＮＵＬＬ値などを設定してもよい。
【００３６】
ステップＳ４０４〜Ｓ４１３で、オクルージョン特性設定部５０３は、図８に示すように、各画素位置のオクルージョン特性Ｏ（ｘ，ｙ）を算出し、オクルージョン特性記憶部３１１に記憶する。オクルージョン特性Ｏ（ｘ，ｙ）は、消失領域８０１、出現領域８０２、静止領域８０３、及び動体領域８０４のいずれかに設定される。
【００３７】
ステップＳ４０４で、オクルージョン特性設定部５０３は、処理画素位置及びオクルージョン特性Ｏ（ｘ，ｙ）の初期化を行う。
【００３８】
ステップＳ４０５で、オクルージョン特性設定部５０３は、処理画素位置（ｘ，ｙ）におけるオプティカルフローの大きさ｜Ｆ（ｘ，ｙ）｜が、パラメータ記憶部３１３に記憶された所定の閾値である動体閾値Ｔよりも小さいかどうかを判定する。動体閾値Ｔよりも小さい場合には、ステップＳ４０６に進み、そうでない場合には、ステップＳ４０９に進む。
【００３９】
ステップＳ４０６で、オクルージョン特性設定部５０３は、処理画素位置（ｘ，ｙ）における誤差Ｄ（ｘ，ｙ）がゼロかどうかを判定する。ゼロの場合にはステップＳ４０７に進み、そうでない場合にはステップＳ４０８に進む。
【００４０】
ステップＳ４０７で、オクルージョン特性設定部５０３は、処理画素位置（ｘ，ｙ）におけるオプティカルフローの大きさが動体閾値Ｔよりも小さく、誤差Ｄ（ｘ，ｙ）がゼロであるため、オクルージョン特性Ｏ（ｘ，ｙ）を「静止領域」として設定する。すなわち、前少露光画像３０１と後少露光画像３０３との間で動きがなく、画素値の誤差もない場合、処理画素は「静止領域」にあると判断できる。
【００４１】
ステップＳ４０８で、オクルージョン特性設定部５０３は、処理画素位置（ｘ，ｙ）におけるオプティカルフローの大きさが動体閾値Ｔよりも小さく、誤差Ｄ（ｘ，ｙ）がゼロでないため、オクルージョン特性Ｏ（ｘ，ｙ）を「消失領域」として設定する。オプティカルフローを算出できない「消失領域」では、オプティカルフローの値はゼロに設定されており、動体閾値Ｔよりも小さくなる。さらに、前少露光画像３０１と後少露光画像３０３とでは画素値の誤差が存在する。このような場合、処理画素は、前少露光画像を撮影してから後少露光画像を撮影するまでの間に、被写体の移動により隠された「消失領域」にあると判断できる。なお、移動する被写体のことを移動体とも称する。
【００４２】
ステップＳ４０９で、オクルージョン特性設定部５０３は、処理画素位置（ｘ，ｙ）における誤差Ｄ（ｘ，ｙ）がゼロかどうかを判定する。ゼロの場合にはステップＳ４１０に進み、そうでない場合には、ステップＳ４１１に進む。
【００４３】
ステップＳ４１０で、オクルージョン特性設定部５０３は、処理画素位置（ｘ，ｙ）におけるオプティカルフローの大きさが動体閾値Ｔよりも大きく、誤差Ｄ（ｘ，ｙ）がゼロでないため、オクルージョン特性Ｏ（ｘ，ｙ）を「出現領域」として設定する。すなわち、前少露光画像３０１と後少露光画像３０３との間で動きがあり、画素値の誤差がある場合、被写体により隠されていた領域が、被写体の移動により出現した「出現領域」と判断できる。
【００４４】
ステップＳ４１１で、オクルージョン特性設定部５０３は、処理画素位置（ｘ，ｙ）におけるオプティカルフローの大きさが動体閾値Ｔよりも大きく、誤差Ｄ（ｘ，ｙ）がゼロであるため、オクルージョン特性Ｏ（ｘ，ｙ）を「動体領域」として設定する。すなわち、前少露光画像３０１と後少露光画像３０３との間で動きがあり、画素値の誤差がない場合、「消失領域」や「出現領域」ではなく、移動した被写体の「動体領域」と判断できる。
【００４５】
ステップＳ４１２で、オクルージョン特性設定部５０３は、処理画素位置を更新し、次の画素位置を処理対象とする。
【００４６】
ステップＳ４１３で、オクルージョン特性設定部５０３は、すべての画素位置に対して処理を行ったどうかを判定する。すべての画素位置に対して処理を行った場合には、ステップＳ４１４に進み、そうでない場合には、ステップＳ４０５に戻り、ステップＳ４０５からステップＳ４１３の処理を繰り返す。
【００４７】
最後にステップＳ４１４で、オクルージョン特性算出部３０６は、設定したオクルージョン特性をオクルージョン特性記憶部３１１に記憶する。
【００４８】
＜ＨＤＲ合成処理＞
図９は、本実施形態のＨＤＲ合成処理のフローチャートを示す。図９のフローチャートの各ステップは、ＨＤＲ合成処理部３０７によって実行される。以下では、図９を用いて、上述したステップＳ２０５のＨＤＲ合成処理について詳細に説明する。
【００４９】
まず、ステップＳ９０１で、ＨＤＲ合成処理部３０７は、多露光画像記憶部３０８に記憶された多露光画像３０２、前少露光画像記憶部３０９に記憶された前少露光画像３０１、及び後少露光画像記憶部３１０に記憶された後少露光画像３０３を取得する。さらに、ＨＤＲ合成処理部３０７は、オクルージョン特性記憶部３１１に記憶されたオクルージョン特性を取得する。
【００５０】
ステップＳ９０２で、ＨＤＲ合成処理部３０７は、処理画素位置（ｘ，ｙ）及び出力する合成画像を初期化する。
【００５１】
ステップＳ９０３で、ＨＤＲ合成処理部３０７は、多露光画像３０２、前少露光画像３０１、及び後少露光画像３０３の合成比率を算出する。
【００５２】
ここで、合成比率の算出方法の一例を説明する。まず、露光画像（ｘ，ｙ）におけるＲＧＢ値をＲ、Ｇ、Ｂとすると、輝度値Ｙは、次式（３）のように算出される。
Ｙ＝０．２１２６×Ｒ＋０．７１５２×Ｇ+０．０７２２×Ｂ      （３）
【００５３】
次に、合成輝度の下限値をＴｈ1とし、上限値をＴｈ2とすると、合成比率ｒは、算出した輝度値Ｙを用いて次式（４）のように算出される。
【００５４】
【数２】
2019047336.tif 000004
【００５５】
尚、合成比率の算出方法は、上記の方法に限定されるものではない。例えば、Ｇのみを用いて決定してもよい。
【００５６】
次に、ステップＳ９０４で、ＨＤＲ合成処理部３０７は、処理位置（ｘ，ｙ）におけるオクルージョン特性Ｏ（ｘ，ｙ）が、「消失領域」であるかどうかを判定する。「消失領域」である場合には、ステップＳ９０５に進み、そうでない場合には、ステップＳ９０６に進む。
【００５７】
ステップＳ９０５で、ＨＤＲ合成処理部３０７は、多露光画像Ｌ（ｘ，ｙ）、前少露光画像Ｓt-1（ｘ，ｙ）、及び合成比率ｒを用いて、合成画像Ｃ（ｘ，ｙ）を次式（５）のようにして合成する。
Ｃ（ｘ，ｙ）＝（１−ｒ）＊Ｌ（ｘ，ｙ）＋ｒ＊Ｓt-1（ｘ，ｙ）      （５）
【００５８】
このように、処理位置（ｘ，ｙ）におけるオクルージョン特性Ｏ（ｘ，ｙ）が「消失領域」である場合、前少露光画像３０１を用いて合成処理を行う。
【００５９】
ステップＳ９０６で、ＨＤＲ合成処理部３０７は、多露光画像Ｌ（ｘ，ｙ）、後少露光画像Ｓt+1（ｘ，ｙ）、及び合成比率ｒを用いて、合成画像Ｃ（ｘ，ｙ）を次式（６）のようにして合成する。
Ｃ（ｘ，ｙ）＝（１−ｒ）＊Ｌ（ｘ，ｙ）＋ｒ＊Ｓt+1（ｘ，ｙ）      （６）
【００６０】
このように、処理位置（ｘ，ｙ）におけるオクルージョン特性Ｏ（ｘ，ｙ）が「消失領域」でない場合、後少露光画像３０３を用いて合成処理を行う。
【００６１】
なお、ＨＤＲ合成処理では、上述したように、オクルージョン特性Ｏ（ｘ，ｙ）が「消失領域」であるかどうかだけを判定する。そのため、上述したオクルージョン特性算出処理では、処理位置（ｘ，ｙ）におけるオクルージョン特性Ｏ（ｘ，ｙ）が、「消失領域」であるかどうかだけを判定するようにしてもよい。
【００６２】
ステップＳ９０７で、ＨＤＲ合成処理部３０７は、処理画素位置を更新し、次の画素位置を処理対象とする。
【００６３】
ステップＳ９０８で、ＨＤＲ合成処理部３０７は、すべての画素位置に対して処理を行ったかどうかを判定する。すべての画素位置に対して処理を行った場合には、ステップＳ９０９に進み、そうでない場合には、ステップＳ９０３に戻り、ステップＳ９０３からステップＳ９０８の処理を繰り返す。
【００６４】
最後にステップＳ９０９で、ＨＤＲ合成処理部３０７は、合成したＨＤＲ画像をＨＤＲ合成画像記憶部３１２に記憶する。
【００６５】
以上、説明したように、本実施形態によると、前少露光画像、多露光画像、及び後少露光画像を、オプティカルフローに基づくオクルージョン特性に応じて合成することで、多重像や不自然なボケ、尾引きなどの発生を抑制したＨＤＲ画像の合成が可能となる。
【００６６】
なお、本実施形態では、前少露光画像、多露光画像、及び後少露光画像の３つを用いて処理を実行する場合を例に説明した。しかしながらこれに限らない。例えば、少ない方の露光量を基準露光とし、前多露光画像、少露光画像、後多露光画像の順に撮影された３つの画像を用いても、同様の処理を実行することができる。
【００６７】
また、オクルージョン特性の特定には、前少露光画像と後少露光画像を用いた。しかしながら、オクルージョン特性は、時間差のある２つの画像を用いればよい。前述の説明では、３つの画像のうち２つの画像を用いたが、基準露光である多露光画像も加えた3つの画像を用いてオクルージョン特性を特定してもよい。例えば、｜Ｌ（ｔ）−Ｓ（ｔ−１）｜と｜Ｓ（ｔ＋１）−Ｌ（ｔ）｜から算出される値を動体閾値と比較することで動体領域を特定できる。あるいは、前多露光画像、少露光画像、後多露光画像の順に撮影された３つの画像の場合は、誤差画像Ｄ（ｘ，ｙ）を｜Ｓt+1（ｘ，ｙ）−Ｓt-1（ｘ，ｙ）｜ではなく、｜Lt+1（ｘ，ｙ）−Lt-1（ｘ，ｙ）｜に基づいて算出する。
［第２の実施形態］
【００６８】
上述した第１の実施形態では、前少露光画像と後少露光画像とのオプティカルフローを用いて、オクルージョン特性を算出した。本実施形態では、撮影シーンの特性をユーザが入力することで、オプティカルフローを用いずにオクルージョン特性を設定する。
【００６９】
＜撮像装置の構成＞
本実施形態の撮像装置１０１の構成は、上述した第１の実施形態と同様であるため説明は省略する。
【００７０】
＜画像処理＞
図１０は、本実施形態の画像処理のフローチャートを示す。図１０のフローチャートの各ステップは、画像処理部１１３によって実行される。また、図１１は、本実施形態の画像処理部１１３の構成を示すブロック図である。本実施形態の画像処理部１１３は、上述した第１の実施形態の画像処理部と比較して、ユーザによって入力されたシーン特性１１０１を記憶するシーン特性記憶部１１０２をさらに備える。また、本実施形態のオクルージョン特性算出部３０６の構成は、第１の実施形態と異なるため、詳細は後述する。以下では、図１０及び図１１を用いて、本実施形態の画像処理の全体的な流れを詳細に説明する。
【００７１】
まず、ステップＳ１００１で、画像処理部１１３は、ユーザによって入力されたシーン特性１１０１を設定し、シーン特性記憶部１１０２に記憶する。図１４は、本実施形態のユーザインタフェースの一例を示す。ユーザインタフェース１４００は、ユーザがシーン特性を入力するためのユーザインタフェースであり、シーン特性指定部１４０１を有する。ユーザは、シーン特性指定部１４０１において、撮影シーン１４０４が、明るい背景の前を暗い被写体が移動しているシーン１４０２であるか、それとも、暗い背景の前を明るい被写体が移動しているシーン１４０３であるかを選択する。図１４に示した例では、明るい背景の前を暗い被写体が移動しているシーン１４０２が指定される。
【００７２】
ステップＳ１００２〜ステップＳ１００４、ステップＳ１００６、及びステップＳ１００７の処理は、第１の実施形態と同様であるため説明は省略する。尚、ステップＳ１００５のオクルージョン特性算出処理は、処理内容が第１の実施形態と異なるため、以下に詳細に説明する。
【００７３】
＜オクルージョン特性算出処理＞
図１２は、本実施形態のオクルージョン特性算出処理のフローチャートを示す。図１２のフローチャートの各ステップは、オクルージョン特性算出部３０６によって実行される。図１３は、本実施形態のオクルージョン特性算出部３０６の構成を示すブロック図である。本実施形態のオクルージョン特性算出部３０６は、誤差算出部１３０１、オクルージョン特性設定部１３０２、及び差分誤差記憶部１３０３を備える。
【００７４】
まず、ステップＳ１２０１で、オクルージョン特性算出部３０６は、前少露光画像記憶部３０９に記憶された前少露光画像３０１、及び後少露光画像記憶部３１０に記憶された後少露光画像３０３を取得する。また、本実施形態では、シーン特性記憶部１１０２に記憶されたシーン特性１１０１をさらに取得する。
【００７５】
ステップＳ１２０２で、オクルージョン特性算出部３０６は、処理画素位置及オクルージョン特性Ｏ（ｘ，ｙ）の初期化を行う。
【００７６】
ステップＳ１２０３で、誤差算出部１３０１は、処理画素位置（ｘ，ｙ）において、後少露光画像３０３と前少露光画像３０１との差分誤差を算出し、差分誤差記憶部１３０３に記憶する。本実施形態における差分誤差Ｄ（ｘ，ｙ）は、前少露光画像をＳt-1（ｘ，ｙ）、後少露光画像をＳt+1（ｘ，ｙ）とすると、次式（７）に示すように算出される。
【００７７】
Ｄ（ｘ，ｙ）＝Ｓt+1（ｘ，ｙ）−Ｓt-1（ｘ，ｙ）      （７）
このように、本実施形態における差分誤差Ｄ（ｘ，ｙ）は、第１の実施形態と異なり、画素値の差分の正負の判定ができればよい。
【００７８】
ステップＳ１２０４で、オクルージョン特性設定部１３０２は、ステップＳ１２０１で取得したシーン特性１１０１が、「明るい背景の前を暗い被写体が移動しているシーン１４０２」であるかどうかを判定する。「明るい背景の前を暗い被写体が移動しているシーン１４０２」である場合には、ステップＳ１２０５に進み、そうでない場合には、ステップＳ１２０８に進む。
【００７９】
ステップＳ１２０５で、オクルージョン特性設定部１３０２は、ステップＳ１２０３で算出した差分誤差Ｄ（ｘ，ｙ）が負であるかどうかを判定する。負である場合にはステップＳ１２０６に進み、そうでない場合にはステップＳ１２０７に進む。
【００８０】
ステップＳ１２０６で、オクルージョン特性設定部１３０２は、処理画素位置（ｘ，ｙ）におけるオクルージョン特性Ｏ（ｘ，ｙ）を、「消失領域」として設定する。
【００８１】
ステップＳ１２０７で、オクルージョン特性設定部１３０２は、処理画素位置（ｘ，ｙ）におけるオクルージョン特性Ｏ（ｘ，ｙ）を、「出現領域」として設定する。
【００８２】
ステップＳ１２０８で、オクルージョン特性設定部１３０２は、ステップＳ１２０３で算出した差分誤差Ｄ（ｘ，ｙ）が負であるかどうかを判定する。負である場合にはステップＳ１２０９に進み、そうでない場合にはステップＳ１２１０に進む。
【００８３】
ステップＳ１２０９で、オクルージョン特性設定部１３０２は、処理画素位置（ｘ，ｙ）におけるオクルージョン特性Ｏ（ｘ，ｙ）を、「出現領域」として設定する。
【００８４】
ステップＳ１２１０で、オクルージョン特性設定部１３０２は、処理画素位置（ｘ，ｙ）におけるオクルージョン特性Ｏ（ｘ，ｙ）を、「消失領域」として設定する。
【００８５】
ステップＳ１２１１で、オクルージョン特性設定部１３０２は、処理画素位置を更新し、次の画素位置を処理対象とする。
【００８６】
ステップＳ１２１２で，オクルージョン特性設定部１３０２は、すべての画素位置に対して処理を行ったかどうかを判定する。すべての画素位置に対して処理を行った場合には、ステップＳ１２１３に進み、そうでない場合には、ステップＳ１２０３に戻り、ステップＳ１２０３からステップＳ１２１２の処理を繰り返す。
【００８７】
ステップＳ１２１３で、オクルージョン特性算出部３０６は、設定したオクルージョン特性をオクルージョン特性記憶部３１１に記憶する。
【００８８】
なお、本実施形態においても、処理位置（ｘ，ｙ）におけるオクルージョン特性Ｏ（ｘ，ｙ）が、「消失領域」であるかどうかだけを判定するようにしてもよい。
【００８９】
以上説明したように、本実施形態では、撮影シーンのシーン特性が設定されているため、シーン特性に応じて差分誤差の正負判定を行うことで、オクルージョン特性を設定することができる。すなわち、本実施形態では、第１の実施形態のようにオプティカルフローを算出しなくても、オクルージョン特性に応じて多重像や不自然なボケ、尾引きなどの発生を抑制したＨＤＲ画像の合成が可能となる。
【００９０】
［その他の実施形態］
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００９１】
１１３  画像処理部
３０６  オクルージョン特性算出部
３０７  ＨＤＲ合成処理部
３０８  多露光画像記憶部
３０９  前少露光画像記憶部
３１０  後少露光画像記憶部
３１１  オクルージョン特性記憶部
【図１】
2019047336.tif 000005
【図２】
2019047336.tif 000006
【図３】
2019047336.tif 000007
【図４】
2019047336.tif 000008
【図５】
2019047336.tif 000009
【図６】
2019047336.tif 000010
【図７】
2019047336.tif 000011
【図８】
2019047336.tif 000012
【図９】
2019047336.tif 000013
【図１０】
2019047336.tif 000014
【図１１】
2019047336.tif 000015
【図１２】
2019047336.tif 000016
【図１３】
2019047336.tif 000017
【図１４】
2019047336.tif 000018
【図１５】
2019047336.tif 000019