(57)【要約】【課題】画像フレームを構成するサブフレーム単位の情報を格納する手段の提供。【解決手段】フレームを構成するサブフレームの数がｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔに格納され、サブフレームのサイズ、およびサブフレームに必要な情報にアクセスするための情報が、それぞれｓｕｂｓａｍｐｌｅｓｉｚｅ，　ｄｅｃ＿ｉｎｄｅｘフィールドに格納される。これによって、フレームを構成するサブフレームに関する情報を格納できるという効果が得られ、さらにフレームとサブフレームの情報が同一の単位に格納されるため、両者の情報を取得する際の計算量が削減できるという効果が得られる。【選択図】　図１
2004048299.tif 000002
【特許請求の範囲】
【請求項１】
動画像、音声、テキストなどをフレーム化したデジタルデータを２つ以上のパケットに多重化したパケットデータ構造であって、
前記パケットデータは、
パケットヘッダ部と、
パケットペイロード部と、
から構成され、
前記パケットヘッダ部は、
Ｐ個（Ｐは１以上の整数）のフレームに関する情報を格納する第１のヘッダ単位とを含み、
前記パケットペイロード部は、
前記Ｐ個のフレームのフレームデータを格納するＱ個（Ｑは１以上の整数）のフレーム格納単位と、
から構成され、
前記第１の単位は、
前記Ｐ個のフレームに関する情報を格納するフレーム情報格納部と、
前記Ｐ個のフレームを構成するサブフレームに関する情報を格納するサブフレーム情報格納部と、
から構成されることを特徴とするパケットデータ構造。
【請求項２】
動画像、音声、テキストなどをフレーム化したデジタルデータを２つ以上のパケットに多重化したパケットデータ構造であって、
前記パケットデータは、
パケットヘッダ部と、
パケットペイロード部と、
から構成され、
前記パケットヘッダ部は、
Ｐ個（Ｐは１以上の整数）のフレームに関するフレーム情報を格納する第１のヘッダ単位と、
前記Ｐ個のフレームを構成するサブフレームに関するサブフレーム情報を格納する第２のヘッダ単位と、
を含み、
前記パケットペイロード部は、
前記Ｐ個のフレームのフレームデータを格納するＱ個（Ｑは１以上の整数）のフレーム格納単位と、
から構成されることを特徴とするパケットデータ構造。
【請求項３】
前記サブフレームは、ＭＰＥＧあるいはＩＴＵ−Ｔで規格化された画像圧縮方式において呼ばれるスライス、あるいはビデオパケットであるこことを特徴とする、請求項１あるいは２に記載のパケットデータ構造。
【請求項４】
前記フレーム情報は、少なくとも、フレームデータのサイズ、再生時間長、再生開始時間、復号開始時間、優先度、ランダムアクセス可能かどうかを示すフラグ、フレームデータの格納位置情報、復号に必要な情報へアクセスするための情報、のいずれか１つ以上を含むことを特徴とする、請求項１あるいは２に記載のパケットデータ構造。
【請求項５】
前記サブフレーム情報は、少なくとも、フレームを構成するサブフレームの数、サブフレームのデータサイズ、サブフレームの復号に必要な情報へアクセスするための情報、のいずれか１つ以上を含むことを特徴とする、請求項１あるいは２に記載のパケットデータ構造。
【請求項６】
前記パケットヘッダ部は、ヘッダ部にサブフレーム情報が含まれるかどうかを示すフラグ情報を含むことを特徴とする、請求項１あるいは２に記載のパケットデータ構造。
【請求項７】
動画像、音声、テキストなどのデータを入力して符号化し、符号化結果であるデジタルデータと、フレームのサイズと、フレームを構成するサブフレーム数、各サブフレームのサイズと、を少なくとも出力する符号化手段と、
前記デジタルデータ、フレームサイズ、サブフレーム数、サブフレームサイズとを入力して、請求項１から６に記載のパケットデータ構造によるパケットデータを作成して出力するパケット化手段と、
を備えることを特徴とするデータ符号化装置。
【請求項８】
請求項１から６に記載のパケットデータからなるデータを入力する入力手段と、
前記パケットヘッダ部を解析して、前記パケットペイロード部に含まれるフレームに関するフレームデータのサイズ、再生時間長、フレームデータの格納位置に関する情報、サブフレームの数、サブフレームのサイズ、サブフレームの復号に必要な情報へアクセスするための情報を取得し、
前記フレームデータの格納位置に関する情報とフレームサイズとから、前記パケットペイロード部よりフレームデータを分離し、
少なくとも、前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを出力する解析手段と、
前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを入力して復号して表示する、復号表示手段と、
を備えることを特徴とするデータ復号化装置。
【請求項９】
動画像、音声、テキストなどのデータを入力して符号化し、符号化結果であるデジタルデータと、フレームのサイズと、フレームを構成するサブフレーム数、各サブフレームのサイズと、を少なくとも出力する符号化ステップと、
前記デジタルデータ、フレームサイズ、サブフレーム数、サブフレームサイズとを入力して、請求項１から６に記載のパケットデータ構造によるパケットデータを作成して出力するパケット化ステップと、
を備えることを特徴とするデータ符号化方法。
【請求項１０】
請求項１から６に記載のパケットデータからなるデータを入力する入力ステップと、
前記パケットヘッダ部を解析して、前記パケットペイロード部に含まれるフレームに関するフレームデータのサイズ、再生時間長、フレームデータの格納位置に関する情報、サブフレームの数、サブフレームのサイズ、サブフレームの復号に必要な情報へアクセスするための情報を取得し、
前記フレームデータの格納位置に関する情報とフレームサイズとから、前記パケットペイロード部よりフレームデータを分離し、
少なくとも、前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを出力する解析ステップと、
前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを入力して復号して表示する、復号表示ステップと、
を備えることを特徴とするデータ復号化方法。
【請求項１１】
請求項１から請求項６に記載の構造を有するデータが記録されたコンピュータ読み取り可能な記録媒体。
【請求項１２】
コンピュータにより、請求項９記載のデータ符号化方法を行うためのプログラムを格納した記録媒体であって、
上記プログラムはコンピュータに、
動画像、音声、テキストなどのデータを入力して符号化し、符号化結果であるデジタルデータと、フレームのサイズと、フレームを構成するサブフレーム数、各サブフレームのサイズと、を少なくとも出力する符号化ステップと、
前記デジタルデータ、フレームサイズ、サブフレーム数、サブフレームサイズとを入力して、請求項１から６に記載のパケットデータ構造によるパケットデータを作成して出力するパケット化ステップと、
を、行わせるものであることを特徴とする記録媒体。
【請求項１３】
コンピュータにより、請求項１０記載のデータ符号化方法を行うためのプログラムを格納した記録媒体であって、
上記プログラムはコンピュータに、
請求項１から６のいずれかに記載のパケットデータからなるデータを入力する入力ステップと、
前記パケットヘッダ部を解析して、前記パケットペイロード部に含まれるフレームに関するフレームデータのサイズ、再生時間長、フレームデータの格納位置に関する情報、サブフレームの数、サブフレームのサイズ、サブフレームの復号に必要な情報へアクセスするための情報を取得し、
前記フレームデータの格納位置に関する情報とフレームサイズとから、前記パケットペイロード部よりフレームデータを分離し、
少なくとも、前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを出力する解析ステップと、
前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを入力して復号して表示する、復号表示ステップと、
を行わせるものであることを特徴とする記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、動画像、音声、テキストのデジタルデータを多重化するためのデータ構造、データ多重化方法、および多重化されたデジタルデータを逆多重化するデータ逆多重化方法に関する。
【０００２】
【従来の技術】
近年、通信ネットワークの大容量化および伝送技術の進歩により、インターネット上でのＰＣ向け動画配信サービスが普及してきた。さらに、無線端末上での動画配信についても、無線網における受信端末の規格を定める国際標準化団体である３ＧＰＰ（Ｔｈｉｒｄ　Ｇｅｎｅｒａｔｉｏｎ　Ｐａｒｔｎｅｒｓｈｉｐ　Ｐｒｏｊｅｃｔ）における規格としてＴＳ２６．２３４（Ｔｒａｎｓｐａｒｅｎｔ　ｅｎｄ−ｔｏ−ｅｎｄ　ｐａｃｋｅｔ　ｓｗｉｔｃｈｅｄ　ｓｔｒｅａｍｉｎｇ　ｓｅｒｖｉｃｅ）が定められるなど、携帯端末においても動画配信サービスの拡大が見込まれる。音声、動画、静止画、およびテキストなどのメディアデータを蓄積、および配信する際には、メディアデータの再生に必要なヘッダ情報とメディアデータを多重化するが、そのための多重化ファイルフォーマットとしてＭＰ４が標準化された。ＭＰ４は、ＩＳＯ／ＩＥＣ　ＪＴＣ１／ＳＣ２９／ＷＧ　１１　（Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｓｔａｎｄａｒｄｉｓａｔｉｏｎ　Ｏｒｇａｎｉｚａｔｉｏｎ／Ｉｎｔｅｒｎａｔｉｏｎａｌ　Ｅｎｇｉｎｅｅｒｉｎｇ　Ｃｏｎｓｏｒｔｉｕｍ）において標準化された多重化ファイルフォーマットであり、３ＧＰＰのＴＳ２６．２３４においても採用されていることから、今後普及していくと考えられる。
【０００３】
ここで、ＭＰ４のデータ構造について説明する。ＭＰ４では、ヘッダ情報やメディアデータはＢｏｘと呼ばれるオブジェクト単位で格納される。図１６は、Ｂｏｘの構造を説明するための図である。Ｂｏｘは、以下のフィールドを持つ。
ｓｉｚｅ：ｓｉｚｅフィールドも含めたＢｏｘ全体のサイズ
ｔｙｐｅ：Ｂｏｘの識別子であり、通常はアルファベット４文字で表される。フィールド長は４バイトであり、ＭＰ４ファイル内でＢｏｘを検索する際には、連続する４バイト分のデータがｔｙｐｅフィールドの識別子と一致するかどうかを判定することにより行う。
ｖｅｒｓｉｏｎ：Ｂｏｘのバージョン番号
ｆｌａｇｓ：Ｂｏｘ毎に設定されるフラグ情報
データ：ヘッダ情報やメディアデータが格納される。
【０００４】
なお、ｖｅｒｓｉｏｎとｆｌａｇｓは必須でないため、Ｂｏｘによってはこれらのフィールドは存在しない。以後、Ｂｏｘの参照にはｔｙｐｅフィールドの識別子を使用することとし、例えばｔｙｐｅが’ｍｏｏｖ’であるＢｏｘは、ｍｏｏｖと呼ぶ。ＭＰ４ファイルの構造としては、ファイル内に含まれることが必須である基本部に加えて拡張部を使用することができ、拡張部については現在標準化中である。まず、基本部の構造について説明する。図１７は、ＭＰ４ファイルの基本部について説明するための図である。
【０００５】
ＭＰ４ファイルは、ｆｔｙｐ、ｍｏｏｖ、ｍｄａｔの３つの基本Ｂｏｘから構成され、ｆｔｙｐがファイルの先頭に配置される。ｆｔｙｐは、ＭＰ４ファイルを識別するための情報を含む。ｍｄａｔには、サンプルと呼ばれる単位でメディアデータを格納する。サンプルとは、ＭＰ４でメディアデータを扱う際の最小単位であり、オーディオのフレームやＭＰＥＧ−４　ＶｉｓｕａｌのＶＯＰ（Ｖｉｄｅｏ　Ｏｂｊｅｃｔ　Ｐｌａｎｅ）に相当する。なお、ｍｄａｔに含まれる各メディアのデータはトラックと呼ばれ、各トラックはトラックＩＤにより識別される。ｍｏｏｖには、ｍｄａｔに含まれるサンプルのヘッダ情報が格納される。図１８は、ｍｏｏｖの構造を説明するための図である。ｍｏｏｖ内ではＢｏｘが階層的に配置されており、ファイル全体に共通なヘッダ情報は、ｍｖｈｄに格納される。なお、ＭＰ４ファイルにおいてｍｏｏｖの使用は必須であり、個数は１つである。オーディオ、ビデオなど各トラックのヘッダ情報はそれぞれ別々のｔｒａｋに格納され、サンプルのサイズや再生時間長など、サンプル単位の情報はｔｒａｋ内のＢｏｘに格納される。なお、ｔｒａｋがどのトラックに対する情報を含むかは、ｔｒａｋ内のｔｆｈｄに示されるトラックＩＤにより識別される。また、ＭＰ４ファイルにおいて拡張部が使用される際には、ｍｖｅｘが存在する。ｍｖｅｘは拡張部使用時にのみ存在し、基本部のあとに拡張部が格納されていることを示す。ｍｖｅｘにはｔｒｅｘが含まれ、拡張部におけるヘッダ情報のデフォルト値をトラック毎に設定する。ｔｒｅｘは、ｔｒｅｘがどのトラックに関するものであるかを示すトラックＩＤ（ｔｒａｃｋ＿ＩＤ）、サンプルのサイズ（ｄｅｆａｕｌｔ＿ｓａｍｐｌｅ＿ｓｉｚｅ）、再生時間長（ｄｅｆａｕｌｔ＿ｓａｍｐｌｅ＿ｄｕｒａｔｉｏｎ）、サンプルの復号に必要な情報にアクセスするための情報（ｄｅｆａｕｌｔ＿ｓａｍｐｌｅ＿ｄｅｓｃｒｉｐｔｉｏｎ＿ｉｎｄｅｘ）、およびサンプルがランダムアクセス可能であるかどうかを示すフラグ情報（ｄｅｆａｕｌｔ＿ｓａｍｐｌｅ＿ｆｌａｇｓ）のデフォルト値を格納する。なお、括弧内はｔｒｅｘにおけるフィールド名を示す。
【０００６】
基本部のみから構成されるトラックにおいては、トラック全体に対するヘッダ情報がｍｏｏｖにまとめて格納される。一方、トラックを分割し、分割した単位毎にヘッダ情報を付加するための手段として、拡張部が規格化されている。拡張部においては、トラックを分割したそれぞれの単位に対してヘッダ情報が付加される。ただし、拡張部を使用する際にもｆｔｙｐとｍｏｏｖは必須であり、サンプルの復号に必要な情報など、トラック内の全てのサンプルにおいて共通に使用される情報は必ずｍｏｏｖに格納される。図１９に拡張部を含むＭＰ４ファイルの構造を示す。拡張部においては、分割された単位に含まれるサンプルのヘッダ情報はｍｏｏｆに格納され、ｍｏｏｆにヘッダ情報が格納されているサンプルのデータは、ｍｄａｔに格納される。図２０は、ｍｏｏｆの構造を説明するための図である。ｍｏｏｆ内においてもｍｏｏｖと同様にＢｏｘが階層的に配置され、ｍｏｏｆ直下にはｍｏｏｆのインデックス情報を格納するｍｆｈｄと、ヘッダ情報をトラック単位で格納するｔｒａｆが配置される。ｔｒａｆは、ｍｏｏｖにおけるｔｒａｋと同様に、各トラックに含まれるサンプルのヘッダ情報を、復号時間の若いサンプルから順に格納する。なお、各トラックに関するヘッダ情報は、複数のｔｒａｆを使用して格納してもよい。ｔｒａｆには、ｔｆｈｄと１つ以上のｔｒｕｎが格納され、サンプル単位のヘッダ情報はｔｒｕｎに格納される。ｔｆｈｄは、ｔｒａｆが情報を格納しているトラックのトラックＩＤ（ｔｒａｃｋ＿ＩＤ）、ｔｒａｆにサンプル情報が格納されているサンプルの格納位置に関する情報（ｂａｓｅ＿ｄａｔａ＿ｏｆｆｓｅｔ、サンプルの復号に必要な情報にアクセスするための情報（ｄｅｆａｕｌｔ＿ｓａｍｐｌｅ＿ｄｅｓｃｒｉｐｔｉｏｎ＿ｉｎｄｅｘ）、再生時間長（ｄｅｆａｕｌｔ＿ｓａｍｐｌｅ＿ｄｕｒａｔｉｏｎ）、サンプルのサイズ（ｄｅｆａｕｌｔ＿ｓａｍｐｌｅ＿ｓｉｚｅ）、およびサンプルがランダムアクセス可能であるかどうかを示すフラグ情報（ｄｅｆａｕｌｔ＿ｓａｍｐｌｅ＿ｆｌａｇｓ）のデフォルト値を示す。
【０００７】
なお、括弧内はフィールド名を示し、ｔｒａｃｋ＿ＩＤより後のフィールドは全てオプショナルであり、フィールドの有無はｔｆ＿ｆｌａｇｓのフラグ情報により判別される。なお、ｔｆｈｄにおいて設定されるデフォルト値はｍｏｏｖ内のｔｒｅｘに示されるデフォルト値に上書きされる。ｔｒｕｎはサンプル単位のヘッダ情報を格納し、図１８に示す構造をもつ。ｔｒｕｎを構成する各フィールドについて格納順に説明する。
【０００８】
・ｔｒ＿ｆｌａｇｓ：ｄａｔａ＿ｏｆｆｓｅｔ，　ｆｉｒｓｔ＿ｓａｍｐｌｅ＿ｆｌａｇｓ，　ｓａｍｐｌｅ＿ｄｕｒａｔｉｏｎ，　ｓａｍｐｌｅ＿ｓｉｚｅ，　ｓａｍｐｌｅ＿ｆｌａｇｓ，　ｓａｍｐｌｅ＿ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｆｆｓｅｔの各フィールドが存在するかどうかを示すフラグ
・ｓａｍｐｌｅ＿ｃｏｕｎｔ：ｔｒｕｎがヘッダ情報を格納するサンプル数
・ｄａｔａ＿ｏｆｆｓｅｔ：ｔｒｕｎに含まれる先頭サンプルのデータ格納位置を示す情報
・ｆｉｒｓｔ＿ｓａｍｐｌｅ＿ｆｌａｇｓ：ｔｒｕｎ内の先頭サンプルについてのみ、ｓａｍｐｌｅ＿ｆｌａｇｓの値をｆｉｒｓｔ＿ｓａｍｐｌｅ＿ｆｌａｇｓの値で上書きするためのフラグ。なお、ｓａｍｐｌｅ＿ｆｌａｇｓはサンプルがランダムアクセス可能であるかどうかを示し、そのデフォルト値はｔｆｈｄ、およびｔｒｅｘに格納される。
【０００９】
上記フィールドの後に、サンプル単位の情報が格納される。１サンプルの情報は１つのエントリーとしてまとめられ、復号時間の若いサンプルから順にｓａｍｐｌｅ＿ｃｏｕｎｔ分のエントリーが格納される。エントリーにおいては以下の４つのフィールドを格納することができ、いずれのフィールドが存在するかはｔｒ＿ｆｌａｇｓにより示される。なお、存在するフィールドは全てのエントリーに共通であり、フィールドが存在しないときにはｔｆｈｄあるいはｍｖｅｘに示されるデフォルト値を使用するものとする。
【００１０】
・ｓａｍｐｌｅ＿ｄｕｒａｔｉｏｎ：サンプルの再生時間長
・ｓａｍｐｌｅ＿ｓｉｚｅ：サンプルのサイズ
・ｓａｍｐｌｅ＿ｆｌａｇｓ：サンプルがランダムアクセス可能であるかどうかを示すフラグ
・ｓａｍｐｌｅ＿ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ：サンプルの復号時刻と表示時刻との差分値
【００１１】
図１３は、拡張部の使用例を説明するための図である。ここでは、コンテンツの格納方法について２通りの例を示す。なお、コンテンツの再生時間は６０秒であるとする。ＭＰ４ファイル１は、基本部と拡張部の両方を使用してメディアデータを格納し、コンテンツは、（１）０−３０秒、（２）３０−４５秒、（３）４５−６０秒の３つの部分に分割される。（１）に含まれるサンプルデータは基本部を用いてｍｄａｔ１に格納され、（２）および（３）に含まれるサンプルデータは拡張部を用いてそれぞれｍｄａｔ２とｍｄａｔ３に格納される。拡張部のＢｏｘの配置は、ｍｏｏｆ１，　ｍｄａｔ２，　ｍｏｏｆ２，　ｍｄａｔ３の順になっており、ｍｄａｔ２のヘッダ情報はｍｏｏｆ１に、ｍｄａｔ３のヘッダ情報はｍｏｏｆ２により示される。ＭＰ４ファイル２は、拡張部のみを使用してメディアデータを格納する。コンテンツは（１）０−３０秒、（２）３０−６０秒の２つの部分に分割され、サンプルデータはそれぞれｍｄａｔ４とｍｄａｔ５に格納される。拡張部のＢｏｘの配置は、ｍｏｏｆ３，　ｍｄａｔ４，　ｍｏｏｆ４，　ｍｄａｔ５の順になっており、ｍｄａｔ４のヘッダ情報はｍｏｏｆ３に、ｍｄａｔ５のヘッダ情報はｍｏｏｆ４により示される。基本部には、ｆｔｙｐとｍｏｏｖのみが含まれ、ｍｄａｔは含まれない。
【００１２】
【発明が解決しようとする課題】
上記のように、ＭＰ４で扱うことのできるデータの最小単位はサンプルであり、サンプルを分割した単位についての情報を格納することができない。ところが、現在ＭＰＥＧで規格化がなされているＭＰＥＧ４次世代ビデオ符号化（ＡＶＣ：　Ａｄｖａｎｃｅｄ　Ｖｉｄｅｏ　Ｃｏｄｉｎｇ、以下ＡＶＣと呼ぶ）では、復号時にフレームを分割した単位であるスライス毎の情報が必要となる。なお、ＡＶＣは、ＩＴＵ−ＴにおけるＨ．２６４に相当する。このように、フレームを分割した単位についての情報が必要な符号化方式により符号化されたデジタルデータは、サンプルが最小のデータ単位である現在のＭＰ４規格では多重化できないという課題があった。
【００１３】
【課題を解決するための手段】
本発明は、以上の課題を解決するためになされたものである。
本発明の請求項１にかかるデータ構造は、動画像、音声、テキストなどをフレーム化したデジタルデータを２つ以上のパケットに多重化したパケットデータ構造であって、前記パケットデータは、パケットヘッダ部と、パケットペイロード部と、から構成され、前記パケットヘッダ部は、Ｐ個（Ｐは１以上の整数）のフレームに関する情報を格納する第１のヘッダ単位と、を含み、前記パケットペイロード部は、前記Ｐ個のフレームのフレームデータを格納するＱ個（Ｑは１以上の整数）のフレーム格納単位と、から構成され、前記第１の単位は、前記Ｐ個のフレームに関する情報を格納するフレーム情報格納部と、前記Ｐ個のフレームを構成するサブフレームに関する情報を格納するサブフレーム情報格納部と、から構成されるものである。
【００１４】
本発明の請求項２にかかるデータ構造は、動画像、音声、テキストなどをフレーム化したデジタルデータを２つ以上のパケットに多重化したパケットデータ構造であって、前記パケットデータは、パケットヘッダ部と、パケットペイロード部と、から構成され、前記パケットヘッダ部は、Ｐ個（Ｐは１以上の整数）のフレームに関するフレーム情報を格納する第１のヘッダ単位と、前記Ｐ個のフレームを構成するサブフレームに関するサブフレーム情報を格納する第２のヘッダ単位と、を含み、前記パケットペイロード部は、前記Ｐ個のフレームのフレームデータを格納するＱ個（Ｑは１以上の整数）のフレーム格納単位と、から構成されるものである。
【００１５】
本発明の請求項３にかかるデータ構造は、前記サブフレームは、ＭＰＥＧあるいはＩＴＵ−Ｔで規格化された画像圧縮方式において呼ばれるスライス、あるいはビデオパケットであるこことを特徴とする、請求項１あるいは２に記載のパケットデータ構造である。
【００１６】
本発明の請求項４にかかるデータ構造は、前記フレーム情報は、少なくとも、フレームデータのサイズ、再生時間長、再生開始時間、復号開始時間、優先度、ランダムアクセス可能かどうかを示すフラグ、フレームデータの格納位置情報、復号に必要な情報へアクセスするための情報、のいずれか１つ以上を含むことを特徴とする、請求項１あるいは２に記載のパケットデータ構造である。
【００１７】
本発明の請求項５にかかるデータ構造は、前記サブフレーム情報は、少なくとも、フレームを構成するサブフレームの数、サブフレームのデータサイズ、サブフレームの復号に必要な情報へアクセスするための情報、のいずれか１つ以上を含むことを特徴とする、請求項１あるいは２に記載のパケットデータ構造である。
【００１８】
本発明の請求項６にかかるデータ構造は、前記パケットヘッダ部は、ヘッダ部にサブフレーム情報が含まれるかどうかを示すフラグ情報を含むことを特徴とする、請求項１あるいは２に記載のパケットデータ構造である。
【００１９】
本発明の請求項７にかかるデータ符号化装置は、動画像、音声、テキストなどのデータを入力して符号化し、符号化結果であるデジタルデータと、フレームのサイズと、フレームを構成するサブフレーム数、各サブフレームのサイズと、を少なくとも出力する符号化手段と、前記デジタルデータ、フレームサイズ、サブフレーム数、サブフレームサイズとを入力して、請求項１から６に記載のパケットデータ構造によるパケットデータを作成して出力するパケット化手段と、を備えるものである。
【００２０】
本発明の請求項８にかかるデータ復号化装置は、請求項１から６に記載のパケットデータからなるデータを入力する入力手段と、前記パケットヘッダ部を解析して、前記パケットペイロード部に含まれるフレームに関するフレームデータのサイズ、再生時間長、フレームデータの格納位置に関する情報、サブフレームの数、サブフレームのサイズ、サブフレームの復号に必要な情報へアクセスするための情報を取得し、前記フレームデータの格納位置に関する情報とフレームサイズとから、前記パケットペイロード部よりフレームデータを分離し、少なくとも、前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを出力する解析手段と、前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを入力して復号して表示する、復号表示手段と、を備えるものである。
【００２１】
本発明の請求項９にかかるデータ符号化方法は、動画像、音声、テキストなどのデータを入力して符号化し、符号化結果であるデジタルデータと、フレームのサイズと、フレームを構成するサブフレーム数、各サブフレームのサイズと、を少なくとも出力する符号化ステップと、前記デジタルデータ、フレームサイズ、サブフレーム数、サブフレームサイズとを入力して、請求項１から６に記載のパケットデータ構造によるパケットデータを作成して出力するパケット化ステップと、を備えるものである。
【００２２】
本発明の請求項１０にかかるデータ復号化方法は、請求項１から６に記載のパケットデータからなるデータを入力する入力ステップと、前記パケットヘッダ部を解析して、前記パケットペイロード部に含まれるフレームに関するフレームデータのサイズ、再生時間長、フレームデータの格納位置に関する情報、サブフレームの数、サブフレームのサイズ、サブフレームの復号に必要な情報へアクセスするための情報を取得し、前記フレームデータの格納位置に関する情報とフレームサイズとから、前記パケットペイロード部よりフレームデータを分離し、少なくとも、前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを出力する解析ステップと、前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを入力して復号して表示する、復号表示ステップと、を備えるものである。
【００２３】
本発明の請求項１１にかかる記録媒体は、コンピュータ読み取り可能な請求項１から請求項６に記載の構造を有するデータを記録したものである。
【００２４】
本発明の請求項１２にかかる記録媒体は、コンピュータにより、動画像、音声、テキストなどのデータを入力して符号化し、符号化結果であるデジタルデータと、フレームのサイズと、フレームを構成するサブフレーム数、各サブフレームのサイズと、を少なくとも出力する符号化ステップと、前記デジタルデータ、フレームサイズ、サブフレーム数、サブフレームサイズとを入力して、請求項１から６に記載のパケットデータ構造によるパケットデータを作成して出力するパケット化ステップと、を、行わせるためのプログラムを記録したものである。
【００２５】
本発明の請求項１３にかかる記録媒体は、コンピュータにより、請求項１から６に記載のパケットデータからなるデータを入力する入力ステップと、前記パケットヘッダ部を解析して、前記パケットペイロード部に含まれるフレームに関するフレームデータのサイズ、再生時間長、フレームデータの格納位置に関する情報、サブフレームの数、サブフレームのサイズ、サブフレームの復号に必要な情報へアクセスするための情報を取得し、前記フレームデータの格納位置に関する情報とフレームサイズとから、前記パケットペイロード部よりフレームデータを分離し、少なくとも、前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを出力する解析ステップと、前記フレームデータ、フレームデータのサイズ、サブフレームの数、各サブフレームのサイズを入力して復号して表示する、復号表示ステップと、を行わせるためのプログラムを記録したものである。
【００２６】
【発明の実施の形態】
以下、本発明の実施の形態について、図１から図１５を用いて説明する。
（実施の形態１）
本発明にかかるデータ復号化方法の実施の形態１であるデータ復号化装置は、サンプルを分割した単位の情報を拡張部に格納できるように変更したＭＰ４により多重化されたＡＶＣのデータを入力し、スライスの復号に必要な情報を取得して、スライスデータを復号、および表示するものである。なお、サンプルを分割した単位についての情報が必要である符号化方式により符号化されたデジタルデータであれば、本データ復号化装置において処理するデータはＡＶＣのデータに限るものではなく、サンプルの分割単位は、ＭＰＥＧ‐１、ＭＰＥＧ‐２のスライス、ＭＰＥＧ‐４のビデオパケット、あるいはスライス、Ｈ．．２６１、Ｈ．．２６３のスライスであってもよい。
【００２７】
まず、本データ復号化装置に入力されるＭＰ４において追加あるいは変更された部分のデータ構造について説明する。図１は、サンプルを分割した単位（以下サブサンプルと呼ぶ）の情報を格納するために新しく導入したＢｏｘであるｓｒｕｎの構造を示す図である。ｓｒｕｎはｔｒｕｎと同じ階層に配置され、サンプルに含まれるサブサンプルの数、各サブサンプルのサイズ、およびサブサンプルの復号に必要な情報にアクセスするための情報が、以下に示すフィールドにより格納される。
【００２８】
ｓｒ＿ｆｌａｇｓ：テーブル内に、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅ，　ｄｅｃ＿ｉｎｄｅｘの各フィールドが存在するかどうかを示すフラグ情報。
ｓａｍｐｌｅ＿ｃｏｕｎｔ：ｓｒｕｎにサブサンプル情報が格納されるサンプルの個数。
ｓｕｂｓａｍｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅ：ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅフィールドのフィールド長を示し、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅフィールドが存在する場合にのみ存在する。
ｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅ：ｄｅｃ＿ｉｎｄｅｘフィールドのフィールド長を示し、ｄｅｃ＿ｉｎｄｅｘフィールドが存在する場合にのみ存在する。
【００２９】
なお、ｓａｍｐｌｅ＿ｃｏｕｎｔ、ｓｕｂｓａｍｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅ、およびｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅについては、異なる順序で格納してもよい。
【００３０】
上記フィールドの後にサブサンプル単位の情報が格納される。１サンプルを構成するサブサンプルの情報が１つのｓｕｂｓａｍｐｌｅ＿ｅｎｔｒｙとしてまとめられ、復号時間の若いサンプルについてのｓｕｂｓｍａｐｌｅ＿ｅｎｔｒｙから順に、ｓａｍｐｌｅ＿ｃｏｕｎｔに示される数のｓｕｂｓａｍｐｌ＿ｅｎｔｒｙが格納される。ｓｕｂｓａｍｐｌｅ＿ｅｎｔｒｙには以下のフィールドを順に格納することができる（図１の（Ａ）−（１））。
【００３１】
ｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔ：サンプルに含まれるサブサンプルの数。
続いて、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅ、ｄｅｃ＿ｉｎｄｅｘフィールドの組が、ｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔに示される個数分格納される。なお、これらのフィールドは、サンプルデータの先頭から近い位置に格納されるサブサンプルに関するものから順に格納される。
ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅ：サブサンプルのサイズを示し、ｓｒ＿ｆｌａｇｓにおいてｓｕｂｓａｍｐｌｅ＿ｓｉｚｅが存在することを示すフラグがセットされている際に存在する。
ｄｅｃ＿ｉｎｄｅｘ：サブサンプルを復号するために必要な情報にアクセスするための情報。復号に必要な情報は複数存在し、それぞれ数字や文字列などの識別子によって区別され、ｍｏｏｖに格納される。ｄｅｃ＿ｉｎｄｅｘには識別子を格納することにより、ｄｅｃ＿ｉｎｄｅｘに基づいてｍｏｏｖに格納された復号に必要な情報を取得することができる。本フィールドは、ｓｒ＿ｆｌａｇｓにおいてｄｅｃ＿ｉｎｄｅｘが存在することを示すフラグがセットされている際に存在する。図１の（Ｂ）に、（Ａ）−（１）のＢｏｘ構造についてのシンタックス例を示す。なお、シンタックス記述はＭＰ４規格に従った。
【００３２】
なお、サンプル内の最終サブサンプルのサイズについては、サンプルのサイズから、サンプル内の直前のサブサンプルまでのサイズの総和を減算することにより求めることができるので、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅフィールドを省略してもよい。なお、フィールドはｄｅｃ＿ｉｎｄｅｘ、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅの順に格納してもよい。
【００３３】
なお、ｓｕｂｓａｍｐｌｅ＿ｅｎｔｒｙへの各フィールドの格納方法としては、図１の（Ａ）−（２）のように、ｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔに続いて各サブサンプルについてのｓｕｂｓａｍｐｌｅ＿ｓｉｚｅをまとめて格納し、続いて各サブサンプルについてのｄｅｃ＿ｉｎｄｅｘをまとめて格納してもよい。なお、ｄｅｃ＿ｉｎｄｅｘ関連のフィールドをｓｕｂｓａｍｐｌｅ＿ｓｉｚｅ関連のフィールドよりも先に格納してもよい。
【００３４】
なお、ｓｕｂｓａｍｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅとｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅフィールドは、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅあるいはｉｎｄｅｘ＿ｆｉｅｌｄの有無に関わらず存在するものとしてもよい。なお、ｓｕｂｓａｍｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅとｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅについては、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅとｄｅｃ＿ｉｎｄｅｘのフィールドサイズを固定にすることにより省略してもよい。
【００３５】
ｓｒｕｎにおいてｓｕｂｓａｍｐｌｅ＿ｓｉｚｅあるいはｄｅｃ＿ｉｎｄｅｘフィールドが存在しない場合には、ｔｒｕｎと同様にデフォルト値を用いる。デフォルト値は、ｍｏｏｖ内とｔｒａｆ内の２箇所で設定される。図２の（Ａ）は、ｍｏｏｖ内でサブサンプル情報のデフォルト値を設定するために新規に導入したＢｏｘであるｓｒｅｘの構造を示す。ｓｒｅｘはｍｖｅｘ内に格納され、ｄｅｃ＿ｉｎｄｅｘおよびｓｕｂｓａｍｐｌｅ＿ｓｉｚｅのデフォルト値を示す。なお、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅのデフォルト値を先に格納してもよい。図２の（Ｂ）に、Ｂｏｘ構造についてのシンタックス例を示す。なお、シンタックス記述はＭＰ４規格に従った。また、図３の（Ａ）は、ｔｒａｆ内でサブサンプル情報のデフォルト値を設定するために新規に導入したＢｏｘであるｓｆｈｄの構造を示す。ｓｆｈｄでは、ｄｅｃ＿ｉｎｄｅｘおよびｓｕｂｓａｍｐｌｅ＿ｓｉｚｅのデフォルト値を示すことができ、これら２つのフィールドが存在するかどうかは、ｓｆ＿ｆｌａｇｓにセットされるフラグ情報により示される。ｓｆｈｄで設定されたデフォルト値は、ｓｒｅｘで設定されたデフォルト値に上書きされる。
【００３６】
なお、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅのデフォルト値を先に格納してもよい。図３の（Ｂ）に、Ｂｏｘ構造についてのシンタックス例を示す。なお、シンタックス記述はＭＰ４規格に従った。なお、図４の（Ａ）に示すようにｔｆｈｄに新規のフィールドを追加することにより、ｔｆｈｄにおいてサブサンプル情報を示すこととしてもよい。ｄｅｆａｕｌｔ＿ｄｅｃ＿ｉｎｄｅｘとｄｅｆａｕｌｔ＿ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅは、それぞれｄｅｃ＿ｉｎｄｅｘとｓｕｂｓａｍｐｌｅ＿ｓｉｚｅのデフォルト値を示すために追加されたフィールドであり、ｔｆ＿ｆｌａｇｓには、これらのフィールドの有無を示すためのフラグが追加される。
【００３７】
なお、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅのデフォルト値を先に格納してもよい。図４の（Ｂ）に、Ｂｏｘ構造についてのシンタックス例を示す。なお、シンタックス記述はＭＰ４規格に従った。
【００３８】
また、ＭＰ４ファイルデータにサブフレームの情報が含まれるかどうかは、ｓｒｅｘが存在するかどうかにより判定する。なお、サブフレームの情報が含まれるかどうかを示すフラグ情報を新たに追加することにより判定することも可能であり、一例として、ｔｒｅｘのｆｌａｇｓ，　ｔｆｈｄのｔｆ＿ｆｌａｇｓ、あるいはｔｒｕｎのｔｒ＿ｆｌａｇｓに判定用のフラグを追加することができる。
【００３９】
図５は、本復号化装置に入力されるＭＰ４におけるｔｒａｆの構造を示す。ｔｒａｆには、ｓｆｈｄとｔｒｕｎが追加されているが、各Ｂｏｘの出現順序については制限しないものとする。例えば、（１）のようにｔｒｕｎとｓｒｕｎをそれぞれまとめて配置してもよいし、（２）のようにｔｒｕｎとｓｒｕｎを交互に配置してもよい。
【００４０】
上記の変更されたＭＰ４によりＡＶＣで符号化されたデータを格納する際には、サブサンプルはスライスに相当し、スライスの復号に必要な情報はパラメータセットに相当する。パラメータセットのデータはｍｏｏｖ内に格納され、パラメータセットデータへのアクセスする際にはｄｅｃ＿ｉｎｄｅｘを使用する。
【００４１】
図６は、データ復号化装置の構成を示すブロック図である。まず、入力手段１０１は、サブサンプル単位の情報を拡張部に格納できるように変更したＭＰ４により、ＡＶＣで符号化された画像データを多重化したデータｄ１０１を入力し、入力データｄ１０１をメモリ入力データｄ１０２としてメモリ１０２に出力する。メモリ１０２は、メモリ入力データｄ１０２をメモリ記憶データｄ１０３として記憶する。分離手段１０３は、メモリ１０２に記憶されたメモリ記憶データｄ１０３を取得し、ｍｏｏｖおよびｍｏｏｆから構成されるヘッダ部とｍｄａｔで構成されるデータ部を分離し、ヘッダ部データｄ１０４を解析手段１０４に出力する。解析手段１０４は、ヘッダ部データｄ１０４を解析して、ｍｏｏｆに情報が含まれるサンプルについてのサンプルサイズ、サンプルの格納位置、サブサンプルの数、サブサンプルのサイズ、サブサンプルの復号に必要な情報、およびｍｏｏｆの解析結果に基づいてｍｄａｔから取得したサンプルのデータ、とを含む復号前データｄ１０６を復号表示手段１０５に出力する。復号表示手段１０５は、符号前データｄ１０６に基づいてサンプルの復号を行い、表示する。本データ復号化装置の使用例として、ファイルサーバ上に保存された上記ＭＰ４ファイルを、有線あるいは無線網を介して接続している再生端末からの要求に応じてダウンロードするサービスが可能である。このとき、ダウンロードしながら、あるいはダウンロード終了後にＭＰ４ファイルの復号および表示を行う際に、本データ復号化装置を使用する。
【００４２】
以下、解析手段１０４においてサブサンプルの情報を取得する際の動作について説明する。まず、ｍｏｏｖ内のｓｒｅｘを検索してｄｅｃ＿ｉｎｄｅｘとｓｕｂｓｍａｐｌｅ＿ｓｉｚｅのデフォルト値を取得し、その後ｍｏｏｆの解析を行う。ｓｒｅｘが存在しない場合は、ｓｒｅｘにおけるデフォルト値を０とする。図７は、ｍｏｏｆ内で、ｓｆｈｄおよびｓｒｕｎを検索してサブサンプル情報を取得する際の動作を示すフローチャートである。なお、ここではＡＶＣデータが格納されたトラックについての情報を取得するものとし、そのトラックＩＤはＮであるものとする。Ｓ１０１においてｍｏｏｆに格納されている順にｔｒａｆを検索し、ｔｒａｆに含まれるｔｆｈｄのトラックＩＤを取得する。
【００４３】
Ｓ１０２において、Ｓ１０１で取得したトラックＩＤがＮであるかどうか判定し、Ｎでない場合にはＳ１０８の処理に移る。Ｎである場合には、まず、Ｓ１０３において読み出しポインタを、ｔｒａｆにおける先頭データ格納位置にセットする。なお、先頭データ格納位置は、ｔｒａｆにおけるタイプフィールドの直後のデータを指す。次に、Ｓ１０４において読み出しポインタに１バイトずつ加算しながら、連続する４バイトのデータが文字列’ｓｆｈｄ’に一致するかどうか判定することにより、ｓｆｈｄを検索する。検索されたｓｆｈｄに、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅあるいはｄｅｃ＿ｉｎｄｅｘのデフォルト値が含まれる際には、それらのデフォルト値を取得し、ｓｒｅｘにおいて取得したデフォルト値に上書きする。なお、ｓｆｈｄが存在しない場合には、ｓｒｅｘにおけるデフォルト値を使用するものとする。デフォルト値の取得終了後、Ｓ１０５において読み出しポインタを再び、ｔｒａｆにおける先頭データ格納位置にセットする。
【００４４】
次に、Ｓ１０６において読み出しポインタに１バイトずつ加算しながらｓｒｕｎを検索し、検索されたｓｒｕｎを解析してサブサンプル情報を取得する。なお、検索終了後には読み出しポインタはｓｒｕｎの最終データ格納位置を指しているものとする。続いてＳ１０５において、Ｓ１０４で検索されたｓｒｕｎがｔｒａｆ内に含まれる最終のｓｒｕｎであるかどうか判定する。最終のｓｒｕｎであるかどうかは、読み出しポインタがｔｒａｆの最終データ格納位置に一致する、あるいは以降のデータを検索してもｓｒｕｎが見つからないことにより判定する。なお、ｔｒａｆの最終データ格納位置は、ｔｒａｆのサイズフィールドの値から取得できる。最終のｓｒｕｎと判定されなかった場合には、最終のｓｒｕｎに達するまでＳ１０６の処理を繰り返す。最終のｓｒｕｎと判定された際には、Ｓ１０８において、Ｓ１０１で検索したｔｒａｆがｍｏｏｆに含まれる最終のｔｒａｆであるかどうかを判定し、最終のｔｒａｆの処理が終了するまでＳ１０１からＳ１０７の処理を繰り返す。
【００４５】
図８は、Ｓ１０６においてｓｒｕｎの解析を行う際の動作についての詳細を示すフローチャートである。なお、ｓｒｕｎの構造は図１の（Ａ）−（１）に示すものであるとする。まず、Ｓ２０１において、読み出しポインタをｓｒ＿ｆｌａｇｓの先頭データ格納位置にセットする。Ｓ２０２においてｓｒ＿ｆｌａｇｓの値を取得し、フラグ値よりｓｕｂｓａｍｐｌｅ＿ｓｉｚｅおよびｄｅｃ＿ｉｎｄｅｘフィールドが存在するかどうか判定し、読み出しポインタをｓｒ＿ｆｌａｇｓフィールドのバイト数分進める。Ｓ２０３においてｓａｍｐｌｅ＿ｃｏｕｎｔを取得し、読み出しポインタをｓａｍｐｌｅ＿ｃｏｕｎｔフィールドのバイト数分進める。Ｓ２０４とＳ２０５においては、Ｓ２０１においてｓｕｂｓａｍｐｌｅ＿ｓｉｚｅフィールドが存在すると判定された際にはｓｕｂｓａｍｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅを取得して、読み出しポインタをｓｕｂｓｍａｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅフィールドのバイト数分進める。Ｓ２０６とＳ２０７においては、Ｓ２０１においてｄｅｃ＿ｉｎｄｅｘフィールドが存在すると判定された際にはｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅを取得して、読み出しポインタをｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅフィールドのバイト数分進める。以下で、各サンプルを構成するサブサンプルの情報を取得する。
【００４６】
まず、Ｓ２０８において変数ｊを１にセットし、Ｓ２０９においてｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔを取得し、読み出しポインタをｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔフィールドのバイト数分進める。次に、サブサンプルの情報を取得する。まず、Ｓ２１０において変数ｉを１にセットする。Ｓ２１１とＳ２１２においては、Ｓ２０１においてｓｕｂｓａｍｐｌｅ＿ｓｉｚｅフィールドが存在すると判定された際にｓｕｂｓａｍｐｌｅ＿ｓｉｚｅを取得して、読み出しポインタをｓｕｂｓｍａｐｌｅ＿ｓｉｚｅフィールドのバイト数分進める。Ｓ２１３とＳ２１４においては、Ｓ２０１においてｄｅｃ＿ｉｎｄｅｘフィールドが存在すると判定された際にｄｅｃ＿ｉｎｄｅｘを取得して、読み出しポインタをｄｅｃ＿ｉｎｄｅｘフィールドのバイト数分進める。なお、各フィールドが存在しない際には、デフォルト値を使用する。次に、Ｓ２１５においてｉとｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔの値を比較し、ｉがｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔ未満である際には、Ｓ２１６においてｉに１を加算し、Ｓ２１１の処理に戻って残りのサブサンプル情報を取得する。サンプルに含まれる全サブサンプルの情報を取得後、Ｓ２１７においてｊとｓａｍｐｌｅ＿ｃｏｕｎｔを比較する。ｊがｓａｍｐｌｅ＿ｃｏｕｎｔ未満である際には、Ｓ２１８においてｊに１を加算し、Ｓ２０９の処理に戻って残りのサンプルに関するサブサンプル情報を取得する。ｓｒｕｎにおける全サンプルについてのサブサンプルの情報を取得後、Ｓ２１９において、全サブサンプルについての情報を出力する。
【００４７】
（実施の形態２）
本発明にかかるデータ復号化方法の実施の形態２であるデータ復号化装置は、サブサンプル単位の情報を拡張部に格納できるように変更したＭＰ４により多重化された、ＡＶＣのデータを入力し、スライスの復号に必要な情報を取得して、スライスデータを復号、および表示するものである。なお、サブサンプルについての情報が必要である符号化方式により符号化されたデジタルデータであれば、本復号化装置において処理するデータはＡＶＣのデータに限るものではなく、サブサンプルはＭＰＥＧ‐１、ＭＰＥＧ‐２のスライス、ＭＰＥＧ‐４のビデオパケット、あるいはスライス、Ｈ．．２６１、Ｈ．．２６３のスライスであってもよい。
【００４８】
まず、本データ復号化装置に入力されるＭＰ４において追加あるいは変更された部分のデータ構造について説明する。図９の（Ａ）は、サブサンプル情報を格納するためのフィールドを追加したｔｒｕｎの構造を示す図である。テーブルデータの前には、ｓｕｂｓａｍｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅ，　ｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅが追加される。なお、ｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅのデフォルト値を先に格納してもよい。
【００４９】
また、テーブル内では、各サンプルの情報を示すフィールドの後に、サンプルに含まれるサブサンプルの情報示すｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔ，　ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅ，　ｄｅｃ＿ｉｎｄｅｘの各フィールドが追加され、テーブルの各エントリーはサンプル、およびサンプルに含まれるサブサンプルの情報から構成されることになる。また、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅおよびｄｅｃ＿ｉｎｄｅｘフィールドが存在するかどうかは、ｔｒ＿ｆｌａｇｓにそれぞれのフィールドの有無を示すフラグを追加することにより判定する。
【００５０】
ｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔ，　ｓｕｂｓａｍｐｌｅ＿ｆｉｌｅｄ＿ｓｉｚｅ，　およびｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅの各フィールドの定義は、実施の形態１で説明したｓｒｕｎにおける同一名称のフィールドのものと同じであるのでここでは説明を省略し、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅおよびｄｅｃ＿ｉｎｄｅｘについての定義を以下に示す。
【００５１】
ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅ：サブサンプルのサイズを示し、ｔｒ＿ｆｌａｇｓにおいてｓｕｂｓａｍｐｌｅ＿ｓｉｚｅが存在することを示すフラグがセットされている際に存在する。なお、サンプル内の最終サブサンプルのサイズについては、サンプルのサイズから、サンプル内の直前のサブサンプルまでのサイズの総和を減算することにより求めることができるので、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅフィールドを省略してもよい。
【００５２】
ｄｅｃ＿ｉｎｄｅｘ：サブサンプルを復号するために必要な情報にアクセスするための情報。復号に必要な情報は複数存在し、それぞれ数字や文字列などの識別子によって区別され、ｍｏｏｖに格納される。ｄｅｃ＿ｉｎｄｅｘには識別子を格納することにより、ｄｅｃ＿ｉｎｄｅｘに基づいてｍｏｏｖに格納された復号に必要な情報を取得することができる。本フィールドは、ｔｒ＿ｆｌａｇｓにおいてｄｅｃ＿ｉｎｄｅｘが存在することを示すフラグがセットされている際に存在する。なお、ｄｅｃ＿ｉｎｄｅｘ、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅの順に格納してもよい。
【００５３】
ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅあるいはｄｅｃ＿ｉｎｄｅｘフィールドが存在しない場合には、これらの値にはデフォルト値を使用する。デフォルト値の格納場所および設定方法については実施の形態１の場合と同様であるのでここでは説明を省略する。図９の（Ｂ）に、Ｂｏｘ構造についてのシンタックス例を示す。なお、シンタックス記述はＭＰ４規格に従った。
【００５４】
なお、ｓｕｂｓａｍｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅとｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅフィールドは、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅあるいはｉｎｄｅｘ＿ｆｉｅｌｄの有無に関わらず存在するものとしてもよい。なお、ｓｕｂｓａｍｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅとｉｎｄｅｘ＿ｆｉｅｌｄ＿ｓｉｚｅについては、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅとｄｅｃ＿ｉｎｄｅｘのフィールドサイズを固定にすることにより省略してもよい。
【００５５】
また、ＭＰ４ファイルデータにサブフレームの情報が含まれるかどうかは、ｓｒｅｘが存在するかどうかにより判定する。なお、サブフレームの情報が含まれるかどうかを示すフラグ情報を新たに追加することにより判定することも可能であり、一例として、ｔｒｅｘのｆｌａｇｓ，　ｔｆｈｄのｔｆ＿ｆｌａｇｓ、あるいはｔｒｕｎのｔｒ＿ｆｌａｇｓに判定用のフラグを追加することができる。
【００５６】
上記の変更されたＭＰ４によりＡＶＣで符号化されたデータを格納する際には、サブサンプルはスライスに相当し、スライスの復号に必要な情報はパラメータセットに相当する。パラメータセットのデータはｍｏｏｖ内に格納され、パラメータセットデータへのアクセスする際にはｄｅｃ＿ｉｎｄｅｘを使用する。
【００５７】
本復号化装置の構成は、実施の形態１における復号化装置の構成（図６）と同一であるため、ここでは説明を省略する。また、各手段の動作についても、解析手段１０４においてサブサンプル情報を取得する部分のみが異なることから、解析手段１０４においてサブサンプル情報を取得する動作について、以下で説明する。
【００５８】
まず、ｍｏｏｖ内のｓｒｅｘを検索してｄｅｃ＿ｉｎｄｅｘとｓｕｂｓｍａｐｌｅ＿ｓｉｚｅのデフォルト値を取得し、その後ｍｏｏｆの解析を行う。ｓｒｅｘが存在しない場合は、ｓｒｅｘにおけるデフォルト値を０とする。図１０は、ｍｏｏｆ内で、ｓｆｈｄおよびｔｒｕｎを検索してサブサンプル情報を取得する際の動作を示すフローチャートである。なお、ここではＡＶＣデータが格納されたトラックについての情報を取得するものとし、そのトラックＩＤはＮであるものとする。Ｓ３０１においてｍｏｏｆに格納されている順にｔｒａｆを検索し、ｔｒａｆに含まれるｔｆｈｄのトラックＩＤを取得する。Ｓ３０２において、Ｓ３０１で取得したトラックＩＤがＮであるかどうか判定し、Ｎでない場合にはＳ３０６の処理に移る。Ｎである場合には、まず、Ｓ３０３において読み出しポインタを、ｔｒａｆにおける先頭データ格納位置にセットする。なお、先頭データ格納位置は、ｔｒａｆにおけるタイプフィールドの直後のデータを指すものとする。次に、Ｓ３０４において連続する４バイトのデータが文字列’ｓｆｈｄ’に一致するかどうか判定することにより、ｓｆｈｄを検索する。検索されたｓｆｈｄにｓｕｂｓｍａｐｌｅ＿ｓｉｚｅあるいはｄｅｃ＿ｉｎｄｅｘのデフォルト値が含まれる際には、それらのデフォルト値を取得し、ｓｒｅｘにおいて取得したデフォルト値に上書きする。なお、ｓｆｈｄが存在しない場合には、ｓｒｅｘにおけるデフォルト値を使用するものとする。デフォルト値の取得終了後、Ｓ３０５において読み出しポインタを、再びｔｒａｆにおける先頭データ格納位置にセットする。次に、Ｓ３０６において読み出しポインタに１バイトずつ加算しながらｔｒｕｎを検索し、検索されたｔｒｕｎを解析してサブサンプル情報を取得する。なお、検索終了後には読み出しポインタはｔｒｕｎの最終データ格納位置を指しているものとする。続いてＳ３０７において、Ｓ３０６で検索されたｔｒｕｎがｔｒａｆ内に含まれる最終のｔｒｕｎであるかどうか判定する。最終のｔｒｕｎであるかどうかは、読み出しポインタがｔｒａｆの最終データ格納位置に一致する、あるいは以降のデータを検索してもｔｒｕｎが見つからないことにより判定する。なお、ｔｒａｆの最終データ格納位置は、ｔｒａｆのサイズフィールドの値から取得できる。最終のｔｒｕｎと判定されなかった場合には、最終のｔｒｕｎに達するまでＳ３０６の処理を繰り返す。最終のｔｒｕｎと判定された際には、Ｓ３０８において、Ｓ３０１で検索したｔｒａｆがｍｏｏｆに含まれる最終のｔｒａｆであるかどうかを判定し、最終のｔｒａｆの処理が終了するまでＳ３０１からＳ３０７の処理を繰り返す。
【００５９】
図１１は、Ｓ３０６においてｔｒｕｎの解析を行う際の動作についての詳細を示すフローチャートである。まず、Ｓ４０１において、読み出しポインタをｔｒ＿ｆｌａｇｓの先頭データ格納位置にセットする。Ｓ４０２においてｔｒ＿ｆｌａｇｓの値を取得し、フラグ値よりｓｕｂｓａｍｐｌｅ＿ｓｉｚｅおよびｄｅｃ＿ｉｎｄｅｘフィールドが存在するか判定し、読み出しポインタをｔｒ＿ｆｌａｇｓフィールドのバイト数分進める。Ｓ４０３においてｓａｍｐｌｅ＿ｃｏｕｎｔを取得し、読み出しポインタをｓａｍｐｌｅ＿ｃｏｕｎｔフィールドのバイト数分進める。Ｓ４０４とＳ４０５においては、Ｓ４０１においてｄａｔａ＿ｏｆｆｓｅｔフィールドが存在すると判定された際には、ｄａｔａ＿ｏｆｆｓｅｔを取得して、読み出しポインタをｄａｔａ＿ｏｆｆｓｅｔフィールドのバイト数分進める。Ｓ４０６とＳ４０７においては、Ｓ４０１においてｆｉｒｓｔ＿ｓａｍｐｌｅ＿ｆｌａｇｓフィールドが存在すると判定された際には、ｆｉｒｓｔ＿ｓａｍｐｌｅ＿ｆｌａｇｓを取得して、読み出しポインタをｆｉｒｓｔ＿ｓａｍｐｌｅ＿ｆｌａｇｓフィールドのバイト数分進める。Ｓ４０８とＳ４０９においては、Ｓ４０１においてｓｕｂｓａｍｐｌｅ＿ｓｉｚｅフィールドが存在すると判定された際には、ｓｕｂｓａｍｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅを取得して、読み出しポインタをｓｕｂｓａｍｐｌｅ＿ｆｉｅｌｄ＿ｓｉｚｅフィールドのバイト数分進める。Ｓ４１０とＳ４１１においては、Ｓ４０１においてｄｅｃ＿ｉｎｄｅｘフィールドが存在すると判定された際には、ｄｅｃ＿ｉｎｄｅｘを取得して、読み出しポインタをｄｅｃ＿ｉｎｄｅｘフィールドのバイト数分進める。次に、Ｓ４１２において変数ｊを１にセットする。Ｓ４１３とＳ４１４において、サンプル、およびサンプルに含まれるサブサンプルについての情報を取得する。まず、Ｓ４１３において、Ｓ４０１における各フィールドの存在の有無についての判定結果に基づいてｓａｍｐｌｅ＿ｄｕｒａｔｉｏｎ，　ｓａｍｐｌｅ＿ｓｉｚｅ，　ｓａｍｐｌｅ＿ｆｌａｇｓ，　およびｓａｍｐｌｅ＿ｃｏｍｐｏｓｉｔｉｏｎ＿ｔｉｍｅ＿ｏｆｆｓｅｔの各フィールドを取得し、読み出しポインタを各フィールドのバイト数分進める。次に、Ｓ４１４において、Ｓ４０１における各フィールドの存在の有無についての判定結果に基づいてｓｕｂｓａｍｐｌｅ＿ｓｉｚｅおよびｄｅｃ＿ｉｎｄｅｘを取得し、読み出しポインタを各フィールドのバイト数分進める。サブサンプル情報の取得方法は、実施の形態１においてｓｒｕｎからサブサンプル単位の情報を取得する場合と同様である。なお、各フィールドが存在しない際には、デフォルト値を使用する。Ｓ４１５においてｊとｓａｍｐｌｅ＿ｃｏｕｎｔを比較する。ｊがｓａｍｐｌｅ＿ｃｏｕｎｔ未満である際には、Ｓ４１６においてｊに１を加算し、Ｓ４１３の処理に戻って残りのサンプルに関するサンプルおよびサブサンプルの情報を取得する。ｔｒｕｎにおける全サンプルについての情報を取得後、Ｓ４１７において、全サンプルについてのサンプルおよびサブサンプルについての情報を出力する。
【００６０】
（実施の形態３）
本発明にかかるデータ復号化方法の実施の形態３であるデータ符号化装置は、画像、音声などのデータを入力して符号化し、サブサンプル単位の情報を拡張部へ格納できるように変更したＭＰ４により多重化したデータを出力するものである。ここでは、入力データをＡＶＣにより符号化してＭＰ４に多重化する場合について説明する。なお、サブサンプルの情報が必要である符号化方式であれば、本データ符号化装置において処理するデータはＡＶＣのデータに限るものではなく、サブサンプルはＭＰＥＧ‐１、ＭＰＥＧ‐２のスライス、ＭＰＥＧ‐４のビデオパケット、あるいはスライス、Ｈ．．２６１、Ｈ．．２６３のスライスであってもよい。
【００６１】
図１２は、データ符号化装置の構成を示すブロック図である。入力手段２０１は、画像データｄ２０１を入力し、符号化前データｄ２０２として符号化手段２０２に出力する。符号化手段２０２は、符号化前データｄ２０２をＡＶＣにより符号化し、符号化結果であるデジタルデータｄ２０４をメモリ２０３に出力し、デジタルデータｄ２０４に含まれるフレームのサイズ、フレームを構成するサブフレームの数およびサイズ、サブサンプルの復号に必要な情報、および復号に必要な情報にアクセスするための情報を含む情報データｄ２０３をパケット化手段２０４に出力する。なお、ＡＶＣでは、サブサンプルの復号に必要な情報はパラメータセットに相当し、サブサンプルの情報に必要な情報にアクセスするための情報はパラメータセットＩＤに相当する。パケット化手段２０４は、サブフレーム単位の情報が格納できるように変更したＭＰ４フォーマットによりｍｏｏｖを作成し、ｍｏｏｆの作成単位を決定してｍｏｏｆを作成し、ｍｏｏｆに情報が含まれるサンプルについてのサンプルデータｄ２０５をメモリ２０３から取得してｍｄａｔを作成し、ＭＰ４ファイルデータｄ２０６を出力する。本データ符号化装置により作成したＭＰ４ファイルの使用例として、作成したＭＰ４ファイルがファイルサーバに保存される場合について説明する。ＭＰ４ファイルは、有線あるいは無線網を介して接続している再生端末からの要求に応じてサーバから端末にダウンロードされる。再生端末では、ＭＰ４ファイルをダウンロードしながら、あるいはダウンロード終了後に復号、再生する。また、端末で作成したＭＰ４ファイルを、端末が送信する電子メールにおける添付ファイルとして使用することも可能である。
【００６２】
以下に、パケット化手段２０４においてサブサンプル情報を格納する部分を作成する動作について詳細に説明する。図１３は、パケット化手段２０４の動作を示すフローチャートである。まず、Ｓ５０１において、ｉ番目のサンプルについての情報を取得する。なお、１サンプルは１フレームに相当するものとする。次に、Ｓ５０２においてサンプルに含まれるサブサンプルの数、各サブサンプルのサイズ、およびパラメータセットＩＤをテーブルに格納する。図１４は、サブサンプル情報を格納したテーブルの一例である。テーブルには各サンプルを構成するサブサンプルの情報が順に格納されており、サンプルに含まれるサブサンプルの数に続いて、サブサンプルのサイズとパラメータセットＩＤがサブサンプル毎に格納される。なお、各フィールドのサイズは３２バイトであるとする。図１４の例では、先頭サンプルには５個のサブサンプルから構成され、先頭サンプルの先頭サブサンプルのサイズは２１６、パラメータセットＩＤは２、２番目のサブサンプルのサイズは１６８、パラメータセットＩＤは２となっており、以下３から５番目までのサブサンプルについての情報が格納されている。また、２番目のサンプルは３個のサブサンプルにより構成される。Ｓ５０３において、Ｓ５０２により取得したサブサンプルの情報、あるいはサンプル単位の情報に基づいて、ｍｏｏｆに情報が含まれるサンプルを決定することによりｍｏｏｆの単位を決定する。決定方法については、ｍｏｏｆに含まれるサンプルのサイズの総和や、再生時間長の総和を用いることができる。Ｓ５０４においては、Ｓ５０３においてパケット化を行うと判定された場合にはＳ５０６へと進み、パケット化を行わないと判定された場合には、Ｓ５０５おいてｉに１を加算して、Ｓ５０１に戻る。Ｓ５０６では、サブサンプル情報を含むｍｏｏｆを作成する。最後に、Ｓ５０７において、Ｓ５０６で作成したｍｏｏｆにおいて情報が格納されるサンプルについてのデータを格納するｍｄａｔを作成し、ｍｏｏｆと連結してＭＰ４の拡張部におけるデータを出力する。
【００６３】
以下、Ｓ５０６において、サブサンプル単位の情報を格納するＢｏｘを作成する動作について説明する。まず、デフォルト値を格納するＢｏｘの作成方法について説明する。最初に、ｓｒｅｘにおけるｄｅｆａｕｌｔ＿ｄｅｃ＿ｉｎｄｅｘとｄｅｆａｕｌｔ＿ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅの値を決定する。デフォルト値の決定方法の詳細については説明を省略するが、一例として符号化手段２０２から出力される情報データｄ２０３に含めることが可能である。なお、ｓｒｅｘを作成しないものとしてもよい。次に、ｓｆｈｄにおけるデフォルト値を設定する。デフォルト値の決定方法の詳細については、次の方法が可能である。Ｓ５０２において作成したテーブルを解析して、ｔｒａｆにサンプル情報を格納するサンプルについて、サブサンプルが全て同一のサイズを持つ際には、そのサイズをｄｅｆａｕｌｔ＿ｓａｍｐｌｅ＿ｓｉｚｅとする。ｄｅｆａｕｌｔ＿ｄｅｃ＿ｉｎｄｅｘについても同様に決定する。なお、ｔｒａｆ内にサンプル情報が格納される連続した複数個のサンプルについて、サンプルに含まれるサブサンプルが全て同一のサイズ、あるいはパラメータセットＩＤをもつ際には、それらの値をデフォルト値としてもよい。なお、ｓｆｈｄにおいてデフォルト値を決定する際に求められたデフォルト値とｔｒｅｘにおけるデフォルト値とが一致する際には、ｓｆｈｄにおいてはデフォルト値を設定しないものとする。なお、ｓｆｈｄは作成しないものとしてもよい。なお、ｓｆｈｄの代わりに、拡張したｔｆｈｄ（図４）を用いてデフォルト値を格納してもよい。
【００６４】
次に、ｓｒｕｎを使用してサブサンプル単位の情報を格納する際の、ｓｒｕｎの作成動作について詳細に説明する。まず、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅおよびｄｅｃ＿ｉｎｄｅｘフィールドにデフォルト値を使用できるかどうか決定する。決定は、Ｓ５０２において作成したテーブルを解析し、ｓｒｕｎに含まれるサンプルについてのサブサンプルあるいはパラメータセットＩＤが全てデフォルト値と一致するかどうか判定することにより行う。全てのサブサンプルのサイズがデフォルト値と一致する際には、ｓｒ＿ｆｌａｇｓにおいてｓａｍｐｌｅ＿ｓｉｚｅフィールドの有無を示すフラグをセットせずに、ｓａｍｐｌｅ＿ｓｉｚｅフィールドは使用しないことを示す。その他の場合はフラグをセットする。また、全てのサブサンプルについてのパラメータセットＩＤがデフォルト値と一致する際には、ｓｒ＿ｆｌａｇｓにおいてｄｅｃ＿ｉｎｄｅｘフィールドの有無を示すフィールドをセットせずに、ｄｅｃ＿ｉｎｄｅｘフィールドは使用しないことを示す。その他の場合はフラグをセットする。
【００６５】
次に、ｓａｍｐｌｅ＿ｃｏｕｎｔの値を格納し、テーブルを作成する。図１５は、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅ，およびｄｅｃ＿ｉｎｄｅｘフィールドが共に存在する際の、テーブル作成時の動作を示すフローチャートである。まず、Ｓ６０１において、メモリの読み出し位置をＳ５０２で作成したテーブルにおける先頭サンプルのサンプル数格納位置にセットし、メモリの書き込み位置をｓｒｕｎのテーブル開始位置にセットする。　　次に、Ｓ６０２において変数ｎを１にセットし、Ｓ６０３においてｎ番目のサンプルに含まれるサブサンプルの数Ｍを取得して、サブサンプル数Ｍをメモリに書き込み、メモリの書き込み位置をｓｕｂｓａｍｐｌｅ＿ｃｏｕｎｔフィールドのバイト長だけ進める。Ｓ６０４において、変数ｍを１にセットする。その後、Ｓ６０５において、メモリの読み出し位置を４バイト進め、ｍ番目サブサンプルのサイズを取得し、Ｓ６０６において、Ｓ６０５で取得したサブサンプルのサイズをメモリに書き込み、メモリの書き込み位置をｓｕｂｓａｍｐｌｅ＿ｓｉｚｅフィールドのバイト長だけ進める。Ｓ６０７では、メモリの読み出し位置を４バイト進め、ｍ番目サブサンプルのｄｅｃ＿ｉｎｄｅｘ（パラメータセットＩＤに相当）を取得し、Ｓ６０８において、Ｓ６０７で取得したｄｅｃ＿ｉｎｄｅｘをメモリに書き込み、ｄｅｃ＿ｉｎｄｅｘフィールドのバイト長だけ進める。Ｓ６０９において、ｍとＭを比較し、ｍがＭ未満である際にはＳ６１０においてｍに１を加算し、Ｓ６０５に戻る。ｍがＭ以上となった際には、Ｓ６１１においてｎとＮを比較する。ｎがＮ未満である際にはＳ６１２においてメモリの読み出し位置を４バイト進め、Ｓ６１３においてｎに１を加算し、その後Ｓ６０３に戻る。ｎがＮ以上となり、ｓｒｕｎに格納する全サンプルについてのサブサンプル情報が終了するまでＳ６０３からＳ６１３の処理を繰り返す。なお、ｓｕｂｓａｍｐｌｅ＿ｓｉｚｅフィールドが存在しない場合には、Ｓ６０５とＳ６０６のにおいてメモリの書き込み処理は行わないように動作し、ｄｅｃ＿ｉｎｄｅｘフィールドが存在しない場合には、Ｓ６０７とＳ６０８においてメモリの書き込みの処理を行わないように動作する。なお、サブサンプル単位の情報は、拡張されたｔｒｕｎ（図９の（Ａ））を使用して格納してもよい。この場合は、ｔｒｕｎ作成時に、Ｓ５０２で作成したテーブル情報を元にサブサンプル単位の情報を格納する。
【００６６】
（実施の形態４）
さらに、上記各実施の形態で示したデータ復号化装置におけるデータ復号化方法、およびデータ符号化装置におけるデータ符号化方法を実現するためのプログラムを、フレキシブルディスク等の記録媒体に記録するようにすることにより、上記各実施の形態で示した処理を、独立したコンピュータシステムにおいて簡単に実施することが可能となる。
【００６７】
図２３は、上記上記各実施の形態のデータ復号化装置におけるデータ復号化方法、およびデータ符号化装置におけるデータ符号化方法を、フレキシブルディスク等の記録媒体に記録されたプログラムを用いて、コンピュータシステムにより実施する場合の説明図である。
【００６８】
図２３（ｂ）　は、フレキシブルディスクの正面からみた外観、断面構造、及びフレキシブルディスクを示し、図２３（ａ）　は、記録媒体本体であるフレキシブルディスクの物理フォーマットの例を示している。フレキシブルディスクＦＤはケースＦ内に内蔵され、該ディスクの表面には、同心円状に外周からは内周に向かって複数のトラックＴｒが形成され、各トラックは角度方向に１６のセクタＳｅに分割されている。従って、上記プログラムを格納したフレキシブルディスクでは、上記フレキシブルディスクＦＤ上に割り当てられた領域に、上記プログラムが記録されている。
【００６９】
また、図２３（ｃ）　は、フレキシブルディスクＦＤに上記プログラムの記録再生を行うための構成を示す。データ復号化装置におけるデータ復号化方法、およびデータ符号化装置におけるデータ符号化方法を実現する上記プログラムをフレキシブルディスクＦＤに記録する場合は、コンピュータシステムＣｓから上記プログラムをフレキシブルディスクドライブを介して書き込む。また、フレキシブルディスク内のプログラムによりデータ復号化装置におけるデータ復号化方法、およびデータ符号化装置におけるデータ符号化方法を実現する上記データ復号化装置におけるデータ復号化方法、およびデータ符号化装置におけるデータ符号化方法をコンピュータシステム中に構築する場合は、フレキシブルディスクドライブによりプログラムをフレキシブルディスクから読み出し、コンピュータシステムに転送する。
【００７０】
なお、上記説明では、記録媒体としてフレキシブルディスクを用いて説明を行ったが、光ディスクを用いても同様に行うことができる。また、記録媒体はこれに限らず、ＩＣカード、ＲＯＭカセット等、プログラムを記録できるものであれば同様に実施することができる。
【００７１】
【発明の効果】
本発明の請求項１に記載のパケットデータ構造によれば、フレームを構成するサブフレームに関する情報を格納できるという効果が得られ、さらにフレームとサブフレームの情報が同一の単位に格納されるため、両者の情報を取得する際の計算量が削減できるという効果が得られる。
【００７２】
本発明の請求項２に記載のパケットデータ構造によれば、フレームを構成するサブフレームに関する情報を格納できるという効果が得られ、さらにサブフレームの情報がフレームの情報とは別の単位に格納されるため、拡張しやすいという効果が得られる。
【００７３】
本発明の請求項３に記載のパケットデータ構造によれば、ＭＰＥＧあるいはＩＴＵ−Ｔで規格化された画像圧縮方式において呼ばれるスライス、あるいはビデオパケットの情報を格納することができるため、幅広い符号化方式のデータを多重化できるという効果が得られる。
【００７４】
本発明の請求項４に記載のパケットデータ構造によれば、フレームの復号に必要な情報を効率よく格納できるという効果が得られる。
【００７５】
本発明の請求項５に記載のパケットデータ構造によれば、サブフレームの復号に必要な情報を効率よく格納できるという効果が得られる。
【００７６】
本発明の請求項６に記載のデータ構造によれば、サブフレーム情報が含まれるかどうかをフラグの値を解析するだけで判定できるという効果が得られる。
【００７７】
本発明の請求項７に記載のデータ符号化装置によれば、動画像、音声テキストなどのデータを入力して符号化し、サブフレームの情報が多重化されたパケットデータ構造を持つデータを出力できるという効果が得られる。
【００７８】
本発明の請求項８に記載のデータ復号化装置によれば、サブフレームの情報が多重化されたパケットデータ構造を持つ入力データを解析し、サブフレーム単位で復号できるという効果が得られる。
【００７９】
本発明の請求項９に記載のデータ符号化方法により作成されたデータによれば、フレームを構成するサブフレームに関する情報を格納できるという効果が得られる。
【００８０】
本発明の請求項１０に記載のデータ復号化方法によりよれば、サブフレームの情報が多重化されたパケットデータ構造を持つ入力データを解析し、サブフレーム単位で復号できるという効果が得られる。
【００８１】
本発明の請求項１１に記載のデータ記憶媒体によれば、サブフレームの情報が多重化されたデータを格納したので、該当データをコンピュータにより復号する際に、サブフレーム単位で復号できるという効果が得られる。
【００８２】
本発明の請求項１２に記載のデータ記憶媒体によれば、画像、音声、テキストのデジタルデータを入力して符号化し、サブフレームの情報を格納したパケットデータ構造に多重化する処理をコンピュータに行わせるための処理を格納したので、該当プログラムをコンピュータにロードすることにより、画像、音声、テキストのデジタルデータを入力して符号化し、サブフレームの情報を格納したパケットデータ構造に多重化するデータ符号化装置を実現できるという効果が得られる。
【００８３】
本発明の請求項１３に記載のデータ記憶媒体によれば、サブフレームの情報を含むパケットデータ構造をもつデータを入力して、解析、復号および表示する処理をコンピュータに行わせるための処理を格納したので、該当プログラムをコンピュータにロードすることにより、サブフレームの情報を含むパケットデータ構造をもつデータを入力して、解析、復号および表示するデータ復号化装置を実現できるという効果が得られる。
【図面の簡単な説明】
【図１】本発明の実施の形態１においてサブサンプル単位の情報を格納するＢｏｘの構造を示す図。
【図２】本発明の実施の形態１の、ｍｏｏｖ内でサブサンプルのデフォルト値を格納するＢｏｘの構造を示す図。
【図３】本発明の、ｔｒａｆ内でサブサンプルのデフォルト値を格納するＢｏｘの構造を示す図。
【図４】本発明の拡張されたｔｆｈｄの構造を示す図。
【図５】本発明のｔｒａｆの構造を示す図。
【図６】本発明の実施の形態１および２にかかるデータ復号化装置の構成を示すブロック図。
【図７】本発明の実施の形態１のデータ復号化装置のｍｏｏｆ解析動作を示すフローチャート。
【図８】本発明の実施の形態１のデータ復号化装置のｓｒｕｎ解析動作を示すフローチャート。
【図９】本発明の実施の形態２においてサブサンプルのデフォルト値を格納するために拡張されたｔｒｕｎの構造を示す図。
【図１０】本発明の実施の形態２のデータ復号化装置のｍｏｏｆ解析動作を示すフローチャート
【図１１】本発明の実施の形態２のデータ復号化装置のｔｒｕｎ解析動作を示すフローチャート
【図１２】本発明の実施の形態３のデータ符号化装置の構成を示すフローチャート。
【図１３】本発明の実施の形態３のデータ符号化装置の拡張部作成動作を示すフローチャート
【図１４】本発明の実施の形態３のデータ符号化装置のサンプル情報を格納するテーブルの一例を示す図。
【図１５】本発明の実施の形態３のデータ符号化装置のサブサンプル情報を格納するＢｏｘの作成方法を示すフローチャート
【図１６】ＭＰ４におけるＢｏｘの構造を示す図。
【図１７】ＭＰ４ファイルの基本部の構造を示す図。
【図１８】ＭＰ４のｍｏｏｖの構造を示す図。
【図１９】拡張部を含むＭＰ４ファイルの構造を示す図。
【図２０】ＭＰ４のｍｏｏｆの構造を示す図。
【図２１】ＭＰ４のｔｒｕｎの構造を示す図。
【図２２】ＭＰ４の拡張部を使用し、データを分割して格納した例を示す図。
【図２３】各実施形態のデータ復号化方法、および符号化方法をコンピュータシステムにより実現するためのプログラムを格納するための記録媒体についての説明図。
【符号の説明】
１０１　入力手段
１０２　メモリ
１０３　分離手段
１０４　解析手段
１０５　復号表示手段
２０１　入力手段
２０２　符号化手段
２０３　メモリ
２０４　パケット化手段
【図１】
2004048299.tif 000003
【図２】
2004048299.tif 000004
【図３】
2004048299.tif 000005
【図４】
2004048299.tif 000006
【図５】
2004048299.tif 000007
【図６】
2004048299.tif 000008
【図７】
2004048299.tif 000009
【図８】
2004048299.tif 000010
【図９】
2004048299.tif 000011
【図１０】
2004048299.tif 000012
【図１１】
2004048299.tif 000013
【図１２】
2004048299.tif 000014
【図１３】
2004048299.tif 000015
【図１４】
2004048299.tif 000016
【図１５】
2004048299.tif 000017
【図１６】
2004048299.tif 000018
【図１７】
2004048299.tif 000019
【図１８】
2004048299.tif 000020
【図１９】
2004048299.tif 000021
【図２０】
2004048299.tif 000022
【図２１】
2004048299.tif 000023
【図２２】
2004048299.tif 000024
【図２３】
2004048299.tif 000025