(57)【要約】【課題】ベクトル量子化された音声信号の振幅を簡易な処理で調整可能にする。【解決手段】音声処理装置１００は、ベクトル量子化により得られた符号に対し、逆ベクトル量子化を施し、周波数逆変換を施す。そして、入力された音声信号に対する周波数逆変換により得られた音声信号の最大振幅の比率の逆数を、周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整し、その調整された周波数変換係数に対し、ベクトル量子化、逆ベクトル量子化、周波数逆変換を施すことにより得られた音声信号の最大振幅と、前記入力された音声信号の最大振幅を比較する。入力された音声信号の振幅が、周波数逆変換により得られた音声信号の振幅より大きい場合、調整された周波数変換係数に対し、ベクトル量子化を施し、そのベクトル量子化により得られた符号に対し、エントロピー符号化を施す。【選択図】図１
2005345703.tif 000002
【特許請求の範囲】
【請求項１】
入力された音声信号をフレームに分割するフレーム化部と、
前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、
前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、
前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施す第１のベクトル量子化部と、
前記第１のベクトル量子化部により得られたベクトル量子化符号に対し、逆ベクトル量子化を施す逆ベクトル量子化部と、
前記逆ベクトル量子化部により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換部と、
前記入力された音声信号の振幅に対する前記周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整する係数調整部と、
前記係数調整部により調整された周波数変換係数に対し、前記ベクトル量子化、前記逆ベクトル量子化、前記周波数逆変換を施すことにより得られた音声信号の振幅と、前記入力された音声信号の振幅を比較する振幅比較部と、
前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記係数調整部により調整された周波数変換係数に対し、ベクトル量子化を施す第２のベクトル量子化部と、
前記第２のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すエントロピー符号化部と、
を備えることを特徴とする音声処理装置。
【請求項２】
前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、前記エントロピー符号化部は、前記第１のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すことを特徴とする請求項１に記載の音声処理装置。
【請求項３】
前記振幅比較部は、前記周波数逆変換により得られた音声信号の振幅の最大値と、前記入力された音声信号の振幅の最大値を比較し、
前記第２のベクトル量子化部は、前記入力された信号の振幅の最大値が、前記周波数逆変換により得られた音声信号の振幅の最大値より大きい場合に、前記調整された周波数変換係数に対してベクトル量子化を施すことを特徴とする請求項１又は２に記載の音声処理装置。
【請求項４】
入力された音声信号をフレームに分割するフレーム化部と、
前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、
前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、
前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施す第１のベクトル量子化部と、
前記第１のベクトル量子化部により得られたベクトル量子化符号に対し、逆ベクトル量子化を施す逆ベクトル量子化部と、
前記逆ベクトル量子化部により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換部と、
前記周波数逆変換により得られた音声信号の振幅と、前記入力された音声信号の振幅を比較する振幅比較部と、
前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、当該入力された音声信号の振幅に対する当該周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整する係数調整部と、
前記係数調整部において調整された周波数変換係数に対し、ベクトル量子化を施す第２のベクトル量子化部と、
前記第２のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すエントロピー符号化部と、
を備えることを特徴とする音声処理装置。
【請求項５】
前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記エントロピー符号化部は、前記第１のベクトル量子化部により得られた周波数変換係数に対し、エントロピー符号化を施すことを特徴とする請求項４に記載の音声処理装置。
【請求項６】
前記振幅比較部は、前記周波数逆変換により得られた音声信号の振幅の最大値と、前記入力された音声信号の振幅の最大値を比較し、
前記係数調整部は、当該入力された音声信号に対する当該周波数逆変換により得られた音声信号の振幅の最大値の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することを特徴とする請求項４又は５に記載の音声処理装置。
【請求項７】
入力された音声信号をフレームに分割し、
前記フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、
レベルが調整された音声信号に対し、周波数変換を施し、
前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施し、
前記ベクトル量子化により得られたベクトル量子化符号に対し、逆ベクトル量子化を施し、
前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施し、
前記入力された音声信号の振幅に対する前記周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整し、
前記調整された周波数変換係数に対し、前記ベクトル量子化、前記逆ベクトル量子化、前記周波数逆変換を施すことにより得られた音声信号の振幅と、前記入力された音声信号の振幅を比較し、
前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記調整された周波数変換係数に対し、ベクトル量子化を施し、
前記ベクトル量子化により得られたベクトル量子化符号に対し、エントロピー符号化を施すことを特徴とする音声符号化方法。
【請求項８】
入力された音声信号をフレームに分割し、
フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、
レベルが調整された音声信号に対し、周波数変換を施し、
前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施し、
前記ベクトル量子化により得られたベクトル量子化符号に対し、逆ベクトル量子化を施し、
前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施し、
前記周波数逆変換により得られた音声信号の振幅と、前記入力された音声信号の振幅を比較し、
前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、当該入力された音声信号の振幅に対する当該周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整し、
前記調整された周波数変換係数に対し、ベクトル量子化を施し、
前記ベクトル量子化により得られたベクトル量子化符号に対し、エントロピー符号化を施すことを特徴とする音声符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声処理装置及び音声符号化方法に関する。
【背景技術】
【０００２】
従来より、音声信号の圧縮方式として、μ−ｌａｗ、ＡＤＰＣＭ（Adaptive Differential Pulse Code Modulation）、音楽で利用されるＭＰ３（MPEG Audio Layer-3）、携帯電話等で利用されるＶＳＥＬＰ(Vector Sum Excited Linear Prediction)、Ｇ．７２９等のＣＥＬＰ（Code-Excited Linear Prediction）系の圧縮方式が実用化されている。特許文献１には、音声圧縮技術として、ベクトル量子化を用いた技術が開示されている。
【特許文献１】特開平１０−６３２９９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ベクトル量子化を伴う符号化により得られた音声信号の振幅は、量子化テーブルに登録されたベクトルに依存する。量子化テーブルには、複数の音声パターンを示す代表ベクトルが登録されている。音声信号のGainを分離することで、量子化テーブルの依存性は緩和されるが、量子化テーブルに登録されているベクトルの次元が相対的に大きい場合や、ベクトルの数が相対的に少ない場合は、入力された音声信号の振幅と一致せず、波形のレンジを振り切ってクリッピングされてしまうことがあった。
【０００４】
本発明の課題は、ベクトル量子化された音声信号の振幅を簡易な処理で調整可能にすることである。
【課題を解決するための手段】
【０００５】
本発明に係る音声処理装置は、入力された音声信号をフレームに分割するフレーム化部と、前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施す第１のベクトル量子化部と、前記第１のベクトル量子化部により得られたベクトル量子化符号に対し、逆ベクトル量子化を施す逆ベクトル量子化部と、前記逆ベクトル量子化部により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換部と、前記入力された音声信号の振幅に対する前記周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整する係数調整部と、前記係数調整部により調整された周波数変換係数に対し、前記ベクトル量子化、前記逆ベクトル量子化、前記周波数逆変換を施すことにより得られた音声信号の振幅と、前記入力された音声信号の振幅を比較する振幅比較部と、前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記係数調整部により調整された周波数変換係数に対し、ベクトル量子化を施す第２のベクトル量子化部と、前記第２のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すエントロピー符号化部と、を備えることを特徴としている。
【０００６】
また、前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、前記エントロピー符号化部は、前記第１のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すのが好ましい。
【０００７】
更に、前記振幅比較部は、前記周波数逆変換により得られた音声信号の振幅の最大値と、前記入力された音声信号の振幅の最大値を比較し、前記第２のベクトル量子化部は、前記入力された信号の振幅の最大値が、前記周波数逆変換により得られた音声信号の振幅の最大値より大きい場合に、前記調整された周波数変換係数に対してベクトル量子化を施すのが好ましい。
【０００８】
本発明に係る音声処理装置は、入力された音声信号をフレームに分割するフレーム化部と、前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施す第１のベクトル量子化部と、前記第１のベクトル量子化部により得られたベクトル量子化符号に対し、逆ベクトル量子化を施す逆ベクトル量子化部と、前記逆ベクトル量子化部により得られた周波数変換係数に対し、周波数逆変換を施す周波数逆変換部と、前記周波数逆変換により得られた音声信号の振幅と、前記入力された音声信号の振幅を比較する振幅比較部と、前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、当該入力された音声信号の振幅に対する当該周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整する係数調整部と、前記係数調整部において調整された周波数変換係数に対し、ベクトル量子化を施す第２のベクトル量子化部と、前記第２のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すエントロピー符号化部と、を備えることを特徴としている。
【０００９】
また、前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記エントロピー符号化部は、前記第１のベクトル量子化部により得られたベクトル量子化符号に対し、エントロピー符号化を施すのが好ましい。
【００１０】
更に、前記振幅比較部は、前記周波数逆変換により得られた音声信号の振幅の最大値と、前記入力された音声信号の振幅の最大値を比較し、前記係数調整部は、当該入力された音声信号に対する当該周波数逆変換により得られた音声信号の振幅の最大値の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算するのが好ましい。
【００１１】
本発明に係る音声符号化方法は、入力された音声信号をフレームに分割し、前記フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、レベルが調整された音声信号に対し、周波数変換を施し、前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施し、前記ベクトル量子化により得られたベクトル量子化符号に対し、逆ベクトル量子化を施し、前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施し、前記入力された音声信号の振幅に対する前記周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整し、前記調整された周波数変換係数に対し、前記ベクトル量子化、前記逆ベクトル量子化、前記周波数逆変換を施すことにより得られた音声信号の振幅と、前記入力された音声信号の振幅を比較し、前記入力された音声信号の振幅が、前記周波数逆変換により得られた音声信号の振幅より大きい場合、前記調整された周波数変換係数に対し、ベクトル量子化を施し、前記ベクトル量子化により得られたベクトル量子化符号に対し、エントロピー符号化を施すことを特徴としている。
【００１２】
本発明に係る音声符号化方法は、入力された音声信号をフレームに分割し、フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、レベルが調整された音声信号に対し、周波数変換を施し、前記周波数変換により得られた周波数変換係数に対し、ベクトル量子化を施し、前記ベクトル量子化により得られたベクトル量子化符号に対し、逆ベクトル量子化を施し、前記逆ベクトル量子化により得られた周波数変換係数に対し、周波数逆変換を施し、前記周波数逆変換により得られた音声信号の振幅と、前記入力された音声信号の振幅を比較し、前記周波数逆変換により得られた音声信号の振幅が、前記入力された音声信号の振幅より大きい場合、当該入力された音声信号の振幅に対する当該周波数逆変換により得られた音声信号の振幅の比率の逆数を、前記周波数変換により得られた周波数変換係数に乗算することにより当該周波数変換係数を調整し、前記調整された周波数変換係数に対し、ベクトル量子化を施し、前記ベクトル量子化により得られたベクトル量子化符号に対し、エントロピー符号化を施すことを特徴としている。
【発明の効果】
【００１３】
本発明によれば、入力された音声信号に対する周波数逆変換により得られた音声信号の振幅の比率の逆数を周波数変換係数に乗算して、周波数変換係数を調整することにより、簡易な処理でベクトル量子化後の音声信号の振幅を調整することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明の実施形態について詳細に説明する。
まず、本実施形態における構成について説明する。
【００１５】
図１は、本発明の実施形態に係る音声処理装置１００の構成を示すブロック図である。音声処理装置１００は、図１に示すように、Ａ／Ｄ変換部１、ＤＣ（Direct Current）除去部２、フレーム化部３、レベル調整部４、周波数変換部５、周波数並べ替え部６、ベクトル量子化部７、エントロピー符号化部８、レートコントローラ９、データ削除部１０、逆ベクトル量子化部１１、周波数逆変換部１２、振幅比較部１３、係数調整部１４により構成される。
【００１６】
Ａ／Ｄ変換部１は、入力された音声アナログ信号をデジタル信号に変換し、ＤＣ除去部２に出力する。サンプリング周波数は、16kHz程度が望ましいが、11.025kHz、22.05kHz等でもかまわない。
【００１７】
ＤＣ除去部２は、Ａ／Ｄ変換部１から入力された音声信号の直流成分を除去し、フレーム化部３に出力する。音声信号の直流成分を除去するのは、直流成分が音質にほとんど無関係であることによる。直流成分の除去は、例えば、高域通過フィルタによって実現することができる。高域通過フィルタには、例えば、式（１）で表されるものがある。
【数１】
2005345703.tif 000003
【００１８】
フレーム化部３は、ＤＣ除去部２から入力された信号を、圧縮の処理単位であるフレームに分割し、レベル調整部４に出力する。ここで、１つのフレームには、１つ以上、好ましくは４つ以上のブロックが含まれる長さにする。１ブロックは、１回のＭＤＣＴ（Modified Discrete Cosine Transform：変形離散コサイン変換）を行う単位であり、ＭＤＣＴの次数分の長さを有する。以下、１フレームを構成する各ブロックをＭＤＣＴブロックと呼ぶことにする。図２に、入力信号と各フレームとの関係を示し、図３に、１フレームと各ＭＤＣＴブロックとの関係を示す。図３に示すように、各ＭＤＣＴブロックは直前のＭＤＣＴブロックと、ＭＤＣＴブロックの半分の長さの重複部分を有する。また、図２に示すように、各フレームは、直前のフレームと、ＭＤＣＴブロックの半分の長さの重複部分を有する。
【００１９】
レベル調整部４は、フレーム毎に、入力された音声信号のレベル調整を行い、レベル調整された信号を周波数変換部５に出力する。レベル調整とは、１フレーム中に含まれる信号の振幅の最大値を、指定されたビット（以下、制圧目標ビット）数に収まるようにすることである。レベル調整は、例えば、１フレーム中の信号の最大振幅をｎbit、制圧目標ビット数をＮとすると、フレーム中の信号を全て、式（２）を満たすshift_bit数分ＬＳＢ（Least Significant Bit：最下位ビット）側にシフトすることによって実現できる。
【数２】
2005345703.tif 000004
音声再生時には、振幅が制圧目標ビット以下に制圧された信号を元に戻す必要があるため、shift_bitを表す信号を、音声圧縮信号の一部として出力する。
【００２０】
周波数変換部５は、レベル調整部４から入力された信号に対し周波数変換を施し、周波数並べ替え部６に出力する。本実施形態では、周波数変換としてＭＤＣＴ（Modified Discrete Cosine Transform：変形離散コサイン変換）を用いる場合を示す。ＭＤＣＴブロックの長さをＭ、入力信号を｛ｘn｜n=0,…,M-1｝とすると、ＭＤＣＴ係数｛Ｘk｜n=0,…,M-1｝は式（３）で表される。
【数３】
2005345703.tif 000005
ここで、ｈnは窓関数であり、式（４）で表される。
【数４】
2005345703.tif 000006
なお、ブロック長Ｍは、１６ｋＨｚ程度のサンプリング周波数の音声では、２５６程度の値が考えられる。
【００２１】
周波数並べ替え部６は、周波数変換部５から入力されたＭＤＣＴ係数を周波数毎に並べ替え、同一周波数帯域の係数をまとめてベクトル化し、ベクトル量子化部７に出力する。このように、同一周波数帯域の信号をまとめてベクトル化すると、例えば、定常信号を多く含む場合、後のベクトル量子化の精度が向上する。１フレームにＭＤＣＴブロックがｍ個あり、各ＭＤＣＴでＭＤＣＴ係数がＭ/２個算出された場合、ｉ番目のＭＤＣＴブロックのｊ番目のＭＤＣＴ係数をＸ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の算出式を式（５）に示す。
【数５】
2005345703.tif 000007
代表ベクトルの数ｋとベクトル長Ｎは、ベクトル量子化に要する処理時間やＶＱテーブルの容量等を勘案して決定される。例えば、ベクトル長を２にして代表ベクトル数を２５６にしたり、ベクトル長を４にして代表ベクトル数を８１９２（＝２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は、高域用ＶＱテーブル７ａに格納された各代表ベクトルと比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される。
【００２５】
エントロピー符号化部８は、ベクトル量子化部７から入力されたベクトル量子化符号に対してエントロピー符号化を施し、レートコントローラ９に出力する。エントロピー符号化とは、信号の統計的性質を利用して、符号をより短い符号へと変換する符号化方式であり、ハフマン（Huffman）符号化、算術符号化、レンジコーダ（Range Coder）による符号化等がある。エントロピー符号化の詳細については、後に図４〜図８を参照して説明する。
【００２６】
レートコントローラ９は、エントロピー符号化で得られた符号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、エントロピー符号化で得られた符号のデータ量が目標データ量より大きいと判定した場合、データ削除部１０に対し、ｊ番目の周波数帯域Ｆjのエネルギーを｜Ｆj｜2としたとき、｜Ｆj｜2が所定値以下の帯域の信号の削除を要求する。エントロピー符号化で得られた符号のデータ量が目標データ量以下であると判定した場合は、レートコントローラ９は、エントロピー符号化で得られた符号を音声圧縮信号として出力する。レートコントローラ９から出力された音声圧縮信号は、記録媒体に記録されたり、通信ネットワークを介して外部装置に伝送されたりする。
【００２７】
データ削除部１０は、エネルギー｜Ｆj｜2が所定値以下の帯域の信号を削除する処理を行い、処理後の信号をエントロピー符号化部８に出力し、再度、エントロピー符号化を要求する。エネルギー｜Ｆj｜2が所定値以下の帯域の信号を削除する処理では、例えば、式（６）に示すように、エネルギー｜Ｆj｜2が閾値ｔ未満の係数を０になるようにする。
Ｆj＝｛0，0，…,0｝；    ｜Ｆj｜2＜ｔ  （６）
【００２８】
逆ベクトル量子化部１１は、高域用ＶＱテーブル７ａ及び低域用ＶＱテーブル７ｂに格納された代表ベクトルの中から、ベクトル量子化部７から出力されたインデックスに該当するベクトル（ＭＤＣＴ係数に相当する情報）を抽出し、周波数逆変換部１２に出力する。
【００２９】
周波数逆変換部１２は、逆ベクトル量子化部１１から出力されたベクトルに対し、逆ＭＤＣＴ（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_y／max_xとなる。
【００３２】
係数調整部１４は、入力波形に対する再生波形の最大振幅の比率の逆数max_x／max_yを全てのＭＤＣＴ係数に乗算することによってＭＤＣＴ係数を調整する。調整前のＭＤＣＴ係数を｛Ｆi｜i=0,…,M/2-1}、調整後のＭＤＣＴ係数を{Ｆ'i｜i=0,…,M/2-1}とすると、調整後のＭＤＣＴ係数Ｆ'iは式（９）のように表される。
【数６】
2005345703.tif 000008
全てのＭＤＣＴ係数Ｆiに同一の値max_x／max_yを乗算するのは、再生波形の振幅が入力波形の最大振幅を超えている部分だけを調整すると、逆ＭＤＣＴ（ＩＭＤＣＴ）のオーバーラップ処理時に不都合を起こしたり、波形全体の振幅の変化の再現性が失われてしまったりすることによる。
【００３３】
また、係数調整部１４は、振幅比較部１３における比較結果により、入力波形の最大振幅が再生波形の最大振幅より大きい場合、振幅が調整されたＭＤＣＴ係数Ｆ'jをベクトル量子化部７に出力する。入力波形の最大振幅が再生波形の最大振幅より小さい場合、元のＭＤＣＴ係数Ｆjのベクトル量子化により得られたインデックスが、エントロピー符号化部８に出力される。
【００３４】
〈エントロピー符号化〉
以下では、本実施形態で適用されるエントロピー符号化の例として、ハフマン符号化、レンジコーダによる符号化について説明する。
【００３５】
（ハフマン符号化）
ハフマン符号化とは、出現頻度の高い記号には短い符号を割り当て、出現頻度の低い記号には長い符号を割り当てることで、全体のデータ量を圧縮する方式である。例えば、４つの記号｛ａ、ｂ、ｃ、ｄ｝からなる１００文字のデータがあったとする。全ての記号に同じ長さの２進数の符号（固定長符号）を割り当てる場合、４つの記号を表すには２ビットが必要であるため、１００文字のデータ量は、２[bit]×１００＝２００[bit]となる。
【００３６】
ハフマン符号化では、各記号の出現頻度に応じて２進数の符号が割り当てられる。図４に、１００文字のデータ中の各記号ａ、ｂ、ｃ、ｄの出現頻度が、それぞれ、１０、７０、１、１９である場合に各記号に割り当てられた２進数の符号の例を示す。図４に示すように、記号ａ、ｂ、ｃ、ｄに、それぞれ、符号１００、０、１０１、１１が割り当てられた場合、１００文字のデータ量は、３[bit]×１０＋１[bit]×７０＋３[bit]×１＋２[bit]×１９＝１４１[bit]となり、データ量は、固定長符号のデータ量の７０％に圧縮される。
【００３７】
（レンジコーダによる符号化）
符号化前の元信号に含まれる記号の集合をＳ＝｛si|i=1,…,n｝とし、各記号siの出現確率をｐiとする。また、元信号に含まれる各記号siを予め決められた順番に並べ替えた記号列｛s1、s2、…、sn｝において、記号sk（ｋ≧２）より前に並んでいる各記号の出現確率の合計をＧkとする。即ち、Ｇkは、式（１０）のように表される。
【数７】
2005345703.tif 000009
【００３８】
レンジコーダによる符号化では、記号毎に出現確率ｐ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の初期値を１０6とした場合を示している。図５（ｂ）において、「入力信号」項目は、入力された記号を示し、「記号列」項目は、これまでに入力された記号列を示し、「low」項目は、式（１２）により算出されるlow'を示し、「range」項目は、式（１１）により算出されるrange'を示す。また、「範囲」項目は、low及びrangeから決定される符号値の範囲を示す。図５（ｂ）において、［ｘ、ｙ）という表記は、符号値Ｚがｘ≦Ｚ＜ｙを満たすことを意味する。図５（ｂ）によると、５９３７５０≦Ｚ＜６０３１２５を満たす符号値Ｚのうちの１つ（例えば、６０００００）が、記号列｛ｂａｃａ｝を符号化した結果として出力されることになる。
【００４２】
このように、レンジコーダによる符号化では、予め決められた出現確率を利用して入力される各記号を符号化しているため、元信号に含まれる各記号の出現確率が固定された情報源からの発生であれば非常に有効である。しかしながら、符号化対象となる信号が、出現確率が一定の情報源から発生されていることは極めてまれである。よって、上述のレンジコーダによる符号化では、各記号の出現確率が符号化対象となる信号に適応していない。そこで、本実施形態では、レンジコーダ符号化において、信号が入力される度に出現確率を更新させるようにすることによって、実際の信号に適応可能にした。以下、本実施形態のレンジコーダによる符号化について説明する。
【００４３】
上述と同様に、符号化前の元信号に含まれる記号の集合をＳ＝｛si|i=1,…,n｝とする。元信号に含まれる記号siの出現頻度をｇi、出現頻度ｇiの合計をｃｕｍ、各記号siの出現確率をｐiとすると、ｃｕｍ、ｐiは、それぞれ、式（１３）、式（１４）のように表される。
【数８】
2005345703.tif 000010
【数９】
2005345703.tif 000011
【００４４】
エントロピー符号化部８は、入力された信号に幅range及び下限lowを設定するためのテーブルとして、図６に示すような生起確率テーブル８１を有する。生起確率テーブル８１は、図６に示すように、各記号毎に、出現頻度ｇi、出現確率ｐi、Ｇiの各項目を対応付けて格納している。Ｇiの定義は、式（１０）で示したとおりである。
【００４５】
エントロピー符号化部８に符号化対象の信号skが入力されたときに設定される幅をrange'、下限をlow'とし、その信号skの１つ前の信号が入力されたときに設定された幅をrange、下限をlowとすると、幅range'、下限low'は、それぞれ、式（１５）、式（１６）のように表される。
【数１０】
2005345703.tif 000012
【数１１】
2005345703.tif 000013
式（１５）及び式（１６）で算出された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の初期値を１０6とする。図７（ｂ）において、「入力信号」項目は、入力された記号を示し、「記号列」項目は、これまでに入力された記号列を示し、「low」項目は、式（１６）により算出されるlow'を示し、「range」項目は、式（１５）により算出されるrange'を示す。また、「範囲」項目は、low及びrangeから決定される符号値の範囲を示す。また、「生起確率テーブル」項目は、記号の入力毎に更新された生起確率テーブルを示す。図８に、記号の入力毎に更新された生起確率テーブルを示す。図７（ｂ）によると、記号の入力毎に生起確率テーブルを更新することで、記号列｛ｂａｃａ｝が示す「範囲」は、図５（ｂ）に示した生起確率テーブルが固定された場合と異なり、５９１９９２≦Ｚ＜５９９７５７を満たす符号値Ｚのうちの１つが、記号列｛ｂａｃａ｝を符号化した結果として出力されることになる。
【００４８】
次に、本実施形態における動作について説明する。
まず、図９のフローチャートを参照して、音声処理装置１００において実行される音声圧縮処理について説明する。
【００４９】
まず、音声アナログ信号が入力されると、Ａ／Ｄ変換部１において、入力された音声アナログ信号が音声デジタル信号に変換される（ステップＳ１）。以下、符号化対象の音声デジタル信号を単に音声信号と呼ぶことにする。次いで、ＤＣ除去部２において、音声信号の直流成分が削除され（ステップＳ２）、フレーム化部３において、直流成分削除後の音声信号がフレームに分割される（ステップＳ３）。
【００５０】
次いで、レベル調整部４において、フレーム毎に、入力された音声信号のレベルが調整され（ステップＳ４）、周波数変換部５において、レベル調整後の音声信号に対し、ＭＤＣＴが施される（ステップＳ５）。次いで、周波数並べ替え部６において、ＭＤＣＴ係数が周波数毎に並べ替えられ（ステップＳ６）、同一周波数帯域の係数がまとめてベクトル化される。
【００５１】
次いで、ベクトル量子化部７において、高域のＭＤＣＴ係数のベクトルと高域用ＶＱテーブル７ａに格納された代表ベクトルが比較されるとともに、低域のＭＤＣＴ係数のベクトルと低域用ＶＱテーブル７ｂに格納された代表ベクトルが比較され、最も類似した代表ベクトルが示すインデックスが符号として出力される（ステップＳ７）。次いで、ステップＳ７におけるベクトル量子化後の音声信号の振幅を調整する振幅調整処理が行われる（ステップＳ８）。ステップＳ８の振幅調整処理については、後に図１０を参照して詳細に説明する。
【００５２】
次いで、エントロピー符号化部８において、ベクトル量子化後のベクトル量子化符号に対し、フレーム毎にエントロピー符号化が施され（ステップＳ９）、エントロピー符号化後の信号が音声圧縮信号としてレートコントローラ９に出力される。
【００５３】
次いで、レートコントローラ９において、エントロピー符号化部８から入力された１フレーム分の音声圧縮信号が予め決められた目標データ量以下であるか否かが判定される（ステップＳ１０）。ステップＳ１０において、入力された音声圧縮信号が目標データ量より大きいと判定された場合（ステップＳ１０；ＮＯ）、データ削除部１０において、エネルギーが小さい帯域、即ち、エネルギー｜Ｆj｜2が所定値以下の帯域の信号が削除され（ステップＳ１１）、再度、該当するフレームに対するエントロピー符号化処理が行われる（ステップＳ９）。
【００５４】
ステップＳ１０において、入力された音声圧縮信号が目標データ量以下であると判定された場合（ステップＳ１０；ＹＥＳ）、エントロピー符号化部８に、符号化対象の次のフレームの音声信号が入力されたか否かが判定される（ステップＳ１２）。ステップＳ１２において、エントロピー符号化部８に次のフレームの音声信号が入力されたと判定された場合（ステップＳ１２；ＹＥＳ）、ステップＳ９に戻り、その入力されたフレームに対するエントロピー符号化処理が行われる（ステップＳ９）。ステップＳ１２において、エントロピー符号化部８に入力された全てのフレームに対するエントロピー符号化が終了したと判定された場合（ステップＳ１２；ＮＯ）、本音声圧縮処理が終了する。
【００５５】
次に、図１０のフローチャートを参照して、図９のステップＳ８に示した振幅調整処理について詳細に説明する。
【００５６】
まず、逆ベクトル量子化部１１において、ベクトル量子化部７から出力されたインデックスに対する逆ベクトル量子化が行われ（ステップＳ２０）、周波数逆変換部１２において、逆ベクトル量子化で得られたベクトルに対し、逆ＭＤＣＴ（ＩＭＤＣＴ）が施される（ステップＳ２１）。
【００５７】
次いで、振幅比較部１３において、入力波形に対する再生波形（逆ＭＤＣＴ後の信号）の最大振幅の比率が算出され（ステップＳ２２）、係数調整部１４において、式（９）に示すように、ＭＤＣＴ係数Ｆiに最大振幅比率の逆数を乗算することにより、ＭＤＣＴ係数が調整される（ステップＳ２３）。
【００５８】
次いで、ステップＳ２３において調整されたＭＤＣＴ係数Ｆ'iに対し、ベクトル量子化が施される（ステップＳ２４）。そして、ステップＳ２４におけるベクトル量子化で得られたインデックスに対し、逆ベクトル量子化が施され（ステップＳ２５）、逆ベクトル量子化で得られたベクトルに対し、逆ＭＤＣＴ（ＩＭＤＣＴ）が施される（ステップＳ２６）。
【００５９】
次いで、入力波形に対する再生波形（逆ＭＤＣＴ後の信号）の最大振幅の比率が算出され（ステップＳ２７）、入力波形の最大振幅が、再生波形の最大振幅より大きいか否かが判定される（ステップＳ２８）。
【００６０】
ステップＳ２８において、入力波形の最大振幅の方が大きいと判定された場合（ステップＳ２８；ＹＥＳ）、ステップＳ２３において調整されたＭＤＣＴ係数Ｆ'iに対し、ベクトル量子化が施され（ステップＳ２９）、本振幅調整処理が終了する。そして、この調整されたＭＤＣＴ係数のベクトル量子化で得られたインデックスに対し、図９のステップＳ９においてエントロピー符号化が施される。一方、ステップＳ２８において、再生波形の最大振幅の方が大きいと判定された場合（ステップＳ２８；ＮＯ）、本振幅調整処理が終了し、図９のステップＳ７のベクトル量子化で得られたインデックスに対し、エントロピー符号化が施される。
【００６１】
（変形例）
図１０の振幅調整処理では、ＭＤＣＴ係数の調整後に、入力波形と再生波形の最大振幅の比較を行うようにしたが、以下では、図１０の振幅調整処理の変形例として、ＭＤＣＴ係数の調整を、再生波形の最大振幅が入力波形の最大振幅より大きい場合にのみ行う場合の振幅調整処理について図１１のフローチャートを参照して説明する。
【００６２】
まず、逆ベクトル量子化部１１において、ベクトル量子化部７から出力されたインデックスに対する逆ベクトル量子化が行われ（ステップＳ４０）、周波数逆変換部１２において、逆ベクトル量子化で得られたベクトルに対し、逆ＭＤＣＴ（ＩＭＤＣＴ）が施される（ステップＳ４１）。
【００６３】
次いで、振幅比較部１３において、入力波形に対する再生波形（逆ＭＤＣＴ後の信号）の最大振幅の比率が算出され（ステップＳ４２）、入力波形の最大振幅が、再生波形の最大振幅より大きいか否かが判定される（ステップＳ４３）。
【００６４】
ステップＳ４３において、入力波形の最大振幅の方が大きいと判定された場合（ステップＳ４３；ＹＥＳ）、本振幅調整処理が終了し、図９のステップＳ７のベクトル量子化で得られたインデックスに対し、エントロピー符号化が施される。
【００６５】
ステップＳ４３において、再生波形の最大振幅の方が大きいと判定された場合（ステップＳ４３；ＮＯ）、式（９）に示すように、元のＭＤＣＴ係数Ｆiに最大振幅比率の逆数を乗算することにより、ＭＤＣＴ係数が調整される（ステップＳ４４）。そして、調整されたＭＤＣＴ係数Ｆ'iに対し、ベクトル量子化が施され（ステップＳ４５）、本振幅調整処理が終了する。
【００６６】
以上のように、本実施形態の音声処理装置１００によれば、入力波形に対する再生波形の最大振幅の比率の逆数を全てのＭＤＣＴ係数に乗算して、再生波形の振幅が入力波形の振幅を超えないようにＭＤＣＴ係数を調整することにより、簡易な処理で再生波形を調整することが可能となる。
【００６７】
特に、式（９）のように調整されたＭＤＣＴ係数Ｆ'iに対し、ベクトル量子化、逆ベクトル量子化、逆ＭＤＣＴを施し、逆ＭＤＣＴにより得られた再生波形の最大振幅が入力波形の最大振幅より大きい場合は、調整前の元のＭＤＣＴ係数Ｆiを用いてエントロピー符号化を行うことで、再生波形の振幅調整処理による悪影響を防ぐことができる。
【００６８】
また、図１１に示す振幅調整処理のように、再生波形の最大振幅が入力波形の最大振幅より大きかった場合にのみＭＤＣＴ係数を調整する処理では、再生波形の生成は一回のみであるため、音声圧縮に係る演算量を大幅に削減することができ、演算処理の高速化を図ることができる。
【００６９】
なお、本実施形態における記述内容は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【図面の簡単な説明】
【００７０】
【図１】本発明の実施形態に係る音声処理装置の構成を示すブロック図。
【図２】入力信号のフレーム分割を示す図。
【図３】１フレームと各ＭＤＣＴブロックの関係を示す図。
【図４】ハフマン符号の一例を示す図。
【図５】従来のレンジコーダによる符号化の一例を示す図。
【図６】本実施形態のレンジコーダ符号化に必要な生起確率テーブル８１のデータ構成を示す図。
【図７】デフォルトの生起確率テーブル８１の一例（同図（ａ））と、符号化の一例（同図（ｂ））を示す図。
【図８】生起確率テーブル８１の更新例を示す図。
【図９】本実施形態の音声処理装置において実行される音声圧縮処理を示すフローチャート。
【図１０】図９に示された振幅調整処理の詳細を示すフローチャート。
【図１１】図１０の振幅調整処理の変形例を示すフローチャート。
【符号の説明】
【００７１】
１  Ａ／Ｄ変換部
２  ＤＣ除去部
３  フレーム化部
４  レベル調整部
５  周波数変化部
６  周波数並べ替え部
７  ベクトル量子化部（第１のベクトル量子化部、第２のベクトル量子化部）
７ａ  高域用ＶＱテーブル
７ｂ  低域用ＶＱテーブル
８  エントロピー符号化部
８１  生起確率テーブル
９  レートコントローラ
１０  データ削除部
１１  逆ベクトル量子化部
１２  周波数逆変換部
１３  振幅比較部
１４  係数調整部
１００  音声処理装置
【図１】
2005345703.tif 000014
【図２】
2005345703.tif 000015
【図３】
2005345703.tif 000016
【図４】
2005345703.tif 000017
【図５】
2005345703.tif 000018
【図６】
2005345703.tif 000019
【図７】
2005345703.tif 000020
【図８】
2005345703.tif 000021
【図９】
2005345703.tif 000022
【図１０】
2005345703.tif 000023
【図１１】
2005345703.tif 000024