以下、本発明を適用した画像編集装置の一例として、パーソナルコンピュータ(PC)を例に取り上げて説明する。
図1に示すように、PC11は、デジタルカメラ12aやビデオカメラ12bなどの撮像装置12との間でデータ通信を行うことができる。PC11と撮像装置12との間のデータ通信としては、USBケーブルなどの有線によるデータ通信の他、無線通信を用いたデータ通信が挙げられる。また、PC11は、撮像装置12から取り外された記憶媒体34を装着することにより、装着された記憶媒体34に記憶された画像データの読み出しや、該記憶媒体34に対して画像データの書き込みを行うことができる。
図2に示すように、PC11は、CPU21、ROM22、RAM23、表示制御回路24、表示装置25、バッファメモリ26、画像メモリ27、メディアコントローラ28、接続用I/F29、通信部30、キーボード31、ポインティングデバイス32からなる。ここで、CPU21、ROM22、RAM23、表示制御回路24、バッファメモリ26、画像メモリ27、メディアコントローラ28、接続用I/F29及び通信部30は、バス33を介して電気的に接続される。
CPU21は、ROM22に記憶された制御プログラムやアプリケーションプログラムを実行したときに、PCの各部を制御する。なお、このアプリケーションプログラムとして、画像編集プログラムが挙げられる。このCPU21には、キーボード31やポインティングデバイス32からの操作信号に応じた制御を実行する。ここで、ポインティングデバイス32としては、例えばマウスや、トラックボール、ペンタブレットなどが挙げられる。
ROM22は、PC11にて実行される制御プログラムやアプリケーションプログラムの他、これらプログラムを実行する際に使用される演算子などのデータを記憶する。RAM23は、CPU21にて上述したプログラムを実行したときに生成されるデータなどを一次記憶する。
表示制御回路24は、表示装置25における表示制御を行う。表示装置25の例として、液晶表示装置(LCD)、有機ELディスプレイなどが挙げられる。バッファメモリ26は、画像データなどを一時的に記憶する。画像メモリ27は、画像編集プログラムを実行したときに、取り込まれる画像ファイルを格納する。
メディアコントローラ28は、記憶媒体34を装着することで、PC11と記憶媒体34とを電気的に接続する。ここで、記憶媒体34としては、例えばメモリカードや、光学ディスク、磁気ディスクなどが挙げられる。
接続用I/F29は、例えばUSBポートやIEEEポートなどから構成される。この接続用I/F29には、ケーブルの一端に設けられたコネクタが装着される。このケーブルの他端に設けられたコネクタは、撮像装置12に接続される。これにより、撮像装置12とPC11とが電気的に接続される。
通信部30は、ネットワークに接続するための通信デバイス等で構成された通信インタフェースである。この通信部30としては、無線LAN(LocalArea Network)対応の通信部やワイヤレスUSB対応の通信部の他、有線通信に対応した通信部が挙げられる。
図3に示すように、CPU11は、画像編集プログラムを実行したときに、動画像管理部41、タイムライン生成部42、シーン解析部43及び代表画像取得部44の機能を実行する。動画像管理部41は、PC11に取り込まれた画像ファイル(動画像ファイル、静止画像ファイル)を管理する。
タイムライン生成部42は、動画像ファイルに対するタイムライン表示を行う際に必要となる情報を生成する。例えば、詳細は後述するが、タイムライン表示は、ソートされた複数の動画像ファイルに基づいたタイムライン表示と、ソートされた動画像ファイルに含まれるシーンに基づいたタイムライン表示とからなる。例えば、ソートされた複数の動画像ファイルに基づいたタイムライン表示を行う場合、タイムライン表示を行う際に必要となる情報としては、ソートされた動画像ファイルの配列に関する情報と、ソートされた動画像ファイルにおける各フレーム画像に対するタイムコードの情報とが挙げられる。
この場合、タイムライン生成部42は、まず、画像メモリ27に設けられたフォルダのうち、対象となるフォルダ内に格納された複数の動画像ファイルを、その録画日時の古い順にソートする。これにより、動画像ファイルの配列に関する情報が取得される。
次に、タイムライン生成部42は、ソートされた複数の動画像ファイルの各フレーム画像データに付されたタイムコードを読み出す。周知のように、撮像装置12を用いた動画撮影では、予めフレームレートが決定されている。つまり、動画像ファイルを構成する各フレーム画像には、該フレーム画像を最小単位とした時間的位置を示すタイムコードがそれぞれ付されている。そこで、タイムライン生成部42は、各動画像ファイルを構成するフレーム画像に付されたタイムコードを、ソートされた動画像ファイルの第1フレーム目のフレーム画像のタイムコードを基準にして、新たに設定する。これにより、ソートされた複数の動画像ファイルの各フレーム画像に対するタイムコードの情報が取得される。
一方、ソートされた動画像ファイルに含まれるシーンに基づいたタイムライン表示を行う場合に、タイムライン表示を行う際に必要となる情報としては、シーン解析部43における判定結果に基づいて設定されるシーンチェンジフラグの位置の情報が挙げられる。
シーンに基づくタイムライン表示を行う場合、タイムライン生成部42は、時間的に前後する2つのフレーム画像を読み出し、フレーム画像におけるシーンが変化しているか否かを判定する。なお、時間的に前後する2つのフレームとは、任意のフレームに対して所定数前のフレームと所定数後のフレームであってもよい。所定数前のフレームと所定数後のフレームはユーザが任意で決めてもよい。また、任意のフレームに対して1つ前のフレームと1つ後のフレームであってもよい。この判定において、シーンが変化していると判定された場合に、時間的に前後する2つのフレーム画像のうち、時間的に後に位置するフレーム画像に対して、シーンチェンジフラグを付与する。この処理を読み出した動画像ファイルの全てに対し実行する。これにより、シーンチェンジフラグが設定され、設定されたシーンチェンジフラグの位置の情報が得られる。
シーン解析部43は、ソートされた動画像ファイルに含まれるシーンのシーン解析を行う。シーン解析としては、例えば各フレーム画像に対する領域分割処理を用いてシーンを解析する方法の他、顕著度マップを生成することでシーンを解析する方法が挙げられる。
代表画像取得部44は、動画像ファイルにおける代表画像や各シーンにおける代表画像を取得する。例えば動画像ファイルの代表画像としては、例えば動画像ファイルを構成する複数のフレーム画像から、第1フレーム目のフレーム画像に基づくサムネイル画像を代表画像として取得する。また、シーンにおける代表画像としては、シーンを構成するフレーム画像から、シーン解析部43の解析結果に基づいたフレーム画像に基づくサムネイル画像を代表画像として取得する。そして、代表画像取得部44は、取得したサムネイル画像を表示制御回路24に出力する。
図4は、表示装置25に表示される画像編集画面の一例を示す。画像編集プログラムを実行すると、表示装置25には画像編集画面51が表示される。ここで、画像編集画面51は、表示装置25の全体に表示するものであってもよいし、表示装置25の一部を用いて表示するものであってもよい。この画像編集画面51は、実行可能な機能の一覧(図4中機能メニュー)と、選択された機能メニューに基づいた内容とから構成される。ここで、ユーザは、機能メニューに表示される機能項目を選択することで、選択した機能に基づく処理を実行することができる。ここで、機能項目「かんたんバックアップ」は、撮像装置12により得られた画像ファイルの全てを、撮像装置12からPC11にバックアップする際に選択される。この場合、バックアップされる画像ファイルは、全て、PC11の画像メモリ27に格納される。また、項目「選択画像取り込み」は、撮像装置12により得られた画像ファイルのうち、ユーザがバックアップしたい画像ファイルをPC11に記憶させる際に選択される。項目「ワンタッチディスク」は、PC11に記憶されている画像ファイルを、光学ディスクなどの記憶媒体に記憶する際に選択される。
次に、画像編集画面51において画像編集処理を行う場合について説明する。この場合、画像編集処理を行う動画像ファイルを選択する必要がある。画像編集処理を行う動画像ファイルを選択する場合、画像編集画面51には、ディレクトリ構造とフォルダ構成とが表示される。例えば画像編集処理を行うフォルダを選択すると、選択されたフォルダ内に含まれる動画像ファイルの一覧が表示される(図5参照)。ここでは、選択されたフォルダ内に、「a.mov」,「b.mov」,「c.mov」の3つの動画像ファイルが格納されている場合を示している。
ここで、フォルダに含まれる動画像ファイルの一覧にかかる表示としては、各動画像ファイルの詳細表示(撮影時間、ファイルの種類などの表示)や動画像ファイルの縮小表示(第1フレーム目のサムネイル画像の表示)の他、後述するタイムライン表示が挙げられる。上述したように、タイムライン表示は、ソートされた動画像ファイルの配列に基づくタイムライン表示と、ソートされた動画像ファイルに含まれるシーンに基づいたタイムライン表示とから構成される。
図6は、ソートされた動画像ファイルの配列に基づいたタイムライン表示の例を示す。ここで、タイムライン表示においては、ソートされた動画像ファイルに基づく動画像の構成を示すスライダ52と、各動画像ファイルの代表画像とが表示される。ここで、動画像ファイル「a.mov」,動画像ファイル「b.mov」,動画像ファイル「c.mov」が、動画像ファイル「a.mov」,動画像ファイル「b.mov」,動画像ファイル「c.mov」の順で撮影されているのであれば、タイムライン表示においては、動画像ファイル「a.mov」,動画像ファイル「b.mov」,動画像ファイル「c.mov」の順で表示される。ここで、スライダ52においては、ファイル名と、各動画像ファイルを色分けして表示している。なお、図6においては、動画像ファイルの色分けを、ハッチングの種類を変更することで示している。また、スライダ52における各動画像ファイルを示す位置に対応して、各動画像ファイルにおける代表画像が、吹き出しを用いて表示される。
なお、図6においては、スライダ52を、3本のスライダを用いて表示しているが、スライダ52の本数については、これに限定される必要はなく、タイムライン表示の際に表示されるスライダを、2本のスライダ、又は4本以上のスライダを用いて表示することも可能である。なお、図6中、動画像ファイルの境界に対して、印「▽」及び「△」が付される。
図7は、ソートされた動画像ファイルに基づく動画像に含まれるシーンに基づいたタイムライン表示の例を示す。ソートされた動画像ファイルに基づく動画像に含まれるシーンに基づいたタイムライン表示の場合も、ソートされた動画像ファイルに基づく動画像の構成を示すタイムライン表示と同様に、複数のスライダと、代表画像とから構成される。図7中、「scene1」、「scene2」、「scene3」、「scene4」、「scene5」が、動画像ファイル「a.mov」,動画像ファイル「b.mov」,動画像ファイル「c.mov」から得られるシーンである。このタイムライン表示においては、動画像ファイルではなく、動画像ファイルに含まれるシーンの境界に対して、印「▽」及び「△」が付される。
この場合、スライダにおいては、シーン名を表示している。このタイムライン表示においては、動画像に含まれるシーンに基づいたタイムライン表示であるが、スライダにおいては、動画像ファイルとシーンとの対応付けがユーザにわかるように、動画像ファイルの色分けして示している。なお、図7においては、動画像ファイルの色分けを、ハッチングの種類を変更することで示している。また、スライダの各シーンを示す位置に対応するように、各シーン中における代表画像が、吹き出しを用いて表示される。
以下、タイムライン表示を行う場合の処理の流れについて説明する。以下、選択されたフォルダ内に含まれる複数の動画像ファイルを結合させずに処理する場合について、第1実施形態と称して説明する。
<第1実施形態>
以下、タイムライン表示時の処理の流れについて、図8のフローチャートを用いて説明する。
ステップS101は、フォルダを指定する処理である。ユーザがキーボード31又はポインティングデバイス32を操作し、ユーザの意図するフォルダを指定すると、CPU21は、指定されたフォルダに含まれる画像ファイルを読み出す。
ステップS102は、動画像ファイルがあるか否かを判定する処理である。CPU21は、読み出した画像ファイルの中に動画像ファイルがあれば、このステップS102の判定結果をYesとする。この場合、ステップS103に進む。一方、読み出した画像ファイルの中に動画像ファイルがない場合には、ステップS102の判定結果をNoとする。この場合、このフローチャートの処理が終了する。
ステップS103は、動画像ファイルをソートする処理である。CPU21は、読み出した動画像ファイルのそれぞれに付帯された撮影日時の情報を読み出す。そして、CPU21は、読み出した動画像ファイルを、撮影日時の古い順に並べ替える。そして、CPU21は、タイムライン表示を行う動画像ファイルの順序、及びタイムコードの情報を表示制御回路24に出力する。また、CPU21は、各動画像ファイルの代表画像データを取得し、取得した代表画像データを表示制御回路24に出力する。
ステップS104は、ソートされた動画像ファイルの配列に基づいたタイムライン表示を行う処理である。表示制御回路24は、ステップS103においてCPU21から出力された情報及び代表画像データに基づいて、表示装置25における表示制御を行う。これにより、画像編集画面51に、ソートされた画像ファイルの配列に基づいたタイムラインが表示される(図6参照)。
ステップS105は、シーン変化を判定する処理である。CPU21は、ソートされた動画像ファイルのうち、時間的に前後する2つのフレーム画像データを読み出す。そして、時間的に前後する2つのフレーム画像データにおいてシーンが変化しているか否かを判定する。
ステップS106は、シーンの変化があるか否かを判定する処理である。ステップS105の処理で、時間的に前後する2つのフレーム画像データにおいてシーンが変化している場合には、CPU21は、ステップS106の判定結果をYesとする。この場合、ステップS107に進む。一方、時間的に前後する2つのフレーム画像データにおけるシーンが変化していない場合には、CPU21は、ステップS106の判定結果をNoとする。この場合、ステップS108に進む。
ステップS107は、シーンチェンジフラグを設定する処理である。ステップS106においてシーンの変化があると判定された場合に実行される。CPU21は、時間的に前後する2つのフレーム画像データのうち、時間的に後になるフレーム画像データに対してシーンチェンジフラグを付与する。
ステップS108は、動画像ファイルの終端であるか否かを判定する処理である。ステップS105において、ソートした動画像ファイルのいずれかの動画像ファイルにおける最終のフレーム画像を使用してシーン変化の判定を行っている場合、CPU21は、ステップS108の判定処理をYesとする。この場合、ステップS109に進む。
一方、ステップS105において、ソートした動画像ファイルのいずれかの動画像ファイルにおける最終のフレーム画像を使用せずにシーン変化の判定を行っている場合、CPU21は、ステップS108の判定処理をNoとする。この場合、ステップS105に戻る。この場合、動画像ファイルの最終のフレーム画像を使用したシーン変化の判定が行われるまで、ステップS105からステップS107の処理が繰り返される。
ステップS109は、次の動画像ファイルがあるか否かを判定する処理である。ソートされた複数の動画像ファイルのいずれかの動画像ファイルに対するシーン変化の判定が終了している。よって、ソートした動画像ファイルの次に位置する動画像ファイルがあれば、CPU21は、ステップS109の判定結果をYesとする。この場合、ステップS110に進む。この場合、CPU21は、シーンチェンジフラグが付されたフレーム画像の位置の情報を表示制御回路24に出力する。
一方、ソートした動画像ファイルの次に位置する動画像ファイルがない場合には、CPU21は、ステップS109の判定結果をNoとする。この場合、ステップS114に進む。
ステップS110は、シーン変化の判定を行った動画像ファイルの最終のフレーム画像と、次の動画像ファイルの第1フレームとなるフレーム画像とが同一のシーンであるか否かを判定する処理である。CPU21は、シーン変化の判定を行った動画像ファイルの最終のフレーム画像と、次の動画像ファイルの第1フレームとなるフレーム画像とを読み出す。そして、これらフレーム画像におけるシーン変化の判定処理を行う。
ステップS111は、シーンの変化があるか否かを判定する処理である。2つのフレーム画像におけるシーンが変化している場合には、CPU21は、ステップS111の判定結果をYesとする。この場合、ステップS113に進む。一方、2つのフレーム画像におけるシーンが変化していない場合には、CPU21は、ステップS111の判定結果をNoとする。この場合、ステップS112に進む。この場合、後に配列される動画像ファイルの第1フレームとなるフレーム画像にシーンチェンジフラグを付加する。
ステップS112は、動画像ファイル間の境界を削除する処理である。CPU21は、ソートされた複数の動画像ファイルの境界を削除する。
ステップS113は、次の動画像ファイルを参照する処理である。この処理が行われるとステップS105に戻り、次の動画像ファイルの各フレーム画像を用いて、シーン変化を判定する処理、シーンチェンジフラグを設定する処理を実行する。
一方、ステップS109の判定結果でNoとなる場合、言い換えれば、次の動画像ファイルがない場合には、ステップS114に進む。
ステップS114は、シーンを解析する処理である。CPU21は、各シーンチェンジフラグ間のフレーム画像を用いて、シーンを解析する。
ステップS115は、代表画像を取得する処理である。CPU21は、ステップS114において実行されたシーン解析の結果に基づいて、各シーンチェンジフラグ間のシーンを代表するフレーム画像を取得し、該フレーム画像に基づくサムネイル画像を代表画像として取得する。CPU21は、生成された第2タイムライン情報を表示制御回路24に出力する。
ステップS116は、シーンに基づいたタイムライン表示である。表示制御回路24は、入力された情報に基づいて表示装置25の表示制御を行う。これにより、タイムライン表示がソートされた動画像ファイルに基づいたタイムラインの表示から、ソートされた動画像ファイルに含まれるシーンに基づいたタイムラインの表示に切り替わる(図7参照)。
このように、フォルダ内に複数の動画像ファイルが格納されている場合に、タイムライン表示を行うと、撮影日時の古い順でソートされた複数の動画像ファイルを擬似的に1つの動画ファイルと仮定したときのタイムライン表示が行われる。その際に、動画像ファイル毎に各動画像ファイルの代表画像が表示され、また、動画像ファイルの切り分け表示が行われる。
その後、ソートされた複数の動画像ファイルを擬似的に1つの動画ファイルと仮定したときのタイムライン表示から、複数の動画像ファイルに含まれるシーンに基づいたタイムライン表示に切り替わる。このソートされたシーンに基づいたタイムラインの表示においては、動画像ファイルに含まれるシーンの他に、各シーンと動画像ファイルとの関連づけが認識できるので、複数の動画像ファイルにおけるシーンのつながりを把握することができる。また、各シーンに対しては、シーンを代表する代表画像が表示されることから、各シーンの内容をユーザは認識することができる。
第1実施形態では、ソートされた複数の動画像ファイルに基づくタイムライン表示を行った後に、シーンに基づくタイムライン表示を切り替えて表示した場合について説明しているが、ソートされた複数の動画像ファイルの配列に基づくタイムライン表示を行わずに、ソートされた複数の動画像ファイルに含まれるシーンに基づくタイムライン表示のみを行うことも可能である。
第1実施形態では、選択されたフォルダ内に含まれる複数の動画像ファイルを結合させずにタイムライン表示を行う場合について説明しているが、これに限定する必要はなく、ソートされた複数の動画像ファイルを結合した後に、動画像ファイルに含まれるシーンに基づいたタイムライン表示を行うことも可能である。この場合の処理について、第2実施形態と称して説明する。
<第2実施形態>
上述したように、第2実施形態においては、ソートされた複数の動画像ファイルを結合した後に、動画像ファイルに含まれるシーンに基づいたタイムライン表示を行う。ここで、上述したタイムライン生成部42は、複数の動画像ファイルをソートした後、ソートされた複数の動画像ファイルを結合する処理を実行する。
以下、タイムライン表示における処理の流れを、図9のフローチャートを用いて説明する。
ステップS201は、フォルダを指定する処理である。このステップS201の処理は、ステップS101と同一であるので、ここでは省略する。
ステップS202は、動画像ファイルがあるか否かを判定する処理である。このステップS202の処理は、ステップS102と同一である。つまり、指定したフォルダ内に動画像ファイルがあれば、CPU21はステップS202の判定結果をYesとする。この場合、ステップS203に進む。一方、指定したフォルダ内に動画像ファイルがない場合には、CPU21は、ステップS202の判定結果をNoとする。この場合、このフローチャートの処理が終了する。
ステップS203は、動画像ファイルをソートする処理である。CPU21は、読み出した複数の動画像ファイルから撮影日時の情報を読み出す。そして、CPU21は、読み出した撮影日時の情報を用いて、複数の動画像ファイルを撮影日時の古い順に配列する。
ステップS204は、ソートされた動画像ファイルを結合する処理である。CPU21は、ステップS203にてソートされた動画像ファイルを結合し、1つの動画像ファイルを生成する。
ステップS205は、シーン変化を判定する処理である。このステップS205の処理は、ステップS105と同一の処理となるので、ここでは省略する。
ステップS206は、シーン変化があるか否かを判定する処理である。ステップS205の処理で、時間的に前後する2つのフレーム画像におけるシーンが変化している場合には、CPU21は、ステップS206の判定結果をYesとする。この場合、ステップS207に進む。一方、時間的に前後する2つのフレーム画像におけるシーンが変化していない場合には、CPU21は、ステップS206の判定結果をNoとする。この場合ステップS208に進む。
ステップS207は、シーンチェンジフラグを設定する処理である。CPU21は、時間的に前後する2つのフレーム画像のうち、時間的に後になるフレーム画像に対してシーンチェンジフラグを設定する。
ステップS208は、元の動画像ファイルの終端に到達したか否かを判定する処理である。ステップS205において、結合する前の動画像ファイルのいずれかの動画像ファイルにおける最終のフレーム画像を使用してシーン変化の判定を行っている場合、CPU21は、ステップS208の判定処理をYesとする。この場合、ステップS209に進む。一方、結合する前の動画像ファイルのいずれかの動画像ファイルにおける最終のフレーム画像を使用してシーン変化の判定を行っていない場合、CPU21は、ステップ208の判定結果をNoとする。この場合、ステップS205に戻る。よって、元の動画像ファイルの終端に到達するまで、ステップS205からステップS207の処理が繰り返し実行される。
ステップS209は、ソートした複数の動画像ファイルにおいて、現在の動画ファイルの次に配列される動画像ファイルがあるか否かを判定する処理である。CPU21は、シーン変化を行ったフレーム画像が含まれる動画像ファイルの後に、次の動画像ファイルが結合されているか否かを判定する。次の動画像ファイルが結合されている場合、CPU21はステップS209の判定結果をYesとする。この場合、ステップS210に進む。一方、次の動画像ファイルが結合されていない場合には、CPU21は、ステップS209の判定結果をNoとする。この判定結果の場合、CPU21は、シーンチェンジフラグの位置の情報を表示制御回路24に出力する。そして、ステップS213に進む。
ステップS210は、シーン判定を行った動画像ファイルの最終フレームとなるフレーム画像と、次の動画像ファイルの第1フレームとなるフレーム画像とが同一のシーンであるか否かを判定する処理である。CPU21は、シーン変化の判定を行った動画像ファイルの最終フレームとなるフレーム画像と、新たにシーン判定を行う動画像ファイルの第1フレームとなるフレーム画像とを読み出す。そして、これらフレーム画像におけるシーンが変化しているか否かを判定する。
ステップS211は、シーンの変化があるか否かを判定する処理である。この処理は、ステップS206と同一の処理である。2つのフレーム画像データにおけるシーンが変化している場合には、CPU21は、ステップS211の判定結果をYesとする。この場合、ステップS212に進む。一方、2つのフレーム画像データにおけるシーンが変化していない場合には、CPU21は、ステップS211の判定結果をNoとする。この場合、ステップS205に進む。
ステップS212は、シーンチェンジフラグを設定する処理である。CPU21は、ソ2つのフレーム画像のうち、時間的に後になるフレーム画像に対してシーンチェンジフラグを付加する。この処理の後、ステップS205に戻る。
上述したステップS209の判定処理でNoとなる場合、ステップS213に進む。
ステップS213は、シーン解析を行う処理である。このステップS213の処理は、ステップS114と同様の処理である。
ステップS214は、代表画像を取得する処理である。このステップS214の処理は、ステップS115と同一の処理である。CPU21は、シーンを構成するフレーム画像のうち、代表的なフレーム画像に基づくサムネイル画像を代表画像として取得する。
ステップS215は、全シーンに対してステップS213及びステップS214の処理を行ったか否かを判定する処理である。全シーンに対してステップS213及びステップS214の処理を行った場合には、CPU21は、ステップS215の判定結果をYesとする。CPU21は、取得した代表画像を、表示制御回路24に出力する。この場合、ステップS216に進む。一方、全シーンに対してステップS213及びステップS214の処理を行っていない場合には、CPU21は、ステップS215の判定結果をNoとする。この場合は、ステップS213に進む。
ステップS216は、シーンに基づいたタイムライン表示を行う処理である。表示制御回路24は入力された情報及び代表画像を用いて、表示装置25に対する表示制御を行う。これにより、シーンに基づいたタイムラインの表示が行われる。
この第2実施形態は、フォルダ内に記憶される複数の動画像ファイルを結合して1つの動画像ファイルを生成した後に、シーンに基づくタイムラインの表示を行っている。この第2実施形態においても、第1実施形態と同様に、表示装置25においてシーンに基づいたタイムラインが表示されることから、複数の動画像ファイルにおけるシーンのつながりやシーン内容を把握することができる。
第1実施形態及び第2実施形態においては、シーンに基づいたタイムライン表示を行うことについて説明しているが、このシーンに基づいたタイムライン表示は、動画像ファイルの一覧表示、動画像ファイルの縮小表示、ソートされた複数の動画像ファイルに基づいたタイムライン表示との間で、切り替えて表示することも可能である。この切り替え表示は、ユーザによるキーボード31やポインティングデバイス32の操作に基づいて行われることが好ましい実施形態である。
第1実施形態及び第2実施形態においては、シーンに基づいたタイムライン表示を行うことを目的としている。上述したように、シーンに基づいたタイムライン表示は、フォルダ内に記憶された全ての動画像ファイルを、連続した1つの動画像ファイルで表したときのタイムライン表示である。よって、シーンに基づいたタイムラインを表示した場合には、以下の処理を行うことも可能となる。
例えばシーンに基づくタイムライン表示において、ユーザが意図するシーンがある場合、そのシーンに基づく動画像ファイルを生成したい場合がある。このような場合には、該当するシーン又は代表画像を、ポインタを用いたクリックアンドドロップ操作により、目的のフォルダに移動させる。図10においては、ユーザが“scene2”に対する動画像ファイルを生成する場合を示す。この場合、ポインタ55をスライダ52の“scene2”の位置に合わせ、例えばマウスをクリックアンドドロップ操作し、該当するフォルダ56に移動させる。この操作が行われることを受けて、CPU21は、複数の動画像ファイルから、対象となるシーンに基づいた動画像ファイルを生成する。そして、CPU21は、画像メモリ27に設けられたフォルダ内に、生成した動画像ファイルを記憶させる。この処理の際に、CPU21は、設定し直したタイムコードを用いて、該当する動画像ファイルから対象となるフレーム画像を複製する。選択されたシーンが複数の動画像ファイルに跨っている場合には、CPU21は、該当する動画像ファイルから対象となるフレーム画像を複製し、複製したフレーム画像を合成する処理を行えばよい。
第1実施形態及び第2実施形態においては、動画像ファイルにおけるシーンの変化がある箇所に対して、シーンチェンジフラグを設定している。このため、数多くのシーンが生成されてしまう。このため、ユーザによっては、シーンが多すぎると感じる場合がある。このような場合に対応するために、例えば設定されるシーンチェンジフラグに優先度を持たせることも可能である。このようなシーンチェンジフラグに優先度(重要度)を持たせた場合、タイムライン表示の際に、シーン表示の細かさ(粒度)を変更するためのスライダ57を設け、このスライダ57を操作することで、シーン表示の粒度を変更することも可能である。図11(a)に示すように、タイムライン表示におけるシーンを詳細に確認したいユーザの場合には、シーン表示の粒度を示すスライダ57を「細」に移動させる。この場合には、設定される全てのシーンチェンジフラグを用いてタイムライン表示における各シーンを表示する。
また、タイムライン表示におけるシーンを大まかに確認したいユーザの場合には、シーン表示の粒度を示すスライダ57を「粗」に移動させる。この場合、設定される全てのシーンチェンジフラグのうち、優先度の高いシーンチェンジフラグのみを用いてタイムライン表示におけるシーンを表示する。
この図11(b)に示すように、“scene2”と“scene3”との境界を示すシーンチェンジフラグと、“scene4”と“scene5”との境界を示すシーンチェンジフラグとの優先度が、他のシーンチェンジフラグ(“scene1”と“scene2”と境界を示すシーンチェンジフラグと、“scene3”と“scene4”との境界を示すシーンチェンジフラグ)よりも優先度が高く設定される。なお、シーンチェンジフラグの優先度は、シーン変化における重要性を示すものであり、ユーザが設定してもよいし、動画像の内容から自動的に設定されるものであってもよい。
なお、シーン表示の粒度を変更できる場合には、以下の処理を行うことも可能である。例えば、シーン表示の粒度を設定したときに、表示されるシーンのうち、一部のシーンにおいては、優先度の低いシーンチェンジフラグに該当する位置でシーンが分割されていない場合がある。この場合、同一のシーンに設定されていても、シーンは細分化されている。図12は、“scene1”において、“scene1-1”,“scene1-2”,“scene1-3”の3つのシーンに細分化されている場合を示す。上述したように、ユーザが意図するシーンに基づいた動画像ファイルを生成する場合、ポインタを用いてクリックアンドドラッグを行い。目的のフォルダに移動させる操作を行うと、そのシーンに基づいた動画像ファイルが生成される。この動画像ファイルを生成したときに、選択したシーン全体の動画像ファイルを生成せずに、シーンに基づくフォルダを生成した後、該フォルダ内に、細分化されたシーンに基づく動画像ファイルを複数記憶させる。
上述した第1実施形態及び第2実施形態においては、PC11においてシーンを判別する処理を行っている。例えば、撮像装置12における動画撮影中に該撮像装置12に設けられた操作部材を操作し、ユーザにとって重要となる箇所であることを示すマーキング処理を施す場合がある。このような場合には、読み出した複数の動画像ファイルの中に、マーキング処理が施された動画像ファイルが含まれることになる。よって、マーキング処理された動画像ファイルが含まれる場合には、まず、マーキング処理が施されたフレーム画像データであるか否かの判定を行い、マーキング処理が施されていない動画像ファイルであると判定された場合に、時間的に前後する2つのフレーム画像間のシーンの変化の有無を判定する他に、うことで、シーンチェンジフラグの設定を行うことも可能である。
以下、複数の動画像ファイルの中に、撮像装置12においてマーキング処理が施された同画像ファイルが含まれる場合について、第3実施形態と称して説明する。
<第3実施形態>
以下、タイムライン表示に基づく処理について、図12のフローチャートを用いて説明する。
ステップS301は、フォルダを指定する処理である。このステップS301の処理は、ステップS101と同一の処理である。
ステップS302は、動画像ファイルがあるか否かを判定する処理である。このステップS302の処理は、ステップS102と同一の処理である。
ステップS303は、動画像ファイルをソートする処理である。このステップS303の処理は、ステップS103と同一の処理である。
ステップS304は、ソートされた動画像ファイルに基づいたタイムライン表示を行う処理である。このステップS304の処理は、ステップS104と同一の処理である。
ステップS305は、マーキング処理が施されているか否かを判定する処理である。例えば動画像ファイルから読み出したフレーム画像データに対してマーキング処理が施されていない場合には、CPU21は、ステップS305の判定結果をNoとする。この場合、ステップS306に進む。一方、フレーム画像データに対してマーキング処理が施されていない場合には、CPU21は、ステップS305の判定結果をNoとする。この場合、ステップS308に進む。
ステップS306は、シーン変化を判定する処理である。CPU21は、ソートされた動画像ファイルのうち、時間的に前後する2つのフレーム画像データを読み出す。そして、時間的に前後する2つのフレーム画像データにおけるシーンが変化しているか否かを判定する。
ステップS307は、シーンの変化があるか否かを判定する処理である。ステップS306の処理で、時間的に前後する2つのフレーム画像データにおけるシーンが変化していると判定されている場合には、CPU21は、ステップS307の判定結果をYesとする。この場合、ステップS308に進む。一方、時間的に前後する2つのフレーム画像データにおけるシーンが変化していない場合には、CPU21は、ステップS307の判定結果をNoとする。この場合ステップS309に進む。
ステップS308は、シーンチェンジフラグを設定する処理である。このステップS308の処理は、ステップS107と同一の処理である。
なお、ステップS309〜ステップS314の処理は、ステップS108〜ステップSS113の処理と同一の処理が行われる。そして、S314の処理が終了すると、ステップS305に戻り、シーンチェンジフラグの設定が各動画像ファイルのフレーム画像データに対して施されていく。その後、全ての動画像ファイルに対してシーンチェンジフラグの設定が行われた後、シーン解析処理(S−315)、代表画像を取得する処理(S−316)が行われる。そして、シーンに基づいたタイムラインが表示される(S−317)。
このように、マーキング処理が施された動画像ファイルを用いた場合には、マーキング処理されたフレーム画像があれば、そのフレーム画像の位置に対してシーンチェンジフラグを設定することができる。つまり、マーキング処理が施される箇所は、例えばユーザにとって重要なシーンが開始される箇所や、重要なシーンが終了する箇所を示しているので、このようなマーキング処理された箇所に対してシーンチェンジフラグを設定することで、シーンに基づくタイムライン表示において、ユーザの意図を加味した表示を行うことが可能となる。
第3実施形態においては、マーキング処理が施されていない場合に、シーンが変化しているか否かの判定を行っているが、マーキング処理が施されている動画像ファイルに対しては、マーキング処理が施されているか否かの判定だけを行い、シーンが変化しているか否かの判定処理を省略することも可能である。この場合、マーキング処理が施されていない動画像ファイルに対して、シーンが変化しているか否かの判定処理を行ってもよいし、行わなくてもよい。
なお、第3実施形態の場合、撮像装置において動画像撮影を行った場合には、記憶媒体において動画像ファイルを記憶するフォルダが自動的に生成された後、該フォルダに動画像ファイルが記憶される。このため、予め撮像装置において、動画像撮影にて得られる動画像ファイルの連続性についての判定を行うことも可能である。この判定を行うことで、これら動画像ファイルを用いたタイムライン表示を行う場合には、シーンが変化したか否かの判定処理を省略することが可能となる。
上述した第1から第3実施形態については、シーンに基づいたタイムライン表示を行うことを目的としている。このようなタイムライン表示においては、ユーザは、意図するシーンに該当する動画像を再生し、動画像の内容を確認する場合がある。しかしながら、シーンにおいては、時間的に長い動画像となる場合もあるので、シーンの内容を全て確認する手間がかかってしまう。このため、意図するシーンを再生する場合、動画像を再生する速度を変更することも可能である。
図14に示すように。例えばシーンの先頭から5秒間は、通常速度による再生を行う。そして、シーンの先頭から5秒を経過すると、通常速度に対して例えば30倍の速度による再生を行う。このような再生を行うことで、各シーンのそれぞれを個別に再生したときの再生時間を抑えることができる。このため、ユーザは各シーンの内容を短時間で把握することが可能となる。
また、この他に、隣り合うシーンの類似度を求め、隣り合うシーンの類似度に応じて、再生速度を変更することも可能である。この場合、例えば隣り合うシーンの類似度が、閾値よりも高い場合には、そのシーンにおける再生をスキップする、或いは通常再生に対して2倍の再生速度となる倍速再生とする。一方、隣り合うシーンの類似度が閾値よりも低い場合には、通常速度で再生する。この場合も、短時間でシーンの内容を把握することができる。この場合、シーンではなく、フレーム間の類似度に合わせて再生する速度を調整することも可能である。
上述した実施形態においては、タイムライン表示においてサムネイル画像は、画像を表示することを目的に取得されるものである。しかしながら、これらサムネイル画像を一括して、静止画像として記憶させることも可能である。
上述した第1から第3実施形態では、画像編集装置を例に取り上げて説明しているが、図3に示す機能や、図8、図9及び図13のフローチャートを実行するための画像管理プログラムであってもよい。この場合、画像編集プログラムは、メモリカード、光学ディスク、磁気ディスクなど、PCにて読み取ることができる記憶媒体に記憶されていることが好ましい。