(57)【要約】【課題】  ユーザに対して正しく復号できない動画像データを表示してしまうことを防止することができる多重化方式変換装置を提供する。【解決手段】  多重化方式変換装置の変換部１０３は、ＴＳパケットのパケットロスを判定し、パケットロスが検出された際には、エラー処理を行い、エラー処理後のペイロードデータを出力するパケットロス判定部２０２と、入力されたＡＵのデータおよびＰＥＳヘッダにおける表示時間に基づいて、エラー情報を含むmoov、およびmdatを作成するＢｏｘ作成部２０６とを備える。【選択図】        図２
2005229587.tif 000002
【特許請求の範囲】
【請求項１】
第１の方式によりパケット多重化された符号化メディアデータを前記第１の方式と異なる第２の方式によりパケット多重化して出力する多重化方式変換装置であって、
前記第１の方式によりパケット多重化された符号化メディアデータにおけるパケットロスの有無を判定するパケットロス判定手段と、
前記パケットロス判定手段でパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報を生成する欠落情報生成手段と、
前記欠落情報生成手段で生成された欠落情報を前記第２の方式のパケットに格納するとともに、前記符号化メディアデータを前記第２の方式によりパケット多重化する多重化手段と
を備えることを特徴とする多重化方式変換装置。
【請求項２】
前記多重化方式変換装置は、さらに、
前記第１の方式によりパケット多重化された符号化メディアデータのパケットからヘッダとペイロードを分離するパケット分離手段
を備えることを特徴とする請求項１記載の多重化方式変換装置。
【請求項３】
前記パケットロス判定手段は、前記パケット分離手段で分離された前記ヘッダに基づいてパケットロスの有無を判定する
ことを特徴とする請求項２記載の多重化方式変換装置。
【請求項４】
前記多重化方式変換装置は、さらに、
前記パケット分離手段で分離された前記ペイロードから前記符号化メディアデータのフレーム境界を検出してフレームを分離するフレーム分離手段を備え、
前記欠落情報生成手段は、前記パケットロス判定手段でパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報をフレーム単位で生成し、
前記多重化手段は、前記欠落情報生成手段で生成された前記フレーム単位での欠落情報を前記第２の方式のパケットに格納する
ことを特徴とする請求項２記載の多重化方式変換装置。
【請求項５】
前記欠落情報生成手段は、復号に必須なデータが欠落していないフレームが復号順で１枚以上連続する区間を示す情報を前記欠落情報として生成する
ことを特徴とする請求項４記載の多重化方式変換装置。
【請求項６】
前記欠落情報生成手段は、前記区間を示す情報として前記区間の先頭フレームの情報を生成する
ことを特徴とする請求項５記載の多重化方式変換装置。
【請求項７】
前記欠落情報生成手段は、前記区間を示す情報として前記区間の最終フレームの情報を生成する
ことを特徴とする請求項５記載の多重化方式変換装置。
【請求項８】
前記多重化方式変換装置は、さらに、
ランダムアクセス可能であるフレームを登録するためのテーブルを作成する作成手段を備え、
前記多重化手段は、前記符号化メディアデータのランダムアクセス可能であるフレームを前記テーブルへ登録する際に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、前記フレームにおいて復号に必須なデータが欠落しているか否かを判定し、前記フレームにおいて復号に必須なデータが欠落していれば、前記フレームをランダムアクセス可能なフレームとして前記テーブルへ登録しない
ことを特徴とする請求項４記載の多重化方式変換装置。
【請求項９】
前記多重化方式変換装置は、さらに、
前記符号化メディアデータの格納形式を変換する変換手段
を備えることを特徴とする請求項４記載の多重化方式変換装置。
【請求項１０】
前記フレームが１以上のサブフレーム単位から構成され、
前記変換手段は、サブフレーム単位の先頭に前記サブフレームのサイズ情報を付加して前記格納形式を変換する際には、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、前記第２の方式のパケットに格納するサブフレームデータ、およびサブフレームデータのサイズを決定する
ことを特徴とする請求項９記載の多重化方式変換装置。
【請求項１１】
前記フレームが１以上のサブフレーム単位から構成され、
前記変換手段は、前記符号化メディアデータにおけるデータが欠落した位置に、データの欠落を示すサブフレーム単位を挿入した上で、前記符号化メディアデータを前記第２の方式によりパケット多重化する
ことを特徴とする請求項９記載の多重化方式変換装置。
【請求項１２】
前記欠落情報生成手段は、所定単位の復号に必須なデータが欠落しているか否かを示す情報を前記欠落情報として生成する
ことを特徴とする請求項１記載の多重化方式変換装置。
【請求項１３】
符号化メディアデータがパケット多重化された多重化データを復号する逆多重化装置であって、
前記多重化データからデータ欠落に関する欠落情報を抽出する欠落情報抽出手段と、
前記欠落情報抽出手段で抽出された前記欠落情報に基づいて前記符号化メディアデータの中で復号するデータを決定する欠落情報解析手段と、
前記欠落情報解析手段で復号すると決定された前記データを復号する復号手段と
を備えることを特徴とする逆多重化装置。
【請求項１４】
前記逆多重化装置は、さらに、
前記欠落情報抽出手段で抽出された前記欠落情報に基づいて再生品質をユーザに通知する欠落情報通知手段
を備えることを特徴とする請求項１３記載の逆多重化装置。
【請求項１５】
前記欠落情報通知手段は、前記通知に基づくユーザの指示を受け付ける
ことを特徴とする請求項１４記載の逆多重化装置。
【請求項１６】
第１の方式によりパケット多重化された符号化メディアデータを前記第１の方式と異なる第２の方式によりパケット多重化して出力する多重化方式変換方法であって、
前記第１の方式によりパケット多重化された符号化メディアデータにおけるパケットロスの有無を判定するパケットロス判定ステップと、
前記パケットロス判定ステップにおいてパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報を生成する欠落情報生成ステップと、
前記欠落情報生成ステップにおいて生成された欠落情報を前記第２の方式のパケットに格納するとともに、前記符号化メディアデータを前記第２の方式によりパケット多重化する多重化ステップと
を含むことを特徴とする多重化方式変換方法。
【請求項１７】
第１の方式によりパケット多重化された符号化メディアデータを前記第１の方式と異なる第２の方式によりパケット多重化して出力するためのプログラムであって、
前記第１の方式によりパケット多重化された符号化メディアデータにおけるパケットロスの有無を判定するパケットロス判定ステップと、
前記パケットロス判定ステップにおいてパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報を生成する欠落情報生成ステップと、
前記欠落情報生成ステップにおいて生成された欠落情報を前記第２の方式のパケットに格納するとともに、前記符号化メディアデータを前記第２の方式によりパケット多重化する多重化ステップとをコンピュータに実行させる
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、動画像、音声などの符号化メディアデータの多重化方式を変換して出力する多重化方式変換装置に関する。
【背景技術】
【０００２】
近年、蓄積メディアや通信ネットワークの大容量化、あるいは伝送技術の進歩にともない、動画や音声などの符号化マルチメディアデータを扱う機器や、サービスが普及してきた。例えば、放送分野においては、従来のアナログ放送に代わり、デジタル符号化されたメディアデータの放送が開始された。現在のデジタル放送は、固定受信のみを対象としているが、将来的には携帯電話などの移動体向けの放送も予定されている。また、通信分野においても、第３世代の携帯電話向けの動画配信サービスが立ち上がるなど、固定端末と携帯端末の双方でマルチメディアデータを扱う環境が整ってきている。これらの背景を鑑みると、SD（Secure Digital）カードなどのメモリカード、あるいはDVD-RAM（Digital Versatile Disk-Rewritable）などの光ディスクに、放送や、インターネット経由で受信したコンテンツデータを記録し、機器間でコンテンツデータを共有するといった使用方法の普及が見込まれる。
【０００３】
メディアデータを放送、蓄積、あるいはネットワーク経由で配信する際には、メディアデータの再生に必要なヘッダ情報とメディアデータとが多重化される。多重化にあたっては、放送やＤＶＤなどの蓄積機器向け、および移動体向けに、それぞれ標準の多重化方式が規格化されている。まず、デジタル放送やDVDにおいては、ISO/IEC JTC1/SC29/WG 11 (International Standardisation Organization/International Engineering Consortium)において標準化されたＭＰＥＧ−２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔ  Ｇｒｏｕｐ）システム規格が使用される。また、携帯端末では、第３世代の移動体通信システムの規格化を目的とする国際標準化団体である３ＧＰＰ(Third Generation Partnership Project)で、無線による動画配信規格として定められたTS26.234(Transparent end-to-end packet switched streaming service)において、ISO/IEC JTC1/SC29/WG 11で標準化されたMP４ファイルフォーマットが採用されている。
【０００４】
また、動画の符号化方式としては、現在普及しているＭＰＥＧ−２  ＶｉｓｕａｌやＭＰＥＧ−４  Ｖｉｓｕａｌの後継規格としてＭＰＥＧ−４  ＡＶＣ（Ａｄｖａｎｃｅｄ  Ｖｉｄｅｏ  Ｃｏｄｉｎｇ）が標準化されたことから、今後ＭＰＥＧ−４  ＡＶＣの符号化ビデオデータをＭＰＥＧ−２システム規格やＭＰ４ファイルフォーマット（以降、ＭＰ４と呼ぶ）により多重化し、放送、蓄積あるいは配信することが予想される。
【０００５】
以下に、ＭＰＥＧ−２システム、およびＭＰ４における符号化データ多重化方法の概要について説明する。ＭＰＥＧ−２システム、およびＭＰ４では、符号化データを扱う際の基本単位としてアクセスユニット（ＡＵ）を使用するため、まずＡＵの構造について説明する。ＡＵとは、１ピクチャ分の符号化データを含む単位であり、ＭＰＥＧ−４  ＡＶＣにおけるＡＵデータは、図２４に示す構造をもつ。ＭＰＥＧ−４  ＡＶＣでは、ピクチャの復号に必須のデータに加えて、復号に必須でないＳＥＩ（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）と呼ばれる補助情報や、ＡＵの境界情報などをＡＵデータに含めることができ、これらのデータは全てＮＡＬ（Ｎｅｔｗｏｒｋ  Ａｄａｐｔａｔｉｏｎ  Ｌａｙｅｒ）ユニットに格納される。なお、ＭＰＥＧ−２システムでは、Ａｃｃｅｓｓ  Ｕｎｉｔ  Ｄｅｌｉｍｉｔｅｒと呼ばれるＡＵの開始を示すＮＡＬユニットが、必ずＡＵの先頭に付加される。ＮＡＬユニットは、図２４（a）に示すようにヘッダとペイロードから構成され、ヘッダのサイズは１バイトであり、ペイロードに格納されるデータのタイプ（以降、ＮＡＬユニットタイプと呼ぶ）を示すフィールドなどが含まれる。ＮＡＬユニットタイプは、スライスやＳＥＩなどデータの種類別に値が定義されており、ＮＡＬユニットに格納されたデータの種類を取得する際にはＮＡＬユニットタイプを参照する。ＡＵには、図２４（ｂ）および（ｃ）に示すように、１ピクチャ分のスライスデータに加えて、ヘッダ情報やＳＥＩなどのＮＡＬユニットが格納されるが、ＮＡＬユニットにはＮＡＬユニットデータの境界を識別するための情報が存在しないため、ＡＵ格納時には、各ＮＡＬユニットの先頭に境界情報が付加することができる。境界情報としては、図２４（ｂ）のように0x000001の３バイトで示されるスタートコードプレフィックスを付加する方法（以降、バイトストリームフォーマットと呼ぶ）と、図２４（ｃ）のようにＮＡＬユニットのサイズを付加する方法（以降、ＮＡＬサイズフォーマットと呼ぶ）の２種類がある。なお、ＡＵの先頭ＮＡＬユニット、および特定のＮＡＬユニットタイプ値をもつＮＡＬユニットに対しては、スタートコードプレフィックスの前に、ｚｅｒｏ＿ｂｙｔｅ（値が０ｘ００である１バイト）を１つ以上付加することが規定されている。ＭＰＥＧ−２システムでは、バイトストリームフォーマットが使用され、ＭＰ４ではＮＡＬサイズフォーマットが使用される。
【０００６】
次に、スライス、およびヘッダ情報について詳しく説明する。スライスは、ＩＤＲ（Ｉｎｓｔａｎｔａｎｅｏｕｓ  Ｄｅｃｏｄｅｒ  Ｒｅｆｒｅｓｈ）スライスとそれ以外のスライスの２種類に分けられる。ＩＤＲスライスとは、画面内符号化されたスライスデータであり、後述するＳＰＳ（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）などのヘッダ情報はＩＤＲスライスにおいてのみ切り替えることができる。ピクチャにＩＤＲスライスが含まれる際には、同一ピクチャ内の他のスライスも全てＩＤＲスライスであるため、以降、ＩＤＲスライスを含むＡＵをＩＤＲ ＡＵと呼ぶことにする。また、ＩＤＲ ＡＵから、次のＩＤＲ ＡＵの直前ＡＵにより構成される単位をシーケンスと呼び、ＡＵのスライスデータを復号する際には、シーケンス内のＡＵのみが参照されるため、シーケンス単位でランダムアクセスすることができる。次に、ヘッダ情報にはＳＰＳとＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）の２種類があり、ＳＰＳはシーケンス単位で固定のヘッダ情報であり、ＰＰＳはピクチャ単位で切り替えることのできるヘッダ情報である。ＳＰＳとＰＰＳは、ともに複数もつことができ、個々のＳＰＳ、あるいはＰＰＳはインデックス番号により区別される。また、１ＮＡＬユニットには１つのＳＰＳ、あるいはＰＰＳが格納される。各ピクチャが参照するＳＰＳ、およびＰＰＳのインデックス番号は次のように取得される。まず、ピクチャが参照するＰＰＳのインデックス番号は、スライスデータのヘッダ部に示される。次に、ＰＰＳには、ＰＰＳが参照するＳＰＳのインデックス番号が示されるため、ピクチャが参照するＰＰＳを解析することにより、ピクチャが参照するＳＰＳのインデックス番号を取得する。ピクチャが参照するＳＰＳおよびＰＰＳは、ピクチャのスライスデータ復号時に必須となる。
【０００７】
次に、放送において、ＭＰＥＧ−２システムによりＡＵデータを多重化する際の方法について説明する。ＭＰＥＧ−２システムでは、符号化データは、まずＰＥＳ（Ｐａｃｋｅｔｉｚｅｄ  Ｅｌｅｍｅｎｔａｒｙ  Ｓｔｒｅａｍ）パケットに多重化され、さらにＰＥＳパケットがＴＳ（Ｔｒａｎｓｐｏｒｔ  Ｓｔｒｅａｍ）パケットに多重化される。図２５の（ａ）と（ｂ）に、それぞれＰＥＳパケットとＴＳパケットの構造を示す。ＰＥＳパケットのペイロードには、アクセスユニット（ＡＵ）データが格納される。図２５（ａ）の（１）から（３）は、ＰＥＳパケットのペイロードへのＡＵデータの格納例を示すものであり、（１）、（２）に示すように１以上のＡＵをまとめて格納してもよいし、（３）に示すようにＡＵデータを分割して格納してもよい。さらに、ペイロードには、ＡＵデータとは別に、スタッフィングデータを含めることもできる。ＰＥＳパケットのヘッダは、0x000001の３バイトで示されるスタートコードプレフィックス、および１バイトのストリームＩＤから構成される計４バイトのスタートコードから開始する。ストリームＩＤとは、ＰＥＳパケットのペイロードデータに含まれる符号化データの種類を示す識別番号であり、ＭＰＥＧ−４ＡＶＣでは、0xE0以上0xEF以下の任意の値をとることができる。ヘッダには、ペイロード内で開始する先頭ＡＵの復号時間、および表示時間を格納することができるが、全てのＰＥＳパケットに必ずこれらの時間情報が格納されるわけではなく、時間情報が格納されないＰＥＳパケットも存在する。ＰＥＳパケットのヘッダにより復号時間、あるいは表示時間が示されないＡＵの時間情報が必要である際には、ＡＵデータを解析して、直前ＡＵとの復号時間、あるいは表示時間の差分値を取得する。なお、ＰＥＳパケットの開始位置は、ＴＳパケットのペイロードデータ内で、４バイトのスタートコードをサーチすることにより検出する。一方、ＰＥＳパケットのデータは、図２５の（ｂ）に示すように、ＴＳパケットのペイロードに分割して格納される。ＴＳパケットは、サイズが１８８バイトである固定長のパケットであり、４バイトのヘッダ、アダプテーションフィールド、ペイロードデータから構成される。なお、アダプテーションフィールドは、ヘッダ内の特定のフラグがセットされている場合にのみ存在する。ヘッダには、ＴＳパケットが伝送するデータの種類を示すＰＩＤと呼ばれる識別番号と、continuity_counterと呼ばれるカウンタが含まれる。continuity_counterは、４ビットのフィールドであり、同一ＰＩＤのＴＳパケットにおいては、送信順に１ずつ増加し、最大値に達すると循環する。ＴＳパケットのＰＩＤと、ＴＳパケットが伝送するデータの種類との対応関係は、別途ＴＳパケットにより送信されるプログラム情報によって提供される。このため、ＴＳパケット受信時には、まず、ＴＳパケットのＰＩＤを取得し、ＰＩＤの値に応じてパケットを振り分ける。例えば、受信開始時に取得したプログラム情報により、ＭＰＥＧ−４  ＡＶＣのデータはＰＩＤが３２であるＴＳパケットにより伝送されることが示される際には、ＰＩＤが３２であるＴＳパケットを取得することにより、ＭＰＥＧ−４  ＡＶＣのＡＵデータを取得することができる。ここで、���信したＴＳパケットのcontinuity_counter値にギャップが発生している際には、伝送路においてパケットロスが発生したことを示す。また、ＴＳパケットからＡＵデータを分離する際には、ＴＳパケットのペイロードデータからＰＥＳパケットを分離し、分離されたＰＥＳパケットからＡＵのデータを分離する。
【０００８】
最後に、ＭＰ４におけるＡＵデータの多重化方法について説明する。ＭＰ４では、サンプル単位のヘッダ情報やメディアデータは、Ｂｏｘと呼ばれるオブジェクト単位で管理する。ここで、サンプルとは、ＭＰ４においてメディアデータを扱う際の基本単位であり、１サンプルは１ＡＵに相当する。各サンプルには、復号時間順で昇順となるようにサンプル番号が振られ、サンプル番号は、サンプル毎に１ずつ増加する。図２６（a）はＢｏｘの構造を示し、以下のフィールドから構成される。
size：sizeフィールドも含めたBox全体のサイズ
type：Ｂｏｘの識別子であり、通常はアルファベット4文字で表される。フィールド長は４バイトであり、ＭＰ４ファイル内でＢｏｘを検索する際には、連続する４バイト分のデータがtypeフィールドの識別子と一致するかどうかを判定することにより行う。
version：Ｂｏｘのバージョン番号
flags：Ｂｏｘ毎に設定されるフラグ情報
データ：ヘッダ情報やメディアデータが格納される。
【０００９】
なお、versionとflagsは必須でないため、Ｂｏｘによってはこれらのフィールドは存在しない。以後、Boxの参照にはtypeフィールドの識別子を使用することとし、例えばtypeが'moov'であるBoxは、moovと呼ぶ。ＭＰ４ファイルにおけるＢｏｘ構造を図２６（b）に示す。ＭＰ４ファイルは、ftyp、moov、mdat、あるいはmoofから構成され、ftypがファイルの先頭に配置される。ftypは、ＭＰ４ファイルを識別するための情報を含み、mdatには、メディアデータが格納される。mdatに含まれる各メディアデータはトラックと呼ばれ、各トラックはトラックIDにより識別される。次に、moovにはmdatの各トラックに含まれるサンプルについてのヘッダ情報が格納される。moov内では、図２７（a）に示すように、Ｂｏｘが階層的に配置され、オーディオ、ビデオなどの各メディアトラックにヘッダ情報は、それぞれ別々のtrakに格納される。trak内においても、Ｂｏｘが階層的に配置され、サンプルのサイズや復号時間、表示開始時間、あるいはランダムアクセス可能なサンプルの情報などがstbl内の各Boxに格納される（図２７（ｂ））。ランダムアクセス可能なサンプルはシンクサンプルと呼ばれ、シンクサンプルのサンプル番号の一覧は、stbl内のstssにより示される。上記では、トラック内の全サンプルのヘッダ情報をmoovに格納していたが、トラックを分割してフラグメント化し、フラグメント単位でヘッダ情報を格納することもできる。トラックを分割した単位に対するヘッダ情報は、moofにより示され、図２８の例では、mdat #1に格納されるサンプルのヘッダ情報を、moof #1に格納することができる。
【００１０】
ここで、携帯端末において受信した放送データを、携帯電話から電子メールに添付して送信するケースを考えてみる。３GPPでは、電子メールにおいて動画像や音声などを扱う際には、メディアデータをMP４で多重化することが規定されている。このため、電子メール送信時には、多重化方式をＴＳからＭＰ４へ変換する必要がある。以下に、従来の多重化方式変換装置において、ＭＰＥＧ−４  ＡＶＣの符号化データが多重化されたＴＳパケットのパケット列を、ＭＰ４ファイルに変換する際の動作について説明する（例えば特許文献１参照）。なお、変換後のMP４においては、フラグメントは使用しないものとする。図２９は、変換動作を示すフローチャートである。ステップ１０１では、入力されたＴＳパケットのペイロードからＰＥＳパケットの開始位置を検出することにより、ＰＥＳパケットのデータを分離する。次に、ステップ１０２では、分離されたＰＥＳパケットのペイロードデータから、ＡＵの開始位置を検出する。ＡＵの開始位置が検出されるまでステップ１０１とステップ１０２を繰り返し（ループA）、検出された時点で、１ＡＵ分のＡＵデータを分離する。ステップ１０３では、PESヘッダに示される表示時間情報を取得し、ステップ１０４では、moov、およびmdatを作成する。最終TSパケットの処理が完了するまでステップ１０１からステップ１０４（ループB）の処理を繰り返し、メディアデータの全AUを処理した時点で、ループBを終了し、ステップ１０５において、moov、およびmdatのデータを連結し、MP４ファイルの作成を完了する。図３０は、ステップ１０４の処理の詳細を示すフローチャートである。ステップ２０１において、AUデータを解析し、moov内のBoxを作成するために必要なヘッダ情報を取得する。ステップ２０２では、ＡＵを構成するＮＡＬユニットの格納形式を、バイトストリームフォーマットからＮＡＬサイズフォーマットに変換する。ステップ２０３では、ステップ２０１において取得したAUのヘッダ情報をもとに、moov内のBoxデータを作成し、ステップ２０４ではmdatデータを作成する。なお、サンプルのサイズ、および復号時間情報など、サンプル毎のヘッダ情報を格納するBoxは、トラック内の全AUの処理が完了した時点で作成が完了する。
【特許文献１】特開２００３−１１４８４５号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
放送されるTSパケットを受信する際には、天候や受信条件によってはパケットロスが発生する。特に、携帯電話などの移動体端末によって移動しながら受信するようなケースでは、パケットロスが頻発することがある。ＴＳパケットでは、continuity_counter値が不連続となっていないかどうかを調べることにより、パケットロスによりＡＵデータが欠落していることを検出できるが、ＭＰ４においてはサンプルデータの欠落を示すことができない。そのため、ＭＰ４ファイルを再生する際に、データが欠落していて正常に復号することができないサンプルデータを復号し、結果として、画質の低い動画像データを表示してしまうという第１の課題があった。
【００１２】
さらに、多重化方式をＴＳからＭＰ４に変換する際には、ＮＡＬユニットの格納形式をバイトストリームフォーマットからＮＡＬサイズフォーマットに変換する必要がある。バイトストリームフォーマットでは、ＮＡＬユニットの先頭に付加されたスタートコードを検出することによりＮＡＬユニットの境界を検出するが、パケットロスにより境界部分がロストした際には、境界が検出できず、ＮＡＬユニットのデータを正確に分離することができない。従来は、ＮＡＬユニットデータが正確に分離できなかった際に、ＮＡＬユニットのデータをＭＰ４のサンプルとして格納する方法が規定されていなかったため、変換後のＮＡＬユニットに格納するデータを決定できないという第２の課題があった。
【００１３】
そこで、本発明は上記の事情に鑑みてなされたものであり、ユーザに対して正しく復号できない動画像データを表示してしまうことを防止することができる多重化方式変換装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、本発明に係る多重化方式変換装置は、第１の方式によりパケット多重化された符号化メディアデータを前記第１の方式と異なる第２の方式によりパケット多重化して出力する多重化方式変換装置であって、前記第１の方式によりパケット多重化された符号化メディアデータにおけるパケットロスの有無を判定するパケットロス判定手段と、前記パケットロス判定手段でパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報を生成する欠落情報生成手段と、前記欠落情報生成手段で生成された欠落情報を前記第２の方式のパケットに格納するとともに、前記符号化メディアデータを前記第２の方式によりパケット多重化する多重化手段とを備えることを特徴とする。
【００１５】
これによって、例えばＭＰ４である第２の方式のファイルでは、サンプルデータを復号することなく、例えばＭＰＥＧ−２システムのＴＳである第１の方式のＴＳパケットのパケットロスによりデータが欠落したサンプルについての情報が得られるため、例えばオーディオやビデオの復号手段よりも上位のシステムレイヤにおいて、サンプルの復号、あるいは表示動作を決定することができる。
【００１６】
また、前記多重化方式変換装置は、さらに、前記第１の方式によりパケット多重化された符号化メディアデータのパケットからヘッダとペイロードを分離するパケット分離手段を備えてもよい。
【００１７】
また、前記多重化方式変換装置は、さらに、前記パケット分離手段で分離された前記ペイロードから前記符号化メディアデータのフレーム境界を検出してフレームを分離するフレーム分離手段を備え、前記欠落情報生成手段は、前記パケットロス判定手段でパケットロスが有と判定された場合に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、データ欠落に関する欠落情報をフレーム単位で生成し、前記多重化手段は、前記欠落情報生成手段で生成された前記フレーム単位の欠落情報を前記第２の方式のパケットに格納してもよい。ここで、前記欠落情報生成手段は、復号に必須なデータが欠落していないフレームが復号順で１枚以上連続する区間を示す情報を前記欠落情報として生成してもよい。
【００１８】
これによって、例えばＭＰ４である第２の方式のファイルでは、サンプルが正しく復号できる区間をシステムレイヤにおいて特定できるため、データが欠落したサンプルを復号して、乱れた表示画像を出力することによる再生品質の低下を防ぐことができる。
【００１９】
また、前記多重化方式変換装置は、さらに、ランダムアクセス可能であるフレームを登録するためのテーブルを作成する作成手段を備え、前記多重化手段は、前記符号化メディアデータのランダムアクセス可能であるフレームを前記テーブルへ登録する際に、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、前記フレームにおいて復号に必須なデータが欠落しているか否かを判定し、前記フレームにおいて復号に必須なデータが欠落していれば、前記フレームをランダムアクセス可能なフレームとして前記テーブルへ登録しなくてもよい。
【００２０】
これによって、例えばＭＰ４である第２の方式のファイルでは、シンクサンプルが正しく復号できることが保証されるため、ランダムアクセス時の再生品質の低下を防ぐことができる。
【００２１】
また、前記多重化方式変換装置は、さらに、前記符号化メディアデータの格納形式を変換する変換手段を備えてもよい。ここで、格納形式とは、多重化方式より狭い意味で用い、例えばフレームデータの格納方式等である。
【００２２】
また、前記フレームが１以上のサブフレーム単位から構成され、前記変換手段は、サブフレーム単位の先頭に前記サブフレームのサイズ情報を付加して前記格納形式を変換する際には、前記符号化メディアデータにおけるデータが欠落した位置に基づいて、前記第２の方式のパケットに格納するサブフレームデータ、およびサブフレームデータのサイズを決定してもよい。
【００２３】
これによって、例えばＭＰ４である第２の方式のファイルでは、パケットロスによりデータが欠落している際にも、ＭＰＥＧ−４  ＡＶＣのＡＵデータを、ＮＡＬサイズフォーマットに変換することができる。
【００２４】
また、前記フレームが１以上のサブフレーム単位から構成され、前記変換手段は、前記符号化メディアデータにおけるデータが欠落した位置に、データの欠落を示すサブフレーム単位を挿入した上で、前記符号化メディアデータを前記第２の方式によりパケット多重化してもよい。
【００２５】
これによって、例えばＭＰ４である第２の方式のファイルでは、サンプルデータに挿入された、パケットロス情報を通知するためのＮＡＬユニットを検出することにより、復号手段においてもＡＵデータの欠落位置を特定でき、適切なエラー隠匿処理を行うことができる。
【００２６】
また、前記欠落情報生成手段は、所定単位の復号に必須なデータが欠落しているか否かを示す情報を前記欠落情報として生成してもよい。
【００２７】
これによって、例えばＭＰ４である第２の方式のファイルでは、復号に必須な例えばＳＰＳ（Ｓｅｑｕｅｎｃｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）やＰＰＳ（Ｐｉｃｔｕｒｅ  Ｐａｒａｍｅｔｅｒ  Ｓｅｔ）、あるいはスライス等のデータが欠落したサンプルをシステムレイヤにおいて特定できるため、データが欠落したサンプルを復号して、乱れた表示画像を出力することによる再生品質の低下を防ぐことができる。
【００２８】
また、本発明に係る逆多重化装置は、符号化メディアデータがパケット多重化された多重化データを復号する逆多重化装置であって、前記多重化データからデータ欠落に関する欠落情報を抽出する欠落情報抽出手段と、前記欠落情報抽出手段で抽出された前記欠落情報に基づいて前記符号化メディアデータの中で復号するデータを決定する欠落情報解析手段と、前記欠落情報解析手段で復号すると決定された前記データを復号する復号手段とを備えることを特徴とする。
【００２９】
これによって、例えばＭＰ４である多重化データでは、サンプルの欠落情報を示すＢｏｘを参照して、サンプルの復号、表示動作を決定することができるため、データが欠落したサンプルを復号して、乱れた表示画像を出力することによる再生品質の低下を防ぐことができるとともに、エラー隠匿方法が異なる復号表示手段を使用した際にも、同一の出力結果を得ることができる。
【００３０】
また、前記逆多重化装置は、さらに、前記欠落情報抽出手段で抽出された前記欠落情報に基づいて再生品質をユーザに通知する欠落情報通知手段を備えてもよい。
【００３１】
これによって、例えばＭＰ４である多重化データでは、例えばサンプルデータの欠落率（欠落データ／全データ）等の再生品質をユーザに通知することができる。
【００３２】
さらに、本発明は、このような多重化方式変換装置および逆多重化装置として実現することができるだけでなく、このような多重化方式変換装置および逆多重化装置が含む特徴的な手段をステップとして含む多重化方式変換方法および逆多重化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることもできる。そして、そのようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのは言うまでもない。
【発明の効果】
【００３３】
以上の説明から明らかなように、本発明に係る多重化方式変換装置によれば、正しく復号できない動画像データを示すことにより、再生品質の低下を示すことができる。
【発明を実施するための最良の形態】
【００３４】
以下、本発明の実施の形態について、図面を参照しながら説明する。
（実施の形態１）
まず、本発明の実施の形態１に係る多重化方式変換装置について図１から図１２を参照して説明する。ここでは、ＭＰＥＧ−４  ＡＶＣの符号化ビデオデータが多重化されたＴＳパケットを入力して、ＴＳパケットからＡＵデータを分離し、ＭＰ４に多重化して出力するものとする。なお、パケット多重化される符号化データは、ＭＰＥＧ−４  ＡＶＣに限定されるものではなく、ＭＰＥＧ−４  ＶｉｓｕａｌやＨ．２６３、あるいはＳＭＰＴＥ（Ｓｏｃｉｅｔｙ  ｏｆ  Ｍｏｔｉｏｎ  Ｐｉｃｔｕｒｅ  ａｎｄ  Ｔｅｌｅｖｉｓｉｏｎ  Ｅｎｇｉｎｅｅｒｓ）で規格化中のＶＣ−１などのビデオ符号化データ、あるいはＭＰＥＧ−４  ＡＡＣやＡＭＲなどのオーディオ符号化データであってもよい。さらに、入力されるＴＳパケットには、ビデオの符号化データを伝送するＴＳパケットだけでなく、オーディオ、あるいはプログラム情報が含まれていてもよい。この場合は、まずプログラム情報を含むＴＳパケットを取得して、ビデオ、およびオーディオの符号化データを伝送するＴＳパケットのＰＩＤを決定する。その後、ＰＩＤの値に基づいて、ビデオとオーディオのＴＳパケットを振り分け、それぞれ処理を行う。
【００３５】
図１は、多重化方式変換装置の全体構成を示す図である。本装置は、ＴＳパケットデータを入力してメモリ１０２に格納するとともに、多重化方式変換後のＭＰ４ファイルを出力するデータＩ／Ｏ部１０１と、メモリ１０２からＴＳパケットデータを取得してＡＵデータ、およびＰＥＳパケットのヘッダを分離、解析し、解析結果をメモリ１０２に記憶させ、前記分離したＡＵデータを、前記解析結果を用いてＭＰ４に変換し、変換処理結果をメモリ１０２に出力する変換部１０３とから構成される。ここで、メモリ１０２には、入出力データの保存領域、および変換処理結果やＡＵデータを一時的に格納するワーク領域が存在し、各領域のサイズは可変とできる。また、再構成部１０３は、ここではＣＰＵであるとするが、専用のハードウェアであってもよい。以下に、変換部１０３の動作を詳細に説明する。
【００３６】
図２は、変換部１０３の構成を示すブロック図である。変換部１０３は、ＴＳペイロード分離部２０１、パケットロス判定部２０２、ＰＥＳ分離解析部２０３、ＡＵ分離部２０４、ＰＥＳヘッダ解析部２０５、Ｂｏｘ作成部２０６、および連結部２０７とを備える。ＴＳペイロード分離部２０１は、ＴＳパケットのヘッダ、およびペイロードを分離して、パケットロス判定部２０２に出力する。パケットロス判定部２０２は、ＴＳパケットのパケットロスを判定し、パケットロスが検出された際には、エラー処理を行い、エラー処理後のペイロードデータをＰＥＳ分離解析部に出力する。パケットロスを判定する際は、ＴＳヘッダからcontinuity_counter値を取得して、直前に入力されたＴＳパケットのcontinuity_counter値と比較し、値が不連続である際には、パケットがロスしたと判定する。ここで、continuity_counterの最大値は１５であるため、直前ＴＳパケットのcontinuity_counter値が１５で、現ＴＳパケットのcontinuity_counter値が０である際には、continuity_counterが循環したとみなし、パケットロスとは判定しない。パケットロスを検出した際には、パケットロス通知用の情報として、ＮＡＬユニットタイプが２５であり、ペイロードが空であるＮＡＬユニットを、バイトストリームフォーマット形式として、現ＴＳパケットのペイロードデータの先頭に挿入する。なお、挿入するＮＡＬユニットのＮＡＬユニットタイプは、当該ＮＡＬユニットタイプが他の目的で使用されていなければ、２４以上３１以下の任意の値をとることができる。ここで、０、および２４以上３１以下のＮＡＬユニットタイプは、ＡＶＣ規格において、アプリケーションが任意に使用できる領域として定義されている。また、パケットロス通知用の情報としては、ＡＶＣストリーム内で現われることのないコードパターンを挿入してもよいし、ストリームとは別にパケットロス情報を管理してもよい。次に、ＰＥＳ分離解析部では、パケットロス通知用のＮＡＬユニットが挿入されたＴＳパケットのペイロードデータから、ＭＰＥＧ−４  ＡＶＣにおけるＰＥＳパケットのスタートコード（0x000001E0以上、0x000001EF以下の値）をサーチすることによりＰＥＳパケットの開始位置を検出する。ここで、ＰＥＳパケットのヘッダには、ＰＥＳパケットのサイズを示すフィールドが存在する場合には、当該サイズを用いてペイロードを分離してもよい。ＰＥＳパケットを分離した後、ＰＥＳパケットのヘッダとペイロードを分離し、ヘッダデータをＰＥＳヘッダ解析部２０５に出力し、ペイロードデータをＡＵ分離部２０４に出力する。なお、ＰＥＳパケットにおけるスタッフィングデータは、ペイロードデータには含めない。ＡＵ分離部２０４では、ＰＥＳパケットのペイロードデータから、ＡＵの境界を検出してＡＵデータを分離し、分離したＡＵデータをＢｏｘ作成部２０６に出力する。ここで、パケットロス判定部によりパケットロス通知用のＮＡＬユニットが挿入された際には、Ｂｏｘ作成部２０６に出力されるＡＵデータにも、パケットロス通知用ＮＡＬユニットが含まれる。ＰＥＳヘッダ解析部２０５では、入力されたＰＥＳヘッダのデータに、ＰＥＳペイロード内で開始する先頭ＡＵの表示時間が含まれるか判定し、含まれる際には、ＡＵの表示時間をＢｏｘ作成��２０６に出力する。次に、Ｂｏｘ作成部２０６は、入力されたＡＵのデータ、およびＰＥＳヘッダにおける表示時間に基づいて、パケットロス情報を含むmoov、およびmdatを作成し、連結部２０７に出力する。なお、Ｂｏｘ作成部２０６は、moov、mdatに加えて、moofやmfraを作成してもよい。最後に、連結部２０７は、moovとmdatを連結してＭＰ４ファイルのデータとして出力する。
【００３７】
図３は、変換部１０３の動作を示すフローチャートである。まず、ステップ３０１において、ＴＳパケットのロスが発生したかどうか判定し、パケットロスの発生を検出した際には、パケットロス検出位置に、パケットロス通知用のＮＡＬユニットを挿入する。続いて、ステップ３０２において、ＰＥＳパケットのヘッダとペイロードを分離し、ステップ３０３において、分離したＰＥＳパケットのペイロードからＡＵの境界を検出し、ＡＵデータを分離する。図３のループＡに示すように、ステップ３０１からステップ３０３の動作を、１ＡＵ分のデータが分離できるまで繰り返す。１ＡＵ分のデータを分離した後、ステップ３０４では、ＰＥＳパケットのヘッダを解析して、ＰＥＳペイロード内で開始する先頭ＡＵの表示時間が含まれるか判定し、含まれる際には、ＡＵの表示時間を取得する。なお、ステップ３０４の処理は、ループＡ内の処理で行ってもよい。次に、ステップ３０５において、ループＡにおいて分離したＡＵデータ、およびステップ３０４において取得した表示時間情報をもとに、ＭＰ４ファイル内のＢｏｘデータを作成する。入力されるＴＳパケットに含まれる全ＡＵデータの処理が完了するまで、ループＢの処理を繰り返し、全ＡＵデータの処理を完了した時点で、moov、およびmdatを完成し、ステップ３０６において、moov、およびmdatを連結してＭＰ４ファイルを出力する。ここで、ループＢは、ループＡ、ステップ３０４、およびステップ３０５の処理を含む。なお、ftypについては、ステップ３０５において作成し、moovに付加して出力する、あるいは、ステップ３０６においてmoovに付加することとする。なお、フラグメントを使用したＭＰ４ファイルを出力することとしてもよい。この際は、ステップ３０５において、１フラグメント分のmoofとmdatが決定した時点でmoofとmdatを出力してループＢを抜け、ステップ３０６において、出力されたmoofとmdatを順次連結する。さらに、フラグメント使用時には、メディアトラックの全サンプルのヘッダ情報をmoofに格納してもよいし、トラックの先頭部分のサンプルについては、ヘッダ情報をmoovに格納してもよい。
【００３８】
Ｂｏｘ作成部２０５の構成、および動作について、詳しく説明する。なお、以下では、単にＮＡＬユニットと記述する場合には、ＴＳパケットのペイロードに含まれていたＮＡＬユニットを指し、パケットロス通知用のＮＡＬユニットは含めないものとする。図４は、Ｂｏｘ作成部２０５の構成を示すブロック図である。Ｂｏｘ作成部２０５は、ＡＵ解析部３０１、エラー情報生成部３０２、ＡＵ形式変換部３０３、およびＢｏｘデータ決定部３０４とから構成される。まず、ＡＵ解析部３０１は、ＡＵデータを解析し、ＡＵの表示時間、あるいは、ＡＵ ＩＤＲであるかどうかなど、従来のＭＰ４ファイルを構成するＢｏｘの作成に必要な情報を取得し、解析結果をＢｏｘデータ決定部３０４に出力する。ここで、ＡＵ解析部３０１が出力する解析結果には、ＡＵのサイズは含めない。また、従来のＭＰ４ファイルを構成するＢｏｘには、エラー情報（欠落情報）を示すＢｏｘ、あるいは、mdat内でエラー情報を示すための識別情報は含まれない。
【００３９】
以下に、パケットロスのために、ＡＵの時間情報、あるいはＡＵデータを復号する際に参照するＳＰＳ、あるいはＰＰＳのデータが欠落している際の動作について説明する。ＰＥＳパケットのヘッダ情報から復号時間、あるいは表示時間が取得できないＡＵについては、ＡＵ内のデータを解析して時間情報を取得する。具体的には、Picture Order Countと呼ばれるピクチャの表示順序を示すパラメータ、あるいはPicture Timing SEI, Buffering Period SEIなどのＳＥＩを解析する。これらの時間情報を示す情報がパケットロスにより欠落していた際には、予め定めた方法により、ＡＵの復号時間、あるいは表示時間を計算する。ＳＰＳや、符号化メディアデータとは別のＰＩＤをもつＴＳパケットにより伝送されるデスクリプタの情報により、フレームレートが固定であることが示される際には、当該フレームレートに基づいて復号時間、あるいは表示時間を決定してもよい。なお、デスクリプタとは、ＭＰＥＧ−２システム規格において規定される、符号化メディアデータの補助情報である。次に、ＭＰ４においては、ＳＰＳおよびＰＰＳは、サンプルデスクリプションボックス（'stsd'）内のサンプルエントリ、あるいは、パラメータセット用のトラックに格納される。さらに、ＭＰＥＧ−４  ＡＶＣの符号化データのトラックにおけるサンプルと、サンプルが参照するＳＰＳ、およびＰＰＳを格納するサンプルエントリ、あるいはパラメータセットのトラックのサンプルとは一対一に関連付けられる。従って、サンプルを復号する際に参照するＳＰＳ、あるいはＰＰＳのデータが欠落した際には、直前サンプルと同一のＳＰＳ、あるいはＰＰＳを参照することとする。なお、予め設定したデフォルトのＳＰＳ、あるいはＰＰＳを使用してもよい。
【００４０】
エラー情報生成部３０２では、ＡＵデータから、パケットロス通知用のＮＡＬユニットを検索し、パケットロス通知用のＮＡＬユニットを検出した際には、エラー情報を示すＢｏｘのデータを作成する。さらに、ＡＵを構成するＮＡＬユニットのデータにおけるパケットロスの有無に基づいて、mdatに格納するＮＡＬユニットデータを決定し、mdatにサンプルデータとして格納すると決定したＮＡＬユニットデータから構成されるＡＵデータのサイズを決定して、エラー情報を示すＢｏｘのデータとともに、Ｂｏｘデータ決定部３０４に出力する。ＡＵ形式変換部３０３では、エラー情報生成部において、サンプルデータとして格納すると決定されたＡＵ内のＮＡＬユニットのデータを、バイトストリームフォーマットからＮＡＬサイズフォーマット変換し、変換後のＡＵデータをＢｏｘ決定部３０４に出力する。ここでＢｏｘ決定部３０４に出力された、変換後のＡＵデータが、ＭＰ４におけるサンプルデータとなる。
【００４１】
図５は、Ｂｏｘ作成部２０５の動作を示すフローチャートである。まず、ステップ４０１において、入力されたＡＵデータから、従来のＭＰ４ファイルを構成するＢｏｘの作成に必要な情報を取得する。ステップ４０２では、ＡＵデータからパケットロス通知用のＮＡＬユニットを検出することにより、エラー情報を示すＢｏｘのデータ作成し、さらに、ステップ４０３において、ＭＰ４ファイル内でサンプルデータとして格納するＮＡＬユニットデータを決定する。ステップ４０４では、ステップ４０３においてサンプルデータとして格納すると決定されたＮＡＬユニットデータをＮＡＬサイズフォーマットに変換し、変換後のＮＡＬユニットデータから構成されるサンプルデータを作成する。続いて、ステップ４０５では、ステップ４０２において作成された、エラー情報を示すＢｏｘを含むmoovのデータを作成する。ステップ４０６では、ステップ４０４において作成されたサンプルデータを格納するmdatデータを作成する。図６は、ステップ４０５の動作を示すフローチャートである。ステップ４０４においては、まず、ステップ５０１において、従来のＭＰ４ファイルを構成するＢｏｘを作成し、次に、ステップ５０２において、エラー情報を格納するＢｏｘを作成する。
【００４２】
次に、ステップ４０２において、エラー情報を示すＢｏｘのデータを作成する際の手順について説明する。図７は、ステップ４０２の動作を示すフローチャートである。ここでは、ＭＰ４ファイルにおけるＢｏｘデータ作成方法について説明するため、サンプルという用語を用いるが、１サンプルは１ＡＵと同一である。まず、ステップ６０１において、ＡＵデータにパケットロス通知用のＮＡＬユニットが含まれるかどうか検索する。検索時には、ＡＵの先頭データから順に、バイトアライン位置において、バイトストリームフォーマットのスタートコードプレフィックス（0x000001から成る３バイト）を調べることにより、ＮＡＬユニットの開始位置を検出する。続いて、検出したＮＡＬユニットのＮＡＬユニットタイプを取得して、ＮＡＬユニットタイプの値が所定の値であれば、パケットロス通知用のＮＡＬユニットであると判定する。ＡＵの最終ＮＡＬユニットまでのＮＡＬユニットタイプを調べた後に、ステップ６０２において、サンプル内にパケットロス通知用ＮＡＬユニットが検出されたかどうかを判定する。パケットロス通知用ＮＡＬユニットが検出された際にはステップ６０３の処理を行い、検出されなかった際には、Ｂｏｘデータの作成処理を終了する。ステップ６０３では、当該サンプルのサンプル番号を、エラーを含むサンプルの一覧を示すテーブルに追加する。以下、図８に具体例を挙げて、ステップ６０１からステップ６０３までの動作について説明する。図８（a）は、ＡＶＣの符号化データにおけるサンプルデータを復号順に並べたものであり、図中の番号は、サンプル番号を示す。この例では、サンプル番号が７、９、および１５であるサンプルにおいて、サンプル内のＮＡＬユニットデータにパケットロス通知用のＮＡＬユニットが検出されたとする。サンプル番号が１から１５までのサンプルについて、エラー情報を示すＢｏｘを作成する際の手順は、次のようになる。なお、エラー情報を示すＢｏｘの名称は、Error Sample Boxとする。まず、１から６番目のサンプルについては、ステップ６０１においてパケットロス通知用のＮＡＬユニットが検出されないため、ステップ６０２では、サンプル内にパケットロス通知用のＮＡＬユニットは存在しないと判定され、Error Sample Boxのテーブルデータを更新せずに処理を終了する。７番目のサンプルについては、ステップ６０１においてパケットロス通知用のＮＡＬユニットが検出されるため、ステップ６０２において、Error Sample Boxのテーブルデータを更新すると判定され、ステップ６０３で更新処理を行う。ステップ６０３では、７番目のサンプルにパケットロスが含まれることを示すために、テーブルのエントリを追加してサンプル番号７を格納する。後続サンプルについても同様の処理を行い、サンプル番号９とサンプル番号１５をテーブルに追加する。結果として、Error Sample Boxのテーブルには、図８（b）に示すように、パケットロスを含むサンプルの番号として、７、９、１５が格納される。図８（c）は、Error Sample Boxのシンタックス例であり、error_sample_numberは、サンプル内のＮＡＬユニットデータがパケットロスにより欠落しているサンプルのサンプル番号を示す。Error Sample Boxは、moovにおいては、trak内のstbl直下に配置することとし、moof��おいては、トラックフラグメントランボックス（'traf'）直下に配置するが、他のＢｏｘの直下に配置することとしてもよい。ここで、Error Sample Boxは、メディアトラックにおいて、データが欠落したサンプルが存在する場合にのみ作成することとするが、データが欠落したサンプルが存在しない場合にも、エントリが空であるError Sample Boxを作成してもよい。なお、traf内に配置する際には、error_sample_numberは、traf内の先頭サンプルの番号を１として、順にサンプルをカウントした際の番号を示す。例えば、traf内に１０個のサンプルが含まれ、３番目と５番目のサンプルのデータがパケットロスにより欠落していることを示す際には、error_sample_numberが３、および５である２つのエントリを作成する。あるいはまた、トラックフラグメントランボックス（'trun'）において、各サンプルのヘッダ情報についてのフラグ情報を示すフィールドであるtr_flagsにおいて、サンプル内のデータがパケットロスにより欠落していることを示すフラグを追加することとしてもよい。
【００４３】
さらに、上記では、サンプル内のデータがパケットロスにより欠落しているかを示すこととしたが、サンプル内の特定ＮＡＬユニットにおいてデータが欠落しているかどうかを示すこととしてもよい。例えば、ＭＰＥＧ−４  ＡＶＣにおいては、スライス、あるいは、ＳＰＳ、ＰＰＳのＮＡＬユニットのデータにおいて、データが欠落しているかどうかを示す。これは、スライス、およびスライスが参照するパラメータセットが揃っていれば、正しい復号結果が得られるためである。より具体的には、パラメータセットのＮＡＬユニットについては、サンプル内のスライスデータを復号するために必要なＳＰＳ、あるいはＰＰＳのデータが欠落しているかどうかを示してもよい。また、図８（ｄ）に示すようなシンタックスとして、データが欠落しているＮＡＬユニットを特定するための情報を格納してもよい。図中のerror_nal_unit_numberは、データが欠落しているＮＡＬユニットを特定するための番号であり、例えば、サンプル内の２番目、および４番目のＮＡＬユニットがロストした際には、error_nal_unit_numberが２、および４である２つのエントリを作成する。エントリ内において、ＮＡＬユニットタイプを示すこととしてもよい。さらに、error_nal_unit_numberは、ＭＰＥＧ−４  Ｖｉｓｕａｌにおけるビデオパケット、あるいはH．２６３におけるスライスを特定することとしてもよい。
【００４４】
また、パケットロスだけでなく、ビット誤りについての情報を取得できる際には、サンプルデータにおいてビット誤りが含まれるサンプル、あるいはＮＡＬユニットを特定するための情報を格納してもよい。
【００４５】
次に、ステップ４０３、およびステップ４０４において、ＭＰ４ファイル内でサンプルデータとして格納するＮＡＬユニットデータを決定し、ＮＡＬユニットの格納形式をＮＡＬサイズフォーマットに変換する際の動作について、図９のフローチャートを参照して説明する。まず、ステップ７０１において、ＡＵ内の各ＮＡＬユニットにおいて有効なデータを決定し、分離する。ここで、パケットロス通知用のＮＡＬユニットが検出された際には、直前にＮＡＬユニットの開始位置が検出されたＮＡＬユニットにおいて有効なデータは、パケットロス通知用のＮＡＬユニットの直前までのデータとする。パケットロス通知用のＮＡＬユニット以降で、次にＮＡＬユニットの開始位置が検出されるまでのデータは無効となるが、これは、前記無効部分のデータが属するＮＡＬユニットが特定できない場合がある、あるいは、特定できたとしても、欠落したデータサイズが不明であるため、復号時に使用できないためである。パケットロス通知用のＮＡＬユニットが検出されなければ、ＮＡＬユニットデータは全て有効なデータとみなす。なお、有効なデータとして分離されるＮＡＬユニットデータには、zero_byte、およびスタートコードプレフィックスは含めない。次に、ステップ７０２では、ステップ７０１において分離した有効なデータのサイズを取得する。ステップ７０３では、ステップ７０３において取得したサイズをもとに、前記有効なデータを含むＮＡＬユニットデータを、ＮＡＬサイズフォーマットに変換する。ここで、ＮＡＬサイズフォーマットにおいて、ＮＡＬユニットのサイズを示すフィールドのサイズは、1から４バイトの間で可変であるが、フィールドサイズは予め与えられるものとする。次に、ステップ７０４において、当該ＮＡＬユニットのデータが欠落していたかどうかを判定し、欠落していた際には、エラー通知用のＮＡＬユニットをＮＡＬサイズフォーマットとして挿入する。上記ステップ７０１からステップ７０５までの処理（ループＡ）を、サンプルの最終ＮＡＬユニットの処理が終了するまで繰り返す。なお、サンプルのサイズは、サンプルの最終ＮＡＬユニットのサイズが決定した時点で決定される。
【００４６】
また、サンプルのデータが欠落しているかどうかは、moov、あるいはmoof内に格納されたエラー情報を示すＢｏｘにおいてのみ示すこととし、mdatに格納されるサンプルデータには、パケットロス通知用のＮＡＬユニットは挿入しないこととしてもよい。このとき、ステップ７０４、およびステップ７０５は不要となる。
【００４７】
また、上記で無効とされたデータを破棄せずに、ＴＳパケットのペイロードに含まれていたＮＡＬユニットデータを全て格納してもよい。さらに、パケットロスにより欠落したデータのサイズが特定できる際には、欠落部分をスタッフィングする目的の特別なＮＡＬユニット（以後、パケットロス補完用のＮＡＬユニットと呼ぶ。）を挿入してもよい。パケットロス補完用のＮＡＬユニットでは、Unspecified領域であり、かつパケットロス通知用とは異なるＮＡＬユニットタイプを使用する。また、エラー情報はエラー通知用のＮＡＬユニットにおいてのみ示すこととして、Error Sample Boxは作成しないこととしてもよい。
【００４８】
また、パケットロス通知用のＮＡＬユニットではなく、ＡＵ内のＮＡＬユニットデータにおけるパケットロス情報が別途提供される際には、ステップ７０１では、別途示される情報に基づいて、ＮＡＬユニットにおいて有効なデータを決定する。
【００４９】
図１０から図１２は、有効なＮＡＬユニットデータを決定し、ＮＡＬサイズフォーマットに変換する際の具体例を示すものである。各図において、ＳＣＰ、Ｎａｌ＿ｌｅｎ、ＥＲＲ＿ＮＡＬＵは、それぞれ、バイトストリームフォーマットにおけるスタートコードプレフィックス、ＮＡＬサイズフォーマットにおいてＮＡＬユニットのサイズを示すフィールドのサイズ、エラー通知用のＮＡＬユニットを示すものとする。図１０は、パケットロスによるＮＡＬユニットデータの欠落が、ＮＡＬユニットの境界をまたがない例である。図１０（a）は、変換前のＡＵデータを示す。ＡＵは、ＮＡＬＵ＃１からＮＡＬＵ＃４までの４つのＮＡＬユニットから構成され、３番目のＮＡＬユニットにおいてパケットロスが発生している。ＮＡＬＵ＃３は、本来、図中の受信１、ロスト、および受信２と示された領域のデータから構成されるが、パケットロスによりロスト領域が欠落しているため、受信１部分のデータ直後にＥＲＲ＿ＮＡＬＵが挿入されている。このとき、ＮＡＬＵ＃３において有効なデータと判定されるのは、受信１部分のデータのみであるため、mdatのサンプルデータとして格納されるのは、受信１部分のデータのみとなる。受信１部分のデータサイズは、size3_1であるため、ＮＡＬＵ＃３のデータをＮＡＬサイズフォーマットに変換する際には、Ｎａｌ＿ｌｅｎフィールド値はsize3_1となる。次に、ＮＡＬＵ＃３の直後には、ＮＡＬサイズフォーマットのＥＲＲ＿ＮＡＬＵが挿入される。図１０（b）は、変換後に出力されるＡＵデータの構造を示す。なお、エラー通知用のＮＡＬユニットを挿入せずに、ＴＳパケットのペイロードに含まれていたＮＡＬユニットデータを全て格納する際のＡＵのデータ構造は図１０（c）に示すようになり、ＮＡＬＵ＃３のサイズは、size3_1とsize3_2（受信２部分のサイズ）との和になる。
【００５０】
図１１は、パケットロスによるＮＡＬユニットデータの欠落が、ＮＡＬユニットの境界をまたぐ例である。図１１（a）は、変換前のＡＵデータを示す。ＡＵは、ＮＡＬＵ＃１からＮＡＬＵ＃４までの４つのＮＡＬユニットから構成され、ＮＡＬＵ＃２の終端部分から、ＮＡＬＵ＃３の先頭部分にかけて、ＮＡＬユニットをまたいでデータが欠落している（図中に、ロストと示した領域のデータ）。このとき、ＮＡＬＵ＃２において有効となるのは、図中の受信１部分のデータとなる。次に、ＮＡＬＵ＃３については、ＮＡＬユニット開始位置が検出できなかったため、ＥＲＲＯＲ＿ＮＡＬＵの直後から、ＮＡＵＬ＃４の開始位置までのデータは無効となり、結果として、ＮＡＬＵ＃３のデータは、サンプルデータには格納されない。つまり、図中の受信２部分のデータが無効となる。図１１（b）は、変換後に出力されるＡＵデータの構造を示す。
【００５１】
図１２は、パケットロスによるＮＡＬユニットデータの欠落が、ＡＵの境界をまたぐ例である。図１２（a）は、変換前のＡＵデータを示す。ＡＵ＃１からＡＵ＃３までの３つのＡＵデータは、それぞれ、ＮＡＬＵ＃１からＮＡＬＵ＃４、ＮＡＬＵ＃５からＮＡＬＵ＃８、およびＮＡＬＵ＃９からＮＡＬＵ＃１２から構成されるが、ＮＡＬＵ＃４の途中からＮＡＬＵ＃９の先頭部分にかけて、ＡＵ＃２をまたいでデータが欠落している（図中に、ロストと示した領域のデータ）。ＡＵ＃１からＡＵ＃３において有効なデータは、次のようになる。ＡＵ＃１では、ＮＡＬＵ＃１からＮＡＬＵ＃３までの全データ、およびＮＡＬＵ＃４において取得したnal4_size分のデータが有効となる。ＡＵ＃２のデータは全てロストしたため、有効となるデータは存在しない。このため、ＭＰ４ファイルにおいては、ＡＵ＃１を格納するサンプルの次に、ＡＵ＃３を格納するサンプルが格納される。このとき、ＡＵ＃１を格納するサンプルの再生時間長としては、ＡＵ＃１とＡＵ＃２の再生時間長の和を格納する。最後に、ＡＵ＃３では、ＮＡＬＵ＃１０からＮＡＬＵ＃１２までのデータが有効となる。ここで、ＮＡＬＵ＃１０が、ＡＵ＃３における先頭ＮＡＬユニットでないことが特定できる際には、ＮＡＬＵ＃１０の先頭にＥＲＲ＿ＮＡＬＵを挿入することとしてもよい。例えば、ＭＰＥＧ−２システム規格においては、ＡＵの先頭に、Access Unit Delimiterと呼ばれるＡＵ境界判別用のＮＡＬユニットを挿入することが規定されているため、ＮＡＬＵ＃１０がAccess Unit DelimiterのＮＡＬユニットでなければ、ＡＵ＃３の先頭ＮＡＬユニットがロストしたと判定できる。図１２（b）は、変換後に出力されるＡＵデータの構造を示す。図１２（c）は、パケットロス補完用のＮＡＬユニットを使用する際に出力されるＡＵデータの構造例を示す。ＡＵ＃１とＡＵ＃３の出力データは、図１２（b）と同一であるが、この例では、ＡＵ＃２のデータも出力することとしている。ＡＵ＃２のデータには、パケットロス補完用のＮＡＬユニットのみが含まれ、パケットロス補完用のＮＡＬユニットのサイズは、ＭＰＥＧ‐4  ＡＶＣデータの符号化ビットレート、および、固定フレームレートであるかどうかの情報をもとに推定することができる。このように、パケットロス補完用のＮＡＬユニットを挿入することにより、ビデオデータが固定ビットレートで符号化されている際には、パケットロスによりデータが欠落した際にも、ＭＰ４におけるサンプルデータを、なるべく元の固定ビットレートを保持して格納することができる。また、ストリームが固定フレームレートである際には、パケットロス補完用のＮＡＬユニットから構成されるサンプルを作成することにより、サンプルの再生時間長が一定となり、結果として、サンプルの再生時間長を格納するテーブルのサイズを低減できる。
【００５２】
また、ＡＵのスライスデータが欠落している際には、復号順または表示順で直前のＡＵと同一のデータを格納する、あるいは、スライスなどの単位でエラー隠匿処理を行うことによりＡＵデータを再構成して記録してもよい。さらに、ＡＵデータが再構成されていることを示す情報を別途示してもよい。
【００５３】
なお、ＳＥＩメッセージ（Ｓｕｐｐｌｅｍｅｎｔａｌ  Ｅｎｈａｎｃｅｍｅｎｔ  Ｉｎｆｏｒｍａｔｉｏｎ）により、パケットロスに関する情報を格納してもよい。例えば、ユーザーデータ格納用のＳＥＩメッセージが使用できる。
【００５４】
なお、パケットロスにより欠落したデータの割合や、ＡＵ内のスライスのうち、データが欠落したスライスの割合、あるいはビット誤りの発生頻度などのエラー情報を、エラー通知用のＮＡＬユニットのペイロードやError Sample Boxに格納してもよい。また、エラー通知用のＮＡＬユニットのＮＡＬユニットタイプ、サイズ、あるいは、エラー通知用ＮＡＬユニットのペイロードにエラー情報を記述する際には、記述するエラー情報の種類などを示すＢｏｘを、moov、あるいはmoof内に格納してもよい。
【００５５】
なお、上記各動作は、サンプルデスクリプションボックス（stsd）内のサンプルエントリにおけるfrme_countフィールドを使用することにより、複数のＡＵを１サンプルとして格納する際にも適用できる。
【００５６】
さらに、エラー通知用のＢｏｘを作成する、あるいはエラー通知用のＮＡＬユニットをサンプルデータ内に挿入する方法は、ＲＴＰ（Real-time Transmission Protocol）パケットにより多重化しされた符号化メディアデータをＭＰ４ファイルに変換する際にも適用できる。ＲＴＰパケットにおいては、ＲＴＰパケットのヘッダに付加されたシーケンス番号の連続性を調べることにより、パケットロスを判定できる。
【００５７】
また、本実施の形態では、トラック毎にError Sample Box等のエラー情報を付加しているが、これに限られるものではない。例えば、ＭＰ４ファイル単位にエラー情報を付加しても構わない。この場合、エラー情報は、moov直下に配置することができる。また、フラグメント使用時には、最終フラグメントのmoof、またはmfra内のＢｏｘなどに配置することとしてもよい。これによって、再生時にＭＰ４ファイル全体として、例えばサンプルデータの欠落率（欠落データ／全データ）や、全再生時間長のうちオーディオとビデオが共に再生できる時間長の割合等の情報をユーザに通知することが可能になる。
【００５８】
また、例えば所定の再生区間が指定されるアイテムをリスト形式に複数有し、このアイテムを順に再生するプレイリストおいては、アイテム毎にエラー情報を付加しても構わない。このプレイリストとは、例えばオーディオデータであれば１つの曲をアイテムとして、ユーザによって選択された曲が選択された順に記載されるリストである。ここで、各再生区間は、同一ファイル内の異なる区間であってもよいし、異なるファイル、または異なるファイルの特定区間であってもよい。この場合、再生時には、プレイリスト参照するだけでアイテム毎の例えばサンプルデータの欠落率等の情報を取得することが可能になる。
【００５９】
（実施の形態２）
本発明の実施の形態２に係る多重化方式変換装置について図１３、および図１４を参照して説明する。多重化方式変換装置の構成は、実施の形態１に係る多重化方式変換装置と同一であり、Ｂｏｘデータ決定部３０４において、シンクサンプルのテーブルであるstssを作成する際の動作のみが異なることから、stssの作成方法についてのみ説明する。
【００６０】
実施の形態１の多重化方式変換装置においては、サンプル内のデータが欠落しているかどうかに関わらず、ＩＤＲ ＡＵをシンクサンプルとしていた。しかしながら、シンクサンプルはランダムアクセスする際に復号を開始するサンプルとなるため、シンクサンプルが正常に復号化できないと、シーケンス内の以降のサンプルについても正常な復号結果が得られないことがあるという問題があった。そこで、本実施の形態の多重化方式変換装置では、データが欠落していないＩＤＲ ＡＵのみをシンクサンプルとすることで、シンクサンプルから復号を開始した際に、少なくともシンクサンプルにおいては乱れのない復号結果を得ることができる。
【００６１】
図１３は、Ｂｏｘデータ決定部３０４において、stssを作成する際の動作を示すフローチャートである。まず、ステップ８０１において、サンプルデータ内にＩＤＲスライスのＮＡＬユニットが含まれているかどうか判定する。ここで、ＩＤＲスライスのＮＡＬユニットであるかどうかは、ＮＡＬユニットタイプにより識別する。ＩＤＲスライスのＮＡＬユニットが含まれていない場合には、処理を終了し、含まれている際には、ステップ８０２の処理を行う。ステップ８０２において、サンプルデータ内に、パケットロスのためにデータが欠落したＮＡＬユニットが含まれるかどうかを、エラー情報生成部３０２において取得したサンプル毎のエラー情報に基づいて判定する。サンプルデータが欠落していると判定された際には、処理を終了し、欠落していないと判定された際には、ステップ８０３において、シンクサンプルの一覧を示すstssのテーブルに、当該サンプルのサンプル番号を追加する。以上、ステップ８０１からステップ８０３までの処理を、トラック内の最終サンプルまで繰り返すことにより、stssを作成する。なお、ＩＤＲスライスのＮＡＬユニットを含み、データが欠落していないサンプルを全てシンクサンプルとせずに、例えば、シンクサンプル間の再生開始時間の差分値がなるべく一定となるようにシンクサンプルを決定してもよい。また、ＩＤＲスライスを含むＡＵにおいて、スライス、あるいは、ＳＰＳ、ＰＰＳのＮＡＬユニットにおいてデータが欠落していなければ、シンクサンプルとしてもよい。より具体的には、サンプル内のスライスデータを復号するために必要なＳＰＳ、あるいはＰＰＳのデータが当該サンプル内、あるいは復号時刻が前のサンプルから取得できる場合にのみシンクサンプルとしてもよい。
【００６２】
図１４は、図１３のフローチャートに示した動作によりstssを作成する際の具体例を示す。図１４（a）は、サンプル番号順にサンプルを並べたものであり、サンプル番号が１、１１、２１、および３１のサンプルが、ＩＤＲスライスのＮＡＬユニットを含むが、２１番目のサンプルにおいては、サンプルデータ内のデータが欠落している。このとき、ステップ８０１では、１、１１、２１、および３１番目のサンプルがシンクサンプルの候補とされるが、ステップ８０２において、２１番目のサンプルはシンクサンプルとしないと決定されるため、結果として、ステップ８０３において１、１１、および３１番目のサンプルがstssのテーブルに追加される（図１４（b））。
【００６３】
なお、mfraに登録するランダムアクセス可能なサンプルも、同様の方法で決定できる。
なお、stssを上記の方法により作成することと、Error Sample Boxを作成するとは独立に選択できるとし、例えば、上記の方法でstssを作成し、Error Sample Boxは作成しなくてもよい。
【００６４】
（実施の形態３）
本発明の実施の形態３に係る多重化方式変換装置について図１５から図１７を参照して説明する。多重化方式変換装置の構成は、実施の形態１に係る多重化方式変換装置と同一であり、エラー情報生成部３０２において、図５のステップ４０２の動作によりサンプルのエラー情報を示すＢｏｘを作成する際の動作のみが異なるため、この部分の動作について説明する。本多重化方式変換装置では、シンクサンプルから復号を開始した際に、シンクサンプル以降の何番目のサンプルまでが正しく復号できるかどうかを示すＢｏｘを作成する。本多重化方式変換装置で作成したＭＰ４ファイルを再生する際には、このＢｏｘを参照することにより、正しく復号できることが保証されるサンプルを特定した後に、表示するサンプルを決定できる。
【００６５】
図１５は、エラー情報を示すＢｏｘを作成する際の動作を示すフローチャートである。err_free_flagは、シーケンスの開始するサンプルから、当該サンプルまでのサンプルにおいて、データの欠落が発生していないことを示すフラグであり、初期値は０とする。ステップ９０１では、サンプル内にＩＤＲスライスのＮＡＬユニットが含まれるかどうかを判定し、含まれる際には、ステップ９０２においてerr_free_flagを１にセットする。ステップ９０３では、err_free_flagが１であるかどうか判定し、１である際にはステップ９０４の処理を行い、０である際には以降の処理ステップをスキップし、次サンプルの処理を行う。ステップ９０４では、サンプルを構成するＮＡＬユニットのデータが欠落しているかどうかを判定する。なお、スライス、あるいは、ＳＰＳ、ＰＰＳのＮＡＬユニットデータが欠落していなければ、ステップ９０４において、データが欠落していないと判定してもよい。データの欠落したＮＡＬユニットが存在する際には、ステップ９０５において、エラーフリー区間の最終サンプルの一覧を示すテーブルに、直前サンプルのサンプル番号を追加する。ここで、エラーフリー区間とは、復号順で配置される当該区間のサンプルにおいて、データの欠落が発生しないことが保証される区間である。ランダムアクセスする際には、シンクサンプルから復号が開始され、さらに、シンクサンプルはＩＤＲスライスのＮＡＬユニットを含むサンプルであるため、エラーフリー区間の開始サンプルはシンクサンプルとなる。なお、ＩＤＲスライスのＮＡＬユニットを含むサンプルにおいてデータが欠落している際には、当該サンプルに対するエラーフリー区間は定義されない。したがって、ステップ９０５はスキップされる。以上、ステップ９０１からステップ９０５までの処理をトラックの最終サンプルの処理が完了するまで繰り返す。ここで、データの欠落が発生しないことを保証するというのは、ＴＳパケットのcontinuity_counter値からはエラーが検出できなかったことを示すものであり、必ずしも、データの欠落が全く発生していないことを保証するものではない。なお、continuity_counter以外のパケットロス情報により、より正確にパケットロスを検出できる際には、当該情報を利用してエラーを検出してもよい。
【００６６】
なお、エラーフリー区間を示すことができれば、エラーフリー区間に含まれるサンプル数を示すなど、最終サンプル以外の情報を用いてもよい。
【００６７】
図１６は、図１５のフローチャートに示した動作により、エラー情報を格納するＢｏｘを作成する際の具体例を示す。図１６（a）は、それぞれ１０個のサンプルから構成される、連続する２つのシーケンスを示す。シーケンス＃１は、１番目のサンプルから開始し、７番目、および９番目のサンプルのデータが欠落しており、シーケンス＃２は、１１番目のサンプルから開始し、１６番目のサンプルのデータが欠落している。エラーフリー区間を決定する際の手順を以下に説明する。まず、１番目のサンプルにおいて、err_free_flagが１にセットされる。６番目のサンプルまでは、ステップ９０４において、サンプルデータが欠落していないと判定されるため、ステップ９０５、およびステップ９０６の処理はスキップされ、err_free_flagの値は１のまま保持される。次に、７番目のサンプルでは、ステップ９０４において、サンプルデータが欠落していると判定されるため、ステップ９０５において、エラーフリー区間の最終サンプルを格納するテーブルにエントリが追加され、１つ手前のサンプルである６番目のサンプルを示すサンプル番号が格納される。１０番目のサンプルまでは、err_free_flagの値は０のままである。続いて、１１番目のサンプルにおいて、再びerr_free_flagが１にセットされ、シーケンス＃１と同様にして、１５番目のサンプルが、エラーフリー区間の最終サンプルとしてテーブルに追加される。図１６（b）は、シンクサンプルテーブルを示す。図１６（b）は、エラーフリー区間の最終サンプルのテーブルを示す。図１６（b）、および図１６（c）の２つのテーブルから、シーケンス＃１におけるエラーフリー区間は、サンプル番号が１から６までのサンプルであり、シーケンス＃２におけるエラーフリー区間は、サンプル番号が１１から１５までのサンプルであることが示される。図１６（d）は、エラーフリー区間の最終サンプルの一覧を示すＢｏｘであるError Free End Sample Boxのシンタックス例であり、end_sample_numberは、エラーフリー区間の最終サンプルのサンプル番号を示す。Error Free End Sample Boxは、moovにおいては、trak内のstbl直下に配置することとし、moofにおいては、トラックフラグメントランボックス（'traf'）直下に配置するが、他のＢｏｘの直下に配置してもよい。
【００６８】
なお、ステップ９０１では、サンプル内にＩＤＲスライスのＮＡＬユニットが含まれるかどうかを判定し、err_free_flagをセットすることとしたが、ＩＤＲスライスのＮＡＬユニットが含まれるサンプルを必ずしもシンクサンプルとはしない場合には、stssに示されるシンクサンプル一覧とError Free End Sample Boxを用いてエラーフリー区間を特定することができない。そこで、ステップ９０１において、当該サンプルがシンクサンプルであるかどうかを判定し、シンクサンプルであればerr_free_flagをセットすることとしてもよい。また、エラーフリー区間の最終サンプルではなく、先頭サンプルを示すこととしてもよい。例えば、図１６（a）において、シーケンス＃１の６番目から１０番目までのサンプルのデータが完全に揃っている際には、エラーフリー区間の先頭サンプルを６とすることにより、６番目のサンプルから、シーケンス２の先頭サンプルである１１番目のサンプルまでがエラーフリー区間であると示すことができる。
【００６９】
なお、ＭＰ４では、ランダムアクセス可能なサンプルとして、シンクサンプルの他に、Gradual Decoder Refreshポイントを指定することができる。Gradual Decoder Refreshポイントとは、当該サンプルにおいては正しい復号結果が得られないものの、復号順で後続のサンプルを指定された個数だけ復号すれば、正しい復号結果が得られるようになるサンプルを指す。あるいは、あるサンプルにおいて正しい復号結果を得るためには、復号順で指定された個数だけ前のサンプルから復号を開始する必要がある際の、復号開始サンプルを指すこともできる。例えば、復号順でＭ番目のサンプルから復号を開始した際に、正しい復号結果が得られるのはＮ番目（Ｎ＞Ｍ）のサンプルからである場合に、ＭＰ４ファイルにおいては、ＮとＭの差分値を示す情報が示される。そのため、エラーフリー区間の先頭サンプルとして、Gradual Decoder Refreshポイントに相当するサンプルも使用してよい。
【００７０】
なお、シンクサンプルと対応付けることなしにエラーフリー区間を特定できるように、エラーフリー区間の先頭サンプルと最終サンプルを共に示すこととしてもよい。
【００７１】
上記では、エラーフリー区間の最終サンプルの一覧を示すこととしたが、データの欠落したサンプルがシーケンス内に含まれるかどうかを示すこととしてもよい。以下、図１７に例を示して説明する。図１７（a）は、それぞれが１０個のサンプルから構成される、連続する６つのシーケンスを示す。ここで、シーケンス＃１、シーケンス＃３、シーケンス＃４、およびシーケンス＃６の４つのシーケンスについては、シーケンス内の全てのサンプルデータが完全に揃っており、シーケンス＃２、およびシーケンス＃５においては、データの欠落したサンプルが含まれるものとする。図１７（c）は、シーケンス内の全てのサンプルデータが完全に揃っているシーケンスにおける先頭サンプルの一覧である。図１７（b）は、各シーケンスの先頭サンプルをシンクサンプルとした際のシンクサンプルの一覧であり、図１７（b）と図１７（c）の２つのテーブルを参照することにより、シーケンス内でデータの欠落が発生しているシーケンスは、サンプル番号が１１、および４１のシンクサンプルから開始するシーケンスであり、発生していないシーケンスはサンプル番号が１、２１、３１、５１のシンクサンプルから開始するシーケンスであることが分かる。なお、ＩＤＲスライスのＮＡＬユニットが含まれるサンプルを必ずしもシンクサンプルとはしない場合には、連続する２つのシンクサンプル間のサンプルデータに欠落が発生しているかどうかを示してもよい。図１７（d）は、シーケンス内でデータの欠落が発生していないシーケンスの先頭サンプルの一覧を示すError Free Sequence Boxのシンタックス例である。シンタックス内のsequence_start_sample_numberは、シーケンスの先頭サンプルのサンプル番号を示す。なお、シーケンスの先頭サンプル番号以外にも、シーケンスにおける欠落データの割合などに応じて、シーケンスを再生した際の再生画像の品質を示すパラメータとして、Ｇｏｏｄ、Ｍｅｄｉｕｍ、Ｂａｄなどの指標を示すこととしてもよい。例えば、欠落データの割合、画面内符号化されたＡＵの頻度、イントラマクロブロックの割合などに応じて品質を決定することができる。さらに、シーケンス内で正しく復号できるサンプルを示すための情報を格納することとしてもよい。具体的には、サンプル間の参照関係と、各サンプルにおけるスライスデータ、ＳＰＳ、あるいはＰＰＳのＮＡＬユニットにおいてデータの欠落しているどうか、を示すことにより、サンプルを復号する際に、参照先サンプルのデータが欠落しているかが分かるため、当該サンプルを正しく復号できるかどうか判定することができる。Error Free Sequence Boxは、moovにおいては、trak内のstbl直下に配置することとし、moofにおいては、トラックフラグメントランボックス（'traf'）直下に配置することするが、他のＢｏｘの直下に配置してもよい。
【００７２】
また、実施の形態１から実施の形態３において説明したError Sample Box、Error Free End Sample Box、およびError Free Sequence Boxの各Ｂｏｘは、組み合わせて使用してもよい。例えば、Error Sample BoxとError Free End Sample Boxを組み合わせることにより、エラーフリー区間に含まれないサンプルにおいて、どのサンプルのデータが欠落しているかを特定し、復号するサンプルを決定することができる。
【００７３】
また、正しく復号できるサンプル、あるいは、データが欠落したサンプルの割合などからトラックの再生品質を決定し、再生品質を示す情報を格納したＢｏｘを、trak直下に配置してもよいし、オーディオ、ビデオ、あるいはテキストデータのトラックを同時に再生した際の再生品質を示すＢｏｘをmoov直下に配置してもよい。
【００７４】
なお、上記各実施の形態において、バイトストリームフォーマットからＮＡＬサイズフォーマットに変換する部分と、データの欠落を示す情報を付加する処理とは別々に実施してもよい。例えば、ＮＡＬサイズフォーマットや、ＲＴＰ（Ｒｅａｌ  Ｔｉｍｅ  Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｐｒｏｔｏｃｏｌ）などインターネットの動画配信で使用されるフォーマットにより伝送されたＮＡＬユニットのデータに対して、データの欠落情報を付加できる。
【００７５】
また、ＭＰＥＧ−４  ＡＶＣの符号化データを多重化する際にも、ＡＵ形式変換部３０３を使用できる。例えば、ＭＰＥＧ−４  ＡＶＣの符号化処理を簡略化するために符号化データのフォーマットをバイトストリームフォーマットに統一できるが、このとき、当該符号化部から出力された符号化データをＴＳやＭＰ４など、符号化データの格納形式が異なる多重化方式で多重化する際に、ＡＵ形式変換部３０３の処理を適用できる。ここで、符号化時はストリームにエラーが存在しないため、データの欠落を補償する処理は省略できる。なお、ＡＵ形式変換部３０３では、バイトストリームフォーマットからＮＡＬサイズフォーマットへ変換したが、符号化時の出力がＮＡＬサイズフォーマットに統一される際には、ＮＡＬサイズフォーマットからバイトストリームフォーマットへ変換してもよい。
【００７６】
（実施の形態４）
本発明の実施の形態４に係る逆多重化装置について図１８から図２０を参照して説明する。本逆多重化装置は、実施の形態１から実施の形態３に係る多重化方式変換装置により作成されたＭＰ４ファイルを入力して、ＡＵデータを分離して、復号、表示するものであるが、Error Sample Boxなどに示されるエラー情報を参照することにより、復号、あるいは表示動作を決定する。このため、シーケンス内に正しく復号できないサンプルが多数含まれる際には、次のシーケンスまでスキップするなどの動作をファイルフォーマットレベルの情報から決定することができ、結果として、正しく復号できないサンプルを復号、表示することによる再生品質の低下を防ぐことができる。また、ファイルフォーマットレベルの情報により復号、表示動作を決定することにより、エラー隠匿処理の異なる復号部、あるいは表示部を用いた際にも、同一の出力結果を得ることができる。なお、逆多重化装置に入力されるＭＰ４ファイルでは、サンプルにおけるデータの欠落を示す際には、エラー情報（欠落情報）を示すＢｏｘが必ず付加されているものとする。以下では、ＭＰＥＧ−４  ＡＶＣのトラックを再生する際の動作について説明するが、再生するトラックはＭＰＥＧ−４  ＡＶＣに限定されるものではなく、Ｈ．２６３やＭＰＥＧ−４  Ｖｉｓｕａｌなどのビデオ符号化データ、あるいはＭＰＥＧ−４  ＡＡＣやＡＭＲなどのオーディオ符号化データであってもよいし、ビデオとオーディオのトラックを同時に再生するものであってもよい。
【００７７】
図１８は、逆多重化装置の構成を示すブロック図である。本装置は、ヘッダ分離部４０１、ヘッダメモリ４０２、mdatメモリ４０３、サンプル取得部４０４、エラー情報解析部４０５、および復号再生部４０６とから構成され、外部から入力される再生開始時間をトリガとして再生処理を開始する。ファイル先頭から開始する際には、再生開始時間は０秒となり、先頭から１０秒の位置から開始する際には、１０秒となる。ただし、シンクサンプルから復号・再生を開始する際には、入力された再生開始時間に一致する再生開始時間をもつシンクサンプルが存在しないことがあり、この場合は、入力された再生開始時間より前、あるいは後で最も再生開始時間が近いシンクサンプルから復号・再生を開始する。なお、シンクサンプルではなく、Gradual Decoder Refreshポイントとして示されるサンプルから再生を開始することとしてもよい。
【００７８】
ヘッダ分離部４０１は、ＭＰ４ファイルからmoov、およびmoofを含むヘッダ部と、mdatから成るデータ部を分離し、ヘッダ部のデータをヘッダメモリ４０２に出力し、mdatのデータをmdatメモリ４０３に出力する。サンプル取得部４０４は、外部から入力された再生開始時間に基づいて、復号を開始するシンクサンプルを決定する。以降のサンプルについては、シンクサンプルについてのヘッダ情報を取得する際に、当該シンクサンプルのサンプル番号をエラー情報解析部４０５に出力する。エラー情報解析部４０５では、サンプル取得部４０４から入力されたシンクサンプル番号から開始するシーケンスにおけるエラー情報を、Error Sample Box、Error Free End Sample Box、あるいはError Free Sequence Boxから取得して、解析し、シーケンス内で復号するサンプルを決定した後に、復号すると決定したサンプルの一覧をサンプル取得部４０４に出力する。また、エラー情報解析部４０５は、取得した欠落情報を復号表示部４０６の欠落情報通知部４０６ｃに出力する。また、スライスのＮＡＬユニット毎の欠落情報が取得できる際には、サンプルにおいて復号するスライスを示す情報を出力してもよい。なお、復号するサンプルの決定をシンクサンプル毎に行わずに、予め決められた個数のサンプル毎に行うこととしてもよい。サンプル取得部４０４は、moovあるいはmoofを解析して、エラー情報解析部により復号すると決定されたサンプルのデータ、および表示時間を取得して、復号表示部４０６に出力する。ここで、moovあるいはmoofはヘッダメモリ４０２から取得し、サンプルのデータは、mdatメモリ４０３から取得する。なお、復号時間と表示時間とが異なる際には、両者をともに復号表示部４０６に出力してもよい。
【００７９】
最後に、復号表示部４０６は、復号部４０６ａ、サンプル表示部４０６ｂ、および欠落情報通知部４０６ｃを備えている。復号部４０６ａは、サンプルデータを復号する。サンプル表示部４０６ｂは、復号されたサンプルデータを表示時間に従って表示する。欠落情報通知部４０６ｃは、欠落情報に基づいて例えばサンプルデータの欠落率（欠落データ／全データ）等の情報をユーザに通知し、ＭＰ４ファイルを再生するか否かの問い合わせを行う。また、欠落情報通知部４０６ｃは、サンプルデータの欠落率等の情報によりユーザが再生を許可した場合の再生許可信号を受け付けると、サンプル取得部４０４に再生指示信号を出力する。なお、エラー情報解析部４０５においては復号するサンプルを決定せずに、データが欠落しているサンプル、あるいはエラーフリー区間の情報などのエラー情報を、復号表示部４０６に出力し、復号表示部において、入力されたエラー情報、あるいはサンプルデータに挿入されたエラー通知用のＮＡＬユニットにより示される情報に基づいて、復号するサンプル、あるいはスライスデータを決定してもよい。このとき、復号サンプルの一覧はサンプル取得部４０４には出力しない。
【００８０】
次に、上記のように構成された逆多重化装置において、ＭＰ４ファイルを再生する際の動作について説明する。図１９は、ＭＰ４ファイルを再生する際の動作を示すフローチャートである。
【００８１】
欠落情報通知部４０６ｃは、エラー情報解析部４０５によってヘッダ情報（moov）から取得されたＭＰ４ファイルまたはトラック単位の欠落情報をユーザに通知するとともに、ユーザに対してＭＰ４ファイルを再生するか否かの問い合わせを行う（ステップ１００１）。次に、問い合わせに対してユーザが再生を指示したか否かを判定する（ステップ１００２）。この結果、再生が指示されていれば（ステップ１００２でｙｅｓ）、欠落情報通知部４０６ｃは、サンプル取得部４０４に再生指示信号を出力することで、再生を指示する（ステップ１００４）。入力された再生開始時間から再生を開始し、最終サンプルまたはユーザから再生終了が指示されるまでサンプルを復号し、再生する（ステップ１００５）。一方、再生が指示されていなければ（ステップ１００２でｎｏ）、ＭＰ４ファイルを再生しない旨をユーザに通知する（ステップ１００３）。
【００８２】
次に、ステップ１００５において、サンプルを再生する際の手順について説明する。図２０は、ステップ１００５の動作を示すフローチャートである。まず、ステップ１１０１において、入力された再生開始時間に基づいて、復号を開始するシンクサンプルを決定する。ステップ１１０１の処理終了後、ループBの処理を行う。ループBは、ステップ１１０２からステップ１１０６までの処理を繰り返すループ処理であり、復号時に新規のシンクサンプルを検出する度に繰り返される。ステップ１１０２では、Error Sample Box、Error Free End Sample Box、あるいはError Free Sequence Boxから、次シンクサンプルまでの間のサンプルにおいて、データが欠落しているかどうかなどのエラー情報を取得する。ステップ１１０３では、ステップ１１０２において取得したエラー情報に基づいて、当該シーケンス内で復号するサンプルを決定し、復号するサンプルのサンプル番号の一覧をテーブルに格納する。ステップ１１０３の終了後、ループＡの処理において、ステップ１１０３において作成されたテーブルにより、復号すると決定されたサンプルを順に復号し、表示する。ループＡは、ステップ１１０４からステップ１１０６までの処理から構成され、再生時に復号する最終サンプルの処理が終了するまで繰り返す。ステップ１１０４では、moovあるいはmoofを解析してサンプルデータ、およびサンプルの表示時間を取得する。ステップ１１０５では、ステップ１１０４において取得したサンプルデータを復号し、ステップ１１０６では、ステップ１１０４において取得した表示時間に基づいて、ステップ１１０５で復号されたサンプルデータを表示する。
【００８３】
以下に、ステップ１１０２において、Error Sample Box、Error Free End Sample Box、およびError Free Sequence Boxの各Ｂｏｘを参照して、復号するサンプルを決定する際の手順について順に説明する。
【００８４】
まず、Error Sample Boxを参照する際は、データが欠落していることが示されるサンプルは復号しないと決定する。なお、スライスのＮＡＬユニット単位でのデータ欠落情報が取得できる際には、サンプル内のスライスＮＡＬユニット単位で復号するかどうかを決定してもよい。また、サンプル内のスライスＮＡＬユニットを復号する際に参照するスライスＮＡＬユニットのデータが欠落しているかどうかが示される際には、参照先のスライスＮＡＬユニットのデータが完全に揃っている場合にのみ、当該スライスＮＡＬユニットのデータを復号するとしてもよい。例えば、各サンプルを構成するスライスＮＡＬユニットの符号化タイプが周期的に変化する際には、周期構造が既知であれば、スライスＮＡＬユニットが参照するサンプルのデータを特定することができる。一例として、符合化タイプの周期が１５サンプルであり、周期内の各サンプルにおけるスライスＮＡＬユニットの符号化タイプが、復号順でＩＢＢＰＢＢＰＢＢＰＢＢＰＢＢであるとする。ここで、Ｉはイントラスライス、あるいはＩＤＲスライスから構成されるサンプル、Ｂは双予測のスライスから構成されるサンプル、Ｐは一方向予測のスライスから構成されるサンプルを示す。このとき、Ｂサンプルは、復号順で直前にあるＢサンプル以外の２つのサンプル、Ｐサンプルは、復号順で直前にあるＢサンプル以外のサンプルを参照すると、Ｂサンプル、およびＰサンプルのスライスデータが参照するサンプルを特定することができる。
【００８５】
次に、Error Free End Sample Boxを参照して復号するサンプルを決定する際には、エラーフリー区間に含まれないサンプルは復号しないと決定する。
【００８６】
最後に、Error Free Sequence Boxを参照して復号するサンプルを決定する際には、連続した２つのシンクサンプル間にデータの欠落したサンプルが含まれる際には、最初のシンクサンプルのみ復号する。
【００８７】
なお、Error Sample Box、Error Free End Sample Box、およびError Free Sequence Boxが２つ以上同時に使用されている際には、使用されているＢｏｘに応じて、復号するサンプルの決定方法を変更することとしてもよい。例えば、Error Sample BoxとError Free End Sample Boxが同時に使用されている際には、エラーフリー区間に含まれないサンプルについても、Error Sample Boxの情報により、正しく復号できるサンプルが示される。このときは、エラーフリー区間外のサンプルを復号することとしてもよい。Error Sample BoxとError Free Sequence Boxが同時に使用されている際も、同様である。
【００８８】
また、本実施の形態では、欠落情報通知部４０６ｃは、ユーザに対してＭＰ４ファイルを再生するか否かの問い合わせを行っているが、これに限られるものではない。例えば、欠落情報通知部４０６ｃは、ユーザに対してＭＰ４ファイルを再生するか否かの問い合わせを行わずに、単にサンプルデータの欠落率等の情報をユーザに通知するだけであっても構わない。また、欠落情報通知部４０６ｃは、例えばサンプルデータの欠落率等の情報を所定の閾値で判定し、条件を満たした場合にサンプル取得部４０４に再生指示信号を出力するようにしても構わない。さらに、欠落情報通知部４０６ｃは、例えばサンプルデータの欠落率等の情報を所定の閾値で判定し、条件を満たさない場合にだけユーザに対してＭＰ４ファイルを再生するか否かの問い合わせを行っても構わない。
【００８９】
なお、本多重化装置は、従来のＭＰ４ファイルも再生できる。
【００９０】
（実施の形態５）
本発明の実施の形態５に係る逆多重化装置について図２１を参照して説明する。本逆多重化装置は、実施の形態１から実施の形態３に係る多重化方式変換装置により作成されたＭＰ４ファイルを入力して、ＡＵデータを分離して、復号、表示するものであるが、サンプルデータに挿入されたエラー通知用のＮＡＬユニットに示されるエラー情報を参照することにより、復号、あるいは表示動作を決定する。なお、逆多重化装置に入力されるＭＰ４ファイルにおいては、エラー情報を示すＢｏｘは付加されていなくてもよい。以下では、ＭＰＥＧ−４  ＡＶＣのトラックを再生する際の動作について説明するが、再生するトラックはＭＰＥＧ−４  ＡＶＣに限定されるものではなく、Ｈ．２６３やＭＰＥＧ−４  Ｖｉｓｕａｌなどのビデオ符号化データ、あるいはＭＰＥＧ−４  ＡＡＣやＡＭＲなどのオーディオ符号化データであってもよいし、ビデオとオーディオのトラックを同時に再生するものであってもよい。
【００９１】
本逆多重化装置の構成は、図１８に示した実施の形態４の逆多重化装置においてエラー情報解析部４０５を除いた構成と同一であるため、説明を省略する。図２１は、本逆多重化装置の動作を示すフローチャートである。まず、ステップ１１０１において、入力された再生開始時間に基づいて、復号を開始するシンクサンプルを決定する。ステップ１１０１の処理終了後、ループＡの処理を行う。ループＡは、ステップ１１０２からステップ１００５までの処理を繰り返すループ処理であり、再生時に復号する最終サンプルの処理が終了するまで繰り返す。ステップ１１０２では、復号するサンプルのデータを取得する。以降、ステップ１１０３からステップ１１０５までの処理は、復号表示部４０６における処理となる。ステップ１１０３では、ステップ１１０２において取得したサンプルデータにおいて、エラー通知用のＮＡＬユニット、あるいはサンプルを特定し、サンプルが正しく復号できないと示される際には、サンプルの復号を行わない。続いて、ステップ１１０４では、ステップ１１０３において復号すると決定されたスライスＮＡＬユニットのデータを復号し、ステップ１１０５では、復号されたサンプルデータを表示時間に基づいて表示する。
【００９２】
（実施の形態６）
ここで、上記実施の形態１から実施の形態５で示した多重化方式変換装置、および逆多重化装置を用いたシステムを説明する。
【００９３】
図２２は、放送、および通信によるコンテンツ配信サービスを実現するシステムの全体構成を示すブロック図である。まず、放送データを受信するケースについて述べる。携帯電話ex１０５、あるいはＤＶＤレコーダなどのディスクレコーダex１０４は、デジタル化された符号化メディアデータが多重化されたＴＳパケット列を受信する。携帯電話ex１０５では、受信したＴＳパケット列を、本発明に係る多重化方式変換装置によってＭＰ４に変換してからＳＤカードex１０６に記録する。記録したＭＰ４ファイルは、本発明に係る逆多重化装置を備えた携帯電話ex１０５、ディスクレコーダex１０４、あるいは図示しないパーソナルコンピュータなどで視聴することができる。また、ＭＰ４ファイルを電子メールに添付して、携帯電話ex１０５から無線基地局ex１０７を経由して、本発明に係る逆多重化装置を備えた別の携帯電話ex１０８に送信し、携帯電話ex１０８においてＭＰ４ファイルを視聴することもできる。さらに、メール添付ではなく、ＨＴＴＰ（Ｈｙｐｅｒ  Ｔｅｘｔ  Ｔｒａｎｓｐｏｒｔ  Ｐｒｏｔｏｃｏｌ）およびＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）などのプロトコルを使用して、携帯電話ex１０５から携帯電話ex１０８にダウンロード、あるいは擬似ストリーミング配信してもよい。
【００９４】
ディスクレコーダex１０４においても、受信したＴＳパケット列を本発明に係る多重化方式変換装置によってＭＰ４に変換し、ＳＤカード、ＤＶＤなどの光ディスク、あるいはハードディスクに記録することができる。また、記録したＭＰ４ファイルを、携帯電話や図示しないパーソナルコンピュータに対してダウンロード、あるいは擬似ストリーミング配信してもよい。なお、ＳＤカードにはＴＳパケット列を記録し、配信時にＭＰ４に変換することとしてもよい。
【００９５】
コンテンツサーバex１０２からインターネット経由で配信されたＴＳパケット列を携帯電話ex１０５、あるいはディスクレコーダex１０４において受信する際にも、上記放送データを受信した際と同様にＭＰ４ファイルを使用することができる。
【００９６】
（実施の形態７）
上記各実施の形態で示した多重化方式変換装置における多重化方式変換方法、および逆多重化装置における逆多重化方法を実現するためのプログラムを、フレキシブルディスク等の記憶媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【００９７】
図２３は、上記各実施の形態の多重化方式変換装置における多重化方式変換方法、および逆多重化装置における逆多重化方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
【００９８】
図２３(b) は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図２３(a) は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムが記録されている。
【００９９】
また、図２３(c) は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。多重化方式変換装置における多重化方式変換方法、および逆多重化装置における逆多重化方法を実現する上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムにより上記各実施の形態の多重化方式変換装置における多重化方式変換方法、および逆多重化装置における逆多重化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【０１００】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【産業上の利用可能性】
【０１０１】
本発明に係る多重化方式変換装置は、ＴＳにより送信されたＭＰＥＧ−４  ＡＶＣなどの符号化データを、ＭＰ４に変換して記録、あるいは送信する機器全般に適用することができ、特にデジタル放送を受信する携帯電話などに有効である。
【図面の簡単な説明】
【０１０２】
【図１】本発明の実施の形態１に係る多重化方式変換装置の全体構成を示すブロック図である。
【図２】本発明の実施の形態１に係る多重化方式変換装置における変換部１０３の構成を示すブロック図である。
【図３】本発明の実施の形態１に係る多重化方式変換装置の動作を示すフローチャートである。
【図４】本発明の実施の形態１に係る多重化方式変換装置におけるＢｏｘデータ決定部の構成を示すブロック図である。
【図５】本発明の実施の形態１に係る多重化方式変換装置におけるＢｏｘ作成部２０５の動作を示すフローチャートである。
【図６】本発明の実施の形態１に係る多重化方式変換装置のＢｏｘ作成部２０５においてＭＰ４のヘッダ部の作成動作を示すフローチャートである。
【図７】本発明の実施の形態１に係る多重化方式変換装置におけるError Sample Boxの作成動作を示すフローチャートである。
【図８】本発明の実施の形態１に係る多重化方式変換装置におけるError Sample Boxの作成動作の例である。
【図９】本発明の実施の形態１に係る多重化方式変換装置におけるサンプルデータの決定方法を示すフローチャートである。
【図１０】本発明の実施の形態１に係る多重化方式変換装置において、パケットロスがＮＡＬユニットをまたがない場合のサンプルデータ変換例である。
【図１１】本発明の実施の形態１に係る多重化方式変換装置において、パケットロスがＮＡＬユニットをまたぐ場合のサンプルデータ変換例である。
【図１２】本発明の実施の形態１に係る多重化方式変換装置において、パケットロスがＡＵ境界をまたぐ場合のサンプルデータ変換例である。
【図１３】本発明の実施の形態２に係る多重化方式変換装置におけるシンクサンプルボックスの作成方法を示すフローチャートである。
【図１４】本発明の実施の形態２に係る多重化方式変換装置におけるシンクサンプルボックスの作成例である。
【図１５】本発明の実施の形態３に係る多重化方式変換装置におけるError Free End Sample Boxの作成動作を示すフローチャートである。
【図１６】本発明の実施の形態３に係る多重化方式変換装置におけるError Free End Sample Boxの作成動作の例である。
【図１７】本発明の実施の形態３に係る多重化方式変換装置におけるError Free Sequence Boxの作成動作の例である。
【図１８】本発明の実施の形態４に係る逆多重化装置の構成を示すブロック図である。
【図１９】本発明の実施の形態４に係る逆多重化装置におけるＭＰ４ファイルを再生する際の動作を示すフローチャートである。
【図２０】本発明の実施の形態４に係る逆多重化装置の動作を示すフローチャートである。
【図２１】本発明の実施の形態５に係る逆多重化装置の動作を示すフローチャート図である。
【図２２】本実施の形態６における多重化方式変換装置の使用例を示す図である。
【図２３】上記各実施の形態の多重化方式変換装置における多重化方式変換方法、および逆多重化装置における逆多重化方法をコンピュータシステムにより実現するためのプログラムを格納するための記憶媒体についての説明図である。
【図２４】ＭＰＥＧ−４  ＡＶＣにおけるＡＵのデータ構造を示す図である。
【図２５】ＰＥＳパケット、およびＴＳパケットのデータ構造を示す図である。
【図２６】ＭＰ４のＢｏｘ構造を示す図である。
【図２７】ＭＰ４におけるmoovの階層構造を示す図である。
【図２８】ＭＰ４におけるmoofの使用方法を示す図である。
【図２９】従来の多重化方式変換装置の動作を示すフローチャートである。
【図３０】従来の多重化方式変換装置におけるＭＰ４ファイルの作成動作を示すフローチャートである。
【符号の説明】
【０１０３】
１０１    データＩ／Ｏ部
１０２    メモリ
１０３    変換部
２０１    ＴＳペイロード分離部
２０２    パケットロス判定部
２０３    ＰＥＳ分離解析部
２０４    ＡＵ分離部
２０５    ＰＥＳヘッダ解析部
２０６    Ｂｏｘ作成部
２０７    連結部
３０１    ＡＵ解析部
３０２    エラー情報生成部
３０３    ＡＵ形式変換部
３０４    Ｂｏｘデータ決定部
４０１    ヘッダ分離部
４０２    ヘッダメモリ
４０３    mdatメモリ
４０４    サンプル取得部
４０５    エラー情報解析部
４０６    復号再生部
４０６ａ  復号部
４０６ｂ  サンプル表示部
４０６ｃ  欠落情報通知部
【図１】
2005229587.tif 000003
【図２】
2005229587.tif 000004
【図３】
2005229587.tif 000005
【図４】
2005229587.tif 000006
【図５】
2005229587.tif 000007
【図６】
2005229587.tif 000008
【図７】
2005229587.tif 000009
【図８】
2005229587.tif 000010
【図９】
2005229587.tif 000011
【図１０】
2005229587.tif 000012
【図１１】
2005229587.tif 000013
【図１２】
2005229587.tif 000014
【図１３】
2005229587.tif 000015
【図１４】
2005229587.tif 000016
【図１５】
2005229587.tif 000017
【図１６】
2005229587.tif 000018
【図１７】
2005229587.tif 000019
【図１８】
2005229587.tif 000020
【図１９】
2005229587.tif 000021
【図２０】
2005229587.tif 000022
【図２１】
2005229587.tif 000023
【図２２】
2005229587.tif 000024
【図２３】
2005229587.tif 000025
【図２４】
2005229587.tif 000026
【図２５】
2005229587.tif 000027
【図２６】
2005229587.tif 000028
【図２７】
2005229587.tif 000029
【図２８】
2005229587.tif 000030
【図２９】
2005229587.tif 000031
【図３０】
2005229587.tif 000032