(57)【要約】【課題】音源から発せられた音にノイズが混入しても精度よく音源の方向を検出することができる音源方向検出装置を提供する。【解決手段】Ａ／Ｄ変換部１２，２２は、マイクロホン１１，２１に入力された音を音響電気変換した音響波形信号をデジタル信号に変換する。絶対値化部１３，２３は、デジタル信号を絶対化して絶対値化信号Ｓ１３，Ｓ２３を生成する。エッジ抽出部１４，２４は、絶対値化信号Ｓ１３，Ｓ２３に基づいてエッジ信号Ｓ14e，Ｓ24eを生成する。重心時間差検出部３０は、エッジ信号Ｓ14e，Ｓ24eの重心の時間差を示す重心時間差データDtd30を生成する。方向判定部４０は、重心時間差データDtd30に基づいて音源の方向を判定する。【選択図】図１
2014035226.tif 000002
【特許請求の範囲】
【請求項１】
音源から発せられ、第１のマイクロホンに入力された音を音響電気変換した第１の音響波形信号に基づいて生成された第１のエッジ信号と、前記音源から発せられ、第２のマイクロホンに入力された音を音響電気変換した第２の音響波形信号に基づいて生成された第２のエッジ信号とが入力され、前記第１及び第２のエッジ信号の重心の時間差を示す重心時間差データを生成する重心時間差検出部と、
前記重心時間差データに基づいて前記音源の方向を判定する方向判定部と、
を備えることを特徴とする音源方向検出装置。
【請求項２】
前記重心時間差検出部は、
前記第１のエッジ信号における第１の重心を算出する第１の重心算出部と、
前記第２のエッジ信号における第２の重心を算出する第２の重心算出部と、
前記第１及び第２の重心に基づいて、前記重心時間差データを生成する重心時間差データ生成部と、
を有することを特徴とする請求項１記載の音源方向検出装置。
【請求項３】
前記第１及び第２の重心算出部はそれぞれ複数のアドレスを有するメモリを有し、
前記第１及び第２の重心算出部は、それぞれ、所定のデータ抽出期間内に、前記第１及び第２のエッジ信号を前記メモリのアドレスの一方の端部から他方の端部へと順次シフトさせつつ重心を算出し、
前記重心時間差データ生成部は、前記データ抽出期間内に生成された重心の時間差の正側の最大値または負側の絶対値の最大値を前記重心時間差データとする
ことを特徴とする請求項２記載の音源方向検出装置。
【請求項４】
前記データ抽出期間内に生成された重心の時間差の正側の最大値を検出する正最大値検出部と、
前記データ抽出期間内に生成された重心の時間差の負側の絶対値の最大値を検出する負最大値検出部と、
前記データ抽出期間内の正側の時間差と負側の時間差の割合に基づいて、前記正側の最大値と前記負側の絶対値の最大値とを混合する第１の混合率を生成する第１の混合率生成部と、
前記第１の混合率に応じて、前記正側の最大値と前記負側の絶対値の最大値とを混合して第１の混合値を生成し、前記第１の混合値を前記重心時間差データとする第１の混合部と、
を有することを特徴とする請求項３記載の音源方向検出装置。
【請求項５】
前記第１及び第２のエッジ信号が入力され、前記第１及び第２のエッジ信号が所定のレベル以上立ち上がった時点を基準として、前記第１及び第２のエッジ信号の時間差を示すエッジ時間差データを生成するエッジ時間差検出部をさらに備え、
前記方向判定部は、前記エッジ時間差データと前記重心時間差データに基づいて前記音源の方向を判定する
ことを特徴とする請求項１〜４のいずれか１項に記載の音源方向検出装置。
【請求項６】
前記方向判定部は、
前記エッジ時間差データと前記重心時間差データとの差分の大きさに応じて前記エッジ時間差データと前記重心時間差データとを混合する第２の混合率を生成する第２の混合率生成部と、
前記第２の混合率に応じて、前記エッジ時間差データと前記重心時間差データとを混合して第２の混合値を生成する第２の混合部と、
前記第２の混合値に基づいて前記音源の方向を判定する時間差角度変換部と、
を有することを特徴とする請求項５記載の音源方向検出装置。
【請求項７】
音源から発せられ、第１のマイクロホンに入力された音を音響電気変換した第１の音響波形信号に基づいて生成された第１のエッジ信号と、前記音源から発せられ、第２のマイクロホンに入力された音を音響電気変換した第２の音響波形信号に基づいて生成された第２のエッジ信号とのそれぞれの重心の時間差を示す重心時間差データを生成し、
前記重心時間差データに基づいて前記音源の方向を判定する
ことを特徴とする音源方向検出方法。
【請求項８】
コンピュータに、
音源から発せられ、第１のマイクロホンに入力された音を音響電気変換した第１の音響波形信号に基づいて生成された第１のエッジ信号と、前記音源から発せられ、第２のマイクロホンに入力された音を音響電気変換した第２の音響波形信号に基づいて生成された第２のエッジ信号とのそれぞれの重心の時間差を示す重心時間差データを生成させる機能と、
前記重心時間差データに基づいて前記音源の方向を判定させる機能と、
を実現させることを特徴とする音源方向検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、音源の方向を検出することができる音源方向検出装置、音源方向検出方法、音源方向検出プログラムに関する。
【背景技術】
【０００２】
特許文献１〜３には、音源から発せられた音を複数のマイクロホンに入力して、音源の方向を検出する音源方向検出装置が記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平８−９４７３１号公報
【特許文献２】特開平１１−８３９８２号公報
【特許文献３】特開２０００−３５４７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
音源からの音に音源とは異なる位置で発せられたノイズが混入すると、音源の方向を誤検出することがある。ノイズが混入しても精度よく音源の方向を検出することができる音源方向検出装置、音源方向検出方法、音源方向検出プログラムが求められる。
【０００５】
本発明はこのような要望に対応するため、音源から発せられた音にノイズが混入しても精度よく音源の方向を検出することができる音源方向検出装置、音源方向検出方法、音源方向検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、上述した従来の技術の課題を解決するため、音源（ＳＳ）から発せられ、第１のマイクロホン（１１）に入力された音を音響電気変換した第１の音響波形信号に基づいて生成された第１のエッジ信号（Ｓ14e）と、前記音源から発せられ、第２のマイクロホン（２１）に入力された音を音響電気変換した第２の音響波形信号に基づいて生成された第２のエッジ信号（Ｓ24e）とが入力され、前記第１及び第２のエッジ信号の重心の時間差（td）を示す重心時間差データ（Dtd30）を生成する重心時間差検出部（３０）と、前記重心時間差データに基づいて前記音源の方向を判定する方向判定部（４０，４１）とを備えることを特徴とする音源方向検出装置を提供する。
【０００７】
上記の音源方向検出装置において、前記重心時間差検出部は、前記第１のエッジ信号における第１の重心を算出する第１の重心算出部（３０１）と、前記第２のエッジ信号における第２の重心を算出する第２の重心算出部（３０２）と、前記第１及び第２の重心に基づいて、前記重心時間差データを生成する重心時間差データ生成部（３０３〜３０８）とを有することが好ましい。
【０００８】
上記の音源方向検出装置において、前記第１及び第２の重心算出部はそれぞれ複数のアドレスを有するメモリを有し、前記第１及び第２の重心算出部は、それぞれ、所定のデータ抽出期間内に、前記第１及び第２のエッジ信号を前記メモリのアドレスの一方の端部から他方の端部へと順次シフトさせつつ重心を算出し、前記重心時間差データ生成部は、前記データ抽出期間内に生成された重心の時間差の正側の最大値または負側の絶対値の最大値を前記重心時間差データとすることが好ましい。
【０００９】
上記の音源方向検出装置において、前記データ抽出期間内に生成された重心の時間差の正側の最大値を検出する正最大値検出部（３０４）と、前記データ抽出期間内に生成された重心の時間差の負側の絶対値の最大値を検出する負最大値検出部（３０５）と、前記データ抽出期間内の正側の時間差と負側の時間差の割合に基づいて、前記正側の最大値と前記負側の絶対値の最大値とを混合する第１の混合率を生成する第１の混合率生成部（３０６，３０７）と、前記第１の混合率に応じて、前記正側の最大値と前記負側の絶対値の最大値とを混合して第１の混合値を生成し、前記第１の混合値を前記重心時間差データとする第１の混合部（３０８）とを有することが好ましい。
【００１０】
上記の音源方向検出装置において、前記第１及び第２のエッジ信号が入力され、前記第１及び第２のエッジ信号が所定のレベル以上立ち上がった時点を基準として、前記第１及び第２のエッジ信号の時間差を示すエッジ時間差データを生成するエッジ時間差検出部（３１）をさらに備え、前記方向判定部（４１）は、前記エッジ時間差データと前記重心時間差データに基づいて前記音源の方向を判定することが好ましい。
【００１１】
上記の音源方向検出装置において、前記方向判定部は、前記エッジ時間差データと前記重心時間差データとの差分の大きさに応じて前記エッジ時間差データと前記重心時間差データとを混合する第２の混合率を生成する第２の混合率生成部（４１１，４１２）と、前記第２の混合率に応じて、前記エッジ時間差データと前記重心時間差データとを混合して第２の混合値を生成する第２の混合部（４１３）と、前記第２の混合値に基づいて前記音源の方向を判定する時間差角度変換部（４１４）とを有することが好ましい。
【００１２】
また、本発明は、上述した従来の技術の課題を解決するため、音源（ＳＳ）から発せられ、第１のマイクロホン（１１）に入力された音を音響電気変換した第１の音響波形信号に基づいて生成された第１のエッジ信号（Ｓ14e）と、前記音源から発せられ、第２のマイクロホン（２１）に入力された音を音響電気変換した第２の音響波形信号に基づいて生成された第２のエッジ信号（Ｓ24e）とのそれぞれの重心の時間差を示す重心時間差データ（Dtd30）を生成し、前記重心時間差データに基づいて前記音源の方向を判定することを特徴とする音源方向検出方法を提供する。
【００１３】
さらに、本発明は、上述した従来の技術の課題を解決するため、コンピュータに、音源（ＳＳ）から発せられ、第１のマイクロホン（１１）に入力された音を音響電気変換した第１の音響波形信号に基づいて生成された第１のエッジ信号（Ｓ14e）と、前記音源から発せられ、第２のマイクロホン（２１）に入力された音を音響電気変換した第２の音響波形信号に基づいて生成された第２のエッジ信号（Ｓ24e）とのそれぞれの重心の時間差を示す重心時間差データを生成させる機能と、前記重心時間差データに基づいて前記音源の方向を判定させる機能とを実現させることを特徴とする音源方向検出プログラムを提供する。
【発明の効果】
【００１４】
本発明の音源方向検出装置、音源方向検出方法、音源方向検出プログラムによれば、音源から発せられた音にノイズが混入しても精度よく音源の方向を検出することができる。
【図面の簡単な説明】
【００１５】
【図１】第１実施形態の音源方向検出装置を示すブロック図である。
【図２】図１中のマイクロホン１１，１２と音源ＳＳとの位置関係の例を示す図である。
【図３】図１中のマイクロホン１１，１２より出力されるアナログ信号の例を示す波形図である。
【図４】図１中の絶対値化部１３，２３より出力される絶対値化信号Ｓ１３，Ｓ２３の例と、図１中のエッジ抽出部１４，２４内で絶対値化信号Ｓ１３，Ｓ２３を低域通過フィルタに通すことによって高域成分を低減させた波形信号Ｓ１４，Ｓ２４の例を示す波形図である。
【図５】図１中のエッジ抽出部１４，２４より出力されるエッジ信号Ｓ14e，Ｓ24eの例を示す波形図である。
【図６】図１中の重心時間差検出部３０の具体的な構成例を示すブロック図である。
【図７】図６中の重心算出部３０１，３０２にエッジ信号Ｓ14e，Ｓ24eに入力され始めた初期の時点の状態を示す図である。
【図８】図７の状態から時間が進行して、データ抽出期間内にエッジ信号Ｓ14e，Ｓ24eの全てが入った状態を示す図である。
【図９】図８の状態からさらに時間が進行して、エッジ信号Ｓ14e，Ｓ24eの一部がデータ抽出期間から外れた状態を示す図である。
【図１０】ノイズが混入したエッジ信号Ｓ14e’，Ｓ24e’の例を示す図である。
【図１１】時間の進行に伴うエッジ信号Ｓ14e，Ｓ24eの重心差分値tdの変化の様子を示す図である。
【図１２】重心差分値tdが正側に発生する場合と負側に発生する場合のシミュレーション波形の例を示す図である。
【図１３】重心差分値tdが正側及び負側に発生する場合の第１の例を示す図である。
【図１４】重心差分値tdが正側及び負側に発生する場合の第２の例を示す図である。
【図１５】図６中の非線形処理部３０７における極性占有率Rpoから混合率Rmixへの変換特性の例を示す特性図である。
【図１６】２つのマイクロホン１１，２１に到達する音波の時間差に基づいて音源ＳＳの方向を示す角度を算出することができる原理を説明するための図である。
【図１７】第２実施形態の音源方向検出装置を示すブロック図である。
【図１８】図１７中のエッジ時間差検出部３１に入力されるエッジ信号Ｓ14e，Ｓ24eの例を示す図である。
【図１９】エッジ時間差検出部３１にノイズが混入したエッジ信号Ｓ14e’，Ｓ24e’が入力された場合にエッジ時間差検出部３１で検出される時間差を説明するための図である。
【図２０】図１７中の方向判定部４１の具体的な構成例を示すブロック図である。
【図２１】図２０中の非線形処理部４１２における絶対値差分値D411から混合率D412への変換特性の例を示す特性図である。
【発明を実施するための形態】
【００１６】
以下、音源方向検出装置、音源方向検出方法、音源方向検出プログラムの各実施形態について、添付図面を参照して説明する。
【００１７】
＜第１実施形態＞
第１実施形態の音源方向検出装置、音源方向検出方法、音源方向検出プログラムについて説明する。図１において、マイクロホン１１，２１には、ここでは図示していない音源より発せられた音が入力される。一例として、マイクロホン１１，２１は、図２に示すように、液晶パネル等の薄型ディスプレイを用いた画像表示装置１０の上面に互いに離間させて配置されている。マイクロホン１１，２１には、画像表示装置１０の前方に位置する音源ＳＳからの音が入力される。
【００１８】
音源ＳＳから発せられる音としては、拍手音のように急激に立ち上がって収束するエッジ成分を含む音であることが望ましい。
【００１９】
マイクロホン１１，２１は、入力された音を音響電気変換して図３に示すような波形のアナログ信号（音響波形信号）を出力する。図３に示す波形は単なる一例である。マイクロホン１１，２１が図２に示すように配置されている場合、音源ＳＳからの音はマイクロホン１１に先に到達し、マイクロホン２１に後に到達する。従って、マイクロホン１１が出力するアナログ信号とマイクロホン２１が出力するアナログ信号とは若干の時間ずれることになる。
【００２０】
なお、マイクロホン１１，２１に入力される音は厳密には完全に同じ波形ではないため出力するアナログ信号も同じ波形にはならないが、ここでは簡略化のため、同じ波形のアナログ信号を出力するとして説明する。
【００２１】
Ａ／Ｄ変換器１２，２２は、マイクロホン１１，２１より出力されたアナログ信号をデジタル信号に変換する。マイクロホン１１，２１がＡ／Ｄ変換器を内蔵し、マイクロホン１１，２１がデジタル信号を出力する場合には、Ａ／Ｄ変換器１２，２２は省略可能である。
【００２２】
絶対値化部１３，２３は、Ａ／Ｄ変換器１２，２２より出力されたデジタル信号を絶対値化する。絶対値化部１３，２３からは、絶対値化信号Ｓ１３，Ｓ２３が出力される。図４の実線は、絶対値化信号Ｓ１３またはＳ２３を示している。絶対値化信号Ｓ１３と絶対値化信号Ｓ２３とは若干の時間ずれている。図４では、簡略化のため信号波形の包絡線のみを示している。
【００２３】
エッジ抽出部１４，２４は、絶対値化部１３，２３より出力された絶対値化信号Ｓ１３，Ｓ２３に基づいて波形のエッジを抽出する。エッジ抽出部１４，２４は、まず、絶対値化信号Ｓ１３，Ｓ２３を低域通過フィルタに通すことによって高域成分を低減させて遅延させることによって、図４に破線で示すような、波形信号Ｓ１４，Ｓ２４を生成する。
【００２４】
エッジ抽出部１４，２４は、絶対値化信号Ｓ１３，Ｓ２３から波形信号Ｓ１４，Ｓ２４を減算し、負の成分を零で制限することによって、図５に示すようなエッジ信号Ｓ14e，Ｓ24eを生成する。エッジ信号Ｓ14e，Ｓ24eは急峻に立ち上がって急峻に立ち下がるパルス状の信号波形である。エッジ信号Ｓ14e，Ｓ24eは、包絡線信号として抽出される。
【００２５】
図５に示すエッジ信号Ｓ14e，Ｓ24eは、時間が離れた２箇所にそれぞれエッジ信号Ｓ14e，Ｓ24eが発生しているが、パルス状の音が１回のみ発生した場合には、エッジ信号Ｓ14e，Ｓ24eは１箇所のみの波形となる。
【００２６】
以上のようにしてエッジ抽出部１４が生成したエッジ信号Ｓ14eと、エッジ抽出部２４が生成したエッジ信号Ｓ24eは、重心時間差検出部３０に入力される。以上説明したエッジ抽出部１４，２４によるエッジ抽出方法は、エッジを的確に抽出することができる好ましい方法であるが、他のエッジ抽出方法を採用してもよい。
【００２７】
図６を用いて、重心時間差検出部３０の具体的構成及び動作について説明する。図６に示す重心時間差検出部３０は、重心時間差検出方式によってエッジ信号Ｓ14eとエッジ信号Ｓ24eとの時間差を検出する。
【００２８】
図６において、重心算出部３０１には、エッジ抽出部１４より出力されたエッジ信号Ｓ14eが入力され、重心算出部３０２には、エッジ抽出部２４より出力されたエッジ信号Ｓ24eが入力される。重心算出部３０１，３０２は、アドレス１〜ＮのＮサンプルのデータを保持するメモリ（シフトレジスタ）を有する。アドレス１〜Ｎに保持されるデータは時間の進行に伴って順次シフトされる。
【００２９】
図７は、重心算出部３０１，３０２にエッジ信号Ｓ14e，Ｓ24eが入力され始めた初期の時点の状態を示している。図７において、（ａ）は重心算出部３０１に入力されるエッジ信号Ｓ14e、（ｂ）は重心算出部３０２に入力されるエッジ信号Ｓ24eを示している。エッジ信号Ｓ14e，Ｓ24eは実際には離散的なデータである。
【００３０】
エッジ信号Ｓ14e，Ｓ24eの各サンプル点のデータは、時間の進行に伴って、１サンプルごとにメモリの一方の端部であるアドレス１から他方の端部であるアドレスＮへと順次シフトされていく。即ち、エッジ信号Ｓ14e，Ｓ24eは、時間の進行に伴って、１サンプルごとに図７の左方向へと移っていく。それぞれのタイミングにおいて、アドレス１〜Ｎのメモリには、エッジ信号Ｓ14e，Ｓ24eの各サンプル点のデータが保持される。
【００３１】
図７では、時刻ta，tb間のデータ抽出期間内にエッジ信号Ｓ14e，Ｓ24eの一部が入っている状態であるので、アドレス１〜Ｎのメモリにおけるアドレス１側の一部のアドレスにエッジ信号Ｓ14e，Ｓ24eの一部のサンプル点のデータが保持され、残りのアドレスのデータは零である。時刻tbは現在時刻である。
【００３２】
データ抽出期間内のエッジ信号Ｓ14e，Ｓ24eの波形をＳ（ｉ）、ｉを１〜Ｎとすると、データ抽出期間内のエッジ信号Ｓ14e，Ｓ24eの時間軸上の重心tgは次の式（１）で算出することができる。
【００３３】
【数１】
2014035226.tif 000003
【００３４】
図７の（ａ）に示すエッジ信号Ｓ14eの重心tgをtg1、図７の（ｂ）に示すエッジ信号Ｓ24eの重心tgをtg2とすると、重心tg1，tg2は図７の（ａ），（ｂ）に太い実線の矢印で示す位置（時刻）となる。重心tg1，tg2は図６の時間差分算出部３０３に入力される。時間差分算出部３０３は、次の式（２）によって重心tg1，tg2の時間差である重心差分値tdを算出する。重心差分値tdは、エッジ信号Ｓ14e，Ｓ24eの重心の時間差を示す重心時間差データの１つである。
【００３５】
td=tg1-tg2    …（２）
【００３６】
データ抽出期間内にエッジ信号Ｓ14e，Ｓ24eが入っていない状態では、式（１）の分母と分子が零になる。この場合には、重心算出部３０１，３０２及び時間差分算出部３０３は、重心tg（tg1，tg2）及び重心差分値tdを不定または零として破綻しないように処理する。
【００３７】
図８は、図７の状態から時間が進行して、データ抽出期間内にエッジ信号Ｓ14e，Ｓ24eの全てが入った状態を示している。エッジ信号Ｓ14e，Ｓ24eの全てのサンプル点のデータは、重心算出部３０１，３０２が有するメモリのアドレス１〜Ｎの中間のアドレス部分に保持される。図８の（ａ），（ｂ）では、重心tg1，tg2は図示の位置（時刻）となり、重心差分値tdは図示の時間間隔となる。
【００３８】
図９は、図８の状態からさらに時間が進行して、エッジ信号Ｓ14e，Ｓ24eの一部がデータ抽出期間から外れた状態を示している。アドレス１〜ＮのメモリにおけるアドレスＮ側の一部のアドレスにエッジ信号Ｓ14e，Ｓ24eの一部のサンプル点のデータが保持される。図９の（ａ），（ｂ）では、重心tg1，tg2は図示の位置（時刻）となり、重心差分値tdは図示の時間間隔となる。
【００３９】
図１０を用いて、エッジ信号Ｓ14e，Ｓ24eにノイズが混入した場合について説明する。図１０の（ａ）はノイズＮＺが混入したエッジ信号Ｓ14e’を示しており、図１０の（ｂ）はノイズＮＺが混入したエッジ信号Ｓ24e’を示している。図１０は、図８と同様に、データ抽出期間内にエッジ信号Ｓ14e’，Ｓ24e’の全てが入った状態を示している。エッジ信号Ｓ14e’，Ｓ24e’のピーク値はそれぞれＬ１，Ｌ２である。
【００４０】
このようにノイズＮＺが混入したエッジ信号Ｓ14e’，Ｓ24e’の場合には、式（１）によって算出する重心tg1，tg2の位置は、ノイズＮＺが混入していない場合と比較して若干ずれることになる。重心差分値tdも、ノイズＮＺが混入していない場合と比較して若干長くなったり短くなったりする可能性がある。ノイズＮＺの影響は、方向を検出したい所望の音源とノイズＮＺの方向とが異なるほど、またノイズＮＺの音量が大きくなるほど影響が大きくなる。しかしながら、エッジ信号の最も大きな振幅が所望の音源によるものであればノイズＮＺの有無による重心tg1,tg2の位置及び重心差分値tdへの影響は誤差程度であり、音源の方向の検出に破綻を来たすような問題となることはない。
【００４１】
図１１は、図７〜図９で説明したようにエッジ信号Ｓ14e，Ｓ24eのサンプル点のデータがメモリのアドレス１側からアドレスＮ側へと順次のシフトされたときの重心差分値tdの変化の様子を示している。重心差分値tdは、データ抽出期間の中央付近において平坦となり、この平坦な部分が重心差分値tdの最大値となる。図８より分かるように、データ抽出期間内にエッジ信号Ｓ14e，Ｓ24eの全てが入った状態は所定の時間にわたって発生する。従って、重心差分値tdは部分的に平坦な特性となる。
【００４２】
図１１に示すTdhは、図６のデータ保持部３０９でのデータ保持タイミングを示している。データ保持部３０９におけるデータ保持については後述する。
【００４３】
図７〜図９では、図２で説明したように、音源ＳＳからの音がマイクロホン１１に先に到達する場合を示しているので、エッジ信号Ｓ14eが先に発生し、エッジ信号Ｓ24eが後に発生して、図１１に示すように、重心差分値tdは正側に発生する。音源ＳＳからの音がマイクロホン２１に先に到達する場合には、重心差分値tdは負側に発生することになる。
【００４４】
図１２の（ａ），（ｂ）は、重心差分値tdが正側に発生する場合と負側に発生する場合のシミュレーション波形の例を示している。図１２の（ａ）に示すシミュレーション波形では、平坦な部分は波形の右側に偏った位置にある。図１２の（ｂ）に示すシミュレーション波形では、平坦な部分は波形の中央付近にあるものの、平坦な部分の時間は短い。エッジ信号Ｓ14e，Ｓ24eの波形によって平坦な部分の位置は異なり、平坦な部分の時間長も異なることになる。
【００４５】
図６において、重心差分値tdは、正最大値検出部３０４と、負最大値検出部３０５と、極性占有率算出部３０６に入力される。正最大値検出部３０４は、図１２の（ａ）のような場合の重心差分値tdの正側の最大値Maxpを検出する。負最大値検出部３０５、図１２の（ｂ）のような場合の重心差分値tdの負側の絶対値の最大値Maxmを検出する。正最大値検出部３０４及び負最大値検出部３０５は、重心差分値tdの値を抽出するタイミングを一義的に決めて値を抽出するのではなく、正側の最大値または負側の絶対値の最大値を検出することによって、重心差分値tdを正確に得ることができる。
【００４６】
特定のタイミングで重心差分値tdを抽出する方法は、タイミングを特定するのが難しく、ノイズでタイミングがずれる場合があることから、正確な値を得る手法としては正の最大値または負の絶対値の最大値を用いる方法が合理的である。
【００４７】
重心差分値tdの正側の最大値または負側の絶対値の最大値は、エッジ信号Ｓ14e，Ｓ24eの重心の時間差を示す重心時間差データの１つである。
【００４８】
ところが、本発明者による検証によって、音源ＳＳがマイクロホン１１，２１から等距離に近い位置にあり、重心差分値tdが小さいときには、重心差分値tdは正側または負側に明確に発生しない場合があることが判明している。
【００４９】
図１３は、重心差分値tdが正の期間Tpと負の期間Tmとが存在しており、正の期間Tpの方が格段に長い場合である。エッジ信号Ｓ14e，Ｓ24eが歪んでいる場合には、データ抽出期間の最初または最後の部分で重心差分値tdの正負が反転する場合がある。図１４は、重心差分値tdが正の期間Tpと負の期間Tmとが存在しており、正の期間Tpと負の期間Tmとがほぼ同じ長さの場合である。
【００５０】
重心時間差検出部３０は、図１３，図１４のような重心差分値tdの波形が発生する場合を考慮して、極性占有率算出部３０６と非線形処理部３０７と混合部３０８を設けている。極性占有率算出部３０６は、次の式（３）によって極性占有率Rpoを算出する。重心差分値tdの値が零の場合は、正の期間Tpと負の期間Tmとのいずれかに含める。
【００５１】
Rpo=Tp/(Tp+Tm)    …（３）
【００５２】
極性占有率Rpoは０〜１の値となる。図１３の場合、極性占有率Rpoは１に近い値となり、図１４の場合、極性占有率Rpoは０．５付近の値となる。極性占有率算出部３０６が算出した極性占有率Rpoは、非線形処理部３０７に入力される。非線形処理部３０７は、図１５に示す変換特性に基づいて、極性占有率Rpoを混合率Rmixに変換する。なお、極性占有率Rpoは本実施形態では時間率で算出したが、重心差分値tdと重心差分値tdが零の時間軸とで囲まれた部分の面積の比率で算出してもよい。
【００５３】
非線形処理部３０７は、実線にて示すように、極性占有率Rpoが０に近い領域Rpo1では混合率Rmixを０とし、極性占有率Rpoが１に近い領域Rpo3では混合率Rmixを１とし、極性占有率Rpoが０．５付近の領域Rpo2では混合率Rmixを０から１へと線形に増大させていく。非線形処理部３０７は、簡略化のため、一点鎖線にて示すように、領域Rpo2において混合率Rmixを０．５の一定値としてもよい。
【００５４】
極性占有率算出部３０６と非線形処理部３０７は、データ抽出期間内の正側の時間差（重心差分値td）と負側の時間差（重心差分値td）の割合に基づいて、正側の最大値Maxpと負側の絶対値の最大値Maxmとを混合する混合率Rmixを生成する混合率生成部である。
【００５５】
混合部３０８には、正最大値検出部３０４より出力される正側の最大値Maxpと、負最大値検出部３０５より出力される負側の絶対値の最大値Maxmと、非線形処理部３０７より出力される混合率Rmixが入力される。混合部３０８は、混合率Rmixの値に応じて正側の最大値Maxpと負側の絶対値の最大値Maxmとを混合して混合値Mmixを生成する。混合部３０８は、次の式（４）に基づいて混合値Mmixを生成する。
【００５６】
Mmix=(Maxp-Maxm)Rmix+Maxm    …（４）
【００５７】
式（４）より分かるように、混合率Rmixが１であれば、混合部３０８は正側の最大値Maxpのみを出力し、混合率Rmixが０であれば、混合部３０８は負側の絶対値の最大値Maxmのみを出力する。混合部３０８は、混合率Rmixの値が大きいほど正側の最大値Maxpを増やす。混合率Rmixが０．５であれば、混合部３０８は、正側の最大値Maxpと負側の絶対値の最大値Maxmとの平均値を出力する。このようにして、混合部３０８は、正側の最大値Maxpと負側の絶対値の最大値Maxmとを混合した混合値Mmixを出力する。
【００５８】
混合部３０８より出力された混合値Mmixは、エッジ信号Ｓ14e，Ｓ24eの重心の時間差を示す重心時間差データの１つである。
【００５９】
データ保持部３０９は、混合部３０８より出力された混合値Mmixを図１１〜図１４に示すデータ抽出期間を過ぎた後のデータ保持タイミングTdhで保持する。データ保持部３０９が過去に混合値Mmixを保持している場合には、データ保持タイミングTdhで新たな混合値Mmixへと更新される。データ保持部３０９は、保持した混合値Mmixを重心時間差検出部３０の最終的な時間差検出データDtd30として出力する。
【００６０】
図１に戻り、以上のようにして重心時間差検出部３０によってエッジ信号Ｓ14e，Ｓ24eの時間差が検出されて生成された時間差検出データDtd30は、方向判定部４０に入力される。方向判定部４０は、時間差検出データDtd30に基づいて、音源ＳＳの方向を示す角度データＤag40を生成して出力する。
【００６１】
図１６を用いて、エッジ信号Ｓ14e，Ｓ24eの時間差に基づいて音源ＳＳの方向を示す角度を算出することができる原理について説明する。図１６において、音源ＳＳから発せられる音波を平面波とした場合、音源ＳＳから２つのマイクロホン１１，２１の中心点ＰＤへ向かう平面波は、マイクロホン１１の位置である点ＰＢに到達するとき、一点鎖線にて示す線分ＳＳ−ＰＤに直交する線分ＰＢ−ＰＣの点ＰＣに到達する。
【００６２】
音源ＳＳから発せられる音波は厳密には球面波であり、太い破線で示すように、点ＰＢと点ＰＣとを通過する円弧を描く。マイクロホン２１の位置をＰＡ、線分ＳＳ−ＰＡと点ＰＢ，点ＰＣを通過するときの球面波が描く円弧との交点をＰＥとすると、音波と平面波で近似した場合と球面波とした場合との誤差は、線分ＰＡ−ＰＣと線分ＰＡ−ＰＥとの僅かな差となる。この差は無視することができる程度の差であり、平面波による近似で十分な精度を得ることができる。
【００６３】
従って、線分ＰＡ−ＰＣの距離Dacが、マイクロホン１１，２１への平面波の到達距離の差となる。距離Dacを音波が進む時間をTacとすると、線分ＰＡ−ＰＢの垂線に対する音源ＳＳの角度θは次のようにして算出することができる。
【００６４】
時間Tacは、前述のように、エッジ信号Ｓ14e，Ｓ24eの重心tg1，tg2の時間差である重心差分値td、重心差分値tdの最大値、混合値Mmixである時間差検出データDtd30として算出されている。ここでは、重心差分値tdを時間tdとして説明する。
【００６５】
時刻をｔ、マイクロホン１１から得られる受信信号をS1(t)、マイクロホン２１から得られる受信信号をS2(t)とすると、時間tdより、式（５）の関係が得られる。
S2(t)=S1(t-td)    …（５）
【００６６】
音速をc、マイクロホン１１，２１間の距離をmdとし、音源ＳＳの角度θを用いて、時間tdは式（６）で表される。
td=md・sinθ/c    …（６）
【００６７】
従って、角度θは式（７）で表される。
θ=arcsin(td・c/md)    …（７）
【００６８】
マイクロホン１１，２１間の距離mdは既知であり、音速cを340m/sとすれば、時間tdを計測すれば角度θを求めることができる。最も基本的には、式（７）におけるtdとして重心差分値tdを用いれば、角度θを計算することができる。好ましくは、式（６）におけるtdとして重心差分値tdの最大値を用いれば、角度θを計算することができる。
【００６９】
第１実施形態においては、最も好ましい構成として、方向判定部４０は、混合値Mmixである時間差検出データDtd30を用いて角度θを計算し、得られた角度θを示す値を音源ＳＳの方向を示す角度データDag40として出力する。
【００７０】
図１，図６では、ハードウェア構成としての音源方向検出装置を示し、音源方向検出装置で実行される動作、即ち、音源方向検出方法について説明したが、以上説明した動作をソフトウェア（コンピュータプログラム）を用いて実現することも可能である。ハードウェアとソフトウェアとを混在させて構成することも可能であり、ハードウェアとソフトウェアとの使い分けは任意である。
【００７１】
コンピュータに、少なくとも重心時間差検出部３０及び方向判定部４０におけるそれぞれの動作（手順）を実行させ、図１，図６で説明した各機能を実現させればよい。
【００７２】
＜第２実施形態＞
第２実施形態の音源方向検出装置、音源方向検出方法、音源方向検出プログラムについて説明する。図１７に示す第２実施形態において、図１に示す第１実施形態と同一部分には同一符号を付し、その説明を適宜省略する。
【００７３】
図１７において、重心時間差検出部３０及びエッジ時間差検出部３１には、エッジ抽出部１４，２４より出力されたエッジ信号Ｓ14e，Ｓ24eが入力される。重心時間差検出部３０は、第１実施形態において説明したように、エッジ信号Ｓ14e，Ｓ24eの重心tg1，tg2の時間差に基づいて時間差検出データDtd30を生成して出力する。エッジ時間差検出部３１は、エッジ時間差検出方式によって、次のようにしてエッジ信号Ｓ14e，Ｓ24eの時間差を検出する。
【００７４】
図１８の（ａ），（ｂ）は、エッジ時間差検出部３１に入力されるエッジ信号Ｓ14e，Ｓ24eの例を示している。エッジ時間差検出部３１は、エッジ信号Ｓ14e，Ｓ24eのピーク値Ｌ１，Ｌ２を検出し、例えばＬ１／２，Ｌ２／２を閾値として設定する。エッジ時間差検出部３１は、エッジ信号Ｓ14eが閾値Ｌ１／２を越えた時刻th1と、エッジ信号Ｓ24eが閾値Ｌ２／２を越えた時刻th2とを検出する。エッジ時間差検出部３１は、時刻th1と時刻th2との時間差tdを検出して、時間差tdを示す時間差検出データDtd31を出力する。
【００７５】
このように、エッジ時間差検出部３１は、エッジ信号Ｓ14e，Ｓ24eが所定のレベル以上立ち上がった時点を基準として、エッジ信号Ｓ14e，Ｓ24eの時間差tdを示す時間差データDtd31を生成する。重心時間差検出部３０で生成される時間差検出データDtd30が重心時間差検出データであるのに対し、エッジ時間差検出部３１で生成される時間差検出データDtd31はエッジ時間差検出データである。なお、エッジ時間差検出部３１で検出される時間差tdと、重心時間差検出部３０で検出される時間差（重心差分値）tdとは異なるが、便宜上同じ符号を用いている。
【００７６】
タイミングパルス生成部３５は、重心時間差検出部３０及びエッジ時間差検出部３１がエッジ信号Ｓ14e，Ｓ24eの時間差tdを検出するために必要な各種のタイミングパルスを、エッジ信号Ｓ14e，Ｓ24eに基づいて生成する。タイミングパルスとしては、重心時間差検出部３０及びエッジ時間差検出部３１が有するメモリやフリップフロップまたはソフトウェアの変数を初期化するパルス、データを所定のタイミングで抽出したり保持したりするためのパルス等が含まれる。
【００７７】
なお、図１に示す第１実施形態においても、タイミングパルス生成部３５と同様のタイミングパルス生成部が必要であることは当然である。図１では、タイミングパルス生成部の図示を省略している。
【００７８】
ここで、図１９を用いて、エッジ信号Ｓ14e，Ｓ24eにノイズが混入した場合について説明する。図１９は図１０と同様の波形を示している。図１９の（ａ）はノイズＮＺが混入したエッジ信号Ｓ14e’を示しており、図１９の（ｂ）はノイズＮＺが混入したエッジ信号Ｓ24e’を示している。例えば、図１９の（ａ）の波形では、ノイズＮＺのピーク値は閾値Ｌ１／２を越えておらず、図１９の（ｂ）の波形では、ノイズＮＺのピーク値は閾値Ｌ２／２を越えているとする。
【００７９】
仮に、図１９の（ｂ）の波形においてノイズＮＺが混入していなかったり、ノイズＮＺのピーク値が閾値Ｌ２／２を越えてなかったりすれば、図１８で説明したように、エッジ時間差検出部３１は、エッジ信号Ｓ14e’が閾値Ｌ１／２を越えた時刻th1と、エッジ信号Ｓ24e’が閾値Ｌ２／２を越えた時刻th2とを検出する。エッジ時間差検出部３１は、時刻th1と時刻th2との時間差td1を検出する。
【００８０】
しかしながら、ノイズＮＺのピーク値が閾値Ｌ２／２を越えていると、エッジ時間差検出部３１は、エッジ信号Ｓ24e’が閾値Ｌ２／２を越えた時刻th3を検出してしまう。エッジ時間差検出部３１は、時刻th1と時刻th3との時間差td2を検出する。この場合の誤差は（td1+td2）となり、大きな誤差が発生してしまう。時間差td1と時間差td2とは方向が異なるので、時間差td2を検出した場合には、音源ＳＳの位置が図２とは逆にマイクロホン２１側に位置していると誤検出することになる。
【００８１】
エッジ信号Ｓ14e，Ｓ24eの時間差tdを直接検出するエッジ時間差検出部３１は、ノイズが混入した場合には大きな誤差が発生してしまうものの、ノイズが混入していない場合には精度よく、しかも、極めて簡単にエッジ信号Ｓ14e，Ｓ24eの時間差tdを検出することが可能である。一方、重心時間差検出部３０は、ノイズが混入したとしても音源ＳＳの位置を逆方向に誤検出してしまうほどの大きな誤差が発生することはなく、ノイズに対する耐性を有する。
【００８２】
図１７に示す重心時間差検出部３０とエッジ時間差検出部３１との双方を有する第２実施形態の構成は、エッジ信号Ｓ14e，Ｓ24eの時間差の検出精度とノイズに対する耐性とを両立させた構成である。図１７において、重心時間差検出部３０より出力された時間差検出データDtd30と、エッジ時間差検出部３１より出力された時間差検出データDtd31は、方向判定部４１に入力される。
【００８３】
図２０に示すように、方向判定部４１は、絶対値差分算出部４１１，非線形処理部４１２，混合部４１３，時間差角度変換部４１４を有する。絶対値差分算出部４１１には時間差検出データDtd30，Dtd31が入力され、絶対値差分算出部４１１は、時間差検出データDtd30，Dtd31それぞれが示す時間差の差分を算出して絶対化して絶対値差分値D411を出力する。
【００８４】
非線形処理部４１２は、入力された絶対値差分値D411を図２１に示す変換特性に基づいて混合率D412に変換する。時間差検出データDtd30，Dtd31は同じエッジ信号Ｓ14e，Ｓ24eに基づいて検出されたデータであるので、本来であれば両者の差は小さいが、ノイズが混入した場合には両者の差が大きくなる。
【００８５】
非線形処理部４１２は、実線にて示すように、絶対値差分値D411が０に近い領域D411aでは混合率D412を０〜０．５の一定値（例えば０．２５）とし、絶対値差分値D411が０と最大値の中間の値から最大値までの領域D411cでは混合率D412を１とし、領域D411aと領域D411cとの間の領域D411bでは混合率D412を０〜０．５の一定値から１へと線形に増大させていく。非線形処理部４１２は、簡略化のため、一点鎖線にて示すように、領域D411bにおいて混合率D412を０．５の一定値としてもよい。
【００８６】
絶対値差分算出部４１１と非線形処理部４１２は、時間差検出データDtd30，Dtd31の差分の大きさである絶対値差分値D411の値に応じて時間差検出データDtd30（重心時間差データ）と時間差検出データDtd31（エッジ時間差データ）とを混合する混合率D412を生成する混合率生成部である。
【００８７】
混合部４１３には、時間差検出データDtd30，Dtd31と混合率D412とが入力される。混合部４１３は、混合率D412の値に応じて時間差検出データDtd30，Dtd31を混合して、混合時間差検出データDtdmixを生成する。混合部４１３は、次の式（８）に基づいて混合時間差検出データDtdmixを生成する。
【００８８】
Dtdmix=(Dtd30-Dtd31)D412+Dtd31    …（８）
【００８９】
絶対値差分算出部４１１より出力された絶対値差分値D411が大きいということは、エッジ時間差検出部３１によって生成された時間差検出データDtd31の精度がよくなく、信頼性が低い可能性が高い。混合率D412の値を１とすれば、式（８）より、混合時間差検出データDtdmixは時間差検出データDtd30となる。上記のように、重心時間差検出部３０によって検出される時間差検出データDtd30はノイズに対する耐性を有する。
【００９０】
そこで、混合部４１３は、絶対値差分値D411が大きいほど時間差検出データDtd30の割合を増やし、絶対値差分値D411が所定の大きさ以上となったら時間差検出データDtd30のみとする。
【００９１】
絶対値差分算出部４１１より出力された絶対値差分値D411が小さいということは、ノイズによる影響を受けていない可能性が高く、エッジ時間差検出部３１によって生成された時間差検出データDtd31の精度がよい。そこで、混合部４１３は、絶対値差分値D411が小さいほどエッジ時間差検出部３１によって生成された時間差検出データDtd31の割合を増やす。
【００９２】
混合部４１３より出力された混合時間差検出データDtdmixは、時間差角度変換部４１４に入力される。時間差角度変換部４１４は、図１６で説明したような原理の基づいて、混合時間差検出データDtdmixが示す時間差を音源ＳＳの角度θに変換する。時間差角度変換部４１４は、式（６）における時間tdに混合時間差検出データDtdmixを用いて角度θを計算し、得られた角度θを示す値を音源ＳＳの方向を示す角度データＤag41として出力する。
【００９３】
第２実施形態においても、図１７，図２０で説明した動作をソフトウェア（コンピュータプログラム）を用いて実現することも可能である。ハードウェアとソフトウェアとを混在させて構成することも可能であり、ハードウェアとソフトウェアとの使い分けは任意である。コンピュータに、少なくとも重心時間差検出部３０，エッジ時間差検出部３１，方向判定部４１におけるそれぞれの動作（手順）を実行させ、図１７，図２０で説明した各機能を実現させればよい。
【００９４】
図２０のおける時間差角度変換部４１４を、重心時間差検出部３０とエッジ時間差検出部３１内で時間差tdを算出した直後に配置して、時間差tdを角度θに変換した上で後段の処理を行ってもよい。この場合、重心時間差検出部３０では、時間差分算出部３０３の直後に時間差角度変換部４１４を設ければよい。
【００９５】
本発明は以上説明した第１，第２実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々変更可能である。第１，第２実施形態では、２つのマイクロホン１１，１２を用いた構成を示しているが、３つ以上のマイクロホンを用いて音源の方向の検出精度を向上させるようにしてもよい。２つのマイクロホンを組として複数組のマイクロホンを備えて、複数の音源の方向を検出するようにしてもよい。
【産業上の利用可能性】
【００９６】
本発明の音源方向検出装置、音源方向検出方法、音源方向検出プログラムは、音源の方向を検出することができることから、監視カメラにおいて音が発生する方向を自動的に撮像する音響アラーム機能や初期設定時に監視したいポイントで音を発生させてその方向を登録する監視ポイント登録機能の他、例えばテレビジョン受像機の視聴者が拍手によって画面を視聴者の方向に向けさせるスイーベル機能、音を発生させる場所に応じて電子機器を制御する自動制御機能、テレビ会議システム、指向性マイク等の種々の分野または製品で利用可能である。
【符号の説明】
【００９７】
１１，２１  マイクロホン
１２，  ２２  Ａ／Ｄ変換器
１３，  ２３  絶対値化部
１４，  ２４  エッジ抽出部
３０  重心時間差検出部
３１  エッジ時間差検出部
３５  タイミングパルス生成部
４０，４１  方向判定部
３０１，３０２  重心算出部
３０３  時間差分算出部
３０４  正最大値検出部
３０５  負最大値検出部
３０６  極性占有率算出部（混合率生成部）
３０７  非線形処理部（混合率生成部）
３０８，４１３  混合部
３０９  データ保持部
４１１  絶対値差分算出部（混合率生成部）
４１２  非線形処理部（混合率生成部）
４１４  時間差角度変換部
【図１】
2014035226.tif 000004
【図２】
2014035226.tif 000005
【図３】
2014035226.tif 000006
【図４】
2014035226.tif 000007
【図５】
2014035226.tif 000008
【図６】
2014035226.tif 000009
【図７】
2014035226.tif 000010
【図８】
2014035226.tif 000011
【図９】
2014035226.tif 000012
【図１０】
2014035226.tif 000013
【図１１】
2014035226.tif 000014
【図１２】
2014035226.tif 000015
【図１３】
2014035226.tif 000016
【図１４】
2014035226.tif 000017
【図１５】
2014035226.tif 000018
【図１６】
2014035226.tif 000019
【図１７】
2014035226.tif 000020
【図１８】
2014035226.tif 000021
【図１９】
2014035226.tif 000022
【図２０】
2014035226.tif 000023
【図２１】
2014035226.tif 000024