JPWO2011074702A1 - 信号分離装置、信号分離方法、及び信号分離プログラム - Google Patents
信号分離装置、信号分離方法、及び信号分離プログラム Download PDFInfo
- Publication number
- JPWO2011074702A1 JPWO2011074702A1 JP2011546198A JP2011546198A JPWO2011074702A1 JP WO2011074702 A1 JPWO2011074702 A1 JP WO2011074702A1 JP 2011546198 A JP2011546198 A JP 2011546198A JP 2011546198 A JP2011546198 A JP 2011546198A JP WO2011074702 A1 JPWO2011074702 A1 JP WO2011074702A1
- Authority
- JP
- Japan
- Prior art keywords
- signal
- separation
- frequency domain
- input signal
- signals
- 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.)
- Withdrawn
Links
- 238000000926 separation method Methods 0.000 title claims abstract description 473
- 238000004458 analytical method Methods 0.000 claims abstract description 230
- 239000011159 matrix material Substances 0.000 claims abstract description 230
- 238000013500 data storage Methods 0.000 claims abstract description 177
- 238000006243 chemical reaction Methods 0.000 claims description 70
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 43
- 230000015556 catabolic process Effects 0.000 abstract description 16
- 238000006731 degradation reaction Methods 0.000 abstract description 16
- 238000000034 method Methods 0.000 description 66
- 230000007613 environmental effect Effects 0.000 description 60
- 238000010586 diagram Methods 0.000 description 44
- 230000000694 effects Effects 0.000 description 33
- 238000012351 Integrated analysis Methods 0.000 description 31
- 238000004364 calculation method Methods 0.000 description 29
- 238000005457 optimization Methods 0.000 description 12
- 238000012880 independent component analysis Methods 0.000 description 10
- 230000005236 sound signal Effects 0.000 description 10
- 238000001228 spectrum Methods 0.000 description 7
- 238000004904 shortening Methods 0.000 description 5
- 238000009432 framing Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 238000003672 processing method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 230000017105 transposition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L21/00—Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
- G10L21/02—Speech enhancement, e.g. noise reduction or echo cancellation
- G10L21/0272—Voice signal separating
Landscapes
- Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Circuit For Audible Band Transducer (AREA)
Abstract
本発明は、信号分離に適していない信号が入力されても、分離性能の劣化を抑えることができる信号分離システムを提供する。本発明の信号分離装置は、複数の入力信号が信号分離に適するか否かを判断する入力信号解析手段と、前記入力信号を周波数領域の信号に変換した周波数領域入力信号のデータを格納するためのデータ記憶手段と、前記複数の入力信号が信号分離のための分離行列生成に適すると前記入力信号解析手段が判断した場合、前記周波数領域入力信号を前記データ記憶手段に格納する選択制御手段と、前記データ記憶手段に格納されている、最新及び過去の周波数領域入力信号を含む周波数領域入力信号を用いて、分離行列を生成する分離行列生成手段と、を含む。
Description
本発明は、信号処理装置、信号処理方法、及び信号処理プログラムに関し、特に、複数の信号が混在した混合信号を分離するための信号分離装置、信号分離方法、及び信号分離プログラムに関する。
複数のマイクによって収音された入力信号を解析して個々の音源信号に分離する方式の1つに、独立成分分析(Independent Component Analysis;ICA)に基づく信号分離方式がある。ICAに基づく信号分離方式は、音源信号同士が統計的に独立であるという仮定に基づいて分離行列を最適化し、最適化された分離行列により入力信号にフィルタ処理を施し、個々の音源信号に分離する方式である。このような信号分離に関連する技術としては、例えば、非特許文献1に記載されている技術がある。
非特許文献1には、現フレームから過去に連続した複数フレームの入力信号を用いて分離行列を学習することにより、音源移動などの環境変化に追従可能な信号分離方法が記載されている。
図29は非特許文献1に記載の方法に基づく信号処理装置の例の構成を示すブロック図である。図29に示すように、この信号処理装置の例は、周波数変換部100と、データ記憶部105と、分離行列生成部102と、分離信号生成部103と、逆周波数変換部104とから構成される。
図29に示す、非特許文献1に記載の方法に基づく信号処理装置の例は、次のように動作する。
周波数変換部100は所定の時間長のフレーム単位で入力信号に対して周波数変換を施して周波数領域入力信号を生成し、データ記憶部105と分離信号生成部103に出力する。この周波数変換には離散フーリエ変換(Discrete Fourier Transform;DFT)が用いられる。データ記憶部105は複数フレームの周波数領域入力信号を記憶し、現フレームの周波数領域入力信号が新たに入力された場合、最も古いフレームの周波数領域入力信号を破棄し、現フレームの周波数領域入力信号を新たに記憶する。この結果、データ記憶部105は現フレームから過去に連続した複数フレームの周波数領域入力信号を保持する。分離行列生成部102はデータ記憶部105に保持されている複数フレームの周波数領域入力信号を読み出し、これらを用いて分離行列を学習計算し、分離行列を分離信号生成部103に出力する。分離信号生成部103は周波数領域入力信号と分離行列とから周波数領域分離信号を生成し、逆周波数変換部104に出力する。逆周波数変換部104は、逆周波数変換により、周波数領域分離信号を分離信号に変換する。この逆周波数変換には逆離散フーリエ変換(Inverse Discrete Fourier Transform;IDFT)が用いられる。
また、特許文献1には、複数の音声入力手段を通じて逐次入力される複数の音源からの音声信号が重畳された複数の混合音声信号から、複数の音源のそれぞれに対応する分離信号を生成する音声分離装置の例が記載されている。
特許文献1に記載の音声分離装置は、複数のマイクロホンから入力される複数(n個)の音源信号が重畳された混合音声信号をデジタル信号に変換するA/D(Analog/Digital)コンバータと、デジタル信号化された複数(n個)の混合音声信号各々を入力して信号処理を行う複数(n個)のDSP(Digital Signal Processor)と、そのうちの1つのDSPから逐次出力される音源分離処理後の複数(n個)の分離信号各々をアナログ信号に変換するD/A(Digital/Analog)コンバータとを備え、以下のように動作する。
n個のDSPは、A/Dコンバータによりデジタル化された一定時間長分の時間領域におけるn個の入力信号(フレーム信号)に、それぞれ離散フーリエ変換を施して周波数領域における混合音声信号に変換し、バッファリングする。また、n個のDSPは、前述の周波数領域の信号に変換する処理と平行して、周波数領域における混合音声信号を周波数帯域によって複数に分割した周波数帯域毎の信号をそれぞれ担当して、FDICA(Frequency−Domain ICA)方式における分離行列W(f)の学習計算を行う。さらに、1個のDSPは、周波数領域信号への変換及び分離行列の学習とさらに平行して、学習により更新した分離行列W(f)を用いた行列計算により、バッファリングされた周波数領域フレーム信号から、各音源に対応する分離信号を生成する。さらに各DSPは、生成した分離信号のそれぞれに逆離散フーリエ変換を施す。
上記の分離行列W(f)の学習における分離行列W(f)の初期値は、1フレーム目の信号による学習では予め初期値として定めた行列であり、2フレーム目以降の信号による学習では、前フレームの信号による学習により更新した分離行列W(f)である。学習した分離行列を用いて音源分離処理を施す混合音声信号は、分離行列の学習に用いた信号であっても異なる信号であってもよい。
特許文献2には、互いに異なるN個の音響信号と前記N個の音響信号のいずれとも異なるN+1個目の音響信号を、各音響信号の重みを1にして混合した混合信号から、N個の音響信号を分離して出力する音源分離システムの例が記載されている。特許文献2の音源分離システムは、エンコーダとデコーダとを含む。エンコーダは、混合信号生成手段と、判定手段と、出力手段とを備える。また、デコーダは、分類手段と、疑似混合信号生成手段と、分離手段とを含む。特許文献2の音源分離システムは、以下のように動作する。
特許文献2に記載の音源分離システムのエンコーダの混合信号生成手段は、互いに異なるN個の音響信号とこのN個の音響信号のいずれとも異なるN+1個目の音響信号を、各音響信号の重みを1にして混合し、第1の混合信号を生成する。また、混合信号生成手段は、N+1個の音響信号から順に選択した一つの信号の重みを1の近傍の所定の値(αとする)に、他のN個の音響信号の重みを1にして、N+1個の信号を混合し混合信号を生成する処理をN回繰り返し、N種類の混合信号を生成する。次に、判定手段が、前述の第1の混合信号とN種類の混合信号に対して独立成分分析を試み、前述のN個の音響信号の分離が可能であるか否かを判定する。エンコーダは、N個の混合信号が分離可能と判定手段が判定した場合、第1の混合信号と所定の値(α)を出力手段によって出力する。
特許文献2に記載の音源分離システムのデコーダの分類手段は、エンコーダから出力される第1の混合信号にフーリエ変換を施してスペクトルの時間変化を得る。また、分類手段は、その時間変化を聴覚情景分析により解析してN+1個のグループに分類する。次に、疑似混合信号生成手段が、分類手段が分類したN+1個のグループのうちから1つのグループを選択し、選択したグループに属するスペクトルの振幅に所定の値(α)を乗算する。その乗算後に、疑似混合信号生成手段は、各グループに属するスペクトルに逆フーリエ変換を施して疑似混合信号を生成する。疑似混合信号生成手段は、このような乗算、擬似混合信号生成処理を、選択するグループを変えつつN回実行してN種類の疑似混合信号を生成する。また、デコーダの分離手段は、第1の混合信号とN種類の疑似混合信号からN個の音響信号を分離する。
エンコーダの判定手段が分離可能と判定する場合、すなわち、分離後の信号が入力信号と一致する場合、分離行列は、混合信号生成手段における混合信号生成処理を、αをパラメータとする行列で表した場合の行列の逆行列である。デコーダの分離手段は、エンコーダから受け取った所定の値αをもとに逆行列である分離行列を計算し、信号の分離を行う。
特許文献3には、検出対象音源からの音と雑音源からの音の混合音により分離行列を最適化し、最適化した分離行列を用いて混合音から検出対象音源からの音と雑音源からの音とを分離する音信号処理装置の一例が記載されている。
特許文献3に記載の音信号処理装置は、第1及び第2フレーム化部、第1及び第2周波数分析部、分離処理部、分離行列最適化計算部、発話区間判定部、分離処理オン/オフ制御部、最適化計算オン/オフ制御部を備え、以下のように動作する。
第1及び第2フレーム化部は、第1及び第2のマイクからそれぞれ第1及び第2フレーム化部に入力された2チャンネルの音声信号を、所定時間間隔でサンプリングし所定サンプル数を1フレームとすることにより時分割でフレーム化し、第1及び第2周波数分析部に出力する。第1及び第2周波数分析部は、フレーム単位で入力された音声信号にFFT(Fast Fourier Transform)を行って観測信号を生成し、分離処理オン/オフ制御部に出力する。
分離処理オン/オフ制御部は、後述の発話区間判定部が発話区間であると判定している場合、入力された観測信号を分離処理部に出力し、発話区間判定部が発話区間であると判定していない場合は出力しない。分離処理部は、分離行列最適化計算部が最適化した分離行列により、観測信号から分離信号を分離抽出する。
発話区間判定部は、マイクからの入力信号又は第1及び第2フレーム化部がフレーム化した信号の相関度、あるいは、周波数解析部が生成した観測信号のパワースペクトル又はクロススペクトルから、発話音声の区間を判定する。なお、該発話区間判定部が正しく発話区間の判定を行うためには、前述の相関度またはパワースペクトルにより判定を行う場合、雑音は双方の入力信号に含まれ、分離を行うべき発話音声は一方の入力信号にのみ含まれている必要がある。また、発話区間判定部が前述のクロススペクトルにより判定を行う場合、分離を行うべき発話音声が2つの入力信号の双方含まれている必要がある。
分離行列最適化計算部は、分離処理部の出力である分離信号をもとに、分離行列の最適化を行う。
最適化計算オン/オフ制御部は、発話区間判定部が発話区間であると判定している場合、分離行列最適化計算部に最適化処理を実施させ、発話区間判定部が発話区間であると判定していない場合、分離行列最適化計算部に最適化処理を一時的に停止させる。
非特許文献1には、現フレームから過去に連続した複数フレームの入力信号を用いて分離行列を学習することにより、音源移動などの環境変化に追従可能な信号分離方法が記載されている。
図29は非特許文献1に記載の方法に基づく信号処理装置の例の構成を示すブロック図である。図29に示すように、この信号処理装置の例は、周波数変換部100と、データ記憶部105と、分離行列生成部102と、分離信号生成部103と、逆周波数変換部104とから構成される。
図29に示す、非特許文献1に記載の方法に基づく信号処理装置の例は、次のように動作する。
周波数変換部100は所定の時間長のフレーム単位で入力信号に対して周波数変換を施して周波数領域入力信号を生成し、データ記憶部105と分離信号生成部103に出力する。この周波数変換には離散フーリエ変換(Discrete Fourier Transform;DFT)が用いられる。データ記憶部105は複数フレームの周波数領域入力信号を記憶し、現フレームの周波数領域入力信号が新たに入力された場合、最も古いフレームの周波数領域入力信号を破棄し、現フレームの周波数領域入力信号を新たに記憶する。この結果、データ記憶部105は現フレームから過去に連続した複数フレームの周波数領域入力信号を保持する。分離行列生成部102はデータ記憶部105に保持されている複数フレームの周波数領域入力信号を読み出し、これらを用いて分離行列を学習計算し、分離行列を分離信号生成部103に出力する。分離信号生成部103は周波数領域入力信号と分離行列とから周波数領域分離信号を生成し、逆周波数変換部104に出力する。逆周波数変換部104は、逆周波数変換により、周波数領域分離信号を分離信号に変換する。この逆周波数変換には逆離散フーリエ変換(Inverse Discrete Fourier Transform;IDFT)が用いられる。
また、特許文献1には、複数の音声入力手段を通じて逐次入力される複数の音源からの音声信号が重畳された複数の混合音声信号から、複数の音源のそれぞれに対応する分離信号を生成する音声分離装置の例が記載されている。
特許文献1に記載の音声分離装置は、複数のマイクロホンから入力される複数(n個)の音源信号が重畳された混合音声信号をデジタル信号に変換するA/D(Analog/Digital)コンバータと、デジタル信号化された複数(n個)の混合音声信号各々を入力して信号処理を行う複数(n個)のDSP(Digital Signal Processor)と、そのうちの1つのDSPから逐次出力される音源分離処理後の複数(n個)の分離信号各々をアナログ信号に変換するD/A(Digital/Analog)コンバータとを備え、以下のように動作する。
n個のDSPは、A/Dコンバータによりデジタル化された一定時間長分の時間領域におけるn個の入力信号(フレーム信号)に、それぞれ離散フーリエ変換を施して周波数領域における混合音声信号に変換し、バッファリングする。また、n個のDSPは、前述の周波数領域の信号に変換する処理と平行して、周波数領域における混合音声信号を周波数帯域によって複数に分割した周波数帯域毎の信号をそれぞれ担当して、FDICA(Frequency−Domain ICA)方式における分離行列W(f)の学習計算を行う。さらに、1個のDSPは、周波数領域信号への変換及び分離行列の学習とさらに平行して、学習により更新した分離行列W(f)を用いた行列計算により、バッファリングされた周波数領域フレーム信号から、各音源に対応する分離信号を生成する。さらに各DSPは、生成した分離信号のそれぞれに逆離散フーリエ変換を施す。
上記の分離行列W(f)の学習における分離行列W(f)の初期値は、1フレーム目の信号による学習では予め初期値として定めた行列であり、2フレーム目以降の信号による学習では、前フレームの信号による学習により更新した分離行列W(f)である。学習した分離行列を用いて音源分離処理を施す混合音声信号は、分離行列の学習に用いた信号であっても異なる信号であってもよい。
特許文献2には、互いに異なるN個の音響信号と前記N個の音響信号のいずれとも異なるN+1個目の音響信号を、各音響信号の重みを1にして混合した混合信号から、N個の音響信号を分離して出力する音源分離システムの例が記載されている。特許文献2の音源分離システムは、エンコーダとデコーダとを含む。エンコーダは、混合信号生成手段と、判定手段と、出力手段とを備える。また、デコーダは、分類手段と、疑似混合信号生成手段と、分離手段とを含む。特許文献2の音源分離システムは、以下のように動作する。
特許文献2に記載の音源分離システムのエンコーダの混合信号生成手段は、互いに異なるN個の音響信号とこのN個の音響信号のいずれとも異なるN+1個目の音響信号を、各音響信号の重みを1にして混合し、第1の混合信号を生成する。また、混合信号生成手段は、N+1個の音響信号から順に選択した一つの信号の重みを1の近傍の所定の値(αとする)に、他のN個の音響信号の重みを1にして、N+1個の信号を混合し混合信号を生成する処理をN回繰り返し、N種類の混合信号を生成する。次に、判定手段が、前述の第1の混合信号とN種類の混合信号に対して独立成分分析を試み、前述のN個の音響信号の分離が可能であるか否かを判定する。エンコーダは、N個の混合信号が分離可能と判定手段が判定した場合、第1の混合信号と所定の値(α)を出力手段によって出力する。
特許文献2に記載の音源分離システムのデコーダの分類手段は、エンコーダから出力される第1の混合信号にフーリエ変換を施してスペクトルの時間変化を得る。また、分類手段は、その時間変化を聴覚情景分析により解析してN+1個のグループに分類する。次に、疑似混合信号生成手段が、分類手段が分類したN+1個のグループのうちから1つのグループを選択し、選択したグループに属するスペクトルの振幅に所定の値(α)を乗算する。その乗算後に、疑似混合信号生成手段は、各グループに属するスペクトルに逆フーリエ変換を施して疑似混合信号を生成する。疑似混合信号生成手段は、このような乗算、擬似混合信号生成処理を、選択するグループを変えつつN回実行してN種類の疑似混合信号を生成する。また、デコーダの分離手段は、第1の混合信号とN種類の疑似混合信号からN個の音響信号を分離する。
エンコーダの判定手段が分離可能と判定する場合、すなわち、分離後の信号が入力信号と一致する場合、分離行列は、混合信号生成手段における混合信号生成処理を、αをパラメータとする行列で表した場合の行列の逆行列である。デコーダの分離手段は、エンコーダから受け取った所定の値αをもとに逆行列である分離行列を計算し、信号の分離を行う。
特許文献3には、検出対象音源からの音と雑音源からの音の混合音により分離行列を最適化し、最適化した分離行列を用いて混合音から検出対象音源からの音と雑音源からの音とを分離する音信号処理装置の一例が記載されている。
特許文献3に記載の音信号処理装置は、第1及び第2フレーム化部、第1及び第2周波数分析部、分離処理部、分離行列最適化計算部、発話区間判定部、分離処理オン/オフ制御部、最適化計算オン/オフ制御部を備え、以下のように動作する。
第1及び第2フレーム化部は、第1及び第2のマイクからそれぞれ第1及び第2フレーム化部に入力された2チャンネルの音声信号を、所定時間間隔でサンプリングし所定サンプル数を1フレームとすることにより時分割でフレーム化し、第1及び第2周波数分析部に出力する。第1及び第2周波数分析部は、フレーム単位で入力された音声信号にFFT(Fast Fourier Transform)を行って観測信号を生成し、分離処理オン/オフ制御部に出力する。
分離処理オン/オフ制御部は、後述の発話区間判定部が発話区間であると判定している場合、入力された観測信号を分離処理部に出力し、発話区間判定部が発話区間であると判定していない場合は出力しない。分離処理部は、分離行列最適化計算部が最適化した分離行列により、観測信号から分離信号を分離抽出する。
発話区間判定部は、マイクからの入力信号又は第1及び第2フレーム化部がフレーム化した信号の相関度、あるいは、周波数解析部が生成した観測信号のパワースペクトル又はクロススペクトルから、発話音声の区間を判定する。なお、該発話区間判定部が正しく発話区間の判定を行うためには、前述の相関度またはパワースペクトルにより判定を行う場合、雑音は双方の入力信号に含まれ、分離を行うべき発話音声は一方の入力信号にのみ含まれている必要がある。また、発話区間判定部が前述のクロススペクトルにより判定を行う場合、分離を行うべき発話音声が2つの入力信号の双方含まれている必要がある。
分離行列最適化計算部は、分離処理部の出力である分離信号をもとに、分離行列の最適化を行う。
最適化計算オン/オフ制御部は、発話区間判定部が発話区間であると判定している場合、分離行列最適化計算部に最適化処理を実施させ、発話区間判定部が発話区間であると判定していない場合、分離行列最適化計算部に最適化処理を一時的に停止させる。
R.Mukai,H.Sawada,S.Araki,and S.Makino,"Blind Source Separation for Moving Speech Signals Using Blockwise ICA and Residual Crosstalk Subtraction,"IEICE Trans.Fundamentals,vol.E87−A,no.8,August2004.
一般に、複数の入力信号を混合した混合信号から元の入力信号を分離するための分離行列は、入力信号の統計量に基づいて学習される。したがって、良好な分離行列を得るためには、有効な統計量が算出できる程度の多数の入力信号が必要である。
非特許文献1記載の方法は、現フレームから過去に連続した複数フレーム内に、信号分離に適していない入力信号、例えば、統計量の算出に有効ではない無音信号が存在する場合、正しい統計量を算出できない。すなわち、非特許文献1記載の方法には、現フレームから過去に連続した複数フレーム内に例えば無音信号が存在する場合、正しい分離行列を算出できず、分離性能が劣化するという問題がある。
また、非特許文献1記載の方法は、前述の統計量に基づき、複数の音源信号が混在した入力信号を個々の音源信号に分離するように分離行列を学習する。この場合、統計量を算出するための入力信号に、全ての音源からの信号が混在している必要がある。したがって、現フレームから過去に連続した複数フレーム内に、全ての音源からの信号が混在していない入力信号が含まれる場合、非特許文献1記載の方法は、正しい統計量を算出できず、正しい分離行列を算出できない。すなわち、非特許文献1記載の方法には、現フレームから過去に連続した複数フレーム内に、全ての音源からの信号が混在しない入力信号が含まれる場合、分離性能が劣化するという問題があった。
また、特許文献1に記載の音源分離法は、入力信号に無音信号が含まれるなど、入力信号が分離行列の最適化に適さない場合であっても、分離行列の最適化を続ける。従って、特許文献1に記載の音源分離法には、入力信号に無音信号が含まれるなど、入力信号が分離行列の最適化に適さない場合、正しい分離行列を算出できず、分離性能が劣化するという問題があった。
特許文献2に記載の音源分離法では、エンコーダが、入力信号が分離可能であるか判定し、確実に分離可能な入力信号のみを混合した一つの混合信号を、分離行列を決定するためのパラメータと共に出力する。デコーダは、確実に分離可能な混合信号から、パラメータによって決定した分離行列を用いて信号分離を行う。従って、特許文献2に記載の音源分離法には、入力信号が分離に適しない場合、信号の分離を行うことができないという問題があった。
特許文献3に記載の方法は、発話区間であると判定されていない間、分離行列の最適化処理を停止する。従って、特許文献3に記載の方法には、分離行列が最適値に収束していない場合、発話区間であると判定されない限り、分離行列の最適化が行われず、分離性能が劣化したままとなると言う問題があった。更に、特許文献3の方法が音源分離を行うことができるのは、発話区間判定部の実装により、雑音は2つの入力信号の双方に含まれ、音声は2つの入力信号のいずれか一方のみに含まれる場合と、音声が双方の入力信号に含まれる場合に限られる。そのため、特許文献3に記載の方法には、任意の入力信号に対して音源分離を行うことができないという問題があった。
[本発明の目的]
本発明の目的は、信号分離に適していない信号が入力されても、分離性能の劣化を抑えることができる信号分離システムを提供することにある。
非特許文献1記載の方法は、現フレームから過去に連続した複数フレーム内に、信号分離に適していない入力信号、例えば、統計量の算出に有効ではない無音信号が存在する場合、正しい統計量を算出できない。すなわち、非特許文献1記載の方法には、現フレームから過去に連続した複数フレーム内に例えば無音信号が存在する場合、正しい分離行列を算出できず、分離性能が劣化するという問題がある。
また、非特許文献1記載の方法は、前述の統計量に基づき、複数の音源信号が混在した入力信号を個々の音源信号に分離するように分離行列を学習する。この場合、統計量を算出するための入力信号に、全ての音源からの信号が混在している必要がある。したがって、現フレームから過去に連続した複数フレーム内に、全ての音源からの信号が混在していない入力信号が含まれる場合、非特許文献1記載の方法は、正しい統計量を算出できず、正しい分離行列を算出できない。すなわち、非特許文献1記載の方法には、現フレームから過去に連続した複数フレーム内に、全ての音源からの信号が混在しない入力信号が含まれる場合、分離性能が劣化するという問題があった。
また、特許文献1に記載の音源分離法は、入力信号に無音信号が含まれるなど、入力信号が分離行列の最適化に適さない場合であっても、分離行列の最適化を続ける。従って、特許文献1に記載の音源分離法には、入力信号に無音信号が含まれるなど、入力信号が分離行列の最適化に適さない場合、正しい分離行列を算出できず、分離性能が劣化するという問題があった。
特許文献2に記載の音源分離法では、エンコーダが、入力信号が分離可能であるか判定し、確実に分離可能な入力信号のみを混合した一つの混合信号を、分離行列を決定するためのパラメータと共に出力する。デコーダは、確実に分離可能な混合信号から、パラメータによって決定した分離行列を用いて信号分離を行う。従って、特許文献2に記載の音源分離法には、入力信号が分離に適しない場合、信号の分離を行うことができないという問題があった。
特許文献3に記載の方法は、発話区間であると判定されていない間、分離行列の最適化処理を停止する。従って、特許文献3に記載の方法には、分離行列が最適値に収束していない場合、発話区間であると判定されない限り、分離行列の最適化が行われず、分離性能が劣化したままとなると言う問題があった。更に、特許文献3の方法が音源分離を行うことができるのは、発話区間判定部の実装により、雑音は2つの入力信号の双方に含まれ、音声は2つの入力信号のいずれか一方のみに含まれる場合と、音声が双方の入力信号に含まれる場合に限られる。そのため、特許文献3に記載の方法には、任意の入力信号に対して音源分離を行うことができないという問題があった。
[本発明の目的]
本発明の目的は、信号分離に適していない信号が入力されても、分離性能の劣化を抑えることができる信号分離システムを提供することにある。
本発明の信号分離装置は、複数の入力信号が信号分離に適するか否かを判断する入力信号解析手段と、前記入力信号を周波数領域の信号に変換した周波数領域入力信号のデータを格納するためのデータ記憶手段と、前記複数の入力信号が信号分離のための分離行列生成に適すると前記入力信号解析手段が判断した場合、前記周波数領域入力信号を前記データ記憶手段に格納し、前記複数の入力信号が信号分離のための分離行列生成に適すると前記入力信号解析手段が判断しない場合、前記周波数領域入力信号を前記データ記憶手段に格納しない選択制御手段と、前記データ記憶手段に格納されている、最新及び過去の周波数領域入力信号を含む周波数領域入力信号を用いて、分離行列を生成する分離行列生成手段と、を含む。
本発明の信号分離方法は、複数の入力信号が信号分離に適するか否かを判断し、前記複数の入力信号が信号分離に適すると前記入力信号解析手段が判断した場合、前記周波数領域入力信号を、前記入力信号を周波数領域の信号に変換した周波数領域入力信号を格納するためのデータ記憶手段に格納し、前記データ記憶手段に格納されている周波数領域入力信号を用いて分離行列を生成する。
本発明のプログラムは、コンピュータを、複数の入力信号が信号分離に適するか否かを判断する入力信号解析手段と、前記入力信号を周波数領域の信号に変換した周波数領域入力信号を格納するためのデータ記憶手段と、前記複数の入力信号が信号分離に適すると前記入力信号解析手段が判断した場合、前記周波数領域入力信号を前記データ記憶手段に格納し、前記入力信号を信号分離に適しないと前記入力信号解析手段が判断した場合、前記周波数領域入力信号を前記データ記憶手段に格納しない選択制御手段と、前記データ記憶手段に格納されている周波数領域入力信号を用いて分離行列を生成する分離行列生成手段と、して機能させる。
本発明の信号分離方法は、複数の入力信号が信号分離に適するか否かを判断し、前記複数の入力信号が信号分離に適すると前記入力信号解析手段が判断した場合、前記周波数領域入力信号を、前記入力信号を周波数領域の信号に変換した周波数領域入力信号を格納するためのデータ記憶手段に格納し、前記データ記憶手段に格納されている周波数領域入力信号を用いて分離行列を生成する。
本発明のプログラムは、コンピュータを、複数の入力信号が信号分離に適するか否かを判断する入力信号解析手段と、前記入力信号を周波数領域の信号に変換した周波数領域入力信号を格納するためのデータ記憶手段と、前記複数の入力信号が信号分離に適すると前記入力信号解析手段が判断した場合、前記周波数領域入力信号を前記データ記憶手段に格納し、前記入力信号を信号分離に適しないと前記入力信号解析手段が判断した場合、前記周波数領域入力信号を前記データ記憶手段に格納しない選択制御手段と、前記データ記憶手段に格納されている周波数領域入力信号を用いて分離行列を生成する分離行列生成手段と、して機能させる。
本発明には、信号分離に適さない信号が入力されても、分離性能の劣化を抑えることができるという効果がある。
1 コンピュータ
2 信号入力部
3 分離信号出力部
4 プログラム記憶部
5、202、301 データ記憶部
10 CPU
100 周波数変換部
101、302、400、600、702、802、901、1002 データ選択記憶部
102 分離行列生成部
103、401 分離信号生成部
104 逆周波数変換部
200、500、700、800、1000 入力信号解析部
201、300、701、801、900、1001 選択制御部
2 信号入力部
3 分離信号出力部
4 プログラム記憶部
5、202、301 データ記憶部
10 CPU
100 周波数変換部
101、302、400、600、702、802、901、1002 データ選択記憶部
102 分離行列生成部
103、401 分離信号生成部
104 逆周波数変換部
200、500、700、800、1000 入力信号解析部
201、300、701、801、900、1001 選択制御部
[第1の実施形態]
次に、本発明について図面を参照して詳細に説明する。
図1は本発明の信号分離装置の第1の実施形態の構成を表す図である。
図1を参照すると、本実施形態に係る信号分離装置は、分離行列生成部102と、入力信号解析部200と、選択制御部201と、データ記憶部202とを含む。
分離行列生成部102は、データ記憶部202から読み出した周波数領域入力信号から、周波数領域入力信号を信号源毎の信号に分離するための分離行列を生成する。分離行列の生成は、例えば、所定の分離行列の初期値をもとに、周波数領域入力信号によって学習を行うことで行う。入力信号解析部200は周波数領域入力信号を受信し、周波数領域入力信号が前述の学習に適するか否かを判断する。選択制御部201は、入力信号解析部200が学習に適すると判断した周波数領域入力信号だけを、データ記憶部202に格納する。分離行列生成部102は、データ記憶部202に格納されている周波数領域入力信号によって学習を行い、分離行列を生成する。以下、より詳細な説明を行う。
周波数領域入力信号は、本装置に入力された、図示しない時間領域の複数の入力信号を、それぞれ所定の時間長単位で周波数領域の信号に変換した複数の信号である。本発明の実施形態において行う処理の対象は、所定の時間長毎の信号である。処理を行う信号の単位はフレームと呼ばれる。入力信号は、例えば、複数の信号源が発生した信号を複数のセンサで観測した信号である。複数のセンサで観測した信号には、それぞれ、複数の信号源が発生した信号が混合されている。ただし、複数の信号源の全ての信号源が常に信号を発生しているとは限らない。また、複数の信号のそれぞれに、全ての信号源からの信号が必ず混合されているとは限らない。従って、周波数領域入力信号の全てが、全周波数に渡ってゼロにならないとは限らない。
入力信号解析部200は、後述の分離行列生成部102が分離行列を生成するための学習に使用するのに、入力信号が適しているか否かを、所定の方法で判断し、判断の結果を選択制御部201に通知する。以下、入力信号が分離行列を生成するための学習に使用するのに適する、あるいは、入力信号が分離行列を生成するのに適するとは、入力信号を周波数領域の信号に変換した周波数領域入力信号により分離行列の学習を行った場合に、分離行列による信号分離の分離精度が向上することが期待できることを意味する。逆に、「適しない」は、学習によって分離行列による信号分離の分離精度が劣化することを意味する。
入力信号が分離行列を生成するのに適しているか否かを判断する方法には、例えば、例えば所定の時間長の間、全ての入力信号が、信号の値がゼロ又はゼロと見なせる値であるような、無信号の状態であるか否かを解析する方法がある。後述の分離行列生成部102が、無信号である入力信号から分離行列を生成した場合、分離行列の分離精度が低下する。そのため、入力信号が無信号の状態であるなら、入力信号解析部200は、入力信号は分離行列を生成するのに適していないと判断すればよい。逆に、入力信号解析部200は、例えば所定の時間長の間に入力信号のいずれかがゼロではない値をとる、入力信号が無信号でない状態であるなら、入力信号は分離行列を生成するのに適していると判断すればよい。ある入力信号が無信号であるか否かの判断は、例えば、入力信号を周波数領域の信号に変換した周波数領域入力信号のパワーが、全ての周波数領域入力信号でゼロである場合に無信号であると判断するなどすればよい。
また、分離行列生成部102が、複数の信号源のうちいずれかの信号源からの信号が含まれていない入力信号によって学習を行い、分離行列を生成した場合、分離行列の分離精度が低下する。従って、いずれかの信号源からの信号が複数の入力信号のどれにも含まれていない場合、分離行列を生成するのに適していないと判断する方法もある。学習によって分離行列の分離精度が高くなっている状態であれば、分離行列により生成した分離信号は、個々の信号源が発生する信号になっているはずである。例えば、図示しない、生成した分離行列による分離後の分離信号に、所定の時間長の間、値がゼロとなる信号が含まれている場合、いずれかの信号源からの信号が入力信号のどれにも含まれていないと判断することができる。
入力信号解析部200が、入力信号は分離行列を生成するのに適すると判断した場合、選択制御部201は、周波数領域入力信号をデータ記憶部202に格納する。一方、入力信号解析部200が、入力信号は分離行列を生成するのに適しないと判断した場合、選択制御部201は、周波数領域入力信号をデータ記憶部202に格納しない。データ記憶部202に新たに格納するための領域がない場合、選択制御部201は、例えば、データ記憶部202に格納されている周波数領域入力信号のデータのうち、格納してからの経過時間が最も長いものを破棄して新たなデータを格納する。
データ記憶部202は、格納された周波数領域入力信号を、経過時間を表す情報と関連付けて記憶する。経過時間を表す情報には、例えばフレーム番号がある。フレーム番号は、例えば昇順に付与された各フレームの番号である。
分離行列生成部102は、データ記憶部202に格納されている過去分を含む複数フレームの周波数領域入力信号を、データ記憶部202から読み出す。読み出す際、例えばデータ記憶部202に格納されている全ての周波数領域入力信号を読み出してもよいし、何らかの手段で選択した一部の周波数領域入力信号を読み出してもよい。分離行列生成部102は、読み出した周波数領域入力信号を用いて、周波数領域入力信号を信号源毎の周波数領域分離信号に分離するための分離行列を生成する。後述するように、分離行列は、信号源毎に分離した周波数領域分離信号の、特定の周波数帯域における値を要素とするベクトルを生成する行列である。分離行列生成部102は、周波数帯域毎に分離行列を生成する。この分離行列を、対応する周波数帯域における複数の周波数領域入力信号の値を要素とするベクトルに掛けることで、その周波数帯域における周波数領域分離信号が算出される。全ての周波数帯域について求めた周波数領域分離信号を時間領域の信号に変換することで、信号源毎の分離信号が生成される。分離行列の生成は、例えばICA(独立成分分析)に基づく学習によって行うことができる。ICAに基づく分離行列生成法の例は後述する。
次に、本実施形態の動作について、図面を参照して詳細に説明する。
図2は、本実施形態に係る信号分離装置の動作を示す図である。
図2を参照すると、まず、入力信号解析部200が、入力された周波数領域入力信号が分離行列を生成するのに適するか否かを判断する(ステップS1)。ステップS1における判断の結果、周波数領域入力信号が分離行列を生成するのに適する信号である場合(ステップS2、Yes)、選択制御部201は、周波数領域入力信号をデータ記憶部202に記憶し(ステップS3)、ステップS4に進む。周波数領域入力信号が分離行列を生成するのに適しない信号である場合(ステップS2、No)、ステップS4に進む。
次に、分離行列生成部102は、データ記憶部202に格納されている周波数領域分離信号の一部又は全部を読み出し、読み出した周波数領域分離信号をもとに、分離行列を生成する(ステップS4)。
本実施形態の信号分離装置は、フローチャートに示す「スタート」から「リターン」までの動作を、フレーム毎に繰り返す。なお、後述の他の実施形態でも同様に、それぞれの実施形態の動作を表すフローチャートに示す「スタート」から「リターン」までを、フレーム毎に繰り返す。
本実施形態には、信号分離に適さない信号が入力されても、分離性能の劣化を抑えることができるという効果がある。
その理由は、入力信号が分離行列の生成に適するか否かを判断し、分離行列の生成に適する入力信号のみをデータ記憶部202に格納し、データ記憶部202に格納されている現在及び過去のものを含む分離行列の生成に適する複数フレームの周波数領域入力信号から分離行列を生成するからである。
[第2の実施形態]
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
図3は本実施形態の構成を表す図である。
図3を参照すると、本実施形態に係る信号分離装置は、周波数変換部100と、データ選択記憶部101と、分離行列生成部102と、分離信号生成部103と、逆周波数変換部104とを含む。
周波数変換部100は所定の時間長のフレーム単位で入力信号に対して周波数変換を施し、周波数領域入力信号を生成し、データ選択記憶部101と分離信号生成部103に出力する。周波数変換部100は、例えば、DFTによって、この周波数変換を行うことができる。なお、周波数変換の変換ブロック長は、フレームと同じ時間長でもよいし、フレームより長い時間長でもよい。変換ブロック長がフレームより長い場合、周波数変換部100は、例えば、フレーム長の2倍の長さ変換ブロック長に対して周波数変換を行うことができる。この場合、周波数変換部100は、例えば、現フレームとその1フレーム前のフレームで構成される変換ブロックに対して周波数変換を行えばよい。
なお、以下では、入力信号が、複数の音源が発生した音を複数のセンサによって観測することで得られる信号であるとして説明を行う。
データ選択記憶部101は、入力された周波数領域入力信号のうち、分離行列を生成するのに適したフレームの周波数領域入力信号だけを記憶する。また、データ選択記憶部101は、記憶している複数フレーム分の周波数領域入力信号を、分離行列を生成する分離行列生成部102に送信する。
次に、本実施形態におけるデータ選択記憶部101の構成を、図面を参照して詳細に説明する。
図4は、本実施形態に係る信号分離装置のデータ選択記憶部101の構成を表す図である。
図4を参照すると、データ選択記憶部101は、入力信号解析部200と、選択制御部201と、データ記憶部202とを含む。
入力信号解析部200は、入力信号が、分離行列を生成するのに適するか否かを判断し、判断結果を選択制御部201に通知する。以下で述べるように、本実施形態の例では、入力信号解析部200が、入力信号が無音状態であるか否かを判断することで、入力信号が分離行列を生成するのに適するか否かの判断を行う。また、本実施形態の例では、入力信号解析部200が、周波数領域入力信号を解析することにより、入力信号が無音状態であるか否かの判断を行う。さらに、入力信号解析部200は、解析値と呼ぶ値を送信することで、選択制御部201に対して判断結果の通知を行う。ただし、解析値の送信は、判断結果の通知方法の一例である。判断結果の通知方法は、解析値の送信に限られるものではない。同様に、本実施形態を含む全ての実施形態に記載する判断及び通知の方法はあくまで例であり、本願発明の範囲は実施形態の記載に限られるものではない。
入力信号解析部200は、周波数領域入力信号を解析して、入力信号が無音状態であるか否かを判断する。入力信号解析部200は、入力信号が無音状態であるか否かの判断結果を解析値として表し、その解析値を選択制御部201に出力する。入力信号解析部200は、例えば、周波数領域入力信号のパワーを各々測定することで、周波数領域入力信号の解析を行えばよい。また、入力信号解析部200は、全てのパワーが閾値より小さい場合無音状態と判断し、それ以外の場合有音状態と判断すればよい。入力信号解析部200は、例えば、入力信号が無音状態であると判断した場合、解析値を0に、入力信号が有音状態であると判断した場合、解析値を1にすればよい。
選択制御部201は、入力信号が有音状態であれば周波数領域入力信号をデータ記憶部202に出力し、入力信号が無音状態であれば周波数領域入力信号を出力しない。入力信号解析部200が上述のように解析値を設定する場合、選択制御部201は、解析値が1ならば周波数領域入力信号をデータ記憶部202に出力すればよい。また、選択制御部201は、解析値が0ならば周波数領域入力信号を出力しなければよい。また、選択制御部201は、周波数領域入力信号を出力する場合、周波数領域入力信号をデータ記憶部202内に記憶するための更新情報をデータ記憶部202に出力する。この更新情報は、選択制御部201が出力する周波数領域入力信号を、新たにデータ記憶部202内に格納する際、代わりに破棄するデータ記憶部202内の周波数領域入力信号を指定するための情報である。更新情報は、例えば、データ記憶部202に記憶されている周波数領域入力信号の中で、記憶されてからの経過時間が最も長い周波数領域入力信号のフレーム番号である。選択制御部201は、データ記憶部202に記憶されている周波数領域入力信号のフレーム番号と、現周波数領域入力信号のフレーム番号の差分をもとに、経過時間を算出できる。
データ記憶部202は、複数フレームの周波数領域入力信号を記憶し、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶する。
また、解析値として前述のような2値ではなく連続値を用いてもよい。この場合、入力信号解析部200と選択制御部201は次のように動作する。
入力信号解析部200は、周波数領域入力信号を解析し、無音状態を表す解析値を選択制御部201に出力する。入力信号解析部200は、出力する解析値の設定を、例えば次のように行うことができる。入力信号解析部200は、例えば、周波数領域入力信号のパワーを測定し、パワーが下限閾値より小さい場合、無音状態とみなして解析値を0にすればよい。入力信号解析部200は、パワーが上限閾値以上の場合、有音状態とみなし解析値を1にすればよい。入力信号解析部200は、その他の場合は、周波数領域入力信号のパワーに応じた補間処理を行って算出した0から1の数値を、解析値にすればよい。入力信号解析部200は、この補間処理に、例えば、線形補間を用いることができる。
選択制御部201は、データ記憶部202が記憶する各フレームに対応する解析値を保持する。選択制御部201は、データ記憶部202に記憶されている複数フレームの中で、解析値が最も小さいフレームのフレーム番号を更新情報として設定し、周波数領域入力信号と更新情報をデータ記憶部202に出力する。選択制御部201は、このように解析値として連続値を用いることで、解析値が小さいフレーム、すなわち、無音状態に近いフレームから順に破棄させることができる。この場合、解析値として前述のような2値を用いる場合より、データ記憶部202は信号分離に適した周波数領域入力信号を記憶できる。
また、入力信号解析部200が、前述のように、連続値の解析値を選択制御部201に出力する場合、選択制御部201は次のように動作してもよい。
選択制御部201は、データ記憶部202に記憶されてから所定の時間経過したフレームが存在する場合、そのフレーム番号を更新情報として設定する。データ記憶部202に記憶されてから所定の時間経過したフレームが存在しない場合、選択制御部201は、データ記憶部202に記憶されている複数フレームの中で解析値が最も小さいフレームのフレーム番号を更新情報として設定する。選択制御部201は、周波数領域入力信号と、以上のように設定した更新情報をデータ記憶部202に出力する。データ記憶部202に記憶されてからの経過時間は、前述と同様に算出できる。
また、選択制御部201は、次のように動作してもよい。選択制御部201は、データ記憶部202に記憶されている各フレームの解析値を、新たなフレームが入力される毎に少しずつ0に近づけてく。選択制御部201は、解析値が最も小さいフレームのフレーム番号を更新情報として設定し、周波数領域入力信号と更新情報をデータ記憶部202に出力する。選択制御部201は、例えば、新たなフレームが入力される毎に各フレームの解析値に係数α(0.0<α<1.0)を乗算することで、解析値を少しずつ0に近づけることができる。
次に、図3に戻り、分離行列生成部102の動作を説明する。分離行列生成部102は、図4のデータ記憶部202から読み出した複数フレームの周波数領域入力信号を用いて分離行列を学習計算し、計算した分離行列を分離信号生成部103に出力する。分離行列生成部102は、例えば、ICAを用いて、分離行列の学習計算を行うことができる。以下、ICAに基づく分離行列の学習計算について説明する。次式のXi(f),i=1,2,…M(Mは入力チャンネル数)は、ある周波数帯域fにおける周波数領域入力信号である。また、Yi(f),i=1,2,…,N(Nは出力チャンネル数)は、周波数領域分離信号である。分離行列生成部102は、次式を満たす分離行列の周波数成分(以下、分離行列と表記する)W(f)を計算する。
分離行列W(f)は、次式で表されるN行M列の行列である。
分離行列生成部102は、非特許文献2に記載のように次式を繰返し更新することで、分離行列W(f)を算出できる。
非特許文献2:2005年,「スピーチ・エンハンスメント」、シュプリンガー,(Speech Enhancement,Springer,2005,pp.299327),299ページから327ページ参照。
数3のμはステップサイズであり、Iは単位行列である。また、S(f)は周波数領域分離信号の独立性を評価する統計量である。分離行列生成部102は、次式によってS(f)を算出する。
数4のτはフレーム番号である。また、E{・}は期待値を、Φ(・)は非線形変換関数を、Hは複素共役転置を、<・>τは時間平均演算子を表す。また、Y(f,τ)は、番号τのフレームに対応する周波数領域分離信号を表すベクトル[Y1(f,τ),...,YN(f,τ)]T(Tは転置を表す)である。[Y1(f,τ),...,YN(f,τ)]Tは、対応するフレーム番号を明示して表記した数1の左辺である。非線形変換関数Φ(・)は、例えば、次式で表される関数である。
また、数4に示すように、周波数領域分離信号Yi(f)のエルゴード性が仮定されているため、分離行列生成部102は、時間平均値を計算することで期待値を算出できる。
分離行列生成部102は、例えば、過去の学習計算で算出した分離行列を、数3の繰返し更新の初期値にすることができる。
分離信号生成部103は、周波数領域入力信号と分離行列とから周波数領域分離信号を生成し、逆周波数変換部104に出力する。
逆周波数変換部104は、逆周波数変換により、周波数領域分離信号を分離信号に変換する。逆周波数変換部104は、例えば、IDFTを用いて、この逆周波数変換を行うことができる。なお、逆周波数変換部104による逆周波数変換の変換ブロック長は、前述の周波数変換部100による周波数変換の変換ブロック長と同じである。例えば、周波数変換部100が、フレーム長の2倍の変換ブロック長で周波数変換を行った場合、逆周波数変換部104は、現フレームの変換ブロックとその1つ前のフレームの変換ブロックとが重複する区間の分離信号が出力する。
次に本実施形態の信号分離装置全体の動作について、図面を参照して詳細に説明する。
図5は本実施形態の信号分離装置の動作を示すフローチャートである。
図5によると、本実施形態の信号分離装置の周波数変換部100は、まず、入力信号を周波数領域の信号に変換して周波数領域入力信号を生成する(ステップS11)。データ選択記憶部101の入力信号解析部200は、生成された周波数領域入力信号を解析し、入力信号が無音状態であるか否かを判断する(ステップS12)。入力信号が無音状態である場合(ステップS13、Yes)、ステップS15に進む。入力信号が無音状態でない場合(ステップS13、No)、選択制御部201は、入力信号を変換した周波数領域入力信号を、データ記憶部202に格納し(ステップS14)、ステップS15に進む。
分離行列生成部102は、データ記憶部202に格納されている複数フレームの周波数領域入力信号によって学習を行い、分離行列を生成する(ステップS15)。
分離信号生成部103は、分離行列生成部102が生成した分離行列により、周波数領域入力信号から、周波数領域分離信号を生成する(ステップS16)。逆周波数変換部104は、分離信号生成部103が生成した周波数領域分離信号を、逆周波数変換により時間領域の信号に変換することで、分離信号を生成する(ステップS17)。
本実施形態の処理過程は、周波数変換部100と、データ選択記憶部101と、分離信号生成部103と、逆周波数変換部104とで構成される処理過程と、分離行列生成部102で構成される処理過程とに大別できる。本実施形態の信号分離装置を実時間で動作させる場合、分離信号を出力するため、前者の処理過程の各処理部は、後者の処理過程と異なり毎フレーム動作する必要がある。もし、2つの処理過程の処理時間が合わせて1フレームの時間長以下ならば、図30に示すように各処理部を順次に動作させてもよい。図30は、入力信号に対する各処理部での順次処理のタイミングを示す図である。なお、図30のnはある時刻におけるフレームのフレーム番号であり、Tcは周波数変換部100の処理時間であり、Tmはデータ選択記憶部101の処理時間であり、Twは分離行列生成部102の処理時間であり、Tsは分離信号生成部103の処理時間であり、Tc’は逆周波数変換部104の処理時間である。この場合、各処理部は、周波数変換部100、データ選択記憶部101、分離行列生成部102、分離信号生成部103、逆周波数変換部104の順序で動作する。このように各処理部が順次動作する場合、本信号分離装置は、現フレームの周波数領域入力信号を用いて学習計算した分離行列を使用して、現フレームの周波数領域入力信号の分離を行うため、好適な分離性能を得ることができる。
しかし、一般に分離行列生成部102の処理時間は非常に長いため、前述の2つの処理過程の処理時間の合計が1フレームの時間長を超えることが多い。この場合は、本実施形態を実時間で動作させるために、図31に示すように分離行列生成部102を1フレームにつき、TwM=Tw/Mの時間区間のみ動作させ、Mフレームで1回の学習計算を行ってもよい。図31は、入力信号に対する各処理部での順次処理と学習計算処理のタイミングを示す図である。ただし、MはTwM≦(1フレームの時間長)−(Tc+Tm+Ts+Tc’)を満たす値である。この場合、各処理部は、例えば、周波数変換部100、データ選択記憶部101、分離信号生成部103、逆周波数変換部104、分離行列生成部102の順序で動作する。各処理部がこの順番で動作する場合、分離行列生成部102の学習計算はフレームn+Mで終了し、分離信号生成部103は、学習結果である分離行列をフレームn+M+1の処理で利用することができる。なお、分離行列生成部102はMフレームで1回の学習計算を行うため、分離行列生成部102が学習計算している間に入力されたMフレームの周波数領域入力信号を一時記憶するバッファが別途必要となる。
図32に示すように、前述の2つの処理過程は並列に動作してもよい。図32は並列処理した場合のタイミングを示す図である。この場合、周波数変換部100、データ選択記憶部101、分離信号生成部103、逆周波数変換部104は毎フレーム動作する。また、分離行列生成部102は、分離行列の学習計算に要する処理時間Twより大きい整数の中で最も小さい整数Mフレームごとに学習計算を行う。この場合、分離信号生成部103は、フレームn+Mで得られた新しい分離行列を、フレームn+M+1の処理で利用することができる。なお、分離行列生成部102が学習計算している間に入力されたMフレームの周波数領域入力信号を一時記憶するバッファが別途必要となる。
以上のように、本実施形態には、入力信号が無音状態である場合の分離性能の劣化を軽減する効果がある。
その理由は、本実施形態の信号分離装置は、入力信号解析部200と選択制御部201を含み、分離行列を算出するための信号として、分離行列の学習の際に行う統計量の算出に適した有音状態の周波数領域入力信号を複数選択するからである。本実施形態の信号分離装置は、選択された複数の有音状態の周波数領域入力信号を用いて分離行列を算出することで、無音である入力信号によって学習を行うことによる分離性能の劣化を低減することができる。
[第3の実施形態]
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。
図6は本実施形態の信号分離装置の全体の構成を表す図である。
本実施形態は、データ選択記憶部101の代わりに、データ選択記憶部101と構成及び動作が異なるデータ選択記憶部302を構成に含む点のみが、図3に示す本発明の第2の実施形態と異なる。本実施形態の他の構成は、第2の実施形態の構成と同じである。以下、本実施形態と第2の実施形態との相違点を中心に説明する。
図7は本実施形態のデータ選択記憶部302の構成を表す図である。以下、図7を参照してデータ選択記憶部302の構成と動作を説明する。
図7を参照すると、本実施形態のデータ選択記憶部302は、入力信号解析部200と、選択制御部300と、データ記憶部301とを含む。
入力信号解析部200は、第2の実施形態で説明したように無音状態を表す解析値を算出し、解析値を選択制御部300に出力する。
選択制御部300は図4に示す第2の実施形態の選択制御部201と同様の動作により、解析値に基づき更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部301に出力する。また、選択制御部300は、データ記憶部301に記憶されている周波数領域入力信号を初期化するための初期化情報を無音状態の継続時間に応じて設定し、初期化情報をデータ記憶部301に出力する。初期化情報は、選択制御部300が、データ記憶部301に記憶されている周波数領域入力信号を全て消去する初期化を行うか否かを、データ記憶部301に通知するための情報である。
無音状態が一定時間継続した場合、無音状態中に、音源の位置が変化するなどの環境変化が生じている可能性がある。環境変化が生じた場合、その時点でデータ記憶部301に格納されている周波数領域入力信号は、環境変化前のものである。無音状態が一定時間継続した場合、分離行列を生成する前にデータ記憶部301の初期化を行うことで、環境変化が生じていたとしても、環境変化後の周波数領域入力信号のみを使用して分離行列生成のための学習を行うことができる。環境変化が生じた可能性があるとみなす無音状態の継続時間は、環境に応じて適宜選択すればよい。
選択制御部300は、例えば、解析値が所定の閾値より小さい無音状態の継続時間を測定し、継続時間が所定の閾値以上の場合、データ記憶部301に記憶されている周波数領域入力信号を初期化するために、初期化情報に1を設定すればよい。一方、継続時間が所定の閾値以上でない場合、選択制御部300は、初期化情報に0を設定すればよい。この例では、初期化情報は、1である場合、データ記憶部301が記憶する周波数領域入力信号を全て破棄する初期化を行うことを意味し、0である場合、初期化を行わないことを意味する。
データ記憶部301は、複数フレームの周波数領域入力信号を記憶する。データ記憶部301は、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶する。また、データ記憶部301は、入力された初期化情報が1ならば記憶している周波数領域入力信号を全て破棄すればよい。
以上の例では、選択制御部300は、初期化情報をデータ記憶部301に送信することで、データ記憶部301が記憶している周波数領域入力信号の、初期化の指示を行っていた。また、データ記憶部301は、受け取った初期化情報の値が初期化を指示するものであれば、記憶している周波数領域入力信号を全て廃棄していた。しかし以上のような構成は一例であり、必ずしもこの構成に限られるものではない。
次に、本実施形態の信号分離装置全体の動作について、図面を参照して詳細に説明する。
図8は本実施形態の信号分離装置全体の動作を表すフローチャートである。以下、本実施形態の動作と、図5に示す第2の実施形態の動作の相違点を中心に説明する。
図5と図8とを比較すると、図8のステップS21〜S24、S28〜S30は、それぞれ図5のステップS11〜S14、S15〜S17に対応する。
周波数変換を行ってから(ステップS21)、入力信号が無音状態であるか否かを判定し(ステップS22)、入力信号が無音状態でない場合(ステップS23、No)周波数領域入力信号をデータ記憶部301に格納する(ステップS24)までの本実施形態の信号分離装置の動作は、第2の実施形態の動作におけるステップS11〜S14と同じである。
入力信号解析部200が、入力信号が無音であると判断した場合(ステップS23、Yes)、選択制御部300は、無音状態の継続時間を計測する(ステップS25)。無音状態の継続時間が所定の時間未満である場合(ステップS26、No)、分離行列生成部102は、データ記憶部301に格納されている複数フレームの周波数領域入力信号によって分離行列を生成し(ステップS28)、ステップS29に進む。
無音状態の継続時間が所定の時間以上である場合(ステップS26、Yes)、選択制御部300はデータ記憶部301を初期化し、データ記憶部301に格納されている周波数領域入力信号を全て破棄し(ステップS27)、ステップS29に進む。この場合、データ記憶部301に格納されている周波数領域入力信号は無くなるので、分離行列の生成は行わず、現在の分離行列をそのまま使用する。
分離信号生成部103は、分離行列により、周波数領域入力信号から周波数領域分離信号を生成する(ステップS29)。逆周波数変換部104は、生成された周波数領域分離信号を時間領域の信号に変換し、分離信号を生成する(ステップS30)。
以上のように、本実施形態には、第2の実施形態と同様に、入力信号が無音状態である場合に、分離性能の劣化を軽減するという効果がある。
その理由は、本実施形態の信号分離装置は入力信号解析部200と選択制御部300を含み、第2の実施形態と同様に、分離行列の学習の際に行う統計量の算出に適した有音状態の周波数領域入力信号を複数選択するからである。分離行列生成部102が、選択された複数の有音状態の周波数領域入力信号を用いて分離行列を算出することで、入力信号が無音状態である場合に、分離性能の劣化を軽減することができる。
本実施形態には、さらに、無音状態中に音源移動などの環境変化が生じても、無音状態の終了後に、生じた環境の変化に速やかに追従できると言う効果がある。すなわち、本実施形態には、無音状態中に環境変化が生じた場合、無音状態終了後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、入力信号解析部200が周波数領域入力信号を解析し、無音状態の継続時間に応じて選択制御部300がデータ記憶部301を初期化するように構成されているからである。そのため、無音状態中に音源移動などの環境変化が生じた場合、データ記憶部301は、環境変化後において、環境変化前の周波数領域入力信号を記憶しない。これにより、環境変化後の分離行列の生成において、分離行列生成部102は、環境変化前の周波数領域入力信号を学習に使わない。また、データ記憶部301は、無音状態後の周波数領域入力信号を新たに記憶することができる。従って、本実施形態の信号分離装置は、環境変化後の状態を反映した分離行列を速やかに算出することができるため、無音状態後の追従性が改善するという効果が得られる。
[第4の実施形態]
次に、本発明の第4の実施形態について図面を参照して詳細に説明する。
図9は本実施形態の構成を表す図である。
図9を参照すると、本実施形態は、周波数変換部100と、データ選択記憶部400と、分離行列生成部102と、分離信号生成部401と、逆周波数変換部104とを含む。本実施形態の構成は、分離信号生成部103及びデータ選択記憶部101の代わりに、分離信号生成部401及びデータ選択記憶部400を含む点が、図3に示す第2の実施形態の構成と異なる。本実施形態の分離信号生成部401及びデータ選択記憶部400は、構成と動作が、第2の実施形態の分離信号生成部103及びデータ選択記憶部101と異なる。以下、本実施形態と第2の実施形態との相違点である、分離信号生成部401とデータ選択記憶部400の構成と動作を中心に説明する。
図10は、本実施形態のデータ選択記憶部400の構成を表す図である。
図10を参照すると、第4の実施形態のデータ選択記憶部400は、入力信号解析部500と、選択制御部201と、データ記憶部202とを含む。
入力信号解析部500は、周波数領域分離信号を解析して、入力信号に全ての音源信号が混在しているか否かを判断する。以下、入力信号に全ての音源信号が混在している状態を、(音源信号の)同時存在状態、又は、入力信号は同時存在状態であると表記する。また、入力信号にいずれかの音源信号が混在していない状態を、非同時存在状態、又は、入力信号は非道時存在状態であると表記する。入力信号解析部500は、入力信号が同時存在状態であるか否かの判断の結果を、例えば後述の解析値で表し、その解析値を選択制御部201に出力する。入力信号解析部500は、例えば、周波数領域分離信号のパワーを各々測定し全てのパワーが閾値以上であれば、入力信号は同時存在状態であるとみなし、それ以外であれば入力信号は非同時存在状態であるとみなせばよい。また、入力信号解析部500は、例えば、入力信号が同時存在状態であると判断した場合は解析値を1に設定し、入力信号が非同時存在状態であると判断した場合は解析値を0に設定すればよい。なお、信号分離処理は音源信号の混合過程の逆過程であり、周波数領域分離信号は周波数領域の音源信号とみなすことができるため、周波数領域分離信号を用いた解析により、音源信号の同時存在状態の検出が可能である。
入力信号解析部500が上述のように解析値を設定した場合、選択制御部201は、解析値が1ならば周波数領域入力信号をデータ記憶部202に出力すればよく、解析値が0ならば周波数領域入力信号を出力しなければよい。また、選択制御部201は、周波数領域入力信号を出力する場合、周波数領域入力信号をデータ記憶部202内に記憶するための更新情報をデータ記憶部202に出力する。前述のように、更新情報は、選択制御部201が出力する周波数領域入力信号を、新たにデータ記憶部202内に格納する際、代わりに破棄するデータ記憶部202内の周波数領域入力信号を指定するための情報である。選択制御部201は、例えば、データ記憶部202に記憶されている周波数領域入力信号の中で記憶されてからの経過時間が最も長い周波数領域入力信号のフレーム番号を、更新情報に設定すればよい。経過時間の算出方法は前述の通りである。
データ記憶部202は、複数フレームの周波数領域入力信号を記憶する。データ記憶部202は、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶する。
また、解析値は、2値ではなく連続値であってもよい。この場合、入力信号解析部500と選択制御部201は、例えば次のように動作する。
入力信号解析部500は、周波数領域分離信号を解析し、音源信号の同時存在状態を表す解析値を選択制御部201に出力する。入力信号解析部500は、出力する解析値の設定を、例えば次のように行うことができる。例えば、入力信号解析部500は、周波数領域分離信号のパワーを各々測定し全てのパワーが上限閾値以上の場合、同時存在状態とみなし、解析値を1にすればよい。入力信号解析部500は、下限閾値より小さいパワーが1つでも存在する場合、非同時存在状態とみなし、解析値を0にすればよい。入力信号解析部500は、その他の場合、周波数領域分離信号のパワーに応じた補間処理を行って算出した、0から1の数値を解析値にすればよい。入力信号解析部500は、この補間処理に、例えば、線形補間を用いることができる。
選択制御部201は、第2の実施形態と同じように、連続値の解析値に基づき更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部202に出力する。
また、入力信号解析部500は、前述のような音源信号の同時存在状態又は非同時存在状態を表す2値の解析値ではなく、例えば3値の解析値を用いてもよい。このような解析値は、例えば、同時存在状態を表す値、単独状態(複数の音源信号の内、1つの音源信号だけが存在している状態)を表す値、無音状態を表す値のいずれかを取りうる解析値である。この場合、入力信号解析部500と選択制御部201は、例えば次のように動作する。
入力信号解析部500は周波数領域分離信号を解析し、音源信号の同時存在状態、単独状態、または無音状態のいずれかを表す解析値を選択制御部201に出力する。入力信号解析部500は、出力する解析値の設定を、次の例のように行うことができる。例えば、入力信号解析部500は、まず、周波数領域分離信号のパワーを各々測定する。次に、入力信号解析部500は、全てのパワーが閾値以上の場合、同時存在状態とみなし、解析値を0にする。入力信号解析部500は、全てのパワーが閾値より小さい場合、無音状態とみなし解析値を−1にする。それ以外の場合、入力信号解析部500は、単独状態として最も大きなパワーを持つi番目の周波数領域分離信号の番号i(1≦i≦N,Nは周波数領域分離信号の数)を解析値にする。
選択制御部201は、解析値が0以上ならば周波数領域入力信号をデータ記憶部202に出力すればよく、解析値が−1ならば周波数領域入力信号を出力しなければよい。また、周波数領域入力信号を出力する場合、選択制御部201は、周波数領域入力信号をデータ記憶部202内に記憶させるための更新情報をデータ記憶部202に出力する。
次に、選択制御部201による更新情報の設定方法を、図11、図12を参照して説明する。図11、図12に記載のフレーム番号は、データ記憶部202が記憶する周波数領域入力信号の各フレームに、データ記憶部202の先頭から順に付与した番号である。
図11は、解析値が0の場合の、データ記憶部202内の、周波数領域入力信号を記憶する場所の例を表す図である。図11の例では、周波数領域入力信号の各フレームは、入力の順に、データ記憶部202内のフレーム1、フレーム(L+1)、…、フレーム(L×(N−1)+1)、フレーム2、フレーム(L+2)、…、フレーム(L×(N−1)÷2)、…に記憶される。解析値が0の場合、選択制御部201は、周波数領域入力信号の各フレームが、入力の順に、データ記憶部202内のフレーム1、フレーム(L+1)、…、フレーム(L×(N−1)+1)、フレーム2、フレーム(L+2)、…、フレーム(L×(N−1)+2)、…、に記憶されるよう、データ記憶部202内のフレーム番号を更新情報に設定すればよい。ただし、Lはデータ記憶部202に記憶している周波数領域入力信号の総フレーム数をN等分した数である。
図12は、解析値がi(iは1以上の整数)の場合の、データ記憶部202内の、周波数領域入力信号を記憶する場所の割り当て方の例を表す図である。図12の例では、周波数領域入力信号の各フレームは、入力の順に、データ記憶部202内のフレーム(L×(i−1)+1)、フレーム(L×(i−1)+2)、…、フレーム(L×(i−1)+L)に記憶される。解析値がiの場合、選択制御部201は、周波数領域入力信号の各フレームが、入力の順に、データ記憶部202内のフレーム(L×(i−1)+1)、フレーム(L×(i−1)+2)、…、フレーム(L×(i−1)+L)に記憶されるよう、データ記憶部202内のフレーム番号を更新情報に設定すればよい。
このように更新情報を設定することにより、本実施形態の信号分離装置は、非同時存在状態が長く続く場合でも、データ記憶部202内の周波数領域入力信号を更新できる。さらに、本実施形態の信号分離装置は、各音源信号の周波数領域入力信号を常に保持できるため分離性能の劣化を低減できる。
次に、図9に戻り、分離信号生成部401について説明する。分離信号生成部401は周波数領域入力信号と分離行列とから周波数領域分離信号を生成し、逆周波数変換部104とデータ選択記憶部400に出力する。
次に、本実施形態の信号分離装置全体の動作を、図面を参照して詳細に説明する。
図13は本実施形態の信号分離装置の動作を示すフローチャートである。
図13を参照すると、まず周波数変換部100が、入力信号を周波数領域の信号に変換する周波数変換を行い、周波数領域入力信号を生成する(ステップS31)。
分離信号生成部401は、生成された周波数領域入力信号から、周波数領域分離信号を生成する(ステップS32)。逆周波数変換部104は、周波数領域分離信号を時間領域の信号に変換し、分離信号を生成する(ステップS33)。
一方、データ選択記憶部400の入力信号解析部500は、ステップS32で生成した周波数領域分離信号を解析し、周波数領域入力信号が同時存在状態であるか否かを判断する(ステップS34)。周波数領域入力信号が同時存在状態であるなら(ステップS35、Yes)、選択制御部201は、周波数領域入力信号をデータ記憶部202に格納し(ステップS36)、ステップS37に進む。周波数領域入力信号が同時存在状態でないなら(ステップS35、No)、ステップS37に進む。
分離行列生成部102は、データ記憶部202に格納されている複数フレームの周波数領域分離信号によって、分離行列を生成する(ステップS37)。
以上のような本実施形態を実時間で動作させる場合、本実施形態の処理過程は、2つの処理過程に大別できる。1つ目の処理過程は、周波数変換部100と、データ選択記憶部400と、分離信号生成部401と、逆周波数変換部104とで構成される処理過程である。2つ目の処理過程は、分離行列生成部102で構成される処理過程である。前者の処理過程は分離信号を出力するため、後者の処理過程と異なり各処理部を毎フレーム動作させる必要がある。もし、2つの処理過程の処理時間の合計が1フレームの時間長以下ならば、図33に示すように各処理部を順次に動作させてもよい。なお、図33のnはある時刻におけるフレームのフレーム番号である。Tcは周波数変換部100の処理時間である。Tmはデータ選択記憶部400の処理時間である。Twは分離行列生成部102の処理時間である。Tsは分離信号生成部401の処理時間である。Tc’は逆周波数変換部104の処理時間である。この場合、周波数変換部100、分離信号生成部401、逆周波数変換部104、データ選択記憶部400、分離行列生成部102の順序で動作する。なお、図30を参照して説明した第2の実施形態との差異は、第2の実施形態では周波数変換部100の次に動作していたデータ選択記憶部400が、本実施形態では逆周波数変換部104の次に動作し、これに伴い分離行列生成部102が最後に動作する点である。これは、本実施形態が周波数領域分離信号の解析結果に基づき周波数領域入力信号を記憶するからである。
しかし、一般に分離行列生成部102の処理時間は非常に長いため、前述の2つの処理過程の処理時間の合計が1フレームの時間長を超えることが多い。この場合は、第4の実施形態を実時間で動作させるために、分離行列生成部102は、図34に示すように1フレームにつき、TwM=Tw/Mの時間区間のみ動作し、Mフレームで1回の学習計算を行ってもよい。ただし、MはTwM≦(1フレームの時間長)−(Tc+Tm+Ts+Tc’)を満たす値である。この場合、周波数変換部100、分離信号生成部401、逆周波数変換部104、データ選択記憶部400、分離行列生成部102の順序で動作させてもよい。
なお、図31を参照して説明した第2の実施形態との差異は、第2の実施形態では周波数変換部100の次に動作していたデータ選択記憶部400が、本実施形態では逆周波数変換部104の次に動作する点である。これは、本実施形態は、周波数領域分離信号の解析結果に基づき、周波数領域入力信号を記憶するからである。本実施形態の順番で動作させた場合、分離行列生成部102の学習計算はフレームn+Mで終了する。分離信号生成部401は、その学習の結果である分離行列を、フレームn+M+1の処理で利用することができる。なお、分離行列生成部102は、Mフレームで1回の学習計算を行うため、バッファが必要になる。すなわち、バッファは、分離行列生成部102が学習計算している間に入力されたMフレームの周波数領域入力信号を一時記憶する必要がある。
または、図35に示すように前述の2つの処理過程を並列に動作させてもよい。この場合、周波数変換部100、分離信号生成部401、逆周波数変換部104、データ選択記憶部400は毎フレーム動作する。また、分離行列生成部102は、分離行列の学習計算に要する処理時間Twより大きい整数の中で最も小さい整数Mフレームごとに学習計算を行う。なお、図32を参照して説明した第2の実施形態との差異は、第2の実施形態では周波数変換部100の次に動作していたデータ選択記憶部400は、本実施形態では逆周波数変換部104の次に動作することである。その理由は、本実施形態は、周波数領域分離信号の解析結果に基づき、周波数領域入力信号を記憶するためである。これに伴い、分離行列生成部102の動作タイミングが(Ts+Tc’)分だけ遅くなる。また、分離信号生成部401は、フレームn+Mで得られた新しい分離行列をフレームn+M+1の処理で利用することができる。なお、分離行列生成部102が学習計算している間に入力されたMフレームの周波数領域入力信号を一時記憶するバッファが別途必要となる。
以上のように、本実施形態には、全ての音源の音源信号がどの入力信号にも混在していないことに起因する分離性能の劣化を低減するという効果がある。
その理由は、本実施形態は、全ての音源信号が混在した同時存在状態の周波数領域入力信号を複数選択し、選択された複数の同時存在状態の周波数領域入力信号を用いて分離行列を算出するような構成を持つからである。
[第5の実施形態]
次に、本発明の第5実施形態について図面を参照して詳細に説明する。
図14は、本実施形態の信号分離装置の構成を表す図である。
図14を参照すると、本実施形態の構成は、データ選択記憶部400の代わりにデータ選択記憶部600を含む点のみが、図9に示す本発明の第4の実施形態の構成と異なり、他は同じである。以下、本実施形態と第4の実施形態との相違点を中心に説明する。
図15は本実施形態のデータ選択記憶部600の構成を表す図である。
図15を参照すると、本実施形態のデータ選択記憶部600は、入力信号解析部500と、選択制御部300と、データ記憶部301とを含む。
入力信号解析部500は図10に示す第4の実施形態の入力信号解析部500と同じであり、データ記憶部301及び選択制御部300は、それぞれ図7に示す第3の実施形態のデータ記憶部301及び選択制御部300と同じであるため、説明を省略する。なお、本実施形態は、図7を参照して説明した第3の実施形態と比べると、入力信号解析部200が入力信号解析部500に置換されている点が異なる。これに伴い、本実施形態は、選択制御部300に入力される解析値が無音状態ではなく音源信号の同時存在状態に基づくもの変更されている点でも、第3の実施形態と異なる。。
次に、本実施形態の信号分離装置の動作について図面を参照して詳細に説明する。
図16は、本実施形態の信号分離装置の動作を表すフローチャートである。以下、本実施形態の動作と、図13に示す第4の実施形態の動作との相違点を中心に説明する。
図16と、図13に示す第4の実施形態の動作を表すフローチャートを比較すると、図16のステップS41〜S46、S50は、それぞれ、図13のステップS31〜S37に対応する。ステップS41からステップS44は、図13のステップS31〜S34と同じであるので説明を省略する。また、入力信号が同時存在状態である場合(ステップS45、Yes)の動作も、図13に示す第4の実施形態の動作におけるステップS35、Yesの同時存在状態である場合の動作と同じであるので、説明を省略する。
入力信号が同時存在状態でない(非同時存在状態である)場合(ステップS45、No)、選択制御部300は非同時存在状態の継続時間を測定する(ステップS47)。継続時間が所定の時間未満である場合(ステップS48、No)、分離行列生成部102はデータ記憶部301に格納されている複数フレームの周波数領域入力信号をもとに、分離行列を生成する(ステップS50)。
一方、継続時間が所定の時間以上である場合(ステップS48、Yes)、選択制御部300は、データ記憶部301に格納されている全ての周波数領域入力信号を破棄する初期化を行う(ステップS49)。
以上のように、本実施形態には、第4の実施形態と同様、全ての音源の音源信号がどの入力信号にも混在していないことに起因する分離性能の劣化を低減するという効果がある。
その理由は、本実施形態は、全ての音源信号が混在した同時存在状態の周波数領域入力信号を複数選択し、選択された複数の同時存在状態の周波数領域入力信号を用いて分離行列を算出するような構成を持つからである。
本実施形態には、さらに、非同時存在状態中に音源移動などの環境変化が生じても、非同時存在状態中の終了後に、生じた環境の変化に速やかに追従できると言う効果がある。すなわち、本実施形態には、非同時存在状態中に環境変化が生じた場合、非同時存在状態終了後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、周波数領域分離信号を解析し、音源信号の非同時存在状態の継続時間に応じてデータ記憶部301を初期化するように構成されているからである。そのため、非同時存在状態中に音源移動などの環境変化が生じた場合、環境変化後において、環境変化前の周波数領域入力信号がデータ記憶部301に含まれない。これにより、環境変化後の分離行列の生成において、環境変化前の周波数領域入力信号は学習に使われない。また、非同時存在状態後の周波数領域入力信号を新たに記憶することができる。従って、環境変化後の状態を反映した分離行列を速やかに算出することができるため、無音状態後の追従性を改善するという効果が得られる。
[第6の実施形態]
次に、本発明の第6の実施形態について図面を参照して詳細に説明する。
図17は本実施形態の信号分離装置の構成を表す図である。
図17を参照すると、本実施形態は、データ選択記憶部400の代わりにデータ選択記憶部702を含む点のみが、図9に示す第4の実施形態の構成と異なり、他は同じである。以下、本実施形態と第4の実施形態との相違点を中心に説明する。
図18は、本実施形態のデータ選択記憶部702の構成を表す図である。
図18を参照すると、本実施形態のデータ選択記憶部702は、入力信号解析部700と、選択制御部701と、データ記憶部301とを含む。
入力信号解析部700は、図10に示す第4の実施形態の入力信号解析部500と同様の動作により、音源信号の同時存在状態を表す解析値を算出し、選択制御部701に出力する。また、入力信号解析部700は周波数領域分離信号の類似度SYiYjを算出し、選択制御部701に出力する。このSYiYjは、例えば、i番目の周波数領域分離信号Yi(f)とj番目の周波数領域分離信号Yj(f)を用いて次式のように算出してもよい。
数6において、Nは周波数変換の変換ブロック長の1/2を、*は複素共役を表している。
また、SYiYjは、例えば、次式によって算出してもよい。
選択制御部701は、図10に示す第4の実施形態の選択制御部201と同様の動作により、解析値に基づき更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部301に出力する。また、選択制御部701は、データ記憶部301に記憶されている周波数領域入力信号を初期化するための初期化情報を類似度に基づき設定し、初期化情報をデータ記憶部301に出力する。選択制御部701は、例えば、類似度が閾値以上であれば環境変化が生じたとみなして初期化情報を1に設定し、それ以外であれば初期化情報を0に設定すればよい。なお、正しい分離行列が算出できていれば、周波数領域分離信号は互いに異なる信号となり、類似度は小さくなる。したがって、類似度が大きければ、分離行列が適切ではない、すなわち、音源移動などの環境変化が生じたとみなすことができる。このように、選択制御部701は、類似度を用いた解析により、環境変化を検出できる。
なお、SYiSYjは異なるi、jの組み合わせの数だけ存在する。異なるiとjの組み合わせが複数存在する場合、値が閾値を超えたSYiSYjの個数が所定の個数を超えたとき、環境変化が生じたとみなすことにすればよい。環境変化が生じたとみなすための、値が閾値を超えたSYiSYjの個数は、目的に応じて適宜決定すればよい。以下の説明における、「類似度が閾値を超える場合」には、異なるiとjの組み合わせが複数存在し、値が閾値を超えたSYiYjの個数が所定の個数を超える場合が含まれる。
また、選択制御部701は、図15に示す第5の実施形態の選択制御部300と同様の動作により音源信号の非同時存在状態の継続時間を測定し、上述の類似度と測定した継続時間を組み合わせて、例えば次のように初期化情報を設定してもよい。選択制御部701は、例えば、類似度と継続時間の一方が閾値以上の場合初期化情報を1に設定し、それ以外の場合初期化情報を0に設定すればよい。
データ記憶部301は複数フレームの周波数領域入力信号を記憶し、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶すればよい。また、データ記憶部301は、初期化情報が1ならば、記憶している周波数領域入力信号を全て破棄すればよい。
また、本実施形態は、前述のような音源信号の同時存在状態を表す解析値ではなく、同時存在状態、単独状態、無音状態のいずれかを表す解析値を用いてもよい。この場合、入力信号解析部700と選択制御部701は、例えば次のように動作する。
入力信号解析部700は、図10に示す第4の実施形態の入力信号解析部500と同様の動作により、音源信号の同時存在状態、単独状態または無音状態のいずれかを表す解析値を設定して選択制御部701に出力すればよい。選択制御部701は図10の選択制御部201と同様の動作により、解析値に基づき更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部301に出力すればよい。
次に、本実施形態の信号分離装置全体の動作を、図面を参照して詳細に説明する。
図19は本実施形態の動作を表すフローチャートである。以下、図13に示す第4の実施形態の動作を示すフローチャートとの相違点を中心に説明を行う。図19のステップS51〜S53は図13のステップS31〜S33と同じであるので、説明を省略する。
入力信号解析部700は、周波数領域分離信号を解析し、音源信号が同時存在状態か否かを判断するとともに(ステップS54)、類似度SYiYjの算出を行う(ステップS55)。類似度が閾値以上の場合(ステップS56、Yes)、選択制御部701はデータ記憶部301を初期化し(ステップS57)、現在のフレームの信号に対する処理を終了する。
類似度が閾値未満の場合(ステップS56、No)、同時存在状態であるなら(ステップS58、Yes)、選択制御部701は周波数領域分離信号をデータ記憶部301に記憶し(ステップS59)、ステップS59に進む。同時存在状態でないなら(ステップS58、No)、ステップS59に進む。分離行列生成部102は、図13のステップS37と同様に、分離行列を生成する(ステップS60)。
本実施形態には、第4の実施形態と同様、全ての音源の音源信号がどの入力信号にも混在していないことに起因する分離性能の劣化を低減するという効果がある。
その理由は、本実施形態は、全ての音源信号が混在した同時存在状態の周波数領域入力信号を複数選択し、選択された複数の同時存在状態の周波数領域入力信号を用いて分離行列を算出するような構成を持つからである。
本実施形態には、さらに、音源移動などの環境変化が生じても、生じた環境の変化に速やかに追従できると言う効果がある。すなわち、本実施形態には、環境変化が生じた場合、環境が変化した後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、周波数領域分離信号の類似度を用いて音源移動などの環境変化を検出し、その結果に基づきデータ記憶部301を初期化するように構成されているからである。そのため、環境変化が生じた場合、環境変化後において、環境変化前の周波数領域入力信号がデータ記憶部301に含まれない。これにより、環境変化後の分離行列の生成において、環境変化前の周波数領域入力信号は学習に使われない。また、音源移動などの環境変化後の周波数領域入力信号を新たに記憶することができる。従って、環境変化後の状態を反映した分離行列を速やかに算出することができるため、環境変化時の追従性を改善するという効果が得られる。
[第7の実施形態]
次に、本発明の第7の実施形態について図面を参照して詳細に説明する。
図20は本実施形態の信号分離装置の構成を表す図である。
図20を参照すると、本実施形態は、データ選択記憶部400の代わりにデータ選択記憶部802を含む点のみが、図9に示す第4の実施形態の構成と異なり、他は同じである。以下、本実施形態の構成と第4の実施形態の構成の相違点を中心に説明する。
図21は本実施形態のデータ選択記憶部802の構成を表す図である。
図21を参照すると、本実施形態のデータ選択記憶部802は、入力信号解析部800と、選択制御部801と、データ記憶部202とを含む。
入力信号解析部800は、図4に示す第2の実施形態の入力信号解析部200と同様の動作により、無音状態を表す解析値を算出し、選択制御部801に出力する。また、入力信号解析部800は、図10に示す第4の実施形態の入力信号解析部500と同様の動作により、音源信号の同時存在状態を表す解析値を算出し、選択制御部801に出力する。
選択制御部801は、無音状態を示す解析値と音源信号の同時存在状態を示す解析値の、2つの解析値を統合した統合解析値を算出する。選択制御部801は、例えば、2つの解析値の相加平均値あるいは相乗平均値を統合解析値とすればよい。選択制御部801は、第4の実施形態における解析値に代えて、統合解析値に基づいて、図10に示す第4の実施形態の選択制御部201と同様の動作により更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部202に出力すればよい。
データ記憶部202は、複数フレームの周波数領域入力信号を記憶し、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶すればよい。
次に、本実施形態の信号分離装置全体の動作を、図面を参照して詳細に説明する。
図22は本実施形態の動作を表すフローチャートである。以下、図13に示す第4の実施形態の動作との相違点を中心に説明する。
図22を参照すると、本実施形態の動作におけるステップS61〜ステップS63は、図13に示す第4の実施形態のステップS31〜ステップS33と同じなので、説明を省略する。
データ選択記憶部802の入力信号解析部800は、周波数変換部100が生成した周波数領域入力信号と分離信号生成部401が生成した周波数領域分離信号とをそれぞれ解析して上述の2つの解析値を設定し、選択制御部801に送信する(ステップS64)。
選択制御部801は受信した2つの解析値から統合解析値を算出する(ステップS65)。選択制御部801が算出した統合解析値が閾値未満の場合(ステップS66、No)、ステップS68に進む。統合解析値が閾値以上の場合(ステップS66、Yes)、統合解析値を算出したフレームの周波数領域入力信号を、データ記憶部202に格納する(ステップS67)。
分離行列生成部102は、データ記憶部202に格納されている複数フレームの周波数領域入力信号を元に、分離行列を生成する(ステップS68)。
以上のように、本実施形態には、無音あるいは、音源信号が混在していないことに起因する分離性能の劣化を低減するという効果がある。
その理由は、本実施形態の信号分離装置は、無音状態を表す解析値と音源信号の同時存在状態を表す解析値とを用いて算出した統合解析値に基づき選択した、複数の周波数領域入力信号を用いて分離行列を算出する構成を有するからである。統合解析値に基づき選択した周波数領域入力信号は、有音状態あるいは同時存在状態であるため、無音あるいは、音源信号が混在していないことに起因する分離性能の劣化を低減できる。
[第8の実施形態]
次に、本発明の第8の実施形態について図面を参照して詳細に説明する。
図23は、本実施形態の信号分離装置の構成を示す図である。
図23を参照すると、本実施形態は、データ選択記憶部400の代わりにデータ選択記憶部901を含む点のみが、図9に示す第4の実施形態の構成と異なり、他は同じである。以下、本実施形態と第4の実施形態との相違点を中心に説明する。
図24は本実施形態のデータ選択記憶部901の構成を表す図である。
図24に示すように、本実施形態のデータ選択記憶部901は、入力信号解析部800と、選択制御部900と、データ記憶部301とを含む。
入力信号解析部800は、図4に示す第2の実施形態の入力信号解析部200と同様の動作により、無音状態を表す解析値を算出し、選択制御部900に出力する。また、入力信号解析部800は、図10に示す第4の実施形態の入力信号解析部500と同様の動作により、音源信号の同時存在状態を表す解析値を算出し、選択制御部900に出力する。
選択制御部900は、無音状態を表す解析値及び音源信号の同時存在状態を表す解析値の、2つの解析値を統合した統合解析値を算出する。選択制御部900は、例えば、2つの解析値の相加平均値あるいは相乗平均値を統合解析値とすればよい。選択制御部900は、第4の実施形態における解析値に代えて統合解析値に基づき、図10に示す第4の実施形態の選択制御部201と同様の動作により更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部301に出力すればよい。また、選択制御部900は、データ記憶部301に記憶されている周波数領域入力信号を初期化するための初期化情報を統合解析値に基づき設定し、初期化情報をデータ記憶部301に出力すればよい。選択制御部900は、例えば、統合解析値が閾値より小さい状態の継続時間を測定し、継続時間が所定の閾値以上であれば、データ記憶部301に記憶されている周波数領域入力信号を初期化するように、初期化情報を1に設定すればよい。選択制御部900は、継続時間が所定の閾値未満であれば、初期化情報を0に設定すればよい。
また、選択制御部900は、無音状態を表す解析値と、音源信号の同時存在状態を表す解析値と、統合解析値との3種類の解析値の内、一つの解析値を使用して前述の実施形態と同様に更新情報を設定してもよい。また、選択制御部900は、前述の3種類の解析値のうち、一つの解析値を使用して前述の実施形態と同様に初期化情報を設定してもよい。なお、無音状態を表す解析値を使用して更新情報と初期化情報を設定する場合は第3の実施形態と同様の効果が得られる。また、音源信号の同時存在状態を表す解析値を使用して更新情報と初期化情報を設定する場合は第5の実施形態と同様の効果が得られる。
データ記憶部301は、複数フレームの周波数領域入力信号を記憶し、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶すればよい。また、データ記憶部301は、初期化情報が1ならば、記憶している周波数領域入力信号を全て破棄すればよい。
次に、本実施形態の信号分離装置全体の動作を、図面を参照して詳細に説明する。
図25は、本実施形態の信号処理装置の動作を示すフローチャートである。以下、図22に示す第7の実施形態の動作との相違点を中心に説明する。
図25の本実施形態の動作と図22に示す第7の実施形態の動作とを比較すると、本実施形態では統合解析値が閾値未満の時間が一定時間以上継続した場合、データ記憶部301の初期化を行う点が異なる。図25のステップS71〜ステップS75の動作は、図22のステップS61〜S65の動作と同じなので、説明を省略する。
データ選択記憶部901の選択制御部801は、算出した統合解析値が閾値以上である場合(ステップS76、Yes)、その統合解析値を算出したフレームの周波数領域入力信号を、データ記憶部301に格納し(ステップS77)、ステップS78に進む。
選択制御部801は、算出した統合解析値が閾値未満である場合(ステップS76、No)、統合解析値が継続して所定の閾値未満である時間を測定する(ステップS79)。ステップS79で測定した時間が所定の閾値未満の場合(ステップS80、No)、ステップS78に進む。ステップS79で測定した時間が所定の閾値以上の場合(ステップS80、Yes)、選択制御部900は、データ記憶部301に記憶されている周波数領域入力信号を全て破棄する初期化を行い(ステップS81)、現フレームに対する処理を終了する。
ステップS78において、分離行列生成部102は、データ記憶部301に格納されている複数フレームの周波数領域入力信号に基づいて、分離行列を生成する(ステップS78)。
以上のように、本実施形態には、第7の実施形態と同様、分離性能の劣化を低減するという効果がある。
その理由は、本実施形態の信号分離装置は、無音状態を表す解析値と音源信号の同時存在状態を表す解析値とを用いて算出した統合解析値に基づき選択した、複数の周波数領域入力信号を用いて分離行列を算出する構成を有するからである。
本実施形態には、さらに、無音状態中あるいは非同時存在中に音源移動などの環境変化が生じても、生じた環境の変化に速やかに追従できると言う効果がある。すなわち、本実施形態には、無音状態中あるいは非同時存在状態中に環境変化が生じた場合、無音状態あるいは非同時存在状態の終了後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、算出した無音状態または非同時存在状態であるか否かを表す統合解析値に基づき、無音状態または非同時存在状態の継続時間に応じてデータ記憶部301を初期化するように構成されているからである。本実施形態の統合解析値は、所定の値以下である場合、無音状態または非同時存在状態であるとみなすことができる。無音状態または非同時存在状態が一定時間以上継続した場合データ記憶部301を初期化するので、その間に環境変化が生じた場合、環境変化後において、環境変化前の周波数領域入力信号がデータ記憶部301に含まれない。これにより、環境変化後の分離行列の生成において、環境変化前の周波数領域入力信号は学習に使われない。また、音源移動などの環境変化後の周波数領域入力信号を新たに記憶することができる。従って、環境変化後の状態を反映した分離行列を速やかに算出することができるため、無音状態または非同時存在状態の終了後の追従性を改善するという効果が得られる。
[第9の実施形態]
次に、本発明の第9の実施形態について図面を参照して詳細に説明する。
図26は本実施形態の信号分離装置の構成を表す図である。
図26を参照すると、本実施形態の構成は、データ選択記憶部802の代わりにデータ選択記憶部1002を含む点のみが、図20に示す第7の実施形態の構成と異なり、他の構成は同じである。以下、本実施形態と第7の実施形態の相違点を中心に説明する。
図27は本実施形態のデータ選択記憶部1002の構成を表す図である。
図27を参照すると、本実施形態のデータ選択記憶部1002は、入力信号解析部1000と、選択制御部1001と、データ記憶部301とを含む。
入力信号解析部1000は、図4に示す第2の実施形態の入力信号解析部200と同様の動作により、無音状態を表す解析値を算出し、選択制御部1001に出力する。また、入力信号解析部1000は、図10に示す第4の実施形態の入力信号解析部500と同様の動作により、音源信号の同時存在状態を表す解析値を算出し、選択制御部1001に出力する。また、入力信号解析部1000は、図18に示す第6の入力信号解析部700と同様の動作により、前述の、周波数領域分離信号の類似度SYiYjを算出し、選択制御部1001に出力する。さらに、入力信号解析部1000は、周波数領域入力信号と周波数領域分離信号の類似度SXiYjを算出し、選択制御部1001に出力する。入力信号解析部1000は、SXiYjを、例えば、i番目の周波数領域入力信号Xi(f)とj番目の周波数領域分離信号Yj(f)を用いて、次式に従って算出してもよい。
数8において、、Nは周波数変換の変換ブロック長の1/2を、*は複素共役を表している。
また、入力信号解析部1000は、SXiYjを、例えば、次式に従って算出してもよい。
選択制御部1001は、無音状態を表す解析値及び音源信号の同時存在状態を表す解析値の、2つの解析値を統合した統合解析値を算出する。選択制御部1001は、例えば、2つの解析値の相加平均値あるいは相乗平均値を統合解析値とすればよい。選択制御部1001は、図10に示す第4の実施形態の選択制御部201と同様の動作により、統合解析値に基づき更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部301に出力する。
また、選択制御部1001は、前述のSYiYj及びSXiYjの2つの類似度を統合した統合類似度を算出する。選択制御部1001は、例えば、SYiYjとSXiYjの相加平均値あるいは相乗平均値を統合類似度とする。選択制御部1001は、算出した統合類似度に基づき、データ記憶部301に記憶されている周波数流域入力信号を初期化するための初期化情報を設定し、データ記憶部301に出力する。選択制御部1001は、例えば、統合類似度が閾値以上であれば、環境変化が生じたとみなし、初期化情報を1に設定すればよい。選択制御部1001は、統合類似度が閾値未満であれば、初期化情報を0に設定すればよい。なお、正しい分離行列が算出できていれば、周波数領域入力信号と周波数領域分離信号は互いに異なる信号となるので、SXiYjは小さくなる。したがって、SXiYjが大きければ、分離行列が適切ではない、つまり、環境変化が生じたとみなすことができる。
また、選択制御部1001は、無音状態を表す解析値と、音源信号の同時存在状態を表す解析値と、統合解析値との3種類の解析値の内、一つの解析値を使用して、前述の実施形態と同様の動作により更新情報を設定してもよい。また、選択制御部1001は、周波数領域分離信号の類似度と、周波数領域入力信号と周波数領域分離信号の類似度と、統合類似度との3種類の類似度の内、一つの類似度を使用して、前述の実施形態と同様の動作により初期化情報を設定してもよい。
また、更新初期化制御部1001は、更新情報の設定に用いた解析値を使用して前述の実施形態と同様の動作により継続時間を測定し、継続時間と類似度を組み合わせて初期化情報を設定してもよい。更新初期化制御部1001は、例えば、類似度と継続時間の少なくともどちらか一方が閾値以上であれば初期化情報を1に設定すればよい。更新初期化制御部1001は、類似度と継続時間が共に閾値未満であれば初期化情報を0に設定すればよい。
なお、音源信号の非同時状態を表す解析値を使用して更新情報を設定し、周波数領域分離信号の類似度を使用して初期化情報を設定する場合は、第6の実施形態と同様の効果が得られる。また、無音状態を表す解析値を使用して更新情報と初期化情報を設定する場合は、第3の実施形態と同様の効果が得られる。また、音源信号の同時存在状態を表す解析値を使用して更新情報と初期化情報を設定する場合は、第5の実施形態と同様の効果が得られる。また、統合解析値を使用して更新情報と初期化情報を設定する場合は、第8の実施形態と同様の効果が得られる。
データ記憶部301は複数フレームの周波数領域入力信号を記憶し、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶すればよい。また、データ記憶部301は、初期化情報が1ならば、記憶している周波数領域入力信号を全て破棄すればよい。
次に、本実施形態の信号分離装置全体の動作について、図面を参照して詳細に説明する。
図28は本実施形態の信号分離装置の動作を表すフローチャートである。ここでは、本実施形態の動作と、図25に示す第8の実施形態の動作との相違点を中心に説明する。
図28と、図25に示す第8の実施形態の動作とを比較すると、図28のステップS82からステップS85と、ステップS89の動作は、図25のステップS71からステップS74の動作と、ステップS75の動作と同じであるので、説明を省略する。また、ステップS86の動作は、図19のステップS55の動作と同じであるので、説明を省略する。
選択制御部1001は、ステップS86の後、周波数領域入力信号と周波数領域分離信号の類似度SXiYjを算出する(ステップS87)。選択制御部1001は、統合解析値を算出(ステップS88)した後、ステップS86及びステップS87で算出した2つの類似度から、統合類似度を算出する(ステップS89)。算出した統合類似度が所定の閾値以上の場合(ステップS90、Yes)、選択制御部1001は、データ記憶部301に格納されている周波数領域入力信号を全て破棄する初期化を行い(ステップS96)、現フレームに対する処理を終了する。算出した統合類似度が所定の閾値未満の場合(ステップS90、No)、ステップS91に進む。
ステップS91からステップS96の動作は、第8の実施形態のステップS71からステップS81の動作と同じであるので、説明を省略する。
以上のように、本実施形態には、第7の実施形態と同様、分離性能の劣化を低減するという効果がある。
その理由は、本実施形態の信号分離装置は、無音状態を表す解析値と音源信号の同時存在状態を表す解析値とを用いて算出した統合解析値に基づき選択した、複数の周波数領域入力信号を用いて分離行列を算出する構成を有するからである。
また、本実施形態には、第8の実施形態と同様、無音状態中あるいは非同時存在中に音源移動などの環境変化が生じても、生じた環境の変化に速やかに追従できると言う効果がある。すなわち、本実施形態には、無音状態中あるいは非同時存在状態中に環境変化が生じた場合、無音状態あるいは非同時存在状態の終了後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、算出した無音状態または非同時存在状態であるか否かを表す統合解析値に基づき、無音状態または非同時存在状態の継続時間に応じてデータ記憶部301を初期化するように構成されているからである。無音状態または非同時存在状態が一定時間以上継続した場合データ記憶部301を初期化するので、その間に環境変化が生じた場合、環境変化後において、環境変化前の周波数領域入力信号がデータ記憶部301に含まれない。これにより、環境変化後の分離行列の生成において、環境変化前の周波数領域入力信号は学習に使われない。また、音源移動などの環境変化後の周波数領域入力信号を新たに記憶することができる。従って、環境変化後の状態を反映した分離行列を速やかに算出することができるため、無音状態または非同時存在状態の終了後の追従性を改善するという効果が得られる。
本実施形態には、さらに、音源移動等の環境変化が生じても、生じた環境の変化に速やかに追従できるという効果がある。すなわち、環境が変化した後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、周波数領域分離信号間の類似度と、周波数領域入力信号と周波数領域分離信号との間の類似度とにより算出した統合類似度を用いて音源移動などの環境変化を検出し、その結果に基づきデータ記憶部301を初期化するように構成されているからである。そのため、環境変化が生じた場合、環境変化後において、環境変化前の周波数領域入力信号がデータ記憶部301に含まれない。これにより、環境変化後の分離行列の生成において、環境変化前の周波数領域入力信号は学習に使われない。また、音源移動などの環境変化後の周波数領域入力信号を新たに記憶することができる。従って、環境変化後の状態を反映した分離行列を速やかに算出することができるため、環境変化時の追従性を改善することができる。
[第10の実施形態]
図34は本実施形態の信号分離装置の構成を表すブロック図である。
図34を参照すると、本実施形態の信号分離装置は、コンピュータ1と、信号入力部2と、分離信号出力部3と、プログラム記憶部4を含む。
コンピュータ1は、プログラム記憶部4が記憶するプログラムを実行するCPU10(Central Processing Unit)と、データ記憶部5を含む。
信号入力部2は、コンピュータ1に入力信号を入力する。信号入力部2は、例えば、音声を入力する複数のマイクロホンなどの、コンピュータ1に信号を入力する複数のセンサである。
分離信号出力部3は、コンピュータ1から分離信号を出力する。分離信号出力部3は、例えば、音声を出力する複数のスピーカである。また、分離信号出力部3は、例えば、複数の信号の波形を画像として表示する表示装置や、複数の信号のデータを格納するための記憶媒体であってもよい。
プログラム記憶部4は、コンピュータ1を、第1〜第9の実施形態のいずれかの信号分離装置として動作させるためのプログラムを記憶する。コンピュータ1は、プログラム記憶部4が記憶するプログラムを読み出すことができる。プログラム記憶部4は、例えば、CD−ROM(Compact Disc Read Only Memory)やUSB(Universal Serial Bus)メモリ等の取り外し可能な媒体やハードディスク装置などの記録媒体である。
データ記憶部5は、例えば、ハードディスク装置などの記憶装置である。データ記憶部5は、前述のデータ記憶部202又はデータ記憶装置301として動作する。
第1〜第9の実施形態の信号分離装置は、本実施形態のプログラム記憶部4が記憶するプログラムとコンピュータ1によって実現されてもよい。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
この出願は、2009年12月18日に出願された日本国出願特願2009−287676を基礎とする優先権を主張し、その開示の全てをここに取り込む。
次に、本発明について図面を参照して詳細に説明する。
図1は本発明の信号分離装置の第1の実施形態の構成を表す図である。
図1を参照すると、本実施形態に係る信号分離装置は、分離行列生成部102と、入力信号解析部200と、選択制御部201と、データ記憶部202とを含む。
分離行列生成部102は、データ記憶部202から読み出した周波数領域入力信号から、周波数領域入力信号を信号源毎の信号に分離するための分離行列を生成する。分離行列の生成は、例えば、所定の分離行列の初期値をもとに、周波数領域入力信号によって学習を行うことで行う。入力信号解析部200は周波数領域入力信号を受信し、周波数領域入力信号が前述の学習に適するか否かを判断する。選択制御部201は、入力信号解析部200が学習に適すると判断した周波数領域入力信号だけを、データ記憶部202に格納する。分離行列生成部102は、データ記憶部202に格納されている周波数領域入力信号によって学習を行い、分離行列を生成する。以下、より詳細な説明を行う。
周波数領域入力信号は、本装置に入力された、図示しない時間領域の複数の入力信号を、それぞれ所定の時間長単位で周波数領域の信号に変換した複数の信号である。本発明の実施形態において行う処理の対象は、所定の時間長毎の信号である。処理を行う信号の単位はフレームと呼ばれる。入力信号は、例えば、複数の信号源が発生した信号を複数のセンサで観測した信号である。複数のセンサで観測した信号には、それぞれ、複数の信号源が発生した信号が混合されている。ただし、複数の信号源の全ての信号源が常に信号を発生しているとは限らない。また、複数の信号のそれぞれに、全ての信号源からの信号が必ず混合されているとは限らない。従って、周波数領域入力信号の全てが、全周波数に渡ってゼロにならないとは限らない。
入力信号解析部200は、後述の分離行列生成部102が分離行列を生成するための学習に使用するのに、入力信号が適しているか否かを、所定の方法で判断し、判断の結果を選択制御部201に通知する。以下、入力信号が分離行列を生成するための学習に使用するのに適する、あるいは、入力信号が分離行列を生成するのに適するとは、入力信号を周波数領域の信号に変換した周波数領域入力信号により分離行列の学習を行った場合に、分離行列による信号分離の分離精度が向上することが期待できることを意味する。逆に、「適しない」は、学習によって分離行列による信号分離の分離精度が劣化することを意味する。
入力信号が分離行列を生成するのに適しているか否かを判断する方法には、例えば、例えば所定の時間長の間、全ての入力信号が、信号の値がゼロ又はゼロと見なせる値であるような、無信号の状態であるか否かを解析する方法がある。後述の分離行列生成部102が、無信号である入力信号から分離行列を生成した場合、分離行列の分離精度が低下する。そのため、入力信号が無信号の状態であるなら、入力信号解析部200は、入力信号は分離行列を生成するのに適していないと判断すればよい。逆に、入力信号解析部200は、例えば所定の時間長の間に入力信号のいずれかがゼロではない値をとる、入力信号が無信号でない状態であるなら、入力信号は分離行列を生成するのに適していると判断すればよい。ある入力信号が無信号であるか否かの判断は、例えば、入力信号を周波数領域の信号に変換した周波数領域入力信号のパワーが、全ての周波数領域入力信号でゼロである場合に無信号であると判断するなどすればよい。
また、分離行列生成部102が、複数の信号源のうちいずれかの信号源からの信号が含まれていない入力信号によって学習を行い、分離行列を生成した場合、分離行列の分離精度が低下する。従って、いずれかの信号源からの信号が複数の入力信号のどれにも含まれていない場合、分離行列を生成するのに適していないと判断する方法もある。学習によって分離行列の分離精度が高くなっている状態であれば、分離行列により生成した分離信号は、個々の信号源が発生する信号になっているはずである。例えば、図示しない、生成した分離行列による分離後の分離信号に、所定の時間長の間、値がゼロとなる信号が含まれている場合、いずれかの信号源からの信号が入力信号のどれにも含まれていないと判断することができる。
入力信号解析部200が、入力信号は分離行列を生成するのに適すると判断した場合、選択制御部201は、周波数領域入力信号をデータ記憶部202に格納する。一方、入力信号解析部200が、入力信号は分離行列を生成するのに適しないと判断した場合、選択制御部201は、周波数領域入力信号をデータ記憶部202に格納しない。データ記憶部202に新たに格納するための領域がない場合、選択制御部201は、例えば、データ記憶部202に格納されている周波数領域入力信号のデータのうち、格納してからの経過時間が最も長いものを破棄して新たなデータを格納する。
データ記憶部202は、格納された周波数領域入力信号を、経過時間を表す情報と関連付けて記憶する。経過時間を表す情報には、例えばフレーム番号がある。フレーム番号は、例えば昇順に付与された各フレームの番号である。
分離行列生成部102は、データ記憶部202に格納されている過去分を含む複数フレームの周波数領域入力信号を、データ記憶部202から読み出す。読み出す際、例えばデータ記憶部202に格納されている全ての周波数領域入力信号を読み出してもよいし、何らかの手段で選択した一部の周波数領域入力信号を読み出してもよい。分離行列生成部102は、読み出した周波数領域入力信号を用いて、周波数領域入力信号を信号源毎の周波数領域分離信号に分離するための分離行列を生成する。後述するように、分離行列は、信号源毎に分離した周波数領域分離信号の、特定の周波数帯域における値を要素とするベクトルを生成する行列である。分離行列生成部102は、周波数帯域毎に分離行列を生成する。この分離行列を、対応する周波数帯域における複数の周波数領域入力信号の値を要素とするベクトルに掛けることで、その周波数帯域における周波数領域分離信号が算出される。全ての周波数帯域について求めた周波数領域分離信号を時間領域の信号に変換することで、信号源毎の分離信号が生成される。分離行列の生成は、例えばICA(独立成分分析)に基づく学習によって行うことができる。ICAに基づく分離行列生成法の例は後述する。
次に、本実施形態の動作について、図面を参照して詳細に説明する。
図2は、本実施形態に係る信号分離装置の動作を示す図である。
図2を参照すると、まず、入力信号解析部200が、入力された周波数領域入力信号が分離行列を生成するのに適するか否かを判断する(ステップS1)。ステップS1における判断の結果、周波数領域入力信号が分離行列を生成するのに適する信号である場合(ステップS2、Yes)、選択制御部201は、周波数領域入力信号をデータ記憶部202に記憶し(ステップS3)、ステップS4に進む。周波数領域入力信号が分離行列を生成するのに適しない信号である場合(ステップS2、No)、ステップS4に進む。
次に、分離行列生成部102は、データ記憶部202に格納されている周波数領域分離信号の一部又は全部を読み出し、読み出した周波数領域分離信号をもとに、分離行列を生成する(ステップS4)。
本実施形態の信号分離装置は、フローチャートに示す「スタート」から「リターン」までの動作を、フレーム毎に繰り返す。なお、後述の他の実施形態でも同様に、それぞれの実施形態の動作を表すフローチャートに示す「スタート」から「リターン」までを、フレーム毎に繰り返す。
本実施形態には、信号分離に適さない信号が入力されても、分離性能の劣化を抑えることができるという効果がある。
その理由は、入力信号が分離行列の生成に適するか否かを判断し、分離行列の生成に適する入力信号のみをデータ記憶部202に格納し、データ記憶部202に格納されている現在及び過去のものを含む分離行列の生成に適する複数フレームの周波数領域入力信号から分離行列を生成するからである。
[第2の実施形態]
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。
図3は本実施形態の構成を表す図である。
図3を参照すると、本実施形態に係る信号分離装置は、周波数変換部100と、データ選択記憶部101と、分離行列生成部102と、分離信号生成部103と、逆周波数変換部104とを含む。
周波数変換部100は所定の時間長のフレーム単位で入力信号に対して周波数変換を施し、周波数領域入力信号を生成し、データ選択記憶部101と分離信号生成部103に出力する。周波数変換部100は、例えば、DFTによって、この周波数変換を行うことができる。なお、周波数変換の変換ブロック長は、フレームと同じ時間長でもよいし、フレームより長い時間長でもよい。変換ブロック長がフレームより長い場合、周波数変換部100は、例えば、フレーム長の2倍の長さ変換ブロック長に対して周波数変換を行うことができる。この場合、周波数変換部100は、例えば、現フレームとその1フレーム前のフレームで構成される変換ブロックに対して周波数変換を行えばよい。
なお、以下では、入力信号が、複数の音源が発生した音を複数のセンサによって観測することで得られる信号であるとして説明を行う。
データ選択記憶部101は、入力された周波数領域入力信号のうち、分離行列を生成するのに適したフレームの周波数領域入力信号だけを記憶する。また、データ選択記憶部101は、記憶している複数フレーム分の周波数領域入力信号を、分離行列を生成する分離行列生成部102に送信する。
次に、本実施形態におけるデータ選択記憶部101の構成を、図面を参照して詳細に説明する。
図4は、本実施形態に係る信号分離装置のデータ選択記憶部101の構成を表す図である。
図4を参照すると、データ選択記憶部101は、入力信号解析部200と、選択制御部201と、データ記憶部202とを含む。
入力信号解析部200は、入力信号が、分離行列を生成するのに適するか否かを判断し、判断結果を選択制御部201に通知する。以下で述べるように、本実施形態の例では、入力信号解析部200が、入力信号が無音状態であるか否かを判断することで、入力信号が分離行列を生成するのに適するか否かの判断を行う。また、本実施形態の例では、入力信号解析部200が、周波数領域入力信号を解析することにより、入力信号が無音状態であるか否かの判断を行う。さらに、入力信号解析部200は、解析値と呼ぶ値を送信することで、選択制御部201に対して判断結果の通知を行う。ただし、解析値の送信は、判断結果の通知方法の一例である。判断結果の通知方法は、解析値の送信に限られるものではない。同様に、本実施形態を含む全ての実施形態に記載する判断及び通知の方法はあくまで例であり、本願発明の範囲は実施形態の記載に限られるものではない。
入力信号解析部200は、周波数領域入力信号を解析して、入力信号が無音状態であるか否かを判断する。入力信号解析部200は、入力信号が無音状態であるか否かの判断結果を解析値として表し、その解析値を選択制御部201に出力する。入力信号解析部200は、例えば、周波数領域入力信号のパワーを各々測定することで、周波数領域入力信号の解析を行えばよい。また、入力信号解析部200は、全てのパワーが閾値より小さい場合無音状態と判断し、それ以外の場合有音状態と判断すればよい。入力信号解析部200は、例えば、入力信号が無音状態であると判断した場合、解析値を0に、入力信号が有音状態であると判断した場合、解析値を1にすればよい。
選択制御部201は、入力信号が有音状態であれば周波数領域入力信号をデータ記憶部202に出力し、入力信号が無音状態であれば周波数領域入力信号を出力しない。入力信号解析部200が上述のように解析値を設定する場合、選択制御部201は、解析値が1ならば周波数領域入力信号をデータ記憶部202に出力すればよい。また、選択制御部201は、解析値が0ならば周波数領域入力信号を出力しなければよい。また、選択制御部201は、周波数領域入力信号を出力する場合、周波数領域入力信号をデータ記憶部202内に記憶するための更新情報をデータ記憶部202に出力する。この更新情報は、選択制御部201が出力する周波数領域入力信号を、新たにデータ記憶部202内に格納する際、代わりに破棄するデータ記憶部202内の周波数領域入力信号を指定するための情報である。更新情報は、例えば、データ記憶部202に記憶されている周波数領域入力信号の中で、記憶されてからの経過時間が最も長い周波数領域入力信号のフレーム番号である。選択制御部201は、データ記憶部202に記憶されている周波数領域入力信号のフレーム番号と、現周波数領域入力信号のフレーム番号の差分をもとに、経過時間を算出できる。
データ記憶部202は、複数フレームの周波数領域入力信号を記憶し、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶する。
また、解析値として前述のような2値ではなく連続値を用いてもよい。この場合、入力信号解析部200と選択制御部201は次のように動作する。
入力信号解析部200は、周波数領域入力信号を解析し、無音状態を表す解析値を選択制御部201に出力する。入力信号解析部200は、出力する解析値の設定を、例えば次のように行うことができる。入力信号解析部200は、例えば、周波数領域入力信号のパワーを測定し、パワーが下限閾値より小さい場合、無音状態とみなして解析値を0にすればよい。入力信号解析部200は、パワーが上限閾値以上の場合、有音状態とみなし解析値を1にすればよい。入力信号解析部200は、その他の場合は、周波数領域入力信号のパワーに応じた補間処理を行って算出した0から1の数値を、解析値にすればよい。入力信号解析部200は、この補間処理に、例えば、線形補間を用いることができる。
選択制御部201は、データ記憶部202が記憶する各フレームに対応する解析値を保持する。選択制御部201は、データ記憶部202に記憶されている複数フレームの中で、解析値が最も小さいフレームのフレーム番号を更新情報として設定し、周波数領域入力信号と更新情報をデータ記憶部202に出力する。選択制御部201は、このように解析値として連続値を用いることで、解析値が小さいフレーム、すなわち、無音状態に近いフレームから順に破棄させることができる。この場合、解析値として前述のような2値を用いる場合より、データ記憶部202は信号分離に適した周波数領域入力信号を記憶できる。
また、入力信号解析部200が、前述のように、連続値の解析値を選択制御部201に出力する場合、選択制御部201は次のように動作してもよい。
選択制御部201は、データ記憶部202に記憶されてから所定の時間経過したフレームが存在する場合、そのフレーム番号を更新情報として設定する。データ記憶部202に記憶されてから所定の時間経過したフレームが存在しない場合、選択制御部201は、データ記憶部202に記憶されている複数フレームの中で解析値が最も小さいフレームのフレーム番号を更新情報として設定する。選択制御部201は、周波数領域入力信号と、以上のように設定した更新情報をデータ記憶部202に出力する。データ記憶部202に記憶されてからの経過時間は、前述と同様に算出できる。
また、選択制御部201は、次のように動作してもよい。選択制御部201は、データ記憶部202に記憶されている各フレームの解析値を、新たなフレームが入力される毎に少しずつ0に近づけてく。選択制御部201は、解析値が最も小さいフレームのフレーム番号を更新情報として設定し、周波数領域入力信号と更新情報をデータ記憶部202に出力する。選択制御部201は、例えば、新たなフレームが入力される毎に各フレームの解析値に係数α(0.0<α<1.0)を乗算することで、解析値を少しずつ0に近づけることができる。
次に、図3に戻り、分離行列生成部102の動作を説明する。分離行列生成部102は、図4のデータ記憶部202から読み出した複数フレームの周波数領域入力信号を用いて分離行列を学習計算し、計算した分離行列を分離信号生成部103に出力する。分離行列生成部102は、例えば、ICAを用いて、分離行列の学習計算を行うことができる。以下、ICAに基づく分離行列の学習計算について説明する。次式のXi(f),i=1,2,…M(Mは入力チャンネル数)は、ある周波数帯域fにおける周波数領域入力信号である。また、Yi(f),i=1,2,…,N(Nは出力チャンネル数)は、周波数領域分離信号である。分離行列生成部102は、次式を満たす分離行列の周波数成分(以下、分離行列と表記する)W(f)を計算する。
数3のμはステップサイズであり、Iは単位行列である。また、S(f)は周波数領域分離信号の独立性を評価する統計量である。分離行列生成部102は、次式によってS(f)を算出する。
分離行列生成部102は、例えば、過去の学習計算で算出した分離行列を、数3の繰返し更新の初期値にすることができる。
分離信号生成部103は、周波数領域入力信号と分離行列とから周波数領域分離信号を生成し、逆周波数変換部104に出力する。
逆周波数変換部104は、逆周波数変換により、周波数領域分離信号を分離信号に変換する。逆周波数変換部104は、例えば、IDFTを用いて、この逆周波数変換を行うことができる。なお、逆周波数変換部104による逆周波数変換の変換ブロック長は、前述の周波数変換部100による周波数変換の変換ブロック長と同じである。例えば、周波数変換部100が、フレーム長の2倍の変換ブロック長で周波数変換を行った場合、逆周波数変換部104は、現フレームの変換ブロックとその1つ前のフレームの変換ブロックとが重複する区間の分離信号が出力する。
次に本実施形態の信号分離装置全体の動作について、図面を参照して詳細に説明する。
図5は本実施形態の信号分離装置の動作を示すフローチャートである。
図5によると、本実施形態の信号分離装置の周波数変換部100は、まず、入力信号を周波数領域の信号に変換して周波数領域入力信号を生成する(ステップS11)。データ選択記憶部101の入力信号解析部200は、生成された周波数領域入力信号を解析し、入力信号が無音状態であるか否かを判断する(ステップS12)。入力信号が無音状態である場合(ステップS13、Yes)、ステップS15に進む。入力信号が無音状態でない場合(ステップS13、No)、選択制御部201は、入力信号を変換した周波数領域入力信号を、データ記憶部202に格納し(ステップS14)、ステップS15に進む。
分離行列生成部102は、データ記憶部202に格納されている複数フレームの周波数領域入力信号によって学習を行い、分離行列を生成する(ステップS15)。
分離信号生成部103は、分離行列生成部102が生成した分離行列により、周波数領域入力信号から、周波数領域分離信号を生成する(ステップS16)。逆周波数変換部104は、分離信号生成部103が生成した周波数領域分離信号を、逆周波数変換により時間領域の信号に変換することで、分離信号を生成する(ステップS17)。
本実施形態の処理過程は、周波数変換部100と、データ選択記憶部101と、分離信号生成部103と、逆周波数変換部104とで構成される処理過程と、分離行列生成部102で構成される処理過程とに大別できる。本実施形態の信号分離装置を実時間で動作させる場合、分離信号を出力するため、前者の処理過程の各処理部は、後者の処理過程と異なり毎フレーム動作する必要がある。もし、2つの処理過程の処理時間が合わせて1フレームの時間長以下ならば、図30に示すように各処理部を順次に動作させてもよい。図30は、入力信号に対する各処理部での順次処理のタイミングを示す図である。なお、図30のnはある時刻におけるフレームのフレーム番号であり、Tcは周波数変換部100の処理時間であり、Tmはデータ選択記憶部101の処理時間であり、Twは分離行列生成部102の処理時間であり、Tsは分離信号生成部103の処理時間であり、Tc’は逆周波数変換部104の処理時間である。この場合、各処理部は、周波数変換部100、データ選択記憶部101、分離行列生成部102、分離信号生成部103、逆周波数変換部104の順序で動作する。このように各処理部が順次動作する場合、本信号分離装置は、現フレームの周波数領域入力信号を用いて学習計算した分離行列を使用して、現フレームの周波数領域入力信号の分離を行うため、好適な分離性能を得ることができる。
しかし、一般に分離行列生成部102の処理時間は非常に長いため、前述の2つの処理過程の処理時間の合計が1フレームの時間長を超えることが多い。この場合は、本実施形態を実時間で動作させるために、図31に示すように分離行列生成部102を1フレームにつき、TwM=Tw/Mの時間区間のみ動作させ、Mフレームで1回の学習計算を行ってもよい。図31は、入力信号に対する各処理部での順次処理と学習計算処理のタイミングを示す図である。ただし、MはTwM≦(1フレームの時間長)−(Tc+Tm+Ts+Tc’)を満たす値である。この場合、各処理部は、例えば、周波数変換部100、データ選択記憶部101、分離信号生成部103、逆周波数変換部104、分離行列生成部102の順序で動作する。各処理部がこの順番で動作する場合、分離行列生成部102の学習計算はフレームn+Mで終了し、分離信号生成部103は、学習結果である分離行列をフレームn+M+1の処理で利用することができる。なお、分離行列生成部102はMフレームで1回の学習計算を行うため、分離行列生成部102が学習計算している間に入力されたMフレームの周波数領域入力信号を一時記憶するバッファが別途必要となる。
図32に示すように、前述の2つの処理過程は並列に動作してもよい。図32は並列処理した場合のタイミングを示す図である。この場合、周波数変換部100、データ選択記憶部101、分離信号生成部103、逆周波数変換部104は毎フレーム動作する。また、分離行列生成部102は、分離行列の学習計算に要する処理時間Twより大きい整数の中で最も小さい整数Mフレームごとに学習計算を行う。この場合、分離信号生成部103は、フレームn+Mで得られた新しい分離行列を、フレームn+M+1の処理で利用することができる。なお、分離行列生成部102が学習計算している間に入力されたMフレームの周波数領域入力信号を一時記憶するバッファが別途必要となる。
以上のように、本実施形態には、入力信号が無音状態である場合の分離性能の劣化を軽減する効果がある。
その理由は、本実施形態の信号分離装置は、入力信号解析部200と選択制御部201を含み、分離行列を算出するための信号として、分離行列の学習の際に行う統計量の算出に適した有音状態の周波数領域入力信号を複数選択するからである。本実施形態の信号分離装置は、選択された複数の有音状態の周波数領域入力信号を用いて分離行列を算出することで、無音である入力信号によって学習を行うことによる分離性能の劣化を低減することができる。
[第3の実施形態]
次に、本発明の第3の実施形態について図面を参照して詳細に説明する。
図6は本実施形態の信号分離装置の全体の構成を表す図である。
本実施形態は、データ選択記憶部101の代わりに、データ選択記憶部101と構成及び動作が異なるデータ選択記憶部302を構成に含む点のみが、図3に示す本発明の第2の実施形態と異なる。本実施形態の他の構成は、第2の実施形態の構成と同じである。以下、本実施形態と第2の実施形態との相違点を中心に説明する。
図7は本実施形態のデータ選択記憶部302の構成を表す図である。以下、図7を参照してデータ選択記憶部302の構成と動作を説明する。
図7を参照すると、本実施形態のデータ選択記憶部302は、入力信号解析部200と、選択制御部300と、データ記憶部301とを含む。
入力信号解析部200は、第2の実施形態で説明したように無音状態を表す解析値を算出し、解析値を選択制御部300に出力する。
選択制御部300は図4に示す第2の実施形態の選択制御部201と同様の動作により、解析値に基づき更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部301に出力する。また、選択制御部300は、データ記憶部301に記憶されている周波数領域入力信号を初期化するための初期化情報を無音状態の継続時間に応じて設定し、初期化情報をデータ記憶部301に出力する。初期化情報は、選択制御部300が、データ記憶部301に記憶されている周波数領域入力信号を全て消去する初期化を行うか否かを、データ記憶部301に通知するための情報である。
無音状態が一定時間継続した場合、無音状態中に、音源の位置が変化するなどの環境変化が生じている可能性がある。環境変化が生じた場合、その時点でデータ記憶部301に格納されている周波数領域入力信号は、環境変化前のものである。無音状態が一定時間継続した場合、分離行列を生成する前にデータ記憶部301の初期化を行うことで、環境変化が生じていたとしても、環境変化後の周波数領域入力信号のみを使用して分離行列生成のための学習を行うことができる。環境変化が生じた可能性があるとみなす無音状態の継続時間は、環境に応じて適宜選択すればよい。
選択制御部300は、例えば、解析値が所定の閾値より小さい無音状態の継続時間を測定し、継続時間が所定の閾値以上の場合、データ記憶部301に記憶されている周波数領域入力信号を初期化するために、初期化情報に1を設定すればよい。一方、継続時間が所定の閾値以上でない場合、選択制御部300は、初期化情報に0を設定すればよい。この例では、初期化情報は、1である場合、データ記憶部301が記憶する周波数領域入力信号を全て破棄する初期化を行うことを意味し、0である場合、初期化を行わないことを意味する。
データ記憶部301は、複数フレームの周波数領域入力信号を記憶する。データ記憶部301は、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶する。また、データ記憶部301は、入力された初期化情報が1ならば記憶している周波数領域入力信号を全て破棄すればよい。
以上の例では、選択制御部300は、初期化情報をデータ記憶部301に送信することで、データ記憶部301が記憶している周波数領域入力信号の、初期化の指示を行っていた。また、データ記憶部301は、受け取った初期化情報の値が初期化を指示するものであれば、記憶している周波数領域入力信号を全て廃棄していた。しかし以上のような構成は一例であり、必ずしもこの構成に限られるものではない。
次に、本実施形態の信号分離装置全体の動作について、図面を参照して詳細に説明する。
図8は本実施形態の信号分離装置全体の動作を表すフローチャートである。以下、本実施形態の動作と、図5に示す第2の実施形態の動作の相違点を中心に説明する。
図5と図8とを比較すると、図8のステップS21〜S24、S28〜S30は、それぞれ図5のステップS11〜S14、S15〜S17に対応する。
周波数変換を行ってから(ステップS21)、入力信号が無音状態であるか否かを判定し(ステップS22)、入力信号が無音状態でない場合(ステップS23、No)周波数領域入力信号をデータ記憶部301に格納する(ステップS24)までの本実施形態の信号分離装置の動作は、第2の実施形態の動作におけるステップS11〜S14と同じである。
入力信号解析部200が、入力信号が無音であると判断した場合(ステップS23、Yes)、選択制御部300は、無音状態の継続時間を計測する(ステップS25)。無音状態の継続時間が所定の時間未満である場合(ステップS26、No)、分離行列生成部102は、データ記憶部301に格納されている複数フレームの周波数領域入力信号によって分離行列を生成し(ステップS28)、ステップS29に進む。
無音状態の継続時間が所定の時間以上である場合(ステップS26、Yes)、選択制御部300はデータ記憶部301を初期化し、データ記憶部301に格納されている周波数領域入力信号を全て破棄し(ステップS27)、ステップS29に進む。この場合、データ記憶部301に格納されている周波数領域入力信号は無くなるので、分離行列の生成は行わず、現在の分離行列をそのまま使用する。
分離信号生成部103は、分離行列により、周波数領域入力信号から周波数領域分離信号を生成する(ステップS29)。逆周波数変換部104は、生成された周波数領域分離信号を時間領域の信号に変換し、分離信号を生成する(ステップS30)。
以上のように、本実施形態には、第2の実施形態と同様に、入力信号が無音状態である場合に、分離性能の劣化を軽減するという効果がある。
その理由は、本実施形態の信号分離装置は入力信号解析部200と選択制御部300を含み、第2の実施形態と同様に、分離行列の学習の際に行う統計量の算出に適した有音状態の周波数領域入力信号を複数選択するからである。分離行列生成部102が、選択された複数の有音状態の周波数領域入力信号を用いて分離行列を算出することで、入力信号が無音状態である場合に、分離性能の劣化を軽減することができる。
本実施形態には、さらに、無音状態中に音源移動などの環境変化が生じても、無音状態の終了後に、生じた環境の変化に速やかに追従できると言う効果がある。すなわち、本実施形態には、無音状態中に環境変化が生じた場合、無音状態終了後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、入力信号解析部200が周波数領域入力信号を解析し、無音状態の継続時間に応じて選択制御部300がデータ記憶部301を初期化するように構成されているからである。そのため、無音状態中に音源移動などの環境変化が生じた場合、データ記憶部301は、環境変化後において、環境変化前の周波数領域入力信号を記憶しない。これにより、環境変化後の分離行列の生成において、分離行列生成部102は、環境変化前の周波数領域入力信号を学習に使わない。また、データ記憶部301は、無音状態後の周波数領域入力信号を新たに記憶することができる。従って、本実施形態の信号分離装置は、環境変化後の状態を反映した分離行列を速やかに算出することができるため、無音状態後の追従性が改善するという効果が得られる。
[第4の実施形態]
次に、本発明の第4の実施形態について図面を参照して詳細に説明する。
図9は本実施形態の構成を表す図である。
図9を参照すると、本実施形態は、周波数変換部100と、データ選択記憶部400と、分離行列生成部102と、分離信号生成部401と、逆周波数変換部104とを含む。本実施形態の構成は、分離信号生成部103及びデータ選択記憶部101の代わりに、分離信号生成部401及びデータ選択記憶部400を含む点が、図3に示す第2の実施形態の構成と異なる。本実施形態の分離信号生成部401及びデータ選択記憶部400は、構成と動作が、第2の実施形態の分離信号生成部103及びデータ選択記憶部101と異なる。以下、本実施形態と第2の実施形態との相違点である、分離信号生成部401とデータ選択記憶部400の構成と動作を中心に説明する。
図10は、本実施形態のデータ選択記憶部400の構成を表す図である。
図10を参照すると、第4の実施形態のデータ選択記憶部400は、入力信号解析部500と、選択制御部201と、データ記憶部202とを含む。
入力信号解析部500は、周波数領域分離信号を解析して、入力信号に全ての音源信号が混在しているか否かを判断する。以下、入力信号に全ての音源信号が混在している状態を、(音源信号の)同時存在状態、又は、入力信号は同時存在状態であると表記する。また、入力信号にいずれかの音源信号が混在していない状態を、非同時存在状態、又は、入力信号は非道時存在状態であると表記する。入力信号解析部500は、入力信号が同時存在状態であるか否かの判断の結果を、例えば後述の解析値で表し、その解析値を選択制御部201に出力する。入力信号解析部500は、例えば、周波数領域分離信号のパワーを各々測定し全てのパワーが閾値以上であれば、入力信号は同時存在状態であるとみなし、それ以外であれば入力信号は非同時存在状態であるとみなせばよい。また、入力信号解析部500は、例えば、入力信号が同時存在状態であると判断した場合は解析値を1に設定し、入力信号が非同時存在状態であると判断した場合は解析値を0に設定すればよい。なお、信号分離処理は音源信号の混合過程の逆過程であり、周波数領域分離信号は周波数領域の音源信号とみなすことができるため、周波数領域分離信号を用いた解析により、音源信号の同時存在状態の検出が可能である。
入力信号解析部500が上述のように解析値を設定した場合、選択制御部201は、解析値が1ならば周波数領域入力信号をデータ記憶部202に出力すればよく、解析値が0ならば周波数領域入力信号を出力しなければよい。また、選択制御部201は、周波数領域入力信号を出力する場合、周波数領域入力信号をデータ記憶部202内に記憶するための更新情報をデータ記憶部202に出力する。前述のように、更新情報は、選択制御部201が出力する周波数領域入力信号を、新たにデータ記憶部202内に格納する際、代わりに破棄するデータ記憶部202内の周波数領域入力信号を指定するための情報である。選択制御部201は、例えば、データ記憶部202に記憶されている周波数領域入力信号の中で記憶されてからの経過時間が最も長い周波数領域入力信号のフレーム番号を、更新情報に設定すればよい。経過時間の算出方法は前述の通りである。
データ記憶部202は、複数フレームの周波数領域入力信号を記憶する。データ記憶部202は、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶する。
また、解析値は、2値ではなく連続値であってもよい。この場合、入力信号解析部500と選択制御部201は、例えば次のように動作する。
入力信号解析部500は、周波数領域分離信号を解析し、音源信号の同時存在状態を表す解析値を選択制御部201に出力する。入力信号解析部500は、出力する解析値の設定を、例えば次のように行うことができる。例えば、入力信号解析部500は、周波数領域分離信号のパワーを各々測定し全てのパワーが上限閾値以上の場合、同時存在状態とみなし、解析値を1にすればよい。入力信号解析部500は、下限閾値より小さいパワーが1つでも存在する場合、非同時存在状態とみなし、解析値を0にすればよい。入力信号解析部500は、その他の場合、周波数領域分離信号のパワーに応じた補間処理を行って算出した、0から1の数値を解析値にすればよい。入力信号解析部500は、この補間処理に、例えば、線形補間を用いることができる。
選択制御部201は、第2の実施形態と同じように、連続値の解析値に基づき更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部202に出力する。
また、入力信号解析部500は、前述のような音源信号の同時存在状態又は非同時存在状態を表す2値の解析値ではなく、例えば3値の解析値を用いてもよい。このような解析値は、例えば、同時存在状態を表す値、単独状態(複数の音源信号の内、1つの音源信号だけが存在している状態)を表す値、無音状態を表す値のいずれかを取りうる解析値である。この場合、入力信号解析部500と選択制御部201は、例えば次のように動作する。
入力信号解析部500は周波数領域分離信号を解析し、音源信号の同時存在状態、単独状態、または無音状態のいずれかを表す解析値を選択制御部201に出力する。入力信号解析部500は、出力する解析値の設定を、次の例のように行うことができる。例えば、入力信号解析部500は、まず、周波数領域分離信号のパワーを各々測定する。次に、入力信号解析部500は、全てのパワーが閾値以上の場合、同時存在状態とみなし、解析値を0にする。入力信号解析部500は、全てのパワーが閾値より小さい場合、無音状態とみなし解析値を−1にする。それ以外の場合、入力信号解析部500は、単独状態として最も大きなパワーを持つi番目の周波数領域分離信号の番号i(1≦i≦N,Nは周波数領域分離信号の数)を解析値にする。
選択制御部201は、解析値が0以上ならば周波数領域入力信号をデータ記憶部202に出力すればよく、解析値が−1ならば周波数領域入力信号を出力しなければよい。また、周波数領域入力信号を出力する場合、選択制御部201は、周波数領域入力信号をデータ記憶部202内に記憶させるための更新情報をデータ記憶部202に出力する。
次に、選択制御部201による更新情報の設定方法を、図11、図12を参照して説明する。図11、図12に記載のフレーム番号は、データ記憶部202が記憶する周波数領域入力信号の各フレームに、データ記憶部202の先頭から順に付与した番号である。
図11は、解析値が0の場合の、データ記憶部202内の、周波数領域入力信号を記憶する場所の例を表す図である。図11の例では、周波数領域入力信号の各フレームは、入力の順に、データ記憶部202内のフレーム1、フレーム(L+1)、…、フレーム(L×(N−1)+1)、フレーム2、フレーム(L+2)、…、フレーム(L×(N−1)÷2)、…に記憶される。解析値が0の場合、選択制御部201は、周波数領域入力信号の各フレームが、入力の順に、データ記憶部202内のフレーム1、フレーム(L+1)、…、フレーム(L×(N−1)+1)、フレーム2、フレーム(L+2)、…、フレーム(L×(N−1)+2)、…、に記憶されるよう、データ記憶部202内のフレーム番号を更新情報に設定すればよい。ただし、Lはデータ記憶部202に記憶している周波数領域入力信号の総フレーム数をN等分した数である。
図12は、解析値がi(iは1以上の整数)の場合の、データ記憶部202内の、周波数領域入力信号を記憶する場所の割り当て方の例を表す図である。図12の例では、周波数領域入力信号の各フレームは、入力の順に、データ記憶部202内のフレーム(L×(i−1)+1)、フレーム(L×(i−1)+2)、…、フレーム(L×(i−1)+L)に記憶される。解析値がiの場合、選択制御部201は、周波数領域入力信号の各フレームが、入力の順に、データ記憶部202内のフレーム(L×(i−1)+1)、フレーム(L×(i−1)+2)、…、フレーム(L×(i−1)+L)に記憶されるよう、データ記憶部202内のフレーム番号を更新情報に設定すればよい。
このように更新情報を設定することにより、本実施形態の信号分離装置は、非同時存在状態が長く続く場合でも、データ記憶部202内の周波数領域入力信号を更新できる。さらに、本実施形態の信号分離装置は、各音源信号の周波数領域入力信号を常に保持できるため分離性能の劣化を低減できる。
次に、図9に戻り、分離信号生成部401について説明する。分離信号生成部401は周波数領域入力信号と分離行列とから周波数領域分離信号を生成し、逆周波数変換部104とデータ選択記憶部400に出力する。
次に、本実施形態の信号分離装置全体の動作を、図面を参照して詳細に説明する。
図13は本実施形態の信号分離装置の動作を示すフローチャートである。
図13を参照すると、まず周波数変換部100が、入力信号を周波数領域の信号に変換する周波数変換を行い、周波数領域入力信号を生成する(ステップS31)。
分離信号生成部401は、生成された周波数領域入力信号から、周波数領域分離信号を生成する(ステップS32)。逆周波数変換部104は、周波数領域分離信号を時間領域の信号に変換し、分離信号を生成する(ステップS33)。
一方、データ選択記憶部400の入力信号解析部500は、ステップS32で生成した周波数領域分離信号を解析し、周波数領域入力信号が同時存在状態であるか否かを判断する(ステップS34)。周波数領域入力信号が同時存在状態であるなら(ステップS35、Yes)、選択制御部201は、周波数領域入力信号をデータ記憶部202に格納し(ステップS36)、ステップS37に進む。周波数領域入力信号が同時存在状態でないなら(ステップS35、No)、ステップS37に進む。
分離行列生成部102は、データ記憶部202に格納されている複数フレームの周波数領域分離信号によって、分離行列を生成する(ステップS37)。
以上のような本実施形態を実時間で動作させる場合、本実施形態の処理過程は、2つの処理過程に大別できる。1つ目の処理過程は、周波数変換部100と、データ選択記憶部400と、分離信号生成部401と、逆周波数変換部104とで構成される処理過程である。2つ目の処理過程は、分離行列生成部102で構成される処理過程である。前者の処理過程は分離信号を出力するため、後者の処理過程と異なり各処理部を毎フレーム動作させる必要がある。もし、2つの処理過程の処理時間の合計が1フレームの時間長以下ならば、図33に示すように各処理部を順次に動作させてもよい。なお、図33のnはある時刻におけるフレームのフレーム番号である。Tcは周波数変換部100の処理時間である。Tmはデータ選択記憶部400の処理時間である。Twは分離行列生成部102の処理時間である。Tsは分離信号生成部401の処理時間である。Tc’は逆周波数変換部104の処理時間である。この場合、周波数変換部100、分離信号生成部401、逆周波数変換部104、データ選択記憶部400、分離行列生成部102の順序で動作する。なお、図30を参照して説明した第2の実施形態との差異は、第2の実施形態では周波数変換部100の次に動作していたデータ選択記憶部400が、本実施形態では逆周波数変換部104の次に動作し、これに伴い分離行列生成部102が最後に動作する点である。これは、本実施形態が周波数領域分離信号の解析結果に基づき周波数領域入力信号を記憶するからである。
しかし、一般に分離行列生成部102の処理時間は非常に長いため、前述の2つの処理過程の処理時間の合計が1フレームの時間長を超えることが多い。この場合は、第4の実施形態を実時間で動作させるために、分離行列生成部102は、図34に示すように1フレームにつき、TwM=Tw/Mの時間区間のみ動作し、Mフレームで1回の学習計算を行ってもよい。ただし、MはTwM≦(1フレームの時間長)−(Tc+Tm+Ts+Tc’)を満たす値である。この場合、周波数変換部100、分離信号生成部401、逆周波数変換部104、データ選択記憶部400、分離行列生成部102の順序で動作させてもよい。
なお、図31を参照して説明した第2の実施形態との差異は、第2の実施形態では周波数変換部100の次に動作していたデータ選択記憶部400が、本実施形態では逆周波数変換部104の次に動作する点である。これは、本実施形態は、周波数領域分離信号の解析結果に基づき、周波数領域入力信号を記憶するからである。本実施形態の順番で動作させた場合、分離行列生成部102の学習計算はフレームn+Mで終了する。分離信号生成部401は、その学習の結果である分離行列を、フレームn+M+1の処理で利用することができる。なお、分離行列生成部102は、Mフレームで1回の学習計算を行うため、バッファが必要になる。すなわち、バッファは、分離行列生成部102が学習計算している間に入力されたMフレームの周波数領域入力信号を一時記憶する必要がある。
または、図35に示すように前述の2つの処理過程を並列に動作させてもよい。この場合、周波数変換部100、分離信号生成部401、逆周波数変換部104、データ選択記憶部400は毎フレーム動作する。また、分離行列生成部102は、分離行列の学習計算に要する処理時間Twより大きい整数の中で最も小さい整数Mフレームごとに学習計算を行う。なお、図32を参照して説明した第2の実施形態との差異は、第2の実施形態では周波数変換部100の次に動作していたデータ選択記憶部400は、本実施形態では逆周波数変換部104の次に動作することである。その理由は、本実施形態は、周波数領域分離信号の解析結果に基づき、周波数領域入力信号を記憶するためである。これに伴い、分離行列生成部102の動作タイミングが(Ts+Tc’)分だけ遅くなる。また、分離信号生成部401は、フレームn+Mで得られた新しい分離行列をフレームn+M+1の処理で利用することができる。なお、分離行列生成部102が学習計算している間に入力されたMフレームの周波数領域入力信号を一時記憶するバッファが別途必要となる。
以上のように、本実施形態には、全ての音源の音源信号がどの入力信号にも混在していないことに起因する分離性能の劣化を低減するという効果がある。
その理由は、本実施形態は、全ての音源信号が混在した同時存在状態の周波数領域入力信号を複数選択し、選択された複数の同時存在状態の周波数領域入力信号を用いて分離行列を算出するような構成を持つからである。
[第5の実施形態]
次に、本発明の第5実施形態について図面を参照して詳細に説明する。
図14は、本実施形態の信号分離装置の構成を表す図である。
図14を参照すると、本実施形態の構成は、データ選択記憶部400の代わりにデータ選択記憶部600を含む点のみが、図9に示す本発明の第4の実施形態の構成と異なり、他は同じである。以下、本実施形態と第4の実施形態との相違点を中心に説明する。
図15は本実施形態のデータ選択記憶部600の構成を表す図である。
図15を参照すると、本実施形態のデータ選択記憶部600は、入力信号解析部500と、選択制御部300と、データ記憶部301とを含む。
入力信号解析部500は図10に示す第4の実施形態の入力信号解析部500と同じであり、データ記憶部301及び選択制御部300は、それぞれ図7に示す第3の実施形態のデータ記憶部301及び選択制御部300と同じであるため、説明を省略する。なお、本実施形態は、図7を参照して説明した第3の実施形態と比べると、入力信号解析部200が入力信号解析部500に置換されている点が異なる。これに伴い、本実施形態は、選択制御部300に入力される解析値が無音状態ではなく音源信号の同時存在状態に基づくもの変更されている点でも、第3の実施形態と異なる。。
次に、本実施形態の信号分離装置の動作について図面を参照して詳細に説明する。
図16は、本実施形態の信号分離装置の動作を表すフローチャートである。以下、本実施形態の動作と、図13に示す第4の実施形態の動作との相違点を中心に説明する。
図16と、図13に示す第4の実施形態の動作を表すフローチャートを比較すると、図16のステップS41〜S46、S50は、それぞれ、図13のステップS31〜S37に対応する。ステップS41からステップS44は、図13のステップS31〜S34と同じであるので説明を省略する。また、入力信号が同時存在状態である場合(ステップS45、Yes)の動作も、図13に示す第4の実施形態の動作におけるステップS35、Yesの同時存在状態である場合の動作と同じであるので、説明を省略する。
入力信号が同時存在状態でない(非同時存在状態である)場合(ステップS45、No)、選択制御部300は非同時存在状態の継続時間を測定する(ステップS47)。継続時間が所定の時間未満である場合(ステップS48、No)、分離行列生成部102はデータ記憶部301に格納されている複数フレームの周波数領域入力信号をもとに、分離行列を生成する(ステップS50)。
一方、継続時間が所定の時間以上である場合(ステップS48、Yes)、選択制御部300は、データ記憶部301に格納されている全ての周波数領域入力信号を破棄する初期化を行う(ステップS49)。
以上のように、本実施形態には、第4の実施形態と同様、全ての音源の音源信号がどの入力信号にも混在していないことに起因する分離性能の劣化を低減するという効果がある。
その理由は、本実施形態は、全ての音源信号が混在した同時存在状態の周波数領域入力信号を複数選択し、選択された複数の同時存在状態の周波数領域入力信号を用いて分離行列を算出するような構成を持つからである。
本実施形態には、さらに、非同時存在状態中に音源移動などの環境変化が生じても、非同時存在状態中の終了後に、生じた環境の変化に速やかに追従できると言う効果がある。すなわち、本実施形態には、非同時存在状態中に環境変化が生じた場合、非同時存在状態終了後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、周波数領域分離信号を解析し、音源信号の非同時存在状態の継続時間に応じてデータ記憶部301を初期化するように構成されているからである。そのため、非同時存在状態中に音源移動などの環境変化が生じた場合、環境変化後において、環境変化前の周波数領域入力信号がデータ記憶部301に含まれない。これにより、環境変化後の分離行列の生成において、環境変化前の周波数領域入力信号は学習に使われない。また、非同時存在状態後の周波数領域入力信号を新たに記憶することができる。従って、環境変化後の状態を反映した分離行列を速やかに算出することができるため、無音状態後の追従性を改善するという効果が得られる。
[第6の実施形態]
次に、本発明の第6の実施形態について図面を参照して詳細に説明する。
図17は本実施形態の信号分離装置の構成を表す図である。
図17を参照すると、本実施形態は、データ選択記憶部400の代わりにデータ選択記憶部702を含む点のみが、図9に示す第4の実施形態の構成と異なり、他は同じである。以下、本実施形態と第4の実施形態との相違点を中心に説明する。
図18は、本実施形態のデータ選択記憶部702の構成を表す図である。
図18を参照すると、本実施形態のデータ選択記憶部702は、入力信号解析部700と、選択制御部701と、データ記憶部301とを含む。
入力信号解析部700は、図10に示す第4の実施形態の入力信号解析部500と同様の動作により、音源信号の同時存在状態を表す解析値を算出し、選択制御部701に出力する。また、入力信号解析部700は周波数領域分離信号の類似度SYiYjを算出し、選択制御部701に出力する。このSYiYjは、例えば、i番目の周波数領域分離信号Yi(f)とj番目の周波数領域分離信号Yj(f)を用いて次式のように算出してもよい。
また、SYiYjは、例えば、次式によって算出してもよい。
なお、SYiSYjは異なるi、jの組み合わせの数だけ存在する。異なるiとjの組み合わせが複数存在する場合、値が閾値を超えたSYiSYjの個数が所定の個数を超えたとき、環境変化が生じたとみなすことにすればよい。環境変化が生じたとみなすための、値が閾値を超えたSYiSYjの個数は、目的に応じて適宜決定すればよい。以下の説明における、「類似度が閾値を超える場合」には、異なるiとjの組み合わせが複数存在し、値が閾値を超えたSYiYjの個数が所定の個数を超える場合が含まれる。
また、選択制御部701は、図15に示す第5の実施形態の選択制御部300と同様の動作により音源信号の非同時存在状態の継続時間を測定し、上述の類似度と測定した継続時間を組み合わせて、例えば次のように初期化情報を設定してもよい。選択制御部701は、例えば、類似度と継続時間の一方が閾値以上の場合初期化情報を1に設定し、それ以外の場合初期化情報を0に設定すればよい。
データ記憶部301は複数フレームの周波数領域入力信号を記憶し、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶すればよい。また、データ記憶部301は、初期化情報が1ならば、記憶している周波数領域入力信号を全て破棄すればよい。
また、本実施形態は、前述のような音源信号の同時存在状態を表す解析値ではなく、同時存在状態、単独状態、無音状態のいずれかを表す解析値を用いてもよい。この場合、入力信号解析部700と選択制御部701は、例えば次のように動作する。
入力信号解析部700は、図10に示す第4の実施形態の入力信号解析部500と同様の動作により、音源信号の同時存在状態、単独状態または無音状態のいずれかを表す解析値を設定して選択制御部701に出力すればよい。選択制御部701は図10の選択制御部201と同様の動作により、解析値に基づき更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部301に出力すればよい。
次に、本実施形態の信号分離装置全体の動作を、図面を参照して詳細に説明する。
図19は本実施形態の動作を表すフローチャートである。以下、図13に示す第4の実施形態の動作を示すフローチャートとの相違点を中心に説明を行う。図19のステップS51〜S53は図13のステップS31〜S33と同じであるので、説明を省略する。
入力信号解析部700は、周波数領域分離信号を解析し、音源信号が同時存在状態か否かを判断するとともに(ステップS54)、類似度SYiYjの算出を行う(ステップS55)。類似度が閾値以上の場合(ステップS56、Yes)、選択制御部701はデータ記憶部301を初期化し(ステップS57)、現在のフレームの信号に対する処理を終了する。
類似度が閾値未満の場合(ステップS56、No)、同時存在状態であるなら(ステップS58、Yes)、選択制御部701は周波数領域分離信号をデータ記憶部301に記憶し(ステップS59)、ステップS59に進む。同時存在状態でないなら(ステップS58、No)、ステップS59に進む。分離行列生成部102は、図13のステップS37と同様に、分離行列を生成する(ステップS60)。
本実施形態には、第4の実施形態と同様、全ての音源の音源信号がどの入力信号にも混在していないことに起因する分離性能の劣化を低減するという効果がある。
その理由は、本実施形態は、全ての音源信号が混在した同時存在状態の周波数領域入力信号を複数選択し、選択された複数の同時存在状態の周波数領域入力信号を用いて分離行列を算出するような構成を持つからである。
本実施形態には、さらに、音源移動などの環境変化が生じても、生じた環境の変化に速やかに追従できると言う効果がある。すなわち、本実施形態には、環境変化が生じた場合、環境が変化した後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、周波数領域分離信号の類似度を用いて音源移動などの環境変化を検出し、その結果に基づきデータ記憶部301を初期化するように構成されているからである。そのため、環境変化が生じた場合、環境変化後において、環境変化前の周波数領域入力信号がデータ記憶部301に含まれない。これにより、環境変化後の分離行列の生成において、環境変化前の周波数領域入力信号は学習に使われない。また、音源移動などの環境変化後の周波数領域入力信号を新たに記憶することができる。従って、環境変化後の状態を反映した分離行列を速やかに算出することができるため、環境変化時の追従性を改善するという効果が得られる。
[第7の実施形態]
次に、本発明の第7の実施形態について図面を参照して詳細に説明する。
図20は本実施形態の信号分離装置の構成を表す図である。
図20を参照すると、本実施形態は、データ選択記憶部400の代わりにデータ選択記憶部802を含む点のみが、図9に示す第4の実施形態の構成と異なり、他は同じである。以下、本実施形態の構成と第4の実施形態の構成の相違点を中心に説明する。
図21は本実施形態のデータ選択記憶部802の構成を表す図である。
図21を参照すると、本実施形態のデータ選択記憶部802は、入力信号解析部800と、選択制御部801と、データ記憶部202とを含む。
入力信号解析部800は、図4に示す第2の実施形態の入力信号解析部200と同様の動作により、無音状態を表す解析値を算出し、選択制御部801に出力する。また、入力信号解析部800は、図10に示す第4の実施形態の入力信号解析部500と同様の動作により、音源信号の同時存在状態を表す解析値を算出し、選択制御部801に出力する。
選択制御部801は、無音状態を示す解析値と音源信号の同時存在状態を示す解析値の、2つの解析値を統合した統合解析値を算出する。選択制御部801は、例えば、2つの解析値の相加平均値あるいは相乗平均値を統合解析値とすればよい。選択制御部801は、第4の実施形態における解析値に代えて、統合解析値に基づいて、図10に示す第4の実施形態の選択制御部201と同様の動作により更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部202に出力すればよい。
データ記憶部202は、複数フレームの周波数領域入力信号を記憶し、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶すればよい。
次に、本実施形態の信号分離装置全体の動作を、図面を参照して詳細に説明する。
図22は本実施形態の動作を表すフローチャートである。以下、図13に示す第4の実施形態の動作との相違点を中心に説明する。
図22を参照すると、本実施形態の動作におけるステップS61〜ステップS63は、図13に示す第4の実施形態のステップS31〜ステップS33と同じなので、説明を省略する。
データ選択記憶部802の入力信号解析部800は、周波数変換部100が生成した周波数領域入力信号と分離信号生成部401が生成した周波数領域分離信号とをそれぞれ解析して上述の2つの解析値を設定し、選択制御部801に送信する(ステップS64)。
選択制御部801は受信した2つの解析値から統合解析値を算出する(ステップS65)。選択制御部801が算出した統合解析値が閾値未満の場合(ステップS66、No)、ステップS68に進む。統合解析値が閾値以上の場合(ステップS66、Yes)、統合解析値を算出したフレームの周波数領域入力信号を、データ記憶部202に格納する(ステップS67)。
分離行列生成部102は、データ記憶部202に格納されている複数フレームの周波数領域入力信号を元に、分離行列を生成する(ステップS68)。
以上のように、本実施形態には、無音あるいは、音源信号が混在していないことに起因する分離性能の劣化を低減するという効果がある。
その理由は、本実施形態の信号分離装置は、無音状態を表す解析値と音源信号の同時存在状態を表す解析値とを用いて算出した統合解析値に基づき選択した、複数の周波数領域入力信号を用いて分離行列を算出する構成を有するからである。統合解析値に基づき選択した周波数領域入力信号は、有音状態あるいは同時存在状態であるため、無音あるいは、音源信号が混在していないことに起因する分離性能の劣化を低減できる。
[第8の実施形態]
次に、本発明の第8の実施形態について図面を参照して詳細に説明する。
図23は、本実施形態の信号分離装置の構成を示す図である。
図23を参照すると、本実施形態は、データ選択記憶部400の代わりにデータ選択記憶部901を含む点のみが、図9に示す第4の実施形態の構成と異なり、他は同じである。以下、本実施形態と第4の実施形態との相違点を中心に説明する。
図24は本実施形態のデータ選択記憶部901の構成を表す図である。
図24に示すように、本実施形態のデータ選択記憶部901は、入力信号解析部800と、選択制御部900と、データ記憶部301とを含む。
入力信号解析部800は、図4に示す第2の実施形態の入力信号解析部200と同様の動作により、無音状態を表す解析値を算出し、選択制御部900に出力する。また、入力信号解析部800は、図10に示す第4の実施形態の入力信号解析部500と同様の動作により、音源信号の同時存在状態を表す解析値を算出し、選択制御部900に出力する。
選択制御部900は、無音状態を表す解析値及び音源信号の同時存在状態を表す解析値の、2つの解析値を統合した統合解析値を算出する。選択制御部900は、例えば、2つの解析値の相加平均値あるいは相乗平均値を統合解析値とすればよい。選択制御部900は、第4の実施形態における解析値に代えて統合解析値に基づき、図10に示す第4の実施形態の選択制御部201と同様の動作により更新情報を設定し、周波数領域入力信号と更新情報をデータ記憶部301に出力すればよい。また、選択制御部900は、データ記憶部301に記憶されている周波数領域入力信号を初期化するための初期化情報を統合解析値に基づき設定し、初期化情報をデータ記憶部301に出力すればよい。選択制御部900は、例えば、統合解析値が閾値より小さい状態の継続時間を測定し、継続時間が所定の閾値以上であれば、データ記憶部301に記憶されている周波数領域入力信号を初期化するように、初期化情報を1に設定すればよい。選択制御部900は、継続時間が所定の閾値未満であれば、初期化情報を0に設定すればよい。
また、選択制御部900は、無音状態を表す解析値と、音源信号の同時存在状態を表す解析値と、統合解析値との3種類の解析値の内、一つの解析値を使用して前述の実施形態と同様に更新情報を設定してもよい。また、選択制御部900は、前述の3種類の解析値のうち、一つの解析値を使用して前述の実施形態と同様に初期化情報を設定してもよい。なお、無音状態を表す解析値を使用して更新情報と初期化情報を設定する場合は第3の実施形態と同様の効果が得られる。また、音源信号の同時存在状態を表す解析値を使用して更新情報と初期化情報を設定する場合は第5の実施形態と同様の効果が得られる。
データ記憶部301は、複数フレームの周波数領域入力信号を記憶し、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶すればよい。また、データ記憶部301は、初期化情報が1ならば、記憶している周波数領域入力信号を全て破棄すればよい。
次に、本実施形態の信号分離装置全体の動作を、図面を参照して詳細に説明する。
図25は、本実施形態の信号処理装置の動作を示すフローチャートである。以下、図22に示す第7の実施形態の動作との相違点を中心に説明する。
図25の本実施形態の動作と図22に示す第7の実施形態の動作とを比較すると、本実施形態では統合解析値が閾値未満の時間が一定時間以上継続した場合、データ記憶部301の初期化を行う点が異なる。図25のステップS71〜ステップS75の動作は、図22のステップS61〜S65の動作と同じなので、説明を省略する。
データ選択記憶部901の選択制御部801は、算出した統合解析値が閾値以上である場合(ステップS76、Yes)、その統合解析値を算出したフレームの周波数領域入力信号を、データ記憶部301に格納し(ステップS77)、ステップS78に進む。
選択制御部801は、算出した統合解析値が閾値未満である場合(ステップS76、No)、統合解析値が継続して所定の閾値未満である時間を測定する(ステップS79)。ステップS79で測定した時間が所定の閾値未満の場合(ステップS80、No)、ステップS78に進む。ステップS79で測定した時間が所定の閾値以上の場合(ステップS80、Yes)、選択制御部900は、データ記憶部301に記憶されている周波数領域入力信号を全て破棄する初期化を行い(ステップS81)、現フレームに対する処理を終了する。
ステップS78において、分離行列生成部102は、データ記憶部301に格納されている複数フレームの周波数領域入力信号に基づいて、分離行列を生成する(ステップS78)。
以上のように、本実施形態には、第7の実施形態と同様、分離性能の劣化を低減するという効果がある。
その理由は、本実施形態の信号分離装置は、無音状態を表す解析値と音源信号の同時存在状態を表す解析値とを用いて算出した統合解析値に基づき選択した、複数の周波数領域入力信号を用いて分離行列を算出する構成を有するからである。
本実施形態には、さらに、無音状態中あるいは非同時存在中に音源移動などの環境変化が生じても、生じた環境の変化に速やかに追従できると言う効果がある。すなわち、本実施形態には、無音状態中あるいは非同時存在状態中に環境変化が生じた場合、無音状態あるいは非同時存在状態の終了後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、算出した無音状態または非同時存在状態であるか否かを表す統合解析値に基づき、無音状態または非同時存在状態の継続時間に応じてデータ記憶部301を初期化するように構成されているからである。本実施形態の統合解析値は、所定の値以下である場合、無音状態または非同時存在状態であるとみなすことができる。無音状態または非同時存在状態が一定時間以上継続した場合データ記憶部301を初期化するので、その間に環境変化が生じた場合、環境変化後において、環境変化前の周波数領域入力信号がデータ記憶部301に含まれない。これにより、環境変化後の分離行列の生成において、環境変化前の周波数領域入力信号は学習に使われない。また、音源移動などの環境変化後の周波数領域入力信号を新たに記憶することができる。従って、環境変化後の状態を反映した分離行列を速やかに算出することができるため、無音状態または非同時存在状態の終了後の追従性を改善するという効果が得られる。
[第9の実施形態]
次に、本発明の第9の実施形態について図面を参照して詳細に説明する。
図26は本実施形態の信号分離装置の構成を表す図である。
図26を参照すると、本実施形態の構成は、データ選択記憶部802の代わりにデータ選択記憶部1002を含む点のみが、図20に示す第7の実施形態の構成と異なり、他の構成は同じである。以下、本実施形態と第7の実施形態の相違点を中心に説明する。
図27は本実施形態のデータ選択記憶部1002の構成を表す図である。
図27を参照すると、本実施形態のデータ選択記憶部1002は、入力信号解析部1000と、選択制御部1001と、データ記憶部301とを含む。
入力信号解析部1000は、図4に示す第2の実施形態の入力信号解析部200と同様の動作により、無音状態を表す解析値を算出し、選択制御部1001に出力する。また、入力信号解析部1000は、図10に示す第4の実施形態の入力信号解析部500と同様の動作により、音源信号の同時存在状態を表す解析値を算出し、選択制御部1001に出力する。また、入力信号解析部1000は、図18に示す第6の入力信号解析部700と同様の動作により、前述の、周波数領域分離信号の類似度SYiYjを算出し、選択制御部1001に出力する。さらに、入力信号解析部1000は、周波数領域入力信号と周波数領域分離信号の類似度SXiYjを算出し、選択制御部1001に出力する。入力信号解析部1000は、SXiYjを、例えば、i番目の周波数領域入力信号Xi(f)とj番目の周波数領域分離信号Yj(f)を用いて、次式に従って算出してもよい。
また、入力信号解析部1000は、SXiYjを、例えば、次式に従って算出してもよい。
また、選択制御部1001は、前述のSYiYj及びSXiYjの2つの類似度を統合した統合類似度を算出する。選択制御部1001は、例えば、SYiYjとSXiYjの相加平均値あるいは相乗平均値を統合類似度とする。選択制御部1001は、算出した統合類似度に基づき、データ記憶部301に記憶されている周波数流域入力信号を初期化するための初期化情報を設定し、データ記憶部301に出力する。選択制御部1001は、例えば、統合類似度が閾値以上であれば、環境変化が生じたとみなし、初期化情報を1に設定すればよい。選択制御部1001は、統合類似度が閾値未満であれば、初期化情報を0に設定すればよい。なお、正しい分離行列が算出できていれば、周波数領域入力信号と周波数領域分離信号は互いに異なる信号となるので、SXiYjは小さくなる。したがって、SXiYjが大きければ、分離行列が適切ではない、つまり、環境変化が生じたとみなすことができる。
また、選択制御部1001は、無音状態を表す解析値と、音源信号の同時存在状態を表す解析値と、統合解析値との3種類の解析値の内、一つの解析値を使用して、前述の実施形態と同様の動作により更新情報を設定してもよい。また、選択制御部1001は、周波数領域分離信号の類似度と、周波数領域入力信号と周波数領域分離信号の類似度と、統合類似度との3種類の類似度の内、一つの類似度を使用して、前述の実施形態と同様の動作により初期化情報を設定してもよい。
また、更新初期化制御部1001は、更新情報の設定に用いた解析値を使用して前述の実施形態と同様の動作により継続時間を測定し、継続時間と類似度を組み合わせて初期化情報を設定してもよい。更新初期化制御部1001は、例えば、類似度と継続時間の少なくともどちらか一方が閾値以上であれば初期化情報を1に設定すればよい。更新初期化制御部1001は、類似度と継続時間が共に閾値未満であれば初期化情報を0に設定すればよい。
なお、音源信号の非同時状態を表す解析値を使用して更新情報を設定し、周波数領域分離信号の類似度を使用して初期化情報を設定する場合は、第6の実施形態と同様の効果が得られる。また、無音状態を表す解析値を使用して更新情報と初期化情報を設定する場合は、第3の実施形態と同様の効果が得られる。また、音源信号の同時存在状態を表す解析値を使用して更新情報と初期化情報を設定する場合は、第5の実施形態と同様の効果が得られる。また、統合解析値を使用して更新情報と初期化情報を設定する場合は、第8の実施形態と同様の効果が得られる。
データ記憶部301は複数フレームの周波数領域入力信号を記憶し、更新情報と周波数領域入力信号が新たに入力された場合、更新情報が示すフレームの周波数領域入力信号を破棄し、入力された周波数領域入力信号を新たに記憶すればよい。また、データ記憶部301は、初期化情報が1ならば、記憶している周波数領域入力信号を全て破棄すればよい。
次に、本実施形態の信号分離装置全体の動作について、図面を参照して詳細に説明する。
図28は本実施形態の信号分離装置の動作を表すフローチャートである。ここでは、本実施形態の動作と、図25に示す第8の実施形態の動作との相違点を中心に説明する。
図28と、図25に示す第8の実施形態の動作とを比較すると、図28のステップS82からステップS85と、ステップS89の動作は、図25のステップS71からステップS74の動作と、ステップS75の動作と同じであるので、説明を省略する。また、ステップS86の動作は、図19のステップS55の動作と同じであるので、説明を省略する。
選択制御部1001は、ステップS86の後、周波数領域入力信号と周波数領域分離信号の類似度SXiYjを算出する(ステップS87)。選択制御部1001は、統合解析値を算出(ステップS88)した後、ステップS86及びステップS87で算出した2つの類似度から、統合類似度を算出する(ステップS89)。算出した統合類似度が所定の閾値以上の場合(ステップS90、Yes)、選択制御部1001は、データ記憶部301に格納されている周波数領域入力信号を全て破棄する初期化を行い(ステップS96)、現フレームに対する処理を終了する。算出した統合類似度が所定の閾値未満の場合(ステップS90、No)、ステップS91に進む。
ステップS91からステップS96の動作は、第8の実施形態のステップS71からステップS81の動作と同じであるので、説明を省略する。
以上のように、本実施形態には、第7の実施形態と同様、分離性能の劣化を低減するという効果がある。
その理由は、本実施形態の信号分離装置は、無音状態を表す解析値と音源信号の同時存在状態を表す解析値とを用いて算出した統合解析値に基づき選択した、複数の周波数領域入力信号を用いて分離行列を算出する構成を有するからである。
また、本実施形態には、第8の実施形態と同様、無音状態中あるいは非同時存在中に音源移動などの環境変化が生じても、生じた環境の変化に速やかに追従できると言う効果がある。すなわち、本実施形態には、無音状態中あるいは非同時存在状態中に環境変化が生じた場合、無音状態あるいは非同時存在状態の終了後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、算出した無音状態または非同時存在状態であるか否かを表す統合解析値に基づき、無音状態または非同時存在状態の継続時間に応じてデータ記憶部301を初期化するように構成されているからである。無音状態または非同時存在状態が一定時間以上継続した場合データ記憶部301を初期化するので、その間に環境変化が生じた場合、環境変化後において、環境変化前の周波数領域入力信号がデータ記憶部301に含まれない。これにより、環境変化後の分離行列の生成において、環境変化前の周波数領域入力信号は学習に使われない。また、音源移動などの環境変化後の周波数領域入力信号を新たに記憶することができる。従って、環境変化後の状態を反映した分離行列を速やかに算出することができるため、無音状態または非同時存在状態の終了後の追従性を改善するという効果が得られる。
本実施形態には、さらに、音源移動等の環境変化が生じても、生じた環境の変化に速やかに追従できるという効果がある。すなわち、環境が変化した後、変化後の環境における混合信号から正しい分離信号を生成することができる、変化後の環境に対応した分離行列を生成するまでの時間を短縮するという効果がある。
その理由は、本実施形態は、周波数領域分離信号間の類似度と、周波数領域入力信号と周波数領域分離信号との間の類似度とにより算出した統合類似度を用いて音源移動などの環境変化を検出し、その結果に基づきデータ記憶部301を初期化するように構成されているからである。そのため、環境変化が生じた場合、環境変化後において、環境変化前の周波数領域入力信号がデータ記憶部301に含まれない。これにより、環境変化後の分離行列の生成において、環境変化前の周波数領域入力信号は学習に使われない。また、音源移動などの環境変化後の周波数領域入力信号を新たに記憶することができる。従って、環境変化後の状態を反映した分離行列を速やかに算出することができるため、環境変化時の追従性を改善することができる。
[第10の実施形態]
図34は本実施形態の信号分離装置の構成を表すブロック図である。
図34を参照すると、本実施形態の信号分離装置は、コンピュータ1と、信号入力部2と、分離信号出力部3と、プログラム記憶部4を含む。
コンピュータ1は、プログラム記憶部4が記憶するプログラムを実行するCPU10(Central Processing Unit)と、データ記憶部5を含む。
信号入力部2は、コンピュータ1に入力信号を入力する。信号入力部2は、例えば、音声を入力する複数のマイクロホンなどの、コンピュータ1に信号を入力する複数のセンサである。
分離信号出力部3は、コンピュータ1から分離信号を出力する。分離信号出力部3は、例えば、音声を出力する複数のスピーカである。また、分離信号出力部3は、例えば、複数の信号の波形を画像として表示する表示装置や、複数の信号のデータを格納するための記憶媒体であってもよい。
プログラム記憶部4は、コンピュータ1を、第1〜第9の実施形態のいずれかの信号分離装置として動作させるためのプログラムを記憶する。コンピュータ1は、プログラム記憶部4が記憶するプログラムを読み出すことができる。プログラム記憶部4は、例えば、CD−ROM(Compact Disc Read Only Memory)やUSB(Universal Serial Bus)メモリ等の取り外し可能な媒体やハードディスク装置などの記録媒体である。
データ記憶部5は、例えば、ハードディスク装置などの記憶装置である。データ記憶部5は、前述のデータ記憶部202又はデータ記憶装置301として動作する。
第1〜第9の実施形態の信号分離装置は、本実施形態のプログラム記憶部4が記憶するプログラムとコンピュータ1によって実現されてもよい。
以上、実施形態を参照して本発明を説明したが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解しうる様々な変更をすることができる。
この出願は、2009年12月18日に出願された日本国出願特願2009−287676を基礎とする優先権を主張し、その開示の全てをここに取り込む。
本発明は、信号分離装置や信号分離プログラムといった用途に適用できる。
【発明の名称】
信号分離装置、信号分離方法、及び信号分離プログラム
【補正対象項目名】 技術分野
【補正方法】 変更
【補正の内容】
【技術分野】
本発明は、信号処理装置、信号処理方法、及び信号処理プログラムに関し、特に、複数の信号が混在した混合信号を分離するための信号分離装置、信号分離方法、及び信号分離プログラムに関する。
信号分離装置、信号分離方法、及び信号分離プログラム
【補正対象項目名】 技術分野
【補正方法】 変更
【補正の内容】
【技術分野】
本発明は、信号処理装置、信号処理方法、及び信号処理プログラムに関し、特に、複数の信号が混在した混合信号を分離するための信号分離装置、信号分離方法、及び信号分離プログラムに関する。
Claims (10)
- 複数の入力信号が信号分離に適するか否かを判断する入力信号解析手段と、
前記複数の入力信号を周波数領域の信号に変換した周波数領域入力信号のデータを格納するためのデータ記憶手段と、
前記複数の入力信号が信号分離のための分離行列生成に適すると前記入力信号解析手段が判断した場合、前記周波数領域入力信号を前記データ記憶手段に格納し、前記複数の入力信号が信号分離のための分離行列生成に適すると前記入力信号解析手段が判断しない場合、前記周波数領域入力信号を前記データ記憶手段に格納しない選択制御手段と、
前記データ記憶手段に格納されている、最新及び過去の周波数領域入力信号を含む周波数領域入力信号を用いて、分離行列を生成する分離行列生成手段と、
を含む信号分離装置。 - 前記入力信号解析手段が、所定の時間以上継続して前記複数の信号が信号分離に適さないと判断する場合、前記選択制御手段が前記データ記憶手段に記憶されている全てのデータを消去する初期化を行う
ことを特徴とする請求項1に記載の信号分離装置。 - 前記複数の入力信号を、それぞれ周波数領域の信号に変換して複数の周波数領域入力信号を生成する周波数変換手段と、
前記分離行列生成手段が生成した前記分離行列を用いて、前記周波数変換手段が生成した前記複数の周波数領域入力信号から、信号源毎に分離した複数の周波数領域分離信号を生成する分離信号生成手段と、
前記複数の周波数領域分離信号をそれぞれ時間領域信号に変換して、複数の分離信号を生成する逆周波数変換手段と
を含む請求項1又は2に信号分離装置。 - 前記入力信号解析手段が、前記複数の入力信号の少なくとも一つが無信号でない場合、前記複数の入力信号が信号分離に適すると判断し、前記複数の入力信号の全てが無信号である場合、前記複数の入力信号が信号分離に適さないと判断する
請求項1乃至3のいずれかに記載の信号分離装置。 - 前記入力信号解析手段が、全ての前記分離信号が無信号でない場合、前記複数の入力信号が信号分離に適すると判断し、前記分離信号のいずれか一つが無信号である場合、前記複数の入力信号が信号分離に適さないと判断する
請求項1乃至3のいずれかに記載の信号分離装置。 - 前記入力信号解析手段が、前記複数の入力信号の少なくとも一つが無信号でなく、全ての前記分離信号が無信号でない場合、前記複数の入力信号が信号分離に適すると判断し、それ以外の場合、前記複数の入力信号が信号分離に適さないと判断する
請求項1乃至3のいずれかに記載の信号分離装置。 - 前記入力信号解析手段が、
前記複数の分離信号のそれぞれが互いに類似すると判定した場合と、
前記複数の入力信号のいずれか一つと、前記複数の分離信号のいずれか一つとに、互いに類似しているものが存在すると判定した場合と、
のいずれか一方又は双方の場合に、
前記選択制御手段が前記データ記憶手段に記憶されている全ての周波数領域入力信号を消去する初期化を行う
請求項1乃至6のいずれかに記載の信号分離装置。 - 前記データ記憶手段が、前記複数の分離信号のそれぞれに対応付けられた領域を備え、
前記選択制御手段が、前記周波数変換手段が前記入力信号を一定の時間間隔で分割し該分割した入力信号に対し周波数変換を行った周波数領域入力信号を、前記時間間隔毎に順に、該周波数入力信号から生成した前記複数の分離信号のうち無信号でない分離信号に対応付けられた前記領域のそれぞれに格納する
ことを特徴とする請求項1乃至7のいずれかに記載の信号分離装置。 - 複数の入力信号が信号分離に適するか否かを判断し、
前記複数の入力信号が信号分離に適すると前記入力信号解析手段が判断した場合、前記周波数領域入力信号を、前記入力信号を周波数領域の信号に変換した周波数領域入力信号を格納するためのデータ記憶手段に格納し、
前記データ記憶手段に格納されている周波数領域入力信号を用いて分離行列を生成する
信号分離方法。 - コンピュータを、
複数の入力信号が信号分離に適するか否かを判断する入力信号解析手段と、
前記入力信号を周波数領域の信号に変換した周波数領域入力信号を格納するためのデータ記憶手段と、
前記複数の入力信号が信号分離に適すると前記入力信号解析手段が判断した場合、前記周波数領域入力信号を前記データ記憶手段に格納し、前記入力信号を信号分離に適しないと前記入力信号解析手段が判断した場合、前記周波数領域入力信号を前記データ記憶手段に格納しない選択制御手段と、
前記データ記憶手段に格納されている周波数領域入力信号を用いて分離行列を生成する分離行列生成手段と、
して機能させるためのプログラムを記憶する記録媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009287676 | 2009-12-18 | ||
JP2009287676 | 2009-12-18 | ||
PCT/JP2010/073066 WO2011074702A1 (ja) | 2009-12-18 | 2010-12-15 | 信号分離装置、信号分離方法、及び信号分離プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2011074702A1 true JPWO2011074702A1 (ja) | 2013-05-02 |
Family
ID=44167449
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011546198A Withdrawn JPWO2011074702A1 (ja) | 2009-12-18 | 2010-12-15 | 信号分離装置、信号分離方法、及び信号分離プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8644346B2 (ja) |
JP (1) | JPWO2011074702A1 (ja) |
WO (1) | WO2011074702A1 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9361903B2 (en) * | 2013-08-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Preserving privacy of a conversation from surrounding environment using a counter signal |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0622359B2 (ja) * | 1987-12-14 | 1994-03-23 | 富士通株式会社 | フレーム同期方式 |
JP3463752B2 (ja) * | 2001-07-25 | 2003-11-05 | 三菱電機株式会社 | 音響符号化装置、音響復号化装置、音響符号化方法および音響復号化方法 |
JP4517606B2 (ja) | 2003-08-27 | 2010-08-04 | ソニー株式会社 | 監視システム、信号処理装置および方法、並びにプログラム |
JP2005227512A (ja) | 2004-02-12 | 2005-08-25 | Yamaha Motor Co Ltd | 音信号処理方法及びその装置、音声認識装置並びにプログラム |
JP4110254B2 (ja) | 2005-07-20 | 2008-07-02 | 防衛省技術研究本部長 | 飛翔体の経路修正方法 |
JP2007034184A (ja) | 2005-07-29 | 2007-02-08 | Kobe Steel Ltd | 音源分離装置,音源分離プログラム及び音源分離方法 |
US8311114B1 (en) * | 2006-12-06 | 2012-11-13 | Zenverge, Inc. | Streamlined transcoder architecture |
JP5034469B2 (ja) | 2006-12-08 | 2012-09-26 | ソニー株式会社 | 情報処理装置および情報処理方法、並びに、プログラム |
-
2010
- 2010-12-15 US US13/516,571 patent/US8644346B2/en not_active Expired - Fee Related
- 2010-12-15 JP JP2011546198A patent/JPWO2011074702A1/ja not_active Withdrawn
- 2010-12-15 WO PCT/JP2010/073066 patent/WO2011074702A1/ja active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2011074702A1 (ja) | 2011-06-23 |
US8644346B2 (en) | 2014-02-04 |
US20120269203A1 (en) | 2012-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3511937B1 (en) | Device and method for sound source separation, and program | |
JP4675177B2 (ja) | 音源分離装置,音源分離プログラム及び音源分離方法 | |
JP5375400B2 (ja) | 音声処理装置、音声処理方法およびプログラム | |
JP2007034184A (ja) | 音源分離装置,音源分離プログラム及び音源分離方法 | |
JP2007235646A (ja) | 音源分離装置、方法及びプログラム | |
KR101620866B1 (ko) | 학습 기법을 적용한 사전 학습 알고리즘 기반의 음원 분리 방법 | |
CN112289334B (zh) | 一种混响消除方法及装置 | |
Mimilakis et al. | Examining the mapping functions of denoising autoencoders in singing voice separation | |
JP2007279517A (ja) | 音源分離装置、音源分離装置用のプログラム及び音源分離方法 | |
JP5994639B2 (ja) | 有音区間検出装置、有音区間検出方法、及び有音区間検出プログラム | |
WO2011074702A1 (ja) | 信号分離装置、信号分離方法、及び信号分離プログラム | |
JP6216809B2 (ja) | パラメータ調整システム、パラメータ調整方法、プログラム | |
KR101621718B1 (ko) | 배음 구조 및 성김 구조 제약조건을 이용한 화성악기와 타악기 소리의 분리 방법 | |
JP7492159B2 (ja) | 音声信号変換モデル学習装置、音声信号変換装置、音声信号変換モデル学習方法及びプログラム | |
JP2005196020A (ja) | 音声処理装置と方法並びにプログラム | |
Gonzalez et al. | Investigating the Design Space of Diffusion Models for Speech Enhancement | |
CN113689886B (zh) | 语音数据情感检测方法、装置、电子设备和存储介质 | |
JP2015031913A (ja) | 音声処理装置、音声処理方法、及びプログラム | |
JP2019060976A (ja) | 音声処理プログラム、音声処理方法および音声処理装置 | |
JP6759927B2 (ja) | 発話評価装置、発話評価方法、および発話評価プログラム | |
Alsaif et al. | Predict Drilling Equipment Failure Using AI-Based Sound Waive Analysis Methodology | |
JP2018013683A (ja) | 音声区間検出装置、音声区間検出方法、及びプログラム | |
JPWO2016203753A1 (ja) | 雑音検出装置、雑音抑圧装置、雑音検出方法、雑音抑圧方法、および、プログラム | |
JP4378098B2 (ja) | 音源選択装置および方法 | |
US20220335964A1 (en) | Model generation method, model generation apparatus, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20140304 |