(57)【要約】【課題】可変長符号化データを含む動画ファイルの再生に必要な管理情報を修復あるいは作成する。【解決手段】第１の種別の可変長符号化データで構成される第１のチャンクと、第２の種別の可変長符号化データで構成される第２のチャンクとが交互に配置された動画ファイルを取得する。また第１のチャンクと第２のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する。そして情報処理装置は、第１の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析する。また第２の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する。そして、解析された各可変長符号化データのデータ長を用いて、動画ファイルの再生に必要な管理情報を生成し、動画ファイルに含めて出力する。【選択図】図５
2013258655.tif 000002
【特許請求の範囲】
【請求項１】
第１の種別の可変長符号化データで構成される第１のチャンクと、第２の種別の可変長符号化データで構成される第２のチャンクとが交互に配置された動画ファイルを取得するデータ取得手段と、
前記第１のチャンクと前記第２のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する情報取得手段と、
前記第１の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析し、前記第２の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する解析手段と、
前記解析手段により解析された各可変長符号化データのデータ長を用いて、前記動画ファイルの再生に必要な管理情報を生成する生成手段と、
前記生成手段により生成された前記管理情報を前記動画ファイルに含めて出力する出力手段と、を有する
ことを特徴とする情報処理装置。
【請求項２】
前記生成情報はさらに、前記第１の種別の可変長符号化データに含まれるデータ長情報の数の情報を含み、
前記解析手段は、前記第１の種別の可変長符号化データから前記第１の種別の可変長符号化データに含まれるデータ長情報の数だけデータ長情報を読み出して加算することで該可変長符号化データのデータ長を解析する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記管理情報は、少なくとも各可変長符号化データの前記動画ファイル内における位置を特定する情報、及び該可変長符号化データのデータ長を含むことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記解析手段により解析された前記第１の種別の可変長符号化データのデータ長と、前記動画ファイルにおける該可変長符号化データのデータ長とが異なる場合は、該可変長符号化データを前記動画ファイルから削除する削除手段をさらに有することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記解析手段による前記簡易復号処理において前記第２の種別の可変長符号化データの終端が検出されない場合、該可変長符号化データを前記動画ファイルから削除する削除手段をさらに有することを特徴とする請求項１乃至４のいずれか１項に記載の情報処理装置。
【請求項６】
前記情報取得手段は、前記動画ファイルに含まれるダミーの管理情報から前記生成情報を取得することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記第１の種別の可変長符号化データはビデオ符号化データであり、前記第２の種別の可変長符号化データはオーディオ符号化データであることを特徴とする請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
動画ファイルの生成に用いる生成情報であって、第１の種別の可変長符号化データで構成される第１のチャンクと第２の種別の可変長符号化データで構成される第２のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を有するダミーの管理情報を生成する第１の生成手段と、
可変長符号化により順次生成された前記第１及び第２の種別の可変長符号化データを、前記生成情報に従って前記第１及び第２のチャンクを生成し、前記第１の生成手段により生成された前記ダミーの管理情報に、生成した該第１及び第２のチャンクを交互に配置して順次結合することで１つの動画ファイルを生成する第２の生成手段と、
前記第２の生成手段による前記第１及び第２の種別の可変長符号化データの生成が終了した後に、前記１つの動画ファイルに含まれる各可変長符号化データのデータ長の情報を用いて、該動画ファイルの再生に必要な管理情報を生成し、該必要な管理情報で前記ダミーの管理情報を更新する終了処理手段と、を有し、
前記第１の種別の可変長符号化データは、該可変長符号化データについてのデータ長情報を含み、
前記第２の種別の可変長符号化データは、復号することで得られる該可変長符号化データの終端を示す情報を含む
ことを特徴とする動画生成装置。
【請求項９】
情報処理装置のデータ取得手段が、１以上の第１の種別の可変長符号化データで構成される第１のチャンクと、１以上の第２の種別の可変長符号化データで構成される第２のチャンクとが交互に配置された動画ファイルを取得するデータ取得工程と、
前記情報処理装置の情報取得手段が、前記動画ファイルの生成に用いられた生成情報であって、前記第１のチャンクと前記第２のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する情報取得工程と、
前記情報処理装置の解析手段が、各可変長符号化データのデータ長を解析する解析工程であって、前記第１の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析し、前記第２の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する解析工程と、
前記情報処理装置の生成手段が、前記解析工程において解析された各可変長符号化データのデータ長を用いて、前記動画ファイルの再生に必要な管理情報を生成する生成工程と、
前記情報処理装置の出力手段が、前記生成工程において生成された前記管理情報を前記動画ファイルに含めて出力する出力工程と、を有する
ことを特徴とする情報処理装置の制御方法。
【請求項１０】
動画生成装置の第１の生成手段が、動画ファイルの生成に用いる生成情報であって、第１の種別の可変長符号化データで構成される第１のチャンクと第２の種別の可変長符号化データで構成される第２のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を有するダミーの管理情報を生成する第１の生成工程と、
前記動画生成装置の第２の生成手段が、可変長符号化により順次生成された前記第１及び第２の種別の可変長符号化データを、前記生成情報に従って前記第１及び第２のチャンクを生成し、前記第１の生成工程において生成された前記ダミーの管理情報に、生成した該第１及び第２のチャンクを交互に配置して順次結合することで１つの動画ファイルを生成する第２の生成工程と、
前記動画生成装置の終了処理手段が、前記第２の生成工程における前記第１及び第２の種別の可変長符号化データの生成が終了した後に、前記１つの動画ファイルに含まれる各可変長符号化データのデータ長の情報を用いて、該動画ファイルの再生に必要な管理情報を生成し、該必要な管理情報で前記ダミーの管理情報を更新する終了処理工程と、を有し、
前記第１の種別の可変長符号化データは、該可変長符号化データについてのデータ長情報を含み、
前記第２の種別の可変長符号化データは、復号することで得られる該可変長符号化データの終端を示す情報を含む
ことを特徴とする動画生成装置の制御方法。
【請求項１１】
コンピュータを、請求項１乃至７のいずれか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【請求項１２】
コンピュータを、請求項８に記載の動画生成装置の各手段として機能させるためのプログラム。
【請求項１３】
動画データと音声データとが所定の周期で記録される動画ファイルの管理情報を修復する方法であって、
方法を実行する装置の読み出し手段が、前記動画ファイルを記録媒体から読み出す読み出し工程と、
前記装置の第１の取得手段が、前記動画ファイルに含まれる前記音声データを完全に復号せずに、前記音声データのデータ長を取得できるまで復号し、前記音声データのデータ長を取得する第１の取得工程と、
前記装置の修復手段が、前記第１の取得工程で得られた前記音声データのデータ長に基づいて前記管理情報を修復する修復工程と、を有する
ことを特徴とする修復方法。
【請求項１４】
前記装置の第２の取得手段が、前記動画ファイルに含まれる前記動画データのオフセット値とデータ長とを前記動画データより取得する第２の取得工程をさらに有し、
前記修復手段は前記修復工程において、前記第１の取得工程で得られた前記音声データのデータ長および、前記第２の取得工程で得られた前記動画データのオフセット値とデータ長に基づいて前記管理情報を修復する
ことを特徴とする請求項１３に記載の修復方法。
【請求項１５】
前記第２の取得手段は前記第２の取得工程において、前記読み出し工程で読み出された、管理情報が修復される前の動画ファイルに含まれる情報に基づいて、前記動画データまたは前記音声データの先頭位置のオフセット値を算出することを特徴とする請求項１４に記載の修復方法。
【請求項１６】
前記第１の取得手段は前記第１の取得工程において、前記動画ファイルに含まれる前記音声データを逆量子化せずに、前記音声データのデータ長を取得できるまで復号することで前記音声データのデータ長を取得することを特徴とする請求項１３から１５のいずれか１項に記載の修復方法。
【請求項１７】
前記第１の取得手段は前記第１の取得工程において、前記動画ファイルに含まれる前記音声データを逆離散コサイン変換せずに、前記音声データのデータ長を取得できるまで復号することで前記音声データのデータ長を取得することを特徴とする請求項１３から１６のいずれか１項に記載の修復方法。
【請求項１８】
前記音声データは、可変長符号化された音声データであることを特徴とする請求項１３から１７のいずれか１項に記載の修復方法。
【請求項１９】
動画データと音声データとが所定の周期で記録される動画ファイルを処理する情報処理装置であって、
前記動画ファイルを記録媒体から読み出す読み出し手段と、
前記動画ファイルに含まれる前記音声データを完全に復号せずに、前記音声データのデータ長を取得できるまで復号し、前記音声データのデータ長を取得する取得手段と、
前記取得手段で得られた前記音声データのデータ長に基づいて、前記動画ファイルの管理情報を修復する修復手段と、を有する
ことを特徴とする情報処理装置。
【請求項２０】
前記取得手段は、前記動画ファイルに含まれる前記動画データのオフセット値とデータ長とを前記動画データより取得し、
前記修復手段は、前記取得手段で得られた前記音声データのデータ長および、前記動画データのオフセット値とデータ長に基づいて前記管理情報を修復する
ことを特徴とする請求項１９に記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、動画生成装置、制御方法、及びプログラムに関し、特に可変長符号化データを含む動画ファイルの再生技術に関する。
【背景技術】
【０００２】
従来、動画ファイルのビデオ符号化データ及びオーディオ符号化データの多重化方式には様々なものがあった。
【０００３】
例えば、多重化方式の１つであるＭＰＥＧ−２では、トランスポート・ストリーム（ＴＳ：Transport Stream）及びプログラム・ストリーム（ＰＳ：Program Stream）が用いられる。このうちＰＳでは、各符号化データはＰＥＳパケットに含められ、複数のＰＥＳパケットで構成されたＰａｃｋペイロードを有する、Ｐａｃｋと呼ばれる固定データ長のパケット単位が採用されている。ＰＥＳパケットでは、各符号化データであるＰＥＳペイロードに加え、ＰＥＳパケットの先頭を検出可能にするためのスタートコードと、ＰＥＳサイズ等の情報が含まれる。またパック内のＰａｃｋヘッダには、Ｐａｃｋペイロード内のＰＥＳパケットの開始位置検出用の情報や、含まれている符号化データの種類が含まれる。ランダムアクセスを含むＰＳの再生においては、ＰａｃｋヘッダやＰＥＳヘッダの参照により、再生する符号化データの特定がなされる。即ち、ＰａｃｋヘッダやＰＥＳヘッダには、動画ファイルの再生に必要な管理情報が含まれる。
【０００４】
このため、動画ファイルの編集や動画作成中の中断等により、ＰａｃｋヘッダやＰＥＳヘッダの管理情報データと各符号化データとの間に不整合が生じると、動画ファイルの再生をすることができなくなってしまう。
【０００５】
特許文献１には、動画ファイルにおいて管理情報データと各符号化データとの間の不整合を検出した場合に、ＰＥＳヘッダやＰａｃｋヘッダを探索して解析することで管理情報データの修復を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２９６４０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
一方、動画ファイルの多重化形式の１つにＭＰ４がある。
【０００８】
ＭＰ４形式の動画ファイルでは、例えばビデオ符号化データにはＨ．２６４／ＭＰＥＧ４−ＡＶＣ符号化形式が、オーディオ符号化データにはＡＡＣ（Advanced Audio Coding）符号化形式が採用される。該動画ファイルには、符号化データが格納されるMedia Data Box（ｍｄａｔ）に加え、各符号化データへのアクセスに必要な管理情報が格納されるMovie Box（ｍｏｏｖ）が含まれる。また、ファイル形式識別情報等、データ互換性に関する情報を格納するFile Type Box（ｆｔｙｐ）が含まれる。ＭＰ４形式の動画ファイルの再生においては、まずｆｔｙｐの参照によるデータ互換性の確認がなされた後、ｍｏｏｖから取得された各符号化データの先頭情報に基づいて、ｍｄａｔ内の各符号化データが再生される。
【０００９】
ＭＰ４形式の動画ファイルでは、ＰＳ形式を用いるＭＰＥＧ−２形式の動画ファイルとは異なり、ｍｄａｔ内の各符号化データの管理情報はｍｏｏｖ内に一括して格納される。即ち、ＭＰ４形式の動画ファイルの生成において、ｍｏｏｖの作成はｍｄａｔが完成した後の最終工程で行われる。
【００１０】
このため、動画ファイルの生成中に、機械トラブル等の何らかの事情により生成処理が中断された場合、動画ファイルにはｍｏｏｖが含まれていないことがある。即ち、符号化データは存在するにもかかわらずｍｏｏｖが存在しないために、該動画ファイルを再生することができなかった。
【００１１】
ＰＳとは異なり、ＭＰ４形式の動画ファイルでは各符号化データのオフセット値やデータ長の情報はパケットのヘッダに含まれていない。また各符号化データは可変長符号化されたデータであるため、特許文献１のような技術でＭＰ４形式の動画ファイルの管理情報であるｍｏｏｖの修復あるいは作成を行うことはできなかった。
【００１２】
本発明は、上述の問題点に鑑みてなされたものであり、可変長符号化データを含む動画ファイルの再生に必要な管理情報を修復あるいは作成する情報処理装置、動画生成装置、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
前述の目的を達成するために、本発明の情報処理装置は、以下の構成を備える。
第１の種別の可変長符号化データで構成される第１のチャンクと、第２の種別の可変長符号化データで構成される第２のチャンクとが交互に配置された動画ファイルを取得するデータ取得手段と、第１のチャンクと第２のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する情報取得手段と、第１の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析し、第２の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する解析手段と、解析手段により解析された各可変長符号化データのデータ長を用いて、動画ファイルの再生に必要な管理情報を生成する生成手段と、生成手段により生成された管理情報を動画ファイルに含めて出力する出力手段と、を有することを特徴とする。
【発明の効果】
【００１４】
このような構成により本発明によれば、可変長符号化データを含む動画ファイルの再生に必要な管理情報を修復あるいは作成することが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施形態に係るデジタルカメラ１００の機能構成を示したブロック図である。
【図２】本発明の実施形態に係る、デジタルカメラ１００における動画ファイルの生成処理を説明するための図である。
【図３】本発明の実施形態に係るダミーのｍｏｏｖを説明するための図である。
【図４】本発明の実施形態に係るデジタルカメラ１００の修復処理を例示したフローチャートである。
【図５】本発明の実施形態に係るデジタルカメラ１００の解析処理を例示したフローチャートである。
【図６】本発明の実施形態に係るオーディオ復号処理及び簡易復号処理を説明するための図である。
【図７Ａ】本発明の実施形態に係るオーディオ符号化データのシンタックスを示した図である。
【図７Ｂ】本発明の実施形態に係るオーディオ符号化データのシンタックスを示した図である。
【図７Ｃ】本発明の実施形態に係るオーディオ符号化データのシンタックスを示した図である。
【図７Ｄ】本発明の実施形態に係るオーディオ符号化データのシンタックスを示した図である。
【図７Ｅ】本発明の実施形態に係るオーディオ符号化データのシンタックスを示した図である。
【図７Ｆ】本発明の実施形態に係るオーディオ符号化データのシンタックスを示した図である。
【図７Ｇ】本発明の実施形態に係るオーディオ符号化データのシンタックスを示した図である。
【図７Ｈ】本発明の実施形態に係るオーディオ符号化データのシンタックスを示した図である。
【図７Ｉ】本発明の実施形態に係るオーディオ符号化データのシンタックスを示した図である。
【図７Ｊ】本発明の実施形態に係るオーディオ符号化データのシンタックスを示した図である。
【図８】本発明の実施形態に係る解析処理を適用した際の動作例を説明するための図である。
【発明を実施するための形態】
【００１６】
以下、本発明の例示的な実施形態について、図面を参照して詳細に説明する。なお、以下に説明する一実施形態は、情報処理装置及び動画生成装置の一例としての、ＭＰ４形式の動画ファイルを生成可能なデジタルカメラに、本発明を適用した例を説明する。しかし、本発明は、可変長符号化データを含む動画ファイルに対して、該動画ファイルの再生に必要な、少なくとも各符号化データのオフセット値及びデータ長を一括して管理する管理情報を生成して付加することが可能な任意の機器に適用可能である。
【００１７】
《デジタルカメラ１００の構成》
図１は、本発明の実施形態に係るデジタルカメラ１００の機能構成を示すブロック図である。
【００１８】
制御部１０１は、例えばＣＰＵであり、デジタルカメラ１００が有する各ブロックの動作を制御する。具体的には制御部１０１は、ＲＯＭ１０２に記憶されている後述の修復処理のプログラムを読み出し、ＲＡＭ１０３に展開して実行することにより各ブロックの動作を制御する。
【００１９】
ＲＯＭ１０２は、例えば書き換え可能な不揮発性メモリであり、デジタルカメラ１００が有する各ブロックの動作プログラムに加え、各ブロックの動作に必要となるパラメータ等の情報を記憶する。
【００２０】
ＲＡＭ１０３は、書き換え可能な揮発性メモリであり、デジタルカメラ１００が有する各ブロックの動作プログラムの展開領域としてだけでなく、各ブロックの動作において出力された中間データ等が記憶される格納領域としても用いられる。本実施形態ではＲＡＭ１０３には、後述する記録媒体２００に記録する前段階の符号化データ等が記憶される。
【００２１】
ビデオ符号化部１０４は、不図示の撮像部によって連続的に撮影されたビデオフレームに対して映像符号化処理を行い、Ｈ．２６４／ＭＰＥＧ−４ＡＶＣ符号化形式のビデオ符号化データ（第１の種別の可変長符号化データ、動画データ）を生成する。ビデオ符号化部１０４は、生成したビデオ符号化データをＲＡＭ１０３に出力して記憶させる。
【００２２】
なお、ビデオ符号化データのフレームには、所定の周期で１フレーム内のデータのみで復号可能な、即ち画面内符号化ピクチャを示すＩＤＲ（Instantaneous Decoder Refresh）データが存在する。通常、動画ファイルでは、ビデオ符号化データ内のＩＤＲデータの位置を特定する情報が管理情報に含まれており、これにより動画ファイルのランダムアクセスが可能になる。
【００２３】
オーディオ符号化部１０５は、不図示のマイクにより集音された音声信号に対して音声符号化処理を行い、ＡＡＣ符号化形式のオーディオ符号化データ（Ｒａｗブロックデータ：第２の種別の可変長符号化データ、音声データ）を生成する。オーディオ符号化部１０５は、生成したオーディオ符号化データをＲＡＭ１０３に出力して記憶させる。
【００２４】
多重化部１０６は、ビデオ符号化部１０４により生成されたビデオ符号化データ、及びオーディオ符号化部１０５により生成されたオーディオ符号化データをＲＡＭ１０３において多重化し、ＭＰ４ファイルにおけるｍｄａｔのデータを生成する。
【００２５】
なお、本実施形態では、デジタルカメラ１００はＭＰ４形式の動画ファイルを生成するものとして説明するが、本発明の適用は該形式の動画ファイルに限られるものではない。例えば、ＭＯＶ形式（QuickTime（登録商標） File Format）や３ＧＰＰ形式（Third Generation Partnership Project）等の、ＭＰ４形式に類似する多重化方式にも本発明は適用可能である。即ち、上述したように、動画ファイルの再生に必要な、少なくとも各符号化データのオフセット値及びデータ長を一括して管理する管理情報を含む多重化形式であれば、本発明は適用可能である。
【００２６】
記録制御部１０７は、デジタルカメラ１００に接続された記録媒体２００に対するデータの読み書きを制御する。記録制御部１０７は、ＲＡＭ１０３に一時的に生成された動画ファイルを構成するデータを順次記録媒体２００に出力し、記録する。なお、記録媒体２００は例えばデジタルカメラ１００が有する内蔵メモリであってもよいし、メモリカードやＨＤＤ等のデジタルカメラ１００に着脱可能に接続される記録装置であってもよい。
【００２７】
解析部１０８は、再生対象の動画ファイルを解析する。具体的には解析部１０８は、多重化方式に従って動画ファイルの管理情報を解析し、動画ファイル内の各符号化データの位置を特定する情報（オフセット値）やデータ長の情報を取得する。本実施形態では解析部１０８は、ＭＰ４形式の動画ファイルのｍｄａｔを解析することで、ｍｄａｔ内の各符号化データのオフセット値及びデータ長を解析する。このように解析部１０８による管理情報の解析により、動画ファイルは再生あるいはランダムアクセスが可能となる。
【００２８】
デマックス部１０９は、解析部１０８により解析された再生対象の動画ファイルのファイル構造に基づき、ビデオ符号化データとオーディオ符号化データとを分離し、それぞれビデオ復号部１１０あるいはオーディオ復号部１１１に伝送する。
【００２９】
ビデオ復号部１１０は、再生対象の動画ファイルのビデオ符号化データを復号し、映像信号を出力する。出力された映像信号は、後述の表示部１１２に表示される。
【００３０】
オーディオ復号部１１１は、再生対象の動画ファイルのオーディオ符号化データを復号し、音声信号を出力する。出力された音声信号は、表示部１１２への映像信号の表示と同期して、不図示のスピーカにより音声出力される。
【００３１】
表示部１１２は、例えばＬＣＤ等のデジタルカメラ１００が有する表示装置である。表示部１１２の表示部には、ビデオ復号部１１０により出力された再生対象の動画ファイルのビデオフレームや、不図示の撮像部により出力されたライブビュー用フレーム画像が表示される。
【００３２】
なお、本実施形態ではハードウェアとしてデジタルカメラ１００が備える各ブロックにおいて処理が実現されるものとして説明するが、本発明の実施はこれに限らず、各ブロックの処理は該各ブロックと同様の処理を行うプログラムで実現されてもよい。また、図１の各ブロックが独立のハードウェアで構成されていても良いし、複数のブロックの一部またはすべての機能を１または複数のハードウェアにより構成されてもよい。また、図１の各ブロックの一部またはすべての機能を制御部１０１がＲＯＭ１０２より読み出し、ＲＡＭ１０３に展開したプログラムにより実行してもよい。
【００３３】
《動画ファイルの生成》
ここで、本実施形態のデジタルカメラ１００におけるＭＰ４形式の動画ファイルの生成について、図２を用いて概要を説明する。図２は、動画撮影時における、ＲＡＭ１０３に一時記憶されるデータと記録媒体２００に記録される動画ファイルの流れを示している。
【００３４】
まず制御部１０１は、不図示の操作入力部より動画撮影指示がなされたことを検出すると、生成する動画ファイルがＭＰ４形式であることを示す情報を含むｆｔｙｐを生成し、ＲＡＭ１０３に記憶させる。また制御部１０１は、生成する動画ファイルに対して一時的に付与するダミーのｍｏｏｖ（ダミーｍｏｏｖ）を生成（第１の生成）し、ステータス２０１のようにＲＡＭ１０３のｆｔｙｐに連結させて記憶させる。なお、このダミーｍｏｏｖは、生成する動画ファイルを再生可能にするための管理情報ではなく、正式なｍｏｏｖ（正式ｍｏｏｖ）が生成されなかった場合に正式ｍｏｏｖではないことを再生時に判別するために付与される。なお、ダミーｍｏｏｖには、後述の通り正式ｍｏｏｖの生成に必要な情報が含まれる。
【００３５】
〈ダミーｍｏｏｖ〉
ここで、本実施形態のデジタルカメラ１００の動画ファイル生成時に一時的に付与されるダミーｍｏｏｖについて、図３を参照して正式ｍｏｏｖとの違いを説明する。
【００３６】
ｍｏｏｖには、動画ファイルに含まれるｍｄａｔの生成が完了した後にのみ生成可能な情報とは別に、ｍｄａｔの生成前に取得可能な情報が含まれる。ｍｄａｔの生成前に取得可能な情報には、例えば動画ファイルのビデオデータを再生する際の表示解像度やフレームレート、あるいは動画ファイルのオーディオデータのサンプリング周波数等、符号化データの生成において予め決定されている情報が含まれる。
【００３７】
本実施形態のダミーｍｏｏｖは、図３にハッチングで示される情報のみが正式ｍｏｏｖと異なる。ハッチングで示される情報のうち、ダミーｍｏｏｖのｍｏｏｖレイヤに含まれる情報は、動画ファイルに含まれるｍｄａｔの生成が完了した後にのみ生成可能な情報である。またｍｏｏｖレイヤに含まれる情報のうち、ハッチングで示されていない情報は、ｍｄａｔの生成前に取得可能な情報である。具体的にはダミーｍｏｏｖのｍｏｏｖレイヤは、動画ファイルが格納している符号化データの数が０個であることを示し、各サブレイヤのdurationは０に設定されている。
【００３８】
また図３には、ダミーｍｏｏｖにはｍｏｏｖレイヤの他にｆｒｅｅレイヤが含まれ、該レイヤにｍｄａｔの生成に用いられる生成ルールに関する情報（生成情報）が含められる。ｍｄａｔは、ビデオ符号化データで構成されるビデオチャンクと、オーディオ符号化データで構成されるオーディオチャンクとが交互に配置された繰り返し構造となっている。このため生成ルールに関する情報には、
１）単位チャンクあたりに含まれる各符号化データの数の情報（ビデオチャンク、オーディオチャンクの各々について）
２）ビデオチャンクとオーディオチャンクの配置順序の情報（ビデオチャンクとオーディオチャンクのどちらが先頭にくるか）
が含まれる。
【００３９】
また、ビデオ符号化データの生成については、さらに
３）１つのビデオ符号化データに含まれるＮＡＬユニット（アクセスユニットの先頭に付され、該アクセスユニットのデータ長情報を格納する）の数の情報
４）ビデオ符号化データにおけるＩＤＲデータの発生周期の情報
が生成ルールに関する情報に含まれる。
【００４０】
このように生成ルールに関する情報は、動画ファイルのｍｄａｔの構成や生成方法を規定する情報であり、例えばデジタルカメラ１００に予め定められた情報である。ビデオ符号化部１０４、オーディオ符号化部１０５、及び多重化部１０６は、該生成ルールに関する情報に従って順次生成した符号化データを順次結合して、ビデオ符号化データ及びオーディオ符号化データが多重化されたｍｄａｔをＲＡＭ１０３に生成する（第２の生成）。
【００４１】
また後述するように、該生成ルールに関する情報は、生成する動画ファイルのｍｄａｔが完成した際に、正式ｍｏｏｖの作成のためにも参照される。即ち、本実施形態のデジタルカメラ１００では、動画ファイルの生成時に、ｍｄａｔが完成するよりも前に該生成ルールに関する情報を含んだダミーｍｏｏｖを予め動画ファイルに含める。このようにすることでデジタルカメラ１００は、正式ｍｏｏｖの生成前に動画ファイルの生成が中断されてしまった場合であっても、残されたｍｄａｔを解析することで正式ｍｏｏｖを復元することができる。
【００４２】
このように、動画ファイルの生成に用いられる生成ルールに関する情報を含むダミーｍｏｏｖを生成した後、制御部１０１は動画撮影処理を開始し、ビデオ符号化部１０４及びオーディオ符号化部１０５にビデオ符号化データ及びオーディオ符号化データを順次生成させる。
【００４３】
ビデオ符号化部１０４及びオーディオ符号化部１０５により符号化データが生成されてＲＡＭ１０３に格納される（ステータス２０２）と、制御部１０１は、生成ルールに関する情報に従って多重化部１０６に多重化処理を行わせる。制御部１０１は、多重化部１０６によりビデオチャンク及びオーディオチャンクで構成される動画データ（ｍｄａｔの一部）が生成されると、該データをｆｔｙｐとｍｏｏｖとが連結されたデータに順次結合させて動画ファイルを生成する（ステータス２０３）。また制御部１０１は、予め定められたファイルサイズの動画ファイルが生成されると、該データを記録制御部１０７に伝送し、記録媒体２００に記録させる（ステータス２０４）。
【００４４】
制御部１０１は、動画撮影停止指示がなされたことを検出すると、動画撮影処理を停止してビデオ符号化部１０４及びオーディオ符号化部１０５の符号化処理を停止する。そして制御部１０１は、全てのｍｄａｔを生成して記録制御部１０７に伝送し、記録媒体２００に動画ファイルのｍｄａｔに記録させる（ステータス２０５）。
【００４５】
その後、制御部１０１は、符号化時に得られた各符号化データや各チャンクのデータ長の情報等を参照し、生成ルールに関する情報に従って正式ｍｏｏｖを生成する。そして制御部１０１は、該正式ｍｏｏｖを記録制御部１０７に伝送して、記録媒体２００に記録されている動画ファイルのダミーｍｏｏｖを正式ｍｏｏｖで更新し、動画ファイルを完成させる（ステータス２０６：終了処理）。
【００４６】
なお、正式ｍｏｏｖの生成は、ダミーｍｏｏｖと同一のデータに対して、以下の手順で情報を追加することで行われる。
Ａ）sttsに、各符号化データ１つあたりのdurationを入力
Ｂ）tkhd/mdhdのdurationに、ｍｄａｔに登録した各符号化データの数に、１つの符号化データあたりのdurationを乗算した値を入力
Ｃ）stssに、生成ルール４とｍｄａｔに登録したビデオ符号化データの数とから生成した値を入力（例えば、ＩＤＲデータが１５ビデオ符号化データごとに発生し、登録したビデオ符号化データの数が１００である場合、１＋１５×ｎ≦１００（ｎ＝０、１、２…）を満たす数値、１、１６、３１、４６、６１、７６、９１が順にstssに登録される。）
Ｄ）stszに、ビデオ符号化部１０４及びオーディオ符号化部１０５から出力された各符号化データのデータ長を入力
Ｅ）stcoに、生成ルール１及び２に従い、各符号化データのデータ長を加算し、各符号化データの動画ファイルにおける位置を特定する値（オフセット値）を入力
Ｆ）ｆｒｅｅレイヤの生成ルール領域を破棄（0x00でpadding）
【００４７】
《再生処理（正式ｍｏｏｖが存在する場合）》
このように生成された動画ファイルを再生する場合は、制御部１０１は再生処理において次のように処理する。
【００４８】
制御部１０１は、再生指示がなされた動画ファイルのｆｔｙｐを記録制御部１０７に記録媒体２００から読み出させ、該情報を参照して動画ファイルがＭＰ４形式であることを認識すると、続いてｍｏｏｖを読み出させてＲＡＭ１０３に格納する。
【００４９】
制御部１０１は、ＲＡＭ１０３に格納されたｍｏｏｖを構造解析（パース）し、ｍｏｏｖ内のstsdを参照してビデオの解像度及びフレームレートやオーディオのサンプリング周波数等の情報を取得する。そして制御部１０１は、取得した情報をビデオ復号部１１０及びオーディオ復号部１１１に設定する。
【００５０】
次に制御部１０１は、ｍｏｏｖ内のstco及びstszを参照し、各符号化データのオフセット値及びデータ長の情報を取得する。制御部１０１は、該情報に基づいて記録制御部１０７に記録媒体２００からｍｄａｔのデータをＲＡＭ１０３に読み出させ、デマックス部１０９によりビデオ符号化データとオーディオ符号化データとに分離させる。そして制御部１０１は、各々の符号化データをビデオ復号部１１０及びオーディオ復号部１１１に伝送して復号させる。制御部１０１は、ビデオ復号部１１０における復号処理により得られた映像信号を表示部１１２に出力し、表示させる。また制御部１０１は、オーディオ復号部１１１における復号処理により得られた音声信号を不図示のスピーカに出力し、再生させる。
【００５１】
制御部１０１は、このような処理を、再生指示がなされた動画ファイルのｍｄａｔに含まれる全ての符号化データを復号して再生するまで、あるいは再生停止指示がなされたことを検出するまで繰り返し行うことで、動画ファイルの再生を行う。
【００５２】
《再生処理（正式ｍｏｏｖが存在しない場合）》
一方、動画ファイルの生成処理中、ｍｄａｔの記録媒体２００への記録が開始してから、ｍｄａｔ生成完了後の正式ｍｏｏｖによる更新がなされる前までに、例えばデジタルカメラ１００の電源ＯＦＦ操作等の要因によって処理が中断された場合について考える。
【００５３】
このとき、記録媒体２００には、ダミーｍｏｏｖとｍｄａｔを有し、ｍｄａｔに少なくとも１チャンク以上の符号化データ（ビデオチャンク、オーディオチャンク）を含む動画ファイルが存在する。上述したように、このような動画ファイルの再生指示がなされた場合、制御部１０１はダミーｍｏｏｖをパースしたとしても、動画ファイルの各符号化データのオフセット値やデータ長の情報を取得することができない。即ち、制御部１０１は動画ファイルのｍｄａｔに含まれる各符号化データの情報を取得することができないため、動画ファイルの再生を行うことができない。
【００５４】
本実施形態では、このような正式ｍｏｏｖの存在しない動画ファイルから、ダミーｍｏｏｖ及びｍｄａｔの解析により正式ｍｏｏｖを含む動画ファイルを生成する。
【００５５】
〈修復処理〉
以下、本実施形態のデジタルカメラ１００において正式ｍｏｏｖの存在しない動画ファイルを修復して、正式ｍｏｏｖを有する動画ファイルを生成する、デジタルカメラ１００の修復処理について、図４のフローチャートを用いて具体的な処理を説明する。該フローチャートに対応する処理は、制御部１０１が、例えばＲＯＭ１０２に記憶されている対応する処理プログラムを読み出し、ＲＡＭ１０３に展開して実行することにより実現することができる。なお、本修復処理は、例えば記録媒体２００に記録されている動画ファイルの再生指示がなされた際に開始されるものとして説明する。
【００５６】
Ｓ４０１で、制御部１０１は、再生指示がなされた動画ファイル（対象動画ファイル）のｍｏｏｖがダミーｍｏｏｖであるか否かを判断する。具体的には制御部１０１は、記録媒体２００に記録されている対象動画ファイルのｍｏｏｖを記録制御部１０７に読み出させて、ＲＡＭ１０３に記録させる（情報取得）。そして制御部１０１は、例えば該ｍｏｏｖのmvhdのdurationが０であるか否かによって、ｍｏｏｖがダミーｍｏｏｖであるか否かを判断する。制御部１０１は、対象動画ファイルのｍｏｏｖがダミーｍｏｏｖであると判断した場合は処理をＳ４０２に移し、ダミーｍｏｏｖではないと判断した場合は本修復処理を完了する。
【００５７】
Ｓ４０２で、制御部１０１は、対象動画ファイルのｍｄａｔを解析する解析処理を実行する。
【００５８】
（解析処理）
ここで、本実施形態のデジタルカメラ１００で実行される解析処理について、図５を用いて詳細を説明する。
【００５９】
Ｓ５０１で、制御部１０１は、対象動画ファイルにおける解析対象の符号化データ（解析符号化データ）の先頭位置のオフセット値を取得する。具体的には制御部１０１はまず、ｆｔｙｐの規定データ長に、ＲＡＭ１０３に読み出されたダミーｍｏｏｖのデータ長を加算し、ｍｄａｔの先頭位置のオフセット値を算出する。さらに制御部１０１は、既に解析された符号化データの合計データ長の情報を加算することで、解析符号化データの先頭位置のオフセット値を取得する。
【００６０】
Ｓ５０２で、制御部１０１は、ダミーｍｏｏｖに含まれる生成ルール１及び２を参照し、解析符号化データがビデオ符号化データであるか否かを判断する。制御部１０１は、ｍｄａｔの先頭からのビデオチャンクとオーディオチャンクの配置順序の情報と各チャンクに含まれる対応する符号化データの数の情報を参照し、本解析処理の過程で選択された解析符号化データが、いずれの符号化データであるかを順次判断する。制御部１０１は、解析符号化データがビデオ符号化データであると判断した場合は処理をＳ５０３に移し、ビデオ符号化データではない、即ちオーディオ符号化データであると判断した場合は処理をＳ５０５に移す。
【００６１】
Ｓ５０３で、制御部１０１は、解析部１０８に解析符号化データであるビデオ符号化データのデータ長を解析させる。具体的には解析部１０８は、解析符号化データの先頭からＮＡＬユニットを読み出し（データ取得）、ＮＡＬユニットに対応するアクセスユニットのデータ長を取得する。さらに解析部１０８は、さらに取得したアクセスユニットのデータ長分だけシフトした位置に存在する次のＮＡＬユニットを読み出し、該次のＮＡＬユニットに対応するアクセスユニットのデータ長を取得する。解析部１０８は、ダミーｍｏｏｖに含まれる生成ルール３に従い、解析符号化データに含まれる全てのＮＡＬユニットについて対応するアクセスユニットのデータ長を取得して加算することで、解析符号化データであるビデオ符号化データのデータ長を解析する（第２の取得）。
【００６２】
Ｓ５０４で、制御部１０１は、取得した解析符号化データのデータ長分の符号化データがｍｄａｔに存在するか否かを判断する。対象動画ファイルが、ｍｄａｔに含まれる符号化データの記録媒体２００への書き込み中に動画生成処理が中断されたファイルである場合、中断時に書き込みを行なっていた符号化データについては、中断前までに書き込まれたデータの後端にＥＯＦが存在する。即ち、制御部１０１は、解析部１０８に解析させた解析符号化データのデータ長分の符号化データを記録媒体２００のｍｄａｔから読み出すまでの間に、対象動画ファイルの後端であるＥＯＦが現れたか否かを判断する。制御部１０１は、解析符号化データのデータ長分の符号化データがｍｄａｔに存在すると判断した場合は処理をＳ５０７に移し、存在しないと判断した場合は処理をＳ５０９に移す。
【００６３】
一方、Ｓ５０２において解析符号化データがオーディオ符号化データであると判断された場合、制御部１０１はＳ５０５で、解析部１０８に解析符号化データであるオーディオ符号化データのデータ長を解析させる。オーディオ符号化データは、ビデオ符号化データのようにデータ長情報を有するＮＡＬユニットを含まない。このため、本実施形態では解析部１０８は、オーディオ符号化データに対してはオーディオ復号部１１１で行われるオーディオ復号処理の一部である簡易復号処理（完全に復号しない）を適用することで、オーディオ符号化データの終端の情報を検出する。そして解析部１０８は、終端の情報に基づいてオーディオ符号化データのデータ長を取得する（第１の取得）。
【００６４】
オーディオ復号部１１１で行われるオーディオ復号処理は、例えば図６に示されるような工程で行われる。オーディオ復号部１１１は、入力されたＡＡＣ形式のオーディオ符号化データに対し、Ｓ６０１及びＳ６０２の処理で、データのシンタックス解析を行って構成要素を読み出す。読み出した構成要素に対して、オーディオ復号部１１１は逆量子化（Ｓ６０３）、スケールファクタ（Ｓ６０４）、Ｍ／Ｓ処理（Ｓ６０５）、Ｉ／Ｓ処理（Ｓ６０６）、ＴＮＳ処理（Ｓ６０７）、及びＩＭＤＣＴ（逆修正離散コサイン変換）処理（Ｓ６０８）を適用し、音声信号を生成する。なお、Ｓ６０８の処理は、ＩＤＣＴ（逆離散コサイン変換）処理であっても良い。
【００６５】
オーディオ符号化データであるＲａｗブロックデータ（raw_block_data()）は、図７Ａのシンタックスに示されるように、
・Ｌ／Ｒチャネルの可変長符号化データを含むchannel_pair_elements()
・raw_block_data()の終端情報を示すend()
・raw_block_data()をバイトアライメントに調整するbyte_alignment()
で構成される。
【００６６】
図７Ｂに示されるように、channel_pair_element()のシンタックスは、Ｌ／Ｒチャネルの音声信号の符号化データの各々を示す
individual_channel_stream(common_window);
と、その他の情報とに分けられる。channel_pair_element()のうち、その他の情報については、図７Ｂ及びＣに示されるようにビット数は既知である。
【００６７】
またindividual_channel_stream(common_window)は、さらに図７Ｄに示されるようなシンタックスとなっている。図７Ｄに示される個々のオーディオ符号化データを構成する要素は、図７Ｅ乃至Ｊのようなシンタックスで記述される。図示されるように、オーディオ符号化データを構成する要素のうち、scale_factor_data()及びspectral_data()にはハフマン符号化により圧縮される構成要素が含まれる。このため、該要素のビット数の算出のためには、ハフマン復号処理が必要となる。
【００６８】
このため解析部１０８はＳ５０５において、オーディオ復号処理のうち、データのシンタックス解析をオーディオ復号部１１１に行なわせる。そして解析部１０８は、オーディオ復号部１１１に解析対象のオーディオ符号化データの構成要素を読み出させながら、読み出されたデータのビット数を計数することで、解析対象のオーディオ符号化データのデータ長を取得する。具体的には解析部１０８は、オーディオ復号部１１１にオーディオ復号処理のうちＳ６０１及びＳ６０２のみの処理を行う簡易復号処理を、シンタックス解析によりbyte_alignment()を検出するまで行わせる。そして解析部１０８は、該要素までに読み出させたデータの総ビット数を解析符号化データのデータ長として取得する。なお、本ステップにおいて簡易復号処理のために記録媒体２００から読み出されるｍｄａｔのデータは、解析符号化データの先頭位置から１つのオーディオ符号化データのデータ長よりは大きくなるように予め設定されたデータ長分のデータであってよい。
【００６９】
Ｓ５０６で、制御部１０１は、Ｓ５０５において解析符号化データのデータ長の解析が成功したか否かを判断する。上述したように対象動画ファイルが、ｍｄａｔに含まれる符号化データの記録媒体２００への書き込み中に動画生成処理が中断されたファイルである場合、中断時に書き込みを行なっていた符号化データの全てが書き込まれていない可能性がある。即ち、対象動画ファイルがこのようなファイルである場合、Ｓ５０５における簡易復号処理を用いた解析符号化データのデータ長の解析において、オーディオ復号部１１１はbyte_alignment()を検出することができない。このため解析部１０８は、解析符号化データのデータ長の解析に失敗する。制御部１０１は、解析符号化データのデータ長の解析が成功したと判断した場合は処理をＳ５０７に移し、失敗したと判断した場合は処理をＳ５０９に移す。
【００７０】
Ｓ５０７で、制御部１０１は、ＲＡＭ１０３に格納されている動画ファイルのｍｄａｔに含まれる対応する符号化データの有効符号化データ数を１つ増加させる。また制御部１０１は、解析符号化データのデータ長の情報を、有効符号化データ数（先頭からの何番目の符号化データであるかを示す情報）に関連付けてＲＡＭ１０３に格納する。
【００７１】
Ｓ５０８で、制御部１０１は、対象動画ファイルのｍｄａｔに含まれる全ての符号化データの読み出しが完了したか否かを判断する。具体的には制御部１０１は、解析符号化データの先頭位置から解析された該解析符号化データのデータ長分だけシフトした位置にＥＯＦが存在するか否かを判断する。制御部１０１は、ｍｄａｔに含まれる全ての符号化データの読み出しが完了したと判断した場合は本解析処理を完了し、完了していないと判断した場合は処理をＳ５０１に戻す。
【００７２】
また解析符号化データが破損している場合、制御部１０１はＳ５０９で、該解析符号化データを、記録媒体２００に記録されている対象動画ファイルのｍｄａｔから削除して本解析処理を完了する。即ち、制御部１０１は、記録媒体２００に記録されている対象動画ファイルのｍｄａｔのデータのうち、解析符号化データの先頭位置以降に存在するデータを削除する。
【００７３】
このように解析処理を行うことで制御部１０１は、対象動画ファイルについて、
・ｍｄａｔに含まれる符号化データの数（チャンクの数）の情報
・ｍｄａｔに含まれる各符号化データの位置を特定する情報
・ｍｄａｔに含まれる各符号化データのデータ長の情報
をＲＡＭ１０３に出力することができる。
【００７４】
そしてＳ４０３で、制御部１０１は、解析処理により得られた情報をもとに、ＲＡＭ１０３に読み出したダミーｍｏｏｖに対して必要な情報を入力し、正式ｍｏｏｖを生成する。なお、このとき制御部１０１は、ダミーｍｏｏｖに含まれる生成ルールに関する情報を削除する。
【００７５】
Ｓ４０４で、制御部１０１は、生成した正式ｍｏｏｖを記録制御部１０７に伝送し、該データで記録媒体２００に記録されている対象動画ファイルのダミーｍｏｏｖを更新し、本修復処理を完了する。
【００７６】
このようにすることで、動画ファイルが正式ｍｏｏｖを有していない場合であっても、該動画ファイルに含まれるｍｄａｔを解析することで、正式ｍｏｏｖを有する動画ファイルを生成することができる。また正式ｍｏｏｖを生成することで、該動画ファイルを再生可能にすることができる。
【００７７】
《適用例》
以下、上述した解析処理を適用した例について、図を用いて説明する。
【００７８】
ｍｄａｔが図８に示されるような構成であり、生成ルールが以下の場合を考える。
１）１ビデオチャンクあたりのビデオ符号化データの数は２
１オーディオチャンク当たりのオーディオ符号化データの数は２
２）ビデオチャンク→オーディオチャンクの順でｍｄａｔは構成
３）１ビデオ符号化データあたりのＮＡＬユニットの数は２
【００７９】
まず、生成ルール２からｍｄａｔの先頭に位置する符号化データはビデオ符号化データであることが判明するため、制御部１０１は、ｍｄａｔのペイロード部の先頭位置を、ビデオ符号化データ[0]のオフセット値とする。
【００８０】
次に解析部１０８は、ビデオ符号化データ[0]の先頭に位置するＮＡＬユニットのデータ長情報を読み出し、該情報により示されるデータ長分だけシフトした位置に存在する次のデータ長情報を読み出す。生成ルール３から１ビデオ符号化データあたりに２つのＮＡＬユニットが含まれていることが判明するため、解析部１０８は２つのデータ長情報で示されるデータ長を加算し、ビデオ符号化データ[0]のデータ長を取得する。
【００８１】
ビデオ符号化データ[0]のオフセット値に該データのデータ長を加算した値は、次の符号化データのオフセット値となる。生成ルール１により、次の符号化データはビデオ符号化データであることが判明するため、該オフセット値はビデオ符号化データ[1]のオフセット値となる。
【００８２】
解析部１０８は、ビデオ符号化データ[1]についても同様に解析し、データ長を取得する。このとき制御部１０１は、ビデオ符号化データの有効符号化データ数を１だけインクリメントする。
【００８３】
生成ルール１により、次の符号化データはオーディオ符号化データであることが判明するため、制御部１０１は、ビデオ符号化データ[1]のオフセット値に該データのデータ長を加算した値を、次のオーディオ符号化データ[0]のオフセット値とする。
【００８４】
解析部１０８は、オーディオ符号化データ[0]の開始位置から予め定められた2048バイト(LPCM-Streo 16bit/1024sample)のデータを読み出し、オーディオ復号部１１１に簡易復号処理を実行させる。簡易復号処理によりオーディオ符号化データ[0]のbyte_alignment()が検出されてデータ長が得られるため、解析部１０８は該データ長をオーディオ符号化データ[0]のデータ長とする。
【００８５】
このように順に処理することで、ｍｄａｔに含まれる各符号化データの情報を解析することができる。なお、ｍｄａｔの末尾に位置し、破損しているオーディオ符号化データ[3]については、解析部１０８が簡易復号処理によりデータ長を取得することができない。このため、制御部１０１はオーディオ符号化データ[3]の開始位置以降のデータを記録媒体２００に記録されているｍｄａｔから削除する。そして制御部１０１は、オーディオ符号化データ[2]の末尾までをｍｄａｔの有効符号化データとし、解析処理を完了する。
【００８６】
以上説明したように、本実施形態の情報処理装置は、可変長符号化データを含む動画ファイルの再生に必要な管理情報を修復あるいは作成することができる。具体的には情報処理装置は、第１の種別の可変長符号化データで構成される第１のチャンクと、第２の種別の可変長符号化データで構成される第２のチャンクとが交互に配置された動画ファイルを取得する。また第１のチャンクと第２のチャンクの配置順序の情報、及び単位チャンクあたりに含まれる各可変長符号化データの数の情報を少なくとも含む生成情報を取得する。そして情報処理装置は、第１の種別の可変長符号化データについては、該可変長符号化データに含まれるデータ長情報を解析することでデータ長を解析する。また第２の種別の可変長符号化データについては、少なくとも該可変長符号化データの終端を示す情報を検出する簡易復号処理を適用することでデータ長を解析する。そして、解析された各可変長符号化データのデータ長を用いて、動画ファイルの再生に必要な管理情報を生成し、動画ファイルに含めて出力する。
【００８７】
なお、本実施形態では動画ファイルの生成時に、ｍｄａｔの生成に係る生成ルールに関する情報を含むダミーｍｏｏｖが生成された後にｍｄａｔのデータが順次結合されるものとして説明した。しかしながら、本発明は生成ルールに関する情報をダミーｍｏｏｖとして含めた動画ファイル以外にも適用可能である。ｍｄａｔの生成に係る生成ルールに関する情報は動画生成装置に予め定められた情報であるため、動画ファイルを生成した装置内で上述した修復処理が行われる場合は、生成ルールに関する情報は動画ファイルに含められている必要はない。また、例えば修復処理を行う動画閲覧アプリケーションでは、動画ファイルを生成した機器の情報に基づいて、予め用意された生成ルールのパターンから適用された生成ルールを特定し、用いる構成であってもよい。また、本実施例では、生成ルールに関する情報をダミーｍｏｏｖに格納するものとしたが、このようにしなくても良い。すなわち例えば可変長符号化データの先頭のオフセット位置（ｍｄａｔの先頭位置）が、ファイルの先頭から所定のバイト数後になるように動画ファイルを生成するものであれば、ダミーｍｏｏｖにこの情報を格納しなくて修復が可能である。
【００８８】
［その他の実施形態］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
2013258655.tif 000003
【図２】
2013258655.tif 000004
【図３】
2013258655.tif 000005
【図４】
2013258655.tif 000006
【図５】
2013258655.tif 000007
【図６】
2013258655.tif 000008
【図７Ａ】
2013258655.tif 000009
【図７Ｂ】
2013258655.tif 000010
【図７Ｃ】
2013258655.tif 000011
【図７Ｄ】
2013258655.tif 000012
【図７Ｅ】
2013258655.tif 000013
【図７Ｆ】
2013258655.tif 000014
【図７Ｇ】
2013258655.tif 000015
【図７Ｈ】
2013258655.tif 000016
【図７Ｉ】
2013258655.tif 000017
【図７Ｊ】
2013258655.tif 000018
【図８】
2013258655.tif 000019