(57)【要約】【課題】音信号からの発話区間の検出処理を高精度に実行する装置、方法を提供する。【解決手段】音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定部と、方向点を複数ブロック間で接続して区間の検出を行う方向トラッキング部を有する。方向推定部は、音源方向に対する感度の低い空間フィルタである死角フィルタに対応する方向とゲインとの対応関係データである死角パターンと、音源方向に対する感度の高い空間フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成し、死角パターンの極小部と指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する。【選択図】図１１
2012150237.tif 000002
【特許請求の範囲】
【請求項１】
音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定部と、
前記方向点を複数ブロック間で接続して音が発生している区間の検出を行う方向トラッキング部を有し、
前記方向推定部は、
音源方向に対する感度の低い空間フィルタである死角フィルタと、音源方向に対する感度の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成部と、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部と、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成部と、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出部を有する音信号処理装置。
【請求項２】
前記空間フィルタ生成部は、
音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、算出した最大の固有値に対応する固有ベクトルを用いて前記指向性フィルタを生成する請求項１に記載の音信号処理装置。
【請求項３】
前記空間フィルタ生成部は、
音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、算出した固有ベクトルに対して固有値を重みとした重みつき総和または重み付き平均により前記指向性フィルタを生成する請求項１に記載の音信号処理装置。
【請求項４】
前記空間フィルタ生成部は、
音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、固有ベクトルからなる行列Ｖ（ω）と、固有値からなる対角行列Ｄ（ω）を用いた演算処理らにより、変形済行列Ｖ'（ω）を算出し、算出した変形済行列Ｖ'（ω）の各行のいずれかを用いて死角フィルタを生成する請求項１に記載の音信号処理装置。
【請求項５】
前記方向点検出部は、
新たな方向点検出処理対象とするブロックの近傍ブロック群における死角パターンの最小値に基づいて計算した動的閾値を適用して、死角パターンにおける極小部を方向点とするか否かの選択を実行する請求項１に記載の音信号処理装置。
【請求項６】
前記方向点検出部は、
死角パターンの極小部の値が対応する指向性パターンの極大部の値よりも小さいという条件を満たす方向点を強い方向点とし、前記条件を満たさない方向点を弱い方向点として区別し、
作成中の区間の内側にある弱い方向点は音源方向を示す方向点として選択し、
作成中の区間の外側にある弱い方向点は音源方向を示す方向点として選択しない処理を行う請求項１に記載の音信号処理装置。
【請求項７】
前記方向点検出部は、
死角パターンの極小部の値が対応する指向性パターンの極大部の値よりも小さいという条件を満たす方向点を強い方向点とし、前記条件を満たさない方向点を弱い方向点として区別し、
作成中の区間の延長と確定処理においては、強い方向点と弱い方向点の双方を、音源方向を示す方向点として選択し、
新規の区間の作成開始時には、強い方向点のみを音源方向を示す方向点として選択する処理を行う請求項１に記載の音信号処理装置。
【請求項８】
音信号処理装置において実行する音信号処理方法であり、
方向推定部が、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定ステップと、
方向トラッキング部が、前記方向点を複数ブロック間で接続して区間の検出を行う方向トラッキングステップを実行し、
前記方向推定ステップは、
音源方向に対する感度の低い空間フィルタである死角フィルタと、音源方向に対する感度の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成ステップと、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部ステップ、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成ステップと、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出ステップを実行する音信号処理方法。
【請求項９】
音信号処理装置において音信号処理を実行させるプログラムであり、
方向推定部に、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出させる方向推定ステップと、
方向トラッキング部に、前記方向点を複数ブロック間で接続して区間の検出を行わせる方向トラッキングステップを実行させ、
前記方向推定ステップにおいては、
音源方向に対する感度の低い空間フィルタである死角フィルタと、音源方向に対する感度の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成ステップと、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部ステップ、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成ステップと、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出ステップを実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、音信号処理装置、および音信号処理方法、並びにプログラムに関する。さらに、詳細には音源方向推定を伴う音声区間検出処理を実行する音信号処理装置、および音信号処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
以下、従来技術として、最初に音声区間検出全般について説明し、次に音源方向推定を用いた音声区間検出処理方式について説明する。
音声区間検出（ＳＤ：Ｓｐｅｅｃｈ  Ｄｅｔｅｃｔｉｏｎ）とは、例えば音信号処理装置に備えられたマイクを介して入力する音信号の中から、人が発話している区間を切り出す処理のことである。音声区間検出（ＳＤ）は、ＶＡＤ（Ｖｏｉｃｅ  Ａｃｔｉｖｉｔｙ  Ｄｅｔｅｃｔｉｏｎ）とも呼ばれる。
本明細書では、音信号から人の発話区間を切り出す処理について、「音声区間検出」または単に「区間検出」として説明する。また、単に「区間」というと、音声に限らず、何らかの音源がアクティブであり続けている（鳴り続けている）区間を表わすものとする。
【０００３】
音声区間検出は、音声認識や音源抽出などと共に用いられることがあるが、いずれの場合も、区間検出には高い精度が要求される。
例えば多くの音声認識器では、区間検出によって切り出された区間に対してマッチング等の処理を行なうため、区間検出の精度が音声認識の精度に大きく影響する。すなわち、実際に発話した区間と、区間検出器が検出した区間とが異なっていると、それ自体が誤認識の原因となってしまう。
【０００４】
一方、音源抽出においても、区間検出が用いられる場合がある。例えば、音声と雑音とが混ざった信号からクリーンな音声を抽出したい場合や、二人以上が同時に発話している環境において一人の音声を抽出したい場合、音源抽出の方式によっては、入力信号を雑音のみが鳴っている区間と両方が混ざっている区間とに分割する必要があり、その目的で区間検出が使用される。
【０００５】
または、単に目的の音声が存在しているときのみ音源抽出を動作させることで、計算量を削減したり無音区間に適応するのを防いだりするという目的で区間検出が使用される場合もある。このような、音源抽出と共に使用される音声区間検出では、入力信号が音声と雑音との混合や音声同士の混合であっても高い精度で動作することが要求される。
【０００６】
以上のような用途に応えるため、音声区間検出には精度向上のための様々な工夫がなされている。ここでは使用するマイクロホンの個数に注目し、以下の２つの方式（１），（２）に分類する。
（１）単一のマイクロホンを用いる方式
入力信号から「音声らしさ」を表わす特徴量を抽出し、その値に基づいて区間検出を行なう方式である。
この処理については、例えば特許文献１（特許４１８２４４４号）などに記載がある。
（２）複数のマイクロホンを用いる方式
音源の方向を用いて区間検出を行なう方式である。
この処理については、例えば特許文献２（特許４２８２７０４号）、特許文献３（特開２０１０−１２１９７５号）などに記載されている。
【０００７】
本明細書において開示する技術は、上記の（２）の方式、すなわち、複数のマイクロホンを用いる方式に属するため、以下では（２）の音源方向を用いた方式の概要について説明する。
【０００８】
音源方向に基づく音声区間検出の基本的な考え方は、次の通りである。
同一の音源から発生している音は、マイクロホンから見て同一の方向から到来する。そのため、所定の時間間隔で音源到来方向（ＤＯＡ：Ｄｉｒｅｃｔｉｏｎ  Ｏｆ  Ａｒｒｉｖａｌ）を推定し、ほぼ同一の方向から音が出力され続けている区間を求め、この区間を音源がアクティブである（その音源から音が鳴っている）区間と判定する。人間の発話に対してこの処理を行なえば、音声区間を検出したことになる。
なお、以下では、音源到来方向（ＤＯＡ）を単に「音源方向」と呼ぶことがある。
【０００９】
複数の音源に対応して、各々上記の音源方向推定方法を適用すれば、複数の音源が同時にアクティブになっていても（例えば、複数人の音声が被っていても）、それぞれについて区間を求めることができる。
【００１０】
例えば、一人の話者が発話を終了する直前にもう一人の話者が発話を始めた場合、「音声らしさ」を用いる方式では両発話が繋がった長い領域を一つの区間として検出してしまうが、上記の方向推定を用いる方式ではそれぞれの発話の区間を区別して検出することができる。
【００１１】
この音源方向推定を用いた音声区間検出方式の概要について、図１を参照して説明する。
図１（ａ）は、入力信号（または「観測信号」とも呼ぶ）のイメージであり、話者が二人いてそれぞれ、
"Ｈｅｌｌｏ"
"Ｇｏｏｄ  ｂｙ"
と発話したことを表わしている。
【００１２】
図１（ｂ）に示すように、この入力信号を所定の長さのブロックに分割する。
図１（ｂ）に示すブロック１１は、分割されたブロックの１つ分を表わしている。ブロックの長さは、通常の発話の長さと比べて十分短い値とする。例えば１／１０秒や１／８秒に設定する。
【００１３】
それぞれのブロックに対して、音源方向の推定を行なう。
図１（ｃ）はその結果であり、横軸が時間、縦軸が方向を表わしている。方向とは、例えば、音声入力を行うマイクに対する音源方向の角度（図２参照）である。
図１（ｃ）に示す点は、方向点１２である。方向点は各ブロック内で求まった音源方向を示している。
なお、以降では、音源方向に対応した点を「方向点」と呼ぶ。複数音源に対応した方向推定方式を用いれば、各ブロックは複数の方向点を持ち得る。
【００１４】
次に、ブロック間で、ほぼ同一の方向の方向点を接続していく。この処理をトラッキングと呼ぶ。
図１（ｄ）はトラッキングの結果、すなわち接続された方向点を示している。
図１（ｄ）に示すライン１５，１６は、各音源がアクティブである区間、すなわち音声発話の区間を表わしている。
【００１５】
それぞれのブロックにおいて音源方向を求める方法として、
例えば前述の特許文献２（特許４２８２７０４号）では「目的音源から到来する信号を抑圧するためのビームフォーマー」を用いた処理について開示している。
また、前述の特許文献３（特開２０１０−１２１９７５号）は、ＭＵＳＩＣ法を用いた処理を開示している。
【００１６】
どちらも基本的には、音源の方向に死角（ｎｕｌｌ  ｂｅａｍ）を向けた空間フィルタを生成し、その死角の方向を音源方向とするものである。以降では、ＭＵＳＩＣ法について説明する。
【００１７】
ＭＵＳＩＣ法は、ＭＵｌｔｉｐｌｅ  ＳＩｇｎａｌ  Ｃｌａｓｓｉｆｉｃａｔｉｏｎの略である。ＭＵＳＩＣ法は、空間フィルタリング（特定方向の音を透過したり抑圧したりする処理）の観点からは、以下の２つのステップ（Ｓ１），（Ｓ２）の処理として説明できる。なお、ＭＵＳＩＣ法の詳細については、特許文献４（特開２００８−１７５７３３号）などを参照されたい。
【００１８】
（Ｓ１）ある区間（ブロック）内で鳴っている全ての音源の方向に死角を向けた空間フィルタを生成する。
（Ｓ２）そのフィルタについて指向特性（方向とゲインとの関係）を調べ、死角が表れている方向を求める。
【００１９】
上記のステップ（Ｓ１），（Ｓ２）中、ステップ（Ｓ１）の空間フィルタの生成方法については後述し、以下では、まず、ステップ（Ｓ２）の処理について説明する。
【００２０】
図２は、音源方向に死角を向けた空間フィルタ（図３）を生成するために用いた観測信号の収録状況を示す図である。４本のマイクロホン２２と２つの音源（どちらも人の音声）とが存在している。また、音源方向は、マイクロホン２２の配列（アレイ）の重心２１から見た到来方向であり、マイクロホンの配列に平行な設置方向２３に対して垂直方向２４を０°として、反時計回りを正（＋）、時計まわりを負（−）としている。
【００２１】
図３は、音源方向に死角を向けた空間フィルタの指向特性、すなわち、方向（横軸）とゲイン（縦軸）との関係をプロットしたものである。縦軸は対数とする。指向特性プロットの生成方法は後述する。以降では、音源に死角を向けた空間フィルタを「死角フィルタ」と呼び、そのフィルタの指向特性のプロットを「死角パターン」と呼ぶことにする。
【００２２】
図３に示す死角パターン３１においてゲインが急激に落ち込んでいる箇所は、感度が低い方向、すなわち死角を表わしている。この図では方向＝−２４°付近３２と＋１２°付近３３に深い「谷」が存在しており、これらは図２の音源１，２５と音源２，２６にそれぞれ対応した死角である。
【００２３】
すなわち、音源１の方向θ１は約−２４°、音源２の方向θ２は約＋１２°である。言い換えると、この死角パターンに対応したブロックは、−２４°と＋１２°に方向点を持つ。
【００２４】
なお、ＭＵＳＩＣ法ではゲインの対数の代わりにゲインの逆数を用いることもある。例えば前述の特許文献４（特開２００８−１７５７３３号）では逆数が用いられている。その場合、死角はグラフ上の鋭い「山」として表わされる。ここでは本発明との比較のため、ゲインの対数を用いる方式で説明する。
【００２５】
このようにして各ブロックで方向点が求まったら、類似の値を持つ方向点同士をブロック間で接続していく。たとえば図２の環境では、方向＝−２４°に近い値の方向点同士を接続すると図２に示す音源１，２５に相当する人の発話区間が求まり、方向＝＋１２°に近い値の方向点同士を接続すると音源２，２６に相当する人の発話区間が求まる。
【００２６】
［従来技術の問題点］
次に、この音源方向推定に基づく音声区間検出を開示した従来技術における問題点について説明する。
上述した音源方向推定に基づく区間検出においては、図１を参照して説明したブロック各々において各方向点で検出される方向点の個数が実際に鳴っている音源の個数と一致していることが望ましい。
もし、方向点の個数が音源数よりも少ないと、検出失敗（発話したのに検出されない）の原因となり得る。逆に方向点が音源数よりも多く検出されると、誤検出（発話していないのに検出される）の原因となり得る。
【００２７】
しかし、ＭＵＳＩＣ法に基づく方向推定では、死角パターンの凹み（以降「極小部（Ｌｏｃａｌ  Ｍｉｎｉｍｕｍ）」とも呼ぶ）が死角に対応しているのか否かを判別するのが困難な場合があるという課題がある。
【００２８】
例えば、図３に示す死角パターン３１では、方向＝−２４°付近の極小部３２と＋１２°付近の極小部３３の深い凹みの他に、浅い凹みを持つ極小部３４〜３７も存在している。死角に対応した谷の深さは環境によって異なり、さらに同一環境でもブロックによって異なるため、谷の深さに対する閾値で死角か否かを判定するのは困難である。
例えば、図３では、ゲイン値≒−０．１３付近に閾値３８を設定することで死角か否かを区別することができるが、その閾値が他のブロックでも有効である保証はない。
【００２９】
なお、音声入力のためのマイクロホンの数をｎとした場合、最大でｎ−１個の死角を形成することができる。その特徴を利用して、例えば図３に示すような死角パターン３１に対して、極小値の値の小さい順に順位付け（ソート）を行い、１位〜ｎ−１位のみを選択するという処理を行うことで、音源方向の候補をｎ−１個に制限できる。
【００３０】
しかし、常にマイク数＝ｎに基づいて、ｎ−１個を採用すると、無音のときにも死角パターンの細かな凹みのうちのｎ−１個を方向点として検出してしまう。従って、音源に対応しない余計な方向点を排除するためには、別の条件が必要となる。
【００３１】
さらに、音源方向推定を区間検出に用いることに固有の課題も存在する。複数音源に対応した区間検出器は、同時にアクティブになっている音源の個数に依存せずに区間が検出されることが望ましいが、閾値による死角判別方法では、それが困難な場合も存在する。
【００３２】
発話中に音源の個数が変化する場合の問題について、図４を用いて説明する。図２の音源２，２６が長く発話している途中で音源１，２５が短く発話したとする。その場合、それぞれの発話区間は図４（ａ）に示すように、音源１に対応する発話区間４１、および音源２に対応する発話区間４２のように検出されるのが望ましい。しかし、この例では音源数が０→１→２→１→０と変化しており、それが区間検出に影響を及ぼす可能性がある。
【００３３】
死角パターンにおいて、音源方向に対応した「谷」は、音源数が多くなるほど浅くなる傾向がある。すなわち、「谷」の数が増えるほど、それぞれの「谷」は浅くなる傾向がある。そのため、音源が一つしか鳴っていない区間で、例えば図３を参照して説明した閾値３８を調整すると、複数の音源が鳴っている区間での検出が不安定になる場合がある。
【００３４】
すなわち、図４（ｂ）に示す発話区間４３，４４のように、二人の発話が被っている区間（（ａ）に示す発話区間４２に該当する区間）において区間が途切れ途切れに検出される場合がある。閾値の設定によっては、発話区間４２に該当する区間だけ全く検出されなかったり、一方の音源のみ検出されたりすることもある。
【００３５】
一方、閾値を大きめに設定すると、複数音源が鳴ったときに区間が分断される可能性は小さくなる（図４（ｃ）に示す発話区間４５，４６）。しかしその反面、死角パターンにおいて音源方向に対応していない極小部、例えば図３に示す極小部３４〜３７も方向点として検出される可能性が高くなる。その結果、図４（ｃ）に示す発話区間４７のような、発話には対応しない「偽の発話区間」が検出される可能性が高くなる。
【００３６】
このように、音源方向への死角を用いて方向推定を行なう方式では、方向とゲインとの関係のパターンにおいてどの程度の深さの極小部を「音源方向に対応した死角」と見なすかが課題であり、その判別を閾値で行なおうとすると、トレードオフが存在していた。その結果、方向推定に基づく区間検出においても、検出失敗（非検出や区間分断）と誤検出とを共に抑制するのが困難であった。
【先行技術文献】
【特許文献】
【００３７】
【特許文献１】特許４１８２４４４号公報
【特許文献２】特許４２８２７０４号公報
【特許文献３】特開２０１０−１２１９７５号公報
【特許文献４】特開２００８−１７５７３３号公報
【発明の概要】
【発明が解決しようとする課題】
【００３８】
本件は、このような状況に鑑みてなされたものであり、音源方向推定を適用した音声区間検出を行なう構成において、検出失敗（非検出や区間分断）や誤検出を抑制して高精度な音声区間検出を実現する音信号処理装置、および音信号処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【００３９】
本発明の第１の側面は、
所定時間単位で分割したブロック毎に、音信号の音源方向を示す方向点を検出する方向推定部と、
前記方向点を複数ブロック間で接続して区間の検出を行う方向トラッキング部を有し、
前記方向推定部は、
音源方向に対する感度（ゲイン）の低い空間フィルタである死角フィルタと、音源方向に対する感度（ゲイン）の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成部と、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部と、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成部と、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出部を有する音信号処理装置にある。
【００４０】
さらに、本発明の音信号処理装置の一実施態様において、前記空間フィルタ生成部は、音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、算出した最大の固有値に対応する固有ベクトルを用いて前記指向性フィルタを生成する。
【００４１】
さらに、本発明の音信号処理装置の一実施態様において、前記空間フィルタ生成部は、音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、算出した固有ベクトルに対して固有値を重みとした重みつき総和または重み付き平均により前記指向性フィルタを生成する。
【００４２】
さらに、本発明の音信号処理装置の一実施態様において、前記空間フィルタ生成部は、音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、固有ベクトルからなる行列Ｖ（ω）と、固有値からなる対角行列Ｄ（ω）を用いた演算処理らにより、変形済行列Ｖ'（ω）を算出し、算出した変形済行列Ｖ'（ω）の各行のいずれかを用いて死角フィルタを生成する。
【００４３】
さらに、本発明の音信号処理装置の一実施態様において、前記方向点検出部は、新たな方向点検出処理対象とするブロックの近傍ブロック群における死角パターンの最小値に基づいて計算した動的閾値を適用して、死角パターンにおける極小部を方向点とするか否かの選択を実行する。
【００４４】
さらに、本発明の音信号処理装置の一実施態様において、前記方向点検出部は、死角パターンの極小部の値が対応する指向性パターンの極大部の値よりも小さいという条件を満たす方向点を強い方向点とし、前記条件を満たさない方向点を弱い方向点として区別し、作成中の区間の内側にある弱い方向点は音源方向を示す方向点として選択し、作成中の区間の外側にある弱い方向点は音源方向を示す方向点として選択しない処理を行う。
【００４５】
さらに、本発明の音信号処理装置の一実施態様において、前記方向点検出部は、死角パターンの極小部の値が対応する指向性パターンの極大部の値よりも小さいという条件を満たす方向点を強い方向点とし、前記条件を満たさない方向点を弱い方向点として区別し、作成中の区間の延長と確定処理においては、強い方向点と弱い方向点の双方を、音源方向を示す方向点として選択し、新規の区間の作成開始時には、強い方向点のみを音源方向を示す方向点として選択する処理を行う。
【００４６】
さらに、本発明の第２の側面は、
音信号処理装置において実行する音信号処理方法であり、
方向推定部が、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定ステップと、
方向トラッキング部が、前記方向点を複数ブロック間で接続して区間の検出を行う方向トラッキングステップを実行し、
前記方向推定ステップは、
音源方向に対する感度の低い空間フィルタである死角フィルタと、音源方向に対する感度の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成ステップと、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部ステップ、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成ステップと、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出ステップを実行する音信号処理方法にある。
【００４７】
さらに、本発明の第３の側面は、
音信号処理装置において音信号処理を実行させるプログラムであり、
方向推定部に、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出させる方向推定ステップと、
方向トラッキング部に、前記方向点を複数ブロック間で接続して区間の検出を行わせる方向トラッキングステップを実行させ、
前記方向推定ステップにおいては、
音源方向に対する感度の低い空間フィルタである死角フィルタと、音源方向に対する感度の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成ステップと、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部ステップ、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成ステップと、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出ステップを実行させるプログラムにある。
【００４８】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な画像処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【００４９】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００５０】
本発明の一実施例の構成によれば、音信号からの発話区間の検出処理を高精度に実行する装置、方法が実現される。具体的には、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定部と、方向点を複数ブロック間で接続して区間の検出を行う方向トラッキング部を有する。方向推定部は、音源方向に対する感度の低い空間フィルタである死角フィルタに対応する方向とゲインとの対応関係データである死角パターンと、音源方向に対する感度の高い空間フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成し、死角パターンの極小部と指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する。この処理により、より精度の高い音声区間検出が実現される。
【図面の簡単な説明】
【００５１】
【図１】音源方向推定を用いた音声区間検出方式の概要について説明する図である。
【図２】音源方向に死角を向けた空間フィルタ（図３）を生成するために用いた観測信号の収録状況を示す図である。
【図３】音源方向に死角を向けた空間フィルタの指向特性、すなわち、方向（横軸）とゲイン（縦軸）との関係をプロットした図である。
【図４】発話中に音源の個数が変化する場合の問題について説明する図である。
【図５】あるブロックにおいて、死角パターンと指向性パターンとを重ねてプロットした図である。
【図６】横軸が時間、縦軸が方向を示し、予め規定した時間間隔に区切られたブロック単位で、音の検出方向を方向点としてプロットした図である。
【図７】図２の環境で収録された音から共分散行列および固有ベクトルを計算し、それぞれの固有ベクトルについて指向特性を求めて得られたパターンを示す図である。
【図８】ステアリングベクトルの生成方法について説明する図である。
【図９】各ブロックで検出された方向点と、方向点を接続して得られる区間を示し、区間の内外で「弱い方向点」の扱いを変える処理について説明する図である。
【図１０】音信号処理装置の全体構成を示す図である。
【図１１】図１０に示すモジュール中の方向推定部３０５の詳細について説明する図である。
【図１２】方向推定部３０５の出力する方向点情報３２７の具体例について説明する図である。
【図１３】図１０に示す音信号処理装置の方向トラッキング部３０６の構成と処理について説明する図である。
【図１４】方向トラッキング部３０６の生成する区間情報の構成データの一例について説明する図である。
【図１５】音信号処理装置において実行する全体の処理について説明するフローチャートを示す図である。
【図１６】図１０に示すＳＴＦＴ部３０３の実行する短時間フーリエ変換（ＳＴＦＴ）処理の詳細について説明する図である。
【図１７】図１０に示す方向推定部３０５の実行する方向推定処理の詳細シーケンスについて説明するフローチャートを示す図である。
【図１８】図１５に示す全体処理フローにおけるステップＳ１０７の方向トラッキング処理の詳細シーケンスについて説明するフローチャートを示す図である。
【図１９】図１８に示すフローのステップＳ３０１の「区間の延長・確定」処理の詳細シーケンスについて説明するフローチャートを示す図である。
【図２０】多重採用のチェックを行なう理由について説明する図である。
【図２１】図１９に示す処理フローにおけるステップＳ４０７の「区間の出力・棄却」処理の詳細について説明するフローチャートを示す図である。
【図２２】図１８に示すフローに示すステップＳ３０２の「新規区間作成」ステップの詳細シーケンスについて説明するフローチャートを示す図である。
【図２３】「音声らしさ」に基づく音声区間検出と、本発明の音声区間検出処理と組み合わせた構成について説明する図である。
【発明を実施するための形態】
【００５２】
以下、図面を参照しながら音信号処理装置、および音信号処理方法、並びにプログラムの詳細について説明する。
説明は以下の項目に従って行う。
１．本開示における音信号処理の概要について
２．本開示における音信号処理の詳細について
２−１．死角パターンと指向性パターンとの併用構成
２−２．区間の状態に応じた方向点検出条件の変更構成
２−３．新規の死角フィルタと指向性フィルタ
３．音信号処理装置の構成と処理について
４．音信号処理装置の実行する処理シーケンスについて
５．その他の実施例（変形例）について
６．効果のまとめ
【００５３】
なお、明細書中において、
Ａ＿ｂは、Ａに下付きの添え字ｂが設定された表記、
Ａ＾ｂは、Ａに上付きの添え字ｂが設定された表記、
これらを意味する。
【００５４】
［１．本開示における音信号処理の概要について］
以下において説明する音信号処理は、音源方向推定に基づく音声区間検出を行うものであり、検出失敗（非検出や区間分断）や誤検出を抑制した高精度な音声区間検出を実現するものである。
【００５５】
先に説明した従来技術では、音源方向を求める際に死角パターンのみを用いているために、検出失敗、例えば実際の発話の非検出や一つの音声区間を複数に分断して検出してしまうといった失敗や、誤検出を発生させている。
以下、説明する構成では、死角パターンのみならず他の情報を併用した処理により音声区間の検出失敗（非検出や区間分断）や誤検出を回避する。また、トラッキングで得た区間情報を方向点の検出に反映させることで、区間検出の精度を向上させる。
【００５６】
以下に説明する音信号処理は、以下のような特徴（特徴１〜３）を持つ。
（特徴１．死角パターンと指向性パターンとの併用）
音源方向に死角を向けた空間フィルタの他に音源方向に指向性を向けた空間フィルタも生成し、それぞれについて方向とゲインとについてのパターンを求める。それぞれ、を「死角パターン」と「指向性パターン」と呼ぶ。
方向点の検出は、両方のパターンを用いて行なう。
【００５７】
（特徴２．区間の状態に応じた方向点検出条件の変更）
区間開始の判定と区間終了の判定とで、方向点の検出についての条件を変える。
なお、以降では、
音源方向に指向性を向けた空間フィルタを「指向性フィルタ」と呼ぶ。
また、「指向性フィルタ」によって得られた方向とゲインとについてのパターンを「指向性パターン」と呼ぶ。
すなわち、以下に説明する構成では、音源方向に対する指向性が低い「死角フィルタ」と、「死角フィルタ」によって得られた方向とゲインとについてのパターンである「死角パターン」だけでなく、これらと逆の特性を持つ「指向性フィルタ」と「指向性パターン」も用いるのが特徴の一つである。
さらに、死角フィルタと指向性フィルタの生成についても、以下の工夫を行なう。
【００５８】
（特徴３．新規の死角フィルタと指向性フィルタ）
死角フィルタと指向性フィルタとについて、観測信号の共分散行列から計算された固有ベクトルを直接用いる代わりに、後述のように加工したベクトルを用いる。
【００５９】
［２．本開示における音信号処理の詳細について］
以下、本開示における音信号処理の詳細について、上記の各特徴順に、順次説明する。
（２−１．死角パターンと指向性パターンとの併用構成）
まず、死角パターンと指向性パターンとの併用構成について説明する。
図５は、あるブロックにおいて、死角パターンと指向性パターンとを重ねてプロットしたものである。それぞれのパターンの作成方法については後述する。
【００６０】
なお、ブロックとは、先に図１を参照して説明したブロメック１１と同様のブロックである。ブロックの長さは、通常の発話の長さと比べて十分短い値とする。例えば１／１０秒や１／８秒に設定する。
【００６１】
図５には、あるブロックにおける以下の２つのパターンを示している。
（ａ）音源方向に対する感度の高い空間フィルタである「指向性フィルタ」によって得られた方向とゲインとについてのパターンである指向性パターン１０１、
（ｂ）音源方向に対する感度の低い空間フィルタ、すなわち音源方向に死角を設定した空間フィルタである「死角フィルタ」によって得られた方向とゲインとについてのパターンである死角パターン５１、
これら２つのパターンの方向（横軸）とゲイン（縦軸）との関係をプロットしている。縦軸は対数としている。
【００６２】
死角パターン５１は、先に図３を参照して説明した死角パターン３１と同一の死角パターンであり、音源方向に対する感度の低い特性を持つ。図５に示す極小部５２〜５７は、図３に示す極小部３２〜３７にそれぞれ対応する。これら極小部５２〜５７の設定された方向を音源方向であるとの推定が可能となる。
【００６３】
一方、指向性パターン１０１は同じブロックにおける指向性パターンである。指向性パターン１０１は、ブロック内の音源の方向に指向性（ゲインの極大部（Ｌｏｃａｌ  Ｍａｘｉｍｕｍ））を持つ。ただし、音源方向に対応しない極大部も存在する。図に示す指向性パターン１０１は、極大部１０２〜１０５の４つの極大部を有している。これら極大部１０２〜１０５の設定された方向が音源方向であると推定することが可能となる。
【００６４】
死角パターン５１側が極小部となり、かつ指向性パターン１０１側が極大部となる方向を見つけ出すことで、音源方向を精度よく検出できる。
例えば図５に示す例では、死角パターン５１には極小部５２〜５７の６個の極小部が存在しているが、これらの極小部５２〜５７と同じ方向（θ）付近に指向性パターン１０１の極大が明らかに存在しているのは、極小部５２と、極小部５３の２つである。
【００６５】
すなわち、図５から理解されるように、
死角パターン５１の極小部５２とほぼ同じ方向（方向：θ＝ｐ，１１１）に、指向性パターン１０１の極大部１０３が存在する。
また、死角パターン５１の極小部５３とほぼ同じ方向（方向：θ＝ｑ，１１２）に、指向性パターン１０１の極大部１０４が存在する。
【００６６】
なお、死角パターン５１の極小部５５についてもほぼ同じ方向（方向：θ＝ｒ，１１３）に、指向性パターン１０１の極大部１０５が存在するが、この方向については、真の音源方向でないと判定することが可能である。この方向棄却処理については、後段の［３．区間の状態に応じた方向点検出条件の変更］の項目において説明する。
【００６７】
真の音源に対応する方向点をできる限り正確に抽出するため、以下の条件（条件１〜５）を用いた判定処理を実行する。
すなわち、音信号処理装置は、各方向について、以下に示す（条件１）〜（条件５）を全て満たす方向であるか否かを判定し、（条件１）〜（条件５）を全て満たす方向である場合に、初めて方向点、すなわち音源の方向を示す方向点とみなす処理を実行する。
（条件１）死角パターンにおいて極小部に対応した方向である。
（条件２）極小部の値の小さい順の１位〜ｎ−１位の範囲に含まれる。（マイク数＝ｎ）
（条件３）極小部の値の大きさは、予め規定した閾値より小さい。
（条件４）極小部に対応した方向の付近に、指向性パターンの極大部が存在する。
（条件５）直近のブロック群における死角パターンの最小値から動的に計算した閾値に基づく判定条件を満たす。（動的閾値に従った判定条件）
【００６８】
以下、上記の各条件１〜５について説明する。
（条件１）死角パターンにおいて極小部に対応した方向である。
従来法と同様に本発明でも、死角パターンの極小部を最初に見つける。
【００６９】
（条件２）極小値の小さい順の１位〜ｎ−１位の範囲に含まれる。（マイク数＝ｎ）
さらに、上記（条件１）に従って検出した死角パターンにおける極小部について、極小値の小さい順に１位〜ｎ−１位を残す。
例えば、図５に示す死角パターン５１は、ｎ＝４、すなわち、４個のマイクロホンで収録された信号から生成しているため、極小部の値（ゲイン値）の小さい順に１位〜３位の極小部を残す。
この極小部選択処理の結果、選択される極小部は、極小部５２，５３，５５の３個の極小部となる。
【００７０】
条件１を式で表わすと、以下に示す式［１．１］となる。
【００７１】
【数１】
2012150237.tif 000003
【００７２】
ただし、上記式［１．１］において、
Ｐ＿Ｎ（θ＿ｉ）は現在着目しているブロックにおける死角パターンである。
死角パターンの角度（方向）は離散的（例えば−１８０°から＋１８０°まで５°間隔）でよく、それらの値をθ＿１，θ＿２，...，θ＿ｉ，...とする。
角度θ＿ｉにおいてＰ＿Ｎ（θ＿ｉ）が極小値であることは、両隣の角度であるθ＿｛ｉ−１｝およびθ＿｛ｉ＋１｝と比較して式［１．１］が成立しているかで判定できる。
【００７３】
なお、角度の間隔（刻み幅）が小さい場合は、式［１．１］の代わりに式［１．２］を用いて隣の隣も考慮した方が、細かな凹凸を死角と誤検出する可能性が少なくなる。
【００７４】
（条件３）極小値の大きさは、予め規定した閾値より小さい。
条件１，２に基づいて残った死角パターンの極小部に対して、予め規定した閾値による選別を行なう。
具体的には、予め規定した固定閾値：Ｔ＿｛ｓｔａｔｉｃ｝を適用して、上記の式［１．３］に従って判別を行なう。閾値による選別という手段自体は従来法と同一だが、本発明では閾値の目的と設定方法が従来法と異なる。
【００７５】
従来法における閾値は、音源が存在するブロックにおいて方向点を絞り込むために用いられていた。そのため、閾値の設定がシビアであった。それに対して本発明では、静かな環境（明確な音源が存在しない環境）において方向点が誤検出されるのを防ぐために用いられる。すなわち、静かな環境では、死角パターンにも指向性パターンにも明確な極値（極小または極大）が１つも存在しないため、それぞれの細かな凹凸から方向点が誤検出されてしまう可能性があるが、閾値によってその誤検出を防ぐ。この閾値は、静かな環境において方向点が検出されない程度の値を１回だけ設定すれば良いため、従来法にける閾値と比べ、設定は容易である。
閾値の例を図５の閾値１２０として示す。
【００７６】
（条件４）極小部に対応した方向の付近に、指向性パターンの極大部が存在する。
次に、条件４について説明する。条件１〜３による選別によって残った極小部に対して、それぞれの付近に指向性パターン側の極大が存在しているかどうかを調べる。極大の位置と極小の位置とは必ずしも一致せず、少しずれることもあるため、この判定はマージンつきで行なう。
【００７７】
具体的には、極小部の位置をθ＿ｉ、マージンをβとし、以下の式を満たすθ＿｛ｉ'｝について、上記の式［１．４］を満たすものが存在するかどうかで判定する。
θ−β≦θ＿｛ｉ'｝≦θ＋β
ただし、Ｐ＿Ｄ（θ＿ｉ）は、同じブロックの指向性パターンを表わす。
なお、式［１．１］の場合と同様に、式［１．４］の代わりに式［１．５］を用いても良い。
【００７８】
図５の例では、死角パターン５１における極小部５２，５３，５５に対応した方向、すなわち、方向：θ＝ｐ，１１１，方向：θ＝ｑ，１１２，方向：θ＝ｒ，１１３それぞれについて指向性パターン１０１を見ると、いずれも極大部が存在している。
すなわち、
死角パターン５１における極小部５２に対する指向性パターン１０１の極大部１０３、
死角パターン５１における極小部５３に対する指向性パターン１０１の極大部１０４、
死角パターン５１における極小部５５に対する指向性パターン１０１の極大部１０５、
これらの対応関係である。
これらの対応関係を持つ死角パターン５１における極小部５２，５３，５５を真の音源方向の候補として残す。
【００７９】
（条件５）直近のブロック群における死角パターンの最小値から動的に計算した閾値に基づく判定条件を満たす。（動的閾値に従った判定条件）
さらに方向点を絞り込むため、条件５も用いる。
これは、例えば騒がしい環境において方向点が誤検出されるのを防ぐための条件である。方向推定に基づく音声区間検出という方法は、騒がしい環境（背後に多数の音源が存在している環境）でも、マイクロホンの近くの音源に対してはある程度は動作する。ただし、条件１〜４だけでは背後の音源も方向点として検出されてしまうため、それを防ぐために閾値を動的に変化させる。その仕組みを、図６を用いて説明する。
【００８０】
図６は、先に図１を参照して説明した図１（ｃ）に対応する図であり、横軸が時間、縦軸が方向を示す。予め規定した時間間隔に区切られたブロック単位で、音の検出方向を方向点としてプロットしている。
図６では途中のブロックまで方向点が求まった状態を表わしている。
【００８１】
すなわち、ブロックＢ２，１５２までは解析（方向点の検出）が完了し、その隣接ブロックであるブロックＢ，１５１のブロックを現在解析中であるとする。ここで、直近のブロック群１５４の情報を用いて閾値を計算する。具体的には、ｂ番目のブロックの死角パターンをＰ＿Ｎ＾［ｂ］（θ）、現在解析中のブロックＢ３，１５１の番号をＢ、直近のブロック群１５４のブロック数をＢ０とし、式［１．６］〜式［１．７］で閾値を計算する。
【００８２】
式［１．６］は、ｂをＢ−Ｂ０（＝ブロックＢ１）からＢ−１（＝ブロックＢ２）まで変化させながら角度θを任意の範囲（例えば−πから＋πまで）で変化させたときの最小値を表わす。こうして求まった値をＰ＿｛ｍｉｎ｝とし、これに一定の係数αを乗じた値を動的閾値：Ｔ＿｛ｄｙｎａｍｉｃ｝とする（式［１．７］）。
αは０．１や０．２といった、０と１との間の値を用いる。そして、式［１．８］によって判別を行なう。
【００８３】
死角パターンは、最大値が０となるように調整してある（後述）ため、最小値は必ず負の値である。最小値に対して係数αを乗じることは、閾値を最大値と最小値との間に設定することを意味する。この動的閾値：Ｔ＿｛ｄｙｎａｍｉｃ｝を用いることで、騒がしい環境では閾値が、先に説明した（条件３）で用いた固定閾値：Ｔ＿｛ｓｔａｔｉｃ｝よりも小さな値に設定されるため、死角パターンにおいて浅い凹みが方向点として誤検出されるのを防ぐ。
【００８４】
ただし静かな環境では、動的閾値：Ｔ＿｛ｄｙｎａｍｉｃ｝を用いることで閾値が（条件３）で用いた固定閾値：Ｔ＿｛ｓｔａｔｉｃ｝よりもかえって大きな値に設定されてしまい、誤検出が増える副作用もあるため、引き続き（条件３）（式［１．３］）も用いる。こうすることで、Ｔ＿｛ｄｙｎａｍｉｃ｝とＴ＿｛ｓｔａｔｉｃ｝とのうちで小さい方が真の閾値として機能するため、騒がしい環境でも静かな環境でも誤検出が防げる。
【００８５】
このように、方向点検出処理に際しては、新たな方向点検出処理対象とするブロックの近傍ブロック群における死角パターンの最小値に基づいて計算した動的閾値を適用して、死角パターンにおける極小部を方向点とするか否かの選択を実行する。
【００８６】
ここで、死角パターンと指向性パターンそれぞれの生成方法について述べる。
死角パターンの生成方法は従来のＭＵＳＩＣ法とほぼ同様であり、観測信号の共分散行列に対応した固有ベクトルのうち、最小の固有値に対応したものの指向特性を調べることで行なう。一方、指向性パターンの生成方法は、固有ベクトルのうち、最大の固有値に対応したものの指向特性を調べることで行なう。
その過程について、以下に示す式［２．１］〜［２．８］を参照しながら説明する。
【００８７】
【数２】
2012150237.tif 000004
【００８８】
ｎ本のマイクロホン中のｋ番目のマイクロホンで観測された信号に短時間フーリエ変換（Ｓｈｏｒｔ  Ｔｉｍｅ  Ｆｏｕｒｉｅｒ  Ｔｒａｎｓｆｏｒｍ：ＳＴＦＴ）を適用した結果をＸｋ（ω，ｔ）とし、Ｘ１（ω，ｔ）〜Ｘｎ（ω，ｔ）からなるベクトルをＸ（ω，ｔ）とおく（式［２．１］）。
ただし、
ωは周波数ビンの番号（ω＝１，２，…，Ｍ）、
ｔはフレームの番号である。
【００８９】
次に、周波数ビンωごとに、複数のフレームからＸ（ω，ｔ）の共分散行列Ｒ（ω）を計算する（式［２．２］）。
ただし、式［２．２］において、
＜・＞＿｛ｔ−Ｌ'＜τ≦ｔ｝は、
ｔ−Ｌ'＜τ≦ｔを満たすフレームの間でカッコ内の式の平均をとることを表わす。
ｔはブロックの末端のフレーム番号（例えば図６のブロックＢ１５１の末端１５６のフレーム番号）、Ｌ'はブロックの長さ（フレーム数）、
ｔ−Ｌ'＋１はブロックの始端のフレーム番号（例えば図６のブロックＢ１５１の始端１５５のフレーム番号）を表わす。
上記式［２．２］に従って算出される共分散行列を、Ｒ（ω）とする。
【００９０】
次に、共分散行列Ｒ（ω）に対して固有値分解（Ｅｉｇｅｎｖａｌｕｅ  ｄｅｃｏｍｐｏｓｉｔｉｏｎ）を適用する（式［２．３］）。
式［２．３］において、
Ｄ（ω）は固有値からなる対角行列であり（式［２．５］）、
Ｖ（ω）は固有ベクトルＶ＿１（ω）〜Ｖ＿ｎ（ω）からなる行列である。
また、上付きのＨはエルミート転置（要素を共役複素数に変換してから転置）を表わす。
共分散行列Ｒ（ω）はＲ（ω）＾Ｈ＝Ｒ（ω）を満たすため、固有値ｄ＿１（ω）〜ｄ＿ｎ（ω）は全て実数であり、これらは大きい順に並んでいるものとする（式［２．６］）。
固有ベクトルＶ＿１（ω）〜Ｖ＿ｎ（ω）の大きさは１であり、またお互いに直交しているとする。
すなわち、式［２．７］および式［２．８］を満たす。
【００９１】
共分散行列の計算に用いたブロック内で鳴っている音源の数をＮとすると、固有値および固有ベクトルは、前半のｄ＿１（ω）〜ｄ＿Ｎ（ω）およびＶ＿１（ω）〜Ｖ＿Ｎ（ω）と、後半のｄ＿｛Ｎ＋１｝（ω）〜ｄ＿ｎ（ω）およびＶ＿｛Ｎ＋１｝（ω）〜Ｖ＿ｎ（ω）とに二分され、両者で性質が大きく異なる。
【００９２】
前半の固有値ｄ＿１（ω）〜ｄ＿Ｎ（ω）は、後半のｄ＿｛Ｎ＋１｝（ω）〜ｄ＿ｎ（ω）と比べて大きな値を持つ（以降、「大きな固有値」）。また、大きな固有値に対応した固有ベクトルＶ＿１（ω）〜Ｖ＿Ｎ（ω）は、空間フィルタとして解釈すると、ブロック内の音源に指向性を向けた指向特性を形成している（詳細は後述する）。
【００９３】
一方、後半の固有値ｄ＿｛Ｎ＋１｝（ω）〜ｄ＿ｎ（ω）は、０に近い値を持つ（以降、「小さな固有値」）。小さな固有値に対応した固有ベクトルＶ＿｛Ｎ＋１｝（ω）〜Ｖ＿ｎ（ω）は、同じく空間フィルタとして解釈すると、ブロック内の全ての音源に死角を向けた指向特性を形成している。
【００９４】
実際、図２の環境で収録された音から共分散行列および固有ベクトルを計算し、それぞれの固有ベクトルについて後述の方法で指向特性を求めると、図７のプロットが得られる。
【００９５】
図７において、指向特性パターン２０１〜２０４はぞれぞれ、固有ベクトルＶ＿１（ω）〜Ｖ＿４（ω）に対応した指向特性パターンである。
この環境での音源数は２個なので、固有ベクトルは、
Ｖ＿１（ω），Ｖ＿２（ω）の組と、
Ｖ＿３（ω），Ｖ＿４（ω）の組に
二分される。
【００９６】
後者（固有ベクトルＶ＿３（ω），Ｖ＿４（ω）の組）に対応した指向特性パターン２０３，２０４を見ると、極小部２１１〜２１４がこれらの方向に存在していることから、二つの音源方向：θ＝Ａ，２２１と、θ＝Ｂ，２２２に死角を向けていることが分かる。
【００９７】
一方、前者（固有ベクトルＶ＿１（ω），Ｖ＿２（ω）の組）に対応した指向特性パターン２０１，２０２のうち、少なくとも固有ベクトルＶ＿１（ω）に対応した指向特性パターン２０１については、極大値２１５，２１６に基づいて二つの音源方向：θ＝Ａ，２２１と、θ＝Ｂ，２２２に指向性を向けていることが分かる。
【００９８】
そこで本発明では、死角フィルタ（音源方向に死角を向けた空間フィルタ）として、最小の固有値に対応した固有ベクトルＶ＿ｎ（ω）を用い（これは従来法と同じ）、一方で、指向性フィルタ（音源方向に指向性を向けた空間フィルタ）として、最大の固有値に対応した固有ベクトルＶ＿１（ω）を用いる。
【００９９】
次に、各空間フィルタの指向特性を調べる方法について述べる。指向特性を求めるためには、様々な方向から到来する信号を仮想的に生成する必要があるが、重要なのはマイクロホン間での位相差であり、それをステアリングベクトル（Ｓｔｅｅｒｉｎｇ  Ｖｅｃｔｏｒ）と呼ぶ。ステアリングベクトルの生成方法を、図８および以下に示す式［３．１］〜［３．９］を参照して説明する。
【０１００】
【数３】
2012150237.tif 000005
【０１０１】
図８には、音信号処理装置に対する音信号入力部としてのマイクロホンｋ，２５３と、マイクロホンｉ，２５４を示している。また、方向を測るための基準点２５２を示している。
基準点２６２はマイクロホンの近くの任意の地点でよく、例えばマイクロホン間の重心と一致させた基準点の設定や、あるいはマイクロホンのどれかと一致させた基準点の設定とするなど、様々な設定としてよい。基準点２５２の位置ベクトル（すなわち座標）をｍとする。
【０１０２】
音の到来方向を表わすために、基準点ｍ，２５２を始点とする長さ１のベクトルを設定し、このベクトルをｑ（θ）とする。図に示す方向ベクトルｑ（θ）２５１である。
音源位置がマイクロホンとほぼ同じ高さであるなら、方向ベクトルｑ（θ）２５１はＸ−Ｙ平面上（垂直方向をＺ軸とする）のベクトルとして考えればよく、方向ベクトルｑ（θ）の成分は、上記の式［３．１］で表わせる。
ただし方向θは、Ｘ軸となす角である（図８（座標およびベクトル設定参考図）参照）。
【０１０３】
図８において、方向ベクトルｑ（θ）２５１の方向から到来する音は、先にマイクロホンｋ，２５３に到着し、次に基準点ｍ，２５２、それからマイクロホンｉ，２５４に到着する。
【０１０４】
基準点ｍ，２５２に対するマイクロホンｋ，２５３の位相差Ｓ＿ｋ（ω，θ）は、上記の式［３．２］で表わせる。ただしこの式において、
ｊは、虚数単位、
Ｍは、周波数ビン数、
Ｆは、サンプリング周波数、
Ｃは、音速、
ｍ＿ｋは、マイクロホンｋの位置ベクトル、
を表わし、
上付きのＴは通常の転置を表わす。
すなわち、平面波を仮定すると、マイクロホンｋ，２５３は基準点ｍ，２５２よりも図８に示す距離２５５の分だけ音源に近く、逆にマイクロホンｉ，２５４は図８に示す距離２５６の分だけ遠い。
【０１０５】
これらの距離差は、ベクトルの内積を用いて
ｑ（θ）＾Ｔ（ｍ＿ｋ−ｍ）、および、
ｑ（θ）＾Ｔ（ｍ＿ｉ−ｍ）
と表わせる。
距離差を位相差に変換すると、上記の式［３．２］で示す基準点ｍ，２５２に対するマイクロホンｋ，２５３の位相差：Ｓ＿ｋ（ω，θ）の算出式が得られる。
【０１０６】
各マイクロホンの位相差からなるベクトルＳ（ω，θ）は、上記の式［３．３］で表わされ、これをステアリングベクトルと呼ぶ。
【０１０７】
周波数ビンωにおいて音源方向に死角を向けた空間フィルタをＷ＿Ｎ（ω）とする（Ｗ＿Ｎ（ω）は行ベクトル）と、角度θから到来する音に対するゲインは、
｜Ｗ＿Ｎ（ω）Ｓ（ω，θ）｜
である。
【０１０８】
角度θを一周分（例えば−πから＋πまで所定の刻み幅で）変化させれば、指向特性（到来方向とゲインとの関係）が分かる。
本発明では、死角パターン生成用の空間フィルタである死角フィルタＷ＿Ｎ（ω）として、最小の固有値に対応した固有ベクトルＶ＿ｎ（ω）のエルミート転置を用い（式［３．４］）、そこからゲインの対数Ｐ＿Ｎ（ω，θ）を計算する（式［３．５］）。
さらに、全周波数ビンで総和することで死角パターンＰ＿Ｎ（θ）を生成している（式［３．６］）。
【０１０９】
同様に、指向性パターン生成用の空間フィルタ、すなわち指向性フィルタＷ＿Ｄ（ω）として、最大の固有値に対応した固有ベクトルＶ＿１（ω）のエルミート転置を用い（式［３．７］）、そこからゲインの対数Ｐ＿Ｄ（ω，θ）を計算する（式［３．８］）。さらに、全周波数ビンで総和することで指向性パターンＰ＿Ｄ（θ）を生成している（式［３．９］）。
【０１１０】
なお、死角フィルタＷ＿Ｎ（ω）の添え字Ｎは、Ｎｕｌｌ  ｂｅａｍ（死角）、指向性フィルタＷ＿Ｄ（ω）の添え字Ｄは、Ｄｉｒｅｃｔｉｖｉｔｙ（指向性）に由来するものである。
【０１１１】
また、死角パターンＰ＿Ｎ（θ）を示す式［３．６］、および、指向性パターンＰ＿Ｄ（θ）を示す式［３．９］において、それぞれｍａｘ＿θＰ＿Ｎ（ω，θ）およびｍａｘ＿θＰ＿Ｄ（ω，θ）を減算している理由は、各周波数ビンでの指向特性の最大値を０に合わせるためである。これを行なうことで、死角パターンと指向性パターンとの間で大小比較が可能になる。
【０１１２】
（２−２．区間の状態に応じた方向点検出条件の変更について）
次に、区間の状態に応じた方向点検出条件の変更について説明する。
音声区間検出においては、誤検出（発話していないのに検出される）は少ない方が望ましい。一方で、１つの発話が複数の区間に分断されるのは望ましくない。
しかし、方向点の検出条件が固定されている場合、この  ２つはトレードオフになり得てしまう。そこでトレードオフを解消するため、本発明ではトラッキングの状態（発話区間内か否か）に応じて、方向点の検出条件を変更する。
【０１１３】
具体的には、前述の条件１〜５に加えて以下の条件６も設定し、区間の始端の検出においては、以下の条件６も考慮に入れる一方、区間の途中や終端の検出においては条件６を考慮しないようにする。
（条件６）死角パターンの極小部の値の方が、対応する指向性パターンの極大部の値よりも小さい。
【０１１４】
以下では、条件１〜６をすべて満たす方向点を「強い方向点」、条件１〜５を満たすが条件６を満たさない方向点を「弱い方向点」と呼ぶ。（単に「方向点」とした場合は両方を含む。）
例えば図５において、
方向：θ＝ｐ，１１１と、方向：θ＝ｑ，１１２の各方向では、上記の（条件６）を満たしており、「強い方向点」である。
しかし、方向：θ＝ｒ，１１３の方向では、上記の（条件６）を満たしておらず、「弱い方向点」となる。
【０１１５】
以下では、条件６を用いる理由について説明する。
「強い方向点」は本当の音源方向に対応している可能性が高い。それに対し、
「弱い方向点」については以下のような様々な可能性があり得る。
（１）死角パターンの極小と指向性パターンの極大とがたまたま一致した。（音源ではない）
（２）音声発話の開始直後や終了直後に対応したブロック。（音源である）
（３）発話途中の短い無音区間。
（４）他の音源との兼ね合いによって死角が相対的に浅くなった。（音源である）
（５）冷却ファンの音のような、小さいながらも定常的に鳴り続けている音。（音源であるが、検出して欲しくない。）
（６）小さな音が一瞬だけ鳴った。（音源であるが、検出して欲しくない。）
【０１１６】
上記（２），（３），（６）から「弱い方向点」が発生する原因は同一であり、１つのブロックにおいて音源の鳴っている区間がブロック長よりも短いと「弱い方向点」が発生しやすいからである。
【０１１７】
「弱い方向点」を方向点として採用すべきか否かは、上記（１）〜（６）のそれぞれで異なる。（１）や（６）では棄却した方が良いが、（３）や（４）で棄却すると、「従来技術の問題点」で述べたような「区間の分断」が発生しやすくなるというトレードオフがある。
【０１１８】
そこで本構成では、区間の内外で「弱い方向点」の扱いを変える。
この処理について図９を参照して説明する。
図９は、例えば先に説明した図１（ｄ）と同様の図であり、各ブロックで検出された方向点と、方向点を接続して得られる区間を示している。ブロックの区切りは省略してある。
図９において、円は方向点を表わし、塗りつぶされた円で示す方向点２７５などは「強い方向点」を、斜線の円で示す方向点２７１〜２７４は「弱い方向点」を表わす。
【０１１９】
区間２７６は、方向点を接続して得られた区間である。方向点２７１のような単独で現れる「弱い方向点」は、上記の（１）か（６）である可能性が高く、方向点２７３のような、「強い方向点」が連続する途中で現れる「弱い方向点」は、上記の（３）か（４）である可能性が高い。
そこで「弱い方向点」は、区間の内側にあれば採用し、外側にあれば棄却する。図９では、弱い方向点２７３，２７４は方向点として採用し、弱い方向点２７１，２７２は棄却する。このような「弱い方向点」に対する選択処理を実行することで、「強い方向点」が連続する途中で現れる弱い方向点２７３による分断を防ぐ一方で、「強い方向点」から離間した位置の弱い方向点２７１を方向点とみなしてしまう誤検出も防ぐ。
【０１２０】
なお、この（条件６）を適用した方法では、発話開始直後の弱い方向点２７２も棄却してしまう。この棄却処理によって、発話区間の始端の検出が遅れるという副作用が発生するが、この副作用に対しては発話開始時刻にマージンを持たせることで容易に回避可能である。すなわち、発話は始端が検出されたブロックよりも少し前から始まっていたと見なす処理を適用すればよい。
【０１２１】
（２−３．新規の死角フィルタと指向性フィルタについて）
次に、新規の死角フィルタと指向性フィルタの詳細について説明する。
先に説明した（２−１．死角パターンと指向性パターンとの併用構成）の項目では、死角フィルタと指向性フィルタとして、それぞれ以下の設定のフィルタを用いていた。
死角フィルタＷ＿Ｎ（ω）として、最小の固有値に対応した固有ベクトルＶ＿ｎ（ω）のエルミート転置（式［３．４］）。
指向性フィルタＷ＿Ｄ（ω）として、最大の固有値に対応した固有ベクトルＶ＿１（ω）のエルミート転置（式［３．７］）。
【０１２２】
このように、Ｖ＿ｎ（ω）とＶ＿１（ω）を使用していたが、本来は、使用可能な固有ベクトルは、それぞれｎ−Ｎ本とＮ本である（ｎはマイク数、Ｎはブロック内の音源数）。もし、複数の固有ベクトルが使用できれば、それぞれの指向特性のプロットにおいて、極大や極小が一層明確に現れたり細かな凹凸が消えたりして、方向点検出の精度向上が期待できる。
【０１２３】
しかし、指向特性パターンの生成前から音源数Ｎを正確に推定するのは、それ自体が大きな課題である。そこで本発明では、音源数の推定なしで複数の固有ベクトルを空間フィルタに反映させるため、以下のような工夫を行なう。
【０１２４】
指向性フィルタＷ＿Ｄ（ω）として、式［３．７］の代わりに、以下に示す式［４．１］を用いる。
【０１２５】
【数４】
2012150237.tif 000006
【０１２６】
上記［４．１］に示す式は、各固有ベクトルのエルミート転置Ｖ＿ｋ（ω）＾Ｈに対して、固有値ｄ＿ｋ（ω）を重みとして乗算して加算した重みつき和であり、大きな固有値に対応した固有ベクトルほど、指向性フィルタＷ＿Ｄ（ω）に強く反映される。
大きな固有値に対応した固有ベクトルは音源方向に指向性を向けているため、Ｗ＿Ｄ（ω）も音源方向に指向性を向けた空間フィルタとなる。
【０１２７】
指向性フィルタの生成に際しては、このように、音信号から生成される時間周波数領域の観測信号からブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、算出した固有ベクトルに対して固有値を重みとした重みつき総和または重み付き平均により指向性フィルタを生成することができる。
【０１２８】
一方、死角フィルタＷ＿Ｎ（ω）のためには、式［４．２］によって、先に、式［２．４］で説明した固有ベクトルＶ＿１（ω）〜Ｖ＿ｎ（ω）からなる行列Ｖ（ω）と、式［２．５］で説明した固有値からなる対角行列Ｄ（ω）を用いて、変換済行列Ｖ'（ω）を計算する。
このＶ'（ω）の各行のうちのどれかを、死角フィルタＷ＿Ｎ（ω）として用いる。
なお、式［４．２］は、先に式［２．２］を参照して説明した共分散行列Ｒ（ω）の−１／２乗を求める式と等しいが、Ｖ'（ω）の各行を空間フィルタとして見なすと、ブロック内の全ての音源に死角を向けたものになっている。
【０１２９】
［３．音信号処理装置の構成と処理について］
次に、音信号処理装置の構成と処理について説明する。
音信号処理装置の構成と処理について、図１０〜図１４を参照して説明する。
図１０は、音信号処理装置の全体構成を示す図であり、図１１〜図１４は各モジュールの詳細を示す図である。
【０１３０】
（３−１．音信号処理装置の全体構成と処理について）
まず、図１０を参照して音信号処理装置の全体構成と処理について説明する。
音信号はマイクロホンアレイ３０１で収音され、得られた多チャンネルの音データはＡＤ変換部３０２においてデジタル信号へ変換される。このデータを（時間領域の）観測信号と呼ぶ。
【０１３１】
次に、ＳＴＦＴ部３０３において短時間フーリエ変換（ｓｈｏｒｔ−ｔｉｍｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ：  ＳＴＦＴ）が適用され、観測信号は時間周波数領域の信号へ変換される。時間周波数領域の観測信号は、観測信号バッファ３０４と方向推定部３０５とに送られる。なお、短時間フーリエ変換（ｓｈｏｒｔ−ｔｉｍｅ  Ｆｏｕｒｉｅｒ  ｔｒａｎｓｆｏｒｍ：  ＳＴＦＴ）の具体的処理例については、後段において、図１６を参照して説明する。
【０１３２】
観測信号バッファ３０４は、所定の時間（フレーム数）の観測信号を蓄積する。ここで蓄積された信号は、検出された発話区間の開始時刻・終了時刻と合わせて一発話分の音声データを得るために使用したり、さらに区間の方向も用い、所定の方向から到来した音声を抽出した結果を得るために使用したりする。
【０１３３】
方向推定部３０５は、観測信号を所定の長さのブロックに分割すると共に、各ブロックにおいて音源方向に対応した点を検出する。すなわち、先に図１を参照して説明した図１（ｂ），（ｃ）のデータを生成するモジュールである。詳細は後述する。
【０１３４】
方向トラッキング部３０６は、連続する複数のブロック間においてほぼ同一の方向を持つ方向点が現れているときに、それらを連結し、発話区間として検出する。すなわち、先に説明した図１における（ｄ）のデータを生成するモジュールである。詳細は後述する。
【０１３５】
方向トラッキングの出力は発話区間、すなわち、発話開始時刻・終了時刻および発話方向（音源方向）である。言い換えると、複数の区間に重複がある場合、その区間では複数の音が混ざっている。そこで、混ざっていないクリーンな音源が必要な場合（例えば音声認識の前段として本発明を用いる場合など）は、音源抽出部３０７を備えるようにする。
【０１３６】
音源抽出部３０７は、発話区間に対応した観測信号や音源方向などを用いて、所定の音声などを抽出する。このモジュールには、ビームフォーミング等の既存の技術が使用可能である。
【０１３７】
発話区間に対応した音データは、必要に応じて後段の処理実行部３０８に送られる。
例えば、音声認識機などである。なお、音声認識機には音声区間検出機能を持つものもあるが、その機能は省略可能である。また、音声認識機は音声特徴量を抽出するためにＳＴＦＴを備えることが多いが、本発明と組み合わせる場合は、音声認識側のＳＴＦＴは省略可能である。
なお、図１０に示す各モジュールは制御部３０９によって制御される。
【０１３８】
（３−２．音信号処理装置の方向推定部の構成と処理について）
次に、図１０に示すモジュール中の方向推定部３０５の詳細について、図１１を参照して説明する。
方向推定部３０５は、ＳＴＦＴ部３０４から送られてきた時間周波数領域の観測信号３２１を入力して、方向点情報３２７を生成して出力する処理を実行する。
【０１３９】
方向推定部３０５は、まず、図１１に示す共分散行列計算部３３１において、ＳＴＦＴ部３０４から入力する複数フレーム分の観測信号から共分散行列３２２を計算する。例えば先に説明した式［２．３］に示す共分散行列Ｒ（ω）である。
【０１４０】
空間フィルタ生成部３３２は、この共分散行列３２２を入力して、共分散行列３２２から２種類の空間フィルタを生成する。１つは死角フィルタ３２３であり、もう１つは指向性フィルタ３２４である。
例えば先に説明した式［３．４］に示す死角フィルタＷ＿Ｎ（ω）、式［３．７］に示す指向性フィルタＷ＿Ｄ（ω）である。なお、このフィルタ生成に際しては、先に項目（２−３．新規の死角フィルタと指向性フィルタについて）において説明した式［４，１］、式［４．２］を用いたフィルタ生成を行ってもよい。
【０１４１】
ステアリングベクトルを格納した記憶部３３３は、様々な方向から到来する信号の位相差を、先に説明した式［３．３］などによって予め計算し、その結果を格納した記憶部である。式［３．３］において角度θは、一周分（例えば図８において−π〜＋π）を所定の刻み幅（例えば５°）で変化させる。なお、マイクロホンの配置が直線状である場合は、指向特性の対称性を考慮して、θは半周分だけ変化させればよい。
【０１４２】
例えば図２のようなマイクロホン配置の場合、空間フィルタの指向特性は、マイク配列に平行な縦軸２３に対して対称となる。そのため、角度θは、−π／２（軸２３の反対方向）から＋π／２（軸２３の方向）まで所定の刻み幅で変化させればよい。
【０１４３】
次に、死角パターン生成部３３４において、死角フィルタ３２３にステアリングベクトルを作用させ、死角パターン３２５を生成する。
同様に、指向性パターン生成部３３５において、指向性フィルタ３２４にステアリングベクトルを作用させ、指向性パターン３２６を生成する。
死角パターンは、例えば先に説明した式［３．６］に示す死角パターンＰ＿Ｎ（θ）であり、指向性パターンは、先に説明した式［３．９］に示す指向性パターンＰ＿Ｄ（θ）である。
【０１４４】
最後に方向点検出部３３６において、死角パターン３２５と指向性パターン３２６との両方を用いて音源方向に対応した点を検出する。その結果は方向点情報３２７として出力される。
なお、ｎ個のマイクロホンからは最大でｎ−１個の死角が形成できるため、１つのブロックから得られる方向点の個数は、最大でｎ−１個である。
【０１４５】
なお、方向推定部３０５の出力する方向点情報３２７は、図１０に示す方向トラッキング部３０６に提供される。
方向推定部３０５の出力する方向点情報３２７には、音源と推定される方向を示す方向情報のみならず、各方向点が「強い方向点」か「弱い方向点」かを区別するために適用する情報が含まれる。具体的には、方向点か否かの判別で使用した値の一部データを含む情報である。
【０１４６】
方向推定部３０５の出力する方向点情報３２７の具体例について、図１２を参照して説明する。
図１２には、１つの方向点情報３２７の構成データの一例を表わしている。
方向点情報３２７には、図１２に示すように、
（ａ）方向点の方向（θ）３４１、
（ｂ）死角フィルタ側の極小部の値３４２、
（ｃ）指向性フィルタ側の極大部の値３４３、
これらのデータが含まれる。
【０１４７】
上記の（ｂ），（ｃ）のデータは、先に説明した方向点の判定条件としての（条件６）、すなわち、
（条件６）死角パターンの極小値の方が、対応する指向性パターンの極大値よりも小さい。
この条件６の判定を行なうためのデータとして利用される。
【０１４８】
（３−３．音信号処理装置の方向トラッキング部の構成と処理について）
次に、図１０に示す音信号処理装置の方向トラッキング部３０６の構成と処理について図１３を参照して説明する。
【０１４９】
方向トラッキング部３０６は、図１１、図１２を参照して説明した方向推定部３０５が出力した方向点情報３２７を入力して、区間情報である確定した区間情報３６１を生成して出力する。
【０１５０】
なお、図１３に示す方向点情報３２７は、方向推定部３０５が出力した１つのブロック（図１、図６を参照して説明したブロック）に含まれる方向点情報であり、図１２を参照して説明した情報が含まれる。
この方向点情報３２７は、方向トラッキング部３０６の制御部３５１に入力される。制御部３５１は、方向トラッキング部を制御するモジュールである。制御部３５１は、区間の新規作成や、終端等が確定していない作成中の区間の延長や、区間の確定などを行なう。生成中の区間は、作成中区間バッファ３５２に格納される。
【０１５１】
作成中区間バッファ３５２に格納されている区間のうち、終端が確定したものが存在したら、それを作成中区間バッファ３５２から取り出し、確定した区間情報３６１、すなわち区間情報として出力する。
【０１５２】
なお、方向トラッキング部３０６の生成する作成中の区間および確定した区間情報には、区間を定義する各種のパラメータ情報が含まれる。
方向トラッキング部３０６の生成する区間情報の構成データの一例について、図１４を参照して説明する。
【０１５３】
図１４は、１つの区間に対応する区間情報の構成データの例を示している。区間情報は、確定した区間の区間情報、または作成中の区間に対応する区間情報（作成中区間バッファ３５２に格納される）である。
【０１５４】
区間ＩＤ３７１は、それぞれの各区間に固有につけられた識別子（番号）である。
開始ブロック番号３７２は、区間の開始位置に対応するブロック（図１、図６を参照して説明したブロック）の番号である。なお、ブロック番号の代わりに、ＳＴＦＴ  のフレームの番号や、本当の時刻を保持しても良い。
終了ブロック番号３７３は、区間の終了に対応したブロックの番号である。これも開始ブロック番号と同様、フレーム番号や時刻でも良い。なお、生成途中の区間については、終端が確定していないため、ここには「未定義」を表わす値を格納しておく。
方向３７４は、区間に対応する音源方向である。生成途中の区間については、その時点で計算される方向を格納する。
【０１５５】
断絶ブロック数３７５は、方向３７４で定義される音源方向の近くに方向点が存在しないブロックが何回連続しているかを表わす値である。この値は、区間の生成途中において使用される。トラッキングにおいては、方向点が途切れても、その途切れの長さが所定の値より短かければ、区間を分断せずに１つの区間として切り出した方が良い。それを実現するために、途切れの長さを記憶しておくのである。また、途切れの長さが所定の値を越えた時点で、その区間は確定する。
【０１５６】
有効ブロック数３７６は、区間の中で方向点が存在しているブロック（以降「有効ブロック」）の個数を保持する。
例えば、図９に示す区間２７６の区間においては、有効ブロック数は１０である（方向点２８１〜方向点２７４まで１０個の方向点が検出されたブロックが存在する）。
【０１５７】
この値を保持する目的は区間の誤検出の抑止にある。区間のブロック数（開始ブロック番号３７２と終了ブロック番号３７３とから計算可能）と有効ブロック数とから有効ブロックの割合を計算し、その値が小さい場合（すなわち、有効ブロックが疎らである場合）は、誤検出された方向点を繋いだ偽の区間である可能性が高いため、そのような区間は棄却する。
【０１５８】
［４．音信号処理装置の実行する処理シーケンスについて］
次に、図１５以下に示すフローチャートを参照して音信号処理装置の実行する処理シーケンスについて説明する。
【０１５９】
図１５は、音信号処理装置において実行する全体の処理について説明するフローチャートである。図１５に示すフローチャートの各ステップについて説明する。
まず、ステップＳ１０１において、初期設定として、
フレーム（ＳＴＦＴによって生成される）の番号を示す変数ｔを０、
ブロック（図１、図６等を参照して説明したブロック）の番号を示す変数Ｂを０とする変数の初期値設定処理を実行する。ブロックの長さは、通常の発話の長さと比べて十分短い値とする。例えば１／１０秒や１／８秒に設定する。
これらの設定は、例えば図１０に示す装置構成の制御部３０９において行われる。
【０１６０】
次に、ステップＳ１０２において例えば図１０に示すマイクロホンアレイ３０１から入力する音信号に対して、ＡＤ変換およびＳＴＦＴ処理を実行する。
これは、図１０に示すＡＤ変換部３０２、およびＳＴＦＴ部３０３において実行される。
【０１６１】
ＡＤ変換部３０２は、マイクロホンに入力されたアナログの音信号をデジタル信号へ変換する。
さらにＳＴＦＴ部３０３は、短時間フーリエ変換（ＳＴＦＴ）によって時間周波数領域の信号（スペクトル）へ変換する。
なお、音信号の入力は、図１０に示すようなマイクロホンからの他、必要に応じてファイルやネットワークなどから行なってもよい。
ＳＴＦＴ部３０３の実行する短時間フーリエ変換（ＳＴＦＴ）処理の詳細については、後述する。
【０１６２】
本実施例の例えば図１０に示すような設定では、入力チャンネルが複数（マイクロホンの個数分）あるため、ＡＤ変換やＳＴＦＴもチャンネル数だけ行なう。以降では、
・チャンネルｋ、
・周波数ビンω
・フレームｔ、
における観測信号を、
Ｘｋ（ω，ｔ）
と表わす（これは先に説明した式［２．１］などに対応する）。
【０１６３】
また、ＳＴＦＴのポイント数をｌ（小文字のエル）とすると、１チャンネルあたりの周波数ビンの個数Ｍは、
Ｍ＝ｌ／２＋１
上記式によって計算できる。
【０１６４】
ステップＳ１０３は、蓄積ステップである。ＳＴＦＴによって時間周波数領域に変換された観測信号を、所定の時間分（例えば１０秒）だけ蓄積する処理である。言い換えると、その時間に対応したフレーム数をＴとすると、連続するＴフレーム分の観測信号を、図１０に示す観測信号バッファ３０４に蓄積する。バッファ内部ではフレーム番号Ｆとフレームデータ（スペクトル）との対応付けがなされており、後で所定のフレーム番号のデータを取り出すことが可能である。
【０１６５】
次に、ステップＳ１０４において、フレーム番号ｔの更新処理として、
ｔを＋１する更新処理を実行する。
【０１６６】
ステップＳ１０５の処理は、ステップＳ１０６以下の処理をＬフレームに１回の頻度で実行するための条件分岐である。すなわち、フレーム番号ｔを頻度Ｌで割り、その余りが０のときのみ、ステップＳ１０６に進み、それ以外の場合は、ステップＳ１０２以下の処理を繰り返す。
【０１６７】
ステップＳ１０２〜Ｓ１０４の処理をＬフレーム分実行するとステップＳ１０６に進む。
ステップＳ１０６は、観測信号の共分散行列から方向点を求める処理である。この処理は、図１０に示す方向推定部３０５の実行する処理である。すなわち、図１１を参照して説明したように、ＳＴＦＴ部の生成する時間周波数領域の観測信号に基づいて図１２に示すデータからなる方向点情報を生成する処理として実行される。詳細は後述する。
【０１６８】
ステップＳ１０７は、ステップＳ１０６の方向推定処理において求まった方向点から発話区間を求めるための処理である。この処理は、図１０に示す方向トラッキング部３０６の実行する処理である。すなわち、図１３を参照して説明したように、方向推定部の生成する方向点情報に基づいて図１４に示すデータからなる音声区間情報を生成する処理として実行される。詳細は後述する。
【０１６９】
次に、ステップＳ１０８においてブロック番号Ｂを更新する。すなわち、
ブロック番号Ｂを＋１する更新処理を実行する。
最後に、ステップＳ１０９において、処理を継続するか否かの分岐を行ない、継続の場合はステップＳ１０２に戻る。継続しない場合は処理を終了する。
【０１７０】
次に、ステップＳ１０２において、図１０に示すＳＴＦＴ部３０３の実行する短時間フーリエ変換（ＳＴＦＴ）処理の詳細について、図１６を参照して説明する。
【０１７１】
図１６に示す（ａ）観測信号の波形ｘ＿ｋ（＊）は、
例えば、図１０に示す装置中に音声入力部として構成されるｎ本のマイクからなるマイクロホンアレイ３０１中のｋ番目のマイクによって観測される観測信号の波形ｘ＿ｋ（＊）である。
【０１７２】
この観測信号から、一定長を切り出した切り出しデータであるフレーム４０１〜４０３にハニング窓やハミング窓等の窓関数を作用させる。なお切り出し単位をフレームと呼ぶ。１フレーム分のデータに短時間フーリエ変換をかけることにより、周波数領域のデータであるスペクトルＸｋ（ｔ）を得る（ｔはフレーム番号）。
【０１７３】
切り出すフレームの間には、図に示すフレーム４０１〜４０３のように重複があってもよく、そうすることで連続するフレームのスペクトルＸｋ（ｔ−１）〜Ｘｋ（ｔ＋１）を滑らかに変化させることができる。また、スペクトルをフレーム番号に従って並べたものをスペクトログラムと呼ぶ。図１６（ｂ）に示すデータがスペクトログラムの例である。
スペクトルＸｋ（ｔ）は要素数Ｍのベクトルであり、ω番目の要素をＸｋ（ω，ｔ）として示される。
【０１７４】
次に、ステップＳ１０６において、図１０に示す方向推定部３０５の実行する方向推定処理の詳細シーケンスについて図１７に示すフローチャートを参照して説明する。
この処理は、先に図１１を参照して説明した処理であり、ＳＴＦＴ部の生成する時間周波数領域の観測信号に基づいて図１２に示すデータからなる方向点情報を生成する処理として実行される。
【０１７５】
図１７に示すフローチャートの各ステップの処理について、図１１の構成図と対比しながら説明する。
ステップＳ２０１において、観測信号の共分散行列を求める。この処理は、図１１における共分散行列計算部３３１の実行する処理である。ＳＴＦＴ部の生成する時間周波数領域の観測信号に基づいて観測信号の共分散行列を求める。
共分散行列の計算には、先に説明した式［２．２］を用いる。
【０１７６】
なお、式［２．２］のＬ'はブロックの長さ（フレーム数）であるが、この値は、共分散行列の計算頻度Ｌ（図１５のフローにおけるステップＳ１０５のＬ）と異なる値を用いても良い。例えば、Ｌ＝８，Ｌ'＝１６とすると、共分散行列は８フレームに１回の頻度で計算されるが、共分散行列自体は１６フレーム分の観測信号から計算される。
【０１７７】
次に、ステップＳ２０２において、共分散行列から死角フィルタと指向性フィルタとをそれぞれ生成する。
この処理は、図１１に示す空間フィルタ生成部３３２の実行する処理であり、共分散行列を入力して、共分散行列から２種類の空間フィルタを生成する。１つは死角フィルタであり、もう１つは指向性フィルタである。
例えば先に説明した式［３．４］に示す死角フィルタＷ＿Ｎ（ω）、式［３．７］に示す指向性フィルタＷ＿Ｄ（ω）を生成する。なお、このフィルタ生成に際しては、先に項目（２−３．新規の死角フィルタと指向性フィルタについて）において説明した式［４，１］、式［４．２］を用いたフィルタ生成を行ってもよい。
【０１７８】
さらに、ステップＳ２０３において、死角フィルタと指向性フィルタに基づいて、
それぞれから死角パターンと指向性パターンとを生成する。
図１１に示す死角パターン生成部３３４において、死角フィルタにステアリングベクトルを作用させ、死角パターンを生成する。
同様に、指向性パターン生成部３３５において、指向性フィルタにステアリングベクトルを作用させ、指向性パターンを生成する。
【０１７９】
これらの死角パターンと指向性パターンの具体的な生成手法は、
先に、（２−１．死角パターンと指向性パターンとの併用構成）、および（２−３．新規の死角フィルタと指向性フィルタ）において詳細に説明した通りである。
例えば、死角パターンは、例えば先に説明した式［３．６］に示す死角パターンＰ＿Ｎ（θ）であり、指向性パターンは、先に説明した式［３．９］に示す指向性パターンＰ＿Ｄ（θ）である。
【０１８０】
最後に、ステップＳ２０４において、死角パターンと指向性パターンとの両方を用いて、方向点の検出を行なう。この具体的方法については、先に、（２−２．区間の状態に応じた方向点検出条件の変更構成）において詳細に説明した通りである。
なお、ここでいう方向点は、「強い方向点」と「弱い方向点」との両方である。すなわち、先の説明項目（２−２．区間の状態に応じた方向点検出条件の変更構成）で説明した条件１〜条件６のうち、少なくとも条件１〜条件５を満たしている点である。
【０１８１】
次に、図１５に示す全体処理フローにおけるステップＳ１０７の方向トラッキング処理の詳細シーケンスについて、図１８に示すフローチャートを参照して説明する。
【０１８２】
このステップＳ１０７の方向トラッキング処理は、図１０に示す方向トラッキング部３０６において実行する処理であり、先に、図１３、図１４を参照して説明したように、図１１、図１２を参照して説明した方向推定部３０５が出力した方向点情報を入力して、音声区間情報である確定した区間情報３６１を生成して出力する処理である。
【０１８３】
図１８に示すフローチャートに示すように、この方向トラッキング処理は、
ステップＳ３０１の「区間の延長・確定」処理と、
ステップＳ３０２の「新規区間作成」処理、
これらの２つの処理から構成される。
【０１８４】
本発明の特徴の１つは、区間の始点と途中とで方向点の検出に関する条件を変えることにある。具体的には、
ステップＳ３０１では、「強い方向点」と「弱い方向点」との両方を用いて「区間の延長・確定」処理を実行する。
一方、ステップＳ３０２では、「強い方向点」のみを用いて「新規区間作成」処理を実行する。
【０１８５】
ステップＳ３０１の区間の延長・確定処理は、図１３に示す作成中区間バッファ３５２に格納されている作成中区間に対する処理であり、先に、図１７のフローにおいて説明したステップＳ２０４において新たに検出された方向点を用いて作成中区間の延長や確定を行なう。さらに、確定した区間は後段の処理（音源抽出など）に送信される。詳細は後述する。
【０１８６】
なお、「作成中区間」とは、ステップＳ３０２の新規区間作成処理において生成されてから区間が確定するまでの状態にある区間のことである。
【０１８７】
ステップＳ３０２の新規区間作成処理は、現在解析中のブロックを始点とする区間を見つけ出すための処理である。この詳細は後述する。
【０１８８】
次に、図１８に示すフローのステップＳ３０１の「区間の延長・確定」処理の詳細シーケンスについて、図１９に示すフローチャートを用いて説明する。
ステップＳ３０１の「区間の延長・確定」処理は、図１３に示す作成中区間バッファ３５２に格納されている作成中区間データに対する処理である。そのため、図１９に示すフローにおいて、ステップＳ４０１〜Ｓ４０８において作成中区間についてのループを回し、作成中区間の各々に対してステップＳ４０２〜Ｓ４０７の処理を行なう。
【０１８９】
ステップＳ４０２において、作成中区間の付近に方向点が存在しているかを調べる。ここでの方向点は、「強い方向点」と「弱い方向点」との両方を含む。
具体的には、方向トラッキング部３０６が生成し、作成中区間バッファ３５２に格納した作成中区間情報中の「方向」（図１４に示す区間情報３６１内の「方向」３７４）と、新たに方向トラッキング部３０６が方向推定部３０５から入力した方向点情報中の「方向」（図１２の方向点情報３２７中の「方向」３４１）とを比較し、両者の差が所定の規定閾値の範囲（例えば±１０°以内）に収まっていれば、区間の付近に方向点が存在していると判定する。
【０１９０】
規定範囲内に方向点が存在している場合は、ステップＳ４０２の判定はＹｅｓとなり、ステップＳ４０３に進む。
ステップＳ４０３〜Ｓ４０４の処理は、区間の延長に関する処理である。具体的には、区間情報の更新処理を行う。
ステップＳ４０３において、区間情報中の有効ブロック数の更新を行う。すなわち、図１４に示す区間情報３６１中の有効ブロック数３７６を＋１すると共に、断絶ブロック数３７５に０を代入する。
【０１９１】
次にステップＳ４０４において、区間の始端から現在化解析中のブロックまでの方向の平均を計算する。具体的には、更新前の方向、すなわち、図１４に示す区間情報３６１中の「方向」３７４に保存されている値としての方向データＡを更新する。
方向データをＡ、
有効ブロック数（ステップＳ４０３において＋１した更新後の値）をＢ、
新たに方向トラッキング部３０６が方向推定部３０５から入力した方向点情報中の「方向」（図１２の方向点情報３２７中の「方向」３４１）をＣ、
として、以下の式で、方向Ａを更新する。
Ａ←｛（Ｂ−１）Ａ＋Ｃ｝／Ｂ
【０１９２】
上記式は、生成中の区間情報に設定済みの方向データＡに、新たに入力した方向Ｃを加えて、ブロック数Ｂで除算して方向の平均を算出する式に相当する。
【０１９３】
一方、ステップＳ４０２において付近に方向点が存在しないと判定した場合は、ステップＳ４０２の判定はＮｏとなり、ステップＳ４０５に進む。
この場合、それまで生成中の区間情報において連続していた方向点が断絶したことを表わしており、一定時間以上断絶したら、区間の終端と判別する。
この処理のため、ステップＳ４０５では、図１４に示す区間情報３６１に含まれる断絶ブロック数３７５を＋１する更新処理を実行する。
【０１９４】
さらに、ステップＳ４０６において、更新した断絶ブロック数３７５が予め規定した所定値（例えば３ブロック）以上かどうかを判定する。
ステップＳ４０６において、更新した断絶ブロック数３７５が所定値以上の場合は、ステップＳ４０６の判定がＹｅｓとなり、ステップＳ４０７に進む。
ステップＳ４０７では、区間の終端が確定したと見なし、「区間の出力・棄却」処理を行う。ここの詳細は後述する。
一方、ステップＳ４０６において、更新した断絶ブロック数３７５が所定値以上でないと判定した場合はステップＳ４０６の判定はＮｏとなり、ステップＳ４０７の処理をスキップしてステップＳ４０８に進む。
【０１９５】
ステップＳ４０１〜Ｓ４０８を全ての作成中区間に対して行なったら、ループを抜け、ステップＳ４０９の「多重採用のチェック」に進む。
【０１９６】
ステップＳ４０９では、１つの方向点が２つ以上の作成中区間に採用されている（多重採用）かどうかを調べ、もし複数の区間に採用されている場合は、その中で最も長い区間のみを残し、それ以外を削除する。すなわち、図１３に示す作成中区間バッファ３５２の格納データから削除する処理を行う。
【０１９７】
多重採用のチェックを行なう理由について、図２０を用いて説明する。
図２０（ａ）は、図１（ｄ）と同様の図であり、各ブロックにおいて検出された複数の方向点５０１〜５０３と方向点に基づいて設定される作成中の音声区間５０４，５０５を示している。なお、図１（ｃ）、図６に示すブロック区切りは省略している。
【０１９８】
図２０（ａ）において、方向点５０１と方向点５０２とは方向が予め規定した閾値距離としての所定の値よりも離れており、同じ音源からの区間の構成要素として直接接続はしないものとする。一方、方向点５０１と方向点５０３の間、および方向点５０２と方向点５０３との間は、それぞれ、閾値距離である所定の値よりも近く、接続し得るものとする。
【０１９９】
すなわち、方向点５０３は、方向点５０１を含む作成中の区間５０４からも、方向点５０２を含む作成中の区間５０５からも、「付近の方向点」として採用される。このように、新たに観測される１つの方向点が異なる複数の音声区間の方向点として設定可能となる場合がある。この現象を方向点の多重採用と呼ぶ。多重採用が発生したときに、それぞれの作成中区間を残しておくと、以降のトラッキングでは、図２０（ｂ）に示すように、同一の方向点５０６よりも右側の方向点が両方の区間に接続されていく。
【０２００】
その結果、１回の発話に対して複数の区間、すなわち、図２０（ｂ）に示す区間５０７，５０８が設定されてしまうことになる。これを区間の多重検出と呼ぶ。
このように、１回の発話に対して複数の区間が設定されてしまうことは検出誤りである可能性が高い。したがって、このような、区間の多重検出を防ぐ対策が必要となる。
【０２０１】
この多重検出を防止するため、方向点の多重採用が発生した時点で、その方向点を含む区間の内で最も長いもの（最長区間）のみを残し、それよりも短い区間（非最長区間）を削除する処理を行う。
例えば、図２０（ａ）に示す方向点５０３は、音声区間５０４と音声区間５０５の２つの区間によって採用される多重採用型の方向点である。
このような、多重採用型の方向点５０３が発生したことを検出した場合、この時点で、その多重採用型の方向点５０３を採用対象とした複数の音声区間の長さを比較する。
【０２０２】
図２０（ａ）に示す設定では、音声区間５０４が音声区間５０５より長い音声区間となっている。この場合は短い方の音声区間５０５を削除する。その結果、その後の方向点の検出時に、図２０（ｂ）に示すような音声区間５０８は設定されず、音声区間５０７のみが設定されることになる。
【０２０３】
あるいは、非最長区間を単に削除する代わりに、非最長区間に含まれている方向点を最長区間に加えた（マージした）上で、最長区間に含まれる全ての方向点を用いて区間の新たな方向を計算し直すようにしてもよい。例えば図２０（ａ）においては、音声区間５０５に含まれる方向点５０２を音声区間５０４に加えた上で、音声区間５０４の方向を３つの方向点５０１，５０２，５０３の平均として計算する。
【０２０４】
多重採用の方向点が存在した場合に非最長区間を単に削除すると、残った最長区間においてはブロック数に対する方向点の割合が小さくなり、Ｓ４０７において区間が棄却されてしまう可能性があるが、方向点をマージすることで、非最長区間の削除に由来する余計な棄却を防止することができる。
【０２０５】
次に、図１８に示すフローのステップＳ３０１の「区間の延長・確定」処理の詳細シーケンスである図１９に示す処理フローにおけるステップＳ４０７の「区間の出力・棄却」処理の詳細について、図２１に示すフローチャートを参照して説明する。
【０２０６】
ステップＳ４０７の「区間の出力・棄却」処理における「出力」とは、確定した区間を後段の処理（例えば音源抽出処理の実行部など）に送る出力処理ことであり、「棄却」とは、区間が予め規定した所定の条件を満たさなかったと判断して削除する処理である。
【０２０７】
図２１のフローにおける各ステップの処理について説明する。
ステップＳ５０１において、終了ブロック番号を計算し、計算した終了ブロック番号の値を、図４を参照して説明した区間情報、すなわち図１３に示す作成中区間バッファ３５２に格納されている作成中区間に対応する区間情報中の出漁ブロック番号３７３として記録する。
【０２０８】
現在解析中のブロックの番号をＢ、
図１９のフローのステップＳ４０６における断絶ブロック数の判定閾値としての所定値をＢ＿｛ｄｉｓｃｏｎｔｉｎｕｅ｝、
とすると、
終了ブロック番号は以下の式で計算される。
終了ブロック番号＝Ｂ−Ｂ＿｛ｄｉｓｃｏｎｔｉｎｕｅ｝
【０２０９】
ステップＳ５０２〜Ｓ５０４は、区間が満たすべき諸条件についての判定である。全ての条件を満たした場合のみ、ステップＳ５０５に進み、有効な区間であると判定し、後段の処理部、例えば音源抽出処理の実行部などに出力する処理を行う。
ステップＳ５０２〜Ｓ５０４のいずれかの条件を満たさないと判定した場合は、有効な区間ではないと判定して、ステップＳ５０６において棄却する処理を行う、すなわち、これまで、図１３に示す作成中区間バッファ３５２に記録されていた作成中区間の区間情報を削除する処理を行う。
【０２１０】
以下、ステップＳ５０２〜Ｓ５０４において実行する判定処理について説明する。なお、ステップＳ５０２〜Ｓ５０４の各条件の判定順は、入れ替わってもよい。
【０２１１】
ステップＳ５０２は、生成中の区間の区間情報として保持している方向（図１４に示す区間情報３６１中の方向３７４が、予め規定した所定範囲にあるかどうかを判定する処理である。
【０２１２】
例えば、目的の音源（発話者）が０°付近のみに位置していると分かっている場合、区間の方向が−１０°〜＋１０°の範囲を外れていたらその区間を棄却するようにする。一方、目的の音源があらゆる方向に位置し得るような用途では、この判定は行なわない。すなわち、ステップＳ５０２の判定処理はスキップする。
【０２１３】
ステップＳ５０３は、区間の長さについての判定である。所定の値よりも短い区間（例えば０．１秒よりも短い）を棄却することで、区間の誤検出を抑圧することができる。また、所定の値より長い区間（例えば１０秒よりも長い）を棄却することで、冷却用ファンの音といった、小さくて鳴りっぱなしの音源が検出されるのを防ぐ。
すなわち、予め規定した範囲にある場合のみ、その区間を有効と判定する。なお、この判定条件に適用する「範囲」は、音声の取得環境に応じて設定することが望ましい。
【０２１４】
ステップＳ５０４は、区間の中で有効ブロック（方向点を持つブロック）の割合についての判定である。
区間の開始ブロック番号（図１４に示す区間情報中の開始ブロック番号３７２）をＢ＿｛ｂｅｇｉｎ｝、
終了ブロック数（図１４に示す区間情報中の終了ブロック数３７５）をＢ＿｛ｅｎｄ｝、
有効ブロック数（図１４に示す区間情報中の有効ブロック数３７６）をＢ＿｛ｖａｌｉｄ｝
とすると、
有効ブロックの割合は以下の式で計算される。
有効ブロックの割合＝Ｂ＿｛ｖａｌｉｄ｝／（Ｂ＿｛ｅｎｄ｝−Ｂ＿｛ｂｅｇｉｎ｝＋１）
【０２１５】
この値が。予め規定した所定値（例えば０．５）以上かどうかを判定する。有効ブロックの割合が低い場合、その区間は、誤検出された方向点を飛び飛びに接続して生成されたものである可能性が高い。そのような区間を棄却することで、区間の誤検出が抑制される。
【０２１６】
これらステップＳ５０２〜Ｓ５０４の判定を全て満たした場合は、ステップＳ５０５の「出力」に進む。このステップＳ５０５の出力処理では、作成中の区間に関する区間情報が、図１３に示す作成中区間バッファ３５２から取り除かれると共に、後段処理部に提供する処理が行われる。
【０２１７】
一方、ステップＳ５０２〜Ｓ５０４の判定を１つでも満たさない場合は、ステップＳ５０６の「棄却」に進む。このステップＳ５０６の棄却処理では、区間が作成中区間バッファ３５２から取り除かれる、出力は行なわれない。すなわち削除処理のみが実行される。
【０２１８】
次に、図１５に示す全体処理フローのステップＳ１０７の方向トラッキング処理の詳細シーケンスである図１８に示すフローに示すステップＳ３０２の「新規区間作成」ステップの詳細シーケンスについて、図２２に示すフローチャートを参照して説明する。
【０２１９】
図２２に示すフローチャート中、ステップＳ６０１〜Ｓ６０５は各方向点の各々に対して実行される方向点についてのループである。本発明では、方向点のうち「強い方向点」のみを区間始端の対象とするため、ステップＳ６０２で、処理対象とする方向点が「強い方向点」がどうかチェックし、「弱い方向点」である場合は、ステップＳ６０３〜Ｓ６０４をスキップする。
【０２２０】
「強い方向点」に対しては、まず、ステップＳ６０３において、処理対象の方向点の付近に作成中区間が存在するかどうかを調べる。この判定は、先に、図１９を参しようして説明したステップＳ４０２の処理と同様の処理である。
【０２２１】
付近に作成中区間が存在しない場合、その方向点は区間の始点であると判定して、ステップＳ６０４の「区間作成」に進む。付近に作成中区間が存在する場合は、ステップＳＺ６０４の処理をスキップする。
なお、最初のブロックの解析中においては作成中区間が存在しないため、最初のブロックの「強い方向点」は必ず区間の始点となる。
【０２２２】
ステップＳ６０４では、先に図１４を参照して説明した区間情報を生成し、各スロット（区間ＩＤ３７１〜有効ブロック数３７６）に所定の値を代入する。以下では、各スロットに代入する値について説明する。
【０２２３】
区間ＩＤ３７１には、区間が生成されるたびに＋１させた値を代入する。すなわち、最初に生成された区間には１を代入し、その後の区間に対しては２，３，...という値を代入していく。
開始ブロック番号３７２には、現在解析中のブロックの番号を代入する。
終了ブロック番号３７３に対しては、この時点では終端が検出されていないため、未定義を表わす値を代入しておく。
【０２２４】
方向３７４には、処理対象とする方向点が保持している方向点情報の方向（図１２に示す方向３４１）を代入する。
断絶ブロック数３７５には０を代入する。
有効ブロック数３７６には１を代入する。
【０２２５】
ブロック内の全ての方向点に対して、ステップＳ６０２〜Ｓ６０４の処理を実行したら、新規区間作成の処理は終了である。
【０２２６】
［５．その他の実施例（変形例）について］
上記の実施例では、基本的な１つの構成例について説明した。
以下、上述した基本的な実施例に対する変形例について説明する。
【０２２７】
（変形例１）
「強い方向点」と「弱い方向点」とを区別するための方向点判定条件として、上述の実施例では（条件６）を用いていた。すなわち、
「死角パターン側の極小値＜指向性パターン側の極大値」
を満足する場合に「強い方向点」、満足しない場合に「弱い方向点」と判定する処理を実行していた。
【０２２８】
「強い方向点」と「弱い方向点」とを区別するための条件として、別の条件を用いてもよい。
例えば、先に説明した音源方向を示す方向点とみなすための（条件５）、すなわち、
（条件５）直近のブロック群における死角パターンの最小値から動的に計算した閾値に基づく判定条件を満たす。（動的閾値に従った判定条件）
上記条件において、動的閾値を求める際に、先に説明した式［１．７］に示すパラメータ：αを２通り用意し、それぞれ
α＿｛ｌａｒｇｅ｝，
α＿｛ｓｍａｌｌ｝
とする。
ただし、０＜α＿｛ｓｍａｌｌ｝＜α＿｛ｌａｒｇｅ｝＜１である。
【０２２９】
上記の２つのパラメータ：αを用いることで、先に説明した式［１．７］に従って、動的閾値Ｔ＿ｄｙｎａｍｉｃは２種類計算される。
これらを、それぞれ、
Ｔ＿｛ｔｉｇｈｔ｝，
Ｔ＿｛ｌｏｏｓｅ｝
とする。これらを、以下の式［５．１］、［５．２］として示す。
【０２３０】
【数５】
2012150237.tif 000007
【０２３１】
このような２つの動的閾値を適用して、先に説明した（条件５）を、式［５．３］および式［５．４］の２通りの条件を設定する。
Ｐ＿｛ｍｉｎ｝は負の値であるため、式［５．３］の方が厳しい条件である。そこで、条件１〜４および式［５．３］を満たす方向点を「強い方向点」、条件１〜４および式［５．４］を満たす方向点を「弱い方向点」とする。
このような「強い方向点」と「弱い方向点」との判定条件を適用してもよい。
【０２３２】
（変形例２）
次に、変形例２として、先に「背景技術」の欄で紹介した従来技術としての「単一のマイクロホンを用いる方式」（すなわち、「音声らしさ」に基づく方式）の音声区間検出を、上述した本発明の音声区間検出処理と組み合わせた構成について説明する。この組み合わせにより、発話区間を一層正確に検出することが可能となる。この構成例について図２３を参照して説明する。
【０２３３】
図２３に示す音信号処理装置は、
第１音声区間検出部（音源方向推定に基づく音声区間検出部）６０１は、の実施例で説明した方式を用いた音声区間検出を実行するモジュールである。ただし、第１音声区間検出部６０１は、後段の音源抽出部６０２において、さらに詳細な区間検出を行なうため、検出された区間の前後にマージンをつけた区間情報を出力する。すなわち第１音声区間検出部６０１を単独で用いる場合よりも長めの区間を出力する。
【０２３４】
音源抽出部６０２は、第１音声区間検出部（音源方向推定に基づく音声区間検出部）６０１から入力する音声区間情報に基づいて、さらに詳細な区間検出を行なモジュールである。例えばビームフォーマーなどの既存の技術を用いて、区間と方向とから対応する方向からの音源を抽出する。
【０２３５】
第２音声区間検出部（「音声らしさ」に基づく音声区間検出部）６０３は、音源抽出部６０２からの出力に対して、「音声らしさ」に基づく詳細な区間検出を行なう。
両方式の音声区間検出を組み合わせる利点は、以下の通りである。
１．区間の始端・終端の高精度化
２．音声以外の音源が棄却できる
【０２３６】
音源方向推定に基づく方式は、「音声らしさ」に基づく方式と比べると、音声同士の被りには強いという利点がある一方で、始端・終端の時間粒度が共分散行列の更新頻度に依存するという課題がある。そこで、音源方向推定に基づく方式で得られた区間と方向とを用いて音源抽出を行なうことで音声同士の被りを解消し、その結果に対して「音声らしさ」に基づく音声区間検出を適用することで、音声同士の被りにも強く、時間粒度も細かい音声区間検出が実現できる。
【０２３７】
（変形例３）
指向性パターンの生成においては、式［３．８］の代わりに以下に示す式［６．１］を用いることも可能である。
【０２３８】
【数６】
2012150237.tif 000008
【０２３９】
この式は遅延和アレイ（Delayed sum）に基づいている。以下では、この式について説明する。遅延和アレイとは、各マイクロホンの観測信号に所定の遅延を与えてから和をとる処理のことである。時間周波数領域においてはステアリングベクトルＳ（ω，θ）を用いて式［６．２］で計算できる。この式を用いると、方向θから到来する音に対してはマイクロホン間で位相が揃うため、それらを足し合わせた結果であるＹ（ω，ｔ，θ）は、方向θからの音が強調されたものとなっている。
【０２４０】
ブロック内でのＹ（ω，ｔ，θ）の分散（絶対値の２乗の平均）は式［６．３］によって計算でき、式［２．２］によって式［６．４］のように変形される。式［６．１］は式［６．４］の対数であり、１／２を乗じる理由は式［６．３］の左辺についている２乗を打ち消して死角パターンと比較可能にするためである。
【０２４１】
式［６．２］のＹ（ω，ｔ，θ）は、観測信号に含まれる音源の方向の１つとθの値とが一致した場合に大きな絶対値を持つ。そのため、そこから計算された式［６．１］  は指向性パターンと同じ特性を持つ。
【０２４２】
［６．効果のまとめ］
上述したように、本開示の音信号処理装置では、音源方向推定に基づく音声区間検出において以下の工夫を行なっている。
１．死角パターンの他に指向性パターンも用いて方向点を検出する。
２．方向点のトラッキングにおいて、発話区間の始端の検出と区間の延長とで方向点の検出のための条件を変える。
例えばこれらの処理に基づいて音声区間検出の精度が向上する。
【０２４３】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０２４４】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０２４５】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０２４６】
以上、説明したように、本発明の一実施例の構成によれば、音声信号からの発話区間の検出処理を高精度に実行する装置、方法が実現される。具体的には、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定部と、方向点を複数ブロック間で接続して区間の検出を行う方向トラッキング部を有する。方向推定部は、音源方向に対する感度の低い空間フィルタである死角フィルタに対応する方向とゲインとの対応関係データである死角パターンと、音源方向に対する感度の高い空間フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成し、死角パターンの極小部と指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する。この処理により、より精度の高い音声区間検出が実現される。
【符号の説明】
【０２４７】
１１  ブロック
１２  ＡＤ変換部
１５，１６  ライン（音声区間）
２１  重心
２２  マイクマロホン
２５，２６  音源
３１  死角パターン
３８  閾値
５１  死角パターン
１０１  指向性パターン
１５１〜１５３  ブロック
１５４  ブロック群
２０１〜２０４  指向性パターン
２５１  方向ベクトル
２５２  基準点
２５３，２５４  マイクロホン
２７１〜２７５，２８１  方向点
２７６  区間
３０１  マイクロホンアレイ
３０２  ＡＤ変換部
３０３  ＳＴＦＴ部
３０４  観測信号バッファ
３０５  方向推定部
３０６  方向トラッキング部
３０７  音源抽出部
３０８  後段の処理
３０９  制御部
３２１  時間周波数領域の観測信号
３２２  共分散行列
３２３  死角フィルタ
３２４  指向性フィルタ
３２５  死角パターン
３２６  指向性パターン
３２７  方向点情報
３３１  共分散行列計算部
３３２  空間フィルタ生成部
３３３  ステアリングベクトル
３３４  死角パターン生成部
３３５  指向性パターン生成部
３３６  方向点検出部
３４１  方向
３４２  死角パターンの極小部の値
３４３  指向性パターンの極大部の値
３５１  制御部
３５２  作成中区間バッファ
３６１  区間情報
３７１  区間ＩＤ
３７２  開始ブロック番号
３７３  終了ブロック番号
３７４  方向
３７５  断絶ブロック数
３７６  有効ブロック数
４０１〜４０３  フレーム
５０１〜５０３  方向点
５０４，５０５  作成中の区間
５０６  方向点
５０７，５０８  作成中の区間
６０１  第１音声区間検出部
６０２  音源抽出部
６０３  第２音声区間検出部
【図３】
2012150237.tif 000009
【図４】
2012150237.tif 000010
【図５】
2012150237.tif 000011
【図７】
2012150237.tif 000012
【図１１】
2012150237.tif 000013
【図１２】
2012150237.tif 000014
【図１３】
2012150237.tif 000015
【図１４】
2012150237.tif 000016
【図１５】
2012150237.tif 000017
【図１７】
2012150237.tif 000018
【図１８】
2012150237.tif 000019
【図１９】
2012150237.tif 000020
【図２１】
2012150237.tif 000021
【図２２】
2012150237.tif 000022
【図２３】
2012150237.tif 000023
【図１】
2012150237.tif 000024
【図２】
2012150237.tif 000025
【図６】
2012150237.tif 000026
【図８】
2012150237.tif 000027
【図９】
2012150237.tif 000028
【図１０】
2012150237.tif 000029
【図１６】
2012150237.tif 000030
【図２０】
2012150237.tif 000031