(57)【要約】【課題】本発明は、内蔵又は標準ＦＥＣ処理を持たないスピーチコーダにおいてパケットロス又はフレーム消去の隠蔽（ＦＥＣ）を実行する方法及び装置に関する。【解決手段】復号器を備えた受信器が、符号器によって送信された、圧縮されたスピーチ情報の符号化されたフレームを受信する。受信器の遺失フレーム検出器が、符号化されたフレームが、送信中に失われた又は破損されたかどうか又は消去されたかどうかを判断する。符号化されたフレームが消去されていなければ、符号化されたフレームは復号器によって復号され、一時メモリが復号器の出力によって更新される。所定の遅延期間が追加された後、音声フレームが出力される。遺失フレーム検出器が、符号化されたフレームが消去されたと判断した場合、ＦＥＣモジュールが、信号にフレーム隠蔽処理を施す。ＦＥＣ処理は、消去されたフレームに対して、自然に聞こえる合成スピーチを生成する。【選択図】図２
2014206761.tif 000002
【特許請求の範囲】
【請求項１】
ＦＥＣ能力を持たないスピーチコーダにおいてフレーム消去の隠蔽（ＦＥＣ）を実行する方法であって、
符号器から送信された圧縮スピーチ情報の符号化されたフレームを受信するステップと、
符号化されたフレームが、送信の際に、消去され、失われ又は破損したかを判断するステップと、
前記判断ステップにおいて、符号化されたフレームが消去されていないと判断された場合、受信した符号化されたフレームを復号し、復号されたフレームにするステップと、
前記判断ステップにおいて、符号化されたフレームが消去されたと判断された場合、以前に復号したフレームのデータを使い、消去されたフレームに対して合成フレームを生成するステップと、
復号されたフレーム及び合成フレームのデータによって、第一のメモリを更新するステップと、
前記復号されたフレーム及び合成フレームを音声信号として出力するステップと、
を含むことを特徴とするＦＥＣ実行方法。
【請求項２】
請求項１に記載の方法であって更に、
遅延メモリを使い、前記音声信号の出力を所定時間遅延させるステップ、を含むことを特徴とする方法。
【請求項３】
請求項１に記載の方法であって、一つ又はそれ以上の消去されたフレーム列中の第一の消去されたフレームにおける前記生成ステップが、
消去されたフレームのピッチ周期を推定するステップと、
前記第一メモリから、一つ又はそれ以上の最新ピッチ周期を、第二のメモリに複写するステップと、
前記第一メモリから、最新ピッチ周期の一部を、第三のメモリに複写するステップと、
前記第三メモリと、前記第二メモリに記憶されたピッチ周期の一部とをオーバーラップ加算するステップと、
前記ピッチ周期のオーバーラップ加算された部分を、前記第二メモリの前記最新部分に記憶するステップと、
前記更新のステップにおいて前記第一メモリを更新するため、また前記出力のステップで出力するために、前記第二メモリに記憶された一つ又はそれ以上の最新ピッチ周期に基づき合成フレームを生成するステップと、
前記生成ステップに使われた前記第二メモリの最終位置をオフセットポインタに記憶するステップと、
を含むことを特徴とする方法。
【請求項４】
請求項３に記載の方法であって更に、前記遅延メモリを、前記オーバーラップ加算された部分によって更新するステップ、を含むことを特徴とする方法。
【請求項５】
請求項１に記載の方法であって更に、合成フレームが出力された後に、一つ又はそれ以上の後続の符号化されたフレームが消去されたかどうかを判断するステップ、を含むことを特徴とする方法。
【請求項６】
請求項５に記載の方法であって、一つ又はそれ以上の後続の符号化されたフレームが消去されていた場合に更に、
連続して消去されたフレームの数が、所定の長さを超えるかどうかを判断するステップと、
前記判断ステップにおいて、連続した消去されたフレームの数が所定の長さを超えないと判断された時に、合成フレームを生成するために使われるピッチ周期の数を変更するステップと、
前記判断ステップにおいて、連続した消去されたフレームの数が所定の長さを超えると判断された時に、現在のピッチ周期の数で、合成フレームの生成を続けるステップと、
を含むことを特徴とする方法。
【請求項７】
請求項６に記載の方法であって、連続した消去されたフレームの数が所定の長さを超えなかった場合、前記変更ステップが更に、
以前のフレームから、ピッチ周期の一部のための合成信号の生成を続け、その結果を第四のメモリに入れるステップと、
第二のメモリで使われるピッチ周期の数を増やすステップと、
前記第三メモリと、前記第二メモリに記憶されたピッチ周期の一部とをオーバーラップ加算し、その結果を前記第二メモリの前記最新部分に記憶するステップと、
オフセットポインタを、前記第二メモリの新しい部分を指すまでピッチ周期づつ移動させるステップと、
前記第二メモリから第五のメモリにデータを複写することにより、合成フレーム分のデータを生成するステップと、
前記生成ステップで使われた前記第二メモリの最終位置を、オフセットポインタに記憶するステップと、
前記第四メモリと、前記第五メモリ内のピッチ周期の一部とをオーバーラップ加算し、その結果を前記第五メモリに記憶するステップと、
消去されたフレームが所定の長さを超えているかどうかを判断するステップと、
前記判断ステップにおいて、消去されたフレームが所定の長さを超えると判断された時に、前記更新のステップにおいて前記第一メモリを更新するために使われ前記出力のステップにおいて出力するために使われる前記第五メモリを、消去の長さに基づき減衰するステップと、
を含むことを特徴とする方法。
【請求項８】
請求項６に記載の方法であって、連続した消去されたフレームの数が所定の長さを超える時に、前記続けるステップが更に、
前記第二メモリから第五のメモリにデータを複写することにより、合成フレーム分のデータを生成するステップと、
前記生成ステップで使われた前記第二メモリの最終位置をオフセットポインタに記憶するステップと、
消去されたフレームが所定の長さを超えるかどうかを判断するステップと、
前記判断ステップにおいて、消去されたフレームが所定の長さを超えると判断された時に、前記更新のステップにおいて前記第一メモリを更新するために使われ前記出力のステップにおいて出力するために使われる前記第五メモリを、消去の長さに基づき減衰するステップと、
を含むことを特徴とする方法。
【請求項９】
請求項５に記載の方法であって、前記後続の符号化されたフレームが消去されていない時に、更に、前記第一の消去されていない符号化されたフレームをＦＥＣ処理を使って処理するステップを含むことを特徴とする方法。
【請求項１０】
請求項９に記載の方法であって、前記処理のステップが更に、
前記第二メモリから第五のメモリにデータを複写することにより合成フレーム分のデータを生成するステップと、
前記消去されたフレームが所定の長さを超えるかどうかを判断するステップと、
前記判断ステップにおいて、消去されたフレームが所定の長さを超えると判断された時に、前記第五メモリを、消去の長さに基づき減衰するステップと、
前記第五メモリの一部と、第一の消去されていない復号されたフレームの開始部分とをオーバーラップ加算し、その結果を前記第五メモリに記憶するステップと、
復号されたフレームのオーバーラップ加算されていない部分を、前記更新のステップにおいて前記第一メモリを更新するために使われ、前記出力のステップにおいて出力するために使われる前記第五メモリに複写するステップと、
を含むことを特徴とする方法。
【請求項１１】
請求項１に記載の方法であって、前記合成フレームを生成するために使われる前記ピッチ周期の数が時間の関数として増やされることを特徴とする方法。
【請求項１２】
請求項１に記載の方法であって、前記生成ステップが符号器を使い、復号器の状態変数が前記合成フレームを探知することを特徴とする方法。
【請求項１３】
請求項１に記載の方法であって、高周波数入力信号に対しては、一つ又はそれ以上のピッチ周期が使われ前記合成フレームが生成されることを特徴とする方法。
【請求項１４】
請求項３に記載の方法であって、前記推定ステップが、復号器がピッチ推定値を保持しない場合、ピッチ周期の推定に自動相関を使い、復号器がピッチ推定値を保持する場合、前記復号器のピッチ推定値を使うことを特徴とする方法。
【請求項１５】
請求項１０に記載の方法であって、前記オーバーラップ加算の長さが、消去されたフレームの長さにしたがって増やされることを特徴とする方法。
【請求項１６】
請求項６に記載の方法であって、前記第一メモリが履歴バッファであり、前記第二メモリがピッチバッファであり、前記第三メモリが最終クオーターバッファであり、前記第四メモリが一時バッファであり、前記第五メモリが出力バッファであることを特徴とする方法。
【請求項１７】
ＦＥＣ能力を持たないスピーチコーダにおいてフレーム消去の隠蔽（ＦＥＣ）を実行する装置であって、
符号器から送信された圧縮スピーチ情報の符号化されたフレームを受信する遺失フレーム検出器であって、符号化されたフレームが、送信の際に、欠落し、失われ、又は破損したかを判断する遺失フレーム検出器と、
前記遺失フレーム検出器が、符号化されたフレームが消去されていないと判断した場合に、受信した符号化されたフレームを復号し復号されたフレームにする復号器と、
前記遺失フレーム検出器が、符号化されたフレームが消去されたと判断した場合に、以前に復号したフレームのデータを使い、消去されたフレームに対して合成フレームを生成するＦＥＣモジュールと、
復号されたフレーム及び合成フレームのデータによって更新される、第一のメモリと、
復号されたフレーム及び合成フレームを音声信号として出力する出力装置と、
を有することを特徴とするＦＥＣ実行装置。
【請求項１８】
請求項１７に記載の装置であって更に、遅延メモリを使い、前記音声信号の出力を所定時間遅延させる遅延モジュール、を備えることを特徴とする装置。
【請求項１９】
請求項１７に記載の装置であって、一つ又はそれ以上の消去されたフレーム列中の第一の消去されたフレームにおいて、ＦＥＣモジュールが、消去されたフレームのピッチ周期を推定し、一つ又はそれ以上の最新ピッチ周期を前記第一メモリから第二のメモリに複写し、最新ピッチ周期の一部を前記第一メモリから第三のメモリに複写し、前記第三メモリに記憶された前記ピッチ周期の一部と、前記第二メモリに記憶されたフレームの一部とをオーバーラップ加算し、前記ピッチ周期のオーバーラップ加算された部分を、前記第二メモリに記憶されたピッチ周期の前記最新部分に記憶し、前記第一メモリを更新し、また出力装置を使って出力するために、前記第二メモリに記憶された一つ又はそれ以上の最新ピッチ周期に基づき合成フレームを生成し、前記第二メモリで使われた最終位置をオフセットポインタとして記憶することを特徴とする装置。
【請求項２０】
請求項１９に記載の装置であって、前記ＦＥＣモジュールが、前記オーバーラップ加算された部分によって前記遅延メモリを更新することを特徴とする装置。
【請求項２１】
請求項１７に記載の装置であって、前記遺失フレーム検出器が、合成フレームが出力された後に、一つ又はそれ以上の後続の符号化されたフレームが消去されたかどうかを判断することを特徴とする装置。
【請求項２２】
請求項２１に記載の装置であって、前記遺失フレーム検出器が、一つ又はそれ以上の後続の符号化されたフレームが消去されていたと判断した場合に、前記ＦＥＣモジュールが、連続した消去されたフレームの数が、所定の長さを超えるかどうかを判断し、連続した消去されたフレームの数が所定の長さを超えないと判断された時に、合成フレームを生成するために使われるピッチ周期の数を変更し、連続した消去されたフレームの数が所定の長さを超えると判断された時に、現在のピッチの数で、合成フレームの生成を続けることを特徴とする装置。
【請求項２３】
請求項２２に記載の装置であって、前記ＦＥＣモジュールが、連続した消去されたフレームの数が所定の長さを超えないと判断した場合、前記ＦＥＣモジュールが、以前のフレームからの、ピッチ周期の一部のための合成信号の生成を続け、その結果を第四のメモリに入れ、第二メモリで使われるピッチ周期の数を増やし、前記第三メモリと前記第二メモリに記憶されたピッチ周期の一部とをオーバーラップ加算し、その結果を前記第二メモリの前記最新部分に記憶し、前記オフセットポインタを、前記第二メモリの新しい部分を指すまでピッチ周期づつ移動させ、前記第二メモリから第五のメモリにデータを複写することにより、合成フレーム分のデータを生成し、前記第二メモリで使われた最終位置を、オフセットポインタに記憶し、前記第四メモリと前記第五メモリ内のピッチ周期の一部とをオーバーラップ加算し、その結果を前記第五メモリに記憶し、欠落フレームが所定の長さを超えるかどうかを判断し、欠落フレームが所定の長さを超えると判断された時に、前記第一メモリを更新するために使われ、前記出力装置を使って出力するために使われる前記第五メモリを、消去の長さに基づき減衰することを特徴とする装置。
【請求項２４】
請求項２２に記載の装置であって、前記ＦＥＣモジュールが連続した消去されたフレームの数が所定の長さを超えると判断した場合に、前記ＦＥＣモジュールが、前記第二メモリから第五のメモリにデータを複写することにより、合成フレーム分のデータを生成し、前記第二メモリで使われた最終位置をオフセットポインタに記憶し、欠落フレームが所定の長さを超えるかどうかを判断し、欠落フレームが所定の長さを超えると判断された時に、前記第一メモリを更新するために使われ前記出力装置によって出力するために使われる前記第五メモリを、消去の長さに基づき減衰することを特徴とする装置。
【請求項２５】
請求項２１に記載の装置であって、前記後続の符号化されたフレームが消去されていない場合に、前記ＦＥＣモジュールが、第一の消去されていない符号化されたフレームをＦＥＣ処理を使い処理することを特徴とする装置。
【請求項２６】
請求項２５に記載の装置であって、前記ＦＥＣモジュールが、前記第二メモリから第五のメモリにデータを複写することにより合成フレーム分のデータを生成し、前記欠落フレームが所定の長さを超えるかどうかを判断し、前記欠落フレームが所定の長さを超えると判断された場合に、消去の長さに基づき前記第五メモリを減衰し、前記第五メモリの一部と、第一の消去されていない復号されたフレームの開始部分とをオーバーラップ加算しその結果を前記第五メモリに記憶し、復号されたフレームのオーバーラップ加算されていない部分を、前記第一メモリを更新するために使われ前記出力装置によって出力するために使われる前記第五メモリに複写することを特徴とする装置。
【請求項２７】
請求項１７に記載の装置であって、前記合成フレームを生成するために使われる前記ピッチ周期の数が時間の関数として増やされることを特徴とする装置。
【請求項２８】
請求項１７に記載の装置であって、前記ＦＥＣモジュールが符号器を使い、復号器の状態変数が前記合成フレームを探知することを特徴とする装置。
【請求項２９】
請求項１７に記載の装置であって、高周波数入力信号に対しては、一つ又はそれ以上のピッチ周期を使い前記合成フレームを生成することを特徴とする装置。
【請求項３０】
請求項１９に記載の装置であって、前記ＦＥＣモジュールが、復号器がピッチ推定値を保持しない場合、ピッチ周期の推定に自動相関を使い、復号器がピッチ推定値を保持する場合、前記復号器のピッチ推定値を使うことを特徴とする装置。
【請求項３１】
請求項２６に記載の装置であって、前記オーバーラップ加算の長さが、欠落フレームの長さと共に増やされることを特徴とする装置。
【請求項３２】
請求項２２に記載の装置であって、前記第一メモリが履歴バッファであり、前記第二メモリがピッチバッファであり、前記第三メモリが最終クオーターバッファであり、前記第四メモリが一時バッファであり、前記第五メモリが出力バッファであることを特徴とする装置。
【発明の詳細な説明】
【技術分野】
【０００１】
（技術分野）
この仮特許出願ではない特許出願は、１９９９年４月１９日に出願された、米国特許仮出願第６０／１３０，０１６号の利益を主張し、その主題をここに引用し編入する。以下の文書もまた、ここに引用し編入する。ITU-T Recommendation G.711- Appendix I,"A high quality low complexity algorithm for packet loss concealment with G.711"(9/99)及びAmerican National Standard for Telecommunications - Packet Loss Concealment for Use with ITU-T Recommendation G.711 (T1.521-1999)。
【０００２】
本発明はパケットロス又はフレーム消去（Frame Erasure)の隠蔽（Concealment)、すなわち、ＦＥＣを実行することに関し、特に、Ｇ．７１１スピーチコーダなどの、内蔵又は標準ＦＥＣを持たないスピーチコーダを使ってＦＥＣを実行することに関する。
【背景技術】
【０００３】
（背景技術）
パケットロス又はフレーム消失の隠蔽（ＦＥＣ）技法は、入力信号が、送信機において符号化及びパケット化され、ネットワーク上に送信され、フレームを復号し出力を再生する受信器において受信されるような音声システムにおける送信ロスを隠す。ＩＴＵ−ＴのＧ．７２３．１やＧ．７２８やＧ．７２９などの標準的なコード励起線形予測（Code-Excited Linear Prediction）（ＣＥＬＰ）に基づくスピーチコーダの多くが、ＦＥＣアルゴリズムを内蔵する又はその規格において提案されているが、例えばＧ．７１１などには現在、そのような規格は存在しない。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
（発明の開示）
本発明は、内蔵又は標準ＦＥＣ処理を持たないスピーチコーダにおいてパケットロス又はフレーム消去の隠蔽（ＦＥＣ）を実行する方法及び装置に関する。復号器を備える受信器が、符号器から送信された、圧縮された音声情報の符号化されたフレームを受信する。受信器における遺失フレーム検出器が、符号化されたフレームが送信中に遺失したか又は破損したか、又は消去されたかを判断する。符号化されたフレームが消去されていなければ、符号化されたフレームは復号器によって復号され、復号器の出力によって一時メモリが更新される。所定の遅延期間の後、音声フレームが出力される。
【０００５】
遺失フレーム検出器が、符号化されたフレームが消去されたと判断した場合は、ＦＥＣモジュールがフレーム隠蔽処理を信号に施す。ＦＥＣ処理は、消去されたフレームにおいて、自然に聞こえる合成音声を生成する。
【発明の効果】
【０００６】
本発明は、音声符号化システム処理のパケットロス又はフレーム消去の隠蔽（ＦＥＣ）を実行する方法又は装置に関する。符号化されたフレームが消去された場合、フレーム隠蔽処理が信号に施される。この処理は、欠落した音声を合成するためにピッチ波形の複製を使うが、従来の技術と違いこの処理は、消去の長さが増加するに従って、ピッチ波形の数を増やして複製（replicate）する。ＦＥＣ処理は、消去されたフレームに対して、自然に聞こえる合成音声を生成することによりこの分野における進歩を作り出す。
【図面の簡単な説明】
【０００７】
【図１】音声送信システムを例示する図である。
【図２】Ｇ．７１１コーダ及びＦＥＣモジュールを備える音声送信システムを例示する図である。
【図３】ＦＥＣ技法を使った、出力音声信号を示す図である。
【図４】消去の終了時における、オーバーラップ加算（overlap-add）（ＯＬＡ）作業を示す図である。
【図５】Ｇ．７１１コーダを使いＦＥＣを実行する処理を例示するフローチャートである。
【図６】履歴バッファの更新処理を示すグラフである。
【図７】信号の第一フレームの隠蔽処理を例示するフローチャートである。
【図８】自動相関からのピッチの推定を示す図である。
【図９】細かいピッチ推定と粗いピッチ推定との対比を示す図である。
【図１０】ピッチ及び最終クオーターバッファ（lastquarter buffer）内の信号を示す図である。
【図１１】単一周期ピッチバッファを使った、合成信号の生成を示す図である。
【図１２】信号の第二の又は後続の消去されたフレームを隠蔽する処理を例示するフローチャートである。
【図１３】第二の消去されたフレームへと続く合成信号を示す図である。
【図１４】二周期ピッチバッファを使った合成信号の生成を示す図である。
【図１５】第二の消去されたフレームの開始時におけるＯＬＡを示す図である。
【図１６】消去後の第一フレームを処理する方法を例示するフローチャートである。
【図１７】三周期ピッチバッファを使った、合成信号の生成を示す図である。
【図１８】ＦＥＣ技法を他のスピーチコーダで使用する例を示すブロック図である。
【発明を実施するための形態】
【０００８】
（発明を実施するための最良の形態）
近年、サービス品質の保証無しにＧ．７１１をパケットネットワーク上で使い公衆電話交換ネットワーク（Plain-Old Telephony Service）（ＰＯＴＳ）をサポートすることに関心が集まっている。フレーム消去（又はパケットロス）が、これらのネットワーク上で発生した場合、呼の品質を著しく劣化させないために、隠蔽技法が必要とされる。高品質で複雑さが低いフレーム消去隠蔽（ＦＥＣ）技法が開発され、以下に詳述する。
【０００９】
ＦＥＣを備える音声システムを例示するブロック図を図１に示す。図１において、符号器１１０が入力音声フレームを受信し、符号化されたビットストリームを出力する。ビットストリームは、遺失フレーム検出器１１５によって受信され、この遺失フレーム検出器１１５は、いずれかのフレームが失われたかどうかを判断する。遺失フレーム検出器１１５が、フレームが失われたと判断すると、遺失フレーム検出器１１５は、ＦＥＣモジュール１３０に信号を送り、ＦＥＣアルゴリズム又は処理を施し、欠落したフレームを再構築する。
【００１０】
よって、ＦＥＣ処理は、音声システムにおける送信の遺失を隠す。ここで音声システムは、入力信号が送信器において符号化及びパケット化され、ネットワーク上に送られ、フレームが失われたことを判断する遺失フレーム検出器１１５において受信されるようなものである。図１において、遺失フレーム検出器１１５は、予期されるフレームが到着しないこと又は使用不能なほど遅れて到着したことを判断する方法を備えているものと仮定される。ＩＰネットワーク上ではこれは通常、送信されるフレーム内のデータに、シーケンスナンバ又はタイムスタンプを追加することにより実施される。遺失フレーム検出器１１５は、到着したフレームのシーケンスナンバと、フレームが失われていない場合に予期されるシーケンス数とを比較する。遺失フレーム検出器１１５が、予期された時にフレームが到着したと検出した場合、フレームは復号器１２０によって復号され、音声の出力フレームが出力システムに与えられる。フレームが失われていた場合、ＦＥＣモジュール１３０が、当該フレーム分の合成音声を、その欠落したフレームの代わりに生成することにより、欠落した音声フレームを隠す処理を施す。
【００１１】
Ｇ．７２３．１、Ｇ．７２８、及びＧ．７２９などの標準ＩＴＵ−Ｔ ＣＥＬＰに基づくスピーチコーダの多くは、その復号器において音声の再生をモデル化する。よって復号器は、ＦＥＣ処理を直接復号器に一体化させるために十分な状態情報を有する。これらのスピーチコーダでは、ＦＥＣアルゴリズム又は処理が、その規格の一部として指定されている。
【００１２】
これに対してＧ．７１１は、サンプル毎の符号化機構であり、音声の再現をモデル化しない。ＦＥＣを助けるための状態情報がコーダ内に存在しない。その結果、Ｇ．７１１におけるＦＥＣ処理は、コーダとは独立したものである。
【００１３】
Ｇ．７１１コーダと共に使われるシステムを例示するブロック図を図２に示す。図１と同様に、Ｇ．７１１符号器２１０は、ビットストリームデータを符号化し、遺失フレーム検出器２１５に送信する。ここでも、遺失フレーム検出器２１５が、到着するフレームのシーケンスナンバを、フレームが一つも失われていない時に予期されるシーケンスナンバと比較する。予期された時にフレームが到着した場合、フレームは復号器２２０による復号のために転送され、信号を記憶する履歴バッファ２４０に出力される。フレームが失われていた場合、遺失フレーム検出器２１５は、ＦＥＣモジュール２３０に知らせ、ＦＥＣモジュール２３０は、そのフレーム分の合成音声を、当該欠落したフレームの代わりに生成することにより、欠落した音声フレームを隠す処理を施す。
【００１４】
しかしながら、欠落フレームを隠すためには、ＦＥＣモジュール２３０は、Ｇ．７１１ＦＥＣ処理を施す。この処理では、履歴バッファ２４０によって提供される、復号された出力信号の過去の履歴を使い、欠落フレーム内の信号がどのようなものであるべきかを推定する。これに加え、消去されたフレームと消去されなかったフレームとの間の潤滑な移行を保証するために、遅延モジュール２５０が、システムの出力を、例えば３．７５ミリ秒（msec）などの所定の期間、遅延させる。この遅延により、合成消去信号が、消去の開始時において本物の出力信号とゆっくりと混合されるようになる。
【００１５】
ＦＥＣモジュール２３０と、履歴バッファ２４０のブロック及び遅延モジュール２５０の各ブロックの間の矢印は、ＦＥＣ処理によって記憶された履歴が使用され、合成信号が生成されることを示す。これに加え、ＦＥＣモジュール２３０の出力は、消去部分の期間中、履歴バッファ２４０を更新するために使われる。ＦＥＣ処理は、Ｇ．７１１の復号された出力のみに依存するので、この処理はスピーチコーダが存在しない場合でも同様に正しく機能することに留意すべきである。
【００１６】
ＦＥＣモジュール２３０において、ＦＥＣ処理によって入力信号がどのように処理されるのかを、図３にグラフで例示する。
【００１７】
図中最上段の波形は、男性の話者よる有声音声の、ある領域において２０ミリ秒の消去が発生した場合のシステムへの入力を示す。その下の波形では、ＦＥＣ処理がこの間隙内で合成音声を生成することにより、欠落した部分を隠蔽している。比較の目的で、消去されていないオリジナルの入力信号も示す。理想的なシステムでは、隠蔽された音声は、元の音声と同じように聞こえる。図から明らかなように、合成波形は、欠落部分の元の音声に非常に似ている。「隠蔽された」波形が、「入力」波形からどのように生成されるかを、より詳しく下に述べる。
【００１８】
ＦＥＣモジュール２３０によって使われるＦＥＣ処理は、履歴バッファ２４０に記憶されている音声と同様の特徴を持つ合成音声を生成することにより、欠落フレームを隠蔽する。基本的な考え方は次のようなものである。信号が声に出されていた場合、信号は、準周期的であり局地的に一様であると仮定する。ピッチを推定し、履歴バッファ２４０内で最後に現れたピッチ周期を数回繰り返す。しかしながら、消去が長い場合又はピッチが短い場合（周波数が高い場合）、同じピッチ周期を繰り返しすぎると、自然な音声と比較して、正弦成分（harmonic）の多すぎる出力に繋がる。これらの、ビーという音やボーンという音として聞こえる人工的な正弦波的音声（ハーモニック・アーティファクト）を避けるために、履歴バッファ２４０から使われるピッチ周期の数は、消去の長さが大きくなるにつれて増やされる。短い消去部分では、最後のピッチ周期又は最後のいくつかのピッチ周期のみを履歴バッファ２４０から使い、合成信号を生成する。長い消去部分に対しては、履歴バッファ２４０の更に以前のピッチ周期も使う。長い消去部分に対しては、履歴バッファ２４０からのピッチ周期は、オリジナルの音声に現れた順序と異なる順序で再生される。しかしながら、実験により、長い消去の場合に生成される合成音声信号も、自然な音を作り出すことが確かめられている。
【００１９】
消去部分が長ければ長いほど、合成信号が本物の信号から逸脱する可能性が高くなる。特定の種類の音を長く持続させることによって引き起こされるアーティファクトを回避するために、合成信号は、消去部分が長くなるにしたがって減衰される。１０ミリ秒以下の期間の消去部分においては、減衰は必要とされない。１０ミリ秒よりも長い消去部分には、合成信号は、追加の１０ミリ秒毎に２０％の割合で減衰される。６０ミリ秒を過ぎると、合成信号はゼロ（無音）に設定される。これは、合成信号が元の信号と異なりすぎるため、平均的には、欠落した音声を６０ミリ秒以降も隠蔽しようと努力し続けても、利点よりも害が多くなるためである。
【００２０】
異なる源（source）からの信号間で移行（transision）が行われた場合には、この移行が非連続性を導入しないことが重要となる。この非連続性は、出力信号中のクリック又は不自然なアーティファクトとして聞こえる。これらの移行は、いくつかの場所で起きる。
【００２１】
１．消去部分のはじめの部分、つまり合成信号の開始部と最後の良いフレームの尾部との境界。
【００２２】
２．消去部分の終りの部分、つまり合成信号と消去部分の後の最初の良いフレームの開始部との境界。
【００２３】
３．履歴バッファ２４０から使われるピッチ周期の数が、信号のバリエーションを増加させるために変更された時。
【００２４】
４．履歴バッファ２４０の繰り返し部分間の境界。
【００２５】
潤滑な移行を保証するため、オーバーラップ加算（Ovelap Adds)（ＯＬＡ）が全ての信号境界において実行される。ＯＬＡは、一つの端部において重複する二つの信号を潤滑に組合わせる方法である。信号が重複する領域では、信号が窓によって重みを与えられ、その後、足される（混合される）。窓は、どのサンプルにおいても、重みの和が１になるように設計される。すなわち、信号の全体的な和に対する利得又は減衰は適用されない。これに加え、窓は、左側の信号では重みが１から始まり徐々に０へとフェードアウトし、右側の信号では重みが０から始まり徐々に１へとフェードインするよう設計される。よって、重複する窓の左側の領域では、左信号のみが存在し、重複する窓の右側の領域では、右信号のみが存在する。重複した領域内では、信号が左側の信号から右側の信号へと徐々に移行する。ＦＥＣ処理では、三角形の窓が使われ、長さを変更可能な窓の計算の複雑さを低く保つが、例えばハニング窓（Hanning window）などの他の窓をその代わりに使っても良い。
【００２６】
図４は、２０ミリ秒間の消去の終了時における、合成音声が、消去部分の後に始まる本物の音声とＯＬＡされるものを示す。この例では、ＯＬＡ重み付け窓は、５．７５ミリ秒の三角形の窓である。最上段の信号は、消去中に対応して生成された合成信号であり、その下のオーバーラップした信号は、消去部分の後の本物の音声である。ＯＬＡ重み付け窓は、信号の下に示される。ここでは、消去期間中の本物の信号内でのピッチの変化によって、合成信号のピークと本物の信号のピークとが一致せず、ＯＬＡ無しに信号を組合わせようとした場合に導入される非連続性を、「ＯＬＡ無しの組合わせ」とラベルを付けたグラフに示す。「ＯＬＡ無しの組み合わせ」グラフは、ＯＬＡ窓の開始までの合成信号をと、その期間中の本物の信号とを複写することにより作成されている。ＯＬＡ作業の結果は、境界での非連続性がどのように潤滑にされるかを示す。
【００２７】
前述の論議は、ほぼ一様な、有声音声に、処理の例がどのように働くかに関連するものであるが、音声信号が素早く変化してる場合又は声に出されていない場合、音声信号は、周期的な構造を持たない場合もある。しかしながら、これらの信号も以下に示すように同じ方法で処理される。
【００２８】
第一に、例示する実施形態で許容される最小のピッチ周期のピッチ推定値は５ミリ秒であり、これは２００Ｈｚの周波数に対応する。高周波の女性及び子供の話者の一部は、２００Ｈｚ以上の基本振動数を有することが知られているが、窓を比較的大きく保つために、２００Ｈｚに制限する。この方法では、１０ミリ秒間の消去フレーム内では、選択されたピッチ周期は、最大二回繰り返される。高周波の話者の場合、これは、ピッチ推定法が本物のピッチ周期の倍数を返すため、実際には出力が劣化しない。いずれの音声も多く繰り返しすぎないようにすることにより、処理は、非周期的な音声から周期的な合成音声を作り出さない。第二に、合成音声を生成するために使われるピッチ周期の数は、消去部分が長くなるにしたがって増やされるため、信号に十分な多様性が追加され、長い消去部分においても周期性が導入されない。
【００２９】
音声の時間スケールのための波形類似オーバーラップ加算（Waveform Similarity Overlap Add）（ＷＳＯＬＡ）処理もまた、大きな固定された大きさのＯＬＡ窓を使用し、周期的な音声信号及び非周期的な音声信号の両方の時間スケールを変更するために同じ処理が使えることに留意されたい。
【００３０】
例示するＦＥＣ処理の全体像が上で説明されたが、個々のステップを下に、より詳しく説明する。
【００３１】
説明の目的のために、フレームが１０ミリ秒間の音声を含み、サンプリング速度が例えば８ｋＨｚであると仮定する。よって、消去は８０サンプル（８０００＊０．０１０＝８０）ごとに起きる可能性がある。ＦＥＣ処理は、その他のフレームの大きさ及びサンプリング速度に対しても容易に適合できることに留意すべきである。サンプリング速度を変更するには、単純に、ミリ秒単位で与えられる時間に０．００１を掛け、その後サンプリング速度でかけて適切なバッファの大きさを取得する。例えば、履歴バッファ２４０は、最近４８．７５ミリ秒間の音声を含む。８ｋＨｚではこれは、バッファが（４８．７５＊０．００１＊８０００）＝３９０サンプル分の長さであることを意味する。１６ｋＨｚのサンプリングでは、バッファの大きさは二倍又は７８０サンプルとなる。
【００３２】
バッファの大きさのいくつかは、処理が予想する最低の周波数に基づく。例えば、ここに例示する処理は、８ｋＨｚのサンプリングで見られる最低周波数が６６＋（２／３）Ｈｚであると仮定する。これにより、最大ピッチ周期は、１５ミリ秒（１／（６６＋（２／３））＝０．０１５）と導かれる。履歴バッファ２４０の長さは、最低周波数の周期の３．２５倍である。よって、履歴バッファ２４０は１５＊３．２５＝４８．７５ミリ秒となる。１６ｋＨｚのサンプリングで、入力フィルタが５０Ｈｚ（２０ミリ秒の周期）までの低い周波数を許容する場合、履歴バッファ２４０は、２０＊３．２５＝６５ミリ秒に伸ばされる。
【００３３】
フレームの大きさもまた変更できる。１０ミリ秒間がデフォルトとして選択されたのは、Ｇ．７２９などのいくつかの標準スピーチコーダによって使われるフレームの大きさであり、またいくつかの無線システムでも使われているからである。フレームの大きさを変更することは簡単である。望まれるフレームサイズが１０ミリ秒の倍数である場合、処理は変更しない。単純に、消去処理のフレームサイズを１０ミリ秒のままにして、それを一フレームに対して複数回呼び出す。望まれるパケットフレームサイズが、５ミリ秒など１０ミリ秒の約数である場合、ＦＥＣ処理は基本的には変更しない。しかしながら、ピッチバッファ内の周期を増大させたレートを、１０ミリ秒間のフレーム数に基づいて変更する必要がある。１２ミリ秒など、１０ミリ秒の倍数でも約数でもないフレームサイズもまた順応させることができる。ＦＥＣ処理は、ピッチバッファから使われるピッチ周期の数を増大させたレートを変更することに対し、柔軟性を有する。周期の数を、１０ミリ秒毎から１２ミリ秒毎に増やすことは、さほどの違いを生じない。
【００３４】
図５は、図２に例示する実施形態において実行されるＦＥＣ処理のブロック図である。主要な機能のいくつかを実施するために必要とされる副ステップを、図７、図１２、及び図１６に更に詳しく示し、下で説明する。以下の論議では、値及びバッファを保持するためにいくつかの変数が使われる。これらの変数の概要を次の表に示す。
【００３５】
【表１】
2014206761.tif 000003
図５のフローチャートに示すように、処理はステップ５０５から始まり、このステップでは、遺失フレーム検出器２１５によって次のフレームが受信される。ステップ５１０では、遺失フレーム検出器２１５が、フレームが消去されたかどうかを判断する。フレームが消去されていなければ、ステップ５１２においてフレームは復号器２２０によって復号される。次に、ステップ５１５において、復号されたフレームが、ＦＥＣモジュール２３０による使用のために、履歴バッファ２４０に記憶される。
【００３６】
履歴バッファ更新ステップでは、このバッファ２４０の長さは、予想される最長ピッチ周期の長さの３．２５倍である。８ｋＨｚのサンプリングでは、最長ピッチ周期は１５ミリ秒又は１２０サンプルであり、よって履歴バッファ２４０の長さは４８．７５ミリ秒又は３９０サンプルである。したがって、各フレームが復号器２２０によって復号された後、履歴バッファ２４０は、最新の音声履歴を含むように更新される。履歴バッファ２４０の更新を図６に示す。この図に示すように、履歴バッファ２４０は、最新の音声サンプルを右側に含み、最古の音声サンプルを左側に含む。復号された音声の最新フレームが受信された時には、この最新フレームはバッファ２４０の右からシフトされ、最古の音声に対応するサンプルがバッファの左から外へとシフトされる（図６ｂを参照）。
【００３７】
これに加え、ステップ５２０において、遅延モジュール２５０が、音声の出力を最長ピッチ周期の１／４だけ遅延させる。８ｋＨｚサンプリングではこれは、１２０＊１／４＝３０サンプル又は３．７５ミリ秒にあたる。この遅延により、ＦＥＣモジュール２３０が１／４波長ＯＬＡを消去の開始時に実行することを可能にし、これにより、消去の前の本物の信号と、ＦＥＣモジュール２３０によって作り出された合成信号との間の潤滑な移行を保証する。フレームを復号した直後は、次のフレームが消去されたかどうか分からないため、出力を遅延させる必要がある。
【００３８】
ステップ５２５において、音声が出力され、ステップ５３０において処理は、更にフレームが存在するかどうかを判断する。更なるフレームが存在しなければ、処理は終了する。更なるフレームが存在すれば、処理はステップ５０５に戻り次のフレームを取得する。
【００３９】
しかしながら、ステップ５１０において、遺失フレーム検出器２１５が、受信したフレームが消去されたものと判断した場合、処理はステップ５３５に進み、ここでＦＥＣモジュール２３０が第一の消去されたフレームを隠蔽する。この処理は、下に図７に関して詳しく説明する。第一フレームが隠蔽された後、ステップ５４０において、遺失フレーム検出器２１５が、次のフレームを取得する。ステップ５４５において、遺失フレーム検出器２１５は、次のフレームが消去されているかどうかを判断する。もし次のフレームが消去されていなければ、ステップ５５５においてＦＥＣモジュール２３０が、消去後の第一フレームを処理する。この処理は、図１６に関して下に詳しく説明する。第一フレームが処理された後、処理はステップ５３０に戻り、ここで遺失フレーム検出器２１５が更なるフレームが存在するかどうかを判断する。
【００４０】
ステップ５４５で、遺失フレーム検出器２１５が、次又は後続のフレームが消去されていると判断した場合、ＦＥＣモジュール２３０が第二及び後続のフレームを隠蔽する。この処理は下に図１２に関して詳しく説明する。
【００４１】
図７に、消去の最初の１０ミリ秒間を隠蔽するために採られるステップを詳しく示す。ステップは、以下に詳しく考察される。
【００４２】
図７に示すように、ステップ７０５において、消去部分の開始時点における第一の作業は、ピッチの推定である。これを行うためには、タップ遅延が４０から１２０サンプルの、２０ミリ秒（１６０サンプル）の窓を用いて、履歴バッファ２４０の信号に対し、正規化した自動相関が実行される。８ｋＨｚのサンプリングにおいては、これらの遅延は、５から１５ミリ秒のピッチ周期又は２００から６６＋（２／３）Ｈｚの基本振動数に対応する。自動相関のピークにおけるタップが、ピッチ推定値Ｐである。Ｈがこの履歴を含むものと仮定し、−１（消去部分直前のサンプル）から−３９０（消去部分が始まる３９０サンプル前のサンプル）まで索引を付けられていると仮定すると、タップｊに対する自動相関は、数学的に次のように表すことができる。
【００４３】
【数１】
2014206761.tif 000004
【００４４】
自動相関のピーク又はピッチ推定値は、次のように表すことができる。
【００４５】
【数２】
2014206761.tif 000005
【００４６】
上述のように、許容される最低ピッチ周期、５ミリ秒又は４０サンプルは、単一のピッチ周期が１０ミリ秒である消去されたフレームの間に最大二回繰り返されるのに十分な大きさである。これにより、無声音声中のアーティファクトを回避し、また、高ピッチの話者の不自然なハーモニックアーティファクトを回避する。
【００４７】
図３の消去部分における、正規化した自動相関の計算例を、図８にグラフで示す。
【００４８】
「履歴」とラベルを付けた波形は、消去部分直前の履歴バッファ２４０の内容である。水平な点線は、信号の基準部分、履歴バッファ２４０ Ｈ［−１］：Ｈ［−１６０］を示し、これは消去直前の２０ミリ秒間の音声である。水平な直線は、４０サンプル（最上段の線、５ミリ秒周期、２００Ｈｚ周波数）から１２０サンプル（最下段の線、１５ミリ秒周期、６６＋（２／３）Ｈｚ周波数）のタップにおいて遅延された２０ミリ秒間の窓である。相関の出力もまた、窓の場所と整列してグラフに表示される。相関中の垂直な点線は、曲線のピークであり、推定ピッチを表す。この線は、消去の開始時から一周期戻る。この場合、Ｐは、７ミリ秒のピッチ周期及び１４２．９Ｈｚの基本振動数に対応する５６サンプルに等しい。
【００４９】
自動相関の複雑さを低減するために、二つの特別な手順が使われる。これらの簡略化（shortcut）は、実質的には出力を変化させないが、処理の全体的な実行時間の複雑さに大きな影響を及ぼす。ＦＥＣ処理の複雑さの大半は、自動相関に帰する。
【００５０】
まず、全てのタップにおいて相関を計算する代わりに、ピークの大まかな推定を、省略された信号でまず判断し、その後、大まかなピークの近傍の領域において細かい検索が行われる。大まかな推定値のために、上述の自動相関（Ａｕｔｏｃｏｒ）関数を、２：１の省略された信号に作用する新しい関数に修正し、一つ置きのタップのみを検査する。
【００５１】
【数３】
2014206761.tif 000006
【００５２】
次に、この大まかな推定値を使い、元の検索処理を、Ｐrough−１≦ｊ≦Ｐrough＋１の範囲のみで繰り返す。ｊが、元の４０から１２０サンプルの範囲に納まるように注意が払われる。サンプリング速度が増やされた場合、省略率もまた増やすべきであり、これにより処理の全体的な複雑さがほぼ一定になるようにすべきであることに留意されたい。本発明者らは、８：１の省略率で、４４．１ｋＨｚでサンプルされた音声において実験を行い、良好な結果を得た。図９は、簡略化自動相関（Ａｕｔｏｃｏｒrough）のグラフと、通常の自動相関（Ａｕｔｏｃｏｒ）のグラフとを比較する図である。この図から明らかなように、Ａｕｔｏｃｏｒroughは、Ａｕｔｏｃｏｒに近い近似であり、８ｋＨｚのサンプリングにおいては、複雑さがおよそ４倍に低減されている。この４倍は、一つおきのタップのみが検査されることにより２倍、与えられたタップにおいて、一つおきのサンプルのみが検査されることによる２倍、からである。
【００５３】
Ａｕｔｏｃｏｒ及びＡｕｔｏｃｏｒroughのエネルギ計算の複雑さを低減させるために第二の手順が実行される。各ステップで、完全な和を計算する代わりに、エネルギの継続和（running sum）が保持される。すなわち、
【００５４】
【数４】
2014206761.tif 000007
【００５５】
とすると、
【数５】
2014206761.tif 000008
【００５６】
となる。
【００５７】
したがって、最初のエネルギの項が計算された後は、２度の掛け算及び２度の足し算のみが、ＦＥＣ処理の各ステップでエネルギの項を更新するために必要となる。
【００５８】
ピッチ推定値Ｐを得た後、消去部分の波形生成が開始される。図７のフローチャートに戻り、ステップ７１０において、最新の波長の３．２５倍の部分（３．２５＊Ｐサンプル）が、履歴バッファ２４０、すなわちＨからピッチバッファＢへと複写される。最新の１／４波長以外のピッチバッファの内容は、消去部分の間一定に保たれる。これに対し、履歴バッファ２４０は、消去部分の間、合成音声によって更新し続けられる。
【００５９】
ステップ７１５において、履歴バッファ２４０からの最新の１／４波長分（０．２５＊Ｐサンプル）が、最終クオーターバッファＬに記憶される。この１／４波長分は、ＯＬＡ作業のいくつかで必要とされる。簡便のため、履歴バッファ２４０にアクセスするために使ったものと同じ、負の数による索引付けの方法を使ってＢ及びＬバッファにアクセスする。Ｂ［−１］は、消去部分が到着する前の最後のサンプルであり、Ｂ［−２］はその前のサンプル、などである。合成音声は、合成バッファＳに入れられ、合成バッファＳは、０から昇順に索引付けられる。よって、Ｓ［０］が最初の合成されたサンプルであり、Ｓ［１］が第二のサンプル、などとなる。
【００６０】
図３に示す消去時の、ピッチバッファＢ及び最終クオーターバッファＬの内容を、図１０に示す。上述の部分で、周期Ｐは５６サンプルと計算されている。よってピッチバッファは、３．２５＊５６＝１８２サンプルの長さである。最終クオーターバッファは、０．２５＊５６＝１４サンプルの長さである。図においては、消去部分の開始時からＰサンプル戻る毎に、垂直な線が配置されている。
【００６１】
最初の１０ミリ秒間の消去の間は、ピッチバッファからの最終ピッチ周期のみが使われ、よってステップ７２０において、Ｕ＝１である。音声信号が、真に周期的であり、ピッチ推定値が推定値ではなく、正確に真正な値であった場合、ピッチバッファＢから合成バッファＳに直接波形を複写でき、この場合、合成信号は滑らかであり、かつ連続している。すなわち、Ｓ［０］＝Ｂ［−Ｐ］、Ｓ［１］＝Ｂ［−Ｐ＋１］、などとなる。ピッチが１０ミリ秒間のフレームよりも短い場合、すなわちＰ＜８０の場合、消去フレーム内で、単一のピッチ周期が一回よりも多く繰り返される。ここに示す例では、Ｐ＝５６であり、よって複写は、Ｓ［５６］で戻って（roll over）くる。すなわち、サンプル５６近くのサンプル毎の複写順序は、Ｓ［５４］＝Ｂ［−２］、Ｓ［５５］＝Ｂ［−１］、Ｓ［５６］＝Ｂ［−５６］、Ｓ［５７］＝Ｂ［−５５］、などとなる。
【００６２】
実際には、ピッチ推定値は正確ではなく、信号は真に周期的でない場合もある。（ａ）本物の信号と合成信号との間の境界及び（ｂ）周期が繰り返される境界における非連続性を回避するために、ＯＬＡが必要とされる。これら両方の境界において、本物の音声の終了時Ｂ［−１］から、一周期戻った音声Ｂ［−Ｐ］までの潤滑な移行が望ましい。したがって、ステップ７２５において、Ｂ［−Ｐ］の前の１／４波長と、履歴バッファ２４０の最終１／４波長又はＬの内容と、をオーバーラップ加算することにより、これが達成される。グラフではこれは、ピッチバッファ内の最終１＋（１／４）波長を取り出し、右に一波長分ずらし、ＯＬＡを１／４波長のオーバーラップした領域において行うことに等しい。ステップ７３０において、ＯＬＡの結果が、履歴バッファ２４０の最終１／４波長に複写される。合成波形の追加の周期を生成するために、ピッチバッファが追加の波長分だけずらされ、追加のＯＬＡが実行される。
【００６３】
図１１は、最初の２回の反復におけるＯＬＡ作業を示す。この図では、全ての波形を交差する垂直な線は、消去部分の開始時を示す。短い垂直線は、ピッチマーカであり、消去境界からＰサンプルの位置に配置される。波形「ピッチバッファ」と波形「Ｐだけ、右にずらされたもの」の間のオーバーラップ領域は、波形「Ｐだけ右にずらされたもの」と波形「２Ｐだけ、右にずらされたもの」の間のオーバーラップ領域と正確に同じサンプルに対応することを理解すべきである。したがって、１／４波長ＯＬＡは、一回だけ計算されればよい。
【００６４】
ステップ７３５において、ＯＬＡをまず計算し、その結果をピッチバッファの最終１／４波長に入れることにより、真に周期的な信号に対する、合成波形の生成処理を使用できる。サンプルＢ［−Ｐ］からはじめ、ピッチバッファから合成バッファへと単純にサンプルを複写し、ピッチバッファの最後部に達した時には、ピッチバッファポインタをピッチ周期の最初に戻す。この技法を使い、どのような期間の合成波形でも生成できる。図１１の「ＯＬＡと組合わせた」の波形における、消去開始時より左側のピッチ周期は、ピッチバッファの更新された内容に対応する。
【００６５】
「ＯＬＡとの組合わせ」波形は、単一周期のピッチバッファが、周期Ｐの周期的な信号を非連続性なしに生成することを示している。この履歴バッファ２４０内の単一の波長から生成された合成音声は、消去部分の第一の１０ミリ秒間を隠蔽するために使われる。ＯＬＡの効果は、「ピッチバッファ」内の消去部分の開始直前の１／４波長と「ＯＬＡと組合わせた」波形内のそれとを比較することにより見ることができる。ステップ７３０において、この「ＯＬＡと組合わせた」波形内の１／４波長はまた、履歴バッファ２４０内の最終１／４波長を置換える。
【００６６】
三角形の窓を使ったＯＬＡ作業もまた、数学的に表現することができる。まず、変数Ｐ４を、サンプル内のピッチ周期の１／４と定義する。よって、Ｐ４＝Ｐ＞＞２である。ここに示す例では、Ｐが５６なので、Ｐ４は１４となる。ＯＬＡ作業は、１≦ｉ≦Ｐ４の範囲で次のように表現できる。
【００６７】
【数６】
2014206761.tif 000009
【００６８】
ＯＬＡの結果は、履歴バッファ２４０及びピッチバッファの両方の最後の１／４波長部分を置換える。履歴バッファ２４０を置換えることにより、履歴バッファもまた出力を３．７５ミリ秒間遅延させるので、履歴バッファ２４０が更新される時に、１／４ＯＬＡ移行が出力される。消去の第一の１０ミリ秒間における出力波形は、図３の「隠蔽された」波形の最初の２つの点線間の領域に見ることができる。
【００６９】
ステップ７４０において、フレームの合成音声の生成の終了時に、現在のオフセットが変数Ｏとしてピッチバッファに記憶される。このオフセットは、合成波形が次のフレームに続くことを可能にし、これにより、次のフレームの本物の信号又は合成信号とのＯＬＡを可能にする。Ｏはまた、消去が１０ミリ秒を超える場合に、正しい合成信号の位相を保持することを可能にする。ここに示す８０サンプルのフレーム及びＰ＝５６の例では、消去の開始時には、オフセットは−５６である。５６サンプル後、オフセットは−５６に戻る。更に、８０−５６＝２４サンプル後、オフセットは−５６＋２４＝−３２であり、よって、第一のフレーム終了時にはＯは−３２である。
【００７０】
ステップ７４５において、合成バッファにＳ［０］からＳ［７９］が満たされた後、このＳが履歴バッファ２４０を更新するために用いられる。ステップ７５０において、履歴バッファ２４０はまた、３．７５ミリ秒の遅延を追加する。履歴バッファ２４０の取り扱い（handling）は、消去されたフレームの間も消去されなかったフレームの間も同じである。この時点で、図５のステップ５３５に示す第一フレームの隠蔽作業が終了し、処理は、図５のステップ５４０に進む。
【００７１】
ＦＥＣモジュール２３０が、図５のステップ５５０に示すように、１０ミリ秒よりも後の後続のフレームを隠蔽するためにどのように機能するかを、図１２に詳しく示す。第二及び後続の消去されたフレームにおいて、合成信号を生成する技法は、第一の消去されたフレームに類似しており、これに更に、信号にいくらかの多様性を足すための追加の作業が必要とされる。
【００７２】
ステップ１２０５において、消去コードは、第二又は第三フレームが消去されているかどうかを判断する。第二及び第三の消去されたフレームの期間中は、ピッチバッファから使われるピッチ周期の数が増やされる。これにより信号に、より大きな多様性を導入し、合成出力が、ハーモニックしすぎて聞こえることを防止する。他の全ての移行と同様に、ピッチ周期数が増加された時には、境界を滑らかにするためにＯＬＡが必要とされる。第三フレーム（３０ミリ秒間の消去）より後は、ピッチバッファは、三波長の長さに一定に保たれる。これらの三波長が、消去の期間中の全合成音声を生成する。よって、図１２の左側の分岐は、第二及び第三の消去されたフレームに対してのみ行われる。
【００７３】
次に、ステップ１２１０において、ピッチバッファで使われる波長の数を増加させる。すなわち、Ｕ＝Ｕ＋１とする。
【００７４】
第二又は第三の消去されたフレームの開始時に、ステップ１２１５において、一つ前のフレームからの合成信号が、更に１／４波長分、現在のフレームの開始部に続く。例えばここに示す例では、第二のフレームの開始時には、図１３に示すように合成信号が現れる。この１／４波長は、ピッチバッファからの古い波長を使う新しい合成信号にオーバーラップ加算される。
【００７５】
第二の消去フレームの開始時に、波長の数は２に増やされ、すなわちＵ＝２とされる。単一波長ピッチバッファ同様、二波長（2-wavelength）ピッチバッファがそれ自体を繰り返す境界では、ＯＬＡを実行する必要がある。ここでは、ステップ１２２０において、ピッチバッファＢの尾部から戻って１／４波長分の終わりのＵ波長が、最終クオーターバッファＬの内容とオーバーラップ加算される。ＯＬＡ演算子は、１≦ｉ≦Ｐ４の範囲で次のように表すことができる。
【００７６】
【数７】
2014206761.tif 000010
【００７７】
前述の方程式との違いは、右辺の、Ｂのインデックスに使われた定数Ｐが、ＰＵに置き換えられていることのみである。二波長ピッチバッファの作成を図１４にグラフで示す。
【００７８】
図１１と同様、消去開始時の左側の「ＯＬＡと組合わせた」波形は、二周期ピッチバッファの更新された内容である。短い垂直線は、ピッチ周期を表す。「ＯＬＡと組合わせた」波形の連続したピークの詳しい検査により、ピークが、消去部分の開始時点より１又は２波長分前に戻ったピークから交互になることが示される。
【００７９】
第二のフレームの合成出力の開始時には、新しいピッチバッファからの信号を、図１３において生成された１／４波長と合成させる必要がある。新しいピッチバッファからの合成信号は、使用されるバッファの最古の部分からのものであることが望ましい。しかしながら、新しい部分が、波形の類似した部分からのものであることに注意をしないと、耳障りなアーティファクトが作り出されるので、そのような注意が必要である。すなわち、正確な位相を保持することが望ましく、保持できなければ、波形が混合される際に、相殺的干渉を引き起こす可能性がある。
【００８０】
これは、ステップ１２２５（図１２）において、一つ前のフレームの終了時に記憶されたオフセットＯから、ピッチバッファの使用部分内の最古の波長を指すまで、周期Ｐを引くことにより達成される。
【００８１】
例えば、第一の消去されたフレームでは、ピッチバッファＢの有効なインデックスは、−１から−Ｐであった。よって、第一の消去されたフレームから記憶されたＯは、必ずこの範囲内にある。第二の消去されたフレームでは、有効な範囲は、−１から−２Ｐである。よって、Ｏが、−２Ｐ≦Ｏ＜−Ｐの範囲内になるまで、ＯからＰを引く。より一般的に言うと、Ｏが、−ＵＰ≦Ｏ＜−（Ｕ−１）Ｐの範囲内になるまで、ＯからＰを引く。ここに示す例では、第一の消去されたフレームの終了時において、Ｐ＝５６であり、Ｏ＝−３２である。−３２から５６を引いて、−８８を得る。よって、第二フレーム内の第一の合成サンプルは、Ｂ［−８８］から来る。次の合成サンプルは、Ｂ［−８７］、などとなる。
【００８２】
第二の消去されたフレームの開始時における、単一及び二周期ピッチバッファからの合成信号のＯＬＡ混合を、図１５に示す。
【００８３】
ＯからＰを引くことにより、正確な波形位相が保持され、「１Ｐピッチバッファ」波形及び「２Ｐピッチバッファ」波形の信号のピークが整列されることに留意されたい。「ＯＬＡと組合わせた」波形は、第二の消去されたフレームの開始時において、異なるピッチバッファ間の潤滑な移行を示す。図１５に示す「ＯＬＡと組合わせた」波形の第二フレームを出力できるまでに、もう一つの作業が必要とされる。
【００８４】
ステップ１２３０（図１２）において、新しいオフセットが使われ、ピッチバッファから一時バッファに１／４波長が複写される。ステップ１２３５において、１／４波長が、オフセットに足される。次に、ステップ１２４０において、一時バッファが、出力バッファの開始部とＯＬＡされ、この結果が、出力バッファの第一の１／４波長に入れられる。
【００８５】
ステップ１２４５において、オフセットが使われ、出力バッファ内の信号の残りの部分が生成される。ピッチバッファが、１０ミリ秒間のフレームの間、出力バッファに複写される。ステップ１２５０において、現在のオフセットが、変数Ｏとしてピッチバッファに記憶される。
【００８６】
第二及び後続の消去されたフレームの期間中は、ステップ１２５５において、線形の傾斜によって合成信号が減衰される。合成信号は、６０ミリ秒後に設定される０又は沈黙へ徐々にフェードアウトする。消去が長くなるに従って、隠蔽された音声が真の信号から逸脱する可能性が高くなる。特定の種類の音を長時間保留すると、その音が短い期間中に隔離された状態では自然に聞こえても、隠蔽処理の出力中の不自然に聞こえるアーティファクトを生じる場合もある。これらの合成信号中のアーティファクトを回避するために、ゆっくりとしたフェードアウトが使われる。同様の作業が、Ｇ．７２３、Ｇ．７２８、及びＧ．７２９などの標準スピーチコーダにおける隠蔽処理においても行われている。
【００８７】
ＦＥＣ処理は、第二のフレームの開始時から、１０ミリ秒間のフレーム毎に２０％の割合で信号を減衰する。合成バッファＳが減衰前の合成信号を含み、Ｆが連続して消去されたフレームの数（第一の消去されたフレームがＦ＝１、第二の消去されたフレームがＦ＝２、など）である場合、減衰は、次のように表すことができる。
【００８８】
【数８】
2014206761.tif 000011
【００８９】
ここで、０≦ｉ≦７９であり、２≦Ｆ≦６である。例えば、第二の消去されたフレームの開始時のサンプルでは、Ｆ＝２であり、Ｆ−２＝０及び０．２／８０＝０．００２５である。よって、Ｓ’［０］＝１・Ｓ［０］、Ｓ’［１］＝０．９９７５Ｓ［１］、Ｓ’［２］＝０．９９５Ｓ［２］、及びＳ’［７９］＝０．８０２５Ｓ［７９］である。第六の消去されたフレーム以降は、出力は単純にゼロに設定される。
【００９０】
合成信号は、ステップ１２５５において減衰された後、ステップ１２６０において、履歴バッファ２４０に与えられ、ステップ１２６５において、出力が３．７５ミリ秒間、遅延される。オフセットポインタＯもまた、ピッチバッファ内の第二フレームの終了時の位置に更新され、これにより、合成信号が次のフレームに続くことができる。処理は、ステップ５４０に戻り、次のフレームを取得する。
【００９１】
消去が二フレーム以上続いた場合、第三フレームの処理は、第二のフレームと同様に行われるが、ピッチバッファ内の周期の数は、１から２ではなく、２から３へと増やされる。ここに示す例では、消去は二フレームで終了するが、第三フレーム及びその後に使われる、三周期ピッチバッファを図１７に示す。第三フレーム以降は、ピッチバッファ内の周期の数は、３に固定されるため、図１２の右側の経路のみが使われる。この場合、単純にオフセットポインタＯは単純にピッチバッファを合成出力に複写するために使われ、オーバーラップ加算作業は必要とされない。
【００９２】
消去後の、第一の良好フレームに対するＦＥＣモジュール２３０の作業を図１６に詳しく示す。消去部分の終了時点では、消去中に生成された合成音声と、本物の音声との間に、潤滑な移行が必要とされる。消去が一フレームのみの長さであった場合、ステップ１６１０において、１／４波長のための合成信号が続けられ、本物の音声とのオーバーラップ加算が実行される。
【００９３】
ステップ１６２０において、ＦＥＣモジュール２３０が、消去が１０ミリ秒よりも長かったと判断した場合、合成信号と本物の信号とが一致しない可能性が高く、よって、ステップ１６３０において、合成音声生成が続けられ、ＯＬＡ窓が更に、消去されたフレーム一つにつき４ミリ秒間分増やされる。このＯＬＡ窓の増加は、最大１０ミリ秒間まで行われる。ピッチの推定値が、多少ずれていた場合又は本物の音声のピッチが消去期間中に変化していた場合、合成信号と本物の信号との位相の不一致の可能性は、消去が長くなればなるほど増加する。より長いＯＬＡ窓により、合成信号が、よりゆっくりとフェードアウトし、本物の音声信号が、よりゆっくりとフェードインすることを可能にする。消去が１０ミリ秒よりも長かった場合、ＯＬＡを実行する前に、ステップ１６４０において合成音声を減衰する必要があり、これにより合成信号を、一つ前のフレームの信号レベルと一致させる。
【００９４】
ステップ１６５０において、出力バッファの内容（合成音声）と、新しい入力フレームの開始部とにＯＬＡが実行される。入力バッファの開始部は、ＯＬＡの結果によって置き換えられる。上述の例の消去部分の終了時点におけるＯＬＡは、図４に見ることができる。上述の例の隠蔽処理の完全な出力は、図３の「隠蔽」波形に見ることができる。
【００９５】
ステップ１６６０において、履歴バッファが入力バッファの内容によって更新される。ステップ１６７０において、音声の出力が３．７５ミリ秒間遅延され、処理は図５のステップ５３０に戻り、次のフレームを取得する。
【００９６】
小さな調整により、ＦＥＣ処理をＧ．７２６など、サンプル間又はフレーム間の状態情報を保持し隠蔽を提供しないような、他のスピーチコーダに応用することもできる。ＦＥＣ処理は上述と全く同じように使われ、消去期間中の合成波形を生成する。しかしながら、コーダの内部状態変数が、ＦＥＣ処理によって生成された合成音声を探知することを保証するよう注意することが必要である。そうでなければ、消去部分の終了後、復号器が間違った状態を使って再始動するに従って、アーティファクト及び非連続部分が出力に現れる。消去部分終了時点のＯＬＡ窓はこの作業を助けるが、ＯＬＡ窓以上のことをする必要がある。
【００９７】
図１８に示すように、消去の期間中、復号器１８２０を符号器１８６０に変換し、ＦＥＣモジュール１８３０の合成出力を符号器１８６０の入力として使うことにより、より良い結果が得られる。
【００９８】
これにより、復号器１８２０の変数状態は、隠蔽された音声を探知できる。典型的な符号器と違い、符号器１８６０は、状態情報を保持するためのみに作動され、その出力は使われないことに留意されたい。よって、簡略化の手法（short cut）を使って実行時間中の複雑さを相当に低減できる。
【００９９】
上述のように、本発明によって多くの利点及び態様が提供される。特に、フレーム消去が進むにしたがって、合成信号を生成するために信号履歴から使われるピッチ周期が、時間の関数として増やされる。これにより、長い消去の際のハーモニック・アーティファクトをかなり低減できる。ピッチ周期は、元の順序で再生されないが、それでも出力は自然に聞こえる。
【０１００】
サンプル間又はフレーム間の状態情報を保持するＧ．７２６及び他のコーダでは、復号器を、隠蔽処理の合成出力の出力に対する符号器として作動させてもよい。これにより、復号器の内部状態変数が出力を探知し、復号器内の間違った状態情報に起因する、消去部分終了後の非連続性を回避し、又は少なくともそのような非連続性を低減できる。符号器からの出力は使われない（この符号器の唯一の目的は、状態情報を保持することである）ため、機能を省略した、複雑さが低い型の符号器を使うことができる。
【０１０１】
例示する実施形態（４０サンプル又は２００Ｈｚ）で許容される最低ピッチ周期は、一部の女性及び子供の話者の基本振動数として予測されるものよりも大きい。よって、高周波数の話者の場合、消去部分の開始時点においても、合成音声を生成するために、１よりも多いピッチ周期が使われる。基本振動数が高い話者の場合、より頻繁に波形が繰り返される。合成信号の複数のピッチ周期により、ハーモニック・アーティファクトの可能性が低くなる。この技法はまた、音声内の無声部分や停止などの急激な移行部分において、信号が自然に聞こえるよう保つことを助ける。
【０１０２】
消去部分の後の最初の良好なフレームの終了時におけるＯＬＡ窓は、消去の長さと共に大きくなる。消去が長い場合、新しい良好フレームが到着した時に、位相の不一致が起きる可能性が高い。ＯＬＡ窓を消去の長さの関数として伸ばすことにより、長い消去部分の際の位相不一致に起因する、突然の不調（glitch）を低減させ、同時に、消去が短い場合には、信号を迅速に回復させることを可能にする。
【０１０３】
本発明のＦＥＣ処理はまた、長さを変更可能なＯＬＡ窓を使う。このＯＬＡ窓は、１／４波長である推定ピッチの小さな断片であり、ピッチピークと整列していない。
【０１０４】
本発明のＦＥＣ処理は、有声（voiced）音声と、無声（unvoiced）音声とを区別しない。その代わりに、ＦＥＣ処理は、処理の以下の二つの特性のため、無声音声をうまく再現することができる。（Ａ）最小の窓の大きさが、ほどよく大きいため、音声の無声領域もほどよい多様性を有する。（Ｂ）処理が進むにつれてピッチバッファの長さが増やされ、これによりハーモニック・アーティファクトが導入されないことを保証する。大きな窓を使い有声音声と無声音声とに対する異なる取り扱いを避けることはまた、広く知られた時間スケール技法であるＷＳＯＬＡにも存在することに留意すべきである。
【０１０５】
遅延を追加し、消去部分の開始時点におけるＯＬＡを可能にすることは、本発明の処理においては、望ましくない態様と考えられるが、消去開始時において、本物の信号と合成信号との間の潤滑な移行を保証するために必要である。
【０１０６】
本発明は、上に概要を説明した特定の実施形態に関連して説明されたが、多くの代替案、変更案、及び変形案が、当業者には明らかであろう。したがって、上述の本発明の好適な実施形態は、例として示すものであり、制限するものではない。後述の請求項に定義される本発明の精神及び範囲から逸脱することなく、様々な変更を行ってもよい。
【０１０７】
本発明は、以下の図面を参照して詳述され、これらの図面において同様の符号は同様の要素を参照する。
【図１】
2014206761.tif 000012
【図２】
2014206761.tif 000013
【図３】
2014206761.tif 000014
【図４】
2014206761.tif 000015
【図５】
2014206761.tif 000016
【図６】
2014206761.tif 000017
【図７】
2014206761.tif 000018
【図８】
2014206761.tif 000019
【図９】
2014206761.tif 000020
【図１０】
2014206761.tif 000021
【図１１】
2014206761.tif 000022
【図１２】
2014206761.tif 000023
【図１３】
2014206761.tif 000024
【図１４】
2014206761.tif 000025
【図１５】
2014206761.tif 000026
【図１６】
2014206761.tif 000027
【図１７】
2014206761.tif 000028
【図１８】
2014206761.tif 000029
【手続補正書】
【提出日】平成26年8月22日(2014.8.22)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
復号化された音声信号に基づく省略された信号を使用することによってフレーム消去隠蔽を実行するための装置。