(57)【要約】【課題】  パケットベースのネットワークを介して受信されたオーディオ信号のフレームを自動的に伸張、圧縮する順応性のある時間音声スケーラを提供すること。【解決手段】  現在のフレームのセグメントを伸張または圧縮する前に、時間音声スケーラは、セグメントの伸張または圧縮の際に一致操作に使用する信号テンプレートをサイズ設定するために、フレームごとにピッチ周期を計算し、各フレームを含むセグメントのタイプも決定する。セグメントタイプは、有声セグメント、無声セグメント、有声部分および無声部分を含む混合セグメントを含む。各フレームのセグメントに適用された伸張・圧縮方法は、各フレームを含むセグメントのタイプに依存する。特定のセグメントに適用された伸張または圧縮の量は自動的に変化して、対象の総伸張率または総圧縮率が依然として確実にフレームごとに維持されるようにしながら、信号の歪みを最低限に抑える。【選択図】  図２
2005084692.tif 000002
【特許請求の範囲】
【請求項１】
オーディオ信号からデータフレームを抽出するステップと、
事前に確立された基準に従って、各データフレームの内容を検査し、各データフレームのタイプを分類するステップと、
各データフレームの分類タイプに固有の時間的変更プロセスを使用してデータフレームのうちの少なくとも１つの少なくとも一部を時間的に変更するステップと
を含むことを特徴とするオーディオ信号のセグメントの時間的変更のためのシステム。
【請求項２】
フレームタイプの前記分類は、分類される前記フレームだけに基づくことを特徴とする請求項１に記載のシステム。
【請求項３】
フレームタイプの前記分類は、少なくとも一部、１つまたは複数の隣接するフレームから導出された情報に基づくことを特徴とする請求項１に記載のシステム。
【請求項４】
前記フレームは順次処理されることを特徴とする請求項１に記載のシステム。
【請求項５】
前記分類は、少なくとも一部各データフレームの周期に基づくことを特徴とする請求項１に記載のシステム。
【請求項６】
前記フレームタイプは、有声フレームおよび無声フレームを含むことを特徴とする請求項１に記載のシステム。
【請求項７】
前記フレームタイプは混合フレームをさらに含み、前記混合フレームは有声セグメントおよび無声セグメントを含むことを特徴とする請求項６に記載のシステム。
【請求項８】
受信されたオーディオ信号からデータフレームを順次抽出するステップと、
順次抽出されたデータフレームの現在のフレームの各セグメントの内容タイプを決定するステップであって、前記内容タイプは有声セグメント、無声セグメント、および混合セグメントを含むステップと、
有声セグメント時間的変更プロセス、無声セグメント時間的変更プロセス、および混合セグメント時間的変更プロセスから、前記現在のフレームの少なくとも１つのセグメントのために、対応する時間的変更プロセスを自動的に選択し、適用することによって前記現在のフレームの前記少なくとも１つのセグメントを時間的に変更するステップと
を含むことを特徴とする発話音声を含むオーディオ信号のセグメントの時間的変更のための方法。
【請求項９】
ほぼ１ピッチ周期の長さの少なくとも１つのセグメントをそれぞれ含むフレームごとに平均ピッチ周期を推定するステップをさらに含むことを特徴とする請求項８に記載の方法。
【請求項１０】
前記現在のフレームの各セグメントの内容タイプを決定するステップは、フレームごとに正規化相互相関を計算するステップと、各正規化相互関係の最大ピークを所定の閾値と比較して各セグメントの内容タイプを決定するステップとを含むことを特徴とする請求項８に記載の方法。
【請求項１１】
少なくとも１つのセグメントの内容タイプは有声セグメントであり、前記少なくとも１つのセグメントを時間的に変更するステップは、前記有声セグメントを伸張して前記現在のフレーム長を延長するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１２】
前記有声セグメントを伸張するステップは、
前記セグメントのうちの少なくとも１つをテンプレートとして識別するステップと、
その相互相関ピークが所定の閾値を超える一致セグメントを検索するステップと、
前記フレームの前記一致セグメントを配列し、マージするステップと
を含むことを特徴とする請求項１１に記載の方法。
【請求項１３】
前記セグメントのうちの少なくとも１つをテンプレートとして識別するステップは、前記フレームの終端からテンプレートを選択するステップを含み、前記一致セグメントを検索するステップは、過去の最近の前記オーディオ信号を検査して一致を識別するステップを含むことを特徴とする請求項１２に記載の方法。
【請求項１４】
前記セグメントのうちの少なくとも１つをテンプレートとして識別するステップは、前記フレームの先頭からテンプレートを選択するステップを含み、前記一致セグメントを検索するステップは、近い将来の前記オーディオ信号を検査して一致を識別するステップを含むことを特徴とする請求項１２に記載の方法。
【請求項１５】
前記セグメントのうちの少なくとも１つをテンプレートとして識別するステップは、前記フレームの先頭と終端との間からテンプレートを選択するステップを含み、前記一致セグメントを検索するステップは、近い将来および近い過去の前記オーディオ信号を検査して一致を識別するステップを含むことを特徴とする請求項１２に記載の方法。
【請求項１６】
連続したテンプレートが前記現在のフレーム内の異なる位置で識別されるように前記テンプレートの選択点を入れ替えるステップをさらに含むことを特徴とする請求項１２に記載の方法。
【請求項１７】
時間的に変更されたセグメントの平均圧縮率が総対象圧縮率に対応しているかどうかを決定するステップをさらに含み、少なくとも１つの次の現在のフレームの次の対象圧縮率は、前記総対象圧縮率がほぼ維持されることを確実にするために必要に応じて自動的に調整されることを特徴とする請求項８に記載の方法。
【請求項１８】
少なくとも１つのセグメントの内容タイプは無声セグメントであり、前記少なくとも１つのセグメントを時間的に変更するステップは、少なくとも１つの合成セグメントを自動的に生成し、前記現在のフレームに挿入して前記現在のフレーム長を延長するステップを含むことを特徴とする請求項８に記載の方法。
【請求項１９】
前記少なくとも１つの合成セグメントを自動的に生成するステップは、前記現在のフレームのフーリエ変換を自動的に計算し、前記位相のランダムな回転を前記ＦＦＴ係数に導入し、次いでセグメントごとに前記逆ＦＦＴを計算し、それによって前記少なくとも１つの合成セグメントを作成するステップを含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
少なくとも１つのセグメントの前記内容タイプは混合セグメントであり、前記混合セグメントは有声成分および無声成分を含むことを特徴とする請求項８に記載の方法。
【請求項２１】
前記混合セグメントを時間的に変更するステップは、
前記セグメントのうちの少なくとも１つをテンプレートとして識別するステップと、
その相互相関ピークが所定の閾値を超える一致セグメントを検索するステップと、
前記フレームの前記一致セグメントを配列し、マージして一時的な有声セグメントを作成するステップと、
少なくとも１つの合成セグメントを自動的に生成し、前記現在のフレームに挿入して一時的な無声セグメントを作成するステップと、
前記現在のセグメントについて計算された正規化相互相関ピークに比例して前記一時的な有声セグメントおよび前記一時的な無声セグメントのそれぞれに重み付けをするステップと、
前記一時的な有声セグメントおよび前記一時的な無声セグメントを追加し、窓掛けして部分的に合成の伸張セグメントを作成するステップと
を含むことを特徴とする請求項２０に記載の方法。
【請求項２２】
少なくとも１つのセグメントの内容タイプは有声セグメントであり、前記少なくとも１つのセグメントを時間的に変更するステップは、前記有声セグメントを圧縮して前記現在のフレーム長を短縮するステップを含むことを特徴とする請求項８に記載の方法。
【請求項２３】
前記有声セグメントを圧縮するステップは、
前記セグメントのうちの少なくとも１つをテンプレートとして識別するステップと、
その相互相関ピークが所定の閾値を超える一致セグメントを検索するステップと、
前記テンプレートと前記一致との間の前記信号を切り取るステップと、
前記フレームの前記一致セグメントを配列し、マージするステップと
を含むことを特徴とする請求項２２に記載の方法。
【請求項２４】
少なくとも１つのセグメントの内容タイプは無声セグメントであり、前記少なくとも１つのセグメントを時間的に変更するステップは、前記無声セグメントを圧縮して前記現在のフレーム長を短縮するステップを含むことを特徴とする請求項８に記載の方法。
【請求項２５】
前記有声セグメントを圧縮するステップは、
前記フレームのセグメントを前記フレーム内の第１の位置から前記フレーム内の第２の位置にシフトするステップと、
前記第１の位置と前記第２の位置との間の前記フレームの前記位置を削除するステップと、
サイン窓関数を使用して前記セグメントの縁を前記フレームの残りを表す前記信号と混合することによって前記フレームの前記シフトされたセグメントを、前記フレームの残りを表す前記信号に追加するステップと
を含むことを特徴とする請求項２４に記載の方法。
【請求項２６】
コンピューティング装置を使用して、
デジタルオーディオ信号の１つまたは複数の連続するフレームを受信し、
それが受信されると、前記デジタルオーディオ信号の各フレームを復号化し、
前記復号化されたオーディオ信号のセグメントの内容タイプを、関連のタイプ固有の時間的変更プロセスをそれぞれ有する事前に定義されたセグメントの内容タイプのグループから決定し、
各セグメント内容タイプに固有の前記関連のタイプ固有の時間的変更プロセスを使用して前記復号化されたオーディオ信号のうちの１つまたは複数のセグメントの時間的スケールを変更する
ことを含むことを特徴とするデジタルオーディオ信号セグメントの動的な時間的変更を提供するコンピュータ実施プロセス。
【請求項２７】
事前に定義されたセグメント内容タイプの前記グループは、有声タイプセグメントおよび無声タイプセグメントを含むことを特徴とする請求項２６に記載のコンピュータ実施プロセス。
【請求項２８】
事前に定義されたセグメントの内容タイプの前記グループは、有声内容および無声内容の混合を表す混合タイプセグメントをさらに含むことを特徴とする請求項２７に記載のコンピュータ実施プロセス。
【請求項２９】
１つまたは複数のセグメントの前記時間スケールを変更するステップは、対象時間変更率をほぼ達成するために、前記１つまたは複数のセグメントを時間的に伸張するステップ、および時間的に圧縮するステップのいずれかを含むことを特徴とする請求項２７に記載のコンピュータ実施プロセス。
【請求項３０】
その後のセグメントの前記対象時間変更率は、少なくとも１つの前のセグメントの実際の時間スケール変更に比例して平均対象時間変更率を達成するように自動的に調整されることを特徴とする請求項２９に記載のコンピュータ実施プロセス。
【請求項３１】
セグメントの内容タイプを決定するステップは、各セグメントのサブセグメントの正規化相互相関を計算するステップと、各正規化相互関係の最大ピークを所定の閾値と比較して各セグメントの内容タイプを決定するステップとを含むことを特徴とする請求項２７に記載のコンピュータ実施プロセス。
【請求項３２】
少なくとも１つのセグメントは有声タイプセグメントであり、有声タイプセグメントの前記時間スケールを変更するステップは、少なくとも１つの有声タイプセグメントをほぼ１つまたは複数のピッチ周期だけ伸張して、前記少なくとも１つの有声タイプセグメント長を延長するステップを含むことを特徴とする請求項２７に記載のコンピュータ実施プロセス。
【請求項３３】
前記少なくとも１つの有声タイプセグメントは、
ほぼ１ピッチ周期の長さの少なくとも１つのサブセグメントをテンプレートとして識別するステップと、
その相互相関ピークが所定の閾値を超える一致サブセグメントを検索するステップと、
前記フレームの前記一致セグメントを配列し、マージするステップと
を含むことを特徴とする請求項２７に記載のコンピュータ実施プロセス。
【請求項３４】
少なくとも１つのセグメントは無声タイプセグメントであり、無声タイプセグメントの前記時間スケールを変更するステップは、
前記少なくとも１つの無声タイプセグメントのうちの１つまたは複数のサブセグメントから少なくとも１つの合成セグメントを自動的に生成するステップと、
前記少なくとも１つの合成セグメントを前記少なくとも１つの無声タイプセグメントに挿入して前記少なくとも１つの無声タイプセグメント長を延長するステップと
を含むことを特徴とする請求項２７に記載のコンピュータ実施プロセス。
【請求項３５】
前記少なくとも１つの合成セグメントを自動的に生成するステップは、
前記少なくとも１つの無声タイプセグメントの前記少なくとも１つのサブセグメントのフーリエ変換を自動的に計算するステップと、
少なくとも一部の前記計算されたＦＦＴ係数の位相を無作為化するステップと、
前記計算されたＦＦＴ係数の逆ＦＦＴを計算して前記少なくとも１つの合成セグメントを生成するステップと
を含むことを特徴とする請求項３４に記載のコンピュータ実施プロセス。
【請求項３６】
前記少なくとも１つの合成セグメントを前記少なくとも１つの無声タイプセグメントに挿入するための１つまたは複数の挿入点を自動的に決定するステップをさらに含むことを特徴とする請求項３４に記載のコンピュータ実施プロセス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オーディオ信号の自動時間スケール変更に関し、より詳細には、発話音声または他のオーディオを含むオーディオ信号のセグメントの高品質の自動伸張および圧縮を提供するシステムおよび方法に関する。
【背景技術】
【０００２】
発話音声ベースのオーディオ信号内のフレームなど、音声セグメントの延長および短縮は一般に、それぞれ発話音声（ｓｐｅｅｃｈ）の伸張および発話音声の圧縮と呼ばれる。多くの応用分野では、信号内の発話音声の知覚品質を向上させるために、または遅延を低減するために、信号内の発話音声または沈黙の特定のセグメントを伸張または圧縮することが必要である。例えば伸張は、発話音声の了解度（ｉｎｔｅｌｌｉｇｉｂｉｌｉｔｙ）を向上させるため、発話音声信号内の損失フレームまたは雑音のあるフレームを交換するため、または順応性のあるいくつかのジッタ解除アルゴリズム（ｄｅ−ｊｉｔｔｅｒｉｎｇ  ａｌｇｏｒｉｔｈｍ）で使用し得るように、遅延した発話音声データを待つときに追加の時間を提供するために使用されることが多い。同様に、発話音声の短縮または圧縮は、記録された信号を高速化して聞き取り時間を短縮すること、信号のビット伝送速度を短縮すること、信号のセグメントを高速化して全体的な伝送時間を短縮すること、および信号フレームの何らかのタイプの処理に続いて信号をほぼリアルタイムで送信することができるように伝送遅延を短縮することを含めて、いくつかの目的のために使用されている。
【０００３】
例えば、インターネットや他のブロードキャストネットワークなどの従来のパケット通信システムは、一般に損失が多い。言い換えれば、送信されたパケットのすべてがエラー無しで、時間通りに、さらには適切な順序で送達されることを保証できるとは限らない。パケットが再送される、正しく配列される、または何らかのタイプのエラー修正方式を使用して修正されるのを受信側が待つことができる場合、こうしたネットワークは元来損失が多いという事実は問題ではない。しかし、例えばこうしたパケットベースのネットワークを介した音声ベースの通信システムなどほぼリアルタイムの応用分野では、受信側は、通信において過度かつ顕著な遅れまたは遅延をもたらすことなくパケットが再送される、正しく配列される、または修正されるのを待つことはできない。
【０００４】
従来の方式の中には、単に受信側に紛失したまたは破損したパケットの代わりに沈黙を使用させることによってパケットベースのネットワークを介した音声通信の問題に対処しているものがある。関連の方式は単に、パケット受信時間の間の頻繁に変わり得る遅延に関係なく受信したフレームを受信した通りに再生するだけである。残念ながら、こうした方法は、実施するには非常に簡単ではあるが、その結果、一般に信号の質の知覚的な低下をまねく容易に知覚される歪み（ａｒｔｉｆａｃｔ）を有する信号がもたらされる。
【０００５】
より手の込んだ方式では、最大許容紛失パケットレートを向上させるために、紛失した発話音声パケットの代わりに前に正常に受信されたパケットからの波形セグメントを使用することによってより良い知覚的な信号の品質を提供しようと試みる。この方式は、パケット期間およびパケットロス率に応じて波形置換の失敗の確率予測に基づいて、紛失したパケットを置き換えるための代用の波形を選択する。さらにこの方式は、代用の波形を選択するために、信号パターンの一致または有声性またはピッチの明確な推定値も使用する。さらに、波形置換に続いて、代用の波形が損失したまたは破損したパケットの置き換えに使用されたパケットの境界での不連続間の境界を平滑化することによって知覚された歪みのそれ以上の低減が達成される。残念ながら、この方式は、単に紛失したフレームの代わりに沈黙を使用することに比べてかなりの改善を示すが、復元された信号内に依然として容易に知覚される音声歪みがある。
【０００６】
別の従来の方式は、損失または破損したフレームを、パケットの受信遅延または損失に応答して（伸張または圧縮による）個々の音声パケットの可変時間スケーリング（ｖａｒｉａｂｌｅ  ｔｅｍｐｏｒａｌ  ｓｃａｌｉｎｇ）とパケットベースの置き換えを行うことによって知覚された音声歪みの問題、したがって知覚された信号品質の問題に取り組もうと試みている。特にこの方式は、「波形相似性重複加算法（ｗａｖｅｆｏｒｍ  ｓｉｍｉｌａｒｉｔｙ  ｏｖｅｒｌａｐ−ａｄｄ）」（ＷＳＯＬＡ）と呼ばれる従来の方法のあるバージョンを使用して、スケール変更されたパケット内の知覚歪みを最低限に抑えながら、１つまたは複数のパケットの時間スケーリングを達成する。
【０００７】
ＷＳＯＬＡおよび関連の方法の基本概念は、入力パケットを等しい長さの重複するセグメントに分解することを伴う。これらの重複するセグメントは、次いで従来の修正プロセス、および重複領域の平滑化を介して再整列され、重ね合わされて、所望の出力長をもたらす重複の度合いを有する出力セグメントが形成される。その結果、知覚されたパケット遅延または損失を伏せる、または隠すには合成セグメントが有用となる。残念ながら、この方式は前の発話音声の伸張方法および圧縮方式の大幅な改善を提供するが、伸張された、また圧縮されたオーディオ信号の知覚品質には依然としてかなりの改善の余地がある。
【発明の開示】
【発明が解決しようとする課題】
【０００８】
したがって、発話音声および他の音声を含むオーディオ信号の高品質の時間スケール変更を提供するシステムおよび方法が必要である。特に、こうしたシステムおよび方法は、復元された信号内の知覚し得る歪みを最低限に抑えながら発話音声の伸張および圧縮を提供すべきである。さらに、こうしたシステムおよび方法は、可変のネットワークパケット遅延および損失を考慮に入れるために可変の圧縮および伸張も提供すべきである。
【課題を解決するための手段】
【０００９】
了解度を向上させ、聞き取り時間を短縮させ、またはインターネットなど損失の多い遅れがちなパケットベースのネットワークを介して送信され、次いでクライアントコンピュータまたは受信機で復元される信号の品質を向上させるために、何年かの間、発話音声を含むオーディオ信号の時間スケール変更が使用されてきた。例えば、多くの応用分野では、発話音声を含むオーディオ信号の１つまたは複数のフレームを伸縮または圧縮することが望ましい。一般に伸張は、損失した、過度に遅れた、または雑音の多いフレームを置き換える、またはジッタ解除アルゴリズムで遅延した発話音声パケットを待つときに追加時間を提供するために、信号内の発話音声のセグメントの期間を拡張することによって、早口の人の了解度を向上させるために使用される。同様に、オーディオ信号の短縮または圧縮は、一般に聞き取り時間を短縮し、信号のビット伝送速度を短縮し、信号のフレームを高速化して伝送時間全体を短縮し、信号フレームの何らかのタイプの処理に続いて信号をほぼリアルタイムで送信できるように伝送遅延を短縮するために使用される。これらの使用を考慮すると、復元された信号内の知覚し得る任意の歪みを最低限に抑えながら高品質出力を提供する発話音声の伸張および圧縮のためのシステムおよび方法が明らかに必要である。
【００１０】
高品質の音声の伸張および圧縮のこの必要性に取り組むために、オーディオ信号のフレーム（またはセグメント）を自動的に伸張し圧縮する、順応性のある「時間音声スケーラ（ｔｅｍｐｏｒａｌ  ａｕｄｉｏ  ｓｃａｌｅｒ）」が提供される。本明細書に記載した時間音声スケーラは、オーディオ信号の伸張および圧縮を含む時間スケーリングのためのシステムおよび方法を提供する。以下の段落では、この時間音声スケーラについて説明する。
【００１１】
一般に、時間音声スケーラは、信号のフレームまたはセグメントの伸張および圧縮を提供する。さらに、時間音声スケーラは、隣接するフレームを参照する必要なく、特定のフレームまたはセグメントの可変の伸張および圧縮を提供することができる。さらに、時間音声スケーラによって提供された伸張および圧縮の可変性は、「繰越し」（ｃａｒｒｙ  ｏｖｅｒ）技術を使用することによって所望の総平均圧縮（または伸張）率を維持しながら次のフレームで補償される所望の比率との圧縮率のわずかな差を許容する。
【００１２】
例えば、特定の信号について対象の圧縮率が２：１であり、各入力発話音声フレームが３００個のサンプルを有している場合、対象の各出力フレームは、名目上１５０個のサンプルを有している。しかし、特定のフレームが１５０個のサンプルではなく、例えば１８０個のサンプルに圧縮された場合、３０個の余分のサンプルは、その対象の圧縮を１２０個のサンプルに設定することによって次のフレームで補償される。したがって、１８０および１２０のブロックサイズでは、平均ブロックサイズは依然として１５０であり、平均圧縮率は２：１である。その次のフレームの内容に応じて、１２０個のサンプルに圧縮することは、最適な結果を提供しない場合があることに留意されたい。したがって、１２０個のサンプルの例は対象にすぎず、実際の圧縮または伸張を使用してその後のフレームの対象の圧縮または伸張を設定して所望の平均を確保する。
【００１３】
したがって、その後の複数のフレームを伸張または圧縮して所望の平均を維持することができる。例えば、上記の例を使用して、１８０個のサンプルに圧縮されたフレームの次のフレームが１３０個のサンプルに圧縮された場合、次のフレームの対象の圧縮は、３フレームにわたって１５０個のサンプルの平均を提供するために１４０個のサンプルの対象圧縮を有する。この繰越し技術の使用によって、特定の任意の出力フレームの長さに対する緩やかな要件のみが維持されるとともに、任意の所望の圧縮（または伸張）率が維持される。
【００１４】
この繰越し技術の結果、復元された信号内の知覚し得る歪みを最低限に抑えるために、必要に応じて各個々のフレームが最適に伸張または拡張されるため、伸張または圧縮によって損失または遅延したパケットの補償が極めてフレキシブルとなる。時間音声スケーラのこの機能は、一般に歪みを最低限に抑えるために短縮された遅延を必要とするジッタ解除などいくつかの応用分野を補完する。
【００１５】
上記の段落を考慮すると、時間音声スケーラは、まず信号からフレームを受信し、そのフレームのセグメントを伸張または圧縮することによってフレームの時間特性を変更し、現在のフレームの伸張または圧縮が対象の伸張率または圧縮率に等しいかどうかを決定し、次いで実際の伸張率または圧縮率と対象の伸張率または圧縮率との間に差がある場合はそれを次のフレームに適用される伸張または圧縮に追加することによって、特定のフレームの伸張および圧縮を提供することは明らかである。
【００１６】
さらに、現在のフレームのセグメントを伸張または圧縮する前に、時間音声スケーラは、まずセグメントのタイプを決定する。例えば、発話音声を含むオーディオ信号において、フレームの各セグメントは、発話または他の何らかの有声の発語を含む「有声」セグメント、発話や他の発語を含まない「無声」セグメント、または有声部分および無声部分の両方を含む「混合」セグメントのいずれかである。最適な結果を達成するために、時間音声スケーラは、特に伸張または圧縮される特定のセグメントタイプを対象とした可変の伸張および圧縮を提供する。したがって、個別の伸張方法および圧縮方法は、セグメントの各タイプ、すなわち有声、無声、または混合に適用される。まだ未知のその後の発話音声フレームへのより良い遷移を確実にするために、セグメントタイプごとに個別の各方法を使用すると、フレームの境界付近の音声サンプルは、できるだけ変更されない、または全然変更されないことに留意されたい。
【００１７】
セグメントタイプの決定を行う際に、人間の発話の自然な周期は、有用な案内となる。一般に、セグメントタイプに関する決定は、信号の潜在的に周期的な部分がどれぐらい緊密に一致しているかに応じて行われる。例えば、まだ再生されていないオーディオ信号の特定のサンプルまたはフレームを伸張または圧縮する際に、最初のステップは、伸張または圧縮されるフレームからより小さいセグメントまたはサブフレームを選択することである。次のステップは、信号内の類似する、または一致する近くのセグメントを見つけることであるため、このサブフレームは「テンプレート」と呼ばれる。一致するセグメントは、伸張または圧縮されるフレーム内にある、または利用可能な場合、直前に再生されたフレーム内にあり得ることに留意されたい。したがって、一実施形態では、最も最近再生されたフレームのうちの１つまたは複数は、一致するセグメントを探す目的で、一時バッファで維持される。テンプレートに一致するセグメントの検索は、例えば正規化相互相関法（ｎｏｒｍａｌｉｚｅｄ  ｃｒｏｓｓ  ｃｏｒｒｅｌａｔｉｏｎ  ｍｅａｓｕｒｅ）または類似の技術など、従来の信号一致技術を使用して行われる。さらに、一実施形態では、検索範囲は、信号の「ピッチ」に互換性のある範囲に限定される。
【００１８】
当分野の技術者にはよく知られているように、発話音声などの有声の音声は、声道内の共鳴を刺激する準周期的なパルスに気流を変調する声帯の振動によって生成される。これらのパルスの割合は一般に、基本周波数または「ピッチ」と呼ばれる。一般に、有声の音声信号の周期または「ピッチ周期」は、有声の音声信号の時間領域表現における最も大きい振幅の正または負のピークの間の時間を表す。発話音声信号は、実際には完全には周期的ではないが、推定されるピッチ周波数およびその逆数、ピッチ周期は、発話音声信号のモデリングに依然として非常に有用である。考察の注意として、ピッチおよびピッチ周期の両方を参照することに留意されたい。ピッチを決定するためのかなり入念な方法はあるが、これらの概念は、当分野の技術者にはよく知られているので、本明細書に記載されているピッチおよびピッチ周期の決定は、単に相互相関のピークを見つけることに基づく基本的なものである。しかし、本明細書に提供した考察を考慮すると、ピッチおよびピッチ周期を決定するための従来の任意の方法を時間音声スケーラに使用できることを理解されたい。
【００１９】
例えば、信号の有声部分は、人間の発話または発語のピッチまたは周期の結果、必然的により高い周期性を有する。したがって正規化相互相関のピークの強度は、フレームの特定のセグメントが有声であるか、無声であるか、または混合であるかの洞察を提供する。例えば、セグメントが含む発話音声がより多くなるにつれて、正規化相互相関ピークが大きくなり、セグメントが含む発話音声がより少なくなるにつれて、一般に信号内での周期性がより少なくなり、その結果、正規化相互相関ピークが小さくなる。正規化相互相関のピーク値は、次いで事前に定義された閾値と比較されて、特定のセグメントが有声セグメントであるか、無声セグメントであるか、または有声成分と無声成分との混合物、すなわち混合セグメントであるかが決定される。検査済みの実施形態では、約０．４と約０．９５の間のピーク値は、混合セグメントを識別するために使用され、約０．９５を上回るピーク値は、有声セグメントを識別するために使用され、約０．４を下回るピーク値は、無声セグメントを識別するために使用された。
【００２０】
セグメントの特定のタイプが識別されると、セグメントタイプ固有の伸張または圧縮プロセスがそのセグメントに適用されて、必要に応じて現在のフレームが伸張または圧縮される。例えば、有声フレームを伸張するとき、窓掛け重複加算（ｗｉｎｄｏｗｅｄ  ｏｖｅｒｌａｐ−ａｄｄ：ＳＯＬＡ）手法は、フレームの一致するセグメントを配列し、マージするために使用される。しかし、有声セグメントを伸張する従来のシステムとは異なり、時間音声スケーラは、テンプレートが必ずしもセグメントの終端から取得されるわけではないように、参照またはテンプレートとして使用されるセグメントの位置を入れ替えることによって、復元された信号内の知覚し得る周期的な歪みをさらに低減する。特に、テンプレートはフレームの終端、フレームの先端、またはフレーム内から取得することができる。
【００２１】
さらに、一実施形態では、時間音声スケーラは、可変窓サイズも使用する。可変窓サイズは、復元された信号内の知覚し得る歪みをさらに低減するために正規化相互相関を実施する際に、現在のフレームについて計算された平均ピッチサイズとほぼ同じである。最後に、遷移窓（ｔｒａｎｓｉｔｉｏｎ  ｗｉｎｄｏｗ）の中間点が波形の低エネルギーポイントに配置されるようにテンプレートが配置される。テンプレートのこの配置は、復元された信号内の知覚し得る歪みをさらに低減するよう働く。この伸張プロセスは、現在のフレームの所望のレベルの伸張を達成するのに必要な回数だけ繰り返される。
【００２２】
無声フレーム、すなわち沈黙、非周期的な雑音などの伸張は、かなり異なるやり方で扱われる。特に、フレームを延長するために、テンプレートに一致する１つまたは複数のセグメントの反復が使用される、有声フレームを伸張するプロセスとは異なり、周期の導入を避けることが重要である。その理由は、人間の聞き手は、こうしたフレーム内にある可聴周期を容易に識別することができるからである。したがって、こうした周期は、復元された信号内の信号の歪みとして現れる。したがって、テンプレートに一致するセグメントを追加する代わりに、現在のフレームは、自動的に所望の長さの異なる信号を生成し、現在のフレームと似たパワースペクトルを有することによって変更される。次いでこの生成された信号は、元のフレームと生成されたセグメントとの間の遷移点を平滑化する窓関数を使用して、現在のフレームの中央に挿入される。さらに、関連の実施形態では、生成されたセグメントのエネルギーは、復元された信号内の任意の可聴歪みをさらに低減させる目的で、約３０％程度の事前に定義されたパーセントだけさらに低減される。
【００２３】
上述したように、混合セグメントは、有声成分および無声成分の組合せを表す。したがって、音声セグメントまたは無声セグメントを伸張する方法はいずれも、混合セグメントの伸張にはそれぞれ適していない。例えば、有声セグメントを処理する方法の使用は、顕著な歪みを無声のフレーム部分に導入し、一方無声セグメントを処理する方法の使用は、フレーム内の既存の任意の周期を破壊する。したがって、一実施形態では、両方の方法が使用される。具体的には、信号は、有声方法および無声方法を使用して現在の混合セグメントから生成される。次いでこれらの信号は結合されて、有声方法および無声方法を使用して作成された両方の信号を含む所望の長さの合成信号セグメントが生成される。
【００２４】
さらに、関連の実施形態では、上述したように生成された有声および無声の信号は、正規化相互相関ピークの値に応じて重み付けされる。例えば、上述したように、正規化相互相関ピークの値は、セグメントがより周期的になるにつれて、すなわちセグメント中により多くの発話音声が存在すると大きくなる。逆に、正規化相互相関ピークの値がより高い場合に有声信号により重みをかけることは、何らかの周期性、およびしたがって伸張されたセグメントの無声部分内の潜在的に知覚し得る一部の歪みを犠牲にして、伸張されたセグメント内の発話音声の知覚品質を向上させる。したがって、正規化相互相関ピーク値が低下するにつれて、セグメント内の周期性が少なくなる。したがって、無声信号により重みがかけられ、それによって周期性および潜在的にフレームの任意の有声部分の了解度を低減させる犠牲を払って、無声部分の知覚品質が向上する。
【００２５】
検査済みの実施形態では、０．４５から０．９５の正規化相互相関ピークにそれぞれ対応する０から１への線形の重み付け（ｌｉｎｅａｒ  ｗｅｉｇｈｔｉｎｇ）は、上記の有声セグメント方法を使用して所望の長さの信号を生成することによって合成信号の有声成分を作成するために使用された。同様に、０．４５から０．９５の正規化相互相関ピークにそれぞれ対応する１から０への線形の重み付けは、上記の無声セグメント方法を使用して同じ所望の長さの信号を生成することによって合成信号の無声成分を作成するために使用された。これら２つの重み付けされた信号成分は、次いで単に追加されて合成信号が生成される。
【００２６】
上述した様々なフレームタイプおよび伸張方法が与えられた場合、現在のフレーム内のどの点がそのフレームを伸張するのに最も良い点であるかという問題が依然として存在する。例えば、信号の２０ｍｓ部分などの相対的に短いフレーム内でさえ、１つまたは複数の遷移点、または２、３秒の沈黙すら存在することが多い。こうした場合、フレームが伸張されるべき特定の点を選択することが有利である。したがって一実施形態では、フレーム内のセグメントのエネルギー（エネルギーが低いほど良い）と、その一致によりそのセグメントについて見つけられた正規化相関係数（高いほど良い）との組合せに基づいてフレーム内の伸張すべき場所の決定が行われる伸張「品質」手法が使用される。
【００２７】
例えば、一般的な場合、２０ｍｓフレームは、それぞれ５ｍｓの４つのサブフレームまたはセグメントに分割する、あるいは、ほぼ推定されたピッチ周期を有する潜在的に重複するサブフレームまたはセグメントに分割することができる。特定のセグメントの計算されたエネルギーが十分低い場合、遷移は、そのセグメント内に存在すると考えられる。次いで最も低いエネルギーセグメントが伸張に選択される。しかし、エネルギーが十分には低くない場合、遷移がフレーム内に存在する見込みはなく、各セグメントの一致の正規化自己相関を使用して伸張すべき最適な一致が選択される。
【００２８】
一般に、フレームの圧縮は、フレームの伸張に関して上述したものと同じようなやり方で扱われる。例えば、フレームを圧縮するとき、上述したように、テンプレートはフレーム内から選択され、一致の検索が行われる。一致が識別されると、セグメントが窓掛けされ、重複され、加算される。しかし、正規化相互相関が小さすぎる場合、上述したように、セグメントが無声セグメントである可能性がある。この場合、無作為の、または事前に定義されたシフトが定数平方和窓（ｃｏｎｓｔａｎｔ  ｓｑｕａｒｅ−ｓｕｍ  ｗｉｎｄｏｗ）などの窓関数とともに使用されてフレームが所望の量に圧縮される。
【００２９】
さらに、圧縮すべき各フレーム内の特定のセグメントの選択は、重要な問題である。例えば、フレームのすべてのセグメントを均等に圧縮する代わりに、まず、上述したようにセグメントのタイプを決定し、次いでフレームの特定のセグメントを選択的に圧縮することによって一般により良い結果が達成される。例えば、無声セグメントまたは遷移の圧縮を回避しながら、発話音声、沈黙、または単なる雑音を表すセグメントを圧縮することは、知覚し得る歪みがより少ない復元信号を生成する。発話音声、沈黙、または単なる雑音を表すセグメントを圧縮することによって十分な圧縮が達成できない場合、非遷移無声セグメントが上記と同じように圧縮される。最後に、有声セグメントまたは非遷移無声セグメントの圧縮によって十分な圧縮を達成できない場合、遷移を含むセグメントが圧縮される。圧縮のこの階層型の手法は、復元された信号内の知覚し得る歪みを限定するよう働く。さらに、上述したように、その内容のタイプのために現在のフレームが対象の圧縮率に圧縮されない場合、「繰越し」プロセスを使用して、より多い量だけその後のフレームを圧縮する。
【００３０】
上記の概要を考慮すると、時間音声スケーラは、その信号の復元内の知覚し得る歪みを最低限に抑えながら、受信されたオーディオ信号のフレームを伸張し、圧縮するための一意のシステムおよび方法を提供することがわかる。今上述した利点に加えて、オーディオ信号セグメントを伸張し、圧縮するシステムおよび方法の他の利点は、以下の詳細な説明と添付の図面と併せ読むことによって明らかになる。
【００３１】
本発明の特定の特徴、態様、および利点は、次の説明、添付の特許請求の範囲、および添付の図面を参照するとより良く理解される。
【発明を実施するための最良の形態】
【００３２】
本発明の好ましい実施形態の次の説明では、本明細書の一部を構成し、本発明を実施できる特定の実施形態の例によって示される添付の図面への参照が行われる。本発明の範囲から逸脱することなく、他の実施形態を使用し、構造上の変更を行うことができることを理解されたい。
【００３３】
（１．０  動作環境の例）
図１は、本発明を実施するのに適したコンピューティングシステム環境１００の例を示している。コンピューティングシステム環境１００は、適したコンピューティング環境の一例にすぎず、本発明の使用または機能の範囲に関する限定を示唆するものではない。また、コンピューティング環境１００を、動作環境１００の例に示した構成要素のいずれか１つ、またはその組合せに関連する任意の依存性または必要条件を有しているものと解釈すべきではない。  
【００３４】
本発明は、他の多くの汎用または専用コンピューティングシステム環境または構成で動作可能である。本発明との使用に適したよく知られているコンピューティングシステム、環境、および／または構成の例には、それだけには限定されないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド、ラップトップまたはモバイルコンピュータまたはセル式電話やＰＤＡなどの通信装置、デジタル電話、マルチプロセッサシステム、マイクロプロセッサベースのシステム、セットトップボックス、プログラム可能家庭用電化製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記の任意のシステムまたは装置を含む分散コンピューティング環境などがある。  
【００３５】
本発明は、コンピュータによって実行されるプログラムモジュールなどのコンピュータ実行可能命令の一般的な文脈で説明することができる。一般にプログラムモジュールは、特定のタスクを実行する、または特定の抽象データ型を実装するルーチン、プログラム、オブジェクト、構成要素、データ構造などを含む。また、本発明は、タスクが通信ネットワークによってリンクされているリモート処理装置によって実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールを、メモリ記憶装置を含むローカルおよびリモートのコンピュータ記憶媒体に置くことができる。図１を参照すると、本発明を実施するシステムの例は、汎用コンピューティング装置をコンピュータ１１０の形で含んでいる。
【００３６】
コンピュータ１１０の構成要素は、それだけには限定されないが、処理ユニット１２０、システムメモリ１３０、およびシステムメモリを含む様々なシステム構成要素を処理ユニット１２０に結合するシステムバス１２１を含む。システムバス１２１は、様々なバスアーキテクチャのうちの任意のものを使用するメモリバスまたはメモリコントローラ、周辺バス、およびローカルバスを含むいくつかのタイプのバス構造のうちどんなものでもよい。こうしたアーキテクチャには、それだけには限定されないが一例として、業界標準アーキテクチャ（ＩＳＡ）バス、マイクロチャネルアーキテクチャ（ＭＣＡ）バス、拡張ＩＳＡ（ＥＩＳＡ）バス、ビデオ電子装置規格化協会（ＶＥＳＡ）ローカルバス、およびメザニンバスとしても知られている周辺部品相互接続（ＰＣＩ）バスなどがある。
【００３７】
コンピュータ１１０は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ１１０からアクセスできる使用可能な任意の媒体とすることができ、揮発性および不揮発性媒体、リムーバブルおよび非リムーバブル媒体を含む。コンピュータ可読媒体は、それだけには限定されないが一例として、コンピュータ記憶媒体および通信媒体を含み得る。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、他のデータなど、情報を記憶するための任意の方法または技術で実施される揮発性および不揮発性のリムーバブルおよび非リムーバブル媒体がある。
【００３８】
コンピュータ記憶媒体には、それだけには限定されないが、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリまたは他のメモリ技術、ＣＤ−ＲＯＭ、デジタル多用途ディスク（ＤＶＤ）または他の光ディスク記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置または他の磁気記憶装置、または所望の情報の格納に使用でき、コンピュータ１１０からアクセスできる他の任意の媒体などがある。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを搬送波または他の移送機構などの変調されたデータ信号に組み込む。これには任意の情報配送媒体がある。「変調されたデータ信号」という用語は、信号に情報を符号化するように１つまたは複数のその特性が設定または変更された信号を意味する。通信媒体には、それだけには限定されないが一例として、有線ネットワーク、直接配線された接続などの有線媒体、および音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体がある。また、上記のどんな組合せでもコンピュータ可読媒体の範囲内に含まれるものとする。
【００３９】
システムメモリ１３０は、読取り専用メモリ（ＲＯＭ）１３１やランダムアクセスメモリ（ＲＡＭ）１３２など、揮発性および／または不揮発性メモリの形のコンピュータ記憶媒体を含む。基本入出力システム１３３（ＢＩＯＳ）は、例えば起動中など、コンピュータ１１０内の要素間での情報の転送を助ける基本ルーチンを含み、一般にＲＯＭ１３１に格納されている。ＲＡＭ１３２は一般に、処理ユニット１２０から直接アクセス可能な、かつ／または処理ユニット１２０が現在処理しているデータおよび／またはプログラムモジュールを含む。図１は、それだけには限定されないが一例として、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７を示している。
【００４０】
コンピュータ１１０は、他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体を含むこともできる。一例にすぎないが、図１は、非リムーバブル不揮発性磁気媒体から読み取り、あるいはそこに書き込むハードディスクドライブ１４１、リムーバブル不揮発性磁気ディスク１５２から読み取り、あるいはそこに書き込む磁気ディスクドライブ１５１、およびＣＤ−ＲＯＭや他の光媒体など、リムーバブル不揮発性光ディスク１５６から読み取り、あるいはそこに書き込む光ディスクドライブ１５５を示している。動作環境の例で使用できる他のリムーバブル／非リムーバブル、揮発性／不揮発性コンピュータ記憶媒体には、それだけには限定されないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、半導体ＲＡＭ、半導体ＲＯＭなどがある。ハードディスクドライブ１４１は一般に、インターフェイス１４０などの非リムーバブルメモリインターフェイスを介してシステムバス１２１に接続され、磁気ディスクドライブ１５１および光ディスクドライブ１５５は一般に、インターフェイス１５０などのリムーバブルメモリインターフェイスによってシステムバス１２１に接続される。
【００４１】
上述し、図１に示したドライブおよびその関連のコンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、およびコンピュータ１１０の他のデータの記憶を提供する。図１では例えば、ハードディスクドライブ１４１は、オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７を記憶するものとして示されている。これらの構成要素は、オペレーティングシステム１３４、アプリケーションプログラム１３５、他のプログラムモジュール１３６、およびプログラムデータ１３７と同じであっても、異なっていてもよいことに留意されたい。オペレーティングシステム１４４、アプリケーションプログラム１４５、他のプログラムモジュール１４６、およびプログラムデータ１４７は少なくとも異なるコピーであることを示すために、ここではそれらに異なる番号を付している。ユーザは、キーボード１６２、および一般にマウス、トラックボール、またはタッチパッドと呼ばれるポインティング装置１６１などの入力装置を介してコマンドおよび情報をコンピュータ１１０に入力することができる。
【００４２】
さらに、コンピュータ１１０は、マイクロフォン１９８やマイクロフォンアレイなどの発話音声入力装置、および音声インターフェイス１９９を介して接続される拡声器１９７または他の音声出力装置を含むこともできる。他の入力装置（図示せず）には、ジョイスティック、ゲームパッド、衛星パラボラアンテナ、スキャナ、無線受信機、テレビまたはブロードキャストビデオ受信機などがある。これらおよび他の入力装置は、しばしばシステムバス１２１に結合されているユーザ入力インターフェイス１６０を介して処理ユニット１２０に接続されるが、例えばパラレルポート、ゲームポート、ユニバーサルシリアルバス（ＵＳＢ）など他のインターフェイスおよびバス構造で接続してもよい。モニタ１９１または他のタイプの表示装置もまた、ビデオインターフェイス１９０などのインターフェイスを介してシステムバス１２１に接続される。モニタに加えて、コンピュータは、出力周辺インターフェイス１９５などを介して接続できるプリンタ１９６などの他の周辺出力装置を含むこともできる。
【００４３】
コンピュータ１１０は、リモートコンピュータ１８０など１つまたは複数のリモートコンピュータへの論理接続を使用してネットワーク式環境で動作することができる。リモートコンピュータ１８０は、パーソナルコンピュータ、サーバ、ルータ、ネットワークＰＣ、ピア装置、または他の一般のネットワークノードでよく、一般にコンピュータ１１０に関連して上述した多くまたはすべての要素を含むが、図１にはメモリ記憶装置１８１のみを示している。図１に示した論理接続は、ローカルエリアネットワーク（ＬＡＮ）１７１および広域ネットワーク（ＷＡＮ）１７３を含むが、他のネットワークを含んでいてもよい。こうしたネットワーキング環境は、オフィス、全社規模のコンピュータネットワーク、イントラネット、およびインターネットではごく一般的である。
【００４４】
ＬＡＮネットワーキング環境で使用する場合、コンピュータ１１０は、ネットワークインターフェイスまたはアダプタ１７０を介してＬＡＮ１７１に接続される。ＷＡＮネットワーキング環境で使用する場合、コンピュータ１１０は一般に、モデム１７２、またはインターネットなどＷＡＮ１７３を介して通信を確立する他の手段を含む。モデム１７２は、内蔵のものでも外付けのものでもよく、ユーザ入力インターフェイス１６０または他の適切な機構を介してシステムバス１２１に接続することができる。ネットワーク式環境では、コンピュータ１１０に関連して示したプログラムモジュール、またはその一部をリモートメモリ記憶装置に格納することができる。図１は、それだけには限定されないが一例として、リモートアプリケーションプログラム１８５をメモリ装置１８１上に存在するものとして示している。図示したネットワーク接続は例であり、コンピュータ間の通信リンクを確立する他の手段を使用してもよいことは理解されよう。
【００４５】
動作環境の例について説明してきたが、この説明の残りの部分は、デジタルオーディオ信号内の信号フレームを自動的に伸張し、圧縮する「時間音声スケーラ」を具現化するプログラムモジュールおよびプロセスの説明に当てる。
【００４６】
（２．０  はじめに）
オーディオ信号の時間スケール変更のより古典的な用途では、信号の時間スケール全体を数倍減速または高速化させ、聞き取り時間を短縮し、または了解度を向上させている。その用途に加えて、この２、３年で、インターネットなど損失の多い遅延しがちなパケットベースのネットワークを介して送信され、次いでクライアントコンピュータまたは受信機で復元される信号の品質を向上させるために、発話音声を含むオーディオ信号の時間スケール変更も使用されている。例えば、多くの応用分野では、発話音声を含むオーディオ信号の１つまたは複数のフレームを伸張または圧縮することが望ましい。
【００４７】
一般に伸張は、信号内の発話音声の了解度を向上させるため、損失した、過度に遅れた、または雑音の多いフレームを置き換えるため、またはジッタ解除アルゴリズムで遅延した発話音声データを待つときに追加の時間を提供するために使用される。同様に、オーディオ信号の短縮または圧縮は、一般に聞き取り時間を短縮し、信号のビット伝送速度を短縮し、信号のフレームを高速化して伝送時間全体を短縮し、信号フレームの何らかのタイプの処理に続いて信号をほぼリアルタイムで送信できるように伝送遅延を短縮するために使用されている。これらの使用を考慮すると、復元された信号内の知覚し得る歪みを最低限に抑えながら高品質出力を提供する発話音声の伸張および圧縮のためのシステムおよび方法が明らかに必要である。
【００４８】
高品質の音声の伸張および圧縮のこの必要性に取り組むために、パケットベースのネットワークを介して受信されたオーディオ信号のフレームを自動的に伸張し圧縮する、順応性のある「時間音声スケーラ」が提供される。本明細書に記載した時間音声スケーラは、オーディオ信号の伸張および圧縮を含む時間的スケーリングのためのシステムおよび方法を提供する。以下の段落では、この時間音声スケーラについて説明する。
【００４９】
一般に、時間音声スケーラは、オーディオ信号内の発話音声の部分など、音声フレームの局部的な時間スケール変更を提供する。本明細書に記載した手法は、信号のフレームの伸張および圧縮に適用される。さらに、時間音声スケーラは、隣接するフレームを参照する必要なく、特定のフレームの可変の伸張および圧縮を提供することができる。このことは、隣接するセグメントが利用できない（または損失した）応用分野では重要となり得る。さらに、時間音声スケーラによって提供された伸張および圧縮の可変性は、セクション３．１に示すように、１つまたは複数のその後のフレームを可変的に伸張または圧縮して、現在のフレームの平均から抜け出た任意の伸張または圧縮を補償する「繰越し」技術を使用することによって所望の総平均圧縮率（または総平均伸張率）を維持しながら次のフレームで補償される所望の比率との圧縮率のわずかな差を許容する。
【００５０】
（２．１  システムの概要）
上述したように、時間音声スケーラは、まず、オーディオ信号からフレームを受信または抽出し、そのフレームを伸張または圧縮することによってフレームの時間特性を変更し、現在のフレームの伸張または圧縮が対象の伸張率または圧縮率と等しいかどうかを決定し、次いで実際の伸張率または圧縮率と対象の伸張率または圧縮率との間に差がある場合はそれを次のフレームに適用される伸張または圧縮に追加することによって、特定のフレーム（またはセグメント）の伸張および圧縮を提供する。
【００５１】
さらに、各フレームを伸張または圧縮する前に、時間音声スケーラは、まず現在のセグメントのタイプを決定し、次いで識別されたセグメントタイプに固有の伸張または圧縮プロセスを適用する。例えば、発話音声を含むオーディオ信号内の任意の特定のフレームの各セグメントは、発話または他の何らかの有声の発語を含む「有声」（ｖｏｉｃｅｄ）セグメント、任意の発話または他の発語を含まない「無声」（ｕｎｖｏｉｃｅｄ）セグメント、または有声成分および無声成分を含む「混合」（ｍｉｘｅｄ）セグメントのいずれかである。
【００５２】
最適な結果を達成するために、時間音声スケーラは、特に伸張または圧縮される特定のセグメントタイプを対象とした可変の伸張および圧縮を提供する。したがって、セグメントの特定のタイプ、すなわち有声、無声、混合が識別されると、特定のセグメントタイプに固有の伸張または圧縮プロセスがセグメントフレームに適用されて、必要に応じて現在のフレームが伸張または圧縮される。まだ未知の発話音声セグメントへのより良い遷移を確実にするために、フレームタイプごとに個別の各方法を使用すると、各フレームの終端は、できるだけ変更されない、または全然変更されないことに留意されたい。
【００５３】
さらに、上述した様々なセグメントタイプおよび伸張方法が与えられた場合、現在のフレーム内のどの点がそのフレームを伸張するのに最適な点であるかという問題が依然として存在する。例えば、信号の２０ｍｓ部分などの比較的短いフレーム内でさえ、１つまたは複数の遷移点、または２、３ミリ秒の沈黙さえ存在することが多い。こうした場合、フレームを伸張すべき特定の点を選択することが有利である。したがって一実施形態では、各セグメントの（低いほど良い）エネルギーと、その一致を含むそのセグメントについて見つけられた（高いほど良い）正規化相関係数との組合せに基づいて伸張すべき場所の決定が行われる伸張「品質」手法が使用される。
【００５４】
例えば、一般的な場合、２０ｍｓフレームは、それぞれ５ｍｓの４つのサブフレームまたはセグメントに分割される、あるいは、ほぼ推定されたピッチ周期を有する潜在的に重複するサブフレームに分割される。特定のサブフレームの計算されたエネルギーが十分低い場合、遷移は、そのフレーム内に存在すると考えられる。次いでエネルギーの最も低いサブフレームが伸張に選択される。しかし、エネルギーが十分には低くない場合、遷移がフレーム内に存在する見込みはなく、各サブフレームの一致の正規化自己相関を使用して伸張すべき最適な一致が選択される。
【００５５】
一般に、フレーム内のセグメントの圧縮は、セグメントの伸張に関して上述したものと同じようなやり方で扱われる。例えば、セグメントを圧縮するとき、セグメント内からテンプレートが選択され、一致の検索が行われる。一致が識別されると、セグメントが窓掛けされ、重複され、加算される。しかし、正規化相互相関が小さすぎる場合、上述したように、セグメントが無声セグメントである可能性がある。この場合、無作為のまたは所定のシフトが定数平方和窓などの窓関数とともに使用されてセグメントが所望の量に圧縮される。
【００５６】
さらに、圧縮すべき特定のセグメントの選択も重要な問題である。例えば、フレーム内のすべてのセグメントを均等に圧縮する代わりに、まず、上述したようにセグメントのタイプを決定し、次いでそのタイプに基づいて特定のセグメントを選択的に圧縮することによってより良い結果が達成される。例えば、無声セグメントまたは過渡事象の圧縮を回避しながら、発話音声、沈黙、または単なる雑音を表すセグメントを圧縮することは、知覚し得る歪みがより少ない復元信号を生成する。次に、発話音声、沈黙、または単なる雑音を表すセグメントを圧縮することによって十分な圧縮が達成できない場合、非遷移無声セグメントが上記と同じように圧縮される。最後に、有声セグメントまたは非遷移無声セグメントの圧縮によって十分な圧縮を達成できない場合、遷移を含むセグメントが圧縮される。当然、各タイプ内の圧縮の機会を前もって計算することができない場合、圧縮すべき最適なセグメントは、各ステップで計算することができる。圧縮のこの階層型手法は、復元された信号内の知覚し得る歪みを限定するよう働く。
【００５７】
（２．２  システムアーキテクチャ）
上記で概要を述べたプロセスは、図２の全体的なシステム図によって示されている。特に、図２のシステム図は、オーディオ信号のフレームを伸張、圧縮するために時間音声スケーラを実施するプログラムモジュール間の相互相関を示している。ボックスおよび図２の波線によって表されるボックス間の相互関係は、本明細書に記載した時間音声スケーラの代替実施形態を表し、下記で説明するように、これらの代替実施形態のいずれか、またはすべては、この文書全体にわたって記載する他の代替実施形態と一緒に使用することができることに留意されたい。
【００５８】
図２で示すように、オーディオ信号のフレームをリアルタイムで伸張、圧縮するためのシステムおよび方法は、信号入力モジュール２００を介して入力信号を受信することによって開始する。この信号入力モジュール２００は、今生成された、コンピュータに格納されている、または例えばインターネットなどパケットベースのネットワーク、または従来の音声ベースの通信ネットワークを含む他のパケットベースのネットワークを介して送信されるパケット化されたオーディオ信号から復号化されたオーディオ信号を受信する。信号入力モジュール２００がパケットを受信し、または復号化すると、パケットは、フレーム抽出モジュール２０５に提供される。次いでフレーム抽出モジュール２０５は、入力信号から現在のフレームを抽出する。
【００５９】
一実施形態では、フレーム抽出モジュール２０５は、次いで現在のフレームを、フレーム全体、またはそのフレーム内のセグメントのいずれかまたは両方のピッチ周期を推定するピッチ推定モジュール２１０に提供する。この実施形態では、セグメントは、ほぼフレームの平均ピッチ周期の長さに選択される。しかし、実際のセグメント長は、計算の効率のために選択することができ、例えばより小さいセグメントを使用すると、ＦＦＴ計算がより簡単になる。さらに、セクション３．２にさらに詳しく説明するように、これらのピッチ周期ベースのセグメントは、重複していてもよい。現在のフレームを含むセグメントは、次いでセグメントタイプ検出モジュール２１５に提供される。
【００６０】
あるいは、フレーム抽出モジュール２０５は、フレームを単に等しい長さのいくつかのセグメントに分割するセグメントタイプ検出モジュール２１５に現在のフレームを直接提供する。
【００６１】
いずれの場合でも、セグメントタイプ検出モジュール２１５は、次いで現在のフレーム内のセグメントのタイプの決定を行い、現在のフレームをそれぞれ適切な伸張または圧縮モジュール２２０、２２５、２３０、または２４０に提供する。特に、セグメントタイプ検出モジュール２１５は、まず、現在のフレームが有声セグメントを含んでいるか、無声セグメントを含んでいるか、または混合セグメントを含んでいるかを決定する。フレームが伸張される場合、セグメントタイプ検出モジュールは、次いで現在のフレームを有声セグメント伸張モジュール２２０、無声セグメント伸張モジュール２２５、または混合セグメント伸張モジュール２３０に提供する。現在のフレームが圧縮される場合、セグメントタイプ検出モジュールは、次いで現在のフレームをセグメント圧縮モジュール２４０に提供する。
【００６２】
有声セグメント伸張モジュール２２０は、セクション３．２．１で詳しく説明するように、テンプレートとフレームとが一致する信号の部分を配列し、マージする窓掛け同期重複加算（ＳＯＬＡ）手法を使用することによって動作する。しかし、有声セグメントを伸張する従来のシステムとは異なり、時間音声スケーラの有声セグメント伸張モジュール２２０は、参照またはテンプレートとして使用されるセグメントの位置を入れ替え、したがって従来の発話音声伸張アルゴリズムと同様に、テンプレートが常にセグメントの終端から取得されるとは限らないようにすることによって、復元された信号内の知覚し得る周期的な歪みをさらに低減する。特に、テンプレートは、フレームの終端、フレームの先端、またはフレーム内の様々な位置から取得することができる。
【００６３】
これに対して、無声セグメント伸張モジュール２２５は、セクション３．２．２で詳しく説明するように、１つまたは複数の合成信号セグメントを生成し、次いでそれらが現在のセグメントまたはフレームに挿入されることによって現在のセグメントまたはフレームを伸張するように動作する。一般に、合成セグメントは、非周期的な信号を現在のフレームと似たスペクトルと合成することによって任意の所望の長さで作成される。さらに、合成された信号は、合成された信号への周期の導入を回避するために、元のフレームとの相関がないことが望ましい。
【００６４】
例えば、一実施形態では、これは、単一のセグメントが挿入されるか複数のセグメントが挿入されるかに応じて、現在のフレームのすべてまたは一部のフーリエ変換を計算し、その位相のランダムな回転をＦＦＴ係数に導入し、次いで単にセグメントごとに逆ＦＦＴを計算することによって達成される。これは、同様のスペクトルを含む信号セグメントは生成するが、元のセグメントとの相関はない。さらに、ＦＦＴを計算する前に信号をゼロ詰めすることにより、より長い信号を取得することができる。これらの合成信号は、次いで窓関数を使用して元のセグメントと生成されたセグメントとの間の遷移点を平滑化することによって現在のセグメントまたはフレームの中央に挿入される。
【００６５】
混合セグメント伸張モジュール２３０は、セクション３．３で詳しく説明するように、上述した有声方法および無声方法の両方の組合せを使用することによって動作する。具体的には、信号は、有声方法および無声方法の両方を使用して現在の混合セグメントから生成される。次いでこれらの信号は結合されて、有声信号および無声信号を含む合成信号が生成される。一実施形態では、合成信号を形成する成分は、上記の正規化相互相関ピークを介して決定されたように、有声または無声のデータの比例する内容に比例して、重み付けモジュール２３５を介して重み付けされる。
【００６６】
セグメント圧縮モジュール２４０は、セクション３．４で説明するように動作する。一般に、セグメントの圧縮は、セグメントの伸張に関して上述したものと同じようなやり方で扱われる。特に、セグメントの圧縮は、上述したフレームまたはセグメントの伸張と同じようにフレームまたはセグメントタイプベースで扱われる。図２において理解しやすくするために、セグメントの圧縮は、様々なセグメントタイプの圧縮を表すために３つのプログラムモジュールを使用する代わりに、「セグメント圧縮モジュール２４０」という名前の単一のプログラムモジュールとして示されている。しかし、基本のセグメントタイプ、すなわち有声セグメント、無声セグメント、および混合セグメントの伸張と同じように、これらの同じセグメントタイプの圧縮もやはり、各セグメントタイプに固有の異なる方法を使用して扱われることを理解されたい。
【００６７】
特に、有声セグメントを圧縮するとき、セグメント内からテンプレートが選択され、一致の検索が行われる。一致が識別されると、セグメントが窓掛けされ、重複され、加算され、テンプレートと一致との間の信号が切り取られる。その結果、セグメントは短縮または圧縮される。これに対して、無声セグメントを圧縮するとき、無作為のまたは所定のシフトが定数平方和窓などの窓関数とともに使用されてセグメントが所望の量に圧縮される。最後に、混合セグメントは、有声方法および無声方法の重み付けされた組合せを使用して圧縮される。しかし、セクション３．４でさらに詳しく説明するように、様々なセグメントタイプを圧縮して１つまたは複数のフレームにわたって所望のまたは対象の圧縮率を達成するために（有声セグメントが最初、次に無声セグメント、その後混合セグメントという）明確な優先順位がある。セグメントの終点の変更を回避し、したがってフレームの伸張と同じように、過渡事象または可聴歪みがフレームまたはセグメントの間に導入されないように、セグメントの圧縮中に注意が払われる。
【００６８】
有声、無声、または混合の各場合で、それぞれ対応する伸張または圧縮モジュール２２０、２３５、２３０、または２４０は、次いで伸張または圧縮されたフレームを伸張または圧縮されたフレーム２４５のバッファに提供する。一実施形態で、現在のテンプレートに一致するセグメントについての信号内における過去の最近の検索を可能にするために一時フレームバッファ２５０が使用される。伸張または圧縮されたセグメントが伸張され、圧縮されたフレーム２４５のバッファに提供されると、２５５で所望のまたは対象の伸張または圧縮が達成されたかどうかに関する決定が行われる。達成されていない場合、２６０で単に実際の値と対象の値との間の差を次のフレームに加えることによって、対象の伸張または圧縮の間の差が次のフレームの対象の圧縮に加味される。いずれの場合も、この時点では、次のフレームは、２０５で入力信号から抽出され、入力信号の終端に到達するまで、またはプロセスが終了するまで上記のプロセスが繰り返される。一部の応用分野では、入力時に信号が容易に入手できない場合、フレームを、バッファ２５０に依然として存在している信号から選択することができる。
【００６９】
伸張、圧縮されたフレーム２４５のバッファは、必要に応じて再生またはそれ以上の処理に使用可能であることに留意されたい。したがって、一実施形態では、信号出力モジュール２７０は、伸張されたフレームおよび圧縮されたフレームを出力するためのアプリケーションとのインターフェイスをとるために提供される。例えば、こうしたフレームは、有声ベースの通信システムの一部として聞き手に対して再生することができる。
【００７０】
（３．０  動作の概要）
上記のプログラムモジュールは、音声ファイルのセグメントの自動時間スケーリングを提供するために、時間音声スケーラにおいて使用される。一般に、上記で概要を述べたように、この時間スケーリングは、単一の信号フレームと同じぐらい小さいセグメント上で行うことができる可変の伸張および圧縮を提供する。時間音声スケーラによって提供された伸張および圧縮の可変性は、「繰越し」技術を使用することによって所望の総平均圧縮率（または総平均伸張率）を維持しながら、所望の率との圧縮率のわずかな差を次のフレームで補償できるようにする。以下のセクションでは、セクション２に記載したプログラムモジュールを実施するための方法例の運用について詳しく説明する。
【００７１】
（３．１  対象の圧縮率／伸張率の維持のための繰越し）
上述したように、時間音声スケーラは、全体として信号の所望の圧縮率／伸張率を維持しながら、フレームの可変の圧縮または伸張に「繰越し」プロセスを使用する。例えば、対象の圧縮率は特定の信号について２：１であり、各入力フレームは３００個のサンプルを有している場合、対象の各出力フレームは、名目上１５０個のサンプルを有している。しかし、特定のフレームが例えば１５０個のサンプルでなく、１８０個のサンプルに圧縮された場合、３０個の余分のサンプルは、その対象の圧縮を１２０個のサンプルに設定することによって次のフレームで補償される。したがって、１８０および１２０のブロックサイズでは、平均ブロックサイズは依然として１５０であり、平均圧縮率は２：１である。その次のフレームの内容（、すなわちセグメントタイプ）に応じて、１２０個のサンプルに圧縮することは、最適な結果を提供しない場合があることに留意されたい。したがって、１２０個のサンプルの例は対象にすぎず、実際の圧縮または伸張は、所望の平均を確保するようにその後のフレームの対象の圧縮または伸張を設定するために使用される。
【００７２】
したがって、その後の複数のフレームを伸張または圧縮して所望の平均を維持することができる。例えば、上記の例を使用して、１８０個のサンプルに圧縮されたフレームの次のフレームが１３０個のサンプルに圧縮される場合、次のフレームの対象の圧縮は、３つのフレームにわたって１５０個のサンプルの平均を提供するために１４０個のサンプルの対象圧縮となる。この繰越し技術の使用によって、任意の特定の出力フレームの長さに対する緩やかな要件のみが維持されるとともに、任意の所望の圧縮率（または伸張率）が維持される。
【００７３】
この繰越し技術の結果、復元された信号内の知覚し得る任意の歪みを最低限に抑えるために、必要に応じて各個々のフレームが最適に伸張または圧縮されるため、伸張または圧縮による損失または遅延したパケットの補償が極めてフレキシブルとなる。時間音声スケーラのこの機能は、例えばリアルタイム通信システムにおけるジッタ解除およびパケット損失の隠蔽などのいくつかの応用分野を補完する。
【００７４】
（３．２  セグメントの内容ベースの伸張）
上述したように、各フレームの伸張または圧縮前に、時間音声スケーラは、まず現在のフレームのタイプを決定し、次いでフレームタイプ固有の伸張または圧縮プロセスを現在のフレームに適用する。例えば、発話音声を含むオーディオ信号内の各フレームは、発話または他の何らかの有声の発語を含む「有声」フレーム、発話や他の発語を含まない「無声」フレーム、または有声成分および無声成分の両方を含む「混合」フレームのいずれかである。最適な結果を達成するために、時間音声スケーラは、特に伸張または圧縮される特定のフレームタイプを対象とした可変の伸張および圧縮を提供する。したがって、個別の一意の伸張方法および圧縮方法がフレームの各タイプ、すなわち有声、無声、または混合に適用される。
【００７５】
したがって、そのフレームが有声であるか、無声であるか、または混合であるかに関する決定は、現在のフレームを伸張または圧縮する前に行われる。この決定を行う際に、人間の発話の自然な周期性は有用な案内となる。一般に、セグメントタイプに関する決定は、信号の潜在的に周期的な部分がどれぐらい緊密に一致しているかに応じて行われる。例えば、まだ再生されていないオーディオ信号の特定のサンプルを伸張または圧縮する際に、最初のステップは、伸張または圧縮されるサンプルからより小さいセグメントまたはサブサンプルを選択することである。次のステップは、信号内の類似する、または一致する近くのセグメントを見つけることであるため、このサブサンプルは、「テンプレート」と呼ばれる。一致するセグメントは、圧縮されるサンプル内にある、または前に再生されたセグメント内にあり得ることに留意されたい。したがって、利用可能な場合、最も最近再生されたセグメントは、一致するセグメントを探す目的で、一時バッファに維持される。テンプレートに一致するセグメントの検索は、例えば正規化相互相関法または類似の技術など、従来の信号一致技術を使用して行われる。さらに、検索範囲は、信号の「ピッチ」に互換性のある範囲に限定されることが好ましい。
【００７６】
当分野の技術者にはよく知られているように、発話音声などの有声の音声は、声道内の共鳴を刺激する準周期的なパルスに気流を変調する声帯の振動によって生成される。これらのパルスの割合は一般に、基本周波数または「ピッチ」と呼ばれる。一般に、有声の音声セグメントの周期または「ピッチ周期」は、有声音声信号の時間領域表現における最も大きい振幅の正または負のピークの間の時間を表す。発話音声信号は、実際には完全には周期的ではないが、推定されるピッチ周波数およびその逆数、ピッチ周期は、発話音声信号のモデリングに依然として非常に有用である。以下の説明では、ピッチおよびピッチ周期の両方に言及することに留意されたい。ピッチを決定するためのかなり入念な方法はある。しかしこれらの概念は、当分野の技術者にはよく知られているように、本明細書に記載されているピッチおよびピッチ周期の決定は、単に相互相関のピークを見つけることに基づく基本的なものである。
【００７７】
したがって、有声セグメントを有する信号の部分は、人間の発話または発語のピッチまたは周期の結果、必然的により高い周期性を有する。したがって正規化相互相関のピークの強度は、特定のセグメントが有声であるか、無声であるか、または混合であるかの洞察を提供し、ピークの位置は、ピッチ周期の実際値の推定を提供する。例えば、セグメントが含む発話音声がより多くなるにつれて、正規化相互相関ピークが大きくなり、セグメントが含む発話音声がより少なくなるにつれて、一般に信号内での周期がより少なくなり、その結果より正規化相互相関ピークが小さくなる。
【００７８】
正規化相互相関のピーク値を所定の閾値と比較して、特定のセグメントが有声セグメントであるか、無声セグメントであるか、または有声セグメントと無声セグメントとの混合物、すなわち混合セグメントであるかが決定される。検査済みの実施形態では、約０．４と約０．９５の間のピーク値は、混合セグメントを識別するために使用され、約０．９５を上回るピーク値は、有声セグメントを識別するために使用され、約０．４を下回るピーク値は、無声セグメントを識別するために使用された。特定のタイプのセグメントが識別されると、セグメントタイプ固有の伸張または圧縮プロセスが現在のフレームに適用されて、必要に応じて現在のフレームが伸張または圧縮される。別の検査済みの実施形態では、混合として分類されたフレームがなく、有声フレームと無声フレームとの間の閾値が０．６５に設定された。
【００７９】
（３．２．１  有声セグメントの伸張）
フレーム内の有声セグメントを伸張するとき、窓掛け重複加算（ＳＯＬＡ）手法は、セグメントの一致する部分を配列し、マージするために使用される。一般に窓は、上昇部分（ｒａｉｓｉｎｇ  ｐａｒｔ）ｗａ［ｎ］および減衰部分（ｄｅｃａｙｉｎｇ  ｐａｒｔ）ｗｂ［ｎ］に分けられる。次いで重複する信号にこれらの窓を掛けて遷移を平滑化する。より具体的には、過去まで延びる信号には減衰窓を掛け、将来まで延びる信号は上昇窓を掛ける。さらに、配列された信号は相関関係があるため、本明細書では、ゼロに収束し、加算されると合計が１になる、すなわちｗａ［ｎ］＋ｗｂ［ｎ］＝１となるハニング窓など従来の窓を使用して、フレームの伸張された部分の境界での歪みを無くす、または低減する。こうした窓は、当分野の技術者にはよく知られている。
【００８０】
しかし、有声セグメントを伸張する従来のシステムとは異なり、時間音声スケーラは、参照またはテンプレートとして使用されるセグメントの位置を入れ替え、したがって従来の発話音声伸張アルゴリズムと同様に、テンプレートが常にセグメントの終端から取得されるとは限らないようにすることによって、復元された信号内の知覚し得る周期的な歪みをさらに低減する。特に、テンプレートは、フレームの終端、フレームの先端、またはフレーム内の様々な位置から取得することができる。例えば、一実施形態では、遷移窓の中間点が波形のエネルギーの低い点に配置されるようにテンプレートが配置される。テンプレートのこの配置は、復元された信号内の知覚し得る歪みをさらに低減するよう働く。この伸張プロセスは、現在のフレームの伸張の所望のレベルを達成するのに必要な回数だけ繰り返されることに留意されたい。
【００８１】
検査済みの実施形態では、図３に示したように、ピッチの初期推定値を使用して、所望の長さを達成するためにセグメントを何回伸張（または圧縮）する必要があるかを推定する。特に、各反復は信号を約１ピッチ周期だけ圧縮または伸張するため、適切な推定値は反復の回数Ｋであり、式１によって次のように提供される。
【００８２】
【数１】
2005084692.tif 000003
【００８３】
式中、ｐ０は、現在のセグメントの初期ピッチ推定値である。次いでテンプレートは、伸張されるセグメント上に均等に配分される。さらに、信号の過去の履歴を利用可能な場合、テンプレートの前のその領域内で一致が検索される。あるいは、過去の履歴を利用できない場合、どこでより多くのデータを利用可能であるかに応じて現在のセグメントの前または後で一致の検索が行われる。
【００８４】
具体的には、図３に示したように、プロセスは、３００で入力オーディオ信号から次の現在のフレームｘ［ｎ］を取得することによって開始する。次いで３１０で、使用している従来の方法のために、初期ピッチ推定値ｐ０が計算される。一実施形態では、現在のフレームのこの初期ピッチ推定値は、単に受信されたフレームの平均ピッチである。
【００８５】
次に３２０で、初期ピッチ推定値ｐ０、現在のセグメントサイズ、および所望のフレームサイズに応じて、信号を伸張するのに必要な反復回数が推定される。例えば、各反復は信号を約１ピッチ周期だけ伸張または圧縮するため、反復回数は、例えば式１によって提供されたものなど、ある方法を使用して容易に推定することができる。明らかに、現在のセグメントサイズと所望のサイズとの間の差を割り、さらに推定されたピッチサイズで割ることによって、結果的にセグメントを所望のサイズに伸張または圧縮するのに必要な反復回数の適切な推定値となる。
【００８６】
３２０で反復回数が推定されると、３３０で反復カウンタｉがゼロに初期設定される。次いで３４０で、再度従来の技術を使用して、現在のセグメントのより小さい部分、すなわちサブセグメントまたはサブフレームについて、現在のセグメント内の現在のサンプル位置ｓ［ｉ］でピッチｐが推定される。次いで３５０で、従来の窓掛け重複加算（ＳＯＬＡ）手法が使用されてテンプレートをピッチ周期だけスライドし、テンプレートをセグメントに重ね、加算して位置ｓ［ｉ］でのセグメントのピッチ周期の長さだけセグメントが伸張される。
【００８７】
次いで３６０で、所望のセグメントサイズが達成されるかどうかに関する決定が行われる。３６０で所望のサイズに到達しなかった場合、現在のサンプル位置の場所ｓ［ｉ］が、反復回数Ｋに応じて調整され、３４０でピッチｐを推定し、３５０で窓掛けしてセグメントを伸張するための上記のステップが、３６０で所望のセグメントサイズに到達するまで繰り返される。最後に、３６０で所望のサイズに到達すると、伸張されたフレームは、必要に応じて再生または使用することができるように、３８０で、伸張されたフレーム３９０のバッファに出力される。さらに、３９５で、処理すべきフレームがさらにあるかどうかに関する決定もこの時点で行われる。３９５で、処理すべきフレームがそれ以上ない場合、プロセスは終了する。しかし、３９５で、処理すべきフレームがさらにある場合、３００で次の現在のフレームが取り出され、上記のステップ３１０から３９５までのステップを繰り返す。
【００８８】
フレームの終端からテンプレートを選択するとき、ほとんどの従来の発話音声伸張システムと同じように、一致するセグメントについて過去において検索することによって、すなわちそれまでの信号内を検索することによって、テンプレートの一致が達成される。したがってこの場合、フレームおよびテンプレートの長さに応じて、１つまたは複数のすでに再生されたフレームのバッファを維持することが必要となり得る。次いで一致するセグメントは、ステップ３５０を参照して説明したように、従来の技術を使用して配列され、マージされ、それによって現在のフレームの長さが伸張される。
【００８９】
あるいは、従来の発話音声伸張システムとは異なり、時間音声スケーラは、フレームの先端からテンプレートを引き出すこともできる。この場合、特に過去のフレームを利用できない場合は、一致するセグメントについて将来において、すなわちその後の信号内を検索する必要がある場合がある。したがってこうした場合、現在のテンプレートに一致するセグメントについて局所の将来の信号を検索することによって、そのフレームを再生する前に現在のフレームの伸張を可能にするために、遅延を伴うバッファに入れられたフレームを有している必要がある。これは、いくつかのピッチ周期を含むほど十分長いフレームサイズを要求することによって達成することができる。
【００９０】
さらに、この場合もまた従来の発話音声伸張システムとは異なり、フレームの先端または端部からテンプレートを選択することに加えて、テンプレートは、フレーム内の、現在のフレームの先端と終端との間のどこかの場所から選択することもできる。この場合、テンプレートへの一致は、上述したように、現在のフレーム内の選択されたテンプレートの場所に応じて、過去または将来を検索することによって識別される。
【００９１】
一実施形態では、テンプレートの場所の選択が入れ替えられて、現在のフレーム内の任意の点で周期があまりに均等すぎることから生じる知覚し得る歪みの導入が最低限に抑えられる。この機能は、所与の任意のフレームに適用される伸張の量が２、３のピッチ周期を超えて増加するときに、特に重要となる。実際に、所与の任意のフレームの場合に所望のフレーム長を達成するのに複数の伸張操作が必要となり得るため、上述したやり方で、繰り返される伸張操作について現在のフレーム内の操作ごとに異なるテンプレートが選択される可能性があり、そのため所与の任意の点での周期は、知覚し得る歪みをもたらさない。
【００９２】
さらに、一実施形態では、時間音声スケーラは、現在のフレームのために計算された平均ピッチ周期と同じサイズの可変セグメントサイズも使用する。さらに、関連の実施形態では、次いで現在のフレームの伸張の所望のまたは対象の長さを現在のフレームの推定された平均ピッチ周期で割り、次いで次の整数に切り上げることによって、伸張の反復回数が推定される。この実施形態では、次いで現在のフレームは、伸張の推定された反復回数と等しいいくつかのテンプレートに分割され、各テンプレートは、推定された平均ピッチ周期に等しいサイズを有する。これらのテンプレートは、次いで現在のフレームを通じて等間隔で配置される。その結果テンプレートは、テンプレート長、テンプレート数、およびフレーム長に応じて重なっていてもよい。
【００９３】
関連の実施形態では、伸張操作において歪みを確実に最低限に抑えるために、各テンプレート内のエネルギーは、各テンプレートが局所の信号ピークを１つだけ含むように、テンプレートが確実にフレーム内に配置されるようにすることによって、最低限に抑えられる。特に、任意の特定のテンプレート内の任意の局所の信号ピークがテンプレートのいずれかの縁からテンプレートの長さの約１／３または１／２程度となるように、テンプレートは、フレーム内にほぼ均一に配置される。フレーム内でのテンプレートのこうした配置は、各テンプレートが確実に局所の信号ピークを１つだけ含むようにする。その結果、各テンプレートによって含まれる信号のエネルギーは最低限に抑えられ、それによって伸張された信号内の歪みが低減された伸張が可能となる。
【００９４】
（３．２．２  無声セグメントの伸張）
無声セグメント、すなわち沈黙、雑音、他の非周期的音声などの伸張は、かなり異なるやり方で扱われる。特に、セグメントを延長するためにテンプレートに一致する１つまたは複数のセグメントの反復が使用される有声セグメントの伸張のプロセスとは異なり、本明細書では、周期の導入を回避することが重要である。その理由は、人間の聞き手は、こうしたセグメント内に人工的に導入された周期を容易に識別することができるからであり、こうした周期は、復元された伸張済みの信号内に信号の歪みとして現れる。したがって、テンプレートに一致するセグメントを追加するより、現在のセグメントは、所望の長さの異なる信号セグメントを生成し、現在のセグメントと似たパワースペクトルを有することによって変更される。次いでこの生成された信号は、元のセグメントと生成されたセグメントとの間の遷移点を平滑化する窓関数を使用して、現在のフレームの中央に挿入される。さらに、関連の実施形態では、生成されたセグメントのエネルギーは、復元された信号内の任意の顕著な歪みをさらに低減させる目的で、約３０％程度の所定のパーセントだけさらに低減される。
【００９５】
さらに別の関連の実施形態では、単一の合成セグメントを使用して無声フレームを伸張する代わりに、複数の合成セグメントが生成され、元の無声フレーム内の様々な点に挿入されて所望のフレーム全長が達成される。この実施形態は、より小さいＦＦＴを使用してより小さいセグメントを計算することができ、したがって必要な計算のオーバーヘッドを低減することができるという利点も提供する。この実施形態は、単一のより長い合成信号セグメントを使用することと比較して、知覚的に優れた伸張されたフレームを生成することがわかることに留意されたい。この実施形態では、フレームの様々なセグメントが等しく伸張または圧縮される。例えば、検査済みの実施形態では、ＦＦＴのサイズは、例えば１２８個のサンプルなど、事前に定義された長さに設定される。
【００９６】
次いで所望の最終サイズを取得するのに必要な重複するセグメントの数が計算される。この計算はフレームの先端または終端を変更することは望ましくないという事実を考慮に入れるべきであることに留意されたい。これは、最初および最後のセグメントを変更せず、次いで隣接する（、場合により合成された）セグメントを混入出し（、つまり重複／加算）することによって達成することができる。したがって、フレームの最初および最後の半分のセグメントは、計算すべき合成セグメントの数を計算する際にフレーム長から差し引かれる。したがって、等しいサイズの合成セグメントの数ｎ（、およびしたがって現在のフレーム内の元のセグメントの数）は、次のように式２で容易に計算される。
【００９７】
【数２】
2005084692.tif 000004
【００９８】
次いでｎ個の計算された合成セグメントは、フレームのｎ個の各セグメントの中心にセグメントを挿入することによってフレームにわたって均等に配分される。
【００９９】
いずれの場合も、合成信号セグメントは、現在のフレームと似たパワースペクトルを有するように作成される。これは、単一のセグメントが挿入されるか複数のセグメントが挿入されるかに応じて、現在のフレームのすべてまたは一部のフーリエ変換を計算し、その位相のランダムな回転をＦＦＴ係数に導入し、次いで単にセグメントごとに逆ＦＦＴを計算することによって達成することができる。これは、同様のスペクトルを含む単一のセグメントは生成するが、元のセグメントとの相関はない。さらに、ＦＦＴを計算する前に信号をゼロ詰めすることにより、より長い信号を取得することができる。  
【０１００】
上記で提供した例は、時間音声スケールの範囲を合成セグメントの作成を参照して説明した特定の実施形態に限定するものではないことに留意されたい。実際に、元の信号に似た、相関のないスペクトルを有する信号を生成する従来の技術が多く存在することを、当分野の技術者であれば理解されたい。例えばランダムな信号のＬＰＣフィルタリング、および他の従来の技術を含むこうした任意の技術も、こうした合成信号セグメントの作成に使用することができる。
【０１０１】
上述したように、現在のフレームは、次いで２つまたは複数のセクションに分割され、次いで合成セグメントが窓掛けおよび重複によりフレームの分割された部分に挿入されて、合成セグメントと元のフレームとの間の遷移が平滑化される。上記の実施形態のいずれでも、セグメントまたはフレームの先端または終端は、まったく変更されないままであることに留意されたい。その結果、このプロセスは、そうでなければ一致しないフレームまたはセグメントの境界から生じ得る歪みの生成を回避する。
【０１０２】
さらに、有声セグメントに使用される窓掛けとは異なり、使用される好ましい重複平滑化窓（ｏｖｅｒｌａｐｐｉｎｇ  ｓｍｏｏｔｈｉｎｇ  ｗｉｎｄｏｗ）は、ここでは異なる。例えば、有声セグメントの伸張に使用する信号の重複部分は相関があるが、無声の場合の信号の重複部分は、理論上相関はない。したがってより良い結果、すなわち歪みの低減は、エネルギーを一定に保ち、２乗され、加算されると合計で１になる、すなわち（ｗａ［ｎ］）２＋（ｗｂ［ｎ］）２＝１となる従来のサイン窓などを使用することによって、境界点で達成される。こうした窓は、当分野の技術者にはよく知られている。このプロセスは一般に、図４のステップ４００から４８０で表される。
【０１０３】
特に、図４に示すように、現在の信号フレームから合成信号セグメントを作成する一実施形態は、４００で、入力オーディオ信号から次の現在のフレームｘ［ｎ］を取得することによって開始する。次に、一実施形態では、結果として得られた合成セグメントが所望のフレーム長を達成するのに十分な長さのものとなるように、４１０で現在のフレームまたはセグメントｘ［ｎ］がゼロ詰めされる。特に、この実施形態での４１０のゼロ詰めの量は、単にｘ［ｎ］を、現在のフレームまたはセグメント長と、所望のフレームまたはセグメント長との間のサンプル内の差に等しいいくつかのゼロで埋めることによって決定される。
【０１０４】
次に、ｘ［ｎ］が与えられた場合、４１０でゼロ詰めしているかいないかにかかわらず、４２０でＦＦＴが計算される。このＦＦＴの位相は、次いで４３０で無作為化される。次に４４０で、無作為化された位相を有するこのＦＦＴから逆ＦＦＴ  ｙ［ｎ］が計算される。ステップ４２０から４４０のこのプロセスの結果、類似のスペクトルを有し、しかし元のセグメントｘ［ｎ］との相関はない合成フレームまたはセグメントｙ［ｎ］となる。次いで（ゼロ詰めされていない）元のフレームまたはセグメントｘ［ｎ］は２つの部分に分けられ、ｙ［ｎ］は、例えば従来のサイン窓など、上記の従来の重複／加算プロセス４５０を使用してこれら２つの部分の間に挿入され、シームレスに追加されて伸張されたフレームが作成される。
【０１０５】
次いで伸張されたフレームは、必要に応じて再生または使用することができるように、４６０で、伸張されたフレーム４７０のバッファに出力される。さらに、４８０で、処理すべきフレームがさらにあるかどうかに関する決定もこの時点で行われる。４８０で、処理すべきフレームがそれ以上ない場合、プロセスは終了する。しかし、４８０で、処理すべきフレームがさらにある場合、４００で次の現在のフレームが取り出され、上記のステップ４１０から４８０までを繰り返す。
【０１０６】
複数の合成セグメントを使用してフレームを伸張する上述した実施形態では、合成セグメントは、すべて等しい長さで、均等に配分されていた。しかし、関連の実施形態では、単に均等な配分を使用する代わりに、より低いエネルギーを呈するフレームの部分が、より高いエネルギーを有するフレームの部分より多く伸張される。この実施形態は、歪みをさらに低減するよう働く。しかし、この実施形態でさえ、前の実施形態より優れているが、望まれている以上の信号を変更し、したがって聞き手によって知覚し得る可聴の差がもたらされる可能性がある。
【０１０７】
したがって、さらに別の関連の実施形態では、元の内容から変更されたデータ量が低減される。その結果、生成された部分的に合成の信号フレームまたはセグメントは、人間の聞き手にとっては元の信号に知覚的により似ている。特に、この実施形態では、単にいくつかの合成セグメントを作成する代わりに、伸張されたセグメントまたはフレーム内の知覚し得る歪みを最低限に抑えながら、できるだけ多くの元の信号を保持する方法で合成セグメントおよびコピーされた元のセグメントの混合が使用される。
【０１０８】
例えば、別の実施形態では、図５に示すように、現在のフレームｘ［ｎ］を直接扱う代わりに、図４を参照して説明したプロセスが変更されて、顕著な歪みをもたらし得る過渡事象の潜在的な伸張を回避するために、より小さいＦＦＴを、より局所化されたスペクトル情報とともに生成する。特に、この実施形態では、現在の信号フレームから合成信号セグメントを作成することは、この場合もまた、５００で、入力オーディオ信号から次の現在のフレームｘ［ｎ］を取得することによって開始する。しかし、単一の合成セグメントを作成する代わりに、いくつかのより小さい合成セグメントが作成され、上記の重複／加算プロセスを介して挿入される。具体的には、直前のフレームと、生成される部分的に合成されたフレームとの間のより円滑な遷移を確実にするために、このプロセスは、まず現在のフレームｘ［ｎ］を窓掛けして、５０５で元のデータを部分的に合成されたフレームｙ［ｎ］になるものの先頭に混合することによって開始する。この窓掛けおよび混合を達成するための１つの方法を式３で示している。
【０１０９】
【数３】
2005084692.tif 000005
【０１１０】
式中、Ｍは所望のセグメントサイズ、Ｎは現在のセグメントサイズ、ＦＦＴサイズは２Ｋ、およびｗ［ｎ］は使用された混合窓（ｂｌｅｎｄｉｎｇ  ｗｉｎｄｏｗ）である。また、式３の最初の部分は単に、（例えば式７などで）将来使用するためにｙ［ｎ］を初期設定していることに留意されたい。
【０１１１】
次に５１０で、各長さが２Ｋサンプルの重複するセグメントの総数Ｔが計算される。この長さは、最初と最後のセグメントの半分を数えない、所望の最終のセグメントサイズを取得するために必要である。一般に、この計算５１０は、式４で示すように達成される。
【０１１２】
【数４】
2005084692.tif 000006
【０１１３】
次に５１５で、重複するセグメントカウンタｉがゼロに初期設定される。次いで元のデータ、すなわちｘ［ｎ］内の開始点ｓ、および点ｓで開始するｘ［ｎ］の対応するサブセグメントｚ［ｎ］が式５Ａおよび５Ｂで示すように計算される。
【０１１４】
【数５】
2005084692.tif 000007
【０１１５】
次に５２５で、ｚ［ｎ］に平滑化窓ｖ［ｎ］を掛け、平滑化されたサブセグメントのＦＦＴが式６で示すように計算される。
【０１１６】
【数６】
2005084692.tif 000008
【０１１７】
この時点で、結果として得られたＦＦＴ  Ｚ［ｗ］の位相が次いで５３０で無作為化され、（例えばサイン窓の場合２となる）平滑化窓ゲインを補償するためにスケール変更され、５３５でＺ［ｗ］から逆ＦＦＴ、ｕ［ｎ］が計算されて、同様のスペクトルを有し、しかし元のセグメントｚ［ｎ］との相関はない合成サブセグメントが作成される。新しく合成された信号のサブセグメントｕ［ｎ］は、次いで元の信号の位置ｓに挿入され、５４０で、例えば従来のサインウィンドウなど上記の従来の重複／加算プロセスを使用してシームレスに追加されて部分的に伸張されたフレームが作成される。これを式７で示す。
【０１１８】
【数７】
2005084692.tif 000009
【０１１９】
この時点で、５４５で重複セグメントカウンタｉが増分され、所望の最終のセグメントサイズを取得するために重複セグメントの総数Ｔが挿入されたかどうかに関する決定が５５０で行われる。５５０でさらに重複セグメントを計算する必要がある場合、すべての重複セグメントが計算され、ｘ［ｎ］に挿入されて部分的に合成された伸張セグメントｙ［ｎ］が作成されるまで、上記のステップ５２０から５５０までが繰り返される。最後に、すべての重複セグメントが計算され、挿入されてｙ［ｎ］が作成されると、ｙ［ｎ］と次のフレームとの間のより円滑な遷移を確実にするために、５５５でフレームｙ［ｎ］の終端にｘ［ｎ］からの元のデータとともに部分的に合成されたフレームｙ［ｎ］を窓掛けすることによってプロセスが終了する。この窓掛けおよび混合を達成する１つの方法を式８で示している。
【０１２０】
【数８】
2005084692.tif 000010
【０１２１】
上記の実施形態は、元の信号フレームまたはセグメントに挿入し、窓掛けするためにサブセグメントを計算する。しかし、計算されたサブセグメントは、元の信号フレーム内の内容または特定のサンプルに関する問題なく元の信号フレームにわたって均等に配分される。したがって、関連の実施形態では、図６に示すように、図５を参照して上述したプロセスは、まず、単に元のセグメント全体にわたって均等に伸張する代わりに、伸張すべきフレームまたはセグメント内の特定の点を選択することによってさらに向上される。さらに、この実施形態は、計算されたＦＦＴの位相の無作為化がサブセグメントごとに適切かどうか、または各サブセグメントは、元の信号セグメントまたはフレームを伸張するために、重複／加算操作で未変更で使用できるかどうかに関する決定も行う。
【０１２２】
したがって、図６に示した実施形態では、プロセスは、この場合も、６００で入力オーディオ信号から次の現在のフレームｘ［ｎ］を取得することによって開始する。しかし、上記の実施形態とは異なり、その現在のフレームは、次いで６０５で、現在のフレームを伸張するための最適なＴ開始点ｓ［１：Ｔ］を選択するために分析される。最適なＴ開始点の選択は、図７を参照してセクション３．２．３で詳しく説明することに留意されたい。フレームを伸張すべきこうした点が与えられると、図６のプロセスは、図５を参照して上述したプロセスと同じように進むが、さらにいくつかの違いがあり、それについて以下で強調して説明する。
【０１２３】
特に、６０５での開始点ｓ［１：Ｔ］の選択後、直前のフレームと作成される部分的に合成されたフレームとの間のより円滑な遷移を確実にするために、このプロセスもまた、まず現在のフレームｘ［ｎ］を窓掛けし混合して、６１０で元のデータを部分的に合成されたフレームｙ［ｎ］になるものの先頭に混合することによって開始する。この窓掛けおよび混合を達成するための１つの方法を、上記の式３で示している。次に６１５で、各長さが２Ｋサンプルの重複するセグメントの総数Ｔが計算される。この長さは、最初と最後のセグメントの半分を数えない、所望の最終のセグメントサイズを取得するために必要である。一般に、この計算６１５は、上記の式４で示すように達成される。
【０１２４】
次に６２０で、重複セグメントカウンタｉがゼロに初期設定される。次いで、事前に選択された開始点ｓ［ｉ］が与えられると、式９で示すように、現在の開始点に対応するサブセグメントｚ［ｎ］が現在の信号フレームｘ［ｎ］から取り出される。
【０１２５】
【数９】
2005084692.tif 000011
【０１２６】
次いで６３０で、現在のサブセグメントが合成されるかどうかに関する決定が行われる。言い換えれば、６３０で、現在のサブセグメントのＦＦＴは上記のようにその位相を無作為化すべきかどうかに関する決定が行われる。この決定６３０は、図７を参照してセクション３．２．３でさらに詳しく説明するように、現在のおよび隣接するセグメントの開始点に応じて行われる。より正確には、現在のフレームｓ［ｉ］の開始点と直前のフレームｓ［ｉ−１］の開始点との間の距離がＫである場合、ｓ［ｉ＋１］を無作為化することは不要である。というのは、新しいフレームおよび古いフレームが、元のフレームおよび伸張されたフレーム内に同じ間隔を有しているからであり、したがってこの信号は保存することができる。さらに、最後の未変更のフレームがｊであり、ｓ［ｉ］−ｓ［ｊ］＞２Ｋの場合は、信号の反復がないため、ｓ［ｉ］で開始するフレームを無作為化する必要はない。（例えばＫは一実施形態で使用したが、）２Ｋより小さい閾値を使用することもできる。６３０で、位相を無作為化することが決定された場合、６３５で、現在のサブセグメントｚ［ｎ］に平滑化窓ｖ［ｎ］を掛け、平滑化されたサブセグメントのＦＦＴが上記の式６で示すように計算される。
【０１２７】
この時点で、上記と同様に、結果として得られるＦＦＴ  Ｚ［ｗ］の位相が次いで６４０で無作為化され、６４５でＺ［ｗ］から逆ＦＦＴ  ｕ［ｎ］が計算されて、同様のスペクトルを有し、しかし元のセグメントｚ［ｎ］との相関はない合成サブセグメントが作成される。新しく合成された信号サブセグメントｕ［ｎ］は、次いで元の信号の位置ｓに挿入され、６５０で、例えば、従来のサイン窓など上記の従来の重複／加算プロセスを使用してシームレスに追加されて部分的に伸張されたフレームが作成される。これを上記の式７で示している。
【０１２８】
あるいは、６３０で、上述したように、現在のサブセグメントのＦＦＴがその位相を無作為化しないことが決定されると、上述したように、６５０で上記の従来の重複／加算プロセスを使用して、元の信号の位置ｓに挿入するための変更無しに、ｚ［ｎ］は単にｚ［ｎ］として渡される。さらに、特定のセグメントが変更されていない場合、ステップ６５０で異なる混合窓が適している場合があることに留意されたい。特に、現在のサブセグメントも直前のサブセグメントも変更されていない場合、（例えばサイン窓の代わりにハミング窓などの）異なる混合窓が使用される。この場合、実際に信号の未変更のサブセグメントが相関関係にあるからである。したがって使用する窓は、上述した（ｗａ［ｎ］）２＋（ｗｂ［ｎ］）２＝１の代わりにｗａ［ｎ］＋ｗｂ［ｎ］＝１となるようなものにするべきである。窓のこの選択は、信号のエネルギーを保持するものである。
【０１２９】
さらに、未変更のサブセグメントの元の信号との混合は、信号をそれ自体と混合するのと同じであることに留意されたい。したがって、結果として得られるサブセグメントは、元のセグメントの対応する部分と同一である。したがって一実施形態では、未変更のセグメントの場合、混合操作を実行するのではなく、単に対応するセグメントが元の信号からコピーされる。
【０１３０】
この時点で、図５を参照して説明した例と同様に、６６０で重複セグメントカウンタｉが増分され、所望の最終のセグメントサイズを取得するために重複セグメントの総数Ｔが挿入されたかどうかに関する決定が６６５で行われる。６６５でさらに重複セグメントを計算する必要がある場合、すべての重複セグメントが計算され、ｘ［ｎ］に挿入されて部分的に合成された伸張されたセグメントｙ［ｎ］が作成されるまで、上記のステップ６２５から６５０までが繰り返される。最後に、すべての重複セグメントが計算され、挿入されてｙ［ｎ］が作成されると、ｙ［ｎ］と次のフレームとの間のより円滑な遷移を確実にするために、６７０でフレームｙ［ｎ］の終端にｘ［ｎ］からの元のデータとともに部分的に合成されたフレームｙ［ｎ］を窓掛けすることによってプロセスが終了する。この窓掛けおよび混合を達成する１つの方法を、上記の式８で示している。
【０１３１】
（３．２．３  伸張するセグメントの選択）
上述した様々なセグメントタイプおよび伸張方法が与えられた場合、現在のフレーム内のどの点がそのフレームを伸張するための最適な点であるかという問題が依然として存在する。例えば、信号の２０ｍｓセグメントなど比較的短いフレーム内でさえ、１つまたは複数の遷移点、または２、３ミリ秒の沈黙すら存在することが多い。こうした場合、フレームを伸張すべき特定の点を選択することが有利である。したがって一実施形態では、セグメントの（低いほど良い）エネルギーと、その一致を含むセグメントについて見つけられた（高いほど良い）正規化相関関数との組合せに基づいて伸張すべき場所の決定が行われる伸張「品質」手法が使用される。
【０１３２】
例えば、一般的な場合、２０ｍｓフレームは、それぞれ５ｍｓの４つのサブフレームまたはセグメントに分割される、あるいは、ほぼ推定されたピッチ周期を有する潜在的に重複するセグメントに分割される。特定のサブフレームの計算されたエネルギーが十分低い場合、遷移は、そのセグメント内に存在すると考えられる。次いでエネルギーの最も低いサブフレームが伸張に選択される。しかし、エネルギーが十分には低くない場合、遷移がフレーム内に存在する見込みはなく、各サブフレームの一致の正規化自己相関を使用して伸張すべき最適な一致が選択される。
【０１３３】
例えば、伸張するセグメントを選択するための一実施形態を図７に示している。一般に、元の信号のより多くを保持するために、（ＦＦＴ／２である）Ｋサンプル離れたできるだけ多くの開始点を有することが最適である。この所見が与えられた場合、図７は、開始点を決定する手順の好ましい一例を示している。第１のステップは、ＦＦＴ／２サンプル離れた点で初期開始点を選択することである。次いで新しい点が必要なだけ既存の点の間に１つずつ挿入される。新しい点は、エネルギーが最も低いセグメントに挿入される。さらに、一実施形態では、異なる長さのセグメントを考慮するために、各セグメントの平均エネルギーが重み付けされてより長いセグメントの分割を支持する。一実施形態では、セグメントは、セグメントサイズの平方根で重み付けされる。しかし、従来の任意の重み付けを使用することができる。最後の配分で、多くの点が依然としてＦＦＴ／２離れる。これらのセグメントは、（エネルギーの高いセグメントの可能性が高く、）変更する必要はない。
【０１３４】
特に、図７に示すように、現在の信号フレームを伸張するのに最適な点を選択する際に、プロセスは、（Ｔ＝（Ｍ／Ｋ）−１で）所望のフレームサイズＭの内部セグメントの総数Ｔを決定し、（Ｐ＝（Ｍ／Ｋ）−１で）元のフレームサイズＮの内部セグメントの総数Ｐを決定することによって開始する。このとき、点カウンタＰｔは、７２０でＰ＋１に設定される。次に、式１０で示すように、７３０で各サブセグメントの平均エネルギーＥ（ｉ）が計算される。
【０１３５】
【数１０】
2005084692.tif 000012
【０１３６】
次に、一実施形態では、次いで７４０で、各サブセグメント長に比例して各サブセグメントの平均エネルギーＥ（ｉ）が重み付けされる。上述したように、検査済み実施形態では、セグメントは、式１１で示すように、７４０で、セグメントサイズの平方根で重み付けされている。
【０１３７】
【数１１】
2005084692.tif 000013
【０１３８】
しかし、上述したように、任意の従来の重み付け方法を使用してエネルギー値に重み付けすることができる。
【０１３９】
７４０で重み付けすると、平均エネルギー値Ｅ（ｉ）が検査されて、７５０で最も低いエネルギー値を有するセグメントｓ［ｊ］が選択される。上述したように、エネルギーが最も低いこれらのセグメントは、次いで２つに分割され、現在のフレームを伸張するための新しい開始点ｓ［Ｐｔ］が式１２で示すように分割点に配置される。
【０１４０】
【数１２】
2005084692.tif 000014
【０１４１】
一実施形態では、ｓ［ｉ］は、次いで７７０で、表記を簡単にするために、エネルギー値でソートされる。例えば、ｓ［１：４］＝｛６４，１２８，１９２，２５６）の４つの現在点があり、新しい点がｓ［３］とｓ［４］との間の２２４に導入されると仮定すると、新しい点はｓ［５］となることになる。したがって、この場合の順序は、ｓ［１：５］＝｛６４，１２８，１９２，２５６，２２４｝となる。ソートｓ［：］は、ｓ［１：５］＝｛６４，１２８，１９２，２２４，２５６）となるように、点の正しい順序を復元する。
【０１４２】
最後に、７８０で、伸張に最適なＴ個の最適点が選択されているかどうかに関する決定が行われる。選択されていない場合、伸張に最適なＴ個の最適点が選択されるまで上記のステップ７２０から７８０までが繰り返される。
【０１４３】
３．３  混合セグメントの伸張
上述したように、混合セグメントは、周期的成分および非周期的成分の組合せを表す。したがって、有声セグメントまたは無声セグメントを伸張する方法はいずれも、個別には混合セグメントを伸張するのに適していない。例えば、有声セグメントを処理する方法の使用は、顕著な歪みを無声のスペクトルの部分に導入する。同様に、無声セグメントを処理する方法の使用は、セグメントの任意の有声部分の周期を破壊する。したがって、一実施形態では、両方の方法が使用される。具体的に、信号は、有声方法および無声方法を使用して現在の混合セグメントから生成される。次いでこれらの信号は結合されて、有声信号および無声信号を含む合成信号が生成される。
【０１４４】
さらに、関連の実施形態では、ここで生成された有声信号および無声信号は、正規化相互相関ピークの値に応じて重み付けされる。例えば、上述したように、正規相互相関ピークの値は、セグメントがより周期的になるにつれて、すなわちセグメント内により多くの発話音声が存在すると大きくなる。したがって、正規化相互相関ピークの値がより高い場合に有声信号により重みをかけることは、若干の周期性、およびしたがって伸張されたセグメントの無声部分内の潜在的に知覚し得る一部の歪みを犠牲にして、伸張されたセグメント内の発話音声の知覚品質を向上させる。逆に、正規化相互相関ピーク値が低下するにつれて、セグメント内の周期性が少なくなる。したがって、無声信号により重みがかけられ、それによってセグメントの任意の有声部分の周期性の低減、および潜在的に了解度を低減させる犠牲を払って、セグメントの無声部分の知覚品質が向上する。
【０１４５】
例えば、検査済みの実施形態では、０．４５から０．９５の正規化相互相関ピークにそれぞれ対応する０から１への線形の重み付けは、上記の有声セグメント方法を使用して所望の長さの信号を生成することによって合成信号の有声成分を作成するために使用された。同様に、０．４５から０．９５の正規化相互相関ピークにそれぞれ対応する１から０への線形の重み付けは、上記の無声セグメント方法を使用して同じ所望の長さの信号を生成することによって合成信号の無声成分を作成するために使用された。これら２つの重み付けされた信号成分は、次いで単に追加されて合成信号が生成される。しかし、上記の線形の重み付けを使用する必要はなく、重み付けは、所望の線形または非線形の重み付けでよいことを当分野の技術者は理解されたい。さらに、上記で識別された有声セグメントおよび無声セグメントの閾値は、検査済みの実施形態で使用されたものであり、説明の目的で提供されているにすぎない。本明細書に記載された方法に従って、有声、無声、および混合セグメントを識別するために他の閾値を使用することができることは明らかである。
【０１４６】
（３．４  セグメントを圧縮するための階層的手法）
十分に選択の自由がある応用分野では、任意の所与のフレーム内で実際に圧縮するセグメントを選択することも重要な決定である。というのは、このことは一般に、人間の聞き手の復元された信号の知覚品質に影響を与えるからである。例えば、所与の信号のすべてのセグメントを均等に圧縮する代わりに、階層型または層状の手法を使用して圧縮することによって、一般により良い結果が達成される。特に、上述したように、各セグメントのタイプは、圧縮がフレームに適用されるときまでにすでにわかっている。この情報が与えられると、まず、特定のセグメントタイプを優先的な階層的順序で圧縮することによって任意の所与のフレーム内において所望の圧縮が達成される。
【０１４７】
特に、有声セグメントまたは沈黙セグメント（、すなわちエネルギーが比較的低い非周期的信号を含むセグメント）を表すフレームまたはセグメントが最初に圧縮される。次に、無声セグメントが圧縮される。最後に、混合セグメント、または過渡事象を含むセグメントが圧縮される。この優先順序の理由は、有声または沈黙セグメントの圧縮は、顕著な歪みの生成無しに達成するのが様々なセグメントタイプのうち最も簡単だからである。無声セグメントの圧縮は、顕著な歪み無しに圧縮するのが次に簡単なタイプである。最後に、混合セグメントおよび過渡事象を含むセグメントが最後に圧縮されるが、こうしたセグメントは、顕著な歪み無しに圧縮するのが最も難しいからである。
【０１４８】
したがって、信号のすべてのセグメントを均等に圧縮する代わりに、特定のフレームを選択的に圧縮することによって、一般により良い結果が達成される。例えば、無声セグメントまたは過渡事象の圧縮を回避しながら、発話音声、沈黙、または単純な雑音を表すフレームを圧縮することは、知覚し得る歪みが低減された復元信号を生成する。有声セグメントまたは沈黙セグメントを圧縮することによって十分な圧縮が達成できない場合、非遷移無声セグメントが上記のように圧縮される。最後に、有声セグメントまたは非遷移無声セグメントの圧縮によって十分な圧縮を達成できない場合、遷移を含むセグメント、すなわち混合セグメントが圧縮される。圧縮のためのこの階層型の手法は、復元された信号内の知覚し得る歪みを限定するよう働く。
【０１４９】
さらに、オフラインの応用分野、または十分な非再生フレームが使用可能な場合、必要に応じて、もたらされる信号のゆがみ（ｄｉｓｔｏｒｔｉｏｎ）または歪みが最も少ないセグメントのみを圧縮することによって、所望の圧縮を、完全に使用可能な信号の１つまたは複数のフレームにわたって配分することができる。例えば、こうした圧縮を達成する１つの特定の方法は、異なるフレームタイプのそれぞれに任意の所望の圧縮率を前もって割り当てておくことによるものである。例えば、圧縮率５Ｘを沈黙フレームに割り当て、２Ｘを有声フレームに、１．５Ｘを無声フレームに、（非圧縮である）１Ｘを混合または遷移セグメントに割り当てることができる。明らかに、この例の圧縮率は、説明のためのものにすぎず、所望の任意の圧縮率を様々なフレームタイプに割り当てることができる。
【０１５０】
一般に、圧縮する特定のセグメントが選択または識別されると、セグメントの圧縮は、セグメントの伸張に関して上述したものと同じようなやり方で扱われる。例えば、有声セグメントを圧縮するとき、セグメント内からテンプレートが選択され、一致の検索が行われる。一致が識別されると、セグメントが窓掛けされ、重複され、追加され、したがって、テンプレートと一致の間の信号が切り取られる。その結果、セグメントは短縮または圧縮される。一方、無声セグメントを圧縮するとき、セグメントまたはフレームの一部を削除するために、無作為のまたは所定のシフトが定数平方和窓などの窓関数とともに使用されてセグメントが所望の量に圧縮される。最後に、混合セグメントは、伸張または混合セグメントを参照して上述したのと同じような有声方法および無声方法の重み付けされた組合せを使用して圧縮される。
【０１５１】
自動可変伸張および圧縮オーディオ信号フレームを提供する時間音声スケーラの上記の説明を、例示および説明の目的で提示してきた。これは網羅的なもの、または開示した正確な形式に本発明を限定するものではない。上記の教示に照らして、多くの変更および変形が考えられる。さらに、上記の代替実施形態のいずれかまたはすべては、所望の任意の組合せで使用して、本明細書に記載した時間音声スケーラの複合の実施形態をさらに形成することができる。本発明の範囲は、この詳細な説明ではなく、本明細書に添付した特許請求の範囲によって限定されるものとする。
【図面の簡単な説明】
【０１５２】
【図１】オーディオ信号のセグメントを伸張、圧縮するシステムの例を構成する汎用コンピューティング装置を示すシステム図である。
【図２】オーディオ信号のセグメントを伸張、圧縮する模範的なプログラムモジュールを示す模範的なアーキテクチャ図である。
【図３】オーディオ信号の有声セグメントを伸張する模範的なシステムフロー図である。
【図４】オーディオ信号の無声セグメントを伸張する模範的なシステムフロー図である。
【図５】オーディオ信号の無声セグメントを伸張する代替実施形態の模範的なシステムフロー図である。
【図６】オーディオ信号の無声セグメントを伸張する代替実施形態の模範的なシステムフロー図である。
【図７】オーディオ信号の伸張から生じる可聴変更を最低限に抑えるためにセグメントの原点を選択するための模範的なシステムフロー図である。
【符号の説明】
【０１５３】
２００  信号入力モジュール
２０５  フレーム抽出モジュール
２１０  ピッチ推定モジュール
２１５  セグメントタイプ検出モジュール
２２０  有声セグメント伸張モジュール２２５  無声セグメント伸張モジュール
２３０  混合セグメント伸張モジュール
２３５  重み付けモジュール
２４０  セグメント圧縮モジュール
２４５  伸張された／圧縮されたフレーム
２５０  フレームバッファ
２６０  差を次のフレームに追加する
２７０  信号出力モジュール
【図１】
2005084692.tif 000015
【図２】
2005084692.tif 000016
【図３】
2005084692.tif 000017
【図４】
2005084692.tif 000018
【図５】
2005084692.tif 000019
【図６】
2005084692.tif 000020
【図７】
2005084692.tif 000021