以下、添付する図面を参照して実施例を説明する。図1は、開示の音声処理装置の第1実施例の概略構成図である。音声処理装置1は、フレーム分割部2と、最大値減少化処理部3と、増幅率決定部4と、増幅部5と、フレーム記憶部6と、フレーム接続部7を備える。
フレーム分割部2は、入力されたディジタル形式の音声信号を、所定長毎の音声フレーム信号へ分割する。
最大値減少化処理部3は、フレーム分割部2から順次出力される各音声フレーム信号の周波数成分に位相シフトを与えることにより音声フレーム信号の最大振幅値を減少化させる。
増幅率決定部4は、最大値減少化処理部3によって最大振幅値が減少化された音声フレーム信号の最大振幅値に応じて、この音声フレーム信号を増幅すべき信号増幅率を決定する。増幅部5は、最大値減少化処理部3によって最大振幅値が減少化された音声フレーム信号を、増幅率決定部4により決定された信号増幅率で増幅する。
フレーム記憶部6は、増幅部5によって増幅された音声フレーム信号の最後のサンプルから少なくともR個のサンプルを、次の音声フレーム信号が増幅部5から出力されるまで保持する。フレーム接続部7は、増幅部5から出力された音声フレーム信号と、この音声フレーム信号の前のフレームの音声フレーム信号を接続する。フレーム接続部7によるフレームの接続処理については後述する。
最大値減少化処理部3は、フーリエ変換部10と、周波数選択部11と、直列接続されたM段の位相選択部12−1、12−2、…12−Mと、逆フーリエ変換部13を備える。フーリエ変換部10は、フレーム分割部2から順次供給される音声フレーム信号をフーリエ変換して、音声フレーム信号の各周波数成分を示す周波数領域信号を生成する。この周波数領域信号は、周波数選択部11、位相選択部12−1〜12−M及び逆フーリエ変換部13へ出力される。位相選択部12−1〜12−Mは、周波数領域信号を入力Sfとして入力する。
周波数選択部11は、フーリエ変換部10から入力した各周波数成分のスペクトル強度にしたがって、スペクトル強度が最も強い周波数を指示する信号、2番目に強い周波数を指示する信号、…M番目に強い周波数を指示する信号を出力する。これらスペクトル強度が最も強い周波数を指示する信号、2番目に強い周波数を指示する信号、…M番目に強い周波数を指示する信号は、入力SLfとして位相選択部12−1、12−2、…12−Mへそれぞれ入力される。
位相選択部12−1〜12−Mは、入力Sfとして与えられた各周波数成分のうち、入力SLfによって指定された周波数fの周波数成分へ、複数の異なるシフト量の位相シフトを与えて時間領域信号に逆フーリエ変換したとき、音声フレーム信号の最大振幅値が最も小さくなる位相シフト量を、周波数fの周波数成分に与えるべき位相シフト量として選択する。
位相選択部12−1〜12−Mは、各々選択した位相シフト量を示す位相選択信号を、出力SLPoutとして出力する。前段の位相選択部12−1〜12−(M−1)から出力される位相選択信号は、入力SLPinとして後段の位相選択部12−2〜12−Mへ入力される。
周波数fiの周波数成分に与える位相シフト量を選択した前段の位相選択部12−iから位相選択信号を入力した後段の位相選択部12−(i+1)は(i=1〜M−1)、入力SLfによって指定された周波数f(i+1)の周波数成分に与えるべき位相シフト量を選択し、選択された位相シフト量を、前段の位相選択部12−iから入力した位相選択信号に追加してから、さらに後段の位相選択部12−(i+2)へ出力する。
また、入力SLfによって指定された周波数fiの周波数成分に与えるべき位相シフト量を選択するとき(i=2〜M)、各位相選択部12−iは、周波数fi以外の他の各周波数成分には前段の位相選択部12−(i−1)から入力した位相選択信号によって指定される各シフト量の位相シフトをそれぞれ与える。
すなわち、各位相選択部12−i(i=2〜M)は、周波数fi以外の他の各周波数成分には前段の位相選択部12−(i−1)から入力した位相選択信号によって指定される各シフト量の位相シフトをそれぞれ与え、かつ周波数fiの周波数成分には複数の異なるシフト量の位相シフトΔθ1〜ΔθLを与えて時間領域信号に逆フーリエ変換したときに、音声フレーム信号の最大振幅値が最も小さくなるような位相シフト量を、位相シフト量Δθ1〜ΔθLの中から選択する。1段目の位相選択部12−1の入力SPLinには、全ての周波数成分について位相シフト量を指定しない位相選択信号が入力される。
最終段の位相選択部12−Mの出力SPLoutからは、各段の位相選択部12−1〜12−Mによってそれぞれ選択された、スペクトル強度が最も強い周波数、2番目に強い周波数、…M番目に強い周波数へそれぞれ与える各位相シフト量を指示する位相選択信号が結合されて出力され、逆フーリエ変換部13に出力される。
逆フーリエ変換部13は、フーリエ変換部10から与えられる周波数領域信号の各周波数成分に、位相選択部12−Mから与えられる位相選択信号によって指定される各位相シフトをそれぞれ与えて、周波数領域信号を逆フーリエ変換した音声フレーム信号を生成する。逆フーリエ変換部13は、音声フレーム信号を増幅率決定部4及び増幅部5へ出力する。
図2は、図1に示す位相選択部12−1の構成例を示す図である。他の位相選択部12−2〜12−Mも同様の構成を有する。位相選択部12−1は、L個の逆フーリエ変換部20−1〜20−Lと、選択部21と、位相選択信号合成部22とを備える。
L個の逆フーリエ変換部20−j(j=1、2、…L)は、入力Sfである周波数領域信号に含まれる各周波数成分のうち、入力SLfにより指定された周波数fの周波数成分には、シフト量(360/L×(j−1))度の位相シフトを与え、それ以外の各周波数成分には、入力SLPinである位相選択信号によって指定される各シフト量の位相シフトを与えてから、逆フーリエ変換を行って音声フレーム信号を生成する。
本実施例では自然数L=12の場合の構成例である。すなわち位相選択部12−1は、12個の逆フーリエ変換部20−1〜20−12を備える。そして、逆フーリエ変換部20−1は入力SLfにより指定された周波数fの周波数成分に0度の位相シフトを与え、逆フーリエ変換部20−2は周波数fの周波数成分に30度の位相シフトを与え、逆フーリエ変換部20−3は周波数fの周波数成分に60度の位相シフトを与え、逆フーリエ変換部20−12は周波数fの周波数成分に330度の位相シフトを与える。自然数Lは他の2以上の自然数を使用してもよい。
選択部21は、逆フーリエ変換部20−1〜20−12により生成された各音声フレーム信号のうち、最大振幅値が最小である音声フレーム信号を選択する。選択部21は、選択された音声フレーム信号の周波数fの周波数成分に与えられた位相シフト量を示す位相選択信号を出力する。
位相選択信号合成部22は、入力SLPinである位相選択信号へ、選択部21が出力した位相選択信号を、周波数fの周波数成分に与えるべき位相シフト量として挿入することによって、入力SLPinとして入力した位相選択信号と、選択部21が出力した位相選択信号とを合成する。位相選択信号合成部22は、合成した位相選択信号を出力SLPoutとして出力する。
なお、逆フーリエ変換部20−1〜20−12及び選択部21は、特許請求の範囲に記載される最大振幅値決定手段に相当する。また、選択部21は、特許請求の範囲に記載される選択手段に相当する。
フーリエ変換部10は、特許請求の範囲に記載される周波数成分決定手段に相当する。各段の位相選択部12−1〜12−Mの逆フーリエ変換部20−1〜20−12は、特許請求の範囲に記載される組み合わせ決定手段に相当する。
逆フーリエ変換部20−1〜20−12は、特許請求の範囲に記載される候補生成手段に相当し、逆フーリエ変換部20−1〜20−12から出力される音声フレーム信号は、特許請求の範囲に記載される候補信号に相当する。選択部21は特許請求の範囲に記載される候補選択手段に相当する。
図3は、開示の音声処理方法の実施例の全体フローチャートである。ステップS1において、図1に示すフレーム分割部2は、入力されたディジタル形式の音声信号を、所定長毎の音声フレーム信号へ分割する。ステップS2において最大値減少化処理部3は、音声フレーム信号の最大振幅値を減少化させる。
図4は、図1に示す最大値減少化処理部3による音声信号の最大値の減少化処理の第1例を示すフローチャートである。ステップS10において、図1に示すフーリエ変換部10は、音声フレーム信号をフーリエ変換して、音声フレーム信号の各周波数成分を示す周波数領域信号を生成する。
ステップS11において周波数選択部11は、フーリエ変換部10から入力した周波数領域信号によって示される各周波数成分のスペクトル強度にしたがって、第1番目〜第M番目に強いスペクトル強度を有する周波数fi(i=1〜M)を決定する。周波数選択部11は、第1番目〜第M番目に強いスペクトル強度を有する周波数fi〜fMをそれぞれ指示する信号を、入力SLfとして、位相選択部12−1、12−2、…12−Mへそれぞれ入力する。
ステップS12において各位相選択部12−i(i=1〜M)を参照するインデックス変数iの値を「1」に初期化する。
ステップS13において、i段目の位相選択部12−iは、第i番目にスペクトル強度が強い周波数fiを指示する信号を入力SLfとして受信する。
位相選択部12−iの逆フーリエ変換部20−j(j=1〜12)は、フーリエ変換部10から与えられた各周波数成分のうち、入力SLfによって指定された周波数fi以外の他の各周波数成分には、前段の位相選択部12−(i−1)から入力した位相選択信号によって指定される各シフト量の位相シフトをそれぞれ与え、かつ周波数fiの周波数成分にはそれぞれ(360/L×(j−1))度の位相シフトを与えて時間領域信号に逆フーリエ変換する。
ステップS14において、位相選択部12−iの選択部21は、逆フーリエ変換部20−1〜20−12により生成された各音声フレーム信号のうち、最大振幅値が最小である音声フレーム信号を選択する。選択部21は、逆フーリエ変換部20−1〜20−12が生成した音声フレーム信号のうちの、選択された音声フレーム信号の周波数成分fiに与えられた位相シフト量を示す位相選択信号を出力する。位相選択信号合成部22は、入力SLPinとして入力した位相選択信号と、選択部21が出力した位相選択信号とを合成する。位相選択信号合成部22は、合成した位相選択信号を出力SLPoutとして出力する。
ステップS15においてインデックス変数iの値を1つ増加する。ステップS16において、インデックス変数iの値が「M」以下であるとき、すなわち、まだ位相選択処理が済んでいない位相選択部の段が残っている場合には、処理はステップS13へ戻り、ステップS13〜S16が反復される。
ステップS16の判定において、インデックス変数iの値が「M」以下でないとき、処理はステップS17へ移る。ステップS17において、図1に示す逆フーリエ変換部13は、フーリエ変換部10から与えられる各周波数成分に、最終段の位相選択部12−Mから与えられる位相選択信号によって指定される各位相シフトをそれぞれ与えて、周波数領域信号を逆フーリエ変換した音声フレーム信号を生成する。
図5の(A)及び図5の(B)は、最大値減少化処理部3による低減化処理の前後の音声フレーム信号の波形の模式図である。最大値減少化処理部3の各段の位相選択部12−1〜12−Mの逆フーリエ変換部20−1〜20−12によってそれぞれ生成される音声フレーム信号の波形は、音声フレーム信号の周波数成分に位相シフトが加えられているために、元の音声フレーム信号の波形と異なる波形になる。
位相選択部12−1〜12−Mの選択部21は、これら異なる波形の音声フレーム信号のうち最大振幅値が最も小さい音声フレーム信号を選択する。したがって選択部21によって選択される音声フレーム信号の最大振幅値は、元の音声フレームの最大振幅値以下となる。たとえば、元の音声フレーム信号の最大振幅値が複数の周波数成分の比較的振幅が大きい部分の重なり合いにより生じている場合には、各周波数成分に異なる位相シフトを与えることにより最大振幅値を減少できる。
このため、最大値減少化処理部3による低減化処理後の音声フレーム信号、すなわち図5の(B)に示される音声フレーム信号の最大振幅値Smax2は、図5の(A)に示す元の音声フレーム信号の最大振幅値Smax1よりも小さくなる。
ここで人間の聴覚には、各周波数成分における位相特性がある程度ずれても殆ど感知できないという性質がある。したがって、最大値減少化処理部3は、人間の聴覚に感知される音声品質を劣化させることなく、音声フレーム信号の最大振幅値を減少化することができる。
図3に示すステップS3において増幅率決定部4は、最大値減少化処理部3から出力された音声フレーム信号の最大振幅値に応じて、この音声フレーム信号を増幅すべき信号増幅率Aを決定する。ステップS4において増幅部5は、最大値減少化処理部3から出力された音声フレーム信号を、増幅率決定部4により決定された信号増幅率Aで増幅する。
図6は、図1に示す増幅率決定部4による信号増幅率Aの決定処理の例を説明する説明図である。図6に示す波形は、最大値減少化処理部3から出力された音声フレーム信号の信号波形である。たとえば増幅率決定部4は、後段の増幅部5による増幅後の音声フレーム信号が増幅部5の許容最大出力振幅値Sthを超えない最大の増幅率を、信号増幅率Aとして決定してよい。
たとえば増幅率決定部4は、最大値減少化処理部3から出力された音声フレーム信号の最大振幅値がSmaxであるとき、A=Sth/Smaxを信号増幅率Aとして決定してよい。増幅率決定部4がこのように信号増幅率Aを決定することにより、音声フレーム信号は、増幅部5においてクリッピング歪みを生じずに増幅される。
このように増幅率決定部4及び増幅部5は、増幅前の最大振幅値が小さいほど、音声フレーム信号をより大きな信号増幅率で増幅できる。本実施例では、最大値減少化処理部3によって音声フレーム信号の最大振幅値が減少化されるので、より大きな増幅率で音声信号を増幅することができ、人間の聴覚に感知される音声品質を劣化させることなく背景雑音が大きい環境におけるユーザの聞き易さを改善することができる。
ステップS5においてフレーム接続部7は、増幅部5から出力された音声フレーム信号と、この音声フレーム信号の前のフレームの音声フレーム信号を接続する。
最大値減少化処理部3による音声信号処理を行う前は、連続する2つのフレームのうち前フレームの最後のサンプル値と後フレームの最初のサンプル値の値はほぼ同じである。
しかしながら、最大値減少化処理部3によって各周波数成分に位相シフトが与えられると、各音声フレーム信号毎に波形が変化し、その結果、連続する2つのフレームの前フレームの最後のサンプル値と、後フレームの最初のサンプル値の間のギャップが大きくなる可能性がある。
フレーム接続部7は、前フレームの最後のサンプル値Sbと後フレームの最初のサンプル値Saの間に目標値を定め、前フレームの最後のR個のサンプルと後のフレームのS個のサンプルとを目標値に向かって漸近させることにより、これら2つのフレームをスムーズに接続する接続処理を実行する。図7は、図1に示すフレーム接続部7による音声フレーム信号の接続処理の例を示すフローチャートである。
ステップS20においてフレーム接続部7は、前フレームの最後のサンプルの値Sbの符号と、後フレームの最初のサンプルの値Saの符号とが異なるか否かを判定する。Sbの符号とSaの符号が同じ場合には、フレーム接続部7は処理をステップS22に移す。
Sbの符号とSaの符号が異なる場合には、ステップS21においてフレーム接続部7は後フレームの各サンプルの符号を反転させる。これにより、SbとSaの値を近づけることができ、よりスムーズに前フレームと後フレームを接続できるようになる。
ステップS22においてフレーム接続部7は、前フレームの最後のサンプル値Sbと後フレームの最初のサンプル値Saの間に目標値Smを定める。目標値Smは、たとえばSbとSaの中間値でよい。図8の(A)に、前フレームの最後のR個のサンプル時刻Sb(P−R+1)、〜Sb(P−2)、Sb(P−1)、Sb(P)におけるサンプルと、後フレームのS個のサンプル時刻Sa(1)、Sa(2)、Sa(3)、〜Sa(S)におけるサンプルと、目標値Smを示す。
ステップS23においてフレーム接続部7は、前フレームの最後のR個のサンプルを目標値Smに向かって漸近させる。具体的には、前フレームの最後のR個のサンプル時刻Sb(P−R+j)のサンプルの値を、それぞれ(1+(Sm/Sb−1)×j/R)倍する(j=1〜R)。この乗算処理によって、前フレームの最後のR個のサンプルには、フレームの最後に近づくにつれて値1〜Sm/Sbへと変化する係数が乗算され、これらサンプルの値は目標値Smへ徐々に近づく。図8の(B)には、ステップS23に示す乗算処理が施された前フレームが示されている。
ステップS24においてフレーム接続部7は、後フレームの最初のS個のサンプルを目標値Smに向かって漸近させる。具体的には、後フレームの最初のS個のサンプル時刻Sa(j)のサンプルの値を、それぞれ(Sm/Sa+(1−Sm/Sa)×(j−1)/S)倍する(j=1〜S)。この乗算処理によって、後フレームの最後のS個のサンプルには、フレームの始めに近づくにつれて値1〜Sm/Sbへと変化する係数が乗算され、これらサンプルの値は目標値Smへ徐々に近づく。図8の(B)には、ステップS23に示す乗算処理が施された後フレームが示されている。
図9は、開示の音声処理装置の第2実施例の概略構成図である。図9に示す音声処理装置1は、図1に示す構成と類似する構成を有しており、図1に示す構成要素と同様の構成要素には同じ参照符号を使用し、また同一の機能については説明を省略する。
本構成例の音声処理装置1は、音声フレーム信号の信号増幅率を決定する際の目標値である目標増幅率Atを決定する目標増幅率決定部8を備える。目標増幅率決定部8は、たとえば前フレームの音声フレーム信号を増幅する際に増幅率決定部4が決定した信号増幅率を目標増幅率Atとしてよい。または目標増幅率決定部8は、たとえば音声処理装置1が作動を開始した際の初めのフレームの音声フレーム信号を増幅する際に増幅率決定部4が決定した信号増幅率を目標増幅率Atとしてよい。
最大値減少化処理部3は、図2を参照して説明した位相選択部12−1と同様の位相選択部を直列に(M−1)段接続した位相選択部12−1、12−2、…12−(M−1)と、位相選択部12−(M−1)の後段に接続される最終段の位相選択部14を備える。
図10は、図9に示す位相選択部14の構成例を示す図である。位相選択部14には、フーリエ変換部10から出力される周波数領域信号が入力Sfとして、周波数選択部11から出力されるM番目に強い周波数を指示する信号が入力SLfとして、位相選択部12−(M−1)から出力SLPoutとして出力される位相選択信号が入力SLPinとして入力される。
位相選択部14は、図2を参照して説明した逆フーリエ変換部20−1〜20−Lと同様に動作する逆フーリエ変換部30−1〜30−Lと、図2を参照して説明した位相選択信号合成部22と同様に動作する位相選択信号合成部32と、選択部31を備える。本実施例では自然数L=12の場合の構成例である。自然数Lは他の2以上の自然数を使用してもよい。
また位相選択部14には、目標増幅率決定部8が決定した目標増幅率Atと、フレーム記憶部6に記憶された前フレームの最後のサンプル値Sbが入力される。選択部31は、逆フーリエ変換部30−1〜30−12が生成する音声フレーム信号を入力する。
選択部31は、逆フーリエ変換部30−1〜30−12により生成された各音声フレーム信号の最大振幅値に基づいて、これら各音声フレーム信号に与えられた位相シフトのうち、所定の選択要件を満足する位相シフト量があるか否かを判定する。
ここで、ある位相シフト量が選択されるための所定の選択要件とは、音声フレーム信号に対して、入力SLfによって指定された周波数fの周波数成分にその位相シフト量が与えられ、周波数f以外の他の各周波数成分には前段までの位相選択部によって指定された各シフト量の位相シフトをそれぞれ与えられたとき、下記の条件(1)〜(3)が満たす信号増幅率Aが存在することである。
(1)信号増幅率Aが、目標増幅率Atから所定の許容範囲内に存在する。所定の許容範囲とはAt×(1−b%)〜At×(1+b%)である。ここにbは所定の定数である。
(2)増幅部5が、信号波形にクリッピング歪みを生じることなく音声フレーム信号を信号増幅率Aで増幅できる。
(3)信号増幅率Aで音声フレーム信号を増幅したときに、音声フレーム信号の最初のサンプル値Saが前フレームの最初のサンプル値Sbから所定の許容範囲内に収まる。所定の許容範囲とは、Sb×(1−Q%)〜Sb×(1+Q%)である。ここにQは所定の定数である。
選択部31は、所定の選択要件を満足する位相シフト量が与えられた音声フレーム信号のうち、最小の最大振幅値を有する音声フレーム信号に与えられた位相シフト量を選択する。選択部31は、選択された音声フレーム信号に与えられた位相シフト量を示す位相選択信号を位相選択信号合成部32へ出力する。
選択部31がこのような位相シフト量を選択することによって、現在処理中の音声フレーム信号に与えられる信号増幅率と、前フレームに与えられた信号増幅率との差を所定の範囲内に収めることができる。このためユーザが音量の変化を感知しにくくなる。
またこのような位相シフト量が選択されることによって、現在処理中の音声フレーム信号の最初のサンプル値Saと、前フレームの最後のサンプル値Sbとの差を所定の範囲内に収めることができる。このためユーザがフレームの間のつなぎ目を感知しにくくなる。
位相選択信号合成部32は、入力SLPinとして入力した位相選択信号と、選択部31が出力した位相選択信号とを合成し、合成した位相選択信号を出力SLPoutとして逆フーリエ変換部13へ出力する。
図11は、図9に示す最大値減少化処理部3により実行される音声信号の最大値の減少化処理の第2例を示すフローチャートである。
ステップS30〜ステップS36では、図4に示したステップS10〜S16にて第1番目〜第(M−1)番目の各周波数の周波数成分に与える位相が選択されたのと同様に、第1番目〜第(M−1)番目の各周波数の周波数成分に与える位相が選択される。
ステップS37において、M段目の位相選択部14は、第M番目のスペクトル強度を有する周波数fMを指示する信号を入力SLfとして受信する。
位相選択部14の逆フーリエ変換部30−j(j=1〜12)は、フーリエ変換部10から与えられた各周波数成分のうち、周波数fM以外の他の各周波数成分には、前段の位相選択部12−(M−1)から入力した位相選択信号によって指定される各シフト量の位相シフトをそれぞれ与え、かつ周波数fMの周波数成分にはそれぞれ(360/L×(j−1))度の位相シフトを与えて時間領域信号に逆フーリエ変換する。
ステップS38において、位相選択部14の選択部31は、逆フーリエ変換部30−1〜30−12により生成された各音声フレーム信号に与えられた位相シフトの中に、上述した所定の選択要件を満たす位相シフトがあるか否かを判定する。
図12は、ある位相シフトが所定の選択要件を満足するか否かを判定する判定処理のフローチャートである。ステップS50において選択部31は、前フレームの最後のサンプルの値Sbの符号と、位相シフトを与えた現在のフレームの最初のサンプルの値Sa’の符号とが異なるか否かを判定する。Sbの符号とSa’の符号が同じ場合には、選択部31は処理をステップS52に移す。
Sbの符号とSa’の符号が異なる場合には、ステップS51においてフレーム接続部7は現在のフレームの各サンプルの符号を反転させる。これによりSbとSa’の値の差が小さくなる。
ステップS52において選択部31は、既知の増幅部5の許容最大出力振幅値Sthと音声フレーム信号の最大振幅値Smaxとに基づいて、音声フレーム信号の最大振幅値Smaxが、所定値(Sth/(At×(1−b%))より大きいか否かを判定する。この判定によって、選択部31は、増幅後の音声フレーム信号にクリッピング歪みを生じない最大増幅率(Sth/Smax)が、所定の許容範囲の下限(At×(1−b%))よりも小さいか否かを判定する。
Smax>(Sth/(At×(1−b%))であるとき選択部31は、処理をS53へ移行する。Smax>(Sth/(At×(1−b%))でないとき選択部31は、処理をS54へ移行する。ステップS53において選択部31は、位相シフトが所定の選択要件を満たさないと決定して判定処理を終了する。
ステップS54において選択部31は、Smax≦(Sth/(At×(1+b%))であるか否かを判定することにより、増幅後の音声フレーム信号にクリッピング歪みを生じない最大増幅率(Sth/Smax)が、所定の許容範囲の上限(At×(1−b%))以上であるか否かを判定する。
Smax≦(Sth/(At×(1+b%))である場合には、選択部31は処理をステップS55に移す。ステップS55において選択部31は、増幅部5にて使用可能な信号増幅率の上限値Amaxを(At×(1+b%))に定め、下限値Aminを(At×(1−b%))に定める。その後、選択部31は処理をステップS57に移す。
ステップS54の判定においてSmax≦(Sth/(At×(1+b%))でない場合には、選択部31は処理をステップS56に移す。ステップS56において選択部31は、上限値Amaxを最大増幅率(Sth/Smax)に定め、下限値Aminを(At×(1−b%))に定める。その後、選択部31は処理をステップS57に移す。
ステップS57において選択部31は、ステップS55又はS56において下限値及び上限値が定められた範囲の信号増幅率Amin〜Amaxによって現在の音声フレーム信号が増幅されたときの最初のサンプル値の範囲を決定する。増幅前の現在の音声フレーム信号の最初のサンプル値をSa’とすると、増幅後の現在の音声フレーム信号の最初のサンプル値の範囲はSa’×Amin〜Sa’×Amaxである。
選択部31は、増幅後の現在の音声フレーム信号の最初のサンプル値Saに許される所定の許容範囲Sb×(1−Q%)〜Sb×(1+Q%)と、Sa’×Amin〜Sa’×Amaxとが重複しないか否かを判定する。これらの範囲が重複しないとき上記の所定の選択要件(3)を満たす信号増幅率が存在しないため、選択部31は、処理をステップS53へ移し、位相シフトが所定の選択要件を満たさないと決定して判定処理を終了する。
図13の(A)及び図13の(B)は、範囲Sb(1−Q%)〜Sb×(1+Q%)と範囲Sa’×Amin〜Sa’×Amaxが重複部分Rを有する2つの態様を示し、図13の(C)及び図13の(D)は、範囲Sa’×Amin〜Sa’×Amaxに重複部分がない2つの態様を示す。これらの図から明らかなように、(Sa’×Amin>Sb×(1+Q%))であるとき、または(Sb×(1−Q%)>Sa’×Amax)であるとき、2つの範囲には重複部分がない。
そこで選択部31は、(Sa’×Amin>Sb×(1+Q%))であるか、または(Sb×(1−Q%)>Sa’×Amax)であるか否かを判定することにより、範囲Sb×(1−Q%)〜Sb×(1+Q%)と範囲Sa’×Amin〜Sa’×Amaxとが重複しないか否かを判定する。これらの範囲が重複するとき、選択部31は処理をステップS58へ移す。ステップS58において選択部31は、位相シフトが所定の選択要件を満たすと決定して判定処理を終了する。
図11のステップS38の判定において、所定の選択要件を満たす位相シフトがある場合には、選択部31は処理をステップS39へ移し、所定の選択要件を満たす位相シフトがない場合には、選択部31は処理をステップS40へ移す。
ステップS39において選択部31は、所定の選択要件を満足する位相シフト量が与えられた音声フレーム信号のうち最小の最大振幅値を有する音声フレーム信号に与えられた位相シフト量を選択することにより、所定の選択要件を満たす位相シフトのうちから周波数fMの周波数成分に与える位相シフト量を選択する。選択部31は、選択した位相シフト量を示す位相選択信号を出力する。位相選択信号合成部32は、入力SLPinとして入力した位相選択信号と、選択部31が出力した位相選択信号とを合成する。位相選択信号合成部32は、合成した位相選択信号を出力SLPoutとして出力する。その後、処理はS41へ移る。
ステップS40において選択部31は、所定の優先順序付け基準に従って、逆フーリエ変換部30−1〜30−12により生成された各音声フレーム信号に与えられた位相シフト量のうち最も優先度が高い位相シフト量を、周波数fMの周波数成分に与える位相シフト量として選択する。優先順序付け基準として、各位相シフト量を与えた場合の、(1)各音声フレーム信号の最大振幅値の大小、(2)増幅部5において各音声フレーム信号にクリッピング歪みを生じさせずに増幅できる増幅率の範囲と目標増幅率Aとの間の距離の大小、(3)増幅部5において各音声フレーム信号にクリッピング歪みを生じない範囲で増幅させたときの各音声フレーム信号の最初のサンプル値と、その直前のフレームの最後のサンプル値との差の大小、などを使用してよい。
選択部31は、選択した位相シフト量を示す位相選択信号を出力する。位相選択信号合成部32は、入力SLPinとして入力した位相選択信号と、選択部31が出力した位相選択信号とを合成する。位相選択信号合成部32は、合成した位相選択信号を出力SLPoutとして出力する。その後、処理はS41へ移る。
ステップS41において、図9に示す逆フーリエ変換部13は、フーリエ変換部10から与えられる各周波数成分に、位相選択部14から与えられる位相選択信号によって指定される各位相シフトをそれぞれ与えて、周波数領域信号を逆フーリエ変換した音声フレーム信号を生成する。
図14は、図9に示す増幅率決定部4による信号増幅率の決定処理の第1例を示すフローチャートである。ステップS60において増幅率決定部4は、前フレームの最初のサンプルの値Sbの符号と、位相シフトを与えた現在のフレームの最後のサンプルの値Sa’の符号とが異なるか否かを判定する。Sbの符号とSa’の符号が同じ場合には処理はステップS62に移る。Sbの符号とSa’の符号が異なる場合には、ステップS61においてフレーム接続部7は現在のフレームの各サンプルの符号を反転させる。
ステップS62において増幅率決定部4は、音声フレーム信号の最大振幅値Smaxが、所定値(Sth/(At×(1−b%))より大きいか否かを判定する。Smax>(Sth/(At×(1−b%))であるとき増幅率決定部4は、処理をS63へ移行する。Smax>(Sth/(At×(1−b%))でないとき増幅率決定部4は、処理をS64へ移行する。
Smax>(Sth/(At×(1−b%))であるとき、音声フレーム信号にクリッピング歪みを生じない最大振幅値Smaxであっても信号増幅率の許容範囲の下限値(At×(1−b%))より小さい。したがってステップS63において増幅率決定部4は、信号増幅率Aを(At×(1−b%))に決定して処理を終了する。
ステップS64において増幅率決定部4は、Smax≦(Sth/(At×(1+b%))であるか否かを判定する。Smax≦(Sth/(At×(1+b%))であるとき増幅率決定部4は、処理をステップS65に移す。ステップS65において増幅率決定部4は、増幅部5にて使用可能な信号増幅率の上限値Amaxを(At×(1+b%))に定め、下限値Aminを(At×(1−b%))に定める。その後、増幅率決定部4は処理をステップS67に移す。
ステップS64の判定においてSmax≦(Sth/(At×(1+b%))でないとき増幅率決定部4は、処理をステップS66に移す。ステップS66において増幅率決定部4は、上限値Amaxを最大増幅率(Sth/Smax)に定め、下限値Aminを(At×(1−b%))に定める。その後、増幅率決定部4は処理をステップS67に移す。
ステップS67において増幅率決定部4は、ステップS65又はS66において定められた範囲の信号増幅率Amin〜Amaxによって現在の音声フレーム信号が増幅されたときの最初のサンプル値の範囲Sa’×Amin〜Sa’×Amaxと、増幅後の現在の音声フレーム信号の最初のサンプル値Saに許される所定の許容範囲Sb×(1−Q%)〜Sb×(1+Q%)と、が重複しないか否かを判定する。
これらの範囲が重複しないとき、増幅率決定部4は処理をステップS68に移行し、これらの範囲が重複するとき、増幅率決定部4は処理をステップS69に移行する。ステップS68において増幅率決定部4は、増幅率Amin〜Amaxのうち最も目標増幅率Atに近い増幅率を信号増幅率Aに選択し、処理を終了する。
ステップS69において増幅率決定部4は、増幅率Amin〜Amaxのうち、増幅前の現在のフレームの最初のサンプル値Sa’を増幅した値が、前フレームの最後のサンプル値Sbに最も近くなる増幅率を選択する。増幅率決定部4がこのような増幅率を選択することで、増幅後の現在のフレームの最初のサンプル値Saが前フレームの最後のサンプル値Sbに最も近くなるような信号増幅率が選択され、フレーム間のサンプル値のギャップを低減できる。
たとえば図15の(A)に示すように、増幅された現在の音声フレーム信号の最初のサンプル値の範囲Sa’×Amin〜Sa’×Amaxが、前フレームの最後のサンプル値Sbよりも小さい範囲であるときは、増幅率決定部4は最大の増幅率Amaxを選択する。また、図15の(B)に示すように、増幅された現在の音声フレーム信号の最初のサンプル値の範囲Sa’×Amin〜Sa’×Amaxが、前フレームの最後のサンプル値Sbよりも大きい範囲であるときは、増幅率決定部4は、最小の増幅率Aminを選択する。
図15の(C)に示すように、前フレームの最後のサンプル値Sbが、増幅された現在の音声フレーム信号の最初のサンプル値の範囲Sa’×Amin〜Sa’×Amaxの範囲内にあるときは、増幅率決定部4は増幅率(Sb/Sa’)を選択する。
図16は、図9に示す増幅率決定部4による信号増幅率の決定処理の第2例を示すフローチャートである。ステップS60〜S68までは図14を参照して説明した決定処理と同様である。ステップS67における判定において、増幅後の最初のサンプル値の範囲Sa’×Amin〜Sa’×Amaxと、所定の許容範囲Sb×(1−Q%)〜Sb×(1+Q%)とが重複するとき、増幅率決定部4は処理をステップS70に移す。
ステップS70において増幅率決定部4は、範囲Sa’×Amin〜Sa’×Amaxと、範囲Sb×(1−Q%)〜Sb×(1+Q%)との間の重複範囲Sa1〜Sa2を決定する。増幅率決定部4により決定される重複範囲Sa1〜Sa2の例を図17に示す。
ステップS71において増幅率決定部4は、値Sa1/Sa’〜Sa2/Sa’のうち最も目標増幅率Atに近い値を信号増幅率として選択する。増幅率決定部4がこのような値を信号増幅率として選択することで、上記の所定の選択要件を満たしつつ、かつ現在のフレームの信号増幅率と前フレームの信号増幅率とのギャップを低減することができる。
図18は、開示の音声処理装置の第3実施例の概略構成図である。図18に示す音声処理装置1は、図9に示す構成と類似する構成を有しており、図9に示す構成要素と同様の構成要素には同じ参照符号を使用し、また同一の機能については説明を省略する。
最大値減少化処理部3は、図2を参照して説明した位相選択部12−1と同様の位相選択部を直列にM段接続した位相選択部12−1、12−2、…12−Mと、位相選択部12−Mの後段に接続され、直列にN段接続される位相選択部15−1〜15−Nを備える。
図19は、図18に示す位相選択部15−1の構成例を示す図である。他の位相選択部15−2〜15−Nも同様の構成を有する。位相選択部15−i(i=1〜N)には、フーリエ変換部10から出力される周波数領域信号が入力Sfとして入力される。また、位相選択部15−iには、周波数選択部11から出力される(M+i)番目のスペクトル強度を有する周波数を指示する信号が入力SLfとして入力される。さらに位相選択部15−iには、前段の位相選択部である、位相選択部12−M又は位相選択部15−(i−1)から出力SLPoutとして出力される位相選択信号が入力SLPinとして入力される。
位相選択部15−1は、図2を参照して説明した逆フーリエ変換部20−1〜20−Lと同様に動作する逆フーリエ変換部40−1〜40−Lと、図2を参照して説明した位相選択信号合成部22と同様に動作する位相選択信号合成部42と、選択部41を備える。本実施例では自然数L=12の場合の構成例である。自然数Lは他の2以上の自然数を使用してもよい。
また位相選択部15−1〜15−Nには、目標増幅率決定部8が決定した目標増幅率Atと、フレーム記憶部6に記憶された前フレームの最後のサンプル値Sbが入力される。選択部41は、逆フーリエ変換部40−1〜40−12が生成する音声フレーム信号を入力する。
選択部41は、図12を参照して説明した判定処理を行い、逆フーリエ変換部40−1〜40−12により生成された各音声フレーム信号に与えられた位相シフトの中に、上述した所定の選択要件を満たす位相シフトがあるか否かを判定する。選択部41は、所定の選択要件を満たす位相シフトがある場合には値「1」を、その他の場合には値「0」を有する判定結果信号を出力Routとして出力する。
位相選択部15−i(i=1〜N)は、前段の位相選択部から出力Routとして出力された判定結果信号を入力Rinとして入力する。入力Rinとして入力された判定結果信号は、逆フーリエ変換部40−1〜40−12及び選択部41へ入力される。
逆フーリエ変換部40−1〜40−12及び選択部41は、入力された判定結果信号の値が「1」であるとき、すなわち前段の位相選択部15−(i−1)にて選択要件を満たす位相シフトが見つかった場合には処理を停止し、このとき選択部41は、出力Routの値を「1」に設定する。但し、第(M+1)段目の位相選択部15−1の入力Rinには値「0」が入力される。
位相選択部15−i(i=1〜N)の選択部41は、所定の選択要件を満足する位相シフト量が与えられた音声フレーム信号のうち、最小の最大振幅値を有する音声フレーム信号の周波数f(M+i)の周波数成分に与えられた位相シフト量を選択する。選択部41は、選択された音声フレーム信号に与えられた位相シフト量を示す位相選択信号を位相選択信号合成部42へ出力する。位相選択信号合成部42は、入力SLPinとして入力した位相選択信号と、選択部41が出力した位相選択信号とを合成し、合成した位相選択信号を出力SLPoutとして出力する。
前段の位相選択部15−1〜15−(N−1)から出力される位相選択信号は、後段の位相選択部15−2〜15−Nへ入力SLPinとして入力される。また各位相選択部15−1〜15−Nから出力される位相選択信号はセレクタ9へも入力される。
図18に示すとおり、セレクタ9は、各位相選択部15−i(i=1〜N)から出力される判定結果信号をセレクト信号に使用し、値「1」である判定結果信号を出力した各位相選択部15−iのうち、最前段に配置されている位相選択部から出力SLPoutとして出力される位相選択信号を選択して、逆フーリエ変換部13へ入力する。
図20は、図18に示す最大値減少化処理部3により実行される音声信号の最大値の減少化処理の第3例を示すフローチャートである。ステップS80〜ステップS86では、図4に示したステップS10〜S16にて第1番目〜第M番目の各周波数の周波数成分に与える位相が選択されたのと同様に、第1番目〜第M番目の各周波数の周波数成分に与える位相が選択される。但しステップS81において周波数選択部11は、第1番目〜第(M+N)番目に強いスペクトル強度を有する周波数fi(i=1〜M+N)を決定する。
ステップS87において各位相選択部15−i(i=1〜N)を参照するインデックス変数iの値を「1」に初期化する。
ステップS88において、(M+i)段目の位相選択部15−iは、第(M+i)番目のスペクトル強度を有する周波数f(M+i)を指示する信号を入力SLfとして受信する。
位相選択部15−iの逆フーリエ変換部40−j(j=1〜12)は、フーリエ変換部10から与えられた各周波数成分のうち、入力SLfによって指定された周波数f(M+i)以外の他の各周波数成分には、前段の位相選択部15−(i−1)から入力した位相選択信号によって指定される各シフト量の位相シフトをそれぞれ与え、かつ周波数f(M+i)の周波数成分にはそれぞれ(360/L×(j−1))度の位相シフトを与えて時間領域信号に逆フーリエ変換する。
ステップS89において、位相選択部15−iの選択部41は、逆フーリエ変換部40−1〜40−12により生成された各音声フレーム信号に与えられた位相シフトの中に、上述した所定の選択要件を満たす位相シフトがあるか否かを判定する。ある位相シフトが所定の選択要件を満足するか否かを判定する判定処理は、図12を参照して示した処理と同様でよい。
ステップS89の判定において、所定の選択要件を満たす位相シフトがあるとき選択部41は処理をステップS90へ移し、所定の選択要件を満たす位相シフトがないとき選択部41は処理をステップS91へ移す。
ステップS90において選択部41は、図11に示すステップS39と同様にして周波数f(M+i)の周波数成分に与える位相シフト量を選択する。選択部41は、選択した位相シフト量を示す位相選択信号を出力する。位相選択信号合成部42は、入力SLPinとして入力した位相選択信号と、選択部41が出力した位相選択信号とを合成する。位相選択信号合成部42は、合成した位相選択信号を出力SLPoutとして出力する。その後、処理はS95へ移る。
ステップS91において選択部41は、逆フーリエ変換部40−1〜40−12により生成された各音声フレーム信号のうち、最大振幅値が最小である音声フレーム信号を選択する。選択部41は、逆フーリエ変換部40−1〜40−12のうち、選択された音声フレーム信号の周波数成分f(M+i)に与えられた位相シフト量を示す位相選択信号を出力する。位相選択信号合成部42は、入力SLPinとして入力した位相選択信号と、選択部41が出力した位相選択信号とを合成する。位相選択信号合成部42は、合成した位相選択信号を出力SLPoutとして出力する。
ステップS92において、インデックス変数iの値を1つ増加する。ステップS93において、インデックス変数iの値が「N」以下であるとき、すなわち、まだ位相選択処理が済んでいない位相選択部の段が残っている場合には、処理はステップS88へ戻り、ステップS88〜S93が反復される。
ステップS93の判定において、インデックス変数iの値が「N」以下でないとき、処理はステップS94へ移る。ステップS94において選択部41は、図11に示すステップS40と同様にして周波数f(M+N)の周波数成分に与える位相シフト量を選択する。その後、処理はS95へ移る。
ステップS95において図18に示すセレクタ9は、各位相選択部15−i(i=1〜N)から出力される判定結果信号をセレクト信号に使用して、各位相選択部15−iから出力される位相選択信号からいずれか1つを選択して逆フーリエ変換部13へ入力する。逆フーリエ変換部13は、入力された位相選択信号によって指定される位相シフトを、フーリエ変換部10から与えられる各周波数成分に与え、周波数領域信号を逆フーリエ変換した音声フレーム信号を生成する。
本実施例により、所定の選択要件を満たす位相シフトを決定するのが容易な音声フレーム信号については、比較的少ない段数の位相選択部によってより少ない計算量で位相シフトを決定することができ、一方で所定の選択要件を満たす位相シフトを決定するのが難しい音声フレーム信号については、位相選択部の段数を動的に増やしてより適切な位相シフトを決定することができる。
図21は、開示の音声処理装置の第4実施例の概略構成図である。図21に示す音声処理装置1は、図18に示す構成と類似する構成を有しており、図18に示す構成要素と同様の構成要素には同じ参照符号を使用し、また同一の機能については説明を省略する。
フーリエ変換部10は、音声フレーム信号をフーリエ変換して、音声フレーム信号のM個の周波数fi(i=1〜M)の各周波数成分を示す周波数領域信号を生成する。周波数選択部16は、フーリエ変換部10から与えられる各周波数成分のスペクトル強度にしたがって、スペクトル強度が強い順に、各周波数fiを指示する信号を入力SLfとして位相選択部15−1へ順次入力する。
最大値減少化処理部3は、図18に示す位相選択部15−1を備える。位相選択部15−1は、それぞれ出力SLPout及び出力Routとして出力した位相選択信号及び判定結果信号を、入力SLPin及び入力Rinとしてフィードバックする。
位相選択部15−1は、第i番目のスペクトル強度の周波数fiの周波数成分に与える位相シフト量を選択したときに出力SLPoutとして出力した位相選択信号を、第(i+1)番目のスペクトル強度の周波数f(i+1)の周波数成分に与える位相シフト量を決定する際の入力SLPinとしてフィードバックする。
また、位相選択部15−1は、周波数fiの周波数成分に与える位相シフト量を選択したときに出力Routとして出力した判定結果信号を、周波数f(i+1)の周波数成分に与える位相シフト量を決定する際の入力Rinとしてフィードバックする。
最大値減少化処理部3はスイッチ17を備える。スイッチ17は、第1番目の周波数f1の周波数成分に与える位相シフト量の選択の際に、入力Rinには「0」を入力し、入力SLPinには、全ての周波数成分について位相シフト量を指定しない位相選択信号を入力する。
位相選択部15−1から出力SLPout及び出力Routとして出力された位相選択信号及び判定結果信号は、逆フーリエ変換部13に入力される。逆フーリエ変換部13は、判定結果信号の値が「1」になったときに入力された位相選択信号によって指定される位相シフトを、フーリエ変換部10から与えられる各周波数成分に与え、周波数領域信号を逆フーリエ変換した音声フレーム信号を生成する。
本実施例の最大値減少化処理部3は、上述の所定の選択要件を満たす位相シフト量が見つかるか、またはフーリエ変換部10が生成したM個の周波数の周波数成分f1〜fMのすべてについて位相シフト量を決定し終わるまで、周波数f1〜fMの周波数成分に与えるべき各位相シフト量を、1段の位相選択部15−1によって選択することができる。
図22は、図21に示す最大値減少化処理部3により実行される音声信号の最大値の減少化処理の第4例を示すフローチャートである。ステップS100において図21に示すフーリエ変換部10は、音声フレーム信号をフーリエ変換して、M個の周波数fi(i=1〜M)について、音声フレーム信号の各周波数成分を示す周波数領域信号を生成する。
ステップS101において周波数選択部16は、各周波数fiの周波数成分のスペクトル強度にしたがって、各周波数fiを指示する信号をスペクトル強度が強い順に位相選択部15−1へ入力する順番を決定する。ステップS102において、第1番目から第M番目のスペクトル強度の周波数fiを参照するインデックス変数iの値を「1」に初期化する。
ステップS103において、位相選択部15−1は、フーリエ変換部10から与えられた周波数領域信号に含まれる第i番目にスペクトル強度が強い周波数fiを指示する信号を入力SLfとして受信する。
位相選択部15−1の逆フーリエ変換部40−j(j=1〜12)は、入力SLfによって指定された周波数fi以外の他の各周波数成分には、周波数f(i−1)に与える位相シフト量を選択したときに出力SLPoutとして出力した位相選択信号によって指定される各シフト量の位相シフトをそれぞれ与え、かつ周波数fiの周波数成分にはそれぞれ(360/L×(j−1))度の位相シフトを与えて時間領域信号に逆フーリエ変換する。
ステップS104において、位相選択部15−1の選択部41は、逆フーリエ変換部40−1〜40−12により生成された各音声フレーム信号に与えられた位相シフトの中に、上述した所定の選択要件を満たす位相シフトがあるか否かを判定する。ある位相シフトが所定の選択要件を満足するか否かを判定する判定処理は、図12を参照して示した処理と同様でよい。
ステップS104の判定において、所定の選択要件を満たす位相シフトがあるとき選択部41は処理をステップS105へ移し、所定の選択要件を満たす位相シフトがないとき選択部41は処理をステップS106へ移す。ステップS105において選択部41は、図11に示すステップS39と同様にして周波数fiの周波数成分に与える位相シフト量を選択する。
選択部41は、選択した位相シフト量を示す位相選択信号を出力する。位相選択信号合成部42は、入力SLPinとして入力した位相選択信号と、選択部41が出力した位相選択信号とを合成する。位相選択信号合成部42は、合成した位相選択信号を出力SLPoutとして出力する。また選択部41は、判定結果信号の値を「0」から「1」へ変化させる。その後、処理はステップS110へ移る。
ステップS106において、選択部41は、逆フーリエ変換部40−1〜40−12により生成された各音声フレーム信号のうち、最大振幅値が最小である音声フレーム信号を選択する。選択部41は、逆フーリエ変換部40−1〜40−12のうち、選択された音声フレーム信号の周波数成分fiに与えられた位相シフト量を示す位相選択信号を出力する。位相選択信号合成部42は、入力SLPinとして入力した位相選択信号と、選択部41が出力した位相選択信号とを合成する。位相選択信号合成部42は、合成した位相選択信号を出力SLPoutとして出力する。
ステップS107において、インデックス変数iの値を1つ増加する。ステップS108において、インデックス変数iの値が「M」以下であるとき、すなわち、まだ位相選択処理が済んでいない周波数が残っている場合には、処理はステップS103へ戻り、ステップS103〜S108が反復される。
ステップS108の判定において、インデックス変数iの値が「M」以下でないとき、処理はステップS109へ移る。ステップS109において選択部41は、図11に示すステップS40と同様にして周波数fMの周波数成分に与える位相シフト量を選択する。
選択部41は、選択した位相シフト量を示す位相選択信号を出力する。位相選択信号合成部42は、入力SLPinとして入力した位相選択信号と、選択部41が出力した位相選択信号とを合成する。位相選択信号合成部42は、合成した位相選択信号を出力SLPoutとして出力する。また選択部41は、判定結果信号の値を「0」から「1」へ変化させる。その後処理は、ステップS110へ移る。
ステップS110において図21に示す逆フーリエ変換部13は、判定結果信号の値が「1」になったときに入力された位相選択信号によって指定される位相シフトを、フーリエ変換部10から与えられる各周波数成分に与え、周波数領域信号を逆フーリエ変換した音声フレーム信号を生成する。
図23は、開示の音声処理装置の第5実施例の概略構成図である。図23に示す音声処理装置1は、図18に示す構成と類似する構成を有しており、図18に示す構成要素と同様の構成要素には同じ参照符号を使用し、また同一の機能については説明を省略する。
最大値減少化処理部3は、フーリエ変換部10と、逆フーリエ変換部50と、音声信号選択部51とを備える。フーリエ変換部10は、音声フレーム信号をフーリエ変換して、K個の周波数fi(i=1〜K)について、音声フレーム信号の各周波数成分を示す周波数領域信号を生成する。
逆フーリエ変換部50は、K個の周波数fi(i=1〜K)の全ての周波数成分のそれぞれに、複数種類のシフト量Δθj=(360/L×(j−1))(j=1〜L)度の位相シフトのうちのいずれかを与える位相シフトの全ての組み合わせについて、それぞれの組み合わせの位相シフトを各周波数成分に与えて逆フーリエ変換を行うことにより、LK個の音声フレーム信号を生成する。
すなわち逆フーリエ変換部50は、各周波数fiの周波数成分にそれぞれ与えるべき位相シフト量が以下の表1によって与えられる、LK組の位相シフトの組み合わせPS−1〜PS−LKの各々を、各周波数成分に与えて逆フーリエ変換を行うことによって、LK個の音声フレーム信号を生成する。
音声信号選択部51には、目標増幅率決定部8が決定した目標増幅率Atと、フレーム記憶部6に記憶された前フレームの最後のサンプル値Sbが入力される。音声信号選択部51は、逆フーリエ変換部50により生成された各音声フレーム信号の最大振幅値に基づいて、これら各音声フレーム信号に与えられた位相シフトのうち、所定の選択要件を満足する音声フレーム信号があるか否かを判定する。
ここである音声フレーム信号が選択されるための所定の選択要件は、図9〜図12を参照して説明した、位相シフト量が選択されるための所定の選択要件と同様の条件である。すなわち、ある音声フレーム信号に対して、上記の条件(1)〜(3)が満たす信号増幅率Aが存在することである。
音声信号選択部51は、所定の選択要件を満足する音声フレーム信号のうち、最小の最大振幅値を有する音声フレーム信号を選択して増幅率決定部4及び増幅部5へ出力する。
図24は、図23に示す最大値減少化処理部3により実行される音声信号の最大値の減少化処理の第5例を示すフローチャートである。ステップS120において、フーリエ変換部10は、音声フレーム信号をフーリエ変換して、K個の周波数fi(i=1〜K)について、音声フレーム信号の各周波数成分を示す周波数領域信号を生成する。
ステップS121において逆フーリエ変換部50は、周波数fi(i=1〜K)の全ての周波数成分のそれぞれに、複数種類のシフト量Δθj=(360/L×(j−1))(j=1〜L)度の位相シフトのうちのいずれかを与える位相シフトの全ての組み合わせPS−1〜PS−LKを各周波数成分に与えて逆フーリエ変換を行って音声フレーム信号を生成する。
ステップS122において音声信号選択部51は、逆フーリエ変換部50により生成された各音声フレーム信号の中に、上述した所定の選択要件を満たす音声フレーム信号があるか否かを判定する。ある音声フレーム信号が所定の選択要件を満足するか否かを判定する判定処理は、図12を参照して示した処理と同様の処理でよい。
ステップS122の判定において、所定の選択要件を満たす音声フレーム信号があるとき音声信号選択部51は処理をステップS123へ移し、所定の選択要件を満たす音声フレーム信号がないとき音声信号選択部51は処理をステップS124へ移す。
ステップS123において音声信号選択部51は、所定の選択要件を満足する音声フレーム信号のうち最小の最大振幅値を有する音声フレーム信号を選択し、処理を終了する。ステップS124において音声信号選択部51は、所定の優先順序付け基準に従って、逆フーリエ変換部50により生成された各音声フレーム信号のうち最も優先度が高い音声フレーム信号を選択する。優先順序付け基準として、(1)各音声フレーム信号の最大振幅値の大小、(2)増幅部5において各音声フレーム信号にクリッピング歪みを生じさせずに増幅できる増幅率の範囲と目標増幅率Aとの間の距離の大小、(3)増幅部5において各音声フレーム信号にクリッピング歪みを生じない範囲で増幅させたときの各音声フレーム信号の最初のサンプル値と、その直前のフレームの最後のサンプル値との差の大小、などを使用してよい。
本実施例では、全ての位相シフト量の組み合わせPS−1〜PS−LKを与えた場合の音声フレーム信号について比較を行うので、より最適な音声フレーム信号を選択できる。
図25は、開示の音声処理装置の第6実施例の概略構成図である。図25に示す音声処理装置1は、図23に示す構成と類似する構成を有しており、図23に示す構成要素と同様の構成要素には同じ参照符号を使用し、また同一の機能については説明を省略する。
最大値減少化処理部3は、異なる周波数−位相特性を有する複数のオールパスフィルタ60−1〜60−Tと、音声信号選択部61とを備える。フレーム分割部2から出力される音声フレーム信号は、並列に配置されたオールパスフィルタ60−1〜60−Tによってフィルタリングされる。
図26は、オールパスフィルタ60−1〜60−Tの周波数−位相特性の例を示す特性図である。オールパスフィルタ60−1〜60−Tは、入力信号の周波数成分に応じて、それぞれの周波数成分に異なるシフト量Δθの位相シフトを与えるフィルタである。図示のC1〜C3はそれぞれ異なる周波数−位相特性を示し、これらの特性C1〜C3の間において、各周波数における位相シフト量が異なっている。
オールパスフィルタ60−1〜60−Tとして、C1〜C3に示すような異なる周波数−位相特性を有するフィルタを使用することにより、ユーザの聴覚により感知される音声品質を劣化させずに、異なる波形を有する、すなわち異なる最大振幅値を有する音声信号を生成することができる。したがって、オールパスフィルタ60−1〜60−Tは、上述した図23において複数の異なるシフト量の位相シフトを与えて逆フーリエ変換を行う逆フーリエ変換部50の代わりに使用することができる。
図27は、(A)〜(D)はオールパスフィルタの第1〜4構成例を示す構成図であり、図28は、(A)及び(B)はオールパスフィルタの第5及び6構成例を示す構成図である。各図において要素60及び61はそれぞれ増幅率b1及びb2で信号増幅を行う増幅器を示し、要素70〜73は1サンプル分の遅延を与える遅延素子を示し、要素80〜82は加算器を示す。増幅率b1及びb2を変えて各例のオールパスフィルタを構成することによって、異なる周波数−位相特性を有するオールパスフィルタを実現することが可能である。
各オールパスフィルタ60−1〜60−Tの各々によってフィルタリングされた音声フレーム信号は、図25の音声信号選択部61に入力される。音声信号選択部61には、目標増幅率決定部8が決定した目標増幅率Atと、フレーム記憶部6に記憶された前フレームの最後のサンプル値Sbが入力される。音声信号選択部61は、オールパスフィルタ60−1〜60−Tによりそれぞれフィルタリングされた各音声フレーム信号の最大振幅値に基づいて、これら各音声フレーム信号に与えられた位相シフトのうち、上述の所定の選択要件を満足する音声フレーム信号があるか否かを判定する。
音声信号選択部61は、所定の選択要件を満足する音声フレーム信号のうち、最小の最大振幅値を有する音声フレーム信号を選択して増幅率決定部4及び増幅部5へ出力する。
図29は、図25に示す最大値減少化処理部3により実行される音声信号の最大値の減少化処理の第6例を示すフローチャートである。ステップS130において、フレーム分割部2から出力される音声フレーム信号を、各オールパスフィルタ60−1〜60−Tにてフィルタリングする。
ステップS131において音声信号選択部61は、各オールパスフィルタ60−1〜60−Tによってフィルタリングした後の各音声フレーム信号の中に、上述した所定の選択要件を満たす音声フレーム信号があるか否かを判定する。ある音声フレーム信号が所定の選択要件を満足するか否かを判定する判定処理は、図12を参照して示した処理と同様の処理でよい。
ステップS131の判定において、所定の選択要件を満たす音声フレーム信号があるとき音声信号選択部61は処理をステップS132へ移し、所定の選択要件を満たす音声フレーム信号がないとき音声信号選択部61は処理をステップS133へ移す。
ステップS132において音声信号選択部61は、所定の選択要件を満足する音声フレーム信号のうち最小の最大振幅値を有する音声フレーム信号を選択し、処理を終了する。ステップS133において音声信号選択部61は、図24のステップS124と同様の処理により各音声フレーム信号を選択し、処理を終了する。
本構成例によれば、フーリエ変換及び逆フーリエ変換を行うことなく、簡易な構成で最大値減少化処理部3を実現することができる。
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
ディジタル音声信号を所定長毎に分割した音声フレーム信号の周波数成分に、互いに異なる位相シフトを与えることにより得られる複数の異なる音声フレーム信号の、それぞれの最大振幅値を決定する最大振幅値決定手段と、
前記複数の異なる音声フレーム信号のうち最大振幅値が最も小さいものを選択する選択手段と、を備える音声信号処理装置。
(付記2)
前記最大振幅値決定手段は、
前記音声フレーム信号の各周波数成分を決定する周波数成分決定手段と、
前記各周波数成分にそれぞれ与えられる位相シフト量の複数の組み合わせを決定する組み合わせ決定手段と、を備え、
前記選択手段は、前記組み合わせ決定手段により決定された前記複数の組み合わせのうち、前記音声フレーム信号の最大振幅値を最も小さくする組み合わせを選択する付記1に記載の音声信号処理装置。
(付記3)
前記組み合わせ決定手段は、前記周波数成分決定手段により決定されたいずれか1つの周波数成分に、互いに異なるシフト量の位相シフトを与えて複数の候補信号を生成する候補生成手段を備え、
前記選択手段は、前記複数の候補信号のうち最大振幅値が最も小さい候補信号に与えられたシフト量を選択する候補選択手段を備える、付記2に記載の音声信号処理装置。
(付記4)
前記候補生成手段及び前記候補選択手段は、複数の前記周波数成分についてスペクトル強度が大きい順に前記複数の候補信号の生成と前記シフト量の選択を行い、
前記候補生成手段は、各周波数成分について前記複数の候補信号を作成するとき、当該周波数成分よりも以前にシフト量が選択された他の周波数成分に対して、それぞれの周波数成分について選択されたシフト量を与えて前記複数の候補信号を作成する付記3に記載の音声信号処理装置。
(付記5)
前記候補生成手段及び前記候補選択手段は、前記周波数成分決定手段が決定した各周波数成分のうちから順次選択された周波数成分について、前記複数の候補信号の生成と前記シフト量の選択を行い、
前記候補生成手段は、各周波数成分について前記複数の候補信号を作成するとき、当該周波数成分よりも以前にシフト量が選択された他の周波数成分に対して、それぞれの周波数成分について選択されたシフト量を与えて前記複数の候補信号を作成し、
前記候補生成手段及び前記候補選択手段は、各周波数成分に対してそれぞれ選択されたシフト量を与えることにより生成される候補信号の最大振幅値が所定の閾値より小さくなったとき、前記候補信号の生成とシフト量の選択を停止する付記3に記載の音声信号処理装置。
(付記6)
前記候補選択手段は、最大振幅値に基づいて、所定の増幅器において所定の許容範囲内の信号増幅率にて各候補信号を増幅できるか否かをそれぞれ判定し、増幅できると判定された各候補信号にそれぞれ与えられたシフト量の中から、前記シフト量の選択を行う付記3〜5のいずれか一項に記載の音声信号処理装置。
(付記7)
前記音声信号処理装置は、現在の音声フレーム信号の1つ前に処理された前フレームの少なくとも最後のサンプルを記憶するフレーム記憶手段を備え、
前記候補選択手段は、前記候補信号の最大振幅値に応じて信号増幅率を決定する増幅率決定手段と、決定された前記信号増幅率で増幅されたときの前記候補信号の最初のサンプル値を決定するサンプル値決定部と、を備え、
前記候補選択手段は、前記サンプル値決定部によって決定されたサンプル値が、前フレームの最後のサンプル値から所定の許容範囲内に収まる各候補信号にそれぞれ与えられたシフト量の中から、前記シフト量の選択を行う付記3〜5のいずれか一項に記載の音声信号処理装置。
(付記8)
前記組み合わせ決定手段は、前記周波数成分決定手段により決定される全ての周波数成分の各々に対して、シフト量が異なる複数の位相シフトの各々を与えて複数の音声フレーム信号を生成する候補生成手段を備え、
前記選択手段は、前記複数の音声フレーム信号のうち最大振幅値が最も小さいものを選択する付記2に記載の音声信号処理装置。
(付記9)
前記最大振幅値決定手段は、前記音声フレーム信号をフィルタリングする、異なる周波数−位相特性を有する複数のオールパスフィルタを備え、
前記選択手段は、前記複数のオールパスフィルタによりフィルタリングされた前記音声フレーム信号のうち、最大振幅値を最も小さいものを選択する付記1に記載の音声信号処理装置。
(付記10)
前記選択手段は、最大振幅値に基づいて、所定の増幅器において所定の許容範囲内の信号増幅率にて前記音声フレーム信号を増幅できるか否かをそれぞれ判定し、増幅できると判定された音声フレーム信号の中から、音声フレーム信号の選択を行う付記8又は9に記載の音声信号処理装置。
(付記11)
前記音声信号処理装置は、現在の音声フレーム信号の1つ前に処理された前フレームの少なくとも最後のサンプルを記憶するフレーム記憶手段を備え、
前記選択手段は、前記音声フレーム信号の最大振幅値に応じて信号増幅率を決定する増幅率決定手段と、決定された前記信号増幅率で増幅されたときの前記音声フレーム信号の最初のサンプル値を決定するサンプル値決定部と、を備え、
前記選択手段は、前記サンプル値決定部によって決定されたサンプル値が、前フレームの最後のサンプル値から所定の許容範囲内に収まる音声フレーム信号のうちから、音声フレーム信号の選択を行う付記8又は9に記載の音声信号処理装置。
(付記12)
前記選択手段により選択された前記音声フレーム信号の最大振幅値に応じた信号増幅率で前記音声フレーム信号を増幅する信号増幅手段と、
現在の音声フレーム信号の1つ前に処理された前フレームへ、前記信号増幅手段により増幅された前記音声フレーム信号を接続するフレーム接続手段と、をさらに備え、
該フレーム接続手段は、前記音声フレーム信号の最初のサンプル値と前記前フレームの最後のサンプル値との間に存在する目標値を選択し、前記音声フレーム信号の初めの複数サンプルの値と前記前フレームの最後の複数サンプルの値とを前記目標値に向かって漸近させる付記1〜11に記載の音声信号処理装置。
(付記13)
ディジタル音声信号を所定長毎に分割した音声フレーム信号の周波数成分に位相シフトを与えることにより前記音声フレーム信号の最大振幅値を減少化させる最大値減少化手段と、
最大振幅値が減少化された後の音声フレーム信号の最大振幅値に応じて決定される信号増幅率で、前記最大振幅値が減少化された後の音声フレーム信号を増幅する信号増幅手段と、
を備える音声信号処理装置。
(付記14)
ディジタル音声信号を所定長の音声フレーム信号に分割し、
分割された前記音声フレーム信号の周波数成分に互いに異なる位相シフトを与えることにより得られる複数の異なる音声フレーム信号の、それぞれの最大振幅値を決定し、
前記複数の異なる音声フレーム信号のうち最大振幅値が最も小さいものを選択する、
音声信号処理方法。
(付記15)
ディジタル音声信号を所定長の音声フレーム信号に分割し、
分割された前記音声フレーム信号の周波数成分に位相シフトを与えることにより前記音声フレーム信号の最大振幅値を減少化させ、
最大振幅値が減少化された後の音声フレーム信号の最大振幅値に応じて決定される信号増幅率で、前記最大振幅値が減少化された後の音声フレーム信号を増幅する、
音声信号処理方法。