以下に、本願の開示する音検出装置、音検出方法および音検出プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
本実施例1に係る音検出装置について説明する。例えば、音検出装置は、車両等の移動体に設置されるものとする。図1は、本実施例1に係る音検出装置の構成を示す機能ブロック図である。図1に示すように、この音検出装置100は、マイク101、加速度センサ102、速度センサ103、位置データ取得部104を有する。また、音検出装置100は、インターフェース部105、入力部106、表示部107、記憶部110、制御部120を有する。
マイク101は、周囲の音を集音するマイクである。マイク101は、音データを制御部120に出力する。例えば、音データは、所定の時間毎の音データの強度を含む。マイク101は、車両の任意の場所に配置される。例えば、マイク101は、車両の内部、外部、ダッシュボード内外の何れかに配置されてもよい。
加速度センサ102は、車両の加速度を計測するセンサである。加速度センサ102は、加速度データを制御部120に出力する。加速度データは、所定の時間毎の加速度の大きさを含む。加速度センサ102は、車両の任意の場所に配置される。
速度センサ103は、車両の速度を計測するセンサである。速度センサ103は、速度データを制御部120に出力する。速度データは、所定の時間毎の速度の大きさを含む。速度センサ103は、車両の任意の場所に配置される。
位置データ取得部104は、車両の位置を測定する処理部である。例えば、位置情報取得部104は、GPS(Global Positioning System)を利用して、車両の位置を測定する。位置データ取得部104は、位置データを制御部120に出力する。位置データは、所定の時間毎の車両の位置を含む。
例えば、マイク101、加速度センサ102、速度センサ103、位置データ取得部104は、10Hzや30Hz等の頻度で、計測したデータを出力するものとする。
インターフェース部105は、他の装置とデータ通信を実行する処理部である。例えば、異常音の検出結果や、異常音発生時の音データ等を、インターフェース部105を介して外部装置に出力しても良い。
入力部106は、音検出装置100に各種のデータを入力する入力装置である。例えば、入力部106は、操作パネル、タッチパネル等に対応する。なお、キーボードなどの入力装置であっても良い。
表示部107は、各種のデータを表示する表示装置である。例えば、表示装置107は、液晶パネル、タッチパネル等に対応する。
記憶部110は、音データ110a、付随データ110b、類似音データ群110cを記憶する記憶部である。記憶部110は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
音データ110aは、マイク101が集音した音データに対応する。
付随データ110bは、加速度データ、速度データ、位置データを含む。加速度データは、加速度センサ102が測定出力した加速度データである。速度データは、速度センサ103が測定出力した速度データである。位置データは、位置データ取得部104が測定出力した位置データである。
音データ110aと、付随データ110bの加速度データ、速度データ、位置データは、時間によりそれぞれ対応付けられる。
類似音データ群110cは、音データ110aのうち、車両の揺れの特徴が類似する区間の音データを複数含む。ある区間の音データを、適宜、部分音データと表記する。類似音データ群110cは、後述する選択部120bによって生成される。
制御部120は、データ管理部120a、選択部120b、正規化部120c、閾値算出部120d、音検出部120eを有する。制御部120は、例えば、ASIC(Application Specific Integrated Circuit)や、FPGA(Field Programmable Gate Array)などの集積装置に対応する。また、制御部120は、例えば、CPUやMPU(Micro Processing Unit)等の電子回路に対応する。
データ管理部120aは、マイク101、加速度センサ102、速度センサ103、位置データ取得部104から各データを取得し、記憶部110に記憶する処理部である。データ管理部120aは、マイク101から取得する音データを、音データ110aとして記憶部110に記憶させる。データ管理部120aは、加速度センサ102、速度センサ103、位置データ取得部104からそれぞれ取得する加速度データ、速度データ、位置データを、付随データ110bとして記憶部110に記憶させる。
選択部120bは、付随データ110bを基にして、車両の揺れの特徴が類似する区間の時間をそれぞれ特定する。選択部120bは、特定した時間帯に対応する部分音データを音データ110aからそれぞれ抽出し、各部分音データの組みを、類似音データ群110cとして、記憶部110に記憶させる。
ここで、選択部120bが、付随データ110bを基にして、車両の揺れの特徴が類似する区間を特定する処理の一例について説明する。例えば、選択部120bは、付随データ110bのうち、加速度データを利用してもよい。選択部120bは、加速度データのある区間の波形と、他の区間の波形との類似度を判定し、類似度が所定の値以上となる区間の組みをそれぞれ、車両の揺れの特徴が類似する区間として特定する。
選択部120bは、付随データ110bのうち、速度データを用いても良い。選択部120bは、速度データのある区間の波形と、他の区間の波形との類似度を判定し、類似度が所定の値以上となる区間の組みをそれぞれ、車両の揺れの特徴が類似する区間として特定する。
選択部120bは、付随データ110bのうち、位置データを用いても良い。選択部120bは、位置データに基づいて、ある区間の曲率と、他の区間の曲率との類似度を判定し、類似度が所定の値以上となる区間の組みをそれぞれ、車両の揺れの特徴が類似する区間として特定してもよい。または、選択部120bは、図示しない道路地図データと、位置データとを用いて、車両が通過した道路の道路形状を求め、ある区間の道路形状と、他の区間の道路形状との類似度を判定しても良い。
選択部120bは、付随データ110bに含まれる加速度データ、速度データ、位置データをそれぞれ利用して、類似度が所定の値以上となる区間の組みをそれぞれ特定しても良い。すなわち、選択部120bは、加速度データ、速度データ、位置データの全てにおいて、類似度が所定の値以上となる区間の組みをそれぞれ、車両の揺れの特徴が類似する区間として特定しても良い。
ここで、選択部120bが、類似度を判定する処理は、相関係数、動的時間伸縮法(DTW:Dynamic Time Warping)、DP(Dynamic Programming)マッチング法などを用いればよい。選択部120bは、その他の従来技術を利用して、類似度を判定しても良い。
加速度データ、速度データ、位置データは何れも車両の挙動に関する測定値であり、車両揺れに密接に関係する。このため、各データにおいて類似する区間の部分音データは、車両が似た挙動をした際に記録された音データである可能性が高く、背景雑音が似ている可能性が高い。
正規化部120cは、類似音データ群110cを正規化する処理部である。正規化部120cが正規化する処理の一例について説明する。正規化部120cは、類似音データ群110cに含まれる複数の部分音データのうち、基準となる部分音データを選択する。以下の説明において、基準となる部分音データを、基準音データと表記する。正規化部120cは、基準音データと同じ時間となるように、類似音データ群110cに含まれる残りの部分音データの時間を調整することで、類似音データ群110cを正規化する。
図2は、本実施例1に係る正規化部の処理を説明するための図である。図2の各横軸は時間軸である。図2の部分音データ10aは、基準音データとする。図2の部分音データ10b1は、基準音データ以外の部分音データとする。部分音データ10aは、音強度値A1〜A6を有する。部分音データ10aの各音強度値の時間間隔をtとする。部分音データ10b1は、音強度値B1〜B4を有する。部分音データ10b1の各音強度値の時間間隔をtとする。
正規化部120cは、部分音データ10aの音強度値A1から音強度値までの時間幅と、部分音データ10b1の音強度値B1から音強度値B4までの時間幅とが等しくなるように、音強度値B4の時間を更新する。また、正規化部120cは、音強度値B1〜B4の時間間隔が等しくなるように、B2、B3の時間を更新する。かかる処理を正規化部120cが実行することで、部分音データ10b1は、部分音データ10b2となる。
正規化部120cは、部分音データ10b2を生成した後に、音強度値B1〜B4を基にして、新たな音強度値P1〜P4を生成する。このような処理を行うことで、部分音データ10b2は、部分音データ10b3となる。音強度値A1、A2、A3、A4、A5、A6の各時間間隔と、音強度値B1、P1、P2、P3、P4、B4の各時間間隔は等しい。例えば、各時間間隔をtとする。
音強度値P1〜P4の値を算出する処理について説明する。ここでは、正規化部120cが音強度値P1の値を算出する処理について説明する。音強度値P1の前後に、もとの時間からずれた音強度値Bを検出する。図2に示す例では、正規化部120cは、音強度値P1の前方から音強度値B1を検出し、音強度値P1の後方から音強度値B2を検出する。音強度値B1と音強度値P1との時間差をt1とし、音強度値B2と音強度値P1との時間差をt2とする。正規化部120cは、音強度値P1の値を、式(1)に基づいて算出する。
P1=(B1×t2+B2×t1)÷(t1+t2)・・・(1)
正規化部120cは、他の音強度値P2〜P4の値も、音強度値P1と同様の方法により算出する。なお、ここでは、音強度値の時間正規化の一例を示したが、この他に音の各周波数のレベル値を用いて正規化を行っても良い。例えば、正規化部120cは、定期的なサンプリングの時間間隔で記録された、各周波数のレベル値群に対し、周波数毎に正規化処理を加えても良い。
閾値算出部120dは、正規化後の類似音データ群110cを基にして、背景雑音を判定するための閾値を算出する処理部である。以下において、背景雑音を判定するための閾値を背景雑音値と表記する。閾値算出部120dは、背景雑音値を音検出部120eに出力する。
ここで、閾値算出部120dが背景雑音値を算出する処理は、複数のバリエーションがある。以下では、背景雑音値を算出する処理1〜5について順に説明する。閾値算出部120dは、処理1〜5の何れかによって算出した背景雑音値を、音検出部120eに出力する。なお、閾値算出部120dが、処理1〜3を実行する場合には、類似音データ群110は正規化されていなくても良い。また、処理1〜5では、2つの部分音データを用いて背景雑音値を算出する場合について説明するが、3つ以上の部分音データに対しても、同様に背景雑音値を算出することができる。
背景雑音値を算出する処理1について説明する。閾値算出部120dは、類似音データ群110cの各部分音データの音強度値を比較し、各音強度値のうち最大の音強度値を、背景雑音値として算出する。
背景雑音値を算出する処理2について説明する。閾値算出部120dは、類似音データ群110cの各部分音データの音強度値を比較し、各音強度値のうち最小の音強度値を、背景雑音値として算出する。
背景雑音値を算出する処理3について説明する。閾値算出部120dは、類似音データ群110cの各部分音データの音強度値を参照し、各音強度値の平均値を、背景雑音値として算出する。
背景雑音値を算出する処理4について説明する。閾値算出部120dは、類似音データ群110cの各部分音データの音強度値をサンプリングの時間間隔毎の平均値を算出し、算出したサンプリングの時間間隔毎の平均値を、背景雑音値として算出する。
図3は、背景雑音値を算出する処理4を説明するための図である。ここでは一例として、部分音データ10aと、部分音データ10b3とを用いて、閾値算出部120dの処理を説明する。
部分音データ10aの音強度値A1を5とし、音強度値A2を5とし、音強度値A3を4とし、音強度値A4を3とし、音強度値A5を4とし、音強度値A6を5とする。部分音データ10b3の音強度値B1を3とし、音強度値P1を5とし、音強度値P2を5とし、音強度値P3を4とし、音強度値P4を4とし、音強度値B4を5とする。
また、音強度値A1、B1の時間をT1とし、音強度値A2、P1の時間をT2とし、音強度値A3、P2の時間をT3とする。音強度値A4、P3の時間をT4とし、音強度値A5、P4の時間をT5とし、音強度値A6、B4の時間をT6とする。
閾値算出部120dは、同一時間の音強度値の平均値をそれぞれ算出し、背景雑音値20aを生成する。背景雑音値20aには、C1〜C6が含まれる。C1は、時間T1の音強度値A1と音強度値B1の平均値である。C2は、時間T2の音強度値A2と音強度値P1の平均値である。C3は、時間T3の音強度値A3と音強度値P2の平均値である。C4は、時間T4の音強度値A4と音強度値P3の平均値である。C5は、時間T5の音強度値A5と音強度値P4の平均値である。C6は、時間T6の音強度値A6と音強度値B4の平均値である。
なお、処理4では簡単のため、閾値算出部120dが、各時間の平均値を算出する例を示したがこれに限定されるものではない。閾値算出部120dは、各時間の音強度のうち、最大値を背景雑音値20aの音強度値C1〜C6に設定しても良いし、最小値を背景雑音値20aの音強度値C1〜C6に設定しても良い。
背景雑音値を算出する処理5について説明する。閾値算出部120dは、類似音データ群110cの各部分音データの音強度値の平均値を、所定の時間間隔毎に算出し、算出した各平均値を、背景雑音値として算出する。
図4は、背景雑音値を算出する処理5を説明するための図である。ここでは一例として、部分音データ10aと、部分音データ10b3とを用いて、閾値算出部120dの処理を説明する。図4において、部分音データ10a、10b3に関する説明は、図3の部分音データ10a、10b3に関する説明と同様である。
閾値算出部120dは、所定の時間間隔に含まれる音強度値の平均値をそれぞれ算出することで、背景雑音値20bを生成する。背景雑音値20bは、音強度値D1、D2を含む。音強度値D1は、時間T1〜T3に含まれる音強度値A1〜A3、B1、P1、P2の平均値である。音強度値D2は、時間T4〜T6に含まれる音強度値A4〜A6、P3、P4、B4の平均値である。
なお、処理5では簡単のため、閾値算出部120dが、所定の時間帯の平均値を算出する例を示したがこれに限定されるものではない。閾値算出部120dは、所定の時間帯の音強度のうち、最大値を背景雑音値20bの音強度値D1、D2に設定しても良いし、最小値を背景雑音値20bの音強度値D1、D2に設定しても良い。
ところで、閾値算出部120dは、音強度値の代わりに、各周波数の音レベル値を求めてもよいし、部分音データに任意の時空間フィルタを適用した値を用いても良い。例えば、閾値算出部120dは、ノイズ除去用に高周波成分をカットするフィルタを適用しても良いし、車両の揺れの波形に合わせて、揺れ波形と似た周波数成分を強調するフィルタを適用しても良い。
揺れ波形と似た周波数成分を強調するフィルタを適用する場合について説明する。閾値算出部120dは、例えば、小刻みの揺れが多い場合には、小刻みに繰り返される音応訴を強調するフィルタを用いて、車両の揺れに密接に関連する背景雑音をあぶり出すことができる。
また、閾値算出部120dは、類似音データ群110cに十分な数の部分音データが含まれていない場合には、背景雑音値を算出しない旨のデータを、音検出部120eに出力する。閾値算出部120dが利用する部分音データの最低限の数は、利用者が適宜設定する。
音検出部120eは、背景雑音値と、音データ110aとを基にして、検出対象となる音を検出する処理部である。音検出部120eは、検出結果を、外部装置に出力しても良いし、表示部107に表示させてもよい。
本実施例1の音検出部120eは、一例として、警笛などの異常音を検出するものとするが、これに限定されるものではない。音検出部120eが異常音を検出する処理について2通り説明する。音検出部120eは、何れの処理を用いて異常音を検出しても良い。
音検出部120eの1つ目の処理について説明する。音検出部120eは、音データの各時間の音強度値と、背景雑音値とを比較する。音検出部120eは、音強度値が背景雑音値より大きく、かつ、音強度値と背景雑音値との差が所定の閾値以上である時間帯の音データを、異常音として検出する。
次に、音検出部120eの2つ目の処理について説明する。音検出部120eは、まず、従来技術と同様にして、音データ110aから異常音を検出する。例えば、音検出部120eは、異常音の特徴を示す波形と、音データ110aとのパターンマッチングを行い、類似度が所定の閾値以上となる時間帯の音データを、異常音と判定する。あるいは、音検出部120eは、所定の閾値と、音データ110aの音強度値とを比較して、所定の閾値を超える時間帯の音データを、異常音として判定しても良い。その他、音検出部120eは、任意の方法により、異常音を検出しても良い。
音検出部120eは、異常音を検出した後に、背景雑音値を利用して、検出結果を修正する。具体的に、音検出部120eは、異常音の各時間帯の音強度値と、背景雑音値とを比較して、該背景雑音値よりも小さい音強度値となる時間帯の異常音を雑音と判定する。音検出部120eは、異常音から雑音を削除することで、最終的な異常音を検出する。
なお、音検出部120eは、背景雑音値に所定の閾値を加算した加算値と、異常音の各時間帯の音強度を比較し、加算値よりも小さい音強度となる時間帯の異常音を雑音と判定しても良い。
また、音検出部120eは、閾値算出部120dから、背景雑音値を算出しない旨のデータを取得した場合には、従来技術と同様に、音データ110aから、異常音を検出する。また、音検出部120eは、付随データ110bを基にして、閾値以上の車体揺れが存在しない場合にも、従来技術と同様に、音データ110aから、異常音を検出してもよい。
次に、本実施例1に係る音検出装置100の処理手順の一例について説明する。図5は、本実施例1に係る音検出装置の処理手順を示すフローチャートである。図5に示す処理は、例えば、入力部106等から、異常音の検出要求を受けたことを契機として実行される。
図5に示すように、音検出装置100は、付随データ110bを基にして、閾値以上の車体揺れが存在するか否かを判定する(ステップS101)。音検出装置100は、閾値以上の車体揺れが存在しない場合には(ステップS101,No)、音データから異常音を検出する(ステップS102)。
音検出装置100は、閾値以上の車体揺れが存在する場合には(ステップS101,Yes)、類似音データ群110cに、所定数以上の部分音データが含まれるか否かを判定する(ステップS103)。音検出装置100は、類似音データ群110cに、所定数以上の部分音データが含まれていない場合には(ステップS103,No)、ステップS102に移行する。
音検出装置110は、類似音データ群110cに、所定数以上の部分音データが含まれている場合には(ステップS103,Yes)、類似音データ群110cに含まれる各部分音データを正規化する(ステップS104)。
音検出装置110は、背景雑音値を算出し(ステップS105)、背景雑音値と、音データの音強度値とを基にして、異常音を検出する(ステップS106)。
次に、本実施例1に係る音検出装置100の効果について説明する。音検出装置100は、音データ110aのうち車両の揺れの特徴が類似する各部分音データの組みを類似音データ群110cとして検出し、類似音データ群110cを基にして、背景雑音の音強度値の指標となる背景雑音値を算出する。そして、音検出部110は、検出対象となる音の特徴に基づいて、音データ110aから検出対象の音データを検出し、背景雑音値を用いて検出結果を修正する。このため、音検出装置100によれば、背景雑音が含まれる場合でも、抽出対象の音を精度良く検出することができる。
また、音検出装置100は、類似音データ群100cに含まれる各部分音データに対して正規化を行う。このため、背景雑音の発音タイミングのズレを吸収して、背景雑音値を算出することができ、検出対象の音を精度良く検出することができる。
また、音検出装置100は、例えば、DPマッチングを行うことで、車両の揺れの特徴が類似する区間の部分音データの組みを、類似音データ群110cとして選択する。このため、背景雑音値をより正確に算出することができ、検出対象の音を精度良く検出することができる。
次に、本実施例2に係る音検出装置について説明する。例えば、音検出装置は、車両等の移動体に設置されるものとする。図6は、本実施例2に係る音検出装置の構成を示す機能ブロック図である。図6に示すように、この音検出装置200は、マイク201、加速度センサ202、速度センサ203、位置データ取得部204を有する。また、音検出装置200は、インターフェース部205、入力部206、表示部207、記憶部210、制御部220を有する。
マイク201、加速度センサ202、速度センサ203、位置データ取得部204の説明は、実施例1に示したマイク101、加速度センサ102、速度センサ103、位置データ取得部104の説明と同様である。また、インターフェース部205、入力部206、表示部207は、実施例1に示したインターフェース部105、入力部106、表示部107の説明と同様である。
記憶部210は、音データ210a、付随データ210b、類似音データ群210c、信頼度パラメータ210dを記憶する記憶部である。記憶部210は、例えば、RAM、ROM、フラッシュメモリなどの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
音データ210a、付随データ210b、類似音データ群210cの説明は、実施例1に示した音データ110a、付随データ110b、類似音データ群110cの説明と同様である。
信頼度パラメータ210dは、異常音の検出結果の確からしさを示す信頼度を含む。例えば、信頼度の値は0〜1の値をとり、1に近づくほど、該当する異常音の確からしさは高くなる。例えば、信頼度パラメータ210dは、異常音の各時間区分に対して、信頼度を対応付けている。
制御部220は、データ管理部220a、選択部220b、正規化部220c、閾値算出部220d、音検出部220eを有する。制御部220は、例えば、ASICや、FPGAなどの集積装置に対応する。また、制御部220は、例えば、CPUやMPU等の電子回路に対応する。
このうち、データ管理部220a、選択部220b、正規化部220c、閾値算出部220dの説明は、実施例1のデータ管理部120a、選択部120b、正規化部120c、閾値算出部120dの説明と同様である。
音検出部220eは、検出対象の音を検出する処理部である。音検出部220eは、検出結果を、外部装置に出力しても良いし、表示部207に表示させても良い。本実施例2では一例として、検出対象の音を異常音とする。
具体的に、音検出部220eの処理を説明する。まず、音検出部220eは、従来技術と同様にして、音データ210aから異常音を検出する。続いて、音検出部220eは、異常音の各時間の音強度値と、背景雑音値との差分をとり、信頼度パラメータ210dを生成する。
音検出部220eが信頼度パラメータ210dを生成する処理について説明する。図7は、信頼度パラメータを生成する処理を説明するための図である。図7において、データ30は、音検出部220eが、従来技術を利用して検出した異常音のデータである。異常音データ30は、音強度値E1〜E6を含む。各音強度値の時間間隔をtとする。図7において、データ20bは、背景雑音値である。背景雑音値20bは、図4に示した背景雑音値20bに対応する。
音検出部220eは、各時間において、異常音データ30の音強度値と、背景雑音値20bの音強度値との差分を求め、所定の補正値を乗算した値を信頼度として算出する。例えば、音強度値E1と音強度値D1との差を6.5とし、音強度値E2と音強度値D1との差を6.5とし、音強度値E3と音強度値D1との差を6.5とする。また、音強度値E4と音強度値D2との差を2.2とし、音強度値E5と音強度値D2との差を2.2とし、音強度値E6と音強度値D2との差を2.2とする。
補正値の値を0.1とすると、時間T1〜T3の信頼度は、0.65となり、時間T4〜T6の信頼度は、0.22となる。音検出部220eは、求めた各時間の信頼度を、信頼度パラメータ210dとして、記憶部210に記憶させる。
なお、音検出部220eは、閾値算出部220dから背景雑音値を算出しない旨のデータを取得した場合には、異常音T1〜T6に対する信頼度を1に設定する。
音検出部220eは、信頼度パラメータ210dを生成した後に、信頼度パラメータ210dの値と、閾値とを基にして、異常音を取捨選択する。具体的には、音検出部220eは、閾値よりも信頼度が低い時間帯の異常音を、異常音とせず、閾値よりも信頼度が高い時間帯の異常音を、最終的な異常音として検出する。
図7を用いて音検出部220eが最終的な異常音を検出する処理について説明する。ここでは一例として、閾値を0.5とする。図7を参照すると、時間T1〜T3の信頼度は、閾値0.5よりも大きい。また、時間T4〜T6の信頼度は、閾値0.5よりも小さい。このため、音検出部220eは、従来技術で検出した異常音30のうち、時間T1〜T3までの異常音を最終的に異常音データとして検出する。
次に、本実施例2に係る音検出装置200の処理手順の一例について説明する。図8は、本実施例2に係る音検出装置の処理手順を示すフローチャートである。図8に示す処理は、例えば、入力部206等から、異常音の検出要求を受けたことを契機にして実行される。
図8に示すように、音検出装置200は、音データ210aから異常音を検出し(ステップS201)、類似音データ群210cに、所定数以上の部分音データが含まれるか否かを判定する(ステップS202)。
音検出装置200は、類似音データ群210cに、所定数以上の部分音データが含まれない場合には(ステップS202,No)、信頼度パラメータ210dの各信頼度を1に設定し(ステップS203)、ステップS207に移行する。
一方、音検出装置200は、類似音データ群210cに、所定数以上の部分音データが含まれている場合には(ステップS202,Yes)、類似データ群210cに含まれる各部分音データを正規化する(ステップS204)。
音検出装置200は、背景雑音値を算出し(ステップS205)、背景雑音値と、異常音の音強度値との差を基にして、信頼度パラメータ210dの各信頼度を設定する(ステップS206)。音検出装置200は、信頼度パラメータ210dを基にして、異常音を取捨選択する(ステップS207)。
次に、本実施例2に係る音検出装置200の効果について説明する。音検出装置200は、異常音を検出する一方で、類似音データ群210cを基にして、背景雑音の音強度値の指標となる背景雑音値を算出し、異常音と背景雑音値との差分を基にして、異常音に対する信頼度パラメータ210dを算出する。そして、音検出装置200は、信頼度パラメータ210dを基にして、異常音から背景雑音に対応する部分を取り除き、最終的な異常音を検出する。このため、音検出装置200によれば、従来技術を用いて異常音を検出した場合でも、かかる異常音から背景雑音を取り除くことができる。
次に、本実施例3に係る音検出装置について説明する。例えば、音検出装置は、車両等の移動体に設置されているものとする。図9は、本実施例3に係る音検出装置の構成を示す機能ブロック図である。図9に示すように、この音検出装置300は、マイク301、加速度センサ302、速度センサ303、位置データ取得部304を有する。また、音検出装置300は、インターフェース部305、入力部306、表示部307、記憶部310、制御部320を有する。
マイク301、加速度センサ302、速度センサ303、位置データ取得部304の説明は、実施例1に示したマイク101、加速度センサ102、速度センサ103、位置データ取得部104の説明と同様である。また、インターフェース部305、入力部306、表示部307は、実施例1に示したインターフェース部105、入力部106、表示部107の説明と同様である。
記憶部310は、音データ310a、付随データ310b、類似音データ群310c、基準音データ310d、異常音発生確率データ310eを記憶する記憶部である。記憶部310は、例えば、RAM、ROM、フラッシュメモリなどの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
音データ310a、付随データ310b、類似音データ群310cの説明は、実施例1に示した音データ110a、付随データ110b、類似音データ群110cの説明と同様である。
基準音データ310dは、基準となる異常音の特徴を含むデータである。例えば、基準音データ310dは、基準となる異常音の、時間と音強度値との関係を有する。なお、基準音データ310dは、基準となる異常音の各周波数の音レベル等を有しても良い。かかる基準音データ310dは、予め管理者が作成しておくものとする。
異常音発生確率データ310eは、異常音の時間ごとに、異常音である確率を対応付けた情報である。図10は、異常音発生確率データのデータ構造の一例を示す図である。図10に示すように、異常音発生確率データ310eは、時間と、異常音発生確率とを対応付ける。例えば、図10に示す例では、時間T1における異常音の異常音発生確率は7.1である。この異常音発生確率が高いほど、異常音である可能性が高い。これに対して、異常音発生確率が低いほど、背景雑音である可能性が高い。
制御部320は、データ管理部320a、選択部320b、正規化部320c、閾値算出部320d、音検出部320eを有する。制御部320は、例えば、ASICや、FPGAなどの集積装置に対応する。また、制御部320は、例えば、CPUやMPU等の電子回路に対応する。
このうち、データ管理部320a、選択部320b、正規化部320c、閾値算出部320dの説明は、実施例1のデータ管理部120a、選択部120b、正規化部120c、閾値算出部120dの説明と同様である。
音検出部320eは、検出対象の音を検出する処理部である。音検出部320eは、検出結果を、外部装置に出力してもよいし、表示部307に表示させても良い。本実施例3では一例として、検出対象の音を異常音とする。
具体的に、音検出部320eの処理を説明する。まず、音検出部320eは、従来技術と同様にして、音データ310aから異常音を検出する。続いて、音検出部320eは、検出結果の異常音と、基準音データ310dとを比較して、異常音発生確率データ310eを生成する。
異常音発生確率データ310eを算出する処理の一例について説明する。音検出部320eは、検出結果の異常音と、基準音データ310dとを比較して、類似度を算出する。類似度を算出する処理は、従来技術を利用すれば良い。音検出部320eは、各時間の類似度の値を、異常音発生確率として、異常音発生確率データ310eに登録する。なお、音検出部320eは、所定の補正値を類似度の値に乗算などして、異常音発生確率を算出しても良い。
音検出部320eは、異常音発生確率データ310eを算出した後に、背景雑音値を用いて、異常音発生確率データ310eを更新する。具体的に、音検出部320eは、時間毎に、異常音発生確率データ310eの異常音発生確率と、背景雑音値の値との差分の絶対値を求める。そして、音検出部320eは、各時間の差分の絶対値を、各時間の新たな異常音発生確率として、異常音発生確率データ310eを更新する。
音検出部320eは、異常音発生確率データ310eを更新した後に、各時間の異常音発生確率を基にして、異常音を取捨選択する。音検出部320eは、異常音発生確率が、所定の閾値以上となる時間の異常音を、最終的な異常音として検出する。音検出部320eは、異常音発生確率が、所定の閾値未満となる時間の異常音を、異常音としない。
次に、本実施例3に係る音検出装置300の処理手順の一例について説明する。図11は、本実施例3に係る音検出装置の処理手順を示すフローチャートである。図11に示す処理は、例えば、入力部306等から、異常音の検出要求を受けたことを契機にして実行される。
図11に示すように、音検出装置300は、音データ310aから異常音を検出し(ステップS301)、基準音データ310dと、異常音との類似度から、異常音の各時間における異常音発生確率を算出する(ステップS302)。
音検出装置300は、類似音データ群310cに、所定数以上の部分音データが含まれるか否かを判定する(ステップS303)。音検出装置300は、類似音データ群310cに、所定数以上の部分音データが含まれない場合には(ステップS303,No)、ステップS307に移行する。
音検出装置300は、類似音データ群310cに、所定数以上の部分音データが含まれている場合には(ステップS303,Yes)、類似音データ群310cに含まれる各部分音データを正規化する(ステップS304)。
音検出装置300は、背景雑音値を算出し(ステップS305)、背景雑音値と、異常音発生確率との差分の絶対値を新たな異常音発生確率として算出し、異常音発生確率データ310eを更新する(ステップS306)。音検出装置300は、異常音発生確率と閾値とを比較して、最終的な異常音を検出する(ステップS307)。
次に、本実施例3に係る音検出装置300の効果について説明する。音検出装置300は、異常音を検出し、検出した異常音と基準音データ310dとの比較により、異常音発生確率データ310eを生成する。また、音検出装置300は、背景雑音値を算出し、背景雑音値を利用して、異常音発生確率データ310eを更新し、更新した異常音発生確率データ310eを基にして、検出結果の異常音を取捨選択する。このため、音検出装置300によれば、類似音データ群310cを正規化した場合に、音が変質した場合であっても、精度良く異常音を検出することができる。
次に、本実施例4に係る音検出装置について説明する。例えば、音検出装置は、車両等の移動体に設置されるものとする。図12は、本実施例4に係る音検出装置の構成を示す機能ブロック図である。図12に示すように、この音検出装置400は、マイク401a、401b、加速度センサ402、速度センサ403、位置データ取得部404を有する。また、音検出装置400は、インターフェース部405、入力部406、表示部407、記憶部410、制御部420を有する。
マイク401a、401bは、周囲の音を集音するマイクである。マイク401a、401bは、音データを制御部420に出力する。例えば、音データは、所定の時間毎の音データの強度を含む。マイク401a、401bは、それぞれ所定の距離だけ離れた位置に配置される。
加速度センサ402、速度センサ403、位置データ取得部404、インターフェース部405の説明は、実施例1の加速度センサ102、速度センサ103、位置データ取得部104、インターフェース部105の説明と同様である。また、入力部406、表示部407の説明は、実施例1の入力部106、表示部107の説明と同様である。
記憶部410は、音データ410a、付随データ410b、類似音データ群410cを記憶する。記憶部410は、例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、またはハードディスク、光ディスクなどの記憶装置に対応する。
音データ410aは、マイク401a、401bが集音した音データをそれぞれ含むデータである。付随データ410bの説明は、実施例1の付随データ110bの説明と同様である。
類似音データ群410cは、音データ410aのうち、車両の揺れの特徴が類似する区間の部分音データを複数含む。類似音データ410cは、後述する選択部420bによって生成される。
制御部420は、データ管理部420a、選択部420b、正規化部420c、閾値算出部420d、音検出部420eを有する。制御部420は、例えば、ASICや、FPGAなどの集積装置に対応する。また、制御部420は、例えば、CPUやMPU等の電子回路に対応する。
データ管理部420aは、マイク401a、401b、加速度センサ402、速度センサ403、位置データ取得部404から各データを取得し、記憶部410に記憶する処理部である。データ管理部420aは、マイク401a、401bから取得する各音データを、音データ410aとして記憶部410に記憶させる。データ管理部420aは、加速度センサ402、速度センサ403、位置データ取得部404からそれぞれ取得する加速度データ、速度データ、位置データを、付随データ410bとして記憶部410に記憶させる。
選択部420bは、音データ410aに含まれる2種類の音データの音強度値を比較して、比較結果をもとに、車両の揺れの特徴が類似する区間の時間をそれぞれ特定する。以下に、選択部420bの処理について説明する。ここでは、音データ410aのうち、マイク401aから取得した音データを音データ410Aとし、マイク401bから取得した音データを音データ410Bとする。
選択部420bは、音データ410Aの音強度値と音データ410Bの音強度値とを、時間毎に比較し、各音強度値の差分が所定の閾値以上となる時間を、車両が揺れている時間として特定する。
選択部420bは、特定した時間に対応する部分音データを音データ410aからそれぞれ抽出し、各部分音データの組みを、類似音データ群410cとして、記憶部410に記憶させる。選択部420bは、音データ410aのうち、音データ410Aから部分音データを抽出しても良いし、音データ410Bから部分音データを抽出しても良い。
更に、選択部420bは、実施例1と同様に、付随データ410bを基にして、車両の揺れの特徴が類似する区間の時間をそれぞれ特定する。選択部420bは、特定した時間に対応する部分音データを音データ410aからそれぞれ抽出し、類似音データ群410cとして、記憶部410に記憶させる。
ここで、選択部420bのその他の処理の一例について説明する。選択部420bが、付随データ410bを基にして特定した車両の揺れの特徴が類似する区間の時間を第1時間とする。選択部420bが、音データ410A、410Bの各音強度値の差分が所定の閾値以上となる時間を第2時間とする。選択部420bは、第1時間と第2時間とが重複する時間を、最終的な車両の揺れの特徴が類似する時間として特定しても良い。選択部420bは、特定した時間に対応する部分音データを音データ410aから抽出し、類似音データ群410cとして、記憶部410に記憶させる。
正規化部420c、閾値算出部420d、音検出部420eの説明は、実施例1に示した正規化部120c、閾値算出部120d、音検出部120eの説明と同様である。
次に、本実施例4に係る音検出装置400の処理手順の一例について説明する。図13は、本実施例4に係る音検出装置の処理手順を示すフローチャートである。図13に示す処理は、例えば、入力部406等から、異常音の検出要求を受けたことを契機として実行される。
図13に示すように、音検出装置400は、左右のマイクの音強度値に基づいて、背景雑音を特定し、類似音データ群410cを生成する(ステップS401)。ここで、左右のマイクは、マイク401a、401bに対応する。
音検出装置400は、類似音データ群410cに含まれる各部分音データを正規化し(ステップS402)、背景雑音値を算出する(ステップS403)。音検出装置400は、背景雑音値と、音データの音強度値との差を基にして、異常音を検出する(ステップS404)。
次に、本実施例4に係る音検出装置400の効果について説明する。音検出装置400は、マイク401a、401bの音データを基にして背景雑音を特定し、特定した背景雑音と同時間の異常音の検出結果を除外する。このため、マイク401a、401bの何れかのごく近傍から発生し得る背景雑音を排除することができる。
実施例1〜4では、音検出装置100〜400の処理の一例について説明したが、音検出装置の処理は上記の処理に限定されるものではない。以下において、音検出装置100〜400のその他の処理について説明する。ここでは、実施例1で用いた音検出装置100の符号を用いて説明する。
音検出装置100の音検出部120eは、DPマッチングを用いて、背景雑音を特定し、検出対象となる音データを検出してもよい。音検出部120eが、DPマッチングを用いる場合には、正規化部120cは類似音データ群110cを正規化しなくても良い。
音検出部120eは、類似音データ群110cに含まれる部分音データを一つ選択し、選択した部分音データと、音データ110aとを比較し、DPマッチングの手法を用いて、類似度を判定する。音検出部120eは、類似度の値が閾値以上となる音データ110aの時間を特定し、特定した時間に対応する音データを、背景雑音として特定する。音検出部120eは、異常音の検出結果から、背景雑音と判定した音データを取り除く。このような処理を音検出部120eが実行することで、正規化処理の時間を省略して、異常音を精度良く検出することができる。
次に、音検出装置100が背景雑音の影響を除外して異常音を検出する処理の一例について説明する。図14は、音検出部の処理を説明するための図である。図14の各横軸は時間軸であり、縦軸は信号強度である。
50Aについて説明する。50Aの各線分50aは、付随データ110bに対応するものである。50bは、音データ110aに対応するものである。各部分音データ50bの類似する部分が、部分音データとして、類似音データ群110cに登録される。
50Bについて説明する。音検出装置100が各部分音データ50bに対して正規化を実行することで、図14の50Bに示すものとなる。
50Cについて説明する。音検出装置100が、各部分音データ50bに対して、和平均を実行することで、図14の50Cに示すように、背景雑音値51が算出される。
50Dについて説明する。音検出装置100は、背景雑音値51と、音データ52とを比較して、明らかに逸脱する部分52aを、異常音として検出する。なお、音データ52は、音データ110aに対応する。
次に、各実施例に示した表示装置100〜400と同様の機能を実現する音検出プログラムを実行するコンピュータの一例を説明する。図15は、音検出プログラムを実行するコンピュータの一例を示す図である。
図15に示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータの入力を受け付ける入力装置502と、ディスプレイ503を有する。また、コンピュータ500は、記憶媒体からプログラム等を読取る読み取り装置504と、ネットワークを介して他のコンピュータとの間でデータの授受を行うインターフェース装置505とを有する。また、コンピュータ500は、各種センサ506を有する。各種センサ506は、加速度センサ、速度センサに対応する。また、コンピュータ500は、位置取得装置507と、マイク508とを有する。位置取得装置507は、GPS機能を利用して、位置データを取得する。マイク508は、音データを取得するマイクである。また、コンピュータ500は、各種情報を一時記憶するRAM509と、ハードディスク装置510を有する。そして、各装置501〜510は、バス511に接続される。
ハードディスク装置510は、例えば、データ管理プログラム510a、選択プログラム510b、正規化プログラム510c、閾値算出プログラム510d、音検出プログラム510eを有する。CPU501は、各プログラム510a〜510eを読み出して、RAM509に展開する。
データ管理プログラム510aは、データ管理プロセス509aとして機能する。選択プログラム510bは、選択プロセス509bとして機能する。正規化プログラム510cは、正規化プロセス509cとして機能する。閾値算出プログラム510dは、閾値算出プロセス509dとして機能する。音検出プログラム510eは、音検出プロセス509eとして機能する。
例えば、データ管理プロセス509aは、データ管理部120aに対応する。選択プロセス509bは、選択部120bに対応する。正規化プロセス509cは、正規化部120cに対応する。閾値算出プロセス509dは、閾値算出部120dに対応する。音検出プロセス509eは、音検出部120eに対応する。
なお、各プログラム510a〜510eについては、必ずしも最初からハードディスク装置510に記憶させておかなくてもよい。例えば、コンピュータ500に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に各プログラムを記憶させておく。そして、コンピュータ500がこれらから各プログラム510a〜510eを読み出して実行するようにしてもよい。また、他の実施例2〜4に示した表示装置200〜400についても、音検出装置100と同様にして、コンピュータ500で実行される。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)移動体に搭載されたマイクから取得した音データと前記音データを取得する間の前記移動体の揺れの特徴を含む付随データとを基にして、前記音データのうち、前記移動体の揺れの特徴が類似する区間の部分音データの組を類似音データ群として選択する選択部と、
前記類似音データ群に含まれる複数の部分音データの信号強度値を基にして、閾値を算出する閾値算出部と、
検出対象の音の特徴に基づいて前記音データから検出対象の音データを示す検出音データを検出し、該検出音データと前記閾値とを基にして、前記検出音データを修正する音検出部と
を備えたことを特徴とする音検出装置。
(付記2)前記閾値算出部は、前記類似音データ群の各部分音データの信号強度値の平均値、最小値または最大値を閾値として算出し、前記音検出部は、前記検出音データの信号強度値と前記閾値との差分を算出し、差分に基づいて、前記検出音データを修正することを特徴とする付記1に記載の音検出装置。
(付記3)前記音検出部は、前記閾値算出部が算出した閾値と前記検出音データとの差分値に補正値を乗算した信頼度を時間毎に算出し、算出した時間毎の信頼度を基にして、検出音データを修正することを特徴とする付記1に記載の音検出装置。
(付記4)前記音検出部は、前記検出対象の音の特徴を含む基準音データと、前記検出音データとの類似度に基づいて、前記検出音データの各時間における検出対象の音であることの確からしさを示す発生確率を算出し、該発生確率と、前記閾値との差分によって、前記発生確率を更新し、更新した発生確率を基にして、前記検出音データを修正することを特徴とする付記1に記載の音検出装置。
(付記5)前記類似音データ群に含まれる部分音データの長さを統一し、該部分音データ内の音信号強度値の間隔を統一することで前記類似音データ群を正規化する正規化部を更に有することを特徴とする付記1〜4の何れか一つに記載の音検出装置。
(付記6)前記音検出部は、前記類似音データ群に含まれる部分音データと、前記マイクから取得した音データとでDPマッチングを行うことで、背景雑音となる音データを特定し、特定した結果を基にして、前記検出音データを修正することを特徴とする付記1に記載の音検出装置。
(付記7)前記マイクは前記移動体の異なる位置に複数配置され、前記音検出部は、複数のマイクのうちいずれか一つのマイクの音データの信号強度値が閾値以上となる区間以外から、検出音データを検出することを特徴とする付記1に記載の音検出装置。
(付記8)コンピュータが実行する音検出方法であって、
移動体に搭載されたマイクから取得した音データと前記音データを取得する間の前記移動体の揺れの特徴を含む付随データとを基にして、前記音データのうち、前記移動体の揺れの特徴が類似する区間の部分音データの組を類似音データ群として選択し、
前記類似音データ群に含まれる複数の部分音データの信号強度値を基にして、閾値を算出し、
検出対象の音の特徴に基づいて前記音データから検出対象の音データを示す検出音データを検出し、該検出音データと前記閾値とを基にして、前記検出音データを修正する
各処理を実行することを特徴とする音検出方法。
(付記9)前記閾値を算出する処理は、前記類似音データ群の各部分音データの信号強度値の平均値、最小値または最大値を閾値として算出し、前記検出音データを修正する処理は、前記検出音データの信号強度値と前記閾値との差分を算出し、差分に基づいて、前記検出音データを修正することを特徴とする付記8に記載の音検出方法。
(付記10)前記検出音データを修正する処理は、前記閾値と前記検出音データとの差分値に補正値を乗算した信頼度を時間毎に算出し、算出した時間毎の信頼度を基にして、検出音データを修正することを特徴とする付記8に記載の音検出方法。
(付記11)前記検出音データを修正する処理は、前記検出対象の音の特徴を含む基準音データと、前記検出音データとの類似度に基づいて、前記検出音データの各時間における検出対象の音であることの確からしさを示す発生確率を算出し、該発生確率と、前記閾値との差分によって、前記発生確率を更新し、更新した発生確率を基にして、前記検出音データを修正することを特徴とする付記8に記載の音検出方法。
(付記12)前記類似音データ群に含まれる部分音データの長さを統一し、該部分音データ内の音信号強度値の間隔を統一することで前記類似音データ群を正規化する処理を更に実行することを特徴とする付記8〜11の何れか一つに記載の音検出方法。
(付記13)前記検出音データを修正する処理は、前記類似音データ群に含まれる部分音データと、前記マイクから取得した音データとでDPマッチングを行うことで、背景雑音となる音データを特定し、特定した結果を基にして、前記検出音データを修正することを特徴とする付記8に記載の音検出方法。
(付記14)前記マイクは前記移動体の異なる位置に複数配置され、前記検出音データを修正する処理は、複数のマイクのうちいずれか一つのマイクの音データの信号強度値が閾値以上となる区間以外から、検出音データを検出することを特徴とする付記8に記載の音検出方法。
(付記15)コンピュータに、
移動体に搭載されたマイクから取得した音データと前記音データを取得する間の前記移動体の揺れの特徴を含む付随データとを基にして、前記音データのうち、前記移動体の揺れの特徴が類似する区間の部分音データの組を類似音データ群として選択し、
前記類似音データ群に含まれる複数の部分音データの信号強度値を基にして、閾値を算出し、
検出対象の音の特徴に基づいて前記音データから検出対象の音データを示す検出音データを検出し、該検出音データと前記閾値とを基にして、前記検出音データを修正する
各処理を実行させることを特徴とする音検出プログラム。
(付記16)前記閾値を算出する処理は、前記類似音データ群の各部分音データの信号強度値の平均値、最小値または最大値を閾値として算出し、前記検出音データを修正する処理は、前記検出音データの信号強度値と前記閾値との差分を算出し、差分に基づいて、前記検出音データを修正することを特徴とする付記15に記載の音検出プログラム。
(付記17)前記検出音データを修正する処理は、前記閾値と前記検出音データとの差分値に補正値を乗算した信頼度を時間毎に算出し、算出した時間毎の信頼度を基にして、検出音データを修正することを特徴とする付記15に記載の音検出プログラム。
(付記18)前記検出音データを修正する処理は、前記検出対象の音の特徴を含む基準音データと、前記検出音データとの類似度に基づいて、前記検出音データの各時間における検出対象の音であることの確からしさを示す発生確率を算出し、該発生確率と、前記閾値との差分によって、前記発生確率を更新し、更新した発生確率を基にして、前記検出音データを修正することを特徴とする付記15に記載の音検出プログラム。
(付記19)前記類似音データ群に含まれる部分音データの長さを統一し、該部分音データ内の音信号強度値の間隔を統一することで前記類似音データ群を正規化する処理を更にコンピュータに実行させることを特徴とする付記15〜18の何れか一つに記載の音検出プログラム。
(付記20)前記検出音データを修正する処理は、前記類似音データ群に含まれる部分音データと、前記マイクから取得した音データとでDPマッチングを行うことで、背景雑音となる音データを特定し、特定した結果を基にして、前記検出音データを修正することを特徴とする付記15に記載の音検出プログラム。
(付記21)前記マイクは前記移動体の異なる位置に複数配置され、前記検出音データを修正する処理は、複数のマイクのうちいずれか一つのマイクの音データの信号強度値が閾値以上となる区間以外から、検出音データを検出することを特徴とする付記15に記載の音検出プログラム。