画像処理装置、画像処理方法、画像処理プログラム、および撮影装置
【課題】ハードウェア規模の大幅な増大を招くことなく、ダイナミックレンジが改善されていて、より自然な画像を得ること。
【解決手段】画像処理部300は、同一被写体を撮影して得られた異なる露光量の複数の入力画像データ中から基準画像データを設定し、この基準画像データから階調変換特性を導出する階調変換特性導出部310と、階調変換特性導出部310で導出された階調変換特性に基づいて複数の入力画像データの中から選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成処理部320とを備える。
【解決手段】画像処理部300は、同一被写体を撮影して得られた異なる露光量の複数の入力画像データ中から基準画像データを設定し、この基準画像データから階調変換特性を導出する階調変換特性導出部310と、階調変換特性導出部310で導出された階調変換特性に基づいて複数の入力画像データの中から選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成処理部320とを備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、同一被写体を撮影し、得られた複数フレーム分の異なる露光量の画像データを合成して階調が改善された画像を得る技術に関する。
【背景技術】
【0002】
屋外晴天下での逆光撮影条件等においては、撮影シーン内の被写体輝度のレンジ(以下では単に「輝度レンジ」と称する)が広くなる。輝度レンジの広い被写体をデジタルカメラで撮影したときに、撮像系および画像信号処理系で記録可能なダイナミックレンジ内に収まらない場合がある。その場合、画像内の暗部においては、像が黒くつぶれてしまう、いわゆる黒つぶれを生じる。また、画像内の明部においては、像が白く飛んでしまう、いわゆる白飛びを生じる。
【0003】
このような現象を解決するための技術として、High Dynamic Range Imaging技術(以下、HDR技術と称する)がある。HDR技術においては、同じ撮影シーンが、シャッタ速度を変えながら複数回にわたって撮影され、互いに異なる露光量で複数の画像データが取得される。そして、画像内の黒つぶれが生じる可能性のある領域に対しては、多めの露光量で得られた画像データの画素値が用いられ、白飛びが生じる可能性のある領域に対しては少なめの露光量で得られた画像データの画素値が用いられて合成処理が行われる。その結果、画像内の暗部から明部に至るまでの階調が再現された画像を得ることができる。
【0004】
特許文献1には、電荷蓄積時間の異なる2枚以上の画像を得て、各画像の信号レベルに応じて重み付けして加算し、得られた高ダイナミックレンジ信号のレベルを基準レベルに圧縮する技術が開示される。
【0005】
特許文献1に開示されるものでは、複数の信号を合成する際にビット幅(ビット深度)を拡げる必要がある。これが原因となり、必要とするハードウェアの規模が増大してしまう。この問題を解決するため、特許文献2には、画像信号の高レベル部を非線形に圧縮する処理を行った後に複数の画像を所定の重み付けで合成し、画像信号のビット幅(ビット数)の拡大を抑制する技術が開示される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平6−141229号公報
【特許文献2】特開2004−266347号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に開示されるものでは、上述した理由によりハードウェアの規模が増大してしまう。また特許文献2に開示されるものでは、露光量の異なる複数の画像を合成する際、予め決められている関数を用いて求まる加重加算比で合成が行われるため、撮影シーンによっては好ましい階調特性を得ることができない場合がある。
【0008】
本発明は、上記の課題に鑑みてなされたものであり、ハードウェア規模の大幅な増大を招くことなく、ダイナミックレンジが改善されていて、より自然な画像を得ることが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【0009】
本発明のある態様によれば、画像処理装置が、
同一被写体を撮影して得られた異なる露光量の複数の入力画像データ中から基準画像データを設定し、当該の基準画像データから階調変換特性を導出する階調変換特性導出部と、
前記階調変換特性に基づいて前記複数の入力画像データの中から選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成処理部と
を備える。
【0010】
本発明のある態様によれば、画像処理方法が、
同一被写体を撮影して得られた異なる露光量の複数の入力画像データ中から基準画像データを設定することと、
前記基準画像データから階調変換特性を導出することと、
前記階調変換特性に基づいて前記複数の入力画像データから選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成することと
を備える。
【0011】
本発明のある態様によれば、
同一被写体を撮影して得られた異なる露光量の複数の入力画像データを合成して階調の改善された合成画像データを生成する処理をコンピュータに実行させるための画像処理プログラムが、
前記複数の入力画像データの中から基準画像データを設定する基準画像データ設定ステップと、
前記基準画像データから階調変換特性を導出する階調変換特性導出ステップと、
前記階調変換特性に基づいて前記複数の入力画像データから選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成ステップと
を備える。
【0012】
本発明のある態様によれば、
撮影レンズによって形成された被写体像を光電変換して画像信号を出力可能な撮像部を備える撮影装置が、
前記撮像部において、同一被写体を撮影し、異なる露光量の複数の入力画像データを得る撮像制御部と、
前記複数の入力画像データの中から基準画像データを設定し、当該の基準画像データから階調変換特性を導出する階調変換特性導出部と、
前記階調変換特性に基づいて前記複数の入力画像データの中から選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成処理部と
を備える。
【発明の効果】
【0013】
本発明によれば、ハードウェア規模の大幅な増大を招くことなく、同一被写体を撮影して得られた異なる露光量の複数の画像を合成し、ダイナミックレンジが改善されてより自然に見える合成画像を得ることができる。
【図面の簡単な説明】
【0014】
【図1】デジタルカメラの概略的構成を説明するブロック図である。
【図2】コンピュータの概略的内部構成を説明するブロック図であり、画像処理プログラムをコンピュータが実行することにより画像処理部が実現される例を説明する図である。
【図3】画像処理部の概略的構成を説明するブロック図である。
【図4】画像処理部で導出される階調変換特性と、この階調変換特性に基づいて基準画像データから階調変換特性情報が導出される様子を概念的に示す図である。
【図5】基準画像データを解析して階調変換特性を導出する手順の一例を概念的に示す図であり、(a)は基準画像データの画素値のヒストグラムを、(b)は基準画像データの画素値の累積頻度曲線を、(c)は基準画像データの画素値の累積頻度曲線に基づいて導出される階調変換特性曲線の例を、それぞれ示す図である。
【図6】第1の実施の形態に係る画像処理部内に設けられる画像合成処理部の内部構成を概略的に示すブロック図である。
【図7】第1の実施の形態に係る画像処理部で実行される画像合成処理手順を説明するフローチャートである。
【図8】第2の実施の形態に係る画像処理部内に設けられる画像合成処理部の内部構成を概略的に示すブロック図である。
【図9】第2の実施の形態に係る画像処理部内に設けられる画像合成処理部で行われる画像選択/混合の処理内容を概念的に示す図である。
【図10】第2の実施の形態に係る画像処理部で実行される画像合成処理手順を説明するフローチャートである。
【発明を実施するための形態】
【0015】
図1は、デジタルカメラ100の概略的構成を説明するブロック図である。デジタルカメラ100は、スチルカメラであってもムービーカメラであってもよい。あるいは、携帯電話等に組み込まれるカメラであってもよい。デジタルカメラ100がスチルカメラまたはムービーカメラであるとき、撮影レンズが固定式のものであっても、交換可能に構成されていてもよい。
【0016】
デジタルカメラ100は、撮影光学系110と、レンズ駆動部112と、撮像部120と、アナログ・フロントエンド(図1中では「AFE」と表記される)122と、画像記録媒体130と、操作部140と、表示部150と、記憶部160と、CPU170と、DSP(ディジタル・シグナル・プロセッサ)190と、システムバス180とを備える。記憶部160は、ROM162とRAM164とを備える。DSP190には、画像処理部300が実装される。
【0017】
レンズ駆動部112、撮像部120、アナログ・フロントエンド122、画像記録媒体130、操作部140、表示部150、記憶部160、CPU170、DSP190は、システムバス180を介して電気的に接続される。RAM164は、CPU170およびDSP190の双方からアクセス可能に構成される。
【0018】
撮影光学系110は、被写体像を撮像部120の受光エリア上に形成する。レンズ駆動部112は、撮影光学系110の焦点調節動作を行う。また、撮影光学系110が可変焦点距離光学系である場合には、撮影光学系110がレンズ駆動部112によって駆動されて焦点距離を変更することが可能に構成されていてもよい。
【0019】
撮像部120は、シャッタと撮像素子とを含んで構成され、撮影光学系110を透過した被写体光は、シャッタが開いている間、撮像素子に入射する。撮像素子の受光エリア上に形成される被写体像が光電変換され、アナログ画像信号が生成される。なお、撮像素子が電気的に露光時間(光電変換時間)の制御を行うことが可能な、電子シャッタの機能を有する場合、シャッタは必ずしも備えられていなくてもよい。アナログ画像信号はアナログ・フロントエンド122に入力される。アナログ・フロントエンド122は、撮像部120から入力した画像信号にノイズ低減、増幅、A/D変換等の処理をしてデジタル画像信号を生成する。このデジタル画像信号は、RAM164に一時的に記憶される。
【0020】
DSP190は、RAM164に一時的に記憶されたデジタル画像信号に対してデモザイク、階調変換、色バランス補正、シェーディング補正、ノイズ低減等のさまざまなデジタル信号処理を施し、必要に応じて画像記録媒体130に記録したり、表示部150に出力したりする。
【0021】
画像記録媒体130は、フラッシュメモリや磁気記録装置等で構成され、デジタルカメラ100に対して着脱可能に装着される。あるいは、画像記録媒体130がデジタルカメラ100に内蔵されていてもよい。その場合、ROM162内に画像データ記録のための領域が確保されて、それを画像記録媒体130とすることが可能である。
【0022】
操作部140は、プッシュスイッチ、スライドスイッチ、ダイヤルスイッチ、タッチパネル等のうちいずれか一種類または複数種類を備え、ユーザの操作を受け付け可能に構成される。表示部150は、TFT液晶表示パネルとバックライト装置、あるいは有機EL表示素子等の自発光式表示素子を備え、画像や文字等の情報を表示可能に構成される。なお、表示部150は表示インターフェースを備えていて、RAM164上に設けられるVRAM領域内に書き込まれる画像データを表示インターフェースが読み出して画像や文字等の情報が表示部150に表示されるものとする。
【0023】
ROM162は、フラッシュメモリ等で構成され、CPU170により実行される制御プログラム(ファームウェア)や、調整パラメータ、あるいはデジタルカメラ100の電源が入っていない状態でも保持する必要のある情報等が記憶される。RAM164は、SDRAM等で構成され、比較的高速のアクセス速度を有する。CPU170は、ROM162からRAM164に転送されたファームウェアを解釈・実行してデジタルカメラ100の動作を統括的に制御する。
【0024】
DSP190は、RAM164に一時的に記憶されるデジタル画像信号に上述した様々な処理を施し、記録用画像データ、表示用画像データ等を生成する。
【0025】
デジタルカメラ100は、HDR撮影モードで静止画を撮影する動作を行うことが可能に構成される。つまり、同一の被写体を撮影して異なる露光量の複数の画像データが得られて、それら複数の画像データから階調の改善された合成画像データを生成するモードで動作可能に構成される。無論、HDR撮影モードで動画撮影が可能に構成されていても良い。その場合、動画像の記録フレームレートよりも高速のフレームレートで露光量を変えながら撮像が行われ、得られる複数の画像データから1フレーム分の画像データが生成され、記録される。ところで、上述した同一被写体を異なる露光量で撮影する際に、同一構図で撮影が行われること、つまり一連の撮影で得られる複数の画像は、露光量が異なっている以外は全て同じものが写っていることが、より良い合成画像データを得る上で望ましい。しかし、手持ち撮影であったために撮影動作中に撮影範囲が若干変化する場合や、被写体が動体であったために画面内における位置や形状が変化する場合がある。その場合、パターンマッチングの技術を用いて画像の切り出し、貼り付け等の処理を行い、画像を合成することが可能である。
【0026】
上記のように露光量を変えながら撮影動作を行う際、CPU170は撮像部120を制御し、決められた回数の露光を、各露光に対応して決められた露光量で行う。つまり、CPU170は、同一の被写体を異なる露光量で撮影し、複数の画像データが得られるように撮像部120を制御する。
【0027】
ところで、デジタルカメラ100が、撮影光学系110、レンズ駆動部112、および撮像部120等からなる撮像系を複数備えるものであってもよい。この場合、複数組の撮像系を用い、ユーザによる一回のレリーズ操作に応じて各撮像系で異なる露光量での画像を略同時に得ることが可能である。この構成を用いて、動画像撮影時に異なる露光量の複数の画像を各フレームに対応して得ることも可能である。
【0028】
あるいは、撮像部120を複数備えていて、撮影光学系110の後方にビームスプリッタ(光路分割部材)を配置し、ビームスプリッタで分割された複数の光路上に撮像部120が配置される構成をデジタルカメラ100が備えていてもよい。ビームスプリッタは不等の光量分割比率で光束を分割する。例えば、ビームスプリッタが入射光束を二つの光束に分割して出射するものである場合、一の光路に沿って出射する光束の光量と、他の光路に沿って出射する光束の光量との比率が例えば1:4などといった光量分割比率となるようにビームスプリッタを設計することが可能である。このようにビームスプリッタを用いる構成では、撮影光学系110での設定絞り値や、シャッタ速度(露光時間)は、各撮像部120に対して同一の露光条件となる。しかし、ビームスプリッタの作用により、各撮像部120に入射する被写体光の光量が異なるので、結果として異なる露光量の複数の画像を一回の撮影動作で得ることができる。この構成を備えることにより、1回の露光動作で異なる露光量の複数の画像を得ることができる。また、この構成を用いて、動画像撮影時に異なる露光量の複数の画像を各フレームに対応して得ることも可能である。
【0029】
異なる露光量の複数の画像を得るためには、以上に説明した三つの方法のうち、いずれかを用いることが可能である。すなわち、第1の方法は、露光条件を変えながら複数回の露光動作を時系列に行う方法である。第2の方法は、複数の撮像系それぞれで異なる露光条件を設定し、略同時に撮影を行う方法である。第3の方法は、一つの撮影光学系の後方に配置した光路分割部材によって異なる光量分割比率で複数の撮像素子に被写体光を導き、異なる露光量の複数の画像を、一回の露光動作で得る方法である。
【0030】
図2は、記録媒体に記録された画像処理プログラムがコンピュータのCPUにより読み出されて実行され、画像処理部300としての機能が実装される例を説明するブロック図である。コンピュータ200は、CPU210と、メモリ220と、補助記憶装置230と、インターフェース240と、メモリカードインターフェース250と、光ディスクドライブ260と、ネットワークインターフェース270と、表示部280とを備える。CPU210と、メモリカードインターフェース250と、光ディスクドライブ260と、ネットワークインターフェース270と、表示部280とは、インターフェース240を介して電気的に接続される。
【0031】
メモリ220は、DDR SDRAM等の、比較的高速のアクセス速度を有するメモリである。補助記憶装置230は、ハードディスクドライブ、あるいはソリッドステートドライブ(SSD)等で構成され、比較的大きな記憶容量を備える。
【0032】
メモリカードインターフェース250は、メモリカードMCを着脱自在に装着可能に構成される。デジタルカメラ等で撮影動作が行われて生成され、メモリカードMC内に記憶された画像データは、このメモリカードインターフェース250を介してコンピュータ200内に読み込むことができる。また、コンピュータ200内の画像データをメモリカードMCに書き込むこともできる。
【0033】
光ディスクドライブ260は、光ディスクODからデータを読み取ることが可能に構成される。光ディスクドライブ260はまた、必要に応じて光ディスクODにデータを書き込むことが可能に構成されていてもよい。
【0034】
ネットワークインターフェース270は、ネットワークNWを介して接続されるサーバ等の外部情報処理装置とコンピュータ200との間で情報を授受可能に構成される。
【0035】
表示部280は、フラットパネルディスプレイ装置等で構成され、文字、アイコン、カラー画像等を表示可能に構成される。
【0036】
画像処理部300は、メモリ220上にロードされた画像処理プログラムをCPU210が解釈・実行することにより実現される。この画像処理プログラムは、メモリカードMCや光ディスクOD等の記録媒体に記録されてコンピュータ200のユーザに頒布される。あるいは、ネットワークNWを介して、サーバ等の外部情報処理装置からダウンロードされた画像処理プログラムが補助記憶装置230に記憶されてもよい。また、他の有線や無線の形態のインターフェースを介して外部情報処理装置等から画像処理プログラムがダウンロードされて補助記憶装置230に記憶されてもよい。
【0037】
画像処理部300は、補助記憶装置230に記憶された画像データ、あるいはメモリカードMC、光ディスクOD、ネットワークNW等を介して入力した画像データに後述する画像処理を行う。以下、画像処理部300における処理について二つの実施の形態で説明する。
【0038】
− 第1の実施の形態 −
図3は、画像処理部300の構成を概略的に説明するブロック図である。画像処理部300は、先に説明したように、デジタルカメラ100内のDSP190に実装されていてもよいし、コンピュータ200のCPU210が画像処理プログラムを実行することにより実現されてもよい。
【0039】
画像処理部300は、階調変換特性導出部310と、画像合成処理部320と、画像取得部330とを備える。画像処理部300に接続される画像記録部360は、先に図1、図2を参照して説明した画像記録媒体130、補助記憶装置230に対応する。同じく、画像処理部300に接続される表示部350は、表示部150、280に対応する。
【0040】
画像取得部330は、同一の被写体を撮影して異なる露光量の複数の入力画像データを取得する。異なる露光量の複数の入力画像データを得るためには、上述した三つの方法のうち、いずれかの方法を用いることができる。以下では、第一の方法、すなわち露光条件を変えながら複数回の露光を時系列に行う(以下では、同一の被写体を異なる露光量で複数回、時系列に撮影することを「ブラケティング露光」と称する)ものとして説明する。このブラケティング露光に際しては、露光時間の長短で露光量を調節することがボケや収差の揃った複数の画像を得る上で望ましい。但し、ブラケティング露光に際しての露光の変化ステップ(補正ステップ)が小さめで、絞りを変えることによるボケや収差の変化が殆ど問題とならない状況では絞り値を変えて露光量を変化させてもよい。また、撮影光学系110の内部等に、被写体光の光路に対して挿抜可能に構成されるNDフィルタが備えられる場合、NDフィルタの挿抜切り換えによって異なる露光量の画像が得られるようにしてもよい。
【0041】
画像処理部300がデジタルカメラ100のDSP190に実装される場合、画像取得部330は以下のようにして複数の入力画像データを取得することが可能である。すなわち、デジタルカメラ100でブラケティング露光が行われている間にアナログ・フロントエンド122から逐次出力されるデジタル画像信号をDSP190が処理して得られた複数の入力画像データを画像取得部330が取得することが可能である。あるいは、過去にブラケティング露光が行われて画像記録部360(画像記録媒体130)に記録されていた複数の入力画像データを読み出し、画像取得部330で取得することも可能である。いずれの場合であっても、入力画像データはいわゆるロー(RAW)画像データから得られるものであっても、現像処理の行われたRGBやYCbCr等の形式の画像データであってもよい。
【0042】
画像取得部330で取得する入力画像データの数は2以上の任意の数nとすることが可能である。この数は、固定値であっても、ユーザが設定可能に構成されていても、あるいは撮影準備動作中(ライブビュー表示動作中)に被写界輝度の分布が検出されて、その結果に基づいて自動的に設定されてもよい。例えば、曇天下の順光撮影条件などのように、被写界中の最大輝度と最小輝度との差が比較的小さい場合、ブラケティング露光に際しての露光回数(入力画像データの数)は少なめに設定される場合がある。逆に、晴天下の逆光撮影条件や夜景などのように、被写界中の最大輝度(最明部)と最小輝度(最暗部)との差が比較的大きい場合、ブラケティング露光に際しての露光回数を多めに設定される場合がある。このとき、補正ステップもユーザが任意に設定することが可能に構成されていてもよいし、自動的に設定されるものであってもよい。
【0043】
例えば、理解を容易にすることを目的として、補正ステップが1Evで、露光回数が5回であるものとして説明すると、最も少ない露光量を基準として、+0Ev(一倍)、+1Ev(二倍)、+2Ev(四倍)、+3Ev(八倍)、+4Ev(十六倍)の露光量の画像が得られる。以下では、入力画像データ1を得る際の露光量を基準として、入力画像データ2、入力画像データ3、…、入力画像データnを得る際の露光量が段階的に増すものとして説明をする。これらの入力画像データからは、その画素位置(i,j)に対応して画素値P(i,j)が得られる。以下、入力画像データ1、入力画像データ2、…、入力画像データnの所与の画素位置(i,j)における画素値をP1(i,j)、P2(i,j)、…Pn(i,j)と表す。また、入力画像データ1、入力画像データ2、…、入力画像データnを総称して入力画像データ1〜nと表す。なお、上述した補正ステップや露光回数については被写体や作画意図等に応じて任意に定めることが可能であり、補正ステップについては露光量が等間隔で変化するように設定されていても、不等間隔で変化するように設定されていてもよい。
【0044】
階調変換特性導出部310は、画像取得部330で取得された複数の入力画像データ1〜n中、一つの入力画像データを基準画像データとして選択し、この基準画像データを解析して階調変換特性を導出する。基準画像データの選択方法としては、様々な方法を適用可能である。例えば、一連のブラケティング露光で得られた複数の入力画像データ中、最も少ない露光量で得られた入力画像データを基準画像データとすることができる。また、中間の露光量で得られた入力画像データ、あるいは最も多い露光量で得られた入力画像データを基準画像データとすることも可能である。あるいは、複数の入力画像データをヒストグラム解析して、画素値の分布の中心が明るい側、または暗い側に極端に偏っていないものを基準画像データとすることも可能である。本実施の形態においては、露光量の最も少ない状態で得られた画像データ(入力画像データ1)を基準画像データとする。階調変換特性導出部310はさらに、導出された階調変換特性に基づき、基準画像データを構成する画素それぞれの値に対応して階調変換特性情報を導出する。階調変換特性および階調変換特性情報の詳細については後で説明する。
【0045】
画像合成処理部320は、複数の入力画像データ1〜nをもとに合成画像データを生成する。合成画像データの生成方法は以下のとおりである。すなわち、画像合成処理部320は、合成画像データを構成する画素のひとつ一つの画素値を決定する際に、複数の入力画像データ1〜n中のいずれかの画像データの画素値を選択する。例えば、合成画像データ中の左上隅の画素位置の座標値を(1,1)として説明すると、画素位置(1,1)の画素値としては、複数の入力画像データ1〜nそれぞれの左上隅の、画素位置(1,1)の画素値が候補となる。画像合成処理部320は、これらn個の候補の中からいずれかの画素値を合成画像データ中の当該位置の画素値として決定する。この処理を全ての画素位置(i,j)に対応して行うことにより、合成画像データが生成される。
【0046】
画像合成処理部320は、階調変換特性導出部310で画素ごとに導出された階調変換特性情報と閾値とを比較し、その比較結果に基づいて上述したn個の候補の中からいずれかを選択する。画像合成処理部320に入力される閾値は、ブラケティング露光に際しての露光回数および補正ステップに応じて自動的に設定されるものとすることが可能である。この閾値は、ユーザによって適宜設定可能に構成されていてもよい。以下、階調変換特性、階調変換特性情報および閾値について説明する。
【0047】
合成画像データを生成する際、輝度が低めで黒つぶれしがちな部分(シャドウ部)については比較的多めの露光量で得られた入力画像データの画素値が選択される。比較的多めの露光量で得られた入力画像データは、暗部における階調情報が比較的豊富で、ノイズの影響が減じられているという特徴がある。
【0048】
逆に、輝度が高めで白飛びしがちな部分(ハイライト部)については、比較的少なめの露光量で得られた入力画像データの画素値が選択される。比較的少なめの露光量で得られた入力画像データは、明部における階調情報が比較的豊富であるという特徴がある。
【0049】
上記のようにして合成画像データ中の各画素値が選択されることにより、合成画像データで形成される画像中のシャドウ部およびハイライト部の双方において階調を再現することが可能となる。また、シャドウ部におけるノイズの影響も減じることができる。このようにして合成画像データを生成する際に、より自然に階調が再現されるように閾値および階調変換特性情報が設定される。
【0050】
図4は、階調変換特性導出部310で導出される階調変換特性の例を説明する図である。先にも説明したように、本実施の形態において基準画像データは入力画像データ1であるものとして説明する。階調変換特性導出部310は、基準画像データを解析して階調変換特性を導出する。ここで、基準画像データ(入力画像データ1)中の画素位置(i,j)における画素値P1(i,j)に対応して導出される階調変換特性情報をG(i,j)と表す。つまり、階調変換特性は、画素値P1(i,j)に対応する階調変換特性情報G(i,j)を導出するための特性である。図4の中央に示されるグラフは、階調変換特性の一例を概念的に示したものであり、横軸に基準画像データの画素値P1(i,j)が、縦軸に階調変換特性情報G(i,j)の値がとられている。
【0051】
階調変換特性は、基準画像データの画素値P1(i,j)が増加するほど階調変換特性情報G(i,j)は傾向として減少するように特性を定めることが可能である。つまり、小さめ(暗め)の画素値P1(i,j)に対応して大きめの階調変換特性情報G(i,j)が導出され、大きめ(明るめ)の画素値P1(i,j)に対応して小さめの階調変換特性情報G(i,j)が導出される。導出される階調変換特性の一例としては、図4の中央のグラフに示されるように、いわゆる逆S字の特性がある。あるいは、P1(i,j)の増加に伴ってG(i,j)が直線的に減少する特性であっても、凸カーブや凹カーブを描いて減少する特性でもよい。無論、この階調変換特性は、画像の表現意図や撮影シーンの状況に従って様々なものとすることが可能である。
【0052】
本実施の形態において、階調変換特性情報G(i,j)は増幅率として扱われる。たとえば入力画像データ1〜nが先に説明したように補正ステップが1Evで5回のブラケティング露光が行われた場合、最小の露光量を基準として、1倍(+0Ev)から16倍(+4Ev)までの露光が行われる。階調変換特性情報G(i,j)は、この1倍から16倍の露光量に対応して定められる。増幅率としては、真数(上記の例では1から16の実数)で扱うことも可能であるが、以下では写真の技術分野における慣例に従って2を底とする対数表現で扱うものとして説明する。つまり、上記の例においては、増幅率G(i,j)は0以上4以下の実数となる。なお、画像処理装置内部のCPUによる演算に際して、数値の表現形式は整数とすることも可能であるが、ここでは理解の容易を目的とし、増幅率G(i,j)は0以上の実数であるものとして説明をする。
【0053】
ブラケティング露光によって+0Evから+4Evまでの段階露光が行われた場合、上述のように増幅率G(i,j)は0から4までの値をとる実数とすることが可能である。このとき、閾値は、導出される階調変換特性情報G(i,j)との比較結果に基づいて適切な入力画像データの画素値Pn(i,j)が選択されるように、ブラケティング露光に際しての露光回数と補正ステップとに基づいてその個数および値が設定される。その結果、ある画素に対して大きめの増幅率、つまり大きめの階調変換特性情報G(i,j)が設定された場合には、多めの露光量で得られた入力画像データの画素値Pn(i,j)が選択される。また、小さめの階調変換特性情報G(i,j)が設定された場合には、少なめの露光量で得られた入力画像データの画素値Pn(i,j)が選択される。
【0054】
以上に説明した階調変換特性、つまりP1(i,j)の増加に伴ってG(i,j)が減少する特性が設定されることと、階調変換特性情報G(i,j)が増幅率として扱われることとにより、以下のように合成画像データ中の画素値を選択することが可能となる。すなわち、基準画像データによる画像中、暗めの画素に対応して高めの増幅率が設定され、結果として多めの露光量で得られた入力画像データの画素値が選択される。その結果、シャドウ部での階調を増すことができ、ノイズの影響も低減することが可能となる。逆に、基準画像データによる画像中、明るめの画素に対応して低めの増幅率が設定され、結果として少なめの露光量で得られた入力画像データの画素値が選択される。その結果、ハイライト部での階調を増すことができる。このようにして、被写体のより広い輝度範囲に対応して階調を再現することが可能となる。また、シャドウ部におけるノイズも低減することが可能となる。このとき、階調変換特性情報G(i,j)を増幅率として扱うことにより、ブラケティング露光における補正ステップとの対応付けが容易となり、画像データの階調変換の処理を単純化することが可能となる。
【0055】
本発明の実施の形態においては、画像合成処理の過程において、各画素位置(i,j)に対応する画素値として、一連のブラケティング露光で得られた複数の入力画像データ1〜nの画素値P1(i,j)〜Pn(i,j)の中からいずれかを選択することが各画素位置(i,j)において行われる。このように各画素値が選択された結果、階調変換が行われたかのような合成画像を得ることができるので、本明細書中では「階調変換特性」という文言を用いている。
【0056】
ここで、階調変換特性導出部310において階調変換特性を導出する際の導出方法の一例を説明する。図5(a)は、基準画像データのヒストグラム例を示す。図5(a)の例は、少なめの露光量で得られた画像データを基準画像データとすることを想定しており、その結果ヒストグラムが全体として画素値の小さい側に偏っている。
【0057】
図5(b)は、図5(a)に例示されるヒストグラムを呈する画像の画像データを解析して求められた累積頻度を示している。図5(b)中に示される累積頻度の曲線は、画素値の低い領域で急激に立ち上がり、その後中間から高めの画素値の領域で累積頻度の増加が頭打ちとなる凸カーブを描いている。図5(c)は、図5(b)に示される累積頻度曲線に基づいて導出される階調変換特性の例を示す図である。図5(c)に示されるカーブは、図5(b)に示される累積頻度の曲線の傾きに基づいて導出されたものとなっている。つまり、図5(b)に示される累積頻度特性を画素値で微分して得たものとなっている。
【0058】
図5(c)に示される階調変換特性に基づき、基準画像データの各画素値P1(i,j)に対応して階調変換特性情報G(i,j)が導出される。図5(c)に示される例では、以下のような特性となっている。すなわち、図5(c)に示される例において、階調変換特性は逆S字状のカーブ形状を有している。その結果、小さ目の画素値P1(i,j)に対応して大きめの階調変換特性情報G(i,j)が導出され、大きめの画素値P1(i,j)に対して小さめの階調変換特性情報G(i,j)が導出される。また、中間域の画素値P1(i,j)に対しては、画素値P1(i,j)の僅かな増加に対して階調変換特性情報G(i,j)が比較的大きく減少する特性となっている。その結果、図5(c)に示される階調変換特性が適用されると、基準画像データ内において画素値の小さ目の画素に対しては比較的多めの露光量で得られた入力画像データ中の画素値が選択される。また、基準画像データ内において画素値の大きめの画素に対しては比較的少なめの露光量で得られた入力画像データ中の画素値が選択される。このようにして得られる画像は、低輝度部ではノイズが少なく、高輝度部では白飛びが抑制される。また、中間域に対してはより多くの階調が割り当てられるので、見た目のコントラストが増して見栄えのする画像を得ることが可能となる。
【0059】
図5を参照して説明した階調変換特性の導出方法は一例であり、別の方法によって階調変換特性を導出することも可能である。
【0060】
以上に説明した階調変換特性情報G(i,j)を導出する処理に際して、以下のような方法で行うことが可能である。一例としては、基準画像データ全体の画素値P1(i,j)を解析し、図5を参照して説明した方法に基づいて、一つの画像に対して一つの階調変換特性を導出する方法がある。この場合、一つの画像に対して図5(c)に例示される階調変換特性が一つ導出される。別の例としては、以下に説明するように、スペースバリアントに階調変換特性を導出する方法がある。
【0061】
例えば、基準画像データで形成される画像を縦、横任意の数でグリッド状に分割し、複数のブロックを画定する。画定したブロックごとに図5を参照して説明した処理を行い、各ブロックに対応する階調変換特性を導出する。複数のブロックを画定する際には、以上のように単純に幾何学的に分割するだけでなく、被写体認識等の画像処理技術を用いて、画像内で主要被写体が存在すると目される領域を一つの領域として画定することも可能である。それ以外の領域については、例えば主要被写体が存在する領域からの距離や明るさ等に応じて設定される主要度の高さに応じて分割することが可能である。上記のように各ブロックに対応して導出された階調変換特性を用い、各ブロック内に存在する画素の画素値に対応して階調変換特性情報G(i,j)を導出することができる。
【0062】
画像処理部300がデジタルカメラ100に実装される場合には、表示部150に表示されるライブビュー画像を観ながらユーザがタッチパネル等を操作して主要被写体等を指定するのに応じて階調変換特性導出のための領域が画定されてもよい。また、画像処理部300がコンピュータ200により実施される場合、表示部280に表示される画像を観ながらユーザがコンピュータマウス等を操作して階調変換特性導出のための領域を設定可能に構成されていてもよい。上述したいずれかの方法によって分割された各領域に対応して導出された階調変換特性を用い、基準画像データの各領域内における画素値P1(i,j)に対応して、スペースバリアントに階調変換特性情報G(i,j)を導出することが可能となる。
【0063】
図6は、画像合成処理部320の要部を示すブロック図である。画像合成処理部320は、選択部370を備える。選択部370は、入力された階調変換特性情報G(i,j)と閾値TH1、TH2、…、THnとを、各画素位置(i,j)に対応して比較する。この比較結果に基づき、選択部370は、合成画像データSを構成する各画素値S(i,j)を、入力画像データ1〜n中の対応する画素位置(i,j)の画素値P1(i,j)、P2(i,j)、…、Pn(i,j)の中から選択する。以下では閾値TH1、TH2、…、THnを閾値TH1〜THnと表す。
【0064】
図7は、画像処理部300により実行される画像合成処理の処理手順を説明するフローチャートである。画像処理部300がデジタルカメラ100に内蔵される場合、デジタルカメラ100で一連のブラケティング露光が行われた後に図7の処理手順が実行される。あるいは、過去にブラケティング露光が行われて画像記録媒体130に記録されている入力画像データを用いての合成処理を行うメニューがユーザによって選択されたときに実行される。画像処理部300がコンピュータ200によって実施される場合、画像処理ソフトウェアがコンピュータ200上で実行されて、補助記憶装置230中に記憶されている入力画像データを用いての合成処理を行うメニューがユーザによって選択されたときに実行される。図7に示される処理手順は、ハードウェアによって実行されても、ソフトウェアによって実行されても、それらの組み合わせによって実行されてもよい。
【0065】
S700において画像処理部300は、複数の入力画像データ1〜nを取得する。S702において画像処理部300は、入力画像データ1〜nの中から、いずれかの入力画像データを基準画像データとして設定する。本実施の形態においては、先に説明したように、一連のブラケティング露光中で最も少ない露光量で得られた入力画像データ1が基準画像データとして設定されるものとする。
【0066】
S704において画像処理部300は、基準画像データを解析して各画素位置(i,j)に対応する階調変換特性情報G(i,j)を生成する。本実施の形態において、階調変換特性情報G(i,j)は、先にも説明したように、増幅率として扱われるものとする。また、階調変換特性情報G(i,j)を生成する手順の詳細については図4、図5等を参照して先に説明したとおりである。このとき、階調変換特性情報G(i,j)は、基準画像データ全体の画素値を解析して求められるものであってもよい。あるいは、基準画像データが複数の領域に分割され、分割された領域ごとに画像データの解析が行われて、スペースバリアントに階調変換特性情報G(i,j)が求められるものであってもよい。
【0067】
S706において画像処理部300は、S704で生成された階調変換特性情報G(i,j)中、所与の画素位置(i,j)における階調変換特性情報G(i,j)を、閾値TH1〜THnと比較する。そして、この比較結果に基づき、画像処理部300は所与の画素位置(i,j)に対応する画素値を抽出する対象として、入力画像データ1〜nのうち、いずれかの入力画像データを選択する。
【0068】
S708において画像処理部300は、S706で選択された入力画像データ中から、所与の画素位置(i,j)に対応する画素値を抽出し、合成画像データSの画素値S(i,j)とする。
【0069】
以上のS706、S708の処理を全ての画素位置(i,j)に対応して行ったか否かを画像処理部300はS710で判定する。この判定が否定される間、S706からS710までの処理が繰り返し行われる。一方、S710での判定が肯定されると、画像処理部300は合成画像データSを出力する処理をS712で行う。その結果、合成画像データSに基づく画像は、図3に示される画像記録部360に記録される。また、必要に応じて合成画像データSに基づく画像が表示部350に表示される。
【0070】
以上に説明したように、基準画像データから階調変換特性が導出され、その階調変換特性に基づいて階調変換特性情報G(i,j)が生成される。この階調変換特性情報G(i,j)と閾値TH1〜THnとが各画素位置(i,j)に対応して比較された結果、入力画像データ1〜nのいずれかが選択され、選択された入力画像データ中の対応画素位置における画素値が合成画像データSの画素値S(i,j)とされる。このように、n枚の異なる露光量の画像中から一枚の画像を選択して画素値を抽出することが画素ごとに行われてHDR画像が生成されるため、撮影シーンに適した階調変換特性のHDR画像を生成することができる。このとき、所定のビット深度で表現される入力画像データの対応する画素値Pn(i,j)が、同じビット深度で表現される合成画像S中の対応する画素値S(i,j)とされるため、ビット深度を増すことなく合成画像Sを得る処理を行うことができる。したがって、最終的に得られる合成画像データのビット深度の範囲で合成の処理を行うことができるので、ハードウェア規模の増大を抑制することが可能となる。
【0071】
このとき、階調変換特性を、先に説明したようにスペースバリアントに導出すると、画像内の各領域に適した階調変換特性で画像の合成処理を行うことが可能となる。
【0072】
− 第2の実施の形態 −
第1の実施の形態において、合成画像データS中の所与の画素位置(i,j)に対応して階調変換特性情報G(i,j)と閾値TH1〜THnとが比較され、複数の入力画像データ1〜nの中からいずれか一つが選択される。そして、選択された入力画像データ中の対応する画素位置(i,j)の画素値Pn(i,j)が合成画像データS中の対応する画素位置(i,j)の画素値S(i,j)とされる。これに対し、第2の実施の形態では、合成画像データS中の所与の画素位置(i,j)に対応して階調変換特性情報G(i,j)と閾値TH1〜THnとが比較された結果、複数の入力画像データ1〜nの中から二つの入力画像データが選択される。選択された二つの入力画像データ中の対応する画素位置(i,j)の画素値(二つの画素値)が階調変換特性情報G(i,j)と、この階調変換特性情報G(i,j)の値を挟む二つの閾値との関係に基づいて導出される混合比率で混合される。混合して得られた画素値が、合成画像データS中の対応する画素位置(i,j)の画素値S(i,j)とされる。
【0073】
第2の実施の形態においても、図3から図5を参照して説明した、第1の実施の形態における画像処理部300の構成および階調変換特性情報G(i,j)の導出手順と同様の構成および導出手順であるのでその説明を省略する。また、階調変換特性情報G(i,j)は、第1の実施の形態と同様、増幅率として扱われるものとして説明をする。
【0074】
図8は、画像合成処理部320Aの要部を示すブロック図である。第1の実施の形態における画像合成処理部320との違いは、選択部370に代えて選択/混合部380を備える点にある。その他の部分については第1の実施の形態で説明したものと同様である。選択/混合部380は、入力された階調変換特性情報G(i,j)と閾値TH1〜THnとを比較する。この比較結果に基づき、選択/混合部380は、入力画像データ1〜nの中から二つの入力画像データを選択する。選択/混合部380はまた、後で図9を参照して説明するように、選択された二つの入力画像データ中の対応する画素位置(i,j)の画素値を混合する処理を行い、合成画像データSを生成する。
【0075】
図9は、選択/混合部380で選択された二つの入力画像データ中の二つの画素値が混合される様子を概念的に示す図である。図9において、ブラケティング露光に際しての補正ステップと露光回数とに対応して閾値TH1〜THnが設定される。このとき、階調変換特性情報G(i,j)の値が閾値TH1を下回る場合があり、また、閾値Thnを上回る場合もある。階調変換特性情報G(i,j)の値が閾値TH1を下回る場合には、G(i,j)=TH1にクリッピングされるものとする。また、階調変換特性情報G(i,j)が閾値THnを上回る場合には、G(i,j)=THnにクリッピングされるものとする。図9中では、階調変換特性情報G(i,j)の値は図9の下方に向かうにつれて増すものとして描かれている。また、図9中に示される式において、記号*は乗算を表す(以下同様)。
【0076】
階調変換特性情報G(i,j)の値が閾値TH1以上かつ閾値TH2以下の場合、入力画像データ1および入力画像データ2が選択される。これらの入力画像データ1および2中の所与の画素位置(i,j)に対応する画素値P1(i,j)、P2(i,j)が以下の式(1)、すなわち、
【0077】
【数1】
【0078】
を用いて混合され、合成画像Sの対応する画素位置(i,j)の画素値S(i,j)が導出される。式(1)から明かであるように、階調変換特性情報G(i,j)の値が閾値TH1に近いほど入力画像データ1の画素値P1(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値TH1に等しいとき、画素値S(i,j)は入力画像データ1の画素値P1(i,j)の混合比率が100%となり、画素値P1(i,j)に等しくなる。逆に、階調変換特性情報G(i,j)の値が閾値TH2に近いほど入力画像データ2の画素値P2(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値TH2に等しいとき、画素値S(i,j)は入力画像データ2の画素値P2(i,j)の混合比率が100%となり、画素値P2(i,j)に等しくなる。この、画素値P1(i,j)、P2(i,j)の混合比率の変化する様子が図9中に斜めの実線で示されている。そして、斜めの線を挟む左右両側において、両端に矢印の付された破線が示されているが、これが所与の階調変換情報G(i,j)の値に対応する入力画像データ1、入力画像データ2の画素値P1(i,j)、P2(i,j)の混合比率を示している。
【0079】
階調変換特性情報G(i,j)の値が閾値TH2を越し、かつ閾値TH3以下の場合、入力画像データ2および入力画像データ3が選択される。これらの入力画像データ2および3中の所与の画素位置(i,j)に対応する画素値P2(i,j)、P3(i,j)が以下の式(2)、すなわち、
【0080】
【数2】
【0081】
を用いて混合され、合成画像Sの対応する画素位置(i,j)の画素値S(i,j)が導出される。式(2)から明かであるように、階調変換特性情報G(i,j)の値が閾値TH2に近いほど入力画像データ2の画素値P2(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値TH2に限りなく近づくとき、画素値S(i,j)は入力画像データ2の画素値P2(i,j)の混合比率が100%に近づき、画素値P2(i,j)に限りなく等しくなる。逆に、階調変換特性情報G(i,j)の値が閾値TH3に近いほど入力画像データ3の画素値P3(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値TH3に等しいとき、画素値S(i,j)は入力画像データ3の画素値P3(i,j)の混合比率が100%となり、画素値P3(i,j)に等しくなる。
【0082】
以下、同様にして、階調変換特性情報G(i,j)の値が閾値THn-1を越し、かつ閾値THn以下の場合、入力画像データn−1および入力画像データnが選択される。これらの入力画像データn−1およびn中の所与の画素位置(i,j)に対応する画素値Pn-1(i,j)、Pn(i,j)が以下の式(3)、すなわち、
【0083】
【数3】
【0084】
を用いて混合され、合成画像Sの対応する画素位置(i,j)の画素値S(i,j)が導出される。式(3)から明かであるように、階調変換特性情報G(i,j)の値が閾値THn-1に近いほど入力画像2の画素値Pn-1(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値THn-1に限りなく近づくとき、画素値S(i,j)は入力画像n−1の画素値Pn-1(i,j)の混合比率が100%に近づき、画素値Pn-1(i,j)に限りなく等しくなる。逆に、階調変換特性情報G(i,j)の値が閾値THnに近いほど入力画像データnの画素値Pn(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値THnに等しいとき、画素値S(i,j)は入力画像データnの画素値Pn(i,j)の混合比率が100%となり、画素値Pn(i,j)に等しくなる。
【0085】
以上のように、階調変換特性情報G(i,j)の値が閾値THnに等しいとき、導出される合成画像Sの画素値S(i,j)は入力画像データnの画素値Pn(i,j)と等しくなるように構成される。また、階調変換特性情報G(i,j)の値が相隣り合う二つの閾値THn-1、THnの間の値をとるとき、これら二つの閾値THn-1、THnと階調変換特性情報G(i,j)の値とに基づいて導出される混合比率で入力画像データn−1、nの画素値Pn-1(i,j)およびPn(i,j)が混合される。
【0086】
図10は、画像処理部300により実行される画像合成処理の処理手順を説明するフローチャートである。第1の実施の形態で説明したのと同様、画像処理部300がデジタルカメラ100に内蔵される場合、デジタルカメラ100で一連のブラケティング露光が行われた後に図10の処理手順が実行される。あるいは、過去にブラケティング露光が行われて画像記録媒体130に記録されている入力画像データを用いての合成処理を行うメニューがユーザによって選択されたときに実行される。画像処理部300がコンピュータ200によって実施される場合、画像処理ソフトウェアがコンピュータ200上で実行されて、補助記憶装置230中に記憶されている入力画像データを用いての合成処理を行うメニューがユーザによって選択されたときに実行される。図10に示される処理手順は、ハードウェアによって実行されても、ソフトウェアによって実行されてもよい。
【0087】
S1000において画像処理部300は、入力画像データ1〜nを取得する。S1002において画像処理部300は、入力画像データ1〜nの中から、いずれかの入力画像データを基準画像データとして設定する。本実施の形態においては、一連のブラケティング露光中で最も少ない露光量で得られた入力画像データ1が基準画像データとして設定されるものとする。
【0088】
S1004において画像処理部300は、基準画像データを解析して各画素位置(i,j)に対応する階調変換特性情報G(i,j)を生成する。第2の実施の形態においても、階調変換特性情報G(i,j)は増幅率として扱われるものとする。また、階調変換特性情報G(i,j)を生成する手順の詳細については図4、図5等を参照して先に説明したとおりである。さらに、階調変換特性情報G(i,j)は、基準画像データ全体の画素値を解析して求められるものであっても、スペースバリアントに求められるものであってもよいのは第1の実施の形態と同様である。
【0089】
S1006において画像処理部300は、S1004で生成された階調変換特性情報G(i,j)中、所与の画素位置(i,j)における階調変換特性情報G(i,j)を、閾値TH1〜THnと比較する。そして、この比較結果に基づき、画像処理部300は所与の画素位置(i,j)に対応する画素値を抽出する対象として、図9を参照して説明したように、入力画像データ1〜nのうち、二つの入力画像データを選択する。
【0090】
S1008において画像処理部300は、S1006で選択された二つの入力画像データ中から、所与の画素位置(i,j)に対応する画素値を抽出し、混合処理をして合成画像データSの画素値S(i,j)とする。上記混合処理をする際の混合比率は、図9を参照して説明したとおりである。すなわち、所与の画素位置(i,j)に対応する階調変換特性情報G(i,j)の値と、この値を挟む二つの閾値の値とに基づいて導出される混合比率で二つの入力画像データの画素値を混合し、合成画像データSの画素値S(i,j)とする。
【0091】
以上のS1006、S1008の処理を全ての画素位置(i,j)に対応して行ったか否かを画像処理部300はS1010で判定する。この判定が否定される間、S1006からS1010までの処理が繰り返し行われる。一方、S1010での判定が肯定されると、画像処理部300は合成画像データSを出力する処理をS1012で行う。その結果、合成画像データSに基づく画像は、図3に示される画像記録部360に記録される。また、合成画像データSに基づく画像が必要に応じて表示部350に表示される。
【0092】
以上に説明したように、本発明の第2の実施の形態においても、基準画像データから階調変換特性が導出され、その階調変換特性に基づいて階調変換特性情報G(i,j)が生成される。この階調変換特性情報G(i,j)と閾値TH1〜THnとが各画素位置(i,j)に対応して比較される。比較された結果、入力画像データ1〜nの中から、ブラケティング露光で得られた一連の入力画像データ1〜n中、二つの入力画像データが選択される。選択される入力画像データは、図9を参照して説明したように、階調変換特性情報G(i,j)の値を挟む二つの閾値THn-1、THnに対応する入力画像データである。これら二つの入力画像データの画素値Pn-1(i,j)、Pn(i,j)が、先に説明した式(1)、式(2)、式(3)等のいずれかを用い、階調変換特性情報G(i,j)の値、およびこの値を挟む二つの閾値THn-1、THnに基づく混合比率で混合される。このようにして得られた値が合成画像データSの画素値S(i,j)とされる。
【0093】
以上のようにして生成される合成画像データSでは、上述した混合処理によって画像が生成されることにより、第1の実施の形態によるものと同様の効果が得られることに加えて、いわゆるアーティファクトの発生が抑制される。つまり、合成画像データで形成される画像中において明度の変化がより滑らかなものとなり、人の肌などのようにトーンが微妙に変化する画像中で階調が不自然に変化する、トーンジャンプのような現象の発生を抑制可能となる。
【0094】
以上、第2の実施の形態においては、階調変換特性情報G(i,j)に基づいて二つの入力画像データが選択され、これらの入力画像データの画素値が混合される例について説明したが、本発明はこの例に限られるものではない。すなわち、階調変換特性情報G(i,j)に基づいて、三つ以上の入力画像データが選択され、選択されたこれらの入力画像データの画素値が混合されてもよい。
【0095】
また、図9を参照しての説明で、階調変換特性情報G(i,j)の最小値が閾値TH1を下回る場合があり、また、閾値Thnを上回る場合もあることについて説明した。そのような場合、階調変換特性情報G(i,j)はTH1あるいはTHnにクリッピングされるものとして説明した。つまり、階調変換特性情報G(i,j)が、TH1を下回る場合、S(i,j)はP1(i,j)に、THnを越す場合、S(i,j)はPn(i,j)に、それぞれ固定される。これに対して、階調変換特性情報G(i,j)がTH1を下回る場合、あるいはTHnを越す場合に、以下に説明する方法によって画素値S(i,j)を導出することも可能である。
【0096】
階調変換特性情報G(i,j)が閾値TH1を下回る場合、例えば以下の式(3)に基づいて画素値S(i,j)を導出することができる。
画素値S(i,j)=G(i,j)*P1(i,j) … 式(3)
階調変換特性情報G(i,j)が閾値TH1を下回る場合に式(3)を用いて画素値を導出することにより、階調変換特性情報G(i,j)が閾値TH1を下回って減少するのにつれて画素値S(i,j)も減少する。その結果、画像の暗部における階調再現域を拡大することが可能となる。なお、式(3)を用いて画素値S(i,j)を導出する場合、閾値TH1=1とすることが望ましい。理由は、階調変換特性情報G(i,j)の値が1をはさんで変化する際の画素値S(i,j)の連続性が得られ、トーンジャンプを生じにくくなるからである。
【0097】
階調変換特性情報G(i,j)が閾値THnを上回る場合、例え場以下の式(4)に基づいて画素値S(i,j)を導出することができる。
画素値S(i,j)=G(i,j)*Pn(i,j)*TH1/THn … 式(4)
階調変換特性情報G(i,j)が閾値THnを上回る場合に式(4)を用いて画素値を導出することにより、階調変換特性情報G(i,j)が閾値THnを上回って増加するのにつれて画素値S(i,j)も増加する。その結果、画像の明部における階調再現域を拡大することが可能となる。式(4)を用いて画素値S(i,j)を導出する場合も、式(3)に関して説明したのと同様の理由により、閾値TH1=1とすることが望ましい。
【0098】
以上に説明した第1の実施の形態および第2の実施の形態においては、入力画像データの画素値Pn(i,j)の詳細について、説明を単純化して理解を容易にすることを目的として、詳しく触れなかったが、以下のようにすることが可能である。入力画像データがいわゆるRGB画像データである場合、R、G、Bの各画素値に対して以上に説明した処理をすることが可能である。入力画像データがYCbCr、Lab等の表色系で表されるものである場合、Y、Cb、Cr、あるいはL、a、bの各値に対して以上に説明した処理をしてもよいし、Y値、L値のみに対して以上に説明した処理をしてもよい。
【0099】
以上の第1および第2の実施の形態において、閾値TH1〜THnは、一連のブラケティング露光が行われる際の補正ステップおよび露光回数に基づいて自動的、あるいはユーザ設定によって設定される例について説明した。また、階調変換特性をスペースバリアントに導出し、導出されたそれぞれの階調変換特性から階調変換特性情報G(i,j)を導出することも可能であることについて説明した。これに代えて、階調変換特性としては基準画像データ全体から一つの特性を導出して各画素位置(i,j)に対応する階調変換特性情報G(i,j)を導出し、閾値TH1〜THnがスペースバリアントに設定されるようにしてもよい。この場合、スペースバリアントな閾値TH1〜THnは、一連のブラケティング露光が行われる際の補正ステップおよび露光回数と、基準画像データを解析した結果とに基づいて導出することが可能である。
【0100】
以上に説明した画像処理装置は、デジタルスチルカメラ、静止画撮影が可能なデジタルムービーカメラ、カメラ付き携帯電話やPDA、可搬型コンピュータ等に内蔵可能である。また、コンピュータ上で画像処理プログラムが実行されて画像処理装置が実現されてもよい。
【符号の説明】
【0101】
100 … デジタルカメラ
110 … 撮影光学系
112 … レンズ駆動部
120 … 撮像部
130 … 画像記録媒体
150、280、350 … 表示部
160 … 記憶部
190 … DSP(ディジタル・シグナル・プロセッサ)
200 … コンピュータ
210 … CPU
220 … メモリ
230 … 補助記憶装置
250 … メモリカードインターフェース
260 … 光ディスクドライブ
270 … ネットワークインターフェース
300 … 画像処理部
310 … 階調変換特性導出部
320、320A …画像合成処理部
330 … 画像取得部
360 … 画像記録部
370 … 選択部
380 … 選択/混合部
【技術分野】
【0001】
本発明は、同一被写体を撮影し、得られた複数フレーム分の異なる露光量の画像データを合成して階調が改善された画像を得る技術に関する。
【背景技術】
【0002】
屋外晴天下での逆光撮影条件等においては、撮影シーン内の被写体輝度のレンジ(以下では単に「輝度レンジ」と称する)が広くなる。輝度レンジの広い被写体をデジタルカメラで撮影したときに、撮像系および画像信号処理系で記録可能なダイナミックレンジ内に収まらない場合がある。その場合、画像内の暗部においては、像が黒くつぶれてしまう、いわゆる黒つぶれを生じる。また、画像内の明部においては、像が白く飛んでしまう、いわゆる白飛びを生じる。
【0003】
このような現象を解決するための技術として、High Dynamic Range Imaging技術(以下、HDR技術と称する)がある。HDR技術においては、同じ撮影シーンが、シャッタ速度を変えながら複数回にわたって撮影され、互いに異なる露光量で複数の画像データが取得される。そして、画像内の黒つぶれが生じる可能性のある領域に対しては、多めの露光量で得られた画像データの画素値が用いられ、白飛びが生じる可能性のある領域に対しては少なめの露光量で得られた画像データの画素値が用いられて合成処理が行われる。その結果、画像内の暗部から明部に至るまでの階調が再現された画像を得ることができる。
【0004】
特許文献1には、電荷蓄積時間の異なる2枚以上の画像を得て、各画像の信号レベルに応じて重み付けして加算し、得られた高ダイナミックレンジ信号のレベルを基準レベルに圧縮する技術が開示される。
【0005】
特許文献1に開示されるものでは、複数の信号を合成する際にビット幅(ビット深度)を拡げる必要がある。これが原因となり、必要とするハードウェアの規模が増大してしまう。この問題を解決するため、特許文献2には、画像信号の高レベル部を非線形に圧縮する処理を行った後に複数の画像を所定の重み付けで合成し、画像信号のビット幅(ビット数)の拡大を抑制する技術が開示される。
【先行技術文献】
【特許文献】
【0006】
【特許文献1】特開平6−141229号公報
【特許文献2】特開2004−266347号公報
【発明の概要】
【発明が解決しようとする課題】
【0007】
特許文献1に開示されるものでは、上述した理由によりハードウェアの規模が増大してしまう。また特許文献2に開示されるものでは、露光量の異なる複数の画像を合成する際、予め決められている関数を用いて求まる加重加算比で合成が行われるため、撮影シーンによっては好ましい階調特性を得ることができない場合がある。
【0008】
本発明は、上記の課題に鑑みてなされたものであり、ハードウェア規模の大幅な増大を招くことなく、ダイナミックレンジが改善されていて、より自然な画像を得ることが可能な技術を提供することを課題とする。
【課題を解決するための手段】
【0009】
本発明のある態様によれば、画像処理装置が、
同一被写体を撮影して得られた異なる露光量の複数の入力画像データ中から基準画像データを設定し、当該の基準画像データから階調変換特性を導出する階調変換特性導出部と、
前記階調変換特性に基づいて前記複数の入力画像データの中から選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成処理部と
を備える。
【0010】
本発明のある態様によれば、画像処理方法が、
同一被写体を撮影して得られた異なる露光量の複数の入力画像データ中から基準画像データを設定することと、
前記基準画像データから階調変換特性を導出することと、
前記階調変換特性に基づいて前記複数の入力画像データから選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成することと
を備える。
【0011】
本発明のある態様によれば、
同一被写体を撮影して得られた異なる露光量の複数の入力画像データを合成して階調の改善された合成画像データを生成する処理をコンピュータに実行させるための画像処理プログラムが、
前記複数の入力画像データの中から基準画像データを設定する基準画像データ設定ステップと、
前記基準画像データから階調変換特性を導出する階調変換特性導出ステップと、
前記階調変換特性に基づいて前記複数の入力画像データから選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成ステップと
を備える。
【0012】
本発明のある態様によれば、
撮影レンズによって形成された被写体像を光電変換して画像信号を出力可能な撮像部を備える撮影装置が、
前記撮像部において、同一被写体を撮影し、異なる露光量の複数の入力画像データを得る撮像制御部と、
前記複数の入力画像データの中から基準画像データを設定し、当該の基準画像データから階調変換特性を導出する階調変換特性導出部と、
前記階調変換特性に基づいて前記複数の入力画像データの中から選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成処理部と
を備える。
【発明の効果】
【0013】
本発明によれば、ハードウェア規模の大幅な増大を招くことなく、同一被写体を撮影して得られた異なる露光量の複数の画像を合成し、ダイナミックレンジが改善されてより自然に見える合成画像を得ることができる。
【図面の簡単な説明】
【0014】
【図1】デジタルカメラの概略的構成を説明するブロック図である。
【図2】コンピュータの概略的内部構成を説明するブロック図であり、画像処理プログラムをコンピュータが実行することにより画像処理部が実現される例を説明する図である。
【図3】画像処理部の概略的構成を説明するブロック図である。
【図4】画像処理部で導出される階調変換特性と、この階調変換特性に基づいて基準画像データから階調変換特性情報が導出される様子を概念的に示す図である。
【図5】基準画像データを解析して階調変換特性を導出する手順の一例を概念的に示す図であり、(a)は基準画像データの画素値のヒストグラムを、(b)は基準画像データの画素値の累積頻度曲線を、(c)は基準画像データの画素値の累積頻度曲線に基づいて導出される階調変換特性曲線の例を、それぞれ示す図である。
【図6】第1の実施の形態に係る画像処理部内に設けられる画像合成処理部の内部構成を概略的に示すブロック図である。
【図7】第1の実施の形態に係る画像処理部で実行される画像合成処理手順を説明するフローチャートである。
【図8】第2の実施の形態に係る画像処理部内に設けられる画像合成処理部の内部構成を概略的に示すブロック図である。
【図9】第2の実施の形態に係る画像処理部内に設けられる画像合成処理部で行われる画像選択/混合の処理内容を概念的に示す図である。
【図10】第2の実施の形態に係る画像処理部で実行される画像合成処理手順を説明するフローチャートである。
【発明を実施するための形態】
【0015】
図1は、デジタルカメラ100の概略的構成を説明するブロック図である。デジタルカメラ100は、スチルカメラであってもムービーカメラであってもよい。あるいは、携帯電話等に組み込まれるカメラであってもよい。デジタルカメラ100がスチルカメラまたはムービーカメラであるとき、撮影レンズが固定式のものであっても、交換可能に構成されていてもよい。
【0016】
デジタルカメラ100は、撮影光学系110と、レンズ駆動部112と、撮像部120と、アナログ・フロントエンド(図1中では「AFE」と表記される)122と、画像記録媒体130と、操作部140と、表示部150と、記憶部160と、CPU170と、DSP(ディジタル・シグナル・プロセッサ)190と、システムバス180とを備える。記憶部160は、ROM162とRAM164とを備える。DSP190には、画像処理部300が実装される。
【0017】
レンズ駆動部112、撮像部120、アナログ・フロントエンド122、画像記録媒体130、操作部140、表示部150、記憶部160、CPU170、DSP190は、システムバス180を介して電気的に接続される。RAM164は、CPU170およびDSP190の双方からアクセス可能に構成される。
【0018】
撮影光学系110は、被写体像を撮像部120の受光エリア上に形成する。レンズ駆動部112は、撮影光学系110の焦点調節動作を行う。また、撮影光学系110が可変焦点距離光学系である場合には、撮影光学系110がレンズ駆動部112によって駆動されて焦点距離を変更することが可能に構成されていてもよい。
【0019】
撮像部120は、シャッタと撮像素子とを含んで構成され、撮影光学系110を透過した被写体光は、シャッタが開いている間、撮像素子に入射する。撮像素子の受光エリア上に形成される被写体像が光電変換され、アナログ画像信号が生成される。なお、撮像素子が電気的に露光時間(光電変換時間)の制御を行うことが可能な、電子シャッタの機能を有する場合、シャッタは必ずしも備えられていなくてもよい。アナログ画像信号はアナログ・フロントエンド122に入力される。アナログ・フロントエンド122は、撮像部120から入力した画像信号にノイズ低減、増幅、A/D変換等の処理をしてデジタル画像信号を生成する。このデジタル画像信号は、RAM164に一時的に記憶される。
【0020】
DSP190は、RAM164に一時的に記憶されたデジタル画像信号に対してデモザイク、階調変換、色バランス補正、シェーディング補正、ノイズ低減等のさまざまなデジタル信号処理を施し、必要に応じて画像記録媒体130に記録したり、表示部150に出力したりする。
【0021】
画像記録媒体130は、フラッシュメモリや磁気記録装置等で構成され、デジタルカメラ100に対して着脱可能に装着される。あるいは、画像記録媒体130がデジタルカメラ100に内蔵されていてもよい。その場合、ROM162内に画像データ記録のための領域が確保されて、それを画像記録媒体130とすることが可能である。
【0022】
操作部140は、プッシュスイッチ、スライドスイッチ、ダイヤルスイッチ、タッチパネル等のうちいずれか一種類または複数種類を備え、ユーザの操作を受け付け可能に構成される。表示部150は、TFT液晶表示パネルとバックライト装置、あるいは有機EL表示素子等の自発光式表示素子を備え、画像や文字等の情報を表示可能に構成される。なお、表示部150は表示インターフェースを備えていて、RAM164上に設けられるVRAM領域内に書き込まれる画像データを表示インターフェースが読み出して画像や文字等の情報が表示部150に表示されるものとする。
【0023】
ROM162は、フラッシュメモリ等で構成され、CPU170により実行される制御プログラム(ファームウェア)や、調整パラメータ、あるいはデジタルカメラ100の電源が入っていない状態でも保持する必要のある情報等が記憶される。RAM164は、SDRAM等で構成され、比較的高速のアクセス速度を有する。CPU170は、ROM162からRAM164に転送されたファームウェアを解釈・実行してデジタルカメラ100の動作を統括的に制御する。
【0024】
DSP190は、RAM164に一時的に記憶されるデジタル画像信号に上述した様々な処理を施し、記録用画像データ、表示用画像データ等を生成する。
【0025】
デジタルカメラ100は、HDR撮影モードで静止画を撮影する動作を行うことが可能に構成される。つまり、同一の被写体を撮影して異なる露光量の複数の画像データが得られて、それら複数の画像データから階調の改善された合成画像データを生成するモードで動作可能に構成される。無論、HDR撮影モードで動画撮影が可能に構成されていても良い。その場合、動画像の記録フレームレートよりも高速のフレームレートで露光量を変えながら撮像が行われ、得られる複数の画像データから1フレーム分の画像データが生成され、記録される。ところで、上述した同一被写体を異なる露光量で撮影する際に、同一構図で撮影が行われること、つまり一連の撮影で得られる複数の画像は、露光量が異なっている以外は全て同じものが写っていることが、より良い合成画像データを得る上で望ましい。しかし、手持ち撮影であったために撮影動作中に撮影範囲が若干変化する場合や、被写体が動体であったために画面内における位置や形状が変化する場合がある。その場合、パターンマッチングの技術を用いて画像の切り出し、貼り付け等の処理を行い、画像を合成することが可能である。
【0026】
上記のように露光量を変えながら撮影動作を行う際、CPU170は撮像部120を制御し、決められた回数の露光を、各露光に対応して決められた露光量で行う。つまり、CPU170は、同一の被写体を異なる露光量で撮影し、複数の画像データが得られるように撮像部120を制御する。
【0027】
ところで、デジタルカメラ100が、撮影光学系110、レンズ駆動部112、および撮像部120等からなる撮像系を複数備えるものであってもよい。この場合、複数組の撮像系を用い、ユーザによる一回のレリーズ操作に応じて各撮像系で異なる露光量での画像を略同時に得ることが可能である。この構成を用いて、動画像撮影時に異なる露光量の複数の画像を各フレームに対応して得ることも可能である。
【0028】
あるいは、撮像部120を複数備えていて、撮影光学系110の後方にビームスプリッタ(光路分割部材)を配置し、ビームスプリッタで分割された複数の光路上に撮像部120が配置される構成をデジタルカメラ100が備えていてもよい。ビームスプリッタは不等の光量分割比率で光束を分割する。例えば、ビームスプリッタが入射光束を二つの光束に分割して出射するものである場合、一の光路に沿って出射する光束の光量と、他の光路に沿って出射する光束の光量との比率が例えば1:4などといった光量分割比率となるようにビームスプリッタを設計することが可能である。このようにビームスプリッタを用いる構成では、撮影光学系110での設定絞り値や、シャッタ速度(露光時間)は、各撮像部120に対して同一の露光条件となる。しかし、ビームスプリッタの作用により、各撮像部120に入射する被写体光の光量が異なるので、結果として異なる露光量の複数の画像を一回の撮影動作で得ることができる。この構成を備えることにより、1回の露光動作で異なる露光量の複数の画像を得ることができる。また、この構成を用いて、動画像撮影時に異なる露光量の複数の画像を各フレームに対応して得ることも可能である。
【0029】
異なる露光量の複数の画像を得るためには、以上に説明した三つの方法のうち、いずれかを用いることが可能である。すなわち、第1の方法は、露光条件を変えながら複数回の露光動作を時系列に行う方法である。第2の方法は、複数の撮像系それぞれで異なる露光条件を設定し、略同時に撮影を行う方法である。第3の方法は、一つの撮影光学系の後方に配置した光路分割部材によって異なる光量分割比率で複数の撮像素子に被写体光を導き、異なる露光量の複数の画像を、一回の露光動作で得る方法である。
【0030】
図2は、記録媒体に記録された画像処理プログラムがコンピュータのCPUにより読み出されて実行され、画像処理部300としての機能が実装される例を説明するブロック図である。コンピュータ200は、CPU210と、メモリ220と、補助記憶装置230と、インターフェース240と、メモリカードインターフェース250と、光ディスクドライブ260と、ネットワークインターフェース270と、表示部280とを備える。CPU210と、メモリカードインターフェース250と、光ディスクドライブ260と、ネットワークインターフェース270と、表示部280とは、インターフェース240を介して電気的に接続される。
【0031】
メモリ220は、DDR SDRAM等の、比較的高速のアクセス速度を有するメモリである。補助記憶装置230は、ハードディスクドライブ、あるいはソリッドステートドライブ(SSD)等で構成され、比較的大きな記憶容量を備える。
【0032】
メモリカードインターフェース250は、メモリカードMCを着脱自在に装着可能に構成される。デジタルカメラ等で撮影動作が行われて生成され、メモリカードMC内に記憶された画像データは、このメモリカードインターフェース250を介してコンピュータ200内に読み込むことができる。また、コンピュータ200内の画像データをメモリカードMCに書き込むこともできる。
【0033】
光ディスクドライブ260は、光ディスクODからデータを読み取ることが可能に構成される。光ディスクドライブ260はまた、必要に応じて光ディスクODにデータを書き込むことが可能に構成されていてもよい。
【0034】
ネットワークインターフェース270は、ネットワークNWを介して接続されるサーバ等の外部情報処理装置とコンピュータ200との間で情報を授受可能に構成される。
【0035】
表示部280は、フラットパネルディスプレイ装置等で構成され、文字、アイコン、カラー画像等を表示可能に構成される。
【0036】
画像処理部300は、メモリ220上にロードされた画像処理プログラムをCPU210が解釈・実行することにより実現される。この画像処理プログラムは、メモリカードMCや光ディスクOD等の記録媒体に記録されてコンピュータ200のユーザに頒布される。あるいは、ネットワークNWを介して、サーバ等の外部情報処理装置からダウンロードされた画像処理プログラムが補助記憶装置230に記憶されてもよい。また、他の有線や無線の形態のインターフェースを介して外部情報処理装置等から画像処理プログラムがダウンロードされて補助記憶装置230に記憶されてもよい。
【0037】
画像処理部300は、補助記憶装置230に記憶された画像データ、あるいはメモリカードMC、光ディスクOD、ネットワークNW等を介して入力した画像データに後述する画像処理を行う。以下、画像処理部300における処理について二つの実施の形態で説明する。
【0038】
− 第1の実施の形態 −
図3は、画像処理部300の構成を概略的に説明するブロック図である。画像処理部300は、先に説明したように、デジタルカメラ100内のDSP190に実装されていてもよいし、コンピュータ200のCPU210が画像処理プログラムを実行することにより実現されてもよい。
【0039】
画像処理部300は、階調変換特性導出部310と、画像合成処理部320と、画像取得部330とを備える。画像処理部300に接続される画像記録部360は、先に図1、図2を参照して説明した画像記録媒体130、補助記憶装置230に対応する。同じく、画像処理部300に接続される表示部350は、表示部150、280に対応する。
【0040】
画像取得部330は、同一の被写体を撮影して異なる露光量の複数の入力画像データを取得する。異なる露光量の複数の入力画像データを得るためには、上述した三つの方法のうち、いずれかの方法を用いることができる。以下では、第一の方法、すなわち露光条件を変えながら複数回の露光を時系列に行う(以下では、同一の被写体を異なる露光量で複数回、時系列に撮影することを「ブラケティング露光」と称する)ものとして説明する。このブラケティング露光に際しては、露光時間の長短で露光量を調節することがボケや収差の揃った複数の画像を得る上で望ましい。但し、ブラケティング露光に際しての露光の変化ステップ(補正ステップ)が小さめで、絞りを変えることによるボケや収差の変化が殆ど問題とならない状況では絞り値を変えて露光量を変化させてもよい。また、撮影光学系110の内部等に、被写体光の光路に対して挿抜可能に構成されるNDフィルタが備えられる場合、NDフィルタの挿抜切り換えによって異なる露光量の画像が得られるようにしてもよい。
【0041】
画像処理部300がデジタルカメラ100のDSP190に実装される場合、画像取得部330は以下のようにして複数の入力画像データを取得することが可能である。すなわち、デジタルカメラ100でブラケティング露光が行われている間にアナログ・フロントエンド122から逐次出力されるデジタル画像信号をDSP190が処理して得られた複数の入力画像データを画像取得部330が取得することが可能である。あるいは、過去にブラケティング露光が行われて画像記録部360(画像記録媒体130)に記録されていた複数の入力画像データを読み出し、画像取得部330で取得することも可能である。いずれの場合であっても、入力画像データはいわゆるロー(RAW)画像データから得られるものであっても、現像処理の行われたRGBやYCbCr等の形式の画像データであってもよい。
【0042】
画像取得部330で取得する入力画像データの数は2以上の任意の数nとすることが可能である。この数は、固定値であっても、ユーザが設定可能に構成されていても、あるいは撮影準備動作中(ライブビュー表示動作中)に被写界輝度の分布が検出されて、その結果に基づいて自動的に設定されてもよい。例えば、曇天下の順光撮影条件などのように、被写界中の最大輝度と最小輝度との差が比較的小さい場合、ブラケティング露光に際しての露光回数(入力画像データの数)は少なめに設定される場合がある。逆に、晴天下の逆光撮影条件や夜景などのように、被写界中の最大輝度(最明部)と最小輝度(最暗部)との差が比較的大きい場合、ブラケティング露光に際しての露光回数を多めに設定される場合がある。このとき、補正ステップもユーザが任意に設定することが可能に構成されていてもよいし、自動的に設定されるものであってもよい。
【0043】
例えば、理解を容易にすることを目的として、補正ステップが1Evで、露光回数が5回であるものとして説明すると、最も少ない露光量を基準として、+0Ev(一倍)、+1Ev(二倍)、+2Ev(四倍)、+3Ev(八倍)、+4Ev(十六倍)の露光量の画像が得られる。以下では、入力画像データ1を得る際の露光量を基準として、入力画像データ2、入力画像データ3、…、入力画像データnを得る際の露光量が段階的に増すものとして説明をする。これらの入力画像データからは、その画素位置(i,j)に対応して画素値P(i,j)が得られる。以下、入力画像データ1、入力画像データ2、…、入力画像データnの所与の画素位置(i,j)における画素値をP1(i,j)、P2(i,j)、…Pn(i,j)と表す。また、入力画像データ1、入力画像データ2、…、入力画像データnを総称して入力画像データ1〜nと表す。なお、上述した補正ステップや露光回数については被写体や作画意図等に応じて任意に定めることが可能であり、補正ステップについては露光量が等間隔で変化するように設定されていても、不等間隔で変化するように設定されていてもよい。
【0044】
階調変換特性導出部310は、画像取得部330で取得された複数の入力画像データ1〜n中、一つの入力画像データを基準画像データとして選択し、この基準画像データを解析して階調変換特性を導出する。基準画像データの選択方法としては、様々な方法を適用可能である。例えば、一連のブラケティング露光で得られた複数の入力画像データ中、最も少ない露光量で得られた入力画像データを基準画像データとすることができる。また、中間の露光量で得られた入力画像データ、あるいは最も多い露光量で得られた入力画像データを基準画像データとすることも可能である。あるいは、複数の入力画像データをヒストグラム解析して、画素値の分布の中心が明るい側、または暗い側に極端に偏っていないものを基準画像データとすることも可能である。本実施の形態においては、露光量の最も少ない状態で得られた画像データ(入力画像データ1)を基準画像データとする。階調変換特性導出部310はさらに、導出された階調変換特性に基づき、基準画像データを構成する画素それぞれの値に対応して階調変換特性情報を導出する。階調変換特性および階調変換特性情報の詳細については後で説明する。
【0045】
画像合成処理部320は、複数の入力画像データ1〜nをもとに合成画像データを生成する。合成画像データの生成方法は以下のとおりである。すなわち、画像合成処理部320は、合成画像データを構成する画素のひとつ一つの画素値を決定する際に、複数の入力画像データ1〜n中のいずれかの画像データの画素値を選択する。例えば、合成画像データ中の左上隅の画素位置の座標値を(1,1)として説明すると、画素位置(1,1)の画素値としては、複数の入力画像データ1〜nそれぞれの左上隅の、画素位置(1,1)の画素値が候補となる。画像合成処理部320は、これらn個の候補の中からいずれかの画素値を合成画像データ中の当該位置の画素値として決定する。この処理を全ての画素位置(i,j)に対応して行うことにより、合成画像データが生成される。
【0046】
画像合成処理部320は、階調変換特性導出部310で画素ごとに導出された階調変換特性情報と閾値とを比較し、その比較結果に基づいて上述したn個の候補の中からいずれかを選択する。画像合成処理部320に入力される閾値は、ブラケティング露光に際しての露光回数および補正ステップに応じて自動的に設定されるものとすることが可能である。この閾値は、ユーザによって適宜設定可能に構成されていてもよい。以下、階調変換特性、階調変換特性情報および閾値について説明する。
【0047】
合成画像データを生成する際、輝度が低めで黒つぶれしがちな部分(シャドウ部)については比較的多めの露光量で得られた入力画像データの画素値が選択される。比較的多めの露光量で得られた入力画像データは、暗部における階調情報が比較的豊富で、ノイズの影響が減じられているという特徴がある。
【0048】
逆に、輝度が高めで白飛びしがちな部分(ハイライト部)については、比較的少なめの露光量で得られた入力画像データの画素値が選択される。比較的少なめの露光量で得られた入力画像データは、明部における階調情報が比較的豊富であるという特徴がある。
【0049】
上記のようにして合成画像データ中の各画素値が選択されることにより、合成画像データで形成される画像中のシャドウ部およびハイライト部の双方において階調を再現することが可能となる。また、シャドウ部におけるノイズの影響も減じることができる。このようにして合成画像データを生成する際に、より自然に階調が再現されるように閾値および階調変換特性情報が設定される。
【0050】
図4は、階調変換特性導出部310で導出される階調変換特性の例を説明する図である。先にも説明したように、本実施の形態において基準画像データは入力画像データ1であるものとして説明する。階調変換特性導出部310は、基準画像データを解析して階調変換特性を導出する。ここで、基準画像データ(入力画像データ1)中の画素位置(i,j)における画素値P1(i,j)に対応して導出される階調変換特性情報をG(i,j)と表す。つまり、階調変換特性は、画素値P1(i,j)に対応する階調変換特性情報G(i,j)を導出するための特性である。図4の中央に示されるグラフは、階調変換特性の一例を概念的に示したものであり、横軸に基準画像データの画素値P1(i,j)が、縦軸に階調変換特性情報G(i,j)の値がとられている。
【0051】
階調変換特性は、基準画像データの画素値P1(i,j)が増加するほど階調変換特性情報G(i,j)は傾向として減少するように特性を定めることが可能である。つまり、小さめ(暗め)の画素値P1(i,j)に対応して大きめの階調変換特性情報G(i,j)が導出され、大きめ(明るめ)の画素値P1(i,j)に対応して小さめの階調変換特性情報G(i,j)が導出される。導出される階調変換特性の一例としては、図4の中央のグラフに示されるように、いわゆる逆S字の特性がある。あるいは、P1(i,j)の増加に伴ってG(i,j)が直線的に減少する特性であっても、凸カーブや凹カーブを描いて減少する特性でもよい。無論、この階調変換特性は、画像の表現意図や撮影シーンの状況に従って様々なものとすることが可能である。
【0052】
本実施の形態において、階調変換特性情報G(i,j)は増幅率として扱われる。たとえば入力画像データ1〜nが先に説明したように補正ステップが1Evで5回のブラケティング露光が行われた場合、最小の露光量を基準として、1倍(+0Ev)から16倍(+4Ev)までの露光が行われる。階調変換特性情報G(i,j)は、この1倍から16倍の露光量に対応して定められる。増幅率としては、真数(上記の例では1から16の実数)で扱うことも可能であるが、以下では写真の技術分野における慣例に従って2を底とする対数表現で扱うものとして説明する。つまり、上記の例においては、増幅率G(i,j)は0以上4以下の実数となる。なお、画像処理装置内部のCPUによる演算に際して、数値の表現形式は整数とすることも可能であるが、ここでは理解の容易を目的とし、増幅率G(i,j)は0以上の実数であるものとして説明をする。
【0053】
ブラケティング露光によって+0Evから+4Evまでの段階露光が行われた場合、上述のように増幅率G(i,j)は0から4までの値をとる実数とすることが可能である。このとき、閾値は、導出される階調変換特性情報G(i,j)との比較結果に基づいて適切な入力画像データの画素値Pn(i,j)が選択されるように、ブラケティング露光に際しての露光回数と補正ステップとに基づいてその個数および値が設定される。その結果、ある画素に対して大きめの増幅率、つまり大きめの階調変換特性情報G(i,j)が設定された場合には、多めの露光量で得られた入力画像データの画素値Pn(i,j)が選択される。また、小さめの階調変換特性情報G(i,j)が設定された場合には、少なめの露光量で得られた入力画像データの画素値Pn(i,j)が選択される。
【0054】
以上に説明した階調変換特性、つまりP1(i,j)の増加に伴ってG(i,j)が減少する特性が設定されることと、階調変換特性情報G(i,j)が増幅率として扱われることとにより、以下のように合成画像データ中の画素値を選択することが可能となる。すなわち、基準画像データによる画像中、暗めの画素に対応して高めの増幅率が設定され、結果として多めの露光量で得られた入力画像データの画素値が選択される。その結果、シャドウ部での階調を増すことができ、ノイズの影響も低減することが可能となる。逆に、基準画像データによる画像中、明るめの画素に対応して低めの増幅率が設定され、結果として少なめの露光量で得られた入力画像データの画素値が選択される。その結果、ハイライト部での階調を増すことができる。このようにして、被写体のより広い輝度範囲に対応して階調を再現することが可能となる。また、シャドウ部におけるノイズも低減することが可能となる。このとき、階調変換特性情報G(i,j)を増幅率として扱うことにより、ブラケティング露光における補正ステップとの対応付けが容易となり、画像データの階調変換の処理を単純化することが可能となる。
【0055】
本発明の実施の形態においては、画像合成処理の過程において、各画素位置(i,j)に対応する画素値として、一連のブラケティング露光で得られた複数の入力画像データ1〜nの画素値P1(i,j)〜Pn(i,j)の中からいずれかを選択することが各画素位置(i,j)において行われる。このように各画素値が選択された結果、階調変換が行われたかのような合成画像を得ることができるので、本明細書中では「階調変換特性」という文言を用いている。
【0056】
ここで、階調変換特性導出部310において階調変換特性を導出する際の導出方法の一例を説明する。図5(a)は、基準画像データのヒストグラム例を示す。図5(a)の例は、少なめの露光量で得られた画像データを基準画像データとすることを想定しており、その結果ヒストグラムが全体として画素値の小さい側に偏っている。
【0057】
図5(b)は、図5(a)に例示されるヒストグラムを呈する画像の画像データを解析して求められた累積頻度を示している。図5(b)中に示される累積頻度の曲線は、画素値の低い領域で急激に立ち上がり、その後中間から高めの画素値の領域で累積頻度の増加が頭打ちとなる凸カーブを描いている。図5(c)は、図5(b)に示される累積頻度曲線に基づいて導出される階調変換特性の例を示す図である。図5(c)に示されるカーブは、図5(b)に示される累積頻度の曲線の傾きに基づいて導出されたものとなっている。つまり、図5(b)に示される累積頻度特性を画素値で微分して得たものとなっている。
【0058】
図5(c)に示される階調変換特性に基づき、基準画像データの各画素値P1(i,j)に対応して階調変換特性情報G(i,j)が導出される。図5(c)に示される例では、以下のような特性となっている。すなわち、図5(c)に示される例において、階調変換特性は逆S字状のカーブ形状を有している。その結果、小さ目の画素値P1(i,j)に対応して大きめの階調変換特性情報G(i,j)が導出され、大きめの画素値P1(i,j)に対して小さめの階調変換特性情報G(i,j)が導出される。また、中間域の画素値P1(i,j)に対しては、画素値P1(i,j)の僅かな増加に対して階調変換特性情報G(i,j)が比較的大きく減少する特性となっている。その結果、図5(c)に示される階調変換特性が適用されると、基準画像データ内において画素値の小さ目の画素に対しては比較的多めの露光量で得られた入力画像データ中の画素値が選択される。また、基準画像データ内において画素値の大きめの画素に対しては比較的少なめの露光量で得られた入力画像データ中の画素値が選択される。このようにして得られる画像は、低輝度部ではノイズが少なく、高輝度部では白飛びが抑制される。また、中間域に対してはより多くの階調が割り当てられるので、見た目のコントラストが増して見栄えのする画像を得ることが可能となる。
【0059】
図5を参照して説明した階調変換特性の導出方法は一例であり、別の方法によって階調変換特性を導出することも可能である。
【0060】
以上に説明した階調変換特性情報G(i,j)を導出する処理に際して、以下のような方法で行うことが可能である。一例としては、基準画像データ全体の画素値P1(i,j)を解析し、図5を参照して説明した方法に基づいて、一つの画像に対して一つの階調変換特性を導出する方法がある。この場合、一つの画像に対して図5(c)に例示される階調変換特性が一つ導出される。別の例としては、以下に説明するように、スペースバリアントに階調変換特性を導出する方法がある。
【0061】
例えば、基準画像データで形成される画像を縦、横任意の数でグリッド状に分割し、複数のブロックを画定する。画定したブロックごとに図5を参照して説明した処理を行い、各ブロックに対応する階調変換特性を導出する。複数のブロックを画定する際には、以上のように単純に幾何学的に分割するだけでなく、被写体認識等の画像処理技術を用いて、画像内で主要被写体が存在すると目される領域を一つの領域として画定することも可能である。それ以外の領域については、例えば主要被写体が存在する領域からの距離や明るさ等に応じて設定される主要度の高さに応じて分割することが可能である。上記のように各ブロックに対応して導出された階調変換特性を用い、各ブロック内に存在する画素の画素値に対応して階調変換特性情報G(i,j)を導出することができる。
【0062】
画像処理部300がデジタルカメラ100に実装される場合には、表示部150に表示されるライブビュー画像を観ながらユーザがタッチパネル等を操作して主要被写体等を指定するのに応じて階調変換特性導出のための領域が画定されてもよい。また、画像処理部300がコンピュータ200により実施される場合、表示部280に表示される画像を観ながらユーザがコンピュータマウス等を操作して階調変換特性導出のための領域を設定可能に構成されていてもよい。上述したいずれかの方法によって分割された各領域に対応して導出された階調変換特性を用い、基準画像データの各領域内における画素値P1(i,j)に対応して、スペースバリアントに階調変換特性情報G(i,j)を導出することが可能となる。
【0063】
図6は、画像合成処理部320の要部を示すブロック図である。画像合成処理部320は、選択部370を備える。選択部370は、入力された階調変換特性情報G(i,j)と閾値TH1、TH2、…、THnとを、各画素位置(i,j)に対応して比較する。この比較結果に基づき、選択部370は、合成画像データSを構成する各画素値S(i,j)を、入力画像データ1〜n中の対応する画素位置(i,j)の画素値P1(i,j)、P2(i,j)、…、Pn(i,j)の中から選択する。以下では閾値TH1、TH2、…、THnを閾値TH1〜THnと表す。
【0064】
図7は、画像処理部300により実行される画像合成処理の処理手順を説明するフローチャートである。画像処理部300がデジタルカメラ100に内蔵される場合、デジタルカメラ100で一連のブラケティング露光が行われた後に図7の処理手順が実行される。あるいは、過去にブラケティング露光が行われて画像記録媒体130に記録されている入力画像データを用いての合成処理を行うメニューがユーザによって選択されたときに実行される。画像処理部300がコンピュータ200によって実施される場合、画像処理ソフトウェアがコンピュータ200上で実行されて、補助記憶装置230中に記憶されている入力画像データを用いての合成処理を行うメニューがユーザによって選択されたときに実行される。図7に示される処理手順は、ハードウェアによって実行されても、ソフトウェアによって実行されても、それらの組み合わせによって実行されてもよい。
【0065】
S700において画像処理部300は、複数の入力画像データ1〜nを取得する。S702において画像処理部300は、入力画像データ1〜nの中から、いずれかの入力画像データを基準画像データとして設定する。本実施の形態においては、先に説明したように、一連のブラケティング露光中で最も少ない露光量で得られた入力画像データ1が基準画像データとして設定されるものとする。
【0066】
S704において画像処理部300は、基準画像データを解析して各画素位置(i,j)に対応する階調変換特性情報G(i,j)を生成する。本実施の形態において、階調変換特性情報G(i,j)は、先にも説明したように、増幅率として扱われるものとする。また、階調変換特性情報G(i,j)を生成する手順の詳細については図4、図5等を参照して先に説明したとおりである。このとき、階調変換特性情報G(i,j)は、基準画像データ全体の画素値を解析して求められるものであってもよい。あるいは、基準画像データが複数の領域に分割され、分割された領域ごとに画像データの解析が行われて、スペースバリアントに階調変換特性情報G(i,j)が求められるものであってもよい。
【0067】
S706において画像処理部300は、S704で生成された階調変換特性情報G(i,j)中、所与の画素位置(i,j)における階調変換特性情報G(i,j)を、閾値TH1〜THnと比較する。そして、この比較結果に基づき、画像処理部300は所与の画素位置(i,j)に対応する画素値を抽出する対象として、入力画像データ1〜nのうち、いずれかの入力画像データを選択する。
【0068】
S708において画像処理部300は、S706で選択された入力画像データ中から、所与の画素位置(i,j)に対応する画素値を抽出し、合成画像データSの画素値S(i,j)とする。
【0069】
以上のS706、S708の処理を全ての画素位置(i,j)に対応して行ったか否かを画像処理部300はS710で判定する。この判定が否定される間、S706からS710までの処理が繰り返し行われる。一方、S710での判定が肯定されると、画像処理部300は合成画像データSを出力する処理をS712で行う。その結果、合成画像データSに基づく画像は、図3に示される画像記録部360に記録される。また、必要に応じて合成画像データSに基づく画像が表示部350に表示される。
【0070】
以上に説明したように、基準画像データから階調変換特性が導出され、その階調変換特性に基づいて階調変換特性情報G(i,j)が生成される。この階調変換特性情報G(i,j)と閾値TH1〜THnとが各画素位置(i,j)に対応して比較された結果、入力画像データ1〜nのいずれかが選択され、選択された入力画像データ中の対応画素位置における画素値が合成画像データSの画素値S(i,j)とされる。このように、n枚の異なる露光量の画像中から一枚の画像を選択して画素値を抽出することが画素ごとに行われてHDR画像が生成されるため、撮影シーンに適した階調変換特性のHDR画像を生成することができる。このとき、所定のビット深度で表現される入力画像データの対応する画素値Pn(i,j)が、同じビット深度で表現される合成画像S中の対応する画素値S(i,j)とされるため、ビット深度を増すことなく合成画像Sを得る処理を行うことができる。したがって、最終的に得られる合成画像データのビット深度の範囲で合成の処理を行うことができるので、ハードウェア規模の増大を抑制することが可能となる。
【0071】
このとき、階調変換特性を、先に説明したようにスペースバリアントに導出すると、画像内の各領域に適した階調変換特性で画像の合成処理を行うことが可能となる。
【0072】
− 第2の実施の形態 −
第1の実施の形態において、合成画像データS中の所与の画素位置(i,j)に対応して階調変換特性情報G(i,j)と閾値TH1〜THnとが比較され、複数の入力画像データ1〜nの中からいずれか一つが選択される。そして、選択された入力画像データ中の対応する画素位置(i,j)の画素値Pn(i,j)が合成画像データS中の対応する画素位置(i,j)の画素値S(i,j)とされる。これに対し、第2の実施の形態では、合成画像データS中の所与の画素位置(i,j)に対応して階調変換特性情報G(i,j)と閾値TH1〜THnとが比較された結果、複数の入力画像データ1〜nの中から二つの入力画像データが選択される。選択された二つの入力画像データ中の対応する画素位置(i,j)の画素値(二つの画素値)が階調変換特性情報G(i,j)と、この階調変換特性情報G(i,j)の値を挟む二つの閾値との関係に基づいて導出される混合比率で混合される。混合して得られた画素値が、合成画像データS中の対応する画素位置(i,j)の画素値S(i,j)とされる。
【0073】
第2の実施の形態においても、図3から図5を参照して説明した、第1の実施の形態における画像処理部300の構成および階調変換特性情報G(i,j)の導出手順と同様の構成および導出手順であるのでその説明を省略する。また、階調変換特性情報G(i,j)は、第1の実施の形態と同様、増幅率として扱われるものとして説明をする。
【0074】
図8は、画像合成処理部320Aの要部を示すブロック図である。第1の実施の形態における画像合成処理部320との違いは、選択部370に代えて選択/混合部380を備える点にある。その他の部分については第1の実施の形態で説明したものと同様である。選択/混合部380は、入力された階調変換特性情報G(i,j)と閾値TH1〜THnとを比較する。この比較結果に基づき、選択/混合部380は、入力画像データ1〜nの中から二つの入力画像データを選択する。選択/混合部380はまた、後で図9を参照して説明するように、選択された二つの入力画像データ中の対応する画素位置(i,j)の画素値を混合する処理を行い、合成画像データSを生成する。
【0075】
図9は、選択/混合部380で選択された二つの入力画像データ中の二つの画素値が混合される様子を概念的に示す図である。図9において、ブラケティング露光に際しての補正ステップと露光回数とに対応して閾値TH1〜THnが設定される。このとき、階調変換特性情報G(i,j)の値が閾値TH1を下回る場合があり、また、閾値Thnを上回る場合もある。階調変換特性情報G(i,j)の値が閾値TH1を下回る場合には、G(i,j)=TH1にクリッピングされるものとする。また、階調変換特性情報G(i,j)が閾値THnを上回る場合には、G(i,j)=THnにクリッピングされるものとする。図9中では、階調変換特性情報G(i,j)の値は図9の下方に向かうにつれて増すものとして描かれている。また、図9中に示される式において、記号*は乗算を表す(以下同様)。
【0076】
階調変換特性情報G(i,j)の値が閾値TH1以上かつ閾値TH2以下の場合、入力画像データ1および入力画像データ2が選択される。これらの入力画像データ1および2中の所与の画素位置(i,j)に対応する画素値P1(i,j)、P2(i,j)が以下の式(1)、すなわち、
【0077】
【数1】
【0078】
を用いて混合され、合成画像Sの対応する画素位置(i,j)の画素値S(i,j)が導出される。式(1)から明かであるように、階調変換特性情報G(i,j)の値が閾値TH1に近いほど入力画像データ1の画素値P1(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値TH1に等しいとき、画素値S(i,j)は入力画像データ1の画素値P1(i,j)の混合比率が100%となり、画素値P1(i,j)に等しくなる。逆に、階調変換特性情報G(i,j)の値が閾値TH2に近いほど入力画像データ2の画素値P2(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値TH2に等しいとき、画素値S(i,j)は入力画像データ2の画素値P2(i,j)の混合比率が100%となり、画素値P2(i,j)に等しくなる。この、画素値P1(i,j)、P2(i,j)の混合比率の変化する様子が図9中に斜めの実線で示されている。そして、斜めの線を挟む左右両側において、両端に矢印の付された破線が示されているが、これが所与の階調変換情報G(i,j)の値に対応する入力画像データ1、入力画像データ2の画素値P1(i,j)、P2(i,j)の混合比率を示している。
【0079】
階調変換特性情報G(i,j)の値が閾値TH2を越し、かつ閾値TH3以下の場合、入力画像データ2および入力画像データ3が選択される。これらの入力画像データ2および3中の所与の画素位置(i,j)に対応する画素値P2(i,j)、P3(i,j)が以下の式(2)、すなわち、
【0080】
【数2】
【0081】
を用いて混合され、合成画像Sの対応する画素位置(i,j)の画素値S(i,j)が導出される。式(2)から明かであるように、階調変換特性情報G(i,j)の値が閾値TH2に近いほど入力画像データ2の画素値P2(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値TH2に限りなく近づくとき、画素値S(i,j)は入力画像データ2の画素値P2(i,j)の混合比率が100%に近づき、画素値P2(i,j)に限りなく等しくなる。逆に、階調変換特性情報G(i,j)の値が閾値TH3に近いほど入力画像データ3の画素値P3(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値TH3に等しいとき、画素値S(i,j)は入力画像データ3の画素値P3(i,j)の混合比率が100%となり、画素値P3(i,j)に等しくなる。
【0082】
以下、同様にして、階調変換特性情報G(i,j)の値が閾値THn-1を越し、かつ閾値THn以下の場合、入力画像データn−1および入力画像データnが選択される。これらの入力画像データn−1およびn中の所与の画素位置(i,j)に対応する画素値Pn-1(i,j)、Pn(i,j)が以下の式(3)、すなわち、
【0083】
【数3】
【0084】
を用いて混合され、合成画像Sの対応する画素位置(i,j)の画素値S(i,j)が導出される。式(3)から明かであるように、階調変換特性情報G(i,j)の値が閾値THn-1に近いほど入力画像2の画素値Pn-1(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値THn-1に限りなく近づくとき、画素値S(i,j)は入力画像n−1の画素値Pn-1(i,j)の混合比率が100%に近づき、画素値Pn-1(i,j)に限りなく等しくなる。逆に、階調変換特性情報G(i,j)の値が閾値THnに近いほど入力画像データnの画素値Pn(i,j)の混合比率が増す。そして、階調変換特性情報G(i,j)の値が閾値THnに等しいとき、画素値S(i,j)は入力画像データnの画素値Pn(i,j)の混合比率が100%となり、画素値Pn(i,j)に等しくなる。
【0085】
以上のように、階調変換特性情報G(i,j)の値が閾値THnに等しいとき、導出される合成画像Sの画素値S(i,j)は入力画像データnの画素値Pn(i,j)と等しくなるように構成される。また、階調変換特性情報G(i,j)の値が相隣り合う二つの閾値THn-1、THnの間の値をとるとき、これら二つの閾値THn-1、THnと階調変換特性情報G(i,j)の値とに基づいて導出される混合比率で入力画像データn−1、nの画素値Pn-1(i,j)およびPn(i,j)が混合される。
【0086】
図10は、画像処理部300により実行される画像合成処理の処理手順を説明するフローチャートである。第1の実施の形態で説明したのと同様、画像処理部300がデジタルカメラ100に内蔵される場合、デジタルカメラ100で一連のブラケティング露光が行われた後に図10の処理手順が実行される。あるいは、過去にブラケティング露光が行われて画像記録媒体130に記録されている入力画像データを用いての合成処理を行うメニューがユーザによって選択されたときに実行される。画像処理部300がコンピュータ200によって実施される場合、画像処理ソフトウェアがコンピュータ200上で実行されて、補助記憶装置230中に記憶されている入力画像データを用いての合成処理を行うメニューがユーザによって選択されたときに実行される。図10に示される処理手順は、ハードウェアによって実行されても、ソフトウェアによって実行されてもよい。
【0087】
S1000において画像処理部300は、入力画像データ1〜nを取得する。S1002において画像処理部300は、入力画像データ1〜nの中から、いずれかの入力画像データを基準画像データとして設定する。本実施の形態においては、一連のブラケティング露光中で最も少ない露光量で得られた入力画像データ1が基準画像データとして設定されるものとする。
【0088】
S1004において画像処理部300は、基準画像データを解析して各画素位置(i,j)に対応する階調変換特性情報G(i,j)を生成する。第2の実施の形態においても、階調変換特性情報G(i,j)は増幅率として扱われるものとする。また、階調変換特性情報G(i,j)を生成する手順の詳細については図4、図5等を参照して先に説明したとおりである。さらに、階調変換特性情報G(i,j)は、基準画像データ全体の画素値を解析して求められるものであっても、スペースバリアントに求められるものであってもよいのは第1の実施の形態と同様である。
【0089】
S1006において画像処理部300は、S1004で生成された階調変換特性情報G(i,j)中、所与の画素位置(i,j)における階調変換特性情報G(i,j)を、閾値TH1〜THnと比較する。そして、この比較結果に基づき、画像処理部300は所与の画素位置(i,j)に対応する画素値を抽出する対象として、図9を参照して説明したように、入力画像データ1〜nのうち、二つの入力画像データを選択する。
【0090】
S1008において画像処理部300は、S1006で選択された二つの入力画像データ中から、所与の画素位置(i,j)に対応する画素値を抽出し、混合処理をして合成画像データSの画素値S(i,j)とする。上記混合処理をする際の混合比率は、図9を参照して説明したとおりである。すなわち、所与の画素位置(i,j)に対応する階調変換特性情報G(i,j)の値と、この値を挟む二つの閾値の値とに基づいて導出される混合比率で二つの入力画像データの画素値を混合し、合成画像データSの画素値S(i,j)とする。
【0091】
以上のS1006、S1008の処理を全ての画素位置(i,j)に対応して行ったか否かを画像処理部300はS1010で判定する。この判定が否定される間、S1006からS1010までの処理が繰り返し行われる。一方、S1010での判定が肯定されると、画像処理部300は合成画像データSを出力する処理をS1012で行う。その結果、合成画像データSに基づく画像は、図3に示される画像記録部360に記録される。また、合成画像データSに基づく画像が必要に応じて表示部350に表示される。
【0092】
以上に説明したように、本発明の第2の実施の形態においても、基準画像データから階調変換特性が導出され、その階調変換特性に基づいて階調変換特性情報G(i,j)が生成される。この階調変換特性情報G(i,j)と閾値TH1〜THnとが各画素位置(i,j)に対応して比較される。比較された結果、入力画像データ1〜nの中から、ブラケティング露光で得られた一連の入力画像データ1〜n中、二つの入力画像データが選択される。選択される入力画像データは、図9を参照して説明したように、階調変換特性情報G(i,j)の値を挟む二つの閾値THn-1、THnに対応する入力画像データである。これら二つの入力画像データの画素値Pn-1(i,j)、Pn(i,j)が、先に説明した式(1)、式(2)、式(3)等のいずれかを用い、階調変換特性情報G(i,j)の値、およびこの値を挟む二つの閾値THn-1、THnに基づく混合比率で混合される。このようにして得られた値が合成画像データSの画素値S(i,j)とされる。
【0093】
以上のようにして生成される合成画像データSでは、上述した混合処理によって画像が生成されることにより、第1の実施の形態によるものと同様の効果が得られることに加えて、いわゆるアーティファクトの発生が抑制される。つまり、合成画像データで形成される画像中において明度の変化がより滑らかなものとなり、人の肌などのようにトーンが微妙に変化する画像中で階調が不自然に変化する、トーンジャンプのような現象の発生を抑制可能となる。
【0094】
以上、第2の実施の形態においては、階調変換特性情報G(i,j)に基づいて二つの入力画像データが選択され、これらの入力画像データの画素値が混合される例について説明したが、本発明はこの例に限られるものではない。すなわち、階調変換特性情報G(i,j)に基づいて、三つ以上の入力画像データが選択され、選択されたこれらの入力画像データの画素値が混合されてもよい。
【0095】
また、図9を参照しての説明で、階調変換特性情報G(i,j)の最小値が閾値TH1を下回る場合があり、また、閾値Thnを上回る場合もあることについて説明した。そのような場合、階調変換特性情報G(i,j)はTH1あるいはTHnにクリッピングされるものとして説明した。つまり、階調変換特性情報G(i,j)が、TH1を下回る場合、S(i,j)はP1(i,j)に、THnを越す場合、S(i,j)はPn(i,j)に、それぞれ固定される。これに対して、階調変換特性情報G(i,j)がTH1を下回る場合、あるいはTHnを越す場合に、以下に説明する方法によって画素値S(i,j)を導出することも可能である。
【0096】
階調変換特性情報G(i,j)が閾値TH1を下回る場合、例えば以下の式(3)に基づいて画素値S(i,j)を導出することができる。
画素値S(i,j)=G(i,j)*P1(i,j) … 式(3)
階調変換特性情報G(i,j)が閾値TH1を下回る場合に式(3)を用いて画素値を導出することにより、階調変換特性情報G(i,j)が閾値TH1を下回って減少するのにつれて画素値S(i,j)も減少する。その結果、画像の暗部における階調再現域を拡大することが可能となる。なお、式(3)を用いて画素値S(i,j)を導出する場合、閾値TH1=1とすることが望ましい。理由は、階調変換特性情報G(i,j)の値が1をはさんで変化する際の画素値S(i,j)の連続性が得られ、トーンジャンプを生じにくくなるからである。
【0097】
階調変換特性情報G(i,j)が閾値THnを上回る場合、例え場以下の式(4)に基づいて画素値S(i,j)を導出することができる。
画素値S(i,j)=G(i,j)*Pn(i,j)*TH1/THn … 式(4)
階調変換特性情報G(i,j)が閾値THnを上回る場合に式(4)を用いて画素値を導出することにより、階調変換特性情報G(i,j)が閾値THnを上回って増加するのにつれて画素値S(i,j)も増加する。その結果、画像の明部における階調再現域を拡大することが可能となる。式(4)を用いて画素値S(i,j)を導出する場合も、式(3)に関して説明したのと同様の理由により、閾値TH1=1とすることが望ましい。
【0098】
以上に説明した第1の実施の形態および第2の実施の形態においては、入力画像データの画素値Pn(i,j)の詳細について、説明を単純化して理解を容易にすることを目的として、詳しく触れなかったが、以下のようにすることが可能である。入力画像データがいわゆるRGB画像データである場合、R、G、Bの各画素値に対して以上に説明した処理をすることが可能である。入力画像データがYCbCr、Lab等の表色系で表されるものである場合、Y、Cb、Cr、あるいはL、a、bの各値に対して以上に説明した処理をしてもよいし、Y値、L値のみに対して以上に説明した処理をしてもよい。
【0099】
以上の第1および第2の実施の形態において、閾値TH1〜THnは、一連のブラケティング露光が行われる際の補正ステップおよび露光回数に基づいて自動的、あるいはユーザ設定によって設定される例について説明した。また、階調変換特性をスペースバリアントに導出し、導出されたそれぞれの階調変換特性から階調変換特性情報G(i,j)を導出することも可能であることについて説明した。これに代えて、階調変換特性としては基準画像データ全体から一つの特性を導出して各画素位置(i,j)に対応する階調変換特性情報G(i,j)を導出し、閾値TH1〜THnがスペースバリアントに設定されるようにしてもよい。この場合、スペースバリアントな閾値TH1〜THnは、一連のブラケティング露光が行われる際の補正ステップおよび露光回数と、基準画像データを解析した結果とに基づいて導出することが可能である。
【0100】
以上に説明した画像処理装置は、デジタルスチルカメラ、静止画撮影が可能なデジタルムービーカメラ、カメラ付き携帯電話やPDA、可搬型コンピュータ等に内蔵可能である。また、コンピュータ上で画像処理プログラムが実行されて画像処理装置が実現されてもよい。
【符号の説明】
【0101】
100 … デジタルカメラ
110 … 撮影光学系
112 … レンズ駆動部
120 … 撮像部
130 … 画像記録媒体
150、280、350 … 表示部
160 … 記憶部
190 … DSP(ディジタル・シグナル・プロセッサ)
200 … コンピュータ
210 … CPU
220 … メモリ
230 … 補助記憶装置
250 … メモリカードインターフェース
260 … 光ディスクドライブ
270 … ネットワークインターフェース
300 … 画像処理部
310 … 階調変換特性導出部
320、320A …画像合成処理部
330 … 画像取得部
360 … 画像記録部
370 … 選択部
380 … 選択/混合部
【特許請求の範囲】
【請求項1】
同一被写体を撮影して得られた異なる露光量の複数の入力画像データ中から基準画像データを設定し、当該の基準画像データから階調変換特性を導出する階調変換特性導出部と、
前記階調変換特性に基づいて前記複数の入力画像データの中から選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成処理部と
を備えることを特徴とする画像処理装置。
【請求項2】
前記画像合成処理部はさらに、前記階調変換特性を用いて、前記基準画像データ中の各画素値に対する増幅率を導出し、当該の増幅率の大小に対応した露光量の入力画像データを選択し、選択された入力画像データ中の画素値を用いて前記新たな画素値を導出することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像合成処理部はさらに、
前記増幅率の大小に対応した露光量の入力画像データを二以上選択し、前記増幅率に基づいて導出される混合比率で前記二以上の入力画像データの画素値を混合し、前記新たな画素値を導出することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記画像合成処理部は、
前記増幅率と、前記二以上の入力画像データを得る際のそれぞれの露光量とに基づいて導出される混合比率で前記二以上の入力画像データの画素値を混合することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記画像合成処理部は、
前記複数の入力画像データの数と、前記複数の入力画像データのそれぞれを得る際に設定される露光量とに応じて設定される閾値であって、前記複数の入力画像データから前記増幅率の大小に対応して前記二以上の入力画像データを選択する際の選択基準となる閾値と、前記増幅率とに基づいて導出される混合比率で前記二以上の入力画像データの画素値を混合することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記画像合成処理部は、前記増幅率に基づいて前記複数の入力画像データの中から一つの入力画像データを選択し、当該の選択された入力画像データ中の画素値を前記新たな画素値とすることを前記画素ごとに行い、前記合成画像データを生成することを特徴とする請求項2に記載の画像処理装置。
【請求項7】
前記画像合成処理部は、前記複数の入力画像データの中から、前記増幅率の大小に対応した露光量の入力画像データを一つ選択することを特徴とする請求項6に記載の画像処理装置。
処理装置。
【請求項8】
前記画像合成処理部は、
前記複数の入力画像データのそれぞれを得る際に設定される露光量および前記複数の入力画像データの数に応じて設定される閾値と、前記増幅率との比較結果に基づき、前記入力画像データを一つ選択することを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記階調変換特性導出部は、前記基準画像データ中で複数に分割されたそれぞれの領域内の画像データに対応して前記階調変換特性を導出することを特徴とする請求項1に記載の画像処理装置。
【請求項10】
同一被写体を撮影して得られた異なる露光量の複数の入力画像データ中から基準画像データを設定することと、
前記基準画像データから階調変換特性を導出することと、
前記階調変換特性に基づいて前記複数の入力画像データから選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成することと
を備えることを特徴とする画像処理方法。
【請求項11】
同一被写体を撮影して得られた異なる露光量の複数の入力画像データを合成して階調の改善された合成画像データを生成する処理をコンピュータに実行させるための画像処理プログラムであって、
前記複数の入力画像データの中から基準画像データを設定する基準画像データ設定ステップと、
前記基準画像データから階調変換特性を導出する階調変換特性導出ステップと、
前記階調変換特性に基づいて前記複数の入力画像データから選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成ステップと
を備えることを特徴とする画像処理プログラム。
【請求項12】
撮影レンズによって形成された被写体像を光電変換して画像信号を出力可能な撮像部を備える撮影装置であって、
前記撮像部において、同一被写体を撮影して異なる露光量の複数の入力画像データを得る撮像制御部と、
前記複数の入力画像データの中から基準画像データを設定し、当該の基準画像データから階調変換特性を導出する階調変換特性導出部と、
前記階調変換特性に基づいて前記複数の入力画像データの中から選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成処理部と
を備えることを特徴とする撮影装置。
【請求項1】
同一被写体を撮影して得られた異なる露光量の複数の入力画像データ中から基準画像データを設定し、当該の基準画像データから階調変換特性を導出する階調変換特性導出部と、
前記階調変換特性に基づいて前記複数の入力画像データの中から選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成処理部と
を備えることを特徴とする画像処理装置。
【請求項2】
前記画像合成処理部はさらに、前記階調変換特性を用いて、前記基準画像データ中の各画素値に対する増幅率を導出し、当該の増幅率の大小に対応した露光量の入力画像データを選択し、選択された入力画像データ中の画素値を用いて前記新たな画素値を導出することを特徴とする請求項1に記載の画像処理装置。
【請求項3】
前記画像合成処理部はさらに、
前記増幅率の大小に対応した露光量の入力画像データを二以上選択し、前記増幅率に基づいて導出される混合比率で前記二以上の入力画像データの画素値を混合し、前記新たな画素値を導出することを特徴とする請求項2に記載の画像処理装置。
【請求項4】
前記画像合成処理部は、
前記増幅率と、前記二以上の入力画像データを得る際のそれぞれの露光量とに基づいて導出される混合比率で前記二以上の入力画像データの画素値を混合することを特徴とする請求項3に記載の画像処理装置。
【請求項5】
前記画像合成処理部は、
前記複数の入力画像データの数と、前記複数の入力画像データのそれぞれを得る際に設定される露光量とに応じて設定される閾値であって、前記複数の入力画像データから前記増幅率の大小に対応して前記二以上の入力画像データを選択する際の選択基準となる閾値と、前記増幅率とに基づいて導出される混合比率で前記二以上の入力画像データの画素値を混合することを特徴とする請求項4に記載の画像処理装置。
【請求項6】
前記画像合成処理部は、前記増幅率に基づいて前記複数の入力画像データの中から一つの入力画像データを選択し、当該の選択された入力画像データ中の画素値を前記新たな画素値とすることを前記画素ごとに行い、前記合成画像データを生成することを特徴とする請求項2に記載の画像処理装置。
【請求項7】
前記画像合成処理部は、前記複数の入力画像データの中から、前記増幅率の大小に対応した露光量の入力画像データを一つ選択することを特徴とする請求項6に記載の画像処理装置。
処理装置。
【請求項8】
前記画像合成処理部は、
前記複数の入力画像データのそれぞれを得る際に設定される露光量および前記複数の入力画像データの数に応じて設定される閾値と、前記増幅率との比較結果に基づき、前記入力画像データを一つ選択することを特徴とする請求項7に記載の画像処理装置。
【請求項9】
前記階調変換特性導出部は、前記基準画像データ中で複数に分割されたそれぞれの領域内の画像データに対応して前記階調変換特性を導出することを特徴とする請求項1に記載の画像処理装置。
【請求項10】
同一被写体を撮影して得られた異なる露光量の複数の入力画像データ中から基準画像データを設定することと、
前記基準画像データから階調変換特性を導出することと、
前記階調変換特性に基づいて前記複数の入力画像データから選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成することと
を備えることを特徴とする画像処理方法。
【請求項11】
同一被写体を撮影して得られた異なる露光量の複数の入力画像データを合成して階調の改善された合成画像データを生成する処理をコンピュータに実行させるための画像処理プログラムであって、
前記複数の入力画像データの中から基準画像データを設定する基準画像データ設定ステップと、
前記基準画像データから階調変換特性を導出する階調変換特性導出ステップと、
前記階調変換特性に基づいて前記複数の入力画像データから選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成ステップと
を備えることを特徴とする画像処理プログラム。
【請求項12】
撮影レンズによって形成された被写体像を光電変換して画像信号を出力可能な撮像部を備える撮影装置であって、
前記撮像部において、同一被写体を撮影して異なる露光量の複数の入力画像データを得る撮像制御部と、
前記複数の入力画像データの中から基準画像データを設定し、当該の基準画像データから階調変換特性を導出する階調変換特性導出部と、
前記階調変換特性に基づいて前記複数の入力画像データの中から選択された一または複数の入力画像データ中の画素値を用いて新たな画素値を導出することを画素ごとに行い、合成画像データを生成する画像合成処理部と
を備えることを特徴とする撮影装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【公開番号】特開2012−151732(P2012−151732A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2011−9785(P2011−9785)
【出願日】平成23年1月20日(2011.1.20)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願日】平成23年1月20日(2011.1.20)
【出願人】(000000376)オリンパス株式会社 (11,466)
【Fターム(参考)】
[ Back to top ]