以下、図面を参照して本発明の実施形態を説明する。図1は、本発明の一実施形態に係る画像処理装置の適用例としての撮像装置の構成を示すブロック図である。図1に示す撮像装置1は、例えばレンズ交換式のデジタルカメラであって、交換レンズ100と、本体200とを有する。交換レンズ100は、本体200に対して着脱できるように構成されている。本体200に交換レンズ100が装着されると、交換レンズ100と本体200とは通信できるようになる。これにより、交換レンズ100は、本体200の制御に従って動作する。なお、図1に示す撮像装置1は、レンズ交換式のデジタルカメラである。しかしながら、撮像装置1は、必ずしもレンズ交換式でなくてもよい。例えば、撮像装置1は、レンズ一体式のデジタルカメラであってもよい。また、レンズ自体が撮像機能を有しているものであってもよい。この場合、レンズと本体との無線通信によって情報の伝達が行われるように構成されていてもよい。さらに、本実施形態の技術は必ずしも撮像装置に適用しなくてもよい。すなわち、本実施形態においては撮像機能は必須の機能ではない。
図1に示すように、交換レンズ100は、撮像光学系102と、駆動部104と、位置検出部106と、レンズ制御部108と、記録部110と、操作部112と、通信部114とを有している。ここで、交換レンズ100の各ブロックは、例えばハードウェアによって構成されている。しかしながら、交換レンズ100の一部のブロックは、ソフトウェアによって、又はハードウェアとソフトウェアの組み合わせによって構成されていてもよい。
撮像光学系102は、レンズ及び絞りを有し、図示しない被写体からの光束を本体200の撮像素子202に入射させる。撮像光学系102のレンズは、フォーカスレンズを含んでいてもよい。また、撮像光学系102は、ズームレンズを含んでいてもよい。
駆動部104は、撮像光学系102のレンズ及び絞りを駆動するためのモータ等の駆動機構を有する。駆動部104は、レンズ制御部108の制御の下、撮像光学系102のレンズ及び絞りを駆動する。
位置検出部106は、例えばエンコーダであり、撮像光学系102のフォーカスレンズの位置、ズームレンズの位置を検出する。また、位置検出部106は、撮像光学系の絞りの開口量を検出する。位置検出部106の検出結果は、レンズ制御部108によって取得される。
レンズ制御部108は、CPU及びASIC等の制御回路であり、交換レンズ100の動作を制御する。レンズ制御部108と同等の機能は、ソフトウェアによって実現されてもよいし、ハードウェアとソフトウェアの組み合わせによって実現されてもよい。
記録部110は、例えばフラッシュROMによって構成されている。この記録部110には、交換レンズ100の特性情報が記録されている。この特性情報は、例えば撮像光学系102の焦点距離の情報を含む。
操作部112は、フォーカスリング及びズームリングといった、ユーザが交換レンズ100に対する操作をするための操作部材を含む。操作部112の操作内容は、レンズ制御部108によって検出される。レンズ制御部108は、操作部112の操作内容に従った処理を行う。
通信部114は、交換レンズ100と本体200との通信をするための交換レンズ100の側のインターフェイスである。例えば、通信部114は、電気接点を含み、交換レンズ100と本体200との間を有線接続する。前述したように、通信部114は、交換レンズ100と本体200とは無線通信によって両者の通信を行うものであってもよい。
本体200は、撮像素子202と、記憶部204と、表示部206と、タッチパネル208と、操作部210と、記録部212と、顔検出部214と、制御部216と、通信部218と、外部通信部220とを有している。
撮像素子202は、例えばCMOSイメージセンサ又はCCDイメージセンサを含み、対象物を撮像し、対象物に係る画像データを取得する。撮像素子202は、撮影の対象物までの距離検出が可能なように位相差検出画素を含んでいてもよい。
記憶部204は、例えばDRAMであり、撮像素子202で取得された画像データを一時的に記憶する。この他、記憶部204は、制御部216における各種の処理結果を一時的に記憶する。
表示部206は、例えば液晶ディスプレイや有機ELディスプレイであり、各種の画像を表示する。
タッチパネル208は、例えば表示部206の表示画面に重ねて配置されている。このタッチパネル208は、ユーザの表示画面上でのタッチ操作を検出する。ここで、タッチパネル208は、ユーザの表示画面上でのタッチ操作として、タッチされた座標を検出するだけでなく、タッチの強さを検出できるように構成されていてもよい。また、タッチパネル208は、必ずしも表示部206の表示画面に重ねて配置されていなくてもよい。
操作部210は、タッチパネル208以外のボタン、スイッチ、ダイヤル等の操作部材を含む。操作部210には、例えば、レリーズボタン、動画ボタン、設定ボタン、選択キー、電源ボタンが含まれる。レリーズボタンは、静止画撮影の指示をするための操作部材である。動画ボタンは、動画撮影の開始又は終了を指示するための操作部材である。設定ボタンは、撮像装置1の設定画面を表示させるための操作部材である。選択キーは、例えば設定画面上での項目の選択や決定をするための操作部材である。電源ボタンは、撮像装置1の電源をオン又はオフするための操作部材である。なお、タッチパネル208によって前述したレリーズボタン、動画ボタン、設定ボタン、選択キー、電源ボタンと同等の操作ができるように構成されていてもよい。さらに、操作部210は、前述した以外の他の操作部材を有していてもよい。
記録部212は、例えばフラッシュROMで構成されている。記録部212には、制御部216で生成される画像ファイルが記録される。また、記録部212には、本体200の制御のために用いられる各種のプログラム及び設定値が記録されていてもよい。
顔検出部214は、画像データから人物の顔を検出する。顔の検出手法としては、例えばテンプレートマッチングが用いられる。ただし、本実施形態においては顔の検出手法は特に限定されない。また、顔検出部214は、人物の顔の表情等を検出できるように構成されていてもよい。さらに、顔検出部214は、人物の顔以外も検出できるように構成されていてもよい。
制御部216は、CPU及びASIC等の制御回路であり、本体200の動作を統括的に制御する。制御部216は、撮像制御部2161と、表示制御部2162と、輪郭検出部2163と、合成比マップ生成部2164と、画像処理部2165とを有している。制御部216の各ブロックの機能は、ソフトウェアによって実現されてもよいし、ハードウェアとソフトウェアの組み合わせによって実現されてもよい。また、制御部216の一部のブロックの機能は、制御部216と別個に設けられていてもよい。
撮像制御部2161は、撮像素子202による撮像(露出)動作を制御する。撮像制御部2161は、例えば撮像素子202の露出時間を制御する。また、撮像制御部2161は、撮像光学系102の絞りの開口量を制御する。後で詳しく説明するが、HDR処理の際に、撮像制御部2161は、異なる露出値で撮像素子202による複数回の撮像が行われるように撮像素子202を制御する。
表示制御部2162は、表示部206に各種の画像を表示する際の制御をする。例えば、表示制御部2162は、記録部212に記録されている画像ファイルを読み出して表示部206に再生する。
輪郭検出部2163は、例えばハイパスフィルタ(HPF)処理によって画像データから輪郭を検出する。輪郭は、例えば後で説明するマスクパターンを特定するために用いられる。
合成比マップ生成部2164は、HDR処理のための合成比マップを生成する。合成比マップは、HDR画像を生成するための露出の異なる複数の画像データの合成比を画像データの座標と対応づけて記録したマップである。HDR処理の際には、合成比マップに従って画像データの合成が行われる。詳細については後で説明する。
画像処理部2165は、画像データに対して各種の画像処理を施す。この画像処理は、ホワイトバランス補正、色補正といった画像データを表示や記録に用いるための基本的な画像処理を含む。さらに、本実施形態においては、画像処理は、HDR処理を含む。前述したように、本実施形態におけるHDR処理は、合成比マップに従って行われる。
通信部218は、交換レンズ100と本体200との通信をするための本体200の側のインターフェイスである。例えば、通信部218は、電気接点を含み、交換レンズ100と本体200との間を有線接続する。前述したように、通信部218は、交換レンズ100と本体200との通信は無線通信によって行うものであってもよい。
外部通信部220は、撮像装置1の外部機器と通信するための本体200の側のインターフェイスである。外部通信部220は、例えば無線通信によって外部機器と通信する。
以下、本実施形態の撮像装置1の動作について説明する。図2A、図2B、図2Cは、撮像装置1の基本的な動作を示すフローチャートである。図2A−図2Cのフローチャートの動作は、本体200の制御部216によって制御される。
ステップS1において、制御部216は、現在の撮像装置1の動作モードが撮影モードであるか否かを判定する。撮像装置1は、動作モードとして撮影モードと、再生モードと、通信モードとを有している。撮影モードは、静止画又は動画を記録する処理を行う動作モードである。再生モードは、記録部212に記録されている画像ファイルを表示部206に再生する処理を行う動作モードである。通信モードは、記録部212に記録されている画像ファイルを外部機器に送信したり、外部機器から画像ファイルを受信したりといった通信を行うためのモードである。動作モードは、例えばユーザによるタッチパネル208の操作よって設定される。ステップS1において、現在の撮像装置1の動作モードが撮影モードであると判定されたときには、処理はステップS2に移行する。ステップS1において、現在の撮像装置1の動作モードが撮影モードでないと判定されたときには、処理はステップS28に移行する。
ステップS2において、制御部216は、交換レンズ100が交換されたか否かを判定する。ステップS2において、交換レンズ100が交換されたと判定されたときには、処理はステップS3に移行する。ステップS2において、交換レンズ100が交換されていないと判定されたときには、処理はステップS4に移行する。
ステップS3において、制御部216は、通信部218を介して交換レンズ100のレンズ制御部108と通信を行い、記録部110に記録されている特性情報を取得する。その後、処理はステップS4に移行する。これ以降、制御部216は、取得した特性情報を必要に応じて参照する。
ステップS4において、制御部216は、スルー画表示のための撮像動作を開始させる。スルー画表示のための撮像動作として、制御部216は、撮像素子202による撮像動作を所定のフレームレートで実行させる。このとき、制御部216は、顔が検出されているときには、顔の露出値が予め定められた基準値となるように撮像素子202の撮像動作を制御する。また、顔が検出されていないときには、制御部216は、画面中央部の露出値が基準値となるように撮像素子202の撮像動作を制御する。この他、制御部216は、画面全体の露出値の平均値が基準値となるように撮像素子202の撮像動作を制御するように構成されていてもよい。
ステップS5において、制御部216は、撮像素子202の撮像動作によって逐次に得られる画像データに基づく画像をリアルタイムで表示部206に表示させることでスルー画表示を行う。
ステップS6において、制御部216は、現在の撮影モードがHDR撮影モードであるか否かを判定する。撮像装置1は、撮影モードとして通常撮影モードとHDR撮影モードとを有している。通常撮影モードは、HDR処理を伴わない撮影モードである。HDR撮影モードは、HDR処理を伴う撮影モードである。なお、前述したように、本実施形態におけるHDR処理は、合成比マップに従って露出の異なる複数の画像データを合成する処理である。撮影モードは、例えばユーザによるタッチパネル208の操作よって設定される。ステップS6において、現在の撮影モードがHDR撮影モードであると判定されたときには、処理はステップS7に移行する。ステップS6において、現在の撮影モードがHDR撮影モードでないと判定されたときには、処理はステップS14に移行する。
ステップS7において、制御部216は、タッチパネル208の出力からユーザによる画面タッチ操作が検出されたか否かを判定する。ステップS7において、画面タッチ操作が検出されたと判定されたときには、処理はステップS8に移行する。ステップS7において、画面タッチ操作が検出されていないと判定されたときには、処理はステップS9に移行する。
ステップS8において、制御部216は、タッチパネル208の出力に応じて合成比マップを生成する。その後、処理はステップS9に移行する。ここで、合成比マップの生成処理について説明する。図3は、本実施形態における合成比マップの生成処理について示すフローチャートである。
ステップS101において、制御部216は、現在の合成比マップの生成モードが焼き込みモードであるか否かを判定する。本実施形態においては、制御部216は、合成比マップの生成モードとして焼き込みモードと、覆い焼きモードと、グラデーションモードとを有している。焼き込みモードは、ユーザによって指定された部分の露出を変えるようにHDR処理を行うモードである。覆い焼きモードは、ユーザによって指定された部分以外の露出を変えるようにHDR処理を行うモードである。焼き込みモード及び覆い焼きモードは、フィルム写真における焼き込み及び覆い焼きと同様の表現を画像処理によって実現するためのモードである。一方、グラデーションモードは、ユーザによって指定された方向に向けて露出を徐々に変えるようにHDR処理を行うモードである。合成比マップの生成モードは、例えばユーザによるタッチパネル208の操作よって設定される。他にも、スイッチやダイヤルで設定する方法もあるが、ユーザの操作履歴を記録しておいて嗜好を参考にしたり、シーン解析で一般的に行われる方を優先するようにしたりして、特定の判断プログラムに応じて判定するようにしてもよい。ステップS101において、現在の合成比マップの生成モードが焼き込みモードであると判定されたときには、処理はステップS102に移行する。ステップS101において、現在の合成比マップの生成モードが焼き込みモードでないと判定されたときには、処理はステップS107に移行する。
ステップS102において、制御部216は、タッチされている座標に対するタッチ時間を取得する。なお、制御部216は、タッチ時間の代わりに、タッチ強さ、タッチ回数等を取得するように構成されていてもよい。このようなタッチ操作であれば、タッチの変化やタッチのバリエーションに応じて、座標的にも、合成する画像の画質的にも、直感的かつ、感覚的な多様なアナログ的な変更を行うことができる。これにより、一律なHDR処理技術とは一線を画した制御を行うことができる。つまり、従来のHDR処理技術では、画面全体に予め決められた合成が行われる場合が多く、ユーザのこだわりの絵作りには十分対応できなかった。
ステップS103において、制御部216は、タッチされている座標における合成比を設定する。その後、処理はステップS104に移行する。図4は、焼き込みモードにおける合成比の設定について示した図である。図4においては、暗い部分ほど、合成比が大きいことを示している。図4に示すように、合成比は、タッチ時間に比例するように設定される。すなわち、タッチ時間は長くなるほどに合成比は大きくなる。このような制御が可能となることから、座標的にも合成の比率的にも制御を行っていくことができる。さらにずっとタッチが継続されると、合成する画像の露出等までを変更することもできる。このとき、後のHDR処理において得られるHDR画像のタッチされている座標における、顔部や中央部以外に露出が合わせられた画像データの合成される割合が大きくなる。なお、合成比は、例えば初期値が0で、0から1の値をとるものとする。そして、設定された合成比は、リセットされるまでは保持される。したがって、焼き込みモードにおいては、タッチされた座標の合成比だけが0よりも大きい値を持ち、それ以外の座標の合成比は0である合成比マップが生成される。このようにして生成された合成比マップは例えば記憶部204に記憶される。
また、合成比は、タッチ時間ではなく、タッチ強さ又はタッチ回数に比例するように設定されてもよいし、タッチ時間、タッチ強さ、タッチ回数に比例しないように設定されてもよい。例えば、タッチの初期においては合成比の変化量を小さくし、タッチ時間が長くなるにつれて合成比の変化量を大きくするように設定されてもよい。
ステップS104において、制御部216は、合成比が限界であるか否かを判定する。合成比が0から1の値をとるものとしたとき、合成比が1を超える時間までタッチがされていたときには、合成比が限界であると判定される。ステップS104において、合成比が限界であると判定されたときには、処理はステップS105に移行する。ステップS104において、合成比が限界でないと判定されたときには、処理はステップS106に移行する。
ステップS105において、制御部216は、これ以上のタッチをしてもタッチしている座標の明るさが変わらないことをユーザに対して警告する。その後、処理はステップS106に移行する。ステップS105における警告は、例えば表示部206にメッセージを表示することで行われる。この他、ステップS105における警告は、音声等で行われてもよい。
ステップS106において、制御部216は、ユーザによるタッチが終了されたか否かを判定する。例えば、ユーザの指がタッチパネル208から離れた状態であることが検出されたときユーザによるタッチが終了されたと判定される。一方、ユーザの指がタッチパネル208から離れておらずに座標だけが変わったときには(ユーザの指がタッチパネル208の上をスライド等しているときには)、ユーザによるタッチが終了されていないと判定される。ステップS106において、ユーザによるタッチが終了されていないと判定されたときには、処理はステップS101に戻る。この場合、現在の座標において合成比が再設定される。ステップS106において、ユーザによるタッチが終了されたと判定されたときには、図3の処理は終了する。
ステップS101において現在の合成比マップの生成モードが焼き込みモードでないと判定されたときのステップS107において、制御部216は、現在の合成比マップの生成モードが覆い焼きモードであるか否かを判定する。ステップS107において、現在の合成比マップの生成モードが覆い焼きモードであると判定されたときには、処理はステップS108に移行する。ステップS107において、現在の合成比マップの生成モードが覆い焼きモードでないと判定されたときには、処理はステップS110に移行する。
ステップS108において、制御部216は、タッチされている座標に対するタッチ時間を取得する。なお、制御部216は、タッチ時間の代わりに、タッチ強さ、タッチ回数等を取得するように構成されていてもよい。
ステップS109において、制御部216は、タッチされている座標以外の座標における合成比を設定する。その後、処理はステップS104に移行する。焼き込みモードのときと同様、覆い焼きモードにおいても、合成比は、タッチ時間に比例するように設定される。ただし、焼き込みモードのときは、タッチされている座標だけの合成比を設定するのに対し、覆い焼きモードのときは、タッチされている座標以外の座標の合成比を設定する点が異なる。なお、焼き込みモードのときと同様、覆い焼きモードにおいても、合成比は、例えば初期値が0で、0から1の値をとるものとする。そして、設定された合成比は、リセットされるまでは保持される。したがって、覆い焼きモードにおいては、タッチされた座標の合成比だけが0であり、それ以外の座標の合成比は0よりも大きい値を有する合成比マップが生成される。このようにして生成された合成比マップは例えば記憶部204に記憶される。このような制御が可能となることから、座標的にも合成の比率的にも制御を行っていくことができる。さらにずっとタッチ操作が継続されると、合成する画像の露出等までを変更することも可能である。例えば、基準画像との露出差をタッチの時間を含むタッチパターンで変更すればよい。近年では、タッチパネルの接触前からの情報が得られるパネルもあり、こうしたパネル上の空中での指の動きなどを反映させてもよい。つまり、このような工夫、改良が出来る点が本願の特徴であって、タッチパネルを有する画像関連機器には広く応用できる。当該タッチパネルの操作の位置とタッチパターンによって、第1の画像データの座標毎にHDR処理の際の合成比又はHDR処理時の合成画像の露出差を対応付けた合成比マップを生成する合成比マップ生成部と、第1の画像データと前述の露出差の第2の画像データとを前記合成比マップに従って座標毎に合成するHDR処理を行う画像処理部とを具備する画像処理装置とすることによって、これまでの一様なHDR処理とは異なる、ユーザの嗜好を反映した絵作りがなされた画像を取得することができる。
ステップS107において現在の合成比マップの生成モードが覆い焼きモードでないと判定されたときのステップS110において、制御部216は、現在の合成比マップの生成モードがグラデーションモードであるか否かを判定する。ステップS110において、現在の合成比マップの生成モードがグラデーションモードであると判定されたときには、処理はステップS111に移行する。ステップS110において、現在の合成比マップの生成モードがグラデーションモードでないと判定されたときには、処理はステップS101に戻る。
ステップS111において、制御部216は、ユーザによるタッチが終了されたか否かを判定する。ステップS111における判定は、ステップS106における判定と同様に行われる。ステップS111において、ユーザによるタッチが終了されていないと判定されたときには、処理はステップS110に戻る。ステップS111において、ユーザによるタッチが終了されたと判定されたときには、処理はステップS112に移行する。
ステップS112において、制御部216は、タッチの開始座標と終了座標とを含む領域においてグラデーションを有する合成比を算出する。生成された合成比マップは例えば記憶部204に記憶される。その後、図3の処理は終了する。
図5Aは、グラデーションモードにおける合成比の設定の第1の例について示した図である。ここで、図5Aの矢印Aは、タッチパネル208の上でのユーザの指の動きを示している。すなわち、図5Aにおいて、ユーザの指はタッチパネル208の中央部から右方向に向けてスライドしている。グラデーションモードでは、ユーザの指のタッチの始点の座標と終点の座標とを含む矩形の領域Rに対して合成比が設定される。図5Aでは、領域Rの水平方向の長さはタッチの始点の座標と終点の座標であり、垂直方向の長さはタッチパネル208の垂直方向の長さ(すなわち表示部206の画面の垂直方向の長さ)と一致している。領域Rの垂直方向の長さはタッチパネル208の垂直方向の長さと一致させる必要はない。
第1の例においては、合成比は、始点の座標で0になり、始点の座標から終点の座標に向けて徐々に大きくなって終点の座標で1になるように設定される。始点の座標と終点の座標との間の合成比の階調数は例えば256階調である。この場合、始点の座標から終点の座標にかけて合成比が256段階で変化する。
図5Bは、グラデーションモードにおける合成比の設定の第2の例について示した図である。ここで、図5Bの矢印Bは、タッチパネル208の上でのユーザの指の動きを示している。すなわち、図5Bにおいて、ユーザの指はタッチパネル208の左端中央部から上下に動きながらタッチパネル208の右端中央部までスライドしている。
第2の例においては、合成比は、垂直方向の位置に応じて設定される。すなわち、合成比は、タッチされた座標がタッチパネルの下方になるほどに0に近づき、上方になるほどに1に近づくように設定される。この場合も指の動きに伴ってグラデーションを有する合成比が設定される。
なお、合成比マップが生成された後、再度の合成比マップの生成処理が行われた場合には、前回の合成比マップをリセットしてから合成比マップを生成するようにしてもよいし、前回の合成比マップに重ねる形で合成比マップを生成するようにしてもよい。また、合成比マップの生成手法は、前述した手法に限るものではない。すなわち、合成比マップは、焼き込みモード、覆い焼きモード、グラデーションモード以外の各種の手法によって生成され得る。
ここで、図2A−図2Cの説明に戻る。合成比マップ生成処理の後のステップS9において、制御部216は、HDR処理のための撮像動作を開始させる。その後、処理はステップS10に移行する。ステップS9の撮像動作として、制御部216は、例えばスルー画表示のための撮像動作に対して予め定められた段数だけ低い又は高い露出値(例えば基準値に対して+3段又は−3段)となるように撮像素子202の撮像動作を制御する。なお、低い露出値と高い露出値の何れで撮像動作を行うかは例えばユーザによって予め設定される。
また、ステップS9の撮像動作として、制御部216は、例えばユーザによって合成比マップの生成開始時点でタッチされた画像データ上の座標(すなわち最初にタッチされた座標)の露出値が予め定められた基準値となるように2回目の撮像素子202の撮像動作を制御するように構成されていてもよい。さらに、HDR処理のための撮像動作は2回以上行われてもよい。例えば、制御部216は、スルー画表示のための撮像動作に対して予め定められた段数だけ低い露出値の撮像動作(例えば基準値に対して−3段)と高い露出値の撮像動作(例えば基準値に対して+3段)とを制御するように構成されていてもよい。この場合、3枚の画像データを用いてHDR処理が行われる。なお、3枚の画像データを用いてHDR処理を行うように構成されているときには、1枚目の画像データと2枚目の画像データとの合成に用いられる合成比マップに対して1枚目の画像データと2枚目の画像データとの合成結果と3枚目の画像データとの合成に用いられる合成比マップを変えることができるように構成されていてもよい。
ステップS10において、制御部216は、HDR処理を行う。その後、処理はステップS11に移行する。ステップS10において、合成比マップが生成されていないときには、制御部216は、通常のHDR処理を行う。通常のHDR処理として、制御部216は、例えばスルー画表示のための撮像動作で得られた画像データ(すなわち顔又は画面中央部が適正露出となっている画像データ)における白飛び又は黒潰れ領域にHDR処理のための撮像動作で得られた画像データを合成する。一方、ステップS10において、合成比マップが生成されているときには、制御部216は、画面タッチ操作がなされる直前のスルー画表示のための撮像動作で得られた画像データ(すなわち顔又は画面中央部が適正露出となっている画像データ)とHDR処理のための撮像動作で得られた画像データとを合成比マップに従って合成する。
例えば、スルー画表示のための撮像動作で得られた画像データの座標(x,y)の画素の値をI1(x,y)とし、HDR処理のための撮像動作で得られた画像データの座標(x,y)の画素の値をI2(x,y)とし、座標(x,y)における合成比がa(0≦a≦1)であるとすると、座標(x,y)に合成画像データの画素の値I3(x,y)は、以下の式によって得られる。以下の処理を画像データのすべての座標に対して行うことによってHDR画像データが生成される。
I3(x,y)=(1−a)×I1(x,y)+a×I2(x,y)
以下、具体的に本実施形態のHDR処理を説明する。例えば、ユーザは、焼き込みモードにおいて、スルー画表示されている画像I1上(実際には画像I1の各座標と対応するタッチパネル208上)を、タッチ時間を徐々に長くしながら指Fを図6の上段に示す矢印Cの方向にスライドしたとする。このときの矢印Cの方向に沿った合成比マップは、図6の下段に示すような合成比マップになる。
一方、スルー画のための撮像で得られた画像データが図7に示す画像データI1であり、その後のHDR処理のための撮像で得られた画像データが図7に示す画像データI2であるとする。なお、画像データI1は、顔に対して露出が合わせられている画像データである。このため、画像データI1においては、背景は白飛びしている。また、画像データI2は、背景に対して露出が合わせられている画像データである。このため、顔については黒潰れしている。
画像データI1と画像データI2とを図6に示す合成比マップに従って合成すると図7に示すHDR画像データI3が生成される。なお、図7においては、矢印Cに沿った方向だけの合成が行われた状態のHDR画像データI3が模式的に示されている。図7に示すように、HDR画像データI3の左端の明るさは、合成が行われていないために画像データI1の明るさである。一方、HDR画像データI3の左端から右端に向かうにしたがって画像データI2の合成の割合が大きくなって、画像データI2に写っている背景が表示され始める。そして、HDR画像データI3の右端の明るさは、画像データI2の明るさになって適正な露出の背景が表示される。
なお、図では示していないが、覆い焼きモードでは、図6の矢印Cで示した部分以外の明るさが左端から右端にかけて徐々に変化するHDR画像データが生成される。グラデーションモードでは、画像全体の明るさが左端から右端にかけて徐々に変化するHDR画像データが生成される。グラデーションモードでは、所謂ハーフNDフィルタを装着して撮影が行われたのと同様の効果を画像処理によって表現することもできる。
このように本実施形態では画像データの座標毎にHDR処理の合成比を変えることができる。これにより、本実施形態では種々の表現のHDR画像データを生成することができる。このようにして本実施形態ではHDR処理の自由度を高めることができる。
ここで、図2A−図2Cの説明に戻る。ステップS11において、制御部216は、HDR処理によって得られた画像データに基づくスルー画像を表示部206に表示させる。
ステップS12において、制御部216は、シーン変化があったか否かを判定する。シーン変化とは、明るさの変化、コントラストの変化、被写体の変化等を含む。これらの変化が予め定めた所定値以上であるときには、シーン変化があったと判定される。ステップS12において、シーン変化があったと判定されたときには、処理はステップS13に移行する。ステップS12において、シーン変化がないと判定されたときには、処理はステップS14に移行する。
ステップS13において、制御部216は、合成比マップをリセットする。その後、処理はステップS14に移行する。シーン変化前の合成比マップに従ってHDR処理がされてしまうと、ユーザの意図とは異なった処理がなされてしまう可能性が高い。したがって、シーン変化があったときには、合成比マップをリセットしている。なお、ステップS13の処理は省略されてもよい。すなわち、シーン変化があったとしても合成比マップが保持されるようにしてもよい。
ステップS14において、制御部216は、ユーザによる撮影操作がなされたか否かを判定する。撮影操作は、例えばユーザによるレリーズボタンの操作又は動画ボタンの操作である。ステップS14において、ユーザによる撮影操作がなされたと判定されたときには、処理はステップS15に移行する。ステップS14において、ユーザによる撮影操作がなされていないと判定されたときには、処理はステップS25に移行する。
ステップS15において、制御部216は、現在の撮影モードがHDR撮影モードであるか否かを判定する。ステップS15において、現在の撮影モードがHDR撮影モードであると判定されたときには、処理はステップS16に移行する。ステップS15において、現在の撮影モードがHDR撮影モードでないと判定されたときには、処理はステップS26に移行する。
ステップS16において、制御部216は、HDR画像データの記録のための撮像動作を開始させる。その後、処理はステップS17に移行する。ステップS16の撮像動作として、制御部216は、顔又は画面中央部の露出値が予め定められた基準値となるように撮像素子202の撮像動作を制御する。その後、制御部216は、顔又は画面中央部の露出値が予め定められた基準値よりも予め定められた段数だけ低い又は高い露出値となるように撮像素子202の撮像動作を制御する。前述したように、制御部216は、3回以上の撮像動作を行うように構成されていてもよい。
ステップS17において、制御部216は、合成比マップがあるか否かを判定する。ステップS17において、合成比マップがあると判定されたときに、処理はステップS18に移行する。ステップS17において、合成比マップが無いと判定されたときに、処理はステップS19に移行する。
ステップS18において、制御部216は、合成比マップに従ってHDR処理を行う。その後、処理はステップS20に移行する。HDR処理の手法は、ステップS10と同様でよい。
ステップS19において、制御部216は、通常のHDR処理を行う。その後、処理はステップS20に移行する。通常のHDR処理として、制御部216は、例えば1枚目の画像データにおける白飛び又は黒潰れ領域に2枚目の画像データを合成する。
ステップS20において、制御部216は、HDR処理によって得られた画像データに基づく画像を表示部206に表示させる。
ステップS21において、制御部216は、ユーザによって決定操作がされたか否かを判定する。決定操作は、例えばステップS20においてHDR画像とともに表示される決定ボタンへのタッチ操作である。ステップS21において、制御部216は、ユーザによって決定操作がされていないと判定されたときには、処理はステップS22に移行する。ステップS21において、制御部216は、ユーザによって決定操作がされたと判定されたときには、処理はステップS24に移行する。
ステップS22において、制御部216は、タッチパネル208の出力からユーザによる画面タッチ操作が検出されたか否かを判定する。ステップS22において、画面タッチ操作が検出されたと判定されたときには、処理はステップS23に移行する。ステップS22において、画面タッチ操作が検出されていないと判定されたときには、処理はステップS17に移行する。
ステップS23において、制御部216は、タッチパネル208の出力に応じて合成比マップを生成する。その後、処理はステップS17に移行する。なお、合成比マップの生成処理は、図3でと同様でよい。ステップS23において合成比マップの生成処理が行われた場合、再度のHDR画像の表示の際にはステップS23で生成された合成比マップに従ってステップS18においてHDR処理が行われる。すなわち、本実施形態では、撮影時においてもHDR処理の調整を行うことができる。
ステップS24において、制御部216は、HDR画像データを画像ファイル(HDR画像ファイル)として記録部212に記録する。その後、処理はステップS25に移行する。ここで、本実施形態では、HDR画像データの生成に用いられた画像データも1つのHDR画像ファイルとして記録される。これにより、画像ファイルの再生時の編集処理によってもHDR処理の調整を行うことができる。なお、HDR画像データとその生成に用いられた画像データとは別個のファイルに記録されていてもよい。この場合、例えばファイル名によって両ファイルの関連付けがされている必要がある。
ステップS25において、制御部216は、本体200の電源がオフされたか否かを判定する。ステップS25において、本体200の電源がオフされたと判定されたときには、図2A−図2Cの処理は終了する。ステップS25において、本体200の電源がオフされていないと判定されたときには、処理はステップS1に戻る。
ステップS15において現在の撮影モードがHDR撮影モードでないと判定されたときのステップS26において、制御部216は、通常の記録のための撮像動作を開始させる。その後、処理はステップS27に移行する。ステップS26の撮像動作として、制御部216は、顔又は画面中央部の露出値が予め定められた基準値となるように撮像素子202の撮像動作を制御する。なお、ステップS26であっても、連写時又は動画撮影時においてはユーザによって終了が指示されるまでは記録のための撮像動作が繰り返し行われる。
ステップS27において、制御部216は、画像データを画像ファイルとして記録部212に記録する。その後、処理はステップS25に移行する。
ステップS1において現在の撮像装置1の動作モードが撮影モードでないと判定されたときのステップS28において、制御部216は、現在の撮像装置1の動作モードが再生モードであるか否かを判定する。ステップS28において、現在の撮像装置1の動作モードが再生モードであると判定されたときには、処理はステップS29に移行する。ステップS28において、現在の撮像装置1の動作モードが再生モードでないと判定されたときには、処理はステップS41に移行する。
ステップS29において、制御部216は、記録部212に記録されている画像ファイルの一覧を表示部206に表示させる。その後、処理はステップS30に移行する。
ステップS30において、制御部216は、ユーザによって画像ファイルが選択されたか否かを判定する。ステップS30において、ユーザによって画像ファイルが選択されたと判定されたときには、処理はステップS31に移行する。ステップS30において、ユーザによって画像ファイルが選択されていないと判定されたときには、処理はステップS40に移行する。
ステップS31において、制御部216は、選択された画像ファイルを表示部206に再生する。なお、選択された画像ファイルがHDR画像ファイルであるときには、制御部216は、HDR画像データを再生する。
ステップS32において、制御部216は、再生中の画像ファイルがHDR画像ファイルであるか否かを判定する。ステップS32において、再生中の画像ファイルがHDR画像ファイルであると判定されたときには、処理はステップS33に移行する。ステップS32において、再生中の画像ファイルがHDR画像ファイルでないと判定されたときには、処理はステップS39に移行する。
ステップS33において、制御部216は、タッチパネル208の出力からユーザによる画面タッチ操作が検出されたか否かを判定する。ステップS33において、画面タッチ操作が検出されたと判定されたときには、処理はステップS34に移行する。ステップS33において、画面タッチ操作が検出されていないと判定されたときには、処理はステップS39に移行する。
ステップS34において、制御部216は、タッチパネル208の出力に応じて合成比マップを生成する。その後、処理はステップS35に移行する。なお、合成比マップの生成処理は、図3で示したものと同様にして行われる。
ステップS35において、制御部216は、合成比マップに従ってHDR処理を行う。その後、処理はステップS36に移行する。ステップS35において、制御部216は、現在再生中の画像ファイルに記録されているHDR画像データの作成に用いられた露出の異なる複数の画像データを用いてHDR処理を行う。HDR処理の手法は、ステップS10と同様でよい。
ステップS36において、制御部216は、HDR処理によって得られた画像データに基づく画像を表示部206に表示させる。
ステップS37において、制御部216は、ユーザによって決定操作がされたか否かを判定する。ステップS37において、制御部216は、ユーザによって決定操作がされていないと判定されたときには、処理はステップS39に移行する。ステップS37において、制御部216は、ユーザによって決定操作がされたと判定されたときには、処理はステップS38に移行する。
ステップS38において、制御部216は、ステップS35において変更された後のHDR画像データをHDR画像ファイルとして記録部212に記録する。その後、処理はステップS39に移行する。ステップS38においても、HDR画像データの生成に用いられた画像データもHDR画像ファイルとして記録される。なお、HDR画像データの生成に用いられた画像データがHDR画像データと別のファイルになっているときには、改めてHDR画像データの生成に用いられた画像データを記録する必要はない。
ステップS39において、制御部216は、画像ファイルの再生を終了するか否かを判定する。ステップS39においては、例えばユーザによる操作部210の操作によって画像ファイルの再生の終了が指示されたときに、画像ファイルの再生を終了すると判定される。ステップS39において、画像ファイルの再生を終了しないと判定されたときには、処理はステップS31に戻る。この場合には、画像ファイルの再生は継続される。ステップS39において、画像ファイルの再生を終了すると判定されたときには、処理はステップS29に戻る。
ステップS30においてユーザによって画像ファイルが選択されていないと判定されたときのステップS40において、制御部216は、再生モードの処理を終了するか否かを判定する。ステップS40において、再生モードの処理を終了しないと判定されたときには処理はステップS29に戻る。ステップS40において、再生モードの処理を終了すると判定されたときには処理はステップS25に移行する。
ステップS28において、現在の撮像装置1の動作モードが再生モードでないと判定されたときのステップS41において、制御部216は、通信モードの処理を行う。通信モードにおいては、制御部216は、ユーザによって指定された画像ファイルを外部機器に送信したり、外部機器から画像ファイル等を受信したりする処理を行う。通信モードの処理の終了後、処理はステップS25に移行する。
以上説明したように本実施形態では、ユーザの操作に従ってHDR処理のための合成比マップを生成している。この合成比マップに従ってHDR処理を行うことにより、種々の表現のHDR画像データを生成することができる。これにより、HDR処理の自由度を高めることができる。
ここで、前述した実施形態においては、ユーザのタッチパネル208の操作に従って合成比を設定する座標が指定されている。しかしながら、座標を指定できるのであれば、必ずしもタッチパネル208の操作でなくてもよい。
[変形例1]
以下、本実施形態の変形例を説明する。前述した実施形態では、タッチされた座標に対して合成比が設定される例を説明している。これに対し、タッチされた座標だけでなく、タッチされた座標を含むマスクパターンに対して合成比が設定されるように構成されていてもよい。例えば、図8Aに示す人物Oの領域内の座標へのタッチがあったときに、制御部216は、図8Bに示すように、タッチされた座標を含む輪郭を検出し、検出した輪郭をマスクパターンMとする。そして、制御部216は、マスクパターンMに対して合成比を設定する。例えば、焼き込みモードの場合には、制御部216は、マスクパターンMに含まれる各座標の合成比をタッチ時間、タッチ強さ、タッチ回数等に応じて設定する。また、覆い焼きモードの場合には、制御部216は、マスクパターンMを除く各座標の合成比をタッチ時間、タッチ強さ、タッチ回数等に応じて設定する。さらに、グラデーションモードの場合には、制御部216は、マスクパターンMの中でグラデーションを有するように合成比を設定する。このようにマスクパターンMに基づいて合成比を設定することで、ユーザの操作回数を減らすことが可能である。
[変形例2]
前述した実施形態では基本的にはタッチされた座標に対しては合成比が設定される。これに対し、タッチされた座標であっても合成比の設定を禁止できるようにしてもよい。例えば、前述した例では、焼き込みモードにおいて図6のような顔を含むスライド操作がされたときには、顔もHDR処理の対象となる。この場合、露出値が基準値に合わせられた顔の画像に基準値よりも低い露出値の顔の画像が合成されるので、顔の露出値は基準値よりも低くなる。変形例2は、図6と同様のスライド操作がなされた場合であっても、顔の露出値を変えずにその他の部分のみの露出値を変えるように構成した例である。以下、このような画像データの一部をHDR処理の対象から除外できるようにしたモードをマスクタッチモードと言う。マスクタッチモードのときには、例えば図9に示すようにマスクタッチモードであることを示す表示Dがなされてもよい。
マスクタッチモードのときに、ユーザは、複数本の指によってタッチパネル208を操作する。ユーザは、図9に示すように、指F1によってHDR処理の対象から除外したい座標をタッチする。さらに、ユーザは、図9に示すように、もう1本の指F2によって前述したようなスライド操作をする。このとき、制御部216は、指F1によってタッチされた座標を含む輪郭によって囲まれる各座標をHDR処理の対象から除外して合成比マップを生成する。そして、このようにして生成された合成比マップに従ってHDR処理が行われることにより、図10に示すように顔はHDR処理の対象から除外され、顔の露出値は基準値のままになる。
図11A及び図11Bは、変形例2における合成比マップの生成処理について示すフローチャートである。ここで、図11A及び図11Bにおいて、図3と同一の処理については図3と同一の符号を付している。したがって、同一の符号を付している処理については説明を適宜省略する。
ステップS101において、制御部216は、現在の合成比マップの生成モードが焼き込みモードであるか否かを判定する。ステップS101において、現在の合成比マップの生成モードが焼き込みモードであると判定されたときには、処理はステップS102に移行する。ステップS101において、現在の合成比マップの生成モードが焼き込みモードでないと判定されたときには、処理はステップS107に移行する。
ステップS102において、制御部216は、タッチされている座標を含むマスクパターンに対するタッチ時間を取得する。なお、制御部216は、タッチ時間の代わりに、タッチ強さ、タッチ回数等を取得するように構成されていてもよい。その後、処理はステップS113に移行する。
ステップS113において、制御部216は、マスクタッチがされているか否かを判定する。例えば、同一のマスクパターンに含まれる2か所以上の座標へのタッチが検出されたときにはマスクタッチがされていると判定される。ステップS113において、マスクタッチがされていないと判定されたときには、処理はステップS103に移行する。ステップS113において、マスクタッチがされていると判定されたときには、処理はステップS114に移行する。
ステップS114において、制御部216は、マスクタッチがされている座標を含むマスクパターンを合成比の設定対象から除外する。その後、処理はステップS104に移行する。
ステップS103−S106の処理は図3のステップS103−S106の処理と同一である。したがって、説明を省略する。
ステップS101において現在の合成比マップの生成モードが焼き込みモードでないと判定されたときのステップS107において、制御部216は、現在の合成比マップの生成モードが覆い焼きモードであるか否かを判定する。ステップS107において、現在の合成比マップの生成モードが覆い焼きモードであると判定されたときには、処理はステップS108に移行する。ステップS107において、現在の合成比マップの生成モードが覆い焼きモードでないと判定されたときには、処理はステップS110に移行する。
ステップS108において、制御部216は、タッチされている座標に対するタッチ時間を取得する。なお、制御部216は、タッチ時間の代わりに、タッチ強さ、タッチ回数等を取得するように構成されていてもよい。その後、処理はステップS114に移行する。
ステップS115において、制御部216は、マスクタッチがされているか否かを判定する。例えば、同一のマスクパターンに含まれる2か所以上の座標へのタッチが検出されたときにはマスクタッチがされていると判定される。ステップS115において、マスクタッチがされていないと判定されたときには、処理はステップS109に移行する。ステップS115において、マスクタッチがされていると判定されたときには、処理はステップS116に移行する。
ステップS116において、制御部216は、マスクタッチがされている座標を含むマスクパターンを合成比の設定対象から除外する。その後、処理はステップS104に移行する。
ステップS107において現在の合成比マップの生成モードが覆い焼きモードでないと判定されたときのステップS110において、制御部216は、現在の合成比マップの生成モードがグラデーションモードであるか否かを判定する。ステップS110において、現在の合成比マップの生成モードがグラデーションモードであると判定されたときには、処理はステップS111に移行する。ステップS110において、現在の合成比マップの生成モードがグラデーションモードでないと判定されたときには、処理はステップS101に戻る。
ステップS111において、制御部216は、ユーザによるタッチが終了されたか否かを判定する。ステップS111において、ユーザによるタッチが終了されていないと判定されたときには、処理はステップS110に戻る。ステップS111において、ユーザによるタッチが終了されたと判定されたときには、処理はステップS117に移行する。
ステップS117において、制御部216は、マスクタッチがされていたか否かを判定する。ステップS117において、マスクタッチがされていないと判定されたときには、処理はステップS112に移行する。ステップS117において、マスクタッチがされていたと判定されたときには、処理はステップS118に移行する。
ステップS118において、制御部216は、マスクタッチがされている座標を含むマスクパターンを合成比の設定対象から除外する。その後、図11A及び図11Bの処理は終了する。
以上説明したようなマスクタッチモードを搭載することにより、よりユーザの意図したHDR画像データを生成することができる。
[変形例3]
前述した実施形態及び変形例ではユーザの画面タッチ操作があったときに合成比マップが生成される。これに対し、ユーザの画面タッチ操作の傾向とシーンとの関係を例えば機械学習によって学習することにより、以前に合成比マップを生成したシーンと同様のシーンであることが判定されたときに、自動的に以前に生成した合成比マップを生成するように制御部216が構成されてもよい。例えば、制御部216は、AIを搭載しており、図12の画像データI1と画像データI2とが得られるシーンにおいて、HDR画像データI3が生成されることを学習した後の撮影時において画像データI1が得られるシーンであることを判定したときには、ユーザの画面タッチ操作を待たずに合成比マップMPを生成してHDR処理を行うように構成されてもよい。なお、このときには、合成比マップが自動的に生成されたことをユーザに通知してもよい。このような構成により、ユーザの操作回数を減らすことが期待される。
以上実施形態に基づいて本発明を説明したが、本発明は前述した実施形態に限定されるものではなく、本発明の要旨の範囲内で種々の変形や応用が可能なことは勿論である。例えば、前述した実施形態で示した撮像装置は、レンズ交換式のデジタルカメラである。しかしながら、本実施形態で想定される撮像装置は、デジタルカメラ以外の撮像機能を有する各種の装置、例えば内視鏡、顕微鏡、監視カメラ、車載カメラといった装置も含まれる。さらに、前述したように、本実施形態におけるHDR処理は再生モード中にも行われ得る。すなわち、本実施形態の技術においては必ずしも撮像動作は必要なく、露出の異なる複数の画像データが入力される各種の画像処理装置に対して本実施形態の技術は適用可能である。近年では、撮像時に様々な露出やピント位置の情報を取得しておき、画像合成用に記録しておく機器が増加しているからである。
また、前述の各動作フローチャートの説明において、便宜上「まず」、「次に」等を用いて動作を説明しているが、この順で動作を実施することが必須であることを意味するものではない。
また、前述した実施形態による各処理は、コンピュータである制御部216に実行させることができるプログラムとして記憶させておくこともできる。この他、磁気ディスク、光ディスク、半導体メモリ等の外部記憶装置の記憶媒体に格納して配布することができる。そして、制御部216は、この外部記憶装置の記憶媒体に記憶されたプログラムを読み込み、この読み込んだプログラムによって動作が制御されることにより、前述した処理を実行することができる。
本発明は、前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、各実施形態は適宜組み合わせて実施してもよく、その場合組み合わせた効果が得られる。さらに、前記実施形態には種々の発明が含まれており、開示される複数の構成要件から選択された組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、課題が解決でき、効果が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
例えば、本願出願の当初の特許請求の範囲に記載された発明の他に以下の発明が抽出され得る。
[1] タッチパネルを有し、当該タッチパネルの操作の位置とタッチパターンによって、第1の画像データの座標毎にHDR処理の際の合成比又はHDR処理時の合成画像の露出差を対応付けた合成比マップを生成する合成比マップ生成部と、
前記第1の画像データと前述の露出差の第2の画像データとを前記合成比マップに従って座標毎に合成するHDR処理を行う画像処理部と、
を具備する画像処理装置。