(57)【特許請求の範囲】
【請求項１】
少なくとも一つのビットストリーム・ヘッダ・セクションを含むフレームベースのオーディオビットストリーム・フォーマット・ファイルを生成するための方法であって、前記フレームは、エンコードされた信号データを含み、現在のフレームのデータのデコーディング又は評価のために必要なデータが、一つ以上の先行フレームに含まれ、前記ヘッダに情報アイテムを配置することによって実行される方法であって：
前記情報アイテムは：
−  前記ファイルのチャネル毎のサンプルの総数と；
−  前記ファイルの「アーカイブモード」又は「ストリーミングモード」と；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの最初のフレームで始めることができるか否かと；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの前記最初のフレームで始まることになっていない場合、デコーディング状態を初期化する際にミュートする先頭部分のフレーム数、及び、サンプルに忠実にカットする機能が存在する場合、対応する前記フレームのミュートするサンプル数と；
−  前記ストリーミングモードにおいて、整合性チェックのための、前のスーパーフレームを特定するための値と；
を表し、
前記アーカイブモードにおいて、前記ファイルは、シングル・ビットストリーム・ヘッダ・セクションと、前記フレームの連続したフレームとを含み、かつ、前記エンコードされた信号データのデコーディングは、前記フレームの前記最初のフレームから始まり、かつ、
前記ストリーミングモードにおいて、前記ビットストリームは、１つ以上のスーパーフレームを含み、前記スーパーフレームのそれぞれは、シングル・ビットストリーム・ヘッダ・セクションから始まり、幾つかの前記フレームが続き、かつ、前記エンコードされた信号データのデコーディングは、前記スーパーフレームのそれぞれで初期化され、かつ、
ミュートする先頭部分のフレームの数に関する前記情報アイテムは、現在のスーパーフレームに続くフレームからエンコードされた信号データのデコーディングを実際に開始する前に前記信号データのデコーディングの状態を初期化するためのデータを確立するために、現在のスーパーフレームの幾つの先頭部分のフレームが必要かの信号を作るのに使用され、前記先頭部分のフレームは、前記先頭部分のフレームに含まれた前記エンコードされた信号データのデコーディングのために使用されず、かつ前記先頭部分のフレームに含まれた前記エンコードされた信号データはデコードされない、
方法。
【請求項２】
少なくとも一つのビットストリーム・ヘッダ・セクションを含むフレームベースのオーディオビットストリーム・フォーマット・ファイルのデータ構造であって、前記フレームは、エンコードされた信号データを含み、現在のフレームのデータのデコーディング又は評価のために必要なデータが、一つ以上の先行フレームに含まれ、前記ヘッダに情報アイテムを持つデータ構造であって：
前記情報アイテムは：
−  前記ファイルのチャネル毎のサンプルの総数と；
−  前記ファイルの「アーカイブモード」又は「ストリーミングモード」と；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの最初のフレームで始めることができるか否かと；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの前記最初のフレームで始まることになっていない場合、デコーディング状態を初期化する際にミュートする先頭部分のフレーム数、及び、サンプルに忠実にカットする機能が存在する場合、対応する前記フレームのミュートするサンプル数と；
−  前記ストリーミングモードにおいて、整合性チェックのための、前のスーパーフレームを特定するための値と；
を表し、
前記アーカイブモードにおいて、前記ファイルは、シングル・ビットストリーム・ヘッダ・セクションと、前記フレームの連続したフレームとを含み、かつ、前記エンコードされた信号データのデコーディングは、前記フレームの前記最初のフレームから始まり、かつ、
前記ストリーミングモードにおいて、前記ビットストリームは、１つ以上のスーパーフレームを含み、前記スーパーフレームのそれぞれは、シングル・ビットストリーム・ヘッダ・セクションから始まり、幾つかの前記フレームが続き、かつ、前記エンコードされた信号データのデコーディングは、前記スーパーフレームのそれぞれで初期化され、かつ、
ミュートする先頭部分のフレームの数に関する前記情報アイテムは、現在のスーパーフレームに続くフレームからエンコードされた信号データのデコーディングを実際に開始する前に前記信号データのデコーディングの状態を初期化するためのデータを確立するために、現在のスーパーフレームの幾つの先頭部分のフレームが必要かの信号を作るのに使用され、前記先頭部分のフレームは、前記先頭部分のフレームに含まれた前記エンコードされた信号データのデコーディングのために使用されず、かつ前記先頭部分のフレームに含まれた前記エンコードされた信号データはデコードされない、
データ構造。
【請求項３】
ヘッダ・セクションを含むフレームベースのオーディオビットストリーム・ファイル・フォーマットを変更するための方法であって、前記フレームは、エンコードされた信号データを含み、現在のフレームのデータのデコーディング又は評価のために必要なデータが、一つ以上の先行フレームに含まれ、かつ、前記ヘッダは、情報アイテムを含む方法であって、
前記情報アイテムは：
−  前記ファイルのチャネル毎のサンプルの総数と；
−  前記ファイルの「アーカイブモード」と；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの最初のフレームで始まることと；
を表し、
前記アーカイブモードにおいて、前記ファイルは、シングル・ビットストリーム・ヘッダ・セクションと、前記フレームの連続したフレームとを含み、当該方法は、前記アーカイブモード・ファイルから前記必要なフレームデータを取ることによって、前記アーカイブモード・ファイルのあらゆる連続したグループのフレームから、ストリーミングモード・ビットストリームのスーパーフレームを生成することによって、前記アーカイブモード・ファイルから「ストリーミングモード」ビットストリームを生成するステップと、各スーパーフレームの始まりにおいて、スーパーフレーム・ヘッダを配置するステップと、を含み、これらの前記スーパーフレーム・ヘッダは、前記ヘッダから得られ、かつ、前記スーパーフレーム・ヘッダの最初のスーパーフレーム・ヘッダにおいて：
−  前記ファイルのチャネル毎のサンプルの総数は、第１の適合されたチャネル毎のサンプル数に置き換えられ；
−  「アーカイブモード」のための情報アイテムは、「ストリーミングモード」のための情報アイテムと置き換えられ；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの前記最初のフレームで開始することに関する前記情報アイテムは、保たれ；
かつ、前記スーパーフレーム・ヘッダの後続のスーパーフレーム・ヘッダにおいて、
−  前記ファイルの前記チャネル毎のサンプルの総数は、第２の適合されたチャネル毎のサンプル数に置き換えられ；
−  「アーカイブモード」のための前記情報アイテムは、「ストリーミングモード」のための情報アイテムと置き換えられ；
−  前記エンコードされた信号データのデコーディングが前記ファイルの前記最初のフレームで始まることに関する前記情報アイテムは、前記エンコードされた信号データのデコーディングが前記最初のフレームで始まらないことに関する情報アイテム、に置き換えられ；
−  デコーディング状態が初期化される間に、ミュートする先頭部分のフレームの数に関する情報アイテムが追加され；
−  前記エンコードされた信号データのデコーディングが開始することになっているフレームにおいて、ミュートするサンプル数に関する情報アイテム（ミュートするサンプル数は「０」である）が追加され得；
−  整合性チェックデータであって、その値は前のスーパーフレームの前記データから得られる整合性チェックデータに関する情報アイテムが追加される；
方法。
【請求項４】
ヘッダ・セクションを含むフレームベースのオーディオビットストリーム・ファイル・フォーマットを変更するための装置であって、前記フレームは、エンコードされた信号データを含み、現在のフレームのデータのデコーディング又は評価のために必要なデータが、一つ以上の先行フレームに含まれ、かつ、前記ヘッダは、情報アイテムを含む装置であって、
前記情報アイテムは：
−  前記ファイルのチャネル毎のサンプルの総数と；
−  前記ファイルの「アーカイブモード」と；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの最初のフレームで始まることと；
を表し、
前記アーカイブモードにおいて、前記ファイルは、シングル・ビットストリーム・ヘッダ・セクションと、前記フレームの連続したフレームとを含み、当該装置は、前記アーカイブモード・ファイルから前記必要なフレームデータを取ることによって、前記アーカイブモード・ファイルのあらゆる連続したグループのフレームから、ストリーミングモード・ビットストリームのスーパーフレームを生成することによって、前記アーカイブモード・ファイルから「ストリーミングモード」ビットストリームを生成し、各スーパーフレームの始まりにおいて、スーパーフレーム・ヘッダを配置し、これらの前記スーパーフレーム・ヘッダは、前記ヘッダから得られ、かつ、前記スーパーフレーム・ヘッダの最初のスーパーフレーム・ヘッダにおいて：
−  前記ファイルのチャネル毎のサンプルの総数は、第１の適合されたチャネル毎のサンプル数に置き換えられ；
−  「アーカイブモード」のための情報アイテムは、「ストリーミングモード」のための情報アイテムと置き換えられ；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの前記最初のフレームで開始することに関する前記情報アイテムは、保たれ；
かつ、前記スーパーフレーム・ヘッダの後続のスーパーフレーム・ヘッダにおいて、
−  前記ファイルの前記チャネル毎のサンプルの総数は、第２の適合されたチャネル毎のサンプル数に置き換えられ；
−  「アーカイブモード」のための前記情報アイテムは、「ストリーミングモード」のための情報アイテムと置き換えられ；
−  前記エンコードされた信号データのデコーディングが前記ファイルの前記最初のフレームで始まることに関する前記情報アイテムは、前記エンコードされた信号データのデコーディングが前記最初のフレームで始まらないことに関する情報アイテム、に置き換えられ；
−  デコーディング状態が初期化される間に、ミュートする先頭部分のフレームの数に関する情報アイテムが追加され；
−  前記エンコードされた信号データのデコーディングが開始することになっているフレームにおいて、ミュートするサンプル数に関する情報アイテム（ミュートするサンプル数は「０」である）が追加され得；
−  整合性チェックデータであって、その値は前のスーパーフレームの前記データから得られる整合性チェックデータに関する情報アイテムが追加される；
装置。
【請求項５】
前記第１の適合されたチャネル毎のサンプル数ＯＦＬは、ＯＦＬ＝Ｍｍｅａｎ＊Ｌであり、ここで、Ｌはフレーム毎のデコードされたサンプル数であり、ＯＦＬｏｒｉｇは、チャネル毎の前記ファイルのサンプルの全長であり、Ｍは、Ｍ＜＝ｃｅｉｌ（ＯＦＬｏｒｉｇ／Ｌ）及びＭｍｅａｎ＝ｃｅｉｌ（ＯＦＬｏｒｉｇ／（Ｍ＊Ｌ））を満たすスーパーフレームの数である、
請求項３記載の方法。
【請求項６】
「ｍ」は、現在のスーパーフレームの番号であり、第２の適合されたチャネル毎のサンプル数ＯＦＬは、ＯＦＬ＝ｍｉｎ（（Ｍｍｅａｎ＊Ｌ）、（ＯＦＬｏｒｉｇ−ｍ＊Ｌ＊Ｍｍｅａｎ））である、
請求項５記載の方法。
【請求項７】
整合性チェックデータに関する前記情報アイテムは、前記前のスーパーフレームのあらかじめ定められたセクションの前記ＣＲＣチェックサムである、
請求項６記載の方法。
【請求項８】
整合性チェックデータに関する前記情報アイテムは、前記前のスーパーフレームの最後フレームのハッシュ値である、
請求項６記載の方法。
【請求項９】
前記第１の適合されたチャネル毎のサンプル数ＯＦＬは、ＯＦＬ＝Ｍｍｅａｎ＊Ｌであり、ここで、Ｌはフレーム毎のデコードされたサンプル数であり、ＯＦＬｏｒｉｇは、チャネル毎の前記ファイルのサンプルの全長であり、Ｍは、Ｍ＜＝ｃｅｉｌ（ＯＦＬｏｒｉｇ／Ｌ）及びＭｍｅａｎ＝ｃｅｉｌ（ＯＦＬｏｒｉｇ／（Ｍ＊Ｌ））を満たすスーパーフレームの数である、
請求項４記載の装置。
【請求項１０】
「ｍ」は、現在のスーパーフレームの番号であり、第２の適合されたチャネル毎のサンプル数ＯＦＬは、ＯＦＬ＝ｍｉｎ（（Ｍｍｅａｎ＊Ｌ）、（ＯＦＬｏｒｉｇ−ｍ＊Ｌ＊Ｍｍｅａｎ））である、
請求項９記載の装置。
【請求項１１】
整合性チェックデータに関する前記情報アイテムは、前記前のスーパーフレームのあらかじめ定められたセクションの前記ＣＲＣチェックサムである、
請求項１０記載の装置。
【請求項１２】
整合性チェックデータに関する前記情報アイテムは、前記前のスーパーフレームの最後フレームのハッシュ値である、
請求項１０記載の装置。
【請求項１３】
請求項３、５、及び６のうちいずれか１項記載の方法を実行する、ストリーミングモード・ビットストリームのデコーディングのための方法であって：
−  最初のスーパーフレーム・ヘッダを有する最初のスーパーフレームにおいて、前記ストリーミングモード・ビットストリームのデコーディングを始めるとき、デフォルトのデコーダ状態を使用して、そのスーパーフレームの最初のフレームで、前記エンコードされた信号データのデコーディングを開始するステップと；
−  前記ストリーミングモード・ビットストリームのデコーディングを、前記最初のスーパーフレームで開始しないとき、デコーディング初期化又はリセットに続いて、ミュートする先頭部分のフレームの数に関する前記情報アイテムに対応する「ｍｕｔｅＦｒａｍｅｓ」における数のフレームが前記デコーディング状態を初期化するために使用され、かつ、エンコードされた信号データのデコーディングは、これらのデコーディング状態を使用して、現在のスーパーフレームのフレーム番号ｍｕｔｅＦｒａｍｅｓ＋１から始めるステップと；
−  前記ストリーミングモード・ビットストリームのデコーディングを、前記最初のスーパーフレームで開始せず、かつ、前記前のスーパーフレーム・データから算出された整合性チェックデータが、前記現在のスーパーフレームから算出される対応する整合性チェックデータと整合していないとき、デコーディング状態の再初期化のために、後続するスーパーフレームの、「ｍｕｔｅＦｒａｍｅｓ」における数の、フレームを使用して、その後続するスーパーフレームの「ｍｕｔｅＦｒａｍｅｓ」＋１のフレーム番号のエンコードされた信号データのデコーディングを、これらのデコーディング状態を使用して、開始するステップと；
−  前記ストリーミングモード・ビットストリームのデコーディングを、前記最初のスーパーフレームで開始せず、かつ、スーパーフレームが以前にデコードされており、かつ、前記整合性チェックデータが有効であるとき、前記現在のスーパーフレームの前記フレームの前記エンコードされた信号データをデコードするために、前記以前にデコードされたスーパーフレームのデコーダ状態を使用するステップと；
を有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は可変フォーマットを有するフレームベースのデータフォーマットに関する。このフレームは、現在のフレームのデコーディングのために、前のフレームデータにアクセスすることが要求される、エンコードされた信号データを含むものである。
【背景技術】
【０００２】
［背景］
フレームベースのビットストリーム・フォーマットにおいて、現在のフレームをデコードするために必要なデータは、通常そのフレームのデータセクションの中に記憶される。例外は、そのビットリザーバ（ｒｅｓｅｒｖｏｉｒ）技術を有するＭＰＥＧ１オーディオ・レイヤ  ＩＩＩビットストリームである。現在のフレームのためのデータは、先行フレームで記憶される。データの位置は、バイト単位で、先行フレームのメインデータの始まりの位置へのポインタによって、ビットストリームに示される。デコーダが必要な先行フレームを受信しない場合、現在のＭＰ３フレームのデコーディングはスキップされる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
［発明］
ＭＰＥＧ１オーディオ・レイヤＩＩＩビットストリームは、サンプルの忠実なカット（ｓａｍｐｌｅ−ｅｘａｃｔ  ｃｕｔ）を可能にするためのビットストリーム・ヘッダフィールドを有しない。本発明は、エクステンション・データストリームが、ロッシー（ｌｏｓｓｙ）ベースのレイヤデータストリームのためのロスレス（ｌｏｓｓｌｅｓｓ）・エクステンションを提供するデータフォーマット又は構造に適用できる。例えば、オーディオ信号、例えば、ｍｐ３ビットストリームのロスレス・エクステンションのｈｄ３オーディオ・ファイル・フォーマットが挙げられる。この場合、フレームのデコーディングにおいて、１つ以上の先行するフレームを必要とし、ビットストリーム・フォーマットがアーカイブモード及びストリーミングモード、及びビットストリームをサンプルに忠実にカットする機能を提供する。
【０００４】
「アーカイブモード」とは、ファイルが、シングル・ビットストリーム・ヘッダ、及びその次に来るエンコード又はデコードされた信号サンプル又は係数（特にオーディオサンプル）を含むことを意味する。これによって、デコーディングは、ファイルの最初から始まらなければならない。すなわち、ビットストリーム・ヘッダの後にフレームが来る。
【０００５】
「ストリーミングモード」とは、整合性のある（ｃｏｈｅｒｅｎｔ）ビットストリームが、データの複数のパッケージに分けられることを意味する。各々のパッケージは、シングル・ビットストリーム・ヘッダから始まり、いくつかのフレームが続く。これによって、デコーディングは、各々のパッケージから始めることができる。
【０００６】
サンプルに忠実にカットする手段とは、新しいビットストリームとして、既存のビットストリームから、部分的なセクションを生成することを意味する。これによって、この既存のビットストリームのサンプルのサブセットのみをエンコーディング又はデコーディングする。ここで、最初と最後のデコーディング可能なサンプルは、任意に選択することができる。
【０００７】
本発明が解決しようとする課題は、カットされたファイル又はストリーミング・パッケージの最初に、デコーダ状態の初期化を容易にするビットストリーム・フォーマットを達成することである。フレームに依存して、デコーダの状態を回復するための先行フレームの数は異なる。ストリーミングモード・ファイル又はカットされたファイルは、各々のフレームで開始するため、デコーダの状態の回復に必要な先行フレームの数は無くなる。この課題は、請求項１、及び３に係る方法によって、及び請求項２に係るデータ構造によって解決される。請求項３の方法を利用する装置は、請求項４において開示される。
【課題を解決するための手段】
【０００８】
本発明のビットストリーム・フォーマットは、デコーダ側及びエンコーダ側で、生成され使用される。デコーダ側において、本発明は、対応するデコーダ処理、及びカットされたファイル又はストリーム・パッケージの始めにデコーダ状態を初期化するために必要なビットストリーム・ヘッダフィールドに関連している。
【０００９】
本発明によれば、どれくらいのフレームがデコーダ状態を初期化するために必要かが、ビットストリームによって送信される。このことは、ビットストリーム・ヘッダ内で、デコーダ状態の回復のために必要なフレームの数を、信号として送ることによって、明確に実行される。これらのフレームは、デコーダ初期化のために使用され、サンプル又は係数のデコーディングのためには使用されない。サンプルの忠実なカットのために、カットがなされるフレームに対して、ミュートされるサンプルまたは係数の数が、ビットストリーム・ヘッダに示され、フレーム境界を越えるサンプルに忠実なカットが可能とされる。
【００１０】
本発明は、２ビットストリーム・モード、及びビットストリームのサンプルの忠実なカットを可能とするために、例えばｈｄ３エンコーダにおいて使用することができる。これは特定の解決案である。その理由は、ｈｄ３エンコーダビットストリームの第２のレイヤーのフレームのデコーディングは、最初のレイヤーの１つ以上のデコードされたフレームを必要とするからである。これに対して、大部分の周知のフレームベースのオーディオ・フォーマットにおいて、各々のフレームは、他のフレームから独立して、デコードすることができる。後方適応予測（ｂａｃｋｗａｒｄ  ａｄａｐｔｉｖｅ  ｐｒｅｄｉｃｔｉｏｎ）を利用する符号器（ｃｏｄｅｒ）の技術は、本発明の処理には利用できない。なぜなら、これは、予測状態を回復するために、先行してデコードされたサンプルが既知であることを必要とするからである。したがって、この種の周知のビットストリームは、定められた数のエンコードされたサンプルの後であれば、デコーダの初期化のための予測状態を含む。それは本発明のために当てはまらない。
【００１１】
基本的に、発明の方法は、少なくとも一つのビットストリーム・ヘッダ・セクションを含むフレームベースのビットストリーム・フォーマット・ファイルを生成するための方法であって、前記フレームは、エンコードされた信号データを含み、現在のフレームのデータのデコーディング又は評価のために必要なデータが、一つ以上の先行フレームに含まれ、前記ヘッダに情報アイテムを配置することによって実行される方法であって：
前記情報アイテムは：
−  前記ファイルのチャネル毎のサンプルの総数と；
−  前記ファイルの「アーカイブモード」又は「ストリーミングモード」と；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの最初のフレームで始めることができるか否かと；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの前記最初のフレームで始まることになっていない場合、デコーディング状態を初期化する際にミュートする先頭部分のフレーム数、及び、任意的に、サンプルに忠実にカットする機能のための、対応する前記フレームのミュートするサンプル数と；
−  前記ストリーミングモードにおいて、整合性チェックのための、前のスーパーフレームを特定するための値と；
を表し、
前記アーカイブモードにおいて、前記ファイルは、シングル・ビットストリーム・ヘッダ・セクションと、前記フレームの連続したフレームとを含み、かつ、前記エンコードされた信号データのデコーディングは、前記フレームの前記最初のフレームから始まり、かつ、
前記ストリーミングモードにおいて、前記ビットストリームは、１つ以上のスーパーフレームを含み、前記スーパーフレームのそれぞれは、シングル・ビットストリーム・ヘッダ・セクションから始まり、幾つかの前記フレームが続き、かつ、前記エンコードされた信号データのデコーディングは、前記スーパーフレームのそれぞれで初期化され、かつ、
ミュートする先頭部分のフレームの数に関する前記情報アイテムは、現在のスーパーフレームに続くフレームからエンコードされた信号データのデコーディングを実際に開始する前に前記信号データのデコーディングの状態を初期化するためのデータを確立するために、現在のスーパーフレームの幾つの先頭部分のフレームが必要かの信号を作るのに使用され、前記先頭部分のフレームは、前記先頭部分のフレームに含まれた前記エンコードされた信号データのデコーディングのために使用されない、
方法に適している。
【００１２】
基本的に、発明のデータ構造は、少なくとも一つのビットストリーム・ヘッダ・セクションを含むフレームベースのビットストリーム・フォーマット・ファイルのデータ構造であって、前記フレームは、エンコードされた信号データを含み、現在のフレームのデータのデコーディング又は評価のために必要なデータが、一つ以上の先行フレームに含まれ、前記ヘッダに情報アイテムを持つデータ構造であって：
前記情報アイテムは：
−  前記ファイルのチャネル毎のサンプルの総数と；
−  前記ファイルの「アーカイブモード」又は「ストリーミングモード」と；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの最初のフレームで始めることができるか否かと；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの前記最初のフレームで始まることになっていない場合、デコーディング状態を初期化する際にミュートする先頭部分のフレーム数、及び、任意的に、サンプルに忠実にカットする機能のための、対応する前記フレームのミュートするサンプル数と；
−  前記ストリーミングモードにおいて、整合性チェックのための、前のスーパーフレームを特定するための値と；
を表し、
前記アーカイブモードにおいて、前記ファイルは、シングル・ビットストリーム・ヘッダ・セクションと、前記フレームの連続したフレームとを含み、かつ、前記エンコードされた信号データのデコーディングは、前記フレームの前記最初のフレームから始まり、かつ、
前記ストリーミングモードにおいて、前記ビットストリームは、１つ以上のスーパーフレームを含み、前記スーパーフレームのそれぞれは、シングル・ビットストリーム・ヘッダ・セクションから始まり、幾つかの前記フレームが続き、かつ、前記エンコードされた信号データのデコーディングは、前記スーパーフレームのそれぞれで初期化され、かつ、
ミュートする先頭部分のフレームの数に関する前記情報アイテムは、現在のスーパーフレームに続くフレームからエンコードされた信号データのデコーディングを実際に開始する前に前記信号データのデコーディングの状態を初期化するためのデータを確立するために、現在のスーパーフレームの幾つの先頭部分のフレームが必要かの信号を作るのに使用され、前記先頭部分のフレームは、前記先頭部分のフレームに含まれた前記エンコードされた信号データのデコーディングのために使用されない、
データ構造に適している。
【００１３】
基本的に、１つの発明の方法は、ビットストリーム・ヘッダ・セクションを含むフレームベースのビットストリーム・フォーマット・ファイルからセクションをカットするための方法であって、前記フレームは、エンコードされた信号データを含み、現在のフレームのデータのデコーディング又は評価のために必要なデータが、一つ以上の先行フレームに含まれ、かつ、前記ヘッダは、情報アイテムを含む方法であって、
前記情報アイテムは：
−  前記ファイルのチャネル毎のサンプルの総数と；
−  前記ファイルの「アーカイブモード」と；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの最初のフレームで始まることと；
を表し、
前記アーカイブモードにおいて、前記ファイルは、シングル・ビットストリーム・ヘッダ・セクションと、前記フレームの連続したフレームとを含み、当該方法は、前記ビットストリームから必要なフレームデータを取ることによって、カットされたファイルを生成するステップと、これらのフレームデータの前にカットヘッダを配置するステップと、を含み、前記カットヘッダは、前記ヘッダから得られ、かつ、
前記カットヘッダにおいて：
−  前記ファイルのチャネル毎の前記サンプルの総数は、前記カットされたファイルのチャネル毎のサンプル数に置き換えられ、
−  前記アーカイブモードは、保たれ；
−  前記エンコードされた信号データのデコーディングが前記ファイルの前記最初のフレームで開始することに関する前記情報アイテムは、前記エンコードされた信号データのデコーディングが前記ファイルの後続で開始することに変更され；
−  デコーディング状態が初期化される間にミュートする先頭部分のフレームの数に関する情報アイテムが加えられる；
方法に適している。
【００１４】
基本的に、１つの発明の装置は、ビットストリーム・ヘッダ・セクションを含むフレームベースのビットストリーム・フォーマット・ファイルからセクションをカットするための装置であって、前記フレームは、エンコードされた信号データを含み、現在のフレームのデータのデコーディング又は評価のために必要なデータが、一つ以上の先行フレームに含まれ、かつ、前記ヘッダは、情報アイテムを含む装置であって、
前記情報アイテムは：
−  前記ファイルのチャネル毎のサンプルの総数と；
−  前記ファイルの「アーカイブモード」と；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの最初のフレームで始まることと；
を表し、
前記アーカイブモードにおいて、前記ファイルは、シングル・ビットストリーム・ヘッダ・セクションと、前記フレームの連続したフレームとを含み、前記装置は、前記ビットストリームから必要なフレームデータを取ることによって、カットされたファイルを生成する手段と、これらのフレームデータの前にカットヘッダを配置する手段と、を含み、前記カットヘッダは、前記ヘッダから得られ、かつ、
前記カットヘッダにおいて：
−  前記ファイルのチャネル毎の前記サンプルの総数は、前記カットされたファイルのチャネル毎のサンプル数に置き換えられ、
−  前記アーカイブモードは、保たれ；
−  前記エンコードされた信号データのデコーディングが前記ファイルの前記最初のフレームで開始することに関する前記情報アイテムは、前記エンコードされた信号データのデコーディングが前記ファイルの後続で開始することに変更され；
−  デコーディング状態が初期化される間にミュートする先頭部分のフレームの数に関する情報アイテムが加えられる；
装置に適している。
【００１５】
基本的に、１つの発明の方法は、フレームベースのビットストリーム・ファイルフォーマットを変更するための方法であって、前記ビットストリームはヘッダ・セクションを含み、前記フレームはエンコードされた信号データを含み、現在のフレームのデータのデコーディング又は評価のために必要なデータが、一つ以上の先行フレームに含まれ、前記ヘッダを含む方法であって、
前記情報アイテムは：
−  前記ファイルのチャネル毎のサンプルの総数と；
−  前記ファイルの「アーカイブモード」と；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの最初のフレームで始まることと；
を表し、
前記アーカイブモードにおいて、前記ファイルは、シングル・ビットストリーム・ヘッダ・セクションと、前記フレームの連続したフレームとを含み、当該方法は、前記アーカイブモード・ファイルから前記必要なフレームデータを取ることによって、前記アーカイブモード・ファイルのあらゆる連続したグループのフレームから、前記ストリーミングモード・ビットストリームのスーパーフレームを生成することによって、前記アーカイブモード・ファイルから「ストリーミングモード」ビットストリームを生成するステップと、各スーパーフレームの始まりにおいて、スーパーフレーム・ヘッダを配置するステップと、を含み、これらの前記スーパーフレーム・ヘッダは、前記ヘッダから得られ、かつ、前記スーパーフレーム・ヘッダの最初のスーパーフレーム・ヘッダにおいて：
−  前記ファイルのチャネル毎のサンプルの総数は、第１の適合されたチャネル毎のサンプル数に置き換えられ；
−  「アーカイブモード」のための情報アイテムは、その代わりに「ストリーミングモード」が与えられ；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの前記最初のフレームで開始することに関する前記情報アイテムは、保たれ；
かつ、前記スーパーフレーム・ヘッダの後続のスーパーフレーム・ヘッダにおいて、
−  前記ファイルの前記チャネル毎のサンプルの総数は、第２の適合されたチャネル毎のサンプル数に置き換えられ；
−  「アーカイブモード」のための前記情報アイテムは、「ストリーミングモード」のための情報アイテムと置き換えられ；
−  前記エンコードされた信号データのデコーディングが前記ファイルの前記最初のフレームで始まることに関する前記情報アイテムは、前記エンコードされた信号データのデコーディングが前記最初のフレームで始まらないことに関する情報アイテム、に置き換えられ；
−  デコーディング状態が初期化される間に、ミュートする先頭部分のフレームの数に関する情報アイテムが追加され；
−  任意に、前記エンコードされた信号データのデコーディングが開始することになっているフレームにおいて、ミュートするサンプル数に関する情報アイテム（この数字は「０」である）が追加され；
−  整合性チェックデータであって、その値は前のスーパーフレームの前記データから得られる整合性チェックデータに関する情報アイテムが追加される；
方法に適している。
【００１６】
基本的に、１つの発明の装置は、フレームベースのビットストリーム・ファイルフォーマットを変更するための装置であって、前記ビットストリームはヘッダ・セクションを含み、前記フレームはエンコードされた信号データを含み、現在のフレームのデータのデコーディング又は評価のために必要なデータが、一つ以上の先行フレームに含まれ、前記ヘッダを含む装置であって、
前記情報アイテムは：
−  前記ファイルのチャネル毎のサンプルの総数と；
−  前記ファイルの「アーカイブモード」と；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの最初のフレームで始まることと；
を表し、
前記アーカイブモードにおいて、前記ファイルは、シングル・ビットストリーム・ヘッダ・セクションと、前記フレームの連続したフレームとを含み、前記装置は、前記アーカイブモード・ファイルから前記必要なフレームデータを取ることによって、前記アーカイブモード・ファイルのあらゆる連続したグループのフレームから、前記ストリーミングモード・ビットストリームのスーパーフレームを生成することによって、前記アーカイブモード・ファイルから「ストリーミングモード」ビットストリームを生成する手段と、各スーパーフレームの始まりにおいて、スーパーフレーム・ヘッダを配置する手段と、を含み、これらの前記スーパーフレーム・ヘッダは、前記ヘッダから得られ、かつ、前記スーパーフレーム・ヘッダの最初のスーパーフレーム・ヘッダにおいて：
−  前記ファイルのチャネル毎のサンプルの総数は、第１の適合されたチャネル毎のサンプル数に置き換えられ；
−  「アーカイブモード」のための情報アイテムは、その代わりに「ストリーミングモード」が与えられ；
−  前記エンコードされた信号データのデコーディングが、前記ファイルの前記最初のフレームで開始することに関する前記情報アイテムは、保たれ；
かつ、前記スーパーフレーム・ヘッダの後続のスーパーフレーム・ヘッダにおいて、
−  前記ファイルの前記チャネル毎のサンプルの総数は、第２の適合されたチャネル毎のサンプル数に置き換えられ；
−  「アーカイブモード」のための前記情報アイテムは、「ストリーミングモード」のための情報アイテムと置き換えられ；
−  前記エンコードされた信号データのデコーディングが前記ファイルの前記最初のフレームで始まることに関する前記情報アイテムは、前記エンコードされた信号データのデコーディングが前記最初のフレームで始まらないことに関する情報アイテム、に置き換えられ；
−  デコーディング状態が初期化される間に、ミュートする先頭部分のフレームの数に関する情報アイテムが追加され；
−  任意に、前記エンコードされた信号データのデコーディングが開始することになっているフレームにおいて、ミュートするサンプル数に関する情報アイテム（この数字は「０」である）が追加され；
−  整合性チェックデータであって、その値は前のスーパーフレームの前記データから得られる整合性チェックデータに関する情報アイテムが追加される；
装置に適している。
【００１７】
基本的に、上記最後の方法の使用は、前記ストリーミングモード・ビットストリームのデコーディングのための方法の使用であって、
−  前記最初のスーパーフレームにおいて、前記ストリーミングモード・ビットストリームのデコーディングを始めるとき、デフォルトのデコーダ状態を使用して、そのスーパーフレームの最初のフレームで、前記エンコードされた信号データのデコーディングを開始するステップと；
−  前記ストリーミングモード・ビットストリームのデコーディングを、前記最初のスーパーフレームで開始しないとき、デコーディング初期化又はリセットに続いて、ミュートする先頭部分のフレームの数に関する前記情報アイテムに対応する「ｍｕｔｅＦｒａｍｅｓ」における数のフレームが前記デコーディング状態を初期化するために使用され、かつ、エンコードされた信号データのデコーディングは、これらのデコーディング状態を使用して、前記現在のスーパーフレームのフレーム番号ｍｕｔｅＦｒａｍｅｓ＋１から始めるステップと；
−  前記ストリーミングモード・ビットストリームのデコーディングを、前記最初のスーパーフレームで開始せず、かつ、前記前のスーパーフレーム・データから算出された整合性チェックデータが、前記現在のスーパーフレームから算出される対応する整合性チェックデータと整合していないとき、デコーディング状態の再初期化のために、後続するスーパーフレームの、「ｍｕｔｅＦｒａｍｅｓ」における数の、フレームを使用して、その後続するスーパーフレームの「ｍｕｔｅＦｒａｍｅｓ」＋１のフレーム番号のエンコードされた信号データのデコーディングを、これらのデコーディング状態を使用して、開始するステップと；
−  前記ストリーミングモード・ビットストリームのデコーディングを、前記最初のスーパーフレームで開始せず、かつ、スーパーフレームが以前にデコードされており、かつ、前記整合性チェックデータが有効であるとき、前記現在のスーパーフレームの前記フレームの前記エンコードされた信号データをデコードするために、前記以前にデコードされたスーパーフレームのデコーダ状態を使用するステップと；
を更に有する。
【００１８】
本発明の有利な付加的な実施例は、それぞれの従属クレームにおいて開示される。
【００１９】
以下の説明は、対応するビットストリーム情報、及びデコーダ処理を提供する。これは、アーカイブモード及びストリーミングモードをサポートし、かつ、サンプルに忠実なカットを容易にする１つのビットストリーム・フォーマットを有する。
【００２０】
説明する本発明の実施例は、図面を参照しながら記載する。
【図面の簡単な説明】
【００２１】
【図１】アーカイブモード・ビットストリームの構造を示す図である。
【図２】カットされたアーカイブモードのビットストリームの構造を示す図である。
【図３】ストリーミングモードのビットストリームの構造を示す図である。
【図４】ｎ番目のフレームの依存を示す。この場合、ｆｒａｍｅｎ＿４フレームのデコーディングには、保存された先行するスーパーフレームを必要とする。したがって、スタンドアローンでのスーパーフレームのデコーディングは無効である。Ｆｒａｍｅｎ＿３、ｆｒａｍｅｎ＿２、及びｆｒａｍｅｎ＿１のフレームが、ｆｒａｍｅｎのデコーダ状態を初期化するために必要である。
【図５】アーカイブモード、カットモード、及びストリーミングモードの本発明のビットストリーム・フォーマットの処理のためのデコーダのフローチャートである。
【図６】単純化したＨＤ３ファイルフォーマットである。
【発明を実施するための形態】
【００２２】
［例示的実施形態］
本発明は、ｈｄ３コーデックの開発においてなされた。したがって、説明は、現行のｈｄ３ビットストリーム・フォーマットに適用できる。しかしながら、本発明は、フレームのデコーディングのために多く数の先行フレームについての情報を必要とする全てのフレームベースのファイルフォーマットに適用することができる。ここで、この数は、デコーダの状態を初期化するために、ビットストリームのヘッダに書かれている。あるいは、サンプルに忠実にカットするためには、デコードされたフレームをミュートするためのサンプル数を表示する。
【００２３】
ｈｄ３コーデック処理は、ｍｐ３ファイルとエクステンションデータを単一ファイルで、ｍｐ３のソースに対し、ビットに忠実な表現（ｒｅｐｒｅｓｅｎｔａｔｉｏｎ）を可能とする。ｈｄ３ビットストリーム・フォーマットの最初のバージョンは、図１に示すように、アーカイブのフォーマットであり、１つのファイルヘッダ、及び連続したデータフレームＦｒａｍｅ０、Ｆｒａｍｅ１、．．．Ｆｒａｍｅｎである。より容易な理解のために、ｈｄ３コーデックの異なるレイヤーはここに表されていない。そして、示された符号化器（ｃｏｄｅｒ）は、現在のフレームをデコードするために、先行する多くのデコードされたフレームを必要とすると仮定する。
【００２４】
異なるアプリケーションのために、デコーダ側でアーカイブのフォーマットをストリーミング・フォーマットに変換することが有用である。また、アーカイブフォーマットから短いシーケンスに切ることが有用である。例えば、カットすることは、短いプレビューを迅速に生成することを可能とし、完全なファイルを受信することなく、ストリーミング・フォーマットのデコードを開始することができる。しかしながら、サンプルに忠実なカットに対し、かつ、ストリーミングモード及びアーカイブモードにおけるオペレーションに対する解決すべき課題としては、先行するフレームが見つからない場合におけるデコーダの状態の初期化である。以下に、必要なビットストリーム情報、及びデコーダ処理を説明する。
【実施例】
【００２５】
［アーカイブモード］
図１に示すアーカイブモード・ビットストリームは、ファイルの始めに、１つのファイルヘッダを有する。その後に、フレームに分割された信号データが続く。ここで、各々のフレームは、Ｌ個のエンコードされた信号サンプル又は係数のセグメントを表すコードを示す。
【００２６】
アーカイブモード・ビットストリームのデコーディングは、最初のフレームのみから開始することができる。なぜなら、その場合にのみ、デコーダの状態が既知であるからである（これらは、それぞれのデコーディング標準で定められる）。例えば、後述するＭＰ３のＭａｉｎ＿Ｄａｔａ＿Ｂｅｇｉｎ＿Ｐｏｉｎｔｅｒは、最初のフレームに対してゼロに設定される。連続的に以降のフレームをデコードすることによって、デコーダ状態は初期化され、かつ、サンプルの正しいデコーディング結果が取得される。示されているフォーマットの主要な特徴は、全てではなく、ｋ（０＜ｋ＜＝Ｋ）個の先行するデコードされたフレームだけで、正確な結果が得られることである。ここで、Ｋは、デコードされたフレームの最大の数であり、かつ、Ｋは、エンコーダ及びデコーダにおいて既知の定数値である。しかしながら、他のフレームについての情報なしに先行フレームからの必要な情報によってデコーディングが可能であるということが必要となる。
【００２７】
ｈｄ３コーデックは、独立にデコーディング可能なＭＰ３フレームによって、このような特徴を提供する。しかしながら、欧州特許出願明細書ＥＰ０８１０２３０８．７に説明されているように、ビット毎に忠実な複製の復元（すなわちロスレス復元）は、マッピング処理ステータスのため、３つの先行するデコードされたＭＰ３フレームからの情報を必要とする。
【００２８】
さらにまた、ＭＰＥＧ１オーディオ・レイヤＩＩＩ標準ＩＳＯ／ＩＥＣ１１１７２−３は、上述のビットリザーバ技術を含み、先行フレームのメインデータの記憶を可能とする。先行フレームに位置するメインデータの開始を指し示すメインデータ開始ポインタが利用される。したがって、一つのＭＰ３フレームのデコーディングは、同様に先行フレームからの情報を必要とする。
【００２９】
これらの問題は、先行フレームからの必要な情報が、ストリーミングモード・ファイル又はカットされたファイルの始めに存在しないため、上述のビットストリーム・フォーマットをカットすること、あるいは、ストリーミングすることを難しくしている。図４は、デコーディング側でのカット、又はエンコード側での（又は、伝送された、記録された、又はオリジナルの）アーカイブのフォーマットのストリーミングに影響を及ぼす、関連する問題を示している。Ｆｒａｍｅｎ＿５からのデータのないビットストリームのヘッダでデコーディングを始めた場合、Ｆｒａｍｅｎ＿４は、デコードすることができない。なぜなら、Ｍａｉｎ＿Ｄａｔａ＿Ｂｅｇｉｎ＿Ｐｏｉｎｔｅｒの指すＦｒａｍｅｎ＿５データが利用できないからである。同様に、フレームｎ−３からｎ−１も、正確にデコードすることができない。なぜなら、先行するフレームからのデータが無いため、それらのデコーダの状態が正確にイニシャライズされていないからである。しかしながら、フレームｎ−３からｎ−１までのフレームはデコードされないが、３つの先行するフレームからのデータ（例えばスペクトル値（ｓｐｅｃｔｒａｌ  ｖａｌｕｅｓ））が利用可能となれば、デコーダ状態イニシャライズステップ／ステージＤＳＩにおいて、ＥＰ０８１０２３０８．７．に記載されているマッピング処理を実行することにより、その後続のフレームのデコーダ状態は再構築することができる。正しく初期化されたデコーダ状態となる最初のフレームは、Ｆｒａｍｅｎである。
【００３０】
これらの課題を解決するために、本発明によれば、以下のテーブルに示されるビットストリーム・ヘッダに、一部の追加（ｅｘｔｒａ）情報アイテムが付加される。これらの追加情報アイテムに基づいて、デコーダは、処理が既知のデフォルト・デコーダ状態によって開始されるか、未知のデコーダ状態によって開始されるかどうかを決めることができる。
【００３１】
【表１】
0005774983.tif 000002
ビットストリーム・ヘッダのこの‘ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ’のフィールドは、その後続のフレームのデコーディングが、デコーダ状態の付加的な初期化を必要とするか否かを示す。これが真であれば、（すなわち、フラグがセットされている場合）、更なる情報アイテムがビットストリーム・ヘッダに挿入されることを示す。これについては、カット及びストリーミングの以下の実施例によって説明する。
【００３２】
アーカイブモードのビットストリーム・ヘッダは、「ＯＦＬ」、「ＦｉｌｅＭｏｄｅ」及び「ＭｕｔｅｌｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」データフィールドだけを使用する。ここで、「ＦｉｌｅＭｏｄｅ」、及び「ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」の値は、ゼロにセットされる（又は、対応するフラグがクリアされる）。これは、カットされていないアーカイブファイルを示す。
【００３３】
［アーカイブモード・ビットストリームのカット］
カットは、デコーディング側で利用される。受信された、あるいは、リプレイされたアーカイブモードの整合性の取れた完全なビットストリームから、短いサブセクションを切り離すために利用される。カットされたファイルのビットストリーム・モードは、アーカイブモード・フォーマットのそれに等しい。図２は、図１に示されたアーカイブモード・ファイルフォーマットから生成されたカットされたファイルを表す。例えば、カットは、完全なファイルから短いプレビューを得るために使用することができる。所望のセクションをデコードして、かつ新しくエンコードする代わりに、必要なフレームは単に入力ファイルから切り取られ、かつ、新しいヘッダがこれらのカットされたデータフレームの前に挿入される。
【００３４】
カットに関する課題は、プレビュー又はカットされたセクションが、それぞれ、完全なビットストリームの初めから始まらない場合、カットされたデータフレームの最初のフレームでデコーディングするために、必要な先行フレームからのデータが無くなっているということである。したがって、カットされたファイルは、最初のフレームの処理が単にデコーダ状態を初期化するだけであり、かつ、これらのフレームのデコードされたサンプルがミュートされることになっていることを示す、ビットストリーム・ヘッダの「ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」データフィールドを評価する。ミュートされるフレームの数は、ビットストリーム・ヘッダの「ｍｕｔｅＦｒａｍｅｓ」フィールドに示される。そして、ミュートされるサンプルの数「ｍｕｔｅＳａｍｐｌｅｓ」が、ヘッダに示される。これによって、フレームに忠実なカットではなく、サンプルに忠実なカットが可能となる。
【００３５】
以下の例を用いて、更に詳細にどのようにアーカイブファイルからカットされたファイルを作成するかについて示す。
＊＊＊＊
与えられる値
Ｌ：フレーム毎のデコードされたサンプル数
ＯＦＬｏｒｉｇ：チャネル毎のサンプル内の入力ファイルの全長
Ｘｓｔａｒｔ：カットされたファイルをデコードするための、アーカイブファイルの最初のサンプルの番号
Ｘｅｎｄ：カットされたファイルをデコードするための、アーカイブファイルの最後のサンプルの番号
決定されるべき値
ＯＦＬｃｕｔ：チャネル毎のサンプル単位のカットされたファイルの全長
Ｆｒａｍｅｖａｉｌｄ：既知のデコーダ状態によって、最初のデコーディング可能なフレーム
Ｆｒａｍｅｓｔａｒｔ：カットされたファイルのデコードされた最初のフレーム
Ｆｒａｍｅｅｎｄ：カットされたファイルのデコードされた最後のフレーム
ｋｍａｐｐｉｎｇ：マッピング状態の初期化のために必要なフレームの数、すなわち、Ｆｒａｍｅｖａｉｌｄのデコーダ状態の回復（ｒｅｃｏｖｅｒ）に必要なフレーム数
ｋｍｐ３：無効なｍｐ３フレームの数
必要とする先行するフレームの数
Ｆｒａｍｅｖａｉｌｄ＝ｆｌｏｏｒ（Ｘｓｔａｒｔ／Ｌ）
ｋｍａｐｐｉｎｇを取得する（これは、フレーム番号Ｆｒａｍｅｖａｉｌｄをデコードするための先行するフレームの数、この数は、既知であるが、フレーム毎に異なり得る）、そして、（ｍｐ３−）フレーム番号ＦｒａｍｅｖａｉｌｄのＭａｉｎ＿Ｄａｔａ＿Ｂｅｇｉｎ＿Ｐｏｉｎｔｅｒを読み出す。ｋｍｐ３を、有効なＭａｉｎ＿Ｄａｔａ＿Ｂｅｇｉｎ＿Ｐｏｉｎｔｅｒを取得するために、加えるべきフレーム数に等しく設定する。例えば、Ｍａｉｎ＿Ｄａｔａ＿Ｂｅｇｉｎ＿Ｐｏｉｎｔｅｒが、Ｆｒａｍｅｖａｉｌｄの前のフレームをポイントしている場合、ｋｍｐ３を「１」に設定する。
ヘッダの値の計算
ｍｕｔｅＦｒａｍｅｓ＝ｋｍｐ３＋ｋｍａｐｐｉｎｇ
ＯＦＬｃｕｔ＝Ｘｅｎｄ−Ｘｓｔａｒｔ＋１＋Ｌ＊ｍｕｔｅＦｒａｍｅｓ
Ｆｒａｍｅｓｔａｒｔ＝ｍａｘ（０，Ｆｒａｍｅｖａｉｌｄ−ｍｕｔｅＦｒａｍｅｓ）
Ｆｒａｍｅｅｎｄ＝ｍｉｎ（ｃｅｉｌ（ＯＦＬｏｒｉｇ／Ｌ）、ｃｅｉｌ（Ｘｅｎｄ／Ｌ））−１
ＭｕｔｅＳａｍｐｌｅｓ＝Ｘｓｔａｒｔ−Ｌ＊Ｆｒａｍｅｓｔａｒｔ
ここで、
「ｆｌｏｏｒ」は、１０進数を負の方向に探索したときの最大の整数に丸めることを意味し、ｃｅｉｌは、ｃｅｉｌ関数の引数と等しいか大きい最小の整数値を示す値を返す。
以下のように、対応するヘッダを生成する。
【００３６】
【表２】
0005774983.tif 000003
カットされたファイルの生成
ヘッダをコピーし、その後にＦｒａｍｅｓｔａｒｔからＦｒａｍｅｅｎｄまでを付加する。
＊＊＊＊
カットされたアーカイブモード・ファイルの識別のために、「ＦｉｌｅＭｏｄｅ」は「０」にセットされる。そして、「ＭｕｔｅｌｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」は「１」にセットされる。これらの特性（ｐｒｏｐｅｒｔｉｅｓ）は、デコーダ状態が「ｍｕｔｅＦｒａｍｅ」の示す数の複数フレームの最初のパラメータを使用して初期化されることをデコーダに示す。したがって、これらのフレームのデコードされたサンプルは無効であることをデコーダに知らせる。
【００３７】
いくつかのフレームに従属する値は、アーカイブ・ビットストリーム・モードのファイルのカットを実行するために見つけ出す必要がある。しかしながら、最初のステップは、カットされたファイルの最初のサンプルが記憶されるフレーム「Ｆｒａｍｅｖａｉｌｄ」を捜し出すことである。その最初のフレームの計算のために、コア−コーデック（ｃｏｒｅ−ｃｏｄｅｃ）処理の対応する遅れが導入されてもよい。より容易な理解のため、実施例においては考慮しない。次に、デコーダ状態を回復するために必要な先行フレームの数が取得されることである。したがって、カットされたファイルは、「Ｆｒａｍｅｖａｉｌｄ」のデコーダ状態の回復に関連する最初のフレームから開始される。取得された先行フレームの数は、ビットストリーム・ヘッダの「ｍｕｔｅＦｒａｍｅ」のフィールドに書きこまれる。これによって、デコーダは、これらのフレームは、デコーダ状態の初期化にのみ使用され、サンプルのデコーディングには用いられないことを認識する。
【００３８】
サンプルに忠実なカットを可能にするために、付加的な数として、「ミュートするチャネル毎のサンプル（ｓａｍｐｌｅ  ｐｅｒ  ｃｈａｎｎｅｌ  ｔｏ  ｍｕｔｅ）」（「ｍｕｔｅＳａｍｐｌｅｓ」）も、ヘッダに示すことができる。これらのサンプルは、デコーダによって正しくデコードされるが、ユーザに示されない。したがって、デコードされ、示される信号は、ファイルの最初のフレームからではなくて、ファイル途中のいずれかの部分からのものである。
【００３９】
いずれの場合においても、「ＯＦＬ」は、既知のデコーダ状態によってデコードすることができるチャネル毎のサンプル数である。これは、以下のストリーミング・ビットストリーム・モードの項において更に詳細に説明する。したがって、初期化フレームのサンプルは、カットされたファイルの実際のサンプル数に加えられることになる。デコーダは、これらの追加サンプルをデコーダ処理の「ＯＦＬ」値から、自動的に減算する。更なる詳細は、デコーディング処理の項で述べる。
【００４０】
［ストリーミングモード］
表１に示したビットストリーム・ヘッダの情報アイテムを使用して、アーカイブ・ビットストリーム・モードは、デコーディング側でストリーミングビットストリームモードに変換され得る。「ストリーミングモード」とは、アーカイブのビットストリームのフレームが連続したパッケージに分けられることを意味する。それによって、これらのそれぞれのパッケージは、「スーパーフレーム」（ＳＦ）と呼ばれ、そしてアーカイブのビットストリームと同じ構造を持つ。スーパーフレームは、対応するビットストリーム・セクションヘッダ（すなわちスーパーフレーム・ヘッダ）から開始される。その後、フレームのデータが続く。すなわち、アーカイブモードと比較すると、ストリーミングモードで、スーパーフレームは各々１つずつヘッダを有し、ビット列に繰り返し配置される。この種のストリーミングモード・ビットストリームの実施例は、図３に示されている。
【００４１】
各々のスーパーフレームのビットストリーム・ヘッダの「ＦｉｌｅＭｏｄｅ」データフィールドは、ストリーミングモードを示す値「１」となっている。この場合、デコーダは、エンコードされたファイルの全てのサンプルを再構築するために、いくつかの連続したスーパーフレームをデコードしなければならない。最初のスーパーフレームのストリーミングモードのストリームは、基本的にアーカイブモード・ファイルの始まりと同一であるが、ビットストリーム・ヘッダにおいて、「ＦｉｌｅＭｏｄｅ」及び「ＯＦＬ」のデータフィールドは、アーカイブモード・ヘッダと異なる値を持つ。デコーダが最初のスーパーフレームのデコーディングを始めると、デフォルト・デコーダ状態が使用され、かつ最初のフレームはいかなる追加的な情報アイテムも必要とせずに直接デコードすることができる。しかしながら、ストリーミングモード・ビットストリームは、それぞれのスーパーフレームの始まりからリプレイ又はデコードすることができる。しかし、その場合、デコーダ状態を初期化するための先行フレームからの必要なデータは、無くなっている。したがって、最初のスーパーフレーム以外のストリームの全てのスーパーフレームは、「ＭｕｔｅｌｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」のデータフィールドの、最初の「ｍｕｔｅＦｒａｍｅｓ」にデコーダ状態回復の用途にだけに使用されるフレーム数を示さなければならない。
【００４２】
ストリーミングモードにおいては、デコーディングフェーズからはデコーディング状態が既知ではない場合と、デコーディング状態が前にデコードされたスーパーフレームから既知である場合とで、デコーディング初期化フェーズを区別しなければならない。対応するタイプのフェーズは、スーパーフレームのヘッダ情報を使用して、各々のスーパーフレームの始めに取得される。両フェーズのためのヘッダ特性は、以下のように示される。
【００４３】
［デコーディング初期化フェーズ］
ＦｉｌｅＭｏｄｅ＝１  
ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ＝０  
かつ、デコーディングは、ストリーミングモードの新規な整合性（ｃｏｎｓｉｓｔｅｎｃｙ）のあるビットストリームの最初から始まる。
デフォルトのデコーダ状態が使用され、かつサンプルのデコーディングは、スーパーフレームの最初のフレームで直接始めることができる。
ＦｉｌｅＭｏｄｅ＝１  
ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ＝１  
かつ、これは、デコーダの初期化又はリセットに続いてデコードする最初のスーパーフレームである。
かつ、これは、現在のスーパーフレームの最初の「ｍｕｔｅＦｒａｍｅ」の数のフレームが、デコーダ状態を初期化することに使用される。そして、サンプルのデコーディングは、（「ｍｕｔｅＦｒａｍｅｓ」＋１）のフレーム番号から始めることができる。
ＦｉｌｅＭｏｄｅ＝１  
ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ＝１  
かつ、これは、デコードされた最初のスーパーフレームではなく、かつ、先行するスーパーフレームおよび現在のスーパーフレームの整合性のチェックが失敗に終わった。
整合性のチェックのために、ヘッダの「ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍ」データフィールドが使用される。その値は、前のスーパーフレームのデータから取得され、かつ、その後続のスーパーフレーム「ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍ」のデータフィールドに書き込まれる。これによって、連続したスーパーフレームを特定することができる。例えば、フレームの巡回冗長検査（ＣＲＣ）又はハッシュ値、例えば、最後のフレームで、その前のスーパーフレームが利用され得る。デコーダは、前のスーパーフレームのＣＲＣを計算して、かつ、それを現在のスーパーフレームのヘッダに記憶される値と比較する。この比較が失敗した場合、現在のデコーダ状態は次のスーパーフレームのデコーディングにあてはまらない。したがって、デコーダ状態は、次のスーパーフレームの最初の「ｍｕｔｅＦｒａｍｅｓ」の数のフレームを使用して再初期化されることになる。サンプルのデコーディングは、フレーム番号（「ｍｕｔｅＦｒａｍｅｓ」＋１）から始まる。「ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍ」データフィールドは、整合性のあるストリーミングモード・ビットストリームの最初のスーパーフレームにおいて使用されない。なぜなら、先行フレームが必要なく、したがって、整合性チェックは余分であるからである。
［デコーディングフェーズ］
ＦｉｌｅＭｏｄｅ＝１  
ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ＝１  
かつ、スーパーフレームは以前にデコードされており、かつ、整合性チェックも有効である。
したがって、先行して検出されたスーパーフレームのデコーダ状態が、次のスーパーフレームのフレームのデコードのために利用することができる。
典型的なストリーミング処理は、初期化フェーズから始まり、いくつかのデコーディングフェーズが続く。デコーディングフェーズにおいて「ｍｕｔｅＦｒａｍｅ」情報は使用されない。なぜなら、先行するスーパーフレームから対応するデータによってデコーダ状態が正しく初期化され、「Ｍａｉｎ＿Ｄａｔａ＿Ｂｅｇｉｎ＿Ｐｏｉｎｔｅｒ」が指し示すデータは、前のスーパーフレームから利用できるからである。新規な整合性のあるビットストリームが始まる場合（ＭｕｔｅｌｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ＝０）、又は、「ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍ」が誤っている場合、デコーダは初期化フェーズに戻るだけである。いずれの場合においても、デコーダ状態は、無効になり、かつ、再びイニシャライズされることになる。
【００４４】
以下の例は、すでに既存のアーカイブモード・ビットストリームからストリーミングモード・ビットストリームを作成する方法を示す。
＊＊＊＊
与えられる値
Ｌ：フレーム毎のデコードされたサンプルの数
ＯＦＬｏｒｉｇ：チャネル毎の入力ファイルのサンプルの全長
Ｍ：Ｍ＜＝ｃｅｉｌ（ＯＦＬｏｒｉｇ／Ｌ）を満たすスーパーフレームの数
決定されるべき値
ＮｕｍＦｒａｍｅｓ：フレームの合計数
Ｍｍｅａｎ：スーパーフレーム毎のフレームの平均数
Ｆｒａｍｅｓｔａｒｔ：スーパーフレームの最初のフレーム
Ｆｒａｍｅｅｎｄ：スーパーフレームの最後のフレーム
ｍｕｔｅＦｒａｍｅｓＳＦ：スーパーフレームのデコーダ状態の初期化のためのフレームの数
ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍＳＦ：スーパーフレームの整合性チェックのための値
ｍ：現在書かれているスーパーフレームの数、０＜＝ｍ＜Ｍ
フレームの合計数の計算
ＮｕｍＦｒａｍｅｓ＝ｃｅｉｌ（ＯＦＬｏｒｉｇ／Ｌ）、ここで、ｃｅｉｌは、ｃｅｉｌ関数の引数と等しいか大きい最小の整数値を示す値を返す。
スーパーフレーム毎のフレーム数の計算
Ｍｍｅａｎ＝ｃｅｉｌ（ＯＦＬｏｒｉｇ／（Ｍ＊Ｌ））
最初のスーパーフレームの生成（ｍ＝０）
以下のように、対応するヘッダを生成する。
【００４５】
【表３】
0005774983.tif 000004
フレーム数（ｎｕｍｂｅｒ）「０」を「Ｍｍｅａｎ＊Ｌ」にコピーする。
以下のスーパーフレームを生成する（１＜＝ｍ＜Ｍ）
「ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍ」の計算：定義された部分の先行するスーパーフレームのＣＲＣを計算し、その結果をＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍＳＦのフィールドに記憶する。
「ｍｕｔｅＦｒａｍｅｓ」の取得：無効なＭａｉｎ＿Ｄａｔａ＿Ｂｅｇｉｎ＿Ｐｏｉｎｔｅｒ（現在のスーパーフレームに存在しないデータを指し示しているもの）を有する全てのフレームを探す。デコーダ状態を回復するため、そのフレーム数を加算する。その結果の合計を「ｍｕｔｅＦｒａｍｅｓＳＦ」にセットする。
以下のように、対応するヘッダを生成する。
【００４６】
【表４】
0005774983.tif 000005
フレーム数を（ｍ＊Ｍｍｅａｎ）からｍｉｎ（（（ｍ＋１）＊Ｍｍｅａｎ）−１，ＮｕｍＦｒａｍｅｓ−１）、にコピーする。ここでｍｉｎ関数は、最後のスーパーフレームで必要とされる。なぜなら、最後のスーパーフレームは、異なる数のフレーム数及びサンプル数を持ち得るからである。
＊＊＊＊
［ファイル又はビットストリームのためのデコーディング処理］
図５のデコーディング処理のフローチャートは、アーカイブモード・ファイルのための、及びストリーミングモード・ビットストリームのためのデコーディング方法を示している。デコーディング処理の始めに、デコーダ状態は、それらのデフォルト値に（例えば、マッピング・バッファはゼロに、そして、前にデコードされた値はゼロに）セットされる。ステップ／ステージ１において、入力ファイル又はビットストリームは、必要なデータを読み込むために利用できる。ステップ／ステージ２において、ファイル又はビットストリームの最初のヘッダを探し、読み込む。すなわち、表１のヘッダ情報アイテムがセットされ、記憶され、又は、ロードされる。ステップ／ステージ３では、変数「ＳａｍｐｌｅｓＴｏＭｕｔｅ」をそのデフォルト値０にセットする。
【００４７】
ステップ／ステージ４において、ファイル又はビットストリーム・ヘッダの「ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」データフィールドが、チェックされる。このチェックによって、デコーダ状態が既知か（ＭｕｔｅｌｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ＝０）、又は、デコーダ状態が、再度初期化され、多くのサンプルが無視されるか、が検知される。ステップ／ステージ５において、無視された（ミュートされた）サンプルの数が、ＳａｍｐｌｅｓＴｏＭｕｔｅ＝ｍｕｔｅＦｒａｍｅｓ＊Ｌ＋ｍｕｔｅＳａｍｐｌｅｓ、として計算される。これは、ファイル又はビットストリームのヘッダからの、「ｍｕｔｅＦｒａｍｅｓ」におけるミュートされるフレームの数、及び、「ｍｕｔｅＳａｍｐｌｅｓ」におけるミュートされるサンプルの数から計算される。「Ｌ」は１つのフレームからデコードされるサンプル数である。これは既知のデコーダ定数である。ステップ／ステージ６は、全ての受信されたフレームをデコードする。これは、最初の、「ｍｕｔｅＦｒａｍｅｓ」の数の複数のフレームを含む。それゆえに、「ＯＦＬ」で示される数のデコードされた複数のサンプルは、次のステップ／ステージを通過する。最初の「ＳａｍｐｌｅｓＴｏＭｕｔｅ」の数のサンプルは無効であるが、それらはデコーダ状態を初期化するために使用される。それゆえに、フェーズ／フェーズ７は、無効な「ＳａｍｐｌｅｓＴｏＭｕｔｅ」の数のサンプルを取り除いて、残りのサンプルだけにして、ステップ／ステージ８に戻る。残りのサンプルの数は、値「ＳａｍｐｌｅｓＴｏＭｕｔｅ」と、デコードされたサンプルの合計数であるＯＦＬとの差である。「ＳａｍｐｌｅｓＴｏＭｕｔｅ」がＯＦＬより大きい場合には、サンプル数ゼロがステップ／ステージ８に返される。これは、スーパーフレーム毎のフレームの数がミュートするフレームの数より少ない場合に、ストリーミングモードで起こり得る。
【００４８】
したがって、残りの遅延は、次のスーパーフレームに伝送される。対応する変数ＭｕｔｅＮｅｘｔＳＦ＝ＳａｍｐｌｅｓＴｏＭｕｔｅ−ＯＦＬが、次のスーパーフレームでミュートするサンプル数を記憶するために、ステップ／ステージ９において算出される。
【００４９】
ステップ／ステージ１０で、アーカイブモード・ファイル又はビットストリーム又はカットされたファイル・ビットストリームのデコーディング処理は、１１で終了する。なぜなら、ファイルの全てのＯＦＬサンプルがデコードされたからである。したがって、ステップ／ステージ１０は、「ＦｉｌｅＭｏｄｅ」をチェックし、かつ、アーカイブモードデコーディング処理を停止するため、終了ステップ１１へ進む。それ以外は、ストリーミングモード・ビットストリームのデコーディングが継続される。
【００５０】
したがって、「ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍ」（例えばＣＲＣ）が、ステップ／ステージ１２で、現在デコードされたフレームのフレームデータから計算される。「ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍ」計算のために使用される処理、及びデータは、同一の結果をエンコーダ、及びデコーダで生成しなければならない。さらに、「ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍ」は、現在のフレームの明確な識別を示さなければならない。なぜなら、これは、次のスーパーフレームのデコーダ状態の整合性を検査するために使用されるからである。したがって、使用されるデータは、スーパーフレーム毎に多様であり、かつ、スーパーフレームのエンコードされたデータを示さなければならない。
【００５１】
次のスーパーフレームに切り替わると、ステップ／ステージ１３で、次のスーパーフレームのヘッダを検索し、読み込む。このステップ／ステージで、全てのストリーム・ヘッダ変数を再度イニシャライズするため、以前のヘッダ情報は失われる。ファイルの終わりに達した場合、あるいは、有効なビットストリーム・ヘッダが見つからなかった場合、デコーダはステップ１１へ進み、かつデコーディングを停止する。
【００５２】
それ以外は、次のスーパーフレームをデコードするために、現在のデコーダ状態は有効かどうかがチェックされる。ストリーミングモード・ビットストリーム・ファイルは、２つ以上の連続した整合性のあるビットストリームを含む。したがって、次のスーパーフレームが、新規な整合性のあるビットストリームの最初のスーパーフレームであるかチェックされる。なぜなら、このような場合、現在のデコーダ状態は、異なるビットストリームに属しており、デフォルト値にリセットされる必要があるからである。整合性のあるビットストリームの最初のスーパーフレームでは、「ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」はゼロの値を有する。したがって、「ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」値は、ステップ／ステージ１４において反転され、かつ、変数「ＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」に割り当てられる（すなわちＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ＝ＮＯＴ（ＭｕｔｅｌｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ））。
【００５３】
ステップ／ステージ１５において、新規な整合性のあるビットストリームが始まっているかどうか、変数「ＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」をチェックする。真であるならば、ステップ／ステージ１７で、デコーダ状態をリセットして、かつステップ／ステージ３で次のスーパーフレームのデコーディングを始める。これは、新規なファイルのデコーディングを始めることと同一で、かつ、この説明のストリーミングモードのアイテムのデコーダ初期化フェーズ１と同一である。それ以外は、次のスーパーフレームは同じ整合性のあるビットストリームに帰属し、かつ、処理はステップ／ステージ１６で続けられる。
【００５４】
この場合に、現在のスーパーフレーム・ビットストリームヘッダの「ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍ」値と、ステップ／ステージ１２で前のスーパーフレーム・データから計算した「ＳｔｒｅａｍｉｎｇＣｈｅｃｋＳｕｍ」の値とが比較される。すなわち、ＣＲＣ＝＝ストリーミングＣＲＣであるかがチェックされる。上記の点は、必要である。なぜなら、整合性のあるビットストリームのスーパーフレームが消失している場合があり、あるいは、新規な整合性のあるビットストリームが開始されているが、最初のスーパーフレームでない場合があり得るからである。ステップ／ステージ１６の整合性チェックが失敗した場合には、ステップ／ステージ１７が使用されデコーダ状態がリセットされ、ステップ／ステージ３で、次のスーパーフレームのデコーディングが開始される。したがって、処理はこの説明のストリーミングモードのアイテムのデコーダ初期化フェーズ３となる。そして、デコーディングはデフォルト・デコーダ状態で始められる。これは結果としてステップ／ステージ４のデコーダ初期化フェーズ２に続く。
【００５５】
それ以外は、現在のデコーダ状態は、現在のスーパーフレームのデコーディングのために有効である。そして、現在の処理は、この説明のストリーミングモード・セクションのデコーディングフェーズ１となる。その結果として、現在のビットストリーム・ヘッダの「ｍｕｔｅＦｒａｍｅｓ」値は、評価しなくてよい。このことは、ステップ／ステージ１８で「ＭｕｔｅＩｆＦｉｒｓｔＳｕｐｅｒＦｒａｍｅ」変数をゼロに設定することによって、確実になされる。したがって、ステップ／ステージ４は、結果としてステップ／ステージ８に到達せず、かつ、現在のスーパーフレームの「ｍｕｔｅＦｒａｍｅｓ」値は使用されない。
【００５６】
ステップ／ステージ１９の決定は、前のスーパーフレームの残りの遅延を、現在のスーパーフレームに、伝送（ｔｒａｎｓｆｅｒ）するために行われる。「ＭｕｔｅＮｅｘｔＳＦ」＞０である場合、前のスーパーフレームでミュートするサンプル数が、前のスーパーフレームの「ＯＦＬ」値より大きいことになる。その結果として、現在のスーパーフレームでミュートするサンプルの数「ＳａｍｐｌｅｓＴｏＭｕｔｅ」は、前のスーパーフレームの中でミュートするサンプルの残りの数「ＭｕｔｅＮｅｘｔＳＦ」に等しい。したがって、ステップ／ステージ２０は、ＳａｍｐｌｅｓＴｏＭｕｔｅ＝ＭｕｔｅＮｅｘｔＳＦとする。
【００５７】
したがって、現在のスーパーフレームのデコーディングは、ステップ／ステージ３の「ＳａｍｐｌｅｓＴｏＭｕｔｅ」の再初期化を省略するために、ステップ／ステージ４から始まらなければならない。
【００５８】
ステップ／ステージ１９において、パラメータＭｕｔｅＮｅｘｔＳＦ＜＝０である場合、ミュートする残りのサンプルが無く、かつ、デコーダ状態は正しく、かつ、現在のスーパーフレームのデコーディングは、最初のフレームで直接始めることができる。ミュートするサンプルの数は、ステップ／ステージ３でゼロにセットされる。
【００５９】
ストリーミングモードにおいて、ステップ／ステージ１３がビットストリーム・ヘッダをこれ以上見つけなくなるまで、連続したスーパーフレームのデコーディングは繰り返される。そして、デコーディング処理はステップ１１で停止する。
【００６０】
したがって、本発明は、アーカイブモード・ビットストリーム又はストリーミングモード・ビットストリームのフレームベースのビットストリーム・フォーマットの処理を容易にし、かつ、一つのフレームのデコーディングが、先行フレームからの情報を必要とする場合であっても、アーカイブモード・ビットストリームのサンプルの忠実なカットを可能にする。
【００６１】
上述したように、発明のデコーディング処理は、ｈｄ３デコーダ・インプリメンテーションにおいて使用され、かつテストは成功している。
【００６２】
ＨＤ３の単純なファイルフォーマットは、図６に示すように、３つの必要不可欠なデータセクションを持っている。そして、最大４つの任意のデータセクションを持っている。必要不可欠なｈｄ３ＩＤデータセクションは、ファイルモード、長さ、及びＣＲＣ情報を提供する。このｈｄ３ＩＤセクションは、ＭＰ３フレームの補助データセクション（サイレンスＰＣＭ）にカプセル化される。ＭＰ３フレームのこの種の補助データセクションは、また、ｈｄ３ＩＤ情報の前にＸｉｎｇ−又はＶＢＲｉ−準拠の可変ビットレート・ヘッダを含んでもよい。必要不可欠なｍｐ３−ｄａｔａセクションは、ＭＰ３データストリーム又はその部分をカプセル化する。ＭＰ３ストリームのシンクロナイゼーションワードは、スクランブルされてもよい。
【００６３】
必要不可欠なｃｄ−ｄａｔａセクションは、１又は２個のオーディオチャンネルを有するオリジナル曲の数学的にロスレス・コピーを再構築するため、ＭＰ３データにロスレス・エクステンションを提供する。このオーディオチャネルは、３２ｋＨｚ、４４．１ｋＨｚ又は４８ｋＨｚに対応する時間軸分解度を有し、かつ１６ビット／サンプルの振幅解像度を有する。ＭＰ３同期ヘッダの発生を回避する非同期化方式を使用することができる。
【００６４】
任意のｈｄ−ｄａｔａセクション（不図示）は、最高２４ビット／サンプル及び１９２ｋＨｚのサンプリングレートを有する高解像度スタジオ・フォーマットのロスレス復元を可能にする。
【００６５】
任意のＩＤ３／ＩＤ３ｖ２データセクションは、埋め込み（ｅｍｂｅｄｄｅｄ）ＭＰ３エンコードされかつロスレス復元エンコードされた音楽に関するメタデータを記憶する。任意のＩＤ３ｖ１タグが、また、ＨＤ３ファイルの終わりに置かれてもよい（不図示）。
【００６６】
本発明はまた、ＡＡＣのような他のコーデック又はビットストリームのために、及び付加的なデータ（例えばヘッダ）がＭＰ３補助データフィールドに配置されるＭＰ３において使用することができる。そして、対応するＭＰ３デコーダが、これらを評価することができる。
【図１】
0005774983.tif 000006
【図２】
0005774983.tif 000007
【図３】
0005774983.tif 000008
【図４】
0005774983.tif 000009
【図５】
0005774983.tif 000010
【図６】
0005774983.tif 000011