(57)【特許請求の範囲】
【請求項１】
デジタルメディアシステムにおいて、ウィンドウズメディアオーディオ（ＷＭＡ）フォーマットを少なくとも含む第１のフォーマットのデジタルメディアデータを、ＤＶＤ−オーディオのＤＶＤ−オーディオレコーディング（ＡＲ）フォーマットもしくはＤＶＤ−圧縮オーディオ（ＣＡ）フォーマットを少なくとも含む第２のデジタルメディアフォーマットで保存しまたは再生するのに適合した中間フォーマットであるトランスポートフォーマットへ符号化する方法であって、
前記第１のフォーマットで符号化されたデジタルメディアデータを取得するステップと、
前記取得されたデジタルメディアデータを、ストリーム形式から、各々が固定サイズまたは最大許容サイズを持った複数のフレームを有するフレーム配置にマッピングするステップであって、前記フレームの各々は、
有効な同期パターンを確認するための長さフィールドを含む同期チャンクと、
前記取得されたデジタルメディアデータのストリーム属性を含むフォーマットヘッダチャンクと、
前記取得されたデジタルメディアデータのペイロードを含むデータチャンクと
を少なくとも含む複数のチャンクから構成され、前記ストリーム属性は、前記取得されたデジタルメディアデータを復号するのに必要な前記第１のフォーマットのコーデックに関する情報を含んでいる、マッピングするステップと、
前記第２のフォーマットに適合するように、デジタルメディアデータの前記複数のフレームを順次配置して、前記トランスポートフォーマットのデジタルメディアデータストリームを生成するステップと
を備え、
前記トランスポートフォーマットのデジタルメディアデータストリームは、前記デジタルメディアデータストリームにおける前記フレームの正常な同期が確認されると直ぐに、前記各フレーム内の前記ストリーム属性から得られた前記第１のフォーマットのコーデックに関する情報に基づいて、前記複数のフレームの１つに対応する前記デジタルメディアデータの部分が復号化され得るように生成されることを特徴とする方法。
【請求項２】
前記チャンクはメタデータチャンクを含み、前記メタデータチャンクは、メタデータサイズを示す情報を含むことを特徴とする請求項１に記載の方法。
【請求項３】
前記チャンクはメタデータチャンクを含み、前記メタデータチャンクは、メタデータタイプを示す情報を含むことを特徴とする請求項１に記載の方法。
【請求項４】
前記フレームは、巡回冗長検査チャンクをさらに含むことを特徴とする請求項１に記載の方法。
【請求項５】
前記フレームは、コンテンツディスクリプタメタデータをさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
デジタルメディアプロセッサに請求項１乃至５いずれかの記載の方法を実行させるためのコンピュータ可読命令が記憶されていることを特徴とするコンピュータ読取り可能記憶媒体。
【請求項７】
前記請求項１乃至５いずれかの記載の方法は、デジタル信号プロセッサにおいて実行されることを特徴とする方法。
【請求項８】
デジタルメディアシステムにおいて、ウィンドウズメディアオーディオ（ＷＭＡ）フォーマットを少なくとも含む第１のフォーマットのデジタルメディアデータを、ＤＶＤ−オーディオのＤＶＤ−オーディオレコーディング（ＡＲ）フォーマット、ＤＶＤ−圧縮オーディオ（ＣＡ）フォーマット、放送ストリームフォーマット、もしくは無線伝送フォーマットのいずれかを少なくとも含む第２のデジタルメディアフォーマットへマッピングするのに適合した中間フォーマットであるトランスポートフォーマットへ符号化して、汎用基本ストリームを生成する方法であって、
前記第１のフォーマットで符号化されたデジタルメディアストリームを取得するステップと、
前記取得されたデジタルメディアストリームを、ストリーム形式から、各々が固定サイズまたは最大許容サイズを持った複数のフレームを有するフレーム配置にマッピングするステップであって、前記フレームの各々は、
有効な同期パターンを確認し、隣接する２つのフレーム間の距離を示すための長さフィールドを含む同期チャンクと、
前記取得されたデジタルメディアストリームのストリーム属性を含むフォーマットヘッダチャンクと、
前記取得されたデジタルメディアストリームのペイロードを含むデータチャンクと
を少なくとも含む複数のチャンクから構成され、前記ストリーム属性は、前記取得されたデジタルメディアストリームを復号するのに必要な前記第１のフォーマットのコーデックに関する情報を含んでいる、マッピングするステップと、
前記第２のフォーマットに適合するように、デジタルメディアデータの前記複数のフレームを順次配置して、前記トランスポートフォーマットの前記汎用基本ストリームを生成するステップと
を備え、
前記トランスポートフォーマットの前記汎用基本ストリームは、前記各フレーム内の前記ストリーム属性から得られた前記第１のフォーマットのコーデックに関する情報に基づいて、前記トランスポートフォーマットにおける前記フレームの正常な同期が確認されると直ぐに、前記複数のフレームの１つに対応する前記デジタルメディアデータの部分が復号化され得るように生成されることを特徴とする方法。
【請求項９】
前記複数のチャンクの各々は、ヘッダとデータチャンクから構成され、前記ヘッダは各チャンク中に含まれる前記データチャンクの説明を示しているチャンクタイプフィールドを含んでおり、
前記汎用基本ストリームに新たに定義されたチャンクが追加されたときに、前記チャンクタイプフィールド内に明示的に定義された前記新たに定義されたチャンクの長さか、または、事前に定義された前記タイプフィールド内の符合によって、前記長さフィールドおよび前記タイプフィールドが前記フレームの範囲を画定することを特徴とする請求項８に記載の方法。
【請求項１０】
前記汎用基本ストリームに新たに定義されたのチャンクが追加されたときに、前記タイプフィールドに、前記新たなタイプのチャンクを理解できないか、または、前記新たなタイプのチャンクに対するデータを必要としない復号器が、チャンクタイプフィールドの後で読み飛ばすべきデータの長さを規定する情報を含めることによって、前記汎用基本ストリームのチャンク構成の定義を拡張することが可能であることを特徴とする請求項８に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、デジタルメディア（例えば、特に音声、映像、および／または静止画像）の符号化および復号化に関する。
【背景技術】
【０００２】
コンパクトディスク、デジタルビデオディスク、携帯デジタルメディアプレーヤ、デジタル無線ネットワーク、インターネットを介した音声および映像配信の普及に伴い、デジタル音声および映像が一般化した。技術者は、デジタル音声または映像の品質を維持しながら、デジタル音声および映像を効率的に処理するために様々な技法を使用する。
【０００３】
デジタル音声情報は、音声情報を表現する一連の数値として処理される。例えば、１つの数値は、特定の時刻における振幅値（すなわち、音の大きさ）である音声サンプルを表現することができる。サンプル深度、サンプリングレート、およびチャネルモードを含む複数の要因が、音声情報の品質に影響を与える。
【０００４】
サンプル深度（または精度）は、サンプルを表現するのに使用する数値の範囲を表す。サンプルを表現するのにより多くの値を使用すれば、より微細な振幅変化をキャプチャすることができるので、それだけ品質も向上する。例えば、８ビットサンプルでは、２５６個の値が表現可能であるが、１６ビットサンプルでは、６５５３６個の値が表現可能になる。２４ビットサンプルでは、通常の音の大きさの変化を非常に微細にキャプチャすることができ、異常に大きな音の大きさもキャプチャすることができる。
【０００５】
サンプリングレート（通常は１秒当たりのサンプル数として測定される）も、品質に影響を与える。サンプリングレートを高くすれば、より広い帯域を表現できるので、それだけ品質も向上する。一般的なサンプリングレートには、８０００、１１０２５、２２０５０、３２０００、４４１００、４８０００、および９６０００サンプル／秒などがある。
【０００６】
モノラルとステレオは、２つの一般的な音声用チャネルモードである。モノラルモードでは、音声情報は、１つのチャネルに存在する。ステレオモードでは、音声情報は、左チャネルおよび右チャネルと一般に呼ばれる２つのチャネルに存在する。５．１チャネル、７．１チャネル、または９．１チャネルサラウンドサウンドなど、より多くのチャネルを有するその他のモードも一般に使用される。高品質の音声情報には、高いビットレートというコストが課される。高品質の音声情報は、大量のコンピュータ記憶領域および伝送容量を消費する。
【０００７】
多くのコンピュータおよびコンピュータネットワークは、未加工のデジタル音声および映像を処理できるだけの記憶領域または資源を持ち合わせていない。符号化（コード化またはビットレート圧縮とも呼ばれる）は、情報を低いビットレートに変換することによって、音声または映像情報の保存コストおよび伝送コストを下げる。符号化は、（品質が損なわれない）可逆方式、または（解析的な品質は損なわれるが、知覚的な音声品質は損なわれず、可逆方式に比べてビットレートの低減量が著しく大きい）非可逆方式で行うことができる。復号化（伸張とも呼ばれる）は、符号化形式から元の情報を再構成して取り出す。
【０００８】
デジタルメディアデータの効率的な符号化および復号化に対する要望に応えて、多くの音声および映像符号器／復号器システム（「コーデック」）が開発されてきた。例えば、図１を参照すると、音声符号器１００は、入力音声データ１１０を取り込み、１つまたは複数のモジュールを使用して、入力音声データ１１０を符号化し、符号化音声出力データ１２０を生成する。図１では、符号化音声データ１２０を生成するために、解析モジュール１３０、周波数変換器モジュール１４０、品質低減器（非可逆符号化）モジュール１５０、および可逆符号器モジュール１６０が使用される。コントローラ１７０は、符号化プロセスの調整および制御を行う。
【０００９】
既存の音声コーデックに、マイクロソフトコーポレーションのＷｉｎｄｏｗｓ（登録商標）メディアオーディオ［「ＷＭＡ」］コーデックがある。その他のコーデックシステムとしては、モーションピクチャーエキスパートグループ［「ＭＰＥＧ」］によって提供または仕様決定された、オーディオレイヤー３［「ＭＰ３」］規格やＭＰＥＧ−２アドバンストオーディオコーディング［「ＡＡＣ」］規格、または（ＡＣ−２およびＡＣ−３規格を提供する）ドルビーなど、その他の営利業者によって提供または仕様決定されたものなどがある。
【００１０】
符号化システムは、異なるシステム毎に特殊化された基本ビットストリームを使用し、２以上の基本ビットストリームを搬送できる多重化ストリームの中に基本ビットストリームを収める。このような多重化ストリームは、トランスポートストリーム（ｔｒａｎｓｐｏｒｔ  ｓｔｒｅａｍ）としても知られている。トランスポートストリームは一般に、バッファサイズ制限など一定の制約を基本ストリームに課し、復号化を行い易くするための一定の情報を基本ストリームに収める必要がある。基本ストリームは一般に、基本ストリームの同期化および正確な復号化を容易にするアクセスユニット（ａｃｃｅｓｓ  ｕｎｉｔ）を含み、トランスポートストリーム内の異なる基本ストリームの識別を可能にする。
【００１１】
例えば、ＡＣ−３規格の改訂版Ａに、一連の同期フレームから構成される基本ストリームについての説明がある。各同期フレームは、同期情報ヘッダ、ビットストリーム情報ヘッダ、６個の符号化音声データブロック、およびエラーチェックフィールドを含む。同期情報ヘッダは、ビットストリームの同期をとり、それを維持するための情報を含む。同期情報には、同期ワード、巡回冗長検査ワード、サンプルレート情報、およびフレームサイズ情報などがある。同期情報ヘッダの後には、ビットストリーム情報ヘッダが続く。ビットストリーム情報には、符号化モード情報（例えば、チャネル数やチャネルタイプ）、タイムコード情報、およびその他のパラメータなどがある。
【００１２】
ＡＡＣ規格には、固定ヘッダ、可変ヘッダ、オプションのエラーチェックブロック、および未加工（生）データブロックから構成される、オーディオデータトランスポートストリーム（ＡＤＴＳ）フレームについての説明がある。固定ヘッダは、（例えば、同期ワード、サンプルレート情報、チャネル構成情報など）どのフレームでも変化しないが、ビットストリームへのランダムアクセスを可能にするために各フレームに繰り返し収められる情報を含む。可変ヘッダは、（例えば、フレーム長情報、バッファ満杯情報、未加工データブロック数など）フレームによって変化するデータを含む。エラーチェックブロックは、巡回冗長検査用の可変ＣＲＣ検査データを含む。
【００１３】
既存のトランスポートストリームには、ＭＰＥＧ−２システムまたはＭＰＥＧ−２トランスポートストリームなどがある。ＭＰＥＧ−２トランスポートストリームは、１つまたは複数のＡＣ−３ストリームなど、複数の基本ストリームを含むことができる。ＭＰＥＧ−２トランスポートストリーム内では、ＡＣ−３基本ストリームは、少なくともストリームタイプ変数と、ストリームＩＤ変数と、オーディオディスクリプタとによって識別される。オーディオディスクリプタは、ビットレート、チャネル数、サンプルレート、および説明用テキストフィールドなど、個々のＡＣ−３ストリーム用の情報を含む。
【００１４】
コーデックシステムについてさらに情報を得たい場合は、それぞれの規格または技術刊行物を参照されたい。
【発明の開示】
【発明が解決しようとする課題】
【００１５】
要約すると、説明する技法およびツールは、音声ストリームなどのデジタルメディアを符号化および復号化するための様々な技法およびツールに関する。説明する技法およびツールは、与えられたフォーマットのデジタルメディアデータ（例えば、特に音声、映像、静止画像、および／またはテキストなど）を、デジタルビデオディスク（ＤＶＤ）など光ディスクへのデータ符号化に便利なトランスポートコンテナまたはファイルコンテナフォーマットにマッピングするための技法およびツールを含む。
【課題を解決するための手段】
【００１６】
本明細書の説明では、デジタルメディアストリーム（例えば、音声ストリーム、映像ストリーム、または画像）を、光ディスクフォーマットだけでなく、放送ストリームや無線伝送などのその他の移送（ｔｒａｎｓｐｏｒｔ）を含む、任意のトランスポートコンテナまたはファイルコンテナにマッピングするために、上記の技法およびツールによって使用可能なデジタルメディア汎用基本ストリーム（ｄｉｇｉｔａｌ  ｍｅｄｉａ  ｕｎｉｖｅｒｓａｌ  ｅｌｅｍｅｎｔａｒｙ  ｓｔｒｅａｍ）について、詳しく述べる。説明するデジタルメディア汎用基本ストリームは、ストリームを復号化するのに必要な情報を、ストリーム自体に収める。さらに、ストリーム中のデジタルメディアの任意の与えられたフレームを復号化するための情報は、符号化された各フレームに収めることができる。
【００１７】
デジタルメディア汎用基本ストリームは、チャンク（ｃｈｕｎｋ）と呼ばれるストリーム構成要素を含む。デジタルメディア汎用基本ストリームを実装することにより、メディアストリーム用データは、１つまたは複数のチャンクを有するフレーム内に配置される。チャンクは、チャンクタイプ識別子を含むチャンクヘッダと、チャンクデータとを含むが、チャンクのすべての情報がチャンクヘッダに存在するチャンクタイプ（例えば、ブロック終端チャンク）など、チャンクタイプによっては、チャンクデータが存在しないこともあり得る。いくつかの実装においては、チャンクは、チャンクヘッダと、次のチャンクヘッダが始まるまでのすべてのその後の情報として定義される。
【００１８】
本発明の一実装においては、デジタルメディア汎用基本ストリームは、同期パターンおよび長さフィールドを有する同期チャンクを始めとするチャンクを使用して、効率的な符号化方式を具現する。いくつかの実装においては、「肯定的チェックイン（ｐｏｓｉｔｉｖｅ  ｃｈｅｃｋ−ｉｎ）」に基づき、オプション的な要素を使用して、ストリームを符号化する。本発明の一実装においては、ストリームフレームの末尾を示すのに、ブロック終端チャンクを、同期パターン／長さフィールドと交互に使用することができる。さらに、いくつかのストリームフレームでは、同期パターン／長さチャンクとブロック終端チャンクを共に省略することができる。したがって、同期パターン／長さチャンクとブロック終端チャンクも、ストリームのオプション的な要素である。
【００１９】
本発明の一実装においては、フレームには、メディアストリームおよびその特性を定義するストリーム属性チャンクと呼ばれる情報を収めることができる。したがって、基本ストリームの基本形式は、コーデック属性を指定するストリーム属性チャンクの１つのインスタンスと、メディアペイロードチャンクのストリームだけから構成することができる。この基本形式は、音声またはその他のリアルタイムのメディアストリーミングアプリケーションなど、待ち時間の短いアプリケーション、または低ビットレートのアプリケーションで有用である。
【００２０】
デジタルメディア汎用基本ストリームは、従来の復号器の実施との互換性を失うことなく、後に定義されるコーデックまたはチャンクタイプを符号化するため、ストリーム定義の拡張を可能にする拡張メカニズムも含む。汎用基本ストリーム定義は、以前は意味論的な意味を有していなかったチャンクタイプ符号を使用して、新しいチャンクタイプを定義できるという点で、あるいは、そのような新たに定義されたチャンクタイプを含む汎用基本ストリームが、汎用基本ストリームの既存または従来の復号器によって解析可能（ｐａｒｓｅ−ａｂｌｅ）であり続けるという点で拡張可能である。新たに定義されたチャンクは、（チャンク長がチャンクの構文要素内に符号化される）「長さ提供」方式、または（チャンク長がチャンクタイプ符号から暗黙に分かる）「長さ事前定義」方式とすることができる。既存の従来の復号器の解析器では、新たに定義されたチャンクは、「廃棄」または無視されるが、ビットストリームの構文解析または韻律分析に不都合が生じることはない。
【発明を実施するための最良の形態】
【００２１】
説明する実施形態は、デジタルメディアを符号化および復号化するための技法およびツールに関し、より詳細には、任意のトランスポートコンテナまたはファイルコンテナにマッピングできるデジタルメディア汎用基本ストリームを使用するコーデックに関する。説明する技法およびツールは、与えられたフォーマットの音声データを、デジタルビデオディスク（ＤＶＤ）などの光ディスクおよびその他のトランスポートコンテナまたはファイルコンテナへの音声データの符号化に便利なフォーマットにマッピングするための技法およびツールを含む。いくつかの実施においては、デジタル音声データは、後でＤＶＤフォーマットに変換および保存するのに適した中間フォーマットで配置される。中間フォーマットは、例えば、Ｗｉｎｄｏｗｓメディアオーディオ（ＷＭＡ）フォーマットとすることができ、より詳細には、以下に説明する汎用基本ストリームの役割を果たすＷＭＡフォーマットとすることができる。ＤＶＤフォーマットは、例えば、ＤＶＤオーディオレコーディング（ＤＶＤ−ＡＲ）フォーマット、またはＤＶＤ圧縮オーディオ（ＤＶＤ−ＣＡ）フォーマットとすることができる。これらの技法の音声ストリームへの具体的な適用について説明するが、これらの技法は、特に映像、静止画像、テキスト、ハイパーテキスト、およびマルチメディアを含むが、これらには限定されず、その他の形式のデジタルメディアを符号化／復号化するために使用することもできる。
【００２２】
様々な技法およびツールは、組み合わせて使用することも、独立して使用することもできる。異なる実施形態は、それぞれ１つまたは複数の説明する技法およびツールを実施する。
【００２３】
Ｉ．コンピューティング環境
説明する汎用基本ストリームおよびトランスポートマッピング（ｕｎｉｖｅｒｓａｌ  ｅｌｅｍｅｎｔａｒｙ  ｓｔｒｅａｍ  ａｎｄ  ｔｒａｎｓｐｏｒｔ  ｍａｐｐｉｎｇ）の実施形態は、例えば、特にコンピュータ、デジタルメディアプレイング、送受信装置、携帯メディアプレーヤ、音声会議、およびウェブメディアストリームアプリケーションなど、デジタルメディアおよび音声信号処理が実行される様々な装置のいずれかにおいて実施することができる。汎用基本ストリームおよびトランスポートマッピングは、ハードウェア回路（例えば、ＡＳＩＣ、ＦＰＧＡなどの回路）、およびコンピュータまたはその他のコンピューティング環境内で（中央処理装置（ＣＰＵ）、デジタル信号プロセッサ、またはオーディオカードなどで実行されて）動作する、図１に示すようなデジタルメディアまたは音声処理ソフトウェアによって実施することができる。
【００２４】
図２に、説明する実施形態を実施できる適切なコンピューティング環境（２００）の一般的な例を示す。コンピューティング環境（２００）は、本発明の用途または機能の範囲に対して何らかの限定を示唆しようとするものではなく、本発明は、様々な汎用または専用コンピューティング環境において、実施することができる。
【００２５】
図２を参照すると、コンピューティング環境（２００）は、少なくとも１つのプロセッシングユニット（２１０）と、メモリ（２２０）とを含む。図２では、この最も基本的な構成（２３０）は、破線で囲まれている。プロセッシングユニット（２１０）は、コンピュータ実行可能命令を実行するが、実プロセッサでも、仮想プロセッサでもよい。マルチプロセッシングシステムでは、処理能力を増強するために、複数のプロセッシングユニットが、コンピュータ実行可能命令を実行する。メモリ（２２０）は、揮発性メモリ（例えば、レジスタ、キャッシュ、ＲＡＭ）であっても、不揮発性メモリ（例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリなど）であっても、または双方を組み合わせたメモリであってもよい。メモリ（２２０）は、音声符号化または復号化を実施するソフトウェア（２８０）を格納する。
【００２６】
コンピューティング環境は、さらなる機能を有することもできる。例えば、コンピューティング環境（２００）は、記憶装置（２４０）、１つまたは複数の入力装置（２５０）、１つまたは複数の出力装置（２６０）、および１つまたは複数の通信コネクション（２７０）を含む。バス、コントローラ、またはネットワークなどの相互接続機構（図示せず）が、コンピューティング環境（２００）の構成要素を相互に接続する。一般に、オペレーティングシステムソフトウェア（図示せず）が、コンピューティング環境（２００）において動作するその他のソフトウェアに動作環境を提供し、コンピューティング環境（２００）の構成要素の動作を調整する。
【００２７】
記憶装置（２４０）は、着脱可能または着脱不能とすることができ、磁気ディスク、磁気テープもしくはカセット、ＣＤ−ＲＯＭ、ＣＤ−ＲＷ、ＤＶＤ、または情報を保存するのに使用でき、コンピューティング環境（２００）内でアクセス可能なその他の任意の媒体を含む。記憶装置（２４０）は、音声符号化または復号化を実施するソフトウェア（２８０）のための命令を記憶する。
【００２８】
入力装置（２５０）は、キーボード、マウス、ペン、もしくはトラックボールなどの接触型入力装置、音声入力装置、スキャニング装置、またはコンピューティング環境（２００）に入力を提供するその他の装置とすることができる。音声の場合、入力装置（２５０）は、音声入力をアナログまたはデジタル形式で受け入れるサウンドカードもしくは類似装置、またはコンピューティング環境に音声サンプルを提供するＣＤ−ＲＯＭもしくはＣＤ−ＲＷとすることができる。出力装置（２６０）は、ディスプレイ、プリンタ、スピーカ、ＣＤライタ、またはコンピューティング環境（２００）から出力を提供するその他の装置とすることができる。
【００２９】
通信コネクション（２７０）は、通信媒体を介して別のコンピュータエンティティと通信を行うことを可能にする。通信媒体は、コンピュータ実行可能命令、圧縮音声もしくは映像情報、またはその他のデータなどの情報を、データ信号（例えば、変調データ信号）として伝送する。変調データ信号とは、信号に情報を符号化するための方式によって、その信号の１つまたは複数の特性を設定または変更された信号のことである。例えば、通信媒体には、電気的、光学的、ＲＦ、赤外線、音響的、またはその他の搬送波を用いて実施される有線技法または無線技法が含まれるが、これらに限定されるものではない。
【００３０】
本発明は、コンピュータ読取り可能媒体を利用する一般的状況において説明することができる。コンピュータ読取り可能媒体は、コンピューティング環境内でアクセス可能な任意の利用可能な媒体とすることができる。例えば、コンピューティング環境（２００）において、コンピュータ読取り可能媒体には、メモリ（２２０）、記憶装置（２４０）、通信媒体、およびこれらの任意のものの組み合わせが含まれるが、これらに限定されるものではない。
【００３１】
本発明は、プログラムモジュールに含まれる命令など、コンピューティング環境で対象とする実プロセッサまたは仮想プロセッサで実行されるコンピュータ実行可能命令を利用する一般的環境において説明することができる。一般に、プログラムモジュールには、特定のタスクを実行するか、または特定の抽象データ型を実装する、ルーチン、プログラム、ライブラリ、オブジェクト、クラス、コンポーネント、データ構造などが含まれる。プログラムモジュールの機能は、様々な実施形態における必要に応じて、１つに結合することができ、またはいくつかのプログラムモジュールに分割することもできる。プログラムモジュールのコンピュータ実行可能命令は、ローカルコンピューティング環境または分散コンピューティング環境内で実行することができる。
【００３２】
ＩＩ．汎用音声符号器および復号器
いくつかの実装においては、デジタル音声データは、後にトランスポートコンテナまたはファイルコンテナにマッピングするのに適した中間フォーマットに配置される。音声データは、音声符号器を介してそのような中間フォーマットに配置することができ、その後、音声復号器によって復号化することができる。
【００３３】
図３は、汎用音声符号器（３００）のブロック図であり、図４は、汎用音声復号器（４００）のブロック図である。符号器および復号器内のモジュール間に示された関係は、符号器および復号器内での情報の主な流れを示しており、図を簡潔にするために、その他の関係は示していない。実施および所望の圧縮タイプに応じて、符号器または復号器のモジュールを追加し、省略し、複数のモジュールに分割し、他のモジュールと結合し、かつ／または類似のモジュールによって置換することができる。
【００３４】
Ａ．音声復号器
図３を参照すると、例示的な音声符号器（３００）は、選択器（３０８）、マルチチャネルプリプロセッサ（３１０）、パーティショナ／タイル構成器（３２０）、周波数変換器（３３０）、知覚モデラ（３４０）、加重器（３４２）、マルチチャネル変換器（３５０）、量子化器（３６０）、エントロピー符号器（３７０）、コントローラ（３８０）、およびビットストリームマルチプレクサ［「ＭＵＸ」］（３９０）を含む。
【００３５】
音声符号器（３００）は、一定のサンプリング深度およびレートで、パルス符号変調［「ＰＣＭ」］フォーマットの時系列の入力音声サンプル（３０５）を受信する。音声符号器（３００）は、音声サンプル（３０５）を圧縮し、符号器（３００）の様々なモジュールによって生成された情報を多重化して、マイクロソフトのＷｉｎｄｏｗｓ（登録商標）メディアオーディオ［「ＷＭＡ」］フォーマットなどのフォーマットのビットストリーム（３９５）を出力する。
【００３６】
選択器（３０８）は、音声サンプル（３０５）の符号化モード（例えば、可逆または非可逆モード）を選択する。可逆符号化モードは一般に、高品質（および高ビットレート）圧縮用に使用される。非可逆符号化モードは、加重器（３４２）や量子化器（３６０）などの構成要素を含み、一般に、調整可能品質（および制御可能ビットレート）圧縮用に使用される。選択器（３０８）での選択決定は、ユーザ入力またはその他の基準に応じて行われる。
【００３７】
マルチチャネル音声データの非可逆符号化の場合、マルチチャネルプリプロセッサ（３１０）が、時間領域の音声サンプル（３０５）を任意選択でリマトリックス化（ｒｅ−ｍａｔｒｉｘ）する。マルチチャネルプリプロセッサ（３１０）は、マルチチャネル後処理用命令などの副次的情報をＭＵＸ（３９０）に送信することができる。
【００３８】
パーティショナ／タイル構成器（３２０）は、時間変動（ｔｉｍｅ−ｖａｒｙｉｎｇ）サイズおよびウィンドウ形成機能を用いて、音声入力サンプルのフレームをサブフレームブロック（すなわち、ウィンドウ）に分割する。サブフレームブロックのサイズおよびウィンドウは、フレーム内の過渡的信号の検出、符号化モード、およびその他の要因に応じて決まる。音声符号器（３００）が非可逆符号化を使用する場合、可変サイズウィンドウが、可変時間分解能を可能にする。パーティショナ／タイル構成器（３２０）は、分割データブロックを周波数変換器（３３０）に出力し、ブロックサイズなどの副次的情報をＭＵＸ（３９０）に出力する。パーティショナ／タイル構成器（３２０）は、マルチチャネル音声フレームをチャネル毎に分割する。
【００３９】
周波数変換器（３３０）は、音声サンプルを受信し、それを周波数領域のデータに変換する。周波数変換器（３３０）は、周波数係数データのブロックを加重器（３４２）に出力し、ブロックサイズなどの副次的情報をＭＵＸ（３９０）に出力する。周波数変換器（３３０）は、周波数係数および副次的情報を知覚モデラ（３４０）に出力する。
【００４０】
知覚モデラ（３４０）は、与えられたビットレートに関して、再構成された音声信号の知覚的な品質を向上させるために、人間の聴覚系をモデル化している。一般に、知覚モデラ（３４０）は、聴覚モデルに従って音声データを処理し、音声データ用の重み係数を生成するのに使用できる量子化帯域加重器（３４２）に情報を提供する。知覚モデラ（３４０）は、様々な聴覚モデルのいずれかを使用し、励起パターン（ｅｘｃｉｔａｔｉｏｎ  ｐａｔｔｅｒｎ）情報またはその他の情報を加重器（３４２）に渡す。
【００４１】
加重器（３４２）は、知覚モデラ（３４０）から受信した情報に基づいて量子化マトリックス用の重み係数を生成し、周波数変換器（３３０）から受信した情報に重み係数を適用する。量子化マトリックス用の重み係数は、音声データの複数の量子化帯域それぞれの重みを含む。量子化帯域加重器（３４２）は、係数データの重み付きブロックをチャネル加重器（３４４）に出力し、１組の重み係数などの副次的情報をＭＵＸ（３９０）に出力する。１組の重み係数は、より効率的な表現に圧縮することができる。
【００４２】
チャネル加重器（３４４）は、知覚モデラ（３４０）から受信した情報、さらにはローカルに再構成される信号の品質に基づいて、チャネル毎にチャネル固有の重み係数（スカラー量）を生成する。チャネル加重器（３４４）は、係数データの重み付きブロックをマルチチャネル変換器（３５０）に出力し、１組の重み係数などの副次的情報をＭＵＸ（３９０）に出力する。
【００４３】
マルチチャネル音声データの場合、チャネル加重器（３４４）によって生成される雑音整形周波数係数（ｎｏｉｓｅ−ｓｈａｐｅｄ  ｆｒｅｑｕｅｎｃｙ  ｃｏｅｆｆｉｃｉｅｎｔ）データの複数のチャネルはしばしば相関するので、マルチチャネル変換器（３５０）は、マルチチャネル変換を利用することができる。マルチチャネル変換器（３５０）は、例えば、使用するマルチチャネル変換およびマルチチャネル変換されたタイル部分を示す副次的情報をＭＵＸ（３９０）に出力する。
【００４４】
量子化器（３６０）は、マルチチャネル変換器（３５０）の出力を量子化し、量子化係数データをエントロピー符号器（３７０）に、量子化ステップサイズを含む副次的情報をＭＵＸ（３９０）に提供する。
【００４５】
エントロピー符号器（３７０）は、量子化器（３６０）から受信した量子化係数データを可逆的に圧縮する。エントロピー符号器（３７０）は、音声情報を符号化するのに費やされるビット数を計算し、この情報をレート／品質コントローラ（３８０）に渡すことができる。
【００４６】
コントローラ（３８０）は、量子化器（３６０）と共に働いて、符号器（３００）の出力のビットレートおよび／または品質を調整する。コントローラ（３８０）は、符号器（３００）の他のモジュールから情報を受信し、現状において望ましい量子化係数を決定するために受信情報を処理する。コントローラ（３８０）は、品質および／またはビットレートの制約を満たすことを目的として、量子化係数を量子化器（３６０）に出力する。
【００４７】
ＭＵＸ（３９０）は、音声符号器（３００）の他のモジュールから受信した副次的情報を、エントロピー符号器（３７０）から受信したエントロピー符号化データと共に多重化する。ＭＵＸ（３９０）は、符号器（３００）によって出力されるビットストリーム（３９５）を格納する仮想バッファを含むことができる。コントローラ（３８０）は、品質および／またはビットレートを調整するために、バッファの現在の詰まり具合（使用率）およびその他の特性を使用することができる。
【００４８】
Ｂ．音声復号器
図４を参照すると、対応する音声復号器（４００）は、ビットストリームデマルチプレクサ［「ＤＥＭＵＸ」］（４１０）、１つまたは複数のエントロピー復号器（４２０）、タイル構成復号器（４３０）、逆マルチチャネル変換器（４４０）、逆量子化器／加重器（４５０）、逆周波数変換器（４６０）、オーバーラッパー／加算器（４７０）、およびマルチチャネルポストプロセッサ（４８０）を含む。復号器（４００）は、レート／品質制御または知覚モデリングのためのモジュールを含まないので、符号器（３００）よりもいくぶん簡単である。
【００４９】
復号器（４００）は、ＷＭＡフォーマットまたは別のフォーマットの圧縮音声情報のビットストリーム（４０５）を受信する。ビットストリーム（４０５）は、復号器（４００）が音声サンプル（４９５）を再構成するのに用いるエントロピー符号化データおよび副次的情報を含む。
【００５０】
ＤＥＭＵＸ（４１０）は、ビットストリーム（４０５）中の情報を構文解析し、情報を復号器（４００）のモジュールに送信する。ＤＥＭＵＸ（４１０）は、音声、ネットワークジッター、および／またはその他の要因の複雑な変動に起因するビットレートの変化を補償するために、１つまたは複数のバッファを含む。
【００５１】
１つまたは複数のエントロピー復号器（４２０）は、ＤＥＭＵＸ（４１０）から受信したエントロピー符号を可逆的に復号化する。エントロピー復号器（４２０）は一般に、符号器（３００）で使用されたエントロピー符号化の逆を利用する。図を簡潔にするために、図４には、エントロピー復号器モジュールが１つしか示されていないが、非可逆符号化モードと可逆符号化モードとで異なるエントロピー復号器を使用することができ、または両モードで同じエントロピー復号器を使用することもできる。やはり図を簡潔にするために、図４には、モード選択ロジックは示されていない。非可逆符号化モードで圧縮されたデータを復号化する場合、エントロピー復号器（４２０）は、量子化周波数係数データを生成する。
【００５２】
タイル構成復号器（４３０）は、ＤＥＭＵＸ（４１０）からフレームのタイルパターンを表す情報を受信し、必要ならば、その情報を復号化する。タイル構成復号器（４３０）は次に、タイルパターン情報を復号器（４００）の他の様々なモジュールに渡す。
【００５３】
逆マルチチャネル変換器（４４０）は、エントロピー復号器（４２０）から量子化周波数係数データを、タイル構成復号器（４３０）からタイルパターン情報を、ＤＥＭＵＸ（４１０）から、例えば、使用するマルチチャネル変換およびマルチチャネル変換されたタイル部分を示す副次的情報を受信する。これらの情報を使用して、逆マルチチャネル変換器（４４０）は、必要ならば、変換マトリックスを伸張し、選択的かつ柔軟に１つまたは複数のマルチチャネル変換を音声データに適用する。
【００５４】
逆量子化器／加重器（４５０）は、ＤＥＭＵＸ（４１０）から、タイルおよびチャネル量子化係数、ならびに量子化マトリックスを受信し、逆マルチチャネル変換器（４４０）から量子化周波数係数データを受信する。逆量子化器／加重器（４５０）は、必要ならば、受信した量子化係数／マトリックス情報を伸張してから、逆量子化器および重み付けを実行する。
【００５５】
逆周波数変換器（４６０）は、逆量子化器／加重器（４５０）によって出力された周波数係数データを受信し、さらにＤＥＭＵＸ（４１０）から副次的情報を、タイル構成復号器（４３０）からタイルパターン情報を受信する。逆周波数変換器（４６０）は、符号器で使用されたエントロピー符号化の逆を利用し、ブロックをオーバーラッパー／加算器（４７０）に出力する。
【００５６】
タイル構成復号器（４３０）からタイルパターン情報を受信するのに加えて、オーバーラッパー／加算器（４７０）は、逆周波数変換器（４６０）から復号された情報を受信する。オーバーラッパー／加算器（４７０）は、必要ならば、音声データを重ね合わせ、加え合わせ、異なるモードで符号化された音声データのフレームまたはその他の系列をインターリーブする。
【００５７】
マルチチャネルポストプロセッサ（４８０）は、オーバーラッパー／加算器（４７０）によって出力された時間領域の音声サンプルを任意選択でリマトリックス化する。マルチチャネルポストプロセッサは、再生用にファントムチャネル（ｐｈａｎｔｏｍ  ｃｈａｎｎｅｌ）を生成したり、スピーカ間でのチャネルの空間的回転などの特殊な効果を得たり、より少ないスピーカでの再生用にチャネルをフォールドダウン（ｆｏｌｄ  ｄｏｗｎ）したりするために、またはその他の目的で、選択的に音声データをリマトリックス化する。ビットストリーム制御の後処理の場合、後処理変換マトリックスは、時間とともに変化し、ビットストリーム（４０５）の中で伝達されるか、またはビットストリーム（４０５）に含まれる。
【００５８】
ＩＩＩ．音声基本ストリームのマッピングに関する新方式
説明する技法およびツールは、（以下で説明する汎用基本ストリームフォーマットなど）与えられた中間フォーマットの音声基本ストリームを、（ＤＶＤなどの）光ディスクに保存し再生するのに適したトランスポートコンテナまたは他のファイルコンテナフォーマットにマッピングするための技法およびツールを含む。本明細書の説明および図面においては、ビットストリームのフォーマットおよび意味、ならびにフォーマット間のマッピングのための技法を示し、説明する。
【００５９】
本明細書において説明する実装においては、デジタルメディア汎用基本ストリームは、チャンクと呼ばれるストリーム構成要素を使用して、ストリームを符号化される。例えば、デジタルメディア汎用基本ストリームの一実装においては、メディアストリーム用のデータを、１つもしくは複数のタイプの１つまたは複数のチャンクを有するフレームの中に配置する。チャンクのタイプには、同期チャンク、フォーマットヘッダ／ストリーム属性チャンク、圧縮音声データ（例えば、ＷＭＡ  Ｐｒｏ音声データ）を含む音声データチャンク、メタデータチャンク、巡回冗長検査チャンク、タイムスタンプチャンク、ブロック終端チャンク、および／またはその他のタイプの既存のチャンクもしくは将来定義されるチャンクがある。チャンクは、（例えば、１バイトのチャンクタイプ構文要素を含むことができる）チャンクヘッダと、チャンクデータを含むが、チャンクのすべての情報がチャンクヘッダに存在するチャンクタイプ（例えば、ブロック終端チャンク）など、チャンクタイプによっては、チャンクデータが存在しないこともあり得る。いくつかの実装においては、チャンクは、チャンクヘッダおよび次のチャンクヘッダが始まるまでのすべての情報として定義される。
【００６０】
例えば、図５には、第１のフォーマットのデジタルメディアデータを、１つもしくは複数のチャンクを含むフレームまたはアクセスユニット配置を使用して、トランスポートコンテナまたはファイルコンテナにマッピングするための技法５００が示されている。５１０において、第１のフォーマットで符号化されたデジタルメディアデータを取得する。５２０において、取得されたデジタルメディアデータは、１つまたは複数のチャンクを含むフレーム／アクセスユニット配置に並べられる。次に５３０において、フレーム／アクセスユニット配置の中のデジタルメディアデータを、トランスポートコンテナまたはファイルコンテナに挿入する。
【００６１】
図６は、トランスポートコンテナまたはファイルコンテナから取得された、１つまたは複数のチャンクを含むフレームまたはアクセスユニット配置の中のデジタルメディアデータを復号化するための技法６００を示している。６１０において、１つまたは複数のチャンクを含むフレーム配置の中の音声データを、トランスポートコンテナまたはファイルコンテナから取得する。次に６２０において、取得された音声データを復号化する。
【００６２】
本発明の一実装においては、汎用基本ストリームフォーマットは、ＤＶＤ−ＡＲゾーンフォーマットにマッピングされる。別の実装においては、汎用基本ストリームフォーマットは、ＤＶＤ−ＣＡゾーンフォーマットにマッピングされる。また別の実装においては、汎用基本ストリームフォーマットは、任意のトランスポートコンテナまたはファイルコンテナにマッピングされる。そのような実装においては、説明する技法およびツールは、汎用基本ストリームフォーマットのデータを、光ディスクへの保存に適した次のフォーマットに符号変換またはマッピングするので、汎用基本ストリームフォーマットは、中間フォーマットであると考えられる。
【００６３】
本発明のいくつかの実装においては、汎用音声基本ストリームは、Ｗｉｎｄｏｗｓ（登録商標）メディアオーディオ（ＷＭＡ）フォーマットの変形である。ＷＭＡフォーマットに関するさらなる情報については、２００３年７月１８日に提出された、「Lossless Audio Encoding and Decoding Tools and Techniques」という名称の米国特許仮出願第６０／４８８,５０８号明細書、および２００３年７月１８日に提出された、「Audio Encoding and Decoding Tools and Techniques」という名称の米国特許仮出願第６０／４８８,７２７号明細書を参照されたい。それらの文献は参照により本明細書に組み込まれる。
【００６４】
一般に、デジタル情報は、デジタル情報の処理および保存が容易になるように、（アクセスユニット、チャンク、またはフレームなどの）一連のデータオブジェクトとして表現することができる。例えば、デジタル音声または映像ファイルは、デジタル音声または映像サンプルを含む一連のデータオブジェクトとして表現することができる。
【００６５】
一連のデータオブジェクトがデジタル情報を表現する場合、データオブジェクトのサイズが等しければ、一連のデータオブジェクトの処理が簡単になる。例えば、一連のサイズが等しい音声アクセスユニットが、データ構造内に保存されていると仮定する。１つの系列内のアクセスユニットのサイズが分かっていれば、系列内のアクセスユニットの順序を示す数を使用して、データ構造の先頭からのオフセットを知ることにより、特定のアクセスユニットにアクセスすることができる。
【００６６】
本発明のいくつかの実装においては、上述した図３の符号器（３００）などの音声符号器は、汎用基本ストリームフォーマットなどの中間フォーマットに音声データを符号化する。次に、中間フォーマットのストリームを、（固定サイズのアクセスユニットを有するフォーマットなど）光ディスクへの保存に適したフォーマットにマッピングするために、音声データマッパーまたは符号変換器を使用することができる。次に、上述した図４の復号器（４００）などの１つまたは複数の音声復号器によって、符号化音声データを復号化することができる。
【００６７】
例えば、第１のフォーマット（例えば、ＷＭＡフォーマット）の音声データは、第２のフォーマット（例えば、ＤＶＤ−ＡＲまたはＤＶＤ  Ａ−ＣＡフォーマット）にマッピングされる。最初に、第１のフォーマットで符号化された音声データが取得される。第１のフォーマットにおいて、取得された音声データは、固定サイズまたは最大許容サイズ（例えば、ＤＶＤ−ＡＲフォーマットにマッピングされる場合、２０１１バイトまたは他の最大サイズ）を有するフレームの中に配置される。フレームは、同期チャンク、フォーマットヘッダ／ストリーム属性チャンク、圧縮ＷＭＡ  Ｐｒｏ音声データを含む音声データチャンク、メタデータチャンク、巡回冗長検査（ＣＲＣ）チャンク、ブロック終端チャンク、および／またはその他のタイプの既存のチャンクもしくは将来定義されるチャンクなどのチャンクを含むことができる。この配置は、（デジタル音声／映像復号器などの）復号器が、音声データにアクセスしおよび復号化することを可能にする。次に、音声データのこの配置は、第２のフォーマットの音声データストリームに挿入される。第２のフォーマットは、音声データをコンピュータ読取り可能の光データ記憶ディスク（例えば、ＤＶＤ）に保存するためのフォーマットである。
【００６８】
同期チャンクは、ある同期パターンが有効であるかどうかを検査するための同期パターンおよび長さフィールドを含むことができる。基本ストリームフレームの末尾は、ブロック終端チャンクによって交互に通知することもできる。さらに、同期チャンクおよびブロック終端チャンクは（または可能性としてはその他のタイプのチャンクも）、リアルタイムのアプリケーションで便利なように、基本ストリームの基本形式では省略することができる。
【００６９】
以下、本発明のいくつかの実施形態における具体的なチャンクタイプの詳細について説明する。
【００７０】
ＩＶ．汎用基本ストリームのＤＶＤ音声フォーマットへのマッピングの実装
以下の例は、ＷＭＡ  Ｐｒｏ符号化音声ストリームの汎用基本ストリームフォーマット表現から、ＤＶＤ−ＡＲおよびＤＶＤ−Ａ  ＣＡゾーンへのマッピングを詳細に説明したものである。この例においては、オプション的なコーデックとしてＷＭＡ  Ｐｒｏを許容するＤＶＤ−ＣＡゾーンの要件を満たすように、またオプション的なコーデックとしてＷＭＡ  Ｐｒｏを含むＤＶＤ−ＡＲ仕様の要件を満たすように、マッピングが行われる。
【００７１】
図７は、ＷＭＡ  ＰｒｏストリームからＤＶＤ−Ａ  ＣＡゾーンへのマッピングを示す。図８は、ＷＭＡ  ＰｒｏストリームからＤＶＤ−ＡＲのオーディオオブジェクト（ＡＯＢ）へのマッピングを示す。これらの図に示す例では、与えられたＷＭＡ  Ｐｒｏフレームを復号化するのに必要な情報は、アクセスユニットまたはＷＭＡ  Ｐｒｏフレーム中に収められる。図７および図８では、１０バイトのデータを含むストリーム属性ヘッダは、与えられたストリームに関して一定である。ストリーム属性情報は、例えば、ＷＭＡ  Ｐｒｏフレームまたはアクセスユニットに収めることができる。代替として、ストリーム属性情報は、ＣＡゾーン用のＣＡマネージャーのストリーム属性ヘッダ、またはＤＶＤ−ＡＲ  ＰＳのパケットヘッダもしくはプライベートヘッダに収めることができる。
【００７２】
以下、図７および図８に示す具体的なビットストリーム要素について説明する。
【００７３】
ストリーム属性：メディアストリームおよびその特性を定義する。ストリーム属性ヘッダは一般に、与えられたストリームに関して一定のデータを含む。以下の表１に、ストリーム属性のさらなる詳細を示す。
【００７４】
【表１】
0004724452.tif 000002
【００７５】
チャンクタイプ：１バイトのチャンクヘッダ。この例では、チャンクヘッダフィールドは、すべてのタイプのデータチャンクの前に置かれる。チャンクヘッダフィールドには、後続のデータチャンクの種類を収める。
【００７６】
同期パターン：この例では、同期パターンは２バイトであり、解析器（ｐａｒｓｅｒ）は、同期パターンを用いて、ＷＭＡ  Ｐｒｏフレームの先頭を見つけることができる。チャンクタイプは、同期パターンの第１バイトの中に埋め込まれる。
【００７７】
長さフィールド：この例では、長さフィールドは、直前の同期符号の先頭までのオフセットを示す。長さフィールドと結合された同期パターンは、エミュレーションを防止するのに十分な固有性をもった（ｕｎｉｑｕｅ）情報の組み合わせを提供する。読取り器は、同期パターンに出会うと、次の同期パターンまで前方に解析（ｐａｒｓｅ）を進め、第２の同期パターンで指定された長さが、第１の同期パターンから第２の同期パターンに達するまでに解析したバイト数での長さに一致するかを確認する。この確認に成功すれば、解析器は、正しい同期パターンに出会っており、復号化を開始することができる。あるいは、復号器は、次の同期パターンを待つことなく、第１の同期パターンを見つけ次第、「投機的に（ｓｐｅｃｕｌａｔｉｖｅｌｙ）」復号化を開始することができる。そうすることで、復号器は、次の同期パターンの解析および復号化を行う前に、いくつかのサンプルを再生することができる。
【００７８】
メタデータ：メタデータのタイプおよびサイズに関する情報を収める。この例では、メタデータチャンクは、メタデータのタイプを示す１バイト、バイト数でチャンクサイズＮを示す１バイト（同じＩＤをもつ複数のチャンクとして送信されるメタデータ＞２５６バイト）、およびＮバイトのチャンクを含み、メタデータがもう存在しない場合、符号器は、ＩＤタグに０バイトを出力する。
【００７９】
コンテンツディスクリプタメタデータ：この例では、メタデータチャンクは、音声ストリームのコンテンツに関する基本説明情報の通信用に低ビットレートチャネルを提供する。コンテンツディスクリプタメタデータは３２ビット長である。このフィールドはオプションであり、必要ならば、帯域を節約するために（例えば、３秒に１回の割合で）繰り返すことができる。以下の表２に、内容ディスクリプタメタデータのさらなる詳細を示す。
【００８０】
【表２】
0004724452.tif 000003
【００８１】
実際のコンテンツディスクリプタ文字列は、メタデータに含まれるバイトストリームから受信機によって組み立てられる。ストリームの各バイトは、ＵＴＦ−８文字を表す。ブロック終端に達する前にメタデータ文字列が終了した場合、メタデータを０ｘ００でパディングすることができる。文字列の先頭および末尾は、タイプフィールドの変化によって暗示される。このため、送信機は、コンテンツディスクリプタメタデータを送信する場合、１つまたは複数の文字列が空であっても、４つのタイプすべてを繰り返す。
【００８２】
ＣＲＣ（巡回冗長検査）：ＣＲＣは、前のＣＲＣの後から、つまり最も近い前の同期パターンから始まり（前の同期パターンを含む）、ＣＲＣまで（ＣＲＣ自体は含まない）のすべて部分を対象とする。
【００８３】
提示タイムスタンプ（ｐｒｅｓｅｎｔａｔｉｏｎ  ｔｉｍｅ  ｓｔａｍｐ）：図７および図８には示されていないが、提示タイムスタンプには、必要ならば、映像ストリームと同期をとるためのタイムスタンプ情報が収められる。この例では、１００ナノ秒の精度をサポートするため、提示タイムスタンプは、６バイトで指定される。例えば、ＤＶＤ−ＡＲ仕様に提示タイムスタンプを取り入れる場合、提示タイムスタンプを収める適切なロケーションは、パケットヘッダであろう。
【００８４】
Ｖ．別の汎用基本ストリーム定義
図９は、上述の例においてＤＶＤ音声ストリームにマッピングされるＷＭＡ音声ストリームの中間フォーマットとして使用できる汎用基本ストリームの別の定義を示す。より広範には、この例で定義される汎用基本ストリームは、その他の様々なデジタルメディアストリームを任意のトランスポートコンテナまたはファイルコンテナにマッピングするのに使用することができる。
【００８５】
この例で説明する汎用基本ストリームにおいては、デジタルメディアは、デジタルメディアの一連の別個のフレーム（例えば、ＷＭＡ音声フレーム）に符号化される。汎用基本ストリームは、デジタルメディアの任意の与えられたフレームをフレーム自体から復号化するのに必要なすべての情報が収められる方法によって、デジタルメディアストリームを符号化する。
【００８６】
以下、図９に示すストリームフレームのヘッダ構成要素についての説明を示す。
【００８７】
チャンクタイプ：この例では、チャンクタイプは、すべてのタイプのデータチャンクの前に置かれる１バイトのヘッダである。チャンクタイプフィールドには、続くデータチャンクの種類が収められる。基本ストリーム定義では、複数のチャンクタイプが定義されており、それには、後に定義される追加のチャンクタイプで基本ストリーム定義を補完または拡張できるようにするための拡張（ｅｓｃａｐｅ）メカニズムが含まれる。新たに定義されたチャンクは、（チャンク長がチャンクの構文要素内に符号化される）「長さ提供」方式、または（チャンク長がチャンクタイプ符号から暗黙に分かる）「長さ事前定義」方式とすることができる。既存の従来の復号器の解析器では、新たに定義されたチャンクは、「廃棄」または無視されるが、ビットストリームの構文解析または韻律分析（ｓｃａｎｓｉｏｎ）に不都合が生じることはない。チャンクタイプが備えるロジックおよびその用途については、次のセクションで詳しく説明する。
【００８８】
同期パターン：同期パターンは２バイトであり、解析器は、同期パターンを用いて、基本ストリームフレームの先頭を見つけることができる。チャンクタイプは、同期パターンの第１バイトに埋め込まれる。この例で使用される正確なパターンについては、以下で説明する。
【００８９】
長さフィールド：この例では、長さフィールドは、直前の同期符号の先頭までのオフセットを示す。長さフィールドと結合された同期パターンは、エミュレーションを防止するのに十分な固有性をもった情報の組み合わせを提供する。解析器は、同期パターンに出会うと、引き続く長さフィールドを解析し、次の最も近い同期パターンまで解析を進め、第２の同期パターンで指定された長さが、第１の同期パターンから第２の同期パターンに遭遇するまでに解析したバイト数の長さに一致するかを確認する。この確認に成功すれば、解析器は、正しい同期パターンに出会っており、復号を開始することができる。同期パターンおよび長さフィールドは、低ビットレートの場合など、フレームによっては、符号器によって省略される。しかし、符号器は、両方をいっしょに省略すべきである。
【００９０】
提示タイムスタンプ（ｐｒｅｓｅｎｔａｔｉｏｎ  ｔｉｍｅ  ｓｔａｍｐ）：この例では、提示タイムスタンプには、必要ならば、映像ストリームと同期をとるためのタイムスタンプ情報が収められる。この例示的な基本ストリーム定義の実施では、１００ナノ秒の精度をサポートするため、提示タイムスタンプは、６バイトで指定される。しかし、このフィールドは、タイムスタンプフィールドの長さを指定するチャンクサイズフィールドの後に置かれる。
【００９１】
本発明のいくつかの実装においては、提示タイムスタンプは、例えば、マイクロソフトのアドバンストシステムフォーマット（ＡＳＦ）またはＭＰＥＧ−２プログラムストリーム（ＰＳ）ファイルコンテナなどのファイルコンテナに収めることができる。最も基本的な状態では、音声ストリームを復号化し、映像ストリームと同期させるのに必要なすべての情報を、ストリームに収めることができることを示すために、本明細書で説明する基本ストリーム定義の実装に、提示タイムスタンプフィールドを含めてある。
【００９２】
ストリーム属性：これは、メディアストリームおよびその特性を定義する。この例におけるストリーム属性のさらなる詳細を以下に提示する。ストリーム属性ヘッダは、同じストリームでは内部のデータは変らないので、ファイルの先頭で利用可能でありさえすればよい。
【００９３】
本発明のいくつかの実装においては、ストリーム属性フィールドは、例えば、ＡＳＦまたはＭＰＥＧ−２  ＰＳファイルコンテナなどのファイルコンテナに収めることができる。最も基本的な状態では、与えられた音声ストリームを復号化するのに必要なすべての情報を、ストリームに収めることができることを示すために、本明細書で説明する基本ストリーム定義の実装に、ストリーム属性フィールドを含めてある。基本ストリームに含まれる場合、このフィールドは、ストリーム属性データの長さを指定するチャンクサイズフィールドの後に置かれる。
【００９４】
上記の表１に、ＷＭＡ  Ｐｒｏコーデックによって符号化されるストリームのストリーム属性が示されている。同様のストリーム属性ヘッダを、各コーデックに対して定義することができる。
【００９５】
音声データペイロード：この例においては、音声データペイロードフィールドには、圧縮Ｗｉｎｄｏｗｓ（登録商標）メディアオーディオフレームデータなどの圧縮デジタルメディアデータが収められる。基本ストリームは、圧縮音声以外のデジタルメディアストリームと共に使用することができ、その場合は、データペイロードは、そのようなストリームの圧縮デジタルメディアデータとなる。
【００９６】
メタデータ：このフィールドには、メタデータのタイプおよびサイズに関する情報が収められる。収めることのできるメタデータのタイプには、コンテンツディスクリプタ、フォールドダウン、ＤＲＣなどが含まれる。メタデータは、以下のように構成される。
【００９７】
この例では、各メタデータチャンクは、
−メタデータのタイプを示す１バイトと、
−バイト数でチャンクサイズＮを示す１バイト（同じＩＤをもつ複数のチャンクとして送信されるメタデータ＞２５６バイト）と、
−Ｎバイトのチャンクと、を有する。
【００９８】
ＣＲＣ：この例においては、巡回冗長検査（ＣＲＣ）フィールドは、前のＣＲＣの後から、つまり最も近い前の同期パターンから始まり（前の同期パターンを含む）、ＣＲＣまで（ＣＲＣ自体は含まない）のすべて部分を対象とする。
【００９９】
ＥＯＢ：この例では、ＥＯＢ（ブロック終端）チャンクは、与えられたブロックまたはフレームの終端を通知するために使用される。同期チャンクが存在する場合、その前のブロックまたはフレームの終了を示すのにＥＯＢは必要とされない。同様に、ＥＯＢが存在する場合、次のブロックまたはフレームの開始を定義するのに同期チャンクは必要とされない。低レートのストリームの場合、ブレークイン（ｂｒｅａｋ−ｉｎ）およびスタートアップを考えないのであれば、どちらも含める必要はない。
【０１００】
Ａ．チャンクタイプ
この例においては、チャンクＩＤ（チャンクタイプ）は、汎用基本ストリームに収められたデータの種類を区別する。チャンクＩＤは、ストリーム属性および任意のメタデータを含む、すべての異なるコーデックタイプおよび関連するコーデックデータを表せるだけの十分な柔軟性を備えるとともに、音声、映像、またはその他のデータタイプを収めるための基本ストリームの拡張も可能にする。後から追加されるチャンクタイプは、その長さを示すために、ＬＥＮＧＴＨ＿ＰＲＯＶＩＤＥＤまたはＬＥＮＧＴＨ＿ＰＲＥＤＥＦＩＮＥＤクラスのどちらかを使用することができ。それによって、既存の基本ストリーム復号器の解析器は、復号器に復号用のプログラミングがなされていない、そのような後から定義されたチャンクを読み飛ばすことができる。
【０１０１】
本明細書において説明する基本ストリーム定義の実装においては、すべてのコーデックデータを表し、区別するために、１バイトのチャンクタイプフィールドが使用される。この例示的な実装においては、以下の表３で定義されているように、３つのクラスのチャンクが存在する。
【０１０２】
【表３】
0004724452.tif 000004
【０１０３】
ＬＥＮＧＴＨ＿ＰＲＯＶＩＤＥＤクラスのタグの場合、データは、後続データの長さを明示的に示す長さフィールドの後に置かれる。データ自体が長さインジケータを含むこともできるが、構文全体で長さフィールドを定義する。
【０１０４】
以下の表４に、このクラスの要素を示す。
【０１０５】
【表４】
0004724452.tif 000005
【０１０６】
以下の表５に、ＬＥＮＧＴＨ＿ＰＲＯＶＩＤＥＤクラスのメタデータの要素を示す。
【０１０７】
【表５】
0004724452.tif 000006
【０１０８】
ＬＥＮＧＴＨフィールド要素は、ＬＥＮＧＴＨ＿ＰＲＯＶＩＤＥＤクラスのタグの後に続く。以下の表６に、ＬＥＮＧＴＨフィールドの要素を示す。
【０１０９】
【表６】
0004724452.tif 000007
【０１１０】
ＬＥＮＧＴＨ＿ＡＮＤ＿ＭＥＡＮＩＮＧ＿ＰＲＥＤＥＦＩＮＥＤのタグの場合、以下の表７は、チャンクタイプの後に続くフィールドの長さを定義する。
【０１１１】
【表７】
0004724452.tif 000008
【０１１２】
ＬＥＮＧＴＨ＿ＰＲＥＤＥＦＩＮＥＤタグの場合、チャンクタイプのビット５から３は、そのチャンクタイプを理解しない復号器、またはそのチャンクタイプのために含まれるデータを必要としない復号器が、チャンクタイプの後で読み飛ばさなければならないデータの長さを、図８に示すように定義する。チャンクタイプの最上位２ビット（すなわち、ビット７および６）は１１に等しい。
【０１１３】
【表８】
0004724452.tif 000009
【０１１４】
４バイト、８バイト、および１６バイトのデータの場合、最大８つの異なるタグを、チャンクタイプのビット２から０で表すことが可能である。１バイトおよび３２バイトのデータの場合、１バイトおよび３２バイトのデータは、それぞれ２つの方法で表すことができるので（例えば、上の表８に示すように、ビット５から３が、１バイトでは０００または００１、３２バイトでは１１０または１１１）、可能なタグの数は倍の１６になる。
【０１１５】
Ｂ．メタデータフィールド
フォールドダウン：このフィールドは、作者管理のフォールドダウンシナリオ（ａｕｔｈｏｒ  ｃｏｎｔｒｏｌｌｅｄ  ｆｏｌｄ  ｄｏｗｎ  ｓｃｅｎａｒｉｏ）のためのフォールドダウン行列（ｆｏｌｄ  ｄｏｗｎ  ｍａｔｒｉｘ）に関する情報を含む。これは、フォールドダウン行列を収めるフィールドであり、そのサイズは、収められるフォールドダウンの組み合わせに応じて変化することができる。最悪の場合、そのサイズは、７．１（サブウーファを含む８チャネル）から５．１（サブウーファを含む６チャネル）へのフォールドダウンのための８×６型行列となる。フォールドダウンフィールドは、フォールドダウン行列が時間とともに変化する場合に対処するため、各アクセスユニットで繰り返される。
【０１１６】
ＤＲＣ：このフィールドは、ファイルのためのＤＲＣ（ダイナミックレンジ制御）情報（例えば、ＤＲＣ係数）を含む。
【０１１７】
コンテンツディスクリプタメタデータ：この例においては、メタデータチャンクは、音声ストリームの内容に関係する基本説明情報の通信用の低ビットレートチャネルを提供する。コンテンツディスクリプタメタデータは、３２ビット長である。このフィールドはオプションであり、必要ならば、帯域を節約するために、３秒に１回の割合で繰り返すことができる。上記の表２に、コンテンツディスクリプタメタデータのさらなる詳細を示す。
【０１１８】
実際のコンテンツディスクリプタ文字列は、メタデータに含まれるバイトストリームから受信機によって組み立てられる。ストリームの各バイトは、ＵＴＦ−８文字を表す。ブロック終端に達する前にメタデータ文字列が終了した場合、メタデータを０ｘ００でパディングすることができる。文字列の先頭および末尾は、「タイプ」フィールドの変化によって暗示される。このため、送信側は、内容ディスクリプタメタデータを送信する場合、１つまたは複数の文字列が空であっても、４つのタイプすべてを繰り返す。
【０１１９】
詳細な説明および添付の図面によって、発明者らの新考案の原理について説明し、例示してきたが、そのような原理から逸脱することなく、構成および詳細の点で、様々な実施形態に変更を施し得ることは理解されよう。本明細書で説明したプログラム、プロセッサ、または方法は、別途指摘がない限り、特定のタイプのコンピューティング環境に関連づけられたり、制限されたりするものではないことを理解されたい。様々なタイプの汎用または専用コンピューティング環境は、本明細書で説明した教示に従う動作とともに利用することができ、またはそのような動作を実行することができる。ソフトウェアによって示した実施形態の要素はハードウェアでよっても、ハードウェアで示した実施形態の要素はソフトウェアによっても実施することができる。
【図面の簡単な説明】
【０１２０】
【図１】従来技術による音声符号器システムのブロック図である。
【図２】適切なコンピュータシステムのブロック図である。
【図３】汎用音声符号器システムのブロック図である。
【図４】汎用音声復号器システムのブロック図である。
【図５】第１のフォーマットのデジタルメディアデータを、１つもしくは複数のチャンクを含むフレームまたはアクセスユニット配置を使用して、トランスポートコンテナまたはファイルコンテナにマッピングするための技法を示したフローチャートである。
【図６】トランスポートコンテナまたはファイルコンテナから取得した、１つもしくは複数のチャンクを含むフレームまたはアクセスユニット配置の中のデジタルメディアデータを復号化するための技法を示したフローチャートである。
【図７】ＷＭＡ  Ｐｒｏ音声基本ストリームのＤＶＤ−Ａ  ＣＡフォーマットへのマッピングを示した図である。
【図８】ＷＭＡ  Ｐｒｏ音声基本ストリームのＤＶＤ−ＡＲフォーマットへのマッピングを示した図である。
【図９】任意のコンテナへのマッピングのための汎用基本ストリームの定義を示した図である。
【符号の説明】
【０１２１】
１００  音声符号器
２３０  最も基本的な構成
３００  音声符号器
４００  音声複合器
【図１】
0004724452.tif 000010
【図２】
0004724452.tif 000011
【図３】
0004724452.tif 000012
【図４】
0004724452.tif 000013
【図５】
0004724452.tif 000014
【図６】
0004724452.tif 000015
【図７】
0004724452.tif 000016
【図８】
0004724452.tif 000017
【図９】
0004724452.tif 000018