(57)【要約】  分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、分析フィルタ処理部２１で実数入力データをＮサンプル毎に分析フィルタ処理を行いＫサンプルの実数データを出力し、このデータに対してＧＤＦＴ・ＳＳＢ変調一括処理部（８１）でＧＤＦＴ処理及びＳＳＢ変調処理を（Ｋ／２）×Ｋ実数行列を用いた実数行列演算で行い１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力する。また、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データに対してＳＳＢ復調・逆ＧＤＦＴ一括処理部（８２）でＳＳＢ復調処理及び逆ＧＤＦＴ処理をＫ×（Ｋ／２）実数行列を用いた実数行列演算で行いＫサンプルの実数データを出力し、このデータに対して合成フィルタ処理部（２４）で合成フィルタ処理を行いＮサンプルの実数データを出力する。
2008123317.tif 000002
【特許請求の範囲】
【請求項１】
入力信号の帯域分割処理を行う信号処理装置において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する分析フィルタ処理手段と、
前記分析フィルタ処理手段から入力されるＫサンプルの実数データに対して、一般化離散フーリエ変換処理であるＧＤＦＴ処理と、単側波帯変調処理であるＳＳＢ変調処理を（Ｋ／２）×Ｋ実数行列とＫ×１実数行列との積演算で一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力するＧＤＦＴ・ＳＳＢ変調一括処理手段と、
を備えたことを特徴とする信号処理装置。
【請求項２】
入力信号の帯域分割処理を行う信号処理装置において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する分析フィルタ処理手段と、
前記分析フィルタ処理手段が出力するＫサンプルの実数データの時間インデックスをｍとした場合の、前記分析フィルタ処理手段からのＫサンプルの実数データｘm（０），ｘm(１），・・・，ｘm（ｋ−１）に対して、周波数オフセットが１／２、時間オフセットがｎ0の一般化離散フーリエ変換処理であるＧＤＦＴ処理と、単側波帯変調処理であるＳＳＢ変調処理とを、式
【数１】
2008123317.tif 000030
で表される（Ｋ／２）×Ｋ実数行列Ｇ１（ｍ）を用いて式
【数２】
2008123317.tif 000031
により一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データＸ0SSB（ｍ），Ｘ1SSB（ｍ），・・・，ＸK/2-1SSB（ｍ）を出力するＧＤＦＴ・ＳＳＢ変調一括処理手段と、
を備えたことを特徴とする信号処理装置。
【請求項３】
前記分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、周期的に表れる８パターンの前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を行うための（Ｋ／２）×Ｋ実数行列を記憶する記憶手段を更に備え、
前記ＧＤＦＴ・ＳＳＢ変調一括処理手段は、前記記憶手段に記憶された（Ｋ／２）×Ｋ実数行列を用いて、前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を一括して行うことを特徴とする請求項１又は請求項２記載の信号処理装置。
【請求項４】
入力信号の帯域合成処理を行う信号処理装置において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの入力毎に、単側波帯復調処理であるＳＳＢ復調処理と一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理をＫ×（Ｋ／２）実数行列と（Ｋ／２）×１実数行列との積演算で一括して行ってＫサンプルの実数データを出力するＳＳＢ復調・逆ＧＤＦＴ一括処理手段と、
前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段から入力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する合成フィルタ処理手段と、
を備えたことを特徴とする信号処理装置。
【請求項５】
入力信号の帯域合成処理を行う信号処理装置において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの時間インデックスをｍとして、その入力毎に前記実数帯域分割データＸ’0SSB（ｍ），Ｘ’1SSB（ｍ），・・・，Ｘ’K/2-1SSB（ｍ）に対して、単側波帯復調処理であるＳＳＢ復調処理と周波数オフセットが１／２、時間オフセットがｎ0の一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理を、式
【数３】
2008123317.tif 000032
で表されるＫ×（Ｋ／２）実数行列Ｇ２（ｍ）を用いて式
【数４】
2008123317.tif 000033
により一括して行い、Ｋサンプルの実数データｘ’m（０），ｘ’m(１），・・・，ｘ’m（ｋ−１）を出力するＳＳＢ復調・逆ＧＤＦＴ一括処理手段と、
前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段から入力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する合成フィルタ処理手段と、
を備えたことを特徴とする信号処理装置。
【請求項６】
前記分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、周期的に表れる８パターンの前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を行うためのＫ×（Ｋ／２）実数行列を記憶する記憶手段を更に備え、
前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段は、前記記憶手段に記憶されたＫ×（Ｋ／２）実数行列を用いて、前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を一括して行うことを特徴とする請求項４又は請求項５に記載の信号処理装置。
【請求項７】
入力信号の帯域分割処理を行う信号処理装置において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する分析フィルタ処理手段と、
前記分析フィルタ処理手段から入力されるＫサンプルの実数データに対して、一般化離散フーリエ変換処理であるＧＤＦＴ処理と、単側波帯変調処理であるＳＳＢ変調処理を（Ｋ／２）×Ｋ実数行列演算で一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力するＧＤＦＴ・ＳＳＢ変調一括処理手段と、
１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの入力毎に、単側波帯復調処理であるＳＳＢ復調処理と一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理を（Ｋ／２）×Ｋ実数行列演算で一括して行ってＫサンプルの実数データを出力するＳＳＢ復調・逆ＧＤＦＴ一括処理手段と、
前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段から入力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する合成フィルタ処理手段と、
を備えたことを特徴とする信号処理装置。
【請求項８】
前記（Ｋ／２）×Ｋ実数行列と前記Ｋ×（Ｋ／２）実数行列とは転置関係にある行列であって、
前記（Ｋ／２）×Ｋ実数行列と前記Ｋ×（Ｋ／２）実数行列との何れか一方を記憶する記憶手段を備え、
前記ＧＤＦＴ・ＳＳＢ変調一括処理手段は、前記記憶された（Ｋ／２）×Ｋ実数行列又はＫ×（Ｋ／２）実数行列を用いて、前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を行い、
前記ＳＳＢ復調・逆ＧＤＦＴ処理一括手段は、前記記憶された（Ｋ／２）×Ｋ実数行列又はＫ×（Ｋ／２）実数行列を用いて、前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を行うことを特徴とする請求項７記載の信号処理装置。
【請求項９】
前記ＧＤＦＴ処理及び前記逆ＧＤＦＴ処理における時間オフセットをｎ0として２ｎ0が整数の場合、前記（Ｋ／２）×Ｋ実数行列と前記Ｋ×（Ｋ／２）実数行列の全要素が、分解能２π／２Ｋのｃｏｓ関数値として表現可能であることを利用し、この分解能２π／２Ｋのｃｏｓ関数をテーブル化して記憶手段にｃｏｓ関数テーブルとして記憶し、
前記ＧＤＦＴ・ＳＳＢ変調一括処理手段は、前記記憶されたｃｏｓ関数テーブルのｃｏｓ関数を用いて前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を行い、また、前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段は、前記記憶されたｃｏｓ関数テーブルのｃｏｓ関数を用いて前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を行うことを特徴とする請求項７記載の信号処理装置。
【請求項１０】
請求項１から請求項９の何れか１項に記載の信号処理装置を、入力信号の帯域分割処理又は帯域合成処理に用いたことを特徴とするエコーキャンセラ。
【請求項１１】
入力信号の帯域分割処理及び帯域合成処理を行う信号処理方法において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する第１のステップと、
前記第１のステップにて出力されるＫサンプルの実数データの時間インデックスをｍとした場合の、Ｋサンプルの実数データｘm（０），ｘm(１），・・・，ｘm（ｋ−１）に対して、周波数オフセットが１／２、時間オフセットがｎ0の一般化離散フーリエ変換処理であるＧＤＦＴ処理と、単側波帯変調処理であるＳＳＢ変調処理を、式
【数５】
2008123317.tif 000034
で表される（Ｋ／２）×Ｋ実数行列Ｇ１(m)を用いて式
【数６】
2008123317.tif 000035
により一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データＸ0SSB（ｍ），Ｘ1SSB（ｍ），・・・，ＸK/2-1SSB（ｍ）を出力する第２のステップと、
前記第２のステップにて出力される１サンプル×（Ｋ／２）チャンネルの実数帯域分割データに対してＫ／２チャンネルの分割帯域毎に信号処理を行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力する第３のステップと、
前記第３のステップにて出力される１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの時間インデックスをｍとして、その入力毎に前記実数帯域分割データＸ’0SSB（ｍ），Ｘ’1SSB（ｍ），・・・，Ｘ’K/2-1SSB（ｍ）に対して、単側波帯復調処理であるＳＳＢ復調処理と一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理を、式
【数７】
2008123317.tif 000036
で表されるＫ×（Ｋ／２）実数行列Ｇ２(m)を用いて式
【数８】
2008123317.tif 000037
により一括して行い、Ｋサンプルの実数データｘ’m(０），ｘ’m(１），・・・，ｘ’m（ｋ−１）を出力する第４のステップと、
前記第４のステップにて出力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する第５のステップと、
を含むことを特徴とする信号処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば自動車内（閉空間）で携帯電話機を使う際に車内での音声反射により生じるエコーを打ち消す等の音声処理を行って通話音声の品質向上を図ることが実施されるが、そのような音声処理に適用可能な帯域分割合成処理を行う信号処理装置、エコーキャンセラ、信号処理方法に関する。
【背景技術】
【０００２】
特許文献１は、図８に示すように、帯域分割処理部１１と、複素数処理を行うエコーキャンセラ処理部１２と、帯域合成処理部１３とを備えた構成の帯域分割型エコーキャンセラに関する出願である。一般に帯域分割・合成は、図９に低域通過信号の周波数特性の一例を示すプロトタイプフィルタと呼ばれる低域通過フィルタを用いた分析／合成フィルタと、図１０（ａ）及び（ｂ）に示すように、ＤＦＴ(Discrete Fourier Transform)／逆ＤＦＴを組み合わせた構成であり、図１１に８分割された周波数帯域Ｂａ１〜Ｂａ８を例示して表現する帯域通過フィルタを構成して行う。但し、破線Ｓａは入力信号の周波数特性を示す曲線である。【０００３】
更に上記図１０の信号処理装置について説明すると、変調側は、（ａ）に示すように、分割数Ｋ及び間引き率Ｎの信号分割処理系列の回路から成る分析フィルタ処理部２１と、ＤＦＴ処理部２２とを備え、復調側は、（ｂ）に示すように、逆ＤＦＴ処理部２３と、分割数Ｋ及び間引き率Ｎの信号合成処理系列の回路から成る合成フィルタ処理部２４とを備えて構成されている。
このような帯域分割型エコーキャンセラにて帯域分割することでエコーキャンセラの収束性が改善される他、各帯域でサンプルを間引くことにより信号の速度を落とし計算量の削減が可能となる。例えば、上記のように分割数をＫ、間引き率をＮ（各帯域でＮ回に１回データをサンプリング）とすると、理論上Ｎは最大Ｋまで増やすことが可能で、この場合、各帯域の信号速度はもとの信号速度の１／Ｋとなる。【０００４】
特許文献１に記載されている方式の欠点は、図８に表すように分割後の信号が複素数となり、帯域分割型エコーキャンセラの場合には、複素数に対応したエコーキャンセラが必要となることである。演算量の見積りの際、便宜上、複素数演算は実数演算の４倍でカウントするが、複素数演算に最適化されていない汎用プロセッサでは、データのロード／ストアなどのオーバーヘッド処理が必要になるため処理量が大幅に増える可能性がある。
そこで、特許文献２では、図１２に示すように、振幅変調において搬送波並びに片方の側波帯を抑圧する変調であるＳＳＢ(Single Side Band：単側波帯)変調と呼ばれる処理を行うＳＳＢ変調処理部３１を追加し、これで分割後の信号を実数化している。但し、ＳＳＢ変調処理部３１の後段には、実数処理を行うエコーキャンセラ処理部３２と、ＳＳＢ復調処理部３３とを備え、この後段に更に前述した帯域合成処理部１３が備えられている。【０００５】
この構成の場合、エコーキャンセラは実数に対応したものでよいが、間引き率の理論上の最大値はＫ／２となり、各帯域の信号速度の低下による演算量削減の効果は小さくなる。また、ＤＦＴの計算式は、分割数をＫとしてＷKを下式（１）のように定義し、入力をｙ（ｎ）、ｎ＝０，…，Ｋ−１、出力をＹk、ｋ＝０，…，Ｋ−１とすると、下式（２）で表わされる。逆ＤＦＴの計算式は、入力をＹk、ｋ＝０，…，Ｋ−１、出力をｙ（ｎ）、ｎ＝０，…，Ｋ−１とすると下式（３）で表わされる。【０００６】
【数１】
2008123317.tif 000003
【０００７】
【数２】
2008123317.tif 000004
【０００８】
【数３】
2008123317.tif 000005
【０００９】
Ｋが２のべき乗の場合にはＦＦＴ(Fast Fourier Transform)が適用可能となり、演算量を削減することができる。
ところで特許文献１、特許文献２に記載の方式はイーブンタイプと呼ばれ、各帯域の中心周波数ωkは、図１１に分割数Ｋ＝８の場合について示すように下式（４）となる。【００１０】
【数４】
2008123317.tif 000006
【００１１】
図１１ではサンプリング周波数を２π、入力信号Ｓａは０からπまでの周波数成分を含む実数として周波数特性を破線で表しているが、このうちイーブンタイプでは０からπまでの入力信号成分（０からπまでの破線部分）をＫ／２である４帯域分Ｂａ１〜Ｂａ４ではうまくカバーできない。つまり、Ｂａ５を入れた５帯域分が必要となる。
一方、オッドタイプと呼ばれる方式では、各帯域の中心周波数は下式（５）となり、Ｋ＝８の場合について図１３に示す。この図においてＢｂ１〜Ｂｂ８が８分割された周波数帯域、破線Ｓａが入力信号の周波数特性を示す曲線である。【００１２】
【数５】
2008123317.tif 000007
【００１３】
オッドタイプでは、４帯域分Ｂｂ１〜Ｂｂ４で０からπまでの入力信号成分（０からπまでの破線部分）を全てカバーでき、性能上イーブンタイプより好ましいことがわかる。オッドタイプは、図１５（ａ）及び（ｂ）に示すように、周波数オフセットｋ0と時間オフセットｎ0を含む下式（６）に基づくＧＤＦＴ(Generalized DFT：一般化離散フーリエ変換)処理を行うＧＤＦＴ処理部５１と、下式（７）に基づく逆ＧＤＦＴ処理を逆ＧＤＦＴ処理部５２の周波数オフセットをｋ0＝１／２とすることにより実現できる。しかしながら、このＧＤＦＴ処理を用いると演算量が大となるため、通常、非特許文献１に記載されている図１４（ａ）及び（ｂ）のようなＤＦＴ処理と逆ＤＦＴ処理部を含む構成が用いられる。即ち、変調側は、（ａ）に示すように、上述した分析フィルタ処理部２１と、ＤＦＴ前処理部４１と、ＤＦＴ処理部４２と、ＤＦＴ後処理部４３とを備え、復調側は、（ｂ）に示すように、逆ＤＦＴ前処理部４４と、逆ＤＦＴ処理部４５と、逆ＤＦＴ後処理部４６と、上述した合成フィルタ処理部２４とを備えて構成されている。【００１４】
このうち、変調側のＤＦＴ前処理部４１とＤＦＴ後処理部４３、復調側の逆ＤＦＴ前処理部４４と逆ＤＦＴ後処理部４６の４つの処理部はそれぞれ、帯域毎の複素乗算処理を含む。また、分割数Ｋが２のべき乗の場合にはＤＦＴ処理部４２、逆ＤＦＴ処理部４５にはＦＦＴが適用可能となり、演算量を削減することができる。【００１５】
【数６】
2008123317.tif 000008
【００１６】
【数７】
2008123317.tif 000009
【特許文献１】特開平０３−２４３０２０号公報
【特許文献２】特許第３３９１１４４号
【非特許文献１】S.Weiss. Analysis and Fast Implementation of Oversampled Modulated Filter Banks, Chapter 23 in John G McWhirter and Ian K. Proudler (eds.): Mathematics in Signal Processing V, IMA, Oxford University Press, pp.263-274, March 2002.
【発明の開示】
【００１７】
ところで、オッドタイプで実数型の帯域分割型エコーキャンセラを被実装装置に実装する場合、ＧＤＦＴ処理部とＳＳＢ変調処理部とを接続することになるが、ＧＤＦＴ処理を用いると演算量が大となるので、一般的には演算量の少ない非特許文献１のＦＦＴ処理を用いたオッドタイプが用いられている。この信号処理装置は、図１６（ａ）及び（ｂ）に示すように、上記図１４の構成に加え、変調側のＤＦＴ後処理部４３の後段にＳＳＢ変調処理部６１を接続し、復調側の逆ＤＦＴ前処理部４４の前段にＳＳＢ復調処理部６２を接続した構成となる。なお、図１６において、処理ブロック上下と処理ブロック右側に示されているのはそれぞれ、分割数：Ｋ、間引き率：Ｎ、サンプリング周波数：２π、分析フィルタ処理部２１入力：π以下の周波数成分からなる実数、ＳＳＢ変調処理部６１出力とＳＳＢ復調処理部６２入力のチャネル数：Ｋ／２、という前提条件で算出した、各ブロックへ入出力されるデータタイプと数、各ブロックで行われる処理の内容と回数である。
【００１８】
しかし、非特許文献１記載の処理方法は、組込み用の汎用プロセッサなど、１６ビット固定小数点プロセッサが実装ターゲットの場合、演算精度が劣化する可能性が生じる問題がある。
例えば、プロセッサの基本アーキテクチャが図１７に示すように、１６ビット幅のデータメモリ部７１と、αをガードビットとしてアキュームレータ（３２＋α）ビットに１６ビット×１６ビットの乗算結果を累積する積和演算部７２と、アキュームレータ中の積和演算結果（３２＋α）ビットから適当な１６ビットを取り出すシフト・丸め処理部７３とを備えて構成されているものとする。
【００１９】
この場合、３２ビットのままではデータメモリ部７１に記憶できないので、シフト・丸め処理部７３によって（３２＋α）ビットを１６ビットに丸める処理が行われ、これがＦＦＴ段数＋２（前処理と後処理）回発生する。この発生回数、即ちデータメモリ部７１、積和演算部７２及びシフト・丸め処理部７３を何回も巡回して演算すると、巡回の都度桁落ちが発生するため、場合によっては十分な演算精度を確保することができない。
本発明は、このような課題に鑑みてなされたものであり、オッドタイプで実数型の帯域分割合成処理を行う際に、リアルタイム音声処理をアプリケーションとした場合に、極力少ない演算量で、固定小数点化による演算精度劣化が殆ど発生しないようにすることができる信号処理装置、エコーキャンセラ、信号処理方法を提供することを目的としている。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施の形態に係る信号処理装置の構成を示すブロック図である。
【図２】分割数１６、間引き率４の場合について、オッドタイプの帯域分割処理前後の周波数の対応関係をチャネル別に示したグラフである。
【図３】分割数１６、間引き率４の場合について、ＳＳＢ変調処理を含めたオッドタイプの帯域分割処理前後の周波数の対応関係をチャネル別に示したグラフである。
【図４】本実施の形態の特徴の１つである行列式に当て嵌めるｃｏｓ関数値を持つｃｏｓ関数テーブルの図である。
【図５】従来法と本実施の形態による帯域分割処理方法である本願法との演算量を比較したグラフである。
【図６】従来法と本願法との丸め回数を比較したグラフである。
【図７】従来法と本願法の固定小数点化による歪の大きさを比較したグラフである。
【図８】特許文献１に記載の帯域分割型エコーキャンセラの構成を示すブロック図である。
【図９】プロトタイプフィルタ周波数特性の一例を示す図である。
【図１０】（ａ）はイーブンタイプの帯域分割処理用の信号処理装置の構成を示すブロック図、（ｂ）はイーブンタイプの帯域合成処理用の信号処理装置の構成を示すブロック図である。
【図１１】分割数Ｋ＝８の場合についてイーブンタイプの帯域分割処理を行った場合の、各帯域の中心周波数ωkを示した図である。
【図１２】特許文献２に記載の帯域分割型エコーキャンセラの構成を示すブロック図である。
【図１３】分割数Ｋ＝８の場合についてオッドタイプの帯域分割処理を行った場合の、各帯域の中心周波数ωkを示した図である。
【図１４】（ａ）はＦＦＴが適用可能なオッドタイプの帯域分割処理用の信号処理装置の構成を示すブロック図、（ｂ）はＦＦＴが適用可能なオッドタイプの帯域合成処理用の信号処理装置の構成を示すブロック図である。
【図１５】（ａ）は図１４（ａ）のＤＦＴ前処理部、ＤＦＴ処理部及びＤＦＴ後処理部の３つをＧＤＦＴ処理部に置換した際の構成を示すブロック図、（ｂ）は図１４（ｂ）の逆ＤＦＴ前処理部、逆ＤＦＴ処理部及び逆ＤＦＴ後処理部の３つを逆ＧＤＦＴ処理部に置換した際の構成を示すブロック図である。
【図１６】（ａ）は従来のオッドタイプの帯域分割処理用の信号処理装置の構成を示すブロック図、（ｂ）は従来のオッドタイプの帯域合成処理用の信号処理装置の構成を示すブロック図である。
【図１７】１６ビット固定小数点プロセッサの基本アーキテクチャの一例を示すブロック図である。
【図１８】本発明の実施の形態に係る信号処理装置の、その他の構成を示すブロック図である。
【符号の説明】
【００２１】
２１  分析フィルタ処理部
２２  ＤＦＴ処理部
２３  逆ＤＦＴ処理部
２４  合成フィルタ処理部
３１  ＳＳＢ変調処理部
３２  エコーキャンセラ処理部
３３  ＳＳＢ復調処理部
４１  ＤＦＴ前処理部
４２  ＤＦＴ処理部
４３  ＤＦＴ後処理部
４４  逆ＤＦＴ前処理部
４５  逆ＤＦＴ処理部
４６  逆ＤＦＴ後処理部
５１  ＧＤＦＴ処理部
５２  逆ＧＤＦＴ処理部
６１  ＳＳＢ変調処理部
６２  ＳＳＢ復調処理部
７１  データメモリ部
７２  積和演算部
７３  シフト・丸め処理部
８１  ＧＤＦＴ・ＳＳＢ変調一括処理部
８２  ＳＳＢ復調・逆ＧＤＦＴ一括処理部
８３  第１の記憶部
８４  第２の記憶部
８５  記憶部
９１  ｃｏｓ関数テーブル
１０１  従来法
１０２  本願法
【発明を実施するための最良の形態】
【００２２】
以下、本発明の実施の形態を、図面を参照して説明する。但し、本明細書中の全図において相互に対応する部分には同一符号を付し、重複部分においては後述での説明を適時省略する。
図１は、本発明の実施の形態に係る信号処理装置の構成を示し、（ａ）は変調側の信号処理装置、（ｂ）は復調側の信号処理装置の構成を示すブロック図である。
図１に示す信号処理装置は、（ａ）に示すように変調側（帯域分割処理側）に、分析フィルタ処理部２１と、ＧＤＦＴ・ＳＳＢ変調一括処理部８１と、ＧＤＦＴ・ＳＳＢ変調一括処理用（Ｋ／２）×Ｋ実数行列を記憶する第１の記憶部８３とを備え、（ｂ）に示すように復調側（帯域合成処理側）に、ＳＳＢ復調・逆ＧＤＦＴ一括処理部８２と、合成フィルタ処理部２４と、ＳＳＢ復調・逆ＧＤＦＴ一括処理用Ｋ×（Ｋ／２）実数行列を記憶する第２の記憶部８４とを備えて構成されている。但し、分割数Ｋ、間引き率ＮでＫ＝４Ｎ、入力信号は実数で、サンプリング周波数を２πとしたときに含まれる周波数成分はπ以下とする。また、本実施の形態では、本信号処理装置がエコーキャンセラに適用されることを前提とする。【００２３】
図１（ａ）に示す変調側の信号処理装置で帯域分割処理を行う場合において、分析フィルタ処理部２１で、実数入力データＮサンプル毎に分析フィルタ処理を行ってＫサンプル実数データを出力し、次に、ＧＤＦＴ・ＳＳＢ変調一括処理部８１で、そのＫサンプル実数データと、第１の記憶部８３にあらかじめ計算して記憶されたＧＤＦＴ・ＳＳＢ変調一括処理用（Ｋ／２）×Ｋ実数行列を入力として、ＧＤＦＴ処理とＳＳＢ変調処理を（Ｋ／２）×Ｋ実数行列とＫ×１実数行列との積演算で一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力するようになっている。【００２４】
図１（ｂ）に示す帯域合成処理用の信号処理装置は、ＳＳＢ復調・逆ＧＤＦＴ一括処理部８２で、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データと、第２の記憶部８４にあらかじめ計算して記憶されたＳＳＢ復調・逆ＧＤＦＴ一括処理用Ｋ×（Ｋ／２）実数行列を入力として、ＳＳＢ復調処理と逆ＧＤＦＴ処理をＫ×（Ｋ／２）実数行列と（Ｋ／２）×１実数行列との積演算で一括して行い、実数Ｋサンプルを出力し、次に、合成フィルタ処理部２４で、その実数Ｋサンプルを入力として合成フィルタ処理を行ってＮサンプルを出力するようになっている。
［分割数Ｋ、間引き率Ｎ＝Ｋ／４の場合のＧＤＦＴ処理とＳＳＢ変調処理用行列の例］
このような構成において、最初に、図１（ａ）に示す帯域分割処理用の信号処理装置における分割数Ｋ、間引き率Ｎ＝Ｋ／４の場合のＧＤＦＴ処理とＳＳＢ変調処理用行列の例について説明する。【００２５】
まず、ＳＳＢ変調処理について説明する。
図２は、分割数１６、間引き率４の場合に、ｘ軸に示す１００Ｈｚから３９００Ｈｚまで１００Ｈｚ刻みの８ｋＨｚサンプリングシングルトーン信号について、帯域分割処理前後（ｘ，ｚ）の周波数の対応関係をｙ軸にチャネル（ｃｈ）１からチャネル（ｃｈ）８までについて示したグラフである。即ち、ｘ軸は帯域分割処理前のFullband（フルバンド）のシングルトーン信号周波数、ｚ軸は帯域分割処理後のSubband（サブバンド）のシングルトーン信号周波数、ｙ軸は周波数チャネルである。【００２６】
分析フィルタ処理部２１では、オッドタイプの帯域分割処理のため、中心周波数は、ｘ軸に示すように、２５０Ｈｚから３７５０Ｈｚまで５００Ｈｚおきに配置され、０から４ｋＨｚの周波数帯域が８周波数チャネル（ｃｈ０１〜ｃｈ０８）ですべてカバーされていることがわかる。ただし、帯域分割処理後の中心周波数も各周波数チャネルで異なっている。
ＧＤＦＴ・ＳＳＢ変調一括処理部８１によるＳＳＢ変調処理は、帯域分割処理後の中心周波数をπ／２にそろえる処理で、図２に適用した例を図３に示す。この場合、間引き率４であるから帯域分割処理後の信号は８／４＝２ｋＨｚサンプリングとなり、π／２は２ｋＨｚ／４＝５００Ｈｚとなる。【００２７】
ｍを帯域分割処理後の時間インデックスとし、ＳＳＢ変調処理前の複素数信号をＸkGDFT（ｍ）、ＳＳＢ変調処理後の実数信号をＸkSSB（ｍ）とすると、ＸkSSB（ｍ）は次式（８）のように表わすことができる。【００２８】
【数８】
2008123317.tif 000010
【００２９】
更に、分析フィルタ処理部２１による分析フィルタ処理後の実数信号をｘm（ｒ）とするとＸkGDFT（ｍ）は下式（９）となるので、これを上式（８）に代入してＸkSSB（ｍ）は下式（１０）で計算できる。【００３０】
【数９】
2008123317.tif 000011
【００３１】
【数１０】
2008123317.tif 000012
【００３２】
Ｇ1（ｍ）を（Ｋ／２）行Ｋ列の行列として、上式（１０）を行列計算の形で表現したのが下式（１１）である。ここでｘm（ｒ）、ｒ＝０，…，Ｋ−１をＸkSSB（ｍ）、ｋ＝０，…，Ｋ／２−１に変換する行列Ｇ1（ｍ）は下式（１２）となる。【００３３】
【数１１】
2008123317.tif 000013
【００３４】
【数１２】
2008123317.tif 000014
【００３５】
従って、上式（１１）の行列計算により、ＧＤＦＴ・ＳＳＢ変調一括処理部８１のＧＤＦＴ処理とＳＳＢ変調処理を一括して行うことができる。
また、上式（１２）において、ｍが８の倍数になると、ｃｏｓ関数内の式の第２項が２πの整数倍となるため、ｍ'を下式（１３）のように定義すると、Ｇ1（ｍ）とＧ1（ｍ'）の間には下式（１４）の関係が成立つ。ここで、ｍｏｄ（数値、除数）は、数値を除数で割ったときの余りを返す関数である。【００３６】
【数１３】
2008123317.tif 000015
【００３７】
【数１４】
2008123317.tif 000016
【００３８】
従って、Ｇ1（ｍ'）、ｍ'＝０，…，７を予め計算して記憶しておけば、上式（１１）に必要な演算量は、Ｋ×（Ｋ／２）回の実数積和演算のみとなる。
［分割数Ｋ、間引き率Ｎ＝Ｋ／４の場合のＳＳＢ復調処理と逆ＧＤＦＴ処理用行列の例］
次に、図１（ｂ）に示す復調側の信号処理装置で帯域合成処理を行う場合において、分割数Ｋ、間引き率Ｎ＝Ｋ／４の場合のＳＳＢ復調処理と逆ＧＤＦＴ処理用行列の例について説明する。【００３９】
ＳＳＢ復調・逆ＧＤＦＴ一括処理部８２によるＳＳＢ復調処理前の実数信号をＸ’kSSB（ｍ）、ＳＳＢ復調処理後の複素数信号をＸ’kGDFT（ｍ）とすると、Ｘ’kGDFT（ｍ）は下式（１５）のように表わすことができる。【００４０】
【数１５】
2008123317.tif 000017
【００４１】
更に、合成フィルタ処理前の実数信号をｘ’m（ｓ）とするとＸ’kGDFT（ｍ）は下式（１６）となるので、これに上式（１５）を代入することでｘ’m（ｓ）は下式（１７）で計算できる。【００４２】
【数１６】
2008123317.tif 000018
【００４３】
【数１７】
2008123317.tif 000019
【００４４】
Ｇ2（ｍ）をＫ行（Ｋ／２）列の行列として、上式（１７）を行列計算の式で表現したのが下式（１８）である。ここでＸ’kSSB（ｍ）、ｋ＝０，…，Ｋ／２−１をｘ’m（ｓ）、ｓ＝０，…，Ｋ−１に変換する行列Ｇ2（ｍ）は下式（１９）となる。【００４５】
【数１８】
2008123317.tif 000020
【００４６】
【数１９】
2008123317.tif 000021
【００４７】
従って、上式（１８）の行列計算により、ＳＳＢ復調処理と逆ＧＤＦＴ処理を一括して行うことができる。
また、上式（１９）において、ｍが８の倍数になると、ｃｏｓ関数内の式の第２項が２πの整数倍となるため、上式（１３）で定義したｍ'を用いると、Ｇ2（ｍ）とＧ2（ｍ'）の間には次式（２０）の関係が成立つ。【００４８】
【数２０】
2008123317.tif 000022
【００４９】
従って、Ｇ2（ｍ'）、ｍ'＝０，…，７を予め計算して記憶しておけば、式（１７）に必要な演算量は、（Ｋ／２）×Ｋ回の実数積和演算のみとなる。
更に、上式（１８）の行列Ｇ2（ｍ）は上式（１２）の行列Ｇ1（ｍ）と転置行列であるので、行列Ｇ1（ｍ'）、ｍ'＝０，…，７又は行列Ｇ2（ｍ'）、ｍ'＝０，…，７のどちらかを記憶しておけばよい。すなわち、図１８に示すように、第１の記憶部８３及び第２の記憶部８４に替えて、ＧＤＦＴ・ＳＳＢ変調一括処理部８１及びＳＳＢ復調・逆ＧＤＦＴ一括処理部８２で共用の記憶部８５を設ける。そしてこの記憶部８５に、行列Ｇ1（ｍ'）、ｍ'＝０，…，７又は行列Ｇ2（ｍ'）、ｍ'＝０，…，７のどちらかを記憶しておき、ＧＤＦＴ・ＳＳＢ変調一括処理部８１及びＳＳＢ復調・逆ＧＤＦＴ一括処理部８２では、この記憶部８５に記憶された行列Ｇ1（ｍ'）又は行列Ｇ2（ｍ'）を用い、必要に応じて転置させて演算を行えばよい。このようにすることによって、記憶容量を削減することができる。【００５０】
また、行列Ｇ1（ｍ'）のｋ行ｓ列目の要素をｇ1（ｋ，ｓ，ｍ'）、行列Ｇ2（ｍ'）のｓ行ｋ列目の要素をｇ2（ｓ，ｋ，ｍ'）とすると、ｇ1（ｋ，ｓ，ｍ'）、ｇ2（ｓ，ｋ，ｍ'）はそれぞれ次の式（２１）、式（２２）のように表される。【００５１】
【数２１】
2008123317.tif 000023
【００５２】
【数２２】
2008123317.tif 000024
【００５３】
ここで、時間オフセットｎ0を、２ｎ0が整数となるように選ぶと、上式（２１）、式（２２）のｃｏｓ関数中の第１項のｎ0以外は全て整数となるので、ｇ1（ｋ，ｓ，ｍ'）及びｇ2（ｓ，ｋ，ｍ'）は、下式（２３）に示す２Ｋ個のｃｏｓ関数値のいずれかの値をとる。【００５４】
【数２３】
2008123317.tif 000025
【００５５】
従って、行列Ｇ1（ｍ'）、ｍ'＝０，…，７又は行列Ｇ2（ｍ'），ｍ'＝０，…，７の代わりに、図４に示すｃｏｓ関数テーブル９１を予め計算して作成し、これを第１の記憶部８３及び第２の記憶部８４のそれぞれに記憶しておくことで、上記の式（１１）及び式（１８）に用いることができる。このようにすることによって、行列を記憶する場合に比較して記憶容量を大幅に削減することができる。
例えば、時刻ｍにおいて上式（１１）を計算するために行列Ｇ1（ｍ'）のｋ行目の成分が必要な場合には、上式（１３）からｍ'、下式（２４）からＳｔａｒｔＯｆｆｓｅｔ1（ｋ，ｍ'）、下式（２５）からＳｔｅｐＳｉｚｅ1(ｋ)をそれぞれ求めて、ｃｏｓ関数テーブル９１の先頭からＳｔａｒｔＯｆｆｓｅｔ1（ｋ，ｍ'）番目からＳｔｅｐＳｉｚｅ1(ｋ)おきにＫ個データをとってくればよい。【００５６】
【数２４】
2008123317.tif 000026
【００５７】
【数２５】
2008123317.tif 000027
【００５８】
ここで、ＳｔａｒｔＯｆｆｓｅｔ1（ｋ，ｍ'）とＳｔｅｐＳｉｚｅ1(ｋ)は共に整数で、その値が正の場合はｃｏｓ関数テーブル９１の下方向に進み、負の場合には上方向に進むものとする。また、ｃｏｓ関数テーブル９１の下端を越えてしまったときは上端に戻り、逆にｃｏｓ関数テーブル９１の上端を越えてしまったときは下端に戻るものとする。ｃｏｓ関数テーブル９１の下端及び上端を越えないように、複数周期分のｃｏｓ関数テーブル９１を連結して記憶しておいてもよい。【００５９】
時刻ｍにおいて上式（１８）を計算するために行列Ｇ2（ｍ'）のｓ行目の成分が必要な場合も同様に、上式（１３）からｍ'、下式（２６）からＳｔａｒｔＯｆｆｓｅｔ2（ｓ、ｍ'）、下式（２７）からＳｔｅｐＳｉｚｅ2(ｓ，ｍ')をそれぞれ求めて、ｃｏｓ関数テーブル９１の先頭からＳｔａｒｔＯｆｆｓｅｔ2（ｓ，ｍ'）番目からＳｔｅｐＳｉｚｅ2(ｓ，ｍ')おきにＫ／２個データをとってくればよい。【００６０】
【数２６】
2008123317.tif 000028
【００６１】
【数２７】
2008123317.tif 000029
【００６２】
行列Ｇ1（ｍ'）、ｍ'＝０，…，７又は行列Ｇ2（ｍ'）、ｍ'＝０，…，７のどちらかを記憶する場合、４Ｋ2ワードのメモリを必要とするのに対して、ｃｏｓ関数テーブル９１を記憶する場合は、ＳｔａｒｔＯｆｆｓｅｔ1（ｋ，ｍ'）、ＳｔｅｐＳｉｚｅ１(ｋ)、ＳｔａｒｔＯｆｆｓｅｔ2（ｓ，ｍ'）、ＳｔｅｐＳｉｚｅ2(ｓ，ｍ')全てふくめても２２．５Ｋワードとなり、前記の行列を記憶する場合に比べ必要なメモリ量は、分割数Ｋ＝１６のとき３５％、分割数Ｋ＝１６のとき１８％、と大幅に削減できる。【００６３】
なお、この場合も、図１８に示すように、第１の記憶部８３及び第２の記憶部８４に替えて、共用の記憶部８５を設け、この記憶部８５に、図４に示すｃｏｓ関数テーブル９１を記憶しておき、ＤＦＴ・ＳＳＢ変調一括処理部８１及びＳＳＢ復調・逆ＧＤＦＴ一括処理部８２では、この記憶部８５に記憶されたｃｏｓ関数テーブル９１を利用して演算を行うようにしてもよい。このようにすることによって、さらに記憶容量の削減を図ることができる。
［分割数Ｋ、間引き率Ｎ＝Ｋ／４の場合の演算量と固定小数点化した場合の演算精度］
次に、本実施の形態の信号処理装置において、分割数Ｋ、間引き率Ｎ＝Ｋ／４の場合の演算量と固定小数点化した場合の演算精度について説明する。【００６４】
図５は、入力信号のサンプリング周波数が８ｋＨｚ、分割数Ｋ、間引き率Ｎ＝Ｋ／４とした場合の帯域分割合成処理に必要な演算量[MIPS]（下記の従来法と本願法で共通な分析フィルタ処理と合成フィルタ処理は除く）と帯域分割数Ｋの関係を、図１６（ａ）及び（ｂ）に示す非特許文献１にもとづく信号処理装置にてＦＦＴ処理を使用する従来のオッドタイプで実数型の帯域分割合成処理を行う従来法１０１と、図１（ａ）及び（ｂ）に示す信号処理装置にて帯域分割合成処理を行う本願法１０２とについて示したグラフである。【００６５】
ここで、演算量はＭＩＰＳ（Million Instructions Per Second）で表し、複素数と複素数の積和演算は実数と実数の積和演算の４倍、複素数と実数の積和演算は実数と実数の積和演算の２倍、複素数と複素数の積和演算で実数部のみ取り出す場合は実数と実数の積和演算の２倍としている。
またここで、帯域分割数Ｋを１６、３２、６４としている理由について説明する。
一般に帯域分割数Ｋを大きくすればするほど、理論的には分割処理による効果も大きくなる。即ち、エコーキャンセラの場合は収束性が改善され、間引き率Ｎも大きくとれるようになるため計算量削減が可能となる。しかしながら実際には、各帯域境界において生じるクロストークと呼ばれる隣接帯域への干渉が合成波形の歪を引き起こすため、際限なく分割数Ｋを大きくすることはできない。【００６６】
また、帯域分割数Ｋを大きくするほど高次で急峻な分析フィルタ及び合成フィルタが必要となり、遅延時間も長くなるため、リアルタイム処理が必要なアプリケーションでは問題となる。仮に、８ｋＨｚサンプリングの信号に対して、分析フィルタ及び合成フィルタに次数が帯域分割数Ｋの二乗のＦＩＲ(Finite Impulse Response)フィルタを用いると、遅延時間は、Ｋ＝８で８ｍＳ（６４次）、Ｋ＝１６で３２ｍＳ（２５６次）、Ｋ＝３２で１２８ｍＳ（１０２４次）、Ｋ＝６４で５１２ｍＳ（４０９６次）となり、Ｋ＝１６か３２が現実的な分割数となる。【００６７】
なお、フィルタのタイプや係数を工夫することにより次数削減の可能性もあるが、それでも音声のリアルタイム処理が必要なアプリケーションでは、Ｋ＝６４まで考慮すれば十分と判断し、それ以上の分割数については省略している。
図５に示すように、本願法１０２は、Ｋ＝６４において従来法１０１より若干多くなっているものの、Ｋ＝１６において従来法１０１の約４０％、Ｋ＝３２において従来法１０１の約６０％と、殆どの場合において、演算量が大幅に削減されていることがわかる。【００６８】
また図６は、図１７に示したプロセッサを前提にした固定小数点演算化した場合の帯域分割合成処理で発生する例えば（３２＋α）ビットを１６ビットに丸める処理である丸め回数（上記の従来法１０１と本願法１０２で共通な分析フィルタ処理と合成フィルタ処理は除く）を、帯域分割数Ｋ＝１６、３２、６４について比較したグラフである。
図６に示すように、本願法１０２は、Ｋ＝１６において従来法１０１の１／７、Ｋ＝３２において従来法１０１の１／８、Ｋ＝６４において従来法１０１の１／９と、全ての場合において、丸め回数が大幅に削減されていることがわかる。【００６９】
次に、この丸め回数の差が、固定小数点化した際の演算精度にどのように影響するかを示す。図７は、従来法１０１と本願法１０２について、５００Ｈｚから３５００Ｈｚまで５００Ｈｚ刻みのフルスケールのサイン波を入力信号として、浮動小数点演算と、図１７に示した１プロセッサを前提にした１６ビット固定小数点演算により帯域分割処理・帯域合成処理を行い、１６ビット固定小数点化による歪みをノイズと見なしたＳＮＲ（１６ビット固定小数点演算による合成信号のパワーを、浮動小数点演算による合成信号と１６ビット固定小数点演算による合成信号の差のパワーで割り、対数をとって１０倍したもの）を計算し、入力したサイン波の周波数毎に１６ビット固定小数点演算精度を評価したグラフである。【００７０】
この図７に示すように、本願法１０２では１６ビット固定小数点化による歪がほとんど発生せず、ＳＮＲ値で、従来法１０１よりも６０ｄＢ程度歪が少ないことがわかる。
このように、本実施の形態の信号処理装置によれば、オッドタイプで実数型の帯域分割合成処理を行う際に、リアルタイム音声処理をアプリケーションとした場合に、極力少ない演算量で、固定小数点化による演算精度劣化が殆ど発生しないようにすることができる。【００７１】
また、分析フィルタ処理部２１、ＧＤＦＴ・ＳＳＢ変調一括処理部８１、ＳＳＢ復調・逆ＧＤＦＴ一括処理部８２、合成フィルタ処理部２４の各々の入出力データを全て実数とすることができるので、演算がし易くなる。
【産業上の利用の可能性】
【００７２】
以上説明したように本発明によれば、オッドタイプで実数型の帯域分割合成処理を行う際に、リアルタイム音声処理をアプリケーションとした場合に、極力少ない演算量で、固定小数点化による演算精度劣化が殆ど発生しないようにすることができるという効果がある。
【図１】
2008123317.tif 000038
【図２】
2008123317.tif 000039
【図３】
2008123317.tif 000040
【図４】
2008123317.tif 000041
【図５】
2008123317.tif 000042
【図６】
2008123317.tif 000043
【図７】
2008123317.tif 000044
【図８】
2008123317.tif 000045
【図９】
2008123317.tif 000046
【図１０】
2008123317.tif 000047
【図１１】
2008123317.tif 000048
【図１２】
2008123317.tif 000049
【図１３】
2008123317.tif 000050
【図１４】
2008123317.tif 000051
【図１５】
2008123317.tif 000052
【図１６】
2008123317.tif 000053
【図１７】
2008123317.tif 000054
【図１８】
2008123317.tif 000055
【手続補正書】
【提出日】平成20年8月27日(2008.8.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力信号の帯域分割処理を行う信号処理装置において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する分析フィルタ処理手段と、
前記分析フィルタ処理手段から入力されるＫサンプルの実数データに対して、一般化離散フーリエ変換処理であるＧＤＦＴ処理と、前記帯域分割処理後の中心周波数をπ／２にそろえる単側波帯変調処理であるＳＳＢ変調処理とを（Ｋ／２）×Ｋ実数行列とＫ×１実数行列との積演算で一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力するＧＤＦＴ・ＳＳＢ変調一括処理手段と、
を備えたことを特徴とする信号処理装置。
【請求項２】
入力信号の帯域分割処理を行う信号処理装置において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する分析フィルタ処理手段と、
前記分析フィルタ処理手段が出力するＫサンプルの実数データの時間インデックスをｍとした場合の、前記分析フィルタ処理手段からのＫサンプルの実数データｘｍ（０），ｘｍ（１），…，ｘｍ（ｋ−１）に対して、周波数オフセットが１／２、時間オフセットがｎ０の一般化離散フーリエ変換処理であるＧＤＦＴ処理と、単側波帯変調処理であるＳＳＢ変調処理とを、式
【数１】
2008123317.tif 000056
により一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データＸ０ＳＳＢ（ｍ），Ｘ１ＳＳＢ（ｍ），…，ＸＫ／２−１ＳＳＢ（ｍ）を出力するＧＤＦＴ・ＳＳＢ変調一括処理手段と、
を備えたことを特徴とする信号処理装置。
【請求項３】
前記分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、周期的に表れる８パターンの前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を行うための（Ｋ／２）×Ｋ実数行列を記憶する記憶手段を更に備え、
前記ＧＤＦＴ・ＳＳＢ変調一括処理手段は、前記記憶手段に記憶された（Ｋ／２）×Ｋ実数行列を用いて、前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を一括して行うことを特徴とする請求項１又は請求項２記載の信号処理装置。
【請求項４】
入力信号の帯域合成処理を行う信号処理装置において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの入力毎に、帯域分割処理後の中心周波数をπ／２に周波数シフトするＳＳＢ変調処理によって周波数シフトされた周波数を、周波数シフト前の周波数に戻す単側波帯復調処理であるＳＳＢ復調処理と一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理とをＫ×（Ｋ／２）実数行列と（Ｋ／２）×１実数行列との積演算で一括して行ってＫサンプルの実数データを出力するＳＳＢ復調・逆ＧＤＦＴ一括処理手段と、
前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段から入力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する合成フィルタ処理手段と、
を備えたことを特徴とする信号処理装置。
【請求項５】
入力信号の帯域合成処理を行う信号処理装置において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの時間インデックスをｍとして、その入力毎に前記実数帯で表されるＫ×（Ｋ／２）実数行列Ｇ２（ｍ）を用いて式
【数４】
2008123317.tif 000057
により一括して行い、Ｋサンプルの実数データｘ’ｍ（０），ｘ’ｍ（１），…，ｘ’ｍ（ｋ−１）を出力するＳＳＢ復調・逆ＧＤＦＴ一括処理手段と、
前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段から入力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する合成フィルタ処理手段と、
を備えたことを特徴とする信号処理装置。
【請求項６】
前記分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、周期的に表れる８パターンの前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を行うためのＫ×（Ｋ／２）実数行列を記憶する記憶手段を更に備え、
前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段は、前記記憶手段に記憶されたＫ×（Ｋ／２）実数行列を用いて、前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を一括して行うことを特徴とする請求項４又は請求項５に記載の信号処理装置。
【請求項７】
入力信号の帯域分割処理を行う信号処理装置において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する分析フィルタ処理手段と、
前記分析フィルタ処理手段から入力されるＫサンプルの実数データに対して、一般化離散フーリエ変換処理であるＧＤＦＴ処理と、前記帯域分割処理後の中心周波数をπ／２にそろえる単側波帯変調処理であるＳＳＢ変調処理とを（Ｋ／２）×Ｋ実数行列演算で一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力するＧＤＦＴ・ＳＳＢ変調一括処理手段と、
１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの入力毎に、前記ＳＳＢ変調処理によって帯域分割処理後の中心周波数がπ／２に周波数シフトされた周波数を周波数シフト前の周波数に戻す単側波帯復調処理であるＳＳＢ復調処理と一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理とをＫ×（Ｋ／２）実数行列演算で一括して行ってＫサンプルの実数データを出力するＳＳＢ復調・逆ＧＤＦＴ一括処理手段と、
前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段から入力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する合成フィルタ処理手段と、
を備えたことを特徴とする信号処理装置。
【請求項８】
前記（Ｋ／２）×Ｋ実数行列と前記Ｋ×（Ｋ／２）実数行列とは転置関係にある行列であって、
前記（Ｋ／２）×Ｋ実数行列と前記Ｋ×（Ｋ／２）実数行列との何れか一方を記憶する記憶手段を備え、
前記ＧＤＦＴ・ＳＳＢ変調一括処理手段は、前記記憶された（Ｋ／２）×Ｋ実数行列又はＫ×（Ｋ／２）実数行列を用いて、前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を行い、
前記ＳＳＢ復調・逆ＧＤＦＴ処理一括手段は、前記記憶された（Ｋ／２）×Ｋ実数行列又はＫ×（Ｋ／２）実数行列を用いて、前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を行うことを特徴とする請求項７記載の信号処理装置。
【請求項９】
前記ＧＤＦＴ処理及び前記逆ＧＤＦＴ処理における時間オフセットをｎ０として２ｎ０が整数の場合、前記（Ｋ／２）×Ｋ実数行列と前記Ｋ×（Ｋ／２）実数行列の全要素が、分解能２π／２Ｋのｃｏｓ関数値として表現可能であることを利用し、この分解能２π／２Ｋのｃｏｓ関数をテーブル化して記憶手段にｃｏｓ関数テーブルとして記憶し、
前記ＧＤＦＴ・ＳＳＢ変調一括処理手段は、前記記憶されたｃｏｓ関数テーブルのｃｏｓ関数を用いて前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を行い、また、前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段は、前記記憶されたｃｏｓ関数テーブルのｃｏｓ関数を用いて前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を行うことを特徴とする請求項７記載の信号処理装置。
【請求項１０】
請求項１から請求項９の何れか１項に記載の信号処理装置を、入力信号の帯域分割処理又は帯域合成処理に用いたことを特徴とするエコーキャンセラ。
【請求項１１】
入力信号の帯域分割処理及び帯域合成処理を行う信号処理方法において、
分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する第１のステップと、
前記第１のステップにて出力されるＫサンプルの実数データの時間インデックスをｍとした場合の、Ｋサンプルの実数データｘｍ（０），ｘｍ（１），…，ｘｍ（ｋ−１）に対して、周波数オフセットが１／２、時間オフセットがｎ０の一般化離散フーリエ変換処理であるＧＤＦＴ処理と、単側波帯変調処理であるＳＳＢ変調処理を、式
【数５】
2008123317.tif 000058
で表される（Ｋ／２）×Ｋ実数行列Ｇ１（ｍ）を用いて式
【数６】
2008123317.tif 000059
により一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データＸ０ＳＳＢ（ｍ），Ｘ１ＳＳＢ（ｍ），…，ＸＫ／２−１ＳＳＢ（ｍ）を出力する第２のステップと、
前記第２のステップにて出力される１サンプル×（Ｋ／２）チャンネルの実数帯域分割データに対してＫ／２チャンネルの分割帯域毎に信号処理を行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力する第３のステップと、
前記第３のステップにて出力される１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの時間インデックスをｍとして、その入力毎に前記実数帯域分割データＸ’０ＳＳＢ（ｍ），Ｘ’１ＳＳＢ（ｍ），…，Ｘ’Ｋ／２−１ＳＳＢ（ｍ）に対して、単側波帯復調処理であるＳＳＢ復調処理と一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理を、式
【数７】
2008123317.tif 000060
で表されるＫ×（Ｋ／２）実数行列Ｇ２（ｍ）を用いて式
【数８】
2008123317.tif 000061
により一括して行い、Ｋサンプルの実数データｘ’ｍ（０），ｘ’ｍ（１），…，ｘ’ｍ（ｋ−１）を出力する第４のステップと、
前記第４のステップにて出力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する第５のステップと、
を含むことを特徴とする信号処理方法。
【手続補正書】
【提出日】平成21年1月29日(2009.1.29)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０００６
【補正方法】変更
【補正の内容】
【０００６】
域分割合成処理を行う際に、リアルタイム音声処理をアプリケーションとした場合に、極力少ない演算量で、固定小数点化による演算精度劣化が殆ど発生しないようにすることができる信号処理装置、エコーキャンセラ、信号処理方法を提供することを目的としている。
上記目的を達成するために、本発明の一態様に係る信号処理装置は、入力信号の帯域分割処理を行う信号処理装置において、分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する分析フィルタ処理手段と、前記分析フィルタ処理手段から入力されるＫサンプルの実数データに対して、一般化離散フーリエ変換処理であるＧＤＦＴ処理と、前記帯域分割処理後の中心周波数をπ／２にそろえる単側波帯変調処理であるＳＳＢ変調処理とを（Ｋ／２）×Ｋ実数行列とＫ×１実数行列との積演算で一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力するＧＤＦＴ・ＳＳＢ変調一括処理手段と、を備えたことを特徴とする。
また、本発明の一態様に係る信号処理装置は、入力信号の帯域分割処理を行う信号処理装置において、分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する分析フィルタ処理手段と、前記分析フィルタ処理手段が出力するＫサンプルの実数データの時間インデックスをｍとした場合の、前記分析フィルタ処理手段からのＫサンプルの実数データｘｍ（０），ｘｍ（１），・・・，ｘｍ（ｋ−１）に対して、周波数オフセットが１／２、時間オフセットがｎ０の一般化離散フーリエ変換処理であるＧＤＦＴ処理と、単側波帯変調処理であるＳＳＢ変調処理とを、式
［数１］
2008123317.tif 000062
で表される（Ｋ／２）×Ｋ実数行列Ｇ１（ｍ）を用いて式
［数２］
2008123317.tif 000063
により一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データＸ０ＳＳＢ（ｍ），Ｘ１ＳＳＢ（ｍ），・・・，ＸＫ／２−１ＳＳＢ（ｍ）を出力するＧＤＦＴ・ＳＳＢ変調一括処理手段と、を備えたことを特徴とする。
また、本発明の一態様に係る信号処理装置は、前記分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、周期的に表れる８パターンの前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を行うための（Ｋ／２）×Ｋ実数行列を記憶する記憶手段を更に備え、前記ＧＤＦＴ・ＳＳＢ変調一括処理手段は、前記記憶手段に記憶された（Ｋ／２）×Ｋ実数行列を用いて、前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を一括して行うことを特徴とする。
また、本発明の一態様に係る信号処理装置は、入力信号の帯域合成処理を行う信号処理装置において、分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの入力毎に、帯域分割処理後の中心周波数をπ／２に周波数シフトするＳＳＢ変調処理によって周波数シフトされた周波数を、周波数シフト前の周波数に戻す単側波帯復調処理であるＳＳＢ復調処理と一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理とをＫ×（Ｋ／２）実数行列と（Ｋ／２）×１実数行列との積演算で一括して行ってＫサンプルの実数データを出力するＳＳＢ復調・逆ＧＤＦＴ一括処理手段と、前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段から入力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する合成フィルタ処理手段と、を備えたことを特徴とする。
また、本発明の一態様に係る信号処理装置は、入力信号の帯域合成処理を行う信号処理装置において、分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの時間インデックスをｍとして、その入力毎に前記実数帯域分割データＸ’０ＳＳＢ（ｍ），Ｘ’１ＳＳＢ（ｍ），・・・，Ｘ’Ｋ／２−１ＳＳＢ（ｍ）に対して、単側波帯復調処理であるＳＳＢ復調処理と周波数オフセットが１／２、時間オフセットがｎ０の一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理を、式
［数３］
2008123317.tif 000064
で表されるＫ×（Ｋ／２）実数行列Ｇ２（ｍ）を用いて式
［数４］
2008123317.tif 000065
により一括して行い、Ｋサンプルの実数データｘ’ｍ（０），ｘ’ｍ（１），・・・，ｘ’ｍ（ｋ−１）を出力するＳＳＢ復調・逆ＧＤＦＴ一括処理手段と、前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段から入力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する合成フィルタ処理手段と、を備えたことを特徴とする。
また、本発明の一態様に係る信号処理装置は、前記分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、周期的に表れる８パターンの前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を行うためのＫ×（Ｋ／２）実数行列を記憶する記憶手段を更に備え、前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段は、前記記憶手段に記憶されたＫ×（Ｋ／２）実数行列を用いて、前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を一括して行うことを特徴とする。
また、本発明の一態様に係る信号処理装置は、入力信号の帯域分割処理を行う信号処理装置において、分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する分析フィルタ処理手段と、前記分析フィルタ処理手段から入力されるＫサンプルの実数データに対して、一般化離散フーリエ変換処理であるＧＤＦＴ処理と、前記帯域分割処理後の中心周波数をπ／２にそろえる単側波帯変調処理であるＳＳＢ変調処理とを（Ｋ／２）×Ｋ実数行列演算で一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力するＧＤＦＴ・ＳＳＢ変調一括処理手段と、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの入力毎に、前記ＳＳＢ変調処理によって帯域分割処理後の中心周波数がπ／２に周波数シフトされた周波数を周波数シフト前の周波数に戻す単側波帯復調処理であるＳＳＢ復調処理と一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理とをＫ×（Ｋ／２）実数行列演算で一括して行ってＫサンプルの実数データを出力するＳＳＢ復調・逆ＧＤＦＴ一括処理手段と、前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段から入力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する合成フィルタ処理手段と、を備えたことを特徴とする。
また、本発明の一態様に係る信号処理装置は、前記（Ｋ／２）×Ｋ実数行列と前記Ｋ×（Ｋ／２）実数行列とは転置関係にある行列であって、前記（Ｋ／２）×Ｋ実数行列と前記Ｋ×（Ｋ／２）実数行列との何れか一方を記憶する記憶手段を備え、前記ＧＤＦＴ・ＳＳＢ変調一括処理手段は、前記記憶された（Ｋ／２）×Ｋ実数行列又はＫ×（Ｋ／２）実数行列を用いて、前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を行い、前記ＳＳＢ復調・逆ＧＤＦＴ処理一括手段は、前記記憶された（Ｋ／２）×Ｋ実数行列又はＫ×（Ｋ／２）実数行列を用いて、前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を行うことを特徴とする。
また、本発明の一態様に係る信号処理装置は、前記ＧＤＦＴ処理及び前記逆ＧＤＦＴ処理における時間オフセットをｎ０として２ｎ０が整数の場合、前記（Ｋ／２）×Ｋ実数行列と前記Ｋ×（Ｋ／２）実数行列の全要素が、分解能２π／２Ｋのｃｏｓ関数値として表現可能であることを利用し、この分解能２π／２Ｋのｃｏｓ関数をテーブル化して記憶手段にｃｏｓ関数テーブルとして記憶し、前記ＧＤＦＴ・ＳＳＢ変調一括処理手段は、前記記憶されたｃｏｓ関数テーブルのｃｏｓ関数を用いて前記ＧＤＦＴ処理及び前記ＳＳＢ変調処理を行い、また、前記ＳＳＢ復調・逆ＧＤＦＴ一括処理手段は、前記記憶されたｃｏｓ関数テーブルのｃｏｓ関数を用いて前記ＳＳＢ復調処理及び前記逆ＧＤＦＴ処理を行うことを特徴とする。
さらに、本発明の一態様に係るエコーキャンセラは、上記態様の何れかに記載の信号処理装置を、入力信号の帯域分割処理又は帯域合成処理に用いたことを特徴とする。
さらにまた、本発明の一態様に係る信号処理方法は、入力信号の帯域分割処理及び帯域合成処理を行う信号処理方法において、分割数をＫ、間引き率をＮとしてＫ＝４Ｎの場合に、実数の入力データをＮサンプル毎に分析フィルタ処理を行ってＫサンプルの実数データを出力する第１のステップと、前記第１のステップにて出力されるＫサンプルの実数データの時間インデックスをｍとした場合の、Ｋサンプルの実数データｘｍ（０），ｘｍ（１），・・・，ｘｍ（ｋ−１）に対して、周波数オフセットが１／２、時間オフセットがｎ０の一般化離散フーリエ変換処理であるＧＤＦＴ処理と、単側波帯変調処理であるＳＳＢ変調処理を、式
［数５］
2008123317.tif 000066
で表される（Ｋ／２）×Ｋ実数行列Ｇ１（ｍ）を用いて式
［数６］
2008123317.tif 000067
により一括して行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データＸ０ＳＳＢ（ｍ），Ｘ１ＳＳＢ（ｍ），・・・，ＸＫ／２−１ＳＳＢ（ｍ）を出力する第２のステップと、前記第２のステップにて出力される１サンプル×（Ｋ／２）チャンネルの実数帯域分割データに対してＫ／２チャンネルの分割帯域毎に信号処理を行い、１サンプル×（Ｋ／２）チャンネルの実数帯域分割データを出力する第３のステップと、前記第３のステップにて出力される１サンプル×（Ｋ／２）チャンネルの実数帯域分割データの時間インデックスをｍとして、その入力毎に前記実数帯域分割データＸ’０ＳＳＢ（ｍ），Ｘ’１ＳＳＢ（ｍ），・・・，Ｘ’Ｋ／２−１ＳＳＢ（ｍ）に対して、単側波帯復調処理であるＳＳＢ復調処理と一般化離散フーリエ逆変換処理である逆ＧＤＦＴ処理を、式
［数７］
2008123317.tif 000068
で表されるＫ×（Ｋ／２）実数行列Ｇ２（ｍ）を用いて式
［数８］
2008123317.tif 000069
により一括して行い、Ｋサンプルの実数データｘ’ｍ（０），ｘ’ｍ（１），・・・，ｘ’ｍ（ｋ−１）を出力する第４のステップと、前記第４のステップにて出力されるＫサンプルの実数データに対して合成フィルタ処理を行ってＮサンプルの実数データを出力する第５のステップと、を含むことを特徴とする。
本発明によれば、オッドタイプで実数型の帯域分割合成処理を行う際に、リアルタイム音声処理をアプリケーションとした場合に、極力少ない演算量で、固定小数点化による演算精度劣化が殆ど発生しないようにすることができるという効果がある。
図面の簡単な説明
［００２０］
［図１］本発明の実施の形態に係る信号処理装置の構成を示すブロック図である。
［図２］分割数１６、間引き率４の場合について、オッドタイプの帯域分割処理前後の周波数の対応関係をチャネル別に示したグラフである。
［図３］分割数１６、間引き率４の場合について、ＳＳＢ変調処理を含めたオッドタイプの帯域分割処理前後の周波数の対応関係をチャネル別に示したグラフである。
［図４］本実施の形態の特徴の１つである行列式に当て嵌めるｃｏｓ関数値を持つｃｏｓ関数テーブルの図である。
［図５］従来法と本実施の形態による帯域分割処理方法である本願法との演算量を比較したグラフである。
［図６］従来法と本願法との丸め回数を比較したグラフである。
［図７］従来法と本願法の固定小数点化による歪の大きさを比較したグラフである。
［図８］特許文献１に記載の帯域分割型エコーキャンセラの構成を示すブロック図である。
［図９］プロトタイプフィルタ周波数特性の一例を示す図である。
［図１０］（ａ）はイーブンタイプの帯域分割処理用の信号処理装置の構成を示すブロック図、（ｂ）はイーブンタイプの帯域合成処理用の信号処理装置の構成を示すブロック図である。
［図１１］分割数Ｋ＝８の場合についてイーブンタイプの帯域分割処理を行った場合の、各帯域の中心周波数ωｋを示した図である。
［図１２］特許文献２に記載の帯域分割型エコーキャンセラの構成を示すブロック図である。
［図１３］分割数Ｋ＝８の場合についてオッドタイプの帯域分割処理を行った場合の、各帯域の中心周波数ωｋを示した図である。
【国際調査報告】
2008123317.tif 000070
2008123317.tif 000071
2008123317.tif 000072