(57)【要約】【課題】複数のメディアデータ（画像データ、音声データ、テキストデータ等）からなる画像情報を再生する場合に、効率的にメモリ管理してファイル読み込み等に起因するオーバーヘッドを押さえ、且つ少ないメモリ容量で再生が可能となるようにする。【解決手段】システム制御マイコン１４は、所定の再生に必要なサンプル管理情報取得要求を出す。メモリコントローラ１５を介して、管理情報用メモリ部１６にトラック管理情報が格納されているかを確認する。システム制御マイコン１４は、メモリコントローラ１５を介して再生に必要なトラック管理情報を管理情報用メモリ部１６に格納することにより取得し、取得したトラック管理情報に従ってメディアデータをビデオ復号部２０やオーディオ復号部で復号する。【選択図】図１
2008283232.tif 000002
【特許請求の範囲】
【請求項１】
単一種類のメディアデータのデータストリームであるトラックから構成されるフラグメント単位の実データ群と、一つのトラックを管理するトラック管理情報から構成されるフラグメント単位の管理情報群とを備えたファイルを再生するファイル再生装置において、
前記トラック管理情報を格納する管理情報記憶手段と、
実データを再生する再生手段と、
再生に必要な管理情報は、前記トラック管理情報を前記管理情報記憶手段に格納することにより取得し、取得した管理情報に従って前記実データを前記再生手段により再生させる制御手段とを備えることを特徴とするファイル再生装置。
【請求項２】
前記管理情報記憶手段は、トラックごとに必要な管理情報を含む一つのトラック管理情報だけを記憶することを特徴とする請求項１に記載のファイル再生装置。
【請求項３】
キーサンプル管理情報を保持しておくキーサンプル管理情報記憶手段を備え、
前記制御手段は、指定時刻の再生のために、指定時刻の直前のキーサンプルの管理情報が必要な場合に備えて、トラック管理情報における再生時間最後のキーサンプル管理情報を前記情報保持手段に格納し保持しておくことを特徴とする請求項１又は２に記載のファイル再生装置。
【請求項４】
前記ファイルは、ＭＰ４ファイルフォーマット形式のファイルであることを特徴とする請求項１乃至３のいずれかに記載のファイル再生装置。
【請求項５】
単一種類のメディアデータのデータストリームであるトラックから構成されるフラグメント単位の実データ群と、一つのトラックを管理するトラック管理情報から構成されるフラグメント単位の管理情報群とを備えたファイルを再生するファイル再生方法において、
再生に必要な管理情報は、前記トラック管理情報を管理情報記憶手段に格納することにより取得し、取得した管理情報に従って前記実データを再生させることを特徴とするファイル再生方法。
【請求項６】
コンピュータに、単一種類のメディアデータのデータストリームであるトラックから構成されるフラグメント単位の実データ群と、一つのトラックを管理するトラック管理情報から構成されるフラグメント単位の管理情報群とを備えたファイルを再生させるためのプログラムにおいて、
再生に必要な管理情報は、前記トラック管理情報を管理情報記憶手段に格納することにより取得し、取得した管理情報に従って前記実データを再生させることを特徴とするプログラム。
【請求項７】
コンピュータに、単一種類のメディアデータのデータストリームであるトラックから構成されるフラグメント単位の実データ群と、一つのトラックを管理するトラック管理情報から構成されるフラグメント単位の管理情報群とを備えたファイルを再生させるためのプログラムを記録した記録媒体において、
再生に必要な管理情報は、前記トラック管理情報を管理情報記憶手段に格納することにより取得し、取得した管理情報に従って前記実データを再生させることを特徴とするプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＭＰ４ファイルフォーマット等により動画像等を再生するファイル再生装置に関し、特に、複数のメディアデータ（画像データ、音声データ、テキストデータ等）を再生する場合に、効率的にメモリ管理して少ないメモリ容量で再生が可能となるファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体に関する。
【背景技術】
【０００２】
近年、テレビ放送番組等の動画像をテレビジョン装置のみならず、携帯電話や携帯端末等でも表示するようになっている。動画像データには、再生表示するための規格が定められている。その一つに、ＩＳＯ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ｓｔａｎｄａｒｄｉｚａｔｉｏｎ）／ＩＥＣ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｅｌｅｃｔｒｏｔｅｃｈｎｉｃａｌ  Ｃｏｍｍｉｓｓｉｏｎ）が規定するＩＳＯ  Ｂａｓｅ  Ｍｅｄｉａ  Ｆｉｌｅ  Ｆｏｒｍａｔ（ＩＳＯ／ＩＥＣ  １４４９６  ｐａｒｔ１２）のＭＰ４拡張であるＭＰ４ファイルフォーマット（ＩＳＯ／ＩＥＣ  １４４９６  ｐａｒｔ１４）がある。ＩＳＯ  Ｂａｓｅ  Ｍｅｄｉａ  Ｆｉｌｅ  Ｆｏｒｍａｔ並びにその拡張のＭＰ４ファイルフォーマットは、Ａｐｐｌｅ社のＱｕｉｃｋ  Ｔｉｍｅフォーマットを基にした圧縮動画データを格納するファイルフォーマットであり、様々な形式の動画像（例えば、ＭＰＥＧ−４、ＭＰＥＧ−４  ＡＶＣ／Ｈ．２６４）や、それに多重して様々な形式の音声（例えば、ＡＡＣ、ＨＥ−ＡＡＣ、ＡＭＲ、ＰＣＭ）、静止画（例えば、ＰＮＧ、ＪＰＥＧ、ＧＩＦ、Ｂｉｔｍａｐ）、テロップテキストなどを多重して格納することが可能である。以下、説明の為、ＭＰ４ファイルフォーマット形式で作成されたファイルをＭＰ４ファイルと呼ぶ。また、以下ではＭＰ４ファイルフォーマットを引き合いに出して説明を行うが、ＩＳＯ  Ｂａｓｅ  Ｍｅｄｉａ  Ｆｉｌｅ  Ｆｏｒｍａｔ、３ＧＰＰ（Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ）ファイルフォーマット、３ＧＰＰ２（Ｔｈｉｒｄ  Ｇｅｎｅｒａｔｉｏｎ  Ｐａｒｔｎｅｒｓｈｉｐ  Ｐｒｏｊｅｃｔ  ２）ファイルフォーマットなどに代表される派生フォーマットや、類似フォーマットについても本特許で述べる技術が当てはまることは言うまでもない。
【０００３】
ＭＰ４ファイルフォーマットの特徴として、オブジェクト指向のデータ構造をもち、各オブジェクトはボックス（ｂｏｘ）と呼ばれる。また、ボックスは自身内にさらに子要素としてボックスを持つといった入れ子構造にもなる。
【０００４】
図８に示すように、一番シンプルなＭＰ４ファイル１００では、圧縮された動画像や音声のデータが格納されているムービーデータボックス（ｍｄａｔ１０２）と、それらデータのサイズや再生時間、ランダムアクセスする為のファイルオフセット位置情報等のメタデータを管理するムービーボックス（ｍｏｏｖ１０１）から成る。
なお、簡単の為、説明に必要なボックス以外は省いて図示しているが、ファイル１００にはｆｔｙｐ等のボックスが存在することは言うまでもない。
また、図８では、ｍｏｏｖ１０１とｍｄａｔ１０２が同一のファイル中に存在する様を示したが、ＭＰ４ファイルフォーマットではこれら２つのボックスが別々のファイルに存在することも許されている。
【０００５】
ｍｏｏｖ１０１は、ヘッダーに配された全体的な宣言部のボックス（ｍｖｈｄ１０３）、Ｖｉｄｅｏトラックの管理情報のボックス（ｔｒａｋ１０４）、Ａｕｄｉｏトラックの管理情報のボックス（ｔｒａｋ１０５）から構成される。ｔｒａｋ１０４，１０５には、様々な管理情報がボックス単位で格納されている。
【０００６】
前述した、ｍｏｏｖ１０１とｍｄａｔ１０２のみを用いたＭＰ４ファイル１００では、ｍｏｏｖ１０１とｍｄａｔ１０２の両方が揃ってからでないと、再生を行うことができなかった。これは、例えばネットワーク上に存在するＭＰ４ファイルを再生するには、ファイルダウンロード完了まで待ってから再生しなければならず、ストリーミング等の用途には向かない構造であった。また、基本的にムービーの総再生時間が長くなればなるほど、管理情報ｍｏｏｖ１０１のサイズは大きくなるので、使用できるメモリ量が制限される組み込み機器などでは、長時間ムービーの管理情報を全て実メモリ上に展開できないという問題点があった。
【０００７】
これらの問題を解決するものとして、ムービーフラグメントが用いられることがある。ＩＳＯ／ＩＥＣ  １４４９６  ｐａｒｔ１２には、メディアデータと管理情報をフラグメント化し、ｍｏｏｖで一括記録していた管理情報を複数のｍｏｏｆ（Ｍｏｖｉｅ  Ｆｒａｇｍｅｎｔ  Ｂｏｘ）に分散させる技術が開示されている。しかし、管理情報を分散した為に、管理情報をｍｏｏｖのみに記録する場合に比べて管理情報を参照するための処理が煩雑になる場合があった。後述する特許文献１には、フラグメント化された管理情報であるｍｏｏｆを全てｍｏｏｖに展開し直すことでｍｏｏｖのみのファイルと同等のアクセスを可能とする方法が開示されているが、これは前述した使用メモリ量が制限される機器での問題を解決できるものではなかった。
【０００８】
図９に示すように、フラグメント化されたファイル１１０においては、一塊になっていたデータ部を任意の大きさに分割してｍｄａｔ１１２，１１４，１１６とし、それらに対応する管理情報部についても分割を行ってｍｏｏｖ１１１とｍｏｏｆ１１３，１１５とし、対応する管理情報部とデータ部を交互に配置させることで、ムービー全体を取得完了する前に再生が可能になるようにする。分割する基準としては、管理情報部やデータ部のファイル上でのサイズを基準とする場合や、管理情報部が管理するデータの再生時間等が考えられる。
【０００９】
ＭＰ４ファイルフォーマットでは、ｍｏｏｆ１１３，１１５の中には、この分割された管理情報であるｍｆｈｄ１２１，ｔｒａｆ１２２，１２３が格納されている。ｍｆｈｄ１２１はフラグメント単位での宣言部のボックス、ｔｒａｆ１２２はＶｉｄｅｏトラックの管理情報のボックス、ｔｒａｆ１２３はＡｕｄｉｏトラックの管理情報のボックスである。
【００１０】
ｍｏｏｖ１１１とｍｏｏｆ１１３，１１５とに格納されている管理情報により、対応するデータ部（ｍｄａｔ１１２，１１４，１１６）が管理される。
以後、説明の為に、対になる管理情報部（ｍｏｏｖ、ｍｏｏｆ）とデータ部（ｍｄａｔ）のセットをフラグメントと呼ぶことにする。例えば、図９に示すように、ｍｏｏｆ１１５とｍｄａｔ１１６の組み合わせをフラグメント１１７とする。
【００１１】
ここで、ＭＰ４ファイルフォーマットの略語について、以下に説明する。
・ｆｔｙｐ：Ｆｉｌｅ  Ｔｙｐｅ  Ｂｏｘ
・ｍｏｏｖ：Ｍｏｖｉｅ  Ｂｏｘ
・ｍｄａｔ：Ｍｏｖｉｅ  Ｄａｔａ  Ｂｏｘ
・ｍｖｈｄ：Ｍｏｖｉｅ  Ｈｅａｄｅｒ  Ｂｏｘ
・ｔｒａｋ：Ｔｒａｃｋ  Ｂｏｘ
・ｍｏｏｆ：Ｍｏｖｉｅ  Ｆｒａｇｍｅｎｔ  Ｂｏｘ
・ｍｆｈｄ：Ｍｏｖｉｅ  Ｆｒａｇｍｅｎｔ  Ｈｅａｄｅｒ  Ｂｏｘ
・ｔｒａｆ：Ｔｒａｃｋ  Ｆｒａｇｍｅｎｔ  Ｂｏｘ
【００１２】
ＭＰ４ファイルフォーマットでは、ビデオ（画像）データ、オーディオ（音声）データ、テキスト（文字）データ、静止画データ等の複数種類のメディアデータを多重化する際、これらの各メディアデータをトラックという単位で管理する。従って、トラックは、単一種類のメディアデータからなるデータストリームである。データストリーム各々はサンプルの集合である。ここで、サンプルとは、データを構築する情報の最小単位をいう。そして、管理情報のボックス、例えば、ｍｏｏｖ内ではｔｒａｋ、ｍｏｏｆ内ではｔｒａｆがこのトラックを管理する管理情報（トラック管理情報）のボックスに該当する。一つのフラグメント内では、１メディアデータに対し１トラック管理情報を割り当てるのが基本であるが、１メディアに対し複数トラック管理情報を割り当てて管理することもある。
【００１３】
図１０はｔｒａｆのメディア管理方法を示す説明図であり、（ａ）は一つのｔｒａｆでデータ部を管理する場合であり、（ｂ）は複数のｔｒａｆでデータ部を管理する場合を示す。今、ｍｄａｔ１３２及び１４４で管理されているデータである１３３、１３４、１３５、１４５、１４６、１４７は同じメディア（例えばオーディオ）のデータであるとする。図１０（ａ）では、ｍｏｏｆ１３０の管理情報でｍｄａｔ１３２のメディアデータを管理する。すなわち、ｍｏｏｆ１３０内のｔｒａｆ１３１の管理情報により、０〜８秒のデータ１３３、８〜１０秒のデータ１３４、１０〜１５秒データ１３５の合計１５秒分のデータを管理する。図１０（ｂ）では、ｍｏｏｆ１４０のｔｒａｆ１４１が０〜８秒データ１４５を、ｔｒａｆ１４２が８〜１０秒データ１４６を、ｔｒａｆ１４３が１０〜１５秒データ１４７を管理するというように、同一のメディアのデータ１４５、１４６、１４７を３つのｔｒａｆで管理する。
【００１４】
次に、ｍｏｏｆを使用した、フラグメント化されたファイルへのアクセスの一般的な例を示す。例えば、図１１に示すように、ｍｏｏｆ内に再生時刻順にサンプルＡ〜Ｄが存在し、サンプルＡの再生開始時刻がＮであるとすると、時刻（Ｎ＋４０）のサンプル管理情報が欲しいという要求があった場合、「何番目のｍｏｏｆの何番目の管理情報が時刻（Ｎ＋４０）のサンプル管理情報に当たる」と直ぐに示すことはできない。ｍｏｏｆで管理されている各サンプルの情報自体は絶対時刻を持たないので、時刻（Ｎ＋４０）に該当するサンプルがどのサンプルであるのかは、各サンプル（サンプルＡ〜Ｄ）の連続表示時間（ｄｕｒａｔｉｏｎ）を積算して計算するしかないためである。この問題を解決する為に、「どのｍｏｏｆの何番目の管理情報が時刻Ｘである」というランダムアクセスを補助するような情報を記録したｍｆｒａ  ｂｏｘ（ｍｏｖｉｅ  ｆｒａｇｍｅｎｔ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｂｏｘ）も規格では規定されているが、ｍｆｒａ  ｂｏｘはオプションであり、全てのファイルに存在するわけではない。更にｍｆｒａ  ｂｏｘが存在したとしても、全てのサンプルについての情報を記録しているわけではないので、ほとんどの場合、ｍｆｒａ  ｂｏｘに登録されているランダムアクセス可能な情報を基準として、シーケンシャルなアクセスを行い、目的のサンプルの情報を取得することになる。
【００１５】
図１１では、上から順にサンプルＡ〜Ｄのアクセスを行なって、表示時間を積算していくと、サンプルＡ〜Ｃの表示時刻の積算が３０で、サンプルＡ〜Ｄの表示時刻の積算が６０であるので、時刻（Ｎ＋４０）の該当サンプルはサンプルＤであることが分かる。
【００１６】
従って、目的のサンプルの情報を得る為には、絶対時刻情報が既知である、基準となるサンプルからシーケンシャルアクセスを行なって、目的のサンプル管理情報に到達するまでは全てのサンプルを参照する必要が有る。
【特許文献１】特開２００５−１１７５３４号公報
【発明の開示】
【発明が解決しようとする課題】
【００１７】
実際のＭＰ４ファイル解析ライブラリ（以下、ライブラリと呼ぶ）でのメモリ管理を以下に説明する。
ライブラリにはｍｏｏｖ管理用メモリとｍｏｏｆ管理用メモリを各々１つずつ用意する。ここで、ファイルによってはｍｏｏｆが複数存在するが、この場合は必要となったデータを管理する適切なｍｏｏｆのみをメモリ上に展開するものとし、ライブラリが複数のｍｏｏｆ格納用メモリをもつことは無い。
この手法を用いることで、フラグメントが莫大な数となっても、メモリ使用量を抑えることができる為、メモリ量が制限される組み込み向けなどの用途にも対応が可能である。
【００１８】
前述のとおり、ｍｏｏｆは適切なものを適時展開しながら参照するとしたが、複数のメディアが多重化されたファイルでは、現在メモリ上に展開されているｍｏｏｆの情報を全て次のｍｏｏｆの情報に置き換えてしまうと、多大なオーバーヘッドがかかる場合がある。
【００１９】
図１２を用いて詳しく説明を行う。
なお、簡単の為、説明に必要なボックス以外は省いて図示しているが、ファイル２５０にはｆｔｙｐ等のボックスが存在することは言うまでもない。
ファイル２５０は、ｍｏｏｖ２５１、ｍｏｏｆ２５３，２５５…、ｍｄａｔ２５２，２５４，２５６…、とから構成されている。管理情報からＭＰ４ファイルの解析ライブラリ２６０として、ｍｏｏｖ格納用メモリ２６１とｍｏｏｆ格納用メモリ２６２がある。
【００２０】
ｍｏｏｖ格納用メモリ２６１には、ｍｏｏｖ２５１の管理情報が格納される。ｍｏｏｆ格納用メモリ２６２には、必要に応じてｍｏｏｆ２５３，２５５のいずれか１つの管理情報が格納される。なお、図１２では明示的に図示していないが、各ｍｏｏｆ内部には、図９の１２０に示すように、ｍｆｈｄ１２１や、ＶｉｄｅｏトラックやＡｕｄｉｏトラックの管理情報ｔｒａｆ１２２、１２３などが内包されており、それらはｍｏｏｆ格納用メモリ２６２内に展開される。
例えば、今ｍｏｏｆ２５３内のＶｉｄｅｏトラック管理情報、Ａｕｄｉｏトラック管理情報がメモリ２６２上に展開されていたとする。ここで、ｍｏｏｆ２５３のＶｉｄｅｏトラック管理情報、Ａｕｄｉｏトラック管理情報はどちらも時刻Ｔから時刻Ｔ＋αまでに再生するサンプルの情報を管理しているものとする。この際、Ｖｉｄｅｏデータの管理情報とＡｕｄｉｏデータの管理情報が時刻Ｔに再生するサンプルから数えて各々１０サンプル分ずつ順番に要求されるものとする。
ここで、各ｍｏｏｆ２５３内の各トラック情報には各々８サンプル分の管理情報しか存在しないものとし、管理情報が現在メモリ２６２に展開しているｍｏｏｆ２５３に目的の管理情報が存在しなければ、次のｍｏｏｆ２５５をメモリ２６２上に展開するものとする。
【００２１】
この時、動画再生のために必要なデータトラック１０サンプル分の管理情報を出力する為に、ライブラリ２６０は、以下の手順を踏むことになる。
１．ビデオデータの管理情報が、１０サンプル分要求される。
２．メモリ２６２に展開されているｍｏｏｆ２５３のビデオ用ｔｒａｆから、ビデオデータの管理情報８サンプル分を得る。
３．要求の１０サンプル分には２サンプル分の管理情報が足りないので、次の管理情報ｍｏｏｆ２５５をメモリ２６２に展開する。
４．残り２サンプル分のビデオデータの管理情報を得て、１０サンプル分の管理情報を得ることができる。
５．オーディオデータの管理情報が１０サンプル分要求される。
６．現在メモリ２６２に展開されているのは、ｍｏｏｆ２５５なので、ｍｏｏｆ２５３をメモリ２６２に再度展開する。
７．メモリ２６２に展開されているｍｏｏｆ２５３のオーディオ用ｔｒａｆから、オーディオデータの管理情報８サンプル分を得る。
８．要求の１０サンプル分には２サンプル分の管理情報が足りないので、次の管理情報ｍｏｏｆ２５５をメモリ２６２に展開する。
９．残り２サンプル分のビデオデータの管理情報を得て、１０サンプル分の管理情報を得ることができる。
【００２２】
ここで示したように、次のｍｏｏｆをメモリ２６２に展開する際、ｍｏｏｆ全てを展開してしまうと、まだ参照していない（これから必要になる）管理情報まで上書きしてしまうので、結果多くのメモリ展開動作を必要とすることになる（上記の例では３、６、８でメモリ展開）。
【００２３】
また、映像がＭＰＥＧ（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）方式のようなフレーム間予測符号化方式によって圧縮されていた場合、各サンプルをデコードする際に、サンプル１つでデコードが可能なもの（一般的にキーサンプルと呼ばれる）と、他のサンプルの情報に依存して（他のサンプルの情報を利用して）初めてデコード可能なサンプルが存在する。このため、指定時刻のサンプルがそれ単体でデコードできるとは限らず、このような映像を再生するには、指定時刻に一番近いキーサンプルからデコードを始める必要がある。
【００２４】
この指定時刻に一番近いキーサンプルは、一般的に指定時刻の直前、直後どちらかに存在するキーサンプルであり、どちらのサンプルが一番近いかを知る為には、両方の情報を取得し比較する必要がある。
フラグメント化されたＭＰ４ファイルにおいて、指定時刻の直前、直後のキーサンプルの情報を得る為には、前述したようにシーケンシャルなアクセスを行う必要があり、また、適時管理情報の載せ代えが必要となる。
【００２５】
ところが、指定時刻の直前のキーサンプルが必要な場合であって、尚且つ現在メモリ上に展開している管理情報に直前のキーサンプルの情報がない場合は、前のｍｏｏｆに戻って全てのサンプルについての情報をシーケンシャルアクセスして指定時刻の直前のキーサンプル管理情報を取得する必要があった。
【００２６】
本発明は、斯かる実情に鑑み、複数のメディアデータ（画像データ、音声データ、テキストデータ、静止画データ等）からなる画像情報を再生する場合に、効率的にメモリ管理してファイル読み込み等に起因するオーバーヘッドを押さえ、且つ少ないメモリ容量で再生が可能となるファイル再生装置、ファイル再生方法、ファイル再生を実行させるプログラム及びそのプログラムを記録した記録媒体を提供しようとするものである。
【課題を解決するための手段】
【００２７】
本発明は、単一種類のメディアデータのデータストリームであるトラックから構成されるフラグメント単位の実データ群と、単一種類のトラックを管理するトラック管理情報から構成されるフラグメント単位の管理情報群から構成されるフラグメント単位の管理情報群とを備えたファイルを再生するファイル再生装置において、
前記トラック管理情報を格納する管理情報記憶手段と、実データを再生する再生手段と、再生に必要な管理情報は、前記トラック管理情報で、前記管理情報記憶手段に格納することにより取得し、取得した管理情報に従って前記実データを前記再生手段により再生させる制御手段とを備えることを特徴とする。
ここで、例えば、ＭＰ４ファイルフォーマットでは、実データ群は「ｍｄａｔ」のボックスに該当し、トラック管理情報は「ｔｒａｋ」や「ｔｒａｆ」のボックスに該当し、管理情報群は「ｍｏｏｖ」や「ｍｏｏｆ」のボックスに該当する。また、トラック管理情報は、ある一つのフラグメントにおいて、図１０（ｂ）のように、一つのメディア（トラック）の情報を複数のトラック管理情報に対応させる場合と、図１０（ａ）のように、一つのメディア（トラック）に一つのトラック管理情報を対応させる場合がある。
【００２８】
また、前記管理情報記憶手段は、トラック毎に必要な管理情報を含む一つのトラック管理情報だけを記憶してもよい。
【００２９】
また、前記ファイル再生装置は、キーサンプル管理情報を保持しておくキーサンプル管理情報記憶手段を備え、前記制御手段は、指定時刻の再生のために、指定時刻の直前のキーサンプルの管理情報が必要な場合に備えて、トラック管理情報における再生時間最後のキーサンプル管理情報を前記情報保持手段に保持しておくことを特徴とする。
【００３０】
ここで、前記ファイルは、ＭＰ４ファイルファーマット形式のフォーマットであってもよい。
【００３１】
また、本発明は、オーディオ、ビデオ等の単一種類のメディアのデータストリームであるトラック一つ以上で構成されるフラグメント単位の実データ群と、一つのトラックを管理するトラック管理情報から構成されるフラグメント単位の管理情報群とを備えたファイルを再生するファイル再生方法において、再生に必要な管理情報は、前記トラック管理情報を管理情報記憶手段に格納することにより取得し、取得した管理情報に従って前記実データを再生させることを特徴とする。
【００３２】
また、本発明は、コンピュータに、前記ファイル再生方法を実行させるプログラムであっても良いし、更にこのプログラムを記録した記録媒体であっても良い。
【発明の効果】
【００３３】
本発明によれば、トラック管理情報を管理情報記憶手段に格納することにより再生に必要な管理情報を取得し、取得した管理情報に従って実データを再生手段により再生させるので、管理情報全てをメモリ上に展開する手段に比較して、管理情報記憶手段の記憶容量が少なくて済み、またフラグメント単位の管理情報群を管理情報記憶手段に入れ換えるのに比較して、管理情報記憶手段へのデータ書き込み量も少なくて済むため、処理の負荷を少なくすることができる。
【００３４】
また、図１０（ｂ）を用いて説明したように、一つのトラックが複数のトラック管理情報で管理されている場合に、一つのトラック管理情報のみを管理情報記憶手段に格納するようにすると、さらに管理情報記憶手段の容量が少なくて済むという利点もある。
【００３５】
さらに、指定時刻の再生のために、指定時刻の直前のキーサンプルの管理情報が必要な場合に備えて、トラック管理情報における再生時間最後のキーサンプル管理情報を情報保持手段に保持しておくので、次の再生処理のために管理情報記憶手段から削除されてしまっても、指定時刻の直前のキーサンプルを得るために、再びトラック管理情報を前記管理情報記憶手段に格納する処理が不要で、前記情報保持手段から読み出すだけでよく、処理の負荷を軽減できる。
【発明を実施するための最良の形態】
【００３６】
以下、本発明の実施の形態を添付図面を参照して説明する。
【００３７】
図１は、本発明に係るファイル再生装置の一例である動画記録再生装置を示すブロック図である。この動画像記録再生装置は、記録メディア１１、メディアアクセス部１２、操作部１３、システム制御マイコン１４、管理情報用のメモリコントローラ１５、管理情報用メモリ部１６、データ用のメモリコントローラ１７、データ用メモリ部１８、デマルチプレクサ１９、ビデオ復号部２０、オーディオ復号部２１から構成される。記録メディア１１に記憶されているメディアデータのファイルを再生処理する再生手段の部分は、データ用のメモリコントローラ１７、データ用メモリ部１８、デマルチプレクサ１９、ビデオ復号部２０、オーディオ復号部２１である。
この動画像記録再生装置は、メディアデータとして、ビデオデータとオーディオデータを扱うこととしているが、テキストデータや静止画等の他のメディアデータを扱うことも可能である。
【００３８】
記録メディア１１は、ＭＰ４ファイルフォーマット等により動画像を格納した記録媒体であり、ＤＶＤ、ＨＤ―ＤＶＤ（Ｈｉｇｈ Ｄｅｆｉｎｉｔｉｏｎ ＤＶＤ）、ＢＤ（Ｂｌｕｅ−ｒａｙ  Ｄｉｓｋ）等の書き込み可能なディスクあるいはＳＤカード、メモリスティック等のフラッシュメモリやＨＤ（Ｈａｒｄ Ｄｉｓｋ）等である。
メディアアクセス部１２は、記録メディア１１にデータを書き込んだり、読み出したりする装置である。
この動画像記録再生装置は、記録メディアの動画像ファイルを読み出して再生処理するのであるが、インターネット等のネット配信により動画像データのファイルを取得して再生処理してもよい。
【００３９】
操作部１３は、ユーザの操作（再生、停止、シーク等）を受け付けるもので、リモコンや本体に配置しているスイッチボタンのことである。
システム制御マイコン１４は、この装置全体の動作を制御するマイコンであり、ユーザによる操作に応じ各部の動作を制御する。システム制御マイコン１４は、記録メディア１１に記録した動画像を再生してユーザに提供する。システム制御マイコン１４には、キャッシュメモリ２３が内蔵されており、処理に必要なデータ（情報）を記憶する。キャッシュメモリ２３は、データ格納領域であるキャッシュＡ２３ａ、キャッシュＢ２３ｂ、キャッシュＣ２３ｃ、キャッシュＤ２３ｄからなる。ここでは、システム制御マイコン１４に内蔵するキャッシュメモリであるが、システム制御マイコン１４の外に設けても構わない。
【００４０】
メモリコントローラ１５は、再生時、メディアアクセス部１２によって記録メディア１１から読み出された管理情報を、利用し易い形でメモリ部１６に展開し、保持する。メモリ部１６に展開された管理情報はシステム制御マイコン１４での制御時に参照される。
メモリコントローラ１７は、システム制御マイコン１４の指示に基づき、メディアアクセス部１２により記録メディア１１からデータ部の情報を読み取り、メモリ部１８に展開し、保持する。
【００４１】
デマルチプレクサ１９は、メモリコントローラ１７から出力された複数のメディアが多重化されたデータを各エレメンタリストリームに分割する。但し、ＭＰ４ファイルフォーマットにおいては、サンプルの管理情報が取得できれば、システム制御マイコン１４で目的のサンプルを直接指定することが可能であり、複数のメディアが多重された状態のデータを読み出すことはない。よって、読み出したサンプルがどのメディアのサンプルかで出力先を切り替える、単なるスイッチの役割を行う。
ビデオ復号部２０／オーディオ復号部２１は、デマルチプレクサ１９で送信先を切換えられたビデオ／オーディオの各エレメンタリストリームを再生可能な状態に復号し、各復号データを出力する。
【００４２】
次に、この動画像記録再生装置を用いて、図２に示したようなフラグメント化されたＭＰ４ファイルを再生する場合を説明する。
記録メディア１１に記憶されているＭＰ４ファイルの画像データのファイル３０は、図２のように、ファイルヘッダ情報を格納するファイルタイプボックス（ｆｔｙｐ３１）と、フラグメント単位でサンプル管理情報を格納する管理情報群であるｍｏｏｖ３２とｍｏｏｆ３５，３９，４３、それに対応するフラグメント単位のメディアデータを格納する実データ群であるｍｄａｔ３４，３８，４２，４４とからなる。フラグメント４５はｍｏｏｖ３２とｍｄａｔ３４からなり、フラグメント４６はｍｏｏｆ３５とｍｄａｔ３８からなり、フラグメント４７はｍｏｏｆ３９とｍｄａｔ４２からなり、フラグメント４８はｍｏｏｆ４３とｍｄａｔ４４からなる。
【００４３】
ｍｏｏｖ３２には、ｍｖｅｘ（ｍｏｖｉｅ  ｅｘｔｅｎｄｓ  ｂｏｘ）３３が存在する。ｍｖｅｘ３３は、ＭＰ４ファイルがフラグメント化されたＭＰ４ファイルであることを通知し、その内部には各フラグメントで使用される持続時間、サイズ情報等のサンプル管理情報のデフォルト値やファイル全体の再生時間が格納される。ｍｏｏｆ３５，３９，４３には、それぞれビデオ管理情報を格納するトラック管理情報ボックスであるｔｒａｆ３６，４０…、オーディオ管理情報を格納するトラック管理情報ボックスであるｔｒａｆ３７，４１…が存在する。今回の例では、各ｔｒａｆには、ビデオデータトラックやオーディオデータトラックの８サンプル分の管理情報が格納されているものとする。
【００４４】
なお、メディアデータとしてビデオデータとオーディオデータを扱っているが、テキストデータや静止画などのその他メディアデータを含めても構わないことは言うまでもない。また、説明の簡単の為、必要以外のボックスを省略して図示しているが、ＭＰ４ファイル３０にはｍｖｈｄ、ｍｆｈｄ、ｔｒａｋなどの必須ボックスが存在することは言うまでもない。
【００４５】
＜第１実施形態＞
次に、前記動画像記録再生装置のファイル再生動作について説明する
図３，４は、ファイルフォーマットを再生する場合の第１実施形態を示すフローチャートである。
【００４６】
まず、再生処理を行なう場合に、ビデオトラックとオーディオトラックの管理情報がそれぞれ複数サンプル分ずつ交互に要求されるとする。システム制御マイコン１４は、所定の再生に必要なサンプル管理情報取得要求（例えば、ｍｏｏｆ３５のｔｒａｆ３６）を出す（ステップＳ１）。そして、メモリコントローラ１５を介して、管理情報用メモリ部１６にｍｏｏｆ３５のｔｒａｆ３６のトラック管理情報が格納されているかを確認する（ステップＳ２）。再生に必要な管理情報が管理情報用メモリ部１６に格納されていなければ、ステップＳ３に進み、管理情報用メモリ部１６の格納している情報を更新しなければならない。
今、ビデオトラックのトラック管理情報格納領域５３にはｔｒａｆ３６、オーディオトラックのトラック管理情報格納領域５４にはｔｒａｆ３７が格納されているものとし、ビデオトラックとオーディオトラックの管理情報が１０サンプルずつ交互に要求されるものとする。
【００４７】
まず、ビデオトラックのサンプル管理情報を取得する。
このとき前述したように、管理情報用メモリ部１６内、ｍｏｏｆ格納用メモリ５２のｔｒａｆ格納領域５３に格納されているのは、再生に必要なｔｒａｆ３６の管理情報である。ｔｒａｆ３６に格納されている管理情報は、ビデオデータトラック８サンプル分である。システム制御マイコン１４は、メモリコントローラ１５を介して管理情報用メモリ部１６のｔｒａｆ格納領域５３から管理情報を読み出してキャッシュメモリ２３のキャッシュＡ２３ａに格納する（ステップＳ４）。さらに、システム制御マイコン１４は、必要な管理情報が全て取得できたかを確認し（ステップＳ５）、要求された１０サンプルには２サンプル分のサンプル管理情報が足りないので、ステップＳ１に戻って、ｍｏｏｆ３９のビデオトラック管理情報ｔｒａｆ４０を要求する。管理用メモリ部１６のｍｏｏｆ格納用メモリ５２のｔｒａｆ格納領域５３にはｔｒａｆ４０が有るかを確認し（ステップＳ２）、存在しないことを確認した場合、ステップＳ３で管理情報の更新処理を行なう。
【００４８】
次に図４を用いて、管理情報用メモリにおける管理情報の更新処理について説明する。
ここでは、ｔｒａｆ３６の管理情報からｔｒａｆ４０の管理情報に更新する場合を説明するが、他の管理情報でも同様の処理を行なう。
【００４９】
まず、システム制御マイコン１４は、メディアアクセス部１２により、記憶メディア１１に記憶されている目的のｍｏｏｆ３９の先頭位置にシークする（ステップＳ１１）。
【００５０】
ここで、目的のｍｏｏｆとは更新処理が必要になった時点で参照していたサンプル管理情報の次に参照されるべきサンプル管理情報を管理しているｔｒａｆを含むｍｏｏｆを指す。
今、説明に使用している図２に示すように、１フラグメントにおいて、１つのトラックの情報を１つのトラック管理情報（ｔｒａｆ）で管理するようになっている場合を考える。このとき、サンプル管理情報は表示順に、．．．、ｔｒａｆ３６、ｔｒａｆ４０、．．．に格納されていくとする。
【００５１】
更新処理が必要になった時点で、ｔｒａｆ格納領域５３にｔｒａｆ３６が展開されていた場合は、次に参照すべきサンプル管理情報を管理するｔｒａｆはｔｒａｆ４０であり、目的のｍｏｏｆはｔｒａｆ４０を含むｍｏｏｆ３９となる。
【００５２】
一方、図１０（ｂ）に示すように、１フラグメントにおいて、１つのトラックの情報を複数のトラック管理情報で管理するようになっている場合を考える。このとき、サンプル管理情報は表示順に、．．．ｔｒａｆ１４１、ｔｒａｆ１４２、ｔｒａｆ１４３．．．に格納されていくとする。
【００５３】
更新処理が必要になった時点で、ｔｒａｆ格納領域５３にｔｒａｆ１４１が展開されていた場合は、次に参照すべきサンプル管理情報を管理するｔｒａｆはｔｒａｆ１４２であり、目的のｍｏｏｆはｔｒａｆ１４２を含むｍｏｏｆ１４０である（これはｔｒａｆ１４１を格納する際に目的のｍｏｏｆとしたものと同一であり、更にはｔｒａｆ１４３を格納する際に目的のｍｏｏｆとするものと同一である）。
【００５４】
次に、ｍｏｏｆ３９内に含まれる複数のトラック管理情報をひとつずつ検査する（ステップＳ１２）。そして、目的のトラック管理情報であるｔｒａｆ４０の有無を確認する（ステップＳ１３）。目的のトラック管理情報が無ければ、全ての管理情報を検査したかを確認し（ステップＳ１４）、ｍｏｏｆ３９に含まれる全てのトラック管理情報を検査している場合には、処理は終了する。また、全てを検査していなければ、ステップＳ１２に戻って検査を続行する。
【００５５】
ステップＳ１３にて、ｔｒａｆ４０のトラック管理情報が存在していることが確認されれば、ｔｒａｆ４０のトラック管理情報を読み出す（ステップＳ１５）。そして、メモリコントローラ１５を介して管理情報用メモリ部１６のｔｒａｆ格納領域５３に格納する（ステップＳ１６）。こうして管理情報用メモリ部１６のｍｏｏｆ格納用メモリ５２のｔｒａｆ格納領域５３を新たなトラック管理情報ｔｒａｆ４０で更新する。
【００５６】
システム制御マイコン１４は、管理情報用メモリ部１６に格納された新たな管理情報から再生に必要な残り２サンプル分の管理情報を取得して、キャッシュメモリ２３のキャッシュＡ２３ａに格納する（ステップＳ４）。
【００５７】
次に、ステップＳ５でオーディオデータの１０サンプル分の管理情報をまだ取得していないので、ステップＳ１に戻り、システム制御マイコン１４は、所定の再生に必要なサンプル管理情報取得要求を出す（ステップＳ１）。そして、メモリコントローラ１５を介して、管理情報用メモリ部１６ｍｏｏｆ格納用メモリ５２のｔｒａｆ格納領域５４にｍｏｏｆ３６のオーディオトラック管理情報ｔｒａｆ３７が格納されているかを確認する（ステップＳ２）。再生に必要な管理情報が管理情報用メモリ部１６に格納されていなければ、ステップＳ３に進み、管理情報用メモリ部１６の格納情報を更新しなければならない。
【００５８】
このとき格納されていたのが、再生に必要なｔｒａｆ３７の管理情報であったとする。ｔｒａｆ３７に格納されている管理情報は、８サンプル分の管理情報である。システム制御マイコン１４は、メモリコントローラ１５を介して管理情報用メモリ部１６のｔｒａｆ格納領域５４から管理情報を読み出してキャッシュメモリ２３のキャッシュＢ２３ｂに格納する（ステップＳ４）。さらに、システム制御マイコン１４は、必要な管理情報が全て取得できたかを確認し（ステップＳ５）、２サンプル分のオーディオトラック管理情報が足りないので、ステップＳ１に戻って、ｍｏｏｆ３９のオーディオトラック管理情報であるｔｒａｆ４１を要求する。管理用メモリ部１６のｍｏｏｆ格納用メモリ５２のｔｒａｆ格納領域５４にはｔｒａｆ４１が有るかを確認し（ステップＳ２）、存在しないことを確認し、ステップＳ３で管理情報の更新処理を行なう。
【００５９】
次に図４を用いて、管理情報用メモリにおける管理情報の更新処理について説明する。
ここでは、オーディオｔｒａｆ３７の管理情報からオーディオｔｒａｆ４１の管理情報に更新する場合を説明するが、他の管理情報でも同様の処理を行なう。
【００６０】
まず、システム制御マイコン１４は、メディアアクセス部１２により、記憶メディア１１に記憶されている目的のｍｏｏｆ３９の先頭位置にシークする（ステップＳ１１）。その後、ｍｏｏｆ３９のトラック管理情報をひとつずつ検査し（ステップＳ１２）、そして、目的のトラック管理情報ｔｒａｆ４０の有無を確認する（ステップＳ１３）。目的のトラック管理情報が無ければ、全ての管理情報を検査したかを確認し（ステップＳ１４）、ｍｏｏｆ３９の全ての管理情報を検査している場合には、処理は終了する。また、全てを検査していなければ、ステップＳ１２に戻って検査を続行する。
【００６１】
ステップＳ１３にて、ｔｒａｆ４１のオーディオトラック管理情報が存在していることが確認されれば、トラック管理情報ｔｒａｆ４１を読み出す（ステップＳ１５）。そして、メモリコントローラ１５を介して管理情報用メモリ部１６のｔｒａｆ格納領域５３に格納する（ステップＳ１６）。こうして管理情報用メモリ部１６の管理情報を新たなトラック管理情報で更新する。
【００６２】
システム制御マイコン１４は、管理情報用メモリ部１６に格納された新たな管理情報から再生に必要な残り２サンプル分のトラック管理情報を取得して、キャッシュメモリ２３のキャッシュＢ２３ｂに格納する（ステップＳ４）。
【００６３】
こうして、キャッシュ２３には、トラック１０サンプル分の管理情報が格納され、この情報に基づいて、システム制御マイコン１４は、記録メディア１１からメディアアクセス部１２を介してデータを読み出し、サンプルデータを取得する（ステップＳ６）。この場合は、ｍｄａｔ３８，４２のデータである。次に、システム制御マイコン１４は、取得したサンプルデータを、メモリコントローラ１７を介してデータ用メモリ部１８に展開する（ステップＳ７）。
【００６４】
メモリコントローラ１７は、システム制御マイコン１４の制御信号によって、ｍｄａｔ３８，４２のデータを読み出し、デマルチプレクサ１９により、ビデオデータはビデオ復号部２０へ、オーディオデータはオーディオ復号部２１へ送り出され、各復号部２０，２１により復号される（ステップＳ９）。
【００６５】
第１実施形態では、テキストデータや静止画などは存在しないものとして記載したが、それらのデータがあっても、同様の処理を行なう。
【００６６】
こうして、システム制御マイコン１４は、管理情報用メモリ部１６に各メディアデータのトラック管理情報を格納したｔｒａｆを一つずつ展開することにより、再生に必要な管理情報を得るので、従来のように、フラグメント化されたメディアデータ全体の管理情報が格納されたｍｏｏｆをｍｏｏｖへ展開するよりも、メモリ容量が小さくて済む。また、トラック管理情報で処理することができるため、ｍｏｏｆ単位で処理するよりも、メモリの更新回数が減り、管理情報用メモリ部１６へのデータ出し入れ量も少なくて済むので、再生処理に過大な負荷がかかるのを防ぐことができる。
【００６７】
＜第２実施形態＞
次に、第２実施形態としてキーサンプルの取得処理について説明する。
図５は、キーサンプル処理に関するデータ構成を示す説明図である。なお、簡単の為、説明に必要なボックス以外は省いて図示しているが、ファイル６０にはｆｔｙｐ、ｍｏｏｖ等のボックスが存在することは言うまでもない。図６は、キーサンプル処理に関するフローチャート、図７は、さらに指定時刻直前キー取得処理に関するフローチャートである。
【００６８】
図５に示すＭＰ４ファイルは、ｍｏｏｆ６１，６３と、それに対応するｍｄａｔ６２，６４からなる。フラグメント６５はｍｏｏｆ６１とｍｄａｔ６２の組み合わせであり、フラグメント６６はｍｏｏｆ６３とｍｄａｔ６４の組み合わせである。ｍｏｏｆ６１，６３には図示していないが、ｍｄａｔ６２，６４のトラックの管理情報であるｔｒａｆが存在し、動画像記録再生装置は、前述のように、管理情報用メモリ部１６にｔｒａｆのトラック管理情報を展開して、再生に必要な管理情報を取得する。
【００６９】
また、図５に示すｍｄａｔには、上から下に時間順にサンプルが格納されているとする。例えば、ｍｄａｔ６４に２つのキーサンプル６７，６８が存在し、時刻Ａはキーサンプル６７，６８の間にあり、時刻Ｂはキーサンプル６７以前（図ではキーサンプル６７の上側）にある。
【００７０】
例えば、時刻Ａと時刻Ｂにシークする場合の処理を考えてみる。但し、管理情報用メモリ部１６上には、ｍｏｏｆ６３の管理情報が展開されているものとする。
【００７１】
時刻Ａにシークする場合は、前後にキーサンプル６７，６８が存在する為、前後共にキーサンプル６７，６８に関する情報は現在メモリ部１６上に展開されているｍｏｏｆ６３内の管理情報から取得することが可能である。一方時刻Ｂにシークする場合は、指定時刻直後のキーサンプル６７は存在するものの、直前のキーサンプルは現在のフラグメント６６には存在しない。時刻Ｂ以前のキーサンプル管理情報を取得する為には、ｍｏｏｆ６１を管理情報用メモリ部１６上に展開しなおし、その中の最後のキーサンプルを探すことが必要になる。
【００７２】
ここで、直前のフラグメント６５の最後のキーサンプル管理情報を予めキャッシュしておけば、今回の時刻Ｂでの前後のキーサンプル取得時のように、現在のフラグメント６６に直前のキーサンプルが無い場合でも、直前のフラグメント６５に戻って探しなおす必要は無い。
【００７３】
図１に示す動画像記録再生装置におけるキーサンプルを用いた再生処理を図６及び図７を用いて説明する。
まず、システム制御マイコン１４は、キーサンプル管理情報を取得する要求を出す（ステップＳ２１）。つまり、再生時刻を指定して、その前後のキーサンプルの管理情報を取得する要求を出す。システム制御マイコン１４は、メモリコントローラ１５を介して、管理情報用メモリ部１６に展開されているビデオデータから目的のキーサンプルの情報をサーチする為に、サンプル管理情報をシーケンシャルに参照していく。まず、参照しているサンプル管理情報が、指定時刻直後のキーサンプルのものであるかを確認する（ステップＳ２２）。もし、指定時刻直後のキーサンプルのサンプル管理情報でなければ（ステップＳ２２；Ｎｏ）、それがキーサンプル管理情報であるかを確認する（ステップＳ２３）。現在参照中のサンプル管理情報がキーサンプルのもので有れば（ステップＳ２３；Ｙｅｓ）、指定時刻直前のキーサンプルの情報になる可能性のあるものとして、サンプル管理情報をキャッシュＣ２３ｃに記憶し（ステップＳ２４）、ステップＳ２５に進む。もしキーサンプル管理情報でなければ（ステップＳ２３；Ｎｏ）、ステップＳ２５に進む。
【００７４】
ステップＳ２５において、システム制御マイコン１４は、次のサンプル管理情報が管理情報用メモリ部１６に展開されているかを確認する。次のサンプル管理情報が管理情報用メモリ部１６に展開されていれば（ステップＳ２５；Ｙｅｓ）、次のサンプル管理情報を参照し（ステップＳ２６）、ステップＳ２２に戻る。次のサンプル管理情報が管理情報用メモリ部１６に展開されていなければ（ステップＳ２５；Ｎｏ）、キャッシュＣ２３ｃのキーサンプル管理情報をキャッシュＤ２３ｄに移す（ステップＳ２７）。
【００７５】
そして、次のフラグメントの管理情報をｍｏｏｆのｔｒａｆから読み出して管理情報用メモリ部１６の更新を行ない（ステップＳ２８）、ステップＳ２６に進む。
【００７６】
参照したキーサンプル管理情報が指定時刻直後のキーサンプル管理情報であれば（ステップＳ２２；Ｙｅｓ）、指定時刻直後のキーサンプル管理情報を取得し（ステップＳ２９）、指定時刻直前のキーサンプル管理情報も取得する（ステップＳ３０）
【００７７】
ステップＳ３０のキーサンプル管理情報取得処理については、図７に示すように、まず、システム制御マイコン１４はキャッシュＣ２３ｃが有効か否かを確認し（ステップＳ３１）、有効であれば（ステップＳ３１；Ｙｅｓ）、直前のキーサンプル管理情報としてキャッシュＣ２３ｃの情報を設定し（ステップＳ３２）、ステップＳ３６へ進む。
【００７８】
また、キャッシュＣ２３ｃが有効でなければ（ステップＳ３１；Ｎｏ）、システム制御マイコン１４はキャッシュＤ２３ｄが有効か否かを確認し（ステップＳ３３）、有効であれば（ステップＳ３３；Ｙｅｓ）、直前のキーサンプル管理情報としてキャッシュＤ２３ｄの情報を設定し（ステップＳ３４）、ステップＳ３６へ進む。
【００７９】
ステップＳ３６では、指定時刻直前のキーサンプル管理情報の取得は完了する。キャッシュＤ２３ｄが有効でなければ（ステップＳ３３；Ｎｏ）、指定時刻直前のキーサンプル管理情報は取得できないことになる（ステップＳ３５）。
【００８０】
このように管理情報用メモリ部１６上に展開された管理情報の中で最後のキーサンプル管理情報をキャッシュメモリ２３に記憶する。従って、再生処理を進めて行く中で、次の管理情報を管理情報用メモリ部１６上に展開して、前の管理情報を管理情報用メモリ部１６から削除してしまっても、キャッシュメモリ部１６には削除した管理情報の最後のキーサンプル管理情報が残っている。このため、管理情報用メモリ部１６に展開した管理情報に指定時刻直前のキーサンプル管理情報が無くとも、キャッシュメモリ２３の中に直前のキーサンプルがあるので、再び直前のキーサンプル管理情報が存在するｔｒａｆを管理情報用メモリ部１６に展開する必要がなく、処理の負荷が軽減される。
【００８１】
なお、本発明は、上記実施形態に述べたファイル再生処理をプログラムとしてコンピュータに実行させることもできるし、さらに記録媒体にこのプログラムを記録し、それをコンピュータに読み込ませてファイル再生を実行させることもできる。
【図面の簡単な説明】
【００８２】
【図１】本発明に係るファイル再生装置の一例である動画記録再生装置を示すブロック図である。
【図２】管理情報用メモリ部１６におけるＭＰ４ファイルの格納状態を示す説明図である。
【図３】ファイルフォーマットを再生する場合の第１実施形態を示すフローチャートである。
【図４】ファイルフォーマットを再生する場合の第１実施形態を示すフローチャートである。
【図５】キーサンプル処理に関するデータ構成を示す説明図である。
【図６】キーサンプル処理に関するフローチャートである。
【図７】指定時刻直前のキー取得処理に関するフローチャートである。
【図８】ＭＰ４ファイルの構造を示す説明図である。
【図９】フラグメント化したＭＰ４ファイルの構造を示す説明図である。
【図１０】ｔｒａｆのメディア管理を示す説明図であり、（ａ）は一つのｔｒａｆでデータ部を管理する場合であり、（ｂ）は複数のｔｒａｆでデータ部を管理する場合である。
【図１１】再生指定時刻のサンプルを探索する説明図である。
【図１２】ＭＰ４ファイルを解析ライブラリに格納する状態を示す説明図である。
【符号の説明】
【００８３】
１１  記録メディア
１２  メディアアクセス部
１３  操作部
１４  システム制御マイコン
１５  メモリコントローラ
１６  管理情報用メモリ部
１７  メモリコントローラ
１８  データ用メモリ
１９  デマルチプレクサ
２０  ビデオ復号部
２１  オーディオ復号部
２３  キャッシュメモリ
３０  ファイル
３２  ｍｏｏｖ
３４，３８，４２，４４  ｍｄａｔ
３５，３９，４３  ｍｏｏｆ
４５，４６，４７，４８  フラグメント
５１  ｍｏｏｖ格納用メモリ
５２  ｍｏｏｆ格納用メモリ
【図１】
2008283232.tif 000003
【図２】
2008283232.tif 000004
【図３】
2008283232.tif 000005
【図４】
2008283232.tif 000006
【図５】
2008283232.tif 000007
【図６】
2008283232.tif 000008
【図７】
2008283232.tif 000009
【図８】
2008283232.tif 000010
【図９】
2008283232.tif 000011
【図１０】
2008283232.tif 000012
【図１１】
2008283232.tif 000013
【図１２】
2008283232.tif 000014