(57)【特許請求の範囲】
【請求項１】
量子化された変換係数をもつサンプルブロックを含む入力信号を受けるシステムにおいて、量子化された変換係数をエントロピーコーディングする方法であって：
前記量子化された変換係数をもつサンプルブロックにおける連続するゼロについて、第１の可変長から固定長へのエンコーディング辞書を用いて当該連続するゼロを新しいシンボルに置き換え（１５１４）；そして、
量子化された変換係数の入力ブロックに基づく確率密度関数から計算される第２の可変長から固定長へのエンコーディング辞書を用いて、前記新しいシンボルに置き換えられたサンプルブロックをエンコードして、情報ビットにより定義されるチャネルシンボルを作成する（１５１６）
ことを含む方法。
【請求項２】
前記サンプルブロックについて絶対値を算出し（１５１０）；そして、
量子化された変換係数のピーク値を丸め処理する（１５１２）、
ことをさらに含み、
丸め処理されたピーク値は、前記連続するゼロを置き換えるステップ（１５１４）、およびチャネルシンボルを作成するステップ（１５１６）において用いられる
ことを特徴とする請求項１に記載の方法。
【請求項３】
連続するゼロ値を置き換えるステップ（１５１４）は、全ての量子化された変換係数からなるベクトルを操作して、新たなシンボルソースを作成することを含む請求項１または２に記載の方法。
【請求項４】
連続したゼロの値が所定の範囲にある場合にのみ連続したゼロの値を特定のシンボルで置き換える（１５１４)ことを特徴とする請求項１乃至３のうちのいずれか１項に記載の方法。
【請求項５】
前記サンプルブロックについて絶対値の最大値の算出が、最大絶対値が発見されるまで全ての量子化された値をスキャンすることにより行われる（１５１０)ことを特徴とする請求項１乃至４のうちのいずれか１項に記載の方法。
【請求項６】
量子化された変換係数のピーク値の丸め処理は、算出された絶対値の最大値を量子化することにより行われ、ここで、当該ピーク値のパワーが４から５１２の範囲であれば当該ピーク値を３ビットでエンコードする（１５１２)ことを特徴とする請求項１乃至５のうちのいずれか１項に記載の方法。
【請求項７】
各ソースシンボルに可変長のコードワードをあてはめることをさらに含み、可変長から固定長にするエンコーダの前記コードワードの長さは同じである(１５１６)ことを特徴とする請求項１乃至６のうちのいずれか１項に記載の方法。
【請求項８】
有効なビットレートを制御し、そして再構成の忠実度を保持するために、最適な量子化ステップサイズを決定するステップをさらに含み、
当該決定するステップは、
有限組の量子化ステップサイズを予め決定し(４２８)；そして、
予め設定された所望のレートとビットレートが一致するまで、前記量子化ステップサイズを回帰的に調整する２値化サーチを用いて、前記有限組の範囲内で最適な値を検索する（４２８)ことを含む
ことを特徴とする請求項１乃至７のうちのいずれか１項に記載の方法。
【請求項９】
前記量子化ステップサイズは、前記予め設定された所望のレートを超えない範囲内において、前記ビットレートが前記予め設定されたレートと一致するまで回帰的に調整される(４２８)ことを特徴とする請求項８に記載の方法。
【請求項１０】
前記有限組の量子化ステップサイズは、前記入力信号についての調節的なスケーリングに依存することを特徴とする請求項８または９に記載の方法。
【請求項１１】
量子化された変換係数を作成するために入力信号の入力サンプルブロックをエンコードするエンコーダによってコード化された周波数領域の変換係数を有するシステムにおいて、前記エンコーダのソースシンボルをパラメトリックモデル化する方法であって、
前記入力サンプルブロックに適合した数学的な変換および指数確率密度関数を求めることによって確率分布関数を算出し(１６１０)；
算出された前記確率分布関数に基づくシンボル確率から、入力ストリングについての可変長から固定長へのエンコーディング辞書を作成する(１６１０)
ことを含む方法。
【請求項１２】
前記確率分布関数の算出は、量子化された変換係数の最大値によって定義される単一のパラメータと、少なくとも１つの調整可能なパラメータを有するクローズドモデルを使用する(１６１０)ことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記確率分布関数は、前記量子化された変換係数のピーク値に直接関係する単一のパラメータによって制御される形状からなることを特徴とする請求項１２に記載の方法。
【請求項１４】
前記確率分布関数は、前記入力サンプルブロックの絶対値の最大値によって制御されることを特徴とする請求項１１に記載の方法。
【発明の詳細な説明】
【０００１】
技術分野
本発明はデジタル信号の圧縮方法、特に、デジタル化された音声信号の縮尺可変なエンコードとデコードを行うシステムと方法に関するものである。
【０００２】
背景技術
現在多くのアプリケーションでデジタル音声が扱われている。例えば、音楽コンパクトディスク（ＣＤ）、インターネットオーディオクリップ、衛星放送テレビ、デジタルビデオディスク（ＤＶＤ）や（有線又は無線の）電話はデジタル音声技術を使用している。音声信号のデジタル表現は、アナログ・デジタル（Ａ／Ｄ）変換器によって、アナログ音声信号をデジタル信号に変換して得られる。デジタル表現は次にエンコード、圧縮、記憶、伝送、使用等に供される。その後、デジタル信号は、必要に応じて、デジタル・アナログ（Ｄ／Ａ）変換器によってアナログ信号に逆変換される。Ａ／Ｄ変換器やＤ／Ａ変換器は次ぎに示す標準周波数のうちの１つを使用してアナログ信号をサンプリングする：電話、インターネット、ビデオ会議の場合８ｋＨｚ；インターネット、ＣＤ−ＲＯＭの場合１１．０２５ｋＨｚ；ビデオ会議、長距離音声放送、インターネット、将来の電話の場合１６ｋＨｚ；ＣＤ−ＲＯＭとインターネットの場合２２．０５ｋＨｚ；ＣＤ−ＲＯＭ、ビデオ会議、ＩＳＤＮオーディオの場合３２ｋＨｚ；音楽ＣＤの場合４４．１ｋＨｚ；およびスタジオでの楽音作成の場合４８ｋＨｚである。
【０００３】
変換後に音声信号をエンコード又は圧縮する場合、典型的な例では、Ａ／Ｄ変換器によって作成されたデータビットは、通常、個々の楽音サンプルが１６ビットでフォーマットされた構造である。例えば音楽ＣＤの場合、処理前のビットレートは４４．１ｋＨｚ×１６ビット／サンプル＝７０５．６ｋｂｐｓ（秒当たりのキロビット）である。電話の場合は、処理前のビットレートは８ｋＨｚ×８ビット／サンプル＝６４ｋｂｐｓである。記録容量が約７００メガバイト（５６００メガビット）である音楽ＣＤの場合、処理前のビットデータを記録することができ、圧縮の必要はない。しかし、ミニディスクの記録容量は１４０メガバイトであり、２．５インチのミニディスクに３０分から１時間の音楽を記録するためには約４：１の圧縮が必要である。
【０００４】
インターネット電話やその他の多くの場合、処理前のビットレートは現在のチャンネル容量に対して過大である。したがって、高い圧縮率を有する（一般にコーダ／デコーダまたはコーデック）効率的なエンコーダ／デコーダが用いられる。例えば、インターネット電話の場合、処理前のビットレートは６４ｋｂｐｓであるが、望ましいチャンネルビットレートは５から１０ｋｂｐｓの間である。したがって、コーデックは音声信号の感知できる品質低下を最小限に抑えつつビットレートを５ないし１５分の１に圧縮する必要がある。
【０００５】
最近の演算チップによれば、コーデックはプログラム可能なデジタル信号処理（ＤＳＰ）チップに代表される専用のハードウエアに装備することもできるし、汎用コンピュータのソフトウエアとして装備することも可能である。したがって、コーデックスは例えば、１）演算処理が複雑でなく（記録された音楽に関してはエンコードの複雑さは通常問題にならない）；２）再生の忠実度が高く（品質に関する要求は適用対象によって異なる）；３）信号の変化に対する耐性が高く（音声信号は明瞭な声、雑音交じりの声、複数の人の声、音楽等であり、コーデックが扱うことのできる信号の範囲は広いほど好ましい）；４）遅延が少なく（電話やビデオ会議のようなリアルタイムで利用する場合）；５）スケーラブルであり（サンプリングレートやチャンネル容量に対して容易に適応可能であること−特にエンコード後にスケーラブルであること、換言すれば再エンコード無しで異なるサンプリングレートやチャンネルレートに対応できること、が望ましい）；そして、６）圧縮された状態で信号の編集が可能であること（コーデックが圧縮された状態での処理を許容するものであれば、あるいは少なくとも全面的なデコードと再エンコードを必要としないものであれば、複数チャンネルのミキシングのような処理、干渉低減やその他の処理を高速で行うことができる）が望ましい。
【０００６】
現在、市販のシステムは非常に多数の異なるデジタルオーディオ技術を使用している。これらを例示すれば：ＩＴＵ−Ｔ標準：Ｇ．７１１、Ｇ．７２６、Ｇ．７２２、Ｇ．７２８、Ｇ７２３．１およびＧ．７２９；その他の電話用標準；ＧＳＭ、ハーフレートＧＳＭ、携帯ＣＤＭＡ（ＩＳ−７３３）；ハイファイオーディオ；ドルビーＡＣ−２とＡＣ−３、ＭＰＥＧ  ＬＩＩとＬＩＩＩ、ソニー  ミニディスク；インターネット  オーディオ；ＡＣＥＬＰ−Ｎｅｔ、ドルビー  ネット、ピクチャー  テル  サイレン、リアルオーディオ、および軍用アプリケーション；ＬＰＣ−１０とＵＳＦＳ−１０１６ヴォイスコーダである。
【０００７】
しかし、現在使用されているこれらのコーデックにはいくつかの限界がある。特に、現在のコーデックの演算上の複雑さは十分低いとはいえない。例えば、コーデックがＯＳに組み込まれている場合、コーデックはＣＰＵをあまり占有せずに、他のアプリケーションと同時に動かせるものでなければならない。他の問題は遅延である。例えば、リアルタイムの通信を行うには、コーデックは１００ｍｓ以下の遅延で完全な音声収録／再生動作を行うことができるものでなければならない。
【０００８】
他の問題は、信号の変化に対する耐性である。コーデックは、明瞭な声だけでなく反響音、オフィスの騒音、電気的ノイズ、背景音楽等を含む音声や、音楽、ダイアルトーンやそれ以外の音声を取り扱えることが望ましい。同様に、現在存在するほとんどのコーデックが有する欠点は、スケーラビリティの限界、信号サンプリング周波数とチャンネルデータ速度の変化に対応できる幅が狭いことである。例えば、現在のアプリケーションの多くは複数の異なるコーデックを使用しなければならない、これは、多くのコーデックが特定のサンプリングレートの幅にのみ対応していることに原因がある。これに関連して、再コーディング無しでサンプリングレートやデータ処理速度の変化に対応できるコーデックが望まれている。
【０００９】
他の問題は、複数者間における電話会議では、サーバーは種々の参加者からの音声信号を処理しなければならない点である。多くのコーデックはミキシングの前に全てのデータストリームをデコードすることを必要としている。ミキシングの前に全てのデータストリームをデコードすること無しに、エンコードされたあるいは圧縮されたままの状態でミキシングを行うことができるコーデックが望まれる。
【００１０】
さらにまた別の問題は、信号の改良機能と関連したものである。例えば現在使用されている音声用パスはコーデックによる処理の前に信号改良モジュールを有することがある。例えば、ハンドフリー電話会議の場合、スピーカからの信号がマイクに拾われて人の声と干渉することが起こる。したがって、スピーカからマイクへの干渉を除去するためにエコー除去アルゴリズムが使用されるのが一般的である。それ以外の改良用の装置は自動ゲイン制御、雑音抑制装置等である。これらの改良装置はコーディング／デコーディングによる遅延にさらに遅延を追加することになる。したがって、コーデックによる遅延以外に遅延を生じさせずにこれらの信号改良を行うことができる、単純な改良プロセスを有するコーデックが必要とされている。
【００１１】
コーデックに関するさらにほかの問題はビットやパケットロスに対する耐性の欠如である。ほとんどの現実的なリアルタイムアプリケーションでは、エラーの生じない通信チャンネルは存在しない。無線チャンネルは高いエラーレートを有し、場合によっては（例えばインターネットのような）パケット−接続チャンネルは大きなパケット損失を生じる。したがって、例えば圧縮されたビットストリームの５％以下の損失に対して重大な劣化を生じないコーデックが必要とされている。
上述の従来のシステムと方法はどのような利点があるにせよ、本発明の効果を奏することはできない。
【００１２】
本発明の開示
先行技術が有する上記のような限界を克服するために、また本明細書を読んで理解すれば自明となるであろう限界を克服するために、本発明は新規なコーダ／デコーダ（コーデック）を有する音声信号のスケーラブルなエンコードとデコードを可能にするシステムと方法を提案する。
【００１３】
本発明によるコーデックシステムは、コーダとデコーダを具備する。コーダは、変調重複変換（ＭＬＴ）変換プロセッサのような複数解像度変換プロセッサ、重み付けプロセッサ、均一量子化装置、マスキング閾値スペクトルプロセッサ、エントロピーエンコーダ、およびこれらの装置から受け取った信号を単一の装置に伝達するためにマルチプレクシング（結合）を行うマルチプレクサ（ＭＵＸ）のような連結装置を有する。デコーダは、エンコーダとは逆の装置、例えば、複数解像度逆変換プロセッサ、逆重み付けプロセッサ、逆均一量子化装置、逆マスキング閾値スペクトルプロセッサ、逆エントロピーエンコーダ、および逆ＭＵＸを有する。これらの要素によって、本発明は解像度切り替え、スペクトル重み付け、デジタルエンコーディングおよびパラメトリックモデリングを行うことができる。
【００１４】
本発明の特徴と利点として演算の単純さを挙げることができる。本発明のコーデックがＯＳの中に組み込まれると、ＣＰＵを大きく利用せずに他のアプリケーションと並行実施が可能である。本発明のコーデックによって、例えば１００ｍｓ未満の遅延によって完全な音声取り込み／再生システムを動作させることができ、リアルタイム通信が可能になる。本発明のコーデックは信号の変化に対して優れた耐性を有し、明瞭な声だけでなく反響音、オフィスの騒音、電気的ノイズ、背景音楽等によって品質が低下した音声と、音楽、ダイアルトーンやその他の音声を取り扱うことができる。さらに、本発明のコーデックはスケーラブルであり、幅広い範囲の信号サンプリング周波数とチャンネルデータ速度に対応することができる。さらに、本発明のコーデックは再エンコードすること無しにサンプリングレートやデータ処理レートの変更に対応する。例えば、本発明によるコーデックは全面的なデコーディングと再エンコーディング無しに３２ｋｂｐｓのデータストリームを１６ｋｂｐｓのデータストリームに変換することができる。このことによって、サーバはオーディオクリップの忠実度の高いバージョンだけを記録し、送出する際に必要に応じて変換することも可能になる。
【００１５】
同様に、複数者間での電話会議に関して、本発明によるコーデックはミキシング前に全てのデータストリームをデーコードすること無しにエンコード又は圧縮されたままの状態でミキシングを可能にする。このことによってサーバが取り扱うことのできる音声データストリームの数が飛躍的に増大する。さらに、本発明に基づくコーデックは、コーデックによる遅延以外には遅延を生じずに信号改良処理を行うことによって比較的簡単に信号改良処理を実現することができる。さらに、本発明によるコーデックの他の特徴はビットロスやパケットロスに対する耐性の高さである。例えば、ほとんどの現実的なリアルタイムアプリケーションにおいて、通信チャンネルにエラーは不可避である。無線通信チャンネルは高いビットエラー率を有し、（インターネットのような）パケット−接続チャンネルは高いパケット喪失率を有するが、本発明によるコーデックは圧縮されたビットストリームの損失が５％未満であれば信号の劣化を小さく抑えることができる。
【００１６】
添付の図面を参照して以下の段落において行う本発明の詳細な説明によって、本発明の上述の特徴および上述以外の長所と本発明のより完全な理解が得られるはずである。図面全体を通じて同一の参照番号は同じ部分を示す。
【００１７】
本発明を実施するための最善の形態
本発明に関する以下の記載においては、本発明の実施態様を例示するために具体例を示した、発明の記述の一部をなす図面を参照する。本発明の範囲を逸脱することなく記載以外の実施態様を利用することも可能であり、構造の変更も可能であることを理解しておくことが必要である。
【００１８】
導入部
現在の音声コーディング標準の多くでは、３２ｋｂｐｓ以上のビットレートでサンプル当り２ビット以上に対応する変換又はサブバンドコーダが使用されている。上記以下のビットレートでは、１ビット／サンプルのデータが電話会議用のＧ．７２９やＧ．７２３．１音声コードで使用されている。このようなコーデックは陽関数表現されたスピーチプロダクションモデルに依存しており、したがって、この性能は、複数のスピーカ、雑音の多い環境や特に音楽信号の存在によって急速に低下する。
【００１９】
高速のモデムが使用できるようになったために、多くのアプリケーションが狭帯域（バンド幅３．４ｋＨｚ）音声の８−１２ｋｂｐｓに対応しており、より忠実度の高い素材に対してはよりビットレートの高いものにも対応することになるであろう。このことは、コーダが例えばＧ．７２９と同程度以上の信号変化に対して耐性を要求されることを意味する。
【００２０】
本発明は、１ビット／サンプル（つまり８ｋＨｚのサンプリング時に８ｋｂｐｓ）という低いレートであっても十分な品質で動作することのできる変換コーダ／デコーダシステムである。明瞭な声に対する性能を向上させるために、パラメトリックモデル化を用いたスペクトル重み付けと連続長とエントロピーコーダを使用する。その結果、声による話の周期的スペクトル構造のエンコード性能が改善される。
【００２１】
本発明によって、話し声を含む擬回帰的信号に対する性能が改善される。量子化テーブルは元のいくつかのパラメータに基づいて算出され、量子化テーブルの記憶のための容量を増大させることなく適用範囲を拡大することができる。過渡信号に対する性能を改善するために、本発明は入力ウインドウ切り替えのない不均一変調重複二直交変換を使用する。実験結果によれば、本発明はサンプルごとにほぼ１ビットのレートである高品質信号の再生、サンプルごとに２ビットの擬透明再生、サンプルごとに３ビット以上の完全透明再生に使用可能であることが示された。
【００２２】
作動環境の例
図１と以下の記述は本発明を適用するのに一般的に好適なコンピュータ環境を簡単に説明したものである。特に必要というわけではないが、本発明を、パーソナルコンピュータによって実行可能なプログラムモジュールのようなコンピュータが実行することのできる命令の一般的な形で記述することにする。一般的に、プログラムモジュールには特定の処理を実行するか特定の抽象的なデータ形式に関するルーチン、プログラム、オブジェクト、コンポーネント、データ構成等が含まれる。さらに、当業者であれば、本発明は、ハンドヘルド装置、マルチプロセッサシステム、マイクロプロセッサを用いた又はプログラム可能な消費者用の電子機器、ネットワークパーソナルコンピュータ、ミニコンピュータ、汎用大型コンピュータ等のような前記以外のコンピュータによって実施できることも理解することができる。作動環境はまた、通信ネットワークで接続された、リモート処理装置によって処理を実行する分散型のコンピュータ環境であってもよい。分散型のコンピュータ環境の場合には、プログラムモジュールは中央と遠隔記憶装置の両方に存在してもよい。
【００２３】
図１によれば、本発明を実行するために例示したシステムは、処理ユニット１０２、システム記憶装置１０４、システム記憶装置１０４を含む多くのシステムの構成要素を演算装置１０２に接続するシステムバス１０６を具備した通常のパーソナルコンピュータ１００の形態をした汎用コンピュータ装置を含むものである。システムバス１０６は、バス構造として存在する多くの構造の何れかを用いたメモリバスやメモリコントローラ、周辺バス、ローカルバスのいずれであってもよい。システム記憶装置は、読み出し専用記憶装置（ＲＯＭ）１１０やランダムアクセスメモリ（ＲＡＭ）１１２を含む。立ち上げ時等においてパーソナルコンピュータ１００を構成する多くの構成要素間で情報を交換するために必要な基本ルーチンを含む基本入出力システム１１４（ＢＩＯＳ）はＲＯＭ１１０のなかに記憶されている。パーソナルコンピュータ１００はさらに図示されていない読み出しと書き込みのためのハードディスク装置１１６、着脱可能な磁気ディスク１２０に対して書き込みと読み出しを行う磁気ディスク装置１１８、ＣＤＲＯＭやその他の光磁気媒体からなる着脱可能な光磁気ディスク１２４に対して読み出しと書き込みを行う光ディスク装置１２２を具備する。ハードディスク装置１１６、磁気ディスク装置１２８と光磁気ディスク装置１２２は、それぞれハードディスク装置のインターフェース１２６、磁気ディスク装置のインターフェース１２８と光磁気ディスク装置のインターフェース１３０を通じてシステムバス１０６に接続されている。これらの装置とそれぞれに対応するコンピュータによって読み出し可能な媒体はコンピュータが読み出すことのできる命令、データ構成、プログラムモジュールおよびその他のデータの不揮発性記憶媒体をコンピュータ１００に提供する。例示した動作環境にはハードディスク、着脱可能な磁気ディスク１２０と着脱可能な光磁気ディスク１３０が使用されているが、当業者であれば、磁気カセット、フラッシュメモリカード、デジタルビデオディスク、ベルヌーイカートリッジ、ランダムアクセスメモリ（ＲＡＭ）、読み出し専用メモリ（ＲＯＭ）等のようなコンピュータによって読み出し可能でデータを記憶することができる媒体が使用されてもよいことが理解できる。
【００２４】
オペレーティングシステム１３２、アプリケーションプログラム１３４、その他のプログラムモジュール１３６やプログラムデータ１３８を含む多くのプログラムモジュールがハードディスク、磁気ディスク１２０、光磁気ディスク１２４、ＲＯＭ１１０やＲＡＭ１１２に記憶されている。利用者は、キーボード１４０やポイントディバイス１４２を使ってパーソナルコンピュータ１００に命令や情報を入力することができる。その他の入力装置（図示しない）としては、マイク、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナのようなものが含まれる。これらの入力装置はしばしばシステムバス１０６につながったシリアルポートインターフェース１４４を介して演算ユニット１０２に接続されているが、パラレルポート、ゲームポートやユニバーサルシリアルバス（ＵＳＢ）を介して接続されていてもよい。モニタ１４６又はその他の表示装置もビデオアダプタ１４８のようなインターフェースを介してパーソナルコンピュータに接続されている。モニタ１４６以外にも、パーソナルコンピュータはスピーカやプリンタのようなその他の周辺出力機器（図示しない）を含む。
【００２５】
パーソナルコンピュータ１００は、リモートコンピュータ１５０のように、他の１つ以上のコンピュータに論理接続を利用して接続されたネットワーク環境で作動するものであってもよい。リモートコンピュータ１５０は、図１には記憶装置１５２だけを示してあるが、他のパーソナルコンピュータ、サーバ、ルータ、ネットワークパーソナルコンピュータ、ピア装置や他のネットワークノード、一般的にパーソナルコンピュータに関連してすでに述べた装置の１つ又は複数のものであってもよい。図１に示した論理接続はローカルエリアネットワーク（ＬＡＮ）１５４やワイドエリアネットワーク（ＷＡＮ）１５６を含む。このようなネットワーク環境は事務所、企業内コンピュータネットワーク、イントラネットおよびインターネットにおいて一般的なものである。
【００２６】
ＬＡＮ環境で使用する場合、パーソナルコンピュータ１００はネットワークインターフェース化アダプタ１５８を介してローカルネットワーク１５４に接続される。ＷＡＮ環境で使用する場合、パーソナルコンピュータ１００は、インターネットのような広範囲のネットワーク１５６との通信を可能にするモデム１６０かその他の手段を有するのが一般的である。内部装置であるか外部装置であるかにかかわらず、モデム１６０は、シリアルポートインターフェース１４４を経由してシステムバス１０６に接続されている。ネットワーク接続された環境では、パーソナルコンピュータ１００に関連して表現されたプログラムモジュール又はその一部は、遠隔記憶装置に記憶されたものであってもよい。例示したネットワーク接続は一例であり、コンピュータとの接続を達成するためには他の方法であってもよいことが理解されるはずである。
【００２７】
概観
図２は本発明に基づいて音声信号のエンコードとデコードを行うシステムと方法を示すブロック／フロー図である。第１に、音源のアナログ音声入力信号を受け取ってアナログ・デジタル（Ａ／Ｄ）変換器２１０で処理する。Ａ／Ｄ変換器２１０は変換前のデータビットを作成する。変換前のデータビットはデジタルコーダ２１２に送られ、本発明に従ってエンコードされたビットストリームが作成される（コーダの詳細な説明は後に行う）。エンコードされたビットストリームは使用され、記録され、伝達等が行われた（ボックス２１４）後に、デジタルデコーダ２１６に送られ処理されてオリジナルな処理前のデータビットが作成される。デジタル・アナログ（Ｄ／Ａ）変換器２１８は変換前のデータビットを受けて変換して音声信号を出力する。作成された出力音声信号は入力された音声信号と実質的に一致している。
【００２８】
図３は、本発明に従って音声信号をコーディングするシステムの構成を示したブロック図である。本発明にかかるコーダ３００（図２におけるコーダ２１２）は、複数解像度に対応する変換プロセッサ３１０、重み付けプロセッサ３１２、均一量子化手段３１４、マスキング閾値スペクトルプロセッサ３１６、エンコーダ３１８および通信装置３２０を有する。
【００２９】
前記複数解像度に対応する変換プロセッサ３１０は、２つの解像度で変調された重複変換（ＭＬＴ）変換プロセッサであるのが好ましい。変換プロセッサは、元の信号を受けてこの元の信号から変換係数を作成する。重み付けプロセッサ３１２とマスキング閾値スペクトルプロセッサ３１６はスペクトルの重み付けを行い、可能な限り多くの量子化ノイズについて部分的なホワイトニングを行う。均一量子化手段３１４は連続値を離散値に変換する。エンコーダ３１８は、変換係数をエンコードするエントロピーエンコーダであるのが好ましい。通信装置３２０は前記の装置から受け取った信号のマルチプレクシング（結合）を行い単一の装置に出力するマルチプレクサ（ＭＵＸ）であるのが望ましい。
【００３０】
（図示しない）デコーダはコーダ３００の逆の要素、つまり複数解像度の逆変換プロセッサ（図示しない）、逆重み付けプロセッサ（図示しない）、逆均一量子化手段（図示しない）、逆マスキング閾値スペクトルプロセッサ（図示しない）、逆エンコーダ（図示しない）および逆ＭＵＸ（図示しない）を具備する。
【００３１】
要素の概観
図４は、本発明に従って音声信号をエンコードする方法の全体を示すフロー図である。処理の詳細は図７から１６を参照して説明する。一般的に、第１に、ＭＬＴ演算を行って（ボックス４００）変換係数を作成し、次に変更されたＭＬＴ係数によって（ボックス４１０）解像度切り替え（ボックス４０５）を行う。解像度切り替えは過渡信号に対する性能を向上させるために行う。
【００３２】
第２に、ａ）下で記述する（ボックス４１４）本発明に基づく聴覚マスキング技術を用いて変換係数の重み付けを行い；ｂ）簡略化されたバーク閾値スペクトルを算出し（ボックス４１６）；ｃ）重み付け関数の部分的なホワイトニングを行い（ボックス４１８）；ｄ）スカラー量子化を行って（ボックス４２０）スペクトル重み付けを行う（ボックス４１２）。本発明においてスペクトルのホワイトニングは可能な限り多くの量子化ノイズを除去するために行うものである。目的は、完全に透明な信号に可能な限り近い信号を再構成することである。
【００３３】
第３に、量子化された係数をエントロピーコーディング（ボックス４２６）するためのエントロピーエンコーダのようなエンコーダで使用される確率分布モデルの作成（ボックス４２４）と次に量子化ステップの最適化のために２値化サーチを行って（ボックス４２８）、エンコードとパラメトリックモデル化を行う（ボックス４２２）。スカラー量子化（ボックス４２０）は浮動小数点の係数を、離散値の組の中で最も近い値である量子化係数に変換する。離散値相互の距離がステップサイズに相当する。エントロピーコーディングとパラメトリックモデル化は特に明瞭な会話条件での性能を改善する。エントロピーエンコーディングはメッセージの中のシンボルで表現されメッセージを作成する際に使用した確率モデル（パラメトリックモデル化）の関数である。モデルがメッセージを小さくするようもとのメッセージに含まれた音源シンボル分布をより良く反映するために、モデルの複雑さが増大している。この技術によって人の話し声の周期的なスペクトル構造のエンコード性能が向上する。
【００３４】
図５は、本発明に基づく音声信号コーディングシステムの全体を表すブロック／フロー図である。図６は、本発明に基づく音声信号でコーディングシステムの全体を表すブロック／フロー図である。一般に、入力信号ｘ（ｎ）の重複したブロックは、不均一変換されて直交変換（ＮＭＬＢＴ）５１０を通じてコーダ５００によって周波数領域に変換される。ＮＭＬＢＴ５１０は、基本的に異なる分解と合成ウインドウを有し、時間軸における解像度を改善するために高周波数サブバンドの組み合わせを行う変調重複変換（ＭＬＴ）である。信号のスペクトルによっては、高周波数サブバンドの結合スイッチのオン、オフが切り替えられ、図６に示したデコーダにサイド情報として１ビットフラグが送られる。以下において詳細に述べるように、ＮＭＬＢＴ分解と合成ウインドウは変更されていない。
【００３５】
変換係数Ｘ（ｋ）は図５に示したように均一量子化装置５１２によって量子化される。均一量子化装置５１２は、その出力を例えば連続長とタンストール（Ｔｕｎｓｔａｌｌ）エンコーダ５１４（以下に詳細に記述する）によってエントロピーコードすれば、レートとひずみに関しては最適なものに非常に近いものになる。ベクトル量子化（ＶＱ）を用いてもよいが、エントロピーエンコーダに比較してゲインは劣る。構成を単純化するためにツインＶＱやその他の構造を有するＶＱを使用することも可能であるが、これらもスカラー量子化に比較すれば非常に複雑である。
【００３６】
所定のビットレートでひずみを最小にする最適なレートの設定方法は、ホワイト量子化ノイズを発生させるのに、サブバンド／変換係数に同じステップサイズを用いるものである。これは、信号対雑音比（ＳＮＲ）を最大にすることになるが、聞き取りやすさを最高にするものではない。重み付け関数の算出５１６は、サブバンドの数をＭとしてｋ＝０，１，・・・Ｍ−１への量子化に先立ってＸ（ｋ）をＸ（ｋ）／ｗ（ｋ）で置き換える、ここで通常、Ｍの２乗は２５６と１０２４の間である。図６に示したデコーダでは、再構成された変換係数Ｘ（ｋ）←Ｘ（ｋ）ｗ（ｋ）が重み付けされる。したがって、量子化ノイズは重み付け関数ｗ（ｋ）で規定されるスペクトルに従う。以下の段落で、ｗ（ｋ）の算出について詳細に説明する。量子化された変換係数は、エントロピーコーダ５１４によってエントロピーコード化される。パラメトリックモデル化を行い、その結果はエントリピーコーダ５１４の効率を高めるためにエントリピーコーダ５１４で使用される。同様に、ステップサイズを調整するためにステップ調節５１８が行われる。
【００３７】
図６に示すデコーダの動作は図５から推定することができる。量子化された変換係数に対応するエンコードされたビットのほかに、図６に示したデコーダは、逆ＮＭＬＢＴのためのエントロピーでコーディングテーブル、量子化ステップサイズ、重み付け関数ｗ（ｋ）および単一／マルチ解像度フラッグを決定するために図５に示した追加の情報が必要である。
【００３８】
構成要素の詳細と動作
前出の図５と図３によれば、入力された音声信号は連続変換プロセッサのような変換プロセッサによって周波数成分に分解される。これは、他にもディスクリート余弦変換器（ＤＣＴやＤＣＴ−ＩＶ）にような周波数領域への信号の分解に有効な装置では有るが、人工的な障害を発生させる欠点を有するからである。例えば、変換係数Ｘ（ｋ）はＤＣＴやＤＣＴ−ＩＶ変換プロセッサによってある程度望ましい形で処理することができる：量子化、フィルタリング、雑音低減等。
【００３９】
上述のように修正された係数の逆変換を行うことで再構成された信号ブロックが得られる。このように再構成された信号ブロックを張り合わせて再構成信号（すなわちデコードされた音声又はビデオ信号）を構成すると、ブロックの境界では不連続が発生する。これに対して、変調重複変換（ＭＬＴ）は基本関数をブロックサイズの２倍に、つまり２Ｍに延長することによってこのような不連続の発生を抑えている。図７は本発明に基づく変調重複変換を示すフロー図である。
【００４０】
ＭＬＴの基本関数は、ＤＣＴ−ＩＶ関数を延長して、
【数１】
0004570250.tif 000002
で表される適当なウインドウを掛けることによって得られる。ここで、ｋは０からＭ−１の間で変化し、ｎは０から２Ｍ−１の間で変化する。
【００４１】
このように、ＭＬＴは直交または二直交ベースに帰着し、ウインドウを掛けた重複する余弦関数の重ね合わせのように短時間で信号の周波数分解を行うことができるのでＭＬＴを使用することが好適である。この種の関数は、ＤＣＴやＤＣＴ−ＩＶに比べて信号の部分的な周波数分解に、より効果的な手段である。ＭＬＴは余弦変調フィルターバンクの特殊な形態であり、完全な再構成を可能にするものである。例えば、ＭＬＴ係数に基づいて信号を完全に再生することが可能である。同様に、ＭＬＴはブロック陣害を生じさせない、つまり、ＭＬＴによる再生信号は、境界部分において滑らかにゼロに収束する信号となり、ブロック境界での不連続を発生させない。さらに、ＭＬＴは、広い範囲の信号の変換コーディングの速度／歪に関してほとんど最適な性能を有する。
【００４２】
具体的には、ＭＬＴは奇数重ね合わせ時間領域折り返しチャンセル（ＴＤＡＣ）フィルタバンクに基づくものである。一般に、入力信号Ｘ（ｎ）の（入力信号の最後のＭ個のサンプルをシフトさせてその前に得られたＭ個のサンプルと組み合わせることによって得られる）２Ｍ個のサンプリングデータｎ＝０，１，２，・・・２Ｍ−１からなるベクトルの変換によってＭ個の係数Ｘ（ｋ），ｋ＝０，１，２，・・・Ｍ−１からなる他のベクトルに変換される。変換は標準ＭＬＴ演算によって以下のように定義される：
【数２】
0004570250.tif 000003
ここで、ｈ（ｎ）はＭＬＴウインドウである。
【００４３】
ウインドウ関数は基本的にブロッキング効果を低減するために使用するものである。例えば、参照してここにその開示を取り込む、Ｈ．Ｓ．Ｍａｌｖａｒによる重複変換による信号処理（Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ  ｗｉｔｈ  Ｌａｐｐｅｄ  Ｔｒａｎｓｆｏｒｍｓ）、ボストン：アーテックハウス、１９９２年は、滑らかなウインドウ変換子の余弦変調によってそのベースを得ることを示している。ここで滑らかなウインドウ変換子は：
【数３】
0004570250.tif 000004
で表される。ここで、ｐａ（ｎ，ｋ）とｐｓ（ｎ，ｋ）は直接（分解）および逆（合成）変換のための基本関数であり、ｈａ（ｎ）とｈｓ（ｎ）とはそれぞれ分解と合成のウインドウである。時間を表す指標ｎは、０から２Ｍ−１まで変化し、周波数を表す指標ｋは０からＭ−１まで変化する。ここで、Ｍはブロックの大きさである。ＭＬＴはウインドウズがＤＣに最も集中するような重複変換を発生させるＴＤＡＣであり、以下で表される。
【数４】
0004570250.tif 000005
直接変換マトリックスＰａは、ｎ行、ｋ列のＰａ（ｎ，ｋ）である。同様に，逆変換マトリックスはＰｓは、ｎ行、ｋ列のＰｓ（ｎ，ｋ）である。入力されるｘ（ｎ）のサンプル数が２Ｍであるブロックｘに関して，対応する変換係数のベクトルＸはｘ＝ＰＴａｘで算出することができる。処理された変換係数のベクトルＹに関しては，再構成されたサンプル数２Ｍのベクトルｙはｙ＝ＰｓＹで与えられる。再構成されたｙベクトルは，Ｍサンプルが重複するように重ね合わせられ、再構成された信号ｙ（ｎ）が作成される。
【００４４】
ＭＬＴはＤＣＴ−ＩＶと比較することができる。信号ｕ（ｎ）に関しては，長さがＭの直交ＤＣＴ−ＩＶは以下のように定義される。
【数５】
0004570250.tif 000006
ＤＣＴ−ＩＶのベースとなる余弦関数の周波数は、ＭＬＴの周波数同様（ｋ＋１／２）π／Ｍである。従って、２つの変換の間には簡単な関係式が成り立つ。例えば、ＭＬＴ係数がＸ（ｋ）である信号Ｘ（ｎ）に関しては、ｕ（ｎ）がｘ（ｎ）に関連していれば、ｎ＝０，１，・・・Ｍ／２−１に関して、Ｘ（ｋ）＝Ｕ（ｋ）であることが、以下のように示される：
【数６】
0004570250.tif 000007
ここでΔＭ｛・｝はＭサンプル（１ブロック）遅延装置である。説明のために、ＤＣＴ−ＩＶと上の式を組み合わせて、標準ＤＣＴ−ＩＶからＭＬＴを算出することができる。例えば、Ｙ（ｋ）＝Ｘ（ｋ）であれば、つまり、変換係数（またはサブバンド信号）の修正が無ければ、直接及び逆ＭＬＴ処理された信号をカスケード結合してｙ（ｎ）＝ｘ（ｎ−２Ｍ）が得られる。ここで、Ｍサンプル分の遅延はブロッキングオペレータに起因し、他のＭサンプル分の遅延はＭＬＴの内部重複オペレータ（ｚ−Ｍオペレータ）に起因する。
【００４５】
変調重複二直交変換
本発明においては、実際には変調重複二直交変換（ＭＬＢＴ）を使用するのが望ましい。図７は、本発明の変調重複二直交変換を示すフロー図である。ＭＬＢＴは変調重複変換（ＭＬＴ）の一変形である。ＭＬＴと同様、ＭＬＢＴのウインドウはブロックサイズの２倍であり、最大コーディングゲインをもたらすが、ウインドウの形状は本来のＭＬＴのウインドウの形状とは若干異なる。数式１に示した二直交ＭＬＴを作成するには、分解用と合成用のウインドウが同一でなければならないという制限を緩和する必要がある。合成ウインドウが対称形であると仮定し、数式１に二直交条件をあてはめると、数式１から、もし分解用ウインドウが
【数７】
0004570250.tif 000008
とｈａ（ｎ）＝ｈａ（２Ｍ−１−ｎ）
の条件を満足すれば、変調重複二直交変換（ＭＬＢＴ）になる。
【００４６】
ウインドウズを変換コーディング利得が最大になるように最適化することができ、その場合は最適化されたウインドウは数式２に示したＭＬＴウインドウに収束する。このことによって、ＭＢＬＴは合成ベース関数応答の周波数選択性を改善し、均一でないＭＬＴを取り扱ってブロック合成への使用（以下に詳細に述べる）が可能になる。ＭＬＢＴは数式１に記載された重複変換を合成ウインドウ
【数８】
0004570250.tif 000009
と数式４によって定義される分解ウインドウによって変調した変調重複変換として定義することができる。
【００４７】
パラメータαは主としてウインドウの幅を制御し、β両端部の値を制御する。ＭＬＴに対してＭＬＢＴが優れている主な点は、分解関数におけるストップバンド減衰の低下という代償を払って合成関数のストップバンド減衰を増加させた点である。
【００４８】
ＮＭＬＢＴと解像と切り替え
典型的な変換コーダのサブバンド数Ｍは適切な周波数解像度が得られるように十分大きな数で無ければならず、通常はブロックサイズが２０〜８０ｍｓ程度になる。この結果、過渡信号に対する応答は不十分となり、前エコーを含むノイズパターンがブロック長を通じて残ることになる。このような信号においては、詳細な周波数改造が必要なわけではないので、このような音声に対してはＭを小さくすることが問題の解決になる。変調重複変換のブロック長を切り替えることは困難ではないが、エンコードに起因する遅延をさらに増大させる可能性がある。別の方法は、階層的変換又は離散波形に類似したツリー構造のフィルタバンクを使用することである。そのような分解によって、高周波数のサブバンドに対してはブロックサイズが小さく低周波数のサブバンドに対してはブロックサイズが大きな新しい不均一サブバンド構造が得られる。階層的（またはカスケード構造の）変換はブロック全域に渡って完全な時間領域選択性を有するが、周波数領域の分解能は不十分である。例えば、ＱＭＦフィルタバンクの次にサブバンドに対してＭＬＴを使用すると、ＱＭＦ過渡バンド近傍のサブバンドのストップバンドリジェクションは１０ｄＢ程度と低くなり、ツリー構造の変換でも同様である。
【００４９】
ＭＬＴ／ＭＬＴＢＴの大きな派生物を低減するための新たな不均一変換構造を作成する上記以外の、かつ、より好ましい方法は、時間−周波数解像度を変更することによって達成することができる。変換の時間−周波数解像度を変更することは変換係数の組に対して新たな変換演算子を適用して、特定の不均一ＭＬＢＴ（ＮＭＬＢＴ）を発生する新たな変換係数の組を作成することによって行われる。図７は、本発明に基づく不均一変調重複二直交変換を示す図である。
【００５０】
図８は、本発明に基づく不均一変調重複二直交変換の作用を示した図である。詳細に述べれば、不均一ＭＢＬＴはサブバンド係数Ｘ（ｋ）と、インパルス応答の時間長が短いフィルタを有する新たなサブバンドを組み合わせることによって作成される。一例を挙げれば：
【数９】
0004570250.tif 000010
である。ここで、中心周波数が（２ｒ＋１／２）π／Ｍと（２ｒ＋３／２）π／Ｍであるサブバンド信号Ｘ（２ｒ）とＸ（２ｒ＋１）を組み合わせて新たな２つのサブバンド信号Ｘ’（２ｒ）とＸ’（２ｒ＋１）を作成する。新たに作成されたサブバンド信号は共に中心周波数が（ｒ＋１）π／Ｍで有るが、一方のインパルス応答の中心はブロックの左側にあり他方のインパルス応答の中心はブロックの右側にある。従って、時間領域の解像度を向上させるために周波数領域の解像度が犠牲になっている。図９は、不均一変調重複二直交変換合成ベース関数の一例を示す。
【００５１】
変換係数を組み合わせる解像度切り替えによるこの方法の主要な利点は、時間解像度が狭い新たなサブバンド信号が入力信号のＭＬＴを算出した後に算出できることである。従って、ＭＬＴウインドウ関数又はブロックサイズＭを切り替える必要は無い。この手法はまた、サブバンド合成装置の前に、ノイズ低減装置エコーキャンセラ等の信号改善装置を元の変換／サブバンド係数に作用させることを許容する。このことによってコーデックに前記のような信号改善装置を有効に組み合わせることが可能になる。
【００５２】
他の好ましい方法としては、時間領域での解像度が４倍になっていれば、より好ましい結果が得られる。このことは、サブバンドフィルタのインパルス応答の有効幅が、
【数１０】
0004570250.tif 000011
で表される条件の下で、ブロック幅の４分の１であることに帰着する。ここで特に好ましいパラメータは、ａ＝０．５４１２、ｂ＝（１／２）１／２、ｒ＝Ｍ０，Ｍ０＋１，・・・，代表的なＭ０はＭ／１６である（つまり切り替えの解像度はサブバンドの７５％に対して、周波数０．２５πからπまでについて適用される）。図１０と１１は本発明の構造に対応する合成ベース関数をプロットして示したものである。時間分離は完全ではないが、過渡信号に関して誤差の拡散が抑制されていることが示されている。
【００５３】
上記のサブバンド組み合わせマトリックスの自動切換えは、エンコーダにおいてブロック波形を解析することによって行うことができる。ブロック内でパワーレベルが大きく変化するなら、組み合わせマトリックスがスタートする。切り替えフラグがサイド情報としてレシーバに送られ、ＭＬＴ係数を回復させるために４×４の逆演算子を使用することができるようになる。他の切り替え方法は、ＭＬＴ係数Ｘ（ｋ）内に対するパワー分布を解析し高周波数領域にノイズ状のパターンが検出されれば組み合わせマトリックスの使用を開始する方法である。
【００５４】
図１２は、本発明に基づいて解像度の切り替えを行う好ましいシステムと方法を示した図である。図１２に示されているように、解像度の切り替えはブロックごとに決定され、１ビットのサイド情報がスイッチがＯＮかＯＦＦかを示すためにデコーダに送られる。好ましい実施態様では、ブロックに対する高周波成分のエネルギーが低周波成分のエネルギーよりも所定の閾値幅以上大きければスイッチをＯＮにする。基本的に、エンコーダは信号の高周波数と低周波数のパワー測定を行って解像度スイッチの切り替えを行うものである。図１２に示されているように、もし高周波数のパワー（ＰＨ）が低周波数のパワー（ＰＬ）に対する比が所定の閾値以上であれば、ステップ２に示されたサブバンド組み合わせマトリックスが適用される。
【００５５】
スペクトル重み付け
図１３は、本発明に基づいて、部分的にホワイトニングを伴う重み付け関数の演算を行うシステムと方法を示すフロー図である。図１３と共に既出の図３及び図５を参照すれば、スペクトル重み付けを行う方法が簡単に示されている。本発明に基づくスペクトル重み付けは量子化ノイズを可能な限りマスクするように行われる。目的は完全な透明性を有する信号、つまり元の信号と判別できないほどのデコード信号を作成することである。この目的は変換係数を人間の聴覚特性を考慮したマスキング特性を有する関数ｗ（ｋ）によって変換係数に重み付けを行うことによって達成することができる。このような重み付けは、量子化ノイズを人の耳で聞き取られる程度を最小にすることによって量子化ノイズをマスクする。また、通常使用されている時間のかかる重畳演算を採用しないことによって聴覚重み付け関数の演算が簡素化されている。
【００５６】
重み付け関数ｗ（ｋ）は、与えられた入力のスペクトル｛Ｘ（ｋ）｝に対して聴覚マスキング閾値曲線に従うのが理想的である。マスキング閾値はバークスケールで算出されるのが望ましい。バークスケールとは、人の耳の臨界バンドを近似する擬対数スケールである。コーディングレートが高い場合、つまりサンプルごとに３ビットである場合、得られる量子化ノイズは全てのバークサブバンドにわたって量子化閾値よりも低い値となって完全に透明性のある再構成を行うことができる。しかし、コーディングレートが低い場合、例えば１ビット／サンプルの場合、全ての量子化ノイズをマスキング閾値以下にすることは困難である。この場合、低周波数のマスクされていないノイズは通常一層不具合なので、量子化ノイズがすべてのサブバンドについて量子化ノイズがマスキング閾値を同じデシベル（ｄＢ）だけ高くなるようなことは避けるのが好ましい。これは、もとの重み付け関数ｗ（ｋ）を、新たな件数ｗ（ｋ）αで置き換えることによって実現される。ここで、αは重み付け関数を部分的にホワイト化するための、一般には１未満の値である。
【００５７】
一般に、図３、４、５及び図１３に示されているように、図１３は聴覚閾値曲線を算出するための、ステップサイズを算出する際に部分的なホワイトニングを行う単純化された演算を示すものである。図１３は、図３におけるボックス３１２と３１６、図４におけるボックス４１４、４１６と４１８、図５におけるボックス５１６の詳細なブロック図である。図１３に示されているように、ＭＬＴ演算とＮＭＬＢＴ変更の後、変換係数Ｘ（ｋ）はまず２乗化モジュールが受け取って変換係数の２乗計算を行う（ボックス１３１０）。次に、閾値モジュールがバークスペクトル閾値を算出し（ボックス１３１２）、これはスプレッドモジュールがバーク閾値拡散（１３１４）を行って聴覚閾値を求めるために使用する。調整モジュールが次に聴覚閾値を絶対閾値に調整して、理想的な重み付け関数を作成する（１３１６）。最後に、部分的なホワイトニングが行われて重み付け関数がα乗されて最終的な重み付け関数が得られる（ボックス１３１８）。
【００５８】
具体的には、２乗化モジュールは、ｉ番目のバンドの即時パワーＰ（ｉ）を作成して、これを閾値モジュールが受け取ってマスキング閾値ＷＭＴ（ｋ）の計算に使用する（図１３ではボックス１３１０で示される）。これはまずバークスペクトルの上限周波数Ｂｈ（ｉ）、ｉ＝１，２，・・・，２５を定義して（このためには一般的な数学的装置が使用できる）バークサブバンドの上の周波数をＨｚ表現で：
Ｂｈ＝「１００  ２００  ３００  ４００  ５１０  ６３０  ７７０  ９２０  １０８０  １２７０  １４８０  １７２０  ２０００」；
Ｂｈ＝「Ｂｈ  ２３２０  ２７００  ３１５０  ３７００  ４４００  ５３００  ６４００  ７７００  ９５００  １２０００  １５５００  ２２２００」とすることによって達成される。
【００５９】
次に，ｉ番目のバークスペクトルのパワーＰａｓ（ｉ）が、ｉ番目のバークバンド内にある全てのサブバンドの信号のパワーを平均することによって算出される。バンド内のマスキング閾値Ｔｒ（ｉ）、Ｔｒ（ｉ）＝Ｐａｓ（ｉ）−Ｒｆａｃ（全てデシベルｄＢ表記）が算出される。好ましくは７ｄＢにセットされるパラメータＲｆａｃは、バンド内のマスキング閾値レベルを決定する。これはバークパワースペクトルとバーク中央閾値を求める数学的な繰り返し処理によって達成することができる。
【００６０】
図１３のボックス１３１４に示されているように、単純化されたバーク閾値スペクトルが算出される。図１４は、本発明に基づく簡素化されたバーク閾値の算出を示すものである。「拡幅されたバーク閾値」は好ましくは臨界バンドにわたる平行マスキングを考慮して算出するのが望ましい。つまり、マトリックス演算子を使用して完全な重畳演算を行う代わりに、前記の方法で提案されているように、本発明は、全てのバーク閾値と三角形の減衰を取り込んで作成した最大閾値曲線を使用する。具体的には、まず、臨界バンドにわたる並行マスキングを考慮して拡幅されたバーク閾値を算出する。例えば、マトリックス演算期によって全重畳演算を行う代わりに、前の方法で提案されているように、本発明は単に全てのバーク閾値と三角形の減衰を取り込んで作成した最大閾値曲線を使用する。三角減衰は左側（低周波数の方向）については−２５ｄＢ／バーク、右側（高周波数の方向）については１０ｄＢ／バークである。バークスペクトルの拡幅に関するこの発明の方法は、複雑性Ｏ（Ｌｓｂ）、ここでＬｓｂは信号のバンド幅でカバーされるバークサブバンドの数、であり従来の方法は典型的にはＯ（Ｌｓｂ２）の複雑さを有する。
【００６１】
図１３のボックス１３１６に示されているように、聴覚閾値は次に拡幅されたバーク閾値を絶対フレッチャー−マンソン閾値と比較してそれらのうちの高いほうを採用することで、全てのサブバンドについて調節される。これは例えば、絶対マスキングを考慮した閾値に調節する単純な手順によって行うことができる。一つの手順では、（ブロックごとに２５までの）
閾値のベクトルが代表的には２．５ｄＢにセットされている予め設定された正確性のレベルに従って量子化され、閾値に対して２ないし４ビットでエンコードされる。
【００６２】
図１３のボックス１３１８に示したレートの低いつまり１ビット／サンプルの重み付け関数の部分的ホワイトニングに関しては、全ての量子化ノイズをマスキング閾値未満にすることは不可能である。この場合には、低周波数のマスクされていないノイズは通常高い周波数のものよりも不具合なのですべのサブバンドについて量子化ノイズをマスキング閾値に対して同じデシベルだけ高くすることは望ましくない。したがって、上記の手順によって算出された重み付けがＷＭＴ（ｋ）であるとすると、本発明のコーダが使用する最終的な重み付けの値は、
【数１１】
0004570250.tif 000012
となる。ここで、αはレートが低いときは０．５でレートが高いときは１となるように変化する値であり、好ましくはマスキング閾値の部分的なパワーが用いられる。従来の知覚的コーダでは、ビットレートが減少すると全ての周波数にわたって量子化ノイズがマスキング閾値以上に高くなっていた。これに対して本発明の場合には、部分ホワイトニングパラメータαを、例えば、ゼロと１の間の値に（好ましくはα＝０．５）セットすることができる。このことによって本来ノイズスペクトルが小さい周波数のノイズスペクトルを一層高くすることができる。換言すれば、α＜１であれば、ノイズスペクトルのピークを減衰させることができる。
【００６３】
次に、ｗ（ｋ）を表すサイド情報の量ははサンプリング周波数ｆｓに依存する。例えば、ｆｓが８ｋＨｚの場合、およそ１７個のバークスペクトル値が必要で、ｆｓが４４．１ｋＨｚの場合には２５のバークスペクトルが必要である。バーク周波数バンド当り−１０ｄＢで高周波数のサブバンドにバンド間の拡散を行いエンコードの差分精度が２．５ｄＢに相当すると仮定すると、バーク係数あたり３ビットが必要になる。重み付けをされた変換係数はスカラー量子化装置を用いて量子化（連続値から離散値への変換）することができる。
【００６４】
具体的には、スカラー量子化装置に関しては、最終的な重み付け関数ｗ（ｋ）が最も感知し難い量子化ノイズの形状を決定することになる。従って、サブバンド周波数の係数Ｘ（ｋ）はｗ（ｋ）に比例する大きさのステップサイズによって量子化されなければならない。等価な処理は、重み付け関数によって全てのＸ（ｋ）を割って、全ての係数Ｘ（ｋ）について同じステップサイズを有する均一量子化を行うことである。代表例としては以下の処理である：
Ｘｒ  ＝  Ｒｏｕｎｄ（Ｘ／ｄｔ）；  ％量子化
Ｘｑｒ＝  （Ｘｒ＋Ｒｑｎｏｉｓｅ）＊ｄｔ；  ％スケールバック、擬似定常ノイズを加える。ここでｄｔは量子化のステップの大きさである。ベクトルＲｑｎｏｉｓｅは｛−γ、γ｝の間に等しく分布する擬似ランダム変数から構成される。Ｒは量子化のステップサイズｄｔの０。１から０．５倍の間で選択されるパラメータである。再構成された係数にこの小さなノイズを加えると、失われたスペクトル成分に起因する派生物を小さくすることができる。この手法は、ディザ、擬ランダム量子化又はノイズフィリングと呼ばれている。
【００６５】
エンコード
情報理論における従来の離散値コーディングの問題は、ソースからのシンボルを最も節約したコードで表現することに関するものであった。例えば、ソースが時間間隔ｉごとにシンボルｓｉを発生させ、シンボルｓｉはアルファベットＺに属するものと仮定する。また、シンボルｓｉは統計的に独立であって、確率分布Ｐｒｏｂ｛ｓｉ＝ｚｎ｝、ｎ＝０，１，・・・，Ｎ−１、Ｎはアルファベットのサイズつまり可能なシンボルの個数であると仮定する。この前提の上で、コードを設計する問題は、通常はビットであるチャンネルシンボルによってシンボルの表現を見出すことである。
【００６６】
下の表に示したように、それぞれの可能性があるシンボルの値ｚｎに対してＭビットのパターンをあてはめるために単純コードを使用することができる：
【表１】
0004570250.tif 000013
この場合、シンボルあたりにコードはＭ個使用される。唯一のコードを対応させるにはＭはＬｏｇ２（Ｎ）以上であることが必要出ることは明らかである。
【００６７】
一層好ましいコードはそれぞれのソースシンボルに可変長のコード化されたワードを対応させることである。より可能性の高いシンボルに対してはより短いコード化されたワードを対応させ；可能性の低いものに対して長いコード化されたワード長のものを対応させる。例えば、ソースがアルファベットＺ＝｛ａ，ｂ，ｃ，ｄ｝からなり，確率はｐａ＝１／２、ｐｂ＝ｐｃ＝ｐｄ＝１／６であるとする。このソースに対して使用することができる可変長コードの例は以下のようになる。
【表２】
0004570250.tif 000014
【００６８】
メッセージが長い場合、コード長Ｌの期待値は、シンボルあたりのビット数としてＬ＝Σｐｎｌｎで与えられる。ここで、ｌｎはコードシンボルｚｎの長さである。これは２ビット／シンボルが必要な単純２値コードのコード長よりも優れている。
【００６９】
上述の例では、コードワードは良く知られているハフマンのアルゴリズムを用いて作成した。結果として使用されるコードワードは当該ソースに対するハフマンコードとして知られている。ハフマンコードは、可能な全ての可変長コードの中で期待されるコード長Ｌを最も短くするという意味において最適なものである。エントロピーはソースの本質的な情報を測定する基準である。エントロピーはシンボルごとのビットに基づいてＥ＝−Σｐｎｌｏｇ２（ｐｎ）によって求めることができる。コーディング理論によれば、全てのコードに対するコード長の期待値は、ソースのエントロピー以下になることはできない。上に例示したソースの場合、エントロピーは、シンボル当り、Ｅ＝−（１／２）ｌｏｇ２（１／２）−（１／２）ｌｏｇ２（１／６）＝１．７９３ビットである。ハフマンコード長は最適地に非常に近いことが理解される。
【００７０】
他に可能なコード化手法は、一連のソースシンボルに対して固定長のコードワードを対応させる方法である。一連のソースシンボルの長さは可変であり、コードの効率は頻繁に登場する長い一連のソースシンボルが１つのコードワードで置換される点にある。下の表に一例を示す。このコードの場合は、コードワードは常に４ビットの長さであるが、長さの異なる一連のソースシンボルを表現するために使用される。一連のソースシンボルの長さの平均値Ｃａｎはテーブルに記載した確率に基づいて簡単に計算することができ、Ｋ＝２５／１２＝２．０８３である。これらの一連のソースシンボルが４ビットで表現されているので、ビットレートは４×１２／２５＝１．９２ビット／シンボルである。
【表３】
0004570250.tif 000015
【００７１】
上述の例では、それぞれのコードワードに割り当てられるべき一連のソースシンボルの選択（一連のソースシンボル表）は、Ｂ．Ｐ．Ｔｕｎｓｔａｌｌによる「ノイズを含まない圧縮コードの合成」”Ｓｙｎｔｈｅｓｉｓ  ｏｆ  ｎｏｉｓｅｌｅｓｓ  ｃｏｍｐｒｅｓｓｉｏｎ  ｃｏｄｅｓ”、ジョージア州アトランタ、ジョージア工科大学博士論文に記載された方法によった．この表に記載されたコードはタンストールコードと呼ばれる．タンストールコードは、全ての固定長及び可変長のコードの中でコード長Ｌの期待値を最小にする点において、最適化されたものである。したがって、タンストールコードがハフマンコードに対する二元コードである。
【００７２】
上記の例では、タンストールコードはハフマンコードほど効率的ではないかもしれないが、コードワードの長さが長くなるに従って、つまり、テーブルの長さが長くなるにつれて、タンストールコードの性能はソースエントロピーに近くなってくることが示される。本発明の場合には、タンストールコードはデコーディングが高速である点においてハフマンコードよりも優れている。これは、全てのコードワードが同じ数のビットによって構成されているために、（以下に述べるように）解読が容易だからである。
【００７３】
従って、本発明では好ましくは、連続長エンコーダ又はタンストールのような、図１５に示すエントロピーエンコーダを使用する。つまり、本発明に基づくエントロピーエンコーディングを行うシステムと方法を示すフロー図である。本発明を図示した図３と図１５を参照しつつ、図１５には、好ましくは可変長エントロピーエンコーダであるエンコーダを示す。
【００７４】
エントロピーは、例えば確率モデルのようなモデルによって与えられる情報の指標（換言すればメッセージに含まれる情報量の尺度）である。好ましいエントロピーエンコーダはメッセージに含まれるシンボルによって表現される情報の、当該メッセージを作成するのに使用された確率モデルの関数である、平均的な情報量を出力する（以下に詳細に述べる）。モデルが元のソースシンボルの現実の分布を忠実に反映するにつれてモデルは複雑なものになる。好ましいエントロピーエンコーダは連続長コーダとそれに続いて通常のタンストールコーダのような可変長から固定長のコーダを使用することで量子化された係数のコード化を行う。
【００７５】
連続長エンコーダはゼロからなるシーケンスのシンボルレートを低減する。可変長から固定長へのコーダはソース出力の一連の可変長データを所定長のコードワード出力に置き換える。可変長から固定長コードはソース出力の統計的な依存度を利用する。タンストールコーダは可変長から固定長のコードを使用して、離散的でメモリを有しないソースのために辞書の列あたりのソースレターの期待値を最大にするために離散的な記憶容量を最大にする。換言すれば、入力されたシーケンスは、平均メッセージ長を最大にしてそれぞれのブロックが固定長のコードに対応するように、可変長のブロックに分割される。
【００７６】
ＡＳＰＥＣのような従来のコーダは、変換係数のサブセットに対して連続長コーディングを使用して、ゼロで無い係数をハフマンコーダのような固定長から可変長へのコーダベクトルによってエンコードした。それに対して、本発明は好ましくは、全ての量子化された変換係数からなるベクトルに対して作用する連続長エンコーダを使用し、連続したゼロ値が連続したゼロの数を表すシンボルによって置き換えられた、基本的に新たなシンボルソースを作成する。本発明に基づく連続長エンコーダは、連続したゼロの数が「Ｒｍｉｎ，Ｒｍａｘ」の間であればゼロの値を特定のシンボルによって置き換える。特定の場合は、連続長コーダは例えばＲｍａｘ＜Ｒｍｉｎを置くことによってＯＦＦにすることができる。
【００７７】
タンストールコーダは、効率がソースシンボルの確率モデルに直接関連するので広く用いられていない。例えば、圧縮のためのコーダを設計する場合、ソースに関する良いモデルが存在すればより効率の良い、つまり圧縮度の高い、コードを作ることは可能である。結果として、効率の良いコーディングのためには、コーダのためのストリング辞書を作成するために良い確率分布モデルが必要になる。以下に述べる本発明は、タンストールコーディングが可能であってよい効率を得るに十分な確率モデルを使用する。
【００７８】
一般に、すでに述べたように、量子化された係数は連続長エンコーダとそれに続く可変長から固定長へのブロックエンコーダによってエンコードされる。より具体的には、第１に、量子化された変換係数ｑ（ｋ）が演算モジュールによってブロックとして受け取られブロックの絶対値の最大値を算出する（ブロック１５１０）。つまり、全ての量子化された値をスキャンして最大絶対値Ａ＝ｍａｘ｜Ｘｒ（ｋ）｜を決定する。第２に、略算モジュール（ボックス１５１２）によってＡを、「４５１２」以下の２の累乗値であるｖｒを用いてｖｒ＞Ａまたはｖｒ＝Ａとなるように値を丸めて量子化する。ｖｒの値は従って、３ビットでエンコードされ、デコーダに送られる。第３に、置き換えモジュールがｑ（ｋ）を受け取り、丸められた値と組み合わせられて「Ｒｍｉｎ，Ｒｍａｘ」の範囲の連続したゼロ値を、連続したゼロの数を表す可変長から固定長への長さエンコード用辞書で提起されたシンボルによってこれを置き換える（ボックス１５１４）。この辞書は、図１６に示したように、本発明に基づいてパラメトリックモデル化技術を使用して算出されたものである。第４に、結果として得られた値ｓ（ｋ）は、タンストールコーダのような可変長から固定長へのエンコーダ（ボックス１５１６）によってエンコードされチャンネルシンボルが作成される。さらに、エントロピーエンコーダの効率は使用する確率モデルに直接依存するので、本発明に、以下に詳細に述べるようなパラメトリックモデルを取り込むことが望ましい。
【００７９】
パラメトリックモデリング
図１６は、本発明に基づいてパラメトリックモデリングを使用したエントロピーエンコーディングを行うシステムと方法を示したフロー図である。すでに述べたように、エントロピーコーダの効率は確率モデルの信頼度に直接関連している。図１６に示したように、コーダは、シンボル確率（後に述べる）から入力されるストリングの辞書を作成する単純なアルゴリズムによって作成することができる入力ストリングの辞書を必要とする。算術的コーダやハフマンコーダを使用することもできるが、記述のタンストールコーダのような可変長から固定長へのエンコーダが本発明のパラメトリックモデルを使用した算術的コーダの効率に近い効率を達成することができデコードが単純である。これはタンストールコーダが、例えば１ビットである、すべて同じ長さを有することに起因する。
【００８０】
さらに、現在の変換コーダは典型的には音楽のような複雑な信号に対して明瞭な声のような単純な信号に対するよりも効率よく動作する。これは、これらの信号に与えられたマスキングレベルが高いことと現在の変換コーダが使用しているエントロピーエンコーダの種類に起因するものである。従って、明瞭な声に関しては、低いビットレートで動いている現在の変換コーダは細かな調和構造を除去することができない。つまり、話し声や１ビット／サンプルのビットレートでは、量子化のステップサイズが大きすぎて、音声の基本調和周波数を除いて、ほとんどの変換係数が量子化されるとゼロになってしまう。しかし、上述のエントロピーエンコーダとパラメトリックモデルを用いれば、本発明は、１次エンコーダのような現在使用されているエントロピーエンコーディングシステムで期待できるよりも優れた結果をもたらすことができる。
【００８１】
一般的に、本発明のパラメトリックもモデル化は、量子化されて連続長エンコードされた変換係数の確率分布関数（ＰＤＦ）のモデルを使用する。一般に、（ハフマンコードで代表される）エントロピーコーディングを使用したこーデックは、音声サンプルの集合から得られたヒストグラムからＰＤＦ（および対応する量子化表）を演繹する。それに対して、本発明は、エンコード性能が優れた、全ての入力ブロックに対してあてはめを行った変形ラプラス＋指数確率密度を使用する。本発明のＰＤＦモデルの利点の一つは、形状が、量子化された係数のピーク値に直接関係する、１つのパラメータで制御されることである。このことはモデル選択のための演算が負担にならないことを意味しており、デコーダに対してモデルを指定する際に演算が大きくなることは無い。最後に、本発明は最適な量子化ステップサイズを決定するために２値検索手法を使用する。以下に示す２値検索手法は、イテレーションのたびにマスキング用の閾値演算をさらに行わなければならない従来の方法に比較してはるかに簡単な手法である。
【００８２】
具体的には、本発明に基づく確率分布モデルは、入力される全てのブロックの量子化された変換係数のヒストグラムに対してフィットさせるために変形ラプラス＋指数確率密度関数（ＰＤＦ）を使用する。ＰＤＦモデルは、上述の図１５のボックス１５１０に記載されたパラメータＡによって制御される（図１５のボックス１５１２に示されているように、Ａはｖｒによって近似されることに注意する必要がある）。したがって、ＰＤＦモデルは以下のように定義される：
【数１２】
0004570250.tif 000016
ここで、変換された連続長エンコードされたシンボルは以下に記載するアルファベットに含まれる。
【表４】
0004570250.tif 000017
【００８３】
ステップサイズを最適化するための２値サーチにおいて、上述のスカラー量子化で使用する量子化のステップの大きさｄｔは、再構成の忠実性とビットレートとの間のトレードオフを制御する。量子化ステップサイズが小さければ忠実度が高くビットレートも高くなる。レートを固定した状態では、量子化ステップの大きさｄｔは、シンボルエンコーダ（タンストール）の出力におけるビットレートが所望のレートに（超えない範囲で）可能な限り近づくように再帰的手法で調節する必要がある。
【００８４】
ステップサイズを決定するためにいくつかの方法を使用することができる。１つの方法は：１）入力のスケーリングに依存するパラメータであるｄｔ＝０で表されるｄＢで表現された量子化ステップサイズからスタートする。２）ｋｄｄ＝１６としてｄｔによって得られたレートを確認する。もし、この値が所定値を超えていればステップサイズをｄｔ＝ｄｔ＋ｋｄｄさもなければｄｔ＝ｄｔ−ｋｄｄによって変更する。３）ｋｄｄ＝１つまり最適ステップサイズが１ｄＢの精度で求められるまで、イテレーションのたびにｋｄｄを１／２にして（２値化サーチ）上述の手順を繰り返す。この方法によって最大６４個のステップサイズが発生し、従って最適ステップサイズは７ビットで表現されてデコーダに送られることは容易に理解される。
【００８５】
本発明に従って音声信号をデコードするシステムを表した全体ブロック／フロー図である前出の図６を参照する。デコーダは、図６に示されているように、適当な逆処理ステップを実施する。可変長から固定長へのデコーダ（例えばタンストールデコーダ）と連続長でコーディングモジュールがエンコードされたビットストリームと量子化された変換係数を回復するためのＰＤＦレンジパラメータに関するサイド情報を受け取る。可変長から固定長へのデコーダと連続量コーディングモジュールと組み合わせられた均一逆量子化モジュールが、均一量子化から重みつきＮＭＬＢＴ変換係数の略算値を取り出して再構成する。逆重み付けモジュールは、変換係数を適当なスケール範囲に戻すために逆変換を行う。逆ＮＭＬＢＴ変換モジュールは、下の信号ブロックの略算値を再生する。使用することのできるチャンネルビットが大きいほど、量子化ステップサイズは小さく、再生の忠実度は高い。
【００８６】
デコーダの演算の複雑さはエンコーダの演算よりも２つの理由で少ないことに注意する必要がある。第１に、タンストールデコーディングのような（表を参照するだけの）可変長から固定長へのデコーディングはそれに対応する（ストリングサーチを必要とする）エンコーディングよりも高速である。第２に、ステップサイズが知られているので、逆量子化は一度実施するだけでよい（エンコーダとは違って繰り返し演算は不要である）。しかし、いずれにしても、エンコーダとデコーダの双方において、演算の主要部分はＮＭＬＢＴ内に存在しており、高速フーリエ変換を使用して効率よく算出することができる。
【００８７】
本発明に関する今までの記載は説明と記述を目的としたものである。本発明を記述した通りのものに限定することを意図したものではない。上述の開示に基づいて多くの変形や変更を行うことができる。発明の範囲は詳細な説明ではなく添付の特許請求の範囲の記載によって定められるべきである。
【図面の簡単な説明】
【図１】  本発明を実施するための装置を示すブロック図である。
【図２】  本発明に基づいて音声信号をエンコード／デコードするためのシステムと方法を示す全般的なブロック／フロー図である。
【図３】  本発明に基づいて音声信号をエンコードするためのシステムを示す全体ブロック図である。
【図４】  本発明に基づいて音声信号をエンコードする方法を示す全体フロー図である。
【図５】  本発明に基づいて音声信号をエンコードするシステムを表す全体ブロック／フロー図である。
【図６】  本発明に基づいて音声信号をデコードするシステムを表す全体ブロック／フロー図である。
【図７】  本発明に基づく変調重複変換を示すフロー図である。
【図８】  本発明に基づく変調重複二直交変換を示すフロー図である。
【図９】  本発明に基づく不均一変調ラップ二直交変換を示す単純化したブロック図である。
【図１０】  不均一変調重複二直交変換合成基礎関数の一例を示す。
【図１１】  不均一変調重複二直交変換合成基礎関数の他の例を示す。
【図１２】  本発明に基づく解像度切り替えシステムと方法を示すフロー図である。
【図１３】  本発明に基づく部分ホワイトニングを含む重み付け関数演算のためのシステムと方法を示すフロー図である
【図１４】  本発明に基づく単純化されたバーク（Ｂａｒｋ）閾値演算を行うためのシステムと方法を示すフロー図である。
【図１５】  本発明に基づくエントロピーエンコーディングを行うためのシステムと方法を示すフロー図である。
【図１６】  本発明に基づくパラメトリックモデル化を行うためのシステムと方法を示すフロー図である。
【図１】
0004570250.tif 000018
【図２】
0004570250.tif 000019
【図３】
0004570250.tif 000020
【図４】
0004570250.tif 000021
【図５】
0004570250.tif 000022
【図６】
0004570250.tif 000023
【図７】
0004570250.tif 000024
【図８】
0004570250.tif 000025
【図９】
0004570250.tif 000026
【図１０】
0004570250.tif 000027
【図１１】
0004570250.tif 000028
【図１２】
0004570250.tif 000029
【図１３】
0004570250.tif 000030
【図１４】
0004570250.tif 000031
【図１５】
0004570250.tif 000032
【図１６】
0004570250.tif 000033