以下、本発明の実施形態について図面を参照しながら説明する。
(第1の実施形態)
図1は、本実施形態に係る記録装置100の構成例を示すブロック図である。
図1において、入力部101は、動画データや音声データを取得して出力する。本実施形態では、入力部101は記録装置100の外部から供給された動画データや音声データを入力するが、入力部101を撮像部やマイクロフォンを含む構成とし、撮影された動画やマイクにより音声データを取得する構成としてもよい。
制御部102は、ユーザインターフェース(UI)103からの入力に応じて記録装置100の動作全体を制御する。制御部102はマイクロコンピュータやメモリ等を含み、不図示のメモリに記憶されたプログラムに従って記録装置100を制御する。また、制御部102は、記録媒体制御部106との間でデータやコマンドを通信するための記録媒体インターフェイスを内蔵している。UI103は、ユーザにより操作可能な各種のスイッチを含む。そして、UI103は、ユーザによる各種の指示などを受理して制御部102へ通知する。また、UI103は、電源スイッチや記録の開始、停止を指示するためのスイッチ、記録装置100のモードを切り替えるためのスイッチ等を含む。
信号処理部104は、記録時においては、入力部101により入力された動画データや音声データをMPEG等の公知の符号化形式に従って符号化して、その情報量を圧縮する。また、動画データや音声データを記録するために必要な処理を施す。また、信号処理部104は、再生時においては、再生された動画データや音声データを復号し、その情報量を伸張する。また、信号処理部104は、記録時において、符号化された動画データや音声データの符号量(データ量)の情報を制御部102に出力する。制御部102は、信号処理部104からの符号化された動画データのデータ量(符号量)に基づいて、後述の様に信号処理部104の符号化処理を制御し、動画データの符号量を調整する。
メモリ105は、動画データや音声データを記憶する。記録装置100の各ブロックは、メモリ105に対してアクセスすることにより、必要な動画データや音声データを処理する。また、メモリ105は、動画データや音声データの他に、ファイルシステムの情報や、管理情報、後述の付加情報など、各種の情報を記憶し、更に、制御部102による制御のためのワークメモリ等の役割を果たす。また、メモリ105は、データの記録時や再生時におけるバッファメモリの役割を果たす。
記録媒体制御部106は、記録媒体108、109(第1の記録媒体および第2の記録媒体)に対し、動画データや音声データ、或いは、各種の情報を記録し、再生する。記録媒体制御部106は、記録時においては、メモリ105に蓄積された動画データや音声データを記録媒体108や109に記録する。また、記録媒体制御部106は、再生時においては、記録媒体108や記録媒体109から動画データや音声データを再生し、メモリ105に記憶する。本実施形態では、記録媒体108、109は互いに独立した、別の記録媒体として構成され、ハードディスク(HDD)、フラッシュメモリカード等、ランダムアクセスの記録媒体である。
また、記録媒体制御部106は、記録媒体108、109に記録する動画、音声データや、各種の情報を、FAT(File Allocation Table)等のファイルシステムに従い、ファイルとして管理する。また、記録媒体制御部106は、ATA(AT Attachment)等の公知のインターフェイス(IF)を有し、制御部102における記録媒体IFとの間でデータや各種のコマンドを通信する。また、不図示の装着、排出機構により、記録装置100に対して記録媒体108、109を容易に装着、排出することができるように構成するが、記録装置100に各記録媒体108、109或いは何れか一方が内蔵される構成でもよい。
制御部102は、記録媒体108、109に対して動画ファイルの書き込み、読み出しを行う場合、記録媒体制御部106を制御して、記録媒体108、109から、ファイルシステムデータ(管理データ)を再生してメモリ105に記憶する。このファイルシステムデータは、記録媒体108、109に記録されたデータのファイル名やファイルのサイズ、データの記録アドレスなどを示すデータであり、ファイルを管理するための管理情報である。そして、制御部102は、読み出したファイルシステムデータに従ってファイルの書き込み、読み出しを制御する。制御部102は、記録媒体108、109へのファイルの書き込みに応じて、メモリ105に記憶されたファイルシステムデータを更新する。そして、更新したファイルシステムデータを、記録媒体制御部106により記録媒体108、109に記録する。
本実施形態では、記録媒体108、109に対して記録する動画ファイルに対し、汎用一意識別子(UUID:Universal Unique IDentifier)を付加して記録する。UUIDは各動画ファイルを一意に識別するための識別情報であり、制御部102は、新たに動画ファイルを作成する度に、異なる値のUUIDを生成する。そのため、記録媒体108、109に記録されたUUIDの値を確認すれば、各動画ファイルを容易に識別することができる。
また、ユーザは、UI103を操作することにより、記録装置100の動作モードの切り替え、あるいは、動画データの記録開始、停止などを指示することができる。また、ユーザがUI103を操作することにより、記録する動画の画素数やフレームレート、データレート(ビットレート)などを予め決められた値の中から選択することができる。また、本実施形態では、二つの記録媒体108、109が装着されている場合、ユーザは、UI103を操作して、一方の記録媒体を任意に選択し、この選択した方の記録媒体に対して動画データを記録する。更に、本実施形態では、二つの記録媒体108、109が装着されている場合には、これら二つの記録媒体108、109に対して入力された動画データを同時に記録するように指示することも可能である。
また、出力部107は、再生された動画データや音声データを記録装置100の外部の表示装置などに出力する。表示部110は、動画や各種の情報を液晶パネル等の表示装置に表示する。付加情報管理部111は、記録媒体108、109に対する動画ファイルの記録に応じて、動画データに関する管理情報及びプレイリストを含む付加情報を生成してメモリ105に記憶し、或いは、メモリ105に記憶された付加情報を更新する。また、付加情報管理部111は、記録媒体制御部106により、記録媒体108、109から読み出された付加情報を検出し、メモリ105に記憶する。そして、記録媒体制御部106は、制御部102の指示により、メモリ105から付加情報を読み出し、各記録媒体108、109に記録する。データバス112は、記録装置100の各部の間でデータや各種の制御コマンドなどを送受信するために用いられる。
次に、ビデオカメラ100による動画ファイルの記録フォーマットについて説明する。図5は、記録媒体108、109に記録される動画ファイルと管理ファイル、及びプレイリストファイルの関係を示す図である。
本実施形態では、1回の撮影で一つのクリップを記録する。一つのクリップは動画ファイルとその動画ファイルに関する管理情報との二種類のデータで構成される。動画ファイルと管理情報は、それぞれ独立したファイルとして管理される。また、同じクリップの動画ファイルと管理情報ファイルには同じクリップ番号を付加し、対応がわかるようになっている。
また、一つのクリップの記録に応じて、クリップの再生順を示すプレイリストファイルが作成される。プレイリストファイルは複数のアイテムを含み、各クリップの再生順がアイテムにより指定される。一つのクリップを記録する度に一つのアイテムが生成される。各アイテムには対応するクリップのクリップ番号が含まれており、アイテムの順に各クリップを指定して再生することにより、記録した順に複数のクリップを再生することができる。
図5は、二つのクリップが記録された場合のそれらとプレイリストとの関係を示している。図5に示すように、動画ファイル505と管理ファイル504により第1のクリップ501が構成され、動画ファイル507と管理ファイル506により第2のクリップ502が構成される。
また、プレイリストファイルは、記録媒体に記録された全てのクリップの再生順を定義している。図5に示す例では、プレイリストファイル503には二つのアイテムが含まれている。第1のアイテム508が第1のクリップ501と関連付けられ、第2のアイテム509が第2のクリップ502と関連付けられている。従って、第1のアイテム、第2のアイテムの順に再生することにより、第1のクリップ、第2のクリップの順に再生される。
また、各アイテムには、クリップ番号とともに再生開始時間と再生終了時間とを示すタイムスタンプが付加されており、このタイムスタンプにより各クリップの再生開始位置と再生終了位置とが定義されている。
図6は、管理ファイル504、506に含まれる管理情報601を示す図である。図6に示すように、管理情報601には、動画データの付加情報である動画データ情報及び変換テーブルが含まれている。
動画データ情報には、後述のシームレス記録及びシームレス再生に関連したシームレス情報と動画データの属性情報を含む。シームレス情報は、後述の動画の記録停止時におけるタイムスタンプ、記録停止時におけるバッファメモリのデータ蓄積量、シームレス再生可能か否かを識別するためのシームレス識別情報を含む。属性情報は、動画の1フレームの画素数、アスペクト比、フレームレート、ビットレート(データレート)といった動画像の属性を含む。また、属性情報は、スナップ記録モードで記録されたか否かを識別するためのスナップ記録情報、記録日時情報、記録位置(場所)情報を含む。
変換テーブルの中には、動画に含まれる各GOPの番号とその先頭のIピクチャのタイムスタンプ(PTS)、及び、記録媒体上のアドレスを含む。この変換テーブルを用いると、プレイリストファイルのアイテムが指し示す再生時間(PTS)に対応する動画データのアドレスがわかることとなる。
管理情報601は付加情報管理部111により生成され、記録媒体108、109に記録される。
次に、本実施形態における、動画のシームレス記録について説明する。本実施形態では、記録媒体108、109に対して動画ファイルを記録する際に、これから記録する動画ファイルの直前の動画ファイルと連続して再生できるように、記録開始時における動画の符号量を調整する。これをシームレス記録という。信号処理部104により動画を符号化する際、記録フォーマットにより規定された符号量制御のためのモデルに従い、符号量を制御する。
図2は、記録装置100の記録フォーマットにて規定されたモデルに従い符号化した動画の復号時(再生時)におけるバッファメモリの蓄積データ量の推移を表したグラフである。記録媒体に記録された動画データのレートと符号化されたデータのレートが異なるので、一旦再生されたデータをバッファメモリに蓄積してから復号する。そのため、符号化時において、再生時におけるバッファメモリの蓄積データ量を想定して、決められたバッファモデルに従って動画データの符号量を調整する。
図2において、横軸が時間、縦軸がバッファメモリのデータ蓄積量である。また、符号化の際にはバッファモデルで規定されている最大蓄積量(閾値)を超えないように符号量を制御する。また、記録の途中でバッファメモリのデータ蓄積量が0とならないように符号量を制御する。このように制御することで再生時には常にバッファメモリに一定範囲でデータが蓄積されていることとなる。そのため、動画データを途切れることなく連続して再生することが可能となる。
図2(a)は記録媒体108、109から一つの動画を再生する場合のバッファメモリのデータ蓄積量の推移を表している。図2(a)では、時刻201で記録を開始し、時刻204で記録を終了した動画データを再生したときのデータ蓄積量の推移を示している。時間201で再生が開始されると、符号化された動画データの供給が開始され、バッファメモリに蓄積される。時刻202において、指定された先頭フレームのデコード時刻になり、1フレームのデータがデコードされると、その分のデータがバッファメモリから読み出され、蓄積量が減少する。バッファメモリに対しては常に一定速度(レート)で符号化データが蓄積される。先頭のフレームがデコードされた後は、フレームレート(単位時間あたりのフレーム数)に応じたタイミングで各フレームのデータがデコードされ、その度にデコードされたフレームのデータが読み出されて蓄積量が減少する。この様に、バッファメモリに対し、データが蓄積される。時刻203で最後のフレームのデータの供給が終わると、バッファメモリのデータ蓄積量はそれ以上増えなくなる。時間204で最後のフレームのデコードが終わるとバッファメモリのデータは全て読み出され、データ蓄積量は0となる。
図2(b)は、図2(a)で一つの動画データを記録した後、続いて別のシーンの動画データを記録した記録媒体から、これら二つのシーンの動画を再生したときのバッファメモリのデータ蓄積量の推移を表している。時刻204までのデータ蓄積量の推移は図2(a)と同じである。時刻204で先のシーンの動画データ(先行動画データ)の最後のフレームのデコードが終わった後、次のシーンの動画データの蓄積が開始されるとデータ蓄積量が増加する。時刻205で二番目のシーンの動画データの最初のフレームがデコードされると、その分の蓄積量が減少する。その後は、先のシーンの動画データと同様にデータ蓄積量が増減する。ここで、先のシーンの動画データの最後のフレームのデコード時刻204と次のシーンの動画データの最初のフレームのデコード時刻205を比較する。次のシーンの動画データの最初のフレームのデータの蓄積に時間がかかるため、フレームレートに対応したフレーム間隔に対し、時間206だけ、次のシーンの先頭フレームの出力が遅れる。そのため、再生された動画を見ると、先のシーンと後のシーンの境界において画面の更新タイミングが遅くなっており、再生画像が一瞬止まったように見えてしまう。
この様に再生画像が止まるのを防ぐためには、図2(a)で、時刻203から次のシーンの動画データの供給を開始すればよい。しかし、その場合、時刻203におけるデータ蓄積量に加えて、次のシーンの動画データが蓄積されるため、次のシーンの再生中にバッファメモリのデータ蓄積量が閾値を超えてしまうことが考えられる。この場合、バッファメモリへのデータ供給を一時停止し、先に蓄積されたフレームのデータがデコードされ、バッファメモリに空きができてからデータの供給を再開することとなる。そのため、この場合にも、再生画像が一瞬止まったように見えてしまう可能性がある。
従って、二つのシーンの境界部分で再生画像が止まることなく、動画データを連続して再生するためには、時刻203から次のシーンの動画データの蓄積を開始した場合にも、データ蓄積量が閾値を超えないように後のシーンの符号量を制御する必要がある。
図2(c)は、シームレスに再生できるように後のシーンの動画を符号化した場合における、二つのシーンの動画データの再生時におけるバッファメモリのデータ蓄積量の推移を表した図である。
図2(c)の場合、先のシーンの記録停止時におけるバッファメモリのデータ蓄積量と、記録データのデータレート、及び次のシーンのデコードタイミングに基づいて、次のシーンの先頭フレームの符号量を調整している。
時刻201から時刻203までのバッファメモリに対するデータ蓄積量の推移は図2(a)と同じである。次のシーンの動画データは時刻203でのバッファメモリのデータ蓄積量に基づいて、符号量を調整している。そのため、先のシーンの最後のフレームが供給されたフレーム間隔と同じ間隔で次のシーンの先頭フレームを、例えば時刻207において供給し始めても、バッファメモリのデータ蓄積量が閾値を超えることが無い。
このように、記録時開始に、先行する動画データの最終フレームのデータ供給完了時点でのバッファメモリのデータ蓄積量に基づいて、これから記録を行う動画データの符号量を調整することで、シームレス再生が可能となる。また、このようにして記録することをシームレス記録と呼ぶ。
本実施形態では、記録媒体108、109に対して記録された動画データの順番に従ってシームレス記録を行う。記録媒体108、109に対して記録された動画データの順序の情報を付加情報に格納して記録する。そして、新たなシーンを記録する場合には、直前に記録した動画データとこれから記録する動画データがシームレス再生できるように、符号量を調整する。
次に、本実施形態における通常記録モードの動作について説明する。本実施形態では、ユーザがUI103によりシームレス記録の禁止を指示しない限り、自動的にシームレス記録を行う。まず、UI103から動画データの記録モードへ移行する指示を受けると、記録装置100を記録待機状態へ遷移し、記録開始の指示を待つ。記録待機状態において、入力部101から入力された動画データに係る動画を表示部110に表示する。
また、記録待機状態において、制御部102は記録媒体制御部106に対し、選択された方の記録媒体から、プレイリストファイルを読み出し、メモリ105に記憶する様に指示する。付加情報管理部111は、メモリ105に記憶されたプレイリストから、選択された方の記録媒体に記録された動画ファイルの記録順序を検出する。そして、最後に記録された動画ファイル(先行動画)を検出し、この先行動画のクリップ番号を制御部102に知らせる。制御部102は、記録媒体制御部106に対し、付加情報管理部111により検出された先行動画の管理ファイルを読み出すように指示する。記録媒体制御部106は、指定されたクリップの管理ファイルを読み出して、メモリ105に記憶する。
記録待機状態において、UI103から記録開始の指示が入力されると、信号処理部104は、入力部101により入力されてメモリ105に記憶された動画データや音声データを読み出して、符号化を開始する。そして、信号処理部104により、符号化されたデータをメモリ105に記憶する。この際、制御部102は、シームレス記録の禁止が指示されたか否かを判別する。そして、シームレス記録の禁止が指示されていない場合、つまり、シームレス記録を行う場合には、メモリ105に記憶されている管理情報中の、先行動画の符号量の情報に基づいて、動画データの発生符号量を前述の様に調整する。符号量の調整処理には、公知の技術を用いることができ、例えば、MPEG符号化を行う場合には、量子化幅を変更することで、発生符号量を調整する。また、シームレス記録の禁止が指示されていた場合、制御部102は先行動画の符号量の情報に関係無く、記録フォーマットに規定されたバッファモデルに従って発生符号量を制御する。
また、制御部102は、記録開始の指示があると、不図示のタイマの出力に基づいて記録開始日時を検出し、付加情報管理部111に送る。また、制御部102は、記録開始の指示があると、不図示の位置情報検出部の出力に基づいて記録開始時の位置(場所)を検出し、付加情報管理部111に送る。また、制御部102は、記録中の動画の画素数、アスペクト比、フレームレート、ビットレートの情報を検出し、付加情報管理部111に送る。付加情報管理部111は、これらの情報を含む管理情報を生成し、メモリ105に記憶する。また、制御部102は、信号処理部104に対し、1GOPの動画の符号化処理が完了する度に、GOP番号、先頭からの経過時間を付加情報管理部111に送るように指示する。また、記録媒体制御部106は、各GOPの記録アドレスの情報を付加情報管理部111に送る。付加情報管理部111は、これらの情報に基づいて、変換テーブルを生成し、メモリ105に記憶する。
本実施形態では、信号処理部104により符号化された動画データと音声データのデータレートは、記録媒体108、109に対して記録可能なデータレートよりも低い。そのため、本実施形態では、符号化データを一旦メモリ105に記憶する。そして、メモリ105に記憶された符号化データのデータ量が第1の所定量に達する毎に、記録媒体制御部106は、メモリ105から符号化データを読み出して、記録媒体108、109に記録する。そして、メモリ105に記憶された符号化データが第1の所定量よりも少ない第2の所定量まで減少した時点でメモリ105からの符号化データの読み出しを一時停止し、記録媒体108、109に対する記録処理を中断する。このようにして処理を繰り返す。
また、制御部102は、記録装置100の固体番号や、記録日時、予め用意された乱数などを組み合わせ、公知の方法で所定ビット長の数値を持つUUIDを生成し、動画ファイルに付加して記録する。制御部102は、記録開始の指示を受けて、新たに動画ファイルを作成する度に異なる値のUUIDを生成する。また、二つの記録媒体108、109に対し、同時に同じデータを記録する場合、各動画ファイルに対して同じ値を持つUUIDを付加する。
また、動画の記録中に、UI103から記録停止の指示を受けた場合は、制御部102は信号処理部104による動画データと音声データの符号化を停止し、記録媒体制御部106により記録中のファイルを閉じる。そして、プレイリストに対し、今回記録された動画のクリップに対応するアイテムを追加し、再生順序を変更するように付加情報管理部111に指示する。また、制御部102は、記録停止時におけるバッファメモリの符号量の情報を信号処理部104から取得し、付加情報管理部111に送る。付加情報管理部111は、今回記録した動画データにおける記録停止時の符号量の情報と記録停止時におけるタイムスタンプの情報を管理情報報に格納する。また、付加情報管理部111は、スナップ記録(後述する)ではないことを示すスナップ記録情報を生成し、管理情報に格納する。更に、付加情報管理部111は、今回記録された動画ファイルがシームレス再生可能であるか否かを識別するためのシームレス識別情報を管理情報に格納する。
シームレス記録の禁止が指示されていない場合には、シームレス再生可能であることを示すシームレス識別情報を生成する。また、シームレス記録の禁止が指示されていた場合には、シームレス再生不可を示すシームレス識別情報を生成する。そして、記録媒体制御部106は、この様に付加情報管理部111により生成された管理情報とプレイリストファイルを記録媒体108、109に記録する。
このように、二つの記録媒体108、109のうち、選択された記録媒体に対する動画データの記録が行われる。
次に、スナップ記録モードの処理を説明する。通常記録モードでは、ユーザによる記録開始の指示に応じて動画の記録を開始し、記録停止の指示に応じて動画の記録を停止していた。一方、スナップ記録モードでは、ユーザによる記録開始の指示に応じて動画の記録を開始し、その後、所定の期間動画を記録すると自動的に記録を停止する。本実施形態では、スナップ記録モードでは、記録開始後、4秒経過したことに応じて自動的に記録を停止するものとする。
記録待機状態においてユーザがUI103を操作し、スナップ記録モードを設定することができる。スナップ記録モードが設定された状態で記録開始の指示があると、制御部102は、前述の様に信号処理部104による動画と音声の符号化を開始すると共に、記録媒体制御部106により、指定された記録媒体に対する動画と音声の記録を開始する。また、スナップ記録モードにおいても、ユーザによりシームレス記録の禁止が指示されていない場合には、シームレス記録を行う。また、スナップ記録モードにおいても、通常記録モードと同様に、付加情報管理部111により管理情報を生成する。
記録開始後、制御部102は、不図示のタイマの出力に基づいて記録開始から所定時間が経過したことを検出すると、記録媒体制御部106に対して記録の停止を指示する。そして、制御部102は、付加情報管理部111に対し、プレイリストファイルと管理情報を生成する様に指示する。付加情報管理部111は、通常記録モードと同様にプレイリストファイルと管理情報を生成する。ただし、スナップ記録情報については、スナップ記録であることを示すスナップ記録情報を生成する。
次に、再生時の処理を説明する。UI103により再生モードの切り替え指示があると、制御部102は、記録媒体制御部106に対し、記録媒体108、109のうち、選択された方の記録媒体に記録された複数のシーンを検出する。そして、各シーンの先頭の動画ファイルを再生し、その先頭の一画面を信号処理部104により復号して、メモリ105に記憶する。そして、信号処理部104により、復号された先頭画面の画像信号を縮小し、各シーンの代表画像を生成する。そして、複数のシーンの代表画像からなるインデックス画面を生成し、表示部110に表示する。
ユーザは、UI103を操作して、インデックス画面に表示された代表画像から所望の代表画像を選択し、再生を指示する。制御部102は、再生指示があると、選択された代表画像に対応するシーンの複数の動画ファイルを再生するように、記録媒体制御部106を制御する。記録媒体制御部106は、指定されたシーンの動画ファイルを記録媒体から再生する。信号処理部104は、再生された動画ファイルを復号し、表示部110に表示すると共に、出力部107より外部に出力する。
また、制御部102は、記録媒体108、109より再生された管理情報に基づいて、再生中の動画がシームレス記録されているか否かを識別する。そして、制御部102は、シームレス記録された動画の場合、再生中の動画の終了部分が近づくと、再生中の動画の最後のフレームと次に再生する動画の先頭フレームが決められたフレーム間隔となるように、次の動画の再生を開始するように指示する。記録媒体制御部106は、制御部102からの指示により、次のシーンの動画ファイルを読み出して、メモリ105に記憶する。これにより、シームレス再生が可能となる。
また、次の動画がシームレス記録されていない場合には、制御部102は、現在再生中の動画データの記録媒体108、109からの読み出しが終了した後、次のシーンの動画データの読み出しを開始する様に、記録媒体制御部106に指示する。この場合には、シームレス再生にはならないことがある。
次に、同時記録について説明する。本実施形態では二つの記録媒体108、109に対して、入力部101より入力された動画データと音声データとを同時に記録することも可能である。同時記録においても、ユーザからシームレス記録の禁止が指示されない場合には、自動的にシームレス記録を行う。
図3は通常記録モードで同時記録を行う場合の処理を示すフローチャートである。なお、図3に示す処理は、制御部102の制御に基づいて行われる。
記録待機状態において、ユーザがUI103を操作して、同時記録を設定すると、制御部102は、二つの記録媒体108、109を共に記録先の記録媒体として指定する。この状態でユーザがUI103を操作して、記録開始の指示を入力すると、制御部102は、各記録媒体に先行動画が記録されているかどうかを検出する。例えば、動画ファイルが記録されていない場合、或いは、初期化された直後の記録媒体の場合には、先行動画が記録されていない。制御部102は、記録待機状態において記録媒体108、109から読み出されたプレイリストファイルに基づいて、各記録媒体108、109に記録されている先行動画を検出する(S301)。
そして、制御部102は、両方の記録媒体108と109に、先行動画が記録されているか否かを判別する(S302)。両方の記録媒体108と109に対し、共に先行動画が記録されていた場合、制御部102は、記録媒体制御部106に対し、各記録媒体の先行動画のクリップに対応した管理情報を読み出すように指示する。記録媒体制御部106は、指定されたクリップの管理情報を読み出してメモリ105に記憶する。制御部102は、メモリ105に記憶された管理情報に格納されたシームレス情報に基づいて、各記録媒体の先行動画の記録停止時におけるバッファメモリの蓄積量の情報を取得する(S303)。そして、このバッファメモリの蓄積量に基づいて、両方の記録媒体に対してシームレス記録が可能であるか否かを判別する(S304)。
各記録媒体に対してシームレス記録を行うためには、各記録媒体に記録された先行動画の記録停止時におけるバッファメモリのデータ蓄積量が一致する必要がある。各記録媒体の先行動画の記録停止時におけるバッファメモリのデータ蓄積量が異なる場合、二つの記録媒体に記録する動画の符号量をバッファモデルに従って同じように制御できないためである。そのため、本実施形態では、各記録媒体に記録された先行動画の記録停止時のバッファメモリのデータ蓄積量を比較し、これらが一致している場合には、両方の記録媒体にシームレス記録が可能であると判断する。一方、先行動画の記録停止時のバッファメモリのデータ蓄積量が異なる場合には、両方の記録媒体にシームレス記録ができないと判断する。
両方の記録媒体にシームレス記録が可能であると判別した場合、制御部102は、S303で取得した各記録媒体の先行動画の記録停止時におけるバッファメモリのデータ蓄積量を、記録開始時におけるバッファメモリのデータ蓄積量に設定する(S306)。そして、制御部102は、信号処理部104に対し、動画データと音声データの符号化を開始する様に指示する。信号処理部104は、前記の様に、入力された動画データと音声データを順次符号化する(S307)。このとき、制御部102は、S306で設定したバッファメモリの蓄積量に基づいて、動画データの発生符号量を調整する。そして、制御部102は、記録媒体制御部106に対し、動画と音声を記録するように指示する。記録媒体制御部106は、メモリ105より動画データと音声データを読み出し、記録媒体108と109に対して共に記録する(S308)。
この様に二つの記録媒体108と109に対して動画と音声の記録を開始した後、制御部102は、UI103より記録停止の指示があったか否かを判別する(S309)。そして、記録停止の指示があるまで、S307とS308の処理を繰り返す。UI103より記録停止の指示があった場合、制御部102は、信号処理部104に対して動画と音声の符号化の停止を指示すると共に、記録媒体制御部106に対して動画と音声の記録停止を指示する(S310)。そして、信号処理部104は、制御部102からの指示により動画と音声の符号化を停止し、符号化停止時におけるバッファメモリの蓄積量の情報を付加情報管理部111に送る。また、記録媒体制御部106は、記録媒体108、109に対する動画と音声の記録を停止する。
そして、制御部102は、付加情報管理部111に対し、各記録媒体のプレイリストを変更する様に指示する。更に、制御部102は、各記録媒体に対して記録された動画ファイルの記録停止時におけるバッファメモリの蓄積量の情報と、シームレス識別情報を格納する様に指示する。付加情報管理部111は、メモリ105に記憶されたプレイリストファイルの記録順序を変更する。また、付加情報管理部111は、記録された動画ファイルの記録停止時におけるバッファメモリの蓄積量の情報とシームレス識別情報を生成し、メモリ105に記憶された管理情報に格納する。ここでは、二つの記録媒体に対してそれぞれシームレス記録を行ったので、シームレス再生が可能であることを示すシームレス識別情報を生成する。そして、制御部102は、記録媒体制御部106に対し、記録媒体に対して管理情報とプレイリストファイルを記録する様に指示する。記録媒体制御部106は、メモリ105より、付加情報管理部111により生成、或いは更新された管理情報とプレイリストファイルみ出して、記録媒体108、109に記録する(S311)。また、制御部102は、前述のようにUUIDの情報を生成し、各記録媒体に対して同時に記録した動画ファイルに対し、同じ値を持つUUIDを付加して記録する。
また、S304で、先行動画の記録停止時のバッファメモリのデータ蓄積量が異なっており、両方の記録媒体にシームレス記録ができないと判断した場合、制御部102は、二つの記録媒体108、109のうち、所定の記録媒体を選択する(S312)。ここでは、記録媒体108を選択するものとする。そして、選択された方の記録媒体に記録された先行動画の記録停止時におけるバッファメモリのデータ蓄積量を、記録開始時におけるバッファメモリのデータ蓄積量に設定する(S313)。
そして、制御部102は、信号処理部104に対し、動画データと音声データの符号化を開始するように指示する。信号処理部104は、前記のように、入力された動画データと音声データを順次符号化する(S317)。このとき、制御部102は、S313で設定したバッファメモリの蓄積量に基づいて、動画データの発生符号量を調整する。制御部102は、記録媒体制御部106に対し、動画と音声を記録するように指示する。記録媒体制御部106は、メモリ105より動画データと音声データを読み出し、記録媒体108と109に対して共に記録する(S318)。
この様に二つの記録媒体108と109に対して動画と音声の記録を開始した後、制御部102は、UI103より記録停止の指示があったか否かを判別する(S319)。そして、記録停止の指示があるまで、S317とS318の処理を繰り返す。UI103より記録停止の指示があった場合、制御部102は、信号処理部104に対して動画と音声の符号化の停止を指示すると共に、記録媒体制御部106に対して動画と音声の記録停止を指示する(S320)。信号処理部104は、制御部102からの指示により動画と音声の符号化を停止し、符号化停止時におけるバッファメモリの蓄積量の情報を付加情報管理部111に送る。記録媒体制御部106は、記録媒体108、109に対する動画と音声の記録を停止する。
そして、制御部102は、付加情報管理部111に対し、各記録媒体のプレイリストを変更する様に指示する。更に、制御部102は、各記録媒体に対して記録された動画ファイルの記録停止時におけるバッファメモリの蓄積量の情報と、シームレス識別情報を格納する様に指示する。付加情報管理部111は、メモリ105に記憶されたプレイリストファイルの記録順序を変更する。また、付加情報管理部111は、記録された動画ファイルの記録停止時におけるバッファメモリの蓄積量の情報とシームレス識別情報を生成し、メモリ105に記憶された管理情報に格納する。ここでは、一方の記録媒体に対してシームレス記録を行い、他方の記録媒体にはシームレス記録を行っていない。そのため、所定の記録媒体、つまり記録媒体108については、シームレス再生が可能であることを示すシームレス情報を生成し、記録媒体109に対しては、シームレス再生不可を示すシームレス情報を生成する。そして、制御部102は、記録媒体制御部106に対し、記録媒体に対して管理情報とプレイリストファイルを記録する様に指示する。記録媒体制御部106は、メモリ105より、付加情報管理部111により生成、或いは更新された管理情報とプレイリストファイルを読み出して、記録媒体108、109に記録する(S321)。また、制御部102は、前述の様にUUIDの情報を生成し、各記録媒体に対して同時に記録した動画ファイルに対し、同じ値を持つUUIDを付加して記録する。
また、S302で両方の記録媒体に先行動画が記録されていない場合、一方の記録媒体にのみ先行動画が記録されているか否かを判別する(S314)。一方の記録媒体に先行動画が記録され、他方の記録媒体に先行動画が記録されていない場合、制御部102は、記録媒体制御部106に対して、一方の記録媒体から先行動画のクリップに対応した管理情報を読み出すように指示する。記録媒体制御部106は、指定されたクリップの管理情報を読み出して、メモリ105に記憶する。制御部102はメモリ105に記憶された管理情報に格納されたシームレス情報に基づいて、先行動画の記録停止時におけるバッファメモリのデータ蓄積量の情報を取得する(S315)。そして、制御部102は、一方の記録媒体に記録された先行動画の記録停止時におけるバッファメモリのデータ蓄積量を、記録開始時におけるバッファメモリのデータ蓄積量に設定する(S316)。
制御部102は、信号処理部104に対し、動画データと音声データの符号化を開始する様に指示する。信号処理部104は、前記の様に、入力された動画データと音声データを順次符号化する(S317)。このとき、制御部102は、S313で設定したバッファメモリの蓄積量に基づいて、動画データの発生符号量を調整する。制御部102は、記録媒体制御部106に対し、動画と音声を記録するように指示する。記録媒体制御部106は、メモリ105より動画データと音声データを読み出し、記録媒体108と109に対して共に記録する(S318)。
この様に二つの記録媒体108と109に対して動画と音声の記録を開始した後、制御部102は、UI103より記録停止の指示があったか否かを判別する(S319)。そして、記録停止の指示があるまで、S317とS318の処理を繰り返す。UI103より記録停止の指示があった場合、制御部102は、信号処理部104に対して動画と音声の符号化の停止を指示すると共に、記録媒体制御部106に対して動画と音声の記録停止を指示する(S320)。信号処理部104は、制御部102からの指示により動画と音声の符号化を停止し、符号化停止時におけるバッファメモリの蓄積量の情報を付加情報管理部111に送る。また、記録媒体制御部106は、記録媒体108、109に対する動画と音声の記録を停止する。
そして、制御部102は、付加情報管理部111に対し、各記録媒体のプレイリストを変更する様に指示する。更に、制御部102は、各記録媒体に対して記録された動画ファイルの記録停止時におけるバッファメモリの蓄積量の情報と、シームレス識別情報を格納する様に指示する。付加情報管理部111は、メモリ105に記憶されたプレイリストファイルの記録順序を変更する。また、付加情報管理部111は、記録された動画ファイルの記録停止時におけるバッファメモリの蓄積量の情報とシームレス識別情報を生成し、メモリ105に記憶された管理情報に格納する。ここでは、一方の記録媒体に対してシームレス記録を行い、他方の記録媒体にはシームレス記録を行っていない。そのため、先行動画が記録されていた方の記録媒体108については、シームレス再生が可能であることを示すシームレス情報を生成し、他方の記録媒体に対しては、シームレス再生不可を示すシームレス情報を生成する。そして、制御部102は、記録媒体制御部106に対し、記録媒体に対して管理情報とプレイリストファイルを記録する様に指示する。記録媒体制御部106は、メモリ105より、付加情報管理部111により生成、或いは更新された管理情報とプレイリストファイルを読み出して、記録媒体108、109に記録する(S321)。また、制御部102は、前述の様にUUIDの情報を生成し、各記録媒体に対して同時に記録した動画ファイルに対し、同じ値を持つUUIDを付加して記録する。
また、S314で、両方の記録媒体に、共に先行動画が記録されていないと判断した場合、制御部102は、バッファメモリのデータ蓄積量として所定値を設定する(S322)。ここでは、所定値として0を設定する。そして、制御部102は、信号処理部104に対し、動画データと音声データの符号化を開始する様に指示する。信号処理部104は、前記の様に、入力された動画データと音声データを順次符号化する(S323)。このとき、制御部102は、バッファモデルに従って動画データの発生符号量を調整する。制御部102は、記録媒体制御部106に対し、動画と音声を記録するように指示する。記録媒体制御部106は、メモリ105より動画データと音声データを読み出し、記録媒体108と109に対して共に記録する(S324)。
この様に二つの記録媒体108と109に対して動画と音声の記録を開始した後、制御部102は、UI103より記録停止の指示があったか否かを判別する(S325)。そして、記録停止の指示があるまで、S317とS318の処理を繰り返す。UI103より記録停止の指示があった場合、制御部102は、信号処理部104に対して動画と音声の符号化の停止を指示すると共に、記録媒体制御部106に対して動画と音声の記録停止を指示する(S326)。信号処理部104は、制御部102からの指示により動画と音声の符号化を停止し、符号化停止時におけるバッファメモリの蓄積量の情報を付加情報管理部111に送る。また、記録媒体制御部106は、記録媒体108、109に対する動画と音声の記録を停止する。
そして、制御部102は、付加情報管理部111に対し、各記録媒体のプレイリストを変更する様に指示する。更に、制御部102は、各記録媒体に対して記録された動画ファイルの記録停止時におけるバッファメモリの蓄積量の情報と、シームレス識別情報を格納する様に指示する。付加情報管理部111は、メモリ105に記憶されたプレイリストファイルの記録順序を変更する。また、付加情報管理部111は、記録された動画ファイルの記録停止時におけるバッファメモリの蓄積量の情報とシームレス識別情報を生成し、メモリ105に記憶された管理情報に格納する。ここでは、両方の記録媒体に対してシームレス記録を行っていない。そのため、各記録媒体に対し、今記録した動画がシームレス再生不可であることを示すシームレス情報を生成する。そして、制御部102は、記録媒体制御部106に対し、記録媒体に対して管理情報とプレイリストファイルを記録する様に指示する。記録媒体制御部106は、メモリ105より、付加情報管理部111により生成、或いは更新された管理情報とプレイリストファイルを読み出して、記録媒体108、109に記録する(S327)。また、制御部102は、前述の様にUUIDの情報を生成し、各記録媒体に対して同時に記録した動画ファイルに対し、同じ値を持つUUIDを付加して記録する。
図4は、同時記録モードにより記録された動画ファイルの様子を示す図である。図4(a)〜(c)において、401が記録媒体108に記録された動画ファイルを示し、402が記録媒体109に記録された動画ファイルを示している。図4(a)は、両方の記録媒体に先行動画が記録され、各先行動画の記録停止時におけるバッファメモリの蓄積量が同じ場合の様子を示している。ここでは、どちらの記録媒体にも同じシーン1の動画ファイル403、404が記録されている。そして、各記録媒体に対して、シーン2の動画ファイル405と406をそれぞれシームレス記録し、シームレス再生可能であることを示すシームレス識別情報を記録している。
図4(b)は、両方の記録媒体に先行動画が記録され、各先行動画の記録停止時におけるバッファメモリの蓄積量が異なる場合の様子を示している。ここでは、記録媒体108にはシーン1の動画ファイル407が記録され、記録媒体109にはシーン11の動画ファイル408が記録されている。そこで、記録媒体108に対してシーン2の動画ファイルをシームレス記録し、シームレス再生可能であることを示すシームレス識別情報を記録している。一方、記録媒体109に対してはシーン2の動画ファイル410を記録するものの、シーン11に対してシームレス記録を行っていないので、シームレス再生不可を示すシームレス識別情報を記録する。
図4(c)は、両方の記録媒体に先行動画が記録されていない場合の様子を示している。ここでは、どちらの記録媒体にも先行動画が記録されていないので、各記録媒体に対して、シーン1の動画ファイル411と412をそれぞれ記録し、シームレス再生不可を示すシームレス識別情報を記録している。
この様に、本実施形態では、二つの記録媒体に対して同じ動画を同時に記録する場合に、各記録媒体に対し、シームレス記録が可能であるか否かを判別する。そして、各記録媒体にシームレス記録が可能である場合には、それぞれの記録媒体に記録された先行動画の記録停止時におけるバッファメモリの蓄積量に基づいて、記録する動画の符号量を調整することで、シームレス記録を行う。また、各記録媒体にシームレス記録ができない場合には、何れかの記録媒体に対してシームレス記録を行う。
そのため、ユーザは、特別な指示を行うこと無く、複数の記録媒体に対して同時に動画を記録する際に、直前のシーンと連続して再生できるように、各記録媒体に対して動画を記録することができる。
また、両方の記録媒体に対してシームレス記録を行えない場合には、所定の記録媒体に対してシームレス記録を行う。このときの選択する所定の記録媒体は予め制御部102に設定しておく。これにより、ユーザが特別な指示を行うこと無く、複数の記録媒体に対して同時に動画を記録する際に、何れかの記録媒体に対して直前のシーンと連続して再生できるように、各記録媒体に対して動画を記録することができる。
なお、本実施形態では、二つの記録媒体に対して同時に動画を記録する場合について説明したが、三つ以上の記録媒体に対して動画を記録する場合にも同様に本発明を適用可能である。
また、S312では、所定の記録媒体を選択したが、何れかの記録媒体をユーザが選択する様にしてもよい。また、S312において、二つの記録媒体のうち、先行動画の記録停止時におけるバッファメモリの蓄積量が少ない方を所定の記録媒体として選択するようにしてもよい。記録停止時におけるバッファメモリの蓄積量が少ない方が、次のシーンの記録開始において、先頭フレームに対して割り当てる符号量を多く設定できるため、より高画質な動画を記録することができる。
また、本実施形態では、S304において、各記録媒体の先行動画の記録停止時におけるバッファメモリの蓄積量に基づいて、二つの記録媒体に対してシームレス記録が可能であるか否かを判別した。しかし、バッファメモリの蓄積量以外にも、例えば、記録時に不可されたUUIDに基づいて、二つの記録媒体に対してシームレス記録が可能であるか否かを判別することも可能である。
即ち、前述の様に、二つの記録媒体に対して同時に記録された動画ファイルに対しては、同じ値を持つUUIDが付加されている。そのため、各記録媒体に記録された先行動画のUUIDが同じ場合には、これらの動画ファイルの記録停止時におけるバッファメモリの蓄積量が同じはずである。そこで、記録待機状態において、先行動画のUUIDを読み出してメモリ105に記憶しておき、S302においては、これらのUUIDに基づいて、各記録媒体にシームレス記録が可能であるか否かを判別する。UUIDが同じ場合には二つの記録媒体に対してシームレス記録が可能であると判断し、UUIDが異なる場合にはシームレス記録ができないと判断する。
また、同時記録モードにおいて、記録停止した後、ビデオカメラの電源がオフされるか、或いは、何れかの記録媒体が取り出されるまでは、自動的に両方の記録媒体に対してシームレス記録可能であると判断するようにしてもよい。こうすることで、次に記録を開始する際には、S301−S304の処理を行う必要が無い。更に、各記録媒体に対する動画の記録を停止した際、記録停止時におけるバッファメモリのデータ蓄積量をメモリ105に記憶するようにしてもよい。そして、次に記録を開始する際には、メモリ105に記憶されたデータ蓄積量の情報に基づいて動画の符号量を調整する。
(第2の実施形態)
次に、第2の実施形態を説明する。第2の実施形態においても、ビデオカメラ100の構成や通常記録モード、スナップ記録モード、並びに再生時の処理は第1の実施形態と同様である。
第2の実施形態では、同時記録を行う際に、記録媒体108と109に記録された先行動画の記録モードや属性に基づいて、何れか一方の記録媒体を選択し、選択した方の記録媒体に記録された先行動画に対してシームレス記録を行う。
図7は、第2の実施形態における同時記録を行う場合の処理を示すフローチャートである。図7の処理は制御部102が各部を制御することにより実行される。また、図7において、図3と同様の処理については同様の番号を付加し、詳細な説明は省略する。
図7の処理では、S701の処理を除き、図3の処理と同様である。即ち、図7では、S303において各記録媒体に記録された先行動画のクリップの管理情報を取得した後、この管理情報に基づいて、何れの記録媒体に対してシームレス記録を行うかを判別するための判別処理を実行する(S701)。
図8はS701の判別処理を示すフローチャートである。まず、制御部102は、各記録媒体の先行動画の属性と、現在設定されている動画の属性とを比較し、各記録媒体の先行動画の属性値がそれぞれ現在設定されている属性と同じか否かを判別する(S801)。ここでは、制御部102は、図6に示す属性情報のうち、画素数、アスペクト比、フレームレート、ビットレートをそれぞれ現在設定されている値と比較し、これらの値が全て一致するか否かを判別する。両方の記録媒体の先行動画が現在設定されている属性と一致している場合、制御部102は、各記録媒体の先行動画のうち、スナップ記録モードで記録されたものがあるか否かを判別する(S802)。
何れかの記録媒体の先行動画がスナップ記録モードで記録されていた場合、制御部102は、両方の記録媒体の先行動画が共にスナップ記録モードで記録されたものであるか否かを判別する(S803)。各記録媒体の先行動画が共にスナップ記録モードで記録されていた場合、制御部102は、各記録媒体の先行動画の記録日を比較し、記録日が同じであるか否かを判別する(S804)。各記録媒体の先行動画の記録日が同じ場合、制御部102は、各記録媒体の先行動画の記録開始時刻を比較し、記録開始時刻が同じであるか否かを判別する(S805)。各記録媒体の先行動画の記録開始時刻が同じ場合、制御部102は、各記録媒体の先行動画の記録場所を比較し、記録した場所が同じであるか否かを判別する(S806)。各記録媒体の先行動画の記録場所が同じ場合、制御部102は、各記録媒体の先行動画のシームレス情報に基づいて、各先行動画の記録停止時におけるバッファメモリのデータ蓄積量が同じであるか否かを判別する(S807)。各記録媒体の先行動画のデータ蓄積量が同じ場合、各先行動画は同じものであると判断し、いずれかの先行動画を選択する(S808)。
そして、制御部102は、選択された先行動画のシームレス情報に格納された、記録停止時におけるバッファメモリのデータ蓄積量に基づいて、バッファのデータ蓄積量を設定する(S809)。その後、S307に進み、同時記録の処理を続ける。これ以降は、各記録媒体に対し、シームレス記録を行う。
また、S803で何れか一方の記録媒体の先行動画だけがスナップ記録モードで記録されていた場合、制御部102はスナップ記録モードで記録された先行動画を選択する(S810)。また、S804で各記録媒体の先行動画の記録日が違っていた場合、制御部102は、記録日が現在の記録日に近い方の先行動画を選択する(S811)。また、S805で各記録媒体の先行動画の記録開始時刻が違っていた場合、制御部102は、記録開始時刻が現在の時刻に近い方の先行動画を選択する(S812)。また、S806で各記録媒体の先行動画の記録場所が違っていた場合、制御部102は、記録場所が現在の場所に近い方の先行動画を選択する(S813)。また、S807で各記録媒体の先行動画のデータ蓄積量が異なっていた場合、所定の記録媒体の先行動画を選択する(S814)。ここでは、記録媒体108を選択するものとする。
そして、制御部102は、選択された先行動画のシームレス情報に格納された、記録停止時におけるバッファメモリのデータ蓄積量に基づいて、バッファのデータ蓄積量を設定する(S815)。その後、S317に進み、同時記録の処理を続ける。これ以降は、一方の記録媒体に対してシームレス記録を行う。
また、S802において、各記録媒体の先行動画が、両方ともスナップ記録モードで記録されたものでなかった場合、各記録媒体の先行動画の記録日を比較し、記録日が同じであるか否かを判別する(S816)。各記録媒体の先行動画の記録日が同じ場合、制御部102は、各記録媒体の先行動画の記録開始時刻を比較し、記録開始時刻が同じであるか否かを判別する(S817)。各記録媒体の先行動画の記録開始時刻が同じ場合、制御部102は、各記録媒体の先行動画の記録場所を比較し、記録した場所が同じであるか否かを判別する(S818)。各記録媒体の先行動画の記録場所が同じ場合、制御部102は、各記録媒体の先行動画のシームレス情報に基づいて、各先行動画の記録停止時におけるバッファメモリのデータ蓄積量が同じであるか否かを判別する(S819)。各記録媒体の先行動画のデータ蓄積量が同じ場合、各先行動画は同じものであると判断し、いずれかの先行動画を選択する(S808)。
そして、制御部102は、選択された先行動画のシームレス情報に格納された、記録停止時におけるバッファメモリのデータ蓄積量に基づいて、バッファのデータ蓄積量を設定する(S809)。その後、S307に進み、同時記録の処理を続ける。これ以降は、各記録媒体に対し、シームレス記録を行う。
また、S816で各記録媒体の先行動画の記録日が違っていた場合、制御部102は、記録日が現在の記録日に近い方の先行動画を選択する(S820)。また、S817で各記録媒体の先行動画の記録開始時刻が違っていた場合、制御部102は、記録開始時刻が現在の時刻に近い方の先行動画を選択する(S821)。また、S818で各記録媒体の先行動画の記録場所が違っていた場合、制御部102は、記録場所が現在の場所に近い方の先行動画を選択する(S822)。また、S819で各記録媒体の先行動画のデータ蓄積量が異なっていた場合、所定の記録媒体の先行動画を選択する(S823)。ここでは、記録媒体108を選択するものとする。
そして、制御部102は、選択された先行動画のシームレス情報に格納された、記録停止時におけるバッファメモリのデータ蓄積量に基づいて、バッファのデータ蓄積量を設定する(S815)。その後、S317に進み、同時記録の処理を続ける。これ以降は、一方の記録媒体に対してシームレス記録を行う。
また、S801で、各記録媒体の先行動画のうち、少なくとも一方の属性値が現在の属性値と違う場合、制御部102は、何れか一方の先行動画の属性だけが現在の属性値と同じであるか否かを判別する(S824)。そして、何れか一方の記録媒体の先行動画の属性値が現在の値と同じ場合には、制御部102は、現在の属性値と同じ属性値の先行動画を選択する(S825)。また、各記録媒体に記録された先行動画の属性値が、共に現在の値と違う場合には、S322に進む。そして、これ以降は、シームレス記録を行わないようにする。
図4(d)は、両方の記録媒体に先行動画が記録され、各先行動画の記録モードが異なる場合の様子を示している。ここでは、記録媒体108にはスナップ記録モードで記録されたシーン21の動画ファイル413が記録され、記録媒体109には通常記録モードで記録されたシーン31の動画ファイル414が記録されている。そこで、本実施形態では、スナップ記録モードで記録された先行動画である動画ファイル413を選択する。そして、この先行動画413に対してシーン2の動画ファイル415をシームレス記録し、シームレス再生可能であることを示すシームレス識別情報を記録している。一方、記録媒体109に対してはシーン2の動画ファイル416を記録するものの、シーン31に対してシームレス記録を行っていないので、シームレス再生不可を示すシームレス識別情報を記録する。
この様に、本実施形態では、二つの記録媒体に対して同じ動画を同時に記録する場合に、各記録媒体に記録された先行動画の属性に基づいて、対してシームレス記録を行う記録媒体を選択している。また、本実施形態では、一方の先行動画がスナップ記録されたものであり、他方が通常記録モードで記録されていた場合には、スナップ記録モードで記録された先行動画に対してシームレス記録を行う。スナップ記録モードで記録された1クリップの動画の再生時間は短い。そのため、スナップ記録モードで記録された複数のクリップを連続して再生する場合に、シームレス記録されていないと、4秒間再生する度に再生画像が停止することになり、見苦しくなる。
そこで、本実施形態では、一方の先行動画がスナップ記録されたものであり、他方が通常記録モードで記録されていた場合には、スナップ記録モードで記録された先行動画に対してシームレス記録を行うようにした。これにより、スナップ記録モードで同時記録を行う場合には、スナップ記録された先行動画にシームレス記録され、再生時にクリップの境界で再生画像が停止することが無い。
なお、第2の実施形態では、S807において各先行動画が同じであるか否かを判別する前に、先行動画がスナップ記録されたものであるか否かを判別し、スナップ記録モードで記録された先行動画を選択してシームレス記録を行っていた。
これ以外にも、第1の実施形態において、S312で所定の記録媒体を選択するのではなく、スナップ記録モードで記録された先行動画があるか否かを判別し、スナップ記録モードで記録された先行動画がある場合にはそちらを選択する様にしてもよい。
また、現在の記録モードがスナップ記録モードでは無い場合には、S802−S814の処理を省略し、スナップ記録モード以外の属性値によりシームレス記録を行う先行動画を選択する様にしてもよい。
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給することによっても達成される。すなわち、そのシステム或いは装置のコンピュータ(またはCPUやMPU)が記憶媒体に格納されたプログラムコードを読み出し実行することによっても本件発明の目的が達成されることは言うまでもない。
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
また、コンピュータが読み出したプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(基本システム或いはオペレーティングシステム)などが実際の処理の一部又は全部を行うことによっても前述した実施形態の機能が実現される。この場合も本件発明に含まれることは言うまでもない。
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づく処理も本件発明に含まれる。すなわち、機能拡張ボードや機能拡張ユニットに備わるCPU等がプログラムコードの指示に基づき実際の処理の一部又は全部を行って前述した実施形態の機能を実現する場合も本件発明に含まれることは言うまでもない。
上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。