以下、本発明の一実施形態を、添付の図面に基づいて詳細に説明する。本実施形態の画像処理装置は、デジタルカメラやデジタルビデオカメラ、カメラ機能を備えたスマートフォンやタブレット端末等の各種携帯端末、工業用カメラ、車載カメラ、医療用カメラ等に適用可能である。本実施形態では、画像処理装置の一適用例として、デジタルカメラ等の撮像装置を挙げて説明する。また、本実施形態の撮像装置は、短い露光時間の撮影を短い時間間隔で連続して行って得た複数の画像から、長い露光時間で撮影された画像に相当する画像を逐次生成して画面上に逐次表示可能な機能を有している。本実施形態でも前述同様に、長い露光時間による撮影を長秒撮影と表記し、長秒撮影により得られる画像を長秒画像と表記する。また、短い露光時間による撮影を短秒撮影、短秒撮影により得られた画像を短秒画像、短い時間間隔で連続して行われた短秒撮影による複数の短秒画像を合成して生成される、長秒露光画像に相当する画像を、デジタル長秒画像と表記する。
<本実施形態の撮像装置の概略構成>
図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の各部を制御し、また、撮像装置100の各部が動作することにより実現される。このことは後述する他のフローチャートでも同様である。
図2のフローチャートの処理は、例えば操作部110を介した撮影者からのモード指示等により本実施形態の撮像装置100がデジタル長秒モードに移行したときにスタートする。そして、デジタル長秒モードに移行すると、システム制御部101は、ステップS201の処理に進む。なお、デジタル長秒モードに移行した状態では、撮像部105がリアルタイムに撮像しているライブビュー画像(動画像)を、表示部108の画面上にリアルタイム表示するようなライブビュー表示が行われているとする。ステップS201とその次のステップS202の処理は、システム制御部101による制御の下、画像処理部107で行われる。
ステップS201では、画像処理部107は、ライブビュー表示のために撮像部105がリアルタイムに撮像している動画の撮像画像から、主要な被写体の画像領域を検出して着目領域(以下、着目被写体と表記する。)とする。具体的には、画像処理部107は、主被写体検出アルゴリズムを用いて、撮像部105による撮像画像から主要な被写体の画像領域(つまり着目領域)を着目被写体として検出する。主被写体検出アルゴリズムは既存の種々のアルゴリズムの何れかを用いることができ、その詳細な説明については省略する。また、被写体の検出は、例えば表示部108のライブビュー画面上で撮影者が所望の被写体をタッチ等した際のタッチ位置に基づいて行われてもよい。この場合、表示部108に設けられているタッチセンサから、撮影者によるタッチ位置の情報が、システム制御部101を介して画像処理部107に送られる。そして、画像処理部107は、撮像部105の撮像画像の中から、そのタッチ位置情報を基に着目被写体(主要被写体の画像領域)を決定する。なお、本実施形態のデジタル長秒モードにおいて想定される着目被写体としては、例えば、走行している自動車や打ち上げられた花火などの移動体を挙げることができる。もちろんこれらは一例であり、着目被写体はどのようなものであってもよい。ステップS201の後、システム制御部101は、ステップS202に処理を進める。
ステップS202では、画像処理部107は、ステップS201で決定した着目被写体の移動速度(以下、被写体速度と表記する。)を検出する。具体的には、画像処理部107は、被写体速度を表す情報として、着目被写体の移動方向と移動量を表す動きベクトルを求める。着目被写体の動きベクトルは、例えば時間軸上で連続した隣接フレーム画像間のパターンマッチングによる相関演算等を行うことにより求められる。本実施形態において、画像処理部107が求めた動きベクトルmvは下記式(1)で表せる。なお、式(1)中のmvxは水平方向(x軸方向)の動きベクトル成分であり水平方向の移動速度に相当し、mvyは垂直方向(y軸方向)の動きベクトル成分であり垂直方向の移動速度に相当する。ステップS202の後、システム制御部101は、ステップS203に処理を進める。
mv=(mvx,mvy) ・・・式(1)
ステップS203では、システム制御部101は、操作部110を介した撮影者からの撮影開始指示を検出したか否かを判定する。撮影開始指示は、撮影者が操作部110のシャッターボタンを全押しすることで行われる。システム制御部101は、ステップS203において、撮影開始指示が検出されていない場合(No)、デジタル長秒画像の生成のための本撮影処理には移行せず、ステップS204で処理フレームを更新してステップS201に処理を戻す。ステップS201〜ステップS204の処理は、ステップS203で撮影開始指示が検出されるまで、処理フレームを更新しながら繰り返される。なお、ここでの処理フレームの更新とは、画像処理部107に入力されるフレーム画像を、撮像部105がリアルタイムに撮像している動画の各フレームの順に更新していくことである。システム制御部101は、ステップS203において、撮影開始指示を検出した場合(Yes)、ステップS205以降のデジタル長秒画像の生成のための本撮影処理に進む。
本撮影処理に進むと、システム制御部101は、ステップS205において、短秒撮影の露出時間や撮影間隔等の撮影パラメータを設定する。ここで設定される短秒撮影の露出時間は、デジタル長秒画像の生成に使用される複数の短秒画像を逐次撮影する際の露出時間である。本実施形態では、短秒撮影の露出時間は1/30秒で固定の時間とする。また本実施形態では、デジタル長秒画像の生成に使用される各短秒画像の撮影フレームレートは30fps(フレーム/秒)、つまり各短秒画像の撮影フレーム間隔も1/30秒とする。なお、前述した特許文献1に記載の技術のように、短秒撮影の露出時間は着目被写体の移動速度に応じて動的に変化させてもよい。ステップS205の後、システム制御部101は、ステップS206に処理を進める。
ステップS206では、システム制御部101は、デジタル長秒画像を表示部108に表示する際の表示更新間隔の設定を行う。詳細は後述するが、システム制御部101は、例えば、着目被写体の移動速度が所定速度より速い場合には、所定の表示時間で着目被写体が画面の終端に到達するように、表示更新間隔を設定する。一方、システム制御部101は、例えば、着目被写体の移動速度が所定速度以下である場合には、表示更新間隔を撮影フレーム間隔と表示用画像の生成に要する処理時間とのうち、長い方の時間と略々等しくするように設定する。
以下、システム制御部101による表示更新間隔の制御の詳細について説明する。
図3は、図2のステップS206の表示更新間隔設定処理の詳細なフローチャートである。
システム制御部101は、ステップS301において最短更新間隔Tminを算出し、次にステップS302において表示更新間隔Tを算出し、そして、ステップS303において最長更新間隔Tmaxでクリップ処理を行う。ステップS303の後、システム制御部101は、図3のフローチャートの処理(図2のステップS206の処理)を終了して、図2のステップS207に処理を進める。
図3のステップS301、S302、S303で行われる各処理について、以下、詳細に説明する。
図4は、図3のステップS301の最短更新間隔Tminの算出処理のフローチャートである。
システム制御部101は、ステップS401において、表示用画像の生成に要する処理時間(表示用画像処理時間)を算出する。表示用画像処理時間は、図5に示すように、画像サイズ変換処理時間、位置合わせ処理時間、および合成処理時間から構成される。すなわち、表示用画像処理時間は、これら画像サイズ変換処理時間、位置合わせ処理時間、および合成処理時間を合計した時間となる。画像サイズ変換処理時間とは、撮像部105での撮像により得られた入力画像(撮像画像)のサイズを、表示部108の表示サイズに変換するのに要する処理時間である。位置合わせ処理時間および合成処理時間は、予め決まった所定の手順でそれら位置合わせ処理および合成処理を行うのに要する処理時間である。これら位置合わせ処理時間および合成処理時間は、それら各処理を担う画像処理部107(具体的にはCPUおよびASIC等)の駆動周波数等を基に、予め算出されているものとする。ステップS401の後、システム制御部101は、ステップS402に処理を進める。
ステップS402では、システム制御部101は、前述した撮影フレーム間隔と表示用画像処理時間とを比較し、撮影フレーム間隔の方が長いか否かを判断する。システム制御部101は、ステップS402において、撮影フレーム間隔の方が長いと判断した場合((Yes)にはステップS403に処理を進める。一方、システム制御部101は、ステップS402において、撮影フレーム間隔が表示用処理時間以下であると判断した場合(No)には、ステップS404に処理を進める。
ステップS403に進んだ場合、システム制御部101は、表示用画像の更新間隔に対し、撮影フレーム間隔の方がボトルネックとなっているとして、最短更新間隔Tminを撮影フレーム間隔とする。一方、ステップS404に進んだ場合、システム制御部101は、最短更新間隔Tminを表示用画像処理時間とする。ステップS403、ステップS404の後、システム制御部101は、図4のフローチャートの処理(図3のステップS301の処理)を終了して、図3のステップS302へ処理を進める。
図6は、図3のステップS302の表示更新間隔Tの算出処理の詳細なフローチャートである。
システム制御部101は、ステップS601において、移動体である着目被写体が、表示部108の画面内で移動することにより、画面の水平方向の終端に到達するまでの時間Txend、又は、画面の垂直方向の終端に到達するまでの時間Tyendを算出する。
図7は、水平方向の終端到達時間Txend、垂直方向の終端到達時間Tyendの算出処理を説明する図である。
図7は、撮像部105により撮像された入力画像700の一例を示し、入力画像700は撮像部105の撮影画角と略々一致した撮影画像であるとする。また、前述の図2のステップS201では入力画像700から着目被写体701として例えば自動車が検出され、ステップS202では着目被写体701の動きベクトルとして、図7の図中矢印702で表される動きベクトルmvが検出されているとする。なお、図7の例では、着目被写体701の動きベクトルを一つの動きベクトルmvのみで示している。また、図7の例において、入力画像700内における着目被写体701の位置(被写体位置)は、動きベクトルmvの矢印の始点703の位置であるとする。図7の場合、被写体位置は、入力画像700の座標系において動きベクトルmvの始点703の位置(R0(x0,y0))により表されている。
システム制御部101は、入力画像700の水平方向および垂直方向の画素数と、動きベクトルmvと、被写体位置R0(x0,y0)とを基に、被写体位置から動きベクトル方向の画像端部までの水平方向の画素数Lxと垂直方向の画素数Lyとを求める。これら水平方向の画素数Lxと垂直方向の画素数Lyは、撮影画角内において、着目被写体である自動車から、その移動方向の画角端部までの水平方向の距離と垂直方向の距離とに略々相当する。そして、自動車が等速移動しているとの仮定の下、システム制御部101は、自動車が移動することで、撮影画角内の水平方向の端部に到達する終端到達時間Txendと垂直方向の端部に到達する終端到達時間Tyendとを算出する。具体的には、システム制御部101は、下記の式(2)の演算により得られる値を水平方向の終端到達時間Txendとし、式(3)の演算により得られる値を垂直方向の終端到達時間Tyendとする。
Txend=(Lx/mvx)×(Tmin/Tf) ・・・式(2)
Tyend=(Ly/mvy)×(Tmin/Tf) ・・・式(3)
なお、式(2)、式(3)中のTfは撮影フレーム間隔であり、Tminは前述した最短更新間隔である。
すなわち、式(2)では、前述した水平方向の画素数(Lx)を水平方向の移動速度(mvx)で除算した時間に対し、(Tmin/Tf)の項が乗算されている。同様に、式(3)では、垂直方向の画素数(Ly)を垂直方向の移動速度(mvy)で除算した時間に対し、(Tmin/Tf)の項が乗算されている。(Tmin/Tf)の乗算項は、実際の撮影フレーム間隔Tfに対する最短更新間隔Tminの比率である。つまり、水平方向の終端到達時間Txendおよび垂直方向の終端到達時間Tyendは、仮に表示部108における合成画像の表示更新間隔が最短更新間隔Tminであった場合、表示部108において着目被写体が表示画面の端部に達する時間を意味する。
図6のフローチャートの説明に戻り、ステップS601の後、システム制御部101は、ステップS602に処理を進める。ステップS602では、システム制御部101は、終端到達時間Tendを決定する。ここでは、システム制御部101は、前述した水平方向の終端到達時間Txendと垂直方向の終端到達時間Tyendのうち、短い方の時間を、終端到達時間Tendとする。ステップS602の後、システム制御部101は、ステップS603に処理を進める。
ステップS603では、システム制御部101は、終端到達時間Tendが所定の表示時間Tviewよりも短いか否かを判定する。所定の表示時間Tviewは、撮影者が表示部108の表示画面上でデジタル長秒画像の仕上がり具合を判断して撮影終了の指示を出すのに十分な時間として、予め設定された時間である。
ここで、終端到達時間Tendが所定の表示時間Tviewよりも短い場合、最短更新間隔Tminで表示が更新される表示画面では、撮影者が仕上がり具合を判断する余裕を持てないほど着目被写体が速く移動しているということを意味する。ここで、終端到達時間Tendが所定の表示時間Tviewよりも短い場合とは、着目被写体の移動速度が所定速度より速いことを表している。したがって、システム制御部101は、ステップS603で終端到達時間Tendが所定の表示時間Tviewよりも短いと判定した場合(Yes)、ステップS604において、表示更新間隔Tを、最短更新間隔Tminより遅く(つまり長い時間に)設定する。すなわち、着目被写体の移動速度が所定速度より速い場合、システム制御部101は、所定の表示時間で着目被写体が画面の終端に到達するように表示更新間隔Tを遅らせる(広げる)ようにする。このとき、表示更新間隔Tを遅らせる(広げる)程度は、終端到達時間Tendに対する所定の表示時間Tviewの比(Tview/Tend)により表される。そして、システム制御部101は、例えば下記の式(4)により表示更新間隔Tを求める。
T=(Tview/Tend)×Tmin ・・・式(4)
この式(4)の演算を行うことにより、システム制御部101は、所定の表示時間Tviewで着目被写体が表示画面端に達するように、表示部108における表示更新間隔Tを設定できることになる。
一方、終端到達時間Tendが所定の表示時間Tview以上である場合、着目被写体の移動速度が遅いことを意味する。ここで、終端到達時間Tendが所定の表示時間Tview以上である場合とは、着目被写体の移動速度が所定速度以下であることを表している。したがって、システム制御部101は、ステップS603で終端到達時間Tendが所定の表示時間Tview以上であると判定した場合(No)には、ステップS605において表示更新間隔Tを最短更新間隔Tminに設定(T=Tmin)する。すなわち、着目被写体の移動速度が所定速度以下である場合、システム制御部101は、表示更新間隔Tを、撮影フレーム間隔と表示用画像処理時間とのうち、長い方の時間と略々等しくするように設定する。
図6のステップS604、ステップS605の後、システム制御部101は、図6のフローチャートの処理(図3のステップS302の処理)を終了して、図3のステップS303へ処理を進める。
図3のステップS303では、システム制御部101は、前述のように算出した表示更新間隔Tに対し、最長更新間隔Tmaxによるクリップ処理を行う。最長更新間隔Tmaxは、予め設定された値であるとする。図3のステップS303の後、システム制御部101は、図3のフローチャートの処理(図2のステップS206の処理)を終了して、図2のステップS207に処理を進める。
図2のステップS207の処理は、システム制御部101による制御の下で撮像部105により行われる処理である。ステップS207では、撮像部105は、前述した短秒撮影の露出時間による撮影を行う。ステップS207の後、システム制御部101は、ステップS208に処理を進める。
ステップS208では、システム制御部101は、ステップS207で撮像部105が撮像したフレームが間引き対象のフレームであるか否かを判断する。
以下、図8および図9を用いて、間引き対象のフレームか否かの判断処理について説明する。
図8は、表示更新間隔Tが最短更新間隔Tminに設定(T=Tmin)されている場合、すなわち着目被写体の移動速度が所定速度以下の場合における、撮像タイミングと表示更新タイミングの関係を示すタイムチャートである。この例では、表示更新間隔Tに対して前述した表示用画像処理時間の方がボトルネックとなっており、また、最短更新間隔Tminは撮影フレーム間隔Tfよりも例えば2倍長いと仮定した場合を挙げている。
図8の撮像タイミングにおいて、各縦線801はそれぞれ短秒画像のフレームが撮像されたタイミングを表しており、各縦線801の間隔は撮影フレーム間隔Tfとなっている。すなわち、短秒画像の撮像は、撮像タイミング内の各縦線801で表される撮影フレーム間隔Tf毎に行われている。なお、図8では、各縦線801のタイミングで順次撮像された各短秒画像のフレームが、撮像の時系列順に1,2,3,4,・・・の数字により表されている。
また、図8の表示更新タイミングにおいて、各縦線802は、表示部108の画面上でデジタル長秒画像の表示が更新されるタイミングを表している。すなわち、各デジタル長秒画像の表示更新は、表示更新タイミング内の各縦線802のタイミング毎に行われる。また、表示更新タイミング内の"1〜2","1〜3","1〜4","1〜5",・・・の各数字は、デジタル長秒画像が撮像タイミングの何れのフレームを基に生成されたものであるかを表している。それぞれ詳細については後述するが、例えばデジタル長秒画像"1〜2"は、フレーム1とフレーム2の短秒画像から生成された画像であること表している。また、デジタル長秒画像"1〜3"は、デジタル長秒画像"1〜2"とフレーム3の短秒画像とから生成された画像であることを表している。さらに、デジタル長秒画像"1〜4"は、デジタル長秒画像"1〜3"とフレーム4の短秒画像とから生成された画像であることを表している。以下同様である。なお、図8から判るように、各デジタル長秒画像"1〜2","1〜3","1〜4",・・・は、前述した表示用画像処理時間分だけ、撮像タイミングの各フレーム1,2,3,4,・・・からそれぞれ遅延している。
この図8に示すように、着目被写体の移動速度が遅い場合には、撮像部105で短秒画像が撮像されたタイミングに対し、表示部108でのデジタル長秒画像の表示更新タイミングが徐々に時間的に遅れていくことになる。本実施形態では、着目被写体の移動速度が速い場合には表示更新間隔Tを広げて表示更新タイミングを遅くし、撮影者がデジタル長秒画像の仕上がり具合を確認し易くするが、着目被写体の移動速度が元々遅い場合にまで表示更新タイミングを遅くする必要はない。このため、着目被写体の移動速度が元々遅いために、表示更新間隔Tが所定の間隔以上になる場合、短秒画像の撮像タイミングに対し、デジタル長秒画像の表示更新タイミングの時間的な遅れを少なくするために、例えばフレーム間引き処理を行う。
図9は、着目被写体の移動速度が遅く、撮像タイミングに対するデジタル長秒画像の表示更新タイミングの時間的遅れを少なくするために、フレーム間引き処理を行った場合の撮像タイミングと表示更新タイミングの関係を示すタイムチャートである。図9の例も、表示更新間隔Tが最短更新間隔Tminに設定(T=Tmin)され、最短更新間隔Tminは撮影フレーム間隔Tfよりも例えば2倍長いと仮定する。また、図9において、撮像タイミングの各縦線901及び903は図8の撮像タイミングの各縦線801と同様に表され、各短秒画像のフレームも図8同様にそれぞれ1,2,3,4,・・・の数字で表されている。図9の表示更新タイミングの各縦線902も図8同様に、デジタル長秒画像の表示が更新されるタイミングを表している。
ここで、図9の例において、撮像タイミングの中で点線により表されている各縦線903は、本実施形態のフレーム間引き処理が行われるタイミングを表している。すなわち、図9の例の場合、撮像タイミングの各フレーム(フレーム1,2,3,・・・)の中で、2フレームにつき1フレーム(フレーム3,5,7,・・・)が、フレーム間引き処理されることを表している。図9の場合、表示更新タイミングで表示が更新される各デジタル長秒画像は、フレーム間引きされなかった短秒画像のフレーム(フレーム1,2,4,6,・・・)から生成されたデジタル長秒画像"1〜2","1〜4","1〜6",・・・となる。なお、図9の例において、デジタル長秒画像"1〜2"は、フレーム1とフレーム2の短秒画像から生成された画像であること表している。デジタル長秒画像"1〜4"は、デジタル長秒画像"1〜2"とフレーム4の短秒画像とから生成された画像であることを表している。デジタル長秒画像"1〜6"は、デジタル長秒画像"1〜4"とフレーム6の短秒画像とから生成された画像であることを表している。以下同様である。
このように、本実施形態では、着目被写体の移動速度が遅い場合には、図9に示すようにフレーム間引き処理を行うことにより、撮像タイミングに対する表示更新のタイミングの遅れを少なくでき、表示画像の遅延が低減されている。
前述した図9には、表示更新間隔Tが撮影フレーム間隔Tfの2倍のとき、短秒画像の2フレームにつき1フレームを間引き処理する例を挙げている。本実施形態の場合、フレーム間引きの割合(以下、間引き率と表記する。)は、表示更新間隔Tと撮影フレーム間隔Tfとの比率に応じて決定されている。一例として、表示更新期間Tが1/15秒、撮影フレーム間隔Tfが1/30秒であった場合には、図9の例と同じように間引き率は1:2(2フレームにつき1フレームを間引くような割合)となる。本実施形態の場合、表示更新間隔Tは着目被写体の移動の速さにより変動するため、表示更新間隔Tと撮影フレーム間隔Tfとの比率も変化し、したがってその比率に応じて間引き率も変わることになる。
ただし、間引き率は、表示される画像(デジタル長秒画像)の画質に大きく影響し、例えば間引き率が高くなるほど、画質が低下する可能性がある。このため、本実施形態において、間引き率が所定の閾値割合以上になる場合には、間引き率を所定のクリップ割合にクリップすることで、画質の低下を抑えるようにする。なお、閾値割合とクリップ割合は、それぞれ予め決められた割合であってもよいし、撮影者が設定した割合であってもよい。
一方で、間引き率をクリップした場合には、撮像タイミングに対し表示更新タイミングが遅延することになる。したがって、間引き率をクリップした場合には、例えば後述する図2のステップS210で行われる位置合わせ処理を簡易化した処理にして処理時間を短縮することにより、表示更新タイミングの調整を行ってもよい。
位置合わせ処理を簡易化した処理としては、一例として、画像の位置を合わせるための幾何変換係数を算出する際の動きベクトルの個数を削減するような処理が挙げられる。すなわち、幾何変換係数の算出のためには、画像の局所位置での動きベクトルを所定の密度で複数算出するが、その密度を小さくして、動きベクトルの個数を減らすことで、処理を簡易化することができる。
本実施形態では、前述したように、着目被写体の移動速度が遅い場合、撮像タイミングに対する表示更新タイミングの時間遅れを少なくするフレーム間引きを行うため、システム制御部101は、図2のステップS208の判定処理を行う。ステップS208では、システム制御部101は、着目被写体の移動速度が遅い場合、表示更新間隔Tと撮影フレーム間隔Tfとの比率に応じて間引き率を決定し、その間引き率を基に、短秒画像のフレームが間引き対象のフレームか否かを判定する。
そして、システム制御部101は、ステップS208において、短秒画像のフレームが間引き対象のフレームであると判定した場合(Yes)には、ステップS213に処理を進める。この場合、後述するステップS209からステップS212までの表示用のデジタル長秒画像の生成処理がスキップされることになる。すなわち、間引き対象のフレームをデジタル長秒画像の生成に使用しないことによるフレーム間引きが実現される。一方、システム制御部101は、ステップS208において、短秒画像のフレームが間引き対象のフレームでないと判定した場合(No)には、ステップS209に処理を進める。
ステップS209からステップS211までは、システム制御部101による制御の下で画像処理部107が行う処理であり、表示用のデジタル長秒画像を生成するための処理である。
ステップS209では、画像処理部107は、システム制御部101により間引き対象のフレームでないと判定されたフレームの短秒画像を、表示部108の表示サイズに変換する。本実施形態の場合、撮像部105にて撮像された短秒画像の画素数は表示部108の表示画素数より大きいため、画像処理部107は、短秒画像を表示部108の表示サイズの画像に縮小処理する。ステップS209の後、画像処理部107は、ステップS210に処理を進める。
ステップS210では、画像処理部107は、ステップS209で変換された表示サイズ画像に対し、表示位置合わせの処理を行う。この表示位置合わせ処理は、本実施形態の撮像装置100がデジタル長秒モードにおいて撮影者により手持ち撮影がなされる場合を想定して行われる処理であり、手持ち撮影による手振れが生じているときの位置ズレを吸収するために行われる。なお、手振れの検出や手振れによる位置ズレを吸収する処理等は公知の処理であるため、その図示や詳細な説明は省略する。ステップS210の後、画像処理部107は、ステップS211に処理を進める。
ステップS211では、画像処理部107は、表示サイズ画像の合成処理を行う。本実施形態の場合、合成処理は、比較明合成処理と呼ばれる処理により行われる。比較明合成処理は、基準画像と合成対象画像の同座標の画素の輝度値を比較し、輝度値が高い方(明るい方)の画素を採用するようにして合成画像を生成するような処理である。詳細は後述するが、本実施形態の場合、時系列順で前のフレームの画像又は合成済みの画像を基準画像とし、時系列順で次のフレームの画像を合成対象画像として、それら画像を比較明合成処理することで合成画像が生成される。本実施形態では、このような比較明合成処理を逐次行っていくことにより、デジタル長秒画像を生成する。本実施形態における比較明合成処理とそれにより生成されるデジタル長秒画像の詳細については、後述する図10において説明する。ステップS211の後、システム制御部101は、ステップS212に処理を進める。
ステップS212では、システム制御部101は、ステップS211で生成されたデジタル長秒画像を表示部108の画面上に表示させる。ステップS212の後、システム制御部101は、ステップS213に処理を進める。
ステップS213では、システム制御部101は、操作部110から撮影者による撮影終了指示を検出したか否かを判断する。撮影終了指示は、撮影者が操作部110のシャッターボタンを全押しすることで行われる。システム制御部101は、ステップS213において、撮影終了指示が検出されていないと判断した場合(No)には、ステップS207に処理を戻す。これにより、ステップS207で撮像された次のフレームの短秒画像に対して前述したステップS208以降の処理が行われることになる。一方、ステップS213において、撮影終了指示が検出されたと判断した場合(Yes)には、システム制御部101は、ステップS214に処理を進める。
ステップS214と次のステップS215の処理は、システム制御部101による制御の下、画像処理部107により行われる。ステップS214において、画像処理部107は、記録用画像の位置合わせ処理を行う。この場合の記録用画像とは、撮像部105にて撮像された短秒画像(縮小されていない短秒画像)である。この記録用画像に対する位置合わせ処理は、例えば前述したステップS210の表示サイズ画像の位置合わせ処理と同じ処理でもよいし、異なる処理でもよい。一般的に、記録用画像に対する位置合わせ処理は、撮影後の処理であり、かつ記録用画像に対する処理であるため、処理時間よりも精度を重視した処理であることが望ましい。精度を重視した処理は、一例として、位置合わせのための幾何変換係数を算出する際のベクトルの密度を大きくすることや、幾何変換自体を例えばアフィン変換から射影変換にするなど、より精度の高いものにすることなどを挙げることができる。
ステップS214の後、ステップS215の処理に進むと、画像処理部107は、記録用画像の合成処理を行う。記録用画像の合成処理は、前述したステップS211の表示サイズ画像の合成処理と同様の比較明合成処理でもよいし、擬似的にデジタル長秒画像を生成できる別の処理であってもよい。擬似的にデジタル長秒画像を生成できる別の処理としては、一例として、撮像された短秒画像である時系列順の複数のRAW画像を加算し、それら加算後のRAW画像を現像するような処理を挙げることができる。加算される時系列順のRAW画像の枚数は、それらRAW画像の各露出時間の合計が所望の秒数になるような枚数とする。この例の場合、例えばシャッタースピードが1/30秒であった場合において、RAW画像のフレームを30枚加算すれば1秒露光相当となる記録用のデジタル長秒画像が得られることになる。
そして、ステップS215において生成された記録用のデジタル長秒画像のデータは、システム制御部101による制御の下、記録部109に送られ、記録媒体に記録される。記録用のデジタル長秒画像のデータは、記録媒体に記録される場合だけでなく、ネットワーク等を介して出力等されてもよい。ステップS215の後、システム制御部101は、図2のフローチャートの処理を終了する。
なお、図2のステップS201の主要被写体検出処理において、主要被写体に相当する被写体が複数検出された場合は、ステップS202では複数の被写体に対応した複数の被写体速度が検出されることになる。このように、複数の被写体速度が存在する場合、ステップS205以降の処理については、最も速い被写体速度を基に前述した各処理を行うものとする。
また、図4のステップS401で算出された表示用画像処理時間が所定時間よりも長い場合は、処理時間を低減するために、例えば前述したようにステップS210の表示サイズ画像位置合わせ処理を簡易化してもよい。
次に、前述した比較明合成処理について説明する。
なお、本実施形態において、表示用のデジタル長秒画像の生成で合成されるのは表示サイズ画像であり、記録用のデジタル長秒画像の生成で合成されるのは短秒画像であるが、以下の説明ではそれらを区別せずに短秒画像として説明する。
比較明合成処理は、前述したように、基準画像と合成対象画像の輝度を比較し、高輝度領域を合成対象画像の領域として採用することで合成画像を生成する処理である。本実施形態において、撮像された時系列順の複数の画像からデジタル長秒画像を逐次生成する際には、時系列順で前の画像が基準画像となされ、時系列順で次の画像が合成対象画像となされ、それらを比較明合成するような処理が、時系列順に繰り返される。本実施形態の場合、時系列順の最初の1フレーム目の短秒画像は基準画像となり、次の2フレーム目の短秒画像は合成対象画像となる。さらに次の3フレーム目の短秒画像が合成対象画像となる際の基準画像には、1フレーム目と2フレーム目の比較明合成処理で生成された合成画像が用いられる。その後は、時系列順で前の比較明合成処理で生成された合成画像が基準画像となされ、時系列順で次のフレームの短秒画像が合成対象画像となされて、比較明合成を行うような処理が、時系列順に逐次繰り返される。したがって、例えば夜間にライトを点灯させて走行している自動車を撮像した時系列順の複数の短秒画像からデジタル長秒画像を逐次生成した場合、ライトの光のような高輝度部分の軌跡が流れて、擬似的に長秒露光で撮影されたような画像が生成される。
図10を用い、本実施形態の撮像装置100において、例えば夜間にライトを点灯させて走行している自動車を撮像した時系列順の例えば三つの短秒画像A,B,Cから、比較明合成処理によりデジタル長秒画像が生成される様子を具体的に説明する。図10では、画像1000が短秒画像Aであり、画像1010が短秒画像Bであり、画像1020が短秒画像Cであるとする。
図10の各短秒画像1000,1010,1020には、それぞれ図中矢印に示す方向に走行している自動車1001,1011,1021が着目被写体(移動体)として写っている。各短秒画像1000,1010,1020の図中の矢印tは、着目被写体の自動車1001,1011,1021が短秒撮影の露光時間内に移動した移動量と移動方向を表しているとする。なお、各自動車1001,1011,1021の画像は、実際には、各短秒画像1000,1010,1020の撮像時の露光時間内の移動量に応じて流れた画像となるが、図10では図示を簡略化するためにライトの光のみが流れた画像として描いている。これは後述する画像1030,1040についても同様とする。また、図10の例では、各自動車1001,1011,1021の移動により流れたライトの光が、それぞれ光の軌跡1002,1012,1022として描かれている。
この図10の例において、画像処理部107は、先ず時系列順で前の二つの短秒画像1000と短秒画像1010とを比較明合成処理1050して合成画像1030を生成する。比較明合成処理1050で生成された合成画像1030は、短秒画像1000内のライトの光の軌跡1002と、短秒画像1010内のライトの光の軌跡1012とが繋がった、光の軌跡1032を有する画像となる。そして、この合成画像1030は、短秒画像1000と短秒画像1010を基に合成されたデジタル長秒画像となる。なお、合成画像1040の図中の矢印tは、短秒画像1000と短秒画像1010内の両矢印tを合わせたものとなり、デジタル長秒画像(1030)における長秒露光相当の時間内の自動車(1001,1011)の移動量と移動方向を表している。
さらに、画像処理部107は、短秒画像1000及び短秒画像1010から生成した合成画像1030と、短秒画像1000,1010よりも時系列で後の短秒画像1020とを、比較明合成処理1060して合成画像1040を生成する。比較明合成処理1060で生成された合成画像1040は、合成画像1030内の光の軌跡1032と、短秒画像1020内の光の軌跡1022とが繋がった、光の軌跡1042を有する画像となる。そして、この合成画像1040は、合成画像1030と短秒画像1020を基に生成されたデジタル長秒画像となる。合成画像1040の図中の矢印tは、合成画像1030内の矢印tと短秒画像1020内の両矢印tとを合わせたものとなり、デジタル長秒画像(1040)の長秒露光相当の時間内の自動車(1001,1011,1021)の移動量と移動方向を表している。
ここで例えば、短秒画像1000が前述した図8の撮像タイミングのフレーム1であり、短秒画像1010がフレーム2、短秒画像1020がフレーム3であったとすると、合成画像1030は、図8の表示更新タイミングのデジタル長秒画像"1〜2"となる。同様に、合成画像1040は、図8の表示更新タイミングのデジタル長秒画像"1〜3"となる。すなわちこの例の場合、表示部108では、デジタル長秒画像"1〜2"の合成画像1030が図8の表示更新期間Tだけ表示された後、次の表示更新タイミングでデジタル長秒画像"1〜3"の合成画像1040が更新表示されることになる。
以上説明したように、第1の実施形態の撮像装置100は、着目被写体の移動速度が速いほど、表示更新間隔が長くなるような制御が行われる。このため、着目被写体の移動速度が速い場合であっても、表示部108の画面上ではデジタル長秒画像の生成過程がゆっくり表示され、撮影者は、デジタル長秒画像の仕上がり具合を、余裕を持って判断することができるようになる。すなわち、本実施形態によれば、移動体の動きが速い場合であっても、撮影者は、デジタル長秒画像の仕上がり具合を確認でき、所望する仕上がり具合のデジタル長秒画像を得ることができる。
前述した実施形態では、高輝度の光の軌跡が合成されたデジタル長秒画像を生成する例を挙げたが、本実施形態における表示更新期間の制御は、デジタル長秒画像とは別の画像の生成処理にも適用可能である。例えば、所定の時間間隔毎に短秒撮影を行い、それら所定の時間間隔毎の撮影で得られた複数の短秒画像を1枚の画像に投影合成した画像の生成処理にも、本実施形態における表示更新期間の制御を適用可能である。なお、このような画像としては、例えばゴルフプレーヤーがゴルフクラブを振ってボールを打つ動作を一定間隔毎に撮影する連写を行って得られた複数の画像を一枚の画像に投影した合成画像(例えばいわゆるストロボ画像のような画像)が想定される。
この例の場合、表示部108の画面上には連写による各画像が順番に投影合成されるが、例えばゴルフプレーヤーがゴルフクラブを速く振った場合(スイング速度が速い場合)には、撮影者は画像の仕上がり具合を十分に確認できない可能性がある。すなわち、スイング速度が速い場合、撮影者が画像の仕上がりを確認する間もなくスイングが終わってしまい、撮影者は、望む仕上がりの画像が得られるタイミングで連写を止めることができない。これに対し、本実施形態の表示更新期間の制御を適用すれば、スイング速度が速い場合、連写による各画像が画面上に順番に投影されて合成される画像の表示更新間隔が長くなるように制御されるため、スイングの過程がゆっくり表示されるようになる。このため、撮影者は、表示部108の画面上で画像の仕上がり具合を確認しつつ、所望の仕上がり具合の画像が得られたタイミングで連写を止めることができる。このように、所定の時間間隔毎の撮影で得られた複数の短秒画像を1枚の画像に投影合成した画像の生成処理においても、本実施形態の表示更新期間の制御を行うことで、撮影者は、所望の仕上がり具合の画像を得ることができる。
<第2の実施形態の画像処理>
前述した第1の実施形態では、着目被写体の移動速度を動きベクトルから求めたが、以下の第2の実施形態では、外部から着目被写体の移動速度に準ずるパラメータを取得する撮像装置100について説明する。本実施形態では、外部から着目被写体の移動速度に準ずるパラメータを取得する例として、撮影者(ユーザ)が操作部110を介して入力する操作指示に基づくパラメータを例に挙げている。なお、第2の実施形態における撮像装置100の概略構成は、前述した図1と同様であるため、その図示と各部の説明は省略する。
図11は、第2の実施形態の撮像装置100におけるデジタル長秒モード時の動作を示すフローチャートである。図11のフローチャートに示す各ステップの処理は、概ねシステム制御部101と画像処理部107により行われるが、例えば本実施形態に係るプログラムをCPU等が実行することにより実現されてもよい。
図11のフローチャートでは、概ね、主要被写体の検出処理及び速度検出処理が行われない点と、表示更新間隔の設定処理が短秒画像の撮影前に行われる点とが、前述した図2のフローチャートの処理とは異なる。なお、図11のステップS1103は図2のステップS204と同様の処理であり、また、ステップS1102はステップS203、ステップS1104はステップS205、ステップS1105〜S1113はステップS207〜S215と同様の処理である。第2の実施形態において、以下、第1の実施形態の場合と同様の処理の説明は適宜省略し、第1の実施形態とは異なる処理、具体的には図11のステップS1101の表示更新間隔設定処理について説明する。
第2の実施形態の場合、システム制御部101は、デジタル長秒モードに移行すると、先ずステップS1101において、表示用画像であるデジタル長秒画像を表示部108に表示する際の表示更新間隔の設定を行う。
図12は、ステップS1101の表示更新間隔の設定処理の際に、表示部108に表示される設定画面1200の一例を示す図である。図12に示したように、設定画面1200には、撮影者に対して着目被写体の速さの設定を要求するためのメッセージ1203と、スライドレールアイコン1201と、スライドレバーアイコン1202とが表示される。スライドレバーアイコン1202は、表示部108に設けられたタッチセンサを介して撮影者からスライド操作が行われた場合、そのスライド操作に応じて、スライドレールアイコン1201内で左右方向にスライド可能に表示される。スライドレールアイコン1201には、速さの設定値として、左端に最も遅い速度の設定値"1(遅い)"が対応付けられ、右端に向かって徐々に速い速度の設定値が対応付けられ、右端に最も速い速度の設定値"5(速い)"が対応付けられている。なお、図12では、速度が"1(遅い)"〜"5(速い)"の5段階に設定可能な例を挙げているが、5段階に限らず、更に細かく設定可能になされてもよい。
システム制御部101は、スライドレールアイコン1201内のスライドレバーアイコン1202の位置に応じた速度の設定値を、着目被写体の移動速度のパラメータとして取得する。そして、システム制御部101は、スライドレールアイコン1201の中のスライドレバーアイコン1202の位置に応じた被写体速度のパラメータ(速度の設定値)を基に、表示更新間隔を決定する。具体的には、システム制御部101は、例えば図13に示すような5段階で表される被写体速度と表示更新間隔との対応特性を用い、図12の設定画面で撮影者により設定された被写体速度(パラメータ)に応じた表示更新間隔を決定する。ここで、図13に示した対応特性は、被写体速度が速いほど表示更新間隔が長くなるような特性として、例えば予め用意若しくは生成されている。また、図13において、最も遅い被写体速度("1(遅い)")に対応した最小の表示更新間隔は、前述した第1の実施形態で説明した最短更新間隔Tminとなされている。
第2の実施形態においても前述した第1の実施形態の場合と同様に、被写体の移動速度が速いほど、表示更新間隔が長くなるように制御される。したがって、被写体の移動速度が速い場合であっても、撮影者は、デジタル長秒画像の仕上がり具合を、余裕を持って判断でき、これにより所望の仕上がり具合のデジタル長秒画像を得ることができる。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記録媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、本発明は、上述の実施形態の各機能は回路(例えばASIC)とプログラムとの協働により実現することも可能である。
上述の実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明は、その技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。