説明

音信号処理装置、および音信号処理方法、並びにプログラム

【課題】音信号からの発話区間の検出処理を高精度に実行する装置、方法を提供する。
【解決手段】音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定部と、方向点を複数ブロック間で接続して区間の検出を行う方向トラッキング部を有する。方向推定部は、音源方向に対する感度の低い空間フィルタである死角フィルタに対応する方向とゲインとの対応関係データである死角パターンと、音源方向に対する感度の高い空間フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成し、死角パターンの極小部と指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は、音信号処理装置、および音信号処理方法、並びにプログラムに関する。さらに、詳細には音源方向推定を伴う音声区間検出処理を実行する音信号処理装置、および音信号処理方法、並びにプログラムに関する。
【背景技術】
【0002】
以下、従来技術として、最初に音声区間検出全般について説明し、次に音源方向推定を用いた音声区間検出処理方式について説明する。
音声区間検出(SD:Speech Detection)とは、例えば音信号処理装置に備えられたマイクを介して入力する音信号の中から、人が発話している区間を切り出す処理のことである。音声区間検出(SD)は、VAD(Voice Activity Detection)とも呼ばれる。
本明細書では、音信号から人の発話区間を切り出す処理について、「音声区間検出」または単に「区間検出」として説明する。また、単に「区間」というと、音声に限らず、何らかの音源がアクティブであり続けている(鳴り続けている)区間を表わすものとする。
【0003】
音声区間検出は、音声認識や音源抽出などと共に用いられることがあるが、いずれの場合も、区間検出には高い精度が要求される。
例えば多くの音声認識器では、区間検出によって切り出された区間に対してマッチング等の処理を行なうため、区間検出の精度が音声認識の精度に大きく影響する。すなわち、実際に発話した区間と、区間検出器が検出した区間とが異なっていると、それ自体が誤認識の原因となってしまう。
【0004】
一方、音源抽出においても、区間検出が用いられる場合がある。例えば、音声と雑音とが混ざった信号からクリーンな音声を抽出したい場合や、二人以上が同時に発話している環境において一人の音声を抽出したい場合、音源抽出の方式によっては、入力信号を雑音のみが鳴っている区間と両方が混ざっている区間とに分割する必要があり、その目的で区間検出が使用される。
【0005】
または、単に目的の音声が存在しているときのみ音源抽出を動作させることで、計算量を削減したり無音区間に適応するのを防いだりするという目的で区間検出が使用される場合もある。このような、音源抽出と共に使用される音声区間検出では、入力信号が音声と雑音との混合や音声同士の混合であっても高い精度で動作することが要求される。
【0006】
以上のような用途に応えるため、音声区間検出には精度向上のための様々な工夫がなされている。ここでは使用するマイクロホンの個数に注目し、以下の2つの方式(1),(2)に分類する。
(1)単一のマイクロホンを用いる方式
入力信号から「音声らしさ」を表わす特徴量を抽出し、その値に基づいて区間検出を行なう方式である。
この処理については、例えば特許文献1(特許4182444号)などに記載がある。
(2)複数のマイクロホンを用いる方式
音源の方向を用いて区間検出を行なう方式である。
この処理については、例えば特許文献2(特許4282704号)、特許文献3(特開2010−121975号)などに記載されている。
【0007】
本明細書において開示する技術は、上記の(2)の方式、すなわち、複数のマイクロホンを用いる方式に属するため、以下では(2)の音源方向を用いた方式の概要について説明する。
【0008】
音源方向に基づく音声区間検出の基本的な考え方は、次の通りである。
同一の音源から発生している音は、マイクロホンから見て同一の方向から到来する。そのため、所定の時間間隔で音源到来方向(DOA:Direction Of Arrival)を推定し、ほぼ同一の方向から音が出力され続けている区間を求め、この区間を音源がアクティブである(その音源から音が鳴っている)区間と判定する。人間の発話に対してこの処理を行なえば、音声区間を検出したことになる。
なお、以下では、音源到来方向(DOA)を単に「音源方向」と呼ぶことがある。
【0009】
複数の音源に対応して、各々上記の音源方向推定方法を適用すれば、複数の音源が同時にアクティブになっていても(例えば、複数人の音声が被っていても)、それぞれについて区間を求めることができる。
【0010】
例えば、一人の話者が発話を終了する直前にもう一人の話者が発話を始めた場合、「音声らしさ」を用いる方式では両発話が繋がった長い領域を一つの区間として検出してしまうが、上記の方向推定を用いる方式ではそれぞれの発話の区間を区別して検出することができる。
【0011】
この音源方向推定を用いた音声区間検出方式の概要について、図1を参照して説明する。
図1(a)は、入力信号(または「観測信号」とも呼ぶ)のイメージであり、話者が二人いてそれぞれ、
"Hello"
"Good by"
と発話したことを表わしている。
【0012】
図1(b)に示すように、この入力信号を所定の長さのブロックに分割する。
図1(b)に示すブロック11は、分割されたブロックの1つ分を表わしている。ブロックの長さは、通常の発話の長さと比べて十分短い値とする。例えば1/10秒や1/8秒に設定する。
【0013】
それぞれのブロックに対して、音源方向の推定を行なう。
図1(c)はその結果であり、横軸が時間、縦軸が方向を表わしている。方向とは、例えば、音声入力を行うマイクに対する音源方向の角度(図2参照)である。
図1(c)に示す点は、方向点12である。方向点は各ブロック内で求まった音源方向を示している。
なお、以降では、音源方向に対応した点を「方向点」と呼ぶ。複数音源に対応した方向推定方式を用いれば、各ブロックは複数の方向点を持ち得る。
【0014】
次に、ブロック間で、ほぼ同一の方向の方向点を接続していく。この処理をトラッキングと呼ぶ。
図1(d)はトラッキングの結果、すなわち接続された方向点を示している。
図1(d)に示すライン15,16は、各音源がアクティブである区間、すなわち音声発話の区間を表わしている。
【0015】
それぞれのブロックにおいて音源方向を求める方法として、
例えば前述の特許文献2(特許4282704号)では「目的音源から到来する信号を抑圧するためのビームフォーマー」を用いた処理について開示している。
また、前述の特許文献3(特開2010−121975号)は、MUSIC法を用いた処理を開示している。
【0016】
どちらも基本的には、音源の方向に死角(null beam)を向けた空間フィルタを生成し、その死角の方向を音源方向とするものである。以降では、MUSIC法について説明する。
【0017】
MUSIC法は、MUltiple SIgnal Classificationの略である。MUSIC法は、空間フィルタリング(特定方向の音を透過したり抑圧したりする処理)の観点からは、以下の2つのステップ(S1),(S2)の処理として説明できる。なお、MUSIC法の詳細については、特許文献4(特開2008−175733号)などを参照されたい。
【0018】
(S1)ある区間(ブロック)内で鳴っている全ての音源の方向に死角を向けた空間フィルタを生成する。
(S2)そのフィルタについて指向特性(方向とゲインとの関係)を調べ、死角が表れている方向を求める。
【0019】
上記のステップ(S1),(S2)中、ステップ(S1)の空間フィルタの生成方法については後述し、以下では、まず、ステップ(S2)の処理について説明する。
【0020】
図2は、音源方向に死角を向けた空間フィルタ(図3)を生成するために用いた観測信号の収録状況を示す図である。4本のマイクロホン22と2つの音源(どちらも人の音声)とが存在している。また、音源方向は、マイクロホン22の配列(アレイ)の重心21から見た到来方向であり、マイクロホンの配列に平行な設置方向23に対して垂直方向24を0°として、反時計回りを正(+)、時計まわりを負(−)としている。
【0021】
図3は、音源方向に死角を向けた空間フィルタの指向特性、すなわち、方向(横軸)とゲイン(縦軸)との関係をプロットしたものである。縦軸は対数とする。指向特性プロットの生成方法は後述する。以降では、音源に死角を向けた空間フィルタを「死角フィルタ」と呼び、そのフィルタの指向特性のプロットを「死角パターン」と呼ぶことにする。
【0022】
図3に示す死角パターン31においてゲインが急激に落ち込んでいる箇所は、感度が低い方向、すなわち死角を表わしている。この図では方向=−24°付近32と+12°付近33に深い「谷」が存在しており、これらは図2の音源1,25と音源2,26にそれぞれ対応した死角である。
【0023】
すなわち、音源1の方向θ1は約−24°、音源2の方向θ2は約+12°である。言い換えると、この死角パターンに対応したブロックは、−24°と+12°に方向点を持つ。
【0024】
なお、MUSIC法ではゲインの対数の代わりにゲインの逆数を用いることもある。例えば前述の特許文献4(特開2008−175733号)では逆数が用いられている。その場合、死角はグラフ上の鋭い「山」として表わされる。ここでは本発明との比較のため、ゲインの対数を用いる方式で説明する。
【0025】
このようにして各ブロックで方向点が求まったら、類似の値を持つ方向点同士をブロック間で接続していく。たとえば図2の環境では、方向=−24°に近い値の方向点同士を接続すると図2に示す音源1,25に相当する人の発話区間が求まり、方向=+12°に近い値の方向点同士を接続すると音源2,26に相当する人の発話区間が求まる。
【0026】
[従来技術の問題点]
次に、この音源方向推定に基づく音声区間検出を開示した従来技術における問題点について説明する。
上述した音源方向推定に基づく区間検出においては、図1を参照して説明したブロック各々において各方向点で検出される方向点の個数が実際に鳴っている音源の個数と一致していることが望ましい。
もし、方向点の個数が音源数よりも少ないと、検出失敗(発話したのに検出されない)の原因となり得る。逆に方向点が音源数よりも多く検出されると、誤検出(発話していないのに検出される)の原因となり得る。
【0027】
しかし、MUSIC法に基づく方向推定では、死角パターンの凹み(以降「極小部(Local Minimum)」とも呼ぶ)が死角に対応しているのか否かを判別するのが困難な場合があるという課題がある。
【0028】
例えば、図3に示す死角パターン31では、方向=−24°付近の極小部32と+12°付近の極小部33の深い凹みの他に、浅い凹みを持つ極小部34〜37も存在している。死角に対応した谷の深さは環境によって異なり、さらに同一環境でもブロックによって異なるため、谷の深さに対する閾値で死角か否かを判定するのは困難である。
例えば、図3では、ゲイン値≒−0.13付近に閾値38を設定することで死角か否かを区別することができるが、その閾値が他のブロックでも有効である保証はない。
【0029】
なお、音声入力のためのマイクロホンの数をnとした場合、最大でn−1個の死角を形成することができる。その特徴を利用して、例えば図3に示すような死角パターン31に対して、極小値の値の小さい順に順位付け(ソート)を行い、1位〜n−1位のみを選択するという処理を行うことで、音源方向の候補をn−1個に制限できる。
【0030】
しかし、常にマイク数=nに基づいて、n−1個を採用すると、無音のときにも死角パターンの細かな凹みのうちのn−1個を方向点として検出してしまう。従って、音源に対応しない余計な方向点を排除するためには、別の条件が必要となる。
【0031】
さらに、音源方向推定を区間検出に用いることに固有の課題も存在する。複数音源に対応した区間検出器は、同時にアクティブになっている音源の個数に依存せずに区間が検出されることが望ましいが、閾値による死角判別方法では、それが困難な場合も存在する。
【0032】
発話中に音源の個数が変化する場合の問題について、図4を用いて説明する。図2の音源2,26が長く発話している途中で音源1,25が短く発話したとする。その場合、それぞれの発話区間は図4(a)に示すように、音源1に対応する発話区間41、および音源2に対応する発話区間42のように検出されるのが望ましい。しかし、この例では音源数が0→1→2→1→0と変化しており、それが区間検出に影響を及ぼす可能性がある。
【0033】
死角パターンにおいて、音源方向に対応した「谷」は、音源数が多くなるほど浅くなる傾向がある。すなわち、「谷」の数が増えるほど、それぞれの「谷」は浅くなる傾向がある。そのため、音源が一つしか鳴っていない区間で、例えば図3を参照して説明した閾値38を調整すると、複数の音源が鳴っている区間での検出が不安定になる場合がある。
【0034】
すなわち、図4(b)に示す発話区間43,44のように、二人の発話が被っている区間((a)に示す発話区間42に該当する区間)において区間が途切れ途切れに検出される場合がある。閾値の設定によっては、発話区間42に該当する区間だけ全く検出されなかったり、一方の音源のみ検出されたりすることもある。
【0035】
一方、閾値を大きめに設定すると、複数音源が鳴ったときに区間が分断される可能性は小さくなる(図4(c)に示す発話区間45,46)。しかしその反面、死角パターンにおいて音源方向に対応していない極小部、例えば図3に示す極小部34〜37も方向点として検出される可能性が高くなる。その結果、図4(c)に示す発話区間47のような、発話には対応しない「偽の発話区間」が検出される可能性が高くなる。
【0036】
このように、音源方向への死角を用いて方向推定を行なう方式では、方向とゲインとの関係のパターンにおいてどの程度の深さの極小部を「音源方向に対応した死角」と見なすかが課題であり、その判別を閾値で行なおうとすると、トレードオフが存在していた。その結果、方向推定に基づく区間検出においても、検出失敗(非検出や区間分断)と誤検出とを共に抑制するのが困難であった。
【先行技術文献】
【特許文献】
【0037】
【特許文献1】特許4182444号公報
【特許文献2】特許4282704号公報
【特許文献3】特開2010−121975号公報
【特許文献4】特開2008−175733号公報
【発明の概要】
【発明が解決しようとする課題】
【0038】
本件は、このような状況に鑑みてなされたものであり、音源方向推定を適用した音声区間検出を行なう構成において、検出失敗(非検出や区間分断)や誤検出を抑制して高精度な音声区間検出を実現する音信号処理装置、および音信号処理方法、並びにプログラムを提供することを目的とする。
【課題を解決するための手段】
【0039】
本発明の第1の側面は、
所定時間単位で分割したブロック毎に、音信号の音源方向を示す方向点を検出する方向推定部と、
前記方向点を複数ブロック間で接続して区間の検出を行う方向トラッキング部を有し、
前記方向推定部は、
音源方向に対する感度(ゲイン)の低い空間フィルタである死角フィルタと、音源方向に対する感度(ゲイン)の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成部と、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部と、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成部と、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出部を有する音信号処理装置にある。
【0040】
さらに、本発明の音信号処理装置の一実施態様において、前記空間フィルタ生成部は、音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、算出した最大の固有値に対応する固有ベクトルを用いて前記指向性フィルタを生成する。
【0041】
さらに、本発明の音信号処理装置の一実施態様において、前記空間フィルタ生成部は、音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、算出した固有ベクトルに対して固有値を重みとした重みつき総和または重み付き平均により前記指向性フィルタを生成する。
【0042】
さらに、本発明の音信号処理装置の一実施態様において、前記空間フィルタ生成部は、音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、固有ベクトルからなる行列V(ω)と、固有値からなる対角行列D(ω)を用いた演算処理らにより、変形済行列V'(ω)を算出し、算出した変形済行列V'(ω)の各行のいずれかを用いて死角フィルタを生成する。
【0043】
さらに、本発明の音信号処理装置の一実施態様において、前記方向点検出部は、新たな方向点検出処理対象とするブロックの近傍ブロック群における死角パターンの最小値に基づいて計算した動的閾値を適用して、死角パターンにおける極小部を方向点とするか否かの選択を実行する。
【0044】
さらに、本発明の音信号処理装置の一実施態様において、前記方向点検出部は、死角パターンの極小部の値が対応する指向性パターンの極大部の値よりも小さいという条件を満たす方向点を強い方向点とし、前記条件を満たさない方向点を弱い方向点として区別し、作成中の区間の内側にある弱い方向点は音源方向を示す方向点として選択し、作成中の区間の外側にある弱い方向点は音源方向を示す方向点として選択しない処理を行う。
【0045】
さらに、本発明の音信号処理装置の一実施態様において、前記方向点検出部は、死角パターンの極小部の値が対応する指向性パターンの極大部の値よりも小さいという条件を満たす方向点を強い方向点とし、前記条件を満たさない方向点を弱い方向点として区別し、作成中の区間の延長と確定処理においては、強い方向点と弱い方向点の双方を、音源方向を示す方向点として選択し、新規の区間の作成開始時には、強い方向点のみを音源方向を示す方向点として選択する処理を行う。
【0046】
さらに、本発明の第2の側面は、
音信号処理装置において実行する音信号処理方法であり、
方向推定部が、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定ステップと、
方向トラッキング部が、前記方向点を複数ブロック間で接続して区間の検出を行う方向トラッキングステップを実行し、
前記方向推定ステップは、
音源方向に対する感度の低い空間フィルタである死角フィルタと、音源方向に対する感度の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成ステップと、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部ステップ、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成ステップと、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出ステップを実行する音信号処理方法にある。
【0047】
さらに、本発明の第3の側面は、
音信号処理装置において音信号処理を実行させるプログラムであり、
方向推定部に、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出させる方向推定ステップと、
方向トラッキング部に、前記方向点を複数ブロック間で接続して区間の検出を行わせる方向トラッキングステップを実行させ、
前記方向推定ステップにおいては、
音源方向に対する感度の低い空間フィルタである死角フィルタと、音源方向に対する感度の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成ステップと、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部ステップ、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成ステップと、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出ステップを実行させるプログラムにある。
【0048】
なお、本発明のプログラムは、例えば、様々なプログラム・コードを実行可能な画像処理装置やコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なプログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、情報処理装置やコンピュータ・システム上でプログラムに応じた処理が実現される。
【0049】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【0050】
本発明の一実施例の構成によれば、音信号からの発話区間の検出処理を高精度に実行する装置、方法が実現される。具体的には、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定部と、方向点を複数ブロック間で接続して区間の検出を行う方向トラッキング部を有する。方向推定部は、音源方向に対する感度の低い空間フィルタである死角フィルタに対応する方向とゲインとの対応関係データである死角パターンと、音源方向に対する感度の高い空間フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成し、死角パターンの極小部と指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する。この処理により、より精度の高い音声区間検出が実現される。
【図面の簡単な説明】
【0051】
【図1】音源方向推定を用いた音声区間検出方式の概要について説明する図である。
【図2】音源方向に死角を向けた空間フィルタ(図3)を生成するために用いた観測信号の収録状況を示す図である。
【図3】音源方向に死角を向けた空間フィルタの指向特性、すなわち、方向(横軸)とゲイン(縦軸)との関係をプロットした図である。
【図4】発話中に音源の個数が変化する場合の問題について説明する図である。
【図5】あるブロックにおいて、死角パターンと指向性パターンとを重ねてプロットした図である。
【図6】横軸が時間、縦軸が方向を示し、予め規定した時間間隔に区切られたブロック単位で、音の検出方向を方向点としてプロットした図である。
【図7】図2の環境で収録された音から共分散行列および固有ベクトルを計算し、それぞれの固有ベクトルについて指向特性を求めて得られたパターンを示す図である。
【図8】ステアリングベクトルの生成方法について説明する図である。
【図9】各ブロックで検出された方向点と、方向点を接続して得られる区間を示し、区間の内外で「弱い方向点」の扱いを変える処理について説明する図である。
【図10】音信号処理装置の全体構成を示す図である。
【図11】図10に示すモジュール中の方向推定部305の詳細について説明する図である。
【図12】方向推定部305の出力する方向点情報327の具体例について説明する図である。
【図13】図10に示す音信号処理装置の方向トラッキング部306の構成と処理について説明する図である。
【図14】方向トラッキング部306の生成する区間情報の構成データの一例について説明する図である。
【図15】音信号処理装置において実行する全体の処理について説明するフローチャートを示す図である。
【図16】図10に示すSTFT部303の実行する短時間フーリエ変換(STFT)処理の詳細について説明する図である。
【図17】図10に示す方向推定部305の実行する方向推定処理の詳細シーケンスについて説明するフローチャートを示す図である。
【図18】図15に示す全体処理フローにおけるステップS107の方向トラッキング処理の詳細シーケンスについて説明するフローチャートを示す図である。
【図19】図18に示すフローのステップS301の「区間の延長・確定」処理の詳細シーケンスについて説明するフローチャートを示す図である。
【図20】多重採用のチェックを行なう理由について説明する図である。
【図21】図19に示す処理フローにおけるステップS407の「区間の出力・棄却」処理の詳細について説明するフローチャートを示す図である。
【図22】図18に示すフローに示すステップS302の「新規区間作成」ステップの詳細シーケンスについて説明するフローチャートを示す図である。
【図23】「音声らしさ」に基づく音声区間検出と、本発明の音声区間検出処理と組み合わせた構成について説明する図である。
【発明を実施するための形態】
【0052】
以下、図面を参照しながら音信号処理装置、および音信号処理方法、並びにプログラムの詳細について説明する。
説明は以下の項目に従って行う。
1.本開示における音信号処理の概要について
2.本開示における音信号処理の詳細について
2−1.死角パターンと指向性パターンとの併用構成
2−2.区間の状態に応じた方向点検出条件の変更構成
2−3.新規の死角フィルタと指向性フィルタ
3.音信号処理装置の構成と処理について
4.音信号処理装置の実行する処理シーケンスについて
5.その他の実施例(変形例)について
6.効果のまとめ
【0053】
なお、明細書中において、
A_bは、Aに下付きの添え字bが設定された表記、
A^bは、Aに上付きの添え字bが設定された表記、
これらを意味する。
【0054】
[1.本開示における音信号処理の概要について]
以下において説明する音信号処理は、音源方向推定に基づく音声区間検出を行うものであり、検出失敗(非検出や区間分断)や誤検出を抑制した高精度な音声区間検出を実現するものである。
【0055】
先に説明した従来技術では、音源方向を求める際に死角パターンのみを用いているために、検出失敗、例えば実際の発話の非検出や一つの音声区間を複数に分断して検出してしまうといった失敗や、誤検出を発生させている。
以下、説明する構成では、死角パターンのみならず他の情報を併用した処理により音声区間の検出失敗(非検出や区間分断)や誤検出を回避する。また、トラッキングで得た区間情報を方向点の検出に反映させることで、区間検出の精度を向上させる。
【0056】
以下に説明する音信号処理は、以下のような特徴(特徴1〜3)を持つ。
(特徴1.死角パターンと指向性パターンとの併用)
音源方向に死角を向けた空間フィルタの他に音源方向に指向性を向けた空間フィルタも生成し、それぞれについて方向とゲインとについてのパターンを求める。それぞれ、を「死角パターン」と「指向性パターン」と呼ぶ。
方向点の検出は、両方のパターンを用いて行なう。
【0057】
(特徴2.区間の状態に応じた方向点検出条件の変更)
区間開始の判定と区間終了の判定とで、方向点の検出についての条件を変える。
なお、以降では、
音源方向に指向性を向けた空間フィルタを「指向性フィルタ」と呼ぶ。
また、「指向性フィルタ」によって得られた方向とゲインとについてのパターンを「指向性パターン」と呼ぶ。
すなわち、以下に説明する構成では、音源方向に対する指向性が低い「死角フィルタ」と、「死角フィルタ」によって得られた方向とゲインとについてのパターンである「死角パターン」だけでなく、これらと逆の特性を持つ「指向性フィルタ」と「指向性パターン」も用いるのが特徴の一つである。
さらに、死角フィルタと指向性フィルタの生成についても、以下の工夫を行なう。
【0058】
(特徴3.新規の死角フィルタと指向性フィルタ)
死角フィルタと指向性フィルタとについて、観測信号の共分散行列から計算された固有ベクトルを直接用いる代わりに、後述のように加工したベクトルを用いる。
【0059】
[2.本開示における音信号処理の詳細について]
以下、本開示における音信号処理の詳細について、上記の各特徴順に、順次説明する。
(2−1.死角パターンと指向性パターンとの併用構成)
まず、死角パターンと指向性パターンとの併用構成について説明する。
図5は、あるブロックにおいて、死角パターンと指向性パターンとを重ねてプロットしたものである。それぞれのパターンの作成方法については後述する。
【0060】
なお、ブロックとは、先に図1を参照して説明したブロメック11と同様のブロックである。ブロックの長さは、通常の発話の長さと比べて十分短い値とする。例えば1/10秒や1/8秒に設定する。
【0061】
図5には、あるブロックにおける以下の2つのパターンを示している。
(a)音源方向に対する感度の高い空間フィルタである「指向性フィルタ」によって得られた方向とゲインとについてのパターンである指向性パターン101、
(b)音源方向に対する感度の低い空間フィルタ、すなわち音源方向に死角を設定した空間フィルタである「死角フィルタ」によって得られた方向とゲインとについてのパターンである死角パターン51、
これら2つのパターンの方向(横軸)とゲイン(縦軸)との関係をプロットしている。縦軸は対数としている。
【0062】
死角パターン51は、先に図3を参照して説明した死角パターン31と同一の死角パターンであり、音源方向に対する感度の低い特性を持つ。図5に示す極小部52〜57は、図3に示す極小部32〜37にそれぞれ対応する。これら極小部52〜57の設定された方向を音源方向であるとの推定が可能となる。
【0063】
一方、指向性パターン101は同じブロックにおける指向性パターンである。指向性パターン101は、ブロック内の音源の方向に指向性(ゲインの極大部(Local Maximum))を持つ。ただし、音源方向に対応しない極大部も存在する。図に示す指向性パターン101は、極大部102〜105の4つの極大部を有している。これら極大部102〜105の設定された方向が音源方向であると推定することが可能となる。
【0064】
死角パターン51側が極小部となり、かつ指向性パターン101側が極大部となる方向を見つけ出すことで、音源方向を精度よく検出できる。
例えば図5に示す例では、死角パターン51には極小部52〜57の6個の極小部が存在しているが、これらの極小部52〜57と同じ方向(θ)付近に指向性パターン101の極大が明らかに存在しているのは、極小部52と、極小部53の2つである。
【0065】
すなわち、図5から理解されるように、
死角パターン51の極小部52とほぼ同じ方向(方向:θ=p,111)に、指向性パターン101の極大部103が存在する。
また、死角パターン51の極小部53とほぼ同じ方向(方向:θ=q,112)に、指向性パターン101の極大部104が存在する。
【0066】
なお、死角パターン51の極小部55についてもほぼ同じ方向(方向:θ=r,113)に、指向性パターン101の極大部105が存在するが、この方向については、真の音源方向でないと判定することが可能である。この方向棄却処理については、後段の[3.区間の状態に応じた方向点検出条件の変更]の項目において説明する。
【0067】
真の音源に対応する方向点をできる限り正確に抽出するため、以下の条件(条件1〜5)を用いた判定処理を実行する。
すなわち、音信号処理装置は、各方向について、以下に示す(条件1)〜(条件5)を全て満たす方向であるか否かを判定し、(条件1)〜(条件5)を全て満たす方向である場合に、初めて方向点、すなわち音源の方向を示す方向点とみなす処理を実行する。
(条件1)死角パターンにおいて極小部に対応した方向である。
(条件2)極小部の値の小さい順の1位〜n−1位の範囲に含まれる。(マイク数=n)
(条件3)極小部の値の大きさは、予め規定した閾値より小さい。
(条件4)極小部に対応した方向の付近に、指向性パターンの極大部が存在する。
(条件5)直近のブロック群における死角パターンの最小値から動的に計算した閾値に基づく判定条件を満たす。(動的閾値に従った判定条件)
【0068】
以下、上記の各条件1〜5について説明する。
(条件1)死角パターンにおいて極小部に対応した方向である。
従来法と同様に本発明でも、死角パターンの極小部を最初に見つける。
【0069】
(条件2)極小値の小さい順の1位〜n−1位の範囲に含まれる。(マイク数=n)
さらに、上記(条件1)に従って検出した死角パターンにおける極小部について、極小値の小さい順に1位〜n−1位を残す。
例えば、図5に示す死角パターン51は、n=4、すなわち、4個のマイクロホンで収録された信号から生成しているため、極小部の値(ゲイン値)の小さい順に1位〜3位の極小部を残す。
この極小部選択処理の結果、選択される極小部は、極小部52,53,55の3個の極小部となる。
【0070】
条件1を式で表わすと、以下に示す式[1.1]となる。
【0071】
【数1】

【0072】
ただし、上記式[1.1]において、
P_N(θ_i)は現在着目しているブロックにおける死角パターンである。
死角パターンの角度(方向)は離散的(例えば−180°から+180°まで5°間隔)でよく、それらの値をθ_1,θ_2,...,θ_i,...とする。
角度θ_iにおいてP_N(θ_i)が極小値であることは、両隣の角度であるθ_{i−1}およびθ_{i+1}と比較して式[1.1]が成立しているかで判定できる。
【0073】
なお、角度の間隔(刻み幅)が小さい場合は、式[1.1]の代わりに式[1.2]を用いて隣の隣も考慮した方が、細かな凹凸を死角と誤検出する可能性が少なくなる。
【0074】
(条件3)極小値の大きさは、予め規定した閾値より小さい。
条件1,2に基づいて残った死角パターンの極小部に対して、予め規定した閾値による選別を行なう。
具体的には、予め規定した固定閾値:T_{static}を適用して、上記の式[1.3]に従って判別を行なう。閾値による選別という手段自体は従来法と同一だが、本発明では閾値の目的と設定方法が従来法と異なる。
【0075】
従来法における閾値は、音源が存在するブロックにおいて方向点を絞り込むために用いられていた。そのため、閾値の設定がシビアであった。それに対して本発明では、静かな環境(明確な音源が存在しない環境)において方向点が誤検出されるのを防ぐために用いられる。すなわち、静かな環境では、死角パターンにも指向性パターンにも明確な極値(極小または極大)が1つも存在しないため、それぞれの細かな凹凸から方向点が誤検出されてしまう可能性があるが、閾値によってその誤検出を防ぐ。この閾値は、静かな環境において方向点が検出されない程度の値を1回だけ設定すれば良いため、従来法にける閾値と比べ、設定は容易である。
閾値の例を図5の閾値120として示す。
【0076】
(条件4)極小部に対応した方向の付近に、指向性パターンの極大部が存在する。
次に、条件4について説明する。条件1〜3による選別によって残った極小部に対して、それぞれの付近に指向性パターン側の極大が存在しているかどうかを調べる。極大の位置と極小の位置とは必ずしも一致せず、少しずれることもあるため、この判定はマージンつきで行なう。
【0077】
具体的には、極小部の位置をθ_i、マージンをβとし、以下の式を満たすθ_{i'}について、上記の式[1.4]を満たすものが存在するかどうかで判定する。
θ−β≦θ_{i'}≦θ+β
ただし、P_D(θ_i)は、同じブロックの指向性パターンを表わす。
なお、式[1.1]の場合と同様に、式[1.4]の代わりに式[1.5]を用いても良い。
【0078】
図5の例では、死角パターン51における極小部52,53,55に対応した方向、すなわち、方向:θ=p,111,方向:θ=q,112,方向:θ=r,113それぞれについて指向性パターン101を見ると、いずれも極大部が存在している。
すなわち、
死角パターン51における極小部52に対する指向性パターン101の極大部103、
死角パターン51における極小部53に対する指向性パターン101の極大部104、
死角パターン51における極小部55に対する指向性パターン101の極大部105、
これらの対応関係である。
これらの対応関係を持つ死角パターン51における極小部52,53,55を真の音源方向の候補として残す。
【0079】
(条件5)直近のブロック群における死角パターンの最小値から動的に計算した閾値に基づく判定条件を満たす。(動的閾値に従った判定条件)
さらに方向点を絞り込むため、条件5も用いる。
これは、例えば騒がしい環境において方向点が誤検出されるのを防ぐための条件である。方向推定に基づく音声区間検出という方法は、騒がしい環境(背後に多数の音源が存在している環境)でも、マイクロホンの近くの音源に対してはある程度は動作する。ただし、条件1〜4だけでは背後の音源も方向点として検出されてしまうため、それを防ぐために閾値を動的に変化させる。その仕組みを、図6を用いて説明する。
【0080】
図6は、先に図1を参照して説明した図1(c)に対応する図であり、横軸が時間、縦軸が方向を示す。予め規定した時間間隔に区切られたブロック単位で、音の検出方向を方向点としてプロットしている。
図6では途中のブロックまで方向点が求まった状態を表わしている。
【0081】
すなわち、ブロックB2,152までは解析(方向点の検出)が完了し、その隣接ブロックであるブロックB,151のブロックを現在解析中であるとする。ここで、直近のブロック群154の情報を用いて閾値を計算する。具体的には、b番目のブロックの死角パターンをP_N^[b](θ)、現在解析中のブロックB3,151の番号をB、直近のブロック群154のブロック数をB0とし、式[1.6]〜式[1.7]で閾値を計算する。
【0082】
式[1.6]は、bをB−B0(=ブロックB1)からB−1(=ブロックB2)まで変化させながら角度θを任意の範囲(例えば−πから+πまで)で変化させたときの最小値を表わす。こうして求まった値をP_{min}とし、これに一定の係数αを乗じた値を動的閾値:T_{dynamic}とする(式[1.7])。
αは0.1や0.2といった、0と1との間の値を用いる。そして、式[1.8]によって判別を行なう。
【0083】
死角パターンは、最大値が0となるように調整してある(後述)ため、最小値は必ず負の値である。最小値に対して係数αを乗じることは、閾値を最大値と最小値との間に設定することを意味する。この動的閾値:T_{dynamic}を用いることで、騒がしい環境では閾値が、先に説明した(条件3)で用いた固定閾値:T_{static}よりも小さな値に設定されるため、死角パターンにおいて浅い凹みが方向点として誤検出されるのを防ぐ。
【0084】
ただし静かな環境では、動的閾値:T_{dynamic}を用いることで閾値が(条件3)で用いた固定閾値:T_{static}よりもかえって大きな値に設定されてしまい、誤検出が増える副作用もあるため、引き続き(条件3)(式[1.3])も用いる。こうすることで、T_{dynamic}とT_{static}とのうちで小さい方が真の閾値として機能するため、騒がしい環境でも静かな環境でも誤検出が防げる。
【0085】
このように、方向点検出処理に際しては、新たな方向点検出処理対象とするブロックの近傍ブロック群における死角パターンの最小値に基づいて計算した動的閾値を適用して、死角パターンにおける極小部を方向点とするか否かの選択を実行する。
【0086】
ここで、死角パターンと指向性パターンそれぞれの生成方法について述べる。
死角パターンの生成方法は従来のMUSIC法とほぼ同様であり、観測信号の共分散行列に対応した固有ベクトルのうち、最小の固有値に対応したものの指向特性を調べることで行なう。一方、指向性パターンの生成方法は、固有ベクトルのうち、最大の固有値に対応したものの指向特性を調べることで行なう。
その過程について、以下に示す式[2.1]〜[2.8]を参照しながら説明する。
【0087】
【数2】

【0088】
n本のマイクロホン中のk番目のマイクロホンで観測された信号に短時間フーリエ変換(Short Time Fourier Transform:STFT)を適用した結果をXk(ω,t)とし、X1(ω,t)〜Xn(ω,t)からなるベクトルをX(ω,t)とおく(式[2.1])。
ただし、
ωは周波数ビンの番号(ω=1,2,…,M)、
tはフレームの番号である。
【0089】
次に、周波数ビンωごとに、複数のフレームからX(ω,t)の共分散行列R(ω)を計算する(式[2.2])。
ただし、式[2.2]において、
<・>_{t−L'<τ≦t}は、
t−L'<τ≦tを満たすフレームの間でカッコ内の式の平均をとることを表わす。
tはブロックの末端のフレーム番号(例えば図6のブロックB151の末端156のフレーム番号)、L'はブロックの長さ(フレーム数)、
t−L'+1はブロックの始端のフレーム番号(例えば図6のブロックB151の始端155のフレーム番号)を表わす。
上記式[2.2]に従って算出される共分散行列を、R(ω)とする。
【0090】
次に、共分散行列R(ω)に対して固有値分解(Eigenvalue decomposition)を適用する(式[2.3])。
式[2.3]において、
D(ω)は固有値からなる対角行列であり(式[2.5])、
V(ω)は固有ベクトルV_1(ω)〜V_n(ω)からなる行列である。
また、上付きのHはエルミート転置(要素を共役複素数に変換してから転置)を表わす。
共分散行列R(ω)はR(ω)^H=R(ω)を満たすため、固有値d_1(ω)〜d_n(ω)は全て実数であり、これらは大きい順に並んでいるものとする(式[2.6])。
固有ベクトルV_1(ω)〜V_n(ω)の大きさは1であり、またお互いに直交しているとする。
すなわち、式[2.7]および式[2.8]を満たす。
【0091】
共分散行列の計算に用いたブロック内で鳴っている音源の数をNとすると、固有値および固有ベクトルは、前半のd_1(ω)〜d_N(ω)およびV_1(ω)〜V_N(ω)と、後半のd_{N+1}(ω)〜d_n(ω)およびV_{N+1}(ω)〜V_n(ω)とに二分され、両者で性質が大きく異なる。
【0092】
前半の固有値d_1(ω)〜d_N(ω)は、後半のd_{N+1}(ω)〜d_n(ω)と比べて大きな値を持つ(以降、「大きな固有値」)。また、大きな固有値に対応した固有ベクトルV_1(ω)〜V_N(ω)は、空間フィルタとして解釈すると、ブロック内の音源に指向性を向けた指向特性を形成している(詳細は後述する)。
【0093】
一方、後半の固有値d_{N+1}(ω)〜d_n(ω)は、0に近い値を持つ(以降、「小さな固有値」)。小さな固有値に対応した固有ベクトルV_{N+1}(ω)〜V_n(ω)は、同じく空間フィルタとして解釈すると、ブロック内の全ての音源に死角を向けた指向特性を形成している。
【0094】
実際、図2の環境で収録された音から共分散行列および固有ベクトルを計算し、それぞれの固有ベクトルについて後述の方法で指向特性を求めると、図7のプロットが得られる。
【0095】
図7において、指向特性パターン201〜204はぞれぞれ、固有ベクトルV_1(ω)〜V_4(ω)に対応した指向特性パターンである。
この環境での音源数は2個なので、固有ベクトルは、
V_1(ω),V_2(ω)の組と、
V_3(ω),V_4(ω)の組に
二分される。
【0096】
後者(固有ベクトルV_3(ω),V_4(ω)の組)に対応した指向特性パターン203,204を見ると、極小部211〜214がこれらの方向に存在していることから、二つの音源方向:θ=A,221と、θ=B,222に死角を向けていることが分かる。
【0097】
一方、前者(固有ベクトルV_1(ω),V_2(ω)の組)に対応した指向特性パターン201,202のうち、少なくとも固有ベクトルV_1(ω)に対応した指向特性パターン201については、極大値215,216に基づいて二つの音源方向:θ=A,221と、θ=B,222に指向性を向けていることが分かる。
【0098】
そこで本発明では、死角フィルタ(音源方向に死角を向けた空間フィルタ)として、最小の固有値に対応した固有ベクトルV_n(ω)を用い(これは従来法と同じ)、一方で、指向性フィルタ(音源方向に指向性を向けた空間フィルタ)として、最大の固有値に対応した固有ベクトルV_1(ω)を用いる。
【0099】
次に、各空間フィルタの指向特性を調べる方法について述べる。指向特性を求めるためには、様々な方向から到来する信号を仮想的に生成する必要があるが、重要なのはマイクロホン間での位相差であり、それをステアリングベクトル(Steering Vector)と呼ぶ。ステアリングベクトルの生成方法を、図8および以下に示す式[3.1]〜[3.9]を参照して説明する。
【0100】
【数3】

【0101】
図8には、音信号処理装置に対する音信号入力部としてのマイクロホンk,253と、マイクロホンi,254を示している。また、方向を測るための基準点252を示している。
基準点262はマイクロホンの近くの任意の地点でよく、例えばマイクロホン間の重心と一致させた基準点の設定や、あるいはマイクロホンのどれかと一致させた基準点の設定とするなど、様々な設定としてよい。基準点252の位置ベクトル(すなわち座標)をmとする。
【0102】
音の到来方向を表わすために、基準点m,252を始点とする長さ1のベクトルを設定し、このベクトルをq(θ)とする。図に示す方向ベクトルq(θ)251である。
音源位置がマイクロホンとほぼ同じ高さであるなら、方向ベクトルq(θ)251はX−Y平面上(垂直方向をZ軸とする)のベクトルとして考えればよく、方向ベクトルq(θ)の成分は、上記の式[3.1]で表わせる。
ただし方向θは、X軸となす角である(図8(座標およびベクトル設定参考図)参照)。
【0103】
図8において、方向ベクトルq(θ)251の方向から到来する音は、先にマイクロホンk,253に到着し、次に基準点m,252、それからマイクロホンi,254に到着する。
【0104】
基準点m,252に対するマイクロホンk,253の位相差S_k(ω,θ)は、上記の式[3.2]で表わせる。ただしこの式において、
jは、虚数単位、
Mは、周波数ビン数、
Fは、サンプリング周波数、
Cは、音速、
m_kは、マイクロホンkの位置ベクトル、
を表わし、
上付きのTは通常の転置を表わす。
すなわち、平面波を仮定すると、マイクロホンk,253は基準点m,252よりも図8に示す距離255の分だけ音源に近く、逆にマイクロホンi,254は図8に示す距離256の分だけ遠い。
【0105】
これらの距離差は、ベクトルの内積を用いて
q(θ)^T(m_k−m)、および、
q(θ)^T(m_i−m)
と表わせる。
距離差を位相差に変換すると、上記の式[3.2]で示す基準点m,252に対するマイクロホンk,253の位相差:S_k(ω,θ)の算出式が得られる。
【0106】
各マイクロホンの位相差からなるベクトルS(ω,θ)は、上記の式[3.3]で表わされ、これをステアリングベクトルと呼ぶ。
【0107】
周波数ビンωにおいて音源方向に死角を向けた空間フィルタをW_N(ω)とする(W_N(ω)は行ベクトル)と、角度θから到来する音に対するゲインは、
|W_N(ω)S(ω,θ)|
である。
【0108】
角度θを一周分(例えば−πから+πまで所定の刻み幅で)変化させれば、指向特性(到来方向とゲインとの関係)が分かる。
本発明では、死角パターン生成用の空間フィルタである死角フィルタW_N(ω)として、最小の固有値に対応した固有ベクトルV_n(ω)のエルミート転置を用い(式[3.4])、そこからゲインの対数P_N(ω,θ)を計算する(式[3.5])。
さらに、全周波数ビンで総和することで死角パターンP_N(θ)を生成している(式[3.6])。
【0109】
同様に、指向性パターン生成用の空間フィルタ、すなわち指向性フィルタW_D(ω)として、最大の固有値に対応した固有ベクトルV_1(ω)のエルミート転置を用い(式[3.7])、そこからゲインの対数P_D(ω,θ)を計算する(式[3.8])。さらに、全周波数ビンで総和することで指向性パターンP_D(θ)を生成している(式[3.9])。
【0110】
なお、死角フィルタW_N(ω)の添え字Nは、Null beam(死角)、指向性フィルタW_D(ω)の添え字Dは、Directivity(指向性)に由来するものである。
【0111】
また、死角パターンP_N(θ)を示す式[3.6]、および、指向性パターンP_D(θ)を示す式[3.9]において、それぞれmax_θP_N(ω,θ)およびmax_θP_D(ω,θ)を減算している理由は、各周波数ビンでの指向特性の最大値を0に合わせるためである。これを行なうことで、死角パターンと指向性パターンとの間で大小比較が可能になる。
【0112】
(2−2.区間の状態に応じた方向点検出条件の変更について)
次に、区間の状態に応じた方向点検出条件の変更について説明する。
音声区間検出においては、誤検出(発話していないのに検出される)は少ない方が望ましい。一方で、1つの発話が複数の区間に分断されるのは望ましくない。
しかし、方向点の検出条件が固定されている場合、この 2つはトレードオフになり得てしまう。そこでトレードオフを解消するため、本発明ではトラッキングの状態(発話区間内か否か)に応じて、方向点の検出条件を変更する。
【0113】
具体的には、前述の条件1〜5に加えて以下の条件6も設定し、区間の始端の検出においては、以下の条件6も考慮に入れる一方、区間の途中や終端の検出においては条件6を考慮しないようにする。
(条件6)死角パターンの極小部の値の方が、対応する指向性パターンの極大部の値よりも小さい。
【0114】
以下では、条件1〜6をすべて満たす方向点を「強い方向点」、条件1〜5を満たすが条件6を満たさない方向点を「弱い方向点」と呼ぶ。(単に「方向点」とした場合は両方を含む。)
例えば図5において、
方向:θ=p,111と、方向:θ=q,112の各方向では、上記の(条件6)を満たしており、「強い方向点」である。
しかし、方向:θ=r,113の方向では、上記の(条件6)を満たしておらず、「弱い方向点」となる。
【0115】
以下では、条件6を用いる理由について説明する。
「強い方向点」は本当の音源方向に対応している可能性が高い。それに対し、
「弱い方向点」については以下のような様々な可能性があり得る。
(1)死角パターンの極小と指向性パターンの極大とがたまたま一致した。(音源ではない)
(2)音声発話の開始直後や終了直後に対応したブロック。(音源である)
(3)発話途中の短い無音区間。
(4)他の音源との兼ね合いによって死角が相対的に浅くなった。(音源である)
(5)冷却ファンの音のような、小さいながらも定常的に鳴り続けている音。(音源であるが、検出して欲しくない。)
(6)小さな音が一瞬だけ鳴った。(音源であるが、検出して欲しくない。)
【0116】
上記(2),(3),(6)から「弱い方向点」が発生する原因は同一であり、1つのブロックにおいて音源の鳴っている区間がブロック長よりも短いと「弱い方向点」が発生しやすいからである。
【0117】
「弱い方向点」を方向点として採用すべきか否かは、上記(1)〜(6)のそれぞれで異なる。(1)や(6)では棄却した方が良いが、(3)や(4)で棄却すると、「従来技術の問題点」で述べたような「区間の分断」が発生しやすくなるというトレードオフがある。
【0118】
そこで本構成では、区間の内外で「弱い方向点」の扱いを変える。
この処理について図9を参照して説明する。
図9は、例えば先に説明した図1(d)と同様の図であり、各ブロックで検出された方向点と、方向点を接続して得られる区間を示している。ブロックの区切りは省略してある。
図9において、円は方向点を表わし、塗りつぶされた円で示す方向点275などは「強い方向点」を、斜線の円で示す方向点271〜274は「弱い方向点」を表わす。
【0119】
区間276は、方向点を接続して得られた区間である。方向点271のような単独で現れる「弱い方向点」は、上記の(1)か(6)である可能性が高く、方向点273のような、「強い方向点」が連続する途中で現れる「弱い方向点」は、上記の(3)か(4)である可能性が高い。
そこで「弱い方向点」は、区間の内側にあれば採用し、外側にあれば棄却する。図9では、弱い方向点273,274は方向点として採用し、弱い方向点271,272は棄却する。このような「弱い方向点」に対する選択処理を実行することで、「強い方向点」が連続する途中で現れる弱い方向点273による分断を防ぐ一方で、「強い方向点」から離間した位置の弱い方向点271を方向点とみなしてしまう誤検出も防ぐ。
【0120】
なお、この(条件6)を適用した方法では、発話開始直後の弱い方向点272も棄却してしまう。この棄却処理によって、発話区間の始端の検出が遅れるという副作用が発生するが、この副作用に対しては発話開始時刻にマージンを持たせることで容易に回避可能である。すなわち、発話は始端が検出されたブロックよりも少し前から始まっていたと見なす処理を適用すればよい。
【0121】
(2−3.新規の死角フィルタと指向性フィルタについて)
次に、新規の死角フィルタと指向性フィルタの詳細について説明する。
先に説明した(2−1.死角パターンと指向性パターンとの併用構成)の項目では、死角フィルタと指向性フィルタとして、それぞれ以下の設定のフィルタを用いていた。
死角フィルタW_N(ω)として、最小の固有値に対応した固有ベクトルV_n(ω)のエルミート転置(式[3.4])。
指向性フィルタW_D(ω)として、最大の固有値に対応した固有ベクトルV_1(ω)のエルミート転置(式[3.7])。
【0122】
このように、V_n(ω)とV_1(ω)を使用していたが、本来は、使用可能な固有ベクトルは、それぞれn−N本とN本である(nはマイク数、Nはブロック内の音源数)。もし、複数の固有ベクトルが使用できれば、それぞれの指向特性のプロットにおいて、極大や極小が一層明確に現れたり細かな凹凸が消えたりして、方向点検出の精度向上が期待できる。
【0123】
しかし、指向特性パターンの生成前から音源数Nを正確に推定するのは、それ自体が大きな課題である。そこで本発明では、音源数の推定なしで複数の固有ベクトルを空間フィルタに反映させるため、以下のような工夫を行なう。
【0124】
指向性フィルタW_D(ω)として、式[3.7]の代わりに、以下に示す式[4.1]を用いる。
【0125】
【数4】

【0126】
上記[4.1]に示す式は、各固有ベクトルのエルミート転置V_k(ω)^Hに対して、固有値d_k(ω)を重みとして乗算して加算した重みつき和であり、大きな固有値に対応した固有ベクトルほど、指向性フィルタW_D(ω)に強く反映される。
大きな固有値に対応した固有ベクトルは音源方向に指向性を向けているため、W_D(ω)も音源方向に指向性を向けた空間フィルタとなる。
【0127】
指向性フィルタの生成に際しては、このように、音信号から生成される時間周波数領域の観測信号からブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、算出した固有ベクトルに対して固有値を重みとした重みつき総和または重み付き平均により指向性フィルタを生成することができる。
【0128】
一方、死角フィルタW_N(ω)のためには、式[4.2]によって、先に、式[2.4]で説明した固有ベクトルV_1(ω)〜V_n(ω)からなる行列V(ω)と、式[2.5]で説明した固有値からなる対角行列D(ω)を用いて、変換済行列V'(ω)を計算する。
このV'(ω)の各行のうちのどれかを、死角フィルタW_N(ω)として用いる。
なお、式[4.2]は、先に式[2.2]を参照して説明した共分散行列R(ω)の−1/2乗を求める式と等しいが、V'(ω)の各行を空間フィルタとして見なすと、ブロック内の全ての音源に死角を向けたものになっている。
【0129】
[3.音信号処理装置の構成と処理について]
次に、音信号処理装置の構成と処理について説明する。
音信号処理装置の構成と処理について、図10〜図14を参照して説明する。
図10は、音信号処理装置の全体構成を示す図であり、図11〜図14は各モジュールの詳細を示す図である。
【0130】
(3−1.音信号処理装置の全体構成と処理について)
まず、図10を参照して音信号処理装置の全体構成と処理について説明する。
音信号はマイクロホンアレイ301で収音され、得られた多チャンネルの音データはAD変換部302においてデジタル信号へ変換される。このデータを(時間領域の)観測信号と呼ぶ。
【0131】
次に、STFT部303において短時間フーリエ変換(short−time Fourier transform: STFT)が適用され、観測信号は時間周波数領域の信号へ変換される。時間周波数領域の観測信号は、観測信号バッファ304と方向推定部305とに送られる。なお、短時間フーリエ変換(short−time Fourier transform: STFT)の具体的処理例については、後段において、図16を参照して説明する。
【0132】
観測信号バッファ304は、所定の時間(フレーム数)の観測信号を蓄積する。ここで蓄積された信号は、検出された発話区間の開始時刻・終了時刻と合わせて一発話分の音声データを得るために使用したり、さらに区間の方向も用い、所定の方向から到来した音声を抽出した結果を得るために使用したりする。
【0133】
方向推定部305は、観測信号を所定の長さのブロックに分割すると共に、各ブロックにおいて音源方向に対応した点を検出する。すなわち、先に図1を参照して説明した図1(b),(c)のデータを生成するモジュールである。詳細は後述する。
【0134】
方向トラッキング部306は、連続する複数のブロック間においてほぼ同一の方向を持つ方向点が現れているときに、それらを連結し、発話区間として検出する。すなわち、先に説明した図1における(d)のデータを生成するモジュールである。詳細は後述する。
【0135】
方向トラッキングの出力は発話区間、すなわち、発話開始時刻・終了時刻および発話方向(音源方向)である。言い換えると、複数の区間に重複がある場合、その区間では複数の音が混ざっている。そこで、混ざっていないクリーンな音源が必要な場合(例えば音声認識の前段として本発明を用いる場合など)は、音源抽出部307を備えるようにする。
【0136】
音源抽出部307は、発話区間に対応した観測信号や音源方向などを用いて、所定の音声などを抽出する。このモジュールには、ビームフォーミング等の既存の技術が使用可能である。
【0137】
発話区間に対応した音データは、必要に応じて後段の処理実行部308に送られる。
例えば、音声認識機などである。なお、音声認識機には音声区間検出機能を持つものもあるが、その機能は省略可能である。また、音声認識機は音声特徴量を抽出するためにSTFTを備えることが多いが、本発明と組み合わせる場合は、音声認識側のSTFTは省略可能である。
なお、図10に示す各モジュールは制御部309によって制御される。
【0138】
(3−2.音信号処理装置の方向推定部の構成と処理について)
次に、図10に示すモジュール中の方向推定部305の詳細について、図11を参照して説明する。
方向推定部305は、STFT部304から送られてきた時間周波数領域の観測信号321を入力して、方向点情報327を生成して出力する処理を実行する。
【0139】
方向推定部305は、まず、図11に示す共分散行列計算部331において、STFT部304から入力する複数フレーム分の観測信号から共分散行列322を計算する。例えば先に説明した式[2.3]に示す共分散行列R(ω)である。
【0140】
空間フィルタ生成部332は、この共分散行列322を入力して、共分散行列322から2種類の空間フィルタを生成する。1つは死角フィルタ323であり、もう1つは指向性フィルタ324である。
例えば先に説明した式[3.4]に示す死角フィルタW_N(ω)、式[3.7]に示す指向性フィルタW_D(ω)である。なお、このフィルタ生成に際しては、先に項目(2−3.新規の死角フィルタと指向性フィルタについて)において説明した式[4,1]、式[4.2]を用いたフィルタ生成を行ってもよい。
【0141】
ステアリングベクトルを格納した記憶部333は、様々な方向から到来する信号の位相差を、先に説明した式[3.3]などによって予め計算し、その結果を格納した記憶部である。式[3.3]において角度θは、一周分(例えば図8において−π〜+π)を所定の刻み幅(例えば5°)で変化させる。なお、マイクロホンの配置が直線状である場合は、指向特性の対称性を考慮して、θは半周分だけ変化させればよい。
【0142】
例えば図2のようなマイクロホン配置の場合、空間フィルタの指向特性は、マイク配列に平行な縦軸23に対して対称となる。そのため、角度θは、−π/2(軸23の反対方向)から+π/2(軸23の方向)まで所定の刻み幅で変化させればよい。
【0143】
次に、死角パターン生成部334において、死角フィルタ323にステアリングベクトルを作用させ、死角パターン325を生成する。
同様に、指向性パターン生成部335において、指向性フィルタ324にステアリングベクトルを作用させ、指向性パターン326を生成する。
死角パターンは、例えば先に説明した式[3.6]に示す死角パターンP_N(θ)であり、指向性パターンは、先に説明した式[3.9]に示す指向性パターンP_D(θ)である。
【0144】
最後に方向点検出部336において、死角パターン325と指向性パターン326との両方を用いて音源方向に対応した点を検出する。その結果は方向点情報327として出力される。
なお、n個のマイクロホンからは最大でn−1個の死角が形成できるため、1つのブロックから得られる方向点の個数は、最大でn−1個である。
【0145】
なお、方向推定部305の出力する方向点情報327は、図10に示す方向トラッキング部306に提供される。
方向推定部305の出力する方向点情報327には、音源と推定される方向を示す方向情報のみならず、各方向点が「強い方向点」か「弱い方向点」かを区別するために適用する情報が含まれる。具体的には、方向点か否かの判別で使用した値の一部データを含む情報である。
【0146】
方向推定部305の出力する方向点情報327の具体例について、図12を参照して説明する。
図12には、1つの方向点情報327の構成データの一例を表わしている。
方向点情報327には、図12に示すように、
(a)方向点の方向(θ)341、
(b)死角フィルタ側の極小部の値342、
(c)指向性フィルタ側の極大部の値343、
これらのデータが含まれる。
【0147】
上記の(b),(c)のデータは、先に説明した方向点の判定条件としての(条件6)、すなわち、
(条件6)死角パターンの極小値の方が、対応する指向性パターンの極大値よりも小さい。
この条件6の判定を行なうためのデータとして利用される。
【0148】
(3−3.音信号処理装置の方向トラッキング部の構成と処理について)
次に、図10に示す音信号処理装置の方向トラッキング部306の構成と処理について図13を参照して説明する。
【0149】
方向トラッキング部306は、図11、図12を参照して説明した方向推定部305が出力した方向点情報327を入力して、区間情報である確定した区間情報361を生成して出力する。
【0150】
なお、図13に示す方向点情報327は、方向推定部305が出力した1つのブロック(図1、図6を参照して説明したブロック)に含まれる方向点情報であり、図12を参照して説明した情報が含まれる。
この方向点情報327は、方向トラッキング部306の制御部351に入力される。制御部351は、方向トラッキング部を制御するモジュールである。制御部351は、区間の新規作成や、終端等が確定していない作成中の区間の延長や、区間の確定などを行なう。生成中の区間は、作成中区間バッファ352に格納される。
【0151】
作成中区間バッファ352に格納されている区間のうち、終端が確定したものが存在したら、それを作成中区間バッファ352から取り出し、確定した区間情報361、すなわち区間情報として出力する。
【0152】
なお、方向トラッキング部306の生成する作成中の区間および確定した区間情報には、区間を定義する各種のパラメータ情報が含まれる。
方向トラッキング部306の生成する区間情報の構成データの一例について、図14を参照して説明する。
【0153】
図14は、1つの区間に対応する区間情報の構成データの例を示している。区間情報は、確定した区間の区間情報、または作成中の区間に対応する区間情報(作成中区間バッファ352に格納される)である。
【0154】
区間ID371は、それぞれの各区間に固有につけられた識別子(番号)である。
開始ブロック番号372は、区間の開始位置に対応するブロック(図1、図6を参照して説明したブロック)の番号である。なお、ブロック番号の代わりに、STFT のフレームの番号や、本当の時刻を保持しても良い。
終了ブロック番号373は、区間の終了に対応したブロックの番号である。これも開始ブロック番号と同様、フレーム番号や時刻でも良い。なお、生成途中の区間については、終端が確定していないため、ここには「未定義」を表わす値を格納しておく。
方向374は、区間に対応する音源方向である。生成途中の区間については、その時点で計算される方向を格納する。
【0155】
断絶ブロック数375は、方向374で定義される音源方向の近くに方向点が存在しないブロックが何回連続しているかを表わす値である。この値は、区間の生成途中において使用される。トラッキングにおいては、方向点が途切れても、その途切れの長さが所定の値より短かければ、区間を分断せずに1つの区間として切り出した方が良い。それを実現するために、途切れの長さを記憶しておくのである。また、途切れの長さが所定の値を越えた時点で、その区間は確定する。
【0156】
有効ブロック数376は、区間の中で方向点が存在しているブロック(以降「有効ブロック」)の個数を保持する。
例えば、図9に示す区間276の区間においては、有効ブロック数は10である(方向点281〜方向点274まで10個の方向点が検出されたブロックが存在する)。
【0157】
この値を保持する目的は区間の誤検出の抑止にある。区間のブロック数(開始ブロック番号372と終了ブロック番号373とから計算可能)と有効ブロック数とから有効ブロックの割合を計算し、その値が小さい場合(すなわち、有効ブロックが疎らである場合)は、誤検出された方向点を繋いだ偽の区間である可能性が高いため、そのような区間は棄却する。
【0158】
[4.音信号処理装置の実行する処理シーケンスについて]
次に、図15以下に示すフローチャートを参照して音信号処理装置の実行する処理シーケンスについて説明する。
【0159】
図15は、音信号処理装置において実行する全体の処理について説明するフローチャートである。図15に示すフローチャートの各ステップについて説明する。
まず、ステップS101において、初期設定として、
フレーム(STFTによって生成される)の番号を示す変数tを0、
ブロック(図1、図6等を参照して説明したブロック)の番号を示す変数Bを0とする変数の初期値設定処理を実行する。ブロックの長さは、通常の発話の長さと比べて十分短い値とする。例えば1/10秒や1/8秒に設定する。
これらの設定は、例えば図10に示す装置構成の制御部309において行われる。
【0160】
次に、ステップS102において例えば図10に示すマイクロホンアレイ301から入力する音信号に対して、AD変換およびSTFT処理を実行する。
これは、図10に示すAD変換部302、およびSTFT部303において実行される。
【0161】
AD変換部302は、マイクロホンに入力されたアナログの音信号をデジタル信号へ変換する。
さらにSTFT部303は、短時間フーリエ変換(STFT)によって時間周波数領域の信号(スペクトル)へ変換する。
なお、音信号の入力は、図10に示すようなマイクロホンからの他、必要に応じてファイルやネットワークなどから行なってもよい。
STFT部303の実行する短時間フーリエ変換(STFT)処理の詳細については、後述する。
【0162】
本実施例の例えば図10に示すような設定では、入力チャンネルが複数(マイクロホンの個数分)あるため、AD変換やSTFTもチャンネル数だけ行なう。以降では、
・チャンネルk、
・周波数ビンω
・フレームt、
における観測信号を、
Xk(ω,t)
と表わす(これは先に説明した式[2.1]などに対応する)。
【0163】
また、STFTのポイント数をl(小文字のエル)とすると、1チャンネルあたりの周波数ビンの個数Mは、
M=l/2+1
上記式によって計算できる。
【0164】
ステップS103は、蓄積ステップである。STFTによって時間周波数領域に変換された観測信号を、所定の時間分(例えば10秒)だけ蓄積する処理である。言い換えると、その時間に対応したフレーム数をTとすると、連続するTフレーム分の観測信号を、図10に示す観測信号バッファ304に蓄積する。バッファ内部ではフレーム番号Fとフレームデータ(スペクトル)との対応付けがなされており、後で所定のフレーム番号のデータを取り出すことが可能である。
【0165】
次に、ステップS104において、フレーム番号tの更新処理として、
tを+1する更新処理を実行する。
【0166】
ステップS105の処理は、ステップS106以下の処理をLフレームに1回の頻度で実行するための条件分岐である。すなわち、フレーム番号tを頻度Lで割り、その余りが0のときのみ、ステップS106に進み、それ以外の場合は、ステップS102以下の処理を繰り返す。
【0167】
ステップS102〜S104の処理をLフレーム分実行するとステップS106に進む。
ステップS106は、観測信号の共分散行列から方向点を求める処理である。この処理は、図10に示す方向推定部305の実行する処理である。すなわち、図11を参照して説明したように、STFT部の生成する時間周波数領域の観測信号に基づいて図12に示すデータからなる方向点情報を生成する処理として実行される。詳細は後述する。
【0168】
ステップS107は、ステップS106の方向推定処理において求まった方向点から発話区間を求めるための処理である。この処理は、図10に示す方向トラッキング部306の実行する処理である。すなわち、図13を参照して説明したように、方向推定部の生成する方向点情報に基づいて図14に示すデータからなる音声区間情報を生成する処理として実行される。詳細は後述する。
【0169】
次に、ステップS108においてブロック番号Bを更新する。すなわち、
ブロック番号Bを+1する更新処理を実行する。
最後に、ステップS109において、処理を継続するか否かの分岐を行ない、継続の場合はステップS102に戻る。継続しない場合は処理を終了する。
【0170】
次に、ステップS102において、図10に示すSTFT部303の実行する短時間フーリエ変換(STFT)処理の詳細について、図16を参照して説明する。
【0171】
図16に示す(a)観測信号の波形x_k(*)は、
例えば、図10に示す装置中に音声入力部として構成されるn本のマイクからなるマイクロホンアレイ301中のk番目のマイクによって観測される観測信号の波形x_k(*)である。
【0172】
この観測信号から、一定長を切り出した切り出しデータであるフレーム401〜403にハニング窓やハミング窓等の窓関数を作用させる。なお切り出し単位をフレームと呼ぶ。1フレーム分のデータに短時間フーリエ変換をかけることにより、周波数領域のデータであるスペクトルXk(t)を得る(tはフレーム番号)。
【0173】
切り出すフレームの間には、図に示すフレーム401〜403のように重複があってもよく、そうすることで連続するフレームのスペクトルXk(t−1)〜Xk(t+1)を滑らかに変化させることができる。また、スペクトルをフレーム番号に従って並べたものをスペクトログラムと呼ぶ。図16(b)に示すデータがスペクトログラムの例である。
スペクトルXk(t)は要素数Mのベクトルであり、ω番目の要素をXk(ω,t)として示される。
【0174】
次に、ステップS106において、図10に示す方向推定部305の実行する方向推定処理の詳細シーケンスについて図17に示すフローチャートを参照して説明する。
この処理は、先に図11を参照して説明した処理であり、STFT部の生成する時間周波数領域の観測信号に基づいて図12に示すデータからなる方向点情報を生成する処理として実行される。
【0175】
図17に示すフローチャートの各ステップの処理について、図11の構成図と対比しながら説明する。
ステップS201において、観測信号の共分散行列を求める。この処理は、図11における共分散行列計算部331の実行する処理である。STFT部の生成する時間周波数領域の観測信号に基づいて観測信号の共分散行列を求める。
共分散行列の計算には、先に説明した式[2.2]を用いる。
【0176】
なお、式[2.2]のL'はブロックの長さ(フレーム数)であるが、この値は、共分散行列の計算頻度L(図15のフローにおけるステップS105のL)と異なる値を用いても良い。例えば、L=8,L'=16とすると、共分散行列は8フレームに1回の頻度で計算されるが、共分散行列自体は16フレーム分の観測信号から計算される。
【0177】
次に、ステップS202において、共分散行列から死角フィルタと指向性フィルタとをそれぞれ生成する。
この処理は、図11に示す空間フィルタ生成部332の実行する処理であり、共分散行列を入力して、共分散行列から2種類の空間フィルタを生成する。1つは死角フィルタであり、もう1つは指向性フィルタである。
例えば先に説明した式[3.4]に示す死角フィルタW_N(ω)、式[3.7]に示す指向性フィルタW_D(ω)を生成する。なお、このフィルタ生成に際しては、先に項目(2−3.新規の死角フィルタと指向性フィルタについて)において説明した式[4,1]、式[4.2]を用いたフィルタ生成を行ってもよい。
【0178】
さらに、ステップS203において、死角フィルタと指向性フィルタに基づいて、
それぞれから死角パターンと指向性パターンとを生成する。
図11に示す死角パターン生成部334において、死角フィルタにステアリングベクトルを作用させ、死角パターンを生成する。
同様に、指向性パターン生成部335において、指向性フィルタにステアリングベクトルを作用させ、指向性パターンを生成する。
【0179】
これらの死角パターンと指向性パターンの具体的な生成手法は、
先に、(2−1.死角パターンと指向性パターンとの併用構成)、および(2−3.新規の死角フィルタと指向性フィルタ)において詳細に説明した通りである。
例えば、死角パターンは、例えば先に説明した式[3.6]に示す死角パターンP_N(θ)であり、指向性パターンは、先に説明した式[3.9]に示す指向性パターンP_D(θ)である。
【0180】
最後に、ステップS204において、死角パターンと指向性パターンとの両方を用いて、方向点の検出を行なう。この具体的方法については、先に、(2−2.区間の状態に応じた方向点検出条件の変更構成)において詳細に説明した通りである。
なお、ここでいう方向点は、「強い方向点」と「弱い方向点」との両方である。すなわち、先の説明項目(2−2.区間の状態に応じた方向点検出条件の変更構成)で説明した条件1〜条件6のうち、少なくとも条件1〜条件5を満たしている点である。
【0181】
次に、図15に示す全体処理フローにおけるステップS107の方向トラッキング処理の詳細シーケンスについて、図18に示すフローチャートを参照して説明する。
【0182】
このステップS107の方向トラッキング処理は、図10に示す方向トラッキング部306において実行する処理であり、先に、図13、図14を参照して説明したように、図11、図12を参照して説明した方向推定部305が出力した方向点情報を入力して、音声区間情報である確定した区間情報361を生成して出力する処理である。
【0183】
図18に示すフローチャートに示すように、この方向トラッキング処理は、
ステップS301の「区間の延長・確定」処理と、
ステップS302の「新規区間作成」処理、
これらの2つの処理から構成される。
【0184】
本発明の特徴の1つは、区間の始点と途中とで方向点の検出に関する条件を変えることにある。具体的には、
ステップS301では、「強い方向点」と「弱い方向点」との両方を用いて「区間の延長・確定」処理を実行する。
一方、ステップS302では、「強い方向点」のみを用いて「新規区間作成」処理を実行する。
【0185】
ステップS301の区間の延長・確定処理は、図13に示す作成中区間バッファ352に格納されている作成中区間に対する処理であり、先に、図17のフローにおいて説明したステップS204において新たに検出された方向点を用いて作成中区間の延長や確定を行なう。さらに、確定した区間は後段の処理(音源抽出など)に送信される。詳細は後述する。
【0186】
なお、「作成中区間」とは、ステップS302の新規区間作成処理において生成されてから区間が確定するまでの状態にある区間のことである。
【0187】
ステップS302の新規区間作成処理は、現在解析中のブロックを始点とする区間を見つけ出すための処理である。この詳細は後述する。
【0188】
次に、図18に示すフローのステップS301の「区間の延長・確定」処理の詳細シーケンスについて、図19に示すフローチャートを用いて説明する。
ステップS301の「区間の延長・確定」処理は、図13に示す作成中区間バッファ352に格納されている作成中区間データに対する処理である。そのため、図19に示すフローにおいて、ステップS401〜S408において作成中区間についてのループを回し、作成中区間の各々に対してステップS402〜S407の処理を行なう。
【0189】
ステップS402において、作成中区間の付近に方向点が存在しているかを調べる。ここでの方向点は、「強い方向点」と「弱い方向点」との両方を含む。
具体的には、方向トラッキング部306が生成し、作成中区間バッファ352に格納した作成中区間情報中の「方向」(図14に示す区間情報361内の「方向」374)と、新たに方向トラッキング部306が方向推定部305から入力した方向点情報中の「方向」(図12の方向点情報327中の「方向」341)とを比較し、両者の差が所定の規定閾値の範囲(例えば±10°以内)に収まっていれば、区間の付近に方向点が存在していると判定する。
【0190】
規定範囲内に方向点が存在している場合は、ステップS402の判定はYesとなり、ステップS403に進む。
ステップS403〜S404の処理は、区間の延長に関する処理である。具体的には、区間情報の更新処理を行う。
ステップS403において、区間情報中の有効ブロック数の更新を行う。すなわち、図14に示す区間情報361中の有効ブロック数376を+1すると共に、断絶ブロック数375に0を代入する。
【0191】
次にステップS404において、区間の始端から現在化解析中のブロックまでの方向の平均を計算する。具体的には、更新前の方向、すなわち、図14に示す区間情報361中の「方向」374に保存されている値としての方向データAを更新する。
方向データをA、
有効ブロック数(ステップS403において+1した更新後の値)をB、
新たに方向トラッキング部306が方向推定部305から入力した方向点情報中の「方向」(図12の方向点情報327中の「方向」341)をC、
として、以下の式で、方向Aを更新する。
A←{(B−1)A+C}/B
【0192】
上記式は、生成中の区間情報に設定済みの方向データAに、新たに入力した方向Cを加えて、ブロック数Bで除算して方向の平均を算出する式に相当する。
【0193】
一方、ステップS402において付近に方向点が存在しないと判定した場合は、ステップS402の判定はNoとなり、ステップS405に進む。
この場合、それまで生成中の区間情報において連続していた方向点が断絶したことを表わしており、一定時間以上断絶したら、区間の終端と判別する。
この処理のため、ステップS405では、図14に示す区間情報361に含まれる断絶ブロック数375を+1する更新処理を実行する。
【0194】
さらに、ステップS406において、更新した断絶ブロック数375が予め規定した所定値(例えば3ブロック)以上かどうかを判定する。
ステップS406において、更新した断絶ブロック数375が所定値以上の場合は、ステップS406の判定がYesとなり、ステップS407に進む。
ステップS407では、区間の終端が確定したと見なし、「区間の出力・棄却」処理を行う。ここの詳細は後述する。
一方、ステップS406において、更新した断絶ブロック数375が所定値以上でないと判定した場合はステップS406の判定はNoとなり、ステップS407の処理をスキップしてステップS408に進む。
【0195】
ステップS401〜S408を全ての作成中区間に対して行なったら、ループを抜け、ステップS409の「多重採用のチェック」に進む。
【0196】
ステップS409では、1つの方向点が2つ以上の作成中区間に採用されている(多重採用)かどうかを調べ、もし複数の区間に採用されている場合は、その中で最も長い区間のみを残し、それ以外を削除する。すなわち、図13に示す作成中区間バッファ352の格納データから削除する処理を行う。
【0197】
多重採用のチェックを行なう理由について、図20を用いて説明する。
図20(a)は、図1(d)と同様の図であり、各ブロックにおいて検出された複数の方向点501〜503と方向点に基づいて設定される作成中の音声区間504,505を示している。なお、図1(c)、図6に示すブロック区切りは省略している。
【0198】
図20(a)において、方向点501と方向点502とは方向が予め規定した閾値距離としての所定の値よりも離れており、同じ音源からの区間の構成要素として直接接続はしないものとする。一方、方向点501と方向点503の間、および方向点502と方向点503との間は、それぞれ、閾値距離である所定の値よりも近く、接続し得るものとする。
【0199】
すなわち、方向点503は、方向点501を含む作成中の区間504からも、方向点502を含む作成中の区間505からも、「付近の方向点」として採用される。このように、新たに観測される1つの方向点が異なる複数の音声区間の方向点として設定可能となる場合がある。この現象を方向点の多重採用と呼ぶ。多重採用が発生したときに、それぞれの作成中区間を残しておくと、以降のトラッキングでは、図20(b)に示すように、同一の方向点506よりも右側の方向点が両方の区間に接続されていく。
【0200】
その結果、1回の発話に対して複数の区間、すなわち、図20(b)に示す区間507,508が設定されてしまうことになる。これを区間の多重検出と呼ぶ。
このように、1回の発話に対して複数の区間が設定されてしまうことは検出誤りである可能性が高い。したがって、このような、区間の多重検出を防ぐ対策が必要となる。
【0201】
この多重検出を防止するため、方向点の多重採用が発生した時点で、その方向点を含む区間の内で最も長いもの(最長区間)のみを残し、それよりも短い区間(非最長区間)を削除する処理を行う。
例えば、図20(a)に示す方向点503は、音声区間504と音声区間505の2つの区間によって採用される多重採用型の方向点である。
このような、多重採用型の方向点503が発生したことを検出した場合、この時点で、その多重採用型の方向点503を採用対象とした複数の音声区間の長さを比較する。
【0202】
図20(a)に示す設定では、音声区間504が音声区間505より長い音声区間となっている。この場合は短い方の音声区間505を削除する。その結果、その後の方向点の検出時に、図20(b)に示すような音声区間508は設定されず、音声区間507のみが設定されることになる。
【0203】
あるいは、非最長区間を単に削除する代わりに、非最長区間に含まれている方向点を最長区間に加えた(マージした)上で、最長区間に含まれる全ての方向点を用いて区間の新たな方向を計算し直すようにしてもよい。例えば図20(a)においては、音声区間505に含まれる方向点502を音声区間504に加えた上で、音声区間504の方向を3つの方向点501,502,503の平均として計算する。
【0204】
多重採用の方向点が存在した場合に非最長区間を単に削除すると、残った最長区間においてはブロック数に対する方向点の割合が小さくなり、S407において区間が棄却されてしまう可能性があるが、方向点をマージすることで、非最長区間の削除に由来する余計な棄却を防止することができる。
【0205】
次に、図18に示すフローのステップS301の「区間の延長・確定」処理の詳細シーケンスである図19に示す処理フローにおけるステップS407の「区間の出力・棄却」処理の詳細について、図21に示すフローチャートを参照して説明する。
【0206】
ステップS407の「区間の出力・棄却」処理における「出力」とは、確定した区間を後段の処理(例えば音源抽出処理の実行部など)に送る出力処理ことであり、「棄却」とは、区間が予め規定した所定の条件を満たさなかったと判断して削除する処理である。
【0207】
図21のフローにおける各ステップの処理について説明する。
ステップS501において、終了ブロック番号を計算し、計算した終了ブロック番号の値を、図4を参照して説明した区間情報、すなわち図13に示す作成中区間バッファ352に格納されている作成中区間に対応する区間情報中の出漁ブロック番号373として記録する。
【0208】
現在解析中のブロックの番号をB、
図19のフローのステップS406における断絶ブロック数の判定閾値としての所定値をB_{discontinue}、
とすると、
終了ブロック番号は以下の式で計算される。
終了ブロック番号=B−B_{discontinue}
【0209】
ステップS502〜S504は、区間が満たすべき諸条件についての判定である。全ての条件を満たした場合のみ、ステップS505に進み、有効な区間であると判定し、後段の処理部、例えば音源抽出処理の実行部などに出力する処理を行う。
ステップS502〜S504のいずれかの条件を満たさないと判定した場合は、有効な区間ではないと判定して、ステップS506において棄却する処理を行う、すなわち、これまで、図13に示す作成中区間バッファ352に記録されていた作成中区間の区間情報を削除する処理を行う。
【0210】
以下、ステップS502〜S504において実行する判定処理について説明する。なお、ステップS502〜S504の各条件の判定順は、入れ替わってもよい。
【0211】
ステップS502は、生成中の区間の区間情報として保持している方向(図14に示す区間情報361中の方向374が、予め規定した所定範囲にあるかどうかを判定する処理である。
【0212】
例えば、目的の音源(発話者)が0°付近のみに位置していると分かっている場合、区間の方向が−10°〜+10°の範囲を外れていたらその区間を棄却するようにする。一方、目的の音源があらゆる方向に位置し得るような用途では、この判定は行なわない。すなわち、ステップS502の判定処理はスキップする。
【0213】
ステップS503は、区間の長さについての判定である。所定の値よりも短い区間(例えば0.1秒よりも短い)を棄却することで、区間の誤検出を抑圧することができる。また、所定の値より長い区間(例えば10秒よりも長い)を棄却することで、冷却用ファンの音といった、小さくて鳴りっぱなしの音源が検出されるのを防ぐ。
すなわち、予め規定した範囲にある場合のみ、その区間を有効と判定する。なお、この判定条件に適用する「範囲」は、音声の取得環境に応じて設定することが望ましい。
【0214】
ステップS504は、区間の中で有効ブロック(方向点を持つブロック)の割合についての判定である。
区間の開始ブロック番号(図14に示す区間情報中の開始ブロック番号372)をB_{begin}、
終了ブロック数(図14に示す区間情報中の終了ブロック数375)をB_{end}、
有効ブロック数(図14に示す区間情報中の有効ブロック数376)をB_{valid}
とすると、
有効ブロックの割合は以下の式で計算される。
有効ブロックの割合=B_{valid}/(B_{end}−B_{begin}+1)
【0215】
この値が。予め規定した所定値(例えば0.5)以上かどうかを判定する。有効ブロックの割合が低い場合、その区間は、誤検出された方向点を飛び飛びに接続して生成されたものである可能性が高い。そのような区間を棄却することで、区間の誤検出が抑制される。
【0216】
これらステップS502〜S504の判定を全て満たした場合は、ステップS505の「出力」に進む。このステップS505の出力処理では、作成中の区間に関する区間情報が、図13に示す作成中区間バッファ352から取り除かれると共に、後段処理部に提供する処理が行われる。
【0217】
一方、ステップS502〜S504の判定を1つでも満たさない場合は、ステップS506の「棄却」に進む。このステップS506の棄却処理では、区間が作成中区間バッファ352から取り除かれる、出力は行なわれない。すなわち削除処理のみが実行される。
【0218】
次に、図15に示す全体処理フローのステップS107の方向トラッキング処理の詳細シーケンスである図18に示すフローに示すステップS302の「新規区間作成」ステップの詳細シーケンスについて、図22に示すフローチャートを参照して説明する。
【0219】
図22に示すフローチャート中、ステップS601〜S605は各方向点の各々に対して実行される方向点についてのループである。本発明では、方向点のうち「強い方向点」のみを区間始端の対象とするため、ステップS602で、処理対象とする方向点が「強い方向点」がどうかチェックし、「弱い方向点」である場合は、ステップS603〜S604をスキップする。
【0220】
「強い方向点」に対しては、まず、ステップS603において、処理対象の方向点の付近に作成中区間が存在するかどうかを調べる。この判定は、先に、図19を参しようして説明したステップS402の処理と同様の処理である。
【0221】
付近に作成中区間が存在しない場合、その方向点は区間の始点であると判定して、ステップS604の「区間作成」に進む。付近に作成中区間が存在する場合は、ステップSZ604の処理をスキップする。
なお、最初のブロックの解析中においては作成中区間が存在しないため、最初のブロックの「強い方向点」は必ず区間の始点となる。
【0222】
ステップS604では、先に図14を参照して説明した区間情報を生成し、各スロット(区間ID371〜有効ブロック数376)に所定の値を代入する。以下では、各スロットに代入する値について説明する。
【0223】
区間ID371には、区間が生成されるたびに+1させた値を代入する。すなわち、最初に生成された区間には1を代入し、その後の区間に対しては2,3,...という値を代入していく。
開始ブロック番号372には、現在解析中のブロックの番号を代入する。
終了ブロック番号373に対しては、この時点では終端が検出されていないため、未定義を表わす値を代入しておく。
【0224】
方向374には、処理対象とする方向点が保持している方向点情報の方向(図12に示す方向341)を代入する。
断絶ブロック数375には0を代入する。
有効ブロック数376には1を代入する。
【0225】
ブロック内の全ての方向点に対して、ステップS602〜S604の処理を実行したら、新規区間作成の処理は終了である。
【0226】
[5.その他の実施例(変形例)について]
上記の実施例では、基本的な1つの構成例について説明した。
以下、上述した基本的な実施例に対する変形例について説明する。
【0227】
(変形例1)
「強い方向点」と「弱い方向点」とを区別するための方向点判定条件として、上述の実施例では(条件6)を用いていた。すなわち、
「死角パターン側の極小値<指向性パターン側の極大値」
を満足する場合に「強い方向点」、満足しない場合に「弱い方向点」と判定する処理を実行していた。
【0228】
「強い方向点」と「弱い方向点」とを区別するための条件として、別の条件を用いてもよい。
例えば、先に説明した音源方向を示す方向点とみなすための(条件5)、すなわち、
(条件5)直近のブロック群における死角パターンの最小値から動的に計算した閾値に基づく判定条件を満たす。(動的閾値に従った判定条件)
上記条件において、動的閾値を求める際に、先に説明した式[1.7]に示すパラメータ:αを2通り用意し、それぞれ
α_{large},
α_{small}
とする。
ただし、0<α_{small}<α_{large}<1である。
【0229】
上記の2つのパラメータ:αを用いることで、先に説明した式[1.7]に従って、動的閾値T_dynamicは2種類計算される。
これらを、それぞれ、
T_{tight},
T_{loose}
とする。これらを、以下の式[5.1]、[5.2]として示す。
【0230】
【数5】

【0231】
このような2つの動的閾値を適用して、先に説明した(条件5)を、式[5.3]および式[5.4]の2通りの条件を設定する。
P_{min}は負の値であるため、式[5.3]の方が厳しい条件である。そこで、条件1〜4および式[5.3]を満たす方向点を「強い方向点」、条件1〜4および式[5.4]を満たす方向点を「弱い方向点」とする。
このような「強い方向点」と「弱い方向点」との判定条件を適用してもよい。
【0232】
(変形例2)
次に、変形例2として、先に「背景技術」の欄で紹介した従来技術としての「単一のマイクロホンを用いる方式」(すなわち、「音声らしさ」に基づく方式)の音声区間検出を、上述した本発明の音声区間検出処理と組み合わせた構成について説明する。この組み合わせにより、発話区間を一層正確に検出することが可能となる。この構成例について図23を参照して説明する。
【0233】
図23に示す音信号処理装置は、
第1音声区間検出部(音源方向推定に基づく音声区間検出部)601は、の実施例で説明した方式を用いた音声区間検出を実行するモジュールである。ただし、第1音声区間検出部601は、後段の音源抽出部602において、さらに詳細な区間検出を行なうため、検出された区間の前後にマージンをつけた区間情報を出力する。すなわち第1音声区間検出部601を単独で用いる場合よりも長めの区間を出力する。
【0234】
音源抽出部602は、第1音声区間検出部(音源方向推定に基づく音声区間検出部)601から入力する音声区間情報に基づいて、さらに詳細な区間検出を行なモジュールである。例えばビームフォーマーなどの既存の技術を用いて、区間と方向とから対応する方向からの音源を抽出する。
【0235】
第2音声区間検出部(「音声らしさ」に基づく音声区間検出部)603は、音源抽出部602からの出力に対して、「音声らしさ」に基づく詳細な区間検出を行なう。
両方式の音声区間検出を組み合わせる利点は、以下の通りである。
1.区間の始端・終端の高精度化
2.音声以外の音源が棄却できる
【0236】
音源方向推定に基づく方式は、「音声らしさ」に基づく方式と比べると、音声同士の被りには強いという利点がある一方で、始端・終端の時間粒度が共分散行列の更新頻度に依存するという課題がある。そこで、音源方向推定に基づく方式で得られた区間と方向とを用いて音源抽出を行なうことで音声同士の被りを解消し、その結果に対して「音声らしさ」に基づく音声区間検出を適用することで、音声同士の被りにも強く、時間粒度も細かい音声区間検出が実現できる。
【0237】
(変形例3)
指向性パターンの生成においては、式[3.8]の代わりに以下に示す式[6.1]を用いることも可能である。
【0238】
【数6】

【0239】
この式は遅延和アレイ(Delayed sum)に基づいている。以下では、この式について説明する。遅延和アレイとは、各マイクロホンの観測信号に所定の遅延を与えてから和をとる処理のことである。時間周波数領域においてはステアリングベクトルS(ω,θ)を用いて式[6.2]で計算できる。この式を用いると、方向θから到来する音に対してはマイクロホン間で位相が揃うため、それらを足し合わせた結果であるY(ω,t,θ)は、方向θからの音が強調されたものとなっている。
【0240】
ブロック内でのY(ω,t,θ)の分散(絶対値の2乗の平均)は式[6.3]によって計算でき、式[2.2]によって式[6.4]のように変形される。式[6.1]は式[6.4]の対数であり、1/2を乗じる理由は式[6.3]の左辺についている2乗を打ち消して死角パターンと比較可能にするためである。
【0241】
式[6.2]のY(ω,t,θ)は、観測信号に含まれる音源の方向の1つとθの値とが一致した場合に大きな絶対値を持つ。そのため、そこから計算された式[6.1] は指向性パターンと同じ特性を持つ。
【0242】
[6.効果のまとめ]
上述したように、本開示の音信号処理装置では、音源方向推定に基づく音声区間検出において以下の工夫を行なっている。
1.死角パターンの他に指向性パターンも用いて方向点を検出する。
2.方向点のトラッキングにおいて、発話区間の始端の検出と区間の延長とで方向点の検出のための条件を変える。
例えばこれらの処理に基づいて音声区間検出の精度が向上する。
【0243】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【0244】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、LAN(Local Area Network)、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【0245】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【0246】
以上、説明したように、本発明の一実施例の構成によれば、音声信号からの発話区間の検出処理を高精度に実行する装置、方法が実現される。具体的には、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定部と、方向点を複数ブロック間で接続して区間の検出を行う方向トラッキング部を有する。方向推定部は、音源方向に対する感度の低い空間フィルタである死角フィルタに対応する方向とゲインとの対応関係データである死角パターンと、音源方向に対する感度の高い空間フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成し、死角パターンの極小部と指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する。この処理により、より精度の高い音声区間検出が実現される。
【符号の説明】
【0247】
11 ブロック
12 AD変換部
15,16 ライン(音声区間)
21 重心
22 マイクマロホン
25,26 音源
31 死角パターン
38 閾値
51 死角パターン
101 指向性パターン
151〜153 ブロック
154 ブロック群
201〜204 指向性パターン
251 方向ベクトル
252 基準点
253,254 マイクロホン
271〜275,281 方向点
276 区間
301 マイクロホンアレイ
302 AD変換部
303 STFT部
304 観測信号バッファ
305 方向推定部
306 方向トラッキング部
307 音源抽出部
308 後段の処理
309 制御部
321 時間周波数領域の観測信号
322 共分散行列
323 死角フィルタ
324 指向性フィルタ
325 死角パターン
326 指向性パターン
327 方向点情報
331 共分散行列計算部
332 空間フィルタ生成部
333 ステアリングベクトル
334 死角パターン生成部
335 指向性パターン生成部
336 方向点検出部
341 方向
342 死角パターンの極小部の値
343 指向性パターンの極大部の値
351 制御部
352 作成中区間バッファ
361 区間情報
371 区間ID
372 開始ブロック番号
373 終了ブロック番号
374 方向
375 断絶ブロック数
376 有効ブロック数
401〜403 フレーム
501〜503 方向点
504,505 作成中の区間
506 方向点
507,508 作成中の区間
601 第1音声区間検出部
602 音源抽出部
603 第2音声区間検出部

【特許請求の範囲】
【請求項1】
音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定部と、
前記方向点を複数ブロック間で接続して音が発生している区間の検出を行う方向トラッキング部を有し、
前記方向推定部は、
音源方向に対する感度の低い空間フィルタである死角フィルタと、音源方向に対する感度の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成部と、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部と、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成部と、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出部を有する音信号処理装置。
【請求項2】
前記空間フィルタ生成部は、
音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、算出した最大の固有値に対応する固有ベクトルを用いて前記指向性フィルタを生成する請求項1に記載の音信号処理装置。
【請求項3】
前記空間フィルタ生成部は、
音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、算出した固有ベクトルに対して固有値を重みとした重みつき総和または重み付き平均により前記指向性フィルタを生成する請求項1に記載の音信号処理装置。
【請求項4】
前記空間フィルタ生成部は、
音信号から生成される時間周波数領域の観測信号から前記ブロック毎に計算される共分散行列に対する固有値分解処理により固有値と固有ベクトルを算出し、固有ベクトルからなる行列V(ω)と、固有値からなる対角行列D(ω)を用いた演算処理らにより、変形済行列V'(ω)を算出し、算出した変形済行列V'(ω)の各行のいずれかを用いて死角フィルタを生成する請求項1に記載の音信号処理装置。
【請求項5】
前記方向点検出部は、
新たな方向点検出処理対象とするブロックの近傍ブロック群における死角パターンの最小値に基づいて計算した動的閾値を適用して、死角パターンにおける極小部を方向点とするか否かの選択を実行する請求項1に記載の音信号処理装置。
【請求項6】
前記方向点検出部は、
死角パターンの極小部の値が対応する指向性パターンの極大部の値よりも小さいという条件を満たす方向点を強い方向点とし、前記条件を満たさない方向点を弱い方向点として区別し、
作成中の区間の内側にある弱い方向点は音源方向を示す方向点として選択し、
作成中の区間の外側にある弱い方向点は音源方向を示す方向点として選択しない処理を行う請求項1に記載の音信号処理装置。
【請求項7】
前記方向点検出部は、
死角パターンの極小部の値が対応する指向性パターンの極大部の値よりも小さいという条件を満たす方向点を強い方向点とし、前記条件を満たさない方向点を弱い方向点として区別し、
作成中の区間の延長と確定処理においては、強い方向点と弱い方向点の双方を、音源方向を示す方向点として選択し、
新規の区間の作成開始時には、強い方向点のみを音源方向を示す方向点として選択する処理を行う請求項1に記載の音信号処理装置。
【請求項8】
音信号処理装置において実行する音信号処理方法であり、
方向推定部が、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出する方向推定ステップと、
方向トラッキング部が、前記方向点を複数ブロック間で接続して区間の検出を行う方向トラッキングステップを実行し、
前記方向推定ステップは、
音源方向に対する感度の低い空間フィルタである死角フィルタと、音源方向に対する感度の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成ステップと、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部ステップ、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成ステップと、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出ステップを実行する音信号処理方法。
【請求項9】
音信号処理装置において音信号処理を実行させるプログラムであり、
方向推定部に、音信号の音源方向を示す方向点を所定時間単位で分割したブロック毎に検出させる方向推定ステップと、
方向トラッキング部に、前記方向点を複数ブロック間で接続して区間の検出を行わせる方向トラッキングステップを実行させ、
前記方向推定ステップにおいては、
音源方向に対する感度の低い空間フィルタである死角フィルタと、音源方向に対する感度の高い空間フィルタである指向性フィルタを生成する空間フィルタ生成ステップと、
前記死角フィルタに対応する方向とゲインとの対応関係データである死角パターンを生成する死角パターン生成部ステップ、
前記指向性フィルタに対応する方向とゲインとの対応関係データである指向性パターンを生成する指向性パターン生成ステップと、
前記死角パターンの極小部と、前記指向性パターンの極大部の組み合わせを有する方向を、音源方向を示す方向点として検出する方向点検出ステップを実行させるプログラム。

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図7】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図1】
image rotate

【図2】
image rotate

【図6】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図16】
image rotate

【図20】
image rotate


【公開番号】特開2012−150237(P2012−150237A)
【公開日】平成24年8月9日(2012.8.9)
【国際特許分類】
【出願番号】特願2011−8208(P2011−8208)
【出願日】平成23年1月18日(2011.1.18)
【出願人】(000002185)ソニー株式会社 (34,172)