以下に本発明の実施の形態を説明するが、本発明の構成要件と、明細書又は図面に記載の実施の形態との対応関係を例示すると、次のようになる。この記載は、本発明をサポートする実施の形態が、明細書又は図面に記載されていることを確認するためのものである。従って、明細書又は図面中には記載されているが、本発明の構成要件に対応する実施の形態として、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その構成要件に対応するものではないことを意味するものではない。逆に、実施の形態が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
本発明の一側面の検出装置は、
入力音に含まれる所定の音を検出する検出装置(例えば、図1の検出装置1)において、
前記入力音の複数種類の特徴量(例えば、特徴量#1乃至#9)を、フレームごとに算出する特徴量算出手段(例えば、図1の特徴量算出部15)と、
前記複数種類の特徴量それぞれに対して、前記特徴量が算出される複数のフレームから、前記特徴量を代表するフレームである代表フレームを、前記特徴量に基づいて選択する選択手段(例えば、図1の特徴量比較部16)と、
前記複数のフレームのそれぞれに対して、そのフレームが代表フレームとなっている前記特徴量の組み合わせを検出し、前記特徴量の組み合わせに基づいて、前記入力音に前記所定の音が含まれるかを判定する判定手段(例えば、図1の判定部17)と
を備える。
本発明の一側面の検出装置には、
前記入力音に前記所定の音が含まれると判定された場合に、前記入力音を出力する出力手段(例えば、図1の出力部19)をさらに設けることができる。
本発明の一側面の検出方法またはプログラムは、
入力音に含まれる所定の音を検出する検出方法または検出処理をコンピュータに実行させるプログラムであり、
前記入力音の複数種類の特徴量を、フレームごとに算出し(例えば、図13のステップS4)、
前記複数種類の特徴量それぞれに対して、前記特徴量が算出される複数のフレームから、前記特徴量を代表するフレームである代表フレームを、前記特徴量に基づいて選択し(例えば、図13のステップS9)、
前記複数のフレームのそれぞれに対して、そのフレームが代表フレームとなっている前記特徴量の組み合わせを検出し、前記特徴量の組み合わせに基づいて、前記入力音に前記所定の音が含まれるかを判定する(例えば、図13のステップS10及びS11)
ステップを含む。
以下、図面を参照して本発明を適用した実施の形態について説明する。
図1は、本発明を適用した検出装置の一実施の形態の構成例を示すブロック図である。
図1において、検出装置1は、マイクロフォン11、増幅器12、A/D(Analog/Digital)変換器13、フレーム分割部14、特徴量算出部15、特徴量比較部16、判定部17、フレームメモリ18、及び出力部19から構成され、入力音から所定の音を検出する。
検出装置1のマイクロフォン11は、外部からの入力音を、電気信号である音信号に変換し、増幅器12に供給する。
ここで、図1の検出装置1は、例えば、マイクロフォン11が設置されている環境で自然と聞えてくる環境音を入力音として、その環境において、時間軸上での発生の頻度が低い音である異音を検出する場合等に利用することができる。ただし、検出装置1で検出する音は異音に限定されるものではなく、検出装置1は、異音ではない音の検出も行うことができる。
増幅器12は、マイクロフォン11から供給される音信号を増幅し、その結果得られる増幅された音信号をA/D変換器13に供給する。
A/D変換器13は、増幅器12から供給される(アナログの)音信号をA/D変換し、その結果得られるディジタル化された音信号を、フレーム分割部14に供給する。
フレーム分割部14は、A/D変換器13から供給される音信号を、例えば、1秒等の所定の時間長のフレームに分割し、その結果得られるフレームごとの音信号を、特徴量算出部15とフレームメモリ18に、順次、供給する。
特徴量算出部15は、複数であるn個の特徴量算出部151乃至15nから構成され、フレーム分割部14からのフレームごとの音信号から、その音信号の複数種類の特徴量であるn種類の特徴量を算出して、特徴量比較部16に供給する。
すなわち、特徴量算出部15i(i=1, 2, …, n)は、フレーム分割部14から供給される複数であるNフレームを、音を検出する検出対象として、その検出対象のNフレームのそれぞれから、後述する特徴量#iを算出し、特徴量比較部16に供給する。
特徴量比較部16は、n個の特徴量比較部161乃至16nから構成され、n種類の特徴量それぞれに対して、検出対象のNフレームから、各特徴量を代表するフレームである代表フレームを、特徴量算出部15から供給される各特徴量に基づいて選択する。
すなわち、特徴量比較部16iには、特徴量算出部15iから、検出対象のNフレームそれぞれの特徴量#iが順次供給される。
特徴量比較部16iは、特徴量算出部15iから供給されるNフレームそれぞれの特徴量#iに基づき、検出対象のNフレームから、例えば、特徴量#iが最大のフレームを、特徴量#iを代表する代表フレームとして選択し、その代表フレーム(となっているフレーム)を特定する選択情報を、判定部17に供給する。
判定部17は、特徴量比較部161乃至16nから供給される選択情報に基づいて、検出対象のNフレームのそれぞれに対して、各フレームが代表フレームとなっている特徴量の組み合わせを検出し、その特徴量の組み合わせに基づいて、入力音に所定の音が含まれるかを判定する。そして、判定部17は、その判定の結果を表す判定情報を、出力部19に供給する。
フレームメモリ18は、フレーム分割部14から供給されるフレームごとの音信号を記憶する。なお、フレームメモリ18は、少なくとも、検出対象のNフレーム分の音信号を記憶することができる記憶容量を有する。
出力部19は、判定部17から入力音に所定の音が含まれる旨の判定情報が供給されると、検出対象のNフレームの音信号を、フレームメモリ18から読み出して、図示せぬスピーカから出力する。
以下においては、特徴量算出部15は、特徴量算出部151乃至159で構成され、複数種類の特徴量として、9種類の特徴量である特徴量#1乃至#9を算出する(つまり、nが9である)場合について説明する。
次に、図2乃至10を参照して、特徴量算出部151乃至159がそれぞれ算出する特徴量#1乃至#9について説明する。
まず、図2を参照して、特徴量算出部151が算出する特徴量#1について説明する。
特徴量算出部151は、フレーム内において、局所的に音信号のレベル(値)が最小または最大になっている点、つまり、極小値または極大値となっている極値点を求め、さらに、フレーム内のすべての隣接する2つの極値点について、その隣接する2つの極値点の間の音信号のレベルの差を求める。そして、特徴量算出部151は、その差の最大値を、特徴量#1として求める。
図2は、1フレームの音信号の例を示している。なお、図2において、縦軸は、音信号のレベルを表し、横軸は、時間を表している。
図2では、図中Aで示す部分が、フレーム内の隣接する2つの極値点の間の音信号のレベルの差の最大値になっており、特徴量算出部151では、この最大値が、特徴量#1として求められる。
例えば、風切り音やロードノイズ等の非定常な音では、隣接する2つの極値点の間の音信号のレベルの差が小となる傾向があるので、特徴量#1は小となる。一方、例えば、人の音声や救急車のサイレンの音等の定常性のある音では、隣接する2つの極値点の間の音信号のレベルの差が大となる傾向があるので、特徴量#1は大となる。
次に、図3を参照して、特徴量算出部152が算出する特徴量#2について説明する。
特徴量算出部152は、フレーム内の半波長の数と、そのうちのレベルが0と交差する(ゼロクロスがある)半波長の数とを求め、ゼロクロスがある半波長の数を、フレーム内の半波長の数で除算することにより、フレーム内のゼロクロスがある半波長の割合を、特徴量#2として求める。
ここで、半波長とは、隣接する2つの極値点の間の音信号(の波形)を意味する。
図3は、1フレームの音信号の例を示している。なお、図3において、縦軸は、音信号のレベルを表し、横軸は、時間を表している。
図3では、フレーム内の半波長(図中の丸印及びバツ印)の数が16であり、その16の半波長のうちのゼロクロスがある半波長(図中の丸印)の数は11になっている。この場合、フレーム内のゼロクロスがある半波長の割合は、0.69(≒11/16)であり、これが特徴量#2として求められる。
例えば、風切り音やロードノイズ等の非定常な音では、ゼロクロスがある半波長の割合が小となる傾向があるので、特徴量#2は小となる。一方、例えば、人の音声等の定常性のある音では、ゼロクロスがある半波長の割合が大となる傾向があるので、特徴量#2は大となる。
次に、図4を参照して、特徴量算出部153が算出する特徴量#3について説明する。
特徴量算出部153は、フレームを、例えば、10ブロック等の複数のブロックに等分し、フレーム内の10個のブロックそれぞれについて、音信号の振幅の振れ幅(音信号のレベルの最大値と最小値との差)であるダイナミックレンジを求める。さらに、特徴量算出部153は、フレーム内でダイナミックレンジが最小のブロックと最大のブロックとについて、ゼロクロスがある半波長の割合を求め、フレーム内でダイナミックレンジが最大のブロックと最小のブロックとの間の、ゼロクロスがある半波長の割合の差を、特徴量#3として求める。
図4は、フレーム内でダイナミックレンジが最小のブロックと最大のブロックの音信号の例を示している。
図4では、1フレームが10個のブロックに等分されている。さらに、図4では、フレームの左から2番目の第2ブロックが、ダイナミックレンジが最小のブロックになっており、左から6番目の第6ブロックが、ダイナミックレンジが最大のブロックになっている。
そして、図4では、フレーム内でダイナミックレンジが最小の第2ブロックにおいて、半波長の数が16に、ゼロクロスがある半波長の数が9に、それぞれなっている。したがって、第2ブロックでは、ゼロクロスがある半波長の割合は、0.60(=9/15)である。また、図4では、フレーム内でダイナミックレンジが最大の第6ブロックにおいて、半波長の数が14に、ゼロクロスがある半波長の数が10に、それぞれなっている。したがって、第6ブロックでは、ゼロクロスがある半波長の割合は、0.71(≒10/14)である。
以上から、図4では、フレーム内でダイナミックレンジが最小のブロックと最大のブロックの間の、ブロック内でのゼロクロスがある半波長の割合の差は、0.11(=0.71−0.60)であり、これが特徴量#3として求められる。
例えば、クラクション等の音の、ダイナミックレンジが大きく変化する傾向がある音の立ち上がりまたは立ち下りの部分を含むフレームでは、ダイナミックレンジが大の部分で、ゼロクロスがある半波長の割合が大となる傾向があるので、特徴量#3は大となる。
次に、図5を参照して、特徴量算出部154が算出する特徴量#4について説明する。
特徴量算出部154は、フレームを、例えば、10ブロックに等分し、フレーム内の10個のブロックそれぞれについて、音信号のレベルの絶対値の最大値を求める。さらに、特徴量算出部154は、フレーム内で音信号のレベルの絶対値の最大値が最小のブロックと最大のブロックとの間の、音信号のレベルの絶対値の最大値の差を、特徴量#4として求める。
図5は、フレーム内で音信号のレベルの絶対値の最大値が最小のブロックと最大のブロックの音信号の例を示している。
図5では、1フレームが10個のブロックに等分されている。さらに、図5では、フレームの左から2番目の第2ブロックが、音信号のレベルの絶対値の最大値が最小のブロックになっており、左から6番目の第6ブロックが、音信号のレベルの絶対値の最大値が最大のブロックとなっている。
いま、第2ブロックの音信号のレベルの絶対値の最大値をminと表すとともに、第6ブロックの音信号のレベルの絶対値の最大値をmaxと表すこととすると、フレーム内で、音信号のレベルの絶対値の最大値が最小のブロックと最大のブロックの間の音信号のレベルの絶対値の最大値の差は、max-minと表され、これが特徴量#4として求められる。
例えば、車のドアを閉める音等の、立ち上がり又は立ち下がりが急峻な音の立ち上がりまたは立ち下りの部分を含むフレームでは、音信号のレベルの絶対値が大きく変化する傾向があるので、特徴量#4は大となる。
次に、図6を参照して、特徴量算出部155が算出する特徴量#5について説明する。
特徴量算出部155は、フレームを、例えば、10ブロックに等分し、フレーム内の10個のブロックそれぞれについて、ゼロクロスの数を求める。さらに、特徴量算出部155は、フレーム内でゼロクロスの数が最小のブロックと最大のブロックとの間の、ゼロクロスの数の差を、特徴量#5として求める。
図6は、フレーム内でゼロクロスの数が最小のブロックと最大のブロックの音信号の例を示している。
図6では、1フレームが10個のブロックに等分されている。さらに、図6では、フレームの左から3番目の第3ブロックが、フレーム内でゼロクロスの数が最小のブロックとなっており、左から6番目の第6ブロックが、フレーム内でゼロクロスの数が最大のブロックとなっている。
そして、図6では、第3ブロックのゼロクロスの数が5になっており、第6ブロックのゼロクロスの数が11になっているので、フレーム内でゼロクロスの数が最小のブロックと最大のブロックとの間の、ゼロクロスの数の差は、6(=11−5)であり、これが特徴量#5として求められる。
例えば、金属同士があたる音等の低域の周波数が大きく変化する音では、ゼロクロスの数が大きく変化する傾向があるので、特徴量#5は大となる。
次に、図7を参照して、特徴量算出部156が算出する特徴量#6について説明する。
特徴量算出部156は、フレームを、例えば、10ブロックに等分し、フレーム内の10個のブロックそれぞれについて、半波長の数を求める。さらに、特徴量算出部156は、フレーム内で半波長の数が最小のブロックと最大のブロックとの間の半波長の数の差を、特徴量#6として算出する。
図7は、フレーム内で半波長の数が最小のブロックと最大のブロックの音信号の例を示している。
図7では、1フレームが10個のブロックに等分されている。さらに、図7では、フレームの左から2番目の第2ブロックが、半波長の数が最大のブロックになっており、フレームの左から7番目の第7ブロックが、半波長の数が最小のブロックになっている。
そして、図7では、第2ブロックの半波長の数が15になっており、第7ブロックの半波長の数が10になっているので、フレーム内で半波長の数が最小のブロックと最大のブロックの間の半波長の数の差は、5(=15−10)であり、これが特徴量#6として求められる。
例えば、金属同士があたる音等の高域の周波数が大きく変化する音では、半波長の数が大きく変化する傾向があるので、特徴量#6は大となる。
次に、図8を参照して、特徴量算出部157が算出する特徴量#7について説明する。
特徴量算出部157は、フレームを、例えば、10ブロックに分割し、フレーム内の10個のブロックそれぞれについて、音信号のレベルのダイナミックレンジを求める。さらに、特徴量算出部157は、フレーム内でダイナミックレンジが最大のブロックと最小のブロックの間のダイナミックレンジの差を用いて閾値を求める。そして、特徴量算出部157は、フレーム内の10個のブロックのダイナミックレンジそれぞれと閾値とを比較し、閾値以下のダイナミックレンジを有するブロックの割合を、特徴量#7として求める。
図8は、フレーム内でダイナミックレンジが最大のブロックと最小のブロックの音信号の例を示している。
図8では、1フレームが10個のブロックに等分されている。さらに、図8では、フレーム内の左から2番目の第2ブロックにおいて、ブロック内でのダイナミックレンジが最小となっており、フレーム内の左から6番目の第6ブロックにおいて、ブロック内でのダイナミックレンジが最大となっている。
いま、第6ブロックのダイナミックレンジをDRmaxと、第2ブロックのダイナミックレンジをDRminと、フレーム内でダイナミックレンジが最大のブロックと最小のブロックの間の、ダイナミックレンジの差をBDRと、それぞれ表すこととすると、ダイナミックレンジの差BDRは、式BDR=DRmax−DRminで求めることができるが、このダイナミックレンジの差BDRを用いて求められる閾値として、例えば、ダイナミックレンジの差BDRと、0.4等の所定の係数thとの積BDR×thを採用することとすると、特徴量#7としては、閾値BDR×th以下のダイナミックレンジを有するブロックの割合が求められる。
例えば、図8では、第2ブロックと第3ブロックが、ダイナミックレンジが閾値BDR×th以下のブロックとなっており、したがって、10個のブロックのうちの2個のブロックが閾値BDR×th以下のダイナミックレンジを有するブロックであるから、閾値BDR×th以下のダイナミックレンジを有するブロックの割合である特徴量#7としては、0.2(=2/10)が求められる。
例えば、ドアを閉めるときの音のようなインパルス的な音では、音信号のレベルが瞬間的に小から大になり、ダイナミックレンジが大のブロックよりも、ダイナミックレンジが小のブロックの数が多くなる傾向があるので、特徴量#7は大となる。
次に、図9を参照して、特徴量算出部158が算出する特徴量#8について説明する。
特徴量算出部158は、フレームを、例えば、10ブロックに等分し、フレーム内の10個のブロックそれぞれについて、ゼロクロスがある半波長の割合を求める。さらに、特徴量算出部158は、フレーム内でゼロクロスがある半波長の割合が最小のブロックと最大のブロックの間の、ゼロクロスがある半波長の割合の差を、特徴量#8として求める。
図9は、フレーム内でゼロクロスがある半波長の割合が最小のブロックと最大のブロックの音信号の例を示している。
図9では、1フレームが10個のブロックに等分されている。さらに、図9では、フレーム内の左から3番目の第3ブロックが、ゼロクロスがある半波長の割合が最小のブロックとなっており、左から6番目の第6ブロックが、ゼロクロスがある半波長の割合が最大のブロックとなっている。
すなわち、図9では、第3ブロックは、ゼロクロスがある半波長の割合が0.33(≒5/15)で、フレーム内でゼロクロスがある半波長の割合が最小のブロックになっている。また、第6ブロックは、ゼロクロスがある半波長の割合が0.78(≒11/14)で、フレーム内でゼロクロスがある半波長の割合が最大のブロックになっている。
以上から、図9では、フレーム内でゼロクロスがある半波長の割合が最小のブロックと最大のブロックの間の、ゼロクロスがある半波長の割合の差は0.45(=0.78−0.33)であり、これが特徴量#8として求められる。
例えば、救急車のサイレンの音等の定常性がある音の立ち上がりまたは立ち下がり、すなわち、非定常な音から定常性がある音に変化する部分や、その逆の変化がある部分のように、音の性質が変化する部分では、ゼロクロスがある半波長の割合が大きく変化する傾向があるので、特徴量#8は大となる。
次に、図10を参照して、特徴量算出部159が算出する特徴量#9について説明する。
特徴量算出部159は、図10に示すように、フレームを、例えば、10ブロックに等分し、フレーム内の10個のブロックそれぞれの音信号に対してFFT(Fast Fourier Transform)変換を施して、各ブロックのスペクトラムを得る。さらに、特徴量算出部159は、フレーム内のすべての隣接する2つのブロックについて、その隣接する2つのブロックのスペクトラムの間の、同一の周波数成分の差の絶対値和を求める。そして、特徴量算出部159は、その絶対値和のうちの最大値を、特徴量#9として求める。
例えば、金属同士があたる音等では、低域から高域にわたる全帯域の周波数成分が大きく変化し、スペクトラムが大きく変化する傾向があるので、特徴量#9は大となる。
次に、図11を参照して、図1の特徴量比較部16の処理について説明する。
図11は、検出対象を10フレームとして、その10フレームそれぞれについて、特徴量算出部15で算出された特徴量#1乃至#9の例を示している。
ここで、検出対象の10フレームの先頭からf番目のフレームをフレーム#fという。
特徴量比較部16iは、検出対象の10フレームから、特徴量#iが最大のフレームを、特徴量#iを代表する代表フレーム#iとして選択し、その選択の結果を表す選択情報を、判定部17に供給する。
図11では、特徴量#1乃至#9が最大となるフレーム、つまり、代表フレームに影を付してある。すなわち、図11では、特徴量#1乃至#4については、フレーム#2が、特徴量#5及び#6については、フレーム#3が、特徴量#7については、フレーム#4が、特徴量#8については、フレーム#2が、特徴量#8については、フレーム#3が、それぞれ代表フレームとして選択される。
次に、図12を参照して、図1の判定部17の処理について説明する。
判定部17は、特徴量比較部161乃至169から供給される選択情報に基づいて、検出対象の複数のフレームのそれぞれに対して、各フレームが代表フレームとなっている特徴量の組み合わせを検出する。
図12は、図11に示した検出対象のフレーム#1乃至#10のそれぞれに対して、判定部17が検出する特徴量の組み合わせを示している。
フレーム#1については、フレーム#1を代表フレームとする特徴量が存在しないので、判定部17では、フレーム#1を代表フレームとする特徴量の組み合わせは検出されない。
フレーム#2については、フレーム#2を代表フレームとする特徴量が、特徴量#1乃至#4、及び#8となっているので、判定部17は、フレーム#2を代表する特徴量の組み合わせが、特徴量#1乃至#4、及び#8であることを検出する。
フレーム#3については、フレーム#3を代表フレームとする特徴量が、特徴量#5、#6、及び#9となっているので、判定部17は、フレーム#3を代表フレームとする特徴量の組み合わせが、特徴量#5、#6、及び#9であることを検出する。
フレーム#4については、フレーム#4を代表フレームとする特徴量が、特徴量#7となっているので、判定部17は、フレーム#4を代表フレームとする特徴量の組み合わせが、特徴量#7であることを検出する。
フレーム#5については、フレーム#5を代表フレームとする特徴量が存在しないので、判定部17では、フレーム#5を代表フレームとする特徴量の組み合わせは検出されない。
以下、フレーム#6乃至#10については、そのフレーム#6乃至#10を代表フレームとする特徴量が存在しないので、フレーム#1やフレーム#5と同様に、特徴量の組み合わせは検出されない。
判定部17は、検出対象の10フレームそれぞれについて、そのフレームが代表フレームとなっている特徴量の組み合わせを検出すると、その特徴量の組み合わせに基づいて、入力音に所定の音が含まれるかを判定し、その判定の結果を表す判定情報を、出力部19に供給する。
すなわち、判定部17は、検出対象の10フレームのあるフレームが代表フレームとなっている特徴量の組み合わせ(以下、適宜、代表特徴量セットという)に、あらかじめ決められた2以上の特徴量の組み合わせである標準特徴量セットが含まれている場合に、入力音に(その標準特徴量セットに対応する)所定の音が含まれると判定する。
ここで、標準特徴量セットとしては、例えば、検出しようとする所定の音に対して、代表特徴量セットとして求められるのと同一の特徴量の組み合わせが用いられる。
すなわち、例えば、車のドアを閉める音やブレーキの音等の第1の音については、特徴量#1乃至#9のうちの、特徴量#1,#4、及び#7が大きくなる傾向があり、したがって、車のドアを閉める音やブレーキの音等を検出する場合には、標準特徴量セットとして、特徴量#1,#4、及び#7の組み合わせが用いられる。
また、例えば、カラスの鳴き声や長時間のクラクションの音等の第2の音については、特徴量#1乃至#9のうちの、特徴量#2,#3、及び#5が大きくなる傾向があり、したがって、カラスの鳴き声や長時間のクラクションの音等を検出する場合には、標準特徴量セットとして、特徴量#2,#3、及び#5の組み合わせが用いられる。
さらに、例えば、金属同士があたる音等の第3の音については、特徴量#1乃至#9のうちの、特徴量#5,#6、及び#9が大きくなる傾向があり、したがって、金属同士があたる音等を検出する場合には、標準特徴量セットとして、特徴量#5,#6、及び#9の組み合わせが用いられる。
また、例えば、短いクラクション、救急車のサイレン、ブレーキの音等の第4の音については、特徴量#1乃至#9のうちの、特徴量#1及び#8が大きくなる傾向があり、短いクラクション、救急車のサイレン、ブレーキの音等を検出する場合には、標準特徴量セットとして、特徴量#1及び#8の組み合わせが用いられる。
以上のような4セットの標準特徴量セットがあらかじめ決められて、判定部17に設定されている場合に、判定部17において、図12に示した代表特徴量セットが検出されたときには、フレーム#2について検出された代表特徴量セットとしての特徴量#1,#2,#3,#4、及び#8の組み合わせには、第4の音に対応する標準特徴量セットとしての特徴量#1及び#8の組み合わせが含まれ、また、フレーム#3について検出された代表特徴量セットとしての特徴量#5,#6、及び#9の組み合わせには、第3の音に対応する標準特徴量セットとしての特徴#5,#6、及び#9の組み合わせが含まれるので、判定部17では、入力音に所定の音が含まれると判定され、すなわち、フレーム#2に第4の音が含まれ、フレーム#3に第3の音が含まれると判定され、その旨の判定情報が、出力部19に供給される。
次に、図13のフローチャートを参照して、図1の検出装置1による検出処理について説明する。
マイクロフォン11は、外部からの入力音を、電気信号としての音信号に変換し、増幅器12を介して、A/D変換器13に供給する。A/D変換器13は、そこに供給される音信号をA/D変換して、フレーム分割部14に供給する。
フレーム分割部14は、A/D変換器13から検出対象の、例えば、10フレーム分の音信号が供給されると、ステップS1において、フレーム数をカウントする変数であるフレームカウンタfを初期値である1に初期化する。
さらに、ステップS1では、特徴量比較部16i(1≦i≦9)が特徴量#iの最大値を記憶する変数である最大特徴量#iを初期値としての0に初期化するとともに、特徴量#iが最大のフレームを表す最大フレーム番号#iを初期値としての0に初期化して、処理は、ステップS2に進む。
ステップS2において、フレーム分割部14は、A/D変換器13から供給される検出対象の音信号を、例えば、10フレーム等のNフレームに分割し、その結果得られるフレームごとの音信号を、特徴量算出部15とフレームメモリ18に、順次、供給する。そして、処理は、ステップS2からステップS3に進む。
ステップS3において、フレームメモリ18は、フレーム分割部14から供給される検出対象のフレームごとの音信号を記憶し、処理は、ステップS4に進む。
ステップS4において、特徴量算出部15の特徴量算出部15iは、フレーム分割部14から供給されるf番目のフレーム#fの音信号の特徴量#iを算出して、特徴量比較部16iに供給し、処理は、ステップS5に進む。
ステップS5において、特徴量比較部16の特徴量比較部16iは、特徴量算出部15iから供給されるフレーム#fの特徴量#iと、保持している最大特徴量#iとを比較し、フレーム#fの特徴量#iが最大特徴量#iより大きいかを判定する。ステップS5において、フレーム#fの特徴量#iが最大特徴量#iより大きいと判定された場合、処理は、ステップS6に進み、特徴量比較部16iは、フレーム#fの特徴量#iで最大特徴量#iを更新するとともに、最大フレーム番号#iをフレーム#fのフレームの番号#fで更新し、処理は、ステップS7に進む。
一方、ステップS5において、フレーム#fの特徴量#iが最大特徴量#i以下であると判定された場合、特徴量比較部16iは、最大特徴量#iと最大フレーム番号#iをそのまま保持して、処理は、ステップS6をスキップして、ステップS7に進む。
ステップS7において、フレーム分割部14は、フレームカウンタfを1だけインクリメントし、処理は、ステップS8に進む。
ステップS8において、フレーム分割部14は、フレームカウンタfが検出対象のフレームの数Nより大きいかを判定する。ステップS8において、フレームカウンタfが検出対象のフレームの数N以下であると判定された場合、処理は、ステップS3に戻り、以下、同様の処理が繰り返される。
一方、ステップS8において、フレームカウンタfが検出対象のフレームの数Nより大きいと判定された場合、処理は、ステップS9に進み、特徴量比較部16iは、保持している最大フレーム番号#iに格納されている番号のフレーム、つまり、検出対象のNフレームのうちの特徴量#iが最大のフレームを、代表フレームとして選択し、そのフレームの番号と特徴量#iの番号#iを含む選択情報を、判定部17に供給する。そして、処理は、ステップS9からステップS10に進む。
ステップS10において、判定部17は、特徴量比較部161乃至169から供給される選択情報に基づいて、検出対象のNフレームのそれぞれに対して、代表特徴量セット、すなわち、各フレームが代表フレームとなっている特徴量の組み合わせを検出する。そして、処理は、ステップS10からステップS11に進む。
ステップS11において、判定部17は、ステップS10で検出した代表特徴量セットとしての特徴量の組み合わせに基づいて、入力音に所定の音が含まれるかを判定する。ステップS11において、入力音に所定の音が含まれないと判定された場合、すなわち、代表特徴量セットに、標準特徴量セットが含まれない場合、A/D変換器13からフレーム分割部14に対して、新たな検出対象の音信号が供給されるのを待って、ステップS1に戻り、以下、同様の処理が繰り返される。
一方、ステップS11において、入力音に所定の音が含まれると判定された場合、すなわち、代表特徴量セットに、標準特徴量セットが含まれる場合、判定部17は、入力音に所定の音が含まれる旨の判定情報を、出力部19に供給し、処理は、ステップS12に進む。
ステップS12では、出力部19は、判定部17から入力音に所定の音が含まれる旨の判定情報が供給されたのに対応して、検出対象のNフレームを、フレームメモリ18から読み出して、その検出対象のNフレームの音信号に対応する入力音を外部に出力する。そして、処理は、A/D変換器13からフレーム分割部14に対して、新たな検出対象の音信号が供給されるのを待って、ステップS1に戻り、以下、同様の処理が繰り返される。
以上のように、検出装置1は、入力音の複数種類の特徴量を、フレームごとに算出し、複数種類の特徴量それぞれに対して、特徴量が算出される複数のフレームから、特徴量を代表するフレームである代表フレームを、特徴量に基づいて選択し、複数のフレームのそれぞれに対して、そのフレームが代表フレームとなっている特徴量の組み合わせである代表特徴量セットを検出し、その代表特徴量セットに基づき、例えば、あらかじめ決められた特徴量の組み合わせである標準特徴量セットが、代表特徴量セットに含まれるか否かによって、入力音に所定の音が含まれるかを判定するようにしたので、様々な音を精度よく検出することができる。
また、標準特徴量セットとしての特徴量の組み合わせを変えることだけで、入力音から検出する音を容易に変更することができる。
なお、特徴量比較部16iは、特徴量#iが最大となるフレームを代表フレームとして選択するようにしたが、その他、特徴量が2番目に大きいフレームも、代表フレームとして選択するようにしてもよい。その場合、例えば、所定の音が、検出対象のNフレームのうちの連続する2フレームにわたって連続して発生したことや、離れた2つのフレームで、断続的に発生したこと等を検出することが可能となる。
また、出力部19は、入力音に所定の音が含まれると判定された場合に、検出対象の10フレームの入力音のすべてを出力するようにしたが、その他、検出対象の10フレームのうちの、標準特徴量セットを含む代表特徴量セットが得られたフレーム、つまり、所定の音が含まれるフレームのみの入力音を出力するようにしてもよい。
また、本実施の形態では、検出対象のフレームの数Nを10フレームとしたが、検出対象のフレームの数Nは、10フレームより大又は小であっても良い。
さらに、本実施の形態では、フレームの時間長を1秒としたが、フレームの時間長は、1秒より大又は小であってもよい。
また、本実施の形態では、フレームを等分するブロックの数を10ブロックとしたが、フレームを等分するブロックの数は10ブロックより大又は小であっても良い。
なお、検出対象のフレームの数Nや、フレームの時間長、フレームを等分するブロックの数は、例えば、検出しようとする音や、音を検出する環境等に応じて、調整可能なようにしておくことができる。
さらに、本実施の形態では、検出装置1において、9種類の特徴量#1乃至#9を用いることとしたが、検出装置1で用いる特徴量の種類の数は、9種類に限定されるものではなく、検出装置1で用いる特徴量も、特徴量#1乃至#9に限定されるものではない。
また、本実施の形態では、出力部19において、入力音から所定の音が検出された場合(入力音に所定の音が含まれると判定された場合)に、フレームメモリ18に記憶された入力音を出力するようにしたが、出力部19では、入力音から所定の音が検出された場合に、その旨のメッセージの表示や、警告音の出力等を行うようにすることが可能である。このように、出力部19において、メッセージの表示や警告音の出力を行う場合には、検出装置1は、例えば、セキュリティシステムに利用することができる。
さらに、例えば、マイクロフォン11とともに、カメラを設置し、出力部19では、入力音からの所定の音の検出に応じて、カメラで撮像された画像の表示や録画を開始することが可能である。この場合、検出装置1は、監視カメラシステムに利用することができる。
また、本実施の形態では、検出装置1において、時領域の特徴量としての特徴量#1乃至#8と、周波数領域の特徴量としての特徴量#9との両方を用いることとしたが、検出装置1では、時領域の特徴量、又は周波数領域の特徴量のうちのいずれか一方のみを用いることも可能である。
例えば、検出装置1において、時領域の特徴量のみを用いる場合、すなわち、例えば、時領域の特徴量#1乃至#8のみを、複数種類の特徴量として用いる場合には、判定部17に、その時領域の特徴量#1乃至#8のうちの2種類以上の特徴量の組み合わせが、標準特徴量セットとして設定され、また、特徴量算出部15において、検出対象の10フレームの音信号それぞれから、時領域の特徴量#1乃至#8が算出され、判定部17において、検出対象の10フレームそれぞれについて、代表特徴量セットが検出される。
ここで、例えば、金属同士があたる音については、上述したように、特徴量#5,#6、及び#9が大きくなる傾向があるので、時領域の特徴量#1乃至#8と、周波数領域の特徴量#9との両方が用いられる場合には、標準特徴量セットとして、時領域の特徴量#5及び#6と、周波数領域の特徴量#9との組み合わせが、判定部17に設定されるが、時領域の特徴量#1乃至#8のみが用いられる場合には、金属同士があたる音を検出する標準特徴量セットとして、時領域の特徴量#5及び#6と、周波数領域の特徴量#9との組み合わせのうちの、時領域の特徴量のみの組み合わせである特徴量#5及び#6の組み合わせが、判定部17に設定される。
また、特徴量算出部15において、検出対象の10フレームの音信号それぞれから、例えば、図11に示した時領域の特徴量#1乃至#8が算出されたとすると、判定部17では、フレーム#2については、特徴量#1乃至#4及び#8の組み合わせが、フレーム#3については、特徴量#5及び#6の組み合わせが、フレーム#4については、特徴量#4が、それぞれ、代表特徴量セットとして検出される。なお、フレーム#1、及び#5乃至#10については、そのフレームを代表フレームとする特徴量が存在しないので、代表特徴量セットは検出されない。
いま、判定部17において、上述したように代表特徴量セットが検出され、また、金属同士があたる音を検出する標準特徴量セットとして、時領域の特徴量#5及び#6の組み合わせが設定されている場合には、フレーム#3について検出された代表特徴量セットとしての特徴量#5及び#6の組み合わせに、金属同士があたる音を検出する標準特徴量セットとしての時領域の特徴量#5及び#6の組み合わせが含まれているので、入力音に所定の音(ここでは、金属同士があたる音)が含まれると判定される。
なお、検出装置1では、上述のように、時領域の特徴量のみを用いる他、周波数領域の特徴量のみを用いることも可能である。
ここで、検出装置1において、どのような種類の特徴量を用いるかは、例えば、検出しようとする音(さらには、将来的に検出することが予想される音)の性質を考慮して決めるのが望ましい。
また、上述の場合には、特徴量比較部16において、検出対象の10フレームのうちの、特徴量#iが最大のフレーム(さらには、2番目に大きいフレーム)を、その特徴量#iの代表フレームとして選択するようにしたが、その他、例えば、特徴量#iの代表フレームは、検出対象の各フレームから算出された特徴量#iと、所定の閾値th2との大小関係に基づいて選択することができる。
特徴量比較部16において、特徴量#iと、所定の閾値th2との大小関係に基づいて、代表フレームを選択する場合には、特徴量算出部15から供給される、検出対象の10フレームそれぞれの特徴量#iが、例えば、0.0乃至1.0の範囲の値に正規化される。
すなわち、特徴量比較部16は、検出対象の10フレームそれぞれの特徴量#iのうちの最大値から最小値を減算した減算値によって、検出対象の10フレームそれぞれの特徴量#iから特徴量#iの最小値を減算した値を除算することにより、検出対象の10フレームそれぞれの特徴量#iを、0.0乃至1.0の範囲の値に正規化する。
そして、特徴量比較部16は、検出対象の10フレームそれぞれの正規化後の特徴量(以下、正規化特徴量ともいう)#iを、所定の閾値th2と比較し、例えば、その所定の閾値以上の正規化特徴量#iのフレームを、特徴量#iの代表フレームとして選択して、その選択の結果を表す選択情報を、判定部17に供給する。
ここで、図14は、検出対象の10フレームそれぞれから算出された図11の特徴量#1乃至#9を正規化した正規化特徴量を示している。
所定の閾値th2を、例えば、0.7に設定した場合、特徴量#1乃至#9については、図14において影を付して示す、特徴量(の値)が0.7以上のフレームが代表フレームとして選択される。
すなわち、特徴量#1についてはフレーム#2が、特徴量#2についてはフレーム#1及び#2が、特徴量#3については、フレーム#2が、特徴量#4についてはフレーム#2及び#4が、特徴量#5についてはフレーム#3が、特徴量#6についてはフレーム#2,#3、及び#5が、特徴量#7については、フレーム#2及び#4が、特徴量#8についてはフレーム#2が、特徴量#9についてはフレーム#3が、それぞれ、代表フレームとして選択される。
この場合、判定部17では、フレーム#1について特徴量#2が、フレーム#2については特徴量#1乃至#4及び#6乃至#8の組み合わせが、フレーム#3については特徴量#5,#6、及び#9の組み合わせが、フレーム#4については特徴量#4及び#7の組み合わせが、フレーム#5については特徴量#6が、それぞれ、代表特徴量セットとして検出される。
なお、フレーム#6乃至#10は、特徴量#1乃至#9のうちのいずれの代表フレームにもなっていないので、フレーム#6乃至#10については、代表特徴量セットは検出されない。
そして、いま、判定部17において、上述した車のドアを閉める音やブレーキの音等の第1の音に対して大きくなる傾向のある特徴量#1,#4、及び#7の組み合わせ、カラスの鳴き声や長時間のクラクションの音等の第2の音に対して大きくなる傾向にある特徴量#2,#3、及び#5の組み合わせ、金属同士があたる音等の第3の音に対して大きくなる傾向のある特徴量#5,#6、及び#9の組み合わせ、又は短いクラクションの音や、救急車のサイレンの音、ブレーキの音等の第4の音に対して大きくなる傾向のある特徴量#1及び#8の組み合わせのそれぞれが、標準特徴量セットとして設定されているとする。
この場合、判定部17では、上述したフレーム#1乃至#5について検出された代表特徴量セットに基づき、第1の音を含むフレームとして、フレーム#2が検出され、第2の音を含むフレームはないことが検出される。さらに、判定部17では、第3の音を含むフレームとして、フレーム#3が検出され、第4の音を含むフレームとして、フレーム#2が検出される。
なお、閾値th2を0.7に限定する必要はなく、0と1の間の任意の値とすることが可能である。また、この閾値th2 の値を小さくすると、所定の音を検出する頻度がより大となる。
さらに、閾値th2は、特徴量#1乃至#9それぞれごとに設けることが可能である。ただし、上述したように、特徴量#1乃至#9のすべてに対して、同一の閾値th2を用いる方が、閾値th2の調整が容易となる。
また、正規化特徴量を用いることで、環境音のレベルが変化しても、適応的に、所定の音を検出することができる。
上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、プログラム記録媒体からインストールされる。
図15は、上述した一連の処理をプログラムにより実行するコンピュータのハードウェアの構成例を示すブロック図である。
コンピュータにおいて、CPU(Central Processing Unit)31,ROM(Read Only Memory)32,RAM(Random Access Memory)33は、バス34により相互に接続されている。
バス34には、さらに、入出力インタフェース35が接続されている。入出力インタフェース35には、キーボード、マウス、マイクロフォンなどよりなる入力部36、ディスプレイ、スピーカなどよりなる出力部37、ハードディスクや不揮発性のメモリなどよりなる記憶部38、ネットワークインタフェースなどよりなる通信部39、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア41を駆動するドライブ40が接続されている。
以上のように構成されるコンピュータでは、CPU31が、例えば、記憶部38に記憶されているプログラムを、入出力インタフェース35及びバス34を介して、RAM33にロードして実行することにより、上述した一連の処理が行われる。
コンピュータ(CPU31)が実行するプログラムは、例えば、磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD−ROM(Compact Disc−Read Only Memory),DVD(Digital Versatile Disc)等)、光磁気ディスク、もしくは半導体メモリなどよりなるパッケージメディアであるリムーバブルメディア41に記録して、あるいは、ローカルエリアネットワーク、インターネット、ディジタル衛星放送といった、有線または無線の伝送媒体を介して提供される。
そして、プログラムは、リムーバブルメディア41をドライブ40に装着することにより、入出力インタフェース35を介して、記憶部38にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部39で受信し、記憶部38にインストールすることができる。その他、プログラムは、ROM32や記憶部38に、あらかじめインストールしておくことができる。
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
なお、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。