(57)【要約】【課題】音声信号の符号化（圧縮）処理において、他の周波数成分から孤立している周波数成分を削除することにより、雑音を軽減させる。【解決手段】音声処理装置１００は、入力された音声信号をフレームに分割し、フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、レベルが調整された音声信号に対し、ＭＤＣＴ（変形離散コサイン変換）を施して、ベクトル量子化を施し、ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施して出力する。エントロピー符号化により得られた音声信号のデータ量が予め設定された目標データ量より大きい場合、当該音声信号の中から、エネルギーが所定値以下の帯域の周波数成分を削除するとともに、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除する。【選択図】図１
2005345707.tif 000002
【特許請求の範囲】
【請求項１】
入力された音声信号をフレームに分割するフレーム化部と、
前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、
前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、
前記周波数変換により得られた音声信号に対し、ベクトル量子化を施すベクトル量子化部と、
前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施すエントロピー符号化部と、
前記エントロピー符号化部により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定する判定部と、
前記判定部により、前記エントロピー符号化部により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、当該音声信号の中から、エネルギーが所定値以下の帯域の周波数成分を削除する第１の削除処理と、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除する第２の削除処理を行うデータ削除部と、
を備えることを特徴とする音声処理装置。
【請求項２】
前記データ削除部の第２の削除処理において、前記所定値は全周波数成分の振幅値の最大値から算出される値であることを特徴とする請求項１に記載の音声処理装置。
【請求項３】
前記データ削除部は、前記周波数変換部により得られた音声信号の高周波成分の値が低周波成分の値より大きいか否かを判定し、当該音声信号の高周波成分の値が低周波成分の値より大きいと判定された場合に、前記第２の削除処理を実行することを特徴とする請求項１又は２に記載の音声処理装置。
【請求項４】
前記データ削除部は、前記周波数変換部により得られた音声信号の高周波成分の値が低周波成分の値以下であると判定された場合に、周波数軸上で予め設定された周波数間隔以上離れて存在する高周波成分を削除するとともに、前記第２の削除処理を実行することを特徴とする請求項３に記載の音声処理装置。
【請求項５】
入力された音声信号をフレームに分割するフレーム化部と、
前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、
前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、
前記周波数変換により得られた音声信号に対し、ベクトル量子化を施すベクトル量子化部と、
前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施すエントロピー符号化部と、
前記エントロピー符号化部により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定する判定部と、
前記判定部により、前記エントロピー符号化部により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、エネルギーが所定値以下の帯域の周波数成分を削除する第１の削除処理と、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除する第２の削除処理を行うデータ削除部と、
を備えることを特徴とする音声処理装置。
【請求項６】
前記データ削除部は、前記周波数変換部により得られた音声信号の高周波成分の値が低周波成分の値より大きいか否かを判定し、当該音声信号の高周波成分の値が低周波成分の値以下であると判定された場合に、当該高周波成分の中から、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除することを特徴とする請求項５に記載の音声処理装置。
【請求項７】
前記データ削除部は、前記周波数変換部により得られた音声信号における各周波数成分の対数を演算し、高周波成分における対数の和と、低周波成分における対数の和を比較することによって、当該音声信号の高周波成分の値が低周波成分の値より大きいか否かを判定することを特徴とする請求項３又は６に記載の音声処理装置。
【請求項８】
前記データ削除部は、前記レベル調整部によりレベルが調整された音声信号を、高域通過フィルタと低域通過フィルタにより高周波成分と低周波成分に分離し、当該高域通過フィルタと低域通過フィルタにより得られた高周波成分の値が低周波成分の値より大きいか否かを判定することを特徴とする請求項３又は６に記載の音声処理装置。
【請求項９】
入力された音声信号をフレームに分割し、
フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、
レベルが調整された音声信号に対し、周波数変換を施し、
前記周波数変換により得られた音声信号に対し、ベクトル量子化を施し、
前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施し、
前記エントロピー符号化により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、
前記エントロピー符号化により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、当該音声信号の中から、エネルギーが所定値以下の帯域の周波数成分を削除し、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除することを特徴とする音声符号化方法。
【請求項１０】
入力された音声信号をフレームに分割し、
フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、
レベルが調整された音声信号に対し、周波数変換を施し、
前記周波数変換により得られた音声信号に対し、ベクトル量子化を施し、
前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施し、
前記エントロピー符号化により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、
前記エントロピー符号化により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、エネルギーが所定値以下の帯域の周波数成分を削除し、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除することを特徴とする音声符号化方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音声処理装置及び音声符号化方法に関する。
【背景技術】
【０００２】
音声信号に、周波数変換、ベクトル量子化及びエントロピー符号化を施して、特定の周波数成分を削除することにより、音声信号は効率良く圧縮される。特定の周波数成分を削除する処理では、エントロピー符号化後のデータ量を目標データ量以下に抑えるために、エネルギーが最も小さい周波数成分から音声信号が削除される（例えば、特許文献１参照。）。
【特許文献１】特開２００１−１６６７９７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかしながら、エネルギーの小さい周波数成分から音声信号を削除することによって音声信号のデータ量を小さくする方法では、目標データ量がある程度低く設定されていると、雑音が残ってしまうことがあった。
【０００４】
本発明の課題は、音声信号の符号化（圧縮）処理において、他の周波数成分から孤立して存在する周波数成分を削除することにより、雑音を軽減させることである。
【課題を解決するための手段】
【０００５】
本発明に係る音声処理装置は、入力された音声信号をフレームに分割するフレーム化部と、前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、前記周波数変換により得られた音声信号に対し、ベクトル量子化を施すベクトル量子化部と、前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施すエントロピー符号化部と、前記エントロピー符号化部により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定する判定部と、前記判定部により、前記エントロピー符号化部により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、当該音声信号の中から、エネルギーが所定値以下の帯域の周波数成分を削除する第１の削除処理と、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除する第２の削除処理を行うデータ削除部と、を備えることを特徴としている。
【０００６】
また、前記データ削除部の第２の削除処理において、前記所定値は全周波数成分の振幅値の最大値から算出される値であることが好ましい。
【０００７】
更に、前記データ削除部は、前記周波数変換部により得られた音声信号の高周波成分の値が低周波成分の値より大きいか否かを判定し、当該音声信号の高周波成分の値が低周波成分の値より大きいと判定された場合に、前記第２の削除処理を実行することが好ましい。
【０００８】
また、前記データ削除部は、前記周波数変換部により得られた音声信号の高周波成分の値が低周波成分の値以下であると判定された場合に、周波数軸上で予め設定された周波数間隔以上離れて存在する高周波成分を削除するとともに、前記第２の削除処理を実行することが好ましい。
【０００９】
本発明に係る音声処理装置は、入力された音声信号をフレームに分割するフレーム化部と、前記フレーム化部により得られたフレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整するレベル調整部と、前記レベル調整部によりレベルが調整された音声信号に対し、周波数変換を施す周波数変換部と、前記周波数変換により得られた音声信号に対し、ベクトル量子化を施すベクトル量子化部と、前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施すエントロピー符号化部と、前記エントロピー符号化部により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定する判定部と、前記判定部により、前記エントロピー符号化部により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、エネルギーが所定値以下の帯域の周波数成分を削除する第１の削除処理と、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除する第２の削除処理を行うデータ削除部と、を備えることを特徴としている。
【００１０】
また、前記データ削除部は、前記周波数変換部により得られた音声信号の高周波成分の値が低周波成分の値より大きいか否かを判定し、当該音声信号の高周波成分の値が低周波成分の値以下であると判定された場合に、当該高周波成分の中から、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除することが好ましい。
【００１１】
更に、前記データ削除部は、前記周波数変換部により得られた音声信号における各周波数成分の対数を演算し、高周波成分における対数の和と、低周波成分における対数の和を比較することによって、当該音声信号の高周波成分の値が低周波成分の値より大きいか否かを判定することが好ましい。
【００１２】
また、前記データ削除部は、前記レベル調整部によりレベルが調整された音声信号を、高域通過フィルタと低域通過フィルタにより高周波成分と低周波成分に分離し、当該高域通過フィルタと低域通過フィルタにより得られた高周波成分の値が低周波成分の値より大きいか否かを判定することが好ましい。
【００１３】
本発明に係る音声符号化方法は、入力された音声信号をフレームに分割し、フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、レベルが調整された音声信号に対し、周波数変換を施し、前記周波数変換により得られた音声信号に対し、ベクトル量子化を施し、前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施し、前記エントロピー符号化により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、前記エントロピー符号化により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、当該音声信号の中から、エネルギーが所定値以下の帯域の周波数成分を削除し、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除することを特徴としている。
【００１４】
本発明に係る音声符号化方法は、入力された音声信号をフレームに分割し、フレーム毎に、フレームに含まれる音声信号の振幅の最大値に基づいて音声信号のレベルを調整し、レベルが調整された音声信号に対し、周波数変換を施し、前記周波数変換により得られた音声信号に対し、ベクトル量子化を施し、前記ベクトル量子化により得られた音声信号に対し、エントロピー符号化を施し、前記エントロピー符号化により得られた音声信号のデータ量が、予め設定された目標データ量より大きいか否かを判定し、前記エントロピー符号化により得られた音声信号のデータ量が前記目標データ量より大きいと判定された場合、エネルギーが所定値以下の帯域の周波数成分を削除し、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除することを特徴としている。
【発明の効果】
【００１５】
本発明によれば、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除することで、入力された音声信号に含まれる雑音を軽減させることができる。
【００１６】
また、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除することにより、入力された音声信号に含まれる雑音を軽減させることができる。
【発明を実施するための最良の形態】
【００１７】
以下、図面を参照して、本発明の実施形態について詳細に説明する。
まず、本実施形態における構成について説明する。
【００１８】
図１は、本発明の実施形態の音声処理装置１００の構成を示すブロック図である。音声処理装置１００は、図１に示すように、Ａ／Ｄ変換部１、ＤＣ（Direct Current）除去部２、フレーム化部３、レベル調整部４、周波数変換部５、周波数並べ替え部６、ベクトル量子化部７、エントロピー符号化部８、レートコントローラ９、データ削除部１０により構成される。
【００１９】
Ａ／Ｄ変換部１は、入力された音声アナログ信号をデジタル信号に変換し、ＤＣ除去部２に出力する。サンプリング周波数は、16kHz程度が望ましいが、11.025kHz、22.05kHz等でもかまわない。
【００２０】
ＤＣ除去部２は、Ａ／Ｄ変換部１から入力された音声信号の直流成分を除去し、フレーム化部３に出力する。音声信号の直流成分を除去するのは、直流成分が音質にほとんど無関係であることによる。直流成分の除去は、例えば、高域通過フィルタによって実現することができる。高域通過フィルタには、例えば、式（１）で表されるものがある。
【数１】
2005345707.tif 000003
【００２１】
フレーム化部３は、ＤＣ除去部２から入力された信号を、圧縮の処理単位であるフレームに分割し、レベル調整部４に出力する。ここで、１つのフレームには、１つ以上、好ましくは４つ以上のブロックが含まれる長さにする。１ブロックは、１回のＭＤＣＴ（Modified Discrete Cosine Transform：変形離散コサイン変換）を行う単位であり、ＭＤＣＴの次数分の長さを有する。以下、１フレームを構成する各ブロックをＭＤＣＴブロックと呼ぶことにする。図２に、入力信号と各フレームとの関係を示し、図３に、１フレームと各ＭＤＣＴブロックとの関係を示す。図３に示すように、各ＭＤＣＴブロックは直前のＭＤＣＴブロックと、ＭＤＣＴブロックの半分の長さの重複部分を有する。また、図２に示すように、各フレームは、直前のフレームと、ＭＤＣＴブロックの半分の長さの重複部分を有する。
【００２２】
レベル調整部４は、フレーム毎に、入力された音声信号のレベル調整を行い、レベル調整された信号を周波数変換部５に出力する。レベル調整とは、１フレーム中に含まれる信号の振幅の最大値を、指定されたビット（以下、制圧目標ビット）数に収まるようにすることである。レベル調整は、例えば、１フレーム中の信号の最大振幅をｎbit、制圧目標ビット数をＮとすると、フレーム中の信号を全て、式（２）を満たすshift_bit数分ＬＳＢ（Least Significant Bit：最下位ビット）側にシフトすることによって実現できる。
【数２】
2005345707.tif 000004
音声再生時には、振幅が制圧目標ビット以下に制圧された信号を元に戻す必要があるため、shift_bitを表す信号を、音声圧縮信号の一部として出力する。
【００２３】
周波数変換部５は、レベル調整部４から入力された信号に対し周波数変換を施し、周波数並べ替え部６に出力する。本実施形態では、周波数変換としてＭＤＣＴ（Modified Discrete Cosine Transform：変形離散コサイン変換）を用いる場合を示す。ＭＤＣＴブロックの長さをＭ、入力信号を｛ｘn｜n=0,…,M-1｝とすると、ＭＤＣＴ係数｛Ｘk｜n=0,…,M-1｝は式（３）で表される。
【数３】
2005345707.tif 000005
ここで、ｈnは窓関数であり、式（４）で表される。
【数４】
2005345707.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の算出式を式（５）に示す。
【数５】
2005345707.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｜2が最小の帯域を削除するとともに、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除し、また、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除する帯域データ削除処理を実行する（図１０〜図１２参照）。周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分とは、周波数成分の振幅値の絶対値が所定値以上であり、かつ周波数軸上で隣り合う周波数成分の値が０である帯域の周波数成分を示す。そして、データ削除部１０は、帯域データ削除処理後の音声信号をエントロピー符号化部８に出力し、再度、エントロピー符号化を要求する。帯域データ削除処理については、後に図１０〜図１２を参照して詳細に説明する。
【００３１】
〈エントロピー符号化〉
以下では、本実施形態で適用されるエントロピー符号化の例として、ハフマン符号化、レンジコーダによる符号化について説明する。
【００３２】
（ハフマン符号化）
ハフマン符号化とは、出現頻度の高い記号には短い符号を割り当て、出現頻度の低い記号には長い符号を割り当てることで、全体のデータ量を圧縮する方式である。例えば、４つの記号｛ａ、ｂ、ｃ、ｄ｝からなる１００文字のデータがあったとする。全ての記号に同じ長さの２進数の符号（固定長符号）を割り当てる場合、４つの記号を表すには２ビットが必要であるため、１００文字のデータ量は、２[bit]×１００＝２００[bit]となる。
【００３３】
ハフマン符号化では、各記号の出現頻度に応じて２進数の符号が割り当てられる。図４に、１００文字のデータ中の各記号ａ、ｂ、ｃ、ｄの出現頻度が、それぞれ、１０、７０、１、１９である場合に各記号に割り当てられた２進数の符号の例を示す。図４に示すように、記号ａ、ｂ、ｃ、ｄに、それぞれ、符号１００、０、１０１、１１が割り当てられた場合、１００文字のデータ量は、３[bit]×１０＋１[bit]×７０＋３[bit]×１＋２[bit]×１９＝１４１[bit]となり、データ量は、固定長符号のデータ量の７０％に圧縮される。
【００３４】
（レンジコーダによる符号化）
符号化前の元信号に含まれる記号の集合をＳ＝｛si|i=1,…,n｝とし、各記号siの出現確率をｐiとする。また、元信号に含まれる各記号siを予め決められた順番に並べ替えた記号列｛s1、s2、…、sn｝において、記号sk（ｋ≧２）より前に並んでいる各記号の出現確率の合計をＧkとする。即ち、Ｇkは、式（６）のように表される。
【数６】
2005345707.tif 000008
【００３５】
レンジコーダによる符号化では、記号毎に出現確率ｐ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は、それぞれ、式（９）、式（１０）のように表される。
【数７】
2005345707.tif 000009
【数８】
2005345707.tif 000010
【００４１】
エントロピー符号化部８は、入力された信号に幅range及び下限lowを設定するためのテーブルとして、図６に示すような生起確率テーブル８１を有する。生起確率テーブル８１は、図６に示すように、各記号毎に、出現頻度ｇi、出現確率ｐi、Ｇiの各項目を対応付けて格納している。Ｇiの定義は、式（６）で示したとおりである。
【００４２】
エントロピー符号化部８に符号化対象の信号skが入力されたときに設定される幅をrange'、下限をlow'とし、その信号skの１つ前の信号が入力されたときに設定された幅をrange、下限をlowとすると、幅range'、下限low'は、それぞれ、式（１１）、式（１２）のように表される。
【数９】
2005345707.tif 000011
【数１０】
2005345707.tif 000012
式（１１）及び式（１２）で算出された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=0,…,N-1]に分離されているとすると、低周波成分の合計ＦL、高周波成分の合計ＦHは、それぞれ、下記の式（１３）、式（１４）のように定義される。
【数１１】
2005345707.tif 000013
ＦH＞ＦLである場合に、高周波成分の多い信号（波形）であると判断される。音の大きさは対数的に感じられるため、式（１３）及び式（１４）に示すように、周波数成分の対数をとって合計することにより、処理対象の音声信号が高周波成分の多い信号であるか否かを確実に判断することができる。
【００５５】
ステップＳ２１において、処理対象の音声信号が高周波成分の多い信号（波形）であると判定された場合（ステップＳ２１；ＹＥＳ）、孤立周波数成分削除処理が行われ（ステップＳ２３）、本帯域データ削除処理が終了する。ステップＳ２３の孤立周波数成分削除処理については、後に図１２を参照して詳細に説明する。
【００５６】
ステップＳ２１において、処理対象の音声信号が高周波成分の少ない信号（波形）であると判定された場合（ステップＳ２１；ＮＯ）、高周波成分の信号のうち、周波数軸上で予め設定された周波数間隔以上離れて存在する周波数成分を削除する高域雑音削除処理が行われる（ステップＳ２２）。ステップＳ２２の高域雑音削除処理については、後に図１１を参照して詳細に説明する。高域雑音削除処理が終了すると、高周波成分以外でもクリップ音が入るのを防ぐために、高域雑音削除処理後の音声信号に対し、孤立周波数成分削除処理が行われ（ステップＳ２３）、本帯域データ削除処理が終了する。
【００５７】
なお、式（１３）及び式（１４）で示した低周波成分と高周波成分との分離は、ＨＰＦ（High Pass Filter：高域通過フィルタ）及びＬＰＦ（Low Pass Filter：低域通過フィルタ）を用いて行うこともできる。この場合、レベル調整部４においてレベル調整された音声信号がデータ削除部１０に出力され、データ削除部１０において、ＬＰＦ及びＨＰＦを用いて、音声信号が以下のように低周波成分及び高周波成分に分離される。レベル調整部４から出力された音声信号を｛ｘn｜n=0,…,M-1｝とすると、低周波成分の合計ＸL、高周波成分の合計ＸHは、それぞれ、下記の式（１５）、式（１６）のように定義される。
【数１２】
2005345707.tif 000014
ＸH＞ＸLである場合に、高周波成分の多い信号（波形）であると判断される。
【００５８】
次に、図１１のフローチャートを参照して、図１０のステップＳ２２に示した高域雑音削除処理について詳細に説明する。以下では、音声信号がＮ個の周波数成分[Ｆ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|＞Ｐを満たす周波数成分を削除することは、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が予め設定された値Ｐより大きい周波数成分を削除することに対応する。
【００６９】
以上のように、本実施形態の音声処理装置１００によれば、周波数軸上で隣り合う周波数成分との振幅値の差の絶対値が所定値より大きい周波数成分を削除することで、音声信号に含まれる雑音を軽減させることができる。
【００７０】
また、処理対象の音声信号の高周波成分の値が低周波成分の値より少ない場合、高周波成分のうち、予め設定された周波数間隔以上離れて存在する周波数成分を削除することにより、音声信号に含まれる雑音を軽減させることができる。
【００７１】
なお、本実施形態における記述内容は、本発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００７２】
例えば、上述の実施形態における各計算は、下記のように、複数組のＭＤＣＴ係数をまとめて処理することが可能である。即ち、Ｋ個のＭＤＣＴブロックがあり、ｐ番目のＭＤＣＴブロックのｉ番目のＭＤＣＴ係数をＸpiとすると、ｉ番目の周波数成分ｂiは、式（１８）のように定義される。
【数１３】
2005345707.tif 000015
式（１８）のｂiを、実施形態における周波数成分Ｆiの代わりに用いることができる。例えば、ｂiが削除対象となった場合は、[Ｘpi|p=0,…,K-1]が削除される。
【図面の簡単な説明】
【００７３】
【図１】本発明の実施形態に係る音声処理装置の構成を示すブロック図。
【図２】入力信号のフレーム分割を示す図。
【図３】１フレームと各ＭＤＣＴブロックの関係を示す図。
【図４】ハフマン符号の一例を示す図。
【図５】従来のレンジコーダによる符号化の一例を示す図。
【図６】本実施形態のレンジコーダ符号化に必要な生起確率テーブル８１のデータ構成を示す図。
【図７】デフォルトの生起確率テーブル８１の一例（同図（ａ））と、符号化の一例（同図（ｂ））を示す図。
【図８】生起確率テーブル８１の更新例を示す図。
【図９】本実施形態の音声処理装置において実行される音声圧縮処理を示すフローチャート。
【図１０】図９に示された帯域データ削除処理の詳細を示すフローチャート。
【図１１】図１０に示された高域雑音削除処理の詳細を示すフローチャート。
【図１２】図１０に示された孤立周波数成分削除処理の詳細を示すフローチャート。
【符号の説明】
【００７４】
１  Ａ／Ｄ変換部
２  ＤＣ除去部
３  フレーム化部
４  レベル調整部
５  周波数変化部
６  周波数並べ替え部
７  ベクトル量子化部
７ａ  高域用ＶＱテーブル
７ｂ  低域用ＶＱテーブル
８  エントロピー符号化部
８１  生起確率テーブル
９  レートコントローラ（判定部）
１０  データ削除部
１００  音声処理装置
【図１】
2005345707.tif 000016
【図２】
2005345707.tif 000017
【図３】
2005345707.tif 000018
【図４】
2005345707.tif 000019
【図５】
2005345707.tif 000020
【図６】
2005345707.tif 000021
【図７】
2005345707.tif 000022
【図８】
2005345707.tif 000023
【図９】
2005345707.tif 000024
【図１０】
2005345707.tif 000025
【図１１】
2005345707.tif 000026
【図１２】
2005345707.tif 000027