JP4509413B2 - 電子機器 - Google Patents
電子機器 Download PDFInfo
- Publication number
- JP4509413B2 JP4509413B2 JP2001095039A JP2001095039A JP4509413B2 JP 4509413 B2 JP4509413 B2 JP 4509413B2 JP 2001095039 A JP2001095039 A JP 2001095039A JP 2001095039 A JP2001095039 A JP 2001095039A JP 4509413 B2 JP4509413 B2 JP 4509413B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- noise
- value
- band
- reduction amount
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Circuit For Audible Band Transducer (AREA)
- Telephone Function (AREA)
Description
【発明の属する技術分野】
本発明は、音声信号の送受を取り扱う携帯電話などの電子機器に関する。
【0002】
【従来の技術】
携帯電話などの音声の送受を行う通信システムにおいては、ハウリングなどの防止のため、ボイススイッチが通信システムを構成する電子機器(携帯電話など)に搭載されている。
【0003】
ボイススイッチは送受信の信号ループのなかに恒常的にLOSSを挿入するものであり、受信信号もしくは送信信号のどちらか一方に所定の信号低減量を課すものである。
【0004】
一般的には、受話のみのときには送信信号に、送話のみのときには受信信号にLOSSを挿入するように設定されている。いわゆるダブルトークの際もしくは無話状態のときには、例えば、送話側にLOSSが挿入されるように設定されている。
【0005】
また携帯電話など音声通信を行う電子機器では、CELP(Code Excited Linear Prediction)方式などの音声符号化方式が用いられている。
【0006】
このような機器を背景雑音の大きい環境下で使用すると、この背景雑音が取り込まれて符号化され音声の明瞭感が低下してしまう。そのため、背景雑音を除去もしくは抑制して音声のみの信号に近づけて音声符号化を行う技術(ノイズキャンセラ)が研究され、電子機器に搭載されてきている。
【0007】
【発明が解決しようとする課題】
前述のごとく、ボイススイッチ及びノイズキャンセラはそれぞれ異なる目的を有するため、両者を備えた電子機器においては、それぞれ独自にその機能を発揮するように個別に動作している。
【0008】
従って両者が同一の信号系(たとえば送話系)に信号低減をいれた場合はどちらの機能にとっても必要以上の信号低減が行われてしまうという問題点がある。
【0009】
また、音声検出機能及び信号低減機能は共通の機能である。従って信号処理的には冗長な領域が存在していることになる。
【0010】
本発明は以上の点を考慮してなされたものであり、ノイズキャンセラとボイススイッチとを有する際の音声信号処理が改善された電子機器の提供を目的とする。
【0011】
【課題を解決するための手段】
本発明は、送受信される音声信号を取得し、送信信号または受信信号の少なくとも一方への信号低減を行う電子機器であって、
送信信号または受信信号の音声検出結果に基づいて送信信号への第1の信号低減量を設定するボイススイッチと、
送信信号を取得し、前記ボイススイッチによって設定された第1の信号低減量以下の最終信号低減量で送信信号への信号低減を行うノイズキャンセラとを備えたことを特徴とする電子機器である。
【0012】
すなわちボイススイッチによる信号低減量(A)とノイズキャンセラによる信号低減量(B)とを単純に加算することなく、両者を比較して適正な信号減衰量を決定するというものである。
【0013】
一般的にノイズキャンセラの方がきめ細かいノイズ低減を行うように動作するので(信号減衰量の時間変化が細やか)、ノイズキャンセラの信号低減量(B)を基準に送信/受信系に挿入する信号低減量を決定することが好ましい。
【0014】
しかしながらハウリング防止などの観点から一定量の信号低減は送信/受信系のいずれかには入れる必要がある。
【0015】
従って、信号低減量の基準としてはノイズキャンセラの信号低減量(B)を採用し、信号低減量の上限(絶対値としては下限)をボイススイッチの信号低減量(A)とすることが好ましい。
【0016】
すなわち、ノイズキャンセラの信号低減量(B)がボイススイッチの信号低減量(A)以下となるように調整することで達成できる。
【0017】
またボイススイッチのLOSSは送信系,受信系のいずれかに挿入されるが、その判断は送信系/受信系のどちらに音声信号が存在するかの判断による。この判断手法は種々の方法があり特段限定するものではない。
【0018】
しかしながら、ノイズキャンセラでも音声信号の有無の判断を行っているので、この結果を利用することでボイススイッチにおける独自の音声信号有無検出の処理を省略することができる。
【0020】
本発明で用いるノイズキャンセラとしては時間領域におけるノイズ抑制方式,周波数領域におけるノイズ抑制方式など各種方式を採用することができる。
【0021】
例えば特許2995737号公報には、入力信号を所定期間のフレームに分割し、フレーム毎に雑音/音声を判断し、雑音フレームと判断された場合には帯域別のゲイン値を最小に設定し、音声フレームと判断された場合にはそれを超えるゲイン値を設定し、ノイズ抑圧を行う方式が開示されており、これを用いることもできる。
【0022】
また、入力信号を定められた時間単位のフレームに分割し、この分割されたフレームを所定の周波数帯域に分割し、この分割された帯域ごとに雑音の抑圧処理を行うノイズ抑制方法において:前記フレームが雑音フレームであるか音声フレームであるかの判定を行う音声フレーム判定ステップと;前記音声フレーム判定ステップの結果に基づき各フレームの帯域別ゲイン値を設定する帯域別ゲイン決定ステップと;前記帯域ゲイン決定ステップにより決定された帯域別ゲイン値を用いて帯域毎に雑音抑圧を行った後にフレームを再構成して雑音抑制された出力信号を生成する信号生成ステップとを具備し、前記帯域別ゲイン決定ステップでは、決定対象のフレームが音声フレームであると判定された場合の帯域別ゲイン値が、決定対象のフレームが雑音フレームであると判定された場合の帯域別ゲイン値より小さい値を取り得るように帯域別ゲイン値の設定が行われることを特徴とするノイズキャンセラを採用することもできる。
【0023】
この方式では音声フレーム内での音声成分を含まない帯域のノイズ抑制が十分に行われ、良好なノイズ低減を行うことができる。すなわち、雑音抑圧を行う際の帯域別のゲイン値を音声フレームと雑音フレームとで区別して決定するだけではなく、雑音フレームの帯域別最小ゲイン値よりも音声フレームの帯域別最小ゲイン値の方が小さくなるように設定することで、ノイズ抑圧後の音声信号の聴感が改善されるている。
【0024】
音声フレームと判断されたフレームでも全ての帯域に音声成分が含まれているとは限らない。音声フレームと判断されたフレーム内の音声成分が含まれない(若しくは音声成分が少ない)と推定される帯域に関しては、雑音フレームの帯域別ゲイン値より小さいゲインを設定し、音声フレーム内での音声成分の含まれる帯域を際立たせることで良好な聴感が得られるのである。
【0025】
すなわち、決定対象フレームが音声フレームであると判定されたフレーム内の音声成分が含まれないと推定された帯域の帯域別ゲイン値を、決定対象のフレームが雑音フレームであると判定された場合の帯域別ゲイン値より小さい値を取るように帯域別ゲイン値の設定を行うことにより、音声フレーム内の音声成分を含む帯域をより際立たせることができ、結果として聴感の良好なノイズ抑圧された出力信号を得ることができる。
【0026】
なお、雑音フレームにおいては、各帯域に関し一定値のゲイン値を設定する様にしても良いし、帯域別パワーと雑音パワーとの差に基づいて変化するように設定してもよい。
【0027】
また、音声フレームに関しては帯域別パワーと雑音パワーの差に基づく指標が大きくなるにつれ帯域別ゲイン値が大きくなるように設定し、この指標が所定値以下の場合は一定値とする設定も可能である。連続的に減少する関数を採用することも構わない。
【0028】
このようなノイズ抑制方法においては、前述の帯域別ゲインを決定する前段階として、雑音パワーの推定値の更新を行う段階がある。この雑音推定値は、所定の条件で更新され、例えば特表平10−513030号に開示されたノイズ抑圧方法に開示された更新方法を採用することができる。
【0029】
この更新方法は、各フレームの個々の帯域ごとのSNR(信号エネルギ/雑音エネルギの対数値)に重み付けを行ったものの合計であるボイスメトリックを用いるものであり、個々の帯域ごとの偏差(信号エネルギの対数値−過去の信号エネルギの平均値の対数値)の絶対値をとったものの合計であるスペクトル偏差を用いて雑音推定値を更新する技術であり、このスペクトル偏差がしきい値を一定時間(例えば1秒間)下回った場合は推定雑音値が更新される。
【0030】
また、スペクトル偏差の値をそのまま判定に用いるのではなく、過去フレームとの間で、帯域パワーと雑音パワーとの差の偏差合計をその平均値で正規化し、この正規化値をもとに雑音区間の判定を行うことで、上記方法に比べフレーム間の変動の大きい雑音を雑音として認識することができる方法を採用することもできる。
【0031】
すなわち、帯域別パワーと帯域別雑音パワー推定値との差に所定の重み付けを行った帯域別有意値(suby)の現フレームと前フレームとの差を合計した値(sum)を、その平均値(sum_average)で正規化した比率(r)をもとに現フレームが雑音フレームであるか否かの判定を行う方法である。
【0032】
このように過去フレームとの帯域別有意値(suby)の偏差を利用し、この偏差合計値の平均値で偏差を正規化した値を判定根拠に用いることでフレーム毎のばらつきを緩和することができるので、安定した雑音フレーム判定を行うことができる。従ってフレーム間のばらつきが大きい雑音に対しても雑音としての認識を良好に行うことができる。
【0033】
より詳細に説明すると、送信入力信号を定められた時間単位のフレームに分割するフレーム分割ステップと;各々のフレームについて複数の周波数帯域に分割する周波数帯域分割ステップと;各々の周波数帯域について帯域別パワー(channel_power)を算定する帯域別パワー算定ステップと;各々の周波数帯域について帯域別雑音パワー推定値(noise_power)と前記帯域別パワー(chennel_power)との差(tmp)を算定し、この差(tmp)に所定の重み付けを行って得た帯域別有意値(suby)を所定の条件にて加算した有意値(y)を算定する有意値算定ステップと;現フレームと前のフレームとの間で、各々の周波数帯域について帯域別有意値(suby)の差の絶対値和(sum)をとる帯域別有意値和算定ステップと;前記絶対値和(sum)の平均値(sum_average)を算定し、前記絶対値和(sum)をこの絶対値和の平均値(sum_average)で正規化した比率(r)を算定する有意値正規化ステップと;を有する。
【0034】
雑音パワー推定値の更新は以下の2種類のステップを有する。
【0035】
すなわち、前記有意値(y)が所定のしきい値を下回った場合に現フレームを雑音フレームと判断し、前記帯域別雑音パワー推定値(noise_power)を更新する第1の雑音パワー推定値更新ステップと;前記比率(r)が所定のしきい値を所定の期間連続して下回った際に現フレームを雑音フレームと判断し、前記帯域別雑音パワー推定値(noise_power)の更新を行う第2の雑音パワー推定値更新ステップとである。
【0036】
上記第1の雑音パワー推定値更新ステップは、良好に雑音推定が行われて有意値判定により雑音フレームであると判定される場合であり、第2の雑音パワー推定値更新ステップは、有意値がフレーム間でばらついたりして有意値では良好な雑音フレーム判定ができない場合でも強制更新を可能とするものである。
【0037】
なお正規化に用いる平均値は、前記絶対値和(sum)のリーク積分を用いての推定値を使用することができる。また、前記絶対値和(sum)の標準偏差のリーク積分を用いて得られた前記平均値(sum_average)の推定値を用いることも可能である。
【0038】
なお、前述の帯域別のゲイン設定に際しては、音声フレームの場合と雑音フレームの場合とで異なる関数を用いてその帯域別ゲイン値を決定すすことになるが、ゲイン値決定の変数は基本的には帯域別パワーと帯域別ノイズパワーとの差(対数では差:SNR)をもとに算出される。すなわち音声フレームでSNRが大きい帯域は音声成分を含んでいる帯域と推定されるので、その帯域のゲイン値は大きく設定され、SNRが小さい帯域は音声成分を含んでいないと推定され、そのゲイン値は小さく設定される。
【0039】
ところで、雑音(Background Noise)は一般に定常と仮定されるが、屋外では変動する場合がある。特に、自動車が通り過ぎるときに発生する雑音のエネルギは自動車の接近とともに大きくなる。この状態で送話音声が入力されると、音声と雑音とのエネルギ差が小さいため、抑圧後の音声を歪ませることがある。また、雑音のスペクトル形状と音声のスペクトル形状が似ている場合も、雑音エネルギをもとに抑圧を行うと音声のスペクトルに干渉しやすくなるため、抑圧後の音声に歪みが発生する。雑音エネルギが変動した場合でもその影響を排除して安定な雑音抑圧処理を行えるように、SNRを基本としながら、ゲイン値決定の変数を調整することでそのような影響を抑えることも可能である。
【0040】
このような調整は、前記帯域別ゲイン値の決定に際し、前記周波数帯域ごとに信号のパワーを求め、この帯域パワーをもとに帯域別の雑音パワーを推定する雑音パワー推定ステップと;前記帯域パワー及び帯域別雑音パワーのうちの少なくとも一方について、複数のフレーム期間に亘りパワーの最小値を検出する最小値検出ステップと;前記周波数帯域ごとにその帯域パワーと前記最小値検出ステップにより検出された帯域別最小値との差を求める帯域別最小値決定ステップから求められた差をもとに周波数帯域別の雑音抑圧量を決定することにより行うことができる。
【0041】
さらに、フレームごとに異なる帯域共通の調整値を生成する調整値を用い、前記周波数帯域ごとに、前記帯域別最小値と前記調整値を加えた値とその帯域パワーとの差を求め、この差をもとに周波数帯域別の雑音抑圧量を決定することにより行うこともできる。
【0042】
この調整値は、雑音区間においては、前記帯域別最小値間の平均値と前記帯域別雑音パワー間の平均値との差に基づいて帯域共通の調整値を決定し;音声区間においては、1フレームにおける複数の帯域パワーの中の最小値と複数の帯域別最小値の中の最大値との差に基づいて帯域共通の調整値を決定することで得ることができる。
【0043】
なお、音声フレームと雑音フレームとの判定には:周波数帯域ごとに信号のパワーを求め、この帯域パワーをもとに帯域別の雑音パワーを推定する雑音パワー推定ステップと;前記周波数帯域ごとに帯域別雑音パワーと帯域パワーとの差を求め、これらの帯域別差を所定のしきい値と比較する比較ステップと;周波数順に配列された前記各帯域別差のうち隣接する複数の帯域の帯域別差がしきい値を超えると判定された場合に、これらの帯域別差を所定の重み付けを行った上で相互に加算する加算ステップと;この加算ステップにより得られた帯域別差の加算値に基づいて、前記入力信号について音声区間か雑音区間であるかを判定する判定ステップとからなる判定方法を採用することができる。
【0044】
この加算ステップでは、各帯域別差に対し、周波数が高くなるに従い重みが小さくなるような重み付けを行うことができ、前記判定ステップでは、前記加算値に基づいて、前記入力信号について音声区間か、雑音区間か或いは両区間の中間領域である過渡区間かを判定することが可能である。
【0045】
この様な本発明は、ACELP,EVRC,EFR,AMRなどの各種音声符号化方式を用いたディジタル音声符号化方法を採用する携帯電話など電子機器に適応できる。すなわち、音声信号入力部(マイクなどの直接入力手段,電子ファイルなどからの信号送出でも構わない)と、音声符号化部とを有する電子機器において、音声信号入力部の音声信号を受け、上述のノイズ抑制方法によりノイズ抑制された信号を音声符号化部へ供給するノイズキャンセラと、前述のボイススイッチとを具備した電子機器である。
【0046】
なおボイススイッチ,ノイズキャンセラは、例えば音声符号化などと同様にDSP内の信号処理により実行することが可能である。
【0047】
【発明の実施の形態】
本発明の実施態様を説明する。
【0048】
図1は本発明の実施態様を示す電子機器の概略ブロック図である。
【0049】
受話信号(1)は受話信号増幅器(2)を介してスピーカなどの音声出力器(3)に供給される。またマイクなどの音声入力器(4)からの入力信号はノイズキャンセラNC(5)を介して送話信号(9)として送り出される。
【0050】
ボイススイッチVS(6)は、受話信号から受話信号中の音声信号の有無を検出し、またノイズキャンセラNC(5)から送話信号中の音声信号の有無を示す信号sp[音声検出フラグ]を受け取る。その結果からダブルトーク判定部DTD(7)で送受話信号のどちらに音声信号が含まれているかを判断する。
【0051】
この判断結果を受けてLOSS決定部(8)では、設定に基づき送信系/受信系に挿入するLOSSを決定し、増幅器(2)にはR_lossを、ノイズキャンセラNC(5)にはS_lossを通知する。
【0052】
この設定としては、例えば、一定量のVS_loss(例えば−12dB)を送話/受話のどちらか一方に挿入するものとする。
【0053】
音声の有無により4個のケースがあり下記のように設定される。
(1)受話(音声なし)/送話(音声なし):S_loss=VS_loss
(2)受話(音声有り)/送話(音声なし):S_loss=VS_loss
(3)受話(音声なし)/送話(音声有り):R_loss=VS_loss
(4)受話(音声有り)/送話(音声有り):S_loss=VS_loss
VS_lossの挿入されなかった方の減衰量は“0”とする。
【0054】
この設定は適宜変更することが可能である。例えば、ボイススイッチの切り替え時(VS_lossから“0”への切り替え)には急激に減衰量が変化するのでいわゆるスイッチ感がユーザーに感じられる。これを低減するため、切り替え時に減衰量に傾きをつけることも可能である。
【0055】
このボイススイッチの決定する信号減衰量(A)とノイズキャンセラの決定する信号減衰量(B)とから送話/受話信号の信号減衰量を決定する。
【0056】
本実施例では、受話信号の信号減衰量はボイススイッチの信号減衰量(A)となり、送話信号の信号低減量はボイススイッチの信号低減量(A)で制御されたノイズキャンセラの最終信号減衰量(C)となる。
【0057】
すなわち、ノイズキャンセラがノイズ低減のために算定した信号減衰量が、ボイススイッチが提供する信号減衰量より大きい場合はノイズキャンセラの信号減衰量を採用し、ボイススイッチが提供する信号減衰量よりノイズキャンセラの信号減衰量が小さい場合はボイススイッチが提供する信号減衰量を採用する。
【0058】
従って、送話信号の最終信号低減量は、ボイススイッチの提供する信号減衰量を上限とした形で推移することになる。
【0059】
送話側の音声信号の有無もボイススイッチで送話信号を取り込んで同様の処理を施すことで判定してもよいが、本実施形態では送話信号中の音声の有無はノイズキャンセラの判断を用いる設定にしている。
【0060】
次にノイズキャンセラの動作について説明する。
【0061】
ノイズキャンセラは例えばDSP(Digital Signal Processor)により実現されるものであり、その処理プログラムはノイズキャンセラ内のメモリまたは制御回路に付属するメモリに格納されている。図2はこの処理プログラムにより実現される機能構成を示すノイズキャンセラのブロック図である。
【0062】
マイクなどの音声入力部からの音声信号がA/D変換されたデジタル音声信号は、まずフレーム分割部21に入力される。フレーム分割部は、例えば128サンプルに整えられたフレームを出力する(フレーム分割ステップ)。このときディジタル送話信号を例えば80サンプルのフレームに分割した後、ウインドウがけを行うことによりフレーム端をオーバーラップさせても構わない。このディジタル送話信号フレームを高速フーリエ変換部(FFT)22に入力する。
【0063】
FFT22の出力はノイズキャンセラの最終信号低減量(C)を決定する最終低減量決定部34からの出力に基づき乗算器23にてノイズ抑制がなされ、IFFT部24にて逆FFTをかけフレーム合成部25にてフレームに戻し、送信信号として出力される。
【0064】
また、FFT22の出力は帯域パワー計算部26に入力され、その出力は有意値計算部27及び帯域別ゲイン決定部33に供給される。また更新判定部31の判定結果により雑音リーク積分値更新部32にもその出力が供給される。
【0065】
有意値計算部27の出力は更新判定部31及び音声重み計算部28に供給される。
【0066】
雑音リーク積分値更新部32の出力は、有意値計算部27,音声重み計算部28及び帯域別ゲイン決定部33に供給される。
【0067】
音声重み計算部28の出力は雑音最小値推定部29及び帯域別ゲイン決定部33に供給されるとともに、ボイススイッチVSにSP値(音声検出フラグ)として出力される。
【0068】
帯域別ゲイン決定部33は、雑音リーク積分値更新部32,雑音最小値推定部29及び音声重み計算部28からの出力を入力とし、最終低減量決定部34へ信号を出力する。
【0069】
最終低減量決定部34は、ボイススイッチVSからのS_lossと帯域別ゲイン決定部33からの出力を入力とし、乗算器23へゲインを出力する。
【0070】
以下各ブロックにおける動作を説明する。
【0071】
高速フーリエ変換部FFT22は、入力されたディジタル送話信号フレームに対し高速フーリエ変換処理を行い、低域から高域まで順に16帯域(k=0,1,2,・・・15)に周波数分割された変換係数を得る。この変換係数は各帯域において同じである必要はない。この帯域分割された変換係数を、帯域パワー計算部26に出力する(周波数帯域分割ステップ)。
<帯域パワー計算>
帯域パワー計算部26は、各帯域ごとにエネルギ(変換係数の二乗平均値)を求めて対数をとり、帯域パワーchannel_power(m,k)、[mはフレーム番号,kは帯域番号(0〜15)]を出力する(帯域別パワー算定ステップ)。この帯域パワーは有意値計算部27に出力される。
<有意値計算>
有意値計算部27では、後述する雑音リーク積分値更新部32から出力される雑音リーク積分値noise_power(m,k)と、上記帯域パワーchannel_power(m,k)との差tmpをもとめ、帯域別の差tmpを所定のしきい値と比較する。周波数順に配列された上記帯域別の差tmpの内、隣接する複数の帯域の帯域別差tmpがしきい値を超えると判定された場合に、これらの帯域別差tmpに所定の重み付けを行った上で相互に加算する。この重み付け後の値suby(m,k)の条件付き総和(隣接する複数の帯域の帯域別差tmpがしきい値を超えると判定された場合)を有意値yとして出力する(有意値算定ステップ)。
【0072】
また有意値yの平均値(y_average:リーク積分による推定値で代用でき、例えば下記の式にて計算)も出力する。
【0073】
y(m):有意値、suby(m,k)の条件付き総和
y_average(m)=y_average(m-1)×0.9+y(m)×0.1
図3は有意値計算部27の処理手順を示すフローチャートである。有意値yを出力するフローを図3に基づいて説明する。
【0074】
ステップ3aでフレーム番号m=0にリセット/初期値設定した後、ステップ3bでグループ番号mをインクリメントするとともに有意値y,帯域番号k及び連続数flag(しきい値を超える帯域別差tmpの連続数フラグ)を“0”に初期設定する。
【0075】
次にステップ3cで帯域k=0について、帯域パワーと雑音リーク積分値との差tmpと、この帯域別差tmpに対して重み付けを行った値suby(m,k)とを下記のように計算する。
【0076】
tmp=chanel_power(m,k)−noise_power(m,k)
sub_y(m,k)={200−(k−1)2}/100×(tmp−1)
ただし、{200−(k−1)2}は重み付け係数である。この場合、帯域の周波数が高くなるにつれ小さくなるように設定されているが、適宜変更可能である。
【0077】
帯域k=0における帯域別差tmpが算出されると、有意値計算部27はステップ3dで帯域別差tmpをしきい値(例えば1)と比較する。しきい値を超えていると音声である可能性があると判断してステップ3e,ステップ3gを経てステップ3iに移行し、連続数flagを1に設定する。ついでステップ3kで帯域番号kをインクリメントしてk=1とした後、ステップcに戻って帯域k=1についても同様の処理を実行する。
【0078】
ここで帯域k=1においても帯域k=0に引き続いて帯域別差tmpがしきい値を超えたとする。連続数flagは既に1なのでステップ3eからステップ3fに移行して、ここで
y=y+suby(m,k−1)
なる演算を実行する。そして連続数flagを2に設定し、ステップ3gを経てステップ3hに移行して、下記演算を実行する。
【0079】
y=y+suby(m,k)
ついでステップ3kで帯域番号kを更にインクリメントしk=2として、ステップ3cに戻り、帯域k=2についての処理を実行する。
【0080】
以降同様に、隣接する帯域の帯域別差tmpが連続してしきい値を超える毎に、その帯域のsuby(m,k)が一つ前の帯域までに得られた有意値yに順次加算され、帯域別差tmpの重み付け加算値yが求められる。
【0081】
なお、いずれかの帯域k=iにおいて、帯域別差tmpがしきい値以下になると、有意値計算部27はステップ3dからステップ3jに移行し、連続数flagを0にリセットする。
【0082】
こうして1フレームを構成する16個の全ての帯域(k=0〜15)について処理が完了すると、有意値計算部27は、ステップ3mからステップ3nに移行し、有意値yと、帯域ごとに算出した重み付け後の帯域別差suby(m,k)(k=0〜15)を夫々出力する。
【0083】
このようにして各フレーム毎に有意値yが求められ、音声フレームであるか雑音フレームであるかの判定に供される。
【0084】
また有意値計算部27では雑音パワー強制更新を判定する有意区間のカウントをも行う。この処理を図4のフローチャートに基づいて説明する。
【0085】
まず有意値y(m)の平均値y_average(m)を求める。
【0086】
ステップ4aでフレーム番号m=0,sum_average(0)=0.1,y_average(0)=10,counter(0)=0に初期値設定した後、ステップ4bでグループ番号mをインクリメントするとともに有意値y,sub(m,k)を入力する。
【0087】
ついでステップ4cで有意値yの平均値を算出する。平均値はメモリ容量,計算量などの関係から適宜期間を設定することができるが(例えば0.1〜0.3秒くらいの平均をとれば十分であるので、過去20フレーム分を加算して平均を求めるなど)、一般的にはリーク積分を用い下記のように推定算出する。平均値の求め方はリーク積分以外の手法を用いても良いことは言うまでもない。
【0088】
y_average(m)=y_average(m-1)×0.9+y(m)×0.1
次にステップ4dでsub(m,k)とsub(m-1,k)との差の絶対値和sumを求め(帯域別有意値和算定ステップ)、更にステップ4eにて、絶対和sumの平均値sum_averageで割り、比率rを算出する(有意値正規化ステップ)。
【0089】
sum(m)/sum_average(m−1)
この値を直接rとしても良いが、特異的な値を除去するため、r(m−1)に決められた減衰率(例えば0.99)を乗じた値との大きさを比べ、大きい方をr(m)として採用する。
【0090】
この比率rは有意値区間算定のカウンタ加算の判定基準となるものであり、例えば上限は8に設定される。従って、ステップ4fでr(m)が8を超えていると判定されるとステップ4gでr(m)=8に設定し直される。
【0091】
ついでステップ4hでsum_averageが更新される。この平均値もメモリ容量,計算量などの関係から適宜期間を設定することができるが(例えば0.1〜0.3秒くらいの平均をとれば十分であるので、過去20フレーム分を加算して平均を求めるなど)、一般的にはリーク積分を用い下記のように推定算出することができる。平均値の求め方はリーク積分以外の手法を用いても良いことは言うまでもない。
【0092】
sum_average(m)=sum_average(m−1)×0.9+sum(y)×0.1
なおsum_averageは標準偏差の推定値を用いても良い。その場合も下記式のリーク積分を用いて推定値を得ることができ、この値で代用する。
【0093】
sum_average(m)=sqrt(sum_average(m−1)2×0.9+sum(m)2×0.1)
続いて有意区間のカウンタcounter(m)を算出する。
【0094】
y>10かつcounter(m)<100かつr(m)≦THRのとき、counter(m)に1が加算される。この条件を満たさない場合はcounter(m)=0にリセットされる。
【0095】
THRは固定値でも構わないし、y_averageによって変化させることも可能である。本実施形態では、下記の式で変化するTHRを採用している。
【0096】
THR=1.7+(y_average−40)/200 ただし 1.7≦THR≦2.0
y_average>100 THR=2.0
y_average≦ 40 THR=1.7
40≦y_average≦100 THR=1.7+(y_average−40)/200
従ってステップ4iでy_average(m)が100を超えると判定された場合はステップ4jにてTHR=2.0に設定され、ステップ4kでy_average(m)が40を超えると判定された場合はステップ4lでTHRが上記式の可変値に設定される。その他の場合はステップ4mにてTHR=1.7に設定される。
【0097】
ステップ4nで有意値yが10を超えていると判定され、ステップ4oでカウンタcounterが100未満と判定され、ステップ4pで比率rがTHR以下と判定された場合は、ステップ4qでカウンタcounterが加算され、それ以外の場合はステップ4rにてカウンタcounterは0にリセットされる。
【0098】
同様にステップ4nで有意値yが10以下と判定された場合はステップ4sでカウンタcounter(m)は0にリセットされ、ステップ4oでcounterが100以上(すなわち100)の場合はステップ4tでcounter(m)=counter(m−1)に据え置かれる。
【0099】
以上の処理で各フレームmに対して、counter(m)とy_average(m)が出力されることになる(ステップ4u)。
<更新判定>
これらの出力(counter(m),suby(m,k),y(m),y_average(m))を受け更新判定部31で帯域別雑音パワー値noise_power(m,k)の更新の有無を判定し、雑音リーク積分値更新部32で帯域別雑音パワー値を更新する。
【0100】
有意値yは通常の音声の場合は20〜30程度であり雑音推定が良好に実施されている場合はy<15程度となる。従ってy<15のときには例えば下記の式により実施する(第1の雑音パワー推定値更新ステップ)。
noise_power(m+1,k)=noise_power(m,k)×0.9+channel_power(m,k)×0.1
k=0,1,・・・,15
またIS127[米国規格の可変レート音声符号化方式:"Enhanced Variable Rate Codec, Speech Service Option 3 for Wideband Spread Spectrum Digital Systems" (TIA IS127)]に規定されているような通常の雑音パワー更新を行ってもよい。
【0101】
何らかの理由でyが正確に計算されない場合は、上記カウンタ値(counter)をもとに強制更新が実施される(第2の雑音パワー推定値更新ステップ)。たとえば、counter(m)≧100かつy<y_average(m)+5のときに、上記式に従って更新する。
【0102】
続いて帯域別ゲイン決定部33において帯域別のゲインを決定する。このとき有意値計算部において算出された有意値(y),帯域別有意値(suby)などを参照して、各帯域毎に設定される。
<音声重み計算>
上記有意値計算部にからの出力である有意値yを受け、音声重み計算部では雑音抑圧ゲインの決定に用いる音声重みspの計算が行われる。音声重みspは、1フレーム中に音声が含まれる度合いを0≦sp≦6の範囲で表す数値であり、sp=0は雑音区間、sp=6は音声区間を表す。なおこの数値,段階区切りなどは適宜設定可能である。
【0103】
このsp値が前述のボイススイッチに供給され、ボイススイッチにおける送話信号中の音声の有無の判定に供される。例えば、sp=0のときは音声なしと判断し、それ以外のときは音声有りと判断することができる。
【0104】
図5は、この音声重み計算部28における音声重みspの計算手順とその処理内容を示すフローチャートである。
【0105】
先ずステップ5aでフレーム番号mを0にリセットしたのち、ステップ5bでグループ番号mをインクリメントする。次に、ステップ5cで上記重み付け加算値yを任意のしきい値「13」と比較し、y<13であれば雑音フレームと判断してステップ5dに移行し、ここで音声重みsp(m)を
sp(m)=sp(m−1)−0.5
に設定する。後述の如くsp(m)は最終ステップで
sp(m)=MAX(sp(m),0))
と最小値が0となるように設定されるので、雑音フレームが連続すればsp(m)は0に収束する。
【0106】
一方、y≧13だった場合には、音声若しくは過渡期のフレームであり、ステップ5eに移行して仮の音声重みz
z=(y−13)×1.5+1
を計算する。
【0107】
まず、ステップ5fにおいて
sp(m−1)≦0.5
を判定する。すなわち、1フレーム前の音声重みsp(m−1)が0.5以下と十分小さいかどうかを判断し、雑音フレームだったかどうかを判定する。
【0108】
1フレーム前のフレームが雑音フレームと判断されていた場合、すなわちsp(m−1)が0.5以下の場合はステップ5gに移行し、ここで現フレームの音声重みsp(m)を上記仮の音声重みzに設定する。
【0109】
このケースは、雑音から音声への切り替わりの時点であり、語頭が切れないように、雑音を抑制して音声をはっきりたち上げる必要がある。従って音声重みとして大きい値を取るように設定されることになる。
【0110】
これに対し、1フレーム前の音声重みsp(m−1)が雑音フレームではなかった場合(sp(m−1)>0.5)には、ステップ5hに移行して、
z>sp(m−1)+0.5
を判定する。zが(sp(m−1)+0.5)より大であればステップ5iで現フレームの音声重みsp(m)を(sp(m−1)+0.5)に設定する。
【0111】
このケースは、音声フレームの過渡期と判断されている時点であり、連続性を重視し、前フレームからzの上昇を0.5に抑えていることになる。
【0112】
一方、zが(sp(m−1)+0.5)以下であればステップ5jに移行し、
z<sp(m−1)−0.5
を判定し、zが(sp(m−1)−0.5)より小であればステップ5kで現フレームの音声重みsp(m)を(sp(m−1)−0.5)に設定する。
【0113】
このケースは、やはり音声フレームの過渡期と判断されている時点であり、連続性を重視し、前フレームからzの下降を0.5に抑えていることになる。
【0114】
また、zが(sp(m−1)−0.5)以下であればステップ5mに移行して現フレームの音声重みsp(m)=zに設定する。
【0115】
以上のステップを経て、sp(m)=z,sp(m−1)±0.5の3種類の値のいずれかに設定され、最終的に
sp(m)=MIN(sp(m),6)
sp(m)=MAX(sp(m),0)
により、sp(m)=0〜6の値が決定される。
【0116】
すなわち上記ステップ5fからステップ5mにおいて、現フレームで算出した仮の音声重みzが、1つ前のフレームで設定した音声重みsp(m−1)を考慮して補正され、ステップ5nでsp(m)として出力され、ステップ5bに戻り全てのmに対してsp(m)が求められる。
【0117】
このように求めた音声重みsp(m)を使用することで、フレーム間の連続性を考慮した音声/雑音/過渡域の調整を行うことができる。
【0118】
上記音声重み計算部28により求められた音声重みsp(m)は、雑音最小値推定部29及び帯域別ゲイン決定部33に入力される。
【0119】
なおこのsp値は音声検出フラグとしてボイススイッチVSにも供給される。これをもとにVS側で、例えばsp=0[音声なし]/sp>0[音声あり]のような判断することになる。
<雑音最小値推定>
雑音最小値推定部29は、上記音声重みspがsp=0となる100フレームの期間ごとに、各帯域における雑音のリーク積分値noise_power(m,k)の最小値を調べる。そして、この最小値を次の100フレームの期間において、雑音最小値noise_min(m,k)として使用する。またそれと共に、各帯域の雑音最小値の帯域間平均値min_allを求める。
【0120】
図6及び図7は、この雑音最小値推定部29において実行される最小値推定処理の手順と内容を示すフローチャートである。
【0121】
同図において、雑音最小値推定部29は先ずステップ6aで、フレーム番号mをm=0にリセットすると共に、フレームカウンタの値をfc=96に、雑音最小値をnoise_min(k)=36に、帯域をk =0,・・・,15にそれぞれ初期設定する。
【0122】
さらに
noise_min_h(k)=MAX(noise_power(m,2k),noise_power(m,2k+1)),
k=0,・・・,7
雑音最小値の帯域間平均min_allをnoise_min_h(n):n=0,1,・・・,7の値の合計値の平均値である
min_all=Σ noise_min_h(n)/8 n=0〜7
にそれぞれ初期設定する。
【0123】
すなわち、隣接する帯域で大きいノイズパワーを有する値をとり、その平均値をmin_allと設定する。
【0124】
次に雑音最小値推定部29は、ステップ6bでフレーム番号mをインクリメントしたのち、ステップ6cで上記音声重みがsp=0であるか否か、つまり雑音フレームであるか否かを判定する。
【0125】
そして、雑音フレームであれば、ステップ6bに戻ってフレーム番号mをインクリメントし、上記ステップ6cによる雑音フレームの判定を行う。sp=0ではないと判定された場合、すなわち、音声フレーム又は過渡域フレームが検出されると、雑音最小値推定部29はステップ6dに移行してここでフレームカウンタfcをインクリメントすると共に、帯域k=0を選択する。
【0126】
そして、ステップ6eで
x=MAX(noise_power(m,2k),noise_power(m,2k+1))
に設定したのち、ステップ6fに移行して
noise_min_h(k)>x
であるか否か判定する。
【0127】
noise_min_h(k)>xであればステップ6gに移行してここで雑音最小値をnoise_min_h(k)=xに設定する。そして、ステップ6hに移行する。
【0128】
これに対しnoise_min_h(k)≦xであれば、そのままステップ6hに移行して次の帯域k=1を選択し、帯域k=8に達するまでは上記ステップ6e〜ステップ6gによる雑音最小値noise_min_h(k)の設定処理を繰り返す。
【0129】
そして、帯域k=8に達すると、雑音最小値推定部29はステップ6jでフレームカウンタfcが100に達したか否かを判定する。そして、100フレームに達するまではステップ6bに戻って次のフレームを選択し、この選択したフレームについて上記ステップ6c〜ステップ6iによる処理を繰り返す。
【0130】
一方、上記100フレームに対する処理を終了すると、雑音最小値推定部29はステップ7aに移行し、ここで雑音最小値の帯域間平均(min_all)をnoise_min_h(n):n=0,1,・・・,7の値の合計値の平均値として下記のように算出する。
【0131】
min_all=Σ noise_min_h(n)/8 n=0〜7
またそれと共に、noise_min(0)及びnoise_min(1)をそれぞれ
noise_min(0)=noise_min_h(0)
noise_min(1)=0.75×noise_min_h(0)+0.25×noise_min_h(1)
とすると共に、帯域をk=1とする。
【0132】
さらに雑音最小値推定部29は、ステップ7bに移行してここで、先に帯域k=0〜7について求めた8個の雑音最小値をもとに、残りの帯域k=8〜15について雑音最小値を
noise_min(2k)=0.75×noise_min_h(k)+0.25×noise_min_h(k-1)
noise_min(2k+1)=0.75×noise_min_h(k)+0.25×noise_min_h(k+1)
のように算出する。
【0133】
そして、以上の演算が終了すると、雑音最小値推定部29はステップ7dからステップ7eに移行し、ここで
noise_min(14)=0.75×noise_min_h(7)+0.25×noise_min_h(6)
noise_min(15)=noise_min_h(7)
を算出する。
【0134】
すなわち、雑音最小値推定部29は、上記ステップ7a〜ステップ7eにおいて8個のmin_allをもとに16個のmin_allを補間している。
【0135】
そうして16個のmin_allを算出すると、雑音最小値推定部29はステップ7fにおいて、フレームカウンタfcを0にリセットすると共に、雑音最小値をnoise_min_h(k)=36に、また帯域をk=0,・・・,7に設定し直す。
【0136】
そして、ステップ7gにおいて、先に算出した雑音最小値の帯域間平均値min_all、及び雑音最小値noise_min(m,k),k=0,・・・,15を出力し、ステップ6bに戻って次のフレーム(m=m+1)について同様の雑音最小値及びその帯域間平均値の算出処理を繰り返す。
<帯域別ゲイン決定>
帯域別ゲイン決定部33は、前記帯域パワー計算部26から出力された帯域パワーchannel_power(m,k)、雑音リーク積分値更新部32から出力された雑音パワーnoise_power(m,k)、音声重み計算部28から出力された音声重みsp(m,k)、及び雑音最小値推定部29から出力された雑音最小値noise_min(m,k)をもとに、帯域別ゲインgain(m,k)を決定する。
【0137】
先ず雑音リーク積分値noise_power(m,k)の帯域平均値noise_allを、noise_power(m,k):k=0,1,・・・,15 の値の合計値の平均値として
noise_all= Σ noise_power(m,k)/16 k=0〜15
により求める。
【0138】
続いて、帯域パワーchannel_power(m,k)の帯域最低値min_band、及び雑音最小値noise_min(m,k)の帯域最大値max_bandをそれぞれ、
min_band=MIN(channel_power(m,k),k=2,・・・,11)
max_band=MAX(noise_power(m,k),k=0,・・・,15)
により求める。
【0139】
次に、帯域共通の調整値mdを
md=(noise_all−min_all)×(1−sp/6)+(min_band−max_band)×sp/6
により決定する。この式によると、
sp=0すなわち雑音区間のとき、md=noise_all−min_all
sp=6すなわち音声区間のとき、md=min_band−max_band
となり、過渡域はこれらの中間の値をとることがわかる。
【0140】
雑音フレームの場合、及び音声フレームの場合の周波数対パワー特性の一例を、それぞれ図8及び図9に示す。
【0141】
雑音フレームでは、図8に示すように、帯域パワーは雑音最小値に近くなる。雑音最小値に調整値を加えた値は、雑音最小値のスペクトル特性はそのままで平均値が雑音パワーの平均値noise_allに変更されたものとなる。
【0142】
これに対し音声フレームの場合には、図9に示すように、雑音最小値に調整値を加えた値は、最小値のスペクトル特性はそのままで帯域の最大値が帯域パワーの最低値と一致するよう調整されることになる。
【0143】
帯域別ゲインgain(m,k)は、帯域パワーchannel_power(m,k)と、雑音最小値noise_min(m,k)と、調整値とから次のように決定される。
【0144】
まず、
tmp=channel_power(m,k)−noise_min(m,k)−md−1.625
と設定する。
【0145】
次いで、音声重みspによりgain(m,k)(gain(m,K)≦0)決定の方式を変更する。
(1)sp>0、すなわち、音声若しくは過渡フレームのとき、
gain(m,k)={sqrt(1.4+(0.7×tmp)2)+0.7×tmp−10}×2
(2)sp=0、すなわち、雑音フレームのとき、
gain(m,k)=[sqrt(1.4+(0.03125×tmp)2)+0.03125×tmp−10]×2
これをk=,・・・,15についてそれぞれ独立に求める。
【0146】
このgainを決定する関数形は適宜設定可能である。tmpの値の小さい領域で音声フレームの方が雑音フレームより下回っていればよい。
【0147】
そして、以上のように求められた帯域別ゲインgain(m,k)は、乗算器23において帯域ごとに変換係数に乗算され、これによりノイズキャンセルがなされる。
【0148】
図10にtmp−gainの関係をグラフとして示す。実線で示したのが音声フレーム(sp>0)の場合であり、点線が雑音フレーム(sp=0)の場合である。
【0149】
tmpが0を下回った場合には音声フレームのゲインの方が雑音フレームのゲインを下回っている。これはtmpが帯域のSNRからmdと定数(上記例では1.625)を差引いたものと考えることができるため、調整値mdの変動分はあるものの、帯域のSNRが小さい場合には、音声区間の方が雑音区間より小さいゲイン値を採ることになる。
【0150】
これは音声区間における小さいSNRを示す帯域(これは音声成分を含まないと推定できる帯域である)を積極的に抑圧(小ゲイン値)することで、音声フレーム中の音声成分を含む帯域を際立たせる結果となる。この効果は雑音フレームの帯域ゲイン値より小さく設定することで達成される。
【0151】
このようなゲイン値設定は上記双曲線的な関数に限らず種々の設定で行うことが可能である。
【0152】
たとえば図11に示すように、
のように設定することも可能である。
【0153】
このノイズキャンセルされた各帯域ごとの変換係数は、IFFT24において逆高速フーリエ変換されて時間軸上の信号フレームに戻されたのち、フレーム合成部25においてフレーム合成されて送話信号として、例えば音声符号化回路に供給される。
【0154】
以上述べたようにこの実施形態によれば、音声フレームと判断されたフレームでも、音声成分が含まれないと判断された帯域については、雑音フレームと判断されたフレームの帯域別ゲインより小さいゲインが設定されているので、音声フレームにおける音声成分(帯域)が強調されることになり、結果として聴覚的に良好なノイズ抑制出力信号を得ることができる。
【0155】
また、雑音最小値推定回路29において各帯域の雑音パワーの最小値を求め、この雑音最小値のスペクトル形状を帯域別ゲイン決定部33による帯域別ゲインの決定に用いるようにしているため、例えば自動車の通過時のような雑音スペクトルの短期的な変化に影響されず、音声スペクトルを歪ませにくいノイズキャンセル処理を実現することができる。
【0156】
また、各フレームの有意値yが大きく(通常は音声と判断される)が前フレームとの帯域別差の差分の変化が小さい(ただし平均値で正規化したもので判断)フレームが連続した場合(例えば100フレーム)は雑音フレームと判断し、雑音パワー推定値を強制更新する。この強制更新の判定の際には、スペクトル偏差の平均値で正規化した値をもって連続区間をカウントしているため、スペクトル偏差がフレーム間でばらつくような雑音の場合でも実質的に連続区間としてカウントすることができる。従って、良好な雑音フレーム判定がなされないような有意値の変動があっても強制更新がかかることにより良好な雑音パワー推定値の更新が可能となり、もって良好なノイズ抑制が行われることになる。
【0157】
以上のようにしてノイズキャンセラの信号低減量(B)が決定された後、最終信号減衰量(C)を調整する最終低減量決定部34において、ボイススイッチから供給されるS_lossとgainをもとに送信信号の最終的な信号減衰量(lg)を決定する。
【0158】
この信号減衰量は例えば下記の様に決定される。
【0159】
lg(m,k)=MIN(S_loss(m),gain(m,k))
S_lossとgain(m,k)の小さい方,すなわち信号減衰量の大きい方を採用することになる。
【0160】
図12に送話信号及び受話信号のサンプルを、図13にS_loss及びlgのパワー推移をサンプルを提示する。
【0161】
lgは必ずS_loss以下であるので、通信系(送信−受信)には必ずVS_loss以下のLOSSが挿入される。また送話のみのときにはS_loss=0であるから、ノイズキャンセラ本来のノイズ抑圧が実現される。送話音声が終った時点において、上記例では、gain<S_lossとなるので、ボイススイッチによるスイッチ感(送受話系のLOSSの急激な切替えによる不自然に音が小さくなる現象)は低減される。
【0162】
次いでボイススイッチの動作に関して説明する。
【0163】
上述のノイズキャンセラを受話側にも設けて音声の有無の判断を行ってもよいが、本実施形態では受話信号中の音声の有無はダブルトーク判定部DTDで行う設定にしている。判定方法は各種方法が採用できるがその一例を図14を用いて説明する。
【0164】
この例では、受話信号のフレーム毎のフレームパワーP(例えばP=10log(サンプルの二乗平均値))を所定基準と比較し音声の有無を判定する。この判定の際に雑音レベル更新期間INTVL(例えば1秒間:50フレーム相当)のフレームパワーPの最低値min,Pの長期平均avg(例えばリーク積分値:avg=γavg+(1−γ),γは適宜設定(例えば0.99))を用いる。
【0165】
ステップ(2a)でcounter=0とし計算を開始する。初期値は適宜設定可能であるが、例えば、min=MAX_NOISE,noise=5,avg=5と設定する。MAX_NOISEは雑音の最高値であり、例えば36とする。
【0166】
ステップ(2b)で対象フレームのフレームパワーPを計算/入力する。
【0167】
ステップ(2c)でcounterを“1”増分し、ステップ(2d)でフレームパワーPとminとの比較を行う。P<minであればmin=Pと書き換え(ステップ2e)、それ以外はminの現状値を維持して次ステップ(2f)に進む。
【0168】
ステップ(2f)ではフレームパワーPの長期平均avgを求める。例えば下式のようにリーク積分値を長期平均値として採用することができる。
【0169】
avg=γavg+(1−γ),γは適宜設定(例えば0.99)
ステップ(2g)でcounter値をINTVL値と比較する。両者が一致しなければステップ(2m)に進み、測定対象フレームに対するnoise値を出力する。counter=INTVLの場合はnoise値の更新のため次ステップ(2h)に進む。
【0170】
ステップ(2h)ではmin−noise>−2を判定する。Yesであればステップ(2i)に進み、noise=minと設定する。Noであれば次ステップ(2j)に進み、avg<noise−1を判定する。Yesであればステップ(2k)に進み、noise=avgと設定する。
【0171】
次いでステップ(2l)に進み、counter=0とリセットし、min=MAX_NOISEに設定して次ステップ(2m)に進み、更新されたnoise値を出力する。
【0172】
各フレーム毎のフレームパワーPとnoise値を入力として受話信号中の音声の有無を判定する。
【0173】
ステップ(2o)でフレームパワーPとnoiseを入力し、次ステップ(2p)でP<noise+THの判定を行う。THは閾値であり、例えば18に設定される。P<noise+THであれば受話=無[音声信号なし](ステップ(2q)),そうでなければ受話=有[音声信号あり](ステップ(2r))と判断する。
【0174】
この結果を対象フレームの音声の有無として出力する(ステップ(2s))。
【0175】
これを各フレーム毎に繰返すことで、受話信号中の音声の有無の検出を行うことができる。
【0176】
この結果を受け、音声有りの場合は受話側にLOSSを挿入するため、R_lossの信号低減率を増幅器で実行することになる。一方、送信側にはノイズキャンセラにおいてノイズキャンセラの信号減衰量(B)と比較調整のためS_loss(信号減衰量(A))が送られることになる。
【0177】
上述のボイススイッチのlossは“0”/VS_lossの2値であったが、この設定は適宜変更することが可能であり、例えば下記のように設定することもできる。
(1)受話(音声なし)/送話(音声なし):
R_loss=VS_loss−h;S_loss=h
(2)受話(音声有り)/送話(音声なし):
R_loss=0;S_loss=VS_loss
(3)受話(音声なし)/送話(音声有り):
R_loss=VS_loss;S_loss=0
(4)受話(音声有り)/送話(音声有り):
R_loss=0;S_loss=VS_loss
ただし、h=(sp=0が続いたフレーム数)×(−0.1)
VS_loss≦h≦0
sp:ノイズキャンセラから受け取る音声/雑音の判断変数
上記実施形態に加えエコーキャンセラEC(10)を加えてもよい(図15)。エコーキャンセラは音声出力部からの出力が音声入力部から入力された場合にその信号を除去/低減するものでありエコー検出の方式は各種の方式を採用することができる。
【0178】
エコーキャンセラEC(10)以外は図2の構成と同一であり説明を省略する。ECにおいて、音声入力部からの入力信号と、音声出力部に入力される受信信号と、音声入力部の信号から受信信号を引いた信号とを比較し、入力信号に受信信号が重畳していないかを判断し、重畳していればその信号分を差引いてノイズキャンセラNCへの入力信号とするものでる。
【0179】
なお出力音声環境に応じエコーパスは変化するので音声出力部にて出力された音声が音声入力部にて受ける際の時間差を考慮する必要がある。
【0180】
上述の実施態様では、送話側にノイズキャンセラを挿入しているが、受話側にノイズキャンセラをいれてもよい。送受話双方にノイズキャンセラをいれた場合は、送受話ともノイズキャンセルを行うことも可能であり、この場合は、ボイススイッチ機能をノイズキャンセラに取り込んで、ノイズキャンセラの音声信号減衰量の制御でボイススイッチのLOSS挿入機能を兼ねることも可能である。
【0181】
すなわち送受話どちらかに必ずボイススイッチ機能に必要なLOSS量を入れるように両者の信号減衰量を制御すれば良い。
【0182】
本発明は携帯電話などの通信機器に限らず、音声処理を用いる電子機器(録音機器,携帯電子端末など)でればどのような機器にも使用することができる。
【0183】
なお、図2に示す各ブロックは機能説明を行うために便宜上区分して記載したものであり、各ブロックが個別の素子である必要はなく、1個またはそれ以上の機能、たとえばCPU,DSP,モデム,音声符号化回路など、をまとめて1チップのLSIとしても良いことは言うまでもない。
【0184】
【発明の効果】
以上説明したように本発明によれば、高音質の音声信号を供給することができる電子機器を提供することができ、産業上寄与するところ大なるものである。
【図面の簡単な説明】
【図1】 図1は本発明の実施形態を示す回路ブロック図。
【図2】 図2は本発明の実施形態のノイズキャンセラ示すブロック図。
【図3】 図3は本発明の実施形態の有意値計算部の処理手順を示すフローチャート。
【図4】 図4は本発明の実施形態の雑音パワー強制更新を判定する有意区間のカウントの処理手順を示すフローチャート。
【図5】 図5は本発明の実施携帯の音声重みspの処理手順を示すフローチャート。
【図6】 図6は本発明の実施形態のの雑音最小値推定部の処理手順を示すフローチャート。
【図7】 図7は本発明の実施形態のの雑音最小値推定部の処理手順を示すフローチャート。
【図8】 図8は雑音フレームの場合の周波数対パワー特性の一例を示す図。
【図9】 図9は音声フレームの場合の周波数対パワー特性の一例を示す図。
【図10】 図10は本発明の実施形態のtmp−gainの関係図。
【図11】 図11は本発明の実施形態のtmp−gainの関係図。
【図12】 図12は送話信号及び受話信号のサンプル示す図。
【図13】 図13はS_loss及びlgのパワー推移をサンプルを示す図。
【図14】 図14は本発明の実施形態のボイススイッチの処理手順を示すフローチャート。
【図15】 図15は本発明の実施形態のブロック図。
【符号の説明】
NC・・・ノイズキャンセラ;VS・・・ボイススイッチ
Claims (7)
- 送受信される音声信号を取得し、送信信号または受信信号の少なくとも一方への信号低減を行う電子機器であって、
送信信号または受信信号の音声検出結果に基づいて送信信号への第1の信号低減量を設定するボイススイッチと、
送信信号を取得し、前記ボイススイッチによって設定された第1の信号低減量以下の最終信号低減量で送信信号への信号低減を行うノイズキャンセラとを備えたことを特徴とする電子機器。 - 送受信される音声信号を取得し、送信信号または受信信号の少なくとも一方への信号低減を行う電子機器であって、
送信信号または受信信号の音声検出結果に基づいて送信信号への第1の信号低減量を設定するボイススイッチと、
送信信号を取得し、送信信号に含まれるノイズを抑制するための第2の信号低減量を算定し、前記ボイススイッチで設定された送信信号への第1の信号低減量と前記第2の信号低減量とを比較して第1の信号低減量以下となるように調整された最終信号低減量で送信信号への信号低減を行うノイズキャンセラとを備えたことを特徴とする電子機器。 - 送受信される音声信号を取得し、送信信号または受信信号の少なくとも一方への信号低減を行う電子機器であって、
送信信号または受信信号の音声検出結果に基づいて送信信号への第1の信号低減量を設定するボイススイッチと、
送信信号を取得し、送信信号に含まれるノイズを抑制するための第2の信号低減量を算定し、前記第2の信号低減量と前記ボイススイッチによって設定された第1の信号低減量のいずれか減衰量の大きい方を用いて前記送信信号の信号低減を行うことを特徴とするノイズキャンセラとを備えたことを特徴とする電子機器。 - 前記ボイススイッチは、送信信号への第1の信号低減量を設定し、受信信号への信号低減量が設定された場合には、その受信信号への信号低減量を用いて受信信号の信号低減を行うことを特徴とする請求項1乃至請求項3に記載の電子機器。
- 前記ノイズキャンセラは送信信号または受信信号から音声検出を行い、第2の信号低減量を算定し、前記ボイススイッチは、前記ノイズキャンセラにおける音声検出の結果を受け、送信信号への第1の信号低減量を設定することを特徴とする請求項2乃至請求項4に記載の電子機器。
- 前記ノイズキャンセラは、前記第2の信号低減量を前記送信信号の周波数帯域ごとに設定することを特徴とする請求項2または請求項3に記載の電子機器。
- 送受信される音声信号を取得し、送信信号または受信信号の少なくとも一方への信号低減を行う電子機器であって、
送信信号または受信信号の音声検出結果に基づいて少なくとも一方に対して所定の信号低減量を設定するボイススイッチと、
受信信号を取得し、前記ボイススイッチによって受信信号への信号低減量が設定された場合には、その信号低減量を用いて受信信号への信号低減を行う受信信号低減手段と、
送信信号を取得し、送信信号または受信信号から音声検出を行い、その音声検出結果に基づいて送信信号の周波数帯域ごとにノイズ抑制のための信号低減量を算出し、前記ボイススイッチによって送信信号への信号低減量が設定されていた場合には、前記ノイズ抑制のための信号低減量を前記ボイススイッチによって設定された信号低減量以下となるように調整した最終信号低減量で送信信号の信号低減を行い、前記ボイススイッチによって受信信号への信号低減量が設定された場合には、前記ノイズ抑制のための信号低減量を用いて送信信号の信号低減を行うノイズキャンセラとを備えたことを特徴とする電子機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001095039A JP4509413B2 (ja) | 2001-03-29 | 2001-03-29 | 電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001095039A JP4509413B2 (ja) | 2001-03-29 | 2001-03-29 | 電子機器 |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2002300687A JP2002300687A (ja) | 2002-10-11 |
JP2002300687A5 JP2002300687A5 (ja) | 2008-04-24 |
JP4509413B2 true JP4509413B2 (ja) | 2010-07-21 |
Family
ID=18949148
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001095039A Expired - Fee Related JP4509413B2 (ja) | 2001-03-29 | 2001-03-29 | 電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4509413B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210142811A1 (en) * | 2017-09-27 | 2021-05-13 | Gopro, Inc. | Multi-Band Noise Gate |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007159109A (ja) * | 2005-11-14 | 2007-06-21 | Nippon Steel Corp | 通話装置 |
JP4590437B2 (ja) * | 2007-07-31 | 2010-12-01 | キヤノン株式会社 | 情報処理装置 |
JP5643686B2 (ja) * | 2011-03-11 | 2014-12-17 | 株式会社東芝 | 音声判別装置、音声判別方法および音声判別プログラム |
JP5649488B2 (ja) | 2011-03-11 | 2015-01-07 | 株式会社東芝 | 音声判別装置、音声判別方法および音声判別プログラム |
JP6100493B2 (ja) * | 2012-09-14 | 2017-03-22 | ローム株式会社 | 風音低減回路、風音低減方法およびそれを用いたオーディオ信号処理回路、電子機器 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6343451A (ja) * | 1986-08-11 | 1988-02-24 | Mitsubishi Electric Corp | 拡声通話回路 |
JPH0256155A (ja) * | 1988-08-22 | 1990-02-26 | Fujitsu Ten Ltd | ハウリング防止装置 |
JPH02222348A (ja) * | 1988-12-28 | 1990-09-05 | Sgs Thomson Microelectron Sa | ハンドフリー交互動作電話機用制御装置 |
JPH037451A (ja) * | 1989-06-05 | 1991-01-14 | Sharp Corp | 拡声電話機 |
JPH0337699A (ja) * | 1989-07-04 | 1991-02-19 | Fujitsu Ltd | 騒音抑圧回路 |
JPH11284550A (ja) * | 1998-03-27 | 1999-10-15 | Kobe Steel Ltd | 音声入出力装置 |
JP2002519719A (ja) * | 1998-06-22 | 2002-07-02 | ディーエスピーシー・テクノロジーズ・リミテッド | 重み付け利得平滑化手段を含むノイズサプレッサ |
-
2001
- 2001-03-29 JP JP2001095039A patent/JP4509413B2/ja not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6343451A (ja) * | 1986-08-11 | 1988-02-24 | Mitsubishi Electric Corp | 拡声通話回路 |
JPH0256155A (ja) * | 1988-08-22 | 1990-02-26 | Fujitsu Ten Ltd | ハウリング防止装置 |
JPH02222348A (ja) * | 1988-12-28 | 1990-09-05 | Sgs Thomson Microelectron Sa | ハンドフリー交互動作電話機用制御装置 |
JPH037451A (ja) * | 1989-06-05 | 1991-01-14 | Sharp Corp | 拡声電話機 |
JPH0337699A (ja) * | 1989-07-04 | 1991-02-19 | Fujitsu Ltd | 騒音抑圧回路 |
JPH11284550A (ja) * | 1998-03-27 | 1999-10-15 | Kobe Steel Ltd | 音声入出力装置 |
JP2002519719A (ja) * | 1998-06-22 | 2002-07-02 | ディーエスピーシー・テクノロジーズ・リミテッド | 重み付け利得平滑化手段を含むノイズサプレッサ |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210142811A1 (en) * | 2017-09-27 | 2021-05-13 | Gopro, Inc. | Multi-Band Noise Gate |
US11688409B2 (en) * | 2017-09-27 | 2023-06-27 | Gopro, Inc. | Multi-band noise gate |
Also Published As
Publication number | Publication date |
---|---|
JP2002300687A (ja) | 2002-10-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6810273B1 (en) | Noise suppression | |
US7369990B2 (en) | Reducing acoustic noise in wireless and landline based telephony | |
KR100851716B1 (ko) | 바크 대역 위너 필터링 및 변형된 도블링거 잡음 추정에기반한 잡음 억제 | |
EP1298815B1 (en) | Echo processor generating pseudo background noise with high naturalness | |
FI124716B (fi) | Järjestelmä ja menetelmä adaptiivista älykästä kohinanvaimennusta varten | |
US7912729B2 (en) | High-frequency bandwidth extension in the time domain | |
US7873114B2 (en) | Method and apparatus for quickly detecting a presence of abrupt noise and updating a noise estimate | |
US6694291B2 (en) | System and method for enhancing low frequency spectrum content of a digitized voice signal | |
JP4836720B2 (ja) | ノイズサプレス装置 | |
CN110265046B (zh) | 一种编码参数调控方法、装置、设备及存储介质 | |
US9124708B2 (en) | Far-end sound quality indication for telephone devices | |
KR100909679B1 (ko) | 강화된 인위적 대역폭 확장 시스템 및 방법 | |
WO1997022116A2 (en) | A noise suppressor and method for suppressing background noise in noisy speech, and a mobile station | |
WO1995015550A1 (en) | Transmitted noise reduction in communications systems | |
US9530430B2 (en) | Voice emphasis device | |
US6999920B1 (en) | Exponential echo and noise reduction in silence intervals | |
US7889874B1 (en) | Noise suppressor | |
JP4509413B2 (ja) | 電子機器 | |
US20100158137A1 (en) | Apparatus and method for suppressing noise in receiver | |
US20060104460A1 (en) | Adaptive time-based noise suppression | |
JP2002050987A (ja) | 干渉信号依存適応エコー抑制 | |
EP1238479A1 (en) | Method and apparatus for suppressing acoustic background noise in a communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20050414 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050606 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080307 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080307 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20091225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100105 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100308 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20100402 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100428 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130514 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |