以下、本発明の一実施形態を、添付の図面に基づいて詳細に説明する。本実施形態の画像処理装置は、デジタルカメラやデジタルビデオカメラ、カメラ機能を備えたスマートフォンやタブレット端末等の各種携帯端末、工業用カメラ、車載カメラ、医療用カメラ等に適用可能である。本実施形態では、画像処理装置の一適用例として、デジタルカメラ等の撮像装置を挙げて説明する。また、本実施形態の撮像装置は、短い露光時間の撮影を短い時間間隔で連続して行って得た複数の画像から、長い露光時間で撮影された画像に相当する画像を逐次生成して画面上に逐次表示可能な機能を有している。本実施形態でも前述同様に、長い露光時間による撮影を長秒撮影と表記し、長秒撮影により得られる画像を長秒画像と表記する。また、短い露光時間による撮影を短秒撮影、短秒撮影により得られた画像を短秒画像、短い時間間隔で連続して行われた短秒撮影による複数の短秒画像を合成して生成される、長秒露光画像に相当する画像を、疑似長秒画像と表記する。
<本実施形態の撮像装置の概略構成>
図1は、本発明の画像処理装置の一実施形態としての撮像装置100の概略構成を示したブロック図である。図1に示した撮像装置100では、撮像装置100の各構成要素(各ブロック)が、例えばバスを介して接続されている。
システム制御部101は、例えばCPUであり、撮像装置100が備える各ブロックの制御プログラムを後述のROM102より読み出し、後述のRAM103に展開して実行することにより撮像装置100の各ブロックの動作を制御する。ROM102は、書き換え可能な不揮発性メモリであり、撮像装置100の各ブロックの制御プログラムに加え、各ブロックの動作に必要なパラメータ等を記憶する。RAM103は、書き換え可能な揮発性メモリであり、撮像装置100の各ブロックの動作により生成されたデータの一時的な記憶領域として用いられる。
光学系104は、ズームレンズ、フォーカスレンズを含むレンズ群、絞り、シャッター等を有して構成される。光学系104は、被写体等の光学像を撮像部105の撮像面上に結像させる。撮像部105は、例えばCCDやCMOSセンサー等の撮像素子であり、光学系104により撮像面上に結像された光学像を光電変換し、得られたアナログ画像信号を順次A/D変換部106に出力する。A/D変換部106は、入力されたアナログ画像信号をデジタル画像データに変換し、得られたデジタル画像データをRAM103に出力する。RAM103は、A/D変換部106から供給された画像データを一時的に記憶する。
画像処理部107は、RAM103に一時的に記憶された画像データに対して、ホワイトバランス調整、色補間、ガンマ処理、電子ズーム処理など、様々な画像処理を行う。また本実施形態の場合、画像処理部107は、疑似長秒画像生成のための画像処理をも行う。疑似長秒画像生成などの画像処理の詳細な説明は後述する。なお、画像処理部107における各画像処理は、CPU等がプログラムを実行することにより実現されてもよい。
表示部108は、液晶ディスプレイ(LCD)等の表示デバイスである。表示部108の画面上には、RAM103や後述する記録部109に記録された画像、ユーザからの指示を受け付けるための操作ユーザーインターフェイス画像等が表示される。また、表示部108には、撮像部105により撮像されているライブビュー画像の表示も行われる。詳細については後述するが、本実施形態では、短い時間間隔で連続して行われた短秒撮影による複数の短秒画像から逐次生成した疑似長秒画像を表示用画像とし、表示部108に逐次更新表示するような画像表示も可能となされている。
操作部110は、例えば表示部108の画面に設けられているいわゆるタッチセンサや、撮像装置100の筐体に設けられている各種ボタン、主に画像撮影の際に操作されるシャッターボタン等を含むユーザーインターフェイス部である。シャッターボタンは、いわゆる半押しと全押しの二段階の押下操作を検出可能なボタンである。シャッターボタンが半押しされたときには例えばピントや露出の固定などが行われ、全押しされたときに本撮影が行われる。また、シャッターボタンは、本実施形態における疑似長秒画像の撮影開始指示と撮影終了指示の際にも使用される。なお、シャッターボタンは、有線又は無線により撮像装置100と通信可能なリモートコントローラ等に設けられていてもよい。
<第1の実施形態>
以下、図1の撮像装置100における第1の実施形態の処理モードについて説明する。第1の実施形態の撮像装置100は、短い時間間隔で連続して行った短秒撮影による複数の短秒画像から逐次生成した疑似長秒画像を逐次更新表示する処理モードで動作可能となされている。以下、この処理モードを、疑似長秒モードと表記する。
図2は、疑似長秒モードにおける第1の実施形態の撮像装置100の動作を示すフローチャートである。図2のフローチャートに示す各ステップの処理は、ROM102に記憶されているプログラムに基づいてシステム制御部101が撮像装置100の各部を制御し、また画像処理部107への入力や出力を制御することにより実現される。このことは後述する他のフローチャートでも同様である。また、本実施形態において、撮像部105における短秒画像の撮像タイミングと、表示部108に表示される画像の表示更新タイミングとは、それぞれ独立して制御されている。以下、図2のフローチャートでは、ステップS201とステップS202からなる短秒画像の撮影の際の処理と、ステップS204以降からなる画像表示と記録の際の処理とに分けて説明する。
先ず、図2のステップS201からステップS203までの短秒画像の撮影の際の処理について説明する。
図2のフローチャートの処理は、例えば操作部110を介したユーザ(撮影者)からのモード指示等により本実施形態の撮像装置100が疑似長秒モードに移行したときにスタートする。疑似長秒モードに移行した後、操作部110を介してユーザから撮影開始指示が入力されると、システム制御部101は、短秒撮影の露出時間や撮影間隔等の撮影パラメータを設定する。そして、システム制御部101は、ステップS201において、撮像部105を制御し、撮影パラメータに従った撮像、つまり短秒画像を撮像させる。なお、本実施形態において、撮影開始指示は例えばシャッターボタンの全押しにより行われるとする。ステップS201の後、システム制御部101は、ステップS202に処理を進める。
ステップS202では、システム制御部101は、ステップS201で撮像部105により逐次撮像された短秒画像のデータを、入力画像のデータとして、逐次、メモリ(RAM103)に記憶させる。また、ステップS202の処理と並行して、システム制御部101は、ステップS203において、操作部110からユーザによる撮影終了指示を検出したか否か判断する。本実施形態において、撮影終了指示は、前述した撮影開始指示に使用されたシャッターボタンがユーザにより再度全押しされることで行われる。システム制御部101は、ステップS203で撮影終了指示を検出していないと判断(No)した場合にはステップS201に処理を戻し、撮像部105に短秒画像の撮影を続けさせる。すなわち、ステップS201からステップS203までの処理は、撮影終了指示を検出するまで繰り返し行われる処理である。したがって、撮像装置100では、ユーザより撮影終了指示がなされるまで、短秒画像の撮影とメモリへの記憶が行われる。一方、ステップS203で撮影終了指示を検出したと判断(Yes)した場合、システム制御部101は、ステップS204に処理を進める。
次に、ステップS204以降の画像表示と記録の際の処理の流れについて説明する。
ステップS204からステップS207までの処理は、システム制御部101による制御の下で画像処理部107により行われる処理である。ステップS204において、画像処理部107は、メモリ(RAM103)に記憶されている入力画像(短秒画像)のデータを取得する(メモリから読み出す)。ステップS204の後、画像処理部107は、ステップS205に処理を進める。
ステップS205では、画像処理部107は、メモリから読み出した短秒画像を縮小する画像縮小処理を行う。本実施形態の場合、撮像部105の撮像画像(短秒画像)の画素数は表示部108の表示画素数より大きいため、画像処理部107は、短秒画像を縮小する画像縮小処理を行う。ステップS205の後、画像処理部107は、ステップS206に処理を進める。
ステップS206では、画像処理部107は、ステップS205で縮小処理した短秒画像に対し、表示位置合わせの処理を行う。この表示位置合わせ処理は、本実施形態の撮像装置100が疑似長秒モードにおいてユーザにより手持ち撮影がなされる場合を想定して行われる処理であり、手持ち撮影による手振れが生じているときの位置ズレを吸収するために行われる。なお、手振れの検出や手振れによる位置ズレを吸収する処理等は公知の処理であるため、その図示や詳細な説明は省略する。ステップS206の後、画像処理部107は、ステップS207に処理を進める。
ステップS207では、画像処理部107は、縮小処理した短秒画像の合成処理を行う。本実施形態の場合、合成処理は、比較明合成処理と呼ばれる処理により行われる。比較明合成処理は、基準画像と合成対象画像の同座標の画素の輝度値を比較し、輝度値が高い方(明るい方)の画素を採用するようにして合成画像を生成するような処理である。詳細は後述するが、本実施形態の場合、時系列順で前のフレームの画像又は合成済みの画像を基準画像とし、時系列順で次のフレームの画像を合成対象画像として、それらの画像を比較明合成処理することで合成画像が生成される。なお、撮影が開始された直後で、画像が最初の一枚目のフレームの短秒画像しか存在しないときには、ステップS207では比較明合成処理は行われない。本実施形態では、このような比較明合成処理を逐次行っていくことにより、疑似長秒画像を生成する。本実施形態における比較明合成処理とそれにより生成される疑似長秒画像の詳細については、後述する図3において説明する。ステップS207の後、システム制御部101は、ステップS208に処理を進める。
ステップS208では、システム制御部101は、ステップS207で生成された疑似長秒画像を表示部108の画面上に表示させる。なお、撮影が開始された直後で、画像が最初の一枚目のフレームの短秒画像しか存在しない場合、ステップS208では、一枚目のフレームの短秒画像を縮小処理した画像の表示が行われる。また、システム制御部101は、疑似長秒画像の表示と共に、その疑似長秒画像を生成する際に用いられた短秒画像がそれぞれ撮像されたときの露光時間を加算して求めた秒数を、表示部108の画面上に表示させてもよい。例えば、短秒画像の露光時間がそれぞれ0.5秒で、疑似長秒画像の生成に用いられた短秒画像のフレーム数が10枚であった場合、システム制御部101は、それら10枚分の露出時間を加算した秒数である「5秒」の文字を表示させる。この秒数は、疑似長秒画像が、どの程度の露光時間の長秒撮影で得られる長秒画像に相当する画像であるかを表している。このように、疑似長秒画像と共に前述の秒数を表示することで、ユーザは、現在表示されている疑似長秒画像が、どの程度の長秒露光時間に相当する画像であるかを把握できるようになる。すなわち、ユーザは、その表示された秒数を、撮影終了指示を行うタイミングを決定する際の参考情報とすることができる。ステップS208の後、システム制御部101は、ステップS209に処理を進める。
ステップS209と次のステップS210の処理は、システム制御部101による制御の下、画像処理部107により行われる。ステップS209において、画像処理部107は、記録用画像の位置合わせ処理を行う。この場合の記録用画像とは、撮像部105にて取得されてメモリに蓄積されている短秒画像である。この短秒画像に対する位置合わせ処理は、例えば前述したステップS206における位置合わせ処理と同じ処理でもよいし、異なる処理でもよい。一般的に、記録用画像に対する位置合わせ処理は、撮影後の処理であり、かつ記録用画像に対する処理であるため、処理時間よりも精度を重視した処理であることが望ましい。
ステップS209の後、ステップS210の処理に進むと、画像処理部107は、撮像部105にて取得されてメモリに蓄積されている短秒画像の合成処理を行う。なお、撮影が開始された直後で、最初の一枚目のフレームの短秒画像のみしか取得されていないときには、ステップS209では合成処理は行われない。また、このときの合成処理は、前述したステップS207における合成処理と同様の比較明合成処理でもよいし、別の合成処理により疑似長秒画像を生成できるような処理が行われてもよい。別の合成処理としては、一例として、基準画像と合成対象画像の同座標の画素において、より高輝度の画素に対して、その輝度に応じた重みを持たせて加算平均するような合成処理を挙げることができる。この合成処理では、具体的には、基準画像と合成対象画像の同座標の画素に、輝度の重みに応じたゲインを乗算した後に加算平均することで合成画像が生成される。この合成処理によれば、例えば動いている被写体における合成の切り替わりが目立ち難い合成画像を得ることができる。そして、ステップS210における合成処理で生成された疑似長秒画像のデータは、後に、システム制御部101による制御の下、出力画像のデータとして記録部109に送られ、記録媒体に記録されることになる。記録用の疑似長秒画像のデータは、記録媒体に記録される場合だけでなく、ネットワーク等を介して出力等されてもよい。ステップS210の後、システム制御部101は、ステップS211に処理を進める。
ステップS211では、システム制御部101は、操作部110からユーザによる撮影終了指示を検出したか否かを判断する。撮影終了指示は、ステップS203の場合と同様に、ユーザが操作部110のシャッターボタンを全押しすることで行われる。システム制御部101は、ステップS211において、撮影終了指示が検出されていないと判断(No)した場合には、ステップS204に処理を戻す。これにより、次のフレームの短秒画像に対して前述したステップS204以降の処理が行われることになる。一方、ステップS211において、撮影終了指示が検出されたと判断(Yes)した場合には、システム制御部101は、図2のフローチャートの処理を終了する。
以下、比較明合成処理について具体例を挙げて説明する。
なお、以下の説明では、表示用の疑似長秒画像と記録用の疑似長秒画像を生成する際の短秒画像を区別せずに、短秒画像として説明する。
比較明合成処理は、前述したように、基準画像と合成対象画像の輝度を比較し、高輝度領域を合成対象画像の領域として採用することで合成画像を生成する処理である。本実施形態において、時系列順の複数の画像から疑似長秒画像を逐次生成する際には、時系列順で前の画像が基準画像となされ、時系列順で次の画像が合成対象画像となされ、それらを比較明合成するような処理が、時系列順に繰り返される。本実施形態の場合、時系列順の最初の1フレーム目の短秒画像は基準画像となり、次の2フレーム目の短秒画像は合成対象画像となる。さらに次の3フレーム目の短秒画像が合成対象画像となる際の基準画像には、1フレーム目と2フレーム目の比較明合成処理で生成された合成画像が用いられる。その後は、時系列順で前の比較明合成処理で生成された合成画像が基準画像となされ、時系列順で次のフレームの短秒画像が合成対象画像となされて、比較明合成を行うような処理が、時系列順に逐次繰り返される。したがって、例えば夜間にライトを点灯させて走行している自動車を撮像した時系列順の複数の短秒画像から疑似長秒画像を逐次生成した場合、ライトの光のような高輝度部分の軌跡が流れて、疑似的に長秒露光で撮影されたような画像が生成される。
図3を用い、本実施形態の撮像装置100において、例えば夜間にライトを点灯させて走行している自動車を撮像した時系列順の例えば三つの短秒画像A,B,Cから、比較明合成処理により疑似長秒画像が生成される様子を具体的に説明する。図3では、画像301が短秒画像Aであり、画像302が短秒画像Bであり、画像303が短秒画像Cであるとする。
図3の各短秒画像301,302,303には、それぞれ図中矢印に示す方向に走行している自動車321,322,323が被写体(移動体)として写っている。各短秒画像301,302,303の図中の矢印tは、被写体の自動車321,322,323が短秒撮影の露光時間内に移動した移動量と移動方向を表しているとする。なお、各自動車321,322,323の画像は、実際には、各短秒画像301,302,303の撮像時の露光時間内の移動量に応じて流れた画像となるが、図3では図示を簡略化するためにライトの光のみが流れた画像として描いている。これは後述する画像304,305についても同様とする。また、図3の例では、各自動車321,322,323の移動により流れたライトの光が、それぞれ光の軌跡311,312,313として描かれている。
この図3の例において、画像処理部107は、先ず時系列順で前の二つの短秒画像301と短秒画像302とを比較明合成処理330して合成画像304を生成する。比較明合成処理330で生成された合成画像304は、短秒画像301内のライトの光の軌跡311と、短秒画像302内のライトの光の軌跡312とが繋がった、光の軌跡314を有する画像となる。そして、この合成画像304は、短秒画像301と短秒画像302を基に合成された疑似長秒画像となる。なお、合成画像304の図中の矢印tは、短秒画像301と短秒画像302内の両矢印tを合わせたものとなり、疑似長秒画像(304)における長秒露光相当の時間内の自動車(321,322)の移動量と移動方向を表している。
さらに、画像処理部107は、短秒画像301及び短秒画像302から生成した合成画像304と、短秒画像301,302よりも時系列で後の短秒画像303とを、比較明合成処理331して合成画像305を生成する。比較明合成処理331で生成された合成画像305は、合成画像304内の光の軌跡314と、短秒画像303内の光の軌跡313とが繋がった、光の軌跡315を有する画像となる。そして、この合成画像305は、合成画像304と短秒画像303を基に生成された疑似長秒画像となる。なお、合成画像305の図中の矢印tは、合成画像304内の矢印tと短秒画像303内の両矢印tとを合わせたものとなり、疑似長秒画像(305)における長秒露光相当の時間内の自動車(321,322,323)の移動量と移動方向を表している。
次に、前述した撮像タイミングと表示更新タイミングについて、図4を参照しながら説明する。
図4において、撮影指示タイミング403は、ユーザが、撮影開始指示と撮影終了指示とを行ったタイミングを表している。具体的には、撮影指示タイミング403内の縦線431は、ユーザによりシャッターボタンが全押しされた際に操作部110から出力された信号を、システム制御部101が撮影開始指示の信号として検出したタイミングを表している。また、撮影指示タイミング403内の縦線432は、撮影が開始された後に、ユーザによりシャッターボタンが再度全押しされたことで操作部110から出力された信号を、システム制御部101が撮影終了指示の信号として検出したタイミングを表している。システム制御部101は、撮影終了指示を受け取ったか否かを、前述した図2のステップS203又はステップS211で判断している。
また、図4において、撮像タイミング401内の各縦線411は、撮影開始後にそれぞれ短秒画像のフレームが撮像されたタイミングを表している。すなわち、前述した図2のステップS201による短秒画像の撮像は、撮像タイミング401内の各縦線411で表されるタイミング毎に行われている。また、図2のステップS202とステップS203の処理は、一つのフレームの短秒画像の撮像が行われて次のフレームの短秒画像の撮像が行われるまでの間に行われる。このように、図2のステップS201からステップS203の処理は、ステップS203で撮影終了指示が検出されたと判断されるまで、撮像タイミング401の各縦線411で表されるタイミング毎に繰り返される。これにより、撮影開始指示から撮影終了指示までの間、時系列順に各短秒画像が取得されることになる。また、図4の例では、撮影開始後の時系列順に取得された各短秒画像のフレームが、それぞれ1,2,3,4,・・・の数字により表されている。
図4の表示更新タイミング402内の各縦線421は、表示部108において表示が更新されるタイミングを表している。すなわち、撮影開始直後の最初の一枚目のフレーム1の表示がなされた後、図2のステップS204からステップS208までで生成される表示用の各疑似長秒画像の表示の更新は、表示更新タイミング402内の各縦線421のタイミング毎に行われる。また、表示更新タイミング402内の"1〜2","1〜3","1〜4","1〜5",・・・の各数字は、疑似長秒画像が撮像タイミング401の何れのフレームを基に生成されたものであるかを表している。なお、表示更新タイミング402内の"1"は最初の一枚目のフレーム1を表している。例えば疑似長秒画像"1〜2"は、フレーム1とフレーム2の短秒画像から生成された画像であることを表し、疑似長秒画像"1〜3"は、疑似長秒画像"1〜2"とフレーム3の短秒画像とから生成された画像であることを表している。疑似長秒画像"1〜4"は、疑似長秒画像"1〜3"とフレーム4の短秒画像とから生成され、疑似長秒画像"1〜5"は、疑似長秒画像"1〜4"とフレーム5の短秒画像とから生成された画像であることを表している。以下同様である。また、図4から判るように、各疑似長秒画像"1〜2","1〜3","1〜4",・・・は、図2のステップS204〜S208に要する処理時間の分だけ、撮像タイミング401の各フレーム1,2,3,4,・・・からそれぞれ遅延している。なお、図2のステップS209とステップS210における記録用の疑似長秒画像の生成タイミングの図示は省略しているが、記録用の疑似長秒画像の生成タイミングは、図4の表示更新タイミング402より僅かに遅れたタイミングとなる。記録用の疑似長秒画像の生成タイミングの具体例については、後述する図6により詳細に説明する。
前述したように図4の例の場合、撮影指示タイミング403内の縦線432のタイミングで、ユーザから撮影終了指示が入力されている。また、ユーザから撮影終了指示が入力された時点では、撮像タイミング401の例に示されているように、撮像部105においてフレーム11の短秒画像の撮影が終わっている。一方で、前述したステップS204〜ステップS208の処理時間の遅延があるため、ユーザから撮影終了指示が入力された時点で表示部108に表示されているのは、疑似長秒画像"1〜7"になっている。ここで、ユーザは、表示部108の表示を見て疑似長秒画像の仕上がり具合を確認し、その表示されている疑似長秒画像が所望の仕上がり具合になったと判断したときに、撮影終了指示を入力すると考えられる。しがたって、図4の例において、ユーザが所望した仕上がり具合の疑似長秒画像は、撮影指示タイミング403で撮影終了指示が入力されたタイミング(縦線432)で、表示部108に表示されていた疑似長秒画像"1〜7"であると考えられる。
これに対し、ユーザから撮影終了指示が入力された時点において、撮像部105では既にフレーム1〜フレーム11までの各短秒画像の撮像が終わっている。したがって、ユーザから撮影終了指示が入力された時点では、図1のRAM103(メモリ)には、フレーム11(少なくともフレーム8〜11)までの短秒画像のデータが保持されていることになる。ここで、もしも、メモリに残っているフレーム11までの各短秒画像を用いた記録用の疑似長秒画像が生成されたとすると、その記録用の疑似長秒画像は、ユーザが所望した疑似長秒画像"1〜7"とは仕上がり具合が異なった画像になってしまう。なお、フレーム11までの各短秒画像を用いた疑似長秒画像は、表示更新タイミング402の例を用いて説明すると、縦線422のタイミングで生成される疑似長秒画像("1〜11")となる。すなわち、この疑似長秒画像("1〜11")は、ユーザが所望した疑似長秒画像"1〜7"とは仕上がり具合が異なった画像となる。
そこで、本実施形態の撮像装置100は、撮像タイミング401と、表示更新タイミング402及び図4には不図示の記録用の疑似長秒画像の生成タイミングとを、独立して制御可能となされている。すなわち、図2のフローチャートでは、ステップS203,S211で撮影終了指示が検出されたと判断(Yes)された場合には処理が終了され、ステップS204のメモリからの短秒画像の読み出し以降の処理(ステップS210までの処理)は行われない。したがって、ユーザから撮影終了指示が入力された時の記録用の疑似長秒画像は、表示用と同様に疑似長秒画像"1〜7"となり、ユーザが意図していないフレーム11の短秒画像までの疑似長秒画像("1〜11")が生成されることはない。
このように本実施形態の撮像装置100によれば、ユーザが撮影終了指示を入力した時点で表示部108に表示されている疑似長秒画像、つまりユーザが意図した仕上がりの疑似長秒画像が、記録用の疑似長秒画像として生成される。したがって、本実施形態によれば、ユーザが所望する仕上がりの疑似長秒画像が得られる。
また、本実施形態の撮像装置100の場合、撮影終了指示は、ユーザが例えばシャッターボタンを全押し操作することで行われる。ここで、シャッターボタンの全押し操作のように撮像装置100に対して物理的な力が加えられると、撮像装置100に振動等が伝わり撮影画像がぶれてしまう虞がある。この場合、そのぶれが生じた撮影画像を合成して疑似長秒画像が生成されると、画質が低下する虞がある。これに対し、本実施形態の場合、ユーザが撮影終了指示の入力のためにシャッターボタンを全押し操作した際に撮像部105で取得された短秒画像は、記録用の疑似長秒画像の生成には用いられないため、ぶれのない良好な画質の疑似長秒画像が得られる。
<第2の実施形態>
前述した第1の実施形態は、ユーザから撮影終了指示が入力された時点で合成処理が完了している疑似長秒画像を記録等する例となされている。以下の第2の実施形態においても第1の実施形態と同様に、撮影終了指示が入力された時点で合成処理が完了している疑似長秒画像を、ユーザが所望した仕上がりの画像とする。第2の実施形態の場合は、撮影終了指示が入力された時点で既にメモリに保持されてはいるが、疑似長秒画像の生成には使用されていない短秒画像のデータを用い、疑似長秒画像生成時の合成処理とは別の画像処理を行う。具体的には、第2の実施形態では、メモリに保持されているが疑似長秒画像の生成に使用しなかった短秒画像を用い、既に合成処理が完了している疑似長秒画像に対し、例えば低輝度領域(つまり暗部)のノイズを改善する処理を行って画質の向上を図る。なお、第2の実施形態における撮像装置100の概略構成は、前述した図1と同様であるため、その図示と各部の説明は省略する。
図5は、第2の実施形態において、疑似長秒モードで前述同様に疑似長秒画像を生成するとともに、その疑似長秒画像の生成に使用しなかった短秒画像を用いて、疑似長秒画像の暗部ノイズを改善する処理の流れを示すフローチャートである。図5のフローチャートにおいて、ステップS501からステップS511までの各処理は、図2のフローチャートのステップS201からステップS211での各処理とそれぞれ同じ処理であり、それらの説明は省略する。第2の実施形態の図5のフローチャートでは、ステップS512とステップS513の処理が追加されており、以下、これらステップS512とステップS513について説明する。
システム制御部101は、図5のステップS511において、操作部110を介してユーザからの撮影終了指示を検出したと判断(Yes)した場合、図5のステップS512に処理を進める。ステップS512の処理は、システム制御部101による制御の下で画像処理部107により行われる。
ステップS512では、画像処理部107は、撮影終了指示が入力された時点で既にメモリ(RAM103)に保持されてはいるが、疑似長秒画像の生成には使用されていない短秒画像(複数の短秒画像)のデータを、メモリから取得する。そして、画像処理部107は、メモリから取得したそれら各短秒画像を、画素毎に加算平均することで合成する。以下、この加算平均合成処理により生成される合成画像を、加算平均画像と表記する。なお、各短秒画像の加算平均合成処理は、各短秒画像の全体を加算平均合成する例の他に、各短秒画像の低輝度領域(暗部)のみを加算平均合成する処理であってもよい。複数の短秒画像を加算平均合成処理した加算平均画像は、加算平均によりノイズ成分が平滑化されてノイズが改善した画像になる。例えば夜間に撮影された短秒画像は特に低輝度領域である暗部でノイズの目立つ画像になり易いが、本実施形態のように複数の短秒画像を加算平均合成処理した場合は、それら暗部のノイズが改善された画像が得られる。ステップS512の後、画像処理部107は、ステップS513に処理を進める。
ステップS513では、画像処理部107は、出力画像生成処理として、ステップS510で生成した疑似長秒画像と、ステップS512で生成された加算平均画像とを用いて、比較暗合成処理を行う。本実施形態における比較暗合成処理は、ステップS512で生成された加算平均画像と、ステップS510で生成された疑似長秒画像とを、それぞれ所定輝度値と比較した結果に基づく合成処理である。具体的には、例えば所定輝度値以上の輝度値が高い領域は疑似長秒画像を、一方、所定輝度値よりも輝度値が低い領域は加算平均画像を採用するようにして、それら疑似長秒画像と加算平均画像を合成する。これにより、光の軌跡等の輝度が高い領域は疑似長秒画像の領域が採用され、背景の暗部等の輝度が低い領域は加算平均画像の領域が採用されるようになり、暗部のノイズが改善された疑似長秒画像が得られることになる。
また、ステップS513における合成処理は、基準画像と合成対象画像の同座標の画素の輝度値を比較して、輝度値が低い方(暗い方)の画素を採用するようにして合成画像を生成するような処理であってもよい。この例の場合、ステップS512で生成された加算平均画像が基準画像となされ、ステップS510で生成された疑似長秒画像が合成対象画像となされて、それら画像の合成処理が行われる。これにより、ステップS510で生成された疑似長秒画像の低輝度領域(輝度値が低い暗部)が、ステップS512で生成された加算平均画像の低輝度領域により置き換えられることになり、暗部のノイズが改善された疑似長秒画像が得られる。
以下、図5のステップS512とステップS513の処理について、図6と図7を用いてさらに詳細に説明する。図6の前に図7から説明する。
図7の画像701は、夜間にライトを点灯させて走行している自動車を撮像した三つの短秒画像A,B,Cから図5のステップS509〜ステップS510により生成された記録用の疑似長秒画像(疑似長秒画像A+B+C)であるとする。なお、疑似長秒画像701は、前述した図3の合成画像305(疑似長秒画像)で説明したのと同様の光の軌跡315を有する画像であるとする。また、図7の画像702と画像703は、撮影終了指示が入力された時点でメモリに保持されてはいるが、疑似長秒画像の生成には使用されていない短秒画像(短秒画像Dと短秒画像E)であるとする。また、疑似長秒画像701の領域711、短秒画像702の領域712、短秒画像703の領域713は、それぞれ暗い背景領域であるとする。なお、疑似長秒画像701は、それぞれ短い露光時間の短秒画像A,B,Cを比較明合成処理した画像であるため、暗い背景領域711は例えば適正露光の画像と比べるとSNが低く、暗部ノイズが多い領域になっていると考えられる。短秒画像D,Eについても同様に、短い露光時間の画像であるため、それぞれ暗い背景領域712,713は適正露光の画像と比べるとSNが低く、暗部ノイズが多い領域になっていると考えられる。
第2の実施形態では、図5のステップS512において、短秒画像702と短秒画像703とが加算平均合成処理721により合成される。加算平均合成処理721により得られた加算平均画像705は、前述したように暗い背景領域714の暗部ノイズが改善された画像となる。そして、第2の実施形態では、図5のステップS513において、加算平均画像705と疑似長秒画像701とが比較暗合成処理722により合成される。この比較暗合成処理722により得られた画像704は、疑似長秒画像701の暗い背景領域711が、加算平均画像705の暗い背景領域714により置き換えられた背景領域715を有する疑似長秒画像となる。すなわち、疑似長秒画像704は、暗部ノイズが改善した画像となる。第2の実施形態では、この暗部ノイズが改善された疑似長秒画像704が、出力画像生成処理により生成された出力画像、つまり最終的な記録用の疑似長秒画像となされる。
また、本実施形態では、疑似長秒画像701と加算平均画像705の合成処理が、比較暗合成処理722となされている例を挙げたが、比較暗合成処理722ではなく別の手法による合成処理であってもよい。例えば、画像処理部107は、前述した疑似長秒画像701を生成した際の短秒画像A,B,C、さらに短秒画像702(D),703(E)から、自動車等の移動体領域を検出し、その移動体領域におけるオプティカフフローを求めて動体判定を行う。そして画像処理部107は、疑似長秒画像701の中で、動体と判定された領域はそのまま用い、一方、動体でない領域(背景領域711)については、加算平均画像705の中の動体でない領域(背景領域714)により置き換えるような合成処理を行う。この例においても、暗部ノイズが改善された疑似長秒画像が得られる。
また前述の例では、疑似長秒画像701の背景領域711を、加算平均画像705の背景領域714により置き換える処理は、二値的に背景領域711を背景領域714に切り替える処理となされている。これら背景領域711を背景領域714に置き換える処理は、二値的な切り替え処理ではなく、例えば疑似長秒画像701の輝度情報を基に前述同様の重み付けを行って、その重みに応じたゲインを乗算した後に加算するような処理であってもよい。
次に、図6を用いて、前述した図5のフローチャートの処理が行われるタイミングについて説明する。なお、図6は前述した図4と同様にして表される図である。図6において、撮影指示タイミング603は、ユーザがシャッターボタンの操作により撮影開始指示と撮影終了指示とを行ったタイミングを表し、縦線631は撮影開始指示、縦線632は撮影終了指示がなされたタイミングを表している。また、撮像タイミング601内の各縦線611は撮影開始後に短秒画像の各フレームが撮像されたタイミングを表し、撮影開始後の時系列順に取得された各短秒画像のフレームがそれぞれ1,2,3,・・・で表されている。また、表示更新タイミング602内の各縦線621は表示が更新されるタイミングを表し、"1"は最初の一枚目のフレームを、"1〜2","1〜3",・・・は疑似長秒画像の生成に用いられた各フレームを表している。また、各疑似長秒画像"1〜2","1〜3",・・・は、図5のステップS504〜S508に要する処理時間の分だけ、撮像タイミング601の各フレーム1,2,3,・・・からそれぞれ遅延している。
図6において、記録画像生成タイミング604は、図5のステップS509〜ステップS510で記録用の疑似長秒画像が生成されるタイミングを表している。すなわち、撮影開始直後の最初の一枚目のフレーム1の短秒画像から最初の記録用の画像が生成された後、記録画像生成タイミング604内の各縦線641のタイミングで、逐次、記録用の疑似長秒画像が生成される。また、記録画像生成タイミング604の中の"1〜2","1〜3",・・・の数字は、記録用の疑似長秒画像が何れのフレームを基に生成されたものであるかを表している。なお、本実施形態の場合、図5に示すように、ステップS509〜ステップS510による記録用の疑似長秒画像の生成処理は、ステップS504〜ステップS508による表示用の疑似長秒画像の生成と表示処理の後に行われている。このため、図6に示すように、記録画像生成タイミング604は、表示更新タイミング602より僅かに遅れたタイミングとなっている。
図6の例では、撮影指示タイミング603内の縦線632のタイミングでユーザから撮影終了指示が入力され、その撮影終了指示の入力時点では撮像タイミング601のフレーム11の撮影が終わっている。一方、撮影終了指示の入力時点では、図5のステップS504〜ステップS508の処理時間による遅延があるため、表示部108には疑似長秒画像"1〜7"が表示されている。つまり、ユーザが所望した仕上がりの疑似長秒画像は、表示部108に表示されている疑似長秒画像"1〜7"であると考えられる。第2の実施形態の撮像装置100においても、前述の第1の実施形態の場合と同様に、記録用の疑似長秒画像は、撮影終了指示が入力された時点の疑似長秒画像、つまり疑似長秒画像"1〜7"となされる。このように第2の実施形態においても、第1の実施形態と同様、ユーザが撮影終了指示を入力した時点で表示されていた疑似長秒画像、つまりユーザが意図した仕上がりの疑似長秒画像が、記録用の疑似長秒画像として生成される。したがって、ユーザが所望する仕上がりの疑似長秒画像が得られる。
さらに、第2の実施形態の場合は、図5のステップS512とステップS513で説明したように、撮影終了指示入力時点で疑似長秒画像の生成に使用されていない各短秒画像を加算平均合成した加算平均画像と、疑似長秒画像とを比較暗合成する。なお、図6の例では、フレーム区間652で示されるフレーム8,9,10,11の各短秒画像が、撮影終了指示入力時点で疑似長秒画像の生成に使用されていない短秒画像である。一方、フレーム区間651で示される各フレーム1,2,3,・・・,7の各短秒画像は、撮影終了指示入力時点で疑似長秒画像の生成に使用された短秒画像である。前述した第1の実施形態では、フレーム区間652の各フレーム8,9,10,11の短秒画像は使用されないが、第2の実施形態では、これらフレーム8,9,10,11の各短秒画像を加算平均合成して加算平均画像が生成される。そして、第2の実施形態では、フレーム区間651の各フレームの短秒画像から生成された疑似長秒画像と、フレーム区間652の各フレームの短秒画像から生成された加算平均画像とが、比較暗合成処理される。図6の例では、記録画像生成タイミング604の縦線642のタイミングで、比較暗合成処理後の疑似長秒画像が生成されている。
前述したように、第2の実施形態では、第1の実施形態と同様に、ユーザが所望する仕上がりの疑似長秒画像を得ることができ、また、ぶれのない良好な画質の疑似長秒画像を得ることができる。さらに、第2の実施形態によれば、ユーザから撮影終了指示が入力された時点で疑似長秒画像の生成に用いなかった各短秒画像を加算平均合成した加算平均画像と、疑似長秒画像とを比較暗合成処理している。これにより、第2の実施形態では、暗部のノイズを改善した画質の良い疑似長秒画像を得ることができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、本発明は、上述の実施形態の各機能は回路(例えばASIC)とプログラムとの協働により実現することも可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。