(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0008】
以下、図面を参照して本発明を実施するための形態について説明する。
(第一の実施形態)
図1は、本発明の第一の実施形態によるデジタルカメラ1の構成を例示するブロック図である。デジタルカメラ1は、複数フレームの静止画像に基づいて、静止画像の一部領域を動的に表現する「動き表現」に用いる領域を適切に選ぶ。「動き表現」は、静止画という時間の止まった世界の中で、一部領域だけ時間が進行しているかのような異質な世界を表現するものである。
【0009】
以下、デジタルカメラ1の詳細について説明する。
図1において、撮影レンズ11は、撮像素子12の撮像面に被写体像を結像させる。なお、
図1では、撮影レンズ11がカメラと一体的に形成された(撮影レンズが着脱不能な)デジタルカメラ1を例示したが、カメラボディと、そのカメラボディに着脱可能な交換レンズからなるカメラシステムによって構成してもよい。その場合は、
図1の符号11および21からなる構成が交換レンズ側に含まれ、その他の符号からなる構成がカメラボディ側に含まれる。
【0010】
CPU16は、図示しないシャッターボタンの半押し操作に連動して半押しスイッチ20aがオンすると、AE(自動露出)演算およびオートフォーカス(AF)処理を行わせて、撮影レンズ11を構成するフォーカシングレンズ(不図示)を光軸方向(
図1において矢印方向)に進退移動させる。これにより、撮影レンズ11の焦点位置が自動調節される。フォーカシングレンズ(不図示)の駆動は、CPU16から指示を受けたレンズ駆動部21が行う。
【0011】
撮像素子12は、CMOSイメージセンサなどによって構成される。撮像素子12は、撮像面上に結像された被写体像を撮像する。撮像素子12から出力された撮像信号は、A/D変換部13においてアナログ信号からデジタル信号に変換される。画像処理部14は、デジタル画像信号に対して所定の画像処理を行う。
【0012】
液晶モニタ15は、撮像素子12で撮像された画像、後述するバッファメモリ18、あるいはメモリカード50に記憶される画像を表示すると共に、CPU16からの指示に応じて、画像やアイコン、操作メニューなどを表示する。液晶モニタ15の表示面にはタッチ操作部材15aが積層されている。タッチ操作部材15aは、表示画面上のタッチ位置を示す信号をCPU16へ送出する。音響処理回路23は、マイク22で集音された音響信号を増幅し、増幅後の信号をA/D変換回路(不図示)によってデジタル音響データに変換する。
【0013】
フラッシュメモリ17は、CPU16が実行するプログラムや、実行処理に必要なデータなどを格納する。フラッシュメモリ17が格納するプログラムやデータの内容は、CPU16からの指示によって追加、変更が可能に構成されている。
【0014】
CPU16は、例えばバッファメモリ18を作業領域として制御プログラムを実行し、カメラ各部に対する種々の制御を行う。バッファメモリ18は、画像データを一時的に記憶する場合にも使用される。本実施形態によるデジタルカメラ1では、撮影指示(シャッターボタンの全押し操作)前に撮像素子12によって所定のフレームレートで取得される複数フレームの画像(先撮り画像と呼ぶ)や、撮影指示後に撮像素子12によって所定のフレームレートで取得される複数フレームの画像(後撮り画像と呼ぶ)を一時的に記憶する場合にも使用される。
【0015】
画像処理部14は、デジタル画像信号に対する画像処理以外に、画像信号を格納した所定形式の画像ファイル(例えば Exif ファイル)を生成する。記録再生部19は、CPU16からの指示に基づいて画像ファイルをメモリカード50に記録(保存)し、また、メモリカード50に記録(保存)されている画像ファイルを読み出す。記録再生部19はさらに、音響データを格納した音響ファイルをメモリカード50に記録(保存)し、メモリカード50に記録(保存)されている音響ファイルを読み出す。
【0016】
メモリカード50は、図示しないカードスロットに着脱自在に取り付けられる記録媒体である。CPU16は、記録再生部19によってメモリカード50から読み出された画像ファイル、または撮影後バッファメモリ18に記憶されている画像データに基づいて、液晶モニタ15に撮影画像を再生表示させる。また、CPU16は、記録再生部19によってメモリカード50から読み出された音響ファイルに基づいて、不図示のスピーカによって音声を再生することもできる。
【0017】
操作部材20は、上記半押しスイッチ20aや、シャッターボタンの全押し操作に伴ってオンする全押しスイッチ20b、およびモード切替えスイッチなどを含み、各部材の操作に伴う操作信号をCPU16へ送出する。
【0018】
半押しスイッチ20aからのオン信号(半押し操作信号)は、シャッターボタンが通常ストロークの半分程度まで押し下げ操作されると出力され、半ストロークの押し下げ操作解除で出力が解除される。全押しスイッチ20bからのオン信号(全押し操作信号)は、シャッターボタンが通常ストロークまで押し下げ操作されると出力され、通常ストロークの押し下げ操作が解除されると出力が解除される。
【0019】
<撮影モード>
上記デジタルカメラ1は、「通常の撮影モード」と、「先撮り撮影モード」とを有する。「通常の撮影モード」は、上記全押し操作信号に応じて1フレームずつ撮影画像を取得してメモリカード50へ記録する撮影モードである。「先撮り撮影モード」は、静止画像を所定のフレームレート(例えば毎秒120フレーム)で取得し、上記全押し操作信号を受けると当該全押し操作信号を受けた時点の前後において取得した複数フレームの画像(上記先撮り画像と後撮り画像)のうち、所定の画像をメモリカード50へ記録する撮影モードである。各撮影モードは、操作部材20またはタッチ操作部材15aからの操作信号に応じて切替え可能に構成されている。
【0020】
<再生モード>
再生モードのデジタルカメラ1は、「通常の撮影モード」または「先撮り撮影モード」において記録された画像をフレームごとに、あるいは所定数のフレームごとに、液晶モニタ15に再生表示する。また、「動き表現」する場合は、「先撮り撮影モード」で取得された複数フレームの画像に基づいて、静止画像の中で変化する対象物を動的に表現するように、液晶モニタ15に再生表示を行う。
【0021】
<動き表現>
本実施形態によるデジタルカメラ1は、上記「動き表現」処理に特徴を有するので、以降はこの点を中心に説明する。「動き表現」処理のオン/オフは、操作部材20またはタッチ操作部材15aからの操作信号に応じて切替え可能に構成されている。再生モードであって、かつ「動き表現」処理がオンされたデジタルカメラ1は、「先撮り撮影モード」で取得された複数フレームの画像に基づいて、「動き表現」に適したフレームを選び、選んだフレームの画像を用いて液晶モニタ15に再生表示する。以下、複数フレーム画像の取得、「動き表現」に適したフレームの選択、および「動き表現」のための画像生成について順に説明する。
【0022】
−複数フレーム画像の取得−
ユーザーは、例えばデジタルカメラ1を手持ちして、または三脚に固定して、複数フレームの画像を取得する。
図2は、「先撮り撮影モード」における画像の取得タイミングを説明する図である。
図2において、時刻t0に「先撮り撮影モード」が起動されると、CPU16は撮影待機処理を開始させる。撮影待機処理では、上記所定のフレームレートで被写体像を撮像して露出演算やフォーカス調節を行うとともに、取得した画像データを逐次バッファメモリ18へ記憶する。
【0023】
「先撮り撮影モード」において先撮り画像と後撮り画像の記憶に使用するバッファメモリ18のメモリ容量は、あらかじめ十分な容量が確保されている。CPU16は、時刻t0以降にバッファメモリ18内に記憶したフレーム画像のフレーム枚数が所定枚数(例えばA枚)に達した場合には、古いフレーム画像から順に上書き消去する。これにより、「先撮り撮影モード」において先撮り画像と後撮り画像の記憶に使用するバッファメモリ18のメモリ容量を制限できる。
【0024】
時刻t1に全押し操作信号が入力されると、CPU16は撮影処理を開始させる。撮影処理では、時刻t1以前に先撮りしたA枚のフレーム画像と、時刻t1以降に後撮りされるB枚のフレーム画像とを合わせた(A+B)枚のフレーム画像をメモリカード50への記録候補画像とする。
図2における黒い帯は、記録候補画像である(A+B)枚のフレーム画像が取得される区間を表す。斜線の帯は、バッファメモリ18に一旦は記憶されたものの、上書き消去されたフレーム画像が取得された区間を表す。
【0025】
CPU16は、設定されている記録方式に基づいて、記録候補画像のうち所定のフレーム画像をメモリカード50に記録する。本実施形態によるデジタルカメラ1では、(A+B)枚全てのフレーム画像をメモリカード50に記録するものとする。
【0026】
―「動き表現」に適したフレームの選択―
CPU16は、メモリカード50に記録された複数フレームの画像に基づいて、「動き表現」に適したフレームを選ぶ。具体的には、静止領域(背景)として用いるフレームSと、フレームSより時間的に前に取得されたフレームPと、フレームSより時間的に後に取得されたフレームQとを、(A+B)枚のフレーム画像の中から選ぶ。
【0027】
―フレームS―
本実施形態によるデジタルカメラ1のCPU16は、ユーザー操作によって指示されたフレーム画像をフレームSとする。具体的には、CPU16が記録再生部19へ指示を送り、メモリカード50に記録されている(A+B)枚のフレーム画像に基づいて、各フレームのサムネイル画像を
図3に例示するように液晶モニタ15の画面に並べて表示させる。(A+B)枚のサムネイル画像が一画面に収まらない場合のCPU16は、ユーザー操作に応じて画面をスクロールさせることにより、ユーザーが意図するサムネイル画像を液晶モニタ15に表示させる。
【0028】
また、(A+B)枚のフレーム画像の組がメモリカード50に複数記録されている場合、CPU16は、タッチ操作部材15aからの操作信号が示す組のサムネイル画像を液晶モニタ15に表示させる。
【0029】
ユーザーは、
図3に例示した液晶モニタ15の画面上で、「動き表現」の際に静止領域(背景)として用いたいフレームをタッチ操作で選ぶ。CPU16は、タッチ操作部材15aからの操作信号が示すサムネイル画像Xに対応するフレーム画像をフレームSとする。CPU16は、フレームSを決定すると記録再生部19へ指示を送り、メモリカード50から読み出したフレームSの画像を
図4に例示するように液晶モニタ15の画面上に表示させる。
【0030】
ユーザーは、「動き表現」の際に静止領域(背景)上で動かしたい対象物を、液晶モニタ15の画面上においてタッチ操作で選ぶ、CPU16は、フレームSにおいてタッチ操作部材15aからの操作信号に応じた矩形領域を示すマークmをフレームSの画像上に重ね表示させ、マークmで囲まれる範囲を動体領域とする。
【0031】
―フレームP、フレームQ―
CPU16は、上記フレームSより時間的に前に取得されたフレーム画像からフレームPを選ぶ。また、CPU16は、上記フレームSより時間的に後に取得されたフレーム画像からフレームQを選ぶ。
図5(a)は、航空機を対象物とし、この航空機が画面左から右へ移動する場面を撮影したフレームf1、フレームf2、…フレームfA、フレームf(A+1)、フレームf(A+2)…、フレームf(A+B)の画像を例示する図である。本例では、フレームf(A+1)が上記フレームSに対応する。このため、フレームf1からフレームfAまでがフレームPの候補に対応し、フレームf(A+2)からフレームf(A+B)までがフレームQの候補に対応する。
【0032】
図5(a)のフレームf(A+1)(すなわちフレームS)における動体領域m(A+1)は、
図4において決定した動体領域に対応する。CPU16は、例えば動体領域m(A+1)をテンプレートとして、
図5(a)のフレームf(A+1)(すなわちフレームS)以外の他のフレーム画像から、テンプレートマッチング手法によって動体領域を抽出する。
図5(a)のm1、m2、…mA、m(A+1)、…、m(A+B)は、各フレームにおける動体領域を表す。
【0033】
図5(b)は、フレームf(A+1)(すなわちフレームS)における動体領域m(A+1)、および非動体領域(すなわち静止領域)を例示する図である。斜線を引いた領域が非動体領域を表す。次に、CPU16は、
図5(a)の各フレーム画像からそれぞれの動体領域を除外した非動体領域において2以上の特徴点を抽出する。
【0034】
図5において、複数の黒点は特徴点を表す。画像間の位置合わせに適した特徴点の抽出は、例えば、Lowe, David G. (1999). "Object recognition from local scale-invariant features". Proceedings of the International Conference on Computer Vision. 2. pp.1150-1157.などに開示される公知の技術を用いることができる。
【0035】
CPU16は、フレームf1、フレームf2、…フレームfA、フレームf(A+1)、フレームf(A+2)…、フレームf(A+B)間でそれぞれ特徴点の対応付けを行い、非動体領域(すなわち静止領域)を基準にフレーム間の画像の位置合わせを行う。CPU16はさらに、動体領域においても2以上の特徴点を抽出する。そして、各フレームにおける非動体領域の特徴点と動体領域の特徴点の位置関係に基づいて、各フレームにおける動体領域の位置を、フレームf(A+1)(すなわちフレームS)における非動体領域の例えば特徴点を基準に表す。
【0036】
図5(a)の場合、フレームPの候補となるフレームでは、隣接フレームとの間でそれぞれ差分が生じている。CPU16は、対象物と背景の特徴点との相対的な距離が所定範囲内であるフレームfAをフレームPとして選ぶ。なお、フレームPは複数選んでもよい。例えば、フレームf2における対象物と背景の特徴点との相対的な距離が所定範囲内である場合には、フレームf2とフレームfAを、それぞれフレームPとして選ぶ。一般に、フレームPを構成するフレーム数を多くすると、「動き表現」を滑らかにできる。なお、対象物と背景の特徴点との相対的な距離が所定範囲を超える場合は、その対象物がフレームSの画面外に外れるおそれがあるので、フレームPとして適さない。この点について以下に説明する。
【0037】
例えば、
図5(a)において、フレームSとして用いられるフレームf(A+1)の背景(山の頂上の左)の特徴点の画面内のX座標をXA1、これに対応するフレームf1の特徴点の画面内のX座標をX1とする。ここで、X座標の基準(原点)を各フレームの画面左端として、ここでは仮に、X1の座標値が座標値XA1よりも大きいものとする。フレームf1における対象物をフレームf(A+1)の背景に合成する際には、合成しようとする対象物とフレームf(A+1)の背景の特徴点との相対的な位置関係が、フレームf1における対象物とフレームf1における背景の特徴点との相対的位置関係と等しくなるように合成処理が施される。従って、例えば、X1の座標値が座標値XA1よりも大きいものとし、フレームf1における対象物の画面内のX座標が小さい場合(画面左端近傍に存在している場合)には、フレームf(A+1)における対象物(m1)は、フレームf(A+1)からはみだすこととなる。対象物をフレームSに合成した際に、このようなはみ出しが発生するか否かは、フレームf1における背景の特徴点と対象物とのX座標値の差分が、座標値XA1に比較して大きいか否かによって判断することができる。すなわち、フレームf1における背景の特徴点と対象物とのX座標値の差分が、フレームf(Al+1)上の対応する特徴点の座標値XA1より大きい場合には、フレームf(A+1)において、対象物が画面からはみだしてしまうこととなる。上記の例では、画面の左方向のはみだしについて説明したが、後述する画面右方向、あるいは画面の縦方向など左方向以外の方向についても同様である。
【0038】
また、
図5(a)の場合、フレームQの候補となるフレームでも、隣接フレームとの間でそれぞれ差分が生じている。また、静止領域(背景)として用いるフレームS以外のフレームにおける対象物は、いずれも同じ航空機であって形状は等しく、大きさも変化がないので、対象物間の類似度は高く所定値以上となる。CPU16は、対象物と背景の特徴点との相対的な距離が所定範囲内であるフレームf(A+2)およびf(A+3)をフレームQとして選ぶ。フレームPの場合と同様に、フレームQを構成するフレーム数を多くすると、「動き表現」を滑らかにできる。なお、上述のフレームPの説明と同様に、対象物と背景の特徴点との相対的な距離が所定範囲を超える場合は、その対象物がフレームSの画面外に外れるおそれがあるので、フレームQとして適さない。このようなフレームが、フレームQ、あるいは前述のフレームPとして選択された場合には、操作者に対して警告を行う構成とすることができる。また、フレームS、及び対象物が指定された後に、上記のフレームP、フレームQとしての適否を自動的に判断した上で、CPU16が、フレームP、フレームQを自動的に選択する構成としてもよい。
【0039】
CPU16は、上述するように選んだフレームS、フレームP(フレームfA)、およびフレームQ(フレームf(A+2)とフレームf(A+3))を合成して静止画像(フレームS)上において動体領域を動的に表現する。具体的には、フレームSの一部を構成する動体領域に代えて、他のフレームの動体領域を、フレームSにおいて対応する位置へ所定時間ごとに順次置き換えながらはめ込み合成する(以下、順次置換合成と呼ぶ)。このためにCPU16は、先ず、フレームSの画像、および選んだ複数のフレーム画像からテンプレートマッチング手法によってそれぞれ動体領域を抽出する。
図5(c)は、抽出した動体領域を例示する図である。これらの動体領域は、上述した「動き表現」に適したフレーム選択を行う際に抽出済みであるので、この情報を使用できる。
【0040】
―「動き表現」のための画像生成―
CPU16は、
図5(b)に例示したフレームS(f(A+1))における動体領域m(A+1)に代えて、
図5(c)に例示したフレームPの動体領域mA、上記フレームQの動体領域m(A+2)、動体領域m(A+3)を、フレームSにおいて対応する位置へ所定の時間ごとに、順次置換合成する。フレームSにおいて対応する位置は、「動き表現」に適したフレーム選択の際に求めた動体領域の位置であって、フレームSにおける非動体領域を基準に表した位置である。この結果、
図5(a)のフレームfA、フレームf(A+1)、フレームf(A+2)、およびフレームf(A+3)相当の画像が順番に得られる。これらの画像を液晶モニタ15に順番に再生表示させると、静止画(=f(A+1))という時間の止まった世界の中で、動体領域(航空機)だけ時間が進行しているかのような、異質な世界を表現し得る。
【0041】
ここで、対象物が画面内で移動する場合において、フレームS(f(A+1))に、順次置換合成する動体領域の位置が、該フレームSの動体領域m(A+1)の位置と異なる場合は、該フレームSにおいて2箇所で順次置換合成を行う。1つめの合成は、フレームSにおいて上記フレームPまたはフレームQの動体領域に対応する位置へ、フレームPまたはフレームQの動体領域の画像を、順次置換合成する。
【0042】
2つめの合成は、フレームSにおいて動体領域m(A+1)の位置へ、非動体領域(背景)の画像を順次置換合成する。例えば、上記フレームS以外のフレーム(例えばフレームf1またはフレームf(A+B))の画像から、フレームSの動体領域m(A+1)の位置に対応する背景画像を抽出し、抽出した背景画像をフレームSの動体領域m(A+1)があった位置へ順次置換合成する。CPU16は、以上説明した順次置換合成により、「動き表現」のための画像を生成する。
【0043】
CPU16は、生成した「動き表現」のための画像を所定時間ごとに液晶モニタ15に再生表示させることにより、静止画像(フレームS)上で動体領域を動的に表現する。なお、動体領域の位置をmA→m(A+1)→m(A+2)→m(A+3)→mA→m(A+1)…へ切替える時間の間隔を短くすると速い「動き表現」になり、切替える間隔を長くすると遅い「動き表現」になる。
【0044】
―「動き表現」に必要なデータの記録―
CPU16は、記録指示に応じて「動き表現」に必要なデータをメモリカード50へ記録する。記録するデータは、例えば、フレームS、フレームPおよびフレームQの各画像、これらの画像における動体領域の範囲、座標位置、フレームPおよびフレームQからフレームSへ位置合わせするための制御(シフト)値、ループ再生(繰り返し再生)の要否などの情報である。
【0045】
―フローチャートの説明―
図6は、上述した「動き表現」時にCPU16が実行する処理の流れを説明するフローチャートである。CPU16は、「先撮り撮影モード」に設定、かつ「動き表現」処理がオンにされると
図6による処理を起動する。
図6のステップS1において、CPU16は先撮り画像の取得(すなわち撮影待機処理)を開始させてステップS2へ進む。これにより、先撮りされたフレーム画像がバッファメモリ18に蓄積されるとともに、液晶モニタ15に逐次表示される。
【0046】
ステップS2において、CPU16は、先撮り画像データに基づいてAE(自動露出)演算およびAF(自動焦点調節)処理を行わせてステップS3へ進む。ステップS3において、CPU16は、レリーズボタンの全押し操作が行われたか否かを判定する。CPU16は、全押しスイッチ20bからのオン信号が入力された場合にステップS3を肯定判定してステップS4へ進み、全押しスイッチ20bからのオン信号が入力されない場合には、ステップS3を否定判定してステップS2へ戻る。ステップS2へ戻る場合は、上述した処理を繰り返す。
【0047】
ステップS4において、CPU16は、後撮り画像の取得を開始させてステップS5へ進む。後撮り画像は、全押し操作に応じて取得する1枚と、その後に取得する(B−1)枚である。ステップS5において、CPU16は、バッファメモリ18に記憶している(A+B)枚のフレーム画像をメモリカード50に記録してステップS6へ進む。
【0048】
ステップS6において、CPU16は、終了指示が行われたか否かを判定する。CPU16は、操作部材20またはタッチ操作部材15aから「通常撮影モード」へ切り替える操作信号が入力されると、ステップS6を肯定判定して
図6による処理を終了する。CPU16は、操作部材20またはタッチ操作部材15aから「通常撮影モード」への切り替え操作信号が入力されない場合は、ステップS6を否定判定してステップS1へ戻る。ステップS1へ戻る場合は、上述した処理を繰り返す。
【0049】
「動き表現」するCPU16が実行する処理の流れについて、
図7に例示するフローチャートを参照して説明する。CPU16は、再生モードであって、かつ「動き表現」処理がオンされると
図7による処理を起動する。
【0050】
図7のステップS51において、CPU16は、(A+B)枚のフレーム画像の中から静止画用フレーム(フレームS)を決めてステップS52へ進む。ステップS52において、CPU16は、再生時に静止画像(フレームS)上で動的に表現する動体領域を決定してステップS53へ進む。
【0051】
ステップS53において、CPU16は、
図5(a)の各フレーム画像の位置合わせを行ってステップS54へ進む。位置合わせは、フレーム画像から動体領域を除外した非動体領域において抽出した2以上の特徴点の位置に基づいて行う。
【0052】
ステップS54において、CPU16は、各フレーム画像から上記テンプレートマッチング手法によって動体領域を抽出し、ステップS55へ進む。ステップS55において、CPU16は、静止画像(フレームS)における非動体領域(背景)の位置を基準に、各フレームの動体領域の位置を求めてステップS56へ進む。
【0053】
ステップS56において、CPU16は、静止画像(フレームS)より時間的に前に取得されたフレーム画像であって、当該フレームにおける対象物と背景の特徴点との相対的な距離が所定範囲内であるフレームPを抽出してステップS57へ進む。
【0054】
ステップS57において、CPU16は、静止画像(フレームS)より時間的に後に取得されたフレーム画像であって、当該フレームにおける対象物と背景の特徴点との相対的な距離が所定範囲内であり、かつ、当該フレームにおける対象物と上記フレームPにおける対象物との類似度が所定値以上であるフレームQを抽出してステップS58へ進む。
【0055】
ステップS58において、CPU16は、所定の条件を満たすか否かを判定する。CPU16は、例えば、フレームP、フレームQがフレームSと略同一であって変化がなく、再生表示しても動体領域を動的に表現できない場合は、ステップS58を否定判定してステップS56へ戻ってフレームPおよびフレームQの抽出をやり直す。CPU16は、フレームP、フレームQがフレームSと適度に相違し、フレームP、フレームQにおける対象物がフレームSにおける対象物との間で所定の相対距離を有する場合は、ステップS58を肯定判定してステップS59へ進む。
【0056】
ステップS59において、CPU16は、所定の時間ごとに、
図5(c)に例示した動体領域を、フレームSにおいて対応する位置へ順次置換合成し、ステップS60へ進む。
【0057】
ステップS60において、CPU16は、終了指示されたか否かを判定する。CPU16は、終了操作が行われた場合にステップS60を肯定判定して
図7による処理を終了する。CPU16は、終了操作が行われない場合には、ステップS60を否定判定してステップS51へ戻る。
【0058】
以上説明した第一の実施形態によれば、次の作用効果が得られる。
(1)デジタルカメラ1は、時系列に撮影された複数フレームの画像f1〜f(A+B)のうちの1フレームf(A+1)の画像上で、時間と共に変化させる第1動体領域m(A+1)を指示するCPU16と、複数フレームの画像f1〜f(A+B)の各々において、CPU16で指示された第1動体領域m(A+1)に対応する領域の位置情報を取得するCPU16と、CPU16で取得された位置情報と複数フレームの画像f1〜f(A+B)とに基づいて、第1動体領域m(A+1)についての時系列画像mA〜m(A+3)を取得するCPU16と、複数フレームの画像f1〜f(A+B)のうちの1フレームの画像f(A+1)に基づいて生成された静止画像(
図5(b)の斜線領域)に対し、CPU16で取得された第1動体領域m(A+1)についての時系列画像mA〜m(A+3)を順次置換して合成するCPU16と、を備える。これにより、静止画像中の一部を動的に表現する場合において、静止画のどの領域で表現させるかを適切に選択できる。
【0059】
(2)上記(1)のデジタルカメラ1において、CPU16において第1動体領域m(A+1)の指示に用いられる1フレームの画像f(A+1)と、CPU16が合成に用いる静止画像(
図5(b)の斜線領域)の生成に用いられる1フレームの画像f(A+1)とは同一であるので、同一でない場合に比べて、静止画像中の一部を動的に表現する処理を簡単にできる。
【0060】
(3)上記(1)のデジタルカメラ1において、CPU16はさらに、各フレームにおける第1動体領域mA〜m(A+3)の位置情報を静止画像(
図5(b)の斜線領域)の生成に用いられる1フレームの画像f(A+1)を基準とする位置情報に変換し、CPU16は、変換後の位置情報と複数フレームの画像fA〜f(A+3)とに基づいて第1動体領域mについての時系列画像mA〜m(A+3)を取得し、CPU16は、変換後の位置情報をもとに、静止画像(
図5(b)の斜線領域)に対し、CPU16で取得された時系列画像mA〜m(A+3)を順次置換合成する。これにより、静止画像中の一部を動的に表現する処理時間を短縮できる。
【0061】
(4)上記(1)のデジタルカメラ1において、CPU16はさらに、静止画像(
図5(b)の斜線領域)の生成に用いられる1フレームの画像f(A+1)上の第1動体領域m(A+1)を除いた領域を基準として、複数フレームの画像f1〜f(A+B)の各々について位置合わせを行った上で、複数フレームの画像f1〜f(A+B)の各々において第1動体領域mの位置情報を取得し、CPU16は、複数フレームの画像f1〜f(A+B)のうち位置合わせ後に第1動体領域m(A+1)を含むフレームの画像から、位置情報に基づいて第1動体領域mについての時系列画像mA〜m(A+3)を取得し、CPU16は、位置情報をもとに、静止画像(
図5(b)の斜線領域)に対し、CPU16で取得された時系列画像mA〜m(A+3)を順次置換合成する。これにより、静止画像中の一部を動的に表現する処理時間を短縮できる。
【0062】
(変形例1)
上述した説明では、デジタルカメラ1のCPU16が、「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)をユーザーのタッチ操作に基づいて決定する例を説明した。仮に、ユーザーが誤って対象物が存在しない領域をタッチ操作した場合には、CPU16がその旨を知らせるメッセージを液晶モニタ15の画面上に表示させてもよい。この場合において、液晶モニタ15の画面上においてタッチ操作に基づく矩形領域(動体領域m)に対象物(航空機)が含まれるか否かは、フレームSと、時系列に並ぶいずれかのフレーム画像との間で、当該矩形領域について差分が生じているか否かで判定する。すなわち、時系列に並ぶフレーム画像間で背景領域の位置合わせを行った上で、両フレーム間の差分をとることにより、差分が生じていれば対象物が含まれると判定し、差分が生じていなければ対象物が含まれないと判定する。
【0063】
(変形例2)
上述した説明では、デジタルカメラ1のCPU16が、「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)をユーザーのタッチ操作に基づいて決定する際、ユーザーにより液晶モニタ15の画面上がタッチ操作されると、該タッチ操作に基づく矩形領域をマークmで表示するようにした。この代わりに、ユーザーによるタッチ操作前に、「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)の候補をCPU16が提示するようにしてもよい。
【0064】
変形例2のCPU16は、液晶モニタ15にフレームSの再生画像を表示させている状態で自動的にフレームSにおける対象物(航空機)を探し、検出した対象物を含む領域をマークmで表示する。ユーザーは、提示された候補(マークm)でよい場合に、該マークmをタッチ操作する。CPU16は、マークmの位置がタッチ操作されると、マークmで囲まれる領域を「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)に決定する。
【0065】
フレームSにおける対象物(航空機)の探索は、フレームSと時系列に並ぶフレーム画像との間で、差分が生じている領域を探せばよい。すなわち、時系列に並ぶフレーム画像間で背景領域の位置合わせを行った上で、両フレーム間の差分をとることにより、差分が生じている領域に対象物が含まれると判定し、差分が生じていない場合は対象物が含まれないと判定する。
【0066】
(変形例3)
上述した変形例2において、ユーザーによるタッチ操作がなくても、CPU16が自動的に検出した対象物を含む領域を、「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)に決定してもよい。変形例3のCPU16は、例えば、画像データ等を用いた認識処理により、液晶モニタ15にフレームSの再生画像を表示させている状態で自動的にフレームSにおける対象物(航空機)を探し、検出した対象物を含む領域をマークmで表示する。CPU16は、そのマークmで囲まれる領域を「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)に決定する。
【0067】
(変形例4)
上述した説明では、デジタルカメラ1のCPU16が、「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)をユーザーのタッチ操作に基づいて決定する例を説明した。この動的に表現する領域(対象物)を、CPU16が自動的に抽出する構成としてもよい。例えば、フレームSの画面端近傍の4つの特徴点が背景領域に含まれるものとみなして、各フレームの画像を、フレームSの画面端近傍の4つの特徴点を基準に位置合わせを行った上で、各フレーム画像における移動する対象物の領域(対象物の移動領域)を包含する領域(例えば矩形領域)を、各フレーム画像から抽出する。ここで、この移動する対象物の領域は、上記の位置合わせを行った隣接するフレーム画像間で差分演算を行って、その和の領域を求めることにより抽出できる。当該領域を包含する領域は、背景領域を含むものであってもよい。すなわち、このような構成とすれば、フレームS上で、順次置換合成する領域の大きさが同じとなり、さらに、順次置換合成する領域のフレームS上の位置を同一の位置とすることができる。また、フレームS上で、順次置換合成する領域の、各フレーム上での位置も、フレームSを基準とした座標系で考えれば同一の位置とすることができ、「動き表現」のための画像の生成処理が容易となる。
【0068】
この場合、移動する対象物の領域を包含する領域に、対象物以外の動領域があると、対象物の変化と共に、その動領域も時間と共に変化することとなる。このようなことを避けるために、各フレームにおける、上記の移動する対象物を包含する領域間で差分演算を行い、対象物以外の領域に所定値以上の差分が発生しているか否かを判断する。所定値以上の差分が発生している場合には、移動する対象物の領域を包含する領域から、所定値以上の差分が発生している領域を除外する、あるいは操作者に報知する構成とすることもできる。なお、上記の移動する対象物を包含する、各フレーム領域間での差分演算においては、位置合わせは不要となる。
【0069】
(変形例5)
上述した説明では、対象物と背景中の所定位置との相対的な距離が所定範囲を超える場合には、その対象物がフレームSの画面外に外れるおそれがあるので、フレームP、あるいはフレームQとして適さないとして説明した。このような構成とすれば、「動き表現」のために生成された画像では、常に対象物が存在することとなる。しかしながら、例えば「動き表現」のために生成された画像を繰り返し再生する際にこの手法を用いた場合、
図5のフレームf(A+3)における対象物の位置から、フレームfAにおける対象物の位置まで、対象物の位置が急激に変化することとなる。すなわち、例えば上記の繰り返し再生を行う場合には、「動き表現」のために生成された画像のうち、最初の画像と最後の画像とが、類似していることが好ましい。このような構成とすることによって、繰り返し再生の際の違和感を低減することができる。
【0070】
ここで、対象物と背景中の所定位置との相対的な距離が所定範囲を超えるフレームを特定し、当該フレームをフレームPの最初のフレーム、フレームQの最後のフレームとすることで、「動き表現」のために生成された画像において、フレームS上で対象物が存在しない画像を得ることができる。このようにして生成された「動き表現」のための画像を繰り返し再生した場合には、例えば、対象物が存在しないフレームから「動き表現」が開始され、画面内に対象物が現れてから再び対象物が存在しないフレームとなった時点で、1回目の「動き表現」による再生が終了する。その後、再び対象物が存在しないフレームから、2回目の「動き表現」が開始されることとなり、視聴者が感じる違和感を低減することができる。
【0071】
(変形例6)
変形例2において、ユーザーによるタッチ操作の代わりに、音声指示に基づいて「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)を決定してもよい。変形例4のCPU16は、マイク22で集音され、音響処理回路23で変換された音響データに基づいて音声認識を行う。CPU16は、例えば、対象物の候補を、操作部材によって順次変更していった際に、音声認識によって、操作者の「OK」の発話を認識した場合に、マークmで囲まれる領域を「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)に決定する。また、例えば、いずれかのフレーム、あるいはフレームSとしてフレームf(A+1)を液晶モニタ15に表示している状態で、操作者の「航空機」の発話を認識した場合に、画像データ等を用いて航空機の領域を認識し、当該領域を「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)に決定する構成としてもよい。
【0072】
(変形例7)
上記実施形態においては、フレームSを、液晶モニタ15の画面に並べて表示されたサムネイル画像の中からタッチ操作によって選択する例について説明したが、
図2で説明したように、シャッターボタンの全押し操作のタイミングで取得されたフレーム画像をフレームSとして設定する構成としてもよい。このような構成とすれば、撮影者が撮影を意図したタイミングにおいて取得された画像をもとに、「動き表現」の画像が生成されるので、撮影者が撮影を意図したタイミングのフレーム画像が、「動き表現」の画像に必ず含まれる構成とすることができる。
【0073】
また、複数のフレーム画像の中から、フレームSとして、特徴的なハイライトのフレーム画像を選択する構成としてもよい。ハイライトのフレーム画像としては、例えば、マイク22で集音した音量のレベルが最大のときに取得されたフレーム画像、あるいは対象物の動き量、姿勢などをもとに検出されたクライマックスのフレーム画像を自動的に選択することができる。
【0074】
さらには、フレームSとして、対象物の大きさが一番小さいフレーム画像をフレームSとして選択する構成としてもよい。例えば、フレームSとして、対象物の大きさが大きいフレーム画像を選択した場合には、対象物が移動した場合、あるいは対象物の大きさが小さくなった場合などにおいては、対象物のみならず、順次置換合成する領域内の背景部分も、フレームSとは異なる時刻に撮影された他のフレーム画像から、対応する領域の画像データを用いて置き換えることとなる。すなわち、このようにして、フレームSの静止領域と合成された画像においては、異なる時刻に撮影された背景が混在することとなる。上記のような場合、あるいは上述の変形例4のような場合には、特に異なる時刻に撮影された背景の領域が多くなり、最終的に生成された「動き表現」の画像上で、対象物以外の本来は動いてほしくない背景領域にも動きが発生してしまう可能性が高くなる。そこで、対象物の大きさが一番小さいフレーム画像をフレームSとして選択する構成とすれば、異なる時刻に撮影された背景が混在する可能性を低減することができる。
【0075】
(第二の実施形態)
第二の実施形態では、「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)を2つ設ける。
図8は、野球のバッターによる打撃の場面を撮影した時系列のフレーム画像に基づいて、CPU16が第一の実施形態と同様にして選んだフレームS、フレームPおよびフレームQを構成する画像を例示する図である。本例では、画面内で変化する第1の対象物はボールである。
【0076】
図8において、フレームf(A+1)は、ユーザー操作に基づいてCPU16が決定したフレームSに対応する。マークm(A+1)は、ユーザーによるタッチ操作により、タッチ操作部材15aから出力された操作信号に基づいてCPU16が決定した第1の動体領域を表す。
【0077】
フレームf(A−1)およびフレームfAは、フレームSより時間的に前に取得されたフレーム画像の中からフレームPとしてCPU16が選んだ画像である。フレームf(A+2)およびフレームf(A+3)は、フレームSより時間的に後に取得されたフレーム画像の中からフレームQとしてCPU16が選んだ画像である。
【0078】
CPU16は、時系列に並ぶ
図8のフレーム画像について、フレームf(A+1)(すなわちフレームS)以外の他のフレーム画像から、第1の動体領域を抽出する。CPU16は、例えばフレームSの動体領域m(A+1)をテンプレートとして、テンプレートマッチング手法によって第1の動体領域を抽出する。
図8のm(A−1)、mA、m(A+1)、m(A+2)、およびm(A+3)は、各フレームにおける第1の動体領域を表す。
【0079】
第二の実施形態によるデジタルカメラ1のCPU16はさらに、上記第1の動体領域に含まれる第1の対象物(ボール)と関連して変化する領域をフレーム画像から抽出し、この抽出領域を第2の動体領域とする。
図8において、ボールはフレームf(A+1)(すなわちフレームS)を境に移動方向を変えている。そして、フレームf(A+1)ではボールがバットと接触している。CPU16は、バットの動きに起因してボールの動きが変化していることから、バットの動きとボールの動きは関連すると判定し、バットを含む領域を第2の動体領域とする。なお、CPU16は、上記移動方向が変化するまでに至らなくても、移動中の加速度が変化した場合には両者の動きが関連すると判定する。
【0080】
CPU16は、時系列に並ぶ
図8のフレーム画像について、フレームf(A+1)(すなわちフレームS)以外の他のフレーム画像から第2の動体領域(バット)を抽出する。本例の場合、バットはフレームごとに形状と画面内の位置が変化しているので、差分検出手法を用いる。
【0081】
CPU16は、時系列に並ぶ
図8のフレーム画像について、各フレームの第1の動体領域m(A−1)、mA、m(A+1)、m(A+2)、m(A+3)を除いた背景領域で位置合わせを行った上で、隣接するフレーム間で差分をとることにより、フレーム画像におけるバットを抽出する。具体的には、時間的に隣接する、所定の閾値で2値化された差分画像間で、論理積をとることにより、バットを含む領域を抽出する。そしてCPU16は、抽出した領域において公知の物体認識処理を行うことにより、バットを特定する。
【0082】
ここで、フレーム間で所定値以上の差分が生じた領域がバットを含む領域に対応し、フレーム間の差分が所定値未満の領域はバットを含まない領域に対応する。
図8の場合、バットまたはバッターの腕を含む領域において、フレーム間で所定値以上の差分が検出される。CPU16は、バットまたはバッターの腕を含む領域から、物体認識処理によってバットを抽出する。
【0083】
次にCPU16は、
図8の各フレーム画像からそれぞれ第1の動体領域および第2の動体領域を除外した非動体領域において、第一の実施形態と同様に2以上の特徴点を抽出し、フレーム間でそれぞれ特徴点の対応付けを行う。
【0084】
CPU16はさらに、第1動体領域および第2動体領域においても、それぞれ2以上の特徴点を抽出する。そして、各フレームにおける非動体領域の特徴点と各動体領域の特徴点の位置関係に基づいて、各フレームにおける第1動体領域および第2動体領域の位置を、フレームf(A+1)(すなわちフレームS)における非動体領域を基準に表す。
【0085】
CPU16は、上記フレームS(フレームf(A+1))、フレームP(フレームf(A−1)とフレームfA)、およびフレームQ(フレームf(A+2)とフレームf(A+3))を合成して静止画像(フレームS)上において第1動体領域および第2動体領域を動的に表現する。具体的には、フレームSにおける第1動体領域、第2動体領域に代えて、他のフレームの第1動体領域、第2動体領域を、フレームSにおいて対応するそれぞれの位置へ所定時間ごとに順次置換合成する。
【0086】
以上説明したように、「動き表現」のための画像生成において、「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)を2つ設ける場合でも、2つの動体領域をフレームSにおいて対応するそれぞれの位置へ所定時間ごとに順次置換合成する手法は、第一の実施形態と同様に行う。また、「動き表現」に必要なデータの記録についても第一の実施形態と同様に行う。
【0087】
図9は、
図8のフレームS、フレームPおよびフレームQに基づいて、第1の動体領域(ボール)および第2の動体領域(バット)をフレームS(=f(A+1))において対応するそれぞれの位置へ所定時間ごとに、順次置換合成した合成画像c(A−1)、cA、c(A+1)、c(A+2)、およびc(A+3)を例示する図である。
【0088】
合成画像c(A−1)は、フレームS(=f(A+1))の第1の動体領域(ボール)および第2の動体領域(バット)の代わりに、フレームf(A−1)の第1の動体領域(ボール)および第2の動体領域(バット)を合成した画像である。合成画像cAは、フレームS(=f(A+1))の第1の動体領域(ボール)および第2の動体領域(バット)の代わりに、フレームfAの第1の動体領域(ボール)および第2の動体領域(バット)を合成した画像である。フレームSに対応する合成画像c(A+1)は、フレームf(A+1)と同一である。
【0089】
また、合成画像c(A+2)は、フレームS(=f(A+1))の第1の動体領域(ボール)および第2の動体領域(バット)の代わりに、フレームf(A+2)の第1の動体領域(ボール)および第2の動体領域(バット)を合成した画像である。合成画像c(A+3)は、フレームS(=f(A+1))の第1の動体領域(ボール)および第2の動体領域(バット)の代わりに、フレームf(A+3)の第1の動体領域(ボール)および第2の動体領域(バット)を合成した画像である。
【0090】
これらの合成画像c(A−1)、cA、c(A+1)、c(A+2)、およびc(A+3)を液晶モニタ15に順番に再生表示させると、静止画(=f(A+1))という時間の止まった世界の中で、第1の動体領域(ボール)および第2の動体領域(バット)だけ時間が進行しているかのような、異質な世界を表現し得る。
【0091】
以上説明した第二の実施形態によれば、以下の作用効果が得られる。
(1)デジタルカメラ1は、時系列に撮影された複数フレームの画像のうちの1フレームf(A+1)の画像上で、時間と共に変化させる第1動体領域(ボール)を指示するCPU16と、複数フレームの画像の各々において、CPU16で指示された第1動体領域(ボール)の位置情報を取得するCPU16と、CPU16で取得された位置情報と複数フレームの画像とに基づいて、第1動体領域(ボール)についての時系列画像m(A−1)A〜m(A+3)を取得するCPU16と、複数フレームの画像のうちの1フレームの画像f(A+1)に基づいて生成された静止画像に対し、CPU16で取得された第1動体領域(ボール)についての時系列画像m(A−1)〜m(A+3)を順次置換して合成するCPU16と、を備える。これにより、静止画像中の一部を動的に表現する場合において、静止画のどの領域で表現させるかを適切に選択できる。
【0092】
(2)上記(1)のデジタルカメラ1において、CPU16はさらに、複数フレームの画像に基づいて第1動体領域(ボール)の変化に応じて変化する領域を抽出し、抽出した領域を第2動体領域(バット)として指示し、CPU16は、複数フレームの画像の各々において、CPU16で指示された第2動体領域(バット)の位置情報をさらに取得し、CPU16は、CPU16で取得された位置情報と複数フレームの画像とに基づいて、第2動体領域(バット)についての時系列画像をさらに取得し、CPU16はさらに、複数フレームの画像のうちの1フレームの画像f(A+1)に基づいて生成された静止画像に対しCPU16で取得された第2動体領域(バット)についての時系列画像を、順次置換して合成する。これにより、静止画の中で、ボールの動きと因果関係を有するバットの動きを適切に表現し得る。
【0093】
(3)上記(1)、(2)のデジタルカメラ1において、CPU16は、複数フレームの画像のうちの1フレームf(A+1)で第1動体領域(ボール)と接する領域を第2動体領域(バット)とするので、静止画の中で、ボールの動きと因果関係を有するバットの動きを適切に表現し得る。
【0094】
(変形例8)
「動き表現」のための画像生成において、
図9に例示したものと異なる順次置換合成を行ってもよい。
図10は、
図8のフレームS、フレームPおよびフレームQに基づいて、第1の動体領域(ボール)および第2の動体領域(バット)をフレームS(=f(A+1))において対応するそれぞれの位置へ所定時間ごとに順次置換合成した合成画像c(A−1)’、cA’、c(A+1)、c(A+2)’、およびc(A+3)’を例示する図である。
【0095】
合成画像c(A−1)’は、フレームS(=f(A+1))の第2の動体領域(バット)の代わりに、フレームf(A−1)の第2の動体領域(バット)を合成した画像である。合成画像cA’は、フレームS(=f(A+1))の第2の動体領域(バット)の代わりに、フレームfAの第2の動体領域(バット)を合成した画像である。フレームSに対応する合成画像c(A+1)は、フレームf(A+1)と同一である。
【0096】
また、合成画像c(A+2)’は、フレームS(=f(A+1))の第1の動体領域(ボール)の代わりに、フレームf(A+2)の第1の動体領域(ボール)を合成した画像である。合成画像c(A+3)’は、フレームS(=f(A+1))の第1の動体領域(ボール)の代わりに、フレームf(A+3)の第1の動体領域(ボール)を合成した画像である。
【0097】
これらの画像c(A−1)’、cA’、c(A+1)、c(A+2)’、およびc(A+3)’を液晶モニタ15に順番に再生表示させると、静止画(=f(A+1))という時間の止まった世界の中で、バットとボールが接触する前は第2の動体領域(バット)だけ時間が進行し、バットとボールが接触した後は第1の動体領域(ボール)だけ時間が進行するかのような、異質な世界を表現し得る。
【0098】
(変形例9)
「動き表現」のための画像生成において、変形例8と異なる順次置換合成を行ってもよい。
図11は、
図8のフレームS、フレームPおよびフレームQに基づいて、第1の動体領域(ボール)および第2の動体領域(バット)をフレームS(=f(A+1))において対応するそれぞれの位置へ所定時間ごとに順次置換合成した合成画像c(A−1)’、cA’、c(A+1)、c(A+2)、およびc(A+3)を例示する図である。
【0099】
合成画像c(A−1)’は、フレームS(=f(A+1))の第2の動体領域(バット)の代わりに、フレームf(A−1)の第2の動体領域(バット)を合成した画像である。合成画像cA’は、フレームS(=f(A+1))の第2の動体領域(バット)の代わりに、フレームfAの第2の動体領域(バット)を合成した画像である。フレームSに対応する合成画像c(A+1)は、フレームf(A+1)と同一である。
【0100】
また、合成画像c(A+2)は、フレームS(=f(A+1))の第1の動体領域(ボール)および第2の動体領域(バット)の代わりに、フレームf(A+2)の第1の動体領域(ボール)および第2の動体領域(バット)を合成した画像である。合成画像c(A+3)は、フレームS(=f(A+1))の第1の動体領域(ボール)および第2の動体領域(バット)の代わりに、フレームf(A+3)の第1の動体領域(ボール)および第2の動体領域(バット)を合成した画像である。
【0101】
これらの画像c(A−1)’、cA’、c(A+1)、c(A+2)、およびc(A+3)を液晶モニタ15に順番に再生表示させると、静止画(=f(A+1))という時間の止まった世界の中で、バットとボールが接触する前は第2の動体領域(バット)だけ時間が進行し、バットとボールが接触した後は第1の動体領域(ボール)および第2の動体領域(バット)だけ時間が進行するかのような、異質な世界を表現し得る。
【0102】
(変形例10)
上述した第二の実施形態では、フレームf(A+1)におけるボールとバットの接触に基づいてバットの動きとボールの動きが関連すると判定した。このような2つの対象物の接触判定に加えて、または接触判定に代えて、音響データが示す音響レベルに基づいて2つの動体領域の動きが関連するか否かの判定をしてもよい。
【0103】
上述した第1の動体領域(ボール)と第2の動体領域(バット)の場合、両者の接触時に打撃音が発生する。変形例7のCPU16は、マイク22で集音され、音響処理回路23で変換された音響データに基づいて音圧レベルの判定を行う。CPU16は、上記接触時に所定値以上の音圧レベルを判定した場合に、ボールとバットの接触に基づいてバットの動きとボールの動きが関連すると判定する。
【0104】
(変形例11)
「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)を2つ設ける例として、第1の対象物(ボール)と、第1の対象物と接触する第2の対象物(バット)を例示した。この他にも、第1の対象物(例えばボール)の影を第2の対象物としてもよい。影は、ボールの移動に伴って移動し、ボールの輪郭形状に依拠した輪郭形状を有する。CPU16は、このことからボールの動きとその影の動きは同期すると判定し、影を含む領域を第2の動体領域とする。
【0105】
(変形例12)
「動き表現」のために静止領域(背景)上で動的に表現する領域(対象物)を2つ設ける例として、変化する第1の対象物を含む第1の動体領域と、変化する第2の対象物を含む第2の動体領域とが隣接する場合があってもよい。例えば、鍋の中で煮えた特定具材が揺れている場合に特定具材を第1の対象物とし、この特定具材から舞い上がる湯気を第2の対象物とする。CPU16は、特定具材の向きが変わることによって立ち上る湯気の方向が変化した場合に、両者(第1の対象物と第2の対象物)の動きが関連すると判定する。変形例9の場合は、静止画という時間の止まった世界の中で、特定具材と、この特定具材から舞い上がる湯気だけ時間が進行するかのような、異質な世界を表現し得る。
【0106】
(変形例13)
以上の説明では、「先撮り撮影モード」において取得した時系列に並ぶ複数フレームの画像群に基づいて「動き表現」する例を説明したが、複数の画像群は、必ずしも「先撮り撮影モード」で撮影した画像群でなくてもよい。例えば、連写によって取得した時系列に並ぶ複数フレームの画像群に基づいて「動き表現」してもよい。
【0107】
(変形例14)
複数フレームの画像群を取得する際のフレームレートは、上述した毎秒120フレームでなくてもよく、毎秒30フレームや、毎秒5フレームであってもよい。このフレームレートは、移動する被写体(対象物)の移動速度に応じて適宜設定してよい。なお、取得時のフレームレートより再生表示時のフレームレートを低くすると、いわゆるスロー再生を行える。
【0108】
(変形例15)
「動き表現」に必要なデータを、動画ファイルとして記録してもよい。当該動画ファイルの中で、「動き表現」のために合成された映像が繰り返し再生可能である旨も記録する。具体的には、動画ファイルとして、動体領域の動画圧縮データと、非動体領域(背景となる静止領域)の圧縮画像データと、その他必要なデータ(静止領域に順次置換合成する動体領域データの座標位置、繰り返し再生の要否)を含める。
【0109】
(変形例16)
以上の説明では、電子機器としてデジタルカメラ1を用いる例を説明したが、多機能携帯電話機やタブレット型コンピュータを用いて構成してもよい。
【0110】
(変形例17)
上述した実施形態では、時系列に並ぶ複数フレームの画像群に基づいて、デジタルカメラ1で「動き表現」処理を行う例を説明したが、パーソナルコンピュータや、タブレット型コンピュータなどを用いて、事後的に「動き表現」処理を行う画像処理装置を構成してもよい。この場合、デジタルカメラ1で取得した画像データとして、時系列に並ぶ複数フレームの画像群を保存しておく。
【0111】
そして、
図12に示すコンピュータ200に
図7に例示したフローチャートの処理を行うプログラムを実行させることにより、静止画像の中で変化する被写体(対象物)を動的に表現する画像処理装置を構成する。プログラムをコンピュータ200に取込んで使用する場合には、コンピュータ200のデータストレージ装置にプログラムをローディングした上で、当該プログラムを実行させることによって画像処理装置として使用する。
【0112】
コンピュータ200に対するプログラムのローディングは、プログラムを格納したCD−ROMなどの記憶媒体204をコンピュータ200にセットして行ってもよいし、ネットワークなどの通信回線201を経由する方法でコンピュータ200へローディングしてもよい。通信回線201を経由する場合は、通信回線201に接続されたサーバー(コンピュータ)202のハードディスク装置203などにプログラムを格納しておく。プログラムは、記憶媒体204や通信回線201を介する提供など、種々の形態のコンピュータプログラム製品として供給することができる。
【0113】
以上の説明はあくまで一例であり、上記の実施形態の構成に何ら限定されるものではない。