"処理装置のための拡張可能なオーディオ処理方法であって、入力オーディオ信号の1フレームについて第1および第2のビット割当てを決定するステップと、ここで、前記第1のビット割当ては第1の周波数帯域用に割当てられ、前記第2のビット割当ては第2の周波数帯域用に割当てられ、前記フレームの前記第1の周波数帯域の信号を、時間領域から周波数領域の第1の変換係数に変換符号化するステップと、前記フレームの前記第2の周波数帯域の信号を、時間領域から周波数領域の第2の変換係数に変換符号化するステップと、それぞれに対応する前記第1および第2のビット割当てを有する前記第1および第2の変換係数を、パケットにパケット化するステップと、前記パケットを前記処理装置により送信するステップと、を具備する拡張可能なオーディオ処理方法。前記第1および第2のビット割当てを決定するステップは、前記入力オーディオ信号の各フレーム毎に行われる、請求項1の方法。前記第1および第2のビット割当てを決定するステップは、前記フレームの前記第1および第2の周波数帯域のエネルギー比を計算するステップと、前記フレームに対する前記第1および第2のビット割当てを、前記計算された比に基づいて割当てるステップと、を含む請求項1の方法。前記第1および第2の変換係数はそれぞれ周波数領域において配列されており、前記第1および第2の変換係数をパケット化する前記ステップは、前記周波数領域の重要度を判定するステップと、前記判定した重要度に基づいて前記周波数領域を順位付けるステップと、順位付けに従って前記周波数領域をパケット化するステップと、を含む請求項1の方法。前記重要度を判定する前記ステップは、前記周波数領域それぞれのパワーレベルを判定するステップを含み、前記周波数領域を順位付ける前記ステップは、前記領域を最大パワーレベルから最小パワーレベルまで順位付けるステップを含む請求項4の方法。前記パワーレベルを判定する前記ステップは、前記周波数領域間のスペクトル距離に基づく固定関数を用いて前記周波数領域のパワーレベルに重み付けをするステップを更に含む、請求項5の方法。前記パケット化する前記ステップは、前記第1および第2のビット割当てを示す情報をパケット化するステップを含む、請求項1の方法。前記パケット化する前記ステップは、前記第1および第2の周波数帯域両方のスペクトル包絡線をパケット化するステップを含む、請求項1の方法。前記パケット化する前記ステップは、各フレーム毎に、前記第1および第2の周波数帯域の内の低い方をパケット化してから高い方をパケット化するステップを含む、請求項1の方法。前記第1の変換係数に変換符号化する前記ステップと、前記第2の変換係数に変換符号化する前記ステップと、前記パケットにパケット化する前記ステップは、第1のビットレートで前記1フレームを変換符号化することにより前記フレームの第1のバージョンを生成するステップと、前記第1のビットレートより低い第2のビットレートへ前記第1のバージョンを剥落させることにより、前記1フレームの第2のバージョンを生成するステップと、前記1フレームの第1のバージョンを前回フレームの前記第2のバージョンと併せて一緒に前記パケットにパケット化するステップと、で構成される請求項1の方法。前記第1の周波数帯域がおよそ0~およそ12kHzであり、前記第2の周波数帯域がおよそ12kHz~およそ22kHzである、請求項1の方法。前記第1の周波数帯域がおよそ0乃至約12,500Hzであり、前記第2の周波数帯域が約13kHz乃至約22kHzである、請求項1の方法。前記第1および第2のビット割当ては、合計して約64kbpsの利用可能ビット数になる、請求項1の方法。前記変換係数は変調重複変換の係数からなる請求項1の方法。請求項1の拡張可能なオーディオ処理方法における各ステップを、プログラム可能な制御装置に実行させるための、プログラム命令群を記憶したプログラム可能な記憶装置。ネットワークインターフェースと、前記ネットワークインターフェースに接続されて通信し、入力オーディオ信号を取得するプロセッサとを備え、前記プロセッサは、前記入力オーディオ信号の複数フレームについて第1および第2のビット割当てをそれぞれ決定し、ここで、前記第1のビット割当ては第1の周波数帯域用に割り当てられ、前記第2のビット割当ては第2の周波数帯域用に割り当てられ、各フレーム毎の時間領域の前記第1の周波数帯域の信号を、周波数領域の第1の変換係数に変換符号化し、各フレーム毎の時間領域の前記第2の周波数帯域の信号を、周波数領域の第2の変換係数に変換符号化し、各フレームに対応する前記第1のビット割当てにより、各フレーム毎の前記第1の変換係数をパケットにパケット化し、各フレームに対応する第2のビット割当てにより、各フレーム毎の前記第2の変換係数を前記パケットにパケット化し、前記パケットを前記ネットワークインターフェースにより送信するように構成されている、ことを特徴とする処理装置。前記処理装置が、オーディオ会議エンドポイント、ビデオ会議エンドポイント、オーディオ再生装置、個人用音楽プレーヤ、コンピュータ、サーバ、通信装置、携帯電話、および携帯情報端末のいずれかである請求項16の処理装置。処理装置のためのオーディオ処理方法であって、入力オーディオ信号の複数フレームのパケットを受信するステップと、ここで、前記パケットはそれぞれ、各フレームの第1の周波数帯域の信号についての周波数領域の第1の変換係数を有し、かつ、各フレームの第2の周波数帯域の信号についての周波数領域の第2の変換係数を有しており、前記各パケットにおいて前記各フレームについての第1および第2のビット割当てを決定するステップと、ここで、前記各第1のビット割当ては、前記パケットにおける前記フレームの前記第1の周波数帯域用に割り当てられ、前記各第2のビット割当ては、前記パケットにおける前記フレームの前記第2の周波数帯域用に割り当てられ、前記パケットにおける前記各フレーム毎の前記第1および第2の変換係数を出力オーディオ信号に逆変換符号化するステップと、前記パケットにおける前記各フレーム毎の前記第1および第2のビット割当てからビットが失われているかどうかを判定するステップと、失われていると判定された前記ビットのどれかにオーディオ信号を充填するステップと、を具備するオーディオ処理方法。前記パケットを受信する前記ステップは、前記フレームの前記第1および第2の周波数帯域毎のスペクトル包絡線を受信するステップを含み、オーディオ信号を充填する前記ステップは、前記スペクトル包絡線により該充填するオーディオ信号をレベル調整するステップを含む、請求項18の方法。処理装置のためのオーディオ処理方法であって、第1のビットレートで入力オーディオ信号の連続するフレームのそれぞれを変換符号化することにより、該入力オーディオ信号の連続する各フレームの第1のバージョンを生成するステップと、前記第1のバージョンのそれぞれを前記第1のビットレートより低い第2のビットレートに落とすことにより、前記連続するフレームのそれぞれの第2のバージョンを生成するステップと、前記連続するフレーム中の先のフレームの前記第2のバージョンと併せて、前記連続するフレームの前記第1のバージョンのそれぞれをパケットにパケット化するステップと、前記処理装置により前記パケットを送信するステップと、を具備する方法。処理装置のためのオーディオ処理方法であって、入力オーディオ信号の連続するフレームについての複数パケットを受信するステップと、ここで、前記パケットはそれぞれ、前記連続するフレームにおける1フレームの第1のバージョンを有するとともに、前記連続するフレーム中の先のフレームの第2のバージョンを有し、前記第1のバージョンはそれぞれ第1のビットレートで変換符号化された前記1つのフレームを含み、前記第2のバージョンのそれぞれは、前記先のフレームの前記第1のバージョンを前記第1のビットレートより低い第2のビットレートに落としたもの含み、前記パケットのそれぞれを復号化するステップと、受信した前記パケットの内の1つのパケットのパケットエラーを検出するステップと、前記1つのパケットの失われたフレームの前記第2のバージョンを用いることにより、受信した前記パケットの内の先行パケットから前記1つのパケットの前記失われたフレームを再生するステップと、前記各フレームの前記第1のバージョンと前記失われたフレームを再生したフレームとにより出力オーディオを生成するステップと、を具備する方法。本開示によるオーディオコーデックは拡張可能であり、利用可能なビット数を複数の周波数帯域の間で割り当てる配分する。更に、オーディオコーデックは、重要度に基づいてこれらの帯域それぞれの周波数領域に順位を付ける。ビット剥落が発生しても、重要度が高いこれらの周波数領域はビットストリームの最初にパケット化されている。こうして、ビット剥落が生じても、より有用なオーディオが維持されることになる。オーディオコーデックのこれらの詳細および他の詳細を本明細書に開示する。本開示の多様な実施の形態は、オーディオ会議音声会議、ビデオ会議、およびストリーム音楽または会話を含むストリームメディア等の分野で有用な用途を見いだすことができる。従って、本開示のオーディオ処理装置には、オーディオ会議エンドポイントオーディオ会議ネットワーク端末、ビデオ会議エンドポイントビデオ会議ネットワーク端末、オーディオ再生装置、個人用音楽プレーヤ、コンピュータ、サーバ、電話通信装置、携帯電話、携帯情報端末、VoIP電話装置、コールセンター装置、音声記録装置、音声メッセージ装置などが含まれる。例えば、ここに開示する技術は専用のオーディオ会議またはビデオ会議のエンドポイントにとって有用である。同様に、コンピュータまたは他の装置をデスクトップ会議またはデジタルオーディオの送受信に使用してもよく、ここで開示する技術はこれらの装置にとって有用である。A.会議エンドポイント上記のように、本開示のオーディオ処理装置には会議のエンドポイントつまり端末が含まれる。図2Aは、エンドポイントつまり端末100の実施例を略示する。図示のように、会議端末100は、ネットワーク125上の送信器および受信器の両方とすることができる。また、図示のように、会議端末100は、オーディオ会議能力はもとより、ビデオ会議能力を持つこともできる。概して、端末100はマイクロホン102およびスピーカ108を有し、ビデオカメラ103、ディスプレイ109、キーボード、マウス等の他の各種入力/出力装置を有してもよい。更に、端末100は、プロセッサ160、メモリ162、変換器電子回路164、および、特定のネットワーク125に適合したネットワークインターフェース122/124を有する。オーディオコーデック110は、ネットワーク端末用の適切なプロトコルに従って標準規格ベースの会議を提供する。これらの標準規格の全体を、メモリ162に格納されたソフトウエアで実装してもよく、プロセッサ160、専用ハードウエア、またはこれらの組合せを用いて実行する。送信パス送信経路では、マイクロホン102により収音されたアナログ入力信号が変換器電子回路164によりデジタル信号に変換され、端末のプロセッサ160上で動作するオーディオコーデック110がインターネット等のネットワーク125上に送信器インターフェース122を介して送信するためのデジタルオーディオ信号を符号化する符号器200を有する。ビデオ符号器170を有するビデオコーデックがあれば、ビデオ信号用の類似機能を実行できる。受信パス受信経路では、端末100は、オーディオコーデック110に接続されたネットワーク受信器インターフェース124を有する。復号器250は、受信したオーディオ信号を復号化し、変換器電子回路164が、スピーカ108へ出力するためにデジタル信号をアナログ信号に変換する。ビデオ復号器172を有するビデオコーデックがあれば、ビデオ信号用の類似機能を実行できる。B.オーディオ処理構成図2Bは、第1のオーディオ処理装置100A送信器として作用するが、圧縮されたオーディオ信号を第2のオーディオ処理装置100Bこの文脈では受信器として作用するへ送出する会議編成を示す。送信器100Aおよび受信器100Bはともに、ITUG.722.1PolycomSiren7またはITUG.722.1.CPolycomSiren14で使用されるものと類似の、変換符号化を実行する拡張可能なオーディオコーデック110を有する。説明のために、送信器および受信器100A、100Bは、オーディオ会議またはビデオ会議内のエンドポイントつまり端末とすることができるが、他の種類の装置であってもよい。動作中は、送信器100Aのマイクロホン102は、ソースのオーディオを取得し、電子回路がそのオーディオのブロックまたはフレームをサンプリングする。典型的には、オーディオのブロックまたはフレームのスパン間隔は入力オーディオの20msである。この時点で、オーディオコーデック110の正変換が、各オーディオフレームを1セットの周波数領域の変換係数群に変換する。次いで、当技術分野で公知の技法を用いて、これらの変換係数群を量子化器115により量子化し、符号化する。符号化されると、送信器100Aは、そのネットワークインターフェース120を用いて、パケット内の符号化された変換係数群をネットワーク125経由で受信器100Bに送出する。IPインターネットプロトコルネットワーク、PSTN公衆交換電話網、ISDNデジタル総合サービス網等を含むがそれらに限定はされない、任意の適切なネットワークを使用できる。それらの一部では、送信されるパケットは任意の適切なプロトコルまたは標準規格を使用できる。例えば、パケット内のオーディオデータは、TOCの後に続けることができ、オーディオフレームを含む全てのオクテットをユニットとしてペイロードに添えることができる。オーディオフレームおよびパケットに関する追加詳細はITU-T勧告G.722.1およびG.722.1Cに規定されるが、これらを引用して本明細書に組み込む。受信器100Bで、ネットワークインターフェース120はパケットを受信する。続く逆処理では、受信器100Bは、逆量子化器115およびコーデック110の逆変換を用いて、符号化された変換係数群を逆量子化し、復号化する。逆変換は、係数群を時間領域に変換して戻すことにより、受信器のスピーカ108用の出力オーディオ信号を生成する。オーディオ会議およびビデオ会議では、受信器100Bおよび送信器100Aは、会議をしている間、交互に動作する。C.オーディオコーデック動作オーディオコーデック110およびオーディオ処理装置100を理解したところで、オーディオコーデック110が本開示に従ってどのようにオーディオを符号化し、復号化するかの説明に移る。図3に示すように、送信器100Aのオーディオコーデック110は、時間領域のオーディオデータを受信しブロック310、オーディオデータのオーディオブロックまたはフレームを取り出すブロック312。正変換を用いて、オーディオコーデック110は、オーディオフレームを周波数領域の変換係数群に変換するブロック314。上記説明のように、オーディオコーデック110は、Polycom社のSiren技術を用いてこの変換を実行する。ここで、オーディオコーデックは、MP3、MPEGAAC等を含む任意の変換コーデックとすることができるが、それらに限定はされない。オーディオフレームを変換する場合、オーディオコーデック110は、フレームのスペクトル包絡線も量子化し、符号化するブロック316。この包絡線は符号化されるオーディオの振幅を記述するが、位相の詳細情報は何も提供しない。スペクトル包絡線の符号化はビット数をさほど必要としないので、直ちに完成させることができる。更に、以下から分かるように、ビットが送信から剥落された場合、スペクトル包絡線は、オーディオ復号化において後で使用され得る。インターネット等のネットワーク上で通信する場合、帯域幅が変わることがあり、パケットが失われることがあり、そして接続レートが異なることがある。これらの困難に対抗するために、本開示に係るオーディオコーデック110は拡張可能scalableである。この方法で、オーディオコーデック110は、より詳細に後述するプロセスで、利用可能な複数ビットビット数を少なくとも2つの周波数帯域間で割り当てる配分するブロック318。コーデックの符号器200は、割り当てられた周波数帯域のそれぞれにおいて変換係数群を量子化し、符号化しブロック320、次いで、領域の重要度に基づいて周波数領域毎にビットの順位を付け直すブロック322。全般的に見れば、符号化プロセス全体で約20msの遅延しか発生しない。より詳細に後述するビットの重要度判定は、いくつもの理由でビットが剥落する場合、遠端遠隔地点で再生できるオーディオ品質を向上させる。ビットの順位を付け直してから、ビットを遠端に送出するためにパケット化する。最後に、パケットを遠端に送信し、それにより次のフレームを処理できるようになるブロック324。遠端では、受信器100Bはパケットを受信し、それらを周知の技法に従って取り扱う。次に、コーデックの復号器250は、スペクトル包絡線を復号化して、逆量子化しブロック352、複数周波数帯域間に割り当てられた複数ビットを判定するブロック354。復号器250が周波数帯域間のビット割当てを判定する方法の詳細については後述する。ビット割当てが分かると、復号器250は変換係数群を復号化して、逆量子化しブロック356、各帯域の係数群について逆変換を実行するブロック358。最後に、復号器250はオーディオを時間領域に変換して戻し、受信器のスピーカ用に出力オーディオを生成するブロック360。D.符号化技術上記のように、開示のオーディオコーデック110は拡張可能であり、変換符号化を用いて、少なくとも2つの周波数帯域の配分ビットでオーディオを符号化する。拡張可能なオーディオコーデック100により実行される符号化技術の詳細を図4のフロー図に示す。最初に、オーディオコーデック110は、1フレームの入力オーディオ信号を得てブロック402、当技術分野で周知の変調重複変換を用いて、そのフレームを変換係数群に変換するブロック404。周知のように、これら変換係数群の各係数は、それぞれ大きさマグニチュードを有し、正であっても負であってもよい。また、オーディオコーデック110は、上記したように、スペクトル包絡線[0Hz~22kHz]を量子化し、符号化するブロック406。この時点で、オーディオコーデック110は、2つの周波数帯域間で1フレーム分の複数ビットを割り当てる配分するブロック408。このビット割当ては、オーディオコーデック110が受信オーディオデータを符号化するときにフレーム単位で動的に判定される。2つの帯域を分ける分割周波数が選択されることで、利用可能な第1の数のビットが該分割周波数以下の低周波数領域に割り当てられ、残りのビットが該分割周波数より上の高周波数領域に割り当てられる。帯域のビット割当てが決定された後、オーディオコーデック110は、低周波数帯域および高周波数帯域両方の正規化された係数を各割当てビット数により符号化するブロック410。次に、オーディオコーデック110は、これら両方の周波数帯域内の各周波数領域の重要度を決定しブロック412、決定された重要度に基づいて周波数領域を順位付けるブロック414。上記のように、オーディオコーデック110は、Sirenコーデックに類似させることができ、時間領域から、MLT係数を有する周波数領域へオーディオ信号を変換できる簡単にするために、本開示は、かかるMLT変換の変換係数に言及するが、FFT高速フーリエ変換およびDCT離散コサイン変換等の他の変換形式を用いてもよい。サンプリングレートで、MLT変換は約960個のMLT係数すなわち、25Hz毎に1つの係数を生成する。これらの係数は、0、1、2...のインデックスの昇順に従って周波数領域で並べられる。例えば、最初の領域0は周波数範囲[0~500Hz]をカバーし、次の領域1は[500~1000Hz]をカバーし、という具合である。従来なされていたように周波数領域を昇順で送出するだけでなく、拡張可能なオーディオコーデック110は、オーディオ全体の脈絡で領域の重要度を判定してから、重要度の高い方から重要度の低い方へという基準で領域の順位を付け直す。重要度に基づくこの再配列は、両方の周波数帯域で行われる。各周波数領域の重要度の判定は様々な方法で行うことができる。1つの実装例において、符号器200は、量子化した信号パワースペクトルに基づいて領域の重要度を判定する。この場合、大きなパワーを持つ領域の方が重要度が高い。別の実装例では、知覚モデルを用いて領域の重要度を判定できる。知覚モデルは、人が知覚しない外来オーディオ、ノイズ等をマスクする。これら技法についてはそれぞれ、より詳細に後述する。重要度に基づいて順位を付けてから、最も重要度が高い領域を最初に、続いて重要度がより低い領域を、というようにパケット化するブロック416。最後に、順位を付け、パケット化した領域をネットワークに載せて遠端に送出するブロック420。パケットを送出するとき、変換係数の領域の順位に関するインデックス情報は送出しなくてもよい。それが無くても、ビットストリームから復号化されるスペクトル包絡線に基づいて、復号器内でインデックス情報を計算できる。ビット剥落が発生すると、エンドポイントに向かってパケット化されたこれらのビットが剥落してしまうことがある。領域は順位付けられているので、より重要度の高い領域の係数が最初にパケット化されている。従って、ビット剥落が発生した場合、最後にパケット化された重要度の低い領域の方が剥落する可能性が高い。遠端では、送信器100Aにより最初に与えられた順位付け重要度を既に反映した受信データを、復号器250が復号化し変換する。こうして、受信器100Bがパケットを復号化し、時間領域のオーディオを生成した場合、受信器のオーディオコーデック110が、入力オーディオ内の、重要度が高い係数の方の領域を実際に受信し、処理する機会が増加える。予想されるように、帯域幅、計算能力、およびその他のリソースの変化が会議中に起き、それにより、オーディオが失われたり、符号化されなかったりする。オーディオ信号が複数帯域間でビット割り当てビット配分され、重要度で順位付けられるなら、オーディオコーデック110は更に有用なオーディオを遠端で処理する機会を増やすことができる。これら全てを考え合わせると、どのような理由であれオーディオ品質が低下する時に、ビットストリームからビットすなわち、部分的なビットストリームが剥落しても、オーディオコーデック110は依然として実用的なオーディオ信号を生成できる。1.ビット割当て上記のように、本願で開示する拡張可能なコーデック110は、利用可能なビット数を複数の周波数帯域間で割り当てる。図4Bに示すように、オーディオコーデック110は、特定のサンプリング周波数例えば、48kHzでオーディオ信号430をそれぞれ約20msの連続フレームF1、F2、F3等でサンプリングし、デジタル化する実際にはフレームが重なっていてもよい。従って、各フレームF1、F2、F3等は、約960個のサンプルを有する48kHzラ0.02s=960。次いで、オーディオコーデック110は、各フレームF1、F2、F3等を時間領域から周波数領域に変換する。所与のフレームに対して、例えば、この変換は図4Cに示すような1セットのMLT係数を生成する。この1フレームに約960個のMLT係数があるすなわち、25Hz毎に1つのMLT係数。符号化帯域幅が22kHzなので、約22kHzを超える周波数を表すMLT変換係数は無視される。符号化された情報をパケット化し、ネットワーク上に送信できるように、0~22kHzの周波数領域の変換係数セットを符号化しなければならない。一例では、オーディオコーデック110は、64kbpsの最高レートでフルバンドのオーディオ信号を符号化するように構成されている。更に、本明細書で説明するように、オーディオコーデック110は、1フレームを符号化するために利用可能なビット数を2つの周波数帯域間で割り当てる配分する。ビット数を割り当てるために、オーディオコーデック110は、利用可能な合計ビット数を第1の帯域[0~12kHz]と第2の帯域[12kHz~22kHz]の間で分割するようにできる。2つの帯域を分ける分割周波数12kHzは、主として会話の音質変化および主観テストに基づいて選定できる。所与の実装形態に対応して他の分割周波数を使用できるであろう。利用可能な合計ビットの分割は、2つの帯域の間のエネルギー比に基づいている。1つの実施例では、2つの帯域の間で分割するための4つのモードの可能性がある。例えば、64kbpsの利用可能な合計ビットを以下のように分割できる。遠端へ送信される情報内にこれら4つの可能性を表すには、符号器200が送信のビットストリーム内で2ビットを使用する必要がある。遠端復号器250は、これらの送信されたビットからの情報を用いて、受信時に所与のフレームに対するビット割当てを決定できる。ビット割当てが分かると、復号器250はこの決定されたビット割当てに基づいて信号を復号化することができる。図4Cに示す別の例では、オーディオコーデック110は、[0~14kHz]の第1の帯域LoBand440と、[14kHz~22kHz]の第2の帯域HiBand450との間で、利用可能な合計ビット数を分けることによりビット数を割り当てるよう構成されている。実装に応じて他の値を使用できようが、14kHzの分割周波数は、会話/音楽、ノイジー/明瞭、男声/女声等の主観的な聴覚品質に基づいていて好ましい。14kHzで信号をHiBandとLoBandとに分割することにより、拡張可能なオーディオコーデック110を既存のSiren14オーディオコーデックと同等にする。この例では、可能性のある8つの分割モードによりフレーム単位でフレームを分割できる。この8モードbitsplitmode;ビット分割モードは、2つの帯域440、450の間のエネルギー比に基づいている。ここで、低周波数帯域LoBandのエネルギーまたはパワー値をLoBandsPowerとする一方、高周波数帯域HiBandのエネルギーまたはパワー値をHiBandsPowerとする。所与のフレームの特定のモードbitsplitmode;ビット分割モードは以下のように決定される:ifbitsplitmode7elseifbitsplitmode6elseifbitsplitmode5elseifbitsplitmode4elseifbitsplitmode3elseifbitsplitmode2elseifbitsplitmode1elsebitsplitmode0ここで、低周波数帯域LoBandsPowerのパワー値は、として計算される、ここで、範囲インデックスi=0,1,2,...25である。各領域の帯域幅は500Hzなので、対応する周波数範囲は0Hz~12,500Hzである。既存のSirenコーデックに利用可能な予め定義済みの表を用いて、各領域のパワーを量子化して、quantizedregionpoweriの値を求めることができる。その部分については、高周波数帯域HiBandsPowerのパワー値も同様に計算する。但し、13kHz~22kHzの周波数範囲を使用する。従って、このビット割当て技術における分割周波数は、信号スペクトルは14kHzで分割されるが、実際には13kHzである。これは掃引サイン波テストに合格するように行われる。次に、上記のように、帯域のパワー値のエネルギー比から判定されたビット分割モードbitsplitmodeに基づいて、2つの周波数帯域440、450のビット割当てを計算する。詳細には、HiBand周波数帯域は、利用可能な合計64kbpsの内の164bitsplitmodekbpsを得る一方、LoBand周波数帯域は、利用可能な合計64kbpsの内の残りのビットを得る。これは、以下の8モードの割当てに展開される。遠端に送信された情報内のこれら8つの可能性を表すには、送信コーデック110がビットストリーム中に3ビットを使用する必要がある。遠端の復号器250はこれら3ビットにより指示されるビット割当てを使用でき、このビット割当てに基づいて所与のフレームを復号化できる。図4Dは、可能性のある8つのモード0~7のビット割当て460のグラフである。フレームは20ミリ秒のオーディオを有するので、64kbpsの最大ビットレートは、フレームあたり利用可能な合計1280ビットすなわち、64,000bps×0.02sに対応する。繰り返しになるが、使用するモードは、2つの周波数帯域のパワー値474、475のエネルギー比に依存する。様々な比470も図4Dにグラフとして描かれている。従って、HiBandのパワー値475がLoBandのパワー値474の4倍を超えると、決定されるビット分割モードbitsplitmodeは7となる。これは、LoBandの20kbpsまたは400ビットの第1のビット割当て464に対応し、利用可能な64kbpsまたは1280ビットの内のHiBandの44kbpsまたは880ビットの第2のビット割当て465に対応する。別の実施例として、HiBandのパワー値464が、LoBandのパワー値465の半分を超えるが、LoBandのパワー値464の1倍未満の場合、ビット分割モードbitsplitmodeは、3と決定される。これは、LoBandの36kbpsまたは720ビットの第1のビット割当て464と対応し、利用可能な64kbpsまたは1280ビットの内のHiBandの28kbpsまたは、560ビットの第2のビット割当て465と対応する。これら2つの可能性のあるビット割当ての形から分かるように、2つの周波数帯域の間でビット数を割り当てる方法を決定するのは、所与の実装形態のいくつかの細目に依存しており、これらのビット割当て方式が例示に過ぎないことを意味している。3つ以上の周波数帯域をビット割当てに関与させて、所与のオーディオ信号のビット割当てを更に精緻にすることも考えられる。従って、本開示の全体のビット割当ておよびオーディオの符号化/復号化は、3つ以上の周波数帯域をカバーするように拡張でき、また、本開示の教示により与えられる分割モード数を増加/減少させるように拡張できる。2.順位付け直し上記のように、ビット割当てに加えて、開示するオーディオコーデック110は、より重要な領域における係数の順位を付け直して、それらの係数が最初にパケット化されるようにする。こうすると、通信事情のせいでビットストリームからビットが剥落する時に、重要な領域の方が削除される可能性は低くなる。例えば、図5Aは、従来の、ビットストリーム500に入る領域のパケット順を示す。上記のように、各領域は、対応する周波数範囲の変換係数を有する。図示のように、この従来の構成では、周波数範囲[0~500Hz]の最初の領域0が最初にパケット化される。[500~1000Hz]をカバーする次の領域1が次にパケット化され、最後の領域がパケット化されるまでこのプロセスが繰り返される。その結果が従来のビットストリーム500であり、周波数領域0、1、2、...Nの昇順で領域が配列される。領域の重要度を判定し、次いで、より重要な領域をビットストリームの最初にパケット化することにより、本開示のオーディオコーデック110は、図5Bに示すようなビットストリーム510を生成する。ここで、最も重要な領域周波数範囲とは無関係にを最初にパケット化し、続いて2番目に重要な領域をパケット化する。このプロセスを重要度が最も低い領域がパケット化されるまで繰り返す。図5Cに示すように、何らかの理由で、ビット群がビットストリーム510から剥落することがある。例えば、ビットストリームの送信中または受信中にビット群が脱落することがある。しかし、残りのビットストリームは、保持されているビットについて、まだ復号化することができる。これらのビットは重要度に基づいて順位付けられているので、最も重要度が低い領域のビット520は、これが発生すると剥落する可能性が高くなる。最後に、図5Cで明らかなように、順位を付け直したビットストリーム510にビット剥落が発生しても、全体のオーディオ品質を維持することができる。3.重要度を決定するためのパワースペクトル技術上記のように、符号化オーディオ内の領域の重要度を判定する技術は、領域のパワー信号を用いて領域に順位を付けることである。図6Aに示すように、本開示に係るオーディオコーデック110が使用するパワースペクトルモデル600が、領域毎の信号パワーを計算するすなわち、領域0[0~500Hz]、領域1[500~1000Hz]等ブロック602。オーディオコーデック110がこれを行う1つの方法は、所与の領域内の各変換係数の二乗和を計算し、これを所与の領域の信号パワーに使用することである。所与の周波数帯域のオーディオを変換係数に変換してから例えば、図4のブロック410で実行するように、オーディオコーデック110は、各領域内の係数の二乗を計算する。現在の変換では、各領域は500Hzをカバーし、それぞれ25Hzをカバーする20個の変換係数を有する。所与の領域内のこれら20個の変換係数のそれぞれの二乗和が、この領域のパワースペクトルを生成する。対象とする帯域内の領域毎にこれを実行して、対象とする帯域内の領域毎にパワースペクトル値を計算する。領域の信号パワーの計算を終えるとブロック602、それらを量子化するブロック603。次に、モデル600がパワーの降順で領域をソートし、各帯域内の最大パワー領域で開始し、最小パワー領域で終了するブロック604。最後に、オーディオコーデック110は、決定された順位で係数のビットをパケット化することにより、モデル600を完了させるブロック606。結局、オーディオコーデック110は、領域の信号パワーに基づき他の領域と比較して領域の重要度を判定している。この場合、大きなパワーを有する領域は高い重要度を有する。最後にパケット化された領域が、送信プロセス内の何らかの理由で剥落した場合、より大きなパワー信号を有するこれらの領域が最初にパケット化され、剥落しない有用なオーディオを含む可能性が高い。4.重要度を判定するための知覚技法上記のように、符号化信号内の領域の重要度を判定するための別の技術は、知覚モデル650を使用する。その一例を図6Bに示す。最初に、知覚モデル650は、2つの帯域のそれぞれの各領域の信号パワーを計算するが、上記とほとんど同じ方法で行うことができブロック652、次いで、モデル650は信号パワーを量子化するブロック653。次に、モデル650は、領域毎の変更した領域パワー値すなわち、modified_region_powerを定義するブロック654。変更した領域パワー値は、所与の領域の重要度を考慮する場合、周囲の領域の影響を考慮して重み付けした合計に基づく。従って、知覚モデル650は、1つの領域内の信号パワーが別の領域内の量子化ノイズをマスクでき、2つの領域がスペクトル上で近い場合にこのマスキング効果が最大になるという事実を利用している。従って、所与の領域の変更した領域パワー値すなわち、modified_region_powerregion_indexを次のように定義できる:SUMここで、r[043]であり;quantizedregionpowerは、領域の算出信号パワーであり;weightregionindexrは、スペクトル距離|regionindex-r|が増加すると減少する固定関数である。従って、知覚モデル650は、重み付け関数が以下のように定義されると、図6Aのモデルに帰着する:rregionindexのとき、weight1rregionindexのとき、weight0上記概説したように、変更した領域パワー値を計算してから、知覚モデル650は、降順で変更した領域パワー値に基づいて領域をソートするブロック656。上記のように、特に、2つの領域がスペクトル上で互いに近い場合、重み付けをしたことにより、1つの領域の信号パワーは別の領域の量子化ノイズをマスクできる。次いで、オーディオコーデック110は、決定された順位で領域のビットをパケット化することによりモデル650を完了させるブロック658。5.パケット化上記説明のように、開示のオーディオコーデック110は、低周波数および高周波数の帯域に使用される特定のビット割当ての詳細を遠端の復号器250へ送出できるように、ビットを符号化し、それらをパケット化する。更に、スペクトル包絡線が、パケット化される2つの周波数帯域における変換係数の割当てビットと共にパケット化される。以下の表は、近端から遠端へ送信されるべき所与のフレームのビットストリームにおいてビットがパケット化される第1ビットから最後のビットまで方法を示す。表から分かるように、特定のビット割当てを指示する可能性のある8つのモードの3ビットをフレーム用に先ずパケット化する。次に、この帯域のスペクトル包絡線用のビット群を最初にパケット化することにより低周波数帯域LoBandをパケット化する。普通、包絡線は振幅情報を含むが位相情報は含まないので、少ない符号化ビットで済む。包絡線用のビット群をパケット化した後、特定の割当てビット数を低周波数帯域LoBandの正規化係数用にパケット化する。スペクトル包絡線用のビット群は、それらビットの典型的な昇順に基づいてパケット化されるだけである。更に、上記概説したように、低周波数帯域LoBandの係数用に割り当てられたビット群が重要度に従って順位が付け直されている時、それらビットがパケット化される。最後に、表から分かるように、高周波数帯域HiBandを、この帯域のスペクトル包絡線用のビット群を先ずパケット化することによりパケット化し、次いで、同じ方法で、HiBand周波数帯域の正規化係数用の特定の割当て数からなるビット群をパケット化する。E.復号化技術先に、図2Aで説明したように、本開示のオーディオコーデック110の復号器250は、パケットを受信すると、それらのビットを復号化するので、オーディオコーデック110は、係数を時間領域に変換して戻すことにより、出力オーディオを生成することができる。この処理を図7に詳細に示す。最初に、受信器例えば、図2Bの100Bがビットストリームでパケットを受信し、周知の技術を用いてパケットを処理するブロック702。パケットを送出する場合、例えば、送信器100Aは、送出されるパケットに含まれるシーケンス番号を作成する。周知のように、パケットは、送信器100Aから受信器100Bまで、ネットワーク125上の様々なルートを通過することがあるので、パケットは受信器100Bに様々な時間に到着するかもしれない。つまり、パケットが到着する順序はランダムとなる。このジッターと呼ばれる変化する到着時間を処理するために、受信器100Bは受信器のインターフェース120に接続されるジッターバッファ不図示を有する。典型的には、ジッターバッファは、同時に4つ以上のパケットを保持する。従って、受信器100Bは、パケットのシーケンス番号に基づいてジッターバッファ内のパケットを並べ替える。ビットストリーム内の最初の3ビットを用いて例えば、図5Bの520、復号器250は、処理される所与のフレームのビット割当て用パケットを復号化するブロック704。上記のように、構成によって、1つの実装内に8つのビット割当ての可能性がある。使用される分割が分かると最初の3ビットにより指示される、復号器250は帯域毎に割り当てられた数のビットを復号化できる。低周波数で開始すると、復号器250は、フレーム用の低周波数帯域LoBandのスペクトル包絡線を復号化し、逆量子化するブロック706。次に、復号器250は、ビットが受信され、剥落されていない限り、低周波数帯域の係数を復号化し、逆量子化する。従って、復号器250は順次に、繰返しプロセスを経由し、それ以上ビットが残っているかどうかを判定する決定710。ビットが利用可能な限り、復号器250は、低周波数帯域内の領域の正規化係数を復号化しブロック712、現在の係数値を計算するブロック714。この計算のために、復号器250は、変換係数をスペクトル包絡線の値に、正規化した係数の値を乗じてcoeff=envelopnormalized_coeffとして計算するブロック714。これを、全てのビットを復号化し、低周波数帯域のスペクトル包絡線値を乗じるまで続ける。ビットは周波数領域の重要度に従って順位付けられているので、復号器250は、ビットストリームが剥落したビットを持っているかどうかに関わらず、たいていはビットストリーム内の最も重要な領域を最初に復号化する。次に復号器250は2番目に重要な領域、というように以下順次復号化する。復号器250は全てのビットが使用されてしまうまで続ける判定710。全てのビットを処理したら実際には、ビット剥落のせいで元のまま復号化された全てのビットでないかもしれない、剥ぎ取られているかもしれない最低重要度のこれら領域をノイズで満たし、この低周波数帯域内の信号の残っている部分を完了させる。ビットストリームでビットが剥落している場合、剥落したビットの係数情報は失われている。しかし、復号器250は、低周波数帯域のスペクトル包絡線を既に受信し、復号化している。従って、復号器250には少なくともその信号の振幅が分かっているが、位相は分からない。ノイズを満たすために、復号器250は剥落したビット内に既知の振幅についての位相情報を満たす。ノイズで満たすために、復号器250は、ビットが欠けているいずれかの残りの領域用の係数を計算するブロック716。残りの領域用のこれらの係数は、ノイズ充填値NOISEFILLを乗じたスペクトル包絡線の値として計算される。このノイズ充填値NOISEFILLは、ビット剥落のせいで欠けて失われた領域の係数を満たすために用いられるランダム値とすることができる。ノイズで満たすことにより、端末の復号器250は、10kbpsのような極端に低いビットレートであっても、ビットストリームをフルバンドとして知覚できる。低周波数帯域を処理した後、復号器250は高周波数帯域HiBandの全体の処理を繰り返すブロック720。従って、復号器250は、HiBandのスペクトル包絡線を復号化して、逆量子化し、ビットの正規化係数を復号化し、ビットの現在の係数値を計算し、そしてビットを欠いた残りの領域剥落していればのノイズ埋込み係数を計算する。復号器250が、LoBandおよびHiBand両方の全ての領域の変換係数を決定し、スペクトル包絡線から導かれた領域の順位を知り得たので、復号器250は変換係数に逆変換を実行して、フレームを時間領域に変換するブロック722。最後に、オーディオコーデックは時間領域でオーディオを生成するブロック724。F.オーディオ欠損パケットの復元ここで開示するように、拡張可能なオーディオコーデック110はビット剥落が発生している場合のオーディオ処理に有用である。加えて、拡張可能なオーディオコーデック110は、パケットロス欠損復元の支援に用いることもできる。パケットロスに対抗する普通のアプローチは、出力用に既に処理してある、以前に受信したオーディオを単に繰り返して、パケットロスでできた空隙を埋めることである。このアプローチは、オーディオの空隙によって発生する歪みを減らせるが、歪みを解消することはない。例えば、5を超えるパケットロスのレートでは、以前送信されたオーディオを繰り返すことにより発生するアーチファクトが目立つようになる。拡張可能なオーディオコーデック110は、連続するパケットにおいて1オーディオフレームの高品質バージョンと低品質をインターレースする織り混ぜることによりパケットロスに対抗する。これは拡張可能であり、異なる品質でオーディオフレームを2回符号化しなくてよいので、オーディオコーデック110は計算コストを低減させることができる。それどころか、拡張可能なオーディオコーデック110が既に生成した高品質バージョンからビットを落とすだけで低品質バージョンが得られる図8は、送信器100Aにある本開示の拡張可能なオーディオコーデック110が、オーディオ信号を2回符号化しなくてもオーディオフレームの高品質と低品質のバージョンをインターレースできる方法を示す。以下の説明で、フレームについての言及は、本明細書で説明するような20ms位のオーディオブロックを意味している。更に、インターレース織り混ぜ処理は、送信パケット、変換係数領域、ビット補正等に適用できる。加えて、32kbpsの最小一定ビットレートおよび、より低品質の8kbpsのレートについても説明するが、オーディオコーデック110が用いるインターレース技術は他のビットレートにも適用できる。典型的には、このオーディオコーデック110は、32kbpsの最小一定ビットレートを用いて劣化しないオーディオ品質を達成できる。パケットはそれぞれ20msのオーディオを持っているので、この最小ビットレートは640ビット/パケットに相当する。但し、このビットレートは、無視できるほどの主観的な歪みを持つ8kbpsつまり160ビット/パケットに低下することが稀にある。これは、640ビットで符号化されたパケットが、160ビットだけで符号化されたこれらの稀に発生するパケットからの符号化歪みをマスクするように見えるので起こり得る。このプロセスでは、送信器100Aのオーディオコーデック110が、最小でも32kbpsのビットレートを与えられた各20msパケット毎の640ビットを用いて、現在の20msのオーディオフレームを符号化する。パケットロスの可能性に対処するために、オーディオコーデック110は、未来の各フレーム毎に低品質の160ビットを用いて、未来のN個のオーディオフレームを符号化する。しかし、フレームを2回符号化しなければならないのではなく、代わりに、オーディオコーデック110が高品質バージョンからビットを落とす処理を行うことにより低品質の未来のフレームを作成する。何らかの送信オーディオ遅延を導入できるので、送信器100Aにオーディオ遅延を追加しなくても、符号化できる可能性のある低品質フレームの数は、例えば、N=4に制限してもよい。この段階で、次に、送信器100Aは高品質ビットと低品質ビットを単一パケットに組み合せ、それを受信器100Bに送出する。図8に示すように、例えば、第1のオーディオフレーム810aは、32kbpsの最小一定ビットレートで符号化される。第2のオーディオフレーム810bも、同じく32kbpsの最小一定ビットレートで符号化されるが、160ビットの低品質でも符号化される。本明細書で説明するように、この低品質バージョン814bは、既に符号化されている高品質バージョン812bからビットを落とすビットレートを落とすことにより実際に達成される。このオーディオコーデック110が重要度の領域を区分するとすると、高品質バージョン812bから低品質バージョン814bへとビットを落とすことは、この低品質バージョン814bにおいても何らかの有用なオーディオ品質が実際に保持されるであろう。第1の符号化パケット820aを生成するために、第1のオーディオフレーム810aの高品質バージョン812aを、第2のオーディオフレーム810bの低品質バージョン814bと組み合せる。この符号化パケット820aは、上記のように分割された低周波数および高周波数の帯域のためのビット割当ておよび順位付け直しの技術を組み込むことができ、かつ、これら技術は、高品質および低品質のバージョンの一方または両方812a/814bに適用できる。従って、例えば、符号化したパケット820aには、ビット分割割当ての指示、フレームの高品質バージョン812aの低周波数帯域の第1のスペクトル包絡線、低周波数帯域の順位付けられた領域重要度の第1の変換係数、フレームの高品質バージョン812aの高周波数帯域の第2のスペクトル包絡線、および高周波数帯域の順位付けられた領域重要度の第2の変換係数を含めることができる。次いで、これに、ビット割当て等と無関係に後続のフレームの低品質バージョン814bだけが続く。代替として、後続のフレームの低品質バージョン814bは、スペクトル包絡線および2つの帯域周波数の係数が含むことができる。高品質符号化、低品質へのビット落とし、および隣接するオーディオフレームとの組合せは、符号化プロセス全体を通じて繰り返される。従って、例えば、第3のオーディオフレーム810cの低品質バージョン814cすなわち、ビット落としバージョンと組み合わされた第2のオーディオフレーム810bの高品質バージョン812bを含む第2の符号化パケット820bが生成される。受信端末で、受信器100Bは送信されたパケット820を受信する。パケットが良好であればすなわち、受信されると、受信器のオーディオコーデック110は、現在の20ミリ秒のオーディオを表す640ビットを復号化し、受信器のスピーカにそれを提供する。例えば、受信器110Bで受信した第1の符号化パケット820aが良好なので、受信器110Bはパケット820aの第1のフレーム810aの高品質バージョン812aを復号化して、第1の復号化オーディオフレーム830aを生成する。受信した第2の符号化パケット820bも良好かもしれない。従って、受信器110Bは、このパケット820bの第2のフレーム810bの高品質バージョン812bを復号化して、第2の復号化オーディオフレーム830bを生成する。パケットが不良または失われている場合、受信器のオーディオコーデック110は、受信した最新の良好パケットに含まれる現在のフレームの低品質バージョン160ビットの符号化データを用いて、失われたオーディオを復元する。図示のように、例えば、第3の符号化パケット820cは送信中に失われてしまった。従来なされていたように別のフレームのオーディオで空隙を埋めるのではなく、受信器100Bのオーディオコーデック110は、失われたフレーム820cに代えて、良好だった前回の符号化パケット820bから得られる低品質オーディオバージョン814cを用いる。次に、この低品質オーディオを用いて、失われた第3の符号化オーディオフレーム830cを再構築できる。こうして、失われたパケット820cのフレームに、低品質ではあるが、実際に失われたオーディオを使用できるのである。しかも、この低品質は、マスキングのせいで知覚的な歪みをさほど起こさないと予想される。本開示の拡張可能なオーディオコーデックを会議システムのエンドポイントつまり端末で使用するための説明を行ってきた。しかし、開示の拡張可能なオーディオコーデックは、エンドポイント、端末、ルータ、カンファレンスブリッジ等の各種の会議システムのコンポーネントで使用することができる。これらのそれぞれにおいて、本開示の拡張可能なオーディオコーデックは、帯域幅、計算、およびメモリーリソースを節約できる。同様に、本開示のオーディオコーデックは、短い待ち時間および少ないアーチファクト作為という点でオーディオ品質を改善することができる。本開示の技法は、デジタル電子回路もしくはコンピューターハードウエア、ファームウエア、ソフトウエア、またはこれらの組合せに実装することができる。これらの技法を実施する装置は、プログラマブルプロセッサが実行するためのマシン読取り可能な格納装置へ具体的に実装されるコンピュータープログラム製品に実装でき、開示する技法の方法ステップは、命令プログラムを実行するプログラマブルプロセッサにより実行されて、入力データ上で動作し、出力を生成することにより開示する技法の機能を実行できる。適切なプロセッサには、例示に過ぎないが、汎用および専用の両方のマイクロプロセッサが含まれる。概して、プロセッサは、命令とリードオンリーメモリおよび/またはランダムアクセスメモリからのデータとを受け取る。概して、コンピュータにはデータファイルを格納するための1つ以上の大容量記憶装置が含まれ、そのような装置には、内蔵ハードディスクおよびリムーバブルディスクのような磁気ディスク;光磁気ディスク;および光ディスクが含まれる。コンピュータープログラム命令およびデータを具体的に実装するために適した格納装置には、例示にすぎないが、EPROM、EEPROM、およびフラッシュメモリデバイス等の半導体メモリーデバイス;内蔵ハードディスクおよびリムーバブルディスク等の磁気ディスク;光磁気ディスク;およびCD-ROMディスクを含むあらゆる形式の不揮発メモリが含まれる。上記の内の何れかは、ASIC特定用途向け集積回路により補完されるか、またはASICに組み込むことができる。好適な実施の形態および他の実施の形態についての上記説明は、出願人が着想した本発明の概念の範囲または用途を制限または限定するものではない。本明細書に含まれる発明概念を開示する代わりに、本出願人は付帯する特許請求の範囲により付与される全ての特許権を希求する。従って、付帯する特許請求の範囲は、以下の請求項またはその均等物の範囲内にある限りにおいて、あらゆる変形および代替が含まれるものとする。"