以下、本発明の一実施形態を図面に基づいて説明する。
図1は、本発明の画像処理装置の一実施形態に係るデジタルカメラ1のハードウェアの構成を示す図である。
デジタルカメラ1は、撮像部11と、音声入力部12と、データ処理部13と、ユーザインタフェース部14と、を備える。
撮像部11は、光学レンズ部21と、イメージセンサ22と、を備える。
光学レンズ部21は、規定された画角(以下、「正規の画角」と呼ぶ)に含まれる被写体を撮影するために、光を集光するレンズ、例えばフォーカスレンズやズームレンズなどで構成される。フォーカスレンズは、イメージセンサ22の受光面に被写体像を結像させるレンズである。ズームレンズは、焦点距離を一定の範囲で自在に変化させるレンズである。光学レンズ部21にはまた、必要に応じて、焦点、露出、ホワイトバランスなどの設定パラメータを調整する周辺回路が設けられる。
イメージセンサ22は、光電変換素子や、AFE(Analog Front End)などから構成される。光電変換素子は、例えばCMOS(Complementary Metal Oxide Semiconductor)型の光電変換素子などから構成される。光電変換素子には、光学レンズ部21からシャッタ部(図示せず)を介して被写体像が入射される。そこで、光電変換素子は、一定時間毎に被写体像を光電変換(撮影)して画像信号を蓄積し、蓄積した画像信号をアナログ信号としてAFEに順次供給する。AFEは、このアナログの画像信号に対して、A/D(Analog/Digital)変換処理などの各種信号処理を実行する。各種信号処理によって、ディジタル信号が生成され、イメージセンサ22の出力信号として出力される。なお、以下、画像信号のディジタル信号を、「画像データ」と呼ぶ。このように呼称すると、イメージセンサ22からは画像データが出力されて、データ処理部13に供給される。
音声入力部12は、マイクロフォンや音声データ化部などで構成される。マイクロフォンは、撮像部11による撮影時などに音声を入力し、アナログの音声信号として出力する。音声データ化部は、マイクロフォンから出力されたアナログの音声信号に対して、A/D変換処理などの各種信号処理を実行する。各種信号処理によって、ディジタル信号が生成され、音声入力部12の出力信号として出力される。なお、以下、音声信号のディジタル信号を、「音声データ」と呼ぶ。このように呼称すると、音声入力部12からは音声データが出力されて、データ処理部13に供給される。
データ処理部13は、CPU(Central Processing Unit)31と、ROM(Read Only Memory)32と、RAM(Random Access Memory)33と、メモリ34と、出力制御部35と、画像処理部36と、を備えている。
CPU31は、ROM32に記録されているプログラムに従って各種の処理を実行する。RAM33には、CPU31が各種の処理を実行する上において必要なデータなどが適宜記憶される。
本実施の形態では、後述する図2の画像取得部61乃至ファイル化部66の各機能を実現するプログラムが、ROM32に記憶されている。従って、CPU31が、このプログラムに従った処理を実行することで、画像取得部61乃至ファイル化部66の各機能を実現することができる。
メモリ34は、DRAM(Dynamic Random Access Memory)などで構成され、イメージセンサ22から出力された画像データや、音声入力部12から出力された音声データを一時記憶する。また、メモリ34は、各種画像処理や音声処理に必要な各種データ、例えば、画像データ、各種フラグの値、閾値なども記憶する。また、メモリ34には、画像表示用の画像データ(以下、「表示画像データ」と呼ぶ)の保存と読み出しを行うための表示メモリ領域も含まれている。
出力制御部35は、メモリ34の表示メモリ領域に格納された表示画像データを読み出し、その表示画像データにより表現される画像(以下、「表示画像」と呼ぶ)を、ユーザインタフェース部14の表示部42に表示させる。例えば、出力制御部35は、当該表示画像データに基づいてRGB信号を生成し、当該RGB信号を表示部42に供給することにより、表示画像を表示部42に表示させる。なお、出力制御部35により生成されたRGB信号は、ユーザインタフェース部14の通信部44によって、図示せぬ外部機器に出力させることもできる。これにより、外部機器、例えば、テレビジョン受像機、パーソナルコンピュータ、プロジェクタなどでも、表示画像の表示が可能になる。
出力制御部35はまた、メモリ34に記憶された音声データを読み出し、D/A変換などの信号処理を実行してアナログの音声信号を生成し、当該アナログの音声信号を音声出力部41に供給することにより、当該音声信号により表現される音声を音声出力部41から出力させる。
画像処理部36は、DSP(Digital Signal Processor)などで構成され、メモリ34に記憶された画像データに対して、ホワイトバランス補正処理やγ補正処理などの各種画像処理を実行する。本実施形態では、後述する図2の画像取得部61乃至ファイル化部66が実行する各種画像処理のうち少なくとも一部が、画像処理部36において実行され、残りの一部がCPU31において実行される。即ち、本実施形態では、後述する図2の画像取得部61乃至ファイル化部66は、CPU31及び画像処理部36というハードウェアと、ROM32に記憶されたプログラム(ソフトウェア)との組み合わせとして構成されている。
ユーザインタフェース部14は、スピーカなどで構成される音声出力部41と、液晶ディスプレイなどで構成される表示部42と、ユーザの指示操作を受け付ける操作部43と、外部機器との間での通信を制御する通信部44と、リムーバブル記録媒体51に対するデータの読み書きを行うドライブ45と、を備えている。
このような構成を有するデジタルカメラ1の処理対象となる動画のうち、上記の正規の画角を有し第1のフレームレートを有する動画を、以下、「背景動画」と呼ぶ。また、上記の正規の画角内に主要被写体像領域を含むと共に当該主要被写体像領域を除く領域を透過情報領域として含む、第2のフレームレートを有する動画を、以下、「前景動画」と呼ぶ。デジタルカメラ1は、このような背景動画の画像データと前景動画の画像データとを合成することによって、正規の画角を有した合成動画の画像データを生成することができる。なお、このようなデジタルカメラ1の処理を、以下、「合成動画生成処理」と呼ぶ。前景動画の画像データは、透過度情報(以下、「アルファ値」と呼ぶ)を保存するデータ領域(以下、「アルファチャネル」と呼ぶ)を有する。アルファ値は不透明度を表す。透過度が低い領域には高いアルファ値が設定され、透過領域にはアルファ値がゼロとして設定される。主要被写体像領域と当該主要被写体像領域を除く領域を透過情報領域とは、このアルファ値によって判別される。
図2は、このような合成動画生成処理を実行するためのデータ処理部13の機能的構成を示す機能ブロック図である。
データ処理部13は、画像取得部61と、合成条件決定部62と、挿入フレーム生成部63と、フレーム合成部64と、音声付加部65と、ファイル化部66と、を備えている。
また、データ処理部13のROM32、RAM33、又はメモリ34(図1)内には、インデックス記憶部71と、前景動画記憶部72と、処理内容記憶部73と、背景動画記憶部74と、合成動画記憶部75と、が設けられている。
画像取得部61は、撮像部11により撮像された動画の画像データを取得する。例えば、画像取得部61は、第1のフレームレートに基づいて撮像部11を連続駆動させることによって、撮像部11から順次供給される、正規の画角を有する複数の画像の画像データを取得する。即ち、本実施形態では、このようにして画像取得部61により取得された複数の画像の画像データが、正規の画角を有し第1のフレームレートを有する背景動画の画像データとして取得される。なお、このように動画を構成する複数の画像の各々を、以下、「フレーム」と称する。即ち、1つの動画は、複数のフレームから構成される。
画像取得部61は、このようにして取得した背景動画の画像データを、ファイル化して背景動画記憶部74に記憶させる。即ち、背景動画の画像データを含む画像ファイルが生成され、背景動画記憶部74に記憶される。画像取得部61は、さらに、背景動画に関するメタ情報として、例えば、第1のフレームレートなどを特定する情報を生成し、当該画像ファイルに含めて背景動画記憶部74に記憶させる。なお、所定のフレームレートを特定する情報を、以下、「フレームレート情報」と呼ぶ。即ち、背景動画記憶部74に記憶される動画ファイルには、背景動画の画像データが、第1のフレームレートを特定するフレームレート情報などのメタ情報と共に含まれている。これにより、ユーザが撮影した動画を、背景動画として合成動画を作成することが容易に可能になり、このようにして作成された合成動画はより現実味のある滑らかな動画になる。
また、画像取得部61は、当該背景動画の画像データに対して、サムネイル化処理、縮小処理、間引き処理などを適宜実行することで、後述する合成条件の決定の際にユーザに提示するインデックス画像データを生成し、これを背景動画記憶部74に記憶される各動画ファイルと対応付けるようにインデックス記憶部71に記憶させる。
なお、本実施形態では、正規の画角内に主要被写体像領域を含むと共に当該主要被写体像領域を除く領域を透過情報領域として含む、第2のフレームレートを有する動画、即ち前景動画については、予め与えられているものとする。換言すると、本実施形態では、当該前景動画の画像データは、所定の画像ファイルに含められて前景動画記憶部72に予め記憶されているものとする。また、当該所定の画像ファイルには、メタ情報として、第2のフレームレートを特定するフレームレート情報や、透過情報領域に関する透過情報なども含まれているものとする。また、当該前景動画のインデックス画像データは、透過情報などと対応付けて、前景動画記憶部72に記憶される各動画ファイルと対応付けるようにインデックス記憶部71に記憶させる。
画像取得部61は、第2のフレームレートに基づいて撮像部11を連続駆動させることによって、撮像部11から供給される動画の画像データを、前景動画の画像データとして取得するようにしてもよい。この場合、ユーザが撮影した動画を、前景動画として合成動画を作成することが容易に可能になり、このようにして作成された合成動画はより現実味のある滑らかな動画になる。
合成条件決定部62は、合成動画を生成するための各種合成条件を決定する。合成条件としては、例えば、複数の背景動画のうちの何れの動画を合成対象とするのかという条件や、複数の前景動画のうちの何れの動画を合成対象とするのかという条件、合成画像に用いる挿入フレームを生成する処理の条件などが存在する。
本実施形態では、合成条件の多くはユーザによる設定が可能になっており、このようなユーザによる設定を支援すべく、インデックス記憶部71には複数のインデックス画像データが記憶されている。そこで、合成条件決定部62は、所定のインデックス画像データをインデックス記憶部71から読み出して、出力制御部35に供給する。すると、出力制御部35は、当該インデックス画像データにより表現される画像を、表示部42に表示させる。ユーザは、このインデックス画像データの画像を見ながら操作部43を操作することで、所定の合成条件に対する指示操作を行うことができる。合成条件決定部62は、当該指示操作に従って、当該所定の合成条件を決定する。なお、インデックス画像データの具体例や、合成条件の決定手法の具体例については、図3以降の図面を参照して後述する。
なお、合成条件決定部62は、前景動画記憶部72に記憶されている前景動画の画像データや、背景動画記憶部74に記憶されている背景動画の画像データから直接、インデックス画像データを生成してもよい。この場合には、インデックス記憶部71は省略してもよい。
このようにして、合成条件決定部62により、合成条件として少なくとも、合成対象の背景動画及び前景動画が決定される。この場合、合成対象の背景動画の第1のフレームレートと、合成対象の前景動画の第2のフレームレートとが一致しているならば、当該背景動画及び当該前景動画をそのまま合成しても、適切な合成動画を生成することができる。
しかしながら、合成対象の背景動画の第1のフレームレートと、合成対象の前景動画の第2のフレームレートとが不一致の場合、当該背景動画及び当該前景動画をそのまま合成してしまうと、適切な合成動画を作成することができない。例えばフレームレートの高い方の再生速度にあわせて再生すると、フレームレートの低い方の動画の被写体像が素早く動いて再生されてしまうような合成動画が生成されてしまう。このため、適切な合成動画を生成するためには、当該背景動画及び当該前景動画のうち、高いフレームレートの方の動画の再生速度に合わせて、低いフレームレートの方の動画のフレーム数を増加させる必要がある。
この場合のフレーム数の増加手法は、特に限定されず、例えば、既存のフレーム間に挿入フレームや新たに創造したフレームを挿入する手法などを採用することができる。本実施形態では、既存のフレーム間に、何れか一方から生成した挿入フレームを挿入するという手法が採用されている。このため、データ処理部13には、挿入フレーム生成部63が設けられている。
即ち、挿入フレーム生成部63は、第1のフレームレートと第2のフレームレートとを比較し、前景動画及び背景動画のうち、高いフレームレートの方の動画の再生速度に合わせて、低いフレームレートの方の動画に含まれる各フレームの画像データから挿入フレームを生成する。なお、後述するが、挿入フレーム生成部63が実行する挿入フレームを生成する処理内容については、合成条件決定部62が決定する。合成条件決定部62は判断手段を構成する。
ここで、処理内容記憶部73には、第1のフレームレートと第2のフレームレートとの対応関係と、挿入フレーム生成部63の処理内容又は後述するフレーム合成部64の処理内容の少なくとも一方と、を対応付けた情報(以下、「処理内容情報」と呼ぶ)が記憶されている。そこで、挿入フレーム生成部63は、この処理内容情報を適宜参照して、上述したフレームの画像データから挿入データを生成する処理を実行する。このように、処理内容情報を予め保持しておくことで、挿入フレーム生成部63の処理内容又は後述するフレーム合成部64の処理内容を決定するために要する時間を短縮することが可能になり、ひいては、合成動画生成処理の処理時間を短縮することが可能になる。なお、処理内容情報の具体例については、図10乃至図13を参照して後述する。
なお、以下の説明では、説明の便宜上、背景動画の第1のフレームレートの方が、前景動画の第2のフレームレートよりも高いものとする。即ち、図2においては、実線の矢印に沿って、データが流れるものとする。従って、挿入フレーム生成部63は、前景動画に含まれる各フレームの画像データから挿入フレームを生成する。これにより、既存の各フレーム間に、生成した挿入フレームを挿入した動画の画像データが合成対象として得られ、フレーム合成部64に供給される。一方、背景動画の画像データは、背景動画記憶部74からフレーム合成部64に供給される。
フレーム合成部64は、再生時の再生速度が互いに適合するように、挿入フレーム生成部63により生成された挿入フレームを含む複数のフレームから構成される前景動画の画像データと、背景動画の画像データとをフレーム単位で順次合成する。この場合、フレーム合成部64は、処理内容記憶部73に記憶された処理内容情報を適宜参照して、フレームの画像データを合成する処理を実行する。これにより、背景動画と前景動画が合成された合成動画であって、正規の画角を有する複数のフレームから構成される合成動画の画像データが生成される。フレーム合成部64は合成手段を構成する。
なお、ここでは、説明の便宜上、背景動画の第1のフレームレートの方が、前景動画の第2のフレームレートよりも高いものとしているが、当然ながら、第1のフレームレートの方が第2のフレームレートよりも低い場合もあり得る。このような場合に対しても、挿入フレーム生成部63及びフレーム合成部64は、上述した処理を同様に実行することで、合成動画の画像データを生成することができる。このような処理も可能であることを示すために、図2においては、背景動画記憶部74から挿入フレーム生成部63までの間と、前景動画記憶部72からフレーム合成部64までの間とのそれぞれに対して、点線の矢印が引かれている。
ところで、前景動画又は背景動画の少なくとも一方に音声が記録されている場合もある。このような場合、音声付加部65は、フレーム合成部64により生成された合成動画の画像データに対して、前景動画又は背景動画に記録された音声の音声データを付加する。これにより、合成動画の再生時に、対応する音声も出力されるので、より一段と現実味のある滑らかな合成動画を作成することが可能となる。
ファイル化部66は、フレーム合成部64により生成された合成動画の画像データと、音声付加部65により必要に応じて付加された音声の音声データと、各種メタデータとを含むファイル(以下、「合成画像ファイル」と呼ぶ)を生成し、合成動画記憶部75に記憶させる。合成動画記憶部75は、記録手段を構成する。
合成動画の再生時には、合成動画記憶部75に記憶された合成画像ファイルに含まれる合成動画の画像データのうち、表示対象のフレームの画像データが、メモリ34の表示メモリ領域に表示画像データとして格納される。すると、出力制御部35は、当該表示画像データを読み出し、その表示画像データにより表現される画像、即ち、表示対象のフレームを表示部42に表示させる。出力制御部35は、このような処理を、再生速度にあわせて、合成動画を構成する各フレーム毎に実行することで、合成動画を再生することができる。さらに、合成画像ファイルに音声データが含まれている場合には、出力制御部35は、当該音声データにより表現される音声を、音声出力部41から出力させる。
次に、図3及び図4のフローチャートを参照して、このような機能的構成を有するデータ処理部13が実行する合成動画生成処理について説明する。その際、合成動画生成処理の理解を容易なものとすべく、図5又は図6に示す表示画像を適宜参照する。
図3及び図4は、合成動画生成処理の流れの一例を示すフローチャートである。図5及び図6は、合成動画生成処理中に表示部42に表示される各種表示画像の具体例を示している。
図3のステップS1において、データ処理部13の合成条件決定部62は、背景選択のモードの選択操作が検出されたか否かを判定する。
背景選択のモードが選択されていない場合、ステップS1においてNOであると判定されて、図4に示すように、合成動画生成処理は終了となる。
これに対して、例えば、図5に示すように、モニタ画像101などが表示部42に表示されている状態で、操作部43のうちの「MENYU釦(図示せず)」が押下され、PLAYメニュー画像102が表示され、さらに、操作部43のうちの「SET釦(図示せず)」により、「合成画像作成」という項目120が選択されると、合成条件決定部62は、背景選択のモードの選択操作を検出する。これにより、図3のステップS1においてYESであると判定されて、処理はステップS2に進む。
ステップS2において、合成条件決定部62は、インデックス記憶部71を参照する。ステップS3において、合成条件決定部62は、出力制御部35を制御することによって、複数の画像ファイル(背景動画ファイル含む)に対応するインデックス画像データの画像をインデックス記憶部71から読み出して表示部42に表示させる。そして、ステップS4において、合成条件決定部62は、選択の指示操作が検出されたか否かを判定する。
例えば、ステップS3の処理で、図5に示すように、所定の背景動画を示すインデックス画像データの画像121を含む選択画像104が、表示部42に表示される。ユーザは、この選択画像104が表示されている状態で、操作部43のうちの「左釦(図示せず)」又は「右釦(図示せず)」を押下することにより、選択画像104内の表示状態を、画像121から、別の背景動画又は背景静止画を示すインデックス画像データの画像に切り替えることができる。このようなユーザによる「左釦(図示せず)」、「右釦(図示せず)」の他、後述する「上釦(図示せず)」、「下釦(図示せず)」の押下操作による指示を、合成条件決定部62からみた場合には「外部からの方向指示」と呼び、そのための上述した押下操作を「外部からの方向指示操作」と呼ぶ。ユーザは、外部からの方向指示操作を何度か繰り返すことにより、所望のインデックス画像データの画像を選択画像104内に表示させ、その後、操作部43のうち「SET釦(図示せず)」を押下することで、当該所望のインデックス画像データの画像により示される背景動画又は背景静止画を選択することができる。
「SET釦(図示せず)」が押下されない場合、選択の指示操作が合成条件決定部62において検出されないため、ステップS4においてNOであると判定されて、処理はステップS3に戻され、それ以降の処理が繰り返される。即ち、「SET釦(図示せず)」が押下されない限り、ステップS3,S4NOのループ処理が繰り返される。その後、「SET釦(図示せず)」が押下されると、選択の指示操作が合成条件決定部62において検出されるため、ステップS4においてYESであると判定されて、処理はステップS5に進む。
ステップS5において、合成条件決定部62は、合成条件の1つとして、選択の指示操作が検出された時点に選択画像104内に表示されていたインデックス画像データの画像が示す背景動画又は背景静止画を、合成対象の背景画として決定する。例えば選択画像104が図5の表示状態のときに「SET釦(図示せず)」が押下されると、インデックス画像データの画像121により示される背景動画が、合成対象の背景動画として決定される。
ステップS6において、合成条件決定部62は、インデックス記憶部71を参照する。ステップS7において、合成条件決定部62は、出力制御部35を制御することによって、透過情報を含む複数の画像ファイル(前景動画ファイル含む)に対応するインデックス画像データに基づく画像をインデックス記憶部71から読み出して表示部42に表示させる。そして、ステップS8において、合成条件決定部62は、選択の指示操作が検出されたか否かを判定する。
例えば、ステップS7の処理で、図5に示すように、所定の前景動画を示すインデックス画像データの画像122を含む選択画像105が、表示部42に表示される。ユーザは、この選択画像105が表示されている状態で、外部からの方向指示操作を行うことにより、選択画像105内の表示状態を、画像122から、別の前景動画又は前景静止画を示すインデックス画像データの画像に切り替えることができる。
なお、本実施形態では、複数のキャラクターを主要被写体像として含む前景動画又は前景静止画の画像データが前景動画記憶部72に予め記憶されている。このため、前景動画又は前景静止画の選択をユーザに促すために、図5に示すように、「使用する前景を選択してください」というメッセージが選択画像105内に表示される。例えば、インデックス画像データの画像122は、箒に乗った魔女が空を飛ぶように移動する前景動画を示している。
ユーザは、外部からの方向指示操作を何度か繰り返して、所望のインデックス画像データの画像を選択画像105内に表示させ、その後、操作部43のうち「SET釦(図示せず)」を押下することで、当該所望の画像により示される前景動画又は前景静止画を選択することができる。
従って、「SET釦(図示せず)」が押下されない場合、選択の指示操作が合成条件決定部62において検出されないため、ステップS8においてNOであると判定されて、処理はステップS7に戻され、それ以降の処理が繰り返される。即ち、「SET釦(図示せず)」が押下されない限り、ステップS7,S8NOのループ処理が繰り返される。その後、「SET釦(図示せず)」が押下されると、選択の指示操作が合成条件決定部62において検出されるため、ステップS8においてYESであると判定されて、処理はステップS9に進む。
ステップS9において、合成条件決定部62は、出力制御部35を制御することによって、インデックス画像データの画像同士を合成表示すると共に、合成可能な期間を差別化してタイムバーとして表示する。即ち、合成条件決定部62は、合成条件の1つとして、選択の指示操作が検出された時点に選択画像105内に表示されていたインデックス画像データの画像が示す前景動画又は前景静止画を、合成対象の前景画として決定する。合成条件決定部62は、当該合成対象の前景画と、先に合成対象として決定した背景動画とを合成した合成画像、及び、タイムバーを含む選択画像の画像データを生成する。そして、合成条件決定部62は、出力制御部35を制御することによって、当該選択画像を表示部42に表示させる。
例えば選択画像105が図5の表示状態のときに「SET釦(図示せず)」が押下されると、合成条件の1つとして、画像122により示される前景動画が、合成対象の前景動画として決定される。このため、図6に示すように、合成対象の前景動画(魔女が移動する動画)を示す画像122及び合成対象の背景動画を示す画像121が合成された合成画像と、タイムバー123とを含む選択画像106が、表示部42に表示される。
この選択画像106に表示されているタイムバー123は、前景動画と背景動画のうち再生時間が長い方の動画、本実施形態では背景動画の再生時間帯を示している。タイムバー123内のポインタ124は、前景動画と背景動画のうち再生時間が短い方の動画、本実施形態では前景動画の再生開始タイミングを示している。
ユーザは、この選択画像106が表示されている状態で、外部からの方向指示操作を行うことにより、選択画像106内のポインタ124の表示位置を、タイムバー123内で自在に移動させることができる。ユーザは、外部からの方向指示操作を何度か繰り返すことで、ポインタ124をタイムバー123内の所望の位置に表示させ、その後、操作部43のうち「SET釦(図示せず)」を押下することで、当該所望の位置により示される背景動画の再生位置から、前景動画の合成(再生)を開始させる設定をすることができる。換言すると、前景動画と背景動画との合成を、前景動画を背景動画に埋め込むと把握するならば、ユーザは、上述の操作を行うことによって、前景動画の埋め込み開始タイミングを設定することができる。この場合、フレーム合成部64は、前景動画の埋め込み開始タイミングから、当該前景動画の再生時間に相当するフレーム数について合成することになる。これにより、合成処理は、必要最低限の時間帯に対して実行されるので、処理時間の短縮を図ることが可能になり、場合によっては、生成される合成動画の画像データの容量を削減することも可能になる。なお、図示はしないが、ユーザの利便性のため、タイムバー123内に、さらに、前景動画の再生時間帯、いわゆる埋め込み時間帯に対応する長さのバーを表示させてもよい。
このようにして、ステップS9の処理で選択画像106を表示させた後、ステップS10において、合成条件決定部62は、出力制御部35を制御することによって、外部からの方向指示検出結果をタイムバー123の表示位置に反映させる。換言すると、外部からの方向指示とは、上述の如く、前景動画の埋め込み開始タイミングの変更指示であり、当該変更指示の結果の検出結果に応じて、ポインタ124の表示位置がタイムバー123内で変化する。
ステップS11において、合成条件決定部62は、前景動画の埋め込み開始タイミングの決定の指示操作が検出されたか否かを判定する。
「SET釦(図示せず)」が押下されない場合、前景動画の埋め込み開始タイミングの決定の指示操作が合成条件決定部62において検出されないため、ステップS11においてNOであると判定されて、処理はステップS10に戻され、それ以降の処理が繰り返される。即ち、「SET釦(図示せず)」が押下されない限り、ステップS10,S11NOのループ処理が繰り返される。その後、「SET釦(図示せず)」が押下されると、決定の指示操作が合成条件決定部62において検出されるため、ステップS11においてYESであると判定される。
これにより、合成条件の1つとして、前景動画の埋め込み開始タイミングが決定される。次に、合成条件決定部62は、合成条件の別の1つとして、前景動画の主要被写体像(図5や図6の例では箒に乗った魔女のキャラクター)の、背景動画内の合成位置を決定する必要がある。このため、図6に示すように、前景動画を示す画像122及び合成対象の背景動画を示す画像121が合成された合成画像と、前景動画の主要被写体像を囲む枠125とを含む選択画像107が、表示部42に表示される。
ユーザは、この選択画像107が表示されている状態で、外部からの方向指示操作を行うことにより、選択画像107内の枠125の表示位置を、背景動画内、より正確には当該背景動画を示す画像121の範囲内で自在に移動させることができる。ユーザは、外部からの方向指示操作を何度か繰り返すことで、枠125内の前景動画の主要被写体像を背景画像内の所望の位置に表示させ、その後、操作部43のうち「SET釦(図示せず)」を押下することで、前景動画の主要被写体像の、背景動画内の合成位置を決定することができる。さらに、ユーザは、操作部43のうち「SET釦(図示せず)」を押下するまでの間は、操作部43のうち「ズーム釦(図示せず)」を押下することで、合成条件のさらに別の1つである、前景動画の主要被写体像の合成サイズを変更することもできる。
即ち、ステップS11の処理でYESであると判定して選択画像107を表示させた後、ステップS12において、合成条件決定部62は、出力制御部35を制御することによって、外部からの方向指示検出結果を、前景動画の主要被写体像の合成位置に反映させる。換言すると、外部からの方向指示とは、上述の如く、前景動画の主要被写体像の合成位置の変更指示であり、当該変更指示の結果の検出結果に応じて、枠125及び前景動画の主要被写体像の表示位置が背景動画内で変化する。このような処理中に、前景動画及び背景動画を共にプレビュー再生させると、それぞれの主要被写体像が動くことになるので、ユーザにとっては完成後の合成動画をイメージしながら、前景動画の主要被写体像の合成位置を設定することが可能になる。
ステップS13において、合成条件決定部62は、前景動画の主要被写体像の合成位置の決定の指示操作が検出されたか否かを判定する。
「SET釦(図示せず)」が押下されない場合、前景動画の主要被写体像の合成位置の決定の指示操作が合成条件決定部62において検出されないため、ステップS13においてNOであると判定されて、処理はステップS12に戻され、それ以降の処理が繰り返される。即ち、「SET釦(図示せず)」が押下されない限り、ステップS12,S13NOのループ処理が繰り返される。その後、「SET釦(図示せず)」が押下されると、決定の指示操作が合成条件決定部62において検出されるため、ステップS13においてYESであると判定される。
このようにして、合成条件の1つとして、前景動画の主要被写体像の合成位置が決定され、必要に応じて合成条件の別の1つとして、前景動画の主要被写体像の合成サイズも決定される。これにより、本実施形態では、合成条件の全てが決定されたことになるので、処理は、図4のステップS14に進む。
ステップS14において、挿入フレーム生成部63は、合成対象の2つの画像ファイルに記憶されているフレームレート情報を、前景動画記憶部72又は背景動画記憶部74から読み出す。
ステップS15において、挿入フレーム生成部63は、処理内容記憶部73に記憶されている処理内容情報を参照して、フレームの画像データから挿入フレームを生成する処理を実行する。即ち、本実施形態では、挿入フレーム生成部63は、フレームレート情報から第1のフレームレート及び第2のフレームレートを認識し、処理内容情報に従って、高いフレームレートの背景動画の再生速度に合わせて、低いフレームレートの前景動画に含まれる各フレームの画像データから挿入フレームを生成する。
このようなステップS15の処理を、以下、「挿入フレーム生成処理」と呼ぶ。挿入フレーム生成処理の詳細については、図7乃至図9を用いて後述する。
ステップS16において、フレーム合成部64は、処理内容記憶部73に記憶されている処理内容情報を参照して、フレームを合成する合成処理を実行する。即ち、本実施形態では、処理内容情報に従って、再生時の再生速度が互いに適合するように、挿入フレーム生成部63により生成された挿入フレームを含む複数のフレームから構成される前景動画の画像データと、背景動画の画像データとをフレーム単位で順次合成する。これにより、背景動画と前景動画とが合成された合成動画であって、正規の画角を有する複数のフレームから構成される合成動画の画像データが生成される。
なお、ステップS15及びS16の具体例については、図10乃至図13を参照して後述する。
ステップS17において、音声付加部65は、合成対象の前景動画又は背景動画に音声が記録されていたか否かを判定する。
合成対象の前景動画及び背景動画の何れにも音声が記録されていない場合、ステップS17においてNOであると判定されて、ステップS18の処理は実行されずに、処理はステップS19に進む。
これに対して、合成対象の前景動画又は背景動画の少なくとも一方に音声が記録されている場合、ステップS17においてYESであると判定されて、処理はステップS18に進む。ステップS18において、音声付加部65は、合成部分に対応する音声データを切り取り、合成動画の画像データに関連付ける。なお、本実施形態では、合成対象の前景動画及び背景動画の両者に音声が記録されている場合、背景動画の音声の音声データが優先的に切り取られて、合成動画の画像データに関連付けられるとする。
ステップS19において、ファイル化部66は、合成動画の各データをファイル化し、出力制御部35を制御して、合成動画のプレビュー表示を行う。即ち、ファイル化部66は、ステップS16の処理で生成された合成動画の画像データと、ステップS18の処理が実行された場合にはその処理で関連付けられた音声の音声データと、各種メタデータとを含む合成画像ファイルを生成し、合成動画記憶部75に記憶させる。この間、表示部42には、例えば図6に示すような画像108が表示されており、合成画像ファイルが合成動画記憶部75に記憶されると、表示部42の表示画像が、合成動画126のプレビュー表示を行う画像109に切り替わる。これにより、合成動画生成処理が終了になる。
さらに、以下、図7乃至図9を参照して、挿入フレーム生成処理について説明する。図7は、後述する補間合成に向いている動画の例と不向きな動画の例を示す図である。図8は、挿入フレーム生成処理の一例を示すフローチャートである。図9は、挿入フレーム生成処理中に表示部42に表示される各種表示画像の一例を示す図である。
本実施の形態で、挿入フレーム生成部63は、挿入フレームを生成する画像データの条件が適当であれば、補間する対象となる画像データの前後のフレームから、当該画像データのフレームの画像データ間の差分に基づいて挿入フレームを生成する。このようにして生成されたフレームを以下、「補間フレーム」と呼ぶ。
例えば、補間する対象となる画像データの前後のフレームにおいて主要被写体像の領域が移動している場合、基本的に、挿入フレーム生成部63は、前後のフレームにおける主要被写体像の領域の位置の中間に位置する主要被写体像の領域を有するように補間フレームを生成する。また、前後のフレームにおいて主要被写体像の領域の大きさが変化している場合、基本的に、挿入フレーム生成部63は、前後のフレームの主要被写体像の領域の中間の大きさの主要被写体像の領域を有する補間フレームを生成する。フレーム合成部64はこのようにして生成された補間フレームを用いて合成処理を実行する。このように、補間フレームを用いて合成画像を生成する処理を、以下、「補間合成」処理と呼ぶ。
挿入フレームを生成することが適当である画像データの条件として、例えば主要被写体の領域の移動量が所定量以上であり、かつ、主要被写体の領域の移動方向が略一定であることが考えられる。このような場合、主要被写体は略一定の方向に所定量以上の移動をしているので、当該動画データの隣り合うフレームの差分に基づいて補間フレームを生成することができ、かつ生成した補間フレームを用いて動画データを補間しても、続くフレームとの間に一定の連続性は保たれるので不自然さは生じない。
しかし、主要被写体の領域の移動量が所定量を下回る場合は、当該動画データの隣り合うフレームの差分に基づいて補間フレームを生成できなくなる。又、主要被写体の領域の移動方向が略一定でない場合は、生成した補間フレームを用いて動画データを補間しても、補間フレームが続くフレームを正しく予測しているとは限らなくなるので、画像が不自然となる可能性がある。
図7(1)は、挿入フレームを生成することが適当である画像の一例である。ソリに乗っている被写体は一定の方向に素早く移動をしている。移動ベクトル202A、203A、204A、205Aの各々の方向は略一定であり、大きさも補間フレームを生成可能な程度に大きい。このような場合、画像201と画像202の間、画像202と画像203の間、画像203と画像204の間、画像204と画像205の間で補間フレームを生成しても、続くフレームとの間に一定の連続性は保たれるので不自然さは生じない。
図7(2)は、挿入フレームを生成することが不向きである画像の一例である。被写体は手を使ってジェスチャをしている。動きベクトル212A、213A、214A、215Aの各々の方向はバラバラであり、大きさも小さい。このような場合、画像211と画像212の間、画像212と画像213の間、画像213と画像214の間、画像214と画像215の間で仮に動きベクトルの大きさが十分に大きく、補間フレームを生成できたとしても、生成した補間フレームが続くフレームを正しく予測しているとは限らなくなるので、不自然さが生じる可能性がある。
従って、本実施の形態では、主要被写体の領域の移動量が所定量以上であり、かつ、主要被写体の領域の移動方向が略一定である場合に、挿入フレームを生成して、補間合成を実行する。
補間フレームは、例えば、補間する対象となる画像データの隣り合うフレームの間の動きベクトルから補間画像の前後の撮像画像間での動きベクトルを予測し、求めた予測動きベクトルを用いて補間画像の各画素の値を求め、撮像画像の露光時間とシャッタ閉時間の比に応じた重みをつけて、撮像画像と補間画像を積分して生成することができる。
主要被写体の領域の移動量が所定量を下回る、又は、主要被写体の領域の移動方向が略一定ではない場合、挿入フレーム生成部63は、挿入フレームを、当該画像データのフレームの画像データを複製して生成する。このようにして生成されたフレームを以下、「複製フレーム」と呼ぶ。さらに、複製フレームを用いて合成画像を生成する処理を、以下、「単純合成」処理と呼ぶ。
挿入フレーム生成部63が挿入フレームとして補間フレームを生成するか、又は複製フレームを生成するか、という挿入フレーム生成部63が実行する処理内容については、合成条件決定部62が決定する。
図4のフローチャートのステップS14において、選択画像105を操作するユーザによって前景動画又は前景静止画が選択されると、挿入フレーム生成処理が開始する。
図8は挿入フレーム生成処理の流れの一例を示すフローチャートである。
ステップS101において、合成条件決定部62は、前景動画記憶部72に記憶されている前景動画の画像データから1フレーム分を読み込む。
ステップS102において、合成条件決定部62は、前景動画の画像データから主要被写体像の領域を抽出する。図6の例では、主要被写体像の領域は、箒に乗った魔女のキャラクターであるので、以下、「キャラクター」として説明を続ける。この場合、前景動画の画像データが対象となるので、キャラクターの画像データは、背景動画の画像データに含まれる透過情報、具体的には、アルファチャネルに保存されたアルファ値を参照して抽出することができる。即ち、アルファ値としてゼロでない値が設定されている領域を主要被写体像領域、即ち、キャラクターの領域として、アルファ値としてゼロが設定されている領域を当該主要被写体像領域を除く領域、即ち、キャラクターのない透過情報領域として抽出処理を行う。抽出したキャラクターの画像データは、メモリ34に一時的に記憶する。
ステップS103において、合成条件決定部62は、前のキャラクターが存在するか否かを判定する。
具体的には、合成条件決定部62は、メモリ34を参照して、既に抽出されたキャラクターの画像データが記憶されているか否かを判定する。
前のキャラクターが存在しない、即ち、メモリ34に他のキャラクターの画像データが記憶されていない場合は、前のキャラクターが存在しないとして、NOと判定されて、処理はステップS101に戻り、ステップS101〜ステップS103迄の処理が繰り返される。一方で、メモリ34に他のキャラクターの画像データが記憶されている場合は、前のキャラクターが存在するとして、YESと判定されて、処理はステップS104に進む。
ステップS104において、合成条件決定部62は、前のキャラクターの画像データに基づいてステップS102で取得したキャラクターの画像データの動きベクトルを取得する。
ステップS105において、合成条件決定部62は、ステップS104で取得した動きベクトルの動き量が所定の閾値以上であるか否かを判定する。動きベクトルの動き量が所定の閾値以上の場合は、YESと判定されて、処理はステップS106に進む。一方で、ステップS104で取得した動きベクトルの動き量が所定の閾値を下回る場合は、NOと判定されて、処理はステップS110に進む。
ステップS106において、合成条件決定部62は、ステップS104で取得した動きベクトルの動き方向が同一であるか否かを判定する。動きベクトルの動き方向が同一である場合は、YESと判定されて、処理はステップS107に進む。一方で、ステップS104で取得した動きベクトルの動きベクトルの動き方向が同一でない場合は、NOと判定されて、処理はステップS110に進む。
ステップS107において、合成条件決定部62は、補間合成に向いていると判断する。処理は、ステップS108に進み、挿入フレーム生成部63は挿入フレームを生成する。
即ち、挿入フレーム生成部63は、処理内容記憶部73に記憶された処理内容に基づいて、前景動画の画像データから挿入データを生成し、処理はステップS109に進む。
ステップS109において、合成条件決定部62は、次のキャラクターが存在するか否かを判定する。具体的には、前景動画記憶部72を参照して、読み込んでいない前景動画の画像データが存在するか否かを判定する。
読み込んでいない前景動画の画像データが存在しない場合は、次のキャラクターが存在しないとして、NOと判定されて、挿入フレーム生成処理は終了となる。一方で、読み込んでいない前景動画の画像データが存在する場合は、次のキャラクターが存在するとして、YESと判定されて、処理はステップS101に戻る。
その後、図4のフローチャートのステップS16に進む。
一方で、ステップS105又はステップS106においてNOと判定された場合は、ステップS110に進み、合成条件決定部62は、補間合成に向いていないと判断する。処理はステップS111に進み、出力制御部35は、表示部42又は音声出力部41を介して、補間合成に向いていないという旨のメッセージをユーザに通知する。
ステップS112において、ユーザの操作部43からの操作により、合成条件決定部62は、単純合成でよいという指示操作が検出されたか否かを判定する。単純合成でよいという指示操作が検出された場合は、YESと判定されて、ステップS113に進む。
ステップS113において、挿入フレーム生成部63は、フレームを複製して挿入フレームを生成する。
即ち、挿入フレーム生成部63は、処理内容記憶部73に記憶された処理内容に基づいて、前景動画の画像データを複製して挿入データを生成する。これにより,挿入フレーム生成処理は終了となる。その後、処理は、図4のフローチャートのステップS16に戻る。
一方で、ステップS112において、単純合成でよいという指示操作が検出されなかった場合は、NOと判定されて、図3のフローチャートのステップS6に戻り、新たな前景動画を選択するようにユーザは促される。これにより,挿入フレーム生成処理は終了となる。
本実施の形態では、ステップS110で補間合成に不向きと判断された場合には、ステップS111で、補間合成に向いていないという旨のメッセージをユーザに通知し、ステップS112において、単純合成でよいという指示操作が検出された場合に、単純合成処理を実行するとしたが、本発明はこれに限定されない。ステップS110で補間合成に不向きと判断された場合には、例えば、メッセージを通知せずに、単純合成処理を実行することも可能である。あるいは、挿入フレーム生成処理を実行する際に、ユーザに合成方法を選択する旨の通知をしてもよい。
その時に表示部42によって表示される表示画像の一例を図9に示す。
画像110は、表示部42に表示される、ユーザに合成方法を選択する旨の通知をする合成画像作成メニュー画像の一例である。図4のフローチャートのステップS14において選択画像105を操作するユーザによって前景動画又は前景静止画が選択された後、表示部42に画像110を表示して、ユーザに合成方法の選択を通知してもよい。
画像111は、表示部42に表示される、補間合成が困難なことを通知する通知画像の一例である。図8のステップS110でユーザに補間合成に不向きであると判定された後に、表示部に画像111を表示して、補間合成に不向きであることを通知してもよい。ここで、ユーザが単純合成を望まないと判断して「キャンセル」を選択した場合は、ステップS5に進み、前景動画を再び選択するように促してもよい。
さらに、以下、図10乃至図13を参照して、合成動画生成処理のうち、処理内容情報を参照して実行される、ステップS15及びS16の処理について具体的に説明する。
図10は、処理内容情報のデータ構造の一例を示している。図11乃至図13の各々は、図10の処理内容情報に従ってフレームを複製する場合のスケジューリングの具体例を示している。
本実施形態において、処理内容情報は行列構造を有しているため、以下、図10中横方向の項目の集合体を「行」と称し、同図中縦方向の項目の集合体を「列」と称する。所定の行には、背景動画の第1のフレームレートの1つが対応付けられている。所定の列には、前景動画の第2のフレームレートの1つが対応付けられている。即ち、i行j列(iは1又は2の値であり、jは1乃至4のうちの何れかの値である)の項目には、i行に対応付けられた第1のフレームレートと、j行に対応付けられた第2のフレームレートとの組み合わせの場合における、挿入フレーム生成部63の処理内容(挿入フレームの生成手法)及びフレーム合成部64の処理内容(フレームの合成手法)が格納されている。
例えば図10において、背景動画の第1のフレームレートが1行目の24(FPS)であり、前景動画の第2のフレームレートが2列目の5(FPS)である場合、1行2列の項目に格納されている処理内容、即ち、「前景動画の各フレームについて5回複製し、背景動画1フレームにつき前景動画1フレームを合成(このとき前景動画のフレームNo.が同じもので背景動画のフレームNo.が順次インクリメントしているものを連続6回生成)」という処理内容が、挿入フレーム生成部63及びフレーム合成部64の各々により処理内容記憶部73から読み出される。すると、挿入フレーム生成部63は、図11に示すスケジューリングに沿って前景動画の各フレームを複製し、フレーム合成部64は、図11に示すスケジューリングに沿って、背景動画の各フレームと、前景動画の各フレーム(複製されたフレーム含む)とを合成していく。
なお、図11において、背景動画フレーム番号とは、背景動画を構成する各フレームの各々に対して再生順に付された番号であって、図10における「背景動画のフレームNo.」のことをいう。また、前景動画フレーム番号とは、前景動画を構成する各フレームの各々に対して再生順に付された番号であって、図10における「前景動画のフレームNo.」のことをいう。即ち、図11において、同一の前景動画フレーム番号が6つ存在することは、当該前景動画フレーム番号の元のフレームの後に、当該元のフレームが5回複製されたものが順次挿入されて、背景動画の対応するフレームと合成されることを意味している。この段落の記載事項は、図12についても同様に当てはまる。
また例えば図10において、背景動画の第1のフレームレートが2行目の30(FPS)であり、前景動画の第2のフレームレートが4列目の20(FPS)である場合、2行4列の項目に格納されている処理内容、即ち、「前景動画の各フレームについて5フレームおきに1回挿入フレームを生成し、背景動画1フレームにつき前景動画1フレームを合成(このとき前景動画のフレームNo.が同じもので背景動画のフレームNo.が順次インクリメントして生成)」という処理内容が、挿入フレーム生成部63及びフレーム合成部64の各々により処理内容記憶部73から読み出される。すると、挿入フレーム生成部63は、図12に示すスケジューリングに沿って前景動画の各フレームから挿入フレームを生成し、フレーム合成部64は、図12に示すスケジューリングに沿って、背景動画の各フレームと、前景動画の各フレーム(生成された挿入フレーム含む)とを合成していく。ここで挿入フレームとは、既に説明した通り、対象とする前景動画フレームが補間合成に向いていると判断されて補間合成処理が行われた場合は補間フレームであり、補間合成に不向きであると判定されて、単純合成処理が行われた場合は複製フレームとなる。図12において、下線の引かれた前景動画フレーム番号は、当該前景動画フレームが補間フレームであることを示す。
以上説明したように、本実施形態に係るデジタルカメラ1は、正規の画角を有し第1のフレームレートを有する動画を背景動画とし、正規の画角内に主要被写体像領域を含むと共に当該主要被写体像領域を除く領域を透過情報領域として含む、第2のフレームレートを有する動画を前景動画として、背景動画の画像データと前景動画の画像データとを合成し、正規の画角を有した合成動画の画像データを生成する。この場合、デジタルカメラ1の挿入フレーム生成部63は、第1のフレームレートと第2のフレームレートとを比較し、前景動画及び背景動画のうち、高いフレームレートの方の動画の再生速度に合わせて、低いフレームレートの方の動画に含まれる各フレームの画像データから挿入フレームを生成する。デジタルカメラ1のフレーム合成部64は、再生時の再生速度が互いに適合するように、前景動画及び背景動画のうち、挿入フレーム生成部63により生成された挿入フレームを含む複数のフレームから構成される方の動画の画像データと、他方の動画の画像データとをフレーム単位で順次合成する。フレーム合成部64は、挿入フレーム生成部63によって生成された各挿入フレームを、第2の動画のフレーム間における主要被写体像領域の移動を補間するように第1の動画の各フレームに挿入して、合成する。これにより、背景動画と前景動画とが合成された合成動画であって、正規の画角を有する複数のフレームから構成される合成動画の画像データが生成される。
このようにして、本実施形態に係るデジタルカメラ1は、現実味のある滑らかな合成動画を作成することができる。
なお、本発明は前記実施形態に限定されるものではなく、本発明の目的を達成できる範囲での変形、改良などは本発明に含まれるものである。
例えば、上述した実施形態では、挿入フレーム生成部63の処理は、処理内容記憶部73に記憶されている処理内容情報に従って実行されたが、特にこれに限定されない。例えば、前景動画1フレームあたりの表示時間を「Tc」と表記すると、5FPCであればTc=0.2(s)となり、10FPCであればTc=0.1(s)となり、20FPCであればTc=0.05(s)となる。一方、背景動画1フレームあたりの表示時間を「Tb」と表記すると、24FPCであればTc=0.0416(s)となり、30FPCであればTc=0.0333(s)となる。従って、図示はしないが、図2の機能ブロックに対してさらに演算部を設け、当該演算部が、(Tc/Tb)を演算することによって、前景動画1フレームあたり、何倍の長さで表示したらよいのか、即ち、複製するフレームの数はこの倍数に相当する数であることを求めることができる。そこで、挿入フレーム生成部63は、1フレーム毎に(若しくは交互に)、この倍数に相当する分だけ、前景動画のフレームの画像データを複製すればよい。これにより、処理内容情報などを予め保持しておく必要が無くなり、また、任意の第1のフレームレートや任意の第2のフレームレートについても、適切なフレームの複製が可能になる。
また、合成画像の作成は、図10に示した場合に限定されない。例えば、前景動画の第1のフレームレートが背景動画の第2のフレームレートの略2倍である場合で、かつ、前景動画画像の画像データが補間合成に向いていると判断された場合、図13に示すように、前景動画の画像データの各々のフレームから補間フレームを生成して、補間合成をしてもよい。
また、本実施の形態では、補間合成に適当である画像データの条件を、主要被写体の領域の移動量が所定量以上であり、かつ、主要被写体の領域の移動方向が略一定として説明したが、これに限定されず何れか一方の条件だけで判断してもよい。またこの他にも、例えば、前後のフレームから抽出した主要被写体像の領域の重なり量に応じて判定することもできる。主要被写体像の領域の重なり量が大きい場合は、主要被写体の動きが少ないことを意味する。このため、補間合成に適当である画像データの条件を、例えば、前後のフレームから抽出した主要被写体像の領域の重なり量を算出して、この重なり量が所定の閾値以下であるとしてもよい。
さらに、主要被写体が、撮像部11に近づく、あるいは、撮像部11から離れる方向に移動する場合もある。即ち、主要被写体の領域の大きさが所定量以上に変化した場合も、撮像部11に近づく方向に、あるいは、撮像部11から離れる方向に、所定量以上の移動をしていると考えられる。このため、補間合成に適当である画像データの条件を、主要被写体像の領域の大きさを算出して、前後のフレームで主要被写体像の領域の大きさに所定量以上の変化が認められた時としてもよい。
さらに、上述の動きベクトルにかかわる数値は、撮影時の連写間隔が短い程動きの量は少なく算出される。このため、上述の閾値は撮影時の連写間隔を考慮して、必要な場合は適宜変更することが好ましい。
<変形例>
上記実施形態では、本願発明をデジタルカメラに適用させた場合について詳述したが、これに限らず、カメラ付き携帯電話など、撮像機能とメール送信機能やネットワークサーバへのアップロード機能を備えた無線通信機器に適用させてもよい。
以下、そのような機器に適用させた場合について説明する。なお、上記実施形態と動作や機能を同じくする構成については同一符号を付すことで説明を省略する。
図14は、本変形例におけるカメラ付き携帯電話111の外観図を示すものであり、(a)は開状態の正面図、(b)は閉状態の背面図を示す。
カメラ付き携帯電話111は、表示部42を備える第1の筐体と、操作部43を備える第2の筐体とからなり、第1の筐体と第2の筐体とは二軸の方向に回動するヒンジ部により、図14(a)に示す開状態と、図14(b)に示す閉状態とを取ることができる。なお、同図において、符号46は通話用スピーカを示す。
この場合、背景画像や前景画像を撮像することにより取得する場合は、図14(a)、(b)の両形態で行う。また上記合成動画生成処理は図14(a)の形態でのみ行う。
図15は、上記カメラ付き携帯電話111のハードウェアの構成を示す図である。
カメラ付き携帯電話111は、上記デジタルカメラ1と比較し、大まかな点では、音声出力部として上記通話用スピーカ46が追加され、通信部44に代りCDMAなどの無線通信方式に対応する信号処理部を有する通信部440、アンテナ441が設けられている点で異なるが、この他、CPU31は画像処理以外に通信処理、電子メール作成処理、データアップロード、データダウンロード処理も行う。なお、当然のことながら、ROM32にはこれらの処理を実行するプログラムがさらに格納されている。
また、図2におけるインデックス記憶部71、前景動画記憶部72、背景動画記憶部74に記憶させるべき画像データ、動画ファイルは、画像取得部61にて取得する他、無線通信ネットワーク(図示せず)を介して、アンテナ441、通信部440にて受信したものを記憶させることができる。
また上記合成動画生成処理にて作成された合成動画ファイルは、電子メールへの添付処理、若しくは、直接的なネットワークサーバへのアップロード処理により、カメラ付き携帯電話111外部に出力することができる。
このように変形例によれば、単に装置内部で現実味のある滑らか合成動画を生成できるだけでなく、合成に必要な前景動画、背景動画を無線通信ネットワークを介して簡単に入手できるだけでなく、生成された合成動画を外部に送信することも可能である。
このように、本発明は、デジタルカメラに特に限定されず、電子機器一般に適用することができる。具体的には例えば、本発明は、ビデオカメラ、携帯型ナビゲーション装置、ポータブルゲーム機などに適用可能である。
上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。
一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、コンピュータなどにネットワークや記録媒体からインストールされる。コンピュータは、専用のハードウェアに組み込まれているコンピュータであってもよい。また、コンピュータは、各種のプログラムをインストールすることで、各種の機能を実行することが可能なコンピュータ、例えば汎用のパーソナルコンピュータであってもよい。
このようなプログラムを含む記録媒体は、図示はしないが、ユーザにプログラムを提供するために装置本体とは別に配布されるリムーバブルメディアにより構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される記録媒体などで構成される。リムーバブルメディアは、例えば、磁気ディスク(フロッピディスクを含む)、光ディスク、又は光磁気ディスクなどにより構成される。光ディスクは、例えば、CD−ROM(Compact Disk−Read Only Memory),DVD(Digital Versatile Disk)などにより構成される。光磁気ディスクは、MD(Mini−Disk)などにより構成される。また、装置本体に予め組み込まれた状態でユーザに提供される記録媒体は、例えば、プログラムが記録されている図1のROM32や、図示せぬハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。