(57)【要約】【課題】音声信号の波形の特徴を利用して符号化効率を向上させる。【解決手段】音声符号化装置１００は、入力された音声信号からピッチを抽出するピッチ抽出部１と、ピッチ抽出部１により抽出されたピッチ単位で音声信号を並べ替えるピッチ単位並べ替え部２と、ピッチ単位並べ替え部２により並べ替えられた音声信号を所定の符号化方式で符号化する符号化部３と、を備える。音声復号装置２００は、音声符号化装置１００で符号化された音声信号を復号する復号部４と、復号部４で復号された音声信号を、ピッチ単位で並べ替えられる前の元の順番に戻すピッチ単位並べ替え復元部５を備える。【選択図】図１
2006126592.tif 000002
【特許請求の範囲】
【請求項１】
入力された音声信号からピッチを抽出するピッチ抽出部と、
前記ピッチ抽出部により抽出されたピッチ単位で前記音声信号を並べ替える並べ替え部と、
前記並べ替え部により並べ替えられた音声信号を所定の符号化方式で符号化する符号化部と、
を備えることを特徴とする音声符号化装置。
【請求項２】
入力された音声信号をフレームに分割するフレーム化部と、
前記フレーム化部により得られた各フレーム内の音声信号からピッチを抽出するピッチ抽出部と、
前記ピッチ抽出部により抽出されたピッチ単位で前記音声信号を並べ替える並べ替え部と、
前記フレーム化部により得られたフレーム毎に、前記並べ替え部により得られた音声信号の振幅の最大値に基づいて当該音声信号のレベルを調整するレベル調整部と、
前記レベル調整部によりレベル調整された音声信号の中で近接する２信号の差分値を算出する差分算出部と、
前記差分算出部により算出された差分値を示す音声信号に対し、周波数変換を施す周波数変換部と、
前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施すベクトル量子化部と、
前記ベクトル量子化により得られたベクトル量子化符号を所定の符号化方式で符号化する符号化部と、
前記符号化部により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定する判定部と、
前記判定部により、前記符号化後の音声信号のデータ量が予め設定された目標データ量より大きいと判定された場合、当該音声信号のうち所定の帯域の周波数成分のデータを削除する削除部と、
を備えることを特徴とする音声符号化装置。
【請求項３】
前記並べ替え部による並べ替え処理において一度に並べ替えるピッチ波形の個数は予め設定されていることを特徴とする請求項１又は２に記載の音声符号化装置。
【請求項４】
前記並べ替え部による並べ替え処理において一度に並べ替えるピッチ波形の個数は、ピッチ波形の時間軸方向での長さの合計が予め設定された長さを超えない最大のピッチ波形の個数であることを特徴とする請求項１又は２に記載の音声符号化装置。
【請求項５】
前記並べ替え部による並べ替え処理において一度に並べ替えるピッチ波形の時間軸方向での長さの合計は予め設定されていることを特徴とする請求項１又は２に記載の音声符号化装置。
【請求項６】
前記並べ替え部による並べ替え処理において一度に並び替えるピッチ波形の個数は、ピッチ波形が定常状態を継続する最大の個数以下であることを特徴とする請求項１又は２に記載の音声符号化装置。
【請求項７】
ピッチ単位で並べ替えられ、所定の符号化方式で符号化された音声信号を復号する復号部と、
前記復号部により得られた音声信号を、前記ピッチ単位で並べ替えられる前の元の順番に戻す並べ替え復元部と、
を備えることを特徴とする音声復号装置。
【請求項８】
フレーム分割され、ピッチ単位で並び替えられ、近接する２信号の差分値が算出され、更に、周波数変換が施され、ベクトル量子化が施され、所定の符号化方式で符号化された音声信号を復号する復号部と、
前記復号部により得られた音声信号に対し、逆ベクトル量子化を施す逆ベクトル量子化部と、
前記逆ベクトル量子化により得られた音声信号に対し、周波数逆変換を施す周波数逆変換部と、
前記周波数逆変換により得られた音声信号から前記差分値を復元する差分復元部と、
前記差分復元部により得られた音声信号を、前記ピッチ単位で並べ替えられる前の元の順番に戻す並べ替え復元処理を行う並べ替え復元部と、
前記並べ替え復元処理後の各フレームを合成するフレーム合成部と、
を備えることを特徴とする音声復号装置。
【請求項９】
入力された音声信号からピッチを抽出し、
前記抽出されたピッチ単位で前記音声信号を並べ替え、
前記並べ替えられた音声信号を所定の符号化方式で符号化することを特徴とする音声符号化方法。
【請求項１０】
入力された音声信号をフレームに分割し、
前記分割された各フレーム内の音声信号からピッチを抽出し、
前記抽出されたピッチ単位で前記音声信号を並べ替え、
前記分割されたフレーム毎に、前記並べ替えられた音声信号の振幅の最大値に基づいて当該音声信号のレベルを調整し、
前記レベル調整された音声信号の中で近接する２信号の差分値を算出し、
前記算出された差分値を示す音声信号に対し、周波数変換を施し、
前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施し、
前記ベクトル量子化により得られたベクトル量子化符号を所定の符号化方式で符号化し、
前記符号化により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、
前記判定により前記符号化後の音声信号のデータ量が予め設定された目標データ量より大きいと判定された場合、当該音声信号のうち所定の帯域の周波数成分のデータを削除することを特徴とする音声符号化方法。
【請求項１１】
ピッチ単位で並べ替えられ、所定の符号化方式で符号化された音声信号を復号し、
前記復号された音声信号を、前記ピッチ単位で並べ替えられる前の元の順番に戻すことを特徴とする音声復号方法。
【請求項１２】
フレーム分割され、ピッチ単位で並び替えられ、近接する２信号の差分値が算出され、更に、周波数変換が施され、ベクトル量子化が施され、所定の符号化方式で符号化された音声信号を復号し、
前記復号された音声信号に対し、逆ベクトル量子化を施し、
前記逆ベクトル量子化により得られた音声信号に対し、周波数逆変換を施し、
前記周波数逆変換により得られた音声信号から前記差分値を復元し、
前記差分値の復元により得られた音声信号を、前記ピッチ単位で並べ替えられる前の元の順番に戻す並べ替え復元処理を行い、
前記並べ替え復元処理後の各フレームを合成することを特徴とする音声復号方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声符号化装置、音声復号装置、音声符号化方法及び音声復号方法に関する。
【背景技術】
【０００２】
従来より、音声信号の符号化方式として、μ−ｌａｗ、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）、音楽で利用されるＭＰ３（MPEG Audio Layer-3）、携帯電話等で利用されるＶＳＥＬＰ(Vector Sum Excited Linear Prediction)、Ｇ．７２９等のＣＥＬＰ（Code-Excited Linear Prediction）系の符号化方式が実用化されている。特許文献１には、音声符号化技術として、ベクトル量子化を用いた技術が開示されている。
【特許文献１】特開平１０−６３２９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、実際の音声信号では、定常状態では類似した波形が並びやすいが、従来の音声符号化技術では、この特徴を十分に利用しているとは言えなかった。
【０００４】
本発明の課題は、音声信号の波形の特徴を利用して符号化効率を向上させることである。
【課題を解決するための手段】
【０００５】
本発明に係る音声符号化装置は、入力された音声信号からピッチを抽出するピッチ抽出部と、前記ピッチ抽出部により抽出されたピッチ単位で前記音声信号を並べ替える並べ替え部と、前記並べ替え部により並べ替えられた音声信号を所定の符号化方式で符号化する符号化部と、を備えることを特徴としている。
【０００６】
本発明に係る音声符号化装置は、入力された音声信号をフレームに分割するフレーム化部と、前記フレーム化部により得られた各フレーム内の音声信号からピッチを抽出するピッチ抽出部と、前記ピッチ抽出部により抽出されたピッチ単位で前記音声信号を並べ替える並べ替え部と、前記フレーム化部により得られたフレーム毎に、前記並べ替え部により得られた音声信号の振幅の最大値に基づいて当該音声信号のレベルを調整するレベル調整部と、前記レベル調整部によりレベル調整された音声信号の中で近接する２信号の差分値を算出する差分算出部と、前記差分算出部により算出された差分値を示す音声信号に対し、周波数変換を施す周波数変換部と、前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施すベクトル量子化部と、前記ベクトル量子化により得られたベクトル量子化符号を所定の符号化方式で符号化する符号化部と、前記符号化部により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定する判定部と、前記判定部により、前記符号化後の音声信号のデータ量が予め設定された目標データ量より大きいと判定された場合、当該音声信号のうち所定の帯域の周波数成分のデータを削除する削除部と、を備えることを特徴としている。
【０００７】
また、前記並べ替え部による並べ替え処理において一度に並べ替えるピッチ波形の個数は予め設定されていることが好ましい。
【０００８】
また、前記並べ替え部による並べ替え処理において一度に並べ替えるピッチ波形の個数は、ピッチ波形の時間軸方向での長さの合計が予め設定された長さを超えない最大のピッチ波形の個数であることが好ましい。
【０００９】
また、前記並べ替え部による並べ替え処理において一度に並べ替えるピッチ波形の時間軸方向での長さの合計は予め設定されていることが好ましい。
【００１０】
また、前記並べ替え部による並べ替え処理において一度に並び替えるピッチ波形の個数は、ピッチ波形が定常状態を継続する最大の個数以下であることが好ましい。
【００１１】
本発明に係る音声復号装置は、ピッチ単位で並べ替えられ、所定の符号化方式で符号化された音声信号を復号する復号部と、前記復号部により得られた音声信号を、前記ピッチ単位で並べ替えられる前の元の順番に戻す並べ替え復元部と、を備えることを特徴としている。
【００１２】
本発明に係る音声復号装置は、フレーム分割され、ピッチ単位で並び替えられ、近接する２信号の差分値が算出され、更に、周波数変換が施され、ベクトル量子化が施され、所定の符号化方式で符号化された音声信号を復号する復号部と、前記復号部により得られた音声信号に対し、逆ベクトル量子化を施す逆ベクトル量子化部と、前記逆ベクトル量子化により得られた音声信号に対し、周波数逆変換を施す周波数逆変換部と、前記周波数逆変換により得られた音声信号から前記差分値を復元する差分復元部と、前記差分復元部により得られた音声信号を、前記ピッチ単位で並べ替えられる前の元の順番に戻す並べ替え復元処理を行う並べ替え復元部と、前記並べ替え復元処理後の各フレームを合成するフレーム合成部と、を備えることを特徴としている。
【００１３】
本発明に係る音声符号化方法は、入力された音声信号からピッチを抽出し、前記抽出されたピッチ単位で前記音声信号を並べ替え、前記並べ替えられた音声信号を所定の符号化方式で符号化することを特徴としている。
【００１４】
本発明に係る音声符号化方法は、入力された音声信号をフレームに分割し、前記分割された各フレーム内の音声信号からピッチを抽出し、前記抽出されたピッチ単位で前記音声信号を並べ替え、前記分割されたフレーム毎に、前記並べ替えられた音声信号の振幅の最大値に基づいて当該音声信号のレベルを調整し、前記レベル調整された音声信号の中で近接する２信号の差分値を算出し、前記算出された差分値を示す音声信号に対し、周波数変換を施し、前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施し、前記ベクトル量子化により得られたベクトル量子化符号を所定の符号化方式で符号化し、前記符号化により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、前記判定により前記符号化後の音声信号のデータ量が予め設定された目標データ量より大きいと判定された場合、当該音声信号のうち所定の帯域の周波数成分のデータを削除することを特徴としている。
【００１５】
本発明に係る音声復号方法は、ピッチ単位で並べ替えられ、所定の符号化方式で符号化された音声信号を復号し、前記復号された音声信号を、前記ピッチ単位で並べ替えられる前の元の順番に戻すことを特徴としている。
【００１６】
本発明に係る音声復号方法は、フレーム分割され、ピッチ単位で並び替えられ、近接する２信号の差分値が算出され、更に、周波数変換が施され、ベクトル量子化が施され、所定の符号化方式で符号化された音声信号を復号し、前記復号された音声信号に対し、逆ベクトル量子化を施し、前記逆ベクトル量子化により得られた音声信号に対し、周波数逆変換を施し、前記周波数逆変換により得られた音声信号から前記差分値を復元し、前記差分値の復元により得られた音声信号を、前記ピッチ単位で並べ替えられる前の元の順番に戻す並べ替え復元処理を行い、前記並べ替え復元処理後の各フレームを合成することを特徴としている。
【発明の効果】
【００１７】
本発明によれば、符号化対象の音声信号のピッチを抽出し、抽出されたピッチの単位で当該音声信号を並べ替えることにより、隣接する信号の差分値が小さくなり、符号化効率を向上させることができる。
【発明を実施するための最良の形態】
【００１８】
以下、図面を参照して、本発明の実施形態について詳細に説明する。
（実施形態１）
【００１９】
図１〜図８を参照して、本発明の実施形態１について説明する。
まず、実施形態１における構成について説明する。
【００２０】
図１（ａ）に、本発明の実施形態１に係る音声符号化装置１００の主要部構成を示す。音声符号化装置１００は、図１（ａ）に示すように、ピッチ抽出部１、ピッチ単位並べ替え部２、符号化部３により構成される。
【００２１】
ピッチ抽出部１は、入力された音声信号から、図２に示すようにピッチを抽出し、抽出結果をピッチ単位並べ替え部２に出力する。人間の音声波形を分析すると、ある周期（ピッチ周期）で繰り返しの波形が連続的に存在することが多い。ピッチの抽出とは、入力された音声信号からピッチ周期を検出し、そのピッチ周期毎に音声信号を時間軸上で区切っていく処理のことである。
【００２２】
ピッチ周期の検出方法は特に限定されないが、例えば、特開平１１−４５０９８号公報に記載された方法を利用することができる。この方法では、入力された音声信号から有音声区間を抽出し、抽出した有音声区間を処理対象音声波形とし、その処理対象音声波形の時間軸上における既に決定済みの区切り点を基点に、予め定めた区間の音声波形をコピーし、コピー区間の音声波形を前記時間軸上の既に決定済みの区切り点を基点に所定サンプリング点ずつ平行移動し、平行移動ごとにそれぞれの平行移動点におけるコピー区間の音声波形と処理対象音声波形との相関を求め、相関の最も大きくなる平行移動点を次の区切り点として求める。そして、求められたそれぞれの区切り点間を処理対象音声波形のピッチ周期とする。
【００２３】
ピッチ単位並べ変え部２は、入力された音声信号をピッチ単位で並べ替える。図２に示す音声信号をピッチ単位で並べ替えると、図３に示すようななだらかな波形になる。ピッチ単位の並べ替え処理については、後の実施例１〜４において詳細に説明する。
【００２４】
符号化部３は、ピッチ単位並べ替え部２で並べ替えられた音声信号を所定の符号化方式で符号化する。符号化方式としては、一般的に知られているＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）等を利用してもよい。
【００２５】
図１（ｂ）に、本発明の実施形態１に係る音声復号装置２００の主要部構成を示す。音声復号装置２００は、図１（ｂ）に示すように、復号部４及びピッチ単位並べ替え復元部５により構成される。なお、音声符号化装置１００と音声復号装置２００を、一つの筐体に一体的に備えるような構造としてもよいし、各々を別体として設けるようにしてもよい。
【００２６】
復号部４は、音声符号化装置１００で符号化された信号を復号する。
ピッチ単位並べ替え復元部５は、復号部４から入力された、ピッチ単位で並べ替えられた信号を、元の（並べ替えられる前の）順番に戻す処理を行う。
【００２７】
次に、実施形態１における動作について説明する。
実施形態１における動作として、図４のフローチャートを参照して、音声符号化装置１００において実行される音声符号化処理について説明する。
【００２８】
処理対象の音声信号が入力されると、その入力された音声信号からピッチが抽出され（ステップＳ１）、その抽出されたピッチの単位で当該音声信号を並べ替えるピッチ単位並べ替え処理が行われる（ステップＳ２）。ステップＳ２のピッチ単位並べ替え処理については、後の実施例１〜４において詳細に説明する。次いで、ピッチ単位で並べ替えられた音声信号が所定の符号化方式で符号化され（ステップＳ３）、本音声符号化処理が終了する。
【００２９】
次に、図５のフローチャートを参照して、音声復号装置２００において実行される音声復号処理について説明する。
【００３０】
音声復号装置２００では、まず、音声符号化装置１００で符号化された信号が復号される（ステップＳ２０）。そして、ピッチ単位で並べ替えられ、復号された信号が、元の（並べ替えられる前の）順番に戻す処理が行われる（ステップＳ２１）。
【００３１】
次に、図４のステップＳ２に示したピッチ単位並べ替え処理の具体例について実施例１〜４を挙げて説明する。
【実施例１】
【００３２】
図６のフローチャートを参照して、実施例１のピッチ単位並べ替え処理について説明する。実施例１では、１ピッチに含まれるサンプル数をＮ、一度のピッチ単位並べ替え処理で並び替えるピッチ波形の個数をＭとし、入力される音声信号（入力信号）を｛Sj|j＝0,…,N×M｝、ピッチ単位で並べ替えられた信号（出力信号）を｛Lj|j＝0,…,N×M｝とする。
【００３３】
まず、１ピッチ内のサンプル点を指定するためのカウンタ値ｉが０に設定される（ステップＳ１０）。次いで、カウンタ値ｉが、１ピッチに含まれるサンプル数Ｎ以上であるか否かが判定される（ステップＳ１１）。ステップＳ１１において、カウンタ値ｉがＮ未満であると判定された場合（ステップＳ１１；ＮＯ）、ピッチ波形を指定するためのカウンタ値ｋが０に設定される（ステップＳ１２）。
【００３４】
次いで、カウンタ値ｋがピッチ波形の個数Ｍ以上であるか否かが判定される（ステップＳ１３）。ステップＳ１３において、カウンタ値ｋがＭ未満であると判定された場合（ステップＳ１３；ＮＯ）、ｋ番目のピッチにおけるｉ番目のサンプル点の入力信号Si+kNが、ｉ×Ｍ＋ｋ番目の出力信号LiM+kとして設定される（ステップＳ１４）。出力信号LiM+kが設定されると、カウンタ値ｋがインクリメントされ（ステップＳ１５）、ステップＳ１３に戻り、現在のカウンタ値ｋがＭ以上であるか否かが判定される（ステップＳ１３）。
【００３５】
ステップＳ１３において、カウンタ値ｋがＭ以上であると判定された場合（ステップＳ１３；ＹＥＳ）、カウンタ値ｉがインクリメントされ（ステップＳ１６）、ステップＳ１１に戻り、現在のカウンタ値ｉがＮ以上であるか否かが判定される（ステップＳ１１）。ステップＳ１１において、カウンタ値ｉがＮ以上であると判定された場合（ステップＳ１１；ＹＥＳ）、本ピッチ単位並べ替え処理が終了する。このようにして、入力された音声信号（図２）の波形が、図３に示すように、なだらかに変化する波形となる。
【実施例２】
【００３６】
一度のピッチ単位並べ替え処理で並び替えるピッチ波形の個数Ｍは、予め指定した値（例えば、２や３など）でもよいが、ピッチ波形の時間軸方向の長さの合計が、予め設定された長さを超えない最大のピッチ波形の個数にすることもできる。例えば、１ピッチに含まれるサンプル数をＮ、予め設定された長さをＴとすると、一度に並び替えるピッチ波形の個数Ｍは、式（１）のようになる。
Ｍ＝[Ｔ/Ｎ]      （１）
ここで、[]はガウス記号である。即ち、[Ｔ/Ｎ]は、Ｔ/Ｎを超えない最大の整数を表す。
実施例２のピッチ単位並べ替え処理により、処理系を作成する場合に、メモリを効率的に確保することができる。
【実施例３】
【００３７】
一度のピッチ単位並べ替え処理で並べ替えるピッチ波形の時間軸方向での長さの合計を、予め設定された長さにすることも可能である。この場合、図７に示すように、ピッチ途中の波形が含まれることがある。この場合のピッチ単位並べ変え処理について、図８のフローチャートを参照して説明する。以下では、１ピッチに含まれるサンプル数をＮ、予め設定された長さ（処理長）をＴとする。
【００３８】
まず、１ピッチ内のサンプル点を指定するためのカウンタ値ｉと、出力信号（並べ替えられた信号）を指定するためのカウンタ値ｊが０に設定される（ステップＳ３０）。次いで、カウンタ値ｉが、１ピッチに含まれるサンプル数Ｎ以上であるか否かが判定される（ステップＳ３１）。
【００３９】
ステップＳ３１において、カウンタ値ｉがＮ未満であると判定された場合（ステップＳ３１；ＮＯ）、現在のカウンタ値ｉが、入力信号のサンプル点を指定するためのカウンタ値ｋとして設定される（ステップＳ３２）。次いで、カウンタ値ｋが処理長Ｔより小さいか否かが判定される（ステップＳ３３）。
【００４０】
ステップＳ３３において、カウンタ値ｋが処理長Ｔより小さいと判定された場合（ステップＳ３３；ＹＥＳ）、ｋ番目の入力信号Skがｊ番目の出力信号Ljとして設定される（ステップＳ３４）。ｊ番目の出力信号Ljが設定されると、カウンタ値ｋにＮを加算した値が新たにカウンタ値ｋとして設定されるとともに、カウンタ値ｊがインクリメントされ（ステップＳ３５）、ステップＳ３３に戻り、現在のカウンタ値ｋが処理長Ｔより小さいか否かが判定される（ステップＳ３３）。
【００４１】
ステップＳ３３において、カウンタ値ｋが処理長Ｔ以上であると判定された場合（ステップＳ３３；ＮＯ）、カウンタ値ｉがインクリメントされ（ステップＳ３６）、ステップＳ３１に戻り、現在のカウンタ値ｉが、１ピッチに含まれるサンプル数Ｎ以上であるか否かが判定される（ステップＳ３１）。ステップＳ３１において、カウンタ値ｉがＮ以上であると判定された場合（ステップＳ３１；ＹＥＳ）、本ピッチ単位並べ替え処理が終了する。
【００４２】
実施例３のように、ピッチ波形の長さの合計長を予め決められた長さにしてピッチ単位並べ替え処理を行う場合、符号化が一定長毎に行われるような場合に整合性がよく、無駄なバッファをとらずに済む。
【実施例４】
【００４３】
一度のピッチ単位並べ替え処理で並び替えるピッチ波形の個数Ｍを、ピッチ波形が定常状態を継続する最大の個数又は最大の個数以下とすることもできる。この場合、ピッチ波形の個数Ｍは、例えば、各ピッチ波形の信号値Siの平均二乗誤差を用いて決定することができる。１ピッチに含まれるサンプル数をＮ、最初のピッチ波形とｍ番目のピッチ波形との信号値の平均二乗誤差emは式（２）のように定義される。
【数１】
2006126592.tif 000003
式（２）において、ｍを１から順に増やしながらemを算出し、emが予め設定された値を超えたときのｍより１小さい数を、一度のピッチ単位並べ替え処理で並び替えるピッチ波形の個数Ｍとする。
【００４４】
式（２）に示す平均二乗誤差以外に、式（３）に示すようなベクトルの角度係数hmや、式（４）に示すような平均誤差νmを用いて、一度のピッチ単位並べ替え処理で並び替えるピッチ波形の個数Ｍを決定するようにしてもよい。
【数２】
2006126592.tif 000004
【数３】
2006126592.tif 000005
【００４５】
以上のように、実施形態１の音声符号化装置１００及び音声復号装置２００によれば、符号化対象の音声信号のピッチを抽出し、抽出されたピッチの単位で当該音声信号を並べ替えることにより、図３に示すように、隣接する信号の差分値が小さくなり、符号化効率を向上させることができる。
（実施形態２）
【００４６】
図９〜図２０を参照して、本発明の実施形態２について説明する。
まず、実施形態２における構成について説明する。
【００４７】
図９に、実施形態２に係る音声符号化装置３００の構成を示す。音声符号化装置３００は、図１に示すように、Ａ／Ｄ変換部１０、ＤＣ（Direct Current）除去部１１、フレーム化部１２、ピッチ抽出部１３、ピッチ単位並べ替え部１４、レベル調整部１５、差分算出部１６、周波数変換部１７、周波数並べ替え部１８、ベクトル量子化部１９、逆ベクトル量子化部２０、時間順並べ替え部２１、周波数逆変換部２２、差分復元部２３、レベル復元部２４、振幅比較部２５、係数調整部２６、エントロピー符号化部２７、レートコントローラ２８、帯域データ削除部２９、雑音源削除部３０により構成される。
【００４８】
Ａ／Ｄ変換部１０は、入力された音声アナログ信号をデジタル信号に変換し、ＤＣ除去部１１に出力する。サンプリング周波数は、16kHz程度が望ましいが、11.025kHz、22.05kHz等でもかまわない。
【００４９】
ＤＣ除去部１１は、Ａ／Ｄ変換部１０から入力された音声信号の直流成分を除去し、フレーム化部１２に出力する。音声信号の直流成分を除去するのは、直流成分が音質にほとんど無関係であることによる。直流成分の除去は、例えば、高域通過フィルタによって実現することができる。高域通過フィルタには、例えば、式（５）で表されるものがある。
【数４】
2006126592.tif 000006
【００５０】
フレーム化部１２は、ＤＣ除去部１１から入力された音声信号を、符号化（圧縮）の処理単位であるフレームに分割し、ピッチ抽出部１３に出力する。ここで、１つのフレームには、１つ以上、好ましくは４つ以上のブロックが含まれる長さにする。１ブロックは、１回のＭＤＣＴ（Modified Discrete Cosine Transform：変形離散コサイン変換）を行う単位であり、ＭＤＣＴの次数分の長さを有する。以下、１フレームを構成する各ブロックをＭＤＣＴブロックと呼ぶことにする。図１０に、入力信号と各フレームとの関係を示し、図１１に、１フレームと各ＭＤＣＴブロックとの関係を示す。図１１に示すように、各ＭＤＣＴブロックは直前のＭＤＣＴブロックと、ＭＤＣＴブロックの半分の長さの重複部分を有する。また、図１０に示すように、各フレームは、直前のフレームと、ＭＤＣＴブロックの半分の長さの重複部分を有する。
【００５１】
ピッチ抽出部１３は、フレーム化部１２から入力された音声信号からピッチを抽出する。ピッチ単位並べ替え部１４は、ピッチ抽出部１３で抽出されたピッチ単位で、入力された音声信号を並べ替え、並べ替えにより得られた音声信号をレベル調整部１５に出力する。ピッチ抽出部１３で実行されるピッチ単位並べ替え処理は、実施形態１に示した実施例１〜４の何れかが適用される。
【００５２】
レベル調整部１５は、フレーム毎に、ピッチ単位並べ替え部１４により並べ替えられた音声信号のレベル調整を行い、レベル調整された信号を差分算出部１６に出力する。レベル調整とは、１フレーム中に含まれる信号の振幅の最大値を、指定されたビット（以下、制圧目標ビット）数に収まるようにすることである。レベル調整は、例えば、１フレーム中の信号の最大振幅をｎbit、制圧目標ビット数をＮとすると、フレーム中の信号を全て、式（６）を満たすshift_bit数分ＬＳＢ（Least Significant Bit：最下位ビット）側にシフトすることによって実現できる。
【数５】
2006126592.tif 000007
音声再生時には、振幅が制圧目標ビット以下に制圧された信号を元に戻す必要があるため、shift_bitを表す信号を、音声符号化信号の一部として出力する。
【００５３】
差分算出部１６は、互いに隣接する２信号の差分値を算出し、算出された差分値を示す信号を周波数変換部１７に出力する。レベル調整後のｉ番目の信号をSi、差分値算出後のｉ番目の信号をS’iとすると、差分値の算出式は式（７）のようになる。
S’i＝Si−Si-1      （７）
【００５４】
周波数変換部１７は、差分算出部１６から入力された信号に対し周波数変換を施し、周波数並べ替え部１８に出力する。本実施形態では、周波数変換としてＭＤＣＴ（Modified Discrete Cosine Transform：変形離散コサイン変換）を用いる場合を示す。ＭＤＣＴブロックの長さをＭ、入力信号を｛ｘn｜n=0,…,M-1｝（ｘn＝S’n）とすると、ＭＤＣＴ係数｛Ｘk｜k=0,…,M/2-1｝は式（８）のように表される。
【数６】
2006126592.tif 000008
ここで、ｈnは窓関数であり、式（９）のように定義される。
【数７】
2006126592.tif 000009
なお、ブロック長Ｍは、１６ｋＨｚ程度のサンプリング周波数の音声では、２５６程度の値が考えられる。
【００５５】
周波数並べ替え部１８は、周波数変換部１７から入力されたＭＤＣＴ係数を周波数毎に並べ替え、同一周波数帯域の係数をまとめてベクトル化し、ベクトル量子化部１９に出力する。このように、同一周波数帯域の信号をまとめてベクトル化すると、例えば、定常信号を多く含む場合、後のベクトル量子化の精度が向上する。１フレームにＭＤＣＴブロックがｍ個あり、各ＭＤＣＴでＭＤＣＴ係数がＭ/２個算出された場合、ｉ番目のＭＤＣＴブロックのｊ番目のＭＤＣＴ係数をＸijとすると、ｊ番目の周波数帯域をまとめたベクトルＦjは、Ｆj＝｛Ｘij｜i=0,…,m-1｝,j=0,…,M/2-1となる。
【００５６】
ベクトル量子化部１９は、複数の音声パターンを示す代表ベクトルを格納したＶＱ（Vector Quantization）テーブルを有し、周波数並べ替え部１８で作成されたベクトルＦjと、ＶＱテーブルに格納された各代表ベクトルを比較し、最も類似した代表ベクトルが示すインデックスを符号として逆ベクトル量子化部２０及びエントロピー符号化部２７に出力する。
【００５７】
例えば、ベクトル長Ｎの符号化対象のベクトルを｛ｓj｜j=1,…,N｝、ＶＱテーブルに格納されたｋ個の代表ベクトルを｛Ｖi｜i=1,…,k｝、Ｖi＝｛ｖij｜j=1,…,N｝とすると、符号化対象のベクトルと、ＶＱテーブルに格納されたｉ番目の代表ベクトルの各要素ｖijの誤差ｅiが最小となるようなｉ（インデックス）を、出力する符号とする。誤差ｅiの算出式を式（１０）に示す。
【数８】
2006126592.tif 000010
代表ベクトルの数ｋとベクトル長Ｎは、ベクトル量子化に要する処理時間やＶＱテーブルの容量等を勘案して決定される。例えば、ベクトル長を２にして代表ベクトル数を２５６にしたり、ベクトル長を４にして代表ベクトル数を８１９２（＝２13）にしたりするなど、自由な組み合わせが考えられる。
【００５８】
音声は、高域周波数部分と低域周波数部分で異なる特性がある場合が多いため、本実施形態では、高域と低域で異なるＶＱテーブルを用いることにする。高域用の代表ベクトルが格納されたＶＱテーブルを高域用ＶＱテーブル１９ａ、低域用の代表ベクトルが格納されたＶＱテーブルを低域用ＶＱテーブル１９ｂとする。周波数並べ替え部１８で作成されたベクトルＦj＝｛Ｘij｜i=0,…,m-1｝,j=0,…,M/2-1において、高域と低域の境界は、周波数帯域を示すｊを単純に半分に分ければよい。即ち、Ｆ0,Ｆ1,…,ＦM/4-1を低域、ＦM/4,ＦM/4+1,…,ＦM/2-1を高域とすればよい。従って、低域のベクトルＦ0,Ｆ1,…,ＦM/4-1は、低域用ＶＱテーブル１９ｂに格納された各代表ベクトルと比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される。同様に、高域のベクトルＦM/4,ＦM/4+1,…,ＦM/2-1は、高域用ＶＱテーブル１９ａに格納された各代表ベクトルと比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される。
【００５９】
逆ベクトル量子化部２０は、高域用ＶＱテーブル１９ａ及び低域用ＶＱテーブル１９ｂに格納された代表ベクトルの中から、ベクトル量子化部１９から出力されたインデックスに該当するベクトル（ＭＤＣＴ係数に相当する情報）を抽出し、時間順並べ替え部２１に出力する。
【００６０】
時間順並べ替え部２１は、逆ベクトル量子化部２０から入力されたベクトルを時間順に並べ替え、周波数逆変換部２２に出力する。周波数逆変換部２２は、時間順並べ替え部２１で得られた音声信号に対し逆ＭＤＣＴ（Inverse MDCT）を施し、差分復元部２３に出力する。
【００６１】
差分復元部２３は、周波数逆変換部２２から入力された信号から、差分算出部１６で算出された差分値を復元し、復元結果を示す音声信号をレベル復元部２４に出力する。レベル復元部２４は、差分復元部２３から入力された音声信号を、レベル調整部１５で制圧される前の元のレベルに復元する。
【００６２】
振幅比較部２５は、ピッチ単位並べ替え部１４から入力された音声信号（以下、「入力波形」という。）の振幅の最大値（最大振幅）を算出するとともに、レベル復元部２４でレベルが復元された信号（以下、「再生波形」という。）の振幅の最大値（最大振幅）を算出し、算出された入力波形の最大振幅と再生波形の最大振幅を比較し、比較結果を係数調整部２６に出力する。
【００６３】
Ｎ個の入力波形を｛xi｜i=0,…,N-1｝、再生波形を｛yi｜i=0,…,N-1｝とすると、入力波形の最大振幅max_x、再生波形の最大振幅max_yは、それぞれ、式（１１）、式（１２）のように表される。
max_x＝MAX(xi)    ；i=0,…,N-1          （１１）
max_y＝MAX(yi)    ；i=0,…,N-1          （１２）
ここで、MAXは最大値をとる関数である。
【００６４】
係数調整部２６は、振幅比較部２５における比較結果により、再生波形の最大振幅が入力波形の最大振幅より大きい場合、入力波形に対する再生波形の最大振幅の比率の逆数max_x／max_yを全てのＭＤＣＴ係数に乗算することによってＭＤＣＴ係数を調整し、調整後のＭＤＣＴ係数をベクトル量子化部１９に出力する。調整前のＭＤＣＴ係数を｛Ｆi｜i=0,…,M/2-1}、調整後のＭＤＣＴ係数を{Ｆ’i｜i=0,…,M/2-1}とすると、調整後のＭＤＣＴ係数Ｆ’iは式（１３）のように表される。
【数９】
2006126592.tif 000011
【００６５】
式（１３）において、全てのＭＤＣＴ係数Ｆiに同一の値max_x／max_yを乗算するのは、再生波形の振幅が入力波形の最大振幅を超えている部分だけを調整すると、逆ＭＤＣＴ（ＩＭＤＣＴ）のオーバーラップ処理時に不都合を起こしたり、波形全体の振幅の変化の再現性が失われてしまったりすることによる。
【００６６】
また、振幅比較部２５における比較結果により、入力波形の最大振幅が再生波形の最大振幅より大きい場合、元のＭＤＣＴ係数Ｆjのベクトル量子化により得られたインデックスが、エントロピー符号化部２７に出力される。
【００６７】
エントロピー符号化部２７は、ベクトル量子化部１９から入力された符号に対してエントロピー符号化を施し、レートコントローラ２８に出力する。エントロピー符号化とは、信号の統計的性質を利用して、符号をより短い符号へと変換する符号化方式であり、ハフマン（Huffman）符号化、算術符号化、レンジコーダ（Range Coder）による符号化等がある。エントロピー符号化の詳細については、後に図１２〜図１６を参照して説明する。
【００６８】
レートコントローラ（判定部）２８は、エントロピー符号化で得られた符号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、エントロピー符号化で得られた符号のデータ量が目標データ量より大きいと判定した場合、帯域データ削除部２９に対し、符号のデータ量の抑制を要求する。エントロピー符号化で得られた符号のデータ量が目標データ量以下であると判定した場合は、レートコントローラ２８は、エントロピー符号化で得られた符号を音声符号化信号として出力する。レートコントローラ２８から出力された音声符号化信号は、記録媒体に記録されたり、通信ネットワークを介して外部装置に伝送されたりする。
【００６９】
帯域データ削除部２９は、レートコントローラ２８により、エントロピー符号化で得られた符号のデータ量が目標データ量より大きいと判定された場合、エネルギー｜Ｆｊ｜2が最小の帯域を削除し、削除後の信号を雑音源削除部３０に出力する。
【００７０】
雑音源削除部３０は、帯域データ削除部２９から入力された高周波成分の音声信号のうち、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除する高域雑音削除処理を実行する（図１９参照）。ここで、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分とは、周波数成分の振幅値の絶対値が所定値以上であり、かつ周波数軸上で隣り合う周波数成分の値が０である帯域の周波数成分を示す。また、雑音源削除部３０は、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除する孤立周波数成分削除処理を実行する（図２０参照）。そして、雑音源削除部３０は、データ削除処理後の音声信号をエントロピー符号化部２７に出力し、再度、エントロピー符号化を要求する。
【００７１】
〈エントロピー符号化〉
以下では、本実施形態で適用されるエントロピー符号化の例として、ハフマン符号化、レンジコーダによる符号化について説明する。
【００７２】
（ハフマン符号化）
ハフマン符号化とは、出現頻度の高い記号には短い符号を割り当て、出現頻度の低い記号には長い符号を割り当てることで、全体のデータ量を符号化（圧縮）する方式である。例えば、４つの記号｛ａ、ｂ、ｃ、ｄ｝からなる１００文字のデータがあったとする。全ての記号に同じ長さの２進数の符号（固定長符号）を割り当てる場合、４つの記号を表すには２ビットが必要であるため、１００文字のデータ量は、２[bit]×１００＝２００[bit]となる。
【００７３】
ハフマン符号化では、各記号の出現頻度に応じて２進数の符号が割り当てられる。図１２に、１００文字のデータ中の各記号ａ、ｂ、ｃ、ｄの出現頻度が、それぞれ、１０、７０、１、１９である場合に各記号に割り当てられた２進数の符号の例を示す。図１２に示すように、記号ａ、ｂ、ｃ、ｄに、それぞれ、符号１００、０、１０１、１１が割り当てられた場合、１００文字のデータ量は、３[bit]×１０＋１[bit]×７０＋３[bit]×１＋２[bit]×１９＝１４１[bit]となり、データ量は、固定長符号のデータ量の７０％に圧縮される。
【００７４】
（レンジコーダによる符号化）
符号化前の元信号に含まれる記号の集合をＳ＝｛si|i=1,…,n｝とし、各記号siの出現確率をｐiとする。また、元信号に含まれる各記号siを予め決められた順番に並べ替えた記号列｛s1、s2、…、sn｝において、記号sk（ｋ≧２）より前に並んでいる各記号の出現確率の合計をＧkとする。即ち、Ｇkは、式（１４）のように表される。
【数１０】
2006126592.tif 000012
【００７５】
レンジコーダによる符号化では、記号毎に出現確率ｐiとＧiを対応付けて格納したテーブル（以下、生起確率テーブルという。）に基づいて、入力済みの信号が示す記号列に、数値で示す範囲（下限、幅）を設定する処理を行う。入力済みの信号に設定される範囲（下限、幅）は、直前に入力された信号に設定された範囲と生起確率テーブルに基づいて決定される。
【００７６】
符号化対象の信号skが入力されたときに設定される幅をrange’、下限をlow’とし、その信号skの１つ前の信号が入力されたときに設定された幅をrange、下限をlowとすると、幅range’、下限low’は、それぞれ、式（１５）、式（１６）のように表される。
range’＝range×ｐk       （１５）
low’＝low＋range×Ｇk    （１６）
式（１５）及び式（１６）で算出されたrange’、low’が、次の信号が入力されたときのrange、lowとなる。
【００７７】
式（１５）及び式（１６）で示す算出処理は、入力信号がなくなるまで行われ、最後の信号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low＋rangeの間の値が符号値として出力される。
【００７８】
図１３に、レンジコーダ符号化の例を示す。図１３（ａ）に、元信号に含まれる記号の集合がＳ＝｛s1=ａ、s2=ｂ、s3=ｃ、s4=ｄ｝であるときの生起確率テーブルの一例を示す。また、図１３（ｂ）に、記号列｛ｂａｃａ｝に対する符号化の一例を示す。図１３（ｂ）では、記号列を示す符号を１０進数とし、lowの初期値を０、rangeの初期値を１０６とした場合を示している。図１３（ｂ）において、「入力信号」項目は、入力された記号を示し、「記号列」項目は、これまでに入力された記号列を示し、「low」項目は、式（１６）により算出されるlow’を示し、「range」項目は、式（１５）により算出されるrange’を示す。また、「範囲」項目は、low及びrangeから決定される符号値の範囲を示す。図１３（ｂ）において、［ｘ、ｙ）という表記は、符号値Ｚがｘ≦Ｚ＜ｙを満たすことを意味する。図１３（ｂ）によると、５９３７５０≦Ｚ＜６０３１２５を満たす符号値Ｚのうちの１つ（例えば、６０００００）が、記号列｛ｂａｃａ｝を符号化した結果として出力されることになる。
【００７９】
このように、レンジコーダによる符号化では、予め決められた出現確率を利用して入力される各記号を符号化しているため、元信号に含まれる各記号の出現確率が固定された情報源からの発生であれば非常に有効である。しかしながら、符号化対象となる信号が、出現確率が一定の情報源から発生されていることは極めてまれである。よって、上述のレンジコーダによる符号化では、各記号の出現確率が符号化対象となる信号に適応していない。そこで、本実施形態では、レンジコーダ符号化において、信号が入力される度に出現確率を更新させるようにすることによって、実際の信号に適応可能にした。以下、本実施形態のレンジコーダによる符号化について説明する。
【００８０】
上述と同様に、符号化前の元信号に含まれる記号の集合をＳ＝｛si|i=1,…,n｝とする。元信号に含まれる記号siの出現頻度をｇi、出現頻度ｇiの合計をｃｕｍ、各記号siの出現確率をｐiとすると、ｃｕｍ、ｐiは、それぞれ、式（１７）、式（１８）のように表される。
【数１１】
2006126592.tif 000013
【数１２】
2006126592.tif 000014
【００８１】
エントロピー符号化部２７は、入力された信号に幅range及び下限lowを設定するためのテーブルとして、図１４に示すような生起確率テーブル８１を有する。生起確率テーブル８１は、図１４に示すように、各記号毎に、出現頻度ｇi、出現確率ｐi、Ｇiの各項目を対応付けて格納している。Ｇiの定義は、式（１４）で示したとおりである。
【００８２】
エントロピー符号化部２７に符号化対象の信号skが入力されたときに設定される幅をrange’、下限をlow’とし、その信号skの１つ前の信号が入力されたときに設定された幅をrange、下限をlowとすると、幅range’、下限low’は、それぞれ、式（１９）、式（２０）のように表される。
【数１３】
2006126592.tif 000015
【数１４】
2006126592.tif 000016
式（１９）及び式（２０）で算出されたrange’、low’が、次の信号が入力されたときのrange、lowとなる。
【００８３】
信号skの入力によりrange、lowが算出されると、エントロピー符号化部２７は、式（２１）に示すように、出現確率ｇkに１を加算し、算出された出現確率ｇk’を新たなｇkとする。
ｇk’＝ｇk＋１      （２１）
エントロピー符号化部２７は、出現確率ｇkの加算に伴い、ｃｕｍ、出現確率ｐi、Ｇiを再計算し、生起確率テーブル８１を更新する。エントロピー符号化部２７は、これらの処理を、入力信号がなくなるまで行い、最後の信号が入力されたときに算出されたrange、lowに基づいて決定される範囲low〜low＋rangeの間の値を符号値として出力する。
【００８４】
図１５及び図１６に、本実施形態のレンジコーダ符号化の例を示す。図１５（ａ）に、元信号に含まれる記号の集合がＳ＝｛s1=ａ、s2=ｂ、s3=ｃ、s4=ｄ｝であるときのデフォルトの生起確率テーブル８１の一例を示す。図１５（ａ）に示すデフォルトの生起確率テーブル８１のpi及びＧiは、図１３（ａ）に示す生起確率テーブルと同一であるものとする。また、図１５（ｂ）には、図１３（ｂ）に示した記号列と同一の記号列｛ｂａｃａ｝に対する符号化の一例を示す。図１５（ｂ）においても、記号列を示す符号を１０進数とし、lowの初期値を０、rangeの初期値を１０６とする。図１５（ｂ）において、「入力信号」項目は、入力された記号を示し、「記号列」項目は、これまでに入力された記号列を示し、「low」項目は、式（２０）により算出されるlow’を示し、「range」項目は、式（１９）により算出されるrange’を示す。また、「範囲」項目は、low及びrangeから決定される符号値の範囲を示す。また、「生起確率テーブル」項目は、記号の入力毎に更新された生起確率テーブルを示す。図１６に、記号の入力毎に更新された生起確率テーブルを示す。図１５（ｂ）によると、記号の入力毎に生起確率テーブルを更新することで、記号列｛ｂａｃａ｝が示す「範囲」は、図１３（ｂ）に示した生起確率テーブルが固定された場合と異なり、５９１９９２≦Ｚ＜５９９７５７を満たす符号値Ｚのうちの１つが、記号列｛ｂａｃａ｝を符号化した結果として出力されることになる。
【００８５】
図１７に、実施形態２に係る音声復号装置４００の構成を示す。音声復号装置４００は、図１７に示すように、エントロピー復号部４１、逆ベクトル量子化部４２、時間順並べ替え部４３、周波数逆変換部４４、差分復元部４５、ピッチ単位並べ替え復元部４６、レベル復元部４７、フレーム合成部４８、Ｄ／Ａ変換部４９により構成される。なお、音声符号化装置３００と音声復号装置４００を１つの筐体に一体的に備えるような構造としてもよいし、各々を別体として設けるようにしてもよい。
【００８６】
エントロピー復号部４１は、エントロピー符号化により符号化された信号を復号し、逆ベクトル量子化部４２に出力する。逆ベクトル量子化部４２は、複数の音声パターンを示す代表ベクトルを格納したテーブルとして、高域用ＶＱテーブル４２ａ、低域用ＶＱテーブル４２ｂを有し、エントロピー復号部４１から入力された音声信号（インデックス）に対応する代表ベクトルを抽出し、時間順並べ替え部４３に出力する。高域用ＶＱテーブル４２ａ、低域用ＶＱテーブル４２ｂは、それぞれ、図９に示す高域用ＶＱテーブル１９ａ、低域用ＶＱテーブル１９ｂと同一のものである。
【００８７】
時間順並べ替え部４３は、逆ベクトル量子化部４２で得られたベクトルを時間順に並べ替え、周波数逆変換部４４に出力する。
【００８８】
周波数逆変換部４４は、時間順並べ替え部４３から得られたＭＤＣＴ係数に対し逆ＭＤＣＴを施し、差分復元部４５に出力する。逆ＭＤＣＴは以下のように算出する。周波数逆変換部４４に入力されるＭＤＣＴ係数を｛Ｘk|k＝0,…,M/2-1｝とすると、まず、式（２２）で定義される｛ｙi|i＝0,…,M-1｝を算出する。
【数１５】
2006126592.tif 000017
ここで、ｗiは式（２３）のように定義される。
【数１６】
2006126592.tif 000018
【００８９】
次いで、式（２２）で示す信号を時間軸信号に戻すために、対象となる時間におけるｙ0〜ｙM/2-1のサンプルと、時間的に１つ前のｙM/2〜ｙM-1のサンプルを式（２４）のように合成する。
ｘi＝１回前のｙi+M/2＋今回のｙi      （２４）
式（２４）で得られた｛ｘi|i＝0,…,M/2-1｝が逆ＭＤＣＴされた信号となる。
【００９０】
差分復元部４５は、周波数逆変換部４４から入力された音声信号から、音声符号化装置３００の差分算出部１６で算出された差分値を復元し、復元により得られた音声信号をピッチ単位並べ替え復元部４６に出力する。復元前のｉ番目の音声信号S’iを、復元されたｉ番目の音声信号をS”iとすると、差分復元部４５では、差分値が式（２５）のように復元される。
S”i＝S’i＋S”i-1      （２５）
【００９１】
ピッチ単位並べ替え復元部４６は、差分復元部４５から入力された音声信号を、ピッチ単位で並べ替えられる前の元の順番に戻す処理を行い、処理結果をレベル復元部４７に出力する。レベル復元部４７は、ピッチ単位並べ替え復元部４６から入力された音声信号を、音声符号化装置３００のレベル調整部１５で制圧される前の元のレベルに戻し、フレーム合成部４８に出力する。
【００９２】
フレーム合成部４８は、符号化及び復号化の処理単位であったフレームを合成し、合成後の信号をＤ／Ａ変換部４９に出力する。Ｄ／Ａ変換部４９は、フレーム合成部４８から入力されたデジタル信号をアナログ信号に変換し、音声再生信号として出力する。
【００９３】
次に、実施形態２における動作について説明する。
まず、図１８のフローチャートを参照して、音声符号化装置３００において実行される音声符号化処理について説明する。
【００９４】
まず、音声アナログ信号が入力されると、Ａ／Ｄ変換部１０において、入力された音声アナログ信号が音声デジタル信号に変換される（ステップＳ４０）。以下、符号化対象の音声デジタル信号を単に音声信号を呼ぶことにする。次いで、ＤＣ除去部１１において、音声信号の直流成分が削除され（ステップＳ４１）、フレーム化部１２において、直流成分削除後の音声信号がフレームに分割される（ステップＳ４２）。
【００９５】
次いで、ピッチ抽出部１３において、フレーム分割された音声信号からピッチが抽出され（ステップＳ４３）、ピッチ並べ替え部１４において、ピッチ単位で当該音声信号を並べ替えるピッチ単位並べ替え処理が行われる（ステップＳ４４）。ステップＳ４４のピッチ単位並べ替え処理には、実施形態１に示した実施例１〜４の何れかの処理が適用される。
【００９６】
次いで、レベル調整部１５において、フレーム毎に、ピッチ単位で並べ替えられた音声信号のレベルが調整され（ステップＳ４５）、差分算出部１６において、レベル調整後の互いに隣接する２信号の差分値が式（７）のように算出される（ステップＳ４６）。次いで、周波数変換部１７において、差分値算出後の音声信号に対し、ＭＤＣＴが施される（ステップＳ４７）。次いで、周波数並べ替え部１８において、ＭＤＣＴ係数が周波数毎に並べ替えられ（ステップＳ４８）、同一周波数帯域の係数がまとめてベクトル化される。
【００９７】
次いで、ベクトル量子化部１９において、高域のＭＤＣＴ係数のベクトルと高域用ＶＱテーブル１９ａに格納された代表ベクトルが比較されるとともに、低域のＭＤＣＴ係数のベクトルと低域用ＶＱテーブル１９ｂに格納された代表ベクトルが比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される（ステップＳ４９）。
【００９８】
次いで、逆ベクトル量子化部２０において、ベクトル量子化部１９から出力されたインデックスに対する逆ベクトル量子化が行われ（ステップＳ５０）、時間順並べ替え部２１において、逆ベクトル量子化で得られたベクトルが時間順に並べ替えられる（ステップＳ５１）。
【００９９】
次いで、周波数逆変換部２２において、時間順並べ替えにより得られたベクトルに対し、逆ＭＤＣＴ（ＩＭＣＤＴ）が施される（ステップＳ５２）。次いで、差分復元部２３において、逆ＭＤＣＴが施された信号から、ステップＳ４６で算出された差分値が復元される（ステップＳ５３）。
【０１００】
次いで、レベル復元部２４において、差分値が復元された音声信号が、レベル調整部１５で制圧される前の元のレベルに復元される（ステップＳ５４）。次いで、振幅比較部２５において、入力波形の最大振幅と再生波形の最大振幅が比較され、再生波形の最大振幅が入力波形の最大振幅を超えているか否かが判定される（ステップＳ５５）。
【０１０１】
ステップＳ５５において、再生波形の最大振幅が入力波形の最大振幅を超えていると判定された場合（ステップＳ５５；ＹＥＳ）、係数調整部２６において、式（１３）に示すようにＭＤＣＴ係数Ｆiが調整される（ステップＳ５６）。ＭＤＣＴ係数が調整されると、ステップＳ４９に戻り、調整後のＭＤＣＴ係数Ｆ’iに対し、ベクトル量子化が施され（ステップＳ４９）、以後、ステップＳ５０〜Ｓ５５の処理が繰り返される。
【０１０２】
ステップＳ５５において、再生波形の最大振幅が入力波形の最大振幅以下であると判定された場合（ステップＳ５５；ＮＯ）、ステップＳ４９のベクトル量子化で得られたインデックスに対し、エントロピー符号化が施され（ステップＳ５７）、エントロピー符号化後の信号が音声符号化信号としてレートコントローラ２８に出力される。次いで、レートコントローラ２８において、エントロピー符号化部２７から入力された１フレーム分の音声符号化信号が予め設定された目標データ量以下であるか否かが判定される（ステップＳ５８）。
【０１０３】
ステップＳ５８において、入力された音声符号化信号が目標データ量より大きいと判定された場合（ステップＳ５８；ＮＯ）、帯域データ削除部２９において、１フレーム分の音声符号化信号のうち、エネルギー｜Ｆｊ｜2が最小の帯域の信号が削除される（ステップＳ５９）。
【０１０４】
次いで、雑音源削除部３０において、帯域データ削除部２９から入力された高周波成分の音声信号のうち、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除する高域雑音削除処理が行われる（ステップＳ６０）。次いで、雑音源削除部３０において、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除する孤立周波数成分削除処理が行われる（ステップＳ６１）。ステップＳ６０の高域雑音削除処理については、後に図１９を参照して詳細に説明する。また、ステップＳ６１の孤立周波数成分削除処理については、後に図２０を参照して詳細に説明する。高域雑音削除処理及び孤立周波数成分削除処理が終了すると、ステップＳ５７に戻り、該当するフレームに対するエントロピー符号化が行われる（ステップＳ５７）。
【０１０５】
ステップＳ５８において、入力された音声符号化信号が目標データ量以下であると判定された場合（ステップＳ５８；ＹＥＳ）、エントロピー符号化部２７に次のフレームの音声信号が入力されたか否かが判定される（ステップＳ６２）。ステップＳ６２において、エントロピー符号化部２７に次のフレームの音声信号が入力されたと判定された場合（ステップＳ６２；ＹＥＳ）、ステップＳ５７に戻り、そのフレームに対するエントロピー符号化が行われる（ステップＳ５７）。ステップＳ６２において、エントロピー符号化部２７に入力された全てのフレームに対するエントロピー符号化が終了したと判定された場合（ステップＳ６２；ＮＯ）、本音声符号化処理が終了する。
【０１０６】
次に、図１９のフローチャートを参照して、図１８のステップＳ６０に示した高域雑音削除処理について詳細に説明する。以下では、音声信号がＮ個の周波数成分{Ｆi|i=0,…,N-1}に分離されているものとし、音声信号のサンプリング周波数をｆs(Hz)とし、処理対象となる高周数成分の帯域をＳ(Hz)以上とし、予め設定された周波数間隔をＴとする。
【０１０７】
まず、周波数成分を指定するためのカウンタ値ｊがｊ＝Ｓ×２Ｎ／ｆsに設定される（ステップＳ７０）。本高域雑音削除処理の対象となる高周波成分は、ｊ番目の周波数成分よりも高域となる。次いで、現在のカウンタ値ｊがＮ未満であるか否かが判定される（ステップＳ７１）。ステップＳ７１において、カウンタ値ｊがＮ以上であると判定された場合（ステップＳ７１；ＮＯ）、本高域雑音削除処理が終了する。
【０１０８】
ステップＳ７１において、カウンタ値ｊがＮ未満であると判定された場合（ステップＳ７１；ＹＥＳ）、ｊ番目の周波数成分Ｆjが０であるか否かが判定される（ステップＳ７２）。ステップＳ７２において、ｊ番目の周波数成分Ｆjが０でないと判定された場合（ステップＳ７２；ＮＯ）、カウンタ値ｊがインクリメントされ（ステップＳ７３）、ステップＳ７１に戻る。
【０１０９】
ステップＳ７２において、ｊ番目の周波数成分Ｆjが０であると判定された場合（ステップＳ７２；ＹＥＳ）、ｊ＋１が新たなカウンタ値ｉとして設定され（ステップＳ７４）、このカウンタ値ｉがＮ未満であるか否かが判定される（ステップＳ７５）。
【０１１０】
ステップＳ７５において、カウンタ値ｉがＮ未満であると判定された場合（ステップＳ７５；ＹＥＳ）、ｉ番目の周波数成分Ｆiが０であるか否かが判定される（ステップＳ７６）。ステップＳ７６において、ｉ番目の周波数成分Ｆiが０であると判定された場合（ステップＳ７６；ＹＥＳ）、カウンタ値ｉがインクリメントされ（ステップＳ７７）、ステップＳ７５に戻り、現在のカウンタ値ｉがＮ未満であるか否かが判定される（ステップＳ７５）。
【０１１１】
ステップＳ７６において、ｉ番目の周波数成分Ｆiが０でないと判定された場合（ステップＳ７６；ＮＯ）、ｊ＋Ｔがｉ未満であるか否かが判定される（ステップＳ７８）。ステップＳ７５において、カウンタ値ｉがＮ以上であると判定された場合も（ステップＳ７５；ＮＯ）、ステップＳ７８に移行し、ｊ＋Ｔがｉ未満であるか否かが判定される（ステップＳ７８）。
【０１１２】
ステップＳ７８において、ｊ＋Ｔがｉ以上であると判定された場合（ステップＳ７８；ＮＯ）、カウンタ値ｉがカウンタ値ｊとして設定され（ステップＳ７９）、このカウンタ値ｊがインクリメントされ（ステップＳ７３）、ステップＳ７１に戻る。ステップＳ７８において、ｊ＋Ｔがｉ未満であると判定された場合（ステップＳ７８；ＹＥＳ）、ｊ番目からＮ−１番目の周波数成分が削除され（Ｆj〜ＦN-1＝０）（ステップＳ８０）、本高域雑音削除処理が終了する。これにより高周波成分の信号のうち、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分が削除されることになる。
【０１１３】
次に、図２０のフローチャートを参照して、図１８のステップＳ６１に示した孤立周波数成分削除処理について詳細に説明する。以下の孤立周波数成分削除処理においても、音声信号の周波数成分の数をＮとする。
【０１１４】
まず、周波数成分を指定するためのカウンタ値ｉが１に設定される（ステップＳ９０）。次いで、現在のカウンタ値ｉがＮ−１未満であるか否かが判定される（ステップＳ９１）。ステップＳ９１において、カウンタｉがＮ−１以上であると判定された場合（ステップＳ９１；ＮＯ）、本孤立周波数成分削除処理が終了する。
【０１１５】
ステップＳ９１において、カウンタ値ｉがＮ−１未満であると判定された場合（ステップＳ９１；ＹＥＳ）、ｉ番目の周波数成分Ｆiの前後の周波数成分Ｆi-1及びＦi+1が０で、且つ、ｉ番目の周波数成分Ｆiの絶対値|Ｆi|が予め設定された値Ｐより大きいか否かが判定される（ステップＳ９２）。ここで、予め設定された値Ｐは、全周波数成分の振幅値の最大値から算出されることが好ましい。全周波数成分の絶対値の最大値maxは、式（２６）のように表される。
max=MAX(|Fi|)      i=0,…,N-1      （２６）
ここで、MAXは最大値をとる関数である。式（２６）に示す最大値maxに、予め設定された倍率ｒを乗算した値をＰ（Ｐ＝ｒ・max）として設定することができる。この倍率ｒは、例えば、０．１の値をとる。
【０１１６】
ステップＳ９２において、Ｆi-1＝０、Ｆi+1＝０、|Ｆi|＞Ｐを満たさない場合（ステップＳ９２；ＮＯ）、カウンタ値ｉがインクリメントされ（ステップＳ９４）、ステップＳ９１に戻る。ステップＳ９２において、Ｆi-1＝０、Ｆi+1＝０、|Ｆi|＞Ｐを満たす場合（ステップＳ９２；ＹＥＳ）、ｉ番目の周波数成分Ｆiが０に設定され（ステップＳ９３）、カウンタ値ｉがインクリメントされ（ステップＳ９４）、ステップＳ９１に戻る。Ｆi-1＝０、Ｆi+1＝０、|Ｆi|＞Ｐを満たす周波数成分を削除することは、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が予め設定された値Ｐより大きい周波数成分を削除することに対応する。
【０１１７】
以上のように、実施形態２の音声符号化装置３００及び音声復号装置４００によれば、符号化対象の音声信号のピッチを抽出し、抽出されたピッチの単位で当該音声信号を並べ替え、更に、互いに隣接する２信号の差分値を周波数変換して、ベクトル量子化、エントロピー符号化を行うことにより、図３に示すように、隣接する信号の差分値が小さくなり、符号化効率を向上させることができる。
【０１１８】
なお、上述の各実施形態における記述内容は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
例えば、実施形態２では周波数変換としてＭＤＣＴを用いる場合を示したが、ＦＦＴ（Fast Fourier Transform：高速フーリエ変換）等の他の周波数変換を用いるようにしてもよい。
【図面の簡単な説明】
【０１１９】
【図１】本発明の実施形態１に係る音声符号化装置の構成（ａ）と、音声復号装置の構成（ｂ）を示すブロック図。
【図２】音声信号の波形と、音声信号から抽出されるピッチの関係を示す図。
【図３】ピッチ単位並べ替え処理により並び替えられた音声信号の波形を示す図。
【図４】実施形態１の音声符号化装置において実行される音声符号化処理を示すフローチャート。
【図５】実施形態１の音声復号装置において実行される復号処理を示すフローチャート。
【図６】実施例１のピッチ単位並べ替え処理を示すフローチャート。
【図７】音声信号の波形と、音声信号から抽出されるピッチの関係を示す図。
【図８】実施例３のピッチ単位並べ替え処理を示すフローチャート。
【図９】本発明の実施形態２に係る音声符号化装置の構成を示すブロック図。
【図１０】入力信号のフレーム分割を示す図。
【図１１】１フレームと各ＭＤＣＴブロックの関係を示す図。
【図１２】ハフマン符号の一例を示す図。
【図１３】従来のレンジコーダによる符号化の一例を示す図。
【図１４】実施形態２のレンジコーダ符号化に必要な生起確率テーブル８１のデータ構成を示す図。
【図１５】デフォルトの生起確率テーブル８１の一例（同図（ａ））と、符号化の一例（同図（ｂ））を示す図。
【図１６】生起確率テーブル８１の更新例を示す図。
【図１７】本発明の実施形態２に係る音声復号装置の構成を示すブロック図。
【図１８】実施形態２の音声符号化装置において実行される音声符号化処理を示すフローチャート。
【図１９】高域雑音削除処理を示すフローチャート。
【図２０】孤立周波数成分削除処理を示すフローチャート。
【符号の説明】
【０１２０】
１、１３  ピッチ抽出部
２、１４  ピッチ単位並べ替え部
３  符号化部
４  復号部
５、４６  ピッチ単位並べ替え復元部
１０  Ａ／Ｄ変換部
１１  ＤＣ除去部
１２  フレーム化部
１５  レベル調整部
１６  差分算出部
１７  周波数変換部
１８  周波数並べ替え部
１９  ベクトル量子化部
２０、４２  逆ベクトル量子化部
２１、４３  時間順並べ替え部
２２、４４  周波数逆変換部
２３、４５  差分復元部
２４、４７  レベル復元部
２５  振幅比較部
２６  係数調整部
２７  エントロピー符号化部
２８  レートコントローラ（判定部）
２９  帯域データ削除部
３０  雑音源削除部
４１  エントロピー復号部
４８  フレーム合成部
４９  Ｄ／Ａ変換部
１００、３００  音声符号化装置
２００、４００  音声復号装置
【図１】
2006126592.tif 000019
【図２】
2006126592.tif 000020
【図３】
2006126592.tif 000021
【図４】
2006126592.tif 000022
【図５】
2006126592.tif 000023
【図６】
2006126592.tif 000024
【図７】
2006126592.tif 000025
【図８】
2006126592.tif 000026
【図９】
2006126592.tif 000027
【図１０】
2006126592.tif 000028
【図１１】
2006126592.tif 000029
【図１２】
2006126592.tif 000030
【図１３】
2006126592.tif 000031
【図１４】
2006126592.tif 000032
【図１５】
2006126592.tif 000033
【図１６】
2006126592.tif 000034
【図１７】
2006126592.tif 000035
【図１８】
2006126592.tif 000036
【図１９】
2006126592.tif 000037
【図２０】
2006126592.tif 000038