説明

動画記録装置

【課題】 所定時間長の動画データを複数集めた動画ファイルを生成する場合に、新たな動画データを記録中している最中にエラーが発生すると、予定外の時間長の動画データ画結合されてしまいユーザの再生時の操作が不便になる
【解決手段】 新たに取得された動画データを追記しているときにエラーが発生すると、次に取得される動画データを前記エラー発生時に取得された動画データを含む動画ファイルに対して追記して記録ないようにする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、動画記録装置に関し、特に、記録媒体に記録された動画ファイルに動画データを追記することができる動画記録装置に関する。
【背景技術】
【0002】
従来、動画記録装置として、撮像装置が知られており、撮像装置には、撮像した画像から動画データを生成し、記録媒体に記録する機能が搭載されている。このような撮像装置には、近年、特許文献1のように、記録媒体に記録されている既存の動画ファイルに格納された動画データに対して、新規に撮影して得られた動画データを追加記録することができる撮像装置が登場してきている。また、従来、撮影ボタンを押す毎に所定秒の動画を撮影する機能も撮像装置には搭載されてきている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−218384号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1においては、新規に撮影した動画データをそのまま既存の動画ファイルの動画データに連結している。しかし、たとえば、連結撮影を行っている最中にバッテリーが抜かれたり、メモリカードが抜かれたりしてしまうとエラーが発生してしまう。この場合、連結中だった既存の動画ファイルの動画データとともに読み出し不能な状態になってしまうことがあった。または、記録中だった動画データは自動的に連結されてしまうことがあった。たとえば、ユーザが所定時間長の動画データを複数集めた動画ファイルを生成しようとしている場合には、エラーにより所定時間長以外の動画データが動画ファイルに混入してしまう。そうすると、たとえば再生時に、動画ファイルの動画を所定時間長単位に早送り、巻き戻し(前ジャンプ、後ジャンプ)するように設定していた場合などに、思い通りの操作ができなく、操作が不便になってしまうことになる。
【0005】
そこで、本発明は、所定時間長の動画データを複数集めた動画ファイルを生成する場合に、新たな動画データを記録中している最中にエラーが発生すると、新たな動画データの記録状態または、その次に撮影される動画の記録状態を自動的に変更することができ、ユーザの再生時の操作が不便にならないようにすることができる動画記録装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
このような目的を達成するために、本発明の動画記録装置は、動画データを取得する取得手段と、前記取得手段により取得された動画データを動画ファイルとして記録媒体に記録する記録手段と、前記記録媒体に記録された動画ファイルに、前記取得手段により取得された動画データを追記する編集を行う編集手段と、前記記録手段、前記表示制御手段、前記編集手段を制御する制御手段とを有し、前記制御手段は、あらかじめ設定された時間長の複数の動画データからなる動画ファイルを生成するように前記編集手段と前記記録手段を制御し、前記動画ファイルに対して、新たに取得された動画データを追記しているときにエラーが発生すると、前記制御手段は、次に取得される動画データを前記エラー発生時に取得された動画データを含む動画ファイルに対して追記して記録ないように前記編集手段と前記記録手段を制御することを特徴とする。
【発明の効果】
【0007】
本発明は、所定時間長の動画データを複数集めた動画ファイルを生成する場合に、新たな動画データを記録中している最中にエラーが発生すると、新たな動画データの記録状態または、その次に撮影される動画の記録状態を自動的に変更することができる。したがって、ユーザの再生時の操作が不便にならないようにすることができる。
【図面の簡単な説明】
【0008】
【図1】実施例1の撮像装置の構成を示す図である。
【図2】動画ファイルの構造を示す図である。
【図3】通常動画撮影モード時の撮像装置の制御動作を示すフロー図である。
【図4】記録媒体に記録された動画ファイルのデータ領域とFAT領域の図である。
【図5】連続動画撮影モード時の撮像装置の制御動作を示すフロー図である。
【図6】記録媒体上における動画ファイルの追記を説明するための図である。
【図7】連続動画撮影モード時の撮影後の確認画面を示す図である。
【図8】記録媒体上における動画ファイルの分離を説明するための図である。
【図9】記録媒体上における動画ファイルの一部削除を説明するための図である。
【図10】エラー処理による動画ファイルの状態を説明するための図である。
【発明を実施するための形態】
【0009】
以下、図面を参照して本発明の実施例を詳細に説明するが、この発明は以下の実施の形態に限定されない。
【実施例1】
【0010】
本実施例では、動画撮影可能な撮像装置について説明する。本実施例の撮像装置は、通常の動画撮影モード(第1のモード)においては、1回の動画撮影の開始から終了までに撮影された動画データを1つのファイルとして記録媒体に記録することができる。また、連続動画撮影モード(第2のモード)においては、記録媒体に既に記録されている動画ファイル(既存動画ファイル)に対して、新たに撮影した動画データ(新規動画データ)を追記した動画ファイル(追記動画ファイル)を記録媒体に記録することができる。すなわち、連続動画撮影モードにおいては、既存動画ファイルに追記を行うため記録を行う毎に、新規にファイルが記録媒体に記録されることはない。因みに、連続動画撮影モードで、特定の条件下においては、既存動画ファイルに追記せずに、新たな動画ファイル(新規動画ファイル)として記録媒体に記録することもできる。
【0011】
特に、本実施例の撮像装置は、連続動画撮影モードにおいて、新たに動画撮影をすると、撮影後に動画を表示画面に表示して、ユーザに確認させることができる。このとき、既存動画ファイルの動画データ(既存動画データ)と、新規動画データとをシームレスに再生して表示することができる。そして、ユーザが連続的に再生した動画を確認し、表示された選択画面(操作画面、ユーザインタフェースとも言う)により、
・追記動画ファイルを記録する
・新規動画データを別のファイルとして記録する
・新規動画データを削除する
等の処理を選択し,実行することができる。また、これらの処理を選択するための物理的なスイッチを設けてもよい。
【0012】
このとき、複数の動画ファイルを並行して再生することができない場合は、上述した追記動画ファイルをあらかじめ記録媒体に記録して、その追記動画ファイルの動画データを順次再生して表示する。そして、選択された処理に従って、動画ファイルの状態を変更する。すなわち、追記動画ファイルを記録する場合は、追記動画ファイルを記録媒体に記録したままとする。
【0013】
また、新規動画データを追記せずに別のファイルとして記録する場合は、追記動画ファイルから新規動画データを分離し、新たな動画ファイルとするためのヘッダ情報などを付与し、新たな動画ファイル(新規動画ファイル)として記録媒体に記録する。そして、追記動画ファイルに残された、既存動画データからなる動画ファイルを一つの動画ファイルとするため、追記動画ファイルのヘッダ情報を変更して、記録媒体に記録する。すなわち、既存動画ファイルの状態に戻すような編集を行う。
【0014】
また、新規動画データを削除する場合は、追記動画ファイルから新たに撮影した動画データを分離し、その動画データを記録媒体から削除する。また、追記動画ファイルに残された、既存動画データからなる動画ファイルを一つの動画ファイルとするため、追記動画ファイルのヘッダ情報を変更して、記録媒体に記録する。すなわち、既存動画ファイルの状態に戻すような編集を行う。
【0015】
本実施例においては、ファイルアロケーションテーブルを用いた記録を行うファイルシステムに対応したフォーマット(本実施例ではファイルシステムとしてFAT32等を例とする)がなされた記録媒体を使用する。そして、前述した追記動画ファイルの生成や、追記動画ファイルを分離する際は、ファイルアロケーションテーブル(FAT)を編集している。従って、動画の追記や分離が容易に行えるのである。
【0016】
そして、本実施例の撮像装置によれば、複数ファイルの動画データをシームレスに再生しない撮像装置であっても、新たに動画撮影をした直後に、既存動画データと新規動画データをシームレスに再生して表示することができる。そして、このときにユーザによって選択された処理に従って、追記動画ファイルを記録したり、新規動画データを別のファイルとして記録したり、新規動画データを削除したりすることができる。従って、本実施例の撮像装置は、コストアップを避けつつ、ユーザに使い勝手を向上させることができる。
【0017】
以下、このような撮像装置について、説明する。
【0018】
本実施例においては、まず、図1を用いて撮像装置の全体構成を説明する。そして、図2を用いて、記録媒体に記録される動画ファイルのファイルフォーマットについて説明する。そして、図3を用いて、通常動画撮影モードにおける撮像装置の制御動作について説明する。そして、図4を用いて、記録媒体に記録された動画ファイルのデータ領域とFAT領域の説明をする。また、図5を用いて、連続動画撮影モード時の撮像装置の制御動作を説明する。また、図6を用いて、連続動画撮影モードにおける記録媒体上における動画ファイルの追記を説明する。また、図7を用いて、連続動画撮影モード時の撮影後の確認画面について説明する。また、図8を用いて、記録媒体上における動画ファイルの分離を説明する。また、図9を用いて、記録媒体上における動画ファイルの一部削除を説明する。また、図10を用いて、連続動画撮影モードで新規動画データ撮影中に動画の記録が停止した場合の追記動画ファイルの状態および、以降の撮影における動画ファイルの記録状態について説明する。
【0019】
まず、図1を用いて本実施例の撮像装置100の全体構成を説明する。
【0020】
図1において、制御部101は、例えば、CPU(MPU)、メモリ(DRAM、SRAM)等からなり、ユーザからの操作を受け付ける操作部102からの操作信号に応じて、各種処理(プログラム)を実行して撮像装置100の各ブロックを制御したり、各ブロック間でのデータ転送を制御したりする。制御部101は、CPUやメモリからなるマイクロコンピュータであってもよい。
【0021】
操作部102は、例えば、電源ボタン、記録開始ボタン、ズーム調整ボタン、オートフォーカスボタンなどの撮影に関連する各種操作を入力するスイッチ類を有する。また、メニュー表示ボタン、決定ボタン、その他カーソルキー、ポインティングデバイス、タッチパネル等を備え、ユーザによりこれらのキーやボタンが操作されると制御部101に操作信号を送信する。
【0022】
バス103は、各種データ、制御信号、指示信号などを撮像装置100の各ブロックに送るための汎用バスである。
撮像部110は、レンズにより取り込まれた被写体の光学像を、絞りにより光量を制御して、CCDセンサやCMOSセンサ等の撮像素子により画像信号に変換し、アナログデジタル変換をして、画像処理部111に送信する。
【0023】
画像処理部111は、画像の記録再生に必要な処理を実行するもので、下記の処理を実行するプログラムを搭載したマイクロコンピュータである。また、制御部101の一部の機能として下記の処理を実行するものであってもよい。画像処理部111は、撮像部110から取得したデジタル画像信号を一時的に不図示のメモリに記憶し、ホワイトバランスや色、明るさなどをユーザに設定された設定値や画像の特性から判定した設定値に基づいて調整する画質調整処理を行う。また、画質調整処理された複数のフレームの画像信号から動画データを生成する処理を行う。ここで、本実施例の画像処理部111は、動画データの各フレームをフレーム内符号化して圧縮符号化された動画データを生成しても良い。また、動画データの複数のフレーム間での差分や動き予測などを利用して圧縮符号化された動画データを生成してもよい。たとえばMotionJPEG、MPEG、H.264(MPEG4−Part10 AVC)、等の様々な公知の圧縮符号化方式の動画データを生成することができる。一般に、フレーム内符号化されたフレーム画像データをIピクチャーと呼び、前方のフレームとの差分を用いてフレーム間符号化された画像データをPピクチャーと呼び、前方後方のフレームとの差分を用いてフレーム間符号化された画像データをBピクチャーと呼ぶ。これらの圧縮方式は、公知の方式を用いており、本発明の特徴とは関係ないので説明を省略する。
そして、画像処理部111で処理された動画データは、制御部101により、メモリ104に送信される。
【0024】
次に、音声入力部120は、例えば、内蔵された無指向性のマイクまたは音声入力端子を介して接続された外部マイク等により、撮像装置100の周囲の音声を集音(収音)し、取得したアナログ音声信号をデジタル信号に変換して音声処理部121に送信する。
【0025】
音声処理部121は、音声の記録再生に必要な処理を実行するもので、下記の処理を実行するプログラムを搭載したマイクロコンピュータである。また、制御部101の一部の機能として下記の処理を実行するものであってもよい。音声処理部121では、音声入力部120から送信されたデジタル音声信号を一時的に不図示のメモリに記憶し、レベルの適正化処理や雑音低減処理等の処理を行う。また、必要に応じて,音声信号を圧縮する処理を行う。そして、音声処理部121で処理された音声データは、制御部101により、メモリ104に記憶される。
【0026】
また、表示制御部131は、表示部130に画像を表示するための表示制御を行うマイコンであって、画像処理部111に一時的に記憶されたデジタル画像信号を読み出して、表示部130に表示させる。表示部130は、たとえば撮像装置100に搭載された液晶パネルや有機ELパネル等であっても良いし、撮像装置100とは別の表示装置(たとえば、テレビ、モニタ、プロジェクタ)である。
メモリ104は、画像処理部111、音声処理部121により得られた、動画データ、音声データ等を一時的に記憶する。
【0027】
そして、制御部101は、たとえば、メモリ104より動画データ、音声データ等を読み出して記録再生部140に転送し、記録再生部140は、転送された動画データ、音声データを録媒体141に記録する。記録再生部140は、動画データと音声データを一つの動画ファイルとして記録媒体141に記録する。このとき、撮影時のカメラ設定や、検出データ等を示す各種データを制御部101が生成し、動画データ、音声データとともに記録媒体141に記録しても良い。ここで、記録媒体141は、撮像装置に内蔵された記録媒体でも、取外し可能な記録媒体でもよい。例えば、ハードディスク、光ディスク、光磁気ディスク、CD−R、DVD−R、磁気テープ、不揮発性の半導体メモリ、フラッシュメモリ、などのあらゆる方式の記録媒体を含む。
【0028】
また、記録再生部140は、記録媒体141に記録された動画ファイル等を読み出す(再生する)。そして、制御部101は、たとえば読み出した動画ファイルに含まれる動画のヘッダ情報を読み出し、そのヘッダ情報に基づいて、再生すべき動画データ、音声データを記録媒体141から読み出すように記録再生部140を制御する。記録再生部140は、読み出した動画データを画像処理部111へ、再生した音声データを音声処理部121に転送する。画像処理部111は、再生した動画データの1フレームの画像を順次、不図示のメモリに記憶する。そして、表示制御部131は、不図示のメモリに記憶された1フレームの画像を順次読み出して、表示部130に表示する。一方、音声処理部121は、再生した音声データからデジタル音声信号を復号し、アナログ信号へ変換してアナログ音声信号を不図示の音声出力部(スピーカ、イヤホン端子、音声出力端子等)に出力する。
【0029】
本実施例の撮像装置100は、前述したように、通常の動画撮影モード(第1のモード)と、連続動画撮影モード第2のモードとを有する。通常の動画撮影モード(第1のモード)においては、1回の動画撮影の開始から終了までに撮影された動画データを1つのファイルとして記録媒体に記録する。また、連続動画撮影モード(第2のモード)においては、既存動画ファイルに対して、新規動画データを追記した追記動画ファイルを記録媒体に記録することができる。
【0030】
ここで、本実施例の撮像装置100により、記録媒体141に記録される動画ファイルのファイルフォーマットについて説明する。本実施例では、汎用フォーマットとして、MOVファイルフォーマットを用いている。
【0031】
MOVファイルフォーマットで記録されたMOVファイルは、図2(a)に示すように、動画データのストリームデータの「mdatアトム」と、動画データのストリームデータに関連する情報の「moovアトム」とから構成されている。
【0032】
「mdatアトム」の中はさらに、図2(b)に示すように複数のチャンク(chunk cN)で構成され、各チャンクは図2(d)に示すように複数のサンプル(sample sM)から構成される。そして、各サンプルは例えば図2(e)に示すように、それぞれのサンプルに対してI0、B−2、B−1、P3、・・・の符号化された動画データの各フレームが対応する。ここで、I0、I1、I2、・・・、In はイントラ符号化(フレーム内符号化)されたフレーム画像データ(Iピクチャー)である。B0、B1、B2、・・・、Bn は双方向から参照して符号化(フレーム間符号化)されるフレーム画像データ(Bピクチャー)である。P0、P1、P2、・・・、Pnは一方向(順方向)から参照して符号化(フレーム間符号化)されるフレーム画像データ(Pピクチャー)である。本実施例では、フレーム間符号化を用いている例を説明したが、すべてがフレーム内符号化されたフレーム画像データ(Iピクチャー)であっても良い。
【0033】
「moovアトム」は図2(c)に示すように、作成日時等が記録されるヘッダ情報から成る「mvhdアトム」と「mdatアトム」に格納された動画データのストリームデータに関する情報を入れる「trakアトム」から成る。すなわち「moovアトム」は、動画データの管理情報を記録するものである。「trakアトム」に格納される情報としては、図2(h)に示すように、「mdatアトム」の各チャンクへのオフセット値の情報を格納する「stcoアトム(stcoボックスとも言う)」や、図2(g)に示すように各チャンク内のサンプル数の情報を格納する「stscアトム(stscボックスとも言う)」、図2(f)に示すように各サンプルのサイズの情報を格納する「stszアトム(stszボックスとも言う)」がある。従って上記の「stcoアトム」、「stscアトム」、「stszアトム」に格納されるデータのデータ量は、記録された画像データの量、すなわち記録時間と共に増大していく。例えば1秒間30フレームの画像を15フレーム毎1チャンクに格納するようにしてMOVファイルとして記録していった場合、2時間で1メガバイトほどのデータとなり、1メガバイトの容量を有するmoovアトムが必要となる。MOVファイルフォーマットで記録する場合、動画ストリームデータは時間とともに増大し、そのサイズも非常に大きいため、記録中にもファイルとして動画ストリームデータを外部メモリ407へ書き出す必要がある。しかしながら上述の通り、moovアトムも記録時間に応じてサイズが増加するため、記録が終了するまではMOVヘッダのサイズも不明なため、動画ストリームデータのファイル中への書き出しオフセット位置を決定する事ができない。そのため一般的にはMOVファイルフォーマットの柔軟性を利用し、「mdatアトム」をファイル先頭に配置し、記録終了時に「moovアトム」を「mdatアトム」の後ろに配置した動画ファイルとすることで、上記の問題への対応が可能となる。
【0034】
しかし、MOVファイルを再生する場合には、記録媒体からMOVファイルの「moovアトム」を読み込み、その「moovアトム」から上記の「stcoアトム」、「stscアトム」、「stszアトム」を解析して、「mdatアトム」内の各チャンクへのアクセスが出来るようにしている。そのため、「moovアトム」を「mdatアトム」後ろに配置するよりも、図2のように「MOVファイル」の先頭に「moovアトム」を配置する方が、「mdatアトム」へのアクセスも早くなる。
【0035】
そこで、本実施例の撮像装置100では、図3に示す手順で処理を行うことで、図2のように「MOVファイル」の先頭に「moovアトム」を配置した動画ファイルを生成することができるようにしている。
【0036】
なお、本実施例では記録媒体141のファイル管理システムは組み込み機器で一般的に使用されているFATファイルシステムを使用するものとして説明をする。FATファイルシステムの技術自体は広く公知であるので、本実施例の特徴的な動作でのみその説明をする。ちなみに、記録媒体141のたとえばフラッシュメモリ等は、内蔵されたマイクロコンピュータにより、記録媒体141内の物理的なメモリ領域を管理している。そして、撮像装置100の記録再生部140からのアクセスに対しては、論理的にFATファイルシステムでデータが格納されているように見せている。
【0037】
<通常動画撮影モード>
ここで、図3、図4を用いて、図2のように「MOVファイル」の先頭に「moovアトム」を配置した動画ファイルを生成するための動作を説明する。図3は、本実施例の通常動画撮影モード(第1のモード)で動画撮影を行った場合の撮像装置100の動作を説明するためのフロー図である。これらの動作は基本的に撮像装置100の制御部101により制御されている。また、図4は、本実施例の通常動画撮影モード(第1のモード)で動画撮影を行った場合に、記録媒体141の各論理クラスタ内に書き込まれるデータと、FAT(ファイルアロケーションテーブル)の状態を示すものである。
【0038】
まず、撮像装置100の操作部102より通常動画撮影モードが選択された状態で、撮影開始の指示が操作部102から入力されると、制御部101は、撮影開始の指示を、撮像装置の各ブロックに送信し、動画撮影を開始させる(S301でYes)。
【0039】
そうすると、撮像部110はデジタル画像信号を取得し、画像処理部111はデジタル画像信号に所定の画像処理を施し、複数フレームの画像信号から動画データを生成する。そして、制御部101は、画像処理部111で生成した動画データを、メモリ104に一時的に記憶する。一方、音声入力部120はデジタル音声信号を取得し、音声処理部121はデジタル音声信号に所定の処理を施し、音声データを生成する。そして、制御部101は、音声処理部121により生成された音声データを、メモリ104に一時的に記憶する。そして、制御部101は、所定のタイミングでメモリ104に記憶された動画データ、音声データをストリームデータ(動画データストリーム)として、記録再生部140に送信する。記録再生部140は、動画データストリームを記録媒体141に書き込んでいく(S302)。この動画データストリームは、図2で説明したMOVファイルのmdatになる部分のデータであり、動画データストリームは、所定のタイミングで順次追記されていくものである(後述のS305)。
【0040】
次に、制御部101は、moovアトムを新規に作成し、メモリ104に一時的に記憶する処理を行う。このmoovアトムは図2で説明した、MOVファイルのmoovアトムになる部分のデータであり、S302で記録した動画像ストリームデータに対応するようにstcoアトム、stscアトム、stszアトム、その他の必要情報を含む(S303)。
【0041】
そして、制御部101は、撮影終了の指示が操作部102から入力され、撮影終了状態に移行するか否かを判定する(S304)。そして、撮影終了の指示が入力されない場合には(S304でNo)、さらなる動画データストリームを記録媒体141に記録するように、記録再生部140を制御する(S305)。S305では、制御部101は、メモリ104に順次記憶される動画データ、音声データを所定のタイミングで、ストリームデータ(動画データストリーム)として、記録再生部140に送信する。記録再生部140は、S302等で既に記録媒体に記録141に記録した動画データストリームの直後に、新たな動画データストリームを追記していく。
【0042】
次に、制御部101は、S305でさらに記録された動画データストリームに対応するように、S303で作成したメモリ104上のmoovアトム内の、stcoアトム、stscアトム、stszアトム、その他の必要情報を更新していく(S306)。
【0043】
以後、撮影を停止しない限りは、制御部101は、S304からS306の処理を実行するように制御する。
【0044】
次に、操作部102から、撮影停止の指示が入力されると(S304でYes)、制御部101は、メモリ104に残された動画データ、音声データをすべて、ストリームデータ(動画データストリーム)として、記録再生部140に送信する。記録再生部140は、S302、S305等で既に記録媒体に記録141に記録した動画データストリームの直後に、最後の動画データストリームを追記していく(S307)。
【0045】
次に、制御部101は、S307で追記された動画データストリームに対応するように、S303で作成したmoovアトム内の、stcoアトム、stscアトム、stszアトム、その他の必要情報を更新していく(S308)。この、S302からS308の処理は、撮影処理S320とする。
【0046】
今回の撮影動作により、ここまでに記録媒体141に記録されているのは動画データストリームのみである。このときの記録媒体141のFATとデータ領域の状態を示した図が図4(a)である。図4(a)のように今回の撮影動作により、動画データストリームは、データ記録領域のクラスタ番号1、2の領域にまたがって記録されている。そして、FATは、クラスタ番号1の領域の次にクラスタ番号2の領域を読み込むようにセットされ、クラスタ番号2の領域でファイルが終端であることを示すようにセットされている。すなわち、クラスタ番号1に対応するFAT領域には「2」が、クラスタ番号2に対応するFAT領域には「FF」がセットされる。
【0047】
次に、図3に戻り説明を続ける。制御部101は、moovアトムの更新を終了すると、メモリ104に記憶されたmoovアトムが、記録媒体141のクラスタサイズの整数倍のデータ量になっているかをチェックする(S309)。記録媒体141はFATファイルシステムにおいては、1クラスタのサイズを32キロバイト、16キロバイト、8キロバイトなど設定可能である。S309においては、moovアトムがこれらのサイズの整数倍になっているかをチェックするのである。すなわち、1クラスタのサイズが32キロバイトだとすると、64キロバイト、704キロバイトなどになっているか否かをチェックする。そして、メモリ104に記憶されたmoovアトムが、記録媒体141のクラスタサイズの整数倍になっていない場合には(S309でNo)、クラスタサイズの整数倍の容量になるように、たとえば空白データ(freeアトム)をmoovアトムの後に追加する。たとえば、moovアトムが、17キロバイトであり、クラスタサイズが、32キロバイトであれば、15キロバイトのfreeアトムを生成して、メモリ104のmoovアトムの後に記憶する。そうすると、moovアトムと、freeアトムを合わせた領域(mooovデータと呼ぶ)のサイズは、クラスタサイズの整数倍にすることができる(S310)。
【0048】
次に、制御部101は、メモリ104に記憶されている、moovアトムまたは、moovアトムを含むmoovデータを、記録再生部140に送信し、記録媒体141にファイル(moovファイル)として記録するように制御する。このとき、制御部101は、ファイルの名称を、たとえばMVI_0001.MOV等の動画ファイルの名称としてmoovファイルを記録させる(S311)。
【0049】
ここまでに記録媒体141に記録されているのは動画データストリームと、moovファイルである。このときの記録媒体141のFATとデータ領域の状態を示した図が図4(b)である。図4(b)のように、クラスタ番号3に、moovファイルが記録されている。そして、FATは、クラスタ番号3の領域にのみ記録されたファイルがあることを示すように「FF」がセットされている。
【0050】
最後に、制御部101は、記録媒体に記録された動画データストリームと、moovファイルとを結合し、動画ファイルを完成させる処理を行う。本実施例では、これまで別々に記録されていた動画データストリームと、moovファイルとを結合するために、FAT領域のみを書き換える処理を行う。つまり、moovファイルに含まれるmoovアトムを最初に読み込み、次に動画データストリームを読み込めるように変更するのである(S312)。この変更状態を示したのが、図4(c)である。本実施例では、クラスタ番号3の次にクラスタ番号1を読み込むようにFATのクラスタ番号3に対応する場所をファイル終端を示す「FF」から、「1」に変更する。
【0051】
このようにすることで、動画データとしては、クラスタ番号3のデータが最初にくることになり、図2のように「MOVファイル」の先頭に「moovアトム」を配置した動画ファイルを生成することができるようになるのである。
【0052】
そして、これらS301からS312の処理が終了すると、再び待機状態に戻り、記録処理を終了する。この、S309からS312の処理は、撮影後処理AS330とする。
本実施例の撮像装置100は、通常動画撮影モードにおいては、S301からS312の処理を行うことで、動画ファイル(「MOVファイル」)を生成するのである。
【0053】
本実施例の説明では、ディレクトリエントリについては言及しなかったが、最終的に完成した「MOVファイル」の先頭クラスタと、ファイル名MVI_0001.MOVを示す情報がディレクトリエントリに書き込まれる。しかし、途中生成した動画データストリームのファイル(クラスタ番号1から2)については、ディレクトリエントリに書き込まなくても良い。また、「moovファイル」(クラスタ番号3)については、ファイル名をつけて記録するためディレクトリエントリに、ファイル名と、先頭クラスタの情報を書き込む。ここで、本実施例においては「moovファイル」のファイル名を、最終的に完成する「MOVファイル」のファイル名と同じものとしており、「MOVファイル」の先頭クラスタは、「moovファイル」の先頭クラスタと同じである。したがって、「MOVファイル」を生成する際には、FAT領域のみを書き換えることで、ファイルを完成させることができるのである。
【0054】
なお、本実施例の動画データストリームのファイルは、「MVI_0001.DAT」というファイル名で、記録媒体141に記録されている。したがって、ファイルを完成させた後に、ディレクトリエントリに書き込まれた「MVI_0001.DAT」を示す情報を削除する。
【0055】
また、メモリ104に記録されているmoovアトムの情報を、不図示の不揮発性メモリに、順次コピーするようにしても良い。このようにすることで、動画撮影中に、突然電源が落ちても撮像装置の再起動時に、不揮発性メモリに記録されているmoovアトム情報を用いて、記録途中だった動画データの動画ファイルを完成させることができる。
【0056】
<連続動画撮影モード>
続いて、図5から図11を用いて、本実施例の連続動画撮影モード(第2のモード)で動画撮影を行った場合の撮像装置100の動作を説明する。
【0057】
図5は、本実施例の連続動画撮影モード(第2のモード)で動画撮影を行った場合の撮像装置100の動作を説明するためのフロー図である。これらの動作は基本的に撮像装置100の制御部101により制御されている。また、図6、図7、図8は、本実施例の連続動画撮影モード(第2のモード)で動画撮影を行った場合に、記録媒体141の各論理クラスタ内に書き込まれるデータと、FAT(ファイルアロケーションテーブル)の状態を示すものである。特に図6は、記録媒体141に既に記録されている動画ファイル(既存動画ファイル)に、新規に撮影した動画データ(新規動画データ)を追記した追記動画ファイルの生成を説明するための図である。また、図7は、動画撮影後の確認画面を示す図である。また、図8は、追記動画ファイルから新規動画データの分離、既存動画ファイルの動画データ(既存動画データ)のみの動画ファイルの生成、新規動画データのみからなる新規動画ファイルの生成を説明するための図である。また、図9は、追記動画ファイルから、新規動画データの分離、既存動画ファイルの動画データ(既存動画データ)のみの動画ファイルの生成、新規動画データの削除を説明するための図である。
【0058】
本実施例の連続動画撮影モードは、事前に1回の撮影時間を設定「撮影時間設定」して撮影するものとして説明する。たとえば、設定できる動画データの時間長は、2秒、4秒、6秒、8秒、等であるが、任意の秒数としてもよい。また、本発明は、撮影時間を設定した時間長の撮影のみに限定されるものではなく、撮影中に撮影延長の指示をすることにより撮影時間を延長できるようにしても良いし、撮影時間を設定しなくても良い。
【0059】
まず、撮像装置100の操作部102より連続動画撮影モードが選択されると、制御部101は、撮影する新規動画データを、記録媒体141に記録されている既存動画データに追記可能かどうかを判定する(S501)。この処理は、たとえば、記録媒体141が着脱されたか否か、既存動画ファイルがプロテクトされているか否か、動画記録設定が既存動画ファイルと同一か否か等に応じて、追記するか否かを判定する。また、動画記録に伴う音声の記録設定が既存動画ファイルと同一か否か、現在連続動画撮影モードにおける撮影時間設定と、既存動画ファイルの撮影時間設定と、が同一であるか否かを判定する。そのため、制御部101は、撮像装置100の起動時に、あらかじめ記録媒体141に記録されている動画ファイルのパスを参照し、連続動画撮影モードで撮影された動画ファイルのうち最後に撮影された動画ファイルの名前を不図示のメモリに一時的に記憶している。そして、制御部101は、追記判定結果をメモリに記憶する。ここで、「追記可能」と判定しない場合の条件を整理する。
・追記対象のファイルが無い場合
連続動画撮影モードで撮影された動画には、ファイル名として、「VSN_000X.MOV」という、VSNという識別子と通し番号4桁が付加されるようになっている。しかし、撮像装置100の起動時に、連続動画撮影モードで撮影された動画ファイルのうち最後に撮影された動画ファイルの名前が検出されない場合には、追記不可能とする。
・記録媒体141の挿抜履歴がある場合
撮像装置100の起動時に、制御部101は、最後に連続動画撮影モードにおいて撮影した後に、記録媒体141が挿抜された履歴が、不図示の不揮発性メモリに残っている場合には、追記不可能とする。これは、記録媒体141に記録されている「VSN_000X.MOV」がコンピュータなどにより編集されてしまい、画像サイズなどが変更され、追記により動画ファイル自体が壊れたりする可能性を低減するためである。そのためには、追記対象の「VSN_000X.MOV」のmoovデータを読み出して、moovアトムに記録されている撮影日時情報と、不揮発性メモリに残っている挿抜履歴の時間情報とを比較する。追記動画ファイル「VSN_000X.MOV」は、その動画に記録されている複数のシーンの動画データのうち、最初に撮影された時間情報をmoovアトムに記録されるようになっている。
・追記対象の既存動画ファイルがプロテクトされている場合
記録媒体141に記録されている追記対象の「VSN_000X.MOV」がプロテクトされている場合には、ユーザがファイルの改変を望まないファイルである可能性が高いので、追記不可能とする。
・追記撮影によりファイルサイズが所定のサイズを超える場合
記録媒体141は、前述したようにたとえばFATファイルシステムで管理されている。その場合、たとえば、FAT32では、1ファイルあたり4GB以上になると読み込めなくなってしまう。そのため、次の撮影により「追記動画ファイル」が4GBを超える場合には、追記不可能とする。
・追記撮影により動画再生時間が所定時間を超える場合
撮像装置においては、所定時間(たとえば、30分)を超える撮影を望まない場合を考慮し、連続動画撮影モードにおいて、新たな撮影をすることにより、「追記動画ファイル」の動画データの再生時間が30分を超える場合には、追記不可能とする。そのためには、たとえば、moovアトムに記載されている「追記動画ファイル」の再生時間を読み出して、29分58秒等であれば、追記不可能とするのである。
・動画記録設定が追記元の既存動画ファイルと同一でない場合
本実施例のように、既存動画ファイルに新規動画データを追記する場合には、動画の途中で、フレームレートや画像サイズ、GOP構成、動画符号化方式が変更されてしまうと、シームレスに再生できなくなってしまう可能性がある。そのため、既存動画ファイルの動画データと、新規動画データの動画記録設定が同一でない場合には、追記不可能とする。フレームレートや画像サイズ、GOP構成、動画符号化方式等の情報は、既存動画ファイルのmoovアトムやファイルヘッダ等に記録されている。
・音声記録設定が追記元の既存動画ファイルと同一でない場合
本実施例のように、既存動画ファイルに新規動画データを追記する場合には、動画の途中で、音声のサンプリングレートや、音声符号化方式等が変更されてしまうと、再生できなくなってしまう可能性がある。そのため、既存動画ファイルの動画データと、新規動画データファイルの音声記録設定が同一でない場合には、追記不可能とする。音声のサンプリングレートや、音声符号化方式等の情報は、既存動画ファイルのmoovアトムやファイルヘッダ等に記録されている。
・「撮影時間設定」が追記元の既存動画ファイルと同一でない場合
本実施例の撮像装置は、前述のように、2秒、4秒、6秒、8秒等の固定時間撮影した動画データを追記していく方式をとっている。後述するが、そのため、4秒の動画データのみを追記した追記動画ファイルを生成し、そのファイルの早送り、巻戻しについては、4秒ずつ早送り、巻戻しを行うようにしている。そのため、設定された「撮影時間設定」が追記元の既存動画ファイルと同一でない場合には、追記不可能とする。この「撮影時間設定」に関する情報も、moovアトムやファイルヘッダ等に記載されている。
【0060】
以上が、追記不可能とする条件である。
【0061】
次に、制御部101は、撮影開始の指示が操作部102から入力されると(S502でYes)、撮影開始の指示を撮像装置の各ブロックに送信し、動画撮影を開始させる。そして、図3のS320の処理を撮影終了の指示があるまで継続する。すなわち、制御部101は、記録媒体141に動画データストリームを順次記録し、その動画データストリームに対応するmoovアトムを生成してメモリ104に記憶する処理を、撮影終了の指示が入力されるまで継続する。そして、撮影終了の指示が入力されると、最後に撮影された動画データと音声データとを動画データストリームとして、さらに記録媒体141に記録していく。そして、メモリ104に記憶されているその動画データストリームに対応するmoovアトムを更新する。
【0062】
撮影処理S320が終了すると、制御部101は、次に、撮影前にS501で判定した追記判定処理の結果を制御部101のメモリから読み出す。制御部101は、追記可能な場合には、S510に処理を移す(S503で追記)。一方、追記可能でない場合には、新規撮影として、撮影後処理AS330に処理を移す(S503で新規)。S330の説明は、図3の説明と同様であるので省略する。この連続動画撮影モードで撮影される動画ファイルには、「VSN_000X.MOV」というファイル名が付与される。
【0063】
次に、追記可能な場合(S503で追記)について説明する。追記可能な場合には、制御部101は、図6(b)に示すように、追記対象の既存動画ファイル「VSN_000X.MOV」の記録されていない、空きクラスタに新規動画データのストリームが記録するように記録再生部140を制御する。本実施例では、記録媒体141のクラスタ番号4のデータ領域に記録される例を示したが、空き領域であれば、どのクラスタでも良い。このとき、新規動画データのストリームのファイルには、「VSN_000X+1.DAT」という、「既存動画ファイル」のファイル名の4桁の通し番号をインクリメントしたファイル名を使用する。
【0064】
追記可能な場合、制御部101は、追記対象となる既存動画ファイルのmoovデータを記録媒体141から読み出すように記録再生部140を制御して、既存動画ファイルのmoovアトムをメモリ104に記憶する(S510)。そして、今回の撮影処理S320によりメモリ104に記憶されている新規動画データのmoovアトムとの結合処理を行う(S511)。moovアトムは、図2で説明したように、動画の作成日時、各動画のフレームを示すチャンクへのオフセット情報を格納している。そこで、制御部101は、既存動画データの最後のチャンクの次のチャンクが、新規動画データの最初のチャンクになるように、2つのmoovアトムを用いて結合されたmoovアトムを生成する。具体的には、新規動画データの「stcoアトム」のオフセット値に、既存動画データの「stcoアトム」のオフセット値を足す処理を行う等の処理を行う。このようにすることで、既存動画ファイルに新規動画データを追記した動画ファイルの再生に必要なmoovアトムを生成することができるのである。このとき、新たに生成したmoovアトムには、動画撮影を行った時刻を記録することができるが、追記された動画のmoovアトムには、既存動画ファイルの動画データの撮影時刻の情報が記録されることになる。
【0065】
次に、制御部101は、図3のS309からS310と同様の処理により、moovアトムを含むmoovデータを作成する。
【0066】
そして、制御部101は、メモリ104に記憶されている、結合されたmoovアトムまたは、結合されたmoovアトムを含むmoovデータを、記録再生部140に送信し、記録媒体141にファイル(moovファイル)として記録するように制御する(S512)。このとき、制御部101は、記録媒体141に、既に記録されている既存動画ファイルのmoovデータを上書きするように記録再生部140を制御する。また、既存動画ファイルのmoovデータを削除し、その上から新たなmoovデータを別のクラスタに記録しても良い。
【0067】
ここまでに記録媒体141に記録されているのは動画データストリームと、moovファイルである。このときの記録媒体141のFATとデータ領域の状態を示した図が図6(b)である。ちなみに、図6(a)は、記録媒体141に既に記録されている既存動画ファイルのデータ領域の状態と、FAT領域の状態を示している。図6(a)では、既存動画ファイル「VSN_000X.MOV」が、クラスタ番号1から3のデータ領域に記録されている。そして、FATは、クラスタ番号3>1>2の順番でファイルを読み込むようにセットされている。
【0068】
図6(b)では、図6(a)の状態から、まず、新たに撮影された新規動画データストリームがクラスタ番号4、5の領域に記録されており、FATは、クラスタ番号4の領域に続けてクラスタ番号5の領域を読み込むようにセットされている。この新規動画データストリームのファイル名は、前述したように「VSN_000X+1.DAT」という、「既存動画ファイル」のファイル名の4桁の通し番号をインクリメントしたファイル名である。また、moovアトムの領域が、図6(a)よりも大きな領域を使用するようになっている。
【0069】
次に、制御部101は、記録媒体に記録された既存動画データのストリームと、新規動画データのストリーム、そしてmoovファイルとを結合し、動画ファイルを完成させる処理を行う(S513)。本実施例では、新たに記録された新規動画データのストリームのファイルと、既存動画ファイルの既存動画データとを結合するために、FAT領域のみを書き換える処理を行う。つまり、既存動画ファイルの既存動画データのストリームの次に、新規動画データのストリームを読み込めるように変更するのである。この変更状態を示したのが、図6(c)である。本実施例では、既存動画データストリームの終端であるクラスタ番号2の次に、新規動画データストリームの最初であるクラスタ番号4を読み込むようにFATのクラスタ番号2に対応する場所をファイル終端を示す「FF」から、「4」に変更する。そうすると、「追記動画ファイル」は、FATに従って、3>1>2>4>5の順で読み出すことになる。そして、「追記動画ファイル」には、「既存動画ファイル」と同様に「VSN_000X.MOV」というファイル名を使用する。
【0070】
このようにすることで、本実施例の撮像装置100は、新規動画データの記録が終わってからFATを書き換えることで、既存動画ファイルに追記された動画(追記動画ファイル)を生成することができる。このような追記動画ファイルを生成することで、複数ファイルの動画データをシームレスに再生できないような撮像装置であっても、既存動画ファイルの動画データと、新規撮影により得られた動画データとをシームレスに再生することができる。
【0071】
本実施例の撮像装置100は、これらの動画ファイルを生成する際には、最初に設定した「撮影時間設定」の時間情報を、moovアトムやmoovデータとして記録している。すなわち、たとえば、追記動画ファイルのmoovアトムを確認することで、4秒の動画データ画次々に追記された動画ファイルであること等が検出できるようになっている。同様に、2秒、6秒、8秒であることも検出できる。
【0072】
次に、制御部101は、記録媒体141に記録された追記動画ファイルの動画データを表示部130に表示する(S520)。そのために、制御部101は、記録媒体141に記録された追記動画ファイルを記録媒体141から読み出すように記録再生部140を制御する。制御部101は、読み出した追記動画ファイルのmoovアトム等を読み出す。そして、制御部101は、S511でmoovアトムを結合した時のオフセット値を用いて、最後に撮影された新規動画データの先頭フレームに対応するチャンクを特定し、そのフレームの画像信号を画像処理部111に復号させる。そして、画像処理部111は復号した新規動画データの先頭フレームの画像信号を不図示のメモリに記憶し、制御部101は、メモリから画像信号を読み出すよう表示制御部131を制御し、表示制御部131は、表示部130に画像を表示する(S520)。
【0073】
この確認画面を示したのが図7(a)である。この画面においては、ユーザがこの画面を見ながら操作をすることができるように、制御部101は、「再生」、「保存」、「新規」、「削除」の項目を表示部130に表示するように、表示制御部131を制御している。ユーザが、操作部102を操作して、「再生」を選ぶと、S513までの処理で、結合された追記動画ファイルの画像を再生することができる。制御部101は、「再生」が選択されると、図7(b)のような表示を表示部130に表示するように表示制御部131を制御する。この画面においては、表示画面上には、「追記動画ファイル」のうち、最後に撮影された新規動画データストリームに当たる部分の再生が開始される。そのために制御部101は、moovアトムを参照して、順次読み出すべきフレーム画像のチャンクのオフセットを特定し、記録媒体141からそのチャンクを読み出すように記録再生部140を制御する。ここで、画面上に表示された「前スキップ」、「後スキップ」が選択されると、制御部101は、追記動画ファイルのmoovアトムに記録された「撮影時間設定」の時間分、動画データを前または後にスキップさせる。つまり、「撮影時間設定」が4秒であって、追記動画ファイルの動画データが4秒の動画データで構成されている場合には、4秒ずつ動画データをスキップできるようにするのである。また、「撮影時間設定」が2秒であって、追記動画ファイルの動画データが2秒の動画データで構成されている場合には、2秒ずつ動画データをスキップできるようにするのである。たとえば、4秒ずつのシーンを5個つなぎ合わせた「追記動画ファイル」であって、最後に撮影された新規動画データの2秒のシーン(動画全体では18秒時点のシーン)を再生しているときに「前スキップ」が操作されると以下のような動作を行う。すなわち、図7(c)に示すように、制御部101は、再生中の「追記動画ファイル」を4秒分前にスキップさせ、14秒時点のシーンを表示する。図7(c)は、最後に撮影された新規動画データではなく、それよりも1回前に撮影された動画データである。つまり、各シーンの先頭フレームに移動するのではなく、追記動画ファイルの動画データ上で、撮影前に設定された各シーンの秒数単位でスキップを行うことができるのである。制御部101は、このとき、moovアトムを解析し、14秒時点のフレーム画像のチャンクの記録位置を特定し、その位置から動画を再生するように制御する。
【0074】
図7(a)に戻り、説明を続ける。制御部101は、「保存」が選択されると(S530で保存)、S513までの処理で記録媒体141に記録された「追記動画ファイル」を記録したままとして、図7の表示を消すように表示制御部131を制御する(S540)。そして、撮像装置100の各部を再び待機状態に戻すように制御する。
【0075】
また、制御部101は、「新規」が選択されると(S530で新規)、S513までの処理で記録媒体141に記録された「追記動画ファイル」を二つに分離する処理を行う(S550)。そのために、まず、制御部101は、メモリ104に展開されているmoovアトムの結合した時のオフセット値を用いて、最後に撮影された新規動画データの先頭フレームに対応するチャンクの記録位置を特定する(S551)。すなわち、図8(a)のような状態で、記録媒体141に記録されている「追記動画ファイル」の新規動画データストリームに対応する位置(クラスタ番号4、5)を特定する。
【0076】
そして、制御部101は、「追記動画ファイル」から、新規動画データストリームに対応するデータ領域を分離するように、記録媒体141のFAT領域を書き換えるように記録再生部140を制御する(S552)。そして、分離した新規動画データストリームのファイル名を「VSN_000X+1.DAT」とする。この様子を図8を用いて説明すると、図8(a)のような状態で、記録媒体141に記録されている「追記動画ファイル」は、クラスタ番号2の次に、新規動画データストリームに対応するクラスタ番号4を読むようにしている。ここで、S552の処理により、図8(b)のように、クラスタ番号2をファイルの終端とするためにFAT領域のクラスタ番号2に対応するテーブルを「4」から「FF」に書き換える。
【0077】
そして、制御部101は、元々記録媒体141に記録されていた既存動画データストリームに対応するmoovアトムを生成し直し、S309、S310のようにサイズ調整しmoovデータとしてから、記録媒体141に記録する。このとき、「追記動画ファイル」のmoovデータを削除してから、作成し直した既存動画データストリームに対応するmoovアトムを含むmoovデータを記録媒体141に記録する(S553)。本実施例では、図8(b)のように、クラスタ番号3のデータ領域に記録する。このmoovデータのファイルは、「VSN_000X.MOV」というファイル名を使用する。このようにすることで、元々記録媒体141に記録されていた「既存動画ファイル」と実質的に同じ動画ファイルを生成する準備を整える。
【0078】
また、制御部101は、分離した新規動画データに対応するmoovアトムを生成し直し、生成したmoovアトムをS309、S310のようにサイズ調整しmoovデータとしてから、記録媒体141の新規なデータ領域に記録する(S554)。本実施例では、図8(b)のように、クラスタ番号6のデータ領域に記録する。このmoovデータのファイル名は、「VSN_000X+1.MOV」というファイル名とする。このようにすることで、「新規動画ファイル」の動画ファイルを生成する準備を整える。
【0079】
このときの記録媒体141の状態を示した図が、図8(b)である。図8(b)では、既存動画データストリームは、データ記録領域のクラスタ番号1、2の領域にまたがって記録されている。そして、FATは、クラスタ番号1>2の順で読み込むようにセットされ、クラスタ番号2の領域でファイルが終端であることを示すようにセットされている。すなわち、クラスタ番号1に対応するFAT領域には「2」が、クラスタ番号2に対応するFAT領域には「FF」がセットされる。また、新規動画データストリームは、データ記録領域のクラスタ番号4、5の領域にまたがって記録されている。そして、FATは、クラスタ番号4>5の順で読み込むようにセットされ、クラスタ番号5の領域でファイルが終端であることを示すようにセットされている。すなわち、クラスタ番号4に対応するFAT領域には「5」が、クラスタ番号5に対応するFAT領域には「FF」がセットされる。また、既存動画データストリームに対応するmoovアトムは、クラスタ番号3のデータ領域に記録されており、新規動画データストリームに対応するmoovアトムは、クラスタ番号6のデータ領域に記録されている。
【0080】
次に、「既存動画ファイル」と「新規動画データファイル」を完成させる処理を行う(S555)(S556)。そのために、制御部101は、S312、S513のごとく、記録再生部140を制御して、記録媒体141のFAT領域を書き換える。この変更状態を示したのが、図8(c)である。本実施例では、クラスタ番号3の次にクラスタ番号1を読み込むようにFATのクラスタ番号3に対応する場所をファイル終端を示す「FF」から、「1」に変更する。これにより、「既存動画ファイル」は、クラスタ番号3>1>2の順で読み出すことになる。また、クラスタ番号6の次にクラスタ番号4を読み込むようにFATのクラスタ番号6に対応する場所をファイル終端を示す「FF」から、「4」に変更する。これにより、「新規動画ファイル」は、クラスタ番号6>4>5の順で読み出すことになる。
【0081】
このように、制御部101は、記録媒体141に記録された動画ファイルのmoovアトムを読み出し、変更および新規作成して、再び記録媒体141に書き込み、FAT領域のデータを書き換えることができる。これにより「追記動画ファイル」(VSN_000X.MOV)から「新規動画ファイル」(VSN_000X+1.MOV)を生成し、元々記録媒体141に記録されていた「既存動画ファイル」(VSN_000X.MOV)と実質的に同じ動画ファイルを生成することができるのである。
【0082】
また、制御部101は、「削除」が選択されると(S530で削除)、S513までの処理で記録媒体141に記録された「追記動画ファイル」を二つに分離し、新規動画データを削除(無効)にする処理を行う(S560)。そのために、まず、制御部101は、S551からS553の処理を行う。
【0083】
次に、制御部101は、新規動画データストリームのファイルを削除する処理を行う(S561)。そのために、制御部101は、分離した新規動画データに対応する動画データストリームを無効とするために、記録媒体141のデータ領域のクラスタ番号4、5に対応するFATに、ファイルが記録されていないことを示す情報をセットする。これにより、新規動画データストリームのファイルがFAT上削除された扱いとなる。
【0084】
このときの記録媒体141の状態を示した図が、図9(b)である。図9(b)では、既存動画データストリームは、データ記録領域のクラスタ番号1、2の領域にまたがって記録されている。そして、FATは、クラスタ番号1の領域の次にクラスタ番号2の領域を読み込むようにセットされ、クラスタ番号2の領域でファイルが終端であることを示すようにセットされている。すなわち、クラスタ番号1に対応するFAT領域には「2」が、クラスタ番号2に対応するFAT領域には「FF」がセットされる。また、新規動画データストリームは、データ記録領域のクラスタ番号4、5の領域にまたがって記録されていたが、無効なものとされている。そのため、FATは、クラスタ番号4、5の領域にデータ画記録されていないことを示すようにセットされる。つまりクラスタ番号4、5に対応するFAT領域には「0」がセットされる。また、既存動画データストリームに対応するmoovアトムは、クラスタ番号3のデータ領域に記録されている。
【0085】
次に、「既存動画ファイル」を完成させる処理S555を行う。この状態を示したのが、図8(c)である。本実施例では、クラスタ番号3の次にクラスタ番号1を読み込むようにFATのクラスタ番号3に対応する場所をファイル終端を示す「FF」から、「1」に変更する。これにより、「既存動画ファイル」は、クラスタ番号3>1>2の順で読み出すことになる。
【0086】
このように、制御部101は、記録媒体141に記録された動画ファイルのmoovアトムを読み出し、変更して、再び記録媒体141に書き込み、FAT領域のデータを書き換えることができる。これにより「追記動画ファイル」(VSN_000X.MOV)から元々記録媒体141に記録されていた「既存動画ファイル」(VSN_000X.MOV)と実質的に同じ動画ファイルを生成することができるのである。
【0087】
S550からS556、S560からS555の処理を終えると、制御部101は、S540へ処理を移し、図7の表示を消すように表示制御部131を制御する(S540)。そして、撮像装置100の各部を再び待機状態に戻すように制御する。
【0088】
以上のように、本実施例の撮像装置によれば、通常の動画撮影モード(第1のモード)においては、1回の動画撮影の開始から終了までに撮影された動画データを1つのファイルとして記録媒体に記録することができる。また、連続動画撮影モード(第2のモード)においては、記録媒体に既に記録されている動画ファイル(既存動画ファイル)に対して、新たに撮影した動画データ(新規動画データ)を追記した動画ファイル(追記動画ファイル)を記録媒体に記録することができる。特に、本実施例の撮像装置は、連続動画撮影モードにおいて、新たに動画撮影をすると、撮影後に動画を表示画面に表示して、ユーザに確認させることができる。このとき、本実施例の撮像装置は、既存動画ファイルの動画データ(既存動画データ)と、新規動画データとをシームレスに再生して表示することができる。そして、ユーザが連続的に再生した動画を確認してから、追記動画ファイルを記録する、新規動画データを別のファイルとして記録する、新規動画データを削除する等の処理を選択することができる。
【0089】
そして、本実施例の撮像装置によれば、複数ファイルの動画データをシームレスに再生できないような撮像装置であっても、新たに動画撮影をした直後に、既存動画データと新規動画データをシームレスに再生して表示することができる。そして、このときにユーザによって選択された処理に従って、追記動画ファイルを記録したり、新規動画データを別のファイルとして記録したり、新規動画データを削除したりすることができる。従って、本実施例の撮像装置は、コストアップを避けつつ、ユーザに使い勝手を向上させることができる。
【0090】
ここで、連続動画撮影モードで、「既存動画ファイル」に新規動画データを追記する場合、イレギュラーなエラーが発生し、撮影前に設定した1シーンの時間の撮影が行えなかった場合の処理(「エラー処理」)について説明する。
【0091】
ここでいう1シーンの時間とは、前述した「撮影時間設定」で設定してある、1シーンの撮影時間であり、前述のように、たとえば2、4、6、8秒などが設定可能である。
【0092】
本実施例の撮像装置100は、連続動画撮影モードにおいて、撮影終了時に、新たに撮影した新規動画データを既存動画ファイルに追記した「追記動画ファイル」を再生して表示することができる(図5のS520、図7)。このとき、前述したように、「追記動画ファイル」のmoovアトムに格納された「撮影時間設定」の時間分、動画データを前または後にスキップさせている。つまり、「撮影時間設定」が4秒であって、追記動画ファイルの動画データが4秒の動画データで構成されている場合には、4秒ずつ(あらかじめ設定された時間長毎に)動画データをスキップできるようしている。
【0093】
このようなスキップを行うにもかかわらず、途中に、「撮影時間設定」以外の長さのシーンが含まれていると、各シーンの先頭の画像のみをスキップ操作で確認したくても、ずれてしまうことになる。そうすると、ユーザにとって、操作が不便なものになってしまう。
【0094】
そこで、本実施例の撮像装置100は、一つの「追記動画ファイル」の少なくとも途中のシーンに、「撮影時間設定」以外の長さのシーンが含まれないような撮影を行うことができるようにしている。ここで、途中のシーンとしたのは、たとえば「追記動画ファイル」の最後のシーンについては、「撮影時間設定」以外の長さのシーンでもよいからである。これは、最後の撮影をした直後であれば、各シーンの先頭の画像のみをスキップ操作で確認するのに支障がないからである。
【0095】
また、ここでいうエラー発生時とは、たとえば、動画撮影中に、記録媒体141の収納部のふたが開いた場合、撮影停止スイッチが押された場合等がある。ここで説明する「エラー処理」は、図5のS320の撮影処理中に、エラーが発生し撮影が停止した場合の処理である。図10は、各エラー処理によって生成される動画の状態を示すものであって、各ブロックは、1シーンの動画に対応する。なお、斜線のブロックは、イレギュラーなエラーにより、撮影された動画を示すものである。
【0096】
「エラー処理」については、複数の処理が考えられるので、それぞれについて説明するが、どの方式の「エラー処理」を用いても良い。
・「エラー処理A」追記処理を実行する場合
ここでは、図5のS502からS513までの処理と同様に、「既存動画ファイル」に途中で撮影が停止した新規動画データを追記して「追記動画ファイル」を作成する。しかし、図5と異なり、図7(a)のような確認画面を表示しない。したがって、図10(a)に示すように、「既存動画ファイル」に新規動画データを追記して、「追記動画ファイル」(VSN_000X.MOV)を生成する。
【0097】
しかし、そのさらに後に撮影するシーンの動画データを追記すると、前述したように、途中に、「撮影時間設定」以外の長さのシーンが含まれてしまうことになり、各シーンの先頭の画像のみをスキップ操作で確認したくても、ずれてしまうことになる。そこで、制御部101は、エラー処理Aにおいては、このような状況を避けるために、次に撮影される動画データについては、(VSN_000X.MOV)に追記せずに、新たな動画ファイルとして記録媒体141に記録するようにする。
・「エラー処理B」分離処理を実行する場合
ここでは、図5のS502からS320までの処理と同様に、新規動画データを記録媒体に記録する処理を行う。しかし、「既存動画ファイル」に途中で撮影が停止した新規動画データを追記せずに、「新規動画ファイル」を作成する。すなわち、制御部101は、撮影がイレギュラーなエラーで停止した場合には、図5のS320につづいてS330の処理を行う。また、この時も図7(a)のような確認画面を表示しない。したがって、図10(b)に示すように「既存動画ファイル」(VSN_000X.MOV)と、「新規動画ファイル」(VSN_000X+1.MOV)とを記録媒体141に記録する。
【0098】
しかし、そのさらに後に撮影するシーンの動画データを追記すると、前述したように、途中に、「撮影時間設定」以外の長さのシーンが含まれてしまうことになり、各シーンの先頭の画像のみをスキップ操作で確認したくても、ずれてしまうことになる。そこで、制御部101は、エラー処理Bにおいては、このような状況を避けるために、次に撮影される動画データについては、(VSN_000X+1.MOV)に追記せずに、新たな動画ファイルとして記録媒体141に記録するようにする。
【0099】
別の場合には、元の「既存動画ファイル」(VSN_000X.MOV)に、次に撮影される動画データを追記するようにしても良い。
別の場合には、先頭には、「撮影時間設定」以外の長さのシーンが含まれても良い場合には、次に撮影される動画データについては、今回作成した動画ファイル(VSN_000X+1.MOV)に追記するようにしても良い。
・「エラー処理B」削除処理を実行する場合
ここでは、図5のS502からS320までの処理と同様に、新規動画データを記録媒体に記録する処理を行う。しかし、「既存動画ファイル」に途中で撮影が停止した新規動画データを追記せずに、新規動画データは削除してしまう。すなわち、制御部101は、撮影がイレギュラーなエラーで停止した場合には、図5のS320につづいて、S561等と同様の処理を実施し、FAT領域の情報を用いて、新規動画データを記録したクラスタ領域の動画データを削除する処理を実行する。
【0100】
また、この時も図7(a)のような確認画面を表示しない。したがって、図10(b)に示すように「既存動画ファイル」(VSN_000X.MOV)が記録媒体141に残り、新規動画データに関するファイルは記録されない。
【0101】
この場合、そのさらに後に撮影するシーンの動画データは、「既存動画ファイル」(VSN_000X.MOV)に追記しても、途中に、「撮影時間設定」以外の長さのシーンが含まれない。そこで、「既存動画ファイル」(VSN_000X.MOV)に、次に撮影される動画データを追記するようにする。
【0102】
別の場合には、制御部101は、次に撮影される動画データを、新たな動画ファイル(VSN_000X+1.MOV)として記録媒体141に記録してもよい。
【0103】
以上が、「エラー処理」の説明である。
【0104】
また、「エラー処理」により、次に撮影される動画データを新たな動画ファイルとして記録する場合には、図5のS501の処理において、動画データのmoovアトム等のヘッダに、追記不可能と判定されるフラグを記録しておけばよい。
【0105】
以上説明したように、連続動画撮影モードで、所定時間のシーンの撮影を繰り返して撮影し、追記していく場合、イレギュラーなエラーにより、撮影前に設定した1シーンの時間の撮影が行えなかった場合には、エラー処理を行う。このエラー処理により、所定時間に満たないシーンが、複数のシーンで構成されている「追記動画ファイル」の途中に含まれないようにすることができる。すなわち、「追記動画ファイル」に所定時間に満たないシーンを含めないようにすることができる。または、「追記動画ファイル」に所定時間に満たないシーンが含まれていても、先頭シーンまたは最終シーンとすることができる。
【0106】
このようなエラー処理によれば、所定時間のシーンの複数シーンからなる「追記動画ファイル」を前記所定時間ごとにスキップサーチするときに、ユーザが違和感少なくスキップ動作を行うことができる。
【0107】
本実施例では、撮像装置について説明した。撮像装置としては、一般的なコンパクトデジタルカメラ、デジタル一眼カメラ、ビデオカメラ、携帯電話が含まれる。また、本発明の技術を適用可能な装置は、撮像装置に限らず、たとえば、カメラを接続したパーソナルコンピュータであっても良い。
【0108】
(他の実施形態)
上述の実施形態は、システム或は装置のコンピュータ(或いはCPU、MPU等)によりソフトウェア的に実現することも可能である。従って、上述の実施形態をコンピュータで実現するために、該コンピュータに供給されるコンピュータプログラム自体も本発明を実現するものである。つまり、上述の実施形態の機能を実現するためのコンピュータプログラム自体も本発明の一つである。
【0109】
なお、上述の実施形態を実現するためのコンピュータプログラムは、コンピュータで読み取り可能であれば、どのような形態であってもよい。例えば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等で構成することができるが、これらに限るものではない。上述の実施形態を実現するためのコンピュータプログラムは、記憶媒体又は有線/無線通信によりコンピュータに供給される。プログラムを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、磁気テープ等の磁気記憶媒体、MO、CD、DVD等の光/光磁気記憶媒体、不揮発性の半導体メモリなどがある。
【0110】
有線/無線通信を用いたコンピュータプログラムの供給方法としては、コンピュータネットワーク上のサーバを利用する方法がある。この場合、本発明を形成するコンピュータプログラムとなりうるデータファイル(プログラムファイル)をサーバに記憶しておく。プログラムファイルとしては、実行形式のものであっても、ソースコードであっても良い。そして、このサーバにアクセスしたクライアントコンピュータに、プログラムファイルをダウンロードすることによって供給する。この場合、プログラムファイルを複数のセグメントファイルに分割し、セグメントファイルを異なるサーバに分散して配置することも可能である。つまり、上述の実施形態を実現するためのプログラムファイルをクライアントコンピュータに提供するサーバ装置も本発明の一つである。
【0111】
また、上述の実施形態を実現するためのコンピュータプログラムを暗号化して格納した記憶媒体を配布し、所定の条件を満たしたユーザに、暗号化を解く鍵情報を供給し、ユーザの有するコンピュータへのインストールを許可してもよい。鍵情報は、例えばインターネットを介してホームページからダウンロードさせることによって供給することができる。また、上述の実施形態を実現するためのコンピュータプログラムは、すでにコンピュータ上で稼働するOSの機能を利用するものであってもよい。さらに、上述の実施形態を実現するためのコンピュータプログラムは、その一部をコンピュータに装着される拡張ボード等のファームウェアで構成してもよいし、拡張ボード等が備えるCPUで実行するようにしてもよい。

【特許請求の範囲】
【請求項1】
動画データを取得する取得手段と、
前記取得手段により取得された動画データを動画ファイルとして記録媒体に記録する記録手段と、
前記記録媒体に記録された動画ファイルに、前記取得手段により取得された動画データを追記する編集を行う編集手段と、
前記記録手段、前記表示制御手段、前記編集手段を制御する制御手段と、を有し、
前記制御手段は、あらかじめ設定された時間長の複数の動画データからなる動画ファイルを生成するように前記編集手段と前記記録手段を制御し、
前記動画ファイルに対して、新たに取得された動画データを追記しているときにエラーが発生すると、
前記制御手段は、次に取得される動画データを前記エラー発生時に取得された動画データを含む動画ファイルに対して追記して記録しないように前記編集手段と前記記録手段を制御することを特徴とする動画記録装置。
【請求項2】
前記動画ファイルに対して、新たに取得された動画データを追記しているときにエラーが発生すると、
前記制御手段は、次に取得される動画データを前記エラー発生時に取得された動画データを含む動画ファイルに対して追記せずに、新たな動画ファイルとして前記記録媒体に記録するようにしないように前記編集手段と前記記録手段を制御することを特徴とする請求項1記載の動画記録装置。
【請求項3】
前記動画ファイルに対して、新たに取得された動画データを追記しているときにエラーが発生すると、
前記制御手段は、前記エラー発生時に取得された動画データを前記記録媒体に記録された動画ファイルの動画データに追記して記録するように前記編集手段と前記記録手段を制御することを特徴とする請求項1または2記載の動画記録装置。
【請求項4】
前記動画ファイルに対して、新たに取得された動画データを追記しているときにエラーが発生すると、
前記制御手段は、前記エラー発生時に取得された動画データを前記記録媒体に記録された動画ファイルの動画データに追記せずに、新たな動画ファイルとして記録するように前記編集手段と前記記録手段を制御することを特徴とする請求項1または2記載の動画記録装置。
【請求項5】
前記制御手段は、次に取得される動画データを前記エラー発生時に取得された動画データを含む前記新たな動画ファイルの動画データに追記して記録するように前記編集手段と前記記録手段を制御することを特徴とする請求項4記載の動画記録装置。
【請求項6】
前記記録媒体に記録された動画ファイルを再生する再生手段を有し、
前記制御手段は、前記再生手段により読み出された動画ファイルを前記あらかじめ設定された時間長毎にスキップして再生するように前記再生手段を制御することを特徴とする請求項1から5のいずれか1項記載の動画記録装置。
【請求項7】
動画データを取得する取得手段と、
前記取得手段により取得された動画データを動画ファイルとして記録媒体に記録する記録手段と、
前記記録媒体に記録された動画ファイルに、前記取得手段により取得された動画データを追記する編集を行う編集手段と、
前記記録手段、前記表示制御手段、前記編集手段を制御する制御手段と、を有し、
前記制御手段は、あらかじめ設定された時間長の複数の動画データからなる動画ファイルを生成するように前記編集手段と前記記録手段を制御し、
前記動画ファイルに対して、新たに取得された動画データを追記しているときにエラーが発生すると、
前記制御手段は、前記エラー発生時に取得された動画データを前記記録媒体に記録された動画ファイルに対して追記しないように前記編集手段と前記記録手段を制御することを特徴とする動画記録装置。
【請求項8】
前記動画ファイルに対して、新たに取得された動画データを追記しているときにエラーが発生すると、
前記制御手段は、前記エラー発生時に取得された動画データを前記記録媒体に記録された動画ファイルの動画データに追記せずに、新たな動画ファイルとして記録するように前記編集手段と前記記録手段を制御することを特徴とする請求項7記載の動画記録装置。
【請求項9】
前記制御手段は、次に取得される動画データを前記エラー発生時に取得された動画データを含む前記新たな動画ファイルの動画データに追記して記録するように前記編集手段と前記記録手段を制御することを特徴とする請求項8記載の動画記録装置。
【請求項10】
前記制御手段は、次に取得される動画データを前記エラー発生時に取得された動画データを含む前記新たな動画ファイルの動画データに追記せずに、別の動画ファイルとして記録するように前記編集手段と前記記録手段を制御することを特徴とする請求項8記載の動画記録装置。
【請求項11】
前記動画ファイルに対して、新たに取得された動画データを追記しているときにエラーが発生すると、
前記制御手段は、前記エラー発生時に取得された動画データを前記記録媒体に記録された動画ファイルの動画データに追記せずに削除するように前記編集手段と前記記録手段を制御することを特徴とする請求項7記載の動画記録装置。
【請求項12】
前記制御手段は、次に取得される動画データを前記記録媒体に記録された動画ファイルの動画データに追記して記録するように前記編集手段と前記記録手段を制御することを特徴とする請求項11記載の動画記録装置。
【請求項13】
前記記録媒体に記録された動画ファイルを再生する再生手段を有し、
前記制御手段は、前記再生手段により読み出された動画ファイルを前記あらかじめ設定された時間長毎にスキップして再生するように前記再生手段を制御することを特徴とする請求項7から12のいずれか1項記載の動画記録装置。
【請求項14】
動画データを取得する取得手段と、
前記取得手段により取得された動画データを動画ファイルとして記録媒体に記録する記録手段と、
前記記録媒体に記録された動画ファイルに、前記取得手段により取得された動画データを追記する編集を行う編集手段と、
前記記録手段、前記表示制御手段、前記編集手段を制御する制御手段とを有する動画記録装置の制御方法であって、
あらかじめ設定された時間長の複数の動画データからなる動画ファイルを生成するように前記編集手段と前記記録手段を制御し、
前記動画ファイルに対して、新たに取得された動画データを追記しているときにエラーが発生すると、
前記制御手段は、次に取得される動画データを前記エラー発生時に取得された動画データを含む動画ファイルに対して追記しないように前記編集手段と前記記録手段を制御することを特徴とする動画記録装置の制御方法。
【請求項15】
動画データを取得する取得手段と、
前記取得手段により取得された動画データを動画ファイルとして記録媒体に記録する記録手段と、
前記記録媒体に記録された動画ファイルに、前記取得手段により取得された動画データを追記する編集を行う編集手段と、
前記記録手段、前記表示制御手段、前記編集手段を制御する制御手段とを有する動画記録装置の制御方法であって、
あらかじめ設定された時間長の複数の動画データからなる動画ファイルを生成するように前記編集手段と前記記録手段を制御し、
前記動画ファイルに対して、新たに取得された動画データを追記しているときにエラーが発生すると、
前記制御手段は、前記エラー発生時に取得された動画データを前記記録媒体に記録された動画ファイルに対して追記しないように前記編集手段と前記記録手段を制御することを特徴とする動画記録装置の制御方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2012−156588(P2012−156588A)
【公開日】平成24年8月16日(2012.8.16)
【国際特許分類】
【出願番号】特願2011−11205(P2011−11205)
【出願日】平成23年1月21日(2011.1.21)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】