(57)【特許請求の範囲】
【請求項１】
圧縮されたメディアデータを格納する第１のボックスと、前記メディアデータに関する基本情報を格納する第２のボックスとを有するメディアファイルフォーマットに準拠したメディアファイルを修復するメディアファイル修復方法において、
前記第１のボックスから前記メディアデータのピクチャ間の区切りを表すデータを抽出し、該データを用いて前記ピクチャの枚数およびサイズを示すサイズデータを生成するステップと、
前記第２のボックスに格納される基本情報のうち、前記メディアデータのピクチャの枚数およびサイズデータから導き出せる前記メディアファイルの再生に必要な情報に生じた破損を、前記生成したメディアデータのピクチャの枚数およびサイズデータを用いて復元するステップと、
前記第１のボックスと前記復元した第２のボックスから前記メディアファイルフォーマットに準拠したメディアファイルを作成するステップとを備えた
ことを特徴とするメディアファイル修復方法。
【請求項２】
圧縮されたメディアデータを格納する第１のボックスと、前記メディアデータに関する基本情報を格納する第２のボックスとを有するメディアファイルフォーマットに準拠したメディアファイルを再生するメディアファイル再生方法において、
前記第１のボックスから前記メディアデータのピクチャ間の区切りを表すデータを抽出し、該データを用いて前記ピクチャの枚数およびサイズを示すサイズデータを生成するステップと、
前記第２のボックスに格納される基本情報のうち、前記メディアデータのピクチャの枚数およびサイズデータから導き出せる前記メディアファイルの再生に必要な情報に生じた破損を、前記生成したメディアデータのピクチャの枚数およびサイズデータを用いて復元するステップと、
前記サイズデータを用いて、前記第１のボックスから前記メディアデータを取得するステップと、
前記取得されたメディアデータを伸張するステップとを備えた
ことを特徴とするメディアファイル再生方法。
【請求項３】
圧縮されたメディアデータを格納する第１のボックスと、前記メディアデータに関する基本情報を格納する第２のボックスとを有するメディアファイルフォーマットに準拠したメディアファイルを修復するメディアファイル修復装置において、
前記第１のボックスから前記メディアデータのピクチャ間の区切りを表すデータを抽出し、該データを用いて前記ピクチャの枚数およびサイズを示すサイズデータを生成する解析部と、
前記第２のボックスに格納される基本情報のうち、前記メディアデータのピクチャの枚数およびサイズデータから導き出せる前記メディアファイルの再生に必要な情報に生じた破損を、前記生成したメディアデータのピクチャの枚数およびサイズデータを用いて復元する復元部と、
前記第１のボックスと前記復元した第２のボックスから前記メディアファイルフォーマットに準拠したメディアファイルを作成するファイル作成部とを備えた
ことを特徴とするメディアファイル修復装置。
【請求項４】
圧縮されたメディアデータを格納する第１のボックスと、前記メディアデータに関する基本情報を格納する第２のボックスとを有するメディアファイルフォーマットに準拠したメディアファイルを再生するメディアファイル再生装置において、
前記第１のボックスから前記メディアデータのピクチャ間の区切りを表すデータを抽出し、該データを用いて前記ピクチャの枚数およびサイズを示すサイズデータを生成する解析部と、
前記第２のボックスに格納される基本情報のうち、前記メディアデータのピクチャの枚数およびサイズデータから導き出せる前記メディアファイルの再生に必要な情報に生じた破損を、前記生成したメディアデータのピクチャの枚数およびサイズデータを用いて復元する復元部と、
前記サイズデータを用いて、前記第１のボックスから前記メディアデータを取得する取得部と、
前記取得部により取得されたメディアデータを伸張する伸張部とを備えた
ことを特徴とするメディアファイル再生装置。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、エラーにより破損したメディアファイルを修復するメディアファイル修復方法、エラーに対する耐性を有したメディアファイルを作成するメディアファイル作成方法、及びメディアファイルを再生するメディアファイル再生方法並びにこれら方法の処理を実行する装置に関するものである。
【背景技術】
【０００２】
映像や音声等のメディアファイルをデジタルデータとして扱う際、ランダムアクセス性の確保や、映像と音声との同期をとるため、メディアファイルフォーマット（以下、単にファイルフォーマットと呼ぶ）を利用して、メディアデータを格納したり多重化する場合が多い。例えば、ＭＰＥＧ−４（Moving Picture Expert Group）形式のフォーマット（以下、ＭＰ４と呼ぶ）は、ファイルフォーマットの代表的なものである。
【０００３】
ＭＰ４形式のファイルフォーマットは、ＩＳＯ（国際標準化機構）にて規格化されており、後述するボックスと呼ばれるデータ構造を有する。ＭＰ４では、ボックスの名称によってボックス内のデータ内容が定められている。例えば、ＭＯＯＶボックスには、画像のサイズや再生時の表示時刻が記録されている。また、ＭＤＡＴボックスには、メディアデータが記録されている。
【０００４】
メディアデータを多重化し、ファイルフォーマットに準拠したメディアファイルを作成するにあたり、停電や作成装置からメディア記憶媒体が取り出される等の事故によって、メディアファイルの作成に失敗した場合、このメディアファイルには、メディアデータが正常なファイルフォーマットの形式で記録されていない可能性がある。この場合、正常にメディアデータを再生できないため、メディアファイル作成を最初からやり直す必要がある。
【０００５】
上記の不具合を解消しようとする従来の技術として、特許文献１に開示される記録装置がある。この装置では、ＭＤＡＴボックスとＭＯＯＶボックスの両方を不揮発性記録媒体に書き込むことにより、メディアファイル作成時に上記の事故が発生しても、再生可能なメディアファイルを作成することができる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００７−２８１７７２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１では、ＭＤＡＴボックスとＭＯＯＶボックスとの両方の記録に成功すれば、メディアファイル作成時に事故が発生しても再生可能なメディアファイルを作成することができる。しかしながら、上記の事故でＭＯＯＶボックスの記録に失敗すると、ＭＤＡＴボックスの記録に成功しても、再生可能なメディアファイルを作成することができないという課題があった。
【０００８】
この発明は、上記のような課題を解決するためになされたもので、作成時にエラーが生じたメディアファイルを再生可能に修復できるメディアファイル修復方法、エラーに対して復元ポイントを有するメディアファイルを作成するメディアファイル作成方法、及びメディアファイルを再生するメディアファイル再生方法並びにこれら方法を実現する装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
この発明に係るメディアファイル修復方法は、圧縮されたメディアデータを格納する第１のボックスと、メディアデータに関する基本情報を格納する第２のボックスとを有するメディアファイルフォーマットに準拠したメディアファイルを修復するメディアファイル修復方法において、第１のボックスからメディアデータのピクチャ間の区切りを表すデータを抽出し、当該データを用いてピクチャの枚数およびサイズを示すサイズデータを生成するステップと、第２のボックスに格納される基本情報のうち、メディアデータのピクチャの枚数およびサイズデータから導き出せるメディアファイルの再生に必要な情報に生じた破損を、生成したメディアデータのピクチャの枚数およびサイズデータを用いて復元するステップと、第１のボックスと復元した第２のボックスからメディアファイルフォーマットに準拠したメディアファイルを作成するステップとを備えるものである。
【発明の効果】
【００１０】
この発明によれば、第１のボックスからメディアデータのピクチャ間の区切りを表すデータを抽出し、当該データを用いてピクチャの枚数およびサイズを示すサイズデータを生成し、第２のボックスに格納される基本情報のうち、メディアデータのピクチャの枚数およびサイズデータから導き出せるメディアファイルの再生に必要な情報に生じた破損を、生成したメディアデータのピクチャの枚数およびサイズデータを用いて復元して、第１のボックスと復元した第２のボックスからメディアファイルフォーマットに準拠したメディアファイルを作成する。このようにすることで、作成時にエラーが生じたメディアファイルを再生可能に修復できるという効果がある。
【図面の簡単な説明】
【００１１】
【図１】ＭＰ４ファイルフォーマットのボックス構造を示す図である。
【図２】ＭＰ４ファイルの構造を示す図である。
【図３】ＭＤＡＴボックス中のメディア構造を示す図である。
【図４】この発明の実施の形態１によるメディアファイル修復装置の構成を示すブロック図である。
【図５】Ｈ．２６４ビデオＥＳバイトストリームを示す図である。
【図６】ＮＡＬユニットのサイズを説明する図である。
【図７】Ｈ．２６４ビデオをＭＤＡＴに格納する構造を示す図である。
【図８】Ｈ．２６４ビデオＥＳがＡＵデリミタによって区切られることを説明する図である。
【図９】この発明の実施の形態２によるメディアファイル再生装置の構成を示すブロック図である。
【図１０】実施の形態１と実施の形態２の構成を組み合わせたメディアファイル修復／再生装置の構成を示すブロック図である。
【図１１】この発明の実施の形態３によるメディアファイル作成装置の構成を示すブロック図である。
【図１２】実施の形態３で作成されるＭＤＡＴボックスの構造を示す図である。
【図１３】実施の形態３によるメディアファイル修復装置の構成を示すブロック図である。
【図１４】この発明の実施の形態４によるメディアファイル再生装置の構成を示すブロック図である。
【図１５】実施の形態３と実施の形態４の構成を組み合わせたメディアファイル修復／再生装置の構成を示すブロック図である。
【図１６】この発明の実施の形態５によるメディアファイル作成装置の構成を示すブロック図である。
【図１７】実施の形態５で作成されるＭＤＡＴボックスの構造を示す図である。
【図１８】実施の形態５によるメディアファイル再生装置の構成を示すブロック図である。
【図１９】この発明の実施の形態６によるメディアファイル作成装置の構成を示すブロック図である。
【図２０】実施の形態６によるＭＤＡＴボックスの構造を示す図である。
【図２１】実施の形態６によるメディアファイル再生装置の構成を示すブロック図である。
【図２２】この発明の実施の形態７によるメディアファイル作成装置の構成を示すブロック図である。
【図２３】メディアデータ構造を示す図である。
【図２４】実施の形態７による暗号化されたＭＤＡＴボックスの構造を示す図である。
【図２５】この発明の実施の形態７によるメディアファイル再生装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１２】
実施の形態１．
先ず、この発明で取り扱うＭＰ４形式のファイルフォーマットについて説明する。
図１は、ＭＰ４形式のフィイルフォーマットのボックス構造を示す図である。図１に示すように、ＭＰ４形式のフィイルフォーマットのボックス構造は、ボックス長（４バイト）、ボックス名称（４バイト）、データ（データサイズで示された長さ−８バイト）からなる。各ボックスは、そのボックス名称によってデータ部分のフォーマット及び内容が決められる。また、ボックスは入れ子になる場合もある。ＭＰ４形式のファイルフォーマットは、図１に示すボックスを複数有するメディア多重化ファイルフォーマットである。
【００１３】
図２は、ＭＰ４形式メディアファイルのデータ構造の一例を示す図である。図２では、ＭＰ４形式の最も単純なファイル構成を示しており、ＦＴＹＰ（ファイルタイプ）ボックス、ＭＯＯＶ（ムービー）ボックス、ＭＤＡＴ（メディアデータ）ボックスからなる。
ただし、ＭＯＯＶボックスは、内部に複数のボックスが入れ子になって形成されたツリー構造を有する。また、ＭＯＯＶボックス及びＭＤＡＴボックスは逆の順序で記録されることもある。
【００１４】
ＭＯＯＶボックスには、メディアファイルの基本的な情報が記録される。例えば、画像の長さ、幅、高さ、音声のサンプリング周波数などである。これ以外にも、ＭＰ４ファイルには、どのようなメディアデータがどの大きさ（サイズ）で多重化されているかが記録されている。
【００１５】
次に、ＭＯＯＶボックス内に入れ子になっているボックスについて説明し、上述の情報がどのように記録されるかを述べる。
ＭＯＯＶボックス内には、ＳＴＳＺ（もしくはＳＴＺ２、以下ＳＴＳＺについて述べるときはＳＴＺ２と置き換えてもよい）というボックスが存在する。このＳＴＳＺボックスには、サンプルのサイズが記録される。ここで、サンプルのサイズとは、メディアデータが映像データであれば、各フレームのサイズが記録される。また、メディアデータが音声データであれば、決められた時間単位のデータのサイズが記録される。従って、このＳＴＳＺボックスの内容から、各メディアデータのファイル中のサイズを知ることができる。
【００１６】
この他、ＭＯＯＶボックス内には、ＳＴＣＯ（もしくはＣＯ６４、以下ＳＴＣＯについて述べるときはＣＯ６４と置き換えてもよい）というボックスが存在する。このＳＴＣＯボックスにはファイル内におけるチャンクの位置が記録される。チャンクとは、一つ以上のサンプルをまとめたものである。メディアデータが映像データであれば、一つ以上の映像フレームを一まとめにしたものであり、メディアデータが音声データであれば、一つ以上の決められた時間単位のデータをまとめたものである。
【００１７】
さらに、ＭＯＯＶボックス内には、ＳＴＳＣというボックスが存在する。このＳＴＳＣボックスには、チャンクにおけるサンプル数が記録される。従って、ＳＴＳＺボックス、ＳＴＣＯボックス及びＳＴＳＣボックスの内容から、各サンプルの位置とサイズを求めることができる。もし、ＳＴＳＺボックス、ＳＴＣＯボックス及びＳＴＳＣボックスから、各サンプルの位置とサイズがわからなければ、ＭＰ４ファイルのメディアデータは再生できない。またＭＯＯＶボックスが存在していても、ＳＴＳＺボックス、ＳＴＣＯボックス及びＳＴＳＣボックスのデータが存在しない、もしくは壊れている場合、ＭＰ４ファイルのメディアデータは再生できない。
【００１８】
なお、ＭＯＯＶボックス中には、ＳＴＳＺボックス、ＳＴＣＯボックス、ＳＴＳＣボックス以外の重要なデータとして、各フレームの表示時間を示すＳＴＴＳボックスや参照元ピクチャの情報を示すＳＴＳＳボックスがある。
【００１９】
ＭＤＡＴボックスは、映像や音声など実際のメディアデータを多重化しているボックスである。図３に映像と音声とを多重化した例を示す。図３に示すように、メディアデータは、前述のチャンク単位に分割され、交互に配置されることが多い。これは、再生時の映像と音声の同期やランダムアクセス性能を向上させるためである。
【００２０】
上述した通り、ＭＰ４ファイルでは、ＭＯＯＶボックスにＭＤＡＴボックス内のメディアデータの情報が記録される。このため、ＭＯＯＶボックスの一部又は全部に異常があった場合、ＭＰ４ファイルのメディアデータを再生できない。
【００２１】
次に、実施の形態１によるＭＰ４ファイル修復方法について述べる。
何らかの事故でＭＰ４ファイルにＭＯＯＶボックスが存在しない場合には、ＭＯＯＶボックスを作成する必要がある。このとき、ＭＯＯＶボックス中のデータを何らかの方法で推測して作成しなければならない。
ＭＯＯＶボックスには、多くのデータがあり、一部のデータが誤っていても再生可能なこともあるが、前述のＳＴＳＺボックス、ＳＴＣＯボックス及びＳＴＳＣボックスのデータが誤っていると、再生は不可能である。これらのデータが推測できれば、ＭＯＯＶボックスデータを推測して復元し、メディアデータが再生可能なＭＰ４ファイルフォーマットを修復できる。
なお、この実施の形態１においては、ＭＰ４ファイルに格納されるメディアデータは、Ｈ．２６４ビデオＥＳ（Elementary Stream）バイトストリームとする。Ｈ．２６４は、ビデオデータを圧縮する方式の一つである。
【００２２】
図４は、この発明の実施の形態１によるメディアファイル修復装置の構成を示すブロック図である。図４において、実施の形態１によるメディアファイル修復装置は、ＭＤＡＴ解析部１０１、ＭＯＯＶ作成部１０２及びＭＰ４ファイル作成部１０３を備える。ＭＤＡＴ解析部１０１は、入力されたＭＤＡＴデータを解析してメディアサイズデータを作成する構成部である。
また、ＭＯＯＶ作成部１０２は、ＳＰＳ（Sequential Parameter Set）データ、ＰＰＳ（Picture Parameter Set）データ及びメディアサイズデータからＭＯＯＶデータを作成する構成部である。ＭＰ４ファイル作成部１０３は、ＭＯＯＶデータとＭＤＡＴデータからＭＰ４ファイルを作成する構成部である。
なお、ＳＰＳデータには、全てのピクチャを復号するために共通に参照される情報として、プロファイル、最大参照可能ピクチャ数、画像サイズ等が含まれる。
ＰＰＳデータには、ピクチャごとにそのピクチャを復号するために参照される情報として、可変長符号化のタイプ、量子化ステップの初期値、参照ピクチャ数等が含まれる。
【００２３】
ＭＤＡＴ解析部１０１、ＭＯＯＶ作成部１０２、及びＭＰ４ファイル作成部１０３は、この発明の趣旨に従うメディアファイル修復用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることによって、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【００２４】
次に動作について説明する。
先ず、ＭＤＡＴ解析部１０１によるＭＤＡＴデータの解析方法とメディアサイズの取得方法について説明する。
Ｈ．２６４ビデオＥＳバイトストリームは、ＮＡＬ（Network Abstraction Layer）ユニットから構成される。Ｈ．２６４ビデオＥＳバイトストリーム中のＮＡＬユニットは、図５に示すスタートコード、ＮＡＬヘッダ、ＲＢＳＰ（Raw Byte Sequence Payload）、ＲＢＳＰトレイリングビットからなる。このうち、スタートコードは、２４ビット以上の決められたデータである。ＮＡＬヘッダは、ｎａｌ＿ｒｅｆ＿ｉｄｃとｎａｌ＿ｕｎｉｔ＿ｔｙｐｅからなり、ＮＡＬユニットのデータ種類などが記録されている。ＲＢＳＰは、実際のＮＡＬユニット中のデータである。ＲＢＳＰトレイリングビットは、バイトアライメント用のデータである。
【００２５】
Ｈ．２６４ビデオＥＳバイトストリームをＭＰ４のＭＤＡＴデータにする場合、図６に示すようにスタートコード部分を取り除き、代わりにＮＡＬヘッダ、ＲＢＳＰ、ＲＢＳＰトレイリングビットの合計サイズ（以下、ＮＡＬユニットサイズと呼ぶ）を先頭部分に記録する。従って、ＭＤＡＴデータは、図７に示すように、ＭＤＡＴのボックス長と、ボックス名称（ＭＤＡＴ）、ＮＡＬユニットサイズ及びＮＡＬユニットデータの繰り返しから構成される。
【００２６】
ＭＤＡＴ解析部１０１では、このＭＤＡＴデータ中のＮＡＬヘッダのデータ及びＮＡＬユニットサイズを利用してピクチャのサイズ及び位置を算出する。具体的には、ＮＡＬヘッダ中のｎａｌ＿ｕｎｉｔ＿ｔｙｐｅを参照し、ＡＵ（Access Unit）デリミタを探す。このＡＵデリミタは、Ｈ．２６４ビデオＥＳバイトストリームにおいて多くの場合に存在するピクチャ間の区切りを表すデータである。
従って、図８に示すように、ＡＵデリミタを探すことにより、各ＮＡＬユニットがどのピクチャのデータに対応するかが分かり、ＮＡＬユニットのサイズも既知であるために、ＭＤＡＴデータ内のピクチャの枚数及び各ピクチャのサイズが分かる。このピクチャの枚数及びサイズを、メディアサイズデータとしてＭＤＡＴ解析部１０１からＭＯＯＶ作成部１０２へ出力する。
【００２７】
ＭＯＯＶ作成部１０２の動作について説明する。
ＳＰＳデータ及びＰＰＳデータとメディアサイズデータが入力データとなる。ここで、ＳＰＳデータとＰＰＳデータを取得する方法としては、ＭＯＯＶボックスの一部が残っていればそれを用いる、あるいは、ＳＰＳデータ及びＰＰＳデータだけは、元のＨ．２６４ビデオＥＳバイトストリームから再度取得する、といった方法が挙げられる。
なお、本発明では、上記データの取得方法の詳細について問わないものとする。また、メディアサイズデータの取得方法は既に述べた通りである。
【００２８】
ＭＰ４のＭＯＯＶボックスにおいて映像の再生に関わる必要最低限のデータとしては、以下が挙げられる。
（１）ＭＶＨＤボックスのｔｉｍｅ＿ｓｃａｌｅとｄｕｒａｔｉｏｎ
（２）ＴＫＨＤボックスのｄｕｒａｔｉｏｎ、ｔｒａｃｋ＿ｗｉｄｔｈとｔｒａｃｋ＿ｈｅｉｇｈｔ
（３）ＭＤＨＤボックスのｔｉｍｅ＿ｓｃａｌｅとｄｕｒａｔｉｏｎ
（４）ＳＴＳＤボックスのｗｉｄｔｈ、ｈｅｉｇｈｔとＳＰＳデータ、ＰＰＳデータ
（５）ＳＴＴＳボックスのｅｎｔｒｙ＿ｃｏｕｎｔとｓａｍｐｌｅ＿ｃｏｕｎｔ、ｓａｍｐｌｅ＿ｄｅｌｔａ
（６）ＳＴＳＣボックスのｅｎｔｒｙ＿ｃｏｕｎｔとｆｉｒｓｔ＿ｃｈｕｎｋ、ｓａｍｐｌｅｓ＿ｐｅｒ＿ｃｈｕｎｋ、ｓａｍｐｌｅ＿ｄｅｓｃｒｉｐｔｉｏｎ＿ｉｎｄｅｘ
（７）ＳＴＳＺボックスのｓａｍｐｌｅ＿ｓｉｚｅとｓａｍｐｌｅ＿ｃｏｕｎｔ、ｅｎｔｒｙ＿ｓｉｚｅ
（８）ＳＴＣＯボックスのｅｎｔｒｙ＿ｃｏｕｎｔとｃｈｕｎｋ＿ｏｆｆｓｅｔ
【００２９】
以下、順番に（１）〜（８）のデータ修復方法を説明する。
上記（１）のｔｉｍｅ＿ｓｃａｌｅとｄｕｒａｔｉｏｎで、コンテンツの総再生時間が決まる。コンテンツの総再生時間は、ｄｕｒａｔｉｏｎ／ｔｉｍｅ＿ｓｃａｌｅ（秒）である。ｔｉｍｅ＿ｓｃａｌｅが大きい程大きなフレームレートにも対応できるが、オーバーフローを起こし易くなる欠点がある。一般には３００００程度でよいと思われる。
ここで、ｄｕｒａｔｉｏｎは、ＭＤＡＴデータ内のピクチャ枚数及び予想されるフレームレートから決定する。つまり、ｄｕｒａｔｉｏｎ＝ｔｉｍｅ＿ｓｃａｌｅ／（フレームレート）×（ピクチャの枚数）である。
例えば、ｔｉｍｅ＿ｓｃａｌｅを３００００とし、ピクチャの枚数を１０００枚とし、予想されるフレームレートを３０ｆｐｓとした場合には、ｄｕｒａｔｉｏｎ＝ｔｉｍｅ＿ｓｃａｌｅ／３０×１０００＝１００００００である。
【００３０】
上記（２）のＴＫＨＤボックス内のｄｕｒａｔｉｏｎは、上記（１）のｄｕｒａｔｉｏｎと同じ値を用いる。ｔｒａｃｋ＿ｗｉｄｔｈ及びｔｒａｃｋ＿ｈｅｉｇｈｔのデータについては、それぞれＳＰＳデータ中のｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｍｂｓ＿ｍｉｎｕｓ１及びｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｍｂｓ＿ｍｉｎｕｓ１の値から、下記式を用いて算出する。なお、実際のＭＰ４ファイルのｔｒａｃｋ＿ｗｉｄｔｈとｔｒａｃｋ＿ｈｅｉｇｈｔは、整数部及び小数点部がそれぞれ１６ビットの計３２ビットの符号無し固定小数点型で記録される。
ｔｒａｃｋ＿ｗｉｄｔｈ
＝（ｐｉｃ＿ｗｉｄｔｈ＿ｉｎ＿ｍｂｓ＿ｍｉｎｕｓ１＋１）×１６
ｔｒａｃｋ＿ｈｅｉｇｈｔ
＝（ｐｉｃ＿ｈｅｉｇｈｔ＿ｉｎ＿ｍｂｓ＿ｍｉｎｕｓ１＋１）×１６
【００３１】
上記（３）のＭＤＨＤボックス内のｔｉｍｅ＿ｓｃａｌｅ及びｄｕｒａｔｉｏｎの値はいずれも上記（１）と同様の処理で求める。
上記（４）のＳＴＳＤボックス内のｗｉｄｔｈ及びｈｅｉｇｈｔの値については、上記（２）のｔｒａｃｋ＿ｗｉｄｔｈ及びｔｒａｃｋ＿ｈｅｉｇｈｔと同じ値を用いる。
ただし、ｗｉｄｔｈ及びｈｅｉｇｈｔは、１６ビットの符号無し整数型である。ＳＰＳデータ、ＰＰＳデータは、取得したデータをそのまま利用すればよい。
【００３２】
上記（５）のＳＴＴＳボックスにおいてｅｎｔｒｙ＿ｃｏｕｎｔ＝１とする。ｓａｍｐｌｅ＿ｃｏｕｎｔには、ピクチャの枚数をそのまま利用する。ｓａｍｐｌｅ＿ｄｅｌｔａは、上記（１）のｔｉｍｅ＿ｓｃａｌｅ及びフレームレートから算出する。具体的には、ｓａｍｐｌｅ＿ｄｅｌｔａ＝ｔｉｍｅ＿ｓｃａｌｅ／（フレームレート）とすればよい。
【００３３】
上記（６）のＳＴＳＣボックスは、チャンクの構造を示すボックスである。この実施の形態１では、最も単純な例としてチャンクに含まれるピクチャの枚数を固定とした場合を例に挙げる。この場合、ｅｎｔｒｙ＿ｃｏｕｎｔ＝１となる。
次に、ｆｉｒｓｔ＿ｃｈｕｎｋはチャンクの数と同じとなる。ｓａｍｐｌｅｓ＿ｐｅｒ＿ｃｈｕｎｋは、チャンクに含まれるピクチャの枚数となる。ｓａｍｐｌｅ＿ｄｅｓｃｒｉｐｔｉｏｎ＿ｉｎｄｅｘは、「１」である。
【００３４】
ピクチャの枚数を１０００枚、チャンクに含まれるピクチャの枚数を１０枚とした例では、ｅｎｔｒｙ＿ｃｏｕｎｔ＝１、ｆｉｒｓｔ＿ｃｈｕｎｋ＝１０００／１０＝１００、ｓａｍｐｌｅ＿ｐｅｒ＿ｃｈｕｎｋ＝１０、ｓａｍｐｌｅ＿ｄｅｓｃｒｉｐｔｉｏｎ＿ｉｎｄｅｘ＝１となる。
チャンクに含まれるピクチャの枚数は、ＩＤＲ（Instantaneous Decoding Refresh）ピクチャ間隔で同一にするとよい。また、この実施の形態１では、説明の簡単のために最も単純な例を示したが、チャンクごとにピクチャの枚数を変えてもよい。
【００３５】
上記（７）のＳＴＳＺボックスのｓａｍｐｌｅ＿ｓｉｚｅは０である。ｓａｍｐｌｅ＿ｃｏｕｔｎは、ピクチャの枚数と同じである。ｅｎｔｒｙ＿ｓｉｚｅは、メディアサイズデータから取得される各ピクチャのサイズのデータとなる。
【００３６】
上記（８）のＳＴＣＯボックスのｅｎｔｒｙ＿ｃｏｕｎｔは、チャンクの個数となる。ｃｈｕｎｋ＿ｏｆｆｓｅｔには、各チャンクのファイル中の先頭位置を示す値が設定される。これは、メディアサイズデータから算出する。ここで、ピクチャの枚数をＮｕｍpic枚として、その値域を１≦ｋ≦Ｎｕｍpicとする。また、チャンクの数をＮｕｍchunkとして、値域を１≦ｊ≦Ｎｕｍchunkとする。さらに、１つのチャンクにＮｕｍPPC枚のピクチャが含まれている場合、ｊ番目のチャンクの先頭位置を示すｃｈｕｎｋ＿ｏｆｆｓｅｔ（ｊ）は、下記式（１）で表される。ここで、ｐｉｃ＿ｓｉｚｅ（ｋ）は、ｋ番目のピクチャのサイズである。また、ｏｆｆｓｅｔdefaultは、ＦＴＹＰボックス又はＭＤＡＴボックスのサイズ、ボックス名称等からなるオフセット分である。
0005409214.tif 000002
【００３７】
ＭＤＡＴボックスがＭＯＯＶボックスより後にくる場合、ＭＯＯＶボックスのサイズも考慮する必要がある。
前述の方法によれば、ＳＰＳデータとＰＰＳデータ、ＭＤＡＴボックスデータから得られたメディアサイズデータによりＭＯＯＶボックスデータを復元できる。このようにして復元されたＭＯＯＶデータは、ＭＰ４ファイル作成部１０３に出力される。
【００３８】
また、ＭＤＡＴデータは、ＭＤＡＴ解析部１０１とＭＰ４ファイル作成部１０３に入力されており、同一内容のデータがＭＤＡＴ解析部１０１とＭＰ４ファイル作成部１０３にそれぞれ入力される。
ＭＰ４ファイル作成部１０３は、当該ＭＤＡＴデータを入力し、ＭＯＯＶ作成部１０２からＭＯＯＶデータを入力すると、これらＭＤＡＴデータ及びＭＯＯＶデータからＭＰ４ファイルを作成する。具体的には、ＦＴＹＰボックスを先頭とし、続いてＭＯＯＶデータとＭＤＡＴデータを加える。
なお、ＦＴＹＰボックスは、準拠している規格を示すデータを記録するボックスであるので、実際に使用する規格に合わせて作成すればよい。
【００３９】
以上のように、この実施の形態１によれば、ＭＤＡＴデータを解析してメディアデータのサイズを示すメディアサイズデータを生成し、ＭＯＯＶに格納される基本情報のうち、メディアデータのサイズから導き出せる情報に生じた破損を、メディアサイズデータを用いて復元して、ＭＤＡＴデータと復元したＭＯＯＶデータとからＭＰ４ファイルを作成する。このようにすることで、ＭＰ４ファイル作成中の何らかの事故によってＭＤＡＴデータのみしか残っていない場合であってもＭＯＯＶデータを修復してメディアデータが再生可能なＭＰ４ファイルを作成できる。
【００４０】
実施の形態２．
上記実施の形態１は、Ｈ．２６４ビデオＥＳを格納するＭＰ４ファイル作成において、事故が発生してＭＯＯＶデータが破損もしくは失われたＭＰ４ファイルの修復方法について開示した。この実施の形態２では、ＭＯＯＶデータが破損もしくは失われたＭＰ４ファイルのメディアデータを再生する方法及び装置について説明する。
【００４１】
図９は、この発明の実施の形態２によるメディアファイル再生装置の構成を示すブロック図である。図９において、実施の形態２によるメディアファイル再生装置は、ＭＤＡＴ解析部１０１、メディアデータ取得部１０４、及びメディア伸張部１０５を備える。ＭＤＡＴ解析部１０１は、入力したＭＤＡＴデータを解析してメディアサイズデータを作成する構成部である。また、メディアデータ取得部１０４は、メディアサイズデータとＭＤＡＴデータからメディアデータを取得する構成部である。メディア伸張部１０５は、メディアデータを伸張して伸張済みメディアデータを作成する構成部である。
【００４２】
ＭＤＡＴ解析部１０１、メディアデータ取得部１０４、及びメディア伸張部１０５は、この発明の趣旨に従うメディアファイル再生用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【００４３】
次に動作について説明する。
ここで、ＭＤＡＴ解析部１０１による動作は、上記実施の形態１と同一であるので説明を省略する。ＭＤＡＴデータは、ＭＤＡＴ解析部１０１とメディアデータ取得部１０４に入力されており、同一内容のデータがＭＤＡＴ解析部１０１とメディアデータ取得部１０４にそれぞれ入力される。
【００４４】
メディアデータ取得部１０４は、当該ＭＤＡＴデータを入力し、ＭＤＡＴ解析部１０１からメディアサイズデータを入力すると、このメディアサイズデータを利用してＭＤＡＴデータ中からＮＡＬユニット（ＮＡＬヘッダ、ＲＢＳＰ．ＲＢＳＰトレイリングビット）を抜き出し、メディア伸張部１０５に順次出力する。なお、ＮＡＬユニットの先頭部分にスタートコードを付加した上で出力してもよい。
【００４５】
メディア伸張部１０５は、メディアデータ取得部１０４からメディアデータとして出力されたＮＡＬユニットと、入力したＳＰＳデータ及びＰＰＳデータから、メディアデータの伸張を行い、伸張済みメディアデータとして上位のシステムに出力する。なお、ＳＰＳデータ及びＰＰＳデータの取得方法は、上記実施の形態１と同様である。
【００４６】
以上のように、この実施の形態２によれば、ＭＤＡＴデータを解析してメディアデータのサイズを示すメディアサイズデータを生成し、メディアサイズデータを用いて、ＭＤＡＴデータからメディアデータを取得して伸張する。このようにすることで、ＭＰ４ファイル作成中の事故でＭＤＡＴデータのみとなった場合であっても、ＭＰ４ファイルのメディアデータの再生が可能である。
【００４７】
なお、上記実施の形態１と上記実施の形態２の構成を組み合わせた装置とすることで、ＭＰ４ファイルを修復しながら、このＭＰ４ファイルのメディアデータを再生することができる。
図１０は、上記実施の形態１と上記実施の形態２の構成を組み合わせたメディアファイル修復／再生装置の構成を示すブロック図である。図１０に示すメディアファイル修復／再生装置は、図４に示した修復装置と図９に示した再生装置を組み合わせたものである。この装置では、共通のＭＤＡＴデータとＳＰＳデータ及びＰＰＳデータを用いて、ＭＰ４ファイルの修復とそのメディアデータの再生を同時に行うことが可能である。
【００４８】
実施の形態３．
上記実施の形態１は、ＭＰ４ファイル作成中に発生した事故によってＭＯＯＶボックスデータが失われた場合、ＭＤＡＴデータのみからＭＯＯＶデータを復元してＭＰ４ファイルを修復する方法を示した。
実施の形態１では、Ｈ．２６４ビデオデータを前提として、Ｈ．２６４ビデオデータ中のＮＡＬユニットのサイズデータをＭＤＡＴデータ内に記録することにより、Ｈ．２６４ビデオデータからＭＤＡＴデータを作成している。しかしながら、ＭＤＡＴデータへの記録方法はメディアデータごとに異なり、必ずしもサイズのデータをＭＤＡＴデータに記録するわけではない。
【００４９】
そこで、この実施の形態３は、ＭＯＯＶデータを復元してＭＰ４ファイルの修復が可能であり、かつ従来のＭＰ４ファイルと互換性を有するＭＤＡＴデータを、あらゆるメディアデータから作成する方法と、作成したＭＤＡＴデータからＭＯＯＶデータを復元してＭＰ４ファイルを修復する方法及びこれらの方法を実行する装置について述べる。
【００５０】
図１１は、この発明の実施の形態３によるメディアファイル作成装置の構成を示すブロック図であり、メディアデータからＭＤＡＴデータを作成する装置について示している。図１１において、実施の形態３によるメディアファイル作成装置は、サイズ解析部１０６、ユニークコード定義部１０７及びＭＤＡＴ作成部１０８を備える。サイズ解析部１０６は、メディアデータのサイズを解析する構成部である。ユニークコード定義部１０７は、メディアデータからユニークコードを定義する構成部である。ＭＤＡＴ作成部１０８は、メディアデータ、メディアサイズデータ、及びユニークコード情報から、ＭＤＡＴデータを作成する構成部である。
【００５１】
サイズ解析部１０６、ユニークコード定義部１０７及びＭＤＡＴ作成部１０８は、この発明の趣旨に従うメディアファイル作成用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアとが協働した具体的な手段として当該コンピュータ上で実現することができる。
【００５２】
次に動作について説明する。
メディアデータは、サイズ解析部１０６、ユニークコード定義部１０７及びＭＤＡＴ作成部１０８に入力されており、同一内容のデータがサイズ解析部１０６、ユニークコード定義部１０７及びＭＤＡＴ作成部１０８にそれぞれ入力される。
サイズ解析部１０６は、当該メディアデータを入力すると、メディアデータのサイズを解析する。例えば、メディアデータが画像であれば、ピクチャごとのサイズを調べ、その情報をメディアサイズデータとして出力する。
また、リニアＰＣＭ（Pulse Code Modulation）音声のようなデータであれば、適当な位置で区切りを入れ、その区切り位置を示す情報を出力する。なお、位置の区切り方は、単純に時間で区切る方法等が挙げられる。
【００５３】
ユニークコード定義部１０７は、上記メディアデータを入力すると、メディアデータに基づいてユニークコードを定義する動作を行う。
なお、メディアデータの種類によっては、ユニークコードに相当するコードが予め設定されている場合がある。例えば、ＭＰＥＧ−２（Moving Picture Experts Group-2）は、「０００００００００００００００００００００００１」という、２４ビットのデータに続く８ビットのデータを合わせた３２ビットのデータを、スタートコードと呼び、データの区切り目の判別などに利用している。
また、ＭＰＥＧ−２は、画像を符号化する際に「０００００００００００００００００００００００１」という２４ビットのデータになることを避けるように設計されている。
この２４ビットのデータに続く８ビットのデータによってデータの種類が判別される。８ビットでは２５６種類を表すことができるが、８ビットのデータの全てが判別に利用されているわけでなく、データの種類の判別に使われていない値もある。
【００５４】
ユニークコード定義部１０７は、データ種類の判別に使われていない８ビットのデータを上記２４ビットのデータと合わせた３２ビットのデータを、ユニークコードとして定義する。このように、ユニークコード定義部１０７では、メディアデータに対応する特殊なコードが予め設定されている場合には、これを利用してユニークコードを定義する。このユニークコードとそのサイズを示すユニークコード情報は、ユニークコード定義部１０７からＭＤＡＴ作成部１０８へ出力される。
【００５５】
一方、リニアＰＣＭ音声データのように、予め規格に定められたユニークコードが存在しないメディアデータもある。この場合には、ユニークコード定義部１０７が、メディアデータ全体を参照して他に存在しない特有な値のビット列を探索し、この探索の結果として得られたビット列をユニークコードと定義し、このユニークコードとそのサイズを示すユニークコード情報をＭＤＡＴ作成部１０８へ出力する。
なお、データ量が大きい場合は、データを分割した上で上記探索を行っても構わない。この場合、ユニークコード、そのサイズ及びメディアデータの分割位置を示す情報が、ユニークコード情報としてＭＤＡＴ作成部１０８へ出力される。
【００５６】
続いて、ＭＤＡＴ作成部１０８による動作を説明する。
ＭＤＡＴ作成部１０８では、上記のメディアデータを入力し、サイズ解析部１０６からメディアサイズデータを入力し、ユニークコード定義部１０７からユニークコード情報を入力すると、これらメディアデータ、メディアサイズデータ、ユニークコード情報から、図１２に示すような形式のＭＤＡＴデータを作成する。
【００５７】
ここで、図１２に示す形式のＭＤＡＴデータの特徴は、ボックス名称の直後にユニークコード情報が記録され、またメディアデータの前にユニークコード及びメディアデータのサイズが記録されている点である。これらの情報は、ＭＯＯＶボックスのＳＴＣＯ作成時に参照しないことにより、従来のＭＰ４ファイルと互換性を保ち、一般的なＭＰ４プレーヤで再生可能となる。
【００５８】
なお、図１２は、ＭＤＡＴデータ形式の一例を示したものであり、同様の情報が他の形式で記録されてもよい。また、図１２の例では、ユニークコードが１種類のみであるが、複数のユニークコードがある場合は、それらをＭＤＡＴデータに記録してもよい。
【００５９】
この他、図１２に示す「他のデータ」として、必要に応じてＭＯＯＶデータを復元する際に有用なデータをＭＤＡＴデータに記録しても構わない。例えば、メディアデータが映像であれば、圧縮形式、映像の幅や高さとフレームレートがＭＯＯＶデータを復元する際に有用なデータである。また、リニアＰＣＭ音声データの場合には、チャンネル数やサンプリングレート、サンプルあたりの量子化ビット数などがＭＯＯＶデータを復元する際に有用なデータとなる。さらに、圧縮音源であれば、圧縮形式を示すデータを追加するとよい。
【００６０】
次に、上述のようにして作成したＭＤＡＴデータからＭＯＯＶデータを復元してＭＰ４ファイルを修復する方法について述べる。
図１３は、実施の形態３によるメディアファイル修復装置の構成を示すブロック図である。図１３において、実施の形態３によるメディアファイル修復装置は、ＭＤＡＴ解析部１０９、ＭＯＯＶ作成部１１０及びＭＰ４ファイル作成部１０３を備える。ＭＤＡＴ解析部１０９は、入力したＭＤＡＴデータを解析してメディアサイズデータとメディア基本情報とを出力する構成部である。ＭＯＯＶ作成部１１０は、メディアサイズデータ及びメディア基本情報からＭＯＯＶデータを作成する構成部である。ＭＰ４ファイル作成部１０３は、ＭＯＯＶデータとＭＤＡＴデータからＭＰ４ファイルを作成する構成部である。
【００６１】
ＭＤＡＴ解析部１０９、ＭＯＯＶ作成部１１０、及びＭＰ４ファイル作成部１０３は、この発明の趣旨に従うメディアファイル修復用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることによって、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【００６２】
次に動作について説明する。
図１１に示すメディアファイル作成装置で作成されたＭＤＡＴデータは、ＭＤＡＴ解析部１０９及びＭＰ４ファイル作成部１０３へ入力されており、同一内容のデータがＭＤＡＴ解析部１０９とＭＰ４ファイル作成部１０３にそれぞれ入力される。
ＭＤＡＴ解析部１０９は、上記ＭＤＡＴデータを入力すると、このＭＤＡＴデータからメディアデータのサイズ情報を取得する。このＭＤＡＴデータは、上述の図１２で示したデータであるので、ＭＤＡＴ解析部１０９は、先ず、ＭＤＡＴボックス名称の直後にあるユニークコードを特定する。
続いて、ＭＤＡＴ解析部１０９は、以降のデータにおけるユニークコードを探索して、さらにユニークコードの直後にあるメディアデータのサイズ情報を取得し、サイズ情報の直後にあるメディアデータの位置情報を取得する。
このように、図１２に示されたＭＤＡＴ形式を利用することで、簡単にメディアデータのサイズと位置情報を得ることができる。メディアデータのサイズと位置を示すメディアサイズデータは、ＭＤＡＴ解析部１０９からＭＯＯＶ作成部１１０へ出力される。
また、ＭＤＡＴ解析部１０９は、図１２に示す「他のデータ」をメディア基本情報としてＭＯＯＶ作成部１１０へ出力する。
【００６３】
ＭＯＯＶ作成部１１０は、ＭＤＡＴ解析部１０９からメディアサイズデータを入力すると、このメディアサイズデータからＭＯＯＶデータを作成する。大まかな動作は、上記実施の形態１で示した方法と同様であるが、実施の形態３では、リニアＰＣＭのような音声データも対象としているため、ＭＯＯＶデータの復元に不要なデータ、逆に必要となるデータがある。
【００６４】
ＭＰ４ファイルのＭＯＯＶボックスにおいて、メディアデータの再生に関わる必要最低限のデータとしては、以下が挙げられる。
（１ａ）ＭＶＨＤボックスのｔｉｍｅ＿ｓｃａｌｅとｄｕｒａｔｉｏｎ
（２ａ）ＴＫＨＤボックスのｄｕｒａｔｉｏｎ、メディアデータが映像の場合には、ｔｒａｃｋ＿ｗｉｄｔｈとｔｒａｃｋ＿ｈｅｉｇｈｔも必要
（３ａ）ＭＤＨＤボックスのｔｉｍｅ＿ｓｃａｌｅとｄｕｒａｔｉｏｎ
（４ａ）ＳＴＳＤボックス
（５ａ）ＳＴＴＳボックスのｅｎｔｒｙ＿ｃｏｕｎｔとｓａｍｐｌｅ＿ｃｏｕｎｔ、ｓａｍｐｌｅ＿ｄｅｌｔａ
（６ａ）ＳＴＳＣボックスのｅｎｔｒｙ＿ｃｏｕｎｔとｆｉｒｓｔ＿ｃｈｕｎｋ、ｓａｍｐｌｅｓ＿ｐｅｒ＿ｃｈｕｎｋ、ｓａｍｐｌｅ＿ｄｅｓｃｒｉｐｔｉｏｎ＿ｉｎｄｅｘ
（７ａ）ＳＴＳＺボックスのｓａｍｐｌｅ＿ｓｉｚｅとｓａｍｐｌｅ＿ｃｏｕｎｔ、ｅｎｔｒｙ＿ｓｉｚｅ
（８ａ）ＳＴＣＯボックスのｅｎｔｒｙ＿ｃｏｕｎｔとｃｈｕｎｋ＿ｏｆｆｓｅｔ
【００６５】
以下、順番に（１ａ）〜（８ａ）のデータ修復方法を説明する。
上記（１ａ）のＭＶＨＤボックスのｔｉｍｅ＿ｓｃａｌｅは、メディアデータが映像の場合、上記実施の形態１と同様の処理で求める。一方、メディアデータが音声の場合は、サンプリングレートを用いる。ここで、ｄｕｒａｔｉｏｎは、映像と同様にｄｕｒａｔｉｏｎ＝（音声のサンプル数）／ｔｉｍｅ＿ｓｃａｌｅの関係から求める。
【００６６】
上記（２ａ）のＴＫＨＤボックスのｄｕｒａｔｉｏｎは、メディアデータが映像及び音声のいずれの場合であっても、上記（１ａ）のＭＶＨＤボックスのｄｕｒａｔｉｏｎと同様である。さらに映像であれば、ｔｒａｃｋ＿ｗｉｄｔｈとｔｒａｃｋ＿ｈｅｉｇｈｔも必要であるが、これは上記実施の形態１と同様にして求める。
【００６７】
上記（３ａ）のＭＤＨＤボックスのｔｉｍｅ＿ｓｃａｌｅとｄｕｒａｔｉｏｎは、メディアデータが映像及び音声のいずれの場合であっても、上記（１ａ）のＭＶＨＤボックスと同様の処理で求める。
【００６８】
上記（４ａ）のＳＴＳＤボックスのデータは、メディアデータが映像であるか音声であるか、さらにメディアフォーマットによっても異なる。メディアデータが映像であれば、メディア基本情報から作成した圧縮形式、映像の幅や高さを示す情報、特にＨ．２６４であれば、ＳＰＳデータ及びＰＰＳデータを用いて、上記実施の形態１と同様にＳＴＳＤボックスデータを求める。また、メディアデータが音声であれば、メディア基本情報からサンプリングレートやチャンネル数、サンプルの量子化ビット数、圧縮音源であれば、圧縮形式を作成し、これらの情報を用いてＳＴＳＤボックスデータを作成する。
【００６９】
上記（５ａ）のＳＴＴＳボックスのｅｎｔｒｙ＿ｃｏｕｎｔとｓａｍｐｌｅ＿ｃｏｕｎｔ、ｓａｍｐｌｅ＿ｄｅｌｔａは、メディアデータが映像の場合は、上記実施の形態１と同様の処理で求める。メディアデータが音声の場合には、ｅｎｔｒｙ＿ｃｏｕｎｔ＝１とし、ｓａｍｐｌｅ＿ｃｏｕｎｔを音声のサンプル数として、ｓａｍｐｌｅ＿ｄｅｌｔａ＝ｔｉｍｅ＿ｓｃａｌｅ×（サンプリング周波数）の関係から求める。
【００７０】
上記（６ａ）のＳＴＳＣボックスのｅｎｔｒｙ＿ｃｏｕｎｔとｆｉｒｓｔ＿ｃｈｕｎｋ、ｓａｍｐｌｅｓ＿ｐｅｒ＿ｃｈｕｎｋ、ｓａｍｐｌｅ＿ｄｅｓｃｒｉｐｔｉｏｎ＿ｉｎｄｅｘについては、メディアデータが映像の場合、上記実施の形態１と同様の処理で求める。メディアデータが音声の場合についても、単純に時間でチャンクを区切るものと仮定して映像の場合と同様な処理で求める。
【００７１】
上記（７ａ）のＳＴＳＺボックスのｓａｍｐｌｅ＿ｓｉｚｅとｓａｍｐｌｅ＿ｃｏｕｎｔ、ｅｎｔｒｙ＿ｓｉｚｅの値は、メディアデータが映像の場合、上記実施の形態１と同様の処理（１）で求める。メディアデータが音声の場合には、リニアＰＣＭのようにサンプルごとのデータ量が一定である場合、ｓａｍｐｌｅ＿ｓｉｚｅの値をサンプルの大きさとする。このとき、ＭＰ４ファイルフォーマットでは、ｓａｍｐｌｅ＿ｃｏｕｎｔ、ｅｎｔｒｙ＿ｓｉｚｅは存在しないことになる。メディアデータが圧縮音声データであると、データサイズが可変となるため映像の場合と同様に処理して値を求めればよい。
【００７２】
上記（８ａ）のＳＴＣＯボックスのｅｎｔｒｙ＿ｃｏｕｎｔ及びｃｈｕｎｋ＿ｏｆｆｓｅｔの値は、メディアデータが映像の場合は、上記実施の形態１と同様の処理で求める。ただし、この実施の形態３では、ユニークコード情報の分のオフセットや、メディアデータの先頭に記録されるユニークコード分を考慮して計算する必要がある。
メディアデータが音声の場合も同様であり、チャンクに含まれるサンプルの個数を決定してｅｎｔｒｙ＿ｃｏｕｎｔの値とし、ｃｈｕｎｋ＿ｏｆｆｓｅｔには、上記実施の形態１と同様の処理によってファイルの先頭からの位置を算出する。これにより、ＭＯＯＶデータボックスが作成可能である。
【００７３】
ＭＰ４ファイル作成部１０３は、ＭＯＯＶ作成部１１０により作成された上記ＭＯＯＶデータを入力し、このＭＯＯＶデータを用いて、上記実施の形態１と同様にしてＦＴＹＰボックスを作成し、ＭＤＡＴデータ及びＭＯＯＶデータをつなげてＭＰ４ファイルを作成する。
【００７４】
以上のように、この実施の形態３によれば、メディアデータを解析して当該メディアデータのサイズを示すメディアサイズデータを生成し、メディアデータを構成するコード情報のうちからユニークコードを定義し、当該メディアデータ中のユニークコードの位置を示すユニークコード情報を生成して、メディアデータ、サイズデータ及びユニークコード情報を用いて、ユニークコードが挿入されたＭＤＡＴデータを作成する。
このＭＤＡＴデータのユニークコードを探索してユニークコードごとに特定されるメディアデータのサイズデータを生成し、ＭＯＯＶデータに格納される基本情報のうち、メディアデータのサイズから導き出せる情報に生じた破損を、メディアサイズデータを用いて復元して、ＭＤＡＴデータと復元したＭＯＯＶデータからＭＰ４ファイルを作成する。
このようにすることで、Ｈ．２６４ビデオＥＳ以外のメディアデータのＭＰ４ファイル作成時に事故が発生して、ＭＯＯＶボックスデータが失われても、ＭＤＡＴデータのみからＭＯＯＶボックスデータを復元し、再生可能なＭＰ４ファイルの作成が可能である。
また、ＭＤＡＴデータ内のユニークコードやメディアデータのサイズ情報は、通常のプレーヤによる再生時には参照されないため、ＭＯＯＶデータが正常に作成されていれば、通常のＭＰ４プレーヤで再生も可能である。
【００７５】
実施の形態４．
上記実施の形態３は、ＭＯＯＶデータが破損した場合であっても、ＭＤＡＴデータからＭＯＯＶデータを復元しＭＰ４ファイルを修復する方法及び装置を示した。
この実施の形態４では、ＭＯＯＶデータが破損したＭＰ４ファイルのメディアデータを再生する方法及び装置について説明する。
【００７６】
図１４は、この発明の実施の形態４によるメディアファイル再生装置の構成を示すブロック図である。図１４において、実施の形態４によるメディアファイル再生装置は、ＭＤＡＴ解析部１０９、メディアデータ取得部１１１及びメディア伸張部１１２を備える。
ＭＤＡＴ解析部１０９は、入力したＭＤＡＴデータを解析してメディアサイズデータを作成する構成部である。メディアデータ取得部１１１は、メディアサイズデータとＭＤＡＴデータからメディアデータを取得する構成部である。メディア伸張部１１２は、メディアデータを伸張して伸張済みメディアデータを作成する構成部である。
【００７７】
ＭＤＡＴ解析部１０９、メディアデータ取得部１１１、及びメディア伸張部１１２は、この発明の趣旨に従うメディアファイル再生用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【００７８】
次に動作について説明する。
ここで、ＭＤＡＴ解析部１０９の動作は、上記実施の形態３と同一であるので説明を省略する。
メディアデータ取得部１１１は、ＭＤＡＴ解析部１０９から入力したメディアサイズデータを用いてＭＤＡＴデータ中からメディアデータを抜き出し、メディア伸張部１１２に順次出力する。また、ここでは、図１２で示した「他のデータ」としてメディアデータの圧縮形式などの情報がＭＤＡＴデータに記録されているものとする。この場合、ＭＤＡＴ解析部１０９は、ＭＤＡＴデータから上記データを抽出すると、これをメディア基本情報としてメディア伸張部１１２へ出力する。
【００７９】
メディア伸張部１１２は、メディアデータ取得部１１１から入力したメディアデータをその形式に合わせて伸張し、伸張済みメディアデータとして上位のシステムに出力する。このとき、メディア伸張部１１２は、ＭＤＡＴ解析部１０９から入力したメディア基本情報を利用して、当該メディアデータの圧縮フォーマットに対応した伸張を実行する。
【００８０】
以上のように、この実施の形態４によれば、上記実施の形態３のメディアファイル作成方法で作成したＭＰ４ファイルを再生するにあたり、ＭＤＡＴデータのユニークコードを探索してユニークコードごとに特定されるメディアデータのメディアサイズデータを生成し、このメディアサイズデータを用いてＭＤＡＴデータからメディアデータを取得して伸張する。このようにすることで、上記実施の形態３で示した方法により作成されたＭＰ４ファイルであれば、何らかの事故によってＭＯＯＶデータが破損し、ＭＤＡＴデータのみしか残っていない場合であっても、ＭＰ４ファイルの再生が可能である。
【００８１】
なお、上記実施の形態３と上記実施の形態４の構成を組み合わせた装置とすることで、ＭＰ４ファイルを修復しながら、このＭＰ４ファイルのメディアデータを再生できる。
図１５は、上記実施の形態３と上記実施の形態４の構成を組み合わせたメディアファイル修復／再生装置の構成を示すブロック図である。図１５に示すメディアファイル修復／再生装置は、図１３に示した修復装置と図１４に示した再生装置を組み合わせたものである。この装置では、共通のＭＤＡＴデータ及びメディア基本情報を用いて、ＭＰ４ファイルの修復とそのメディアデータの再生を同時に行うことが可能である。
【００８２】
実施の形態５．
この実施の形態５では、ＭＤＡＴデータへのユニークコードの挿入位置を工夫することで、ＭＤＡＴデータ内にランダムアクセスポイントを作成する。このＭＤＡＴデータを基に作成したＭＰ４ファイルでは、ＭＯＯＶデータが破損した場合であっても破損した部分以外の再生が可能になる。
【００８３】
図１６は、この発明の実施の形態５によるメディアファイル作成装置の構成を示すブロック図であり、メディアデータからＭＤＡＴデータを作成する装置について示している。図１６において、実施の形態５によるメディアファイル作成装置は、サイズ解析部１０６、ユニークコード定義部１０７、ランダムアクセスポイント探索部１１３及びＭＤＡＴ作成部１１４を備える。
【００８４】
サイズ解析部１０６は、メディアデータのサイズを解析する構成部である。ユニークコード定義部１０７は、メディアデータからユニークコードを定義する構成部である。ランダムアクセスポイント探索部１１３は、メディアデータからランダムアクセスポイントを探索する構成部である。ＭＤＡＴ作成部１１４は、メディアデータ、メディアサイズデータ、ランダムアクセスポイント情報、及びユニークコード情報から、ＭＤＡＴデータを作成する構成部である。
【００８５】
なお、サイズ解析部１０６、ユニークコード定義部１０７、ランダムアクセスポイント探索部１１３及びＭＤＡＴ作成部１１４は、この発明の趣旨に従うメディアファイルフォーマット作成用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアとが協働した具体的な手段として当該コンピュータ上で実現することができる。
【００８６】
次に動作について説明する。
なお、以降では、メディアデータとしてＨ．２６４ビデオＥＳを例に説明する。
メディアデータは、サイズ解析部１０６、ユニークコード定義部１０７、ランダムアクセスポイント探索部１１３及びＭＤＡＴ作成部１１４に入力されており、同一内容のデータがサイズ解析部１０６、ユニークコード定義部１０７、ランダムアクセスポイント探索部１１３及びＭＤＡＴ作成部１１４にそれぞれ入力される。
【００８７】
サイズ解析部１０６は、入力した上記メディアデータのサイズを解析し、上記メディアデータのサイズを示すメディアサイズデータをＭＤＡＴ作成部１１４に出力する。動作の詳細は、上記実施の形態３と同様であるので省略する。
【００８８】
ランダムアクセスポイント探索部１１３は、メディアデータにおけるランダムアクセスポイントを探索する。Ｈ．２６４ビデオＥＳには、ＩＤＲピクチャと呼ばれるピクチャが存在し、このＩＤＲピクチャが出現すると、それ以前のピクチャはそれ以降のピクチャを参照しないことになっている。従って、ＩＤＲピクチャは確実なランダムアクセスポイントである。ＩＤＲピクチャはｎａｌ＿ｕｎｉｔ＿ｔｙｐｅで判別可能であり、ＮＡＬヘッダを調べることでわかる。ランダムアクセスポイント探索部１１３は、探索したランダムアクセスポイントの位置を示すランダムアクセスポイント情報をＭＤＡＴ作成部１１４へ出力する。
【００８９】
ユニークコード定義部１０７は、上記メディアデータを入力すると、メディアデータに基づいてユニークコードを定義し、定義したユニークコードを示すユニークコード情報をＭＤＡＴ作成部１１４へ出力する。動作の詳細は、上記実施の形態３と同様であるので省略する。
【００９０】
続いて、ＭＤＡＴ作成部１１４による動作を説明する。
ＭＤＡＴ作成部１１４では、上記のメディアデータを入力し、サイズ解析部１０６からメディアサイズデータを入力し、ランダムアクセスポイント探索部１１３からランダムアクセスポイント情報を入力し、ユニークコード定義部１０７からユニークコード情報を入力すると、これらメディアデータ、メディアサイズデータ、ランダムアクセスポイント情報、ユニークコード情報から、図１７に示すような形式のＭＤＡＴデータを作成する。
【００９１】
ここで、図１７に示す形式のＭＤＡＴデータの特徴は、ボックス名称の直後にユニークコード情報とそのサイズが記録され、またＩＤＲピクチャの直前にユニークコードが存在し、ＩＤＲピクチャ以外のメディアデータの前にはユニークコードがない点である。
なお、ここで追加したユニークコード部分は、ＭＯＯＶデータの作成時に参照しないようにする。
【００９２】
次に、上述のようにして作成したＭＤＡＴデータを含むＭＰ４ファイル（以下、ＭＰ４データと呼ぶ）のメディアデータを再生する方法について述べる。
図１８は、実施の形態５によるメディアファイル再生装置の構成を示すブロック図である。図１８において、実施の形態５によるメディアファイル再生装置は、データ分離部１１５、ＭＯＯＶ解析部１１６、メディア伸張部１１７、及びＭＤＡＴ解析部１１８を備える。
【００９３】
データ分離部１１５は、入力したＭＰ４データをＭＤＡＴデータとＭＯＯＶデータとに分離して出力する構成部である。ＭＯＯＶ解析部１１６は、ＭＯＯＶデータを解析して、メディアデータを規定する情報を抽出しＭＯＯＶ解析結果として出力する構成部である。メディア伸張部１１７は、圧縮されたメディアデータを伸張して伸張済みメディアデータを作成する構成部である。
また、メディア伸張部１１７では、ＭＯＯＶデータに誤りがあった場合、ＭＤＡＴデータのどの位置で伸張に失敗したかを特定し、誤り位置情報としてＭＤＡＴ解析部１１８へ出力する。ＭＤＡＴ解析部１１８は、誤り位置情報とＭＤＡＴデータから誤り位置情報以降の最初のユニークコードを探索し、探索結果のユニークコードの位置を復帰位置情報としてメディア伸張部１１３に出力する構成部である。
【００９４】
データ分離部１１５、ＭＯＯＶ解析部１１６、メディア伸張部１１７及びＭＤＡＴ解析部１１８は、この発明の趣旨に従うメディアファイル再生用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【００９５】
次に動作について説明する。
データ分離部１１５は、入力したＭＰ４データをＭＯＯＶデータとＭＤＡＴデータとに分離する。ＭＰ４データは、上記実施の形態１で図１及び図２を用いて説明したように、ボックスごとにデータサイズが容易にわかる構造をしており、分離も可能である。ＭＰ４データから分離されたＭＯＯＶデータはＭＯＯＶ解析部１１６に入力され、ＭＤＡＴデータは、メディア伸張部１１７及びＭＤＡＴ解析部１１８にそれぞれ入力される。
【００９６】
ＭＯＯＶ解析部１１６は、データ分離部１１５によってＭＰ４データから分離されたＭＯＯＶデータを入力すると、このＭＯＯＶデータ内のメディアデータの圧縮形式（ここでは、Ｈ．２６４ビデオ）や、画像の幅及び高さ、画像に関する情報（ＳＴＳＤボックスに記録）、チャンクの構造情報（ＳＴＳＣボックスに記録）、チャンクの位置情報（ＳＴＣＯボックスに記録）、サンプルのサイズ情報（ＳＴＳＺボックスに記録）、再生時刻情報（ＳＴＴＳボックスに記録）を解析し、ＭＯＯＶ解析結果としてメディア伸張部１１７に出力する。この段階では、ＭＯＯＶの情報が正しいかどうかは不明である。
【００９７】
メディア伸張部１１７は、データ分離部１１５でＭＰ４データから分離されたＭＤＡＴデータを入力すると、このＭＤＡＴデータから圧縮されたメディアデータを抽出し、メディアデータの伸張を行う。
この実施の形態５は、メディアデータとして、Ｈ．２６４ビデオを例としているので、Ｈ．２６４ビデオＥＳの伸張を行い、画像データが得られる。正常にメディアデータが得られた場合、メディア伸張部１１７は、伸張済みメディアデータを上位のシステムへ出力する。ここで、ＭＯＯＶデータに誤りがあれば、Ｈ．２６４ビデオの復号に失敗することになる。このとき、メディア伸張部１１７は、ＭＤＡＴデータ内のどの位置で復号が失敗したかを特定し、誤り位置情報としてＭＤＡＴ解析部１１８に出力する。
【００９８】
ＭＤＡＴ解析部１１８は、データ分離部１１５でＭＰ４データから分離されたＭＤＡＴデータを入力し、メディア伸張部１１７から誤り位置情報を入力すると、誤り位置情報とＭＤＡＴデータから、誤り位置情報で示される位置以降に最初に存在するユニークコードを探索する。ユニークコードは、ＩＤＲピクチャの直前に存在するので、ユニークコード以降のデータは、ユニークコード以前のデータの影響を受けずに再生可能である。
【００９９】
ＭＤＡＴ解析部１１８は、探索した結果のユニークコードの位置を復帰位置情報としてメディア伸張部１１７に出力する。メディア伸張部１１７は、ＭＤＡＴ解析部１１８からの復帰位置情報を受けると、ＭＯＯＶ解析部１１６からのＭＯＯＶ解析結果のうち、この復帰位置情報で示される位置以降に関連するＭＯＯＶ解析結果を選別するとともに、この復帰位置情報で示される位置以降のＭＤＡＴデータの伸張を行い、選別したＭＯＯＶ解析結果及びＭＤＡＴデータ伸張の結果を、伸張済みメディアデータとして上位のシステムへ出力する。
【０１００】
以上のように、この実施の形態５によれば、メディアデータを解析して当該メディアデータのメディアサイズデータを生成し、メディアデータでランダムなアクセスが可能なデータ部分を示すランダムアクセスポイントを探索し、当該メディアデータ中のランダムアクセスポイントの位置を示すランダムアクセスポイント情報を生成し、メディアデータを構成するコード情報のうちからユニークコードを定義し、当該メディアデータ中のユニークコードの位置を示すユニークコード情報を生成し、メディアデータ、サイズデータ、ユニークコード情報及びランダムアクセスポイント情報を用いて、メディアデータ中のランダムアクセスポイントにユニークコードが挿入されたＭＤＡＴデータを作成する。
このＭＰ４ファイルを再生するにあたり、上記ＭＰ４ファイルからＭＤＡＴ及びＭＯＯＶのデータを分離し、ＭＯＯＶデータを解析して基本情報を取得し、この基本情報を用いてＭＤＡＴデータから取得したメディアデータを伸張し、当該メディアデータに誤りがあると、ＭＤＡＴのユニークコードを探索して当該メディアデータ中のランダムアクセスポイントを特定し、ランダムアクセスポイント以降のメディアデータを伸張する。
このようにＭＤＡＴデータのＩＤＲピクチャ（ランダムアクセスポイント）の前にユニークコードを追加することで、ＭＰ４ファイル作成時の事故によって誤ったＭＯＯＶデータが作成された場合であっても、誤り位置の次のＩＤＲピクチャから再生が可能になる。
【０１０１】
なお、上記実施の形態５では、メディアデータとしてＨ．２６４ビデオを例としたが、これ以外のビデオ、オーディオデータに対しても適用可能である。
【０１０２】
実施の形態６．
この実施の形態６では、上記実施の形態３で図１２を用いて説明したユニークコードとＭＤＡＴデータ中の通常は参照されないデータ領域とを利用して、メディアデータの特殊再生を実現する。この特殊再生として、実施の形態６では、メディア中の注目シーンのみを順次再生する場合を例に挙げる。
【０１０３】
図１９は、この発明の実施の形態６によるメディアファイル作成装置の構成を示すブロック図である。図１９において、実施の形態６によるメディアファイル作成装置は、サイズ解析部１０６、ユニークコード定義部１０７、特殊再生データ作成部１１９及びＭＤＡＴ作成部１２０を備える。
【０１０４】
サイズ解析部１０６は、メディアデータのサイズを解析する構成部である。ユニークコード定義部１０７は、メディアデータからユニークコードを定義する構成部である。特殊再生データ作成部１１９は、メディアデータから特殊再生情報を作成する構成部である。ＭＤＡＴ作成部１２０は、メディアデータ、メディアサイズデータ、特殊再生情報、及びユニークコード情報から、ＭＤＡＴデータを作成する構成部である。
【０１０５】
サイズ解析部１０６、ユニークコード定義部１０７、特殊再生データ作成部１１９及びＭＤＡＴ作成部１２０は、この発明の趣旨に従うメディアファイル作成用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアとが協働した具体的な手段として当該コンピュータ上で実現することができる。
【０１０６】
次に動作について説明する。
メディアデータは、サイズ解析部１０６、ユニークコード定義部１０７、特殊再生データ作成部１１９及びＭＤＡＴ作成部１２０に入力されており、同一内容のデータがサイズ解析部１０６、ユニークコード定義部１０７、特殊再生データ作成部１１９及びＭＤＡＴ作成部１２０にそれぞれ入力される。
【０１０７】
サイズ解析部１０６は、入力した上記メディアデータのサイズを解析し、上記メディアデータのサイズを示すメディアサイズデータをＭＤＡＴ作成部１２０に出力する。また、ユニークコード定義部１０７は、上記メディアデータを入力すると、メディアデータに基づいてユニークコードを定義し、定義したユニークコードを示すユニークコード情報をＭＤＡＴ作成部１１４へ出力する。サイズ解析部１０６及びユニークコード定義部１０７の動作の詳細は、上記実施の形態３と同様であるので省略する。
【０１０８】
特殊再生データ作成部１１９は、入力したメディアデータから注目シーンを探索して、特殊再生情報としてＭＤＡＴ作成部１２０に出力する。注目シーンを探す方法は、多くの方法が提案されており、本発明では注目シーンを探す方法は問わない。
【０１０９】
ＭＤＡＴ作成部１２０は、上記のメディアデータを入力し、サイズ解析部１０６からメディアサイズデータを入力し、特殊再生データ作成部１１９から特殊再生情報を入力し、ユニークコード定義部１０７からユニークコード情報を入力すると、これらメディアデータ、メディアサイズデータ、特殊再生情報、ユニークコード情報から、ＭＤＡＴデータを作成する。
【０１１０】
このとき、ＭＤＡＴ作成部１２０によって作成されるＭＤＡＴデータを図２０に示す。図２０に示すＭＤＡＴデータの特徴は、注目シーンの前にユニークコードを挿入し、注目シーンでない場合にはユニークコードを挿入しない。つまり、ＭＤＡＴデータ中の注目シーンの前に存在する通常は参照されないデータ領域にユニークコードを記録することにより、ユニークコードを特殊再生する注目シーン画像の識別に利用する。
【０１１１】
次に、上述のようにして作成したＭＤＡＴデータを含むＭＰ４データのメディアデータを再生する方法について述べる。
図２１は、実施の形態６によるメディアファイル再生装置の構成を示すブロック図である。図２１において、実施の形態６によるメディアファイル再生装置は、データ分離部１１５、ＭＯＯＶ解析部１１６、特殊再生情報取得部１２１及びメディア伸張部１２２を備える。
【０１１２】
データ分離部１１５は、入力したＭＰ４データをＭＤＡＴデータとＭＯＯＶデータとに分離して出力する構成部である。ＭＯＯＶ解析部１１６は、ＭＯＯＶデータを解析して、メディアデータを規定する情報を抽出しＭＯＯＶ解析結果として出力する構成部である。特殊再生情報取得部１２１は、入力したＭＤＡＴデータから特殊再生情報を取得する構成部である。メディア伸張部１２２は、圧縮されたメディアデータを伸張して伸張済みメディアデータを作成する構成部である。また、メディア伸張部１２２は、特殊再生情報取得部１２１から特殊再生情報を受けると、当該特殊再生情報が示す注目シーンの画像データのみを伸張して出力する。
【０１１３】
データ分離部１１５、ＭＯＯＶ解析部１１６、特殊再生情報取得部１２１及びメディア伸張部１２２は、この発明の趣旨に従うメディアファイル再生用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【０１１４】
次に動作について説明する。
データ分離部１１５は、入力したＭＰ４データをＭＯＯＶデータとＭＤＡＴデータとに分離する。ＭＰ４データから分離されたＭＯＯＶデータは、ＭＯＯＶ解析部１１６に入力され、ＭＤＡＴデータは、特殊再生情報取得部１２１及びメディア伸張部１２２にそれぞれ入力される。
【０１１５】
ＭＯＯＶ解析部１１６は、データ分離部１１５によってＭＰ４データから分離されたＭＯＯＶデータを入力すると、このＭＯＯＶデータ内のメディアデータの圧縮形式や、画像の幅及び高さ、画像に関する情報（ＳＴＳＤボックスに記録）、チャンクの構造情報（ＳＴＳＣボックスに記録）、チャンクの位置情報（ＳＴＣＯボックスに記録）、サンプルのサイズ情報（ＳＴＳＺボックスに記録）、再生時刻情報（ＳＴＴＳボックスに記録）を解析し、ＭＯＯＶ解析結果としてメディア伸張部１２２に出力する。
【０１１６】
特殊再生情報取得部１２１は、データ分離部１１５でＭＰ４データから分離されたＭＤＡＴデータを入力すると、このＭＤＡＴデータからユニークコードを探索し、探索結果のユニークコードの位置を示す特殊再生情報をメディア伸張部１２２へ出力する。
【０１１７】
メディア伸張部１２２では、データ分離部１１５でＭＰ４データから分離されたＭＤＡＴデータを入力すると、このＭＤＡＴデータから圧縮されたメディアデータを抽出し、メディアデータの伸張を行う。このとき、特殊再生情報取得部１２１から特殊再生情報を入力していれば、メディア伸張部１２２は、特殊再生情報で示されるユニークコードの位置から注目シーンの情報を特定し、この注目シーンのみの画像データを伸張して上位のシステムへ出力する。
【０１１８】
以上のように、この実施の形態６によれば、メディアデータを解析して当該メディアデータのサイズを示すメディアサイズデータを生成し、メディアデータを構成するコード情報のうちからユニークコードを定義し、当該メディアデータ中のユニークコードの位置を示すユニークコード情報を生成し、メディアデータを解析して特殊再生をすべきデータ部分を特定し、当該データ部分の位置を示す特殊再生情報を生成し、メディアデータ、サイズデータ、ユニークコード情報及び特殊再生情報を用いて、メディアデータ中の特殊再生をすべきデータ部分の位置にユニークコードが挿入されたＭＤＡＴデータを作成する。
このＭＤＡＴデータを含むＭＰ４ファイルを再生するにあたり、メディアファイルからＭＤＡＴ及びＭＯＯＶのデータを分離し、ＭＯＯＶデータを解析して基本情報を取得し、この基本情報を用いてＭＤＡＴデータから取得したメディアデータを伸張するとともに、ＭＤＡＴデータのユニークコードを探索して当該特殊再生をすべきデータ部分を特定して、特殊再生をすべきデータ部分のメディアデータを伸張する。
このようにＭＤＡＴデータに注目シーン等の特殊再生情報を格納することで、通常のＭＰ４プレーヤでは通常再生、特殊再生に対応しているプレーヤについては特殊再生が可能なＭＰ４ファイルを作成できる。
【０１１９】
実施の形態７．
この実施の形態７では、上記実施の形態６で示したＭＤＡＴデータ内の通常の再生時に参照されないデータ領域を利用して、メディアデータを２種類の暗号で暗号化することにより、メディアの視聴制限を設ける方法について述べる。これにより、例えば、コンテンツを通常購入した顧客には、通常の映像のみを視聴可能とし、追加料金を払った顧客は、通常の映像の他に特典映像も視聴可能にする、といった利用方法を実現できる。
【０１２０】
図２２は、この発明の実施の形態７によるメディアファイル作成装置の構成を示すブロック図である。図２２において、実施の形態７によるメディアファイル作成装置は、サイズ解析部１０６、ユニークコード定義部１０７、メディア暗号化部１２３及びＭＤＡＴ作成部１２４を備える。
【０１２１】
サイズ解析部１０６は、メディアデータのサイズを解析する構成部である。ユニークコード定義部１０７は、メディアデータからユニークコードを定義する構成部である。メディア暗号化部１２３は、暗号情報に基づいてメディアデータを暗号化して暗号化メディアを作成する構成部である。ＭＤＡＴ作成部１２４は、メディアデータ、メディアサイズデータ、暗号情報、暗号化メディア、及びユニークコード情報から、ＭＤＡＴデータを作成する構成部である。
【０１２２】
なお、サイズ解析部１０６、ユニークコード定義部１０７、メディア暗号化部１２３及びＭＤＡＴ作成部１２４は、この発明の趣旨に従うメディアファイル作成用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアとが協働した具体的な手段として当該コンピュータ上で実現することができる。
【０１２３】
次に動作について説明する。
メディアデータは、サイズ解析部１０６、ユニークコード定義部１０７及びメディア暗号化部１２３に入力されており、同一内容のデータがサイズ解析部１０６、ユニークコード定義部１０７及びメディア暗号化部１２３にそれぞれ入力される。また、暗号情報は、メディア暗号化部１２３及びＭＤＡＴ作成部１２４にそれぞれ入力される。
【０１２４】
サイズ解析部１０６は、入力した上記メディアデータのサイズを解析し、上記メディアデータのサイズを示すメディアサイズデータをＭＤＡＴ作成部１２０に出力する。サイズ解析部１０６の動作の詳細は、上記実施の形態３と同様であるので省略する。
また、ユニークコード定義部１０７は、上記メディアデータを入力すると、メディアデータに基づいてユニークコードを定義し、定義したユニークコードを示すユニークコード情報をＭＤＡＴ作成部１１４へ出力する。ユニークコード定義部１０７の動作の詳細も、上記実施の形態３と同様であるが、この実施の形態７では、ユニークコードを２種類以上定義して出力する。以降の説明では、２種類のユニークコードを定義する場合を例に挙げる。
【０１２５】
メディア暗号化部１２３は、入力した暗号情報を用いて、上記メディアデータを暗号化する。ここで取り扱われるメディアデータには、図２３に示すようにレベル１で暗号化すべきデータ部分とレベル２で暗号化すべきデータ部分が混在しているものとする。なお、レベル１，２では異なる暗号化が行われ、例えばレベル１ではメディアコンテンツを通常購入した顧客のみが復号でき、レベル２はさらに追加料金を支払ってメディアコンテンツを購入した顧客が復号できる。
【０１２６】
レベル１の暗号化を施すべきメディアデータか、レベル２の暗号化を施すべきメディアデータかの区別は、メディアデータ中の時間情報等を利用して、暗号情報で予め定められているものとする。例えば、０：００から０：１６までのメディアデータはレベル１、０：１６から０：２４までのメディアデータはレベル２の設定で暗号化を行う。さらに、暗号情報には、レベル１のパスワードのハッシュ値（以下、パスワードハッシュ１と呼ぶ）と、レベル２のパスワードのハッシュ値（以下、パスワードハッシュ２と呼ぶ）とを含むものとする。なお、ハッシュのアルゴリズムについては特に限定しない。
【０１２７】
ここで、実際のメディア暗号化を説明する。
メディア暗号化部１２３は、入力した暗号情報から、各メディアデータをレベル１、レベル２のいずれかで暗号化すべきかを認識し、さらにはサイズ解析部１０６から入力したメディアサイズデータから、各メディアデータのサイズを認識する。
この後、メディア暗号化部１２３は、認識したデータサイズを示すバイナリデータと、各メディアデータの暗号化レベルに対応するパスワードハッシュ１もしくはパスワードハッシュ２と、のＸＯＲ（排他的論理和）を演算する。
このＸＯＲ値をメディアごとの暗号鍵として、メディア暗号化部１２３は、各メディアデータを暗号化し、暗号化メディアデータとしてＭＤＡＴ作成部１２４に出力する。
【０１２８】
ＭＤＡＴ作成部１２４は、上記メディアデータ及び暗号情報を入力し、サイズ解析部１０６からメディアサイズデータを入力し、メディア暗号化部１２３から暗号化メディアデータを入力し、ユニークコード定義部１０７からユニークコード情報を入力すると、これらメディアデータ、メディアサイズデータ、暗号情報、ユニークコード情報、暗号化メディアデータから、暗号化ＭＤＡＴデータを作成する。
先ず、ＭＤＡＴ作成部１２４は、ユニークコード情報で示される２種類のユニークコードのうち、どちらをレベル１、レベル２にするかを割り振る。ここでは、レベル１に割り振られたものをユニークコード１とし、レベル２に割り振られたものをユニークコード２とする。
図２４は、ＭＤＡＴ作成部１２４によって作成される暗号化ＭＤＡＴデータを示す図である。図２４に示すように、暗号化ＭＤＡＴデータでは、ボックス名称の直後に暗号情報のサイズ、レベル１，２のそれぞれのパスワードハッシュとユニークコードが存在する。また、暗号化されたメディアデータは、暗号化のレベルに応じたユニークコードをその先頭位置に有する。つまり、ＭＤＡＴデータ中の暗号化メディアデータの前に存在する通常は参照されないデータ領域にユニークコードを記録することで、ユニークコードによって暗号化メディアデータの暗号化レベルを識別できる。
【０１２９】
次に、上述のようにして作成したＭＤＡＴデータを含むＭＰ４データのメディアデータを再生する方法について述べる。
図２５は、実施の形態７によるメディアファイル再生装置の構成を示すブロック図である。図２５において、実施の形態７によるメディアファイル再生装置は、データ分離部１１５、ＭＯＯＶ解析部１１６、暗号復号部１２５及びメディア伸張部１２６を備える。
【０１３０】
データ分離部１１５は、入力したＭＰ４データを暗号化ＭＤＡＴデータとＭＯＯＶデータとに分離して出力する構成部である。ＭＯＯＶ解析部１１６は、ＭＯＯＶデータを解析して、メディアデータを規定する情報を抽出しＭＯＯＶ解析結果として出力する構成部である。暗号復号部１２５は、入力した暗号化ＭＤＡＴデータを復号して復号ＭＤＡＴデータを取得する構成部である。メディア伸張部１２６は、復号ＭＤＡＴデータから抽出したメディアデータを伸張して伸張済みメディアデータを作成する構成部である。
【０１３１】
データ分離部１１５、ＭＯＯＶ解析部１１６、暗号復号部１２５及びメディア伸張部１２６は、この発明の趣旨に従うメディアファイル再生用プログラムをコンピュータに読み込ませ、そのＣＰＵに実行させることにより、ハードウエアとソフトウエアが協働した具体的な手段として、当該コンピュータ上で実現することができる。
【０１３２】
次に動作について説明する。
データ分離部１１５は、入力したＭＰ４データをＭＯＯＶデータと暗号化ＭＤＡＴデータとに分離する。ＭＰ４データから分離されたＭＯＯＶデータは、ＭＯＯＶ解析部１１６に入力され、暗号化ＭＤＡＴデータは暗号復号部１２５に入力される。また、暗号復号部１２５には、復号に用いるパスワードも入力される。
なお、サイズ解析部１０６及びＭＯＯＶ解析部１１６の動作の詳細は、上記実施の形態５と同様であるので省略する。特に、データ分離部１１５は、ＭＰ４データから暗号化ＭＤＡＴデータを分離するが、ＭＤＡＴデータとＭＯＯＶデータのサイズの違いを利用して分離する点など、動作は全く同一である。
【０１３３】
暗号復号部１２５は、データ分離部１１５によってＭＰ４データから分離されたＭＯＯＶデータを入力し、パスワードを入力すると、先ず、入力されたパスワードのハッシュ値を取得する。ここでは、暗号復号部１２５が、入力されたパスワードのハッシュ値と、暗号化ＭＤＡＴデータ中のパスワードハッシュ１，２の各値とを比較する。
このとき、入力されたパスワードのハッシュ値が、パスワードハッシュ１，２の両方と異なっていれば、このパスワードは間違っている。このため、暗号復号部１２５は、復号処理を中止する。パスワードハッシュ１と同一であれば、暗号復号部１２５は、レベル１のＭＤＡＴデータのメディアデータの復号処理を開始する。また、パスワードハッシュ２と同一であれば、暗号復号部１２５は、レベル１、レベル２両方のＭＤＡＴデータのメディアデータの復号処理を開始する。
【０１３４】
図２２に示す装置は、上述したようにパスワードハッシュ１もしくはパスワードハッシュ２と、各メディアデータのサイズを示すバイナリ値とのＸＯＲ値を暗号鍵としている。パスワードハッシュは、図２４に示すように暗号化ＭＤＡＴデータ内に存在する。
また、暗号化ＭＤＡＴデータ内の各メディアデータはユニークコードによって区切られていることから、暗号復号部１２５は、容易に各メディアデータのサイズを取得できる。
このようにして、暗号復号部１２５は、入力されたパスワードの暗号化レベルに応じてメディアデータを復号し、復号ＭＤＡＴデータとしてメディア伸張部１２６に出力する。
【０１３５】
メディア伸張部１１７は、暗号復号部１２５で復号された復号ＭＤＡＴデータを入力すると、復号ＭＤＡＴデータから圧縮したメディアデータを抽出して、ＭＯＯＶ解析結果を用いてメディアデータの伸張を行う。メディア伸張部１１７による動作の詳細は、上記実施の形態５と同様である。
【０１３６】
以上のように、この実施の形態７によれば、メディアデータを解析して当該メディアデータのサイズを示すメディアサイズデータを生成し、メディアデータを構成するコード情報のうちからユニークコードを定義し、当該メディアデータ中のユニークコードの位置を示すユニークコード情報を生成し、メディアデータの再生を制限するレベルを規定する暗号情報、当該レベル情報で規定されるレベルに応じた暗号化に用いるパスワード、メディアデータ及びメディアサイズデータを用いて、当該レベル情報で規定されるレベルに応じてデータが暗号化された暗号化メディアデータを生成し、暗号情報、暗号化メディアデータ、ユニークコード情報及びメディアサイズデータを用いて、レベルごとの暗号化メディアデータにユニークコードが挿入されたＭＤＡＴのデータを作成する。
このＭＤＡＴデータを用いたＭＰ４ファイルを再生するにあたり、メディアファイルからＭＤＡＴ及びＭＯＯＶのデータを分離し、ＭＯＯＶデータを解析して基本情報を取得するとともに、メディアデータの再生を制限するレベルに応じたパスワードに基づいて、ＭＤＡＴの暗号化メディアデータを復号し復号メディアデータを生成し、得られた基本情報を用いて復号メディアデータを伸張する。
このようにＭＤＡＴデータ内に暗号化情報を入れることで、ユーザの持つ権限ごとにコンテンツの視聴範囲を制限することが可能である。
【０１３７】
なお、上記実施の形態７では、暗号化レベルを１と２の２段階としたが、より細かい設定にしてもよい。
【符号の説明】
【０１３８】
１０１，１０９，１１８  ＭＤＡＴ解析部、１０２，１１０  ＭＯＯＶ作成部、１０３  ＭＰ４ファイル作成部、１０４  メディアデータ取得部、１０５，１１２，１１７，１２２，１２６  メディア伸張部、１０６  サイズ解析部、１０７  ユニークコード定義部、１０８，１１４，１２０，１２４  ＭＤＡＴ作成部、１１１  メディアデータ取得部、１１３  ランダムアクセスポイント探索部、１１５  データ分離部、１１６  ＭＯＯＶ解析部、１１９  特殊再生データ作成部、１２１  特殊再生情報取得部、１２３  メディア暗号化部、１２５  暗号復号部。
【図１】
0005409214.tif 000003
【図２】
0005409214.tif 000004
【図３】
0005409214.tif 000005
【図４】
0005409214.tif 000006
【図５】
0005409214.tif 000007
【図６】
0005409214.tif 000008
【図７】
0005409214.tif 000009
【図８】
0005409214.tif 000010
【図９】
0005409214.tif 000011
【図１０】
0005409214.tif 000012
【図１１】
0005409214.tif 000013
【図１２】
0005409214.tif 000014
【図１３】
0005409214.tif 000015
【図１４】
0005409214.tif 000016
【図１５】
0005409214.tif 000017
【図１６】
0005409214.tif 000018
【図１７】
0005409214.tif 000019
【図１８】
0005409214.tif 000020
【図１９】
0005409214.tif 000021
【図２０】
0005409214.tif 000022
【図２１】
0005409214.tif 000023
【図２２】
0005409214.tif 000024
【図２３】
0005409214.tif 000025
【図２４】
0005409214.tif 000026
【図２５】
0005409214.tif 000027