JP2022026270A - 音声処理システム、音声処理装置、及び音声処理方法 - Google Patents

音声処理システム、音声処理装置、及び音声処理方法 Download PDF

Info

Publication number
JP2022026270A
JP2022026270A JP2020129651A JP2020129651A JP2022026270A JP 2022026270 A JP2022026270 A JP 2022026270A JP 2020129651 A JP2020129651 A JP 2020129651A JP 2020129651 A JP2020129651 A JP 2020129651A JP 2022026270 A JP2022026270 A JP 2022026270A
Authority
JP
Japan
Prior art keywords
signal
tap length
adaptive filter
unit
voice
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.)
Pending
Application number
JP2020129651A
Other languages
English (en)
Inventor
智史 山梨
Tomohito Yamanashi
南生也 持木
Naoya Mochiki
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2020129651A priority Critical patent/JP2022026270A/ja
Publication of JP2022026270A publication Critical patent/JP2022026270A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Circuit For Audible Band Transducer (AREA)

Abstract

【課題】音声処理装置において、周囲の状況が変化した場合におけるノイズ成分の抑圧性能の低下を、処理量を増加させることなく低減すること。【解決手段】本開示にかかる音声処理装置は、第1推定部と、第1加算部と、検知部と、第1制御部と、を備える。第1推定部は、第1信号が入力され、第1信号に基づいた第2信号を出力する第1適応フィルタを備え、第2信号に基づいた第1減算信号を生成する。第1加算部は、第1収音装置が取得した第3信号が入力され、第3信号から第1減算信号を減算する。検知部は、第4信号が入力され、第4信号に基づいて周囲の状況変化を検知する。第1制御部は、第1適応フィルタのタップ長を変更可能であり、検知部からの状況変化を検知したことを示す検知信号を受信したとき、タップ長を、第1タップ長から、第1タップ長よりも短い第2タップ長に変更する。【選択図】図4

Description

本開示は、音声処理システム、音声処理装置、及び音声処理方法に関する。
音声信号に混入したノイズ成分を、適応フィルタを用いて推定し、推定したノイズ成分を抑圧する音声処理装置が知られている。
このような音声処理装置に関し、例えば特許文献1には、適応フィルタのフィルタ係数の絶対値に基づいて、適応フィルタの一部のタップを不使用とすることができる構成が開示されている。また、特許文献2には、適応フィルタのフィルタ係数の収束度に応じて、適応フィルタの一部のタップを不使用とすることができる構成が開示されている。
特許第2888121号公報 特許第5321372号公報
適応フィルタを用いた音声処理装置では、装置周囲の状況が変化した場合、ノイズ成分の抑圧性能が一時的に低下することがある。装置周囲の状況が変化した場合とは、例えば音声処理装置の起動直後や、音楽の再生が開始されたとき、あるいは話者が切り替わったときである。これは、適応フィルタのフィルタ係数の値が、状況の変化によって一度発散した後、変化後の状況に対応した値に収束するまでに時間を要することに起因する。
本開示は、音声処理装置において、周囲の状況が変化した場合におけるノイズ成分の抑圧性能の低下を、処理量を増加させることなく低減することを目的とする。
本開示にかかる音声処理装置は、第1推定部と、第1加算部と、検知部と、第1制御部と、を備える。第1推定部は、第1信号が入力され、第1信号に基づいた第2信号を出力する第1適応フィルタを備え、第2信号に基づいた第1減算信号を生成する。第1加算部は、第1収音装置が取得した第3信号が入力され、第3信号から第1減算信号を減算する。検知部は、第4信号が入力され、第4信号に基づいて周囲の状況変化を検知する。第1制御部は、第1適応フィルタのタップ長を変更可能であり、検知部からの状況変化を検知したことを示す検知信号を受信したとき、タップ長を、第1タップ長から、第1タップ長よりも短い第2タップ長に変更する。
本開示によれば、音声処理装置において、周囲の状況が変化した場合におけるノイズ成分の抑圧性能の低下を、処理量を増加させることなく低減することができる。
図1は、第1実施形態における音声処理システムの概略構成の一例を示す図である。 図2は、第1実施形態における音声処理装置のハードウェア構成の一例を示す図である。 図3は、第1実施形態における音声処理装置が備える機能構成の概略を示す図である。 図4は、第1実施形態におけるEC処理部の詳細な構成の一例を示す図である。 図5は、第1実施形態におけるEC処理部のノイズ成分の抑圧性能の時間的推移の一例を示す図である。 図6は、第1実施形態におけるEC処理部の動作を示すフローチャートである。 図7は、変形例1におけるEC処理部の動作を示すフローチャートである。 図8は、第2実施形態における音声処理装置の構成の一例を示す図である。 図9は、第2実施形態における状況変化検知部の動作を示すフローチャートである。 図10は、第2実施形態におけるCTC処理部の動作を示すフローチャートである。 図11は、変形例2におけるCTC処理部の動作を示すフローチャートである。 図12は、第3実施形態における音声処理装置の動作を示すフローチャートである。
以下、適宜図面を参照しながら、本開示の実施形態を詳細に説明する。ただし、必要以上に詳細な説明は省略する場合がある。なお、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるのであって、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
(第1実施形態)
図1は、第1実施形態における音声処理システム5の概略構成の一例を示す図である。音声処理システム5は、例えば車両10に搭載される。以下、音声処理システム5が車両10に搭載される例について説明する。
車両10の車室内には、複数の座席が設けられる。複数の座席は、例えば、運転席、助手席、および左右の後部座席の4席である。なお、座席の数は、これに限られない。以降では、運転席に着座する乗員を乗員hm1、助手席に着座する乗員を乗員hm2、後部座席の左側に着座する乗員を乗員hm3、後部座席の右側に着座する乗員を乗員hm4と表記する。
音声処理システム5は、複数のマイクMC、音声処理装置20、音声認識エンジン30、および電子機器40を含む。この例では、座席の数と等しい数、つまり4つのマイクMCが設けられているが、マイクMCの数は座席の数と等しくなくてもよい。音声処理装置20の出力は、音声認識エンジン30に入力される。音声認識エンジン30による音声認識結果は、電子機器40に入力される。電子機器40の出力は、車室内に設けられたスピーカ50に入力される。なお、図1に示す例では、スピーカ50は車室内に2つ設けられている。車室内に設けられるスピーカ50の数は2個に限定されない。
4つのマイクMCは、各マイクMCが異なる1人の乗員hmが発話する音声をメインに収音できるように、車室内に配置されている。1人の乗員hmが発話する音声をメインに収音するとは、当該1人の乗員hmが発話する音声を他のマイクMCよりも大きなレベルで収音することである。以降、乗員hmiが発話する音声をメインに収音するためのマイクMCを、マイクMCiと表記する。但し、iは1から4までの整数とする。
例えば、マイクMC1は、車両の運転者である乗員hm1が発話する音声をメインに収音できるように、運転席の右側のアシストグリップに配置される。よって、マイクMC1は、乗員hm1が発話すれば、乗員hm1が発話した音声成分を含む音声信号を取得することができる。なお、音声信号とは、音声を表す電気信号をいう。
マイクMC2は、乗員hm2が発話する音声をメインに収音することができるように、例えば助手席の左側のアシストグリップに配置される。よって、乗員hm2が発話すれば、マイクMC2は、乗員hm2が発話した音声成分を含む音声信号を取得することができる。
マイクMC3は、乗員hm3が発話する音声をメインに収音することができるように、例えば後部座席の左側のアシストグリップに配置される。よって、乗員hm3が発話すれば、マイクMC3は、乗員hm3が発話した音声成分を含む音声信号を取得することができる。
マイクMC4は、乗員hm4が発話する音声をメインに収音することができるように、例えば後部座席の右側のアシストグリップに配置される。よって、乗員hm4が発話すれば、マイクMC4は、乗員hm4が発話した音声成分を含む音声信号を取得することができる。
各マイクMCの配置位置は、上記に説明した例に限られない。例えば、マイクMC1はダッシュボードの右側前面に配置されてもよい。マイクMC2は、ダッシュボードの左側前面に配置されてもよい。マイクMC3は、助手席の背もたれ部に配置されてもよい。マイクMC4は、運転席の背もたれ部に配置されてもよい。
各マイクMCは、指向性マイクであってもよく、無指向性マイクであってもよい。各マイクMCは、小型のMEMS(Micro Electro Mechanical Systems)マイクであってもよく、ECM(Electret Condenser Microphone)であってもよい。各マイクMCは、ビームフォーミング可能なマイクであってもよい。例えば、各マイクMCは、各座席の方向に指向性を有し、指向方法の音声を収音可能なマイクアレイでもよい。
スピーカ50には、電子機器40から、例えば、音楽などの音声を表す音声信号や、ハンズフリー通話の通話相手の音声を表す音声信号が入力される。スピーカ50は、入力された音声信号を音声に変えて出力する。なお、スピーカ50に音声信号を入力する機器は電子機器40でなくてもよい。スピーカ50に入力される音声信号を、スピーカ入力信号と表記する。また、スピーカ50から出力される音声を、スピーカ音声と表記する。
音声処理装置20は、車両の所定位置に設けられている。音声処理装置20は、音声認識エンジン30または電子機器40に組み込まれてもよいし、音声認識エンジン30および電子機器40とは別体の装置であってもよい。
各マイクMCが取得した音声信号は、音声処理装置20に入力される。音声処理装置20は、各マイクMCから入力された音声信号に対し、ノイズ成分を抑圧する処理を個別に行う。
具体的には、音声処理装置20は、マイクMCiから入力された音声信号に関しては、対応する乗員hmである乗員hmiが発話する音声を取得目的成分と見なす。そして、音声処理装置20は、乗員hmiが発話する音声以外の音声をノイズ成分と見なして抑圧する。乗員hmiが発話する音声以外の音声は、例えば、乗員hm1~乗員hm4のうちの乗員hmi以外の乗員が発話する音声およびスピーカ音声を含む。音声処理装置20は、マイクMCiから入力された音声信号に対し、乗員hmiが発話する音声以外の音声を抑圧することで、理想的には乗員hmiが発話する音声のみを含む音声信号を生成することができる。
音声処理装置20は、ノイズ成分の抑圧後の各音声信号、つまり、理想的には乗員hm1が発話する音声のみを含む音声信号と、理想的には乗員hm2が発話する音声のみを含む音声信号と、理想的には乗員hm3が発話する音声のみを含む音声信号と、理想的には乗員hm4が発話する音声のみを含む音声信号と、のそれぞれを出力信号として出力する。音声処理装置20の各出力信号は、音声認識エンジン30に入力される。
音声認識エンジン30は、音声処理装置20からの少なくとも1つの出力信号に含まれる音声を認識し、音声認識結果を出力する。音声認識エンジン30は、音声認識結果や音声認識結果に基づく信号を生成する。音声認識結果に基づく信号とは、例えば電子機器40の操作信号である。音声認識エンジン30による音声認識結果は、電子機器40に入力される。音声認識エンジン30は、音声処理装置20と別体の装置であってもよい。音声認識エンジン30は、例えばダッシュボードの内部に配置される。音声認識エンジン30は、座席の内部に収容されて配置されてもよい。あるいは、音声認識エンジン30は、音声処理装置20に組み込まれた一体型の装置であってもよい。
電子機器40には、音声認識エンジン30から出力される信号が入力される。電子機器40は、例えば、操作信号に対応する動作を行う。電子機器40は、例えば車両10のダッシュボードに配置される。電子機器40は、例えばカーナビゲーション装置である。電子機器40は、パネルメータ、テレビ、あるいは携帯端末であってもよい。電子機器40は、乗員hmに対する音声を表す音声信号を、スピーカ入力信号としてスピーカ50に入力する。
なお、図1では、車両に4人が乗車している場合を示したが、乗車する人数はこれに限られない。乗車人数は、車両の最大乗車定員以下であればよい。例えば、車両の最大乗車定員が6人である場合、乗車人数は6人であってもよく、5人以下であってもよい。
図2は、第1実施形態における音声処理装置20のハードウェア構成の一例を示す図である。図2に示す例では、音声処理装置20は、DSP(Digital Signal Processor)21、RAM(Random Access Memory)22、ROM(Read Only Memory)23、およびI/O(Input/Output)インタフェース24を備える。
DSP21は、コンピュータプログラムを実行可能なプロセッサである。なお、音声処理装置20が備えるプロセッサの種類はDSPに限定されない。例えば、音声処理装置20は、DSPに代えてCPU(Central Processing Unit)を備え得る。また、音声処理装置20が備えるプロセッサの数は1に限定されない。
ROM23は、コンピュータプログラムを含む各種情報を記憶する不揮発性メモリである。DSP21は、特定のコンピュータプログラムをROM23から読み出して実行することによって、音声処理装置20の機能を実現する。音声処理装置20の機能については後述する。なお、音声処理装置20が備える不揮発性メモリの種類はROMに限定されない。例えば、音声処理装置20は、ROMに代えてフラッシュメモリを備え得る。また、音声処理装置20が備える不揮発性メモリの数は1に限定されない。
RAM22は、キャッシュまたはバッファなどとして使用される揮発性メモリである。なお、音声処理装置20が備える揮発性メモリの種類はRAMに限定されない。音声処理装置20は、RAMに代えてレジスタを備え得る。また、音声処理装置20が備える揮発性メモリの数は1に限定されない。
I/Oインタフェース24には、外部の装置が接続されるインタフェース装置である。ここでは、外部の装置は、例えば、4つのマイクMCおよび音声認識エンジン30などである。
このように、音声処理装置20は、コンピュータプログラムが格納されたメモリと当該コンピュータプログラムを実行可能なプロセッサとを備える。つまり、音声処理装置20は、コンピュータと見なされ得る。なお、音声処理装置20としての機能を実現するために要するコンピュータの数は1に限定されない。音声処理装置20としての機能は、2以上のコンピュータの協働によって実現されてもよい。
図3は、第1実施形態における音声処理装置20が備える機能構成の概略を示す図である。音声処理装置20では、それぞれが何れかのマイクMCに一対一に対応する4つのEC処理部210およびそれぞれが何れかのマイクMCに一対一に対応する4つのCTC処理部220を備える。これらの機能構成は、例えば、DSP21が特定のコンピュータプログラムを実行することによって実現する。マイクMCiに対応するEC処理部210を、EC処理部210-iと表記する。また、マイクMCiに対応するCTC処理部220を、CTC処理部220-iと表記する。
各EC処理部210は、エコーキャンセル処理を実行する。エコーキャンセル処理は、音声信号に含まれるスピーカ音声の成分をノイズ成分と見なして抑圧する処理である。エコーキャンセル処理は、ミュージックキャンセル処理とも称され得る。EC処理部210-iには、マイクMCiからの音声信号と、スピーカ入力信号とが入力される。EC処理部210-iは、スピーカ入力信号を参照信号として用いることによって、マイクMCiからの音声信号に含まれるスピーカ音声の成分を抑圧する。
各CTC処理部220は、クロストークキャンセル処理を実行する。クロストークキャンセル処理は、対応する乗員hm以外の乗員hmが発話した音声の成分をノイズ成分と見なして抑圧する処理である。CTC処理部220-iには、全てのマイクMCからの音声信号が、EC処理部210によるエコーキャンセル処理を経た後に入力される。CTC処理部220-iは、入力された音声信号のうちのマイクMCi以外のマイクMCからの音声信号を参照信号として用いることによって、乗員hmi以外の乗員hmが発話した音声の成分を抑圧する。各CTC処理部220は、クロストークキャンセル処理後の音声信号を音声認識エンジン30に出力する。
音声処理装置20は、EC処理部210およびCTC処理部220以外に、状況変化検知部を備える。状況変化検知部としての機能は、EC処理部210およびCTC処理部220と同様に、DSP21によって実現される。状況変化検知部についてはEC処理部210の詳細とともに後述する。
音声処理装置20は、上記された機能に加えて、適宜、任意の機能を備え得る。例えば、各マイクMCがマイクアレイである場合、音声処理装置20は、対応する乗員hmの方向からの音声成分を増幅するとともに他の方向からの音声成分を減衰させる、いわゆるビームフォーミングと称される処理を行うビームフォーミング処理部を備えていてもよい。ビームフォーミング処理によって、各マイクMCに入力される音声信号のS/N比が向上する。そして、後段で実行されるクロストークキャンセル処理の精度を高めることができる。
図4は、第1実施形態におけるEC処理部210の詳細な構成の一例を示す図である。なお、4つのEC処理部210は、音声信号の入力元のマイクMCが異なる点を除き、同一の構成を備えている。ここでは代表として、EC処理部210-1の構成について説明し、EC処理部210-2~EC処理部210-4の構成の説明を省略する。
EC処理部210-1は、適応フィルタ211を備えるEC推定部212と、適応フィルタ211を制御するEC制御部213と、EC加算部214と、を備える。
EC推定部212には、スピーカ入力信号が参照信号として入力される。EC推定部212は、ノイズ成分、つまりマイクMC1からの音声信号に含まれるスピーカ音声の成分を、適応フィルタ211を用いて推定する。EC推定部212は、スピーカ入力信号に適応フィルタ211をかけ、これによって得られた信号を、推定したノイズ成分を表す信号として出力する。
適応フィルタ211は、例えばRAM22に配置される。適応フィルタ211は、信号処理の過程においてフィルタ係数が更新されることで、特性を変化させることができる。下記に適応フィルタ211の構成の一例を説明する。例えば、フィルタ係数の更新アルゴリズムとしてLMS(Least Mean Square)を用いる場合、適応フィルタ211は、誤差信号の自乗平均で定義されるコスト関数を最小にするフィルタである。図4に示す例では、誤差信号とは、取得目的の音声、つまり乗員hm1が発話した音声、の成分と、出力信号と、の差である。
ここでは、適応フィルタ211としてFIR(Finite Impulse Response)フィルタを例示する。他の種類の適応フィルタを用いてもよい。例えば、IIR(Infinite Impulse Response)フィルタを用いてもよい。音声処理装置20の出力信号と取得目的の音声の成分との差である誤差信号は、音声処理装置20が適応フィルタとして1つのFIRフィルタを用いる場合、以下の式(1)で示される。
Figure 2022026270000002
ここで、nは時刻であり、e(n)は誤差信号であり、d(n)は取得目的の音声の成分であり、wiはフィルタ係数であり、x(n)は参照信号であり、Lはタップ長である。ここでは、参照信号x(n)は、スピーカ入力信号である。なお、タップ長は、タップ数と言い換えることができる。
適応フィルタ211が上記のように構成されることで、EC推定部212は、スピーカ入力信号に適応フィルタ211をかけることによって、マイクMC1に含まれるスピーカ音声の成分を推定した信号を得ることができる。EC推定部212は、適応フィルタ211によって得られた信号を出力する。なお、EC推定部212が出力する信号を、減算に使用される信号という意味で、減算信号と表記する。
EC加算部214は、マイクMC1からの音声信号から、EC推定部212によって推定されたノイズ成分の表す信号、つまり減算信号を減算する。EC加算部214からの出力信号は、各CTC処理部220に共通に入力される。
EC制御部213は、EC加算部214からの出力信号に基づき、適応フィルタ211のフィルタ係数の更新を行う。EC制御部213は、誤差信号が出来るだけ小さくなるようにフィルタ係数を繰り返し更新する。ノイズ成分に変動が無ければ、やがて誤差信号が小さい値に収束し、それとともにフィルタ係数はノイズ成分に応じた値に収束する。適応フィルタ211によるノイズ成分の抑圧性能は、誤差信号が小さくなるに従って向上し、誤差信号およびフィルタ係数が収束した時点で一定となる。
第1実施形態においては、EC制御部213は、適応フィルタ211のタップ長の制御を行う。つまり、適応フィルタ211は、タップ長が可変に構成されており、EC制御部213は、所定の事象をトリガとして適応フィルタ211のタップ長の値の変更を行う。
例えば音楽の再生が開始された場合のように状況が変化した場合、ノイズ成分が変化するため、上記の誤差信号が増加してノイズ成分の抑圧性能が低下する。すると、誤差信号が再び小さい値に収束するように、フィルタ係数の変化が開始する。フィルタ係数の変化が開始してからフィルタ係数が再収束するまでの間は、フィルタ係数が収束した状態に比べてノイズ成分の抑制性能が低下した状態となる。
EC制御部213は、状況が変化した場合におけるノイズ成分の抑圧性能の低下をできるだけ抑制するために、適応フィルタ211のタップ長を一時的に短くする制御を行う。
図5は、第1実施形態におけるEC処理部210-1のノイズ成分の抑圧性能の時間的推移の一例を示す図である。ここでは、適応フィルタ211のタップ長が64ミリ秒分のデータ量に相当する長さに設定されたケース1と、適応フィルタ211のタップ長がケース1の半分の32ミリ秒分のデータ量に相当する長さに設定されたケース2と、の2つのケースにおける抑圧性能の時間的推移について説明する。
また、図5は、スピーカ50による音楽の再生が開始されてからの各量を示す。一行目は、経過時間、つまり音楽の再生が開始されてからの経過時間を示す。ここでの経過時間の単位は秒である。二行目は、スピーカ入力信号のレベルを合計RMS(Root Mean Square)で示す。三行目は、ケース1におけるEC加算部214の出力信号のレベルを合計RMSで示す。四行目は、ケース2におけるEC加算部214の出力信号のレベルを合計RMSで示す。五行目は、ケース1によるノイズ成分の抑圧性能を、抑圧量、つまりスピーカ入力信号からEC加算部214の出力信号を減算した量で示す。六行目は、ケース2によるノイズ成分の抑圧性能を、抑圧量、つまりスピーカ入力信号からEC加算部214の出力信号を減算した量で示す。七行目は、ケース1における抑圧量からケース2における抑圧量を減算した量を示す。
図5から、音楽の再生が開始されてから5秒が経過するまでの間は、ケース2のほうがケース1よりもノイズ成分の抑圧性能が良いことが読み取れる。これは、タップ長が短いほうが、タップ長が長い場合に比べて誤差信号およびフィルタ係数の収束に要する時間が短いことによる。
また、音楽の再生が開始されてから6秒以降経過した場合には、ケース1のほうがケース2よりもノイズ成分の抑圧性能が良いことが読み取れる。これは、タップ長が長いほうが、タップ長が短い場合に比べてノイズ成分の再現精度が高いことによる。ノイズ成分の再現精度が高いほど、誤差信号をよりゼロに近づけることができ、これによってノイズ成分の抑圧性能が向上する。
第1実施形態では、EC制御部213は、状況が変化した場合、タップ長を一時的に短くする。これによって、誤差信号が収束に向かう速度が一時的に早められることで、タップ長を変更しない場合に比べてノイズ成分の抑圧性能の低下を抑制することができる。
また、EC制御部213は、タップ長を短くしてからの経過時間が所定のしきい値を越えたとき、タップ長を短くする前の長さに戻す。これによって、タップ長を短いまま運用した場合に比べて誤差信号をよりゼロに近づけることができ、ノイズ成分の抑圧性能を向上させることができる。
なお、タップ長を短くする方法は特定の方法に限定されない。一例では、高次側の所定数のタップが不使用とされ、低次側に残ったタップだけがフィルタ係数の更新の対象とされる。EC制御部213は、タップ長を短くしたとき、各タップのフィルタ係数をリセットしてもよいし、各タップのフィルタ係数をリセットしなくてもよい。
タップ長を元に戻す方法、つまりタップ長を長くする方法は、特定の方法に限定されない。一例では、タップ長を短くした際に不使用とされた高次側の所定数のタップが、使用可能とされる。つまり、高次側の所定数のタップが、フィルタ係数の更新の対象のタップとして追加される。EC制御部213は、タップ長を長くしたとき、追加された高次側の所定数のタップのフィルタ係数の初期値をゼロとすることができる。なお、追加された高次側の所定数のタップのフィルタ係数の初期値はこれに限定されない。
図4に説明を戻す。
音声処理装置20は、状況変化を検知することができる状況変化検知部230を備える。状況変化検知部230には、外部から状況変化通知信号が入力される。状況変化通知信号は、状況変化を通知する信号である。
一例では、状況変化通知信号は、スピーカ50が音声の出力を開始したことを通知する信号である。状況変化通知信号は、例えば電子機器40から入力される。つまり、電子機器40は、スピーカ入力信号によってスピーカ50に音声の出力を開始させるとき、状況変化通知信号によって音声処理装置20に状態の変化を通知する。なお、スピーカ50に状況変化通知信号を送る装置は電子機器40に限定されない。
別の例では、状況変化通知信号は、システムのリセットを状況変化として通知する信号である。ここでいうシステムは、音声処理システム5である。つまり、音声処理装置20にとって、リセットは、音声処理装置20のリセットである。また、ここでいうリセットは、システムの起動を含む。このような状況変化通知信号は、電子機器40から音声処理装置20に入力されてもよいし、電子機器40以外の装置から音声処理装置20に入力されてもよい。状況変化通知信号は、車両10の制御装置から入力されてもよい。
状況変化検知部230は、状況変化通知信号に基づき、状況変化を検知する。状況変化検知部230は、状況変化を検知したとき、その旨を各EC処理部210のEC制御部213に通知する。
EC処理部210-1では、状況変化検知部230が状況変化を検知すると、その通知を受けたEC制御部213は、適応フィルタ211のタップ長を短くする。そして、EC制御部213は、適応フィルタ211のタップ長を短くしてからの経過時間がしきい値を越えたとき、適応フィルタ211のタップ長を、短くする前の長さに戻す。
なお、経過時間としきい値との比較に基づく判定方法はこれに限定されない。EC制御部213は、適応フィルタ211のタップ長を短くしてからの経過時間がしきい値に達したとき、適応フィルタ211のタップ長を、短くする前の長さに戻してもよい。
図6は、第1実施形態におけるEC処理部210の動作を示すフローチャートである。なお、4つのEC処理部210は、音声信号の入力元のマイクMCが異なる点を除き、同一の動作を行う。ここでは代表として、EC処理部210-1の動作について説明し、EC処理部210-2~EC処理部210-4の動作の説明を省略する。
また、短くする前の適応フィルタ211のタップ長の値をL1と表記する。短くした後の適応フィルタ211のタップ長の値をL2と表記する。但し、L2はL1よりも小さい。また、適応フィルタ211のタップ長をL2からL1に戻すタイミングの判断に使用されるしきい値、つまりタップ長を短くしてからの経過時間と比較されるしきい値を、第1しきい値と表記する。
まず、EC処理部210は、マイクMC1からの音声信号を取得する(S101)。続いて、EC制御部213は、状況変化が検知されたか否かを判定する(S102)。つまり、EC制御部213は、状況変化検知部230が、スピーカ50が音声の出力を開始したこと、またはシステムのリセット、などを検知したか否かを、状況変化検知部230からの通知の有無に基づいて判定する。
EC制御部213は、状況変化が検知されていない場合(S102:No)、最後に状況変化が検知されてからの経過時間が第1しきい値を越えているか否かを判定する(S103)。なお、起動してから1度も状況変化が検知されていない場合には、S103の判定処理においてはYesと判定される。
最後に状況変化が検知されてからの経過時間が第1しきい値を越えている場合(S103:Yes)、または起動してから1度も状況変化が検知されていない場合、EC制御部213は、適応フィルタ211のタップ長をL1とし、EC推定部212は、タップ長L1の適応フィルタ211を使用して減算信号を生成する(S104)。具体的には、EC推定部212は、参照信号、つまりスピーカ入力信号にタップ長L1の適応フィルタ211をかけて、これによって得られた信号を、減算信号として出力する。
S104に続いて、EC加算部214は、S101において取得した音声信号からS104においてEC推定部212が生成した減算信号を減算することによって出力信号を生成し、出力する(S105)。この出力信号は、各CTC処理部220に共通に入力される。
そして、EC制御部213は、S105においてEC加算部214が出力した出力信号に基づいて、タップ長L1の適応フィルタ211のフィルタ係数の更新を行い(S106)、制御がS101に遷移する。
状況変化が検知された場合(S102:Yes)、または最後に状況変化が検知されてからの経過時間が第1しきい値を越えていない場合(S103:No)、EC制御部213は、適応フィルタ211のタップ長をL2とし、EC推定部212は、タップ長L2の適応フィルタ211を使用して減算信号を生成する(S107)。
そして、EC加算部214は、S101において取得した音声信号からS107においてEC推定部212が生成した減算信号を減算することによって出力信号を生成し、出力する(S108)。この出力信号は、各CTC処理部220に共通に入力される。
そして、EC制御部213は、S108においてEC加算部214が出力した出力信号に基づいて、タップ長L2の適応フィルタ211のフィルタ係数の更新を行い(S109)、制御がS101に遷移する。
このように、スピーカ50が音声の出力を開始したことまたはシステムがリセットされたことなどの状況変化が検知されたとき(S102:Yes)、EC制御部213によってタップ長がL1からL2に短くされ、S107~S109において、タップ長L2の適応フィルタ211を用いたノイズ成分の抑圧とフィルタ係数の更新とが実施される。状況変化が検知されてからの経過時間が第1しきい値を越えたとき(S103:Yes)、EC制御部213によってタップ長がL2からL1に長くされ、S104~S106において、タップ長L1の適応フィルタ211を用いたノイズ成分の抑圧と適応フィルタ211のフィルタ係数の更新とが実施される。
なお、第1実施形態では、各EC処理部210からの出力信号は、全てのCTC処理部220に共通に入力されることとした。各EC処理部210からの出力信号の入力先はこれに限定されない。各EC処理部210からの出力信号は、一部のCTC処理部220に入力されてもよい。また、音声処理装置20から全てのCTC処理部220を廃し、各EC処理部210からの出力信号は音声認識エンジン30に入力されてもよい。
また、第1実施形態においては、マイクMCiは、第1収音装置に相当する。マイクMCiからの音声信号は、第1収音装置が取得した第3信号に相当する。なお、第3信号は、マイクMCiから出力された後に任意の処理、例えばビームフォーミング処理、を経たあとの信号であってもよい。状況変化通知信号は、第4信号に相当する。スピーカ入力信号は、第1信号に相当する。第1しきい値は、第1経過時間に相当する。
また、第1実施形態においては、マイクMCiに対応するEC処理部210-iにおいて、EC推定部212は第1推定部に相当し、適応フィルタ211は第1適応フィルタに相当し、EC加算部214は第1加算部に相当し、EC制御部213は第1制御部に相当する。状況変化検知部230は、検知部に相当する。適応フィルタ211に入力される信号も、第1信号に相当する。適応フィルタ211から出力される信号は、第2信号に相当する。EC推定部212から出力される信号は、第1減算信号に相当する。短くされる前の適応フィルタ211のタップ長、即ち例えばL1は、第1タップ長に相当する。短くされた後の適応フィルタ211のタップ長、即ち例えばL2は、第2タップ長に相当する。短くされ、その後、長くされた適応フィルタ211のタップ長は、第3タップ長に相当する。なお、以上の説明では、第1タップ長と第3タップ長とは等しいとされた。つまり、第3タップ長はL1とされた。第1タップ長と第3タップ長とは等しくなくてもよい。例えば、適応フィルタ211のタップ長は、第2タップ長から段階的に第1タップ長に戻されてもよい。そのような場合において、第2タップ長から第1タップ長に戻る過渡状態におけるタップ長は、第1タップ長と異なる第3タップ長に相当する。
以上述べたように、第1実施形態によれば、音声処理装置20では、EC処理部210-iのEC推定部212は、入力されたスピーカ入力信号に基づいた信号を出力する適応フィルタ211を備え、適応フィルタ211の出力信号に基づいた減算信号を生成する。EC処理部210-iのEC加算部214は、マイクMCiが取得した音声信号からEC推定部212によって生成された減算信号を減算する。状況変化検知部230は、外部から入力された状況変化通知信号に基づいて状況変化を検知する。EC処理部210-iのEC制御部213は、状況変化検知部230が状況変化を検知したことをトリガとして適応フィルタ211のタップ長を短くする。
これによって、状況が変化したとしても適応フィルタ211のタップ長を長い状態で維持した場合に比べ、状況が変化した場合のノイズ成分の抑圧性能の低下を低減することが可能となる。
なお、適応フィルタ211のタップ長を短くすると、不使用とされたタップのフィルタ係数の更新が不要になる分だけDSP21の処理量が減る。つまり、タップ長を短くすることによる処理量の増加はない。
よって、第1実施形態によれば、状況が変化した場合のノイズ成分の抑圧性能の低下を、処理量を増加させることなく低減することが可能となる。
なお、適応フィルタ211のタップ長を短くするか否かの判断は、外部からの信号に基づく。
これに対し、例えば特許文献1の技術によれば、適応フィルタを短くする判断のために、フィルタ係数の絶対値を探す処理が追加で必要となる。また、特許文献2の技術によれば、適応フィルタを短くする判断のために、フィルタ係数の収束度を求める処理が追加で必要となる。これらの技術において追加で必要になる処理は、第1実施形態において適応フィルタ211のタップ長を短くするか否かの判断に要する処理に比べて、多くの処理量を要すると考えられる。
つまり、第1実施形態によれば、適応フィルタ211のタップ長を短くするか否かの判断に要する処理量が、特許文献1および特許文献2の技術に比べて少なくて済む。
また、第1実施形態によれば、EC処理部210-iのEC制御部213は、適応フィルタ211のタップ長を短くしてからの経過時間が第1しきい値を越えたとき、適応フィルタ211のタップ長を長くする。
よって、適応フィルタ211のフィルタ係数が再収束に近づいた際のノイズ成分の抑圧性能を、適応フィルタ211のタップ長を短くしたまま維持された場合に比べて向上させることができる。
なお、第1実施形態では、EC処理部210-iのEC推定部212は、スピーカ入力信号に基づいてノイズ成分、つまりスピーカ音声の成分を推定する。
よって、マイクMCiからの音声信号に混入するスピーカ音声の成分を抑圧することが可能になる。
また、第1実施形態では、スピーカ入力信号に基づいた信号を状況変化通知信号とすることができる。より具体的には、状況変化通知信号は、スピーカ50が音声の出力を開始したことを通知する信号である。つまり、状況変化は、スピーカ50による音声出力の開始である。
よって、スピーカ50による音声出力が開始した場合のノイズ成分の抑圧性能の低下を、処理量を増加させることなく低減することが可能となる。
また、第1実施形態では、音声処理装置20のリセットに関する信号を状況変化通知信号とすることができる。より具体的には、状況変化通知信号は、音声処理装置20のリセットを通知する信号である。つまり、状況変化は、音声処理装置20がリセットされることである。
音声処理装置20がリセットされると、適応フィルタ211のフィルタ係数がリセットされる。すると、音楽の再生が開始したときと同様に、フィルタ係数が収束するまでの間、ノイズ成分の抑圧性能が低下する。
適応フィルタ211のフィルタ係数がリセットされたときにタップ長が短くされることで、ノイズ成分の抑圧性能の低下を、処理量を増加させることなく低減することが可能となる。
(変形例1)
第1実施形態の別の一例である変形例1について説明する。
一般に、DSPの処理量は、ワーストケースで所定の上限値を越えないことが要求される。換言すると、設計者は、処理量が上限値を越えない限り、DSPに任意の処理を実行させることができる。
前述したように、EC処理部210において、EC制御部213が適応フィルタ211のタップ長を短くすると、一部のタップにかかるフィルタ係数の更新が不要になる分だけ必要な処理量が減る。換言すると、DSP21の処理能力に上限値までの余裕ができる。
変形例1では、EC制御部213は、適応フィルタ211のタップ長を短くすることで生じた、余った処理能力の範囲で、適応フィルタ211のフィルタ係数の更新頻度を、適応フィルタ211のタップ長を短くする前よりも高くする。つまり、EC制御部213は、状況変化が検知されると、適応フィルタ211のタップ長を短くするとともに適応フィルタ211のフィルタ係数の更新頻度を高くする。
図7は、変形例1におけるEC処理部210の動作を示すフローチャートである。なお、4つのEC処理部210は、音声信号の入力元のマイクMCが異なる点を除き、同一の動作を行う。ここでは代表として、EC処理部210-1の動作について説明し、EC処理部210-2~EC処理部210-4の動作の説明を省略する。
なお、図7の説明では、図6において説明した処理と同じ処理については、図6に示したステップ番号と同じ番号を付して、簡略的に説明するか、または説明を省略する。
また、図7では、短くする前の適応フィルタ211のタップ長の値をL1と表記する。短くした後の適応フィルタ211のタップ長の値をL2と表記する。但し、L2はL1よりも小さい。また、適応フィルタ211のタップ長をL2からL1に戻すタイミングの判断に使用されるしきい値、つまりタップ長を短くしてからの経過時間と比較されるしきい値を、第1しきい値と表記する。
また、高くする前の適応フィルタ211のフィルタ係数の更新頻度の値をF1と表記する。高くした後の適応フィルタ211のフィルタ係数の更新頻度の値をF2と表記する。但し、F2はF1よりも大きい。適応フィルタ211のフィルタ係数の更新頻度を高くすると、その分だけ必要な処理量が増加する。適応フィルタ211のフィルタ係数の更新頻度を高くすることによる必要な処理量の増加分が適応フィルタ211のタップ長を短くすることによる必要な処理量の減少分を越えないように、タップ長L1と更新頻度F1との対、およびタップ長L2と更新頻度F2との対がそれぞれ決定されている。
図7から読み取れるように、変形例1におけるEC処理部210-1の動作は、S106に替えてS201が実行され、S109に替えてS202が実行される点で、図6に示した一連の処理と異なる。
S201では、つまりタップ長L1の適応フィルタ211に基づいて出力信号が出力された後では、EC制御部213は、タップ長L1の適応フィルタ211を更新頻度F1で更新する。
S202では、つまりタップ長L2の適応フィルタ211に基づいて出力信号が出力された後では、EC制御部213は、タップ長L2の適応フィルタ211を更新頻度F2で更新する。
このように、変形例1によれば、各EC処理部210のEC制御部213は、適応フィルタ211のタップ長を短くするとき、適応フィルタ211のフィルタ係数の更新頻度を高くする。
適応フィルタ211のフィルタ係数の更新頻度を高くすると、誤差信号およびフィルタ係数の収束速度が向上する。つまり、適応フィルタ211のタップ長を短くするとともに適応フィルタ211のフィルタ係数の更新頻度を高くすることで、ノイズ成分の抑圧性能をより早く回復させることができる。
したがって、変形例1によれば、状況が変化した場合のノイズ成分の抑圧性能の低下を、さらに低減することができる。
また、変形例1によれば、適応フィルタ211のタップ長を短くされることで生じる余った処理能力の範囲で適応フィルタ211のフィルタ係数の更新頻度が高くされる。よって、適応フィルタ211のフィルタ係数の更新頻度が高くすることで処理量が上限値を越えることを防止することができる。
つまり、変形例1においても、状況が変化した場合のノイズ成分の抑圧性能の低下を、処理量を増加させることなく低減することが可能である。
また、変形例1によれば、各EC処理部210のEC制御部213は、適応フィルタ211のタップ長を長くするとき、適応フィルタ211のフィルタ係数の更新頻度を低くする。
適応フィルタ211のフィルタ係数が再収束に近づいた際のノイズ成分の抑圧性能を、適応フィルタ211のタップ長を短くかつ適応フィルタ211のフィルタ係数の更新頻度を高く維持された場合に比べて向上させることができる。
なお、変形例1においては、高くされる前の適応フィルタ211のフィルタ係数の更新頻度、即ち例えばF1は、第1頻度に相当する。高くされた後の適応フィルタ211のフィルタ係数の更新頻度、即ち例えばF2は、第2頻度に相当する。また、高くされ、その後低くされた後の適応フィルタ211のフィルタ係数の更新頻度は、第3頻度に相当する。なお、以上の説明では、第1頻度と第3頻度とは等しいとされた。つまり、第3頻度はF1であることとされた。第3頻度は、第1頻度と等しくなくてもよい。適応フィルタ211のフィルタ係数の更新頻度は、第2頻度から、第1頻度よりも低い値にいったん変更され、その後、第1頻度に変更されてもよい。そのような場合において、第1頻度よりも低い値は、第1頻度と異なる第3頻度に相当する。
(第2実施形態)
第2実施形態では、適応フィルタのタップ長の調整がCTC処理部において実行される例について説明する。なお、第2実施形態では、第1実施形態と異なる事項について説明し、第1実施形態と同じ事項については簡略的に説明するかまたは説明を省略する。
なお、第2実施形態の音声処理装置を、音声処理装置20Aと表記する。第2実施形態のEC処理部を、EC処理部210Aと表記する。第2実施形態のCTC処理部を、CTC処理部220Aと表記する。音声処理装置20Aは、EC処理部210AおよびCTC処理部220AをマイクMC毎に備える。マイクMCiに対応したEC処理部210AをEC処理部210A-iと表記し、マイクMCiに対応したCTC処理部220AをCTC処理部220A-iと表記する。
図8は、第2実施形態における音声処理装置20の構成の一例を示す図である。4つのマイクMC、4つのEC処理部210A、4つのCTC処理部220A、および音声認識エンジン30の間の各種信号の送受信の関係は、第1実施形態における、4つのマイクMC、4つのEC処理部210、4つのCTC処理部220、および音声認識エンジン30の間の各種信号の送受信の関係と同じである。図8では、4つのCTC処理部220AのうちのCTC処理部220A-1が図示されており、CTC処理部220A-2、CTC処理部220A-3、およびCTC処理部220A-4の図示が省略されている。
また、音声処理装置20Aは、第1実施形態における状況変化検知部230に替えて、または状況変化検知部230に加えて、状況変化検知部240を備える。
各EC処理部210Aは、エコーキャンセル処理を実行する。EC処理部210A-iには、マイクMCiからの音声信号と、スピーカ入力信号と、が入力される。EC処理部210A-iは、スピーカ入力信号を参照信号として用いることによって、マイクMCiからの音声信号に含まれるスピーカ音声の成分を抑圧する。なお、スピーカ入力信号については図示が省略されている。
各EC処理部210Aは、第1実施形態のEC処理部210と同一の構成を備えていてもよいし、第1実施形態のEC処理部210と異なる構成を備えていてもよい。
状況変化検知部240には、全てのマイクMCからの音声信号が入力される。なお、各マイクMCがマイクアレイである場合、各マイクMCからの音声信号は、ビームフォーミング処理を経た後に状況変化検知部240に入力されてもよい。状況変化検知部240は、各マイクMCからの音声信号に基づき、話者位置の切り替わりを状況変化として検知する。状況変化検知部240は、話者位置の切り替わりを検知すると、状況変化を検知した旨を各CTC処理部220Aに通知する。話者位置の切り替わりの検知方法の詳細については後述する。
各CTC処理部220Aは、クロストークキャンセル処理を実行する。CTC処理部220A-iには、全てのマイクMCからの音声信号がエコーキャンセル処理を経た後に入力される。CTC処理部220A-iは、入力された音声信号のうちのマイクMCi以外のマイクMCからの音声信号を参照信号として用いることによって、乗員hmi以外の乗員hmが発話した音声の成分を抑圧する。各CTC処理部220Aは、クロストークキャンセル処理後の音声信号を音声認識エンジン30に出力する。
各CTC処理部220Aは、タップ長が変更可能に構成された1以上の適応フィルタ221を備えており、状況が変化した場合に、1以上の適応フィルタ221のタップ長を短くする。第2実施形態では、状況変化とは、話者位置が切り替わることである。つまり、各CTC処理部220Aは、話者位置の切り替わりが検知された旨が状況変化検知部240によって通知されると、タップ長を短くする。
話者位置が切り替わると、各乗員hmが発話した音声の成分のバランスが大きく変化する。その結果、各CTC処理部220Aにおいては、ノイズ成分の推定精度が低下し、誤差信号が増加してノイズ成分の抑圧性能が低下する。第2実施形態では、話者位置の切り替わりが検知されたときに、各CTC処理部220Aにおいて、1以上の適応フィルタ221のタップ長が短くされる。これによって、ノイズ成分の抑圧性能の低下を低減する。
以下に、CTC処理部220Aの具体的な構成を説明する。なお、4つのCTC処理部220Aは、4つのマイクMCからの音声信号のうちの参照信号として使用される音声信号が異なる点を除き、同一の構成を備えている。ここでは、マイクMC2~MC4からの音声信号を参照信号として使用するCTC処理部220A-1を4つのCTC処理部220Aの代表として具体的な構成を説明し、CTC処理部220A-2~CTC処理部220A-4の具体的な構成の説明を省略する。
CTC処理部220A-1は、3つの適応フィルタ221を備えるCTC推定部222と、当該3つの適応フィルタ221を制御するCTC制御部223と、CTC加算部224と、を備える。
CTC推定部222には、3つのマイクMC2~MC4からの音声信号が、それぞれEC処理部210Aによるエコーキャンセル処理を経た後に、参照信号として入力される。CTC推定部222は、ノイズ成分、つまり乗員hm1以外の乗員hmが発話した音声の成分を、3つの適応フィルタ221を用いて推定する。
3つの適応フィルタ221は、適応フィルタ221-2、適応フィルタ221-3、および適応フィルタ221-4である。3つの適応フィルタ221は、例えばRAM22に配置される。CTC推定部222は、それぞれ参照信号として入力された3つの音声信号のうちのマイクMC2からの音声信号に適応フィルタ221-2をかけ、これによって得られた信号を、乗員hm2が発話した音声の推定した成分を表す信号とする。また、CTC推定部222は、それぞれ参照信号として入力された3つの音声信号のうちのマイクMC3からの音声信号に適応フィルタ221-3をかけ、これによって得られた信号を、乗員hm3が発話した音声の推定した成分を表す信号とする。また、CTC推定部222は、それぞれ参照信号として入力された3つの音声信号のうちのマイクMC4からの音声信号に適応フィルタ221-4をかけ、これによって得られた信号を、乗員hm4が発話した音声の推定した成分を表す信号とする。CTC推定部222は、3つの適応フィルタ221を用いて得られた3つの信号を合算した信号を、推定したノイズ成分を表す信号として出力する。CTC推定部222が出力する信号を、後に減算に使用される信号という意味で、減算信号と表記する。
なお、3つの適応フィルタ221のそれぞれは、第1実施形態のEC処理部210が備える適応フィルタ211と同様、FIRフィルタであってもよいし、他の種類の適応フィルタであってもよい。
CTC加算部224は、マイクMC1からの音声信号から、CTC推定部222によって推定されたノイズ成分の表す信号、つまり減算信号を減算する。これによって、乗員hm1以外の乗員hmが発話した音声の成分が抑圧され、その結果、理想的には乗員hm1が発話した音声の成分のみで構成される音声信号がCTC加算部224によって出力される。CTC加算部224からの出力信号は、音声認識エンジン30に入力される。
CTC制御部223は、CTC加算部224からの出力信号に基づき、3つの適応フィルタ221のフィルタ係数の更新を行う。CTC制御部223は、誤差信号が出来るだけ小さくなるようにフィルタ係数を繰り返し更新する。誤差信号とは、取得目的の音声、つまり乗員hm1が発話した音声、の成分と、出力信号と、の差である。
また、CTC制御部223は、状況が変化した場合、つまり状況変化検知部240から状況変化が通知された場合、3つの適応フィルタ221のタップ長を一時的に短くする。
また、CTC制御部223は、3つの適応フィルタ221のタップ長を短くしてからの経過時間が所定のしきい値を越えたとき、3つの適応フィルタ221のタップ長を短くする前の長さに戻す。
なお、経過時間としきい値との比較に基づく判定方法はこれに限定されない。CTC制御部223は、3つの適応フィルタ221のタップ長を短くしてからの経過時間が所定のしきい値に達したとき、3つの適応フィルタ221のタップ長を短くする前の長さに戻してもよい。
タップ長を短くする方法およびタップ長を元に戻す方法は、第1実施形態と同様、特定の方法に限定されない。
図9は、第2実施形態における状況変化検知部240の動作を示すフローチャートである。
まず、状況変化検知部240は、4つのマイクMCから入力された4つの音声信号のそれぞれに対し、レベルが第2しきい値を越えているか否かを判定する(S301)。第2しきい値は、乗員hmが発話しているか否かを判定するためのしきい値である。つまり、マイクMCiからの音声信号のレベルが第2しきい値を越えている場合、乗員hmiは発話していると推定される。マイクMCiからの音声信号のレベルが第2しきい値を越えてない場合、乗員hmiは発話していない推定される。第2しきい値としては、マイクMC毎に異なった値が使用されてもよいし、共通の値が使用されてもよい。
なお、音声信号のレベルと第2しきい値との比較に基づく判定方法はこれに限定されない。状況変化検知部240は、音声信号のレベルが第2しきい値に達しているか否かを判定してもよい。
レベルが第2しきい値を越えていない音声信号があれば(S301:No)、状況変化検知部240は、対応するフラグを0にする(S302)。レベルが第2しきい値を越えている音声信号があれば(S301:Yes)、状況変化検知部240は、対応するフラグを1にする(S303)。
つまり、状況変化検知部240は、4つのマイクMCに対応する4ビットのフラグを集めたフラグ群を管理している。マイクMCiからの音声信号のレベルが第2しきい値を越えていない場合には、状況変化検知部240は、フラグ群のうちのマイクMCiに対応したビットを0にする。マイクMCiからの音声信号のレベルが第2しきい値を越えている場合には、状況変化検知部240は、フラグ群のうちのマイクMCiに対応したビットを1にする。これによって、フラグ群には、何れの乗員hmが発話中であるかをリアルタイムに示した値がセットされる。なお、フラグ群は、例えばRAM22に配置され得る。
なお、第2しきい値と比較される対象は、音声信号のレベルの瞬間値であってもよいし、音声信号のレベルに対して平均化など所定の処理が実行された後の信号であってもよい。音声信号のレベルの所定期間内の最大値が第2しきい値と比較されてもよい。
各マイクMCからの音声信号についてS302またはS303の処理を実行した後、状況変化検知部240は、話者位置が切り替わったか否かをフラグ群に基づいて判定する(S304)。
例えば、状況変化検知部240は、1サイクル前のフラグ群の値のパターンを記憶し、1サイクル前のフラグ群の値のパターンと、最新のフラグ群の値のパターンと、を比較する。そして、状況変化検知部240は、両者のパターンに相違があれば、話者位置が切り替わったと判定し、両者のパターンに相違がなければ、話者位置が切り替わっていないと判定することができる。
マイクMCiに対応するフラグをfgiと表記し、フラグ群の値のパターンを(fg1,fg2,fg3,fg4)と表記する。例えば、フラグ群の値のパターンが(1,0,0,0)であることは、乗員hm1のみが発話していることを意味する。フラグ群の値のパターンが(1,0,0,0)から(1,1,0,0)に変化した場合、乗員hm2が新たに発話を開始した推定されるため、状況変化検知部240は、話者位置が切り替わったと判定する。
なお、以上に述べた話者位置の切り替わりの判定方法は一例である。話者位置の切り替わりの判定方法はこれに限定されない。例えば、上記の具体例では、話者が乗員hm1に乗員hm2が追加されたことで、話者位置が切り替わったと判定された。しかしながら、乗員hm1は発話を継続している。そのような場合は、話者位置が切り替わっていないと判定されてもよい。このように、たとえフラグ群の値のパターンに変化があったとしても、話者位置が切り替わっていないと見なされる場合があってもよい。
状況変化検知部240は、話者位置が切り替わったと判定した場合(S304:Yes)、状況変化を検知した旨を各CTC処理部220AのCTC制御部223に通知する(S305)。状況変化検知部240は、話者位置が切り替わっていないと判定した場合(S304:No)、S305の処理をスキップする。
状況変化を検知した旨の通知のデータ構造は任意に構成され得る。一例では、状況変化検知部240は、状況変化を検知した旨を示す1ビットの信号を各CTC処理部220AのCTC制御部223に送信してもよい。別の例では、状況変化検知部240は、最新のフラグ群を示す4ビットの信号を各CTC処理部220AのCTC制御部223に送信することによって、状況変化を検知した旨を通知してもよい。
ここでは一例として、状況変化検知部240は、最新のフラグ群を示す4ビットの信号を各CTC処理部220AのCTC制御部223に送信することによって、状況変化を検知した旨を通知することとする。つまり、各CTC処理部220AのCTC制御部223は、4ビットの信号を受信すると、状況変化が検知されたことを認識する。
S304の判定処理においてNoと判定された場合、またはS305の処理の後、制御がS301に遷移する。
S301からS304またはS305までのループ処理は、所定の制御周期で実行される。当該ループ処理ができるだけ短い周期で実行されることで、状況変化検知部240は、話者位置の切り替わりをリアルタイムに検知して通知することができる。
図10は、第2実施形態におけるCTC処理部220Aの動作を示すフローチャートである。なお、4つのCTC処理部220Aは、抑圧対象の成分が異なる点を除き、同一の動作を行う。ここでは4つのCTC処理部220Aの代表としてCTC処理部220A-1の動作について説明し、CTC処理部220A-2~CTC処理部220A-4の動作の説明を省略する。
また、短くする前の3つの適応フィルタ221のタップ長の値をL3と表記する。短くした後の3つの適応フィルタ221のタップ長の値をL4と表記する。但し、L4はL3よりも小さい。また、3つの適応フィルタ221のタップ長をL4からL3に戻すタイミングの判断に使用されるしきい値、つまりタップ長を短くしてからの経過時間と比較されるしきい値を、第3しきい値と表記する。
まず、CTC処理部220A-1は、各マイクMCからの音声信号を取得する(S401)。続いて、CTC制御部223は、状況変化が検知されたか否かを判定する(S402)。つまり、CTC制御部223は、状況変化検知部240が話者位置の切り替わりを検知したか否かを、状況変化検知部240からの通知の有無に基づいて判定する。
CTC制御部223は、状況変化が検知されていない場合(S402:No)、最後に状況変化が検知されてからの経過時間が第3しきい値を越えているか否かを判定する(S403)。なお、起動してから1度も状況変化が検知されていない場合には、S403の判定処理においてはYesと判定される。
最後に状況変化が検知されてからの経過時間が第3しきい値を越えている場合(S403:Yes)、CTC制御部223は、3つの適応フィルタ221のタップ長をL3とし、CTC推定部222は、タップ長L3の3つの適応フィルタ221を使用して減算信号を生成する(S404)。具体的には、CTC推定部222は、マイクMC2からの音声信号にタップ長L3の適応フィルタ221-2を、マイクMC3からの音声信号にタップ長L3の適応フィルタ221-3を、マイクMC4からの音声信号にタップ長L3の適応フィルタ221-4をそれぞれかけて、得られた3つの信号を合算することで減算信号を生成する。
S404に続いて、CTC加算部224は、S401において取得した音声信号からS404においてCTC推定部222が生成した減算信号を減算することによって出力信号を生成し、出力する(S405)。この出力信号は、音声認識エンジン30に入力される。
S405に続いて、CTC制御部223は、S405においてCTC加算部224が出力した出力信号に基づいて、タップ長L3の3つの適応フィルタ221のフィルタ係数の更新を行い(S406)、制御がS401に遷移する。
状況変化が検知された場合(S402:Yes)、または最後に状況変化が検知されてからの経過時間が第3しきい値を越えていない場合(S403:No)、CTC制御部223は、適応フィルタ221のタップ長をL4とし、CTC推定部222は、タップ長L4の3つの適応フィルタ221を使用して減算信号を生成する(S407)。S407において減算信号を生成する手順は、3つの適応フィルタ221のタップ長が異なる点を除き、S404と同じである。
S407に続いて、CTC加算部224は、S401において取得した音声信号からS407においてCTC推定部222が生成した減算信号を減算することによって出力信号を生成し、出力する(S408)。この出力信号は、音声認識エンジン30に入力される。
そして、CTC制御部223は、S408においてCTC加算部224が出力した出力信号に基づいて、タップ長L4の3つの適応フィルタ221のフィルタ係数の更新を行い(S409)、制御がS401に遷移する。
このように、状況変化が検知されたとき(S402:Yes)、CTC制御部223によってタップ長がL3からL4に短くされ、S407~S409において、タップ長L4の3つの適応フィルタ221を用いたノイズ成分の抑圧とフィルタ係数の更新とが実施される。状況変化が検知されてからの経過時間が第3しきい値を越えたとき(S403:Yes)、CTC制御部223によってタップ長がL4からL3に長くされ、S404~S406において、タップ長L3の3つの適応フィルタ221を用いたノイズ成分の抑圧とフィルタ係数の更新とが実施される。
なお、第2実施形態では、各CTC処理部220Aは、全てのEC処理部210Aの出力信号が入力されることとした。各CTC処理部220Aに入力される信号はこれに限定されない。各CTC処理部220Aは、一部のEC処理部210Aからの出力信号が入力されてもよい。また、音声処理装置20Aから全てのEC処理部210Aを廃し、各CTC処理部220Aは、全てのマイクMCから音声信号が入力されてもよい。
第2実施形態においては、マイクMCiは、第1収音装置に相当する。マイクMCi以外のマイクMCは、第2収音装置に相当する。マイクMCiからの音声信号は、第1収音装置が取得した第3信号に相当する。なお、第3信号は、マイクMCiから出力された後に任意の処理、例えばビームフォーミング処理、を経たあとの信号であってもよい。マイクMCiからの音声信号およびマイクMCi以外からの音声信号は、第4信号に相当する。マイクMCi以外からの音声信号は、第5信号に相当する。なお、第5信号は、マイクMCi以外のマイクMCから出力された後に任意の処理、例えばビームフォーミング処理、を経たあとの信号であってもよい。第3しきい値は、第1経過時間に相当する。
また、第2実施形態においては、マイクMCiに対応するCTC処理部220A-iにおいて、CTC推定部222は第1推定部に相当し、3つの適応フィルタ221のそれぞれは第1適応フィルタに相当し、CTC加算部224は第1加算部に相当し、CTC制御部223は第1制御部に相当する。状況変化検知部240は、検知部に相当する。各適応フィルタ221に入力される信号は、第1信号に相当する。なお、第5信号は、第1信号でもある。各適応フィルタ221から出力される信号は、第2信号に相当する。CTC推定部222から出力される信号は、第1減算信号に相当する。短くされる前の各適応フィルタ221のタップ長、即ち例えばL3は、第1タップ長に相当する。短くされた後の各適応フィルタ221のタップ長、即ち例えばL4は、第2タップ長に相当する。短くされ、その後、高くされた各適応フィルタ221のタップ長は、第3タップ長に相当する。なお、以上の説明では、第1タップ長と第3タップ長とは等しいとされた。つまり、第3タップ長はL3とされた。第1タップ長と第3タップ長とは等しくなくてもよい。例えば、各適応フィルタ221のタップ長は、第2タップ長から段階的に第1タップ長に戻されてもよい。そのような場合において、第2タップ長から第1タップ長に戻る過渡状態におけるタップ長は、第1タップ長と異なる第3タップ長に相当する。
以上述べたように、第2実施形態によれば、音声処理装置20Aでは、CTC処理部220A-iのCTC推定部222は、マイクMCi以外からの音声信号に基づいた信号を出力する各適応フィルタ211を備え、各適応フィルタ211の出力信号に基づいた減算信号を生成する。CTC処理部220A-iのCTC加算部224は、マイクMCiが取得した音声信号からCTC推定部222によって生成された減算信号を減算する。状況変化検知部240は、外部から入力された状況変化通知信号に基づいて状況変化を検知する。CTC処理部220A-iのCTC制御部223は、状況変化検知部240が状況変化を検知したことをトリガとして適応フィルタ221のタップ長を短くする。
よって、第2実施形態によれば、第1実施形態と同様に、状況が変化した場合のノイズ成分の抑圧性能の低下を、処理量を増加させることなく低減することが可能となる。
また、第2実施形態によれば、CTC処理部220A-iのCTC制御部223は、適応フィルタ221のタップ長を短くしてからの経過時間が第3しきい値を越えたとき、適応フィルタ221のタップ長を長くする。
よって、適応フィルタ221のフィルタ係数が再収束に近づいた際のノイズ成分の抑圧性能を、適応フィルタ221のタップ長を短くしたまま維持された場合に比べて向上させることができる。
なお、第2実施形態では、CTC処理部220A-iのCTC推定部222は、マイクMCi以外のマイクMCからの音声信号に基づいてノイズ成分、つまり乗員hmi以外の乗員hmが発話した成分を推定する。
よって、乗員hmi以外の乗員hmが発話した成分を抑圧することが可能になる。
また、第2実施形態では、状況変化検知部240は、全てのマイクMCからの音声信号、つまりマイクMCiからの音声信号と、マイクMCi以外のマイクMCからの音声信号と、を含む音声信号に基づいて話者位置の切り替わりを検知する。つまり、状況変化は、話者位置の切り替わりである。
話者位置が切り替わると、CTC推定部222に入力される3つの参照信号の一部または全部のレベルが大きく変化するため、誤差信号が増加してノイズ成分の抑圧性能が低下する。第2実施形態では、話者位置の切り替わりが検知されたときに、適応フィルタ221のタップ長が短くされる。これによって、CTC処理部220A-iにおけるノイズ成分の抑圧性能の低下を低減することが可能となる。
(変形例2)
第2実施形態の別の一例である変形例2について説明する。
変形例2では、CTC処理部220AのCTC制御部223は、各適応フィルタ221のタップ長を短くすることで生じた余った処理能力を用いて、各適応フィルタ221のフィルタ係数の更新頻度を、各適応フィルタ221のタップ長を短くする前よりも高くする。つまり、CTC制御部223は、状況変化の検知の通知を受信すると、各適応フィルタ221のタップ長を短くするとともに各適応フィルタ221のフィルタ係数の更新頻度を高くする。
図11は、変形例2におけるCTC処理部220Aの動作を示すフローチャートである。なお、4つのCTC処理部220Aは、抑圧対象の成分が異なる点を除き、同一の動作を行う。ここでは代表として、CTC処理部220A-1の動作について説明し、CTC処理部220A-2~CTC処理部220A-4の動作の説明を省略する。
また、図11の説明では、図10において説明した処理と同じ処理については、図10に示したステップ番号と同じ番号を付して、簡略的に説明するか、または説明を省略する。
また、図11では、短くする前の3つの適応フィルタ221のタップ長の値をL3と表記する。短くした後の3つの適応フィルタ221のタップ長の値をL4と表記する。但し、L4はL3よりも小さい。また、3つの適応フィルタ221のタップ長をL4からL3に戻すタイミングの判断に使用されるしきい値、つまりタップ長を短くしてからの経過時間と比較されるしきい値を、第3しきい値と表記する。
また、高くする前の3つの適応フィルタ221のフィルタ係数の更新頻度の値をF3と表記する。高くした後の3つの適応フィルタ221のフィルタ係数の更新頻度の値をF4と表記する。但し、F4はF3よりも大きい。更新頻度を高くすると、その分だけ処理量が増加する。更新頻度を高くすることによる処理量の増加分がタップ長を短くすることによって生じた余った処理能力を越えないように、タップ長L3と更新頻度F3との対、およびタップ長L4と更新頻度F4との対がそれぞれ決定されている。
図11から読み取れるように、変形例2におけるCTC処理部220A-1の動作は、S406に替えてS501が実行され、S409に替えてS502が実行される点で、図10に示した一連の処理と異なる。
S501では、つまりタップ長L3の3つの適応フィルタ221に基づいて出力信号が出力された後では、CTC制御部223は、タップ長L3の3つの適応フィルタ221を更新頻度F3で更新する。
S502では、つまり短くされたタップ長L4の3つの適応フィルタ221に基づいて出力信号が出力された後では、CTC制御部223は、タップ長L4の3つの適応フィルタ221を高くされた更新頻度F4で更新する。
適応フィルタ221のフィルタ係数の更新頻度を高くすると、誤差信号およびフィルタ係数の収束速度が向上する。変形例2によれば、各適応フィルタ221のタップ長を短くするとともに各適応フィルタ221のフィルタ係数の更新頻度を高くすることで、ノイズ成分の抑圧性能をより早く回復させることができる。
したがって、変形例2によれば、状況が変化した場合のノイズ成分の抑圧性能の低下を、さらに低減することができる。
また、変形例2によれば、各適応フィルタ221のタップ長を短くされることで生じる余った処理能力を用いて各適応フィルタ221のフィルタ係数の更新頻度が高くされる。よって、各適応フィルタ221のフィルタ係数の更新頻度が高くすることで処理量が上限値を越えることを防止することができる。
つまり、変形例2においても、状況が変化した場合のノイズ成分の抑圧性能の低下を、処理量を増加させることなく低減することが可能である。
なお、第2実施形態およびその変形例である変形例2では、各CTC処理部220Aが備える3つの適応フィルタ221のタップ長は、一律に調整された。タップ長の調整対象は、各CTC処理部220Aが備える3つの適応フィルタ221の全てでなくてもよい。
例えば、前部座席の乗員hm1、hm2が発話した音声をメインに収音するためのマイクMC1、MC2が取得する各音声信号には、後部座席の乗員hm3、hm4が発話した音声よりも、隣の席の乗員hmが発話した音声が、より大きなレベルのノイズ成分として混入すると考えられる。同様に、後部座席の乗員hm3、hm4が発話した音声をメインに収音するためのマイクMC3、MC4が取得する各音声信号には、前部座席の乗員hm1、hm2が発話した音声よりも、隣の席の乗員hmが発話した音声が、より大きなレベルのノイズ成分として混入すると考えられる。
つまり、クロストークキャンセル処理において、ノイズ成分のうちの、隣席の乗員hmが発話した音声の成分を抑圧できれば、ノイズ成分の抑圧性能の低下を大きく低減することが可能と考えられる。
よって、各CTC処理部220AのCTC制御部223は、3つの適応フィルタ221のうちの、隣席の乗員hmに対応したマイクMCからの音声信号にかけられる適応フィルタ221を、タップ長の調整対象とし、他の2つの適応フィルタ221のタップ長は固定としてもよい。
さらに、前部座席の乗員hm1、hm2に対応したCTC処理部220A-1、220A-2におけるCTC制御部223は、後部座席の乗員hm3、hm4の発話の有無に関係なく、前部座席において話者位置が切り替わった場合にタップ長の調整を行なうように構成されてもよい。同様に、後部座席の乗員hm3、hm4に対応したCTC処理部220A-3、220A-4におけるCTC制御部223は、前部座席の乗員hm1、hm2の発話の有無に関係なく、後部座席において話者位置が切り替わった場合にタップ長の調整を行なうように構成されてもよい。
このように、どのCTC処理部220Aのどの適応フィルタ221をタップ長の調整の対象とするかは、任意に設定可能である。
なお、変形例2においては、高くされる前の各適応フィルタ221のフィルタ係数の更新頻度、即ち例えばF3は、第1頻度に相当する。高くされた後の各適応フィルタ221のフィルタ係数の更新頻度、即ち例えばF4は、第2頻度に相当する。また、高くされ、その後低くされた後の各適応フィルタ221のフィルタ係数の更新頻度は、第3頻度に相当する。なお、以上の説明では、第1頻度と第3頻度とは等しいとされた。つまり、第3頻度はF3であることとされた。第3頻度は、第1頻度と等しくなくてもよい。各適応フィルタ221のフィルタ係数の更新頻度は、第2頻度から、第1頻度よりも低い値にいったん変更され、その後、第1頻度に変更されてもよい。そのような場合において、第1頻度よりも低い値は、第1頻度と異なる第3頻度に相当する。
(第3実施形態)
第1実施形態の変形例1および第2実施形態の変形例2では、EC処理部またはCTC処理部のうちの一方の処理部において、適応フィルタのタップ長が短くされたときに、適応フィルタのタップ長を短くすることで生じた余った処理能力の範囲で適応フィルタの更新頻度が高くされた。つまり、当該一方の処理部は、適応フィルタの更新頻度が高くするために必要な処理量の増加分が、適応フィルタのタップ長が短くされることによる必要な処理量の減少分を越えないように、タップ長および更新頻度を制御した。
EC処理部およびCTC処理部のうちの一方の処理部において適応フィルタのタップ長が短くされるとともに適応フィルタの更新頻度が高くされたときに、たとえ当該一方の処理部において、適応フィルタの更新頻度が高くするために必要な処理量の増加分が適応フィルタのタップ長が短くされることによる必要な処理量の減少分を越えたとしても、EC処理部およびCTC処理部のうちの他方の処理部において、必要な処理量を削減すれば、合計の処理量が上限値を越えることを防止することができる。
第3実施形態では、一例として、CTC処理部において適応フィルタのタップ長および適応フィルタの更新頻度の調整を行い、CTC処理部でのこれらの調整による必要な処理量の増加分を、EC処理部におけるタップ長の調整によってキャンセルする構成について説明する。
なお、第3実施形態の音声処理装置を、音声処理装置20Bと表記する。第3実施形態のEC処理部を、EC処理部210Bと表記する。また、第3実施形態のCTC処理部を、CTC処理部220Bと表記する。音声処理装置20Bは、EC処理部210BおよびCTC処理部220BをマイクMC毎に備える。マイクMCiに対応したEC処理部210BをEC処理部210B-iと表記し、マイクMCiに対応したCTC処理部220BをCTC処理部220B-iと表記する。
また、音声処理装置20Bに接続されるマイクMCの数は、一例として、第1および第2実施形態と同様に、4つであることとする。
4つのマイクMC、4つのEC処理部210B、4つのCTC処理部220B、および音声認識エンジン30の間の各種信号の送受信の関係は、第1実施形態における、4つのマイクMC、4つのEC処理部210、4つのCTC処理部220、および音声認識エンジン30の間の各種信号の送受信の関係と同じである。
また、音声処理装置20Bは、状況変化検知部240を備える。状況変化検知部240は、第2実施形態の状況変化検知部240と同様の方法で、つまり図9に示した動作と同様の動作で、話者位置の切り替わりを、状況変化として検知する。但し、状況変化検知部240は、状況変化を検知した旨を、各CTC処理部220Bだけでなく各EC処理部210Bにも通知する。
また、EC処理部210Bは、図4に示したEC処理部210と同じ構成を有することとする。但し、EC処理部210Bは、状況変化を検知した旨の通知を、状況変化検知部240から受信する。
また、CTC処理部220Bは、図8に示したCTC処理部220Aと同じ構成を有することとする。但し、CTC処理部220Bは、状況変化を検知した旨の通知を、状況変化検知部240から受信する。
図12は、第3実施形態における音声処理装置20Bの動作を示すフローチャートである。
なお、図12の説明では、各EC処理部210Bの適応フィルタ211に関し、短くする前のタップ長の値をL5、短くした後のタップ長の値をL6、とそれぞれ表記する。但し、L6はL5よりも小さい。また、各CTC処理部220Bの3つの適応フィルタ221に関し、短くする前のタップ長の値をL7、短くした後のタップ長の値をL8、とそれぞれ表記する。但し、L8はL7よりも小さい。
また、各CTC処理部220Bの3つの適応フィルタ221に関し、高くする前の更新頻度の値をF5、高くした後の更新頻度の値をF6、とそれぞれ表記する。但し、F6はF5よりも大きい。
各CTC処理部220Bにおいて、3つの適応フィルタ221のフィルタ係数の更新頻度を高くすると、その分だけ必要な処理量が増加する。3つの適応フィルタ221のフィルタ係数の更新頻度を高くすることによる必要な処理量の増加分は、各CTC処理部220Bにおいて、3つの適応フィルタ221のタップ長を短くすることによって生じる必要な処理量の減少分を越える。必要な処理量の減少分を越えた分は、各EC処理部210Bにおける適応フィルタ211のタップ長が短くされることでキャンセルされる。このような関係が成立するように、タップ長L5、タップ長L7、および更新頻度F5のセットと、タップ長L6、タップ長L8、および更新頻度F6のセットと、がそれぞれ決定されている。
3つの適応フィルタ221のタップ長をL8からL6に戻すタイミングの判断に使用されるしきい値、つまり3つの適応フィルタ221のタップ長を短くしてからの経過時間と比較されるしきい値を、第4しきい値と表記する。
まず、音声処理装置20Bは、各マイクMCからの音声信号を取得する(S601)。続いて、各EC処理部210BのEC制御部213および各CTC処理部220BのCTC制御部223は、状況変化が検知されたか否かを判定する(S602)。つまり、各EC処理部210BのEC制御部213および各CTC処理部220BのCTC制御部223は、状況変化検知部240が話者位置の切り替わりを検知したか否かを、状況変化検知部240からの通知の有無に基づいて判定する。
各EC処理部210BのEC制御部213および各CTC処理部220BのCTC制御部223は、状況変化が検知されていない場合(S602:No)、最後に状況変化が検知されてからの経過時間が第4しきい値を越えているか否かを判定する(S603)。なお、起動してから1度も状況変化が検知されていない場合には、S603の判定処理においてはYesと判定される。
最後に状況変化が検知されてからの経過時間が第4しきい値を越えている場合(S603:Yes)、各EC処理部210Bにおいて、EC制御部213は、適応フィルタ211のタップ長をL5とし、各CTC処理部220Bにおいて、CTC制御部223は、3つの適応フィルタ221のタップ長をL7とするとともに3つの適応フィルタ221のフィルタ係数の更新頻度の値をF5として、各処理が実行される。
より詳細には、EC推定部212は、タップ長L5の適応フィルタ211を使用して減算信号を生成する(S604)。具体的には、EC推定部212は、参照信号、つまりスピーカ入力信号にタップ長L5の適応フィルタ211をかけて、これによって得られた信号を、減算信号として出力する。
S604に続いて、EC加算部214は、S601において取得した音声信号からS604においてEC推定部212が生成した減算信号を減算することによって出力信号を生成し、出力する(S605)。EC加算部214の出力信号は、全てのCTC処理部220Bに共通に入力される。
S605に続いて、EC制御部213は、S605においてEC加算部214が出力した出力信号に基づいて、タップ長L5の適応フィルタ211のフィルタ係数の更新を行う(S606)。
S606に続いて、CTC処理部220Bにおいて、CTC制御部223は、タップ長L7の3つの適応フィルタ221を使用して減算信号を生成する(S607)。具体的には、CTC処理部220B-iにおいて、CTC推定部222は、EC処理部210-1~EC処理部210-4のうちのEC処理部210-i以外のEC処理部210からの3つの出力信号を参照信号として用いて、3つの参照信号にタップ長L7の3つの適応フィルタ221のうちの対応する適応フィルタ221をかける。そして、CTC推定部222は、得られた3つの信号を合算することで減算信号を生成する。
S606に続いて、CTC加算部224は、対応するマイクMCから対応するEC処理部210Bを経て入力された音声信号から、S607においてCTC推定部222が生成した減算信号を減算することによって出力信号を生成し、出力する(S608)。CTC処理部220Bの出力信号は、音声認識エンジン30に入力される。
そして、CTC処理部220Bにおいて、CTC制御部223は、S608においてCTC加算部224が出力した出力信号に基づいて、タップ長L7の3つの適応フィルタ221のフィルタ係数の更新を更新頻度F5で行い(S609)、制御がS601に遷移する。
状況変化が検知された場合(S602:Yes)、または最後に状況変化が検知されてからの経過時間が第4しきい値を越えていない場合(S603:No)、各EC処理部210Bにおいて、EC制御部213は、適応フィルタ211のタップ長をL6とし、各CTC処理部220Bにおいて、CTC制御部223は、3つの適応フィルタ221のタップ長をL8とするとともに3つの適応フィルタ221のフィルタ係数の更新頻度の値をF6として、各処理が実行される。
より詳細には、EC推定部212は、タップ長L6の適応フィルタ211を使用して減算信号を生成する(S610)。具体的には、EC推定部212は、参照信号、つまりスピーカ入力信号にタップ長L6の適応フィルタ211をかけて、これによって得られた信号を、減算信号として出力する。
S610に続いて、EC加算部214は、S601において取得した音声信号からS610においてEC推定部212が生成した減算信号を減算することによって出力信号を生成し、出力する(S611)。EC加算部214の出力信号は、全てのCTC処理部220Bに共通に入力される。
S611に続いて、EC制御部213は、S611においてEC加算部214が出力した出力信号に基づいて、タップ長L6の適応フィルタ211のフィルタ係数の更新を行う(S612)。
S612に続いて、CTC処理部220Bにおいて、CTC制御部223は、タップ長L8の3つの適応フィルタ221を使用して減算信号を生成する(S613)。S613での手順の詳細は、タップ長が異なることを除いてS607での手順と同じである。
S613に続いて、CTC加算部224は、対応するマイクMCから対応するEC処理部210Bを経て入力された音声信号から、S613においてCTC推定部222が生成した減算信号を減算することによって出力信号を生成し、出力する(S614)。CTC処理部220Bの出力信号は、音声認識エンジン30に入力される。
そして、CTC処理部220Bにおいて、CTC制御部223は、S614においてCTC加算部224が出力した出力信号に基づいて、タップ長L3の3つの適応フィルタ221のフィルタ係数の更新を更新頻度F6で行い(S615)、制御がS601に遷移する。
なお、第3実施形態における以上の説明においては、各CTC処理部220Bは、第1処理部に相当する。また、各EC処理部210Bは、第1処理部に直列に接続された第2処理部に相当する。
また、マイクMCiは、第1収音装置に相当する。マイクMCi以外のマイクMCは、第2収音装置に相当する。マイクMCiからの音声信号は、第3信号に相当する。なお、第3信号は、マイクMCiから出力された後に任意の処理、例えばビームフォーミング処理、を経たあとの信号であってもよい。マイクMCiからの音声信号およびマイクMCi以外からの音声信号は、第4信号に相当する。マイクMCi以外からの音声信号は、第5信号に相当する。なお、第5信号は、第1信号でもある。第4しきい値は、第1経過時間に相当する。
また、マイクMCiに対応するCTC処理部220B-iにおいて、CTC推定部222は第1推定部に相当し、3つの適応フィルタ221のそれぞれは第1適応フィルタに相当し、CTC加算部224は第1加算部に相当し、CTC制御部223は第1制御部に相当する。状況変化検知部240は、検知部に相当する。各適応フィルタ221に入力される信号は、第1信号に相当する。各適応フィルタ221から出力される信号は、第2信号に相当する。CTC推定部222から出力される信号は、第1減算信号に相当する。短くされる前の各適応フィルタ221のタップ長、即ち例えばL7は、第1タップ長に相当する。短くされた後の各適応フィルタ221のタップ長、即ち例えばL8は、第2タップ長に相当する。短くされ、その後、高くされた各適応フィルタ221のタップ長は、第3タップ長に相当する。なお、以上の説明では、第1タップ長と第3タップ長とは等しいとされた。つまり、第3タップ長はL7とされた。第1タップ長と第3タップ長とは等しくなくてもよい。
また、CTC処理部220B-iにおいて、高くされる前の各適応フィルタ221のフィルタ係数の更新頻度、即ち例えばF5は、第1頻度に相当する。高くされた後の各適応フィルタ221のフィルタ係数の更新頻度、即ち例えばF6は、第2頻度に相当する。また、高くされ、その後低くされた後の各適応フィルタ221のフィルタ係数の更新頻度は、第3頻度に相当する。なお、以上の説明では、第1頻度と第3頻度とは等しいとされた。つまり、第3頻度はF5であることとされた。第3頻度は、第1頻度と等しくなくてもよい。
また、各EC処理部210Bにおいて、EC推定部212は第2推定部に相当し、適応フィルタ211は第2適応フィルタに相当し、EC加算部214は第2加算部に相当し、EC制御部213は第2制御部に相当する。適応フィルタ211に入力される信号は、第6信号に相当する。適応フィルタ211から出力される信号は、第7信号に相当する。EC推定部212から出力される信号は、第2減算信号に相当する。短くされる前の適応フィルタ211のタップ長、即ち例えばL5は、第4タップ長に相当する。短くされた後の適応フィルタ211のタップ長、即ち例えばL6は、第5タップ長に相当する。短くされ、その後、長くされた適応フィルタ211のタップ長は、第6タップ長に相当する。なお、以上の説明では、第4タップ長と第6タップ長とは等しいとされた。つまり、第6タップ長はL5とされた。第4タップ長と第6タップ長とは等しくなくてもよい。また、スピーカ50は音声出力装置に相当する。
以上述べたように、第3実施形態によれば、音声処理装置20Bでは、各CTC処理部220BのCTC制御部223は、適応フィルタ221のタップ長を短くするとき、適応フィルタ211の高くする。そして、各EC処理部210BのEC制御部213は、CTC制御部223が適応フィルタ221のタップ長を短くするとき、適応フィルタ211のタップ長を短くする。
よって、各CTC処理部220Bにおいて適応フィルタ221のフィルタ係数の更新頻度が高くするために必要な処理量の増加分が適応フィルタ221のタップ長が短くされることによる必要な処理量の減少分を越えたとしても、各EC処理部210Bにおいて適応フィルタ211のタップ長が短くされることで、合計の処理量が上限値を越えることを防止することができる。
また、第3実施形態によれば、各CTC処理部220BのCTC制御部223は、適応フィルタ221のタップ長を長くするとき、適応フィルタ221のフィルタ係数の更新頻度を低くする。そして、各EC処理部210BのEC制御部213は、CTC制御部223が適応フィルタ221のタップ長を長くするとき、適応フィルタ211のタップ長を長くする。
よって、各適応フィルタ211、221のタップ長が短いまま運用した場合に比べてノイズ成分の抑圧性能を向上させることができる。
なお、第3実施形態では、CTC処理部220B-iのCTC推定部222は、マイクMCi以外のマイクMCからの音声信号に基づいてノイズ成分、つまり乗員hmi以外の乗員hmが発話した成分を推定する。
よって、乗員hmi以外の乗員hmが発話した成分を抑圧することが可能になる。
また、第3実施形態では、状況変化検知部240は、全てのマイクMCからの音声信号、つまりマイクMCiからの音声信号と、マイクMCi以外のマイクMCからの音声信号と、を含む音声信号に基づいて話者位置の切り替わりを検知する。つまり、状況変化は、話者位置の切り替わりである。
話者位置が切り替わると、CTC推定部222に入力される3つの参照信号の一部または全部のレベルが大きく変化するため、誤差信号が増加してノイズ成分の抑圧性能が低下する。第3実施形態では、話者位置の切り替わりが検知されたときに、適応フィルタ221のタップ長が短くされる。これによって、CTC処理部220B-iにおけるノイズ成分の抑圧性能の低下を低減することが可能となる。
また、第3実施形態では、EC処理部210B-iのEC推定部212は、スピーカ入力信号に基づいてノイズ成分、つまりスピーカ音声の成分を推定する。
よって、マイクMCiからの音声信号に混入するスピーカ音声の成分を抑圧することが可能になる。
なお、第3実施形態における以上の説明では、CTC処理部220Bにおいて適応フィルタ221のタップ長および適応フィルタ221のフィルタ係数の更新頻度の調整を行い、CTC処理部220Bでのこれらの調整による必要な処理量の増加分を、EC処理部210Bにおける適応フィルタ211のタップ長の調整によってキャンセルする構成について説明した。
これとは逆に、EC処理部210Bにおいて適応フィルタ211のタップ長および適応フィルタ211のフィルタ係数の更新頻度の調整を行い、EC処理部210Bでのこれらの調整による必要な処理量の増加分を、CTC処理部220Bにおける適応フィルタ221のタップ長の調整によってキャンセルするように、音声処理装置20Bが構成されてもよい。
第1実施形態~第3実施形態およびそれらの変形例では、音声処理装置20、20A、20Bの機能は、DSP21が特定のコンピュータプログラムを実行することによって実現される、として説明した。音声処理装置20、20A、20Bの機能をコンピュータに実現させるためのコンピュータプログラムは、ROM21に予め格納されて提供され得る。音声処理装置20、20A、20Bの機能をコンピュータに実現させるためのコンピュータプログラムは、インストール可能な形式または実行可能な形式のファイルでCD(Compact Disc)-ROM(Read Only Memory)、フレキシブルディスク(FD:Flexible Disc)、CD-R(Recordable)、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリ、SD(Secure Digital)カードなどのコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
さらに音声処理装置20、20A、20Bの機能をコンピュータに実現させるためのコンピュータプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、音声処理装置20、20A、20Bの機能をコンピュータに実現させるためのコンピュータプログラムをインターネットなどのネットワーク経由で提供または配布するように構成してもよい。
また、音声処理装置20、20A、20Bの機能のうちの一部または全部は、論理回路によって実現されてもよい。音声処理装置20、20A、20Bの機能のうちの一部または全部は、アナログ回路によって実現されてもよい。音声処理装置20、20A、20Bの機能のうちの一部または全部は、FPGA(Field-Programmable Gate Array)またはASIC(Application Specific Integrated Circuit)などによって実現されてもよい。
本開示のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これらの実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これらの実施形態やその変形は、発明の範囲や要旨に含まれると同様に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
5 音声処理システム
10 車両
20,20A,20B 音声処理装置
21 DSP
22 RAM
23 ROM
24 I/Fインタフェース
30 音声認識エンジン
40 電子機器
50 スピーカ
210,210A,210B EC処理部
211 適応フィルタ
212 EC推定部
213 EC制御部
214 EC加算部
220,220A,220B CTC処理部
221,221-2,221-3,221-4 適応フィルタ
222 CTC推定部
223 CTC制御部
224 CTC加算部
230,240 状況変化検知部

Claims (16)

  1. 第1信号が入力され、前記第1信号に基づいた第2信号を出力する第1適応フィルタを備え、前記第2信号に基づいた第1減算信号を生成する第1推定部と、
    第1収音装置が取得した第3信号が入力され、前記第3信号から前記第1減算信号を減算する第1加算部と、
    第4信号が入力され、前記第4信号に基づいて周囲の状況変化を検知する検知部と、
    前記第1適応フィルタのタップ長を変更可能であり、前記検知部からの前記状況変化を検知したことを示す検知信号を受信したとき、前記タップ長を、第1タップ長から、前記第1タップ長よりも短い第2タップ長に変更する第1制御部と、
    を備える音声処理装置。
  2. 前記第1制御部は、前記タップ長を前記第2タップ長に変更してからの経過時間がしきい値である第1経過時間を越えたとき、前記タップ長を、前記第2タップ長よりも長い第3タップ長に変更する、
    請求項1に記載の音声処理装置。
  3. 前記第1制御部は、前記第1適応フィルタのフィルタ係数の更新頻度を変更可能であり、前記タップ長を前記第1タップ長よりも短い前記第2タップ長に変更するとき、前記更新頻度を、第1頻度から、前記第1頻度よりも高い第2頻度に変更する、
    請求項1または2に記載の音声処理装置。
  4. 前記第1制御部は、前記タップ長を前記第2タップ長よりも長い第3タップ長に変更するとき、前記更新頻度を、前記第2頻度よりも低い第3頻度に変更する、
    請求項3に記載の音声処理装置。
  5. 前記第1信号は、音声出力装置に入力された音声信号である、
    請求項1から4の何れか一項に記載の音声処理装置。
  6. 前記第4信号は、前記第1信号に基づいた信号であり、
    前記状況変化は、前記音声出力装置による、前記第1信号に基づいた音声の出力の開始である、
    請求項5に記載の音声処理装置。
  7. 前記第4信号は、前記音声処理装置のリセットに関する信号であり、
    前記状況変化は、前記音声処理装置がリセットされることである、
    請求項1から5のいずれか一項に記載の音声処理装置。
  8. 前記第1減算信号は、前記第1収音装置とは異なる第2収音装置が取得した第5信号に基づく、
    請求項1から4の何れか一項に記載の音声処理装置。
  9. 前記第4信号は、前記第3信号および前記第5信号に基づく信号であり、
    前記検知部は、話者位置の切り替わりを前記第3信号および前記第5信号に基づいて検知し、
    前記状況変化は、前記話者位置の切り替わりである、
    請求項8に記載の音声処理装置。
  10. 前記第1推定部、前記第1加算部、および前記第1制御部を備える第1処理部と、
    前記第1処理部に直列に接続された第2処理部と、
    を備え、
    前記第2処理部は、
    第6信号が入力され、前記第6信号に基づいた第7信号を出力する第2適応フィルタを備え、前記第7信号に基づいた第2減算信号を生成する第2推定部と、
    前記第2減算信号を前記第3信号から減算する第2加算部と、
    前記第2適応フィルタのタップ長を変更可能であり、前記第1制御部が前記第1適応フィルタのタップ長を第1タップ長から、前記第1タップ長よりも短い前記第2タップ長に変更するとき、前記第2適応フィルタのタップ長を第4タップ長から、前記第4タップ長よりも短い第5タップ長に変更する第2制御部と、
    を備える、
    請求項3または4に記載の音声処理装置。
  11. 前記第2制御部は、前記第1制御部が前記第1適応フィルタのタップ長を前記第2タップ長から、前記第2タップ長よりも長い前記第3タップ長に変更するとき、前記第2適応フィルタのタップ長を、前記第5タップ長から、前記第5タップ長よりも長い第6タップ長に変更する、
    請求項10に記載の音声処理装置。
  12. 前記第2減算信号は、前記第1収音装置とは異なる第2収音装置が取得した第5信号に基づく、
    請求項10または請求項11に記載の音声処理装置。
  13. 前記第4信号は、前記第3信号および前記第5信号に基づく信号であり、
    前記検知部は、話者位置の切り替わりを前記第3信号および前記第5信号に基づいて検知し、
    前記状況変化は、前記話者位置の切り替わりである、
    請求項12に記載の音声処理装置。
  14. 前記第6信号は、音声出力装置に入力された音声信号である、
    請求項10から請求項13の何れか一項に記載の音声処理装置。
  15. 収音装置と、
    第1信号が入力され、前記第1信号に基づいた第2信号を出力する第1適応フィルタを備え、前記第2信号に基づいた減算信号を生成する推定部と、前記収音装置が取得した第3信号が入力され、前記第3信号から前記減算信号を減算する加算部と、第4信号が入力され、前記第4信号に基づいて周囲の状況変化を検知する検知部と、前記第1適応フィルタのタップ長を変更可能であり、前記検知部からの前記状況変化を検知したことを示す検知信号を受信したとき、前記タップ長を、第1タップ長から、前記第1タップ長よりも短い第2タップ長に変更する第1制御部と、を備える音声処理装置と、
    前記加算部の出力に基づいて音声認識を実行する音声認識エンジンと、
    前記音声認識の結果を使用する電子機器と、
    を備える音声処理システム。
  16. 入力された第1信号に適応フィルタをかけることによって第2信号を取得し、前記第2信号に基づいた減算信号を生成するステップと、
    收音装置が取得した第3信号から前記減算信号を減算するステップと、
    入力された第4信号に基づいて周囲の状況変化を検知するステップと、
    前記状況変化が検知されたとき、前記適応フィルタのタップ長を、第1タップ長から、前記第1タップ長よりも短い第2タップ長に変更するステップと、
    を備える音声処理方法。
JP2020129651A 2020-07-30 2020-07-30 音声処理システム、音声処理装置、及び音声処理方法 Pending JP2022026270A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020129651A JP2022026270A (ja) 2020-07-30 2020-07-30 音声処理システム、音声処理装置、及び音声処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020129651A JP2022026270A (ja) 2020-07-30 2020-07-30 音声処理システム、音声処理装置、及び音声処理方法

Publications (1)

Publication Number Publication Date
JP2022026270A true JP2022026270A (ja) 2022-02-10

Family

ID=80265034

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020129651A Pending JP2022026270A (ja) 2020-07-30 2020-07-30 音声処理システム、音声処理装置、及び音声処理方法

Country Status (1)

Country Link
JP (1) JP2022026270A (ja)

Similar Documents

Publication Publication Date Title
EP1591995B1 (en) Indoor communication system for a vehicular cabin
US11676617B2 (en) Acoustic noise suppressing apparatus and acoustic noise suppressing method
WO2002032356A1 (en) Transient processing for communication system
US20220415337A1 (en) Acoustic crosstalk suppression device and acoustic crosstalk suppression method
US20220189450A1 (en) Audio processing system and audio processing device
EP3833045B1 (en) Conversation assistance system, method therefor, and program
JP2022026270A (ja) 音声処理システム、音声処理装置、及び音声処理方法
JP2020134566A (ja) 音声処理システム、音声処理装置及び音声処理方法
WO2021100670A1 (ja) 音響クロストーク抑圧装置および音響クロストーク抑圧方法
US11516584B2 (en) Sound collection loudspeaker apparatus, method and program for the same
JP5383008B2 (ja) 音声明瞭度改善システム及び音声明瞭度改善方法
JP6650607B2 (ja) 音響エコー抑圧装置及び音響エコー抑圧方法
EP3933837B1 (en) In-vehicle communication support system
JP7486145B2 (ja) 音響クロストーク抑圧装置および音響クロストーク抑圧方法
US11122366B2 (en) Method and apparatus for attenuation of audio howling
JP4495581B2 (ja) 音声出力装置
US11462203B2 (en) In-vehicle communication support system
WO2023149015A1 (ja) 音声処理装置、音声処理方法、音声処理プログラム、および音声処理システム
JP2018170564A (ja) エコーキャンセル方法、エコーキャンセル装置、音声処理装置、およびプログラム
KR20200120909A (ko) 피드백 보상을 이용한 능동적 노이즈 제어