(57)【特許請求の範囲】
【請求項１】
マルチチャネル・オーディオ・エンコーダであって、
あるサンプリング・レートでサンプルされたマルチチャネル・オーディオ信号の各チャネルにオーディオ・ウインドウを適用し、それぞれのオーディオ・フレームのシーケンスを生成するフレーム・グラバ（６４）と、
前記チャネルのオーディオ・フレームを、それぞれの複数のＮ個の周波数制限されたサブバンド信号に分割するユニフォーム・マルチタップ・マルチバンド・フィルタ・バンク（３４）であって、前記Ｎは所定の周波数帯域の数であり、前記サブバンド信号の各々が、サブバンド・フレーム当たり少なくとも１つのオーディオ・データのサブフレームを有するサブバンド・フレームのシーケンスを備えるものである、ユニフォーム・マルチタップ・マルチバンド・フィルタ・バンク（３４）と、
それぞれの前記周波数サブバンドにおける前記オーディオ・データを、１度に１サブフレームずつ、エンコードされたサブバンド信号へとコード化する複数のサブバンド・エンコーダ（２６）と、
前記エンコードされたサブバンド信号を、それぞれの連続するデータ・フレームに対する出力フレームへと、パックしてマルチプレクスすることにより、伝送レートでのデータ・ストリームを形成するマルチプレクサ（３２）と、
前記サンプリング・レート及び前記伝送レートに基づいて、前記オーディオ・ウインドウのサイズをセットし、前記出力フレームのサイズを所望の範囲内に収めるように制限するコントローラ（１９）と、
を備え、
前記サブバンド・エンコーダが、各サブフレームを複数のサブ−サブフレームに分割し、各サブバンド・エンコーダが、各サブフレーム毎にエラー信号を発生し量子化する予測コーダ（７２）を備えており、更に、
分析器（９８，１００，１０２，１０４，１０６）を備え、前記分析器は、
各サブフレームに対するコーディングに先立って、推定エラー信号を生成し、
前記推定エラー信号の各サブ−サブフレームにおいて過渡を検出し、
最初のサブ−サブフレーム以外のいずれかのサブ−サブフレームに過渡があるか否か、およびどのサブ−サブフレームに前記過渡が発生したかを示す過渡コードを生成し、
過渡が検出された場合、過渡より前のサブ−サブフレームに対して、過渡前スケール・ファクタを生成し、前記過渡を含むサブ−サブフレームおよび前記過渡より後のサブ−サブフレームに対して、過渡後スケール・ファクタを生成し、過渡が検出されなかった場合、前記サブフレームに対して、均一スケール・ファクタを生成する
構成を備え、
前記予測コーダが、前記過渡前スケール・ファクタ、前記過渡後スケール・ファクタおよび前記均一スケール・ファクタを用いて、コーディングに先立って前記エラー信号をスケーリングして、前記過渡前スケール・ファクタに対応する前記サブ−サブフレームにおけるコーディング・エラーを減少させる、
マルチチャネル・オーディオ・エンコーダ。
【請求項２】
請求項１記載のマルチチャネル・オーディオ・エンコーダであって、
前記コントローラが、前記オーディオ・ウインドウのサイズを、
（フレームサイズ）＊Ｆsamp＊（８／Ｔrate）
よりも小さい、最大の２の倍数としてセットし、前記フレームサイズが、前記出力フレームの最大サイズであり、前記Ｆsampが、サンプリング・レートであり、前記Ｔrateが、伝送レートである、
マルチチャネル・オーディオ・エンコーダ。
【請求項３】
請求項１記載のマルチチャネル・オーディオ・エンコーダであって、
前記マルチチャネル・オーディオ信号が目標のビット・レートでエンコードされ、前記サブバンド・エンコーダが予測コーダを備えており、更に、
グローバル・ビット・マネージャ（ＧＢＭ）（３０）を備え、前記グローバル・ビット・マネージャは、
心理音響学的信号対マスク比（ＳＭＲ）および推定予測ゲイン（Ｐgain）を各サブフレーム毎に計算し、
前記ＳＭＲを、それらの関連する予測ゲインのそれぞれの小部分だけ減少させることによって、マスク対ノイズ比（ＭＮＲ）を計算し、
各ＭＮＲを満足するようにビットを割り当て、
全てのサブバンドにわたって、割り当てられた前記ビットのレートを計算し、
個々の割り当てを調節して実際のビット・レートを前記目標のビット・レートに近づける
構成を備える、
マルチチャネル・オーディオ・エンコーダ。
【請求項４】
請求項１記載のマルチチャネル・オーディオ・エンコーダであって、
前記ベースバンド周波数範囲が最大周波数を有し、更に、
前記オーディオ・フレームの各々を、前記ベースバンド周波数範囲における周波数のベースバンド信号、および前記最大周波数より高い周波数の高サンプリング・レート信号に、分割するプレフィルタ（４６）と、
前記オーディオ・チャネルの高サンプリング・レート信号を、それぞれのエンコードされた高サンプリング・レート信号にエンコードする高サンプリング・レート・エンコーダ（４８，５０，５２）と、
を更に備え、
前記マルチプレクサが、前記チャネルの前記エンコードされた高サンプリング・レート信号を、それぞれの前記出力フレームにパックし、前記マルチチャネル・オーディオ信号の前記ベースバンドの部分および前記高サンプリング・レートの部分が独立してデコード可能となるようにする、
マルチチャネル・オーディオ・エンコーダ。
【請求項５】
データ・ストリームから複数のオーディオ・チャネルを再生するマルチチャネル・オーディオ・デコーダであって、各オーディオ・チャネルは、エンコーダ・サンプリング・レートでサンプルされ、複数の周波数サブバンドに分割され、伝送レートのデータ・ストリームへと圧縮およびマルチプレクスされるものである、マルチチャネル・オーディオ・デコーダにおいて、
前記データ・ストリームを１度に１フレームずつ読み込みかつ格納する入力バッファであって、前記フレームの各々が、同期（ｓｙｎｃ）ワードと、フレーム・ヘッダと、オーディオ・ヘッダと、少なくとも１つのサブフレームとを含み、該サブフレームは、オーディオ・サイド情報と、オーディオ・コードを有する複数のサブ−サブフレームとを含むものである、入力バッファと、
デマルチプレクサであって、
ａ）前記ｓｙｎｃワードを検出し、
ｂ）前記フレーム・ヘッダをアンパックして、前記フレーム内のオーディオ・サンプル数を示すウインドウ・サイズと、前記フレーム内のバイト数を示すフレーム・サイズとを抽出し、ここにおいて、前記ウインドウ・サイズは、前記伝送レートと前記エンコーダ・サンプリング・レートとの比率の関数として設定されて、前記フレーム・サイズが前記入力バッファのサイズよりも小さくなるように制限されるものであり、
ｃ）前記オーディオ・ヘッダをアンパックして、前記フレーム内のサブフレームの数およびエンコードされたオーディオ・チャネルの数を抽出し、
ｄ）各サブフレームをシーケンシャルにアンパックして、サブ−サブフレームの数を含む前記オーディオ・サイド情報を抽出し、各サブ−サブフレーム内のオーディオ・コードを複数のオーディオ・チャネルへとディマルチプレクスし、そして、各オーディオ・チャネルをそのサブバンド・オーディオ・コードへとアンパックする、
デマルチプレクサと、
前記サイド情報を用いて、他のいずれのサブフレームも参照せずに、前記サブバンド・オーディオ・コードを、１度に１サブフレームずつ、再生サブバンド信号へとデコードするデコーダと、
各チャネルの再生サブバンド信号を、１度に１サブフレームずつ、再生されたマルチチャネル・オーディオ信号へと組み合わせる再生フィルタと、
を備え、
前記サイド情報が、
各サブバンドのビット・レートが前記サブフレームにわたって固定されている、各チャネルのサブバンドに対するビット割り当てテーブルと、
各チャネルにおける各サブバンドに対する少なくとも１つのスケール・ファクタと、
スケール・ファクタ数とそれらに関連するサブ−サブフレームを識別する、各チャネルにおける各サブバンドに対する過渡モード（ＴＭＯＤＥ）であって、前記デコーダが、前記サブバンドのオーディオ・コードを、それらのＴＭＯＤＥに応じたそれぞれのスケール・ファクタによってスケーリングしてデコーディングを容易にする、過渡モードと、
を備える、
マルチチャネル・オーディオ・デコーダ。
【請求項６】
請求項５記載のマルチチャネル・オーディオ・デコーダであって、
前記再生フィルタが、不完全再生（ＮＰＲ）フィルタバンクと、完全再生（ＰＲ）フィルタバンクとを備え、前記フレーム・ヘッダが、前記ＮＰＲフィルタバンクおよびＰＲフィルタバンクの一つを選択するフィルタ・コードを含む、
マルチチャネルオーディオ・デコーダ。
【請求項７】
請求項５記載のマルチチャネル・オーディオ・デコーダであって、
前記デコーダが、それぞれの前記サブバンド・オーディオ・コードをデコードする、複数のインバース適応差分パルス・コード変調（ＡＤＰＣＭ）コーダ（２６８，２７０）を備えており、前記サイド情報が、それぞれの前記ＡＤＰＣＭコーダに対する予測係数と、前記それぞれのＡＤＰＣＭコーダへの前記予測係数の適用を制御して、それらの予測能力を選択的にイネーブルおよびディスエーブルにする予測モード（ＰＭＯＤＥ）とを含む、
マルチチャネル・オーディオ・デコーダ。
【請求項８】
製造品であって、
ポータブルの機械読み取り可能な記録媒体（２０）と、
あるサンプリング・レートでサンプルされ、個々の周波数サブバンドへと分割されるベースバンド周波数範囲にわたって及び高サンプリング・レート周波数範囲にわたってエンコードされ、伝送レートでオーディオ・フレーム（１８６）のシーケンスとして前記ポータブルの機械読み取り可能な記録媒体へ書き込まれる、マルチチャネル・オーディオ信号を表すデジタル・データ・ストリーム（１６）と
を備え、前記オーディオ・フレームのそれぞれが、順に、
同期ワード（１９２）と、
前記オーディオ・フレーム内のオーディオ・サンプル数を示すウインドウ・サイズと、前記オーディオ・フレーム内のバイト数を示すフレーム・サイズとを含むフレーム・ヘッダ（１９４）であって、前記ウインドウ・サイズは前記伝送レートと前記サンプリング・レートとの比率の関数として設定されて、前記フレーム・サイズが最大サイズより小さくなるように制限されるものである、フレーム・ヘッダ（１９４）と、
前記オーディオ・フレームに対するパッキング配列およびコード化フォーマットを示すオーディオ・ヘッダ（１９８）と、
少なくとも１つのオーディオ・サブフレーム（１８８）と
を備え、
各オーディオ・サブフレームが、
前記オーディオ・サブフレームを、他のいずれのサブフレームも参照せずにデコードするためのサイド情報（２００）と、
複数のベースバンド・オーディオ・サブ−サブフレーム（１９０）であって、各チャネルの周波数のサブバンドに対するオーディオ・データがパックされ他のチャネルとマルチプレクスされる、複数のベースバンド・オーディオ・サブ−サブフレーム（１９０）と
高サンプリング・レート・オーディオ・ブロック（２０８）であって、各チャネルに対する前記高サンプリング・レート周波数範囲のオーディオ・データがパックされ他のチャネルとマルチプレクスされることにより、前記マルチチャネル・オーディオ信号が複数のデコード・サンプリング・レートでデコード可能とされる、高サンプリング・レート・オーディオ・ブロック（２０８）と、
前記サブフレームの終わりを確認するためのアンパック同期（２１０）とを備える、
製造品。
【発明の詳細な説明】
発明の背景
発明の分野
本発明は、マルチチャネル・オーディオ信号の高品質のエンコーディングおよびデコーディングに関し、更に特定すれば、完全／不完全再生フィルタ、予測／非予測サブバンド・エンコーディング、過渡（transient）分析、および心理音響学的（psycho-acoustic）／最少二乗平均誤差（ｍｍｓｅ）ビット割り当てを時間、周波数および多数のオーディオ・チャネルに対して用い、デコーディングのための計算負荷を制限して、データ・ストリームを生成するサブバンド・エンコーダに関するものである。
関連技術の説明
既知の高品質オーディオおよび音楽コーダは、２つの広義の方式のクラスに分けることができる。第１に、心理音響学的マスク計算にしたがって、分析ウインドウ内でサブバンドまたは係数サンプルを適応的に量子化する、中ないし高周波数分解能サブバンド／変換コーダ（medium to high frequency resolution subband/transform coder）がある。第２に、ＡＤＰＣＭを用いてサブバンド・サンプルを処理することにより、劣っている周波数分解能を補う低分解のサブバンド・コーダがある。
第１のクラスのコーダは、信号のスペクトル・エネルギに応じてビット割り当てを適合化させることによって、一般的な音楽信号の大きな短期間スペクトル分散（variance）を利用する。これらのコーダの高い分解能によって、周波数変換された信号を直接心理音響学的モデルに適用することが可能となる。このモデルは、聴取（hearing）の臨界帯域理論に基づくものである。ドルビーのＡＣ−３オーディオ・コーダ、トッド（Todd）その他の「ＡＣ−３：オーディオ伝達および格納のための柔軟な知覚的コーディング（AC-3:Flexible Perceptual Coding for Audio Transmission and Storage）」コンベンション・オブ・ザ・オーディオ・エンジニアリング・ソサイティ（Convention of Audio Engineering Society,１９９４年２月）は、典型的に、各ＰＣＭ信号上で１０２４−ｆｆｔの計算を行い、各チャネルにおいて心理音響学的モデルを１０２４個の周波数係数に適用し、各係数に対するビット・レートを決定する。ドルビー・システムは、ウインドウ・サイズを２５６サンプルに減少して過渡を分離する過渡（transient）分析を用いる。ＡＣ−３コーダは、所有の逆方向適応アルゴリズム（backward adaptation algorithm）を用いて，ビット割り当て（allocation）をデコードする。これによって、エンコードされたオーディオ・データと共に送出される、ビット割り当て情報の量が減少する。その結果、オーディオに使用可能な帯域幅が、順方向適応方式よりも拡大し、音質の改善に至る。
第２のクラスのコーダでは、差分サブバンド信号の量子化は、固定されているか、あるいはサブバンドの全てまたはいくつかにおける量子化ノイズ・パワーを最少に抑えるように適合化するが、心理音響学的マスキング理論についての明示的な引用は全くない。直接心理音響学的歪みスレッショルドは、ビット割り当て処理に先立ってプレディクタ（予測器）の挙動を推定することが困難であることのために、予測／差分サブバンド信号には適用できないことは、一般的に受け入れられている。問題は、予測プロセスにおける量子化ノイズのインタラクション（相互作用）によって更に複雑化する。
これらのコーダが動作するのは、知覚的臨界オーディオ信号が、通常、長い時間期間にわたって周期的であるからである。この周期性が、予測差分（差動）量子化に利用されている。信号を少数のサブバンドに分けることによって、ノイズ変調の可聴効果が減少し、オーディオ信号における長期のスペクトルの分散の利用が可能となる。サブバンドの数が増えた場合、各サブバンド内の予測ゲインが減少し、ポイントによっては、予測ゲインがゼロになる場合もある。
デジタル・シアター・システム（Digital  Theater  System）、Ｌ．Ｐ．（ＤＴＳ）は、オーディオ・コーダを利用し、各ＰＣＭオーディオ・チャネルを４個のサブバンドにフィルタし、予測器係数をサブバンド・データに適応させる逆（backward）ＡＤＰＣＭエンコーダを用いて、各サブバンドをエンコードする。ビット割り当ては固定され、各チャネル毎に同一に行われ、低い方の周波数サブバンドには、高い方の周波数サブバンドよりも割り当てられるビット数が多い。ビット割り当ては、例えば、４：１のような、固定の圧縮率を与える。ＤＴＳコーダについては、マイク  スミス（Mike Smyth）およびステファン  スミス（Stephen Smyth）の「ＡＰＴ−Ｘ１００：放送用の短遅延、低ビット−レート、サブバンドＡＤＰＣＭオーディオ・コーダ（APT-X100:A LOW-DELAY,LOW BIT-RATE,SUB-BAND ADPCM AUDIO CODER FOR BROADCASTING）」（第１０回国際ＡＥＳ会議１９９１年の論文誌、第４１ないし５６ページ（Proceedings of the 10th International AES Conference 1991,pp.41-56））に記載されている。
双方のタイプのオーディオ・コーダは、他にも共通の限界がある。第１に、既知のオーディオ・コーダは、固定のフレーム・サイズを用いて、エンコード／デコードを行う。即ち、１フレームによって表されるサンプル数又は時間期間が固定している。その結果、エンコード化送信（伝送）レートがサンプリング・レートに対して増加するに連れて、フレーム内のデータ量（バイト）も増大する。したがって、デコーダのバッファ・サイズは、最悪の場合の状況に対処し、データのオーバーフローを避けるように設計しなければならない。このために、デコーダの構成要素の中で主に費用のかかるＲＡＭの量が増大する。第２に、既知のオーディオ・コーダは、４８ｋＨｚより高いサンプリング周波数に拡張するのは容易ではない。これを行うと、既存のデコーダは、新しいエンコーダに要求されるフォーマットとの互換性が失われる。この将来の互換性の欠如は、重大な制約となる。更に、ＰＣＭデータをエンコードするために用いられている既知のフォーマットは、再生が開始可能になる前にデコーダによってフレーム全体が読み取られなければならない。このため、遅延又はレイテンシが聴取者に不快感を与えないようにするために、バッファ・サイズを約１００ｍｓのデータ・ブロックに制限することが必要となる。
加えて、これらのコーダは２４ｋＨｚまでのエンコード能力を有するが、しばしば高い方のサブバンドの欠落を生じる。これは、高周波数の信頼性又は再生された（再構築された）信号のアンビアンス（ambiance）を損なうものである。既知のエンコーダは、典型的に、２種類のエラー検出方式の一方を採用している。最も一般的なのは、リード・ソロモン（Read Solomon）・コーディングであり、エンコーダは、エラー検出ビットを、データ・ストリーム内のサイド情報（side in formation）に付加する。これによって、サイド情報（副情報）におけるあらゆるエラーの検出および訂正が容易に行われる。しかしながら、オーディオ・データ内のエラーは未検出のまま通過する。別の手法には、フレームおよびオーディオ・ヘッダの無効コード状態をチェックするものがある。例えば、特定の３ビット・パラメータは、３つの有効状態のみを有するようにすることができる。他の５状態の１つが識別された場合、エラーが発生したはずである。これは、単に検出機能を与えるに過ぎず、オーディオ・データにおけるエラーを検出するものではない。
発明の概要
上述の問題に鑑み、本発明は、広い範囲の圧縮レベルに対処する柔軟性を有し、高ビット・レートにおいてＣＤ品質より良い品質が得られ、かつ低いビット・レートにおいて知覚品質（perceptual quality）が改善され、再生のレイテンシを減らし、エラー検出を簡略化し、プレエコー歪み（pre-echo distortion）を改善し、将来の更に高いサンプリング・レートへの拡張性を有する、マルチ・チャネル・オーディオ・コーダを提供する。
これを達成するに当たり、各オーディオ・チャネルを一連のオーディオ・フレームに枠付け（window、ウインドウ化）し、フレームをベースバンド範囲および高周波数範囲に分離（filter、フィルタ）し、各ベースバンド信号を複数のサブバンドに分解するサブバンド・コーダを用いる。このサブバンド・コーダは、通常、ビット・レートが低い場合は、不完全（non-perfect）フィルタを選択してベースバンド信号を分解するが、ビット・レートが十分に高い場合は、完全フィルタを選択する。高周波数コーディング・ステージ（段）が、ベースバンド信号とは独立して高周波数信号をエンコードする。ベースバンド・コーディング段は、ＶＱコーダおよびＡＤＰＣＭコーダを含み、これらが高い方の周波数サブバンドおよび低い方の周波数サブバンドをそれぞれエンコードする。各サブバンド・フレームは、少なくとも１つのサブフレームを含み、その各々は更に、複数のサブ−サブフレームに分割される。各サブフレームを分析し、ＡＤＰＣＭコーダの予測ゲインを推定（概算）する。この際、予測ゲインが低い場合、予測機能をディスエーブルし、過渡（transient、トランジエント）を検出して、過渡前ＳＦおよび過渡後ＳＦを調節する。
グローバル・ビット管理（ＧＢＭ：global bit management）システムが、現フレーム内の多数のオーディオ・チャネル、多数のサブバンド、およびサブフレームの間の差を利用して、各サブフレームにビットを割り当てる。ＧＢＭシステムは、最初に、ビットを各サブフレームに、予測ゲインによって修正されたそれ自体のＳＭＲを計算して心理音響学的モデルを満足することによって、割り当てる。次に、ＧＢＭシステムは、ＭＭＳＥ手法にしたがって、あらゆる残りのビットを割り当て、直ちにＭＭＳＥ割り当てに切り替えるか、あるいは全体的なノイズ下限を低下させるか、あるいは徐々にＭＭＳＥ割り当てに変えていく。
マルチプレクサが、ｓｙｎｃ（同期）ワード、フレーム・ヘッダ、オーディオ・ヘッダおよび少なくとも１つのサブフレームを含む出力フレームを発生する。これらの出力フレームは、伝送レートでデータ・ストリームに多重化される。フレーム・ヘッダは、ウインドウ・サイズおよび現出力フレームのサイズを含む。オーディオ・ヘッダは、オーディオ・フレームに対する、パッキング配列およびコーディング・フォーマットを含む。各オーディオ・サブフレームは、他のいずれのサブフレームも参照せずに当該オーディオ・サブフレームをデコードするためのサイド情報（side information）と、高周波数ＶＱコードと、各チャネルの低い方の周波数サブバンドがパックされ且つ他のチャネルと多重化される、複数のベースバンド・オーディオ・サブ−サブフレームと、各チャネルの高周波数範囲のオーディオ・データがパックされ且つ他のチャネルと多重化され、マルチ・チャネル・オーディオ信号が複数のデコーディング・サンプリング・レートでデコード可能とする高周波数オーディオ・ブロックと、サブフレームの終端を確認するアンパックｓｙｎｃとを含む。
ウインドウ・サイズは、送信（伝送）レートのエンコーダ・サンプリング・レートに対する比の関数として選択し、出力フレームのサイズが所望の範囲に収まるように制約を加える。圧縮の量が比較的少ない場合、ウインドウ・サイズを小さくして、フレーム・サイズが上限の最大値を超過しないようにする。その結果、デコーダは、固定の比較的少量のＲＡＭを備える入力バッファの使用が可能となる。圧縮量が比較的多い場合、ウインドウ・サイズを拡大する。その結果、ＧＢＭシステムは、より大きな時間ウインドウにわたってビットを分配することができ、これによってエンコーダの性能が向上する。
本発明のこれらおよびその他の特徴や利点は、以下の好適実施形態の詳細な説明を、添付図面および表と共に検討することにより、当業者には明白となろう。
【図面の簡単な説明】
図１は、本発明による５チャネル・オーディオ・コーダのブロック図である。
図２は、マルチ・チャネル・エンコーダのブロック図である。
図３は、ベースバンド・エンコーダおよびデコーダのブロック図である。
図４ａおよび図４ｂは、それぞれ、高サンプリング・レート・エンコーダおよびデコーダのブロック図である。
図５は、単一チャネル・エンコーダのブロック図である。
図６は、可変伝送レートに対する、フレーム当たりのバイト対フレーム・サイズのグラフである。
図７は、ＮＰＲおよびＰＲ再生フィルタについての振幅応答のグラフである。
図８は、再生フィルタについてのサブバンド・エリアシングのグラフである。
図９は、ＮＰＲおよびＰＲフィルタについての歪み曲線のグラフである。
図１０は、単一サブバンド・エンコーダの概略図である。
図１１ａおよび図１１ｂは、それぞれ、サブフレームに対する過渡検出およびスケール・ファクタの計算を示す。
図１２は、量子化ＴＭＯＤＥＳのためのエントロピー・コーディング・プロセスを示す。
図１３は、スケール・ファクタ量子化プロセスを示す。
図１４は、ＳＭＲを発生するための、信号マスクと、当該信号の周波数応答との畳み込み（コンボリューション）を示す。
図１５は、人間の聴覚応答のグラフである。
図１６は、サブバンドに対するＳＭＲのグラフである。
図１７は、心理音響学的およびｍｍｓｅビット割り当てに対するエラー信号のグラフである。
図１８ａおよび図１８ｂは、それぞれ、ｍｍｓｅ「ウオータフィリング」ビット割り当てプロセスを示す、サブバンド・エネルギ・レベルのグラフおよび逆（反転）グラフである。
図１９は、データ・ストリームにおける単一フレームのブロック図である。
図２０は、デコーダの概略図である。
図２１は、エンコーダのハードウエアによる実施のブロック図である。
図２２は、デコーダのハードウエアによる実施のブロック図である。
表の簡単な説明
表１は、最大フレーム・サイズ対サンプリング・レートおよび伝送レートを表にまとめたものである。
表２は、最大許容フレーム・サイズ（バイト）対サンプリング・レートおよび伝送レートを表にまとめたものである。
表３は、ＡＢＩＴインデックス値、量子化レベル数および得られるサブバンドＳＮＲの間の関係を示す。
発明の詳細な説明
マルチ・チャネル・オーディオ・コーディング・システム
図１に示すように、本発明は、既知のエンコーディング方式の双方の特徴と、単一のマルチ・チャネルオーディオ・コーダ１０における追加の特徴とを組み合わせる。エンコーディング・アルゴリズムは、スタジオ品質レベル、即ち、「ＣＤよりも高い」品質で実行し、様々な圧縮レベル、サンプリング・レート、ワード長、チャネル数および知覚品質に対して、広い適用範囲を提供するように設計されている。
エンコーダ１２は、典型的に４８ｋＨｚ、１６ないし２４ビットの間のワード長でサンプリングされる、多数チャネルのＰＣＭオーディオ・データ１４を、適切には３２ないし４０９６ｋｂｐｓの範囲の既知の伝送レートでのデータ・ストリーム１６にエンコードする。既知のオーディオ・コーダとは異なり、本発明のアーキテクチャは、ベースバンド・サンプリング・レートまたはいずれかの中間サンプリング・レートに設計された既存のデコーダの互換性を失わせることなく、より高いサンプリング・レート（４８ないし１９２ｋＨｚ）に拡張することができる。更に、ＰＣＭデータ１４に枠（ウインドウ）を設け、一度に１フレームずつエンコードする。好ましくは、各フレームを、１〜４サブフレームに分割する。オーディオ・ウインドウのサイズ、即ち、ＰＣＭサンプルの数は、サンプリング・レートおよび伝送レートの相対的な値に基づき、デコーダ１８がフレーム当たり読み出す出力フレームのサイズ、即ち、バイト数を、５．３ないし８ｋバイトに制約することが適切である。
その結果、デコーダにおいて、入来データ・ストリームをバッファするのに必要なＲＡＭ量は比較的少なく抑えられ、デコーダのコストが低下する。低レートでは、より大きなウインドウ・サイズを用いてＰＣＭデータをフレーム化することができ、これによってコーディング処理能力が向上する。ビット・レートが高い程小さいウインドウ・サイズを用いて、データの制約を満たさなければならない。これは、必然的にコーディング処理能力を低下させるが、レートが高い場合、これはさほど重要ではない。また、ＰＣＭデータをフレーム化することによって、デコーダ１８は、出力フレーム全体がバッファに読み込まれる前に、再生を開始することができる。これは、オーディオ・コーダの遅延又はレイテンシを減少させることになる。
エンコーダ１２は、高分解能フィルタバンクを用いる。これは、ビット・レートに基づいて、非完全（ＮＰＲ）再構築（再生）フィルタおよび完全（ＰＲ）再構築（再生）フィルタ間で切り替え、各オーディオ・チャネル１４を多数のサブバンド信号に分解することが好ましい。予測およびベクトル量子化（ＶＱ）コーダを用いて、下位および上位の周波数サブバンドをそれぞれエンコードする。開始ＶＱサブバンドは、固定することができ、あるいは、電流信号特性の関数として動的（ダイナミック）に決定することも可能である。ジョイント（結合）周波数コーディング（joint frequency coding）を低ビット・レートで用い、高い周波数サブバンドにおいて多数のチャネルを同時にエンコードしてもよい。
予測（predictive）コーダは、サブバンド予測ゲインに基づいて、ＡＰＣＭモードとＡＤＰＣＭモードとの間で切り替えることが好ましい。過渡分析器が、各サブバンド・サブフレームをプレエコー信号およびポストエコー信号（サブ−サブフレーム）に区分し、プレエコー信号およびポストエコー信号に対してそれぞれのスケール・ファクタを計算することによって、プレエコー歪みを減少させる。エンコーダは、コーディング効率を最適化するためのそれぞれの必要性（心理音響学的またはｍｓｅ）に応じて、現フレームに対して、ＰＣＭチャネルおよびサブバンドの全てにわたって、使用可能なビット・レートを適応的に割り当てる。予測コーディングと心理音響学的モデリングを組み合わせることによって、低ビット・レート・コーディングの効率を高め、こうして目的とする透過性を達成するビット・レートを低下させる。コンピュータまたはキーパッドのようなプログラマブル・コントローラ１９がエンコーダ１２とインターフェースし、所望のビット・レート、チャネル数、ＰＲまたはＮＰＲ再構築、サンプリング・レートおよび伝送レートのようなパラメータを含むオーディオ・モード情報を中継する。
エンコードされた信号および側波帯（サイドバンド）情報をパックし、データ・ストリーム１６に多重化することにより、デコード計算負荷が所望の範囲内に収まるようにする。データ・ストリーム１６は、ＣＤ、デジタル・ビデオ・ディスク（ＤＶＤ：digital video disk）、または直接放送衛星のような伝送媒体２０上で、エンコードされるかあるいはこれらを通じて放送される。デコーダ１８は、個々のサブバンド信号をデコードし、インバース・フィルタリング処理を行って、マルチ・チャネル・オーディオ信号２２を発生する。この信号２２は、元のマルチ・チャネル・オーディオ信号１４と主観的に同等である。ホーム・シアター・システムまたはマルチメディア・コンピュータのようなオーディオ・システム２４が、ユーザのためにこのオーディオ信号を再生する。
マルチチャネル・エンコーダ
図２に示すように、エンコーダ１２は、複数の個別のチャネル・エンコーダ２６を含む。これらは５つが適当であり（左前、中央、右前、左後および右後）、エンコードされたサブバンド信号（エンコード・サブバンド信号）２８のそれぞれのセットを生成する。エンコード・サブバンド信号２８はチャネル当たり３２個のサブバンド信号が適当である。エンコーダ１２は、グローバル・ビット管理（ＧＢＭ：global bit management）システム３０を採用し、共通ビット・プールからチャネル間で、１つのチャネル内のサブバンド間で、所与のサブバンド内の個別のフレーム内で、ビットを動的に割り当てる。エンコーダ１２は、ジョイント周波数コーディング技法も用い、高い方の周波数サブバンドにおいて、チャネル間相関を利用することも可能である。更に、エンコーダ１２は、特定的に知覚可能でない高い方の周波数サブバンド上でＶＱを使用し、基本的な高周波数信頼性および非常に低いビット・レートにおけるアンビアンスを得ることができる。このように、コーダは、多数のチャネルの、例えば、サブバンドのｒｍｓ値と心理音響学的マスキング・レベルのような異種の信号要求や、各チャネル内の周波数および所与のフレーム内の時間にわたる信号エネルギの非均一な分布を利用する。
ビット割り当ての概要
ＧＢＭシステム３０は、最初に、どのチャネルのサブバンドが、ジョイント周波数コード化されるかを決定し、そのデータを平均化し、次いで、どのサブバンドがＶＱを用いてエンコードされるかを決定し、それらのビットを使用可能なビット・レートから差し引く。どのサブバンドをＶＱにという決定は、スレッショルド周波数より高い全てのサブバンドはＶＱであるという点において演繹的に行うか、あるいは各フレーム内の個々のサブバンドの心理音響学的マスキング効果に基づいて行うことができる。その後、ＧＭＢシステム３０は、心理音響学的マスキングを用いて、ビット（ＡＢＩＴ）を残りのサブバンドに割り当て、デコードされたオーディオ信号の対象となる音質の最適化を行う。追加のビットが使用可能な場合、エンコーダは、純粋なｍｍｓｅ方式、即ち、「ウオータフィリング（waterfilling）」に切り替え、サブバンドの相対的ｒｍｓ値に基づいて全てのビットを割り当てし直し、エラー信号のｒｍｓ値を最少に抑えることができる。これは、非常に高いビット−レートで適用可能である。好適な手法は、心理音響学的ビット割り当てを保持し、ｍｍｓｅ方式にしたがって追加のビットのみを割り当てることである。これによって、心理音響学的マスキングによって作成されるノイズ信号の形状を保持するが、ノイズ・フロア（下限、floor）を下方向に均一にシフトする。
あるいは、この好適な手法を修正して、ｒｍｓと心理音響学的レベルの差にしたがって、追加のビットを割り当てるようにすることも可能である。その結果、心理音響学的割り当ては、ビット−レートが高くなるに連れて、ｍｍｓｅ割り当ての形態となり、２つの技法間で円滑な遷移が行われる。上述の技法は、固定ビット・レート・システムに特定して適用可能である。あるいは、エンコーダ１２は、主観的にまたはｍｓｅで、歪みレベルをセットし、全体的なビット・レートを変化させて歪みレベルを維持することができる。マルチプレクサ３２が、指定されたデータ・フォーマットにしたがって、サブバンド信号およびサイド情報をデータ・ストリーム１６に多重化する。データ・フォーマットの詳細については、図２０において以下で論ずる。
ベースバン・エンコーディング
８ないし４８ｋＨｚの範囲のサンプリング・レートでは、チャネル・エンコーダ２６は、図３に示すように、４８ｋＨｚのサンプリング・レートで動作する、ユニフォーム（均一）５１２−タップ・３２−バンド分析フィルタ・バンク３４を用い、各チャネルのオーディオ・スペクトル０〜２４ｋＨｚを、サブバンド当たり７５０Ｈｚの帯域を有する３２のサブバンドに分割する。コーディング・ステージ（段）３６は、各サブバンド信号をコード化し、それらを圧縮データ・ストリーム１６に多重化する（３８）。デコーダ１８は、圧縮データ・ストリームを受け取り、アンパッカー（unpacker）４０を用いて各サブバンドのためにコード化データを分離し、各サブバンド信号４２をデコードし、各チャネル毎に、５１２−タップ・３２−バンド・ユニフォーム補間フィルタ・バンク４４を用いて、ＰＣＭデジタル・オーディオ信号（Ｆｓａｍｐ＝４８ｋＨｚ）を再構築（再生）する。
本アーキテクチャでは、コーディング戦略の全て、例えば、４８、９６または１９２ｋＨｚのサンプリング・レートは、３２バンド・エンコーディング／デコーディング・プロセスを、例えば、０〜２４ｋＨｚ間の最低（ベースバンド）オーディオ周波数に用いる。したがって、今日４８ｋＨｚサンプリング・レートに基づいて設計され構築されているデコーダは、更に高い周波数成分を利用するように設計される将来のエンコーダとの互換性を維持する。既存のデコーダは、ベースバンド信号（０〜２４ｋＨｚ）を読み取り、これより高い周波数ではエンコードされた信号を無視する。
高サンプリング・レート・エンコーディング
４８〜９６ｋＨｚの範囲のサンプリング・レートでは、チャネル・エンコーダ２６は、好ましくは、オーディオ・スペクトルを２つに分割し、ユニフォーム３２−バンド分析フィルタ・バンクを下側の半分に用い、８バンド分析フィルタ・バンクを上側の半分に使用する。図４ａおよび図４ｂに示すように、オーディオ・スペクトル０〜４８ｋＨｚは、２５６タップ・２バンド・デシメーション・プレフィルタ・バンク４６を用いて最初に分割され、バンド当たり２４ｋＨｚのオーディオ帯域幅を与える。下側のバンド（０〜２４ｋＨｚ）は、図３において先に説明したように、分割され、３２の均一バンドにエンコードされる。しかしながら、上側のバンド（２４〜４８ｋＨｚ）は、８個の均一バンドに分割されエンコードされる。８バンド・デシメーション／補間フィルタ・バンク４８の遅延が、３２バンド・フィルタ・バンクのそれに等しくない場合、遅延補償段５０を、２４〜４８ｋＨｚ信号経路のどこかに設けて、デコーダにおける２バンド再結合フィルタ・バンクの前に、双方の時間波形がそろうことを保証しなければならない。９６ｋＨｚサンプリング・エンコーディング・システムでは、２４〜４８ｋＨｚのオーディオ・バンドは３８４サンプルだけ遅延され、次いで１２８タップ補間フィルタ・バンクを用いて８個の均一バンドに分割される。３ｋＨｚサブバンドの各々をエンコードし（５２）、０〜２４ｋＨｚバンドからのコード化データと共にパックし（５４）、圧縮されたデータ・ストリーム（圧縮データ・ストリーム）１６を形成する。
デコーダ１８に到達すると、圧縮データ・ストリーム１６はアンパックされ（５６）、３２バンド・デコーダ（０〜２４ｋＨｚ領域）および８バンド・デコーダ（２４〜４８ｋＨｚ領域）双方に対するコードは分離され、それらの各デコード段４２および５８にそれぞれ供給される。８個および３２個のデコードされたサブバンドは、それぞれ、１２８タップ・ユニフォーム補間フィルタ・バンク６０および５１２タップ・ユニフォーム補間フィルタ・バンク４４を用いて再構築される。デコードされたサブバンドは、続いて、２５６タップ・２バンド・ユニフォーム補間フィルタ・バンク６２を用いて再結合され、サンプリング・レートが９６ｋＨｚの単一ＰＣＭデジタル・オーディオ信号を生成する。デコーダが圧縮化データ・ストリームの半分のサンプリング・レートで動作することが望ましい場合、これは、上側のバンドのエンコード・データ（２４〜４８ｋＨｚ）を破棄し、０〜２４ｋＨｚオーディオ領域内の３２サブバンドのみをデコードすることによって、都合よく達成することができる。
チャネル・エンコーダ
上述のコーディング戦略の全てでは、３２バンド・エンコーディング／デコーディング・プロセスを、０〜２４ｋＨｚ間のオーディオ帯域幅のベースバンド部分に対して実行する。図５に示すように、フレーム・グラバ（frame grabber）６４がＰＣＭオーディオ・チャネル１４にウインドウを設け、連続するデータ・フレーム６６に区分化する。ＰＣＭオーディオ・ウインドウは、連続する入力サンプルの数を規定し、それに対してエンコーディング・プロセスがデータ・ストリームにおける出力フレームを生成する。ウインドウ・サイズは、圧縮量、即ち、伝送レートのサンプリング・レートに対する比率に基づいてセットし、各フレームにおけるエンコードされるデータ量を制限する。連続する各データ・フレーム６６は、３２バンド・５１２タップＦＩＲデシメーション・フィルタ・バンク３４によって、３２個の均一な周波数バンド６８に分割される。各サブバンドから出力されるサンプルは、バッファされ、３２バンド・コーディング段３６に印加される。
分析段７０（図１０ないし図１９に詳細に示す）が、バッファされたサブバンド・サンプルについて、最適予測器係数、差分（差動）量子化ビット割り当ておよび最適量子化スケール・ファクタを生成する。また、分析段７０は、どのサブバンドがＶＱであるか、およびこれらの決定がなされない場合、どれをジョイント周波数コード化するのかを決定することができる。このデータ、即ち、サイド情報は、選択されたＡＤＰＣＭ段７２、ＶＱ段７３またはジョイント周波数コーディング（ＪＦＣ）段７４、およびデータ・マルチプレクサ３２（パッカー）に順方向に供給される。次に、サブバンド・サンプルは、ＡＤＰＣＭまたはＶＱプロセスによってエンコードされ、量子化コードはマルチプレクサに入力される。ＪＦＣ段７４は、実際にはサブバンドのサンプルをエンコードしないが、どのチャネルのサブバンドが結合され、データ・ストリーム内のどこにそれらを配置するかを示すコードを生成する。各サブバンドからの量子化コードおよびサイド情報は、データ・ストリーム１６の中にパックされ、デコーダに伝達される。
デコーダ１８に到達すると、データ・ストリームは、デマルチプレクス、即ち、アンパックされ（unpack、パックを解かれ）個々のサブバンドに戻される（４０）。スケール・ファクタおよびビット割り当ては、最初にインバース量子化器７５に、各サブバンドに対する予測器係数（predictor coefficient）と共に実装（install）される。次いで、ＡＤＰＣＭプロセス７６またはインバースＶＱプロセス７７を用いて直接的に、またはインバースＪＦＣプロセス７８を用いて、指定されたサブバンドについて、差分コードを再生する。サブバンドは最終的に３２バンド補間フィルタ・バンク４４を用いて併合され、単一のＰＣＭオーディオ信号２２に戻される。
ＰＣＭ信号のフレーム化
図６に示すように、図５に示したフレーム・グラバ６４は、伝送レートが所与のサンプリング・レートに対して変化するのに連れて、ウインドウ７９のサイズを変化させて、出力フレーム８０当たりのバイト数を、例えば、５．３ｋバイトおよび８ｋバイトの間に収まるように制限する。表１および表２は、設計者が、所与のサンプリング・レートおよび伝送レートに対して、最適なウインドウ・サイズおよびデコーダのバッファ・サイズ（フレーム・サイズ）をそれぞれ選択できるようにする設計表である。低伝送レートでは、フレーム・サイズは比較的大きくすることができる。このため、エンコーダは、時間的にわたって平坦でない分散分布のオーディオ信号を利用し、オーディオ・コーダの性能を改善することができる。高いレートでは、フレーム・サイズを小さくして、バイト総数がデコーダのバッファから溢れないようにする。その結果、設計者は、デコーダに８ｋバイトのＲＡＭを備え、全ての伝送レートを満足させることができる。これによって、デコーダのコスト削減を図る。一般的に、オーディオ・ウインドウのサイズは、以下の式で与えられる。
オーディオ・ウインドウ＝（フレーム・サイズ）＊Ｆsamp＊（８／Ｔrate）
ここで、フレーム・サイズはデコーダのバッファのサイズであり、Ｆsampはサンプリング・レートであり、Ｔrateは伝送レートである。オーディオ・ウインドウのサイズは、オーディオ・チャネルの数とは独立している。しかしながら、チャネル数が増えるに連れて、所望の伝送レートを維持するために圧縮量も増大させなければならない。
0004174072.tif 000002
0004174072.tif 000003
サブバンド・フィルタリング
３２バンド・５１２タップ・ユニフォーム・デシメーション・フィルタバンク３４は、図５に示す３２の均一（ユニフォーム）なサブバンド６８にデータ・フレーム６６を分割するために、２つのポリフェーズ・フィルタバンク（polyphase filterbank）から選択する。２つのフィルタバンクは、再構築精度に対してサブバンド・コーディング・ゲインをトレード・オフする、異なる再生（再構築）特性を有する。一方のクラスのフィルタを、完全再構築（ＰＲ：perfect reconstruction）フィルタと呼ぶ。ＰＲデシメーション（エンコーディング）・フィルタおよびその補間（デコーディング）フィルタが連続して配置されると、再生（再構築）された信号は完全となる。この場合の完全とは、２４ビットの分解能で、０．５ｌｓｂ以内と定義する。他方のクラスのフィルタを、不完全（ＮＰＲ：non-perfect reconstruction）フィルタと呼ぶ。何故なら、再生された信号が、フィルタリング・プロセスの不完全なエリアシング・キャンセレーション特性に伴う、非ゼロのノイズ下限を有するからである。
単一サブバンドのためのＮＰＲフィルタおよびＰＲフィルタそれぞれの伝達関数８２および８４を、図７に示す。ＮＰＲフィルタは完全な再生を行うための制約を受けないので、これらは、ＰＲフィルタよりも、かなり大きい近ストップバンド阻止（ＮＳＢＲ：near stop band rejection）比、即ち、パスバンドの第１サイド・ローブに対する比率を呈する（１１０ｄＢに対して８５ｄＢ）。図８に示すように、フィルタのサイドローブのために、自然に第３サブバンド内に位置する信号８６が、隣接するサブバンド内にエリアシングする。サブバンド・ゲインは、隣接するサブバンドにおける信号の阻止（rejection）の尺度となるので、フィルタのオーディオ信号をデコリレート（decorrelate）する能力を示す。ＮＰＲフィルタはＰＲフィルタよりもＮＳＢＲ比がかなり大きいので、サブバンド・ゲインもかなり大きめである。その結果、ＮＰＲフィルタはより良いエンコーディング効率を与える。
図９に示すように、圧縮データ・ストリームにおける合計の歪みは、全体としてのビット・レートがＰＲフィルタおよびＮＰＲフィルタ双方に対して高くなるに連れて減少する。しかしながら、低いレートでは、これら２つのタイプのフィルタ間のサブバンド・ゲイン性能の差は、ＮＰＲフィルタに関連するノイズ下限よりも大きい。したがって、ＮＰＲフィルタの関連する歪み曲線９０は、ＰＲフィルタの関連する歪み曲線９２よりも下に位置する。つまり、低いレートでは、オーディオ・コーダはＮＰＲフィルタ・バンクを選択する。ある点９４において、エンコーダの量子化エラーは、ＮＰＲフィルタのノイズ下限よりも低下し、ＡＤＰＣＭコーダに追加のビットを加えても、追加の効果は得られなくなる。この点において、オーディオ・コーダはＰＲフィルタ・バンクに切り替える。
ＡＤＰＣＭエンコーディング
ＡＤＰＣＭエンコーダ７２は、Ｈ個の以前の再生されたサンプルの線型の組み合わせから、予測サンプルｐ（ｎ）を生成する。次に、この予測サンプルを、入力ｘ（ｎ）から減算し、差サンプルｄ（ｎ）を与える。差サンプルをＲＭＳ（またはＰＥＡＫ）スケール・ファクタで除算することによって調整し（scale、スケール化し）、差サンプルのＲＳＭ振幅を、量子化器特性Ｑのそれに一致させる。スケール化した差サンプルｕｄ（ｎ）は、現サンプルに対して割り当てられたビット数ＡＢＩＴによって決定される、Ｌレベルのステップ−サイズＳＺで、量子化器特性に適用される。量子化器は、スケール化された各差サンプルｕｄ（ｎ）に対して、レベル・コードＱＬ（ｎ）を生成する。これらのレベル・コードは、最終的にデコーダＡＤＰＣＭ段に伝達される。プレディクタ（予測器）の履歴を更新するために、Ｑのものと同一の特性を有するインバース量子化器１／Ｑを用いて、量子化器レベル・コードＱＬ（ｎ）を局部的にデコードし、量子化スケール化差サンプル
0004174072.tif 000004
を生成する。サンプル
0004174072.tif 000005
をＲＭＳ（またはＰＥＡＫ）スケール・ファクタと乗算することによって、これを再スケール化し、
0004174072.tif 000006
を生成する。元の入力サンプルｘ（ｎ）の量子化バージョン
0004174072.tif 000007
は、初期の予測サンプルｐ（ｎ）を量子化差サンプル
0004174072.tif 000008
に加算することによって再構築される。次に、このサンプルを用いて、予測器履歴を更新する。
ベクトル量子化
予測器係数および高周波数サブバンド・サンプルは、ベクトル量子化（ＶＱ）を用いてエンコードする。予測器ＶＱは、４サンプルのベクトル次元と、サンプル当たり３ビットのビット・レートとを有する。最終的なコードブックは、したがって、次元４の４０９６個のコードベクトルから成る。一致ベクトル（matching vector）の探索（サーチ）は、２レベルのツリーとして構築され、ツリー内の各ノードは６４個のブランチを有する。最上位レベルは６４ノードのコードベクトルを格納する。これらは、探索プロセスを助けるためにエンコーダにおいて必要とされるのみでである。最下位レベルは、４０９６個の最終コードベクトルと接触する。これらは、エンコーダおよびデゴーダ双方において必要とされる。各探索には、次元４の１２８のＭＳＥ計算が必要である。最上位レベルにおけるコードブックおよびノード・ベクトルは、ＬＢＧ法を用いて、５百万個以上の予測係数トレーニング・ベクトル（training vector）によってトレーニングされる。トレーニング・ベクトルは、正の予測ゲインを呈しつつ広い範囲のオーディオ素材をコード化する全てのサブバンドについて蓄積される。トレーニング・セット（training set）におけるテスト・ベクトルのために、約３０ｄＢの平均ＳＮＲが得られる。
高周波数ＶＱは、３２サンプルのベクトル寸法（サブフレームの長さ）、およびサンプル当たり０．３１２５ビットのビット・レートを有する。したがって、最終コードブックは、次元３２の１０２４のコードベクトルから成る。一致ベクトルの探索は、２レベル・ツリーとして構築され、ツリー内の各ノードは３２個のブランチを有する。最上位レベルは３２ノードのコードベクトルを格納する。これらは、エンコーダにおいて必要とされるのみである。最下位レベルは１０２４の最終コードベクトルを含む。これらは、エンコーダおよびデコーダ双方において必要とされる。各探索について、次元３２の６４の次元３２のＭＳＥ計算が必要である。最上位レベルにおけるコードブックおよびノード・ベクトルは、ＬＢＧ法を用いて、７百万を超える高周波数サブバンド・サンプル・トレーニング・ベクトルによってトレーニングされる。これらのベクトルを構成するサンプルは、広い範囲のオーディオ素材に対して、４８ｋＨｚのサンプリング・レートではサブバンド１６ないし３２の出力から蓄積される。４８ｋＨｚのサンプリング・レートでは、トレーニング・サンプルは、１２ないし２４ｋＨｚの範囲のオーディオ周波数を表す。トレーニング・セットにおけるテスト・ベクトルについては、約３ｄＢの平均ＳＮＲが期待される。３ｄＢは小さなＳＮＲであるが、これらの高い周波数において高周波数忠実度またはアンビアンスを得るには十分である。これは、高周波数サブバンドを単に欠落させる既知の技法よりは、知覚的にはるかに優れている。
ジョイント周波数コーディング
ビット・レートが非常に低いアプリケーションでは、全体的な再生の忠実度は、２個以上のオーディオ・チャネルからの高周波数サブバンド信号を独立してコード化する代わりに、それらの和のみをコード化することにより、改善することができる。結合（ジョイント）周波数コーディングが可能なのは、高周波数サブバンドは同様のエネルギ分布を有することが多く、人間の聴覚系が主に感知するのは、高周波数成分の微細な構造ではなく、それらの「強度（インテンシティ）」であるからである。したがって、再構築された平均信号は、いずれのビット・レートにおいても、知覚的に重要な低周波数をコード化するためにより多くのビットが使用可能なので、全体的に良好な忠実度を与える。
ジョイント周波数コーディング・インデックス（ＪＯＩＮＸ：joint frequency coding indexes）は、直接デコーダに伝達され、どのチャネルおよびサブバンドが結合されたか、およびデータ・ストリームのどこにエンコードされた信号が位置するのかを示す。デコーダは、指定されたチャネル内の信号を再生（再構築）し、次いでこれを他のチャネルの各々にコピーする。次に、各チャネルは、その特定ＲＭＳスケール・ファクタにしたがってスケール化される。ジョイント周波数コーディングは、それらのエネルギ分布の類似性に基づいて時間信号を平均化するので、再構築の忠実度は低下する。したがって、その用途は、典型的には、低ビット・レートの用途および主に１０〜２０ｋＨｚの信号に限定される。中間および高ビット・レートの用途では、ジョイント周波数コーディングは、典型的には、ディスエーブルされる。
サブバンド・エンコーダ
ＡＤＰＣＭ／ＡＰＣＭプロセスを用いてエンコードする単一側波帯のためのエンコーディング・プロセス、特に図５に示す分析段７０およびＡＤＰＣＭコーダ７２ならびに図２に示すグローバル・ビット管理システム３０の相互作用について、図１０に詳細に示す。図１１ないし図１９は、図１３に示すコンポーネントのプロセスを詳細に示す。フィルタバンク３４は、ＰＣＭオーディオ信号１４を、３２のサブバンド信号ｘ（ｎ）に分割し、これらを各サブバンド・サンプル・バッファ９６に書き込む。４０９６サンプルのオーディオ・ウインドウ・サイズを想定すると、各サブバンド・サンプル・バッファ９６は、１２８サンプルの完全なフレームを格納し、これを４つの３２サンプル・サブフレームに分割する。ウインドウ・サイズが１０２４サンプルの場合、単一の３２サンプル・サブフレームが生成される。サンプルｘ（ｎ）は分析段７０に向けられ、予測係数、予測器モード（ＰＭＯＤＥ）、過渡モード（ＴＭＯＤＥ）、およびスケール・ファクタ（ＳＦ）をサブ各フレームについて決定する。また、サンプルｘ（ｎ）はＧＭＢシステム３０にも供給され、これは、オーディオ・チャネル当たりのサブバンド当たりの各サブフレーム毎に、ビット割り当て（ＡＢＩＴ）を決定する。その後、サンプルｘ（ｎ）は、一度に１サブフレームずつ、ＡＤＰＣＭコーダ７２に渡される。
最適予測係数の推定（概算）
四次であることが適している、Ｈの予測係数は、サブバンド・サンプルｘ（ｎ）の１ブロックにわたって最適化された標準的な自己相関法９８、即ち、ワイナー−ホッフ（Weiner-Hoph）またはユール−ウオーカ（Yule-Walker）の式を用いて、各サブフレーム毎に別個に発生する。
最適な予測係数の量子化
４つの予測器係数の各セットは、好ましくは、上述の４要素、３探索、１２ビット・ベクトル・コードブック（係数当たり３ビット）を用いて、量子化する。１２ビット・ベクトル・コードブックは、標準的クラスタリング・アルゴリズムを用いて所望の確率分布に最適化された４０９６の係数ベクトルを含む。ベクトル量子化（ＶＱ）サーチ１００は、それ自体と最適な係数の間で、最も低い重みづけされた二乗平均平方根誤差を呈する係数ベクトルを選択する。次に、各サブフレームに対する最適な係数を、それらの「量子化」ベクトルで置き換える。インバースＶＱ  ＬＵＴ１０１を用いて、量子化予測器係数をＡＤＰＣＭコーダ７２に供給する。
予測差信号ｄ（ｎ）の推定（概算）
ＡＤＰＣＭに伴う重要な難問は、差サンプル・シーケンスｄ（ｎ）が、実際の回帰的プロセス７２に先立って、容易に予測できないことである。順方向適応サブバンドＡＤＰＣＭの基本的要件の１つとして、量子化器に対する適切なビット割り当てを計算して量子化器が再構築されたサンプルにおける既知の量子化エラーまたはノイズ・レベルを生成するように、差信号エネルギがＡＤＰＣＭコーディングの前にわかっている、ということがあげられる。差信号エネルギの知識は、エンコーディングの前に最適な差スケール・ファクタを決定することを可能にするためにも必要である。
しかしながら、差信号エネルギは、入力信号の特性に依存するだけでなく、予測器の性能にも依存する。予測器の次数や予測器係数の最適性のようにわかっている制限は別として、予測器の性能は、再生されたサンプル内に誘発される量子化エラー又はノイズのレベルによる影響も受ける。量子化ノイズは、最終ビット割り当てＡＢＩＴおよび差スケール・ファクタＲＭＳ（またはＰＥＡＫ）の値自体によって規定されるので、差信号エネルギ推定値は、反復的１０２に到達しなければならない。
ステップ１．ゼロ量子化エラーと想定
最初の差信号概算（推定）は、バッファされたサブバンド・サンプルｘ（ｎ）を、ＡＤＰＣＭプロセスを通過させることによって行われる。このＡＤＰＣＭプロセスは、差信号を量子化しない。これは、ＡＤＰＣＭエンコーディング・ループにおいて、量子化およびＲＭＳスケーリング（スケール化）をディスエーブルすることによって行われる。このように差信号ｄ（ｎ）を推定することによって、スケール・ファクタおよびビット割り当ての値の影響は、計算から除去される。しかしながら、予測器係数に対する量子化エラーの影響は、プロセスが、ベクトル量子化予測係数を用いることによって、考慮に入れられる。インバースＶＱ  ＬＵＴ１０４を用いて、量子化された予測係数を得る。更に推定値予測器の精度を高めるために、直前のブロックの終了時に蓄積された実際のＡＤＰＣＭ予測器からの履歴サンプル（history sample）を、計算の前に、予測器にコピーする。これによって、現実のＡＤＰＣＭ予測器が前の入力バッファの終端において動作を停止した時点から、予測器が動作を開始することを保証する。
この推定値ｅｄ（ｎ）と実際のプロセスｄ（ｎ）との間の主な不一致は、再生されたサンプルｘ（ｎ）および低下した予測精度に対する量子化ノイズの影響が無視されることである。多数のレベルを備えた量子化器では、ノイズ・レベルは通常小さく（適正なスケーリングを想定する）、したがって、実際の差信号エネルギは、推定において計算されるものとほぼ一致する。しかしながら、典型的な低ビット・レート・オーディオ・コーダの場合のように、量子化レベルの数が少ない場合、実際の予測信号、したがって差信号エネルギは、推定されたものとは大きく異なる可能性がある。これは、適応（アダプティブ）ビット割り当てプロセスにおける初期に予測されたものとは異なる、コーディング・ノイズ・フロアを生成する。
これにも拘わらず、予測性能の分散は、用途またはビット・レートには重要でない場合もある。したがって、繰り返すことなく、推定値を用いて直接にビット割り当ておよびスケール・ファクタを計算することができる。追加の純化（refinement）を行うとすれば、レベル数の少ない量子化器がそのサブバンドに割り当てられる可能性が高い場合に、差信号エネルギを故意に過大評価することにより性能の損失を補償することである。過大評価（over-estimation）も、精度向上のために量子化器レベルの変化する数にしたがって、格付けすることができる。
ステップ２．推定されたビット割り当ておよびスケール・ファクタを用いての再計算
一旦最初の推定差信号を用いてビット割り当て（ＡＢＩＴ）およびスケール・ファクタ（ＳＦ）を生成したなら、ＡＤＰＣＭループ７２における推定されたＡＢＩＴおよびＲＭＳ（またはＰＥＡＫ）値を用いて、更に別のＡＤＰＣＭ推定プロセスを実行することによって、それらの最適性を検査することができる。最初の推定値の場合と同様、計算の開始に先立って、推定値予測器履歴を、実際のＡＤＰＣＭ予測器からコピーし、双方の予測器が同一点から起動することを保証する。一旦バッファされている入力サンプルが全てこの第２推定ループを通過したなら、各サブバンドにおいて得られたノイズ・フロア（ノイズ下限）を、適応ビット割り当てプロセスにおいて想定したノイズ下限と比較する。ビット割り当ておよび／またはスケール・ファクタを修正することによって、あらゆる重大な不一致を補償することができる。
ステップ２は、サブバンドにわたって分布するノイズ下限を適切に純化（リファイン）するために繰り返すことができ、その都度最新の差信号推定値を用いて、ビット割り当ておよびスケール・ファクタの次のセットを計算する。通常、スケール・ファクタが約２〜３ｄＢより多く変化する場合、これらを再計算する。そうしないと、ビット割り当ては、心理音響学的マスキング・プロセス、または代わりのｍｍｓｅプロセスによって生成される信号対マスク比と相反する危険性がある。典型的に、１回の繰り返しで十分である。
サブバンド予測モード（ＰＭＯＤＥ）の計算
コーディングの効率向上を図るために、コントローラ１０６は、現サブフレームにおける予測ゲインがスレッショルド未満に低下したとき、ＰＭＯＤＥフラグをセットすることによって、予測プロセスを任意に切り替えることができる。ＰＭＯＤＥフラグは、入力サンプルのブロックについて推定段の間に測定された予測ゲイン（入力信号エネルギと推定差信号エネルギの比率）が、ある正のスレッショルドを超える場合１にセットする。逆に、予測ゲインが正のスレシホルド未満であると測定された場合、そのサブバンドについては、エンコーダおよびデコーダ双方においてＡＤＰＣＭ予測器係数をゼロにセットし、各ＰＭＯＤＥをゼロにセットする。予測ゲイン・スレッショルドのセットは、それが、伝達される予測器係数ベクトル・オーバーヘッドの歪み率と等しくなるように行う。これは、ＰＭＯＤＥ＝１のとき、ＡＤＰＣＭプロセスに対するコーディング・ゲインが、常に、順方向適応ＰＣＭ（ＡＰＣＭ）コーディング・プロセスのそれ以上であることを補償する試行の中で行われる。さもなければ、ＰＭＯＤＥをゼロにセットし、予測器係数をリセットすることによって、ＡＤＰＣＭプロセスは単にＡＰＣＭに逆戻りする。
ＰＭＯＤＥは、ＡＤＰＣＭコーディング・ゲインの変化が当該用途には重要でない場合、いずれのサブバンドまたは全てのサブバンドにおいてもハイにセットすることができる。逆に、例えば、あるサブバンドが全くコード化されようとしない場合、用途のビット・レートが十分に高くて目的のオーディオ品質を維持するために予測ゲインが必要でない場合、信号の過渡内容が高い場合、または、音声編集用途の場合にあり得るように、ＡＤＰＣＭエンコードされたオーディオのスプライシング特性（splicing characteristic）が単に望ましくない場合には、ＰＭＯＤＥＳをローにセットすることができる。
エンコーダおよびデコーダのＡＤＰＣＭプロセスにおける線型予測器の更新レートに等しいレートで、別個の予測モード（ＰＭＯＤＥ）を各サブバンドに対して伝達する。ＰＭＯＤＥパラメータの目的は、デコーダに、特定のサブバンドがそれのコード化オーディオ・データ・ブロックに関連するいずれかの予測係数ベクトル・アドレスを有するかを示すことである。いずれかのサブバンドにおいてＰＭＯＤＥ＝１の場合、予測器係数ベクトル・アドレスは、データ・ストリームの中に常に含まれる。いずれかのサブバンドにおいてＰＭＯＤＥ＝０の場合、予測器係数ベクトル・アドレスは、データ・ストリームの中には決して含まれず、予測器係数はエンコーダおよびデコーダ双方のＡＤＰＣＭ段においてゼロにセットされる。
ＰＭＯＤＥの計算は、第１段の推定において得られた、対応するバッファされた推定差信号エネルギに関して、即ち、量子化エラーがないと仮定して、バッファされたサブバンド入力信号エネルギを分析することによって開始する。入力サンプルｘ（ｎ）および推定差信号ｅｄ（ｎ）の双方は、各サブバンドに対して、別々にバッファされる。バッファ・サイズは、各予測器更新期間に含まれるサンプル数、例えば、サブフレームのサイズに等しい。予測ゲインは、次のように計算する。
Ｐgain（ｄＢ）＝２０．０＊Ｌｏｇ10（ＲＭＳx（n）／ＲＭＳed（n））
ここで、ＲＭＳx（n）＝バッファされた入力サンプルｘ（ｎ）の平方自乗平均、およびＲＭＳed（n）＝バッファされた推定差サンプルｅｄ（ｎ）の平方自乗平均である。
正の予測ゲインでは、差信号は、平均的に、入力信号よりも小さく、したがって、同一ビット・レートに対してＡＰＣＭよりも、ＡＤＰＣＭプロセスを用いることによって、再構築ノイズ下限の低下が達成可能である。負のゲインでは、ＡＤＰＣＭコーダは、平均的に、入力信号よりも大きい差信号を生成し、その結果、ノイズ下限は、同一のビット・レートに対するＡＰＣＭよりも高くなる。通常、ＰＭＯＤＥをオンに切り替える予測ゲイン・スレッショルドは、正であり、予測器係数ベクトル・アドレスを伝達することによって消費される余分なチャネル容量を考慮した値を有する。
サブバンド過渡モード（ＴＭＯＤＥ）の計算
コントローラ１０６は、各サブバンド内の各サブフレーム毎に、過渡モード（ＴＭＯＤＥ）を計算する。ＴＭＯＤＥは、ＰＭＯＤＥ＝１の場合に予測された差信号ｅｄ（ｎ）のバッファ内の、また、ＰＭＯＤＥ＝０の場合に入力サブバンド信号ｘ（ｎ）のバッファ内の、それらが有効な、スケール・ファクタおよびサンプルの数を示す。ＴＭＯＤＥは、予測係数ベクトル・アドレスと同一レートで更新され、デコーダに伝達される。過渡モードの目的は、信号過渡が存在する際に、可聴コーディング「プレエコー（pre-echo）」アーチファクトを減らすことである。
過渡とは、低振幅信号と高振幅信号の間の素早い遷移として定義する。スケール・ファクタはサブバンド差サンプルのブロック全体で平均が取られるので、信号振幅の素早い変化がブロック内で発生した場合、即ち、過渡が発生した場合、計算されるスケール・ファクタは、この過渡の直前の低振幅サンプルには最適であるものよりも、大幅に大きくなる傾向がある。したがって、過渡に先立つサンプルにおける量子化エラーは、非常に高い可能性がある。このノイズは、プレエコー歪みとして知覚される。
実際には、過渡モードを用いて、サブバンドのスケール・ファクタ平均化ブロック長を修正し、過渡の直前の差分サンプル（differential sample）のスケーリングに対する過渡の影響を制限する。これを行う動機は、人間の聴覚系に固有のプレマスキング現象（pre-masking phenomena）があり、これは、過渡が存在する場合に、その期間を短く保持すれば、ノイズは過渡に先立ってマスクすることができることを現象が示唆するからである。
ＰＭＯＤＥの値にしたがって、サブバンド・サンプル・バッファｘ（ｎ）の内容、即ち、サブフレーム、または推定差バッファｅｄ（ｎ）の内容のいずれかを、過渡分析バッファにコピーする。ここで、バッファの内容は、分析バッファのサンプル・サイズに応じて、２、３または４のサブ−サブフレームに均一に分割される。例えば、分析バッファが３２のサブバンド・サンプルを含む場合（１５００Ｈｚで２１．３ｍｓ）、バッファは、各々８サンプルの４つのサブ−サブフレームに分けられ、１５００Ｈｚのサブバンド・サンプリング・レートに対して５．３ｍｓの時間分解能を与える。あるいは、分析ウインドウを１６のサブバンド・サンプルで構成した場合、同一の時間分解能を与えるには、バッファを２つのサブ−サブフレームに分割するだけでよい。
各サブ−サブフレーム内の信号を分析し、最初のもの以外の各々の過渡ステータスを判定する。いずれかのサブ−サブフレームが過渡を宣告された場合、２つの別個のスケール・ファクタを分析バッファ、即ち、現サブフレームに対して発生する。第１のスケール・ファクタは、当該過渡サブ−サブフレーム以前のサブ−サブフレームにおけるサンプルから計算する。第２のスケール・ファクタは、以前のサブ−サブフレーム全てと共に過渡サブ−サブフレーム内のサンプルから計算する。
第１のサブ−サブフレームの過渡ステータスは、量子化ノイズが分析ウインドウ自体の開始によって自動的に制限されるので、計算されない。１つより多くのサブ−サブフレームが過渡を宣告された場合、最初に発生したものについて考慮する。過渡サブバッファが全く検出されない場合、分析バッファ内のサンプル全てを用いて、単一のスケール・ファクタのみを計算する。このように、過渡サンプルを含むスケール・ファクタ値は、時間的に１サブ−サブフレーム期間よりも前のサンプルをスケーリングするためには用いられない。したがって、過渡以前の量子化ノイズは、サブ−サブフレーム期間に制限される。
過渡の宣告
サブ−サブフレームのエネルギの直前のサブバッファに対する比率が過渡スレッショルド（ＴＴ）を超過し、直前のサブ−サブフレーム内のエネルギが過渡前スレッショルド（ＰＴＴ：pre-transient threshold）未満である場合、サブ−サブフレームには過渡が宣告される。ＴＴおよびＰＴＴの値は、ビット・レートおよび必要なプレエコー抑制の度合いによって異なる。これには、通常、他のコーディング・アーチファクトが存在する場合、知覚されるプレエコー歪みがそのレベルと一致するまで、変化させる。ＴＴ値の増加および／またはＰＴＴ値の減少によって、サブ−サブフレームが過渡を宣告される可能性は低下し、したがって、スケール・ファクタの伝達に関連するビット・レートが低下する。逆に、ＴＴ値の減少および／またはＰＴＴ値の増加によって、サブ−サブフレームが過渡を宣告される可能性が高くなり、したがって、スケール・ファクタの伝達に関連するビット・レートが上昇する。
ＴＴおよびＰＴＴは各サブバンド毎に個別にセットされるので、エンコーダにおける過渡検出の感度は、いずれのサブバンドについても任意にセットすることができる。例えば、高周波数サブバンド内のプレエコーが、低い方の周波数サブバンド内よりも知覚されにくい場合、スレッショルドは、高い方のサブバンドにおいて過渡が宣告される可能性を低下させるようにセットすることができる。更に、ＴＭＯＤＥは圧縮化データ・ストリーム内に埋め込まれるので、デコーダは、適正にＴＭＯＤＥ情報をデコードするためにエンコーダにおいて使用される過渡検出アルゴリズムを知る必要が全くない。
４サブバッファ構成
図１１ａに示すように、サブバンド分析バッファ１０９における第１のサブ−サブフレーム１０８が過渡である場合、または過渡サブ−サブフレームが検出されない場合、ＴＭＯＤＥ＝０である。第２のサブ−サブフレームが過渡であるが、第１のものがそうではない場合、ＴＭＯＤＥ＝１である。第３のサブ−サブフレームが過渡であるが、第１も第２もそうでない場合、ＴＭＯＤ＝２である。第４のサブ−サブフレームのみが過渡の場合、ＴＭＯＤＥ＝３である。
スケール・ファクタの計算
図１１ｂに示すように、ＴＭＯＤＥ＝０の場合、全てのサブ−サブフレームにわたってスケール・ファクタ１１０を計算する。ＴＭＯＤＥ＝１の場合、第１のサブ−サブフレームにわたって第１のスケール・ファクタを計算し、以前のサブ−サブフレーム全てにわたって第２のスケール・ファクタを計算する。ＴＭＯＤＥ＝２の場合、第１および第２のサブ−サブフレームにわたって第１のスケール・ファクタを計算し、以前のサブ−サブフレーム全てにわたって第２のスケール・ファクタを計算する。ＴＭＯＤＥ＝３の場合、第１、第２および第３のサブ−サブフレームにわたって、第１のスケール・ファクタを計算し、第４のサブ−サブフレームにわたって第２のスケール・ファクタを計算する。
ＴＭＯＤＥを用いたＡＤＰＣＭエンコーディングおよびデコーディング
ＴＭＯＤＥ＝０の場合、単一のスケール・ファクタが用られて、分析バッファ全体の期間、即ち、１サブフレームに対して、サブバンド差サンプルがスケーリングされ、かつ、該ファクタがデコーダに伝達されて、逆（インバース）スケーリングを容易にする。ＴＭＯＤＥ＞０の場合、２つのスケール・ファクタを、サブバンド差サンプルをスケーリングするために用い、かつ、該ファクタを双方共デコーダに伝達する。いずれのＴＭＯＤＥでも、各スケール・ファクタを用いて、最初の位置でそれ自体を発生するために用いた差分サンプルのスケーリングを行う。
サブバンド・スケール・ファクタの計算（ＲＭＳまたはＰＥＡＫ）
当該サブバンドに対するＰＭＯＤＥの値に応じて、推定差サンプルｅｄ（ｎ）または入力サブバンド・サンプルｘ（ｎ）のいずれかを用いて、適切なスケール・ファクタ（１つ又は複数）を計算する。この計算にＴＭＯＤＥを用いて、スケール・ファクタの数を判定し、更にバッファ内の対応するサブ−サブフレームを識別する。
ＲＭＳスケール・ファクタの計算
第ｊのサブバンドについて、以下のようにしてｒｍｓ（ＲＭＳ）スケール・ファクタを計算する。
ＴＭＯＤＥ＝０の場合、単一のｒｍｓ値は、
0004174072.tif 000009
であり、ここでＬはサブフレーム内のサンプル数である。
ＴＭＯＤＥ＞０の場合、２つのｒｍｓ値は、
0004174072.tif 000010
であり、ここで、ｋ＝（ＴＭＯＤＥ＊Ｌ／ＮＳＢ）であり、ＮＳＢは、均一なサブ−サブフレームの数である。
ＰＭＯＤＥ＝０の場合、ｅｄj（ｎ）サンプルを、入力サンプルｘj（ｎ）で置換する。
ＰＥＡＫ（ピーク）スケール・ファクタの計算
第ｊのサブバンドについて、以下のようにピーク・スケール・ファクタを計算する。
ＴＭＯＤＥ＝０の場合、単一のピーク値は、
ｎ＝１，Ｌについて、ＰＥＡＫj＝ＭＡＸ（ＡＢＳ（ｅｄj（ｎ）））
ＴＭＯＤＥ＞０の場合、２つのピーク値は、
ｎ＝１，（ＴＭＯＤＥ＊Ｌ／ＮＳＢ）について、
ＰＥＡＫ１j＝ＭＡＸ（ＡＢＳ（ｅｄj（ｎ）））
ｎ＝（１＋ＴＭＯＤＥ＊Ｌ／ＮＳＢ），Ｌについて、
ＰＥＡＫ２j＝ＭＡＸ（ＡＢＳ（ｅｄj（ｎ）））
ＰＭＯＤＥ＝０の場合、ｅｄj（ｎ）サンプルを、入力サンプルｘj（ｎ）で置換する。
ＰＭＯＤＥ、ＴＭＯＤＥ、およびスケール・ファクタの量子化
ＰＭＯＤＥの量子化
予測モード・フラグは、オンまたはオフという２つの値のみを有し、１ビット・コードとして直接デコーダに伝達される。
ＴＭＯＤＥの量子化
過渡モード・フラグは最大４つの値、即ち、０、１、２および３を有し、デコーダに、２−ビット符号なし整数コード・ワードを用いて直接に伝達されるか、あるいは、随意に、ＴＭＯＤＥの平均ワード長を２ビットより少なく減らす試みにおいて４レベル・エントロピ・テーブルを経由して伝達される。典型的に、オプションのエントロピ・コーディングは、ビットを保存するために、低ビット・レートの用途（アプリケーション）のために用いらる。
図１２に詳細に示すエントロピ・コーディング・プロセス１１２は、次のようなものである。ｊ個のサブバンドに対する過渡モード・コードＴＭＯＤＥ（ｊ）を、ある数（ｐ）の４レベル・ミッド−ライザ（mid-riser）可変長コード・ブックにマップする。ここで、各コード・ブックは、異なる入力統計特性に対して最適化されている。ＴＭＯＤＥ値は、４レベル・テーブル１１４にマップされ、各テーブル（ＮＢp）に関連する全ビット使用度を計算する（１１６）。マッピング・プロセスにわたって最も低いビット使用（使用度）を与えるテーブルを、ＴＨＵＦＦインデックスを用いて選択する（１１８）。マップされたコード、ＶＴＭＯＤＥ（ｊ）をこのテーブルから抽出し、パックし、ＴＨＵＦＦインデックス・ワードと共にデコーダに伝達する。デコーダは、同じ４レベル・インバース・テーブルのセットを保持しており、ＴＨＵＦＦインデックスを用いて、入来する可変長コードＶＴＭＯＤＥ（ｊ）を適正なテーブルに差し向け、ＴＭＯＤＥインデックスにデコードし直すようにする。
サブバンド・スケール・ファクタの量子化
スケール・ファクタをデコーダに伝達するためには、これらを既知のコード・フォーマットに量子化しなければならない。このシステムでは、均一（ユニフォーム）の６４レベル対数（ログ）特性、均一の１２８レベル対数特性、または可変レート・エンコードした均一の６４レベル対数特性１２０のいずれかを用いて、これらを量子化する。６４レベル量子化器は、双方の場合に２．２５ｄＢステップ−サイズを呈し、１２８レベル量子化器は、１．２５ｄＢステップ−サイズを呈する。低ないし中間ビット・レートには６４レベル量子化を使用し、低ビット・レートの用途には追加の可変レート・コーディングを使用し、高ビット・レートには通常１２８レベルを使用する。
図１３に量子化プロセス１２０を示す。スケール・ファクタＲＭＳまたはＰＥＡＫをバッファ１２１から読み出し、対数領域（ログ・ドメイン）１２２に変換し、次いでエンコーダ・モード制御１２８の判定にしたがって、６４レベルまたは１２８レベルのユニフォーム量子化器１２４，１２６のいずれかに与える。次に、対数量子化されたスケール・ファクタをバッファ１３０に書き込む。１２８レベルおよび６４レベルの量子化器の範囲は、それぞれ、約１６０ｄＢおよび１４４ｄＢのダイナミック・レンジでスケール・ファクタをカバーするのに十分である。１２８レベルの上限は、２４ビット入力ＰＣＭデジタル・オーディオ信号のダイナミック・レンジをカバーするようにセットする。６４レベルの上限は、２０ビット入力ＰＣＭデジタル・オーディオ信号のダイナミック・レンジをカバーするようにセットする。
対数スケール・ファクタを量子化器にマップし、スケール・ファクタを、最も近い量子化器レベル・コードＲＭＳQL（またはＰＥＡＫQL）と置換する。６４レベル量子化器の場合、これらのコードは６−ビット長であり、０〜６３の範囲となる。１２８レベル量子化器の場合、コードは７ビット長であり、０〜１２７の範囲となる。
インバース（逆）量子化１３１は、単にレベル・コードを、それぞれのインバース量子化特性に戻してマップし、ＲＭＳq（またはＰＥＡＫq）値を与えることによって得られる。ＡＤＰＣＭ（または、ＰＭＯＤＥ＝０の場合、ＡＰＣＭ）差分サンプル・スケーリングのために、量子化されたスケール・ファクタをエンコーダおよびデコーダ双方において用い、こうして、スケーリング・プロセスおよびインバース・スケーリング・プロセス双方が同一であることを保証する。
６４レベル量子化器コードのビット・レートを低下させる必要がある場合、追加のエントロピまたは可変長コーディングを行う。第２のサブバンド（ｊ＝２）から開始し、最も高いアクティブなサブバンドまで、ｊ個のサブバンドにわたって、６４レベル・コードを一次差分エンコードする（first order differentially encoded）（１３２）。このプロセスは、ＰＥＡＫスケール・ファクタをコード化するために用いることも可能である。符号付き差分コードＤＲＭＳQL（ｊ）（またはＤＰＥＡＫQL（ｊ））は、＋／−６３の最大範囲を有し、バッファ１３４に格納される。これらのビット・レートを元の６ビット・コードに対して低下させるためには、ある数（ｐ）の１２７レベル・ミッド−ライザ可変長コード・ブックに、差分コードをマップする。各コード・ブックは、異なる入力統計特性に対して最適化されている。
符号付き差分コードをエントロピ・コード化するプロセスは、ｐの１２７レベル可変長コード・テーブルを用いること以外は、図１２に示す過渡モード用エントロピ・コーディング・プロセスと同一である。ＳＨＵＦＦインデックスを用いて、マッピング・プロセスにおいて最も低いビット使用度を与えるテーブルを選択する。このテーブルから、マップされたコードＶＤＲＭＳQL（ｊ）を抽出し、パックし、ＳＨＵＦＦインデックス・ワードと共にデコーダに伝達する。デコーダは、同一の（ｐ）１２７レベル・インバース・テーブルのセットを保持しており、このＳＨＵＦＦインデックスを用いて、入来する可変長コードを適正なテーブルに差し向け、デコードして差分量子化器コード・レベルに戻す。以下のルーチンを用いて、差分コード・レベルを絶対値に戻す。
ｊ＝２，．．．Ｋについて、
ＲＭＳQL（１）＝ＤＲＭＳQL（１）
ＲＭＳQL（ｊ）＝ＤＲＭＳQL（ｊ）＋ＲＭＳQL（ｊ−１）
更に、以下のルーチンを用いて、ＰＥＡＫ差分コード・レベルを絶対値に戻す。
ｊ＝２，．．．Ｋについて、
ＰＥＡＫQL（１）＝ＤＰＥＡＫQL（１）
ＰＥＡＫQL（ｊ）＝ＤＰＥＡＫQL（ｊ）＋ＰＥＡＫQL（ｊ−１）
双方の場合において、Ｋ＝アクティブなサブバンドの数である。
グローバル・ビット割り当て
図１０に示すグローバル・ビット管理システム３０は、ビット割り当て（ＡＢＩＴ）を管理し、低下されたビット・レートで主観的に透過的なエンコーディングを与えるために、マルチ・チャネル・オーディオ・エンコーダに対して、アクティブなサブバンド（ＳＵＢＳ）の数ならびにジョイント周波数戦略（ＪＯＩＮＸ：joint frequency strategy）およびＶＱ戦略を決定する。これによって、オーディオ忠実度を維持または改善しつつ、固定媒体上にエンコードし格納可能なオーディオ・チャネル数および／または再生時間（playback time）の増加が得られる。通常、ＧＢＭシステム３０は、最初に、エンコーダの予測ゲインによって修正された心理音響学的分析にしたがって、各サブバンドにビットを割り当てる。次に、ｍｍｓｅ方式にしたがって、残りのビットを割り当て、全体的なノイズ下限を低下させる。エンコーディング効率を最適化するために、ＧＢＭシステムは、全てのオーディオ・チャネル、全てのサブバンド、およびフレーム全体にわたって同時にビットを割り当てる。さらに、ジョイント周波数コーディング戦略を採用することができる。このように、本システムは、オーディオ・チャネル間、周波数にわたって、および時間にわたっての信号エネルギの非均一な分布を利用する。
心理音響学的分析
心理音響学的測定を用いて、オーディオ信号における知覚的に無関係な情報を判定する。知覚的に無関係な情報とは、人間の聴取者には聞くことができず、時間領域、周波数領域、またはその他の基準では測定可能なオーディオ信号の部分と定義する。ジェー．ディー．ジョンストン（J.D.Johnston）の「知覚ノイズ基準を用いたオーディオ信号の変換コーディング（Transform Coding of Audio Signals Using Perceptual Noise Criteria）」（IEEE journal on Selected Areas in Communications,vol JSAC-6,no.2,pp.314-323,１９９８年２月）は、心理音響学的コーディングの一般的な原理について記載している。
２つの主なファクタが心理音響学的測定に影響を与える。１つは、人間に適用可能な聴覚の周波数依存絶対スレッショルドである。もう１つは、あるサウンドが、このサウンドと同時にまたは後に再生される第２のサウンドを聴取する人間の能力に及ぼすマスキング効果である。言い換えると、第１のサウンドが、第２のサウンドの聴取を妨げるのであり、これを隠蔽（mask out）と言う。
サブバンド・コーダでは、心理音響学的計算の最終成果は、当該時点において各サブバンド毎に、ノイズの非可聴レベルを指定する１組の数値である。この計算は公知であり、ＭＰＥＧ１圧縮規格ＩＳＯ／ＩＥＣ  ＤＩＳ  １１１７２「情報技術−約１．５Ｍビット／ｓまでのデジタル記憶媒体のための動画および付随する音声のコーディング（Information technology-Coding of moving pictures and associated audio for digital storage media up to about 1.5 Mbits/s）」（１９９２年）に組み込まれている。これらの数値は、オーディオ信号と共に動的に変化する。コーダは、ビット割り当てプロセスによって、サブバンド内における量子化ノイズの下限を調節し、これらのサブバンドにおける量子化ノイズが可聴レベル未満となるようにする。
精度の高い心理音響学的計算は、通常、時間−周波数変換（time-to-frequency transform）において高い周波数分解能を必要とする。これは、時間−周波数変換に、大きな分析ウインドウを用いることを暗示している。標準的な分析ウインドウ・サイズは、１０２４サンプルであり、これは圧縮されたオーディオ・データのサブフレーム１つに対応する。長さ１０２４ｆｆｔの周波数分解能は、人間の耳の時間的分解能にほぼ一致する。
心理音響学的モデルの出力は、３２のサブバンドの各々についての信号対マスク（ＳＭＲ：signal-to-mask）比である。ＳＭＲは、特定のサブバンドが耐えることができる量子化ノイズの量を示し、したがって、当該サブバンドにおいてサンプルを量子化するために必要なビット数を示すものでもある。具体的には、大きなＳＭＲ（＞＞１）は、多数のビットが必要であることを示し、小さなＳＭＲ（＞０）は、必要なビットが少なくてよいことを示す。ＳＭＲ＜０の場合、オーディオ信号はノイズ・マスク・スレッショルドより下にあり、量子化のために必要なビットはない。
図１４に示すように、通常、１）ＰＣＭオーディオ・サンプル上で、好ましくは長さが１０２４のｆｆｔを計算し、一連の周波数係数１４２を生成し、２）各サブバンド毎に、周波数依存トーンおよびノイズ心理音響学的マスク１４４を用いてこれら周波数係数の畳み込み（convolve）を行い、３）各サブバンド毎に、得られた係数の平均を取ってＳＭＲレベルを生成し、４）随意に、図１５に示す人間の聴覚応答１４６に応じてＳＭＲの正規化を行うことによって、連続する各フレーム毎にＳＭＲを生成する。
人間の耳の感度は、４ｋＨｚ付近の周波数で最大となり、周波数が高くなるに連れてまたは低くなるに連れて低下する。したがって、同一レベルで知覚されるためには、２０ｋＨｚ信号は４ｋＨｚ信号よりもかなり強くなければならない。したがって、通常、４ｋＨｚ付近の周波数におけるＳＭＲは、外側の周波数よりも比較的重要性が高い。しかしながら、曲線の正確な形状は、聴取者に配給される信号の平均パワーによって異なる。音量（ボリューム）が増大するに連れて、聴覚応答１４６は圧縮される。したがって、特定の音量に対して最適化されたシステムは、他の音量では最適とはならない。その結果、ＳＭＲレベルを正規化するために公称パワー・レベル（nominal power level）を選択するかあるいは正規化をディスエーブルする。３２サブバンドについて得られたＳＭＲ１４８を図１６に示す。
ビット割り当てルーチン
ＧＢＭシステム３０は、最初に、適切なエンコーディング戦略を選択し、どのサブバンドをＶＱおよびＡＤＰＣＭアルゴリズムによってエンコードし、ＪＦＣをイネーブルするか否かについて選択を行う。その後、ＧＢＭシステムは、心理音響学的手法またはＭＭＳＥビット割り当て手法のいずれかを選択する。例えば、高ビット・レートでは、システムは心理音響学的モデリングをディスエーブルし、真のｍｍｓｅ割り当て方式を用い得る。これによって、再生されるオーディオ信号に知覚的な変化を全く生ずることなく、計算の複雑さが減少する。逆に、低レートでは、システムは先に論じたジョイント周波数コーディング方式を活性化し、低い方の周波数における再生忠実度を改善する。ＧＢＭシステムは、フレーム毎の信号の過渡内容に基づいて、通常の心理音響学的割り当てとｍｍｓｅ割り当てとの間で切り替えを行うことができる。過渡内容が高い場合、ＳＭＲを計算する際に用いる定在性（stationarity）の仮定はもはや正しくないので、したがってｍｍｓｅ方式の方がよりよい性能を発揮する。
心理音響学的割り当てでは、ＧＢＭシステムは、最初に、心理音響学的効果を満足するように、使用可能なビットを割り当て、次いで、全体的なノイズ下限を低下させるように残りのビットを割り当てる。第１のステップは、上述のように、現フレームに対して、サブバンド毎にＳＭＲを決定することである。次のステップは、各サブバンドにおいて予測ゲイン（Ｐｇａｉｎ）のためにＳＭＲを調節し、マスク対ノイズ分配量（ＭＮＲ）を発生することである。その原理は、ＡＤＰＣＭエンコーダは、必要とされるＳＭＲの一部を与えるということである。その結果、可聴不可能な心理音響学的ノイズ・レベルは、より少ないビットで得ることができる。
第ｊのサブバンドに対するＭＮＲは、ＰＭＯＤＥ＝１と仮定すると、次の式で与えられる。
ＭＮＲ（ｊ）＝ＳＭＲ（ｊ）−Ｐｇａｉｎ（ｊ）＊ＰＥＦ（ＡＢＩＴ）
ここで、ＰＥＦ（ＡＢＩＴ）は量子化器の予測効率ファクタである。ＭＮＲ（ｊ）を計算するためには、設計者はビット割り当て（ＡＢＩＴ）の推定値を有さなければならない。これは、ＳＭＲ（ｊ）に基づいてのみビットを割り当てるか、あるいはＰＥＦ（ＡＢＩＴ）＝１と仮定することのいずれかによって発生することができる。中間ないし高ビット・レートでは、有効予測ゲインは計算予測ゲインにほぼ等しい。しかしながら、低ビット・レートでは、有効予測ゲインは減少する。例えば、５レベル量子化器を用いて得られる有効予測ゲインは、推定予測ゲインの約０．７であり、一方、６５レベル量子化器は、推定予測ゲインにほぼ等しい有効予測ゲインを可能にする（ＰＦＥ＝１．０）。極限において、ビット・レートがゼロのときは、予測エンコーディングは本質的にディスエーブルされ、有効予測ゲインはゼロとなる。
次のステップでは、ＧＢＭシステム３０は、各サブバンドに対するＭＮＲを満足するビット割り当て方式を発生する。これを行う際に、１ビットが６ｄＢの信号歪みに等しいとする近似を用いる。エンコーディング歪みが心理音響学的に可聴なスレッショルド未満であることを保証するために、割り当てされるビット・レートは、６ｄＢで除算したＭＮＲの最大の整数とする。これは、次の式で与えられる。
ＡＢＩＴ（ｊ）＝［ＭＮＲ（ｊ）／６ｄＢ］
このようにビットを割り当てることによって、再生された信号におけるノイズ・レベル１５６は、図１７に示す信号自体１５７に追従する方向に向かう。したがって、信号が非常に強い周波数においては、ノイズ・レベルは比較的高いが、非可聴状態のままである。信号が比較的弱い周波数では、ノイズ下限は非常に低く非可聴である。このタイプの心理音響学的モデリングに伴う平均誤差は、常にｍｍｓｅノイズ・レベル１５８よりも大きいが、特に低ビット・レートにおいて、可聴性能（audible performance）に優れている場合がある。
全オーディオ・チャネルにわたるサブバンド毎に割り当てたビットの合計が、目標とするビット・レートよりも大きいまたは小さい場合、ＧＭＢルーチンは、個々のサブバンドに対して、ビット割り当ての減少または増加を繰り返し行う。あるいは、各オーディオ・チャネル毎に目標とするビット・レートを計算することができる。これは最適ではないが、特にハードウエアによる実施態様では簡素化が図れる。例えば、使用可能なビットは、オーディオ・チャネル間で均一に分配することができ、あるいは各チャネルの平均ＳＭＲまたはＲＭＳに比例して分配することができる。
目標とするビット・レートが、ＶＱコード・ビットおよびサイド情報を含む、局部的なビット割り当ての合計によって越えられる場合、グローバル・ビット管理ルーチンは、その局部的サブバンドのビット割り当てを漸進的に減らしていく。平均ビット・レートを低下させるには、多数の具体的な技法が使用可能である。まず、最も大きい整数関数によって切り上げて丸めたビット・レートを、切り下げて丸めることができる。次に、最も小さいＭＮＲを有するサブバンドから、１ビットを除去することができる。更に、高い方の周波数サブバンドをオフにすることができ、または、ジョイント周波数コーディングをイネーブルすることができる。全てのビット・レート低下戦略は、グレースフルにコーディング分解能を徐々に低下させるという一般原理に従い、知覚的に最も攻撃性の低い戦略を最初に導入し、最も攻撃性の高い戦略を最後に用いる。
目標とするビット・レートが、ＶＱコード・ビットおよびサイド情報を含む局所的（ローカル）ビット割り当ての合計よりも大きい場合、グローバル・ビット管理ルーチンは、漸進的にかつ繰り返しこの局所的サブバンド・ビット割り当てを増大し、再生された信号の全体的なノイズ下限を低下させる。これは、以前にゼロ・ビットが割り当てられたサブバンドをコード化する場合がある。このようにサブバンドを「スイッチ・オンする」ことにおけるビット・オーバーヘッドは、ＰＭＯＤＥがイネーブルされる場合、あらゆる予測器係数を伝達する際のコストに反映する必要がある場合もある。
ＧＢＭルーチンは、残りのビットを割り当てる際に、３種類の異なる方式の１つから選択することができる。１つのオプションは、全てのビットを割り当てし直し、その結果得られるノイズ下限をほぼ平坦にする、ｍｍｓｅ手法を用いることである。これは、心理音響学的モデリングを最初にディスエーブルすることと同等である。ｍｍｓｅノイズ下限を得るために、図１８ａに示すサブバンドのＲＭＳ値のプロット（グラフ）１６０を、図１８ｂに示すように、上下を逆さまとし、全てのビットが尽きるまで「ウオーターフィル（waterfilled）」を行う。この公知の技法をウオーターフィリングと呼ぶのは、割り当てビット数を増やすに連れて、歪みレベルが均一に落ちていくからである。図示の例では、第１のビットをサブバンド１に割り当て、第２および第３のビットをサブバンド１および２に割り当て、第４ないし第７のビットをサブバンド１，２，４および７に割り当てるというようにしている。あるいは、１つのビットを各サブバンドに割り当て、各サブバンドがエンコードされることを保証し、次いで残りのビットをウオーターフィルされるようにすることも可能である。
第２の、そして好適なオプションは、上述のｍｍｓｅ手法およびＲＭＳプロットにしたがって、残りのビットを割り当てることである。この方法の効果は、心理音響学的マスキングに関連する形状を維持しつつ、図１７に示すノイズ下限１５７を均一に低下させることである。これによって、心理音響学およびｍｓｅ歪みの間に良好な折衷案が得られる。
第３の手法は、サブバンドに対するＲＭＳ値とＭＮＲ値の間の差のプロットに適用されるｍｍｓｅ手法を用いて、残りのビットを割り当てることである。この手法の効果は、ビット・レートが上昇するに連れて、最適な心理音響学的形状１５７から最適な（平坦な）ｍｍｓｅ形状１５８まで、ノイズ下限の形状を円滑に変形させることである。これらの方式のいずれにおいても、いずれのサブバンドにおいてもコーディング・エラーが、ソースＰＣＭに対して、０．５ＬＳＢ未満に低下したならば、当該サブバンドにそれ以上ビットを割り当てない。サブバンド・ビット割り当ての随意に固定した最大値を用いて、特定のサブバンドに割り当てられるビットの最大数を制限することも可能である。
先に論じたエンコーディング・システムでは、サンプル当たりの平均ビット・レートを固定し、再生されたオーディオ信号の忠実度を最大に高めるようにビット割り当てを発生すると仮定した。代わりに、ｍｓｅまたは知覚的な歪みレベルを固定し、ビット・レートを変化させて歪みレベルを満足することも可能である。ｍｍｓｅの手法では、歪みレベルを満足するまで、単にＲＭＳプロットに対してウオーターフィルを行う。必要なビット・レートは、サブバンドのＲＭＳレベルに基づいて変化する。心理音響学的手法では、個々のＭＮＲを満足するようにビットを割り当てる。その結果、ビット・レートは、個々のＳＭＲおよび予測ゲインに基づいて変化する。このタイプの割り当ては、現在のデコーダが固定レートで動作するので、現在では有用ではない。しかしながら、ＡＴＭまたはランダム・アクセス記憶媒体のような代替配信システムが、近い将来可変レート・コーディングを実用化する可能性がある。
ビット割り当てインデックス（ＡＢＩＴ）の量子化
ビット割り当てインデックス（ＡＢＩＴ）は、各サブバンドおよび各オーディオ・チャネル毎に、グローバル・ビット管理プロセスにおける適応ビット割り当てルーチンによって発生する。エンコーダにおけるインデックスの目的は、図１０に示すレベル数１６２を示すことである。これらのレベルは、デコーダの音声において、目的とする最適な再生ノイズ下限を得るために差信号を量子化するために必要があるものである。デコーダでは、これらはインバース量子化に必要なレベル数を示す。インデックスは、各分析バッファ毎に発生され、それらの値は０ないし２７の範囲を取ることができる。インデックス値、量子化器レベルの数および得られる差分サブバンドの近似ＳＮQＲの関係を表３に示す。差信号を正規化するので、ステップ・サイズ１６４を１に等しくセットする。
0004174072.tif 000011
ビット割り当てインデックス（ＡＢＩＴ）は、４ビット符号なし整数コード・ワード、５ビット符号なし整数コード・ワードを用いて直接に、あるいは１２レベル・エントロピ・テーブルを用いてのいずれかによって、デコーダに伝達する。典型的に、エントロピ・コーディングは、低ビット・レートの用途においてビットを保存するために用いられる。ＡＢＩＴをエンコードする方法は、エンコーダにおけるモード制御によってセットされ、デコーダに伝達される。エントロピー・コーダは、図１２に示すプロセスを用い、１２レベルのＡＢＩＴテーブルにより、ＢＨＵＦＦインデックスによって識別される特定のコード・ブック、およびコードブック内の特定のコードＶＡＢＩＴに、ＡＢＩＴインデックスをマップする（１６６）。
グローバル・ビット・レート制御
サイド情報および差分サブバンド・サンプルの双方は、エントロピ可変長コード・ブックを用いて随意にエンコードすることができるので、圧縮化ビット・ストリームを固定レートで伝送すべきときには、ある機構を用いて、結果的に得られるエンコーダのビット・レートを調節しなければならない。通常、一旦計算したサイド情報を修正することは望ましくないので、ビット・レートの調節は、レートの制約を満たすまで、ＡＤＰＣＭエンコーダ内で差分サブバンド・サンプル量子化プロセスを繰り返し変化させることによって得るようにすることが最良である。
上述のシステムでは、図１０のグローバル・レート制御（ＧＲＣ）システム１７８が、レベル・コード値の統計的分布を変化させることによって、量子化器レベル・コードをエントロピ・テーブルにマップするプロセスから得られる、ビット・レートを調節する。エントロピ・テーブルは、全て、レベル・コード値が高い程、コード長が長くなるという同様の傾向を呈するものと仮定する。この場合、平均ビット・レートは、低い値のコード・レベルの確率が高くなる程低下し、その逆も成り立つ。ＡＤＰＣＭ（またはＡＰＣＭ）量子化プロセスでは、スケール・ファクタのサイズが、レベル・コード値の分布または使用度を決定する。例えば、スケール・ファクタ・サイズが増大するに連れて、差分サンプルをより低いレベルで量子化する傾向となり、したがって、コード値は漸進的に小さくなる。このため、より小さなエントロピ・コード・ワード長およびより低いビット・レートが結果的に得られる。
この方法の欠点は、スケール・ファクタ・サイズを増大させることによって、サブバンド・サンプルにおける再生ノイズも同じ度合いで増加することである。しかしながら、実際には、スケール・ファクタの調節は、通常１ｄＢないし３ｄＢを超えることはない。更に大きな調節が必要な場合には、膨張したスケール・ファクタを用いるであろうサブバンドに聴取可能な量子化ノイズが発生する可能性を承知で行うよりは、ビット割り当てに戻り、全体的なビット割り当てを少なくする方がよいであろう。
エントロピ・エンコードされたＡＤＰＣＭビット割り当てを調節するためには、ＡＤＰＣＭコーディング・サイクルを繰り返す場合には、各サブバンド毎の予測器履歴サンプルを一時的バッファに格納する。つぎに、サブバンドＬＰＣ分析から導出した予測係数ＡHを、スケール・ファクタＲＭＳ（またはＰＥＡＫ）、量子化器ビット割り当てＡＢＩＴ、過渡モードＴＭＯＤＥ、および推定された差信号から導出される予測モードＰＭＯＤＥと共に用いて、ＡＤＰＣＭプロセス全てによって、サブバンド・サンプル・バッファを全てエンコードする。得られた量子化器レベル・コードをバッファし、コード・ブック・サイズを決定するためのビット割り当てインデックスを再度用いる最も低いビット使用度を呈示するエントロピ可変長コード・ブックにマップする。
ＧＲＣシステムは、次に、同じビット割り当てインデックスを全てのインデックスにわたって用い、各サブバンド毎に用いられているビット数を分析する。例えば、ＡＢＩＴ＝１の場合、グローバル・ビット管理におけるビット割り当て計算は、サブバンド・サンプル当たり１．４の平均レートを想定することができた（即ち、最適なレベル・コード振幅分布を仮定したエントロピ・コード・ブックに対する平均レート）。ＡＢＩＴ＝１のサブバンド全ての総ビット使用度が１．４／（サブバンド・サンプルの総数）よりも大きい場合、これらのサブバンド全てにわたってスケール・ファクタを増加させ、ビット・レートの低下に影響を与えることができる。サブバンド・スケール・ファクタを調節する決定は、全てのＡＢＩＴインデックス・レートにアクセスし終わるまで、保留することが好ましい。その結果、ビット割り当てプロセスにおいて仮定したよりも低いビット・レートを有するインデックスは、そのレベルよりも高いビット・レートのインデックスに対して補償することができる。この評価は、適切であれば、全てのオーディオ・チャネルをカバーするように拡張してもよい。
全体的なビット・レートを低下させるために推奨する手順は、スレッショルドを超える最も低いＡＢＩＴインデックス・ビット・レートから開始し、このビット割り当てを有するサブバンドの各々においてスケール・ファクタを増加させる。実際のビット使用度は、これらのサブバンドが当該割り当てのための公称レートに対して元々越えていた、ビット数だけ低下する。修正したビット使用度が未だ許容される最大値を超える場合、ビット使用度が公称値を超える、次に高いＡＢＩＴインデックスに対するサブバンド・スケール・ファクタを増加させる。このプロセスは、修正したビット使用度が最大値より下になるまで続けられる。
一旦これが達成されたなら、古い履歴データを予測器にロードし、スケール・ファクタを修正したサブバンドについてＡＤＰＣＭエンコーディング・プロセス７２を繰り返す。これに続いて、再びレベル・コードを最も最適なエントロピ・コードブックにマップし、ビット使用度を再計算する。ビット使用度のいずれかが未だ公称レートを超える場合、スケール・ファクタを更に増加させ、このサイクルを繰り返す。
スケール・ファクタに対する修正は、２通りの方法で行うことができる。第１の方法は、各ＡＢＩＴインデックスのための調節ファクタをデコーダに伝達することである。例えば、２ビット・ワードは、例えば、０、１、２および３ｄＢの調節範囲を示すことができる。ＡＢＩＴインデックスを用いる全てのサブバンドに同一の調節ファクタを用い、しかもインデックス１〜１０のみがエントロピ・エンコーディングを使用することができるので、全てのサブバンドに伝達する必要がある調節ファクタの最大数は１０である。あるいは、高い量子化器レベルを選択することにより、各サブバンド毎にスケール・ファクタを変えることも可能である。しかしながら、スケール・ファクタ量子化器は、それぞれ、１．２５および２．５ｄＢのステップ−サイズを有するので、スケール・ファクタの調節はこれらのステップに制限される。更に、この技法を用いる場合、スケール・ファクタの差分エンコーディングおよびその結果得られるビット使用度は、エントロピ・エンコーディングをイネーブルする場合には、再計算する必要がある場合もある。
一般的に言うと、ビット・レートを高める際、即ち、ビット・レートが所望のビット・レートよりも低い場合、同一の手順を用いることができる。この場合、スケール・ファクタを減少させて、外側の量子化器レベルをより多く利用するように差分サンプルに強要し、こうしてエントロピ・テーブル内の長いコード・ワードを使用させる。
ビット割り当てインデックスに対するビット使用度を、合理的な回数の繰り返しの範囲内で減少させることができない場合、またはスケール・ファクタ調節ファクタを伝達する場合、調節ステップの数は限界に達するが、２通りの修正方法が可能である。第１に、公称レート内のサブバンドのスケール・ファクタを増加させることにより、全体的なビット・レートを低下させることができる。あるいは、ＡＤＰＣＭエンコーディング・プロセス全体を中止し、かかるサブバンド全体に対して適応ビット割り当てを再計算することができ、このとき用いるビット数を少なくする。
データ・ストリーム・フォーマット
図１０に示すマルチプレクサ３２は、各チャネルに対してデータをパックし、次に各チャネル毎にパックしたデータを出力フレームにマルチプレクス（多重化）し、データ・ストリーム１６を形成する。データをパックしマルチプレクスする方法、即ち、図１９に示すフレーム・フォーマット１８６を設計したことによって、オーディオ・コーダを、広い範囲の用途で使用可能とし、より高いサンプリング周波数に拡張可能とし、各フレーム内のデータ量を制限し、各サブ−サブフレーム毎に独立して再生を開始できることにゆってしてレイテンシを減少させ、かつデコーディング・エラーが減少する。
図示のように、単一のフレーム１８６（４０９６ＰＣＭサンプル／ｃｈ）は、ビット・ストリームの境界を定義し、この中に音声のブロックを適正にデコードするために十分な情報が含まれ、４つのサブフレーム１８８（１０２４ＰＣＭサンプル／ｃｈ）で構成される。一方、このサブフレームは、各々４つのサブ−サブフレーム１９０（２５６ＰＣＭサンプル／ｃｈ）で構成される。各オーディオ・フレームの先頭に、フレーム同期ワード１９２を配置する。フレーム・ヘッダ情報１９４は、第一に、フレーム１８６の構造、ストリームを発生したエンコーダの構成、ならびに埋込まれたダイナミック・レンジ制御やタイム・コードのような種々のオプションの動作的特徴に関する情報を与える。オプションのヘッダ情報１９６は、デコーダに、ダウンミキシング（downmixing）が必要か否か、ダイナミック・レンジ補償が行われたか否か、およびデータ・ストリームに補助データ・バイトが含まれているか否かについて知らせる。オーディオ・コーディング・ヘッダ１９８は、コーディング「サイド情報」、即ち、ビット割り当て、スケール・ファクタ・ＰＭＯＤＥ、ＴＭＯＤＥ、コードブック等を組み立てるために、エンコーダにおいて用いられる、パッキング配列およびコーディング・フォーマットを示す。フレームの残り部分は、ＳＵＢＦＳ連続的オーディオ・サブフレーム１８８で構成されている。
各サブフレームは、オーディオ・コーディング・サイド情報２００で始まっており、これが、音声を圧縮するために用いられる多数のキー・エンコーディング・システムに関する情報を、デコーダに中継する。これらは、過渡検出、予測コーディング、適応ビット割り当て、高周波数ベクトル量子化、強度コーディング、および適応スケーリングを含む。このデータの多くは、先のオーディオ・コーディング・ヘッダ情報を用いて、データ・ストリームからアンパックされる。高周波数ＶＱコード・アレイ２０２は、ＶＱＳＵＢインデックスによって示される高周波数サブバンド毎に、１０−ビットのインデックスから成る。低周波数影響（エフェクト）アレイ２０４はオプションであり、例えば、サブウーファを駆動するために使用可能な大変低い低周波数データを表す。
オーディオ・アレイ２０６は、ハフマン／固定インバース量子化器を用いてデコードされ、多数のサブ−サブフレーム（ＳＳＣ）に分割され、各々オーディオ・チャネル当たり２５６ＰＣＭサンプルまでデコードする。サンプリング周波数が４８ｋＨｚより高い場合のみ、オーバーサンプルされたオーディオのアレイ（oversampled audio array）２０８が存在する。互換性を保持するためには、４８ｋＨｚより高いサンプリング・レートで動作できないデコーダは、このオーディオ・データ・アレイを飛ばすべきである。ＤＳＹＮＣ２１０を用いて、オーディオ・フレーム内のサブフレーム位置の終端を確認する。この位置が確認されない場合、当該サブフレーム内にデコードされている音声は、信頼性がないと宣告される。その結果、そのフレームを無音化するかあるいは直前のフレームを繰り返す。
サブバンド・デコーダ
図２０は、それぞれ、サブバンド・サンプル・デコーダ１８のブロック図である。このデコーダは、エンコーダと比較するとかなり簡素であり、ビット割り当てのように、再構築される音声の品質にとって基本的に重要な計算を含まない。同期の後、アンパッカ４０が圧縮化オーディオ・データ・ストリーム１６をアンパックし、伝達時に誘発されたエラーを検出し、必要であればこれを訂正し、データを個々のオーディオ・チャネルにデマルチプレクスする。サブバンド差分信号を、ＰＣＭ信号に再量子化し、各オーディオ・チャネルにインバース・フィルタ処理を施し、信号を変換して時間領域（時間ドメイン）に戻す。
オーディオ・フレームの受信およびヘッダのアンパック
コード化データ・ストリームは、エンコーダにおいてパック（フレーム化）され、各フレーム毎に、実際のオーディオ・コード自体の他に、デコーダの同期、エラー検出および訂正、オーディオ・コーディング・ステータス・フラグ、ならびにコーディング・サイド情報のための、追加データを含む。アンパッカ４０は、ＳＹＮＣワードを検出し、フレーム・サイズＦＳＩＺＥを抽出する。コード化ビット・ストリームは連続的オーディオ・フレームから成り、各々、３２ビット（0x7ffe8001）同期ワード（ＳＹＮＣ）で始まる。オーディオ・フレームの物理サイズＦＳＩＺＥは、ｓｙｎｃ（同期）ワードに続くバイトから抽出される。これによって、プログラマは、「エンド・オブ・フレーム（フレームの終わり）」タイマをセットし、ソフトウエアのオーバーヘッドを減らすことができる。次に、ＮＢｌｋｓが抽出され、これは、デコーダに、オーディオ・ウインドウ・サイズ（３２（Ｎｂｌｋｓ＋１））を計算させる。これは、デコーダに、どのサイド情報を抽出すべきか、および再生サンプルをいくつ生成するかを知らせる。
フレーム・ヘッダ・バイト（ｓｙｎｃ，ｆｔｙｐｅ、ｓｕｒｐ、ｎｂｌｋｓ、ｆｓｉｚｅ、ａｍｏｄｅ、ｓｆｒｅｑ、ｒａｔｅ、ｍｉｘｔ、ｄｙｎｆ、ｄｙｎｃｔ、ｔｉｍｅ、ａｕｘｃｎｔ、ｌｆｆ、ｈｆｌａｇ）を受信すると直ちに、リード・ソロモン・チェック・バイトＨＣＲＣを用いて、最初の１２バイトの有効性についてチェックすることができる。これらは、１４バイトの内の１つのエラー・バイト、又は、フラグ２のエラー・バイトを訂正する。エラー・チェックが完了した後、ヘッダ情報を用いて、デコーダ・フラグを更新する。
ＨＣＲＣに続き且つオプションの情報までのヘッダ（ｆｉｌｔｓ、ｖｅｒｎｕｍ、ｃｈｉｓｔ、ｐｃｍｒ、ｕｎｓｐｅｃ）を抽出し、デコーダ・フラグを更新するために使用することができる。この情報はフレーム毎に変わらないので、多数決方式を用いて、ビット・エラーを補償することができる。オプションのヘッダ・データ（ｔｉｍｅｓ、ｍｃｏｅｆｆ、ｄｃｏｅｆｆ、ａｕｘｄ、ｏｃｒｃ）を、ｍｉｘｃｔ、ｄｙｎｆ、ｔｉｍｅおよびａｕｘｃｎｔヘッダにしたがって抽出する。オプションのデータは、オプションのリード・ソロモン・チェック・バイトＯＣＲＣを用いて確認することができる。
オーディオ・コーディング・フレーム・ヘッダ（ｓｕｂｆｓ、ｓｕｂｓ、ｃｈｓ、ｖｑｓｕｂ、ｊｏｉｎｘ、ｔｈｕｆｆ、ｓｈｕｆｆ、ｂｈｕｆｆ、ｓｅｌ５、ｓｅｌ７、ｓｅｌ９、ｓｅｌ１３、ｓｅｌ１７、ｓｅｌ２５，ｓｅｌ３３、ｓｅｌ６５、ｓｅｌ１２９、ａｈｃｒｃ）を、各フレームにおいて１回伝達する。これらは、オーディオ・リード・ソロモン・チェック・バイトＡＨＣＲＣを用いて確認することができる。ほとんどのヘッダは、ＣＨＳで定義される各オーディオ・チャネル毎に繰り返される。
サブフレーム・コーディング・サイド情報のアンパック
オーディオ・コーディング・フレームは、多数のサブフレーム（ＳＵＢＦＳ）に分割される。必要なサイド情報（ｐｍｏｄｅ、ｐｖｑ、ｔｍｏｄｅ、ｓｃａｌｅｓ、ａｂｉｔｓ、ｈｆｒｅｑ）を全て含ませて、他のサブフレームを全く参照することなく、音声（オーディオ）の各サブフレームを適正にデコードする。連続する各サブフレームは、最初にそのサイド情報（副情報）をアンパックすることによって、デコードする。
１ビット予測モード（ＰＭＯＤＥ）フラグをアクティブなサブバンド毎に、そしてオーディオ・チャネル全てにわたって伝達する。ＰＭＯＤＥフラグは、現行のサブフレームに有効である。ＰＭＯＤＥ＝０は、当該サブバンドに対して、予測器係数が当該オーディオ・フレームに含まれていないことを示唆する。この場合、このバンドの予測器係数を、当該サブフレームの期間ゼロにリセットする。ＰＭＯＤＥ＝１は、サイド情報がこのサブバンドのための予測器係数を含むことを示唆する。この場合、当該サブバンドの期間について予測器係数を抽出してその予測器にインストールする。
ｐｍｏｄｅアレイにおける全てのＰＭＯＤＥ＝１について、対応する予測係数ＶＱのアドレス・インデックスはアレイＰＶＱ内に配置される。このインデックスは、固定の符号なしの１２ビット整数ワードであり、１２ビット整数をベクトル・テーブル２６６にマッピングすることによって、ルックアップ（参照）テーブルから４つの予測係数を抽出する。
ビット割り当てインデックス（ＡＢＩＴ）は、サブバンド・オーディオ・コードを変換して絶対値に戻す、インバース量子化器におけるレベル数を示す。ＢＨＵＦＦインデックスおよび特定のＶＡＢＩＴコード２５６に応じて、各オーディオ・チャネル毎にその内のＡＢＩＴに対して、アンパッキング・フォーマットは異なるものとなる。
過渡モード・サイド情報（ＴＭＯＤＥ）２３８を用いて、各サブバンド内のサブフレームに対する過渡の位置を示す。各サブフレームは１ないし４のサブ−サブフレームに分割される。サブバンド・サンプルに関して、各サブ−サブフレームは８つのサンプルから成る。最大サブフレーム・サイズは３２サブバンド・サンプルである。過渡が第１のサブ−サブフレームにおいて発生した場合、ｔｍｏｄｅ＝０となる。第２のサブ−サブフレームにおける過渡はｔｍｏｄｅ＝１のときに示され、以下、同様にして示される。プレエコーのような過渡歪みを制御するために、ＴＭＯＤＥが０より大きいサブフレームのサブバンドに、２つのスケール・ファクタを伝達する。オーディオ・ヘッダから抽出されたＴＨＵＦＦインデックスは、ＴＭＯＤＥをデコードするために必要な方法を決定する。ＴＨＵＦＦ＝３の場合、ＴＭＯＤＥを、符号なし２ビット整数としてアンパックする。
スケール・ファクタ・インデックスを伝達し、各サブフレーム内におけるサブバンド・オーディオ・コードの適正なスケーリングを可能にする。ＴＭＯＤＥがゼロに等しい場合、１つのスケール・ファクタを伝達する。ＴＭＯＤＥがいずれのサブバンドについてもゼロより大きい場合、２つのスケール・ファクタを一緒に伝達する。オーディオ・ヘッダから抽出されたＳＨＵＦＦインデックス２４０は、別個の各オーディオ・チャネルに対してのＳＣＡＬＥＳをデコードするために必要な方法を決定する。ＶＤＲＭＳQLインデックスは、ＲＭＳスケール・ファクタの値を決定する。
あるモードでは、ＳＣＡＬＥＳインデックスをアンパックする際に、５つの１２９レベル符号付きハフマン・インバース量子化器から選択したものを使用する。得られるインバース量子化されたインデックスは、しかしながら、差分的にエンコードされ、以下のように絶対値に変換される。
ＡＢＳ＿ＳＣＡＬＥ（ｎ＋１）＝ＳＣＡＬＥＳ（ｎ）−ＳＣＡＬＥＳ（ｎ＋１）
ここで、ｎは、オーディオ・チャネルにおいて、第１のサブバンドから始まってｎ番目の差分スケール・ファクタである。
低ビット・レートのオーディオ・コーディング・モードでは、オーディオ・コーダは、ベクトル量子化を用いて、高周波数サブバンド・オーディオ・サンプルを直接に効率的にエンコードする。これらのサブバンドには差分エンコーディングを用いず、通常のＡＤＰＣＭプロセスに関係するすべてのアレイはリセットに保持しなければならない。ＶＱを用いてエンコードされる第１のサブバンドはＶＱＳＵＢによって示され、ＳＵＢＳまでの全サブバンドも、このようにエンコードされる。
高周波数インデックス（ＨＦＲＥＱ）は、固定１０ビット符号なし整数としてアンパックする（２４８）。各サブバンド・サブフレームに必要とされる３２個のサンプルは、適切なインデックスを適用することによって、Ｑ４分数二進（fractional binary）ＬＵＴから抽出する。これは、高周波数ＶＱモードがアクティブな各チャネル毎に繰り返される。
エフェクト・チャネルに対するデシメーション・ファクタは常にＸ１２８である。ＬＦＥ内にある８ビット・エフェクト・サンプルの数は、ＰＳＣ＝０の場合はＳＳＣ＊２で与えられ、ＰＳＣが非ゼロの場合（ＳＳＣ＋１）＊２で与えられる。ＬＦＥアレイの終端には、追加の７ビット・スケール・ファクタ（符号なし整数）も含まれ、これは７ビットＬＵＴを用いてｒｍｓに変換される。
サブ−サブフレーム・オーディオ・コード・アレイのアンパック
サブバンド・オーディオ・コードのための抽出プロセスは、ＡＢＩＴインデックスによって駆動され・ＡＢＩＴ＜１１の場合、ＳＥＬインデックスによっても駆動される。オーディオ・コードをフォーマットするには、可変長ハフマン・コードまたは固定線型コードのいずれかを用いる。通常、１０以下のＡＢＩＴインデックスは、コードＶＱＬ（ｎ）２５８によって選択されるハフマン可変長コードを示唆し、一方、１０よりも大きいＡＢＩＴは常に固定コードを意味する。全ての量子化器は、中間トレッド（mid-tread）の均一な特性を有する。固定コード（Ｙ2）量子化器では、最も負のレベルが落とされる。オーディオ・コードは、サブ−サブフレームにパックされる。各サブ−サブフレームは、最大８つのサブバンド・サンプルを表し、これらのサブ−サブフレームは、現サブサンプルにおいて４回まで繰り返される。
サンプリング・レート・フラグ（ＳＦＲＥＱ）が４８ｋＨｚよりも高いレートを示す場合、オーディオ・フレーム内に、オーバーオーディオ・データ・アレイ（over_audio data array）が存在する。このアレイの中の最初の２バイトは、ｏｖｅｒ＿ａｕｄｉｏ（オーバーオーディオ）のバイト・サイズを示す。更に、デコーダ・ハードウエアのサンプリング・レートは、高周波数サンプリング・レートに応じて・ＳＦＲＥＱ／２またはＳＦＲＥＱ／４で動作するようにセットすべきである。
同期チェックのアンパック
データ・アンパッキング同期チェック・ワードＤＳＹＮ C=0xffffを、各サブフレームの終端において検出し、アンパッキングの保全性を確認できるようにする。サイド情報およびオーディオ・コードにおける可変コード・ワードの使用は、低オーディオ・ビット・レートの場合のように、ヘッダ、サイド情報またはオーディオ・アレイのいずれかがビット・エラーにより損なわれた場合に、アンパッキング不整合に至る可能性がある。アンパッキング・ポインタがＤＳＹＮＣの開開始を指さない場合、その前のサブフレーム・オーディオが信頼性に欠けると想定することができる。
一旦サイド情報およびオーディオ・データの全てをアンパックしたなら、デコーダは１度に１サブフレームずつ、マルチ・チャネル・オーディオ信号を再構築（再生）する。図２０は、単一のチャネルにおける単一のサブバンドに対するベースバンド・デコーダ部分を示す。
ＲＭＳスケール・ファクタの再構築
デコーダは、ＡＤＰＣＭ、ＶＱおよびＪＦＣアルゴリズムのために、ＲＭＳスケール・ファクタ（ＳＣＡＬＥＳ）を再生する。即ち、ＶＴＭＯＤＥおよびＴＨＵＦＦインデックスをインバース・マッピングし、現サブフレームに対する過渡モード（ＴＭＯＤＥ）を識別する。その後、ＳＨＵＦＦインデックス、ＶＤＲＭＳQLコードおよびＴＭＯＤＥをインバース・マッピングし、差分ＲＭＳコードを再生する。差分ＲＭＳコードをインバース差分コード化し（２４２）、ＲＭＳコードを選択する。次に、ＲＭＳコードをインバース量子化し（２４４）、ＲＭＳスケール・ファクタを生成する。
高周波数ベクトルのインバース量子化
デコーダは高周波数ベクトルをインバース（逆）量子化し、サブバンド・オーディオ信号を再生する。即ち、開始ＶＱサブバンド（ＶＱＳＵＢＳ）によって識別される、符号付き８ビット分数（Ｑ４）二進数である、抽出された高周波数サンプル（ＨＦＲＥＱ）を、インバースＶＱ ｌｕｔ ２４８にマップする。選択したテーブル値を逆量子化し（２５０）、ＲＭＳスケール・ファクタによってスケーリングする（２５２）。
オーディオ・コードのインバース量子化
ＡＤＰＣＭループに入る前に、オーディオ・コードを逆量子化し、スケーリングして、再生されたサブバンド差サンプルを生成する。逆量子化を行うには、最初にＶＡＢＩＴおよびＢＨＵＦＦインデックスをインバース・マッピングして、ステップ−サイズおよび量子化レベルの数を決定するＡＢＩＴインデックスを特定し、更に、量子化器レベル・コードＱＬ（ｎ）を生成するＶＱＬ（ｎ）オーディオ・コード及びＳＥＬインデックスをインバース・マッピングする。その後、コード・ワードＱＬ（ｎ）を、ＡＢＩＴおよびＳＥＬインデックスによって指定される、インバース量子化器ルックアップ・テーブル２６０にマップする。コードの順序はＡＢＩＴによって決められるが、個別の各オーディオ・チャネルは個別のＳＥＬ指定子（specifier）を有する。ルックアップ・プロセスによって、符号付き量子化器レベル数が得られ、これを量子化ステップ−サイズと乗算することにより単位ｒｍｓに変換することができる。次に、単位ｒｍｓ値を、指定されたＲＭＳスケール・ファクタ（ＳＣＡＬＥＳ）と乗算することにより（２６２）、完全な差サンプルに変換する。
１．  ＱＬ［ｎ］＝１／Ｑ［ｃｏｄｅ［ｎ］］    ここで、１／Ｑは、インバース量子化器ルックアップ・テーブルである。
２．  Ｙ［ｎ］＝ＱＬ［ｎ］＊ＳｔｅｐＳｉｚｅ［ａｂｉｔｓ］
３．  Ｒｄ［ｎ］＝Ｙ［ｎ］＊ｓｃａｌｅ＿ｆａｃｔｏｒ    ここで、Ｒｄ＝再構築された差サンプルである。
インバースＡＤＰＣＭ
ＡＤＰＣＭデコーディング・プロセスは、各サブバンド差サンプルに対して、以下のように実行する。
１．  インバースＶＱ ｌｕｔから、予測係数をロードする（２６８）。
２．  現予測器係数を、予測器履歴アレイに保持されている直前の４つの再生されたサブバンド・サンプルで畳み込むことによって、予測サンプルを生成する（２６８）。
ｉ＝１、４について、ｐ［ｎ］＝ｓｕｍ（Ｃｏｅｆｆ［ｉ］＊Ｒ［ｎ−ｉ］）  ここで、ｎ＝現サンプル期間である。
３．  予測サンプルを再生された差サンプルに加算し、再生されたサブバンド・サンプルを生成する（２７０）。
Ｒ［ｎ］＝Ｒｄ［ｎ］＋Ｐ［ｎ］
４．  予測器の履歴を更新する。即ち、現在の再生されたサブバンド・サンプルを、履歴リストの最上部にコピーする。
Ｉ＝４、１について、Ｒ［ｎ−ｉ］＝Ｒｄ［ｎ−ｉ＋１］
ＰＭＯＤＥ＝０の場合、予測器係数はゼロとなり、予測サンプルはゼロとなり、再生されたサブバンド・サンプル（再生サブバンド・サンプル）は差分サブバンド・サンプルに等しくなる。この場合、予測の計算は不要であるが、ＰＭＯＤＥが以降のサブフレームにおいてアクティブになるべき場合において、予測器の履歴は更新し続けることは必須である。更に、ＨＦＬＡＧが現オーディオ・フレームにおいてアクティブである場合、予測器履歴は、当該フレームにおける最初のサブ−サブフレームをデコードする前に、クリアしなければならない。履歴は、通常通り、その点から更新することになる。
高周波数ＶＱサブバンドの場合、またはサブバンドをデセレクト（deselect）した場合（即ち、ＳＵＢＳ限度を超える）、予測器履歴は、サブバンド予測器がアクティブになる時まで、クリアされたままにしておかなければならない。
ＡＤＰＣＭ、ＶＯおよびＪＦＣデコーディングの選択制御
第１の「スイッチ」は、ＡＤＰＣＭ出力またはＶＱ出力のいずれかの選択を制御する。ＶＱＳＵＢＳインデックスは、ＶＱエンコーディングの先頭のサブバンドを識別する。したがって、現サブバンドがＶＱＳＵＢＳよりも低い場合、スイッチはＡＤＰＣＭ出力を選択する。その他の場合、ＶＱ出力を選択する。第２の「スイッチ」２７８は、直接チャネル出力またはＪＦＣコーディング出力のいずれかの選択を制御する。ＪＯＩＮＸインデックスは、どのチャネルを結合し、どのチャネルにおいて再生信号を生成するかを識別する。再生されたＪＦＣ信号は、他のチャネルにおけるＪＦＣ入力に対するインテンシティ源（intensity source）を形成する。したがって、現サブバンドがＪＦＣの一部であり、指定されたチャネルでない場合、スイッチはＪＦＣ出力を選択する。通常、スイッチはチャネル出力を選択する。
ダウン・マトリキシング（マトリクス化）
データ・ストリームに対するオーディオ・コーディング・モードは、ＡＭＯＤＥによって示される。更に、デコードされたオーディオ・チャネルは、デコーダのハードウエア上の物理的な出力チャネル配列に一致するように、再度指示（redirect）することができる（２８０）。
ダイナミック・レンジ制御データ
随意に、エンコーディング段２８２において、ダイナミック・レンジ係数ＤＣＯＥＦＦをオーディオ・フレーム内に埋め込むことも可能である。この構成の目的は、デコーダの出力における、オーディオ・ダイナミック・レンジの圧縮を都合よく行えるようにすることである。ダイナミック・レンジの圧縮は、音響発生過程（loud passage）の間ラウドスピーカを損傷する恐れなく、高いレベルの周囲ノイズが、低いレベルの音を判別できなくしてしまうような聴取環境において、特に重要である。この問題は、１１０ｄＢという高いダイナミック・レンジを呈する２０ビットＰＣＭオーディオ記録の使用が増えつつあることによって、更に複雑化している。
フレームのウインドウ・サイズ（ＮＢＬＫＳ）によって、オーディオ・チャネル当たり１つ、２つまたは４つの係数が、いずれのコーディング・モード（ＤＹＮＦ）についても伝達される。単一の係数を伝達する場合、これはフレーム全体に対して使用される。係数が２つの場合、第１の係数はフレームの第１の半分に用いられ、第２の係数はフレームの第２の半分に用いられる。４つの係数は、フレームの各１／４に分配される。伝送される値を局所的に補間することによって、更に高い時間分解能が可能となる。
各係数は、８ビット符号付き分数Ｑ２二進数であり、表（５３）に示すように、０．２５ｄＢの段階で、＋／−３１．７５ｄＢの範囲を与える対数ゲイン値を表す。これらの係数はチャネル番号の順に並べられる。デコードされたオーディオ・サンプルに線型係数を乗算することによって、ダイナミック・レンジの圧縮に影響を与える。
圧縮の度合いは、デコーダにおける係数値に対する適切な調節によって変えることや、あるいは係数を完全に無視することによってオフに切り替えることができる。
３２バンド補間フィルタバンク
３２バンド補間フィルタ・バンク４４は、各オーディオ・チャネル毎に３２個のサブバンドを、単一のＰＣＭ時間領域信号に変換する。ＦＩＬＴＳ＝０の場合、不完全再生係数（５１２タップＦＩＲフィルタ）を用いる。ＦＩＬＴＳ＝１の場合、完全再生係数を用いる。通常、コサイン変調係数（cosine modulation coefficient）を予め計算し、ＲＯＭに格納しておく。補間手順を拡張し、より大きなデータ・ブロックを再生して、ループ・オーバーヘッドを減少させることができる。しかしながら、終了フレームの場合、必要とされ得る最低分解能は３２ＰＣＭサンプルである。補間アルゴリズムは次の通りである。コサイン変調係数を作成し、３２個の新しいサブバンド・サンプルをアレイＸＩＮに読み込み、コサイン変調係数を乗算して一時的アレイＳＵＭおよびＤＩＦＦを作成し、履歴を格納し、フィルタ係数を乗算し、３２個のＰＣＭ出力サンプルを作成し、作業用アレイを更新し、３２個の新しいＰＣＭサンプルを出力する。
動作中のビット・レートおよびコーディング方式によって、ビット・ストリームが、不完全または完全再生補間フィルタ・バンク係数（ＦＩＬＴＳ）のいずれかを特定することができる。エンコーダ・デシメーション・フィルタ・バンクは、４０ビット浮動小数点精度で計算されるので、デコーダの最大理論的再生精度を達成する能力は、ソースのＰＣＭワード長および畳み込みを計算するために用いられるＤＳＰコアの精度、ならびに動作をスケーリングする方法によって左右される。
低周波数エフェクトＰＣＭ補間
低周波数エフェクト・チャネルに関連するオーディオ・データは、主オーディオ・チャネルとは独立している。このチャネルは、Ｘ１２８デシメート（１２０Ｈｚ帯域幅）２０ビットＰＣＭ入力上で動作する８ビットＡＰＣＭプロセスを用いてエンコードされる。デシメートされたエフェクト・オーディオは、主オーディオ・チャネルにおける現サブバンド・オーディオと時間的に整合される。従って、３２バンド補間フィルタバンクを通じての遅延が２５６サンプル（５１２タップ）であるので、補間された低周波数エフェクト・チャネルも、出力の前に、残りのオーディオ・チャネルと整合することを保証するように注意を払わなければならない。エフェクト補間ＦＩＲも５１２タップであれば補償は必要ない。
ＬＦＴアルゴリズムは、以下のように５１２タップ１２８Ｘ補間ＦＩＲを用いる。７ビット・スケール・ファクタをｒｍｓにマップし、ステップ−サイズが７ビットの量子化器によって乗算し、正規化された値からサブ・サンプル値を生成し、各サブ・サンプルに与えられるもののようなロー・パス・フィルタを用いて、１２８で補間する。
ハードウエアの実施態様
図２１および図２２は、３２，４４．１および４８ｋＨｚサンプリング・レートで動作するエンコーダおよびデコーダの６チャネル・バージョンのハードウエアによる実施態様の基本的な機能構造を説明する。図２２を参照すると、アナログ・デバイス（Analog Devices）社のＡＤＳＰ２１０２０  ４０ビット浮動小数点デジタル信号プロセッサ（ＤＳＰ）チップ２９６を８つ用いて、６チャネル・デジタル・オーディオ・エンコーダ２９８を実施する。６つのＤＳＰは、各チャネルをエンコードするために用い、第７および第８のＤＳＰは、それぞれ、「グローバル・ビット割り当ておよび管理」および「データ・ストリーム・フォーマッタおよびエラー・エンコーディング」機能を実施するために用いる。各ＡＤＳＰ２１０２０は、３３ＭＨｚでクロック駆動され、外部の４８ビットＸ３２ｋプログラムｒａｍ（ＰＲＡＭ）３００、４０ビットＸ３２ｋデータｒａｍ（ＳＲＡＭ）３０２を利用して、これらのアルゴリズムを実行する。エンコーダの場合、８ビットＸ５１２ｋのＥＰＲＯＭ３０４も、可変長エントロピ・コード・ブックのような固定定数の格納のために用いる。データ・ストリーム・フォーマット用ＤＳＰは、リード・ソロモンＣＲＣチップ３０６を用いて、デコーダにおけるエラー検出および保護を容易に行うようにしている。エンコーダＤＳＰとグローバル・ビット割り当ておよび管理との間の通信は、デュアル・ポート・スタティックＲＡＭ３０８を用いて実施する。
エンコード処理フローは以下の通りである。２チャネル・デジタル・オーディオＰＣＭデータ・ストリーム３１０を、３つのＡＥＳ／ＥＢＵデジタル・オーディオ受信機の各々の出力において抽出する。各対の第１のチャネルをＣＨ１、３および５のエンコーダＤＳＰにそれぞれ差し向け、一方、各々の第２のチャネルをＣＨ２、４および６にぞれぞれ差し向ける。シリアルＰＣＭワードをパラレルに変換する（ｓ／ｐ）ことによって、ＰＣＭサンプルをＤＳＰに読み込む。各エンコーダは、１フレームのＰＣＭサンプルを蓄積し、前述のように、フレーム・データのエンコードを進める。各チャネルに対する推定された差信号（ｅｄ（ｎ）およびサブバンド・サンプル（ｘ（ｎ））に関する情報を、デュアル・ポートＲＡＭを通じて、グローバル・ビット割り当ておよび管理ＤＳＰに伝達する。次に、各デコーダに対するビット割り当て戦略を、同様に読み返す。一旦エンコーディング・プロセスが完了したなら、グローバル・ビット割り当ておよび管理ＤＳＰを介して、６チャネルのためのコード化されたデータおよびサイド情報をデータ・ストリーム・フォーマッタＤＳＰに伝達する。この段階で、デコーダにおけるエラー保護を与える目的のために、ＣＲＣチェック・バイトを選択的に発生し、エンコードされたデータに付加する。最後に、データ・パケット１６全体を組み立て、出力する。
６チャネルのデコーダのハードウエアによる実施態様を図２２に示す。単一のアナログ・デバイス社のＡＤＳＰ２１０２０  ４０ビット浮動小数点デジタル信号プロセッサ（ＤＳＰ）チップ３２４を用いて、６チャネル・デジタル・オーディオ・デコーダを実施する。ＡＤＳＰ２１０２０は、３３ＭＨｚのクロックで駆動され、外部の４８ビットＸ３２ｋプログラムｒａｍ（ＰＲＡＭ）３２６、４０ビットＸ３２ｋデータｒａｍ（ＳＲＡＭ）３２８を利用して、デコーディング・アルゴリズムを実行する。可変長エントロピおよび予測係数ベクトル・コード・ブックのような固定定数の格納のために、追加の８ビットＸ５１２ｋＥＰＲＯＭ３３０も使用する。
デコード処理フローは以下の通りである。シリアル−パラレル変換器（ｓ／ｐ）３３２を介して、圧縮されたデータ・ストリーム１６をＤＳＰに入力する。先に例示したように、データをアンパックし、デコードする。各チャネル毎に、サブバンド・サンプルを単一のＰＣＭデータ・ストリーム２２に再構築し、３つのパラレル−シリアル変換器（ｐ／ｓ）３３５を介して、３つのＡＥＳ／ＥＢＵデジタル・オーディオ送信機チップ３３４に出力する。
以上、本発明のいくつかの例示的な実施形態を示しかつ説明したが、多数の変形および代替実施形態が当業者には想起されよう。例えば、プロセッサの速度が上昇し、メモリのコストが低下するに連れて、サンプリング周波数、送信レート、及びバッファ・サイズは増加する傾向にある。このような変形的及び互換的な実施態様は考慮されており、請求の範囲に規定された本発明の精神及び範囲から逸脱することなく実施できる。
【図１】
0004174072.tif 000012
【図２】
0004174072.tif 000013
【図３】
0004174072.tif 000014
【図４ａ】
0004174072.tif 000015
【図４ｂ】
0004174072.tif 000016
【図５】
0004174072.tif 000017
【図６】
0004174072.tif 000018
【図７】
0004174072.tif 000019
【図８】
0004174072.tif 000020
【図９】
0004174072.tif 000021
【図１０】
0004174072.tif 000022
【図１１Ａ】
0004174072.tif 000023
【図１１Ｂ】
0004174072.tif 000024
【図１２】
0004174072.tif 000025
【図１３】
0004174072.tif 000026
【図１４】
0004174072.tif 000027
【図１５】
0004174072.tif 000028
【図１６】
0004174072.tif 000029
【図１７】
0004174072.tif 000030
【図１８Ａ】
0004174072.tif 000031
【図１８Ｂ】
0004174072.tif 000032
【図１９】
0004174072.tif 000033
【図２０】
0004174072.tif 000034
【図２１】
0004174072.tif 000035
【図２２】
0004174072.tif 000036