(57)【要約】【課題】映像記録の記録終了の処理を高速化すること、障害発生時に迅速にインデックス情報を復旧すること、の２つを実現する機構を提供することが目的である。【解決手段】映像記録装置は、外部から入力される映像信号をフレーム間圧縮方式で符号化するエンコード部６０１と、エンコード部６０１でエンコードした映像データを記録媒体６１０上に映像ファイル６１１として記録する映像書き出し部６０２と、エンコード部６０１でエンコードした映像データのインデックス情報を作成し、記録媒体６１０上にインデックスファイル６１２として記録するインデックス記録部６０３と、映像ファイル６１１とインデックスファイル６１２の記録媒体６１０への記録後に、映像ファイル６１１とインデックスファイル６１２をひとつに合成するインデックス合成部６０４と、を具備する。【選択図】図６
2011234068.tif 000002
【特許請求の範囲】
【請求項１】
外部から入力される映像信号をフレーム間圧縮方式で符号化するエンコード部と、
前記エンコード部でエンコードした映像データを記録媒体上に映像ファイルとして記録する映像書き出し部と、
前記エンコード部でエンコードした映像データのインデックス情報を作成し、前記記録媒体上にインデックスファイルとして記録するインデックス記録部と、
前記映像ファイルおよび前記インデックスファイルの前記記録媒体への記録後に、前記映像ファイルと前記インデックスファイルをひとつに合成するインデックス合成部と、
を具備する映像記録装置。
【請求項２】
記録媒体上に存在する映像ファイルと前記映像ファイルに関するインデックスファイルをひとつに合成するインデックス合成部と、
前記映像ファイルと前記インデックスファイルとの整合性を確認し、整合性がとれている場合に、前記インデックス合成部に対して前記映像ファイルと前記インデックスファイルとをひとつにまとめる指示を行うデータ復旧指示部と、
を具備する映像復旧装置。
【請求項３】
前記インデックスファイルからインデックス情報を読み出すインデックス読み出し部と、
前記映像ファイルからインデックス情報を作成するインデックス検出部と、
前記インデックス読み出し部から読み出したインデックス情報と、前記インデックス検出部で作成したインデックス情報との整合性を確認し、整合性がとれていない場合に、前記インデックスファイルのインデックス情報に対して、インデックスの追加または削除を行うインデックス調整部と、
を具備する請求項２記載の映像復旧装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、映像を記録する映像記録装置および記録した映像の復旧処理を行う映像復旧装置に関する。
【背景技術】
【０００２】
従来、放送局の番組制作は、カメラレコーダを用いてテープに映像を記録し、テープを用いて編集やアーカイブを行っていた。近年、ＨＤＤやフラッシュメモリなどランダムアクセス可能な記録媒体に映像を記録するカメラレコーダが登場してきている。それにより、カメラレコーダで映像データをファイル形式で記録し、そのファイルをノンリニア編集機で編集するというスタイルが確立されてきている。
【０００３】
記録媒体にファイルを記録するためには、記録媒体上のファイルを管理するためのファイルシステムと呼ばれるモジュールが用いられる。ファイルシステムの代表的なものにＦＡＴ（Ｓｔａｎｄａｒｄ  ＥＣＭＡ−１０７：  Ｖｏｌｕｍｅ  ａｎｄ  Ｆｉｌｅ  Ｓｔｒｕｃｔｕｒｅ  ｏｆ  Ｄｉｓｋ  Ｃａｒｔｒｉｄｇｅｓ  ｆｏｒ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｉｎｔｅｒｃｈａｎｇｅ）がある。ファイルシステムの動作は複雑であるため、カメラレコーダにオペレーティングシステム（ＯＳ）を搭載して、ソフトウェアとしてファイルシステムを実装するのが一般的である。
【０００４】
ファイルシステムフォーマットの一例として、ＦＡＴフォーマットを、図１を用いて説明する。図１のように、メモリカードやハードディスク等の物理ドライブ１００は、通常、領域の先頭に置かれるマスターブートレコード１０２と１個以上の論理ドライブ１０１から構成される。１個の論理ドライブ１０１は、１種類のファイルシステムでフォーマットされる。ＦＡＴフォーマットの場合、領域の先頭からパーティションブートセクタ１０３、ファイルアロケーションテーブル（ＦＡＴ）１０４、ＦＡＴのバックアップ１０４ｂ、ルートディレクトリエントリ１０５というシステム領域が配置され、システム領域の後ろにユーザデータ領域１０６が配置される。パーティションブートセクタ１０３には、パーティションのセクタ数といったパーティションを起動するのに必要な情報が記録される。ＦＡＴ１０４には、ファイルの記録情報が配置される。ユーザデータ領域１０６には、ファイルのデータ自体が置かれる。ファイルはクラスタと呼ばれる単位（通常４ＫＢ〜３２ＫＢ）で記録される。
【０００５】
ルートディレクトリエントリ１０５には、ルートディレクトリに置かれているファイル又はフォルダの情報がエントリとして記録される。階層構造のディレクトリにおいて、全てのファイル及びディレクトリは、図２のような３２バイトからなるディレクトリエントリ１０７として記録される。図２では、ＦＬＯＷＥＲ０２．ＡＶＩというファイル名を持つファイルのディレクトリエントリを示している。このようにＦＡＴフォーマットにおいては、ファイルはファイル名が８文字、拡張子が３文字の８．３形式で記録される。ディレクトリエントリ１０７には、ファイルのデータが置かれる先頭のクラスタ番号１０８が含まれる。この先頭のクラスタ番号１０８によりファイルのデータへのアクセスが可能となる。
【０００６】
ＦＡＴ１０４に配置されるファイルの記録情報について、図３を用いて説明する。ＦＡＴ１０４は、ユーザデータ領域１０６上のクラスタを管理するためのテーブルである。ＦＡＴ１０４には１２ビットや１６ビットといった単位でファイルの次のデータの存在するクラスタ番号を記録する。図３のように、ユーザデータ領域１０６に記録するファイル１２０を部分データ１２１に分けてクラスタ番号３、４、７のクラスタに記録する場合、ＦＡＴ１０４にはクラスタを連結するための情報として、クラスタ番号３の位置に４を記録し、クラスタ番号４の位置に７を記録する。最後にクラスタ番号７の位置に終了マークを記録する。ファイル１２０における先頭のクラスタ番号３は、前述のようにファイル１２０のディレクトリエントリ１０７に記録される。
【０００７】
カメラレコーダを用いて、映像ファイルを記録媒体に記録する場合、容量の観点から映像信号を圧縮して記録することが一般的である。映像データの圧縮符号化方式の代表的な規格の１つとして、ＭＰＥＧ２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  ｇｒｏｕｐ  ２）規格が知られている。ＭＰＥＧ映像データは、何フレームかのデータをまとめたＧＯＰ（Ｇｒｏｕｐ  ｏｆ  Ｐｉｃｔｕｒｅ）と呼ばれる単位で構成される。
【０００８】
１つのＧＯＰには、予め定められた所定数の原画像をそれぞれ圧縮符号化して生成される画像データが含まれる。各画像データは、原画像の圧縮符号化方式によって、３つのピクチャタイプ、Ｉピクチャ（Ｉｎｔｒａ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ）、Ｐピクチャ（Ｐｒｅｄｉｃｔｉｖｅ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ）およびＢピクチャ（Ｂｉｄｉｒｅｃｔｉｏｎａｌｌｙ  ｐｒｅｄｉｃｔｉｖｅ−ｃｏｄｅｄ  ｐｉｃｔｕｒｅ）に分類される。
【０００９】
Ｉピクチャは、イントラ符号化画像とも呼ばれ、原画像１枚の情報のみを用いて符号化される。したがって、Ｉピクチャは、前後の他の画像データピクチャとは独立性を保っており、Ｉピクチャ自身のみで復号することが可能である。
【００１０】
Ｐピクチャは、フレーム間順方向予測符号化画像とも呼ばれ、予測画像（差分を取る基準となる画像）として、時間的に前の既に復号されたＩピクチャまたはＰピクチャを使用するものであり、動き補償された予測画像との差分を符号化するものである。
【００１１】
Ｂピクチャは、双方向予測符号化画像とも呼ばれ、ＩピクチャおよびＰピクチャを先に処理した後に、その間に挿入される画像として符号化される。すなわち、Ｂピクチャは、予測画像として、時間的に前の既に復号されたＩピクチャまたはＰピクチャ、時間的に後の既に復号されたＩピクチャまたはＰピクチャ、ならびにこの両方から作られた補間画像の３種類を使用する。
【００１２】
ＭＰＥＧ２のストリームデータにおいて、ＧＯＰのアドレスをインデックスファイルとして作成しておくことで、ＧＯＰに対して直接アクセスすることが可能な技術が開示されている（特許文献１参照）。これにより、任意のＧＯＰの先頭に飛ぶことができる。しかしながら、この手法はＭＰＥＧ２のストリームデータとインデックスファイルとを対応付けて管理しなければならないため、管理が煩雑になるという問題がある。
【００１３】
１フレームのデータ長を固定長にすることにより、インデックス情報を持たずにランダムアクセスを実現できる技術が開示されている（特許文献２参照）。しかしながら、不用なデータを挿入することになるので、無駄なデータ領域を消費してしまい、特にデータ領域が豊富にないリムーバブルディスクなどでは効率的な方法とはいえない。
【００１４】
フレームごとのランダムアクセスを実現するために、フレームごとのインデックス情報を映像データと同一のファイル内に配置できるようなファイルフォーマットが提案されている。そのひとつにＭＸＦ（Ｍａｔｅｒｉａｌ  Ｅｘｃｈａｎｇｅ  Ｆｏｒｍａｔ、ＳＭＰＴＥ  ３７７Ｍ）がある。ＭＸＦは主にプロユースのデジタル映像や音声を扱うためのファイルフォーマットである。カメラレコーダで映像データをＭＸＦで記録する場合、撮影前に記録時間を決定できないため、インデックス情報のデータサイズを事前に決定することができない。このような場合、インデックス情報は、ファイルの先頭（ヘッダ）ではなく、末尾（フッタ）に書くことが一般的である。
【先行技術文献】
【特許文献】
【００１５】
【特許文献１】特表２００６−５２４４１０号公報
【特許文献２】特開２００８−１２４９３１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１６】
しかしながら、末尾に大きなデータを書くと記録停止時に時間がかかり、次の記録に迅速に入れないという問題がある。また、途中で電源が落ちたなど記録が正常に終了しなかった場合、インデックス情報が記録媒体上に残っていない。異常ファイルを復旧するには、映像データからインデックス情報を作成しなおす必要がある。この処理は容量の大きな映像データを読み込む必要があるので、完了までに多くの時間を費やしてしまう。
【００１７】
上記課題に鑑み本発明は、フレームごとのインデックス情報と映像データを同一のファイル上に記録しつつ、記録終了の処理を高速化すること、障害発生時に迅速にインデックス情報を復旧すること、の２つを実現する機構を提供することを目的とする。
【課題を解決するための手段】
【００１８】
本発明の映像記録装置は、外部から入力される映像信号をフレーム間圧縮方式で符号化するエンコード部と、前記エンコード部でエンコードした映像データを記録媒体上に映像ファイルとして記録する映像書き出し部と、前記エンコード部でエンコードした映像データのインデックス情報を作成し、前記記録媒体上にインデックスファイルとして記録するインデックス記録部と、前記映像ファイルおよび前記インデックスファイルの前記記録媒体への記録後に、前記映像ファイルと前記インデックスファイルをひとつに合成するインデックス合成部と、を備える。
【発明の効果】
【００１９】
記録終了時にファイルシステムを操作してインデックス情報を映像ファイルに合成することにより、インデックス情報を映像ファイルに追記する場合に比べ、ファイルへの書き込みを抑えることができるので、記録終了処理を短時間で終えることができる。さらに、記録途中で障害が発生し、記録が正常に完了しなかった場合に、インデックスファイルを頼りにして修復の処理を進めることができるので、修復処理を短時間で終えることができる。
【図面の簡単な説明】
【００２０】
【図１】ＦＡＴフォーマットを示す図
【図２】ディレクトリエントリを示す図
【図３】ＦＡＴに配置されるファイルの記録情報に関する図
【図４】ＭＸＦファイルフォーマットを説明する図
【図５】ＭＸＦのインデックス情報を説明する図
【図６】実施の形態１における映像記録装置の構成を示すブロック図
【図７】実施の形態１の映像を記録する際のフローチャート
【図８】実施の形態１のインデックスを合成する際のフローチャート
【図９】実施の形態１のインデックスを合成する前後のＦＡＴを示す図
【図１０】実施の形態１で作成されるＭＸＦを示す図
【図１１】実施の形態１における映像復旧装置の構成を示すブロック図
【図１２】実施の形態１におけるインデックスファイルのフレーム数より映像ファイルが少ない場合のデータの構造を示す図
【図１３】実施の形態１におけるインデックスファイルのフレーム数より映像ファイルが多い場合のデータの構造を示す図
【図１４】実施の形態１における映像復旧装置の一変形例の構成を示すブロック図
【図１５】実施の形態１の映像ファイル復旧のフローチャート
【図１６】ＭＰＥＧのピクチャの内部構造を示す図
【図１７】実施の形態１のインデックス作成のフローチャート
【発明を実施するための形態】
【００２１】
（実施の形態１）
本実施の形態では、映像ファイルのファイルフォーマットとしてＭＸＦを例にとり、映像記録装置６００および映像復旧装置１１００を説明する。ＭＸＦはＫＬＶ（Ｋｅｙ−Ｌｅｎｇｔｈ−Ｖａｌｕｅ）と呼ぶデータ要素の集まりで構成されており、メタデータ、映像データなど、すべてのデータがＫＬＶ構造をとっている。ＫＬＶ構造とは、その先頭から、キー（Ｋｅｙ）、レングス（Ｌｅｎｇｔｈ）、バリュー（Ｖａｌｕｅ）が順次配置された構造であり、キーには、バリューに配置されるデータがどのようなデータであるかを表す、ＳＭＰＴＥ  ２９８Ｍの規格に準拠した１６バイトのラベルが配置される。レングスには、バリューに配置されるデータのデータ長（８バイト）がＢＥＲ（Ｂａｓｉｃ  Ｅｎｃｏｄｉｎｇ  Ｒｕｌｅｓ：ＩＳＯ／ＩＥＣ８８２−１  ＡＳＮ）によって配置される。バリューには、実データが配置される。
【００２２】
図４にＭＸＦのファイルフォーマットを示す。先頭から、ファイルヘッダ（Ｆｉｌｅ  Ｈｅａｄｅｒ）、ファイルボディ（Ｆｉｌｅ  Ｂｏｄｙ）、ファイルフッタ（Ｆｉｌｅ  Ｆｏｏｔｅｒ）が順次配置されて構成される。
【００２３】
ファイルヘッダは、その先頭から、ヘッダパーティションパック（Ｈｅａｄｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ）、およびヘッダメタデータ（Ｈｅａｄｅｒ  Ｍｅｔａｄａｔａ）が順次配置されて構成される。ヘッダパーティションパックには、ヘッダを特定するためのパターンや、ファイルボディに配置されるデータの形式、ＭＸＦファイルフォーマットであることを表す情報およびヘッダサイズ情報などが配置される。
【００２４】
ファイルボディは、ボディパーティションパック（Ｂｏｄｙ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ）およびエッセンスコンテナ（Ｅｓｓｅｎｃｅ  Ｃｏｎｔａｉｎｅｒ）が順次配置されて構成される。エッセンスコンテナには、画像データが配置されている。エッセンスコンテナもＫＬＶ構造であるため、キー、レングスの後にバリューとして画像データが配置される。
【００２５】
ファイルフッタには、フッタパーティションパック（Ｆｏｏｔｅｒ  Ｐａｒｔｉｔｉｏｎ  Ｐａｃｋ）およびインデックステーブル（Ｉｎｄｅｘ  Ｔａｂｌｅ）が順次配置されて構成される。インデックステーブルとは、画像データの位置を指し示すデータが格納されており、詳しくは図５（ｃ）にて後述する。
【００２６】
図５（ａ）は各画像の表示順番を表している。数字の部分が表示の順番、アルファベット（Ｉ、Ｂ、Ｐ）がピクチャタイプを示しており、Ｂ１、Ｉ２、Ｂ３、Ｐ４、Ｂ５、Ｐ６の順番に表示されることを示している。図５（ｂ）は図５（ａ）の映像がファイル上どのように格納されるかを示している。Ｂピクチャをデコードするためには、その予測画像であるＩピクチャまたはＰピクチャを事前にデコードしておく必要がある。そのため、ファイルの先頭から順次データを読み出してデコードすることができるようにするために、表示の順番とは別の順番で画像を記録している。たとえば、Ｂ１はＩ２を用いてデコードされるため、Ｉ２、Ｂ１の順番でファイル上には記録される。同様にＢ３よりもＰ４のほうが前方に、Ｂ５よりＰ６が前方に配置される。よって、記録順としては、Ｉ２、Ｂ１、Ｐ４、Ｂ３、Ｐ６、Ｂ５となる。
【００２７】
図５（ｃ）はＭＸＦのインデックステーブルの詳細である。Ｔｅｍｐｏｒａｌ  Ｏｆｆｓｅｔとは表示順から記録順への変換を表すものである。１フレーム目のフレームＢ１は、表示のフレーム番号１にＴｅｍｐｏｒａｌ  Ｏｆｆｓｅｔの１を加算した２フレーム目のデータとしてファイルに格納されていることがわかる。同様にＩ２は、表示のフレーム番号２にＴｅｍｐｏｒａｌ  Ｏｆｆｓｅｔの−１を加算した１フレーム目のデータとしてファイルに格納されていることがわかる。Ｋｅｙ−Ｆｒａｍｅ  Ｏｆｆｓｅｔとは当該フレームをデコードするためにどのフレームからデコードする必要があるかを示す情報であり、通常Ｉピクチャを参照している。たとえば、Ｂ３をデコードするためには、表示のフレーム番号３からＫｅｙ−Ｆｒａｍｅ  Ｏｆｆｓｅｔの−１を加算した２番目のフレーム（Ｉ２）からデコードする必要があることを示している。Ｆｌａｇｓとは先述のピクチャタイプである。Ｓｔｒｅａｍ  Ｏｆｆｓｅｔはファイル上のどの位置にフレームが格納されているかを表す情報である。この情報は記録順フレーム番号に基づいて記録されている。たとえば、Ｂ３が格納されているバイトオフセットを求める場合、表示順のフレーム番号３にＴｅｍｐｏｒａｌ  Ｏｆｆｓｅｔの１を加算した記録のフレーム番号４を求め、４フレーム目のＳｔｒｅａｍ  Ｏｆｆｓｅｔからバイトオフセット６５，０００バイトを求める。任意位置のフレームを出力するためには、キーフレームから出力画像までをデコードすればよい。たとえば、Ｂ３を出力するためには、表示のフレーム番号３にＫｅｙ−Ｆｒａｍｅ  Ｏｆｆｓｅｔの−１を加算して表示のフレーム番号２（Ｉ２）を求め、前述のようにＴｅｍｐｏｒａｌ  Ｏｆｆｓｅｔ、Ｓｔｒｅａｍ  ＯｆｆｓｅｔからＩ２のバイトオフセット０を求める。次にＴｅｍｐｏｒａｌ  Ｏｆｆｓｅｔ、Ｓｔｒｅａｍ  ＯｆｆｓｅｔからＢ３のバイトオフセット６５，０００バイトを求める。これらの２つのバイトオフセットの情報から、０バイト目から６５，０００バイト目のピクチャを読み込むことで、Ｉ２、Ｂ１、Ｐ４、Ｂ３の順番でデコードを行い、Ｂ３を出力することができる。
【００２８】
本実施の形態の映像記録装置６００の構成を図６に示す。エンコード部６０１は外部から入力された映像信号に対してフレーム間圧縮を行い、ＭＰＥＧ形式の圧縮データに符号化（エンコード）する。映像書き出し部６０２はエンコード部６０１でエンコードした映像データを記録媒体６１０上に映像ファイル６１１として記録する。インデックス記録部６０３はエンコード部６０１でエンコードした圧縮データのインデックス情報を記録媒体６１０上にインデックスファイル６１２として記録する。インデックス合成部６０４は、記録が終了したときにインデックスファイル６１２を映像ファイル６１１の末尾に連結する。
【００２９】
映像記録装置６００の処理の流れを図７のフローチャートおよび図５を用いて説明する。エンコード部６０１は、まずデータ入力処理Ｓ７１にて、１フレーム目の映像信号を受け取る。１フレーム目の映像信号はＢピクチャにすることを予定しているので、エンコード部６０１は、エンコード可否判定Ｓ７２にて、１フレーム目の映像信号のエンコードを遅延させることを決定し、非圧縮画像格納処理Ｓ７３にて非圧縮画像保持部Ｄ７０に一時的に保存する。エンコード部６０１は、非圧縮画像保持部Ｄ７０を内部に保持する。次に、データ入力処理Ｓ７１にて、２フレーム目の映像信号を受け取ると、２フレーム目の映像信号はＩピクチャにすることが予定されているので、エンコード部６０１は、エンコード可否判定Ｓ７２にて、２フレーム目の映像信号をエンコードすることを決定する。エンコード処理Ｓ７４にて、エンコード部６０１は、まず２フレーム目の映像信号をエンコードし、次に非圧縮画像保持部Ｄ７０に格納されている１フレーム目の映像信号を取り出し、２フレーム目の映像信号を用いてフレーム間圧縮を行う。データ書き出し処理Ｓ７５にて、映像書き出し部６０２は、圧縮データを書き出す前に、図４で示したＭＸＦのファイルヘッダ、ボディパーティションパック、およびエッセンスコンテナのＫ、Ｌのデータを映像ファイル６１１へ書き出す。次に映像書き出し部６０２は、２フレーム目の圧縮データ（Ｉ２）、１フレーム目の圧縮データ（Ｂ１）の順で映像ファイル６１１へ書き出す。映像ファイル６１１上の１フレーム目には２フレーム目に表示される圧縮データが書かれるので、１フレーム目のＴｅｍｐｏｒａｌ  Ｏｆｆｓｅｔは１（２−１）になる。キーフレームであるＩピクチャは２フレーム目にあるので、１フレーム目のＫｅｙ−Ｆｒａｍｅ  Ｏｆｆｓｅｔは１（２−１）になる。また、１フレーム目のＦｌａｇｓがＢ、Ｓｔｒｅａｍ  Ｏｆｆｓｅｔが０になる。映像ファイル６１１上の２フレーム目には１フレーム目に表示される圧縮データが書かれるので、２フレーム目のＴｅｍｐｏｒａｌ  Ｏｆｆｓｅｔは−１（１−２）になる。キーフレームであるＩピクチャは２フレーム目にあるので、２フレーム目のＫｅｙ−Ｆｒａｍｅ  Ｏｆｆｓｅｔは０（２−２）になる。また、Ｉ２のデータサイズを５０，０００バイトとすると、１フレーム目のＦｌａｇｓがＩ、Ｓｔｒｅａｍ  Ｏｆｆｓｅｔが５０，０００になる。
【００３０】
インデックス書き出し処理Ｓ７６にて、インデックス記録部６０３は、これらの２フレーム分のインデックス情報をインデックスファイル６１２へ書き出す。２フレームでは記録停止されていないので、記録停止判断Ｓ７８では記録が停止されていないと判断する。次に３フレーム目の処理をするために、データ入力部Ｓ７１へ戻る。記録停止判断Ｓ７８にて記録が終了したと判断されると、インデックス合成部６０４は、インデックス合成処理Ｓ７９を行い、記録を終了する。インデックス合成処理Ｓ７９は、映像ファイル６１１とインデックスファイル６１２を合成して１つのファイルにする処理である。
【００３１】
インデックス合成処理Ｓ７９のフローチャートを図８に示す。インデックス合成部６０４が、インデックス合成処理Ｓ７９を実行する。ヘッダサイズが３２ＫＢ、圧縮データサイズが８２ＫＢ、１クラスタのサイズを３２ＫＢとして説明する。データサイズ計算処理Ｓ８１では、ヘッダサイズ３２ＫＢと圧縮データサイズ８２ＫＢを合計して映像ファイル６１１に記録したデータサイズ１１４ＫＢを求める。クラスタ残量計算処理Ｓ８２では、１１４ＫＢ＝３クラスタ（９６ＫＢ）＋１８ＫＢバイトなので、クラスタ内の残りの１４ＫＢ（３２ＫＢ−１８ＫＢ）を求める。フィラ埋め込み処理Ｓ８３は、クラスタ残量計算処理Ｓ８２で計算したサイズからフッタパーティションパックを差し引いたサイズをスタッフィング（ｓｔｕｆｆｉｎｇ）のためのデータとして埋め込む処理である。図４に示すようにフィラもＫＬＶ構造をとっており、Ｋ、Ｌの後に０で埋められたデータが並ぶ。フッタパーティションパックを簡単のために１ＫＢと仮定すると、フィラ埋め込み処理Ｓ８３では、クラスタの末尾までの１４ＫＢからフッタパーティションパックの１ＫＢを引いた１３ＫＢのフィラを作成し、映像ファイル６１１へ追記する。
【００３２】
図９に映像ファイル６１１およびインデックスファイル６１２のＦＡＴを示す。図９（ａ）に示すように、映像データがクラスタ番号２、３、４、５のクラスタに、インデックスファイル６１２がクラスタ番号７に記録されているとする。インデックス合成部６０４は、ＦＡＴ操作処理Ｓ８４にてクラスタ５の次のクラスタ番号を終了マークから７に書き換え、図９（ｂ）に示すように、インデックス合成部６０４は、クラスタ番号２、３、４、５、７がひとつのファイルを構成するように変更する。その後、インデックス合成部６０４は、インデックスファイル６１２をディレクトリエントリから削除し、映像ファイル６１１とインデックスファイル６１２の結合を完了する。これにより、２つのファイルが記録終了時に１つの正しいＭＸＦファイルへと結合され、図１０に示すような映像ファイル６１１が完成する。
【００３３】
以上のように、映像記録装置は、外部から入力される映像信号をフレーム間圧縮方式で符号化するエンコード部６０１と、エンコード部６０１でエンコードした映像データを記録媒体６１０上に映像ファイル６１１として記録する映像書き出し部６０２と、エンコード部６０１でエンコードした映像データのインデックス情報を作成し、記録媒体６１０上にインデックスファイル６１２として記録するインデックス記録部６０３と、映像ファイル６１１およびインデックスファイル６１２の記録媒体６１０への記録後に、映像ファイル６１１とインデックスファイル６１２をひとつに合成するインデックス合成部６０４と、を具備することにより、記録終了時に、インデックス情報をまとめて映像ファイルに追記する場合に比べて、インデックスファイル６１２を映像ファイル６１１に合成するだけであるため、記録終了処理を短時間で終えることができる。さらに、映像記録装置は、記録途中で障害が発生し、記録が正常に完了しなかった場合に、インデックスファイル６１２を頼りにして修復の処理を進めることができるので、修復処理を短時間で終えることができる。
【００３４】
次に、本実施の形態の映像復旧装置について説明する。この装置は映像記録装置６００で記録中に何らかの障害が発生し、映像ファイル６１１およびインデックスファイル６１２が中途半端な状態で残ってしまった状態から、正常な映像ファイル６１１を復旧する装置である。
【００３５】
まず、インデックスファイル６１２の内容と圧縮ファイルの内容に矛盾がない場合の映像復旧装置１１００の構成を図１１に示す。映像復旧装置１１００において、映像記録装置６００と同一の構成要素は、同一の番号を付与し、説明を省略する。データ復旧指示部１１０１は、まずインデックスファイル６１２と映像ファイル６１１が存在することを確認すると、インデックス合成部６０４に対してインデックスファイル６１２を映像ファイル６１１の末尾に結合することを指示する。インデックス合成部６０４では、前述の通りの処理を行い、図１０に示したようなファイルが完成する。
【００３６】
本実施の形態の映像記録装置６００は、ファイルシステムを経由してファイルへの書き込みを行っている。ファイルシステムには、遅延書き込みと呼ばれる機構が備わっている。遅延書き込みとは、ファイルシステムへの書き込み命令が発生するたびに記録メディアに書き込むのではなく、いったんメモリ上に保管し、一定サイズのデータ書き込み命令が発行された後、記録メディアに書き込む処理である。これにより、記録メディアへの書き込み回数を減らして転送速度の向上を図っている。
【００３７】
遅延書き込み機構が働いているとき、メモリ上にのみ存在し、記録媒体６１０に書き出されないデータが存在するタイミングがある。そのタイミングで障害が発生するとインデックスファイル６１２と映像ファイル６１１の内容に不一致が発生する可能性がある。不一致のケースとしては、映像ファイル６１１が少ないケース（図１２）とインデックスファイル６１２が少ないケース（図１３）の２種類がある。これらのケースに対応するための映像復旧装置１４００の構成を図１４に示す。
【００３８】
映像復旧装置１４００において、映像記録装置６００および映像復旧装置１１００と同一の構成要素は、同一の番号を付与し、説明を省略する。
【００３９】
インデックス読み出し部１４０２は、インデックスファイル６１２を読み出し、記録されているインデックス情報を解釈する。インデックス検出部１４０１は、映像ファイル６１１を読み出し、インデックスファイル６１２に書かれていないインデックス情報を作成する。インデックス調整部１４０３は、インデックス検出部１４０１で検出したインデックス情報をインデックスファイル６１２に追記したり、映像ファイル６１１に存在しない不要なインデックス情報をインデックスファイル６１２から削除したりする。
【００４０】
映像ファイル６１１が少ないケース（図１２）について図１５のフローチャートを用いて説明する。インデックス読み出し部１４０２は、インデックスファイル読み込み処理Ｓ１５１にて、インデックスファイル６１２を読み込み、６フレームのデータがあることを認識する。インデックス検出部１４０１は、データサイズ算出処理Ｓ１５２にて、映像ファイル６１１を読み出し、圧縮データが６８，０００バイトであることを算出する。インデックス調整部１４０３は、不要インデックス判断Ｓ１５３にて、インデックスファイル６１２から６８，０００バイトが４フレーム分のデータに相当することがわかるので、不要なインデックスが存在すると判断する。次にインデックス調整部１４０３は、インデックス削除処理Ｓ１５６にて、不要な５、６フレーム目のインデックス情報をインデックスファイル６１２から削除する。インデックス合成部６０４は、インデックス合成処理Ｓ７９にて、前述の通りフィラおよび削除済みのインデックスファイル６１２を映像ファイル６１１の末尾に結合し映像ファイル６１１を復旧する。
【００４１】
インデックスファイル６１２が少ないケース（図１３）について説明する。インデックス読み出し部１４０２は、インデックスファイル読み込み処理Ｓ１５１にて、インデックスファイル６１２を読み込み、４フレームのデータがあることを認識する。インデックス検出部１４０１は、データサイズ算出処理Ｓ１５２にて、映像ファイル６１１を読み出し、圧縮データが８２ＫＢであることを算出する。インデックス調整部１４０３は、不要インデックス判断Ｓ１５３にて、８２ＫＢが５フレーム以上のデータであることがわかるので、不要なインデックスが存在しないと判断する。インデックス検出部１４０１は、インデックス検出処理Ｓ１５４にて、５フレーム目以降の圧縮データを検査し、５、６フレームのインデックス情報を抽出する（後述）。インデックス調整部１４０３は、インデックス検出部１４０１で検出したインデックス情報をインデックスファイル６１２に追記し、図１２（ｂ）と同じインデックス情報を復旧する。インデックス合成部６０４は、インデックス合成処理Ｓ７９にて前述の通り、フィラおよび追記済みのインデックスファイル６１２を末尾に結合する。
【００４２】
図１６はＭＰＥＧのピクチャの内部構成を示した図である。ピクチャは最初にピクチャヘッダ（Ｐｉｃｔｕｒｅ  Ｈｅａｄｅｒ）が配置され、その後ろにスライス（Ｓｌｉｃｅ）が配置される。ピクチャヘッダには、スタートコード（Ｓｔａｒｔ  Ｃｏｄｅ）、ＧＯＰ内の画像の表示順を示すテンポラルリファレンス（Ｔｅｍｐｏｒａｌ  Ｒｅｆｅｒｅｎｃｅ）およびピクチャタイプ（Ｐｉｃｔｕｒｅ  Ｔｙｐｅ）が含まれている。
【００４３】
図１７のフローチャートにてインデックス検出処理Ｓ１５４を説明する。インデックス検出部１４０１が、インデックス検出処理Ｓ１５４を実行する。ピクチャヘッダ検索処理Ｓ１７１では、インデックスファイルに書かれている最終フレームのインデックス情報のＳｔｒｅａｍ  Ｏｆｆｓｅｔである６５，０００バイト目から検索をはじめ、６８，０００バイト目でスタートコードを見つける。ピクチャヘッダ有無判定Ｓ１７２では、ピクチャヘッダ検索処理Ｓ１７１でピクチャヘッダを見つけたので、ピクチャヘッダありと判断する。インデックス作成処理Ｓ１７３では、５フレーム目のピクチャのテンポラルリファレンスは５（０基準）であるので、ＧＯＰ内で６番目に出力されることが分かる。よって、インデックス情報のＴｅｍｐｏｒａｒｙ  Ｏｆｆｓｅｔはテンポラルリファレンス＋１（０基準であるため＋１が必要）から記録順でのフレーム番号５を引いた値１であることが分かる。Ｋｅｙ−Ｆｒａｍｅ  Ｏｆｆｓｅｔは、Ｉピクチャの表示順でのフレーム番号２からフレーム番号５を引いた−３になる。Ｓｔｒｅａｍ  Ｏｆｆｓｅｔには、ピクチャヘッダの開始位置の６８，０００バイトが設定される。
【００４４】
次にピクチャヘッダ検索処理Ｓ１７１は、６８，０００バイト目から検索を開始し、７９，０００バイト目でスタートコードを見つける。インデックス情報作成処理Ｓ１７３にて、テンポラルリファレンス＋１（５）から記録フレーム数６を引いた値−１をＴｅｍｐｏｒａｒｙ  Ｏｆｆｓｅｔに設定する。Ｋｅｙ−Ｆｒａｍｅ  ＯｆｆｓｅｔはＩピクチャの表示順でのフレーム番号２からフレーム番号６を引いた−４を設定する。Ｓｔｒｅａｍ  Ｏｆｆｓｅｔには、ピクチャヘッダの開始位置の７９，０００バイトが設定される。Ｆｌａｇｓは、表示順でのピクチャタイプであるので、インデックスの５番目には６フレーム目のピクチャタイプＰ、インデックスの６番目には５フレーム目のピクチャタイプＢが設定される。このようにして図５（ｃ）と同じインデックス情報を構成することができる。
【００４５】
これらの方法により、インデックスファイル６１２と映像ファイル６１１に不一致が発生したケースに対しても１つの正しい映像ファイル６１１を得ることができる。
【産業上の利用可能性】
【００４６】
本実施の形態にかかる映像記録装置は、記録終了処理を短時間で終えることができ、さらに、記録途中で障害が発生し、記録が正常に完了しなかった場合に、インデックスファイルを頼りにして修復の処理を進めることができるため、業務用または民生用ビデオカメラ等に適用することができ、有用である。
【符号の説明】
【００４７】
１００  物理ドライブ
１０１  論理ドライブ
１０２  マスターブートレコード
１０３  パーティションブートセクタ
１０４  ファイルアロケーションテーブル＃１
１０４ｂ  ファイルアロケーションテーブル＃２
１０５  ルートディレクトリエントリ
１０６  ユーザデータ領域
１０７  ディレクトリエントリ
１０８  先頭のクラスタ番号
１１０  クラスタ
１１１  クラスタ番号
６００  映像記録装置
６０１  エンコード部
６０２  映像書き出し部
６０３  インデックス記録部
６０４  インデックス合成部
６１０  記録媒体
６１１  映像ファイル
６１２  インデックスファイル
１１００、１４００  映像復旧装置
１１０１  データ復旧指示部
１４０１  インデックス検出部
１４０２  インデックス読み出し部
１４０３  インデックス調整部
【図１】
2011234068.tif 000003
【図２】
2011234068.tif 000004
【図３】
2011234068.tif 000005
【図４】
2011234068.tif 000006
【図５】
2011234068.tif 000007
【図６】
2011234068.tif 000008
【図７】
2011234068.tif 000009
【図８】
2011234068.tif 000010
【図９】
2011234068.tif 000011
【図１０】
2011234068.tif 000012
【図１１】
2011234068.tif 000013
【図１２】
2011234068.tif 000014
【図１３】
2011234068.tif 000015
【図１４】
2011234068.tif 000016
【図１５】
2011234068.tif 000017
【図１６】
2011234068.tif 000018
【図１７】
2011234068.tif 000019