(57)【要約】説明されるシステム、方法、および装置は、単一の組の評価されたコサインおよびサインが、２つの異なる位相シフトにおける２つの周期的波形の相互相関を計算するために使用される波形アラインメントオペレーションを含んでいる。
2009518666.tif 000002
【特許請求の範囲】
【請求項１】
２つの周期的スピーチ波形をアラインする方法であって、評価範囲内の複数の第１の位相シフトのおのおのについて、
前記第１の位相シフトに基づいた複数の角度のおのおのについて少なくとも１つの三角関数を評価することと、
前記第１の位相シフトに基づいた角度の前記評価された三角関数に基づいて、第１の相関測度を計算することと、
前記第１の位相シフトに基づいた角度の前記評価された三角関数に基づいて、第２の相関測度を計算することと、
を備え、
前記第１の相関測度は、（Ａ）前記第１の位相シフトによってシフトされるときの、前記２つの周期的スピーチ波形のうちの第１の波形と、（Ｂ）前記２つの周期的スピーチ波形のうちの第２の波形と、の間の相関の測度であり、
前記第２の相関測度は、（Ｃ）前記第１の位相シフトに対応し、前記評価範囲外にある、複数の第２の位相シフトのうちの１つによってシフトされるときの、前記２つの周期的スピーチ波形のうちの前記第１の波形と、（Ｄ）前記２つの周期的スピーチ波形のうちの前記第２の波形と、の間の相関の測度である、
アラインする方法。
【請求項２】
前記の第１の相関測度と第２の相関測度のうちの最大を識別すること、を備える請求項１に記載のアラインする方法。
【請求項３】
前記２つの周期的スピーチ波形のうちの前記第１の波形に対して、前記の第１の相関測度と第２の相関測度のうちの前記識別された最大に対応する前記第１の位相シフトを、その最大が前記第１の相関測度のうちの１つである場合に適用することと、
前記２つの周期的スピーチ波形のうちの前記第１の波形に対して、前記の第１の相関測度と第２の相関測度のうちの前記識別された最大に対応する前記第２の位相シフトを、その最大が前記第２の相関測度のうちの１つである場合に適用することと、
を備える、請求項１に記載のアラインする方法。
【請求項４】
前記複数の第１の位相シフトのおのおのについて、前記第１の位相シフトに基づいた前記複数の角度のおのおのは、プロトタイプの異なる高調波周波数に対応する、請求項１に記載のアラインする方法。
【請求項５】
前記の少なくとも１つの三角関数を評価することは、前記第１の位相シフトに基づいた前記複数の角度のおのおのについてのコサインを評価することを備える、請求項１に記載のアラインする方法。
【請求項６】
前記の少なくとも１つの三角関数を評価することは、前記第１の位相シフトに基づいた前記複数の角度のおのおのについてのコサインおよびサインを評価することを備える、請求項１に記載のアラインする方法。
【請求項７】
前記の第１の相関測度を計算することは、（Ｅ）前記評価されたコサインの積と、（Ｆ）前記評価されたサインの積との、複数の和を計算することを含み、
前記の第２の相関測度を計算することは、（Ｇ）前記評価されたコサインの積と、（Ｈ）前記評価されたサインの積との、複数の差を計算することを含む、請求項１に記載のアラインする方法。
【請求項８】
前記２つの周期的スピーチ波形のうちの前記第１の波形は、スピーチ信号の時間の中の第１の部分の残留部から抽出されるプロトタイプ波形に基づいており、
前記２つの周期的スピーチ波形のうちの前記第２の波形は、前記スピーチ信号の時間の中の第２の部分の残留部から抽出されるプロトタイプ波形に基づいている、請求項１に記載のアラインする方法。
【請求項９】
前記２つの周期的スピーチ波形のおのおのの長さは、前記スピーチ信号の時間の中の前記の第１の部分と第２の部分のうちの少なくとも一方のピッチ周期に等しい、請求項８に記載のアラインする方法。
【請求項１０】
前記評価範囲は、ゼロラジアンからパイラジアンまでの両端を含む範囲内にある、請求項１に記載のアラインする方法。
【請求項１１】
前記複数の第１の位相シフトのおのおのについて、前記対応する第２の位相シフトは、パイラジアンから（２倍のパイ）ラジアンの範囲内にある、請求項１に記載のアラインする方法。
【請求項１２】
請求項１に記載の方法を記述する機械実行可能な命令、を有するデータストレージ媒体。
【請求項１３】
２つの周期的スピーチ波形をアラインするように構成される装置であって、
評価範囲内の複数の第１の位相シフトのおのおのについて、前記第１の位相シフトに基づいた複数の角度のおのおのについて少なくとも１つの三角関数を評価するための手段と、
前記複数の第１の位相シフトのおのおのについて、（１）前記第１の位相シフトに基づいた角度の前記評価された三角関数に基づいて、第１の相関測度と、（２）前記第１の位相シフトに基づいた角度の前記評価された三角関数に基づいて、第２の相関測度と、を計算するための手段と、
を備え、
前記第１の相関測度は、（Ａ）前記第１の位相シフトによってシフトされるときの、前記２つの周期的スピーチ波形のうちの第１の波形と、（Ｂ）前記２つの周期的スピーチ波形のうちの第２の波形と、の間の相関の測度であり、
前記第２の相関測度は、（Ｃ）前記第１の位相シフトに対応し、前記評価範囲外にある複数の第２の位相シフトのうちの１つによってシフトされるときの、前記２つの周期的スピーチ波形のうちの前記第１の波形と、（Ｄ）前記２つの周期的スピーチ波形のうちの前記第２の波形と、の間の相関の測度である、
装置。
【請求項１４】
前記装置は、前記の第１の相関測度と第２の相関測度のうちの最大を識別するための手段を備える、請求項１３に記載の装置。
【請求項１５】
前記装置は、（ｉ）前記２つの周期的スピーチ波形のうちの前記第１の波形に対して、前記の第１の相関測度と第２の相関測度のうちの前記識別された最大に対応する前記第１の位相シフトを、その最大が前記第１の相関測度のうちの１つである場合に適用することと、（ｉｉ）前記２つの周期的スピーチ波形のうちの前記第１の波形に対して、前記の第１の相関測度と第２の相関測度のうちの前記識別された最大に対応する前記第２の位相シフトを、その最大が前記第２の相関測度のうちの１つである場合に適用することと、のための手段を備える、請求項１３に記載の装置。
【請求項１６】
前記複数の第１の位相シフトのおのおのについて、前記第１の位相シフトに基づいた前記複数の角度のおのおのは、プロトタイプの異なる高調波周波数に対応する、請求項１３に記載の装置。
【請求項１７】
前記複数の第１の位相シフトのおのおのについて、少なくとも１つの三角関数を評価するための前記手段は、前記第１の位相シフトに基づいた前記複数の角度のおのおのについてのコサインを評価するように構成される、請求項１３に記載の装置。
【請求項１８】
前記複数の第１の位相シフトのおのおのについて、少なくとも１つの三角関数を評価するための前記手段は、前記第１の位相シフトに基づいた前記複数の角度のおのおのについてのコサインおよびサインを評価するように構成される、請求項１３に記載の装置。
【請求項１９】
前記複数の第１の位相シフトのおのおのについて、計算するための前記手段は、（Ｅ）前記評価されたコサインの積と、（Ｆ）前記評価されたサインの積との、複数の和を含むように前記第１の相関測度を計算するよう構成され、
前記複数の第１の位相シフトのおのおのについて、計算するための前記手段は、（Ｇ）前記評価されたコサインの積と、（Ｈ）前記評価されたサインの積との、複数の差を含むように前記第２の相関測度を計算するよう構成される、請求項１３に記載の装置。
【請求項２０】
前記装置は、（ｉ）スピーチ信号の時間の中の第１の部分の残留部から第１のプロトタイプ波形を抽出するように、そして（ｉｉ）前記スピーチ信号の時間の中の第２の部分の残留部から第２のプロトタイプ波形を抽出するように構成される、プロトタイプ波形を抽出するための手段を備え、
前記２つの周期的スピーチ波形のうちの前記第１の波形は、前記第１のプロトタイプ波形に基づいており、
前記２つの周期的スピーチ波形のうちの前記第２の波形は、前記第２のプロトタイプ波形に基づいている、
請求項１３に記載の装置。
【請求項２１】
前記２つの周期的スピーチ波形のおのおのの長さは、前記スピーチ信号の時間の中の前記の第１の部分と第２の部分のうちの少なくとも一方のピッチ周期に等しい、請求項２０に記載の装置。
【請求項２２】
前記評価範囲は、ゼロラジアンからパイラジアンまでの両端を含む範囲内にある、請求項１３に記載の装置。
【請求項２３】
前記複数の第１の位相シフトのおのおのについて、前記対応する第２の位相シフトは、パイラジアンから（２倍のパイ）ラジアンの範囲内にある、請求項１３に記載の装置。
【請求項２４】
請求項１３に記載の装置、を含むスピーチコーダ。
【請求項２５】
請求項１３に記載の装置を含む、セルラ電話。
【請求項２６】
２つの周期的スピーチ波形をアラインするように構成される装置であって、
評価範囲内の複数の第１の位相シフトのおのおのについて、前記第１の位相シフトに基づいた複数の角度のおのおのについて少なくとも１つの三角関数を、評価するように構成される三角関数評価器と、
前記複数の第１の位相シフトのおのおのについて、（１）前記第１の位相シフトに基づいた角度の前記評価された三角関数に基づいて、第１の相関測度と、（２）前記第１の位相シフトに基づいた角度の前記評価された三角関数に基づいて、第２の相関測度と、を計算するように構成されるカルキュレータと、
を備え、
前記第１の相関測度は、（Ａ）前記第１の位相シフトによってシフトされるときの、前記２つの周期的スピーチ波形のうちの第１の波形と、（Ｂ）前記２つの周期的スピーチ波形のうちの第２の波形と、の間の相関の測度であり、
前記第２の相関測度は、（Ｃ）前記第１の位相シフトに対応し、前記評価範囲外にある複数の第２の位相シフトのうちの１つによってシフトされるときの、前記２つの周期的スピーチ波形のうちの前記第１の波形と、（Ｄ）前記２つの周期的スピーチ波形のうちの前記第２の波形と、の間の相関の測度である装置。
【請求項２７】
前記装置は、前記の第１の相関測度と第２の相関測度のうちの最大を識別するように構成される比較器を備える、請求項２６に記載の装置。
【請求項２８】
前記装置は、前記２つの周期的スピーチ波形のうちの前記第１の波形に対して、前記の第１の相関測度と第２の相関測度のうちの前記識別された最大に対応する前記第１の位相シフトをその最大が前記第１の相関測度のうちの１つである場合に適用するように、そして前記２つの周期的スピーチ波形のうちの前記第１の波形に対して、前記の第１の相関測度と第２の相関測度のうちの前記識別された最大に対応する前記第２の位相シフトをその最大が前記第２の相関測度のうちの１つである場合に適用するように構成される位相シフタを備える、請求項２６に記載の装置。
【請求項２９】
前記複数の第１の位相シフトのおのおのについて、前記第１の位相シフトに基づいた前記複数の角度のおのおのは、プロトタイプの異なる高調波周波数に対応する、請求項２６に記載の装置。
【請求項３０】
前記複数の第１の位相シフトのおのおのについて、前記三角関数評価器は、前記第１の位相シフトに基づいた前記複数の角度のおのおのについてのコサインを評価するように構成される、請求項２６に記載の装置。
【請求項３１】
前記複数の第１の位相シフトのおのおのについて、前記三角関数評価器は、前記第１の位相シフトに基づいた前記複数の角度のおのおのについてのコサインおよびサインを評価するように構成される、請求項２６に記載の装置。
【請求項３２】
前記複数の第１の位相シフトのおのおのについて、前記カルキュレータは、（Ｅ）前記評価されたコサインの積と、（Ｆ）前記評価されたサインの積との、複数の和を含むように前記第１の相関測度を計算するよう構成され、
前記複数の第１の位相シフトのおのおのについて、前記カルキュレータは、（Ｇ）前記評価されたコサインの積と、（Ｈ）前記評価されたサインの積との、複数の差を含むように前記第２の相関測度を計算するよう構成される、請求項２６に記載の装置。
【請求項３３】
前記装置は、（ｉ）スピーチ信号の時間の中の第１の部分の残留部から第１のプロトタイプ波形を抽出するように、そして（ｉｉ）前記スピーチ信号の時間の中の第２の部分の残留部から第２のプロトタイプ波形を抽出するように構成される、プロトタイプ抽出器を備え、
前記２つの周期的スピーチ波形のうちの前記第１の波形は、前記第１のプロトタイプ波形に基づいており、
前記２つの周期的スピーチ波形のうちの前記第２の波形は、前記第２のプロトタイプ波形に基づいている、
請求項２６に記載の装置。
【請求項３４】
前記２つの周期的スピーチ波形のおのおのの長さは、前記スピーチ信号の時間の中の前記の第１の部分と第２の部分のうちの少なくとも一方のピッチ周期に等しい、請求項３３に記載の装置。
【請求項３５】
前記評価範囲は、ゼロラジアンからパイラジアンまでの両端を含む範囲内にある、請求項２６に記載の装置。
【請求項３６】
前記複数の第１の位相シフトのおのおのについて、前記対応する第２の位相シフトは、パイラジアンから（２倍のパイ）ラジアンの範囲内にある、請求項２６に記載の装置。
【請求項３７】
請求項２６に記載の装置を含む、スピーチコーダ。
【請求項３８】
請求項２６に記載の装置を含む、セルラ電話。
【発明の詳細な説明】
【関連出願】
【０００１】
本願は、２００５年１２月２日に出願された、アトーニィドケット番号０５０２９６Ｐ１、「周波数ドメインアラインメントの計算における複雑さの低減(COMPLEXITY REDUCTION IN FREQUENCY DOMAIN ALIGNMENT CALCULATION)」と題された米国仮特許出願第６０／７４２，１１６号の利益を主張する。
【分野】
【０００２】
本開示は、信号処理に関する。
【背景】
【０００３】
プロトタイプ波形符号化スキーム(prototype waveform encoding scheme)は、一般的にスムーズに展開する波形をサポートするプロトタイプアラインメント(prototype alignment)のオペレーションを含んでいる。そのようなアラインメント(alignment)は、タイムドメイン(time domain)における、あるいは周波数ドメイン(frequency domain)における一連の相互相関(cross-correlation)として計算されることができる。
【発明の開示】
【概要】
【０００４】
２つの周期的スピーチ波形をアラインする(align)方法は、ある範囲内の第１の複数の位相シフトのおのおのについての次の動作：（１）その位相シフトに基づいて複数の角度のおのおのについて少なくとも１つの三角関数(trigonometric function)を評価することと、（２）評価された三角関数に基づいて、第１および第２の相関測度(correlation measure)を計算することと、を含んでいる。第１の相関測度は、（Ａ）位相シフトによってシフトされるときの、２つの周期的スピーチ波形のうちの第１の波形と、（Ｂ）２つの周期的スピーチ波形のうちの第２の波形と、の間の相関の測度(measure)である。第２の相関測度は、（Ｃ）範囲外の位相シフトによってシフトされるときの、２つの周期的スピーチ波形のうちの第１の波形と、（Ｄ）２つの周期的スピーチ波形のうちの第２の波形と、の間の相関の測度である。
【０００５】
２つの周期的スピーチ波形をアラインするように構成される装置(apparatus)は、範囲内の第１の複数の位相シフトのおのおのについて、位相シフトに基づいて複数の角度のおのおのについて少なくとも１つの三角関数を評価するための手段を含んでいる。本装置はまた、第１の複数の位相シフトのおのおのについて、（１）位相シフトに基づいた角度の評価された三角関数に基づいた第１の相関測度と、（２）位相シフトに基づいた角度の評価された三角関数に基づいた第２の相関測度と、を計算するための手段も含んでいる。第１の相関測度は、（Ａ）位相シフトによってシフトされるときの、２つの周期的スピーチ波形のうちの第１の波形と、（Ｂ）２つの周期的スピーチ波形のうちの第２の波形と、の間の相関の測度である。第２の相関測度は、（Ｃ）範囲外の位相シフトによってシフトされるときの、２つの周期的スピーチ波形のうちの第１の波形と、（Ｄ）２つの周期的スピーチ波形のうちの第２の波形と、の間の相関の測度である。
【０００６】
２つの周期的スピーチ波形をアラインするように構成される別の装置は、範囲内の第１の複数の位相シフトのおのおのについて、位相シフトに基づいた複数の角度のおのおのについて少なくとも１つの三角関数を評価するように構成される三角関数評価器(trigonometric function evaluator)を、含んでいる。本装置はまた、第１の複数の位相シフトのおのおのについて、（１）位相シフトに基づいた角度の評価された三角関数に基づいた第１の相関測度と、（２）位相シフトに基づいた角度の評価された三角関数に基づいた第２の相関測度と、を計算するように構成されるカルキュレータも、含んでいる。第１の相関測度は、（Ａ）位相シフトによってシフトされるときの、２つの周期的スピーチ波形のうちの第１の波形と、（Ｂ）２つの周期的スピーチ波形のうちの第２の波形と、の間の相関の測度である。第２の相関測度は、（Ｃ）範囲外の位相シフトによってシフトされるときの、２つの周期的スピーチ波形のうちの第１の波形と、（Ｄ）２つの周期的スピーチ波形のうちの第２の波形と、の間の相関の測度である。
【詳細な説明】
【０００７】
ほとんどの既存のスピーチコーダ(speech coder)は、スピーチフレーム(speech frame)が、１組の線形予測符号化(linear predictive coding)（ＬＰＣ）係数と残留部(residual)に分解されるオペレーションを含んでいる。残留部の符号化は、符号化される信号ストリームの多くを占有するので、様々なスキームが、残留部を符号化するために必要とされるビットレートを低減させるために開発されてきている。
【０００８】
摩擦音などの無声スピーチセグメント(unvoiced speech segment)では、ランダムノイズが、残留部のすべてまたは一部分の代わりに使用されることができる。母音などの有声スピーチセグメント(voiced speech segment)では、残留信号(residual signal)は、高度の周期性を示し、これは、少なくとも一部のサンプルが補間され得ることを意味する。実際に、低い量子化レートで有声スピーチセグメントを符号化するために符号励振線形予測(code-excited linear prediction)（ＣＥＬＰ）などの符号化技法を使用することは、周期性のレベルを保存することができない可能性がある。
【０００９】
低ビットレートで有声スピーチセグメントの記憶または伝送のために使用され得る符号化スキームは、プロトタイプピッチ周期(prototype pitch period)（ＰＰＰ）コーダとプロトタイプ波形補間(prototype waveform interpolation)（ＰＷＩ）コーダとを含んでいる。そのような符号化スキームは、残留信号における１ピッチ周期の長さを有するプロトタイプ波形を周期的に見出す。デコーダにおいては、残留信号は、元の非常に周期的な波形の近似を得るためにプロトタイプの間の周期にわたって補間される。
【００１０】
一般的に、周期性は、ピッチ周期が、スピーチのあまり強くない有声モードまたは無声モードでは存在しない可能性さえあるように、強い有声セグメント中だけにおいて強い。非周期的スピーチセグメントを含めて、スピーチ信号のすべてのセグメントを符号化するためにＰＰＰコーダまたはＰＷＩコーダを使用することは、不満足な全体的な結果をもたらす可能性が高い。１つのソリューションは、有声スピーチと無声スピーチについて異なる符号化スキームを使用することである。例えば、ＰＰＰスキームまたはＰＷＩスキームは、有声セグメントについて使用されることができ、ＣＥＬＰスキームは、無声セグメントについて使用されることができる。符号化スキームの間のスイッチングは、スピーチ信号における周期性の測度に応じて実行されることができ、この測度は、ゼロ交差(zero crossing)関数または正規化自己相関(autocorrelation)関数を使用して計算されることができる。
【００１１】
別のソリューションは、ＰＷＩスキームを波形補間(waveform interpolation)（ＷＩ）スキームへと拡張することである。ＷＩ符号化スキームにおいては、今や代表的波形(representative waveform)または特性波形(characteristic waveform)と呼ばれるプロトタイプ波形は、スムーズに展開する波形(smoothly evolving waveform)（ＳＥＷ）と、急速に展開する波形(rapidly evolving waveform)（ＲＥＷ）とに分解される。ＳＥＷは、ピッチに関連した成分をモデル化するが、ＲＥＷは、もっと急速に変化する成分をモデル化する。これらの２つの波形は、一般的に非常に異なる知覚的要件を有し、別々に量子化されることができる。
【００１２】
別な方法で明示的に述べられない限り、「プロトタイプ」と「プロトタイプ波形」という用語は、ここにおいて少なくともゆっくり展開する波形(slowly evolving waveform)（ＳＥＷ）を含む波形など、周期的な任意のスピーチ波形を含むように使用される。そのような波形について使用されることができる他の用語は、「特性波形」および「代表的波形」であり、これらは、時にＳＥＷとＲＥＷの両方を含み得る波形を示すために使用される。それ故に、ＰＰＰ符号化スキーム、ＰＷＩ符号化スキーム、およびＷＩ符号化スキームに対するここにおいて説明される原理の適用は、明白に考えられており、これによって開示されることが、理解されるであろう。
【００１３】
図１は、スピーチフレームについての残留信号を符号化する方法Ｍ１００を示している。フレームは、その長期のスペクトル特性が比較的静止しているように十分に短いスピーチ信号のセグメントである。典型的なフレーム長は、２０ミリ秒である。タスクＴ１００は、フレームについてのピッチ遅延値(pitch lag value)（または「ピッチ周期(pitch period)」）Ｌを抽出する(extracts)。このオペレーションは、「ピッチ推定(pitch estimation)」とも呼ばれる。８ｋＨｚでサンプリングされたスピーチ信号では、ピッチ遅延値は、一般的に約２０から約１２０の範囲（それぞれ４００Ｈｚと６７Ｈｚの基本周波数に対応する）の中にある。
【００１４】
タスクＴ１００は、残留信号における、最大の絶対値を有するサンプルの間の平均距離を決定することを含むことができる。代わりに、タスクＴ１００は、フレーム、または候補のピッチ周期（例えば、先行フレームのピッチ周期）の２倍の大きさのウィンドウなどのウィンドウの自己相関を最大にする遅延を決定するように構成されることができる。この自己相関オペレーションの結果は、そのフレームが、有声であるか、または無声であるかについての決定をサポートするために使用されることもできる。一部の場合においては（特に、ＷＩ符号化スキームでは）、タスクＴ１００は、ピッチの倍増化または三倍増化を回避するためにおよそＬ／２サンプルおよびＬ／３サンプルの極大についてのチェックを含むことができる。より高いサンプリングレートを有する信号上で（例えば、８ｋＨｚから１６ｋＨｚで再サンプリングされる信号上で）ピッチ推定を実行することにより、ピッチの倍増化または三倍増化を低減させることが可能になり得る。
【００１５】
タスクＴ２００は、残留フレームから長さＬのプロトタイプ(prototype)を抽出する。タスクＴ２００は、一般的にフレームの最終ピッチ周期からプロトタイプを抽出するように構成される。残留部の高エネルギー領域は、そのような配置が、隣接するプロトタイプの間で不連続を引き起こす可能性があるので、プロトタイプの始まりまたは終わりでは起こらないことを保証することが望ましいこともある。一例においては、タスクＴ２００は、プロトタイプの始まりと終わりにおけるエネルギーの合計が最小化されるように、プロトタイプを抽出するように構成される。別の例においては、最高の大きさ（すなわち、主要なスパイク）を有する、プロトタイプ内のサンプルから、プロトタイプのいずれかの端までの距離が、サンプルの特定の数（例えば、６）またはＬの特定の比率（例えば、２５％）よりも小さくないように、タスクＴ２００は、プロトタイプを抽出するように構成される。
【００１６】
フレーム当たりに複数のプロトタイプを抽出するように、タスクＴ２００を構成することも可能である。例えば、ＷＩ符号化スキームにおいては、フレーム当たりに８つ以上までのプロトタイプを抽出することが望ましいこともある。この場合においては、同様に、より頻繁なピッチ推定値を取得することが望ましいこともある。一部の場合においては、ピッチ抽出は、フレーム当たりに一回または二回実行され、追加のピッチ値（例えば、フレーム当たり全部で８つの値について）は、線形補間（値が近接しているピッチ値について）および／またはステップごとの補間(stepwise interpolation)（隣接するピッチ値の間の差が大きいとき）などの方法を使用して抽出されたピッチ値の間で補間される。
【００１７】
抽出されたプロトタイプｓは、一般的に長さＬのシーケンスｓ［ｎ］としてタイムドメインにおいて表され、ここでサンプルインデックスｎ∈［０，Ｌ−１］であり、Ｌは、ピッチ周期である。プロトタイプは、周期Ｌの周期信号として周波数ドメインにおいて表されることもできる。例えば離散フーリエ級数(discrete Fourier series)（ＤＦＳ）表現を使用して、プロトタイプｓは、おのおのがスペクトル係数またはＤＦＳ係数ａ［ｋ］、ｂ［ｋ］のそれぞれの対によって重み付けされる基本周波数１／Ｌの高調波の和として次式で表されることができる。
【数１】
2009518666.tif 000003
【００１８】
この式においては、ｋは、基本周波数の第ｋ高調波を示すインデックスであり、ここで、プロトタイプｓにおける高調波は、第０高調波（ｋ＝０、ＤＣ成分(DC component)を示す）および第１高調波（ｋ＝１、基本周波数(fundamental frequency)を示す）から第
【数２】
2009518666.tif 000004
【００１９】
高調波（
【数３】
2009518666.tif 000005
【００２０】
、プロトタイプにおける基本周波数の最高の高調波(highest harmonic)を示す）まで広がる。式（１）においては、タイムドメイン表現におけるように、サンプルインデックスｎは、範囲０≦ｎ＜（Ｌ−１）を有する。しかしながら、式（１）の周波数ドメイン表現においては、ｎは、式（１）が、ｎの端数値(fractional value)におけるｓを評価するために使用されることができるように、整数値である必要はない。
【００２１】
方法Ｍ１００は、１組のＤＦＳ係数を計算するタスクＴ３００を含んでいる。例えば、タスクＴ３００は、以下の式に応じてＤＦＳ係数(DFS coefficients)ａ［ｋ］、ｂ［ｋ］を計算するように構成されることができる。
【数４】
2009518666.tif 000006
【００２２】
式中で、ｚ［０］は、１／Ｌに等しく、ｚ［Ｌ／２］は、偶数のＬについて１／Ｌに等しく、ｚ［ｋ］は、そうでなければ２／Ｌに等しい。
【００２３】
式（１）においては、係数ｂ［０］は、ｋ＝０について、
【数５】
2009518666.tif 000007
【００２４】
がゼロであるので、冗長である。係数ａ［０］は、それが知覚的に無関係である、プロトタイプのＤＣ成分を表すので、無視されることもできる。したがって、タスクＴ３００は、範囲
【数６】
2009518666.tif 000008
【００２５】
についてのＤＦＳ係数を計算するように構成されることができ、式（１）は、次のように簡略化されることができる。
【数７】
2009518666.tif 000009
【００２６】
波形は、１つのプロトタイプから次へとスムーズに展開することが望ましい。プロトタイプの間のスムーズな補間をサポートするために、隣接するプロトタイプをアラインすることが望ましい。例えば、以前のフレームのプロトタイプなどの基準に現在のフレームについてのプロトタイプをアラインする(align)ことが望ましいこともある。そのようなアラインメントは、プロトタイプのより効率的な量子化をサポートすることもできる。基準プロトタイプでは、デコーダにおいて見られることになるような復号化された（例えば、逆量子化された）プロトタイプを使用することが、一般的に望ましい。
【００２７】
プロトタイプアラインメントは、タイムドメインにおいて、または周波数ドメインにおいて実行されることができる。タイムドメインにおいては、プロトタイプアラインメントは、他のプロトタイプの円形に回転され、時間シフトされたバージョンに対して１つのプロトタイプの最大の相互相関を与えるタイムシフトｘ＊：
【数８】
2009518666.tif 000010
【００２８】
を識別することにより、実行されることができ、式中で、ｘは、（サンプルにおいて測定される）タイムシフトであり、ｓＣは、現在のプロトタイプを示し、ｓｒは、基準プロトタイプを示す。次いで、識別されたシフトｘ＊は、２つのプロトタイプの特徴がタイムアラインされる(time-aligned)ようにするために基準プロトタイプに適用されることができる。この例においては、基準プロトタイプは、現在のプロトタイプに対してシフトされるが、他の例においては、オペレーションは、タイムシフトｘがその代わりに現在のプロトタイプに対して適用されるように構成される。
【００２９】
プロトタイプが、時間においてではなくて位相においてアラインされるように、その代わりに周波数ドメインにおけるプロトタイプアラインメントを実行することが、望ましいこともある。例えば、タイムドメインにおいてそのようなオペレーションを実行することが、一方のプロトタイプの長さを他方に対してマッチさせるためにタイムワーピング(time-warping)を必要とする可能性があるので、異なる長さのプロトタイプのアラインメントは、周波数ドメインにおいてより簡単に達成されることができる。計算の複雑さの低減が、周波数ドメインにおいて、特に端数の位相シフト(fractional phase shifts)についてアラインメントオペレーションを実行することにより、達成されることができることもまた可能である。
【００３０】
周波数ドメインにおいて、アラインメントオペレーションは、一方のプロトタイプの最大相互相関を他方のプロトタイプの位相シフトされたバージョンに対して与える位相シフトｒ＊：
【数９】
2009518666.tif 000011
【００３１】
を識別することにより、実行されることができ、式中でａｎ［ｋ］、ｂｎ［ｋ］は、基準プロトタイプについてのＤＦＳ係数を示し、ａｎ＋１［ｋ］、ｂｎ＋１［ｋ］は、現在のプロトタイプについてのＤＦＳ係数を示す。相互相関は、それらのプロトタイプの間の相関が最大にされる位相シフトｒ＊を決定するためにアラインメント範囲０≦ｒ＜Ｌ（これらの値は端数とすることができる）の中のｒの値について反復される。図２は、式（５）の計算を実行するために使用されることができる擬似コードリストの一例を示している。
【００３２】
周波数ドメインにおけるアラインメントの計算は、タイムドメインにおけるそのような計算より優れたある種の利点をもたらす可能性があるが、それにもかかわらず、アラインされるべきプロトタイプの各対についての式（５）の評価は、計算集約的であり、プロトタイプ符号化システムにおける全体的な計算の負担のうちのかなりの部分を表す可能性がある。
【００３３】
式（５）の計算は、望ましい位相サンプリングレートでアラインメント範囲０≦ｒ＜Ｌにわたって実行されることができる。代わりに、ＰＷＩエンコーダは、第１の一連のシフトが粗い分解能で、但し全体のアラインメント範囲にわたって実行される再帰的スキーム(recursive scheme)を適用するように構成されることもできる。再帰の各レベルにおいて、識別されたシフトは、次のレベルに対するパラメータとして与えられ、この次のレベルは、より微細な分解能で、但し識別されたシフトを含むもっと小さなアラインメント範囲にわたって別の一連のシフトを実行する。再帰は、ターゲット分解能における一連のシフトが完了されたときに終了する。しかしながら、そのようなスキームは、それがグローバルなものよりも局所的な相関最大値を見出す可能性が高いので、有声スピーチでは不適切な可能性がある。
【００３４】
方法Ｍ１００は、異なる技法によって効率的なアラインメントを実行するように構成されるが、そのような再帰を同様に含む方法Ｍ１００のさらなるインプリメンテーションも、明白に考えられており、これによって開示される。この技法の１タイプのインプリメンテーションによれば、タスクＴ４００は、２つの異なる位相シフトについての相互相関が単一の組の評価されたコサインおよびサインについて実行されるように、プロトタイプの間のアラインメントを計算する。そのような技法は、式（５）によって記述されるオペレーションと比べて、約２分の１だけ、プロトタイプアラインメントオペレーションについての三角関数評価の数を低減させるように適用されることができる。
【００３５】
タスクＴ４００は、アラインメント範囲０≦ｒ＜Ｌにおける２つの異なる位相シフト値ｒについてプロトタイプ相互相関を計算するために（０ラジアンまたはπラジアンの角度に対応する組についての可能性のある例外と共に）各組の評価されたコサインおよびサインを使用するように構成される。この技法の開発についての１つの説明は、式（５）についての次の修正：
【数１０】
2009518666.tif 000012
【００３６】
と共に開始される。
【００３７】
式（６）においては、ｒおよびＬ−ｒの位相シフトについての相関が対にされる。そのようなペアリング(pairing)は、＋ｒと−ｒの対をなす位相シフトと同等であることが理解されるであろう。次の三角法恒等式(trigonometric identity)の適用を用いて、これらの対をなす位相シフトのコサインとサインの間の関係が活用されることができる。
【数１１】
2009518666.tif 000013
【００３８】
式
【数１２】
2009518666.tif 000014
【００３９】
と、整数ｋについてのｃｏｓ（２πｋ）＝１およびｓｉｎ（２πｋ）＝０とを、これらの恒等式と組み合わせて、
【数１３】
2009518666.tif 000015
【００４０】
であることが、確立されることができる。
【００４１】
結果（８ａ）および（８ｂ）は、次のとおり、式（６）を修正するために使用されることができる。評価範囲
【数１４】
2009518666.tif 000016
【００４２】
におけるｒの各値では、同じコサイン値およびサイン値が、以下の２つの式（９Ａ）および（９Ｂ）を計算するために使用され、最大の結果を与える式が識別される。
【数１５】
2009518666.tif 000017
【００４３】
最大の結果を与える式が、式（９Ａ）のうちの一方である場合、そのときにはｒ＊には、値ｒが割り当てられる。最大の結果を与える式が、式（９Ｂ）のうちの一方である場合、そのときにはｒ＊には、値−ｒが割り当てられる。式（９Ａ〜Ｂ）におけるｒの各値についての評価されたコサインおよびサインの組は、それ故に２つの異なる位相シフト値についての相互相関を計算するために使用される（ｒ＝０またはｒ＝Ｌ／２の場合、式（９Ａ）および（９Ｂ）における位相シフト値が等しい場合を除く）。この方法において、または類似した方法において、タスクＴ４００は、アラインメント範囲０≦ｒ＜Ｌにおける２つの異なる位相シフト値ｒについてのプロトタイプ相互相関を計算するために位相シフト評価範囲
【数１６】
2009518666.tif 000018
【００４４】
にわたって評価されたコサインおよびサインの各組を（ｒ＝０またはｒ＝Ｌ／２に対応する組を除いて）使用するように構成される。図３は、式（９）の計算を実行するためにタスクＴ４００のインプリメンテーションによって使用されることができる擬似コードリストの一例を示している。
【００４５】
アラインメントの前にプロトタイプに対してスペクトル重み付けを実行することが望ましいこともある。例えば、もしかするとフォルマント周波数(formant frequency)における何らかのデエンファシス(de-emphasis)を有するＬＰＣ係数を使用してフォルマント構造の一部を回復することが望ましいこともある。そのような１つのインプリメンテーションにおいては、タスクＴ４００は、現在のプロトタイプを長さ２Ｌまでゼロをパッドする(zero-pad)ように、ゼロメモリを有する重み付けされたＬＰＣ合成フィルタによってこの信号に（例えば、現在のフレームの最後のサブフレームのＬＰＣ係数を使用して）フィルタをかけるように、そして０≦ｎ＜Ｌについて（ｎ＋Ｌ）−番目のサンプルに、フィルタがかけられた信号のｎ−番目のサンプルを追加することにより、長さＬの知覚的に重み付けされたプロトタイプを取得するように構成される。
【００４６】
以上の相互相関最大化式（４）、（５）、（６）、および（９）は、それらのプロトタイプが等しい長さであることを仮定している。周波数ドメインにおいて、等しくない長さの２つのプロトタイプは、長い方のプロトタイプをスペクトル的に切り捨てることにより、かつ／または短い方のプロトタイプにゼロをパッドすることにより、正規化されることができる。ＷＩ符号化スキームにおいては、１つのプロトタイプが、（例えば、ピッチの倍増化または三倍増化のために）他のプロトタイプの長さの約倍または三倍の長さを有することが起こり得る。そのような場合には、より短いプロトタイプは、ゼロ振幅の高調波の挿入により周期的に拡張されることができる。タスクＴ４００は、プロトタイプアラインメントの前に１つまたは複数のそのような長さの正規化オペレーションを実行するように構成されることができる。
【００４７】
以上の式（５）、（６）、および（９）においては、これらの式はすべて、プロトタイプの各高調波成分について、プロトタイプのＤＦＳ係数に基づいて同じファクタにより評価された各コサインを乗算することと、プロトタイプのＤＦＳ係数に基づいて同じファクタにより評価された各サインを乗算することとを含んでいる。計算の複雑さのさらなる低減は、これらのファクタを事前に計算することと、それらを（例えば、ファクタＸｋおよびＹｋとして）記憶することとにより、達成されることができる。そのようにして、式（５）は、次のように簡略化されることができる。
【数１７】
2009518666.tif 000019
【００４８】
図４は、式（１０）による低減を使用するプロトタイプアラインメントタスクについての擬似コードリストの一例を示している。
【００４９】
同様に、ファクタＸｋおよびＹｋの事前計算は、以下のように式（９Ａ〜Ｂ）を簡略化するために使用されることができる。
【数１８】
2009518666.tif 000020
【００５０】
図５は、そのような低減を使用するタスクＴ４００のインプリメンテーションについての擬似コードリストの一例を示している。
【００５１】
タスクＴ５００は、現在のプロトタイプに対して最大相互相関(the maximum cross-correlation)に対応する位相シフト（例えば、ｒ＊）を適用するように構成される。例えば、タスクＴ５００は、タイムドメインにおいてプロトタイプに対して円形回転（例えばｒ＊サンプルの）を適用するように、あるいは周波数ドメインにおいてプロトタイプを（例えば、
【数１９】
2009518666.tif 000021
【００５２】
ラジアンの角度だけ）回転させるように構成されることができる。タスクＴ５００はまた、アラインされたプロトタイプに対してスペクトル重み付けオペレーション（例えば、知覚的重み付けオペレーション）を実行するようにも構成されることもできる。
【００５３】
タスクＴ６００は、プロトタイプを（例えば、効率的な伝送および／または記憶のために）量子化する(quantize)ように構成される。そのような量子化は、パワーと形状の別々の量子化についてのプロトタイプの利得正規化を含むことができる。追加して、または代わりに、そのような量子化は、別々の量子化および／またはサブサンプリングについての振幅と位相ベクトルへのＤＦＳ係数の分解を含むこともできる。そのような正規化オペレーションおよび／または分解オペレーションは、結果として生じるベクトルが、スピーチ信号の他のプロトタイプのそのようなベクトルに、もっと高く相関づけられることができるように、より効率的なベクトル量子化をサポートすることができる。
【００５４】
方法Ｍ１００のさらなるインプリメンテーションにおいては、タスクＴ４００は、異なる位相シフトが異なる周波数帯域のおのおのについて取得されることができるようにプロトタイプの異なる周波数帯域上で別々にプロトタイプアラインメントを実行するように構成される。この場合には、タスクＴ５００は、対応する帯域内のプロトタイプの高調波成分に対してそれぞれの位相シフトを適用するように構成されることができ、タスクＴ６００は、周波数帯域分割に応じてプロトタイプの位相ベクトルを（例えば、１つの位相値が、各周波数帯域について符号化されるように）サブサンプリングするように構成されることができる。
【００５５】
ＷＩ符号化スキームにおいては、フィルタバンク（例えば、ハイパスフィルタおよびローパスフィルタを含む）が、さらなる処理および／または別個の量子化のためにＳＥＷとＲＥＷを分離するためにアラインされたプロトタイプに適用されることができる。
【００５６】
図６は、送信のためにスピーチサンプルを処理するように構成されるスピーチコーダの一例によって実行されることができるような、符号化モード選択を含むオペレーションのフローチャートを示している。タスク４００において、スピーチコーダは、スピーチ信号のデジタルサンプルを連続するフレームの形で受け取る。与えられたフレームを受け取るとすぐに、スピーチコーダは、タスク４０２へと進む。タスク４０２において、スピーチコーダは、フレームのエネルギーを検出する。そのエネルギーは、フレームのスピーチアクティビティの測度である。スピーチ検出は、デジタル化されたスピーチサンプルの振幅の二乗を合計することと、結果として生じるエネルギーをしきい値に対して比較することとにより、実行される。タスク４０２は、バックグラウンドノイズの変化するレベルに基づいてこのしきい値を適合するように構成されることができる。例示の可変しきい値スピーチアクティビティ検出器が、米国特許第５，４１４，７９６号（ヤコブ他(Jacobs et al.)、１９９５年５月９日に発行）に説明されている。一部の無声スピーチ音は、バックグラウンドノイズとして誤って符号化され得る非常に低エネルギーのサンプルとすることができる。そのようなエラーの機会を低減させるために、低エネルギーサンプルのスペクトルの傾き（例えば、第１の反射係数(reflection coefficient)）は、前述の米国特許第５，４１４，７９６号に説明されるようなバックグラウンドノイズから無声スピーチを区別するために使用されることができる。
【００５７】
フレームのエネルギーを検出した後に、スピーチコーダは、タスク４０４へと進む。タスク４０４において、スピーチコーダは、検出されたフレームエネルギーが、スピーチ情報を含むものとしてフレームを分類するために十分であるかどうかを決定する。検出されたフレームエネルギーが、あらかじめ定義されたしきい値レベルを割り込む場合、スピーチコーダは、タスク４０６へと進む。タスク４０６において、スピーチコーダは、フレームをバックグラウンドノイズ(background noise)（すなわち、無音(silence)）として符号化する。１つのコンフィギュレーションにおいては、バックグラウンドノイズフレームは、１／８レート、または１ｋｂｐｓで符号化される。タスク４０４において、検出されたフレームエネルギーがあらかじめ定義されたしきい値レベルを満たし、または超過する場合には、フレームは、スピーチとして分類され、スピーチコーダは、タスク４０８へと進む。
【００５８】
タスク４０８において、スピーチコーダは、フレームが無声スピーチ(unvoiced speech)であるかどうかを決定する。例えば、タスク４０８は、フレームの周期性を検査するように構成されることができる。周期性決定の知られている様々な方法は、例えば、ゼロ交差の使用、および正規化された自己相関関数(normalized autocorrelation function)（ＮＡＣＦ）の使用を含んでいる。特に、周期性を検出するためにゼロ交差およびＮＡＣＦを使用することは、米国特許第５，９１１，１２８号（デジャコ(Dejaco)、１９９９年６月８日発行）および第６，６９１，０８４号（マンジュナス他(Manjunath et al.)、２００４年２月１０日発行）に説明される。さらに、有声スピーチを無声スピーチから区別するために使用される以上の方法は、米国電気通信工業会暫定規格(Telecommunication Industry Association Interim Standards)ＴＩＡ／ＥＩＡ  ＩＳ−１２７およびＴＩＡ／ＥＩＡ  ＩＳ−７３３に組み込まれている。フレームが、タスク４０８において無声スピーチであることが決定される場合、スピーチコーダは、タスク４１０へと進む。タスク４１０において、スピーチコーダは、フレームを無声スピーチとして符号化する。１つのコンフィギュレーションにおいては、無声スピーチフレームは、１／４レート、または２．６ｋｂｐｓで符号化される。フレームが、タスク４０８において無声スピーチであることが決定されない場合、スピーチコーダは、タスク４１２へと進む。
【００５９】
タスク４１２において、スピーチコーダは、フレームが遷移性スピーチ(transitional speech)であるかどうかを決定する。タスク４１２は、（例えば、米国特許第５，９１１，１２８号に説明されるような）当技術分野において知られている周期性検出法を使用するように構成されることができる。フレームが遷移性スピーチであることが決定される場合、スピーチコーダは、タスク４１４へと進む。タスク４１４において、フレームは、遷移スピーチ(transition speech)（すなわち、無声スピーチから有声スピーチへの遷移）として符号化される。１つのコンフィギュレーションにおいては、遷移スピーチフレームは、米国特許第６，２６０，０１７号（ダス他(Das et al.)、２００１年７月１０日発行）に説明されるマルチパルス補間符号化法(multipulse interpolative coding)に従って符号化される。ＣＥＬＰスキームが、遷移スピーチフレームを符号化するために使用されることもできる。別のコンフィギュレーションにおいては、遷移スピーチフレームは、フルレートまたは１３．２ｋｂｐｓで符号化される。
【００６０】
タスク４１２において、スピーチコーダが、フレームが遷移性スピーチではないことを決定する場合には、スピーチコーダは、タスク４１６へと進む。タスク４１６において、スピーチコーダは、フレームを有声スピーチとして符号化する。１つのコンフィギュレーションにおいては、有声スピーチフレームは、ここにおいて説明されるようにＰＰＰ符号化スキームまたは他のプロトタイプ符号化スキームを使用して、１／２レート（例えば、６．２ｋｂｐｓ）で、あるいは１／４レートで符号化されることができる。ＰＰＰ符号化スキームまたは他の符号化スキームを使用してフルレート（例えば、１３．２ｋｂｐｓ、または８ｋＣＥＬＰコーダにおいては８ｋｂｐｓ）で有声スピーチフレームを符号化することも可能である。しかしながら、当業者は、１／２レートまたは１／４レートで有声フレームを符号化することにより、コーダが、有声フレームの定常状態の性質を活用することにより有用な帯域幅を節約することができるようになることを認識するであろう。さらに有声スピーチを符号化するために使用されるレートとは無関係に、有声スピーチは、過去のフレームからの情報を使用して有利に符号化され、それ故に予測的に符号化されるように言われる。
【００６１】
図７Ａは、スピーチ符号化および／またはスピーチ通信についてのスピーチコーダ、セルラ電話、または他の装置において使用されることができる開示のコンフィギュレーションによる装置１００についてのブロック図を示している。装置１００は、フレームについてのピッチ遅延値（または「ピッチ周期」）Ｌを抽出するように構成されるピッチ遅延抽出器(pitch lag extractor)１１０を含んでいる。例えば、ピッチ遅延抽出器１１０は、線形予測(linear prediction)（ＬＰ）解析モジュールからの残留信号を受け取るように構成されることができ、この線形予測解析モジュールは、スピーチ信号のフレームを１組のＬＰＣ係数と残留信号とに分解するように構成される。ピッチ遅延抽出器１１０は、残留信号に対してここにおいて説明されるようなタスクＴ１００のインプリメンテーションを実行するように構成されることができる。一例においては、ピッチ遅延抽出器１１０は、残留信号の中に最大絶対値を有するサンプルの間の平均距離を決定することによりピッチ周期を抽出するように構成される。代わりに、ピッチ遅延抽出器１１０は、フレーム、または候補のピッチ周期（例えば、先行するフレームのピッチ周期）の２倍の大きさのウィンドウなどのウィンドウの自己相関を最大にする遅延を決定するように構成されることもできる。この自己相関オペレーションの結果はまた、フレームが有声であるか、または無声であるかについての決定をサポートするために使用されることもできる。一部の場合には（特にＷＩ符号化スキームでは）、ピッチ遅延抽出器１１０は、およそＬ／２およびＬ／３のサンプルの極大を（例えば、ピッチの倍増化または三倍増化を回避するために）チェックするように構成されることができる。
【００６２】
装置１１０は、残留フレームから長さＬのプロトタイプを（例えば、ここにおいて説明されるようなタスクＴ２００のインプリメンテーションに応じて）抽出するように構成されるプロトタイプ抽出器１２０を含んでいる。プロトタイプ抽出器１２０は、一般的にフレームの最終ピッチ周期からプロトタイプを抽出するように構成される。一例においては、プロトタイプ抽出器１２０は、プロトタイプの始まりおよび終わりにおけるエネルギーの合計が最小にされるようにプロトタイプを抽出するように構成される。別の例においては、プロトタイプ抽出器１２０は、プロトタイプのいずれかの端に対する最高の大きさ（すなわち、主要なスパイク）を有するプロトタイプ内のサンプルからの距離が、サンプルの特定の数（例えば、６）またはＬの特定の比率（例えば、２５％）よりも小さくないようにプロトタイプを抽出するように構成される。
【００６３】
プロトタイプ抽出器１２０はまた、フレーム当たりに複数のプロトタイプを抽出するように構成されることもできる。例えばＷＩ符号化スキームにおいては、プロトタイプ抽出器１２０が、フレーム当たりに８個以上のプロトタイプを抽出することが望ましいこともある。この場合には、ピッチ遅延抽出器１１０は、フレーム当たりにピッチ遅延値を１回または２回抽出するように、そして線形補間（値が近接したピッチ値について）および／またはステップごとの補間（隣接するピッチ値の間の差が大きいとき）などの方法を使用して、抽出されたピッチ値の間の追加のピッチ値を（全体について、例えばフレーム当たりに８個の値について）補間するように構成されることができる。
【００６４】
装置１００は、１組のスペクトル係数（例えば、ＤＦＳ係数）を計算するように構成される係数カルキュレータ(coefficient calculator)１３０を含んでいる。例えば、係数カルキュレータ１３０は、以上の式（２ａ）および（２ｂ）に応じて、基本周波数１／Ｌの高調波に対応する１組のＤＦＳ係数を計算するように構成されることができる。係数カルキュレータ１３０は、範囲
【数２０】
2009518666.tif 000022
【００６５】
における各ｋについて１対の係数ａ［ｋ］、ｂ［ｋ］を計算するように構成されることが、望ましいこともある。
【００６６】
装置１００は、ここにおいて説明されるようなタスクＴ４００のインプリメンテーションに応じて２つのプロトタイプ（例えば、現在のフレームのプロトタイプと以前のフレームのプロトタイプと）の間のアラインメントを計算するように構成されるプロトタイプアライナ(prototype aligner)１４０を含んでいる。例えば、プロトタイプアライナ１４０は、２つの異なる位相シフトについての相互相関が、単一の組の評価されたコサインおよびサインについて実行されるようにプロトタイプの間のアラインメントを計算するように構成されることができる。
【００６７】
プロトタイプアライナ１４０は、アラインメント範囲０≦ｒ＜Ｌの中の２つの異なる位相シフトｒについてのプロトタイプ相互相関を計算するために各組の評価されたコサインおよびサインを（０ラジアンまたはπラジアンの角度に対応する組の可能な例外と共に）使用するように構成されることができる。例えば、プロトタイプアライナ１４０は、アラインメント範囲０≦ｒ＜Ｌの中の２つの異なる位相シフトｒについてのプロトタイプ相互相関を計算するために、位相シフト評価範囲
【数２１】
2009518666.tif 000023
【００６８】
にわたって各組の評価されたコサインおよびサインを（ｒ＝０またはｒ＝Ｌ／２に対応する組を除いて）使用するように構成されることができる。プロトタイプアライナ１４０は、図３および図５に示される擬似コードリストのいずれかに応じてそのようなオペレーションを実行するように構成されることができる。
【００６９】
図７Ｂは、プロトタイプアライナ１４０のインプリメンテーション１４２のブロック図を示している。三角関数評価器１４４は、評価範囲（例えば、
【数２２】
2009518666.tif 000024
【００７０】
）内の複数の第１の位相シフトのおのおのについて、第１の位相シフトに基づいた複数の角度のおのおのについての少なくとも１つの三角関数を評価するように構成される。カルキュレータ１４６は、複数の第１の位相シフトのおのおのについて２つのプロトタイプの間の第１および第２の相関測度を計算するように構成される。第１の相関測度は、他方に対して第１の位相シフト（例えば、ｒ）によってシフトされるプロトタイプのうちの一方に対応する。第２の相関測度は、評価範囲の外側の位相シフト（例えば、−ｒまたはＬ−ｒ）だけ他方に対してシフトされるプロトタイプのうちの一方に対応する。比較器１４８は、第１の相関測度と第２の相関測度とのうちの最大を識別するように構成される。
【００７１】
プロトタイプアライナ１４０は、アラインメントの前にプロトタイプに対してスペクトル重み付けを実行することが望ましいこともある。そのような１つのインプリメンテーションにおいては、プロトタイプアライナ１４０は、現在のプロトタイプを長さ２Ｌまでゼロをパッドするように、ゼロメモリを有する重み付けされたＬＰＣ合成フィルタによって（例えば、現在のフレームの最後のサブフレームのＬＰＣ係数を使用して）この信号にフィルタをかけ、０≦ｎ＜Ｌについて（ｎ＋Ｌ）−番目のサンプルにフィルタがかけられた信号のｎ−番目のサンプルを追加することにより、長さＬの知覚的に重み付けされたプロトタイプを取得するように構成される。プロトタイプアライナ１４０はまた、アラインメントを計算する前に１つまたは複数のプロトタイプに対してここにおいて説明されるような１つまたは複数の長さ正規化オペレーションを実行するように構成されることもできる。
【００７２】
装置１００は、現在のプロトタイプに対して、プロトタイプアライナ１４０によって識別される最大相互相関に対応する位相シフト（例えば、ｒ＊）を適用するように構成される位相シフタ(phase shifter)１５０を含んでいる。例えば、位相シフタ１５０は、タイムドメインにおいてプロトタイプに対して円形回転（例えば、ｒ＊サンプルの）を適用するように、あるいは周波数ドメインにおいてプロトタイプを（例えば、
【数２３】
2009518666.tif 000025
【００７３】
ラジアンの角度だけ）回転させるように構成されることができる。位相シフタ１５０はまた、アラインされたプロトタイプに対して（例えば、アラインされたプロトタイプに対して知覚的重み付けフィルタなどのフィルタを適用することにより）、知覚的重み付けオペレーションなどのスペクトル重み付けオペレーションを実行するように構成されることもできる。
【００７４】
装置１００は、プロトタイプを（例えば、効率的な伝送および／または記憶のために）量子化するように構成されるプロトタイプ量子化器(prototype quantizer)１６０を含んでいる。そのような量子化は、パワーと形状の別々の量子化のためのプロトタイプの利得正規化を含むことができる。追加して、または代わりにそのような量子化は、別々の量子化のために振幅と位相ベクトルへのＤＦＳ係数の分解を含むこともできる。プロトタイプ量子化器１６０は、以下の方法：各成分のスカラ量子化、成分の組のベクトル量子化、マルチステージ量子化（ベクトル、スカラ、または混合された）、対または対の組における振幅と位相の共同量子化のうちの任意の方法に応じて振幅および位相の量子化を実行するように構成されることができる。
【００７５】
装置１００のさらなるインプリメンテーションにおいては、プロトタイプアライナ１４０は、異なる位相シフトが、異なる周波数帯域のおのおのについて取得されることができるようにプロトタイプの異なる周波数帯域上で別々にプロトタイプアラインメントを実行するように構成される。この場合には、位相シフタ１５０は、対応する帯域内のプロトタイプの高調波成分に対してそれぞれの位相シフトを適用するように構成されることができ、プロトタイプ量子化器１６０は、周波数帯域分割に応じてプロトタイプの位相ベクトルを（例えば、１つの位相値が、各周波数帯域について符号化されるように）サブサンプリングするように構成されることができる。位相および振幅の情報のサブサンプリングと、ＰＰＰの符号化および復号化の他の態様は、例えば米国特許第６，６７８，６４９号（マンジュナス(Manjunath)、２００４年、１月１３日発行）の中で論じられている。
【００７６】
ＷＩ符号化スキームにおいて使用するために、装置１００は、位相シフタ１５０からアラインされたプロトタイプを受け取るように、そしてさらなる処理および／または別々の量子化のためにＳＥＷとＲＥＷを分離するように構成されたフィルタバンク（例えば、ハイパスフィルタおよびローパスフィルタを含む）を含むように構成されることができる。
【００７７】
装置１００のインプリメンテーションの様々な要素は、例えば同じチップ上に、あるいはチップセットの中の複数のチップの間に存在する電子デバイスおよび／または光デバイスとしてインプリメントされることができるが、そのような限定のない他の構成も考えられている。そのような装置の１つまたは複数の要素は、マイクロプロセッサ、埋め込み型プロセッサ、ＩＰコア、デジタル信号プロセッサ、ＦＰＧＡ（フィールドプログラマブルゲートアレイ(field-programmable gate array)）、ＡＳＳＰ（特定用途向け標準プロダクト(application-specific standard product)）、ＡＳＩＣ（特定用途向け集積回路(application-specific integrated circuit)）など、論理要素（例えば、トランジスタ、ゲート）の１つまたは複数の固定アレイまたはプログラマブルアレイ上で実行するように構成される１つまたは複数の命令セットとして全体的に、あるいは部分的にインプリメントされることができる。
【００７８】
装置１００のインプリメンテーションの１つまたは複数の要素は、タスクを実行するために、あるいは装置が埋め込まれるデバイスまたはシステムの別のオペレーションに関連したタスクなど、装置のオペレーションに直接には関連しない他の命令セットを実行するために使用されることが可能である。また、装置１００のインプリメンテーションの１つまたは複数の要素は、共通の構造（例えば、異なる時刻に異なる要素に対応するコードの一部分を実行するために使用されるプロセッサ、異なる時刻に異なる要素に対応するタスクを実行するように実行される命令セット、あるいは異なる時刻に異なる要素についてのオペレーションを実行する電子デバイスおよび／または光デバイスの構成）を有することも可能である。
【００７９】
以上で論じられた個々の例は、０≦ｒ＜Ｌのアラインメント範囲について説明しており、この範囲は、０ラジアンから２πラジアンの角度範囲に対応する。しかしながら、ここにおいて開示されるようなアラインメントの方法（例えば、タスクＴ４００、タスクＴ４００とＴ５００の組合せ、またはタスクＴ４００を含む別の方法）は、一般におよそＬ／２（またはおよびπラジアン）で対称である任意の範囲上で２つの異なる角度値についての計算を実行するために１組の評価された三角関数（例えば、コサインおよび／またはサイン）を使用するように構成されることができることが、明白に考えられており、これによって開示されている。同様に、ここにおいて説明されるようなアラインメントの方法は、一般により大きな範囲のうちの、およそＬ／２（またはおよびπラジアン）で対称である任意の一部分上で２つの異なる角度値についての計算を実行するために１組の評価された三角関数を使用するように構成されることもできる。
【００８０】
図８は、以上で論じられたような異なるアラインメント分解能で２つの周期的波形（例えば、プロトタイプ）の進行性アラインメントを実行するように構成されるタスクＴ４００、Ｔ５００のインプリメンテーションＴ４１０、Ｔ５１０の適用の一例を示している。図８Ａは、２つの波形ａとｂの図を示しており、ここでＬの値は、１００であり、数字は、サンプル軸に沿ったインデックス値を示す。参考のために、図は、それらの波形の間の最大相互相関を引き起こす位相シフトｒ＊が７３であることを示している。換言すれば、波形は、ｒ＊＝７３のシフトが波形ｂに対して適用されるときにアラインされる。
【００８１】
この方法においては、タスクＴ４１０とＴ５１０は、望ましいアラインメント分解能が達成されるまで反復して実行される。およそＬ／２に中心があるアラインメント範囲を保持するために、タスクＴ５１０は、タスクＴ４１０の各反復の前にそれらの波形のうちの一方をシフトするように構成される。
【００８２】
タスクＴ４１０の第１の反復の前に、タスクＴ５１０は、それらの波形のうちの一方に対してＬ／２（例えば、πラジアン）のシフトを適用する。図８Ｂは、タスクＴ５１０が波形ｂに対してＬ／２のシフトを実行した後の２つの波形ａとｂの図を示している。次いでタスクＴ４１０の第１の反復は、第１の分解能における（この例においては、１０の分解能における）アラインメント範囲０≦ｒ＜Ｌにまたがって（
【数２４】
2009518666.tif 000026
【００８３】
の評価範囲を用いて）波形ａとｂとの相関を計算する。図８Ｂに示されるように、タスクＴ４１０は、この反復についてｒ１＊＝２０の値を計算する。
【００８４】
タスクＴ４１０の第２の反復の前に、タスクＴ５１０は、図８Ｂに示されるように波形ｂに対してｒ１＊＋Ｌ／２（この例においては、７０）の追加シフトを適用する。図８Ｃは、タスクＴ５１０が、このシフトを実行した後の２つの波形ａとｂの図を示している。次いで、タスクＴ４１０の第２の反復は、第２の分解能（この例においては、ν２＝１０であり、第２の分解能は２である）で、クロスハッチングされた区域だけによって示されるような、低減された評価範囲の
【数２５】
2009518666.tif 000027
【００８５】
を有する）ハッチングされた領域によって示されるような低減されたアラインメント範囲
【数２６】
2009518666.tif 000028
【００８６】
にまたがって、波形ａとｂとの相関を計算する。図８Ｃに示されるように、タスクＴ４１０は、この反復についてｒ２＊＝５２の値を計算する。
【００８７】
タスクＴ４１０の第３の反復の前に、タスクＴ５１０は、図８Ｃに示されるように波形ｂに対してｒ２＊＋Ｌ／２（この例においては、１０２）の追加シフトを適用する。図８Ｄは、タスクＴ５１０が、このシフトを実行した後の２つの波形ａとｂの図を示している。次いでタスクＴ４１０の第３の反復は、第３の分解能（この例においては、ν３＝５であり、第３の分解能は１である）で、クロスハッチングされた区域だけによって示されるような、低減された評価範囲の
【数２７】
2009518666.tif 000029
【００８８】
を有する）ハッチングされた領域によって示されるような低減されたアラインメント範囲
【数２８】
2009518666.tif 000030
【００８９】
にまたがって、波形ａとｂとの相関を計算する。図８Ｄに示されるように、タスクＴ４１０は、この反復についてｒ３＊＝５１の値を計算する。
【００９０】
この例においては、反復の数は３であり、タスクＴ４１０は、次式：
【数２９】
2009518666.tif 000031
【００９１】
などの式に応じてｒ＊の最終値を計算するように構成される。この例において説明されるように、ｒ＊についてのこの式は、７０＋２＋１、すなわち７３と評価される。当業者は、そのような方法の同等なインプリメンテーションにおいては、上記のようなＬ／２の事前の位相シフトは、省略されることができ、ｒ＊についての式は、次のように修正されることを認識するであろう。
【数３０】
2009518666.tif 000032
【００９２】
図９Ａは、タスクＴ４００およびＴ５００のそれぞれインプリメンテーションＴ４１０、Ｔ５１０を含めて、方法Ｍ１００のインプリメンテーションＭ２００のフローチャートを示している。図９Ｂは、そのような反復方法を実行するように構成されるプロトタイプアライナ１４０および位相シフタ１５０のインプリメンテーション１４４、１５４を含む装置１００のインプリメンテーション２００のブロック図を示している。プロトタイプアライナ１４０は、例えば図７Ｂに示されるインプリメンテーション１４２に応じてインプリメントされることができることが理解される。そのような場合には、カルキュレータ１４６は、さらに上記されるようにｒ＊の最終値を計算するように構成されることができ、あるいはプロトタイプアライナ１４０および／または装置２００は、そのように構成される別のカルキュレータを含むこともできる。
【００９３】
説明されたコンフィギュレーションの以上の提示は、いずれの当業者もここにおいて開示される方法および他の構造を作るのを、または使用するのを、可能とするように提供されている。これらのコンフィギュレーションに対する様々な修正が可能であり、ここにおいて提示される包括的な原理は、同様に他のコンフィギュレーションに対しても適用されることができる。例えばコンテキストから認識されることができるように、コンフィギュレーションは、部分的にまたは全体的にハードワイヤード回路として、特定用途向け集積回路の形に製造される回路コンフィギュレーションとして、あるいは、不揮発性ストレージへとロードされるファームウェアプログラム、または機械読取り可能コードとして、データストレージ媒体から、またはデータストレージ媒体へとロードされるソフトウェアプログラムとして、インプリメントされることができ、そのようなコードは、マイクロプロセッサや他のデジタル信号処理ユニットなどのロジック要素のアレイによって実行可能な命令である。データストレージ媒体は、ストレージ素子のアレイ、例えば、半導体メモリ（これは、限定なしに、ダイナミックまたはスタティックＲＡＭ（ランダムアクセスメモリ(random-access memory)）、ＲＯＭ（読取り専用メモリ(read-only memory)）、および／またはフラッシュＲＡＭを含むことができる）、強誘電体メモリ、磁気抵抗メモリ、オボニックメモリ(ovonic memory)、高分子メモリ(polymeric memory)、または位相変化メモリ(phase-change memory)など、あるいは、ディスク媒体、例えば、磁気ディスクや光ディスクなど、であってもよい。用語「ソフトウェア」は、ソースコード、アセンブリ言語コード、機械コード、２進コード、ファームウェア、マクロコード、マイクロコード、ロジック要素のアレイによって実行可能な１つまたは複数の命令セットまたは命令シーケンス、およびそのような例の任意の組合せ、を含むように理解されるべきである。
【００９４】
ここにおいて開示される方法のおのおのは、読取り可能な１つまたは複数の命令セットとして（例えば、上記にリストアップされるような１つまたは複数のデータストレージ媒体において）有形に具現化されることもでき、かつ／または、ロジック要素（例えば、プロセッサ、マイクロプロセッサ、マイクロコントローラ、または他の有限状態機械）のアレイを含む機械によって実行可能である。それ故に、本開示は、上記に示されるコンフィギュレーションに限定されるようには意図されておらず、むしろ、オリジナルの開示(original disclosure)の一部分を形成する、出願された添付の特許請求の範囲の中を含めて、ここにおいて任意の方法で開示された原理および新規な特徴と整合する最も広い範囲が与えられるべきである。
【図面の簡単な説明】
【００９５】
【図１】１つのコンフィギュレーションによる方法Ｍ１００についてのフローチャートである。
【図２】２つの周期的スピーチ波形をアラインする方法についての擬似コードリストの一例を示す図である。
【図３】アラインメントタスクＴ４００のインプリメンテーションについての擬似コードリストの一例を示す図である。
【図４】アラインメントタスクの別のインプリメンテーションについての擬似コードリストの一例を示す図である。
【図５】アラインメントタスクＴ４００の別のインプリメンテーションについての擬似コードリストの一例を示す図である。
【図６】符号化モード選択スキームの図である。
【図７Ａ】開示されたコンフィギュレーションによる装置１００のブロック図である。
【図７Ｂ】プロトタイプアライナ１４０のインプリメンテーション１４２のブロック図である。
【図８】タスクＴ４００、Ｔ５００のインプリメンテーションＴ４１０、Ｔ５１０の適用の一例をそれぞれ示す図である。
【図９Ａ】方法Ｍ１００のインプリメンテーションＭ２００についてのフローチャートである。
【図９Ｂ】装置１００のインプリメンテーション２００についてのブロック図である。
【図１】
2009518666.tif 000033
【図２】
2009518666.tif 000034
【図３】
2009518666.tif 000035
【図４】
2009518666.tif 000036
【図５】
2009518666.tif 000037
【図６】
2009518666.tif 000038
【図７Ａ】
2009518666.tif 000039
【図７Ｂ】
2009518666.tif 000040
【図８】
2009518666.tif 000041
【図９Ａ】
2009518666.tif 000042
【図９Ｂ】
2009518666.tif 000043
【国際調査報告】
2009518666.tif 000044
2009518666.tif 000045
2009518666.tif 000046