(57)【要約】【課題】より少ない回路数でハードウェア化可能な音源同定方法を提供する。【解決手段】入力音から生成された音圧に応じたパルス頻度を持つ周波数帯域別のパルス列において、時間軸方向に所定幅を有するカウント範囲内のパルス数を数えて、パルス数ベクトルを生成する第１ステップと、パルス数ベクトルの各要素のうちの大きい方からＮ個を１とし、残りを０とした特徴ベクトルを生成する第２ステップと、特徴ベクトルと同様に生成されて元の音源を示す音源カテゴリに分類された複数の参照ベクトルから、特徴ベクトルにハミング距離で近い方からｋ個の参照ベクトルを検索し、それらのうちの最も多くの参照ベクトルが属する音源カテゴリを決定する第３ステップとを、カウント範囲をずらしつつ繰り返す音源同定方法。【選択図】  図２
2010079188.tif 000002
【特許請求の範囲】
【請求項１】
入力音を、複数の周波数帯域別に、音圧に応じたパルス頻度を持ち時間軸方向にパルスが並んだパルス列に変換し、前記各周波数帯域のパルス列を用いて入力音の音源を識別する音源同定方法であって、
前記各周波数帯域のパルス列において、時間軸方向に所定幅を有するカウント範囲内のパルス数を数えて、前記各パルス列における前記パルス数を要素とするパルス数ベクトルを生成する第１ステップと、
前記パルス数ベクトルの各要素のうちの大きい方からＮ（Ｎ：正整数）個の要素を１とし、残りの要素を０とした特徴ベクトルを生成する第２ステップと、
音源が分かっている音から前記特徴ベクトルと同様に生成され、それぞれ元の音源を示す音源カテゴリに分類されて記憶されている複数の参照ベクトルから、前記特徴ベクトルにハミング距離で近い方からｋ（ｋ：正整数）個の参照ベクトルを検索し、前記ｋ個の参照ベクトルのうちの最も多くの参照ベクトルが属する音源カテゴリを決定し、該音源カテゴリを示すカテゴリ情報を出力する第３ステップとを、
前記カウント範囲を時間軸方向に重ならないように移動させつつ、繰り返し、
出力された前記カテゴリ情報に基づいて前記入力音の音源を識別することを特徴とする音源同定方法。
【請求項２】
前記第１ステップと、
前記第２ステップと、
前記第３ステップと、
前記複数の参照ベクトルが分類される複数の音源カテゴリのうち、前記第３ステップで出力された前記カテゴリ情報が示す音源カテゴリについてはポテンシャル値を上げて、他の音源カテゴリについてはポテンシャル値を下げる第４ステップとを、
前記カウント範囲を時間軸方向に重ならないように移動させつつ、繰り返し、
前記複数の音源カテゴリのうち、前記ポテンシャル値が最大になった音源カテゴリを、前記入力音の音源と判定することを特徴とする請求項１記載の音源同定方法。
【請求項３】
入力音を、複数の周波数帯域別に、音圧に応じたパルス頻度を持ち時間軸方向にパルスが並んだパルス列に変換するパルス列生成手段と、
時間軸方向に所定幅を有し時間軸方向に重ならないように設定されるカウント範囲毎に、前記各周波数帯域のパルス列における前記カウント範囲内のパルス数を数えて、前記各パルス列における前記パルス数を要素とするパルス数ベクトルを生成するパルス数ベクトル生成手段と、
前記パルス数ベクトルの各要素のうちの大きい方からＮ（Ｎ：正整数）個の要素を１とし、残りの要素を０とした特徴ベクトルを生成する特徴ベクトル生成手段と、
音源が分かっている音から前記特徴ベクトルと同様に生成され、それぞれ元の音源を示す音源カテゴリに分類された複数の参照ベクトルを記憶した参照ベクトル記憶手段と、
前記参照ベクトル記憶手段に記憶されている参照ベクトルから、前記特徴ベクトルにハミング距離で近い方からｋ（ｋ：正整数）個の参照ベクトルを検索し、前記ｋ個の参照ベクトルのうちの最も多くの参照ベクトルが属する音源カテゴリを決定し、該音源カテゴリを示すカテゴリ情報を出力する音源カテゴリ識別手段と、
を有し、出力された前記カテゴリ情報に基づいて前記入力音の音源を識別することを特徴とする音源同定装置。
【請求項４】
前記複数の参照ベクトルが分類される複数の音源カテゴリのうち、前記音源カテゴリ識別手段によって出力された前記カテゴリ情報が示す音源カテゴリについてはポテンシャル値を上げて、他の音源カテゴリについてはポテンシャル値を下げるポテンシャル値処理手段を有し、
前記複数の音源カテゴリのうち、前記ポテンシャル値が最大になった音源カテゴリを、前記入力音の音源と判定することを特徴とする請求項３記載の音源同定装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音源の種類を同定する音源同定方法及び音源同定装置に関する。
【背景技術】
【０００２】
音による周辺環境把握の基本機能は、音源方向を識別する音源定位と、音源種類を識別する音源同定（音源認識）であり、パルスニューロンモデルを用いた音源同定装置には、下記非特許文献１に記載されたものがある。また、出願人による音源同定に関する出願に、下記特許文献１、２があり、特許文献２には、処理の高速化のため、音源定位・同定装置をＦＰＧＡ（Field Programmable Gate Array）に実装した例が示されている。
【特許文献１】特開２００８−７７１７７号公報
【特許文献２】特開２００８−８５４７２号公報
【非特許文献１】坂口晋也、黒柳奨、岩田彰、「環境把握のための音源同定システム」、電子情報通信学会ＮＣ研究会技術研究報告、社団法人電子情報通信学会、１９９９年１２月、ＮＣ９９−７０、ｐ．６１−６８
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上記特許文献２の表１から分かるように、特許文献２記載の装置では、音源同定用周波数パターン検出部のみでも約５，０００ALUTｓの回路数が必要であり、更なる処理の高速化と装置のコンパクト化のためには、より少ない回路数でハードウェア化可能な音源同定方法が望まれていた。
【０００４】
この発明は、上述した問題を解決するものであり、より少ない回路数でハードウェア化可能な音源同定方法及び音源同定装置を提供することを目的とする。
【課題を解決するための手段】
【０００５】
本発明の音源同定方法は、入力音を、複数の周波数帯域別に、音圧に応じたパルス頻度を持ち時間軸方向にパルスが並んだパルス列に変換し、前記各周波数帯域のパルス列を用いて入力音の音源を識別する音源同定方法であって、前記各周波数帯域のパルス列において、時間軸方向に所定幅を有するカウント範囲内のパルス数を数えて、前記各パルス列における前記パルス数を要素とするパルス数ベクトルを生成する第１ステップと、前記パルス数ベクトルの各要素のうちの大きい方からＮ（Ｎ：正整数）個の要素を１とし、残りの要素を０とした特徴ベクトルを生成する第２ステップと、音源が分かっている音から前記特徴ベクトルと同様に生成され、それぞれ元の音源を示す音源カテゴリに分類されて記憶されている複数の参照ベクトルから、前記特徴ベクトルにハミング距離で近い方からｋ（ｋ：正整数）個の参照ベクトルを検索し、前記ｋ個の参照ベクトルのうちの最も多くの参照ベクトルが属する音源カテゴリを決定し、該音源カテゴリを示すカテゴリ情報を出力する第３ステップとを、前記カウント範囲を時間軸方向に重ならないように移動させつつ、繰り返し、出力された前記カテゴリ情報に基づいて前記入力音の音源を識別することを特徴とする。
【０００６】
なお、好ましくは、前記第１ステップと、前記第２ステップと、前記第３ステップと、前記複数の参照ベクトルが分類される複数の音源カテゴリのうち、前記第３ステップで出力された前記カテゴリ情報が示す音源カテゴリについてはポテンシャル値を上げて、他の音源カテゴリについてはポテンシャル値を下げる第４ステップとを、前記カウント範囲を時間軸方向に重ならないように移動させつつ、繰り返し、前記複数の音源カテゴリのうち、前記ポテンシャル値が最大になった音源カテゴリを、前記入力音の音源と判定する。
【０００７】
本発明の音源同定装置は、入力音を、複数の周波数帯域別に、音圧に応じたパルス頻度を持ち時間軸方向にパルスが並んだパルス列に変換するパルス列生成手段と、時間軸方向に所定幅を有し時間軸方向に重ならないように設定されるカウント範囲毎に、前記各周波数帯域のパルス列における前記カウント範囲内のパルス数を数えて、前記各パルス列における前記パルス数を要素とするパルス数ベクトルを生成するパルス数ベクトル生成手段と、前記パルス数ベクトルの各要素のうちの大きい方からＮ（Ｎ：正整数）個の要素を１とし、残りの要素を０とした特徴ベクトルを生成する特徴ベクトル生成手段と、音源が分かっている音から前記特徴ベクトルと同様に生成され、それぞれ元の音源を示す音源カテゴリに分類された複数の参照ベクトルを記憶した参照ベクトル記憶手段と、前記参照ベクトル記憶手段に記憶されている参照ベクトルから、前記特徴ベクトルにハミング距離で近い方からｋ（ｋ：正整数）個の参照ベクトルを検索し、前記ｋ個の参照ベクトルのうちの最も多くの参照ベクトルが属する音源カテゴリを決定し、該音源カテゴリを示すカテゴリ情報を出力する音源カテゴリ識別手段と、を有し、出力された前記カテゴリ情報に基づいて前記入力音の音源を識別することを特徴とする。
【０００８】
なお、好ましくは、前記複数の参照ベクトルが分類される複数の音源カテゴリのうち、前記音源カテゴリ識別手段によって出力された前記カテゴリ情報が示す音源カテゴリについてはポテンシャル値を上げて、他の音源カテゴリについてはポテンシャル値を下げるポテンシャル値処理手段を有し、前記複数の音源カテゴリのうち、前記ポテンシャル値が最大になった音源カテゴリを、前記入力音の音源と判定する。
【発明の効果】
【０００９】
本発明の音源同定方法及び音源同定装置は、入力音の特徴を０、１で表した特徴ベクトルを生成し、音源が分かっている音から特徴ベクトルと同様に生成された参照ベクトルを用いて、特徴ベクトルと参照ベクトルとの遠近（類似度）をハミング距離で決定するという、シンプルで演算容易なロジックを用いているので、より少ない回路数でハードウェア化可能である。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の一実施形態について図面に基づいて説明する。
【００１１】
音源同定装置Ｓは、図１に示すように、マイクロホン（図示せず。）に接続されたパルス列生成手段６を備えている。パルス列生成手段６は、ＡＤ変換部１４と、人の聴覚系の蝸牛に相当する周波数分解部１５と、有毛細胞に相当する非線形変換部１６と、蝸牛神経に相当するパルス変換部１７とを備えている。ＡＤ変換部１４は、マイクロホンから入力された信号（入力音）をＡＤ変換する。周波数分解部１５は、バンドパスフィルタ（ＢＰＦ）群により構成され、ＡＤ変換された信号を所定の周波数範囲について対数スケールで複数の周波数帯域（以下、「チャンネル」ともいう。）別の信号に分解する。非線形変換部１６は、周波数分解部１５から入力された各周波数帯域の信号に対して、それぞれ、非線形変換を行うことによりその正の成分だけを取り出すとともに、ローパスフィルタ（ＬＰＦ）によりエンベロープ検出を行う。パルス変換部１７は、非線形変換部１６から入力された各周波数帯域の信号を、それぞれ、信号強度（すなわち、音圧）に比例したパルス頻度を持つパルス列に変換する。これらの処理により、パルス列生成手段６は、入力音を、チャンネル別に、音圧に応じたパルス頻度を持ち時間軸方向にパルスが並んだパルス列に変換する。
【００１２】
また、音源同定装置Ｓは、図２に示すように、パルス数ベクトル生成手段１と、特徴ベクトル生成手段２と、音源カテゴリ識別手段３と、参照ベクトル記憶手段４とを備えている。
【００１３】
パルス数ベクトル生成手段１には、パルス列生成手段６で生成された各チャンネルのパルス列が入力される。実施形態では、チャンネル数は４３である。パルス数ベクトル生成手段１は、チャンネル数分のパルスカウンタ５を備え、各チャンネルのパルス列におけるカウント範囲内のパルス数を、各パルスカウンタ５により数え、それらのパルス数を要素とするパルス数ベクトルを生成する。パルス数ベクトルの要素数は、チャンネル数すなわち４３となる。カウント範囲は、実施形態ではパルス1000個分の幅とする。実施形態では、入力信号を４８kHzでサンプリングしてパルス列を生成するため、１secに48000個のパルスを発生可能であり、パルス1000個分の幅とは1000÷48000≒0.02secの幅となる。すなわち、各チャンネルのパルス列を、約20msec間隔で区切って数える。
【００１４】
特徴ベクトル生成手段２には、パルス数ベクトルが入力される。特徴ベクトル生成手段２は、パルス数ベクトルの各要素のうちの大きい方からＮ個の要素を１とし、残りの要素を０とした特徴ベクトルを生成するものである。すなわち、特徴ベクトルは、音圧の強い部分を１とし残りの部分を０とすることにより音の特徴を表すバイナリーベクトルである。なお、Ｎは、パルス数ベクトルの要素数以下の正整数であり、実施形態ではＮ＝９とする。
【００１５】
音源カテゴリ識別手段３には、特徴ベクトルが入力される。音源カテゴリ識別手段３は、参照ベクトル記憶手段４に記憶されている参照ベクトルから、特徴ベクトルにハミング距離で近い方からｋ個の参照ベクトルを検索し、それらｋ個の参照ベクトルのうちの最も多くの参照ベクトルが属する音源カテゴリを決定し、その音源カテゴリを示すカテゴリ情報を出力するものである。ｋは、参照ベクトルの総数以下の正整数であり、実施形態ではｋ＝１２とする。
【００１６】
参照ベクトル記憶手段４は、複数の参照ベクトルを記憶したもの（実施形態ではＲＯＭ）である。各参照ベクトルは、音源が分かっている入力音から上記特徴ベクトルと同様にして生成したバイナリーベクトルである。すなわち、所定時間長さを持つ入力音からチャンネル別のパルス列を生成し、時間軸方向に所定幅（パルス1000個分）を有するカウント範囲を、時間軸方向に重ならないように、かつ、間隔が開かないように移動させつつ、各パルス列におけるカウント範囲内のパルス数をカウントして、各パルス列におけるパルス数を要素とするパルス数ベクトルを生成する。そして、パルス数ベクトルの要素のうち大きい方からＮ（＝９）個を１に、残りの要素を０にした特徴ベクトルを生成し、その特徴ベクトルを参照ベクトルとする。各参照ベクトルは、元の音源を示す音源カテゴリ（音源種類）に、例えばその音源カテゴリを示すカテゴリ情報に関連付けることにより、分類されている。なお、参照ベクトルの総数を少なくするために、Ｋ平均法（K-means clustering）を用いて、各音源カテゴリについて、その音源カテゴリに属する特徴ベクトルを複数のクラスタに分けるクラスタリングを行い、各クラスタの代表（中心）をその音源カテゴリの参照ベクトルとする。実施形態では、各音源カテゴリについて参照ベクトルを1,000個とした。勿論、クラスタリングの方法は、Ｋ平均法以外の方法であってもよい。
【００１７】
音源同定装置Ｓにおいて実行される音源同定方法について、次に説明する。
【００１８】
音源同定装置Ｓでは、まず、パルス列生成手段６により入力音をチャンネル別のパルス列に変換する。図３は、入力音（入力信号）からパルス列が生成される様子を示したイメージ図であるが、図の最上段が入力信号（audio signal）であり、図の２段目以降に、この入力信号をチャンネル毎に周波数分解したものを破線で、周波数分解された信号から生成されたパルス列を実線で示している。なお、図３では、チャンネル１（channel 1）、チャンネル４（channel 4）、チャンネル７（channel 7）、チャンネル１０（channel 10）、チャンネル１３（channel 13）のみを図示している。
【００１９】
また、図４−１〜図６−２は、音源が分かっている入力音、具体的には、図４−１は目覚まし時計のアラーム音、図４−２はインターホンの呼び出し音、図４−３は笛吹きケトルの沸騰音、図５−１は救急車のサイレン音、図５−２はパトカーのサイレン音、図５−３は電話のベル音、図６−１は消防車のサイレン音、図６−２は人の声から生成されたパルス列を示す。なお、縦軸はチャンネル、横軸は時間を示し、濃淡が濃い程パルス頻度大であることを示している。
【００２０】
〈第１ステップ〉次に、音源同定装置Ｓは、パルス数ベクトル生成手段１により、チャンネル別のパルス列からパルス数ベクトルを生成する第１のステップを実行する。第１のステップでは、パルス数ベクトル生成手段１は、図７のステップＳ０１に示すように、各ウィンドウ（時間窓）についてパルスカウンタ５によりパルス数を数える。ここで、ウィンドウとは、カウント範囲を示すものであり、図８のウィンドウＡ、ウィンドウＢに示すように、すべてのチャンネルを通してパルス列を所定幅（実施形態ではパルス1000個分の幅）で言わば覗いて数えるためのものである。
【００２１】
パルス数ベクトル生成手段１は、まず、最初のウィンドウ内に存在するパルス数を数える。最初のウィンドウは、時刻０から約20msecの範囲となる。パルス数を数えている間は、図７に示すように、待機状態（アイドリング状態）となる。そのウィンドウについてパルス数を数え終わると、パルス数ベクトル生成手段１は、パルス数をチャンネル順に並べたパルス数ベクトルを、特徴ベクトル生成手段２に渡す。次にステップＳ０１を行うときは、パルス数ベクトル生成手段１は、ウィンドウを、最初のウィンドウに重ならないように、かつ、最初のウィンドウとの間に間隔が開かないように移動させ、そのウィンドウ内に存在するパルス数を数える。そして、そのウィンドウについてパルス数を数え終わると、パルス数をチャンネル順に並べたパルス数ベクトルを、特徴ベクトル生成手段２に渡す。パルス数ベクトル生成手段１は、かかる処理を、ウィンドウを時間軸方向に（すなわち、時間の早い方から遅い方に向かって）、前のウィンドウと後のウィンドウとが重ならないように、かつ、前のウィンドウと後のウィンドウとで間隔が開かないように移動させつつ、繰り返す。
【００２２】
かかる処理により、例えば、図８に示すように、ウィンドウＡについてはパルス数ベクトルＡ１＝（3,2,4,3,…,5,2,4,5）が、ウィンドウＢについてはパルス数ベクトルＢ１＝(2,3,5,3,…,3,5,9,10)が生成される。
【００２３】
〈第２ステップ〉パルス数ベクトル生成手段１からパルス数ベクトルを受け取った特徴ベクトル生成手段２は、パルス数ベクトルから特徴ベクトルを生成する第２のステップを実行する（図７のＳ０２）。
【００２４】
詳しくは、図９に示すように、特徴ベクトル生成手段２は、パルス数ベクトルの各要素からＮ（＝９）個の要素を任意に選択し、それらの要素を所定領域に格納する（Ｓ１０１）。次に、所定領域に格納された９個の要素の中で最小値の要素を見つける（Ｓ１０２）。最小値の要素を見つけたら、所定領域に格納されなかった残りの要素とその最小値の要素とを比較する（Ｓ１０３）。そして、残りの要素の中から、その最小値の要素より大きい値の要素を見つけたら、その最小値の要素の代わりに、見つかったより大きい値の要素を所定領域に格納し、ステップＳ１０２に戻って、所定領域に格納されている要素の中で最小値の要素を見つける。
【００２５】
ステップＳ１０２、１０３は、所定領域中の最小値の要素より大きい値の要素が、残りの要素から見つからなくなるまで繰り返される。ステップＳ１０３で、所定領域中の最小値の要素より大きい値の要素が、残りの要素から見つからなかったら、所定領域にはパルス数ベクトルの各要素のうちの大きい方から９個の要素が格納されているので、パルス数ベクトル中のそれら９個の要素を１とし、それら９個以外の要素を０とすることにより、特徴ベクトルを生成する（Ｓ１０４）。
【００２６】
かかる処理により、例えば、図８に示すように、パルス数ベクトルＡ１については特徴ベクトルＡ２が、パルス数ベクトルＢ１については特徴ベクトルＢ２が生成される。生成された特徴ベクトルは音源カテゴリ識別手段３に渡される。
【００２７】
〈第３ステップ〉特徴ベクトル生成手段２から特徴ベクトルを受け取った音源カテゴリ識別手段３は、参照ベクトルと特徴ベクトルとの距離を調べ、特徴ベクトルに近い参照ベクトルが多く属する音源カテゴリのカテゴリ情報を出力する第３のステップを実行する（図７のＳ０３）。
【００２８】
詳しくは、図１０に示すように、音源カテゴリ識別手段３は、まず、参照ベクトル記憶手段４から参照ベクトルをすべて作業領域に読み出す（Ｓ２０１）。次に、作業領域中の参照ベクトルから任意のｋ（＝１２）個の参照ベクトルを選択し、それらの参照ベクトルを所定領域に格納する（Ｓ２０２）。
【００２９】
そして、所定領域に格納された１２個の参照ベクトルの中から、特徴ベクトルとの距離が最大のものを見つける（Ｓ２０３）。なお、距離はハミング距離とする。最大距離の参照ベクトルを見つけたら、所定領域に格納されなかった残りの参照ベクトルと特徴ベクトルとの距離をそれぞれ調べ、それらの距離と見つけた最大距離とを比較する（Ｓ２０４）。そして、残りの参照ベクトルの中から、その最大距離より小さい距離の参照ベクトルを見つけたら、その最大距離の参照ベクトルの代わりに、見つかったより小さい距離の参照ベクトルを所定領域に格納し、ステップＳ２０３に戻って、所定領域に格納されている参照ベクトルの中で最大距離の参照ベクトルを見つける。
【００３０】
ステップＳ２０３、２０４は、所定領域中の最大距離の参照ベクトルより小さい距離の参照ベクトルが、残りの参照ベクトルから見つからなくなるまで繰り返される。ステップＳ２０４で、最大距離の参照ベクトルより小さい距離の参照ベクトルが、残りの参照ベクトルから見つからなかったら、所定領域には、すべての参照ベクトルのうち、特徴ベクトルとの距離が小さい方からｋ（＝１２）個の参照ベクトル（k-Nearest Neighbor）が格納されている（ｋ最近隣法）。各参照ベクトルはその参照ベクトルが属する音源カテゴリに分類されているので、所定領域の１２個の参照ベクトルが属する音源カテゴリをそれぞれ調べて、例えば、救急車のサイレン音であれば救急車のサイレン音の投票数に１を加える等、属する音源カテゴリに投票を行う（Ｓ２０５）。そして、所定領域の１２個の参照ベクトルの中で最も多くの参照ベクトルが属する音源カテゴリを決定して、その音源カテゴリを示すカテゴリ情報を、識別結果として出力する（Ｓ２０６）。
【００３１】
この出力されたカテゴリ情報によって示される音源カテゴリは、特徴ベクトルに最も近い方から１２個の参照ベクトルのうち、最も多くの参照ベクトルが属するものであるので、特徴ベクトルが属する音源カテゴリであると判断できる。
【００３２】
図７に示すように、カテゴリ情報の出力を終えると（すなわち、クラス分けが終了すると）、音源同定装置Ｓは、ステップＳ０１に戻って、次のカウント範囲についてパルス数ベクトルの生成を行い、以下、ステップＳ０１〜Ｓ０３の処理をパルス列が終了するまで繰り返す。なお、ステップＳ０１〜０３の処理は、例えば、前のパルス数ベクトルについてステップＳ０２、Ｓ０３の処理が行われているときに、次のパルス数ベクトルの生成をステップＳ０１で行う等、平行して行ってもよい。
【００３３】
図１１−１〜図１３−２は、各種の入力音を音源同定装置Ｓで識別したときの識別結果を示す図であり、出力されたカテゴリ情報が示す音源カテゴリを黒の棒線で示している。図１１−１は目覚まし時計のアラーム音、図１１−２はインターホンの呼び出し音、図１１−３は笛吹きケトルの沸騰音、図１２−１は救急車のサイレン音、図１２−２はパトカーのサイレン音、図１２−３は電話のベル音、図１３−１は消防車のサイレン音、図１３−２は人の声をそれぞれ入力したときの識別結果を表す。なお、縦軸は音源カテゴリで、上から順に、不明（Unknown）、目覚まし時計のアラーム音（Alarm）、インターホンの呼び出し音（Interphone）、笛吹きケトルの沸騰音（Kettle）、救急車のサイレン音（Ambulance）、パトカーのサイレン音（Police）、電話のベル音（Phone）、消防車のサイレン音（Fire）、人の声（Voice）であり、横軸は時間である。これらの図から、音源同定装置Ｓは、かなり正確に音源を識別していることが分かる。
【００３４】
音源同定装置Ｓにおいて、パルス数ベクトルをそのまま識別に用いずに特徴ベクトルに変換したのは、パルス数ベクトルをそのまま用いると、音圧（音の強さ）の影響を強く受けるため、ノイズに弱くなってしまうからである。１つのウィンドウ内の各チャンネルのパルス数は、そのウィンドウに相当する時間内の各チャンネルの平均エネルギーに比例するので、特徴ベクトルは、その時間内の音のエネルギーの強い部分を表すことになるが、強い部分を「１」でその他の部分を「０」で表しているので、音圧の影響は小さくなって、ノイズに強い。
【００３５】
また、図１４に示すように、パルス数ベクトルをそのまま用いるとともに、参照ベクトルとしてパルス数ベクトルと同様のベクトルを用いて、両者の距離をマンハッタン距離で計測すると、幾つかの要素が入れ替わっただけの殆ど同じベクトルでも、距離が遠くなってしまうことがある。図１４では、参照ベクトル（reference）と殆ど同じベクトルＡ（vector A）が、参照ベクトルに似ていないベクトルＢ（vector B）よりも、参照ベクトルから遠くなってしまっている。音源同定装置Ｓでは、特徴ベクトルと参照ベクトルとをいずれもバイナリーベクトルとし、両者の距離をハミング距離で計測しているので、似ているもの同士は距離が近く、似ていないもの同士は距離が遠くなり、識別の正確さが向上する。また、ハミング距離は排他的論理和を用いて容易に演算可能である。
【００３６】
なお、図１１−１〜図１３−２から分かるように、音源同定装置Ｓは、単純な音については正しく分類できるが、複雑な音については分類ミスを生じている。この分類ミスを除去するには、音源カテゴリ識別手段３がカテゴリ情報を出力する度に、そのカテゴリ情報が示す音源カテゴリのポテンシャル値を上げ、他の音源カテゴリのポテンシャル値を下げるポテンシャル値処理手段を、音源カテゴリ識別手段３の後段に設け、ポテンシャル値が最大になった音源カテゴリを、入力音の音源と判定することが好ましい。以下、ポテンシャル値処理手段が行う第４のステップについて説明する。第４のステップは、第３のステップの次に実行される。
【００３７】
〈第４のステップ〉ポテンシャル値処理手段は、各音源カテゴリｉのポテンシャル値Ｐｉ（ｔ）を記憶している。なお、ｉは、上記８種類の音源カテゴリにそれぞれ付されたインデックスでｉ＝０〜７である。例えば、ｉ＝０は目覚まし時計のアラーム音（Alarm）に、ｉ＝１はインターホンの呼び出し音（Interphone）に付されたインデックスである。音源カテゴリ識別手段３は、カテゴリ情報として、かかるインデックスを出力するものとする。また、ｔは時刻であり、Ｐｉ（０）＝０（ｉ＝０〜７）とする。
【００３８】
ポテンシャル値処理手段は、音源カテゴリ識別手段３から時刻ｔにおけるカテゴリ情報ｙ（ｔ）を受け取ると、次の数式(1)(2)に従って、Ｐｉ（ｔ）（ｉ＝０〜７）を増減する。
【００３９】
ｉ＝ｙ（ｔ）に対しては、Ｐｉ（ｔ）＝min（Ｐmax，Ｐｉ（ｔ−１）＋γ）…(1)
ｉ≠ｙ（ｔ）に対しては、Ｐｉ（ｔ）＝max（０，Ｐｉ（ｔ−１）−１）…(2)
すなわち、カテゴリ情報ｙ（ｔ）で示された音源カテゴリに対しては、そのポテンシャル値をγ上昇させ、それ以外の音源カテゴリに対しては、そのポテンシャル値を１下降させる。なお、１回あたりの上昇幅は１回あたりの下降幅よりも大きいもの（すなわち、γ＞１）とし、ここではγ＝２とする。また、Ｐmaxはポテンシャル値の上限であり、ポテンシャル値の下限は０とする。
【００４０】
このように、時間情報を加えれば、音源は一般に急変することはないので、時間の経過と共にその音源が識別されるようになる。以下に実験例を示す。
【００４１】
〈実験例〉
上記８種類の音源をマイクの周囲に並べ、インデックスが小さい音源から順に音を発してマイクで集音し、サンプリング周波数４８kHzで３つの音信号ファイルを作った。そのうち２つのファイルをトレーニング（すなわち、参照ベクトルの作成）に用い、１つのファイルをテストに用いた。各パラメータは、次のように定めた。
【００４２】
ウィンドウ（カウント範囲）の幅＝1000（パルス1000個分）
Ｎ＝９
ｋ＝１２
Ｐmax＝１９２
γ＝２
テスト・ファイルの音信号を音源同定装置Ｓに入力したときの出力結果を、図１５に示す。図１５の最上段（Original Labels）は入力音を示し、２段目（k-Nearest Neighbor Classification Result）は音源カテゴリ識別手段３の出力結果を×印で示す。なお、×印が多数密集している部分は棒状に見える。また、４段目（Time Potentials）のグラフは、ポテンシャル値処理手段によって処理されたポテンシャル値を示す。なお、このグラフにおいて、符号Ｐ０が付された線はＰ０（ｔ）、符号Ｐ１が付された線はＰ１（ｔ）、符号Ｐ２が付された線はＰ２（ｔ）、符号Ｐ３が付された線はＰ３（ｔ）、符号Ｐ４が付された線はＰ４（ｔ）、符号Ｐ５が付された線はＰ５（ｔ）、符号Ｐ６が付された線はＰ６（ｔ）、符号Ｐ７が付された線はＰ７（ｔ）を表している。４段目のグラフからは、時間の経過と共に正しい音源がポテンシャル値によって示されることが分かる。なお、３段目（Time Potentials Classification Result）は、４段目のポテンシャル値のうち最大となったものの音源カテゴリを示している。
【００４３】
このように、時間情報を加えたポテンシャル値によって音源を判定すれば、複雑な音であっても入力音の音源を正しく識別できることが分かる。
【００４４】
本発明の音源同定方法は、一般のコンピュータでソフトウェアにより実行させることもできる（すなわち、音源同定装置Ｓを一般のコンピュータで実現することもできる）が、処理の高速化のためには処理ロジックをハードウェア化することが好ましい。実施形態の音源同定方法（但し、ポテンシャル値の処理を行う第４ステップを除く。）をコーディングしてＦＰＧＡに書き込みハードウェア化した場合、回路数は約2,300ALUTsとなり、上記特許文献２記載の装置に比して回路数が大幅に少なくなった。これは、処理ロジックがシンプルでステップ数が少ないためである。このように、本発明の音源同定方法は、少ない回路数でハードウェア化可能であるので、音源同定装置Ｓのコンパクト化と処理の高速化が可能である。
【００４５】
また、本発明の音源同定方法では、パラメータ数が、従来のパルスニューロンモデルを用いた手法に比して少ない。しかも、図１６に、パラメータＮ（Number of Features）の値を６〜１２の範囲で変更するとともにパラメータｋ（Nearest Neighbor）の値を１〜１７の範囲で変更して、識別の正確さ（正しく識別された割合）の変化を調べた結果を示すが、図１６から分かるように、パラメータＮ、ｋは、ある程度大きいところからは値を変えても識別の正確さを維持できる。すなわち、これらのパラメータはいずれも臨界的（critical）でないため、調整が容易であり、新しい音を学習させる（すなわち、新しい音により参照ベクトルを生成する）ときも、パラメータの調整が容易である。
【００４６】
また、参照ベクトルがバイナリーベクトルであるため、参照ベクトルを記憶するメモリの容量が少なくて済む。
【００４７】
なお、上記実施形態では、カウント範囲を、時間軸方向に重ならないように、かつ、間隔が開かないように移動させつつ、各パルス列におけるカウント範囲内のパルス数をカウントしたが、カウント範囲同士の間隔を開けるように構成してもよい。適宜間隔を開けつつカウント範囲を移動させてパルス数をカウントしても、入力音の特徴を抽出でき、音源同定が可能であるとともに、データ量を減少させることができるからである。
【図面の簡単な説明】
【００４８】
【図１】本発明の一実施形態に係る音源同定装置のパルス列生成手段のブロック構成図である。
【図２】同実施形態に係る音源同定装置のブロック構成図である。
【図３】入力信号からパルス列を生成する様子を示したイメージ図である。
【図４−１】目覚まし時計のアラーム音から生成されたパルス列を示す図である。
【図４−２】インターホンの呼び出し音から生成されたパルス列を示す図である。
【図４−３】笛吹きケトルの沸騰音から生成されたパルス列を示す図である。
【図５−１】救急車のサイレン音から生成されたパルス列を示す図である。
【図５−２】パトカーのサイレン音から生成されたパルス列を示す図である。
【図５−３】電話のベル音から生成されたパルス列を示す図である。
【図６−１】消防車のサイレン音から生成されたパルス列を示す図である。
【図６−２】人の声から生成されたパルス列を示す図である。
【図７】同実施形態に係る音源同定方法を示すフローチャートである。
【図８】パルス列からパルス数ベクトル、特徴ベクトルが生成される様子を示したイメージ図である。
【図９】同実施形態に係る音源同定方法の第２ステップのフローチャートである。
【図１０】同実施形態に係る音源同定方法の第３ステップのフローチャートである。
【図１１−１】目覚まし時計のアラーム音を入力したときの識別結果を示す図である。
【図１１−２】インターホンの呼び出し音を入力したときの識別結果を示す図である。
【図１１−３】笛吹きケトルの沸騰音を入力したときの識別結果を示す図である。
【図１２−１】救急車のサイレン音を入力したときの識別結果を示す図である。
【図１２−２】パトカーのサイレン音を入力したときの識別結果を示す図である。
【図１２−３】電話のベル音を入力したときの識別結果を示す図である。
【図１３−１】消防車のサイレン音を入力したときの識別結果を示す図である。
【図１３−２】人の声を入力したときの識別結果を示す図である。
【図１４】パルス数ベクトルと、パルス数ベクトルと同様の参照ベクトルとの距離をマンハッタン距離で計測した例である。
【図１５】テスト・ファイルの音信号を入力したときの出力結果を示す図である。
【図１６】パラメータＮ、ｋの値を変えて、識別の正確さの変化を調べた結果を示す図である。
【符号の説明】
【００４９】
Ｓ…音源同定装置
１…パルス数ベクトル生成手段
２…特徴ベクトル生成手段
３…音源カテゴリ識別手段
４…参照ベクトル記憶手段
６…パルス列生成手段
【図１】
2010079188.tif 000003
【図２】
2010079188.tif 000004
【図３】
2010079188.tif 000005
【図７】
2010079188.tif 000006
【図９】
2010079188.tif 000007
【図１０】
2010079188.tif 000008
【図１１−１】
2010079188.tif 000009
【図１１−２】
2010079188.tif 000010
【図１１−３】
2010079188.tif 000011
【図１２−１】
2010079188.tif 000012
【図１２−２】
2010079188.tif 000013
【図１２−３】
2010079188.tif 000014
【図１３−１】
2010079188.tif 000015
【図１３−２】
2010079188.tif 000016
【図１４】
2010079188.tif 000017
【図１５】
2010079188.tif 000018
【図１６】
2010079188.tif 000019
【図４−１】
2010079188.tif 000020
【図４−２】
2010079188.tif 000021
【図４−３】
2010079188.tif 000022
【図５−１】
2010079188.tif 000023
【図５−２】
2010079188.tif 000024
【図５−３】
2010079188.tif 000025
【図６−１】
2010079188.tif 000026
【図６−２】
2010079188.tif 000027
【図８】
2010079188.tif 000028