(57)【要約】  遷移音声フレームの低ビットレート符号化のためのシステム、方法、および装置を開示する。
2011525256.tif 000002
【特許請求の範囲】
【請求項１】
音声信号のフレームを符号化する方法であって、
前記音声信号の第１のフレームを第１の符号化フレームとして符号化することと、
前記音声信号の第２のフレームを第２の符号化フレームとして符号化することと、
を備え、
前記第１のフレームを符号化することが、
前記第１のフレームの少なくとも１つのピッチパルスからの情報に基づいて複数の時間領域ピッチパルス形状のうちの１つを選択することと、
前記第１のフレームのターミナルピッチパルスの位置を計算することと、
前記第１のフレームのピッチ周期を推定することと、
を含み、
前記第２のフレームを符号化することが、
前記第２のフレームのピッチパルス形状と前記第１のフレームのピッチパルス形状との間のピッチパルス形状差を計算することと、
前記第２のフレームのピッチ周期と前記第１のフレームのピッチ周期との間のピッチ周期差を計算することと、
を含み、
前記第１の符号化フレームが、前記選択された時間領域ピッチパルス形状と、前記計算された位置と、前記推定されたピッチ周期との各々の表現を含み、
前記第２の符号化フレームが、前記ピッチパルス形状差と前記ピッチ周期差との各々の表現を含み、
前記第２のフレームが前記音声信号中で前記第１のフレームの後に続く、
フレームを符号化する方法。
【請求項２】
前記第２のフレームが前記音声信号中で前記第１のフレームの直後に続く、請求項１に記載のフレームを符号化する方法。
【請求項３】
前記方法が、前記第１のフレームがオンセットフレームであることを検出することを備える、請求項１に記載のフレームを符号化する方法。
【請求項４】
前記第２のフレームを符号化することが、前記第２のフレームの少なくとも１つのピッチパルスからの情報に基づいて周波数領域ピッチプロトタイプを計算することを含み、
前記ピッチパルス形状差が、（Ａ）前記計算された周波数領域ピッチプロトタイプと（Ｂ）前記選択された時間領域ピッチパルス形状の周波数領域表現との間の差に基づく、
請求項１に記載のフレームを符号化する方法。
【請求項５】
前記第１のフレームを符号化することが複数の利得値を計算することを含み、前記複数の利得値の各々が前記第１のフレームの複数のピッチパルスのうちの異なる１つに対応し、
前記第１の符号化フレームが前記複数の利得値の表現を含む、
請求項１に記載のフレームを符号化する方法。
【請求項６】
前記方法が、前記音声信号の第３のフレームを第３の符号化フレームとして符号化することを含み、
前記第２のフレームが前記音声信号中で前記第１のフレームの後に続き、
前記第３のフレームが前記音声信号中で前記第２のフレームの後に続き、
前記第３のフレームを符号化することが、
前記第３のフレームのピッチパルス形状と前記第２のフレームのピッチパルス形状との間の第２のピッチパルス形状差を計算することと、
前記第３のフレームのピッチ周期と前記第２のフレームのピッチ周期との間の第２のピッチ周期差を計算することと、
を含み、
前記第３の符号化フレームが、前記第２のピッチパルス形状差と前記第２のピッチ周期差との表現を含む、
請求項１に記載のフレームを符号化する方法。
【請求項７】
音声信号のフレームを符号化するための装置であって、
前記音声信号の第１のフレームを第１の符号化フレームとして符号化するための手段と、
前記音声信号の第２のフレームを第２の符号化フレームとして符号化するための手段と、
を備え、
前記第１のフレームを符号化するための手段が、
前記第１のフレームの少なくとも１つのピッチパルスからの情報に基づいて複数の時間領域ピッチパルス形状のうちの１つを選択するための手段と、
前記第１のフレームのターミナルピッチパルスの位置を計算するための手段と、
前記第１のフレームのピッチ周期を推定するための手段と、
を含み、
前記第２のフレームを符号化するための手段が、
前記第２のフレームのピッチパルス形状と前記第１のフレームのピッチパルス形状との間のピッチパルス形状差を計算するための手段と、
前記第２のフレームのピッチ周期と前記第１のフレームのピッチ周期との間のピッチ周期差を計算するための手段と、
を含み、
前記第１の符号化フレームが、前記選択された時間領域ピッチパルス形状と、前記計算された位置と、前記推定されたピッチ周期との表現を含み、
前記第２の符号化フレームが、前記ピッチパルス形状差と前記ピッチ周期差との表現を含み、
前記第２のフレームが前記音声信号中で前記第１のフレームの後に続く、
フレームを符号化するための装置。
【請求項８】
前記装置が、前記第１のフレームがオンセットフレームであることを検出するための手段を含む、請求項７に記載のフレームを符号化するための装置。
【請求項９】
前記第２のフレームを符号化するための手段が、前記第２のフレームの少なくとも１つのピッチパルスからの情報に基づいて周波数領域ピッチプロトタイプを計算するための手段を含み、
前記ピッチパルス形状差が、（Ａ）前記計算された周波数領域ピッチプロトタイプと（Ｂ）前記選択された時間領域ピッチパルス形状の周波数領域表現との間の差に基づく、
請求項７に記載のフレームを符号化するための装置。
【請求項１０】
前記第１のフレームを符号化するための手段が複数の利得値を計算するための手段を含み、前記複数の利得値の各々が前記第１のフレームの複数のピッチパルスのうちの異なる１つに対応し、
前記第１の符号化フレームが前記複数の利得値の表現を含む、
請求項７に記載のフレームを符号化するための装置。
【請求項１１】
前記装置が、前記音声信号の第３のフレームを第３の符号化フレームとして符号化するための手段を含み、
前記第２のフレームが前記音声信号中で前記第１のフレームの後に続き、
前記第３のフレームが前記音声信号中で前記第２のフレームの後に続き、
前記第３のフレームを符号化するための手段が、
前記第３のフレームのピッチパルス形状と前記第２のフレームのピッチパルス形状との間の第２のピッチパルス形状差を計算するための手段と、
前記第３のフレームのピッチ周期と前記第２のフレームのピッチ周期との間の第２のピッチ周期差を計算するための手段と、
を含み、
前記第３の符号化フレームが、前記第２のピッチパルス形状差と前記第２のピッチ周期差との表現を含む、
請求項７に記載のフレームを符号化するための装置。
【請求項１２】
音声信号のフレームを符号化するための装置であって、
前記音声信号の第１のフレームを第１の符号化フレームとして符号化するように構成された第１のフレーム符号器と、
前記音声信号の第２のフレームを第２の符号化フレームとして符号化するように構成された第２のフレーム符号器と、
を備え、
前記第１のフレーム符号器が、
前記第１のフレームの少なくとも１つのピッチパルスからの情報に基づいて複数の時間領域ピッチパルス形状のうちの１つを選択するように構成されたピッチパルス形状セレクタと、
前記第１のフレームのターミナルピッチパルスの位置を計算するように構成されたピッチピーク位置計算器と、
前記第１のフレームのピッチ周期を推定するように構成されたピッチ周期推定器と
を含み、
前記第２のフレーム符号器が、
前記第２のフレームのピッチパルス形状と前記第１のフレームのピッチパルス形状との間のピッチパルス形状差を計算するように構成されたピッチパルス形状差計算器と、
前記第２のフレームのピッチ周期と前記第１のフレームのピッチ周期との間のピッチ周期差を計算するように構成されたピッチ周期差計算器と、
を含み、
前記第１の符号化フレームが、前記選択された時間領域ピッチパルス形状と、前記計算された位置と、前記推定されたピッチ周期との表現を含み、
前記第２の符号化フレームが、前記ピッチパルス形状差と前記ピッチ周期差との表現を含み、
前記第２のフレームが前記音声信号中で前記第１のフレームの後に続く、
フレームを符号化するための装置。
【請求項１３】
前記装置が、前記第１のフレームがオンセットフレームであることを検出するように構成されたフレーム分類器を含む、請求項１２に記載のフレームを符号化するための装置。
【請求項１４】
前記第２のフレーム符号器が、前記第２のフレームの少なくとも１つのピッチパルスからの情報に基づいて周波数領域ピッチプロトタイプを計算するように構成されたピッチプロトタイプ計算器を含み、
前記ピッチパルス形状差が、（Ａ）前記計算された周波数領域ピッチプロトタイプと（Ｂ）前記選択された時間領域ピッチパルス形状の周波数領域表現との間の差に基づく、
請求項１２に記載のフレームを符号化するための装置。
【請求項１５】
前記第１のフレーム符号器が複数の利得値を計算するように構成された利得値計算器を含み、前記複数の利得値の各々が前記第１のフレームの複数のピッチパルスのうちの異なる１つに対応し、
前記第１の符号化フレームが前記複数の利得値の表現を含む、
請求項１２に記載のフレームを符号化するための装置。
【請求項１６】
前記第２のフレーム符号器が、前記音声信号の第３のフレームを第３の符号化フレームとして符号化するように構成され、
前記第２のフレームが前記音声信号中で前記第１のフレームの後に続き、
前記第３のフレームが前記音声信号中で前記第２のフレームの後に続き、
前記ピッチパルス形状差計算器が、前記第３のフレームのピッチパルス形状と前記第２のフレームのピッチパルス形状との間の第２のピッチパルス形状差を計算するように構成され、
前記ピッチ周期差計算器が、前記第３のフレームのピッチ周期と前記第２のフレームのピッチ周期との間の第２のピッチ周期差を計算するように構成され、
前記第３の符号化フレームが、前記第２のピッチパルス形状差と前記第２のピッチ周期差との表現を含む、
請求項１２に記載のフレームを符号化するための装置。
【請求項１７】
プロセッサによって実行されるとき、
前記音声信号の第１のフレームを第１の符号化フレームとして符号化することと、
前記音声信号の第２のフレームを第２の符号化フレームとして符号化することと、
を前記プロセッサに行わせる命令を備え、
前記第１のフレームを符号化することを前記プロセッサに行わせる命令が、
前記第１のフレームの少なくとも１つのピッチパルスからの情報に基づいて複数の時間領域ピッチパルス形状のうちの１つを選択することを前記プロセッサに行わせる命令と、
前記第１のフレームのターミナルピッチピークの位置を計算することを前記プロセッサに行わせる命令と、
前記第１のフレームのピッチ周期を推定することを前記プロセッサに行わせる命令と
を含み、
前記第２のフレームを符号化することを前記プロセッサに行わせる命令が、
前記第２のフレームのピッチパルス形状と前記第１のフレームのピッチパルス形状との間のピッチパルス形状差を計算することを前記プロセッサに行わせる命令と、
前記第２のフレームのピッチ周期と前記第１のフレームのピッチ周期との間のピッチ周期差を計算することを前記プロセッサに行わせる命令と
を含み、
前記第１の符号化フレームが、前記選択された時間領域ピッチパルス形状と、前記計算された位置と、前記推定されたピッチ周期との表現を含み、
前記第２の符号化フレームが、前記ピッチパルス形状差と前記ピッチ周期差との表現を含み、
前記第２のフレームが前記音声信号中で前記第１のフレームの後に続く、
コンピュータ可読媒体。
【請求項１８】
前記媒体が、プロセッサによって実行されるとき、前記第１のフレームがオンセットフレームであることを検出することを前記プロセッサに行わせる命令を含む、請求項１７に記載のコンピュータ可読媒体。
【請求項１９】
前記第２のフレームを符号化することを前記プロセッサに行わせる命令が、前記第２のフレームの少なくとも１つのピッチパルスからの情報に基づいて周波数領域ピッチプロトタイプを計算することを前記プロセッサに行わせる命令を含み、
前記ピッチパルス形状差が、（Ａ）前記計算された周波数領域ピッチプロトタイプと（Ｂ）前記選択された時間領域ピッチパルス形状の周波数領域表現との間の差に基づく、
請求項１７に記載のコンピュータ可読媒体。
【請求項２０】
前記第１のフレームを符号化することを前記プロセッサに行わせる命令が、複数の利得値を計算すること前記プロセッサに行わせる命令を含み、前記複数の利得値の各々が前記第１のフレームの複数のピッチパルスのうちの異なる１つに対応し、
前記第１の符号化フレームが前記複数の利得値の表現を含む、
請求項１７に記載のコンピュータ可読媒体。
【請求項２１】
前記媒体が、プロセッサによって実行されるとき、前記音声信号の第３のフレームを第３の符号化フレームとして符号化することを前記プロセッサに行わせる命令を含み、
前記第２のフレームが前記音声信号中で前記第１のフレームの後に続き、
前記第３のフレームが前記音声信号中で前記第２のフレームの後に続き、
前記第３のフレームを符号化することを前記プロセッサに行わせる命令が、
前記第３のフレームのピッチパルス形状と前記第２のフレームのピッチパルス形状との間の第２のピッチパルス形状差を計算することを前記プロセッサに行わせる命令と、
前記第３のフレームのピッチ周期と前記第２のフレームのピッチ周期との間の第２のピッチ周期差を計算することを前記プロセッサに行わせる命令と、
を含み、
前記第３の符号化フレームが、前記第２のピッチパルス形状差と前記第２のピッチ周期差との表現を含む、
請求項１７に記載のコンピュータ可読媒体。
【請求項２２】
音声信号の励起信号を復号する方法であって、
第１の励起信号を得るために第１の符号化フレームの部分を復号することと、
第２の励起信号を得るために第２の符号化フレームの部分を復号することと、
を備え、
前記第１の符号化フレームの前記部分が、時間領域ピッチパルス形状と、ピッチピーク位置と、ピッチ周期との各々の表現を含み、
前記第２の符号化フレームの前記部分が、ピッチパルス形状差とピッチ周期差の各々の表現を含み、
前記第１の符号化フレームの部分を復号することが、
前記ピッチピーク位置に従って前記第１の励起信号内に前記時間領域ピッチパルス形状の第１のコピーを構成することと、
前記ピッチピーク位置と前記ピッチ周期とに従って前記第１の励起信号内に前記時間領域ピッチパルス形状の第２のコピーを構成することと、
を含み、
前記第２の符号化フレームの部分を復号することが、
前記時間領域ピッチパルス形状と前記ピッチパルス形状差とに基づいて第２のピッチパルス形状を計算することと、
前記ピッチ周期と前記ピッチ周期差とに基づいて第２のピッチ周期を計算することと、
前記ピッチピーク位置と前記第２のピッチ周期とに従って前記第２の励起信号内に前記第２のピッチパルス形状の複数のコピーを構成することと、
を含む、音声信号の励起信号を復号する方法。
【請求項２３】
前記第１の符号化フレームの前記部分が複数の利得値の表現を含み、
前記第１の符号化フレームの部分を復号することが、
前記複数の利得値のうちの１つを前記時間領域ピッチパルス形状の前記第１のコピーに適用することと、
前記複数の利得値のうちの異なる１つを前記時間領域ピッチパルス形状の前記第２のコピーに適用することと、
を含む、請求項２２に記載の励起信号を復号する方法。
【請求項２４】
音声信号のフレームのピッチピークを検出する方法であって、
前記フレームの第１のピッチピークを検出することと、
前記フレームの第１の探索ウィンドウ内の複数のサンプルの中から候補サンプルを選択することと、
複数の距離の中から候補距離を選択することと、前記複数の距離の各々が前記フレームの第２の探索ウィンドウ内の異なるサンプルに対応する、
（Ａ）前記候補サンプルと（Ｂ）前記候補距離に対応する前記サンプルとのうちの１つを前記フレームの第２のピッチピークとして選択することと、
を備え、
前記複数の距離の各々が、Ａ）前記対応するサンプルと、Ｂ）前記第１のピッチピークとの間の距離である、
ピッチピークを検出する方法。
【請求項２５】
前記候補距離に対応する前記サンプルが前記候補サンプルとは異なる、請求項２４に記載のピッチピークを検出する方法。
【請求項２６】
前記候補サンプルを選択することが、（Ａ）前記第１の探索ウィンドウ内の前記サンプルの中から最大振幅を有する前記サンプルを前記候補サンプルとして選択することと、（Ｂ）前記第１の探索ウィンドウ内の前記サンプルの中から最大絶対値を有する前記サンプルを前記候補サンプルとして選択することと、（Ｃ）前記第１の探索ウィンドウ内の前記サンプルの中から最大エネルギーを有する前記サンプルを前記候補サンプルとして選択することとのうちの少なくとも１つを含む、請求項２４に記載のピッチピークを検出する方法。
【請求項２７】
前記候補サンプルを選択することが、前記第１の探索ウィンドウ内の前記サンプルの中から最大振幅を有する前記サンプルを前記候補サンプルとして選択することを含む、請求項２４に記載のピッチピークを検出する方法。
【請求項２８】
前記方法が、前記複数の距離の各々について、前記対応するサンプルの近傍と前記第１のピッチピークの近傍との間の相関の値を計算することを備え、
前記候補距離を選択することが、前記計算された相関値の中から最大値に対応する前記距離を前記候補距離として選択することを含む、
請求項２４に記載のピッチピークを検出する方法。
【請求項２９】
前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの１つを選択することが、（Ａ）前記候補サンプルのエネルギーに基づく値と第１のしきい値との間の関係と、（Ｂ）前記候補距離に対応する前記計算された相関値と第２のしきい値との間の関係とのうちの少なくとも１つに基づく、請求項２８に記載のピッチピークを検出する方法。
【請求項３０】
前記第１のピッチピークが前記フレームのターミナルピッチピークである、請求項２４に記載のピッチピークを検出する方法。
【請求項３１】
前記方法が、前記フレームの第１のピッチピークを検出することより前に、前記フレームの第３のピッチピークを検出することを備え、前記第３のピッチピークが前記フレームのターミナルピッチピークである、請求項２４に記載のピッチピークを検出する方法。
【請求項３２】
前記フレームの第１のピッチピークを検出することが、（Ａ）前記フレーム内の前記第３のピッチピークの位置と、（Ｂ）ピッチ周期推定値と、（Ｃ）第１のエネルギーしきい値と前記第１のピッチピークのエネルギーに基づく値との間の関係とに基づく、請求項３１に記載のピッチピークを検出する方法。
【請求項３３】
前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの１つを選択することが、（Ａ）前記候補サンプルのエネルギーに基づく値と第２のしきい値との間の関係と、（Ｂ）前記候補距離に対応する前記サンプルのエネルギーに基づく値と前記第２のしきい値との間の関係とのうちの少なくとも１つに基づき、
前記第２のしきい値が前記第１のしきい値未満である、
請求項３２に記載のピッチピークを検出する方法。
【請求項３４】
音声信号のフレームのピッチピークを検出するための装置であって、
前記フレームの第１のピッチピークを検出するための手段と、
前記フレームの第１の探索ウィンドウ内の複数のサンプルの中から候補サンプルを選択するための手段と、
複数の距離の中から候補距離を選択するための手段と、前記複数の距離の各々が前記フレームの第２の探索ウィンドウ内の異なるサンプルに対応する、
（Ａ）前記候補サンプルと（Ｂ）前記候補距離に対応する前記サンプルとのうちの１つを前記フレームの第２のピッチピークとして選択するための手段と、
を備え、
前記複数の距離の各々が、Ａ）前記対応するサンプルと、Ｂ）前記第１のピッチピークとの間の距離である、
ピッチピークを検出するための装置。
【請求項３５】
前記候補サンプルを選択するための手段が、前記第１の探索ウィンドウ内の前記サンプルの中から最大振幅を有する前記サンプルを前記候補サンプルとして選択するように構成された、請求項３４に記載のピッチピークを検出するための装置。
【請求項３６】
前記装置が、前記複数の距離の各々について、前記対応するサンプルの近傍と前記第１のピッチピークの近傍との間の相関の値を計算するための手段を備え、
前記候補距離を選択するための手段が、前記計算された相関値の中から最大値に対応する前記距離を前記候補距離として選択するように構成された、
請求項３４に記載のピッチピークを検出するための装置。
【請求項３７】
前記前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの１つを選択するための手段が、（Ａ）前記候補サンプルのエネルギーに基づく値と第１のしきい値との間の関係と、（Ｂ）前記候補距離に対応する前記計算された相関値と第２のしきい値との間の関係とのうちの少なくとも１つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの前記１つを選択するように構成された、請求項３６に記載のピッチピークを検出するための装置。
【請求項３８】
前記装置が、前記フレームの第３のピッチピークを検出するための手段を備え、前記第３のピッチピークが前記フレームのターミナルピッチピークであり、
前記フレームの第１のピッチピークを検出するための手段が、（Ａ）前記フレーム内の前記第３のピッチピークの位置と、（Ｂ）ピッチ周期推定値と、（Ｃ）第１のエネルギーしきい値と前記第１のピッチピークのエネルギーに基づく値との間の関係とに基づいて前記第１のピッチピークを検出するように構成された、請求項３４に記載のピッチピークを検出するための装置。
【請求項３９】
前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの１つを選択するための手段が、（Ａ）前記候補サンプルのエネルギーに基づく値と第２のしきい値との間の関係と、（Ｂ）前記候補距離に対応する前記サンプルのエネルギーに基づく値と前記第２のしきい値との間の関係のうちの少なくとも１つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの前記１つを選択するように構成され、
前記第２のしきい値が前記第１のしきい値未満である、
請求項３８に記載のピッチピークを検出するための装置。
【請求項４０】
音声信号のフレームのピッチピークを検出するための装置であって、
前記フレームの第１のピッチピークを検出するように構成されたピーク検出器と、
前記フレームの第１の探索ウィンドウ内の複数のサンプルの中から候補サンプルを選択するように構成されたサンプルセレクタと、
複数の距離の中から候補距離を選択するように構成された距離セレクタと、前記複数の距離の各々が前記フレームの第２の探索ウィンドウ内の異なるサンプルに対応する、
（Ａ）前記候補サンプルと（Ｂ）前記候補距離に対応する前記サンプルとのうちの１つを前記フレームの第２のピッチピークとして選択するように構成されたピークセレクタと
を備え、
前記複数の距離の各々が、Ａ）前記対応するサンプルと、Ｂ）前記第１のピッチピークとの間の距離である、
ピッチピークを検出するための装置。
【請求項４１】
前記サンプルセレクタが、前記第１の探索ウィンドウ内の前記サンプルの中から最大振幅を有する前記サンプルを前記候補サンプルとして選択するように構成された、請求項４０に記載のピッチピークを検出するための装置。
【請求項４２】
前記装置が、前記複数の距離の各々について、前記対応するサンプルの近傍と前記第１のピッチピークの近傍との間の相関の値を計算するように構成された相関器を備え、
前記距離セレクタが、前記計算された相関値の中から最大値に対応する前記距離を前記候補距離として選択するように構成された、
請求項４０に記載のピッチピークを検出するための装置。
【請求項４３】
前記ピークセレクタが、（Ａ）前記候補サンプルのエネルギーに基づく値と第１のしきい値との間の関係と、（Ｂ）前記候補距離に対応する前記計算された相関値と第２のしきい値との間の関係とのうちの少なくとも１つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの１つを選択するように構成された、請求項４２に記載のピッチピークを検出するための装置。
【請求項４４】
前記装置が、前記フレームの第３のピッチピークを検出するように構成されたターミナルピーク検出器を備え、前記第３のピッチピークが前記フレームのターミナルピッチピークであり、
前記ピーク検出器が、（Ａ）前記フレーム内の前記第３のピッチピークの位置と、（Ｂ）ピッチ周期推定値と、（Ｃ）第１のエネルギーしきい値と前記第１のピッチピークのエネルギーに基づく値との間の関係とに基づいて前記第１のピッチピークを検出するように構成された、
請求項４０に記載のピッチピークを検出するための装置。
【請求項４５】
前記ピークセレクタが、（Ａ）前記候補サンプルのエネルギーに基づく値と第２のしきい値との間の関係と、（Ｂ）前記候補距離に対応する前記サンプルのエネルギーに基づく値と前記第２のしきい値との間の関係とのうちの少なくとも１つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの１つを選択するように構成され、
前記第２のしきい値が前記第１のしきい値未満である、
請求項４４に記載のピッチピークを検出するための装置。
【請求項４６】
プロセッサによって実行されるとき、
前記フレームの第１のピッチピークを検出することと、
前記フレームの第１の探索ウィンドウ内の複数のサンプルの中から候補サンプルを選択することと、
複数の距離の中から候補距離を選択することと、前記複数の距離の各々が前記フレームの第２の探索ウィンドウ内の異なるサンプルに対応する、
（Ａ）前記候補サンプルと（Ｂ）前記候補距離に対応する前記サンプルとのうちの１つを前記フレームの第２のピッチピークとして選択することと、
を前記プロセッサに行わせる命令を備え、
前記複数の距離の各々が、Ａ）前記対応するサンプルと、Ｂ）前記第１のピッチピークとの間の距離である、
コンピュータ可読媒体。
【請求項４７】
前記候補サンプルを選択することをプロセッサに行わせる命令が、前記第１の探索ウィンドウ内の前記サンプルの中から最大振幅を有する前記サンプルを前記候補サンプルとして選択することを前記プロセッサに行わせる命令を含む、請求項４６に記載のコンピュータ可読媒体。
【請求項４８】
前記媒体が、プロセッサによって実行されるとき、前記複数の距離の各々について、前記対応するサンプルの近傍と前記第１のピッチピークの近傍との間の相関の値を計算することを前記プロセッサに行わせる命令を備え、
前記候補距離を選択することを前記プロセッサに行わせる命令が、前記計算された相関値の中から最大値に対応する前記距離を前記候補距離として選択することを前記プロセッサに行わせる命令を含む、
請求項４６に記載のコンピュータ可読媒体。
【請求項４９】
前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの１つを選択することを前記プロセッサに行わせる命令が、（Ａ）前記候補サンプルのエネルギーに基づく値と第１のしきい値との間の関係と、（Ｂ）前記候補距離に対応する前記計算された相関値と第２のしきい値との間の関係とのうちの少なくとも１つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの前記１つを選択することを前記プロセッサに行わせる命令を含む、請求項４８に記載のコンピュータ可読媒体。
【請求項５０】
前記媒体が、プロセッサによって実行されるとき、前記フレームの第３のピッチピークを検出することを前記プロセッサに行わせる命令を備え、前記第３のピッチピークが前記フレームのターミナルピッチピークであり、
前記フレームの第１のピッチピークを検出することを前記プロセッサに行わせる命令が、（Ａ）前記フレーム内の前記第３のピッチピークの位置と、（Ｂ）ピッチ周期推定値と、（Ｃ）第１のエネルギーしきい値と前記第１のピッチピークのエネルギーに基づく値との間の関係とに基づいて前記第１のピッチピークを検出することを前記プロセッサに行わせる命令を含む、
請求項４６に記載のコンピュータ可読媒体。
【請求項５１】
前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの１つを選択することを前記プロセッサに行わせる命令が、（Ａ）前記候補サンプルのエネルギーに基づく値と第２のしきい値との間の関係と、（Ｂ）前記候補距離に対応する前記サンプルのエネルギーと第２のしきい値との間の関係とのうちの少なくとも１つに基づいて、前記候補サンプルと前記候補距離に対応する前記サンプルとのうちの前記１つを選択することを前記プロセッサに行わせる命令を含み、
前記第２のしきい値が前記第１のしきい値未満である、
請求項５０に記載のコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、音声信号の処理に関する。
【背景技術】
【０００２】
デジタル技法によるボイスおよび音楽などのオーディオ信号の伝送は、特に長距離テレフォニー(telephony)、ボイスオーバーＩＰ（ＶｏＩＰとも呼ばれ、ＩＰはインターネットプロトコルを示す）などのパケット交換テレフォニー、およびセルラーテレフォニーなどのデジタル無線テレフォニーにおいて普及してきた。そのような普及により、再構成された音声の知覚品質を維持しながら、伝送チャネルによってボイス通信を転送するために使用される情報量を低減することに関心が生じている。たとえば、利用可能な無線システム帯域幅を最も良く使用することが望ましい。システム帯域幅を効率的に使用する１つの方法は、信号圧縮技法を採用することである。音声信号を搬送する無線システムの場合、通常、音声圧縮（または「音声符号化」）技法がこの目的のために採用される。
【０００３】
人間音声発生のモデルに関係するパラメータを抽出することによって音声を圧縮するように構成されたデバイスは、しばしば、ボコーダ(vocoders)、「オーディオコーダ」、または「音声コーダ」と呼ばれる。（本明細書では、これらの３つの用語を互換的に使用する。）音声コーダは、一般に符号器と復号器とを含む。符号器は、一般に、着信音声信号（オーディオ情報を表すデジタル信号）を「フレーム」と呼ばれる時間のセグメントに分割し、各フレームを分析して、いくつかの関係するパラメータを抽出し、それらのパラメータを符号化フレームに量子化する。符号化フレームは、伝送チャネル（すなわち、有線または無線ネットワーク接続）を介して、復号器を含む受信機に送信される。復号器は、符号化フレームを受信し、処理し、逆量子化して、パラメータを生成し、逆量子化されたパラメータを使用して音声フレームを再現する。
【０００４】
典型的な会話では、各話者は、その時間の約６０パーセントの間は沈黙状態である。音声符号器は、通常、音声を含んでいる音声信号のフレーム（「アクティブフレーム」）を、無音または背景雑音のみを含んでいる音声信号のフレーム（「非アクティブフレーム」）と区別するように構成される。そのような符号器は、様々な符号化モードおよび／またはレートを使用して、アクティブおよび非アクティブフレームを符号化するように構成できる。たとえば、音声符号器は、一般に、アクティブフレームを符号化する場合よりも、非アクティブフレームを符号化する場合のほうが、使用するビットが少なくなるように構成される。音声コーダは、知覚される品質損失がほとんどない、より低い平均ビットレートでの音声信号の転送をサポートするために、非アクティブフレームに対してより低いビットレートを使用する。
【０００５】
アクティブフレームを符号化するために使用されるビットレートの例は、１フレーム当たり１７１ビット、１フレーム当たり８０ビット、および１フレーム当たり４０ビットを含む。非アクティブフレームを符号化するために使用されるビットレートの例は、１フレーム当たり１６ビットを含む。セルラーテレフォニーシステム（特に、Ｔｅｌｅｃｏｍｍｕｎｉｃａｔｉｏｎｓ  Ｉｎｄｕｓｔｒｙ  Ａｓｓｏｃｉａｔｉｏｎ（バージニア州アーリントン）によって公表された暫定標準（ＩＳ）−９５、または同様の業界標準に準拠するシステム）のコンテキストでは、これらの４つのビットレートは、それぞれ「フルレート」、「ハーフレート」、「１／４レート」、および「１／８レート」とも呼ばれる。
【発明の概要】
【０００６】
１つの構成による音声信号のフレームを符号化する方法は、音声信号の第１のフレームを第１の符号化フレームとして符号化することと、音声信号の第２のフレームを第２の符号化フレームとして符号化することとを含む。本方法では、第１のフレームを符号化することは、第１のフレームの少なくとも１つのピッチパルスからの情報に基づいて複数の時間領域ピッチパルス形状のうちの１つを選択することと、第１のフレームのターミナルピッチパルスの位置を計算することと、第１のフレームのピッチ周期を推定することとを含む。本方法では、第２のフレームを符号化することは、第２のフレームのピッチパルス形状と第１のフレームのピッチパルス形状との間のピッチパルス形状差を計算することと、第２のフレームのピッチ周期と第１のフレームのピッチ周期との間のピッチ周期差を計算することとを含む。本方法では、第１の符号化フレームは、選択された時間領域ピッチパルス形状と、計算された位置と、推定されたピッチ周期との各々の表現(representations)を含む。本方法では、第２の符号化フレームは、ピッチパルス形状差とピッチ周期差との各々の表現を含み、第２のフレームは音声信号中で前記第１のフレームの後に続く。
【０００７】
１つの構成による音声信号の励起信号を復号する方法は、第１の励起信号を得るために第１の符号化フレームの部分を復号することと、第２の励起信号を得るために第２の符号化フレームの部分を復号することとを含む。本方法では、第１の符号化フレームの部分は、時間領域ピッチパルス形状と、ピッチピーク位置と、ピッチ周期との各々の表現を含む。本方法では、第２の符号化フレームの部分は、ピッチパルス形状差とピッチ周期差との各々の表現を含む。本方法では、第１の符号化フレームの部分を復号することは、ピッチピーク位置に従って第１の励起信号内に時間領域ピッチパルス形状の第１のコピーを構成することと、ピッチピーク位置とピッチ周期とに従って第１の励起信号内に時間領域ピッチパルス形状の第２のコピーを構成することとを含む。本方法では、第２の符号化フレームの部分を復号することは、時間領域ピッチパルス形状とピッチパルス形状差とに基づいて第２のピッチパルス形状を計算することと、ピッチ周期とピッチ周期差とに基づいて第２のピッチ周期を計算することと、ピッチピーク位置と第２のピッチ周期とに従って第２の励起信号内に第２のピッチパルス形状の複数のコピーを構成することとを含む。
【０００８】
１つの構成による音声信号のフレームのピッチピークを検出する方法は、フレームの第１のピッチピークを検出することと、フレームの第１の探索ウィンドウ内の複数のサンプルの中から候補サンプルを選択することと、複数の距離の中から候補距離を選択することと、複数の距離の各々がフレームの第２の探索ウィンドウ内の異なるサンプルに対応する、を含む。本方法は、（Ａ）候補サンプルと（Ｂ）候補距離に対応するサンプルとのうちの１つをフレームの第２のピッチピークとして選択することを含む。本方法では、複数の距離の各々は、Ａ）対応するサンプルと、Ｂ）第１のピッチピークとの間の距離である。
【０００９】
また、そのような方法を実行するように構成された装置および他の手段と、プロセッサによって実行されるとき、プロセッサにそのような方法の要素を実行させる命令を有するコンピュータ可読媒体とを明確に企図し、本明細書で開示する。
【図面の簡単な説明】
【００１０】
【図１】音声信号の有声セグメントの例を示す図。
【図２Ａ】音声セグメントの時間に対する振幅の例を示す図。
【図２Ｂ】ＬＰＣ残差の時間に対する振幅の例を示す図。
【図３Ａ】一般的構成による音声符号化の方法Ｍ１００のフローチャート。
【図３Ｂ】符号化タスクＥ１００の実装形態Ｅ１０２のフローチャート。
【図４】フレーム中の特徴の概略図。
【図５Ａ】符号化タスクＥ２００の実装形態Ｅ２０２の図。
【図５Ｂ】方法Ｍ１００の実装形態Ｍ１１０のフローチャート。
【図５Ｃ】方法Ｍ１００の実装形態Ｍ１２０のフローチャート。
【図６Ａ】一般的構成による装置ＭＦ１００のブロック図。
【図６Ｂ】手段ＦＥ１００の実装形態ＦＥ１０２のブロック図。
【図７Ａ】一般的構成による、音声信号の励起信号を復号する方法Ｍ２００のフローチャート。
【図７Ｂ】復号タスクＤ１００の実装形態Ｄ１０２のフローチャート。
【図８Ａ】一般的構成による装置ＭＦ２００のブロック図。
【図８Ｂ】復号するための手段ＦＤ１００の実装形態ＦＤ１０２のフローチャート。
【図９Ａ】音声符号器ＡＥ１０および対応する音声復号器ＡＤ１０を示す図。
【図９Ｂ】音声符号器ＡＥ１０のインスタンスＡＥ１０ａ、ＡＥ１０ｂおよび音声復号器ＡＤ１０のインスタンスＡＤ１０ａ、ＡＤ１０ｂを示す図。
【図１０Ａ】一般的構成による、音声信号Ａ１００のフレームを符号化するための装置のブロック図。
【図１０Ｂ】符号器１００の実装形態１０２のブロック図。
【図１１Ａ】一般的構成による、音声信号Ａ２００の励起信号を復号するための装置のブロック図。
【図１１Ｂ】第１のフレーム復号器３００の実装形態３０２のブロック図。
【図１２Ａ】音声符号器ＡＥ１０のマルチモード実装形態ＡＥ２０のブロック図。
【図１２Ｂ】音声復号器ＡＤ１０のマルチモード実装形態ＡＤ２０のブロック図。
【図１３】残差発生器Ｒ１０のブロック図。
【図１４】衛星通信のためのシステムの概略図。
【図１５Ａ】一般的構成による方法Ｍ３００のフローチャート。
【図１５Ｂ】タスクＬ１００の実装形態Ｌ１０２のブロック図。
【図１５Ｃ】タスクＬ２００の実装形態Ｌ２０２のフローチャート。
【図１６Ａ】タスクＬ１２０による探索の例を示す図。
【図１６Ｂ】タスクＬ１３０による探索の例を示す図。
【図１７Ａ】タスクＬ２１０の実装形態Ｌ２１０ａのフローチャート。
【図１７Ｂ】タスクＬ２２０の実装形態Ｌ２２０ａのフローチャート。
【図１７Ｃ】タスクＬ２３０の実装形態Ｌ２３０ａのフローチャート。
【図１８Ａ】タスクＬ２１２の反復の探索動作を示す図。
【図１８Ｂ】タスクＬ２１２の反復の探索動作を示す図。
【図１８Ｃ】タスクＬ２１２の反復の探索動作を示す図。
【図１８Ｄ】タスクＬ２１２の反復の探索動作を示す図。
【図１８Ｅ】タスクＬ２１２の反復の探索動作を示す図。
【図１８Ｆ】タスクＬ２１２の反復の探索動作を示す図。
【図１９Ａ】タスクＬ２１４のテスト条件のテーブル。
【図１９Ｂ】タスクＬ２２２の反復の探索動作を示す図。
【図１９Ｃ】タスクＬ２２２の反復の探索動作を示す図。
【図２０Ａ】タスクＬ２３２の探索動作を示す図。
【図２０Ｂ】タスクＬ２３４の探索動作を示す図。
【図２０Ｃ】タスクＬ２３２の反復の探索動作を示す図。
【図２１】タスクＬ３００の実装形態Ｌ３０２のフローチャート。
【図２２Ａ】タスクＬ３２０の探索動作を示す図。
【図２２Ｂ】タスクＬ３２０の代替探索動作を示す図。
【図２２Ｃ】タスクＬ３２０の代替探索動作を示す図。
【図２３】タスクＬ３３０の実装形態Ｌ３３２のフローチャート。
【図２４Ａ】タスクＬ３３４の実装形態によって使用されるテスト条件の４つの異なるセットを示す図。
【図２４Ｂ】タスクＬ３３８の実装形態Ｌ３３８ａのフローチャート。
【図２５】タスクＬ３００の実装形態Ｌ３０４のフローチャート。
【図２６】音声符号器ＡＥ１０の実装形態の様々な符号化方式のためのビット割振りのテーブル。
【図２７Ａ】一般的構成による装置ＭＦ３００のブロック図。
【図２７Ｂ】一般的構成による装置Ａ３００のブロック図。
【図２７Ｃ】一般的構成による装置ＭＦ３５０のブロック図。
【図２７Ｄ】一般的構成による装置Ａ３５０のブロック図。
【図２８】一般的構成による方法Ｍ５００のフローチャート。
【図２９Ａ】１６０ビットフレームの様々な領域を示す図。
【図２９Ｂ】１６０ビットフレームの様々な領域を示す図。
【図２９Ｃ】１６０ビットフレームの様々な領域を示す図。
【図２９Ｄ】１６０ビットフレームの様々な領域を示す図。
【図３０】一般的構成による方法Ｍ６００のフローチャート。
【図３１Ａ】ビンへのラグレンジの均一分割の例を示す図。
【図３１Ｂ】ビンへのラグレンジの不均一分割の例を示す図。
【図３２】フレーム分類方式で使用される特徴のリストを示す図。
【図３３】ピッチベースの正規化自己相関関数を計算するためのプロシージャのフローチャート。
【図３４】ハイレベルでのフレーム分類方式を示すフローチャート。
【図３５】フレーム分類方式での状態間の可能な遷移を示す状態図。
【図３６】フレーム分類方式の図３８〜図４０および図４１〜図４４とは異なるプロシージャのコードリストを示す図。
【図３７】フレーム分類方式の図３８〜図４０および図４１〜図４４とは異なるプロシージャのコードリストを示す図。
【図３８】フレーム分類方式の図３６〜図３７および図４１〜図４４とは異なるプロシージャのコードリストを示す図。
【図３９】フレーム分類方式の図３６〜図３７および図４１〜図４４とは異なるプロシージャのコードリストを示す図。
【図４０】フレーム分類方式の図３６〜図３７および図４１〜図４４とは異なるプロシージャのコードリストを示す図。
【図４１】フレーム分類方式の図３６〜図３７および図３８〜図４０とは異なるプロシージャのコードリストを示す図。
【図４２】フレーム分類方式の図３６〜図３７および図３８〜図４０とは異なるプロシージャのコードリストを示す図。
【図４３】フレーム分類方式の図３６〜図３７および図３８〜図４０とは異なるプロシージャのコードリストを示す図。
【図４４】フレーム分類方式の図３６〜図３７および図３８〜図４０とは異なるプロシージャのコードリストを示す図。
【図４５】フレーム再分類の条件を示す図。
【図４６】フレーム再分類の条件を示す図。
【図４７】フレーム再分類の条件を示す図。
【図４８】フレーム再分類の条件を示す図。
【図４９】フレーム再分類の条件を示す図。
【図５０】フレーム再分類の条件を示す図。
【図５１】フレーム再分類の条件を示す図。
【図５２Ａ】フレーム再分類の条件を示す図。
【図５２Ｂ】フレーム再分類の条件を示す図。
【図５３】音声符号器ＡＥ２０の実装形態ＡＥ３０のブロック図。
【図５４Ａ】音声符号器ＡＥ１０の実装形態ＡＥ４０のブロック図。
【図５４Ｂ】周期フレーム符号器Ｅ７０の実装形態Ｅ７２のブロック図。
【図５５】周期フレーム符号器Ｅ７２の実装形態Ｅ７４のブロック図。
【図５６Ａ】遷移フレーム符号化モードの使用が望ましい、いくつかの典型的なフレームシーケンスを示す図。
【図５６Ｂ】遷移フレーム符号化モードの使用が望ましい、いくつかの典型的なフレームシーケンスを示す図。
【図５６Ｃ】遷移フレーム符号化モードの使用が望ましい、いくつかの典型的なフレームシーケンスを示す図。
【図５６Ｄ】遷移フレーム符号化モードの使用が望ましい、いくつかの典型的なフレームシーケンスを示す図。
【図５７】コードリストを示す図。
【図５８】遷移フレーム符号化を使用するという決定をキャンセルするための４つの異なる条件を示す図。
【図５９】一般的構成による方法Ｍ７００の図。
【発明を実施するための形態】
【００１１】
参照ラベルは、同じ構造を示すために２つ以上の図中に出現することがある。
【００１２】
本明細書で説明するシステム、方法、および装置（たとえば、方法Ｍ１００、Ｍ２００、Ｍ３００、Ｍ５００、Ｍ６００、および／またはＭ７００）を使用して、２キロビット毎秒などの低い固定ビットレートまたは低い最大ビットレートでの音声符号化をサポートすることができる。そのような制約付きビットレート音声符号化の適用は、セルラーまたはワイヤラインテレフォニーのための通信インフラストラクチャがないリモートエリアにおける電話サービスをサポートするために使用できる、（「ボイスオーバーサテライト」とも呼ばれる）衛星リンクを介したボイステレフォニーの伝送を含む。衛星テレフォニーを使用して、車両フリート(vehicle fleets)などのモバイル受信機のための連続ワイドエリアカバレージをサポートすることもでき、プッシュツートークなどのサービスが可能になる。より一般的には、そのような制約付きビットレート音声符号化の適用は、衛星を必要とする適用に限定されず、電力制限されたチャネルに拡張することができる。
【００１３】
文脈によって明確に限定されない限り、「信号」という用語は、本明細書では、ワイヤ、バス、または他の伝送媒体上に表されたメモリ位置（またはメモリ位置のセット）の状態を含む、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「発生（generating）」という用語は、本明細書では、計算（computing）または別様の生成（producing）など、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「計算（calculating）」という用語は、本明細書では、値のセットから計算すること（computing）、評価すること、発生すること（generating）、および／または選択することなど、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「得る」という用語は、計算、導出、（たとえば、外部デバイスからの）受信、および／または（たとえば、記憶要素のアレイからの）検索など、その通常の意味のいずれをも示すのに使用される。文脈によって明確に限定されない限り、「評価」という用語は、計算（computing）および／または評価など、その通常の意味のいずれをも示すのに使用される。「備える」という用語は、本明細書および特許請求の範囲において使用される場合、他の要素または動作を除外するものではない。「に基づく」（「ＡはＢに基づく」など）という用語は、（ｉ）「少なくとも〜に基づく」（たとえば、「Ａは少なくともＢに基づく」）、および特定の文脈で適当な場合に、（ｉｉ）「と等しい」（たとえば、「ＡはＢと等しい」）という場合を含む、その通常の意味のいずれをも示すのに使用される。文書の一部の参照によるいかなる組込みも、そのような定義が文書中の他の場所に現れた場合、その部分内で言及された用語または変数の定義を組み込んでいることをも理解されたい。
【００１４】
別段の指示がない限り、特定の特徴を有する音声符号器のいかなる開示も、類似の特徴を有する音声符号化の方法を開示する（その逆も同様）ことをも明確に意図し、特定の構成による音声符号器のいかなる開示も、類似の構成による音声符号化の方法を開示する（その逆も同様）ことをも明確に意図する。別段の指示がない限り、音声信号のフレームに対して演算を実行するための装置のいかなる開示も、音声信号のフレームに対して演算を実行するための対応する方法を開示する（その逆も同様）ことをも明確に意図する。別段の指示がない限り、特定の特徴を有する音声復号器のいかなる開示も、類似の特徴を有する音声復号の方法を開示する（その逆も同様）ことをも明確に意図し、特定の構成による音声復号器のいかなる開示も、類似の構成による音声復号の方法を開示する（その逆も同様）ことをも明確に意図する。「コーダ」、「コーデック」、および「符号化システム」という用語は、（場合によっては知覚的重み付けおよび／または他のフィルタ処理演算などの１つまたは複数の前処理演算の後に）音声信号のフレームを受信するように構成された少なくとも１つの符号器と、フレームの復号表現を生成するように構成された対応する復号器とを含むシステムを示すのに互換的に使用される。
【００１５】
音声符号化を目的として、音声信号は、一般に、サンプルのストリームを得るためにデジタル化（または量子化）される。デジタル化プロセスは、たとえば、パルス符号変調（ＰＣＭ）、圧伸μ−ｌａｗ  ＰＣＭ、および圧伸Ａ−ｌａｗ  ＰＣＭを含む、当技術分野で知られている様々な方法のいずれかに従って実行できる。狭帯域音声符号器は、一般に、８ｋＨｚのサンプリングレートを使用するが、広帯域音声符号器は、一般に、より高いサンプリングレート（たとえば、１２ｋＨｚまたは１６ｋＨｚ）を使用する。
【００１６】
音声符号器は、デジタル化された音声信号をフレームの連続として処理するように構成される。この連続は、通常、重複しない連続として実装されるが、フレームまたは（サブフレームとも呼ばれる）フレームのセグメントを処理する演算は、その入力中に１つまたは複数の隣接フレームのセグメントを含むこともできる。音声信号のフレームは、一般に、信号のスペクトル包絡線がそのフレームにわたって比較的固定のままであることが予想できるほど十分に短い。フレームは、一般に、音声信号の５ミリ秒と３５ミリ秒との間（または約４０サンプルから２００サンプルまで）に対応し、１０ミリ秒、２０ミリ秒、および３０ミリ秒が一般的なフレームサイズである。符号化フレームの実際のサイズは、符号化ビットレートとともにフレームごとに変化することがある。
【００１７】
２０ミリ秒のフレーム長は、７キロヘルツ（ｋＨｚ）のサンプリングレートで１４０サンプルに対応し、８ｋＨｚのサンプリングレートで１６０サンプルに対応し、１６ｋＨｚのサンプリングレートで３２０サンプルに対応するが、特定の適用に適切と思われる任意のサンプリングレートを使用することができる。音声符号化に使用できるサンプリングレートの別の例は１２．８ｋＨｚであり、さらなる例には１２．８ｋＨｚ〜３８．４ｋＨｚの範囲の他のレートがある。
【００１８】
一般に、すべてのフレームは同じ長さを有し、本明細書で説明する特定の例では、一様なフレーム長を仮定する。ただし、一様でないフレーム長を使用することも明確に企図され、本明細書によって開示される。たとえば、本明細書で説明する様々な装置および方法の実装形態は、アクティブおよび非アクティブフレームならびに／あるいは有声および無声フレームに対して異なるフレーム長を採用する適用においても使用できる。
【００１９】
上記のように、様々な符号化モードおよび／またはレートを使用して、アクティブフレームおよび非アクティブフレームを符号化するように音声符号器を構成することが望ましい。アクティブフレームを非アクティブフレームと区別するために、音声符号器(speech encoder)は、一般に、（ボイスアクティビティ検出器(voice activity detector)またはＶＡＤと一般に呼ばれる）音声アクティビティ検出器(speech activity detector)を含むか、あるいは音声アクティビティを検出する方法を実行する。そのような検出器または方法は、フレームエネルギー、信号対雑音比、周期性、およびゼロ交差レートなど、１つまたは複数のファクタに基づいてフレームをアクティブまたは非アクティブに分類するように構成できる。そのような分類は、そのようなファクタの値または絶対値をしきい値と比較すること、および／またはそのようなファクタの変化の絶対値をしきい値と比較することを含むことができる。
【００２０】
音声アクティビティ検出器または音声アクティビティを検出する方法はまた、アクティブフレームを、（たとえば、母音を表す）有声、（たとえば、摩擦音を表す）無声、または（たとえば、ワードの始端または終端を表す）遷移など、２つ以上の異なるタイプのうちの１つとして分類するように構成できる。そのような分類は、音声および／または残差の自己相関、ゼロ交差レート、第１の反射係数などのファクタ、および／または（たとえば、符号化方式セレクタＣ２００および／またはフレーム再分類器ＲＣ１０に関して）本明細書でより詳細に説明する他の特徴に基づくことができる。音声符号器が、様々な符号化モードおよび／またはビットレートを使用して、様々なタイプのアクティブフレームを符号化することが望ましい。
【００２１】
有声音声(voiced speech)のフレームは、長期であり（すなわち、２フレーム以上の期間の間継続し）、ピッチに関係する、周期構造を有する傾向がある。一般に、この長期スペクトル特徴の記述を符号化する符号化モードを使用して有声フレーム(voiced frame)（または有声フレームのシーケンス）を符号化するのがより効率的である。そのような符号化モードの例には、符号励振線形予測(code-excited linear prediction（ＣＥＬＰ）、およびプロトタイプ波形補間(prototype waveform interpolation)（ＰＷＩ）などの波形補間技法がある。ＰＷＩ符号化モードの一例はプロトタイプピッチ周期（ＰＰＰ）と呼ばれる。一方、無声フレームおよび非アクティブフレームには、通常、著しい長期スペクトル特徴がなく、音声符号器は、そのような特徴を記述しようと試みない符号化モードを使用して、これらのフレームを符号化するように構成できる。雑音励振線形予測(Noise-excited linear prediction)（ＮＥＬＰ）は、そのような符号化モードの一例である。
【００２２】
音声符号器または音声符号化の方法は、ビットレートと（「符号化方式」とも呼ばれる）符号化モードとの様々な組合せの中から選択するように構成できる。たとえば、音声符号器は、有声音声を含んでいるフレームおよび遷移フレームにはフルレートＣＥＬＰ方式を使用し、無声音声を含んでいるフレームにはハーフレートＮＥＬＰ方式を使用し、非アクティブフレームには１／８レートＮＥＬＰ方式を使用するように構成できる。そのような音声符号器の他の例は、フルレートおよびハーフレートＣＥＬＰ方式ならびに／あるいはフルレートおよび１／４レートＰＰＰ方式など、１つまたは複数の符号化方式に対して複数の符号化レートをサポートする。
【００２３】
音声符号器または音声符号化の方法によって生成された符号化フレームは、一般に、音声信号の対応するフレームを再構成することができる値を含んでいる。たとえば、符号化フレームは、周波数スペクトルにわたるフレーム内でのエネルギーの分布の記述を含むことができる。エネルギーのそのような分布はフレームの「周波数包絡線(frequency envelope)」または「スペクトル包絡線(spectral envelope)」とも呼ばれる。符号化フレームは、一般に、フレームのスペクトル包絡線を記述する値の順序付きシーケンスを含む。場合によっては、順序付きシーケンスの各値は、対応する周波数における信号または対応するスペクトル領域にわたる信号の振幅または絶対値を示す。そのような記述の一例はフーリエ変換係数の順序付きシーケンスである。
【００２４】
他の場合には、順序付きシーケンスは符号化モデルのパラメータの値を含む。そのような順序付きシーケンスの１つの典型的な例は線形予測符号化(linear prediction coding)（ＬＰＣ）分析の係数の値のセットである。これらのＬＰＣ係数値は、符号化音声の共振（「ホルマント(formants)」とも呼ばれる）を符号化し、フィルタ係数または反射係数として構成できる。たいていの現代の音声コーダの符号化部分は、各フレームのＬＰＣ係数値のセットを抽出する分析フィルタを含む。（通常、１つまたは複数のベクトルとして構成される）セット中の係数値の数はＬＰＣ分析の「次数」とも呼ばれる。（セルラー電話などの）通信デバイスの音声符号器によって実行されるＬＰＣ分析の典型的な次数の例には、４、６、８、１０、１２、１６、２０、２４、２８、および３２がある。
【００２５】
音声コーダは、一般に、（たとえば、対応するルックアップテーブルまたは「コードブック」への１つまたは複数のインデックスとして）量子化された形態で伝送チャネル上でスペクトル包絡線の記述を送信するように構成される。したがって、音声符号器が、線スペクトル対(line spectral pairs)（ＬＳＰs）、線スペクトル周波数(line spectral frequencies)（ＬＳＦs）、イミッタンススペクトル対(immittance spectral pairs)（ＩＳＰs）、イミッタンススペクトル周波数(immittance spectral frequencies)（ＩＳＦs）、ケプストラム係数(cepsrral coefficients)、または対数面積比の値のセットなどのＬＰＣ係数値のセットを効率的に量子化できる形態で計算することが望ましい。音声符号器はまた、変換および／または量子化の前に値の順序付きシーケンスに対して知覚的重み付けなどの他の演算を実行するように構成できる。
【００２６】
場合によっては、フレームのスペクトル包絡線の記述はまた、（たとえば、フーリエ変換係数の順序付きシーケンスの場合のように）フレームの時間的情報の記述を含む。他の場合には、符号化フレームの音声パラメータのセットはフレームの時間的情報の記述をも含むことができる。時間的情報の記述の形態は、フレームを符号化するために使用される特定の符号化モードに依存する。いくつかの符号化モード（たとえば、ＣＥＬＰ符号化モード）の場合、時間的情報の記述はＬＰＣ分析の残差の記述（励起信号の記述とも呼ばれる）を含む。対応する音声復号器は、励起信号を使用して、（たとえば、スペクトル包絡線の記述によって定義された）ＬＰＣモデルを励起する。励起信号の記述は、一般に、（たとえば、対応するコードブックへの１つまたは複数のインデックスとして）量子化された形態で符号化フレーム中に現れる。
【００２７】
時間的情報の記述はまた、励起信号のピッチ成分に関係する情報を含むことができる。ＰＰＰ符号化モードの場合、たとえば、符号化された時間的情報は、音声復号器が励起信号のピッチ成分を再生するために使用するプロトタイプの記述を含むことができる。ピッチ成分に関係する情報の記述は、一般に、（たとえば、対応するコードブックへの１つまたは複数のインデックスとして）量子化された形態で符号化フレーム中に現れる。他の符号化モード（たとえば、ＮＥＬＰ符号化モード）の場合、時間的情報の記述は、（フレームの「エネルギー包絡線」または「利得包絡線」とも呼ばれる）フレームの時間包絡線の記述を含むことができる。
【００２８】
図１に、（母音などの）有声音声セグメントの時間にわたる振幅の一例を示す。有声フレームの場合、励起信号は、一般に、ピッチ周波数において周期的であるパルスの連続に似ており、無声フレームの場合、励起信号は一般に白色ガウス雑音と同様である。ＣＥＬＰまたはＰＷＩコーダは、より良い符号化効率を達成するために、有声音声セグメントの特性である、より高い周期を利用することができる。図２Ａに、背景雑音から有声音声に遷移する音声セグメントの時間にわたる振幅の例を示し、図２Ｂに、背景雑音から有声音声に遷移する音声セグメントのＬＰＣ残差の時間にわたる振幅の例を示す。ＬＰＣ残差の符号化が符号化信号ストリームの大部分を占めるので、残差を符号化するために必要なビットレートを低減するために様々な方式が開発されてきた。そのような方式は、ＣＥＬＰ、ＮＥＬＰ、ＰＷＩ、およびＰＰＰを含む。
【００２９】
通話品質（toll-quality）の復号された信号を与える方法で音声信号の制約付きビットレート符号化(constrained-bit-rate encoding)を低ビットレート（たとえば、２キロビット毎秒）で実行することが望ましい。通話品質は、一般に、約２００〜３２００Ｈｚの帯域幅と３０ｄＢよりも大きい信号対雑音比（ＳＮＲ）とを有するものとして特徴づけられる。場合によっては、通話品質はまた、２または３パーセント未満の高調波ひずみを有するものとして特徴づけられる。残念ながら、一般に２キロビット毎秒に近いビットレートで音声を符号化するための既存の技法は、人工的（たとえば、ロボット的）で、雑音が多く、および／または過度に高調波的（たとえば、バズ）に聞こえる合成音声を生成する。
【００３０】
無音(silent)および無声(unvoiced)フレームなどの無声(nonvoiced)フレームの高品質の符号化は、通常、雑音励振線形予測(noise-excited linear prediction)（ＮＥＬＰ）符号化モードを使用して低ビットレートで実行できる。しかしながら、有声フレームの高品質の符号化を低ビットレートで実行することはより困難である。低い平均ビットレートを達成するために、（オンセットフレームまたは立上り過渡フレームとも呼ばれる）無声から有声音声への遷移を含むフレームなどの困難なフレームにはより高いビットレートを使用し、後続の有声フレームにはより低いビットレートを使用することによって良好な結果が得られた。しかしながら、制約付きビットレートボコーダの場合、困難なフレームに対してより高いビットレートを使用するオプションは利用可能でないことがある。
【００３１】
エンハンス可変レートコーデック(Enhanced Variable Rate Codec)（ＥＶＲＣ）などの既存の可変レートボコーダは、一般に、ＣＥＬＰなどの波形符号化モードを使用して、そのような困難なフレームをより高いビットレートで符号化する。低ビットレートでの有声音声セグメントの記憶または送信のために使用できる他の符号化方式は、ＰＰＰ符号化方式などのＰＷＩ符号化方式を含む。そのようなＰＷＩ符号化方式は、残差信号中の１つのピッチ周期の長さを有するプロトタイプ波形の位置を周期的に特定する。復号器において、残差信号は、元の高度に周期的な残差信号の近似値を得るために、プロトタイプ間のピッチ周期にわたって補間される。ＰＰＰ符号化のいくつかの適用は、高ビットレート符号化フレームが１つまたは複数の後続の低ビットレート符号化フレームに基準を与えるように、混合ビットレートを使用する。そのような場合、低ビットレートフレーム中の情報の少なくともいくつかは差分的に符号化できる。
【００３２】
シーケンス中の後続のフレームの差分ＰＷＩ（たとえば、ＰＰＰ）符号化に良好なプロトタイプ（すなわち、良好なピッチパルス形状基準）および／またはピッチパルス位相基準を与える非差分的な方法で、オンセットフレームなどの遷移フレームを符号化することが望ましい。
【００３３】
ビットレート制約付き符号化システムにおいてオンセットフレームおよび／または他の遷移フレームのための符号化モードを与えることが望ましい。たとえば、低い固定ビットレートまたは低い最大ビットレートを有するように制限された符号化システムにおいて、そのような符号化モードを与えることが望ましい。そのような符号化システムの適用の典型的な例は（たとえば、図１４を参照しながら本明細書で説明する）衛星通信リンクである。
【００３４】
上述のように、音声信号のフレームは、有声、無声、または無音として分類できる。有声フレームは一般に高度に周期的であり、無声および無音フレームは一般に非周期的である。他の可能なフレーム分類は、オンセット、過渡、および立下り過渡を含む。（立上り過渡フレームとも呼ばれる）オンセットフレームは、一般に、ワードの始端において生じる。オンセットフレームは、図２Ｂ中の４００サンプルと６００サンプルとの間の領域の場合のように、フレームの始端では非周期的（たとえば、無声）であり、フレームの終端までに周期的（たとえば、有声）になることがある。過渡クラスは、有声であるが、周期的ではない音声を有するフレームを含む。過渡フレームは、ピッチの変化および／または周期性の低減を示し、一般に、（たとえば、音声信号のピッチが変化している）有声セグメントの中間または終端において生じる。典型的な立下り過渡フレームは、低エネルギー有声音声を有し、ワードの終端において生じる。オンセット、過渡、および立下り過渡フレームは「遷移」フレームと呼ばれることもある。
【００３５】
音声符号器が非差分方法でパルスのロケーション、振幅、および形状を符号化することが望ましい。たとえば、符号化フレームが後続の符号化フレームの励起信号に良好な基準プロトタイプを与えるように、オンセットフレーム、または有声フレームの連続の第１のフレームを符号化することが望ましい。そのような符号器は、フレームの最終ピッチパルスの位置を特定し、最終ピッチパルスに隣接するピッチパルスの位置を特定し、ピッチパルスのピーク間の距離に従ってラグ値を推定し、最終ピッチパルスと推定されたラグ値のロケーションとを示す符号化フレームを生成するように構成できる。この情報は、位相情報なしに符号化された後続のフレームを復号する際に位相基準として使用できる。符号器はまた、（たとえばＱＰＰＰ符号化方式を使用して）差分的に符号化された後続のフレームを復号する際に基準として使用されるピッチパルスの形状の指示を含む符号化フレームを生成するように構成できる。
【００３６】
遷移フレーム（たとえば、オンセットフレーム）を符号化する際、フレームの正確な再生を達成することよりも、後続のフレームの良好な基準を与えることのほうが重要である。そのような符号化フレームを使用して、ＰＰＰまたは他の符号化方式を使用して符号化される後続の有声フレームの良好な基準を与えることができる。たとえば、符号化フレームが、（たとえば、良好な形状基準を与えるための）ピッチパルスの形状の記述と、（たとえば、良好なラグ基準を与えるための）ピッチラグの指示と、（たとえば、良好な位相基準を与えるための）フレームの最終ピッチパルスのロケーションの指示とを含むことが望ましく、オンセットフレームの特徴を、より少数のビットを使用して符号化するか、または無視することさえできる。
【００３７】
図３Ａに、符号化タスクＥ１００とＥ２００とを含む構成による音声符号化の方法Ｍ１００のフローチャートを示す。タスクＥ１００は、音声信号の第１のフレームを符号化し、タスクＥ２００は、音声信号の第２のフレームを符号化し、第２のフレームは第１のフレームの後に続く。タスクＥ１００は、第１のフレームを非差分的に符号化する基準符号化モードとして実装でき、タスクＥ２００は、第１のフレームに対して第２のフレームを符号化する相対符号化モード（たとえば、差分符号化モード）として実装できる。一例では、第１のフレームはオンセットフレームであり、第２のフレームはオンセットフレームの直後に続く有声フレームである。第２のフレームはまた、オンセットフレームの直後に続く連続する有声フレームの連続の１番目のフレームとすることができる。
【００３８】
符号化タスクＥ１００は、励起信号の記述を含む第１の符号化フレームを生成する。この記述は、時間領域におけるピッチパルスの形状（すなわち、ピッチプロトタイプ）と、ピッチパルスが繰り返されるロケーションとを示す値のセットを含む。ピッチパルスロケーションは、フレームのターミナルピッチパルスの位置など、基準点とともにラグ値を符号化することによって示される。本明細書では、ピッチパルスの位置はそのピークの位置を使用して示されるが、本開示の範囲は、その第１または最後のサンプルなど、パルスの別の特徴の位置によってピッチパルスの位置が同等に示されるコンテキストを明確に含む。第１の符号化フレームは、フレームのスペクトル包絡線の記述（たとえば、１つまたは複数のＬＳＰインデックス）など、他の情報の表現を含むこともできる。
【００３９】
タスクＥ１００は、第１のフレームの少なくとも１つのピッチパルスからの情報に基づいて、時間領域ピッチパルス形状のセットのうちの１つを選択するサブタスクＥ１１０を含む。フレームにおける最も高いピークを有するピッチパルスに（たとえば、最小２乗方向に）最も厳密に一致する形状を選択するように、タスクＥ１１０を構成することができる。代替的に、フレームにおける最も高いエネルギー（たとえば、２乗サンプル値の最も高い和）を有するピッチパルスに最も厳密に一致する形状を選択するように、タスクＥ１１０を構成することができる。代替的に、フレームの２つ以上のピッチパルス（たとえば、最も高いピークおよび／またはエネルギーを有するパルス）の平均に最も厳密に一致する形状を選択するように、タスクＥ１１０を構成することができる。タスクＥ１１０は、ピッチパルス形状（「形状ベクトル」とも呼ばれる）のコードブック（すなわち、量子化テーブル）による探索を含むように実装できる。
【００４０】
符号化タスクＴ１００は、フレームのターミナルピッチパルスの位置（たとえば、フレームの初期ピッチピークまたはフレームの最終ピッチピークの位置）を計算するサブタスクＥ１２０をも含む。ターミナルピッチパルスの位置は、フレームの始端に対して、フレームの終端に対して、またはフレーム内の別の基準ロケーションに対して示すことができる。（たとえば、サンプルの振幅またはサンプル値の２乗として一般に計算されるサンプルのエネルギーと、フレーム平均との間の関係に基づいて）フレーム境界の近くのサンプルを選択し、このサンプルの次のエリア内で最大値を有するサンプルを探索することによってターミナルピッチパルスピークを発見するように、タスクＥ１２０を構成することができる。たとえば、タスクＥ１２０は、以下で説明するターミナルピッチピーク位置特定タスクＬ１００の構成のいずれかに従って実装できる。
【００４１】
符号化タスクＥ１００は、フレームのピッチ周期を推定するサブタスクＥ１３０をも含む。（「ピッチラグ値」、「ラグ値」、「ピッチラグ」、または単に「ラグ」とも呼ばれる）ピッチ周期は、ピッチパルス間の距離（すなわち、隣接するピッチパルスのピーク間の距離）を示す。典型的なピッチ周波数は、男性話者の約７０〜１００Ｈｚから女性話者の約１５０〜２００Ｈｚまで変動する。８ｋＨｚのサンプリングレートの場合、これらのピッチ周波数範囲は、典型的な女性話者の約４０〜５０サンプルおよび典型的な男性話者の約９０〜１００サンプルのラグ範囲に対応する。これらの範囲外にピッチ周波数を有するスピーカーに適応するために、約５０〜６０Ｈｚ〜約３００〜４００Ｈｚのピッチ周波数範囲をサポートすることが望ましい。８ｋＨｚのサンプリングレートの場合、この周波数範囲は約２０〜２５サンプル〜約１３０〜１６０サンプルのラグ範囲に対応する。
【００４２】
ピッチ周期推定タスクＥ１３０は、（たとえば、以下で説明するラグ推定タスクＬ２００の実装形態のインスタンスとして）任意の好適なピッチ推定プロシージャを使用してピッチ周期を推定するように実装できる。そのようなプロシージャは一般に、ターミナルピッチピークに隣接するピッチピークを発見すること（あるいは少なくとも２つの隣接するピッチピークを発見すること）と、ピーク間の距離としてラグを計算することとを含む。そのエネルギーの測度（たとえば、サンプルエネルギーとフレーム平均エネルギーとの間の比率）、および／またはサンプルの近傍が、確認されたピッチピーク（たとえば、ターミナルピッチピーク）の同様の近傍とどのくらい相関するかという測度に基づいて、サンプルをピッチピークとして識別するように、タスクＥ１３０を構成することができる。
【００４３】
符号化タスクＥ１００は、タスクＥ１１０によって選択された時間領域ピッチパルス形状、タスクＥ１２０によって計算されたターミナルピッチパルス位置、およびタスクＥ１３０によって推定されたラグ値など、第１のフレームについて励起信号の特徴の表現を含む第１の符号化フレームを生成する。一般にタスクＥ１００は、ピッチ周期推定タスクＥ１３０の前にピッチパルス位置計算タスクＥ１２０を実行し、ピッチパルス形状選択タスクＥ１１０の前にピッチ周期推定タスクＥ１３０を実行するように構成される。
【００４４】
第１の符号化フレームは、推定されたラグ値を直接示す値を含むことができる。代替的に、符号化フレームが最小値に対するオフセットとしてラグ値を示すことが望ましい。２０サンプルの最小ラグ値の場合、たとえば、２０〜１４７（すなわち、２０＋０〜２０＋１２７）サンプルの範囲中の任意の可能な整数ラグ値を示すために７ビット数を使用できる。２５サンプルの最小ラグ値の場合、２５〜１５２（すなわち、２５＋０〜２５＋１２７）サンプルの範囲中の可能な整数ラグ値を示すために７ビット数を使用できる。そのような方法で、最小値に対するオフセットとしてラグ値を符号化することは、予想されるラグ値の範囲のカバレージを最大にし、値の範囲を符号化するために必要とされるビット数を最小限に抑えるために使用できる。非整数ラグ値の符号化をサポートするように、他の例を構成することができる。また、第１の符号化フレームは、第２のラグ値または他の場合はフレームの一方の側（たとえば、フレームの始端または終端）から他方へのラグ値の変化を示す値など、ピッチラグに関係する２つ以上の値を含むことが可能である。
【００４５】
フレームのピッチパルスの振幅が互いに異なる可能性がある。たとえば、オンセットフレームでは、フレームの終端の近くのピッチパルスがフレームの始端の近くのピッチパルスよりも大きい振幅を有するように、エネルギーが時間とともに増加する。少なくともそのような場合、第１の符号化フレームが、ピッチパルスの相対振幅の記述など、（「利得プロファイル」とも呼ばれる）時間にわたるフレームの平均エネルギーの変動の記述を含むことが望ましい。
【００４６】
図３Ｂに、サブタスクＥ１４０を含む符号化タスクＥ１００の実装形態Ｅ１０２のフローチャートを示す。タスクＥ１４０は、第１のフレームの異なるピッチパルスに対応する利得値のセットとしてフレームの利得プロファイルを計算する。たとえば、利得値の各々は、フレームの異なるピッチパルスに対応することができる。タスクＥ１４０は、利得プロファイルのコードブック（たとえば、量子化テーブル）による探索と、フレームの利得プロファイルに（たとえば、最小２乗方向に）最も厳密に一致するコードブックエントリの選択とを含むことができる。符号化タスクＥ１０２は、タスクＥ１１０によって選択された時間領域ピッチパルス形状と、タスクＥ１２０によって計算されたターミナルピッチパルス位置と、タスクＥ１３０によって推定されたラグ値と、タスクＥ１４０によって計算された利得値のセットとの表現を含む第１の符号化フレームを生成する。図４に、ラベル「１」がターミナルピッチパルス位置を示し、ラベル「２」が推定されたラグ値を示し、ラベル「３」が選択された時間領域ピッチパルス形状を示し、ラベル「４」が利得プロファイル（たとえば、ピッチパルスの相対振幅）において符号化された値を示す、フレーム中のこれらの特徴の概略図を示す。一般にタスクＥ１０２は、ピッチパルス形状選択タスクＥ１１０と直列に、または平行して実行できる利得値計算タスクＥ１４０の前にピッチ周期推定タスクＥ１３０を実行するように構成される。（図２６のテーブルで示すように）一例では、符号化タスクＥ１０２は、基準パルス位置を示す７ビットと、基準パルス形状を示す７ビットと、基準ラグ値を示す７ビットと、利得プロファイルを示す４ビットと、１つまたは複数のＬＳＰインデックスを搬送する１３ビットと、フレームの符号化モードを示す２ビット（たとえば、ＮＥＬＰなどの無声符号化モードを示す「００」、ＱＰＰＰなどの相対符号化モードを示す「０１」、および基準符号化モードＥ１０２を示す「１０」）とを含む４０ビット符号化フレームを生成するように１／４レートで動作する。
【００４７】
第１の符号化フレームは、フレーム中のピッチパルス（またはピッチピーク）の数の明示的指示を含むことができる。代替的に、フレーム中のピッチパルスまたはピッチピークの数は、暗示的に符号化できる。たとえば、第１の符号化フレームは、ピッチラグおよびターミナルピッチパルスの位置（たとえば、ターミナルピッチピークの位置）のみを使用してフレーム中のすべてのピッチパルスの位置を示すことができる。ラグ値およびターミナルピッチパルスの位置からピッチパルスの潜在的な位置を計算し、利得プロファイルから潜在的なパルス位置ごとの振幅を得るように、対応する復号器を構成できる。フレームが潜在的なパルス位置よりも少数のパルスを含んでいる場合、利得プロファイルは、潜在的なパルス位置のうちの１つまたは複数について０の利得値（または他の極めて小さい値）を示すことができる。
【００４８】
本明細書に示すように、オンセットフレームは無声として開始し、有声として終了することができる。対応する符号化フレームは、全オンセットフレームの正確な再生をサポートするよりも、後続のフレームに良好な基準を与えることが望ましく、方法Ｍ１００は、そのようなオンセットフレームの初期無声部分を符号化するための限定されたサポートのみを行うように実装できる。たとえば、無声部分内の任意のピッチパルス周期について０の（または０に近い）利得値を示す利得プロファイルを選択するように、タスクＥ１４０を構成することができる。代替的に、無声部分内のピッチ周期について０でない利得値を示す利得プロファイルを選択するように、タスクＥ１４０を構成することができる。１つのそのような例では、タスクＥ１４０は、０、または０の近くで開始し、フレームの有声部分の第１のピッチパルスの利得レベルに単調に上昇する一般的な利得プロファイルを選択する。
【００４９】
利得ベクトル量子化（ＶＱ）テーブルのセットのうちの１つへのインデックスとして利得値のセットを計算し、異なる数のパルスに対して異なる利得ＶＱテーブルが使用されるように、タスクＥ１４０を構成することができる。各利得ＶＱテーブルが同じ数のエントリを含んでおり、異なる利得ＶＱテーブルが異なる長さのベクトルを含んでいるように、テーブルのセットを構成することができる。そのような符号化システムでは、タスクＥ１４０は、ターミナルピッチパルスのロケーションとピッチラグとに基づいてピッチパルスの推定された数を計算し、この推定された数は、利得ＶＱテーブルのセットのうちの１つを選択するために使用される。この場合、符号化フレームを復号する対応する方法によって類似した演算を実行することもできる。ピッチパルスの推定された数がフレーム中のピッチパルスの実際の数よりも大きい場合、タスクＥ１４０はまた、上述のように、フレーム中の追加のピッチパルス周期ごとに利得を小さい値、または０に設定することによってこの情報を搬送することができる。
【００５０】
符号化タスクＥ２００は、第１のフレームの後に続く音声信号の第２のフレームを符号化する。タスクＥ２００は、第１のフレームの対応する特徴に対して第２のフレームの特徴を符号化する相対符号化モード（たとえば、差分符号化モード）として実装できる。タスクＥ２００は、現在のフレームのピッチパルス形状と前のフレームのピッチパルス形状との間のピッチパルス形状差を計算するサブタスクＥ２１０を含む。たとえば、第２のフレームからピッチプロトタイプを抽出し、抽出されたプロトタイプと第１のフレームのピッチプロトタイプ（すなわち、選択されたピッチパルス形状）との間の差としてピッチパルス形状差を計算するように、タスクＥ２１０を構成することができる。タスクＥ２１０によって実行できるプロトタイプ抽出動作の例は、２００４年６月２２日に発行された米国特許第６，７５４，６３０号（Ｄａｓら）、２００６年１１月１４日に発行された米国特許第７，１３６，８１２号（Ｍａｎｊｕｎａｔｈら）で説明されているものを含む。
【００５１】
周波数領域中の２つのプロトタイプ間の差としてピッチパルス形状差を計算するようにタスクＥ２１０を構成することが望ましい。図５Ａに、ピッチパルス形状差計算タスクＥ２１０の実装形態Ｅ２１２を含む符号化タスクＥ２００の実装形態Ｅ２０２の図を示す。タスクＥ２１２は、現在のフレームの周波数領域ピッチプロトタイプを計算するサブタスクＥ２１４を含む。たとえば、抽出されたプロトタイプに対して高速フーリエ変換演算を実行するか、または他の場合は抽出されたプロトタイプを周波数領域に変換するように、タスクＥ２１４を構成することができる。また、周波数領域プロトタイプをいくつかの周波数ビン（たとえば、重複しないビンのセット）に分割し、要素が各ビンにおける平均絶対値である対応する周波数絶対値ベクトルを計算し、プロトタイプの周波数絶対値ベクトルと前のフレームのプロトタイプの周波数絶対値ベクトルとの間のベクトル差としてピッチパルス形状差を計算することによってピッチパルス形状差を計算するように、タスクＥ２１２のそのような実装形態を構成することができる。そのような場合、対応する符号化フレームが量子化差を含むようにピッチパルス形状差をベクトル量子化するように、タスクＥ２１２を構成することもできる。
【００５２】
符号化タスクＥ２００は、現在のフレームのピッチ周期と前のフレームのピッチ周期との間のピッチ周期差を計算するサブタスクＥ２２０をも含む。たとえば、現在のフレームのピッチラグを推定し、前のフレームのピッチラグ値を減算してピッチ周期差を得るように、タスクＥ２２０を構成することができる。１つのそのような例では、タスクＥ２２０は、ピッチ周期差を（現在のラグ推定値−前のラグ推定値＋７）として計算するように構成される。ピッチラグを推定するために、上述のピッチ周期推定タスクＥ１３０のインスタンス、以下で説明するラグ推定タスクＬ２００のインスタンス、または上記で参照した、そのセクションが一例として参照により本明細書に組み込まれる、ＥＶＲＣ文献Ｃ．Ｓ００１４−Ｃのセクション４．６．３（ｐｐ．４−４４〜４−４９）に記載されているプロシージャなど、任意の好適なピッチ推定技法を使用するように、タスクＥ２２０を構成することができる。前のフレームの非量子化ピッチラグ値が前のフレームの逆量子化ピッチラグ値と異なる場合、タスクＥ２２０は、現在のラグ推定値から逆量子化値を減算することによってピッチ周期差を計算することが望ましい。
【００５３】
符号化タスクＥ２００は、１／４レートＰＰＰ（ＱＰＰＰ）などの限定された時間同期性を有する符号化方式を使用して実装できる。ＱＰＰＰの実装形態は、「Enhanced Variable Rate Codec, Speech Service Options 3, 68, and 70 for Wideband Spread Spectrum Digital Systems」と題する第３世代パートナーシッププロジェクト２（３ＧＰＰ２）文書Ｃ．Ｓ００１４−Ｃ、ｖ１．０のセクション４．２．４（ｐｐ．４−１０〜４−１７）および４．１２．２８（ｐｐ．４−１３２〜４−１３８）、２００７年１月（ｗｗｗ．３ｇｐｐ．ｏｒｇでオンライン入手可能）に記載されており、そのセクションは一例として参照により本明細書に組み込まれる。この符号化方式は、その帯域幅が周波数とともに増加する２１個の周波数ビンの不均一セットを使用してプロトタイプの周波数絶対値ベクトルを計算する。ＱＰＰＰを使用して生成された符号化フレームの４０ビットは、（図２６のテーブルに示すように）１つまたは複数のＬＳＰインデックスを搬送する１６ビットと、デルタラグ値を搬送する４ビットと、フレームの振幅情報を搬送する１８ビットと、モードを示す１ビットと、予約済みの１ビットとを含む。相対符号化方式のこの例は、パルス形状についてのビットも、位相情報についてのビットも含まない。
【００５４】
上記のように、タスクＥ１００において符号化されるフレームは、オンセットフレームとすることができ、タスクＥ２００において符号化されるフレームは、オンセットフレームの直後に続く連続する有声フレームの連続の１番目のフレームとすることができる。図５Ｂに、サブタスクＥ３００を含む方法Ｍ１００の実装形態Ｍ１１０のフローチャートを示す。タスクＥ３００は、第２のフレームの後に続く第３のフレームを符号化する。たとえば、第３のフレームは、オンセットフレームの直後に続く連続する有声フレームの連続の２番目のフレームとすることができる。符号化タスクＥ３００は、（たとえば、ＱＰＰＰ符号化のインスタンスとして）本明細書で説明するタスクＥ２００の実装形態のインスタンスとして実装できる。１つのそのような例では、タスクＥ３００は、第３のフレームのピッチプロトタイプと第２のフレームのピッチプロトタイプとの間のピッチパルス形状差を計算するように構成された（たとえば、タスクＥ２１２の）タスクＥ２１０のインスタンスと、第３のフレームのピッチ周期と第２のフレームのピッチ周期との間のピッチ周期差を計算するように構成されたタスクＥ２２０のインスタンスとを含む。別のそのような例では、タスクＥ３００は、第３のフレームのピッチプロトタイプと第１のフレームの選択されたピッチパルス形状との間のピッチパルス形状差を計算するように構成された（たとえば、タスクＥ２１２の）タスクＥ２１０のインスタンスと、第３のフレームのピッチ周期と第１のフレームのピッチ周期との間のピッチ周期差を計算するように構成されたタスクＥ２２０のインスタンスとを含む。
【００５５】
図５Ｃに、サブタスクＴ１００を含む方法Ｍ１００の実装形態Ｍ１２０のフローチャートを示す。タスクＴ１００は、（立上り過渡またはオンセットフレームとも呼ばれる）無声音声から有声音声への遷移を含むフレームを検出する。（たとえば、符号化方式セレクタＣ２００に関して）以下で説明するＥＶＲＣ分類方式に従ってフレーム分類を実行するようにタスクＴ１００を構成することができ、また、（たとえば、フレーム再分類器ＲＣ１０に関して以下で説明するように）フレームを再分類するようにタスクＴ１００を構成することができる。
【００５６】
図６Ａに、音声信号のフレームを符号化するように構成された装置ＭＦ１００のブロック図を示す。装置ＭＦ１００は、音声信号ＦＥ１００の第１のフレームを符号化するための手段と、音声信号ＦＥ２００の第２のフレームを符号化するための手段とを含み、第２のフレームは第１のフレームの後に続く。手段ＦＥ１００は、（たとえば、タスクＥ１１０の様々な実装形態に関して上述したように）第１のフレームの少なくとも１つのピッチパルスからの情報に基づいて、時間領域ピッチパルス形状のセットのうちの１つを選択するための手段ＦＥ１１０を含む。手段ＦＥ１００は、（たとえば、タスクＥ１２０の様々な実装形態に関して上述したように）第１のフレームのターミナルピッチパルスの位置を計算するための手段ＦＥ１２０をも含む。手段ＦＥ１００は、（たとえば、タスクＥ１３０の様々な実装形態に関して上述したように）第１のフレームのピッチ周期を推定するための手段ＦＥ１３０をも含む。図６Ｂに、（たとえば、タスクＥ１４０の様々な実装形態に関して上述したように）第１のフレームの異なるピッチパルスに対応する利得値のセットを計算するための手段ＦＥ１４０をも含む手段ＦＥ１００の実装形態ＦＥ１０２のブロック図を示す。
【００５７】
手段ＦＥ２００は、（たとえば、タスクＥ２１０の様々な実装形態に関して上述したように）第２のフレームのピッチパルス形状と、第１のフレームのピッチパルス形状との間のピッチパルス形状差を計算するための手段ＦＥ２１０を含む。手段ＦＥ２００は、（たとえば、タスクＥ２２０の様々な実装形態に関して上述したように）第２のフレームのピッチ周期と、第１のフレームのピッチ周期との間のピッチ周期差を計算するための手段ＦＥ２２０をも含む。
【００５８】
図７Ａに、一般的構成による、音声信号の励起信号を復号する方法Ｍ２００のフローチャートを示す。方法Ｍ２００は、第１の励起信号を得るために第１の符号化フレームの部分を復号するタスクＤ１００を含み、その部分は時間領域ピッチパルス形状と、ピッチパルス位置と、ピッチ周期との表現を含む。タスクＤ１００は、ピッチパルス位置に従って第１の励起信号内に時間領域ピッチパルス形状の第１のコピーを構成するサブタスクＤ１１０を含む。タスクＤ１００は、ピッチパルス位置とピッチ周期とに従って第１の励起信号内に時間領域ピッチパルス形状の第２のコピーを構成するサブタスクＤ１２０をも含む。一例では、タスクＤ１１０とタスクＤ１２０とは、（たとえば、時間領域ピッチパルス形状を表す第１の符号化フレームからのインデックスに従って）コードブックから時間領域ピッチパルス形状を得て、それを励起信号バッファにコピーする。タスクＤ１００および／または方法Ｍ２００はまた、（たとえば、第１の符号化フレームから１つまたは複数の量子化ＬＳＰベクトルを逆量子化し、結果を逆変換することによって）第１の符号化フレームからＬＰＣ係数値のセットを得て、ＬＰＣ係数値のセットに従って合成フィルタを構成し、第１の復号フレームを得るために第１の励起信号を構成された合成フィルタに適用するタスクを含むように実装できる。
【００５９】
図７Ｂに、復号タスクＤ１００の実装形態Ｄ１０２のフローチャートを示す。この場合、第１の符号化フレームの部分は、利得値のセットの表現をも含む。タスクＤ１０２は、利得値のセットのうちの１つを時間領域ピッチパルス形状の第１のコピーに適用するサブタスクＤ１３０を含む。タスクＤ１０２は、利得値のセットのうちの異なる１つを時間領域ピッチパルス形状の第２のコピーに適用するサブタスクＤ１４０をも含む。一例では、タスクＤ１３０は、その利得値をタスクＤ１１０中での形状に適用し、タスクＤ１４０は、その利得値をタスクＤ１２０中での形状に適用する。別の例では、タスクＤ１１０が実行された後に、タスクＤ１３０は、その利得値を励起信号バッファの対応する部分に適用し、タスクＤ１２０が実行された後に、タスクＤ１４０は、その利得値を励起信号バッファの対応する部分に適用する。タスクＤ１０２を含む方法Ｍ２００の実装形態は、第１の復号フレームを得るために得られた利得調整された励起信号を構成された合成フィルタに適用するタスクを含むように構成できる。
【００６０】
方法Ｍ２００は、第２の励起信号を得るために第２の符号化フレームの部分を復号するタスクＤ２００をも含み、その部分はピッチパルス形状差と、ピッチ周期差との表現を含む。タスクＤ２００は、時間領域ピッチパルス形状とピッチパルス形状差とに基づいて第２のピッチパルス形状を計算するサブタスクＤ２１０を含む。タスクＤ２００は、ピッチ周期とピッチ周期差とに基づいて第２のピッチ周期を計算するサブタスクＤ２２０をも含む。タスクＤ２００は、ピッチパルス位置と第２のピッチ周期とに従って第２の励起信号内に第２のピッチパルス形状の２つ以上のコピーを構成するサブタスクＤ２３０をも含む。タスクＤ２３０は、ピッチパルス位置からの対応するオフセットとして第２の励起信号内のコピーの各々のための位置を計算することを含むことができ、各オフセットは、第２のピッチ周期の整数倍である。タスクＤ２００および／または方法Ｍ２００はまた、（たとえば、第２の符号化フレームから１つまたは複数の量子化ＬＳＰベクトルを逆量子化し、結果を逆変換することによって）第２の符号化フレームからＬＰＣ係数値のセットを得て、ＬＰＣ係数値のセットに従って合成フィルタを構成し、第２の復号フレームを得るために第２の励起信号を構成された合成フィルタに適用するタスクを含むように実装できる。
【００６１】
図８Ａに、音声信号の励起信号を復号するための装置ＭＦ２００のブロック図を示す。装置ＭＦ２００は、第１の励起信号を得るために第１の符号化フレームの部分を復号するための手段ＦＤ１００を含み、その部分は時間領域ピッチパルス形状と、ピッチパルス位置と、ピッチ周期との表現を含む。手段ＦＤ１００は、ピッチパルス位置に従って第１の励起信号内に時間領域ピッチパルス形状の第１のコピーを構成するための手段ＦＤ１１０を含む。手段ＦＤ１００は、ピッチパルス位置とピッチ周期とに従って第１の励起信号内に時間領域ピッチパルス形状の第２のコピーを構成するための手段ＦＤ１２０をも含む。一例では、手段ＦＤ１１０と手段ＦＤ１２０とは、（たとえば、時間領域ピッチパルス形状を表す第１の符号化フレームからのインデックスに従って）コードブックから時間領域ピッチパルス形状を得て、それを励起信号バッファにコピーするように構成される。手段ＦＤ２００および／または装置ＭＦ２００はまた、（たとえば、第１の符号化フレームから１つまたは複数の量子化ＬＳＰベクトルを逆量子化し、結果を逆変換することによって）第１の符号化フレームからＬＰＣ係数値のセットを得るための手段と、ＬＰＣ係数値のセットに従って合成フィルタを構成するための手段と、第１の復号フレームを得るために第１の励起信号を構成された合成フィルタに適用するための手段とを含むように実装できる。
【００６２】
図８Ｂに、復号するための手段ＦＤ１００の実装形態ＦＤ１０２のフローチャートを示す。この場合、第１の符号化フレームの部分は、利得値のセットの表現をも含む。手段ＦＤ１０２は、利得値のセットのうちの１つを時間領域ピッチパルス形状の第１のコピーに適用するための手段ＦＤ１３０を含む。手段ＦＤ１０２は、利得値のセットのうちの異なる１つを時間領域ピッチパルス形状の第２のコピーに適用するための手段ＦＤ１４０をも含む。一例では、手段ＦＤ１３０は、その利得値を手段ＦＤ１１０内での形状に適用し、手段ＦＤ１４０はその利得値を手段ＦＤ１２０内での形状に適用する。別の例では、手段ＦＤ１３０は、その利得値を、手段ＦＤ１１０が第１のコピーを構成した励起信号バッファの部分に適用し、手段ＦＤ１４０は、その利得値を、手段ＦＤ１２０が第２のコピーを構成した励起信号バッファの部分に適用する。手段ＦＤ１０２を含む装置ＭＦ２００の実装形態は、第１の復号フレームを得るために得られた利得調整された励起信号を構成された合成フィルタに適用するための手段を含むように構成できる。
【００６３】
装置ＭＦ２００は、第２の励起信号を得るために第２の符号化フレームの部分を復号するための手段ＦＤ２００をも含み、その部分はピッチパルス形状差と、ピッチ周期差との表現を含む。手段ＦＤ２００は、時間領域ピッチパルス形状とピッチパルス形状差とに基づいて第２のピッチパルス形状を計算するための手段ＦＤ２１０を含む。手段ＦＤ２００は、ピッチ周期とピッチ周期差とに基づいて第２のピッチ周期を計算するための手段ＦＤ２２０をも含む。手段ＦＤ２００は、ピッチパルス位置と第２のピッチ周期とに従って第２の励起信号内に第２のピッチパルス形状の２つ以上のコピーを構成するための手段ＦＤ２３０をも含む。手段ＦＤ２３０は、ピッチパルス位置からの対応するオフセットとして第２の励起信号内のコピーの各々のための位置を計算するように構成でき、各オフセットは、第２のピッチ周期の整数倍である。手段ＦＤ２００および／または装置ＭＦ２００はまた、（たとえば、第２の符号化フレームから１つまたは複数の量子化ＬＳＰベクトルを逆量子化し、結果を逆変換することによって）第２の符号化フレームからＬＰＣ係数値のセットを得るための手段と、ＬＰＣ係数値のセットに従って合成フィルタを構成するための手段と、第２の復号フレームを得るために第２の励起信号を構成された合成フィルタに適用するための手段とを含むように実装できる。
【００６４】
図９Ａに、（たとえば、フレームの連続として）デジタル化音声信号Ｓ１００を受信し、通信チャネルＣ１００（たとえば、有線、光、および／または無線通信リンク）上で音声復号器ＡＤ１０に送信するための（たとえば、対応する符号化フレームの連続として）対応する符号化信号Ｓ２００を生成するように構成された音声符号器ＡＥ１０を示す。音声復号器ＡＤ１０は、符号化音声信号Ｓ２００の受信したバージョンＳ３００を復号し、対応する出力音声信号Ｓ４００を合成するように構成される。音声符号器ＡＥ１０は、装置ＭＦ１００のインスタンスを含み、および／または方法Ｍ１００の実装形態を実行するように実装できる。音声復号器ＡＤ１０は、装置ＭＦ２００のインスタンスを含み、および／または方法Ｍ２００の実装形態を実行するように実装できる。
【００６５】
上述のように、音声信号Ｓ１００は、パルス符号変調（ＰＣＭ）、圧伸(companded)μ−ｌａｗ、またはＡ−ｌａｗなど、当技術分野で知られている様々な方法のいずれかに従ってデジタル化および量子化された（たとえば、マイクロフォンによってキャプチャされる）アナログ信号を表す。信号は、雑音抑圧、知覚的重み付け、および／または他のフィルタ処理演算など、アナログおよび／またはデジタル領域における他の前処理演算をも受けることができる。追加または代替として、そのような演算は、音声符号器ＡＥ１０内で実行できる。音声信号Ｓ１００のインスタンスは、デジタル化および量子化された（たとえば、マイクロフォンのアレイによってキャプチャされる）アナログ信号の組合せをも表すことができる。
【００６６】
図９Ｂに、デジタル化音声信号Ｓ１００の第１のインスタンスＳ１１０を受信し、通信チャネルＣ１００の第１のインスタンスＣ１１０上で音声復号器ＡＤ１０の第１のインスタンスＡＤ１０ａに送信するための符号化信号Ｓ２００の対応するインスタンスＳ２１０を生成するように構成された音声符号器ＡＥ１０の第１のインスタンスＡＥ１０ａを示す。音声復号器ＡＤ１０ａは、符号化音声信号Ｓ２１０の受信したバージョンＳ３１０を復号し、出力音声信号Ｓ４００の対応するインスタンスＳ４１０を合成するように構成される。
【００６７】
図９Ｂに、デジタル化音声信号Ｓ１００の第２のインスタンスＳ１２０を受信し、通信チャネルＣ１００の第２のインスタンスＣ１２０上で音声復号器ＡＤ１０の第２のインスタンスＡＤ１０ｂに送信するための符号化信号Ｓ２００の対応するインスタンスＳ２２０を生成するように構成された音声符号器ＡＥ１０の第２のインスタンスＡＥ１０ｂをも示す。音声復号器ＡＤ１０ｂは、符号化音声信号Ｓ２２０の受信したバージョンＳ３２０を復号し、出力音声信号Ｓ４００の対応するインスタンスＳ４２０を合成するように構成される。
【００６８】
音声符号器ＡＥ１０ａおよび音声復号器ＡＤ１０ｂ（同様に、音声符号器ＡＥ１０ｂおよび音声復号器ＡＤ１０ａ）は、たとえば、図１４に関して後述するユーザ端末、地上局、またはゲートウェイを含む、音声信号を送信および受信するための任意の通信デバイス中で一緒に使用できる。本明細書で説明するように、音声符号器ＡＥ１０は多くの異なる方法で実装でき、音声符号器ＡＥ１０ａおよびＡＥ１０ｂは、音声符号器ＡＥ１０の異なる実装形態のインスタンスとすることができる。同様に、音声復号器ＡＤ１０は多くの異なる方法で実装でき、音声復号器ＡＤ１０ａおよびＡＤ１０ｂは、音声復号器ＡＤ１０の異なる実装形態のインスタンスとすることができる。
【００６９】
図１０Ａに、音声信号の第１のフレームを第１の符号化フレームとして符号化するように構成された第１のフレーム符号器１００と、音声信号の第２のフレームを第２の符号化フレームとして符号化するように構成された第２のフレーム符号器２００とを含み、第２のフレームは第１のフレームの後に続く、一般的構成による音声信号Ａ１００のフレームを符号化するための装置のブロック図を示す。音声符号器ＡＥ１０は、装置Ａ１００のインスタンスを含むように実装できる。第１のフレーム符号器１００は、（たとえば、タスクＥ１１０の様々な実装形態に関して上述したように）第１のフレームの少なくとも１つのピッチパルスからの情報に基づいて、時間領域ピッチパルス形状のセットのうちの１つを選択するように構成されたピッチパルス形状セレクタ１１０を含む。符号器１００は、（たとえば、タスクＥ１２０の様々な実装形態に関して上述したように）第１のフレームのターミナルピッチパルスの位置を計算するように構成されたピッチパルス位置計算器１２０をも含む。符号器１００は、（たとえば、タスクＥ１３０の様々な実装形態に関して上述したように）第１のフレームのピッチ周期を推定するように構成されたピッチ周期推定器１３０をも含む。図１０Ｂに、（たとえば、タスクＥ１４０の様々な実装形態に関して上述したように）第１のフレームの異なるピッチパルスに対応する利得値のセットを計算するように構成された利得値計算器１４０をも含む符号器１００の実装形態１０２のブロック図を示す。
【００７０】
第２のフレーム符号器２００は、（たとえば、タスクＥ２１０の様々な実装形態に関して上述したように）第２のフレームのピッチパルス形状と、第１のフレームのピッチパルス形状との間のピッチパルス形状差を計算するように構成されたピッチパルス形状差計算器(pitch pulse shape differential calculator)２１０を含む。符号器２００は、（たとえば、タスクＥ２２０の様々な実装形態に関して上述したように）第２のフレームのピッチ周期と、第１のフレームのピッチ周期との間のピッチ周期差を計算するように構成されたピッチパルス差計算器(pitch pulse differential calculator)２２０をも含む。
【００７１】
図１１Ａに、第１のフレーム復号器３００と第２のフレーム復号器４００とを含む一般的構成による、音声信号Ａ２００の励起信号を復号するための装置のブロック図を示す。復号器３００は、第１の励起信号を得るために第１の符号化フレームの部分を復号するように構成され、その部分は時間領域ピッチパルス形状と、ピッチパルス位置と、ピッチ周期との表現を含む。復号器３００は、ピッチパルス位置に従って第１の励起信号内に時間領域ピッチパルス形状の第１のコピーを構成するように構成された第１の励起信号発生器３１０を含む。励起発生器３１０はまた、ピッチパルス位置とピッチ周期とに従って第１の励起信号内に時間領域ピッチパルス形状の第２のコピーを構成するように構成される。たとえば、発生器３１０は、本明細書で説明するタスクＤ１１０およびＤ１２０の実装形態を実行するように構成できる。この例では、復号器３００は、（たとえば、第１の符号化フレームから１つまたは複数の量子化ＬＳＰベクトルを逆量子化し、結果を逆変換することによって）第１の符号化フレームから復号器３００によって得られたＬＰＣ係数値のセットに従って構成され、第１の復号フレームを得るために励起信号をフィルタ処理するように構成された合成フィルタ３２０をも含む。
【００７２】
図１１Ｂに、第１の符号化フレームの部分が利得値のセットの表現をも含む場合、第１の乗算器３３０と第２の乗算器３４０とを含む第１の励起信号発生器３１０の実装形態３１２のブロック図を示す。第１の乗算器３３０は、利得値のセットのうちの１つを時間領域ピッチパルス形状の第１のコピーに適用するように構成される。たとえば、第１の乗算器３３０は、本明細書で説明するタスクＤ１３０の実装形態を実行するように構成できる。第２の乗算器３４０は、利得値のセットのうちの異なる１つを時間領域ピッチパルス形状の第２のコピーに適用するように構成される。たとえば、第２の乗算器３４０は、本明細書で説明するタスクＤ１４０の実装形態を実行するように構成できる。発生器３１２を含む復号器３００の実装形態では、合成フィルタ３２０は、第１の復号フレームを得るために得られた利得調整された励起信号をフィルタ処理するように構成できる。第１の乗算器３３０と第２の乗算器３４０とは、異なる時間に異なる構造を使用するか、または同じ構造を使用して実装できる。
【００７３】
第２のフレーム復号器４００は、第２の励起信号を得るために第２の符号化フレームの部分を復号するように構成され、その部分はピッチパルス形状差と、ピッチ周期差との表現を含む。復号器４００は、ピッチパルス形状計算器４１０とピッチ周期計算器４２０とを含む第２の励起信号発生器４４０を含む。ピッチパルス形状計算器４１０は、時間領域ピッチパルス形状とピッチパルス形状差とに基づいて第２のピッチパルス形状を計算するように構成される。たとえば、ピッチパルス形状計算器４１０は、本明細書で説明するタスクＤ２１０の実装形態を実行するように構成できる。ピッチ周期計算器４２０は、ピッチ周期とピッチ周期差とに基づいて第２のピッチ周期を計算するように構成される。たとえば、ピッチ周期計算器４２０は、本明細書で説明するタスクＤ２２０の実装形態を実行するように構成できる。励起発生器４４０は、ピッチパルス位置と第２のピッチ周期とに従って第２の励起信号内に第２のピッチパルス形状の２つ以上のコピーを構成するように構成される。たとえば、発生器４４０は、本明細書で説明するタスクＤ２３０の実装形態を実行するように構成できる。この例では、復号器４００は、（たとえば、第１の符号化フレームから１つまたは複数の量子化ＬＳＰベクトルを逆量子化し、結果を逆変換することによって）第１の符号化フレームから復号器４００によって得られたＬＰＣ係数値のセットに従って構成され、第２の復号フレームを得るために第２の励起信号をフィルタ処理するように構成された合成フィルタ４３０をも含む。合成フィルタ３２０と合成フィルタ４３０とは、異なる時間に異なる構造を使用するか、または同じ構造を使用して実装できる。音声復号器ＡＤ１０は、装置Ａ２００のインスタンスを含むように実装できる。
【００７４】
図１２Ａに、音声符号器ＡＥ１０のマルチモード実装形態ＡＥ２０のブロック図を示す。符号器ＡＥ２０は、第１のフレーム符号器１００の実装形態（たとえば、符号器１０２）と、第２のフレーム符号器２００の実装形態と、無声フレーム符号器ＵＥ１０（たとえば、ＱＮＥＬＰ符号器）と、符号化方式セレクタＣ２００とを含む。符号化方式セレクタＣ２００は、セレクタ５０ａ、５０ｂを介してフレームごとに符号器１００、２００、およびＵＥ１０のうちの適切な１つを選択するために（たとえば、後述する変更されたＥＶＲＣフレーム分類方式に従って）音声信号Ｓ１００の着信フレームの特性を分析するように構成される。１／４レートＰＰＰ（ＱＰＰＰ）符号化方式を適用するために第２のフレーム符号器２００を実装し、１／４レートＮＥＬＰ（ＱＮＥＬＰ）符号化方式を適用するために無声フレーム符号器ＵＥ１０を実装することが望ましい。図１２Ｂに、第１のフレーム復号器３００の実装形態（たとえば、復号器３０２）と、第２のフレーム符号器４００の実装形態と、無声フレーム復号器ＵＤ１０（たとえば、ＱＮＥＬＰ復号器）と、符号化方式検出器Ｃ３００とを含む音声符号器ＡＤ１０の類似したマルチモード実装形態ＡＤ２０のブロック図を示す。符号化方式検出器Ｃ３００は、セレクタ９０ａ、９０ｂを介して符号化フレームごとに復号器３００、４００、およびＵＤ１０のうちの適切な対応する１つを選択するために（たとえば、第１および／または最後のビットなど符号化フレームの１つまたは複数のモードビットに従って）受信した符号化音声信号Ｓ３００の符号化フレームのフォーマットを判断するように構成される。
【００７５】
図１３に、音声符号器ＡＥ１０の実装形態内に含むことができる残差発生器Ｒ１０のブロック図を示す。発生器Ｒ１０は、音声信号Ｓ１００の現在のフレームに基づいてＬＰＣ係数値のセットを計算するように構成されたＬＰＣ分析モジュールＲ１１０を含む。変換ブロックＲ１２０は、ＬＰＣ係数値のセットをＬＳＦのセットに変換するように構成され、量子化器Ｒ１３０は、（たとえば、１つまたは複数のコードブックインデックスとして）ＬＳＦを量子化してＬＰＣパラメータＳＬ１０を生成するように構成される。逆量子化器Ｒ１４０は、量子化されたＬＰＣパラメータＳＬ１０から復号されたＬＳＦのセットを得るように構成され、逆変換ブロックＲ１５０は、復号されたＬＳＦのセットから復号されたＬＰＣ係数値のセットを得るように構成される。復号されたＬＰＣ係数値のセットに従って構成された（分析フィルタとも呼ばれる）白色化フィルタＲ１６０は、音声信号Ｓ１００を処理して、ＬＰＣ残差ＳＲ１０を生成する。残差発生器Ｒ１０はまた、特定の適用に好適であると考えられる他の設計に従ってＬＰＣ残差を発生するように実装できる。残差発生器Ｒ１０のインスタンスは、フレーム符号器１０４、２０４、およびＵＥ１０のうちのいずれか１つまたは複数内で実装でき、および／またはそれらの間で共有できる。
【００７６】
図１４に、衛星１０、地上局２０ａ、２０ｂ、およびユーザ端末３０ａ、３０ｂを含む衛星通信のためのシステムの概略図を示す。衛星１０は、場合によっては１つまたは複数の他の衛星を介して、地上局２０ａと２０ｂとの間、ユーザ端末３０ａと３０ｂとの間、または地上局とユーザ端末との間で半二重または全二重チャネル上でボイス通信を中継するように構成できる。ユーザ端末３０ａ、３０ｂの各々は、無線モデムを備えた携帯電話またはポータブルコンピュータなど無線衛星通信のためのポータブルデバイス、地上または宇宙ビークル内に取り付けられた通信ユニット、あるいは衛星ボイス通信のための別のデバイスとすることができる。地上局２０ａ、２０ｂの各々は、それぞれのネットワーク４０ａ、４０ｂにボイス通信チャネルをルーティングするように構成され、ネットワーク４０ａ、４０ｂは、アナログまたはパルス符号変調（ＰＣＭ）ネットワーク（たとえば、公衆交換電話網つまりＰＳＴＮ）および／またはデータネットワーク（たとえば、インターネット、ローカルエリアネットワーク（ＬＡＮ）、キャンパスエリアネットワーク（ＣＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、リング型ネットワーク、スター型ネットワーク、および／またはトークンリングネットワーク）とすることができる。地上局２０ａ、２０ｂの一方または両方は、別の形態（たとえば、アナログ、ＰＣＭ、より高いビットレート符号化方式など）におよび／またはそれからボイス通信信号を変換するように構成されたゲートウェイをも含むことができる。
【００７７】
ＰＷＩ符号化中に抽出されるプロトタイプの長さは一般に、フレームごとに変化することができるピッチラグの現在の値に等しい。したがって、復号器に送信するためのプロトタイプを量子化することが、次元が可変であるベクトルを量子化するという問題を提示することがある。従来のＰＷＩおよびＰＰＰ符号化方式では、可変次元プロトタイプベクトルの量子化は、（たとえば、離散時間フーリエ変換（ＤＴＦＴ）演算を使用して）時間領域ベクトルを複素数値周波数領域ベクトルに変換することによって一般に実行される。そのような演算は、ピッチパルス形状差計算タスクＥ２１０に関して上述した。次いで、この複素数値可変次元ベクトルの振幅をサンプリングして、固定次元のベクトルを得る。振幅ベクトルのサンプリングは不均一でもよい。たとえば、高周波よりも低周波でより高い分解能をもつベクトルをサンプリングすることが望ましい。
【００７８】
オンセットフレームの後に続く有声フレームの差分ＰＷＩ符号化を実行することが望ましい。フルレートＰＰＰ符号化モードでは、周波数領域ベクトルの位相を、振幅と同様にしてサンプリングして、固定次元ベクトルを得る。しかしながら、ＱＰＰＰ符号化モードでは、そのような位相情報を復号器に搬送するために利用可能なビットがない。この場合、ピッチラグは、（たとえば、前のフレームのピッチラグに対して）差分的に符号化され、位相情報はまた、１つまたは複数の前のフレームからの情報に基づいて推定されなければならない。たとえば、遷移フレーム符号化モード（たとえば、タスクＥ１００）を使用してオンセットフレームを符号化するとき、後続のフレームのための位相情報はピッチラグおよびパルスロケーション情報から導出できる。
【００７９】
オンセットフレームを符号化するために、フレーム内のすべてのピッチパルスを検出することが予想できるプロシージャを実行することが望ましい。たとえば、ロバストなピッチピーク検出演算の使用は、後続のフレームにより良いラグ推定値および／または位相基準を与えることが予想できる。後続のフレームが差分符号化方式（たとえば、タスクＥ２００）などの相対符号化方式を使用して符号化される場合、そのような方式は一般に誤り伝搬を受けやすいので、確実な基準値が特に重要であることがある。上記のように、本明細書では、ピッチパルスの位置はそのピークの位置によって示されるが、別のコンテキストでは、ピッチパルスの位置は、その第１または最後のサンプルなど、パルスの別の特徴の位置によって同等に示すことができる。
【００８０】
図１５Ａに、タスクＬ１００と、Ｌ２００と、Ｌ３００とを含む一般的構成による方法Ｍ３００のフローチャートを示す。タスクＬ１００は、フレームのターミナルピッチピークの位置を特定する。特定の実装形態では、タスクＬ１００は、（Ａ）サンプル振幅に基づく量と（Ｂ）フレームの量の平均との間の関係に従って、サンプルをターミナルピッチピークとして選択するように構成される。１つのそのような例では、量はサンプル絶対値（sample magnitude）（すなわち、絶対値（absolute value））であり、この場合、フレーム平均は次のように計算できる。
【数１】
2011525256.tif 000003
【００８１】
式中、ｓはサンプル値（すなわち、振幅）を示し、Ｎはフレーム中のサンプルの数を示し、ｉはサンプルインデックスである。別のそのような例では、量はサンプルエネルギー（すなわち、振幅２乗）であり、この場合、フレーム平均は次のように計算できる。
【数２】
2011525256.tif 000004
【００８２】
式中、ｓはサンプル値（すなわち、振幅）を示し、Ｎはフレーム中のサンプルの数を示し、ｉはサンプルインデックスである。以下の説明では、エネルギーが使用される。
【００８３】
タスクＬ１００を、フレームの初期ピッチピークとして、またはフレームの最終ピッチピークとしてターミナルピッチピークの位置を特定するように構成することができる。初期ピッチピークの位置を特定するために、タスクＬ１００を、フレームの第１のサンプルにおいて開始し、時間的に前方に動作するように構成することができる。最終ピッチピークの位置を特定するために、タスクＬ１００を、フレームの最後のサンプルにおいて開始し、時間的に後方に動作するように構成することができる。後述する特定の例では、タスクＬ１００を、フレームの最終ピッチピークとしてターミナルピッチピークの位置を特定するように構成する。
【００８４】
図１５Ｂに、サブタスクＬ１１０と、Ｌ１２０と、Ｌ１３０とを含むタスクＬ１００の実装形態Ｌ１０２のブロック図を示す。タスクＬ１１０は、ターミナルピッチピークとして適格であるフレーム中の最後のサンプルの位置を特定する。この例では、タスクＬ１１０は、フレーム平均に対するエネルギーが対応するしきい値ＴＨ１を超える（代替的に、しきい値以上である）最後のサンプルの位置を特定する。一例では、ＴＨ１の値は６である。フレーム中にそのようなサンプルが発見されない場合、方法Ｍ３００は終了され、別の符号化モード（たとえば、ＱＰＰＰ）がそのフレームに使用される。他の場合は、タスクＬ１２０は、（図１６Ａに示すように）このサンプルより前にウィンドウ内を探索して最も大きい振幅を有するサンプルを発見し、このサンプルを仮ピーク候補として選択する。タスクＬ１２０における探索ウィンドウが、最小許容ラグ値に等しい幅ＷＬ１を有することが望ましい。一例では、ＷＬ１の値は２０サンプルである。探索ウィンドウ中の２つ以上のサンプルが最も大きい振幅を有する場合、タスクＬ１２０は、第１のそのようなサンプル、最後のそのようなサンプル、または他のそのようなサンプルを選択するように様々に構成できる。
【００８５】
タスクＬ１３０は、（図１６Ｂに示すように）仮ピーク候補より前にウィンドウ内で最も大きい振幅を有するサンプルを発見することによって、最終ピッチピーク選択を検証する。タスクＬ１３０における探索ウィンドウが、初期ラグ推定値の５０％と１００％との間、または５０％と７５％との間である幅ＷＬ２を有することが望ましい。初期ラグ推定値は、（すなわち、前のフレームから）最も最近のラグ推定値に一般に等しい。一例では、ＷＬ２の値は、初期ラグ推定値の５／８に等しい。新しいサンプルの振幅が仮ピーク候補の振幅よりも大きい場合、タスクＬ１３０は、新しいサンプルを最終ピッチピークとして代わりに選択する。別の実装形態では、新しいサンプルの振幅が仮ピーク候補の振幅よりも大きい場合、タスクＬ１３０は、新しいサンプルを新しい仮ピーク候補として選択し、そのようなサンプルが発見されなくなるまで、新しい仮ピーク候補より前に幅ＷＬ２のウィンドウ内の探索を繰り返す。
【００８６】
タスクＬ２００は、フレームのための推定されたラグ値を計算する。タスクＬ２００は、ターミナルピッチピークに隣接しているピッチパルスのピークの位置を特定し、これらの２つのピーク間の距離としてラグ推定値を計算するように一般に構成される。フレーム境界内のみを探索する、および／またはターミナルピッチピークと隣接するピッチピークとの間の距離が最小許容ラグ値（たとえば、２０サンプル）よりも大きい（代替的に、最小許容ラグ値以上である）ことを必要とするようにタスクＬ２００を構成することが望ましい。
【００８７】
初期ラグ推定値を使用して、隣接するピークを発見するようにタスクＬ２００を構成することが望ましい。ただし、最初に、タスクＬ２００が、（ピッチ３倍および／またはピッチ４倍誤り(errors)を含むことができる）ピッチ２倍誤りについて初期ラグ推定値を検査することが望ましい。一般に、初期ラグ推定値は、相関ベースの方法を使用して判断されている。ピッチ２倍誤りは、ピッチ推定の相関ベースの方法に共通であり、一般にかなり可聴である。図１５Ｃに、タスクＬ２００の実装形態Ｌ２０２のフローチャートを示す。タスクＬ２０２は、ピッチ２倍誤りについて初期ラグ推定値を検査する、随意であるが推奨されるサブタスクＬ２１０を含む。タスクＬ２１０は、ターミナルピッチピークから、たとえば１／２、１／３、および１／４ラグの距離の狭いウィンドウ内でピッチピークを探索するように構成され、以下で説明するように反復することができる。
【００８８】
図１７Ａに、サブタスクＬ２１２と、Ｌ２１４と、Ｌ２１６とを含むタスクＬ２１０の実装形態Ｌ２１０ａのフローチャートを示す。検査すべき最小ピッチ分数（たとえば、ｌａｇ／４）の場合、タスクＬ２１２は、（たとえば、振幅、絶対値、またはエネルギーに関して）最大値を有するサンプルを発見するために、中心が、ピッチ分数に実質的に等しい距離（たとえば、打ち切りまたは丸め誤差内）だけターミナルピッチピークからオフセットされる小さいウィンドウ（たとえば、５サンプル）内で探索する。図１８Ａに、そのような動作を示す。
【００８９】
タスクＴ２１４は、最大値サンプル（すなわち、「候補」）の１つまたは複数の特徴を評価し、これらの値をそれぞれのしきい値と比較する。評価された特徴は、候補のサンプルエネルギー、平均フレームエネルギーに対する候補エネルギーの比（たとえば、ピーク対ＲＭＳエネルギー）、および／またはターミナルピークエネルギーに対する候補エネルギーの比を含むことができる。タスクＬ２１４を、任意の順序でそのような評価を実行するように構成することができ、評価は互いに直列および／または並列に実行できる。
【００９０】
タスクＬ２１４が、候補の近傍をターミナルピッチピークの同様の近傍と相関させることが望ましい。この特徴評価の場合、タスクＬ２１４は、候補を中心とする長さＮ１サンプルのセグメントをターミナルピッチピークを中心とする等しい長さのセグメントと相関させるように一般に構成される。一例では、Ｎ１の値は１７サンプルに等しい。（たとえば、０〜１の範囲内の結果を有する）正規化相関を実行するようにタスクＬ２１４を構成することが望ましい。（たとえば、タイミングオフセットおよび／またはサンプリング誤差をなくすために）たとえば、候補の前および後の１サンプルを中心とする長さＮ１のセグメントについて相関を繰り返し、最大相関結果を選択するようにタスクＬ２１４を構成することが望ましい。相関ウィンドウがフレーム境界を越えて延びる場合、相関ウィンドウをシフトまたは打ち切ることが望ましい。（相関ウィンドウが打ち切られる場合、すでに正規化されているのでなければ、相関結果を正規化することが望ましい。）一例では、しきい値Ｔが６に等しいとすることができる、図１９Ａ中の列として示される条件の３つのセットのいずれかが満たされる場合、候補は隣接するピッチピークとして受け付けられる。
【００９１】
タスクＴ２１４が隣接するピッチピークを発見した場合、タスクＬ２１６は、ターミナルピッチピークと隣接するピッチピークとの間の距離として現在のラグ推定値を計算する。他の場合は、タスクＬ２１０ａは、（図１８Ｂに示すように）ターミナルピークの反対側に反復し、次いで、（図１８Ｃ〜図１８Ｆに示すように）隣接するピッチピークが発見されるまで、最小から最大まで、検査すべき他のピッチ分数についてターミナルピークの両側間で交互に行う。ターミナルピッチピークと、最も近接したフレーム境界との間で隣接するピッチピークが発見された場合、そのターミナルピッチピークは隣接するピッチピークとして再標示され、その新しいピークはターミナルピッチピークとして標示される。代替実装形態では、タスクＬ２１０は、立上り側の前にターミナルピッチピークの立下り側（すなわち、タスクＬ１００においてすでに探索された側）を探索するように構成される。
【００９２】
分数ラグテストタスクＬ２１０がピッチピークの位置を特定しなかった場合、タスクＬ２２０は、（たとえば、初期ラグ推定値だけターミナルピーク位置からオフセットされるウィンドウ内で）初期ラグ推定値に従ってターミナルピッチピークに隣接するピッチピークを探索する。図１７Ｂに、サブタスクＬ２２２と、Ｌ２２４と、Ｌ２２６と、Ｌ２２８とを含むタスクＬ２２０の実装形態Ｌ２２０ａのフローチャートを示す。タスクＬ２２２は、（黒丸がターミナルピッチピークを示す図１９Ｂに示すように）最終ピークの左側に１つのラグの距離を中心とする幅ＷＬ３のウィンドウ内で候補（たとえば、振幅または絶対値に関して最大値を有するサンプル）を発見する。一例では、ＷＬ３の値は初期ラグ推定値の０．５５倍に等しい。タスクＬ２２４は候補サンプルのエネルギーを評価する。たとえば、タスクＬ２２４を、候補のエネルギーの測度（たとえば、ピーク対ＲＭＳエネルギーなど、フレーム平均エネルギーに対するサンプルエネルギーの比）が対応するしきい値ＴＨ３よりも大きい（代替的に、しきい値以上）かどうかを判断するように構成することができる。ＴＨ３の例示的な値は、１、１．５、３、および６を含む。
【００９３】
タスクＬ２２６は、候補の近傍をターミナルピッチピークの同様の近傍と相関させる。タスクＬ２２６は、候補を中心とする長さＮ２サンプルのセグメントを、ターミナルピッチピークを中心とする等しい長さのセグメントと相関させるように一般に構成される。Ｎ２の値の例は、１０、１１、および１７サンプルを含む。正規化相関を実行するようにタスクＬ２２６を構成することが望ましい。（たとえば、タイミングオフセットおよび／またはサンプリング誤差をなくすために）たとえば、候補の前および後の１サンプルを中心とするセグメントについて相関を繰り返し、最大相関結果を選択するようにタスクＬ２２６を構成することが望ましい。相関ウィンドウがフレーム境界を越えて延びる場合、相関ウィンドウをシフトまたは打ち切ることが望ましい。（相関ウィンドウが打ち切られる場合、すでに正規化されているのでなければ、相関結果を正規化することが望ましい。）タスクＬ２２６はまた、相関結果が対応するしきい値ＴＨ４よりも大きい（代替的に、しきい値以上）かどうかを判断する。ＴＨ４の例示的な値は、０．７５、０．６５、および０．４５を含む。タスクＬ２２４およびタスクＬ２２６のテストを、ＴＨ３およびＴＨ４の値の異なるセットに従って組み合わせることができる。１つのそのような例では、値のセット、すなわちＴＨ３＝１およびＴＨ４＝０．７５、ＴＨ３＝１．５およびＴＨ４＝０．６５、ＴＨ３＝３およびＴＨ４＝０．４５、ＴＨ３＝６（この場合、タスクＬ２２６の結果は正とみなされる）のいずれかが正の結果を生成する場合、Ｌ２２４およびＬ２２６の結果は正である。
【００９４】
タスクＬ２２４およびＬ２２６の結果が正の場合、候補は、隣接するピッチピークとして受け付けられ、タスクＴ２２８は、このサンプルとターミナルピッチピークとの間の距離として現在のラグ推定値を計算する。タスクＬ２２４およびＬ２２６は、いずれかの順序でおよび／または互いに並列に実行することができる。タスクＬ２２０はまた、タスクＬ２２４およびタスクＬ２２６のうちの１つのみを含むように実装できる。タスクＬ２２０が隣接するピッチピークを発見することなしに終わる場合、（黒丸がターミナルピッチピークを示す、図１９Ｃに示すように）ターミナルピッチピークの立下り側でタスクＬ２２０を反復することが望ましい。
【００９５】
タスクＬ２１０およびＬ２２０のいずれもピッチピークの位置を特定しなかった場合、タスクＬ２３０は、ターミナルピッチピークの立上り側でピッチピークのオープンウィンドウ探索を実行する。図１７Ｃに、サブタスクＬ２３２と、Ｌ２３４と、Ｌ２３６と、Ｌ２３８とを含むタスクＬ２３０の実装形態Ｌ２３０ａのフローチャートを示す。ターミナルピッチピークから離れた例示的なある距離Ｄ１において開始し、タスクＬ２３２は、平均フレームエネルギーに対するエネルギーがしきい値（たとえば、ＴＨ１）を超える（代替的に、しきい値以下である）サンプルを発見する。図２０Ａに、そのような動作を示す。一例では、Ｄ１の値は、２０サンプルなど、最小許容ラグ値である。タスクＬ２３４は、（図２０Ｂに示すように）このサンプルの幅ＷＬ４のウィンドウ内で候補（たとえば、振幅または絶対値に関して最大値を有するサンプル）を発見する。一例では、ＷＬ４の値は２０サンプルに等しい。
【００９６】
タスクＬ２３６は、候補の近傍をターミナルピッチピークの同様の近傍と相関させる。タスクＬ２３６は、候補を中心とする長さＮ３サンプルのセグメントを、ターミナルピッチピークを中心とする等しい長さのセグメントと相関させるように一般に構成される。一例では、Ｎ３の値は１１サンプルに等しい。正規化相関を実行するようにタスクＬ３２６を構成することが望ましい。（たとえば、タイミングオフセットおよび／またはサンプリング誤りをなくすために）たとえば、候補の前および後の１サンプルを中心とするセグメントについて相関を繰り返し、最大相関結果を選択するようにタスクＬ３２６を構成することが望ましい。相関ウィンドウがフレーム境界を越えて延びる場合、相関ウィンドウをシフトまたは打ち切ることが望ましい。（相関ウィンドウが打ち切られる場合、すでに正規化されているのでなければ、相関結果を正規化することが望ましい。）タスクＴ３２６は、相関結果がしきい値ＴＨ５を超える（代替的に、しきい値以上である）かどうかを判断する。一例では、ＴＨ５の値は０．４５に等しい。タスクＬ２３６の結果が正の場合、候補は、隣接するピッチピークとして受け付けられ、タスクＴ２３８は、このサンプルとターミナルピッチピークとの間の距離として現在のラグ推定値を計算する。他の場合は、タスクＬ２３０ａは、ピッチピークを発見するか、または探索し尽くすまで、（たとえば、図２０Ｃに示すように、前の探索ウィンドウの左側で開始する）フレームにわたって反復する。
【００９７】
ラグ推定タスクＬ２００が終わったとき、タスクＬ３００は、フレーム中の他のピッチパルスの位置を特定することを実行する。タスクＬ３００は、相関および現在のラグ推定値を使用してより多くのパルスの位置を特定するように実装できる。たとえば、タスクＬ３００を、相関およびサンプル対ＲＭＳエネルギー値などの基準を使用して、ラグ推定値の周りの狭いウィンドウ内で最大値サンプルをテストするように構成することができる。ラグ推定タスクＬ２００に比較して、特にターミナルピッチピークに隣接するピークがすでに発見された場合、タスクＬ３００を、より小さい探索ウィンドウおよび／または緩和基準（たとえば、より低いしきい値）を使用するように構成することができる。たとえば、オンセットまたは他の遷移フレームでは、パルス形状は、フレーム内のいくつかのパルスが強相関されないように変化することができ、パルスの振幅が十分に高く、（たとえば、現在のラグ値に従って）ロケーションが補正されている限り、第２のパルスの後のパルスの相関基準を緩和するか、さらには無視することが望ましい。有効なパルスを消失する確率を最小限に抑えることが望ましく、特に大きいラグ値について、フレームの有声部分は極めて尖っていなくてもよい。一例では、方法Ｍ３００は、フレーム当たり最高８つのピッチパルスを可能にする。
【００９８】
タスクＬ３００は、次のピッチピークのための２つ以上の異なる候補を計算し、これらの候補のうちの１つに従ってピッチピークを選択するように実装できる。たとえば、タスクＬ３００を、サンプル値に基づいて候補サンプルを選択し、相関結果に基づいて候補距離を計算するように構成することができる。図２１に、サブタスクＬ３１０と、Ｌ３２０と、Ｌ３３０と、Ｌ３４０と、Ｌ３５０とを含むタスクＬ３００の実装形態Ｌ３０２のフローチャートを示す。タスクＬ３１０は、候補探索のためのアンカー位置を初期化する。たとえば、最も最近受け付けられたピッチピークの位置を初期アンカー位置として使用するように、タスクＬ３１０を構成することができる。タスクＬ３０２の第１の反復では、たとえば、アンカー位置は、タスクＬ２００によってターミナルピッチピークに隣接したピッチピークの位置が特定された場合、そのようなピークの位置、または他の場合はターミナルピッチピークの位置とすることができる。また、タスクＬ３１０が、（たとえば、１の値に）ラグ乗数ｍを初期化することが望ましい。
【００９９】
タスクＬ３２０は、候補サンプルを選択し、候補距離を計算する。タスクＬ３２０を、図２２Ａに示すウィンドウ内でこれらの候補を探索するように構成することができ、図２２Ａでは、大きい有界な横線が現在のフレームを示し、左側の大きい垂直線はフレーム始端を示し、右側の大きい垂直線はフレーム終端を示し、ドットはアンカー位置を示し、影つき枠は探索ウィンドウを示す。この例では、ウィンドウは、アンカー位置からの距離が現在のラグ推定値とラグ乗数ｍの積であるサンプルを中心とし、ウィンドウは、左側（すなわち、時間的に後方）にＷＳサンプル、右側（すなわち、時間的に前方）に（ＷＳ−１）サンプル延びる。
【０１００】
ウィンドウサイズパラメータＷＳを、現在のラグ推定値の１／５の値に初期化するように、タスクＬ３２０を構成することができる。ウィンドウサイズパラメータＷＳが、１２サンプルなど少なくとも最小値を有することが望ましい。代替的に、ターミナルピッチピークに隣接したピッチピークがまだ発見されていない場合、タスクＬ３２０が、ウィンドウサイズパラメータＷＳを現在のラグ推定値の１／２など、場合によってはより大きい値に初期化することが望ましい。
【０１０１】
候補サンプルを発見するために、タスクＬ３２０は、ウィンドウを探索して最大値を有するサンプルを発見し、このサンプルのロケーションおよび値を記録する。タスクＬ３２０を、値が探索ウィンドウ内で最も高い振幅を有するサンプルを選択するように構成することができる。代替的に、タスクＬ３２０を、探索ウィンドウ内で、値が最も大きい絶対値または最も高いエネルギーを有するサンプルを選択するように構成することができる。
【０１０２】
候補距離は、アンカー位置との相関が最も高い探索ウィンドウ内のサンプルに対応する。このサンプルを発見するために、タスクＬ３２０は、ウィンドウ中の各サンプルの近傍をアンカー位置の同様の近傍と相関させ、最大相関結果と対応する距離とを記録する。タスクＬ３２０は、各テストサンプルを中心とする長さＮ４サンプルのセグメントを、アンカー位置を中心とする等しい長さのセグメントと相関させるように一般に構成される。一例では、Ｎ４の値は１１サンプルである。タスクＬ３２０が正規化相関を実行することが望ましい。
【０１０３】
上述のように、タスクＴ３２０を、同じ探索ウィンドウを使用して、候補サンプルと候補距離とを発見するように構成することができる。ただし、タスクＴ３２０を、これらの２つの動作について異なる探索ウィンドウを使用するように構成することもできる。図２２Ｂに、タスクＬ３２０が、サイズパラメータＷＳ１を有するウィンドウにわたって候補サンプルの探索を実行する一例を示し、図２２Ｃに、タスクＬ３２０の同じインスタンスが、異なる値のサイズパラメータＷＳ２を有するウィンドウにわたって候補距離の探索を実行する一例を示す。
【０１０４】
タスクＬ３０２は、候補サンプルと、候補距離に対応するサンプルとのうちの１つをピッチピークとして選択するサブタスクＬ３３０を含む。図２３に、サブタスクＬ３３４と、Ｌ３３６と、Ｌ３３８とを含むタスクＬ３３０の実装形態Ｌ３３２のフローチャートを示す。
【０１０５】
タスクＬ３３４は、候補距離をテストする。タスクＬ３３４は、相関結果をしきい値と比較するように一般に構成される。また、タスクＬ３３４が、対応するサンプルのエネルギーに基づく測度（たとえば、フレーム平均エネルギーに対するサンプルエネルギーの比）をしきい値と比較することが望ましい。ただ１つのピッチパルスが識別された場合、タスクＬ３３４を、候補距離が少なくとも最小値（たとえば、２０サンプルなどの最小許容ラグ値）に等しいことを検証するように構成することができる。図２４Ａのテーブルの列は、候補距離に対応するサンプルをピッチピークとして受け付けるべきかどうかを判断するためにタスクＬ３３４の実装形態によって使用できるパラメータの値に基づく、テスト条件の４つの異なるセットを示す。
【０１０６】
タスクＬ３３４が候補距離に対応するサンプルをピッチピークとして受け付けた場合、そのサンプルの振幅がより高い（代替的に、絶対値がより大きい）場合にピークロケーションを（たとえば、１サンプルだけ）左側または右側に調整することが望ましい。代替または追加として、そのような場合、タスクＬ３３４が、タスクＬ３００のさらなる反復のために、ウィンドウサイズパラメータＷＳの値をより小さい値（たとえば、１０サンプル）に設定する（またはパラメータＷＳ１およびＷＳ２のうちの一方または両方をそのような値に設定する）ことが望ましい。また、新しいピッチピークがフレームについて確認された第２のピッチピークのみである場合、タスクＬ３３４が、アンカー位置とピークロケーションとの間の距離として現在のラグ推定値を計算することが望ましい。
【０１０７】
タスクＬ３０２は、候補サンプルをテストするサブタスクＬ３３６を含む。タスクＬ３３６を、サンプルエネルギーの測度（たとえば、フレーム平均エネルギーに対するサンプルエネルギーの比）がしきい値を超える（代替的に、しきい値以上である）かどうかを判断するように構成することができる。フレームについていくつのピッチピークが確認されたかに応じて、しきい値を変更することが望ましい。たとえば、フレームについてただ１つのピッチピークが確認された場合、タスクＬ３３６が、より低いしきい値（たとえば、Ｔ−３）を使用し、フレームについて２つ以上のピッチピークがすでに確認されている場合、より高いしきい値（たとえば、Ｔ）を使用することが望ましい。
【０１０８】
また、タスクＬ３３６が、候補サンプルを第２の確認されたピッチピークとして選択した場合、タスクＬ３３６が、ターミナルピッチピークとの相関の結果に基づいて、ピークロケーションを（たとえば、１サンプルだけ）左側または右側に調整することが望ましい。そのような場合、タスクＬ３３６を、各そのようなサンプルを中心とする長さＮ５サンプルのセグメントをターミナルピッチピークを中心とする等しい長さのセグメントと相関させるように構成することができる（一例では、Ｎ５の値は１１サンプルである）。代替または追加として、そのような場合、タスクＬ３３６が、タスクＬ３００のさらなる反復のために、ウィンドウサイズパラメータＷＳの値をより小さい値（たとえば、１０サンプル）に設定する（またはパラメータＷＳ１およびＷＳ２のうちの一方または両方をそのような値に設定する）ことが望ましい。
【０１０９】
テストタスクＬ３３４およびＬ３３６の両方が不合格になった、およびフレームについてただ１つのピッチピークが確認された場合、タスクＬ３０２を、（タスクＬ３５０を介して）ラグ推定値乗数ｍの値を増分し、ｍの新しい値でタスクＬ３２０を反復して、新しい候補サンプルと新しい候補距離とを選択し、新しい候補についてタスクＬ３３２を繰り返すように構成することができる。
【０１１０】
図２３に示すように、タスクＬ３３６を、候補距離テストタスクＬ３３４の不合格のときに実行するように構成することができる。タスクＴ３３２の別の実装形態では、候補距離テストタスクＬ３３４がタスクＬ３３６の不合格のときにのみ実行するように、候補サンプルテストタスクＬ３３６を最初に実行するように構成することができる。
【０１１１】
タスクＬ３３２は、サブタスクＬ３３８をも含む。テストタスクＬ３３４およびＬ３３６の両方が不合格になった、およびフレームについて２つ以上のピッチピークがすでに確認されている場合、タスクＬ３３８は、候補の一方または両方の、現在のラグ推定値との一致をテストする。
【０１１２】
図２４Ｂに、タスクＬ３３８の実装形態Ｌ３３８ａのフローチャートを示す。タスクＬ３３８ａは、候補距離をテストするサブタスクＬ３６２を含む。候補距離と現在のラグ推定値との間の絶対差がしきい値未満（代替的に、しきい値以下）である場合、タスクＬ３６２は候補距離を受け付ける。一例では、しきい値は３サンプルである。また、タスクＬ３６２が、相関結果および／または対応するサンプルのエネルギーが受付け可能な程度に高いことを検証することが望ましい。１つのそのような例では、相関結果が０．３５以上であり、フレーム平均エネルギーに対するサンプルエネルギーの比が０．５以上である場合、タスクＬ３６２は、しきい値未満（代替的に、しきい値以下）である候補距離を受け付ける。また、タスクＬ３６２が候補距離を受け付けた場合、そのサンプルの振幅がより高い（代替的に、絶対値がより大きい）場合にタスクＬ３６２がピークロケーションを（たとえば、１サンプルだけ）左側または右側に調整することが望ましい。
【０１１３】
タスクＬ３３８ａはまた、候補サンプルのラグ一致をテストするサブタスクＬ３６４を含む。（Ａ）候補サンプルと最も近接したピッチピークとの間の距離と（Ｂ）現在のラグ推定値との間の絶対差がしきい値未満（代替的に、しきい値以下）である場合、タスクＬ３６４は候補サンプルを受け付ける。一例では、しきい値は、２サンプルなどの低い値である。また、タスクＬ３６４が、候補サンプルのエネルギーが受付け可能な程度に高いことを検証することが望ましい。１つのそのような例では、候補サンプルがラグ一致テストに合格した場合、およびフレーム平均エネルギーに対するサンプルエネルギーの比が（Ｔ−５）以上である場合、タスクＬ３６４は、その候補サンプルを受け付ける。
【０１１４】
図２４Ｂに示すタスクＬ３３８ａの実装形態はまた、タスクＬ３６４の低いしきい値よりもゆるい限界に対して候補サンプルのラグ一致をテストする別のサブタスクＬ３６６を含む。（Ａ）候補サンプルと最も近接した確認されたピークとの間の距離と（Ｂ）現在のラグ推定値との間の絶対差がしきい値未満（代替的に、しきい値以下）である場合、タスクＬ３６６は候補サンプルを受け付ける。一例では、しきい値は（０．１７５＊ラグ）である。また、タスクＬ３６６が、候補サンプルのエネルギーが受付け可能な程度に高いことを検証することが望ましい。１つのそのような例では、フレーム平均エネルギーに対するサンプルエネルギーの比が（Ｔ−３）以上である場合、タスクＬ３６６は候補サンプルを受け付ける。
【０１１５】
候補サンプルと候補距離の両方がすべてのテストに不合格になった場合、タスクＴ３０２は、（タスクＴ３５０を介して）ラグ推定値乗数ｍを増分し、新しい候補サンプルと新しい候補距離とを選択するために新しい値ｍにおいてタスクＬ３２０を反復し、フレーム境界に到達するまで、新しい候補に対してタスクＬ３３０を繰り返す。新しいピッチピークが確認されると、フレーム境界に到達するまで、同じ方向に別のピークを探索することが望ましい。この場合、タスクＬ３４０は、アンカー位置を新しいピッチピークに移動し、ラグ推定値乗数ｍの値を１にリセットする。フレーム境界に到達したとき、アンカー位置をターミナルピッチピーク位置に初期化し、タスクＬ３００を反対方向に繰り返すことが望ましい。
【０１１６】
１つのフレームから次のフレームへのラグ推定値の大きい低減は、ピッチオーバーフローエラーを示すことがある。そのようなエラーは、現在のフレームのラグ値が最大許容ラグ値を超えるように、ピッチ周波数の降下によって引き起こされる。方法Ｍ３００は、（たとえば、新しいラグ推定値を計算するとき、または方法の終了時に）前のラグ推定値と現在のラグ推定値との間の絶対差または相対差をしきい値と比較し、エラーが検出された場合、フレームの最も大きいピッチピークのみを保持することが望ましい。一例では、しきい値は、前のラグ推定値の５０％に等しい。
【０１１７】
大きい絶対値２乗比をもつ２つのパルスを有する過渡として分類されるフレーム（たとえば、一般にワードの終端に向かって、大きいピッチ変化を有するフレーム）の場合、より小さいピークをピッチピークとして受け付ける前に、ごく小さいウィンドウにわたってではなく、現在のラグ推定値全体にわたって相関することが望ましい。そのような場合は、小さいウィンドウにわたってメインピークとよく相関する２次ピークを一般に有する男性ボイスの場合に発生する。タスクＬ２００とＬ３００の一方または両方を、そのような動作を含むように実装することができる。
【０１１８】
方法Ｍ３００のラグ推定タスクＬ２００は、方法Ｍ１００のラグ推定タスクＥ１３０と同じタスクとすることができることに明確に留意されたい。方法Ｍ３００のターミナルピッチピークロケーションタスクＬ１００は、方法Ｍ１００のターミナルピッチピーク位置計算タスクＥ１２０と同じタスクとすることができることに明確に留意されたい。方法Ｍ１００とＭ３００の両方が実行される適用の場合、ピッチパルス形状選択タスクＥ１１０を方法Ｍ３００の終結時に実行するように構成することが望ましい。
【０１１９】
図２７Ａに、音声信号のフレームのピッチピークを検出するように構成された装置ＭＦ３００のブロック図を示す。装置ＭＦ３００は、（たとえば、タスクＬ１００の様々な実装形態に関して上述したように）フレームのターミナルピッチピークの位置を特定するための手段ＭＬ１００を含む。装置ＭＦ３００は、（たとえば、タスクＬ２００の様々な実装形態に関して上述したように）フレームのピッチラグを推定するための手段ＭＬ２００を含む。装置ＭＦ３００は、（たとえば、タスクＬ３００の様々な実装形態に関して上述したように）フレームの追加のピッチピークの位置を特定するための手段ＭＬ３００を含む。
【０１２０】
図２７Ｂに、音声信号のフレームのピッチピークを検出するように構成された装置Ａ３００のブロック図を示す。装置Ａ３００は、（たとえば、タスクＬ１００の様々な実装形態に関して上述したように）フレームのターミナルピッチピークの位置を特定するように構成されたターミナルピッチピークロケータ(pitch peak locator)Ａ３１０を含む。装置Ａ３００は、（たとえば、タスクＬ２００の様々な実装形態に関して上述したように）フレームのピッチラグを推定するように構成されたピッチラグ推定器Ａ３２０を含む。装置Ａ３００は、（たとえば、タスクＬ３００の様々な実装形態に関して上述したように）フレームの追加のピッチピークの位置を特定するように構成された追加のピッチピークロケータＡ３３０を含む。
【０１２１】
図２７Ｃに、音声信号のフレームのピッチピークを検出するように構成された装置ＭＦ３５０のブロック図を示す。装置ＭＦ３５０は、（たとえば、タスクＬ１００の様々な実装形態に関して上述したように）フレームのピッチピークを検出するための手段ＭＬ１５０を含む。装置ＭＦ３５０は、（たとえば、タスクＬ３２０およびＬ３２０ｂの様々な実装形態に関して上述したように）候補サンプルを選択するための手段ＭＬ２５０を含む。装置ＭＦ３５０は、（たとえば、タスクＬ３２０およびＬ３２０ａの様々な実装形態に関して上述したように）候補距離を選択するための手段ＭＬ２６０を含む。装置ＭＦ３５０は、（たとえば、タスクＬ３３０の様々な実装形態に関して上述したように）候補サンプルと候補距離に対応するサンプルとのうちの１つをフレームのピッチピークとして選択するための手段ＭＬ３５０を含む。
【０１２２】
図２７Ｄに、音声信号のフレームのピッチピークを検出するように構成された装置Ａ３５０のブロック図を示す。装置Ａ３５０は、（たとえば、タスクＬ１００の様々な実装形態に関して上述したように）フレームのピッチピークを検出するように構成されたピーク検出器１５０を含む。装置Ａ３５０は、（たとえば、タスクＬ３２０およびＬ３２０ｂの様々な実装形態に関して上述したように）候補サンプルを選択するように構成されたサンプルセレクタ２５０を含む。装置Ａ３５０は、（たとえば、タスクＬ３２０およびＬ３２０ａの様々な実装形態に関して上述したように）候補距離を選択するように構成された距離セレクタ２６０を含む。装置Ａ３５０は、（たとえば、タスクＬ３３０の様々な実装形態に関して上述したように）候補サンプルと候補距離に対応するサンプルとのうちの１つをフレームのピッチピークとして選択するように構成されたピークセレクタ３５０を含む。
【０１２３】
フレームのターミナルピッチパルスの位置を一意に示す符号化フレームを生成するためにタスクＥ１００、第１のフレーム符号器１００、および／または手段ＦＥ１００を実装することが望ましい。ターミナルピッチパルスの位置は、ラグ値と組み合わせられて、そのような時間同期性情報(time-synchrony information)（たとえば、ＱＰＰＰ）がないことがある後続のフレームに重要な位相情報を与える。また、そのような情報を搬送するために必要なビット数を最小限に抑えることが望ましい。通常、１６０ビット（Ｎビット）フレーム中の一意の位置を表すために８ビット（
【数３】
2011525256.tif 000005
【０１２４】
ビット）が必要になるが、本明細書で説明する方法を使用して、７ビット（
【数４】
2011525256.tif 000006
【０１２５】
ビット）のみでターミナルピッチパルスの位置を符号化することができる。本方法は、モード値として使用するために７ビット値（この例では、
【数５】
2011525256.tif 000007
【０１２６】
）のうちの１つを確保する。
【０１２７】
最後のサンプルに対するターミナルピッチパルスの位置が与えられた状況では、フレームは、以下の３つのケースのうちの１つに一致することになる。
【０１２８】
ケース１：フレームの最後のサンプルに対するターミナルピッチパルスの位置は
【数６】
2011525256.tif 000008
【０１２９】
未満（たとえば、図２９Ａに示す１６０ビットフレームの場合、１２７未満）であり、フレームは２つ以上のピッチパルスを含んでいる。この場合、ターミナルピッチパルスの位置は
【数７】
2011525256.tif 000009
【０１３０】
ビット（７ビット）に符号化され、ピッチラグも（たとえば、７ビットで）送信される。
【０１３１】
ケース２：フレームの最後のサンプルに対するターミナルピッチパルスの位置は
【数８】
2011525256.tif 000010
【０１３２】
未満（たとえば、図２９Ａに示す１６０ビットフレームの場合、１２７未満）であり、フレームは１つのピッチパルスのみを含んでいる。この場合、ターミナルピッチパルスの位置は
【数９】
2011525256.tif 000011
【０１３３】
ビット（たとえば、７ビット）に符号化され、ピッチラグはモード値（たとえば、１２７）に設定される。
【０１３４】
ケース３：フレームの最後のサンプルに対するターミナルピッチパルスの位置が
【数１０】
2011525256.tif 000012
【０１３５】
よりも大きい（たとえば、図２９Ｂに示す１６０ビットフレームの場合、１２６よりも大きい）場合、フレームが２つ以上のピッチパルスを含んでいる可能性はない。１６０ビットフレームおよび８ｋＨｚのサンプリングレートの場合、これは、フレームの最初の約２０パーセントにおいて少なくとも２５０Ｈｚのピッチにおけるアクティビティがあり、フレームの残りにおいてピッチパルスがないことを暗示するであろう。そのようなフレームがオンセットフレームとして分類される可能性はないであろう。この場合、数
【数１１】
2011525256.tif 000013
【０１３６】
（たとえば、１２７）が実際のパルス位置の代わりに送信され、ラグビットは、フレームの第１のサンプルに関するターミナルピッチパルスの位置を搬送するために使用される。符号化フレームの位置ビットが
【数１２】
2011525256.tif 000014
【０１３７】
のパルス位置を示すかどうかをテストするように、対応する復号器を構成することができる。そうであれば、復号器は、ラグビットからフレームの第１のサンプルに関するターミナルピッチパルスの位置を代わりに得ることができる。
【０１３８】
１６０ビットフレームに適用されるケース３では、３３個のそのような位置（すなわち、０〜３２）が考えられる。その位置のうちの１つを別の位置に丸めることによって（たとえば、位置１５９を位置１５８に丸めることによって、または位置１２７を位置１２８に丸めることによって）、実際の位置を５つのビットのみで送信することができ、７つのラグビットのうちの２つは他の情報を自由に搬送することができるようになる。
【０１３９】
図２８に、上記の３つのケースに従って動作する方法Ｍ５００の一般的構成によるフローチャートを示す。方法Ｍ５００は、ｑビットフレーム中のターミナルピッチパルスの位置をｒビットを使用して符号化するように構成され、ｒはlog2 q未満である。上述の一例では、ｑは１６０に等しく、ｒは７に等しい。方法Ｍ５００は、タスクＥ１００の実装形態内で（たとえば、タスクＥ１２０内で）、第１のフレーム符号器１００の実装形態によって（たとえば、ピッチパルス位置計算器１２０によって）、および／または手段ＦＥ１００の実装形態によって（たとえば、手段ＦＥ１２０によって）実行できる。
【０１４０】
方法Ｍ５００は、タスクＴ５１０、Ｔ５２０、およびＴ５３０を含む。タスクＴ５１０は、（フレームの終端に対する）ターミナルピッチパルス位置が（２r−２）よりも大きい（たとえば、１２６よりも大きい）かどうかを判断する。その結果が真である場合、フレームは上記のケース３に一致する。この場合、タスクＴ５２０は、ターミナルピッチパルス位置ビットを（２r−１）に（たとえば、１２７に）設定し、ラグビットをフレームの始端に対するターミナルピッチパルスの位置に等しく設定する。
【０１４１】
タスクＴ５１０の結果が偽である場合、タスクＴ５３０は、フレームが１つのピッチパルスのみを含んでいるかどうかを判断する。タスクＴ５３０の結果が真である場合、フレームは上記のケース２に一致し、ラグ値を送信する必要はない。この場合、タスクＴ５４０は、ラグビットをモード値（２r−１）に設定する。
【０１４２】
タスクＴ５３０の結果が偽である場合、フレームは２つ以上のピッチパルスを含んでおり、フレームの終端に対するターミナルピッチパルスの位置は（２r−２）以下（たとえば、１２６以下）である。そのようなフレームは上記のケース１に一致し、タスクＴ５５０は、その位置をｒビットで符号化し、ラグ値をラグビットに符号化する。
【０１４３】
第１のサンプルに対するターミナルピッチパルスの位置が与えられた状況では、フレームは、以下の３つのケースのうちの１つに一致することになる。
【０１４４】
ケース１：フレームの第１のサンプルに対するターミナルピッチパルスの位置は
【数１３】
2011525256.tif 000015
【０１４５】
よりも大きく（たとえば、図２９Ｃに示す１６０ビットフレームの場合、３２よりも大きく）、フレームは２つ以上のピッチパルスを含んでいる。この場合、ターミナルピッチパルス−
【数１４】
2011525256.tif 000016
【０１４６】
の位置は
【数１５】
2011525256.tif 000017
【０１４７】
ビット（たとえば、７ビット）に符号化され、ピッチラグも（たとえば、７ビットで）送信される。
【０１４８】
ケース２：フレームの第１のサンプルに対するターミナルピッチパルスの位置は
【数１６】
2011525256.tif 000018
【０１４９】
よりも大きく（たとえば、図２９Ｃに示す１６０ビットフレームの場合、３２よりも大きく）、フレームは１つのピッチパルスのみを含んでいる。この場合、ターミナルピッチパルス−
【数１７】
2011525256.tif 000019
【０１５０】
の位置は
【数１８】
2011525256.tif 000020
【０１５１】
ビット（たとえば、７ビット）に符号化され、ピッチラグはモード値
【数１９】
2011525256.tif 000021
【０１５２】
（たとえば、１２７）に設定される。
【０１５３】
ケース３：ターミナルピッチパルスの位置が
【数２０】
2011525256.tif 000022
【０１５４】
以下（たとえば、図２９Ｄに示す１６０ビットフレームの場合、３２以下）である場合、フレームが２つ以上のピッチパルスを含んでいる可能性はない。１６０ビットフレームおよび８ｋＨｚのサンプリングレートの場合、これは、フレームの最初の約２０パーセントにおいて少なくとも２５０Ｈｚのピッチにおけるアクティビティがあり、フレームの残りにおいてピッチパルスがないことを暗示するであろう。そのようなフレームがオンセットフレームとして分類される可能性はないであろう。この場合、数
【数２１】
2011525256.tif 000023
【０１５５】
（たとえば、１２７）が実際のパルス位置の代わりに送信され、ラグビットは、フレームの第１のサンプルに対するターミナルピッチパルスの位置を送信するために使用される。符号化フレームの位置ビットが
【数２２】
2011525256.tif 000024
【０１５６】
のパルス位置を示すかどうかをテストするように、対応する復号器を構成することができる。そうであれば、復号器は、ラグビットからフレームの第１のサンプルに関するターミナルピッチパルスの位置を代わりに得ることができる。
【０１５７】
１６０ビットフレームに適用されるケース３では、３３個のそのような位置（０〜３２）が考えられる。その位置のうちの１つを別の位置に丸めることによって（たとえば、位置０を位置１に丸めることによって、または位置３２を位置３１に丸めることによって）、実際の位置を５つのビットのみで送信することができ、７つのラグビットのうちの２つは他の情報を自由に搬送することができるようになる。第１のサンプルに対するターミナルピッチパルスの位置が与えられた状況では、方法Ｍ５００を変更することができることを当業者は認識されよう。
【０１５８】
１／４レートはフレーム当たり４０ビットを可能にする。符号化タスクＥ１００、符号器１００、または手段ＦＥ１００の実装形態によって適用される遷移フレーム符号化フォーマットの一例では、１７ビットの領域を使用してＬＳＰおよび符号化モードを示し、７ビットの領域を使用してターミナルピッチパルスの位置を示し、７ビットの領域を使用してラグを示し、７ビットの領域を使用してパルス形状を示し、２ビットの領域を使用して利得プロファイルを示す。他の例では、ＬＳＰのための領域がより小さく、利得プロファイルのための領域が相応してより大きいフォーマットを含む。
【０１５９】
示されたパルスをターミナルピッチパルスロケーションとラグ値とによって示されるロケーションの各々にコピーし、得られた信号を利得ＶＱテーブル出力に従ってスケーリングすることによって、パルス形状ＶＱテーブル出力から励起信号を構成するように、対応する復号器（たとえば、復号器３００または手段ＦＤ１００の実装形態あるいは復号タスクＤ１００の実装形態を実行しているデバイス）を、構成することができる。示されたパルスがラグ値よりも長い場合、隣接するパルス間の重複を、重複した値の各ペアを平均化することによって、各ペアのうちの一方の値（たとえば、最高値もしくは最低値、または左側のパルスもしくは右側のパルスに属する値）を選択することによって、あるいは単にラグ値を越えるサンプルを廃棄することによって処理することができる。
【０１６０】
励起信号のピッチパルスは単にインパルスまたはスパイク(spikes)ではない。そうではなく、ピッチパルスは、典型的に、話者依存である時間にわたる振幅プロファイルまたは形状を有し、この形状を保持することが話者認識にとって重要である。後続の有声フレームのための基準（たとえば、プロトタイプ）として役立つようにパルス形状の良好な表現を符号化することが望ましい。
【０１６１】
ピッチパルスの形状は、話者特定および認識にとって知覚的に重要な情報を与える。この情報を復号器に与えるために、（たとえば、タスクＥ１００、符号器１００、または手段ＦＥ１００の実装形態によって実行される）遷移フレーム符号化モードを、パルス形状情報を符号化フレーム中に含めるように構成することができる。パルス形状を符号化することが、次元が可変であるベクトルを量子化するという問題を提示することがある。たとえば、残差中のピッチ周期の長さ、したがってピッチパルスの長さは、広範囲にわたって変化することがある。一例では、許容ピッチラグ値は２０サンプルから１４６サンプルまで変動する。
【０１６２】
ピッチパルスを周波数領域に変換することなしに、そのパルスの形状を符号化することが望ましい。図３０に、タスクＥ１００の実装形態内で（たとえば、タスクＥ１１０内で）、第１のフレーム符号器１００の実装形態によって（たとえば、ピッチパルス形状セレクタ１１０によって）、および／または手段ＦＥ１００の実装形態によって（たとえば、手段ＦＥ１１０によって）実行できる、一般的構成による、方法Ｍ６００のフローチャートを示す。方法Ｍ６００は、タスクＴ６１０、Ｔ６２０、Ｔ６３０、Ｔ６４０、およびＴ６５０を含む。タスクＴ６１０は、フレームが単一のピッチパルスを有するか、または複数のピッチパルスを有するかに応じて、２つの処理経路のうちの一方を選択する。
【０１６３】
単一パルスフレームの場合、タスクＴ６２０は、フレーム内のピッチパルスの位置に従って様々な単一パルスベクトル量子化（ＶＱ）テーブルのセットのうちの１つを選択する。これらのテーブルの各々は、フレームの長さ（たとえば、１６０サンプル）に等しいベクトル次元を有する。一例では、単一パルスＶＱテーブルのセットは３つのテーブルを含む。次いで、タスクＴ６３０は、選択されたＶＱテーブル内で最良の一致を発見することによって、パルス形状を量子化する。
【０１６４】
１つの特定の例では、そのような符号化システムは、単一パルスフレームに対して３つのパルス形状ＶＱテーブルを含む。各テーブルは、パルス形状が７ビットインデックスとして符号化されるように、各々の長さが１６０の１２８個のエントリを有する。
【０１６５】
パルス位置の値がモード値（たとえば、１２７）に等しい場合にフレームを単一パルスとして識別するように、対応する復号器（たとえば、復号器３００または手段ＦＤ１００の実装形態あるいは復号タスクＤ１００の実装形態を実行するデバイス）を構成することができる。代替または追加として、ラグ値がモード値（たとえば、１２７）に等しい場合にフレームを単一パルスとして識別するように、そのような復号器を構成することができる。
【０１６６】
複数パルスフレームの場合、最大利得（たとえば、最高のピーク）をもつピッチパルスを抽出するように、タスクＴ６４０を構成することができる。パルスを抽出したとき、ピークが、１つまたは複数の重要なサンプルの不連続および／または欠損をもたらすことがある、抽出されたパルスの第１のサンプルまたは最後のサンプルではないことを確認することが望ましい。場合によっては、ピーク後の情報はピーク前の情報よりも音声品質にとって重要であり、したがってピークが始端の近くになるようにパルスを抽出することが望ましい。一例では、タスクＴ６４０は、ピッチピークより２サンプル前に開始するピッチ周期から形状を抽出する。そのような手法により、ピーク後に発生し、重要な形状情報を含んでいる可能性があるサンプルをキャプチャすることが可能になる。別の例では、同じく重要な情報を含んでいる可能性がある、ピーク前のより多くのサンプルをキャプチャすることが望ましい。さらなる一例では、タスクＴ６４０は、ピークを中心とするピッチ周期を抽出するように構成される。フレームから２つ以上のピッチパルスを抽出し、最高利得をもつ２つ以上のピッチパルスから平均形状を計算することが望ましい。形状選択を実行する前にパルス振幅を正規化することが望ましい。
【０１６７】
複数パルスフレームの場合、タスクＴ６５０は、ラグ値（または抽出されたプロトタイプの長さ）に基づいてパルス形状ＶＱテーブルを選択し、次いで、選択されたテーブルから最良の一致を選択する。複数パルスフレームを符号化するために９個または１０個のパルス形状ＶＱテーブルを与えることが望ましい。各テーブルは、異なるベクトル次元を有し、異なるラグ範囲または「ビン(bin)」に関連する。パルスの長さはテーブルエントリの長さに正確に一致しないので、テーブルから最良の一致を選択する前に、対応するテーブルベクトルサイズに一致するように、形状ベクトルを（たとえば、終端において）ゼロパディングするように、タスクＴ６５０を構成することができる。代替または追加として、テーブルから最良の一致を選択する前に、対応するテーブルベクトルサイズに一致するように、形状ベクトルの端を打ち切るように、タスクＴ６５０を構成することができる。一例では、パルス形状が７ビットインデックスとして符号化されるように、複数パルスパルス形状ＶＱテーブルの各々は１２８個のエントリを有する。
【０１６８】
符号化フレームからラグ値とパルス形状インデックス値とを得、ラグ値を使用して適切なパルス形状ＶＱテーブルを選択し、パルス形状インデックス値を使用して選択されたパルス形状ＶＱテーブルから所望のパルス形状を選択するように、対応する復号器（たとえば、復号器３００または手段ＦＤ１００の実装形態あるいは復号タスクＤ１００の実装形態を実行するデバイス）を構成することができる。
【０１６９】
可能な（許容）ラグ値の範囲を均一な様式でまたは不均一な様式でビンに分割することができる。図３１Ａに示す均一な分割の一例では、２０〜１４６サンプルのラグ範囲は、２０〜３３、３４〜４７、４８〜６１、６２〜７５、７６〜８９、９０〜１０３、１０４〜１１７、１１８〜１３１、および１３２〜１４６の９つのビンに分割される。この例では、最後のビンを除くすべてのビンは１４サンプルの幅を有し、最後のビンは１５サンプルの幅を有する。
【０１７０】
上記の均一な分割では、低いピッチ周波数における品質に比較して、高いピッチ周波数における品質が低くなることがある。上記の例では、長さが２０サンプルのピッチパルスは、一致の前に６５％だけ延長される（たとえば、ゼロパディングされる）が、長さが１３２サンプルのピッチパルスは、わずか１１％だけ延長される（たとえば、ゼロパディングされる）ことになる。不均一な分割を使用することの１つの潜在的な利点は、異なるラグビン間で最大相対延長を等化することである。図３１Ｂに示す不均一な分割の一例では、２０〜１４６サンプルのラグ範囲は、２０〜２３、２４〜２９、３０〜３７、３８〜４７、４８〜６０、６１〜７６、７７〜９６、９７〜１２０、および１２１〜１４６の９つのビンに分割される。この場合、長さが２０サンプルのピッチパルスは、一致の前に１５％だけ延長され（たとえば、ゼロパディングされ）、長さが１２１サンプルのピッチパルスは、２１％だけ延長され（たとえば、ゼロパディングされ）、２０〜１４６サンプルの範囲中のピッチパルスの最大延長は２５％である。
【０１７１】
一構成による音声符号器は、（たとえば、音声符号器ＡＥ２０の実装形態によれば）上述の１／４レートＮＥＬＰ（ＱＮＥＬＰ）符号化方式、１／４レートＰＰＰ（ＱＰＰＰ）符号化方式、および遷移フレーム符号化方式の３つまたは４つの符号化方式を使用して、異なるクラスのフレームを符号化する。ＱＮＥＬＰ符号化方式は、無声フレームおよび立下り過渡フレームを符号化するために使用される。ＱＮＥＬＰ符号化方式、または１／８レートＮＥＬＰ符号化方式は、無音フレーム（たとえば、背景雑音）を符号化するために使用される。ＱＰＰＰ符号化方式は、有声フレームを符号化するために使用される。遷移フレーム符号化方式は、立上り過渡（すなわち、オンセット）フレームおよび過渡フレームを符号化するために使用される。図２６のテーブルに、これらの４つの符号化方式の各々に対するビット割振りの例を示す。
【０１７２】
現代のボコーダは、一般に音声フレームの分類を実行する。たとえば、そのようなボコーダは、無音、無声、有声、過渡、立下り過渡、および立上り過渡の、上述した６つの異なるクラスのうちの１つとしてフレームを分類する方式に従って動作することができる。そのような方式の例が米国特許出願公開第２００２／０１１１７９８号（Ｈｕａｎｇ）に記載されている。また、そのような分類方式の一例が、３ＧＰＰ２（第３世代パートナーシッププロジェクト２）文書「Enhanced Variable Rate Codec, Speech Service Options 3, 68, and 70 for Wideband Spread Spectrum Digital Systems」（３ＧＰＰ２  Ｃ．Ｓ００１４−Ｃ、２００７年１月、ｗｗｗ．３ｇｐｐ２．ｏｒｇでオンライン入手可能）のセクション４．８（ｐｐ．４−５７〜４−７１）に記載されている。この方式は、図３２のテーブル中に記載された特徴を使用してフレームを分類しており、このセクションは、本明細書で説明する「ＥＶＲＣ分類方式」の一例として参照により組み込まれる。
【０１７３】
図３２のテーブル中に出現するパラメータＥ、ＥＬ、およびＥＨは（１６０ビットフレームの場合）次のように計算できる。
【数２３】
2011525256.tif 000025
【０１７４】
上式で、sL（ｎ）およびsH（ｎ）は、それぞれ入力音声信号の（１２次極零型低域フィルタ(12th order pole-zero low-pass filter)を使用して）低域フィルタ処理されたバージョンおよび入力音声信号の（１２次極零型高域フィルタ(12th order pole-zero high-pass filter)を使用して）高域フィルタ処理されたバージョンである。ＥＶＲＣ分類方式において使用できる他の特徴は、前のフレームモード決定（「ｐｒｅｖ＿ｍｏｄｅ」）と、前のフレーム中の固定有声音声の存在（「ｐｒｅｖ＿ｖｏｉｃｅｄ」）と、現在のフレームのボイスアクティビティ検出結果（「ｃｕｒｒ＿ｖａ」）とを含む。
【０１７５】
分類方式において使用される重要な特徴は、ピッチベースの正規化自己相関関数（ＮＡＣＦ）である。図３３に、ピッチベースのＮＡＣＦを計算するためのプロシージャのフローチャートを示す。最初に、現在のフレームと（ルックアヘッドフレームとも呼ばれる）次のフレームとのＬＰＣ残差を、約１００Ｈｚにおいて３ｄＢカットオフ周波数を有する３次高域フィルタを通してフィルタ処理する。非量子化ＬＰＣ係数値を使用して、この残差を計算することが望ましい。次いで、フィルタ処理された残差を、長さ１３の有限インパルス応答（ＦＩＲ）フィルタを用いて低域フィルタ処理し、係数２でデシメートする。デシメートした信号をrd（ｎ）によって示す。
【０１７６】
現在のフレームの２つのサブフレームに対するＮＡＣＦを、ｋ＝１，２の場合、
【数２４】
2011525256.tif 000026
【０１７７】
のように計算し、
【数２５】
2011525256.tif 000027
【０１７８】
のように、最大化をすべての整数ｉにわたって行う。上式で、ｌａｇ（ｋ）はピッチ推定ルーチン（たとえば、相関ベースの技法）によって推定されるサブフレームｋに対するラグ値である。また、現在のフレームの第１および第２のサブフレームに対するこれらの値を、それぞれｎａｃｆ＿ａｔ＿ｐｉｔｃｈ［２］（「ｎａｃｆ＿ａｐ［２］」とも書かれる）およびｎａｃｆ＿ａｐ［３］として参照する。前のフレームの第１および第２のサブフレームに対して上式に従って計算したＮＡＣＦ値を、それぞれｎａｃｆ＿ａｐ［０］およびｎａｃｆ＿ａｐ［１］として参照する。
【０１７９】
ルックアヘッドフレームに対するＮＡＣＦを、
【数２６】
2011525256.tif 000028
【０１８０】
のように計算し、
【数２７】
2011525256.tif 000029
【０１８１】
のように、最大化をすべての整数ｉにわたって行う。また、この値をｎａｃｆ＿ａｐ［４］として参照する。
【０１８２】
図３４は、ハイレベルでのＥＶＲＣ分類方式を示すフローチャートである。モード決定は、前のモード決定とＮＡＣＦなどの特徴とに基づく状態間の遷移として考えられ、状態は、異なるフレーム分類である。図３５は、ＥＶＲＣ分類方式での状態間の可能な遷移を示す状態図であり、ラベルＳ、ＵＮ、ＵＰ、ＴＲ、Ｖ、およびＤＯＷＮは、それぞれ無音、無声、立上り過渡、過渡、有声、および立下り過渡のフレーム分類を示す。
【０１８３】
（現在のフレームの第２のサブフレームのＮＡＣＦで、「ｎａｃｆ＿ａｐ［２］」とも書かれる）ｎａｃｆ＿ａｔ＿ｐｉｔｃｈ［２］と、しきい値ＶＯＩＣＥＤＴＨおよびＵＮＶＯＩＣＥＤＴＨとの間の関係に応じて、３つの異なるプロシージャのうちの１つを選択することによってＥＶＲＣ分類方式を実装することができる。図３６および図３７にわたるコードリストに、ｎａｃｆ＿ａｐ［２］＞ＶＯＩＣＥＤＴＨのときに使用することができるプロシージャを記載する。図３８〜図４０にわたるコードリストに、ｎａｃｆ＿ａｐ［２］＜ＵＮＶＯＩＣＥＤＴＨのときに使用することができるプロシージャを記載する。図４１〜図４４にわたるコードリストに、ｎａｃｆ＿ａｐ［２］≧ＵＮＶＯＩＣＥＤＴＨおよびｎａｃｆ＿ａｐ［２］≦ＶＯＩＣＥＤＴＨのときに使用することができるプロシージャを記載する。
【０１８４】
特徴ｃｕｒｒ＿ｎｓ＿ｓｎｒの値に従ってしきい値ＶＯＩＣＥＤＴＨ、ＬＯＷＶＯＩＣＥＤＴＨおよびＵＮＶＯＩＣＥＤＴＨの値を変化させることが望ましい。たとえば、ｃｕｒｒ＿ｎｓ＿ｓｎｒの値がＳＮＲしきい値２５ｄＢ以上である場合、明瞭な音声に対するしきい値ＶＯＩＣＥＤＴＨ＝０．７５、ＬＯＷＶＯＩＣＥＤＴＨ＝０．５、ＵＮＶＯＩＣＥＤＴＨ＝０．３５を適用し、ｃｕｒｒ＿ｎｓ＿ｓｎｒの値がＳＮＲしきい値２５ｄＢ未満である場合、雑音が多い音声に対するしきい値ＶＯＩＣＥＤＴＨ＝０．６５、ＬＯＷＶＯＩＣＥＤＴＨ＝０．５、ＵＮＶＯＩＣＥＤＴＨ＝０．３５を適用することができる。
【０１８５】
フレームの正確な分類は、低レートボコーダの良好な品質を保証するのに特に重要である。たとえば、オンセットフレームが少なくとも１つの別個のピークまたはパルスを有する場合のみ、本明細書で説明する遷移フレーム符号化モードを使用することが望ましい。そのような特徴は確実なパルス検出にとって重要であり、それがなければ、遷移フレーム符号化モードは歪められた結果を生成することがある。ＰＰＰまたは遷移フレーム符号化方式ではなくＮＥＬＰ符号化方式を使用して、少なくとも１つの別個のピークまたはパルスがないフレームを符号化することが望ましい。たとえば、そのような過渡フレームまたは立上り過渡フレームを無声フレームとして再分類することが望ましい。
【０１８６】
そのような再分類は、１つまたは複数の正規化自己相関関数（ＮＡＣＦ）値および／または他の特徴に基づくことができる。再分類はまた、フレームのピーク対ＲＭＳエネルギー値（「最大サンプル／ＲＭＳエネルギー」）および／またはフレーム中のピッチパルスの実際の数（「ピーク数」）など、ＥＶＲＣ分類方式に使用されない特徴に基づくことができる。図４５のテーブルに示す８個の条件のうちのいずれか１つまたは複数、および／または図４６のテーブルに示す１０個の条件のうちのいずれか１つまたは複数は、立上り過渡フレームを無声フレームとして再分類するために使用される。図４７のテーブルに示す１１個の条件のうちのいずれか１つまたは複数、および／または図４８のテーブルに示す１１個の条件のうちのいずれか１つまたは複数は、過渡フレームを無声フレームとして再分類するために使用される。図４９のテーブルに示す４つの条件のうちのいずれか１つまたは複数は、有声フレームを無声フレームとして再分類するために使用される。また、そのような再分類を低帯域雑音が比較的ないフレームに限定することが望ましい。たとえば、図４６、図４８、または図４９の条件のいずれかに従って、あるいは、ｃｕｒｒ＿ｎｓ＿ｓｎｒの値が２５ｄＢ以上である場合のみ、図４７の７つの右端の条件のいずれかに従って、フレームを再分類することが望ましい。
【０１８７】
逆に、少なくとも１つの別個のピークまたはパルスを含む無声フレームを立上り過渡フレームまたは過渡フレームとして再分類することが望ましい。そのような再分類は、１つまたは複数の正規化自己相関関数（ＮＡＣＦ）値および／または他の特徴に基づくことができる。また、再分類は、フレームのピーク対ＲＭＳエネルギー値および／またはピーク数など、ＥＶＲＣ分類方式において使用されない特徴に基づくことができる。図５０のテーブルに示す７つの条件のうちのいずれか１つまたは複数は、無声フレームを立上り過渡フレームとして再分類するために使用される。図５１のテーブルに示す９つの条件のうちのいずれか１つまたは複数は、無声フレームを過渡フレームとして再分類するために使用される。図５２Ａのテーブルに示す条件は、立下り過渡フレームを有声フレームとして再分類するために使用される。図５２Ｂのテーブルに示す条件は、立下り過渡フレームを過渡フレームとして再分類するために使用される。
【０１８８】
フレーム再分類の代替として、ＥＶＲＣ分類方式などのフレーム分類の方法は、ＥＶＲＣ分類方式と、上述したおよび／または図４５〜図５２Ｂに示す再分類条件のうちの１つまたは複数との組合せに等しい分類結果を生成するように変更できる。
【０１８９】
図５３に、音声符号器ＡＥ２０の実装形態ＡＥ３０のブロック図を示す。図３６〜図４４のコードリストで説明するＥＶＲＣ分類方式などの分類方式を適用するように、符号化方式セレクタＣ２００を構成することができる。音声符号器ＡＥ３０は、上述したおよび／または図４５〜図５２Ｂに示す条件のうちの１つまたは複数に従って、フレームを再分類するように構成されたフレーム再分類器ＲＣ１０を含む。フレーム分類、および／または符号化方式セレクタＣ２００からの他のフレーム特徴の値を受信するように、フレーム再分類器ＲＣ１０を構成することができる。また、追加のフレーム特徴（たとえば、ピーク対ＲＭＳエネルギー値、ピーク数）の値を計算するように、フレーム再分類器ＲＣ１０を構成することができる。代替的に、ＥＶＲＣ分類方式と、上述したおよび／または図４５〜図５２Ｂに示す再分類条件のうちの１つまたは複数との組合せに等しい分類結果を生成する符号化方式セレクタＣ２００の実装形態を含むように、音声符号器ＡＥ３０を実装することができる。
【０１９０】
図５４Ａに、音声符号器ＡＥ１０の実装形態ＡＥ４０のブロック図を示す。音声符号器ＡＥ４０は、周期フレームを符号化するように構成された周期フレーム符号器Ｅ７０と、非周期フレームを符号化するように構成された非周期フレーム符号器Ｅ８０とを含む。たとえば、音声符号器ＡＥ４０は、有声、過渡、立上り過渡、または立下り過渡として分類されたフレームの場合は周期フレーム符号器Ｅ７０を選択し、無声または無音として分類されたフレームの場合は非周期フレーム符号器Ｅ８０を選択するように、セレクタ６０ａ、６０ｂに指示するように構成された符号化方式セレクタＣ２００の実装形態を含むことができる。
【０１９１】
図５４Ｂに、周期フレーム符号器Ｅ７０の実装形態Ｅ７２のブロック図を示す。符号器Ｅ７２は、本明細書で説明する第１のフレーム符号器１００の実装形態と、第２のフレーム符号器２００の実装形態とを含む。符号器Ｅ７２はまた、符号化方式セレクタＣ２００からの分類結果に従って現在のフレームに対して、符号器１００および２００のうちの１つを選択するように構成されたセレクタ８０ａ、８０ｂを含む。第２のフレーム符号器２００（たとえば、ＱＰＰＰ符号器）を周期フレームに対するデフォルトの符号器として選択するように、周期フレーム符号器を構成することが望ましい。無声フレーム符号器（たとえば、ＱＮＥＬＰ符号器）と無音フレーム符号器（たとえば、１／８レートＮＥＬＰ符号器）とのうちの１つを選択するように、非周期フレーム符号器Ｅ８０を同様に実装することができる。代替的に、非周期フレーム符号器Ｅ８０を無声フレーム符号器ＵＥ１０のインスタンスとして実装することができる。
【０１９２】
図５５に、周期フレーム符号器Ｅ７２の実装形態Ｅ７４のブロック図を示す。符号器Ｅ７４は、上述したおよび／または図４５〜図５２Ｂに示す条件のうちの１つまたは複数に従ってフレームを再分類し、再分類の結果に従って現在のフレームに対して符号器１００および２００のうちの１つを選択するようにセレクタ８０ａ、８０ｂを制御するように構成されたフレーム再分類器ＲＣ１０のインスタンスを含む。さらなる一例では、フレーム再分類器ＲＣ１０を含むか、あるいは、ＥＶＲＣ分類方式と、上述したおよび／または図４５〜図５２Ｂに示す再分類条件のうちの１つまたは複数との組合せに等しい分類方式を実行し、そのような分類または再分類によって示される第１のフレーム符号器１００を選択するように、符号化方式セレクタＣ２００を構成することができる。
【０１９３】
上述の遷移フレーム符号化モードを使用して過渡フレームおよび／または立上り過渡フレームを符号化することが望ましい。図５６Ａ〜図５６Ｄに、本明細書で説明する遷移フレーム符号化モードの使用が望ましい、いくつかの典型的なフレームシーケンスを示す。これらの例では、遷移フレーム符号化モードの使用を、典型的に輪郭を太く描いたフレームとして示す。そのような符号化モードは典型的に、比較的一定のピッチ周期およびシャープなパルスを有する完全な有声フレーム、または、部分的な有声フレームに対して適切に機能する。ただし、フレームにシャープなパルスがないとき、またはフレームが発声の実際のオンセットに先行するとき、復号された音声の品質が低くなることがある。場合によっては、遷移フレーム符号化モードの使用をスキップまたはキャンセルするか、あるいは、さもなければこの符号化モードの使用を後のフレーム（たとえば、後続のフレーム）まで遅延させることが望ましい。
【０１９４】
パルス検出失敗が、ピッチ誤り、パルスの消失、および／または外来パルスの挿入を引き起こすことがある。そのような誤りが、復号された音声中にポップ、クリックおよび／または他の不連続などのひずみをもたらすことがある。したがって、フレームが遷移フレーム符号化に好適であることを検証することが望ましく、フレームが好適でないとき、遷移フレーム符号化モードの使用をキャンセルすることがそのような問題を低減するのに役立つ。
【０１９５】
過渡フレームまたは立上り過渡フレームが遷移フレーム符号化モードに好適でないことが判断されることがある。たとえば、フレームに、別個のシャープなパルスがないことがある。このような場合、遷移フレーム符号化モードを使用して、好適でないフレームの後に続く第１の好適な有声フレームを符号化することが望ましい。たとえば、オンセットフレームに別個のシャープなパルスがない場合、後に続く第１の好適な有声フレームに対して遷移フレーム符号化を実行することが望ましい。そのような技法は、後続の有声フレームに対する良好な基準を保証するのに役立つ。
【０１９６】
場合によっては、遷移フレーム符号化モードの使用は、パルス利得不一致問題および／またはパルス形状不一致問題にもたらす。限られた数のビットしかこれらのパラメータを符号化するために利用可能ではなく、遷移フレーム符号化が別様に示されているが、現在のフレームが良好な基準を与えないことがある。遷移フレーム符号化モードの不要な使用をキャンセルすることが、そのような問題を低減するのに役立つ。したがって、遷移フレーム符号化モードが現在のフレームにとって別の符号化モードよりも好適であることを検証することが望ましい。
【０１９７】
遷移フレーム符号化の使用をスキップまたはキャンセルした場合、遷移フレーム符号化モードを使用して後に続く第１の好適なフレームを符号化する行為が、後続の有声フレームに良好な基準を与えるのに役立つので、そのような行為を行うことが望ましい。たとえば、まさにその次のフレームが少なくとも部分的に有声である場合、そのフレームに対して遷移フレーム符号化を強制することが望ましい。
【０１９８】
遷移フレーム符号化のニーズ、および／または遷移フレーム符号化に対するフレームの適合性は、現在のフレーム分類、前のフレーム分類、（たとえば、相関ベースの技法などのピッチ推定ルーチンによって判断された）初期ラグ値、（たとえば、方法Ｍ２００などのパルス検出動作によって判断された）変更されたラグ値、前のフレームのラグ値、および／またはＮＡＣＦ値などの基準に基づいて判断できる。
【０１９９】
良好な基準なしにＱＰＰＰを使用した結果は予測不可能であるので、有声セグメントの始端の近くで遷移フレーム符号化モードを使用することが望ましい。ただし、場合によっては、ＱＰＰＰは、遷移フレーム符号化モードよりも良好な結果を与えることが予想される。たとえば、場合によっては、遷移フレーム符号化モードの使用は、不良基準を生じるか、またはＱＰＰＰを使用することよりも好ましくない結果を引き起こすことさえ予想される。
【０２００】
遷移フレーム符号化が現在のフレームに不要である場合、遷移フレーム符号化をスキップすることが望ましい。そのような場合、（たとえば、ＱＰＰＰの連続性を保持するために）ＱＰＰＰなどの有声符号化モードにデフォルト設定されることが望ましい。遷移フレーム符号化モードの不要な使用は、（たとえば、これらの特徴に対する限定されたビットバジェットにより）後のフレームにおけるパルス利得および／またはパルス形状の不一致の問題をもたらすことがある。ＱＰＰＰなど、限定された時間同期性を有する有声符号化モードは、特にそのような誤りに反応することができる。
【０２０１】
遷移フレーム符号化方式を使用してフレームを符号化した後、符号化結果を検査し、符号化結果が不良である場合、フレームに対する遷移フレーム符号化の使用を除去することが望ましい。大部分が無声であり、終端の近くでのみ有声になるフレームの場合、遷移符号化モードを、パルスなしに無声部分を（たとえば、０または低い値として）符号化するように構成し、遷移符号化モードを、無声部分の少なくとも一部をパルスで充填するように構成することができる。無声部分がパルスなしに符号化された場合、フレームは復号された信号中に可聴クリックまたは不連続を生成することがある。そのような場合、ＮＥＬＰ符号化方式をフレームに対して代わりに使用することが望ましい。ただし、ひずみを引き起こすことがある有声セグメントに対するＮＥＬＰの使用を避けることが望ましい。遷移符号化モードがフレームに対してキャンセルされた場合、たいていの場合、無声符号化モード（たとえば、ＱＮＥＬＰ）ではなく有声符号化モード（たとえば、ＱＰＰＰ）を使用してフレームを符号化することが望ましい。上述のように、遷移符号化モードを使用するという選択を、遷移符号化モードと有声符号化モードとの間の選択として実装することができる。良好な基準なしにＱＰＰＰを使用した結果は予測不可能である（たとえば、フレームの位相は、先行する無声フレームから導出されることになる）が、復号された信号中にクリックまたは不連続を生成する可能性はない。そのような場合、遷移符号化モードの使用は、次のフレームまで延期されることがある。
【０２０２】
フレーム間のピッチ不連続が検出されたとき、フレームに対して遷移符号化モードを使用するという決定をオーバーライドすることが望ましい。一例では、タスクＴ７１０は、前のフレームとのピッチ連続性について検査する（たとえば、ピッチ２倍誤りについて検査する）。フレームが有声または過渡として分類され、パルス検出ルーチンによって現在のフレームに対して示されたラグ値が、パルス検出ルーチンによって前のフレームに対して示されたラグ値よりもはるかに小さい（たとえば、その約１／２、１／３、または１／４である）場合、タスクは、遷移符号化モードを使用するという決定をキャンセルする。
【０２０３】
別の例では、タスクＴ７２０は、前のフレームに比較してピッチオーバーフローについて検査する。音声が最大許容ラグよりも高いラグ値を生じる極めて低いピッチ周波数を有するとき、ピッチオーバーフローが発生する。前のフレームに対するラグ値が大きく（たとえば、１００サンプルよりも多く）、ピッチ推定ルーチンとパルス検出ルーチンとによって現在のフレームに対して示されたラグ値が、両方とも前のピッチよりもはるかに小さい（たとえば、その５０％よりも小さい）場合、遷移符号化モードを使用するという決定をキャンセルするように、そのようなタスクを構成することができる。そのような場合、また、フレームの最も大きいピッチパルスのみを単一パルスとして保持することが望ましい。代替的に、前のラグ推定値と、有声および／または相対符号化モード（たとえば、タスクＥ２００、ＱＰＰＰ）とを使用してフレームを符号化することができる。
【０２０４】
２つの異なるルーチンからの結果の間の不整合が検出されたとき、フレームに対して遷移符号化モードを使用するという決定をオーバーライドすることが望ましい。一例では、タスクＴ７３０は、強いＮＡＣＦの存在下でのピッチ推定ルーチンとパルス検出ルーチンとからのラグ値の整合性について検査する。第２のパルスのピッチにおける極めて高いＮＡＣＦが良好なピッチ推定値を示すので、２つのラグ推定値間の不整合が予期しないものとなる。パルス検出ルーチンからのラグ推定値がピッチ推定ルーチンからのラグ推定値とは極めて異なる（たとえば、その１．６倍よりも大きい）場合、遷移符号化モードを使用するという決定をキャンセルするように、そのようなタスクを構成することができる。
【０２０５】
別の例では、タスクＴ７４０は、ラグ値とターミナルパルスの位置との間の一致について検査する。（ピーク間の距離の平均とすることができる）ラグ推定値を使用して符号化された、ピーク位置のうちの１つまたは複数が、対応する実際のピーク位置とはあまりに異なるとき、遷移フレーム符号化モードを使用するという決定をキャンセルすることが望ましい。ターミナルパルスの位置とパルス検出ルーチンによって計算されたラグ値とを使用して、再構成されたピッチパルス位置を計算し、再構成された位置の各々をパルス検出アルゴリズムによって検出された実際のピッチピーク位置と比較し、差のいずれかが大きすぎる（たとえば、８サンプルよりも大きい）場合、遷移フレーム符号化を使用するという決定をキャンセルするように、タスクＴ７４０を構成することができる。
【０２０６】
さらなる一例では、タスクＴ７５０は、ラグ値とパルス位置との間の一致について検査する。最終ピッチピークが最終フレーム境界から２つ以上のラグ周期だけ離れている場合、遷移フレーム符号化を使用するという決定をキャンセルするように、そのようなタスクを構成することができる。たとえば、最終ピッチパルスの位置とフレームの終端との間の距離が最終ラグ推定値（たとえば、ラグ推定タスクＬ２００および／または方法Ｍ３００によって計算されたラグ値）よりも大きい場合、遷移フレーム符号化を使用するという決定をキャンセルするように、そのようなタスクを構成することができる。そのような条件は、パルス検出失敗、またはまだ安定していないラグを示すことができる。
【０２０７】
現在のフレームが２つのパルスを有し、過渡フレームとして分類された場合、および２つのパルスのピークの２乗絶対値の比が大きい場合、ラグ値全体にわたって２つのパルスを相関させ、相関結果が対応するしきい値よりも大きくなければ（代替的に、しきい値以上でなければ）より小さいピークを除去することが望ましい。また、より小さいピークが除去された場合、フレームに対して遷移フレーム符号化モードを使用するという決定をキャンセルすることが望ましい。
【０２０８】
図５７に、フレームに対して遷移フレーム符号化を使用するという決定をキャンセルするために使用できる２つのルーチンのコードリストを示す。このリストで、ｍｏｄ＿ｌａｇは、パルス検出ルーチンからのラグ値を示し、ｏｒｉｇ＿ｌａｇは、ピッチ推定ルーチンからのラグ値を示し、ｐｄｅｌａｙ＿ｔｒａｎｓｉｅｎｔ＿ｃｏｄｉｎｇは、前のフレームに対するパルス検出ルーチンからのラグ値を示し、ＰＲＥＶ＿ＴＲＡＮＳＩＥＮＴ＿ＦＲＡＭＥ＿Ｅは、遷移符号化モードが前のフレームに対して使用されたかどうかを示し、ｌｏｃ［０］は、フレームの最終ピッチピークの位置を示す。
【０２０９】
図５８に、遷移フレーム符号化を使用するという決定をキャンセルするために使用できる４つの異なる条件を示す。このテーブルで、ｃｕｒｒ＿ｍｏｄｅは、現在のフレーム分類を示し、ｐｒｅｖ＿ｍｏｄｅは、前のフレームに対するフレーム分類を示し、ｎｕｍｂｅｒ＿ｏｆ＿ｐｕｌｓｅｓは、現在のフレーム中のパルスの数を示し、ｐｒｅｖ＿ｎｏ＿ｏｆ＿ｐｕｌｓｅｓは、前のフレーム中のパルスの数を示し、ｐｉｔｃｈ＿ｄｏｕｂｌｉｎｇは、ピッチ２倍誤りが現在のフレーム中で検出されたかどうかを示し、ｄｅｌｔａ＿ｌａｇ＿ｉｎｔｒａは、ピッチ推定ルーチンとパルス検出ルーチンとからのラグ値間の差の（たとえば、整数の）絶対値（または、ピッチ２倍が検出された場合、ピッチ推定ルーチンからのラグ値の半分と、パルス検出ルーチンからのラグ値との間の差の絶対値）を示し、ｄｅｌｔａ＿ｌａｇ＿ｉｎｔｅｒは、前のフレームの最終ラグ値と、現在のフレームに対するピッチ推定ルーチンからのラグ値（またはピッチ２倍が検出された場合、そのラグ値の半分）との間の差の（たとえば、浮動小数点の）絶対値を示し、ＮＥＥＤ＿ＴＲＡＮＳは、現在のフレームに対する遷移フレーム符号化モードの使用が前のフレームの符号化中に示されたかどうかを示し、ＴＲＡＮＳ＿ＵＳＥＤは、遷移符号化モードが前のフレームを符号化するために使用されたかどうかを示し、ｆｕｌｌｙ＿ｖｏｉｃｅｄは、ターミナルピッチパルスの位置と、最終ラグ値によって分割された反対側のフレームの終端との間の距離の整数部分がｎｕｍｂｅｒ＿ｏｆ＿ｐｕｌｓｅｓ−１に等しいかどうかを示す。しきい値の値の例には、Ｔ１Ａ＝［０．１＊（パルス検出ルーチンからのラグ値）＋０．５］、Ｔ１Ｂ＝［０．０５＊（パルス検出ルーチンからのラグ値）＋０．５］、Ｔ２Ａ＝［０．２＊（前のフレームに対する最終ラグ値）］、およびＴ２Ｂ＝［０．１５＊（前のフレームに対する最終ラグ値）］がある。
【０２１０】
タスクＴ７１０〜Ｔ７５０、図５７のコードリスト、および図５８に示す条件など、遷移符号化モードを使用するという決定をキャンセルするための上述の設定のうちの１つまたは複数を含むように、フレーム再分類器ＲＣ１０を実装することができる。たとえば、図５９に示す方法Ｍ７００を実行し、テストタスクＴ７１０〜Ｔ７５０のいずれかが不合格になった場合、遷移符号化モードを使用するという決定をキャンセルするように、フレーム再分類器ＲＣ１０を実装することができる。
【０２１１】
本明細書で説明した方法の実装形態の典型的な適用（たとえば、方法Ｍ１００、Ｍ２００、Ｍ３００、Ｍ５００、Ｍ６００、またはＭ７００、あるいは別のルーチンまたはコードリスト）では、論理要素のアレイ（たとえば、論理ゲート）は、この方法の様々なタスクのうちの１つ、複数、さらにはすべてを実行するように構成される。タスクの１つまたは複数（場合によってはすべて）は、論理要素のアレイ（たとえば、プロセッサ、マイクロプロセッサ、マイクロコントローラ、または他の有限状態機械）を含む機械（たとえば、コンピュータ）によって読取り可能および／または実行可能であるコンピュータプログラム製品（たとえば、ディスク、フラッシュまたは他の不揮発性メモリカード、半導体メモリチップなどの１つまたは複数のデータ記憶媒体など）に埋め込まれたコード（たとえば、命令の１つまたは複数のセット）として実装することもできる。そのような方法の実装形態のタスクを、２つ以上のそのようなアレイまたは機械によって実行することもできる。これらのまたは他の実装形態では、タスクは、モバイルユーザ端末など、無線通信用のデバイス、またはそのような通信機能をもつ他のデバイス内で実行することができる。そのようなデバイスは、（ＶｏＩＰ（ボイスオーバーインターネットプロトコル）などの１つまたは複数のプロトコルを使用して）回線交換および／またはパケット交換ネットワークと通信するように構成できる。たとえば、そのようなデバイスは、符号化フレームを含む信号を送信し、および／またはそのような信号を受信するように構成されたＲＦ回路を含むことができる。また、そのようなデバイスは、ＲＦ送信の前に符号化フレームに対して、インターリーブ、パンクチャリング、畳み込み符号化、誤り訂正符号化、および／あるいはネットワークプロトコルの１つまたは複数のレイヤを適用することなどの１つまたは複数の他の動作を実行するように構成できる。
【０２１２】
本明細書で説明した装置（たとえば、装置Ａ１００、Ａ２００、Ａ３００、Ａ５００、Ａ６００、Ａ７００、または音声符号器ＡＥ２０、あるいはその要素）の実装形態の様々な要素は、たとえば、チップセット中の同じチップ上にまたは２つ以上のチップの間に常駐する電子および／または光デバイスとして実装できるが、そのような限定なしに他の構成も考えられる。そのような装置の１つまたは複数の要素は、マイクロプロセッサ、組み込みプロセッサ、ＩＰコア、デジタル信号プロセッサ、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＡＳＳＰ（特定用途向け標準製品）、およびＡＳＩＣ（特定用途向け集積回路）などの、論理要素（たとえば、トランジスタ、ゲート）の１つまたは複数の固定またはプログラマブルなアレイ上で実行するように構成された命令の１つまたは複数のセットとして全体的にまたは部分的に実装できる。
【０２１３】
そのような装置の実装形態の１つまたは複数の要素は、装置が組み込まれているデバイスまたはシステムの別の動作に関係するタスクなど、装置の動作に直接関係しないタスクまたは命令の他のセットを実行するために使用することが可能である。また、本明細書で説明した装置の実装形態の１つまたは複数の要素は、共通の構造（たとえば、異なる要素に対応するコードの部分を異なる時間に実行するために使用されるプロセッサ、異なる要素に対応するタスクを異なる時間に実施するために実行される命令のセット、あるいは、異なる要素向けの動作を異なる時間に実施する電子デバイスおよび／または光デバイスの構成）を有することが可能である。
【０２１４】
説明した構成の上記の提示は、本明細書で開示する方法および他の構造を当業者が製造または使用できるように与えたものである。本明細書で図示および説明したフローチャートおよび他の構造は例にすぎず、これらの構造の他の変形態も開示の範囲内である。これらの構成に対する様々な変更が可能であり、本明細書で提示する一般的原理は他の構成にも同様に適用できる。
【０２１５】
本明細書で説明した構成の各々は、部分的にまたは全体的に、ハードワイヤード回路として、特定用途向け集積回路中に作成された回路構成として、あるいは不揮発性記憶装置にロードされるファームウェアプログラム、またはマイクロプロセッサもしくは他のデジタル信号処理ユニットなどの論理要素のアレイによって実行可能な命令である機械可読コードとしてデータ記憶媒体から、もしくはデータ記憶媒体にロードされるソフトウェアプログラムとして実装できる。データ記憶媒体は、（限定はしないが、ダイナミックもしくはスタティックＲＡＭ（ランダムアクセスメモリ）、ＲＯＭ（読取り専用メモリ）、および／またはフラッシュＲＡＭを含む）半導体メモリ、または強誘電体メモリ、磁気抵抗メモリ、オボニックメモリ、ポリマーメモリ、もしくは位相変化メモリなどの記憶要素のアレイ、磁気ディスクまたは光ディスクなどのディスク媒体とすることができる。「ソフトウェア」という用語は、ソースコード、アセンブリ言語コード、機械コード、バイナリコード、ファームウェア、マクロコード、マイクロコード、論理要素のアレイによって実行可能な命令の１つまたは複数のセットまたはシーケンス、およびそのような例の任意の組合せを含むことを理解されたい。
【０２１６】
また、本明細書で開示する方法の各々は、論理要素（たとえば、プロセッサ、マイクロプロセッサ、マイクロコントローラ、または他の有限状態機械）のアレイを含む機械によって読取り可能および／または実行可能な命令の１つまたは複数のセットとして（たとえば、上記に記載する１つまたは複数のデータ記憶媒体中で）有形に実施することができる。したがって、本開示は、上記に示した構成に限定されるものではなく、原開示の一部をなす、出願した添付の特許請求の範囲を含む、本明細書において任意の方法で開示した原理および新規の特徴に一致する最も広い範囲が与えられるべきである。
【図１】
2011525256.tif 000030
【図２Ａ】
2011525256.tif 000031
【図２Ｂ】
2011525256.tif 000032
【図３Ａ】
2011525256.tif 000033
【図３Ｂ】
2011525256.tif 000034
【図４】
2011525256.tif 000035
【図５Ａ】
2011525256.tif 000036
【図５Ｂ】
2011525256.tif 000037
【図５Ｃ】
2011525256.tif 000038
【図６Ａ】
2011525256.tif 000039
【図６Ｂ】
2011525256.tif 000040
【図７Ａ】
2011525256.tif 000041
【図７Ｂ】
2011525256.tif 000042
【図８Ａ】
2011525256.tif 000043
【図８Ｂ】
2011525256.tif 000044
【図９Ａ】
2011525256.tif 000045
【図９Ｂ】
2011525256.tif 000046
【図１０Ａ】
2011525256.tif 000047
【図１０Ｂ】
2011525256.tif 000048
【図１１Ａ】
2011525256.tif 000049
【図１１Ｂ】
2011525256.tif 000050
【図１２Ａ】
2011525256.tif 000051
【図１２Ｂ】
2011525256.tif 000052
【図１３】
2011525256.tif 000053
【図１４】
2011525256.tif 000054
【図１５Ａ】
2011525256.tif 000055
【図１５Ｂ】
2011525256.tif 000056
【図１５Ｃ】
2011525256.tif 000057
【図１６Ａ】
2011525256.tif 000058
【図１６Ｂ】
2011525256.tif 000059
【図１７Ａ】
2011525256.tif 000060
【図１７Ｂ】
2011525256.tif 000061
【図１７Ｃ】
2011525256.tif 000062
【図１８Ａ】
2011525256.tif 000063
【図１８Ｂ】
2011525256.tif 000064
【図１８Ｃ】
2011525256.tif 000065
【図１８Ｄ】
2011525256.tif 000066
【図１８Ｅ】
2011525256.tif 000067
【図１８Ｆ】
2011525256.tif 000068
【図１９Ａ】
2011525256.tif 000069
【図１９Ｂ】
2011525256.tif 000070
【図１９Ｃ】
2011525256.tif 000071
【図２０Ａ】
2011525256.tif 000072
【図２０Ｂ】
2011525256.tif 000073
【図２０Ｃ】
2011525256.tif 000074
【図２１】
2011525256.tif 000075
【図２２Ａ】
2011525256.tif 000076
【図２２Ｂ】
2011525256.tif 000077
【図２２Ｃ】
2011525256.tif 000078
【図２３】
2011525256.tif 000079
【図２４Ａ】
2011525256.tif 000080
【図２４Ｂ】
2011525256.tif 000081
【図２５】
2011525256.tif 000082
【図２６】
2011525256.tif 000083
【図２７Ａ】
2011525256.tif 000084
【図２７Ｂ】
2011525256.tif 000085
【図２７Ｃ】
2011525256.tif 000086
【図２７Ｄ】
2011525256.tif 000087
【図２８】
2011525256.tif 000088
【図２９Ａ】
2011525256.tif 000089
【図２９Ｂ】
2011525256.tif 000090
【図２９Ｃ】
2011525256.tif 000091
【図２９Ｄ】
2011525256.tif 000092
【図３０】
2011525256.tif 000093
【図３１Ａ】
2011525256.tif 000094
【図３１Ｂ】
2011525256.tif 000095
【図３２】
2011525256.tif 000096
【図３３】
2011525256.tif 000097
【図３４】
2011525256.tif 000098
【図３５】
2011525256.tif 000099
【図３６】
2011525256.tif 000100
【図３７】
2011525256.tif 000101
【図３８】
2011525256.tif 000102
【図３９】
2011525256.tif 000103
【図４０】
2011525256.tif 000104
【図４１】
2011525256.tif 000105
【図４２】
2011525256.tif 000106
【図４３】
2011525256.tif 000107
【図４４】
2011525256.tif 000108
【図４５】
2011525256.tif 000109
【図４６】
2011525256.tif 000110
【図４７】
2011525256.tif 000111
【図４８】
2011525256.tif 000112
【図４９】
2011525256.tif 000113
【図５０】
2011525256.tif 000114
【図５１】
2011525256.tif 000115
【図５２Ａ】
2011525256.tif 000116
【図５２Ｂ】
2011525256.tif 000117
【図５３】
2011525256.tif 000118
【図５４Ａ】
2011525256.tif 000119
【図５４Ｂ】
2011525256.tif 000120
【図５５】
2011525256.tif 000121
【図５６Ａ】
2011525256.tif 000122
【図５６Ｂ】
2011525256.tif 000123
【図５６Ｃ】
2011525256.tif 000124
【図５６Ｄ】
2011525256.tif 000125
【図５７】
2011525256.tif 000126
【図５８】
2011525256.tif 000127
【図５９】
2011525256.tif 000128
【国際調査報告】
2011525256.tif 000129
2011525256.tif 000130
2011525256.tif 000131
2011525256.tif 000132
2011525256.tif 000133