ディジタル技術による音声(voice)の伝送は、とくに長距離のディジタル無線電話の応用において普及してきた。これにより、チャンネル上で送ることができる最少情報量を判断し、一方で再構成された音声の知覚品質を維持することに関心が生まれた。音声を単にサンプリングして、ディジタル形式にすることによって送るとき、従来のアナログ電話の音声品質を実現するには、毎秒64キロビット秒(kbps)のオーダのデータレートが必要である。しかしながら、音声解析を使用し、その後で適切にコード化し、伝送し、受信機において再合成をすることによって、データレートを相当に低減することができる。
人間の音声の生成モデルに関係するパラメータを抽出することによって音声を圧縮する技術を採用したデバイスは、音声コーダと呼ばれている。音声コーダは、入力音声信号を時間のブロック、すなわち解析フレームに分割する。一般的に音声コーダはエンコーダとデコーダとを含む。エンコーダは、入力音声フレームを解析して、一定の関連するパラメータを抽出して、パラメータを二値表現、すなわち1組のビットまたは二値データパケットに量子化する。データパケットは通信チャンネル上で受信機およびデコーダへ送られる。デコーダはデータパケットを処理し、非量子化して(unquantize)パラメータを生成し、非量子化したパラメータを使用して音声フレームを再合成する。
音声コーダの機能は、音声が本質的にもっている固有の冗長の全てを取去ることによって、ディジタル化された音声信号を低ビットレートの信号へ圧縮することである。ディジタル圧縮は、入力音声フレームを1組のパラメータで表わし、量子化を採用して、このパラメータを1組のビットで表わすことによって実現される。入力音声フレームが多数のビットNiをもち、音声コーダによって生成されるデータパケットが多数のビットN0をもつとき、音声コーダによって得られる圧縮係数は、Cr=Ni/N0である。デコードされた音声(speech)の高い音声品質(voice quality)を維持し、一方で目標の圧縮係数を得ることが課題とされている。音声コーダの性能は、(1)音声モデル、すなわち上述の解析および合成プロセスの組合せがどのくらい適切に行われるか、および(2)パラメータ量子化プロセスが1フレーム当りN0ビットの目標ビットレートでどのくらい適切に実行されるかに依存する。したがって音声モデルは、各フレームごとの小さい組のパラメータを使用して、音声信号の本質(essence)、すなわち目標の音声品質を得ることを目的としている。
音声コーダは時間領域のコーダ、すなわち音声の小さいセグメント(一般的に5ミリ秒(millisecond, ms)のサブフレーム)を一度にコード化する高度な時間分解処理(time-resolution processing)を採用することによって時間領域の音声波形を得ることを試みる時間領域のコーダとして構成することができる。各サブフレームごとに、この技術において知られている種々のサーチアルゴリズムによって、コードブック空間から高精度の見本(representative)を見付ける。その代わりに、音声コーダは周波数領域のコーダとして構成されていてもよく、1組のパラメータを使用して入力音声フレームの短期間の音声スペクトルを捕らえて(解析)、対応する合成プロセスを採用して、スペクトルパラメータから音声波形を再現することを試みる。パラメータ量子化器は、文献(A Gersho & R.M. Gray, Vector Quantization and Signal Compression (1992))に記載されている既知の量子化技術にしたがって、コードベクトルの記憶されている表現を使用してパラメータを表わすことによってそれらのパラメータを保存する。
よく知られている時間領域の音声コーダは、CELP(Code Excited Linear Predictive)コーダであり、これはL.B. Rabiner & R.W. Schaferによる文献(Digital Processing of Speech Signals 396-453 (1978))に記載されており、ここでは参考文献として全体的にこれを取り上げている。CELPコーダでは、線形予測(linear prediction, LP)解析によって、短期間のフォルマントフィルタの係数を見付け、音声信号における短期間の相関関係、すなわち冗長を取去る。短期間の予測フィルタを入力音声フレームに適用して、LPの残余信号(residue signal)を生成し、このLPの残余信号をさらに長期間の予測フィルタパラメータおよび次の確率コードブックでモデル化して、量子化する。したがってCELPのコード化は、時間領域の音声波形をコード化するタスクを、LPの短期間のフィルタ係数をコード化するタスクおよびLPの残余をコード化するタスクの別々のタスクへ分ける。時間領域のコード化は、固定レート(すなわち、各フレームごとに、同数のビットN0を使用するレート)で、または可変レート(すなわち、異なるビットレートが異なるタイプのフレームの内容に対して使用されるレート)で実行することができる。可変レートのコーダは、目標の品質を得るのに適したレベルまでコーデックパラメータをコード化するのに必要なビット量のみを使用することを試みる。例示的な可変レートのCELPのコーダは米国特許第5,414,796号に記載されており、これは本発明の譲受人に譲渡され、ここでは参考文献として全体的に取り上げている。
CELPコーダのような時間領域のコーダは、通常は、フレームごとに多数のビットN0に依存して、時間領域の音声波形の精度を保持する。このようなコーダは、通常はフレーム当りのビット数N0が比較的に多いとき(例えば、8キロビット秒以上)、優れた音声品質を伝える。しかしながら低ビットレート(4キロビット秒以下)では、時間領域のコーダは、使用可能なビット数が制限されているために、高品質で丈夫な性能を維持しない。低ビットレートではコードブック空間が制限されているので、従来の時間領域のコーダには備えられている波形を整合する能力を取去って、より高レートの市販のアプリケーションにおいてこのようなコーダを実行するのに成功した。
現在、研究に対する関心および活発な商業上の要求が急激に高まり、中程度から低いビットレート(すなわち、2.4ないし4キロビット秒の範囲およびそれ以下)で動作する高品質の音声コーダを発展させた。応用分野には、無線電話通信、衛星通信、インターネット電話通信、種々のマルチメディアおよび音声ストリーミングアプリケーション、音声メール、並びに他の音声保存システムを含む。駆動力については、大きい容量が必要とされ、かつパケットが失われた情況下での丈夫な性能が要求されている。種々の最近の音声のコード化を標準化する努力は、低レートの音声コード化アルゴリズムの研究および発展を推進する別の直接的な駆動力に当てられている。低レートの音声コーダは、許容可能な適用バンド幅ごとに、より多くのチャンネル、すなわちユーザを生成し、低レートの音声コーダを適切なチャンネルコーディングの追加の層と結合して、コーダの全体的なビット予定値(bit budget)の仕様に適合させ、チャンネルを誤った情況のもとでも丈夫な性能を発揮させることができる。
より低いビットレートでコード化するために、音声のスペクトル、すなわち周波数領域でコード化する種々の方法が開発され、この方法では音声信号は、時間にしたがって漸進的に変化するスペクトル(time-varying evolution of spectra)として解析される。例えば、R.J. McAulay & T.F. Quatieriによる文献(Sinusoidal Coding, in Speech Coding and Synthesis ch. 4 (W.B. Kleijin & K.K. Paliwal eds., 1995)参照。スペクトルコーダは、時間にしたがって変化する音声波形を精密にまねるのではなく、1組のスペクトルパラメータを使用して、音声の各入力フレームの短期間の音声スペクトルをモデル化、すなわち予測することを目的とする。スペクトルパラメータはコード化され、音声の出力フレームはデコードされたパラメータを使用して生成される。生成された合成された音声は、元の入力音声波形と整合しないが、同様の知覚品質を与える。この技術においてよく知られている周波数領域コーダの例には、マルチバンド励起コーダ(multiband excitation coder, MBE)、シヌソイド変換コーダ(sinusoidal transform coder, STC)、高調波コーダ(harmonic coder, HC)を含む。このような周波数領域のコーダは、低ビットレートで使用可能な少数のビットで正確に量子化できるコンパクトな組のパラメータをもつ高品質のパラメータモデルを与える。
それにも関わらず、低ビットレートのコード化は、制限されたコード化分解能、すなわち制限されたコードブック空間に重大な制約を加えて、単一のコード化機構の効果を制限し、コーダが、等しい精度の種々の背景条件のもとで、種々のタイプの音声セグメントを表わすことができないようにしている。例えば、従来の低ビットレートの周波数領域のコーダは、音声フレームの位相情報を送らない。その代わりに、位相情報は、ランダムな人工的に生成された初期位相値および線形補間技術(linear interpolation technique)を使用することによって再構成される。例えば、H.Yang、他による文献(Quadratic Phase Interpolation for Voiced Speech Synthesis in the MBE Model, in 29 Electronic Letters 856-57 (May 1993))参照。位相情報は人工的に生成されるので、シヌソイドの振幅は量子化−非量子化プロセスによって完全に保持されるときでも、周波数領域のコーダによって生成される出力音声は元の入力音声と整合しない(例えば、大半のパルスは同期しない)。したがって、周波数領域のコーダでは、例えば信号対雑音比(signal-to-noise ratio, SNR)または知覚のSNRのような、閉ループの性能尺度(performance measure)を採用することが難しいことが分かった。
開ループのモード決定プロセスに関連して低レートの音声のコード化を行なうために、マルチモードコード化技術が採用された。1つのこのようなマルチモードコード化技術は、Amitava Das、他による文献(Multimode and Variable-Rate Coding of Speech, in Speech Coding and Synthesis ch. 7 (W.B. Kleijin & K.K. Paliwal eds., 1995))に記載されている。従来のマルチモードコーダは異なるモード、すなわちコード化−デコード化アルゴリズムを、異なるタイプの入力音声フレームへ適用する。各モード、すなわちコード化−デコード化プロセスは、最も効率的なやり方で、例えば、有声音音声、無声音音声、または背景ノイズ(非音声(nonspeech))のような一定のタイプの音声セグメントを表わすために特化される。外部の開ループのモード決定機構は、入力音声フレームを検査して、何れのモードをフレームに適用するかに関して判断する。通常は、開ループのモード決定は、入力フレームから多数のパラメータを抽出して、一定の時間およびスペクトルの特性に関するパラメータを評価して、この評価に対するモード決定に基づくことによって行なわれる。したがってモード決定は、出力音声の抽出状態、すなわち出力音声が音声品質または他の性能尺度に関して入力音声にどのくらい近くなるかを前もって知ることなく行われる。
上述に基づいて、位相情報をより精密に推定する低ビットレートの周波数領域のコーダを用意することが望ましい。マルチモードの混合領域のコーダを用意して、フレームの音声内容に基づいて、一定の音声フレームを時間領域でコード化し、他の音声フレームを周波数領域でコード化することがさらに好都合である。閉ループのコード化モード決定機構にしたがって、一定の音声フレームを時間領域でコード化して、他の音声フレームを周波数領域でコード化することができる混合領域のコーダを用意することが、なおいっそう望ましい。したがって、コーダによって生成される出力音声と、コーダへ入力される元の音声との時間の同期性を保証する、閉ループのマルチモードの混合領域の音声コーダが必要とされている。
図1では、第1のエンコーダ10は、ディジタル形式の音声サンプルs(n)を受信し、サンプルs(n)をコード化して、伝送媒体12、すなわち通信チャンネル12上で第1のデコーダ14へ送る。デコーダ14はコード化された音声サンプルをデコードし、出力された音声信号SSYNTH(n)を合成する。反対方向で伝送するには、第2のエンコーダ16がディジタル形式の音声サンプルs(n)をコード化し、それを通信チャンネル18上で送る。第2のデコーダ20はコード化された音声サンプルを受信し、デコードし、合成された出力音声信号SSYNTH(n)を生成する。
音声サンプルs(n)は、この技術において知られている種々の方法、例えばパルスコード変調(pulse code modulation, PMC)、コンパンドされたμ法、すなわちA法(companded μ-law, or A-law)を含む方法にしたがって、ディジタル形式にされて量子化された音声信号を表わしている。この技術において知られているように、音声サンプルs(n)は、各々が所定数のディジタル形式の音声サンプルs(n)を含む入力データのフレームへ編成される。例示的な実施形態では、8キロヘルツのサンプリングレートが採用され、各20ミリ秒のフレームは160サンプルを含んでいる。別途記載する実施形態では、データ伝送レートはフレームごとに8キロビット秒(フルレート)から4キロビット秒(2分の1レート)、2キロビット秒(4分の1レート)、1キロビット秒(8分の1レート)へ変化することが好都合である。その代わりに、他のデータレートを使用してもよい。ここで使用されているように、“フルレート(full rate)”または“高レート(high rate)”という用語は、通常は、8キロビット秒以上のデータレートを指し、“2分の1レート”または“低レート”という用語は、通常は、4キロビット秒以下のデータレートを指す。比較的に少ない音声情報を含むフレームに対して、より低いビットレートを選択的に採用できるので、データ伝送レートを変化させることが好都合である。当業者によって理解されるように、他のサンプリングレート、フレームサイズ、およびデータ伝送レートを使用してもよい。
第1のエンコーダ10および第2のデコーダ20は共に第1の音声コーダ、すなわち音声コーデックを含む。同様に、第2のエンコーダ16および第1のデコーダ14は共に第2の音声コーダを含む。音声コーダはディジタル信号プロセッサ(digital signal processor, DSP)、特定用途向け集積回路(application-specific integrated circuit, ASIC)、離散的ゲート論理(discrete gate logic)、ファームウエア、または従来のプログラマブルソフトウエアモジュールおよびマイクロプロセッサで構成されていてもよいことが分かるであろう。ソフトウエアモジュールは、RAMメモリ、フラッシュメモリ、レジスタ、またはこの技術において知られている他の形態の書き込み可能な記憶媒体内にある。その代わりに、従来のプロセッサ、制御装置、または状態機械をマイクロプロセッサと置換してもよい。音声のコード化のために特別に設計されたASICの例は、本発明の譲受人に譲渡され、かつここでは参考文献として全面的に取り上げている米国特許第5,727,123号、および1994年2月16日に出願され、本発明の譲受人に譲渡され、かつここでは参考文献として全面的に取り上げている米国特許出願第08/197,417号(発明の名称:VOCODER ASIC)に記載されている。
1つの実施形態にしたがって、図2に示されているように、音声コーダ内で使用できるマルチモードの混合領域の線形予測(mixed-domain linear prediction, MDLP)エンコーダ100は、モード決定モジュール102、ピッチ推定モジュール104、線形予測(linear prediction, LP)解析モジュール106、LP解析フィルタ108、LP量子化モジュール110、およびMDLP残余エンコーダ112を含む。入力音声フレームs(n)は、モード決定モジュール102、ピッチ推定モジュール104、LP解析モジュール106、およびLP解析フィルタ108へ供給される。モード決定モジュール102は、各入力音声フレームs(n)の周期性および他の抽出パラメータ、例えばエネルギー、スペクトルチルト、ゼロ交差レート、などに基づいて、モード指標I
MおよびモードMを生成する。周期性にしたがって音声フレームを分類する種々の方法は、米国特許出願第08/815,354号(発明の名称:METHOD AND APPARATUS FOR PERFORMING REDUCED RATE VARIABLE RATE VOCODING)に記載されており、これは1997年3月11日に出願され、本発明の譲受人に譲渡され、ここでは参考文献として全面的に取り上げている。このような方法は、米国電気通信工業会の業界暫定標準(Telecommunication Industry Association Industry Interim Standards)のTIA/EIA IS-127およびTIA/EIA IS-733にも採用されている。
MDLP残余エンコーダ112を除いて、図2のエンコーダ100および図3のデコーダ200の種々のモジュールの動作および構成はこの技術において知られており、上述の米国特許第5,414,796号およびLB. Rabiner & R.W. Schaferによる文献(Digital Processing of Speech Signals 396-453 (1978))に記載されている。
1つの実施形態にしたがって、MDLPエンコーダ(図示されていない)は、図4のフローチャートに示したステップを実行する。MDLPエンコーダは、図2のMDLP残余エンコーダ112であってもよい。ステップ300では、MDLPエンコーダは、モードMがフルレート(full rate, FR)であるか、4分の1レート(quarter rate, QR)であるか、または8分の1レート(eighth rate, ER)であるかを検査する。モードMがFR、QR、またはERであるときは、MDLPエンコーダはステップ302へ進む。ステップ302では、MDLPエンコーダは対応するレート(Mの値に依存して−FR,QR、またはER)を残余指標IRへ適用する。時間領域のコード化は、FRモードでは高精度で高レートのコード化であり、かつCELPのコード化であることが好都合であるが、この時間領域のコード化は、LPの残余フレーム、またはその代わりに音声フレームへ適用される。次にフレームは(ディジタル対アナログ変換および変調を含む別の信号処理の後で)送られる。1つの実施形態では、フレームは、予測誤差を表わすLP残余フレームである。代わりの実施形態では、フレームは、音声サンプルを表わす音声フレームである。
他方で、ステップ300では、モードMがFR、QR、またはERでなかったとき(すなわち、モードMが2分の1レート(half rate, HR)であるとき)、MDLPエンコーダはステップ304へ進む。ステップ304では、スペクトルのコード化、好ましくは高調波のコード化を2分の1のレートでLP残余、またはその代わりに音声信号へ適用する。次にMDLPエンコーダはステップ306へ進む。ステップ306では、コード化された音声をデコードして、それを元の入力フレームと比較することによって、ひずみ尺度Dを得る。次にMDLPエンコーダは、ステップ308へ進む。ステップ308では、ひずみ尺度Dは所定の閾値Tと比較される。ひずみ尺度Dが閾値Tよりも大きいときは、2分の1レートのスペクトル的にコード化されたフレームについて、対応する量子化されたパラメータが変調されて、送られる。他方で、ひずみ尺度Dが閾値T以下であるときは、MDLPエンコーダはステップ310へ進む。ステップ310では、デコードされたフレームは、この時間領域においてフルレートで再びコード化される。従来の高レートで高精度のコード化アルゴリズム、例えば好ましくはCELPのコード化を使用してもよい。次に、フレームと関係するFRモードの量子化されたパラメータが変調されて、送られる。
図5のフローチャートに示したように、次に1つの実施形態にしたがって閉ループのマルチモードのMDLPの音声コーダは、音声サンプルを処理して送る1組のステップにしたがう。ステップ400では、音声コーダは、連続するフレーム内の音声信号のディジタルサンプルを受信する。所与のフレームを受信すると、音声コーダはステップ402へ進む。ステップ402では、音声コーダはフレームのエネルギーを検出する。エネルギーはフレームの音声活動(speech activity)の尺度である。音声検出は、ディジタル形式の音声サンプルの振幅の平方を加算して、生成されたエネルギーを閾値と比較することによって行なわれる。1つの実施形態では、背景ノイズの変化レベルに基づいて閾値を採用する。例示的な可変閾値の音声活動検出器は、上述の米国特許第5,414,796号に記載されている。若干の無声音の音声は非常に低いエネルギーのサンプルであり、誤って背景ノイズとしてコード化されてしまうことがある。このようなことが発生するのを防ぐために、上述の米国特許第5,414,796号に記載されているように、低エネルギーサンプルのスペクトルのチルトを使用して、無声音の音声を背景ノイズと区別する。
フレームのエネルギーを検出した後で、音声コーダはステップ404へ進む。ステップ404では、音声コーダは、音声情報を含んでいるかについてフレームを分類するのに、検出されたフレームエネルギーが十分であるかどうかを判断する。検出されたフレームエネルギーが所定の閾値レベルよりも低いときは、音声コーダはステップ406へ進む。ステップ406では、音声コーダは背景ノイズ(すなわち、非音声、または黙音)としてフレームをコード化する。1つの実施形態では、背景ノイズのフレームは、8分の1レート、すなわち1キロビット秒でコード化される時間領域である。ステップ404では、検出されたフレームのエネルギーが所定の閾値レベル以上であるとき、フレームは音声として分類され、音声コーダはステップ408へ進む。
ステップ408では、音声コーダは、フレームが周期的であるかどうかを判断する。周期性を判断する種々の既知の方法には、例えばゼロ交差の使用および正規化された自動相関関数(normalized autocorrelation function, NACF)の使用を含む。とくに、ゼロ交差およびNACFを使用して、周期性を検出することは、米国出願第08/815,354号(発明の名称:METHOD AND APPARATUS FOR PERFORMING REDUCED RATE VARIABLE RATE VOCODING)に記載されており、これは1997年3月11日に出願され、本発明の譲受人に譲渡され、ここでは参考文献として全面的に取り上げている。さらに加えて、無声音の音声から有声音の音声を区別するのに使用される上述の方法は、米国電気通信工業会の業界暫定標準(Telecommunication Industry Association Industry Interim Standards)のTIA/EIA IS-127およびTIA/EIA IS-733に採用されている。ステップ408においてフレームが周期的でないと判断されるとき、音声コーダはステップ410へ進む。ステップ410では、音声コーダは、フレームを無声音の音声としてコード化する。1つの実施形態では、無声音の音声フレームは、4分の1レート、すなわち2キロビット秒でコード化される時間領域である。ステップ408では、フレームが周期的であると判断されるとき、音声コーダはステップ412へ進む。
ステップ412では、音声コーダは、例えば上述の米国特許出願第08/815,354号に記載されているように、この技術において知られている周期性検出方法を使用して、フレームが十分に周期的であるかどうかを判断する。フレームが十分に周期性でないと判断されるときは、音声コーダはステップ414へ進む。ステップ414では、フレームは遷移音声(transition speech)(すなわち、無声音の音声から有声音の音声への遷移)として時間領域でコード化される。1つの実施形態では、遷移音声フレームはフルレート、すなわち8キロビット秒で時間領域でコード化される。
音声コーダは、ステップ412においてフレームが十分に周期的であると判断すると、ステップ416へ進む。ステップ416では、音声コーダは有声音の音声としてフレームをコード化する。1つの実施形態では、有声音の音声フレームは、とくに2分の1レート、すなわち4キロビット秒でスペクトル的にコード化される。図7を参照して別途記載するように、有声音の音声フレームは、高調波のコーダでスペクトル的にコード化されることが好都合である。その代わりに、他のスペクトルコーダは、この技術において知られているように、例えばシヌソイド変換コーダ(sinusoidal transmission coder)またはマルチバンド励起コーダ(multiband excitation coder)として使用できることが好都合である。次に音声コーダはステップ418へ進む。ステップ418では、音声コーダはコード化された有声音の音声フレームをデコードする。次に音声コーダはステップ420へ進む。ステップ420では、デコードされた有声音の音声フレームを、このフレームの対応する入力音声サンプルと比較して、合成された音声のひずみ尺度を得て、2分の1レートの有声音音声のスペクトルコード化モデルが許容限度内で動作しているかどうかを判断する。次に音声コーダはステップ422へ進む。
ステップ422では、音声コーダは、デコードされた有声音の音声フレームと、このフレームに対応する入力音声フレームとの誤差が所定の閾値より小さいかどうかを判断する。1つの実施形態では、この判断は、図6を参照して別途記載するやり方で行われる。コード化のひずみが所定の閾値よりも低いときは、音声コーダはステップ426へ進む。ステップ426では、音声コーダは、ステップ416のパラメータを使用して、フレームを有声音の音声として送る。ステップ422では、コード化のひずみが所定の閾値以上であるときは、音声コーダはステップ414へ進み、ステップ400において受信したディジタル形式の音声サンプルのフレームを遷移音声としてフルレートで時間領域でコード化する。
ステップ400ないし410は開ループのコード化決定モードを含むことに注目すべきである。他方で、ステップ412ないし426は閉ループのコード化決定モードを含む。
1つの実施形態では、図6に示したように、閉ループのマルチモードのMDLPの音声コーダはアナログ対ディジタルコンバータ(analog-to-digital converter, A/D)500を含み、A/D500はフレームバッファ502に接続され、フレームバッファ502は制御プロセッサ504に接続される。エネルギー計算器506、有声音音声の検出器508、背景ノイズエンコーダ510、高レートの時間領域エンコーダ512、および低レートのスペクトルエンコーダ514は制御プロセッサ504へ接続される。スペクトルデコーダ516はスペクトルエンコーダ514に接続され、誤差計算器518はスペクトルデコーダ516および制御プロセッサ504へ接続される。閾値比較器520は、誤差計算器518および制御プロセッサ504へ接続される。バッファ522はスペクトルエンコーダ514、スペクトルデコーダ516、および閾値比較器520へ接続される。
図6の実施形態では、音声コーダの構成要素は、音声コーダ内にファームウエアまたは他のソフトウエア駆動モジュールとして構成されていることが好都合であり、音声コーダ自身はDSPまたはASIC内にあることが好都合である。当業者には、音声コーダの構成要素は、多数の他の既知のやり方で同様に適切に構成できることが分かるであろう。制御プロセッサ504はマイクロプロセッサであることが好都合であるが、制御装置、状態機械、または離散的論理と共に構成されていてもよい。
図6のマルチモードのコーダでは、音声信号はA/D500へ供給される。A/D500はアナログ信号をディジタル形式の音声サンプルS(n)へ変換する。ディジタル形式の音声サンプルは、フレームバッファ502へ供給される。制御プロセッサ504は、フレームバッファ502からディジタル形式の音声サンプルを得て、それらをエネルギー計算器506へ供給する。エネルギー計算器506は、次の式にしたがって音声サンプルのエネルギーEを計算する:
なお、フレームは20ミリ秒長であり、サンプリングレートは8キロヘルツである。計算されたエネルギーEは制御プロセッサ504へ送られる。
制御プロセッサ504は、計算された音声エネルギーを音声活動(speech activity)の閾値と比較する。計算されたエネルギーが音声活動の閾値よりも小さいときは、制御プロセッサ504はディジタル形式の音声サンプルをフレームバッファ502から背景ノイズエンコーダ510へ送る。背景ノイズエンコーダ510は、背景ノイズの推定値を保持するために必要な最少数のビットを使用して、フレームをコード化する。
計算されたエネルギーが音声活動の閾値以上であるときは、制御プロセッサ504はディジタル形式の音声サンプルをフレームバッファ502から有声音音声の検出器508へ方向付ける。有声音音声の検出器508は、音声フレームの周期性が、低ビットレートのスペクトルのコード化を使用して効率的なコード化を可能にするかどうかを判断する。音声フレーム内の周期性のレベルを判断する方法は、この技術においてよく知られており、例えば正規化された自動相関関数(normalized autocorrelation function, NACF)およびゼロ交差の使用を含む。これらの方法および他の方法は、上述の米国特許出願第08/815,354号に記載されている。
有声音音声の検出器508は、スペクトルエンコーダ514が効率的にコード化するのに十分な周期性をもつ音声を音声フレームが含んでいるかどうかを示す信号を制御プロセッサ504へ供給する。有声音音声の検出器508が、音声フレームが十分な周期性を欠いていると判断するとき、制御プロセッサ504はディジタル形式の音声サンプルを高レートのエンコーダ512へ方向付け、エンコーダ512は所定の最大データレートで音声を時間領域でコード化する。1つの実施形態では、所定の最大データレートは8キロビット秒であり、高レートのエンコーダ512はCELPのコーダである。
有声音音声の検出器508が最初に、音声信号が、スペクトルエンコーダ514が効率的にコード化するのに十分な周期性をもつと判断するとき、制御プロセッサ504は、フレームバッファ502からスペクトルエンコーダ514へディジタル形式の音声サンプルを方向付ける。例示的なスペクトルエンコーダは、図7を参照して別途詳しく記載する。
計算されたMSEが許容範囲内であるときは、閾値比較器520は信号をバッファ522へ供給し、スペクトル的にコード化されたデータは音声コーダから出力される。他方で、MSEが許容限界内でないときは、閾値の比較器520は信号を制御プロセッサ504へ送り、制御プロセッサ504はディジタル形式のサンプルをフレームバッファ502から高レートの時間領域のエンコーダ512へ方向付ける。時間領域のエンコーダ512は、所定の最大レートでフレームをコード化し、バッファ522の内容は捨てられる。
図6の実施形態では、採用されたスペクトルのコード化のタイプは高調波のコード化であり、これについては図7を参照して別途記載するが、代わりの実施形態では、シヌソイド変換のコード化またはマルチバンド励起のコード化のような、スペクトルのコード化のタイプであってもよい。マルチバンド励起のコード化の使用は、米国特許第5,195,166号に記載されており、シヌソイド変換のコード化の使用は、例えば米国特許第4,865,068号に記載されている。
遷移フレーム、および位相ひずみ閾値が周期性パラメータ以下である有声音フレームでは、図6のマルチモードコーダはフルレート、すなわち8キロビット秒で、高レートの時間領域のコーダ512によって、CELPのコード化を採用することが好都合である。その代わりに、このようなフレームに対して、他の既知の形態の高レートの時間領域のコード化を使用してもよい。したがって、遷移フレーム(および十分に周期的でない有声音フレーム)は高い精度でコード化され、入力および出力における波形は適切に整合し、位相情報は適切に保持される。1つの実施形態では、マルチモードコーダは、閾値比較器520の判断と無関係に、閾値が周期性の尺度を越えている所定数の連続する有声音フレームを処理した後で、各フレームごとに2分の1レートのスペクトルのコード化からフルレートのCELPのコード化へスイッチする。
制御プロセッサ504に関連して、エネルギー計算器506および有声音音声の検出器508は開ループのコード化決定を含むことに注意すべきである。対照的に、制御プロセッサ504に関連して、スペクトルエンコーダ514、スペクトルデコーダ516、誤差計算器518、閾値比較器520、およびバッファ522は閉ループのコード化決定を含む。
図7を参照して記載した1つの実施形態では、スペクトルのコード化、好ましくは高調波のコード化を使用して、低ビットレートで十分に周期的な有声音フレームをコード化する。スペクトルコーダは、一般的に、周波数領域内の各音声フレームをモデル化してコード化することによって知覚的に重要なやり方で音声スペクトル特性の時間にしたがう漸進的変化(time-evolution)を保持することを試みるアルゴリズムとして規定される。このようなアルゴリズムの本質的な部分では、(1)スペクトルの解析またはパラメータの推定、(2)パラメータの量子化、(3)出力された音声波形とデコードされたパラメータとの合成を行う。したがって、1組のスペクトルパラメータをもつ短期間の音声スペクトルの重要な特性を保持し、デコードされたスペクトルパラメータを使用して、出力音声を合成することを目的とする。通常は、出力音声は、シヌソイドの重み付けされた和として合成される。シヌソイドの振幅、周波数、および位相は、解析中に推定されるスペクトルパラメータである。
“合成による解析”はCELPのコード化においてよく知られた技術であるが、この技術はスペクトルのコード化には利用されていない。合成による解析がスペクトルコーダに適用されない主な理由は、初期位相の情報の損失によって、音声モデルが知覚の観点から適切に機能していても、合成された音声の平均二乗エネルギー(mean square energy, MSE)が高いからである。したがって、初期位相を正確に生成すると、音声サンプルと再構成された音声とを直接に比較して、音声モデルが音声フレームを正確にコード化しているかどうかを判断できるといった別の長所がある。
スペクトルのコード化では、出力された音声フレームは次に示すように合成することができる: S[n]=S
v[n]+S
uv[n],n=1,2,...,N,なお、Nは1フレーム当りのサンプル数であり、S
vおよびS
uvは、それぞれ有声音成分および無声音成分である。シヌソイド和合成プロセス(sum-of-sinusoid synthesis process)は次の式に示すように有声音成分を生成する:
振幅、周波数、および位相パラメータは、スペクトル解析プロセスによって入力フレームの短期間のスペクトルから推定される。無声音成分は、単一のシヌソイド和合成において有声音部分と一緒に生成されるか、または専用の無声音合成プロセスによって別々に計算され、Svへ再び加えられる。
図7の実施形態では、高調波コーダと呼ばれる特定のタイプのスペクトルコーダを使用して、低ビットレートで十分に周期的な有声音フレームをスペクトル的にコード化する。高調波のコーダは、シヌソイド和としてフレームを特徴付け、フレームの小さいセグメントを解析する。シヌソイド和の中の各シヌソイドは、フレームのピッチF
0の整数倍の周波数をもつ。代わりの実施形態では、高調波のコーダ以外の特定のタイプのスペクトルコーダを使用し、各フレームに対するシヌソイド周波数は、0ないし2πの1組の実数から得られる。図7の実施形態では、和の中の各シヌソイドの振幅および位相が選択されることが好都合であり、その結果、図8のグラフによって示したように、和は1期間において信号と最良に整合する。高調波のコーダは一般的に外部の分類を採用し、各入力音声フレームは有声音または無声音として表示する。有声音フレームでは、シヌソイドの周波数は推定されたピッチ(F
0)の高調波に制限され、すなわちf
k=kF
0である。無声音の音声では、短期間のスペクトルのピークを使用して、シヌソイドを判断する。次の式に示すように、振幅および位相が補間されて、フレームにおいて漸進的変化をまねる:
シヌソイドごとに送られるパラメータは振幅および周波数である。位相は送られないが、その代わりに、例えば準位相モデル(quadratic phase model)、または位相の従来の多項式表現を含むいくつかの既知の技術にしたがってモデル化される。
図7に示されているように、高調波コーダはピッチ抽出器600を含み、ピッチ抽出器600はウインドウ処理論理602へ接続され、ウインドウ処理論理602は離散フーリエ変換(Discrete Fourier Transform, DFT)、および高調波解析論理604へ接続される。入力として音声サンプルS(n)を受信するピッチ抽出器600はは、DFTおよび高調波解析論理604へも接続される。DFTおよび高調波解析論理604は、残余エンコーダ606へ接続される。ピッチ抽出器600、DFTおよび高調波解析論理604、並びに残余エンコーダ606は、パラメータ量子化器608へそれぞれ接続される。パラメータ量子化器608はチャンネルエンコーダ610へ接続され、チャンネルエンコーダ610は送信機612へ接続される。送信機612は、例えば、符号分割多重アクセス(code division multiple access, CDMA)のような標準の無線周波数(radio-frequency, RF)のインターフェイスによって空中インターフェイス(over-the-air interface)上で、受信機614へ接続される。受信機614はチャンネルデコーダ616へ接続され、チャンネルデコーダ616は非量子化器618へ接続される。非量子化器618はシヌソイド和音声合成器620へ接続される。シヌソイド和音声合成器620へさらに接続されるのは位相推定器622であり、位相推定器622は入力として前フレーム情報を受信する。シヌソイド和音声合成器620は合成された音声出力SSYNTH(n)を生成するように構成されている。
ピッチ抽出器600、ウインドウ処理論理602、DTFおよび高調波解析論理604、残余エンコーダ606、パラメータ量子化器608、チャンネルエンコーダ610、チャンネルデコーダ616、非量子化器618、シヌソイド和音声合成器620、並びに位相推定器622は、例えばファームウエアまたはソフトウエアモジュールを含む、当業者によく知られている種々の異なるやり方で構成することができる。送信機612および受信機614は、当業者には知られている対応する標準のRFの構成要素で実行されていてもよい。
図7の高調波コーダでは、入力サンプルS(n)はピッチ抽出器600によって受信され、ピッチ抽出器600はピッチ周波数情報F0を抽出する。次にサンプルは、ウインドウ処理論理602によって適切なウインドウ処理関数によって乗算され、音声フレームの小さいセグメントの解析を可能にしている。ピッチ抽出器600によって供給されるピッチ情報を使用して、DFTおよび高調波解析論理604はサンプルのDFTを計算して、複合のスペクトル点を生成し、この複合のスペクトル点から、図8のグラフによって示されているように、高調波の振幅AIを抽出し、なお図8において、Lは高調波の合計数を示している。DFTは残余エンコーダ606へ供給され、残余エンコーダ606は音声情報(voicing information)Vcを抽出する。
Vcパラメータは、図8に示されているように、周波数軸上の点を示し、Vcがより高くなると、スペクトルは無声音の音声信号の特性を示し、最早高調波ではなくなることに注意すべきである。対照的に、点Vcより低くなると、スペクトルは高調波であり、有声音の音声の特性を示す。
AI,F0,およびVcの成分は、パラメータ量子化器608へ供給され、パラメータ量子化器608では情報を量子化する。量子化された情報はパケットの形態でチャンネルエンコーダ610へ供給され、チャンネルエンコーダ610では、例えばハーフレート、すなわち4キロビット秒のような低ビットレートでパケットを量子化する。パケットは送信機612へ供給され、送信機612はパケットを変調して、生成された信号を受信機614へ空中で(over the air)送る。受信機614は信号を受信して、復調して、コード化されたパケットをチャンネルデコーダ616へ送る。チャンネルデコーダ616はパケットをデコードして、デコードされたパケットを非量子化器618へ供給する。非量子化器618は情報を非量子化する。情報はシヌソイド和音声合成器620へ供給される。
シヌソイド和音声合成器620は、S[n]についての上述の式にしたがって短期間の音声スペクトルをモデル化する複数のシヌソイドのモデリングを合成するように構成されている。シヌソイドfkの周波数は、基本周波数F0の倍数または高調波であり、準周期的な(すなわち、遷移の)有声音の音声セグメントに対するピッチの周期性をもつ周波数である。
さらに加えて、シヌソイド和の音声合成器620は位相推定器622から位相情報を受信する。位相推定器622は前フレームの情報、すなわち直前フレームについてのAI,F0,およびVcのパラメータを受信する。位相推定器622は、前フレームの再構成されたNのサンプルも受信し、なおNはフレーム長(すなわち、Nは1フレーム当りのサンプル数)である。位相推定器622は、前フレームの情報に基づいて、フレームの初期位相を判断する。初期位相の判断は、シヌソイド和の音声合成器620へ供給される。現在のフレームに関する情報と、過去のフレーム情報に基いて位相推定器622によって行なわれた初期位相の計算とを基にして、シヌソイド和音声合成器620は上述のように音声フレームを生成する。
既に記載したように、高調波のコーダは、前フレームの情報を使用して、位相がフレームからフレームへ線形に変化することを予測することによって、音声フレームを合成、すなわち再構成する。上述の合成モデルは、一般的に準位相モデルと呼ばれており、このような合成モデルでは、係数B3(k)は、現在の有声音フレームの初期位相が合成されていることを表わしている。位相を判断するとき、従来の高調波のコーダは初期位相をゼロに設定するか、または初期位相値をランダムに、あるいは疑似ランダム生成方法を使用して生成する。位相をより正確に予測するために、位相推定器622は、直前のフレームが有声音の音声フレーム(すなわち、十分に周期的なフレーム)であるか、または遷移音声フレームであるかに依存して、初期位相を判断するための2つの可能な方法の一方を使用する。前フレームが有声音の音声フレームであったときは、このフレームの推定された最終位相値は、現在のフレームの初期位相値として使用される。他方で、前フレームが遷移フレームとして分類されたときは、現在のフレームの初期位相値は、前フレームのスペクトルから得られ、これは前フレームのデコーダ出力のDFTを行なうことによって得られる。したがって位相推定器622は、(遷移フレームである前フレームがフルレートで処理されたので)既に使用可能である正確な位相情報を使用できる。
1つの実施形態では、閉ループのマルチモードのMDLPの音声コーダは、図9のフローチャート内に示されている音声処理ステップにしたがう。音声コーダは、最も適切なコード化モードを選択することによって、各入力音声フレームのLPの残余をコード化する。一定のモードは時間領域内でLPの残余、すなわち音声の残余をコード化し、一方で他のモードは周波数領域内でLPの残余、すなわち音声の残余を表わす。モードの組には、遷移フレームに対するフルレートの時間領域(Tモード);有声音フレームに対する2分の1レートの周波数領域(Vモード);無声音フレームに対する4分の1レートの時間領域(Uモード);およびノイズフレームに対する8分の1レートの時間領域(Nモード)がある。
当業者には、図9に示したステップにしたがうことによって、音声信号または対応するLPの残余がコード化されることが分かるであろう。ノイズ、無声音、遷移、および有声音の音声の波形特性は、図10aのグラフにおいて時間関数として参照することができる。ノイズ、無声音、遷移、および有声音のLPの残余の波形特性は、図10bのグラフにおいて時間関数として参照することができる。
ステップ700では、4つのモード(T、V、U,またはN)の何れか1つに関して、開ループのモード決定を行って、入力音声の残余S(n)へ適用する。Tモードが適用されるときは、ステップ702では、時間領域においてTモード、すなわちフルレートで音声の残余が処理される。Uモードが適用されるときは、ステップ704で、時間領域においてUモード、すなわち4分の1レートで音声の残余が処理される。Nモードが適用されるときは、ステップ706では、時間領域においてNモード、すなわち8分の1レートで音声の残余が処理される。Vモードが適用されるときは、ステップ708では、周波数領域においてVモードで、すなわち2分の1レートで音声の残余が処理される。
ステップ710では、ステップ708でコード化された音声がデコードされ、入力音声の残余S(n)と比較され、性能尺度Dが計算される。ステップ712では、性能尺度Dが所定の閾値Tと比較される。性能尺度Dが閾値T以上であるときは、ステップ714では、ステップ708においてスペクトル的にコード化された音声の残余は送信を許可される。他方では、性能尺度Dが閾値Tよりも小さいときは、ステップ716では、入力音声の残余S(n)はTモードで処理される。別の実施形態では、性能尺度は計算されず、閾値は規定されない。その代わりに、所定数の音声残余フレームがVモードで処理された後で、次のフレームはTモードで処理される。
図9に示した決定のステップでは、高ビットレートのTモードを必要なときだけ使用して、より低いビットレートのVモードで有声音の音声セグメントの周期性を活用することができ、一方でVモードが適切に実行されないときは、フルレートにスイッチすることによって品質の低下を防ぐことが好都合である。したがって、フルレートの音声品質に近づく非常に高い音声品質を、フルレートよりも相当に低い平均レートで生成することができる。さらに、選択された性能尺度および選ばれた閾値によって、目標の音声品質を制御することができる。
Tモードへの“更新”は、モデル位相追跡を入力音声の位相追跡の近くに維持することによって、後でVモードを適用する動作を向上することができる。Vモードの性能が不適切であるときは、ステップ710および712の閉ループの性能検査はTモードへスイッチし、初期位相値を“リフレッシュ”して、モデルの位相追跡を元の入力音声位相追跡に再び近付けることによって、次のVモードの処理の性能を向上することができる。例えば、図11aないしcのグラフに示したように、開始から5番目のフレームは、使用されているPSNRのひずみ尺度によって証明されているように、Vモードで適切に働かない。その結果、閉ループの決定および更新がないときは、モデル化された位相追跡は元の入力音声位相追跡から相当に外れ、図11cに示したように、PSNRを相当に劣化する。さらに、Vモードで処理される次のフレームの性能は劣化する。しかしながら、閉ループの決定のもとでは、5番目のフレームは、図11aに示したように、Tモードの処理へスイッチされる。5番目のフレームの性能は、図11bに示したように、PSNRにおける向上によって証明されているように、更新によって相当に向上する。さらに加えて、Vモードのもとで処理される次のフレームの性能も向上する。
図9に示した決定のステップでは、非常に正確な初期位相推定値を与えることによって、Vモードの表現品質を向上し、生成されたVモードの合成された音声の残余信号は元の入力音声の残余S(n)と正確に時間的に整合することを保証する。最初のVモードで処理された音声の残余セグメントにおける初期位相は、次に示すやり方で直前のデコードされたフレームから求められる。各高調波では、前フレームがVモードで処理されたときは、初期位相は前フレームの推定された最終位相に等しく設定される。各高調波では、前フレームがTモードで処理されたときは、初期位相は前フレームの実際の高調波の位相に等しく設定される。前フレームの実際の高調波の位相は、全ての前フレームを使用して過去のデコードされた残余のDFTをとることによって求められる。その代わりに、前フレームの実際の高調波の位相は、前フレームの種々のピッチ期間を処理することによって、ピッチが同期するやり方で、過去のデコードされたフレームのDFTをとることによって求められる。
本明細書では、斬新な閉ループのマルチモードの混合領域の線形予測(mixed-domain linear prediction, MDLP)の音声コーダを記載した。当業者には、ここに開示した実施形態に関係して記載した種々の例示的な論理ブロックおよびアルゴリズムのステップが、ディジタル信号プロセッサ(digital signal processor, DSP)、特定用途向け集積回路(application specific integrated circuit, ASIC)、離散的ゲートまたはトランジスタ論理、例えばレジスタおよびFIFOのような離散的ハードウエア構成要素、1組のファームウエア命令を実行するプロセッサ、または従来のプログラマブルソフトウエアモジュールおよびプロセッサで構成または実行できることが分かるであろう。プロセッサは、マイクロプロセッサであることが好都合であるが、その代わりに従来のプロセッサ、制御装置、マイクロプロセッサ、または状態機械であってもよい。ソフトウエアモジュールは、RAMメモリ、フラッシュメモリ、レジスタ、またはこの技術において知られている他の形態の書き込み可能な記憶媒体内にあってもよい。当業者にはさらに、上述の記述全体で参照したデータ、命令、コマンド、情報、信号、ビット、符号、およびチップが、電圧、電流、電磁波、磁界または磁粒、光の範囲または粒子(optical field or particles)、あるいはその組み合わせによって都合よく表わされることが分かるであろう。
本明細書では、本発明の好ましい実施形態を示し、記載した。しかしながら、当業者の一人には、ここに記載した実施形態に対して、本発明の意図または技術的範囲から逸脱せずに多数の変更を加えられることが分かるであろう。したがって、本発明は、特許請求項にしたがうことを除いて制限されない。